:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#1c2d47;background:#eef4fb;line-height:1.5;font-weight:400;--bg: #eef4fb;--bg-soft: #e3edf8;--panel: rgba(255, 255, 255, .92);--panel-strong: rgba(255, 255, 255, .98);--border: rgba(86, 120, 172, .14);--border-strong: rgba(86, 120, 172, .22);--text: #1c2d47;--text-muted: #667a99;--accent: #4c8dff;--accent-strong: #2f72f4;--field-bg: #f8fbff;--field-border: rgba(86, 120, 172, .2);--field-border-hover: rgba(86, 120, 172, .3);--field-focus: rgba(76, 141, 255, .3);--radius-sm: 10px;--radius-md: 12px;--radius-lg: 18px;--control-height: 48px;--shadow: 0 20px 60px rgba(63, 94, 143, .14)}:root[data-theme=dark]{color:#e5eefb;background:#081120;--bg: #081120;--bg-soft: #0c1728;--panel: rgba(11, 22, 40, .94);--panel-strong: rgba(14, 27, 49, .98);--border: rgba(139, 182, 255, .14);--border-strong: rgba(139, 182, 255, .22);--text: #edf4ff;--text-muted: #98abc7;--field-bg: #0f1c31;--field-border: rgba(139, 182, 255, .18);--field-border-hover: rgba(139, 182, 255, .28);--shadow: 0 24px 80px rgba(0, 0, 0, .35)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at top,rgba(76,141,255,.14),transparent 28%),linear-gradient(180deg,#eef4fb,#e2ecf8)}:root[data-theme=dark] body{background:radial-gradient(circle at top,rgba(47,109,246,.18),transparent 30%),linear-gradient(180deg,#081120,#0c1728)}a{color:var(--accent-strong);text-decoration:none}button,input,select,textarea{font:inherit}body,input,select,textarea,button{color:var(--text)}#root{min-height:100vh}.fullscreen-state{min-height:100vh;display:grid;place-items:center}.spinner{width:2.5rem;height:2.5rem;border-radius:50%;border:3px solid rgba(76,141,255,.16);border-top-color:var(--accent);animation:spin .8s linear infinite}.auth-layout{min-height:100vh;display:grid;place-items:center;padding:1.5rem}.auth-card,.card,.sidebar{background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.auth-card{width:min(100%,28rem);padding:2.25rem;border-radius:var(--radius-lg)}.auth-header{display:grid;gap:.9rem}.brand-lockup{display:inline-flex;align-items:center;gap:.85rem}.auth-brand-lockup{margin-bottom:.35rem}.auth-logo{width:auto;height:72px;max-width:min(100%,280px);object-fit:contain}.brand-wordmark{color:#4f97da;font-size:clamp(1.2rem,2.2vw,1.75rem);font-weight:800;line-height:1;text-transform:lowercase}.auth-header h1,.page-header h1,.table-header h2,.card h2{margin:0}.auth-header p,.page-header p,.card p{margin:.5rem 0 0;color:var(--text-muted)}.sidebar-copy{margin:.3rem 0 0;color:var(--text-muted);font-size:.78rem}.auth-form{display:grid;gap:1.1rem;margin-top:1.5rem}.auth-form label,.field{display:grid;gap:.55rem;color:var(--text)}.field-label{font-size:.9rem;font-weight:600;color:var(--text)}.field-hint{font-size:.82rem;color:var(--text-muted)}input,select,textarea{width:100%;border-radius:var(--radius-md);border:1px solid var(--field-border);background:linear-gradient(180deg,var(--field-bg),#f2f7fe);color:var(--text);transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease,transform .18s ease}input,select{height:var(--control-height);padding:0 .95rem}textarea{min-height:120px;padding:.85rem .95rem;resize:vertical}input::placeholder,textarea::placeholder{color:#8ca0bd}:root[data-theme=dark] input,:root[data-theme=dark] select,:root[data-theme=dark] textarea{background:linear-gradient(180deg,#121f36fa,#0c182cfa)}:root[data-theme=dark] input::placeholder,:root[data-theme=dark] textarea::placeholder{color:#7f93b3}input:hover,select:hover,textarea:hover{border-color:var(--field-border-hover)}input:focus,select:focus,textarea:focus{outline:none;border-color:#6ea4ffd9;box-shadow:0 0 0 4px var(--field-focus)}select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:linear-gradient(45deg,transparent 50%,#89b4ff 50%),linear-gradient(135deg,#89b4ff 50%,transparent 50%);background-position:calc(100% - 20px) calc(50% - 3px),calc(100% - 14px) calc(50% - 3px);background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:2.5rem}input:disabled,select:disabled,textarea:disabled{opacity:.75;cursor:not-allowed}.auth-links{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1rem}.auth-footer{margin-top:1rem;color:var(--text-muted)}.button{min-height:var(--control-height);border:1px solid transparent;border-radius:var(--radius-md);padding:.75rem 1.1rem;cursor:pointer;background:linear-gradient(180deg,#4f8fff,#2d6fe8);color:#fff;font-weight:600;transition:transform .15s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease;box-shadow:0 10px 24px #2f72f44d}.button:hover{background:linear-gradient(180deg,#5a97ff,#3476ee);transform:translateY(-1px)}.button:active{transform:translateY(0);box-shadow:0 6px 16px #2f72f438}.button:disabled{opacity:.7;cursor:wait;transform:none;box-shadow:none}.button-secondary{background:#4c8dff14;border-color:var(--border-strong);color:var(--accent-strong);box-shadow:none}.button-secondary:hover{background:#4c8dff24}:root[data-theme=dark] .button-secondary{color:var(--text)}.button-full{width:100%}.message{padding:.8rem 1rem;border-radius:.8rem;font-size:.95rem}.message-error{background:#ff5c5c1a;color:#b94c4c;border:1px solid rgba(255,92,92,.16)}.message-success{background:#52d68d1f;color:#23784a;border:1px solid rgba(82,214,141,.2)}:root[data-theme=dark] .message-error{color:#ffb2b2;border-color:#ff5c5c2e}:root[data-theme=dark] .message-success{color:#9cf0bf;border-color:#52d68d2e}.app-shell{min-height:100vh;display:grid;grid-template-columns:280px 1fr;gap:1px}.sidebar{padding:1.5rem;display:flex;flex-direction:column;justify-content:space-between;border-radius:0}.sidebar-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.nav-toggle{display:none}.brand-logo{display:block;width:auto;height:54px;max-width:220px;object-fit:contain}.nav-list{display:grid;gap:.65rem;margin:2rem 0}.nav-link{padding:.85rem 1rem;border-radius:var(--radius-md);color:var(--text);border:1px solid transparent;transition:background-color .18s ease,border-color .18s ease,color .18s ease}.nav-link-active,.nav-link:hover{background:#4c8dff24;border-color:#4c8dff2e}.sidebar-footer{display:grid;gap:.75rem}.user-chip{padding:.85rem 1rem;border-radius:.85rem;background:#4c8dff14;color:var(--text);overflow-wrap:anywhere}.main-content{padding:2rem}.page-stack{display:grid;gap:1.5rem}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.stats-grid,.content-grid{display:grid;gap:1.25rem}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.content-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card{border-radius:16px;padding:1.5rem;background:var(--panel-strong)}.section-card{display:grid;gap:1.1rem}.section-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.section-card-actions{display:flex;gap:.75rem;flex-wrap:wrap}.stat-card{display:grid;gap:.35rem}.stat-label,.stat-hint{color:var(--text-muted)}.stat-value{font-size:2rem}.table-card{padding:0;overflow:hidden}.table-header{padding:1.25rem 1.25rem 0}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:1rem 1.25rem;border-bottom:1px solid rgba(139,182,255,.08)}th{color:var(--text-muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.04em}td{color:var(--text)}.form-grid{display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-form{grid-template-columns:1fr}.form-span-full{grid-column:1 / -1}.toolbar-row{display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end}.toolbar-row-end{grid-template-columns:minmax(0,1fr) auto}.stack-list{display:grid;gap:.85rem}.code-block{margin:0;padding:.875rem;border-radius:14px;background:#4c8dff14;white-space:pre-wrap;overflow-wrap:anywhere;font-size:1rem;line-height:1.7}.compact-stack{margin-bottom:1rem}.list-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.05rem;border:1px solid var(--border);border-radius:14px;background:#ffffffb8}:root[data-theme=dark] .list-row{background:#0b1527b3}.list-row-stack{display:grid;align-items:stretch}.row-actions,.row-between{display:flex;align-items:center;gap:.75rem}.row-actions{flex-wrap:wrap}.row-between{justify-content:space-between}.row-muted{color:var(--text-muted);font-size:.92rem}.checkbox-row{display:flex;align-items:center;gap:.75rem;color:var(--text)}.checkbox-row input{width:18px;height:18px;min-height:18px}.detail-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.status-badge{display:inline-flex;align-items:center;justify-content:center;padding:.35rem .7rem;border-radius:999px;border:1px solid rgba(76,141,255,.18);background:#4c8dff14;color:var(--text);font-size:.8rem;text-transform:capitalize}:root[data-theme=dark] .status-badge{color:#d7e6ff}.theme-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.theme-toggle{display:inline-flex;align-items:center;padding:.3rem;border-radius:999px;border:1px solid var(--border-strong);background:#4c8dff14;box-shadow:none}.theme-toggle-option{min-width:76px;min-height:36px;padding:.45rem .85rem;border-radius:999px;color:var(--text-muted);font-weight:600}.theme-toggle-option-active{background:var(--panel-strong);color:var(--text);box-shadow:0 8px 18px #3f5e8f24}:root[data-theme=dark] .theme-toggle-option-active{box-shadow:0 8px 18px #0000003d}.empty-state{text-align:left}.empty-state h3{margin:0 0 .35rem}.table-empty{padding:1.5rem;color:var(--text-muted)}.inline-loader{display:inline-flex;align-items:center;gap:.75rem;color:var(--text-muted)}.spinner-small{width:1rem;height:1rem}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 960px){.app-shell{grid-template-columns:1fr}.sidebar{gap:1.25rem}.nav-toggle{display:inline-flex;min-height:40px}.nav-list{margin-top:1.25rem}.sidebar:not(.sidebar-open) .nav-list,.sidebar:not(.sidebar-open) .sidebar-footer{display:none}.stats-grid,.content-grid,.form-grid,.toolbar-row,.form-grid-two{grid-template-columns:1fr 1fr}}@media (max-width: 640px){.main-content,.sidebar,.auth-card{padding:1rem}.page-header{flex-direction:column}.section-card-header,.list-row,.row-actions,.row-between,.theme-toggle-row,.toolbar-row-end{flex-direction:column;align-items:stretch}.stats-grid,.content-grid,.single-column-mobile,.form-grid,.toolbar-row,.form-grid-two,.detail-grid{grid-template-columns:1fr}.auth-card{width:100%}}
