:root{--bg: #f5f6f8;--surface: #ffffff;--surface-muted: #f8fafc;--text: #111827;--muted: #5b6475;--faint: #8a93a3;--border: #e5e7eb;--border-strong: #d1d5db;--brand: #0f766e;--brand-strong: #115e59;--brand-soft: #e6f4f2;--good: #15803d;--good-soft: #ecfdf3;--warn: #b45309;--warn-soft: #fff7ed;--bad: #b91c1c;--bad-soft: #fef2f2;--info: #1d4ed8;--info-soft: #eff6ff;--radius: 12px;--radius-sm: 8px;--shadow: 0 1px 2px rgba(16, 24, 40, .05), 0 1px 3px rgba(16, 24, 40, .06);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-size:15px;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3,h4,p{margin:0}.app-shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;display:flex;flex-direction:column;gap:24px;height:100vh;padding:24px 16px;border-right:1px solid var(--border);background:var(--surface)}.brand{display:flex;align-items:center;gap:10px;padding:0 8px}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--brand);color:#fff}.brand strong{display:block;font-size:16px}.brand span{display:block;color:var(--muted);font-size:12px}.nav{display:grid;gap:4px}.company-switcher{display:grid;gap:4px;padding:0 4px}.company-switcher small{padding-left:4px;color:var(--muted);font-size:12px;font-weight:600}.company-switcher select{font-weight:600}.nav-item{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--muted);font-weight:600;text-align:left;cursor:pointer}.nav-item:hover{background:var(--surface-muted);color:var(--text)}.nav-item.active{background:var(--brand-soft);color:var(--brand-strong)}.sidebar-footer{display:grid;gap:10px;margin-top:auto;padding:12px 8px 0;border-top:1px solid var(--border)}.sidebar-footer small{color:var(--muted)}.main{min-width:0;padding:32px 40px 64px}.page{display:grid;gap:24px;max-width:1120px;margin:0 auto}.page-header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px}.page-header h1{font-size:28px;line-height:1.2;letter-spacing:-.02em}.page-header p{margin-top:6px;color:var(--muted)}.grid-2,.grid-3,.grid-4{display:grid;gap:16px}.page>*,.grid-2>*,.grid-3>*,.grid-4>*,.stack>*{min-width:0}.main{overflow-x:clip}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-hero{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}.grid-split{grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);align-items:start}.stack{display:grid;gap:12px}.row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.spacer{flex:1}.card{min-width:0;display:grid;gap:16px;padding:24px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.card-header h2,.card h2{font-size:18px;letter-spacing:-.01em}.card-header p,.card .lead{margin-top:4px;color:var(--muted);font-size:14px}.card-icon{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:12px;background:var(--brand-soft);color:var(--brand)}.action-card{align-content:start}.action-card .card-icon{width:52px;height:52px}.stat{display:grid;gap:2px;padding:18px 20px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.stat span{color:var(--muted);font-size:13px;font-weight:600}.stat strong{font-size:26px;letter-spacing:-.02em}.stat small{color:var(--faint);font-size:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:9px 16px;border:1px solid transparent;border-radius:var(--radius-sm);font-weight:600;white-space:nowrap;cursor:pointer;transition:background .15s,border-color .15s}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover:not(:disabled){background:var(--brand-strong)}.btn-secondary{border-color:var(--border-strong);background:var(--surface)}.btn-secondary:hover:not(:disabled){background:var(--surface-muted)}.btn-ghost{background:transparent;color:var(--muted)}.btn-ghost:hover:not(:disabled){background:var(--surface-muted);color:var(--text)}.btn-danger{border-color:#fecaca;background:var(--surface);color:var(--bad)}.btn-large{min-height:48px;padding:12px 22px;font-size:16px}.link{padding:0;border:0;background:none;color:var(--brand);font-weight:600;cursor:pointer}.chip{display:inline-flex;align-items:center;gap:6px;width:fit-content;padding:3px 10px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:12px;font-weight:700;white-space:nowrap}.chip.good,.tone-good{background:var(--good-soft);color:var(--good)}.chip.warn,.tone-warn{background:var(--warn-soft);color:var(--warn)}.chip.bad,.tone-bad{background:var(--bad-soft);color:var(--bad)}.notice{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:var(--radius-sm);background:var(--info-soft);color:#1e3a8a;font-size:14px}.notice.warn{background:var(--warn-soft);color:#7c2d12}.notice.error{background:var(--bad-soft);color:#7f1d1d}.notice.good{background:var(--good-soft);color:#14532d}.notice svg{flex:none;margin-top:2px}.progress{height:8px;overflow:hidden;border-radius:999px;background:#eef0f3}.progress>i{display:block;height:100%;border-radius:inherit;background:var(--brand)}.progress.good>i{background:var(--good)}.progress.warn>i{background:#d97706}.progress.bad>i{background:var(--bad)}.ring{--value: 0;--color: var(--brand);display:grid;place-items:center;width:148px;height:148px;border-radius:50%;background:conic-gradient(var(--color) calc(var(--value) * 1%),#eef0f3 0)}.ring:before{content:"";grid-area:1 / 1;width:118px;height:118px;border-radius:50%;background:var(--surface)}.ring strong{grid-area:1 / 1;z-index:1;font-size:32px;letter-spacing:-.03em}.empty{display:grid;justify-items:center;gap:8px;padding:28px 16px;border:1px dashed var(--border-strong);border-radius:var(--radius);color:var(--muted);text-align:center}.empty svg{color:var(--faint)}.list{display:grid;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.list-row{display:flex;align-items:center;gap:14px;padding:14px 16px;border:0;border-bottom:1px solid var(--border);background:var(--surface);text-align:left}.list-row:last-child{border-bottom:0}button.list-row{width:100%;cursor:pointer}button.list-row:hover,.list-row.selected{background:var(--surface-muted)}.list-row .grow{flex:1;min-width:0}.list-row strong{display:block;overflow-wrap:anywhere}.list-row small,.muted{color:var(--muted);font-size:13px}.list-row small{display:block}.list-row .file-icon{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:9px;background:var(--surface-muted);color:var(--muted)}.steps{display:grid;gap:10px;margin:0;padding:0;list-style:none;counter-reset:step}.steps li{display:flex;align-items:flex-start;gap:12px;min-width:0;counter-increment:step}.steps li>*{min-width:0}.steps li:before{content:counter(step);display:grid;place-items:center;flex:none;width:26px;height:26px;border-radius:50%;background:var(--brand-soft);color:var(--brand-strong);font-size:13px;font-weight:700}.checklist{display:grid;gap:8px}.check-item{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.check-item input{width:18px;height:18px;margin-top:3px;accent-color:var(--brand)}.check-item.done strong{color:var(--faint);text-decoration:line-through}.field{display:grid;gap:6px;font-size:14px;font-weight:600}.field small{color:var(--muted);font-weight:400}input:not([type=checkbox]):not([type=file]),select,textarea{width:100%;min-height:42px;padding:9px 12px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);font-weight:400}textarea{resize:vertical}input:focus,select:focus,textarea:focus,.btn:focus-visible,.nav-item:focus-visible,.list-row:focus-visible{outline:3px solid rgba(15,118,110,.25);outline-offset:1px}.dropzone{display:grid;justify-items:center;gap:10px;padding:32px 16px;border:2px dashed var(--border-strong);border-radius:var(--radius);background:var(--surface-muted);color:var(--muted);text-align:center}.dropzone.dragging{border-color:var(--brand);background:var(--brand-soft)}.codebox{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:var(--radius-sm);background:#0f172a;color:#e2e8f0}.codebox code{flex:1;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.codebox .btn{flex:none;align-self:flex-start;color:var(--text)}.deep-active .deep-card{order:-1}.codebox .btn{min-height:34px;padding:6px 12px}.big-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:26px;font-weight:700;letter-spacing:.08em}.tabs{display:inline-flex;gap:4px;width:fit-content;padding:4px;border-radius:10px;background:#eef0f3}.tabs button{padding:7px 14px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-weight:600;cursor:pointer}.tabs button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}details.group{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}details.group summary{display:flex;align-items:center;gap:10px;padding:12px 14px;font-weight:600;cursor:pointer}details.group .group-body{display:grid;gap:6px;padding:0 14px 14px}.path{color:var(--muted);font-size:13px;overflow-wrap:anywhere}.path b{color:var(--text);font-weight:600}.chat{display:grid;gap:12px;min-height:360px;align-content:start}.bubble{max-width:78%;padding:12px 16px;border-radius:16px;white-space:pre-wrap}.bubble.user{justify-self:end;border-bottom-right-radius:4px;background:var(--brand);color:#fff}.bubble.assistant{justify-self:start;border:1px solid var(--border);border-bottom-left-radius:4px;background:var(--surface)}.suggestions{display:flex;flex-wrap:wrap;gap:8px}.suggestions button{padding:8px 12px;border:1px solid var(--border-strong);border-radius:999px;background:var(--surface);font-size:14px;cursor:pointer}.suggestions button:hover{border-color:var(--brand);color:var(--brand-strong)}.center-shell{display:grid;place-items:center;min-height:100vh;padding:24px}.login-shell{display:grid;place-items:center;min-height:100vh;padding:24px;background:radial-gradient(circle at top,#e6f4f2,var(--bg) 60%)}.login-panel,.onboarding{display:grid;gap:18px;width:min(420px,100%);padding:32px;border:1px solid var(--border);border-radius:16px;background:var(--surface);box-shadow:0 10px 30px #10182814}.onboarding{width:min(520px,100%)}.login-panel label{display:grid;gap:6px;font-size:14px;font-weight:600}.login-panel .primary-button,.login-panel .secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border-radius:var(--radius-sm);font-weight:600;cursor:pointer}.login-panel .primary-button{border:0;background:var(--brand);color:#fff}.login-panel .secondary-button{border:1px solid var(--border-strong);background:var(--surface)}.alert-box{padding:10px 12px;border-radius:var(--radius-sm);background:var(--bad-soft);color:#7f1d1d;font-size:14px}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 980px){.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 760px){.app-shell{grid-template-columns:1fr}.sidebar{min-width:0;position:static;flex-direction:row;flex-wrap:wrap;align-items:center;height:auto;padding:12px 16px;gap:12px}.nav{display:flex;width:100%;min-width:0;overflow-x:auto;scrollbar-width:none}.nav-item{width:auto;white-space:nowrap}.sidebar-footer{display:none}.company-switcher{flex:1;min-width:0}.main{padding:20px 16px 48px}.grid-2,.grid-3,.grid-4,.grid-hero,.grid-split{grid-template-columns:1fr}.page-header .row{width:100%}.ring{width:120px;height:120px}.ring:before{width:94px;height:94px}.bubble{max-width:92%}}
