:root{--bg: #f4f5f7;--card: #ffffff;--text: #1c1f24;--muted: #6b7280;--border: #e2e5ea;--accent: #1f5fbf;--ok: #18794e;--danger: #c4321b;--warn-bg: #fff7e0;color-scheme:light;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.45;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0}h1,h2,h3,h4{margin:0 0 12px;line-height:1.2}h2{font-size:1.35rem}a{color:var(--accent)}code,pre,.mono{font-family:ui-monospace,Cascadia Mono,Menlo,monospace}pre{white-space:pre-wrap;word-break:break-word;margin:0}.pre{white-space:pre-wrap}input,select,textarea,button{font:inherit}input,select,textarea{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:#fff}textarea{min-height:100px}label{display:block;margin-bottom:12px;font-size:.9rem;color:var(--muted)}label input,label select{margin-top:4px;color:var(--text)}label.inline{display:inline-flex;gap:6px;align-items:center;margin:0}label.inline input{width:auto;margin:0}button{padding:8px 14px;border:1px solid var(--accent);border-radius:6px;background:var(--accent);color:#fff;cursor:pointer}button:disabled{opacity:.6;cursor:default}button.small{padding:4px 8px;font-size:.85rem;background:#fff;color:var(--accent)}button.small.active{background:var(--accent);color:#fff}button.link{background:none;border:none;color:var(--accent);padding:4px}button.approve{background:var(--ok);border-color:var(--ok)}button.reject{background:var(--danger);border-color:var(--danger)}.muted{color:var(--muted)}.small{font-size:.85rem}.error{color:var(--danger)}.ok{color:var(--ok)}.nowrap{white-space:nowrap}.center{display:grid;place-items:center;min-height:60vh}.card{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:14px 16px;margin:12px 0}.card.highlight{background:var(--warn-bg)}.card.danger{border-color:var(--danger)}.card.clickable{cursor:pointer}.card.active{border-color:var(--accent)}.layout{display:grid;grid-template-columns:230px 1fr;grid-template-rows:auto 1fr;min-height:100vh}.topbar{grid-column:1 / -1;display:flex;align-items:center;gap:12px;padding:10px 16px;background:#1c2a3e;color:#fff}.topbar .brand{font-weight:600}.topbar .spacer{flex:1}.topbar a,.topbar button.link{color:#cfe0ff}.user-link{text-decoration:none;font-size:.9rem}.menu-btn{display:none;background:none;border:none;font-size:1.3rem;padding:0 4px}.sidebar{background:#fff;border-right:1px solid var(--border);padding:12px 0}.sidebar a{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;color:var(--text);text-decoration:none}.sidebar a.active{background:#e8effb;color:var(--accent);font-weight:600}.badge{font-size:.7rem;color:var(--muted);border:1px solid var(--border);border-radius:10px;padding:0 6px}.content{padding:20px;min-width:0}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.grid .card{margin:0}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:0 16px;align-items:end}.form-grid .full{grid-column:1 / -1;margin-bottom:10px}.form-grid button{margin-bottom:12px}.filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0}.filters input{max-width:320px}.table-wrap{overflow-x:auto;background:#fff;border:1px solid var(--border);border-radius:8px;margin:12px 0}table{width:100%;border-collapse:collapse}th,td{padding:8px 10px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}th{font-size:.85rem;color:var(--muted);font-weight:600;background:#fafbfc}tr.inactive td{color:var(--muted)}tr.sensitive td:first-child{border-left:3px solid var(--danger)}td select{min-width:120px}td.actions{display:flex;flex-wrap:wrap;gap:4px}.pager{display:flex;gap:12px;align-items:center}.split{display:grid;grid-template-columns:minmax(260px,1fr) minmax(300px,1.3fr);gap:16px;align-items:start}.row{display:flex;justify-content:space-between;gap:8px}.status{font-size:.8rem;padding:1px 8px;border-radius:10px;background:#eef0f3;white-space:nowrap}.status.pending{background:var(--warn-bg)}.status.done{background:#e3f5ec;color:var(--ok)}.status.failed,.status.rejected{background:#fbe9e6;color:var(--danger)}.detail dl{margin:0}.detail dt{font-size:.8rem;color:var(--muted);margin-top:10px}.detail dd{margin:2px 0 0}.decision{margin-top:16px}.decision .buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.events{padding-left:18px;font-size:.85rem}.messages .msg img{max-width:100%;max-height:320px;border-radius:6px;margin-top:6px}.messages .msg img.thumb{cursor:zoom-in}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;background:#000000e6;cursor:zoom-out}.lightbox img{max-width:100vw;max-height:100vh;object-fit:contain}.lightbox-close{position:absolute;top:12px;right:12px;background:#ffffff26;border:none;font-size:1.3rem;line-height:1;padding:8px 12px}.messages .msg.out{border-left:3px solid var(--accent)}.login-wrap{display:grid;place-items:center;min-height:100vh;padding:16px}.login-card{width:100%;max-width:380px}.login-card form button{width:100%;margin-top:8px}.qr svg{width:200px;height:200px}.recovery pre{background:#f6f7f9;padding:10px;border-radius:6px;margin:8px 0 12px}code.big{font-size:1.3rem;letter-spacing:1px}@media(max-width:760px){.layout{grid-template-columns:1fr}.menu-btn{display:block}.sidebar{display:none;position:absolute;top:48px;left:0;right:0;z-index:10;border-bottom:1px solid var(--border);box-shadow:0 6px 16px #0000001a}.sidebar.open{display:block}.user-link{display:none}.content{padding:12px}.split{grid-template-columns:1fr}}
