
:root{
  --bg:#f3f5f7;--surface:#fff;--surface-soft:#f7fafc;--ink:#1b1d1f;--muted:#58646f;--line:#dfe6ed;
  --accent:#1d5fd6;--accent-dark:#1648a2;--accent-soft:#dcf1ff;--positive:#176f58;--negative:#a83248;
  --warm:#edf4ff;--radius:20px;--shadow:0 4px 14px #101c3210;--rail:#f3f5f7;--active:#e8edf3;
  --control:#ccd8e4;--rule:#ebeff3;--subtle:#738193;--focus:#69aef5;--brand-dot:#1d5fd6;
  --group-1:#3989ce;--group-2:#2b9b8d;--group-3:#9a75c0;--avatar-bg:#e8f3ff;--topbar:#ffffffed;
  --hover:#edf3fa;--icon-bg:#e7f2fd;--icon-ink:#2a628e;--negative-soft:#fce8ec;
  --shadow-dialog:#0a15253b;--backdrop:#080f20a6;--auth-art:#d8ecff;--auth-muted:#365878;
  --warning-ink:#815b1e;--warning-soft:#fff3db;--on-accent:#fff;
  font-family:Manrope,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);background:var(--bg);color-scheme:light;
}
:root[data-theme=dark]{
  --bg:#131716;--surface:#202524;--surface-soft:#292f2d;--ink:#f3f5f2;--muted:#b6c0ba;--line:#37403c;
  --accent:#9bd9cb;--accent-dark:#78bfac;--accent-soft:#263d36;--positive:#9dddac;--negative:#f1a2a0;
  --warm:#2b3933;--shadow:0 4px 14px #00000022;--rail:#131716;--active:#2b3430;
  --control:#53625b;--rule:#343d38;--subtle:#99aaa0;--focus:#b4e5d9;--brand-dot:#9bd9cb;
  --group-1:#9bd9cb;--group-2:#c4bda3;--group-3:#d4aaa5;--avatar-bg:#30453c;--topbar:#131716;
  --hover:#33413a;--icon-bg:#30453c;--icon-ink:#bce5d7;--negative-soft:#49302f;
  --shadow-dialog:#00000080;--backdrop:#000000b8;--auth-art:#20362e;--auth-muted:#c1d7c9;
  --warning-ink:#efd2a4;--warning-soft:#40382b;--on-accent:#11251f;
  color-scheme:dark;
}

*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.48}.app-shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--rail);border-right:1px solid var(--line);padding:30px 17px 20px;display:flex;flex-direction:column;gap:0;min-height:100vh}.brand{display:flex;align-items:center;gap:10px;padding:1px 13px 46px;font-size:23px;font-weight:760;letter-spacing:-1.1px}.brand-mark{display:grid;place-items:center;background:var(--accent);color:var(--surface);width:33px;height:33px;border-radius:10px;font-size:24px;line-height:1}.brand-dot{color:var(--brand-dot)}.workspace-label,.sidebar-section-heading,.eyebrow{font-size:10px;font-weight:800;letter-spacing:.16em;color:var(--subtle)}.workspace-label{padding:0 14px 13px}.main-nav,.group-nav{display:grid;gap:3px}.nav-item,.group-item{border:0;background:transparent;text-align:left;display:flex;align-items:center;gap:12px;min-height:41px;width:100%;padding:0 13px;color:var(--muted);border-radius:10px;font-size:13px;font-weight:600}.nav-item>span{font-size:19px;width:17px;text-align:center;font-weight:400}.nav-item:hover,.group-item:hover{background:var(--active)}.nav-item.active,.group-item.active{background:var(--active);color:var(--accent-dark)}.sidebar-section-heading{display:flex;justify-content:space-between;align-items:center;margin:37px 8px 10px 13px}.icon-button{border:0;background:transparent;color:var(--accent);font-size:22px;line-height:1;width:30px;height:30px;border-radius:8px}.icon-button:hover{background:var(--active)}.group-dot{width:9px;height:9px;flex:none;border-radius:3px;background:var(--group-1)}.group-item:nth-child(2) .group-dot{background:var(--group-2)}.group-item:nth-child(3) .group-dot{background:var(--group-3)}.sidebar-bottom{margin-top:auto;display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding:19px 10px 0;font-size:12px}.sidebar-bottom strong,.sidebar-bottom small{display:block}.sidebar-bottom small{color:var(--muted);margin-top:3px}.avatar{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:50%;font-size:12px;font-weight:800;background:var(--avatar-bg);color:var(--accent)}.avatar-me{background:var(--accent-dark);color:var(--surface)}.main-content{min-width:0}.topbar{height:72px;background:var(--topbar);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 48px}.topbar-title{font-size:12px;color:var(--muted)}.topbar-actions{display:flex;align-items:center;gap:22px}.today{font-size:12px;color:var(--muted)}.content{max-width:1210px;padding:44px 48px 80px;margin:auto}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:30px}.eyebrow{margin:0 0 11px;color:var(--accent)}.page-heading h1{font-size:35px;letter-spacing:-.045em;line-height:1.12;margin:0;font-weight:750}.page-subtitle{color:var(--muted);font-size:14px;margin:11px 0 0;line-height:1.6}.heading-actions{display:flex;gap:10px;flex-wrap:wrap}.button{border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:39px;padding:0 16px;border-radius:9px;font-size:12px;font-weight:750;white-space:nowrap}.button-primary{background:var(--accent);color:var(--surface)}.button-primary:hover{background:var(--accent-dark)}.button-secondary{background:var(--surface);border-color:var(--control);color:var(--accent-dark)}.button-secondary:hover,.button-quiet:hover{background:var(--hover)}.button-quiet{background:transparent;color:var(--muted)}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:34px}.summary-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:21px 24px;min-height:125px}.summary-card.highlight{background:var(--accent-soft);border-color:var(--line)}.summary-label{font-size:12px;color:var(--muted);margin-bottom:18px}.summary-value{font-size:26px;font-weight:750;letter-spacing:-.04em}.summary-value.positive{color:var(--positive)}.summary-value.negative{color:var(--negative)}.summary-foot{font-size:11px;color:var(--subtle);margin-top:6px}.layout-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(270px,1fr);gap:20px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:22px 24px 18px;border-bottom:1px solid var(--line)}.panel-header h2{font-size:16px;letter-spacing:-.025em;margin:0}.panel-header p{font-size:11px;color:var(--muted);margin:5px 0 0}.text-button{border:0;background:transparent;color:var(--accent);font-size:12px;font-weight:750;padding:4px 0}.text-button:hover{text-decoration:underline}.transaction-list{list-style:none;margin:0;padding:0}.transaction{display:flex;align-items:center;gap:14px;min-height:78px;padding:14px 24px;border-bottom:1px solid var(--rule)}.transaction:last-child{border-bottom:0}.transaction-icon{width:39px;height:39px;flex:none;border-radius:11px;background:var(--icon-bg);color:var(--icon-ink);display:grid;place-items:center;font-size:18px}.transaction-icon.payment{background:var(--accent-soft);color:var(--accent)}.transaction-info{min-width:0;flex:1}.transaction-title{font-size:13px;font-weight:730;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.transaction-meta{font-size:11px;color:var(--muted);margin-top:5px;line-height:1.4}.transaction-amount{font-size:13px;font-weight:750;white-space:nowrap}.transaction-date{font-size:10px;color:var(--subtle);text-align:right;margin-top:5px}.delete-button{background:transparent;border:0;color:var(--subtle);padding:6px;font-size:16px;border-radius:5px}.delete-button:hover{color:var(--negative);background:var(--negative-soft)}.person-list{padding:5px 21px 10px}.person-row{display:flex;align-items:center;gap:10px;padding:16px 0;border-bottom:1px solid var(--rule)}.person-row:last-child{border-bottom:0}.person-name{font-size:12px;font-weight:720;flex:1}.person-balance{font-size:12px;text-align:right;font-weight:700}.person-balance small{display:block;font-size:10px;font-weight:500;color:var(--subtle);margin-top:4px}.person-balance.positive{color:var(--positive)}.person-balance.negative{color:var(--negative)}.settlement-list{padding:8px 23px 22px}.settlement{display:flex;gap:10px;align-items:center;font-size:12px;color:var(--muted);padding:11px 0;border-bottom:1px solid var(--rule);line-height:1.4}.settlement:last-child{border-bottom:0}.settlement strong{color:var(--ink)}.settlement .transfer-amount{margin-left:auto;white-space:nowrap;color:var(--ink);font-weight:750}.empty{padding:43px 28px;text-align:center}.empty-icon{width:52px;height:52px;border-radius:16px;background:var(--accent-soft);display:grid;place-items:center;margin:0 auto 18px;font-size:25px;color:var(--accent)}.empty h3{margin:0 0 8px;font-size:15px}.empty p{margin:0 auto 19px;max-width:300px;line-height:1.55;font-size:12px;color:var(--muted)}.welcome{background:var(--accent-soft);border:1px solid var(--line);border-radius:var(--radius);padding:30px;display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:28px}.welcome h2{font-size:22px;margin:0 0 8px;letter-spacing:-.035em}.welcome p{font-size:13px;color:var(--muted);line-height:1.6;margin:0;max-width:520px}.welcome-art{font-family:Georgia,serif;font-size:64px;color:var(--accent);line-height:1}.overview-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.group-card{width:100%;text-align:left;border:1px solid var(--line);border-radius:var(--radius);padding:24px;background:var(--surface);min-height:146px;display:flex;flex-direction:column;align-items:flex-start}.group-card:hover{border-color:var(--control);box-shadow:var(--shadow)}.group-card-top{display:flex;width:100%;align-items:center;justify-content:space-between}.group-card-symbol{display:grid;place-items:center;width:39px;height:39px;background:var(--warm);border-radius:12px;color:var(--icon-ink);font-size:19px}.group-card:nth-child(2) .group-card-symbol{background:var(--accent-soft);color:var(--accent)}.group-card-name{font-size:15px;font-weight:760;margin-top:18px}.group-card-bottom{font-size:11px;color:var(--muted);margin-top:5px}.group-card-arrow{font-size:20px;color:var(--subtle)}.section-label{display:flex;justify-content:space-between;align-items:center;margin:0 0 15px}.section-label h2{font-size:16px;margin:0;letter-spacing:-.025em}.section-label span{font-size:11px;color:var(--muted)}.overview-main{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:22px}.activity-feed .transaction{min-height:86px}.modal{border:1px solid var(--line);border-radius:18px;padding:0;width:min(480px,calc(100vw - 28px));box-shadow:0 25px 90px var(--shadow-dialog)}.modal::backdrop{background:var(--backdrop)}.modal-form{padding:28px}.modal-top{display:flex;justify-content:space-between;gap:12px}.modal-top h2{font-size:25px;letter-spacing:-.045em;margin:0}.close-button{background:transparent;border:0;font-size:24px;color:var(--muted);line-height:1}.modal-help{color:var(--muted);font-size:12px;line-height:1.6;margin:12px 0 22px}.modal label,.modal legend{display:block;font-size:12px;font-weight:730;margin:18px 0 8px}.modal input,.modal textarea,.modal select{width:100%;background:var(--surface);border:1px solid var(--control);border-radius:9px;padding:11px 12px;color:var(--ink);min-height:41px}.modal textarea{resize:vertical}.modal input::placeholder,.modal textarea::placeholder{color:var(--subtle)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.money-input{display:flex;align-items:center;border:1px solid var(--control);border-radius:9px;padding-left:12px}.money-input span{color:var(--muted);font-size:13px}.money-input input{border:0;padding-left:7px}.money-input:focus-within{outline:3px solid var(--focus);outline-offset:2px}.money-input input:focus{outline:0}.modal fieldset{border:0;margin:20px 0 0;padding:0}.check-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}.check-list label{display:flex;align-items:center;gap:8px;background:var(--surface-soft);padding:8px;border:1px solid var(--line);border-radius:8px;margin:0;font-weight:600}.check-list input{width:auto;min-height:0;accent-color:var(--accent)}.field-hint{font-size:11px;color:var(--muted);line-height:1.45;margin:8px 0 0}.form-error{color:var(--negative);font-size:12px;min-height:17px;margin:8px 0 0}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.mobile-nav{display:none}@media(max-width:1000px){.app-shell{grid-template-columns:205px minmax(0,1fr)}.topbar{padding:0 30px}.content{padding:34px 30px 70px}.layout-grid,.overview-main{grid-template-columns:1fr}.summary-card{padding:18px}.summary-value{font-size:23px}}@media(max-width:700px){.app-shell{display:block}.sidebar{display:none}.topbar{height:62px;padding:0 20px}.topbar-title{font-weight:760;color:var(--ink);font-size:18px;letter-spacing:-.04em}.today{display:none}.content{padding:30px 18px 100px}.page-heading{display:block}.page-heading h1{font-size:30px}.heading-actions{margin-top:20px}.summary-grid{gap:7px}.summary-card{padding:14px 10px;min-height:101px}.summary-label{font-size:10px;margin-bottom:14px}.summary-value{font-size:19px}.summary-foot{font-size:9px}.overview-groups{grid-template-columns:1fr}.welcome{padding:22px}.welcome-art{display:none}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:4;background:var(--surface);border-top:1px solid var(--line);padding:8px 12px max(8px,env(safe-area-inset-bottom));justify-content:space-around}.mobile-nav button{border:0;background:transparent;color:var(--muted);font-size:10px;font-weight:700;display:grid;justify-items:center;gap:3px;min-width:62px;padding:5px}.mobile-nav span{font-size:20px}.mobile-nav .selected{color:var(--accent)}.transaction{padding:13px 16px}.panel-header{padding:18px}.check-list{grid-template-columns:1fr 1fr}}@media(max-width:390px){.summary-grid{grid-template-columns:1fr}.summary-card{min-height:auto}.summary-label{margin-bottom:4px}.summary-foot{display:none}.form-grid{grid-template-columns:1fr}}
.mobile-brand{display:none}@media(max-width:700px){.desktop-tagline{display:none}.mobile-brand{display:inline;font-size:20px;font-weight:760;color:var(--ink);letter-spacing:-.04em}}
.auth-page{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(370px,43%)}.auth-art{background:var(--auth-art);padding:42px clamp(35px,6vw,100px);display:flex;flex-direction:column;justify-content:space-between}.auth-brand{display:flex;align-items:center;gap:10px;font-size:24px;font-weight:800;letter-spacing:-.05em}.auth-art h1{font-size:clamp(40px,5vw,72px);line-height:1.06;letter-spacing:-.06em;margin:13px 0 18px}.auth-art p:not(.eyebrow){max-width:390px;color:var(--auth-muted);line-height:1.65}.auth-note{font-size:12px;color:var(--auth-muted)}.auth-side{display:grid;place-items:center;padding:32px}.auth-card{width:min(100%,400px)}.auth-card h2{font-size:30px;letter-spacing:-.045em;margin:0}.auth-card label,.inline-form label,.report-box label{display:block;font-size:12px;font-weight:730;margin:18px 0 8px}.auth-card input,.inline-form input,.report-box input{width:100%;min-height:42px;padding:10px 12px;border:1px solid var(--control);border-radius:9px;background:var(--surface)}.auth-submit{width:100%;margin-top:15px}.auth-switch,.legacy-note{font-size:12px;color:var(--muted);margin-top:18px}.legacy-note{border-top:1px solid var(--line);padding-top:15px}.inline-form{padding:8px 24px 22px}.inline-form>div{display:flex;gap:9px}.inline-form input{flex:1;min-width:0}.request-list{padding:7px 22px}.request-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid var(--line);font-size:12px}.request-row:last-child{border-bottom:0}.request-row strong,.request-row small,.email-line{display:block}.request-row small,.email-line{color:var(--muted);font-size:11px;margin-top:4px;font-weight:400}.status-chip{color:var(--warning-ink);background:var(--warning-soft);padding:5px 9px;border-radius:20px;font-size:11px}.report-box{padding:8px 24px 24px}.report-box .button{margin-top:12px}.report-box p{font-size:11px;line-height:1.6;color:var(--muted)}.server-error{max-width:520px;margin:15vh auto;padding:20px}.exact-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}.exact-list label{margin:0!important}.exact-list .money-input{margin-top:6px}.modal fieldset[hidden]{display:none}@media(max-width:800px){.auth-page{grid-template-columns:1fr}.auth-art{min-height:255px;padding:27px;gap:35px}.auth-art h1{font-size:37px}.auth-note{display:none}.auth-side{padding:45px 22px}}@media(max-width:500px){.inline-form>div{display:grid}.exact-list{grid-template-columns:1fr}.topbar-actions{gap:9px}.topbar-actions .text-button{font-size:11px}}

/* Keep the ledger usable above phone browser chrome and the keyboard. */
html{-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;overscroll-behavior:none}
.app-shell,.auth-page{min-height:100dvh}
button,a,[role="button"]{touch-action:manipulation;user-select:none;-webkit-user-select:none}
input,select,textarea{font-size:16px}
.modal{max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain}
.edit-button{background:transparent;border:0;color:var(--accent);font-size:12px;font-weight:750;min-height:42px;padding:8px;border-radius:7px}
.simplify-control{display:flex;align-items:center;gap:9px;margin:18px 21px 0;font-size:13px;font-weight:700;color:var(--ink);cursor:pointer}
.simplify-control input{width:18px;height:18px;accent-color:var(--accent)}
.simplify-hint{font-size:11px;color:var(--muted);line-height:1.5;margin:6px 21px 19px}
.money-input .suffix{padding:0 12px 0 2px}
@media(max-width:700px){
  .topbar{padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right))}
  .content{padding-bottom:calc(115px + env(safe-area-inset-bottom))}
  .mobile-nav{padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right))}
  .mobile-nav button{min-height:46px}
  .heading-actions .button{min-height:44px}
  .transaction{gap:8px}
  .transaction-icon{width:32px;height:32px}
  .transaction-amount{font-size:12px}
  .edit-button,.delete-button{flex:none}
  .modal{width:100%;max-width:none;max-height:92dvh;margin:auto 0 0;border-radius:20px 20px 0 0;padding-bottom:env(safe-area-inset-bottom)}
  .modal-form{padding:22px 18px 18px}
  .modal-actions .button{min-height:44px}
}
@media(max-width:390px){
  .transaction-icon{display:none}
  .transaction{padding:12px 10px}
  .edit-button{padding:5px}
  .delete-button{padding:5px}
  .check-list{grid-template-columns:1fr}
}

/* Palette and type: balance colours carry meaning while navigation stays quiet. */
body{min-width:0;background:var(--bg);color:var(--ink)}
button,input,select,textarea{color:inherit}
.button-primary{color:var(--on-accent)}
.brand,.auth-brand{letter-spacing:-.05em}
.brand-dot{color:var(--brand-dot)}
.admin-panel{max-width:520px}.admin-form{padding:24px}.admin-form label{display:block;font-size:12px;font-weight:730;margin:14px 0 8px}.admin-form input{width:100%;min-height:42px;padding:10px 12px;border:1px solid var(--control);border-radius:9px;background:var(--surface)}.admin-form .button{margin-top:10px}.form-success{color:var(--positive);font-size:12px;min-height:17px}
.summary-value .currency-line{display:inline-block;overflow-wrap:anywhere}.summary-value .currency-join{color:var(--muted);font-size:.7em}.summary-value .currency-line.positive{color:var(--positive)}.summary-value .currency-line.negative{color:var(--negative)}.person-figures .person-balance{display:block}
.brand-mark{color:var(--on-accent)}
.auth-brand{justify-content:space-between;gap:16px}
.auth-brand>span:first-child{display:flex;align-items:center;gap:9px}
.auth-brand .brand-mark{flex:none}
.theme-toggle{flex:none;min-height:40px;padding:0 12px;border:1px solid var(--control);border-radius:10px;background:var(--surface);color:var(--ink);font-size:12px;font-weight:700}
.theme-toggle:hover{background:var(--hover)}
.auth-brand .theme-toggle{background:transparent;border-color:currentColor}
.topbar{background:var(--topbar)}
.nav-item.active,.group-item.active{background:var(--active);color:var(--ink)}
.nav-item:hover,.group-item:hover{color:var(--ink)}
.page-heading h1{font-size:30px;font-weight:700}
.summary-card{border:0;box-shadow:none;min-height:132px}
.summary-card.highlight{background:var(--accent-soft);border:0}
.summary-card:nth-child(2){background:#e1f4ec}
.summary-card:nth-child(3){background:#e9eef5}
.summary-label{font-size:13px;color:var(--muted);margin-bottom:17px}
.summary-value{font-size:30px;font-weight:600;font-variant-numeric:tabular-nums}
.summary-foot{font-size:12px;color:var(--muted)}
.panel,.group-card{box-shadow:none}
.panel-header h2,.section-label h2{font-size:18px;font-weight:700}
.transaction-icon,.group-card-symbol,.empty-icon{background:transparent!important;border-radius:0;width:24px;height:24px;color:var(--subtle)}
.transaction-icon.payment{background:transparent;color:var(--accent)}
.group-card-symbol{font-size:21px}
.group-card:hover{box-shadow:none;background:var(--surface-soft)}
.transaction-title,.person-name,.group-card-name{color:var(--ink)}
.transaction-amount,.person-balance,.transfer-amount{font-variant-numeric:tabular-nums}
.transaction-meta,.transaction-date,.person-balance small{color:var(--muted)}
.modal{background:var(--surface);color:var(--ink)}
.modal input,.modal select,.modal textarea,.auth-card input,.inline-form input,.report-box input{background:var(--surface);border-color:var(--control);color:var(--ink)}
.modal input::placeholder,.auth-card input::placeholder,.inline-form input::placeholder{color:var(--subtle)}
.check-list label{background:var(--surface-soft)}
.status-chip{background:var(--warning-soft);color:var(--warning-ink)}
.mobile-nav{background:var(--surface)}
:root[data-theme=dark] .summary-card:nth-child(2){background:#26382d}
:root[data-theme=dark] .summary-card:nth-child(3){background:#392d2c}
:root[data-theme=dark] .summary-card.highlight{background:#293d36}
:root[data-theme=dark] .summary-value.positive,:root[data-theme=dark] .person-balance.positive{color:var(--positive)}
:root[data-theme=dark] .summary-value.negative,:root[data-theme=dark] .person-balance.negative{color:var(--negative)}
:root[data-theme=dark] .auth-brand .theme-toggle{color:var(--ink)}
@media(max-width:700px){
  .theme-toggle{min-height:44px;padding:0 10px}
  .topbar-actions{gap:12px}
  .summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .summary-card.highlight{grid-column:1/-1}
  .summary-card{min-height:92px;padding:16px}
  .summary-value{font-size:24px}
  .summary-label{margin-bottom:9px}
  .summary-foot{font-size:11px;display:block}
  .auth-brand{font-size:20px}
}
@media(max-width:390px){
  .summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .summary-card.highlight{grid-column:1/-1}
  .summary-card{min-height:100px}
  .summary-value{font-size:21px}
  .summary-label{font-size:12px}
  .auth-art{padding:24px 18px}
}
@media(hover:none){
  .button-primary:hover{background:var(--accent)}
  .theme-toggle:hover,.group-card:hover{background:var(--surface)}
  .nav-item:hover,.group-item:hover{background:transparent}
  .nav-item.active:hover,.group-item.active:hover{background:var(--active)}
}

/* Keep labels legible at the sizes used in the ledger. */
.workspace-label,.sidebar-section-heading,.eyebrow{font-size:11px;letter-spacing:.1em}
.panel-header p,.transaction-meta,.group-card-bottom,.report-box p,.auth-switch,.legacy-note{font-size:12px}
.transaction-title,.person-name,.person-balance,.settlement{font-size:13px}
.transaction-amount{font-size:14px}
.auth-card label,.inline-form label,.report-box label,.modal label,.modal legend{font-size:13px}
.modal-help{font-size:13px}
@media(max-width:500px){
  .auth-art{min-height:0;padding:18px 18px 20px;gap:18px}
  .auth-art h1{font-size:28px;line-height:1.08;margin:8px 0}
  .auth-art p:not(.eyebrow){font-size:13px;line-height:1.45}
  .auth-side{padding:26px 20px}
  .auth-card h2{font-size:26px}
  .auth-card label{margin-top:14px}
}
.person-figures{display:flex;flex-direction:column;align-items:flex-end;gap:3px}
.person-figures .person-balance{white-space:nowrap}
.settle-button{min-height:36px;padding:3px 0;font-size:12px;white-space:nowrap}
.monthly-panel{margin-top:34px}
@media(max-width:700px){.settle-button{min-height:44px}}
