:root{--color-canvas: #FFFFFF;--color-surface: #FFFFFF;--color-surface-raised:#FAFAF8;--color-surface-sunken:#F7F5F2;--color-ink: #2A2420;--color-ink-muted: #525252;--color-ink-faint: #8C8C8C;--color-ink-fainter: #ABABAB;--color-line: #E4E0DC;--color-line-light: #EDEBE8;--color-line-strong: #D5CFC8;--color-accent: #C9785A;--color-accent-hover: #B56A4E;--color-accent-soft: #FBF2EC;--color-accent-ink: #FFFFFF;--color-success: #5A9E78;--color-warning: #C9A85A;--color-danger: #C95A5A;--color-info: #5A8FC9;--font-display: Arial, Helvetica, sans-serif;--font-body: Arial, Helvetica, sans-serif;--font-mono: "DM Mono", ui-monospace, Consolas, monospace}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--color-canvas);color:var(--color-ink);font-family:var(--font-body);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}.app-shell{display:grid;grid-template-columns:240px 1fr;height:100vh}.sidebar{background:var(--color-surface-sunken);border-right:1px solid var(--color-line);padding:28px 16px;display:flex;flex-direction:column;gap:20px}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:0 8px 16px;border-bottom:1px solid var(--color-line)}.brand-mark{width:32px;height:32px;display:grid;place-items:center;background:var(--color-ink);color:var(--color-canvas);border-radius:4px;font-family:var(--font-display);font-size:18px;font-weight:700;letter-spacing:-.02em}.brand-mark.large{width:48px;height:48px;font-size:28px;border-radius:6px}.brand-text{font-family:var(--font-display);font-size:16px;font-weight:600;letter-spacing:-.01em;color:var(--color-ink)}.sidebar nav{display:flex;flex-direction:column;gap:2px;flex:1}.nav-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:4px;color:var(--color-ink-muted);text-decoration:none;font-size:13px;font-weight:500;letter-spacing:.01em;transition:color .15s,background .15s}.nav-item:hover{color:var(--color-ink);background:var(--color-canvas)}.nav-item.active{color:var(--color-ink);background:var(--color-canvas);box-shadow:inset 0 0 0 1px var(--color-line)}.sidebar-foot{font-size:11px;color:var(--color-ink-faint);padding:12px 8px;text-transform:uppercase;letter-spacing:.08em;border-top:1px solid var(--color-line)}.user-email{font-family:var(--font-mono);text-transform:none;letter-spacing:0;font-size:12px}.content{padding:40px 48px;overflow-y:auto;background:var(--color-canvas)}.page-head{margin-bottom:32px}.page-head h1{font-family:var(--font-display);font-size:34px;font-weight:400;letter-spacing:-.02em;margin:0 0 6px;color:var(--color-ink)}.page-sub{color:var(--color-ink-faint);margin:0;font-size:13px;text-transform:uppercase;letter-spacing:.1em}.muted{color:var(--color-ink-faint)}.empty{padding:64px 32px;text-align:center;border:1px solid var(--color-line);border-radius:4px;color:var(--color-ink-faint);font-size:14px;background:var(--color-surface-sunken)}.kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:32px}.split-row{display:grid;grid-template-columns:7fr 5fr;gap:16px}@media (max-width: 980px){.kpi-row{grid-template-columns:repeat(2,1fr)}.split-row{grid-template-columns:1fr}}.tremor-Card-root{background:var(--color-surface)!important;border-color:var(--color-line)!important;border-radius:4px!important;color:var(--color-ink)!important;box-shadow:none!important;transition:border-color .15s}.tremor-Card-root:hover{border-color:var(--color-line-strong)!important}.tremor-Text-root{color:var(--color-ink-faint)!important;font-size:11px!important;text-transform:uppercase;letter-spacing:.1em}.tremor-Metric-root{color:var(--color-ink)!important;font-weight:400!important;letter-spacing:-.02em}.tremor-Title-root{color:var(--color-ink)!important;font-weight:500!important;font-size:14px!important}.approval-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.approval-card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:4px;padding:20px 24px;display:flex;flex-direction:column;gap:14px;transition:border-color .15s}.approval-card:hover{border-color:var(--color-line-strong)}.approval-meta{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--color-ink-faint);text-transform:uppercase;letter-spacing:.08em}.chip{padding:3px 10px;border-radius:2px;background:var(--color-accent-soft);color:var(--color-accent);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.chip-warn{background:#fff7e8;color:#a67900}.approval-body{display:flex;gap:20px;align-items:flex-start}.approval-preview{width:240px;max-height:360px;height:auto;object-fit:contain;border-radius:2px;flex-shrink:0;background:#f6f4ef;border:1px solid var(--color-line);display:block;cursor:zoom-in;transition:opacity .12s ease}.approval-preview:hover{opacity:.92}.approval-body h3{margin:0 0 8px;font-family:var(--font-display);font-size:20px;font-weight:400;letter-spacing:-.01em;color:var(--color-ink)}.approval-body p{margin:0;color:var(--color-ink-muted);font-size:14px;line-height:1.55}.approval-actions{display:flex;gap:8px}.approval-actions button{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:2px;background:var(--color-canvas);border:1px solid var(--color-line);color:var(--color-ink);font-size:13px;font-family:var(--font-body);font-weight:500;letter-spacing:.01em;cursor:pointer;transition:background .15s,border-color .15s}.approval-actions button:hover:not(:disabled){background:var(--color-surface-raised);border-color:var(--color-line-strong)}.approval-actions button:disabled{opacity:.45;cursor:not-allowed}.edit-disabled{color:var(--color-ink-faint)!important}.data-table{width:100%;border-collapse:collapse;background:var(--color-surface);border:1px solid var(--color-line);border-radius:4px;overflow:hidden}.data-table th{text-align:left;padding:12px 16px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--color-ink-faint);font-weight:600;background:var(--color-surface-sunken);border-bottom:1px solid var(--color-line)}.data-table td{padding:14px 16px;font-size:14px;color:var(--color-ink);border-bottom:1px solid var(--color-line-light)}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:var(--color-surface-sunken)}.data-table .thumb{width:40px;height:40px;object-fit:cover;border-radius:2px;border:1px solid var(--color-line)}.login-shell{display:grid;place-items:center;min-height:100vh;background:var(--color-canvas)}.login-card{width:100%;max-width:380px;background:var(--color-surface);border:1px solid var(--color-line);border-radius:4px;padding:40px;text-align:center}.login-card h1{font-family:var(--font-display);font-size:24px;font-weight:400;letter-spacing:-.01em;margin:20px 0 6px;color:var(--color-ink)}.login-sub{color:var(--color-ink-muted);font-size:13px;margin:0 0 24px;line-height:1.5}.auth-tabs{display:flex;gap:0;border:1px solid var(--color-line);border-radius:2px;margin:0 0 16px;overflow:hidden}.auth-tab{flex:1;padding:10px;background:var(--color-canvas);border:none;color:var(--color-ink-muted);font-family:var(--font-body);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background .15s,color .15s}.auth-tab:hover{background:var(--color-surface-sunken)}.auth-tab.active{background:var(--color-ink);color:var(--color-canvas)}.login-card form{display:flex;flex-direction:column;gap:10px}.login-card input{padding:12px 14px;background:var(--color-canvas);border:1px solid var(--color-line);border-radius:2px;color:var(--color-ink);font-family:var(--font-body);font-size:14px;transition:border-color .15s}.login-card input:focus{outline:none;border-color:var(--color-ink)}.login-card button{padding:12px;background:var(--color-ink);color:var(--color-canvas);border:none;border-radius:2px;font-family:var(--font-body);font-size:13px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;transition:background .15s}.login-card button:hover:not(:disabled){background:var(--color-accent)}.login-card button:disabled{opacity:.6;cursor:not-allowed}.login-error{color:var(--color-danger);font-size:13px;margin-top:12px}.nav-item{position:relative}.nav-badge{margin-left:auto;min-width:22px;padding:2px 6px;border-radius:11px;font-size:11px;font-weight:700;letter-spacing:.02em;text-align:center;line-height:1.4}.nav-badge-info{background:var(--color-ink);color:var(--color-canvas)}.nav-badge-bad{background:var(--color-danger);color:#fff}.panel{background:var(--color-surface);border:1px solid var(--color-line);border-radius:4px;padding:20px 24px;margin-bottom:20px}.section-head{margin:0 0 12px;font-family:var(--font-display);font-size:18px;font-weight:500;color:var(--color-ink);letter-spacing:-.01em}.hint{font-size:13px;margin:0 0 12px;color:var(--color-ink-muted);line-height:1.5}.hint-warn{margin-top:12px;color:var(--color-warning);font-size:12px;padding:8px 12px;background:#fff7e8;border-radius:2px}.btn-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px;align-items:center}.btn-primary,.btn-ghost,.btn-danger,.btn-link{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:2px;font-family:var(--font-body);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border:1px solid transparent;transition:background .15s,border-color .15s,color .15s;text-decoration:none;white-space:nowrap}.btn-primary{background:var(--color-ink);color:var(--color-canvas)}.btn-primary:hover:not(:disabled){background:var(--color-accent)}.btn-primary:disabled{opacity:.45;cursor:not-allowed}.btn-ghost{background:var(--color-canvas);color:var(--color-ink-muted);border-color:var(--color-line)}.btn-ghost:hover:not(:disabled){background:var(--color-surface-sunken);border-color:var(--color-line-strong);color:var(--color-ink)}.btn-ghost:disabled{opacity:.45;cursor:not-allowed}.btn-danger{background:transparent;color:var(--color-danger);border-color:var(--color-danger)}.btn-danger:hover:not(:disabled){background:var(--color-danger);color:#fff}.btn-danger:disabled{opacity:.45;cursor:not-allowed}.btn-link{background:transparent;color:var(--color-ink-muted);border-color:var(--color-line)}.btn-link:hover{color:var(--color-ink);border-color:var(--color-ink)}.status-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.stat-cell{padding:12px 14px;background:var(--color-surface-sunken);border:1px solid var(--color-line-light);border-radius:2px}.stat-label{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--color-ink-faint);margin-bottom:6px}.stat-value{display:flex;align-items:center;gap:6px;font-weight:600;font-size:14px}.disclosure-head{display:flex;align-items:center;gap:8px;background:transparent;border:none;padding:4px 0;cursor:pointer;font-family:var(--font-display);font-size:14px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-muted);width:100%;text-align:left}.disclosure-head:hover,.disclosure-head[aria-expanded=true]{color:var(--color-ink)}.advanced-body{display:flex;flex-direction:column;gap:0;margin-top:16px;border-top:1px solid var(--color-line)}.advanced-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--color-line-light)}.advanced-row:last-child{border-bottom:none}.advanced-row-stack{grid-template-columns:1fr;align-items:stretch}.advanced-title{font-size:14px;font-weight:600;color:var(--color-ink);letter-spacing:-.005em}.advanced-desc{font-size:12px;color:var(--color-ink-faint);grid-column:1;margin-top:2px;line-height:1.5}.thumb-empty{background:var(--color-surface-sunken)}.toast{position:fixed;bottom:24px;right:24px;padding:12px 18px;border-radius:2px;font-size:13px;font-weight:600;letter-spacing:.02em;box-shadow:0 12px 32px #0000002e;z-index:30;max-width:480px;line-height:1.45}.toast-ok{background:#1f2c1f;color:#f5f1e8}.toast-err{background:#3a1f1f;color:#f5f1e8}.queued-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.queued-row{display:grid;grid-template-columns:80px 1fr auto;gap:16px;align-items:center;padding:12px 16px;background:var(--color-surface);border:1px solid var(--color-line);border-radius:4px;transition:border-color .15s}.queued-row:hover{border-color:var(--color-line-strong)}.queued-thumb{width:80px;height:80px;object-fit:cover;border-radius:2px;background:#f6f4ef;border:1px solid var(--color-line);display:block;cursor:zoom-in}.queued-meta{min-width:0}.queued-title{font-family:var(--font-display);font-size:16px;font-weight:500;color:var(--color-ink);letter-spacing:-.005em;margin-bottom:6px}.queued-sub{display:flex;gap:10px;align-items:center;font-size:11px;color:var(--color-ink-faint);text-transform:uppercase;letter-spacing:.06em;flex-wrap:wrap}.queued-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.queued-actions .btn-primary,.queued-actions .btn-ghost,.queued-actions .btn-danger{padding:6px 12px;font-size:11px}@media (max-width: 768px){.queued-row{grid-template-columns:1fr}.queued-actions{justify-content:flex-start}}.health-banner{display:flex;align-items:center;gap:14px;padding:16px 20px;border-radius:4px;margin-bottom:24px;border:1px solid}.health-banner button{margin-left:auto}.banner-ok{background:#f0f5ef;border-color:#c9d9c5;color:#3a5a38}.banner-warn{background:#fff7e8;border-color:#e8d7a0;color:#7a6020}.banner-bad{background:#fbeded;border-color:#e5baba;color:#6a2020}.banner-title{font-weight:600;font-size:16px;letter-spacing:-.005em}.banner-sub{font-size:12px;opacity:.85;margin-top:2px}.health-services{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;margin-bottom:32px}.service-card{background:var(--color-surface);border:1px solid var(--color-line);border-left-width:3px;border-radius:4px;padding:16px 18px;display:flex;flex-direction:column;gap:8px}.service-ok{border-left-color:var(--color-success)}.service-warning{border-left-color:var(--color-warning)}.service-broken{border-left-color:var(--color-danger)}.service-unknown{border-left-color:var(--color-line-strong)}.service-head{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;color:var(--color-ink)}.service-ok .service-head{color:var(--color-success)}.service-warning .service-head{color:var(--color-warning)}.service-broken .service-head{color:var(--color-danger)}.service-name{letter-spacing:0}.service-detail{font-size:13px;color:var(--color-ink-muted);line-height:1.5}.service-affects,.service-fix{font-size:12px;color:var(--color-ink-muted);line-height:1.5;padding-top:6px;border-top:1px dashed var(--color-line)}.service-label{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--color-ink-faint);margin-right:8px}.health-section{margin-bottom:32px}.queue-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.queue-stat{background:var(--color-surface);border:1px solid var(--color-line);border-radius:4px;padding:18px 20px}.queue-num{font-family:var(--font-display);font-size:32px;font-weight:400;letter-spacing:-.02em;color:var(--color-ink);line-height:1}.queue-label{margin-top:6px;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-ink-faint)}
