:root{--ink:#1d2733;--ink-2:#4a5562;--muted:#6b7480;--bg:#f6f4ef;--panel:#fff;--line:#e2ddd3;--accent:#b5482f;--accent-soft:#f5e3dc;--blue:#2f6b8a;--blue-soft:#e3edf2;--green:#2e7d4f;--green-soft:#e1f1e7;--amber:#9a6a00;--amber-soft:#fbf0d5;--radius:10px;--font:"Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font);color:var(--ink);background:var(--bg);font-size:15px;line-height:1.5}a{color:var(--blue)}h1,h2,h3{margin:0;line-height:1.25}h1{align-items:center;gap:12px;font-size:24px;font-weight:600;display:flex}h2{font-size:18px;font-weight:600}h3{font-size:15px;font-weight:600}p{margin:0}.topbar{background:var(--ink);color:#f3f1ec;align-items:center;gap:24px;height:56px;padding:0 24px;display:flex}.topbar .brand{white-space:nowrap;letter-spacing:.3px;align-items:center;gap:10px;font-weight:700;display:flex}.topbar nav{flex:1;gap:4px;display:flex}.topbar nav a{color:#d9dde2;border-radius:6px;align-items:center;gap:7px;padding:6px 12px;text-decoration:none;display:inline-flex}.topbar nav a:hover,.topbar nav a.active{color:#fff;background:#2b3746}.user-menu{flex-shrink:0;margin-left:auto;position:relative}.user-menu summary{cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:5px 8px;font-size:13px;list-style:none;display:flex}.user-menu summary::-webkit-details-marker{display:none}.user-menu summary:hover,.user-menu[open] summary{background:#2b3746}.user-menu summary:focus-visible{outline-offset:2px;outline:2px solid #fff}.user-avatar{background:#3b4a5c;border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.user-email{text-overflow:ellipsis;max-width:220px;overflow:hidden}.user-menu[open] .user-chevron{transform:rotate(180deg)}.user-menu-panel{z-index:20;background:var(--panel);width:min(290px,100vw - 32px);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);padding:8px;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 12px 32px #1d273326}.user-menu-identity{border-bottom:1px solid var(--line);overflow-wrap:anywhere;flex-direction:column;gap:3px;margin-bottom:4px;padding:8px 10px 12px;display:flex}.user-menu-identity span{color:var(--muted);font-size:12px}.user-menu-panel button{width:100%;color:var(--ink);text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:10px;font-size:14px;font-weight:500;display:flex}.user-menu-panel button:hover{background:var(--blue-soft)}.password-dialog{border:1px solid var(--line);border-radius:var(--radius);width:min(480px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--ink);background:var(--panel);padding:24px;overflow-y:auto;box-shadow:0 24px 64px #1d273333}.password-dialog::backdrop{background:#1d273380}.password-dialog-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.password-dialog-heading h2{align-items:center;gap:10px;display:flex}.icon-button{place-items:center;padding:7px;display:grid}.password-dialog-actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}@media (max-width:1100px){.topbar{flex-wrap:wrap;gap:8px 16px;height:auto;min-height:56px;padding:8px 16px}.topbar nav{flex-basis:100%;order:3;overflow-x:auto}.topbar nav a{white-space:nowrap}}@media (max-width:480px){.user-menu summary{gap:6px}.user-email{max-width:110px}.password-dialog{padding:18px}}.page{flex-direction:column;gap:20px;max-width:1100px;margin:0 auto;padding:28px 24px 48px;display:flex}.page.wide{max-width:none}.row{align-items:center;gap:12px;display:flex}.row.between{justify-content:space-between}.stack{flex-direction:column;gap:12px;display:flex}.muted{color:var(--muted)}.small{font-size:13px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px}label{color:var(--ink-2);flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}label .hint{color:var(--muted);font-weight:400}input,textarea,select{font:inherit;color:var(--ink);background:#fff;border:1px solid #cfc9bd;border-radius:8px;width:100%;padding:9px 11px;font-weight:400}textarea{resize:vertical;min-height:70px}input:focus,textarea:focus,select:focus{outline:2px solid var(--blue);outline-offset:-1px;border-color:var(--blue)}button{font:inherit;cursor:pointer;border:1px solid var(--ink);background:var(--ink);color:#fff;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:9px 16px;font-weight:600;display:inline-flex}button:hover{opacity:.92}button:disabled{opacity:.5;cursor:not-allowed}button.secondary{color:var(--ink);background:#fff;border-color:#cfc9bd}button.accent{background:var(--accent);border-color:var(--accent)}button.link{color:var(--blue);background:0 0;border:none;padding:4px 6px;font-weight:500}button.danger{color:#a3352a;background:#fff;border-color:#e3b9b2}.error{color:#8f2a1f;background:#fbe9e6;border:1px solid #f0c5bd;border-radius:8px;padding:10px 12px}.notice{background:var(--green-soft);color:var(--green);border:1px solid #bfdfcb;border-radius:8px;padding:10px 12px}.auth-wrap{place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{flex-direction:column;gap:16px;width:100%;max-width:400px;display:flex}.list{flex-direction:column;display:flex}.list-item{border-top:1px solid var(--line);color:inherit;align-items:center;gap:16px;padding:14px 4px;text-decoration:none;display:flex}.list-item:first-child{border-top:none}.list-item:hover{background:#faf8f4}.list-item .grow{flex:1;min-width:0}.pill{background:var(--blue-soft);color:var(--blue);border-radius:999px;padding:2px 9px;font-size:12px;font-weight:600;display:inline-block}.pill.pushed{background:var(--green-soft);color:var(--green)}.pill.warn{background:var(--amber-soft);color:var(--amber)}.workspace{grid-template-columns:minmax(360px,5fr) 7fr;gap:20px;height:calc(100vh - 112px);min-height:560px;display:grid}.chat{flex-direction:column;min-height:0;padding:0;display:flex}.chat-log{flex-direction:column;flex:1;gap:12px;padding:16px;display:flex;overflow-y:auto}.bubble{white-space:pre-wrap;word-wrap:break-word;border-radius:12px;max-width:88%;padding:10px 13px}.bubble.assistant{background:#f1eee7;border-top-left-radius:4px;align-self:flex-start}.bubble.user{background:var(--blue);color:#fff;border-top-right-radius:4px;align-self:flex-end}.chat-input{border-top:1px solid var(--line);align-items:flex-end;gap:8px;padding:12px;display:flex}.chat-input textarea{min-height:48px;max-height:160px}.draft{flex-direction:column;gap:16px;display:flex;overflow-y:auto}.coverage{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:999px;padding:3px 9px;font-size:12px}.chip.done{background:var(--green-soft);color:var(--green);border-color:#bfdfcb}.chip.partial{background:var(--amber-soft);color:var(--amber);border-color:#ecd9a6}.chip.na{text-decoration:line-through}.items{flex-direction:column;gap:6px;display:flex}.item-row{align-items:flex-start;gap:6px;display:flex}.item-row .num{width:22px;color:var(--muted);text-align:right;flex:none;padding-top:9px;font-size:13px}.item-row textarea{min-height:40px}.issues{flex-direction:column;gap:8px;display:flex}.issue{border-left:4px solid var(--line);background:#faf8f4;border-radius:6px;padding:8px 12px}.issue.high{border-left-color:var(--accent)}.issue.medium{border-left-color:#d9a520}.issue.low{border-left-color:var(--blue)}.toolbar{background:var(--panel);border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding-top:12px;display:flex;position:sticky;bottom:0}@media (max-width:900px){.workspace{grid-template-columns:1fr;height:auto}.chat{height:70vh}}.admin-users button{justify-content:center;align-items:center;gap:8px;display:inline-flex}.user-editor-fields{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0;padding:0;display:grid}.user-editor-fields .user-active{flex-direction:row;align-items:center;gap:8px}.user-active input{width:auto}.user-row h3{overflow-wrap:anywhere}@media (max-width:700px){.users-heading,.user-row{flex-wrap:wrap}.user-row .grow{flex-basis:100%}.user-actions{gap:6px;margin-left:auto}.user-editor-fields{grid-template-columns:1fr}}.brand-mark{background:var(--accent);color:#fff;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex;box-shadow:inset 0 1px #ffffff26}.auth-brand{gap:12px;margin-bottom:8px}.auth-brand .brand-mark{border-radius:12px;width:44px;height:44px}.auth-brand .brand-mark svg{width:28px;height:28px}.heading-icon{width:38px;height:38px;color:var(--accent);background:var(--accent-soft);border-radius:10px;padding:8px}.icon-heading{align-items:center;gap:9px;display:flex}button svg,nav svg,.heading-icon{flex-shrink:0}.topbar nav a.active svg{color:#f0b8a6}.topbar nav a:focus-visible{outline-offset:2px;outline:2px solid #f0b8a6}.user-email{white-space:nowrap}@media (min-width:1101px) and (max-width:1250px){.topbar{gap:14px;padding-inline:16px}.topbar nav a{padding-inline:8px}.user-email{max-width:160px}}@media (max-width:480px){.topbar{column-gap:12px}.topbar .brand{gap:8px;font-size:14px}.topbar .brand-mark{width:30px;height:30px}.user-email{max-width:90px}}.systems-layout{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:20px;display:grid}.system-editor{min-width:0}.system-editor-fields,.repository-fields{border:0;min-width:0;margin:0;padding:0}.repository-fields{flex-direction:column;gap:12px;display:flex}.repository-fields .hint{overflow-wrap:anywhere}.repository-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.repository-import{border-top:3px solid var(--accent)}.repository-import .icon-heading,.repository-actions{flex-wrap:wrap}.repository-preview{border-top:1px solid var(--line);padding-top:16px}.repository-preview ul{margin:0;padding-left:20px}.repository-preview summary{cursor:pointer;font-size:13px;font-weight:600}.source-files{max-height:180px;overflow:auto;margin-top:8px!important}.repository-comparison{grid-template-columns:110px minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.repository-comparison-row{display:contents}.repository-comparison-row h3,.repository-comparison-row p{border-top:1px solid var(--line);white-space:pre-wrap;overflow-wrap:anywhere;padding-top:10px}.repository-comparison-row h3{font-size:13px}.repository-current{color:var(--muted)}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spin{animation:none}}@media (max-width:800px){.systems-heading{flex-wrap:wrap}.systems-layout,.repository-options{grid-template-columns:1fr}.repository-comparison{flex-direction:column;display:flex}.repository-comparison>span,.repository-comparison>strong{display:none}.repository-comparison-row{flex-direction:column;gap:6px;display:flex}.repository-comparison-row p{border-top:0;padding-top:0}.repository-current:before{content:"Current: ";font-weight:600}.repository-comparison-row p:last-child:before{content:"AI proposal: ";font-weight:600}}.meter{white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.meter-track{background:var(--line);border-radius:999px;width:90px;height:8px;overflow:hidden}.meter-fill{border-radius:999px;height:100%;display:block}.meter-fill.high{background:var(--green)}.meter-fill.mid{background:var(--amber)}.meter-fill.low{background:var(--red,#b5482f)}.meter-label{color:var(--muted);font-size:12px;font-weight:600}
