:root{--bg:#f6f5f1;--surface:#fff;--surface-2:#f0efea;--border:#e2e0d8;--text:#1f2421;--muted:#6b716c;--accent:#2f5d50;--accent-fg:#fff;--accent-soft:#e3ece8;--danger:#b3261e;--warn:#9a6200;--warn-soft:#fbefd9;--active:#1f5fa8;--active-soft:#e2ecf8;--done:#2f6d3a;--done-soft:#e2f0e4;--review:#6b3fa0;--review-soft:#eee6f7;--idle-soft:#eceae4;--radius:10px;--shadow:0 1px 2px #0000000a, 0 4px 16px #0000000d;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#151816;--surface:#1d211f;--surface-2:#252a27;--border:#333a36;--text:#e6e9e7;--muted:#9aa29d;--accent:#7fb8a5;--accent-fg:#102019;--accent-soft:#23352f;--danger:#f2877f;--warn:#e0b35c;--warn-soft:#3a2f1a;--active:#8db8ec;--active-soft:#1f2d40;--done:#8fcb99;--done-soft:#1f3324;--review:#c3a3ea;--review-soft:#2e2440;--idle-soft:#2a2f2c;--shadow:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font:14px/1.55 -apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Segoe UI,sans-serif}code,.key{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:12px}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:6px 12px;transition:background .15s,border-color .15s}button:hover:not(:disabled){border-color:var(--muted)}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}button.primary:hover:not(:disabled){filter:brightness(1.08)}button.ghost{background:0 0;border-color:#0000}button.small{padding:2px 8px;font-size:12px}input,select,textarea{border:1px solid var(--border);background:var(--surface);border-radius:8px;min-width:0;padding:7px 10px}input:focus,select:focus,textarea:focus,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}textarea{resize:vertical}label{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}label input,label textarea,label select{color:var(--text)}h1,h2,h3{margin:0;line-height:1.3}.muted{color:var(--muted)}.small{font-size:12px}.error{color:var(--danger);margin:8px 0}.notice{background:var(--accent-soft);color:var(--accent);border-radius:8px;margin:8px 0;padding:6px 10px}.empty{color:var(--muted);text-align:center;padding:40px 0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.login{place-items:center;min-height:100vh;padding:16px;display:grid}.login-card{flex-direction:column;gap:14px;width:100%;max-width:380px;padding:28px;display:flex}.login-card h1{font-size:22px}.login-card p{margin:-8px 0 4px}.app{max-width:1400px;margin:0 auto;padding:0 16px 40px}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;display:flex}.brand{align-items:center;gap:10px;display:flex}.brand strong{white-space:nowrap;font-size:16px}.logo{background:var(--accent);width:26px;height:26px;color:var(--accent-fg);border-radius:7px;place-items:center;font-weight:700;display:grid}.product-select{text-overflow:ellipsis;max-width:min(360px,60vw);font-size:13px}.items-done{color:var(--done)}.topbar-actions{gap:8px;display:flex}.stats{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;padding:10px 14px;display:flex}.stat-value{font-variant-numeric:tabular-nums;font-size:22px;font-weight:600}.stat-label{color:var(--muted);font-size:12px}.stat-hint{color:var(--muted);margin-top:2px;font-size:11px}.stat.t-active .stat-value{color:var(--active)}.stat.t-warn .stat-value{color:var(--warn)}.stat.t-done .stat-value{color:var(--done)}.filters{flex-direction:column;gap:10px;margin-bottom:14px;display:flex}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border-radius:999px;padding:4px 12px;font-size:13px}.chip.on{background:var(--text);color:var(--bg);border-color:var(--text)}.filter-row{gap:8px;display:flex}.filter-row .search{flex:1}.layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;display:grid}.layout.with-detail{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}.group{margin-bottom:18px}.group h2{color:var(--muted);margin:0 0 6px 2px;font-size:13px;font-weight:600}.group ul,.items,.docs,.links,.tokens,.candidates ul{margin:0;padding:0;list-style:none}.row-wrap{align-items:stretch;gap:6px;display:flex}.row-wrap .row{flex:1}.copy-btn{color:var(--accent);white-space:nowrap;flex:none;font-size:12px}.toast{background:var(--text);color:var(--bg);z-index:30;border-radius:999px;max-width:calc(100vw - 32px);padding:8px 16px;font-size:13px;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.group li+li{margin-top:6px}.row{text-align:left;border-radius:var(--radius);background:var(--surface);align-items:flex-start;gap:10px;width:100%;padding:10px 12px;display:flex}.row.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.row-main{flex-direction:column;gap:3px;min-width:0;display:flex}.row-title{overflow-wrap:anywhere;font-weight:500}.row-meta{color:var(--muted);flex-wrap:wrap;gap:10px;font-size:12px;display:flex}.status{background:var(--idle-soft);color:var(--muted);white-space:nowrap;border-radius:999px;flex:none;padding:1px 8px;font-size:12px}.s-in_progress{background:var(--active-soft);color:var(--active)}.s-blocked{background:var(--warn-soft);color:var(--warn)}.s-review{background:var(--review-soft);color:var(--review)}.s-done{background:var(--done-soft);color:var(--done)}.s-cancelled,.s-shelved{text-decoration:line-through}.prio{font-size:12px}.p-high{color:var(--danger);font-weight:600}.tag{background:var(--surface-2);color:var(--muted);white-space:nowrap;border-radius:4px;padding:0 6px;font-size:11px}.detail{max-height:calc(100vh - 24px);padding:18px 20px;position:sticky;top:12px;overflow-y:auto}.detail-head{justify-content:space-between;align-items:center;display:flex}.detail-head>div{align-items:center;gap:8px;display:flex}.close{padding:2px 8px;font-size:16px}.detail-title{overflow-wrap:anywhere;margin:10px 0 6px;font-size:18px}.summary{white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 8px}.outcome{background:var(--done-soft);border-radius:8px;margin:8px 0;padding:8px 10px}.actions{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.facts{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 16px;margin:14px 0;padding:12px 0;display:grid}.facts dt{color:var(--muted);font-size:12px}.facts dd{overflow-wrap:anywhere;margin:0}.block{margin:16px 0}.block h3{margin-bottom:8px;font-size:14px}.items li,.docs li,.links li,.tokens li{flex-wrap:wrap;align-items:center;gap:8px;padding:5px 0;display:flex}.items li select{padding:2px 6px;font-size:12px}.struck{color:var(--muted);text-decoration:line-through}.docs code{overflow-wrap:anywhere}.links a{color:inherit;overflow-wrap:anywhere}.ln-ok{background:var(--done-soft);color:var(--done)}.ln-bad{background:var(--warn-soft);color:var(--danger)}.inline-form{gap:6px;margin-top:8px;display:flex}.inline-form input{flex:1}.timeline{border-left:2px solid var(--border);margin:0;padding:0 0 0 14px;list-style:none}.timeline li{padding:0 0 12px 8px;position:relative}.timeline li:before{content:"";background:var(--border);border:2px solid var(--surface);border-radius:50%;width:8px;height:8px;position:absolute;top:7px;left:-20px}.tl-head{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.tl-type{font-size:13px;font-weight:600}.tl-time{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:12px}.tl-note{white-space:pre-wrap;overflow-wrap:anywhere;margin:2px 0}.timeline p{margin:0}.edit-form,.dialog{flex-direction:column;gap:12px;display:flex}.edit-form{margin:12px 0}.form-row{grid-template-columns:2fr 1fr 1fr;gap:10px;display:grid}.overlay{z-index:20;background:#00000059;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.dialog{width:100%;max-width:560px;max-height:calc(100vh - 32px);padding:22px;overflow-y:auto}.dialog h2{font-size:18px}.candidates{background:var(--warn-soft);border-radius:8px;padding:10px}.candidates p{margin:0 0 8px}.candidates li+li{margin-top:6px}.tokens li>.muted{flex:220px;min-width:0}.tokens li.revoked{opacity:.55}.issued{background:var(--accent-soft);border-radius:8px;flex-direction:column;align-items:flex-start;gap:6px;padding:10px;display:flex}.issued p{margin:0}.secret{word-break:break-all;-webkit-user-select:all;user-select:all}@media (width<=900px){.stats{grid-template-columns:repeat(3,minmax(0,1fr))}.layout.with-detail{grid-template-columns:minmax(0,1fr)}.detail{z-index:10;border-radius:0;max-height:none;position:fixed;inset:0}.facts{grid-template-columns:repeat(2,minmax(0,1fr))}.form-row{grid-template-columns:1fr}}@media (width<=480px){.brand{flex-wrap:wrap;width:100%}.product-select{flex:100%;max-width:none}.stat-value{font-size:18px}.filter-row{flex-direction:column}}.decisions{border:1px solid var(--warn);border-radius:var(--radius);background:var(--warn-soft);margin-bottom:14px;padding:12px 14px}.decisions h2{align-items:baseline;gap:8px;margin-bottom:8px;font-size:15px;display:flex}.decision-count{background:var(--warn);color:var(--surface);border-radius:999px;padding:0 7px;font-size:12px;font-weight:600}.decisions ul{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.decision-card{text-align:left;border-radius:var(--radius);background:var(--surface);flex-direction:column;gap:6px;width:100%;height:100%;padding:10px 12px;display:flex}.decision-title{overflow-wrap:anywhere;font-weight:600}.decision-options{flex-wrap:wrap;gap:4px;display:flex}.opt-chip{background:var(--surface-2);overflow-wrap:anywhere;border-radius:999px;padding:1px 8px;font-size:12px}.opt-chip.recommended{background:var(--accent-soft);color:var(--accent)}.overdue{color:var(--danger);font-weight:600}.option-list{border:0;flex-direction:column;gap:6px;min-width:0;margin:0;padding:0;display:flex}.option-list legend{margin-bottom:4px;padding:0}.option{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);cursor:pointer;flex-direction:row;align-items:flex-start;gap:10px;padding:10px 12px;font-size:14px}.option.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.option input{accent-color:var(--accent);margin-top:4px}.option-body{flex-direction:column;gap:2px;min-width:0;display:flex}.option-head{overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:6px;display:flex}.option-meta{color:var(--muted);flex-wrap:wrap;gap:4px 12px;font-size:12px;display:flex}.rec-tag{background:var(--accent-soft);color:var(--accent)}.irreversible{background:var(--warn-soft);color:var(--danger)}@media (width<=480px){.decisions ul{grid-template-columns:minmax(0,1fr)}}.decision-facts{margin:-6px 0 0}.dot{background:var(--border);border-radius:50%;flex:none;width:8px;height:8px}.dot.on{background:var(--done)}.alerts{border:1px solid var(--danger);border-radius:var(--radius);background:var(--surface);margin-bottom:14px;padding:12px 14px}.alerts h2{align-items:baseline;gap:8px;margin-bottom:8px;font-size:15px;display:flex}.alert-count{background:var(--danger);color:var(--surface);border-radius:999px;padding:0 7px;font-size:12px;font-weight:600}.alerts ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.alert-row{background:var(--surface-2);border-radius:8px;align-items:center;gap:10px;padding:8px 10px;display:flex}.alert-row .level{text-align:center;border-radius:999px;flex:none;min-width:64px;padding:1px 8px;font-size:12px;font-weight:600}.l-HIGH{background:var(--warn-soft);color:var(--warn)}.l-CRITICAL{background:var(--danger);color:var(--surface)}.l-PAUSE{background:var(--idle-soft);color:var(--danger);border:1px solid var(--danger)}.alert-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.alert-title{overflow-wrap:anywhere;font-weight:600}.alert-actions{flex:none;gap:6px;display:flex}.alert-row button.link{color:var(--accent);background:0 0;border:0;padding:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;text-decoration:underline}.acked{color:var(--done)}.opps,.evidence,.score-bars{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.opp-row{text-align:left;border-radius:var(--radius);align-items:center;gap:12px;width:100%;padding:10px 12px;display:flex}.opp-score{text-align:center;font-variant-numeric:tabular-nums;background:var(--idle-soft);min-width:48px;color:var(--muted);border-radius:8px;flex:none;padding:2px 6px;font-weight:600}.opp-score.inline{min-width:0;margin-left:6px}.opp-score.r-A{background:var(--done-soft);color:var(--done)}.opp-score.r-C,.o-deciding{background:var(--warn-soft);color:var(--warn)}.o-accepted{background:var(--active-soft);color:var(--active)}.o-done{background:var(--done-soft);color:var(--done)}.o-rejected{text-decoration:line-through}.score-bars li{grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:10px;font-size:13px;display:grid}.score-label{color:var(--muted)}.score-track{background:var(--idle-soft);border-radius:999px;height:8px;overflow:hidden}.score-fill{background:var(--accent);height:100%;display:block}.score-num{color:var(--muted);font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:12px}.evidence li{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:10px 12px}.evidence-title{overflow-wrap:anywhere;margin:4px 0;font-weight:600}.evidence-title a{color:var(--accent)}.evidence blockquote{border-left:3px solid var(--border);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding-left:10px}@media (width<=480px){.score-bars li{grid-template-columns:56px minmax(0,1fr)}.score-num{grid-column:2}.alert-row{flex-wrap:wrap}.alert-actions{justify-content:flex-end;width:100%}}.dialog.wide{max-width:860px}.cost-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.month-nav{font-variant-numeric:tabular-nums;align-items:center;gap:4px;display:flex}.cost-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.cost-stats small{color:var(--warn);font-size:12px;font-weight:400}.budgets,.allocs{margin:0;padding:0;list-style:none}.budgets li{padding:6px 0}.budget-line{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:4px;display:flex}.paused-tag{background:var(--danger);color:var(--surface);margin-left:6px}.bar{background:var(--surface-2);border-radius:999px;height:8px;position:relative;overflow:hidden}.bar>span{background:var(--accent);border-radius:999px;height:100%;display:block}.bar>i{background:var(--border);width:1px;position:absolute;top:0;bottom:0}.bar.lv-70>span,.bar.lv-80>span{background:var(--warn)}.bar.lv-95>span,.bar.lv-100>span{background:var(--danger)}.allocs li{flex-wrap:wrap;align-items:baseline;gap:8px;padding:4px 0;display:flex}.alloc-note{flex-basis:100%}.cost-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin-top:8px}.cost-table th,.cost-table td{text-align:right;border-bottom:1px solid var(--border);white-space:nowrap;padding:5px 6px}.cost-table th{color:var(--muted);font-size:12px;font-weight:500}.cost-table th:first-child,.cost-table td:first-child{text-align:left;white-space:normal}.task-cell{flex-direction:column;display:flex}.task-title{color:var(--muted);overflow-wrap:anywhere;font-size:12px}.dialog button.link{color:var(--accent);background:0 0;border:0;align-self:flex-start;padding:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;text-decoration:underline}@media (width<=480px){.cost-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dialog .inline-form{flex-wrap:wrap}.dialog .inline-form input,.dialog .inline-form select{flex:40%}.cost-table th,.cost-table td{padding:5px 3px}}.notify-line{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.gate-badge{background:var(--review-soft);color:var(--review);white-space:nowrap;border-radius:999px;padding:0 8px;font-size:12px}.gate-badge.v-approved{background:var(--done-soft);color:var(--done)}.gate-badge.v-changes_requested{background:var(--warn-soft);color:var(--warn)}.gate-badge.v-withdrawn{background:var(--idle-soft);color:var(--muted)}.participants{flex-wrap:wrap;gap:6px 14px;margin:0 0 8px;padding:0;list-style:none;display:flex}.participants li{align-items:center;gap:6px;display:flex}.participants li.left{opacity:.55}.review-card{border:1px solid var(--border);border-left:3px solid var(--review);background:var(--surface-2);border-radius:8px;margin:8px 0 12px;padding:8px 12px}.review-card.v-approved{border-left-color:var(--done)}.review-card.v-changes_requested{border-left-color:var(--warn)}.review-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.review-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0}.thread{margin:0;padding:0;list-style:none}.thread li{border-bottom:1px solid var(--border);padding:8px 0}.thread li.unread{border-left:3px solid var(--active);padding-left:8px}.thread p{margin:2px 0}.msg-head{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.msg-body,.msg-refs{white-space:pre-wrap;overflow-wrap:anywhere}.composer{flex-direction:column;gap:6px;margin-top:8px;display:flex}.composer textarea{width:100%}.composer .inline-form{flex-wrap:wrap;margin-top:0}.composer .inline-form select{flex:40%;min-width:0}.inbox-btn .count{background:var(--danger);min-width:18px;color:var(--surface);text-align:center;border-radius:999px;margin-left:6px;padding:0 5px;font-size:11px;line-height:18px;display:inline-block}.link-btn{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;text-decoration:underline}.brief-copy{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.brief-agent{width:170px}@media (width<=480px){.brief-copy,.brief-agent{width:100%}}.item-status{background:var(--idle-soft);color:var(--muted);border-radius:999px;flex:none;padding:0 8px;font-size:12px}.item-status.is-doing{background:var(--active-soft);color:var(--active)}.item-status.is-done{background:var(--done-soft);color:var(--done)}.component-picker{flex-wrap:wrap;gap:6px;display:flex}
