/* 0.3 workspace: teal-on-paper, a calm editorial grid and responsive navigation. */
body{background:#f5f6f2}
.site-header{height:auto;background:#fff}
.header-row{height:76px;gap:24px}
.header-row .brand{margin-right:auto}
.brand img{border-radius:9px}
.nav-shelf{border-top:1px solid var(--line)}
.top-nav{height:60px;margin:0;gap:8px;justify-content:space-between}
.top-nav a{gap:10px;padding:0 16px;font-size:13px;flex:1;justify-content:center}
.top-nav .icon{width:17px;height:17px}
.top-nav a[aria-current=page]::after{left:16px;right:16px}
.top-nav a:hover{background:#f5f8f6}
.nav-search,.sidebar-search{display:flex;align-items:center;gap:10px;min-height:36px;border:1px solid var(--line);border-radius:6px;background:#f7f9f8;padding:8px 12px;color:var(--muted);font-size:12px;cursor:pointer}
.nav-search>span{margin-right:24px}
kbd{font:10px var(--font-mono);border:1px solid #d3ded9;border-radius:3px;padding:3px 5px;white-space:nowrap}
.app-main{padding-top:48px}
.page-head{margin-bottom:32px}
.page-head .eyebrow{display:block;font-size:10px;letter-spacing:.16em;margin-bottom:10px}
.page-head h1{font-size:36px;font-weight:500;letter-spacing:-.045em}
.page-head p.muted{margin-top:10px}
.panel,.card{border-color:#dce4de;border-radius:8px;box-shadow:0 2px 2px #183c2d02}
.metric{position:relative;padding:24px;border-color:#dce4de;overflow:hidden}
.metric>span{font-size:12px;letter-spacing:.025em}
.metric strong{font-size:30px;font-weight:500}
.metric em{line-height:1.7}
.metric-grid>.metric:first-child{background:var(--p-accent);border-color:var(--p-accent);color:#fff}
.metric-grid>.metric:first-child strong{color:#fff}
.metric-grid>.metric:first-child>span,.metric-grid>.metric:first-child em{color:#d4e7df}
.metric-grid>.metric:first-child::after{content:'';position:absolute;right:-30px;top:-34px;width:110px;height:110px;border:1px solid #ffffff1f;border-radius:50%;pointer-events:none}
.panel-heading>div>p{margin-top:6px}
.node-row{padding-block:20px}
.node-region{border-radius:50%;font-size:11px}
.quota-track{height:6px}
.quota-fill{transition:width 240ms var(--m-ease,cubic-bezier(.2,.8,.2,1))}
.detail-list>div{padding-block:18px}
.account-data{background:#fff}
.account-routes>summary{gap:24px}
.account-routes>summary strong{font-weight:500}
.auth-panel{box-shadow:0 16px 48px #143d2f08;border-top:3px solid var(--p-accent)}
.auth-copy h1{font-size:46px;font-weight:500}
.auth-list li{padding:6px 0}
.auth-list span{border-radius:5px}
.plan-card{border-top:3px solid var(--p-accent)}
.plan-card .price{font-size:48px}
.price small{font-size:13px}
.features li{display:flex;align-items:center;gap:10px}
.features li::before{content:'↗';font-size:12px;color:var(--p-accent)}
.connection-window{box-shadow:0 24px 80px #183f3210}
.connection-summary{background:#edf3ee}
.hero-layout{gap:72px}
.window-head{background:#edf3ee}
.window-end{font-size:12px}
.form-section h3{font-weight:500;font-size:16px}
.form-section+.form-section{margin-top:32px;padding-top:32px}
.form-error:empty{display:none}
.field:focus-within{color:var(--p-accent)}
.check input{width:17px;height:17px;flex-basis:17px}
.connect-steps .step-number{font-size:14px;border:1px solid #c8d8ce;border-radius:5px;width:30px;height:30px;display:grid;place-items:center}
.chart-inspector{position:relative}
.chart-tooltip{display:block;min-height:32px;margin-top:12px;border-top:1px solid var(--line);padding-top:12px;font:11px var(--font-mono);color:var(--muted)}
.chart-dot{cursor:crosshair;transition:r 140ms,fill 140ms}
.chart-dot:hover,.chart-dot:focus{r:5;fill:var(--p-accent);outline:none;stroke-width:2.5}
.chart-line{stroke-width:2.4}
.chart-area{fill:#06525c0b}
.data-table thead th{background:#f2f5f1;font-weight:500;font-size:11px}
.data-table tbody tr:hover{background:#f6f9f5}
.data-table td{font-size:12px;line-height:1.7}
.data-table td strong{font-weight:500}
.data-table small{line-height:1.7}
.site-footer{padding-block:28px}
.legal{max-width:800px}
.legal h1{font-size:38px;font-weight:500}
.legal h2{padding-top:24px;border-top:1px solid var(--line)}
.legal p{line-height:2}

/* Protected workspace navigation uses a fixed visual hierarchy, never a long wrapping toolbar. */
.admin-layout{grid-template-columns:248px minmax(0,1fr)}
#admin-sidebar{background:#123e3e;color:#eaf4ed;border:0;padding:28px 18px 20px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#53706a transparent}
.sidebar-brand{margin-bottom:26px;padding-inline:10px}
.sidebar-brand img{background:#f4f8f4;padding:4px}
.sidebar-brand b{color:#d9eee5;border-color:#6f928b}
.sidebar-brand small{color:#b2cfc1;letter-spacing:.14em;font-size:10px;margin-top:9px}
.sidebar-search{background:#ffffff08;border-color:#ffffff26;color:#c2d7cd;margin:0 4px 30px;width:calc(100% - 8px);font-size:11px}
.sidebar-search kbd{margin-left:auto;border-color:#ffffff2a;color:#b4cdc3}
.nav-group-label{font-size:9px;color:#a9c6ba;letter-spacing:.12em;margin:0 14px 10px}
#admin-sidebar nav{gap:4px;margin-bottom:26px}
#admin-sidebar nav a{padding:12px 14px;color:#c4d9ce;font-size:12px;gap:13px;position:relative}
#admin-sidebar nav a:hover{color:#fff;background:#ffffff0c}
#admin-sidebar nav a[aria-current=page]{color:#fff;background:#ffffff14;font-weight:500}
#admin-sidebar nav a[aria-current=page]::before{content:'';position:absolute;left:0;top:13px;bottom:13px;width:2px;background:#c9e6ac}
#admin-sidebar nav a .icon{width:17px;height:17px;color:#a6c8bb}
#admin-sidebar nav a[aria-current=page] .icon{color:#d4efb7}
.sidebar-bottom{border-color:#ffffff20;padding-inline:12px}
.sidebar-security{color:#c2d8ce;font-size:10px}
.sidebar-security .security-dot{background:#c9e6ac}
.sidebar-bottom p{color:#a9c4b8;font-size:9px}
.sidebar-portal{display:block;font-size:11px;margin-bottom:20px;color:#e1eddf}
.admin-topbar{height:76px;border-bottom-color:#dce4de;background:#fbfcf8}
.admin-breadcrumb{font-size:11px}
.admin-breadcrumb strong{font-weight:500}
.admin-layout .page-head h1{font-size:32px;font-weight:500}
.admin-layout .page-head{margin-bottom:32px}
.admin-layout .metric em{min-height:0}
.admin-layout .metric strong{font-size:28px}
.admin-layout .metric-grid{gap:16px}
.admin-layout .overview-layout{grid-template-columns:minmax(0,1fr) 260px}
.admin-layout .service-panel{display:block}
.admin-login{border-top:3px solid var(--p-accent);margin-top:8vh}
.admin-login h1{font-size:26px}
.admin-menu-toggle{min-height:38px}
.workspace-count{font:30px var(--font-mono);color:var(--p-accent)}
.workspace-count small{font:11px var(--font-text);color:var(--muted)}
.search-field{display:flex;gap:10px;align-items:center;min-width:0;flex:1;max-width:400px;background:#fff;border:1px solid #d6e0dd;border-radius:6px;padding-left:14px;color:var(--muted)}
.search-field input{border:0;background:transparent}
.search-field:focus-within{outline:2px solid var(--p-accent);outline-offset:2px}
.search-field input:focus{box-shadow:none}
.user-label{display:flex;gap:12px;align-items:center}
.avatar{height:34px;width:34px;flex:0 0 34px;display:grid;place-items:center;background:#e7efe9;border:1px solid #cddcd1;color:var(--p-accent);font:13px var(--font-mono);border-radius:50%}
.avatar.large{width:58px;height:58px;font-size:24px;flex-basis:58px}
.user-workspace{padding-top:40px;border-top:1px solid #bfcec3;margin-top:36px}
.user-profile-head{display:flex;gap:18px;align-items:center;min-width:0}
.user-profile-head>div{min-width:0;overflow-wrap:anywhere}
.user-profile-head h2{font-size:24px;margin-top:7px;font-weight:500}
.user-profile-head>.button{margin-left:auto;flex-shrink:0}
.user-state-line{display:flex;gap:12px;align-items:center;margin-block:20px 28px;flex-wrap:wrap}
.user-state-line>span:last-child{color:var(--muted);font-size:11px}
.admin-layout .user-metrics,.admin-layout .storage-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
.user-metrics .metric:nth-child(3) strong{font-size:18px;line-height:1.7;letter-spacing:0}
.user-tabs{display:flex;gap:32px;border-bottom:1px solid #cad8ce;margin:32px 0 28px}
.user-tabs button{padding:14px 0;min-height:48px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-size:13px}
.user-tabs button[aria-selected=true]{color:var(--p-accent);border-bottom-color:var(--p-accent)}
.admin-user-forms{align-items:stretch;margin-bottom:24px}
.admin-user-forms .panel{margin:0}
.form-intro{margin:-4px 0 24px}
.gift-presets{display:flex;gap:8px;margin:-4px 0 20px;flex-wrap:wrap}
.gift-presets button{border:1px solid #bacebf;color:var(--p-accent);background:#f5f9f2;border-radius:4px;padding:8px 12px;font:11px var(--font-mono);min-height:34px}
.gift-presets button:hover{background:#e8f1e2}
.form-preview{font-size:12px;color:var(--muted);padding:14px;background:#f4f7f2;border-left:2px solid #bacebf;margin-bottom:20px}
.advanced-user>summary,.candidate-panel>summary{display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:500;cursor:pointer;min-height:44px;list-style:none;gap:20px}
.advanced-user>summary::-webkit-details-marker,.candidate-panel>summary::-webkit-details-marker{display:none}
.advanced-user>summary::after{content:'＋';font-size:18px;color:var(--p-accent)}
.advanced-user[open]>summary::after{content:'−'}
.advanced-content{margin-top:20px;padding-top:24px;border-top:1px solid var(--line)}
details:not([open])>.advanced-content{display:none}
.candidate-panel summary small{display:block;font-size:11px;margin-top:8px;font-weight:400;color:var(--muted)}
.candidate-panel[open]>summary>.icon{transform:rotate(90deg)}
.candidate-row{display:flex;justify-content:space-between;gap:24px;align-items:center}
.candidate-row strong{font-size:13px;font-weight:500}
.candidate-row p{font-size:12px;color:var(--warn);margin-top:8px}
.candidate-row small{display:block;color:var(--muted);font-size:11px;margin-top:6px}
.storage-pipeline{display:flex;align-items:center;gap:16px;padding:24px 0;flex-wrap:wrap}
.storage-pipeline>span{display:flex;gap:10px;align-items:center;color:var(--p-accent);font-size:12px}
.storage-pipeline>i{font-style:normal;color:#8a9d8b}
.command-dialog{width:min(600px,calc(100% - 32px));max-height:min(700px,80dvh);margin:12vh auto auto;padding:0;border:1px solid #afc2b5;border-radius:10px;background:#fcfdf9;color:var(--ink);box-shadow:0 30px 120px #071f2933;overflow:hidden}
.command-dialog::backdrop{background:#0e292c66;backdrop-filter:blur(5px)}
.command-search{display:flex;gap:14px;align-items:center;padding:20px 22px;border-bottom:1px solid var(--line)}
.command-search>span{font-size:25px;color:var(--p-accent)}
.command-search input{border:0;box-shadow:none;background:transparent;padding:8px 0;font-size:16px}
.command-search input:focus{box-shadow:none}
.command-search button{border:1px solid #c5d4c9;background:transparent;color:var(--muted);border-radius:3px;padding:5px;font:10px var(--font-mono)}
.command-results{padding:10px;max-height:50dvh;overflow-y:auto}
.command-results a{display:flex;gap:14px;padding:16px 14px;align-items:center;font-size:14px;border-radius:5px}
.command-results a:hover,.command-results a:focus-visible{background:#eaf2e7;color:var(--p-accent);outline-offset:-2px}
.command-results a>small{font:10px var(--font-mono);margin-left:auto;color:var(--muted)}
.command-results a>.icon:last-child{width:14px}
.command-footer{display:flex;justify-content:space-between;gap:16px;font-size:10px;color:var(--muted);padding:14px 24px;border-top:1px solid var(--line)}
.command-empty{padding:24px;font-size:13px;color:var(--muted)}
.mobile-menu-head{margin-bottom:36px}
.menu-kicker{font-size:11px;letter-spacing:.12em;color:var(--muted);margin-bottom:12px}
.mobile-nav nav a{display:flex;align-items:center;gap:18px;font-size:22px;padding:18px 0;line-height:1.5}
.mobile-nav nav a>span{display:flex;align-items:center;gap:16px}
.mobile-nav nav a>span small{font:10px var(--font-mono);color:var(--muted)}
.mobile-nav nav a>.icon{display:none}
.mobile-nav nav a b{font-size:18px;font-weight:400;margin-left:auto;color:var(--muted)}
.mobile-nav nav a[aria-current=page]{color:var(--p-accent)}
.mobile-menu-footer{display:flex;justify-content:space-between;gap:20px;margin-top:32px;font-size:11px;color:var(--muted)}
.mobile-menu-footer button{border:0;background:transparent;font-size:11px}
.sidebar-menu-close{color:#eaf4ed!important;background:#ffffff10!important;border-color:#ffffff26!important}

@media(min-width:1251px){.admin-layout .metric-grid:not(.user-metrics):not(.storage-metrics):not(.promotion-metrics){grid-template-columns:repeat(3,minmax(0,1fr))}
.admin-layout .metric em{font-size:11px;min-height:0}
.admin-layout .metric{padding:24px}
.admin-layout .metric strong{font-size:32px}
.admin-layout .metric-grid.user-metrics .metric strong,.admin-layout .metric-grid.storage-metrics .metric strong{font-size:24px}
.admin-layout .metric-grid.user-metrics .metric:nth-child(3) strong{font-size:17px}
}

@media(max-width:1250px){.admin-layout .overview-layout{grid-template-columns:1fr}
.admin-layout .service-panel{display:block}
.service-list{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
.quick-links{display:flex;gap:24px;flex-wrap:wrap}
.admin-layout .user-metrics,.admin-layout .storage-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:1100px){.admin-layout{grid-template-columns:216px minmax(0,1fr)}
#admin-sidebar{padding-inline:12px}
.sidebar-search kbd{display:none}
.sidebar-brand{font-size:14px}
.admin-user-forms{grid-template-columns:1fr}
.admin-user-forms>.panel+.panel{margin-top:0}
.nav-search>span{margin-right:0}
.header-row{gap:16px}
}

@media(max-width:850px){.nav-shelf{display:none}
.header-row{height:72px}
.nav-search{margin-left:auto}
#account-nav{margin-left:0}
.app-main{padding-top:32px}
.page-head h1{font-size:30px}
.hero-layout{gap:40px}
.top-nav{display:none}
.metric strong{font-size:25px}
.admin-layout .page-head h1{font-size:28px}
.user-tabs{gap:24px}
.candidate-row{align-items:flex-start}
}

@media(max-width:700px){.admin-layout{display:block}
#admin-sidebar{width:100%;inset:0;height:100dvh;padding:24px 28px;box-shadow:none;z-index:70}
.sidebar-brand{display:inline-flex;margin-bottom:28px}
.sidebar-menu-close{align-self:flex-end;margin-bottom:20px}
.sidebar-search{margin-bottom:24px}
#admin-sidebar nav{grid-template-columns:1fr 1fr;gap:6px;margin-bottom:24px}
#admin-sidebar nav a{font-size:13px;padding:14px}
.nav-group-label{margin-left:14px}
.sidebar-bottom{margin-top:20px}
.admin-topbar{height:72px}
.admin-layout .page-head h1{font-size:27px}
.admin-layout .metric-grid.user-metrics,.admin-layout .metric-grid.storage-metrics{grid-template-columns:1fr 1fr}
.admin-layout .data-table,.admin-layout .data-table tbody{display:block;width:100%;min-width:0}
.admin-layout .data-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.admin-layout .data-table tbody tr{display:grid;grid-template-columns:1fr 1fr;padding:20px;gap:16px;border-bottom:1px solid var(--line)}
.admin-layout .data-table td{display:block;border:0;padding:0;min-width:0;white-space:normal;overflow-wrap:anywhere}
.admin-layout .data-table td::before{content:attr(data-label);display:block;font-size:10px;color:var(--muted);margin-bottom:7px}
.admin-layout .data-table td:first-child,.admin-layout .data-table td:last-child{grid-column:1/-1}
.admin-layout .data-table td.empty-cell::before{display:none}
.admin-layout .data-table td.empty-cell{padding:24px 0}
.user-profile-head{flex-wrap:wrap}
.user-profile-head>div{flex:1}
.user-profile-head>.button{margin-left:76px}
.user-profile-head h2{font-size:21px}
.user-metrics .metric:nth-child(3) strong{font-size:15px}
.user-state-line>span:last-child{flex-basis:100%}
.user-tabs{gap:0;justify-content:space-between}
.user-tabs button{font-size:12px}
.user-workspace{padding-top:28px;margin-top:28px}
.storage-pipeline{gap:12px}
.storage-pipeline>span{font-size:11px}
.storage-pipeline>i{display:none}
.candidate-row{flex-direction:column;gap:16px}
.command-dialog{margin-top:10vh}
.page-head .eyebrow{font-size:9px}
.command-footer{font-size:9px}
.admin-user-forms{gap:20px}
}

@media(max-width:540px){.header-row{gap:10px}
.header-row .brand{font-size:14px;gap:8px}
.header-row .brand b{display:none}
.header-row .nav-search{padding:7px 10px;min-height:36px;font-size:18px}
.nav-search>span,.nav-search>kbd{display:none}
.header-row #account-nav .account-email{display:none}
.header-row #account-nav .button{font-size:10px}
.header-row .menu-toggle{font-size:10px}
.page-head h1{font-size:28px}
.page-head .eyebrow{margin-bottom:8px}
.metric strong{font-size:23px}
.metric{padding:19px 17px}
.metric-grid>.metric:first-child::after{width:80px;height:80px;right:-24px;top:-20px}
.auth-copy h1{font-size:34px}
.plan-card .price{font-size:44px}
.app-main .page-head>.button{white-space:normal;min-height:40px}
.command-results a{font-size:14px}
.mobile-nav{padding:24px}
.mobile-menu-head .brand{font-size:15px}
.mobile-nav nav a{font-size:21px;padding-block:17px}
.admin-layout .metric em{font-size:10px}
.admin-layout .metric strong{font-size:23px}
.admin-layout .metric-grid{gap:12px}
.admin-layout .user-metrics .metric:nth-child(3) strong{font-size:15px}
.service-list{grid-template-columns:1fr}
.form-actions .button{flex:1}
.pagination{font-size:10px;gap:8px}
.pagination .button{padding-inline:10px;font-size:10px}
.user-tabs button{font-size:11px}
.form-preview{font-size:11px}
}

@media(prefers-reduced-motion:reduce){.quota-fill,.chart-dot{transition:none}
}

button.text-link{border:0;background:transparent;padding:8px 0;min-height:36px;cursor:pointer;text-align:left}
#admin-sidebar nav a{padding-block:10px}
.sidebar-bottom{padding-top:16px}
.user-tabs button:focus-visible{outline-offset:3px}
.admin-body .panel>form>.button{margin-top:8px}

:root{--font-text:"Geist","Noto Sans CJK SC","PingFang SC","Microsoft YaHei",system-ui,sans-serif;--font-display:var(--font-text)}

#admin-sidebar :focus-visible{outline-color:#d4efb7}
.user-workspace .panel-heading>select{width:auto;max-width:160px}
.command-dialog a:focus{outline:2px solid var(--p-accent);outline-offset:-2px}
.admin-layout .data-table td small{white-space:normal}
.users-panel td:first-child{min-width:220px}

@media(max-width:700px){.users-panel td:first-child{min-width:0}
.user-workspace .panel-heading{flex-wrap:wrap}
.user-workspace .panel-heading>select{width:100%;max-width:none}
}

@media(max-width:700px){.admin-layout .data-table tbody tr:has(>td:nth-child(2):last-child)>td{grid-column:auto}}
@media(max-width:1250px){
.admin-layout .data-table,.admin-layout .data-table tbody{display:block;width:100%;min-width:0}
.admin-layout .data-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.admin-layout .data-table tbody tr{display:grid;grid-template-columns:1fr 1fr;padding:20px;gap:16px;border-bottom:1px solid var(--line)}
.admin-layout .data-table td{display:block;border:0;padding:0;min-width:0;white-space:normal;overflow-wrap:anywhere}
.admin-layout .data-table td::before{content:attr(data-label);display:block;font-size:10px;color:var(--muted);margin-bottom:7px}
.admin-layout .data-table td:first-child,.admin-layout .data-table td:last-child{grid-column:1/-1}
.admin-layout .data-table tbody tr:has(>td:nth-child(2):last-child)>td{grid-column:auto}
.admin-layout .data-table td.empty-cell::before{display:none}.admin-layout .data-table td.empty-cell{padding:24px 0}
.users-panel td:first-child{min-width:0}
}
.storage-local-detail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:24px 0 0;padding-top:24px;border-top:1px solid var(--line);font-size:11px}.storage-local-detail dt{color:var(--muted);margin-bottom:10px}.storage-local-detail dd{margin:0;font:12px var(--font-mono)}
@media(max-width:1100px){.storage-local-detail{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Reserve both grid tracks during session lookup so authentication cannot move the workspace. */
.admin-workspace{grid-column:2}.admin-layout:has(.admin-login) .admin-workspace{grid-column:auto}

.admin-layout .data-table td{white-space:normal;overflow-wrap:anywhere}.user-label>span:last-child{min-width:0;overflow-wrap:anywhere}.users-panel .data-table td:first-child{max-width:280px}
/* Operator confirmation and time-window drilldowns share the workspace dialog system. */
.admin-confirm-dialog,.insight-dialog{width:min(540px,calc(100% - 32px));max-height:90dvh;padding:0;border:1px solid #bdcfc1;border-radius:9px;background:#fcfdf9;color:var(--ink);box-shadow:0 24px 100px #09292c33;overflow:auto;font:inherit}
.insight-dialog{width:min(900px,calc(100% - 32px))}.admin-confirm-dialog::backdrop,.insight-dialog::backdrop{background:#0e292c66;backdrop-filter:blur(5px)}
.dialog-heading{display:flex;align-items:flex-start;gap:16px;padding:24px;border-bottom:1px solid var(--line)}.dialog-heading>div{min-width:0;flex:1}.dialog-heading h2{margin:7px 0 0;font-weight:500;font-size:23px}.dialog-heading .small-text{margin-top:10px}.dialog-close{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border:1px solid var(--line);border-radius:5px;background:white;color:var(--muted);font:22px var(--font-text)}.confirm-symbol{display:grid;place-items:center;width:38px;height:38px;background:#eaf3e8;color:var(--p-accent);border-radius:6px;flex:0 0 38px}.confirm-summary{padding:24px 24px 0;font-size:13px;color:var(--muted);overflow-wrap:anywhere}.admin-confirm-dialog form{padding:24px}.admin-confirm-dialog .footer-note{margin:-8px 0 24px}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.dialog-actions .button{min-height:44px}.insight-dialog-body{padding:24px;max-height:68dvh;overflow:auto}.insight-detail-summary{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.insight-detail-summary strong{font:28px var(--font-mono);color:var(--p-accent)}.insight-detail-summary>span{font-size:11px;color:var(--muted);line-height:1.7}.insight-dialog .pagination{margin:24px 0 0}.insight-dialog .data-table{min-width:0;width:100%;table-layout:fixed}.insight-dialog .data-table th:first-child{width:65%}.insight-dialog .data-table td{white-space:normal;overflow-wrap:anywhere;padding:18px}.insight-dialog .data-table th{padding:16px 18px}.insight-ranges{display:flex;gap:6px;flex-wrap:wrap;align-items:center;padding:0 0 22px}.insight-ranges button{font-size:12px;min-height:38px;padding:9px 14px;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--muted)}.insight-ranges button[aria-pressed=true]{border-color:#bdcfc1;background:#edf4e9;color:var(--p-accent)}.insight-ranges button:hover{background:#edf4e9;color:var(--p-accent)}#insight-load-status{font-size:10px;color:var(--muted);margin-left:auto}.chart-hit{cursor:pointer;outline:none}.chart-hit:focus .chart-dot{r:6;fill:var(--p-accent);stroke-width:3;stroke:#b1d4bd}.chart-hit:hover .chart-dot{r:5;fill:var(--p-accent)}.remark-label{display:inline-flex;font:9px var(--font-text);padding:2px 5px;border:1px solid #c9dbcb;border-radius:3px;color:var(--p-accent);background:#f1f7ed;margin-left:8px;white-space:nowrap;vertical-align:middle}.admin-layout .overview-kpis .metric{padding:18px 22px}.admin-layout .overview-kpis .metric strong{font-size:27px}.admin-layout .overview-kpis .metric em{min-height:0}.insight-point-picker{display:flex;align-items:center;gap:12px;margin-top:22px;border-top:1px solid var(--line);padding-top:20px}.insight-point-picker select{max-width:250px}.insight-point-picker .button{flex-shrink:0}.client-detail-note{font-size:11px;color:var(--muted);margin-top:12px}
@media(max-width:700px){.insight-ranges{gap:2px}.insight-ranges button{flex:1;padding-inline:8px;font-size:11px}#insight-load-status{margin:10px 0 0;width:100%}.admin-layout .overview-kpis .metric{padding:17px}.admin-layout .overview-kpis .metric strong{font-size:23px}.dialog-heading{padding:20px;gap:12px}.dialog-heading h2{font-size:21px}.confirm-summary{padding:20px 20px 0;font-size:12px}.admin-confirm-dialog form{padding:20px}.dialog-actions{gap:10px}.dialog-actions .button{flex:1;font-size:12px;padding-inline:10px}.insight-dialog-body{padding:20px;max-height:65dvh}.insight-detail-summary{flex-wrap:wrap;gap:10px}.insight-detail-summary strong{font-size:25px}.insight-dialog .data-table td{padding:16px 12px;font-size:12px}.insight-dialog .data-table th{padding:14px 12px;font-size:10px}.insight-dialog .data-table th:first-child{width:60%}.remark-label{font-size:9px;margin-left:5px}.insight-point-picker{flex-wrap:wrap}.insight-point-picker select{max-width:none}.insight-point-picker .button{width:100%}}
@media(max-width:540px){.chart-hit>circle:first-child{r:6}.overview-kpis>.metric:last-child{grid-column:1/-1}}

/* V / internal membership: one quiet entry, no public catalogue. */
.brand-member{font:10px var(--font-text);letter-spacing:.08em;color:var(--muted);margin-left:8px}.sidebar-brand .brand-member{color:#b6d1cd}.auth-only .app-main{min-height:calc(100dvh - 190px)}
.v-auth-layout{display:grid;grid-template-columns:1fr minmax(340px,480px);gap:clamp(48px,8vw,132px);align-items:center;padding:36px 0 64px;max-width:none;margin:auto}.v-wordmark{display:block;font:500 100px/.9 var(--font-text);letter-spacing:-.07em;color:var(--p-accent);margin-bottom:52px}.v-wordmark>span{color:#b8d3b0}.v-auth-intro .eyebrow{font-size:10px;letter-spacing:.19em}.v-auth-intro h1{font-size:clamp(36px,4vw,52px);font-weight:500;line-height:1.3;letter-spacing:-.04em;margin:16px 0 24px}.v-auth-intro>p:not(.eyebrow){font-size:15px;line-height:1.9;color:var(--muted);max-width:360px}.v-access-note{display:flex;align-items:center;gap:12px;margin-top:44px;padding-top:24px;border-top:1px solid var(--line);font-size:11px;color:var(--muted);max-width:320px}.v-access-note svg{width:18px;color:var(--p-accent)}
.v-auth-panel{padding:32px!important;margin:0!important}.v-auth-tabs{display:flex;gap:28px;border-bottom:1px solid var(--line);margin:0 0 28px}.v-auth-tabs button{position:relative;border:0;background:none;color:var(--muted);font:500 13px var(--font-text);padding:0 0 18px;min-height:40px}.v-auth-tabs button[aria-selected=true]{color:var(--p-accent)}.v-auth-tabs button[aria-selected=true]:after{content:'';position:absolute;height:2px;left:0;right:0;bottom:-1px;background:var(--p-accent)}.v-auth-panel h2{font-size:23px;font-weight:500;margin-bottom:12px}.v-auth-panel #member-form{margin-top:26px}.v-auth-panel .field{font-size:12px}.v-auth-panel .form-error{margin:8px 0;outline-offset:5px}.v-auth-panel .form-error:empty{margin:0}.v-auth-submit{width:100%;justify-content:space-between;min-height:47px;margin-top:20px}.password-field{position:relative}.password-field input{padding-right:64px}.password-field>button{position:absolute;right:10px;bottom:9px;min-height:30px;padding:4px 7px;border:0;background:transparent;color:var(--muted);font:11px var(--font-text)}.password-hint{font-size:10px;color:var(--muted);margin:-6px 0 18px;line-height:1.7}.v-login-tools{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:6px 0 20px;font-size:10px;color:var(--muted)}.v-login-tools .text-link{font-size:11px}.v-back-login{margin-top:24px;font-size:12px}.success-text{color:#17654f!important}.application-success{padding:28px 0;text-align:center}.application-success h2{outline-offset:8px}.application-success>p{overflow-wrap:anywhere;font-size:12px;color:var(--muted);line-height:1.9;margin:16px 0}.application-success .eyebrow{font-size:10px;margin-top:28px}.application-success .button{margin-top:20px}.application-mark{display:grid;place-items:center;width:60px;height:60px;background:#edf5e9;color:var(--p-accent);border:1px solid #c5d7c0;border-radius:12px;margin:auto}.application-mark svg{width:26px;height:26px}.review-filters{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.review-filters button[aria-pressed=true]{background:#e8f2e5;border-color:#b8d0b5;color:var(--p-accent)}.review-panel{border-left:3px solid var(--p-accent)}.review-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.review-application-note{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;color:var(--muted);line-height:1.9}.review-headline{display:flex;justify-content:space-between;align-items:center;gap:16px}.review-date{font-size:11px;color:var(--muted)}
@media(max-width:900px){.v-auth-layout{gap:48px;grid-template-columns:1fr minmax(320px,420px)}.v-wordmark{font-size:80px;margin-bottom:40px}.v-auth-intro h1{font-size:36px}.v-auth-panel{padding:26px!important}}
@media(max-width:700px){.v-auth-layout{grid-template-columns:1fr;gap:28px;padding:12px 0 36px;max-width:460px}.v-wordmark{font-size:58px;margin-bottom:22px}.v-auth-intro h1{font-size:32px;margin:12px 0}.v-auth-intro h1 br{display:none}.v-auth-intro>p:not(.eyebrow){font-size:12px;line-height:1.8}.v-auth-intro .eyebrow{font-size:9px}.v-access-note{display:none}.v-auth-panel{padding:24px!important}.v-auth-panel h2{font-size:22px}.v-login-tools{flex-wrap:wrap;gap:10px}.review-actions .button{flex:1}.review-headline{align-items:flex-start}.brand-member{display:none}}

.v-auth-layout:not([data-auth-view="login"]){align-items:start}.v-auth-layout:not([data-auth-view="login"]) .v-auth-intro{padding-top:40px}@media(max-width:700px){.v-auth-layout:not([data-auth-view="login"]) .v-auth-intro{padding-top:0}}
@media(max-width:700px){.user-profile-head{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px 16px;align-items:start}.user-profile-head .avatar.large{width:48px;height:48px}.user-profile-head>div{grid-column:2}.user-profile-head>.button{grid-column:2;justify-self:start;margin-left:0}}

.v-brand{gap:12px}.v-brand img{width:40px;height:40px;flex:0 0 40px}.v-brand .v-brand-label{font:500 11px/1.5 var(--font-text);letter-spacing:.09em;color:#46686b}.sidebar-brand.v-brand .v-brand-label{font-size:13px;color:#f2f7ef;letter-spacing:.02em}.sidebar-brand.v-brand .v-brand-label small{font-size:10px;color:#b6ccc5;font-weight:400;letter-spacing:.08em;margin-top:5px}.sidebar-brand.v-brand img{outline:1px solid #ffffff26;outline-offset:1px;border-radius:10px}.v-login-methods{display:flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:7px;background:#f3f7f1;margin:24px 0 0}.v-login-methods button{flex:1;min-height:38px;padding:9px 12px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--muted);font:500 12px var(--font-text)}.v-login-methods button[aria-pressed=true]{border-color:#c5d4c6;background:#fff;color:var(--p-accent);box-shadow:0 1px 3px #183e3510}.v-login-methods button:hover{color:var(--p-accent)}.v-auth-layout[data-auth-view=email_login]{align-items:center}.v-auth-layout[data-auth-view=email_login] .v-auth-intro{padding-top:0}
@media(max-width:700px){.v-brand img{width:36px;height:36px;flex-basis:36px}.site-header .v-brand-label{display:none}.v-login-methods{margin-top:20px}.v-login-methods button{font-size:12px;min-height:40px}}
