.dashboard-page{gap:var(--ds-space-6)}.candidate-page,.company-page,.job-page{display:flex;flex-direction:column;gap:var(--ds-space-6);min-width:0}.dashboard-hero{border:1px solid var(--ds-color-border);border-radius:var(--ds-radius-lg);background:var(--ds-color-card);box-shadow:var(--ds-shadow-card);padding:var(--ds-space-6)}.dashboard-hero h1{color:var(--ds-color-text-primary);font-size:var(--ds-type-h1-size);font-weight:var(--ds-type-h1-weight);line-height:var(--ds-type-h1-line)}.dashboard-search input{border:1px solid var(--ds-color-border);border-radius:var(--ds-radius-md);background:var(--ds-color-card);color:var(--ds-color-text-primary);padding:0 var(--ds-space-4);min-height:40px}.dashboard-search input::placeholder{color:var(--ds-color-text-secondary)}.dashboard-user{border:1px solid var(--ds-color-border);border-radius:var(--ds-radius-md);background:var(--ds-color-card);box-shadow:var(--ds-shadow-card)}.notification-dot{background:var(--ds-color-danger);color:var(--ds-color-card)}.avatar{background:color-mix(in srgb,var(--ds-color-primary) 14%,var(--ds-color-card));color:var(--ds-color-primary)}.dashboard-kpi-grid-v2{display:grid;grid-gap:var(--ds-space-4);gap:var(--ds-space-4);grid-template-columns:1fr}@media (min-width:640px){.dashboard-kpi-grid-v2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.dashboard-kpi-grid-v2{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1280px){.dashboard-kpi-grid-v2{grid-template-columns:repeat(4,minmax(0,1fr))}}.dashboard-kpi-grid-v2 .ui-stat-card{min-height:138px}.dashboard-kpi-grid-v2 .ui-stat-card-title{font-size:var(--ds-type-body-size);font-weight:900}.dashboard-kpi-grid-v2 .ui-stat-card-footer{display:grid;grid-gap:var(--ds-space-1);gap:var(--ds-space-1)}.dashboard-kpi-grid-v2 .ui-stat-card-footer strong{width:-moz-fit-content;width:fit-content;border-radius:999px;background:color-mix(in srgb,var(--ds-color-primary) 9%,var(--ds-color-card));color:var(--ds-color-primary);padding:2px var(--ds-space-2)}.trend-day small,.trend-legend span{color:var(--ds-color-text-secondary)}.bar.blue,.legend-dot.blue{background:var(--ds-color-primary)}.bar.green,.legend-dot.green{background:var(--ds-color-success)}.bar.orange,.legend-dot.orange{background:var(--ds-color-warning)}.trend-chart{border:1px solid var(--ds-color-border);border-radius:var(--ds-radius-lg);background:linear-gradient(var(--ds-color-border) 1px,transparent 1px),var(--ds-color-card);background-size:100% 46px}.donut:after{background:var(--ds-color-card)}.donut span{color:var(--ds-color-text-secondary)}.donut-job{background:conic-gradient(var(--ds-color-primary) 0 65%,var(--ds-color-warning) 65% 79%,var(--ds-color-success) 79% 100%)}.donut-candidate{background:conic-gradient(var(--ds-color-primary) 0 40%,var(--ds-color-success) 40% 71%,var(--ds-color-warning) 71% 90%,var(--ds-color-danger) 90% 100%)}.candidate-mini-item,.rank-item{border:1px solid var(--ds-color-border);border-radius:var(--ds-radius-md);background:var(--ds-color-background);color:var(--ds-color-text-primary);text-decoration:none;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.candidate-mini-item:hover,.rank-item:hover{border-color:rgba(59,130,246,.52);box-shadow:0 0 18px rgba(59,130,246,.14),0 4px 20px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.04);transform:translateY(-2px)}.rank-item span{background:var(--ds-color-card);color:var(--ds-color-text-secondary)}.rank-item em{color:var(--ds-color-primary)}.dashboard-quick-actions-v2{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-quick-actions-v2 .ui-action-button{min-height:48px}@media (max-width:1200px){.dashboard-quick-actions-v2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.dashboard-quick-actions-v2{grid-template-columns:1fr}}body,html{max-width:100%;overflow-x:hidden}.app-content-grid,.app-main,.app-shell,.app-workspace,.candidate-workspace,.dashboard-page,.job-workspace,.match-page,.match-workspace,.ui-detail-panel,.ui-detail-panel-body{min-width:0}.ui-table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}.ui-table-list{min-width:760px}.ui-table-list td,.ui-table-list th{white-space:normal;word-break:break-word}.ui-table-list td:last-child{min-width:160px}.actions{align-items:center;display:flex;flex-wrap:wrap;gap:var(--ds-space-2)}.ui-detail-panel-actions{padding:var(--ds-space-1) 0;border-bottom:none;position:relative;padding-bottom:calc(var(--ds-space-1) + 2px)}.ui-detail-panel-actions:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(to right,transparent,var(--ds-color-border,rgba(128,128,128,.18)) 18%,var(--ds-color-border,rgba(128,128,128,.18)) 82%,transparent);box-shadow:0 1px 0 rgba(255,255,255,.05),0 -1px 0 rgba(0,0,0,.04);pointer-events:none}.ui-detail-panel-actions .actions{flex-wrap:nowrap;gap:6px}.ui-table-list tr.is-clickable,.ui-table-list tr.is-selected{cursor:pointer}.ui-table-list tr.is-clickable:hover td{background:color-mix(in srgb,var(--ds-color-primary) 5%,var(--ds-color-card))}.ui-table-list tr.is-selected td{background:color-mix(in srgb,var(--ds-color-primary) 8%,var(--ds-color-card))}.ui-table-list td:has(.ui-table-row-link){padding:0}.ui-table-row-link{align-items:center;color:inherit;display:flex;min-height:76px;padding:12px;text-decoration:none;width:100%}.ui-table-row-link:hover{color:inherit}.company-workspace{align-items:flex-start;display:grid;grid-gap:var(--ds-space-6);gap:var(--ds-space-6);grid-template-columns:minmax(0,1.35fr) minmax(320px,.85fr);min-width:0}.record-detail{display:grid;grid-gap:var(--ds-space-4);gap:var(--ds-space-4)}.record-hero{align-items:flex-start;background:color-mix(in srgb,var(--ds-color-primary) 6%,var(--ds-color-card));border:1px solid color-mix(in srgb,var(--ds-color-primary) 18%,var(--ds-color-border));border-radius:var(--ds-radius-md);display:flex;gap:var(--ds-space-4);justify-content:space-between;padding:var(--ds-space-4)}.record-hero strong{color:var(--ds-color-text-primary);display:block;font-size:22px;font-weight:900;line-height:1.25;margin-top:var(--ds-space-1)}.record-hero p{color:var(--ds-color-text-secondary);margin-top:var(--ds-space-1)}.record-kicker{color:var(--ds-color-primary);font-size:var(--ds-type-caption-size);font-weight:800}.detail-list.compact{display:grid;grid-gap:var(--ds-space-3);gap:var(--ds-space-3);grid-template-columns:repeat(2,minmax(0,1fr))}.detail-list.compact div{background:var(--ds-color-background);border:1px solid var(--ds-color-border);border-radius:var(--ds-radius-sm);min-width:0;padding:var(--ds-space-3)}.detail-list.compact div:last-child{border-bottom:1px solid var(--ds-color-border);padding-bottom:var(--ds-space-3)}.detail-list.compact .detail-span-all{grid-column:1/-1}.detail-list.compact .detail-content-block{grid-column:1/-1;grid-row:span 3;min-height:180px}.detail-list.compact .detail-content-block dd{white-space:pre-wrap;line-height:1.6;font-size:14px}.detail-list.compact .detail-span-all dd,.detail-list.compact .detail-span-all dt{border:none!important}.detail-list.compact .attachment-list,.detail-list.compact .attachment-list-section{border:none!important;background:transparent!important;padding:0!important;border-radius:0!important}.detail-list.compact dt{color:var(--ds-color-text-secondary);font-size:12px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.detail-list.compact dd{color:var(--ds-color-text-primary);font-size:14px;font-weight:400;line-height:1.55;margin-top:var(--ds-space-1);word-break:break-word}.detail-tab-view{display:flex;flex-direction:column;flex:1 1;min-height:0}.detail-tabs{display:flex;gap:0;border-bottom:2px solid var(--ds-color-border,#e5e7eb);margin-bottom:12px;flex-shrink:0}.detail-tab{position:relative;padding:8px 20px;font-size:.875rem;font-weight:500;color:var(--ds-color-text-muted,#6b7280);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;transition:color .15s,border-color .15s;display:flex;align-items:center;gap:6px;white-space:nowrap}.detail-tab:hover{color:var(--ds-color-text-primary,#111827)}.detail-tab.is-active{color:var(--ds-color-accent,#6366f1);border-bottom-color:var(--ds-color-accent,#6366f1)}.detail-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;font-size:11px;font-weight:600;line-height:1;color:#fff;background:#c45c5c;flex-shrink:0}.detail-tab-extra{margin-left:auto}.detail-tab-extra,.detail-toolbar{display:flex;align-items:center;gap:8px}.note-search-wrap{position:relative;display:flex;align-items:center}.note-search-icon{position:absolute;left:8px;width:14px;height:14px;color:var(--ds-color-text-muted);pointer-events:none}.note-search-input{width:160px;height:30px;padding:0 28px;border:1px solid var(--ds-color-border);border-radius:var(--ds-radius-sm);font-size:12px;background:var(--ds-color-surface);color:var(--ds-color-text-primary);outline:none;transition:border-color .15s,box-shadow .15s,width .2s;font-family:inherit}.note-search-input:focus{width:200px;border-color:var(--ds-color-accent,#6366f1);box-shadow:0 0 0 2px color-mix(in srgb,var(--ds-color-accent,#6366f1) 15%,transparent)}.note-search-input::placeholder{color:var(--ds-color-text-muted)}.note-search-clear{position:absolute;right:4px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border:none;background:none;color:var(--ds-color-text-muted);font-size:16px;cursor:pointer;border-radius:50%;transition:color .15s,background .15s;line-height:1}.note-search-clear:hover{color:var(--ds-color-text-primary);background:var(--ds-color-border)}@media (max-width:600px){.note-search-input{width:120px}.note-search-input:focus{width:140px}}.note-search-overlay{align-items:center;display:flex;flex-direction:column;gap:20px;padding:24px 0 0;animation:noteSearchFadeIn .25s ease}@keyframes noteSearchFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.note-search-overlay-input-wrap{align-items:center;background:var(--ds-color-card,#ffffff);border:2px solid var(--ds-color-border,#e5e7eb);border-radius:16px;box-shadow:0 4px 20px rgba(0,0,0,.06);display:flex;gap:12px;max-width:520px;padding:12px 16px;position:relative;transition:border-color .2s,box-shadow .25s,transform .2s;width:100%}.note-search-overlay-input-wrap:focus-within{border-color:var(--ds-color-primary,#2563eb);box-shadow:0 0 0 4px rgba(37,99,235,.12),0 4px 24px rgba(37,99,235,.08);transform:scale(1.02)}.note-search-overlay-icon{color:var(--ds-color-text-tertiary,#9ca3af);flex-shrink:0;height:20px;width:20px}.note-search-overlay-input{background:transparent;border:none;color:var(--ds-color-text-primary,#111827);flex:1 1;font-size:16px;font-weight:400;outline:none;padding:0}.note-search-overlay-input::placeholder{color:var(--ds-color-text-tertiary,#9ca3af);font-size:15px}.note-search-overlay-clear{align-items:center;background:var(--ds-color-border,#e5e7eb);border:none;border-radius:50%;color:var(--ds-color-text-secondary,#6b7280);cursor:pointer;display:flex;flex-shrink:0;font-size:13px;font-weight:600;height:26px;justify-content:center;transition:all .15s;width:26px}.note-search-overlay-clear:hover{background:#ef4444;color:#ffffff;transform:scale(1.1)}.note-search-overlay-hint{color:var(--ds-color-text-tertiary,#9ca3af);font-size:14px;margin:0;animation:noteSearchFadeIn .35s ease .1s both}.note-search-blank{flex:1 1;min-height:200px}[data-theme=dark] .note-search-overlay-input-wrap{background:var(--ds-color-card,#1f2937);border-color:var(--ds-color-border,#374151);box-shadow:0 4px 20px rgba(0,0,0,.3)}[data-theme=dark] .note-search-overlay-input-wrap:focus-within{border-color:var(--ds-color-primary,#3b82f6);box-shadow:0 0 0 4px rgba(59,130,246,.2),0 4px 24px rgba(59,130,246,.12)}[data-theme=dark] .note-search-overlay-clear{background:var(--ds-color-border,#374151);color:var(--ds-color-text-secondary,#9ca3af)}[data-theme=dark] .note-search-overlay-clear:hover{background:#dc2626}@media (max-width:768px){.note-search-overlay{padding:16px 0 0;gap:14px}.note-search-overlay-input-wrap{max-width:100%;padding:10px 14px;border-radius:14px}.note-search-overlay-input{font-size:15px}.note-search-overlay-input-wrap:focus-within{transform:none}}.detail-tab-content{flex:1 1;overflow-y:auto;min-height:0}.table-text-clamp{display:-webkit-box;line-height:1.5;max-width:360px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.company-page .ui-table-list{min-width:900px}.company-page .ui-table-list td:nth-child(7),.company-page .ui-table-list th:nth-child(7){min-width:260px;max-width:360px}.related-jobs-panel{border-top:none;position:relative;display:grid;grid-gap:var(--ds-space-3);gap:var(--ds-space-3);padding-top:calc(var(--ds-space-4) + 2px)}.related-jobs-panel:before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(to right,transparent,var(--ds-color-border,rgba(128,128,128,.18)) 18%,var(--ds-color-border,rgba(128,128,128,.18)) 82%,transparent);box-shadow:0 1px 0 rgba(255,255,255,.05),0 -1px 0 rgba(0,0,0,.04);pointer-events:none}.related-jobs-head{align-items:center;display:flex;gap:var(--ds-space-3);justify-content:space-between}.related-jobs-head h3{color:var(--ds-color-text-primary);font-size:16px;font-weight:900;margin:0}.related-jobs-head p{color:var(--ds-color-text-secondary);font-size:var(--ds-type-caption-size);margin:var(--ds-space-1) 0 0}.related-jobs-list{display:grid;grid-gap:var(--ds-space-2);gap:var(--ds-space-2)}.related-job-card{align-items:center;background:var(--ds-color-card);border:1px solid var(--ds-color-border);border-radius:var(--ds-radius-md);color:inherit;display:flex;gap:var(--ds-space-3);justify-content:space-between;padding:var(--ds-space-3);text-decoration:none;transition:background .15s ease,border-color .15s ease,transform .15s ease}.related-job-card:hover{background:color-mix(in srgb,var(--ds-color-primary) 5%,var(--ds-color-card));border-color:rgba(59,130,246,.52);box-shadow:0 0 18px rgba(59,130,246,.14),0 4px 20px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.04);transform:translateY(-2px)}.related-job-card strong{color:var(--ds-color-text-primary);display:block;font-size:14px;font-weight:900}.related-job-card p,.related-jobs-empty p{color:var(--ds-color-text-secondary);font-size:var(--ds-type-caption-size);margin:var(--ds-space-1) 0 0}.related-jobs-empty{align-items:center;background:var(--ds-color-background);border:1px dashed var(--ds-color-border);border-radius:var(--ds-radius-md);display:flex;gap:var(--ds-space-3);justify-content:space-between;padding:var(--ds-space-4)}.candidate-workspace,.company-workspace,.job-workspace{align-items:flex-start;display:grid;grid-gap:var(--ds-space-5);gap:var(--ds-space-5);grid-template-columns:1fr 2fr 1fr;min-width:0}@media (min-width:1280px){.candidate-workspace,.company-workspace,.job-workspace{grid-template-columns:minmax(260px,1fr) minmax(480px,2fr) minmax(280px,1fr)}}.candidate-workspace>.ui-detail-panel:first-child,.candidate-workspace>.ui-detail-panel:nth-child(2),.company-workspace>.ui-detail-panel:first-child,.company-workspace>.ui-detail-panel:nth-child(2),.job-workspace>.ui-detail-panel:first-child,.job-workspace>.ui-detail-panel:nth-child(2){min-width:0}.candidate-workspace .detail-list.compact .detail-span-all,.company-workspace .detail-list.compact .detail-span-all,.job-workspace .detail-list.compact .detail-span-all{grid-column:1/-1}.candidate-workspace>.ui-detail-panel:last-child,.company-workspace>.ui-detail-panel:last-child,.job-workspace>.ui-detail-panel:last-child{position:-webkit-sticky;position:sticky;top:var(--ds-space-4)}.match-side-panel{display:flex!important;flex-direction:column;max-height:calc(100vh - var(--ds-space-4) * 2 - var(--ds-space-6) - 56px)!important;overflow:hidden!important}.match-side-panel .match-empty{flex:1 1}.match-side-panel .match-result-panel{flex:1 1;display:flex;flex-direction:column;min-height:0}.radio-panel{align-content:flex-start;border:1px solid var(--ds-color-border);border-radius:var(--ds-radius-sm);display:flex;gap:var(--ds-space-4);margin:0;padding:var(--ds-space-3)}.radio-panel legend{color:var(--ds-color-text-secondary);font-size:var(--ds-type-caption-size);font-weight:700;padding:0 var(--ds-space-1)}.radio-panel label{align-items:center;color:var(--ds-color-text-primary);display:inline-flex;flex-direction:row;gap:var(--ds-space-2);margin:0}.app-content-grid:not(:has(.app-right-panel)){grid-template-columns:minmax(0,1fr)}.job-commission-text,.job-commission-value,.job-salary-text,.job-salary-value{color:var(--ds-color-danger);font-weight:800}.company-form .checkbox-panel label,.company-form .ui-form-fieldset legend,.company-form .ui-form-label{color:var(--ds-color-text-secondary);font-weight:400}.company-form .ui-action-button,.company-form .ui-form-required{font-weight:500}@media (prefers-color-scheme:dark){.job-commission-text,.job-commission-value,.job-salary-text,.job-salary-value{color:var(--ds-color-danger)}}.match-page .ui-table-list{min-width:680px}.match-page .ui-table-list td,.match-page .ui-table-list th{padding-block:var(--ds-space-3);vertical-align:middle}.match-page .ui-table-list td:nth-child(2),.match-page .ui-table-list th:nth-child(2){max-width:220px}.match-page .ui-table-list td:nth-child(6),.match-page .ui-table-list th:nth-child(6){max-width:260px}.match-page .ui-table-list td:nth-child(2),.match-page .ui-table-list td:nth-child(6){color:var(--ds-color-text-primary);font-size:13px;line-height:1.45}@media (max-width:1100px){.candidate-workspace,.company-workspace,.job-workspace{grid-template-columns:1fr}.candidate-workspace>.ui-detail-panel:last-child,.company-workspace>.ui-detail-panel:last-child,.job-workspace>.ui-detail-panel:last-child{position:static}.detail-list.compact{grid-template-columns:1fr}}.dashboard-empty-hint{color:var(--ds-color-text-secondary);font-size:var(--ds-type-body-size);margin:0;padding:var(--ds-space-4);text-align:center}.trend-chart-skeleton{align-items:flex-end;display:flex;gap:var(--ds-space-3);height:160px;justify-content:space-between;padding:var(--ds-space-3) 0}.trend-chart-skeleton:after,.trend-chart-skeleton:before{animation:skeleton-pulse 1.6s ease-in-out infinite;background:linear-gradient(90deg,var(--ds-color-border) 0,color-mix(in srgb,var(--ds-color-border) 60%,var(--color-surface)) 50%,var(--ds-color-border) 100%);background-size:200% 100%;border-radius:var(--ds-radius-sm);content:"";flex:1 1;height:100%}.trend-chart-skeleton:after{height:66%}@keyframes skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.dashboard-error-state{display:grid;padding:var(--ds-space-8) 0;place-items:center}.dashboard-error-card{background:var(--color-surface);border:1px solid var(--ds-color-border);border-radius:var(--ds-radius-lg);box-shadow:var(--ds-shadow-card);max-width:520px;padding:var(--ds-space-6);text-align:center}.dashboard-error-card h2{color:var(--ds-color-text-primary);font-size:var(--ds-type-h4-size);font-weight:900;margin:0 0 var(--ds-space-2)}.dashboard-error-card p{color:var(--ds-color-text-secondary);margin:0 0 var(--ds-space-5)}.dashboard-chart-grid{display:grid;grid-gap:var(--ds-space-5);gap:var(--ds-space-5);grid-template-columns:1.6fr 1fr}.dashboard-chart-grid:last-of-type{grid-template-columns:1fr 1fr}@media (max-width:1100px){.dashboard-chart-grid{grid-template-columns:1fr}}.dashboard-page .kanban-board{padding:0}.login-page{justify-content:center;background:var(--color-background);overflow:hidden;padding:var(--ds-space-4)}.login-bg-decoration{position:absolute;inset:0;pointer-events:none;z-index:0}.login-blob{position:absolute;border-radius:50%;filter:blur(80px);opacity:.25;animation:login-blob-float 12s ease-in-out infinite}.login-blob-1{width:400px;height:400px;background:var(--color-primary);top:-120px;left:-80px;animation-delay:0s}.login-blob-2{width:300px;height:300px;background:var(--chart-purple);bottom:-100px;right:-60px;animation-delay:4s}.login-blob-3{width:250px;height:250px;background:var(--chart-cyan);top:40%;right:20%;animation-delay:8s}@keyframes login-blob-float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-40px) scale(1.08)}66%{transform:translate(-20px,30px) scale(.95)}}.login-card{position:relative;z-index:1;max-width:420px;background:var(--ds-color-card);border:1px solid var(--ds-color-border);border-radius:var(--ds-radius-lg);box-shadow:var(--ds-shadow-hover);padding:40px 36px 32px;animation:login-card-in .5s cubic-bezier(.34,1.56,.64,1)}@keyframes login-card-in{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.login-logo{display:flex;flex-direction:column;align-items:center;gap:14px;margin-bottom:32px}.login-logo-img{display:block;height:120px;width:auto;object-fit:contain;background:linear-gradient(135deg,#1e293b,#0f172a);border-radius:14px;padding:10px 18px;box-shadow:0 8px 24px rgba(0,0,0,.18)}.login-logo-text{display:flex;flex-direction:column;gap:2px;text-align:center}.login-logo-text strong{font-size:20px;font-weight:700;color:var(--ds-color-text-primary);line-height:1.2}.login-logo-text small{font-size:12px;color:var(--ds-color-text-secondary);font-weight:400}.login-form{gap:16px}.login-field{gap:8px}.login-label{font-size:14px;font-weight:500;color:var(--ds-color-text-primary)}.login-input-wrapper{position:relative;display:flex;align-items:center}.login-input{width:100%;padding:12px 44px 12px 14px;border:2px solid var(--ds-color-border);border-radius:var(--ds-radius-md);background:var(--color-background);color:var(--ds-color-text-primary);font-size:15px;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.login-input::placeholder{color:var(--ds-color-text-tertiary)}.login-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgb(37 99 235/12%)}.login-input:disabled{opacity:.6;cursor:not-allowed}.login-toggle-password{position:absolute;right:10px;background:none;border:none;cursor:pointer;font-size:18px;align-items:center;display:inline-flex;height:44px;justify-content:center;padding:0;width:44px;line-height:1;opacity:.6;transition:opacity var(--transition-fast)}.login-toggle-password:hover{opacity:1}.login-error{border-radius:var(--ds-radius-sm);background:rgb(239 68 68/10%);color:var(--color-danger);font-weight:500;animation:login-shake .35s ease}@keyframes login-shake{0%,to{transform:translateX(0)}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}.login-button{width:100%;padding:13px;border:none;border-radius:var(--ds-radius-md);background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));color:white;font-size:15px;font-weight:600;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-base),opacity var(--transition-fast);box-shadow:0 4px 14px rgb(37 99 235/30%);display:flex;align-items:center;justify-content:center;min-height:46px}.login-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px rgb(37 99 235/40%)}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{opacity:.7;cursor:not-allowed}.login-spinner{width:20px;height:20px;border:2.5px solid rgb(255 255 255/30%);border-top-color:white;border-radius:50%;animation:login-spin .6s linear infinite}.login-hint{margin-top:24px;text-align:center;font-size:12px;color:var(--ds-color-text-tertiary);line-height:1.5}@media (max-width:480px){.login-card{padding:32px 24px 24px}.login-logo-img{height:90px;padding:6px 12px;background:linear-gradient(135deg,#1e293b,#0f172a)}.login-logo-text strong{font-size:18px}}.lock-screen{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1e293b,#0f172a);overflow:hidden;animation:lock-fade-in .25s ease}@keyframes lock-fade-in{0%{opacity:0}to{opacity:1}}.lock-bg-blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.3;animation:lock-blob-float 15s ease-in-out infinite}.lock-bg-blob.blob1{width:380px;height:380px;background:#3b82f6;top:-100px;left:-80px}.lock-bg-blob.blob2{width:300px;height:300px;background:#8b5cf6;bottom:-80px;right:-60px;animation-delay:5s}.lock-bg-blob.blob3{width:220px;height:220px;background:#06b6d4;top:50%;left:60%;animation-delay:10s}@keyframes lock-blob-float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-30px) scale(1.1)}66%{transform:translate(-20px,20px) scale(.95)}}.lock-card{position:relative;z-index:1;width:90%;max-width:360px;background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px;padding:36px 28px 28px;box-shadow:0 20px 60px rgba(0,0,0,.4);text-align:center;animation:lock-card-in .4s cubic-bezier(.34,1.56,.64,1)}@keyframes lock-card-in{0%{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.lock-card.shake{animation:lock-shake .35s ease}@keyframes lock-shake{0%,to{transform:translateX(0)}25%{transform:translateX(-8px)}75%{transform:translateX(8px)}}.lock-logo{display:block;height:100px;margin:0 auto 16px;object-fit:contain;width:auto;background:linear-gradient(135deg,#1e293b,#0f172a);border-radius:14px;padding:10px 18px;box-shadow:0 8px 24px rgba(0,0,0,.18)}.lock-icon{font-size:44px;margin-bottom:12px}.lock-title{font-size:22px;font-weight:700;color:#1e293b;margin-bottom:4px}.lock-desc{font-size:13px;color:#64748b;margin-bottom:24px}.lock-form{display:flex;flex-direction:column;gap:10px}.lock-input-wrap{position:relative}.lock-input{width:100%;padding:12px 44px 12px 16px;border:2px solid #e2e8f0;border-radius:10px;font-size:15px;outline:none;transition:border-color .2s;background:#f8fafc;color:#1e293b}.lock-input:focus{border-color:#3b82f6;background:white}.lock-input::placeholder{color:#94a3b8}.lock-eye{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:none;background:transparent;align-items:center;cursor:pointer;display:inline-flex;font-size:18px;height:44px;justify-content:center;padding:0;width:44px}@media (max-width:480px){.login-page{padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.lock-input,.login-input{font-size:16px;min-height:52px}.login-input{padding-right:54px}.login-toggle-password{right:5px}}@media (max-height:650px) and (max-width:900px){.login-page{align-items:flex-start;overflow-y:auto}}.lock-error{font-size:13px;color:#ef4444;padding:6px 10px;background:rgba(239,68,68,.1);border-radius:6px;animation:lock-shake .35s ease}.lock-btn{width:100%;padding:12px;border:none;border-radius:10px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:white;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;min-height:44px}.lock-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 18px rgba(59,130,246,.4)}.lock-btn:disabled{opacity:.6;cursor:not-allowed}.lock-spinner{width:18px;height:18px;border:2.5px solid rgba(255,255,255,.3);border-top-color:white;border-radius:50%;animation:lock-spin .6s linear infinite}@keyframes lock-spin{to{transform:rotate(1turn)}}.lock-hint{margin-top:20px;font-size:12px;color:#94a3b8}.lock-hint kbd{display:inline-block;padding:2px 6px;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:4px;font-size:11px;font-family:monospace;color:#475569}.start-page{width:100vw;height:100vh;height:100dvh;position:fixed;inset:0;overflow:hidden;background:#000;z-index:0}.start-bg{width:100%;height:100%;object-fit:cover;display:block;-moz-user-select:none;user-select:none;-webkit-user-select:none;pointer-events:none}.start-enter-btn{position:absolute;left:0;bottom:0;width:100%;height:160px;background:transparent;border:none;cursor:pointer;z-index:10;-webkit-tap-highlight-color:transparent}.login-page{min-height:100vh;min-height:100dvh;background:linear-gradient(180deg,#e8f4fd,#d6ecf7 40%,#f0f9ff);padding:60px 28px 40px;box-sizing:border-box;position:relative}.login-page,.login-top{display:flex;flex-direction:column;align-items:center}.login-top{gap:6px;margin-bottom:32px;flex-shrink:0}.login-robot-wrap{width:96px;height:96px;border-radius:50%;background:rgba(255,255,255,.7);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 24px rgba(99,102,241,.15);margin-bottom:10px}.login-robot{width:80px;height:80px;object-fit:contain;pointer-events:none;-moz-user-select:none;user-select:none;-webkit-user-select:none}.login-title{font-size:26px;font-weight:700;color:#1e293b;margin:0;letter-spacing:.03em}.login-subtitle{font-size:14px;color:#64748b;margin:0;font-weight:400}.login-card{width:100%;max-width:360px;background:rgba(255,255,255,.75);border:1px solid rgba(148,163,184,.2);border-radius:24px;padding:28px 24px 24px;box-shadow:0 8px 32px rgba(99,102,241,.1);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);flex-shrink:0}.login-card-title{display:flex;align-items:center;justify-content:center;gap:12px;font-size:18px;font-weight:600;color:#1e293b;margin-bottom:24px}.login-card-line{flex:1 1;height:1px;max-width:60px;background:linear-gradient(90deg,transparent,rgba(99,102,241,.3),transparent)}.login-form{gap:14px}.login-field,.login-form{display:flex;flex-direction:column}.login-field{gap:6px}.login-input-wrap{display:flex;align-items:center;gap:10px;padding:0 16px;border-radius:12px;background:rgba(255,255,255,.9);border:1px solid rgba(148,163,184,.25);transition:border-color .2s,box-shadow .2s}.login-input-wrap:focus-within{border-color:#6366f1;box-shadow:0 0 0 3px rgba(99,102,241,.1)}.login-input-icon{font-size:18px;flex-shrink:0}.login-input{flex:1 1;border:none;background:transparent;padding:14px 0;font-size:16px;outline:none;color:#1e293b}.login-input:-moz-read-only{color:#475569;cursor:default}.login-input:read-only{color:#475569;cursor:default}.login-input::placeholder{color:#94a3b8}.login-error{padding:10px 14px;border-radius:10px;background:rgba(239,68,68,.08);color:#ef4444;font-size:13px;text-align:center;border:1px solid rgba(239,68,68,.15)}.login-btn{width:100%;padding:14px;border:none;border-radius:12px;background:linear-gradient(135deg,#6366f1,#2563eb);color:#fff;font-size:17px;font-weight:600;cursor:pointer;margin-top:4px;display:flex;align-items:center;justify-content:center;gap:8px;transition:opacity .2s,transform .15s,box-shadow .2s;-webkit-tap-highlight-color:transparent}.login-btn:hover{box-shadow:0 4px 16px rgba(37,99,235,.25)}.login-btn:active{transform:scale(.97)}.login-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.login-btn-loading{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:login-spin .6s linear infinite}@keyframes login-spin{to{transform:rotate(1turn)}}.login-links{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:8px}.login-link{background:none;border:none;font-size:13px;color:#6366f1;cursor:pointer;padding:4px;-webkit-tap-highlight-color:transparent}.login-link:active{opacity:.6}.login-link-dot{color:#94a3b8;font-size:13px}@media (min-width:768px){.login-page{justify-content:center;padding:40px 28px}.login-top{margin-bottom:40px}.login-card{max-width:420px;padding:36px 32px 32px}}[data-theme=dark] .login-page{background:linear-gradient(180deg,#0c1220,#111827 40%,#0f172a)}[data-theme=dark] .login-title{color:#e2e8f0}[data-theme=dark] .login-subtitle{color:#94a3b8}[data-theme=dark] .login-robot-wrap{background:rgba(30,41,59,.6);box-shadow:0 4px 24px rgba(99,102,241,.1)}[data-theme=dark] .login-card{background:rgba(30,41,59,.5);border-color:rgba(100,116,139,.2)}[data-theme=dark] .login-card-title{color:#e2e8f0}[data-theme=dark] .login-input-wrap{background:rgba(15,23,42,.5);border-color:rgba(100,116,139,.25)}[data-theme=dark] .login-input-wrap:focus-within{border-color:#6366f1}[data-theme=dark] .login-input{color:#e2e8f0}[data-theme=dark] .login-input::placeholder{color:#64748b}[data-theme=dark] .login-link{color:#818cf8}[data-theme=dark] .login-link-dot{color:#475569}@media (min-width:768px){.mobile-login{display:none}}.desktop-splash{display:none}@media (min-width:768px){.desktop-splash{display:flex;min-height:100vh;min-height:100dvh;background:linear-gradient(135deg,#eef2ff,#dbeafe 50%,#ede9fe);position:relative;overflow:hidden}}.desktop-splash-particle{position:absolute;border-radius:50%;pointer-events:none;animation:particle-float var(--p-dur,8s) ease-in-out infinite alternate;opacity:0}.desktop-splash-particle:first-child{width:4px;height:4px;top:12%;left:8%;--p-dur:7s;animation-delay:0s;background:rgba(99,102,241,.2)}.desktop-splash-particle:nth-child(2){width:6px;height:6px;top:25%;left:45%;--p-dur:9s;animation-delay:.8s;background:rgba(139,92,246,.18)}.desktop-splash-particle:nth-child(3){width:3px;height:3px;top:55%;left:15%;--p-dur:6s;animation-delay:1.5s;background:rgba(99,102,241,.15)}.desktop-splash-particle:nth-child(4){width:5px;height:5px;top:70%;left:55%;--p-dur:10s;animation-delay:.5s;background:rgba(167,139,250,.18)}.desktop-splash-particle:nth-child(5){width:4px;height:4px;top:85%;left:30%;--p-dur:8s;animation-delay:2s;background:rgba(99,102,241,.15)}.desktop-splash-particle:nth-child(6){width:3px;height:3px;top:40%;left:75%;--p-dur:7s;animation-delay:1.2s;background:rgba(139,92,246,.12)}@keyframes particle-float{0%{opacity:0;transform:translateY(0) translateX(0) scale(.5)}20%{opacity:.8}80%{opacity:.6}to{opacity:0;transform:translateY(-40px) translateX(20px) scale(1.2)}}.desktop-splash-left{flex:1 1;display:flex;flex-direction:column;justify-content:center;padding:60px 80px;max-width:600px;position:relative;z-index:1}.desktop-splash-brand{display:flex;align-items:center;gap:12px;margin-bottom:40px}.desktop-splash-logo{width:48px;height:48px;object-fit:contain;filter:drop-shadow(0 0 12px rgba(99,102,241,.2))}.desktop-splash-brand-name{font-size:22px;font-weight:700;color:#1e293b;letter-spacing:.02em}.desktop-splash-headline{font-size:42px;font-weight:800;color:#1e293b;margin:0 0 12px;line-height:1.2}.desktop-splash-desc{font-size:18px;color:#64748b;margin:0 0 36px;line-height:1.5}.desktop-splash-btn{display:inline-flex;align-items:center;gap:8px;padding:14px 40px;border:none;border-radius:14px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;font-size:18px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;width:-moz-fit-content;width:fit-content;-webkit-tap-highlight-color:transparent;position:relative}.desktop-splash-btn:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(99,102,241,.3)}.desktop-splash-btn:after{content:"";position:absolute;inset:-4px;border-radius:18px;background:linear-gradient(135deg,rgba(99,102,241,.2),rgba(139,92,246,.2));opacity:0;transition:opacity .3s;z-index:-1}.desktop-splash-btn:hover:after{opacity:1}.desktop-splash-btn:active{transform:translateY(0)}.desktop-splash-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.desktop-splash-btn-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:desktop-spin .6s linear infinite}@keyframes desktop-spin{to{transform:rotate(1turn)}}.desktop-splash-features{display:flex;gap:16px;margin-top:48px;flex-wrap:wrap}.desktop-splash-feature{display:flex;align-items:center;gap:8px;padding:10px 18px;border-radius:12px;background:rgba(255,255,255,.6);border:1px solid rgba(148,163,184,.15);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:feat-fade-in .5s ease both}.desktop-splash-feature:first-child{animation-delay:.1s}.desktop-splash-feature:nth-child(2){animation-delay:.2s}.desktop-splash-feature:nth-child(3){animation-delay:.3s}.desktop-splash-feature:nth-child(4){animation-delay:.4s}@keyframes feat-fade-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.desktop-splash-feat-icon{font-size:18px}.desktop-splash-feat-label{font-size:14px;font-weight:500;color:#475569}.desktop-splash-right{flex:1 1;display:flex;align-items:center;justify-content:center;position:relative}.desktop-splash-robot{width:320px;height:320px;object-fit:contain;pointer-events:none;-moz-user-select:none;user-select:none;-webkit-user-select:none;animation:desktop-robot-float 4s ease-in-out infinite;filter:drop-shadow(0 12px 40px rgba(99,102,241,.2))}@media (min-width:768px) and (max-width:1100px){.desktop-splash-robot{width:200px;height:200px}.desktop-splash-left{padding:40px 48px}}@keyframes desktop-robot-float{0%,to{transform:translateY(0)}50%{transform:translateY(-16px)}}.desktop-splash-error{position:fixed;top:24px;left:50%;transform:translateX(-50%);padding:12px 24px;border-radius:10px;background:rgba(239,68,68,.1);color:#ef4444;font-size:14px;border:1px solid rgba(239,68,68,.2);z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}[data-theme=dark] .desktop-splash{background:linear-gradient(135deg,#0f172a,#1e1b4b 50%,#0c1220)}[data-theme=dark] .desktop-splash-brand-name,[data-theme=dark] .desktop-splash-headline{color:#e2e8f0}[data-theme=dark] .desktop-splash-desc{color:#94a3b8}[data-theme=dark] .desktop-splash-feature{background:rgba(30,41,59,.5);border-color:rgba(100,116,139,.2)}[data-theme=dark] .desktop-splash-feat-label{color:#94a3b8}[data-theme=dark] .desktop-splash-robot{filter:drop-shadow(0 12px 40px rgba(99,102,241,.15))}@media (max-width:767px){.desktop-splash{display:none}}.mobile-login{display:none}@media (max-width:767px){.mobile-login{min-height:100vh;min-height:100dvh;background:linear-gradient(180deg,#e8f4fd,#d6ecf7 40%,#f0f9ff);padding:60px 28px 40px;box-sizing:border-box;position:relative}.m-login-top,.mobile-login{display:flex;flex-direction:column;align-items:center}.m-login-top{gap:6px;margin-bottom:40px;flex-shrink:0}.m-login-robot-wrap{width:96px;height:96px;border-radius:50%;background:rgba(255,255,255,.7);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 24px rgba(99,102,241,.15);margin-bottom:10px}.m-login-robot{width:80px;height:80px;object-fit:contain;pointer-events:none;-moz-user-select:none;user-select:none;-webkit-user-select:none}.m-login-title{font-size:26px;font-weight:700;color:#1e293b;margin:0;letter-spacing:.03em}.m-login-subtitle{font-size:14px;color:#64748b;margin:0;font-weight:400}.m-login-form{width:100%;max-width:360px;gap:16px;flex-shrink:0}.m-login-field,.m-login-form{display:flex;flex-direction:column}.m-login-field{gap:6px}.m-login-label{font-size:14px;font-weight:500;color:#475569;padding-left:4px}.m-login-input-fixed{display:flex;align-items:center;gap:10px;padding:14px 16px;border-radius:12px;background:rgba(255,255,255,.6);border:1px solid rgba(148,163,184,.25)}.m-login-fixed-icon{font-size:18px;flex-shrink:0}.m-login-fixed-text{font-size:16px;font-weight:600;color:#334155}.m-login-input-wrap{display:flex;align-items:center;gap:10px;padding:0 16px;border-radius:12px;background:rgba(255,255,255,.8);border:1px solid rgba(148,163,184,.3);transition:border-color .2s,box-shadow .2s}.m-login-input-wrap:focus-within{border-color:#6366f1;box-shadow:0 0 0 3px rgba(99,102,241,.12)}.m-login-input-icon{font-size:16px;flex-shrink:0}.m-login-input{flex:1 1;border:none;background:transparent;padding:14px 0;font-size:16px;outline:none;color:#1e293b}.m-login-input::placeholder{color:#94a3b8}.m-login-error{padding:10px 14px;border-radius:10px;background:rgba(239,68,68,.08);color:#ef4444;font-size:13px;text-align:center;border:1px solid rgba(239,68,68,.15)}.m-login-btn{width:100%;padding:14px;border:none;border-radius:12px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;font-size:17px;font-weight:600;cursor:pointer;margin-top:4px;display:flex;align-items:center;justify-content:center;gap:8px;transition:opacity .2s,transform .15s;-webkit-tap-highlight-color:transparent}.m-login-btn:active{transform:scale(.97)}.m-login-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.m-login-btn-loading{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:m-login-spin .6s linear infinite}@keyframes m-login-spin{to{transform:rotate(1turn)}}.m-login-links{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:8px}.m-login-link{background:none;border:none;font-size:13px;color:#6366f1;cursor:pointer;padding:4px;-webkit-tap-highlight-color:transparent}.m-login-link:active{opacity:.6}.m-login-link-dot{color:#94a3b8;font-size:13px}[data-theme=dark] .mobile-login{background:linear-gradient(180deg,#0c1220,#111827 40%,#0f172a)}[data-theme=dark] .m-login-title{color:#e2e8f0}[data-theme=dark] .m-login-subtitle{color:#94a3b8}[data-theme=dark] .m-login-robot-wrap{background:rgba(30,41,59,.6);box-shadow:0 4px 24px rgba(99,102,241,.1)}[data-theme=dark] .m-login-label{color:#94a3b8}[data-theme=dark] .m-login-input-fixed{background:rgba(30,41,59,.4);border-color:rgba(100,116,139,.3)}[data-theme=dark] .m-login-fixed-text{color:#e2e8f0}[data-theme=dark] .m-login-input-wrap{background:rgba(30,41,59,.4);border-color:rgba(100,116,139,.3)}[data-theme=dark] .m-login-input-wrap:focus-within{border-color:#6366f1}[data-theme=dark] .m-login-input{color:#e2e8f0}[data-theme=dark] .m-login-input::placeholder{color:#64748b}[data-theme=dark] .m-login-link{color:#818cf8}[data-theme=dark] .m-login-link-dot{color:#475569}}