:root{color:#172033;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--ink:#172033;--muted:#657386;--soft:#8a96a8;--line:#d7dde5;--surface:#fff;--surface-soft:#f8fafc;--field:#fbfcfe;--accent:#176b87;--accent-strong:#0f4f64;--green:#1f7a4c;--amber:#9a6500;--red:#b2362b;--blue-soft:#e7f3f7;--green-soft:#e9f6ef;--amber-soft:#fff3d8;--red-soft:#fdebea;--shadow:0 18px 48px #1e293b14;background:#f4f6f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:linear-gradient(#eef3f5 0,#f8fafc 38%,#f4f6f8 100%);margin:0}button,textarea,select,input{font:inherit}button{cursor:pointer}.app-shell{grid-template-columns:minmax(320px,390px) 1fr;min-height:100vh;display:grid}.left-rail{border-right:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffb8;height:100vh;padding:24px;position:sticky;top:0;overflow:auto}.brand,.topbar,.section-header,.row-item,.table-row,.capture-title,.topbar-actions{align-items:center;display:flex}.brand,.topbar,.section-header,.row-item,.table-row{justify-content:space-between;gap:16px}.brand{margin-bottom:22px}.eyebrow{color:var(--muted);letter-spacing:0;text-transform:uppercase;margin:0 0 4px;font-size:12px;font-weight:700}h1,h2,p{margin-top:0}h1{letter-spacing:0;margin-bottom:0;font-size:30px;line-height:1.05}h2{letter-spacing:0;margin-bottom:0;font-size:17px}.capture,.constraint,.section,.metric{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:8px}.capture{padding:16px}.capture-title{gap:8px;margin-bottom:12px;font-weight:800}.capture textarea{resize:vertical;border:1px solid var(--line);background:var(--field);width:100%;min-height:150px;color:var(--ink);border-radius:8px;padding:12px;line-height:1.45}.form-grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;display:grid}label{color:var(--muted);gap:6px;margin-top:10px;font-size:12px;font-weight:700;display:grid}select,input{border:1px solid var(--line);background:var(--field);min-width:0;color:var(--ink);border-radius:8px;padding:10px}.primary-button,.ghost-button{border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:10px 14px;font-weight:800;display:inline-flex}.primary-button{border:1px solid var(--accent-strong);background:var(--accent);color:#fff;width:100%;margin-top:14px}.primary-button:disabled,.ghost-button:disabled{cursor:wait;opacity:.72}.ghost-button{border:1px solid var(--line);background:var(--surface);color:var(--ink)}.capture-message{border-radius:8px;margin-top:10px;padding:9px 10px;font-size:13px}.capture-message.saved{background:var(--green-soft);color:var(--green)}.capture-message.failed{background:var(--red-soft);color:var(--red)}.constraint{margin-top:18px;padding:16px}.constraint p:last-child{color:var(--muted);margin-bottom:0;line-height:1.5}.main-panel{min-width:0;padding:28px}.topbar{margin-bottom:22px}.topbar-actions{gap:12px}.sync-label{color:var(--muted);font-size:13px;font-weight:700}.banner{border-radius:8px;align-items:center;gap:10px;margin-bottom:18px;padding:12px 14px;font-weight:700;display:flex}.banner.bad{background:var(--red-soft);color:var(--red)}.metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.metric{grid-template-columns:44px 1fr;gap:12px;min-height:116px;padding:16px;display:grid}.metric-icon{background:var(--blue-soft);width:44px;height:44px;color:var(--accent);border-radius:8px;place-items:center;display:grid}.metric-value{color:var(--ink);margin-top:-2px;font-size:30px;font-weight:900;line-height:1}.metric-label{margin-top:5px;font-size:13px;font-weight:900}.metric-sub{color:var(--muted);margin-top:3px;font-size:12px}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.section{min-width:0;padding:16px}.section-header{border-bottom:1px solid var(--line);margin-bottom:14px;padding-bottom:12px}.section-title{align-items:center;gap:8px;min-width:0;display:flex}.item-list,.table{gap:9px;display:grid}.row-item,.table-row{background:var(--surface-soft);border:1px solid #e5e9ef;border-radius:8px;min-width:0;padding:11px 12px}.row-item>div:first-child,.table-row>div:first-child{min-width:0}.row-title,.table-row strong{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:850;line-height:1.25;display:block;overflow:hidden}.row-meta,.table-row span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:12px;display:block;overflow:hidden}.row-tags{flex-shrink:0;gap:6px;display:inline-flex}.link-row{color:inherit;text-decoration:none}.link-row:hover strong{color:var(--accent)}.pill{min-height:25px;color:var(--muted);text-transform:uppercase;white-space:nowrap;background:#f4f7f9;border:1px solid #d8dee7;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;padding:4px 9px;font-size:11px;font-weight:900;line-height:1;display:inline-flex}.pill.good{background:var(--green-soft);color:var(--green);border-color:#bde2cd}.pill.watch{background:var(--amber-soft);color:var(--amber);border-color:#efd490}.pill.bad{background:var(--red-soft);color:var(--red);border-color:#efc1bd}.empty{color:var(--muted);background:#fbfcfe;border:1px dashed #cad2dd;border-radius:8px;padding:16px;font-size:13px;line-height:1.45}.global-loader{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);color:var(--muted);border-radius:999px;align-items:center;gap:8px;padding:10px 13px;font-size:12px;font-weight:900;display:none;position:fixed;bottom:18px;right:18px}.global-loader.visible{display:inline-flex}.global-loader.saved{color:var(--green)}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1100px){.app-shell{grid-template-columns:1fr}.left-rail{height:auto;position:relative}.metrics-grid,.work-grid{grid-template-columns:1fr 1fr}}@media (width<=720px){.left-rail,.main-panel{padding:16px}.topbar,.topbar-actions,.brand{flex-direction:column;align-items:flex-start}.metrics-grid,.work-grid,.form-grid{grid-template-columns:1fr}h1{font-size:26px}.row-item,.table-row{flex-direction:column;align-items:flex-start}.row-tags{width:100%}}
