@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;700&display=swap";:root{color:#14181d;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--fog-50:#fbfcfd;--fog-100:#f4f6f8;--fog-200:#eaedf1;--fog-300:#dde2e8;--fog-400:#c6ccd4;--ink-900:#14181d;--ink-700:#333b45;--ink-500:#5c6672;--ink-400:#656e7a;--teal-50:#eaf5f4;--teal-200:#a9d3ce;--teal-500:#1f7f77;--teal-600:#16665f;--teal-700:#0f4f4a;--up:#c62828;--down:#17805a;--glass-border:#131d2917;--glass-hi:#ffffffb8;--shadow-soft:0 1px 2px #121c280d, 0 8px 24px -12px #121c2829;--shadow-lift:0 2px 4px #121c280f, 0 24px 56px -20px #121c2842;background:#f4f6f8;font-family:SF Pro Text,SF Pro Display,Inter,Noto Sans SC,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;min-height:100%}body{min-width:320px;color:var(--ink-900);background:var(--fog-100);letter-spacing:0;margin:0}button,input,select,textarea{font:inherit;letter-spacing:0}button{cursor:pointer}button:disabled{cursor:not-allowed}h1,h2,h3,p,dl,dd,ul,ol{margin:0}ul,ol{padding:0;list-style:none}h1,h2,h3{font-weight:600}:where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--teal-500);outline-offset:2px;border-radius:4px}.fog-ground{background-color:#eef1f5;background-image:linear-gradient(#f2f5f8 0%,#e9edf2 100%)}.noise:after{content:"";pointer-events:none;opacity:.08;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='0.34'/%3E%3C/svg%3E");position:absolute;inset:0}.glass{-webkit-backdrop-filter:saturate(160%)blur(20px);border:1px solid var(--glass-border);box-shadow:var(--shadow-soft), inset 0 1px 0 var(--glass-hi);background:#ffffff9e}.glass-chrome{-webkit-backdrop-filter:saturate(180%)blur(24px);background:#f8fafcbd}.glass-raised{-webkit-backdrop-filter:saturate(180%)blur(28px);border:1px solid var(--glass-border);box-shadow:var(--shadow-lift), inset 0 1px 0 #ffffffe6;background:#ffffffdb}.tnum{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.section-label{color:var(--ink-400);letter-spacing:.04em;margin:0 0 5px;font-size:10px;font-weight:700}.brand-mark{color:#fff;background:linear-gradient(180deg, var(--teal-500), var(--teal-700));border:1px solid #0f4f4a4d;border-radius:7px;flex:0 0 28px;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;font-weight:700;display:inline-flex;box-shadow:inset 0 1px #ffffff59}.gate-brand{color:var(--ink-900);align-items:center;gap:10px;font-size:15px;font-weight:600;display:flex}.gate-page,.auth-page{background:#eef1f5;flex-direction:column;min-height:100vh;display:flex;position:relative;overflow:auto}.gate-page{justify-content:center;align-items:center;padding:32px 16px}.auth-header,.setup-header{border-bottom:1px solid var(--glass-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff73;justify-content:center;align-items:center;width:100%;min-height:56px;padding:0 16px;display:flex}.auth-header-inner,.setup-header-inner{align-items:center;gap:10px;width:min(100%,720px);display:flex}.auth-caption{color:var(--ink-400);font-size:13px}.auth-main{flex:1;justify-content:center;align-items:center;width:100%;padding:32px 16px;display:flex}.auth-panel,.gate-panel{border-radius:8px;width:min(100%,420px);overflow:hidden}.gate-panel{border:1px solid var(--glass-border);box-shadow:var(--shadow-soft), inset 0 1px 0 var(--glass-hi);background:#ffffff9e}.auth-panel{background:#ffffff9e}.auth-form{flex-direction:column;gap:16px;padding:28px 32px;display:flex}.auth-heading h1{color:var(--ink-900);font-size:20px;line-height:1.35}.auth-heading p{color:var(--ink-500);margin-top:4px;font-size:13px;line-height:1.5}.auth-footer{width:min(100%,720px);color:var(--ink-400);flex-wrap:wrap;align-items:center;gap:8px;padding:0 16px 20px;font-size:12px;display:flex}.field{flex-direction:column;gap:6px;display:flex}.field-label{color:var(--ink-700);font-size:13px;font-weight:500}.field-input,.field-select,.field-textarea{width:100%;height:36px;color:var(--ink-900);border:1px solid var(--glass-border);background:#ffffffb3;border-radius:6px;outline:none;padding:0 10px;transition:background .15s,border-color .15s}.field-textarea{resize:vertical;height:auto;min-height:92px;padding:9px 10px}.field-input:focus,.field-select:focus,.field-textarea:focus{border-color:var(--teal-500);background:#fff;box-shadow:0 0 0 3px #1f7f771f}.field-input:disabled,.field-select:disabled{color:var(--ink-400);background:#14181d0a}.password-wrap{display:block;position:relative}.password-wrap .field-input{padding-right:42px}.password-toggle{width:28px;height:28px;color:var(--ink-400);background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.password-toggle:hover{color:var(--ink-700);background:#14181d0f}.button-primary,.button-secondary,.primary-action,.secondary-action{border-radius:6px;justify-content:center;align-items:center;gap:7px;min-height:36px;padding:0 12px;font-size:13px;font-weight:500;transition:background .15s,border-color .15s,color .15s,opacity .15s;display:inline-flex}.button-primary,.primary-action{color:#fff;background:var(--teal-600);border:1px solid #0f4f4a99;box-shadow:0 1px 2px #0f4f4a47,inset 0 1px #ffffff2e}.button-primary:hover:not(:disabled),.primary-action:hover:not(:disabled){background:var(--teal-700)}.button-secondary,.secondary-action{color:var(--ink-700);border:1px solid var(--glass-border);background:#ffffffa8}.button-secondary:hover:not(:disabled),.secondary-action:hover:not(:disabled){color:var(--ink-900);background:#ffffffe6}.button-primary:disabled,.button-secondary:disabled,.primary-action:disabled,.secondary-action:disabled{opacity:.45}.wide-action{width:100%}.inline-check{color:var(--ink-700);align-items:center;gap:8px;font-size:13px;display:inline-flex}.inline-check input{width:15px;height:15px;accent-color:var(--teal-600)}.alert-box,.form-message{border:1px solid;border-radius:6px;padding:10px 12px;font-size:13px;line-height:1.55}.alert-box p,.form-message{margin:0}.alert-box.error,.form-message.error{color:#8d1d17;background:#fdecea;border-color:#efc4bf}.alert-box.warn,.form-message.warn{color:#8a5606;background:#fdf3e2;border-color:#e8cf9f}.form-message.success{color:var(--teal-700);background:var(--teal-50);border-color:var(--teal-200)}.auth-note{color:var(--ink-400);font-size:12px;line-height:1.6}.password-hint{color:var(--ink-400);font-size:12px;line-height:1.5}.loading-page{color:var(--ink-400);align-items:center;gap:10px}.loading-mark{color:#fff;background:linear-gradient(180deg, var(--teal-500), var(--teal-700));border:1px solid #0f4f4a4d;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;font-weight:700;display:inline-flex}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.compact-panel{text-align:center;padding:30px}.compact-panel .gate-brand{justify-content:center;margin-bottom:24px}.compact-panel h1{margin:12px 0 16px;font-size:20px}.state-icon.danger{color:#b3261e}.setup-page{min-height:100vh;overflow:auto}.setup-header{justify-content:center}.setup-header-inner{max-width:720px}.setup-header .step-count{color:var(--ink-400);margin-left:auto;font-size:12px}.setup-progress{align-items:center;gap:10px;width:min(100%,720px);margin:0 auto 20px;display:flex;overflow-x:auto}.setup-progress li{min-width:0;color:var(--ink-400);white-space:nowrap;flex:1;align-items:center;gap:7px;font-size:13px;font-weight:500;display:flex}.setup-progress li:after{content:"";background:#14181d1f;flex:0 0 34px;width:34px;height:1px;display:block}.setup-progress li:last-child:after{display:none}.setup-progress li span{width:28px;height:28px;color:var(--ink-400);border:1px solid var(--glass-border);background:#fff9;border-radius:50%;flex:0 0 28px;justify-content:center;align-items:center;display:inline-flex}.setup-progress li.active{color:var(--ink-900)}.setup-progress li.active span{color:#fff;background:var(--teal-600);border-color:#0f4f4a73}.setup-progress li.complete{color:var(--ink-700)}.setup-progress li.complete span{color:var(--teal-600);background:var(--teal-50);border-color:#1f7f7766}.setup-content{flex-direction:column;width:min(100% - 32px,720px);margin:0 auto;padding:30px 0 48px;display:flex}.setup-intro{margin-bottom:20px}.setup-intro h1{color:var(--ink-900);font-size:24px;line-height:1.35}.setup-intro>p:last-child{color:var(--ink-500);margin-top:5px;font-size:13px}.setup-blocked{color:var(--ink-500);border:1px solid var(--glass-border);background:#ffffff8c;border-radius:8px;gap:14px;padding:20px;display:flex}.setup-blocked h2{color:var(--ink-900);margin-bottom:6px;font-size:15px}.setup-blocked p{font-size:13px;line-height:1.55}.setup-blocked .muted{color:var(--ink-400);margin-top:6px;font-size:12px}.setup-surface{border-radius:8px;overflow:hidden}.setup-form{flex-direction:column;gap:16px;padding:0;display:flex}.setup-form-header{border-bottom:1px solid var(--glass-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 24px;display:flex}.setup-form-header h2{font-size:17px}.setup-form-header p{color:var(--ink-500);margin-top:3px;font-size:13px}.setup-form-body{flex-direction:column;gap:14px;padding:20px 24px;display:flex}.setup-form-footer{border-top:1px solid var(--glass-border);background:#ffffff73;flex-wrap:wrap;align-items:center;gap:8px;padding:14px 24px;display:flex}.setup-form-footer .muted{color:var(--ink-400);margin-left:auto;font-size:12px}.setup-form .field-grid{grid-template-columns:1fr 120px;gap:14px;display:grid}.setup-form .field-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.mode-switch,.segmented-control{background:#14181d0f;border:1px solid #14181d0d;border-radius:6px;align-items:center;gap:2px;padding:2px;display:inline-flex}.mode-switch button,.segmented-control button{min-height:32px;color:var(--ink-500);background:0 0;border:0;border-radius:4px;padding:0 10px;font-size:12px;font-weight:500}.mode-switch button.active,.segmented-control button.active{color:var(--ink-900);background:#fff;box-shadow:0 1px 2px #121c281f}.workspace-root{width:100%;height:100%;min-height:100vh;display:flex;position:relative;overflow:hidden}.workspace-sidebar{z-index:20;border-right:1px solid var(--glass-border);flex-direction:column;flex:0 0 224px;width:224px;height:100%;transition:width .18s,flex-basis .18s;display:flex}.workspace-sidebar.collapsed{flex-basis:72px;width:72px}.workspace-sidebar-header{flex:0 0 56px;align-items:center;height:56px;padding:0 16px;display:flex}.workspace-sidebar.collapsed .workspace-sidebar-header{justify-content:center;padding:0}.workspace-wordmark{color:var(--ink-900);align-items:center;gap:9px;font-size:15px;font-weight:600;display:flex}.workspace-sidebar.collapsed .workspace-wordmark span:last-child{display:none}.workspace-nav{flex-direction:column;flex:1;gap:2px;min-height:0;padding:8px 10px;display:flex;overflow-y:auto}.workspace-nav-label{color:var(--ink-400);letter-spacing:.04em;padding:8px 10px 5px;font-size:11px;font-weight:500}.workspace-sidebar.collapsed .workspace-nav-label{display:none}.workspace-nav-item{width:100%;height:36px;color:var(--ink-500);text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;padding:0 10px;font-size:13px;font-weight:500;display:flex;position:relative}.workspace-nav-item:hover{color:var(--ink-900);background:#14181d0f}.workspace-nav-item.active{color:var(--ink-900);background:#ffffffbf;box-shadow:0 1px 2px #121c280f,inset 0 1px #ffffffe6}.workspace-nav-item.active:before{content:"";background:var(--teal-500);border-radius:999px;width:2px;height:16px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.workspace-nav-item.active svg{color:var(--teal-600)}.workspace-sidebar.collapsed .workspace-nav-item{justify-content:center;padding:0}.workspace-sidebar.collapsed .workspace-nav-item span{display:none}.workspace-sidebar-footer{border-top:1px solid var(--glass-border);padding:10px}.workspace-sidebar.collapsed .workspace-sidebar-footer{padding:10px}.sidebar-toggle{width:100%;height:36px;color:var(--ink-500);text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;padding:0 10px;font-size:13px;display:flex}.sidebar-toggle:hover{color:var(--ink-900);background:#14181d0f}.workspace-sidebar.collapsed .sidebar-toggle{justify-content:center;padding:0}.workspace-sidebar.collapsed .sidebar-toggle span{display:none}.workspace-user{border-radius:6px;align-items:center;gap:9px;margin-top:8px;padding:8px 6px;display:flex}.workspace-user-avatar{width:28px;height:28px;color:var(--ink-700);border:1px solid var(--glass-border);background:#fffc;border-radius:50%;flex:0 0 28px;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:inline-flex}.workspace-user-copy{min-width:0}.workspace-user-copy strong,.workspace-user-copy small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.workspace-user-copy strong{color:var(--ink-900);font-size:13px;font-weight:500}.workspace-user-copy small{color:var(--ink-400);margin-top:1px;font-size:11px}.workspace-sidebar.collapsed .workspace-user-copy{display:none}.workspace-column{flex-direction:column;flex:1;min-width:0;display:flex}.workspace-topbar{z-index:10;border-bottom:1px solid var(--glass-border);align-items:center;gap:10px;height:56px;min-height:56px;padding:0 16px;display:flex}.mobile-menu{width:36px;height:36px;color:var(--ink-700);background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;padding:0;display:none}.mobile-menu:hover{background:#14181d0f}.workspace-title-wrap{flex:1;min-width:0}.workspace-breadcrumbs{color:var(--ink-400);align-items:center;gap:4px;font-size:12px;display:flex}.workspace-breadcrumbs svg{width:11px}.workspace-title{color:var(--ink-900);text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:600;overflow:hidden}.workspace-top-actions{align-items:center;gap:4px;display:flex}.relative-action{position:relative}.workspace-icon-button{width:36px;height:36px;color:var(--ink-500);background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;padding:0;display:inline-flex}.workspace-icon-button:hover{color:var(--ink-900);background:#14181d0f}.mobile-logout{display:none}.workspace-divider{background:var(--glass-border);width:1px;height:20px;margin:0 4px;display:block}.health-button{height:34px;color:var(--ink-500);background:0 0;border:0;border-radius:6px;align-items:center;gap:6px;padding:0 8px;font-size:12px;display:inline-flex}.health-button:hover{background:#14181d0f}.health-dot{background:var(--teal-500);border-radius:50%;width:6px;height:6px}.health-dot.warn{background:#c98a17}.health-dot.danger{background:#b3261e}.top-popover{z-index:50;border-radius:8px;width:280px;padding:6px;position:absolute;top:44px;right:0}.top-popover-title{color:var(--ink-400);padding:6px 8px;font-size:12px;font-weight:500}.top-popover-row{border-radius:5px;align-items:center;gap:8px;padding:8px;display:flex}.top-popover-row:hover{background:#14181d0a}.top-popover-row span:nth-child(2){min-width:0;color:var(--ink-700);flex:1;font-size:12px}.top-popover-row small{color:var(--ink-400);font-size:11px}.top-popover-row span:nth-child(2) strong,.top-popover-row span:nth-child(2) small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.top-popover-row span:nth-child(2) strong{color:var(--ink-700);font-size:12px;font-weight:500}.top-popover-row span:nth-child(2) small{margin-top:2px}.notification-popover{width:320px}.popover-dismiss{z-index:-1;background:0 0;border:0;width:100vw;height:100vh;padding:0;position:fixed;inset:0}.notification-dot{background:#b3261e;border:2px solid #f8fafce6;border-radius:50%;width:6px;height:6px;position:absolute;top:7px;right:7px}.offline-bar{color:#8a5606;background:#fdf3e2;border-bottom:1px solid #e8cf9f;align-items:center;gap:8px;height:36px;padding:0 16px;font-size:13px;display:flex}.offline-bar button{color:inherit;text-underline-offset:2px;background:0 0;border:0;margin-left:auto;font-size:12px;text-decoration:underline}.workspace-main{flex:1;min-height:0;padding:20px 24px 32px;overflow:auto}.workspace-page{flex-direction:column;gap:16px;width:min(100%,1320px);margin:0 auto;display:flex}.page-toolbar{justify-content:space-between;align-items:center;gap:12px;min-height:32px;display:flex}.page-toolbar h2{color:var(--ink-900);font-size:17px}.page-toolbar p{color:var(--ink-500);margin-top:3px;font-size:12px}.toolbar-actions{align-items:center;gap:8px;display:flex}.button-small{min-height:32px;padding:0 10px;font-size:12px}.panel{border-radius:8px;overflow:hidden}.panel-header{border-bottom:1px solid var(--glass-border);justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:0 16px;display:flex}.panel-header h2,.panel-header h3{color:var(--ink-900);font-size:15px}.panel-body{padding:16px}.panel-body.compact{padding:0}.panel-header-actions{align-items:center;gap:6px;display:flex}.badge{white-space:nowrap;border:1px solid;border-radius:4px;align-items:center;gap:5px;height:22px;padding:0 6px;font-size:12px;font-weight:500;display:inline-flex}.badge.neutral{color:var(--ink-700);background:#14181d0f;border-color:#14181d14}.badge.teal{color:var(--teal-700);background:var(--teal-50);border-color:var(--teal-200)}.badge.warn{color:#8a5606;background:#fdf3e2;border-color:#e8cf9f}.badge.danger{color:#8d1d17;background:#fdecea;border-color:#efc4bf}.badge.up{color:#a71f1f;background:#fdecec;border-color:#f0c7c7}.badge.down{color:#12684a;background:#e8f5ef;border-color:#bcdfd0}.badge.info{color:#3a4a63;background:#eef2f8;border-color:#ccd7e6}.analysis-grid{grid-template-columns:minmax(0,1.35fr) minmax(300px,1fr);gap:16px;display:grid}.chart-wrap{width:100%;height:210px}.chart-wrap svg{width:100%;height:100%;display:block;overflow:visible}.chart-grid-line{stroke:#131d2914;stroke-width:1px}.chart-axis-label{fill:#78828e;font-size:10px}.chart-line{fill:none;stroke:var(--teal-500);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.chart-fill{fill:url(#analysis-fill)}.factor-list{flex-direction:column;gap:12px;display:flex}.factor-row{color:var(--ink-500);grid-template-columns:64px minmax(0,1fr) 30px;align-items:center;gap:10px;font-size:12px;display:grid}.factor-track{background:#14181d14;border-radius:99px;height:7px;overflow:hidden}.factor-value{background:var(--teal-500);border-radius:inherit;height:100%}.factor-value.mid{background:#7fa8ad}.factor-value.low{background:#b8c2cc}.analysis-panels{flex-direction:column;gap:16px;display:flex}.plan-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.choice-card{min-height:72px;color:var(--ink-500);border:1px solid var(--glass-border);text-align:left;background:#ffffff7a;border-radius:6px;flex-direction:column;gap:4px;padding:12px;display:flex;position:relative}.choice-card:hover{background:#ffffffc7}.choice-card.selected{color:var(--ink-900);border-color:var(--teal-200);background:#eaf5f4cc;box-shadow:inset 0 1px #ffffffd9}.choice-card strong{font-size:13px;font-weight:600}.choice-card small{font-size:11px;line-height:1.45}.choice-card .selected-mark{color:var(--teal-600);position:absolute;top:9px;right:9px}.info-strip{color:var(--ink-500);border:1px solid var(--glass-border);background:#ffffff80;border-radius:6px;align-items:flex-start;gap:8px;padding:10px 12px;font-size:12px;line-height:1.55;display:flex}.info-strip svg{color:var(--teal-600);flex:none;margin-top:1px}.analysis-stat-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.stat{border:1px solid var(--glass-border);background:#ffffff80;border-radius:6px;padding:10px 12px}.stat dt{color:var(--ink-400);font-size:11px}.stat dd{color:var(--ink-900);margin-top:3px;font-size:16px;font-weight:600}.stat dd.up{color:var(--up)}.stat dd.down{color:var(--down)}.table-toolbar{border-bottom:1px solid var(--glass-border);flex-wrap:wrap;align-items:center;gap:8px;padding:12px 16px;display:flex}.search-field{flex:1;min-width:190px;position:relative}.search-field svg{color:var(--ink-400);position:absolute;top:50%;left:9px;transform:translateY(-50%)}.search-field .field-input{padding-left:32px}.segmented{background:#14181d0f;border:1px solid #14181d0d;border-radius:6px;align-items:center;gap:2px;height:32px;padding:2px;display:inline-flex}.segmented button{height:26px;color:var(--ink-500);background:0 0;border:0;border-radius:4px;padding:0 9px;font-size:12px}.segmented button.active{color:var(--ink-900);background:#fff;box-shadow:0 1px 2px #121c281f}.table-scroll{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:12px}.data-table th{height:36px;color:var(--ink-400);text-align:left;white-space:nowrap;background:#ffffff52;padding:0 12px;font-size:11px;font-weight:500}.data-table th.right,.data-table td.right{text-align:right}.data-table td{height:47px;color:var(--ink-700);border-top:1px solid var(--glass-border);white-space:nowrap;padding:0 12px}.data-table tbody tr{transition:background .12s}.data-table tbody tr:hover,.data-table tbody tr.selected{background:#eaf5f48c}.row-main{align-items:center;gap:8px;display:flex}.row-main strong{color:var(--ink-900);font-weight:500}.row-main small{color:var(--ink-400);font-size:11px}.table-check{width:15px;height:15px;accent-color:var(--teal-600)}.empty-state{min-height:180px;color:var(--ink-400);flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex}.empty-state svg{color:var(--ink-400)}.progress{background:#14181d17;border-radius:999px;height:6px;overflow:hidden}.progress>span{background:var(--teal-500);border-radius:inherit;height:100%;display:block}.progress-label{color:var(--ink-400);margin-top:2px;font-size:11px;display:inline-block}.status-inline{align-items:center;gap:7px;display:inline-flex}.table-count{color:var(--ink-400);margin-left:auto;font-size:12px}.price-up{color:var(--up)!important}.price-down{color:var(--down)!important}.simulation-row{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.simulation-row strong{color:var(--ink-900);font-size:13px;font-weight:500}.simulation-row p{color:var(--ink-400);margin-top:3px;font-size:12px;line-height:1.5}.switch{border:1px solid var(--glass-border);background:#14181d1f;border-radius:999px;flex:0 0 38px;width:38px;height:22px;padding:0;transition:background .15s;position:relative}.switch span{background:#fff;border-radius:50%;width:16px;height:16px;transition:left .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #121c282e}.switch.on{background:var(--teal-600);border-color:#0f4f4a80}.switch.on span{left:19px}.drawer-section-title{color:var(--ink-900);margin:20px 0 9px;font-size:13px}.drawer-stages{flex-direction:column;gap:0;display:flex}.drawer-stage{min-height:38px;color:var(--ink-700);border-bottom:1px solid var(--glass-border);grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:8px;font-size:12px;display:grid}.drawer-stage small{color:var(--ink-400);font-size:11px}.toast-message{z-index:90;max-width:min(420px,100vw - 32px);color:var(--teal-700);border:1px solid var(--teal-200);box-shadow:var(--shadow-lift);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#eaf5f4f0;border-radius:7px;align-items:center;gap:8px;padding:10px 10px 10px 12px;font-size:13px;animation:.16s ease-out both fade-in;display:flex;position:fixed;bottom:20px;right:20px}.toast-message span{flex:1}.toast-message button{width:24px;height:24px;color:var(--teal-700);background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;padding:0;display:inline-flex}.toast-message button:hover{background:#1f7f771a}.portfolio-bars{flex-direction:column;gap:13px;display:flex}.portfolio-bar-row>div{color:var(--ink-700);justify-content:space-between;gap:10px;margin-bottom:4px;font-size:12px;display:flex}.portfolio-bar-row small{color:var(--ink-400)}.portfolio-bar{background:#14181d14;border-radius:99px;height:6px;display:block;overflow:hidden}.portfolio-bar>span{background:var(--teal-500);border-radius:inherit;height:100%;display:block}.table-subcode{color:var(--ink-400);margin-top:3px;font-size:11px;display:block}.tag-list{gap:4px;display:inline-flex}.tag-list span{color:var(--ink-500);background:#14181d0d;border-radius:3px;padding:2px 5px;font-size:11px}.config-tabs{gap:2px;padding:5px;display:flex;overflow-x:auto}.config-tabs button{min-height:32px;color:var(--ink-500);white-space:nowrap;background:0 0;border:0;border-radius:5px;padding:0 10px;font-size:12px}.config-tabs button:hover{color:var(--ink-900);background:#ffffff80}.config-tabs button.active{color:var(--ink-900);background:#ffffffd1;box-shadow:0 1px 2px #121c2814}.config-stack{flex-direction:column;gap:16px;display:flex}.list-row .badge{margin-left:auto}.settings-list{flex-direction:column;display:flex}.settings-row{border-bottom:1px solid var(--glass-border);justify-content:space-between;align-items:center;gap:18px;min-height:62px;padding:11px 0;display:flex}.settings-row:last-child{border-bottom:0}.settings-row strong{color:var(--ink-900);font-size:13px;font-weight:500}.settings-row p{color:var(--ink-400);margin-top:3px;font-size:12px;line-height:1.45}.settings-select{width:170px}.settings-value{color:var(--ink-700);font-size:12px}.settings-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.status-dot{border-radius:50%;width:7px;height:7px;display:inline-block}.status-dot.running{background:var(--teal-500);box-shadow:0 0 0 3px #1f7f771f}.status-dot.done{background:var(--teal-600)}.status-dot.pending{background:#9aa3ad}.status-dot.failed{background:#b3261e}.status-dot.warn{background:#c98a17}.list-stack{flex-direction:column;display:flex}.list-row{border-top:1px solid var(--glass-border);align-items:center;gap:12px;min-height:60px;padding:10px 16px;display:flex}.list-row:first-child{border-top:0}.list-row-main{flex:1;min-width:0}.list-row-main strong,.list-row-main small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.list-row-main strong{color:var(--ink-900);font-size:13px;font-weight:500}.list-row-main small{color:var(--ink-400);margin-top:3px;font-size:11px}.list-row-meta{color:var(--ink-500);align-items:center;gap:8px;font-size:12px;display:flex}.two-column{grid-template-columns:minmax(0,1.5fr) minmax(280px,.8fr);gap:16px;display:grid}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.summary-card{padding:14px}.summary-card p{color:var(--ink-400);font-size:11px}.summary-card strong{color:var(--ink-900);margin-top:5px;font-size:20px;font-weight:600;display:block}.summary-card small{color:var(--ink-500);margin-top:3px;font-size:11px;display:block}.detail-drawer-backdrop{z-index:60;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#14181d29;animation:.16s ease-out both fade-in;position:fixed;inset:0}.detail-drawer{z-index:70;border-left:1px solid var(--glass-border);-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);background:#ffffffe6;flex-direction:column;width:min(100%,420px);height:100%;animation:.22s cubic-bezier(.32,.72,0,1) both slide-in;display:flex;position:fixed;top:0;right:0;box-shadow:-20px 0 48px -30px #121c286b}.drawer-header{border-bottom:1px solid var(--glass-border);justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 18px 14px;display:flex}.drawer-header h2{font-size:17px}.drawer-header p{color:var(--ink-400);margin-top:4px;font-size:12px}.drawer-body{flex:1;min-height:0;padding:16px 18px;overflow:auto}.drawer-footer{border-top:1px solid var(--glass-border);justify-content:flex-end;gap:8px;padding:12px 18px;display:flex}.icon-only{width:32px;height:32px;color:var(--ink-500);background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-only:hover{color:var(--ink-900);background:#14181d0f}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-in{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:none}}@media (width<=1100px){.workspace-sidebar{flex-basis:72px;width:72px}.workspace-sidebar .workspace-sidebar-header{justify-content:center;padding:0}.workspace-sidebar .workspace-wordmark span:last-child,.workspace-sidebar .workspace-nav-label,.workspace-sidebar .workspace-nav-item span,.workspace-sidebar .sidebar-toggle span,.workspace-sidebar .workspace-user-copy{display:none}.workspace-sidebar .workspace-nav-item,.workspace-sidebar .sidebar-toggle{justify-content:center;padding:0}.workspace-sidebar .workspace-user{justify-content:center}}@media (width<=860px){.analysis-grid,.two-column{grid-template-columns:1fr}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-grid{grid-template-columns:1fr}.analysis-stat-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.gate-page{align-items:stretch;padding:0}.gate-panel{width:100%;min-height:100vh;box-shadow:none;border:0;border-radius:0}.auth-main{align-items:stretch;padding:0}.auth-panel{width:100%;min-height:100%;box-shadow:none;border:0;border-radius:0}.auth-form{min-height:calc(100vh - 56px);padding:28px 22px}.auth-footer{padding:0 22px 18px}.setup-content{width:calc(100% - 24px);padding:24px 0 36px}.setup-form-header,.setup-form-body,.setup-form-footer{padding-left:16px;padding-right:16px}.setup-form .field-grid,.setup-form .field-grid.two{grid-template-columns:1fr}.setup-form-footer{flex-direction:column;align-items:stretch}.setup-form-footer .muted{margin-left:0}.setup-header-inner{justify-content:flex-start}.setup-header-inner .step-count{display:none}.setup-progress{gap:5px}.setup-progress li{font-size:11px}.setup-progress li:after{flex-basis:14px;width:14px}.setup-progress li span{flex-basis:24px;width:24px;height:24px}.workspace-root{overflow:visible}.workspace-sidebar{z-index:80;flex-basis:268px;width:268px;display:none;position:fixed;inset:0 auto 0 0;box-shadow:20px 0 48px -30px #121c286b}.workspace-sidebar.mobile-open{display:flex}.workspace-sidebar.mobile-open .workspace-sidebar-header{justify-content:flex-start;padding:0 16px}.workspace-sidebar.mobile-open .workspace-wordmark span:last-child,.workspace-sidebar.mobile-open .workspace-nav-label,.workspace-sidebar.mobile-open .workspace-nav-item span,.workspace-sidebar.mobile-open .sidebar-toggle span,.workspace-sidebar.mobile-open .workspace-user-copy{display:block}.workspace-sidebar.mobile-open .workspace-nav-item,.workspace-sidebar.mobile-open .sidebar-toggle,.workspace-sidebar.mobile-open .workspace-user{justify-content:flex-start;padding:0 10px}.workspace-sidebar.mobile-open .workspace-user{padding:8px 6px}.workspace-topbar{padding:0 10px}.mobile-menu{display:inline-flex}.workspace-breadcrumbs,.workspace-top-actions .health-button{display:none}.workspace-top-actions .mobile-logout{display:inline-flex}.workspace-divider{display:none}.workspace-main{padding:16px 12px 28px}.page-toolbar{align-items:flex-start}.page-toolbar .toolbar-actions .button-secondary{display:none}.panel-header{padding:0 12px}.panel-body{padding:12px}.table-toolbar{padding:10px 12px}.search-field{min-width:100%}.data-table th,.data-table td{padding:0 9px}.data-table th:nth-child(n+5),.data-table td:nth-child(n+5){display:none}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.summary-card{padding:11px}.summary-card strong{font-size:17px}.detail-drawer{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
