:root{color-scheme:light;--color-bg:#f7f8f6;--color-surface:#fff;--color-surface-muted:#f1f4f0;--color-border:#e2e7e1;--color-text:#111827;--color-muted:#66736b;--color-primary:#0f766e;--color-primary-hover:#115e59;--color-focus:#2563eb;--success:#0f9f75;--warning:#b7791f;--danger:#c2413b;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--shadow-sm:0 1px 2px rgba(17,24,39,.05);font-family:"Avenir Next","Trebuchet MS",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--color-bg);color:var(--color-text);font-size:14px}button,input,textarea,select{font:inherit}button,a{transition:all .16s ease}.app-shell{display:flex;min-height:100vh}.sidebar{width:252px;flex:none;background:#f1f3f0;border-right:1px solid var(--color-border);padding:24px 16px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;padding:0 10px 28px;color:var(--color-text);text-decoration:none}.brand strong,.brand small{display:block}.brand small{color:var(--color-muted);font-size:12px;margin-top:2px}.brand-mark{width:34px;height:34px;border-radius:10px;background:var(--color-text);color:#fff;display:grid;place-items:center;font-weight:800}.nav{display:grid;gap:4px}.nav-item{color:var(--color-muted);padding:12px 10px;border-radius:var(--radius-sm);text-decoration:none;display:flex;gap:10px;align-items:center}.nav-item:hover,.nav-item.active{color:var(--color-text);background:#e2e9e2;font-weight:650}.nav-item:focus-visible,.button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--color-focus) 35%,transparent);outline-offset:2px}.icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}.sidebar-footer{margin-top:auto;color:var(--color-muted);font-size:12px;padding:16px 10px}.status-dot{display:inline-block;width:7px;height:7px;background:var(--success);border-radius:50%;margin-right:7px}.main-content{flex:1;min-width:0}.topbar{height:68px;background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:0 32px;display:flex;justify-content:space-between;align-items:center}.crumb{color:var(--color-muted);margin-right:6px}.content-wrap{max-width:1240px;margin:auto;padding:32px}.page-section{margin-bottom:56px}.page-heading,.section-heading{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:24px}.eyebrow{font-size:11px;letter-spacing:.12em;color:var(--color-muted);font-weight:700;margin:0 0 8px}.page-heading h1,.section-heading h1,.section-heading h2,.routing-panel h2,.modal-card h2{margin:0 0 8px;letter-spacing:-.02em}.page-heading h1,.section-heading h1{font-size:26px}.section-heading h2{font-size:21px}.muted{color:var(--color-muted);line-height:1.55;margin:0}.button{border:1px solid transparent;border-radius:var(--radius-sm);padding:10px 14px;cursor:pointer;white-space:nowrap;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;font-weight:650}.button:hover{transform:translateY(-1px)}.button.primary{background:var(--color-primary);color:#fff}.button.primary:hover{background:var(--color-primary-hover)}.button.dark{background:var(--color-text);color:#fff}.button.ghost{background:transparent;color:var(--color-muted);border-color:var(--color-border)}.button.ghost:hover{color:var(--color-text);background:var(--color-surface-muted)}.metric-grid{display:grid;grid-template-columns:repeat(6,1fr);border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-md);overflow:hidden;margin-bottom:24px;box-shadow:var(--shadow-sm)}.metric{padding:20px;border-right:1px solid var(--color-border)}.metric:last-child{border-right:0}.metric strong{font-size:28px;display:block;margin-bottom:5px}.metric span{color:var(--color-muted);font-size:12px}.panel,.table-panel,.doc-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.dashboard-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:24px;margin-bottom:24px}.chart-panel{padding:22px;min-height:260px}.panel-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.panel-heading h2{margin:0 0 6px;font-size:16px}.bar-chart{height:160px;display:flex;align-items:stretch;gap:8px;border-bottom:1px solid var(--color-border);padding-top:12px}.bar-item{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:8px;min-width:0}.bar-track{width:100%;height:125px;display:flex;align-items:flex-end;background:linear-gradient(to top,rgba(15,118,110,.05),transparent);border-radius:5px 5px 0 0}.bar-track span{display:block;width:100%;min-height:4px;background:var(--color-primary);border-radius:5px 5px 0 0}.bar-item small{font-size:10px;color:var(--color-muted);white-space:nowrap}.status-chart{display:grid;gap:18px;padding-top:12px}.status-row>div:first-child,.horizontal-row>div:first-child{display:flex;justify-content:space-between;gap:12px;margin-bottom:7px}.status-row strong,.horizontal-row strong{font-weight:750}.status-track{height:8px;border-radius:999px;background:#edf1ec;overflow:hidden}.status-track span{height:100%;display:block;border-radius:999px;background:var(--color-primary)}.status-track span.queued{background:#c49a3a}.status-track span.running{background:#3b82f6}.status-track span.succeeded{background:var(--success)}.status-track span.failed{background:var(--danger)}.routing-panel{padding:22px;display:flex;justify-content:space-between;gap:24px;align-items:center}.routing-controls,.filter-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.routing-controls select,.filter-row select,.modal-card input,.modal-card textarea,.modal-card select{border:1px solid #cbd5c8;border-radius:var(--radius-sm);padding:10px;background:#fff;min-width:170px}.table-panel{overflow:auto}.data-table{border-collapse:collapse;width:100%;min-width:760px}.data-table th,.data-table td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--color-border);vertical-align:middle}.data-table th{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted);background:#fafbfa;white-space:nowrap}.data-table tr:last-child td{border-bottom:0}.badge{border-radius:999px;padding:5px 9px;font-size:12px;font-weight:700;display:inline-block;white-space:nowrap}.badge.success{background:#d7f4e8;color:#116044}.badge.warning{background:#f9edc9;color:#805c14}.badge.danger{background:#fbe0dc;color:#92352f}.badge.neutral{background:#eef1ed;color:#536058}.empty{padding:48px;text-align:center;color:var(--color-muted)}.doc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.doc-card{padding:20px;text-decoration:none;color:var(--color-text);display:grid;gap:8px}.doc-card:hover{border-color:var(--color-primary);transform:translateY(-2px)}.doc-card span{color:var(--color-muted);line-height:1.5}.horizontal-chart{display:grid;gap:18px;padding-top:12px}.horizontal-row .status-track span{background:#3b82f6}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(100%,420px);background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:36px;box-shadow:0 18px 50px rgba(23,33,27,.08)}.auth-card h1{margin:0 0 8px}.auth-card .brand-mark{margin-bottom:24px}.stack{display:grid;gap:16px;margin-top:24px}label{display:grid;gap:7px;font-weight:650}label input,label textarea,label select{font-weight:400}.alert{border-radius:var(--radius-sm);padding:10px 12px;margin-top:18px}.alert.error{background:#fbe0dc;color:#92352f}.toast{position:fixed;right:24px;bottom:24px;background:var(--color-text);color:#fff;padding:12px 16px;border-radius:var(--radius-sm);opacity:0;pointer-events:none;transform:translateY(8px)}.toast.show{opacity:1;transform:translateY(0)}dialog{border:0;border-radius:var(--radius-lg);padding:0;box-shadow:0 24px 80px rgba(0,0,0,.18);width:min(92vw,560px)}dialog::backdrop{background:rgba(23,33,27,.35)}.modal-card{padding:28px;display:grid;gap:16px;position:relative}.modal-close{position:absolute;right:16px;top:12px;border:0;background:transparent;color:var(--color-muted);cursor:pointer;padding:5px}.modal-close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}.modal-card textarea{resize:vertical;font-family:ui-monospace,SFMono-Regular,monospace;font-size:12px}@media(max-width:1050px){.sidebar{width:220px}.content-wrap{padding:24px}.metric-grid{grid-template-columns:repeat(3,1fr)}.metric:nth-child(3){border-right:0}.dashboard-grid{grid-template-columns:1fr}.routing-panel{align-items:flex-start;flex-direction:column}.doc-grid{grid-template-columns:1fr 1fr}}@media(max-width:640px){.app-shell{display:block}.sidebar{width:100%;padding:12px 16px;display:block}.brand{padding:4px 0 12px}.nav{display:flex;overflow:auto}.nav-item{white-space:nowrap;padding:9px}.sidebar-footer{display:none}.topbar{height:60px;padding:0 16px}.content-wrap{padding:20px 16px}.page-heading,.section-heading{display:block}.page-heading .button,.section-heading .button{margin-top:16px}.metric-grid{grid-template-columns:1fr 1fr}.metric{padding:16px}.metric strong{font-size:23px}.metric:nth-child(odd){border-right:1px solid var(--color-border)}.metric:nth-child(even){border-right:0}.doc-grid{grid-template-columns:1fr}.routing-controls{width:100%}.routing-controls select,.routing-controls .button{width:100%}.data-table{min-width:700px}.filter-row{margin-top:16px}.filter-row select{width:100%}}
