/* Functional portal extensions. The pinned glass dashboard remains unchanged. */
.preview-bar[hidden]{display:none}
body:not(:has(.version-dock)):has(>.preview-bar[hidden])>.shell{min-height:100dvh}
.narrow{max-width:780px}.settings-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:32px;flex-wrap:wrap}
.portal-plans{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;align-items:stretch}.portal-plans .pack{display:flex;flex-direction:column;min-width:0;padding:24px}.portal-plans .price{font-size:36px;line-height:1.3;margin-block:12px 20px;overflow-wrap:anywhere}.price small{font:14px/1.5 Inter,system-ui,sans-serif;display:block;color:var(--muted)}.portal-plans h2{min-height:52px}.portal-plans .badge{display:table;margin-top:8px}.portal-plans ul{padding-left:20px;line-height:1.7;flex:1}.portal-plans li+li{margin-top:12px}.portal-plans .button{margin-top:20px;white-space:normal;min-height:44px}.portal-plans .field{margin-bottom:8px}.recommended{border-color:var(--muted)}
.subscription-section,.support-history{margin-top:48px;padding-top:32px;border-top:1px solid var(--line)}.subscription-section{max-width:780px}.receipt-sheet{max-width:850px;margin-inline:auto}.receipt-sheet .ledger dd{overflow-wrap:anywhere}.receipt-sheet .actions{margin-block:24px}.support-ticket{padding-block:28px;border-bottom:1px solid var(--line);max-width:850px}.support-ticket .section-top{margin-bottom:10px}.support-reply-form{margin-top:24px}
.legal-name-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.account-email{display:grid;gap:6px;margin-bottom:24px;overflow-wrap:anywhere}.age-check{width:24px!important;height:24px!important}.check:has(.age-check){font-size:18px;color:var(--ink);padding-block:12px}.business-declarations{margin-block:28px}.business-declarations .check{margin-block:24px;font-size:16px;color:var(--ink);gap:16px}.business-declarations .check input{width:22px;height:22px}.business-declarations .record-meta{margin-left:38px;line-height:1.6}
.review-stack{display:grid;gap:28px}.document-reader{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--canvas)}.document-reader summary{cursor:pointer;padding:20px;font-size:16px;font-weight:550;min-height:60px;line-height:1.5}.document-reader summary span{display:block;font-size:14px;font-weight:400;color:var(--muted);margin-top:8px}.document-scroll{max-height:360px;overflow-y:auto;padding:24px;border-top:1px solid var(--line);overscroll-behavior:contain;scrollbar-gutter:stable}.document-scroll pre{font:inherit;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.8}.document-scroll p{line-height:1.8}.reader-end{padding-top:24px;color:var(--muted)}.review-stack .check{font-size:16px;color:var(--ink);min-height:44px}.review-stack .check:has(input:disabled){color:var(--muted)}.onboarding-layout .setup-progress{flex-wrap:wrap;row-gap:20px}.onboarding-layout fieldset{min-width:0}.setup-actions .button{min-height:44px}.account-layout .ledger dd{overflow-wrap:anywhere}
.field :is(input,select,textarea){font-size:16px}.field label{font-size:14px}.field small,.record-meta{font-size:13px}.button[aria-busy=true] .icon{animation:portal-refresh .8s linear infinite}.button[aria-busy=true]{cursor:progress}@keyframes portal-refresh{to{transform:rotate(360deg)}}
/* Keep the entire business setup on one centered, readable column. */
#main[data-route=onboarding]>:is(.page-return,.page-head,.onboarding-layout,.narrow){width:min(100%,760px);margin-inline:auto}
#main[data-route=onboarding]>.page-head{justify-content:center;text-align:center}
#main[data-route=onboarding]>.page-head h1{max-width:none}
.onboarding-layout .setup-progress{grid-template-columns:repeat(4,minmax(0,1fr))}
#business-form>[data-business-step]{border:0;margin:0;padding:0;min-width:0}
#business-form [hidden]{display:none}
@media(max-width:1100px){.portal-plans{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.portal-plans{grid-template-columns:1fr}.legal-name-grid{grid-template-columns:1fr;gap:0}.document-scroll{padding:20px;max-height:320px}.settings-footer{align-items:flex-start;flex-direction:column}.business-declarations .check{font-size:16px}.onboarding-layout .setup-progress{display:grid;grid-template-columns:1fr 1fr;font-size:13px}.setup-progress li:after{display:none}.receipt-sheet{padding:22px}.portal-plans h2{min-height:0}}
@media(prefers-reduced-motion:reduce){.button[aria-busy=true] .icon{animation:none}}

/* Smoked glass: softened surroundings, a fine bevel and a single quiet reflection. */
#main[data-route=home] .dashboard-glass::before{display:none}
#main[data-route=home] .dashboard-glass .acrylic-panel{background:linear-gradient(155deg,rgb(255 255 255 / .09),transparent 46%,rgb(255 255 255 / .02)),rgb(18 23 27 / .94);border:1px solid rgb(255 255 255 / .18);border-top-color:rgb(255 255 255 / .34);border-left-color:rgb(255 255 255 / .22);border-radius:16px;backdrop-filter:blur(36px) saturate(115%);-webkit-backdrop-filter:blur(36px) saturate(115%);box-shadow:inset 0 1px 0 rgb(255 255 255 / .1),inset 0 -1px 0 rgb(255 255 255 / .025);transition:background-color 360ms var(--ease),border-color 360ms var(--ease)}
#main[data-route=home] .dashboard-glass .acrylic-panel::before{background:linear-gradient(115deg,rgb(255 255 255 / .07),transparent 34%,transparent 82%,rgb(255 255 255 / .02))}
#main[data-route=home] .dashboard-glass .acrylic-panel:is(:hover,:focus-within){background-color:rgb(23 29 34 / .97);border-top-color:rgb(255 255 255 / .44);border-right-color:rgb(255 255 255 / .24)}
#main[data-route=home] .dashboard-glass .acrylic-panel::after{opacity:.1;filter:saturate(.4) blur(.6px);transition:opacity 420ms var(--ease)}
#main[data-route=home] .dashboard-glass .acrylic-panel:is(:hover,:focus-within)::after{opacity:.18;transform:none}
#main[data-route=home] .dashboard-glass .runs-left-panel.account-summary-panel{display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;text-align:left;gap:14px;padding:clamp(18px,2.7dvh,28px)}
.summary-top{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0}
.summary-balance{display:flex;align-items:center;gap:18px;min-width:0}
#main[data-route=home] .dashboard-glass .summary-balance .home-run-number{margin:0;font-size:clamp(40px,6dvh,67.2px);line-height:1;grid-row:auto;min-width:1ch}
#main[data-route=home] .dashboard-glass .summary-balance h2{font-size:18px;line-height:1.4;margin:0 0 5px}
.summary-hint{display:block;color:var(--muted);font-size:13px;line-height:1.5;max-width:19ch}
.summary-profile{flex:none}.summary-profile .account-dock{padding:0;margin:0}
.summary-profile .account-trigger{display:flex;align-items:center;justify-content:center;width:60px;height:60px;min-height:44px;padding:0;border:0;border-radius:50%;background:transparent}
.summary-profile .account-avatar{width:56px;height:56px;font-size:16px;border:1px solid color-mix(in srgb,var(--ink) 25%,transparent);transition:transform 220ms var(--ease)}
.summary-profile .account-trigger:is(:hover,:focus-visible) .account-avatar{transform:scale(1.05)}
.summary-profile :is(.account-trigger-copy,.account-chevron){display:none}
.account-avatar{position:relative;overflow:hidden}.account-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit}.avatar-initials{position:relative}
.summary-activity{display:grid;gap:8px}
.summary-activity-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:38px;padding:8px 12px;border-radius:8px;background:rgb(255 255 255 / .035);text-decoration:none;font-size:14px;line-height:1.5;transition:background-color 180ms var(--ease)}
.summary-activity-row:hover{background:rgb(255 255 255 / .075)}
.summary-activity-value{display:flex;align-items:center;gap:14px;font-variant-numeric:tabular-nums}.summary-activity-value strong{font-weight:500}.summary-activity-value .icon{width:16px;height:16px;color:var(--muted)}
.dashboard-glass .account-summary-panel::after{display:none}

/* Give every carousel slide enough room instead of clipping the purchase action. */
body:has(#main[data-route=home] .dashboard-glass)>.shell{overflow-y:auto}
body:has(#main[data-route=home] .dashboard-glass) .workspace{height:auto;min-height:100%}
#main[data-route=home] .dashboard-glass{flex:none;grid-template-rows:minmax(230px,auto) minmax(300px,auto)}
#main[data-route=home] .dashboard-glass .promotion-track{flex:none;min-height:auto}
#main[data-route=home] .dashboard-glass .promotion-slide{min-height:252px}

/* Ordered-dither wave field, composed behind the dashboard, never over text. */
.dashboard-background{--dashboard-fade-start:48px;--dashboard-fade-depth:clamp(140px,24vh,240px);position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;background-image:radial-gradient(circle,rgb(188 199 208 / .34) 1px,transparent 1.2px);background-size:4px 4px;--dashboard-mask:linear-gradient(180deg,transparent 0,transparent var(--dashboard-fade-start),rgb(0 0 0 / .08) calc(var(--dashboard-fade-start) + var(--dashboard-fade-depth)*.25),rgb(0 0 0 / .4) calc(var(--dashboard-fade-start) + var(--dashboard-fade-depth)*.6),#000 calc(var(--dashboard-fade-start) + var(--dashboard-fade-depth)),#000 100%);-webkit-mask-image:var(--dashboard-mask);mask-image:var(--dashboard-mask)}
/* Keep the fade continuous: an opaque header would crop it into a hard edge. */
body[data-dashboard=true] #topbar{background:transparent;border-bottom-color:transparent}
.dashboard-background[hidden]{display:none}.dashboard-background.has-canvas{background:none;opacity:.34;mix-blend-mode:screen}
.dashboard-background.has-canvas::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgb(0 0 0 / .12),transparent 22%,rgb(0 0 0 / .42) 100%)}
.dashboard-background canvas{display:block;width:100%;height:100%;image-rendering:pixelated}
body[data-dashboard=true]>.shell{position:relative;z-index:1}body[data-dashboard=true]>.preview-bar{position:relative;z-index:2}
.background-toggle{position:fixed;left:max(24px,env(safe-area-inset-left));bottom:max(16px,env(safe-area-inset-bottom));min-height:44px;border:0;padding:10px 0;background:transparent;color:var(--muted);font:inherit;font-size:13px;text-underline-offset:4px}.background-toggle:hover{color:var(--ink);text-decoration:underline}
@media(max-width:600px){
 body:has(#main[data-route=home] .dashboard-glass)>.shell{overflow-y:auto}
 body:has(#main[data-route=home] .dashboard-glass) .workspace{height:auto;min-height:100%}
 #main[data-route=home]:has(.dashboard-glass){justify-content:flex-start;padding-block:24px 28px}
 #main[data-route=home] .dashboard-glass{flex:none;grid-template-columns:1fr;grid-template-rows:auto;gap:16px}
 #main[data-route=home] .dashboard-glass .runs-left-panel.account-summary-panel{grid-column:1;grid-row:1;min-height:210px;padding:20px}
 #main[data-route=home] .dashboard-glass .new-run-panel{grid-column:1;grid-row:2;min-height:220px;padding:22px}
 #main[data-route=home] .dashboard-glass .reports-panel{grid-column:1;grid-row:3;min-height:220px;padding:22px}
 #main[data-route=home] .dashboard-glass .runs-promotion{grid-column:1;grid-row:4;min-height:250px}
 #main[data-route=home] .dashboard-glass .promotion-slide{padding:22px 22px 8px;min-height:200px}
 #main[data-route=home] .dashboard-glass .promotion-footer{padding-inline:22px}
 .summary-balance{gap:14px}.summary-hint{max-width:16ch}.summary-activity-row{min-height:44px}.background-toggle{left:20px;font-size:12px}
}
@media(prefers-reduced-motion:reduce){.summary-profile .account-avatar{transition:none}.summary-profile .account-trigger:is(:hover,:focus-visible) .account-avatar{transform:none}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){#main[data-route=home] .dashboard-glass .acrylic-panel{background:rgb(20 24 27 / .96)}}
@media(prefers-reduced-motion:reduce){#main[data-route=home] .dashboard-glass .acrylic-panel,#main[data-route=home] .dashboard-glass .acrylic-panel::after{transition:none}}
@media(prefers-reduced-transparency:reduce),(forced-colors:active){#main[data-route=home] .dashboard-glass .acrylic-panel{background:var(--surface);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}#main[data-route=home] .dashboard-glass .acrylic-panel::before,#main[data-route=home] .dashboard-glass .acrylic-panel::after{display:none}}
@media(prefers-reduced-transparency:reduce),(forced-colors:active){.dashboard-background{display:none}.summary-activity-row{background:var(--surface);border:1px solid var(--line)}}

/* Request composition: a calm writing surface beside useful account context. */
#main[data-route=request]{max-width:1200px;padding-block:36px 64px}
#main[data-route=request] .page-head{margin-bottom:32px}
#main[data-route=request] .page-head h1{font-size:clamp(30px,3vw,40px);margin-bottom:10px}
#main[data-route=request] .intro{font-size:15px;max-width:60ch;color:#b9c2cc}
.request-form-layout.request-composer{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:48px;max-width:none;align-items:start}
.request-form.request-sheet{background:linear-gradient(150deg,rgb(255 255 255 / .035),transparent 40%),#171d23;border:1px solid #343f49;border-radius:16px;padding:32px;min-width:0}
.request-brief{border:0;padding:0;margin:0;min-width:0}
.request-brief legend{font-size:20px;font-weight:550;letter-spacing:-.02em;padding:0;margin-bottom:8px}
.request-section-intro{font-size:14px;color:#b9c2cc;margin:0 0 28px;line-height:1.65}
.request-sheet .field{gap:10px;margin-bottom:24px}
.request-sheet .field:last-child{margin-bottom:0}
.request-sheet .field label{font-size:14px;color:#e7ecf1}
.request-sheet .field :is(input,textarea){background:#10161c;border-color:#46525f;border-radius:10px;padding:14px 16px;min-height:52px;transition:border-color 180ms var(--ease),background-color 180ms var(--ease)}
.request-sheet .field :is(input,textarea):hover{border-color:#728190}
.request-sheet .field :is(input,textarea):focus{background:#141c24;border-color:#c0d2e3}
.request-sheet .field :is(input,textarea)::placeholder{color:#9eabb9}
.request-sheet .field textarea{min-height:160px}
.request-sheet .field small{font-size:12px;color:#b9c2cc;line-height:1.7}
.request-input-wrap{position:relative}
.request-input-wrap>span{position:absolute;left:16px;top:16px;color:#9eabb9;pointer-events:none}
.request-sheet .request-input-wrap input{padding-left:46px}
.request-sheet .check-block{border-top-color:#343f49;margin-block:32px 24px;padding-top:28px}
.request-section-heading{display:flex;gap:10px;align-items:center;margin-bottom:16px}
.request-section-heading>span{display:grid;place-items:center;color:#b9c2cc}
.request-section-heading h2{margin:0;font-size:17px}
.request-sheet .check{font-size:13px;line-height:1.75;color:#c4cdd7;gap:14px;margin:20px 0}
.request-sheet .check input{width:21px;height:21px;margin-top:2px}
.request-sheet .check .text-button{color:#edf0f4;text-align:left;white-space:normal}
.request-sheet .form-foot{border-top-color:#343f49;margin-top:28px;padding-top:24px;flex-wrap:wrap}
.request-sheet .form-foot .actions{margin-left:auto}
.request-sheet .form-foot .button{min-height:48px;padding-inline:20px;border-radius:10px}
.request-context{min-width:0}
.request-context-visual{position:relative;overflow:hidden;isolation:isolate;min-height:176px;padding:24px;border-radius:12px;background:#1a232b}
.request-context-visual::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgb(12 18 24 / .45),rgb(12 18 24 / .88)),url('assets/card-backgrounds/new-run.jpg') center / cover;filter:saturate(.35)}
.request-context-visual>img{width:22px;height:26px;margin-bottom:20px;object-fit:contain}
.request-context-visual h2{font-family:'Geist Pixel Square',sans-serif;font-weight:400;font-size:22px;line-height:1.4;letter-spacing:0;margin:0}
.request-summary-ledger{margin:24px 0 0;padding:0 4px}
.request-summary-ledger>div{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:14px 0;border-bottom:1px solid #303a43;font-size:13px;line-height:1.6}
.request-summary-ledger dt{color:#b9c2cc;flex:none}
.request-summary-ledger dd{margin:0;text-align:right;overflow-wrap:anywhere;min-width:0}
.request-next{margin:32px 4px 0}
.request-next h2{font-size:15px;margin:0 0 20px}
.request-next ul{list-style:none;padding:0;margin:0;display:grid;gap:24px}
.request-next li{display:flex;align-items:flex-start;gap:12px}
.request-next li>.icon{width:18px;height:18px;margin-top:2px;color:#b9c2cc}
.request-next h3{font-size:13px;font-weight:550;margin:0 0 6px}
.request-next p{font-size:12px;color:#b9c2cc;line-height:1.7;margin:0}
.request-help{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:#c4cdd7;min-height:44px;margin:28px 4px 0;text-decoration:none}
.request-help:hover{text-decoration:underline}
@media(max-width:1000px){.request-form-layout.request-composer{grid-template-columns:minmax(0,1fr) 240px;gap:28px}.request-form.request-sheet{padding:24px}}
@media(max-width:760px){.request-form-layout.request-composer{grid-template-columns:1fr;gap:32px}.request-context{display:grid;grid-template-columns:1fr 1fr;gap:24px}.request-context-visual{display:none}.request-summary-ledger{margin:0}.request-next{margin:0}.request-help{grid-column:1 / -1;margin:0}#main[data-route=request]{padding:28px 20px 48px}}
@media(max-width:480px){.request-form.request-sheet{padding:24px 20px}.request-context{grid-template-columns:1fr;gap:24px}.request-sheet .form-foot{align-items:stretch}.request-sheet .form-foot .actions{margin:0}.request-sheet .form-foot .button{width:100%}}
@media(prefers-reduced-motion:reduce){.request-sheet .field :is(input,textarea){transition:none}}
@media(forced-colors:active){.request-form.request-sheet{background:Canvas;border-color:CanvasText}.request-context-visual{background:Canvas}.request-context-visual::before{display:none}.request-sheet .field :is(input,textarea){background:Field;border-color:FieldText}}

/* Dashboard V14 video adaptation: Fraser content, dark-only, real local records. */
body[data-portal-shell=customer]{--dashboard-canvas:#161719;--dashboard-panel:#202123;--dashboard-raised:#292a2d;--dashboard-line:#36373b;--dashboard-muted:#b2b3bb;--dashboard-accent:#76a7ff;--dashboard-accent-ink:#101b33;background:#101113}
body[data-portal-shell=customer]>.shell{display:block;background:var(--dashboard-canvas);border-radius:24px;min-height:calc(100dvh - 28px);margin:14px;position:relative}
body[data-portal-shell=customer]:not(:has(.version-dock)):has(>.preview-bar[hidden])>.shell{min-height:calc(100dvh - 28px)}
body[data-portal-shell=customer] #topbar{height:auto;min-height:104px;position:relative;padding:0;border:0;background:transparent;z-index:4}
body[data-portal-shell=customer] .reference-header{display:grid;grid-template-columns:minmax(140px,1fr) auto minmax(180px,1fr);gap:24px;align-items:center;padding:26px 32px;width:100%}
.reference-header .brand{padding:0;width:max-content;gap:9px}
.reference-header .brand span{font-size:24px;font-weight:600;letter-spacing:-.03em}
.reference-header .brand img{width:25px;height:28px}
.workspace-tabs{display:flex;gap:3px;align-items:center;padding:5px;background:var(--dashboard-panel);border-radius:999px;max-width:100%}
.workspace-tabs a{display:flex;align-items:center;justify-content:center;min-height:38px;padding:8px 17px;white-space:nowrap;text-decoration:none;color:var(--dashboard-muted);font-size:13px;font-weight:500;border-radius:999px;transition:background-color 180ms var(--ease),color 180ms var(--ease)}
.workspace-tabs a:hover{color:var(--ink);background:var(--dashboard-raised)}
.workspace-tabs a[aria-current=page]{background:#f0f0f2;color:#171719}
.reference-header .workspace-tools{justify-content:flex-end;gap:8px;min-width:0}
.reference-header .workspace-tools .account-trigger{width:auto;height:auto;min-height:48px;display:flex;gap:10px;padding:5px 12px 5px 6px;border:0;border-radius:999px;background:var(--dashboard-panel);justify-content:flex-start}
.reference-header .workspace-tools .account-trigger:hover{background:var(--dashboard-raised)}
.reference-header .workspace-tools .account-trigger-copy{display:flex;flex-direction:column;gap:0;line-height:1.4;text-align:left;min-width:0;max-width:140px}
.reference-header .workspace-tools .account-trigger-copy strong{font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.reference-header .workspace-tools .account-trigger-copy>span{font-size:10px;color:var(--dashboard-muted);white-space:nowrap}
.reference-header .workspace-tools .account-chevron{display:block;width:14px;height:14px;color:var(--dashboard-muted)}
.reference-header .workspace-tools .account-avatar{width:34px;height:34px;font-size:12px;background:#e3e5e9;color:#141517}
.reference-header .settings-control{display:none}
.workspace-rail{position:absolute;left:24px;top:132px;bottom:32px;width:48px;display:flex;flex-direction:column;align-items:center;gap:40px;z-index:3}
.rail-group{display:flex;flex-direction:column;gap:6px;padding:5px;background:var(--dashboard-panel);border-radius:999px}
.rail-group a{position:relative;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;text-decoration:none;color:var(--dashboard-muted);transition:background-color 180ms var(--ease),color 180ms var(--ease)}
.rail-group a:hover{background:var(--dashboard-raised);color:var(--ink)}
.rail-group a[aria-current=page]{background:#f0f0f2;color:#171719}
.rail-group .icon{width:17px;height:17px}
.rail-group:first-child a{color:var(--dashboard-accent)}
.rail-help{margin-top:auto}
.rail-tooltip{pointer-events:none;opacity:0;position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%);padding:5px 10px;background:#f0f0f2;color:#171719;border-radius:6px;white-space:nowrap;font-size:12px;line-height:1.5;transition:opacity 180ms var(--ease)}
.rail-group a:is(:hover,:focus-visible) .rail-tooltip{opacity:1}
body[data-portal-shell=customer] #main{max-width:1600px;width:100%;margin:0 auto;padding:20px 32px 40px 112px;min-height:calc(100dvh - 132px)}
body[data-portal-shell=customer] #main[data-route=home]{display:block;padding-top:16px}
body[data-portal-shell=customer] .account-popover{inset:92px 46px auto auto}
.fraser-dashboard{font-variant-numeric:tabular-nums;line-height:1.5}
.overview-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:0 0 28px}
.overview-heading h1{font-size:30px;line-height:1.25;letter-spacing:-.035em;font-weight:550;max-width:none;margin:0 0 8px;overflow-wrap:anywhere}
.overview-heading p{font-size:13px;color:var(--dashboard-muted);margin:0;max-width:75ch;overflow-wrap:anywhere}
.overview-heading p>span{padding-inline:8px;color:#777a84}
.fraser-dashboard .dashboard-new{display:none}
.overview-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:stretch}
.overview-panel{min-width:0;background:var(--dashboard-panel);border:0;border-radius:18px;padding:24px}
.overview-panel-title{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:26px}
.fraser-dashboard h2{font-size:14px;font-weight:550;letter-spacing:-.015em;line-height:1.4;margin:0}
.linked-panel{position:relative;isolation:isolate}
.panel-link{color:inherit;text-decoration:none}
.panel-link::after{content:'';position:absolute;inset:0;z-index:1;border-radius:inherit;cursor:pointer}
.linked-panel a:not(.panel-link){position:relative;z-index:2}
.linked-panel .panel-link:focus-visible{outline:none}
.dashboard-tile:focus-visible,.linked-panel:has(.panel-link:focus-visible){outline:2px solid var(--ink);outline-offset:4px}
.allowance-panel{display:flex;flex-direction:column;min-height:290px}
.allowance-value{font-size:58px;line-height:1.12;letter-spacing:-.04em;font-weight:500;margin:22px 0 10px}
.allowance-value>span{display:block;font-size:12px;line-height:1.5;font-weight:400;color:var(--dashboard-muted);letter-spacing:0;margin-top:8px}
.allowance-panel>p{font-size:12px;color:var(--dashboard-muted);margin:0 0 24px}
.fraser-dashboard .button{min-height:40px;padding:9px 14px;gap:7px;font-size:12px;border-radius:999px;border-color:var(--dashboard-line);white-space:nowrap}
.fraser-dashboard .button.primary{background:#eeeef0;color:#18191b;border-color:transparent}
.fraser-dashboard .button.primary:hover{background:#fff}
.fraser-dashboard .button:not(.primary):hover{background:var(--dashboard-raised)}
.fraser-dashboard .button .icon{width:15px;height:15px}
.allowance-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}
.allowance-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--dashboard-line);padding-top:16px;margin-top:20px;font-size:10px;color:var(--dashboard-muted)}
.allowance-foot>span{display:flex;align-items:center;gap:5px}
.allowance-foot .icon{width:13px;height:13px}
.allowance-foot a{color:var(--ink);white-space:nowrap}
.overview-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0}
.overview-metric{display:flex;flex-direction:column;align-items:flex-start;gap:12px;border-radius:18px;padding:20px;background:var(--dashboard-panel);text-decoration:none;min-width:0;transition:background-color 200ms var(--ease)}
.overview-metric:hover{background:#2b2c2f}
.metric-label{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;width:100%;font-size:11px;color:var(--dashboard-muted);line-height:1.5}
.overview-metric>strong{font-size:29px;font-weight:500;line-height:1.2;letter-spacing:-.03em}
.overview-metric>span{font-size:10px;line-height:1.5;color:var(--dashboard-muted);margin-top:auto}
.overview-metric.metric-highlight{background:var(--dashboard-accent);color:var(--dashboard-accent-ink)}
.overview-metric.metric-highlight:hover{background:#8ab6ff}
.metric-highlight :is(.metric-label,span){color:#20375c}
.activity-panel{display:flex;flex-direction:column}
.chart-range select{border:0;border-radius:6px;background:var(--dashboard-raised);color:var(--ink);font-size:10px;padding:7px 6px;min-height:30px;max-width:95px}
.activity-total{display:flex;gap:8px;align-items:baseline;margin-top:16px;flex-wrap:wrap}
.activity-total strong{font-size:25px;line-height:1.2;font-weight:500;letter-spacing:-.03em}
.activity-total>span{font-size:10px;color:var(--dashboard-muted)}
.chart-key{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px;margin:12px 0 10px}
.chart-key>span{display:inline-flex;gap:5px;align-items:center;font-size:9px;color:var(--dashboard-muted)}
.fraser-dashboard i{display:inline-block;flex-shrink:0;width:6px;height:6px;border-radius:50%;background:#aaaeb9}
.fraser-dashboard i.key-ready,.fraser-dashboard i.key-assigned{background:var(--dashboard-accent)}
.fraser-dashboard i.key-held{background:#b9a4e1}
.request-chart{position:relative;min-height:128px;height:128px;margin-top:auto}
.chart-grid{position:absolute;inset:0 0 23px;display:flex;flex-direction:column;justify-content:space-between;color:var(--dashboard-muted);font-size:8px}
.chart-grid span{border-bottom:1px dashed #393a3f;line-height:1}
.chart-columns{position:relative;display:flex;gap:12px;align-items:stretch;height:100%;margin-left:25px;padding-top:4px}
.chart-column{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--dashboard-muted);font-size:8px;line-height:1.5}
.chart-stack{display:flex;flex-direction:column;justify-content:flex-end;width:70%;max-width:27px;flex:1;min-height:0;border-radius:5px 5px 2px 2px;overflow:hidden}
.chart-stack>span{display:block;flex-shrink:0;min-height:0}
.chart-bar-ready{background:var(--dashboard-accent)}
.chart-bar-other{background:#e1e3e9}
.chart-data{margin-top:10px;color:var(--dashboard-muted);font-size:10px}
.chart-data summary{cursor:pointer;width:max-content;min-height:24px;display:flex;align-items:center;gap:5px;text-decoration:underline;text-underline-offset:3px}
.chart-data summary::after{content:'+';font-size:12px;text-decoration:none}
.chart-data[open] summary::after{content:'−'}
.chart-data table{margin-top:12px;font-size:10px;table-layout:fixed}
.chart-data :is(th,td){padding:7px 3px;font-size:10px;background:transparent;border-color:var(--dashboard-line);white-space:normal}
.chart-data caption{text-align:left;margin-bottom:8px}
.allocation-panel{grid-column:1;display:flex;flex-direction:column;align-self:start}
.allocation-panel>.overview-panel-title>.icon{width:16px;height:16px;color:var(--dashboard-muted)}
.allocation-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:24px 0 16px}
.allocation-head>strong{font-size:25px;line-height:1.3;font-weight:500;letter-spacing:-.03em}
.allocation-head>strong>span{font-size:11px;letter-spacing:0;color:var(--dashboard-muted);margin-left:7px;font-weight:400}
.allocation-head>span{font-size:10px;color:var(--dashboard-muted)}
.allocation-meter{height:7px;display:flex;border-radius:999px;background:#aaaeb9;overflow:hidden}
.allocation-meter>span{height:100%}
.meter-assigned{background:var(--dashboard-accent)}
.meter-held{background:#b9a4e1}
.allocation-legend{margin:20px 0 0;display:grid;gap:13px}
.allocation-legend>div{display:flex;align-items:center;justify-content:space-between;font-size:11px}
.allocation-legend dt{display:flex;gap:7px;align-items:center;color:var(--dashboard-muted)}
.allocation-legend dd{margin:0;font-weight:500}
.allocation-plan{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid var(--dashboard-line);padding-top:20px;margin-top:24px}
.allocation-plan>div{min-width:0}
.allocation-plan strong{display:block;font-size:11px;font-weight:500;margin-bottom:6px}
.allocation-plan span{display:block;font-size:10px;color:var(--dashboard-muted)}
.allocation-plan>a{font-size:10px;white-space:nowrap;text-decoration:none;display:flex;gap:5px;align-items:center}
.allocation-plan>a:hover{text-decoration:underline}
.allocation-plan .icon{width:13px;height:13px}
.recent-panel{grid-column:2 / 4;padding:0;align-self:start;overflow:hidden}
.recent-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px 16px}
.recent-controls{display:flex;align-items:center;gap:16px;min-width:0}
.dashboard-search{display:flex;align-items:center;gap:7px;min-width:0;max-width:180px;color:var(--dashboard-muted)}
.dashboard-search .icon{width:14px;height:14px}
.dashboard-search input{min-width:0;width:100%;padding:7px 0;color:var(--ink);background:transparent;border:0;font-size:11px;outline-offset:2px}
.dashboard-search input::placeholder{color:var(--dashboard-muted);opacity:1}
.recent-view-all{display:flex;align-items:center;gap:4px;font-size:10px;white-space:nowrap;text-decoration:none;color:var(--dashboard-muted)}
.recent-view-all .icon{width:13px;height:13px}
.recent-view-all:hover{color:var(--ink);text-decoration:underline}
.recent-table-wrap{position:relative;overflow:auto;padding:0 12px;scrollbar-color:#55575e var(--dashboard-panel)}
.recent-table{min-width:530px;table-layout:fixed;line-height:1.5}
.recent-table thead{background:var(--dashboard-raised)}
.recent-table :is(th,td){padding:13px 12px;font-size:11px;border-color:#313236;background:transparent;text-align:left}
.recent-table thead th{font-size:10px;color:var(--dashboard-muted);font-weight:400;border:0;padding-block:9px}
.recent-table thead th:first-child{border-radius:8px 0 0 8px;width:32%}
.recent-table thead th:nth-child(2){width:24%}
.recent-table thead th:nth-child(3){width:26%}
.recent-table thead th:nth-child(4){border-radius:0 8px 8px 0;width:18%}
.recent-table tbody th{font-weight:450;white-space:normal;overflow-wrap:anywhere}
.recent-table tbody th>a{font-size:11px;text-decoration:none;display:block;color:var(--ink)}
.recent-table tbody tr{position:relative}
.recent-table tbody th>a::after{content:'';position:absolute;inset:0;cursor:pointer}
.recent-table tbody th>a:focus-visible{outline:none}
.recent-table tbody th>a:focus-visible::after{outline:2px solid var(--ink);outline-offset:-3px;border-radius:6px}
.recent-table tbody tr:focus-within{background:#292a2d}
.recent-table tbody th>a:hover{text-decoration:underline}
.recent-table tbody th>span{display:block;font-size:9px;color:var(--dashboard-muted);margin-top:4px}
.recent-table td{color:var(--dashboard-muted);overflow-wrap:anywhere}
.recent-table tbody tr:last-child :is(th,td){border-bottom:0}
.recent-table tbody tr:hover{background:#252629}
.overview-status{display:inline-flex;align-items:center;gap:6px;font-size:10px;white-space:nowrap;color:#d1d2d8}
.overview-status::before{content:'';width:5px;height:5px;border-radius:50%;background:#8e929d;flex-shrink:0}
.overview-status.status-ready::before{background:#b2d5c3}
.overview-status.status-queued::before{background:var(--dashboard-accent)}
.overview-status.status-working::before{background:#a6bce5}
.recent-footer{display:flex;justify-content:space-between;gap:12px;padding:16px 24px 20px;color:var(--dashboard-muted);font-size:10px}
.recent-footer>a{display:flex;align-items:center;gap:5px;text-decoration:none}
.recent-footer>a:hover{color:var(--ink);text-decoration:underline}
.recent-footer .icon{width:12px;height:12px}
.recent-table td.recent-empty{padding:28px 12px;text-align:center;color:var(--ink)}
.recent-empty strong{font-size:13px}
.recent-empty p{font-size:12px;color:var(--dashboard-muted);margin:8px auto 16px}
.overview-footnote{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:24px;font-size:10px;color:var(--dashboard-muted)}
.overview-footnote>a{display:flex;align-items:center;gap:6px;text-decoration:none}
.overview-footnote>a:hover{text-decoration:underline;color:var(--ink)}
.overview-footnote .icon{width:12px;height:12px}
@media(min-width:1600px){body[data-portal-shell=customer] #main{padding-left:120px;padding-right:48px}.overview-grid{gap:22px}.overview-panel{padding:28px}.recent-panel{padding:0}.overview-metric{padding:24px}.overview-metric>strong{font-size:34px}.allowance-panel{min-height:310px}}
@media(max-width:1180px){body[data-portal-shell=customer] .reference-header{grid-template-columns:130px 1fr auto;padding:24px;gap:14px}.workspace-tabs{justify-self:center}.workspace-tabs a{padding-inline:12px;font-size:12px}.reference-header .workspace-tools .account-trigger-copy{display:none}.reference-header .workspace-tools .account-chevron{display:none}.reference-header .workspace-tools .account-trigger{padding:5px}.overview-grid{grid-template-columns:1fr 1fr;gap:16px}.activity-panel{grid-column:2;grid-row:2}.allocation-panel{grid-column:1;grid-row:2;align-self:stretch}.recent-panel{grid-column:1 / -1}.overview-heading h1{font-size:28px}.overview-panel{padding:22px}.recent-panel{padding:0}}
@media(max-width:800px){body[data-portal-shell=customer]>.shell{margin:8px;border-radius:20px}body[data-portal-shell=customer]:not(:has(.version-dock)):has(>.preview-bar[hidden])>.shell{min-height:calc(100dvh - 16px)}body[data-portal-shell=customer] .reference-header{grid-template-columns:1fr auto;gap:20px;padding:22px 24px 16px}.reference-header .brand{grid-row:1;grid-column:1}.reference-header .workspace-tools{grid-row:1;grid-column:2}.workspace-tabs{grid-row:2;grid-column:1 / -1;justify-self:stretch;justify-content:space-between;overflow:auto}.workspace-tabs a{flex:1;padding-inline:14px;min-height:38px}.workspace-rail{display:none}body[data-portal-shell=customer] #main,body[data-portal-shell=customer] #main[data-route=home]{padding:16px 24px 36px}.overview-heading{margin-bottom:24px}.overview-heading h1{font-size:26px}.overview-heading p{font-size:12px}.overview-heading p>span{padding-inline:4px}.overview-panel{padding:22px}.recent-panel{padding:0}.overview-grid{gap:16px}.overview-metric{padding:20px}.recent-toolbar{padding:20px}.recent-footer{padding-inline:20px}body[data-portal-shell=customer] .account-popover{inset:82px 24px auto auto}}
@media(max-width:560px){body[data-portal-shell=customer] .reference-header{padding:20px 16px 12px;gap:18px}.reference-header .brand span{font-size:23px}.workspace-tabs{gap:1px;padding:4px;scrollbar-width:none}.workspace-tabs a{font-size:11px;padding:8px 12px}.reference-header .workspace-tools{gap:5px}body[data-portal-shell=customer] #main,body[data-portal-shell=customer] #main[data-route=home]{padding:18px 16px 30px}.overview-heading{align-items:flex-start;margin-bottom:22px}.overview-heading h1{font-size:25px;line-height:1.3;margin-bottom:8px}.overview-heading p{font-size:12px;line-height:1.7}.overview-heading p>span{display:none}.overview-grid{grid-template-columns:1fr;gap:16px}.allowance-panel{min-height:270px}.overview-metrics{grid-column:1;gap:12px}.overview-metric{padding:20px;gap:12px;min-height:145px}.overview-metric>strong{font-size:30px}.metric-label{font-size:12px}.overview-metric>span{font-size:11px}.activity-panel{grid-row:auto;grid-column:1}.allocation-panel{grid-row:auto;grid-column:1}.recent-panel{grid-column:1}.activity-panel .request-chart{height:165px;min-height:165px;margin-top:14px}.overview-panel{padding:22px}.recent-panel{padding:0}.recent-toolbar{align-items:flex-start;flex-direction:column;gap:12px}.recent-controls{width:100%;justify-content:space-between}.dashboard-search{max-width:220px}.dashboard-search input{font-size:12px}.recent-table-wrap{padding-inline:10px}.recent-footer{flex-direction:column;gap:12px}.overview-footnote{font-size:11px;gap:12px}.allowance-foot{font-size:11px}.allocation-head>span,.allocation-plan span,.chart-key>span{font-size:11px}.chart-range select{font-size:11px;min-height:36px}.chart-data{font-size:11px}.chart-data summary{min-height:36px}.recent-view-all,.recent-footer{font-size:11px}}
@media(prefers-reduced-motion:reduce){.workspace-tabs a,.rail-group a,.rail-tooltip,.overview-metric{transition:none}}
/* Compact, not miniature: secondary dashboard copy remains readable at normal zoom. */
.reference-header .workspace-tools .account-trigger-copy>span{font-size:11px}
.fraser-dashboard :is(.metric-label,.overview-metric>span,.allowance-foot,.activity-total>span,.chart-key>span,.chart-data,.allocation-head>span,.allocation-head>strong>span,.allocation-legend>div,.allocation-plan strong,.allocation-plan span,.allocation-plan>a,.dashboard-search input,.recent-view-all,.recent-footer,.overview-footnote){font-size:12px}
.fraser-dashboard :is(.overview-panel-title h2,.recent-toolbar h2){font-size:14px}
.fraser-dashboard :is(.recent-table tbody th>a,.recent-table td,.chart-data th,.chart-data td){font-size:12px}
.fraser-dashboard :is(.recent-table thead th,.recent-table tbody th>span,.overview-status,.chart-range select,.chart-column,.chart-grid){font-size:11px}
@media(forced-colors:active){.overview-panel,.overview-metric,.workspace-tabs,.rail-group{border:1px solid CanvasText}.overview-metric.metric-highlight,.workspace-tabs a[aria-current=page],.rail-group a[aria-current=page]{background:Highlight;color:HighlightText}.metric-highlight :is(.metric-label,span){color:HighlightText}.chart-stack>span,.allocation-meter>span{forced-color-adjust:none}.overview-status::before{outline:1px solid CanvasText}}

/* State continuity: the selection travels; content never waits for an entrance. */
.workspace-tabs{position:relative;isolation:isolate}
.workspace-tabs>a{position:relative;z-index:1}
.workspace-tab-selection{position:absolute;z-index:0;background:#f0f0f2;border-radius:999px;transform-origin:left center;pointer-events:none}
.workspace-tab-selection[hidden]{display:none}
.workspace-tabs[data-motion-ready] a[aria-current=page]{background:transparent}
.overview-panel{transition:background-color 260ms var(--ease),box-shadow 260ms var(--ease)}
.overview-panel:focus-within{background-color:#242527;box-shadow:inset 0 1px 0 rgb(255 255 255 / .07)}
.dashboard-tile{transition:background-color 240ms var(--ease),box-shadow 260ms var(--ease),transform 260ms var(--ease)}
.overview-metric:focus-visible{box-shadow:inset 0 1px 0 rgb(255 255 255 / .14)}
.fraser-dashboard .button,.reference-header .account-trigger{transition:background-color 220ms var(--ease),border-color 220ms var(--ease),transform 140ms var(--ease)}
.fraser-dashboard .button:active,.reference-header .account-trigger:active{transform:scale(.98)}
@media(hover:hover) and (pointer:fine){
 .overview-panel:hover{background-color:#232426}
 .dashboard-tile:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgb(0 0 0 / .18),inset 0 1px 0 rgb(255 255 255 / .09)}
 .dashboard-tile:active{transform:translateY(0);transition-duration:120ms}
}
.recent-table tbody tr{transition:background-color 220ms var(--ease)}
.chart-columns[data-months="12"]{gap:6px}
.chart-columns[data-months="12"] .chart-column:nth-child(odd)>span{visibility:hidden}
.account-popover{opacity:0;transform:translateY(-4px) scale(.985);transform-origin:top right;transition:opacity 160ms var(--ease),transform 240ms var(--ease),display 240ms allow-discrete,overlay 240ms allow-discrete}
.account-popover:popover-open{opacity:1;transform:translateY(0) scale(1)}
@starting-style{.account-popover:popover-open{opacity:0;transform:translateY(-4px) scale(.985)}}
@media(prefers-reduced-motion:reduce){
 .overview-panel,.dashboard-tile,.recent-table tbody tr,.fraser-dashboard :is(.button,.icon),.reference-header .account-trigger,.account-popover{transition:none}
 .dashboard-tile,.fraser-dashboard .button:active,.reference-header .account-trigger:active,.fraser-dashboard a>.icon,.account-popover:popover-open{transform:none!important}
}
@media(forced-colors:active){.workspace-tab-selection{background:Highlight}.workspace-tabs[data-motion-ready] a[aria-current=page]{color:HighlightText}}
