@font-face{font-family:"Nunito";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/nunito-400.54ef89211626.woff2") format("woff2")}
@font-face{font-family:"Nunito";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/nunito-600.b770df7528a1.woff2") format("woff2")}
@font-face{font-family:"Nunito";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/nunito-700.28a2cf182b19.woff2") format("woff2")}
@font-face{font-family:"Nunito";font-style:normal;font-weight:800;font-display:swap;src:url("../fonts/nunito-800.a28521c77f4a.woff2") format("woff2")}
@font-face{font-family:"Baloo 2";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/baloo-2-400.ed6518fa1b71.woff2") format("woff2")}
@font-face{font-family:"Baloo 2";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/baloo-2-600.dfb95fe623b6.woff2") format("woff2")}
@font-face{font-family:"Baloo 2";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/baloo-2-700.4d7711a795ae.woff2") format("woff2")}
@font-face{font-family:"Baloo 2";font-style:normal;font-weight:800;font-display:swap;src:url("../fonts/baloo-2-800.ac10b2674176.woff2") format("woff2")}

a{text-decoration:none;color:inherit}h1,h2,h3,p{margin:0}main,.notebook-workspace{display:grid;gap:16px;min-width:0}.brand svg{flex-shrink:0}.tabs a{display:flex;align-items:center;justify-content:center;border-radius:999px;min-height:38px;padding:0 20px;font-weight:800;font-size:.9rem;color:var(--ink-2)}.tabs a[aria-current=page]{background:linear-gradient(135deg,var(--brand-2),var(--brand));color:#fff;box-shadow:0 4px 12px rgb(10 143 194 / .3)}.demo-user{display:flex;align-items:center}.today{grid-template-columns:repeat(5,minmax(0,1fr))}.st b{font-size:1.6rem}.st.in{background:var(--in-soft)}.st.out{background:var(--out-soft)}.demo-footer{text-align:center;font-size:.75rem;color:var(--ink-2);padding:8px 0}.notice{background:var(--in-soft);color:var(--in);padding:12px 16px;border-radius:12px;font-weight:700}.form-errors,.errorlist{color:#ab3027;background:#fff0ed;padding:10px 16px;font-size:.85rem}.notebook-filters .tb,.edit-actions .tb{display:inline-flex;align-items:center;justify-content:center}.notebook-filters{padding:12px;background:rgb(255 255 255 / .6);border-radius:14px}.entry select.ein{width:100%;border:1px solid var(--col);border-radius:10px;height:46px;font:inherit;background:#f8fbfd;padding:5px;min-width:70px}.e-hl{display:inline-block}.expense-caption{padding:10px;font-weight:800;color:var(--out)}.cv{padding:8px 10px!important;white-space:normal;min-width:80px}.sheet td.cv{display:table-cell;height:auto;font-size:.9rem}.ledger-table{table-layout:auto}.ledger-table td:nth-child(5){min-width:140px}.sheet-box{max-height:none;min-height:260px}.day-label{display:flex;align-items:center;gap:14px;padding:14px}.day-label small{color:var(--ink-3);font-size:.75rem}.day-row{background:#f6fbfd}.income-value{color:var(--in)}.expense-value{color:var(--out)}.notebook-actions{display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:6px 8px;font-size:.72rem}.notebook-actions a{color:var(--brand);font-weight:800}.notebook-actions button{color:var(--out);font-weight:700;white-space:nowrap}.cancel-label{display:block;color:#a94437;font-size:.7rem;font-weight:800}.correction-panel h2{font-family:var(--f-brand);font-size:1.25rem;margin-bottom:14px}.edit-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.edit-fields label{display:block;font-size:.8rem;font-weight:800;margin-bottom:5px}.edit-fields input,.edit-fields select{border:1px solid var(--col);border-radius:10px;padding:9px;width:100%;background:#f8fbfd}.edit-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:14px}.paper{background:white;border:1px solid var(--col);border-radius:var(--r-lg);padding:20px;box-shadow:var(--shadow)}.page-heading h1{font-family:var(--f-brand);font-size:1.6rem;color:var(--brand)}.page-heading p,.help-text{color:var(--ink-2);font-size:.85rem}.page-heading p{margin-top:6px}.table-scroll{overflow-x:auto}.table-scroll table{border-collapse:collapse;width:100%;min-width:650px}.table-scroll th,.table-scroll td{padding:14px;text-align:left;border-bottom:1px solid var(--rule)}.table-scroll th{color:var(--brand);font-size:.8rem;background:var(--brand-soft)}.table-scroll .number{text-align:right}.text-button{color:var(--brand);font-weight:800}.audit-entry .section-heading{display:flex;justify-content:space-between;gap:16px;margin-bottom:12px}.audit-entry h2{font-family:var(--f-brand);font-size:1.15rem}.audit-entry p{font-size:.8rem;color:var(--ink-2)}.badge{padding:4px 12px;background:var(--brand-soft);color:var(--brand);border-radius:999px;font-size:.75rem}.audit-entry summary{cursor:pointer;color:var(--brand);font-weight:700;font-size:.85rem}.audit-entry pre{background:#f1f7fa;padding:14px;border-radius:10px;overflow:auto;font-size:.75rem;max-height:400px}.empty{padding:30px!important;text-align:center;color:var(--ink-2)}.empty h2{font-family:var(--f-brand);font-size:1.3rem;margin-bottom:8px}.empty .text-button{display:inline-block;margin-top:12px}.ret-tbl td{padding:10px}.ret-tbl{width:100%;min-width:650px}button:hover,a:hover{filter:brightness(.96)}button:focus-visible,a:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
@media(max-width:800px){.today{grid-template-columns:repeat(2,minmax(0,1fr))}.st:last-child{grid-column:1/-1}.tabs{flex-wrap:wrap;border-radius:18px;width:100%}.tabs a{flex:1 1 30%;padding:8px 10px}.edit-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.brand small{font-size:.6rem}.top{gap:8px}.brand{flex-wrap:wrap}.demo-user{display:none}.st b{font-size:1.5rem}}
@media(max-width:480px){.brand{font-size:1.6rem}.brand small{display:none}.tabs a{font-size:.8rem;flex-basis:40%}.edit-fields{grid-template-columns:1fr}.e-top{flex-wrap:wrap}.e-date input{max-width:160px}}

main,.notebook-workspace{grid-template-columns:minmax(0,1fr)}.notebook-workspace>*{min-width:0;max-width:100%}.ret-scroll,.e-scroll,.sheet-box{max-width:100%}

/* Hoy: dos indicadores diarios y una sola caja con desglose y total. */
.today-indicators{display:grid;grid-template-columns:1fr 1fr 2.6fr;gap:14px}
.today-indicators>*{min-width:0}
.day-indicator{border-radius:20px;padding:22px 20px;display:flex;flex-direction:column;justify-content:center;box-shadow:var(--shadow)}
.day-indicator h2,.cash-indicator h2{font-size:1rem;font-weight:800;line-height:1.3}
.day-indicator strong{font-family:var(--f-brand);font-size:2rem;font-weight:800;line-height:1.35;white-space:nowrap;margin-top:10px}
.day-indicator p{font-size:.76rem;margin-top:5px;color:var(--ink-2)}
.day-income{background:var(--in-soft);color:var(--in)}
.day-expense{background:var(--out-soft);color:var(--out)}
.cash-indicator{display:grid;grid-template-columns:1fr 1.3fr;background:white;border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}
.cash-breakdown{padding:20px}
.cash-breakdown h2{color:var(--ink);margin-bottom:16px}
.cash-breakdown dl{display:grid;gap:12px}
.cash-breakdown dl>div{display:flex;justify-content:space-between;align-items:baseline;gap:14px}
.cash-breakdown dt{font-size:.82rem;color:var(--ink-2)}
.cash-breakdown dd{font-weight:800;font-size:.92rem;white-space:nowrap}
.cash-grand-total{background:var(--brand);color:white;display:flex;flex-direction:column;justify-content:center;padding:22px 24px}
.cash-grand-total h3{font-size:.92rem;font-weight:800}
.cash-grand-total strong{font-family:var(--f-brand);font-weight:800;font-size:2.6rem;line-height:1.25;margin:8px 0;white-space:nowrap}
.cash-grand-total p{font-size:.76rem;color:#e4f7ff}
.cash-breakdown dl>div{border-radius:10px;padding:10px 12px;border-left:4px solid}
.cash-breakdown .cash-method-cash{background:#dcfce7;border-color:#16a34a;color:#15803d}
.cash-breakdown .cash-method-yape{background:#f3e8ff;border-color:#9333ea;color:#7e22ce}
.cash-breakdown dl>div dt{color:inherit;font-weight:800}
.cash-breakdown dl>div dd{color:inherit;font-size:1.05rem}
@media(max-width:1050px){.today-indicators{grid-template-columns:1fr 1fr}.cash-indicator{grid-column:1/-1;grid-template-columns:1fr 1fr}.day-indicator{padding:18px 20px}.day-indicator strong{margin-top:4px}.cash-breakdown{padding:20px 24px}}
@media(max-width:480px){.today-indicators{gap:10px}.day-indicator{border-radius:16px;padding:16px}.day-indicator strong{font-size:1.65rem}.day-indicator h2{font-size:.9rem}.cash-indicator{grid-template-columns:1fr;border-radius:16px}.cash-breakdown{padding:18px 20px}.cash-breakdown h2{margin-bottom:12px}.cash-breakdown dl{grid-template-columns:1fr 1fr;gap:16px}.cash-breakdown dl>div{flex-direction:column;gap:4px}.cash-breakdown dl>div+div{border-left:1px solid var(--col);padding-left:16px}.cash-grand-total{padding:18px 20px}.cash-grand-total strong{font-size:2.8rem;margin:4px 0}}
.cash-breakdown dl>.cash-method-yape{border-left:4px solid #9333ea;padding-left:12px}

/* Burbujas del diseño original, detrás de los importes. */
.day-indicator,.cash-grand-total,.cash-breakdown dl>div{position:relative;overflow:hidden;isolation:isolate}
.day-indicator::before,.day-indicator::after,
.cash-grand-total::before,.cash-grand-total::after,
.cash-breakdown dl>div::before,.cash-breakdown dl>div::after{
  content:"";position:absolute;border-radius:50%;pointer-events:none;z-index:-1;
  background:currentColor;opacity:.08;
}
.day-indicator::before{width:88px;height:88px;right:-20px;top:-25px}
.day-indicator::after{width:32px;height:32px;right:44px;top:47px;opacity:.06}
.cash-grand-total::before{width:135px;height:135px;right:-34px;top:-35px;opacity:.13}
.cash-grand-total::after{width:48px;height:48px;right:69px;bottom:-12px;opacity:.1}
.cash-breakdown dl>div::before{width:55px;height:55px;right:-15px;top:-20px}
.cash-breakdown dl>div::after{width:19px;height:19px;right:35px;bottom:-6px;opacity:.06}

/* Registro sencillo y movimientos del día, uno al lado del otro. */
[x-cloak]{display:none!important}
.today-split{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.25fr);gap:22px;align-items:start}
.today-split>*{min-width:0}
.registration-card,.day-history{background:white;border:1px solid var(--col);border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}
.registration-card form{--entry-color:#089866;--entry-soft:#edf9f3;margin:0;background:var(--entry-soft);transition:background-color .18s ease}
.registration-card form:has(.choose-expense[aria-pressed="true"]){--entry-color:#e36731;--entry-soft:#fff2e9}
.registration-heading{padding:20px 22px 12px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.registration-heading h2,.day-history-heading h2{font-family:var(--f-brand);font-size:1.4rem;font-weight:800;color:var(--ink)}
.registration-heading>span{font-size:.78rem;color:var(--ink-2)}
.registration-tabs{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 22px}
.registration-tabs button{height:64px;display:flex;align-items:center;justify-content:center;gap:12px;border-radius:14px;border:2px solid transparent;color:white;font-weight:800;font-size:1.15rem;transition:box-shadow .18s ease,opacity .18s ease}
.registration-tabs button>span{font-size:1.8rem;font-weight:600;line-height:1}
.registration-tabs .choose-income{background:linear-gradient(130deg,#27cf91,#079666);box-shadow:0 5px 14px #0e9f6a30}
.registration-tabs .choose-expense{background:linear-gradient(130deg,#ffad63,#ed613c);box-shadow:0 5px 14px #e3673130}
.registration-tabs button[aria-pressed=false]{opacity:.6;box-shadow:none}
.registration-tabs button[aria-pressed=true]{border-color:white;outline:2px solid var(--entry-color);outline-offset:1px}
.registration-fields{padding:16px 22px 22px}
.registration-intro{color:var(--entry-color);font-size:.84rem;font-weight:700;margin-bottom:16px}
.registration-fields label{display:block;color:var(--ink);font-size:.83rem;font-weight:800;margin:14px 0 6px}
.registration-fields label small{color:var(--ink-2);font-weight:500}
.registration-fields input,.registration-fields textarea{display:block;width:100%;min-width:0;border:1px solid #cbdfe5;border-radius:10px;background:white;padding:11px 13px;min-height:46px;font-size:.95rem;font-family:var(--f-body);color:var(--ink)}
.registration-fields textarea{resize:vertical;min-height:90px;line-height:1.6}
.registration-fields input:focus,.registration-fields textarea:focus{outline:2px solid var(--entry-color);outline-offset:1px;border-color:transparent}
.registration-fields input[readonly]{background:#f2f6f8;color:var(--ink-2)}
.registration-fields input::placeholder,.registration-fields textarea::placeholder{color:#91a8b4}
.amount-field{position:relative}
.amount-field>span{position:absolute;left:13px;top:12px;color:var(--ink-2);font-weight:700;font-size:.92rem;pointer-events:none}
.amount-field input{padding-left:38px;font-variant-numeric:tabular-nums}
.payment-slots{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.payment-slots>div{padding:12px;border-radius:13px}
.payment-slots label{margin:0 0 8px}
.payment-slots .slot-yape{background:#f0dfff}.slot-yape label{color:#7e22ce}
.payment-slots .slot-cash{background:#d6f6e4}.slot-cash label{color:#15803d}
.payment-slots input{padding-left:30px;padding-right:6px;font-weight:700}
.payment-slots .amount-field>span{left:9px}
.known-guide{font-size:.76rem;color:var(--entry-color);margin-top:7px}
.payment-preview{display:flex;justify-content:space-between;gap:12px;align-items:baseline;padding:16px 0;color:var(--entry-color);font-size:.85rem;font-weight:700}
.payment-preview strong{font-family:var(--f-brand);font-size:1.5rem}
.save-registration{width:100%;min-height:48px;border:0;border-radius:12px;background:var(--entry-color);color:white;font-weight:800;font-size:1rem;box-shadow:0 4px 10px rgb(18 48 71 / .08)}
.save-registration:disabled{opacity:.5;cursor:wait}
.registration-errors{padding:12px;background:#fff;border:1px solid #f0b1a4;border-radius:10px;color:#a33325;font-size:.8rem;line-height:1.6}
.day-history-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px 22px;border-bottom:1px solid var(--col)}
.day-history-heading p{font-size:.78rem;color:var(--ink-2);margin-top:3px}
.day-history-heading>span{font-size:.72rem;color:var(--brand);background:var(--brand-soft);border-radius:999px;padding:5px 10px;white-space:nowrap;font-weight:700}
.day-history-list{padding:0 20px;max-height:850px;overflow-y:auto}
.day-movement{padding:18px 0;border-bottom:1px solid var(--col)}.day-movement:last-child{border-bottom:0}
.movement-heading{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.movement-type{font-size:.72rem;font-weight:800;padding:4px 9px;border-radius:6px;background:var(--in-soft);color:var(--in)}
.movement-expense .movement-type{background:#fff0e4;color:#c34d21}
.movement-withdrawal .movement-type{background:#e9eff6;color:#526780}
.movement-reference{font-size:.73rem;color:var(--ink-2)}
.movement-amount{margin-left:auto;font-size:1.1rem;font-weight:800;font-variant-numeric:tabular-nums;color:var(--ink)}
.day-movement h3{font-size:.98rem;font-weight:800;margin-top:10px}
.movement-description{font-size:.85rem;color:var(--ink-2);line-height:1.5;margin-top:7px;overflow-wrap:anywhere;white-space:pre-wrap}
.movement-footer{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:12px}
.movement-methods{display:flex;gap:6px;flex-wrap:wrap}
.movement-methods span{font-size:.7rem;padding:3px 7px;border-radius:5px;font-weight:700}
.movement-methods .method-yape{background:#f3e8ff;color:#7e22ce}
.movement-methods .method-cash{background:#dcfce7;color:#15803d}
.day-history .notebook-actions{flex-direction:row;gap:10px;padding:0;white-space:nowrap}
.movement-cancelled .movement-amount{text-decoration:line-through;color:var(--ink-3)}
.history-empty{text-align:center;padding:70px 24px}.history-empty h3{font-family:var(--f-brand);font-size:1.35rem}.history-empty p{font-size:.85rem;color:var(--ink-2);margin-top:10px;line-height:1.6}
@media(max-width:800px){.today-split{grid-template-columns:minmax(0,1fr)}.day-history-list{max-height:none}.registration-tabs button{height:58px}.registration-heading,.day-history-heading{padding:18px 18px 12px}.registration-tabs{padding:0 18px}.registration-fields{padding:14px 18px 18px}.day-history-heading{padding-bottom:18px}}
@media(prefers-reduced-motion:reduce){.registration-card form,.registration-tabs button{transition:none}}

/* En escritorio, el formulario conserva su ancho y el historial ocupa el espacio restante. */
@media(min-width:1152px){
  .wrap:has(.today-split){max-width:none}
  .notebook-workspace:has(.today-split)>.notice{width:100%;max-width:1120px;margin-inline:auto}
  .notebook-workspace:has(.today-split)>.today-indicators{width:100%;max-width:none}
  .today-split{grid-template-columns:466px minmax(0,1fr)}
}

.day-history .notebook-actions .inline-correct{color:var(--brand);font-weight:800}
.inline-edit-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}
.inline-edit-heading h3{margin:0;font-size:.95rem}
.inline-close{color:var(--ink-2);font-size:.8rem;font-weight:700}
.inline-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}
.inline-full{grid-column:1/-1}
.inline-fields label{display:block;font-size:.8rem;font-weight:800;margin-bottom:6px}
.inline-fields input,.inline-fields select,.inline-fields textarea{width:100%;min-width:0;border:1px solid var(--col);border-radius:9px;padding:10px;background:#f8fcfd;font:inherit}
.inline-fields textarea{resize:vertical}
.inline-edit-actions{display:flex;justify-content:flex-end;gap:16px;align-items:center;margin-top:16px}
.inline-saved{font-size:.75rem;color:var(--in);margin-top:8px}

/* Cada atributo se edita en el lugar donde se muestra. */
.attribute-form{margin:0}
.attribute-value{border:0;background:transparent;border-radius:5px;padding:3px 5px;margin:-3px -5px;text-align:left;color:inherit;font:inherit;cursor:text;max-width:100%;overflow-wrap:anywhere}
.attribute-value:hover:not(:disabled){background:var(--brand-soft);box-shadow:inset 0 -1px var(--brand)}
.attribute-value:disabled{opacity:1;cursor:default}
.attribute-amount{margin-left:auto}
.attribute-amount .attribute-value{font-weight:800;font-size:1.1rem}
.attribute-guide{display:flex;align-items:center;gap:5px;font-size:.76rem;color:var(--ink-2)}
.attribute-service{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:8px;font-size:.76rem;color:var(--ink-2)}
.attribute-service .attribute-value{font-weight:700}
.attribute-detail{margin:10px 0 13px}
.attribute-detail .movement-description{margin:0;display:block;width:100%;line-height:1.6;white-space:pre-wrap}
.attribute-form input:not([type=hidden]),.attribute-form textarea{border:1px solid var(--brand);background:#f5fcff;border-radius:7px;padding:6px 9px;font:inherit;color:var(--ink);max-width:100%;min-width:0;outline-offset:2px}
.attribute-amount input{width:140px;text-align:right;font-size:1rem;font-weight:800}
.attribute-guide input{width:105px}
.attribute-service input{width:130px}
.attribute-detail textarea{display:block;width:100%;resize:vertical;font-size:.85rem}
.attribute-methods .attribute-method{padding:5px 9px;border-radius:6px;font-size:.75rem;font-weight:700}
.attribute-methods .attribute-value{display:block;font-size:.75rem;font-weight:700}
.attribute-methods .attribute-value span{background:transparent;padding:0;font:inherit;color:inherit}
.attribute-method label{font-size:.75rem}
.attribute-method input{width:105px;padding:4px 7px!important;margin-left:5px}
.attribute-save{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding-top:12px;border-top:1px solid var(--col)}
.attribute-save small{font-size:.75rem;color:var(--ink-2)}
.attribute-error{color:#a33325;background:#fff0ed;border-radius:8px;padding:10px;font-size:.8rem;line-height:1.5;margin-top:12px}
.attribute-actions{display:flex;justify-content:flex-end;margin-top:6px;font-size:.72rem;color:var(--out);font-weight:700}
.attribute-confirmation{position:fixed;inset:0;margin:auto;width:min(440px,calc(100% - 32px));padding:26px;border:1px solid var(--col);border-radius:20px;color:var(--ink);background:white;box-shadow:0 20px 80px #12304740;max-height:calc(100dvh - 32px);overflow:auto}
.attribute-confirmation::backdrop{background:rgb(13 40 57 / .4)}
.attribute-confirmation h2{font-family:var(--f-brand);font-size:1.4rem;font-weight:800}
.attribute-confirmation p{color:var(--ink-2);font-size:.86rem;margin-top:8px}
.attribute-confirmation form>div{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}
.attribute-confirmation button{padding:11px 16px;border-radius:9px;font-size:.9rem;font-weight:800}
.confirmation-cancel{background:#eef4f7;color:var(--ink-2)}
.confirmation-yes{background:var(--brand);color:white}

.day-history-list{padding:16px;display:grid;gap:12px}
.day-history .day-movement{padding:16px;border-radius:12px;border:1px solid var(--col);background:white}
.day-history .movement-income{border-color:#9bdbba;border-left:5px solid #0e9f6a;background:#fcfffd}
.day-history .movement-expense{border-color:#f2b5ae;border-left:5px solid #e8574a;background:#fffdfc}
.day-history .movement-expense .movement-type{background:#fdecea;color:#c73c30}

/* Fila compacta: identidad, comentario, medios de pago y total. */
.day-history{container-type:inline-size}
.day-history-list{gap:10px;padding:12px}
.day-history .day-movement{padding:12px 14px}
.day-movement .attribute-form{display:grid;grid-template-columns:minmax(0,1fr) 128px;gap:10px 14px;align-items:center}
.record-identity{grid-column:1;min-width:0}
.record-identity .movement-heading{gap:7px}
.record-identity h3{margin-top:5px;font-size:.9rem}
.record-identity .attribute-service{margin-top:5px;font-size:.72rem;gap:5px}
.attribute-form>.attribute-amount{grid-column:2;grid-row:1;align-self:start;white-space:nowrap;margin:0;text-align:right;font-variant-numeric:tabular-nums}
.attribute-form>.attribute-detail{grid-column:1/-1;margin:0;min-width:0}
.record-comment-label{display:block;font-size:.68rem;color:var(--ink-2);font-weight:700;margin-bottom:4px}
.attribute-detail .attribute-value.movement-description{border:1px solid #b5ccd7;background:white;border-radius:7px;min-height:48px;padding:8px 10px;margin:0;font-size:.8rem;line-height:1.4}
.attribute-detail textarea{min-height:60px;font-size:.8rem}
.attribute-methods{grid-column:1/-1;gap:7px;align-items:start}
.attribute-methods .attribute-method{padding:7px 10px;min-width:100px}
.attribute-method .attribute-value>span{display:block;margin-top:2px}
.attribute-form>.attribute-error,.attribute-form>.inline-saved,.attribute-form>.attribute-save{grid-column:1/-1;margin-top:0}
.attribute-form>.attribute-save{padding-top:8px}
.day-movement .attribute-actions{margin-top:3px;font-size:.68rem}
@container(min-width:740px){
  .day-movement .attribute-form{grid-template-columns:220px minmax(0,1fr) 224px 128px;gap:14px}
  .attribute-form>.attribute-detail{grid-column:2;grid-row:1}
  .attribute-form>.attribute-methods{grid-column:3;grid-row:1;flex-wrap:nowrap}
  .attribute-form>.attribute-amount{grid-column:4;grid-row:1}
}

.record-identity .attribute-guide{flex:0 0 108px;width:108px;min-height:32px;gap:5px}
.record-identity .attribute-guide>span{font-size:.72rem}
.record-identity .attribute-guide .attribute-value,
.record-identity .attribute-guide input{width:68px;min-width:0;flex:0 0 68px;margin:0;padding:3px 4px;font-size:1.2rem;font-weight:800;line-height:1.2;color:var(--brand);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.record-identity .attribute-service{flex-wrap:nowrap}
.expense-person-label{display:block;color:var(--ink-2);font-size:.7rem;margin-top:3px}
.expense-person-auto{font-size:.8rem;color:var(--ink-2);padding:10px 12px;background:#fff8f2;border:1px solid #f5d2b8;border-radius:9px}
.record-identity .attribute-service input{width:100px;flex:0 0 100px;padding:3px 6px;font-size:.75rem}
.attribute-methods .attribute-method{width:108px;min-width:0;flex:0 0 108px;overflow:hidden}
.attribute-methods .attribute-method input{display:block;box-sizing:border-box;width:100%;margin:2px 0 0}
@media(max-width:480px){.day-movement .attribute-form{grid-template-columns:minmax(0,1fr) 106px}.record-identity .attribute-service{flex-wrap:wrap}}

.history-module{display:grid;gap:18px;min-width:0}
.history-filters{padding:20px 22px;border:1px solid var(--col);border-radius:18px;background:white;box-shadow:var(--shadow)}
.history-filter-heading{display:flex;gap:16px;align-items:baseline;margin-bottom:16px;flex-wrap:wrap}
.history-filter-heading h2{font-family:var(--f-brand);font-size:1.25rem;font-weight:800}
.history-filter-heading p{font-size:.78rem;color:var(--ink-2)}
.history-filter-fields{display:grid;grid-template-columns:1fr 1.25fr 1.25fr 1fr auto;gap:12px;align-items:end}
.history-filter-fields>div{min-width:0}
.history-filter-fields label{display:block;font-size:.77rem;font-weight:800;margin-bottom:6px}
.history-filter-fields input,.history-filter-fields select{height:42px;width:100%;min-width:0;border:1px solid #bfd6e1;border-radius:9px;padding:0 10px;font:inherit;font-size:.85rem;background:#fafdfe;color:var(--ink)}
.history-filter-actions{display:flex;gap:8px}
.history-filter-actions .btn,.history-filter-actions .tb{height:42px;display:inline-flex;align-items:center;justify-content:center}
.history-results .day-history-list{max-height:none}
.history-date-heading{display:flex;align-items:baseline;gap:12px;padding:8px 3px 2px;color:var(--ink)}
.history-date-heading h3{font-weight:800;font-family:var(--f-brand);font-size:1rem}
.history-date-heading span,.history-record-user{font-size:.7rem;color:var(--ink-2)}
.history-record-user{margin-top:4px}
.day-history .movement-withdrawal{border-left:5px solid #788da7;background:#fbfcfe}
@media(min-width:1152px){
  .wrap:has(.history-module){max-width:none}
  .history-filters{width:100%;max-width:none}
  .notebook-workspace:has(.history-module)>.today-indicators{width:100%;max-width:none}
}
@media(max-width:1000px){.history-filter-fields{grid-template-columns:1fr 1fr}.history-filter-actions{grid-column:1/-1;justify-content:flex-end}}
@media(max-width:480px){.history-filters{padding:16px}.history-filter-fields{grid-template-columns:1fr}.history-filter-heading{gap:4px}.history-filter-actions>*{flex:1}}

/* Importes más visibles en las barras de Hoy e Historial. */
@media(min-width:1152px){
  .today-indicators .day-indicator strong{font-size:clamp(2.5rem,3vw,3.7rem);line-height:1.2}
  .today-indicators .cash-grand-total strong{font-size:clamp(3rem,3.8vw,4.8rem);line-height:1.2}
  .today-indicators .cash-breakdown dl>div dd{font-size:clamp(1.15rem,1.5vw,1.8rem)}
  .today-indicators .day-indicator{padding:26px 24px}
  .today-indicators .cash-grand-total{padding:26px 30px}
  .today-indicators .cash-breakdown{padding:24px}
}

.day-history .today-history-heading{display:block;padding:18px 22px}
.today-history-title{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}
.today-history-title p{margin:0}
.day-view-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-top:16px}
.day-type-filter{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.day-type-filter>span{font-size:.85rem;font-weight:800}
.day-type-filter button{border-radius:10px;padding:10px 16px;border:1px solid;font-size:.85rem;font-weight:800;min-height:42px}
.day-type-filter .view-expenses{color:#c73c30;background:#fdecea;border-color:#f2b5ae}
.day-type-filter .view-incomes{color:#087a50;background:#e3f7ee;border-color:#9bdbba}
.day-type-filter .view-expenses[aria-pressed=true]{background:#dc493e;color:white;border-color:#dc493e}
.day-type-filter .view-incomes[aria-pressed=true]{background:#0e9f6a;color:white;border-color:#0e9f6a}
.day-type-filter small{font-size:.7rem;color:var(--ink-2);margin-left:3px}
.day-record-counts{display:flex;gap:10px}
.day-record-counts>div{display:flex;align-items:center;gap:10px;border-radius:10px;padding:10px 14px;min-width:112px}
.day-record-counts strong{font-family:var(--f-brand);font-size:2.1rem;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}
.day-record-counts span{font-size:.74rem;font-weight:800}
.record-count-income{background:#e3f7ee;color:#087a50}
.record-count-expense{background:#fdecea;color:#c73c30}
.record-count-total{background:#e2f5fc;color:#087fad}
.day-filter-empty{padding:30px 16px;text-align:center;color:var(--ink-2);font-size:.9rem}
@media(max-width:700px){.day-history .today-history-heading{padding:16px}.day-view-toolbar{gap:14px}.day-record-counts{width:100%;gap:7px}.day-record-counts>div{flex:1;min-width:0;flex-direction:column;gap:5px;padding:12px 6px}.day-record-counts strong{font-size:2rem}.day-record-counts span{font-size:.68rem}}

/* Cantidades de registros integradas en el resumen superior. */
.today-indicators{grid-template-columns:1fr 1fr .75fr 2.4fr}
.indicator-record-count{display:flex;align-items:center;gap:8px;margin-top:14px;padding-top:10px;border-top:1px solid currentColor}
.indicator-record-count b{font-family:var(--f-brand);font-size:1.6rem;font-weight:800;line-height:1}
.indicator-record-count span{font-size:.7rem;font-weight:700;line-height:1.3}
.day-count-indicator{background:#e2f5fc;color:#087fad;text-align:center;align-items:center}
.day-count-indicator strong{font-size:3.5rem!important}
@media(min-width:1152px){
  .today-indicators .day-indicator{padding:24px 20px}
  .today-indicators .day-indicator strong{font-size:clamp(2rem,2.7vw,3.7rem)}
  .today-indicators .day-count-indicator strong{font-size:clamp(3rem,4.5vw,5.4rem)!important}
  .today-indicators .cash-grand-total strong{font-size:clamp(2.6rem,3.3vw,4.8rem)}
}
@media(max-width:1151px){.today-indicators{grid-template-columns:repeat(2,minmax(0,1fr))}.day-count-indicator,.today-indicators .cash-indicator{grid-column:1/-1}.day-count-indicator{padding:14px 20px;flex-direction:row;gap:18px;justify-content:center}.day-count-indicator strong{margin:0;font-size:2.7rem!important}.day-count-indicator p{margin:0}}
@media(max-width:480px){.indicator-record-count{gap:5px}.indicator-record-count b{font-size:1.4rem}.indicator-record-count span{font-size:.65rem}.day-count-indicator{gap:12px}}

/* Cabecera de hoy en una sola línea, como en la referencia. */
.day-history .today-history-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 22px;flex-wrap:wrap}
.today-history-heading .day-view-toolbar{margin-top:0;flex-shrink:0}
.day-type-filter small{display:inline-block;flex:0 0 86px;width:86px;white-space:nowrap}
@media(max-width:700px){.day-history .today-history-heading{padding:14px 16px;gap:12px}.today-history-title{gap:6px 14px}}

.day-movement .movement-datetime{margin:5px 0;color:var(--ink-2);font-size:.78rem;font-weight:700;font-variant-numeric:tabular-nums}

/* Registro de cambios: vista gráfica agrupada por movimiento con desplegable y filtros. */
.audit-module{display:grid;gap:18px;min-width:0}
.audit-page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.audit-counter-badge{display:flex;align-items:center;gap:10px;background:var(--brand-soft);color:var(--brand);padding:10px 18px;border-radius:999px;border:1px solid #bfe3f0}
.audit-counter-badge strong{font-family:var(--f-brand);font-size:1.6rem;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}
.audit-counter-badge span{font-size:.8rem;font-weight:800}
.audit-results .day-history-list{max-height:none;padding:16px;display:grid;gap:14px}
.audit-movement-card{border:1px solid var(--col);border-radius:16px;background:#fff;overflow:hidden;transition:box-shadow .18s ease}
.audit-movement-card.movement-income{border-color:#9bdbba;border-left:6px solid var(--in);background:#fcfffd}
.audit-movement-card.movement-expense{border-color:#f2b5ae;border-left:6px solid var(--out);background:#fffdfc}
.audit-movement-card.movement-withdrawal{border-color:#cbd5e1;border-left:6px solid #788da7;background:#fbfcfe}
.audit-movement-card[open]{box-shadow:var(--shadow)}
.audit-movement-summary{list-style:none;cursor:pointer;padding:16px 20px;display:grid;grid-template-columns:minmax(0,1.4fr) auto minmax(210px,.9fr);gap:16px 20px;align-items:center}
.audit-movement-summary::-webkit-details-marker{display:none}
.audit-movement-summary:hover{background:rgb(10 143 194 / .03)}
.audit-summary-main{min-width:0}
.audit-guide-pill{font-size:.82rem;font-weight:800;color:var(--brand);background:var(--brand-soft);padding:3px 10px;border-radius:999px}
.audit-guide-pill strong{font-size:.95rem}
.audit-status-cancelled{font-size:.72rem;font-weight:800;color:#fff;background:var(--out);padding:3px 9px;border-radius:999px}
.audit-summary-title{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-top:8px}
.audit-summary-title h3{font-size:1.05rem;font-weight:800;color:var(--ink);margin:0}
.audit-service-tag,.audit-person-tag{font-size:.78rem;color:var(--ink-2)}
.audit-summary-comment{font-size:.82rem;color:var(--ink-2);margin-top:6px;background:#f8fbfd;border:1px solid var(--col);border-radius:8px;padding:6px 10px;display:inline-block;max-width:100%;overflow-wrap:anywhere}
.audit-summary-payments{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.audit-summary-payments .movement-amount{font-family:var(--f-brand);font-size:1.45rem;line-height:1.1}
.audit-summary-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;text-align:right}
.audit-changes-pill{background:linear-gradient(135deg,var(--brand-2),var(--brand));color:#fff;font-weight:800;font-size:.78rem;padding:4px 12px;border-radius:999px;box-shadow:0 3px 8px rgb(10 143 194 / .22)}
.audit-last-info{font-size:.75rem;color:var(--ink-2)}
.audit-expand-hint{font-size:.75rem;font-weight:800;color:var(--brand);margin-top:2px}
.audit-movement-card[open] .audit-expand-hint{color:var(--ink-2)}
.audit-timeline{border-top:1px solid var(--col);background:#f4f9fc;padding:16px 20px;display:grid;gap:12px}
.audit-change-card{border-radius:14px;box-shadow:0 2px 8px rgb(18 48 71 / .04)}
.audit-change-header-left{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.audit-action-badge{font-size:.76rem;font-weight:800;padding:4px 11px;border-radius:999px;text-transform:uppercase;letter-spacing:.04em}
.audit-action-badge.is-edit{background:var(--brand-soft);color:var(--brand)}
.audit-action-badge.is-cancel{background:var(--out-soft);color:var(--out)}
.audit-diff-table-wrap{overflow-x:auto;margin-top:4px}
.audit-diff-table{background:#fff;border:1px solid var(--col);border-radius:10px;overflow:hidden}
.audit-diff-table th{background:#f8fbfd;padding:8px 12px;font-size:.72rem;color:var(--ink-2)}
.audit-diff-table td{padding:9px 12px;font-size:.88rem;vertical-align:middle}
.audit-diff-table tr:last-child td{border-bottom:0}
.audit-diff-table td.a{text-decoration:none}
.audit-diff-table .h-old{display:inline-block;padding:2px 8px;border-radius:6px;font-weight:700}
.audit-diff-table .h-new{display:inline-block;padding:2px 8px;border-radius:6px;font-weight:800}
.audit-no-diff{font-size:.82rem;color:var(--ink-2)}
@media(min-width:1152px){
  .wrap:has(.audit-module){max-width:none}
  .audit-page-heading{width:100%}
}
@media(max-width:900px){
  .audit-movement-summary{grid-template-columns:1fr;gap:12px}
  .audit-summary-payments,.audit-summary-meta{align-items:flex-start;text-align:left}
  .audit-summary-payments{flex-direction:row;justify-content:space-between;width:100%;align-items:center;padding-top:8px;border-top:1px dashed var(--col)}
}
/* Caja y ahorro: fondos separados y registro compacto. */
.treasury-module{display:grid;gap:20px}.treasury-indicators{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.treasury-indicators strong{font-size:clamp(1.8rem,2.5vw,3rem)}.treasury-savings{background:#f1e7ff;color:#7c23ba}.treasury-method{padding:7px 10px;border-radius:9px;font-weight:800!important}.treasury-layout{display:grid;grid-template-columns:380px minmax(0,1fr);gap:20px;align-items:start}.treasury-registration{padding:24px}.treasury-registration form{display:grid;gap:14px}.treasury-registration h2{margin-bottom:16px}.treasury-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.treasury-choices button{padding:12px 7px;border-radius:12px;border:2px solid #c5dce5;font-weight:800;background:white;color:var(--ink)}.treasury-choices button[aria-pressed=true]{background:var(--brand);border-color:var(--brand);color:white}.treasury-choices button:nth-child(2)[aria-pressed=true]{background:#8c31cb;border-color:#8c31cb}.treasury-choices button:nth-child(3)[aria-pressed=true]{background:#e28221;border-color:#e28221}.treasury-help{min-height:62px;font-size:.88rem;color:var(--ink-2)}.treasury-amounts{display:grid;grid-template-columns:1fr 1fr;gap:12px}.treasury-amounts label{padding:12px;border-radius:12px;font-weight:800}.treasury-amounts input,.treasury-registration textarea,.treasury-filters input,.treasury-filters select{display:block;width:100%;min-width:0;padding:10px;border:1px solid #b1cddd;border-radius:9px;background:white;color:var(--ink);font:inherit}.treasury-filters{padding:16px;display:flex;gap:10px;align-items:end;flex-wrap:wrap}.treasury-filters label{flex:1;min-width:120px;font-size:.8rem;font-weight:700}.treasury-analysis{padding:20px}.treasury-analysis p{color:var(--ink-2);font-size:.88rem;margin:8px 0 14px}.treasury-analysis-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.treasury-analysis-grid div{display:grid;gap:6px}.treasury-analysis-grid strong{font-size:1.6rem;color:var(--brand)}.treasury-analysis-grid small{color:var(--ink-2)}.treasury-module .movement-withdrawal{border:1px solid #a9bfd0;border-left:6px solid #6d89a3}.treasury-module .day-movement:has(.movement-type){background:white}.treasury-module .day-movement[data-kind=Ahorro]{border-color:#a45ddd;border-left:6px solid #a45ddd}.treasury-module .day-movement[data-kind="Uso de ahorro"]{border-color:#eea45e;border-left:6px solid #eea45e}.wrap:has(.treasury-module){max-width:none}@media(max-width:1100px){.treasury-indicators{grid-template-columns:repeat(2,minmax(0,1fr))}.treasury-layout{grid-template-columns:1fr}.treasury-analysis-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.treasury-indicators{grid-template-columns:1fr}.treasury-registration{padding:16px}}
.treasury-module .method-cash{background:#dcfce7;color:#008749}.treasury-module .method-yape{background:#f3e8ff;color:#8b12e8}.treasury-registration h2,.treasury-analysis h2{font-family:var(--f-brand);font-weight:800;font-size:1.4rem}
/* Gestión de usuarios. */
.users-module{display:grid;gap:20px}.users-module .page-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.users-layout{display:grid;grid-template-columns:380px minmax(0,1fr);gap:22px;align-items:start}.user-registration{padding:26px}.user-registration h2{font-family:var(--f-brand);font-weight:800;font-size:1.5rem}.user-registration>p{font-size:.85rem;color:var(--ink-2);margin:6px 0 20px}.user-registration form{display:grid;gap:16px}.user-field{display:grid;gap:7px}.user-field label{font-weight:800;font-size:.85rem}.user-field input,.user-field select{width:100%;min-width:0;border:1px solid #b4cfdf;border-radius:10px;padding:12px;background:white;color:var(--ink);font:inherit}.user-field input:focus,.user-field select:focus{outline:2px solid var(--brand);outline-offset:2px}.user-field small{font-size:.78rem;color:var(--ink-2)}.user-field .errorlist,.user-registration .errorlist,.user-database-error{color:#b42318;font-size:.85rem}.user-database-error{padding:16px;border:1px solid #f3b7ae;border-radius:12px;background:#fff1ef}.users-table{width:100%;border-collapse:collapse;text-align:left}.users-table th{background:#f1f8fc;color:var(--ink-2);font-size:.8rem;padding:16px}.users-table td{padding:18px 16px;border-top:1px solid var(--col);overflow-wrap:anywhere}.user-status{display:inline-block;padding:5px 12px;border-radius:99px;background:#eef1f5;color:#64748b;font-size:.8rem;font-weight:800}.user-status.is-active{background:#dcfce7;color:#008749}.wrap:has(.users-module){max-width:none}@media(max-width:900px){.users-layout{grid-template-columns:1fr}.user-registration{padding:20px}}@media(max-width:480px){.users-table td,.users-table th{padding:12px 8px;font-size:.78rem}}

/* Shared header and navigation across all modules. */
.wrap{max-width:none}
.wrap>.top,.wrap>.viewbar{width:100%;max-width:none;margin-inline:0}
.login-card{width:min(100%,420px);margin:50px auto;padding:30px;display:grid;gap:18px}.login-card h1{font-family:var(--f-brand);font-size:1.8rem;font-weight:800}.login-card>p{color:var(--ink-2)}.login-card form{display:grid;gap:20px}.top-r form{margin:0}.treasury-indicators:has(>article:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}.treasury-choices:has(>button:only-child){grid-template-columns:1fr}.attribute-value:disabled{cursor:default}@media(max-width:480px){.login-card{margin:20px auto;padding:22px}.treasury-indicators:has(>article:nth-child(2):last-child){grid-template-columns:1fr}}
.user-edit-dialog{border:1px solid var(--col);border-radius:24px;padding:28px;width:min(640px,calc(100% - 32px));max-height:90dvh;overflow-y:auto;color:var(--ink);background:#fff;box-shadow:0 24px 70px rgb(18 48 71 / .25);margin:auto}.user-edit-dialog::backdrop{background:rgb(18 48 71 / .45)}.user-modal-heading{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:22px}.user-modal-heading h2{font-family:var(--f-brand);font-size:1.6rem;font-weight:800}.user-modal-heading p,.user-modal-note{color:var(--ink-2);font-size:.82rem;margin-top:5px}.user-modal-close{border:0;border-radius:50%;background:#eef6fa;width:34px;height:34px;font-size:1.5rem;line-height:1}.user-modal-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}.user-edit-form{display:grid;gap:20px}.user-modal-actions{display:flex;justify-content:flex-end;gap:10px}.user-modal-actions button{min-height:42px}.user-edit-button{color:var(--brand);border-color:#a7dceb}.user-edit-form button:disabled{opacity:.6;cursor:wait}@media(max-width:540px){.user-modal-fields{grid-template-columns:1fr}.user-edit-dialog{padding:22px}}
