:root {
  color-scheme: light;
  --sf-brand: #f2bf00;
  --sf-brand-deep: #d9a900;
  --sf-bg: #f5f5ef;
  --sf-surface: rgba(255, 255, 255, .88);
  --sf-surface-solid: #ffffff;
  --sf-surface-muted: #f8f8f3;
  --sf-text: #1b1b17;
  --sf-muted: #747267;
  --sf-border: rgba(53, 50, 35, .11);
  --sf-shadow: 0 18px 45px rgba(42, 38, 16, .07), 0 2px 8px rgba(42, 38, 16, .04);
  --sf-shadow-hover: 0 24px 60px rgba(63, 51, 4, .11), 0 4px 12px rgba(42, 38, 16, .05);
  --sf-sidebar: #17243a;
  --sf-sidebar-muted: #aebbd0;
  --sf-radius: 18px;
}
.dark {
  color-scheme: dark;
  --sf-bg: #0b111a;
  --sf-surface: rgba(31, 40, 53, .92);
  --sf-surface-solid: #202a38;
  --sf-surface-muted: #283443;
  --sf-text: #f4f3ed;
  --sf-muted: #aeb5c0;
  --sf-border: rgba(255, 255, 255, .12);
  --sf-shadow: 0 22px 55px rgba(0, 0, 0, .30), inset 0 1px 0 rgba(255, 255, 255, .045);
  --sf-shadow-hover: 0 26px 70px rgba(0, 0, 0, .40), 0 0 0 1px rgba(242, 191, 0, .11), inset 0 1px 0 rgba(255,255,255,.06);
}
* { box-sizing: border-box; }
html { background: var(--sf-bg); }
body { color: var(--sf-text); }
html.theme-transition, html.theme-transition body, html.theme-transition .app-body { transition: background-color .42s ease, color .32s ease, background .42s ease; }
html.theme-transition *, html.theme-transition *::before, html.theme-transition *::after { transition-property:background-color,border-color,color,box-shadow,fill,stroke,opacity,transform !important; transition-duration:.38s !important; transition-timing-function:ease !important; }
::selection { color: #18170f; background: rgba(242, 191, 0, .62); }
@keyframes fadeInUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
@keyframes pulseSoft { 0%,100% { opacity: 1; } 50% { opacity: .52; } }
@keyframes ringSpin { to { transform: rotate(360deg); } }
@keyframes ambientFloat { 0%,100% { transform: translate3d(0,0,0); } 50% { transform: translate3d(0,-14px,0); } }
.animate-fade-in-up { animation: fadeInUp .32s cubic-bezier(.2,.8,.2,1); }
.animate-pulse-soft { animation: pulseSoft 1.6s ease-in-out infinite; }
[x-cloak] { display: none !important; }
::-webkit-scrollbar { width: 9px; height: 9px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(242,191,0,.30); border: 2px solid transparent; background-clip: padding-box; border-radius: 999px; }
::-webkit-scrollbar-thumb:hover { background: rgba(242,191,0,.55); background-clip: padding-box; }

/* Application shell */
.app-body {
  background: radial-gradient(circle at 86% 5%, rgba(242,191,0,.10), transparent 25rem), linear-gradient(135deg, #f8f8f3 0%, var(--sf-bg) 52%, #f2f0e7 100%);
}
.dark .app-body { background: radial-gradient(circle at 80% -5%, rgba(242,191,0,.09), transparent 28rem), radial-gradient(circle at 8% 105%, rgba(56,103,162,.12), transparent 34rem), var(--sf-bg); }
.app-shell { isolation: isolate; }
.app-sidebar {
  color: #f4f7fb;
  background: radial-gradient(circle at 18% 0%, rgba(242,191,0,.16), transparent 16rem), radial-gradient(circle at 110% 82%, rgba(72,124,190,.20), transparent 18rem), linear-gradient(180deg, #263a59 0%, var(--sf-sidebar) 72%, #132037 100%) !important;
  border-right: 1px solid rgba(177,201,232,.14) !important;
  box-shadow: 18px 0 55px rgba(10,24,45,.18), inset -1px 0 0 rgba(255,255,255,.025);
}
.sidebar-brand { border-bottom: 1px solid rgba(199,216,239,.12); background:rgba(255,255,255,.018); }
.brand-mark { box-shadow: 0 10px 28px rgba(242,191,0,.22), inset 0 1px 0 rgba(255,255,255,.55); }
.brand-wordmark { color: #ffffff; }
.app-nav .nav-link { position: relative; color: var(--sf-sidebar-muted); border: 1px solid transparent; font-weight: 600; letter-spacing: -.01em; }
.app-nav .nav-link:hover { color: #fff; background: rgba(176,205,240,.09); border-color: rgba(197,218,243,.10); transform: translateX(2px); }
.app-nav .nav-link.is-active { color: #191810; background: linear-gradient(135deg, #ffd83d, var(--sf-brand)); border-color: rgba(255,224,90,.75); box-shadow: 0 10px 24px rgba(242,191,0,.16), inset 0 1px 0 rgba(255,255,255,.55); }
.app-nav .nav-link.is-active::after { content: ''; position: absolute; right: 10px; width: 5px; height: 5px; border-radius: 50%; background: #242216; opacity: .72; }
.nav-icon { transition: transform .2s ease; }
.nav-link:hover .nav-icon { transform: scale(1.08); }
.sidebar-user { border-top: 1px solid rgba(199,216,239,.12) !important; background: rgba(7,18,35,.10); }
.sidebar-user > div > div:first-child:hover { background: rgba(176,205,240,.10) !important; }
.app-content { min-width: 0; }
.app-topbar { background: rgba(250,250,246,.76) !important; border-bottom: 1px solid var(--sf-border); box-shadow: 0 1px 0 rgba(255,255,255,.65); }
.dark .app-topbar { background: rgba(22,29,40,.88) !important; border-bottom-color:rgba(255,255,255,.10); box-shadow:0 10px 30px rgba(0,0,0,.10); }
.app-topbar::after { content: ''; position: absolute; left: 2rem; right: 2rem; bottom: -1px; height: 1px; background: linear-gradient(90deg, transparent, rgba(242,191,0,.55), transparent); }
.page-eyebrow { color: #aa8500; font-size: 9px; line-height: 1; font-weight: 800; text-transform: uppercase; letter-spacing: .2em; margin-bottom: 5px; }
.dark .page-eyebrow { color: var(--sf-brand); }
.page-title { color: var(--sf-text); font-size: 1.22rem; line-height: 1.1; font-weight: 800; letter-spacing: -.025em; }
.app-main { position: relative; }
.app-main > * { width: 100%; max-width: 1600px; margin-left: auto; margin-right: auto; }
.app-main > .space-y-6 > * { animation: fadeInUp .36s cubic-bezier(.2,.8,.2,1) backwards; }
.app-main > .space-y-6 > *:nth-child(2) { animation-delay: 40ms; }
.app-main > .space-y-6 > *:nth-child(3) { animation-delay: 80ms; }
.app-main > .space-y-6 > *:nth-child(4) { animation-delay: 120ms; }
.app-main .card:focus-within, .app-main .card:has(.jalali-picker-open) { z-index: 200; }
.jalali-picker-open { z-index: 210; }
.jalali-picker-popover { box-shadow: 0 24px 65px rgba(0,0,0,.24), 0 0 0 1px rgba(242,191,0,.12) !important; }
.live-pill { color: #067647; background: rgba(16,185,129,.09); border: 1px solid rgba(16,185,129,.17); border-radius: 999px; padding: .42rem .7rem; }
.dark .live-pill { color: #6ee7b7; background: rgba(16,185,129,.08); }
.icon-button { color: var(--sf-text); background: var(--sf-surface-solid); border: 1px solid var(--sf-border); box-shadow: 0 4px 14px rgba(40,36,15,.05); }
.icon-button:hover { border-color: rgba(242,191,0,.6); color: #a17d00; transform: translateY(-1px); box-shadow: 0 8px 20px rgba(242,191,0,.10); }
.dark .icon-button:hover { color: var(--sf-brand); }
.theme-toggle { position:relative; width:58px; height:32px; display:flex; align-items:center; justify-content:space-between; padding:0 7px; overflow:hidden; border:1px solid var(--sf-border); border-radius:999px; color:#9a7610; background:linear-gradient(135deg,#fff8d7,#f4e6a8); box-shadow:0 6px 18px rgba(86,68,10,.10),inset 0 1px 0 rgba(255,255,255,.75); }
.theme-toggle:hover { border-color:rgba(242,191,0,.58); box-shadow:0 8px 22px rgba(242,191,0,.16); }
.theme-toggle-icon { position:relative; z-index:2; width:14px; height:14px; display:flex; align-items:center; justify-content:center; transition:opacity .28s ease,color .28s ease !important; }
.theme-toggle-icon svg { width:14px; height:14px; }
.theme-toggle-moon { color:#dce9ff; opacity:.48; }
.theme-toggle-knob { position:absolute; z-index:1; left:3px; top:3px; width:24px; height:24px; border-radius:50%; background:#fff; box-shadow:0 4px 10px rgba(69,53,7,.18); transform:translateX(0); transition:transform .38s cubic-bezier(.2,.8,.2,1),background-color .3s ease,box-shadow .3s ease !important; }
.theme-toggle.is-dark { color:#f7ce3e; background:linear-gradient(135deg,#27364c,#19263a); border-color:rgba(151,177,212,.24); box-shadow:0 7px 22px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.05); }
.theme-toggle.is-dark .theme-toggle-knob { transform:translateX(26px); background:#dbe8ff; box-shadow:0 5px 13px rgba(0,0,0,.30); }
.theme-toggle.is-dark .theme-toggle-sun { opacity:.48; }
.theme-toggle.is-dark .theme-toggle-moon { opacity:1; color:#30415d; }

/* Shared surfaces */
.card { position: relative; background: var(--sf-surface) !important; border: 1px solid var(--sf-border) !important; border-radius: var(--sf-radius) !important; box-shadow: var(--sf-shadow); backdrop-filter: blur(16px); transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.card:hover { border-color: rgba(242,191,0,.28) !important; box-shadow: var(--sf-shadow-hover); }
.card > h3:first-child, .card > div:first-child > h3:first-child { letter-spacing: -.018em; }
.card > h3:first-child::before, .card > div:first-child > h3:first-child::before { content: ''; display: inline-block; width: 4px; height: 1em; margin-right: .55rem; vertical-align: -.08em; border-radius: 99px; background: linear-gradient(180deg, #ffdc42, var(--sf-brand-deep)); box-shadow: 0 0 14px rgba(242,191,0,.3); }

/* Forms */
.app-main input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), .app-main select, .app-main textarea, .auth-card input:not([type="checkbox"]):not([type="radio"]), .app-topbar select { color: var(--sf-text); background-color: var(--sf-surface-solid) !important; border-color: var(--sf-border) !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.45), 0 1px 2px rgba(20,20,10,.025); transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease; }
.dark .app-main input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), .dark .app-main select, .dark .app-main textarea, .dark .auth-card input:not([type="checkbox"]):not([type="radio"]), .dark .app-topbar select { box-shadow: inset 0 1px 0 rgba(255,255,255,.025); }
.app-main input:focus, .app-main select:focus, .app-main textarea:focus, .auth-card input:focus, .app-topbar select:focus { outline: none !important; border-color: var(--sf-brand) !important; box-shadow: 0 0 0 4px rgba(242,191,0,.13) !important; }
.app-main input::placeholder, .app-main textarea::placeholder, .auth-card input::placeholder { color: #a7a69f; }
.app-main fieldset:disabled { opacity: .68; }
.app-main label { letter-spacing: .005em; }
input[type="checkbox"], input[type="radio"] { accent-color: var(--sf-brand); }
.branding-upload-card { min-height:112px; display:flex; align-items:center; gap:1rem; padding:1rem; border:1px solid var(--sf-border); border-radius:18px; background:linear-gradient(145deg,rgba(242,191,0,.045),var(--sf-surface-muted)); }
.branding-upload-symbol { width:64px; height:64px; display:flex; align-items:center; justify-content:center; flex:none; border-radius:16px; color:#775d00; background:linear-gradient(145deg,#fff2b8,#f2bf00); font-size:1.25rem; font-weight:900; letter-spacing:-.06em; box-shadow:0 10px 24px rgba(242,191,0,.16); }
.branding-upload-button { min-height:39px; display:inline-flex; align-items:center; justify-content:center; gap:.5rem; padding:.55rem .85rem; border:1px solid rgba(242,191,0,.30); border-radius:11px; color:#29240e; background:linear-gradient(135deg,#ffe46c,#f2bf00); font-size:.75rem; font-weight:800; box-shadow:0 7px 18px rgba(242,191,0,.14); }
.branding-upload-button:hover:not(:disabled) { transform:translateY(-1px); box-shadow:0 10px 24px rgba(242,191,0,.21); }
.branding-upload-button:disabled { opacity:.58; cursor:wait; }
.dark .branding-upload-card { background:linear-gradient(145deg,rgba(242,191,0,.055),rgba(255,255,255,.035)); }
.app-main [class~="bg-slate-50"] { background-color: var(--sf-surface-muted) !important; }
.app-main [class*="border-slate-100"], .app-main [class*="border-slate-200"] { border-color: var(--sf-border) !important; }
.dark .app-main [class*="dark:bg-slate-800"] { background-color: rgba(255,255,255,.065) !important; }
.dark [class*="dark:bg-[#161c2e]"] { background-color: var(--sf-surface-solid) !important; }
.dark .app-main [class*="dark:border-slate-800"], .dark .app-main [class*="dark:border-slate-700"] { border-color: var(--sf-border) !important; }
.dark .app-main .sticky { background-color: var(--sf-surface-solid) !important; }

/* Buttons */
button, a { -webkit-tap-highlight-color: transparent; }
button { transition: transform .16s ease, box-shadow .16s ease, background-color .16s ease, border-color .16s ease; }
button:not(:disabled):active, a[class*="bg-"]:active { transform: translateY(1px) scale(.99); }
[class*="bg-brand-600"], [class*="bg-brand-500"] { background: linear-gradient(135deg, #ffd840 0%, var(--sf-brand) 60%, #e6b400 100%) !important; color: #1c1a0e !important; border: 1px solid rgba(182,140,0,.18); box-shadow: 0 8px 20px rgba(242,191,0,.16), inset 0 1px 0 rgba(255,255,255,.55); }
[class*="bg-brand-600"]:hover, [class*="bg-brand-500"]:hover { filter: brightness(.97); box-shadow: 0 11px 26px rgba(242,191,0,.23); }
.app-main [class*="bg-slate-800"], .app-main [class*="bg-slate-900"] { box-shadow: 0 7px 18px rgba(15,23,42,.12); }
.force-rest-button { color:#f8d552 !important; background:linear-gradient(135deg,#27271f,#151611) !important; border:1px solid rgba(242,191,0,.32) !important; box-shadow:0 9px 24px rgba(20,20,12,.18), inset 0 1px 0 rgba(255,255,255,.05) !important; }
.force-rest-button:hover { color:#ffe371 !important; border-color:rgba(242,191,0,.62) !important; box-shadow:0 12px 30px rgba(242,191,0,.14) !important; }

/* Tables */
.app-main .overflow-x-auto { border-radius: 14px; }
.app-main table { border-collapse: separate; border-spacing: 0; }
.app-main thead tr { border: 0 !important; }
.app-main thead th { color: var(--sf-muted) !important; background: var(--sf-surface-muted); border-top: 1px solid var(--sf-border); border-bottom: 1px solid var(--sf-border) !important; padding-top: .75rem !important; padding-bottom: .75rem !important; font-size: .68rem !important; letter-spacing: .075em; }
.app-main thead th:first-child { padding-left: .8rem; border-left: 1px solid var(--sf-border); border-radius: 12px 0 0 12px; }
.app-main thead th:last-child { padding-right: .8rem; border-right: 1px solid var(--sf-border); border-radius: 0 12px 12px 0; }
.app-main tbody td { padding-top: .78rem !important; padding-bottom: .78rem !important; border-bottom-color: var(--sf-border) !important; }
.app-main tbody td:first-child { padding-left: .8rem; }
.app-main tbody tr { transition: background-color .15s ease; }
.app-main tbody tr:hover { background: rgba(242,191,0,.045); }
.dark .app-main tbody tr:hover { background: rgba(242,191,0,.035); }

/* Badges */
.badge { display:inline-flex; align-items:center; gap:.25rem; padding:.28rem .62rem; border-radius:9999px; font-size:.66rem; font-weight:800; letter-spacing:.045em; text-transform:uppercase; border: 1px solid transparent; white-space: nowrap; }
.badge-success { background:rgba(16,185,129,.10); color:#078452; border-color:rgba(16,185,129,.14); }
.badge-warning { background:rgba(242,191,0,.14); color:#8b6b00; border-color:rgba(242,191,0,.22); }
.badge-danger { background:rgba(239,68,68,.10); color:#d92d20; border-color:rgba(239,68,68,.14); }
.badge-info { background:rgba(59,130,246,.09); color:#2563eb; border-color:rgba(59,130,246,.13); }
.badge-neutral { background:rgba(100,116,139,.09); color:#5c6674; border-color:rgba(100,116,139,.12); }
.dark .badge-success { background:rgba(16,185,129,.12); color:#6ee7b7; border-color:rgba(16,185,129,.16); }
.dark .badge-warning { background:rgba(242,191,0,.12); color:#f9d654; border-color:rgba(242,191,0,.18); }
.dark .badge-danger { background:rgba(239,68,68,.12); color:#fda4af; border-color:rgba(239,68,68,.17); }
.dark .badge-info { background:rgba(59,130,246,.12); color:#93c5fd; border-color:rgba(59,130,246,.17); }
.dark .badge-neutral { background:rgba(148,163,184,.10); color:#cbd5e1; border-color:rgba(148,163,184,.12); }

/* Popovers and modals */
.excel-dropzone { position:relative; min-height:190px; padding:2rem 1.25rem; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1rem; text-align:center; cursor:pointer; border:2px dashed rgba(100,116,139,.26); border-radius:20px; background:linear-gradient(145deg,rgba(242,191,0,.035),rgba(148,163,184,.035)); transition:border-color .2s ease,background .2s ease,transform .2s ease,box-shadow .2s ease; }
.excel-dropzone:hover,.excel-dropzone:focus-visible,.excel-dropzone.is-dragging { outline:none; border-color:var(--sf-brand); background:rgba(242,191,0,.075); box-shadow:0 0 0 5px rgba(242,191,0,.09); }
.excel-dropzone.is-dragging { transform:scale(1.008); }
.excel-dropzone.has-file { min-height:150px; border-style:solid; border-color:rgba(242,191,0,.48); }
.excel-dropzone-icon { width:58px; height:58px; display:flex; align-items:center; justify-content:center; border-radius:18px; color:#332900; background:linear-gradient(145deg,#ffe071,var(--sf-brand)); box-shadow:0 12px 28px rgba(242,191,0,.21); }
.excel-file-remove { position:absolute; top:.8rem; right:.8rem; padding:.4rem .65rem; border-radius:9px; color:#b42318; background:rgba(239,68,68,.08); font-size:.68rem; font-weight:800; }
.excel-file-remove:hover { background:rgba(239,68,68,.14); }
.import-stat { min-height:82px; padding:.9rem 1rem; display:flex; flex-direction:column; justify-content:space-between; border:1px solid var(--sf-border); border-radius:15px; background:rgba(148,163,184,.045); }
.import-stat span { color:var(--sf-muted); font-size:.67rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
.import-stat strong { margin-top:.35rem; font-size:1.35rem; line-height:1; }
.import-stat.has-warning { border-color:rgba(242,191,0,.30); background:rgba(242,191,0,.07); }
.import-stat.has-warning strong { color:#9a7400; }
.import-stat.is-complete { border-color:rgba(16,185,129,.22); background:rgba(16,185,129,.06); }
.import-stat.is-complete strong { color:#059669; }
.unmatched-user-card { padding:.75rem; display:flex; align-items:center; gap:.75rem; border:1px solid rgba(242,191,0,.2); border-radius:14px; background:var(--sf-surface-solid); box-shadow:0 5px 16px rgba(20,20,10,.035); }
.dark .excel-dropzone { background:linear-gradient(145deg,rgba(242,191,0,.035),rgba(255,255,255,.015)); border-color:rgba(255,255,255,.13); }
.dark .excel-dropzone:hover,.dark .excel-dropzone:focus-visible,.dark .excel-dropzone.is-dragging { border-color:rgba(242,191,0,.7); background:rgba(242,191,0,.065); }
.dark .import-stat.has-warning strong { color:#f8d54c; }
.dark .import-stat.is-complete strong { color:#6ee7b7; }
.fixed.inset-0[class*="bg-black/"] { inset:0 !important; width:100vw; height:100vh; height:100dvh; margin:0 !important; z-index:9999 !important; background:rgba(7,12,20,.48) !important; backdrop-filter:blur(5px); }
.fixed.inset-0[class*="bg-black/"] > div { background:var(--sf-surface-solid) !important; border:1px solid var(--sf-border); box-shadow:0 32px 90px rgba(0,0,0,.30),0 0 0 1px rgba(242,191,0,.035); }
.app-topbar .absolute.right-0, .app-sidebar .absolute.bottom-full, .app-main .absolute.z-30 { color: var(--sf-text); background: var(--sf-surface-solid) !important; border-color: var(--sf-border) !important; box-shadow: 0 22px 55px rgba(0,0,0,.16); }
.toast { min-width: 280px; max-width: 380px; border-radius: 14px !important; box-shadow: 0 20px 50px rgba(0,0,0,.18); backdrop-filter: blur(12px); }
#toast-root { z-index:12000 !important; }
.progress-ring-bg { stroke: rgba(148,163,184,.22); }

/* Authentication */
.auth-body { color: var(--sf-text); background: var(--sf-bg); overflow-x: hidden; }
.auth-shell { min-height: 100vh; display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(420px, .88fr); }
.auth-showcase { position: relative; overflow: hidden; display: flex; align-items: flex-end; padding: clamp(3rem, 7vw, 7rem); color: white; background: linear-gradient(145deg, rgba(242,191,0,.13), transparent 42%), linear-gradient(150deg, #171812, #0e0f0c 72%); }
.auth-showcase::before { content: ''; position: absolute; inset: 0; opacity: .34; background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px); background-size: 44px 44px; mask-image: linear-gradient(to bottom, black, transparent 82%); }
.auth-showcase::after { content:''; position:absolute; top:0; left:0; right:0; height:5px; background:linear-gradient(90deg,var(--sf-brand),#ffe46d,transparent); }
.auth-showcase-content { position: relative; z-index: 2; max-width: 650px; }
.auth-kicker { display:inline-flex; padding:.42rem .7rem; border-radius:999px; color:#f8d750; border:1px solid rgba(242,191,0,.28); background:rgba(242,191,0,.08); font-size:.67rem; font-weight:800; letter-spacing:.19em; }
.auth-showcase h1 { margin: 1.5rem 0 1rem; font-size: clamp(3rem, 5.2vw, 5.8rem); line-height: .94; letter-spacing: -.06em; font-weight: 850; }
.auth-showcase h1 span { color: var(--sf-brand); }
.auth-showcase p { max-width: 34rem; color:#aeb0a6; font-size:1rem; line-height:1.75; }
.auth-metrics { display:flex; gap:2.5rem; margin-top:2.2rem; padding-top:1.5rem; border-top:1px solid rgba(255,255,255,.08); }
.auth-metrics div { display:flex; flex-direction:column; }
.auth-metrics strong { color:#fff; font-size:1rem; }
.auth-metrics span { color:#71736b; font-size:.7rem; text-transform:uppercase; letter-spacing:.12em; }
.auth-orb { position:absolute; border-radius:50%; filter:blur(1px); animation:ambientFloat 7s ease-in-out infinite; }
.auth-orb-one { width:25rem; height:25rem; right:-9rem; top:-8rem; background:radial-gradient(circle at 35% 35%, rgba(255,221,79,.38), rgba(242,191,0,.03) 66%); }
.auth-orb-two { width:12rem; height:12rem; left:12%; top:15%; border:1px solid rgba(242,191,0,.15); animation-delay:-3s; }
.auth-content { display:flex; flex-direction:column; justify-content:center; align-items:center; padding:2rem; background:radial-gradient(circle at 100% 0%, rgba(242,191,0,.12), transparent 24rem); }
.auth-card { background:var(--sf-surface); border:1px solid var(--sf-border); border-radius:24px; box-shadow:var(--sf-shadow); backdrop-filter:blur(18px); }
.auth-card h2 { letter-spacing:-.025em; }
.auth-card button[type="submit"] { min-height:46px; box-shadow:0 10px 24px rgba(242,191,0,.19); }

/* Wallboard */
.wallboard-body { background:radial-gradient(circle at 82% -12%,rgba(242,191,0,.17),transparent 31rem),radial-gradient(circle at 2% 105%,rgba(54,112,181,.22),transparent 38rem),linear-gradient(145deg,#0d1624,#08101c 72%) !important; }
.wallboard-shell { max-width: 1900px; margin: auto; }
.wallboard-header { padding:1rem 1.1rem; border:1px solid rgba(190,211,238,.13); border-radius:20px; background:rgba(24,37,55,.76); box-shadow:0 18px 44px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.045); backdrop-filter:blur(16px); }
.wallboard-live-dot { width:7px; height:7px; display:inline-block; border-radius:50%; background:#34d399; box-shadow:0 0 0 4px rgba(52,211,153,.12),0 0 16px rgba(52,211,153,.5); }
.wallboard-stat, .wallboard-agent { background:linear-gradient(145deg,rgba(32,47,68,.96),rgba(23,35,52,.94)) !important; border-color:rgba(187,210,239,.13) !important; box-shadow:0 18px 42px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.045); backdrop-filter:blur(14px); transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.wallboard-stat { position:relative; overflow:hidden; }
.wallboard-stat::before { content:''; position:absolute; left:14%; right:14%; top:0; height:3px; border-radius:0 0 99px 99px; background:linear-gradient(90deg,transparent,var(--stat-accent,var(--sf-brand)),transparent); opacity:.9; }
.wallboard-stat::after { content:''; position:absolute; width:7rem; height:7rem; right:-3.5rem; bottom:-4.5rem; border-radius:50%; background:var(--stat-glow,rgba(242,191,0,.09)); filter:blur(8px); }
.wallboard-stat.tone-online { --stat-accent:#34d399; --stat-glow:rgba(52,211,153,.18); }
.wallboard-stat.tone-rest { --stat-accent:#7dd3fc; --stat-glow:rgba(56,189,248,.18); }
.wallboard-stat.tone-force { --stat-accent:#c4b5fd; --stat-glow:rgba(139,92,246,.20); }
.wallboard-stat.tone-meal { --stat-accent:#fdba74; --stat-glow:rgba(249,115,22,.18); }
.wallboard-stat.tone-pending { --stat-accent:#fcd34d; --stat-glow:rgba(245,158,11,.18); }
.wallboard-stat.tone-late { --stat-accent:#fda4af; --stat-glow:rgba(244,63,94,.20); }
.wallboard-stat:hover, .wallboard-agent:hover { transform:translateY(-3px); border-color:rgba(242,191,0,.30) !important; box-shadow:0 25px 58px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.06); }
.wallboard-agent { position:relative; overflow:hidden; }
.wallboard-agent::before { content:''; position:absolute; top:0; bottom:0; left:0; width:3px; background:linear-gradient(180deg,var(--sf-brand),rgba(242,191,0,.05)); opacity:.72; }
.wallboard-shell select, .wallboard-shell button { border-color:rgba(255,255,255,.09) !important; }
.wallboard-header select, .wallboard-header button { color:#f8fafc; background:rgba(8,17,30,.72) !important; border-color:rgba(190,211,238,.16) !important; }
.wallboard-agent .text-slate-400 { color:#b5c1d1 !important; }

/* Standalone error pages */
.error-body { min-height:100vh; display:flex; align-items:center; justify-content:center; padding:1.5rem; color:#f7f4e8; background:radial-gradient(circle at 50% -10%, rgba(242,191,0,.17), transparent 28rem), #090a08; }
.error-card { position:relative; width:100%; max-width:480px; padding:3rem 2rem; text-align:center; overflow:hidden; border:1px solid rgba(255,255,255,.08); border-radius:24px; background:rgba(20,21,18,.88); box-shadow:0 30px 90px rgba(0,0,0,.35); }
.error-card::before { content:''; position:absolute; left:25%; right:25%; top:0; height:3px; background:linear-gradient(90deg,transparent,var(--sf-brand),transparent); }
.error-code { color:var(--sf-brand); font-size:5.5rem; line-height:1; font-weight:900; letter-spacing:-.07em; text-shadow:0 15px 40px rgba(242,191,0,.16); }
.error-kicker { margin-bottom:1rem; color:#7d7f75; font-size:.68rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }

/* SweetAlert2 */
.swal2-popup { color:var(--sf-text) !important; background:var(--sf-surface-solid) !important; border:1px solid var(--sf-border) !important; border-radius:20px !important; box-shadow:0 30px 90px rgba(0,0,0,.28) !important; }
.swal2-container { z-index:11000 !important; }
.swal2-title { font-size:1.25rem !important; }
.swal2-confirm { background:linear-gradient(135deg,#ffd840,var(--sf-brand)) !important; color:#1e1c10 !important; font-weight:700 !important; border-radius:11px !important; box-shadow:0 8px 20px rgba(242,191,0,.18) !important; }
.swal2-confirm:hover { filter:brightness(.96); }
.swal2-confirm:focus { box-shadow:0 0 0 4px rgba(242,191,0,.20) !important; }
.swal2-cancel { border-radius:11px !important; }

@media (max-width: 1023px) {
  .app-sidebar { box-shadow: 25px 0 70px rgba(0,0,0,.28); }
  .auth-shell { grid-template-columns: 1fr; }
  .auth-showcase { display:none; }
  .auth-content { min-height:100vh; padding:1.25rem; }
}

@media (max-width: 640px) {
  .unmatched-user-card { align-items:stretch; flex-direction:column; }
  .unmatched-user-card > * { width:100%; }
  .excel-dropzone { min-height:170px; }
}
@media (max-width: 640px) {
  .app-topbar { height:4.25rem !important; padding-left:1rem !important; padding-right:1rem !important; }
  .page-eyebrow { display:none; }
  .page-title { font-size:1.05rem; }
  .app-main { padding:1rem !important; }
  .card { border-radius:15px !important; }
  .auth-card { padding:1.5rem !important; border-radius:20px; }
  .app-main table { min-width:max-content; }
  .toast { min-width:0; width:calc(100vw - 2rem); }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; transition-duration:.01ms !important; } }
