:root{color-scheme:light;--bg:#f6f4ee;--panel:#fffdf8;--panel-strong:#f0ede5;--text:#1a2924;--muted:#67766f;--line:#ded8ca;--green:#1f7a5b;--green-strong:#126047;--blue:#225db8;--amber:#b87518;--red:#b4232f;--shadow:0 18px 45px rgba(43,35,20,0.08)}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(320px,1fr) minmax(360px,520px);align-items:center;grid-gap:48px;gap:48px;padding:56px clamp(24px,6vw,96px)}.login-copy h1{margin:0 0 18px;font-size:clamp(42px,7vw,86px);line-height:.96;letter-spacing:0}.login-copy p{max-width:680px;margin:0;color:var(--muted);font-size:20px;line-height:1.8}.detail-card,.draft-block,.login-card,.message,.metric-card,.panel,.published-card{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.login-card{padding:32px}.login-card h2,.panel h2{margin:0 0 8px;font-size:28px}.login-card .hint{margin:0 0 28px;color:var(--muted);line-height:1.6}.form-field{display:grid;grid-gap:8px;gap:8px;margin-bottom:18px;font-weight:700}.form-field input,.form-field select,.form-field textarea,.inline-input{width:100%;border:1px solid var(--line);border-radius:8px;background:#fff;padding:13px 14px;color:var(--text);outline:none}.form-field input:focus,.form-field select:focus,.form-field textarea:focus,.inline-input:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(31,122,91,.14)}.danger-button,.ghost-button,.primary-button,.secondary-button,.small-button{border:1px solid transparent;border-radius:8px;min-height:42px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:800;white-space:nowrap}.primary-button{background:var(--green);color:white}.primary-button:hover{background:var(--green-strong)}.secondary-button{background:white;color:var(--green);border-color:rgba(31,122,91,.35)}.ghost-button{background:transparent;color:var(--muted);border-color:var(--line)}.danger-button{background:#fff1f1;color:var(--red);border-color:#f1c5c8}.small-button{min-height:34px;padding:0 12px;font-size:14px;background:#edf7f2;color:var(--green-strong)}.error-box,.notice-box,.success-box{border-radius:8px;padding:14px 16px;margin-top:16px;line-height:1.6}.error-box{background:#fff0f0;color:var(--red);border:1px solid #f0c4c7}.notice-box{background:#eef5ff;color:#24486f;border:1px solid #cbdcf6}.success-box{background:#eef8f2;color:var(--green-strong);border:1px solid #b9dccb}.app-shell{min-height:100vh;display:grid;grid-template-columns:260px minmax(0,1fr)}.sidebar{background:#fffaf0;border-right:1px solid var(--line);padding:24px 18px;display:flex;flex-direction:column;gap:24px;position:-webkit-sticky;position:sticky;top:0;height:100vh}.brand{display:flex;gap:12px;align-items:center}.brand-mark{width:40px;height:40px;border-radius:8px;display:grid;place-items:center;background:var(--green);color:#fff;font-weight:900}.brand-title{font-size:18px;font-weight:900}.brand-subtitle,.muted{color:var(--muted)}.nav{display:grid;grid-gap:8px;gap:8px}.nav a,.nav button{border:0;width:100%;text-align:left;background:transparent;border-radius:8px;padding:12px 14px;color:var(--muted);font-weight:800}.nav a.active,.nav a:hover,.nav button:hover{background:#e9f4ee;color:var(--green-strong)}.shell-main{min-width:0;padding:32px clamp(22px,4vw,56px)}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:28px}.eyebrow{margin:0 0 8px;color:var(--green);font-weight:900}.page-title{margin:0;font-size:clamp(34px,5vw,58px);line-height:1.06;letter-spacing:0}.page-subtitle{margin:10px 0 0;color:var(--muted);font-size:18px;line-height:1.7}.actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.grid{display:grid;grid-gap:18px;gap:18px}.project-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.project-search{display:grid;grid-gap:8px;gap:8px;max-width:620px;margin-bottom:20px;color:var(--muted);font-weight:800}.create-form{width:min(100%,680px);margin:18px 0}.create-form h2{margin-top:0}.between-actions{justify-content:space-between}.empty-state{color:var(--muted);text-align:center;padding:48px 24px}.termination-confirm{display:grid;grid-gap:12px;gap:12px}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.detail-card,.metric-card,.panel{padding:22px}.metric-card strong{display:block;font-size:34px;margin-top:8px}.card-title{margin:0 0 8px;font-size:23px}.card-copy{margin:0 0 18px;color:var(--muted);line-height:1.6}.badge-row{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.badge{border-radius:999px;padding:6px 10px;background:#edf7f2;color:var(--green-strong);font-size:13px;font-weight:800}.badge.warn{background:#fff5dd;color:var(--amber)}.tabs{display:flex;flex-wrap:wrap;gap:10px;border-bottom:1px solid var(--line);margin:0 0 22px}.tabs a{padding:13px 10px;color:var(--muted);font-weight:900;border-bottom:3px solid transparent}.tabs a.active{color:var(--green-strong);border-color:var(--green)}.table{width:100%;border-collapse:collapse;overflow:hidden;border-radius:8px}.table td,.table th{border-bottom:1px solid var(--line);padding:14px 12px;text-align:left;vertical-align:top}.table th{color:var(--muted);font-size:13px;background:var(--panel-strong)}.inbox-filters{display:grid;grid-template-columns:minmax(180px,2fr) repeat(3,minmax(140px,1fr)) auto;grid-gap:12px;gap:12px;align-items:end;margin-bottom:18px}.inbox-filters label{display:grid;grid-gap:7px;gap:7px;color:var(--muted);font-size:13px;font-weight:800}.inbox-panel{padding:0;overflow:hidden}.inbox-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;border-bottom:1px solid var(--line)}.table-wrap{overflow-x:auto}.category-form{display:grid;grid-template-columns:minmax(120px,1fr) auto;grid-gap:7px;gap:7px;min-width:230px}.source-details{margin-top:8px;min-width:260px;color:var(--muted)}.source-details summary{color:var(--green-strong);cursor:pointer;font-weight:800}.source-details p{white-space:pre-wrap;line-height:1.6}.attachment-list{margin:8px 0 0;padding-left:20px}.attachment-list a{color:var(--blue);text-decoration:underline}.chat-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-gap:18px;gap:18px}.message-list{display:grid;grid-gap:12px;gap:12px;max-height:62vh;overflow-y:auto;padding-right:4px}.message{padding:16px 18px;box-shadow:none}.message.ai{background:#f2f8f5}.message.system{background:#f5f5f5}.message-meta{color:var(--muted);font-size:13px;margin-bottom:6px}.message-content{line-height:1.75;overflow-wrap:anywhere;white-space:pre-wrap}.panel-heading{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:16px}.panel-heading .card-copy{margin:4px 0 0}.empty-chat{border:1px dashed var(--line);border-radius:8px;color:var(--muted);padding:28px;text-align:center}.empty-chat p{margin:8px 0 0}.composer{margin-top:16px;display:grid;grid-gap:10px;gap:10px}.memory-panel{align-self:start;position:-webkit-sticky;position:sticky;top:18px}.memory-list{display:grid;grid-gap:10px;gap:10px;margin-top:16px;max-height:48vh;overflow-y:auto}.memory-item{background:#fbfaf6;border:1px solid var(--line);border-radius:8px;padding:12px}.memory-item p{display:-webkit-box;line-height:1.55;margin:9px 0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:4}.memory-item code{color:var(--muted);font-size:12px}.stack-actions{display:grid;grid-gap:8px;gap:8px;margin-top:18px}.sr-only{clip:rect(0,0,0,0);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.draft-block{padding:20px;box-shadow:none}.draft-block h3{margin:0 0 10px}.draft-block ul{margin:10px 0 0;padding-left:18px;color:var(--muted);line-height:1.8}.empty-draft-panel{display:grid;grid-gap:16px;gap:16px;justify-items:start;min-height:280px;place-content:center;text-align:left}.draft-layout{align-items:start;display:grid;grid-gap:18px;gap:18px;grid-template-columns:minmax(0,1fr) 330px}.stack-list{display:grid;grid-gap:14px;gap:14px}.draft-sidebar{position:-webkit-sticky;position:sticky;top:18px}.draft-editor h2,.draft-summary h2,.requirement-card h3{margin-top:8px}.draft-detail-grid li,.draft-summary li,.draft-summary p,.requirement-card p{line-height:1.75}.draft-detail-grid ul,.draft-summary ul{color:var(--muted);padding-left:20px}.requirement-card{background:var(--panel)}.requirement-card strong{display:block;margin-top:16px}.draft-field-row{display:grid;grid-gap:12px;gap:12px;grid-template-columns:130px minmax(0,1fr)}.source-row{align-items:center;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;padding-top:12px}.source-row a{background:#eef5ff;border-radius:999px;color:var(--blue);font-size:13px;font-weight:800;padding:6px 10px}.metric-row{align-items:center;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:11px 0}.metric-row strong{font-size:20px}.draft-sidebar .notice-box ul{margin:10px 0 0;padding-left:18px}.warning-notice{background:#fff8e9;border-color:#ead4a0;color:#765113}.draft-detail-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.publish-checklist{display:grid;grid-gap:16px;gap:16px;margin:0 auto;max-width:900px}.publish-checklist>.error-box,.publish-checklist>.notice-box,.publish-checklist>.success-box,.publish-checklist>h2,.publish-checklist>p{margin-bottom:0;margin-top:0}.file-preview{align-items:center;background:#fbfaf6;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:5px;gap:5px;padding:15px}.file-preview span{color:var(--muted);font-size:14px}.published-card pre{white-space:pre-wrap;margin:0;color:var(--text);line-height:1.75}@media (max-width:900px){.app-shell,.chat-layout,.draft-layout,.login-page{grid-template-columns:1fr}.sidebar{height:auto}.draft-sidebar,.memory-panel,.sidebar{position:static}.draft-field-row{grid-template-columns:1fr}.topbar{flex-direction:column}.inbox-filters{grid-template-columns:1fr}.inbox-toolbar{align-items:stretch;flex-direction:column}}