:root{font-size:112.5%;--bg:#f5f6fa;--surface:#fff;--ink:#202734;--muted:#727b8c;--line:#e6e9f0;--accent:#275cf0;--accent-soft:#edf2ff;--positive:#13754e;--positive-bg:#e9f7ef;--danger:#b74642;--danger-bg:#fff0ed;--sidebar:236px;--safe:env(safe-area-inset-bottom,0px);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none;color-scheme:light}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit;color:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button,a,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #91aaff;outline-offset:3px}h1,h2,h3,p,dl,dd{margin:0}svg{width:1.25rem;height:1.25rem;flex-shrink:0}button{border:0}h1{font-size:2rem;line-height:1.2;letter-spacing:-1px;font-weight:680}h2{font-size:1rem;letter-spacing:-.25px}h3{font-size:0.875rem;line-height:1.5}strong{font-variant-numeric:tabular-nums;font-weight:650}[hidden]{display:none!important}
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:32px 18px;z-index:20}.brand{display:flex;align-items:center;gap:10px;font-size:1.5625rem;font-weight:720;letter-spacing:-1px;padding:0 10px}.brand-mark{position:relative;display:grid;place-items:center;width:36px;height:40px;font-size:2.875rem;line-height:1;color:var(--accent);font-weight:850}.brand-mark span{position:absolute;right:-1px;top:2px;width:7px;height:7px;border-radius:50%;background:var(--ink)}.brand small{font-size:0.5rem;font-weight:600;letter-spacing:1.8px;display:block;margin-top:3px;color:var(--muted)}.sidebar-caption{color:var(--muted);font-size:0.5rem;letter-spacing:1.2px;padding:42px 14px 17px}.nav-item{display:flex;align-items:center;gap:13px;width:100%;padding:16px 18px;margin-bottom:5px;border-radius:9px;text-align:left;background:none;color:var(--muted);font-size:0.8125rem;font-weight:550;min-height:48px}.nav-item[aria-current=page]{background:var(--accent-soft);color:var(--accent)}.nav-item svg{width:1.1875rem;height:1.1875rem}.sidebar-note{margin-top:auto;padding:20px 13px 0;border-top:1px solid var(--line);font-size:0.625rem;color:var(--muted);line-height:1.6}
.workspace{margin-left:var(--sidebar)}.topbar{height:82px;padding:0 44px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:18px;background:var(--surface)}.topbar-label{font-size:0.75rem;color:var(--muted);margin-right:auto}.identity{display:flex;align-items:center;gap:10px;font-size:0.75rem;font-weight:600}.role-badge{font-size:0.625rem;white-space:nowrap;padding:5px 9px;line-height:1.4;background:var(--accent-soft);color:var(--accent);border-radius:5px;font-weight:550}.icon-button{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:var(--surface);flex:none}.icon-button span{display:none}.icon-button svg{width:1.125rem;height:1.125rem}.refresh{font-size:1.4375rem;color:var(--muted)}main{max-width:1400px;margin:auto;padding:38px 44px 25px;min-height:calc(100vh - 133px)}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:29px}.eyebrow{font-size:0.5625rem;letter-spacing:1.4px;color:var(--muted);margin-bottom:11px;font-weight:600}.subtitle{color:var(--muted);font-size:0.8125rem;line-height:1.7;margin-top:10px;max-width:650px}.heading-actions{display:flex;gap:10px;flex:none}.button{background:var(--accent);color:#fff;border:1px solid transparent;border-radius:8px;padding:14px 19px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-size:0.75rem;font-weight:600;line-height:1.5}.button svg{width:1.0625rem;height:1.0625rem}.button.secondary{background:var(--surface);border-color:var(--line);color:var(--ink)}.button.small{font-size:0.625rem;min-height:38px;padding:8px 11px}.button:hover{filter:brightness(.97)}.text-button{background:none;padding:12px 0;color:var(--accent);font-size:0.75rem;display:inline-flex;gap:8px;align-items:center;min-height:48px}.text-button svg{width:1.0625rem}.danger{color:var(--danger)}.button-row,.quick-actions{display:flex;gap:10px;flex-wrap:wrap}.quick-actions{margin-top:20px}
.balance-panel{display:grid;grid-template-columns:1.4fr 1fr 1fr;align-items:center;gap:22px;background:var(--ink);color:#fff;padding:34px;border-radius:13px;position:relative;overflow:hidden;border-top:3px solid var(--accent)}.balance-panel:has(.balance-stat:last-child:nth-child(2)){grid-template-columns:1.6fr 1fr}.overline{display:block;font-size:0.5625rem;letter-spacing:1.5px;color:#bdc7da;margin-bottom:12px}.balance-value{font-size:2.25rem;letter-spacing:-1.4px;line-height:1.3;display:block;overflow-wrap:anywhere}.balance-caption{display:block;font-size:0.625rem;color:#bdc7da;margin-top:10px;line-height:1.6}.balance-stat{padding-left:25px;border-left:1px solid #ffffff25;min-width:0}.balance-stat span{display:block;color:#bdc7da;font-size:0.6875rem;line-height:1.5}.balance-stat strong{display:block;font-size:1.5625rem;margin-top:9px;letter-spacing:-.7px;overflow-wrap:anywhere}.balance-stat.remaining strong{color:#a8c0ff}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:18px 0 27px}.metric{background:var(--surface);border:1px solid var(--line);padding:24px;border-radius:10px;min-width:0}.metric-label{font-size:0.6875rem;color:var(--muted);line-height:1.5;display:block}.metric-number{display:block;font-size:1.5625rem;letter-spacing:-.75px;line-height:1.3;margin-top:11px;overflow-wrap:anywhere}.metric-hint{display:block;font-size:0.5625rem;color:var(--muted);margin-top:8px;line-height:1.65}.panel{border:1px solid var(--line);background:var(--surface);border-radius:11px;padding:26px;min-width:0}.panel-title{margin-bottom:18px}.panel>.text-button{margin-top:12px}.records{display:flex;flex-direction:column}.record{padding:20px 0;border-bottom:1px solid var(--line);min-width:0}.record:first-child{padding-top:3px}.record:last-child{border:0;padding-bottom:3px}.record-top{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:13px;align-items:center}.record-icon{height:37px;width:37px;border-radius:9px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center}.record-icon svg{width:1.125rem}.record-info h3{overflow-wrap:anywhere}.record-info p{font-size:0.625rem;color:var(--muted);margin-top:4px}.record-money{text-align:right;min-width:0}.record-money strong{font-size:1rem;letter-spacing:-.2px;display:block;margin-bottom:5px;overflow-wrap:anywhere}.status{font-size:0.5625rem;border-radius:4px;display:inline-flex;padding:4px 7px;line-height:1.2;white-space:nowrap}.done{background:var(--positive-bg);color:var(--positive)}.cancelled{background:var(--danger-bg);color:var(--danger)}.record.voided .record-money strong{text-decoration:line-through;color:var(--muted)}.record-facts{margin:10px 0 0 51px;display:flex;gap:15px;flex-wrap:wrap;font-size:0.625rem;color:var(--muted);line-height:1.5}.record-details{margin:12px 0 0 51px;font-size:0.6875rem;color:var(--muted)}.record-details summary{cursor:pointer;width:max-content;padding:5px 0}.record-detail-content{padding:10px 0 0;line-height:1.8}.record-detail-content p{overflow-wrap:anywhere}.empty{text-align:center;padding:40px 16px;max-width:520px;margin:auto}.empty>svg{color:#97a8c5;width:1.8125rem;height:1.8125rem;margin-bottom:14px}.empty h3{font-size:0.875rem}.empty p{color:var(--muted);font-size:0.75rem;line-height:1.8;margin-top:8px}.invite-banner{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:23px;padding:23px;border:1px dashed #a9bdea;border-radius:11px;background:var(--accent-soft)}.invite-banner h2{font-size:0.875rem}.invite-banner p{font-size:0.75rem;color:var(--muted);line-height:1.7;margin-top:7px}.invite-banner .button{flex:none}.pagination{display:flex;justify-content:space-between;align-items:center;font-size:0.6875rem;color:var(--muted);padding-top:20px}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.muted{font-size:0.75rem;color:var(--muted);line-height:1.75}.link-input{width:100%;margin:18px 0 15px;border:1px solid var(--line);border-radius:7px;background:var(--bg);padding:13px;font-size:0.75rem;min-width:0}.notice{padding:14px 17px;background:var(--accent-soft);border-left:2px solid var(--accent);font-size:0.6875rem;color:var(--muted);line-height:1.75;margin:20px 0;border-radius:0 7px 7px 0}.team-metrics{display:grid;grid-template-columns:1fr 1fr;gap:15px}.level-row{display:flex;justify-content:space-between;padding:17px 0;border-bottom:1px solid var(--line);font-size:0.75rem}.level-row:last-child{border:0}.segmented{display:flex;gap:4px;margin:25px 0 18px;padding:4px;border:1px solid var(--line);border-radius:8px;background:var(--surface);width:max-content;max-width:100%}.segment{padding:10px 18px;border-radius:5px;background:none;color:var(--muted);font-size:0.6875rem;min-height:40px}.segment[aria-pressed=true]{background:var(--accent-soft);color:var(--accent)}.search-form{display:flex;gap:9px;margin:20px 0}.search-form input{width:100%;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:12px 15px;font-size:0.75rem;min-width:0}.people-list{display:flex;flex-direction:column;gap:10px}.person{background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:18px;display:grid;grid-template-columns:35px minmax(0,1fr) auto;align-items:start;gap:13px}.person-avatar{background:var(--accent-soft);color:var(--accent);width:35px;height:35px;border-radius:8px;display:grid;place-items:center;font-size:0.8125rem;font-weight:600}.person-name h3{font-size:0.8125rem;overflow-wrap:anywhere}.person-name p,.person-name small{font-size:0.625rem;color:var(--muted);margin-top:4px;display:block;line-height:1.7;overflow-wrap:anywhere}.person-side{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.breadcrumbs{display:flex;gap:15px;flex-wrap:wrap}.breadcrumbs .text-button{font-size:0.625rem}
.entry-form{max-width:820px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 22px}.field{min-width:0}.field.wide{grid-column:1/-1}.field label{display:block;font-size:0.75rem;font-weight:600;margin-bottom:9px}.required{color:var(--accent)}.field input,.field textarea{width:100%;border:1px solid #cfd5e2;border-radius:8px;min-height:50px;padding:12px;background:var(--surface);font-size:0.875rem;min-width:0}.field input:focus{border-color:var(--accent)}.field-hint{font-size:0.625rem;color:var(--muted);line-height:1.65;margin-top:8px}.form-actions{display:flex;gap:10px;padding-top:23px;margin-top:10px;border-top:1px solid var(--line)}.form-error{color:var(--danger);font-size:0.75rem;line-height:1.6;margin:14px 0}.form-error:empty{display:none}.dialog{padding:26px;width:calc(100% - 32px);max-width:480px;max-height:calc(100dvh - 48px);overflow:auto;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:14px;box-shadow:0 24px 120px #11182740}.dialog::backdrop{background:#11182770;backdrop-filter:blur(3px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.dialog-heading h2{font-size:1.125rem;line-height:1.45}.confirmation-agent{font-size:1.25rem;font-weight:650;line-height:1.4;overflow-wrap:anywhere}.confirmation>.muted{margin-top:5px}.confirm-facts{margin:22px 0}.confirm-facts>div{display:flex;justify-content:space-between;gap:20px;padding:11px 0;font-size:0.75rem;border-bottom:1px solid var(--line)}.confirm-facts dt{color:var(--muted)}.confirm-facts dd{text-align:right;font-weight:600;overflow-wrap:anywhere}.confirm-result{padding:20px;border-radius:9px;background:var(--accent-soft)}.confirm-result span{display:block;font-size:0.6875rem;color:var(--muted)}.confirm-result strong{display:block;font-size:1.8125rem;margin-top:9px;color:var(--accent);overflow-wrap:anywhere}.dialog-actions{display:flex;justify-content:flex-end;margin-top:22px}.dialog-actions .button{width:100%}.consent{display:flex;gap:12px;font-size:0.75rem;line-height:1.7;max-width:650px;margin:25px 0}.consent input{width:18px;height:18px;flex:none;margin-top:3px;accent-color:var(--accent)}.outside{max-width:550px;margin:8vh auto}.outside-logo{width:63px;height:63px;background:var(--accent);color:#fff;border-radius:13px;display:grid;place-items:center;font-size:3.1875rem;font-weight:800;margin-bottom:27px}.outside h1{font-size:3.625rem;white-space:pre-line;letter-spacing:-2.8px}.outside p{font-size:0.9375rem;line-height:1.85;color:var(--muted);max-width:450px;margin:23px 0 30px}.outside small{display:block;font-size:0.6875rem;color:var(--muted);margin-top:18px;line-height:1.6}.footer{display:flex;justify-content:space-between;gap:20px;padding:18px 44px 27px;font-size:0.625rem;color:var(--muted);max-width:1400px;margin:auto}.loading{font-size:0.8125rem;color:var(--muted);padding:35px 0}.error-box{padding:25px;background:var(--surface);border:1px solid var(--line);border-radius:10px}.error-box p{font-size:0.8125rem;line-height:1.7;margin-bottom:17px}.toast{position:fixed;bottom:30px;left:calc(50% + 90px);transform:translateX(-50%);background:var(--ink);color:var(--surface);font-size:0.75rem;padding:15px 20px;border-radius:9px;box-shadow:0 10px 40px #0002;max-width:calc(100% - 36px);width:max-content;z-index:200;line-height:1.6}.skip-link{position:fixed;left:20px;top:-100px;background:var(--accent);color:#fff;padding:12px 20px;z-index:100}.skip-link:focus{top:12px}
@media(min-width:1500px){.balance-value{font-size:2.6875rem}.balance-stat strong{font-size:1.8125rem}}
@media(max-width:1100px){:root{--sidebar:200px}.sidebar{padding:29px 11px}.brand{font-size:1.375rem}.brand small{font-size:0.4375rem}.topbar{padding:0 27px}main{padding:30px 27px 22px}.footer{padding-left:27px;padding-right:27px}.balance-panel{padding:24px;gap:17px}.balance-value{font-size:1.9375rem}.balance-stat{padding-left:19px}.balance-stat strong{font-size:1.3125rem}.metrics-grid{gap:11px}.metric{padding:17px}.metric-number{font-size:1.3125rem}.heading-actions .button{font-size:0.6875rem}}
@media(max-width:800px){.sidebar{width:100%;height:68px;bottom:auto;padding:0 20px;border-right:0;border-bottom:1px solid var(--line);flex-direction:row;align-items:center}.brand{padding:0;font-size:1.375rem}.brand-mark{height:33px;width:28px;font-size:2.4375rem}.brand small{font-size:0.4375rem}.sidebar-caption,.sidebar-note{display:none}#navigation{position:fixed;inset:auto 0 0;display:flex;justify-content:space-around;align-items:stretch;gap:2px;border-top:1px solid var(--line);background:var(--surface);padding:6px 10px calc(7px + var(--safe));z-index:30}.nav-item{flex:1;min-width:0;margin:0;padding:9px 3px 6px;min-height:60px;gap:5px;flex-direction:column;justify-content:center;text-align:center;border-radius:7px;font-size:0.5625rem}.nav-item svg{width:1.3125rem;height:1.3125rem}.workspace{margin:68px 0 0}.topbar{height:54px;padding:0 22px}.topbar-label{display:none}.identity{margin-right:auto;font-size:0.6875rem}.topbar .icon-button{width:32px;height:32px}main{padding:26px 22px 20px;min-height:calc(100vh - 244px)}h1{font-size:1.75rem;letter-spacing:-.8px}.eyebrow{font-size:0.5rem;letter-spacing:1px}.page-heading{gap:15px;align-items:flex-start;flex-wrap:wrap;margin-bottom:23px}.subtitle{font-size:0.75rem;margin-top:8px}.heading-actions{width:100%}.heading-actions .button{font-size:0.75rem}.balance-panel{gap:20px;padding:23px;grid-template-columns:1fr 1fr}.balance-panel:has(.balance-stat:last-child:nth-child(2)){grid-template-columns:1fr}.balance-main{grid-column:1/-1}.balance-value{font-size:2.25rem}.balance-caption{font-size:0.625rem}.balance-stat{border-left:0;border-top:1px solid #ffffff25;padding:17px 0 0}.balance-stat strong{font-size:1.4375rem}.balance-stat span{font-size:0.625rem}.metrics-grid{grid-template-columns:1fr 1fr;margin:14px 0 21px;gap:11px}.metric{padding:18px 16px}.metric-label{font-size:0.625rem}.metric-number{font-size:1.5rem}.metric-hint{font-size:0.5625rem}.panel{padding:21px}.panel-title{font-size:0.9375rem}.record-top{gap:10px;grid-template-columns:32px minmax(0,1fr) auto}.record-icon{width:32px;height:32px}.record-info h3{font-size:0.75rem}.record-info p{font-size:0.5625rem}.record-money strong{font-size:0.9375rem}.record-facts,.record-details{margin-left:42px;font-size:0.5625rem;gap:10px}.record-money .status{font-size:0.5rem}.two-columns{grid-template-columns:1fr;gap:15px}.invite-banner{flex-direction:column;align-items:stretch;padding:21px;gap:19px}.invite-banner .button{align-self:flex-start}.person{padding:16px;grid-template-columns:32px minmax(0,1fr);gap:12px}.person-side{grid-column:2;align-items:flex-start;flex-direction:row;flex-wrap:wrap;align-items:center}.person-avatar{width:32px;height:32px}.person-name h3{font-size:0.75rem}.person-name p,.person-name small{font-size:0.5625rem}.form-grid{gap:23px 16px}.field input{font-size:1rem}.field label{font-size:0.6875rem}.field-hint{font-size:0.625rem}.footer{padding:12px 22px calc(102px + var(--safe));font-size:0.5625rem}.footer span:last-child{display:none}.toast{bottom:calc(100px + var(--safe));left:50%;font-size:0.6875rem}.outside{margin:35px auto}.outside h1{font-size:3rem}.outside p{font-size:0.8125rem}}
@media(max-width:430px){.form-grid{grid-template-columns:1fr}.field.wide{grid-column:auto}.record-top{grid-template-columns:30px minmax(0,1fr)}.record-money{grid-column:2;text-align:left;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.record-money strong{font-size:1.0625rem;margin:0}.record-facts,.record-details{margin-left:40px}.balance-value{font-size:2.125rem}.balance-stat strong{font-size:1.3125rem}.panel{padding:19px}.metric-number{font-size:1.4375rem}.entry-form .form-actions{flex-wrap:wrap}.entry-form .form-actions .button{flex:1}.dialog{padding:22px}.dialog-heading h2{font-size:1.0625rem}.segment{padding:9px 13px}.link-input{font-size:0.6875rem}.button-row .button{flex:1}}
@media(max-width:350px){main{padding:23px 16px 18px}.topbar{padding:0 16px}.sidebar{padding:0 16px}h1{font-size:1.5625rem}.balance-panel{padding:20px;gap:15px}.balance-value{font-size:1.9375rem}.balance-stat strong{font-size:1.1875rem}.metric{padding:15px 13px}.metric-number{font-size:1.3125rem}.metric-label{font-size:0.5625rem}.button{font-size:0.6875rem;padding:11px 14px}.nav-item{font-size:0.5rem}.record-info h3{font-size:0.6875rem}.record-money strong{font-size:1rem}.segment{font-size:0.625rem;padding:9px 11px}.outside h1{font-size:2.6875rem}}
html[data-theme=dark]{--bg:#10141c;--surface:#181e29;--ink:#e9edf6;--muted:#a0aec3;--line:#2c3647;--accent:#5887ff;--accent-soft:#202f4e;--positive:#75d8ad;--positive-bg:#203b33;--danger:#f29e98;--danger-bg:#3d2a2b;color-scheme:dark}html[data-theme=dark] .balance-panel{background:#1d2d4e;border-top-color:#5887ff}html[data-theme=dark] .button:not(.secondary){background:#366be9;color:white}html[data-theme=dark] .field input{border-color:#3d4c64}html[data-theme=dark] .toast{background:#e9edf6;color:#181e29}html[data-theme=dark] .outside-logo{background:#366be9}
.period-control{padding:16px 19px;background:var(--surface);border:1px solid var(--line);border-radius:12px;margin-bottom:22px}.period-top{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.period-title{font-size:0.6875rem;color:var(--muted);font-weight:600}.period-presets{display:flex;gap:5px;flex-wrap:wrap}.period-button{min-height:38px;padding:9px 13px;border-radius:7px;background:transparent;color:var(--muted);font-size:0.6875rem;display:flex;align-items:center;gap:7px}.period-button svg{width:0.875rem;height:0.875rem}.period-button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent);font-weight:600}.period-hint{color:var(--muted);font-size:0.625rem;line-height:1.6;margin-top:10px}.period-custom{display:grid;grid-template-columns:minmax(0,180px) minmax(0,180px) auto;align-items:end;justify-content:start;gap:14px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.period-custom .field{min-width:0}.period-custom input{width:100%;min-width:0}.period-custom .button{min-height:48px}.period-error{font-size:0.6875rem;color:var(--danger);grid-column:1/-1}.period-error:empty{display:none}.balance-scope{display:block;color:#b5c3d7;font-size:0.625rem;line-height:1.5;margin-top:7px}
@media(max-width:680px){.period-control{padding:14px;margin-bottom:17px}.period-top{gap:8px}.period-title{width:100%;font-size:0.625rem}.period-presets{gap:3px}.period-button{padding:9px 10px;font-size:0.625rem;min-height:40px}.period-hint{font-size:0.5625rem}.period-custom{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.period-custom .button{grid-column:1/-1;justify-self:start}.period-custom input{padding:10px 6px;font-size:0.875rem}.balance-scope{font-size:0.5625rem}}
.account-layout{max-width:620px}.account-form{display:flex;flex-direction:column;gap:19px}.account-form .panel-title{margin-bottom:0}.account-form .field{position:relative}.account-form input:not([type=checkbox]){min-width:0;width:100%}.account-form .field input[type=password],.account-form .field:has(.password-toggle) input{padding-right:94px}.password-toggle{position:absolute;right:10px;bottom:7px;min-height:32px;background:transparent;color:var(--accent);font-size:0.6875rem;padding:6px}.account-form>.button{width:100%;min-height:50px}.account-form .text-button{align-self:center}.account-form .consent{font-size:0.6875rem;line-height:1.7}.account-divider{display:flex;align-items:center;gap:15px;color:var(--muted);font-size:0.6875rem}.account-divider:before,.account-divider:after{content:'';height:1px;background:var(--line);flex:1}.account-foot{text-align:center;border-top:1px solid var(--line);padding-top:22px}.account-foot .text-button{margin:7px auto 0}.code-form{margin-top:25px}.code-form input{letter-spacing:5px;font-size:1.4375rem;max-width:300px}.step-badge{font-size:0.5625rem;letter-spacing:1.3px;color:var(--positive);margin-bottom:15px;font-weight:600}.account-name{background:none;text-align:left;max-width:230px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:8px 0;font-size:0.75rem;font-weight:600}.account-name:after{content:'⌄';margin-left:7px;color:var(--muted)}.setup-banner{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:15px 18px;display:flex;align-items:center;gap:18px;justify-content:space-between;margin-bottom:20px}.setup-banner p{font-size:0.75rem;line-height:1.6;color:var(--muted)}.account-layout>.panel>.button{margin-top:18px}.account-layout .panel>.text-button{margin-top:12px}.account-layout .confirm-facts dd{overflow-wrap:anywhere}.account-layout .muted{line-height:1.75}
@media(max-width:680px){.account-name{max-width:210px;font-size:0.6875rem}.account-form{gap:18px}.setup-banner{align-items:flex-start;flex-direction:column;gap:12px}.account-form .field input{font-size:1rem}.account-layout .panel{padding:22px}.account-form .consent input{width:17px;flex:none}.account-form .consent{font-size:0.625rem}.code-form input{font-size:1.375rem}}
/* A single header and a compact period picker across web and Telegram. */
html{scroll-padding-top:94px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.topbar{position:fixed;inset:0 0 auto 0;height:82px;padding:0 28px;z-index:40;gap:32px}
.topbar .brand{padding:0;flex:none}.topbar-label{margin-left:35px}.header-actions{display:flex;align-items:center;gap:18px;margin-left:auto;min-width:0}.identity{min-width:0}
.account-name{display:flex;align-items:center;gap:8px;max-width:240px;min-height:48px;padding:9px 10px;border-radius:8px;font-size:0.8125rem;overflow:hidden}.account-name span{min-width:0;overflow:hidden;text-overflow:ellipsis}.account-name:after{margin:0;flex:none}.account-name:hover{background:var(--accent-soft)}
.sidebar{top:82px;padding-top:24px}.sidebar-caption{padding-top:10px}.workspace{padding-top:82px}
.period-control{position:relative;display:flex;align-items:center;gap:14px;padding:0;margin:0 0 22px;background:transparent;border:0;border-radius:0;z-index:25}
.period-title{font-size:0.75rem;width:auto}.period-picker{min-width:0;max-width:calc(100% - 62px)}
.period-trigger{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;min-height:50px;padding:10px 14px;background:var(--surface);border:1px solid var(--line);border-radius:10px;font-size:0.75rem;font-weight:600;min-width:210px;max-width:100%}
.period-trigger::-webkit-details-marker{display:none}.period-trigger>svg{width:1.0625rem;height:1.0625rem;color:var(--muted)}.period-trigger>svg:last-child{margin-left:auto;transition:transform .15s ease}.period-picker[open] .period-trigger>svg:last-child{transform:rotate(180deg)}.period-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.period-menu{position:absolute;left:0;top:calc(100% + 8px);width:min(360px,calc(100vw - 44px));padding:8px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 16px 42px #10182724}
.period-presets{display:grid;gap:3px}.period-option{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:48px;padding:11px 12px;background:transparent;text-align:left;border-radius:8px;font-size:0.75rem;color:var(--muted)}.period-option>svg{width:1rem;height:1rem;visibility:hidden}.period-option[aria-pressed=true]{background:var(--accent-soft);color:var(--accent);font-weight:600}.period-option[aria-pressed=true]>svg{visibility:visible}.period-option:hover,.period-custom-toggle:hover{background:var(--accent-soft)}
.period-custom-toggle{display:flex;align-items:center;gap:10px;width:100%;padding:13px 12px;min-height:50px;margin-top:5px;border-top:1px solid var(--line);background:none;text-align:left;color:var(--accent);font-size:0.75rem}.period-custom-toggle svg{width:1.0625rem;height:1.0625rem}
.period-custom{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin:0;padding:14px 6px 6px;border-top:1px solid var(--line)}.period-custom .field label{font-size:0.6875rem}.period-custom input{display:block;font-size:0.8125rem;padding:10px 7px;min-width:0;width:100%;min-height:48px}.period-custom .button{grid-column:1/-1;width:100%;justify-self:stretch}.period-error{margin:0;font-size:0.6875rem}
@media(max-width:800px){.sidebar{height:0;top:78px;padding:0;border:0;overflow:visible}.workspace{margin:0;padding-top:78px}.topbar{height:78px;padding:0 20px;gap:12px}.topbar .brand{font-size:1.375rem}.topbar .brand small{font-size:0.4375rem}.header-actions{gap:9px}.identity{margin:0}.account-name{max-width:145px;font-size:0.75rem;padding:9px 5px}.topbar .icon-button{width:32px;height:32px}main{min-height:calc(100vh - 190px)}.period-control{gap:12px;margin-bottom:19px}.period-title{font-size:0.6875rem}.period-trigger{min-width:190px;font-size:0.75rem}.period-menu{width:min(360px,calc(100vw - 44px))}}
@media(max-width:380px){.topbar{padding:0 16px;gap:8px}.topbar .brand{font-size:1.3125rem}.header-actions{gap:5px}.account-name{max-width:98px;font-size:0.6875rem}.period-trigger{min-width:0;font-size:0.6875rem}.period-menu{width:calc(100vw - 32px)}}
.topbar .account-name::after{content:none}.topbar .account-name>svg{width:0.875rem;height:0.875rem;stroke-width:2;color:var(--muted);flex:none}
.topbar #refresh{width:44px;height:44px;border:0;background:transparent;border-radius:8px;color:var(--muted)}.topbar #refresh svg{width:1.1875rem;height:1.1875rem}.topbar #refresh:hover{background:var(--accent-soft);color:var(--accent)}
.wallet-heading{margin-bottom:24px}.wallet-heading .muted{margin-top:8px}
.wallet-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:24px}
.wallet-filters{display:flex;gap:4px;background:var(--surface);border:1px solid var(--line);padding:4px;border-radius:11px;max-width:100%}
.wallet-filter{min-height:42px;padding:12px 21px;border-radius:7px;background:transparent;color:var(--muted);font-size:0.75rem}
.wallet-filter[aria-pressed=true]{background:var(--accent-soft);color:var(--accent);font-weight:600}
.wallet-filter:hover{color:var(--accent)}.wallet-toolbar .period-control{margin:0}.wallet-toolbar .period-picker{max-width:none}
.wallet-toolbar .period-menu{left:auto;right:0}
.wallet-count{font-size:0.6875rem;color:var(--muted);margin-bottom:18px}
.wallet-timeline{display:grid;gap:24px}.wallet-date{font-size:0.75rem;font-weight:600;color:var(--muted);margin:0 0 10px 2px}
.wallet-entry{display:grid;grid-template-columns:38px minmax(0,1fr) minmax(100px,auto);column-gap:15px;align-items:start;padding:22px 24px;background:var(--surface);border:1px solid var(--line);border-radius:12px;margin-top:8px}
.wallet-icon{display:grid;place-items:center;height:38px;width:38px;border-radius:10px;background:var(--accent-soft);color:var(--accent)}.wallet-icon svg{height:1.1875rem;width:1.1875rem}
.wallet-entry.is-sale .wallet-icon{background:var(--positive-bg);color:var(--positive)}
.wallet-info{min-width:0;padding-top:2px}.wallet-info h3{font-size:0.875rem;line-height:1.45;overflow-wrap:anywhere}.wallet-description{color:var(--muted);font-size:0.6875rem;line-height:1.6;margin-top:5px;overflow-wrap:anywhere}
.wallet-money{text-align:right;min-width:0}.wallet-money strong{display:block;font-size:1.25rem;font-weight:700;letter-spacing:-.45px;line-height:1.35;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.wallet-entry.is-sale .wallet-money strong{color:var(--positive)}.wallet-status{display:block;font-size:0.625rem;color:var(--muted);line-height:1.5;margin-top:4px}
.wallet-entry.is-voided .wallet-money strong{text-decoration:line-through;color:var(--muted)}.wallet-entry.is-voided .wallet-icon{color:var(--muted);background:var(--bg)}
.wallet-details{grid-column:2/-1;font-size:0.6875rem;color:var(--muted);margin-top:9px}.wallet-details summary{cursor:pointer;width:max-content;padding:7px 0;max-width:100%}.wallet-detail-content{border-top:1px solid var(--line);padding-top:12px;margin-top:5px;line-height:1.85;overflow-wrap:anywhere}
@media(max-width:1050px){.wallet-toolbar{align-items:flex-start;flex-direction:column;gap:14px}.wallet-toolbar .period-control{width:100%}.wallet-toolbar .period-menu{left:0;right:auto}}
@media(max-width:800px){.wallet-heading{margin-bottom:20px}.wallet-toolbar{margin-bottom:20px}.wallet-filter{padding:10px 20px}.wallet-entry{padding:18px;column-gap:12px}.wallet-info h3{font-size:0.8125rem}.wallet-money strong{font-size:1.125rem}.wallet-timeline{gap:20px}}
@media(max-width:500px){.wallet-filters{width:100%}.wallet-filter{flex:1;padding:10px 8px}.wallet-entry{grid-template-columns:32px minmax(0,1fr);padding:17px 16px;column-gap:11px}.wallet-icon{height:32px;width:32px;border-radius:8px}.wallet-money{grid-column:2;text-align:left;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;margin-top:9px}.wallet-money strong{font-size:1.25rem}.wallet-status{margin:0;font-size:0.5625rem}.wallet-description{font-size:0.625rem}.wallet-details{font-size:0.625rem;margin-top:4px}.wallet-date{font-size:0.6875rem}}
/* Public authentication pages have their own layout, outside the dashboard. */
body.auth-mode .sidebar,body.auth-mode .header-actions,body.auth-mode .topbar-label,body.auth-mode .footer{display:none!important}
body.auth-mode .workspace{margin:0;padding:0}body.auth-mode .topbar{position:static;height:88px;justify-content:center;padding:20px;border:0;background:transparent}
body.auth-mode .topbar .brand{font-size:1.6875rem}body.auth-mode .topbar .brand small{font-size:0.5rem}
body.auth-mode main{width:calc(100% - 32px);max-width:504px;min-height:0;padding:8px 0 28px;margin:0 auto}
.auth-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:28px 32px 30px;box-shadow:0 12px 40px #17233d06}
.auth-tabs{display:flex;gap:26px;border-bottom:1px solid var(--line);margin-bottom:24px}
.auth-tab{display:flex;align-items:center;min-height:42px;padding:0 2px 13px;font-size:0.8125rem;color:var(--muted);position:relative}
.auth-tab[aria-current=page]{color:var(--accent);font-weight:650}.auth-tab[aria-current=page]:after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--accent);border-radius:2px}
.auth-tab:hover,.auth-link:hover{color:var(--accent);text-decoration:underline;text-underline-offset:4px}
.auth-intro{margin-bottom:24px}.auth-intro h1{font-size:1.6875rem;letter-spacing:-.8px;line-height:1.25}.auth-intro p{font-size:0.8125rem;color:var(--muted);line-height:1.65;margin-top:10px}
.auth-card>.panel{padding:0;border:0;border-radius:0;background:transparent}.auth-card .account-form{gap:16px}.auth-card .panel-title{font-size:1.0625rem;line-height:1.5}
.auth-card .field label{font-size:0.75rem;margin-bottom:8px}.auth-card .field input{min-height:54px;border-color:var(--line);font-size:0.9375rem;border-radius:9px;padding:13px}
.auth-card .field input::placeholder{color:var(--muted);opacity:.75}.auth-card .field input:focus{border-color:var(--accent)}
.auth-card .field input[type=password],.auth-card .field:has(.password-toggle) input{padding-right:83px}
.auth-card .password-toggle{font-size:0.6875rem;bottom:11px}.auth-card .button{min-height:54px;width:100%;font-size:0.8125rem;border-radius:9px}
.auth-card .form-error{margin:0;font-size:0.75rem}.auth-card .account-divider{font-size:0.6875rem;margin:2px 0}
.auth-link{color:var(--accent);font-size:0.75rem;line-height:1.5}.auth-forgot{align-self:flex-end;margin-top:-6px}
.auth-bottom{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:6px 9px;padding-top:19px;margin-top:3px;border-top:1px solid var(--line);font-size:0.75rem;color:var(--muted);line-height:1.7}
.auth-caption{text-align:center;color:var(--muted);font-size:0.625rem;letter-spacing:.3px;margin-top:22px}
.auth-steps{counter-reset:step;display:grid;gap:16px;list-style:none;margin:0 0 8px;padding:0}.auth-steps li{counter-increment:step;display:flex;gap:12px;align-items:center;font-size:0.8125rem;line-height:1.6}.auth-steps li:before{content:counter(step);display:grid;place-items:center;width:29px;height:29px;flex:none;border-radius:50%;color:var(--accent);background:var(--accent-soft);font-size:0.75rem;font-weight:650}
.auth-help{font-size:0.6875rem;line-height:1.7;color:var(--muted)}.auth-instructions{padding-left:19px;margin:0;color:var(--muted);font-size:0.75rem;line-height:1.85}.auth-instructions li+li{margin-top:6px}
.auth-code{display:flex;flex-direction:column;gap:16px}.auth-code .code-form{margin-top:4px}.auth-code .code-form input{max-width:none;font-size:1.375rem;letter-spacing:5px}.auth-code>.text-button{align-self:center;padding:6px;min-height:36px;margin:0}
.auth-back{align-self:center;min-height:36px;display:flex;align-items:center}.auth-card .consent{margin:4px 0;font-size:0.6875rem}.auth-card .notice{margin:0}.auth-card .step-badge{margin:0}
body.auth-mode .toast{left:50%;bottom:24px}
@media(max-width:600px){body.auth-mode .topbar{height:78px}body.auth-mode main{padding-top:0}.auth-card{padding:23px;border-radius:15px}.auth-intro h1{font-size:1.5625rem}.auth-intro p{font-size:0.75rem}.auth-card .field input{font-size:1rem}.auth-caption{margin-top:18px}}
@media(max-width:350px){.auth-card{padding:20px 18px}.auth-intro h1{font-size:1.4375rem}.auth-tabs{gap:22px}.auth-tab{font-size:0.75rem}.auth-steps li{font-size:0.75rem}}
@media(prefers-reduced-motion:no-preference){.page{animation:appear .18s ease-out}@keyframes appear{from{opacity:.3;transform:translateY(3px)}to{opacity:1;transform:none}}}

/* Keep the consent control fixed-size beside its wrapping label in every form. */
.account-form .consent{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:11px;width:100%;max-width:100%;min-width:0;cursor:pointer}
.account-form .consent input[type=checkbox]{width:18px;height:18px;min-width:18px;min-height:18px;margin:3px 0 0;padding:0;align-self:start;accent-color:var(--accent);cursor:pointer}
.account-form .consent>span{min-width:0;overflow-wrap:anywhere}
/* Profile actions have separate rows and remain inside the card. */
.profile-card .confirm-facts{margin-bottom:0}
.profile-access{margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}
.profile-card .profile-access>.muted{margin:0;font-size:0.75rem;line-height:1.75}
.profile-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin-top:20px}
.profile-actions>.button{width:100%;min-height:48px;margin:0;white-space:normal;text-align:center}
.profile-actions>.profile-logout{color:var(--danger);background:transparent}
.profile-actions>.profile-logout:hover{background:var(--accent-soft)}
.profile-admin-link{display:flex;align-items:center;justify-content:center;min-height:48px;margin-top:14px;color:var(--muted);font-size:0.75rem}
.profile-admin-link:hover{color:var(--accent)}
@media(max-width:800px){.account-layout{padding-bottom:20px}.profile-access{margin-top:20px;padding-top:18px}.profile-actions{margin-top:17px}}

/* Personal referral results stay separate from the global owner directory. */
.referral-summary{margin-top:0;margin-bottom:14px}
.referral-summary .metric:nth-child(2){background:var(--accent-soft)}
.referral-summary .metric:last-child .metric-number{color:var(--accent)}
.referral-pending{font-size:.6875rem;color:var(--muted);line-height:1.7;margin:0 0 26px}
.referral-links{margin:0 0 28px}
.referral-search{margin:4px 0 22px;max-width:520px}
.referral-table-head,.referral-agent{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(120px,.8fr) minmax(140px,.8fr);gap:24px;align-items:center}
.referral-table-head{font-size:.6875rem;color:var(--muted);padding:0 0 15px;border-bottom:1px solid var(--line);line-height:1.5}
.referral-table-head>span:last-child{text-align:right}
.referral-agent{padding:22px 0;border-bottom:1px solid var(--line)}
.referral-agent:last-child{border:0;padding-bottom:0}
.referral-agent-identity{display:flex;gap:13px;min-width:0;align-items:center}
.referral-agent-identity .person-avatar{flex:none}
.referral-agent-name{min-width:0}
.referral-agent-name h3{font-size:.8125rem;overflow-wrap:anywhere}
.referral-agent-name p,.referral-agent-name small{display:block;font-size:.625rem;color:var(--muted);line-height:1.6;margin-top:3px;overflow-wrap:anywhere}
.referral-agent-rate strong{font-size:.8125rem;font-weight:550}
.referral-agent-earned{text-align:right}
.referral-agent-earned strong{font-size:1rem;overflow-wrap:anywhere}
.referral-cell-label{display:none}
.program-directory{margin-top:24px;border-top:1px solid var(--line);padding-top:10px}
.program-directory>summary{font-size:.75rem;color:var(--muted);padding:14px 0;cursor:pointer}
.program-directory-content>.segmented{margin-top:6px}
@media(max-width:800px){
  .referral-pending{margin-bottom:22px}
  .referral-links{margin-bottom:22px}
  .referral-table-head{display:none}
  .referral-agent{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;padding:20px 0}
  .referral-agent:first-of-type{padding-top:0}
  .referral-agent-identity{grid-column:1/-1}
  .referral-agent-rate,.referral-agent-earned{text-align:left}
  .referral-cell-label{display:block;font-size:.625rem;color:var(--muted);line-height:1.5;margin-bottom:5px}
  .referral-search{margin-bottom:24px}
}

/* The personal client invitation is available beside the sales overview. */
.overview-client-link{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,1fr);gap:12px 32px;margin-bottom:26px;align-items:start}
.overview-client-link>.panel-title{grid-column:1;grid-row:1;margin:0}
.overview-client-link>.muted{grid-column:1;grid-row:2;max-width:34em}
.overview-client-link>.link-input{grid-column:2;grid-row:1;margin:0;min-height:50px}
.overview-client-link>.button-row{grid-column:2;grid-row:2;justify-content:flex-end}
.overview-client-link>.button{grid-column:2;grid-row:1 / span 2;align-self:center;justify-self:end}
@media(max-width:800px){
  .overview-client-link{grid-template-columns:minmax(0,1fr);gap:14px;margin-bottom:21px}
  .overview-client-link>.panel-title,.overview-client-link>.muted,.overview-client-link>.link-input,.overview-client-link>.button-row,.overview-client-link>.button{grid-column:1;grid-row:auto}
  .overview-client-link>.button-row>.button{flex:1;min-width:0}
  .overview-client-link>.button{width:100%}
}
@media(max-width:350px){.overview-client-link>.button-row{flex-direction:column}}

/* Larger controls keep their spacing on compact screens. */
.record-top{grid-template-columns:42px minmax(0,1fr) auto}
.record-icon{width:40px;height:40px}
.record-facts,.record-details{margin-left:55px}
.period-picker{max-width:calc(100% - 72px)}
.period-trigger{min-width:224px}
@media(max-width:1100px) and (min-width:801px){.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){
  .record-top{grid-template-columns:36px minmax(0,1fr) auto}
  .record-icon{width:36px;height:36px}
  .record-facts,.record-details{margin-left:46px}
  .period-trigger{min-width:0}
  .topbar .brand{flex-shrink:0}.header-actions{gap:5px;flex:1;justify-content:flex-end}
  .account-name{max-width:125px}.topbar #refresh{width:40px;height:44px}
}
@media(max-width:430px){
  .record-top{grid-template-columns:34px minmax(0,1fr)}
  .record-facts,.record-details{margin-left:44px}
  .wallet-filter{padding:11px 16px}
}
@media(max-width:350px){
  .account-name{max-width:82px;gap:5px}.header-actions{gap:2px}
  .period-control{gap:10px}.period-picker{max-width:calc(100% - 66px)}
  .wallet-filter{padding:10px 12px}
}

/* Centered profile and persistent device sessions. */
.page.account-page{max-width:850px;margin-inline:auto;width:100%}
.account-page .account-layout{max-width:none;width:100%}
.account-page .page-heading{margin-bottom:28px}
.profile-stack{display:grid;gap:22px;min-width:0}
.profile-stack .panel{margin:0;min-width:0}
.profile-stack>.profile-logout{color:var(--danger);width:100%}
.profile-stack>.profile-admin-link{margin:0}
.session-intro{color:var(--muted);font-size:.75rem;line-height:1.6;margin:-8px 0 16px}
.session-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}
.session-row:first-child{padding-top:8px}.session-row:last-child{border-bottom:0}
.session-details{min-width:0}.session-title{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.session-title h3{font-size:.8125rem;line-height:1.5;margin:0}
.session-current{background:var(--accent-soft);color:var(--accent);padding:4px 8px;border-radius:6px;font-size:.5625rem;white-space:nowrap}
.session-method,.session-time{font-size:.6875rem;line-height:1.65;color:var(--muted);overflow-wrap:anywhere;margin:5px 0 0}
.session-row>.text-button{flex-shrink:0;max-width:160px;white-space:normal;line-height:1.6;min-height:44px}
.session-controls{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding-top:20px;margin-top:8px;border-top:1px solid var(--line)}
.session-controls>.button{flex:1;white-space:normal;text-align:center}.session-danger{color:var(--danger)}
.profile-actions>.text-button{justify-self:center;white-space:normal;line-height:1.7;padding:8px;text-align:center}
@media(max-width:600px){.page.account-page{max-width:100%}.session-row{align-items:flex-start;flex-direction:column;gap:6px;padding:18px 0}.session-row>.text-button{align-self:flex-end;margin-top:-4px}.session-controls{align-items:stretch;flex-direction:column}.session-controls>.text-button{text-align:center;justify-content:center}.profile-stack{gap:17px}.session-current{font-size:.625rem}}
