:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f7fb;--surface:#fff;--surface-2:#f8fafc;--border:#d9e2ec;--text:#17212f;--muted:#64748b;--primary:#1d4ed8;--primary-soft:#dbeafe;--secondary:#0f766e;--danger:#dc2626;--danger-soft:#fee2e2;--success:#15803d;--success-soft:#dcfce7;--info-soft:#e0f2fe;--shadow:0 10px 30px #0f172a14;--radius:18px}*{box-sizing:border-box}html,body,#root{min-height:100%;color:var(--text);background:var(--bg);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{min-height:100vh}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}input,textarea,select{border:1px solid var(--border);background:#fff;border-radius:12px;outline:none;width:100%;padding:.8rem .9rem;transition:border-color .2s,box-shadow .2s}input:focus,textarea:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 4px #1d4ed81f}textarea{resize:vertical}.app-shell{grid-template-columns:280px 1fr;min-height:100vh;display:grid}.sidebar{color:#fff;background:#0f172a;flex-direction:column;gap:1.2rem;padding:1.2rem;display:flex}.sidebar-brand{padding:.4rem}.brand-link{align-items:center;gap:.8rem;display:flex}.brand-link small{color:#cbd5e1;display:block}.brand-badge,.avatar-circle{color:#fff;background:linear-gradient(135deg,#2563eb,#0ea5e9);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-weight:700;display:inline-flex}.brand-badge.lg{border-radius:20px;width:58px;height:58px;font-size:1.1rem}.sidebar-nav{gap:.35rem;display:grid}.nav-link{color:#cbd5e1;border-radius:12px;align-items:center;gap:.8rem;padding:.75rem .9rem;display:flex}.nav-link.active,.nav-link:hover{color:#fff;background:#ffffff14}.sidebar-footer{gap:.8rem;margin-top:auto;display:grid}.main-area{flex-direction:column;display:flex}.topbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10;background:#ffffffe0;border-bottom:1px solid #0f172a0f;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 1.5rem;display:flex;position:sticky;top:0}.topbar h1{margin:.1rem 0 0;font-size:1.4rem}.topbar-right,.action-row,.inline-form,.page-header-actions{align-items:center;gap:.7rem;display:flex}.wrap{flex-wrap:wrap}.page-content{padding:1.5rem}.page-header,.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid #0f172a0f}.page-header{justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 1.4rem;display:flex}.page-header h2,.card-head h3,.login-panel h1{margin:0}.page-header p,.card-head p,.muted,.eyebrow{color:var(--muted);margin:.35rem 0 0}.card{padding:1.1rem 1.2rem}.card-head{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.stack-xl,.stack-lg{gap:1.2rem;display:grid}.stack-xl{gap:1.5rem}.two-column-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;display:grid}.stat-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:1rem;display:grid}.stat-card{background:var(--surface);box-shadow:var(--shadow);border:1px solid #0f172a0f;border-radius:16px;padding:1rem}.stat-card span,.stat-card small,.field span,.kv-item span,.eyebrow{color:var(--muted);font-size:.86rem}.stat-card strong{margin:.45rem 0;font-size:1.4rem;display:block}.button{border:none;border-radius:12px;justify-content:center;align-items:center;gap:.55rem;padding:.82rem 1rem;font-weight:600;display:inline-flex}.button.full{width:100%}.button.primary{background:var(--primary);color:#fff}.button.secondary{color:#fff;background:#0f766e}.button.ghost{color:var(--primary);background:#eff6ff}.button.danger{background:var(--danger);color:#fff}.button.xs{border-radius:10px;padding:.45rem .7rem;font-size:.85rem}.button:disabled{opacity:.65;cursor:not-allowed}.icon-button{border:1px solid var(--border);background:#fff;border-radius:12px;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.mobile-only{display:none}.field{gap:.45rem;display:grid}.field.compact{min-width:180px}.field.full-width{grid-column:1/-1}.form-grid{gap:1rem;display:grid}.form-grid.single-column{grid-template-columns:1fr!important}.compact-grid{gap:.8rem}.top-gap{margin-top:1rem}.input-icon-wrap{position:relative}.input-icon-wrap svg{color:var(--muted);position:absolute;top:50%;left:.85rem;transform:translateY(-50%)}.input-icon-wrap input{padding-left:2.6rem}.filter-bar{flex-wrap:wrap;gap:.8rem;margin-bottom:1rem;display:flex}.table-wrap{overflow:auto}.data-table{border-collapse:collapse;width:100%}.data-table th,.data-table td{text-align:left;vertical-align:top;border-bottom:1px solid #0f172a14;padding:.95rem .8rem}.data-table th{color:var(--muted);font-size:.86rem;font-weight:600}.status-pill{color:#1e293b;background:#e2e8f0;border-radius:999px;align-items:center;gap:.35rem;padding:.34rem .62rem;font-size:.8rem;font-weight:700;display:inline-flex}.status-pill.pending,.status-pill.processing,.status-pill.underreview,.status-pill.scheduled{color:#92400e;background:#fef3c7}.status-pill.active,.status-pill.completed,.status-pill.success,.status-pill.approved,.status-pill.open{background:var(--success-soft);color:var(--success)}.status-pill.cancelled,.status-pill.rejected,.status-pill.failed,.status-pill.frozen{background:var(--danger-soft);color:var(--danger)}.kv-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;display:grid}.kv-item{background:var(--surface-2);border:1px solid #0f172a0f;border-radius:14px;padding:.9rem}.kv-item strong{margin-top:.35rem;display:block}.alert{border:1px solid #0000;border-radius:14px;margin-bottom:1rem;padding:.9rem 1rem}.alert.success{background:var(--success-soft);color:var(--success)}.alert.danger{background:var(--danger-soft);color:var(--danger)}.alert.info{background:var(--info-soft);color:#0369a1}.loading-state,.error-state,.empty-state{border:1px dashed var(--border);background:var(--surface-2);border-radius:16px;place-items:start;gap:.45rem;padding:1.5rem;display:grid}.loading-state{place-items:center}.empty-inline{color:var(--muted)}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.tabs-wrap{gap:1rem;display:grid}.tabs{flex-wrap:wrap;gap:.6rem;display:flex}.tab{border:1px solid var(--border);color:var(--muted);background:#fff;border-radius:999px;padding:.75rem 1rem;font-weight:600}.tab.active{background:var(--primary);color:#fff;border-color:var(--primary)}.tab-panel{gap:1.5rem;display:grid}.json-box{color:#e2e8f0;white-space:pre-wrap;word-break:break-word;background:#0f172a;border-radius:16px;padding:1rem;overflow:auto}.list-item{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.bordered{background:#fff;border:1px solid #0f172a14;border-radius:14px;padding:.9rem}.align-right{text-align:right}.modal-backdrop{z-index:50;background:#0f172a8f;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal-card{background:#fff;border-radius:22px;width:min(900px,96vw);max-height:92vh;overflow:auto;box-shadow:0 25px 80px #0f172a33}.modal-head,.modal-footer{border-bottom:1px solid #0f172a0f;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.1rem;display:flex}.modal-footer{border-top:1px solid #0f172a0f;border-bottom:none;justify-content:flex-end}.modal-body{padding:1rem 1.1rem 1.2rem}.login-shell{background:radial-gradient(circle at top left, #2563eb26, transparent 35%), radial-gradient(circle at bottom right, #0ea5e929, transparent 30%), var(--bg);place-items:center;min-height:100vh;padding:1.5rem;display:grid}.login-panel{width:min(560px,100%);padding:1.6rem}.login-brand{align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.user-card.compact{background:#ffffff0f;border-radius:16px;align-items:center;gap:.8rem;padding:.8rem;display:flex}.monospace{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}@media (width<=1200px){.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=980px){.app-shell{grid-template-columns:1fr}.sidebar{z-index:30;width:280px;transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.mobile-only{display:inline-flex}.two-column-grid,.stat-grid,.kv-grid{grid-template-columns:1fr}.topbar{padding-inline:1rem}.page-content{padding:1rem}}
