:root{color-scheme:dark;--bg:#0c1215;--panel:rgba(26,42,44,.69);--stroke:rgba(204,248,226,.12);--text:#ecf6f3;--dim:#a1b4b1;--green:#6ce4b1;--red:#ff9d9d}*{box-sizing:border-box}body{margin:0;color:var(--text);font:14px/1.5 system-ui,-apple-system,Segoe UI,sans-serif;background:radial-gradient(ellipse at 86% 5%,#193e39 0,transparent 44%),radial-gradient(ellipse at 0% 90%,#112b31 0,transparent 50%),var(--bg);min-height:100vh}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin:0}h1{font-size:28px;letter-spacing:-.8px}h2{font-size:18px}h3{font-size:15px}label{display:grid;gap:6px;font-size:12px;color:var(--dim)}input,select{width:100%;min-width:0;border:1px solid #34504c;border-radius:12px;background:#101f21;color:var(--text);padding:11px 12px;outline:none}input:focus,select:focus{border-color:var(--green)}input[type=checkbox]{width:auto}form{display:grid;gap:12px}.btn{border:1px solid #407460;background:linear-gradient(135deg,#388b6b,#216b57);color:white;border-radius:12px;padding:10px 15px;font-weight:650;display:inline-flex;align-items:center;justify-content:center}.btn.secondary{background:#233538;border-color:#405557}.btn.danger{background:#542e32;border-color:#8e4e52}.shell{display:grid;grid-template-columns:226px minmax(0,1fr);min-height:100vh}.sidebar{border-right:1px solid var(--stroke);padding:26px 15px;background:#101b1dd6;position:sticky;top:0;height:100vh}.brand{font-size:20px;font-weight:780;letter-spacing:-.8px;margin:0 10px 29px}.brand span{color:var(--green)}.navcap{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:#829c96;margin:20px 12px 7px}.nav a{display:block;padding:10px 12px;margin:3px 0;border-radius:11px;color:#b2c4c0}.nav a.active,.nav a:hover{background:#2b5149;color:#f3fff9}.sidefoot{margin-top:30px;color:var(--dim);padding:12px;font-size:12px}.main{padding:26px clamp(14px,3vw,42px);min-width:0;max-width:1480px;width:100%;margin:auto}.top{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:22px;flex-wrap:wrap}.muted{color:var(--dim)}.small{font-size:12px}.eyebrow{color:var(--green);font-size:11px;text-transform:uppercase;letter-spacing:1.5px}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.panel,.stat{background:var(--panel);backdrop-filter:blur(20px);border:1px solid var(--stroke);border-radius:19px;padding:18px;min-width:0;box-shadow:0 7px 28px #020a0926}.stat b{display:block;font-size:clamp(20px,2.1vw,29px);letter-spacing:-.7px;margin-top:7px;overflow-wrap:anywhere}.stat small{color:var(--dim)}.accent{color:var(--green)}.warn{color:var(--red)}.section{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,1fr);gap:14px;margin-top:16px;align-items:start}.stack{display:grid;gap:14px}.panel h2{margin-bottom:13px}.tablewrap{overflow-x:auto;width:100%}table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:13px}td,th{text-align:left;padding:12px 9px;border-bottom:1px solid #31504b60}th{font-size:11px;color:var(--dim);font-weight:500}td:last-child,th:last-child{text-align:right}.pill{display:inline-block;border-radius:50px;border:1px solid #3d8c72;background:#204a3e;color:#9ef2cb;padding:2px 8px;font-size:11px}.pill.gray{background:#3b4748;border-color:#5b6668;color:#c9d6d5}.toolbar{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.toolbar form{display:flex;gap:8px;align-items:center}.toolbar select{width:auto}.inlineform{display:inline-block}.inlineform input{display:inline-block;width:95px;padding:7px}.inlineform .btn{padding:7px 10px}.auth{min-height:100vh;display:grid;place-items:center;padding:20px}.authcard{width:min(440px,100%);padding:31px;background:var(--panel);border:1px solid var(--stroke);border-radius:22px;display:grid;gap:18px}.brandicon{font-size:40px;color:var(--green)}.notice{padding:11px 14px;border-radius:12px;background:#224b40;color:#c5f9e2;border:1px solid #397d66}.notice.danger{background:#542e32;color:#ffd2d2}.toast{position:fixed;right:20px;top:18px;z-index:99;max-width:min(420px,calc(100vw - 40px));background:#214d40;border:1px solid #60ae91;color:#fff;border-radius:14px;padding:14px 17px;box-shadow:0 14px 50px #0009}.toast.error{background:#72343b}.toast button{background:none;border:0;color:white;margin-left:20px;font-size:19px}.hint{border-left:2px solid var(--green);padding-left:12px;color:var(--dim);font-size:12px;margin:12px 0}.mobilehead{display:none}.splitbuttons{display:flex;flex-wrap:wrap;gap:8px}.splitbuttons .btn{padding:7px 10px;font-size:12px}@media(max-width:1000px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section{grid-template-columns:1fr}}@media(max-width:700px){.shell{display:block}.sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid var(--stroke);padding:12px}.sidebar .brand{margin:0 0 12px;font-size:18px}.nav{display:flex;overflow-x:auto;gap:4px;scrollbar-width:thin}.navcap,.sidefoot{display:none}.nav a{white-space:nowrap;font-size:12px;padding:8px;margin:0}.main{padding:16px 12px}.panel,.stat{padding:14px;border-radius:15px}.top h1{font-size:23px}.grid{gap:9px}.stat b{font-size:20px}.grid.two{grid-template-columns:1fr}.section{gap:10px}.tablewrap{margin:0 -4px;width:calc(100% + 8px)}}

/* V2 mobile / FinanceLock */
html{overflow-x:clip}body{overflow-x:clip}a,button,input,select{touch-action:manipulation}input,select{font-size:16px} .loan-edit{margin:12px 0;padding:14px;border:1px solid var(--stroke);border-radius:14px;background:#152828}.loan-edit summary{cursor:pointer;font-weight:650;overflow-wrap:anywhere}.loan-edit form{margin-top:15px}.loan-edit .btn.danger{justify-self:start}.cash-list{display:grid;gap:10px}.cash-item{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:12px;border-bottom:1px solid var(--stroke)}.cash-item form{margin-left:auto}.confirm-overlay{position:fixed;inset:0;z-index:500;display:grid;place-items:center;background:#000b;padding:18px}.confirm-overlay[hidden]{display:none}.confirm-card{width:min(410px,100%);background:#17282a;border:1px solid #41665b;border-radius:20px;padding:24px;display:grid;gap:18px;box-shadow:0 15px 80px #0008}.confirm-card .splitbuttons{justify-content:flex-end}.btn:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--green);outline-offset:2px}
@media(max-width:700px){.main{padding:18px 12px calc(92px + env(safe-area-inset-bottom))}.sidebar{position:sticky;top:0;z-index:30;background:#0c1a1dee;backdrop-filter:blur(16px)}.nav{max-width:100%;-webkit-overflow-scrolling:touch}.nav a{flex-shrink:0;min-height:42px;display:grid;align-items:center}.shell{min-width:0}.top{align-items:flex-start}.top .toolbar,.top .toolbar form{width:100%}.top .toolbar form input{flex:1;min-width:0}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid .stat b{font-size:clamp(17px,5vw,23px)}.section{grid-template-columns:minmax(0,1fr)}.panel{max-width:100%}.tablewrap{overflow:auto;-webkit-overflow-scrolling:touch}.loan-edit form{min-width:0}.cash-item strong{white-space:nowrap}.auth{min-height:100dvh;padding:16px}.authcard{padding:22px}.toast{top:auto;bottom:calc(14px + env(safe-area-inset-bottom));right:12px}}

/* V2.1: resúmenes compactos con detalle opcional */
.loan-section{grid-template-columns:minmax(0,1fr) minmax(290px,.68fr)}.panel-heading{display:flex;justify-content:space-between;gap:8px;align-items:baseline;flex-wrap:wrap;margin-bottom:14px}.panel-heading h2{margin:0}.person-group{border:1px solid var(--stroke);border-radius:16px;margin-bottom:10px;background:#13242680;overflow:hidden}.person-group>summary,.loan-card>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px}.person-group>summary::-webkit-details-marker,.loan-card>summary::-webkit-details-marker{display:none}.person-group>summary::before{content:'›';font-size:22px;color:var(--green);transition:transform .15s}.person-group[open]>summary::before{transform:rotate(90deg)}.person-title{display:grid;gap:2px;flex:1;min-width:0;font-weight:700}.person-title small{color:var(--dim);font-weight:400}.person-group>summary strong{font-size:19px;white-space:nowrap}.person-loans{padding:0 10px 10px}.loan-card{border:1px solid var(--stroke);background:#0f1f21;border-radius:13px;margin-top:8px;overflow:hidden}.loan-card>summary{padding:12px}.loan-card-main{display:grid;gap:3px;min-width:0;flex:1}.loan-card-name{font-weight:650;overflow-wrap:anywhere}.loan-card>summary strong{white-space:nowrap}.loan-card-body{padding:12px;border-top:1px solid var(--stroke);display:grid;gap:14px}.loan-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.loan-metrics>div{min-width:0;padding:10px;background:#203533;border-radius:10px;display:grid;gap:3px}.loan-metrics small{font-size:10px;color:var(--dim)}.loan-metrics b{font-size:13px;overflow-wrap:anywhere}.loan-movements{border-top:1px solid var(--stroke);padding-top:12px}.loan-move{display:flex;justify-content:space-between;gap:12px;padding:6px 0;font-size:12px}.loan-move span{color:var(--dim)}.loan-move b{white-space:nowrap}.loan-editor{border-top:1px solid var(--stroke);padding-top:10px}.loan-editor>summary{cursor:pointer;font-weight:600;color:var(--green);padding:8px 0}.loan-editor form{padding:12px 0 4px}.loan-delete{width:auto;justify-self:start;padding:8px 12px;font-size:12px}.person-group:last-child{margin-bottom:0}@media(max-width:1000px){.loan-section{grid-template-columns:minmax(0,1fr)}}@media(max-width:700px){.person-group>summary{padding:12px}.person-group>summary strong{font-size:16px}.person-loans{padding:0 8px 8px}.loan-metrics{gap:5px}.loan-metrics>div{padding:8px 6px}.loan-metrics b{font-size:12px}.loan-card>summary{gap:8px}.loan-card>summary strong{font-size:14px}.loan-section .panel{padding:12px}.loan-editor input,.loan-editor select{width:100%}}


/* V2.2 — Layout mobile-first: no page-level horizontal scrolling */
html, body { width:100%; max-width:100%; overflow-x:hidden; }
body, .shell, .main, main, .section, .stack, .panel, .stat,
.grid, .top, .toolbar, .person-group, .person-loans, .loan-card,
.loan-card-body, .loan-editor, .cash-item, .authcard, .confirm-card {
  min-width:0; max-width:100%; }
.panel, .stat, .loan-card, .person-group { overflow-wrap:anywhere; }
img, svg, video, canvas { max-width:100%; height:auto; }
input, select, textarea, button { max-width:100%; min-width:0; }
form, fieldset, label { min-width:0; max-width:100%; }
pre, code { overflow-wrap:anywhere; }
.tablewrap { max-width:100%; min-width:0; }
.toolbar > *, .splitbuttons > * { min-width:0; }
.confirm-overlay { max-width:100vw; overflow-y:auto; }
.confirm-card { max-height:calc(100dvh - 36px); overflow-y:auto; }
.person-group > summary strong, .loan-card > summary strong {
  white-space:normal; overflow-wrap:anywhere; text-align:right; }
.loan-move b, .cash-item strong { white-space:normal; overflow-wrap:anywhere; }
.loan-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); }
@media (max-width:700px) {
  .shell { display:block; width:100%; }
  .main { width:100%; padding:14px 12px calc(26px + env(safe-area-inset-bottom)); }
  .sidebar { width:100%; max-width:100%; padding:12px; }
  .sidebar .brand { text-align:center; }
  /* Navigation wraps in the viewport instead of moving sideways */
  .nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
         gap:6px; overflow:visible; width:100%; }
  .nav a { display:flex; align-items:center; justify-content:center;
           text-align:center; width:100%; min-width:0; min-height:42px;
           white-space:normal; overflow-wrap:anywhere; padding:7px 5px;
           font-size:11px; line-height:1.25; }
  .top, .top .toolbar, .top .toolbar form { min-width:0; max-width:100%; }
  .top .toolbar { display:grid; grid-template-columns:minmax(0,1fr); }
  .top .toolbar form { display:flex; flex-wrap:wrap; }
  .toolbar select { max-width:100%; width:auto; flex:1 1 130px; }
  .toolbar .btn { flex:0 1 auto; }
  .section, .loan-section { display:grid; grid-template-columns:minmax(0,1fr); }
  .grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .grid.two { grid-template-columns:minmax(0,1fr); }
  .panel, .stat { padding:13px; }
  .tablewrap { width:100%; margin:0; overflow-x:auto; overflow-y:hidden; }
  .tablewrap table { width:max-content; min-width:100%; max-width:none; }
  .cash-item { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; }
  .cash-item > form { grid-column:1 / -1; width:100%; margin:0; }
  .cash-item .btn { width:100%; }
  .loan-card > summary, .person-group > summary { gap:8px; }
  .loan-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .loan-metrics > div:last-child:nth-child(odd) { grid-column:1 / -1; }
  .loan-move { flex-wrap:wrap; }
  .splitbuttons { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .splitbuttons .btn { width:100%; padding:10px 6px; }
  .confirm-overlay { padding:12px; }
  .confirm-card { width:100%; padding:17px; }
}
@media (max-width:360px) {
  .main { padding-left:9px; padding-right:9px; }
  .nav { gap:4px; }
  .nav a { font-size:10px; }
  .grid { grid-template-columns:minmax(0,1fr); }
  .stat b { font-size:23px; }
}

/* FinanceLock V3 — premium dashboard and simplified loans */
.home-welcome{display:flex;justify-content:space-between;align-items:center;gap:24px;background:linear-gradient(125deg,rgba(54,111,101,.22),rgba(12,25,29,.65));padding:25px;border:1px solid var(--stroke);border-radius:22px;margin-bottom:20px}
.home-welcome h2{font-size:clamp(24px,3.6vw,37px);letter-spacing:-1px;margin:5px 0}.home-welcome p,.home-footnote{font-size:13px;color:var(--dim)}
.home-balance{padding:12px 0;display:grid;gap:3px;text-align:right;min-width:180px}.home-balance small,.home-balance span{color:var(--dim);font-size:11px}.home-balance strong{font-size:clamp(20px,3vw,30px);letter-spacing:-.5px;overflow-wrap:anywhere}
.home-modules{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.module-tile{min-width:0;min-height:198px;padding:21px;display:flex;flex-direction:column;align-items:flex-start;gap:9px;background:linear-gradient(145deg,rgba(42,64,64,.72),rgba(17,29,32,.88));border:1px solid rgba(208,239,223,.12);border-radius:22px;transition:transform .15s,border-color .15s;overflow:hidden}
.module-tile:hover,.module-tile:focus-visible{transform:translateY(-2px);border-color:var(--green);outline:none}.module-top{display:flex;align-items:center;justify-content:space-between;width:100%}.module-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:rgba(135,210,180,.1);font-size:22px}.module-arrow{color:var(--dim)}.module-title{font-size:15px;font-weight:700}.module-value{font-size:clamp(18px,2vw,26px);letter-spacing:-.7px;overflow-wrap:anywhere;line-height:1.2}.module-desc{color:var(--dim);font-size:11px;line-height:1.4;margin-top:auto}.tile-red .module-icon{color:#f5aaa8}.tile-green .module-icon{color:#80e5bd}.tile-gold .module-icon{color:#ebc58f}.tile-teal .module-icon{color:#8ad9df}.tile-purple .module-icon{color:#c6b7f8}.home-footnote{margin-top:18px}
.person-group{margin-bottom:16px;border-radius:20px;background:linear-gradient(135deg,rgba(39,66,65,.7),rgba(19,31,35,.8))}.person-group>summary{padding:19px;min-height:85px}.person-group>summary strong{font-size:clamp(19px,3vw,26px);letter-spacing:-.5px}.person-group>summary .person-title{font-size:16px}.person-group:not([open])>summary{border:0}.person-loans{padding:12px!important;display:grid;gap:12px}.loan-card{margin:0!important;border-radius:17px;background:rgba(5,17,19,.37)}.loan-card>summary{min-height:72px}.loan-card>summary strong{font-size:18px}.loan-card-body{padding:14px}.loan-editor>summary{font-weight:650}.action-panel{display:block;margin:0 0 14px}.action-panel>summary{cursor:pointer;list-style:none;padding:4px 0;font-size:15px;font-weight:650}.action-panel>summary::-webkit-details-marker{display:none}.action-panel[open]>summary{padding-bottom:15px;margin-bottom:13px;border-bottom:1px solid var(--stroke)}
.loan-delete{width:100%;margin-top:12px}.loan-editor form{max-width:100%}
@media(max-width:1150px){.home-modules{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.home-modules{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.module-tile{min-height:169px;padding:15px;border-radius:18px}.module-value{font-size:clamp(17px,4.8vw,24px)}.module-desc{font-size:10px}.home-welcome{padding:18px;display:block}.home-balance{text-align:left;margin-top:16px;min-width:0}.home-welcome h2{font-size:25px}.person-group>summary{padding:13px}.person-group>summary strong{font-size:18px}}
@media(max-width:360px){.module-tile{padding:12px;min-height:156px}.home-modules{gap:8px}.module-title{font-size:13px}.module-value{font-size:16px}.module-icon{width:34px;height:34px}}

/* V3.1: fixed, visible dashboard grid with no dependence on legacy card classes */
.main{align-self:start}.home-welcome{width:100%;min-width:0;align-items:center;margin-top:0;min-height:150px;background:linear-gradient(120deg,rgba(26,70,63,.85),rgba(20,35,38,.82));box-shadow:0 18px 50px rgba(0,0,0,.12)}
.home-modules{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important;width:100%;margin-top:18px;align-items:stretch}
.home-modules>.module-tile{box-sizing:border-box;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start;min-width:0;width:100%;min-height:196px;gap:12px;padding:22px;border-radius:22px;background:linear-gradient(145deg,rgba(34,57,58,.96),rgba(15,29,32,.95));border:1px solid rgba(185,224,211,.16);box-shadow:0 9px 28px rgba(0,0,0,.14);transition:transform .16s,border .16s,box-shadow .16s}
.home-modules>.module-tile:hover{transform:translateY(-3px);box-shadow:0 15px 30px rgba(0,0,0,.22);border-color:rgba(108,228,177,.5)}
.module-tile .module-top{display:flex;justify-content:space-between;align-items:center;width:100%;margin-bottom:3px}.module-tile .module-icon{width:46px;height:46px;border-radius:15px;background:rgba(121,224,184,.12);display:grid;place-items:center;font-size:25px}.module-tile .module-arrow{font-size:20px;opacity:.7}.module-tile .module-title{font-size:15px;font-weight:700;line-height:1.2}.module-tile .module-value{display:block;font-size:clamp(20px,2vw,29px);font-weight:760;letter-spacing:-.6px;line-height:1.15;overflow-wrap:anywhere}.module-tile .module-desc{font-size:12px;color:var(--dim);line-height:1.4;margin-top:auto;overflow-wrap:anywhere}
@media(max-width:1200px){.home-modules{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:980px){.home-modules{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:700px){.home-modules{gap:11px!important}.home-modules>.module-tile{padding:16px;min-height:176px;border-radius:18px}.module-tile .module-icon{width:38px;height:38px;font-size:22px}.module-tile .module-value{font-size:clamp(18px,4.5vw,24px)}.home-welcome{min-height:unset;display:block;padding:20px}.home-balance{text-align:left}}
@media(max-width:360px){.home-modules{gap:8px!important}.home-modules>.module-tile{padding:12px;min-height:162px}.module-tile .module-desc{font-size:10px}.module-tile .module-title{font-size:13px}}

/* FinanceLock V4 — Apple Shortcuts-inspired, colorful mobile cards */
.home-modules{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:15px!important}
.home-modules>.module-tile{min-height:205px;background:var(--shortcut-bg)!important;border:1px solid rgba(255,255,255,.18)!important;color:white!important;box-shadow:0 10px 28px rgba(0,0,0,.16)!important}
.module-tile .module-icon{background:rgba(255,255,255,.18)!important;color:white!important}.module-tile .module-arrow,.module-tile .module-desc{color:rgba(255,255,255,.84)!important}.module-tile .module-title,.module-tile .module-value{color:white!important}
.tile-red{--shortcut-bg:linear-gradient(145deg,#ed655e,#b94152)}.tile-green{--shortcut-bg:linear-gradient(145deg,#34bb82,#188969)}.tile-gold{--shortcut-bg:linear-gradient(145deg,#e8b94c,#c28b21)}.tile-teal{--shortcut-bg:linear-gradient(145deg,#17aeb9,#12768a)}.tile-purple{--shortcut-bg:linear-gradient(145deg,#8970e7,#614dc2)}.tile-blue{--shortcut-bg:linear-gradient(145deg,#518ceb,#365cba)}.tile-gray{--shortcut-bg:linear-gradient(145deg,#67737e,#46515d)}
.home-welcome{background:linear-gradient(120deg,#202c32,#172b2c)!important}.person-group{overflow:hidden}.loan-card{overflow:hidden}
@media(max-width:900px){.home-modules{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:420px){.home-modules{gap:10px!important}.home-modules>.module-tile{min-height:160px;padding:14px!important}.module-tile .module-value{font-size:clamp(17px,4.5vw,21px)!important}.module-tile .module-title{font-size:14px!important}.module-tile .module-desc{font-size:10px!important}}
@media(max-width:340px){.home-modules{grid-template-columns:minmax(0,1fr)!important}}

/* V4.1 categorías rápidas */
.category-shortcuts{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px;min-width:0;max-width:100%}.category-chip{border:1px solid rgba(148,163,184,.26);background:rgba(148,163,184,.1);color:inherit;border-radius:999px;padding:7px 11px;max-width:100%;overflow-wrap:anywhere;font:inherit;font-size:12px;cursor:pointer}.category-chip:hover,.category-chip:focus-visible{border-color:rgba(134,239,172,.65);background:rgba(16,185,129,.13)}

/* FinanceLock V4.2 — tarjetas de crédito */
.credit-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--stroke);padding:15px 0;min-width:0;flex-wrap:wrap}.credit-row>*{min-width:0;overflow-wrap:anywhere}
.credit-charge{border:1px solid var(--stroke);border-radius:15px;padding:13px;margin:10px 0;min-width:0}.credit-charge summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.credit-charge summary span{display:grid;gap:5px;min-width:0;overflow-wrap:anywhere}.credit-charge summary small{font-size:11px;color:var(--dim)}.credit-charge summary strong{white-space:nowrap}.credit-charge form{margin-top:15px}.credit-charge input{max-width:100%}
@media(max-width:430px){.credit-charge summary strong{font-size:14px}.credit-charge summary{align-items:flex-start}.credit-row strong{font-size:17px}}

/* V4.3 coherent SVG icon styling */
.fl-svg{flex:0 0 auto;display:inline-block;vertical-align:middle;width:20px;height:20px;fill:none;stroke:currentColor}
.nav a{display:flex;align-items:center;gap:10px}.nav a .fl-svg{width:19px;height:19px}
.module-icon .fl-svg{width:25px;height:25px;stroke-width:1.8}
button.btn svg,a.btn svg{display:inline-block;vertical-align:middle;margin-right:5px;flex-shrink:0}
@media(max-width:700px){.nav a{gap:5px;flex-direction:column;justify-content:center;text-align:center}.nav a .fl-svg{width:19px;height:19px}.category-shortcuts{max-height:140px;overflow-y:auto;overscroll-behavior:contain}}

/* V4.4: simple, actionable loan view */
.loan-section{grid-template-columns:minmax(0,1fr)!important;max-width:100%}
.loan-section>.stack{min-width:0;max-width:100%}
.loan-section>.stack:last-child{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.person-group>summary{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:12px}
.person-group>summary:before{grid-row:1;grid-column:1}
.person-title{grid-column:2}
.person-finance{grid-column:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%}
.person-finance>span{display:grid;gap:4px;min-width:0;padding:9px 10px;border-radius:12px;background:rgba(255,255,255,.055)}
.person-finance small{font-size:11px;color:var(--dim);line-height:1.25}
.person-finance b{font-size:clamp(14px,2.5vw,20px);overflow-wrap:anywhere;white-space:normal;font-weight:750}
.loan-section .action-panel{border:1px solid var(--stroke);padding:13px 16px;border-radius:17px;margin:0}
.loan-section .action-panel>summary{display:flex;align-items:center;gap:10px;padding:0;min-height:36px;list-style:none;cursor:pointer}
.loan-section .action-panel>summary::-webkit-details-marker{display:none}
.loan-section .action-panel>summary svg{width:18px;height:18px;flex-shrink:0}
.loan-section .action-panel[open]>summary{margin-bottom:15px;padding-bottom:10px}
.new-loan-panel>summary{font-weight:750!important}
.add-loan-icon{display:grid;place-items:center;background:#257455;color:#fff;border-radius:12px;width:42px;height:42px;flex:none}
.add-loan-icon svg{width:22px!important;height:22px!important}
@media(max-width:600px){.person-finance{gap:5px}.person-finance>span{padding:8px 6px}.person-finance small{font-size:10px}.person-finance b{font-size:clamp(12px,3.2vw,17px)}.loan-section .panel{min-width:0}}
@media(max-width:350px){.person-finance{grid-template-columns:repeat(2,minmax(0,1fr))}.person-finance>span:first-child{grid-column:1/-1}}

/* V4.5 — mobile-first person cards and adaptive finance layout */
.people-workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;max-width:100%}
.people-panel,.people-add{min-width:0;max-width:100%}.people-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:12px;margin-top:18px}
.people-card{display:grid;gap:16px;min-width:0;max-width:100%;padding:17px;border:1px solid var(--stroke);border-radius:19px;background:rgba(255,255,255,.035)}
.people-head{display:flex;align-items:center;gap:12px;min-width:0}.people-detail{min-width:0;overflow-wrap:anywhere}.people-detail h3{margin:0 0 4px;font-size:17px}.person-avatar{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:linear-gradient(145deg,#5e70e5,#6d42b2);color:#fff;font-weight:750;font-size:18px}
.people-quick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;align-items:start}.people-quick>*{min-width:0;margin:0}.people-quick form{width:100%}.people-quick .btn,.person-edit-dialog>summary.btn{box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:5px;min-height:43px;padding:9px 5px;width:100%;font-size:12px;text-align:center;white-space:normal;line-height:1.2}.person-edit-dialog>summary{cursor:pointer;list-style:none}.person-edit-dialog>summary::-webkit-details-marker{display:none}.person-edit-dialog[open]{grid-column:1/-1}.person-edit-form{padding:14px 0 0;min-width:0;max-width:100%}.person-edit-form label,.person-edit-form input,.person-edit-form textarea{min-width:0;max-width:100%;width:100%;box-sizing:border-box}.people-add>summary{display:flex;align-items:center;gap:9px;cursor:pointer;list-style:none}.people-add>summary::-webkit-details-marker{display:none}
html,body,.shell,.main,main{max-width:100%;min-width:0} .panel,.stack,.section,.grid,.people-card,.person-group,.loan-card{min-width:0;max-width:100%;box-sizing:border-box} .people-quick svg{max-width:18px;flex-shrink:0}
@media(max-width:700px){.main{width:100%;padding:13px 12px calc(22px + env(safe-area-inset-bottom))}.people-card{padding:14px}.people-cards{grid-template-columns:minmax(0,1fr);gap:10px}.people-quick{gap:5px}.person-finance{grid-template-columns:repeat(2,minmax(0,1fr))}.person-finance>span:first-child{grid-column:1/-1}.person-group>summary{min-width:0}.loan-card>summary{min-width:0;flex-wrap:wrap}.loan-card>summary>*{min-width:0;overflow-wrap:anywhere}.loan-card>summary strong{white-space:normal}.top,.toolbar,.top form{min-width:0;max-width:100%}}
@media(max-width:350px){.people-quick{grid-template-columns:minmax(0,1fr)}.person-finance{grid-template-columns:minmax(0,1fr)}.person-finance>span:first-child{grid-column:auto}}

/* V4.6 Credit management */
.card-limit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:14px;margin:16px 0}.card-limit-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:12px 0}.card-limit-metrics span{min-width:0;font-size:12px;overflow-wrap:anywhere}.card-limit-metrics b{display:block;font-size:clamp(13px,3vw,19px);margin-top:6px}.main,.panel,.section,.card-limit-grid{min-width:0;max-width:100%}#expenseAccount[hidden],#expenseCard[hidden]{display:none!important}@media(max-width:420px){.card-limit-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* FinanceLock V4.7 — system-wide layered glass, Shortcuts-first home */
:root{--bg:#091318;--panel:rgba(27,47,54,.48);--stroke:rgba(221,249,248,.19);--text:#f5fafb;--dim:#c2d0d4}
html{min-width:0}body{background:#081319;background-image:radial-gradient(ellipse 74% 50% at 12% 8%,rgba(68,176,149,.33),transparent 76%),radial-gradient(ellipse 65% 44% at 95% 24%,rgba(85,113,218,.29),transparent 70%),radial-gradient(ellipse 65% 65% at 45% 83%,rgba(133,91,186,.21),transparent 72%),linear-gradient(145deg,#0a1821,#132d2e 55%,#10151f);background-attachment:fixed;color:var(--text)}
/* Subtle luminous texture without external images */
body::before{content:"";position:fixed;z-index:-1;inset:0;pointer-events:none;background:radial-gradient(circle at 68% 17%,rgba(255,255,255,.06),transparent 30%),linear-gradient(130deg,transparent 30%,rgba(255,255,255,.025) 50%,transparent 72%)}
.sidebar,.panel,.stat,.person-group,.loan-card,.people-card,.loan-edit,.action-panel,.authcard,.confirm-card,.card-limit-grid>*,.home-under,.home-intro,.notice{background:rgba(26,42,48,.50)!important;backdrop-filter:blur(28px) saturate(145%);-webkit-backdrop-filter:blur(28px) saturate(145%);border:1px solid rgba(235,255,255,.15);box-shadow:0 16px 40px rgba(1,9,17,.13),inset 0 1px 0 rgba(255,255,255,.08)}
.sidebar{background:rgba(13,28,35,.50)!important;border-top:0;border-left:0;border-bottom:0;border-radius:0}
input,select,textarea{background:rgba(8,24,32,.58);border-color:rgba(218,250,251,.25);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.btn.secondary{background:rgba(226,249,250,.10);border-color:rgba(229,249,249,.21)}
.nav a.active,.nav a:hover{background:rgba(109,223,194,.21)}
.mobile-menu-toggle{display:none}
.home-intro{display:flex;justify-content:space-between;align-items:end;gap:12px;padding:16px 20px;border-radius:20px;margin-bottom:15px}
.home-intro h2{font-size:clamp(22px,2.5vw,30px);letter-spacing:-.7px;margin-top:4px}
.home-intro-label{font-size:12px;color:var(--dim)}
.home-modules{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.module-tile{position:relative;isolation:isolate;color:#fff!important;min-height:206px;padding:22px;border:1px solid rgba(255,255,255,.25);border-radius:25px;box-shadow:0 10px 30px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.23);background:linear-gradient(145deg,var(--tile-a),var(--tile-b))!important;backdrop-filter:blur(28px) saturate(140%);-webkit-backdrop-filter:blur(28px) saturate(140%)}
.module-tile:before{position:absolute;content:"";inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(155deg,rgba(255,255,255,.19),transparent 46%,rgba(0,0,0,.09));z-index:-1}
.tile-red{--tile-a:rgba(253,100,109,.94);--tile-b:rgba(193,54,91,.93)}.tile-green{--tile-a:rgba(58,208,151,.94);--tile-b:rgba(14,128,113,.95)}.tile-gold{--tile-a:rgba(232,171,66,.95);--tile-b:rgba(170,116,33,.95)}.tile-purple{--tile-a:rgba(117,112,238,.94);--tile-b:rgba(78,75,179,.96)}.tile-teal{--tile-a:rgba(42,171,191,.94);--tile-b:rgba(21,104,151,.96)}.tile-blue{--tile-a:rgba(79,137,238,.94);--tile-b:rgba(53,87,179,.96)}.tile-violet{--tile-a:rgba(171,104,225,.94);--tile-b:rgba(115,69,165,.96)}.tile-gray{--tile-a:rgba(117,140,151,.88);--tile-b:rgba(68,89,109,.94)}
.module-icon{width:53px;height:53px;border-radius:17px;background:rgba(255,255,255,.20);color:#fff!important}
.module-icon svg{width:27px;height:27px;stroke:currentColor}.module-arrow svg{width:20px;height:20px}.module-arrow{color:rgba(255,255,255,.85)}
.module-title{font-size:18px;letter-spacing:-.2px}.module-value{font-size:clamp(23px,2.4vw,33px);font-weight:790;line-height:1.15}.module-desc{font-size:12px;color:rgba(255,255,255,.85)}
.home-under{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;padding:16px 20px;border-radius:19px}.home-under strong{font-size:20px;overflow-wrap:anywhere}
@media(max-width:1100px){.home-modules{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
 .sidebar{position:relative;top:auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:12px 16px;min-height:66px;background:rgba(16,35,42,.73)!important;border-bottom:1px solid rgba(255,255,255,.18)}
 .sidebar .brand{margin:0;font-size:21px;text-align:left}
 .mobile-menu-toggle{display:inline-flex;align-items:center;gap:8px;justify-content:center;border:1px solid rgba(255,255,255,.23);border-radius:12px;background:rgba(255,255,255,.13);padding:10px 13px;color:#fff;font-size:15px;font-weight:650;min-height:42px}
 .sidebar .nav{display:none;flex-basis:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:12px;max-width:100%;overflow:visible}
 .sidebar.menu-open .nav{display:grid}
 .nav a{font-size:13px;min-height:46px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08)}
 .main{padding:12px 13px calc(25px + env(safe-area-inset-bottom))}
 .top{gap:9px;margin-bottom:12px}.top .eyebrow{font-size:10px}.top h1{font-size:20px}
 .top .toolbar{display:flex;gap:7px;align-items:center;max-width:100%}.top .toolbar form{display:flex;flex-wrap:nowrap;flex:1;min-width:0}.top .toolbar form input{flex:1;min-width:0;padding:9px 10px;font-size:14px}.top .toolbar .btn{font-size:12px;white-space:nowrap;padding:9px 12px;min-height:42px}
 .top .toolbar>a[href="logout.php"]{display:none}
 .home-intro{background:transparent!important;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;padding:6px 2px 12px;margin:0}
 .home-intro h2{font-size:20px}.home-intro .eyebrow{font-size:10px}.home-intro-label{display:none}
 .home-modules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .module-tile{padding:18px 14px;min-height:198px;border-radius:22px;gap:10px}
 .module-icon{width:49px;height:49px;border-radius:15px}.module-icon svg{width:26px;height:26px}
 .module-title{font-size:17px}.module-value{font-size:clamp(19px,5.5vw,27px)}.module-desc{font-size:11px}
 .home-under{padding:14px;margin-top:14px}
}
@media(max-width:360px){.module-tile{padding:13px;min-height:180px;gap:8px}.module-title{font-size:15px}.module-value{font-size:19px}.module-icon{height:42px;width:42px}.module-icon svg{width:22px;height:22px}}
@media(prefers-reduced-motion:reduce){.module-tile{transition:none}}

/* FinanceLock V4.8: mobile new-loan form stays within screen */
.new-loan-panel form { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; min-width:0; }
.new-loan-panel form label { min-width:0; display:block; }
.new-loan-panel form input,.new-loan-panel form select { width:100%; min-width:0; max-width:100%; }
.new-loan-panel form button[type=submit] { min-height:48px; width:100%; }
@media (min-width:850px){.new-loan-panel form{grid-template-columns:repeat(2,minmax(0,1fr));}.new-loan-panel form .hint,.new-loan-panel form button[type=submit]{grid-column:1/-1;}}
