:root{--bg:#cfcfcf;--paper:#fff;--ink:#000;--text:#1f1f1f;--text-strong:#000;--muted:#747474;--text-muted:#747474;--line:#ededed;--line-strong:#d7d7d7;--green:#76fb91;--shadow:0 28px 70px #0000001f;--mono:"SF Mono", "Cascadia Mono", "Roboto Mono", Consolas, monospace;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Outfit,Avenir Next,SF Pro Display,Helvetica Neue,Arial,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{overscroll-behavior:none;min-width:320px;height:100dvh;min-height:100dvh;margin:0;overflow:hidden}#root{height:100dvh;overflow:hidden}@media (display-mode:standalone){body{padding-top:env(safe-area-inset-top)}}button,input,select,textarea{letter-spacing:0}.app-shell{height:100dvh;min-height:0;color:var(--text);background:linear-gradient(#ffffff47,#0000 26%),#cfcfcf;grid-template-columns:320px minmax(0,1fr);gap:0;padding:16px;display:grid;overflow:hidden}.app-shell:before{content:"";pointer-events:none;border:1px solid #ffffff8c;position:fixed;inset:16px;box-shadow:0 34px 80px #00000014}.app-shell.download-shell{padding:16px;display:block;overflow:auto}.app-shell.download-shell:before{inset:16px}.download-shell .sidebar,.download-shell .workspace{display:none}.download-landing{z-index:2;background:radial-gradient(circle at 24% 22%,#76fb9152,#0000 32%),linear-gradient(135deg,#fff 0%,#f7fff8 48%,#eee 100%);border:1px solid #ffffffad;grid-template-columns:minmax(0,1fr) minmax(280px,420px);align-items:center;gap:28px;min-height:calc(100dvh - 32px);padding:clamp(28px,5vw,76px);display:grid;position:relative}.download-hero{max-width:720px}.download-hero h2{max-width:680px;color:var(--ink);letter-spacing:0;margin:8px 0 14px;font-size:clamp(42px,7vw,86px);font-weight:820;line-height:.94}.download-hero p,.download-note{max-width:580px;color:var(--muted);margin:0;font-size:15px;font-weight:620;line-height:1.75}.download-actions{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}.primary-download,.link-button{border:1px solid var(--ink);color:#fff;background:var(--ink);border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 18px;font-size:14px;font-weight:760;text-decoration:none;display:inline-flex}.primary-download:hover{background:#1b1b1b}.download-meta,.version-detail{border:1px solid var(--line);background:#ffffffbd;border-radius:8px;gap:8px;padding:20px;display:grid;box-shadow:0 30px 70px #00000014}.download-meta span,.version-detail span{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:760;line-height:1.2}.download-meta strong,.version-detail strong,.download-meta code,.version-detail code{overflow-wrap:anywhere;min-width:0;color:var(--ink);font-size:14px;font-weight:760;line-height:1.45}.download-note{grid-column:1/-1;align-self:end}.sidebar,.workspace{z-index:1;background:var(--paper);min-width:0;height:calc(100dvh - 32px);min-height:0;position:relative;overflow:hidden}.sidebar{border-right:1px solid var(--line);flex-direction:column;padding:18px 16px;display:flex}.brand{border-bottom:1px solid var(--line);grid-template-columns:42px minmax(0,1fr);align-items:center;gap:14px;min-height:54px;margin-bottom:12px;padding-bottom:12px;display:grid}.brand-mark{width:42px;height:42px;color:var(--ink);background:radial-gradient(circle at 28% 32%, #fff 0 10%, transparent 11%), linear-gradient(135deg, var(--green), #dfffe6);border:1px solid #00000014;border-radius:50%;place-items:center;display:grid;box-shadow:14px 14px 34px #76fb9152}.brand h1{color:var(--ink);letter-spacing:0;margin:0;font-size:18px;font-weight:760;line-height:1.08}.brand p{color:var(--muted);letter-spacing:0;margin:5px 0 0;font-size:10px;font-weight:660;line-height:1.35}.identity-card{border:1px solid var(--line);background:#f6f6f6;border-radius:8px;margin-bottom:10px;padding:12px}.identity-card.verified{color:#fff;background:var(--ink);border-color:var(--ink)}.identity-card span,.identity-card small{color:inherit;opacity:.62;font-size:10px;font-weight:680;line-height:1.4;display:block}.identity-card strong{color:inherit;margin:5px 0 4px;font-size:14px;font-weight:720;line-height:1.25;display:block}.register-shortcut{background:var(--green);width:100%;min-height:38px;color:var(--ink);border-color:#0000001f;margin:-1px 0 10px}.register-shortcut:hover{background:#63ef80}.client-button{border:1px solid var(--line-strong);min-height:38px;color:var(--ink);border-color:var(--line-strong);background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-size:12.5px;font-weight:720;text-decoration:none;display:inline-flex}.sidebar-client-button{display:none}select,input,textarea{border:1px solid var(--line-strong);width:100%;color:var(--ink);font:inherit;background:#fff;border-radius:8px;outline:none;font-size:14px;transition:border-color .16s,box-shadow .16s,background .16s}select:hover,input:hover,textarea:hover{border-color:#00000042}select:focus-visible,input:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible,.device-row:focus-visible{outline:2px solid var(--green);outline-offset:2px}select,input{height:42px;padding:0 13px}textarea{resize:vertical;min-height:68px;padding:12px 13px;line-height:1.55}.search-box{margin-bottom:10px;position:relative}.search-box svg{color:#7b7b7b;position:absolute;top:13px;left:13px}.search-box input{background:#f8f8f8;padding-left:38px}.device-list{overscroll-behavior:contain;flex-direction:column;flex:1;gap:6px;min-height:0;max-height:none;padding-right:3px;display:flex;overflow:auto}.device-row{width:100%;min-height:52px;color:var(--text);text-align:left;cursor:pointer;box-shadow:none;background:0 0;border:1px solid #0000;border-radius:8px;grid-template-columns:7px 34px minmax(0,1fr) 30px;align-items:center;gap:10px;padding:8px;transition:background .16s,border-color .16s,transform .16s;display:grid}.device-row:hover{border-color:var(--line);background:#f4f4f4;transform:translateY(-1px)}.device-row.active{color:#fff;background:var(--ink);border-color:var(--ink)}.device-row.active strong,.device-row.active small{color:#fff}.device-copy{min-width:0}.device-row strong{min-width:0;color:inherit;align-items:center;gap:7px;font-size:14px;font-weight:720;line-height:1.2;display:flex}.device-row strong>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.device-row em,.title-badge,.unread-pill{color:var(--ink);background:var(--green);white-space:nowrap;border:1px solid #0000001f;border-radius:999px;padding:3px 7px;font-size:10px;font-style:normal;font-weight:760}.unread-pill{color:#fff;background:var(--ink);border-color:var(--ink);justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:10px;line-height:1;display:inline-flex}.device-row.active em{border-color:#0000}.device-row.active .unread-pill{color:var(--ink);background:var(--green);border-color:#0000}.device-row small{color:inherit;opacity:.54;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:11px;display:block;overflow:hidden}.device-preview{color:inherit;opacity:.42;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:10.5px;line-height:1.25;display:block;overflow:hidden}.device-row.active small{opacity:.68}.device-row.active .device-preview{opacity:.58}.device-icon{width:34px;height:34px;color:var(--ink);background:#ededed;border-radius:8px;place-items:center;display:grid}.device-row.active .device-icon{color:var(--ink);background:var(--green)}.pin-button{color:#9a9a9a;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;place-items:center;width:30px;height:30px;padding:0;transition:color .16s,background .16s,border-color .16s;display:grid}.pin-button:hover{color:var(--ink);background:#ededed;border-color:#00000014}.pin-button.pinned{color:var(--ink);background:var(--green);border-color:#0000001f}.device-row.active .pin-button{color:#ffffffbd}.device-row.active .pin-button:hover,.device-row.active .pin-button.pinned{color:var(--ink);background:var(--green);border-color:#0000}.status-dot{background:#d6d6d6;border-radius:50%;width:7px;height:7px}.status-dot.online{background:var(--green);box-shadow:0 0 0 5px #76fb9138}.workspace{flex-direction:column;display:flex}.topbar{border-bottom:1px solid var(--line);background:linear-gradient(90deg,#76fb9114,#0000 34%),#fff;grid-template-columns:minmax(0,1fr) minmax(250px,360px) auto;align-items:start;gap:16px;min-height:104px;padding:16px 24px;display:grid}.contact-head{grid-template-columns:46px minmax(0,1fr);align-items:start;gap:13px;display:grid}.avatar{width:46px;height:46px;color:var(--ink);background:var(--green);border-radius:50%;place-items:center;font-size:23px;font-weight:760;display:grid}.topline,.topnote{color:var(--muted);align-items:center;gap:7px;margin:0;font-size:10.5px;font-weight:680;line-height:1.4;display:flex}.topbar h2{color:var(--ink);letter-spacing:0;flex-wrap:wrap;align-items:center;gap:10px;margin:5px 0 0;font-size:clamp(28px,2.3vw,38px);font-weight:720;line-height:.98;display:flex}.topnote{margin-top:7px}.insight-card{min-height:76px;color:var(--ink);background:linear-gradient(110deg, #76fb91f0, #76fb9157 58%, #ffffffb8), var(--green);border-radius:8px;padding:12px 14px;box-shadow:24px 18px 42px #76fb9147,inset 0 1px #ffffffb3}.insight-card span,.insight-card small{color:#0000009e;font-size:10.5px;font-weight:720;line-height:1.4;display:block}.insight-card strong{max-width:280px;color:var(--ink);margin:6px 0 5px;font-size:15px;font-weight:720;line-height:1.22;display:block}.top-actions,.transfer-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}button,.download-link{border:1px solid var(--ink);background:var(--ink);color:#fff;min-height:40px;font:inherit;cursor:pointer;box-shadow:none;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-size:12.5px;font-weight:720;text-decoration:none;transition:transform .16s,background .16s,border-color .16s,opacity .16s;display:inline-flex}button:hover,.download-link:hover{background:#222;transform:translateY(-1px)}button:active,.download-link:active{transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.45;transform:none}.icon-button{width:42px;color:var(--ink);border-color:var(--line-strong);background:#fff;padding:0}.icon-button:hover{background:#f2f2f2}.sound-button.enabled{background:var(--green);color:var(--ink);border-color:#00000029}.sound-button.enabled:hover{background:#63ef80}.mobile-back-button{display:none}.wake-button{background:var(--green);color:var(--ink);border-color:#00000024}.wake-button:hover{background:#63ef80}.admin-button{border-color:var(--line-strong);color:var(--ink);background:#fff}.admin-button:hover{background:#f2f2f2}.main-grid{background:#fff;flex:1;grid-template-columns:minmax(0,1fr) 390px;min-height:0;display:grid;overflow:hidden}.mobile-section-tabs{display:none}.conversation-panel,.transfer-panel{flex-direction:column;min-height:0;padding:18px 26px;display:flex;overflow:hidden}.conversation-panel{background:linear-gradient(#fff 0% 52%,#fafafa 100%)}.transfer-panel{border-left:1px solid var(--line);background:#f5f5f5}.panel-heading{color:var(--ink);align-items:center;gap:8px;margin-bottom:10px;font-size:11.5px;font-weight:760;line-height:1;display:inline-flex}.panel-heading:after{content:"";background:#ccc;width:46px;height:1px}.message-list{overscroll-behavior:contain;flex-direction:column;flex:1;gap:10px;height:auto;min-height:0;padding-right:8px;display:flex;overflow:auto}.message{border:1px solid var(--line);background:#fff;border-radius:8px;align-self:flex-start;max-width:min(70%,640px);padding:13px 14px}.message.mine{color:var(--ink);background:linear-gradient(135deg,#76fb91ad,#edededd1);border-color:#0000001f;align-self:flex-end}.message-author{color:#00000085;margin-bottom:5px;font-size:10px;font-weight:760;line-height:1.2;display:block}.message p{white-space:pre-wrap;color:inherit;margin:0;font-size:14px;line-height:1.62}.message footer{justify-content:space-between;align-items:center;gap:10px;margin-top:7px;display:flex}.message time,.read-state{color:#0000007a;font-variant-numeric:tabular-nums;font-size:10px;font-weight:700}.read-state{color:#00000085;white-space:nowrap}.read-state.unread{color:#0000006b}.composer{grid-template-columns:minmax(0,1fr) auto;gap:10px;padding-top:12px;display:grid}.composer input{background:#f8f8f8;height:44px}.file-form{flex-direction:column;gap:9px;margin-bottom:12px;display:flex}.file-dropzone{border:1px solid var(--line-strong);background:linear-gradient(135deg,#76fb9129,#fff0 48%),#fff;border-radius:8px;flex-direction:column;gap:8px;padding:10px;transition:border-color .16s,box-shadow .16s,background .16s;display:flex;position:relative}.file-dropzone.active{border-color:var(--green);background:linear-gradient(135deg,#76fb9157,#ffffffc7 62%),#fff;box-shadow:0 18px 42px #76fb913d}.file-drop-copy{grid-template-columns:22px minmax(0,1fr);align-items:center;gap:7px 10px;display:grid}.file-drop-copy svg{color:var(--ink);grid-row:span 3}.file-drop-copy span{color:#0000008a;font-size:11px;font-weight:720;line-height:1.2}.file-drop-copy strong{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:780;line-height:1.25;overflow:hidden}.file-drop-copy small{color:#00000085;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:11px;font-weight:650;line-height:1.25;overflow:hidden}.file-actions-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.native-media-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.native-media-button{border:1px solid var(--ink);border-color:var(--ink);background:var(--ink);color:#fff;min-height:38px;font:inherit;text-align:center;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 8px;font-size:12px;font-weight:760;line-height:1;display:inline-flex;position:relative;overflow:hidden}.native-media-button input{opacity:0;cursor:pointer;position:absolute;inset:0}.native-media-button span{text-overflow:ellipsis;white-space:nowrap;align-items:center;min-width:0;display:inline-flex;overflow:hidden}.native-media-button svg{flex:none}.native-media-button.recording{background:var(--green);color:var(--ink);border-color:#76fb91eb}.native-media-button.disabled{opacity:.42;cursor:not-allowed}.native-media-button.disabled input{cursor:not-allowed}.file-picker{cursor:pointer;border-radius:8px;min-height:38px;position:relative}.file-picker input{opacity:0;width:1px;height:1px;position:absolute}.file-picker span{background:var(--green);width:100%;min-height:38px;color:var(--ink);border-radius:8px;justify-content:center;align-items:center;padding:0 12px;font-size:11.5px;font-weight:760;display:inline-flex}.selected-file-list{flex-wrap:wrap;gap:7px;margin-top:-2px;display:flex}.selected-file-list span,.selected-file-list button{color:#000000ad;background:#eee;border:0;border-radius:999px;max-width:100%;min-height:28px;padding:0 10px;font-size:11px;font-weight:700;line-height:28px}.selected-file-list span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.selected-file-list button{cursor:pointer;color:var(--ink);background:#76fb9185}.upload-progress{background:#f7fff8;border:1px solid #0000001f;border-radius:8px;gap:7px;padding:9px 10px;display:grid}.upload-progress>div{grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:2px 8px;min-width:0;display:grid}.upload-progress strong,.upload-progress span,.upload-progress small{font-size:11px;line-height:1.35}.upload-progress strong{font-weight:780}.upload-progress span{color:#00000094;text-overflow:ellipsis;white-space:nowrap;font-weight:680;overflow:hidden}.upload-progress small{color:#0000007a;grid-column:1/-1;font-weight:650}.upload-progress progress{width:100%;height:5px;accent-color:var(--green);border:0}.upload-progress.failed{background:#fff8f5;border-color:#c7462847}.upload-progress.failed progress{accent-color:#c74628}.permission-note{border-left:3px solid var(--green);color:#0000009e;margin:-2px 0 0;padding-left:9px;font-size:12px;font-weight:680;line-height:1.45}.transfer-list{overscroll-behavior:contain;flex-direction:column;flex:1;gap:10px;min-height:0;max-height:none;padding-right:4px;display:flex;overflow:auto}.transfer-row{border:1px solid var(--line);background:#fff;border-radius:8px;padding:13px}.transfer-title{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px;display:flex}.transfer-title strong{color:var(--ink);overflow-wrap:anywhere;font-size:13px;font-weight:720}.badge,.time-chip{white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:4px 8px;font-size:10px;font-weight:760;display:inline-flex}.badge.pending{color:#000;background:#ededed}.badge.accepted,.badge.direct{color:#000;background:var(--green)}.badge.completed,.badge.expired{color:#5f5f5f;background:#eee}.badge.rejected{color:#fff;background:#000}.transfer-row p,.transfer-row small{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.transfer-actions{justify-content:flex-start;margin-top:12px}.ghost{color:var(--ink);border-color:var(--line-strong);background:#fff}.ghost:hover{background:#ededed}.danger{color:var(--ink)}.download-link,.accept-link{background:var(--ink);border-color:var(--ink);color:#fff}.time-chip{color:var(--muted);background:#f4f4f4}.soft-empty{min-height:112px;color:var(--muted);text-align:center;background:#fafafa;border:1px dashed #ccc;border-radius:8px;place-items:center;padding:16px;font-size:13px;line-height:1.5;display:grid}.soft-empty.compact{min-height:86px}.registration-panel{background:linear-gradient(135deg,#76fb911f,#0000 38%),#fff;flex:1;place-items:center;min-height:0;padding:24px;display:grid;overflow:auto}.registration-card{border:1px solid var(--line);background:#fff;border-radius:8px;width:min(520px,100%);padding:24px;box-shadow:0 26px 70px #00000014}.section-kicker{color:#00000085;font-size:10.5px;font-weight:760;line-height:1.4;display:block}.registration-card h3,.admin-header h3{color:var(--ink);margin:6px 0 8px;font-size:28px;font-weight:760;line-height:1.05}.registration-card p,.admin-header p{color:var(--muted);margin:0;font-size:13px;font-weight:640;line-height:1.55}.registration-tabs{border:1px solid var(--line);background:#f4f4f4;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:18px;padding:4px;display:grid}.registration-tabs button{min-height:34px;color:var(--muted);background:0 0;border:0;border-radius:6px;font-size:11px;font-weight:760}.registration-tabs button.active{color:#fff;background:var(--ink)}.registration-form{gap:12px;margin-top:18px;display:grid}.registration-form label{gap:7px;display:grid}.registration-form label span{color:#0000009e;font-size:11px;font-weight:760}.registration-status{background:linear-gradient(135deg,#76fb918f,#fffc);border:1px solid #0000001f;border-radius:8px;margin-top:18px;padding:16px}.registration-status.compact{margin-top:10px;padding:12px}.registration-status.compact strong{font-size:14px}.registration-status.rejected{background:#f2f2f2}.registration-status strong,.registration-status small{display:block}.registration-status strong{color:var(--ink);font-size:17px;font-weight:760}.registration-status small{color:var(--muted);margin-top:6px;font-size:12px;font-weight:680;line-height:1.45}.status-actions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.admin-overlay{z-index:30;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#00000052;justify-content:flex-end;display:flex;position:fixed;inset:0}.admin-drawer{background:#fff;border-left:1px solid #0000001f;width:min(760px,100vw);height:100%;padding:22px;overflow:auto;box-shadow:-28px 0 70px #0000002e}.update-card{background:#fff;border-left:1px solid #0000001f;width:min(560px,100vw);height:100%;padding:22px;overflow:auto;box-shadow:-28px 0 70px #0000002e}.admin-header{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px;padding-bottom:16px;display:grid}.admin-header-actions{align-items:center;gap:8px;display:flex}.update-body{gap:14px;margin-top:16px;display:grid}.client-version-card{color:var(--ink);background:linear-gradient(135deg, var(--green), #ffffffd1), #fff;border:1px solid #0000001f;border-radius:8px;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:12px;padding:16px;display:grid}.client-version-card>svg{background:#fff9;border-radius:8px;width:44px;height:44px;padding:10px}.client-version-card strong,.client-version-card small{display:block}.client-version-card strong{color:var(--ink);font-size:17px;font-weight:780;line-height:1.2}.client-version-card small{color:#0000009e;margin-top:4px;font-size:12px;font-weight:680;line-height:1.45}.admin-metrics{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:16px 0;display:grid}.metric{border:1px solid var(--line);background:linear-gradient(135deg,#76fb912e,#0000 58%),#fafafa;border-radius:8px;padding:12px}.metric span,.metric strong{display:block}.metric span{color:var(--muted);font-size:10.5px;font-weight:760}.metric strong{color:var(--ink);margin-top:8px;font-size:24px;font-weight:780;line-height:1}.admin-section{margin-top:16px}.admin-list,.admin-device-grid{gap:8px;display:grid}.admin-row,.admin-device{border:1px solid var(--line);background:#fff;border-radius:8px;padding:12px}.admin-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.admin-row.muted{background:#fafafa}.admin-row strong,.admin-device strong{color:var(--ink);font-size:13px;font-weight:760;line-height:1.3;display:block}.admin-row small,.admin-device small{color:var(--muted);margin-top:4px;font-size:11px;font-weight:640;line-height:1.4;display:block}.admin-row-actions{gap:8px;display:flex}.admin-device-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-device{grid-template-columns:8px minmax(0,1fr);align-items:center;gap:10px;display:grid}.toast{z-index:20;background:var(--ink);color:#fff;max-width:min(340px,100vw - 48px);height:auto;padding:12px 14px;position:fixed;bottom:24px;right:24px}.app-shell.factory-shell{height:100dvh;min-height:100dvh;display:block;overflow:auto}.app-shell.assessment-shell{background:#eef0ea;padding:0;display:block;overflow:auto}.app-shell.assessment-shell:before{display:none}.app-shell.factory-shell:before{inset:16px}.factory-page{z-index:1;background:radial-gradient(circle at 18% 8%,#76fb9142,#0000 30%),linear-gradient(135deg,#fff 0%,#fbfffc 44%,#f0f0f0 100%);border:1px solid #ffffffa8;grid-template-rows:auto auto minmax(0,1fr);gap:14px;min-height:calc(100dvh - 32px);padding:24px;display:grid;position:relative}.factory-hero{grid-template-columns:minmax(0,1fr) minmax(260px,380px);align-items:end;gap:18px;display:grid}.factory-title-block h2{color:var(--ink);margin:8px 0 10px;font-size:clamp(44px,6vw,86px);font-weight:820;line-height:.9}.factory-title-block p{max-width:680px;color:var(--muted);margin:0;font-size:14px;font-weight:660;line-height:1.65}.factory-back{width:fit-content;min-height:38px;color:var(--ink);border:1px solid var(--line-strong);background:#fff;border-radius:8px;align-items:center;gap:7px;margin-bottom:18px;padding:0 13px;font-size:12px;font-weight:760;text-decoration:none;display:inline-flex}.factory-identity{background:linear-gradient(135deg, var(--green), #fffc), #fff;border:1px solid #0000001f;border-radius:8px;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:12px;padding:16px;display:grid;box-shadow:0 24px 58px #76fb9138}.factory-identity>svg{background:#ffffff94;border-radius:8px;width:46px;height:46px;padding:11px}.factory-identity span,.factory-identity small,.factory-metric small,.factory-update small{color:#00000094;font-size:10.5px;font-weight:760;line-height:1.4;display:block}.factory-identity strong{color:var(--ink);margin:4px 0;font-size:16px;font-weight:780;line-height:1.2;display:block}.factory-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.factory-metric{border:1px solid var(--line);background:#ffffffd6;border-radius:8px;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;min-height:78px;padding:13px;display:grid}.factory-metric>span{width:42px;height:42px;color:var(--ink);background:#ededed;border-radius:8px;place-items:center;display:grid}.factory-metric.hot>span{background:var(--green)}.factory-metric strong{color:var(--ink);margin-top:4px;font-size:26px;font-weight:820;line-height:1;display:block}.factory-grid{grid-template-columns:minmax(320px,420px) minmax(0,1fr);gap:14px;min-height:0;display:grid}.factory-form,.factory-feed{border:1px solid var(--line);background:#ffffffe0;border-radius:8px;min-height:0;padding:16px;overflow:hidden}.factory-form{flex-direction:column;gap:10px;display:flex}.factory-form label{gap:6px;display:grid}.factory-form label span{color:#0000009e;font-size:11px;font-weight:760;line-height:1.25}.factory-form input[type=range]{accent-color:var(--green);background:0 0;border-color:#0000;padding:0}.factory-form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.factory-form-actions{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.factory-warning{border-left:3px solid var(--green);color:var(--ink);background:#f4f4f4;padding:10px 12px;font-size:12px;font-weight:720;line-height:1.45}.factory-feed{flex-direction:column;display:flex}.factory-update-list{flex:1;align-content:start;gap:10px;min-height:0;padding-right:4px;display:grid;overflow:auto}.factory-update{border:1px solid var(--line);background:#fff;border-radius:8px;padding:14px}.factory-update.urgent,.factory-update.blocked{background:linear-gradient(135deg,#76fb912e,#0000 58%),#fff;border-color:#00000038}.factory-update header,.factory-update-meta{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.factory-update strong{color:var(--ink);font-size:16px;font-weight:780;line-height:1.25;display:block}.factory-status{color:var(--ink);white-space:nowrap;background:#ededed;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:820;line-height:1}.factory-status.urgent,.factory-status.blocked{background:var(--green)}.factory-status.done{color:#fff;background:var(--ink)}.factory-progress-line{background:#ededed;border-radius:999px;height:8px;margin:12px 0 9px;overflow:hidden}.factory-progress-line span{border-radius:inherit;background:var(--green);min-width:4px;height:100%;display:block}.factory-update-meta{color:var(--muted);font-size:11px;font-weight:720;line-height:1.4}.factory-update p{color:#000000b8;white-space:pre-wrap;margin:10px 0 0;font-size:13px;line-height:1.55}@media (width<=1160px){.app-shell{grid-template-columns:288px minmax(0,1fr);padding:18px}.app-shell:before{inset:18px}.topbar{grid-template-columns:1fr}.top-actions{justify-content:flex-start}.main-grid{grid-template-columns:1fr}.transfer-panel{border-left:0;border-top:1px solid var(--line)}.message-list,.transfer-list{height:auto;max-height:none}}@media (width<=780px){.app-shell.download-shell{background:#ededed;min-height:100dvh;padding:10px;display:block;overflow:auto}.download-shell .download-landing{grid-template-columns:1fr;align-items:start;gap:16px;min-height:calc(100dvh - 20px);padding:22px}.download-hero h2{font-size:clamp(38px,12vw,64px)}.download-actions{grid-template-columns:1fr;display:grid}.download-actions>*,.primary-download,.link-button{width:100%}.app-shell.factory-shell{background:#ededed;height:100dvh;min-height:100dvh;padding:10px;display:block;overflow:auto}.factory-page{grid-template-rows:auto auto auto;gap:10px;min-height:calc(100dvh - 20px);padding:14px}.factory-hero,.factory-grid{grid-template-columns:1fr}.factory-title-block h2{font-size:clamp(42px,15vw,64px)}.factory-title-block p{font-size:13px}.factory-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.factory-metric{grid-template-columns:34px minmax(0,1fr);min-height:68px;padding:10px}.factory-metric>span{width:34px;height:34px}.factory-metric strong{font-size:21px}.factory-form,.factory-feed{padding:12px;overflow:visible}.factory-form-row,.factory-form-actions{grid-template-columns:1fr}.factory-update-list{padding-right:0;overflow:visible}.app-shell{background:#fff;flex-direction:column;min-height:100dvh;padding:0;display:flex}.app-shell:before{content:none}.app-shell:not(.mobile-panel-open) .workspace,.app-shell.mobile-panel-open .sidebar{display:none}.sidebar{min-height:100dvh;box-shadow:none;border-right:0;padding:10px 12px 12px}.app-shell.native-shell .sidebar{padding-top:calc(26px + env(safe-area-inset-top))}.brand{grid-template-columns:34px minmax(0,1fr);gap:10px;min-height:44px;margin-bottom:8px;padding-bottom:9px}.brand-mark{width:34px;height:34px;box-shadow:8px 8px 20px #76fb9138}.brand h1{font-size:17px;line-height:1.05}.brand p{display:none}.identity-card{grid-template-columns:auto minmax(0,1fr);align-items:baseline;column-gap:8px;margin-bottom:8px;padding:8px 10px;display:grid}.identity-card strong{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:12px;overflow:hidden}.identity-card span{font-size:9px}.identity-card small{display:none}.sidebar-client-button{color:#fff;background:var(--ink);border-color:var(--ink);width:100%;min-height:34px;margin:-1px 0 8px;font-size:12px;display:inline-flex}.search-box{margin-bottom:8px}.search-box input{height:38px;font-size:16px}.search-box svg{top:11px}.device-list{scroll-snap-type:none;-webkit-overflow-scrolling:touch;flex-direction:column;gap:5px;max-height:calc(100dvh - 156px);padding:0 1px 8px;overflow:hidden auto}.device-list::-webkit-scrollbar{display:none}.device-row{border-color:var(--line);scroll-snap-align:none;background:#fff;flex:none;grid-template-columns:7px 30px minmax(0,1fr) 32px;gap:8px;width:100%;min-height:50px;padding:7px 9px}.device-row:hover{transform:none}.device-row strong{font-size:13px}.device-row small{margin-top:2px;font-size:10px}.device-icon{width:30px;height:30px}.pin-button{width:32px;height:32px}.workspace{height:100dvh;min-height:100dvh;padding-bottom:env(safe-area-inset-bottom);flex-direction:column;display:flex;overflow:hidden}.topbar{flex:none;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;min-height:0;padding:10px 12px}.app-shell.native-shell .topbar{padding-top:calc(26px + env(safe-area-inset-top))}.mobile-back-button{min-height:34px;color:var(--ink);border-color:var(--line-strong);background:#fff;padding:0 9px;font-size:12px;display:inline-flex}.contact-head{grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px}.avatar{width:34px;height:34px;font-size:17px}.topline,.topnote{display:none}.topbar h2{white-space:nowrap;text-overflow:ellipsis;max-width:calc(100vw - 142px);margin:0;font-size:20px;line-height:1.05;overflow:hidden}.insight-card{display:none}.top-actions{justify-content:flex-end}.top-actions .client-button,.top-actions .admin-button{display:none}.top-actions .wake-button{min-height:36px;padding:0 10px;font-size:11px}.icon-button{width:36px;height:36px;min-height:36px}.mobile-section-tabs{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fffffff5;flex:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px 12px;display:grid}.mobile-section-tabs button{border-color:var(--line-strong);color:#000000ad;background:#f3f3f3;min-height:34px;font-size:12px}.mobile-section-tabs button.active{border-color:var(--ink);background:var(--ink);color:#fff}.main-grid{flex:1;min-height:0;display:block;overflow:hidden}.main-grid.mobile-section-chat .transfer-panel,.main-grid.mobile-section-files .conversation-panel{display:none}.conversation-panel,.transfer-panel{height:100%;padding:10px 12px}.conversation-panel{flex-direction:column;min-height:0;display:flex;overflow:hidden}.panel-heading{flex:none;margin-bottom:8px;font-size:11px}.message-list{-webkit-overflow-scrolling:touch;flex:1;height:auto;min-height:0;padding-right:0}.message{max-width:88%;padding:12px 13px}.composer{z-index:4;padding:10px 12px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff0;flex:none;grid-template-columns:minmax(0,1fr) 70px;gap:8px;margin:0 -12px -12px;position:static}.composer input{height:44px;font-size:16px}.composer button{min-height:44px;padding:0 12px}.transfer-panel{padding-bottom:calc(14px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch;overflow:auto}.file-picker{min-height:58px}.file-picker strong,textarea{font-size:16px}.transfer-list{padding-right:0}.transfer-row{padding:12px}.registration-panel{place-items:start center;padding:14px}.registration-card{box-shadow:none;padding:16px}.registration-card h3,.admin-header h3{font-size:24px}.registration-card p,.admin-header p{font-size:12px}.registration-form{gap:10px;margin-top:14px}.registration-form textarea{min-height:72px}.admin-drawer,.update-card{width:100vw;padding:16px}.admin-header,.admin-row{grid-template-columns:minmax(0,1fr)}.admin-header-actions,.admin-row-actions{justify-content:flex-start}.admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-device-grid{grid-template-columns:1fr}.toast{right:14px;bottom:calc(14px + env(safe-area-inset-bottom));max-width:calc(100vw - 28px)}}@media (width<=560px){.brand{grid-template-columns:34px minmax(0,1fr)}.brand-mark{width:34px;height:34px}.brand h1{font-size:16px}.device-row{min-height:49px}.topbar{grid-template-columns:auto minmax(0,1fr) auto}.top-actions{position:static}.topbar h2{max-width:calc(100vw - 142px);font-size:19px}.composer{grid-template-columns:minmax(0,1fr) 68px}.message{max-width:94%}.transfer-title{grid-template-columns:minmax(0,1fr) auto;display:grid}.transfer-actions{gap:7px}.transfer-actions .download-link,.transfer-actions button{min-height:38px;padding:0 11px}}.batch-group{border:1px solid var(--line);background:#fff;border-radius:8px;flex-direction:column;gap:8px;padding:8px;display:flex}.batch-group>.transfer-row{background:0 0;border:0;padding:0}.batch-download-link{align-self:flex-start;min-height:32px;padding:0 10px;font-size:11.5px}.batch-pending-note{color:var(--muted);letter-spacing:0;align-self:flex-start;font-size:11.5px;font-weight:700}.designer-summary{max-width:1540px;margin:0 auto 24px}.designer-summary>header{justify-content:space-between;align-items:end;margin-bottom:9px;padding:0 2px;display:flex}.designer-summary>header span{font-size:17px;font-weight:800}.designer-summary>header small{color:var(--a-muted);margin-left:10px}.summary-rule{color:var(--a-muted);font-size:9px}.summary-rule i{background:var(--a-dark);width:16px;height:2px;margin:0 4px 2px 10px;display:inline-block}.designer-summary-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;display:grid}.designer-summary-grid>button{text-align:left;min-height:110px;color:var(--a-ink);border:1px solid var(--a-line);background:#fbfcf8eb;border-radius:2px;padding:15px;display:block;position:relative}.designer-summary-grid>button:hover,.designer-summary-grid>button.active{border-color:var(--a-dark);box-shadow:inset 0 -3px 0 var(--a-green)}.designer-rank{color:#a7aea8;font-family:monospace;font-size:10px;position:absolute;top:13px;right:14px}.designer-summary-grid strong{font-family:Songti SC,serif;font-size:21px;display:block}.designer-summary-grid small{color:var(--a-muted);margin:3px 0 13px;font-size:9px;display:block}.designer-summary-grid>button>div{grid-template-columns:auto 1fr auto 1fr;align-items:end;gap:5px;display:grid}.designer-summary-grid b{font-size:17px}.designer-summary-grid em{color:var(--a-muted);font-size:8px;font-style:normal}.review-inbox{border:1px solid var(--a-line);background:#e6ebe3;max-width:1540px;margin:9px auto 0;padding:14px 16px}.review-inbox.has-items{background:#fff4cf;border-color:#e1c562}.review-inbox>header,.review-inbox>header>div{justify-content:space-between;align-items:center;gap:10px;display:flex}.review-inbox>header>div{justify-content:flex-start}.review-inbox>header span{display:grid}.review-inbox>header strong{font-size:12px}.review-inbox>header small,.review-inbox>p{color:var(--a-muted);font-size:9px}.review-inbox>header b{color:#fff;background:var(--a-dark);padding:5px 9px;font-size:10px}.review-inbox>p{margin:10px 0 0 28px}.review-inbox-list{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:6px;margin-top:12px;display:grid}.review-inbox-list>button{text-align:left;min-height:90px;color:var(--a-ink);background:#ffffffb8;border:1px solid #5e4a0a29;border-radius:2px;padding:12px;display:grid;position:relative}.review-inbox-list>button>span{color:#796317;font-size:9px;font-weight:800}.review-inbox-list>button>strong{margin:3px 0;padding-right:64px;font-size:12px}.review-inbox-list>button>small{color:var(--a-muted);font-size:9px}.review-inbox-list>button>i{color:#5e4c0d;font-size:8px;font-style:normal;font-weight:800;position:absolute;top:10px;right:10px}.review-inbox-list>button:hover{border-color:var(--a-dark);transform:translateY(-1px)}.panel-title{align-items:flex-start;gap:9px;display:flex}.panel-title>div{gap:2px;display:grid}.panel-title strong{font-size:12px}.panel-title span{color:var(--a-muted);font-size:9px;line-height:1.5}.stage-upload-panel,.submission-history,.manual-review-panel{border:1px solid var(--a-line);background:#edf1ea;margin-top:14px;padding:16px}.stage-upload-panel{background:#edf5e2;border-color:#c9d9b8}.file-drop{text-align:center;color:#415237;cursor:pointer;background:#ffffffa6;border:1px dashed #93ad75;place-items:center;min-height:100px;padding:18px;position:relative;gap:3px!important;margin:13px 0!important;display:grid!important}.file-drop input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.file-drop strong{font-size:12px}.file-drop small{overflow-wrap:anywhere;color:#6d7a68;max-width:530px;font-size:9px;line-height:1.45}.file-drop:hover{color:var(--a-ink);background:#fff;border-color:#5f7d3c}.upload-submit{color:#fff;background:var(--a-dark);border:1px solid var(--a-dark);border-radius:2px;justify-content:center;align-items:center;gap:7px;min-height:42px;padding:0 16px;font-size:11px;font-weight:800;display:inline-flex}.submission-history{gap:8px;display:grid}.submission-empty{text-align:center;color:var(--a-muted);background:#ffffff8c;border:1px dashed #c4cbc2;padding:24px;font-size:10px}.submission-card{border:1px solid var(--a-line);background:#fff;border-left:4px solid #dfbd4b;padding:13px}.submission-card.approved{border-left-color:#67a76e}.submission-card.rejected{border-left-color:#c55c48}.submission-card>header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.submission-card>header>div{grid-template-columns:auto 1fr;align-items:center;gap:2px 8px;display:grid}.submission-card>header span{color:#fff;background:var(--a-dark);grid-row:1/3;place-items:center;width:32px;height:32px;font-size:10px;font-weight:800;display:grid}.submission-card>header strong{font-size:11px}.submission-card>header small{color:var(--a-muted);font-size:8px}.submission-card>header>b{color:#705b12;background:#fff0b7;padding:4px 7px;font-size:8px}.submission-card.approved>header>b{color:#37633b;background:#e3f0df}.submission-card.rejected>header>b{color:#813c2e;background:#f7dfda}.submission-card>p{color:#59625c;margin:9px 0;font-size:10px;line-height:1.55}.submission-files{gap:4px;display:grid}.submission-files>button{text-align:left;width:100%;min-height:42px;color:var(--a-ink);background:#f5f7f3;border:1px solid #e4e8e1;border-radius:2px;grid-template-columns:20px minmax(0,1fr) 18px;align-items:center;gap:7px;padding:7px 9px;display:grid}.submission-files>button span{min-width:0;display:grid}.submission-files>button strong{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.submission-files>button small{color:var(--a-muted);font-size:8px}.submission-files>button:hover{border-color:#7d8c80}.review-result{background:#f0f4ed;gap:3px;margin-top:9px;padding:10px;display:grid}.review-result strong{font-size:10px}.review-result span{color:#526054;font-size:10px;line-height:1.5}.review-result small{color:var(--a-muted);font-size:8px}.submission-review{border-top:1px solid var(--a-line);margin-top:10px;padding-top:10px}.submission-review>div{justify-content:flex-end;gap:6px;display:flex}.submission-review>div button{border-radius:2px;align-items:center;gap:5px;min-height:38px;padding:0 13px;font-size:10px;font-weight:800;display:inline-flex}.submission-review .reject{color:#8b3c2d;background:#fff;border:1px solid #d9a79d}.submission-review .approve{color:#20321e;background:var(--a-green);border:1px solid #94c834}.stage-cell.has-pending{box-shadow:inset 0 3px #e1bc3e}.designer-change{color:#587237;border-top:1px solid var(--a-line);margin-top:10px;padding-top:8px;font-size:9px;font-weight:800;display:block!important}.success-banner{color:#f4f8ef;background:#1f2f27;grid-template-columns:128px minmax(0,1fr) auto;align-items:center;gap:25px;max-width:1540px;margin:10px auto 0;padding:24px 28px;display:grid}.success-score-ring{--score:0;text-align:center;background:radial-gradient(circle at center, #1f2f27 57%, transparent 59%), conic-gradient(var(--a-green) calc(var(--score) * 1%), #405047 0);border-radius:50%;place-content:center;width:106px;height:106px;display:grid}.success-score-ring strong{font-size:34px;line-height:1}.success-score-ring span{color:#aeb9b1;letter-spacing:.15em;margin-top:4px;font-size:8px}.success-banner h2{max-width:850px;margin:6px 0 7px;font-family:Songti SC,serif;font-size:clamp(21px,2.6vw,35px);line-height:1.25}.success-banner p{color:#aeb9b1;max-width:900px;margin:0;font-size:11px;line-height:1.65}.success-banner-stats{gap:24px;display:flex}.success-banner-stats span{color:#aeb9b1;font-size:9px;display:grid}.success-banner-stats b{color:#fff;font-size:25px}.success-gallery{background:#f2d96d;border:1px solid #d7bd4f;max-width:1540px;margin:9px auto 0;padding:16px}.success-gallery>header{align-items:center;gap:9px;margin-bottom:12px;display:flex}.success-gallery>header strong{font-size:13px;display:block}.success-gallery>header span{color:#675813;font-size:9px}.success-gallery>div{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:7px;display:grid}.success-gallery article{background:#ffffffa6;border:1px solid #62500626;padding:13px}.success-gallery article>span{color:#72601a;font-size:9px;font-weight:800}.success-gallery article strong{margin:4px 0;font-family:Songti SC,serif;font-size:18px;display:block}.success-gallery article p{color:#51460f;margin:0 0 7px;font-size:10px;line-height:1.55}.success-gallery article small{color:#77661c;font-size:8px}.project-title-line{align-items:center;gap:7px;display:flex}.project-title-line i{color:#455732;background:#e8f3d8;align-items:center;gap:3px;padding:3px 6px;font-size:8px;font-style:normal;font-weight:800;display:inline-flex}.project-title-line i.star{color:#503e09;background:#f2d96d}.project-summary .success b{color:#5d8528}.outcome-button{min-height:34px;color:var(--a-ink);border:1px solid var(--a-line);background:#eef2e9;border-radius:2px;align-items:center;gap:5px;padding:0 10px;font-size:10px;font-weight:800;display:inline-flex}.success-definition{color:#53614f;border-top:1px solid var(--a-line);background:#f1f5eb;align-items:flex-start;gap:8px;padding:9px 18px;font-size:10px;display:flex}.success-definition svg{flex:none}.success-definition b{color:var(--a-ink);margin-right:8px}.success-highlight{color:#59742f;justify-content:flex-end;align-items:center;gap:5px;font-weight:800;display:inline-flex}.stage-standard ul{grid-template-columns:repeat(3,1fr);gap:5px;margin:10px 0 0;padding:0;list-style:none;display:grid}.stage-standard li{background:#ffffff8a;align-items:center;gap:4px;padding:6px;font-size:9px;display:flex}.review-history{align-items:center;gap:4px;display:flex;color:#55703a!important}.outcome-scoreboard{grid-template-columns:repeat(4,1fr);gap:5px;margin-bottom:18px;display:grid}.outcome-scoreboard span{color:var(--a-muted);background:#e9ede6;padding:12px;font-size:9px;display:grid}.outcome-scoreboard b{color:var(--a-ink);font-size:24px}.outcome-actions{flex-wrap:wrap}.dialog-actions .approve{color:var(--a-ink);background:var(--a-green);border-color:#95c932}.dialog-actions .star-approve{color:#2f270c;background:#f0d35f;border-color:#d2b744}.assessment-page{--a-ink:#17231d;--a-muted:#6f7872;--a-paper:#fbfcf8;--a-line:#dfe4dc;--a-green:#b8f24b;--a-dark:#1f2f27;min-height:100dvh;color:var(--a-ink);background-color:#eef0ea;background-image:linear-gradient(#17231d09 1px,#0000 1px),linear-gradient(90deg,#17231d09 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:32px 32px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;padding:clamp(18px,3vw,42px);font-family:Avenir Next,PingFang SC,Microsoft YaHei,sans-serif;overflow:auto}.assessment-header{border-bottom:1px solid #17231d2e;justify-content:space-between;gap:32px;max-width:1540px;margin:auto;padding:0 0 30px;display:flex}.assessment-back{color:var(--a-ink);align-items:center;gap:7px;margin-bottom:32px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.assessment-kicker{color:#55703a;letter-spacing:.16em;font-size:11px;font-weight:800;display:block}.assessment-header h1{letter-spacing:-.04em;margin:8px 0 10px;font-family:Songti SC,STSong,serif;font-size:clamp(38px,5vw,70px);font-weight:700;line-height:.98}.assessment-header>div:first-child p{max-width:660px;color:var(--a-muted);margin:0;font-size:14px;line-height:1.8}.assessment-identity{color:#f6f8f3;background:var(--a-dark);border-radius:2px;align-self:flex-end;min-width:310px;padding:20px 22px;box-shadow:12px 12px #1f2f2717}.assessment-identity span,.assessment-identity small{color:#bec8c0;font-size:11px;display:block}.assessment-identity strong{margin:9px 0 6px;font-size:15px;display:block}.assessment-toolbar{grid-template-columns:170px minmax(220px,1fr) 190px auto auto auto;gap:9px;max-width:1540px;margin:22px auto 0;display:grid}.assessment-toolbar label,.assessment-search{border:1px solid var(--a-line);background:#fbfcf8e0;align-items:center;gap:9px;height:46px;padding:0 13px;display:flex}.assessment-toolbar label span{white-space:nowrap;color:var(--a-muted);font-size:10px;font-weight:800}.assessment-toolbar input,.assessment-toolbar select{min-width:0;height:42px;box-shadow:none;background:0 0;border:0;padding:0}.assessment-toolbar button{border:1px solid var(--a-dark);border-radius:2px;justify-content:center;align-items:center;gap:7px;height:46px;padding:0 16px;font-weight:800;display:flex}.assessment-refresh{color:var(--a-ink);background:0 0}.assessment-export{color:var(--a-ink);background:#f8faf5}.assessment-create{color:#fff;background:var(--a-dark)}.assessment-create:hover{color:var(--a-ink);background:var(--a-green)}.assessment-metrics{grid-template-columns:repeat(4,1fr);gap:9px;max-width:1540px;margin:13px auto 0;display:grid}.assessment-metric{border:1px solid var(--a-line);background:#fbfcf8eb;grid-template-columns:42px 1fr;align-items:start;gap:14px;padding:20px;display:grid}.assessment-metric>span{background:#e8ece5;border-radius:50%;place-items:center;width:42px;height:42px;display:grid}.assessment-metric svg{width:19px}.assessment-metric small,.assessment-metric p{color:var(--a-muted);margin:0;font-size:11px}.assessment-metric strong{margin:2px 0 3px;font-family:Avenir Next Condensed,Avenir Next,sans-serif;font-size:31px;line-height:1;display:block}.assessment-metric.emphasis{background:var(--a-green);border-color:#9bcf37}.assessment-metric.emphasis>span{background:#ffffff8c}.assessment-metric.emphasis small,.assessment-metric.emphasis p{color:#405321}.assessment-metric.warning strong{color:#b44f37}.method-strip{border:1px solid var(--a-line);background:#e3e7df;grid-template-columns:repeat(3,1fr);max-width:1540px;margin:9px auto 24px;display:grid}.method-strip>div{border-right:1px solid #cdd3ca;grid-template-columns:24px auto 1fr;align-items:center;gap:9px;padding:12px 16px;display:grid}.method-strip>div:last-child{border:0}.method-strip strong{font-size:12px}.method-strip span{color:var(--a-muted);font-size:11px}.assessment-list-head{justify-content:space-between;align-items:end;max-width:1540px;margin:auto;padding:0 2px 10px;display:flex}.assessment-list-head>div:first-child span{font-size:17px;font-weight:800}.assessment-list-head small{color:var(--a-muted);margin-left:10px}.stage-legend{color:var(--a-muted);align-items:center;gap:7px;font-size:10px;display:flex}.stage-legend i{background:#ced3cd;border-radius:50%;width:8px;height:8px;margin-left:6px}.stage-legend .working{background:#e1c25d}.stage-legend .review{background:#7ca6d8}.stage-legend .passed{background:#63a66d}.assessment-projects{gap:10px;max-width:1540px;margin:auto;padding-bottom:50px;display:grid}.assessment-project{background:var(--a-paper);border:1px solid var(--a-line);overflow:hidden;box-shadow:0 10px 32px #17231d0a}.assessment-project.status-attention{border-left:4px solid #e5b83f}.assessment-project.status-blocked{border-left:4px solid #c95b42}.assessment-project>header{justify-content:space-between;align-items:center;gap:20px;padding:17px 18px 15px;display:flex}.project-owner{align-items:center;gap:12px;display:flex}.project-owner>span{color:#fff;background:var(--a-dark);border-radius:50%;place-items:center;width:36px;height:36px;font-family:Songti SC,serif;display:grid}.project-owner strong{font-size:16px;display:block}.project-owner small{color:var(--a-muted);margin-top:4px;font-size:10px;display:block}.project-summary{align-items:center;gap:20px;display:flex}.project-summary>span{color:var(--a-muted);text-transform:uppercase;font-size:9px;display:grid}.project-summary b{color:var(--a-ink);font-size:19px}.project-summary label{position:relative}.project-summary select{border-color:var(--a-line);appearance:none;height:34px;padding:0 30px 0 11px;font-size:11px}.project-summary label svg{pointer-events:none;position:absolute;top:10px;right:9px}.project-progress{background:#edf0eb;height:3px}.project-progress span{background:var(--a-green);height:100%;transition:width .35s;display:block}.stage-grid{border-top:1px solid var(--a-line);border-bottom:1px solid var(--a-line);grid-template-columns:repeat(8,1fr);display:grid}.stage-cell{text-align:left;min-width:0;min-height:116px;color:var(--a-ink);border:0;border-right:1px solid var(--a-line);background:#fbfcf8;border-radius:0;padding:13px;transition:background .16s,transform .16s}.stage-cell:last-child{border-right:0}.stage-cell:hover{z-index:1;background:#f1f5eb;position:relative;transform:translateY(-2px)}.stage-cell.progress-100{background:#f0f7e7}.stage-cell.progress-75{background:#eef4fa}.stage-cell.progress-50,.stage-cell.progress-25{background:#fbf7e8}.stage-index{color:#a3aaa5;font-family:monospace;font-size:9px;display:block}.stage-cell strong{margin:10px 0 3px;font-size:12px;display:block}.stage-cell small{color:var(--a-muted);font-size:10px}.stage-score{align-items:center;gap:3px;margin-top:13px;display:flex}.stage-score i{background:#d5dad4;border-radius:50%;width:6px;height:6px}.stage-score i.on{background:#79a933}.stage-score b{margin-left:4px;font-size:9px}.stage-score em{color:#a0a7a1;font-size:9px;font-style:normal}.assessment-project>footer{color:var(--a-muted);justify-content:space-between;gap:20px;padding:10px 18px;font-size:9px;display:flex}.assessment-project>footer p{text-align:right;max-width:58%;margin:0}.assessment-empty{text-align:center;color:var(--a-muted);background:#fbfcf8bf;border:1px dashed #bfc7be;padding:70px 20px}.assessment-overlay{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f19149e;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.assessment-dialog{background:#f8faf5;border:1px solid #ffffff80;width:min(680px,100%);max-height:calc(100dvh - 40px);padding:27px;overflow:auto;box-shadow:0 36px 100px #00000040}.assessment-dialog>header{border-bottom:1px solid var(--a-line);justify-content:space-between;gap:20px;margin-bottom:22px;padding-bottom:18px;display:flex}.assessment-dialog header span{color:#62803b;letter-spacing:.14em;font-size:10px;font-weight:900}.assessment-dialog h2{margin:5px 0 0;font-family:Songti SC,serif;font-size:30px}.assessment-dialog header p{color:var(--a-muted);margin:4px 0 0;font-size:11px}.assessment-dialog header>button{border:1px solid var(--a-line);background:0 0;place-items:center;width:34px;height:34px;padding:0;display:grid}.assessment-dialog label{gap:7px;margin-bottom:15px;display:grid}.assessment-dialog label>span{font-size:11px;font-weight:800}.assessment-dialog label>span small{color:var(--a-muted);margin-left:8px;font-weight:500}.assessment-dialog input,.assessment-dialog textarea{background:#fff;border-radius:2px}.assessment-dialog textarea{min-height:90px}.dialog-grid{grid-template-columns:1fr 1fr;gap:0 12px;display:grid}.dialog-actions{justify-content:flex-end;gap:8px;margin-top:22px;display:flex}.dialog-actions button{color:#fff;background:var(--a-dark);border:1px solid var(--a-dark);border-radius:2px;align-items:center;gap:7px;height:42px;padding:0 18px;font-weight:800;display:flex}.dialog-actions .ghost{color:var(--a-ink);border-color:var(--a-line);background:0 0}.stage-standard{background:#eaf2df;border-left:3px solid #81b23e;gap:12px;margin-bottom:18px;padding:14px;display:flex}.stage-standard svg{flex:none;margin-top:2px}.stage-standard strong{font-size:11px}.stage-standard p{color:#53614f;margin:3px 0 0;font-size:12px;line-height:1.6}.progress-choice,.score-choice{grid-template-columns:repeat(5,1fr);gap:5px;display:grid}.progress-choice button,.score-choice button{min-height:62px;color:var(--a-ink);background:#eef1eb;border:1px solid #0000;border-radius:2px;place-items:center;gap:2px;padding:8px 4px;display:grid}.progress-choice button.active,.score-choice button.active{color:#fff;background:var(--a-dark);border-color:var(--a-dark)}.progress-choice b{font-size:13px}.progress-choice small,.score-choice span{font-size:9px}.score-choice b{font-family:Songti SC,serif;font-size:22px}.assessment-page button:focus-visible,.assessment-page input:focus-visible,.assessment-page textarea:focus-visible,.assessment-page select:focus-visible{outline-offset:2px;outline:2px solid #77a72e}@media (width<=1050px){.assessment-toolbar{grid-template-columns:160px 1fr 180px}.assessment-refresh,.assessment-export,.assessment-create{grid-row:2}.assessment-refresh{grid-column:1}.assessment-export{grid-column:2}.assessment-create{grid-column:3}.assessment-metrics{grid-template-columns:repeat(2,1fr)}.stage-grid{grid-template-columns:repeat(4,1fr)}.stage-cell:nth-child(4){border-right:0}.stage-cell:nth-child(-n+4){border-bottom:1px solid var(--a-line)}}@media (width<=700px){.assessment-page{padding:16px}.assessment-header{display:block}.assessment-header h1{font-size:42px}.assessment-identity{min-width:0;margin-top:22px}.assessment-toolbar{grid-template-columns:1fr 1fr}.assessment-search,.designer-filter{grid-column:1/3}.assessment-refresh,.assessment-export,.assessment-create{grid-row:auto}.assessment-create{grid-column:1/3}.success-banner{grid-template-columns:82px 1fr;padding:18px}.success-score-ring{width:72px;height:72px}.success-score-ring strong{font-size:24px}.success-banner-stats{grid-column:1/3;justify-content:space-between}.stage-standard ul{grid-template-columns:1fr}.outcome-scoreboard{grid-template-columns:repeat(2,1fr)}.review-inbox-list{grid-template-columns:1fr}.stage-upload-panel,.submission-history,.manual-review-panel{padding:12px}.submission-review>div{grid-template-columns:1fr 1fr;display:grid}.submission-review>div button{justify-content:center}.assessment-metrics{grid-template-columns:1fr 1fr}.method-strip{grid-template-columns:1fr}.method-strip>div{border-bottom:1px solid #cdd3ca;border-right:0}.stage-grid{grid-template-columns:repeat(2,1fr)}.stage-cell:nth-child(2n){border-right:0}.stage-cell:nth-child(-n+6){border-bottom:1px solid var(--a-line)}.assessment-project>header,.assessment-list-head{flex-direction:column;align-items:flex-start}.project-summary{justify-content:space-between;gap:8px;width:100%}.stage-legend{display:none}.assessment-project>footer{display:block}.assessment-project>footer p{text-align:left;max-width:none;margin-top:5px}.dialog-grid{grid-template-columns:1fr}.assessment-dialog{padding:20px}.progress-choice,.score-choice{grid-template-columns:repeat(5,minmax(48px,1fr));overflow:auto}}
