:root{--blue:#1367d1;--blue2:#0d4fa9;--sky:#eaf4ff;--ink:#18324b;--muted:#64748b;--line:#dbe4ee;--surface:#fff;--bg:#f5f7fb;--danger:#b42318;--success:#147d50;--warning:#9a6700;--radius:16px;--shadow:0 8px 26px rgba(24,50,75,.08)}*{box-sizing:border-box}html{font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--bg);scroll-behavior:smooth}body{margin:0;min-height:100vh}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}.shell{width:min(1180px,calc(100% - 32px));margin-inline:auto}.topbar{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.topbar-inner{min-height:68px;display:flex;align-items:center;gap:18px}.brand{display:flex;align-items:center;margin-right:auto}.brand img{width:176px;height:auto}.nav{display:flex;align-items:center;gap:18px}.nav a{font-weight:650;color:var(--ink)}.nav-user{color:var(--muted);font-size:.92rem}.nav-toggle{display:none;border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px 12px}.page{padding-block:28px 60px}.page-head{display:flex;gap:18px;align-items:flex-start;justify-content:space-between;margin-bottom:22px}.page-head h1{margin:0 0 6px;font-size:clamp(1.55rem,3vw,2.3rem)}.page-head p{margin:0;color:var(--muted)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.stack{display:grid;gap:16px}.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.btn{appearance:none;border:1px solid transparent;border-radius:12px;padding:11px 16px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;cursor:pointer;text-decoration:none;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.btn:hover{text-decoration:none;transform:translateY(-1px)}.btn-primary{background:var(--blue);color:#fff;box-shadow:0 5px 14px rgba(19,103,209,.25)}.btn-primary:hover{background:var(--blue2)}.btn-secondary{background:#fff;border-color:var(--line);color:var(--ink)}.btn-soft{background:var(--sky);color:var(--blue2)}.btn-danger{background:#fff3f2;color:var(--danger);border-color:#f6c7c2}.btn[disabled],.btn.disabled{opacity:.48;pointer-events:none}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field{display:grid;gap:7px}.field label,.label{font-weight:700;font-size:.92rem}.field small,.hint{color:var(--muted);line-height:1.45}.field input,.field select,.field textarea,.control{width:100%;border:1px solid #cbd7e4;border-radius:12px;background:#fff;padding:11px 12px;min-height:44px;color:var(--ink)}.field textarea{min-height:100px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid rgba(19,103,209,.13);border-color:var(--blue)}.full{grid-column:1/-1}.check-row{display:flex;align-items:flex-start;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:#fff}.check-row input{width:20px;height:20px;flex:0 0 auto}.segmented{display:flex;gap:8px;flex-wrap:wrap}.segmented label{position:relative}.segmented input{position:absolute;opacity:0}.segmented span{display:block;border:1px solid var(--line);border-radius:999px;padding:9px 14px;background:#fff;cursor:pointer;font-weight:650}.segmented input:checked+span{background:var(--blue);border-color:var(--blue);color:#fff}.entity-card{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fbfdff}.entity-title{display:flex;align-items:center;gap:10px;font-weight:750}.entity-members{margin:10px 0 0 28px;color:var(--muted);font-size:.93rem}.split-panel{margin-top:12px;padding:12px;border-radius:12px;background:#f7faff}.is-hidden,[hidden]{display:none!important}.summary-card strong{display:block;font-size:1.45rem;margin-top:7px}.summary-card span{color:var(--muted)}.tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);overflow-x:auto;margin:20px 0}.tabs a{padding:12px 14px;color:var(--muted);font-weight:700;white-space:nowrap;border-bottom:3px solid transparent}.tabs a.active{color:var(--blue);border-color:var(--blue)}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:#fff}table{width:100%;border-collapse:collapse;min-width:700px}th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}th{background:#f6f9fc;color:#456078;font-size:.86rem;text-transform:uppercase;letter-spacing:.03em}tr:last-child td{border-bottom:0}.expense-list{display:grid;gap:12px}.expense-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:16px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px}.expense-main h3{margin:0 0 6px;font-size:1.05rem}.expense-meta{display:flex;gap:8px 14px;flex-wrap:wrap;color:var(--muted);font-size:.9rem}.expense-amount{font-weight:800;font-size:1.14rem}.expense-actions{display:flex;gap:9px;align-items:center}.expense-actions .btn{min-height:40px;padding:8px 12px}.date-strip{display:flex;gap:8px;overflow-x:auto;padding:4px 0 10px;scrollbar-width:thin}.date-chip{flex:0 0 auto;border:1px solid var(--line);border-radius:12px;padding:9px 12px;background:#fff;color:var(--ink);font-weight:650}.date-chip.active{background:var(--blue);color:#fff;border-color:var(--blue)}.pagination{display:flex;gap:8px;align-items:center;justify-content:center;margin-top:20px;flex-wrap:wrap}.pagination a,.pagination span{min-width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;background:#fff}.pagination .active{background:var(--blue);color:#fff;border-color:var(--blue)}.toast-region{position:fixed;z-index:100;right:20px;top:82px;display:grid;gap:10px;width:min(360px,calc(100% - 40px))}.toast{background:#fff;border:1px solid var(--line);border-left:5px solid var(--blue);box-shadow:var(--shadow);border-radius:12px;padding:13px 15px;animation:toastIn .22s ease}.toast-success{border-left-color:var(--success)}.toast-error{border-left-color:var(--danger)}.toast-warning{border-left-color:var(--warning)}.empty{padding:34px;text-align:center;color:var(--muted);background:#fff;border:1px dashed var(--line);border-radius:14px}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;background:var(--sky);color:var(--blue2);font-weight:700;font-size:.78rem}.badge-muted{background:#eef2f6;color:#617184}.progress{height:10px;border-radius:999px;background:#e7eef7;overflow:hidden}.progress>span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--blue),#38a8ff);transition:width .15s linear}.chart-layout{display:grid;grid-template-columns:minmax(280px,520px) minmax(260px,1fr);gap:24px;align-items:start}.chart-box{position:relative;aspect-ratio:1;max-width:520px;margin:auto}.chart-box canvas{width:100%;height:100%}.chart-tooltip{position:absolute;pointer-events:none;background:#102a43;color:#fff;padding:8px 10px;border-radius:8px;font-size:.85rem;transform:translate(-50%,-115%);display:none}.legend{display:grid;gap:9px}.legend-row{display:grid;grid-template-columns:14px minmax(0,1fr) auto;gap:9px;align-items:center}.legend-dot{width:12px;height:12px;border-radius:50%}.impact-row{border-left:4px solid var(--blue);padding-left:10px}.upload-zone{border:1px dashed #9fb4c9;border-radius:14px;padding:16px;background:#f9fcff}.receipt-list{display:flex;gap:8px;flex-wrap:wrap}.receipt-link{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:#fff}.modal-backdrop{position:fixed;inset:0;background:rgba(11,27,44,.45);display:grid;place-items:center;padding:20px;z-index:90;animation:fadeIn .15s ease}.modal{width:min(520px,100%);background:#fff;border-radius:18px;padding:22px;box-shadow:0 24px 70px rgba(0,0,0,.25);animation:riseIn .2s ease}@keyframes toastIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes riseIn{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(max-width:820px){.shell{width:min(100% - 22px,1180px)}.topbar-inner{min-height:62px}.brand img{width:150px}.nav-toggle{display:block}.nav{display:none;position:absolute;left:11px;right:11px;top:66px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:12px;align-items:stretch;flex-direction:column;gap:4px}.nav.open{display:flex}.nav a,.nav-user{padding:10px 12px}.page{padding-top:20px}.page-head{display:grid}.grid-2,.grid-3,.grid-4,.form-grid,.chart-layout{grid-template-columns:1fr}.action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.expense-card{grid-template-columns:1fr}.expense-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:12px}.expense-actions .btn{width:100%;min-height:46px}.table-wrap{border-radius:12px}.card{padding:16px}.toast-region{top:72px;right:11px;width:calc(100% - 22px)}}@media(max-width:430px){.action-grid{grid-template-columns:1fr}.actions>.btn{width:100%}.expense-actions{grid-template-columns:1fr}.segmented{display:grid;grid-template-columns:1fr}.segmented span{text-align:center}.page-head h1{font-size:1.55rem}.summary-scroll{display:flex;overflow-x:auto;gap:10px;padding-bottom:6px}.summary-scroll>.card{min-width:76vw}.form-actions{position:sticky;bottom:0;background:rgba(245,247,251,.96);padding:12px 0;z-index:15}.form-actions .btn{width:100%}}

.receipt-list{display:grid;gap:10px}.receipt-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.receipt-row:last-child{border-bottom:0}.receipt-row form{margin:0;flex:0 0 auto}.btn-small{min-height:36px;padding:7px 12px}@media(max-width:560px){.receipt-row{align-items:stretch;flex-direction:column}.receipt-row .btn{width:100%}}
.page-head,.page>.card,.page>.grid,.page>.tabs,.expense-card{animation:riseIn .22s ease both}.expense-card:nth-child(2n){animation-delay:.025s}.expense-card:nth-child(3n){animation-delay:.05s}

/* Revision 5.2 responsive and consistency layer */
body{overflow-x:hidden}.page-head,.page>.card,.page>.grid,.page>.tabs,.expense-card{animation:none}.card h2{margin-top:0}.card-title{margin:0}.section-gap{margin-top:20px}.inline-toast{position:static;width:auto;margin-bottom:16px}.form-card{max-width:780px}.back-link{display:inline-flex;align-items:center;min-height:40px;font-weight:750;color:var(--blue2);padding:4px 0}.back-link:hover{text-decoration:underline}.equal-cards{align-items:stretch}.equal-cards>.card,.equal-cards>form.card{height:100%}.equal-buttons>*{min-height:48px}.btn-primary-outline{background:#fff;color:var(--blue);border-color:#8ab7ec;box-shadow:0 4px 12px rgba(19,103,209,.1)}.btn-primary-outline:hover{background:#f1f7ff;border-color:var(--blue)}.btn-export-csv{background:#0f766e;color:#fff;border-color:#0f766e}.btn-export-csv:hover{background:#0b5f59}.btn-export-pdf{background:#4f46a8;color:#fff;border-color:#4f46a8}.btn-export-pdf:hover{background:#40378f}.btn-compact{min-height:38px;padding:7px 12px;border-radius:10px;font-size:.9rem}.export-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.export-actions .btn{min-width:138px}.form-actions-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.aligned-form>.field input,.aligned-form>.field select,.aligned-form>.field textarea,.compact-form input,.compact-form select{min-height:46px}.filter-actions{align-self:end}.password-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.password-field{grid-template-rows:auto 46px minmax(38px,auto)}.password-field input{height:46px}.split-methods{margin-top:8px}.split-panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.analysis-controls{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}.group-actions{margin-bottom:0}.expense-side{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;min-width:170px}.expense-actions{display:flex;justify-content:flex-end;gap:8px;align-items:center;flex-wrap:wrap;margin-top:8px}.expense-actions form{margin:0}.expense-actions .btn{min-width:70px}.people-list{display:grid;gap:14px}.person-card{display:grid;gap:16px}.person-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.person-card-head h2{margin:0 0 4px;font-size:1.12rem}.person-controls{display:grid;gap:12px}.compact-form{display:grid;grid-template-columns:minmax(220px,1fr) minmax(140px,auto);gap:10px;align-items:end}.compact-form .field{min-width:0}.compact-form .btn{height:46px}.linked-account-line{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:4px}.person-delete-form{display:flex;justify-content:flex-end}.cost-group-list{display:grid;gap:10px}.cost-group-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fbfdff}.email-card{box-shadow:none;display:flex;flex-direction:column;gap:8px}.email-card .btn{margin-top:auto}.diagnostic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch}.diagnostic-card{height:100%}.status-list{display:grid;gap:0;margin:0}.status-list>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,auto);gap:14px;padding:11px 0;border-bottom:1px solid var(--line);align-items:start}.status-list>div:last-child{border-bottom:0}.status-list dt{font-weight:700;overflow-wrap:anywhere}.status-list dd{margin:0;text-align:right;color:var(--muted);overflow-wrap:anywhere}.mobile-user-chip{display:none;align-items:center;gap:7px;color:var(--ink);font-weight:700;min-width:0}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--sky);color:var(--blue2);font-weight:800;flex:0 0 auto}.mobile-user-name{max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.animate-in{opacity:0;transform:translateY(10px);transition:opacity .26s ease,transform .26s ease}.animate-in.is-visible{opacity:1;transform:none}.panel-enter{animation:panelEnter .2s ease}.toast-leaving{opacity:0!important;transform:translateY(-6px)!important;transition:opacity .2s ease,transform .2s ease}@keyframes panelEnter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}

@media(max-width:820px){
  .brand{margin-right:auto}.brand img{width:142px}.mobile-user-chip{display:flex}.nav-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:8px 11px}.nav{top:64px}.nav-user{display:none}.page-head{grid-template-columns:1fr;align-items:start}.page-head>.btn,.page-head>.back-link{justify-self:start}.action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.export-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.export-actions .btn{min-width:0;width:100%}.password-grid{grid-template-columns:1fr}.summary-scroll{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.summary-scroll>.card{min-width:0}.tabs{overflow:visible;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}.tabs a{text-align:center;white-space:normal;padding:11px 7px;font-size:.9rem}.date-strip{overflow:visible;flex-wrap:wrap}.expense-card{grid-template-columns:minmax(0,1fr) auto;align-items:start;padding:14px}.expense-side{min-width:142px}.expense-actions{flex-wrap:nowrap}.expense-actions .btn{width:auto;min-height:38px}.compact-form{grid-template-columns:1fr}.compact-form .btn{width:100%}.linked-account-line{align-items:stretch;flex-direction:column}.linked-account-line .btn,.person-delete-form .btn{width:100%}.person-delete-form{display:block}.diagnostic-grid{grid-template-columns:1fr}.analysis-controls{align-items:stretch}.analysis-controls>.segmented{flex:1}.analysis-controls>.segmented span{text-align:center}.filter-actions{grid-column:1/-1}.filter-actions .btn{flex:1}.form-actions-row .btn{min-width:140px}
}

@media(max-width:720px){
  .table-wrap{overflow:visible;border:0;background:transparent}.responsive-table{min-width:0;width:100%;display:block}.responsive-table thead{display:none}.responsive-table tbody{display:grid;gap:12px}.responsive-table tr{display:block;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 4px 14px rgba(24,50,75,.05);padding:8px 13px}.responsive-table td{display:grid;grid-template-columns:minmax(105px,42%) minmax(0,1fr);gap:12px;width:100%;padding:10px 0;border-bottom:1px solid var(--line);text-align:right;overflow-wrap:anywhere}.responsive-table td:last-child{border-bottom:0}.responsive-table td::before{content:attr(data-label);font-weight:750;color:#456078;text-align:left}.responsive-table td form,.responsive-table td .btn{max-width:100%}.responsive-table td .btn{width:auto;justify-self:end}.responsive-table th{display:none}
}

@media(max-width:520px){
  .shell{width:min(100% - 18px,1180px)}.topbar-inner{gap:8px}.brand img{width:128px}.mobile-user-name{display:none}.avatar{width:36px;height:36px}.page{padding-top:16px}.card{padding:15px;border-radius:14px}.action-grid{grid-template-columns:1fr 1fr;gap:8px}.action-grid .btn{padding:10px 8px;font-size:.9rem;min-height:48px}.export-actions{grid-template-columns:1fr 1fr}.tabs{grid-template-columns:1fr}.tabs a{border:1px solid var(--line);border-bottom:0}.tabs a:first-child{border-radius:12px 12px 0 0}.tabs a:last-child{border-bottom:1px solid var(--line);border-radius:0 0 12px 12px}.tabs a.active{background:var(--sky);border-color:var(--blue);border-bottom:1px solid var(--blue)}.form-grid,.grid-2,.grid-3,.grid-4,.mobile-single{grid-template-columns:1fr}.summary-scroll{grid-template-columns:1fr}.expense-card{grid-template-columns:minmax(0,1fr) auto;gap:8px}.expense-meta{gap:5px 10px;font-size:.82rem}.expense-side{min-width:122px}.expense-amount{font-size:1rem;text-align:right}.expense-actions{gap:5px}.expense-actions .btn{min-width:55px;padding:6px 8px;font-size:.82rem}.form-actions{position:static;background:transparent;padding:0}.form-actions-row{display:grid;grid-template-columns:1fr 1fr;width:100%}.form-actions-row .btn{width:100%;min-width:0}.filter-actions{grid-template-columns:1fr 1fr}.segmented{display:grid;grid-template-columns:1fr}.split-methods{grid-template-columns:1fr 1fr 1fr}.split-methods span{padding:9px 6px;font-size:.84rem}.person-card-head{align-items:center}.cost-group-row{align-items:stretch;flex-direction:column}.cost-group-row .btn{width:100%}.status-list>div{grid-template-columns:1fr;gap:4px}.status-list dd{text-align:left}.diagnostic-card h2{font-size:1.1rem}.responsive-table td{grid-template-columns:1fr;gap:5px;text-align:left}.responsive-table td .btn{justify-self:start}.chart-box{max-width:100%}.toast-region{right:9px;width:calc(100% - 18px)}
}

@media(prefers-reduced-motion:reduce){.animate-in{opacity:1;transform:none;transition:none}.panel-enter{animation:none}}

/* Revision 5.2 dashboard and final mobile overrides */
.group-card-grid{align-items:stretch}.group-card{display:flex;flex-direction:column;gap:16px;height:100%}.group-card-content{display:grid;gap:10px}.group-card-content h2{margin:0}.group-card-content .badge{justify-self:start}.group-card-meta{display:grid;gap:4px;margin-top:auto}.group-card-action{width:100%;margin:0}.group-card-action.btn,.group-card-action .btn{width:100%}
@media(max-width:520px){.actions>.btn{width:auto}.group-actions>.btn{width:100%}.export-actions>.btn{width:100%}.page-head>.btn{width:100%}.group-card-action.btn,.group-card-action .btn{width:100%}}
.auth-card{max-width:500px;margin:4vh auto}.auth-logo{width:min(220px,75%);display:block;margin:0 auto 24px}.date-heading{margin:8px 0 0}.compact-expense-card{align-items:center}
@media(max-width:520px){.auth-card{margin:1vh auto}.compact-expense-card{grid-template-columns:minmax(0,1fr) auto}.compact-expense-card>strong{text-align:right}}
img,svg,canvas{max-width:100%}.card,.field,.page-head>*,.grid>*,.form-grid>*,.expense-main,.expense-side{min-width:0}.field input,.field select,.field textarea,.btn{max-width:100%}.hint,p,td,dd{overflow-wrap:anywhere}.page pre{max-width:100%;overflow:auto}

/* Version 6 colour-theme compatibility layer */
.logo-dark{display:none}.auth-logo-wrap{display:grid;place-items:center;margin:0 auto 24px}.auth-logo-wrap .auth-logo{grid-area:1/1;margin:0}.theme-toggle{appearance:none;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);min-height:44px;padding:8px 12px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:750;cursor:pointer;transition:background .16s ease,border-color .16s ease,transform .16s ease}.theme-toggle:hover{border-color:var(--blue);transform:translateY(-1px)}.theme-toggle:focus-visible{outline:3px solid rgba(19,103,209,.25);outline-offset:2px}.theme-toggle-icon{font-size:1.05rem;line-height:1}.theme-toggle-label{font-size:.88rem}

:root[data-theme="dark"]{--blue:#65adff;--blue2:#8ac2ff;--sky:#142d49;--ink:#e8f0fa;--muted:#aab9c9;--line:#33465b;--surface:#111d2c;--bg:#08111f;--danger:#ff9b94;--success:#69d7aa;--warning:#f3cd78;--shadow:0 10px 30px rgba(0,0,0,.28)}
:root[data-theme="dark"] .logo-light{display:none}:root[data-theme="dark"] .logo-dark{display:block}
:root[data-theme="dark"] body{background:var(--bg);color:var(--ink)}
:root[data-theme="dark"] .topbar{background:rgba(8,17,31,.95)}
:root[data-theme="dark"] .nav,
:root[data-theme="dark"] .nav-toggle,
:root[data-theme="dark"] .theme-toggle,
:root[data-theme="dark"] .btn-secondary,
:root[data-theme="dark"] .field input,
:root[data-theme="dark"] .field select,
:root[data-theme="dark"] .field textarea,
:root[data-theme="dark"] .control,
:root[data-theme="dark"] .check-row,
:root[data-theme="dark"] .segmented span,
:root[data-theme="dark"] .table-wrap,
:root[data-theme="dark"] .expense-card,
:root[data-theme="dark"] .date-chip,
:root[data-theme="dark"] .pagination a,
:root[data-theme="dark"] .pagination span,
:root[data-theme="dark"] .toast,
:root[data-theme="dark"] .empty,
:root[data-theme="dark"] .receipt-link,
:root[data-theme="dark"] .modal,
:root[data-theme="dark"] .responsive-table tr{background:var(--surface);color:var(--ink);border-color:var(--line)}
:root[data-theme="dark"] .field input,
:root[data-theme="dark"] .field select,
:root[data-theme="dark"] .field textarea,
:root[data-theme="dark"] .control{border-color:#40546b}
:root[data-theme="dark"] input::placeholder,
:root[data-theme="dark"] textarea::placeholder{color:#8294a8}
:root[data-theme="dark"] option{background:var(--surface);color:var(--ink)}
:root[data-theme="dark"] .entity-card,
:root[data-theme="dark"] .split-panel,
:root[data-theme="dark"] .cost-group-row,
:root[data-theme="dark"] .upload-zone{background:#0d1928;border-color:var(--line)}
:root[data-theme="dark"] th{background:#162437;color:#b8c8d8}
:root[data-theme="dark"] .responsive-table td::before{color:#b8c8d8}
:root[data-theme="dark"] .btn-soft{background:#173554;color:#99caff}
:root[data-theme="dark"] .btn-danger{background:#3a181c;color:#ffaaa4;border-color:#73343a}
:root[data-theme="dark"] .btn-primary-outline{background:#11243a;color:#84c0ff;border-color:#3d6f9e}
:root[data-theme="dark"] .btn-primary-outline:hover{background:#173554}
:root[data-theme="dark"] .badge-muted{background:#253447;color:#c1ceda}
:root[data-theme="dark"] .progress{background:#26374b}
:root[data-theme="dark"] .chart-tooltip{background:#e8f0fa;color:#102033}
:root[data-theme="dark"] .modal-backdrop{background:rgba(0,0,0,.68)}
:root[data-theme="dark"] .form-actions{background:rgba(8,17,31,.94)}
:root[data-theme="dark"] .tabs a.active{color:#8bc5ff}
:root[data-theme="dark"] a{color:#7fbcff}
:root[data-theme="dark"] .nav a{color:var(--ink)}
:root[data-theme="dark"] .btn-primary,
:root[data-theme="dark"] .btn-export-csv,
:root[data-theme="dark"] .btn-export-pdf{color:#fff}

@media(max-width:820px){.theme-toggle-label{display:none}.theme-toggle{width:44px;min-width:44px;padding:8px}.topbar-inner{gap:8px}}
@media(max-width:520px){.theme-toggle{width:40px;min-width:40px;min-height:40px}.brand img{width:120px}}

/* SplitFlow Version 6 design-system overrides */
:root{
  --control-height:46px;
  --button-radius:12px;
  --focus-ring:0 0 0 3px rgba(19,103,209,.28);
}
:root[data-theme="dark"]{
  --blue:#78b9ff;
  --blue2:#a8d2ff;
  --sky:#153451;
  --ink:#f1f6fc;
  --muted:#a9b8c8;
  --line:#334b63;
  --surface:#101d2c;
  --bg:#07111e;
  --danger:#ffaaa4;
  --success:#79dfb4;
  --warning:#f3cf7b;
  --shadow:0 12px 30px rgba(0,0,0,.3);
}
html,body{overflow-x:hidden}
body{background:var(--bg);color:var(--ink)}
.app-logo{display:block;width:166px;height:auto}
.topbar-inner{gap:10px;min-width:0}
.topbar-spacer{flex:1 1 auto;min-width:4px}
.user-chip{display:inline-flex;align-items:center;gap:8px;min-width:0;max-width:210px;color:var(--ink);font-weight:750;padding:5px 8px;border-radius:12px}
.user-chip:hover{background:var(--sky);text-decoration:none}
.user-chip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nav-user,.mobile-user-chip{display:none!important}

.theme-toggle{appearance:none;display:inline-flex;align-items:center;gap:8px;min-height:42px;height:42px;padding:5px 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);cursor:pointer;font-weight:750;box-shadow:none;transition:border-color .16s ease,background .16s ease,transform .16s ease}
.theme-toggle:hover{border-color:var(--blue);transform:translateY(-1px)}
.theme-toggle:focus-visible{outline:none;box-shadow:var(--focus-ring)}
.theme-toggle-symbol{width:18px;text-align:center;font-size:.95rem}
.theme-toggle-track{position:relative;width:36px;height:20px;border-radius:999px;background:#94a3b8;transition:background .18s ease;flex:0 0 auto}
.theme-toggle-track>span{position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.3);transition:transform .18s ease}
.theme-toggle[data-active-theme="dark"] .theme-toggle-track{background:var(--blue)}
.theme-toggle[data-active-theme="dark"] .theme-toggle-track>span{transform:translateX(16px)}
.theme-toggle-text{font-size:.84rem;min-width:34px;text-align:left}

.btn{min-height:var(--control-height);height:auto;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 15px;border-radius:var(--button-radius);font-weight:750;line-height:1.2;text-align:center;white-space:normal}
.btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;box-shadow:var(--focus-ring)}
.btn-compact,.btn-small{min-height:38px;padding:7px 11px;border-radius:10px}
.equal-buttons>.btn,.action-grid>.btn,.page-head-actions>.btn{min-height:48px}
.action-grid{align-items:stretch}
.group-actions{grid-template-columns:repeat(4,minmax(0,1fr))}
.group-actions.has-five{grid-template-columns:repeat(5,minmax(0,1fr))}
.group-actions .btn{width:100%}
.page-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.group-page-head{grid-template-columns:minmax(0,1fr) auto}
.btn-export-csv,.btn-export-pdf{min-width:122px}

.field input,.field select,.field textarea,.control{width:100%;min-height:var(--control-height);border-radius:11px}
.field textarea{min-height:112px}
.aligned-form>.field,.category-edit-form>.field{min-width:0}
.compact-form,.category-edit-form{align-items:end}

.category-list{display:grid;gap:12px}
.category-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.category-edit-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
.check-row.is-disabled{opacity:.62;cursor:not-allowed}
.check-row.is-disabled small{display:block;color:var(--muted);margin-top:3px}

.reveal-once{animation:sfReveal .28s ease both}
.toast-enter{animation:sfToast .22s ease both}
@keyframes sfReveal{from{opacity:.55;transform:translateY(7px)}to{opacity:1;transform:none}}
@keyframes sfToast{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

:root[data-theme="dark"] .topbar{background:rgba(7,17,30,.96)}
:root[data-theme="dark"] .card,
:root[data-theme="dark"] .category-row,
:root[data-theme="dark"] .expense-card,
:root[data-theme="dark"] .person-card,
:root[data-theme="dark"] .diagnostic-card{background:var(--surface);border-color:var(--line)}
:root[data-theme="dark"] .theme-toggle{background:#13253a;border-color:#3b5873}
:root[data-theme="dark"] .theme-toggle:hover{background:#17304a}
:root[data-theme="dark"] .btn-secondary{background:#16283b;color:var(--ink);border-color:#3a536c}
:root[data-theme="dark"] .btn-secondary:hover{background:#1b344d;border-color:#52769a}
:root[data-theme="dark"] .btn-primary{background:#237ee0;border-color:#237ee0;color:#fff}
:root[data-theme="dark"] .btn-primary:hover{background:#3190f4}
:root[data-theme="dark"] .btn-export-csv{background:#147a71;border-color:#147a71;color:#fff}
:root[data-theme="dark"] .btn-export-pdf{background:#6258c9;border-color:#6258c9;color:#fff}
:root[data-theme="dark"] .field input,
:root[data-theme="dark"] .field select,
:root[data-theme="dark"] .field textarea{background:#0d1928;color:var(--ink);border-color:#3c5269}
:root[data-theme="dark"] .field input:disabled,
:root[data-theme="dark"] .field select:disabled{background:#132131;color:#9eb0c2}

.report-content h2{margin-top:28px;margin-bottom:12px}
.report-content table+h2{margin-top:34px}

@media(max-width:1020px){
  .group-actions,.group-actions.has-five{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:820px){
  .app-logo{width:142px}
  .user-chip{max-width:150px;padding:4px 6px}
  .user-chip-name{max-width:96px}
  .theme-toggle-text{display:none}
  .theme-toggle{width:64px;justify-content:center;padding:5px 7px}
  .group-page-head{grid-template-columns:1fr}
  .page-head-actions{justify-content:flex-start;width:100%}
  .page-head-actions .btn{flex:1 1 130px}
  .group-actions,.group-actions.has-five{grid-template-columns:repeat(2,minmax(0,1fr))}
  .category-row{grid-template-columns:1fr}
  .category-row>form:last-child .btn{width:100%}
}
@media(max-width:560px){
  .shell{width:min(100% - 16px,1180px)}
  .topbar-inner{gap:6px;min-height:62px}
  .app-logo{width:116px}
  .user-chip{max-width:90px;margin-left:auto}
  .user-chip-name{max-width:48px;font-size:.82rem}
  .avatar{width:32px;height:32px}
  .theme-toggle{width:48px;min-width:48px;height:40px;min-height:40px;padding:4px}
  .theme-toggle-symbol{display:none}
  .nav-toggle{width:40px;min-width:40px;height:40px;min-height:40px;padding:6px}
  .group-actions,.group-actions.has-five{grid-template-columns:1fr 1fr;gap:8px}
  .group-actions .btn{padding:9px 7px;font-size:.88rem}
  .page-head-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .page-head-actions .btn{width:100%;min-width:0}
  .page-head-actions .btn:first-child:nth-last-child(3){grid-column:1/-1}
  .category-edit-form{grid-template-columns:1fr}
  .category-edit-form .btn{width:100%}
  .form-actions-row{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .form-actions-row>*{width:100%;min-width:0}
  .expense-actions{justify-content:flex-end}
  .expense-actions .btn{min-width:62px}
  .responsive-table td,.responsive-table td::before{text-align:left}
}
@media(max-width:390px){
  .app-logo{width:104px}
  .user-chip-name{display:none}
  .user-chip{width:34px;padding:0}
  .theme-toggle{width:44px;min-width:44px}
  .group-actions,.group-actions.has-five{grid-template-columns:1fr}
  .page-head-actions{grid-template-columns:1fr}
  .page-head-actions .btn:first-child:nth-last-child(3){grid-column:auto}
}
@media(prefers-reduced-motion:reduce){
  .reveal-once,.toast-enter,.panel-enter{animation:none!important}
  .theme-toggle-track,.theme-toggle-track>span,.btn{transition:none!important}
}
/* Keep the signed-in username visible beside the hamburger even on narrow portrait screens. */
@media(max-width:390px){
  .user-chip{width:auto;max-width:78px;padding:3px 4px}
  .user-chip-name{display:block;max-width:42px;font-size:.76rem}
}
.category-combobox{position:relative}
.combobox-menu{position:absolute;z-index:35;top:calc(100% + 6px);left:0;right:0;max-height:240px;overflow-y:auto;padding:6px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:var(--shadow)}
.combobox-menu[hidden]{display:none}
.combobox-menu button{display:block;width:100%;min-height:40px;padding:9px 11px;border:0;border-radius:8px;background:transparent;color:var(--ink);text-align:left;cursor:pointer}
.combobox-menu button:hover,.combobox-menu button:focus-visible{background:var(--sky);outline:none}
:root[data-theme="dark"] .combobox-menu{background:#101d2c;border-color:#3c5269}
.category-create-form{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:10px;align-items:end}.category-create-form .btn{height:var(--control-height);min-height:var(--control-height)}@media(max-width:620px){.category-create-form{grid-template-columns:1fr}.category-create-form .btn{width:100%}}

/* SplitFlow Version 6.1 interaction refinements */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

.segmented-prominent{display:inline-flex;align-items:center;gap:5px;padding:5px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface) 88%,var(--bg));box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.segmented-prominent label{flex:1;min-width:0}
.segmented-prominent span{min-height:40px;display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;border-radius:10px;padding:8px 14px;background:transparent;color:var(--muted);font-weight:750;white-space:nowrap;transition:background .16s ease,color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.segmented-prominent span:hover{color:var(--ink);background:color-mix(in srgb,var(--sky) 55%,transparent)}
.segmented-prominent input:focus-visible+span{outline:3px solid rgba(35,126,224,.22);outline-offset:2px}
.segmented-prominent input:checked+span{background:linear-gradient(135deg,var(--blue),var(--blue2));border-color:color-mix(in srgb,var(--blue) 78%,#fff);color:#fff;box-shadow:0 5px 14px rgba(19,103,209,.28);transform:translateY(-1px)}
.segmented-prominent input:checked+span::before{content:"✓";font-size:.82rem;font-weight:900;line-height:1}
.segmented-unit{min-width:190px}
.segmented-unit label{min-width:84px}
.segmented-chart-mode{min-width:min(100%,310px)}
.split-methods{width:100%}
.split-methods label{flex:1 1 150px}
.entity-card{cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease}
.entity-card:hover{border-color:color-mix(in srgb,var(--blue) 44%,var(--line));transform:translateY(-1px)}
.entity-card:has([data-entity-check]:checked),.entity-card.is-selected{border-color:var(--blue);background:color-mix(in srgb,var(--sky) 74%,var(--surface));box-shadow:0 0 0 2px rgba(35,126,224,.12)}
.entity-card:has([data-entity-check]:checked) .entity-title,.entity-card.is-selected .entity-title{color:var(--blue2)}

.combobox-input-wrap{position:relative;display:flex;align-items:center}
.combobox-input-wrap input{padding-left:40px!important;padding-right:42px!important}
.combobox-search-icon{position:absolute;left:13px;z-index:1;color:var(--muted);font-size:1.15rem;pointer-events:none}
.combobox-clear{position:absolute;right:8px;width:32px;height:32px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-size:1.35rem;line-height:1;cursor:pointer}
.combobox-clear:hover,.combobox-clear:focus-visible{background:var(--sky);color:var(--ink);outline:none}
.combobox-menu{padding:7px}
.combobox-menu [data-category-option],.combobox-create-option{display:flex!important;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:44px;padding:10px 12px;border:0;border-radius:9px;background:transparent;color:var(--ink);text-align:left;cursor:pointer}
.combobox-menu [data-category-option] small{color:var(--muted);font-size:.76rem}
.combobox-menu [data-category-option]:hover,.combobox-menu [data-category-option]:focus-visible,.combobox-menu [data-category-option].is-keyboard-active,.combobox-create-option:hover,.combobox-create-option:focus-visible,.combobox-create-option.is-keyboard-active{background:var(--sky);outline:none}
.combobox-create-option{justify-content:flex-start!important;border-top:1px solid var(--line)!important;margin-top:5px;padding-top:12px!important;color:var(--blue2)!important;font-weight:750}
.combobox-create-icon{width:25px;height:25px;display:grid;place-items:center;border-radius:8px;background:var(--blue);color:#fff;flex:0 0 auto}

.category-manager{display:grid;gap:22px}
.category-manager-head{display:grid;grid-template-columns:minmax(0,.8fr) minmax(360px,1.2fr);align-items:end;gap:24px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.category-manager-head h2{margin:0 0 5px}
.category-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:16px;align-items:end}
.category-status-filter{align-self:end}
.category-row{grid-template-columns:minmax(170px,.55fr) minmax(360px,1.45fr);align-items:center}
.category-row.is-inactive{opacity:.78;background:color-mix(in srgb,var(--surface) 92%,var(--bg))}
.category-row-summary{display:grid;gap:5px;min-width:0}
.category-title-line{display:flex;align-items:center;gap:9px;min-width:0}
.category-title-line strong{overflow-wrap:anywhere}
.category-row-actions{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:10px;align-items:end}
.category-row-actions>form:last-child .btn{min-width:96px}
.category-edit-form{grid-template-columns:minmax(170px,1fr) auto}

.section-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}
.section-heading-row h2{margin:0 0 5px}
.cost-group-row{display:grid;grid-template-columns:minmax(180px,.65fr) minmax(420px,1.35fr);align-items:center;background:var(--surface)}
.cost-group-row.is-inactive{opacity:.78;background:color-mix(in srgb,var(--surface) 92%,var(--bg))}
.cost-group-summary{display:grid;gap:5px;min-width:0}
.cost-group-title-line{display:flex;align-items:center;gap:9px;min-width:0}
.cost-group-title-line strong{overflow-wrap:anywhere}
.cost-group-controls{display:grid;grid-template-columns:minmax(250px,1fr) auto auto;gap:9px;align-items:end}
.cost-group-controls form{margin:0}
.cost-group-rename-form{display:grid;grid-template-columns:minmax(160px,1fr) auto;gap:9px;align-items:end}
.cost-group-controls .btn,.cost-group-rename-form .btn{min-width:104px}

:root[data-theme="dark"] .segmented-prominent{background:#0c1928;border-color:#334b63}
:root[data-theme="dark"] .segmented-prominent span{color:#a9bbcd}
:root[data-theme="dark"] .segmented-prominent span:hover{background:#162a40;color:#eef6ff}
:root[data-theme="dark"] .segmented-prominent input:checked+span{background:linear-gradient(135deg,#237ee0,#155eb8);border-color:#4b9cf0;color:#fff;box-shadow:0 6px 16px rgba(4,91,184,.38)}
:root[data-theme="dark"] .entity-card:has([data-entity-check]:checked),:root[data-theme="dark"] .entity-card.is-selected{background:#112a43;border-color:#3b91eb;box-shadow:0 0 0 2px rgba(59,145,235,.16)}
:root[data-theme="dark"] .entity-card:has([data-entity-check]:checked) .entity-title,:root[data-theme="dark"] .entity-card.is-selected .entity-title{color:#a8d4ff}
:root[data-theme="dark"] .combobox-clear:hover,:root[data-theme="dark"] .combobox-clear:focus-visible,:root[data-theme="dark"] .combobox-menu [data-category-option]:hover,:root[data-theme="dark"] .combobox-menu [data-category-option]:focus-visible,:root[data-theme="dark"] .combobox-menu [data-category-option].is-keyboard-active,:root[data-theme="dark"] .combobox-create-option:hover,:root[data-theme="dark"] .combobox-create-option:focus-visible,:root[data-theme="dark"] .combobox-create-option.is-keyboard-active{background:#19344e}
:root[data-theme="dark"] .combobox-create-option{color:#92c9ff!important}

@media(max-width:900px){
  .category-manager-head{grid-template-columns:1fr}
  .category-toolbar{grid-template-columns:1fr}
  .category-status-filter{width:100%}
  .category-row{grid-template-columns:1fr;align-items:stretch}
  .cost-group-row{grid-template-columns:1fr;align-items:stretch}
  .cost-group-controls{grid-template-columns:minmax(0,1fr) auto auto}
}
@media(max-width:640px){
  .segmented-prominent{display:grid;width:100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px}
  .segmented-prominent span{padding:8px 7px;white-space:normal;text-align:center;font-size:.88rem}
  .segmented-unit{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}
  .segmented-chart-mode{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}
  .category-status-filter{grid-template-columns:repeat(3,minmax(0,1fr))}
  .category-row-actions{grid-template-columns:1fr}
  .category-edit-form{grid-template-columns:1fr}
  .category-row-actions .btn,.category-edit-form .btn{width:100%}
  .cost-group-controls{grid-template-columns:1fr 1fr}
  .cost-group-rename-form{grid-column:1/-1;grid-template-columns:1fr}
  .cost-group-rename-form .btn{width:100%}
  .cost-group-controls>form:not(.cost-group-rename-form) .btn{width:100%;min-width:0}
}
@media(max-width:390px){
  .split-methods{grid-template-columns:1fr}
  .category-status-filter{grid-template-columns:1fr 1fr 1fr}
  .cost-group-controls{grid-template-columns:1fr}
  .cost-group-rename-form{grid-column:auto}
}
