/* Liquid Glass-inspired web controls. Text and operational data retain stable surfaces. */
html{scrollbar-gutter:stable;scroll-behavior:auto}
:root{--glass:rgba(255,255,255,.78);--glass-solid:#f7f6f3;--glass-edge:#ffffffd9;--glass-shadow:0 8px 24px #4233220c,0 2px 5px #4233220a;--glass-highlight:inset 0 1px 0 #fff,inset 0 -1px 0 #8a67431a}
html[data-theme=dark]{--glass:rgba(49,45,42,.88);--glass-solid:#332f2c;--glass-edge:#b8a99558;--glass-shadow:0 10px 30px #0003,0 2px 5px #0002;--glass-highlight:inset 0 1px 0 #ffffff24,inset 0 -1px 0 #0004}
.powered-brand .provider-technologies{font:inherit;letter-spacing:inherit;color:inherit;margin-left:3px}
.auth-visual .auth-kicker{color:var(--text)}
.sidebar{padding:14px 8px 12px;gap:12px;overflow:visible}
.sidebar .rail{position:relative;isolation:isolate;flex:none;gap:7px;padding:7px 3px;width:48px;overflow:visible;border:1px solid var(--glass-edge);border-radius:30px;background:var(--glass);backdrop-filter:blur(22px) saturate(1.35);-webkit-backdrop-filter:blur(22px) saturate(1.35);box-shadow:var(--glass-shadow),var(--glass-highlight)}
.sidebar .nav-item{width:40px;height:40px;flex-shrink:0;border-color:transparent;background:transparent;z-index:1}
.sidebar .rail .nav-item.active{background:transparent;color:var(--selection-text)}
.sidebar .nav-item:hover{transform:scale(1.04);background:var(--surface-hover)}
.sidebar .rail .nav-item.active:hover{background:transparent}
.rail-indicator{position:absolute;left:3px;width:40px;border-radius:50%;background:var(--selection);box-shadow:inset 0 1px 1px #ffffff26,0 3px 8px #0001;pointer-events:none;z-index:0}
.nav-item .group-dot{position:absolute;right:4px;bottom:8px;width:3px;height:3px;background:currentColor;border-radius:50%;opacity:.65}
.nav-item[aria-expanded=true]{background:var(--surface-hover);outline:1px solid var(--field-border);outline-offset:2px}
.nav-item[aria-expanded=true] .nav-tooltip{display:none}
.rail-bottom{gap:7px;padding:7px 3px;margin-top:20px;background:var(--glass);border:1px solid var(--glass-edge);border-radius:28px;box-shadow:var(--glass-shadow),var(--glass-highlight);backdrop-filter:blur(22px)}
.group-panel{position:fixed;inset:auto;margin:0;width:284px;max-width:calc(100vw - 84px);padding:13px;border:1px solid var(--glass-edge);border-radius:26px;background:var(--glass);color:var(--text);backdrop-filter:blur(30px) saturate(1.35);-webkit-backdrop-filter:blur(30px) saturate(1.35);box-shadow:0 20px 65px #231f2029,var(--glass-highlight);overflow:visible;transform-origin:0 35%}
.group-panel::backdrop{background:transparent;pointer-events:none}
.group-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 3px 10px 8px;font-size:12px;font-weight:600;color:var(--muted)}
.group-panel-heading .icon-button{width:29px;height:29px}
.group-panel-heading .icon-button svg{width:14px;height:14px}
.group-links{display:flex;flex-direction:column;gap:4px}
.group-link{display:grid;grid-template-columns:20px minmax(0,1fr) 14px;align-items:center;gap:12px;width:100%;min-height:46px;padding:11px 13px;text-align:left;border-radius:16px;color:var(--text);font-size:12px;line-height:1.45;transition:background .18s,box-shadow .18s,transform .2s}
.group-link svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.group-link svg:last-child{width:13px;height:13px;opacity:.65}
.group-link:hover{background:var(--surface-hover);box-shadow:var(--glass-highlight);transform:translateX(2px)}
.group-link.active{background:var(--selection);color:var(--selection-text)}
.group-link.active:hover{background:var(--selection)}
.period-tabs{gap:3px;padding:4px;border:1px solid var(--glass-edge);background:var(--glass);border-radius:999px;box-shadow:var(--glass-shadow),var(--glass-highlight);backdrop-filter:blur(20px) saturate(1.3)}
.period-tabs button{min-height:31px;padding:7px 16px;position:relative;transform-origin:center}
.period-tabs .active{box-shadow:inset 0 1px 1px #ffffff33,0 2px 6px #231f2018}
.icon-button,.round-action,.btn.secondary,.chip,.chart-months button{background:linear-gradient(145deg,#ffffff1a,transparent),var(--glass);box-shadow:var(--glass-shadow),var(--glass-highlight);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);transition:transform .22s cubic-bezier(.2,.9,.2,1),background .2s,box-shadow .2s}
.icon-button:hover,.round-action:hover,.btn:hover,.chip:hover{transform:translateY(-1px) scale(1.035);box-shadow:0 9px 22px #42332218,var(--glass-highlight)}
.icon-button:active,.round-action:active,.btn:active,.chip:active{transform:scale(.955)}
.btn.primary{box-shadow:inset 0 1px 1px #ffffff30,0 4px 12px #231f2014;transition:transform .2s,box-shadow .2s}
.header-tools>.profile-button{background:var(--selection)}
.field:focus,.search-field:focus-within{box-shadow:0 0 0 4px #c77b2d17}
dialog.modal{position:fixed;inset:0;margin:auto;width:min(1040px,calc(100vw - 48px));height:min(760px,calc(100dvh - 48px));max-width:none;max-height:none;padding:0;border:1px solid var(--glass-edge);border-radius:30px;background:var(--glass);color:var(--text);box-shadow:0 40px 120px #231f204a,var(--glass-highlight);backdrop-filter:blur(34px) saturate(1.3);-webkit-backdrop-filter:blur(34px) saturate(1.3);overflow:hidden;transform-origin:center}
dialog.modal[open]{display:flex;flex-direction:column}
dialog.modal::backdrop{background:#231f2038;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
html[data-theme=dark] dialog.modal::backdrop{background:#09080773}
.modal-head{flex:0 0 auto;min-height:78px;padding:20px 27px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--control-border);background:transparent}
.modal-head h2{font-size:23px;letter-spacing:-.7px;line-height:1.25;overflow-wrap:anywhere}
.modal-head .icon-button{width:36px;height:36px}
.modal-body{flex:1;min-height:0;max-height:none;padding:22px 27px 28px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.detail-overview{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(200px,1fr);gap:24px;min-height:224px;padding:22px;margin-bottom:24px;border-radius:24px;background:var(--glass-solid);border:1px solid var(--control-border)}
.overview-label{font-size:11px;font-weight:600;color:var(--muted);margin:0 0 16px;line-height:1.5}
.overview-visual{min-width:0;display:flex;flex-direction:column;justify-content:center}
.overview-bars{display:flex;flex-direction:column;gap:10px;min-height:130px;justify-content:center}
.overview-bar>div:first-child{display:flex;justify-content:space-between;gap:10px;font-size:11px;margin-bottom:4px;line-height:1.5}
.overview-bar strong{font-weight:500;white-space:nowrap;font-variant-numeric:tabular-nums}
.overview-bar strong small{font-size:9px}
.overview-bar{border-radius:8px;transition:background .2s,box-shadow .2s}
.overview-bar:hover{background:var(--surface-hover);box-shadow:0 0 0 5px var(--surface-hover)}
.overview-bar:hover .overview-track>span{filter:brightness(1.08)}
.overview-track{height:8px;border-radius:99px;background:var(--chart-track);overflow:hidden}
.overview-track>span{display:block;width:var(--bar);height:100%;border-radius:99px;background:linear-gradient(90deg,#c77b2d,#e3b468)}
.overview-metrics{display:flex;flex-direction:column;gap:14px;justify-content:center;border-left:1px solid var(--control-border);padding-left:24px;min-width:0}
.overview-metrics>div{min-width:0}
.overview-metrics span{display:block;color:var(--muted);font-size:11px;line-height:1.4;margin-bottom:3px}
.overview-metrics strong{display:block;font-size:23px;line-height:1.25;letter-spacing:-.5px;font-variant-numeric:tabular-nums;font-weight:500;overflow-wrap:anywhere}
.overview-metrics strong small{font-size:11px;letter-spacing:0}
.overview-line{height:155px;min-width:0;display:flex;flex-direction:column;gap:8px}
.overview-line .line-svg{flex:1;min-height:60px;height:90px;overflow:visible}
.overview-line .chart-months button{background:transparent;box-shadow:none;padding:3px 6px;font-size:10px}
.overview-symbol{display:flex;gap:22px;align-items:center;min-height:130px;color:var(--text);font-size:18px}
.overview-symbol>svg{width:80px;height:80px;flex-shrink:0;padding:20px;border:1px solid var(--control-border);border-radius:26px;background:linear-gradient(135deg,#e3b46845,#c77b2d0d);fill:none;stroke:var(--accent);stroke-width:1;stroke-linecap:round;stroke-linejoin:round}
.detail-content{min-width:0;background:var(--glass-solid);padding:22px;border:1px solid var(--control-border);border-radius:24px}
.detail-content .detail-grid{margin-top:18px}
.detail-content .empty-state{padding:20px}
.detail-content .modal-actions{margin-bottom:0}
.detail-content .preference-row:first-child{padding-top:0}
.detail-content>p:last-child{margin-bottom:0}
@supports not (backdrop-filter:blur(10px)){.group-panel,.modal,.sidebar .rail,.rail-bottom,.period-tabs{background:var(--glass-solid)}}
@media(max-height:600px) and (min-width:761px){.sidebar{padding-top:8px;gap:6px}.sidebar .rail{gap:3px;padding-top:5px;padding-bottom:5px}.sidebar .nav-item{height:33px;width:40px}.rail-bottom{margin-top:2px;gap:3px}.rail-indicator{border-radius:18px}}
@media(max-width:760px){
 .sidebar{width:76px;align-items:center;padding:14px 8px;gap:12px;background:var(--glass-solid);box-shadow:8px 0 35px #231f2012}
 .sidebar .rail{flex:none;overflow:visible}.rail-bottom{margin-top:16px}
 .nav-tooltip{display:none}.group-panel{width:284px;max-width:calc(100vw - 90px);padding:10px;border-radius:24px}
 .group-link{gap:8px;padding:10px;min-height:47px;font-size:11px}.group-panel-heading{font-size:11px;padding-left:7px}
 .period-tabs{padding:3px}.period-tabs button{padding:6px 12px;min-height:29px}
 dialog.modal{width:calc(100vw - 24px);height:calc(100dvh - 24px);border-radius:26px}
 .modal-head{min-height:66px;padding:16px 18px}.modal-head h2{font-size:20px}
 .modal-body{padding:15px;scrollbar-gutter:auto}
 .detail-overview{grid-template-columns:1fr;gap:18px;padding:18px;margin-bottom:16px;min-height:0;border-radius:20px}
 .overview-metrics{flex-direction:row;flex-wrap:wrap;gap:14px;padding:14px 0 0;border-left:0;border-top:1px solid var(--control-border)}
 .overview-metrics>div{flex:1 1 28%;min-width:70px}.overview-metrics span{font-size:10px}.overview-metrics strong{font-size:18px}.overview-metrics strong small{font-size:9px}
 .overview-label{margin-bottom:12px}.overview-bars{min-height:100px}.overview-symbol{min-height:90px;font-size:16px}.overview-symbol>svg{width:66px;height:66px;padding:16px}
 .detail-content{padding:18px;border-radius:20px}.overview-line{height:150px}
 .overview-line .chart-months{gap:3px}.overview-line .chart-months button{min-width:24px;font-size:9px;padding:3px}
}
@media(max-width:380px){.modal-head{padding:14px}.modal-body{padding:10px}.detail-overview,.detail-content{padding:14px}.overview-metrics strong{font-size:16px}.overview-bar>div:first-child{font-size:10px}.group-link{grid-template-columns:16px minmax(0,1fr) 12px;gap:6px}.period-tabs button{padding:6px 8px}}
@media(max-height:600px){
 .sidebar{gap:6px;padding:8px;overflow:visible;min-height:0}
 .sidebar .rail{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;gap:3px;padding-top:5px;padding-bottom:5px}
 .sidebar .nav-item{height:33px;min-height:33px;width:40px}
 .rail-bottom{flex:0 0 auto;margin-top:0;padding:4px 3px;gap:3px}
 .rail-indicator{border-radius:18px}
}
@media(max-height:600px) and (max-width:760px){.sidebar{height:calc(100dvh - var(--header-height));max-height:calc(100dvh - var(--header-height));top:var(--header-height);bottom:0;overflow:hidden}}
@media(prefers-reduced-motion:reduce){.icon-button,.round-action,.btn,.group-link,.nav-item,.period-tabs button{transition:none!important}.icon-button:hover,.round-action:hover,.btn:hover,.group-link:hover,.sidebar .nav-item:hover{transform:none}}
