:root,[data-theme=light]{--bg:#f8fafc;--surface:#fff;--surface-2:#f1f5f9;--surface-3:#e2e8f0;--border:#cbd5e1;--border-strong:#94a3b8;--text:#090d16;--text-2:#334155;--text-3:#64748b;--accent:#0284c7;--accent-hover:#0369a1;--accent-soft:#e0f2fe;--green:#059669;--green-soft:#ecfdf5;--green-border:#a7f3d0;--green-text:#065f46;--amber:#d97706;--amber-soft:#fffbeb;--amber-border:#fde68a;--amber-text:#92400e;--red:#dc2626;--red-soft:#fef2f2;--red-border:#fecaca;--red-text:#991b1b;--blue:#2563eb;--blue-soft:#eff6ff;--blue-border:#bfdbfe;--blue-text:#1e40af;--shadow-sm:0 1px 2px 0 #0000000d;--shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #00000014, 0 2px 4px -2px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--radius:10px;--font:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace;--sidebar-bg:#f8fafc;--sidebar-border:#e2e8f0;--sidebar-text:#0f172a;--sidebar-muted:#64748b;--sidebar-item:#fff;--sidebar-item-border:#e2e8f0;--sidebar-item-hover:#f1f5f9;--sidebar-item-selected:#0284c71f;--bg-main:var(--bg);--bg-card:var(--surface);--bg-inset:var(--surface-2);--text-main:var(--text);--text-muted:var(--text-2);--accent-glow:var(--green-soft)}[data-theme=dark]{--bg:#080c14;--surface:#0f172a;--surface-2:#172339;--surface-3:#1e2f4d;--border:#223354;--border-strong:#33496f;--text:#fff;--text-2:#cbd5e1;--text-3:#94a3b8;--accent:#38bdf8;--accent-hover:#0ea5e9;--accent-soft:#38bdf829;--green:#10b981;--green-soft:#10b98129;--green-border:#10b98152;--green-text:#34d399;--amber:#f59e0b;--amber-soft:#f59e0b29;--amber-border:#f59e0b52;--amber-text:#fbbf24;--red:#f87171;--red-soft:#ef444429;--red-border:#ef444452;--red-text:#fca5a5;--blue:#60a5fa;--blue-soft:#3b82f629;--blue-border:#3b82f652;--blue-text:#93c5fd;--sidebar-bg:#090e17;--sidebar-border:#1a263c;--sidebar-text:#f8fafc;--sidebar-muted:#94a3b8;--sidebar-item:#101827;--sidebar-item-border:#1f2c42;--sidebar-item-hover:#17243b;--sidebar-item-selected:#38bdf829;--bg-main:var(--bg);--bg-card:var(--surface);--bg-inset:var(--surface-2);--text-main:var(--text);--text-muted:var(--text-2);--accent-glow:var(--green-soft)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{background:var(--bg);color:var(--text);font:14px/1.5 var(--font);-webkit-font-smoothing:antialiased;transition:background .15s,color .15s}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes modalScaleIn{0%{opacity:0;transform:scale(.96)translateY(12px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes shimmerSweep{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulseGlow{0%,to{box-shadow:0 0 #38bdf866}50%{box-shadow:0 0 0 6px #38bdf800}}@keyframes pulseDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.75)}}.anim-fade-up{animation:.22s cubic-bezier(.16,1,.3,1) forwards fadeSlideUp}.anim-modal-in{animation:.25s cubic-bezier(.16,1,.3,1) forwards modalScaleIn}.surface-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:border-color .15s,box-shadow .15s}.surface-card:hover{border-color:var(--border-strong)}.avatar-initials{background:var(--surface-2);width:32px;height:32px;color:var(--accent);border:1px solid var(--border);letter-spacing:.04em;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:11.5px;font-weight:700;display:inline-flex}.shimmer-badge{background:linear-gradient(90deg, var(--green-soft) 0%, #10b98140 50%, var(--green-soft) 100%);border:1px solid var(--green-border);color:var(--green-text);background-size:200% 100%;animation:3s linear infinite shimmerSweep}.live-dot{background:var(--green);border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite pulseDot;display:inline-block}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;background:#030712bf;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}input,select,textarea,.input-search,.form-control{box-sizing:border-box;border-radius:8px;font-family:inherit;font-size:13px;transition:all .15s;background:var(--surface-2)!important;color:var(--text)!important;border:1px solid var(--border-strong)!important}input:focus,select:focus,textarea:focus,.input-search:focus,.form-control:focus{outline-offset:-1px;background:var(--surface)!important;border-color:var(--accent)!important;outline:2px solid var(--accent)!important}input::placeholder,textarea::placeholder,.input-search::placeholder{opacity:.9;color:var(--text-3)!important}.enterprise-layout{background:var(--bg);height:100vh;display:flex;overflow:hidden}.enterprise-sidebar{background:var(--sidebar-bg);width:270px;color:var(--sidebar-text);border-right:1px solid var(--sidebar-border);flex-direction:column;flex-shrink:0;display:flex}.sidebar-brand{border-bottom:1px solid var(--sidebar-border);align-items:center;gap:12px;padding:18px 20px 16px;display:flex}.brand-icon{background:var(--accent);color:#fff;border-radius:8px;place-items:center;width:36px;height:36px;display:grid}.brand-title{letter-spacing:.05em;color:#fff;font-size:14px;font-weight:700}.brand-subtitle{color:var(--sidebar-muted);font-size:11px}.sidebar-action-wrap{padding:16px 16px 8px}.sidebar-nav{flex-direction:column;flex:1;gap:4px;padding:8px 12px;display:flex;overflow-y:auto}.nav-group-title{letter-spacing:.06em;color:var(--sidebar-muted);text-transform:uppercase;padding:14px 10px 6px;font-size:11px;font-weight:700}.nav-link{text-align:left;width:100%;color:var(--sidebar-muted);background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;padding:9px 12px;font-size:13.5px;font-weight:500;transition:all .15s;display:flex}.nav-link:hover{background:var(--sidebar-item-hover);color:var(--sidebar-text)}.nav-link.active{background:var(--accent);color:#fff;font-weight:600}.runs-scroll-list{flex-direction:column;gap:6px;display:flex}.empty-sidebar-msg{color:var(--sidebar-muted);padding:10px 12px;font-size:12px;line-height:1.4}.run-list-item{text-align:left;background:var(--sidebar-item);border:1px solid var(--sidebar-item-border);width:100%;color:var(--sidebar-text);border-radius:6px;flex-direction:column;gap:4px;padding:10px 12px;transition:all .15s;display:flex}.run-list-item:hover{background:var(--sidebar-item-hover);border-color:var(--border-strong)}.run-list-item.selected{background:var(--sidebar-item-selected);border-color:var(--accent)}.run-item-header{justify-content:space-between;align-items:center;display:flex}.run-date-text{color:var(--sidebar-text);font-size:12.5px;font-weight:600}.run-item-sub{color:var(--sidebar-muted);align-items:center;gap:6px;font-size:11.5px;display:flex}.run-sep{opacity:.5}.sidebar-footer{border-top:1px solid var(--sidebar-border);color:var(--sidebar-muted);flex-direction:column;padding:14px 18px;font-size:11.5px;display:flex}.version-sub{color:var(--sidebar-muted);font-size:10.5px}.main-content-column{flex-direction:column;flex:1;min-width:0;height:100vh;display:flex;overflow:hidden}.app-header{background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;height:56px;padding:0 24px;transition:background .15s,border-color .15s;display:flex}.header-left{align-items:center;gap:14px;display:flex}.practice-badge{background:var(--surface-2);border:1px solid var(--border);letter-spacing:.02em;color:var(--text);border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:12.5px;font-weight:650;display:flex}.practice-badge-icon{color:var(--accent)}.header-right{align-items:center;gap:12px;display:flex}.header-divider{background:var(--border);width:1px;height:22px;margin:0 2px}.theme-toggle-btn{border:1px solid var(--border-strong);background:var(--surface);height:32px;color:var(--text);border-radius:6px;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.theme-toggle-btn:hover{background:var(--surface-2)}.theme-toggle-label{font-size:12px}.user-profile-menu{align-items:center;gap:10px;display:flex}.user-avatar{background:var(--surface-2);width:28px;height:28px;color:var(--text-2);border:1px solid var(--border);border-radius:50%;place-items:center;display:grid}.user-info{flex-direction:column;display:flex}.user-name{color:var(--text);font-size:12.5px;font-weight:600}.user-role-badge{color:var(--accent);font-size:10px;font-weight:700}.content-viewport{background:var(--bg);flex:1;padding:24px 32px 48px;overflow-y:auto}.page{flex-direction:column;gap:20px;width:100%;max-width:1280px;margin:0 auto;display:flex}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:4px;display:flex}.page-title{color:var(--text);margin:0;font-size:22px;font-weight:700;line-height:1.25}.page-sub{color:var(--text-2);flex-wrap:wrap;align-items:center;gap:10px;margin-top:6px;font-size:13px;display:flex}.actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.btn{border:1px solid var(--border-strong);background:var(--surface);height:36px;color:var(--text);white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:13px;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-2)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}.btn-secondary{background:var(--surface-2);border-color:var(--border-strong);color:var(--text)}.btn-secondary:hover:not(:disabled){background:var(--surface-3)}.btn-danger{background:var(--red);border-color:var(--red);color:#fff}.btn-danger:hover:not(:disabled){color:#fff;background:#dc2626;border-color:#dc2626}.btn-outline{border-color:var(--border-strong);color:var(--text);background:0 0}.btn-ghost{color:var(--text-2);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.btn-sm{gap:6px;height:30px;padding:0 10px;font-size:12px}.btn-xs{gap:4px;height:26px;padding:0 8px;font-size:11.5px}.btn-block{width:100%}.icon-btn{color:var(--text-2);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;padding:6px;transition:all .15s;display:grid}.icon-btn:hover{background:var(--surface-2);color:var(--text)}.input,.form-control{background:var(--surface);color:var(--text);border:1px solid var(--border-strong);border-radius:6px;width:100%;padding:7px 12px;font-size:13.5px;transition:border-color .15s,outline .15s}.input:focus,.form-control:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}.form-control-sm{height:32px;padding:4px 10px;font-size:12.5px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);color:var(--text)}.card-pad{padding:20px 24px}.card-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.card-header-title{color:var(--text);align-items:center;gap:8px;font-size:15px;font-weight:700;display:flex}.card-body{padding:20px}.card-title{color:var(--text);font-size:15px;font-weight:750}.card-desc{color:var(--text-2);margin:0 0 16px;font-size:13px}.section-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);margin:0 0 12px;font-size:12px;font-weight:700}.new-run{grid-template-columns:1fr 340px;align-items:start;gap:24px;display:grid}@media (width<=960px){.new-run{grid-template-columns:1fr}}.field{flex-direction:column;gap:8px;margin-bottom:22px;display:flex}.field-label{color:var(--text);align-items:center;gap:6px;font-size:13px;font-weight:650;display:flex}.field-hint{color:var(--text-3);font-size:12px;line-height:1.45}.field-hint.warn{color:var(--amber-text);font-weight:500}.choice-group{grid-template-columns:1fr 1fr;gap:14px;display:grid}@media (width<=600px){.choice-group{grid-template-columns:1fr}}.choice{background:var(--surface-2);border:2px solid var(--border);text-align:left;cursor:pointer;color:var(--text);border-radius:8px;flex-direction:column;gap:4px;padding:14px 16px;transition:all .15s;display:flex}.choice:hover{border-color:var(--border-strong)}.choice.selected{border-color:var(--accent);background:var(--accent-soft)}.choice.danger.selected{border-color:var(--red);background:var(--red-soft)}.choice-title{color:var(--text);align-items:center;gap:8px;font-size:13.5px;font-weight:650;display:flex}.choice-body{color:var(--text-2);font-size:12px;line-height:1.4}.checklist{flex-direction:column;gap:12px;margin-top:10px;display:flex}.checklist-item{color:var(--text);align-items:flex-start;gap:10px;font-size:13px;display:flex}.checklist-item .ok{color:var(--green);background:var(--green-soft);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.checklist-item .bad{color:var(--amber);background:var(--amber-soft);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.md-list{color:var(--text-2);flex-direction:column;gap:4px;max-height:220px;margin:8px 0 0;padding-left:20px;font-size:12.5px;display:flex;overflow-y:auto}.banner{border-radius:8px;align-items:center;gap:12px;margin-bottom:16px;padding:12px 16px;font-size:13px;font-weight:500;display:flex}.banner-blue{background:var(--blue-soft);color:var(--blue-text);border:1px solid var(--blue-border)}.banner-amber{background:var(--amber-soft);color:var(--amber-text);border:1px solid var(--amber-border)}.banner-red{background:var(--red-soft);color:var(--red-text);border:1px solid var(--red-border)}.banner-emerald,.banner-green{background:var(--green-soft);color:var(--green-text);border:1px solid var(--green-border)}.alert-box{border-radius:6px;align-items:center;gap:10px;padding:12px 16px;font-size:13px;font-weight:500;display:flex}.alert-success{background:var(--green-soft);color:var(--green-text);border:1px solid var(--green-border)}.alert-danger{background:var(--red-soft);color:var(--red-text);border:1px solid var(--red-border)}.stats{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px;display:grid}@media (width<=960px){.stats{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.stats{grid-template-columns:1fr}}.stat,.stat-card{text-align:left;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;gap:4px;padding:16px 18px;transition:all .15s;display:flex}button.stat:hover{border-color:var(--accent);background:var(--surface-2)}.stat.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.stat-label{color:var(--text-2);align-items:center;gap:6px;font-size:12.5px;font-weight:550;display:flex}.stat-value{letter-spacing:-.03em;color:var(--text);font-variant-numeric:tabular-nums;font-size:28px;font-weight:750}.stat-foot{color:var(--text-3);font-size:11.5px}.swatch{border-radius:50%;width:8px;height:8px;display:inline-block}.tabs{border-bottom:1px solid var(--border);background:var(--surface);border-top-left-radius:var(--radius);border-top-right-radius:var(--radius);gap:4px;padding:0 8px;display:flex}.tab{color:var(--text-2);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:8px;margin-bottom:-1px;padding:12px 14px;font-size:13px;font-weight:600;transition:all .15s;display:flex}.tab:hover{color:var(--text)}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.tab-count{background:var(--surface-2);color:var(--text-2);border-radius:999px;padding:1px 8px;font-size:11.5px}.table-wrap,.table-responsive{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}table,.data-table,.table{border-collapse:collapse;text-align:left;width:100%;font-size:13px}table th,.data-table th,.table th{background:var(--surface-2);color:var(--text-2);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 16px;font-size:12px;font-weight:650}table td,.data-table td,.table td{border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle;padding:12px 16px;font-size:13px}table tbody tr:hover td,.data-table tbody tr:hover td,.table tbody tr:hover td{background:var(--surface-2)}.cell-main{color:var(--text);font-weight:600}.cell-sub{color:var(--text-3);margin-top:2px;font-size:11.5px}.empty{text-align:center;color:var(--text-3);padding:48px 24px;font-size:13.5px}.badge{background:var(--surface-2);height:22px;color:var(--text-2);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:0 8px;font-size:11.5px;font-weight:650;display:inline-flex}.badge-dot:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.badge-green,.badge-success{background:var(--green-soft);color:var(--green-text);border:1px solid var(--green-border)}.badge-amber,.badge-warning{background:var(--amber-soft);color:var(--amber-text);border:1px solid var(--amber-border)}.badge-red,.badge-danger{background:var(--red-soft);color:var(--red-text);border:1px solid var(--red-border)}.badge-blue,.badge-info{background:var(--blue-soft);color:var(--blue-text);border:1px solid var(--blue-border)}.badge-slate,.badge-outline{color:var(--text-2);border:1px solid var(--border-strong);background:0 0}.badge-dark{background:var(--surface-3);color:var(--text)}.status-badge{background:var(--surface-2);color:var(--text-2);border:1px solid var(--border);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-size:11.5px;font-weight:650;display:inline-flex}.status-badge.verified{background:var(--green-soft);color:var(--green-text);border-color:var(--green-border)}.status-badge.alert{background:var(--red-soft);color:var(--red-text);border-color:var(--red-border)}.badge-running:before{animation:1.2s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.25}}.progress-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);gap:10px;margin-bottom:18px;padding:16px 20px;display:grid}.progress-row{color:var(--text-2);justify-content:space-between;font-size:13px;font-weight:500;display:flex}.progress-track{background:var(--surface-2);border-radius:999px;height:7px;overflow:hidden}.progress-fill{background:var(--accent);border-radius:999px;height:100%;transition:width .4s}.progress-fill.indeterminate{animation:1.4s ease-in-out infinite slide;width:30%!important}@keyframes slide{0%{transform:translate(-100%)}to{transform:translate(340%)}}.log{font:12px/1.65 var(--mono);color:var(--text);background:var(--surface-2);border-radius:0 0 var(--radius) var(--radius);white-space:pre-wrap;max-height:520px;margin:0;padding:16px;overflow-y:auto}.dialog-backdrop,.modal-backdrop{z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#030712bf;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.dialog,.modal-card{background:var(--surface);border:1px solid var(--border);width:min(520px,100%);box-shadow:var(--shadow-lg);color:var(--text);border-radius:12px;animation:.15s ease-out pop;overflow:hidden}@keyframes pop{0%{opacity:0;transform:scale(.96)}}.dialog-head,.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;padding:20px 24px 16px;display:flex}.dialog-title,.modal-title{color:var(--text);margin:0;font-size:17px;font-weight:700}.modal-subtitle{color:var(--text-2);margin:4px 0 0;font-size:13px}.dialog-body,.modal-form{color:var(--text);flex-direction:column;gap:16px;padding:20px 24px 24px;font-size:13.5px;line-height:1.5;display:flex}.dialog-actions,.modal-actions{justify-content:flex-end;gap:10px;margin-top:10px;display:flex}.error-text{color:var(--red);font-size:12.5px;font-weight:500}.panel-backdrop{z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;position:fixed;inset:0}.panel{background:var(--surface);border-left:1px solid var(--border);width:min(560px,100vw);box-shadow:var(--shadow-lg);z-index:51;flex-direction:column;animation:.2s ease-out slide-in;display:flex;position:fixed;top:0;bottom:0;right:0}@keyframes slide-in{0%{opacity:0;transform:translate(30px)}}.panel-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;padding:18px 22px;display:flex}.panel-title{color:var(--text);margin:0 0 4px;font-size:18px;font-weight:700}.panel-body{align-content:start;gap:20px;padding:22px;display:grid;overflow-y:auto}.kv{grid-template-columns:160px 1fr;gap:8px 12px;font-size:13px;display:grid}.kv dt{color:var(--text-2)}.kv dd{color:var(--text);overflow-wrap:anywhere;margin:0;font-weight:600}.shot{border:1px solid var(--border);background:var(--surface);border-radius:6px;width:100%;display:block}.memo{background:var(--surface-2);border:1px solid var(--border);font:12px/1.65 var(--mono);white-space:pre-wrap;color:var(--text);border-radius:6px;margin:0;padding:14px 16px}.copy-row{justify-content:space-between;align-items:center;display:flex}.date-input-group{background:var(--surface);border:1px solid var(--border-strong);border-radius:6px;align-items:center;gap:8px;padding:4px 10px;display:flex}.date-label{color:var(--text-2);align-items:center;gap:6px;font-size:12.5px;font-weight:600;display:flex}.text-emerald{color:var(--green)!important}.text-amber{color:var(--amber)!important}.text-blue{color:var(--blue)!important}.text-red-600{color:var(--red)!important}.muted,.text-muted{color:var(--text-3)!important}.search-wrap{align-items:center;display:flex;position:relative}.search-icon{color:var(--text-3);pointer-events:none;position:absolute;left:10px}.search-input{padding-left:32px!important}.row{flex-wrap:wrap;margin-left:-8px;margin-right:-8px;display:flex}.g-3{gap:16px}.col-12{flex:0 0 100%;max-width:100%}@media (width>=768px){.col-md-7{flex:0 0 calc(58.333% - 8px)}.col-md-5{flex:0 0 calc(41.666% - 8px)}}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}@media (width>=768px){.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.border-emerald-300{border-color:var(--green-border)!important}.bg-emerald-50{background-color:var(--green-soft)!important}.border-amber-300{border-color:var(--amber-border)!important}.bg-amber-50{background-color:var(--amber-soft)!important}.rounded{border-radius:8px}.p-4{padding:16px}.font-semibold{font-weight:600}.font-mono{font-family:var(--mono)}.text-right{text-align:right}.text-center{text-align:center}.d-flex{display:flex}.flex-column{flex-direction:column}.align-items-center{align-items:center}.justify-content-between{justify-content:space-between}.gap-2{gap:8px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}.dialog-foot{border-top:1px solid var(--border);background:var(--surface-2);border-bottom-right-radius:12px;border-bottom-left-radius:12px;justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}.check{cursor:pointer;color:var(--text);-webkit-user-select:none;user-select:none;align-items:flex-start;gap:10px;margin:6px 0;font-size:13px;display:flex}.check input{accent-color:var(--accent);margin-top:3px}.code-chip{font-family:var(--mono);background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:4px;padding:2px 6px;font-size:12px;font-weight:600}.page-container{flex-direction:column;gap:20px;width:100%;max-width:1280px;margin:0 auto;display:flex}.page-header-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.page-main-title{color:var(--text);margin:0 0 4px;font-size:22px;font-weight:700}.page-sub-title{color:var(--text-2);max-width:760px;margin:0;font-size:13.5px;line-height:1.45}.form-card{flex-direction:column;gap:16px;padding:20px 24px;display:flex}.form-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}@media (width<=860px){.form-grid{grid-template-columns:1fr}}.form-group{flex-direction:column;gap:6px;display:flex}.form-label{color:var(--text);font-size:12.5px;font-weight:650}.form-input{border:1px solid var(--border-strong);background:var(--surface);height:38px;color:var(--text);border-radius:6px;padding:0 12px;font-size:13.5px}.form-input:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}.form-actions{justify-content:flex-end;gap:10px;display:flex}.table-card{overflow:hidden}.table-controls{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.table-title{color:var(--text);font-size:14px;font-weight:700}.table-count{color:var(--text-3);font-size:12.5px}.search-bar{background:var(--surface-2);border:1px solid var(--border);border-radius:6px;align-items:center;gap:8px;width:340px;padding:0 10px;display:flex}.search-bar input{width:100%;height:36px;box-shadow:none!important;color:var(--text)!important;background:0 0!important;border:none!important;outline:none!important;padding:0!important}.empty-cell{color:var(--text-3);padding:36px 16px;font-size:13px}.provider-name-cell,.user-name-cell{align-items:center;gap:8px;display:flex}.text-main{color:var(--text)}.font-medium{font-weight:600}.btn-icon{width:30px;height:30px;color:var(--text-2);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;padding:0;transition:all .15s;display:grid}.btn-icon:hover{background:var(--surface-2);color:var(--text)}.btn-icon-danger:hover{background:var(--red-soft);color:var(--red)}.info-card{padding:18px 24px}.code-block{background:var(--surface-2);border:1px solid var(--border);font-family:var(--mono);color:var(--text);border-radius:6px;margin-top:8px;padding:10px 14px;font-size:12px}.demo-credentials-hint{color:var(--text-3);text-align:center;border-top:1px solid var(--border);margin-top:4px;padding-top:12px;font-size:11.5px}.auth2{--paper:#f5efe3;--paper-2:#fffdf8;--ink:#11322c;--ink-2:#3d5a53;--ink-3:#7a8f87;--rule:#d8ccb4;--coral:#e2552d;--coral-d:#c4431f;--stamp:#1d7a4b;min-height:100vh;color:var(--ink);background:radial-gradient(900px 500px at 12% 8%, #e2552d14, transparent 60%), radial-gradient(700px 500px at 95% 95%, #1d7a4b17, transparent 60%), radial-gradient(circle at 1px 1px, #11322c17 1px, transparent 0) 0 0 / 22px 22px, var(--paper);grid-template-columns:minmax(0,7fr) minmax(380px,5fr);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;display:grid}.auth2-stage{flex-direction:column;justify-content:center;padding:44px 64px;display:flex;position:relative}.auth2-brand{position:absolute;top:40px;left:64px}.auth2-brand *{color:var(--ink)!important}.auth2-head{letter-spacing:-.02em;max-width:620px;color:var(--ink);margin:0 0 44px;font-family:Iowan Old Style,Palatino Linotype,Palatino,Georgia,serif;font-size:clamp(34px,4.2vw,56px);font-weight:600;line-height:1.06}.auth2-head em{color:var(--coral);white-space:nowrap;font-style:italic}.auth2-receipt{background:var(--paper-2);border:1px solid var(--rule);border-radius:6px 6px 0 0;width:340px;padding:16px 20px 62px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;position:relative;transform:rotate(-1.6deg);box-shadow:0 18px 40px -18px #11322c59}.auth2-receipt-top{letter-spacing:.14em;color:var(--ink-3);border-bottom:1px dashed var(--rule);justify-content:space-between;margin-bottom:11px;padding-bottom:9px;font-size:10.5px;display:flex}.auth2-lines p{color:var(--ink);white-space:nowrap;width:0;animation:.9s steps(34,end) forwards auth2-type,.9s step-end forwards auth2-caret;animation-delay:calc(.5s + var(--i) * .75s);border-right:2px solid #0000;margin:0 0 6px;font-size:12.5px;overflow:hidden}.auth2-lines p:first-child{font-weight:700}.auth2-stamp{letter-spacing:.12em;color:var(--stamp);border:3px double var(--stamp);opacity:0;mix-blend-mode:multiply;border-radius:6px;padding:3px 12px;font-family:Iowan Old Style,Georgia,serif;font-size:20px;font-weight:800;animation:.35s cubic-bezier(.2,1.6,.4,1) 5.4s forwards auth2-stamp;position:absolute;bottom:22px;right:18px;transform:rotate(-12deg)scale(2.2)}.auth2-receipt-tear{background:linear-gradient(135deg, var(--paper-2) 50%, transparent 50%) 0 0 / 14px 10px, linear-gradient(225deg, var(--paper-2) 50%, transparent 50%) 0 0 / 14px 10px;height:10px;position:absolute;bottom:-9px;left:-1px;right:-1px}.auth2-door{justify-content:center;align-items:center;padding:40px 36px;display:flex}.auth2-ticket{background:var(--paper-2);border:1px solid var(--rule);border-radius:18px;width:100%;max-width:410px;position:relative;box-shadow:0 26px 50px -24px #11322c66}.auth2-ticket-head{letter-spacing:.2em;color:var(--ink);justify-content:space-between;padding:17px 26px 15px;font-size:11px;font-weight:800;display:flex}.auth2-ticket-head span:last-child{color:var(--coral)}.auth2-perf{border-top:2px dashed var(--rule);height:0;margin:0 14px;position:relative}.auth2-perf i{background:var(--paper);border:1px solid var(--rule);border-radius:50%;width:22px;height:22px;position:absolute;top:-12px}.auth2-perf i:first-child{clip-path:inset(0 0 0 50%);left:-25px}.auth2-perf i:last-child{clip-path:inset(0 50% 0 0);right:-25px}.auth2-ticket-body{padding:26px 28px}.auth2 .auth-title{letter-spacing:-.01em;color:var(--ink);margin:0 0 6px;font-family:Iowan Old Style,Palatino Linotype,Palatino,Georgia,serif;font-size:27px;font-weight:650}.auth2 .auth-sub{color:var(--ink-2);margin:0 0 18px;font-size:14px;line-height:1.55}.auth2 .auth-label{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin:16px 0 2px;font-size:10.5px;font-weight:800;display:block}.auth2 input.auth-input{appearance:none;box-sizing:border-box;width:100%;height:48px;box-shadow:none;border-radius:0;padding:0 2px;font-size:18px;font-weight:500;transition:border-color .15s;color:var(--ink)!important;border:0!important;border-bottom:2px solid var(--rule)!important;background:0 0!important;outline:none!important}.auth2 input.auth-input::placeholder{letter-spacing:0;font-weight:400;color:#8a9a93!important}.auth2 input.auth-input[type=password]:not(:placeholder-shown){letter-spacing:3px;font-size:22px;color:var(--ink)!important}.auth2 input.auth-input:focus{box-shadow:none;border:0!important;border-bottom:2px solid var(--coral)!important;background:0 0!important;outline:none!important}.auth2 .auth-pass{position:relative}.auth2 .auth-pass input.auth-input{padding-right:72px}.auth2 input.auth-input:-webkit-autofill{-webkit-box-shadow:0 0 0 40px var(--paper-2) inset!important;-webkit-text-fill-color:var(--ink)!important}.auth2 .auth-eye{height:30px;color:var(--coral-d);cursor:pointer;background:#e2552d1a;border:0;border-radius:8px;padding:0 12px;font-size:13px;font-weight:700;position:absolute;top:9px;right:0}.auth2 .auth-eye:hover{background:#e2552d1a}.auth2 .auth-primary{letter-spacing:.02em;color:#fff;background:var(--coral);cursor:pointer;border:0;border-radius:12px;justify-content:center;align-items:center;gap:10px;width:100%;height:50px;margin-top:26px;font-size:15px;font-weight:700;transition:background .15s,transform 80ms,box-shadow .15s;display:flex;box-shadow:0 8px 18px -10px #11322cb3}.auth2 .auth-primary:after{content:"→";transition:transform .15s}.auth2 .auth-primary:hover:not(:disabled){background:var(--coral-d)}.auth2 .auth-primary:hover:not(:disabled):after{transform:translate(4px)}.auth2 .auth-primary:active:not(:disabled){transform:translateY(1px)}.auth2 .auth-primary:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.auth2 .auth-alert{color:#8a2a10;background:#fdece6;border:1px solid #f2c4b3;border-radius:10px;margin-bottom:4px;padding:10px 12px;font-size:13.5px}.auth2 .auth-note{color:var(--ink-3);border-top:1px dashed var(--rule);margin:18px 0 0;padding-top:14px;font-size:12.5px;line-height:1.55}.auth2 .auth-steps{color:var(--ink-2);margin:0 0 4px;padding-left:20px;font-size:14px;line-height:1.7}.auth2 .auth-status{color:var(--stamp);background:#1d7a4b1a;border-radius:10px;margin-top:18px;padding:12px 14px;font-size:14px;font-weight:600}.auth2 .auth-link{color:var(--coral-d);cursor:pointer;text-align:center;background:0 0;border:0;margin:16px auto 0;font-size:13px;font-weight:700;display:block}.auth2 .auth-link:hover{text-decoration:underline}@keyframes auth2-type{0%{width:0}to{width:100%}}@keyframes auth2-caret{0%{border-right-color:var(--ink)}99%{border-right-color:var(--ink)}to{border-right-color:#0000}}@keyframes auth2-stamp{0%{opacity:0;transform:rotate(-12deg)scale(2.2)}to{opacity:.92;transform:rotate(-12deg)scale(1)}}@media (prefers-reduced-motion:reduce){.auth2-lines p{width:100%;animation:none}.auth2-stamp{opacity:.92;animation:none;transform:rotate(-12deg)}}@media (width<=920px){.auth2{grid-template-columns:1fr}.auth2-stage{padding:28px 24px 8px}.auth2-brand{margin-bottom:8px;position:static}.auth2-head{margin:18px 0 0;font-size:30px}.auth2-receipt{display:none}.auth2-door{padding:12px 18px 32px}}
