:root{--ink:#17211b;--muted:#667169;--green:#08734b;--green-dark:#075b3d;--green-soft:#e4f4eb;--paper:#f3f5f1;--white:#fff;--line:#dce3dc;--line-dark:#cbd5cd;--amber:#a66b00;--red:#a73737;--shadow:0 22px 70px rgba(18,37,27,.13)}
*{box-sizing:border-box}
html,body{min-height:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.eyebrow,.kicker{margin:0;color:#72c39b;font-size:11px;font-weight:800;letter-spacing:.16em}
.login-screen[hidden]{display:none}
.login-screen{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(380px,.8fr);align-items:center;gap:8vw;padding:clamp(32px,8vw,112px);background:radial-gradient(circle at 15% 20%,#285743 0,transparent 32%),linear-gradient(135deg,#10271d 0%,#17211b 56%,#0d1712 100%);color:white}
.login-brand h1{font-size:clamp(44px,7vw,84px);letter-spacing:-.06em;margin:12px 0}
.login-brand>p:last-child{color:#abc0b4;font-size:18px}
.login-card{background:rgba(255,255,255,.98);color:var(--ink);padding:38px;border-radius:22px;box-shadow:var(--shadow)}
.login-mark,.brand-mark{display:grid;place-items:center;background:var(--green);color:white;font-weight:900}
.login-mark{width:48px;height:48px;border-radius:14px;margin-bottom:24px;font-size:22px}
.login-card .kicker{color:var(--green)}
.login-card h2{font-size:30px;margin:8px 0 10px;letter-spacing:-.03em}
.login-copy{margin:0 0 28px;color:var(--muted);line-height:1.6}
.login-card label,.form-grid label{display:block;margin-bottom:7px;font-size:12px;font-weight:750}
.login-card input{margin-bottom:12px}
.login-button{width:100%;min-height:46px}
.login-state{min-height:20px;margin:14px 0 0;color:var(--red);font-size:13px}
.app-shell[hidden]{display:none}
.topbar{display:flex;justify-content:space-between;align-items:center;padding:18px clamp(24px,5vw,72px);background:var(--ink);color:white}
.brand-row,.top-actions{display:flex;align-items:center;gap:13px}
.brand-mark{width:36px;height:36px;border-radius:10px}
.topbar h1{margin:2px 0 0;font-size:19px}
.release{border:1px solid #4c5f55;border-radius:999px;padding:8px 13px;font-size:12px}
.ghost-button{border:1px solid #536159;border-radius:9px;background:transparent;color:#d9e3dc;padding:8px 12px}
.ghost-button:hover{border-color:#8caf9c;color:white}
main{max-width:1240px;margin:auto;padding:28px 24px 72px}
.summary-bar{display:flex;align-items:end;justify-content:space-between;gap:28px;padding:20px 2px}
.summary-bar h2{font-size:30px;margin:7px 0 0;letter-spacing:-.04em}
.summary-bar>p{max-width:520px;margin:0;color:var(--muted);line-height:1.6}
.tabs{display:flex;gap:4px;margin:14px 0 16px;border-bottom:1px solid var(--line)}
.tab{border:0;border-radius:9px 9px 0 0;background:transparent;color:var(--muted);padding:11px 15px;font-weight:700}
.tab.active{background:var(--white);color:var(--green)}
.view{display:none}
.view.active{display:block}
.panel{background:white;border:1px solid var(--line);border-radius:14px;padding:18px}
.search-row{display:flex;gap:10px}
.search-row input{flex:1}
input,select,textarea{width:100%;border:1px solid var(--line-dark);border-radius:9px;padding:10px 12px;background:white;color:var(--ink);outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(8,115,75,.1)}
textarea{resize:vertical}
button{border:1px solid var(--line-dark);border-radius:9px;background:white;padding:9px 14px;font-weight:700;color:var(--ink)}
button.primary{background:var(--green);border-color:var(--green);color:white}
button.primary:hover{background:var(--green-dark)}
.list-head{display:flex;justify-content:space-between;padding:18px 14px 9px;color:var(--muted);font-size:12px}
.knowledge-list,.proposal-list{background:white;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.knowledge-list.empty,.proposal-list.empty{padding:38px;text-align:center;color:var(--muted);border-style:dashed;background:transparent}
.entry-row{border-bottom:1px solid var(--line)}
.entry-row:last-child{border-bottom:0}
.entry-row summary{list-style:none;display:grid;grid-template-columns:minmax(240px,1.1fr) minmax(260px,1.6fr) auto;align-items:center;gap:22px;padding:15px 18px;cursor:pointer}
.entry-row summary::-webkit-details-marker{display:none}
.entry-row summary:hover{background:#f8faf7}
.entry-row[open] summary{background:#f3f8f4}
.entry-title{min-width:0}
.entry-name{display:block;font-size:15px;font-weight:760;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.entry-id{display:block;margin-top:4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px;color:#849087;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.entry-preview{color:var(--muted);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.entry-meta{display:flex;align-items:center;justify-content:flex-end;gap:7px}
.domain-chip,.category-chip,.type-chip,.status-chip{display:inline-block;border-radius:999px;padding:4px 8px;font-size:10.5px;font-weight:800;white-space:nowrap}
.domain-chip{background:var(--green-soft);color:var(--green)}
.category-chip{background:#e9eef7;color:#3f5f8a}
.type-chip{background:#edf0ed;color:var(--muted)}
.entry-detail{padding:20px 18px 24px;border-top:1px solid var(--line);background:#fbfcfa}
.entry-detail h4{margin:0 0 8px;font-size:12px}
.entry-detail pre{margin:0;white-space:pre-wrap;word-break:break-word;font:13px/1.7 ui-monospace,SFMono-Regular,Menlo,"PingFang SC",monospace;color:#33413a}
.aliases{margin-top:18px;color:var(--muted);font-size:12px}
.section-head{display:flex;align-items:center;justify-content:space-between;margin:9px 0 13px}
.section-head h3{margin:5px 0}
.proposal-card{background:white;border:1px solid var(--line);border-left-width:4px;padding:18px;border-bottom:0}
.proposal-card+.proposal-card{border-top:0}
.proposal-card.pending,.proposal-card.in_review{border-left-color:#d29726}
.proposal-card.needs-rebase,.proposal-card.needs_rebase{border-left-color:#8268b2}
.proposal-card.approved,.proposal-card.merged{border-left-color:var(--green)}
.proposal-card.rejected,.proposal-card.invalid{border-left-color:var(--red)}
.proposal-actions{display:flex;gap:8px;margin-top:14px}
.proposal-actions .reject{color:var(--red)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-grid .wide{grid-column:1/-1}
.form-actions{display:flex;align-items:center;gap:14px}
.hint{color:var(--muted)}
.telemetry-filter{display:flex;gap:8px;align-items:center}.telemetry-filter select{width:auto}
.metric-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.metric-card{background:white;border:1px solid var(--line);border-radius:14px;padding:18px}.metric-card span{display:block;color:var(--muted);font-size:12px}.metric-card strong{display:block;margin-top:8px;font-size:28px;letter-spacing:-.04em}
.telemetry-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.telemetry-grid h4{margin:0 0 14px}.stage-list>div{display:flex;justify-content:space-between;gap:20px;padding:9px 0;border-bottom:1px solid var(--line)}.stage-list>div:last-child{border-bottom:0}.stage-list.empty{color:var(--muted);font-size:13px}.stage-list strong{font-variant-numeric:tabular-nums}
.telemetry-table-panel{padding:0;overflow:hidden}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px 16px;border-top:1px solid var(--line);font-size:13px}th{color:var(--muted);font-size:11px;background:#f8faf7}td code{font-size:11px}.metric-error{color:var(--red);font-weight:700}.empty-cell{text-align:center;color:var(--muted);padding:28px}
@media(max-width:800px){.login-screen{grid-template-columns:1fr;padding:28px}
.login-brand{display:none}
.login-card{padding:28px}
.summary-bar{align-items:flex-start;flex-direction:column}
.entry-row summary{grid-template-columns:1fr}
.entry-meta{justify-content:flex-start}
.entry-preview{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.search-row,.top-actions{flex-wrap:wrap}
.search-row input{flex-basis:100%}
.release{order:2}
.form-grid{grid-template-columns:1fr}
.form-grid .wide{grid-column:auto}
.topbar{align-items:flex-start;gap:12px;flex-direction:column}
.metric-cards{grid-template-columns:1fr 1fr}.telemetry-grid{grid-template-columns:1fr}
}
