:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#102a43;background:#eef4f7}*{box-sizing:border-box}body{margin:0}.topbar{height:72px;display:flex;justify-content:space-between;align-items:center;max-width:1180px;margin:auto;padding:0 28px}.topbar-brand{color:#102a43;text-decoration:none;font-weight:800;letter-spacing:.12em}.topbar-brand span,.eyebrow{color:#1b8a6b}.login-cta,.primary{border:0;border-radius:8px;background:#147d64;color:#fff;font:inherit;font-weight:750;padding:13px 18px;cursor:pointer}.login-cta{background:#243b53}.shell{min-height:calc(100vh - 72px);display:grid;grid-template-columns:1fr minmax(340px,520px);gap:72px;align-items:center;max-width:1180px;margin:auto;padding:36px 28px}.intro h1{font-size:clamp(2.5rem,5vw,4.5rem);line-height:1.04}.lead,.pilot{color:#486581}.steps{display:grid;gap:12px;margin:34px 0}.steps span:before{content:"✓";color:#087f5b;margin-right:9px}.card{background:#fff;border-radius:20px;padding:36px;box-shadow:0 22px 65px #334e681c}.eyebrow{margin:0;font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.card h2{font-size:1.9rem;margin:.4rem 0 1.5rem}.card form{display:grid;gap:14px}label{display:grid;gap:6px;font-size:.88rem;font-weight:650}input,select{width:100%;padding:12px;border:1px solid #bcccdc;border-radius:8px;background:#fff;font:inherit}.grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.link-button{border:0;background:none;color:#147d64;font:inherit;font-weight:700;padding:14px 0;cursor:pointer}.message{min-height:1.4em;margin:18px 0 0;color:#b42318;font-weight:600}.message.ok{color:#087f5b}
body:has(#dashboard-view:not([hidden])){background:#090e16}.topbar:has(~.shell #dashboard-view:not([hidden])),.intro:has(~.card #dashboard-view:not([hidden])){display:none}.shell:has(#dashboard-view:not([hidden])){display:block;max-width:none;min-height:100vh;padding:0}.card:has(#dashboard-view:not([hidden])){border-radius:0;padding:0;box-shadow:none;background:transparent}.card:has(#dashboard-view:not([hidden]))>.message{position:fixed;z-index:10;bottom:18px;right:22px;background:#fff;padding:10px 14px;border-radius:8px;box-shadow:0 6px 20px #0004}.app-shell{display:flex;min-height:100vh;background:#090e16;color:#e8eff8}.sidebar{width:236px;flex:0 0 236px;background:#050a11;border-right:1px solid #263241;padding:22px 12px;display:flex;flex-direction:column}.app-brand{display:flex;gap:7px;align-items:center;padding:14px 15px;color:#fff;text-decoration:none;letter-spacing:.12em;background:linear-gradient(135deg,#133b85,#1f6ded);border-radius:12px}.app-brand span{color:#91c7ff}.profile{margin:20px 0;padding:14px;border:1px solid #2a3543;border-radius:10px;background:#101720}.profile strong,.profile span{display:block}.profile span{margin-top:4px;font-size:.75rem;color:#7de2a0;text-transform:uppercase}.sidebar nav{display:grid;gap:7px}.nav-item{border:0;border-radius:8px;background:transparent;padding:12px 14px;text-align:left;color:#c7d0dd;font:inherit;font-weight:650;cursor:pointer}.nav-item.active,.nav-item:hover{background:#1f6ded;color:#fff}.logout{margin-top:auto;border:0;border-radius:8px;background:#e83b3b;color:#fff;padding:12px;font:inherit;font-weight:700;cursor:pointer}.app-main{width:100%;max-width:1450px;padding:28px 34px 54px}.app-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.app-header h2{margin:.25rem 0;color:#fff;font-size:1.7rem}.app-header>div>span{font-size:.9rem;color:#91a3ba}.session-badge{display:flex;align-items:center;gap:8px;padding:9px 13px;border:1px solid #2b3a4c;border-radius:8px;background:#121a25;color:#b8c6d8;font-size:.84rem}.session-badge i{width:8px;height:8px;border-radius:50%;background:#e6a900}.cash-card{display:grid;gap:5px;padding:24px 28px;border-radius:14px;background:linear-gradient(100deg,#1746ad,#2676ed);box-shadow:0 14px 30px #0003}.cash-card span{font-size:.76rem;font-weight:800;letter-spacing:.14em}.cash-card strong{font-size:clamp(2rem,4vw,3.1rem)}.cash-card small{color:#d9e9ff}.jornada-card,.operations-layout{margin-top:18px;border:1px solid #2a3543;border-radius:12px;padding:20px;background:#111923}.jornada-card{display:flex;align-items:center;justify-content:space-between;gap:20px}.jornada-card h3,.operations-layout h3{margin:.35rem 0;color:#fff}.jornada-card p{margin:.35rem 0;color:#9baec3}.open-form{display:flex!important;align-items:center;grid-template-columns:none!important;gap:8px!important}.open-form select,.open-form input,.operation-form input,.operation-form select{min-width:140px;background:#0c131d;color:#e8eff8;border-color:#344456}.jornada-live{display:grid;gap:5px;color:#a8b9cb}.jornada-live strong{color:#4ce079}.operations-heading{display:flex;justify-content:space-between;align-items:start}.status-pill{padding:6px 10px;border-radius:999px;background:#4a3b13;color:#f7c94b;font-size:.76rem;font-weight:800}.status-pill.open{background:#143e25;color:#6bea92}.quick-actions{display:flex;flex-wrap:wrap;gap:9px;margin:20px 0}.quick-actions button{border:1px solid #354252;border-radius:8px;padding:11px 14px;background:#202a36;color:#eff5fc;font:inherit;font-weight:700;cursor:pointer}.quick-actions button:hover{border-color:#4e92ff;background:#253c60}.operation-form{grid-template-columns:1.2fr .7fr 1.5fr auto;align-items:end}.recent{margin-top:24px;padding-top:18px;border-top:1px solid #2a3543;color:#fff}.recent-list{display:grid;gap:8px;margin-top:10px}.recent-list>span{font-size:.9rem;color:#9baec3}.transaction-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #263241}.transaction-row span{display:block;margin-top:3px;font-size:.78rem;color:#90a1b6}.income{color:#4ce079}.expense{color:#ff7171}@media(max-width:850px){.sidebar{width:68px;flex-basis:68px;padding:12px 8px}.app-brand{font-size:0;padding:14px 8px;justify-content:center}.app-brand b{font-size:1rem}.profile,.nav-item span{display:none}.nav-item{text-align:center;padding:12px 5px}.app-main{padding:22px 18px}.jornada-card{align-items:stretch;flex-direction:column}.operation-form{grid-template-columns:1fr 1fr}.operation-form label:last-of-type{grid-column:span 2}}@media(max-width:600px){.shell{grid-template-columns:1fr;gap:20px;padding:24px 18px}.card{padding:26px}.grid{grid-template-columns:1fr}.app-main{padding:18px 12px}.app-header h2{font-size:1.3rem}.open-form{display:grid!important;grid-template-columns:1fr 1fr!important}.open-form .primary{grid-column:span 2}.operation-form{grid-template-columns:1fr}.operation-form label:last-of-type{grid-column:auto}.cash-card{padding:21px}.quick-actions{display:grid;grid-template-columns:1fr 1fr}}
.bank-cards,.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:18px 0}.bank-card,.summary-grid article{border:1px solid #2d3b4d;border-radius:12px;background:#111923;color:#eef5ff;padding:18px;text-align:left}.bank-card{display:grid;gap:7px;cursor:pointer}.bank-card strong{font-size:1rem}.bank-card b,.summary-grid strong{font-size:1.45rem}.bank-card span,.bank-card small,.summary-grid span,.summary-grid small{color:#91a3ba}.bank-card:hover{border-color:#4e92ff;transform:translateY(-1px)}.bank-card.frozen,.admin-row.frozen,.summary-grid .frozen{border-color:#b55a36;background:#281914}.bank-card.frozen{cursor:not-allowed;opacity:.85}.adjustment-alerts{position:sticky;top:12px;z-index:5;margin:16px 0}.adjustment-alerts article{display:grid;gap:7px;padding:16px;border:1px solid #df9d34;border-radius:12px;background:#2a200f;color:#fff}.adjustment-alerts article div{display:flex;gap:8px}.adjustment-alerts button,.admin-row button{border:1px solid #4d6075;border-radius:7px;background:#1d2a3a;color:#fff;padding:8px 11px}.bank-dialog{width:min(620px,92vw);border:1px solid #38506b;border-radius:16px;background:#0d1520;color:#edf5ff;padding:28px}.bank-dialog::backdrop{background:#02050acc}.dialog-close{float:right;border:0;background:transparent;color:#fff;font-size:1.8rem}.modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.modal-actions button{padding:15px;border:1px solid #355278;border-radius:9px;background:#17263a;color:#fff;font-weight:700}.bank-dialog input{width:100%;margin:8px 0 14px;background:#09111b;color:#fff}.bank-dialog small{color:#91a3ba}#cashier-bank-checks{display:grid;gap:6px;border:1px solid #d7e0eb;border-radius:8px;padding:10px}#cashier-bank-checks label{display:flex;gap:7px;align-items:center}
.bank-card{position:relative;overflow:hidden;min-height:168px;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.bank-card header{display:flex;justify-content:space-between;align-items:center;min-height:31px}.bank-card header img{max-width:112px;max-height:31px;object-fit:contain;object-position:left center;background:#fff;border-radius:5px;padding:3px}.bank-card:before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:#4e92ff}.bank-card.banreservas:before{background:linear-gradient(90deg,#005ca9,#26a9e0,#f07c26)}.bank-card.bhd:before{background:#1c8a59}.bank-card.popular:before{background:#00509b}.bank-card.adopem:before{background:linear-gradient(90deg,#0b5fa5,#f08b28)}.bank-card .state-chip{padding:4px 7px;border-radius:999px;background:#1f2b39;color:#bcd0e3;font-weight:800;font-size:.64rem;letter-spacing:.05em}.bank-card .card-updated{margin-top:auto;font-size:.68rem;color:#6f849c}.bank-card.frozen .state-chip{background:#63321d;color:#ffc49d}.cash-card #cash-updated{font-size:.72rem;color:#c5dcff}.live-monitor{display:grid;grid-template-columns:1fr 1.4fr 2fr;gap:14px;margin:16px 0;padding:16px;border:1px solid #2d3b4d;border-radius:12px;background:#0d1520;color:#eef5ff}.live-monitor>div{display:grid;align-content:start;gap:8px}.realtime-status{display:inline-flex;width:max-content;padding:7px 10px;border-radius:999px;background:#243140;color:#b8cbe0;font-weight:800;font-size:.78rem}.realtime-status.live{background:#143e25;color:#75e99a}.realtime-status.stale{background:#4a3015;color:#ffd18a}.realtime-status.unstable{background:#453a19;color:#f4d56e}.realtime-status.inactive{background:#2b3037;color:#c3cad1}.live-session{font-size:.78rem;color:#aabbd0}.live-session.stale{color:#ffc37e}.live-activity{display:grid;gap:6px}.live-activity>div{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid #253343;font-size:.75rem}.live-activity span{color:#9fb1c5}.live-activity b{font-weight:700;color:#eaf2fb}@media(max-width:900px){.live-monitor{grid-template-columns:1fr}.bank-card header img{max-width:100px}}
.authenticated-app>.topbar,.authenticated-app>body,.authenticated-app>section,.authenticated-app>footer{display:none!important}.authenticated-app main.shell>.intro{display:none!important}.authenticated-app main.shell{display:block!important;max-width:none!important;width:100%!important;min-height:100vh!important;padding:0!important}.authenticated-app main.shell>.card{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;border-radius:0!important}.authenticated-app .app-main{max-width:none!important;width:calc(100vw - 236px)!important;padding:26px 32px 50px!important}.authenticated-app .admin-layout{width:100%;max-width:none}.authenticated-app .admin-grid{grid-template-columns:repeat(3,minmax(260px,1fr))}.authenticated-app .admin-lists{grid-template-columns:repeat(3,minmax(0,1fr))}.authenticated-app .admin-row{min-height:58px}.authenticated-app input,.authenticated-app select,.authenticated-app button{min-height:42px}.authenticated-app .admin-layout h3{font-size:24px}.authenticated-app .admin-layout p,.authenticated-app .admin-row{font-size:14px}@media(max-width:900px){.authenticated-app .app-main{width:calc(100vw - 68px)!important;padding:18px!important}.authenticated-app .admin-grid,.authenticated-app .admin-lists{grid-template-columns:1fr}}
/* Acceso público: solo Administrador u Operador; la cajera permanece detrás del gate. */
.access-choice{max-width:620px;margin:auto;text-align:center;padding:2rem 0}.access-choice-actions{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:2rem 0}.access-choice-actions button{min-height:64px;font-weight:800}.shift-row>div{width:100%}.admin-row>div:last-child{display:flex;gap:.4rem;flex-wrap:wrap}
.financial-summary{display:grid;grid-template-columns:minmax(250px,1.35fr) minmax(190px,.8fr) minmax(260px,1.15fr);gap:16px;margin:0 0 16px}.cash-card,.tips-card,.availability-card{height:142px;padding:18px 20px;border:1px solid #2d3b4d;border-radius:12px;background:#111923;color:#eef5ff;box-shadow:none}.cash-card{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr auto;align-items:end}.cash-card>span,.tips-card>span,.availability-card>span{font-size:.72rem;font-weight:850;letter-spacing:.12em}.cash-card>strong{grid-column:1/-1;font-size:clamp(2rem,3vw,2.65rem);line-height:1}.cash-card small{font-size:.72rem;color:#91a3ba}.tips-card{display:grid;align-content:space-between;border-color:#725d22;background:linear-gradient(135deg,#151a1d,#242014)}.tips-card strong{font-size:1.45rem;color:#f6d47d}.tips-card small{font-size:.72rem;color:#c9b77f}.availability-card{display:grid;align-content:space-between;border-color:#187d68;background:linear-gradient(135deg,#102a2b,#13221e)}.availability-card strong{font-size:clamp(1.65rem,2.4vw,2.3rem);line-height:1;color:#7de2c2;white-space:nowrap}.availability-card small{font-size:.7rem;color:#a7c9bf}.availability-card #net-availability-detail{line-height:1.25;color:#82aaa0}.bank-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0}.bank-card{min-width:0;height:208px;display:grid;grid-template-rows:30px auto 1fr auto;gap:7px;padding:16px 17px;border:1px solid #2d3b4d;border-radius:12px;background:#111923!important;color:#eef5ff;text-align:left;box-shadow:none}.bank-card:before{height:3px}.bank-card header{min-width:0}.bank-card header img{max-width:108px;max-height:32px;padding:0!important;background:transparent!important;border-radius:0!important}.bank-wordmark{font-size:.86rem;font-weight:900;letter-spacing:.08em;color:#70a9df}.state-chip{height:23px;padding:4px 8px!important;font-size:.64rem!important}.bank-name{font-size:.92rem!important;line-height:1.2}.bank-primary{display:grid;align-content:center;gap:3px}.bank-primary span,.bank-secondary span{font-size:.7rem;color:#91a3ba}.bank-primary b{font-size:1.55rem!important;line-height:1.05;white-space:nowrap}.bank-secondary{display:grid;grid-template-columns:auto 1fr;gap:2px 8px;align-items:baseline;font-size:.72rem}.bank-secondary strong{font-size:.78rem}.bank-secondary small{grid-column:1/-1;font-size:.67rem;color:#91a3ba}.card-updated{font-size:.67rem!important}.bank-card.bhd:before{background:#cf5b5b}.bank-card.adopem:before{background:#4a94c8}.bank-card.frozen{background:#111923!important;border-color:#b55a36}.bank-card.frozen .state-chip{background:#63321d;color:#ffc49d}@media(max-width:1180px){.financial-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.availability-card{grid-column:span 2}.bank-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.financial-summary{grid-template-columns:1fr}.availability-card{grid-column:auto}.bank-cards{grid-template-columns:1fr}.cash-card,.tips-card,.availability-card{height:136px}}
.jornada-card[hidden],.operations-layout[hidden],#open-jornada-form[hidden],#jornada-open[hidden]{display:none!important}
.bank-card header>div{display:flex;align-items:center;gap:6px}.bank-shortcut{display:inline-grid;place-items:center;min-width:38px;height:25px;padding:0 6px;border:1px solid #526173;border-radius:6px;background:#0a111a;box-shadow:inset 0 1px #ffffff19,0 1px 2px #0008;color:#e8f1fb;font:700 .72rem ui-monospace,monospace}
.bank-config-rows{display:grid;gap:7px;margin:12px 0}.bank-config-row{display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:10px;padding:10px 12px;border:1px solid #2d3b4d;border-radius:8px;background:#111923;color:#eef5ff}.bank-config-row input{width:17px;height:17px}.bank-config-row small{font-size:.68rem;font-weight:800;color:#75e99a}.bank-config-pending{display:block;min-height:18px;color:#f6d47d;font-weight:700}
.admin-action-form{display:grid;gap:12px;max-width:760px}.admin-action-form>label{color:#c9d6e5}.admin-action-form input,.admin-action-form select{background:#0c131d;color:#eef5ff;border-color:#344456}.action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-action-form button{justify-self:end}@media(max-width:640px){.action-grid{grid-template-columns:1fr}.admin-action-form button{justify-self:stretch}}
.bank-config-name{display:flex;align-items:center;gap:10px}.bank-config-name img{width:86px;height:26px;object-fit:contain;object-position:left center}.bank-config-name .bank-wordmark{width:86px;font-size:.7rem}
@media(max-width:640px){.access-choice-actions{grid-template-columns:1fr}}

/* Historial administrativo: separa acción, trazabilidad e importe. */
#admin-movements .admin-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.85rem 0;
  border-bottom: 1px solid rgba(148, 163, 184, 0.18);
}
#admin-movements .admin-row > div { min-width: 0; }
#admin-movements .admin-row > div > b,
#admin-movements .admin-row > div > span { display: block; }
#admin-movements .admin-row > div > span {
  margin-top: 0.4rem;
  line-height: 1.6;
  overflow-wrap: anywhere;
}
#admin-movements .admin-row > b { white-space: nowrap; }

.admin-bank-card.bhd{background:#111923!important;color:#eef5ff}.admin-bank-card.bhd strong,.admin-bank-card.bhd .bank-name{color:#fff!important}
#bank-config{display:none!important}.bank-status-actions{flex-wrap:wrap;justify-content:flex-end}.bank-status-actions button:disabled{cursor:not-allowed;opacity:.48}.admin-bank-card.adopem header img,.bank-status-title img[src*="adopem"]{filter:brightness(1.35) contrast(1.05)}
/* BHD conserva la base oscura del tablero; su acento operativo es verde. */
.bank-card.bhd:before,.admin-bank-card.bhd:before,.bank-status-row.bhd:before{background:#1c8a59}.admin-bank-card.bhd:after{background:radial-gradient(circle,#1c8a5924,transparent 68%)}

/* Tablero ADMIN: grupos financieros distintos, con jerarquía estable. */
.admin-overview{gap:20px;margin:20px 0}.overview-heading{padding-bottom:2px}.section-title{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:10px}.section-title h5{margin:0;color:#eaf2fb;font-size:.82rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase}.section-title small{color:#8fa2b9;font-size:.72rem}.kpi-section,.bank-balance-section{display:grid;gap:10px}.admin-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.admin-kpis article{position:relative;display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto auto;min-height:142px;gap:4px 10px;overflow:hidden;padding:17px;border:1px solid #2b3a4c;border-radius:13px;background:linear-gradient(145deg,#141f2d,#0e1621)}.admin-kpis article:before{position:absolute;top:0;right:0;left:0;height:3px;background:#4e92ff;content:''}.admin-kpis article.cash:before{background:#42b883}.admin-kpis article.attention:before{background:#d9a54a}.admin-kpis i{grid-row:1/3;display:grid;place-items:center;width:30px;height:30px;border:1px solid #38506b;border-radius:9px;background:#1a2b3d;color:#9fc9ff;font-size:.9rem;font-style:normal;font-weight:900}.admin-kpis .cash i{color:#8ce6ba}.admin-kpis .attention i{color:#ffd47b}.admin-kpis span{overflow:visible;align-self:end;color:#94a8bf;font-size:.68rem;font-weight:850;letter-spacing:.07em;line-height:1.2;text-overflow:clip;white-space:normal}.admin-kpis strong{grid-column:1/-1;overflow:visible;margin:6px 0 0;color:#f5f9ff;font-size:clamp(1.18rem,1.7vw,1.58rem);letter-spacing:-.035em;line-height:1.08;text-overflow:clip;white-space:nowrap}.admin-kpis small{grid-column:1/-1;color:#8195ad;font-size:.69rem}.admin-bank-overview{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.admin-bank-card{grid-template-rows:30px auto 1fr auto;min-height:174px;gap:8px;padding:17px 18px;border-color:#2e4054;background:linear-gradient(145deg,#141f2d,#0e1621)}.admin-bank-card:after{position:absolute;right:-24px;bottom:-28px;width:90px;height:90px;border-radius:50%;background:radial-gradient(circle,#4e92ff20,transparent 68%);content:'';pointer-events:none}.admin-bank-card.banreservas:after{background:radial-gradient(circle,#26a9e025,transparent 68%)}.admin-bank-card.bhd:after{background:radial-gradient(circle,#cf5b5b1d,transparent 68%)}.admin-bank-card.popular:after{background:radial-gradient(circle,#287cc526,transparent 68%)}.admin-bank-card.adopem:after{background:radial-gradient(circle,#4a94c829,transparent 68%)}.admin-bank-card header img{width:auto;max-width:118px;height:26px;object-fit:contain;object-position:left center}.admin-bank-card .state-chip{flex:0 0 auto;white-space:nowrap}.admin-bank-card .bank-name{overflow:visible;color:#e8f0fa;font-size:.9rem;line-height:1.25;text-overflow:clip;white-space:normal}.admin-bank-card strong{overflow:visible;align-self:end;color:#fff;font-size:clamp(1.28rem,1.9vw,1.7rem);letter-spacing:-.04em;line-height:1.05;text-overflow:clip;white-space:nowrap}.admin-bank-card small{position:relative;z-index:1;overflow-wrap:anywhere}.admin-move#tip-admin{margin:0 0 20px;padding:15px 18px;border:1px solid #40371c;border-radius:12px;background:linear-gradient(135deg,#151a1d,#201e15)}#tip-admin h4{margin:.18rem 0 .5rem;color:#f6d47d}.empty-state{display:block;padding:5px 0;color:#cbbd8d;font-size:.83rem}#cashier-bank-checks{display:grid;gap:8px;margin:4px 0 12px;padding:12px;border-color:#35495f;background:#0e1722;color:#e8f0fa}#cashier-bank-checks legend{padding:0 5px;color:#eaf2fb;font-size:.78rem;font-weight:850}#cashier-bank-checks>small{color:#93a6bd;font-size:.7rem;line-height:1.35}.cashier-bank-permission{display:flex!important;align-items:center;justify-content:space-between;gap:12px;padding:8px 9px;border:1px solid #2d3b4d;border-radius:8px;background:#121d29}.cashier-bank-permission>span{display:flex;align-items:center;gap:8px;min-width:0}.cashier-bank-permission img{width:72px;height:20px;object-fit:contain;object-position:left center}.cashier-bank-permission b{font-size:.77rem}.cashier-bank-permission input{width:18px;height:18px;accent-color:#38b982}.cashier-bank-permission.adopem img{filter:brightness(1.35) contrast(1.05)}@media(max-width:1180px){.admin-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-bank-overview{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.section-title{align-items:start;flex-direction:column;gap:3px}.admin-kpis,.admin-bank-overview{grid-template-columns:1fr}.admin-kpis article{min-height:126px}.admin-bank-card{min-height:160px}}

/* Regla final BHD: ningún componente operativo usa fondo rojo; solo acento verde. */
:where(.bank-card,.admin-bank-card,.bank-status-row,#cashier-bank-checks .cashier-bank-permission).bhd{background:#111923!important;color:#eef5ff!important}
:where(.bank-card,.admin-bank-card,.bank-status-row,#cashier-bank-checks .cashier-bank-permission).bhd:before{background:#1c8a59!important}
/* Permisos de cajera: una sola familia visual; BHD usa identidad únicamente como acento. */
.bank-status-row.bhd:before,.admin-bank-card.bhd:before{background:#1c8a59!important}
.terminal-status{margin:.2rem 0 1rem;color:#8fa2b9;font-size:.88rem;line-height:1.4}
#cashier-bank-checks{display:grid;gap:8px;padding:14px;border:1px solid #2d3b4d;border-radius:11px;background:#0d1520;color:#e8eff8}
#cashier-bank-checks legend{padding:0 4px;color:#f3f7fc;font-size:.84rem;font-weight:850;letter-spacing:.02em}
#cashier-bank-checks>small{margin:0 4px 3px;color:#8fa2b9;font-size:.72rem;line-height:1.35}
#cashier-bank-checks .cashier-bank-permission{min-height:52px;padding:10px 12px;border:1px solid #2d3b4d;border-radius:9px;background:#111923!important;color:#eef5ff}
#cashier-bank-checks .cashier-bank-permission.bhd{border-color:#2e5c4a;background:#111923!important}
#cashier-bank-checks .cashier-bank-permission.bhd:before{width:3px;height:28px;border-radius:3px;background:#1c8a59;content:''}
#cashier-bank-checks .cashier-bank-permission img{width:82px;height:24px;background:transparent;object-fit:contain;object-position:left center}
#cashier-bank-checks .cashier-bank-permission input{width:38px;height:22px;margin:0;appearance:none;border:1px solid #506174;border-radius:999px;background:#172432;cursor:pointer;transition:background .16s ease,border-color .16s ease}
#cashier-bank-checks .cashier-bank-permission input:checked{border-color:#38b982;background:#1c8a59}
#cashier-bank-checks .cashier-bank-permission input:checked:after{display:block;width:16px;height:16px;margin:2px 2px 2px auto;border-radius:50%;background:#fff;content:''}

/* Administración: una vista de supervisión compacta, no una segunda caja. */
.admin-layout>header{padding:4px 0 8px}.admin-layout>header h3{letter-spacing:-.03em}.section-kicker{margin:0;color:#73a7ed;font-size:.68rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.section-help{margin:.35rem 0 1rem!important;color:#93a6bd!important;line-height:1.45}.admin-overview{display:grid;gap:14px;margin:18px 0 22px}.overview-heading{display:flex;align-items:end;justify-content:space-between;gap:16px}.overview-heading h4{margin:.18rem 0 0;color:#f4f8ff;font-size:1.12rem}.overview-heading small{color:#91a3ba;font-size:.75rem}.admin-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.admin-kpis article{min-width:0;padding:15px;border:1px solid #2b3a4c;border-radius:12px;background:#111923}.admin-kpis span{display:block;overflow:hidden;color:#91a3ba;font-size:.68rem;font-weight:800;letter-spacing:.06em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.admin-kpis strong{display:block;overflow:hidden;margin-top:8px;color:#f0f6ff;font-size:clamp(1.05rem,1.75vw,1.45rem);line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.admin-kpis .attention{border-color:#825c28;background:#211b13}.admin-kpis .attention strong{color:#ffd47b}.admin-bank-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.admin-bank-card{position:relative;display:grid;min-width:0;min-height:142px;gap:7px;overflow:hidden;padding:15px;border:1px solid #2b3a4c;border-radius:12px;background:#111923}.admin-bank-card:before{position:absolute;top:0;right:0;left:0;height:3px;background:#4e92ff;content:''}.admin-bank-card.banreservas:before{background:linear-gradient(90deg,#005ca9,#26a9e0,#f07c26)}.admin-bank-card.bhd:before{background:#cf5b5b}.admin-bank-card.popular:before{background:#00509b}.admin-bank-card.adopem:before{background:#4a94c8}.admin-bank-card header{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.admin-bank-card header img{width:86px;max-height:25px;object-fit:contain;object-position:left center}.admin-bank-card .bank-name{overflow:hidden;color:#dce8f6;font-size:.83rem;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.admin-bank-card strong{overflow:hidden;color:#fff;font-size:1.22rem;letter-spacing:-.025em;text-overflow:ellipsis;white-space:nowrap}.admin-bank-card small{color:#8fa2b9;font-size:.69rem}.admin-bank-card.frozen{border-color:#a65d37;background:#241a16}.device-card,.sessions-card,.guided-actions{background:linear-gradient(145deg,#121c29,#0e1621)!important}.device-card form{margin-top:.6rem}.bank-status-row{align-items:center!important}.bank-status-title,.bank-status-actions{display:flex;align-items:center;gap:12px;min-width:0}.bank-status-title img{width:86px;height:25px;object-fit:contain;object-position:left center}.bank-status-title span{display:grid;min-width:0;gap:2px}.bank-status-title span b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bank-status-title small{color:#91a3ba;font-size:.7rem}.bank-status-actions{margin-left:auto}.bank-status-actions>b{white-space:nowrap;color:#dbeafe;font-size:.85rem}.bank-status-row:before{width:3px;height:34px;border-radius:3px;background:#4e92ff;content:''}.bank-status-row.banreservas:before{background:#26a9e0}.bank-status-row.bhd:before{background:#cf5b5b}.bank-status-row.popular:before{background:#00509b}.bank-status-row.adopem:before{background:#4a94c8}.guided-actions{margin-top:18px!important}.guided-actions h4{margin:.22rem 0}.bank-config-row{grid-template-columns:22px minmax(0,1fr) auto!important}.bank-config-row:hover{border-color:#527298;background:#142131}.bank-config-row small{white-space:nowrap}.admin-layout #admin-banks{display:grid;gap:0}.admin-layout #admin-banks .admin-row{padding:11px 0}@media(max-width:1180px){.admin-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-bank-overview{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.overview-heading{align-items:start;flex-direction:column}.admin-kpis,.admin-bank-overview{grid-template-columns:1fr}.bank-status-row{align-items:flex-start!important}.bank-status-actions{align-items:end;flex-direction:column}.bank-status-actions button{width:100%}}

.bank-dialog .modal-actions button.selected{background:#0e6b4d!important;border:2px solid #7ff0bd!important;color:#fff!important;box-shadow:0 0 0 2px rgba(127,240,189,.22)}

#system-update{margin-left:auto;border:1px solid #0a9b70;border-radius:8px;background:#063f35;color:#fff;padding:9px 13px;font-weight:700;cursor:pointer;font-size:.8rem}

#system-update{position:fixed;left:14px;bottom:18px;z-index:9999;max-width:245px}
#system-update[hidden]{display:none}
#system-update.update-ready{background:#12b76a;border-color:#b9f7d2;color:#062b20;box-shadow:0 0 0 3px rgba(18,183,106,.22),0 0 22px rgba(18,183,106,.75);animation:update-pulse 1.4s ease-in-out infinite}
@keyframes update-pulse{50%{box-shadow:0 0 0 6px rgba(18,183,106,.08),0 0 30px rgba(18,183,106,.9);transform:translateY(-1px)}}

/* build sync marker */

/* Evidence is a focused application mode on phones and desktops. */
body.evidence-mode,body.evidence-mode main.shell>.card{background:#f4f8fb!important;color:#19344a}
#evidence-view{box-sizing:border-box;max-width:560px;min-height:100vh;margin:0 auto;padding:32px 22px}
#evidence-view h2{color:#123249;font-size:28px}
#evidence-view p{line-height:1.6}
#evidence-form{display:grid;gap:20px;margin:24px 0}
#evidence-form label{display:grid;gap:8px;color:#244255}
#evidence-form input,#evidence-form select{box-sizing:border-box;width:100%;min-width:0;max-width:100%;padding:12px;background:white;color:#163448;border:1px solid #b9cbd6;border-radius:10px}
#evidence-list p{padding:12px;border:1px solid #cbdbe5;border-radius:10px;background:#fff;overflow-wrap:anywhere}
#evidence-logout{width:100%;margin-top:20px}
.close-window{margin:0 0 10px;border:1px solid #6f5260;border-radius:8px;background:#241923;color:#f5dfe5;padding:10px;font:inherit;cursor:pointer}.close-window:hover{background:#3a202b}@media(max-width:850px){.close-window span{display:none}.close-window{padding:12px 5px}}
.admin-bank-card,.admin-kpis button.cash{font:inherit;text-align:left;cursor:pointer}.admin-bank-card:hover,.admin-bank-card:focus-visible,.admin-kpis button.cash:hover,.admin-kpis button.cash:focus-visible{border-color:#73a7ed;outline:2px solid #73a7ed;outline-offset:2px}.admin-bank-card.draft,.admin-kpis button.cash.draft{border-color:#d9a54a;background:#2a2518}.admin-kpis button.cash{border:1px solid #2b3a4c;border-radius:12px;background:#111923;color:#eef5ff}.admin-kpis button.cash i{font-style:normal}#apply-balance-drafts{margin-left:10px;padding:8px 11px;border:1px solid #4e92ff;border-radius:8px;background:#183c64;color:#fff;font-weight:800;cursor:pointer}#apply-balance-drafts:disabled{opacity:.45;cursor:not-allowed}
.balance-edit-dialog{width:min(420px,92vw);border:1px solid #4e7098;border-radius:14px;background:#101b28;color:#edf5ff;padding:24px}.balance-edit-dialog::backdrop{background:#02050acc}.balance-edit-dialog form{display:grid;gap:12px}.balance-edit-dialog h3{margin:0}.balance-edit-dialog p{margin:0;color:#b8c9dc}.balance-edit-dialog input{background:#08131e;color:#fff;border:1px solid #4e7098;padding:11px}.balance-edit-dialog .modal-actions{margin:4px 0 0}
.bank-tag{display:inline-grid;place-items:center;min-width:30px;padding:2px 5px;border:1px solid #4d6e92;border-radius:5px;background:#142b43;color:#b9dcff;font:800 .68rem ui-monospace,monospace;letter-spacing:.04em;vertical-align:middle}
.floating-calculator{height:auto!important;min-height:0!important;max-height:calc(100vh - 48px);overflow:auto;align-self:start}.floating-calculator>#calculator-body{height:auto!important;min-height:0!important;display:block}
.adjustment-alerts:not([hidden]){position:fixed;z-index:3000;inset:0;margin:0;padding:24px;display:grid;place-items:center;background:#02050ab8}.adjustment-alerts:not([hidden]) article{width:min(620px,100%);padding:28px;border:2px solid #f0ba48;border-radius:16px;background:#201708;box-shadow:0 18px 60px #000;gap:14px}.adjustment-alerts:not([hidden]) article>b{font-size:1.05rem}.adjustment-alerts:not([hidden]) article strong{font-size:1.25rem}.adjustment-alerts:not([hidden]) article button{min-height:48px;font-weight:850;cursor:pointer}
.opening-match{color:#4ce079!important;font-weight:700}.opening-shortage{color:#ff7171!important;font-weight:700}.opening-surplus{color:#ffd36c!important;font-weight:700}.quick-actions button:focus-visible{outline:3px solid #84b7ff;outline-offset:2px}.quick-actions button[data-operation="PROPINA"]{cursor:pointer;border-color:#8f73ff;background:#30265a}.quick-actions button[data-operation="PROPINA"]:hover,.quick-actions button[data-operation="PROPINA"]:focus-visible{background:#45378a}.transaction-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:end;margin:10px 0}.transaction-filters label{gap:3px;color:#b7c7d9}.transaction-filters select,.transaction-filters button{padding:7px 9px;border-radius:7px;background:#152435;color:#fff;border:1px solid #3a526c}.transaction-filters button{cursor:pointer}
.opening-cash{display:grid;gap:12px;min-width:280px}.opening-reference,.opening-total{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:12px 14px;border-radius:10px;background:#172435;color:#dce8f4}.opening-reference span,.opening-total span{font-size:.8rem}.opening-reference strong,.opening-total strong{font-size:1.05rem;color:#fff}.opening-total{flex-wrap:wrap}.opening-total>#opening-difference{width:100%;color:#a8c7e5}.opening-actions{display:flex;gap:8px}.denomination-panel{background:#14202e;border:1px solid #314961;border-radius:10px;padding:12px}.denomination-panel header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.denomination-rows{display:grid;grid-template-columns:repeat(2,minmax(250px,1fr));gap:7px}.denomination-row{display:grid;grid-template-columns:72px 66px 1fr 96px;gap:7px;align-items:center;font-size:.82rem}.denomination-row input{margin:0;padding:8px}.denomination-row strong{text-align:right}.floating-calculator{position:fixed;z-index:1000;right:24px;bottom:24px;width:270px;background:#102133;color:#f5fbff;border:1px solid #4d7895;border-radius:12px;box-shadow:0 16px 42px #0008}.floating-calculator header{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;cursor:move;background:#173952;border-radius:12px 12px 0 0}.floating-calculator header button{min-width:28px;padding:2px 7px}.floating-calculator output{display:block;margin:12px;padding:14px;background:#08131e;border-radius:7px;text-align:right;font-size:1.45rem;overflow:auto}.calculator-keys{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;padding:0 12px 12px}.calculator-keys button{padding:10px;background:#234967;color:#fff}.floating-calculator>#calculator-body>button{margin:0 12px 12px;width:calc(100% - 24px)}
.close-jornada-nav{margin:0 0 10px;border:1px solid #c78748;border-radius:8px;background:#352014;color:#ffe2bb;padding:10px;font:inherit;font-weight:750;text-align:left;cursor:pointer}.close-jornada-nav:hover,.close-jornada-nav:focus-visible{background:#4a2b18;outline:2px solid #f1ad5d;outline-offset:2px}.close-jornada-dialog{width:min(460px,92vw);border:1px solid #c78748;border-radius:16px;background:#101923;color:#edf5ff;padding:26px}.close-jornada-dialog::backdrop{background:#02050acc}.close-jornada-dialog form{display:grid;gap:14px}.close-jornada-dialog h3,.close-jornada-dialog p{margin:0}.close-jornada-dialog p:not(.eyebrow){color:#adbed0;line-height:1.45}.close-jornada-dialog input{background:#09111b;color:#fff;border-color:#4e7098}.close-jornada-dialog .modal-actions{margin:4px 0 0}.close-jornada-dialog .modal-actions button{cursor:pointer}@media(max-width:850px){.close-jornada-nav span{display:none}.close-jornada-nav{padding:12px 5px;text-align:center}}
.close-bank-counts{display:grid;gap:9px;padding:13px;border:1px solid #40566d;border-radius:10px;background:#0b141e}.close-bank-counts header{display:grid;gap:3px}.close-bank-counts header small,.close-bank-counts label small{color:#9bb0c8;font-size:.74rem}.close-bank-counts label{grid-template-columns:1fr minmax(120px,.65fr);align-items:end;column-gap:10px}.close-bank-counts label small{grid-column:1}.close-bank-counts label input{grid-column:2;grid-row:1/3;margin:0}
.voucher-bank{display:grid;gap:8px;padding:10px 0;border-top:1px solid #40566d}.voucher-metrics{display:grid;gap:6px}.voucher-metrics>div{display:grid;grid-template-columns:1fr 82px 120px;gap:6px;align-items:center}.voucher-metrics input{margin:0!important;padding:8px!important}.voucher-metrics b{font-size:.78rem}
.voucher-bank{border-left:4px solid #4e92ff!important;padding:13px!important;background:#101b28}.voucher-bank.banreservas{border-left-color:#f07c26!important}.voucher-bank.bhd{border-left-color:#1c8a59!important}.voucher-bank.popular{border-left-color:#2c70c9!important}.voucher-bank-heading{display:flex!important;align-items:center;gap:10px;margin-bottom:4px}.voucher-bank-heading img{width:116px;max-height:34px;object-fit:contain;object-position:left;background:#fff;border-radius:5px;padding:3px}.voucher-bank-heading strong{font-size:.92rem;color:#fff}
.voucher-bank.bhd{background:#101b28!important;color:#edf5ff!important}.voucher-bank.bhd:before{display:none!important}.voucher-bank.bhd .voucher-bank-heading{background:transparent!important}
.close-jornada-dialog{width:min(1120px,96vw)!important;max-height:92vh;overflow:auto}.close-jornada-dialog form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.close-jornada-dialog form>.dialog-close,.close-jornada-dialog form>.eyebrow,.close-jornada-dialog form>h3,.close-jornada-dialog form>p{grid-column:1/-1}.close-jornada-dialog form>label{grid-column:span 1}.close-jornada-dialog form>.modal-actions{grid-column:1/-1;justify-self:end;width:min(420px,100%)}.close-bank-counts{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.close-bank-counts>header{grid-column:1/-1}.voucher-bank{min-width:0;height:100%;align-content:start}.voucher-metrics>div{grid-template-columns:minmax(100px,1fr) 72px 104px}@media(max-width:760px){.close-jornada-dialog form,.close-bank-counts{grid-template-columns:1fr}.close-jornada-dialog form>label{grid-column:auto}.close-bank-counts>header{grid-column:auto}.close-jornada-dialog{width:min(96vw,540px)!important}}
.close-cash-breakdown-dialog{width:min(620px,94vw);border:1px solid #4e7098;border-radius:16px;background:#101923;color:#edf5ff;padding:24px}.close-cash-breakdown-dialog::backdrop{background:#02050acc}.close-cash-breakdown-dialog form{display:grid;gap:12px}.close-cash-breakdown-dialog h3{margin:0}
.close-cash-breakdown-dialog .denomination-rows{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.close-cash-breakdown-dialog .denomination-row{grid-template-columns:88px 72px 1fr;padding:10px 12px;border:1px solid #527092;border-radius:9px;background:#17283a;color:#fff}.close-cash-breakdown-dialog .denomination-row span{font-weight:900;color:#f7d57d;font-size:.92rem}.close-cash-breakdown-dialog .denomination-row strong{color:#dcecff;font-size:.84rem}.close-cash-breakdown-dialog .denomination-row input{background:#fff!important;color:#102a43!important;border:2px solid #93b8df!important;font-weight:800}.close-cash-breakdown-dialog .opening-total{background:#1b2d47;border:1px solid #527092}.close-cash-breakdown-dialog .opening-total strong{font-size:1.2rem;color:#fff}
.open-jornada-nav{margin:0 0 10px;border:1px solid #218a70;border-radius:8px;background:#123b33;color:#d8fff3;padding:10px;font:inherit;font-weight:750;text-align:left;cursor:pointer}.open-jornada-dialog{width:min(920px,96vw);max-height:92vh;border:1px solid #218a70;border-radius:16px;background:#101923;color:#edf5ff;padding:26px;overflow:auto}.open-jornada-dialog::backdrop{background:#02050acc}.open-jornada-dialog #open-jornada-form{display:grid!important;gap:16px}.open-jornada-dialog .opening-cash,.open-jornada-dialog .opening-banks{min-width:0}.open-jornada-dialog .primary{justify-self:end}

.opening-cashier-choice{display:grid;grid-template-columns:1fr auto;gap:5px 14px;align-items:center;margin:16px 0 4px;padding:14px;border:1px solid #355278;border-radius:10px;background:#0c1623}.opening-cashier-choice span,.opening-cashier-choice small{color:#a9bbce}.opening-cashier-choice strong{color:#fff;font-size:1.05rem}.opening-cashier-choice small{grid-column:1/-1;font-size:.82rem}.opening-cashier-choice button{grid-row:1/3;grid-column:2;border:1px solid #5a789e;border-radius:8px;background:#172b42;color:#eaf4ff;padding:10px 13px;font:inherit;font-weight:700;cursor:pointer}.opening-cashier-choice button:hover,.opening-cashier-choice button:focus-visible{border-color:#7ff0bd;background:#164238;outline:2px solid #7ff0bd;outline-offset:2px}@media(max-width:560px){.opening-cashier-choice{grid-template-columns:1fr}.opening-cashier-choice button{grid-row:auto;grid-column:auto;width:100%}}

.bank-card.disabled-bank{filter:grayscale(1);opacity:.58;background:#202631;border-color:#4b5563}.bank-card.disabled-bank .state-chip{background:#3d4652;color:#e4e9ef}.bank-secondary.alerta{padding:5px 7px;border:1px solid #a56f23;border-radius:7px;background:#2a2114;color:#ffd276}.bank-secondary.alerta strong{color:#ffd276}.bank-secondary.critico{padding:5px 7px;border:1px solid #a74747;border-radius:7px;background:#30191b;color:#ff9f9f}.bank-secondary.critico strong{color:#ff9f9f}


/* Acceso de cajera: etiquetas de credenciales siempre legibles sobre el panel oscuro. */
#cashier-view #cashier-login-form{gap:16px}
#cashier-view #cashier-login-form>label{gap:8px;color:#effff9;font-size:.96rem;font-weight:850;letter-spacing:.01em;text-shadow:0 1px 1px #002d27}
#cashier-view #cashier-login-form input,#cashier-view #cashier-login-form select{min-height:46px;border:1px solid #7ad8c0;background:#063d36;color:#fff;font-weight:700;box-shadow:inset 0 0 0 1px #001f1a}
#cashier-view #cashier-login-form input::placeholder{color:#cbece2;opacity:1}
#cashier-view #cashier-login-form>label:focus-within{color:#fff7d2}
#cashier-view #cashier-login-form>label:focus-within input,#cashier-view #cashier-login-form>label:focus-within select{border-color:#ffe08a;outline:3px solid rgba(255,224,138,.3);outline-offset:1px}


/* Apertura: los nombres y referencias bancarias deben leerse sobre el fondo oscuro. */
.open-jornada-dialog .opening-banks{display:grid;gap:12px}
.open-jornada-dialog .opening-bank{display:grid;gap:7px;padding:14px;border:1px solid #426481;border-radius:10px;background:#13253a;color:#f4f9ff;font-size:.92rem;font-weight:750}
.open-jornada-dialog .opening-bank strong{color:#fff;font-size:1.04rem;letter-spacing:.01em}
.open-jornada-dialog .opening-bank span{color:#c5e1ff;font-size:.88rem;font-weight:700}
.open-jornada-dialog .opening-bank small{color:#d6e9fa;font-size:.82rem}
.open-jornada-dialog .opening-bank input{border:2px solid #8ebbe1;background:#fff;color:#102a43;font-weight:800}


/* Operación bancaria: conteo opcional para validar efectivo sin alterar el movimiento. */
.bank-dialog{width:min(740px,94vw)!important}.bank-dialog-identity{display:flex;align-items:center;gap:12px;margin:4px 0 12px}.bank-dialog-identity h2{margin:0}.bank-dialog-identity img{width:112px;max-height:34px;object-fit:contain;object-position:left center}.bank-operation-actions{margin:12px 0}.bank-money-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.bank-money-fields label{color:#edf6ff;font-weight:850}.bank-money-fields input{margin:5px 0 0!important;min-height:48px;border:2px solid #6e9bc6!important;background:#07121d!important;color:#fff!important;font-size:1.08rem;font-weight:850}.bank-cash-feedback{min-height:22px;margin:9px 0;color:#b9cbe0;font-size:.88rem;font-weight:750}.bank-cash-feedback.exact{color:#76e7a0}.bank-cash-feedback.difference{color:#ff8e8e}.bank-breakdown-option{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid #38506b;border-radius:9px;background:#111d2b}.bank-breakdown-option label{display:flex;align-items:center;gap:8px;color:#edf6ff;cursor:pointer}.bank-breakdown-option input{width:18px;height:18px;margin:0;accent-color:#18a77c}.bank-breakdown-option button,.bank-breakdown-panel button{border:1px solid #4f759c;border-radius:8px;background:#172b42;color:#eef7ff;padding:9px 12px;font:inherit;font-weight:750;cursor:pointer}.bank-breakdown-panel{margin-top:10px;padding:13px;border:1px solid #426481;border-radius:10px;background:#0b1723}.bank-breakdown-panel>header{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px;color:#dcecff}.bank-breakdown-panel>header b{color:#7de2c2}.bank-denomination-row{display:grid;grid-template-columns:100px 34px 70px 34px 1fr;align-items:center;gap:7px;padding:5px 0;border-bottom:1px solid #24394d;color:#eef6ff}.bank-denomination-row:last-child{border-bottom:0}.bank-denomination-row input{width:100%;min-height:34px!important;margin:0!important;padding:5px!important;text-align:center}.bank-denomination-row button{min-height:32px;border:0;border-radius:6px;background:#263546;color:#fff;font-weight:900;cursor:pointer}.bank-denomination-row button:last-of-type{color:#8cf0b7}.bank-denomination-row strong{text-align:right;color:#c6d7e9;font-size:.82rem}.bank-breakdown-panel>#apply-bank-breakdown{margin-top:12px;width:100%;border-color:#198b6d;background:#0d5e4c}@media(max-width:600px){.bank-money-fields{grid-template-columns:1fr}.bank-denomination-row{grid-template-columns:82px 32px 58px 32px 1fr;font-size:.8rem}.bank-breakdown-option{align-items:stretch;flex-direction:column}.bank-breakdown-option button{width:100%}}


/* Movimientos recientes: cada importe ocupa la misma columna central. */
.transaction-row{display:grid!important;grid-template-columns:minmax(220px,1fr) minmax(170px,.55fr) 104px;align-items:center;gap:18px;padding:12px 0!important}.transaction-detail{min-width:0}.transaction-detail>strong{display:block}.transaction-amount{justify-self:center;min-width:150px;text-align:center;font-variant-numeric:tabular-nums}.transaction-action{display:flex;justify-content:flex-end;min-height:42px}.transaction-action button{width:100%;border:1px solid #516b87;border-radius:7px;background:#f5f7fa;color:#172333;font-weight:800;cursor:pointer}@media(max-width:700px){.transaction-row{grid-template-columns:1fr auto;gap:8px 12px}.transaction-amount{justify-self:end;min-width:0;text-align:right}.transaction-action{grid-column:1/-1}.transaction-action button{width:auto;padding:8px 12px}}
/* El logo bancario se presenta una sola vez, con soporte claro para conservar su legibilidad. */
.bank-dialog-identity #dialog-bank-logo{display:flex;align-items:center;min-height:42px;padding:5px 10px;border:1px solid #c4d6e6;border-radius:7px;background:#f7fbff}.bank-dialog-identity #dialog-bank-logo img{display:block;width:126px;max-height:30px;filter:none}.bank-dialog-identity #dialog-bank-logo b{color:#153f70}.bank-dialog-identity h2[hidden]{display:none}

.transaction-amount.withdrawal{color:#75baff;text-shadow:0 1px 10px rgba(82,151,231,.18)}

#expense-source-wrap select{background:#10253a;color:#eef7ff;border-color:#4d749a}#expense-source-wrap:not([hidden]){animation:expense-source-in .16s ease-out}@keyframes expense-source-in{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}
.operation-form:has(#expense-source-wrap:not([hidden])){grid-template-columns:1.05fr 1fr .7fr 1.35fr auto}
#expense-source-wrap[hidden]{display:none}
.close-cash-breakdown-dialog .denomination-rows{grid-template-rows:repeat(5,auto);grid-auto-flow:column}
.closure-history{margin-top:18px}.closure-history>p{margin-top:0;color:#aac0d5}.closure-summary-dialog{width:min(900px,95vw);max-height:90vh;overflow:auto;border:1px solid #52769a;border-radius:16px;background:#101b28;color:#eff7ff;padding:26px}.closure-summary-dialog h3,.closure-summary-dialog h4{margin:4px 0 10px}.closure-summary-dialog>p:not(.eyebrow){color:#bdd0e2;font-size:.9rem}.closure-result{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:13px 15px;border-radius:10px;background:#19324c;border:1px solid #52769a}.closure-result b{font-size:1.08rem}.closure-result span{color:#d7e7f5;text-align:right}.closure-result.exact{border-color:#278c6f;background:#123a34}.closure-result.income{border-color:#a2832e;background:#3b3215}.closure-result.expense{border-color:#b55d63;background:#421f27}.closure-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.closure-summary-grid article{padding:12px;border:1px solid #365470;border-radius:9px;background:#17283a}.closure-summary-grid span{display:block;color:#b8cde0;font-size:.8rem}.closure-summary-grid strong{font-size:1.18rem}.closure-account-table{border:1px solid #365470;border-radius:9px;overflow:auto}.closure-account-table header,.closure-account-table p{display:grid;grid-template-columns:1.15fr repeat(4,1fr);gap:10px;min-width:700px;margin:0;padding:9px 12px}.closure-account-table header{background:#1d3148;color:#d5e6f6;font-weight:800;font-size:.78rem}.closure-account-table p{border-top:1px solid #29445c}.closure-account-table p span,.closure-account-table p strong{text-align:right}.closure-expense-list,.closure-issue-list{list-style:none;padding:0;margin:0;border:1px solid #365470;border-radius:9px;overflow:hidden}.closure-expense-list li,.closure-issue-list li{display:flex;justify-content:space-between;gap:14px;padding:10px 12px;border-top:1px solid #29445c}.closure-expense-list li:first-child,.closure-issue-list li:first-child{border-top:0}.closure-expense-list span{display:grid;gap:3px}.closure-expense-list small,.closure-expense-list em{color:#b8cde0;font-size:.82rem}.closure-expense-list strong{color:#ffb0b0;white-space:nowrap}@media(max-width:650px){.closure-summary-dialog{padding:18px}.closure-result{align-items:flex-start;flex-direction:column}.closure-result span{text-align:left}.closure-summary-grid{grid-template-columns:1fr}.closure-account-table header,.closure-account-table p{min-width:620px}.closure-history .admin-row>div:last-child{display:grid;gap:6px}}
.report-filters{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:16px 0}.report-filters label{display:grid;gap:5px}.report-cashier-picker{min-width:190px;padding:9px 12px;border:1px solid #426481;border-radius:8px;background:#132439}.report-cashier-picker summary{cursor:pointer;font-weight:750}.report-cashier-picker #report-cashiers{display:grid;gap:6px;margin-top:10px}.report-cashier-picker #report-cashiers label{display:block;color:#e8f2fb}
/* Teléfono: navegación visible y contenido a ancho completo. */
@media(max-width:640px){
  .authenticated-app .app-shell{display:block;min-height:100dvh}
  .authenticated-app .sidebar{position:sticky;top:0;z-index:50;width:100%;min-height:0;padding:8px 10px;display:flex;flex-direction:row;align-items:center;gap:8px;border-right:0;border-bottom:1px solid #263241;overflow-x:auto}
  .authenticated-app .app-brand{flex:0 0 auto;padding:10px 11px;font-size:.78rem;letter-spacing:.08em}
  .authenticated-app .app-brand b{font-size:.85rem}.authenticated-app .app-brand span{display:inline;font-size:.78rem}
  .authenticated-app .profile{display:none}.authenticated-app .sidebar nav{display:flex;flex:1;gap:5px;min-width:max-content}
  .authenticated-app .nav-item{display:grid;place-items:center;min-width:42px;min-height:40px;padding:8px;border-radius:8px;font-size:1rem}
  .authenticated-app .nav-item span{display:none}.authenticated-app .close-window,.authenticated-app .open-jornada-nav,.authenticated-app .close-jornada-nav,.authenticated-app .logout{flex:0 0 auto;margin:0;padding:9px 10px;min-height:40px}
  .authenticated-app .close-window span,.authenticated-app .open-jornada-nav span,.authenticated-app .close-jornada-nav span{display:none}
  .authenticated-app .logout{display:none}.authenticated-app .app-main{width:100%!important;padding:16px 14px 34px!important}
  .authenticated-app .app-header{align-items:flex-start;flex-direction:column;gap:12px;margin-bottom:16px}.authenticated-app .app-header h2{font-size:1.45rem;line-height:1.15}.authenticated-app .session-badge{width:100%;justify-content:center}
  .authenticated-app .financial-summary,.authenticated-app .bank-cards{gap:12px}.authenticated-app .cash-card,.authenticated-app .tips-card,.authenticated-app .availability-card{height:auto;min-height:122px;padding:17px}
  .authenticated-app .cash-card{grid-template-columns:1fr;grid-template-rows:auto auto auto}.authenticated-app .cash-card>strong{font-size:2.15rem}.authenticated-app .cash-card small{font-size:.72rem}.authenticated-app .availability-card strong{font-size:1.85rem;white-space:normal}
  .authenticated-app .admin-row{align-items:flex-start;flex-direction:column;gap:10px;padding:13px 0}.authenticated-app .admin-row>div:last-child{width:100%}.authenticated-app .admin-row button{flex:1}.authenticated-app .admin-row span{line-height:1.45;overflow-wrap:anywhere}
  .authenticated-app .report-filters,.authenticated-app .transaction-filters{display:grid;grid-template-columns:1fr 1fr;gap:9px}.authenticated-app .report-filters>*,.authenticated-app .transaction-filters>*{min-width:0}.authenticated-app .report-filters .report-cashier-picker{grid-column:1/-1}.authenticated-app .report-filters button,.authenticated-app .transaction-filters button{grid-column:span 1}
  .authenticated-app .jornada-card,.authenticated-app .operations-layout{padding:15px}.authenticated-app .quick-actions{grid-template-columns:1fr 1fr;gap:8px}.authenticated-app .quick-actions button{padding:10px 7px;font-size:.82rem}
}

.close-preview-dialog{width:min(680px,94vw);border:1px solid #52769a;border-radius:16px;background:#101b28;color:#eff7ff;padding:26px}.close-preview-dialog::backdrop{background:#02050acc}.close-preview-dialog h3,.close-preview-dialog p{margin:4px 0 10px}.close-preview-dialog>p:not(.eyebrow){color:#bdd0e2;line-height:1.45}.close-preview-accounts{display:grid;gap:8px;margin-top:14px}.close-preview-accounts p{display:flex;justify-content:space-between;gap:12px;margin:0;padding:10px 12px;border:1px solid #365470;border-radius:9px;background:#17283a}.close-preview-accounts small{display:block;color:#b8cde0}.close-preview-accounts strong{text-align:right}.close-preview-dialog .modal-actions{margin-bottom:0}

.live-activity-panel{min-width:0}.live-activity-heading{display:flex;align-items:start;justify-content:space-between;gap:10px}.live-monitor-filters{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.live-monitor-filters label{display:grid;gap:3px;color:#9fb1c5;font-size:.65rem;font-weight:800}.live-monitor-filters select{min-width:88px;height:30px;border:1px solid #38506b;border-radius:6px;background:#111d2b;color:#eaf2fb;padding:3px 6px;font:inherit}@media(max-width:900px){.live-activity-heading{align-items:stretch;flex-direction:column}.live-monitor-filters{justify-content:flex-start}.live-monitor-filters label{flex:1;min-width:105px}.live-monitor-filters select{width:100%}}

.closure-flow-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.closure-expense-list strong.income{color:#75e0b2}.closure-expense-list strong.expense{color:#ffb0b0}.closure-expense-list strong.tip,.tip{color:#f6d47d}@media(max-width:820px){.closure-flow-grid{grid-template-columns:repeat(3,1fr)}}

/* Arqueo de cierre: presentación visual; conserva los mismos campos y total aplicado. */
.close-cash-breakdown-dialog{width:min(960px,96vw);max-height:92vh;overflow:auto}.close-cash-breakdown-dialog form{gap:16px}.close-cash-summary{display:grid;grid-template-columns:1fr auto;gap:8px 16px;align-items:center;padding:16px 18px;border:1px solid #365470;border-radius:12px;background:linear-gradient(135deg,#17293c,#172435)}.close-cash-summary>span{color:#aec3d6;font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.close-cash-summary>strong{color:#58d6ae;font-size:1.65rem}.close-cash-summary>div{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px}.close-cash-summary button,.close-breakdown-actions button{padding:8px 11px;border:1px solid #4c6882;border-radius:7px;background:#172a3e;color:#edf6ff}.close-denomination-groups{display:grid;grid-template-columns:1.35fr 1fr;gap:16px}.close-denomination-groups>div{min-width:0}.close-denomination-groups>div>header{display:flex;align-items:center;gap:8px;margin:0 0 8px}.close-denomination-groups header strong{font-size:.8rem;letter-spacing:.06em;text-transform:uppercase}.close-denomination-groups header small{padding:3px 6px;border-radius:4px;background:#24384e;color:#bcd1e5;font-size:.63rem;text-transform:uppercase}.close-denomination-rows{grid-template-columns:1fr}.close-denomination-row{display:grid;grid-template-columns:110px 32px 52px 32px 1fr;gap:8px;align-items:center;min-height:47px;padding:7px 10px;border:1px solid #365470;border-radius:9px;background:#172638;color:#f3f8ff}.close-denomination-row>span{font-weight:800}.close-denomination-row button{height:28px;padding:0;border:1px solid #4c6680;border-radius:7px;background:#22364b;color:#edf6ff;font-size:1rem}.close-denomination-row input{height:30px;min-width:0;margin:0;padding:4px;text-align:center}.close-denomination-row strong{text-align:right;font-size:.86rem}.close-breakdown-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:2px}.close-breakdown-actions span{color:#aec3d6;font-size:.78rem}.close-cash-breakdown-dialog .modal-actions{margin:0}@media(max-width:700px){.close-cash-breakdown-dialog{padding:18px}.close-denomination-groups{grid-template-columns:1fr}.close-cash-summary>div{justify-content:stretch}.close-cash-summary button{flex:1}.close-breakdown-actions{align-items:stretch;flex-direction:column}.close-denomination-row{grid-template-columns:88px 30px 48px 30px 1fr;padding:7px}.close-denomination-row strong{font-size:.76rem}}

/* Organización del centro de control por tareas administrativas. */
.nav-item[hidden]{display:none!important}.staff-creator-panel{display:grid;gap:13px;max-width:760px}.staff-creator-panel>h4{margin:0}.staff-creator-panel>label{max-width:290px;color:#c9d6e5}.staff-creator-content>article{margin:0;padding:0;border:0;background:transparent}.staff-creator-content>article h4{margin:4px 0 12px}.staff-creator-content form{max-width:620px}.admin-layout[data-workspace="monitor"] #admin-live-monitor{margin-top:0}.admin-layout[data-workspace="supervised"] #admin-action-movement{margin-top:0}.admin-layout[data-workspace="personnel"] .admin-lists{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:760px){.admin-layout[data-workspace="personnel"] .admin-lists{grid-template-columns:1fr}}
#support-view,#support-setup-view{max-width:620px;margin:auto;padding:1.5rem 0}#support-view form,#support-setup-view form{display:grid;gap:16px}#support-view label,#support-setup-view label{display:grid;gap:7px;font-weight:750;color:#eaf5ff}#support-view input,#support-setup-view input,#support-setup-view select{min-height:46px;border:1px solid #4f7795;border-radius:8px;background:#10243a;color:#fff;padding:0 12px;font:inherit}#support-bank-checks{display:grid;gap:10px;border:1px solid #355b78;border-radius:10px;padding:14px}#support-bank-checks label{display:flex;align-items:center;gap:9px;padding:10px;background:#142b44;border-radius:7px}#support-bank-checks input{min-height:auto;width:18px;height:18px}

/* Panel móvil: jerarquía financiera y navegación al alcance del pulgar. */
@media(max-width:640px){
  .authenticated-app .app-shell{padding-bottom:76px}
  .authenticated-app .sidebar{position:fixed;right:0;bottom:0;left:0;top:auto;z-index:80;display:flex;width:100%;height:68px;padding:6px 8px calc(6px + env(safe-area-inset-bottom));gap:4px;border-top:1px solid #2d4155;border-bottom:0;background:#09131f;box-shadow:0 -10px 28px #0008;overflow:visible}
  .authenticated-app .app-brand,.authenticated-app .profile,.authenticated-app .close-window,.authenticated-app .logout,.authenticated-app .nav-group-label{display:none!important}
  .authenticated-app .sidebar nav{display:flex;order:2;flex:1;min-width:0;height:56px;gap:3px}
  .authenticated-app .sidebar nav .nav-item{display:grid;flex:1;min-width:0;min-height:56px;padding:5px 2px;border-radius:9px;color:#aebdce;font-size:1rem;line-height:1}
  .authenticated-app .sidebar nav .nav-item span{display:block;margin-top:3px;overflow:hidden;color:inherit;font-size:.58rem;font-weight:800;letter-spacing:.01em;line-height:1.05;text-overflow:ellipsis;white-space:nowrap}
  .authenticated-app .sidebar nav .nav-item.active{background:#173d70;color:#fff}
  .authenticated-app .sidebar nav .admin-nav:not([data-view="admin"]){display:none!important}
  .authenticated-app .open-jornada-nav,.authenticated-app .close-jornada-nav{display:grid;order:1;place-items:center;flex:1;min-width:0;min-height:56px;margin:0;padding:5px 2px;border-radius:9px;font-size:1rem;line-height:1}
  .authenticated-app .open-jornada-nav span,.authenticated-app .close-jornada-nav span{display:block;margin-top:3px;font-size:.58rem;font-weight:800;line-height:1.05}
  .authenticated-app .app-main{padding:13px 12px 20px!important}
  .authenticated-app .app-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;margin:0 2px 13px}
  .authenticated-app .app-header .eyebrow{font-size:.61rem;color:#75d8b7;letter-spacing:.11em}
  .authenticated-app .app-header h2{margin:2px 0 0;font-size:1.18rem;line-height:1.1}
  .authenticated-app #company-name{display:none}
  .authenticated-app .session-badge{grid-column:2;grid-row:1 / span 2;width:34px;height:34px;padding:0;place-content:center;border-radius:50%;background:#132536}
  .authenticated-app .session-badge i{width:10px;height:10px;box-shadow:0 0 0 4px #e6a90024}
  .authenticated-app .session-badge span{display:none}
  .authenticated-app .financial-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 10px}
  .authenticated-app .availability-card{order:-3;grid-column:1/-1;min-height:106px;padding:15px 16px;border-color:#2aa984;background:linear-gradient(135deg,#102d2d,#12221f)}
  .authenticated-app .availability-card strong{font-size:2rem;white-space:nowrap}
  .authenticated-app .availability-card #net-availability-detail{display:none}
  .authenticated-app .cash-card{order:-2;display:grid;min-height:82px;padding:12px 13px;grid-template-columns:1fr;grid-template-rows:auto 1fr;background:#121d29}
  .authenticated-app .tips-card{order:-1;min-height:82px;padding:12px 13px}
  .authenticated-app .cash-card>span,.authenticated-app .tips-card>span,.authenticated-app .availability-card>span{font-size:.59rem;letter-spacing:.075em;line-height:1.15}
  .authenticated-app .cash-card>strong{font-size:1.15rem;line-height:1.12}
  .authenticated-app .tips-card strong{font-size:1.15rem;line-height:1.12}
  .authenticated-app .cash-card small,.authenticated-app .tips-card small{display:none}
  .authenticated-app .bank-cards{display:grid;grid-template-columns:1fr;gap:7px;margin:0}
  .authenticated-app .bank-card{display:grid;grid-template-columns:76px minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:9px;row-gap:2px;height:64px;min-height:64px;padding:8px 10px;border-radius:9px}
  .authenticated-app .bank-card:before{width:3px;height:auto;right:auto;bottom:0}
  .authenticated-app .bank-card header{display:contents}
  .authenticated-app .bank-card header>img,.authenticated-app .bank-card header>.bank-wordmark{grid-column:1;grid-row:1 / span 2;align-self:center;width:72px;max-width:72px;max-height:26px}
  .authenticated-app .bank-card header>div{grid-column:2;grid-row:2;gap:0}.authenticated-app .bank-shortcut,.authenticated-app .bank-card .state-chip{font-size:.52rem!important;height:auto;padding:2px 5px!important}
  .authenticated-app .bank-name{grid-column:2;grid-row:1;align-self:end;font-size:.76rem!important;font-weight:800}
  .authenticated-app .bank-primary{grid-column:3;grid-row:1 / span 2;align-self:center;text-align:right}.authenticated-app .bank-primary span,.authenticated-app .bank-secondary,.authenticated-app .card-updated{display:none}
  .authenticated-app .bank-primary b{font-size:.98rem!important;letter-spacing:-.025em}
  .authenticated-app .bank-card.disabled-bank{opacity:.52}
}
/* La jornada es un flujo exclusivo de caja; nunca forma parte del tablero ADMIN. */
.authenticated-app.admin-session .jornada-card,
.authenticated-app.admin-session #open-jornada-nav,
.authenticated-app.admin-session #close-jornada-nav{display:none!important}
.authenticated-app.admin-session #operations-panel{display:none!important}

/* Vista administrativa del cuadre: las tres etapas se diferencian sin perder el detalle. */
.closure-reconciliation>p,.closure-vouchers>p{margin:0 0 10px;color:#b8cde0;font-size:.86rem}.closure-reconciliation>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.reconciliation-account{overflow:hidden;border:1px solid #365470;border-radius:12px;background:#101e2d}.reconciliation-account>header{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 12px;border-left:5px solid #6e8195;background:#15283b}.reconciliation-account>header span{font-size:.66rem;font-weight:850;color:#b8cde0;letter-spacing:.08em}.reconciliation-account>header b{font-size:.95rem}.reconciliation-account>div{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.reconciliation-account>div>span{display:grid;gap:5px;padding:11px 10px;font-size:.7rem;color:#c7d9ea}.reconciliation-account>div strong{font-size:.95rem;color:#f1f7ff}.reconciliation-account .opening-value{background:#20344b;border-top:3px solid #6782a0}.reconciliation-account .expected-value{background:#173a35;border-top:3px solid #27a57c}.reconciliation-account .actual-value{background:#3b321a;border-top:3px solid #d5a94b}.reconciliation-account>footer{display:flex;justify-content:space-between;gap:10px;padding:9px 12px;border-top:1px solid #29445c;color:#b8cde0;font-size:.77rem}.reconciliation-account>footer strong{color:#79e2b6}.reconciliation-account.shortage>header{border-left-color:#dc6570}.reconciliation-account.shortage>footer strong{color:#ffabb2}.reconciliation-account.surplus>header{border-left-color:#d9ae51}.reconciliation-account.surplus>footer strong{color:#f5d276}.closure-cash-breakdown>div{display:flex;flex-wrap:wrap;gap:8px;padding:12px;border:1px solid #365470;border-radius:10px;background:#142438}.closure-cash-breakdown span{display:flex;align-items:center;gap:7px;padding:7px 9px;border-radius:7px;background:#20344b;color:#c7d9ea;font-size:.78rem}.closure-cash-breakdown span strong{color:#f2f7fc}.closure-vouchers>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.voucher-reconciliation{overflow:hidden;border:1px solid #365470;border-radius:10px;background:#142438}.voucher-reconciliation h5{margin:0;padding:10px 12px;background:#1c3047;font-size:.9rem}.voucher-reconciliation p{display:grid;grid-template-columns:1fr 1.3fr 1.3fr auto;gap:8px;align-items:center;margin:0;padding:9px 12px;border-top:1px solid #29445c;font-size:.75rem}.voucher-reconciliation p span{color:#bfd1e2}.voucher-reconciliation p i{font-style:normal;font-weight:800}.voucher-reconciliation p.match i{color:#79e2b6}.voucher-reconciliation p.mismatch i{color:#f5d276}@media(max-width:760px){.closure-reconciliation>div,.closure-vouchers>div{grid-template-columns:1fr}.reconciliation-account>div strong{font-size:.82rem}.voucher-reconciliation p{grid-template-columns:1fr 1fr}.voucher-reconciliation p b{grid-column:1/-1}.voucher-reconciliation p i{grid-column:1/-1}}

/* Vista previa de cierre: permanece segura, pero puede reubicarse y minimizarse. */
.close-preview-dialog{position:fixed;inset:auto;width:min(680px,94vw);max-height:88vh;overflow:auto}.preview-float-header{display:flex;justify-content:space-between;gap:12px;align-items:start;margin:-4px -4px 10px;padding:4px;cursor:move;user-select:none}.preview-float-header .eyebrow{margin:0}.preview-float-header h3{margin:4px 0}.preview-float-header>div:last-child{display:flex;gap:6px}.preview-float-header button{width:32px;height:32px;padding:0;border:1px solid #52769a;border-radius:7px;background:#17283a;color:#eff7ff;font:inherit;font-weight:800;cursor:pointer}.close-preview-dialog.minimized{width:min(390px,92vw);max-height:none;overflow:hidden;padding:14px 18px}.close-preview-dialog.minimized>.preview-float-copy,.close-preview-dialog.minimized>#close-preview-result,.close-preview-dialog.minimized>#close-preview-accounts,.close-preview-dialog.minimized>.modal-actions{display:none}.close-preview-dialog.minimized .preview-float-header{margin:0}.close-preview-dialog.minimized .preview-float-header h3{font-size:.95rem}@media(max-width:560px){.close-preview-dialog{width:calc(100vw - 20px)}.preview-float-header{cursor:default}}


/* Configuración del destinatario para los cierres automáticos. */
.report-email-settings {
  border: 1px solid rgba(30, 181, 149, .38);
  background: linear-gradient(135deg, rgba(12, 64, 73, .48), rgba(18, 31, 50, .95));
}
.report-email-settings h4 { color: #e9fffb; }
.report-email-settings p, .report-email-settings small { color: #bbd6d8; }
.report-email-settings form { display: grid; gap: .7rem; max-width: 620px; }
.report-email-settings label { display: grid; gap: .35rem; color: #dcf5ef; font-weight: 700; }
.report-email-settings input { width: 100%; }
.report-email-settings .primary { justify-self: start; }
@media (max-width: 640px) {
  .report-email-settings .primary { width: 100%; }
}


/* Asistente de conocimiento aprobado: disponible en la web y dentro del sistema. */
.assistant-toggle { position:fixed; right:1.35rem; bottom:1.35rem; z-index:80; display:flex; gap:.5rem; align-items:center; border:1px solid #2c9e90; border-radius:999px; background:#0d766d; color:#f2fffd; padding:.78rem 1rem; font-weight:800; box-shadow:0 12px 30px rgba(0,0,0,.28); }
.assistant-toggle:hover { background:#109184; transform:translateY(-1px); }
.assistant-widget { position:fixed; right:1.35rem; bottom:5rem; z-index:81; width:min(380px,calc(100vw - 2rem)); max-height:min(620px,calc(100vh - 7rem)); display:grid; grid-template-rows:auto 1fr auto auto; overflow:hidden; border:1px solid #31526e; border-radius:18px; background:#0d1927; color:#eff7ff; box-shadow:0 20px 55px rgba(0,0,0,.42); }
.assistant-widget[hidden] { display:none; }
.assistant-widget header { display:flex; align-items:center; justify-content:space-between; padding:1rem 1.05rem; background:linear-gradient(120deg,#113d50,#0f766e); }
.assistant-widget header small { display:block; color:#bce9e2; font-size:.65rem; font-weight:800; letter-spacing:.1em; }
.assistant-widget header strong { display:block; margin-top:.15rem; font-size:1.05rem; }
.assistant-widget header button { border:0; color:white; background:transparent; font-size:1.6rem; line-height:1; }
.assistant-widget header { cursor:move; }
.assistant-widget header > div:last-child { display:flex; align-items:center; gap:.35rem; }
.assistant-widget header button { cursor:pointer; }
.assistant-messages { min-height:220px; overflow:auto; padding:1rem; display:grid; align-content:start; gap:.65rem; }
.assistant-message { max-width:91%; padding:.72rem .8rem; border-radius:12px; font-size:.88rem; line-height:1.45; white-space:pre-wrap; }
.assistant-message.assistant { background:#162942; border:1px solid #294764; justify-self:start; }
.assistant-message.user { background:#087c71; color:white; justify-self:end; }
.assistant-suggestions { padding:0 1rem .8rem; display:flex; gap:.45rem; flex-wrap:wrap; }
.assistant-suggestions button { border:1px solid #365876; border-radius:999px; background:#14263b; color:#dcecff; font-size:.73rem; padding:.42rem .58rem; }
.assistant-widget form { padding:.75rem 1rem; display:grid; grid-template-columns:1fr 40px; gap:.45rem; border-top:1px solid #213951; }
.assistant-widget form input { min-width:0; border-radius:10px; padding:.7rem .75rem; }
.assistant-widget form button { border:0; border-radius:10px; background:#10a58f; color:#fff; font-size:1.2rem; font-weight:800; }
.assistant-disclaimer { padding:0 .95rem .85rem; color:#92aabd; font-size:.68rem; }
@media(max-width:640px){.assistant-toggle{right:1rem;bottom:4.75rem}.assistant-widget{right:1rem;bottom:8.5rem;max-height:min(570px,calc(100vh - 10rem));}.assistant-toggle span{display:none;}}


/* Campo principal del asistente: prioridad visual para escribir la consulta. */
.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; }
.assistant-widget #assistant-form { display:grid !important; grid-template-columns:minmax(0,1fr) 52px !important; grid-template-rows:48px !important; align-items:stretch !important; }
.assistant-widget #assistant-question { grid-column:1 !important; grid-row:1 !important; width:100% !important; min-width:0 !important; height:48px !important; padding:.72rem .85rem !important; font-size:.92rem !important; }
.assistant-widget #assistant-form > button { grid-column:2 !important; grid-row:1 !important; width:52px !important; min-width:52px !important; height:48px !important; margin:0 !important; padding:0 !important; }

/* La página comercial nunca se mezcla con el tablero autenticado. */
.authenticated-app main.shell > :not(.card){display:none!important}


@media(max-width:640px){.authenticated-app #mobile-logout[hidden]{display:grid!important}.authenticated-app #mobile-logout{color:#ffd0d0;background:#49212a}.authenticated-app #mobile-logout:active{background:#6a2935}}

/* En la portada móvil el asistente debe identificarse claramente. */
@media(max-width:640px){
  body:not(.authenticated-app) .assistant-toggle{right:14px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:120;min-height:48px;padding:.78rem 1rem;font-size:.88rem}
  body:not(.authenticated-app) .assistant-toggle span{display:inline!important}
  body:not(.authenticated-app) .assistant-widget{right:12px;bottom:calc(76px + env(safe-area-inset-bottom));z-index:121;width:min(390px,calc(100vw - 24px));max-height:min(570px,calc(100dvh - 96px))}
}


/* INCIDENT INBOX: reviewing an incident clears the alert without altering accounting. */
.admin-kpis .attention-card{position:relative;display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto auto;min-height:142px;gap:4px 10px;overflow:hidden;padding:17px;border:1px solid #825c28;border-radius:13px;background:#211b13;color:inherit;font:inherit;text-align:left;cursor:pointer}.admin-kpis .attention-card:before{position:absolute;top:0;right:0;left:0;height:3px;background:#d9a54a;content:''}.admin-kpis .attention-card:hover,.admin-kpis .attention-card:focus-visible{border-color:#f0ba58;outline:2px solid #f0ba58;outline-offset:2px}.admin-kpis .attention-card i{grid-row:1/3;display:grid;place-items:center;width:30px;height:30px;border:1px solid #6d542c;border-radius:9px;background:#2a2518;color:#ffd47b;font-size:.9rem;font-style:normal;font-weight:900}.admin-kpis .attention-card span{align-self:end;color:#c7b585;font-size:.68rem;font-weight:850;letter-spacing:.07em}.admin-kpis .attention-card strong{grid-column:1/-1;margin:6px 0 0;color:#ffd47b;font-size:clamp(1.18rem,1.7vw,1.58rem);line-height:1.08}.admin-kpis .attention-card small{grid-column:1/-1;color:#c7b585;font-size:.69rem}.incidents-inbox-dialog{width:min(930px,95vw);max-height:90vh;overflow:auto;border:1px solid #52769a;border-radius:16px;background:#101b28;color:#eff7ff;padding:26px}.incidents-inbox-dialog h3{margin:4px 0 9px}.incident-intro{margin:0 0 16px;color:#bdd0e2}.incident-list{display:grid;gap:12px}.incident-row{padding:15px;border:1px solid #3b526a;border-radius:12px;background:#142131}.incident-row.pending{border-color:#8c692f;background:linear-gradient(135deg,#211c13,#141f2d)}.incident-row.verified{border-color:#2a7563;background:#112920}.incident-row header{display:flex;align-items:start;justify-content:space-between;gap:12px}.incident-row header>div{display:flex;align-items:center;gap:9px}.incident-row header b{color:#f4f8ff}.incident-row time,.incident-row small{color:#a9bed3;font-size:.78rem}.incident-state{padding:4px 7px;border:1px solid #71582d;border-radius:99px;color:#ffd47b;font-size:.7rem;font-weight:850}.verified .incident-state{border-color:#287960;color:#8ce6ba}.incident-row>p{margin:10px 0 5px;line-height:1.45}.incident-detail{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:7px;margin-top:12px}.incident-detail span{display:flex;justify-content:space-between;gap:10px;padding:8px;border:1px solid #354b62;border-radius:7px;background:#0f1a27}.incident-detail b{font-size:.73rem;text-transform:capitalize}.incident-detail em{color:#d3e4f5;font-size:.75rem;font-style:normal;text-align:right}.incident-row footer{display:grid;gap:9px;margin-top:14px;padding-top:12px;border-top:1px solid #31475d}.incident-row footer>div{display:flex;justify-content:flex-end;gap:8px}.incident-row textarea{display:block;box-sizing:border-box;width:100%;min-height:58px;margin-top:5px;padding:8px;border:1px solid #4a6179;border-radius:7px;background:#0d1723;color:#eff7ff;font:inherit;resize:vertical}.incident-row footer span,.incident-row footer em{color:#a8bfd3;font-size:.78rem}.incident-row footer em{font-style:normal}@media(max-width:650px){.incidents-inbox-dialog{padding:18px}.incident-row header,.incident-row footer>div{align-items:stretch;flex-direction:column}.incident-row footer>div button{width:100%}.incident-detail{grid-template-columns:1fr}}

.voucher-detail em{line-height:1.45}

.voucher-detail{display:grid;gap:6px;margin-top:12px;border:1px solid #354b62;border-radius:8px;overflow:auto}.voucher-detail>header,.voucher-row{display:grid;grid-template-columns:1fr 1.45fr 1.45fr 1.1fr;gap:8px;min-width:640px;padding:10px 11px;align-items:center}.voucher-detail>header{background:#1a2d40;color:#cfe2f5;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}.voucher-row{border-top:1px solid #354b62;background:#0f1a27}.voucher-row b{font-size:.82rem}.voucher-row span{color:#d7e7f5;font-size:.78rem}.voucher-row strong{font-size:.78rem;text-align:right}.voucher-detail>p{margin:0;padding:11px;color:#8ce6ba}@media(max-width:650px){.voucher-detail>header,.voucher-row{min-width:610px}}

/* Administrative ADOPEM control: its fund and collection are independent from a generic bank balance. */
.adopem-admin-card{cursor:pointer}.adopem-admin-card small{line-height:1.35}.adopem-admin-dialog{width:min(760px,94vw)}.adopem-admin-intro{margin:4px 0 16px;color:#bdd0e2;line-height:1.45}.adopem-admin-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.adopem-admin-summary article{display:grid;gap:5px;padding:14px;border:1px solid #365470;border-radius:10px;background:#17283a}.adopem-admin-summary span{color:#b8cde0;font-size:.76rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.adopem-admin-summary strong{color:#58d6ae;font-size:1.2rem}.adopem-admin-summary small{color:#b8cde0;line-height:1.35}@media(max-width:600px){.adopem-admin-summary{grid-template-columns:1fr}.adopem-admin-dialog .modal-actions{grid-template-columns:1fr}}

/* The primary ADOPEM amount already is the active-turn collection; keep the remaining space for availability. */
.bank-card.adopem .bank-secondary{margin-top:2px;padding-top:8px;border-top:1px solid #2d455d;gap:4px 10px}.bank-card.adopem .bank-secondary strong{font-size:1.02rem;color:#7de2c2}.bank-card.adopem .bank-secondary small{font-size:.72rem}
