:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0d12;--bg-elevated:#12151c;--bg-card:#161a23;--bg-hover:#1c2129;--border:#262c3a;--border-soft:#1d2230;--text:#e6e8ee;--text-dim:#9aa3b5;--text-faint:#666f84;--accent:#5b8cff;--accent-dim:#2c3e6b;--green:#3ecf8e;--green-dim:#17402f;--red:#ef5350;--red-dim:#4a2323;--yellow:#f2b84b;--yellow-dim:#4a3c1d;--violet:#a78bfa;--violet-dim:#362a5c;--radius:8px;--font-ui:-apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-ui);margin:0;font-size:14px;line-height:1.45}#root{min-width:1280px;overflow-x:auto}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;font-size:inherit}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.text-dim{color:var(--text-dim)}.text-faint{color:var(--text-faint)}.app-shell{flex-direction:column;min-height:100%;display:flex}.app-header{background:var(--bg-elevated);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:20px;padding:10px 20px;display:flex}.app-title{letter-spacing:.02em;color:var(--text);white-space:nowrap;font-size:16px;font-weight:700}.app-nav{gap:4px;margin-right:auto;display:flex}.app-nav a{color:var(--text-dim);border-radius:var(--radius);padding:6px 10px;font-weight:600}.app-nav a:hover{background:var(--bg-hover);color:var(--text);text-decoration:none}.app-nav a.active{background:var(--bg-hover);color:var(--text)}.app-main{flex:1;width:100%;max-width:1600px;margin:0 auto;padding:20px}.pill{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-flex}.pill-dot{border-radius:50%;flex:none;width:7px;height:7px}.pill-green{background:var(--green-dim);color:var(--green)}.pill-green .pill-dot{background:var(--green)}.pill-red{background:var(--red-dim);color:var(--red)}.pill-red .pill-dot{background:var(--red)}.pill-yellow{background:var(--yellow-dim);color:var(--yellow)}.pill-yellow .pill-dot{background:var(--yellow)}.pill-gray{background:var(--bg-hover);color:var(--text-dim)}.pill-gray .pill-dot{background:var(--text-faint)}.pill-blue{background:var(--accent-dim);color:var(--accent)}.pill-blue .pill-dot{background:var(--accent)}.pill-violet{background:var(--violet-dim);color:var(--violet)}.pill-violet .pill-dot{background:var(--violet)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);min-width:0;padding:14px 16px;overflow:hidden}.card-title{white-space:nowrap;text-overflow:ellipsis;flex:auto;align-items:center;gap:6px;min-width:0;display:flex;overflow:hidden}.card-username{white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.card-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;display:grid}.card-link{color:inherit;text-decoration:none;transition:border-color .15s;display:flex}.card-link:hover{border-color:var(--accent);text-decoration:none}.section{margin-bottom:28px}.section-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);margin:0 0 10px;font-size:13px;font-weight:700}.btn{border:1px solid var(--border);background:var(--bg-hover);color:var(--text);border-radius:var(--radius);cursor:pointer;padding:6px 12px;font-weight:600}.btn:hover:not(:disabled){background:var(--border)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){filter:brightness(1.08)}.btn-approve{background:var(--green-dim);border-color:var(--green);color:var(--green)}.btn-approve:hover:not(:disabled){background:var(--green);color:#06140d}.btn-reject{background:var(--red-dim);border-color:var(--red);color:var(--red)}.btn-reject:hover:not(:disabled){background:var(--red);color:#1a0a0a}.btn-sm{padding:3px 9px;font-size:12px}.btn-group{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);gap:4px;padding:2px;display:inline-flex}.btn-group button{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:5px 12px;font-weight:600}.btn-group button.active{background:var(--accent);color:#fff}.btn-group button:hover:not(.active){background:var(--bg-hover);color:var(--text)}input[type=text],input[type=password],textarea{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:var(--radius);padding:6px 10px;font-family:inherit;font-size:13px}input[type=text]:focus,input[type=password]:focus,textarea:focus{outline:1px solid var(--accent);border-color:var(--accent)}.table-wrap{border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}thead th{text-align:left;background:var(--bg-elevated);color:var(--text-dim);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--border);white-space:nowrap;padding:8px 12px;font-size:11px;font-weight:700;position:sticky;top:0}tbody td{border-bottom:1px solid var(--border-soft);vertical-align:top;padding:8px 12px}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:var(--bg-hover)}.row-clickable{cursor:pointer}.cell-text{max-width:420px}.cell-truncate{cursor:pointer;white-space:nowrap;text-overflow:ellipsis;max-width:420px;display:block;overflow:hidden}.cell-error{color:var(--red);white-space:pre-wrap;max-width:480px}.state-block{text-align:center;color:var(--text-dim);padding:40px 20px}.state-block.error{color:var(--red)}.state-block-compact{text-align:left;color:var(--text-dim);padding:4px 0;font-size:13px}.barchart-row{grid-template-columns:160px 1fr 90px;align-items:center;gap:10px;padding:5px 0;display:grid}.barchart-label{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.barchart-track{background:var(--bg);border-radius:4px;height:14px;overflow:hidden}.barchart-fill{background:var(--accent);border-radius:4px;height:100%}.barchart-value{text-align:right;font-size:12px}.overlay{z-index:100;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.overlay-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);width:380px;max-width:90vw;padding:24px}.overlay-card h2{margin:0 0 8px;font-size:16px}.overlay-card form{flex-direction:column;gap:10px;margin-top:12px;display:flex}.stack{flex-direction:column;gap:8px;display:flex}.row{align-items:center;gap:8px;min-width:0;display:flex}.row-wrap{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.spacer{flex:1}.drawer-backdrop{z-index:100;background:#00000080;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer{background:var(--bg-elevated);border-left:1px solid var(--border);flex-direction:column;width:460px;max-width:92vw;height:100%;display:flex}.drawer-wide{width:620px}.drawer-header{border-bottom:1px solid var(--border);flex:none;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;display:flex}.drawer-title{font-size:14px;font-weight:700}.drawer-body{flex:1;padding:16px;overflow-y:auto}.kv-grid{grid-template-columns:auto 1fr;gap:4px 12px;font-size:13px;display:grid}.event-item{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px}.event-detail{background:var(--bg);border:1px solid var(--border-soft);font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word;border-radius:6px;margin:8px 0 0;padding:8px 10px;font-size:11px;overflow-x:auto}.badge-count{background:var(--red);color:#1a0a0a;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:800;display:inline-flex}.kanban-board{align-items:flex-start;gap:12px;padding-bottom:8px;display:flex;overflow-x:auto}.kanban-column{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;flex:0 0 300px;width:300px;max-height:calc(100vh - 220px);display:flex;overflow:hidden}.kanban-column-header{border-bottom:1px solid var(--border);flex:none;align-items:center;gap:8px;padding:10px 12px;display:flex}.kanban-column-body{flex-direction:column;flex:1;gap:8px;min-height:60px;padding:10px;transition:background-color .1s;display:flex;overflow-y:auto}.kanban-column-body.drag-over{background:var(--bg-hover);box-shadow:inset 0 0 0 1px var(--accent);border-radius:6px}.kanban-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);cursor:grab;flex-direction:column;gap:6px;padding:10px 12px;font-size:13px;transition:border-color .15s,opacity .15s;display:flex}.kanban-card:hover{border-color:var(--accent)}.kanban-card.dragging{opacity:.5}.kanban-card-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:700;display:-webkit-box;overflow:hidden}.spinner{vertical-align:middle;border:2px solid #ffffff40;border-top-color:currentColor;border-radius:50%;width:13px;height:13px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}
