:root{--bg: #f6f7f9;--panel: #ffffff;--ink: #1b2430;--muted: #67707d;--line: #e3e6ea;--accent: #0f6b54;--accent-ink: #ffffff;--danger: #b3261e;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}.login{max-width:380px;margin:12vh auto 0;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:2rem}.login h1{margin:0 0 .25rem;letter-spacing:-.02em}.login form{display:grid;gap:.9rem;margin-top:1.2rem}.login label{display:grid;gap:.3rem;font-size:.85rem;color:var(--muted)}.login .qr{width:180px;height:180px;justify-self:center}input{padding:.55rem .7rem;border:1px solid var(--line);border-radius:6px;font-size:1rem;color:var(--ink)}input:focus{outline:2px solid var(--accent);outline-offset:-1px}button{padding:.6rem 1rem;border:none;border-radius:6px;background:var(--accent);color:var(--accent-ink);font-size:.95rem;font-weight:600;cursor:pointer}button:disabled{opacity:.6;cursor:default}button.linkish{background:none;color:var(--muted);font-weight:400;padding:.3rem}button.linkish:hover{color:var(--ink)}.shell header{display:flex;align-items:center;gap:1.2rem;padding:.7rem 1.4rem;background:var(--panel);border-bottom:1px solid var(--line)}.brand{font-weight:700;color:var(--accent);font-size:1.05rem}.shell nav{display:flex;gap:.9rem}.shell nav a{color:var(--muted);text-decoration:none;padding:.2rem 0}.shell nav a.active{color:var(--ink);border-bottom:2px solid var(--accent)}.spacer{flex:1}.who{font-size:.85rem;color:var(--muted)}.role{margin-left:.5rem;padding:.1rem .45rem;border-radius:99px;background:var(--bg);border:1px solid var(--line);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}main{padding:1.4rem;max-width:1100px;margin:0 auto}h2{margin:.2rem 0 .3rem}table{width:100%;border-collapse:collapse;background:var(--panel);border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-top:1rem;font-size:.9rem}th,td{text-align:left;padding:.55rem .8rem;border-bottom:1px solid var(--line)}th{color:var(--muted);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:#fafbfc}.tag{padding:.12rem .5rem;border-radius:99px;background:var(--bg);border:1px solid var(--line);font-size:.78rem}.status-active{border-color:var(--accent);color:var(--accent)}.status-ended,.status-cancelled{color:var(--muted)}.mono{font-family:ui-monospace,Cascadia Mono,Consolas,monospace}.muted{color:var(--muted)}.error{color:var(--danger)}.empty{margin-top:1rem;padding:2rem;text-align:center;color:var(--muted);background:var(--panel);border:1px dashed var(--line);border-radius:8px}.wrap{word-break:break-all;font-size:.75rem}.card{border:1px solid var(--line);border-radius:10px;background:#fff;padding:1rem 1.1rem;margin:1rem 0}.card h3{margin:0 0 .2rem;font-size:1rem}.card h4{margin:1.1rem 0 .4rem;font-size:.82rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.card.alarm{border-color:var(--danger)}.row{display:flex;gap:.7rem;align-items:flex-end;flex-wrap:wrap;margin-top:.8rem}.row.spread{justify-content:space-between;align-items:baseline}.grid{display:grid;gap:.7rem;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.grid label,label.inline{display:grid;gap:.25rem;font-size:.8rem;color:var(--muted)}label.inline{min-width:190px}select{font:inherit;padding:.45rem .6rem;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink)}select:focus{outline:2px solid var(--accent);outline-offset:-1px}.figures{display:grid;gap:.7rem;margin-top:.6rem;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.figure{border:1px solid var(--line);border-radius:8px;padding:.6rem .7rem;display:grid;gap:.15rem}.figure-label{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.figure-value{font-size:1.1rem;font-weight:600}.figure-hint{font-size:.72rem;color:var(--muted)}.figure.neg .figure-value{color:var(--danger)}.tag.danger{border-color:var(--danger);color:var(--danger)}.callout{border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:6px;padding:.6rem .8rem;margin:.8rem 0;font-size:.85rem}.callout.crit{border-left-color:var(--danger)}.callout ul{margin:.4rem 0 0;padding-left:1.1rem}.small{font-size:.78rem}.card table{display:block;overflow-x:auto;white-space:nowrap}.card .card.sub{margin:.7rem 0;background:#fbfcfd;border-color:var(--line)}.card details{margin:0}details.card summary{cursor:pointer;font-weight:600}td.neg,.mono.neg{color:var(--danger)}input[type=checkbox]{width:auto;margin:0;accent-color:var(--accent)}th:first-child,td:first-child{white-space:nowrap}label.inline span{display:flex;align-items:center;gap:.4rem;color:var(--ink)}input[type=radio]{width:auto;margin:0;accent-color:var(--accent)}.figure .figure-value.mono{font-variant-numeric:tabular-nums}tr.exc-blocking>td{background:#fff7f7}tr.exc-blocking>td:first-child{box-shadow:inset 3px 0 0 var(--danger)}.callout.small{font-size:.78rem;margin:.3rem 0}.field{display:grid;gap:.25rem}.field-label{font-size:.8rem;color:var(--muted)}tr.split-row>td{background:#fbfcfd;border-bottom-style:dotted}tr.split-row>td:first-child{padding-left:1.6rem}button.danger{background:#b3261e}button.danger:hover{background:#8e1e18}.tabs{display:flex;gap:.3rem;margin:1rem 0 0;border-bottom:1px solid var(--line)}.tab{background:none;color:var(--muted);font-weight:600;font-size:.85rem;border-radius:6px 6px 0 0;padding:.5rem .9rem;border-bottom:2px solid transparent}.tab:hover{color:var(--ink)}.tab.on{color:var(--accent);border-bottom-color:var(--accent);background:var(--panel)}.count{display:inline-block;margin-left:.4rem;padding:0 .4rem;border-radius:99px;background:var(--bg);border:1px solid var(--line);font-size:.72rem;font-weight:600;color:var(--ink)}.tag.ok{border-color:var(--accent);color:var(--accent)}.tag.warn{border-color:#a86a00;color:#a86a00}.stack{display:grid;gap:.4rem}.stack textarea{font:inherit;font-size:.82rem;padding:.4rem .5rem;border:1px solid var(--line);border-radius:6px;color:var(--ink);min-width:200px;resize:vertical}.stack textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}.rmk{white-space:normal;max-width:26rem}textarea{font:inherit;font-size:.88rem;padding:.5rem .6rem;width:100%;border:1px solid var(--line);border-radius:6px;color:var(--ink);background:#fff;resize:vertical;margin-top:.4rem}textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}input[type=number]{max-width:6rem}
