:root,[data-theme=light]{--page-bg: #ffffff;--header-border: #f0f0f0;--card-bg: #ffffff;--card-border: #e8e8e8;--card-shadow: 0 10px 30px rgba(0, 0, 0, .05), 0 1px 3px rgba(0, 0, 0, .04);--text-main: #111827;--text-secondary: #6b7280;--text-muted: #9ca3af;--input-bg: #ffffff;--input-border: #e5e7eb;--input-focus: #111827;--input-placeholder: #9ca3af;--btn-primary-bg: #111827;--btn-primary-text: #ffffff;--btn-primary-hover: #1f2937;--social-btn-bg: #ffffff;--social-btn-border: #e5e7eb;--social-btn-hover: #f9fafb;--divider-color: #f3f4f6;--divider-text: #9ca3af;--toggle-bg: #f3f4f6;--toggle-border: #e5e7eb;--toggle-hover: #e5e7eb;--alert-error-bg: #fef2f2;--alert-error-border: #fecaca;--alert-error-text: #dc2626;--alert-success-bg: #f0fdf4;--alert-success-border: #bbf7d0;--alert-success-text: #16a34a;--role-selected-bg: #f9fafb;--role-selected-border: #111827;--border-hover: #9ca3af;--border-hover-soft: #d1d5db;--warning-text: #d97706;--warning-accent: #f59e0b;--success-accent: #10b981;--required-mark: #ef4444;--toast-bg: #fff7ed;--toast-border: #fed7aa;--toast-text: #9a3412;--toast-icon: #ea580c;--toast-shadow: 0 10px 30px rgba(234, 88, 12, .12), 0 1px 3px rgba(0, 0, 0, .05);--danger-bg: #fef2f2;--danger-bg-hover: #fee2e2;--danger-border: #fecaca;--danger-text: #b91c1c;--sidebar-bg: #fafafa;--nav-hover-bg: #f3f4f6;--nav-active-bg: #111827;--nav-active-text: #ffffff;--panel-bg: #ffffff;--panel-border: #ececec;--chart-bar: #374151;--chart-bar-hover: #111827;--chart-grid: #f0f0f0;--chart-track: #f3f4f6;--font-mono: ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Inter", Helvetica, Arial, sans-serif}[data-theme=dark]{--page-bg: #090a0f;--header-border: #161822;--card-bg: #12141c;--card-border: #222533;--card-shadow: 0 12px 36px rgba(0, 0, 0, .45);--text-main: #f9fafb;--text-secondary: #9ca3af;--text-muted: #6b7280;--input-bg: #171a24;--input-border: #2a2e3d;--input-focus: #f9fafb;--input-placeholder: #6b7280;--btn-primary-bg: #f9fafb;--btn-primary-text: #090a0f;--btn-primary-hover: #e5e7eb;--social-btn-bg: #171a24;--social-btn-border: #2a2e3d;--social-btn-hover: #1f2330;--divider-color: #1f2330;--divider-text: #6b7280;--toggle-bg: #171a24;--toggle-border: #2a2e3d;--toggle-hover: #222634;--alert-error-bg: rgba(239, 68, 68, .12);--alert-error-border: rgba(239, 68, 68, .28);--alert-error-text: #f87171;--alert-success-bg: rgba(34, 197, 94, .12);--alert-success-border: rgba(34, 197, 94, .28);--alert-success-text: #4ade80;--role-selected-bg: #1a1e2b;--role-selected-border: #f9fafb;--border-hover: #4b5263;--border-hover-soft: #3a3f52;--warning-text: #fbbf24;--toast-bg: #2b1a10;--toast-border: rgba(249, 115, 22, .35);--toast-text: #fdba74;--toast-icon: #fb923c;--toast-shadow: 0 12px 36px rgba(0, 0, 0, .5);--danger-bg: #2b1214;--danger-bg-hover: #3a171a;--danger-border: rgba(239, 68, 68, .35);--danger-text: #fca5a5;--sidebar-bg: #0d0f15;--nav-hover-bg: #171a24;--nav-active-bg: #f9fafb;--nav-active-text: #090a0f;--panel-bg: #12141c;--panel-border: #222533;--chart-bar: #d1d5db;--chart-bar-hover: #f9fafb;--chart-grid: #1d2030;--chart-track: #1d2030}*{box-sizing:border-box}html,body{margin:0;padding:0;width:100%;min-height:100vh;background-color:var(--page-bg);color:var(--text-main);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh;width:100%}.toast-region{position:fixed;right:1.5rem;bottom:1.5rem;z-index:1000;pointer-events:none;max-width:calc(100vw - 2rem)}.toast{display:flex;align-items:center;gap:.7rem;min-width:300px;padding:1rem 1.3rem;background-color:var(--toast-bg);border:1px solid var(--toast-border);border-radius:12px;box-shadow:var(--toast-shadow);color:var(--toast-text);font-family:var(--font-mono);font-size:.9rem;font-weight:500;line-height:1.4;animation:toastIn .35s cubic-bezier(.16,1,.3,1)}.toast.is-leaving{animation:toastOut .3s ease-in forwards}.toast-icon{color:var(--toast-icon);flex-shrink:0}@keyframes toastIn{0%{opacity:0;transform:translate(calc(100% + 1.5rem))}to{opacity:1;transform:translate(0)}}@keyframes toastOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(calc(100% + 1.5rem))}}@media(prefers-reduced-motion:reduce){.toast,.toast.is-leaving{animation-duration:.01ms}}@media(max-width:520px){.toast-region{right:1rem;bottom:1rem}.toast{min-width:0}}.login-page{min-height:100vh;width:100%;display:flex;flex-direction:column;background-color:var(--page-bg);color:var(--text-main);box-sizing:border-box;font-family:var(--font-sans);transition:background-color .25s ease,color .25s ease}.page-header{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 2.5rem;box-sizing:border-box}.header-logo{color:var(--text-main)}.header-actions{display:flex;align-items:center;gap:.75rem}.theme-toggle-btn{width:36px;height:36px;border-radius:8px;border:1px solid var(--toggle-border);background-color:var(--toggle-bg);color:var(--text-main);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.theme-toggle-btn:hover{background-color:var(--toggle-hover);transform:translateY(-1px)}.page-body{flex:1;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;max-width:1360px;margin:0 auto;width:100%;padding:1.5rem 2.5rem 3rem;box-sizing:border-box;gap:2rem}.hero-section{display:flex;flex-direction:column;justify-content:space-between;min-height:520px;padding-right:2rem}.hero-content{margin:auto 0}.hero-headline{font-family:var(--font-mono);font-size:clamp(2.15rem,3vw,2.8rem);font-weight:500;line-height:1.25;letter-spacing:-.025em;color:var(--text-main);margin:0 0 1rem}.hero-prefix{display:block;white-space:nowrap}.typewriter-line{display:block;font-weight:600;margin-top:.35rem;min-height:1.3em;white-space:nowrap}.typed-word{color:var(--text-main)}.typing-cursor{display:inline-block;margin-left:2px;font-weight:300;animation:blinkCursor 1s infinite steps(2,start)}@keyframes blinkCursor{to{visibility:hidden}}.hero-subline{font-family:var(--font-mono);font-size:.95rem;color:var(--text-secondary);margin:0;line-height:1.5}.single-line-tagline{white-space:nowrap;letter-spacing:-.01em}.hero-footer{font-family:var(--font-mono);font-size:.78rem;color:var(--text-muted);padding-bottom:.5rem}.auth-section{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%}.auth-card{width:100%;max-width:410px;background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:16px;box-shadow:var(--card-shadow);padding:2.25rem 2rem;box-sizing:border-box;transition:all .25s ease}.card-top-logo{display:flex;justify-content:center;margin-bottom:1.25rem;color:var(--text-main)}.card-header{text-align:center;margin-bottom:1.5rem}.back-btn{background:transparent;border:none;color:var(--text-secondary);font-size:.8rem;cursor:pointer;display:inline-flex;align-items:center;gap:.25rem;margin-bottom:.75rem;padding:.25rem .5rem;border-radius:4px}.back-btn:hover{color:var(--text-main)}.card-title{font-family:var(--font-mono);font-size:1.22rem;font-weight:600;margin:0 0 .45rem;color:var(--text-main);letter-spacing:-.015em}.card-subtitle{font-family:var(--font-mono);font-size:.8rem;color:var(--text-secondary);margin:0;line-height:1.45}.email-pill{font-weight:600;color:var(--text-main)}.alert-box{display:flex;align-items:center;gap:.5rem;padding:.65rem .85rem;border-radius:8px;font-size:.82rem;line-height:1.4;margin-bottom:1.25rem}.alert-error{background-color:var(--alert-error-bg);border:1px solid var(--alert-error-border);color:var(--alert-error-text)}.alert-success{background-color:var(--alert-success-bg);border:1px solid var(--alert-success-border);color:var(--alert-success-text)}.card-form{display:flex;flex-direction:column;gap:1.15rem}.social-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.social-btn{height:40px;background-color:var(--social-btn-bg);border:1px solid var(--social-btn-border);border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.social-btn:hover{background-color:var(--social-btn-hover);border-color:var(--border-hover-soft);transform:translateY(-1px)}.divider-row{display:flex;align-items:center;gap:.75rem;margin:.1rem 0}.divider-line{flex:1;height:1px;background-color:var(--divider-color)}.divider-text{font-family:var(--font-mono);font-size:.75rem;color:var(--divider-text)}.field-group{display:flex;flex-direction:column;gap:.35rem;text-align:left}.field-label{font-family:var(--font-mono);font-size:.78rem;color:var(--text-secondary)}.input-control{width:100%;height:40px;background-color:var(--input-bg);border:1px solid var(--input-border);border-radius:8px;padding:0 .85rem;color:var(--text-main);font-size:.88rem;font-family:inherit;box-sizing:border-box;outline:none;transition:border-color .2s ease}.input-control::placeholder{color:var(--input-placeholder)}.input-control:focus{border-color:var(--input-focus)}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input{padding-right:2.3rem}.password-toggle-btn{position:absolute;right:.65rem;background:transparent;border:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;padding:.2rem}.password-toggle-btn:hover{color:var(--text-main)}.terms-row{display:flex;align-items:flex-start;text-align:left;padding:.1rem 0}.checkbox-label{display:flex;align-items:flex-start;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}.native-checkbox{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:15px;height:15px;margin-top:2px;border:1.5px solid var(--input-border);border-radius:4px;background-color:var(--input-bg);cursor:pointer;position:relative;flex-shrink:0;transition:all .15s ease}.native-checkbox:hover{border-color:var(--text-secondary)}.native-checkbox:checked{background-color:var(--btn-primary-bg);border-color:var(--btn-primary-bg)}.native-checkbox:checked:after{content:"";position:absolute;left:4px;top:1.5px;width:3.5px;height:7px;border:solid var(--btn-primary-text);border-width:0 2px 2px 0;transform:rotate(45deg)}.terms-copy{font-size:.76rem;color:var(--text-secondary);line-height:1.4}.terms-copy a{color:var(--text-main);text-decoration:underline;text-underline-offset:2px}.submit-btn{width:100%;height:42px;background-color:var(--btn-primary-bg);color:var(--btn-primary-text);border:none;border-radius:8px;font-size:.88rem;font-weight:500;display:flex;align-items:center;justify-content:center;gap:.45rem;cursor:pointer;transition:all .2s ease;margin-top:.2rem}.submit-btn:hover:not(:disabled){background-color:var(--btn-primary-hover);transform:translateY(-1px)}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.btn-play-icon{margin-left:2px;opacity:.9}.loader-spinner{width:16px;height:16px;border:2px solid color-mix(in srgb,currentColor 30%,transparent);border-top-color:currentColor;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.subtle-row{text-align:center;margin-top:.2rem}.subtle-link{display:inline-flex;align-items:center;background:transparent;border:none;color:var(--text-secondary);font-size:.78rem;cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:color .15s ease}.subtle-link:hover{color:var(--text-main);text-decoration:underline}.otp-section{display:flex;flex-direction:column;align-items:center;gap:.6rem}.otp-center-label{text-align:center}.otp-inputs{display:flex;gap:.5rem;justify-content:center}.otp-box{width:44px;height:48px;text-align:center;font-size:1.25rem;font-weight:600;font-family:var(--font-mono);background-color:var(--input-bg);border:1px solid var(--input-border);border-radius:8px;color:var(--text-main);outline:none;transition:all .15s ease}.otp-box:focus{border-color:var(--input-focus)}.otp-box.is-filled{border-color:var(--border-hover)}.resend-row{text-align:center;margin-top:.4rem}.resend-text{font-size:.78rem;color:var(--text-secondary)}.resend-btn{background:transparent;border:none;color:var(--text-main);font-size:.8rem;font-weight:500;display:inline-flex;align-items:center;gap:.35rem;cursor:pointer;padding:.25rem .5rem;border-radius:4px}.resend-btn:hover{text-decoration:underline}.role-cards-container{display:flex;flex-direction:column;gap:.75rem;margin-bottom:.4rem}.role-option-card{display:flex;align-items:flex-start;gap:.85rem;padding:.95rem;border:1px solid var(--input-border);background-color:var(--input-bg);border-radius:10px;cursor:pointer;text-align:left;transition:all .2s ease}.role-option-card:hover{border-color:var(--border-hover);transform:translateY(-1px)}.role-option-card.is-selected{border-color:var(--role-selected-border);background-color:var(--role-selected-bg);box-shadow:0 0 0 1px var(--role-selected-border)}.role-icon-wrapper{width:36px;height:36px;border-radius:8px;background-color:var(--card-bg);border:1px solid var(--input-border);display:flex;align-items:center;justify-content:center;color:var(--text-main);flex-shrink:0}.role-text-wrapper{flex:1}.role-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:.2rem}.role-title{font-family:var(--font-mono);font-size:.92rem;font-weight:600;color:var(--text-main)}.role-check-indicator{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background-color:var(--btn-primary-bg);color:var(--btn-primary-text)}.role-description{font-size:.78rem;color:var(--text-secondary);line-height:1.35;margin:0}.confirmed-role-box{display:flex;flex-direction:column;align-items:center;text-align:center;padding:1rem 0}.confirmed-icon{color:var(--success-accent);margin-bottom:.75rem}.confirmed-title{font-family:var(--font-mono);font-size:1.15rem;font-weight:600;margin:0 0 .35rem;color:var(--text-main)}.confirmed-desc{font-size:.85rem;color:var(--text-secondary);margin:0 0 1rem}.confirmed-role-box .jwt-notice-pill,.confirmed-role-box .submit-btn{margin-top:1rem}.jwt-notice-pill{font-family:var(--font-mono);font-size:.72rem;color:var(--text-secondary);background-color:var(--input-bg);border:1px dashed var(--input-border);border-radius:6px;padding:.45rem .75rem;max-width:100%}.super-admin-capabilities-list{display:flex;flex-direction:column;gap:.5rem;width:100%;margin:.5rem 0;text-align:left}.capability-item{display:flex;align-items:center;gap:.65rem;padding:.65rem .85rem;border-radius:8px;background-color:var(--input-bg);border:1px solid var(--input-border);font-size:.78rem;color:var(--text-main);font-family:var(--font-mono)}.capability-item svg{color:var(--text-secondary);flex-shrink:0}.phone-input-row{position:relative;display:flex;gap:.5rem;align-items:center}.country-picker-btn{height:40px;background-color:var(--input-bg);border:1px solid var(--input-border);border-radius:8px;padding:0 .65rem;display:inline-flex;align-items:center;gap:.35rem;cursor:pointer;color:var(--text-main);font-family:inherit;font-size:.85rem;transition:all .2s ease;flex-shrink:0}.country-picker-btn:hover{border-color:var(--border-hover)}.country-flag{font-size:1.15rem;line-height:1}.country-dial-code{font-family:var(--font-mono);font-weight:500;font-size:.82rem}.picker-arrow{color:var(--text-muted)}.phone-input-wrapper{position:relative;flex:1;display:flex;align-items:center}.country-dropdown-menu{position:absolute;top:calc(100% + 6px);left:0;width:320px;max-width:90vw;background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:10px;box-shadow:0 14px 35px #00000026,0 0 1px #0000001a;z-index:100;overflow:hidden;animation:fadeIn .18s ease-out}[data-theme=dark] .country-dropdown-menu{box-shadow:0 14px 35px #0009}.country-search-box{position:relative;display:flex;align-items:center;padding:.5rem .65rem;border-bottom:1px solid var(--input-border);background-color:var(--input-bg)}.search-icon{position:absolute;left:1rem;color:var(--text-muted)}.country-search-input{width:100%;height:32px;background:transparent;border:none;padding:0 .5rem 0 1.8rem;color:var(--text-main);font-size:.82rem;outline:none;font-family:inherit}.country-list-scroll{max-height:220px;overflow-y:auto;padding:.35rem 0}.country-list-item{display:flex;align-items:center;gap:.65rem;padding:.45rem .85rem;font-size:.82rem;color:var(--text-main);cursor:pointer;transition:background-color .15s ease}.country-list-item:hover{background-color:var(--input-bg)}.country-list-item.selected{background-color:var(--role-selected-bg);font-weight:500}.item-flag{font-size:1.1rem}.item-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-code{font-family:var(--font-mono);font-size:.78rem;color:var(--text-secondary)}.no-countries-found{padding:1.5rem;text-align:center;color:var(--text-muted);font-size:.8rem}.status-badge-pending{display:inline-flex;align-items:center;gap:.45rem;padding:.25rem .65rem;border-radius:20px;background-color:#f59e0b1f;border:1px solid rgba(245,158,11,.28);color:var(--warning-text);font-family:var(--font-mono);font-size:.75rem;font-weight:600;margin-bottom:.75rem;letter-spacing:-.01em}.status-dot-pulse{width:7px;height:7px;border-radius:50%;background-color:var(--warning-accent);box-shadow:0 0 #f59e0b99;animation:pulseDot 2s infinite}@keyframes pulseDot{0%{transform:scale(.95);box-shadow:0 0 #f59e0b99}70%{transform:scale(1);box-shadow:0 0 0 6px #f59e0b00}to{transform:scale(.95);box-shadow:0 0 #f59e0b00}}.activation-pending-container{display:flex;flex-direction:column;align-items:center;width:100%}.activation-icon-wrapper{width:58px;height:58px;border-radius:50%;background-color:#f59e0b14;border:1px solid rgba(245,158,11,.2);display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem}.activation-clock-icon{color:var(--warning-text)}.summary-details-card{width:100%;background-color:var(--input-bg);border:1px solid var(--input-border);border-radius:10px;padding:.85rem 1rem;margin-bottom:1rem;display:flex;flex-direction:column;gap:.55rem;text-align:left;box-sizing:border-box}.summary-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.8rem}.summary-label{color:var(--text-secondary);font-family:var(--font-mono);font-size:.74rem}.summary-value{color:var(--text-main);font-weight:500;text-align:right;overflow-wrap:anywhere}.activation-notice-card{width:100%;background-color:var(--card-bg);border:1px dashed var(--input-border);border-radius:10px;padding:.85rem 1rem;margin-bottom:1.15rem;text-align:left;box-sizing:border-box}.notice-header{display:flex;align-items:center;gap:.45rem;font-family:var(--font-mono);font-size:.78rem;font-weight:600;color:var(--text-main);margin-bottom:.35rem}.notice-header svg{color:var(--text-secondary)}.notice-body{font-size:.76rem;line-height:1.45;color:var(--text-secondary);margin:0}.activation-actions-row{width:100%;display:flex;flex-direction:column;align-items:center}.activation-actions-row .subtle-link{margin-top:.4rem}.alert-box.alert-compact{width:100%;margin-bottom:.75rem}.input-wrapper{position:relative;display:flex;align-items:center}.field-icon{position:absolute;left:.8rem;color:var(--text-muted);pointer-events:none}.input-wrapper .input-control,.phone-input-wrapper .input-control{padding-left:2.45rem}.input-control:disabled{opacity:.75;cursor:not-allowed}.required-mark{color:var(--required-mark)}.optional-mark{color:var(--text-muted)}.text-warning{color:var(--warning-text)}.text-success{color:var(--success-accent)}.inline-icon{display:inline;vertical-align:-2px;margin-right:.3rem}.card-footer-link{margin-top:1.25rem;font-family:var(--font-mono);font-size:.76rem;color:var(--text-secondary);text-align:center}.card-footer-link a{color:var(--text-main);text-decoration:underline;text-underline-offset:2px}.card-footer-link a:hover{text-decoration:none}.auth-guard-loading{align-items:center;justify-content:center}.auth-guard-loading .loader-spinner{width:22px;height:22px;color:var(--text-main)}@media(max-width:960px){.page-body{grid-template-columns:1fr;gap:2.5rem;padding:1rem 1.5rem 2.5rem}.hero-section{min-height:auto;text-align:center;padding-right:0}.hero-headline{font-size:2.15rem}.hero-prefix,.typewriter-line,.single-line-tagline{white-space:normal}.hero-footer{display:none}}@media(max-width:520px){.page-header{height:56px;padding:0 1.25rem}.page-body{padding:.75rem 1rem 2rem;gap:1.5rem}.hero-headline{font-size:1.65rem}.hero-subline{font-size:.85rem}.auth-card{padding:1.75rem 1.25rem;border-radius:14px}.otp-box{width:38px;height:44px;font-size:1.15rem}.otp-inputs{gap:.35rem}}.select-root{position:relative}.select-trigger{display:flex;align-items:center;gap:.5rem;text-align:left;cursor:pointer}.select-trigger:hover{border-color:var(--border-hover)}.select-trigger.is-open,.select-trigger:focus-visible{border-color:var(--input-focus)}.select-value{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.select-value.is-placeholder{color:var(--input-placeholder)}.select-meta{font-family:var(--font-mono);font-size:.72rem;color:var(--text-muted);flex-shrink:0}.select-arrow{color:var(--text-muted);flex-shrink:0;transition:transform .15s ease}.select-trigger.is-open .select-arrow{transform:rotate(180deg)}.select-menu{width:100%;max-width:none}.select-list{list-style:none;margin:0}.select-option.is-active{background-color:color-mix(in srgb,var(--text-main) 7%,transparent)}.select-option.selected{background-color:var(--role-selected-bg)}.select-check{flex-shrink:0;color:var(--text-main);visibility:hidden}.select-option.selected .select-check{visibility:visible}.app-shell{display:flex;min-height:100vh;background-color:var(--page-bg);color:var(--text-main);font-family:var(--font-sans)}.sidebar{position:sticky;top:0;height:100vh;width:248px;flex-shrink:0;display:flex;flex-direction:column;background-color:var(--sidebar-bg);border-right:1px solid var(--header-border);transition:width .2s ease;z-index:40}.sidebar-head{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 .75rem 0 1.1rem;color:var(--text-main)}.sidebar-icon-btn{width:30px;height:30px;border-radius:8px;border:1px solid var(--toggle-border);background-color:var(--toggle-bg);color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease;flex-shrink:0}.sidebar-icon-btn:hover{color:var(--text-main);background-color:var(--toggle-hover)}.sidebar-nav{flex:1;overflow-y:auto;padding:.5rem .75rem}.nav-section-label{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);padding:1rem .6rem .45rem}.nav-item{display:flex;align-items:center;gap:.7rem;width:100%;height:38px;padding:0 .7rem;border-radius:8px;border:none;background:transparent;color:var(--text-secondary);font-family:inherit;font-size:.875rem;font-weight:500;text-decoration:none;cursor:pointer;transition:background-color .15s ease,color .15s ease;margin-bottom:2px}.nav-item:hover{background-color:var(--nav-hover-bg);color:var(--text-main)}.nav-item.is-active{background-color:var(--nav-active-bg);color:var(--nav-active-text)}.nav-item svg{flex-shrink:0}.nav-label{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-badge{font-family:var(--font-mono);font-size:.66rem;font-weight:600;padding:.1rem .45rem;border-radius:20px;background-color:var(--toast-bg);border:1px solid var(--toast-border);color:var(--toast-text)}.nav-item.is-active .nav-badge{background-color:transparent;border-color:currentColor;color:inherit}.sidebar-foot{padding:.75rem;border-top:1px solid var(--header-border);position:relative}.profile-row{display:flex;align-items:center;gap:.5rem}.profile-btn{flex:1;min-width:0;display:flex;align-items:center;gap:.65rem;padding:.5rem;border-radius:10px;border:1px solid transparent;background:transparent;color:var(--text-main);cursor:pointer;text-align:left;font-family:inherit;transition:all .15s ease}.profile-btn:hover,.profile-btn[aria-expanded=true]{background-color:var(--panel-bg);border-color:var(--panel-border)}.avatar{width:34px;height:34px;border-radius:8px;background-color:var(--nav-active-bg);color:var(--nav-active-text);font-family:var(--font-mono);font-size:.8rem;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}.profile-text{flex:1;min-width:0;line-height:1.25}.profile-name{font-size:.84rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-email{font-family:var(--font-mono);font-size:.7rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-chevron{color:var(--text-muted);flex-shrink:0}.profile-menu{position:absolute;left:.75rem;right:.75rem;bottom:calc(100% - .25rem);background-color:var(--panel-bg);border:1px solid var(--panel-border);border-radius:12px;box-shadow:var(--card-shadow);padding:.4rem;animation:fadeIn .15s ease-out;z-index:60}.profile-menu-head{padding:.55rem .6rem .65rem;border-bottom:1px solid var(--divider-color);margin-bottom:.3rem}.profile-menu-org{font-family:var(--font-mono);font-size:.7rem;color:var(--text-muted);margin-top:.2rem}.menu-item{display:flex;align-items:center;gap:.6rem;width:100%;padding:.55rem .6rem;border-radius:8px;border:none;background:transparent;color:var(--text-secondary);font-family:inherit;font-size:.84rem;text-decoration:none;cursor:pointer}.menu-item:hover{background-color:var(--nav-hover-bg);color:var(--text-main)}.menu-item.is-danger:hover{color:var(--alert-error-text)}.app-shell.is-collapsed .sidebar{width:68px}.app-shell.is-collapsed .sidebar-head{justify-content:center;padding:0}.app-shell.is-collapsed .sidebar-brand,.app-shell.is-collapsed .nav-label,.app-shell.is-collapsed .nav-badge,.app-shell.is-collapsed .nav-section-label,.app-shell.is-collapsed .profile-text,.app-shell.is-collapsed .profile-chevron,.app-shell.is-collapsed .profile-settings-btn{display:none}.app-shell.is-collapsed .nav-item{justify-content:center;padding:0}.app-shell.is-collapsed .sidebar-nav{padding-top:1rem}.app-shell.is-collapsed .profile-btn{justify-content:center;padding:.35rem}.app-shell.is-collapsed .profile-menu{left:.75rem;right:auto;width:230px}.app-main{flex:1;min-width:0;display:flex;flex-direction:column}.app-topbar{position:sticky;top:0;z-index:30;height:64px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 2rem;background-color:var(--page-bg);border-bottom:1px solid var(--header-border)}.topbar-left,.topbar-right{display:flex;align-items:center;gap:.75rem;min-width:0}.topbar-crumb{font-family:var(--font-mono);font-size:.8rem;color:var(--text-muted);white-space:nowrap}.topbar-crumb strong{color:var(--text-main);font-weight:600}.mobile-menu-btn{display:none}.app-content{flex:1;width:100%;max-width:1320px;margin:0 auto;padding:1.75rem 2rem 3rem}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1.25rem;flex-wrap:wrap;margin-bottom:1.5rem}.page-eyebrow{font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted);margin:0 0 .35rem}.page-title{font-family:var(--font-mono);font-size:1.5rem;font-weight:600;letter-spacing:-.02em;margin:0 0 .35rem}.page-subtitle{font-size:.875rem;color:var(--text-secondary);margin:0}.page-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.btn-primary,.btn-secondary{height:38px;padding:0 1rem;border-radius:8px;font-family:inherit;font-size:.85rem;font-weight:500;display:inline-flex;align-items:center;gap:.45rem;cursor:pointer;text-decoration:none;transition:all .2s ease;white-space:nowrap}.btn-primary{border:none;background-color:var(--btn-primary-bg);color:var(--btn-primary-text)}.btn-primary:hover{background-color:var(--btn-primary-hover);transform:translateY(-1px)}.btn-secondary{border:1px solid var(--input-border);background-color:var(--panel-bg);color:var(--text-main)}.btn-secondary:hover{border-color:var(--border-hover)}.segmented{display:inline-flex;padding:3px;border-radius:9px;border:1px solid var(--input-border);background-color:var(--panel-bg)}.segmented button{height:30px;padding:0 .75rem;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);font-family:var(--font-mono);font-size:.76rem;cursor:pointer}.segmented button.is-active{background-color:var(--nav-active-bg);color:var(--nav-active-text)}.panel{background-color:var(--panel-bg);border:1px solid var(--panel-border);border-radius:14px;padding:1.25rem 1.35rem;min-width:0}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.panel-title{font-family:var(--font-mono);font-size:.92rem;font-weight:600;margin:0 0 .2rem}.panel-subtitle{font-size:.78rem;color:var(--text-muted);margin:0}.panel-stat{text-align:right;font-family:var(--font-mono);font-size:.72rem;color:var(--text-muted)}.panel-stat strong{display:block;font-size:1.05rem;color:var(--text-main)}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.kpi-card{padding:1.1rem 1.2rem}.kpi-label{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--text-secondary);margin-bottom:.7rem}.kpi-icon{width:26px;height:26px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;background-color:var(--chart-track);color:var(--text-main)}.kpi-value-row{display:flex;align-items:baseline;gap:.55rem}.kpi-value{font-family:var(--font-mono);font-size:1.65rem;font-weight:600;letter-spacing:-.02em}.kpi-foot{font-size:.74rem;color:var(--text-muted);margin-top:.3rem}.delta-pill{display:inline-flex;align-items:center;gap:.15rem;font-family:var(--font-mono);font-size:.7rem;font-weight:600;padding:.1rem .4rem;border-radius:6px}.delta-pill.is-up{background-color:var(--alert-success-bg);color:var(--alert-success-text)}.delta-pill.is-down{background-color:var(--alert-error-bg);color:var(--alert-error-text)}.dash-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:1rem;margin-bottom:1rem}.dash-grid.is-even{grid-template-columns:repeat(2,minmax(0,1fr))}.bar-chart{position:relative}.bar-chart svg{display:block;width:100%;overflow:visible}.bar-chart .grid-line{stroke:var(--chart-grid);stroke-width:1}.bar-chart .axis-text{font-family:var(--font-mono);font-size:10px;fill:var(--text-muted)}.bar-chart .bar{fill:var(--chart-bar);transition:fill .12s ease}.bar-chart .bar.is-hovered{fill:var(--chart-bar-hover)}.bar-chart .hit{fill:transparent;cursor:default}.chart-tooltip{position:absolute;pointer-events:none;transform:translate(-50%,calc(-100% - 10px));background-color:var(--panel-bg);border:1px solid var(--panel-border);border-radius:8px;box-shadow:var(--card-shadow);padding:.4rem .6rem;white-space:nowrap;z-index:5}.chart-tooltip-label{font-family:var(--font-mono);font-size:.68rem;color:var(--text-muted)}.chart-tooltip-value{font-size:.8rem;font-weight:600;color:var(--text-main)}.hbar-list{display:flex;flex-direction:column;gap:.7rem}.hbar-row{display:grid;grid-template-columns:140px minmax(0,1fr) 64px;align-items:center;gap:.75rem;font-size:.8rem}.hbar-label{color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hbar-track{height:8px;border-radius:4px;background-color:var(--chart-track);overflow:hidden}.hbar-fill{height:100%;border-radius:4px;background-color:var(--chart-bar)}.hbar-row:hover .hbar-fill{background-color:var(--chart-bar-hover)}.hbar-value{font-family:var(--font-mono);font-size:.76rem;text-align:right;color:var(--text-main)}.hbar-value span{color:var(--text-muted)}.attention-list{display:flex;flex-direction:column}.attention-item{display:flex;align-items:center;gap:.8rem;padding:.75rem .25rem;border-bottom:1px solid var(--divider-color)}.attention-item:last-child{border-bottom:none}.attention-icon{width:32px;height:32px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background-color:var(--toast-bg);border:1px solid var(--toast-border);color:var(--toast-icon);flex-shrink:0}.attention-text{flex:1;min-width:0}.attention-title{font-size:.84rem;font-weight:500}.attention-desc{font-size:.74rem;color:var(--text-muted)}.attention-count{font-family:var(--font-mono);font-size:.95rem;font-weight:600}.table-wrap{overflow-x:auto;margin:0 -1.35rem -1.25rem}.data-table{width:100%;border-collapse:collapse;font-size:.82rem}.data-table th{font-family:var(--font-mono);font-size:.68rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);text-align:left;padding:.6rem 1.35rem;border-top:1px solid var(--divider-color);border-bottom:1px solid var(--divider-color);white-space:nowrap}.data-table td{padding:.8rem 1.35rem;border-bottom:1px solid var(--divider-color);white-space:nowrap}.data-table tr:last-child td{border-bottom:none}.data-table tbody tr:hover td{background-color:var(--nav-hover-bg)}.cell-primary{font-weight:500}.cell-sub{font-size:.72rem;color:var(--text-muted)}.status-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.18rem .55rem;border-radius:20px;font-family:var(--font-mono);font-size:.7rem;font-weight:600;border:1px solid transparent}.status-pill.is-good{background-color:var(--alert-success-bg);border-color:var(--alert-success-border);color:var(--alert-success-text)}.status-pill.is-warning{background-color:var(--toast-bg);border-color:var(--toast-border);color:var(--toast-text)}.status-pill.is-critical{background-color:var(--alert-error-bg);border-color:var(--alert-error-border);color:var(--alert-error-text)}.status-pill.is-neutral{background-color:var(--chart-track);border-color:var(--panel-border);color:var(--text-secondary)}.progress-cell{display:flex;align-items:center;gap:.6rem;min-width:160px}.progress-cell .hbar-track{flex:1}.stepper{display:flex;gap:.5rem;margin:0 0 1.25rem;padding:0;list-style:none;flex-wrap:wrap}.step{display:flex;align-items:center;gap:.5rem;padding:.45rem .8rem;border-radius:20px;border:1px solid var(--panel-border);background-color:var(--panel-bg);font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted);cursor:pointer;transition:border-color .15s ease,color .15s ease}.step:disabled{cursor:default}.step:not(:disabled):hover{border-color:var(--border-hover);color:var(--text-main)}.step.is-current{border-color:var(--nav-active-bg);color:var(--text-main)}.step.is-done{color:var(--text-secondary)}.step-num{width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-family:var(--font-mono);font-size:.68rem;color:var(--text-secondary);background-color:var(--chart-track)}.step.is-current .step-num,.step.is-done .step-num{background-color:var(--nav-active-bg);color:var(--nav-active-text)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.field-group.is-full{grid-column:1 / -1}.input-control.is-invalid,.input-control.is-invalid:focus{border-color:var(--alert-error-text)}.input-textarea{height:auto;min-height:84px;padding:.6rem .85rem;line-height:1.5;resize:vertical}.field-error{font-size:.74rem;color:var(--alert-error-text)}.field-hint{font-size:.74rem;color:var(--text-muted)}.scan-side{display:flex;flex-direction:column;gap:1rem;min-width:0}.scan-next-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.scan-next-list li{display:flex;align-items:flex-start;gap:.65rem;font-size:.82rem;line-height:1.45;color:var(--text-secondary)}.scan-actions{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-top:1rem}.btn-primary:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-primary[aria-busy=true]{opacity:.85;cursor:wait}.btn-secondary.btn-sm{height:30px;padding:0 .7rem;font-size:.78rem;gap:.35rem}.scan-progress{height:4px;border-radius:4px;background-color:var(--chart-track);overflow:hidden}.scan-progress span{display:block;height:100%;border-radius:4px;background-color:var(--chart-bar);transition:width .25s ease}.scan-hands{margin-bottom:0}.scan-tip{margin:1rem 0 0;font-size:.76rem;line-height:1.5;color:var(--text-muted)}.scan-tip strong{color:var(--text-main);font-weight:600}.hand-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.1rem}.hand-card{border:1px solid var(--panel-border);border-radius:12px;padding:.9rem 1rem 1rem;background-color:var(--sidebar-bg);min-width:0}.hand-card-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.hand-card-title{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}.hand-card-count{display:inline-flex;align-items:center;gap:.3rem;font-family:var(--font-mono);font-size:.72rem;font-weight:600;padding:.12rem .5rem;border-radius:20px;color:var(--text-secondary);background-color:var(--chart-track);border:1px solid var(--panel-border)}.hand-card-count.is-complete{color:var(--alert-success-text);background-color:var(--alert-success-bg);border-color:var(--alert-success-border)}.hand-map{display:block;width:100%;max-width:300px;height:auto;margin:.4rem auto .5rem;overflow:visible}.hand-outline{fill:none;stroke:var(--border-hover-soft);stroke-width:3;stroke-linejoin:round}.hand-skin{fill:var(--panel-bg);stroke:none}.hand-crease{fill:none;stroke:var(--chart-grid);stroke:color-mix(in srgb,var(--text-main) 9%,transparent);stroke-width:1.5;stroke-linecap:round}.hand-palm-letter{font-family:var(--font-mono);font-size:44px;font-weight:700;fill:color-mix(in srgb,var(--text-main) 12%,transparent)}.hand-palm-caption{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.1em;fill:var(--text-muted)}.hand-finger{cursor:pointer;outline:none}.hand-card.is-readonly .hand-finger{cursor:default}.hand-finger-fill{fill:transparent;stroke:transparent;stroke-width:1.5;transition:fill .15s ease,stroke .15s ease}.hand-tip{fill:var(--chart-track);transition:fill .15s ease}.hand-tip-ring{fill:none;stroke:var(--input-border);stroke-width:1.5;stroke-dasharray:3 3}.hand-tip-icon{color:var(--text-muted)}.hand-finger-code{font-family:var(--font-mono);font-size:11px;font-weight:600;fill:var(--text-secondary)}.hand-card:not(.is-readonly) .hand-finger:hover .hand-finger-fill,.hand-finger.is-dragover .hand-finger-fill{fill:var(--chart-track)}.hand-card:not(.is-readonly) .hand-finger:hover .hand-tip-icon,.hand-finger.is-dragover .hand-tip-icon{color:var(--text-main)}.hand-finger:focus-visible .hand-finger-fill,.hand-finger.is-dragover .hand-finger-fill{stroke:var(--input-focus)}.hand-finger.is-filled .hand-finger-fill{fill:var(--alert-success-bg);stroke:var(--alert-success-border)}.hand-card:not(.is-readonly) .hand-finger.is-filled:hover .hand-finger-fill{fill:var(--alert-success-bg);stroke:var(--alert-success-text)}.hand-finger.is-filled .hand-tip-ring{stroke:var(--alert-success-text);stroke-width:2;stroke-dasharray:none}.hand-finger.is-filled .hand-finger-code{fill:var(--alert-success-text)}.hand-finger.is-failed .hand-finger-fill{fill:var(--alert-error-bg);stroke:var(--alert-error-text)}.hand-finger.is-failed .hand-tip{fill:var(--alert-error-bg)}.hand-finger.is-failed .hand-tip-ring{stroke:var(--alert-error-text);stroke-width:2;stroke-dasharray:none}.hand-finger.is-failed .hand-tip-icon,.hand-card:not(.is-readonly) .hand-finger.is-failed:hover .hand-tip-icon{color:var(--alert-error-text)}.hand-finger.is-failed .hand-finger-code{fill:var(--alert-error-text)}.hand-card:not(.is-readonly) .hand-finger.is-failed:hover .hand-finger-fill{fill:var(--alert-error-bg);stroke:var(--alert-error-text)}.hand-finger.is-missing .hand-finger-fill{fill:var(--alert-error-bg);stroke:var(--alert-error-border)}.hand-finger.is-missing .hand-tip{fill:transparent}.hand-finger.is-missing .hand-tip-ring{stroke:var(--alert-error-text)}.hand-finger.is-missing .hand-tip-icon{color:var(--alert-error-text)}.hand-finger.is-missing .hand-finger-code{fill:var(--alert-error-text)}.hand-finger-remove{cursor:pointer;outline:none}.hand-finger-remove circle{fill:var(--panel-bg);stroke:var(--panel-border);stroke-width:1;transition:stroke .15s ease}.hand-finger-remove path{stroke:var(--text-secondary);stroke-width:1.8;stroke-linecap:round;transition:stroke .15s ease}.hand-finger-remove:hover circle,.hand-finger-remove:focus-visible circle{stroke:var(--danger-border)}.hand-finger-remove:hover path,.hand-finger-remove:focus-visible path{stroke:var(--danger-text)}.hand-finger-check circle{fill:var(--alert-success-text)}.hand-finger-check path{fill:none;stroke:var(--panel-bg);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.hand-pair.is-compact{gap:.75rem;margin-top:0}.hand-pair.is-compact .hand-card{padding:.75rem .75rem .5rem}.review-value{text-align:right;color:var(--text-main);overflow-wrap:anywhere;min-width:0}.scan-send{margin-top:1rem;background-color:var(--toast-bg);border-color:var(--toast-border);transition:background-color .2s ease,border-color .2s ease}.scan-send .terms-copy{font-size:.84rem;color:var(--toast-text);font-weight:500}.scan-send .native-checkbox{border-color:var(--toast-icon);background-color:var(--panel-bg)}.scan-send.is-confirmed{background-color:var(--alert-success-bg);border-color:var(--alert-success-border)}.scan-send.is-confirmed .terms-copy{color:var(--alert-success-text)}.scan-send.is-confirmed .native-checkbox:checked{background-color:var(--alert-success-text);border-color:var(--alert-success-text)}.scan-send.is-confirmed .native-checkbox:checked:after{border-color:var(--panel-bg)}.scan-send .scan-tip{margin-top:.75rem;padding-left:1.45rem}.scan-sent{max-width:560px;margin:0 auto;padding:2.25rem 2rem;text-align:center;display:flex;flex-direction:column;align-items:center}.scan-sent-icon{width:52px;height:52px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background-color:var(--alert-success-bg);border:1px solid var(--alert-success-border);color:var(--alert-success-text)}.scan-sent-title{font-family:var(--font-mono);font-size:1.15rem;margin:1rem 0 .4rem}.scan-sent-copy{margin:0;font-size:.875rem;line-height:1.55;color:var(--text-secondary)}.scan-sent-list{list-style:none;margin:1.25rem 0 0;padding:.9rem 1rem;width:100%;box-sizing:border-box;display:flex;flex-direction:column;gap:.6rem;border:1px solid var(--panel-border);border-radius:10px;text-align:left}.scan-sent-list li{display:flex;align-items:flex-start;gap:.6rem;font-size:.82rem;line-height:1.45;color:var(--text-secondary)}.scan-sent-list svg{flex-shrink:0;margin-top:2px;color:var(--text-main)}.scan-sent-list strong{color:var(--text-main);font-weight:600;overflow-wrap:anywhere}.scan-sent-actions{display:flex;gap:.6rem;margin-top:1.5rem;flex-wrap:wrap;justify-content:center}.empty-state{text-align:center;padding:2.5rem 1rem;color:var(--text-muted);font-size:.85rem}.empty-state h3{font-family:var(--font-mono);font-size:1rem;color:var(--text-main);margin:.75rem 0 .35rem}.settings-rows{display:flex;flex-direction:column}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--divider-color);font-size:.84rem}.settings-row:last-child{border-bottom:none}.settings-key{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.btn-danger{height:40px;min-width:128px;padding:0 1.1rem;border-radius:8px;border:1px solid var(--danger-border);background-color:var(--danger-bg);color:var(--danger-text);font-family:inherit;font-size:.86rem;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;cursor:pointer;transition:background-color .15s ease,transform .15s ease;white-space:nowrap}.btn-danger:hover:not(:disabled){background-color:var(--danger-bg-hover);transform:translateY(-1px)}.btn-danger:disabled{cursor:wait;opacity:.85}.btn-spinner{width:15px;height:15px;border-radius:50%;border:2px solid color-mix(in srgb,currentColor 30%,transparent);border-top-color:currentColor;animation:btnSpin .6s linear infinite}@keyframes btnSpin{to{transform:rotate(360deg)}}.settings-action-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.settings-action-text{font-size:.84rem;color:var(--text-secondary);max-width:460px;line-height:1.5}.settings-action-text strong{display:block;color:var(--text-main);font-weight:600;margin-bottom:.15rem}.sidebar-backdrop{display:none}@media(max-width:1100px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-grid,.dash-grid.is-even{grid-template-columns:minmax(0,1fr)}}@media(max-width:900px){.sidebar{position:fixed;left:0;top:0;transform:translate(-100%);transition:transform .2s ease;box-shadow:var(--card-shadow)}.app-shell.is-mobile-open .sidebar{transform:translate(0)}.app-shell.is-mobile-open .sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:35;background:#090a0f59}.sidebar-collapse-btn{display:none}.mobile-menu-btn{display:inline-flex}.app-topbar{padding:0 1rem}.app-content{padding:1.25rem 1rem 2.5rem}}@media(max-width:560px){.kpi-grid,.form-grid{grid-template-columns:minmax(0,1fr)}.hbar-row{grid-template-columns:110px minmax(0,1fr) 54px}.page-actions{width:100%}.hand-pair{grid-template-columns:minmax(0,1fr)}.hand-pair.is-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.hand-pair.is-compact .hand-finger-code,.hand-pair.is-compact .hand-palm-caption{display:none}.scan-sent{padding:1.75rem 1.1rem}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.profile-text .profile-name,.profile-text .profile-email{display:block}.scan-panel-head{flex-wrap:wrap}.scan-panel-tools{display:flex;align-items:center;gap:1.1rem;flex-wrap:wrap}.hw-connect{position:relative;display:inline-flex;align-items:center;gap:.4rem}.hw-connect-btn:disabled{cursor:wait;opacity:.8}.hw-connected{display:inline-flex;align-items:center;gap:.45rem;height:38px;padding:0 .85rem;border-radius:8px;border:1px solid var(--alert-success-border);background-color:var(--alert-success-bg);color:var(--alert-success-text);font-size:.82rem;font-weight:600;white-space:nowrap}.hw-connected-name{font-family:var(--font-mono);font-size:.72rem;font-weight:500;color:var(--text-secondary);max-width:180px;overflow:hidden;text-overflow:ellipsis}.hw-dot{position:relative;width:8px;height:8px;border-radius:50%;background-color:var(--success-accent);flex-shrink:0}.hw-dot:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%;border:1.5px solid var(--success-accent);opacity:0;animation:hwPulse 1.8s ease-out infinite}@keyframes hwPulse{0%{transform:scale(.6);opacity:.8}to{transform:scale(1.6);opacity:0}}.hw-manage-btn{width:38px;height:38px}.hw-menu{left:auto;right:0;width:300px}.hw-menu-label{display:flex;align-items:center;gap:.4rem;padding:.65rem .85rem .35rem;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.hw-device-list{padding-top:0}.hw-device-icon{flex-shrink:0;color:var(--text-muted)}.hw-menu-divider{height:1px;background-color:var(--input-border)}.hw-menu-danger{width:100%;display:flex;align-items:center;gap:.55rem;padding:.65rem .85rem;border:none;background:transparent;color:var(--danger-text);font-family:inherit;font-size:.82rem;font-weight:500;cursor:pointer;text-align:left}.hw-menu-danger:hover{background-color:var(--danger-bg)}@media(max-width:560px){.scan-panel-tools{width:100%;justify-content:space-between}.hw-connected-name{display:none}.hw-menu{left:auto;right:0;width:min(300px,calc(100vw - 2.5rem))}}.finger-boxes-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin:1.5rem 0 .25rem;padding-top:1.25rem;border-top:1px solid var(--divider-color)}.finger-boxes-title{font-family:var(--font-mono);font-size:.85rem;font-weight:600;color:var(--text-main)}.finger-boxes-hint{font-size:.78rem;color:var(--text-muted)}.finger-boxes{display:flex;flex-direction:column;gap:.25rem}.finger-box-hand{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);margin:.75rem 0 .5rem}.finger-box-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.6rem}.finger-box-wrap{position:relative;min-width:0}.finger-box{width:100%;min-height:72px;display:flex;align-items:center;gap:.7rem;padding:.6rem .7rem;border-radius:10px;border:1.5px dashed var(--input-border);background-color:var(--panel-bg);color:var(--text-main);font-family:inherit;text-align:left;cursor:pointer;transition:border-color .15s ease,background-color .15s ease,transform .15s ease}.finger-box:hover{border-color:var(--border-hover);transform:translateY(-1px)}.finger-box:focus-visible{outline:2px solid var(--input-focus);outline-offset:2px}.finger-box.is-dragover{border-style:solid;border-color:var(--input-focus)}.finger-box-thumb{width:46px;height:46px;flex-shrink:0;border-radius:50%;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;background-color:var(--chart-track);color:var(--text-muted)}.finger-box-thumb img{width:100%;height:100%;object-fit:cover}.finger-box-text{display:flex;flex-direction:column;gap:.2rem;min-width:0}.finger-box-name{display:flex;align-items:baseline;gap:.4rem;font-size:.92rem;font-weight:600}.finger-box-code{font-family:var(--font-mono);font-size:.8rem;color:var(--text-secondary)}.finger-box-status{display:inline-flex;align-items:center;gap:.25rem;font-size:.74rem;color:var(--text-muted);line-height:1.3}.finger-box.is-filled{border-style:solid;border-color:var(--alert-success-border);background-color:var(--alert-success-bg)}.finger-box.is-filled:hover{border-color:var(--alert-success-text)}.finger-box.is-filled .finger-box-thumb{box-shadow:0 0 0 2px var(--alert-success-text);color:var(--alert-success-text)}.finger-box.is-filled .finger-box-status,.finger-box.is-filled .finger-box-code{color:var(--alert-success-text)}.finger-box.is-failed{border-style:solid;border-color:var(--alert-error-text);background-color:var(--alert-error-bg)}.finger-box.is-failed .finger-box-thumb{background-color:transparent;box-shadow:0 0 0 2px var(--alert-error-text);color:var(--alert-error-text)}.finger-box.is-failed .finger-box-status,.finger-box.is-failed .finger-box-code{color:var(--alert-error-text)}.finger-box.is-missing{border-color:var(--alert-error-border);background-color:var(--alert-error-bg)}.finger-box.is-missing .finger-box-thumb,.finger-box.is-missing .finger-box-status,.finger-box.is-missing .finger-box-code{color:var(--alert-error-text)}.finger-box-remove{position:absolute;top:-7px;right:-7px;width:22px;height:22px;border-radius:50%;border:1px solid var(--panel-border);background-color:var(--panel-bg);color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 1px 3px #0000001f;transition:color .15s ease,border-color .15s ease}.finger-box-remove:hover{color:var(--danger-text);border-color:var(--danger-border)}@media(max-width:1200px){.finger-box-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:560px){.finger-box-grid{grid-template-columns:minmax(0,1fr)}}.scan-restoring{display:flex;align-items:center;justify-content:center;gap:.6rem;min-height:220px;font-size:.85rem;color:var(--text-secondary)}.scan-actions-group{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;justify-content:flex-end}.remark-list{display:flex;flex-direction:column;gap:.5rem}.remark-row{display:grid;grid-template-columns:36px 96px minmax(0,1fr);align-items:center;gap:.65rem}.finger-box-thumb.remark-thumb{width:36px;height:36px;box-shadow:0 0 0 1.5px var(--alert-success-border)}.remark-label{font-size:.85rem;font-weight:600;color:var(--text-main);white-space:nowrap}.report-fields{display:flex;flex-direction:column;gap:1rem}@media(max-width:560px){.remark-row{grid-template-columns:36px minmax(0,1fr)}.remark-row .input-control{grid-column:1 / -1}.scan-actions{flex-wrap:wrap}}
