:root{--bg:#eef2f5;--surface:#ffffff;--surface-strong:#edf3f7;--surface-muted:#f7fafc;--ink:#111c24;--ink-soft:#243441;--muted:#657380;--line:#d6dee6;--line-strong:#aebdca;--sidebar:#0d1922;--sidebar-soft:#122533;--archive-blue:#2d6fb4;--archive-blue-soft:#e6f0fb;--emerald:#0d8a63;--emerald-soft:#e1f4ec;--amber:#a36a12;--amber-soft:#fff1d8;--red:#bd3939;--red-soft:#ffe6e4;--blue:#2d6fb4;--blue-soft:#e6f0fb;--paper:#fbfcfd;--paper-warm:#f7f4eb;--shadow:0 18px 44px rgba(31,49,64,0.08);--shadow-tight:0 10px 26px rgba(31,49,64,0.06)}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:linear-gradient(rgba(45,111,180,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(45,111,180,.02) 1px,transparent 1px),var(--bg);background-size:28px 28px,28px 28px,auto;color:var(--ink);font-family:Inter,PingFang SC,Microsoft YaHei,Noto Sans CJK SC,Arial,sans-serif}button,input,select{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}::selection{background:#cfe8dc;color:var(--ink)}.app-shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}.sidebar{background:#14201b;color:#eaf2ee;padding:22px 14px;position:-webkit-sticky;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:10px;padding:0 8px 22px;border-bottom:1px solid rgba(255,255,255,.12)}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;background:#20a576;color:white;font-weight:800}.brand-title{margin:0;font-size:15px;font-weight:700;line-height:1.25}.brand-subtitle{margin:2px 0 0;color:#aabdB4;font-size:12px}.nav{display:grid;grid-gap:4px;gap:4px;margin-top:18px}.nav-item{display:flex;align-items:center;gap:10px;border:0;border-radius:8px;background:transparent;color:#bfd0c8;padding:10px;text-align:left;font-size:14px}.nav-item.active,.nav-item:hover{background:rgba(255,255,255,.1);color:white}.content{min-width:0;padding:24px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.page-title{margin:0;font-size:24px;line-height:1.2;letter-spacing:0}.page-note{margin:6px 0 0;color:var(--muted);font-size:13px}.toolbar{display:flex;align-items:center;gap:10px}.input,.select,.textarea{border:1px solid var(--line);padding:0 10px}.icon-button,.input,.primary-button,.select,.textarea{min-height:38px;border-radius:8px;background:white;color:var(--ink);font-size:14px}.icon-button,.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);padding:0 12px;font-weight:650}.primary-button{border-color:#0f6f51;background:#0f6f51;color:white}.icon-button:disabled,.primary-button:disabled{cursor:not-allowed;opacity:.58}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px}.kpi,.panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.kpi{padding:16px}.kpi-label,.section-label{margin:0;color:var(--muted);font-size:12px;font-weight:700}.kpi-value{display:flex;align-items:baseline;gap:8px;margin-top:10px;font-size:26px;font-weight:800}.kpi-meta{margin-top:8px;color:var(--muted);font-size:12px}.main-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);grid-gap:14px;gap:14px;margin-top:14px}.collaborator-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:12px;gap:12px;margin-top:14px}.asset-panel{margin-top:14px}.panel{min-width:0;padding:16px}.asset-flow-grid{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(360px,1.1fr);grid-gap:14px;gap:14px}.asset-form,.asset-review{display:grid;align-content:start;grid-gap:12px;gap:12px;min-width:0}.file-input{min-height:38px;width:100%;border:1px dashed var(--line);border-radius:8px;background:#fbfcfb;color:var(--muted);padding:8px 10px;font-size:13px}.asset-summary,.settlement-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px}.settlement-strip{margin-bottom:12px}.finance-flow-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);grid-gap:12px;gap:12px;margin-bottom:12px}.finance-actions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;grid-gap:10px;gap:10px}.finance-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.asset-summary span,.finance-summary span,.settlement-strip span{display:grid;grid-gap:5px;gap:5px;min-width:0;border-radius:8px;background:var(--surface-strong);color:var(--muted);padding:10px;font-size:12px}.asset-summary strong,.finance-summary strong,.settlement-strip strong{overflow:hidden;color:var(--ink);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.review-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;grid-gap:10px;gap:10px}.asset-message{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:13px}.asset-reasons{display:flex;flex-wrap:wrap;gap:8px}.asset-reasons span{border-radius:999px;background:var(--amber-soft);color:var(--amber);padding:5px 8px;font-size:12px;font-weight:700}.collaborator-card{display:grid;grid-gap:14px;gap:14px;min-width:0;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow);padding:16px}.collaborator-main{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.collaborator-main h2{margin:4px 0 0;font-size:18px;line-height:1.25}.identity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.identity-grid span{display:grid;grid-gap:5px;gap:5px;min-width:0;border-radius:8px;background:var(--surface-strong);color:var(--muted);padding:10px;font-size:12px}.identity-grid strong{overflow:hidden;color:var(--ink);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.card-footnote{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12px;line-height:1.45}.settlement-message,.settlement-reasons{margin-bottom:12px}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.panel-title{margin:4px 0 0;font-size:17px}.status{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:700}.status.good{background:var(--emerald-soft);color:var(--emerald)}.status.warn{background:var(--amber-soft);color:var(--amber)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.field{display:grid;grid-gap:6px;gap:6px}.field label,.field>span{color:var(--muted);font-size:12px;font-weight:700}.textarea{min-height:86px;padding:9px 10px;resize:vertical}.checks{grid-gap:8px;margin:14px 0}.check-row,.checks{display:grid;gap:8px}.check-row{grid-template-columns:1fr auto auto;align-items:center;grid-gap:8px;border:1px solid var(--line);padding:10px;background:#fbfcfb}.check-row strong{font-size:14px}.check-row span{color:var(--muted);font-size:12px}.result-strip{display:flex;justify-content:space-between;gap:12px;background:var(--surface-strong);padding:12px;color:var(--muted);font-size:13px}.result-strip strong{color:var(--ink)}.table-wrap{overflow-x:auto}.detail-table{border:1px solid var(--line);border-radius:8px;background:#fbfcfb}table{width:100%;border-collapse:collapse}td,th{border-bottom:1px solid var(--line);padding:11px 8px;text-align:left;white-space:nowrap}th{color:var(--muted);font-size:12px;font-weight:750}.queue{grid-gap:10px}.queue,.queue-item{display:grid;gap:10px}.queue-item{grid-template-columns:1fr auto;grid-gap:10px;border:1px solid var(--line);border-radius:8px;padding:12px;background:#fbfcfb}.queue-item strong{display:block;margin-bottom:4px;font-size:14px}.queue-item span{color:var(--muted);font-size:12px}.wide{grid-column:1/-1}.landing-shell,.portal-shell{width:min(1180px,calc(100% - 32px));min-height:100vh;margin:0 auto;padding:28px 0}.landing-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);grid-gap:28px;gap:28px;align-items:end;border-bottom:1px solid var(--line);padding:48px 0 28px}.landing-brand{margin:0 0 14px;color:var(--emerald);font-size:14px;font-weight:800}.landing-hero h1{max-width:780px;margin:0;font-size:clamp(34px,5vw,58px);line-height:1.05;letter-spacing:0}.landing-copy{max-width:720px;margin:18px 0 0;font-size:16px;line-height:1.75}.landing-status{display:grid;grid-gap:10px;gap:10px;align-content:end}.landing-status span{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:12px;color:var(--muted);font-size:13px;font-weight:700}.role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px;margin-top:22px}.role-card{display:grid;grid-template-rows:auto 1fr auto;grid-gap:18px;gap:18px;min-height:260px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow);padding:22px;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.role-card:hover{border-color:#a7bbb2;box-shadow:0 18px 46px rgba(23,33,29,.12);transform:translateY(-2px)}.role-icon{display:grid;place-items:center;width:48px;height:48px;color:white}.collaborator-role .role-icon{background:#0f6f51}.finance-role .role-icon{background:#273a34}.admin-role .role-icon{background:#6d4f13}.role-card h2{margin:0;font-size:24px}.role-card p{margin:10px 0 0;color:var(--muted);line-height:1.65}.role-card>span{display:inline-flex;align-items:center;gap:8px;color:var(--emerald);font-size:14px;font-weight:800}.workflow-band{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px;margin-top:18px}.workflow-band>div{border:1px solid var(--line);border-radius:8px;background:var(--surface-strong);padding:16px}.workflow-band strong{display:block;margin-top:10px;font-size:15px}.workflow-band p{margin:6px 0 0;color:var(--muted);font-size:13px;line-height:1.55}.portal-topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}.portal-topbar h1{margin:10px 0 0;font-size:30px;line-height:1.15;letter-spacing:0}.portal-topbar p{margin:8px 0 0;color:var(--muted)}.back-link{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:13px;font-weight:700}.collaborator-overview{display:grid;grid-template-columns:minmax(320px,1fr) repeat(3,minmax(150px,.35fr));grid-gap:12px;gap:12px;margin-bottom:14px}.identity-panel,.status-tile{border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow);padding:16px}.identity-panel{display:flex;align-items:center;gap:14px}.identity-panel h2{margin:4px 0 0;font-size:20px}.identity-panel p:last-child{margin:6px 0 0;color:var(--muted);font-size:13px}.avatar-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:8px;background:var(--emerald-soft);color:var(--emerald)}.status-tile{display:grid;align-content:center;grid-gap:7px;gap:7px}.status-tile span{color:var(--muted);font-weight:700}.status-tile strong{font-size:20px}.portal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-grid,.portal-panel{display:grid;grid-gap:14px;gap:14px}.portal-panel{align-content:start}.portal-panel .panel-header{margin-bottom:0}.portal-panel-heading{display:flex;align-items:center;gap:8px}.portal-panel-heading h2{margin:0;font-size:18px}.portal-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.portal-summary.three{grid-template-columns:repeat(3,minmax(0,1fr))}.portal-summary span{display:grid;grid-gap:5px;gap:5px;min-width:0;border-radius:8px;background:var(--surface-strong);color:var(--muted);padding:10px;font-size:12px}.portal-summary strong{overflow:hidden;color:var(--ink);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.full-button{width:100%}.portal-note{margin:0;line-height:1.6}.portal-message,.portal-note{color:var(--muted);font-size:13px}.portal-message{position:-webkit-sticky;position:sticky;bottom:14px;display:flex;align-items:center;gap:8px;width:-moz-fit-content;width:fit-content;max-width:100%;margin-top:16px;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);padding:10px 12px;font-weight:700}.portal-message.bad{border-color:#f2c9c9;background:var(--red-soft);color:var(--red)}.portal-message.inline{position:static;width:100%;margin:0}.login-shell{display:grid;place-items:center;min-height:100vh;padding:24px}.login-card{display:grid;grid-gap:18px;gap:18px;width:min(460px,100%);border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow);padding:24px}.login-heading{display:flex;align-items:center;gap:14px}.login-heading h1{margin:0;font-size:24px;line-height:1.2}.login-heading p{margin:6px 0 0;color:var(--muted);font-size:13px;line-height:1.6}.login-form{display:grid;grid-gap:12px;gap:12px}.demo-account-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.saas-shell{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh}.saas-sidebar{position:-webkit-sticky;position:sticky;top:0;display:grid;align-content:start;grid-gap:14px;gap:14px;height:100vh;border-right:1px solid rgba(255,255,255,.1);background:#14201b;color:#edf5f1;padding:18px 12px}.saas-brand{display:flex;align-items:center;gap:10px;border-bottom:1px solid rgba(255,255,255,.12);padding:0 8px 16px}.saas-brand span:last-child{display:grid;grid-gap:2px;gap:2px}.saas-brand strong{font-size:14px}.saas-brand small{color:#aabdb4}.role-block{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.08);color:#d6e3dd;padding:10px;font-size:13px;font-weight:750}.saas-nav{display:grid;grid-gap:6px;gap:6px}.saas-nav-item{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;grid-gap:8px;gap:8px;border:0;background:transparent;color:#bfd0c8;padding:10px 8px;text-align:left}.saas-nav-item.active,.saas-nav-item:hover{background:rgba(255,255,255,.1);color:white}.saas-nav-item strong{display:block;font-size:13px}.saas-nav-item small{display:block;overflow:hidden;margin-top:2px;color:#9fb2aa;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.saas-nav-item em{min-width:22px;background:var(--amber-soft);color:var(--amber);padding:2px 6px;font-size:11px;font-style:normal;font-weight:800;text-align:center}.saas-nav-icon{display:grid;place-items:center}.saas-main{min-width:0;padding:22px}.saas-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.saas-topbar h1{margin:0;font-size:26px;line-height:1.18;letter-spacing:0}.saas-topbar p{margin:7px 0 0;color:var(--muted);font-size:13px}.saas-userbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.workspace-stack{display:grid;grid-gap:14px;gap:14px}.workspace-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px}.status-tile small{overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.workspace-section{display:grid;grid-gap:14px;gap:14px}.section-note{margin:6px 0 0;color:var(--muted);font-size:13px;line-height:1.5}.state-block{display:grid;grid-gap:6px;gap:6px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow);padding:18px}.state-block strong{font-size:16px}.state-block span{color:var(--muted);font-size:13px;line-height:1.6}.state-block.warn{border-color:#efd49d;background:#fffaf0}.state-block.bad{border-color:#f2c9c9;background:var(--red-soft)}.state-block.good{border-color:#b9dfd1;background:var(--emerald-soft)}.task-list{display:grid;grid-gap:10px;gap:10px}.task-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:12px;gap:12px;border:1px solid var(--line);border-radius:8px;background:#fbfcfb;padding:12px}.task-row strong{display:block;font-size:14px}.task-row span{display:block;margin-top:4px;color:var(--muted);font-size:12px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:8px;gap:8px}.calendar-day{display:grid;grid-gap:5px;gap:5px;min-height:70px;border:1px solid var(--line);background:#fbfcfb;padding:10px}.calendar-day strong{font-size:16px}.calendar-day span{color:var(--muted);font-size:12px}.calendar-day.submitted{background:var(--amber-soft)}.calendar-day.qualified{background:var(--emerald-soft)}.split-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.split-grid,.workspace-card{display:grid;grid-gap:12px;gap:12px}.workspace-card{border:1px solid var(--line);border-radius:8px;background:#fbfcfb;padding:14px}.admin-user-form{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr)) auto;align-items:end;grid-gap:12px;gap:12px}.config-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.config-guide-card{display:grid;grid-gap:8px;gap:8px;border:1px solid var(--line);border-radius:8px;background:#fbfcfb;padding:14px}.config-guide-card strong{font-size:14px}.config-guide-card span{color:var(--muted);font-size:13px;line-height:1.6}.config-form{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));align-items:start;grid-gap:12px;gap:12px}.field-hint{color:var(--muted);font-size:12px;line-height:1.45}.check-field{align-self:stretch;border:1px solid var(--line);border-radius:8px;background:#fbfcfb;padding:10px}.check-field input{width:18px;height:18px}.form-actions{display:flex;align-items:center;align-self:end;gap:8px;flex-wrap:wrap}.config-preview{display:grid;grid-gap:6px;gap:6px;border:1px solid var(--line);border-radius:8px;background:var(--surface-strong);padding:12px}.config-preview strong{font-size:13px}.config-preview span{color:var(--muted);font-size:13px;line-height:1.55}.project-dossier-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));grid-gap:12px;gap:12px}.dossier-card{display:grid;grid-gap:12px;gap:12px;border:1px solid var(--line);border-radius:8px;background:#fbfcfb;padding:14px}.dossier-card h3{margin:4px 0 0;font-size:18px}.dossier-definition-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;margin:0}.dossier-definition-grid div{min-width:0;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:10px}.dossier-definition-grid dt{color:var(--muted);font-size:12px;font-weight:800}.dossier-definition-grid dd{overflow-wrap:anywhere;margin:4px 0 0;color:var(--ink);font-size:14px;font-weight:800}.target-mini-list{display:grid;grid-gap:6px;gap:6px}.target-mini-list span{border-radius:8px;background:var(--surface-strong);color:var(--muted);padding:8px 10px;font-size:12px}.rule-builder-form{display:grid;grid-gap:14px;gap:14px}.rule-builder-head{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));grid-gap:12px;gap:12px}.rule-form-section{display:grid;grid-gap:12px;gap:12px;border:1px solid var(--line);border-radius:8px;background:#fbfcfb;padding:14px}.rule-form-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.rule-form-title strong{font-size:15px}.rule-form-title span{max-width:520px;color:var(--muted);font-size:12px;line-height:1.5;text-align:right}.rule-impact-preview{display:grid;grid-gap:10px;gap:10px;border:1px solid #c8d7e2;border-radius:8px;background:#f6fafc;padding:14px}.rule-impact-preview strong{display:block;margin-top:4px;font-size:17px}.rule-impact-preview p{margin:0;color:var(--muted);font-size:13px;line-height:1.7}.inline-actions,.password-reset{display:flex;align-items:center;gap:8px}.password-reset{min-width:250px}.password-reset .input{width:130px}.readiness-list{display:grid;grid-gap:10px;gap:10px}.readiness-row{display:grid;grid-template-columns:auto minmax(120px,.25fr) minmax(0,1fr);align-items:center;grid-gap:10px;gap:10px;border:1px solid var(--line);border-radius:8px;background:#fbfcfb;padding:12px}.readiness-row strong{font-size:14px}.readiness-row small{color:var(--muted);font-size:12px;line-height:1.5}.rule-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.rule-card,.rule-grid{display:grid;grid-gap:12px;gap:12px}.rule-card{border:1px solid var(--line);border-radius:8px;background:#fbfcfb;padding:14px}.rule-card h3{margin:4px 0 0;font-size:18px}.rule-card dl{display:grid;grid-gap:10px;gap:10px;margin:0}.rule-card dt{color:var(--muted);font-size:12px;font-weight:800}.rule-card dd{overflow-wrap:anywhere;margin:4px 0 0;color:var(--ink);font-size:13px;line-height:1.55}.visual-rule-card{align-content:start}.rule-summary{display:grid;grid-gap:8px;gap:8px;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:10px}.rule-summary>strong{font-size:13px}.rule-summary dl{display:grid;grid-gap:8px;gap:8px;margin:0}.rule-summary div{display:grid;grid-template-columns:96px minmax(0,1fr);grid-gap:8px;gap:8px}.rule-summary dt{color:var(--muted);font-size:12px;font-weight:800}.rule-summary dd{overflow-wrap:anywhere;margin:0;color:var(--ink);font-size:12px;line-height:1.5}.audit-object{display:block;font-weight:800}.audit-object+small{display:block;max-width:180px;overflow:hidden;color:var(--muted);text-overflow:ellipsis}.file-preview{display:grid;grid-gap:10px;gap:10px;border:1px solid var(--line);border-radius:8px;background:#fbfcfb;padding:14px}.file-preview h3{margin:0;font-size:15px}.file-preview iframe{width:100%;min-height:360px;border:1px solid var(--line);border-radius:8px;background:white}.compact-field{max-width:420px}.saas-shell{grid-template-columns:304px minmax(0,1fr);background:transparent}.saas-sidebar{gap:18px;border-right:1px solid rgba(166,190,208,.22);background:linear-gradient(180deg,rgba(17,39,55,.96),rgba(8,19,27,.98)),var(--sidebar);color:#f0f6f9;padding:22px 14px}.saas-sidebar:after{content:"Dossier · 内部履约闭环";display:block;margin-top:10px;border-top:1px solid rgba(255,255,255,.12);padding:16px 10px 0;color:#8ba3b5;font-size:12px;font-weight:800}.saas-brand{align-items:flex-start;border-bottom-color:rgba(255,255,255,.13);padding:0 8px 20px}.brand-mark{width:42px;height:42px;border-color:rgba(255,255,255,.26);border-radius:9px;background:linear-gradient(145deg,#149671,#0e7359);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 12px 28px rgba(0,0,0,.18);font-size:20px}.saas-brand strong{color:#f7fbfc;font-size:15px;font-weight:850}.saas-brand small{color:#9db2c1;font-size:12px}.role-block{align-items:flex-start;border:1px solid rgba(122,155,181,.2);border-radius:8px;background:linear-gradient(180deg,rgba(28,58,78,.82),rgba(15,34,47,.82));color:#d9e8ef;padding:12px 11px}.role-block>span{display:grid;grid-gap:3px;gap:3px}.role-block strong{font-size:13px;font-weight:850}.role-block small{color:#8ea7ba;font-size:11px;font-weight:750}.saas-nav{gap:7px}.saas-nav:before{content:"档案总索引";display:block;margin:0 10px 2px;color:#7894a8;font-size:12px;font-weight:800}.saas-nav-item{position:relative;min-height:56px;border:1px solid transparent;border-radius:8px;color:#bfd0db;padding:10px;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.saas-nav-item:before{content:"";position:absolute;inset:10px auto 10px 0;width:3px;border-radius:99px;background:transparent}.saas-nav-item:hover{border-color:rgba(122,155,181,.22);background:rgba(255,255,255,.055)}.saas-nav-item:active{transform:translateY(1px)}.saas-nav-item.active{border-color:rgba(63,133,199,.72);background:linear-gradient(90deg,rgba(45,111,180,.38),rgba(20,78,104,.2));box-shadow:inset 0 1px 0 rgba(255,255,255,.08);color:white}.saas-nav-item.active:before{background:#67b7ff}.saas-nav-item.active .saas-nav-icon{color:#9bd1ff}.saas-nav-item small{color:#91a9ba}.saas-nav-item em{min-width:24px;border:1px solid rgba(236,188,91,.58);border-radius:999px;background:rgba(151,94,13,.42);color:#f5cf86;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace}.saas-main{padding:26px 32px 32px}.saas-topbar{align-items:center;margin:-2px -2px 18px;border-bottom:1px solid rgba(174,189,202,.58);padding:2px 2px 18px}.dossier-kicker{display:inline-flex;width:-moz-fit-content;width:fit-content;border:1px solid #cfdae5;border-radius:999px;background:rgba(255,255,255,.68);color:var(--archive-blue);padding:4px 9px;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:11px;font-weight:800}.saas-topbar h1{margin-top:8px;color:var(--ink);font-size:28px;font-weight:880}.saas-topbar p{max-width:700px;color:#5d6c78}.topbar-context{display:flex;flex:1 1;flex-wrap:wrap;gap:8px;justify-content:center;min-width:260px}.topbar-context span{border-radius:999px;border:1px solid #c9d6e2;background:rgba(255,255,255,.78);color:#536575;padding:6px 10px;box-shadow:inset 0 1px 0 rgba(255,255,255,.7);font-size:12px;font-weight:800;white-space:nowrap}.saas-userbar .status.good{border-color:#b7dfd2;background:#eef9f4;color:#087757}.file-input,.icon-button,.input,.primary-button,.select,.textarea{min-height:40px;border-radius:7px;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .15s ease}.file-input,.input,.select,.textarea{border-color:#cbd8e3;background:rgba(255,255,255,.88)}.file-input:focus,.input:focus,.select:focus,.textarea:focus{border-color:var(--archive-blue);box-shadow:0 0 0 3px rgba(45,111,180,.13);outline:0}.primary-button{border-color:var(--archive-blue);background:var(--archive-blue);box-shadow:0 10px 20px rgba(45,111,180,.16)}.primary-button:hover:not(:disabled){background:#245f9e}.icon-button:active:not(:disabled),.primary-button:active:not(:disabled){transform:translateY(1px)}.icon-button{border-color:#cbd8e3;background:rgba(255,255,255,.86)}.icon-button:hover:not(:disabled){border-color:var(--line-strong);background:white}.icon-button:focus-visible,.primary-button:focus-visible,.saas-nav-item:focus-visible{outline:0;box-shadow:0 0 0 3px rgba(45,111,180,.18)}.collaborator-card,.file-preview,.identity-panel,.login-card,.panel,.role-card,.rule-card,.state-block,.status-tile,.workspace-card{border-color:#ccd8e3;border-radius:8px;box-shadow:var(--shadow-tight)}.file-preview,.panel,.rule-card,.state-block,.workspace-card{position:relative;background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(251,252,253,.96)),var(--paper)}.panel-header{border-bottom-color:#d8e2eb;padding-bottom:13px}.section-label{color:var(--archive-blue);font-size:11px;font-weight:850;letter-spacing:.06em}.panel-title{color:var(--ink);font-size:20px;font-weight:880}.section-note{color:#63727e}.workspace-metrics{grid-template-columns:repeat(4,minmax(180px,1fr));gap:14px}.status-tile{position:relative;overflow:hidden;min-height:118px;border-color:#ccd8e3;background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(247,250,252,.95)),var(--paper);padding:18px 18px 16px}.status-tile:before{width:4px;background:var(--archive-blue)}.status-tile span{color:#5d6d7a;font-size:12px;font-weight:850;letter-spacing:.02em}.kpi-value,.status-tile strong{color:var(--ink);font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:25px;font-weight:850;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.status-tile small{color:#697986}.status{border:1px solid transparent;border-radius:7px;padding:5px 9px;font-weight:850;line-height:1}.status.good{border-color:#b7dfd2;background:#e9f8f1;color:#087757}.status.warn{border-color:#ebcf98;background:#fff5df;color:#915d0d}.status.bad{border-color:#efc3c0;background:var(--red-soft);color:var(--red)}.asset-summary span,.calendar-day,.finance-summary span,.identity-grid span,.portal-summary span,.queue-item,.readiness-row,.settlement-strip span,.task-row,.workspace-card{border-color:#d3dee8;background:rgba(247,250,252,.82)}.queue-item,.readiness-row,.task-row{border-radius:8px;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}.queue-item:hover,.readiness-row:hover,.task-row:hover{border-color:#b8c8d6;background:white}.queue-item strong,.readiness-row strong,.task-row strong{color:var(--ink);font-size:14px}.queue-item span,.readiness-row small,.task-row span{color:#667684}.result-strip{border:1px solid #d3dee8;border-radius:8px;background:#f5f8fb}.check-row{border-color:#d3dee8;background:#f8fafc}.calendar-day,.check-row{border-radius:8px}.calendar-day.qualified{border-color:#b7dfd2;background:#edf8f3}.calendar-day.submitted{border-color:#ebcf98;background:#fff7e8}.detail-table,.table-wrap{border-radius:8px}table{font-size:13px}th{border-bottom-color:#d7e1ea;background:#f1f6fa;color:#5d6d7a;font-weight:850}td{border-bottom-color:#e1e8ef;background:rgba(255,255,255,.92)}tbody tr:hover td{background:#f7fbff}td,th{padding:13px 11px}.file-input{border-style:solid;background:#f8fbfd}.portal-message{border-color:#cbd8e3;border-radius:8px;background:rgba(255,255,255,.92);box-shadow:0 16px 34px rgba(31,49,64,.1)}.landing-shell,.portal-shell{width:min(1240px,calc(100% - 40px))}.landing-home{padding-top:22px}.landing-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.landing-brand-lockup{display:flex;align-items:center;gap:12px}.landing-brand-lockup span:last-child{display:grid;grid-gap:2px;gap:2px}.landing-brand-lockup strong{color:var(--ink);font-size:15px;font-weight:880}.landing-brand-lockup small{color:#657889;font-size:12px;font-weight:700}.landing-mark{width:42px;height:42px;border-radius:9px;background:linear-gradient(145deg,#149671,#0e7359);color:white;font-size:20px}.landing-entry-actions{display:flex;align-items:center;gap:10px}.landing-entry-actions>span{border:1px solid #cbd8e3;border-radius:999px;background:rgba(255,255,255,.72);color:#536575;padding:6px 10px;font-size:12px;font-weight:800;white-space:nowrap}.landing-hero,.login-card,.role-card{border-color:#ccd8e3;border-radius:10px;background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(248,251,253,.95)),var(--paper)}.landing-hero{position:relative;overflow:hidden;align-items:center;margin-top:10px;padding:34px}.landing-hero-console{grid-template-columns:minmax(0,1fr) minmax(380px,.55fr);gap:32px}.landing-hero-copy{min-width:0}.landing-brand,.role-card>span{color:var(--archive-blue)}.landing-brand{letter-spacing:.08em}.landing-hero h1{max-width:820px;color:var(--ink);font-size:clamp(34px,4.2vw,54px)}.landing-copy{color:var(--muted)}.landing-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.landing-proof-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.landing-proof-row span{border:1px solid #cbd8e3;border-radius:7px;background:#f7fafc;color:#536575;padding:7px 9px;font-size:12px;font-weight:850}.landing-dossier-panel{position:relative;display:grid;grid-gap:14px;gap:14px;min-width:0;border:1px solid #cbd8e3;border-radius:10px;background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(247,250,252,.98)),var(--paper);box-shadow:var(--shadow-tight);padding:18px}.landing-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid #d8e2eb;padding-bottom:12px}.landing-panel-head div{display:grid;grid-gap:4px;gap:4px}.landing-dossier-stats small,.landing-panel-head span{color:#5d6d7a;font-size:12px;font-weight:850}.landing-panel-head strong{color:var(--ink);font-size:16px}.landing-panel-head em{border:1px solid #b7dfd2;border-radius:7px;background:#e9f8f1;color:#087757;padding:5px 8px;font-size:12px;font-style:normal;font-weight:850;white-space:nowrap}.landing-dossier-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.landing-dossier-stats span{display:grid;grid-gap:5px;gap:5px;border:1px solid #d3dee8;border-radius:8px;background:rgba(247,250,252,.82);padding:10px}.landing-dossier-stats strong{overflow:hidden;color:var(--ink);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.landing-evidence-list{display:grid;grid-gap:9px;gap:9px}.landing-evidence-list span{display:flex;align-items:center;gap:8px;border:1px solid #d3dee8;border-radius:8px;background:rgba(247,250,252,.74);color:#536575;padding:10px;font-size:13px;line-height:1.45}.landing-evidence-list svg{flex:0 0 auto;color:var(--archive-blue)}.role-section{margin-top:16px}.role-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:10px}.role-section-head h2{margin:4px 0 0;color:var(--ink);font-size:22px}.role-section-head>span{color:#63727e;font-size:13px}.role-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:0}.role-card{min-height:236px}.role-icon{border-radius:8px}.admin-role .role-icon,.collaborator-role .role-icon,.finance-role .role-icon{background:var(--sidebar)}.workflow-band>div{background:var(--surface)}.login-shell{align-items:center;background:var(--bg)}.login-card{width:min(500px,100%);position:relative;border-top:0}.avatar-mark{border:1px solid #c7dcec;background:var(--archive-blue-soft);color:var(--archive-blue)}@media (max-width:980px){.saas-shell{grid-template-columns:1fr}.saas-sidebar{position:static;height:auto}.saas-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.nav{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-hero,.landing-topbar,.portal-topbar,.role-section-head,.saas-topbar,.saas-userbar,.toolbar,.topbar{align-items:stretch;flex-direction:column}.admin-user-form,.asset-flow-grid,.asset-summary,.calendar-grid,.collaborator-overview,.collaborator-strip,.config-form,.config-guide-grid,.dossier-definition-grid,.finance-actions,.finance-flow-grid,.finance-summary,.form-grid,.identity-grid,.kpi-grid,.landing-hero,.main-grid,.portal-grid,.portal-summary,.project-dossier-grid,.readiness-row,.review-actions,.role-grid,.rule-builder-head,.settlement-strip,.split-grid,.workflow-band,.workspace-metrics{grid-template-columns:1fr}.landing-actions,.landing-entry-actions,.landing-proof-row{align-items:stretch;flex-direction:column}.landing-dossier-stats{grid-template-columns:1fr}.form-actions,.inline-actions,.password-reset,.rule-form-title{align-items:stretch;flex-direction:column}.rule-form-title span{max-width:none;text-align:left}.rule-summary div{grid-template-columns:1fr}.password-reset,.password-reset .input{width:100%}.content{padding:16px}}