:root{--bv-row-h-comfortable: 44px;--bv-row-h-cozy: 40px;--bv-row-h-compact: 36px;--bv-font-size: 14px;--bv-border-color: rgba(0,0,0,.08);--bv-muted: rgba(0,0,0,.6)}.bv-scope{font-size:var(--bv-font-size)}.bv-density--comfortable{--bv-row-h: var(--bv-row-h-comfortable)}.bv-density--cozy{--bv-row-h: var(--bv-row-h-cozy)}.bv-density--compact{--bv-row-h: var(--bv-row-h-compact)}.bv-table{width:100%;border-collapse:separate;border-spacing:0}.bv-table thead th{position:sticky;top:0;z-index:1;text-align:left;font-weight:600;font-size:12px;padding:8px 10px;border-bottom:1px solid var(--bv-border-color);white-space:nowrap}.bv-table tbody tr{height:var(--bv-row-h, var(--bv-row-h-cozy));border-bottom:1px solid var(--bv-border-color)}.bv-table tbody td{padding:6px 10px;vertical-align:middle;white-space:nowrap}.bv-row--clickable:hover{background:#00000008;cursor:pointer}.bv-col--sel{width:36px}.bv-muted{color:var(--bv-muted);font-size:12px}.bv-band{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px}.bv-band::-webkit-scrollbar{height:8px}.bv-band::-webkit-scrollbar-thumb{background:var(--bv-border-color);border-radius:4px}.bv-breadcrumb{display:flex;align-items:center;gap:6px;flex-wrap:nowrap}.bv-crumb{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bv-bulkbar{position:sticky;top:0;z-index:5;background:#fff;border-bottom:1px solid var(--bv-border-color);padding:8px 10px;display:flex;align-items:center;gap:8px}.bv-virtual-viewport{position:relative;width:100%;height:600px;overflow:auto;will-change:transform;contain:strict;border-top:1px solid var(--bv-border-color);border-bottom:1px solid var(--bv-border-color)}.bv-virtual-inner{position:relative;width:100%}.bv-virtual-row{position:absolute;left:0;right:0;height:var(--bv-row-h, var(--bv-row-h-cozy));display:flex;align-items:center;border-bottom:1px solid var(--bv-border-color)}.bv-drawer{position:fixed;top:0;right:0;width:min(520px,92vw);height:100vh;background:#fff;box-shadow:-2px 0 16px #00000026;z-index:30;display:flex;flex-direction:column}.bv-drawer__header{padding:12px 16px;border-bottom:1px solid var(--bv-border-color)}.bv-drawer__body{flex:1;min-height:0;overflow:auto;padding:12px 16px}.bv-drawer__tabs{display:flex;gap:8px;border-bottom:1px solid var(--bv-border-color);padding:8px 8px 0}.bv-modal-backdrop{position:fixed;inset:0;background:#0006;z-index:40}.bv-modal{position:fixed;inset:0;display:grid;place-items:center;z-index:41}.bv-modal__card{width:min(900px,96vw);height:min(600px,90vh);background:#fff;border-radius:12px;box-shadow:0 8px 30px #00000040;display:flex;flex-direction:column;overflow:hidden}.bv-modal__header{padding:12px 16px;border-bottom:1px solid var(--bv-border-color);display:flex;align-items:center;justify-content:space-between}.bv-modal__body{flex:1;min-height:0;overflow:auto;padding:16px}.bv-dropzone{border:2px dashed var(--bv-border-color);border-radius:10px;padding:20px;text-align:center;user-select:none}.bv-dot{display:inline-block;width:8px;height:8px;border-radius:999px;margin-right:6px;background:currentColor}.bv-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bv-actions{display:flex;gap:8px;justify-content:flex-end;align-items:center}.bv-divider{height:1px;background:var(--bv-border-color);margin:4px 0}:root{--color-accent-300: #A29C9B;--color-accent-600: #6C6F77;--color-accent-700: #55555E;--color-surface-1: #F7F8FA;--color-surface-2: #EFF1F4;--color-border-subtle: #D4D8DD;--color-text-strong: #0F1115;--color-text-muted: #5A5F66;--color-status-ok: #1b9e4b;--color-status-warn: #b8860b;--color-status-error: #b3261e;--color-status-info: #2563eb;--space-0: 0px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(0,0,0,.06), 0 1px 1px rgba(0,0,0,.04);--shadow-md: 0 2px 6px rgba(0,0,0,.08), 0 6px 12px rgba(0,0,0,.06);--text-sm: 12px;--text-base: 14px;--text-md: 16px;--text-lg: 20px;--text-xl: 24px;--text-xxl: 30px}:root{color-scheme:light;background-color:var(--color-surface-1);color:var(--color-text-strong)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font:14px/1.45 system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial}.app{display:grid;grid-template-columns:var(--sidebar-width, 260px) 1fr;grid-template-rows:56px 1fr;grid-template-areas:"topbar topbar" "sidebar content";height:100%}.app:has(.sidebar.collapsed){--sidebar-width: 64px}.topbar{grid-area:topbar;display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-4);background:#fff;border-bottom:1px solid var(--color-border-subtle)}.sidebar{grid-area:sidebar;background:var(--color-surface-2);border-right:1px solid var(--color-border-subtle);padding:var(--space-4) var(--space-3);transition:all .2s ease;overflow-x:hidden}.sidebar.collapsed{padding:var(--space-4) var(--space-2)}.sidebar.collapsed .button{justify-content:center;padding-left:0;padding-right:0;min-width:auto}.content{grid-area:content;padding:var(--space-5)}.button{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--radius-md);border:1px solid var(--color-border-subtle);background:#fff;cursor:pointer;text-decoration:none}.button.primary{background:var(--color-accent-600);border-color:var(--color-accent-600);color:#fff}.badge{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:var(--radius-pill);border:1px solid var(--color-border-subtle);background:#fff;font-size:12px}.badge.env{border-color:var(--color-accent-600);color:var(--color-accent-700)}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:8px 10px;border-bottom:1px solid var(--color-border-subtle);text-align:left}.table thead th{font-weight:600;color:var(--color-text-muted)}.table tr:hover{background:#fafbfc}.row-expansion{background:#fff;border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:var(--space-4);box-shadow:var(--shadow-sm)}.drawer{position:fixed;top:0;right:0;width:720px;max-width:100%;height:100%;background:#fff;border-left:1px solid var(--color-border-subtle);box-shadow:var(--shadow-md);display:flex;flex-direction:column;z-index:100}.drawer header{padding:var(--space-4);border-bottom:1px solid var(--color-border-subtle);font-weight:600}.drawer .body{padding:var(--space-4);overflow:auto}.drawer .footer{padding:var(--space-3);border-top:1px solid var(--color-border-subtle)}.avatar{width:28px;height:28px;border-radius:9999px;background:var(--color-surface-2);border:1px solid var(--color-border-subtle);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;color:var(--color-text-strong)}.menu{position:relative}.menu-trigger{display:inline-flex;align-items:center;gap:8px;cursor:pointer}.menu-panel{position:absolute;right:0;top:calc(100% + 8px);z-index:50;width:260px;background:#fff;border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:8px}.menu-header{display:flex;align-items:center;gap:10px;padding:8px 10px}.menu-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--radius-md);cursor:pointer}.menu-item:hover{background:var(--color-surface-2)}.menu-sep{height:1px;background:var(--color-border-subtle);margin:8px 0}.tw-scope .card{background:#fff;border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:var(--space-4);box-shadow:var(--shadow-sm)}.tw-scope .btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 12px;border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);background:#fff;color:var(--color-text-strong);font:inherit;font-weight:500;line-height:1.2;cursor:pointer;text-decoration:none;white-space:nowrap}.tw-scope .btn:hover:not(:disabled){background:var(--color-surface-2)}.tw-scope .btn:disabled{opacity:.55;cursor:not-allowed}.tw-scope .btn-primary{background:var(--color-accent-600);border-color:var(--color-accent-600);color:#fff}.tw-scope .btn-primary:hover:not(:disabled){background:var(--color-accent-700)}.tw-scope .btn-secondary{background:var(--color-surface-2)}.tw-scope .btn-ghost{background:transparent;border-color:transparent;color:var(--color-text-muted)}.tw-scope .btn-ghost:hover:not(:disabled){background:var(--color-surface-2);color:var(--color-text-strong)}.tw-scope .btn-danger{background:#fff;border-color:var(--color-status-error);color:var(--color-status-error)}.tw-scope .btn-danger:hover:not(:disabled){background:#fdf3f2}.tw-scope .btn-sm{padding:4px 9px;font-size:var(--text-sm)}.tw-scope .btn-xs{padding:2px 7px;font-size:var(--text-sm)}.tw-scope .input{padding:7px 10px;border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);background:#fff;color:var(--color-text-strong);font:inherit;line-height:1.3}.tw-scope .input:focus{outline:2px solid var(--color-accent-300);outline-offset:-1px}.tw-scope .input:disabled{background:var(--color-surface-2);color:var(--color-text-muted)}.tw-scope .mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.95em}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}@media print{body:has(.scan-data-print) .app{display:block!important;height:auto!important}body:has(.scan-data-print) .topbar,body:has(.scan-data-print) .sidebar{display:none!important}body:has(.scan-data-print) .content{margin:0!important;padding:0!important}.scan-data-print .no-print{display:none!important}.scan-data-print .print-only{display:block!important}.scan-data-print{max-width:none!important;padding:0!important;color:#000!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.scan-data-print .day-section{break-inside:avoid;box-shadow:none!important;border:none!important;padding:0 0 8px!important;margin-bottom:18px!important}.scan-data-print .report-table{font-size:9.5pt}.scan-data-print .report-table th,.scan-data-print .report-table td{padding:3.5px 6px}.scan-data-print .report-table tr.zero-scans td{color:#666!important}.scan-data-print .report-table tr:hover{background:transparent!important}@page{size:A4 portrait;margin:14mm 12mm}}.tw-scope .visible{visibility:visible}.tw-scope .invisible{visibility:hidden}.tw-scope .collapse{visibility:collapse}.tw-scope .fixed{position:fixed}.tw-scope .absolute{position:absolute}.tw-scope .relative{position:relative}.tw-scope .sticky{position:sticky}.tw-scope .inset-0{inset:0}.tw-scope .left-0{left:0}.tw-scope .start-0{inset-inline-start:0px}.tw-scope .top-0{top:0}.tw-scope .z-10{z-index:10}.tw-scope .z-20{z-index:20}.tw-scope .z-40{z-index:40}.tw-scope .z-50{z-index:50}.tw-scope .z-\[1\]{z-index:1}.tw-scope .m-0{margin:0}.tw-scope .mx-1{margin-left:.25rem;margin-right:.25rem}.tw-scope .mx-auto{margin-left:auto;margin-right:auto}.tw-scope .-mb-px{margin-bottom:-1px}.tw-scope .mb-0{margin-bottom:0}.tw-scope .mb-1{margin-bottom:.25rem}.tw-scope .mb-2{margin-bottom:.5rem}.tw-scope .mb-3{margin-bottom:.75rem}.tw-scope .mb-4{margin-bottom:1rem}.tw-scope .ml-1{margin-left:.25rem}.tw-scope .ml-2{margin-left:.5rem}.tw-scope .ml-3{margin-left:.75rem}.tw-scope .ml-auto{margin-left:auto}.tw-scope .mr-1{margin-right:.25rem}.tw-scope .mt-1{margin-top:.25rem}.tw-scope .mt-2{margin-top:.5rem}.tw-scope .mt-3{margin-top:.75rem}.tw-scope .block{display:block}.tw-scope .inline-block{display:inline-block}.tw-scope .inline{display:inline}.tw-scope .flex{display:flex}.tw-scope .inline-flex{display:inline-flex}.tw-scope .\!table{display:table!important}.tw-scope .table{display:table}.tw-scope .grid{display:grid}.tw-scope .inline-grid{display:inline-grid}.tw-scope .contents{display:contents}.tw-scope .hidden{display:none}.tw-scope .h-10{height:2.5rem}.tw-scope .h-4{height:1rem}.tw-scope .h-5{height:1.25rem}.tw-scope .h-6{height:1.5rem}.tw-scope .h-7{height:1.75rem}.tw-scope .h-8{height:2rem}.tw-scope .h-\[calc\(100vh-64px\)\]{height:calc(100vh - 64px)}.tw-scope .h-full{height:100%}.tw-scope .max-h-40{max-height:10rem}.tw-scope .max-h-96{max-height:24rem}.tw-scope .min-h-0{min-height:0px}.tw-scope .w-10{width:2.5rem}.tw-scope .w-20{width:5rem}.tw-scope .w-24{width:6rem}.tw-scope .w-5{width:1.25rem}.tw-scope .w-72{width:18rem}.tw-scope .w-8{width:2rem}.tw-scope .w-\[min\(1400px\,100\%\)\]{width:min(1400px,100%)}.tw-scope .w-full{width:100%}.tw-scope .min-w-0{min-width:0px}.tw-scope .min-w-\[16rem\]{min-width:16rem}.tw-scope .min-w-\[24rem\]{min-width:24rem}.tw-scope .min-w-\[5\.5rem\]{min-width:5.5rem}.tw-scope .min-w-\[7rem\]{min-width:7rem}.tw-scope .min-w-\[8rem\]{min-width:8rem}.tw-scope .min-w-full{min-width:100%}.tw-scope .max-w-4xl{max-width:56rem}.tw-scope .max-w-md{max-width:28rem}.tw-scope .flex-1{flex:1 1 0%}.tw-scope .shrink-0{flex-shrink:0}.tw-scope .grow{flex-grow:1}.tw-scope .border-collapse{border-collapse:collapse}.tw-scope .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(360deg)}}.tw-scope .animate-spin{animation:spin 1s linear infinite}.tw-scope .cursor-pointer{cursor:pointer}.tw-scope .select-none{user-select:none}.tw-scope .resize{resize:both}.tw-scope .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.tw-scope .flex-col{flex-direction:column}.tw-scope .flex-wrap{flex-wrap:wrap}.tw-scope .items-start{align-items:flex-start}.tw-scope .items-end{align-items:flex-end}.tw-scope .items-center{align-items:center}.tw-scope .items-stretch{align-items:stretch}.tw-scope .justify-end{justify-content:flex-end}.tw-scope .justify-center{justify-content:center}.tw-scope .justify-between{justify-content:space-between}.tw-scope .gap-0\.5{gap:.125rem}.tw-scope .gap-1{gap:.25rem}.tw-scope .gap-2{gap:.5rem}.tw-scope .gap-3{gap:.75rem}.tw-scope .gap-4{gap:1rem}.tw-scope :is(.space-y-2>:not([hidden])~:not([hidden])){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.tw-scope :is(.space-y-4>:not([hidden])~:not([hidden])){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.tw-scope :is(.space-y-6>:not([hidden])~:not([hidden])){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.tw-scope .self-center{align-self:center}.tw-scope .overflow-auto{overflow:auto}.tw-scope .overflow-hidden{overflow:hidden}.tw-scope .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tw-scope .whitespace-normal{white-space:normal}.tw-scope .whitespace-nowrap{white-space:nowrap}.tw-scope .break-all{word-break:break-all}.tw-scope .rounded{border-radius:.25rem}.tw-scope .\!border-2{border-width:2px!important}.tw-scope .border{border-width:1px}.tw-scope .border-b{border-bottom-width:1px}.tw-scope .border-b-2{border-bottom-width:2px}.tw-scope .border-l{border-left-width:1px}.tw-scope .border-t{border-top-width:1px}.tw-scope .border-dashed{border-style:dashed}.tw-scope .\!border-red-600{--tw-border-opacity: 1 !important;border-color:rgb(220 38 38 / var(--tw-border-opacity, 1))!important}.tw-scope .border-amber-300{--tw-border-opacity: 1;border-color:rgb(252 211 77 / var(--tw-border-opacity, 1))}.tw-scope .border-amber-500{--tw-border-opacity: 1;border-color:rgb(245 158 11 / var(--tw-border-opacity, 1))}.tw-scope .border-blue-200{--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity, 1))}.tw-scope .border-blue-600{--tw-border-opacity: 1;border-color:rgb(37 99 235 / var(--tw-border-opacity, 1))}.tw-scope .border-gray-100{--tw-border-opacity: 1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1))}.tw-scope .border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.tw-scope .border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.tw-scope .border-gray-500{--tw-border-opacity: 1;border-color:rgb(107 114 128 / var(--tw-border-opacity, 1))}.tw-scope .border-gray-800{--tw-border-opacity: 1;border-color:rgb(31 41 55 / var(--tw-border-opacity, 1))}.tw-scope .border-gray-900{--tw-border-opacity: 1;border-color:rgb(17 24 39 / var(--tw-border-opacity, 1))}.tw-scope .border-green-600{--tw-border-opacity: 1;border-color:rgb(22 163 74 / var(--tw-border-opacity, 1))}.tw-scope .border-red-300{--tw-border-opacity: 1;border-color:rgb(252 165 165 / var(--tw-border-opacity, 1))}.tw-scope .border-transparent{border-color:transparent}.tw-scope .bg-amber-100{--tw-bg-opacity: 1;background-color:rgb(254 243 199 / var(--tw-bg-opacity, 1))}.tw-scope .bg-amber-50{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity, 1))}.tw-scope .bg-black\/30{background-color:#0000004d}.tw-scope .bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.tw-scope .bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.tw-scope .bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.tw-scope .bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.tw-scope .bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.tw-scope .bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.tw-scope .bg-gray-900{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity, 1))}.tw-scope .bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.tw-scope .bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.tw-scope .bg-green-600{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1))}.tw-scope .bg-purple-100{--tw-bg-opacity: 1;background-color:rgb(243 232 255 / var(--tw-bg-opacity, 1))}.tw-scope .bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.tw-scope .bg-slate-50{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.tw-scope .bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.tw-scope .p-0{padding:0}.tw-scope .p-2{padding:.5rem}.tw-scope .p-3{padding:.75rem}.tw-scope .p-4{padding:1rem}.tw-scope .p-6{padding:1.5rem}.tw-scope .p-8{padding:2rem}.tw-scope .px-0\.5{padding-left:.125rem;padding-right:.125rem}.tw-scope .px-1{padding-left:.25rem;padding-right:.25rem}.tw-scope .px-2{padding-left:.5rem;padding-right:.5rem}.tw-scope .px-3{padding-left:.75rem;padding-right:.75rem}.tw-scope .px-4{padding-left:1rem;padding-right:1rem}.tw-scope .py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.tw-scope .py-1{padding-top:.25rem;padding-bottom:.25rem}.tw-scope .py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.tw-scope .py-12{padding-top:3rem;padding-bottom:3rem}.tw-scope .py-2{padding-top:.5rem;padding-bottom:.5rem}.tw-scope .py-3{padding-top:.75rem;padding-bottom:.75rem}.tw-scope .pb-0\.5{padding-bottom:.125rem}.tw-scope .pb-1{padding-bottom:.25rem}.tw-scope .pb-2{padding-bottom:.5rem}.tw-scope .pt-0\.5{padding-top:.125rem}.tw-scope .pt-1{padding-top:.25rem}.tw-scope .pt-2{padding-top:.5rem}.tw-scope .text-left{text-align:left}.tw-scope .text-center{text-align:center}.tw-scope .text-right{text-align:right}.tw-scope .align-bottom{vertical-align:bottom}.tw-scope .font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.tw-scope .text-2xl{font-size:1.5rem;line-height:2rem}.tw-scope .text-6xl{font-size:3.75rem;line-height:1}.tw-scope .text-\[10px\]{font-size:10px}.tw-scope .text-\[11px\]{font-size:11px}.tw-scope .text-base{font-size:1rem;line-height:1.5rem}.tw-scope .text-lg{font-size:1.125rem;line-height:1.75rem}.tw-scope .text-sm{font-size:.875rem;line-height:1.25rem}.tw-scope .text-xl{font-size:1.25rem;line-height:1.75rem}.tw-scope .text-xs{font-size:.75rem;line-height:1rem}.tw-scope .font-bold{font-weight:700}.tw-scope .font-medium{font-weight:500}.tw-scope .font-normal{font-weight:400}.tw-scope .font-semibold{font-weight:600}.tw-scope .uppercase{text-transform:uppercase}.tw-scope .lowercase{text-transform:lowercase}.tw-scope .normal-case{text-transform:none}.tw-scope .italic{font-style:italic}.tw-scope .tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.tw-scope .leading-4{line-height:1rem}.tw-scope .leading-\[1\.2\]{line-height:1.2}.tw-scope .leading-tight{line-height:1.25}.tw-scope .tracking-normal{letter-spacing:0em}.tw-scope .tracking-wide{letter-spacing:.025em}.tw-scope .text-amber-800{--tw-text-opacity: 1;color:rgb(146 64 14 / var(--tw-text-opacity, 1))}.tw-scope .text-amber-900{--tw-text-opacity: 1;color:rgb(120 53 15 / var(--tw-text-opacity, 1))}.tw-scope .text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.tw-scope .text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.tw-scope .text-blue-900{--tw-text-opacity: 1;color:rgb(30 58 138 / var(--tw-text-opacity, 1))}.tw-scope .text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.tw-scope .text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.tw-scope .text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.tw-scope .text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.tw-scope .text-green-400{--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.tw-scope .text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.tw-scope .text-green-800{--tw-text-opacity: 1;color:rgb(22 101 52 / var(--tw-text-opacity, 1))}.tw-scope .text-green-900{--tw-text-opacity: 1;color:rgb(20 83 45 / var(--tw-text-opacity, 1))}.tw-scope .text-orange-600{--tw-text-opacity: 1;color:rgb(234 88 12 / var(--tw-text-opacity, 1))}.tw-scope .text-purple-900{--tw-text-opacity: 1;color:rgb(88 28 135 / var(--tw-text-opacity, 1))}.tw-scope .text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.tw-scope .text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.tw-scope .text-red-800{--tw-text-opacity: 1;color:rgb(153 27 27 / var(--tw-text-opacity, 1))}.tw-scope .text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.tw-scope .underline{text-decoration-line:underline}.tw-scope .line-through{text-decoration-line:line-through}.tw-scope .opacity-20{opacity:.2}.tw-scope .opacity-50{opacity:.5}.tw-scope .shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.tw-scope .outline-none{outline:2px solid transparent;outline-offset:2px}.tw-scope .outline{outline-style:solid}.tw-scope .ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.tw-scope .ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.tw-scope .ring-gray-900{--tw-ring-opacity: 1;--tw-ring-color: rgb(17 24 39 / var(--tw-ring-opacity, 1))}.tw-scope .ring-red-300{--tw-ring-opacity: 1;--tw-ring-color: rgb(252 165 165 / var(--tw-ring-opacity, 1))}.tw-scope .blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.tw-scope .invert{--tw-invert: invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.tw-scope .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.tw-scope .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.tw-scope .ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.tw-scope .hover\:bg-blue-700:hover{--tw-bg-opacity: 1;background-color:rgb(29 78 216 / var(--tw-bg-opacity, 1))}.tw-scope .hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.tw-scope .hover\:bg-gray-300:hover{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}.tw-scope .hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.tw-scope .hover\:bg-green-700:hover{--tw-bg-opacity: 1;background-color:rgb(21 128 61 / var(--tw-bg-opacity, 1))}.tw-scope .hover\:text-gray-600:hover{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.tw-scope .hover\:text-gray-900:hover{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.tw-scope .focus\:border-blue-500:focus{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.tw-scope .focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.tw-scope .disabled\:text-gray-400:disabled{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.tw-scope .disabled\:opacity-50:disabled{opacity:.5}@media (min-width: 768px){.tw-scope .md\:col-span-2{grid-column:span 2 / span 2}.tw-scope .md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.tw-scope .md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.tw-scope .md\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (min-width: 1024px){.tw-scope .lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}}.login-page{display:flex;min-height:100vh}.login-hero{display:none;position:relative;overflow:hidden;background:#0a0f1a}@media (min-width: 1024px){.login-hero{display:flex;flex:3}}.login-hero-bg{position:absolute;inset:0;background:linear-gradient(135deg,#111827,#1e293b,#0f172a)}.login-hero-glow{position:absolute;border-radius:50%;filter:blur(80px);opacity:.5}.login-hero-glow-1{top:-100px;left:-100px;width:400px;height:400px;background:linear-gradient(135deg,#38bdf84d,#3b82f61a)}.login-hero-glow-2{bottom:-150px;right:-100px;width:500px;height:500px;background:linear-gradient(135deg,#64748b66,#38bdf826)}.login-hero-content{position:relative;z-index:1;margin:auto;display:flex;flex-direction:column;align-items:center;gap:56px;padding:64px;max-width:800px;text-align:center}.login-hero-icon{height:180px;width:auto;filter:drop-shadow(0 10px 30px rgba(0,0,0,.3))}.login-hero-text{display:flex;flex-direction:column;align-items:center;gap:16px}.login-hero-label{margin:0;font-size:15px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:#7dd3fccc}.login-hero-title{margin:0;font-size:46px;font-weight:700;line-height:1.2;letter-spacing:.01em;color:#fff;max-width:480px}.login-hero-desc{margin:0;font-size:18px;line-height:1.6;color:#e2e8f0f2;max-width:520px}.login-hero-stages{display:flex;flex-wrap:wrap;justify-content:center;gap:16px 24px}.login-hero-stage{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:#94a3b8cc}.login-hero-stage-dot{width:7px;height:7px;border-radius:50%;background:#38bdf880}.login-hero-footer{position:absolute;bottom:32px;left:32px;font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:#94a3b880}.login-panel{flex:0 0 380px;background:#f5f7fa;display:flex;flex-direction:column;box-shadow:-4px 0 24px #0000001a}.login-panel-inner{width:100%;padding:48px 36px;display:flex;flex-direction:column}.login-header{margin-bottom:32px}.login-logo{height:36px;width:auto;margin-bottom:20px;opacity:.85}.login-header-text{display:flex;flex-direction:column;gap:8px}.login-title{margin:0;font-size:var(--text-xl);font-weight:500;color:var(--color-text-strong)}.login-subtitle{margin:0;font-size:var(--text-base);color:var(--color-text-muted)}.login-form{display:flex;flex-direction:column;gap:20px}.login-field{display:flex;flex-direction:column;gap:6px}.login-label-row{display:flex;justify-content:space-between;align-items:center}.login-label{font-size:var(--text-sm);font-weight:500;color:var(--color-text-strong)}.login-forgot{background:none;border:none;padding:0;font-size:var(--text-sm);font-weight:500;color:#0369a1;cursor:pointer}.login-forgot:hover{color:#0284c7}.login-input{width:100%;padding:12px 14px;font-size:var(--text-base);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:#fff;color:var(--color-text-strong);outline:none;transition:border-color .15s,box-shadow .15s}.login-input::placeholder{color:var(--color-text-muted);opacity:.6}.login-input:focus{border-color:#0ea5e9;box-shadow:0 0 0 3px #0ea5e926}.login-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:12px 16px;font-size:var(--text-base);font-weight:600;color:#fff;background:#0284c7;border:none;border-radius:var(--radius-md);cursor:pointer;transition:background .15s}.login-button:hover{background:#0369a1}.login-button:focus-visible{outline:2px solid #0ea5e9;outline-offset:2px}.login-button:disabled{opacity:.7;cursor:not-allowed}.login-button-google{background:#fff;color:var(--color-text-strong);border:1px solid var(--color-border-subtle);font-weight:500}.login-button-google:hover{background:#f8fafc}.login-google-icon{width:20px;height:20px;flex-shrink:0}.login-button-microsoft{background:#2f2f2f;color:#fff;font-weight:500}.login-button-microsoft:hover{background:#1a1a1a}.login-microsoft-icon{width:20px;height:20px;flex-shrink:0}.login-linking-message{padding:12px 16px;margin-bottom:16px;background:#fef3c7;border:1px solid #f59e0b;border-radius:var(--radius-md);color:#92400e;font-size:var(--text-sm);line-height:1.5}.login-divider{display:flex;align-items:center;gap:16px;margin:16px 0;color:var(--color-text-muted);font-size:var(--text-sm)}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--color-border-subtle)}.login-loading{display:flex;align-items:center;justify-content:center;height:200px;font-size:var(--text-base);color:var(--color-text-muted)}.login-footer{margin-top:32px;text-align:center;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--color-text-muted);opacity:.6}
