:root{--bg: #f6f5f0;--surface: #ffffff;--text: #1f2a22;--muted: #5f6b62;--line: #dfe3dc;--accent: #2f5d3a;--accent-text: #ffffff;--accent-soft: #e5efe6;--danger: #a3332b;--danger-soft: #fbeceb;--ok-soft: #e7f3e8;--radius: 10px;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text);background:var(--bg);font-size:15px;line-height:1.45}@media (prefers-color-scheme: dark){:root{--bg: #141815;--surface: #1d221e;--text: #e6ebe6;--muted: #9aa69c;--line: #2f3731;--accent: #6fae7c;--accent-text: #0f1410;--accent-soft: #233328;--danger: #ef8a80;--danger-soft: #3a2220;--ok-soft: #1f3324}}*{box-sizing:border-box}body{margin:0;background:var(--bg)}h1{font-size:1.6rem;margin:0 0 1rem}h2{font-size:1.1rem;margin:0 0 .75rem}a{color:var(--accent)}.splash{display:grid;place-items:center;min-height:100vh;color:var(--muted)}.shell{display:grid;grid-template-columns:220px 1fr;grid-template-rows:auto 1fr;min-height:100vh}.topbar{grid-column:1 / -1;display:flex;align-items:center;gap:12px;padding:10px 20px;background:var(--surface);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:8px;font-weight:700;text-decoration:none;color:var(--text)}.tenant-name{color:var(--muted)}.tenant-switch{max-width:280px}.spacer{flex:1}.user{color:var(--muted);text-decoration:none}.sidenav{display:flex;flex-direction:column;padding:16px 8px;gap:2px;border-right:1px solid var(--line)}.sidenav a{padding:8px 12px;border-radius:8px;text-decoration:none;color:var(--text)}.sidenav a.active{background:var(--accent-soft);color:var(--accent);font-weight:600}main{padding:24px;min-width:0}.page{max-width:1100px;display:flex;flex-direction:column;gap:16px}@media (max-width: 760px){.shell{grid-template-columns:1fr;grid-template-rows:auto auto 1fr}.sidenav{flex-direction:row;align-items:center;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line);padding:8px 16px}.sidenav a{white-space:nowrap}main{padding:16px}.topbar{padding:10px 16px;flex-wrap:wrap}.tenant-name,.user{display:none}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;overflow-x:auto}.form{display:flex;flex-direction:column;gap:12px}fieldset{border:0;padding:0;margin:0 0 8px;display:flex;flex-direction:column;gap:12px}legend{font-weight:600;margin-bottom:8px}.row{display:flex;gap:12px;flex-wrap:wrap}.row>.field{flex:1 1 180px}.field{display:flex;flex-direction:column;gap:4px}.field-label{font-size:.85rem;color:var(--muted)}.field-error{color:var(--danger);font-size:.85rem}.field-hint{color:var(--muted);font-size:.8rem}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);padding:9px 11px;border:1px solid var(--line);border-radius:8px;width:100%}input:focus,select:focus{outline:2px solid var(--accent);outline-offset:-1px}input.copy{margin-top:6px;font-family:ui-monospace,monospace;font-size:.85rem}.btn{font:inherit;padding:9px 16px;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer}.btn:hover{border-color:var(--accent)}.btn:disabled{opacity:.55;cursor:default}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:600}.btn-small{padding:5px 10px;font-size:.85rem}.btn-block{width:100%}.segmented{display:flex;gap:6px}.segmented button{flex:1;font:inherit;padding:9px;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer}.segmented button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:600}.banner{padding:10px 14px;border-radius:8px;background:var(--accent-soft)}.banner-error{background:var(--danger-soft);color:var(--danger)}.banner-ok{background:var(--ok-soft)}.muted{color:var(--muted)}.small{font-size:.85rem}.fineprint{color:var(--muted);font-size:.78rem}.empty{color:var(--muted);margin:0}.link-small{font-size:.9rem;text-align:center}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:9px 8px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:.8rem;color:var(--muted);font-weight:600}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.row-disabled td{opacity:.55}.actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.chip{display:inline-block;padding:2px 8px;margin:0 4px 4px 0;border-radius:999px;background:var(--accent-soft);font-size:.82rem}.tag{display:inline-block;margin-left:6px;padding:0 6px;border-radius:4px;border:1px solid var(--line);font-size:.75rem;color:var(--muted)}.tag-ok{color:var(--accent);border-color:var(--accent)}.role-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}.role-option{display:flex;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;cursor:pointer}.role-option input{width:auto;margin-top:3px}.role-option span{display:flex;flex-direction:column}.role-option small{color:var(--muted)}.role-option.disabled{opacity:.45;cursor:not-allowed}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.tile{display:flex;flex-direction:column;gap:4px;padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);text-decoration:none;color:var(--text)}.tile:hover{border-color:var(--accent)}.tile span{color:var(--muted);font-size:.9rem}.auth{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:40px 16px;gap:16px}.auth-brand{display:flex;align-items:center;gap:10px;font-size:1.3rem;font-weight:700}.auth-card{width:100%;max-width:480px}.auth-footer{color:var(--muted)}.page-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.page-head h1,.page-head h2{margin:0}.banner-warn{background:#fff4dc;color:#6b4a00}.tag-warn{color:#8a5a00;border-color:#e0b85c}.actions-left{justify-content:flex-start}.measure{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px dashed var(--line);border-radius:8px}textarea{font-family:ui-monospace,monospace}.nav-group{margin:12px 12px 4px;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}a.btn{text-decoration:none;display:inline-block}@media (prefers-color-scheme: dark){.banner-warn{background:#3a2f14;color:#f0d38a}}@media (max-width: 760px){.nav-group{display:none}}.row-bad td{background:var(--danger-soft)}.checks{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:4px}.check-bad{color:var(--danger)}.check-warn{color:#8a5a00}.tile-bad{border-color:var(--danger)}.tile-bad b{color:var(--danger)}.tiles .tile b{font-size:1.3rem}pre.payload{max-height:240px;overflow:auto;font-size:.78rem;background:var(--bg);padding:8px;border-radius:6px}.tabs-row{margin-bottom:12px;flex-wrap:wrap}label.check{display:flex;align-items:center;gap:8px;margin:8px 0}.attachments{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.attachment{display:flex;gap:10px;align-items:flex-start;padding:8px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.attachment img{width:72px;height:72px;object-fit:cover;border-radius:6px;display:block}.file-icon{width:72px;height:72px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:6px;border:1px solid var(--line);font-size:.8rem;font-weight:600;color:var(--muted);text-decoration:none}.attachment .small{min-width:0;overflow-wrap:anywhere}
