:root{--font-ui:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color-scheme:dark;--bg:#111111;--panel:#1b1b1b;--panel2:#212121;--border:#303030;--text:#e9e9e9;--muted:#9a9a9a;--lime:#c0c0c0;--green:#a6a6a6;--red:#b1b1b1;--amber:#b4b4b4;--radius:14px;font-family:var(--font-ui);font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5}button,input,select,textarea{font:inherit}button{cursor:pointer}button,a,input,select,textarea{outline-offset:4px}button:focus-visible,a:focus-visible{outline:2px solid var(--lime)}button{color:var(--text);background:var(--panel2);border:1px solid var(--border);border-radius:8px;padding:9px 13px;font-weight:550;display:inline-flex;gap:8px;align-items:center;justify-content:center;transition:background .15s}button:hover{background:#303030}button:disabled{cursor:not-allowed;opacity:.4}.primary{background:var(--lime);border-color:var(--lime);color:#191919;font-weight:700}.primary:hover{background:#d2d2d2}.ghost{background:transparent}.danger{color:var(--red)}a{color:var(--lime);text-decoration:none}a:hover{text-decoration:underline}svg{display:block;flex-shrink:0}.shell{display:grid;grid-template-columns:222px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:31px 20px 19px;border-right:1px solid var(--border);background:#161616;display:flex;flex-direction:column}.navlabel{font-size:10px;font-weight:700;letter-spacing:1.7px;color:#7b7b7b;margin:0 12px 10px}.nav{display:flex;flex-direction:column;gap:5px;margin-bottom:29px}.nav button{border:0;justify-content:flex-start;background:transparent;color:#aaaaaa;padding:11px 13px;gap:11px;border-radius:8px;font-weight:500}.nav button.active{background:#2e2e2e;color:var(--lime)}.nav button:hover{background:#252525;color:var(--text)}.smalltag{margin-left:auto;font-size:9px;letter-spacing:.3px;background:#292929;padding:2px 5px;border-radius:3px;color:#9b9b9b}.workspacebox{padding:14px;border:1px solid var(--border);border-radius:10px;background:#1c1c1c;margin-top:auto}.workhead{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:600}.dot{height:6px;width:6px;background:var(--lime);border-radius:50%;display:inline-block}.workspacebox p{font-size:11px;color:var(--muted);margin:7px 0 0}.avatarline{display:flex;align-items:center;gap:10px;margin:20px 8px 0}.avatar{background:#2e2e2e;border-radius:8px;color:var(--lime);padding:7px 9px;font-size:12px;font-weight:700}.avatarline small{color:var(--muted);display:block;font-size:10px}.content{min-width:0}.topbar{height:73px;border-bottom:1px solid var(--border);padding:0 35px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);font-size:12px}.topbar strong{color:var(--text);font-weight:500}.topright{display:flex;align-items:center;gap:19px}.privatepill{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);background:#1e1e1e;padding:5px 9px;border-radius:6px;color:#bfbfbf;font-size:11px}.main{padding:31px 35px 40px;max-width:1580px;margin:auto}.pagehead{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:23px}.eyebrow{font-size:10px;letter-spacing:1.6px;color:var(--lime);font-weight:650;margin-bottom:7px}h1,h2,h3,p{margin-top:0}h1{font-family:var(--font-ui);font-size:29px;font-weight:650;letter-spacing:-1px;margin-bottom:5px}h2{font-size:15px;letter-spacing:-.2px;margin-bottom:4px;font-weight:600}h3{font-size:14px;font-weight:600;margin-bottom:7px}.sub{color:var(--muted);font-size:12px;margin:0}.actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.notice{border:1px solid #3b3b3b;background:#212121;color:#b4b4b4;border-radius:8px;padding:10px 13px;font-size:11px;display:flex;align-items:center;gap:10px;margin-bottom:22px}.notice a{margin-left:auto;white-space:nowrap}.notice.warn{border-color:#414141;background:#222222;color:#bebebe}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:23px}.stat{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:19px 19px 17px}.stathead{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:11px}.stathead svg{color:#7c7c7c}.statvalue{font-family:var(--font-ui);font-size:29px;font-weight:600;letter-spacing:-1px;margin:12px 0 7px;font-variant-numeric:tabular-nums}.statmeta{color:var(--muted);font-size:10px}.positive{color:var(--lime)}.negative{color:var(--red)}.grid2{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(270px,1fr);gap:20px;margin-bottom:23px}.equal{grid-template-columns:repeat(2,minmax(0,1fr))}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.panelhead{padding:19px 21px;display:flex;align-items:center;justify-content:space-between;gap:10px}.panelbody{padding:0 21px 21px}.divider{border-top:1px solid var(--border)}.legend{display:flex;gap:15px;flex-wrap:wrap;color:var(--muted);font-size:10px}.legend span{display:flex;align-items:center;gap:6px}.legend i{width:7px;height:7px;border-radius:50%;background:var(--lime)}.chart{width:100%;height:205px;overflow:visible}.chart text{font-family:var(--font-ui);font-size:10px;fill:var(--muted)}.chart .chartline{stroke:var(--lime)}.chartcontainer{padding:0 9px}.chartfooter{display:flex;justify-content:space-between;gap:12px;padding-top:11px;border-top:1px solid var(--border);color:var(--muted);font-size:10px}.chartfooter b{font-weight:500;color:var(--text)}.alertitem{padding:13px 0;border-top:1px solid var(--border);display:flex;gap:10px;align-items:flex-start}.alertitem:first-child{border-top:0;padding-top:0}.alerticon{padding:7px;background:#2a2a2a;border-radius:7px;color:var(--lime)}.alerticon.amber{background:#2a2a2a;color:var(--amber)}.alerticon.red{background:#2a2a2a;color:var(--red)}.alertitem p{font-size:11px;color:var(--muted);margin:3px 0}.alertitem strong{font-size:12px;font-weight:550}.alertitem button{padding:3px 0;color:var(--lime);background:transparent;border:0;font-size:10px}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{color:#909090;font-size:10px;text-transform:uppercase;letter-spacing:.7px;font-weight:550;background:#181818;padding:11px 21px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}td{padding:16px 21px;border-bottom:1px solid #2b2b2b;font-size:12px}tr:last-child td{border-bottom:0}.namecell{display:flex;gap:11px;align-items:center}.firmicon{background:#2a2a2a;color:#afafaf;font-family:var(--font-ui);font-size:12px;font-weight:800;padding:10px;border-radius:8px;min-width:35px;text-align:center}.namecell small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.badge{font-size:10px;padding:3px 7px;background:#2e2e2e;color:#bdbdbd;border-radius:5px;display:inline-flex;align-items:center;gap:5px}.badge.amber{background:#2d2d2d;color:var(--amber)}.badge.red{background:#2e2e2e;color:var(--red)}.badge.muted{background:#2c2c2c;color:#a2a2a2}.progress{background:#303030;height:4px;border-radius:5px;overflow:hidden;margin-top:7px;width:100px}.progress i{display:block;height:100%;background:var(--lime);border-radius:5px}.tdactions{display:flex;gap:5px}.tdactions button{padding:6px 8px;font-size:10px}.toolbar{display:flex;align-items:center;gap:10px;padding:0 21px 17px}.toolbar input{max-width:280px}.tabs{display:flex;gap:5px;background:#151515;border:1px solid var(--border);padding:3px;border-radius:7px}.tabs button{background:transparent;border:0;font-size:11px;padding:5px 11px;color:var(--muted)}.tabs button.selected{color:var(--lime);background:#2d2d2d}.footnote{color:#838383;font-size:10px;padding:14px 0;display:flex;gap:6px;align-items:center}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.formgrid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.field{display:flex;flex-direction:column;gap:6px;font-size:11px;color:#b5b5b5}.field.full{grid-column:1/-1}.field input,.field select,.field textarea,.toolbar input,.toolbar select{width:100%;min-height:37px;background:#141414;border:1px solid #3b3b3b;color:var(--text);border-radius:7px;padding:8px 10px;font-size:12px}.field input:focus,.field select:focus,.field textarea:focus,.toolbar input:focus{outline:1px solid var(--lime);border-color:var(--lime)}.field small{font-size:10px;color:var(--muted);line-height:1.4}.field textarea{resize:vertical;min-height:77px}.formsection{margin:22px 0 12px;border-top:1px solid var(--border);padding-top:17px;color:#d8d8d8;font-size:12px;font-weight:600}.formsection:first-child{margin-top:0;border:0;padding-top:0}.checkfield{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}input[type=checkbox]{accent-color:var(--lime)}.metrics3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0 19px}.metricmini{border:1px solid var(--border);border-radius:9px;padding:13px;background:#181818}.metricmini span{font-size:10px;color:var(--muted)}.metricmini strong{display:block;font-size:21px;font-family:var(--font-ui);margin-top:5px;font-weight:600}.rulecards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:22px}.rulecard{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:20px}.rulecard .ruleprice{font-family:var(--font-ui);font-size:27px;font-weight:650;margin:20px 0 1px}.rulecard dl{margin:18px 0}.rulecard dl div{display:flex;justify-content:space-between;gap:8px;font-size:11px;margin:10px 0}.rulecard dt{color:var(--muted)}.rulecard dd{margin:0;text-align:right}.rulecard button{width:100%}.compare td,.compare th{padding:12px 20px;white-space:normal;min-width:140px}.compare th:first-child,.compare td:first-child{min-width:190px;color:var(--muted)}.checkrow{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid var(--border);font-size:12px}.checkrow:last-child{border-bottom:0}.checkrow small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.checkicon{color:var(--lime);background:#303030;border-radius:50%;padding:3px}.checkicon.no{color:var(--amber);background:#2d2d2d}.callout{background:#232323;border:1px solid #3b3b3b;padding:14px;border-radius:9px;font-size:11px;color:#bdbdbd;line-height:1.6;margin-top:16px}.callout.amber{background:#242424;border-color:#3a3a3a;color:#bdbdbd}.stepitem{display:flex;gap:12px;padding:15px 0;border-bottom:1px solid var(--border)}.stepitem:last-child{border:0}.stepnum{height:25px;width:25px;display:flex;align-items:center;justify-content:center;background:#2d2d2d;color:var(--lime);border-radius:50%;font-size:11px;flex-shrink:0}.stepitem p{font-size:11px;color:var(--muted);margin:4px 0}.stepitem strong{font-size:12px}.integrationgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.integration{padding:24px}.integration .largeicon{color:var(--lime);background:#272727;padding:12px;display:inline-flex;border-radius:11px;margin-bottom:21px}.integration h2{font-size:20px}.integration p{font-size:12px;color:var(--muted);line-height:1.7;margin:12px 0 19px}.integration ul{padding-left:18px;color:#c0c0c0;font-size:11px;line-height:2}.empty{padding:45px 22px;text-align:center;color:var(--muted)}.empty h3{color:var(--text)}.empty p{font-size:12px}.detailhead{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.detailhead button{font-size:11px}.detailgrid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.rulerow{font-size:12px;display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border)}.rulerow span{color:var(--muted)}.storagehead{display:flex;justify-content:space-between;align-items:center;margin:26px 0 16px}.storagehead h2{font-size:17px}.errorbox{background:#2b2b2b;color:var(--red);border:1px solid #4b4b4b;padding:11px;border-radius:7px;font-size:12px;margin:12px 0}.errorbox:empty{display:none}dialog{background:var(--panel);color:var(--text);border:1px solid #494949;border-radius:15px;padding:0;width:640px;max-width:calc(100vw - 28px);max-height:90vh;box-shadow:0 24px 100px #00000088}dialog::backdrop{background:#080808bd;backdrop-filter:blur(4px)}.modalhead{display:flex;justify-content:space-between;align-items:center;padding:23px 25px 18px;border-bottom:1px solid var(--border)}.modalhead h2{font-size:20px;margin:0}.modalbody{padding:22px 25px;max-height:calc(90vh - 80px);overflow:auto}.modalfooter{display:flex;gap:10px;justify-content:flex-end;padding-top:20px;margin-top:20px;border-top:1px solid var(--border)}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(100px);background:#d0d0d0;color:#1e1e1e;border:1px solid #efefef;padding:12px 19px;border-radius:9px;box-shadow:0 10px 35px #00000066;transition:transform .2s;z-index:100;font-size:12px;max-width:90vw}#toast.show{transform:translateX(-50%) translateY(0)}.notes{font-size:11px;color:var(--muted);line-height:1.8}.notes p{margin-bottom:11px}.notes code{color:var(--lime)}.anchorbutton{color:var(--lime);background:transparent;border:0;padding:0;font-size:11px}.mobilebrand{display:none}.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}.checkboxinline{display:flex;gap:8px;align-items:center;font-size:11px;color:var(--muted)}.countbadge{font-size:10px;border-radius:20px;background:#2c2c2c;color:#b0b0b0;padding:2px 7px;margin-left:7px}.buttonrow{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.hintline{color:var(--muted);font-size:10px;margin:10px 0 0}details{border:1px solid var(--border);border-radius:8px;padding:12px;margin:16px 0;background:#161616}summary{cursor:pointer;font-size:11px;color:#cacaca}details p{margin:10px 0 0;color:var(--muted);font-size:11px}.hidden{display:none!important}.riskoutput .stats{grid-template-columns:repeat(3,minmax(0,1fr))}.riskoutput .stat{padding:15px}.riskoutput .statvalue{font-size:24px}.riskoutput .chart{height:235px}.mono{font-variant-numeric:tabular-nums}.scopepill{border:1px solid var(--border);border-radius:6px;padding:5px 8px;color:var(--muted);font-size:10px}.activeinfo{display:flex;gap:7px;align-items:center;color:var(--muted);font-size:10px}.viewtitle{display:flex;align-items:center;gap:7px}
@media(min-width:1500px){.main{padding-top:40px}.stats{gap:20px}.stat{padding:24px}.chart{height:225px}}@media(max-width:1150px){.main{padding:26px 24px}.topbar{padding:0 24px}.shell{grid-template-columns:195px minmax(0,1fr)}.sidebar{padding:25px 12px 16px}.stats{gap:10px}.stat{padding:16px 13px}.statvalue{font-size:24px}.grid2{grid-template-columns:1.4fr 1fr}.formgrid.three{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:950px){.shell{grid-template-columns:175px minmax(0,1fr)}.sidebar{padding-left:8px;padding-right:8px}.nav button{font-size:12px;padding:10px}.grid2,.detailgrid{grid-template-columns:1fr}.rulecards{grid-template-columns:1fr}.rulecard dl{display:grid;grid-template-columns:repeat(2,1fr);gap:0 25px}.rulecard .ruleprice{margin-top:12px}.integrationgrid{grid-template-columns:1fr}.topright{gap:8px}.topdate{white-space:normal;text-align:right;max-width:24ch}.pagehead{align-items:flex-start}.actions button{font-size:11px}}@media(max-width:680px){.shell{display:block}.sidebar{height:auto;position:static;padding:16px;border-right:0;border-bottom:1px solid var(--border)}.navlabel,.workspacebox,.avatarline{display:none}.nav{flex-direction:row;overflow:auto;margin:0;gap:3px}.nav button{white-space:nowrap;gap:5px;font-size:11px;padding:8px 9px}.nav button svg{width:14px}.sidebar>.nav:nth-of-type(2){display:none}.sidebar .navlabel:nth-of-type(2){display:none}.sidebar .sidebar-brand~.nav{margin:0}.sidebar .nav + .navlabel + .nav{display:none}.topbar{height:51px;padding:0 18px}.main{padding:22px 16px}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.statvalue{font-size:25px}.stathead{font-size:10px}h1{font-size:25px}.pagehead{flex-wrap:wrap;gap:14px}.notice{align-items:flex-start}.notice a{display:none}.panelhead{padding:17px}.panelbody{padding:0 17px 17px}.grid2{gap:15px}.formgrid,.formgrid.three{grid-template-columns:1fr 1fr;gap:12px}.toolbar{flex-wrap:wrap;padding-left:17px;padding-right:17px}.toolbar input{max-width:none}.toolbar .tabs{width:100%;justify-content:space-between}.toolbar .tabs button{flex:1}.metrics3{gap:6px}.metricmini{padding:11px 8px}.metricmini strong{font-size:18px}.riskoutput .stats{grid-template-columns:1fr}.riskoutput .statvalue{margin:6px 0}.legend{gap:8px}.chartfooter{flex-wrap:wrap}.modalbody{padding:20px 18px}.modalhead{padding:19px 18px}.topright .scopepill{display:none}.formgrid .field.full{grid-column:1/-1}.storagehead{flex-wrap:wrap;gap:12px}.chart{height:190px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Workspace finish aligned with the product entrance. */
:root{--bg:#090909;--panel:#141414;--panel2:#1b1b1b;--border:#2c2c2c;--text:#f0f0f0;--muted:#989898;--lime:#eeeeee;--green:#cfcfcf;--red:#e5e5e5;--amber:#bfbfbf;font-family:var(--font-ui)}
.sidebar{background:#0c0c0c}.nav button.active{background:#242424;color:#eee;box-shadow:inset 0 0 0 1px #ffffff09}.primary{background:linear-gradient(#f7f7f7,#dcdcdc);color:#151515;border-color:#ffffff30}.primary:hover{background:white}.workspacebox{background:linear-gradient(140deg,#1e1e1e,#141414)}.topbar{background:#101010}.stat{background:linear-gradient(135deg,#1b1b1b,#131313);border-top-color:#3b3b3b}.statvalue,h1{font-family:var(--font-ui)}.notice{background:#171717;border-color:#333;color:#b4b4b4}.notice.warn,.callout.amber{background:#1b1b1b;border-color:#444;color:#c9c9c9}.alerticon{background:#262626;color:#ddd}.alerticon.amber,.alerticon.red{background:#272727;color:#eee}.badge{background:#292929;color:#d9d9d9}.badge.amber{background:#252525;color:#bdbdbd}.badge.red{background:#343434;color:#fff;border:1px solid #606060}.positive{color:#ededed}.negative{color:#bbb}.checkicon{background:#303030;color:#f5f5f5}.checkicon.no{background:#222;color:#8e8e8e}.callout{background:#1a1a1a;border-color:#383838;color:#c7c7c7}.errorbox{background:#222;color:#fff;border-color:#777}.legend i{background:#ddd}#toast{background:#eee;color:#171717;border-color:#fff}.privatepill{background:#1d1d1d;color:#bbb}.statmeta{line-height:1.5}.workspacebox .dot{background:#ccc}.panel{border-top-color:#363636}.pagehead h1{letter-spacing:-1.3px;font-weight:550}.eyebrow{color:#929292;font-size:9px;letter-spacing:2px}.avatar{background:#262626;color:#d0d0d0}.field input,.field select,.field textarea,.toolbar input,.toolbar select{background:#101010;border-color:#3c3c3c}.field input:focus,.field select:focus,.field textarea:focus,.toolbar input:focus{border-color:#bbb}.namecell .firmicon{background:#272727;color:#c5c5c5}.checkfield input{accent-color:#ddd}.notice a{color:#e0e0e0}

/* One UI family, including browser-native numeric/date/select controls. */
.shell,.shell button,.shell input,.shell select,.shell textarea,#modal,#modal button,#modal input,#modal select,#modal textarea{font-family:var(--font-ui)}
.shell,.shell input,.shell select,.shell textarea,#modal{font-variant-numeric:tabular-nums}

/* Overview cash flow: one palette for plotted lines, inspection and financial values. */
.overview-page{--cash-payouts:#6d9e87;--cash-expenses:#bb7c80;--cash-net:#7b99b4}
.cash-demo-label{display:inline-block;font-size:9px;font-weight:500;color:#ddd;background:#ffffff09;border:1px solid #ffffff24;padding:2px 5px;border-radius:4px;margin-left:4px;white-space:nowrap}
.overview-demo-note{border:1px solid #ffffff24;background:#ffffff04;padding:14px 18px;margin:0 0 20px;border-radius:9px;font-size:11px;line-height:1.7;color:#aaa}.overview-demo-note strong{color:#eee;font-weight:550}.overview-demo-note p{margin:5px 0 0}
.overview-page .overview-stats{margin-bottom:24px}.overview-stats .statvalue{font-size:clamp(21px,2vw,29px)}
.overview-financial-grid{display:grid;grid-template-columns:1fr;gap:0;margin-bottom:24px;min-width:0}
.overview-chart-panel{min-width:0;overflow:visible;background:linear-gradient(150deg,#1b1b1b,#111111);border-color:#ffffff1c;box-shadow:inset 0 1px 0 #ffffff07}.overview-chart-head{position:relative;flex-wrap:wrap;align-items:center;gap:14px;padding:18px 18px 10px}.cash-heading{flex:1;min-width:250px}.cash-heading h2{font-size:16px}.cash-heading .sub{font-size:11px}
.overview-header-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.overview-header-tools .tabs{border-color:#ffffff17;background:#101010;padding:3px;border-radius:8px;gap:2px}.overview-header-tools .tabs button{min-height:32px;font-size:11px;font-weight:500;padding:4px 9px;border-radius:5px}.overview-header-tools .tabs button.selected{background:#2a2a2a;color:#eee;box-shadow:inset 0 1px 0 #ffffff08}.cash-settings-button{min-width:40px;min-height:40px;padding:8px;color:#a6a6a6;border-radius:8px;border-color:#ffffff17;background:#161616;margin-left:auto}.cash-view-control select{background:#101010;color:#c0c0c0;border:1px solid #ffffff17;border-radius:8px;font-family:var(--font-ui);font-size:11px;font-weight:500;min-height:40px;padding:6px 9px;max-width:124px}
.overview-chart-body{padding:0 16px 10px}.cash-legend{display:flex;gap:18px;flex-wrap:wrap;padding:0 2px 6px}.cash-legend button{background:transparent;border:0;color:#999;font-size:10px;min-height:32px;padding:2px 0;gap:8px;font-weight:450}.cash-legend button:hover,.cash-legend button:focus-visible{color:#ddd;background:none}.cash-legend button[aria-pressed=false]{opacity:.5}
.cash-key{display:inline-block;width:14px;height:2px;border-radius:1px;flex-shrink:0}.cash-key-payouts{background:var(--cash-payouts)}.cash-key-expenses{background:var(--cash-expenses)}.cash-key-afterTax{background:var(--cash-net)}
.cash-plot{position:relative;min-width:0;touch-action:pan-y;border-radius:8px}.cash-plot:focus-visible{outline:1px solid #aaa;outline-offset:4px}.cash-svg{display:block;width:100%;height:auto;overflow:visible;font-family:var(--font-ui)}.cash-svg text{font-size:var(--cash-font-size,11px);fill:#a2a2a2}.cash-svg [hidden]{display:none}
.cash-grid{stroke:#ffffff0d;stroke-width:1}.cash-zero-line{stroke:#ffffff36;stroke-width:1}.cash-svg text.cash-zero-label{fill:#c4c4c4}.cash-series{stroke-width:2;stroke-linejoin:round;stroke-linecap:round;fill:none;transition:opacity .18s}.cash-series polyline,.cash-series circle{vector-effect:non-scaling-stroke}.cash-series polyline{filter:drop-shadow(0 0 .6px #ffffff0a)}.cash-payouts{stroke:var(--cash-payouts)}.cash-expenses{stroke:var(--cash-expenses)}.cash-afterTax{stroke:var(--cash-net)}.cash-series circle{fill:#141414}
.cash-crosshair{stroke:#ffffff30;stroke-width:1;stroke-dasharray:3 5}.cash-point{fill:#141414;stroke-width:1.5;vector-effect:non-scaling-stroke}.cash-point-payouts{stroke:var(--cash-payouts)}.cash-point-expenses{stroke:var(--cash-expenses)}.cash-point-afterTax{stroke:var(--cash-net)}
.cash-tooltip{position:fixed;z-index:2000;display:block;width:250px;max-width:calc(100vw - 24px);padding:13px 15px;background:linear-gradient(145deg,#252525f5,#141414f5);border:1px solid #ffffff24;border-radius:10px;box-shadow:0 16px 40px #0006;backdrop-filter:blur(8px);color:#ddd;font-size:11px;pointer-events:none}.cash-tooltip[hidden]{display:none}.cash-tooltip strong{display:block;font-size:11px;font-weight:550;margin-bottom:10px}.cash-tooltip>.cash-demo-label{margin:0 0 8px}.cash-tooltip dl{margin:0}.cash-tooltip dl>div{display:flex;gap:14px;justify-content:space-between;margin-top:7px}.cash-tooltip dt{display:flex;align-items:center;gap:6px;color:#aaa}.cash-tooltip dt{font-size:11px;font-weight:450;line-height:1.35}.cash-tooltip dd{margin:0;font-size:12px;white-space:nowrap;font-variant-numeric:tabular-nums}
.cash-empty{display:flex;min-height:250px;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:25px 16px}.cash-empty h3{font-size:15px;font-weight:500}.cash-empty p{font-size:12px;color:#939393}
.cash-integrated-summary{margin:0 18px 16px;padding-top:16px;border-top:1px solid #ffffff12}.cash-integrated-summary dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:0}.cash-integrated-summary dl>div{min-width:0}.cash-integrated-summary dt{font-size:11px;font-weight:450;line-height:1.35;color:#aaa;margin-bottom:7px}.cash-integrated-summary dd{font-size:20px;font-weight:500;letter-spacing:-.5px;color:#d4d4d4;margin:0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.cash-integrated-summary small{display:block;font-size:10px;line-height:1.6;color:#888;margin-top:5px}.cash-integrated-summary dd,.cash-tooltip dd{font-family:var(--font-ui);font-weight:500;line-height:1.35;font-variant-numeric:tabular-nums}
.cash-legend button[data-cash-legend="payouts"],.cash-tooltip dd[data-cash-value="payouts"],.cash-integrated-summary dd[data-cash-value="payouts"]{color:var(--cash-payouts)}
.cash-legend button[data-cash-legend="expenses"],.cash-tooltip dd[data-cash-value="expenses"],.cash-integrated-summary dd[data-cash-value="expenses"]{color:var(--cash-expenses)}
.cash-legend button[data-cash-legend="afterTax"],.cash-tooltip dd[data-cash-value="afterTax"],.cash-integrated-summary dd[data-cash-value="afterTax"]{color:var(--cash-net)}
.cash-related-scope{margin-top:5px!important}.cash-tooltip-scope{display:block;font-size:10px;color:#999;margin:-4px 0 10px}.cash-scope{font-size:10px;color:#929292;line-height:1.7;margin:12px 0 0}
.overview-partial{margin:0 21px 16px;padding:0;border:0;border-top:1px solid #ffffff0d;background:none;border-radius:0;font-size:11px;color:#999;line-height:1.7}.overview-partial summary{padding-top:11px;font-size:10px;color:#aaa}.overview-partial p{font-size:11px;margin:8px 0 0}
.overview-tax-settings{position:absolute;z-index:20;right:20px;top:calc(100% - 4px);width:290px;max-width:calc(100% - 24px);padding:18px;background:#202020;border:1px solid #ffffff30;border-radius:11px;box-shadow:0 15px 45px #0009;margin:0}.overview-tax-settings[hidden]{display:none}.overview-tax-settings h3{font-size:13px;margin-bottom:14px}.overview-tax-settings form{display:flex;align-items:end;gap:10px}.overview-tax-settings .field{flex:1;min-width:0}.overview-tax-settings input{min-height:42px;font-size:14px}.overview-tax-settings button{min-height:42px;white-space:nowrap;font-size:11px}.overview-tax-settings p{font-size:10px;line-height:1.6;color:#999;margin:10px 0 0}#overview-tax-error:not(:empty){color:#eee}
.overview-command .tablewrap{overflow-x:auto;overscroll-behavior-x:contain;padding:12px 12px 14px}.overview-command table{min-width:960px;table-layout:fixed}.overview-command td:first-child{white-space:normal}.overview-command .namecell>div{min-width:0}.overview-command .namecell a{overflow-wrap:anywhere}.overview-command td small{display:block;color:#999;font-size:10px;margin-top:5px}.overview-command td{vertical-align:top}.overview-command .tdactions button,.overview-command button[data-act=log]{min-height:40px;white-space:nowrap}
.overview-drawdown{width:120px;height:4px;background:#2b2b2b;border-radius:4px;overflow:hidden;margin-top:8px}.overview-drawdown i{display:block;height:100%;border-radius:4px}.overview-gates{min-width:90px;text-align:center}.overview-command .overview-account-row td{vertical-align:middle}
.overview-definition{position:relative;display:inline-block;cursor:help;outline-offset:3px}.overview-definition::after{content:attr(data-tip);display:none;position:absolute;top:calc(100% + 8px);left:0;width:240px;max-width:70vw;padding:12px;border:1px solid #555;border-radius:8px;background:#1c1c1c;color:#ddd;line-height:1.7;box-shadow:0 10px 30px #0008;z-index:3}.overview-definition:hover::after,.overview-definition:focus::after{display:block}
.overview-page .panel{transition:border-color .18s}.overview-page .panel:hover{border-top-color:#515151}
@media(max-width:1200px){.overview-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1000px){.cash-integrated-summary dl{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:18px}.overview-header-tools{width:100%;gap:8px}.cash-settings-button{margin-left:auto}}
@media(max-width:680px){.overview-chart-head{padding:17px 12px 8px}.overview-chart-body{padding:0 10px 10px}.overview-header-tools .tabs button{min-height:36px;padding:5px 10px}.cash-view-control select{min-height:44px;font-size:11px}.cash-settings-button{min-width:44px;min-height:44px}.cash-legend{gap:14px}.cash-legend button{min-height:40px;font-size:10px}.cash-integrated-summary{margin:0 12px 14px}.cash-integrated-summary dl{grid-template-columns:1fr;gap:14px}.cash-integrated-summary dl>div{display:grid;grid-template-columns:1fr auto;gap:0 12px}.cash-integrated-summary dd{grid-column:2;grid-row:1;font-size:20px;text-align:right}.cash-integrated-summary dt{align-self:center;margin:0}.cash-integrated-summary small{grid-column:1/-1}.cash-scope{font-size:10px}.overview-partial{margin:0 12px 14px}.overview-stats{gap:10px}.overview-stats .stat{padding:15px 12px}.overview-stats .statvalue{font-size:21px}.overview-stats .stathead{align-items:flex-start;gap:5px}.overview-stats .statmeta{font-size:10px}.overview-command .panelhead{flex-wrap:wrap}.overview-tax-settings{right:12px}}
@media(prefers-reduced-motion:reduce){.overview-page *{transition:none!important;animation:none!important}}

/* Quick Look: qualifying-day chrome rings, independent of full payout eligibility. */
 .overview-account-row{position:relative}.overview-command{--payout-pulse:2.8s}
.payout-row-outline{position:absolute;inset:0;pointer-events:none;border:1px solid #6d9e87b0;border-radius:7px;box-shadow:0 0 7px #6d9e8738;animation:payout-row-breathe var(--payout-pulse) ease-in-out infinite;z-index:1}.overview-account-row.payout-eligible td{background:transparent}
@keyframes payout-row-breathe{0%,100%{border-color:#6d9e8799;box-shadow:0 0 6px #6d9e8738}50%{border-color:#8fc0a3e6;box-shadow:0 0 14px #6d9e8770}}

.payout-day-ring{position:relative;display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;padding:4px;background:radial-gradient(circle at 35% 25%,#ffffff07,#101010 70%);border:1px solid transparent;border-radius:50%;color:#d8d8d8;vertical-align:middle;flex-shrink:0}.payout-day-ring:hover,.payout-day-ring[aria-expanded=true]{background:radial-gradient(circle at 35% 25%,#ffffff0c,#111 70%);border-color:#ffffff16}.payout-day-ring:focus-visible{outline:2px solid #bbb;outline-offset:3px}.payout-day-ring svg{width:56px;height:56px;transform:rotate(-90deg);flex-shrink:0}.payout-day-ring span{position:absolute;font-size:11px;font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:-.2px}.payout-day-ring circle{fill:none}.payout-ring-edge{stroke:#ffffff0c;stroke-width:1}.payout-ring-track{stroke:#2c2c2c;stroke-width:3}.payout-ring-fill{stroke-width:3;stroke-linecap:butt;stroke-dasharray:100;stroke-dashoffset:var(--payout-ring-offset);transition:stroke-dashoffset .85s cubic-bezier(.22,.7,.3,1)}.payout-motion-ready:not(.payout-rings-visible) .payout-ring-fill{stroke-dashoffset:100}
.overview-payout-detail-row[hidden]{display:none}.overview-command .overview-payout-detail-row>td{padding:0;white-space:normal;border:0}.overview-payout-details{padding:18px 20px;background:linear-gradient(145deg,#1a1a1a,#121212);border:1px solid #ffffff19;border-radius:10px}.overview-payout-details h3{font-size:13px;font-weight:550;margin:0 0 14px}.payout-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;list-style:none;padding:0;margin:0}.payout-check{display:flex;align-items:flex-start;gap:10px;padding:11px 0;border-top:1px solid #ffffff0c;min-width:0}.payout-check-marker{color:#949494;width:14px;flex-shrink:0;font-size:13px;line-height:1.5}.payout-check-complete .payout-check-marker{color:#86a992}.payout-check-incomplete .payout-check-marker{color:#b5a194}.payout-check>div{min-width:0;flex:1}.payout-check strong{display:block;color:#ccc;font-size:11px;font-weight:500;margin-bottom:5px}.payout-check>div>span{font-size:11px;color:#aaa;line-height:1.6;font-variant-numeric:tabular-nums}.overview-command .payout-check small{font-size:10px;color:#9c9c9c;line-height:1.6;margin-top:4px}.payout-check-state{font-size:9px;color:#999;line-height:1.7;text-align:right;max-width:70px;flex-shrink:0}.payout-detail-note{font-size:10px;color:#929292;line-height:1.7;margin:12px 0 0}
@media(max-width:1000px){.payout-checklist{grid-template-columns:1fr}}@media(max-width:680px){.overview-payout-details{padding:14px}.overview-command .overview-payout-detail-row>td{padding:0}}
@media(prefers-reduced-motion:reduce){.payout-motion-ready .payout-ring-fill{stroke-dashoffset:var(--payout-ring-offset);transition:none}}

/* Cash Flow date selection and subtle depth. */
.cash-fill-payouts{stop-color:var(--cash-payouts)}.cash-fill-expenses{stop-color:var(--cash-expenses)}.cash-fill-afterTax{stop-color:var(--cash-net)}.cash-area{stroke:none;pointer-events:none}.cash-period-band{fill:#fff;pointer-events:none}.cash-period-boundary{stroke:#ffffff09;stroke-width:1;pointer-events:none}.cash-plot{user-select:none}
.overview-command .overview-payout-column{text-align:center;padding-left:14px;padding-right:14px;vertical-align:middle}.payout-day-ring{margin:0 auto}
.cash-date-controls{display:inline-flex;min-width:0}.cash-date-toggle{font-size:11px;font-weight:500;min-height:40px;border-radius:8px;max-width:265px;background:#101010;border-color:#ffffff17;color:#bbb}.cash-date-toggle[aria-expanded=true]{border-color:#888}.cash-date-popover{position:fixed;z-index:2100;width:460px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto;background:#181818f8;border:1px solid #ffffff29;border-radius:12px;box-shadow:0 18px 60px #0009;backdrop-filter:blur(10px);padding:14px}.cash-date-popover[hidden]{display:none}.cash-date-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.cash-date-title h3{font-size:13px;font-weight:550;margin:0}.cash-date-title button{border:0;background:none;font-size:18px;width:32px;height:32px;padding:0}.cash-date-popover [data-date-body]{display:grid;grid-template-columns:145px minmax(0,1fr);gap:14px}.cash-date-presets{display:flex;flex-direction:column;gap:2px;padding-right:10px;border-right:1px solid #ffffff12}.cash-date-presets button{justify-content:flex-start;text-align:left;font-size:11px;min-height:33px;border:0;background:transparent;padding:6px 8px}.cash-date-presets button:hover{background:#ffffff08}.cash-date-custom{min-width:0}.cash-date-condition{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#aaa;gap:8px;margin-bottom:12px}.cash-date-condition select{font-size:11px;min-height:34px;background:#111;color:#ddd;border:1px solid #ffffff21;border-radius:6px;padding:4px 7px}.cash-date-fields{display:flex;gap:7px}.cash-date-fields label{min-width:0;flex:1;display:flex;flex-direction:column;gap:5px;font-size:10px;color:#aaa}.cash-date-fields input{width:100%;min-width:0;min-height:34px;font-size:10px;background:#111;border:1px solid #ffffff21;border-radius:6px;padding:5px;color:#ddd;color-scheme:dark}.cash-date-endpoints{display:flex;gap:5px;margin-top:9px}.cash-date-endpoints button{font-size:10px;padding:4px 7px;min-height:28px;background:transparent}.cash-date-endpoints button[aria-pressed=true]{background:#ffffff10;border-color:#ffffff40}.cash-calendar-heading{display:flex;align-items:center;justify-content:space-between;margin:12px 0 8px}.cash-calendar-heading strong{font-size:11px;font-weight:500}.cash-calendar-heading button{width:30px;height:30px;padding:0;font-size:18px;background:none;border-color:transparent}.cash-calendar-weekdays,.cash-calendar [role=row]{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}.cash-calendar-weekdays span{font-size:9px;color:#888;text-align:center;line-height:24px}.cash-calendar button{display:flex;align-items:center;justify-content:center;padding:0;min-width:0;height:30px;font-size:10px;background:none;border:1px solid transparent;border-radius:5px;color:#ccc}.cash-calendar button.outside-month{color:#656565}.cash-calendar button.selected-date{background:#ffffff12;color:#eee}.cash-calendar button[aria-current=date]{border-color:#ffffff40}.cash-calendar button:focus-visible{outline:1px solid #ddd;outline-offset:-1px}.cash-date-boundary{font-size:9px;color:#999;line-height:1.6;margin:10px 0}#cash-date-error{font-size:10px;color:#e5c1c1;line-height:1.5;margin:6px 0}#cash-date-error:empty{display:none}.cash-date-footer{display:flex;justify-content:space-between;gap:8px}.cash-date-footer button{font-size:11px;min-height:34px}.cash-date-popover:focus-within{border-color:#ffffff35}
@media(max-width:680px){.cash-date-toggle{min-height:44px}.cash-date-popover{width:380px;padding:12px}.cash-date-popover [data-date-body]{grid-template-columns:1fr;gap:12px}.cash-date-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding-right:0;padding-bottom:10px;border-right:0;border-bottom:1px solid #ffffff12;gap:4px}.cash-date-presets button{min-height:40px;font-size:10px;padding:5px}.cash-calendar button{height:36px}.cash-date-fields input{min-height:40px;font-size:12px}.cash-date-footer button{min-height:40px}.cash-date-condition select{min-height:40px}}

.cash-tooltip-daily{border-top:1px solid #ffffff12;margin-top:11px;padding-top:11px}.cash-tooltip-daily .cash-tooltip-scope{margin:0 0 7px}.payout-day-ring span{inset:0;display:flex;align-items:center;justify-content:center}

.overview-command th.overview-payout-column,.overview-command th.overview-status-column{white-space:normal}.overview-header-tools [data-act=overview-all-time]{min-height:40px;font-size:11px;background:#101010;border-color:#ffffff17;border-radius:8px}.overview-header-tools [data-act=overview-all-time].selected{background:#252525}
@media(max-width:680px){.overview-header-tools [data-act=overview-all-time]{min-height:44px}}
@media(prefers-reduced-motion:reduce){.payout-row-outline,.payout-status-eligible{animation:none;border-color:#6d9e87b0;box-shadow:0 0 7px #6d9e8738}}


/* Quick Look Payout Status: one badge size for every state; Eligible shares the row outline keyframes and --payout-pulse timing. */
/* Status badge sits midway between the 120px drawdown bar and the ring at every table width: the Drawdown/Status/Progress widths (19/12/14%) make both gaps grow equally, and the 14.5px inset balances the fixed bar and badge sizes. */
.overview-command .overview-status-column{text-align:left;padding-left:14.5px;padding-right:10px;vertical-align:middle}
.payout-status{display:inline-flex;align-items:center;justify-content:center;min-width:84px;height:26px;padding:0 10px;border:1px solid #ffffff2e;border-radius:6px;background:transparent;color:#cfcfcf;font-size:10px;font-weight:550;letter-spacing:.3px;white-space:nowrap}
.payout-status-eligible{background:#13211a;color:#9fd0b3;border-color:#6d9e87b0;box-shadow:0 0 7px #6d9e8738;animation:payout-row-breathe var(--payout-pulse) ease-in-out infinite}
.payout-status-review{color:#a8a8a8;border-style:dashed;border-color:#ffffff29}
.payout-status-ineligible{color:#9a9a9a;border-color:#ffffff1f}
.payout-day-ring span{flex-direction:column;line-height:1.05}
.payout-day-ring span small{display:block;margin:2px 0 0;font-size:8px;color:#9fb5a8;letter-spacing:0}
/* Payout breakdown stays in the visible part of a horizontally scrolled Quick Look table: pinned to the scrollport and sized to the wrapper (cqw), not the 960px table. */
.overview-command .tablewrap{container-type:inline-size}
.overview-payout-details{position:sticky;left:14px;width:calc(100cqw - 28px)}
@media(max-width:680px){.overview-payout-details{left:8px;width:calc(100cqw - 16px)}}
/* Live workspace clock: full local date and 24-hour time; wraps rather than truncating on narrow screens. */
.topdate{font-variant-numeric:tabular-nums;white-space:nowrap}
@media(max-width:950px){.topdate{white-space:normal}}
@media(max-width:680px){.topbar{height:auto;min-height:51px;padding-top:8px;padding-bottom:8px}.topright{flex-wrap:wrap;justify-content:flex-end;row-gap:4px}}
/* Dashboard sidebar reuses the shared homepage brand (home.css); this only places it. */
.sidebar-brand{align-self:flex-start;max-width:100%;margin:0 8px 33px;color:#eee;text-decoration:none!important}
@media(max-width:680px){.sidebar-brand{margin:0 0 14px}}
/* Accounts: roster tabs, toolbar, list/grid and in-page detail sections (presentation only). */
.accounts-page .payout-status-eligible{animation:none}
.accounts-tabs,.account-sections{display:flex;gap:2px;overflow-x:auto;scrollbar-width:thin}
.accounts-tabs{padding:10px 14px 0;border-bottom:1px solid var(--border)}
.account-sections{border-bottom:1px solid var(--border);margin:0 0 18px}
.accounts-tab,.account-sections button{background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0;padding:10px 12px 11px;color:var(--muted);font-size:12px;font-weight:500;white-space:nowrap;gap:7px;transition:color .15s,border-color .15s}
.accounts-tab:hover,.account-sections button:hover{background:transparent;color:var(--text)}
.accounts-tab.selected,.account-sections button.selected{color:var(--text);border-bottom-color:#d4d4d4}
.accounts-tab .countbadge{margin:0;font-variant-numeric:tabular-nums}
.accounts-tab-planned,.accounts-tab-planned:disabled{opacity:.5;cursor:not-allowed}
.accounts-tab-planned .smalltag{margin-left:2px}
.accounts-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:14px 16px 8px}
.accounts-toolbar input[type=search]{flex:1 1 230px;min-width:0;min-height:36px;background:#141414;border:1px solid #3b3b3b;color:var(--text);border-radius:8px;padding:8px 11px;font-size:12px}
.accounts-toolbar input[type=search]:focus,.accounts-select select:focus{outline:1px solid var(--lime);border-color:var(--lime)}
.accounts-select select{min-height:36px;max-width:220px;background:#141414;border:1px solid #3b3b3b;color:var(--text);border-radius:8px;padding:7px 9px;font-size:12px}
.accounts-dir,.accounts-reset{min-height:36px;padding:6px 11px;font-size:11px;border-radius:8px}
.accounts-view-toggle{display:inline-flex;gap:3px;padding:3px;background:#151515;border:1px solid var(--border);border-radius:8px}
.accounts-view-toggle button{min-height:28px;padding:4px 11px;background:transparent;border:0;border-radius:6px;color:var(--muted);font-size:11px;font-weight:500}
.accounts-view-toggle button.selected{background:#2d2d2d;color:var(--text)}
.accounts-result{margin:0;padding:0 18px 10px;color:#8f8f8f;font-size:10px}
/* position:relative contains the visually hidden header label so it cannot widen the page. */
.accounts-tablewrap{position:relative;padding:0 8px 10px}
.accounts-table{table-layout:fixed;min-width:1000px}
.accounts-table th{padding:10px 14px}
.accounts-table td{padding:13px 14px;vertical-align:middle}
.accounts-table td:first-child{white-space:normal}
.accounts-table small,.account-card small{display:block;margin-top:4px;color:#999;font-size:10px}
.account-row{cursor:pointer}
.account-row td{transition:background .15s}
.account-row:hover td{background:#ffffff05}
.account-row-history{opacity:.74}
.account-open-icon{padding:6px 8px}
.account-muted{color:#8a8a8a}
.account-progress{width:100%;max-width:140px;height:4px;background:#2b2b2b;border-radius:4px;overflow:hidden}
.account-progress i{display:block;height:100%;background:linear-gradient(90deg,#8d8d8d,#e3e3e3);border-radius:4px}
.account-progress-cell .payout-status{min-width:78px;height:24px}
.account-reasons{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.account-reason{padding:2px 6px;background:#1a1a1a;border:1px solid #ffffff24;border-radius:5px;color:#cfcfcf;font-size:9.5px;line-height:1.5}
.account-reason-drawdown,.account-reason-floor{border-color:#c26a6a66;color:#e3a7a7}
.account-reason-rules{border-style:dashed}
.account-reason-positive{border-color:#6d9e8780;color:#9fd0b3}
.badge.account-status-active{color:#e2e2e2}
.account-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr));gap:12px;padding:4px 16px 16px}
.account-card{position:relative;padding:15px 16px;background:#181818;border:1px solid var(--border);border-radius:12px;cursor:pointer;transition:border-color .2s,transform .2s}
.account-card:hover{border-color:#ffffff26;transform:translateY(-1px)}
.account-card-badges{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}
.account-card-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px;margin:0}
.account-card-stats dt{margin-bottom:4px;color:var(--muted);font-size:10px}
.account-card-stats dd{margin:0;font-size:13px}
.account-card-wide{grid-column:1/-1}
.accounts-empty{padding:42px 20px}
.account-detail-badges{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:-12px 0 18px}
.account-detail-badges .account-reasons{margin:0}
.account-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}
.account-summary>div{min-width:0;padding:17px 19px;border-left:1px solid var(--border)}
.account-summary>div:first-child{border-left:0}
.account-summary>div>span{display:block;margin-bottom:9px;color:var(--muted);font-size:11px}
.account-summary strong{font-size:22px;font-weight:600;letter-spacing:-.4px}
.account-summary small{display:block;margin-top:5px;color:#999;font-size:10px}
.account-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}
.account-split-wide{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}
.account-panel .rulerow span small{display:block;margin-top:3px;color:#8f8f8f;font-size:10px}
.account-total span,.account-total b{font-weight:600}
.account-history-note{margin-bottom:18px}
.account-checklist{grid-template-columns:1fr}
/* Reused Overview checklist: drop the Quick Look sticky sizing, which needs that table as its container. */
.account-payout-details{position:static;width:auto;padding:0 21px 21px;background:none;border:0;border-radius:0}
.account-cash{margin-bottom:18px}
.account-cash .panelbody{padding-top:16px}
.account-danger .rulerow b{flex-shrink:0;margin-left:12px}
@media(max-width:1000px){.account-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.account-summary>div:nth-child(3){border-left:0}.account-summary>div:nth-child(n+3){border-top:1px solid var(--border)}.account-split,.account-split-wide{grid-template-columns:1fr}}
@media(max-width:680px){.accounts-toolbar input[type=search]{flex-basis:100%;min-height:44px;font-size:16px}.accounts-select{flex:1 1 140px}.accounts-select select{width:100%;max-width:none;min-height:44px}.accounts-dir,.accounts-reset,.accounts-view-toggle button{min-height:40px}.account-summary{grid-template-columns:1fr}.account-summary>div,.account-summary>div:nth-child(3){border-left:0;border-top:1px solid var(--border)}.account-summary>div:first-child{border-top:0}.account-grid{padding:4px 10px 12px}}
/* Phones: each list row reflows into a labeled block; headers stay available to screen readers. */
@media(max-width:680px){.accounts-tablewrap{padding:0}.accounts-table{min-width:0}.accounts-table colgroup{display:none}.accounts-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.accounts-table,.accounts-table tbody{display:block}.accounts-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px;padding:15px 16px;border-bottom:1px solid #2b2b2b}.accounts-table tr:last-child{border-bottom:0}.accounts-table td{display:block;padding:0;border:0;white-space:normal}.accounts-table td:first-child{grid-column:1/-1}.accounts-table td[data-label]::before{content:attr(data-label);display:block;margin-bottom:5px;color:var(--muted);font-size:10px}.accounts-table td.account-chevron{display:none}.account-row:hover td{background:none}}
@media(prefers-reduced-motion:reduce){.account-card,.account-row td,.accounts-tab,.account-sections button{transition:none}.account-card:hover{transform:none}}
/* Information boxes (Plan Desk-style rule cells in GetFundedOS styling). Status is shown with text and
   border style, never colour alone: verified = solid, unverified = dashed, reference = dotted, n/a = dim. */
.info-boxes{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,158px),1fr));gap:8px}
.info-boxes-compact{grid-template-columns:repeat(auto-fill,minmax(min(100%,128px),1fr));gap:6px;margin:12px 0}
.info-box{position:relative;display:flex;flex-direction:column;gap:4px;min-width:0;padding:11px 12px;background:linear-gradient(160deg,#1d1d1d,#151515);border:1px solid #ffffff17;border-radius:10px}
.info-boxes-compact .info-box{padding:9px 10px}
.info-box-label{color:#9a9a9a;font-size:10px;line-height:1.3}
.info-box-value{color:#ededed;font-size:14px;font-weight:600;line-height:1.3;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.info-boxes-compact .info-box-value{font-size:13px}
.info-box-status{align-self:flex-start;padding:1px 6px;border:1px solid #ffffff22;border-radius:4px;color:#bdbdbd;font-size:9px;letter-spacing:.2px}
.info-box-note{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;color:#8f8f8f;font-size:10px;line-height:1.45}
.info-boxes-compact .info-box-note{display:none}
.info-box-verified .info-box-status{border-color:#c9c9c955;color:#dcdcdc}
.info-box-unverified{border-style:dashed;border-color:#ffffff38}
.info-box-unverified .info-box-status{border-style:dashed}
.info-box-reference{border-style:dotted;border-color:#ffffff30}
.info-box-reference .info-box-status{border-style:dotted}
.info-box-na{background:#141414;border-color:#ffffff10}
.info-box-na .info-box-value{color:#8c8c8c;font-weight:500}
.info-box-source{margin:4px 0 0;color:#8f8f8f;font-size:10px}
.account-rules-panel{margin-bottom:18px}
/* Plan Library */
.plan-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:12px;padding:4px 16px 16px}
.plan-card{display:flex;flex-direction:column;padding:15px 16px;background:#181818;border:1px solid var(--border);border-radius:12px;transition:border-color .2s}
.plan-card:hover,.plan-card-active{border-color:#ffffff2e}
.plan-card-head{display:flex;gap:11px;align-items:flex-start}
.plan-card-head h3{margin:2px 0 3px;font-size:14px;line-height:1.3}
.plan-card-head small,.plan-table small,.plan-compare-table small{display:block;color:#999;font-size:10px}
.plan-firm{color:#a4a4a4;font-size:11px}
.plan-card-badges{display:flex;flex-wrap:wrap;gap:5px;margin-top:11px}
.badge.plan-status-verified{color:#e4e4e4;border:1px solid #c9c9c955}
.badge.plan-status-partial{color:#c9c9c9;border:1px dashed #ffffff40}
.badge.plan-stage{background:#202020;color:#b8b8b8}
.plan-card-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:4px}
.plan-card-actions button{min-height:36px;font-size:11px;padding:6px 11px}
.plan-card-custom{border-style:dashed}
.plan-custom-copy{margin:10px 0;color:#9a9a9a;font-size:11px;line-height:1.6}
.plan-compare-bar{margin:0 16px 8px;padding:8px 12px;background:#191919;border:1px solid #ffffff17;border-radius:8px;color:#cfcfcf;font-size:11px}
.plan-tablewrap{position:relative;padding:0 8px 10px}
.plan-table{min-width:900px}
.plan-table td{vertical-align:middle;padding:12px 14px;white-space:normal}
.plan-row-actions{white-space:nowrap}
.plan-row-actions button{padding:5px 9px;font-size:10px;margin-left:4px}
.plan-cell-unverified{border-bottom:1px dashed #ffffff55}
.plan-cell-reference{border-bottom:1px dotted #ffffff55}
.plan-cell-na{color:#8c8c8c}
.plan-preview{margin-bottom:18px}
.plan-preview:focus{outline:none}
.plan-preview:focus-visible{outline:1px solid #aaa;outline-offset:3px}
.plan-preview-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.plan-notice{margin-bottom:14px}
.plan-stage-tabs{margin-bottom:16px}
.plan-group{margin-bottom:18px}
.plan-group h3{margin:0 0 9px;color:#d6d6d6;font-size:12px;font-weight:600}
.plan-reference{margin:0;padding-left:18px;color:#a9a9a9;font-size:11px;line-height:1.8}
.plan-versus,.plan-compare-table{min-width:520px}
.plan-versus td,.plan-versus th,.plan-compare-table td,.plan-compare-table th{padding:9px 12px;white-space:normal;vertical-align:top}
.plan-versus small,.plan-compare-table td small{color:#8f8f8f;font-size:9px}
.plan-prepared{padding:14px;border:1px dashed #ffffff22;border-radius:10px}
.plan-draft-list{display:grid;gap:3px;margin:0 0 10px}
.plan-draft-list strong{color:#d4d4d4;font-size:11px}
.plan-draft-list span{color:#b3b3b3;font-size:11px;line-height:1.6}
.plan-draft-list small{color:#8c8c8c;font-size:10px}
.plan-sources ul{margin:0;padding-left:18px;font-size:11px;line-height:1.9}
.plan-compare{margin-bottom:18px}
.plan-grid-custom{padding-top:0}
@media(max-width:680px){.plan-grid{padding:4px 10px 12px}.info-boxes{grid-template-columns:repeat(2,minmax(0,1fr))}.info-boxes-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-card-actions button{min-height:42px;flex:1 1 auto}.plan-preview .panelhead{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.plan-card{transition:none}}
/* Unified Plan Library: firm marks, Plan Desk-style pricing panel, per-card stage switch, Plan Stack. */
.firm-mark{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;background:#1c1c1c;border:1px solid #ffffff1c;overflow:hidden}
/* Firm identity (firm-identity.js): a faint brand tint behind the mark; colour-mix falls back to neutral */
.firm-mark-accent{background:#1c1c1c;background:color-mix(in srgb,var(--firm-accent) 9%,#171717);border-color:color-mix(in srgb,var(--firm-accent) 26%,#ffffff12)}
.firm-name[style]{color:var(--firm-text)}
.firm-mark-monogram{color:var(--firm-text,#cfcfcf);font-size:13px;font-weight:700;letter-spacing:.3px}
.firm-mark-logo{padding:6px}
.firm-mark-logo img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.plan-row-name{display:flex;align-items:center;gap:10px}
.plan-row-name .firm-mark{width:34px;height:34px;border-radius:8px}
.plan-row-name .firm-mark-monogram{font-size:11px}
.plan-preview-title{display:flex;gap:12px;align-items:flex-start}
.info-box-custom{border-color:#ffffff24}
.info-box-custom .info-box-status{color:#cfcfcf}
.badge.plan-status-custom{background:#222;color:#e0e0e0;border:1px solid #ffffff26}
.badge.plan-status-example{background:#1d1d1d;color:#a8a8a8;border:1px dashed #ffffff2a}
.plan-card-stages{display:inline-flex;gap:3px;margin-top:12px;padding:3px;background:#141414;border:1px solid var(--border);border-radius:8px;align-self:flex-start}
.plan-card-stages button{min-height:28px;padding:3px 10px;background:transparent;border:0;border-radius:6px;color:var(--muted);font-size:11px;font-weight:500}
.plan-card-stages button.selected{background:#2d2d2d;color:var(--text)}
.plan-pricing{display:grid;gap:7px;margin:4px 0 12px;padding:11px 12px;background:#141414;border:1px solid #ffffff14;border-radius:10px}
.plan-price-row{display:flex;justify-content:space-between;align-items:baseline;gap:8px;color:#a3a3a3;font-size:11px}
.plan-price strong{color:#f0f0f0;font-size:17px;font-weight:600;font-variant-numeric:tabular-nums}
.plan-price s{color:#7d7d7d;font-size:11px;margin-right:4px}
.plan-price small,.plan-price-line small{color:#8f8f8f;font-size:9px}
.plan-discount{margin-left:6px;padding:1px 6px;border:1px solid #ffffff33;border-radius:999px;color:#e2e2e2;font-size:9px;font-weight:600}
.plan-sale-note{display:block;color:#8a8a8a;font-size:9.5px;line-height:1.45}
.plan-price-line{display:flex;justify-content:space-between;gap:8px;color:#a3a3a3;font-size:11px;font-variant-numeric:tabular-nums}
.plan-price-line>span:last-child{color:#dedede;text-align:right}
.plan-free{color:#e8e8e8;font-weight:600}
.plan-stack-control{display:flex;align-items:center;gap:6px;margin-top:3px}
.plan-stack-control button{min-height:32px;min-width:32px;padding:4px 9px;font-size:13px}
.plan-stack-control .plan-stack-remove{margin-left:auto;font-size:11px}
.plan-stack-qty{min-width:28px;text-align:center;font-weight:600;font-variant-numeric:tabular-nums}
.plan-pricing>button{margin-top:3px;min-height:34px;font-size:11px}
.plan-stack-summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px;padding:11px 14px;background:#171717;border:1px solid #ffffff1f;border-radius:10px;color:#cfcfcf;font-size:11px}
.plan-stack-summary strong{color:#efefef}
.plan-stack{margin:18px 0}
.plan-stack-scenario{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:14px}
.plan-stack-field{display:flex;flex-direction:column;gap:5px;color:#a3a3a3;font-size:10px}
.plan-stack-field select,.plan-stack-table select,.plan-stack-table input{min-height:34px;background:#141414;border:1px solid #3b3b3b;color:var(--text);border-radius:7px;padding:6px 8px;font-size:12px}
.plan-stack-table input[type=number]{width:84px}
.plan-stack-source{display:flex;flex-direction:column;gap:5px}
.plan-stack-tablewrap{position:relative;margin-bottom:14px}
.plan-stack-table{min-width:1080px}
.plan-stack-table td{vertical-align:middle;padding:11px 12px;white-space:normal}
.plan-stack-table td small{display:block;margin-top:3px;color:#8f8f8f;font-size:9.5px}
.plan-stack-warnings{margin:14px 0 0;padding:0;list-style:none;display:grid;gap:6px}
.plan-stack-warnings li{padding:8px 11px;border:1px solid #c26a6a66;border-radius:8px;color:#e3b0b0;font-size:11px}
.plan-stack-warnings li.plan-warning-unverified{border-style:dashed;border-color:#ffffff33;color:#c9c9c9}
.plan-stack-excluded{margin:12px 0 0;color:#a8a8a8;font-size:11px;line-height:1.6}
.plan-stack-breakdown{margin-top:12px;color:#a8a8a8;font-size:11px}
.plan-stack-breakdown summary{cursor:pointer;color:#d0d0d0}
.plan-stack-breakdown ul{margin:8px 0 0;padding-left:18px;line-height:1.8}
.plan-card-mine{border-color:#ffffff22}
.plan-trademark{line-height:1.6}
@media(max-width:680px){.plan-stack-scenario{flex-direction:column}.plan-stack-field select{width:100%;min-height:44px}.plan-stack-summary{flex-direction:column;align-items:flex-start}.plan-stack-control button{min-height:40px;min-width:40px}.plan-card-stages button{min-height:36px}}
/* Account Details: read-only comparison with the source My Template */
.account-template-compare{margin-top:18px}.account-template-summary{margin:0 0 12px}.account-template-table td:not(:first-child),.account-template-table th:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}.account-template-differs td{color:var(--text)}.account-template-differs td:first-child{box-shadow:inset 2px 0 0 var(--silver,rgba(220,224,232,.6))}
/* Firm wordmarks are wide: give logo marks a pill instead of a square, kept monochrome */
.firm-mark.firm-mark-wordmark{width:96px;padding:0 10px}.firm-mark.firm-mark-wordmark img{max-height:15px}.firm-mark.firm-mark-icon img{max-height:28px}
.plan-card-selected{border-color:#ffffff3a}.plan-card-selected[style]{border-color:color-mix(in srgb,var(--firm-accent) 38%,#ffffff1f)}
.account-firm-identity{display:inline-flex;align-items:center;gap:8px;vertical-align:middle}.firm-mark.firm-mark-sm{width:26px;height:26px;border-radius:7px;padding:3px}.firm-mark.firm-mark-sm.firm-mark-wordmark{width:68px;padding:0 7px}.firm-mark.firm-mark-sm.firm-mark-wordmark img{max-height:10px}.firm-mark.firm-mark-sm.firm-mark-icon img{max-height:18px}.firm-mark-sm.firm-mark-monogram{font-size:9px}
@media(max-width:680px){.firm-mark.firm-mark-wordmark:not(.firm-mark-sm){width:76px;padding:0 8px}.firm-mark.firm-mark-wordmark:not(.firm-mark-sm) img{max-height:12px}}
/* Plan Stack totals carry disclaimers: never clamp their notes */
.plan-stack .info-box-note{display:block;-webkit-line-clamp:unset;overflow:visible}
/* Compare headers: firm and plan names (including user-entered My Template names) keep their own casing */
.plan-compare-table th .plan-row-name{text-transform:none;letter-spacing:normal;font-size:12px}
/* Plan Library template cards: one shape for every plan. Six rows (header, stage toggle, rule boxes,
   pricing, Plan Stack control, actions) share the grid row via subgrid so sections line up across cards;
   fixed title, box and pricing heights keep every card the same height. */
.plan-card-title{min-width:0}.plan-card-title h3{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.25}.plan-card .plan-card-head{min-height:70px}
.plan-card-title small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.plan-card .plan-card-stages{margin-top:0}.plan-card-boxes .info-boxes-compact{margin:0}.plan-card .plan-pricing{margin:0}.plan-card-stack,.plan-card .plan-stack-control{margin:0}
.plan-card-boxes .info-box{min-height:72px}.plan-card-boxes .info-box-value{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.plan-card-boxes-live>.info-boxes-compact{grid-template-columns:1fr}.plan-card-boxes-live>.info-boxes .info-box{min-height:100%}.plan-card-boxes-live>.info-boxes .info-box-value{-webkit-line-clamp:7;font-size:12px;font-weight:500;line-height:1.5}
.plan-card-stack>button,.plan-card .plan-stack-control{min-height:36px}.plan-card-stack>.plan-stack-add{width:100%}
.plan-card-actions{flex-wrap:nowrap}.plan-card-actions button{flex:1 1 0;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.plan-card{display:flex;flex-direction:column;gap:12px}.plan-card-boxes{flex:1 0 auto}
@supports (grid-template-rows:subgrid){.plan-card{display:grid;grid-row:span 6;grid-template-rows:subgrid;row-gap:12px}.plan-card-stages{justify-self:start;align-self:start}.plan-card-boxes{align-self:stretch}.plan-card-boxes .info-boxes{height:100%;align-content:start}.plan-card-boxes-live>.info-boxes{align-content:stretch}.plan-card-stack,.plan-card-actions{align-self:end}}
/* Plain rule boxes: no status chips; unconfirmed firm values are a quieter grey with a hover hint */
.info-box-plain{border-style:solid}.info-box-muted .info-box-value,.plan-unconfirmed{color:#8d8d8d}.info-box-muted[title],.plan-unconfirmed[title]{cursor:help}
.plan-library-head{padding:16px 16px 0}.plan-library-head h2{margin:0;font-size:15px}
.plan-preview-buttons .plan-delete{margin-left:auto}
.plan-card-boxes-live{position:relative}.plan-card-boxes-ghost{visibility:hidden}.plan-card-boxes-live>.info-boxes{position:absolute;inset:0;height:auto}
/* Floating controls. The bottom-right corner is reserved for a future Support button (--float-support-offset
   becomes 68px when it exists, e.g. body.has-support-button), so the Plan Stack launcher never overlaps it. */
:root{--float-gap:24px;--float-support-offset:0px}
body.has-support-button{--float-support-offset:68px}
.plan-library{padding-bottom:84px}
.plan-stack-launcher{position:fixed;right:calc(var(--float-gap) + var(--float-support-offset));bottom:var(--float-gap);z-index:60;display:inline-flex;align-items:center;gap:9px;min-height:46px;padding:0 8px 0 15px;border-radius:999px;border:1px solid #ffffff2b;background:linear-gradient(180deg,#232323,#161616);box-shadow:0 10px 30px #0000008c,inset 0 1px 0 #ffffff14;color:var(--text);font-size:12px;font-weight:600;cursor:pointer;transition:border-color .2s,transform .2s}
.plan-stack-launcher:hover{border-color:#ffffff4d}.plan-stack-launcher:focus-visible{outline:2px solid #e5e5e5;outline-offset:3px}
.plan-stack-launcher.is-empty .plan-stack-count{background:#2a2a2a;color:#9a9a9a}
.plan-stack-count{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 8px;border-radius:999px;background:#e6e6e6;color:#151515;font-variant-numeric:tabular-nums;font-size:12px}
.plan-stack-launcher.is-bumped{animation:plan-stack-bump .45s ease-out}
@keyframes plan-stack-bump{0%{transform:scale(1)}40%{transform:scale(1.07);border-color:#ffffff66}100%{transform:scale(1)}}
.plan-stack-float{position:fixed;right:calc(var(--float-gap) + var(--float-support-offset));bottom:calc(var(--float-gap) + 58px);z-index:61;width:min(400px,calc(100vw - 32px));max-height:min(680px,calc(100vh - 120px));display:flex;flex-direction:column;background:#141414;border:1px solid #ffffff24;border-radius:14px;box-shadow:0 24px 70px #000000b3,inset 0 1px 0 #ffffff12}.plan-stack-float.is-entering{animation:plan-stack-in .16s ease-out}
.plan-stack-float.is-placed{left:var(--x);top:var(--y);right:auto;bottom:auto}
.plan-stack-float.is-dragging{user-select:none;box-shadow:0 30px 80px #000000cc;animation:none}
@keyframes plan-stack-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.plan-stack-float-head{display:flex;align-items:center;gap:10px;padding:12px 10px 12px 12px;border-bottom:1px solid var(--border);cursor:grab;touch-action:none}
.plan-stack-float.is-dragging .plan-stack-float-head{cursor:grabbing}
.plan-stack-float.is-collapsed .plan-stack-float-head{border-bottom:0}
.plan-stack-grip{width:8px;height:18px;flex-shrink:0;background-image:radial-gradient(#6b6b6b 1px,transparent 1.4px);background-size:4px 4px;opacity:.9}
.plan-stack-float-title{flex:1;min-width:0}.plan-stack-float-title h2{margin:0;font-size:14px}.plan-stack-float-title h2:focus{outline:none}.plan-stack-float-title h2:focus-visible{outline:2px solid #e5e5e5;outline-offset:3px;border-radius:4px}.plan-stack-float-title .sub{margin:2px 0 0;font-size:11px}
.plan-stack-float-tools{display:flex;gap:4px}.plan-stack-tool{width:32px;height:32px;min-height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:13px;cursor:pointer}
.plan-stack-float-body{overflow:auto;overscroll-behavior:contain;padding:12px}
.plan-stack-empty{padding:18px 6px;text-align:center;color:#a8a8a8}.plan-stack-empty p{margin:0 0 6px;color:var(--text)}
.plan-stack-items{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:8px}
.plan-stack-item{padding:10px;border:1px solid #ffffff14;border-radius:10px;background:#181818}
.plan-stack-item-main{display:flex;align-items:center;gap:10px}
.plan-stack-item-name{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;font-size:11px}.plan-stack-item-name strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plan-stack-item-name small{color:#9a9a9a;font-size:10px}
.plan-stack-qty-control{display:flex;align-items:center;gap:4px}.plan-stack-qty-control button{width:30px;min-height:30px;height:30px;padding:0}
.plan-stack-qty-control input{width:46px;min-height:30px;text-align:center;background:#111;border:1px solid #3b3b3b;color:var(--text);border-radius:7px;font-variant-numeric:tabular-nums;font-size:12px;-moz-appearance:textfield}
.plan-stack-qty-control input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.plan-stack-item-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:8px}.plan-stack-item-actions button{min-height:28px;padding:4px 10px;font-size:11px}
.plan-stack-detail{margin-top:8px;padding-top:10px;border-top:1px solid #ffffff12;display:grid;gap:10px}
.plan-stack-detail dl,.plan-stack-totals{margin:0;display:grid;gap:6px}
.plan-stack-detail dl>div{display:flex;justify-content:space-between;gap:12px;font-size:11px}.plan-stack-detail dt{color:#9a9a9a}.plan-stack-detail dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}
.plan-stack-float .plan-stack-scenario{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 12px}
.plan-stack-float .plan-stack-field select,.plan-stack-float .plan-stack-field input{min-height:32px;background:#111;border:1px solid #3b3b3b;color:var(--text);border-radius:7px;padding:5px 8px;font-size:12px;width:100%}
.plan-stack-totals{grid-template-columns:1fr 1fr;gap:8px}
.plan-stack-total{padding:9px 10px;border:1px solid #ffffff12;border-radius:9px;background:#181818}.plan-stack-total dt{color:#9a9a9a;font-size:10px}.plan-stack-total dd{margin:3px 0 0;font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}.plan-stack-total small{display:block;margin-top:4px;color:#8a8a8a;font-size:10px;line-height:1.45}
.plan-stack-total.is-primary dd{font-size:16px}.plan-stack-total.is-wide{grid-column:1/-1}
.plan-stack-float-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid #ffffff12}.plan-stack-float-foot small{color:#8a8a8a;font-size:10px}
/* Phones: a bottom sheet instead of a draggable panel; respects safe-area insets and stays below the top navigation */
@media(max-width:680px){
 :root{--float-gap:16px}
 .plan-stack-launcher{bottom:calc(var(--float-gap) + env(safe-area-inset-bottom,0px))}
 .plan-stack-launcher[aria-expanded="true"]{display:none}
 .plan-stack-float,.plan-stack-float.is-placed{left:0;right:0;top:auto;bottom:0;width:auto;max-height:min(78vh,calc(100vh - 96px));border-radius:16px 16px 0 0;border-bottom:0;padding-bottom:env(safe-area-inset-bottom,0px)}
 .plan-stack-float-head{cursor:default}.plan-stack-grip,[data-desktop-only]{display:none}
 .plan-stack-totals{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.plan-stack-launcher,.plan-stack-float{animation:none!important;transition:none}}
/* Firm website links: the name keeps its brand colour; a subtle underline and arrow appear on hover/focus */
.firm-link{text-decoration:none;text-underline-offset:3px;border-radius:3px}.firm-link:hover,.firm-link:focus-visible{text-decoration:underline;text-decoration-color:color-mix(in srgb,currentColor 45%,transparent)}.firm-link:focus-visible{outline:2px solid #e5e5e5;outline-offset:2px}
.firm-link:not([style]){color:inherit}.firm-link-icon{display:inline-block;margin-left:3px;font-size:.85em;opacity:0;transition:opacity .15s}.firm-link:hover .firm-link-icon,.firm-link:focus-visible .firm-link-icon,.firm-link-icon.is-visible{opacity:.75}
.firm-mark-link{display:inline-flex;flex-shrink:0;border-radius:10px}.firm-mark-link .firm-mark{transition:border-color .15s}.firm-mark-link:hover .firm-mark{border-color:#ffffff45}
@media(prefers-reduced-motion:reduce){.firm-link-icon,.firm-mark-link .firm-mark{transition:none}}
/* Plan Details: Trustpilot line and grouped, scannable sources */
.trustpilot-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin-top:6px;font-size:12px}
.trustpilot-link{color:#d6d6d6;text-decoration:none;font-variant-numeric:tabular-nums}.trustpilot-link:hover,.trustpilot-link:focus-visible{text-decoration:underline;text-underline-offset:3px}.trustpilot-link:focus-visible{outline:2px solid #e5e5e5;outline-offset:2px;border-radius:3px}
.trustpilot-star{color:#e7e7e7}.trustpilot-note{color:#8a8a8a;font-size:10px}
.plan-group-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.plan-group-head h3{margin:0}
.plan-source-group{margin-top:12px}.plan-source-group h4{margin:0 0 6px;font-size:12px;color:#cfcfcf;font-weight:600}
.plan-source-group ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.plan-source-group li{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;padding:8px 10px;border:1px solid #ffffff12;border-radius:8px;background:#161616}
.plan-source-group li a{color:var(--text);text-decoration:none;font-size:12px}.plan-source-group li a:hover,.plan-source-group li a:focus-visible{text-decoration:underline;text-underline-offset:3px}
.plan-source-group li small{color:#8a8a8a;font-size:10px}.plan-source-group li p{flex-basis:100%;margin:2px 0 0;color:#a8a8a8;font-size:11px}
.plan-source-user{color:#bdbdbd!important;font-style:italic}
/* Hidden plans (shown only with Show Hidden Plans) */
.plan-card-hidden{opacity:.55}.plan-card-hidden:hover,.plan-card-hidden:focus-within{opacity:.85}
/* Custom logos: dark artwork gets a light backdrop so it stays visible; artwork itself is never recoloured */
.firm-mark.firm-mark-plate,.firm-logo-preview.firm-mark-plate{background:#e9e9e9;border-color:#ffffff66}
/* Edit Firm panel */
#firm-form{display:grid;gap:16px}
.firm-editor-nav{position:sticky;top:-1px;z-index:2;display:flex;gap:4px;padding:4px;background:#141414;border:1px solid var(--border);border-radius:10px}
.firm-editor-nav button{flex:1;min-height:34px;border:0;background:transparent;color:#a8a8a8;border-radius:7px;font-size:12px;cursor:pointer}.firm-editor-nav button.selected{background:#262626;color:var(--text)}
.firm-editor-section{margin:0;padding:14px;border:1px solid #ffffff14;border-radius:12px;scroll-margin-top:56px}
.firm-editor-section legend{padding:0 6px;font-size:13px;font-weight:600}.firm-editor-section h3{margin:16px 0 4px;font-size:12px}
.firm-accent-row{display:flex;align-items:center;gap:8px}.firm-accent-row input[type=color]{width:40px;height:36px;padding:2px;border:1px solid #3b3b3b;border-radius:8px;background:#111;cursor:pointer}.firm-accent-row input:not([type=color]){width:110px;font-variant-numeric:tabular-nums;text-transform:uppercase}
.firm-accent-sample{font-size:13px;font-weight:600;color:#cfcfcf;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.firm-logo-editor{display:grid;grid-template-columns:200px 1fr;gap:14px;align-items:start;margin-top:14px}
.firm-logo-editor>div:first-child{display:grid;gap:6px;justify-items:start}.firm-logo-editor>div:first-child small{color:#8a8a8a;font-size:10px}
.firm-logo-preview{display:flex;align-items:center;justify-content:center;width:200px;height:72px;padding:10px;border:1px solid #ffffff1f;border-radius:10px;background:#1c1c1c}
.firm-logo-preview img{max-width:100%;max-height:100%;object-fit:contain}
.firm-logo-actions{display:grid;gap:8px;justify-items:start}.firm-logo-actions small{color:#8a8a8a;font-size:10px;line-height:1.5}
.firm-file-button{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border:1px solid #3b3b3b;border-radius:8px;cursor:pointer;font-size:12px}.firm-file-button:focus-within{outline:2px solid #e5e5e5;outline-offset:2px}
.firm-source-list{list-style:none;margin:8px 0;padding:0;display:grid;gap:8px}
.firm-source-row{display:grid;gap:8px;padding:10px;border:1px solid #ffffff12;border-radius:10px;background:#161616}
.firm-source-fields{display:grid;grid-template-columns:1fr 1.4fr 150px;gap:8px}.firm-source-fields .full{grid-column:1/-1}
.firm-source-tools{display:flex;align-items:center;justify-content:flex-end;gap:6px}.firm-source-tools small{margin-right:auto;color:#8a8a8a;font-size:10px}.firm-source-tools button{min-height:30px;padding:3px 10px;font-size:11px}
#firm-form .modalfooter .firm-reset{margin-right:auto}
@media(max-width:680px){.firm-logo-editor{grid-template-columns:1fr}.firm-source-fields{grid-template-columns:1fr}.firm-editor-nav button{font-size:11px}}
/* Cursor glow on plan cards: the glow layer is absolutely positioned, so the card must be its containing
   block; otherwise it anchors to a distant ancestor and drifts away from the cursor. */
.plan-card.panel-glow{position:relative}.plan-card .panel-glow-light{transition:left .08s linear,top .08s linear}
/* Plan Library: multi-select firm filter */
.library-multi{position:relative}
.library-multi-button{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;min-width:170px;min-height:38px;padding:0 12px;background:#141414;border:1px solid #3b3b3b;border-radius:8px;color:var(--text);font-size:12px;cursor:pointer}
.library-multi-button span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}
.library-multi-button:focus-visible{outline:2px solid #e5e5e5;outline-offset:2px}
.library-multi-list{position:absolute;z-index:30;top:calc(100% + 6px);left:0;min-width:240px;max-height:320px;overflow:auto;padding:6px;background:#161616;border:1px solid #ffffff26;border-radius:10px;box-shadow:0 18px 50px #000000b3}
.library-multi-option{display:flex;align-items:center;gap:9px;padding:8px 9px;border-radius:7px;font-size:12px;cursor:pointer}.library-multi-option:hover{background:#222}
.library-multi-option input{width:15px;height:15px;accent-color:#d9d9d9}
.library-multi-foot{display:flex;justify-content:space-between;gap:6px;padding:6px 3px 2px;margin-top:4px;border-top:1px solid #ffffff12}.library-multi-foot button{min-height:30px;padding:3px 10px;font-size:11px}
/* Card actions: four equal buttons on every card */
.plan-card-actions button.plan-card-remove{color:#bdbdbd}
/* Template form (Plan Desk layout) */
#template-form{display:grid;gap:14px}
.template-section{margin:0;padding:14px;border:1px solid #ffffff14;border-radius:12px}
.template-section legend{padding:0 6px;font-size:13px;font-weight:600}
.template-section .hintline{margin:0 0 10px}
.template-advanced summary{cursor:pointer;font-size:13px;font-weight:600}.template-advanced[open] summary{margin-bottom:10px}
#template-form .errorbox:empty{display:none}
.library-multi-option{justify-content:flex-start;text-align:left;margin:0}.library-multi-option span{flex:1}
.library-multi-option input[type=checkbox]{flex:0 0 auto;width:15px;height:15px;min-height:0;min-width:0;margin:0;padding:0;border-radius:3px}
/* Firm logos are square everywhere: official app icons fill the box; any wide custom logo is contained
   inside the same square, so cards and Plan Stack rows keep identical dimensions. */
.firm-mark.firm-mark-logo,.firm-mark.firm-mark-logo.firm-mark-wordmark{width:44px;height:44px;padding:0}
.firm-mark.firm-mark-icon img{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover}
.firm-mark.firm-mark-wordmark img{width:100%;height:100%;max-height:none;object-fit:contain;padding:5px}
.plan-row-name .firm-mark.firm-mark-logo{width:34px;height:34px}
.firm-mark.firm-mark-sm.firm-mark-logo,.firm-mark.firm-mark-sm.firm-mark-wordmark{width:26px;height:26px}
.firm-mark.firm-mark-sm.firm-mark-wordmark img{padding:2px}
@media(max-width:680px){.firm-mark.firm-mark-wordmark:not(.firm-mark-sm){width:44px;padding:0}}
/* Trustpilot stars under the plan name (Plan Desk style); fill uses the firm text colour */
.plan-card-rating{display:flex;align-items:center;gap:8px;min-height:18px;margin-top:2px;font-size:11px;color:#9a9a9a}.plan-card-rating small{color:#8a8a8a;font-size:10px}
.tp-stars{display:inline-flex;align-items:center;gap:5px;color:#a8a8a8;text-decoration:none;font-size:11px;font-variant-numeric:tabular-nums}.tp-stars:hover .tp-stars-value,.tp-stars:focus-visible .tp-stars-value{text-decoration:underline;text-underline-offset:3px}.tp-stars:focus-visible{outline:2px solid #e5e5e5;outline-offset:2px;border-radius:3px}
.tp-stars-glyphs{position:relative;display:inline-block;line-height:1;letter-spacing:1px;font-size:12px}.tp-stars-base{color:#3d3d3d}.tp-stars-fill{position:absolute;left:0;top:0;overflow:hidden;white-space:nowrap;color:var(--firm-text,#e7e7e7)}
.tp-stars-count{color:#7a7a7a}.tp-stars-empty .tp-stars-value{color:#8a8a8a}
/* Plan Stack rows: one line height for the price line whether the cost is known or not */
.plan-stack-item-name small{line-height:1.4}.plan-stack-item-name small strong,.plan-stack-item-name small span{font-size:inherit;line-height:inherit}
/* Hover border in the firm's accent colour (neutral firms keep the silver highlight) */
.plan-card[style]{transition:border-color .2s}
.plan-card[style]:hover,.plan-card[style]:focus-within{border-color:#ffffff2e;border-color:color-mix(in srgb,var(--firm-accent) 55%,transparent)}
.plan-card[style] .panel-glow-surface{border-color:color-mix(in srgb,var(--firm-accent) 60%,transparent)}
@media(prefers-reduced-motion:reduce){.plan-card[style]{transition:none}}
/* Card logos match the height of the firm name, plan name and Trustpilot rating block */
.plan-card-head .firm-mark,.plan-card-head .firm-mark.firm-mark-logo,.plan-card-head .firm-mark.firm-mark-logo.firm-mark-wordmark{width:62px;height:62px;border-radius:12px}
.plan-card-head .firm-mark-monogram{font-size:16px}
/* Plan Stack rows: the same firm-coloured hover border as the plan cards */
.plan-stack-item{transition:border-color .2s}.plan-stack-item:hover,.plan-stack-item:focus-within{border-color:#ffffff2e}
.plan-stack-item[style]:hover,.plan-stack-item[style]:focus-within{border-color:color-mix(in srgb,var(--firm-accent) 55%,transparent)}
@media(prefers-reduced-motion:reduce){.plan-stack-item{transition:none}}
.library-multi-all{border-bottom:1px solid #ffffff12;border-radius:7px 7px 0 0;margin-bottom:4px;padding-bottom:10px}
.plan-stack-capped{color:#e3b0b0!important}
/* Optical sizing: logos without their own tile are scaled so their artwork matches the others */
.firm-mark.firm-mark-icon img{transform:scale(var(--logo-scale,1));transform-origin:center}
/* Compare Plans: the better value per row in the firm's colour (silver for neutral firms) */
.plan-compare-table td.plan-compare-best{background:color-mix(in srgb,var(--firm-accent,#d9d9d9) 13%,transparent);outline:1px solid color-mix(in srgb,var(--firm-accent,#d9d9d9) 55%,transparent);outline-offset:-1px;color:var(--firm-text,#f0f0f0);font-weight:600}
.plan-compare-note{padding:10px 16px 14px;margin:0}
/* Add Account: firm plan picker */
.account-plan-picker{display:grid;gap:14px;max-height:62vh;overflow:auto;padding-right:4px}
.account-plan-firm h4{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-size:13px}
.account-plan-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}
.account-plan-option{display:grid;gap:3px;justify-items:start;text-align:left;padding:10px 12px;min-height:54px}.account-plan-option strong{font-size:12px}.account-plan-option small{color:#9a9a9a;font-size:10px}
/* Plan Stack checkout */
.plan-stack-float-foot .primary{margin-left:auto}
.checkout-list{list-style:none;margin:12px 0;padding:0;display:grid;gap:6px}.checkout-list li{display:flex;align-items:center;gap:10px;padding:9px 11px;border:1px solid #ffffff14;border-radius:9px;background:#161616;font-size:12px}.checkout-list li span{flex:1}
.account-plan-picker .account-plan-option{display:grid;justify-content:stretch;justify-items:start;align-content:center;text-align:left}
/* Add Account picker: equal boxes with the plan name only */
.account-plan-options{grid-auto-rows:1fr}
.account-plan-picker .account-plan-option{min-height:52px;height:100%;align-content:center}
.account-plan-option strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.35}
/* Quick Add: number of accounts and one name per account */
#quick-add-form{display:grid;gap:14px}
.quick-add-plan{padding:14px;border:1px solid #ffffff14;border-radius:12px;display:grid;gap:10px}.quick-add-plan h3{display:flex;align-items:center;gap:8px;margin:0;font-size:13px}
.quick-add-count{max-width:200px}.quick-add-names{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.account-plan-picker .account-plan-option{height:58px;min-height:58px}
/* Accounts: coloured stage, status and progress labels */
.badge.account-stage,.badge.account-status{border:1px solid transparent}
.badge.account-stage-funded{color:#cdb2ff;background:#9b6dff1f;border-color:#9b6dff55}
.badge.account-stage-evaluation{color:#9cc2ff;background:#5b8def1f;border-color:#5b8def55}
.badge.account-stage-live{color:#93dcae;background:#3fb86c1f;border-color:#3fb86c55}
.badge.account-status-active{color:#93dcae;background:#3fb86c1f;border-color:#3fb86c55}
.badge.account-status-paused{color:#ecd07a;background:#d9a92a1f;border-color:#d9a92a55}
.badge.account-status-breached,.badge.account-status-closed{color:#f0a0a0;background:#d64d4d1f;border-color:#d64d4d55}
.payout-status.account-progress-pending{color:#ecd07a;background:#d9a92a14;border-color:#d9a92a66}
.payout-status.account-progress-passed{color:#93dcae;background:#3fb86c18;border-color:#3fb86c77}
.payout-status.account-progress-breached{color:#f0a0a0;background:#d64d4d14;border-color:#d64d4d66}
/* Accounts: firm logo in the name column; sortable column headings */
.namecell .firm-mark,.namecell .firm-mark.firm-mark-logo{width:36px;height:36px;border-radius:9px;flex-shrink:0}.namecell .firm-mark-monogram{font-size:11px}
.accounts-sort-head{display:inline-flex;align-items:center;gap:6px;padding:0;min-height:0;border:0;background:none;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}
.accounts-sort-head:hover,.accounts-sort-head.is-sorted{color:var(--text)}.accounts-sort-head:focus-visible{outline:2px solid #e5e5e5;outline-offset:3px;border-radius:3px}
.accounts-sort-arrow{font-size:10px;opacity:.45}.accounts-sort-head.is-sorted .accounts-sort-arrow{opacity:1}
/* Quick Add: one account name per row */
.quick-add-names{grid-template-columns:1fr}
.quick-add-count select{width:100%}.quick-add-full{margin:0;color:#ecd07a;font-size:12px}
.accounts-sort-chips{display:none;flex-wrap:wrap;gap:6px;padding:0 16px 12px}.accounts-sort-chips.is-grid{display:flex}
.accounts-sort-chip{min-height:30px;padding:4px 10px;border:1px solid #ffffff1f;border-radius:999px;background:#141414;color:#a8a8a8;font-size:11px;cursor:pointer}.accounts-sort-chip.is-sorted{color:var(--text);border-color:#ffffff4d;background:#1f1f1f}
@media(max-width:680px){.accounts-sort-chips{display:flex;padding:0 10px 10px}}
/* Accounts: multi-select and bulk actions */
.account-select{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;cursor:pointer}
.account-select input{width:16px;height:16px;margin:0;accent-color:#e5e5e5;cursor:pointer}
.account-select input:focus-visible{outline:2px solid #e5e5e5;outline-offset:2px}
.accounts-table th.account-select-cell,.accounts-table td.account-select-cell{padding-left:10px;padding-right:0;text-align:center}
.account-row.is-selected td{background:#ffffff0a}
.account-card>.account-select{position:absolute;top:10px;right:10px;z-index:1}
.account-card.is-selected{border-color:#9a9a9a}
.account-card .namecell{padding-right:30px}
.accounts-bulk{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 16px 12px;padding:8px 10px;border:1px solid #3b3b3b;border-radius:10px;background:#141414}
.accounts-bulk-count{font-size:12px;color:var(--muted);margin-right:4px}.accounts-bulk-count b{color:var(--text)}
.accounts-bulk button{min-height:36px;font-size:12px}.accounts-bulk-clear{margin-left:auto}
.bulk-log-rows{display:grid;gap:10px;margin:12px 0}
.bulk-log-row{margin:0;padding:10px 12px;border:1px solid var(--border);border-radius:10px}
.bulk-log-row legend{padding:0 6px;font-size:13px;font-weight:600}.bulk-log-row legend small{margin-left:8px;font-weight:400;color:var(--muted)}
.bulk-log-row .formgrid{grid-template-columns:repeat(3,minmax(0,1fr))}
.payout-status.account-progress-failed,.payout-status.account-progress-closed{color:#f0a0a0;background:#d64d4d14;border-color:#d64d4d66}
@media(max-width:680px){.accounts-bulk{margin:0 10px 12px}.accounts-bulk .accounts-select{flex:1 1 100%}.accounts-bulk button{min-height:40px}.accounts-bulk-clear{margin-left:0}.bulk-log-row .formgrid{grid-template-columns:1fr}.account-select{width:40px;height:40px}}
@media(max-width:680px){.accounts-table tr{position:relative}.accounts-table td.account-select-cell{position:absolute;top:8px;right:6px;padding:0}.accounts-table td:nth-child(2){grid-column:1/-1;padding-right:40px}.accounts-table td.account-select-cell:first-child{grid-column:auto}}
/* Add Account: plan picker and Quick Add in the site's card style (soft surfaces, medium weights, firm-colour hover) */
.account-plan-picker{gap:20px}
.account-plan-firm h4{gap:10px;margin:0 0 10px;font-size:12px;font-weight:500;color:var(--muted);letter-spacing:.02em}
.account-plan-picker .account-plan-option{gap:2px;padding:10px 14px;background:#181818;border:1px solid var(--border);border-radius:10px;color:var(--text);font-weight:400;transition:border-color .2s,background-color .2s}
.account-plan-picker .account-plan-option:hover,.account-plan-picker .account-plan-option:focus-visible{background:#1d1d1d;border-color:#ffffff2e}
.account-plan-firm[style] .account-plan-option:hover,.account-plan-firm[style] .account-plan-option:focus-visible{border-color:color-mix(in srgb,var(--firm-accent) 55%,transparent)}
.account-plan-size{font-size:10px;font-weight:500;letter-spacing:.08em;color:var(--muted)}
.account-plan-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13px;font-weight:400;line-height:1.3}
.quick-add-plan{gap:14px;padding:16px;background:#181818;border-color:var(--border)}
.quick-add-plan[style]{border-color:color-mix(in srgb,var(--firm-accent) 22%,var(--border))}
.quick-add-plan h3{gap:10px;font-weight:500}
.quick-add-title{display:grid;gap:2px;font-size:14px;font-weight:500;color:var(--text)}.quick-add-title small{font-size:11px;font-weight:400;color:var(--muted)}
.quick-add-count small{color:var(--muted)}
@media(prefers-reduced-motion:reduce){.account-plan-picker .account-plan-option{transition:none}}
/* ===== Theme: app-wide tokens and primitives =====
   One type scale (11/12/13/14/16/20/28), three weights (400/500/600), Title Case everywhere, and real
   status colours. This block comes last so it overrides older rules; feature blocks keep their layout.
   Inter (latin subset) is bundled locally: Copyright 2020 The Inter Project Authors, SIL Open Font
   License 1.1 (docs/licenses/Inter-OFL.txt, https://openfontlicense.org). */
@font-face{font-family:'Inter';font-style:normal;font-weight:400 600;font-display:swap;src:url(assets/inter-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{
 --font-ui:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
 --bg:#0a0a0a;--panel:#141414;--panel2:#1b1b1b;--surface:#181818;--surface-hover:#1d1d1d;--field:#101010;
 --border:#2c2c2c;--border-strong:#3a3a3a;--border-soft:#ffffff14;
 --text:#f0f0f0;--text-2:#c6c6c6;--muted:#9a9a9a;--faint:#727272;
 --accent:#eeeeee;--lime:var(--accent);
 --positive:#82cf9f;--negative:#e89b9b;--warning:#e6c46e;--info:#9cc2ff;--violet:#cdb2ff;
 --green:var(--positive);--red:var(--negative);--amber:var(--warning);
 --fs-xs:11px;--fs-sm:12px;--fs-md:13px;--fs-base:14px;--fs-lg:16px;--fs-xl:20px;--fs-2xl:28px;
 --fw-regular:400;--fw-medium:500;--fw-semibold:600;
 --radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius:14px;
 --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;
 --shadow-1:0 10px 35px #00000066;--shadow-2:0 24px 80px #0000008c;
 --chart-payouts:#6d9e87;--chart-costs:#bb7c80;--chart-net:#7b99b4;--chart-line:#ededed;--chart-grid:#ffffff0f
}
body{font-family:var(--font-ui);font-weight:var(--fw-regular);background:var(--bg)}
h1{font-size:var(--fs-2xl);font-weight:var(--fw-semibold);letter-spacing:-.8px}
.pagehead h1{font-weight:var(--fw-semibold);letter-spacing:-.8px}
.pagehead p,.sub{font-size:var(--fs-sm);color:var(--muted)}
h2{font-size:15px;font-weight:var(--fw-semibold)}h3{font-size:var(--fs-base);font-weight:var(--fw-semibold)}
.eyebrow{font-size:var(--fs-xs);font-weight:var(--fw-medium);letter-spacing:.3px;color:var(--muted);text-transform:none}
.navlabel{font-size:var(--fs-xs);font-weight:var(--fw-medium);letter-spacing:.3px}
.notes,.hintline{font-size:var(--fs-sm)}
/* Cards and panels */
.panel{background:var(--panel);border-color:var(--border);border-radius:var(--radius)}
.stat{background:linear-gradient(135deg,#1a1a1a,#131313);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4) 18px}
.stathead{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--muted)}
.statvalue{font-size:clamp(22px,2vw,28px);font-weight:var(--fw-semibold);letter-spacing:-.8px}
.statmeta{font-size:var(--fs-xs)}
.metricmini{background:var(--surface);border-color:var(--border);border-radius:var(--radius-lg)}
.rulerow{font-size:var(--fs-sm)}
/* Buttons */
button{font-weight:var(--fw-medium);border-radius:var(--radius-md)}
.primary{font-weight:var(--fw-semibold)}
.danger{color:var(--negative)}.danger:hover{border-color:color-mix(in srgb,var(--negative) 45%,var(--border))}
/* Form fields */
.field span{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-2)}
.field input,.field select,.field textarea{background:var(--field);border-color:var(--border-strong);border-radius:var(--radius-md);font-size:var(--fs-md);min-height:38px}
.field small{font-size:var(--fs-xs)}
.formsection{font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--text)}
/* Badges, tables, notices */
.badge{font-size:var(--fs-xs);font-weight:var(--fw-medium);border-radius:var(--radius-sm)}
.badge.red{color:var(--negative);background:#d64d4d1f}.badge.amber{color:var(--warning);background:#d9a92a1f}
th{font-size:var(--fs-xs);font-weight:var(--fw-medium);text-transform:none;letter-spacing:.2px;color:var(--muted)}
td{font-size:var(--fs-sm)}
.callout{border-radius:var(--radius-md);font-size:var(--fs-sm)}
.callout.amber{border-color:color-mix(in srgb,var(--warning) 35%,var(--border));color:var(--text-2)}
.notice{border-radius:var(--radius-md);font-size:var(--fs-sm)}
.errorbox{color:var(--negative);border-color:color-mix(in srgb,var(--negative) 40%,var(--border));border-radius:var(--radius-md);background:#d64d4d12}
.positive{color:var(--positive)}.negative{color:var(--negative)}
/* Dialogs and toast */
dialog{border-color:var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow-2)}
.modalhead h2{font-size:18px;font-weight:var(--fw-semibold)}
#toast{border-radius:var(--radius-md);box-shadow:var(--shadow-1);font-size:var(--fs-md);font-weight:var(--fw-medium)}
/* Minimum readable sizes: nothing below 10px */
.smalltag,.plan-price small,.info-box-status,.account-reason,.plan-sale-note,.plan-stack-table small,.payout-day-ring small{font-size:10px}
.firmicon{font-weight:var(--fw-semibold)}
/* Shared empty state (ui.js) */
.ui-empty{padding:28px 16px;text-align:center}.ui-empty h3{margin:0 0 6px}.ui-empty p{margin:0;color:var(--muted);font-size:var(--fs-sm)}
/* Plan Library ↔ Accounts links */
.plan-used-link{display:inline-flex;min-height:0;padding:0;border:0;background:none;color:var(--text-2);font-size:var(--fs-xs);font-weight:var(--fw-medium);text-decoration:underline;text-decoration-color:#ffffff40;text-underline-offset:3px;cursor:pointer}
.plan-used-link:hover{color:var(--text);text-decoration-color:currentColor}
.plan-card-rating .plan-used-link{margin-left:auto}.plan-row-name .plan-used-link{display:block;margin-top:2px}
.accounts-plan-filter{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 16px 12px;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);font-size:var(--fs-sm);color:var(--muted)}.accounts-plan-filter strong{color:var(--text);font-weight:var(--fw-medium)}.accounts-plan-filter button{min-height:32px;font-size:var(--fs-sm)}
/* Risk Lab, Payout Planner, Settings and Integrations: shared chart tokens and spacing classes (no inline styles) */
.chart-grid-line{stroke:var(--chart-grid);stroke-dasharray:3 5}
.chart-area{fill:var(--chart-net);opacity:.08}.chart-band{fill:var(--chart-net);opacity:.16}
.chart-profit{fill:none;stroke:var(--chart-net);stroke-width:2.2;stroke-linejoin:round}
.chart-floor{fill:none;stroke:var(--chart-costs);stroke-width:1.5;stroke-dasharray:5 5}
.chart text{font-size:var(--fs-xs)}
.legend i{background:var(--chart-net)}.legend i.legend-band{opacity:.35}.legend i.legend-floor{background:var(--chart-costs)}
.form-submit{width:100%;margin-top:var(--space-5)}
.empty svg+h3{margin-top:var(--space-4)}
.integration-title{margin-top:var(--space-4)}
.section-gap{margin-top:var(--space-6)}
.checkfield-spaced{margin-top:var(--space-4)}
/* Phone layout fixes (pre-existing overflow): hidden data tables sit off-screen to the left, where they
   can never widen the page; the Risk Lab layout stacks; public pages clip decorative overflow */
table.sr-only{left:-10000px;top:auto}
.risk-layout{grid-template-columns:minmax(260px,.9fr) minmax(0,1.65fr)}
@media(max-width:900px){.risk-layout{grid-template-columns:1fr}}
@media(max-width:680px){.risk-layout .stats{grid-template-columns:1fr}}

.plan-library>*,.plan-compare,.plan-compare .tablewrap{min-width:0;max-width:100%}
/* Phone browsers otherwise widen the page to fit the scrolled Compare table */
.plan-compare .tablewrap{contain:paint}
/* Quick Look reasons and ready highlights (green = passed or eligible for payout) */
.payout-status-passed{background:#13211a;color:#9fd0b3;border-color:#6d9e87b0;box-shadow:0 0 7px #6d9e8738}
.payout-status-near-breach{background:#d64d4d14;color:var(--negative);border-color:#d64d4d66}
.payout-status-near-pass,.payout-status-near-payout{background:#5b8def14;color:var(--info);border-color:#5b8def66}
/* Cash Flow: Line / Bar switch and grouped bars */
.cash-type-toggle button{min-height:34px}
.cash-bars rect{stroke:none}.cash-bars.cash-payouts rect{fill:var(--cash-payouts)}.cash-bars.cash-expenses rect{fill:var(--cash-expenses)}.cash-bars.cash-afterTax rect{fill:var(--cash-net)}
/* Pulsing outlines: green = eligible for payout or passed (Quick Look and Accounts), red = near breach (Quick Look) */
:root{--payout-pulse:2.8s}
.account-row{position:relative}.account-card .payout-row-outline{border-radius:12px}
.payout-row-outline-danger{border-color:#d64d4d99;box-shadow:0 0 6px #d64d4d38;animation-name:payout-row-danger}
@keyframes payout-row-danger{0%,100%{border-color:#d64d4d88;box-shadow:0 0 6px #d64d4d33}50%{border-color:#ee8a8ae6;box-shadow:0 0 14px #d64d4d6e}}
.overview-account-row.payout-danger td{background:transparent}
@media(prefers-reduced-motion:reduce){.payout-row-outline-danger{animation:none;border-color:#d64d4dad;box-shadow:0 0 7px #d64d4d38}}
/* Goals */
.goals-pace{margin-bottom:20px}
.goals-pace-body{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto;gap:20px;align-items:center;padding:18px 21px}
.goals-pace-body span{display:block;font-size:var(--fs-sm);color:var(--muted)}
.goals-pace-body strong{display:block;margin:4px 0 2px;font-size:var(--fs-2xl);font-weight:var(--fw-semibold);letter-spacing:-.6px;font-variant-numeric:tabular-nums}
.goals-pace-body strong small{font-size:var(--fs-md);font-weight:var(--fw-medium);color:var(--muted);margin-left:3px;letter-spacing:0}
.goals-pace-body p{margin:0;font-size:var(--fs-xs);color:var(--muted)}
.goal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.goal-card{position:relative;display:flex;flex-direction:column;gap:14px;padding:18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:border-color .2s,box-shadow .3s}
.goal-card::before{content:"";position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,transparent,var(--goal-accent),transparent);opacity:.55}
.goal-card:hover{border-color:color-mix(in srgb,var(--goal-accent) 45%,var(--border))}
.goal-head{display:flex;align-items:center;gap:12px}.goal-head>div{min-width:0;flex:1}
.goal-head h3{margin:0;font-size:15px;font-weight:var(--fw-semibold);overflow-wrap:anywhere}.goal-head p{margin:2px 0 0;font-size:var(--fs-xs);color:var(--muted)}
.goal-mark{display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;border-radius:10px;color:var(--goal-accent);background:color-mix(in srgb,var(--goal-accent) 13%,#151515);border:1px solid color-mix(in srgb,var(--goal-accent) 28%,transparent)}
.goal-emoji{font-size:20px;line-height:1}
.goal-badge{flex-shrink:0;padding:3px 9px;border-radius:999px;font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--goal-accent);background:color-mix(in srgb,var(--goal-accent) 12%,transparent);border:1px solid color-mix(in srgb,var(--goal-accent) 45%,transparent)}
.goal-amounts{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.goal-amounts strong{font-size:24px;font-weight:var(--fw-semibold);letter-spacing:-.5px;font-variant-numeric:tabular-nums}
.goal-amounts span{font-size:var(--fs-sm);color:var(--muted)}
.goal-pct{margin-left:auto;font-size:var(--fs-lg);font-weight:var(--fw-semibold);color:var(--goal-accent);font-variant-numeric:tabular-nums}
.goal-track{position:relative;height:8px;border-radius:999px;background:#262626;overflow:hidden}
.goal-fill{position:absolute;inset:0 auto 0 0;width:calc(var(--goal-progress,0) * 100%);border-radius:inherit;background:linear-gradient(90deg,color-mix(in srgb,var(--goal-accent) 55%,#1a1a1a),var(--goal-accent));transition:width 1.1s cubic-bezier(.22,.7,.3,1)}
.goal-fill::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,#ffffff40 50%,transparent 70%);background-size:220% 100%;animation:goal-sheen 3.2s linear infinite}
@keyframes goal-sheen{from{background-position:120% 0}to{background-position:-120% 0}}
.goal-projection{margin:0;font-size:var(--fs-sm);color:var(--text-2)}.goal-reached-text{color:var(--goal-accent);font-weight:var(--fw-medium)}
.goal-tools{display:flex;justify-content:flex-end;gap:6px;margin-top:auto}
.goal-tool{width:32px;height:32px;min-height:32px;padding:0}.goal-tool:disabled{opacity:.35}
.goal-card.is-reached{border-color:color-mix(in srgb,var(--goal-accent) 55%,var(--border));box-shadow:0 0 0 1px color-mix(in srgb,var(--goal-accent) 18%,transparent),0 0 22px color-mix(in srgb,var(--goal-accent) 16%,transparent)}
.goal-card.just-reached::after{content:"";position:absolute;left:50%;top:50%;width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:50%;border:2px solid var(--goal-accent);pointer-events:none;animation:goal-burst 1.1s ease-out 1 forwards}
@keyframes goal-burst{0%{transform:scale(.4);opacity:.9}100%{transform:scale(9);opacity:0}}
.goal-presets{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:14px}
.goal-preset{gap:7px;font-size:var(--fs-sm)}.goal-preset svg{color:var(--goal-accent)}
.goals-add{margin-top:18px}.goals-add .goal-presets{justify-content:flex-start;margin-top:0}
.goal-form-note{grid-column:1/-1}
@media(max-width:900px){.goals-pace-body{grid-template-columns:1fr 1fr}.goals-pace-body .accounts-view-toggle{grid-column:1/-1}}
@media(max-width:680px){.goals-pace-body{grid-template-columns:1fr;padding:16px}.goal-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.goal-fill{transition:none}.goal-fill::after{animation:none;display:none}.goal-card.just-reached::after{animation:none;display:none}}
/* Goals: shares, archive */
.goals-pace-body{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr) auto}
.goal-archive{gap:6px;min-height:32px;margin-right:auto;font-size:var(--fs-sm);color:var(--goal-accent);border-color:color-mix(in srgb,var(--goal-accent) 40%,var(--border))}
.goals-archived{margin-top:28px}.goals-archived h2{display:flex;align-items:center;gap:8px;margin:0}.goals-archived>.sub{margin:4px 0 14px}
.goal-card.is-archived{opacity:.82;box-shadow:none}.goal-card.is-archived .goal-fill::after{display:none}
.goal-archived-on{margin-right:auto;align-self:center;font-size:var(--fs-xs);color:var(--muted)}
@media(max-width:900px){.goals-pace-body{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.goals-pace-body{grid-template-columns:1fr}}
/* Payout celebration (ui.js celebratePayout): green = payouts. Decorative, click-through, about 3 seconds */
.payout-celebration{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;pointer-events:none;--cash-payouts:#6d9e87;background:radial-gradient(circle at 50% 50%,#0b120ee6 0,#050505b3 45%,#05050500 75%);animation:cel-veil 2.9s ease both}
.celebration-core{position:relative;display:grid;justify-items:center;gap:6px;text-align:center;animation:cel-core 2.9s cubic-bezier(.2,.8,.2,1) both}
.celebration-mark{width:92px;height:92px;fill:none;stroke:var(--cash-payouts);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 14px #6d9e8755);margin-bottom:10px}
.celebration-mark circle{stroke-dasharray:176;stroke-dashoffset:176;animation:cel-draw .7s .1s cubic-bezier(.6,0,.2,1) forwards}
.celebration-mark path{stroke:#e9f3ee;stroke-width:3;stroke-dasharray:40;stroke-dashoffset:40;animation:cel-draw .4s .6s cubic-bezier(.6,0,.2,1) forwards}
.celebration-label{margin:0;font:600 12px var(--font-ui);letter-spacing:1.6px;text-transform:uppercase;color:#a9c9b9}
.celebration-amount{font:650 44px/1.05 var(--font-ui);letter-spacing:-1px;font-variant-numeric:tabular-nums;color:#f2f7f4;text-shadow:0 0 28px #6d9e8744}
.celebration-core small{font:500 12px var(--font-ui);color:var(--muted)}
.celebration-rings,.celebration-sparks{position:absolute;left:50%;top:46px;width:0;height:0}
.celebration-rings span{position:absolute;left:-46px;top:-46px;width:92px;height:92px;border-radius:50%;border:1px solid #6d9e87;opacity:0;animation:cel-ring 1.6s cubic-bezier(.2,.7,.2,1) forwards}
.celebration-rings span:nth-child(2){animation-delay:.25s}.celebration-rings span:nth-child(3){animation-delay:.5s}
.celebration-sparks i{position:absolute;left:-2px;top:-2px;width:4px;height:4px;border-radius:50%;background:#cfe3d8;opacity:0;transform:rotate(var(--a));animation:cel-spark 1.3s calc(.35s + var(--t)) cubic-bezier(.15,.7,.3,1) forwards}
.celebration-sparks i:nth-child(odd){background:var(--cash-payouts)}
@keyframes cel-veil{0%{opacity:0}10%,78%{opacity:1}100%{opacity:0}}
@keyframes cel-core{0%{opacity:0;scale:.9}14%{opacity:1;scale:1}80%{opacity:1;scale:1}100%{opacity:0;scale:.98}}
@keyframes cel-draw{to{stroke-dashoffset:0}}
@keyframes cel-ring{0%{opacity:.55;scale:.8}100%{opacity:0;scale:2.8}}
@keyframes cel-spark{0%{opacity:0;transform:rotate(var(--a)) translateY(0)}20%{opacity:1}100%{opacity:0;transform:rotate(var(--a)) translateY(calc(var(--d) * -1))}}
@media(prefers-reduced-motion:reduce){.payout-celebration{display:none}}
/* Goal celebration (ui.js celebrateGoals): the goal's accent, a ring filling to 100%, a gentle medal rise */
.goal-celebration{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;pointer-events:none;--goal-accent:#d9d9d9;background:radial-gradient(circle at 50% 50%,#0c0c10e6 0,#050505b3 45%,#05050500 75%);animation:cel-veil 3.4s ease both}
.goal-celebration .celebration-core{animation-duration:3.4s}
.goal-cel-medal{position:relative;width:112px;height:112px;margin-bottom:12px;animation:goal-cel-rise .9s cubic-bezier(.2,.8,.2,1) both}
.goal-cel-medal>svg{position:absolute;inset:0;rotate:-90deg;fill:none}.goal-cel-icon svg{width:40px;height:40px}
.goal-cel-track{stroke:#ffffff14;stroke-width:4}
.goal-cel-fill{stroke:var(--goal-accent);stroke-width:4;stroke-linecap:round;stroke-dasharray:277;stroke-dashoffset:277;filter:drop-shadow(0 0 10px color-mix(in srgb,var(--goal-accent) 45%,transparent));animation:cel-draw 1.1s .2s cubic-bezier(.6,0,.2,1) forwards}
.goal-cel-icon{position:absolute;inset:0;display:grid;place-items:center;color:var(--goal-accent);font-size:38px;animation:goal-cel-pop .5s 1.2s cubic-bezier(.3,1.6,.5,1) both}
.goal-cel-name{font:650 34px/1.1 var(--font-ui);letter-spacing:-.6px;color:#f4f4f4;max-width:min(80vw,520px);overflow-wrap:anywhere}
.goal-celebration .celebration-label{color:var(--goal-accent)}
.goal-celebration .celebration-core small{font:500 12px var(--font-ui);color:var(--muted)}
.goal-celebration .celebration-sparks{top:56px}
.goal-celebration .celebration-sparks i{background:var(--goal-accent);animation-delay:calc(1.2s + var(--t))}
.goal-celebration .celebration-sparks i:nth-child(3n){background:#f2f2f2}
@keyframes goal-cel-rise{0%{opacity:0;translate:0 14px}100%{opacity:1;translate:0 0}}
@keyframes goal-cel-pop{0%{opacity:0;scale:.6}100%{opacity:1;scale:1}}
@media(prefers-reduced-motion:reduce){.goal-celebration{display:none}}
.goal-cel-icon .goal-emoji{font-size:40px;line-height:1}
/* Goal celebration rings: like the payout rings, in the goal's accent, sent out as the ring completes */
.goal-celebration .celebration-rings{top:56px}
.goal-celebration .celebration-rings span{left:-56px;top:-56px;width:112px;height:112px;border-color:var(--goal-accent);animation-duration:1.8s;animation-delay:1.1s}
.goal-celebration .celebration-rings span:nth-child(2){animation-delay:1.35s}.goal-celebration .celebration-rings span:nth-child(3){animation-delay:1.6s}
/* Profile menu (profile-menu.js): the sidebar profile opens a small panel with Sign Out */
.profile-menu{position:relative;margin:20px 0 0}
.sidebar .profile-trigger{width:100%;margin:0;padding:8px;justify-content:flex-start;gap:10px;text-align:left;background:none;border:1px solid transparent;border-radius:10px;color:var(--text);font-weight:600;font-size:13px}
.sidebar .profile-trigger:hover,.sidebar .profile-trigger[aria-expanded="true"]{background:#1d1d1d;border-color:var(--border)}
.profile-name{display:block;min-width:0}.profile-name small{color:var(--muted);display:block;font-size:10px;font-weight:500}
.profile-panel{position:absolute;left:0;right:0;bottom:calc(100% + 8px);z-index:60;min-width:216px;padding:12px;border:1px solid var(--border);border-radius:12px;background:#171717;box-shadow:0 18px 40px #000b,inset 0 1px 0 #ffffff0a;animation:profile-in .18s cubic-bezier(.2,.8,.2,1)}
.profile-panel[hidden]{display:none}
.profile-card{display:flex;align-items:center;gap:10px}.profile-card strong{display:block;font-size:13px}.profile-card small{display:block;color:var(--muted);font-size:11px}
.profile-note{margin:10px 0 12px;color:var(--muted);font-size:11px;line-height:1.45}
.profile-signout{width:100%;justify-content:center;gap:8px;background:#222;border-color:#353535;color:#eee}
.profile-signout:hover{background:#2c2c2c}
.topbar-profile{display:none;padding:0;background:none;border:0}.topbar-profile:hover{background:none}.topbar-profile .avatar{display:block;padding:6px 8px;border:1px solid var(--border)}
@keyframes profile-in{from{opacity:0;translate:0 6px}to{opacity:1;translate:0 0}}
@media(max-width:680px){.topbar-profile{display:inline-flex}.profile-menu{margin:0;position:static}.profile-panel[data-anchor="top"]{position:fixed;top:56px;right:16px;left:auto;bottom:auto;width:min(260px,calc(100vw - 32px))}}
@media(prefers-reduced-motion:reduce){.profile-panel{animation:none}}
/* Profile panel spans the whole sidebar, left edge to its divider, just above the profile button (bottom set in profile-menu.js) */
.profile-menu{position:static}
.sidebar .profile-panel{left:0;right:0;bottom:84px;min-width:0;padding:16px;border-width:1px 0;border-radius:0;background:#141414;box-shadow:0 -18px 36px #0009}
.profile-settings{margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}
.profile-settings h3{margin:0 0 8px;font-size:11px;font-weight:600;letter-spacing:.4px;color:var(--muted)}
.profile-settings dl{margin:0;display:grid;gap:8px}.profile-settings dl div{display:grid;gap:2px}
.profile-settings dt{font-size:10px;color:var(--muted)}.profile-settings dd{margin:0;font-size:12px;color:var(--text);overflow-wrap:anywhere}.profile-settings dd.profile-muted{color:#8a8a8a}
.profile-link{width:100%;justify-content:flex-start;gap:8px;margin-bottom:10px;font-size:12px}
@media(max-width:680px){.sidebar .profile-panel[data-anchor="top"]{position:fixed;top:56px;right:16px;left:auto;bottom:auto;width:min(280px,calc(100vw - 32px));padding:16px;border-width:1px;border-radius:12px;box-shadow:0 18px 40px #000b}}

/* ---- Motion overhaul: one easing and timing scale; smooth over snappy, still quick ---- */
:root{--ease-out:cubic-bezier(.22,.8,.24,1);--ease-in-out:cubic-bezier(.65,0,.35,1);--dur-fast:.18s;--dur:.26s;--dur-slow:.45s}
button{transition:background-color var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out),color var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out),opacity var(--dur) var(--ease-out)}
.shell input,.shell select,.shell textarea,#modal input,#modal select,#modal textarea{transition:border-color var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out),background-color var(--dur) var(--ease-out)}
.main .panel,.main .stat,.main .metricmini{transition:border-color var(--dur-slow) var(--ease-out),box-shadow var(--dur-slow) var(--ease-out),background-color var(--dur-slow) var(--ease-out)}
.account-row td{transition:background-color var(--dur) var(--ease-out)}
/* Cursor glow on every workspace panel (panel-glow.js via motion.js); zero specificity so positioned panels keep theirs */
:where(.main .panel-glow){position:relative}
/* Page entrance: content glides up in order when you change page */
@keyframes page-in{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}
.main.page-enter>*{animation:page-in .52s var(--ease-out) both;animation-delay:calc(var(--enter-i,0) * 55ms)}
@keyframes crumb-in{from{opacity:0;translate:4px 0}to{opacity:1;translate:0 0}}
/* Only on a page change (motion.js adds .crumb-enter), so filters and edits never replay it */
.topbar.crumb-enter strong{display:inline-block;animation:crumb-in .4s var(--ease-out) both}
/* Sidebar highlight slides from the previous tab */
.nav button{isolation:isolate;position:relative}
.nav button.active.nav-slide{background:transparent}
.nav button.active.nav-slide::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:#242424;box-shadow:inset 0 0 0 1px #ffffff09;animation:nav-slide .42s var(--ease-out) both}
@keyframes nav-slide{from{translate:0 var(--nav-from,0)}to{translate:0 0}}
/* Dialogs ease in */
@keyframes modal-in{from{opacity:0;translate:0 10px;scale:.985}to{opacity:1;translate:0 0;scale:1}}
@keyframes backdrop-in{from{opacity:0}to{opacity:1}}
#modal[open]{animation:modal-in .34s var(--ease-out) both}
#modal[open]::backdrop{animation:backdrop-in .3s var(--ease-out) both}
/* Near-breach accounts on Accounts get the same red breathing outline as Quick Look */
.account-row-danger td{background:#d64d4d06}
/* Corner notifications (notify.js); #toast stays as the screen-reader announcement only */
#toast{position:fixed;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;box-shadow:none;transform:none}
.notify-stack{position:fixed;top:84px;right:24px;z-index:120;display:flex;flex-direction:column;gap:10px;width:min(340px,calc(100vw - 32px));pointer-events:none}
.notify{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:start;padding:13px 14px 15px;border:1px solid #ffffff1c;border-radius:12px;background:#181818f2;backdrop-filter:blur(10px);box-shadow:0 16px 40px #000a,inset 0 1px 0 #ffffff0d;overflow:hidden;pointer-events:auto;--notify-accent:#d8d8d8;animation:notify-in .42s var(--ease-out) both}
.notify-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;color:var(--notify-accent);background:color-mix(in srgb,var(--notify-accent) 14%,transparent);border:1px solid color-mix(in srgb,var(--notify-accent) 30%,transparent)}
.notify-text strong{display:block;font-size:13px;font-weight:600;color:#f2f2f2}
.notify-text p{margin:2px 0 0;font-size:12px;line-height:1.45;color:#a9a9a9}
.notify-close{padding:0 4px;background:none;border:0;color:#8a8a8a;font-size:18px;line-height:1}.notify-close:hover{background:none;color:#eee}
.notify-timer{position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--notify-accent);opacity:.45;transform-origin:left;animation:notify-timer linear both}
.notify.is-paused .notify-timer{animation-play-state:paused}
.notify-payout,.notify-added{--notify-accent:#6d9e87}.notify-goal{--notify-accent:#9cc2ff}.notify-log{--notify-accent:#c8c8c8}.notify-warning{--notify-accent:#e0a35a}.notify-removed{--notify-accent:#d77b7b}
.notify-leave{animation:notify-out .26s var(--ease-in-out) both}
@keyframes notify-in{from{opacity:0;translate:24px 0;scale:.98}to{opacity:1;translate:0 0;scale:1}}
@keyframes notify-out{to{opacity:0;translate:16px 0;scale:.98}}
@keyframes notify-timer{from{transform:scaleX(1)}to{transform:scaleX(0)}}
@media(max-width:680px){.notify-stack{top:64px;right:16px}}
/* Support (support.js): always bottom right */
.support{position:fixed;right:var(--float-gap,24px);bottom:var(--float-gap,24px);z-index:110;font-family:var(--font-ui)}
.support-launcher{width:52px;height:52px;padding:0;border-radius:50%;background:linear-gradient(#f2f2f2,#d4d4d4);color:#151515;border:1px solid #ffffff66;box-shadow:0 12px 30px #000a,inset 0 1px 0 #fff;transition:scale var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out)}
.support-launcher:hover{background:linear-gradient(#fff,#e2e2e2);scale:1.06;box-shadow:0 14px 34px #000c,0 0 0 6px #ffffff10}
.support.is-open .support-launcher{scale:.94}
.support-panel{position:absolute;right:0;bottom:66px;width:min(360px,calc(100vw - 32px));max-height:min(560px,calc(100vh - 120px));display:flex;flex-direction:column;border:1px solid #ffffff1f;border-radius:16px;background:#151515f7;backdrop-filter:blur(12px);box-shadow:0 24px 60px #000c;overflow:hidden;transform-origin:bottom right;animation:support-in .36s var(--ease-out) both}
.support-panel[hidden]{display:none}
@keyframes support-in{from{opacity:0;scale:.94;translate:0 8px}to{opacity:1;scale:1;translate:0 0}}
.support-head{display:flex;justify-content:space-between;align-items:flex-start;padding:16px 16px 12px;border-bottom:1px solid var(--border)}
.support-head h2{margin:0;font-size:15px}.support-head p{margin:2px 0 0;font-size:12px;color:var(--muted)}
.support-close{padding:0 6px;background:none;border:0;color:#999;font-size:20px;line-height:1}.support-close:hover{background:none;color:#fff}
@media(max-width:680px){.support{right:16px;bottom:16px}.support-launcher{width:48px;height:48px}}
@media(prefers-reduced-motion:reduce){.main.page-enter>*,.topbar.crumb-enter strong,.nav button.active.nav-slide::before,#modal[open],#modal[open]::backdrop,.notify,.notify-leave,.support-panel,.support-body>*{animation:none}.nav button.active.nav-slide{background:#242424}.notify-timer{display:none}.support-launcher:hover{scale:1}}

/* Support tabs: Home (FAQ, Search for Help), Tickets, History */
.support-body{flex:1;min-height:220px;overflow:auto;padding:16px}
.support-body>*{animation:support-view .3s var(--ease-out) both}
@keyframes support-view{from{opacity:0;translate:0 6px}to{opacity:1;translate:0 0}}
.support-section h3,.support-create h3{margin:18px 0 8px;font-size:12px;font-weight:600;color:var(--muted);display:flex;align-items:center;gap:6px}
.support-create h3{margin-top:0;font-size:14px;color:var(--text)}
.support-count{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#262626;color:#cfcfcf;font-size:10px}
.support-hello{margin:0 0 12px;font-size:16px;font-weight:600;color:#f2f2f2}
.support-search{display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid #333;border-radius:10px;background:#1b1b1b;color:#8f8f8f;transition:border-color var(--dur) var(--ease-out)}
.support-search:focus-within{border-color:#5a5a5a}
.support-search input{flex:1;min-width:0;padding:10px 0;background:none;border:0;color:var(--text);outline:none}
.support-faq{width:100%;margin-top:10px;justify-content:flex-start;gap:12px;padding:12px;border-radius:12px;background:#1d1d1d;border-color:#2f2f2f;text-align:left}
.support-faq:hover{background:#242424}
.support-faq span{display:grid}.support-faq strong{font-size:13px}.support-faq small{font-size:11px;color:var(--muted);font-weight:500}
.support-list{display:grid;gap:6px}
.support-answer{border:1px solid #2b2b2b;border-radius:10px;background:#1a1a1a;transition:border-color var(--dur) var(--ease-out),background-color var(--dur) var(--ease-out)}
.support-answer[open]{border-color:#3a3a3a;background:#1d1d1d}
.support-answer summary{cursor:pointer;list-style:none;padding:10px 12px;font-size:12.5px;color:#e4e4e4}
.support-answer summary::-webkit-details-marker{display:none}
.support-answer p{margin:0;padding:0 12px 12px;font-size:12px;line-height:1.55;color:#b4b4b4}
.support-results{margin-top:10px;display:grid;gap:6px}
.support-wide{width:100%;gap:8px}
.support-empty{margin:4px 0 0;font-size:12px;color:#8a8a8a;line-height:1.5}
.support-field{display:grid;gap:5px;margin-bottom:10px;font-size:11.5px;color:var(--muted)}
.support-field input,.support-field select,.support-field textarea{padding:9px 11px;border-radius:9px;background:#1b1b1b;border:1px solid #333;color:var(--text);font:inherit;font-size:12.5px;resize:vertical}
.support-error{margin:0 0 6px;min-height:0;font-size:12px;color:#ef8f8f}.support-error:empty{display:none}
.support-note{margin:8px 0 0;font-size:11px;line-height:1.5;color:#7d7d7d}
.support-row{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}
.support-tabs{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--border);background:#121212}
.support-tab{position:relative;flex-direction:column;gap:3px;padding:9px 0 10px;border:0;border-radius:0;background:none;color:#8a8a8a;font-size:11px}
.support-tab:hover{background:#1a1a1a;color:#ddd}
.support-tab[aria-pressed="true"]{color:#f2f2f2}
.support-tab[aria-pressed="true"]::after{content:"";position:absolute;top:0;left:30%;right:30%;height:2px;border-radius:2px;background:#e9e9e9}
.support-badge{position:absolute;top:6px;left:calc(50% + 6px);min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:#e0a35a;color:#151515;font-size:10px;line-height:16px}
.support-badge[hidden]{display:none}
.support details{padding:0;margin:0}.support details p{margin:0}
/* Same height on every Support tab, so switching never jumps */
.support-panel{height:min(560px,calc(100vh - 120px))}

/* Profile: a floating card inside the sidebar, clear of the page edge and the divider */
.sidebar .profile-panel{left:10px;right:10px;padding:16px;border:1px solid #ffffff1f;border-radius:14px;background:#181818;box-shadow:0 22px 50px #000c,inset 0 1px 0 #ffffff0d}
/* Beta Access: a softly pulsing white badge with a diagonal glint */
.workspacebox.beta-access{position:relative;overflow:hidden;display:flex;align-items:center;gap:9px;padding:11px 14px;border-color:#ffffff2e;color:#f0f0f0;font-size:12px;font-weight:600;letter-spacing:.3px;animation:beta-pulse 3.2s ease-in-out infinite}
.workspacebox.beta-access .dot{flex:none;width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 8px #ffffffb0}
.workspacebox.beta-access::after{content:"";position:absolute;inset:-40% auto -40% -60%;width:40%;background:linear-gradient(100deg,transparent,#ffffff2a 45%,#ffffff55 50%,#ffffff2a 55%,transparent);transform:skewX(-20deg);animation:beta-glint 4.8s ease-in-out infinite;pointer-events:none}
@keyframes beta-pulse{0%,100%{border-color:#ffffff24;box-shadow:0 0 0 #fff0}50%{border-color:#ffffff66;box-shadow:0 0 16px #ffffff1f,inset 0 0 12px #ffffff0d}}
@keyframes beta-glint{0%,55%{left:-60%}85%,100%{left:130%}}
/* Display currency: flag and code in the top bar; a menu of currencies */
.currency-menu{position:relative}
.currency-pill{display:inline-flex;align-items:center;gap:7px;padding:5px 9px;cursor:pointer;background:#1e1e1e;border:1px solid var(--border);border-radius:6px;color:#d0d0d0;font-size:11px;font-weight:600}
.currency-pill:hover,.currency-pill[aria-expanded="true"]{background:#262626;color:#fff;border-color:#3a3a3a}
.currency-flag{display:block;flex:none;border-radius:2px;box-shadow:0 0 0 1px #ffffff26}
.currency-caret{opacity:.6;transition:rotate var(--dur) var(--ease-out)}
.currency-pill[aria-expanded="true"] .currency-caret{rotate:180deg}
.currency-panel{position:absolute;right:0;top:calc(100% + 8px);z-index:80;width:300px;padding:12px;border:1px solid #ffffff1f;border-radius:14px;background:#171717f7;backdrop-filter:blur(10px);box-shadow:0 22px 50px #000c;animation:profile-in .22s var(--ease-out)}
.currency-head{margin:0 0 8px;font-size:11px;font-weight:600;letter-spacing:.4px;color:var(--muted)}
.currency-list{display:grid;gap:2px}
.currency-option{display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:10px;width:100%;padding:8px 9px;border:1px solid transparent;border-radius:9px;background:none;color:#d8d8d8;text-align:left;font-size:12px}
.currency-option:hover{background:#222}
.currency-option.is-active{background:#232323;border-color:#3a3a3a;color:#fff}
.currency-code{font-weight:700;letter-spacing:.3px}.currency-name{color:#9a9a9a;font-weight:500}.currency-rate-value{font-size:10.5px;color:#8a8a8a;font-variant-numeric:tabular-nums}
.currency-rate-form,.currency-rate{margin-top:10px;padding-top:10px;border-top:1px solid var(--border);display:grid;gap:8px}
.currency-rate label{display:flex;align-items:center;gap:8px;font-size:12px;color:#d8d8d8}
.currency-rate input{width:110px;padding:7px 9px;border-radius:8px;background:#1b1b1b;border:1px solid #333;color:var(--text)}
.currency-error{margin:0;font-size:11.5px;color:#ef8f8f}.currency-error:empty{display:none}
.currency-note{margin:10px 0 0;font-size:10.5px;line-height:1.5;color:#7d7d7d}
.currency-rate .currency-note{margin:0}
@media(max-width:680px){.currency-panel{position:fixed;top:64px;left:16px;right:16px;width:auto}}
/* Overview chart draws in when switching Line/Bar or opening Overview */
/* Lines reveal left to right (a clip, since the strokes keep a fixed width at any zoom); bars grow from $0 */
.cash-svg.cash-draw .cash-series:not(.cash-bars){clip-path:inset(-4px 100% -4px 0);animation:cash-wipe 1.1s var(--ease-out) forwards}
.cash-svg.cash-draw .cash-bars rect{transform-box:fill-box;transform-origin:50% 100%;animation:cash-bar-grow .6s var(--ease-out) both;animation-delay:calc(var(--bar-i,0) * 16ms)}
.cash-svg.cash-draw .cash-bars rect.cash-bar-neg{transform-origin:50% 0}
@keyframes cash-wipe{to{clip-path:inset(-4px 0 -4px 0)}}
@keyframes cash-bar-grow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
/* Support: tighter top spacing on History and Tickets */
.support-section>h3:first-child{margin-top:0}
@media(prefers-reduced-motion:reduce){.workspacebox.beta-access,.workspacebox.beta-access::after,.cash-svg.cash-draw .cash-series,.cash-svg.cash-draw .cash-bars rect,.currency-panel{animation:none}.workspacebox.beta-access::after{display:none}.cash-svg.cash-draw .cash-series{clip-path:none}.shell{transition:none}}

/* Phones: keep the currency switcher (flag and code) and leave Beta Access out of the top bar */
@media(max-width:680px){.topright .currency-pill{display:inline-flex}.workspacebox.beta-access{display:none}}

/* Collapsible sidebar: only the width changes. Content keeps its expanded width and the sidebar clips it,
   labels fade, and no icon ever moves, so closing and opening are one smooth motion. The collapse button
   sits beside Beta Access and stays in view when collapsed. Hovering the collapsed rail opens it over the page. */
:root{--side-w:222px;--side-inner:181px;--rail-w:83px}
@media(max-width:1150px){:root{--side-w:195px;--side-inner:170px;--rail-w:68px}}
@media(max-width:950px){:root{--side-w:175px;--side-inner:158px;--rail-w:56px}}
.sidebar-foot{display:flex;align-items:stretch;gap:8px;margin-top:auto}
.sidebar-foot .workspacebox{flex:1;min-width:0;margin-top:0}
.sidebar-toggle{flex:none;width:40px;min-height:42px;padding:0;border-radius:10px;color:#a0a0a0;background:#181818;border:1px solid var(--border)}
.sidebar-toggle:hover{color:#fff;background:#222;border-color:#3a3a3a}
@media(min-width:681px){
 .shell{transition:grid-template-columns .48s var(--ease-in-out)}
 .sidebar{width:100%;overflow:hidden;white-space:nowrap;transition:width .48s var(--ease-in-out),box-shadow .48s var(--ease-out)}
 .sidebar>*{min-width:var(--side-inner)}
 .shell.sidebar-collapsed{grid-template-columns:var(--rail-w) minmax(0,1fr)}
 .sidebar :is(.home-wordmark,.nav-text,.navlabel,.profile-name,.workspacebox.beta-access){transition:opacity .32s var(--ease-out)}
 .sidebar-collapsed:not(.sidebar-peek) :is(.home-wordmark,.nav-text,.navlabel,.profile-name,.workspacebox.beta-access){opacity:0;pointer-events:none}
 .sidebar-collapsed:not(.sidebar-peek) .sidebar .profile-panel{position:fixed;left:calc(var(--rail-w) + 10px);right:auto;bottom:16px!important;width:260px}
 .sidebar-collapsed.sidebar-peek .sidebar{width:var(--side-w);z-index:70;box-shadow:24px 0 60px #000b}
}
@media(max-width:680px){.sidebar-toggle{display:none}}
/* Breathing outlines and glints run on one page clock (--anim-clock, set each render), so clicking a filter
   or button never restarts them */
.payout-row-outline,.payout-status-eligible,.goal-fill::after,.workspacebox.beta-access,.workspacebox.beta-access::after{animation-delay:var(--anim-clock,0ms)}
/* Currency rows: pick on the left, Edit on the right */
.currency-head{display:flex;justify-content:space-between}.currency-head span{font-weight:500;color:#7d7d7d}
.currency-row{display:grid;grid-template-columns:1fr 30px;align-items:center;gap:4px}
.currency-edit,.currency-edit-space{width:30px;height:30px}
.currency-edit{padding:0;border-radius:8px;color:#8a8a8a;background:none;border-color:transparent}
.currency-edit:hover{color:#fff;background:#262626;border-color:#333}
.currency-rate-value i{font-style:normal;margin-left:4px;padding:1px 5px;border-radius:999px;background:#2a2a2a;color:#cfcfcf;font-size:9.5px}
.currency-rate-actions{display:flex;flex-wrap:wrap;gap:6px}.currency-rate-actions button{padding:7px 10px;font-size:11.5px}
/* Support: a ticket in session swaps the launcher to a live headset with a pulsing dot; unread replies show a count */
.support-launcher{position:relative}.launcher-idle,.launcher-live{display:grid;place-items:center;transition:opacity var(--dur) var(--ease-out),scale var(--dur) var(--ease-out)}
.launcher-live{position:absolute;inset:0;opacity:0;scale:.7}
.support.has-session .launcher-idle{opacity:0;scale:.7}.support.has-session .launcher-live{opacity:1;scale:1}
.launcher-dot{position:absolute;top:3px;right:3px;width:11px;height:11px;border-radius:50%;background:#5fc28f;border:2px solid #e9e9e9;opacity:0;transition:opacity var(--dur)}
.support.has-session .launcher-dot{opacity:1;animation:launcher-live 2s ease-in-out infinite}
@keyframes launcher-live{0%,100%{box-shadow:0 0 0 0 #5fc28f88}60%{box-shadow:0 0 0 6px #5fc28f00}}
.launcher-badge{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#e0a35a;color:#151515;font-size:11px;line-height:20px;box-shadow:0 0 0 2px #111}
.launcher-badge[hidden]{display:none}
.notify-support{--notify-accent:#8fb8ff}
@media(prefers-reduced-motion:reduce){.support.has-session .launcher-dot{animation:none}.launcher-idle,.launcher-live{transition:none}.sidebar,.shell{transition:none}.sidebar-anim :is(.home-wordmark,.nav-text,.profile-name,.workspacebox.beta-access){animation:none}}
/* Open menus sit above corner notifications */
.currency-panel{z-index:130}
/* Sound Effects (Settings & Data) */
.sound-panel{margin-bottom:18px}.sound-body{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px}
.sound-switch{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-size:13px;font-weight:600}
.sound-switch input{position:absolute;opacity:0;width:1px;height:1px}
.sound-track{position:relative;width:40px;height:22px;border-radius:999px;background:#2a2a2a;border:1px solid #3a3a3a;transition:background-color var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out)}
.sound-track i{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#bdbdbd;transition:translate var(--dur) var(--ease-out),background-color var(--dur)}
.sound-switch input:checked+.sound-track{background:#6d9e87;border-color:#7fb39a}.sound-switch input:checked+.sound-track i{translate:18px 0;background:#fff}
.sound-switch input:focus-visible+.sound-track{outline:2px solid var(--lime);outline-offset:3px}
.sound-volume{display:inline-flex;align-items:center;gap:10px;font-size:12px;color:var(--muted)}.sound-volume input{width:160px;accent-color:#d8d8d8}.sound-volume output{min-width:36px;color:var(--text);font-variant-numeric:tabular-nums}
.sound-body .hintline{flex-basis:100%;margin:0}
.sidebar-instant,.sidebar-instant *{transition:none!important}

/* Support tickets: a grouped list of compact rows, and threads that fill the panel with a pinned composer */
.ticket-list{display:block;border:1px solid #2b2b2b;border-radius:12px;background:#181818;overflow:hidden}
.support-ticket-row{display:grid;gap:3px;width:100%;padding:10px 12px;border:0;border-radius:0;background:none;color:#e6e6e6;text-align:left;font-weight:500}
.support-ticket-row+.support-ticket-row{border-top:1px solid #262626}
.support-ticket-row:hover{background:#1f1f1f}
.ticket-line{display:flex;align-items:center;gap:8px;min-width:0}
.ticket-line-sub{padding-left:15px}
.ticket-subject{flex:1;min-width:0;font-size:12.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ticket-when{flex:none;font-size:10.5px;color:#7f7f7f;font-variant-numeric:tabular-nums}
.ticket-preview{flex:1;min-width:0;font-size:11.5px;color:#8f8f8f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ticket-dot{flex:none;display:inline-block;width:7px;height:7px;border-radius:50%}
.ticket-dot.is-open{background:#e0a35a;box-shadow:0 0 0 3px #e0a35a1f}.ticket-dot.is-resolved{background:#6d9e87}
.ticket-unread{flex:none;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#8fb8ff;color:#0e1420;font-size:10.5px;line-height:18px;text-align:center}
.support-ticket-row.has-unread .ticket-subject{color:#fff}.support-ticket-row.has-unread .ticket-preview{color:#bdbdbd}
/* Thread view: the panel body becomes a full-height column */
.support-body.is-thread{display:flex;padding:0;overflow:hidden}
.support-thread{flex:1;min-width:0;display:flex;flex-direction:column}
.thread-head{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--border)}
.thread-back{flex:none;width:30px;height:30px;padding:0;border-radius:8px}
.thread-title{flex:1;min-width:0;display:grid;gap:2px}
.thread-title strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.thread-title span{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted)}
.thread-actions{flex:none;display:flex;gap:6px}
.thread-action{padding:6px 9px;font-size:11px;border-radius:8px}
.thread-log{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:10px;padding:14px 16px}
.thread-day{align-self:center;margin:0 0 2px;font-size:10.5px;color:#6f6f6f;letter-spacing:.2px}
.thread-msg{max-width:80%;display:flex;flex-direction:column;gap:4px;animation:support-view .3s var(--ease-out) both}
.thread-msg p{margin:0;padding:9px 12px;border-radius:14px;font-size:12.5px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
.thread-msg time{font-size:10px;color:#717171;padding:0 4px}
.thread-msg.from-you{align-self:flex-end;align-items:flex-end}.thread-msg.from-you p{background:#ececec;color:#141414;border-bottom-right-radius:5px}
.thread-msg.from-support{align-self:flex-start;align-items:flex-start}.thread-msg.from-support p{background:#232323;border:1px solid #2f2f2f;color:#e0e0e0;border-bottom-left-radius:5px}
.thread-system{align-self:center;max-width:88%;margin:4px 0 0;font-size:10.5px;line-height:1.5;color:#727272;text-align:center}
.thread-reply{display:flex;align-items:flex-end;gap:6px;margin:0 12px 12px;padding:6px 6px 6px 12px;border:1px solid #333;border-radius:14px;background:#1b1b1b;transition:border-color var(--dur) var(--ease-out)}
.thread-reply:focus-within{border-color:#555}
.thread-reply textarea{flex:1;min-width:0;min-height:30px;max-height:120px;padding:6px 0;border:0;background:none;color:var(--text);font:inherit;font-size:12.5px;line-height:18px;resize:none;outline:none}
.thread-reply .support-send{width:32px;height:32px;border-radius:10px}
.thread-error{margin:-6px 14px 10px}
@media(prefers-reduced-motion:reduce){.thread-msg{animation:none}}
.support-send{flex:none;width:38px;height:38px;padding:0;border-radius:10px;background:#e9e9e9;color:#151515;border-color:#fff}.support-send:hover{background:#fff}
.thread-reply .support-send{width:32px;height:32px}
.support-ticket-row{grid-template-columns:minmax(0,1fr);justify-content:stretch;justify-items:stretch}
/* Funded phase links: the passed evaluation and the funded account point to each other */
.linkbutton{display:inline;padding:0;border:0;background:none;color:#ededed;font:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px;text-decoration-color:#ffffff55;cursor:pointer}.linkbutton:hover{background:none;color:#fff;text-decoration-color:#fff}
.account-passed-note{margin:0 0 16px}.account-status-promoted{border-color:#6d9e8788;color:#9fd0b3;background:#6d9e8714}
.account-linked-cost small .linkbutton{font-weight:500}
/* Cash Flow: ROI beside the title and an account picker (any account, including History) */
.cash-heading h2{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cash-roi{display:inline-flex;align-items:baseline;gap:5px;padding:3px 9px;border-radius:999px;border:1px solid var(--border);background:#1c1c1c;font-size:11px;font-weight:500;color:var(--muted);letter-spacing:.2px}
.cash-roi b{font-size:12px;font-weight:650;color:var(--text);font-variant-numeric:tabular-nums}
.cash-roi.is-up{border-color:#6d9e8766}.cash-roi.is-up b{color:#9fd0b3}.cash-roi.is-down{border-color:#d77b7b66}.cash-roi.is-down b{color:#e89b9b}
.cash-account select{max-width:220px;padding:8px 30px 8px 11px;border-radius:9px;background:#1b1b1b;border:1px solid var(--border);color:var(--text);font-size:12px}
/* Docking: expanding from hover keeps the sidebar at full width while the page slides over */
@media(min-width:681px){.sidebar-docking .sidebar{width:var(--side-w);z-index:70}}
.notify-upgrade{--notify-accent:#9cc2ff}
.cash-roi small{font-size:9.5px;color:#7a7a7a;letter-spacing:.3px}
/* Target-date goals: per-month plan */
.goal-plan-line{display:block;margin-bottom:8px}.goal-behind{color:#e0a35a}
.goal-plan{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.goal-plan>span{display:grid;gap:2px;padding:8px 10px;border:1px solid var(--border);border-radius:9px;background:#191919}
.goal-plan b{font-size:13.5px;font-variant-numeric:tabular-nums;color:var(--text)}.goal-plan small{font-size:10px;color:var(--muted);line-height:1.3}
@media(max-width:680px){.goal-plan{grid-template-columns:1fr}}
/* Plan form: Direct Funded hides the evaluation-only fields and relabels the section */
#template-form.is-direct [data-eval-only]{display:none}
#template-form .direct-legend{display:none}#template-form.is-direct .direct-legend{display:inline}#template-form.is-direct .eval-legend{display:none}

/* Member badges: Founding Member (first 50, white glint) and Member */
.member-badge{position:relative;display:inline-flex;align-items:center;gap:6px;margin-top:3px;padding:3px 9px;border-radius:999px;font-size:10.5px;font-weight:650;letter-spacing:.3px;overflow:hidden;white-space:nowrap}
.member-badge-trial{color:#141414;background:linear-gradient(120deg,#f5f5f5,#cfcfcf);box-shadow:0 0 12px #ffffff2a}
.member-badge-trial::after{content:"";position:absolute;inset:-30% auto -30% -50%;width:40%;background:linear-gradient(100deg,transparent,#ffffffcc,transparent);transform:skewX(-20deg);animation:beta-glint 4.8s ease-in-out infinite;animation-delay:var(--anim-clock,0ms)}
.member-badge-standard{color:#d8d8d8;border:1px solid #ffffff2e;background:#ffffff0a}
.profile-trigger.is-founding .avatar,.profile-card.is-founding .avatar,.topbar-profile.is-founding .avatar{box-shadow:0 0 0 1.5px #f2f2f2,0 0 12px #ffffff40}
.profile-trigger.is-member .avatar,.profile-card.is-member .avatar,.topbar-profile.is-member .avatar{box-shadow:0 0 0 1px #ffffff40}
.profile-card strong{display:block}
.profile-settings{white-space:normal}.profile-settings .profile-link{display:flex;text-align:left}
@media(prefers-reduced-motion:reduce){.member-badge-trial::after{animation:none;display:none}}

/* Segmented toggle (12/24-hour clock): equal options; a pill slides to the chosen one */
.seg-toggle{position:relative;display:grid;grid-template-columns:repeat(var(--seg-count,2),minmax(0,1fr));padding:4px;border:1px solid #ffffff1f;border-radius:999px;background:#0e0e0ecc;isolation:isolate}
.seg-pill{position:absolute;z-index:-1;top:4px;bottom:4px;left:4px;width:calc((100% - 8px) / var(--seg-count,2));border-radius:999px;background:linear-gradient(#f4f4f4,#d9d9d9);box-shadow:0 2px 10px #0006;transition:translate .42s cubic-bezier(.22,.8,.24,1)}
.seg-toggle[data-index="1"] .seg-pill{translate:100% 0}.seg-toggle[data-index="2"] .seg-pill{translate:200% 0}
.seg-toggle button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:7px 12px;border:0;border-radius:999px;background:none;color:#a8a8a8;font:600 12.5px var(--font-ui);cursor:pointer;white-space:nowrap;box-shadow:none;transition:color .32s cubic-bezier(.22,.8,.24,1)}
.seg-toggle button:hover{color:#fff;background:none;border:0}.seg-toggle button.selected,.seg-toggle button.selected:hover{color:#141414}
.seg-toggle button:focus-visible{outline:2px solid #fff;outline-offset:2px}
@media(prefers-reduced-motion:reduce){.seg-pill,.seg-toggle button{transition:none}}
.member-badge-founder{color:#f4f4f4;background:linear-gradient(120deg,#2b2b2b,#0e0e0e);box-shadow:inset 0 0 0 1px #ffffffb0,0 0 14px #ffffff2a}
.member-badge-founder::after{content:"";position:absolute;inset:-30% auto -30% -50%;width:40%;background:linear-gradient(100deg,transparent,#ffffff55,transparent);transform:skewX(-20deg);animation:beta-glint 4.8s ease-in-out infinite;animation-delay:var(--anim-clock,0ms)}
.profile-trigger.is-founder .avatar,.profile-card.is-founder .avatar,.topbar-profile.is-founder .avatar{box-shadow:0 0 0 1.5px #f2f2f2,0 0 0 3px #0e0e0e,0 0 0 4px #ffffff60}
@media(prefers-reduced-motion:reduce){.member-badge-founder::after{animation:none;display:none}}
/* Header clock: click for 12/24-hour time and time zone */
.clock-menu{position:relative}
.clock-button{padding:6px 10px;border:1px solid transparent;border-radius:9px;background:none;color:inherit;font:inherit;cursor:pointer;transition:background-color .2s,border-color .2s}
.clock-button:hover,.clock-button[aria-expanded="true"]{background:#1b1b1b;border-color:var(--border)}
.clock-panel{position:absolute;right:0;top:calc(100% + 8px);z-index:70;width:290px;display:grid;gap:10px;padding:14px;border:1px solid var(--border);border-radius:12px;background:#171717;box-shadow:0 18px 40px #000b;animation:profile-in .18s cubic-bezier(.2,.8,.2,1)}
.clock-head{margin:0;font-size:11px;font-weight:600;letter-spacing:.4px;color:var(--muted)}
.clock-zone{width:100%}
.clock-note{margin:0;font-size:11px;line-height:1.5;color:#8a8a8a}
@media(max-width:680px){.clock-panel{position:fixed;top:56px;right:16px;width:min(290px,calc(100vw - 32px))}}
/* Settings tabs and Subscription */
.settings-tabs{margin:0 0 18px;padding:0}
.subscription-panel{max-width:760px}
.subscription-plan{display:grid;justify-items:start;gap:8px;margin-bottom:14px}.subscription-plan p{margin:0;font-size:13px;line-height:1.5;color:var(--muted)}
.subscription-plan .member-badge{padding:4px 12px;font-size:12px}
/* Payout celebration in the firm's colour (firms without a verified colour keep the payout green) */
.payout-celebration.is-firm{--cash-payouts:var(--cel-accent);background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--cel-accent) 16%,#050505e6) 0,#050505b3 45%,#05050500 75%)}
.payout-celebration.is-firm .celebration-mark{filter:drop-shadow(0 0 16px color-mix(in srgb,var(--cel-accent) 45%,transparent))}
.payout-celebration.is-firm .celebration-rings span{border-color:var(--cel-accent)}
.payout-celebration.is-firm .celebration-sparks i:nth-child(even){background:color-mix(in srgb,var(--cel-accent) 40%,#fff)}
.payout-celebration.is-firm .celebration-label{color:color-mix(in srgb,var(--cel-accent) 55%,#e8e8e8)}
.payout-celebration.is-firm .celebration-amount{text-shadow:0 0 28px color-mix(in srgb,var(--cel-accent) 30%,transparent)}/* Profile panel: room between the details and Sign Out */
.profile-settings{margin-bottom:14px}
.profile-settings dl{gap:10px}
/* Subscription status: green Active, red Cancelled */
.sub-status{font-weight:650}.sub-status.is-active{color:#7fcf9f}.sub-status.is-cancelled{color:#f08a8a}
.badge.sub-badge.is-active{color:#7fcf9f;background:#7fcf9f14;border:1px solid #7fcf9f40}
.badge.sub-badge.is-cancelled{color:#f08a8a;background:#f08a8a14;border:1px solid #f08a8a40}

/* Plan badge beside every page title */
.tier-badge{display:inline-flex;line-height:normal}.tier-badge .member-badge{margin-top:0}
.pagehead-title{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px}.pagehead-title h1{margin:0}
.pagehead-title .member-badge{padding:4px 11px;font-size:11px}
/* Risk Lab and Payout Planner charts (line-chart.js), styled like the Overview Cash Flow chart */
.line-chart{min-width:0;margin-bottom:14px}
.line-series polyline{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.line-net polyline{stroke:var(--chart-net)}.line-costs polyline{stroke:var(--chart-costs);stroke-width:1.5}
.line-series.is-dashed polyline{stroke-dasharray:5 5}
.line-net circle{fill:var(--chart-net)}.line-costs circle{fill:var(--chart-costs)}
.line-stop-net{stop-color:var(--chart-net)}.line-stop-costs{stop-color:var(--chart-costs)}
.line-band{fill:var(--chart-net);opacity:.12}
.line-key-net{background:var(--chart-net)}.line-key-costs{background:var(--chart-costs)}
.line-key-band{height:8px;border-radius:2px;background:color-mix(in srgb,var(--chart-net) 35%,transparent)}
.cash-key.line-key-costs.is-dashed{background:repeating-linear-gradient(90deg,var(--chart-costs) 0 4px,transparent 4px 7px)}
.line-value-net{color:var(--chart-net)}.line-value-costs{color:var(--chart-costs)}.line-value-band{color:color-mix(in srgb,var(--chart-net) 60%,#ddd)}
.line-point-net{stroke:var(--chart-net)}.line-point-costs{stroke:var(--chart-costs)}
.line-legend-item{display:inline-flex;align-items:center;gap:8px;min-height:32px;font-size:10px}

/* ===================== Form kit (form-kit.js): shared controls and the wizard ===================== */
/* No spinner arrows on any number box, anywhere. */
input[type=number]{-moz-appearance:textfield;appearance:textfield}
input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.fk-form{--fk-h:46px;--fk-r:10px;--fk-focus:#e8e8e8;--fk-glow:0 0 0 3px #ffffff17;--fk-err:#f08a8a;color:var(--text)}
.fk-field{display:flex;flex-direction:column;gap:7px;min-width:0}
.fk-label-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.fk-label{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-2)}
.fk-optional{font-size:10.5px;color:#7d7d7d;letter-spacing:.2px}
.fk-help{margin:0;font-size:var(--fs-xs);line-height:1.45;color:var(--muted)}
.fk-error{margin:0;font-size:var(--fs-xs);line-height:1.45;color:var(--fk-err)}
.fk-error:empty{display:none}
.fk-input{width:100%;height:var(--fk-h);padding:0 14px;background:var(--field);border:1px solid var(--border-strong);border-radius:var(--fk-r);color:var(--text);font:inherit;font-size:var(--fs-base);transition:border-color var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out),background-color var(--dur) var(--ease-out)}
.fk-input::placeholder{color:#626262}
.fk-input:hover{border-color:#4a4a4a}
.fk-input:focus,.fk-input:focus-visible{outline:none;border-color:var(--fk-focus);box-shadow:var(--fk-glow)}
.fk-invalid .fk-input,.fk-invalid .fk-segmented,.fk-invalid .fk-cards{border-color:#a05a5a}
.fk-invalid .fk-input:focus{box-shadow:0 0 0 3px #f08a8a1f}
.fk-textarea{height:auto;min-height:96px;padding:12px 14px;line-height:1.5;resize:vertical}
.fk-count{align-self:flex-end;margin-top:-2px;font-size:10.5px;color:#6f6f6f;font-variant-numeric:tabular-nums}
/* $ prefix and %, days… suffix inside the box */
.fk-affix{position:relative;display:flex;align-items:center}
.fk-affix .fk-input{flex:1}
.fk-prefix,.fk-suffix{position:absolute;top:50%;translate:0 -50%;color:#8a8a8a;font-size:var(--fs-base);pointer-events:none}
.fk-prefix{left:14px}.fk-affix .fk-prefix+.fk-input{padding-left:28px}
.fk-suffix{right:14px;font-size:var(--fs-sm)}.fk-affix:has(.fk-suffix) .fk-input{padding-right:72px}
.fk-input[disabled]{opacity:.38;cursor:not-allowed}
.fk-off .fk-affix{opacity:.55}
/* No limit / Not required */
.fk-nolimit{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;font-size:var(--fs-sm);color:var(--text-2);cursor:pointer}
.fk-nolimit input{width:16px;height:16px;accent-color:#e5e5e5;margin:0}
/* Segmented control */
.fk-segmented{display:grid;grid-template-columns:repeat(var(--fk-count,2),minmax(0,1fr));gap:4px;padding:4px;background:var(--field);border:1px solid var(--border-strong);border-radius:var(--fk-r)}
.fk-seg{position:relative;display:flex;cursor:pointer}
.fk-seg input{position:absolute;opacity:0;pointer-events:none}
.fk-seg span{flex:1;display:grid;place-items:center;min-height:36px;padding:0 10px;border-radius:7px;color:#a8a8a8;font-size:var(--fs-sm);font-weight:var(--fw-medium);text-align:center;transition:background-color var(--dur) var(--ease-out),color var(--dur) var(--ease-out)}
.fk-seg:hover span{color:#f0f0f0}
.fk-seg input:checked+span{background:linear-gradient(#f4f4f4,#d9d9d9);color:#141414}
.fk-seg input:focus-visible+span{outline:2px solid var(--fk-focus);outline-offset:2px}
/* Option cards */
.fk-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.fk-card{position:relative;display:flex;cursor:pointer}
.fk-card input{position:absolute;opacity:0;pointer-events:none}
.fk-card-body{flex:1;display:grid;gap:5px;padding:14px 16px 14px 44px;background:var(--field);border:1px solid var(--border-strong);border-radius:12px;transition:border-color var(--dur) var(--ease-out),background-color var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out)}
.fk-card-body::before{content:"";position:absolute;left:16px;top:17px;width:16px;height:16px;border-radius:50%;border:1.5px solid #5a5a5a;transition:border-color var(--dur),box-shadow var(--dur)}
.fk-card-body strong{font-size:var(--fs-md);font-weight:var(--fw-semibold);color:#f0f0f0}
.fk-card-body small{font-size:var(--fs-xs);line-height:1.45;color:var(--muted)}
.fk-card:hover .fk-card-body{border-color:#4a4a4a}
.fk-card input:checked+.fk-card-body{border-color:var(--fk-focus);background:#161616;box-shadow:var(--fk-glow)}
.fk-card input:checked+.fk-card-body::before{border-color:#f0f0f0;box-shadow:inset 0 0 0 4px var(--field),inset 0 0 0 8px #f0f0f0}
.fk-card input:focus-visible+.fk-card-body{outline:2px solid var(--fk-focus);outline-offset:2px}
/* Select */
.fk-select{position:relative}
.fk-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;cursor:pointer}
.fk-select-trigger svg{flex-shrink:0;color:#8a8a8a}
.fk-select-value.is-placeholder{color:#727272}
.fk-select-pop{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 6px);display:grid;gap:6px;padding:6px;background:#171717;border:1px solid var(--border-strong);border-radius:12px;box-shadow:0 18px 40px #000b;animation:profile-in .16s var(--ease-out)}
.fk-select-search{height:38px}
.fk-select-list{list-style:none;margin:0;padding:0;max-height:240px;overflow:auto}
.fk-select-list [role=option]{display:flex;justify-content:space-between;gap:10px;padding:9px 10px;border-radius:7px;font-size:var(--fs-md);color:#d6d6d6;cursor:pointer}
.fk-select-list [role=option]:hover,.fk-select-list [role=option]:focus{outline:none;background:#232323;color:#fff}
.fk-select-list [aria-selected=true]{color:#fff;font-weight:var(--fw-semibold)}
.fk-select-list [role=option] small{color:#777}
.fk-select-empty{margin:0;padding:8px 10px;font-size:var(--fs-sm);color:var(--muted)}
/* Rating */
.fk-rating{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.fk-stars{position:relative;display:inline-flex;gap:2px}
.fk-star{width:30px;height:34px;padding:0;border:0;background:none;color:#3a3a3a;font-size:24px;line-height:1;cursor:pointer;position:relative;z-index:1}
.fk-star span{opacity:0}
.fk-stars::before{content:"★★★★★";position:absolute;left:3px;top:2px;font-size:24px;letter-spacing:7.2px;color:#383838;pointer-events:none}
.fk-stars-fill{position:absolute;left:3px;top:2px;width:calc(var(--fk-fill,0%) * 1.6);max-width:160px;overflow:hidden;white-space:nowrap;font-size:24px;letter-spacing:7.2px;color:#00b67a;pointer-events:none}
.fk-star:focus-visible{outline:2px solid var(--fk-focus);outline-offset:1px;border-radius:4px}
.fk-rating-box{width:120px}.fk-rating-box .fk-input{padding-right:44px}
/* Color */
.fk-color{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.fk-swatches{display:flex;flex-wrap:wrap;gap:8px}
.fk-swatch{position:relative;width:28px;height:28px;padding:0;border-radius:50%;border:1px solid #ffffff26;background:var(--fk-swatch,#222);cursor:pointer;transition:transform var(--dur) var(--ease-out),box-shadow var(--dur)}
.fk-swatch:hover{transform:scale(1.08)}
.fk-swatch.is-on{box-shadow:0 0 0 2px var(--panel),0 0 0 4px #f0f0f0}
.fk-swatch-none{background:linear-gradient(135deg,transparent 45%,#c05050 46% 54%,transparent 55%),#1a1a1a}
.fk-swatch-custom{display:grid;place-items:center;background:conic-gradient(#f44,#fd4,#4f6,#4cf,#64f,#f4c,#f44);overflow:hidden}
.fk-swatch-custom input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.fk-hex{width:132px;text-transform:uppercase;font-variant-numeric:tabular-nums}
/* Image drop zone */
.fk-drop{display:flex;align-items:center;gap:16px;padding:16px;border:1.5px dashed #3f3f3f;border-radius:12px;background:#0f0f0f;transition:border-color var(--dur),background-color var(--dur)}
.fk-drop.is-over{border-color:#e5e5e5;background:#161616}
.fk-drop-preview{flex-shrink:0}
.fk-drop-copy{display:grid;gap:6px;min-width:0}
.fk-drop-copy p{margin:0;font-size:var(--fs-md);color:var(--text-2)}
.fk-drop-copy small{font-size:var(--fs-xs);color:var(--muted);line-height:1.45}
.fk-drop-browse{color:#f0f0f0;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.fk-drop-browse:focus-within{outline:2px solid var(--fk-focus);outline-offset:2px;border-radius:3px}
.fk-drop-reset{justify-self:start;padding:6px 10px;font-size:var(--fs-sm)}
/* Switch */
.fk-switch{display:flex;align-items:center;gap:12px;cursor:pointer}
.fk-switch input{position:absolute;opacity:0;width:1px;height:1px}
.fk-switch-track{position:relative;flex-shrink:0;width:40px;height:22px;border-radius:999px;background:#2c2c2c;border:1px solid #404040;transition:background-color var(--dur)}
.fk-switch-track::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#9a9a9a;transition:transform var(--dur) var(--ease-out),background-color var(--dur)}
.fk-switch input:checked+.fk-switch-track{background:#e5e5e5;border-color:#e5e5e5}
.fk-switch input:checked+.fk-switch-track::after{transform:translateX(18px);background:#151515}
.fk-switch input:focus-visible+.fk-switch-track{outline:2px solid var(--fk-focus);outline-offset:3px}
.fk-switch-label{font-size:var(--fs-md);color:var(--text-2)}
/* More options / Advanced */
.fk-more{border:1px solid var(--border);border-radius:12px;background:#121212}
.fk-more>summary{padding:14px 16px;cursor:pointer;font-size:var(--fs-md);font-weight:var(--fw-semibold);color:#e5e5e5;list-style:none;display:flex;align-items:center;gap:10px}
.fk-more>summary::-webkit-details-marker{display:none}
.fk-more>summary::before{content:"";width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);transition:transform var(--dur) var(--ease-out)}
.fk-more[open]>summary::before{transform:rotate(45deg)}
.fk-more>.fk-step-help{padding:0 16px}
.fk-more-body{display:grid;gap:20px;padding:4px 16px 18px}
.fk-attention .fk-input{border-color:#d7b25a;box-shadow:0 0 0 3px #d7b25a22}
.fk-attention-note{margin:0;font-size:var(--fs-xs);color:#e0c27a}
/* Wizard */
#modal:has(.fk-wizard){width:min(1060px,calc(100vw - 28px));overflow:hidden}
#modal:has(.fk-wizard) .modalbody{padding:0;overflow:hidden;max-height:calc(90vh - 84px)}
.fk-wizard{display:grid;grid-template-columns:minmax(0,1fr);max-height:calc(90vh - 84px)}
.fk-wizard.has-preview{grid-template-columns:minmax(0,1fr) 340px}
.fk-wizard-main{display:flex;flex-direction:column;min-height:0;max-height:calc(90vh - 84px)}
.fk-progress{display:grid;gap:10px;padding:20px 28px 0}
.fk-progress-text{display:flex;gap:8px;margin:0;font-size:var(--fs-sm);color:var(--muted)}
.fk-progress-text [data-fk-progress-title]{color:#e8e8e8;font-weight:var(--fw-medium)}
.fk-progress-bar{height:3px;border-radius:3px;background:#262626;overflow:hidden}
.fk-progress-bar i{display:block;height:100%;width:calc(var(--fk-progress,0.1) * 100%);background:linear-gradient(90deg,#9a9a9a,#f2f2f2);border-radius:3px;transition:width .45s var(--ease-out)}
.fk-steps{flex:1;min-height:0;overflow:auto;padding:22px 28px 8px}
.fk-step{max-width:560px}
.fk-step-heading{margin:0 0 6px;font-size:var(--fs-xl);font-weight:var(--fw-semibold);letter-spacing:-.3px;outline:none}
.fk-step-help{margin:0 0 22px;font-size:var(--fs-md);line-height:1.5;color:var(--muted)}
.fk-step-fields{display:grid;gap:22px}
.fk-in-next{animation:fk-in-next .32s var(--ease-out) both}.fk-in-back{animation:fk-in-back .32s var(--ease-out) both}
@keyframes fk-in-next{from{opacity:0;translate:14px 0}to{opacity:1;translate:0 0}}
@keyframes fk-in-back{from{opacity:0;translate:-14px 0}to{opacity:1;translate:0 0}}
.fk-wizard-main>.errorbox{margin:0 28px}
.fk-wizard-main>.errorbox:empty{display:none}
.fk-nav{display:flex;align-items:center;gap:10px;padding:16px 28px 20px;margin-top:8px;border-top:1px solid var(--border)}
.fk-nav-gap{flex:1}
.fk-nav .primary{margin-left:0;min-width:120px;height:42px}
.fk-nav .ghost{height:42px}
.fk-nav .is-blocked{opacity:.45}
.fk-preview-toggle{display:none}
.fk-banner,.fk-confirm{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:16px 28px 0;padding:12px 14px;border:1px solid var(--border-strong);border-radius:12px;background:#171717;font-size:var(--fs-sm);color:var(--text-2)}
.fk-banner[hidden],.fk-confirm[hidden]{display:none}
.fk-banner p,.fk-confirm p{margin:0}.fk-banner strong,.fk-confirm strong{color:#f0f0f0}
.fk-banner div,.fk-confirm div{display:flex;gap:8px}
.fk-confirm{border-color:#5a4a4a;background:#1c1616}
/* Review */
.fk-review-list{display:grid;gap:14px}
.fk-review-group{border:1px solid var(--border);border-radius:12px;background:#121212}
.fk-review-group header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border)}
.fk-review-group h4{margin:0;font-size:var(--fs-md);font-weight:var(--fw-semibold)}
.fk-review-edit{padding:5px 12px;font-size:var(--fs-sm)}
.fk-review-group dl{margin:0;padding:6px 14px 10px;display:grid}
.fk-review-row{display:grid;grid-template-columns:minmax(120px,42%) 1fr;gap:12px;padding:7px 0;border-bottom:1px solid #1f1f1f;font-size:var(--fs-sm)}
.fk-review-row:last-child{border-bottom:0}
.fk-review-row dt{color:var(--muted)}.fk-review-row dd{margin:0;color:#ececec;overflow-wrap:anywhere}
.fk-review-row dd small{display:block;margin-top:3px;color:#e0c27a}
.fk-review-empty{color:#5f5f5f}
.fk-review-error{color:var(--fk-err)}
.fk-review-attention{margin:2px -8px;padding:7px 8px;border:1px solid #d7b25a55;border-radius:8px;background:#d7b25a10}
.fk-review-swatch{display:inline-block;width:12px;height:12px;margin-right:7px;border-radius:50%;background:var(--fk-swatch);vertical-align:-1px}
/* Live preview */
.fk-preview{display:flex;flex-direction:column;gap:12px;padding:20px;border-left:1px solid var(--border);background:#0f0f0f;overflow:auto;max-height:calc(90vh - 84px)}
.fk-preview-head{display:flex;align-items:center;justify-content:space-between;font-size:var(--fs-xs);letter-spacing:.6px;text-transform:uppercase;color:#7d7d7d}
.fk-preview-close{display:none}
.fk-plan-preview{pointer-events:none}
.fk-plan-preview .plan-card-title h3{margin:2px 0 4px}
.fk-preview-stage{display:flex;margin:10px 0}
.fk-preview-stage span{padding:5px 12px;border-radius:999px;background:#232323;font-size:var(--fs-xs);color:#e5e5e5}
.fk-preview-price{display:flex;justify-content:space-between;padding:7px 2px;border-top:1px solid #222;font-size:var(--fs-sm);color:var(--muted)}
.fk-preview-price strong{color:#f0f0f0}
/* Phones: the wizard fills the screen; the preview opens from the Preview button */
@media(max-width:820px){
 .fk-wizard.has-preview{grid-template-columns:minmax(0,1fr)}
 .fk-preview{position:fixed;inset:auto 0 0 0;z-index:40;max-height:78vh;border-left:0;border-top:1px solid var(--border-strong);border-radius:16px 16px 0 0;box-shadow:0 -20px 50px #000c;transform:translateY(105%);transition:transform .35s var(--ease-out)}
 .fk-show-preview .fk-preview{transform:none}
 .fk-preview-close{display:inline-grid}
 .fk-preview-toggle{display:inline-flex}
}
@media(max-width:680px){
 #modal:has(.fk-wizard){width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0;border:0}
 #modal[open]:has(.fk-wizard){display:flex;flex-direction:column}
 #modal:has(.fk-wizard) .modalhead{flex-shrink:0}
 #modal:has(.fk-wizard) .modalbody{flex:1;min-height:0;max-height:none;height:auto;display:flex}
 .fk-wizard{flex:1;min-height:0;max-height:none;height:auto}
 .fk-wizard-main{max-height:none;height:100%;min-height:0}
 .fk-progress,.fk-steps{padding-left:18px;padding-right:18px}
 .fk-nav{padding:12px 18px calc(14px + env(safe-area-inset-bottom));flex-wrap:wrap}
 .fk-nav .primary{min-width:0;flex:1}
 .fk-banner,.fk-confirm{margin:12px 18px 0}
 .fk-review-row{grid-template-columns:1fr;gap:2px}
 .fk-step-heading{font-size:18px}
}
@media(prefers-reduced-motion:reduce){.fk-in-next,.fk-in-back,.fk-select-pop{animation:none}.fk-progress-bar i,.fk-preview,.fk-swatch,.fk-switch-track::after{transition:none}}
/* Anything the form kit hides stays hidden, whatever its display style. */
.fk-form [hidden],.fk-form[hidden]{display:none!important}

/* ---- Form kit, round 2: stages, two columns, no scrolling at 1440×900, solid header, thin scrollbars ---- */
#modal:has(.fk-wizard){max-height:94vh}
#modal:has(.fk-wizard) .modalbody,.fk-wizard,.fk-wizard-main,.fk-preview{max-height:calc(94vh - 76px)}
#modal:has(.fk-wizard) .modalhead{padding-top:18px;padding-bottom:14px}
/* Header: solid, separated from the scrolling steps so nothing slides under the bar. */
.fk-progress{position:relative;z-index:2;gap:8px;padding:16px 28px 12px;background:var(--panel);border-bottom:1px solid var(--border)}
.fk-stages{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:8px}
.fk-stage{display:grid;gap:6px;min-width:0}
.fk-stage-label{font-size:var(--fs-xs);font-weight:var(--fw-medium);color:#6f6f6f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color var(--dur) var(--ease-out)}
.fk-stage.is-current .fk-stage-label{color:#f0f0f0}.fk-stage.is-done .fk-stage-label{color:#a9a9a9}
.fk-stage-bar{display:block;height:3px;border-radius:3px;background:#262626;overflow:hidden}
.fk-stage-bar b{display:block;height:100%;width:calc(var(--fk-stage-fill,0) * 100%);background:linear-gradient(90deg,#9a9a9a,#f2f2f2);border-radius:3px;transition:width .45s var(--ease-out)}
.fk-stage.is-done .fk-stage-bar b{background:#8d8d8d}
.fk-progress-text{font-size:var(--fs-sm);color:var(--muted)}
.fk-progress-text [data-fk-progress-title]{color:#d8d8d8;font-weight:var(--fw-medium)}
.fk-progress-bar{display:none}
/* Steps: two columns on wide screens; long controls span both. */
.fk-steps{padding:18px 28px 6px;scrollbar-width:thin;scrollbar-color:#3a3a3a transparent}
.fk-steps::-webkit-scrollbar,.fk-preview::-webkit-scrollbar,.fk-page-body::-webkit-scrollbar,.fk-select-list::-webkit-scrollbar{width:8px;height:8px}
.fk-steps::-webkit-scrollbar-track,.fk-preview::-webkit-scrollbar-track,.fk-page-body::-webkit-scrollbar-track,.fk-select-list::-webkit-scrollbar-track{background:transparent}
.fk-steps::-webkit-scrollbar-thumb,.fk-preview::-webkit-scrollbar-thumb,.fk-page-body::-webkit-scrollbar-thumb,.fk-select-list::-webkit-scrollbar-thumb{background:#3a3a3a;border-radius:8px;border:2px solid transparent;background-clip:padding-box}
.fk-steps::-webkit-scrollbar-button,.fk-preview::-webkit-scrollbar-button,.fk-page-body::-webkit-scrollbar-button,.fk-select-list::-webkit-scrollbar-button{display:none;height:0;width:0}
.fk-preview,.fk-page-body,.fk-select-list{scrollbar-width:thin;scrollbar-color:#3a3a3a transparent}
.fk-step{max-width:680px}
.fk-step-heading{font-size:18px;margin-bottom:4px}
.fk-step-help{margin-bottom:16px;font-size:var(--fs-sm)}
.fk-step-fields{gap:16px 18px}
@media(min-width:900px){.fk-step-fields:not(.fk-one-col){grid-template-columns:repeat(2,minmax(0,1fr))}.fk-step-fields>.fk-wide,.fk-step-fields>.fk-review-list{grid-column:1/-1}}
.fk-field{gap:6px}
.fk-input{height:44px}
.fk-textarea{min-height:72px}
.fk-more-body{display:grid;gap:16px 18px}
@media(min-width:900px){.fk-more-body{grid-template-columns:repeat(2,minmax(0,1fr))}.fk-more-body>.fk-wide{grid-column:1/-1}}
.fk-nav{padding:12px 28px 16px;margin-top:0}
/* No limit: the box disappears; the help sits above the toggle. */
.fk-off .fk-affix{display:none}
.fk-nolimit{margin-top:2px}
.fk-off .fk-nolimit span{color:#f0f0f0}
/* Combobox */
.fk-combo{position:relative}
.fk-combo .fk-input{padding-right:40px}
.fk-combo .fk-chevron{position:absolute;right:14px;top:15px;color:#8a8a8a;pointer-events:none}
.fk-combo-pop .fk-select-list [role=option].is-active{background:#262626;color:#fff}
.fk-combo-pop [data-new]{color:#e6e6e6;border-top:1px solid #262626;margin-top:2px}
.fk-combo-pop [data-new] span{font-weight:var(--fw-semibold)}
/* Saved firm card under the firm box */
.fk-firm-summary:empty{display:none}
.fk-firm-card{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--border-strong);border-radius:12px;background:#121212}
.fk-firm-card .firm-mark{flex-shrink:0}
.fk-firm-card-copy{display:grid;gap:2px;min-width:0;flex:1}
.fk-firm-card-copy strong{font-size:var(--fs-md)}
.fk-firm-card-copy span{font-size:var(--fs-xs);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fk-firm-edit{padding:7px 12px;font-size:var(--fs-sm)}
.fk-firm-new{margin:0;font-size:var(--fs-sm);color:var(--muted)}.fk-firm-new strong{color:#e6e6e6}
/* Single-page forms (short and medium): sections, sticky footer. */
#modal:has(.fk-page){width:min(720px,calc(100vw - 28px))}
.fk-page{display:flex;flex-direction:column;gap:0}
.fk-page-body{display:grid;gap:22px}
.fk-section{display:grid;gap:12px}
.fk-section+.fk-section{padding-top:20px;border-top:1px solid var(--border)}
.fk-section h3{margin:0;font-size:var(--fs-md);font-weight:var(--fw-semibold);color:#f0f0f0}
.fk-section .fk-step-help{margin:4px 0 0}
.fk-page-footer{position:sticky;bottom:-22px;background:var(--panel);padding-bottom:4px;z-index:2}
.fk-page .errorbox:empty{display:none}
.fk-page .is-blocked{opacity:.55}
@media(min-width:720px){.fk-page .fk-step-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.fk-page .fk-step-fields>.fk-wide{grid-column:1/-1}}
.fk-date{color-scheme:dark}
.fk-readonly{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:0 14px;border:1px dashed var(--border-strong);border-radius:10px;color:var(--text-2);font-size:var(--fs-md)}
.fk-readonly small{color:var(--muted);font-size:var(--fs-xs)}
@media(max-width:680px){.fk-progress{padding-left:18px;padding-right:18px}.fk-stage-label{font-size:10px}.fk-nav{padding:10px 18px calc(12px + env(safe-area-inset-bottom))}}
/* ---- Form kit: Add/Edit Account ---- */
#modal:has(.fk-wizard:not(.has-preview)){width:min(780px,calc(100vw - 28px))}
.fk-wizard:not(.has-preview) .fk-step{max-width:none}
.fk-rules-note{margin:0;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:#121212;color:var(--muted);font-size:var(--fs-sm);line-height:1.5}
.fk-page>.fk-page-body>.fk-rules-note{margin-top:2px}
/* Single-page forms: one thin scrollbar (the body), the header and Save stay in place. */
#modal[open]:has(.fk-page){display:flex;flex-direction:column;overflow:hidden;max-height:94vh}
#modal:has(.fk-page) .modalhead{flex-shrink:0;padding-top:18px;padding-bottom:14px}
#modal:has(.fk-page) .modalbody{flex:1;min-height:0;max-height:none;overflow:auto;scrollbar-width:thin;scrollbar-color:#3a3a3a transparent}
#modal:has(.fk-page) .modalbody::-webkit-scrollbar{width:8px}
#modal:has(.fk-page) .modalbody::-webkit-scrollbar-track{background:transparent}
#modal:has(.fk-page) .modalbody::-webkit-scrollbar-thumb{background:#3a3a3a;border-radius:8px;border:2px solid transparent;background-clip:padding-box}
#modal:has(.fk-page) .modalbody::-webkit-scrollbar-button{display:none;height:0;width:0}
/* Edit Account: three columns on wide screens so it needs little or no scrolling. */
#modal:has(.fk-page.fk-account){width:min(900px,calc(100vw - 28px))}
.fk-page.fk-account .fk-page-body{gap:18px}
.fk-page.fk-account .fk-section+.fk-section{padding-top:16px}
@media(min-width:900px){
 .fk-page.fk-account .fk-step-fields,.fk-page.fk-account .fk-more-body{grid-template-columns:repeat(3,minmax(0,1fr))}
 .fk-page.fk-account .fk-switch-field{grid-column:auto;align-self:start;margin-top:30px}
}
/* Collapsed sidebar: the profile avatar sits on the rail's centre line, like the logo and nav icons. Nothing switches
   layout on hover: the avatar has a fixed width, and the button's left padding slides with the sidebar's own width
   animation (centred on the rail when collapsed, back to 8px when it opens), so the name never lands on the icon. */
.sidebar .profile-trigger .avatar{width:37px;padding-inline:0;text-align:center;flex-shrink:0}
.sidebar .profile-trigger{transition:padding-left .48s var(--ease-in-out),background-color .2s,border-color .2s}
.sidebar-collapsed:not(.sidebar-peek) .sidebar .profile-trigger{padding-left:calc((var(--rail-w) - var(--side-w) + var(--side-inner) - 37px) / 2 - 1px)}
@media(prefers-reduced-motion:reduce){.sidebar .profile-trigger{transition:none}}
/* Primary buttons: the face keeps the same gradient on hover (swapping it for a flat colour made it dip dark
   for a moment, because a gradient can't fade). Hover brightens it and adds a soft glow, both eased. */
.primary{background-color:#e6e6e6;background-image:linear-gradient(#f7f7f7,#dcdcdc);box-shadow:0 0 0 1px rgba(255,255,255,0),0 6px 22px -8px rgba(255,255,255,0);transition:filter .28s var(--ease-out),box-shadow .28s var(--ease-out),border-color .28s var(--ease-out),opacity .2s var(--ease-out)}
.primary:hover{background-color:#e6e6e6;background-image:linear-gradient(#f7f7f7,#dcdcdc);filter:brightness(1.08);box-shadow:0 0 0 1px rgba(255,255,255,.16),0 6px 22px -8px rgba(255,255,255,.42)}
.primary:is(:disabled,.is-blocked,[aria-disabled=true]):hover{filter:none;box-shadow:0 0 0 1px rgba(255,255,255,0),0 6px 22px -8px rgba(255,255,255,0)}
@media(prefers-reduced-motion:reduce){.primary{transition:none}}
/* Plan Type switch (cards, list rows, Plan Details) and the matching choice in Quick Add. */
.plan-option{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-self:start;align-self:start}
.plan-option-label{font-size:11px;color:var(--muted)}
.plan-option-buttons{display:inline-flex;gap:3px;padding:3px;background:#141414;border:1px solid var(--border);border-radius:8px}
.plan-option-buttons button{min-height:30px;padding:3px 10px;background:transparent;border:0;border-radius:6px;color:var(--muted);font-size:11px;font-weight:500;transition:background-color var(--dur) var(--ease-out),color var(--dur) var(--ease-out)}
.plan-option-buttons button:hover{color:var(--text)}
.plan-option-buttons button.selected{background:#2d2d2d;color:var(--text)}
.plan-row-name .plan-option{margin-top:6px}
#plan-preview .plan-option{margin:4px 0 14px}
.quick-add-choice{border:0;margin:0 0 12px;padding:0;display:grid;gap:6px}
.quick-add-choice legend{font-size:12px;color:var(--muted);padding:0;margin-bottom:6px}
.quick-add-choice-options{display:inline-flex;gap:3px;padding:3px;background:#141414;border:1px solid var(--border);border-radius:8px;justify-self:start}
.quick-add-choice-options label{position:relative;display:inline-flex;align-items:center;min-height:34px;padding:4px 14px;border-radius:6px;color:var(--muted);font-size:13px;cursor:pointer}
.quick-add-choice-options label.selected{background:#2d2d2d;color:var(--text)}
.quick-add-choice-options input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.quick-add-choice-options label:has(input:focus-visible){outline:2px solid var(--lime);outline-offset:1px}
/* On cards the Plan Type switch sits in the header, under the rating, so every card keeps the same rows. */
.plan-card-title .plan-option{margin-top:8px;gap:8px}
.plan-card-title .plan-option-buttons button{min-height:26px;padding:2px 9px}
/* Option cards with an icon (goal types): no radio dot; the icon takes the option's accent. */
.fk-cards-icons{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.fk-cards-icons .fk-card-body{padding:12px 14px;gap:4px;align-content:start}
.fk-cards-icons .fk-card-body::before{display:none}
.fk-card-icon{display:inline-grid;place-items:center;width:30px;height:30px;margin-bottom:4px;border-radius:8px;background:color-mix(in srgb,var(--fk-card-accent,#d9d9d9) 14%,transparent);color:var(--fk-card-accent,#d9d9d9)}
.fk-cards-icons .fk-card input:checked+.fk-card-body{border-color:color-mix(in srgb,var(--fk-card-accent,#e8e8e8) 70%,#ffffff)}
@media(max-width:520px){.fk-cards-icons{grid-template-columns:repeat(2,minmax(0,1fr))}.fk-cards-icons .fk-card-body small{display:none}}
/* New / Edit Goal: one column of fields; the live card preview sits beside it on wide screens, below on phones. */
#modal:has(.fk-page.fk-goal){width:min(980px,calc(100vw - 28px))}
.fk-page.fk-goal .fk-step-fields{grid-template-columns:minmax(0,1fr)}
.fk-page.fk-goal .fk-page-body{gap:18px}
.goal-form-preview{display:grid;gap:8px;align-content:start}
.goal-form-preview-label{margin:0;font-size:var(--fs-xs);font-weight:var(--fw-medium);letter-spacing:.3px;text-transform:uppercase;color:var(--muted)}
.goal-form-preview .goal-card{pointer-events:none}
.goal-form-note{margin:0}
@media(min-width:860px){
 .fk-page.fk-goal .fk-page-body{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:26px}
 .goal-form-preview{position:sticky;top:0}
 .fk-page.fk-goal .fk-cards-icons{grid-template-columns:repeat(3,minmax(0,1fr))}
}
/* On-page kit forms (Risk Lab): sections in the panel, one column, the run button full width beneath. */
.fk-panel{display:flex;flex-direction:column}
.fk-panel .fk-page-body{display:grid;gap:20px}
.fk-panel .fk-step-fields:not(.fk-one-col){grid-template-columns:minmax(0,1fr);gap:16px}
.fk-panel .errorbox:empty{display:none}
.fk-panel .errorbox{margin-top:14px}
.fk-panel-footer{margin-top:20px}
.fk-panel-footer .primary{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.fk-panel .is-blocked{opacity:.55}
/* Edit Firm on the kit. The section tabs are a solid sticky bar: it covers the dialog's top padding, so nothing
   scrolls visibly above or under it. */
#modal:has(.fk-page.fk-firm){width:min(820px,calc(100vw - 28px))}
.fk-page.fk-firm .fk-page-body{gap:22px}
.fk-firm .firm-editor-nav{position:sticky;top:-22px;z-index:4;margin:-22px -25px 0;padding:14px 25px 12px;background:var(--panel);border:0;border-bottom:1px solid var(--border);border-radius:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
.fk-firm .firm-editor-nav button{min-height:38px;border:1px solid var(--border-strong);background:var(--field);color:#a8a8a8;border-radius:9px;font-size:var(--fs-sm);font-weight:var(--fw-medium);transition:background-color var(--dur) var(--ease-out),color var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out)}
.fk-firm .firm-editor-nav button:hover{color:#f0f0f0;border-color:#4a4a4a}
.fk-firm .firm-editor-nav button.selected{background:linear-gradient(#f4f4f4,#d9d9d9);color:#141414;border-color:transparent}
.fk-firm .firm-editor-nav button:focus-visible{outline:2px solid var(--fk-focus);outline-offset:2px}
.fk-firm .fk-section{scroll-margin-top:72px}
.firm-accent-preview{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:2px 0 0}
.firm-accent-preview .firm-accent-sample{font-size:var(--fs-md)}
.firm-accent-preview .firm-accent-note{font-size:var(--fs-xs);color:var(--muted)}
.fk-firm .firm-logo-preview{width:160px;height:64px}
.fk-firm .fk-drop-preview{display:grid;gap:6px;justify-items:start}.fk-firm .fk-drop-preview small{color:#8a8a8a;font-size:10.5px}
.fk-firm .fk-error.errorbox:empty{display:none}
/* Repeatable rows (kit) */
.fk-repeat{gap:10px}
.fk-repeat-count{min-width:22px;padding:1px 7px;border-radius:999px;background:#262626;color:#bdbdbd;font-size:10.5px;text-align:center}.fk-repeat-count:empty{display:none}
.fk-repeat-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.fk-repeat-row{display:grid;gap:12px;padding:14px;border:1px solid var(--border);border-radius:12px;background:#151515}
.fk-repeat-fields{display:grid;gap:14px 16px}
@media(min-width:620px){.fk-repeat-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
.fk-repeat-tools{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}
.fk-repeat-tools small{margin-right:auto;color:#8a8a8a;font-size:10.5px}
.fk-icon-button{min-width:36px;min-height:34px;padding:0 10px}
.fk-repeat-remove{min-height:34px}
.fk-repeat-empty{margin:0;padding:14px;border:1px dashed var(--border);border-radius:12px;color:var(--muted);font-size:var(--fs-sm)}
.fk-repeat-actions{display:flex;gap:8px;flex-wrap:wrap}
.fk-repeat-add{border-style:dashed}
/* Footer: a left-hand action (Reset to Default) before Cancel and Save. */
.fk-page-footer{align-items:center}
.fk-footer-start{margin-right:auto;display:flex;gap:8px}
@media(max-width:680px){
 .fk-firm .firm-editor-nav{top:-20px;margin:-20px -18px 0;padding:12px 18px 10px}
 .fk-firm .firm-editor-nav button{font-size:12px;padding:0 6px}
 .fk-wide-only{display:none}
}
/* Goal type cards: icon beside the title, a one-line description beneath, so six types take two short rows. */
.fk-page.fk-goal .fk-cards-icons .fk-card-body{grid-template-columns:30px minmax(0,1fr);column-gap:10px;row-gap:1px;align-items:center;padding:10px 12px}
.fk-page.fk-goal .fk-card-icon{grid-row:span 2;margin:0}
.fk-page.fk-goal .fk-cards-icons .fk-card-body small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fk-page.fk-goal .goal-form-main{gap:13px}
/* Add Account picker: one group per account size, its heading pinned (solid) while that group scrolls. */
.account-plan-size-group{display:grid;gap:16px}
.account-plan-size-group+.account-plan-size-group{padding-top:18px;border-top:1px solid var(--border)}
.account-plan-size-head{position:sticky;top:0;z-index:2;display:flex;align-items:baseline;gap:10px;margin:0;padding:6px 0 8px;background:var(--panel);font-size:var(--fs-md);font-weight:var(--fw-semibold);color:#f0f0f0}
.account-plan-size-head small{font-size:var(--fs-xs);font-weight:400;color:var(--muted)}
/* Earlier Versions (Settings › General). */
.version-group+.version-group{margin-top:18px}.version-list{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}.version-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;border:1px solid var(--border);border-radius:10px;font-variant-numeric:tabular-nums}
/* Founder admin (#admin). */
.admin-phase{margin-bottom:18px}.admin-phases{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-phase-option{display:grid;gap:4px;text-align:left;padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:transparent;color:var(--text);cursor:pointer}.admin-phase-option span{font-size:12px;color:var(--muted);line-height:1.45}.admin-phase-option.selected{border-color:#d8d8d8;background:#ffffff0d}.admin-phase-option:focus-visible{outline:2px solid #fff;outline-offset:2px}
@media(max-width:520px){.admin-phases{grid-template-columns:1fr}}
/* Support: tickets saved on this device before Support went online. */
.support-pending{display:grid;gap:8px;padding:12px 14px;margin:0 0 12px;border:1px solid var(--border);border-radius:12px;font-size:13px;line-height:1.5;color:var(--muted)}.support-pending p{margin:0}.support-pending button{justify-self:start}

/* Free trial banner in the workspace (until the trial ends). */
.trial-notice p{margin:0}

/* Success burst (celebrateSuccess in ui.js): the old waitlist success rings, reusable for big moments. Three rings and a
   glow radiate from the success mark (--burst-x/--burst-y, default the screen centre); transform and opacity only. */
.success-burst{position:fixed;inset:0;z-index:60;pointer-events:none;overflow:hidden}
.success-burst-glow{position:absolute;left:var(--burst-x,50%);top:var(--burst-y,50%);width:140vmax;height:140vmax;margin:-70vmax 0 0 -70vmax;border-radius:50%;background:radial-gradient(circle,#ffffff2e 0,#cfe1ff14 18%,transparent 48%);opacity:0;animation:success-burst-glow 1.8s ease-out forwards}
.success-burst-ring{position:absolute;left:var(--burst-x,50%);top:var(--burst-y,50%);width:120px;height:120px;margin:-60px 0 0 -60px;border-radius:50%;border:1px solid #ffffffb3;box-shadow:0 0 24px #ffffff55,inset 0 0 18px #ffffff33;opacity:0;animation:success-burst-ring 1.6s cubic-bezier(.15,.7,.25,1) forwards}
.success-burst-ring:nth-child(3){animation-delay:.18s}.success-burst-ring:nth-child(4){animation-delay:.36s}
@keyframes success-burst-glow{0%{opacity:0;transform:scale(.6)}25%{opacity:1}100%{opacity:0;transform:scale(1.25)}}
@keyframes success-burst-ring{0%{opacity:.9;transform:scale(.3)}100%{opacity:0;transform:scale(14)}}
@media(prefers-reduced-motion:reduce){.success-burst{display:none}}

/* Moving between the site's pages (homepage, workspace, legal pages) cross-fades instead of a hard cut, in
   browsers that support it. Reduced motion keeps the plain switch. */
@view-transition{navigation:auto}
@media(prefers-reduced-motion:reduce){@view-transition{navigation:none}}

/* Alignment pass (Oct 18, 2026). */
/* Header: the date and the Private Workspace label never wrap onto two lines; below 1100 px the label keeps only its
   lock icon (screen readers still hear it). Phones drop the breadcrumb (the page title says the same) and the
   decorative label, so the clock, currency and profile sit on one row. */
.topbar .clock-button,.topbar .privatepill,.topbar>div:first-child{white-space:nowrap}
@media(max-width:1100px){.topbar .privatepill{font-size:0;gap:0;padding:8px 9px}.topbar .privatepill svg{display:block}}
@media(max-width:900px){.topbar>div:first-child{display:none}.topbar .topright{flex-wrap:nowrap;width:100%;justify-content:flex-end;min-width:0}}
@media(max-width:600px){.topbar .privatepill{display:none}.topbar .topright{justify-content:space-between;gap:8px}.topbar .clock-button{font-size:10.5px}}
/* If the date still can't fit, it shrinks with an ellipsis instead of overlapping or being clipped. */
.topbar .topright>.clock-menu{min-width:0;flex:0 1 auto}.topbar .clock-button{max-width:100%;overflow:hidden;text-overflow:ellipsis}
/* Cash Flow controls on phones: the account picker takes the first row, the rest share the second evenly. */
@media(max-width:600px){.overview-header-tools{width:100%}.overview-header-tools>.cash-account{flex:1 1 100%}.overview-header-tools>.cash-settings-button{margin-left:auto}}
/* Sideways-scrolling tab rows and the phone menu: no chunky scrollbar with arrows (they still scroll by swipe, trackpad
   and keyboard focus). */
.accounts-tabs,.sidebar .nav{scrollbar-width:none}.accounts-tabs::-webkit-scrollbar,.sidebar .nav::-webkit-scrollbar{display:none}
/* Phones: the currency button shows its flag only (its label stays for screen readers), so the full date fits. */
@media(max-width:600px){.topbar .currency-pill>span,.topbar .currency-pill .currency-caret{display:none}.topbar .currency-pill{padding-left:9px;padding-right:9px}}
/* Page headers on tablets: when the buttons do not fit beside the title they move under it as one row, instead of
   stacking into a narrow column of different widths. */
@media(max-width:1000px){.pagehead{flex-wrap:wrap}}

/* Overview refresh (owner, Oct 19, 2026). Select Accounts and Select Dates are matching pop-out panels: a title with a
   short note and the round X, sections with small labels, Clear / Apply at the bottom. */
.cash-pop-controls{position:relative;display:inline-flex;min-width:0}
.cash-pop-toggle{display:inline-flex;align-items:center;gap:8px;min-height:40px;max-width:240px;padding:8px 12px;border-radius:9px;background:#101010;border:1px solid #ffffff17;color:#bbb;font-size:11.5px;font-weight:500}
.cash-pop-toggle>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cash-pop-toggle.is-set{color:#eee;border-color:#ffffff38}
.cash-pop-toggle:hover{background:#181818;border-color:#ffffff40;color:#fff}.cash-pop-toggle[aria-expanded=true]{border-color:#888;color:#fff}
.cash-pop-caret{flex-shrink:0;opacity:.7;transition:rotate var(--dur) var(--ease-out)}.cash-pop-toggle[aria-expanded=true] .cash-pop-caret{rotate:180deg}
.cash-pop{width:400px;padding:16px;animation:cash-pop-in .22s var(--ease-out) both}
@keyframes cash-pop-in{from{opacity:0;transform:translateY(-6px) scale(.98)}}
.cash-pop .cash-date-title{align-items:flex-start;gap:12px;margin-bottom:14px}.cash-pop-sub{margin:4px 0 0;font-size:10.5px;line-height:1.55;color:#8f8f8f}
.cash-pop-section{padding:12px 0;border-top:1px solid #ffffff10}.cash-pop-section:first-child{border-top:0;padding-top:0}
.cash-pop-label{margin:0 0 8px;font-size:9.5px;font-weight:600;letter-spacing:.9px;text-transform:uppercase;color:#7d7d7d}
.cash-pop [data-date-body]{display:block}
.cash-pop .cash-date-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:0;border:0}
.cash-pop .cash-date-presets button{justify-content:center;text-align:center;min-height:32px;padding:5px 6px;border:1px solid #ffffff14;border-radius:8px;background:#ffffff05;font-size:10.5px;color:#cfcfcf}
.cash-pop .cash-date-presets button:hover{background:#ffffff10;border-color:#ffffff33;color:#fff}
.cash-date-conditions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:3px;margin-bottom:12px;border:1px solid #ffffff17;border-radius:9px;background:#0e0e0e}
.cash-date-conditions button{min-height:30px;padding:4px 6px;border:0;border-radius:7px;background:transparent;color:#a8a8a8;font-size:10.5px;font-weight:550}
.cash-date-conditions button:hover{background:#ffffff0c;color:#fff}.cash-date-conditions button[aria-checked=true],.cash-date-conditions button[aria-checked=true]:hover{background:linear-gradient(#f4f4f4,#d9d9d9);color:#141414}
.cash-pop .cash-date-footer{margin-top:4px;padding-top:12px;border-top:1px solid #ffffff10}
/* Select Dates stays compact enough to open under its button: four quick ranges a row, shorter calendar days. */
.cash-pop .cash-date-presets{grid-template-columns:repeat(4,minmax(0,1fr))}.cash-pop .cash-date-presets button{min-height:30px;font-size:10px}
.cash-pop .cash-calendar button{height:28px}.cash-pop .cash-calendar-heading{margin:8px 0 4px}.cash-pop .cash-date-boundary{margin:8px 0 0}.cash-pop #cash-date-error:empty{display:none}
.cash-pop .cash-date-conditions{margin-bottom:10px}.cash-pop .cash-date-endpoints{margin-top:8px}.cash-pop .cash-pop-section{padding:10px 0}
.cash-account-list{max-height:min(360px,calc(100dvh - 260px));overflow:auto;margin:0 -4px;padding:0 4px;scrollbar-width:thin;scrollbar-color:#ffffff26 transparent}
.cash-account-option{display:flex;align-items:center;gap:10px;padding:8px;border:1px solid transparent;border-radius:9px;cursor:pointer;transition:background-color var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out)}
.cash-account-option:hover{background:#ffffff08;border-color:#ffffff14}.cash-account-option:has(input:checked){background:#ffffff0a;border-color:#ffffff2e}
.cash-account-option input{width:16px;height:16px;margin:0;accent-color:#e9e9e9;flex-shrink:0}
.cash-account-option>span{display:flex;flex-direction:column;min-width:0}.cash-account-option b{font-size:12px;font-weight:550;color:#e6e6e6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cash-account-option small{font-size:10px;color:#8a8a8a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cash-pop-empty{margin:0;padding:6px 0 10px;font-size:11px;line-height:1.6;color:#999}

/* Line or Bar: one switch whose light thumb slides under the chosen word. */
.cash-type-switch{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:40px;width:118px;padding:3px;border:1px solid #ffffff1f;border-radius:999px;background:#0e0e0e;isolation:isolate}
.cash-type-switch:hover{background:#0e0e0e;border-color:#ffffff40}
.cash-type-thumb{position:absolute;z-index:-1;top:3px;bottom:3px;left:3px;width:calc(50% - 3px);border-radius:999px;background:linear-gradient(#f4f4f4,#d9d9d9);box-shadow:0 2px 10px #0006;transition:translate .22s var(--ease-out)}
.cash-type-switch.is-bar .cash-type-thumb{translate:100% 0}
.cash-type-option{font-size:11px;font-weight:600;text-align:center;color:#a8a8a8;transition:color .22s var(--ease-out)}
.cash-type-switch.is-line .cash-type-option:nth-of-type(2),.cash-type-switch.is-bar .cash-type-option:nth-of-type(3){color:#141414}
.cash-type-switch:focus-visible{outline:2px solid #fff;outline-offset:2px}

/* The four figures under the chart: a border in each figure's colour on hover, and a preview above it. Total Payouts
   and Total Evaluation Costs open their full list on click. */
.cash-integrated-summary dl{gap:10px}
.cash-sum{position:relative;padding:10px 12px;margin:0;border:1px solid transparent;border-radius:11px;transition:border-color var(--dur) var(--ease-out),background-color var(--dur) var(--ease-out);--sum-accent:#9a9a9a}
.cash-sum-payouts{--sum-accent:var(--cash-payouts)}.cash-sum-expenses{--sum-accent:var(--cash-expenses)}.cash-sum-net{--sum-accent:var(--cash-net)}.cash-sum-tax{--sum-accent:#a9a9a9}
.cash-sum:is(:hover,:focus-visible,:has(:focus-visible)){border-color:var(--sum-accent);background:#ffffff04;outline:none}.cash-sum:focus{outline:none}
.cash-sum-value{all:unset;cursor:pointer;color:inherit;font:inherit;letter-spacing:inherit;border-radius:6px}
.cash-sum-value:focus-visible{outline:2px solid #fff;outline-offset:3px}
.cash-sum[data-act]{cursor:pointer}.cash-sum[data-act]:active{background:#ffffff08}
.cash-peek{position:absolute;z-index:30;left:-1px;bottom:calc(100% + 8px);display:flex;flex-direction:column;gap:6px;width:max-content;min-width:230px;max-width:300px;padding:12px 14px;border:1px solid var(--sum-accent,#ffffff30);border-radius:11px;background:#1b1b1bf7;box-shadow:0 16px 44px #000a;backdrop-filter:blur(8px);color:#cfcfcf;font-size:11px;font-weight:450;letter-spacing:0;line-height:1.45;text-align:left;white-space:normal;pointer-events:none}
/* Hidden previews take no space (no sideways scroll on phones); shown ones fade up. */
.cash-peek{display:none}
@keyframes cash-peek-in{from{opacity:0;translate:0 4px}}
.cash-sum-tax .cash-peek,.cash-sum:last-child .cash-peek,.quicklook-cycle .cash-peek{left:auto;right:-1px}
:is(.cash-sum,.cash-roi,.quicklook-cycle):is(:hover,:focus-visible,:has(:focus-visible))>.cash-peek{display:flex;animation:cash-peek-in .18s var(--ease-out) both}
.cash-peek-title{font-size:11.5px;font-weight:600;color:#f0f0f0}
.cash-peek-row,.cash-math{display:flex;justify-content:space-between;gap:14px}.cash-peek-row>span{color:#a9a9a9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cash-peek-row b,.cash-math b{font-weight:550;color:#e8e8e8;font-variant-numeric:tabular-nums;white-space:nowrap}
.cash-math>span{color:#a9a9a9}.cash-math.is-total{padding-top:6px;border-top:1px solid #ffffff14}.cash-math.is-total>span,.cash-math.is-total b{color:#fff}
.cash-peek-note{font-size:10px;line-height:1.55;color:#8a8a8a}
.cash-peek-cta{margin-top:2px;font-size:10px;font-weight:600;letter-spacing:.4px;color:var(--sum-accent)}
.cash-roi{position:relative;cursor:default;--sum-accent:#ffffff40;transition:border-color var(--dur) var(--ease-out)}.cash-roi.is-up{--sum-accent:#6d9e87}.cash-roi.is-down{--sum-accent:#d77b7b}
.cash-roi:is(:hover,:focus-visible){border-color:var(--sum-accent);outline:none}
.cash-roi .cash-peek{top:calc(100% + 8px);bottom:auto;left:-1px;letter-spacing:0;text-transform:none}.cash-roi .cash-peek b{color:#e8e8e8;font-size:11px}.cash-roi .cash-peek .is-total b{color:#fff}

/* Quick Look: the cycle total, Show More, the action column, and Requirements that slide down (no frame). */
.quicklook-cycle{position:relative;display:flex;flex-direction:column;align-items:flex-end;gap:1px;padding:6px 12px;border:1px solid #ffffff14;border-radius:10px;background:#ffffff04;--sum-accent:var(--cash-payouts);transition:border-color var(--dur) var(--ease-out)}
.quicklook-cycle:is(:hover,:focus-visible){border-color:var(--cash-payouts);outline:none}.quicklook-cycle .cash-peek{top:calc(100% + 8px);bottom:auto;z-index:40;min-width:340px;max-width:min(600px,calc(100vw - 48px))}.quicklook-cycle .cash-peek-row>span{white-space:normal;overflow-wrap:anywhere;overflow:visible}
.quicklook-cycle-label{font-size:9.5px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;color:#8a8a8a}.quicklook-cycle>b{font-size:17px;font-weight:600;color:var(--cash-payouts);font-variant-numeric:tabular-nums}.quicklook-cycle>small{font-size:10px;color:#8a8a8a}
.overview-command .actions{align-items:center}
.overview-command:not(.show-all) [data-extra]{display:none}
.quicklook-more{display:flex;justify-content:center;padding:4px 0 14px}.quicklook-more button{min-height:36px;font-size:11.5px}
.overview-action button{min-width:84px}
.overview-payout-details{background:none;border:0;border-radius:0;padding:20px 20px 22px}
.payout-detail-slide{display:grid;grid-template-rows:0fr;transition:grid-template-rows .32s var(--ease-out)}
.overview-payout-detail-row.is-open .payout-detail-slide{grid-template-rows:1fr}
.payout-detail-inner{min-height:0;overflow:hidden;opacity:0;translate:0 -6px;transition:opacity .28s var(--ease-out),translate .32s var(--ease-out)}
.overview-payout-detail-row.is-open .payout-detail-inner{opacity:1;translate:0 0}
@media(prefers-reduced-motion:reduce){.payout-detail-slide,.payout-detail-inner,.cash-type-thumb,.cash-type-option{transition:none}.cash-pop,:is(.cash-sum,.cash-roi,.quicklook-cycle)>.cash-peek{animation:none!important}}

/* The Payouts Received and Evaluation Costs lists. */
#modal.ledger-modal{width:min(860px,calc(100vw - 28px));--cash-payouts:#6d9e87;--cash-expenses:#bb7c80}
.ledger-numbers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px}
.ledger-numbers>div{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid #ffffff14;border-radius:12px;background:#ffffff05}
.ledger-numbers b{font-size:24px;font-weight:600;letter-spacing:-.4px;color:#f0f0f0;font-variant-numeric:tabular-nums}.ledger-numbers span{font-size:11px;color:#8f8f8f}
.ledger .ledger-pay{color:var(--cash-payouts)}.ledger .ledger-cost{color:var(--cash-expenses)}
.ledger-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}
.ledger-filter{position:relative;display:flex;flex-direction:column;gap:5px;min-width:150px;flex:1;font-size:10.5px;color:#9a9a9a}
.ledger-table{max-height:min(420px,calc(100dvh - 330px));overflow:auto;border:1px solid #ffffff12;border-radius:12px;scrollbar-width:thin;scrollbar-color:#ffffff26 transparent}
.ledger-table table{width:100%;border-collapse:collapse;font-size:12px}.ledger-table th{position:sticky;top:0;z-index:1;background:#1b1b1b;text-align:left;font-size:10px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:#8a8a8a;padding:10px 12px;border-bottom:1px solid #ffffff14}
.ledger-table td{padding:10px 12px;border-bottom:1px solid #ffffff0b;color:#d6d6d6;white-space:nowrap}.ledger-table tr:last-child td{border-bottom:0}.ledger-table .num{text-align:right;font-variant-numeric:tabular-nums}
.ledger-empty{margin:0;padding:22px;text-align:center;font-size:12px;color:#999;border:1px dashed #ffffff1c;border-radius:12px}
.ledger-note{margin:12px 0 0;font-size:10.5px;line-height:1.6;color:#8a8a8a}
@media(max-width:680px){.cash-pop{width:calc(100vw - 24px)}.cash-type-switch{width:104px}.ledger-numbers b{font-size:20px}.quicklook-cycle{align-items:flex-start}.cash-peek{max-width:calc(100vw - 48px)}.cash-heading{position:relative}.cash-roi{position:static}.cash-roi .cash-peek{left:0;right:0;width:auto;max-width:none}.quicklook-cycle .cash-peek{left:0;right:auto}}

/* Overview polish (owner, Oct 19, 2026). The Cash Flow panel's pop-outs sit above Quick Look: each panel isolates its
   own layers for the cursor glow, so the chart panel itself is lifted. */
.overview-chart-panel{position:relative;z-index:3}
/* The tax reserve popup drops down like Select Accounts and Select Dates. */
.overview-tax-settings:not([hidden]){animation:cash-pop-in .22s var(--ease-out) both;transform-origin:top right}
/* Select Accounts by firm: a firm box for all of its accounts, and a row that opens to single accounts. */
.cash-firm{border:1px solid transparent;border-radius:10px;transition:background-color var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out)}
.cash-firm+.cash-firm{margin-top:6px}.cash-firm.is-open{background:#ffffff05;border-color:#ffffff12}
.cash-firm-row{display:flex;align-items:center;gap:4px;padding:4px 4px 4px 12px}
.cash-firm-row input{width:16px;height:16px;margin:0;accent-color:#e9e9e9;flex-shrink:0;cursor:pointer}
.cash-firm-toggle{all:unset;box-sizing:border-box;flex:1;min-width:0;display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:8px;cursor:pointer;color:inherit}
.cash-firm-toggle:hover{background:#ffffff08}.cash-firm-toggle:focus-visible{outline:2px solid #fff;outline-offset:1px}
.cash-firm-toggle .firm-mark{width:26px;height:26px;flex-shrink:0}
.cash-firm-name{display:flex;flex-direction:column;min-width:0;flex:1}.cash-firm-name b{font-size:12px;font-weight:600;color:#ececec;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cash-firm-name small{font-size:10px;color:#8a8a8a}
.cash-firm-toggle[aria-expanded=true] .cash-pop-caret{rotate:180deg}
.cash-firm-accounts{display:grid;grid-template-rows:0fr;transition:grid-template-rows .26s var(--ease-out)}.cash-firm.is-open .cash-firm-accounts{grid-template-rows:1fr}
.cash-firm-inner{min-height:0;overflow:hidden;display:grid;gap:6px;padding:0 6px 0 22px}.cash-firm.is-open .cash-firm-inner{padding-top:4px;padding-bottom:8px}
.cash-firm-inner .cash-account-option{padding:7px 10px;gap:10px}
/* The list filters: the site's own dropdown, not the browser's. */
.ledger-select{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:40px;padding:8px 12px;border-radius:9px;background:#101010;border:1px solid #ffffff17;color:#bbb;font-size:11.5px;font-weight:500;text-align:left}
.ledger-select:hover{background:#181818;border-color:#ffffff40;color:#fff}.ledger-select[aria-expanded=true]{border-color:#888;color:#fff}
.ledger-select svg{flex-shrink:0;opacity:.7;transition:rotate var(--dur) var(--ease-out)}.ledger-select[aria-expanded=true] svg{rotate:180deg}
.ledger-options{position:absolute;z-index:20;top:calc(100% + 8px);left:0;right:0;max-height:260px;overflow:auto;margin:0;padding:6px;list-style:none;border:1px solid #ffffff29;border-radius:12px;background:#181818f8;box-shadow:0 16px 44px #000a;backdrop-filter:blur(8px);animation:cash-pop-in .18s var(--ease-out) both;scrollbar-width:thin;scrollbar-color:#ffffff26 transparent}
.ledger-options[hidden]{display:none}
.ledger-options li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px;border:1px solid transparent;border-radius:9px;font-size:12px;font-weight:550;color:#d6d6d6;cursor:pointer;outline:none;transition:background-color var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out)}
.ledger-options li:hover,.ledger-options li:focus{background:#ffffff08;border-color:#ffffff14;color:#fff}.ledger-options li[aria-selected=true]{background:#ffffff0a;border-color:#ffffff2e}.ledger-options li svg{opacity:0}.ledger-options li[aria-selected=true]{color:#fff;font-weight:600}.ledger-options li[aria-selected=true] svg{opacity:1}
/* Quick Look actions: Request in the payout green, Upgrade in brushed silver; each nudges its arrow on hover. */
.overview-command .ql-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:104px;min-height:38px;padding:8px 14px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.2px;cursor:pointer;transition:background var(--dur) var(--ease-out),color var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out)}
.overview-command .ql-action>span{line-height:1}.overview-command .ql-action svg{display:block;flex-shrink:0}
.overview-command .ql-request{color:#c9eedb;border:1px solid #6d9e87b3;background:linear-gradient(180deg,#1c2b24,#121b17);box-shadow:0 0 0 1px #6d9e8714,0 8px 22px #6d9e8722,inset 0 1px 0 #ffffff12}
.overview-command .ql-request:is(:hover,:focus-visible){color:#0c1410;border-color:#8cc3a8;background:linear-gradient(180deg,#9fd0b6,#6d9e87);box-shadow:0 0 0 1px #8cc3a840,0 10px 28px #6d9e8740}
.overview-command .ql-upgrade{color:#f2f2f2;border:1px solid transparent;background:linear-gradient(180deg,#262626,#151515) padding-box,linear-gradient(135deg,#f6f6f6,#7c7c7c 35%,#e6e6e6 60%,#6a6a6a) border-box;box-shadow:0 8px 22px #0008,inset 0 1px 0 #ffffff1a}
.overview-command .ql-upgrade:is(:hover,:focus-visible){color:#111;background:linear-gradient(180deg,#f4f4f4,#c9c9c9) padding-box,linear-gradient(135deg,#ffffff,#9a9a9a 40%,#ffffff 65%,#8a8a8a) border-box;box-shadow:0 10px 28px #ffffff1f}
.overview-command .ql-action:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.overview-tax-settings:not([hidden]),.ledger-options{animation:none}.cash-firm-accounts{transition:none}}
/* Quick Look headers sort: the arrow for the current direction lights up. */
.overview-command th .ql-sort{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;gap:6px;cursor:pointer;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;border-radius:5px}
.overview-command th .ql-sort:hover{color:#fff}.overview-command th .ql-sort:focus-visible{outline:2px solid #fff;outline-offset:3px}
.ql-sort svg{flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.ql-sort path{opacity:.3;transition:opacity var(--dur) var(--ease-out)}
.ql-sort.is-asc .ql-sort-up,.ql-sort.is-desc .ql-sort-down{opacity:1}.overview-command th .ql-sort:is(.is-asc,.is-desc){color:#fff}
/* Tax Reserve and Net Profit only preview on hover; they are not clickable. Sortable list headers share Quick Look's. */
.cash-sum-tax,.cash-sum-net{cursor:default}
.ledger-table th .ql-sort{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;gap:6px;cursor:pointer;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;border-radius:5px}
.ledger-table th.num .ql-sort{flex-direction:row}.ledger-table th .ql-sort:hover,.ledger-table th .ql-sort:is(.is-asc,.is-desc){color:#fff}.ledger-table th .ql-sort:focus-visible{outline:2px solid #fff;outline-offset:3px}
.ledger-filters .cash-pop-controls{max-width:100%}.ledger-filters .cash-account-list{max-height:min(280px,calc(100dvh - 400px))}
/* Quick Look: how many accounts are shown, beside the title. */
.quicklook-count{display:inline-block;margin-left:10px;padding:3px 10px;border:1px solid #ffffff1f;border-radius:999px;background:#ffffff05;font-size:11.5px;font-weight:500;letter-spacing:0;line-height:1.4;color:#a3a3a3;vertical-align:2px}
/* Select Accounts and Select Dates sit in the page under their button: they scroll with it, stay attached, and only
   close with X, Escape, Apply, Clear or a click elsewhere. */
.cash-pop.is-anchored{position:absolute;top:calc(100% + 8px);left:0;max-height:none}
.cash-date-popover.is-anchored#cash-date-popover{left:auto;right:0}
/* Accounts refresh (owner, Oct 19, 2026). Firm, Status and Set Status use the Overview's pop-out dropdown
   (pop-select.js); the panel lets them hang below it. */
.accounts-panel{overflow:visible}
.pop-select{position:relative;display:flex;min-width:0}
.pop-select .pop-select-toggle{width:100%;max-width:none;justify-content:space-between;min-height:40px}
.accounts-select .pop-select-toggle{min-width:160px}
.pop-select-panel{width:max-content;min-width:100%;max-width:320px;max-height:340px;overflow:auto;padding:6px;display:grid;gap:4px;scrollbar-width:thin;scrollbar-color:#ffffff26 transparent}
.pop-select-panel[hidden]{display:none}.pop-select-panel.is-right{left:auto;right:0}
.pop-select-option{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid transparent;border-radius:9px;font-size:12px;font-weight:550;color:#d6d6d6;cursor:pointer;white-space:nowrap;transition:background-color var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out)}
.pop-select-option>span:not(.firm-mark){flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}
.pop-select-option:is(:hover,:focus-visible){background:#ffffff08;border-color:#ffffff14;color:#fff;outline:none}
.pop-select-option[aria-selected=true]{background:#ffffff0a;border-color:#ffffff2e;color:#fff}
.pop-select-option .firm-mark{width:24px;height:24px;flex:0 0 24px;border-radius:7px;font-size:9px}
.pop-select-check{flex-shrink:0;opacity:0}.pop-select-option[aria-selected=true] .pop-select-check{opacity:1}
.pop-select-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:#9a9a9a}.pop-select-dot.is-active{background:#3fb86c}.pop-select-dot.is-paused{background:#d9a92a}.pop-select-dot.is-breached,.pop-select-dot.is-closed{background:#d64d4d}
.accounts-bulk-status{flex:0 0 auto}.accounts-bulk-status .pop-select-toggle{min-width:150px}
/* Sort arrows like the Overview's: the one for the current direction lights up. */
.accounts-table th .ql-sort,.accounts-sort-chip.ql-sort{gap:6px}.accounts-sort-chip.ql-sort{display:inline-flex;align-items:center}
.accounts-sort-head.ql-sort:is(.is-asc,.is-desc),.accounts-sort-chip.ql-sort:is(.is-asc,.is-desc){color:#fff}
/* Accounts, round two (owner, Oct 19, 2026). The row's open arrow sits centred in its button. */
.account-open-icon{display:inline-flex;align-items:center;justify-content:center;line-height:0}.account-open-icon .arrow-still{display:flex}.account-open-icon svg{display:block}
/* The figures above the table follow the tab, firms, status and search. */
.accounts-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 16px}
.accounts-stat{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid #ffffff17;border-radius:12px;background:linear-gradient(150deg,#1b1b1b,#121212)}
.accounts-stat>span{font-size:11px;color:#9a9a9a}.accounts-stat>b{font-size:22px;font-weight:600;letter-spacing:-.4px;color:#f0f0f0;font-variant-numeric:tabular-nums}.accounts-stat>b.negative{color:#e89b9b}.accounts-stat>b.is-pay{color:#8cc3a8}.accounts-stat>small{font-size:10.5px;color:#868686}
@media(max-width:900px){.accounts-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Ticked accounts: the actions float at the bottom of the screen instead of pushing the table down. */
.accounts-bulk.is-floating{position:fixed;z-index:60;left:50%;bottom:24px;translate:-50% 0;margin:0;max-width:calc(100vw - 32px);padding:8px 10px;border:1px solid #ffffff29;border-radius:14px;background:#181818f5;box-shadow:0 18px 50px #000b;backdrop-filter:blur(10px);animation:accounts-bulk-in .24s var(--ease-out) both}
@keyframes accounts-bulk-in{from{opacity:0;translate:-50% 12px}}
.accounts-bulk.is-floating .pop-select-panel{top:auto;bottom:calc(100% + 8px)}
@media(prefers-reduced-motion:reduce){.accounts-bulk.is-floating{animation:none}}
@media(max-width:680px){.accounts-bulk.is-floating{bottom:12px;width:calc(100vw - 24px)}}
/* Firms: tick any number; All Firms clears them. Statuses carry their colour. */
.pop-select-box{width:16px;height:16px;flex:0 0 16px;border:1.5px solid #ffffff4d;border-radius:4px;background:#0e0e0e;display:grid;place-items:center;transition:background-color var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out)}
.pop-select-option[aria-selected=true] .pop-select-box{background:#e9e9e9;border-color:#e9e9e9}
.pop-select-option[aria-selected=true] .pop-select-box::after{content:'';width:8px;height:4px;border:2px solid #111;border-top:0;border-right:0;rotate:-45deg;translate:0 -1px}
.pop-select-dot.is-all{background:conic-gradient(#3fb86c 0 33%,#d9a92a 0 66%,#d64d4d 0)}
/* Reset Filters stays in place (greyed out until a filter is set); Log Day for All sits beside it. */
.accounts-toolbar .accounts-reset:disabled{opacity:.45;cursor:default}
.accounts-toolbar .accounts-log-all{white-space:nowrap}
/* Accounts toolbar: Log Day for All matches the other controls; one Sort panel holds the order and every filter. */
.accounts-toolbar .accounts-log-all,.accounts-toolbar .accounts-reset{min-height:40px;padding:8px 14px;border-radius:9px;font-size:11.5px;font-weight:600}
.accounts-toolbar .accounts-log-all svg{width:13px;height:13px}
.accounts-filter-toggle{gap:8px}.accounts-filter-toggle>svg:first-child{flex-shrink:0;opacity:.8}
.accounts-filter-count{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#e9e9e9;color:#111;font-size:10px;font-weight:700}
.accounts-filter-panel{width:360px}
.af-direction{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:3px;margin:2px 0 6px;border:1px solid #ffffff17;border-radius:9px;background:#0e0e0e}
.af-dir{position:relative;display:grid;place-items:center;min-height:30px;border-radius:7px;font-size:11px;font-weight:600;color:#a8a8a8;cursor:pointer}
.af-dir input{position:absolute;opacity:0;pointer-events:none}.af-dir:has(input:checked){background:linear-gradient(#f4f4f4,#d9d9d9);color:#141414}.af-dir:has(input:focus-visible){outline:2px solid #fff;outline-offset:1px}
.accounts-filter-panel .cash-account-option input[type=radio]{accent-color:#e9e9e9}
.af-stage-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.af-stage-dot.is-funded{background:#9b6dff}.af-stage-dot.is-evaluation{background:#5b8def}.af-stage-dot.is-live{background:#3fb86c}
/* Every toolbar control is 40px tall; the Sort panel's logos stay small. */
.accounts-toolbar input[type=search]{min-height:40px}.accounts-toolbar .accounts-view-toggle{min-height:40px;align-items:stretch}.accounts-toolbar .accounts-view-toggle button{min-height:32px}
.accounts-filter-panel .firm-mark{width:24px;height:24px;flex:0 0 24px;border-radius:7px;font-size:9px}
/* Filter, Reset Filters and Log Day: one outlined style and one width, so none looks bigger than the others. */
.accounts-toolbar :is(.accounts-filter-toggle,.accounts-reset,.accounts-log-all){min-width:104px;justify-content:center}
.accounts-toolbar .accounts-log-all{gap:6px}
.accounts-filter-panel .cash-date-title{align-items:center}
/* Log Day window (owner, Oct 19, 2026): the date (and one P&L for all) at the top, one row per account with its logo,
   balance and loss limit, and $ boxes in aligned columns; the note and the rule reminder below. */
#modal.log-day-modal{width:min(820px,calc(100vw - 28px))}
.log-day{display:flex;flex-direction:column;gap:14px}
.log-day-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:12px;align-items:end;padding:14px;border:1px solid #ffffff14;border-radius:12px;background:linear-gradient(150deg,#1b1b1b,#121212)}
.log-day-field{display:flex;flex-direction:column;gap:6px;min-width:0}.log-day-field>span,.log-day-note>span{font-size:10.5px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;color:#8a8a8a}
.log-day-field input[type=date]{min-height:40px;padding:8px 12px;border-radius:9px;background:#101010;border:1px solid #ffffff1f;color:#e9e9e9;font-size:12.5px;color-scheme:dark}
.log-day-count{display:flex;flex-direction:column;align-items:flex-end;padding:0 4px 2px}.log-day-count b{font-size:22px;font-weight:600;color:#f0f0f0;line-height:1.1}.log-day-count span{font-size:10.5px;color:#8a8a8a}
.log-money{position:relative;display:flex;align-items:center;min-width:0}
.log-money i{position:absolute;left:11px;font-style:normal;font-size:12px;color:#7d7d7d;pointer-events:none}
.log-money input{width:100%;min-height:40px;padding:8px 10px 8px 24px;border-radius:9px;background:#101010;border:1px solid #ffffff1f;color:#f0f0f0;font-size:12.5px;font-variant-numeric:tabular-nums;-moz-appearance:textfield}
.log-money input::-webkit-outer-spin-button,.log-money input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.log-money input:hover,.log-day-field input:hover,.log-day-note textarea:hover{border-color:#ffffff38}
.log-money input:focus,.log-day-field input:focus,.log-day-note textarea:focus{outline:none;border-color:#d9d9d9;box-shadow:0 0 0 3px #ffffff14}
.log-day-cols,.log-day-row{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));gap:10px;align-items:center}
.log-day-cols{padding:0 12px;font-size:10px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;color:#7d7d7d}
.log-day-rows{display:grid;gap:8px;max-height:min(420px,calc(100dvh - 430px));overflow:auto;padding-right:2px;scrollbar-width:thin;scrollbar-color:#ffffff26 transparent}
.log-day-row{grid-template-columns:auto minmax(0,1.6fr) repeat(3,minmax(0,1fr));padding:10px 12px;border:1px solid #ffffff12;border-radius:11px;background:#151515;transition:border-color var(--dur) var(--ease-out),background-color var(--dur) var(--ease-out)}
.log-day-row:focus-within{border-color:#ffffff33;background:#181818}
.log-day-cols{grid-template-columns:calc(26px + 10px + 1.6fr) repeat(3,minmax(0,1fr))}
.log-day-cols>span:first-child{padding-left:0}
.log-day-row .firm-mark{width:30px;height:30px;border-radius:8px}
.log-day-account{display:flex;flex-direction:column;gap:2px;min-width:0}.log-day-account b{font-size:12.5px;font-weight:600;color:#ececec;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-day-account small{font-size:10.5px;color:#8a8a8a;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.log-day-note{display:flex;flex-direction:column;gap:6px}.log-day-note textarea{min-height:72px;resize:vertical;padding:10px 12px;border-radius:10px;background:#101010;border:1px solid #ffffff1f;color:#e9e9e9;font:inherit;font-size:12.5px}
.log-day-hint{display:flex;gap:8px;align-items:flex-start;margin:0;padding:10px 12px;border:1px solid #ffffff12;border-radius:10px;background:#ffffff05;font-size:11px;line-height:1.55;color:#9a9a9a}.log-day-hint svg{flex-shrink:0;margin-top:1px;color:#bdbdbd}
.log-day-skip{margin:0;font-size:11px;color:#c9a46a}
@media(max-width:680px){.log-day-head{grid-template-columns:1fr}.log-day-count{flex-direction:row;gap:6px;align-items:baseline}.log-day-cols{display:none}.log-day-row{grid-template-columns:auto minmax(0,1fr);row-gap:8px}.log-day-row .log-money{grid-column:span 1}.log-day-row>.log-money:nth-of-type(1){grid-column:1/-1}}

/* Calendar tab: a month of session P&L. Green and red days use the payout and cost colours; hovering shows each account. */
.acct-cal{padding:4px 16px 18px}
.acct-cal-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}
.acct-cal-nav{display:flex;align-items:center;gap:8px}.acct-cal-nav h3{margin:0 6px;min-width:150px;text-align:center;font-size:16px;font-weight:600;color:#f0f0f0}
.acct-cal-step{display:grid;place-items:center;width:36px;height:36px;padding:0;border-radius:9px}.acct-cal-today{min-height:36px;padding:6px 12px;font-size:11.5px;border-radius:9px}
.acct-cal-stats{display:flex;flex-wrap:wrap;gap:8px;margin:0}.acct-cal-stats>div{display:flex;flex-direction:column;gap:2px;min-width:92px;padding:8px 12px;border:1px solid #ffffff14;border-radius:10px;background:#ffffff04}
.acct-cal-stats dt{font-size:10px;color:#8a8a8a}.acct-cal-stats dd{margin:0;font-size:15px;font-weight:600;color:#ececec;font-variant-numeric:tabular-nums}
.acct-cal .is-up{color:#8cc3a8}.acct-cal .is-down{color:#e89b9b}
.acct-cal-week,.acct-cal-grid [role=row]{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.acct-cal-week{margin-bottom:6px}.acct-cal-week span{font-size:10px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;color:#7d7d7d;padding-left:4px}
.acct-cal-grid{display:grid;gap:6px}
.acct-cal-day{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:92px;padding:9px 10px;border:1px solid #ffffff10;border-radius:11px;background:#141414;text-align:left;font:inherit;color:inherit}
.acct-cal-day.is-weekend{background:#121212}.acct-cal-day.is-outside{background:transparent;border-color:#ffffff08}.acct-cal-day.is-outside .acct-cal-num{color:#4d4d4d}
.acct-cal-num{font-size:11px;font-weight:600;color:#9a9a9a;font-variant-numeric:tabular-nums}
.acct-cal-day.is-today{border-color:#ffffff55}.acct-cal-day.is-today .acct-cal-num{color:#fff}
button.acct-cal-day{cursor:pointer;transition:border-color var(--dur) var(--ease-out),background-color var(--dur) var(--ease-out)}
button.acct-cal-day.is-up{background:linear-gradient(160deg,#6d9e871f,#14141400 70%),#141414;--sum-accent:#6d9e87}button.acct-cal-day.is-down{background:linear-gradient(160deg,#bb7c801f,#14141400 70%),#141414;--sum-accent:#bb7c80}button.acct-cal-day.is-flat{--sum-accent:#9a9a9a}
button.acct-cal-day:is(:hover,:focus-visible){border-color:var(--sum-accent);outline:none}
.acct-cal-pnl{margin-top:auto;font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}.acct-cal-day small{font-size:10px;color:#8a8a8a}
.acct-cal-day>.cash-peek{top:calc(100% + 6px);bottom:auto;left:-1px;min-width:220px;z-index:40}
.acct-cal-day.peek-left>.cash-peek{left:auto;right:-1px}.acct-cal-day.peek-up>.cash-peek{top:auto;bottom:calc(100% + 6px)}
.acct-cal-day:is(:hover,:focus-visible)>.cash-peek{display:flex;animation:cash-peek-in .18s var(--ease-out) both}
.acct-cal-peek b.is-up{color:#8cc3a8}.acct-cal-peek b.is-down{color:#e89b9b}
.acct-cal-detail b.is-up{color:#8cc3a8}.acct-cal-detail b.is-down{color:#e89b9b}.acct-cal-note{white-space:normal!important;max-width:240px;color:#a9a9a9}
@media(max-width:900px){.acct-cal-day{min-height:64px;padding:6px}.acct-cal-pnl{font-size:11px}.acct-cal-day small{display:none}}
@media(prefers-reduced-motion:reduce){.acct-cal-day:is(:hover,:focus-visible)>.cash-peek{animation:none}}
/* Log Day columns line up with the boxes below: the same grid, the heading's first cell spans logo and name. */
.log-day-cols,.log-day-row{grid-template-columns:30px minmax(0,1.6fr) repeat(3,minmax(0,1fr))}
.log-day-cols{padding:0 13px}.log-day-cols>span:first-child{grid-column:1/3}
.log-day-rows{padding-right:0}
@media(max-width:680px){.log-day-row{grid-template-columns:30px minmax(0,1fr)}}
/* Free trial (owner, Oct 19, 2026): a large banner at the top for about 4 seconds (the bar along its bottom is the
   timer; hovering pauses it), and the sidebar's Free Trial button, which opens the upgrade page. */
.trial-banner{position:fixed;z-index:1200;top:20px;left:50%;translate:-50% 0;width:min(760px,calc(100vw - 32px));display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:16px;padding:18px 20px 22px;overflow:hidden;border:1px solid #ffffff33;border-radius:16px;background:linear-gradient(150deg,#222,#141414 70%);box-shadow:0 24px 70px #000c,inset 0 1px 0 #ffffff14;animation:trial-banner-in .42s var(--ease-out) both}
.trial-banner.is-leaving{animation:trial-banner-out .32s var(--ease-out) both}
@keyframes trial-banner-in{from{opacity:0;translate:-50% -16px;scale:.98}}@keyframes trial-banner-out{to{opacity:0;translate:-50% -12px}}
.trial-banner-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;border:1px solid #ffffff26;background:#ffffff0a;color:#f0f0f0}
.trial-banner-text b{display:block;font-size:15px;font-weight:650;color:#fff;margin-bottom:3px}.trial-banner-text p{margin:0;font-size:13px;line-height:1.55;color:#c9c9c9}
.trial-banner-cta{min-height:40px;padding:8px 18px;white-space:nowrap}
.trial-banner-timer{position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,#f4f4f4,#9a9a9a);transform-origin:left;animation:trial-banner-timer 4s linear both}
.trial-banner:is(:hover,:focus-within) .trial-banner-timer{animation-play-state:paused}
@keyframes trial-banner-timer{from{transform:scaleX(1)}to{transform:scaleX(0)}}
@media(max-width:680px){.trial-banner{grid-template-columns:auto minmax(0,1fr) auto;top:12px}.trial-banner-cta{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){.trial-banner,.trial-banner.is-leaving{animation:none}.trial-banner-timer{animation:none;transform:scaleX(.5)}}
button.workspacebox.is-trial{width:100%;font:inherit;font-size:12px;font-weight:600;text-align:left;cursor:pointer;background:#141414;transition:border-color var(--dur) var(--ease-out),background-color var(--dur) var(--ease-out)}
button.workspacebox.is-trial:hover,button.workspacebox.is-trial:focus-visible{background:#1d1d1d;border-color:#ffffff66;outline:none}
button.workspacebox.is-trial{padding:11px 12px;gap:8px;white-space:nowrap}
/* The Free Trial panel opens above its button, in the site's pop-out style. */
.sidebar-foot:has(.trial-menu){position:relative}.trial-menu{flex:1;min-width:0}
.trial-menu-panel{position:absolute;z-index:80;left:0;right:0;bottom:calc(100% + 10px);white-space:normal;display:flex;flex-direction:column;gap:8px;padding:14px;border:1px solid #ffffff29;border-radius:12px;background:#181818f8;box-shadow:0 18px 50px #000b;backdrop-filter:blur(10px);animation:cash-pop-in .22s var(--ease-out) both}
.trial-menu-panel[hidden]{display:none}.trial-menu-panel b{font-size:13px;color:#f0f0f0}.trial-menu-panel p{margin:0;font-size:11.5px;line-height:1.55;color:#a9a9a9}
.trial-menu-upgrade{min-height:38px;margin-top:4px;font-size:12px}
button.workspacebox.is-trial[aria-expanded=true]{border-color:#ffffff66;background:#1d1d1d}
@media(prefers-reduced-motion:reduce){.trial-menu-panel{animation:none}}
