:root{color:#18231f;background:#f2f5f3;font-family:Inter,Microsoft YaHei,PingFang SC,system-ui,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--ink: #18231f;--muted: #6f7b75;--subtle: #99a39f;--line: #dfe6e1;--line-soft: #e9efeb;--canvas: #f2f5f3;--surface: #ffffff;--surface-warm: #fbfcfb;--teal: #0a7868;--teal-dark: #075d51;--teal-soft: #e3f2ee;--blue: #316fce;--blue-soft: #e8f0fd;--coral: #cf594b;--coral-soft: #fbe9e5;--amber: #b47716;--amber-soft: #fff1d8;--green: #338560;--green-soft: #e6f3eb;--sidebar: #11241f;--sidebar-muted: #9aaea7;--sidebar-line: #294039;--shadow: 0 12px 32px rgba(24, 35, 31, .07)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:320px;background:var(--canvas)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.46}button,input,textarea,select{-webkit-tap-highlight-color:transparent}.app-shell{min-height:100vh;display:flex;background:var(--canvas)}.sidebar-wrap{width:260px;flex:0 0 260px;z-index:20}.sidebar{position:fixed;inset:0 auto 0 0;width:260px;display:flex;flex-direction:column;padding:23px 14px 14px;background:var(--sidebar);color:#f5faf7}.brand-lockup{display:flex;align-items:center;gap:10px;padding:0 8px 22px}.brand-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:var(--teal);color:#fff;font-size:17px;font-weight:800}.brand-lockup strong,.brand-lockup span{display:block}.brand-lockup strong{font-size:15px}.brand-lockup span{color:var(--sidebar-muted);font-size:11px;margin-top:3px}.workspace-switcher{min-height:38px;display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid var(--sidebar-line);border-radius:7px;color:#d9e6e0;font-size:11px;overflow:hidden;white-space:nowrap}.workspace-switcher svg{margin-left:auto;flex:0 0 auto}.workspace-dot{width:7px;height:7px;border-radius:50%;background:#75d3b7;box-shadow:0 0 0 3px #75d3b726}.side-nav{margin-top:27px;overflow-y:auto}.nav-section-label{padding:0 10px 9px;color:#80948c;font-size:10px;font-weight:700}.nav-section-gap{margin-top:21px}.nav-item{width:100%;height:40px;display:flex;align-items:center;gap:10px;padding:0 10px;border:0;border-radius:6px;color:#c6d4ce;background:transparent;text-align:left;font-size:13px}.nav-item:hover{background:#ffffff0e;color:#fff}.nav-item.active{background:#1e3e36;color:#fff}.nav-item em{min-width:20px;height:18px;display:grid;place-items:center;margin-left:auto;border-radius:10px;background:#e6a33d;color:#2b2110;font-size:10px;font-style:normal;font-weight:800}.sidebar-footer{margin-top:auto}.security-note{display:flex;align-items:center;gap:9px;padding:13px 9px;margin-bottom:11px;border-top:1px solid var(--sidebar-line);color:#dce8e3}.security-note svg{color:#78cbb3}.security-note strong,.security-note span{display:block}.security-note strong{font-size:11px}.security-note span{color:#8da098;margin-top:2px;font-size:10px}.user-compact{display:flex;align-items:center;gap:8px;padding:8px;border-radius:7px;background:#ffffff0d}.user-compact>div:nth-child(2){min-width:0;flex:1}.user-compact strong,.user-compact span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-compact strong{font-size:12px}.user-compact span{color:var(--sidebar-muted);margin-top:2px;font-size:10px}.main-shell{min-width:0;flex:1;display:flex;flex-direction:column;overflow-x:hidden}.topbar{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 34px;border-bottom:1px solid var(--line);background:#ffffffdb}.topbar-title{display:flex;align-items:center;gap:11px}.topbar h1,.topbar .eyebrow{margin:0}.topbar h1{font-size:20px;line-height:1.25;font-weight:760}.eyebrow,.section-kicker,.modal-eyebrow{color:var(--teal);font-size:10px;font-weight:800;line-height:1.3}.topbar-actions{display:flex;align-items:center;gap:8px}.global-search{width:min(320px,28vw);height:36px;display:flex;align-items:center;gap:8px;padding:0 9px;border:1px solid var(--line);border-radius:6px;color:var(--subtle);background:var(--surface)}.global-search input{width:100%;min-width:0;border:0;outline:0;color:var(--ink);font-size:12px;background:transparent}.global-search input::placeholder{color:#a5aeaa}.global-search kbd{padding:2px 5px;border:1px solid #dfe6e1;border-radius:4px;color:#87928d;font-size:9px;white-space:nowrap}.topbar-user{display:flex;align-items:center;gap:7px;padding-left:5px;color:#53605a;font-size:12px}.avatar{width:30px;height:30px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:#dbebe5;color:var(--teal-dark);font-size:12px;font-weight:800}.avatar.small{width:24px;height:24px;font-size:11px}.icon-button{width:34px;height:34px;display:inline-grid;place-items:center;flex:0 0 auto;border:1px solid var(--line);border-radius:6px;color:#58655f;background:var(--surface)}.icon-button:hover{border-color:#b8c8c0;color:var(--teal);background:#f8fbf9}.notification-button{position:relative}.notification-button>span{position:absolute;top:7px;right:7px;width:6px;height:6px;border:1px solid #fff;border-radius:50%;background:var(--coral)}.mobile-menu{display:none}.content-shell{width:min(1600px,100%);min-width:0;flex:1;padding:30px 34px 24px;margin:0 auto;overflow-x:hidden}.app-footer{min-height:35px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 34px;border-top:1px solid var(--line);color:#89948f;background:#ffffffa6;font-size:11px}.app-footer span{display:flex;align-items:center;gap:5px}.sync-conflict-banner{width:min(1532px,calc(100% - 68px));display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px auto -8px;padding:11px 12px;border:1px solid #e7c998;border-radius:7px;color:#6f4a14;background:#fff8ec}.sync-conflict-copy{min-width:0;display:flex;align-items:flex-start;gap:9px}.sync-conflict-copy>svg{flex:0 0 auto;margin-top:1px;color:#ba7620}.sync-conflict-copy strong,.sync-conflict-copy span,.sync-conflict-copy small{display:block}.sync-conflict-copy strong{color:#6f4610;font-size:12px}.sync-conflict-copy span{margin-top:3px;color:#8a6733;font-size:10px;line-height:1.45}.sync-conflict-copy small{margin-top:3px;color:#a07c49;font-size:9px}.sync-conflict-actions{display:flex;align-items:center;justify-content:flex-end;flex:0 0 auto;flex-wrap:wrap;gap:7px}.welcome-row,.section-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:23px}.welcome-row h2,.section-toolbar h2{margin:2px 0 5px;color:var(--ink);font-size:24px;line-height:1.25;font-weight:780}.welcome-row p,.section-toolbar p{margin:0;color:var(--muted);font-size:13px}.date-stamp{color:var(--teal)!important;font-size:11px!important;font-weight:700}.quick-actions,.toolbar-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.button{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 12px;border:1px solid transparent;border-radius:6px;font-size:12px;font-weight:700;white-space:nowrap}.button-primary{color:#fff;background:var(--teal);border-color:var(--teal)}.button-primary:hover{background:var(--teal-dark);border-color:var(--teal-dark)}.button-secondary{color:#415049;background:#fff;border-color:var(--line)}.button-secondary:hover{border-color:#b6c5bd;background:#fbfdfc}.button.compact{min-height:29px;padding:0 9px;font-size:11px}.text-button{display:inline-flex;align-items:center;gap:3px;padding:0;border:0;color:var(--teal);background:transparent;font-size:12px;font-weight:700}.text-button:hover{color:var(--teal-dark)}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}.summary-metric{position:relative;min-height:121px;display:flex;align-items:flex-start;gap:12px;padding:18px;overflow:hidden;border:1px solid var(--line);border-radius:7px;color:var(--ink);background:var(--surface);text-align:left;box-shadow:0 2px 8px #18231f05}.summary-metric:hover{border-color:#b7c9c0;transform:translateY(-1px)}.metric-icon{width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;border-radius:7px}.summary-metric.teal .metric-icon{color:var(--teal);background:var(--teal-soft)}.summary-metric.blue .metric-icon{color:var(--blue);background:var(--blue-soft)}.summary-metric.coral .metric-icon{color:var(--coral);background:var(--coral-soft)}.summary-metric.amber .metric-icon{color:var(--amber);background:var(--amber-soft)}.metric-copy span,.metric-copy small{display:block;color:var(--muted);font-size:11px}.metric-copy strong{display:block;margin:4px 0;font-size:24px;line-height:1;font-weight:780}.metric-copy small{line-height:1.35}.metric-arrow{position:absolute;top:14px;right:14px;color:#b0bab5}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.68fr) minmax(300px,.9fr);gap:12px}.lower-grid{margin-top:12px}.surface{min-width:0;border:1px solid var(--line);border-radius:7px;background:var(--surface);box-shadow:0 2px 8px #18231f05}.surface-header{min-height:69px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px 13px;border-bottom:1px solid var(--line-soft)}.surface-header h3{margin:2px 0 0;color:var(--ink);font-size:15px;font-weight:760}.action-list{padding:2px 18px 8px}.action-row{min-height:61px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line-soft)}.action-row:last-child{border-bottom:0}.action-dot{width:8px;height:8px;border-radius:50%;background:#74c8b0;box-shadow:0 0 0 4px #edf8f3}.action-dot.urgent{background:var(--coral);box-shadow:0 0 0 4px #fdf0ed}.action-main{min-width:0;flex:1}.action-main strong,.action-main span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.action-main strong{font-size:12px}.action-main span{margin-top:3px;color:var(--muted);font-size:11px}.action-due{min-width:98px;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.action-due>span{color:var(--muted);font-size:11px}.today-label{color:var(--coral)!important;font-weight:700}.status-pill,.tag-pill{max-width:180px;display:inline-flex;align-items:center;min-height:20px;padding:3px 7px;overflow:hidden;border-radius:5px;font-size:10px;font-weight:750;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.status-pill.teal,.tag-pill.teal{color:var(--teal-dark);background:var(--teal-soft)}.status-pill.blue,.tag-pill.blue{color:#265da9;background:var(--blue-soft)}.status-pill.coral,.tag-pill.coral{color:#a73f35;background:var(--coral-soft)}.status-pill.amber,.tag-pill.amber{color:#855207;background:var(--amber-soft)}.status-pill.green,.tag-pill.green{color:#28704e;background:var(--green-soft)}.status-pill.neutral,.tag-pill.neutral{color:#62706a;background:#edf1ef}.cash-surface{padding-bottom:15px}.cash-surface .surface-header{border-bottom:0}.cash-number{padding:7px 18px 0;font-size:31px;font-weight:800;letter-spacing:0}.cash-label{padding:5px 18px 15px;color:var(--muted);font-size:11px}.cash-breakdown{display:grid;gap:7px;padding:0 18px}.cash-breakdown span{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:11px}.cash-breakdown b{margin-left:auto;color:var(--ink);font-size:11px}.dot{width:7px;height:7px;border-radius:50%}.dot.teal{background:var(--teal)}.dot.coral{background:var(--coral)}.dot.amber{background:#dda743}.mini-bars{height:65px;display:flex;align-items:flex-end;gap:6px;padding:10px 18px 0}.mini-bars i{width:100%;min-width:6px;border-radius:3px 3px 0 0;background:#9bd2c3}.mini-bars i.positive{background:var(--teal)}.mini-bars i.negative{background:var(--coral)}.mini-bars-empty{width:100%;align-self:stretch;display:grid;place-items:center;color:var(--muted);font-size:11px}.personnel-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}.personnel-metrics>div{min-height:82px;padding:13px 14px;border:1px solid var(--line);border-radius:7px;background:var(--surface)}.personnel-metrics span,.personnel-metrics strong,.personnel-metrics small{display:block}.personnel-metrics span,.personnel-metrics small{color:var(--muted);font-size:10px}.personnel-metrics strong{margin:5px 0 3px;color:var(--ink);font-size:22px}.personnel-filters{display:flex;flex-wrap:wrap;align-items:end;gap:9px;margin-bottom:12px;padding:11px 12px;border:1px solid var(--line);border-radius:7px;background:var(--surface)}.personnel-filters label{display:grid;min-width:140px;gap:5px;color:var(--muted);font-size:10px}.personnel-filters select{min-height:33px;padding:6px 8px;border:1px solid #d7e0db;border-radius:5px;outline:0;color:var(--ink);background:#fff;font-size:11px}.personnel-filters .result-count{margin-left:auto}.personnel-directory{overflow:hidden}.personnel-directory-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-height:67px;padding:15px 17px;border-bottom:1px solid var(--line-soft)}.personnel-directory-header h3{margin:3px 0 0;color:var(--ink);font-size:14px}.personnel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:13px}.personnel-card{min-width:0;padding:13px;border:1px solid var(--line);border-radius:7px;background:#fff}.personnel-card-heading{display:grid;grid-template-columns:31px minmax(0,1fr) auto;align-items:center;gap:8px}.personnel-card-heading .avatar{width:31px;height:31px;font-size:12px}.personnel-card-heading strong,.personnel-card-heading span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.personnel-card-heading strong{color:var(--ink);font-size:13px}.personnel-card-heading span{margin-top:3px;color:var(--muted);font-size:10px}.personnel-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 10px;margin:14px 0 11px}.personnel-card dl div{min-width:0}.personnel-card dt{color:var(--muted);font-size:9px}.personnel-card dd{overflow:hidden;margin:3px 0 0;color:#46534d;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.personnel-card-foot{display:flex;justify-content:space-between;gap:7px;padding-top:9px;border-top:1px solid var(--line-soft);color:var(--muted);font-size:9px}.personnel-editor .field:has(textarea){grid-column:auto}.personnel-location-action{display:flex;align-items:end;padding-top:21px}.certificate-field{min-width:0}.certificate-field>span{display:block;margin-bottom:6px;color:#4b5a53;font-size:11px;font-weight:720}.certificate-options{display:flex;flex-wrap:wrap;gap:7px 9px;min-height:35px;padding:8px 9px;border:1px solid #d7e0db;border-radius:5px;background:#fff}.certificate-options label{display:inline-flex;align-items:center;gap:4px;color:#55645d;font-size:10px}.certificate-options input{accent-color:var(--teal)}.personnel-document-area{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px dashed #9cc3b4;border-radius:7px;background:#f8fcfa}.personnel-document-area span,.personnel-document-area small{display:block}.personnel-document-area span{color:var(--ink);font-size:11px;font-weight:720}.personnel-document-area small{margin-top:3px;color:var(--muted);font-size:10px}.personnel-file-list{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:7px;margin-top:-5px}.personnel-file-list>span,.personnel-file-list>button{display:inline-flex;align-items:center;gap:5px;min-width:0;max-width:100%;min-height:27px;padding:4px 7px;border:1px solid #d5e3dc;border-radius:5px;color:#486158;background:#f9fcfa;font-size:10px}.personnel-file-list>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.personnel-file-list>span button{display:grid;place-items:center;padding:0;border:0;color:#8a9791;background:transparent}.personnel-file-list.stored>button{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.personnel-file-list.stored>button:hover{border-color:#8fbbaa;color:var(--teal-dark);background:#f0f9f5}.project-execution-form .field:has(textarea){grid-column:auto}.project-plan-preview{display:grid;align-content:center;min-height:35px;padding:8px 10px;border:1px solid #cfe5dc;border-radius:5px;background:#f5fbf8}.project-plan-preview span,.project-plan-preview strong,.project-plan-preview small{display:block}.project-plan-preview span,.project-plan-preview small{color:var(--muted);font-size:9px}.project-plan-preview strong{margin:2px 0;color:var(--teal-dark);font-size:11px;line-height:1.4}.staffing-section{grid-column:1 / -1;padding:13px;border:1px solid var(--line);border-radius:7px;background:#fbfcfb}.staffing-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:11px}.staffing-section-heading h3{margin:3px 0 0;color:var(--ink);font-size:14px}.staffing-list{display:grid;gap:8px}.staffing-row{display:grid;grid-template-columns:24px minmax(130px,1.2fr) minmax(100px,.9fr) minmax(92px,.8fr) minmax(88px,.7fr) minmax(104px,.9fr) 31px;align-items:end;gap:7px;padding:9px;border:1px solid var(--line-soft);border-radius:6px;background:#fff}.staffing-row>label{min-width:0;display:grid;gap:4px}.staffing-row>label>span{color:var(--muted);font-size:9px}.staffing-row input,.staffing-row select{width:100%;min-width:0;min-height:31px;padding:5px 7px;border:1px solid #d7e0db;border-radius:5px;outline:0;color:var(--ink);background:#fff;font-size:10px}.staffing-row input:focus,.staffing-row select:focus{border-color:#78ae9d;box-shadow:0 0 0 3px #e9f5f0}.staffing-index{align-self:center;display:grid;width:24px;height:24px;place-items:center;border-radius:50%;color:var(--teal-dark);background:var(--teal-soft);font-size:10px;font-weight:800}.staffing-row .icon-button{margin-bottom:0}.staffing-total{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line-soft);color:var(--muted);font-size:10px}.staffing-total strong{color:var(--teal-dark);font-size:12px}.table-wrap{width:100%;min-width:0;max-width:100%;overflow-x:auto}table{width:100%;min-width:650px;border-collapse:collapse}th{height:34px;padding:0 16px;border-bottom:1px solid var(--line-soft);color:#87928c;text-align:left;font-size:10px;font-weight:700;white-space:nowrap}td{height:57px;padding:8px 16px;border-bottom:1px solid var(--line-soft);color:#46534d;vertical-align:middle;font-size:12px}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:#fbfdfc}td strong,td small{display:block}td strong{color:var(--ink);font-size:12px;font-weight:730}td small{margin-top:3px;color:var(--muted);font-size:10px}.next-action{max-width:230px;color:#5f6d66;font-size:11px;line-height:1.35}.activity-list{padding:4px 18px 10px}.activity-row{display:flex;gap:9px;padding:12px 0;border-bottom:1px solid var(--line-soft)}.activity-row:last-child{border-bottom:0}.activity-icon{width:26px;height:26px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%}.activity-icon.blue{color:#2c65b2;background:var(--blue-soft)}.activity-icon.teal{color:var(--teal);background:var(--teal-soft)}.activity-icon.amber{color:var(--amber);background:var(--amber-soft)}.activity-row strong,.activity-row span,.activity-row small{display:block}.activity-row strong{color:var(--ink);font-size:11px}.activity-row span{margin:3px 0;color:var(--muted);font-size:10px;line-height:1.35}.activity-row small{color:var(--subtle);font-size:10px}.page-section{min-height:100%}.filter-strip{min-width:0;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding:7px 11px;border:1px solid var(--line);border-radius:7px;background:var(--surface);overflow:hidden}.filter-scroll{min-width:0;max-width:100%;display:flex;align-items:center;gap:5px;overflow-x:auto;padding-bottom:1px}.filter-chip{min-height:27px;padding:0 9px;border:1px solid transparent;border-radius:5px;color:#65726c;background:transparent;font-size:11px;white-space:nowrap}.filter-chip:hover{background:#eff5f2}.filter-chip.active{border-color:#b7d9ce;color:var(--teal-dark);background:var(--teal-soft);font-weight:750}.result-count{color:var(--muted);font-size:11px;white-space:nowrap}.status-select{min-width:92px;padding:4px 22px 4px 7px;border:1px solid var(--line);border-radius:5px;color:#405049;outline:0;background:#fff;font-size:11px}.status-select:focus{border-color:#91bfb1;box-shadow:0 0 0 3px #e7f4ef}.contract-workbench{min-height:610px;display:grid;grid-template-columns:minmax(255px,.4fr) minmax(0,1fr);overflow:hidden;border:1px solid var(--line);border-radius:7px;background:var(--surface)}.contract-stat-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:0 0 12px;border:1px solid var(--line);border-radius:7px;background:var(--surface);overflow:hidden}.contract-stat-strip>div{min-height:68px;padding:12px 14px;border-right:1px solid var(--line-soft)}.contract-stat-strip>div:last-child{border-right:0}.contract-stat-strip span,.contract-stat-strip strong{display:block}.contract-stat-strip span{color:var(--muted);font-size:10px}.contract-stat-strip strong{margin-top:5px;color:var(--ink);font-size:18px}.contract-stat-strip .green strong{color:var(--green)}.contract-stat-strip .amber strong{color:var(--amber)}.contract-stat-strip .coral strong{color:var(--coral)}.contract-stat-strip .blue strong{color:var(--blue)}.contract-registration-banner{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:17px 0 0;padding:11px;border:1px solid #d7e9e0;border-radius:7px;background:#f5fbf8}.contract-registration-banner span,.contract-registration-banner strong{display:block}.contract-registration-banner span{color:var(--muted);font-size:10px}.contract-registration-banner strong{margin-top:4px;color:var(--teal-dark);font-size:12px}.outsourcing-contract-banner{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:9px;padding:11px;border:1px solid #eadfc7;border-radius:7px;background:#fffbf3}.outsourcing-contract-banner span,.outsourcing-contract-banner strong,.outsourcing-contract-banner small{display:block}.outsourcing-contract-banner span,.outsourcing-contract-banner small{color:#776b58;font-size:10px}.outsourcing-contract-banner strong{margin:4px 0 2px;color:#604d27;font-size:11px;line-height:1.35}.contract-import-body{padding:20px 22px 22px}.contract-dropzone{min-height:150px;display:grid;place-items:center;align-content:center;gap:7px;padding:18px;border:1px dashed #8eb9a9;border-radius:7px;color:var(--muted);background:#f8fcfa;text-align:center;transition:border-color .16s ease,background .16s ease}.contract-dropzone:hover,.contract-dropzone.dragging{border-color:var(--teal);background:var(--teal-soft)}.contract-dropzone svg{color:var(--teal)}.contract-dropzone strong{color:var(--ink);font-size:14px}.contract-dropzone span{max-width:620px;font-size:11px;line-height:1.55}.contract-ocr-progress{display:grid;gap:7px;margin-top:12px;padding:11px 12px;border:1px solid #cce4da;border-radius:7px;color:var(--muted);background:#f4fbf8}.contract-ocr-progress .progress-copy{display:flex;justify-content:space-between;gap:10px;min-width:0;font-size:10px}.contract-ocr-progress .progress-copy span,.contract-ocr-progress .progress-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contract-ocr-progress .progress-copy strong{color:var(--teal-dark);font-size:10px}.progress-track{height:6px;overflow:hidden;border-radius:4px;background:#dceee7}.progress-track span{display:block;height:100%;border-radius:inherit;background:var(--teal);transition:width .16s ease}.contract-ocr-progress small{font-size:10px}.contract-import-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:14px;border:1px solid var(--line);border-radius:7px;overflow:hidden}.contract-import-summary>div{min-height:72px;padding:12px;border-right:1px solid var(--line-soft)}.contract-import-summary>div:last-child{border-right:0}.contract-import-summary span,.contract-import-summary strong,.contract-import-summary small{display:block}.contract-import-summary span,.contract-import-summary small{color:var(--muted);font-size:10px}.contract-import-summary strong{margin:4px 0 2px;color:var(--ink);font-size:17px}.contract-import-groups{display:grid;gap:10px;margin-top:14px}.contract-import-group{padding:13px;border:1px solid var(--line);border-radius:7px;background:#fff}.contract-import-group .panel-heading{margin-bottom:8px}.contract-import-group h4{margin:3px 0}.contract-import-group .panel-heading small{color:var(--muted);font-size:10px}.contract-import-file{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 0;border-top:1px solid var(--line-soft)}.contract-import-file>svg{color:var(--blue)}.contract-import-file strong,.contract-import-file span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contract-import-file strong{color:var(--ink);font-size:11px}.contract-import-file span{margin-top:3px;color:var(--muted);font-size:10px}.outsourcing-match{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,.9fr);align-items:center;gap:10px;margin:9px 0;padding:10px;border:1px solid #e7dcc1;border-radius:6px;background:#fffbf3}.outsourcing-match h5{margin:3px 0 0;color:#64512b;font-size:11px;line-height:1.4}.outsourcing-match select{min-width:0;min-height:33px;padding:6px 8px;border:1px solid #d8caa9;border-radius:5px;outline:0;color:#5c4a28;background:#fff;font-size:10px}.outsourcing-match small{grid-column:1 / -1;color:#766c5c;font-size:10px;line-height:1.4}.signature-toggles{display:flex;align-items:center;gap:9px;white-space:nowrap}.signature-toggles label{display:inline-flex;align-items:center;gap:4px;color:#4d5c54;font-size:10px}.signature-toggles input{accent-color:var(--teal)}.contract-original-button{display:inline-flex;align-items:center;gap:4px;min-height:24px;padding:0 6px;border:1px solid #d6e2dc;border-radius:4px;color:var(--teal-dark);background:#fff;font-size:9px;font-weight:700}.contract-original-button:hover{border-color:#9bc7b6;background:#f2faf6}.contract-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 10px;padding:11px 0 5px}.contract-review-field{min-width:0;display:block}.contract-review-field>span{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-bottom:4px;color:#4b5a53;font-size:10px;font-weight:750}.contract-review-field>span em{flex:0 0 auto;color:#6e7d76;font-size:9px;font-style:normal;font-weight:600}.contract-review-field>span em.auto{color:#29745e}.contract-review-field>span em.manual{color:#2864a8}.contract-review-field>span em.filename{color:#80600e}.contract-review-field>span em.missing{color:#a66b1a}.contract-review-field input{width:100%;min-height:33px;padding:6px 8px;border:1px solid #d5e0da;border-radius:5px;outline:0;color:var(--ink);background:#fff;font-size:11px}.contract-review-field input:focus{border-color:#78ae9d;box-shadow:0 0 0 3px #e9f5f0}.contract-raw-preview{margin:8px 0 3px;border-top:1px solid var(--line-soft);padding-top:8px}.contract-raw-preview summary{color:var(--teal);cursor:pointer;font-size:10px;font-weight:750}.contract-raw-preview pre{max-height:170px;overflow:auto;margin:8px 0 0;padding:9px;border:1px solid var(--line-soft);border-radius:5px;color:#53645c;background:#fafcfb;font:10px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;word-break:break-word}.contract-list{border-right:1px solid var(--line);background:#fbfcfb}.list-header{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px;border-bottom:1px solid var(--line-soft)}.list-header>div span,.list-header>div strong{display:block}.list-header>div strong{margin-top:3px;color:var(--ink);font-size:13px}.contract-list-item{width:100%;display:grid;grid-template-columns:29px minmax(0,1fr);gap:9px;padding:14px;border:0;border-bottom:1px solid var(--line-soft);color:inherit;background:transparent;text-align:left}.contract-list-item:hover{background:#f5faf7}.contract-list-item.active{border-left:3px solid var(--teal);padding-left:11px;background:#eaf6f1}.contract-file-icon{width:29px;height:29px;display:grid;place-items:center;border-radius:6px;color:#2b67b7;background:#e8f0fd}.contract-list-item>div:nth-child(2){min-width:0}.contract-list-item strong,.contract-list-item span,.contract-list-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contract-list-item strong{color:var(--ink);font-size:12px}.contract-list-item span{margin:3px 0;color:var(--muted);font-size:10px}.contract-list-item small{color:var(--subtle);font-size:10px}.contract-list-item .status-pill{grid-column:2;justify-self:start;margin-top:3px}.contract-detail{min-width:0;padding:22px}.contract-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.contract-code{color:var(--teal);font-size:10px;font-weight:800}.contract-detail-header h3{margin:4px 0 5px;font-size:20px;line-height:1.25}.contract-detail-header p{margin:0;color:var(--muted);font-size:12px}.detail-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.contract-status-track{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:27px 0 23px}.track-step{position:relative;display:flex;flex-direction:column;gap:6px;color:#98a39e}.track-step:after{position:absolute;top:11px;left:25px;right:-2px;height:2px;content:"";background:#e2e9e5}.track-step:last-child:after{display:none}.track-step>span{width:23px;height:23px;display:grid;place-items:center;position:relative;z-index:1;border:1px solid #d7e1dc;border-radius:50%;color:#8e9994;background:#fff;font-size:10px}.track-step small{max-width:95px;white-space:pre-line;font-size:10px;line-height:1.35}.track-step.done,.track-step.current{color:var(--teal-dark)}.track-step.done>span,.track-step.current>span{border-color:var(--teal);color:#fff;background:var(--teal)}.track-step.done:after{background:var(--teal)}.contract-columns{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(250px,.84fr);gap:13px}.contract-fields,.contract-meta{padding:17px;border:1px solid var(--line);border-radius:7px;background:#fff}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:15px}.panel-heading h4{margin:3px 0 0;color:var(--ink);font-size:14px}.extracted-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.extracted-field{min-height:62px;padding:10px;border:1px solid var(--line-soft);border-radius:5px;background:#fcfdfc}.extracted-field.full{grid-column:1 / -1}.extracted-field span,.extracted-field strong{display:block}.extracted-field span{color:var(--muted);font-size:10px}.extracted-field strong{margin-top:5px;color:#35423d;font-size:11px;line-height:1.4}.risk-box{margin-top:13px;padding:12px;border:1px solid #f2d7cf;border-radius:6px;background:#fffaf8}.risk-title{display:flex;align-items:center;gap:6px;color:#9b4439;font-size:11px;font-weight:800}.risk-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:9px;color:#6c625f;font-size:11px;line-height:1.4}.risk-row .text-button{flex:0 0 auto;font-size:10px}.version-list{display:grid;gap:8px}.version-row,.invite-row,.backup-row{display:flex;align-items:center;gap:9px;padding:9px 0;border-bottom:1px solid var(--line-soft)}.version-row:last-child,.invite-row:last-child,.backup-row:last-child{border-bottom:0}.version-number{width:28px;height:25px;display:grid;place-items:center;border-radius:5px;color:#2f66af;background:var(--blue-soft);font-size:10px;font-weight:800}.version-row>div:nth-child(2),.invite-row>div:nth-child(2),.backup-row>div:nth-child(2){min-width:0;flex:1}.version-row strong,.version-row span,.version-row small,.invite-row strong,.invite-row span,.invite-row small,.backup-row strong,.backup-row span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.version-row strong,.invite-row strong,.backup-row strong{color:var(--ink);font-size:11px}.version-row span,.invite-row span,.backup-row span{margin:2px 0;color:var(--muted);font-size:10px}.version-row small,.invite-row small{color:var(--subtle);font-size:9px}.eye-icon{color:var(--teal);font-size:10px;font-weight:700}.contract-meta-fields{display:grid;grid-template-columns:76px minmax(0,1fr);gap:9px 12px;margin-top:17px;padding-top:16px;border-top:1px solid var(--line-soft)}.contract-meta-fields span{color:var(--muted);font-size:10px}.contract-meta-fields strong{color:#42514a;font-size:11px;line-height:1.35}.text-amber{color:#9c650d!important}.project-board{display:grid;grid-template-columns:repeat(5,minmax(198px,1fr));gap:11px;overflow-x:auto;padding-bottom:3px}.project-column{min-height:210px;padding:11px;border:1px solid var(--line);border-radius:7px;background:#f8faf9}.column-heading{display:flex;align-items:center;gap:7px;padding:2px 2px 10px}.column-heading strong{color:#3e4c46;font-size:12px}.column-heading em{min-width:18px;height:18px;display:grid;place-items:center;margin-left:auto;border-radius:50%;color:#6c7873;background:#e7ece9;font-size:10px;font-style:normal}.column-dot{width:7px;height:7px;border-radius:50%}.column-dot.teal{background:var(--teal)}.column-dot.blue{background:var(--blue)}.column-dot.amber{background:var(--amber)}.column-dot.green{background:var(--green)}.project-card{margin-bottom:8px;padding:12px;border:1px solid var(--line);border-radius:6px;background:#fff;box-shadow:0 2px 5px #19282208}.project-card-top{display:flex;align-items:center;justify-content:space-between;gap:5px}.project-card .icon-button{width:25px;height:25px;border-color:transparent}.project-card h4{min-height:35px;margin:9px 0 5px;color:var(--ink);font-size:12px;line-height:1.45}.project-date{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:10px}.progress-line{height:4px;margin:13px 0 7px;overflow:hidden;border-radius:10px;background:#e9efec}.progress-line span{display:block;height:100%;border-radius:10px;background:var(--teal)}.project-card-meta{display:flex;justify-content:space-between;gap:7px;color:var(--muted);font-size:9px}.project-plan-line{display:flex;align-items:flex-start;gap:5px;margin-top:8px;color:#597066;font-size:9px;line-height:1.45}.project-plan-line svg{flex:0 0 auto;margin-top:1px;color:var(--teal)}.project-outsourcing-note{display:flex;align-items:flex-start;gap:5px;margin-top:7px;color:#89661f;font-size:9px;line-height:1.4}.project-outsourcing-note svg{flex:0 0 auto;margin-top:1px;color:#bd8a24}.outsourcing-status{display:block;margin-top:3px;color:#946b1d;font-size:9px}.project-registration-note{display:flex;align-items:center;gap:5px;margin-top:9px;color:#61716a;font-size:9px}.project-registration-note svg{color:var(--teal)}.project-source-row{display:flex;align-items:center;justify-content:space-between;gap:5px;min-width:0;margin-top:5px;padding-top:6px;border-top:1px solid var(--line-soft)}.project-source-row>span{min-width:0;display:flex;align-items:center;gap:5px;overflow:hidden;color:#5d6c65;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.project-source-row>span svg{flex:0 0 auto;color:var(--teal)}.project-source-row .icon-button{flex:0 0 auto}.project-lower{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(290px,.72fr);gap:12px;margin-top:12px}.task-table{padding:0 18px}.task-row{min-height:58px;display:grid;grid-template-columns:25px minmax(0,1fr) 30px 78px 28px;align-items:center;gap:8px;border-bottom:1px solid var(--line-soft)}.task-row:last-child{border-bottom:0}.task-row.done .task-copy strong,.task-row.done .task-copy span{color:#9aa49f;text-decoration:line-through}.task-check{width:19px;height:19px;display:grid;place-items:center;border:1px solid #b7c6be;border-radius:5px;color:#fff;background:#fff}.task-row.done .task-check{border-color:var(--teal);background:var(--teal)}.task-copy{min-width:0}.task-copy strong,.task-copy span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-copy strong{color:var(--ink);font-size:11px}.task-copy span{margin-top:3px;color:var(--muted);font-size:10px}.priority{width:27px;min-height:19px;display:grid;place-items:center;border-radius:5px;font-size:10px;font-weight:800}.priority.高{color:#a73f35;background:var(--coral-soft)}.priority.中{color:#8d5b0e;background:var(--amber-soft)}.priority.低{color:#2f66af;background:var(--blue-soft)}.task-due,.due-today{font-size:10px;text-align:right}.task-due{color:var(--muted)}.due-today{color:var(--coral);font-weight:800}.schedule-surface{min-width:0}.schedule-grid{display:grid;grid-template-columns:repeat(7,minmax(62px,1fr));min-height:178px;padding:0 11px 12px;overflow:hidden}.schedule-day{min-width:0;padding:10px 5px;border-right:1px solid var(--line-soft);color:#7f8a85;font-size:9px}.schedule-day:last-child{border-right:0}.schedule-day.today{color:var(--teal);background:#f2faf7}.schedule-event{margin-top:8px;padding:6px 4px;overflow:hidden;border-radius:4px;color:#29665a;background:#dbf1e8;font-size:9px;line-height:1.3}.schedule-event:nth-of-type(odd){color:#2d64ab;background:#e6effd}.schedule-day b,.schedule-day small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-empty{margin-top:18px;color:#a2ada8}.finance-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:12px;overflow:hidden;border:1px solid var(--line);border-radius:7px;background:#fff}.finance-metrics>div{min-height:101px;padding:17px;border-right:1px solid var(--line-soft)}.finance-metrics>div:last-child{border-right:0}.finance-metrics span,.finance-metrics small{display:block;color:var(--muted);font-size:10px}.finance-metrics strong{display:block;margin:7px 0 4px;color:var(--ink);font-size:21px}.finance-metrics strong.positive{color:var(--teal-dark)}.finance-layout,.approval-layout,.team-layout,.backup-grid{display:grid;grid-template-columns:minmax(0,1.42fr) minmax(275px,.58fr);gap:12px}.money-positive{color:var(--teal-dark);font-weight:760}.money-negative{color:#af463a;font-weight:760}.inline-actions{display:flex;gap:4px}.inline-actions .icon-button{width:27px;height:27px}.finance-note{padding-bottom:17px}.finance-note .surface-header{border-bottom:0}.finance-note-list{display:grid;gap:9px;padding:0 18px}.finance-note-list div{display:flex;justify-content:space-between;align-items:center;padding-bottom:8px;border-bottom:1px solid var(--line-soft)}.finance-note-list span{color:var(--muted);font-size:11px}.finance-note-list strong{color:var(--ink);font-size:12px}.finance-note p,.approval-rule p,.invite-surface p{margin:14px 18px 0;color:var(--muted);font-size:10px;line-height:1.55}.locked-screen{max-width:540px;margin:80px auto;padding:40px;border:1px solid var(--line);border-radius:8px;background:#fff;text-align:center}.locked-icon{width:55px;height:55px;display:grid;place-items:center;margin:0 auto 17px;border-radius:50%;color:var(--teal);background:var(--teal-soft)}.locked-screen h2{margin:0 0 9px;font-size:20px}.locked-screen p{max-width:410px;margin:0 auto 20px;color:var(--muted);font-size:12px;line-height:1.65}.approval-list{padding-bottom:5px}.approval-row{min-height:76px;display:grid;grid-template-columns:35px minmax(0,1fr) auto auto;align-items:center;gap:11px;padding:10px 18px;border-bottom:1px solid var(--line-soft)}.approval-row:last-child{border-bottom:0}.approval-type{width:31px;height:31px;display:grid;place-items:center;border-radius:7px;color:var(--amber);background:var(--amber-soft)}.approval-copy{min-width:0}.approval-copy strong,.approval-copy span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.approval-copy strong{color:var(--ink);font-size:12px}.approval-copy span{margin-top:4px;color:var(--muted);font-size:10px}.approval-row>b{color:var(--ink);font-size:12px}.approval-actions{display:flex;align-items:center;gap:5px}.approval-rule{padding-bottom:17px}.approval-rule .surface-header{border-bottom:0}.rule-list{display:grid;gap:10px;padding:0 18px}.rule-list div{display:flex;align-items:flex-start;gap:7px;color:#53615a;font-size:11px;line-height:1.45}.rule-list svg{flex:0 0 auto;color:var(--teal)}.role-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:12px}.role-card{min-height:103px;display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:start;padding:16px;border:1px solid var(--line);border-radius:7px;background:#fff}.role-card-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:6px;color:var(--blue);background:var(--blue-soft)}.role-card strong,.role-card span{display:block}.role-card strong{color:var(--ink);font-size:12px}.role-card span{margin-top:5px;color:var(--muted);font-size:10px;line-height:1.4}.role-card b{color:var(--ink);font-size:17px}.role-card b small{display:block;margin-top:2px;color:var(--muted);font-size:9px;font-weight:500}.member-cell{display:flex;align-items:center;gap:7px}.online-state{display:inline-flex;align-items:center;gap:5px;color:#557066;font-size:10px}.online-state i{width:6px;height:6px;border-radius:50%;background:#5ab18c}.invite-surface{padding-bottom:17px}.invite-surface .surface-header{border-bottom:0}.invite-row{margin:0 18px}.invite-icon{width:27px;height:27px;display:grid;place-items:center;border-radius:6px;color:#82520e;background:var(--amber-soft)}.permission-surface{margin-top:12px;padding-bottom:18px}.permission-intro{margin:0 18px 13px;color:var(--muted);font-size:11px;line-height:1.55}.permission-role-tabs{display:flex;gap:6px;padding:0 18px 13px;overflow-x:auto;border-bottom:1px solid var(--line-soft)}.permission-role-tabs button{min-height:31px;padding:0 11px;border:1px solid var(--line);border-radius:5px;color:#5c6b64;background:#fff;font-size:11px;font-weight:700;white-space:nowrap;cursor:pointer}.permission-role-tabs button.active{border-color:#86bca9;color:#17604c;background:#edf8f3}.permission-scope{display:flex;align-items:center;flex-wrap:wrap;gap:13px;margin:14px 18px 4px;color:#56665e;font-size:11px}.permission-scope>span{color:var(--ink);font-weight:760}.permission-scope label{display:inline-flex;align-items:center;gap:5px;cursor:pointer}.permission-scope input,.permission-item input{accent-color:var(--teal)}.permission-columns{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:18px;padding:10px 18px 0}.permission-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:8px}.permission-heading strong{color:var(--ink);font-size:12px}.permission-heading small{color:var(--muted);font-size:10px}.permission-list{display:grid;gap:6px}.permission-item{display:flex;align-items:flex-start;gap:8px;min-height:43px;padding:8px 9px;border:1px solid var(--line-soft);border-radius:5px;background:#fbfdfc;cursor:pointer}.permission-item:has(input:checked){border-color:#b6d9cd;background:#f3faf7}.permission-item>span{min-width:0}.permission-item strong,.permission-item small{display:block}.permission-item strong{color:#344a41;font-size:11px}.permission-item small{margin-top:3px;color:var(--muted);font-size:9px;line-height:1.35}.backup-hero{display:flex;align-items:center;gap:15px;margin-bottom:12px;padding:20px;border:1px solid #b7d8cb;border-radius:7px;background:#eff8f4}.backup-shield{width:47px;height:47px;display:grid;place-items:center;flex:0 0 auto;border-radius:9px;color:#fff;background:var(--teal)}.backup-hero>div:nth-child(2){min-width:0;flex:1}.backup-hero h3{margin:3px 0 5px;color:#173e35;font-size:16px}.backup-hero p{max-width:750px;margin:0;color:#53756a;font-size:11px;line-height:1.55}.backup-hero .tag-pill{align-self:flex-start}.backup-status{padding-bottom:17px}.backup-status .surface-header,.backup-history .surface-header{border-bottom:0}.backup-status-line{display:flex;align-items:center;gap:9px;padding:0 18px 14px}.backup-status-icon{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;color:var(--green);background:var(--green-soft)}.backup-status-line strong,.backup-status-line span{display:block}.backup-status-line strong{color:var(--ink);font-size:12px}.backup-status-line span{margin-top:3px;color:var(--muted);font-size:10px}.backup-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:0 18px}.backup-checks div{display:flex;align-items:center;gap:5px;color:#54645d;font-size:10px}.backup-checks svg{color:var(--teal)}.muted-note{margin:16px 18px 0;padding-top:12px;border-top:1px solid var(--line-soft);color:var(--muted);font-size:10px;line-height:1.55}.backup-history{padding-bottom:14px}.backup-row{margin:0 18px}.backup-date{width:42px;height:31px;display:grid;place-items:center;border-radius:6px;color:var(--blue);background:var(--blue-soft);font-size:9px;font-weight:800;text-align:center}.upload-button{position:relative;overflow:hidden}.upload-button input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.import-modal-body{padding:20px 22px 22px}.import-actions,.import-footer{display:flex;align-items:center;gap:8px}.import-empty{min-height:164px;display:grid;place-items:center;align-content:center;gap:7px;margin-top:14px;border:1px dashed #b8cec4;border-radius:7px;color:var(--muted);text-align:center}.import-empty svg{color:var(--teal)}.import-empty strong{color:var(--ink);font-size:13px}.import-empty span{max-width:440px;font-size:11px;line-height:1.6}.import-alert{display:flex;align-items:flex-start;gap:8px;margin-top:13px;padding:10px 11px;border:1px solid #d7e5de;border-radius:6px;color:#50645c;background:#f7fbf9;font-size:11px;line-height:1.5}.import-alert svg{flex:0 0 auto;color:#6d9788}.import-alert.danger{border-color:#efc8c1;color:#9b4138;background:#fff6f4}.import-alert.danger svg{color:#c65347}.import-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;margin-top:14px;border:1px solid var(--line);border-radius:7px}.import-summary>div{min-height:82px;padding:13px;border-right:1px solid var(--line-soft)}.import-summary>div:last-child{border-right:0}.import-summary span,.import-summary small{display:block;color:var(--muted);font-size:10px}.import-summary strong{display:block;margin:5px 0 3px;overflow:hidden;color:var(--ink);font-size:15px;text-overflow:ellipsis;white-space:nowrap}.import-conflicts{margin-top:14px;padding:14px;border:1px solid #eed8b3;border-radius:7px;background:#fffaf0}.import-conflicts .panel-heading{margin-bottom:7px}.import-conflict-row{display:grid;grid-template-columns:92px minmax(0,1fr);gap:4px 9px;padding:8px 0;border-top:1px solid #f0e4cb}.import-conflict-row strong{color:#86540e;font-size:11px}.import-conflict-row span{min-width:0;color:#564b3a;font-size:11px}.import-conflict-row small{grid-column:2;color:#8a7a61;font-size:10px;line-height:1.45}.import-confirm{display:flex;align-items:flex-start;gap:7px;margin-top:11px;color:#64583f;font-size:11px;line-height:1.45}.import-confirm input{margin:2px 0 0;accent-color:var(--teal)}.import-preview-table{margin-top:14px;border:1px solid var(--line);border-radius:7px}.import-preview-table table{min-width:710px}.import-preview-table td:nth-child(1){color:var(--muted)}.import-preview-table td:nth-child(2){min-width:164px}.import-preview-table td:nth-child(3),.import-preview-table td:nth-child(4){min-width:132px}.import-more{margin:9px 1px 0;color:var(--muted);font-size:10px}.import-footer{justify-content:flex-end;margin-top:18px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:140;display:grid;place-items:center;padding:20px;background:#0d1d187a}.modal{width:min(610px,100%);max-height:min(780px,calc(100vh - 40px));overflow:auto;border-radius:8px;background:#fff;box-shadow:0 24px 70px #09151247}.modal.modal-wide{width:min(840px,100%)}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:20px 22px 15px;border-bottom:1px solid var(--line-soft)}.modal-header h2{margin:4px 0 0;color:var(--ink);font-size:18px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 13px;padding:20px 22px}.field{min-width:0;display:block}.field>span{display:block;margin-bottom:6px;color:#4b5a53;font-size:11px;font-weight:720}.field input,.field select,.field textarea{width:100%;min-height:35px;padding:7px 9px;border:1px solid #d7e0db;border-radius:5px;outline:0;color:var(--ink);background:#fff;font-size:12px}.field textarea{min-height:85px;resize:vertical;line-height:1.5}.field textarea.contract-textarea{min-height:154px}.field input:focus,.field select:focus,.field textarea:focus{border-color:#78ae9d;box-shadow:0 0 0 3px #e9f5f0}.field small{display:block;margin-top:5px;color:var(--muted);font-size:10px;line-height:1.4}.field:has(textarea){grid-column:1 / -1}.form-callout{grid-column:1 / -1;display:flex;align-items:flex-start;gap:8px;padding:10px;border:1px solid #cce5db;border-radius:6px;color:#3f665a;background:#f0f9f5;font-size:11px;line-height:1.45}.form-callout svg{flex:0 0 auto;color:var(--teal)}.activity-evidence-dropzone{grid-column:1 / -1;min-height:86px;display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px;border:1px dashed #8eb9a9;border-radius:7px;color:var(--muted);background:#f8fcfa;cursor:pointer;transition:border-color .16s ease,background .16s ease}.activity-evidence-dropzone:hover,.activity-evidence-dropzone.dragging{border-color:var(--teal);background:var(--teal-soft)}.activity-evidence-dropzone>svg{color:var(--teal)}.activity-evidence-copy{min-width:0}.activity-evidence-copy strong,.activity-evidence-copy span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-evidence-copy strong{color:var(--ink);font-size:12px}.activity-evidence-copy span{margin-top:4px;color:var(--muted);font-size:10px}.activity-evidence-actions{display:flex;align-items:center;gap:5px}.activity-evidence-actions .icon-button{width:29px;height:29px}.activity-evidence-progress,.activity-evidence-alert{grid-column:1 / -1;margin-top:-3px}.activity-smart-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;margin-top:-7px}.modal-footer{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:8px;padding-top:4px}.modal-footer-spacer{flex:1 1 auto}.button-danger{border:1px solid #e6b4aa;color:#9a3d31;background:#fff7f5}.button-danger:hover:not(:disabled){border-color:#d48e81;background:#fff0ed}.button-danger:disabled{cursor:not-allowed;opacity:.55}.business-detail-form{gap:13px 12px}.business-detail-form .detail-summary{margin:-2px 0 2px}.business-detail-form input:disabled,.business-detail-form select:disabled,.business-detail-form textarea:disabled{color:#8a9690;cursor:not-allowed;background:#f5f8f6}.form-inline-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.form-inline-fields input{min-width:0}.detail-linked-records{grid-column:1 / -1;padding-top:3px}.detail-linked-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:7px}.detail-linked-grid span{display:flex;justify-content:space-between;gap:8px;padding:8px 9px;border:1px solid var(--line-soft);border-radius:5px;color:var(--muted);background:#fbfdfc;font-size:10px}.detail-linked-grid b{color:var(--ink);font-size:12px}.empty-state{min-height:158px;display:grid;place-items:center;align-content:center;gap:7px;padding:25px;color:#8b9691;text-align:center}.empty-state svg{color:#8fb5a7}.empty-state strong{color:#526058;font-size:12px}.empty-state span{color:var(--muted);font-size:10px}.toast{position:fixed;right:24px;bottom:24px;z-index:130;display:flex;align-items:center;gap:8px;min-height:42px;max-width:min(360px,calc(100vw - 32px));padding:0 14px;border:1px solid #b9dccf;border-radius:6px;color:#175641;background:#f0faf5;box-shadow:var(--shadow);font-size:12px;font-weight:700}.toast svg{color:var(--teal)}.mobile-scrim{display:none}.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(360px,.96fr) minmax(480px,1.04fr);background:#f3f7f4}.auth-aside{min-height:100%;display:flex;flex-direction:column;padding:clamp(30px,6vw,82px);color:#edf8f4;background:#11251f}.auth-brand{display:flex;align-items:center;gap:10px}.auth-brand strong,.auth-brand span{display:block}.auth-brand strong{font-size:15px}.auth-brand span{margin-top:3px;color:#a6bbb3;font-size:11px}.auth-promise{max-width:430px;margin:auto 0}.auth-promise-icon{width:49px;height:49px;display:grid;place-items:center;margin-bottom:24px;border:1px solid rgba(167,226,205,.35);border-radius:9px;color:#83d5bb;background:#196d5b73}.auth-promise .section-kicker{color:#83d5bb}.auth-promise h1{max-width:420px;margin:10px 0 14px;color:#fff;font-size:31px;line-height:1.33;font-weight:790}.auth-promise p{max-width:390px;margin:0;color:#aec1b9;font-size:13px;line-height:1.75}.auth-footnote{display:flex;align-items:center;gap:7px;color:#9cb0a8;font-size:11px}.auth-footnote svg{color:#6dcaaf}.auth-panel{display:grid;place-items:center;padding:32px;background:#fff}.auth-form-wrap{width:min(426px,100%)}.auth-mobile-brand{display:none}.auth-copy h2{margin:5px 0 8px;color:var(--ink);font-size:25px;line-height:1.3}.auth-copy p{margin:0 0 22px;color:var(--muted);font-size:12px;line-height:1.65}.auth-form{display:grid;gap:14px}.auth-form .field{display:block}.form-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.auth-callout{display:flex;align-items:flex-start;gap:8px;padding:11px;border:1px solid #cde5db;border-radius:6px;color:#40665a;background:#f0f9f5;font-size:11px;line-height:1.5}.auth-callout svg{flex:0 0 auto;color:var(--teal)}.auth-error{display:flex;align-items:flex-start;gap:6px;padding:10px;border:1px solid #efc8c1;border-radius:6px;color:#9d3d33;background:#fff6f4;font-size:11px;line-height:1.45}.auth-error svg{flex:0 0 auto}.auth-submit{width:100%;min-height:40px;margin-top:2px}.auth-switch{display:flex;justify-content:center;gap:5px;margin-top:18px;color:var(--muted);font-size:11px}.auth-switch button{padding:0;border:0;color:var(--teal);background:transparent;font-size:11px;font-weight:750}.auth-privacy{display:flex;align-items:center;justify-content:center;gap:5px;margin-top:31px;color:#8a9690;font-size:10px;text-align:center}.auth-privacy svg{color:#789e90}.auth-loading{min-height:100vh;display:grid;place-items:center;align-content:center;gap:10px;color:var(--ink);background:var(--canvas)}.auth-loading strong{margin-top:4px;font-size:14px}.auth-loading span{color:var(--muted);font-size:11px}.offline-auth-shortcut{position:fixed;right:22px;bottom:18px;z-index:3;display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 10px;border:1px solid #c7ddd4;border-radius:6px;color:#416257;background:#ffffffeb;font-size:10px;box-shadow:0 4px 14px #18231f14}.offline-auth-shortcut:hover{border-color:#88b9a8;color:var(--teal-dark);background:#f5fbf8}@media (max-width: 1220px){.metric-grid,.role-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-layout,.approval-layout,.team-layout,.backup-grid{grid-template-columns:1fr}.dashboard-grid{grid-template-columns:minmax(0,1.45fr) minmax(260px,.85fr)}}@media (max-width: 980px){.auth-shell{grid-template-columns:minmax(290px,.78fr) minmax(410px,1.22fr)}.auth-aside{padding:38px}.auth-promise h1{font-size:26px}.sidebar-wrap{width:0;flex:0 0 0}.sidebar-wrap .sidebar{transform:translate(-104%);transition:transform .18s ease;box-shadow:12px 0 30px #0a14113b}.sidebar-wrap.open .sidebar{transform:translate(0)}.mobile-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:19;background:#0a141075;opacity:0;pointer-events:none;transition:opacity .18s ease}.mobile-scrim.visible{display:block;opacity:1;pointer-events:auto}.mobile-menu{display:inline-grid}.topbar{padding:17px 22px}.content-shell{padding:24px 22px 21px}.app-footer{padding:0 22px}.sync-conflict-banner{width:calc(100% - 44px)}.dashboard-grid,.project-lower,.contract-columns{grid-template-columns:1fr}.global-search{width:min(250px,34vw)}}@media (max-width: 700px){.auth-shell{display:block;min-height:100dvh}.auth-aside{min-height:238px;padding:24px 20px 22px}.auth-brand{display:none}.auth-promise{margin:0}.auth-promise-icon{width:38px;height:38px;margin-bottom:15px}.auth-promise h1{max-width:345px;margin:8px 0;font-size:22px;line-height:1.38}.auth-promise p{max-width:355px;font-size:11px;line-height:1.6}.auth-footnote{margin-top:auto;font-size:10px}.auth-panel{display:block;min-height:calc(100dvh - 238px);padding:27px 18px 32px}.auth-form-wrap{width:100%;max-width:430px;margin:0 auto}.auth-mobile-brand{display:flex;align-items:center;gap:8px;margin-bottom:25px;color:var(--ink);font-size:14px}.auth-mobile-brand .brand-mark{width:28px;height:28px;font-size:13px}.auth-copy h2{font-size:22px}.auth-copy p{margin-bottom:20px}.form-split{grid-template-columns:1fr;gap:14px}.auth-switch{flex-wrap:wrap;line-height:1.5}.auth-privacy{margin-top:23px;line-height:1.5}.offline-auth-shortcut{right:12px;bottom:10px}.topbar{min-height:65px;padding:12px 15px}.topbar h1{font-size:16px}.topbar .eyebrow{font-size:9px}.topbar-user span,.global-search,.topbar-actions>.icon-button:not(.notification-button){display:none}.content-shell{padding:18px 14px}.app-footer{padding:0 14px;font-size:9px}.app-footer span:first-child{display:none}.sync-conflict-banner{width:calc(100% - 28px);align-items:flex-start;flex-direction:column;gap:10px;margin:12px auto -4px}.sync-conflict-actions{width:100%;justify-content:flex-start}.welcome-row,.section-toolbar{align-items:flex-start;flex-direction:column;gap:12px;margin-bottom:17px}.welcome-row h2,.section-toolbar h2{font-size:20px}.quick-actions,.toolbar-actions{width:100%;justify-content:flex-start}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.summary-metric{min-height:109px;gap:8px;padding:13px}.metric-icon{width:29px;height:29px}.metric-copy strong{font-size:21px}.metric-copy small{font-size:9px}.metric-arrow{display:none}.action-list{padding:1px 13px 6px}.action-row{min-height:66px;gap:7px}.action-due{min-width:70px}.action-due>span{font-size:9px}.action-row>.icon-button{display:none}.surface-header{min-height:59px;padding:14px}.surface-header h3{font-size:14px}.cash-number{padding:3px 14px 0}.cash-label,.cash-breakdown,.mini-bars{padding-left:14px;padding-right:14px}.lower-grid{margin-top:8px}.activity-surface{display:none}.filter-strip{align-items:flex-start;flex-direction:column}.result-count{padding-left:2px}.contract-workbench{grid-template-columns:1fr;overflow:visible}.contract-stat-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.contract-stat-strip>div:nth-child(3){border-right:0}.contract-stat-strip>div:nth-child(-n+3){border-bottom:1px solid var(--line-soft)}.contract-registration-banner,.outsourcing-contract-banner,.contract-import-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.contract-import-summary>div:nth-child(2){border-right:0}.contract-import-summary>div:nth-child(-n+2){border-bottom:1px solid var(--line-soft)}.contract-import-file{grid-template-columns:20px minmax(0,1fr)}.signature-toggles{grid-column:2}.contract-original-button{justify-self:start}.contract-list{border-right:0;border-bottom:1px solid var(--line)}.contract-list-item{grid-template-columns:29px minmax(0,1fr) auto}.contract-list-item .status-pill{grid-column:3;align-self:center}.contract-detail{padding:15px}.contract-detail-header{flex-direction:column;gap:12px}.detail-actions{width:100%;justify-content:flex-start}.contract-status-track{margin:20px 0 17px;overflow-x:auto;min-width:460px}.contract-status-track:before{content:"";display:block}.contract-detail{overflow-x:auto}.contract-columns{min-width:0}.extracted-grid{grid-template-columns:1fr}.extracted-field.full{grid-column:auto}.risk-row{align-items:flex-start;flex-direction:column}.project-board{display:block;margin:0;padding:0;overflow:visible}.project-column{min-height:0;margin-bottom:10px}.project-column.empty{display:none}.project-lower{margin-top:8px}.task-table{padding:0 13px}.task-row{grid-template-columns:23px minmax(0,1fr) 30px 25px}.task-row>.task-due,.task-row>.due-today{display:none}.schedule-grid{min-width:380px}.schedule-surface{overflow-x:auto}.finance-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-metrics>div:nth-child(2){border-right:0}.finance-metrics>div:nth-child(-n+2){border-bottom:1px solid var(--line-soft)}.approval-row{grid-template-columns:33px minmax(0,1fr) auto;padding:11px 13px}.approval-row>b{grid-column:2}.approval-actions{grid-column:3;grid-row:1 / span 2}.role-grid{grid-template-columns:1fr}.role-card{min-height:82px}.permission-columns{grid-template-columns:1fr;gap:15px}.permission-heading{display:block}.permission-heading small{display:block;margin-top:3px}.backup-hero{align-items:flex-start;flex-wrap:wrap;padding:15px}.backup-hero .tag-pill{margin-left:62px}.backup-checks{grid-template-columns:1fr}.modal-backdrop{align-items:end;padding:0}.modal,.modal.modal-wide{width:100%;max-height:calc(100vh - 18px);border-radius:10px 10px 0 0}.form-grid{grid-template-columns:1fr;padding:16px}.modal-header{padding:17px 16px 13px}.import-modal-body{padding:16px}.import-actions{flex-wrap:wrap}.import-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.import-summary>div:nth-child(2){border-right:0}.import-summary>div:nth-child(-n+2){border-bottom:1px solid var(--line-soft)}.import-conflict-row{grid-template-columns:1fr;gap:3px}.import-conflict-row small{grid-column:auto}.import-footer{position:sticky;bottom:0;padding-top:12px;background:#fff}.import-footer .button{flex:1;justify-content:center}.contract-review-grid,.outsourcing-match{grid-template-columns:1fr}.outsourcing-match small{grid-column:auto}.contract-ocr-progress .progress-copy{display:grid;gap:3px}.personnel-metrics{grid-template-columns:1fr}.personnel-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.personnel-filters label{min-width:0}.personnel-filters .result-count{margin-left:0}.personnel-grid{grid-template-columns:1fr}.personnel-card dl{grid-template-columns:repeat(2,minmax(0,1fr))}.personnel-editor .field:has(textarea){grid-column:auto}.personnel-location-action{padding-top:0}.personnel-document-area{align-items:flex-start;flex-direction:column}.project-execution-form .field:has(textarea){grid-column:auto}.staffing-row{grid-template-columns:24px minmax(0,1fr) minmax(0,1fr);align-items:end}.staffing-row>label{grid-column:span 1}.staffing-row>label:nth-of-type(1),.staffing-row>label:nth-of-type(2){grid-column:span 1}.staffing-row .icon-button{grid-column:3;justify-self:end}.staffing-total{align-items:flex-start;flex-direction:column}.field:has(textarea){grid-column:auto}.activity-evidence-dropzone{grid-template-columns:22px minmax(0,1fr)}.activity-evidence-actions{grid-column:2;justify-content:flex-start}.activity-smart-actions{grid-column:auto;margin-top:-4px}}.transfer-page{display:grid;gap:12px}.transfer-page .section-toolbar{margin-bottom:2px}.package-security-bar{display:flex;align-items:end;flex-wrap:wrap;gap:10px 14px;padding:9px 13px}.package-security-bar>label:first-child{display:inline-flex;align-items:center;gap:6px;min-height:32px;color:#496259;font-size:10px;font-weight:700}.package-security-bar>label:first-child input{accent-color:var(--teal)}.package-security-bar>.field{width:min(250px,100%)}.package-security-bar>span{align-self:center;color:var(--muted);font-size:10px}.netdisk-recovery-panel{overflow:hidden;border-color:#c9dcea}.netdisk-recovery-panel .surface-header{border-bottom:0}.netdisk-recovery-panel .surface-header h3{display:flex;align-items:center;gap:6px}.netdisk-recovery-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,.7fr) auto;align-items:end;gap:10px;padding:2px 17px 13px}.netdisk-recovery-status{min-width:0;align-self:center}.netdisk-recovery-status strong,.netdisk-recovery-status span{display:block}.netdisk-recovery-status strong{color:var(--ink);font-size:12px}.netdisk-recovery-status span{margin-top:4px;color:var(--muted);font-size:10px;line-height:1.45}.netdisk-recovery-body .field{min-width:0}.netdisk-recovery-body .button{margin-bottom:0;white-space:nowrap}.netdisk-recovery-foot{display:flex;align-items:center;flex-wrap:wrap;gap:5px 14px;padding:9px 17px;border-top:1px solid var(--line-soft);color:#536a60;background:#f7fbf9;font-size:10px;line-height:1.45}.netdisk-recovery-foot svg{flex:0 0 auto;color:var(--teal)}.netdisk-recovery-foot span:last-child{color:#786033}.transfer-device-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);gap:12px}.transfer-device-card{min-width:0}.transfer-device-card .surface-header h3{display:flex;align-items:center;gap:6px}.device-name-editor{display:flex;align-items:end;gap:9px;padding:13px 17px 0}.device-name-editor .field{min-width:0;flex:1}.device-name-editor .button{margin-bottom:0}.transfer-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:14px 17px 17px}.transfer-stat-grid>div{min-width:0;padding:2px 11px;border-right:1px solid var(--line-soft)}.transfer-stat-grid>div:first-child{padding-left:0}.transfer-stat-grid>div:last-child{padding-right:0;border-right:0}.transfer-stat-grid strong,.transfer-stat-grid span{display:block}.transfer-stat-grid strong{color:var(--ink);font-size:20px}.transfer-stat-grid span{margin-top:4px;color:var(--muted);font-size:10px;white-space:nowrap}.transfer-filters{padding-bottom:14px}.transfer-filter-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 17px 10px}.transfer-filter-heading h3{margin:3px 0 0;color:var(--ink);font-size:14px}.transfer-filter-grid{display:grid;grid-template-columns:minmax(170px,1.8fr) repeat(5,minmax(95px,.8fr)) auto;align-items:end;gap:9px;padding:0 17px 12px}.transfer-filter-grid .field input{min-height:33px}.input-with-icon{position:relative;display:flex;align-items:center}.input-with-icon svg{position:absolute;left:9px;color:#8a9791;pointer-events:none}.input-with-icon input{padding-left:28px!important}.filter-reset{margin-bottom:0}.filter-option-row{display:flex;align-items:flex-start;gap:12px;padding:8px 17px 0;border-top:1px solid var(--line-soft)}.filter-option-row>span{display:inline-flex;align-items:center;gap:5px;min-width:73px;padding-top:5px;color:var(--muted);font-size:10px;font-weight:700}.filter-options{display:flex;flex-wrap:wrap;gap:6px 10px;min-width:0}.filter-options label{display:inline-flex;align-items:center;gap:4px;min-height:24px;padding:2px 6px;border:1px solid var(--line-soft);border-radius:5px;color:#53625a;background:#fbfdfc;font-size:10px}.filter-options input{accent-color:var(--teal)}.transfer-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 13px}.transfer-actions>div:first-child{display:flex;align-items:baseline;gap:9px;min-width:0}.transfer-actions strong{color:var(--ink);font-size:12px}.transfer-actions span{color:var(--muted);font-size:10px}.transfer-records{overflow:hidden}.transfer-record-list{display:grid}.transfer-record-row{display:grid;grid-template-columns:22px minmax(0,1fr) 100px minmax(120px,180px);align-items:center;gap:10px;min-height:58px;padding:8px 17px;border-bottom:1px solid var(--line-soft);cursor:pointer}.transfer-record-row:last-child{border-bottom:0}.transfer-record-row:hover,.transfer-record-row.selected{background:#f5fbf8}.transfer-record-row>input{accent-color:var(--teal)}.transfer-record-main{min-width:0}.transfer-record-main strong,.transfer-record-main span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transfer-record-main strong{color:var(--ink);font-size:12px}.transfer-record-main span{margin-top:3px;color:var(--muted);font-size:10px}.transfer-record-amount{color:#436158;font-size:11px;text-align:right;white-space:nowrap}.transfer-record-row .tag-pill{justify-self:end;max-width:180px}.transfer-merge-preview{overflow:hidden;border-color:#bcdacd;box-shadow:0 3px 12px #2768520f}.merge-source-line{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:12px 17px 0;color:var(--muted);font-size:10px}.merge-count-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:14px 17px 10px}.merge-count-grid>div{padding:11px 12px;border:1px solid var(--line-soft);border-radius:6px;background:#fbfdfc}.merge-count-grid strong,.merge-count-grid span{display:block}.merge-count-grid strong{color:var(--teal-dark);font-size:22px}.merge-count-grid span{margin-top:3px;color:var(--muted);font-size:10px}.merge-count-grid .danger strong{color:#ad493d}.merge-collection-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 10px;padding:0 17px 12px}.merge-collection-list>div{display:flex;justify-content:space-between;gap:7px;padding:7px 8px;border:1px solid var(--line-soft);border-radius:5px;color:#53625a;background:#fff;font-size:10px}.merge-collection-list small{color:var(--muted);text-align:right}.merge-conflict-list{display:grid;gap:5px;margin:0 17px 12px;padding:10px 11px;border:1px solid #eed8b3;border-radius:6px;color:#73521e;background:#fffaf0;font-size:10px;line-height:1.4}.merge-conflict-list span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.merge-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 17px;border-top:1px solid var(--line-soft);background:#fbfdfc}.transfer-reading{display:flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid #c9e3d8;border-radius:6px;color:#3e6b5b;background:#f2faf6;font-size:11px}.transfer-reading svg{animation:spin 1s linear infinite}.mirror-settings{overflow:hidden}.mirror-warning{display:flex;align-items:flex-start;gap:7px;margin:12px 17px 0;padding:10px 11px;border:1px solid #d8e6df;border-radius:6px;color:#536a60;background:#f7fbf9;font-size:10px;line-height:1.45}.mirror-warning svg{flex:0 0 auto;color:var(--teal)}.mirror-form-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(180px,.9fr) auto auto;align-items:end;gap:10px;padding:13px 17px}.mirror-toggle{display:inline-flex;align-items:center;gap:6px;min-height:35px;color:#53625a;font-size:10px;white-space:nowrap}.mirror-toggle input{accent-color:var(--teal)}.mirror-toggle.sensitive{color:#8a5e1d}.mirror-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 17px;border-top:1px solid var(--line-soft);color:var(--muted);font-size:10px}.mirror-footer>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.merge-log-panel{overflow:hidden}.merge-log-list{display:grid}.merge-log-row{display:grid;grid-template-columns:minmax(0,1fr) 58px 58px 58px;align-items:center;gap:10px;min-height:55px;padding:8px 17px;border-bottom:1px solid var(--line-soft)}.merge-log-row:last-child{border-bottom:0}.merge-log-row>div:first-child{min-width:0}.merge-log-row strong,.merge-log-row span{display:block}.merge-log-row strong{overflow:hidden;color:var(--ink);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.merge-log-row span{margin-top:3px;color:var(--muted);font-size:9px}.merge-log-row>div:not(:first-child){text-align:center}.merge-log-row b{color:var(--teal-dark);font-size:14px}.merge-log-row .danger b{color:#ae4a3e}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 980px){.transfer-device-grid{grid-template-columns:1fr}.transfer-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.transfer-filter-grid .field:first-child{grid-column:1 / -1}.filter-reset{justify-self:start}.netdisk-recovery-body{grid-template-columns:minmax(0,1fr) minmax(180px,.8fr)}.netdisk-recovery-body .button{justify-self:start}.mirror-form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.mirror-toggle{min-height:31px}}@media (max-width: 700px){.transfer-page .section-toolbar .toolbar-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.transfer-page .section-toolbar .toolbar-actions .button{width:100%}.device-name-editor{align-items:stretch;flex-direction:column;padding:12px 14px 0}.package-security-bar{align-items:stretch;flex-direction:column;gap:7px;padding:10px 12px}.package-security-bar>.field{width:100%}.package-security-bar>span{align-self:flex-start;line-height:1.4}.netdisk-recovery-body{grid-template-columns:1fr;gap:9px;padding:2px 14px 12px}.netdisk-recovery-body .button{width:100%}.netdisk-recovery-foot{align-items:flex-start;flex-direction:column;gap:5px;padding:9px 14px}.device-name-editor .button{align-self:flex-start}.transfer-stat-grid{padding:12px 14px 14px}.transfer-stat-grid>div{padding:2px 7px}.transfer-stat-grid strong{font-size:18px}.transfer-stat-grid span{font-size:9px}.transfer-filter-heading{align-items:flex-start;flex-direction:column;padding:13px 14px 9px}.transfer-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 14px 10px}.transfer-filter-grid .field:first-child{grid-column:1 / -1}.filter-option-row{align-items:flex-start;flex-direction:column;gap:5px;padding:8px 14px 0}.filter-option-row>span{padding-top:0}.transfer-actions{align-items:flex-start;flex-direction:column;padding:10px 13px}.transfer-actions .toolbar-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.transfer-actions .button{width:100%}.transfer-record-row{grid-template-columns:22px minmax(0,1fr) auto;gap:8px;min-height:64px;padding:8px 13px}.transfer-record-amount{grid-column:2;grid-row:2;justify-self:start;text-align:left;font-size:10px}.transfer-record-row .tag-pill{grid-column:3;grid-row:1 / span 2;max-width:125px}.merge-source-line{align-items:flex-start;flex-direction:column;padding:10px 14px 0}.merge-count-grid{gap:6px;padding:11px 14px 9px}.merge-count-grid>div{padding:9px}.merge-count-grid strong{font-size:19px}.merge-count-grid span{min-height:25px;line-height:1.3}.merge-collection-list{grid-template-columns:1fr;padding:0 14px 10px}.merge-conflict-list{margin-left:14px;margin-right:14px}.merge-footer{padding:10px 14px}.merge-footer .button{flex:1}.mirror-warning{margin-left:14px;margin-right:14px}.mirror-form-grid{grid-template-columns:1fr;padding:12px 14px}.mirror-toggle{white-space:normal}.mirror-footer{align-items:flex-start;flex-direction:column;padding:10px 14px}.mirror-footer>span{white-space:normal}.mirror-footer .button{align-self:flex-start}.merge-log-row{grid-template-columns:minmax(0,1fr) 44px 44px 44px;gap:6px;padding-left:14px;padding-right:14px}}
