:root{color-scheme:light;--ink: #172033;--muted: #667085;--line: #d9e1ec;--panel: #ffffff;--page: #f4f7fb;--primary: #1677ff;--brand-gold: #ffb000;--brand-orange: #f47a20;--green: #0f8f5f;--yellow: #9a6a00;--purple: #7751d8}*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--ink);background:var(--page);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button{height:36px;border:1px solid var(--line);border-radius:6px;padding:0 14px;background:#fff;color:var(--ink);font:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.65}.login-page{display:grid;min-height:100vh;place-items:center;padding:24px;background:linear-gradient(135deg,#1677ff1a,#31c48d1a),var(--page)}.login-panel{width:min(560px,100%);border:1px solid var(--line);border-radius:8px;background:#fff;padding:28px}.login-brand{display:flex;gap:12px;align-items:center;margin-bottom:28px}.login-brand span:last-child{display:block;margin-top:4px;color:var(--muted);font-size:13px}.login-panel h1{margin-bottom:10px}.login-panel p{margin:0 0 20px;color:var(--muted);line-height:1.6}.login-error{min-height:20px;margin-bottom:12px;color:#a32020;font-size:13px}.login-options{display:grid;gap:12px}.login-form{display:grid;gap:12px;margin-bottom:18px}.login-form label{display:grid;gap:6px;color:var(--muted);font-size:13px;font-weight:700}.login-form input{width:100%;height:40px;border:1px solid var(--line);border-radius:6px;padding:0 12px;color:var(--ink);font:inherit}.login-form input:focus{border-color:var(--primary);outline:3px solid rgba(22,119,255,.12)}.login-form button{width:100%}.login-divider{display:flex;align-items:center;gap:10px;margin:6px 0 12px;color:var(--muted);font-size:12px;font-weight:700}.login-divider:before,.login-divider:after{height:1px;flex:1;background:var(--line);content:""}.login-user{display:grid;height:auto;gap:6px;justify-items:start;padding:16px;text-align:left}.login-user:hover{border-color:var(--primary);background:#f7fbff}.login-user span{color:var(--primary);font-size:13px;font-weight:700}.login-user em{color:var(--muted);font-size:13px;font-style:normal}.app-shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}.sidebar{display:flex;flex-direction:column;border-right:1px solid var(--line);background:#0f172a;color:#e7edf7;padding:24px 18px}.brand{display:flex;gap:12px;align-items:center;margin-bottom:32px}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:8px;flex:0 0 auto;background:#ef3340;color:#fff;font-weight:800;line-height:1}.brand span:last-child{display:block;margin-top:4px;color:#a7b2c5;font-size:12px}.nav-list{display:grid;gap:8px}.nav-list button{justify-content:flex-start;width:100%;border-color:transparent;background:transparent;color:#bac6d8;text-align:left}.nav-list button.active,.nav-list button:hover{background:#22304a;color:#fff}.user-box{display:grid;gap:8px;margin-top:auto;border-top:1px solid #263650;padding-top:18px}.user-box span{color:#a7b2c5;font-size:12px}.user-box em{color:#a7b2c5;font-size:12px;font-style:normal;line-height:1.4}.user-box button{width:100%;border-color:#33435e;background:transparent;color:#e7edf7}.password-change-box{display:grid;gap:8px}.password-change-box summary{color:#dbe6f6;cursor:pointer;font-size:13px;font-weight:700}.password-change-box form{display:grid;gap:8px;margin-top:8px}.password-change-box input{width:100%;height:34px;border:1px solid #33435e;border-radius:6px;background:#162238;color:#e7edf7;padding:0 10px;font:inherit}.password-change-box input::placeholder{color:#8fa0ba}.content{padding:28px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.eyebrow{margin:0 0 4px;color:var(--muted);font-size:13px}h1,h2{margin:0;letter-spacing:0}h1{font-size:28px}h2{font-size:17px}.actions{display:flex;gap:10px}.primary{border-color:var(--primary);background:var(--primary);color:#fff}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:16px}.metrics article,.panel{border:1px solid var(--line);border-radius:8px;background:var(--panel)}.metrics article{padding:18px}.permission-summary{display:grid;gap:8px;padding:16px}.readiness-summary{display:grid;gap:6px;margin-bottom:12px;border:1px solid var(--line);border-radius:8px;background:#fbfdff;padding:14px}.readiness-summary span,.permission-summary span{color:var(--muted);font-size:13px}.metrics span,.metrics em{display:block;color:var(--muted);font-style:normal;font-size:13px}.metrics strong{display:block;margin:10px 0 8px;font-size:30px;line-height:1}.metrics.compact{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.workspace{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,.8fr);gap:16px}.workspace.lower{margin-top:16px;grid-template-columns:minmax(320px,.85fr) minmax(0,1.45fr)}.panel{padding:18px}.section-gap,.section-mini{margin-top:16px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}table{width:100%;border-collapse:collapse}th,td{border-bottom:1px solid var(--line);padding:12px 8px;text-align:left;font-size:14px}th{color:var(--muted);font-weight:600}tr.selected-row td{background:#f4f9ff}.detail-cell{max-width:320px;color:var(--muted);font-size:13px;line-height:1.5}.doc-row.selected{border-color:#1677ff59;background:#f4f9ff}.change-stack{display:grid;gap:10px}.change-row{display:grid;gap:8px;border:1px solid var(--line);border-radius:8px;padding:12px}.change-row span{display:block;margin-top:4px;color:var(--muted);font-size:12px}.change-row pre{overflow:auto;margin:0;border-radius:6px;padding:8px;font-size:12px;line-height:1.5;white-space:pre-wrap}.old-line{background:#fff1f0;color:#a32020}.new-line{background:#ecfdf3;color:#0f6b46}.doc-detail{display:grid;gap:8px}.doc-detail span{color:var(--muted);font-size:13px}.doc-detail pre{overflow:auto;max-height:320px;margin:0;border:1px solid var(--line);border-radius:8px;background:#f8fafc;padding:12px;color:#344054;line-height:1.6;white-space:pre-wrap}.tag{display:inline-flex;align-items:center;min-height:24px;border-radius:999px;padding:0 9px;font-size:12px;font-style:normal;font-weight:600}.tag.green{background:#e8f7f0;color:var(--green)}.tag.blue{background:#e8f1ff;color:#145ec2}.tag.yellow{background:#fff7df;color:var(--yellow)}.tag.orange{background:#fff3e8;color:#b54708}.tag.gray{background:#eef1f5;color:#667085}.tag.purple{background:#f0ebff;color:var(--purple)}.todo-list,.wiki-panel,.list-stack,.attachment-list{display:grid;gap:12px}.attachment-form{margin-bottom:12px}.todo-list div,.doc-row,.ai-card{border:1px solid var(--line);border-radius:8px;padding:14px;background:#fbfdff}.todo-list strong,.todo-list span,.doc-row strong,.doc-row span{display:block}.todo-list span,.doc-row span{margin-top:6px;color:var(--muted);font-size:13px}.doc-row strong .tag{display:inline-flex;margin-left:6px;vertical-align:middle}.muted-inline{color:var(--muted);font-size:13px}.attachment-block{display:grid;gap:8px;margin-top:12px}.attachment-title{color:var(--ink)!important;font-weight:700}.offer-material-row{display:grid;gap:6px;border-top:1px solid var(--line);padding-top:10px}.attachment-mini-list{display:grid;gap:6px}.attachment-mini-list span{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:0}.attachment-mini-list .row-action{height:28px;margin-top:0;padding:0 10px}.inline-upload-form{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.inline-upload-form input[type=file]{max-width:220px}.ai-card p{margin:12px 0;color:#344054;line-height:1.6}.progress{overflow:hidden;height:8px;border-radius:99px;background:#e6ebf2}.progress span{display:block;height:100%;border-radius:inherit;background:#31c48d}.stack-form{display:grid;gap:14px}.stack-form.inline-form{grid-template-columns:repeat(2,minmax(160px,1fr)) auto;align-items:end}.stack-form label{display:grid;gap:7px}.stack-form label span{color:var(--muted);font-size:13px;font-weight:600}.stack-form .checkbox-line{display:flex;align-items:center;gap:8px}.stack-form .checkbox-line input{width:auto}.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.checkbox-grid label{display:flex;min-height:38px;align-items:center;gap:8px;border:1px solid var(--line);border-radius:6px;padding:8px 10px}.checkbox-grid input{width:auto}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:6px;padding:10px 11px;background:#fff;color:var(--ink);font:inherit}textarea{resize:vertical}.form-actions,.action-stack{display:flex;flex-wrap:wrap;gap:10px}.lifecycle-layout{display:grid;gap:16px}.profile-grid{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:10px}.profile-item{border:1px solid var(--line);border-radius:8px;padding:10px;background:#fbfdff}.profile-item span,.timeline-item span,.timeline-item em{display:block;color:var(--muted);font-size:12px}.profile-item strong{display:block;margin-top:5px;font-size:14px}.lifecycle-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.lifecycle-card{min-width:0}.lifecycle-card h3{margin:0 0 10px;font-size:14px}.compact-list{gap:8px}.timeline{display:grid;gap:10px}.timeline-item{position:relative;border-left:3px solid #1677ff;border-radius:8px;padding:10px 12px;background:#fbfdff}.timeline-item strong{display:inline-block;margin-top:4px}.timeline-item em{float:right;font-style:normal}.timeline-item p{clear:both;margin:6px 0 0;color:#344054;font-size:13px;line-height:1.5}.row-action{margin-top:12px}.row-actions{display:flex;flex-wrap:wrap;gap:8px}.row-actions .row-action{margin-top:0}.row-action.danger{color:#b42318;border-color:#fda29b}.table-action{height:30px;padding:0 10px;font-size:13px}.table-action.danger{color:#b42318;border-color:#fda29b}.muted-text{color:var(--muted)}.notice{margin-bottom:16px;border:1px solid var(--line);border-radius:8px;padding:12px 14px;background:#fff;color:var(--muted)}.notice.error{border-color:#ffc9c9;background:#fff5f5;color:#a32020}.empty-state,.empty-inline{border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--muted)}.empty-state{display:grid;min-height:220px;align-content:center;gap:8px;padding:28px;text-align:center}.empty-state strong{color:var(--ink);font-size:18px}.empty-inline{padding:16px}@media (max-width: 960px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;gap:18px}.metrics,.metrics.compact,.workspace,.workspace.lower,.stack-form.inline-form,.profile-grid,.lifecycle-columns{grid-template-columns:1fr}.topbar{align-items:flex-start;flex-direction:column}}
