:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none;color:#202824;background:#f7f8f6;--muted:#616d64;--line:#dce2db;--accent:#254c3b;--error:#963d2d}
*{box-sizing:border-box}
body{margin:0;line-height:1.5}
[hidden]{display:none!important}
button,input,textarea{font:inherit}
button,a,summary{-webkit-tap-highlight-color:transparent}
button{cursor:pointer;min-height:42px;border-radius:7px;padding:9px 15px;border:1px solid transparent;font-size:14px}
button:disabled{opacity:.6;cursor:default}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex="0"]:focus-visible{outline:3px solid #718c70;outline-offset:3px}
h1,h2,p{margin:0}
h1{font-size:23px;font-weight:620;letter-spacing:-.5px;line-height:1.35}
h2{font-size:16px;font-weight:620}
.muted{color:var(--muted)}
.small{font-size:12px;line-height:1.6}
.primary{background:var(--accent);color:#fff}
.primary:hover:not(:disabled){background:#193b2b}
.secondary{background:#fff;color:#34463b;border-color:var(--line)}
.secondary:hover:not(:disabled){background:#f1f4ee}
.text-button{background:none;color:var(--accent);text-align:left;padding:8px 0;text-decoration:underline;text-underline-offset:3px}
.button-link{display:inline-block;color:var(--accent);font-size:13px;margin:10px 0}
.error{color:var(--error);font-size:13px;line-height:1.6;white-space:pre-wrap}
.error:empty{display:none}
.auth-panel{max-width:390px;margin:12vh auto 50px;padding:0 24px}
.auth-panel>p{margin-top:12px}
.auth-panel form{margin-top:22px}
.auth-panel label:not(.checkbox-label){display:block;font-size:13px;font-weight:550;margin:16px 0 6px}
.auth-panel input:not([type="checkbox"]){display:block;width:100%;border:1px solid #cbd5c9;border-radius:7px;padding:11px 12px;color:#202824;background:#fff;font-size:16px}
.auth-panel .primary{width:100%;margin:18px 0 12px}
.auth-panel .text-button{display:block}
.auth-panel .error{margin:10px 0}
#two-factor{max-width:470px;margin-top:7vh}
#two-factor-title:focus{outline:none}
#enrollment h2{margin-top:25px;margin-bottom:8px}
.setup-key,.recovery-codes{display:block;background:#fff;border:1px solid var(--line);border-radius:7px;padding:14px;font-size:14px;line-height:1.8;overflow-wrap:anywhere;white-space:pre-wrap;user-select:all}
.setup-key{margin-top:12px;letter-spacing:.6px}
.recovery-codes{margin:12px 0}
.setup-qr{display:block;width:200px;height:200px;margin:14px auto;background:white}
.checkbox-label{display:flex;align-items:flex-start;gap:9px;margin:16px 0 8px;font-size:13px}
.checkbox-label input{width:18px;height:18px;margin:1px 0;accent-color:var(--accent);flex-shrink:0}
#auth-code{letter-spacing:2px}
.workspace{max-width:960px;margin:0 auto;padding:30px 24px 55px}
.header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}
.header h1{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.paper-label{font-size:11px;font-weight:550;letter-spacing:.2px;background:#e6eddf;color:#476139;padding:3px 7px;border-radius:4px}
.header #connection{margin-top:5px}
.header-actions{display:flex;gap:8px;flex-shrink:0}
.stop-button{background:#fff;border-color:#dfc4b9;color:#873c2d}
.stop-button:hover:not(:disabled){background:#fcf0e9}
.is-offline{color:var(--error)}
.workspace>.error,.notice{margin:12px 0}
.notice{background:#f7edce;border:1px solid #e3d49e;border-radius:7px;padding:12px;font-size:13px}
.status-banner{padding:12px 14px;background:#eaf0e6;border:1px solid #d9e3d1;border-radius:7px;font-size:12px;margin-bottom:16px}
.status-banner strong{font-weight:620}
.status-banner span{display:block;color:#58694e;margin-top:3px;line-height:1.6}
.status-banner.needs-attention{background:#fcf0e9;border-color:#e7c9bb}
.status-banner.needs-attention strong,.status-banner.needs-attention span{color:#7d4434}
.summary{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:0 2px}
.summary>div{display:flex;flex-direction:column;min-width:0}
.summary strong{font-size:26px;font-weight:550;letter-spacing:-.5px;margin:3px 0;overflow-wrap:anywhere}
.risk-note{font-size:12px;margin-top:15px}
.risk-note strong{font-weight:600}
.risk-footnote{font-size:11px;margin:5px 0 20px}
.chat{background:#fff;border:1px solid var(--line);border-radius:9px;padding:16px}
.chat-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:0 2px 12px;border-bottom:1px solid #edf0eb}
.chat-heading span{text-align:right;font-size:11px}
.messages{height:clamp(280px,45vh,540px);overflow:auto;padding:18px 2px;overscroll-behavior:contain}
.chat-welcome{padding:12px 2px;font-size:14px}
.bubble{max-width:92%;padding:11px 14px;border-radius:8px;margin:0 0 14px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.7}
.bubble.user{background:#eaf0e6;margin-left:auto}
.bubble.assistant{background:#f4f6f1}
.bubble.pending{color:var(--muted)}
#chat-form{display:flex;align-items:flex-end;gap:10px;border-top:1px solid #edf0eb;padding-top:13px}
#message{resize:vertical;min-height:66px;max-height:220px;flex:1;min-width:0;border:1px solid #cfd8cd;border-radius:7px;padding:12px;font-size:15px;color:#202824;background:#fff;line-height:1.5}
#message::placeholder{color:#73806f}
#chat-help{font-size:11px;line-height:1.6;margin-top:10px}
.details{margin-top:22px;border-top:1px solid var(--line)}
.details>summary{cursor:pointer;padding:16px 1px;font-size:13px;font-weight:550}
.details>section{padding:16px 0;border-top:1px solid var(--line)}
.details h2{margin-bottom:8px}
.connections{max-width:650px}
.connection-row{display:flex;justify-content:space-between;gap:20px;font-size:13px;padding:9px 0;border-bottom:1px solid #e9ede6}
.connection-row:last-child{border-bottom:0}
.connection-row>span:last-child{text-align:right;color:#687452}
.connection-row .ready{color:#3c693f!important}
.table-scroll{overflow-x:auto;margin:12px 0}
table{border-collapse:collapse;width:100%;font-size:12px}
th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere}
th{font-weight:600}
.activity-item{padding:10px 0;border-bottom:1px solid #e5eae1;font-size:12px;overflow-wrap:anywhere}
.activity-item strong{font-weight:550}
.activity-item p{color:var(--muted);margin-top:3px}
.empty{font-size:13px;color:var(--muted);padding:10px 0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:600px){
 .workspace{padding:20px 16px 40px}
 .header{align-items:flex-start;flex-direction:column;gap:12px;margin-bottom:16px}
 h1{font-size:21px}
 .header-actions{width:100%;justify-content:space-between}
 button{min-height:44px}
 .summary{gap:18px}
 .summary strong{font-size:24px}
 .summary .small{font-size:11px}
 .risk-note{font-size:11px}
 .chat{padding:12px}
 .chat-heading{align-items:flex-start}
 .chat-heading span{max-width:210px}
 .messages{height:clamp(210px,32vh,280px)}
 .bubble{max-width:96%;font-size:14px}
 #message{font-size:16px}
 #chat-form{gap:7px}
 #send-message{padding:9px 12px}
 table{min-width:550px}
 .connection-row{font-size:12px}
 .auth-panel{margin-top:9vh}
}
