:root{--navy:#eaf5ff;--blue:#0877ff;--muted:#91a6bb;--line:#203749;color-scheme:dark}body{background:#070b10;color:#edf6ff}body aside{background:#090f19;border-right:1px solid #1b4963}.brand{color:#fff}.brand span{color:#6ce4ff}nav button{color:#adc6dc}nav button.active{background:#075bd6;box-shadow:inset 0 0 0 1px #45d9ff,0 0 9px #00cfff30}h1,h2,h3{color:#f0f7ff}.card,.panel,.operation,dialog{background:#0b1119;border-color:#24445a;color:#eef7ff}.operation{border:1px solid #24445a}.card strong,.total,.wash-charge>strong,.active-wash-value,.settlement-amount{color:#ffcf70}.sub,.record-time,.wash-details>span,.wash-identity>span,.wash-hours,.worker-wash-info{color:#9bb3c9}.notice{background:#101e2b;border-color:#254157;color:#93aabd}.operation-page main>.notice,.washes-page main>.notice,.settlements-page main>.notice{color:#8da5ba}input,select{background:#111d2a;color:#f3f8ff;border-color:#31516b}input::placeholder{color:#8099b0}input:focus,select:focus{outline:2px solid #27cbff;outline-offset:1px}button{background:#0869ee;color:white}button.secondary,.text-choice,.service-choice,.vehicle-choice,.history-contact{background:#101e2b;color:#d5eaff;border:1px solid #28536d}.chosen,.text-choice.chosen,.service-choice.chosen,.vehicle-choice.chosen{background:#064dd4;color:white;border-color:#5ae7ff;box-shadow:0 0 8px #12cfff55}.flow-plate,.mini-plate,.wash-identity>strong{background:#121513;color:#ffdf97;border-color:#efc063}.plate-wrap,.plate-wrap input{background:#0b121b;color:#fff0ba}.badge,.pill{background:#102d48;color:#65daff}.avatar{background:#19324b;color:#c8edff}.shift-status{background:#0d2237;border-color:#24526e;color:#85dcff}.wash-list-row,.active-wash-row,.settlement-row{background:#0b131d;border-color:#24526e}.wash-list-row:nth-child(even),.active-wash-row:nth-child(even),.settlement-row:nth-child(even){background:#102032}.wash-details>strong,.active-wash-service strong,.settlement-name{color:#edf6ff}.wash-overview .card:nth-child(even),.treasury-balances .card,.worker-detail-summary>div{background:#102134;border-color:#285679}.washes-page .wash-overview .card strong{color:#ffcf70}.wash-overview .card em,.card small,.card em{color:#9ab4ce}.settlement-head,th{background:#122437;color:#a1c7e2}.split{border-color:#254056}.closing-breakdown .split:nth-child(even),.ordered-closing .split:nth-child(even){background:#102135}.ordered-closing .split:last-child,.ordered-closing .split:nth-last-child(2){background:#102b42;color:#9ae4ff}.ready-button,.positive,.settlement-paid{color:#6ae6ba}.ready-button{background:#11362e;border-color:#2a7967}.warning{color:#ffd17b}.qr-info,.confirm-qr,.charge-remaining,.worker-detail-summary>div,.admin-buttons label,.expense-concept,.expense-payment{background:#102437;border-color:#326181;color:#d5edff}.charge-summary .flow-plate{color:#ffdf97}.charge-total strong,.charge-remaining strong,.charge-change strong{color:#ffcf70}.charge-remaining span,.charge-service,.charge-time,.charge-hint{color:#a6c6e2}.workflow-modal .panel-head,.workflow-modal .actions{background:#0b1119;box-shadow:none}.charge-modal .panel-head h2{color:white}.admin-buttons label:has(input:checked),.expense-concept:has(input:checked),.expense-payment:has(input:checked){background:#0751ac;border-color:#52dfff;color:white}.client-message{background:#102a25;border-color:#285d50;color:#c0efdd}.bar{background:#172a3b}.bar i{background:#11adff}.responsive-table tr{background:#0b131d}.charge-modal .confirm-qr{background:#102437}dialog::backdrop{background:#000a}footer{color:#718da5}.closing-sheet{background:#fff;color:#17283e}.closing-sheet h1,.closing-sheet h2,.closing-sheet h3{color:#17283e}
/* Each registration step is a compact screen, with separate rates. */
dialog.workflow-modal.registration-modal{width:680px;max-height:calc(100dvh - 16px);padding:16px;scrollbar-gutter:auto}.registration-modal #modalContent>.panel-head{position:static;padding:0;margin:0 0 8px;flex-wrap:nowrap}.registration-modal .panel-head h2{font-size:18px}.registration-modal .panel-head>button{min-height:38px;padding:6px 12px}.registration-modal .flow-plate{font-size:23px;max-width:190px;margin:6px auto;padding:5px 10px}.registration-modal .sub{font-size:11px;margin:6px 0;line-height:1.4}.registration-modal .vehicle-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.registration-modal .vehicle-choice{min-height:100px;padding:6px;gap:4px}.registration-modal .vehicle-choice svg{height:60px}.registration-modal .vehicle-choice strong{font-size:12px;margin:0}.registration-modal .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.registration-modal .service-choice{min-height:46px;padding:9px 10px;font-size:12px;gap:6px}.registration-modal .service-choice strong{font-size:15px}.registration-modal h3{margin:8px 0;font-size:13px}.registration-modal .choice-row{grid-template-columns:1fr 1fr;gap:7px;margin:8px 0}.registration-modal .text-choice{min-height:44px;padding:9px;font-size:13px}.registration-modal .split{padding:7px 0;font-size:12px}.registration-modal .split strong{color:#ffcf70}.registration-modal .client-phone-entry{margin-top:8px;font-size:12px;gap:5px}.registration-modal input{min-height:44px;padding:9px;font-size:16px}.registration-modal .shared-options{margin:8px 0}.registration-modal .shared-options summary{min-height:36px;line-height:36px;font-size:12px}.registration-modal .shared-options .choice-row{grid-template-columns:1fr 1fr}.registration-modal .actions{position:static;padding:0;margin:9px 0 0}.registration-modal .actions button{min-height:44px;padding:8px;font-size:14px}.registration-modal .shared-options input[type=number]{min-height:40px;padding:6px;font-size:17px}@media(max-width:650px){dialog.workflow-modal.registration-modal{padding:12px;width:calc(100vw - 12px);max-width:calc(100vw - 12px)}.registration-modal .vehicle-grid{grid-template-columns:1fr 1fr;gap:6px}.registration-modal .vehicle-choice{min-height:78px;display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;padding:5px;gap:5px}.registration-modal .vehicle-choice svg{height:55px}.registration-modal .vehicle-choice strong{font-size:11px;line-height:1.3;text-align:left}.registration-modal .service-choice{min-height:48px;flex-wrap:wrap;padding:7px;gap:2px}.registration-modal .service-choice span{font-size:11px}.registration-modal .service-choice strong{font-size:14px}.registration-modal .panel-head h2{font-size:17px}.registration-modal .flow-plate{font-size:21px}.registration-modal .choice-row .text-choice{min-height:44px;font-size:12px}.registration-modal .shared-options .text-choice{min-height:36px;padding:6px}.registration-modal .shared-options .sub{display:none}}
@media print{body,.closing-sheet{background:white;color:#17283e}.closing-sheet th,.closing-sheet td{background:white;color:#17283e}}
.entry-chat-link{display:flex;align-items:center;justify-content:center;text-align:center;text-decoration:none;border:1px solid #28536d;border-radius:7px;background:#101e2b;color:#d5eaff;font-size:12px;font-weight:600;min-height:42px;padding:8px 10px;line-height:1.3}.active-wash-actions .entry-chat-link{max-width:120px}@media(max-width:1100px){.active-wash-actions .entry-chat-link{max-width:none}}@media(max-width:650px){.entry-chat-link{min-height:44px;font-size:11px;padding:6px}}
.service-total-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 8px}.registration-modal .service-total-header .flow-plate{margin:0;width:auto}.service-total-header>div:last-child{display:grid;gap:3px;text-align:right}.service-total-header small{font-size:11px;color:#a6c6e2}.service-total-header strong{font-size:27px;color:#ffcf70}.registration-modal button:disabled{opacity:.4;cursor:not-allowed}.registration-modal .service-choice.chosen{border-color:#64e6ff;background:#064dd4}.registration-modal .service-choice.chosen:before{content:'✓';color:#fff;font-weight:700}@media(max-width:650px){.service-total-header strong{font-size:24px}.registration-modal .service-choice.chosen:before{display:none}}
/* Encabezado compacto para gastos, cierre y gerencia. */
.compact-admin-page main{padding-top:16px}.compact-admin-page main>header{min-height:36px;margin-bottom:6px;align-items:center}.compact-admin-page main>header .eyebrow{display:none}.compact-admin-page main>header h1{font-size:23px;margin:0;line-height:1.25}.compact-admin-page .head-actions{gap:10px}.compact-admin-page .avatar{padding:8px;font-size:11px}.compact-admin-page main>.notice{background:transparent;border:0;padding:3px 10px;font-size:10px;line-height:1.4;margin:0 0 4px;color:#91aabd}.compact-admin-page .toolbar{display:grid;grid-template-columns:minmax(150px,190px) minmax(130px,160px);justify-content:start;gap:10px;margin:6px 0 10px;align-items:end}.compact-admin-page .toolbar label{min-width:0;gap:4px;font-size:11px}.compact-admin-page .toolbar input,.compact-admin-page .toolbar select{min-height:40px;height:40px;padding:7px 10px;font-size:14px}.compact-admin-page #scope{display:none!important}.compact-admin-page #view>.panel,.compact-admin-page .manager-view>.panel{padding:14px 16px;margin-bottom:12px}.compact-admin-page #view>.panel>h2{font-size:17px;margin-bottom:7px}.compact-admin-page .panel-head{margin-bottom:10px}.compact-admin-page .panel-head button{min-height:40px;padding:8px 12px;font-size:12px}.compact-admin-page #view>.panel>.sub{font-size:11px;line-height:1.45;margin:6px 0 10px}.compact-admin-page .closing-breakdown .split{padding:9px 10px;font-size:13px}.compact-admin-page .treasury-balances{gap:10px;margin-bottom:0}.compact-admin-page .treasury-balances .card{padding:12px 14px}.compact-admin-page .treasury-balances .card strong{font-size:24px;margin:7px 0 5px}.compact-admin-page .treasury-balances .card .icon{padding:4px}.compact-admin-page .treasury-balances .card:nth-child(even){background:#11263a;border-color:#285679}.compact-admin-page .closing-income{background:#102e47!important;color:#9ae6ff!important}.compact-admin-page .manager-view .cards{gap:10px;margin-bottom:12px}.compact-admin-page .manager-view .cards .card{padding:14px}.compact-admin-page .manager-view .cards .card strong{font-size:24px;margin:8px 0 5px}@media(max-width:650px){.compact-admin-page main{padding-top:12px}.compact-admin-page main>header h1{font-size:21px}.compact-admin-page main>.notice{font-size:9px;padding:3px 0}.compact-admin-page .toolbar{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin:5px 0 8px}.compact-admin-page .toolbar input,.compact-admin-page .toolbar select{padding:7px 5px;font-size:13px;min-width:0}.compact-admin-page #view>.panel,.compact-admin-page .manager-view>.panel{padding:10px}.compact-admin-page .treasury-balances{gap:7px}.compact-admin-page .treasury-balances .card{display:grid;grid-template-columns:1fr auto;gap:4px 8px;padding:10px}.compact-admin-page .treasury-balances .card .icon{display:none}.compact-admin-page .treasury-balances .card small{font-size:11px}.compact-admin-page .treasury-balances .card strong{font-size:21px;grid-column:2;grid-row:1 / span 2;margin:0;align-self:center}.compact-admin-page .treasury-balances .card em{font-size:9px}.compact-admin-page .closing-breakdown .split{font-size:12px;padding:8px}.compact-admin-page .closing-breakdown .split small{font-size:10px}}
.compact-admin-page .manager-view .cards .card:nth-child(even),.compact-admin-page .manager-view .bar-row:nth-child(even){background:#102235;border-color:#285679}.compact-admin-page .manager-view .bar-label{color:#edf6ff}.compact-admin-page .manager-view .bar-row .sub{color:#9bb3c9}
.compact-admin-page .manager-view .bar-row:nth-of-type(even),.compact-admin-page .manager-view .split:nth-of-type(even){background:#102235}.compact-admin-page .manager-view .bar-row{padding:10px 12px}.compact-admin-page .manager-view .bar-label{margin-bottom:5px}
.expense-scope-buttons{display:flex;gap:8px;margin:8px 0 10px}.expense-scope-buttons button{min-height:40px;padding:8px 16px;font-size:13px}.expense-query{display:flex;gap:10px;flex-wrap:wrap;align-items:end;margin-bottom:8px}.expense-query label{font-size:11px;gap:4px;flex:0 1 180px}.expense-query input,.expense-query select{min-height:40px;padding:7px 9px;font-size:14px}.expense-method-totals{display:flex;gap:18px;flex-wrap:wrap;padding:10px 0;font-size:12px;color:#aac4da}.expense-method-totals strong{color:#ffcf70;margin-left:8px}@media(max-width:650px){.expense-query{display:grid;grid-template-columns:1fr 1fr;gap:8px}.expense-query label{min-width:0}.expense-query input,.expense-query select{min-width:0;width:100%;font-size:13px}}
.settlement-turn-notice{background:#102b42;border:1px solid #2b789a;border-radius:8px;padding:10px 12px;margin:8px 0;color:#bdeaff}.settlement-turn-notice p{font-size:12px;margin:0 0 6px}.settlement-turn-notice .actions{margin:0;justify-content:flex-start}.settlement-turn-notice button{min-height:38px;flex:0 1 130px;padding:7px 14px}.settlement-row button:disabled{opacity:.4;cursor:not-allowed}
dialog.expense-modal{width:640px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);padding:16px;background:#0b1119}.expense-modal h2{font-size:18px;margin:0 0 10px}.expense-modal form{gap:9px}.expense-modal .expense-picker legend{font-size:11px;margin-bottom:6px}.expense-modal .expense-concept-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.expense-modal .expense-concept{min-height:65px;padding:6px 4px;gap:4px;border-radius:8px}.expense-modal .expense-icon{font-size:23px}.expense-modal .expense-concept strong{font-size:11px;line-height:1.2}.expense-form-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px}.expense-modal label{font-size:11px;gap:4px;color:#a6c6e2}.expense-modal input,.expense-modal select{min-height:40px;padding:7px 9px;font-size:15px}.expense-modal [hidden]{display:none!important}.expense-modal .admin-picker{margin:0}.expense-modal .admin-picker legend{font-size:11px;margin-bottom:5px}.expense-modal .admin-buttons label{min-height:44px;gap:7px;border-radius:8px}.expense-modal .admin-buttons span{font-size:21px}.expense-modal .admin-buttons strong{font-size:13px}.expense-modal .expense-payment{min-height:40px;padding:7px;font-size:12px}.expense-modal .actions{margin-top:2px}.expense-modal .actions button{min-height:42px;padding:8px}.expense-modal .admin-buttons input,.expense-modal .expense-concept input,.expense-modal .expense-payment input{min-height:0}@media(max-width:450px){dialog.expense-modal{padding:12px}.expense-modal .expense-concept-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.expense-modal .expense-concept{min-height:54px;gap:2px}.expense-modal .expense-icon{font-size:20px}.expense-modal .expense-concept strong{font-size:10px}.expense-modal .expense-form-fields label{min-width:0}.expense-modal .expense-form-fields select{font-size:12px;min-width:0}}
.payment-balance{display:block;font-size:10px;line-height:1.35;color:#a8c6dd;font-weight:400;white-space:normal;margin-top:3px}.worker-paid-actions{display:grid;gap:3px;justify-items:stretch}.worker-paid-actions .settlement-paid{font-size:10px}.settlement-row .worker-paid-actions button{min-height:30px;font-size:11px;padding:5px 8px}@media(max-width:650px){.payment-balance{font-size:8px}.settlement-row .worker-paid-actions button{font-size:9px;padding:5px 2px}}

.expense-type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.expense-type-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:110px;padding:10px 6px!important}.expense-type-button span{font-size:28px}.expense-type-button strong{font-size:13px;line-height:1.3}.expense-cancel{margin-top:12px;width:100%;min-height:40px}.expense-modal .expense-back{padding:6px 10px;min-height:32px;justify-self:start;font-size:12px}.expense-modal input[type=hidden]{display:none}@media(max-width:450px){.expense-type-button{min-height:100px}.expense-type-button strong{font-size:11px}}

.expense-filter-toolbar{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;margin:4px 0 8px}.expense-filter-toolbar .expense-scope-buttons{margin:0;flex-shrink:0}.expense-filter-toolbar .expense-query{margin:0;flex:1;flex-wrap:nowrap}.expense-filter-toolbar .expense-query label{flex:0 1 190px;min-width:130px}.expense-filter-toolbar .expense-query input,.expense-filter-toolbar .expense-query select{width:100%;min-width:0}@media(max-width:650px){.expense-filter-toolbar{gap:8px}.expense-filter-toolbar .expense-query{flex-basis:100%;grid-template-columns:repeat(2,minmax(0,1fr))}.expense-filter-toolbar .expense-query label{min-width:0}}

.closing-history-head,.closing-day>summary,.closing-shift-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(110px,.6fr) minmax(110px,.6fr) 150px;align-items:center;gap:10px;padding:10px 12px}.closing-history-head{background:#142738;color:#a6c6e2;font-size:11px}.closing-day{border-bottom:1px solid #29485b}.closing-day>summary{cursor:pointer;list-style:none;background:#102030;font-size:13px}.closing-day>summary::-webkit-details-marker{display:none}.closing-day-date{position:relative;padding-left:19px}.closing-day-date:before{content:'▸';position:absolute;left:0;color:#64d9ff}.closing-day[open] .closing-day-date:before{content:'▾'}.closing-day small,.closing-shift-row small{display:block;font-size:11px;font-weight:400;color:#9db6cc;margin-top:3px}.closing-shift-children{border-left:2px solid #287aa2;margin-left:20px}.closing-shift-row{font-size:12px}.closing-shift-row:nth-child(even){background:#102030}.closing-day button{min-height:34px;padding:6px 9px;font-size:11px}.closing-history-tree strong{font-variant-numeric:tabular-nums}@media(max-width:650px){.closing-history-head{display:none}.closing-day>summary,.closing-shift-row{grid-template-columns:1fr 1fr;gap:8px;padding:10px}.closing-day-date,.closing-shift-row>span:first-child{grid-column:1/-1}.closing-day>summary>strong:nth-child(2):before,.closing-shift-row>strong:nth-child(2):before{content:'Efectivo ';font-size:10px;font-weight:400;color:#9db6cc}.closing-day>summary>strong:nth-child(3):before,.closing-shift-row>strong:nth-child(3):before{content:'QR ';font-size:10px;font-weight:400;color:#9db6cc}.closing-day button{grid-column:1/-1;justify-self:end}}
/* Detalle de lavadas: alternancia oscura y contraste legible. */
.worker-wash-list .worker-wash-row{background:#0b121a;border-color:#29475b;color:#e2effb}.worker-wash-list .worker-wash-row:nth-child(even){background:#132536}.worker-wash-list .worker-wash-info>strong{color:#d3eaff}.worker-wash-list .worker-wash-info>span{color:#acc6dc}.worker-wash-list .worker-wash-top>strong:not(.mini-plate){color:#ffcf70}.worker-detail-intro h3{color:#e2effb}

.expense-class-filter{display:grid;gap:4px;max-width:330px;margin:0 0 10px;font-size:11px;color:#a6c6e2}.expense-class-filter select{min-height:40px;padding:7px 10px;font-size:14px;width:100%}@media(max-width:650px){.expense-class-filter{max-width:none}}

/* Apertura de turno en una vista compacta. */
dialog.turn-modal{width:560px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);padding:18px}.turn-modal h2{font-size:21px;margin:0 0 10px}.turn-modal form{display:grid;gap:10px}.turn-modal .sub{font-size:12px;line-height:1.4;margin:0}.turn-modal .fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:start}.turn-modal label{font-size:12px;gap:5px;min-width:0}.turn-modal input,.turn-modal select{height:44px;min-height:44px;padding:8px 10px;font-size:16px;width:100%;min-width:0}.turn-modal .admin-picker{margin:0;min-width:0;padding:0}.turn-modal .admin-picker legend{font-size:12px;margin-bottom:5px}.turn-modal .admin-buttons{gap:6px}.turn-modal .admin-buttons label{min-height:44px;padding:6px;gap:5px;border-radius:9px}.turn-modal .admin-buttons span{font-size:20px}.turn-modal .admin-buttons strong{font-size:13px}.turn-modal .admin-buttons input{height:auto;min-height:0;width:auto}.turn-modal .actions{margin:2px 0 0;gap:10px}.turn-modal .actions button{min-height:44px;padding:9px;font-size:15px}@media(max-width:420px){dialog.turn-modal{padding:12px}.turn-modal .fields{gap:10px 8px}.turn-modal .admin-buttons{grid-template-columns:1fr 1fr}.turn-modal .admin-buttons label{gap:3px}.turn-modal .admin-buttons span{font-size:16px}.turn-modal .admin-buttons strong{font-size:11px}.turn-modal .sub{font-size:11px}.turn-modal input,.turn-modal select{font-size:14px}}

.treasury-page .treasury-balances{gap:10px;margin:0 0 10px}.treasury-page .treasury-balances .card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 8px;padding:10px 14px;min-height:86px}.treasury-page .treasury-balances .card small{font-size:12px;grid-column:1;grid-row:1}.treasury-page .treasury-balances .card strong{font-size:26px;line-height:1.2;margin:0;grid-column:1;grid-row:2}.treasury-page .treasury-balances .card em{font-size:10px;line-height:1.3;grid-column:1/-1;margin:0}.treasury-page .treasury-balances .card .icon{grid-column:2;grid-row:1/3;padding:6px;font-size:18px}.treasury-page .treasury-actions{gap:8px;margin:8px 0}.treasury-page .treasury-actions button{min-height:40px;padding:8px 12px;font-size:12px}@media(max-width:650px){.treasury-page .treasury-balances{grid-template-columns:1fr;gap:6px}.treasury-page .treasury-balances .card{grid-template-columns:minmax(0,1fr) auto;min-height:62px;padding:8px 12px;gap:3px 8px}.treasury-page .treasury-balances .card strong{grid-column:2;grid-row:1/3;font-size:23px}.treasury-page .treasury-balances .card em{grid-column:1;grid-row:2}.treasury-page .treasury-balances .card .icon{display:none}.treasury-page .treasury-actions{display:grid;grid-template-columns:1fr 1fr}}

.treasury-page .treasury-balances{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:650px){.treasury-page .treasury-balances{grid-template-columns:1fr}}

.treasury-detail>summary{cursor:pointer;font-size:16px;font-weight:700;color:#e1effb;padding:2px 0}.treasury-detail[open]>summary{margin-bottom:10px}.treasury-detail>summary::marker{color:#64d9ff}

.expense-classification-detail{border-bottom:1px solid #29475b}.expense-classification-detail>summary{display:flex;align-items:center;gap:10px;cursor:pointer;padding:12px 8px;font-size:14px;list-style:none}.expense-classification-detail>summary::-webkit-details-marker{display:none}.expense-classification-detail>summary:before{content:'▸';color:#64d9ff}.expense-classification-detail[open]>summary:before{content:'▾'}.expense-classification-detail>summary strong{margin-left:auto;color:#ffcf70;white-space:nowrap}.expense-concept-totals{padding:0 8px 10px 26px;background:#102030}.expense-concept-totals .split{font-size:12px;padding:8px!important}.expense-concept-totals>.sub{padding-top:8px}

.closing-page main>header{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.closing-page main>header>div:first-child{margin-right:auto}.closing-page main>header .toolbar{display:flex!important;gap:8px;margin:0;align-items:center;grid-template-columns:none}.closing-page main>header .toolbar label{font-size:10px;gap:3px;flex:none}.closing-page main>header .toolbar input{width:155px;min-height:36px;height:36px;padding:5px 8px;font-size:13px}.closing-page main>header .toolbar select{width:135px;min-height:36px;height:36px;padding:5px 8px;font-size:13px}@media(max-width:650px){.closing-page main>header{gap:8px}.closing-page main>header .toolbar{order:3;flex-basis:100%;justify-content:flex-end}.closing-page main>header .toolbar label{flex:1;min-width:0}.closing-page main>header .toolbar input,.closing-page main>header .toolbar select{width:100%}}

.expenses-page main>header{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.expenses-page main>header>div:first-child{margin-right:auto}.expenses-page main>header .expense-filter-toolbar{margin:0;gap:8px;align-items:flex-end;flex-wrap:nowrap}.expenses-page main>header .expense-scope-buttons{gap:5px}.expenses-page main>header .expense-scope-buttons button{min-height:34px;height:34px;padding:5px 9px;font-size:11px;white-space:nowrap}.expenses-page main>header .expense-query{gap:6px;display:flex;flex-wrap:nowrap}.expenses-page main>header .expense-query label{flex:none;min-width:0;font-size:9px;gap:2px}.expenses-page main>header .expense-query input{width:135px;height:34px;min-height:34px;padding:5px 7px;font-size:12px}.expenses-page main>header .expense-query select{width:140px;height:34px;min-height:34px;padding:5px 7px;font-size:12px}@media(max-width:1100px){.expenses-page main>header .expense-filter-toolbar{order:3;flex-basis:100%;justify-content:flex-end;flex-wrap:wrap}}@media(max-width:650px){.expenses-page main>header .expense-filter-toolbar{justify-content:flex-start}.expenses-page main>header .expense-query{flex:1;flex-wrap:wrap}.expenses-page main>header .expense-query label{flex:1;min-width:115px}.expenses-page main>header .expense-query input,.expenses-page main>header .expense-query select{width:100%}}

.expense-movement-detail{margin-top:14px;border-top:1px solid #29475b;padding-top:10px}.expense-movement-detail>summary{cursor:pointer;font-weight:700;font-size:14px;color:#d9ecff;padding:5px 0}.expense-movement-detail>summary::marker{color:#64d9ff}.expense-movement-detail[open]>summary{margin-bottom:10px}

.fixed-movement-actor{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #29475b;border-radius:9px;background:#102030}.fixed-movement-actor span{color:#a6c6e2;font-size:12px}.fixed-movement-actor strong{color:#d9ecff;font-size:15px}

.treasury-page .treasury-balances .card .treasury-card-action{grid-column:1/-1;grid-row:4;justify-self:stretch;min-height:38px;padding:7px 12px;font-size:12px;margin-top:5px}.treasury-page .treasury-balances .card{min-height:120px}@media(max-width:650px){.treasury-page .treasury-balances .card{min-height:100px}.treasury-page .treasury-balances .card .treasury-card-action{grid-row:3;margin-top:4px}}
.bill-service-buttons{display:flex;gap:8px;margin:8px 0;flex-wrap:wrap}.bill-service-buttons button{flex:1;min-height:44px;padding:8px 12px;font-size:14px}

.bill-row-actions{display:flex;gap:6px;flex-wrap:wrap}.bill-row-actions button{min-height:36px;padding:7px 10px;font-size:12px}

#nav>button.nav-section-end{position:relative;margin-bottom:7px}#nav>button.nav-section-end:after{content:"";position:absolute;left:8px;right:8px;bottom:-5px;height:1px;background:#3b6c8b;pointer-events:none}

.treasury-page .treasury-balances .card .accumulated-pay{grid-row:5}@media(max-width:650px){.treasury-page .treasury-balances .card .accumulated-pay{grid-row:4}}

.client-history {
  margin-top: .55rem;
  padding: .65rem .85rem;
  border: 1px solid #34465e;
  border-radius: .5rem;
}
.client-history summary { cursor: pointer; }
.client-history[open] summary { margin-bottom: .65rem; }

.cafe-product { flex-wrap: wrap; gap: .5rem; }
.cafe-product small { margin-inline-start: .4rem; }
.cafe-buttons { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; }

/* Operation: keep registration visible beside the pending queue. */
.operation-page main { padding-top: 12px; }
.operation-page main > header { align-items: center; margin-bottom: 8px; }
.operation-page main > header h1 { margin: 0; font-size: clamp(20px, 2.5vw, 26px); }
.operation-page main > header .eyebrow,
.operation-page main > .notice,
.operation-page main > footer { display: none; }
.operation-page #shiftStatus {
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 6px 12px;
  margin: 0 0 10px;
  padding: 6px 10px;
}
.operation-page #shiftStatus > div { display: flex; align-items: baseline; flex-wrap: wrap; gap: 2px 8px; }
.operation-page #shiftStatus strong { color: #85dcff; }
.operation-page #shiftStatus button { min-height: 36px; padding: 5px 10px; flex-shrink: 0; }
.operation-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; align-items: start; }
.operation-layout .operation { padding: 14px; margin: 0; }
.operation-layout .plate-entry {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  max-width: 300px;
  width: 100%;
  margin: 0 auto;
  gap: 10px;
}
.operation-layout .plate-wrap { padding: 8px; gap: 4px; min-width: 0; }
.operation-layout .plate-wrap input { font-size: clamp(26px, 4vw, 42px); padding: 4px 0; letter-spacing: .1em; }
.operation-layout .plate-continue { width: 100%; min-height: 44px; padding: 7px 12px; }
.operation-layout .active-cars { margin: 0; padding: 12px; min-width: 0; }
.operation-layout .active-cars > .panel-head { margin-bottom: 8px; }
.operation-layout .active-cars h2 { margin: 0; }
.operation-layout .active-cars .panel-head .sub { margin: 2px 0 0; }
.active-wash-scroll {
  max-height: min(55dvh, 400px);
  overflow-y: auto;
  overscroll-behavior-y: contain;
  scrollbar-gutter: stable;
  padding: 3px;
}
.active-wash-scroll:focus-visible { outline: 2px solid #79acfa; outline-offset: 2px; }
.operation-layout .active-wash-row {
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 5px 10px;
  padding: 8px;
}
.operation-layout .active-wash-identity { grid-column: 1; grid-row: 1; }
.operation-layout .active-wash-service { grid-column: 1; grid-row: 2; }
.operation-layout .active-wash-value { grid-column: 2; grid-row: 1 / span 2; }
.operation-layout .active-wash-actions {
  grid-column: 1 / -1;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 68px), 1fr));
  width: 100%;
  margin: 2px 0 0;
}
.operation-layout .active-wash-actions button,
.operation-layout .active-wash-actions .entry-chat-link { min-width: 0; max-width: none; min-height: 38px; padding: 5px; }

@media (min-width: 820px) {
  .operation-layout { grid-template-columns: minmax(190px, 2fr) minmax(0, 3fr); }
  .active-wash-scroll { max-height: max(140px, calc(100dvh - 190px)); }
}

.waiting-heading { margin: 6px 0; font-size: 14px; color: #ffd17b; }

.washes-page main {
  display: flex;
  flex-direction: column;
  height: 100dvh;
  min-height: 400px;
  padding-top: 10px;
  padding-bottom: 10px;
}
.washes-page main > header { margin-bottom: 4px; }
.washes-page main > .notice,
.washes-page main > footer { display: none; }
.washes-page .toolbar { margin: 4px 0 8px; }
.washes-page .toolbar input,
.washes-page .toolbar select { min-height: 44px; }
.washes-page #view { display: flex; flex: 1; min-height: 0; }
.washes-page #view > .wash-register {
  display: flex;
  flex: 1;
  flex-direction: column;
  margin: 0;
}
.wash-register-head h2 { margin: 0; }
.wash-register-head > .sub { margin: 0; }
.washes-page #view > .wash-register .filter {
  flex: 1 1 180px;
  max-width: 300px;
  min-height: 44px;
  margin: 0;
}
#washRows {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  scrollbar-gutter: stable;
  padding: 3px;
}
#washRows:focus-visible { outline: 2px solid #79acfa; }
.wash-row-actions {
  grid-column: 2;
  grid-row: 1 / span 3;
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.washes-page .wash-row-actions .history-contact { min-height: 44px; white-space: normal; }
@media (max-width: 650px) {
  .washes-page #view > .wash-register .filter { flex-basis: 100%; max-width: none; }
  .wash-row-actions { grid-column: 1 / -1; grid-row: 4; }
}

.clients-page main {
  display: flex;
  flex-direction: column;
  height: 100dvh;
  min-height: 340px;
  padding-top: 10px;
  padding-bottom: 10px;
}
.clients-page main > header { align-items: center; margin-bottom: 8px; }
.clients-page main > header h1 { margin: 0; font-size: clamp(21px, 2.5vw, 26px); }
.clients-page main > header .eyebrow,
.clients-page main > .notice,
.clients-page main > footer { display: none; }
.clients-page #view { display: flex; flex: 1; min-height: 0; }
.client-register {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 10px 12px;
  margin: 0;
}
.client-register-head { flex: none; margin-bottom: 8px; }
.client-register-head h2 { margin: 0; }
.client-register-head .filter { flex: 1 1 180px; max-width: 300px; min-height: 44px; margin: 0; }
#clientHistory {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  scrollbar-gutter: stable;
  border: 1px solid #24445a;
  border-radius: 8px;
  padding: 0 8px 8px;
}
#clientHistory:focus-visible { outline: 2px solid #79acfa; }
.client-history summary { min-height: 28px; padding-block: 5px; }
@media (max-width: 650px) {
  .client-register-head .filter { flex-basis: 100%; max-width: none; }
  .client-history summary { min-height: 32px; }
}

.charge-modal .charge-methods button {
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 3px;
  min-width: 0;
}
.charge-methods button strong { color: #ffcf70; font-size: 12px; }
.payment-bank-logo {
  display: block;
  width: 82px;
  max-width: 100%;
  padding: 2px 4px;
  background: #fff;
  border-radius: 3px;
}
dialog.workflow-modal.charge-modal.charge-mixed { padding: 10px 12px; }
.charge-mixed #modalContent > .panel-head { margin-bottom: 5px; }
.charge-mixed .charge-summary { margin: 0 0 5px; padding: 5px 8px; gap: 6px; }
.charge-mixed .charge-summary .flow-plate { margin: 0; font-size: clamp(18px, 4vw, 23px); }
.charge-mixed .charge-summary strong { font-size: clamp(16px, 4vw, 21px); }
.charge-mixed .charge-time { margin: 2px 0; font-size: 11px; }
.charge-mixed .charge-time:last-of-type { display: none; }
.charge-modal.charge-mixed .charge-methods { margin: 5px 0; gap: 5px; }
.charge-modal.charge-mixed form.charge-form { gap: 5px; }
.charge-mixed .charge-inputs { gap: 5px 7px; }
.charge-modal.charge-mixed .charge-inputs label { gap: 2px; }
.charge-mixed .charge-inputs input[type="text"] {
  width: 100%;
  min-width: 0;
  min-height: 42px;
  height: 42px;
  padding: 5px 7px;
  font-size: 16px;
}
.charge-mixed .charge-inputs input::placeholder { font-size: 12px; }
.charge-mixed .charge-remaining,
.charge-mixed .charge-change { margin: 0; padding: 4px 6px; gap: 3px; }
.charge-mixed .charge-remaining strong,
.charge-mixed .charge-change strong { font-size: 16px; }
.charge-mixed .charge-hint { margin: 0; font-size: 11px; line-height: 1.2; }
.charge-modal.charge-mixed .confirm-qr { padding: 4px 7px; min-height: 36px; }
.charge-modal.charge-mixed .actions { margin: 0; }
@media (orientation: landscape) and (max-height: 500px) {
  .charge-mixed .charge-inputs { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .charge-mixed .charge-inputs > * { grid-column: auto; grid-row: auto; }
}

/* Payment tiles keep their labels and tap targets visible on narrow screens. */
.charge-modal .charge-methods .text-choice {
  position: relative;
  min-height: 76px;
  padding: 5px 3px;
  gap: 2px;
  border: 1px solid #28536d;
  border-radius: 12px;
  background: #101e2b;
  color: #d5eaff;
  font-weight: 750;
  box-shadow: none;
}
.charge-modal .charge-methods .text-choice.chosen {
  border-color: #5ae7ff;
  background: #0751ac;
  box-shadow: inset 0 0 0 1px #5ae7ff;
}
.charge-methods .chosen::after {
  content: '✓';
  position: absolute;
  inset: 1px 5px auto auto;
  color: #85dcff;
  font-size: 15px;
}
.payment-tile-icon {
  display: grid;
  place-items: center;
  width: 100%;
  height: 22px;
  color: #85dcff;
}
.payment-tile-icon .payment-bank-logo { background: transparent; filter: brightness(0) invert(1); }
.payment-cash-icon {
  display: grid;
  place-items: center;
  width: 27px;
  height: 17px;
  border: 2px solid currentColor;
  border-radius: 4px;
}
.payment-cash-icon::after {
  content: '';
  width: 6px;
  height: 6px;
  border: 1.5px solid currentColor;
  border-radius: 50%;
}
.payment-mix-icon { font-size: 24px; line-height: 1; }
.charge-methods button strong { color: #ffcf70; }
.charge-mixed .charge-methods .text-choice { min-height: 64px; }

.cafe-product[hidden] { display: none; }
#cafeProductList { max-height: 45dvh; overflow: auto; overscroll-behavior: contain; }
.cafe-inventory-scroll { max-height: 55dvh; overflow: auto; overscroll-behavior: contain; }
.cafe-inventory-table { width: 100%; min-width: 510px; border-collapse: collapse; font-size: 13px; }
.cafe-inventory-table th, .cafe-inventory-table td { padding: 8px; border-bottom: 1px solid #254056; }
.cafe-inventory-table th:first-child { text-align: left; }
.cafe-inventory-table td, .cafe-inventory-table thead th:not(:first-child) { text-align: right; white-space: nowrap; }
.cafe-inventory-table thead { position: sticky; top: 0; }

.cafeteria-page main { padding-top: 12px; }
.cafeteria-page main > header { align-items: center; margin-bottom: 8px; }
.cafeteria-page main > header h1 { margin: 0; font-size: clamp(21px, 2.5vw, 26px); }
.cafeteria-page main > header .eyebrow,
.cafeteria-page main > .notice,
.cafeteria-page #scope { display: none !important; }
.cafeteria-page .toolbar {
  display: grid;
  grid-template-columns: minmax(0, 210px) minmax(0, 180px);
  gap: 8px;
  margin: 0 0 10px;
}
.cafeteria-page .toolbar label { min-width: 0; gap: 3px; font-size: 12px; }
.cafeteria-page .toolbar :is(input, select) {
  min-width: 0;
  min-height: 44px;
  padding: 6px 8px;
}
.cafe-products-panel { padding: 12px; }
.cafe-products-panel .panel-head { margin-bottom: 6px; gap: 6px; }
.cafe-products-panel .panel-head h2 { margin: 0; font-size: 17px; }
.cafe-products-panel .panel-head button { min-height: 44px; padding: 6px 10px; }
.cafe-products-panel .filter { margin: 0 0 8px; min-height: 44px; }
@media (max-width: 650px) {
  .cafeteria-page .toolbar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cafe-products-panel .panel-head button { font-size: 12px; }
}

.operation-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}
.operation-summary > div {
  display: grid;
  gap: 4px;
  padding: 8px;
  border: 1px solid #24445a;
  border-radius: 8px;
  background: #101e2b;
}
.operation-summary span { color: #9bb3c9; font-size: 11px; }
.operation-summary strong {
  color: #ffcf70;
  font-size: clamp(13px, 2.2vw, 20px);
  overflow-wrap: anywhere;
}
@media (min-width: 820px) {
  .operation-layout > .operation { grid-column: 1; grid-row: 1; }
  .operation-layout > .operation-summary { grid-column: 1; grid-row: 2; }
  .operation-layout > .active-cars { grid-column: 2; grid-row: 1 / span 3; }
  .operation-layout { grid-template-rows: auto auto minmax(0, 1fr); }
}

.operation-layout .active-wash-list { gap: 5px; }
.operation-layout .active-wash-row {
  grid-template-columns: minmax(0, 1fr) minmax(0, .9fr) auto;
  gap: 4px 8px;
  padding: 6px 8px;
  background: #0a121d;
  border-color: #28536d;
}
.operation-layout .active-wash-row:nth-child(even) {
  background: #18314b;
  border-color: #3e6c8e;
}
.operation-layout .active-wash-identity,
.operation-layout .active-wash-service { gap: 2px; line-height: 1.25; }
.operation-layout .active-wash-identity .mini-plate { font-size: 15px; padding: 3px 6px; margin: 0; }
.operation-layout .active-wash-identity > :is(span, small),
.operation-layout .active-wash-service > span { color: #adc6dc; }
.operation-layout .active-wash-service { grid-column: 2; grid-row: 1; }
.operation-layout .active-wash-value { grid-column: 3; grid-row: 1; font-size: 15px; }
.operation-layout .active-wash-actions { margin: 0; gap: 4px; align-items: center; }
.operation-layout .active-wash-actions :is(button, .entry-chat-link) { min-height: 40px; }
@media (max-width: 430px) {
  .operation-layout .active-wash-row { grid-template-columns: minmax(0, 1fr) auto; }
  .operation-layout .active-wash-service { grid-column: 1; grid-row: 2; }
  .operation-layout .active-wash-value { grid-column: 2; grid-row: 1 / span 2; }
  .operation-layout .active-wash-actions :is(button, .entry-chat-link) { min-height: 44px; }
}

.operation-summary > .operation-pending-summary {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 4px 12px;
}
.operation-pending-summary > div { display: grid; gap: 2px; }

.operation-layout > #shiftStatus {
  margin: 0;
  flex-wrap: wrap;
}
@media (min-width: 820px) {
  .operation-layout > #shiftStatus { grid-column: 1; grid-row: 3; }
  .operation-layout > .active-cars { grid-row: 1 / span 4; }
  .operation-layout { grid-template-rows: auto auto auto minmax(0, 1fr); }
}

dialog.workflow-modal:has(.worker-detail-compact) { padding: 12px; }
dialog.workflow-modal:has(.worker-detail-compact) #modalContent > .panel-head {
  position: static;
  margin: 0 0 6px;
  padding: 0;
}
.worker-detail-heading { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; }
.worker-detail-heading h3 { margin: 0; font-size: 17px; }
.worker-detail-compact .worker-detail-summary {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5px;
  margin: 8px 0;
}
.worker-detail-compact .worker-detail-summary > div { padding: 6px; gap: 2px; }
.worker-detail-compact .worker-detail-summary strong { color: #ffcf70; font-size: clamp(12px, 3vw, 18px); }
.worker-plates-scroll {
  max-height: min(48dvh, 420px);
  overflow-y: auto;
  overscroll-behavior-y: contain;
  border: 1px solid #28536d;
  border-radius: 8px;
}
.worker-detail-compact .worker-wash-list { margin: 0; border: 0; }
.worker-detail-compact .worker-wash-row { padding: 0 7px; border-color: #28536d; }
.worker-plate-line {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 7px;
  min-height: 44px;
  cursor: pointer;
  font-size: 12px;
}
.worker-plate-line .mini-plate { font-size: 13px; padding: 3px 5px; }
.worker-plate-line > span { overflow-wrap: anywhere; }
.worker-plate-commission { color: #ffcf70; white-space: nowrap; }
.worker-detail-compact .worker-wash-info { padding: 0 4px 8px; }
.worker-detail-compact .actions { position: static; margin: 6px 0 0; padding: 0; }
.worker-detail-compact .actions button { min-height: 44px; padding: 5px 8px; }

#modal:has(.compact-form) {
  padding: 12px clamp(12px, 3vw, 18px);
  max-height: calc(100dvh - 16px);
}
#modalContent:has(> .compact-form) > h2 {
  margin: 0 0 8px;
  font-size: clamp(17px, 4vw, 20px);
}
#modalContent > .compact-form { display: grid; gap: 7px; margin: 0; }
.compact-form > p,
.compact-form > .admin-picker,
.compact-form > .actions { margin: 0; }
.compact-form > .split { padding: 5px 0; gap: 8px; font-size: 14px; }
.compact-form > .total { font-size: clamp(15px, 4vw, 19px); padding: 4px 0; }
.compact-form .settlement-pay-worker { font-weight: 700; }
.compact-form .admin-picker legend { color: #adc6dc; margin-bottom: 4px; }
.compact-form .admin-buttons { gap: 6px; }
.compact-form .admin-buttons label { min-height: 44px; gap: 6px; border-radius: 8px; }
.compact-form .admin-buttons span { font-size: 18px; }
.compact-form .admin-buttons strong { font-size: 14px; }
.compact-form > .actions {
  position: sticky;
  bottom: -12px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  padding: 4px 0;
  background: #0b1119;
}
.compact-form > .actions button { min-height: 44px; padding: 5px 8px; }

#toast {
  background: #102d48;
  color: #f0f7ff;
  border: 1px solid #4d8eaf;
  box-shadow: 0 6px 20px #0008;
  font-weight: 600;
}

.plate-account-heading { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-bottom: 8px; color: #ffcf70; }
.plate-account-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.plate-account-panel { min-width: 0; padding: 8px; border: 1px solid #28536d; border-radius: 8px; }
.plate-account-panel h3 { margin: 0 0 6px; font-size: 14px; }
.plate-account-panel input { width: 100%; min-height: 44px; }
.plate-account-scroll, #plateAccountLines { max-height: 42dvh; overflow-y: auto; overscroll-behavior: contain; }
.plate-account-line { padding: 4px 0; gap: 6px; }
.plate-account-line small { display: block; color: #adc6dc; }
.plate-account-line button { min-width: 40px; min-height: 40px; padding: 4px; }
@media (max-width: 600px) {
  .plate-account-grid { grid-template-columns: minmax(0, 1fr); }
  .plate-account-scroll { max-height: 26dvh; }
  #plateAccountLines { max-height: 18dvh; }
}

dialog.workflow-modal:has(.plate-account-grid) {
  height: min(620px, calc(100dvh - 16px));
  max-height: calc(100dvh - 16px);
  padding: 10px 12px;
  overflow: hidden;
  scrollbar-gutter: auto;
}
#modalContent:has(> .plate-account-grid) {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 5px;
  height: 100%;
}
#modalContent:has(> .plate-account-grid) > .panel-head {
  position: static;
  justify-content: flex-start;
  gap: 8px;
  padding: 0;
  margin: 0;
}
#modalContent:has(> .plate-account-grid) > .panel-head h2 { margin: 0; font-size: 17px; }
#modalContent:has(> .plate-account-grid) > .panel-head button { min-height: 40px; padding: 4px 10px; }
.plate-account-heading { flex: 1; margin: 0; font-size: 14px; white-space: nowrap; }
.plate-account-heading .mini-plate { margin: 0; padding: 3px 7px; font-size: 15px; }
.plate-account-panel {
  display: flex;
  flex-direction: column;
  min-height: 0;
  padding: 6px;
}
.plate-account-panel h3 { margin-bottom: 3px; }
.plate-account-picker > .plate-account-scroll, #plateAccountLines { flex: 1; min-height: 0; max-height: none; }
#modalContent:has(> .plate-account-grid) > .actions {
  position: static;
  padding: 0;
  margin: 0;
}
#modalContent:has(> .plate-account-grid) > .actions button { min-height: 44px; padding: 5px 8px; }
@media (max-width: 600px) {
  .plate-account-grid { grid-template-rows: minmax(0, 2fr) minmax(0, 1fr); }
}

dialog.workflow-modal:has(.plate-account-grid) {
  width: min(1050px, calc(100vw - 16px));
  height: min(740px, calc(100dvh - 16px));
}
.plate-account-grid { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); }
.plate-account-tiles {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 115px), 1fr));
  align-content: start;
  gap: 6px;
  padding: 4px 2px;
}
.plate-account-tiles > p { grid-column: 1 / -1; }
.plate-product-tile {
  display: grid;
  align-content: space-between;
  gap: 4px;
  min-height: 62px;
  padding: 6px;
  background: #102437;
  border: 1px solid #326181;
  color: #edf6ff;
  font-size: 11px;
  line-height: 1.25;
  overflow-wrap: anywhere;
  touch-action: manipulation;
}
.plate-product-tile strong { color: #ffcf70; }
.plate-product-tile:hover, .plate-product-tile:focus-visible { border-color: #85dcff; background: #183a56; }
.plate-account-picker-switch button { flex: 1; padding: 4px 6px; font-size: 12px; }
.plate-account-picker:not([hidden]) { display: flex; flex: 1; flex-direction: column; min-height: 0; }
.plate-account-picker > input { flex: none; }
#plateServicesPicker .plate-product-tile[aria-pressed="true"] {
  background: #104da0;
  border-color: #5ae7ff;
}
.protected-service-label { display: block; font-size: .8em; margin-top: 2px; }
.plate-quantity { display: flex; gap: 4px; flex-shrink: 0; }
@media (max-width: 600px) {
  .plate-account-grid { grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(0, 2fr) minmax(0, 1fr); }
  .plate-account-tiles { grid-template-columns: repeat(auto-fill, minmax(min(100%, 88px), 1fr)); }
}

.cafe-tabs { display: flex; gap: 6px; margin-bottom: 8px; }
.cafe-tabs button { min-height: 44px; padding: 6px 14px; background: #101e2b; border: 1px solid #28536d; }
.cafe-tabs button[aria-pressed="true"] { background: #0869ee; border-color: #5ae7ff; }
.cafe-inventory-table .cafe-buttons { flex-wrap: nowrap; }
.cafe-inventory-table .cafe-buttons button { min-height: 38px; padding: 4px 8px; }

.cafeteria-page main { height: 100dvh; display: flex; flex-direction: column; padding-bottom: 8px; }
.cafeteria-page main > footer { display: none; }
.cafeteria-page #view { display: flex; flex-direction: column; min-height: 0; flex: 1; }
.cafe-tabs { flex-shrink: 0; }
.cafe-pos { display: flex; flex-direction: column; flex: 1; min-height: 0; margin: 0; padding: 9px; gap: 7px; }
.cafe-pos-customer { display: flex; align-items: end; flex-wrap: wrap; gap: 5px; }
.cafe-pos-customer label { flex: 1 1 175px; min-width: 0; }
.cafe-pos-customer input { width: 100%; }
.cafe-pos :is(button, input) { min-height: 44px; }
.cafe-pos-grid { flex: 1; min-height: 0; display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 7px; }
.cafe-pos .panel-head { margin: 0 0 4px; gap: 4px; }
.cafe-pos h2 { margin: 0; font-size: 15px; }
.cafe-pos-products, #cafePosLines { overflow: auto; min-height: 0; flex: 1; overscroll-behavior: contain; }
.cafe-pos-products { display: grid; grid-template-columns: repeat(auto-fill,minmax(min(100%, 105px),1fr)); align-content: start; gap: 5px; padding-top: 5px; }
.cafe-pos .plate-account-panel > input[type="search"] {
  flex: none;
  margin-bottom: 6px;
}
.cafe-pos .plate-account-panel > input[type="search"]:focus {
  outline-offset: -2px;
}
.cafe-pos-products button[hidden] { display: none; }
.cafeteria-page .cafe-products-panel { display: flex; flex-direction: column; flex: 1; min-height: 0; margin: 0; }
.cafeteria-page .cafe-products-panel .cafe-inventory-scroll { max-height: none; min-height: 0; overflow-x: hidden; }
.cafeteria-page .cafe-inventory-table, dialog .cafe-inventory-table { min-width: 0; table-layout: fixed; }
.cafe-inventory-table :is(td,th) { white-space: normal !important; overflow-wrap: anywhere; padding: 5px; }
.cafe-inventory-table .cafe-buttons { flex-wrap: wrap; }
.cafe-inventory-table .cafe-buttons button { font-size: 11px; }
@media (max-width: 650px) {
  .cafe-pos-grid { grid-template-columns: minmax(0,1fr); grid-template-rows: minmax(0,1fr) minmax(0,1fr); }
  .cafe-pos-customer button { font-size: 11px; padding: 4px 7px; }
  .cafe-inventory-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .cafe-inventory-table :is(tbody,tr) { display: block; }
  .cafe-inventory-table tbody tr { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-bottom: 1px solid #254056; }
  .cafe-inventory-table tbody :is(th, td[colspan], td:last-child) { grid-column: 1 / -1; }
  .cafe-inventory-table td[data-label]::before { content: attr(data-label); display: block; font-size: 10px; color: #adc6dc; }
  .cafe-inventory-table td { text-align: left; }
}

.cafeteria-page main > header {
  justify-content: flex-start;
  gap: 6px 12px;
  margin-bottom: 5px;
}
.cafeteria-page .head-actions {
  order: 1;
  margin-left: auto;
  gap: 6px;
}
.cafeteria-page .head-actions .avatar { padding: 7px; }
.cafeteria-page .cafe-controls { margin: 0; min-width: 0; }
.cafeteria-page .cafe-controls .toolbar {
  grid-template-columns: minmax(0, 118px) minmax(0, 106px);
  gap: 5px;
  margin: 0;
}
.cafeteria-page .cafe-controls .toolbar label {
  font-size: 10px;
  line-height: 1.1;
  gap: 1px;
}
.cafeteria-page .cafe-controls .toolbar :is(input, select) {
  width: 100%;
  min-height: 26px;
  height: 26px;
  padding: 2px 6px;
  font-size: 12px;
}
.cafe-pos-customer label { gap: 2px; font-size: 12px; }
@media (pointer: coarse) {
  .cafeteria-page .cafe-controls .toolbar :is(input, select) {
    min-height: 32px;
    font-size: 16px;
  }
}
@media (max-width: 520px) {
  .cafeteria-page main > header { flex-wrap: wrap; }
  .cafeteria-page .head-actions { order: 0; }
  .cafeteria-page main > header > .cafe-controls { flex-basis: 100%; }
}

/* Give the product name and controls the space saved on counts. */
.cafe-stock-table :is(th, td) { padding: 4px 6px; vertical-align: middle; }
.cafe-stock-table td[data-label] { text-align: right; font-variant-numeric: tabular-nums; }
@media (min-width: 651px) {
  .cafe-stock-table thead th:nth-child(n+2) { width: 10%; }
}

#modal:has(.purchase-list) { width: min(740px, calc(100vw - 16px)); }
.purchase-fields { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,140px),1fr)); gap: 7px; }
.purchase-fields input, .purchase-line input { width: 100%; min-width: 0; }
.purchase-list { max-height: 40dvh; overflow: auto; }
.purchase-line { display: grid; grid-template-columns: minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr); align-items: end; gap: 6px; padding: 5px 0; border-bottom: 1px solid #254056; }
.purchase-line[hidden] { display: none; }
.purchase-line label { font-size: 11px; }
.purchase-line input { padding-inline: 5px; }
.purchase-fields [data-invoice-total] { color: #ffcf70; font-weight: 700; }
@media (max-width: 460px) {
  .purchase-line { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .purchase-line > strong { grid-column: 1 / -1; }
}

.cafe-pos { padding: 6px; gap: 5px; }
.cafe-pos .plate-account-panel { padding: 5px; }
.cafe-pos-customer label { line-height: 1.15; }
.cafe-pos-customer input,
.cafe-pos .plate-account-panel > input[type="search"] {
  height: 36px;
  min-height: 36px;
  padding: 4px 8px;
  font-size: 14px;
}
.cafe-pos-customer > button,
.cafe-pos .panel-head > button {
  min-height: 36px;
  padding: 4px 8px;
  font-size: 12px;
}
.cafe-pos .panel-head { margin-bottom: 3px; }
.cafe-pos .cafe-pos-products .plate-product-tile {
  height: auto;
  min-height: 44px;
  padding: 4px 5px;
  gap: 2px;
  align-content: center;
}
.cafe-pos .plate-product-tile > :is(span, strong) { line-height: 1.2; }
@media (pointer: coarse) {
  .cafe-pos-customer > button,
  .cafe-pos .panel-head > button { min-height: 44px; }
}

.client-actions .ready-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
}
.ready-whatsapp-icon {
  display: grid;
  place-items: center;
  flex: 0 0 22px;
  height: 22px;
  border-radius: 50%;
  background: #25d366;
  color: #062619;
  box-shadow: 0 0 8px #25d36645;
}
.ready-whatsapp-icon svg { width: 17px; height: 17px; }

dialog.charge-modal:has(.cafe-charge-form) { padding: 12px 14px; }
.charge-modal #modalContent:has(.cafe-charge-form) > .panel-head {
  position: static;
  margin: 0 0 6px;
  padding: 0;
}
.cafe-charge-form .charge-summary { margin: 0; padding: 6px 8px; }
.cafe-charge-form .charge-time { margin: 0; }
.cafe-charge-form .charge-methods { margin: 0; gap: 5px; }
.charge-modal .cafe-charge-form .charge-methods .text-choice { min-height: 64px; }
.cafe-mixed-payment {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: end;
  gap: 8px;
}
.cafe-mixed-payment[hidden] { display: none; }
.cafe-mixed-payment label { min-width: 0; gap: 2px; }
.cafe-mixed-payment input { width: 100%; min-height: 40px; padding: 4px 8px; }
.cafe-mixed-payment .charge-remaining { margin: 0; padding: 4px 8px; }
.cafe-charge-form .actions { position: static; margin: 0; padding: 0; }
.cafe-charge-form .actions button { min-height: 44px; padding: 5px 8px; }
.cafe-charge-form button:disabled { opacity: .55; cursor: default; }

.kardex-panel { padding: 8px 10px; }
.kardex-panel > .panel-head { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin-bottom: 6px; }
.kardex-panel .cafe-buttons { order: 1; margin-left: auto; }
.kardex-panel .cafe-buttons button { min-height: 34px; padding: 4px 8px; font-size: 12px; }
.kardex-filters { flex: 1 1 315px; display: flex; flex-wrap: wrap; gap: 4px 6px; align-items: end; }
.kardex-filters > input { flex: 1 1 100px; min-width: 0; }
.kardex-filters label { flex: 1 1 105px; min-width: 0; gap: 1px; font-size: 11px; }
.kardex-filters input { width: 100%; min-height: 34px; padding: 4px 6px; font-size: 13px; }
.cafe-stock-table .kardex-arrow {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  min-height: 36px;
  padding: 2px 4px;
  border: 0;
  background: transparent;
  box-shadow: none;
  color: inherit;
  font: inherit;
  text-align: left;
}
.kardex-chevron { color: #85dcff; line-height: 1; }
.kardex-arrow[aria-expanded="true"] .kardex-chevron { transform: rotate(180deg); }
@media (max-width: 650px) {
  .kardex-panel .cafe-buttons { order: 0; }
  .kardex-filters { flex-basis: 100%; }
}
@media (pointer: coarse) {
  .kardex-panel .cafe-buttons button,
  .cafe-stock-table .kardex-arrow { min-height: 44px; }
}
.cafe-stock-table .kardex-detail[hidden] { display: none; }
.kardex-movements { text-align: left; font-size: 12px; }
.kardex-movements [role="row"] {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.65fr) 58px 45px minmax(0, .9fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.65fr);
  gap: 6px;
  padding: 6px;
}
.kardex-movement-head { color: #adc6dc; font-weight: 700; }
.kardex-movement-row { border-top: 1px solid #254056; }
.kardex-movement-row:nth-of-type(even) { background-color: #24272d; }
.kardex-movement-row:nth-of-type(odd) { background-color: #414750; }
.kardex-movements [role="row"] > :is(:nth-child(3), :nth-child(4), :nth-child(5)) { text-align: right; }
@media (max-width: 760px) {
  .kardex-movements .kardex-movement-head { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); padding: 0; }
  .kardex-movements .kardex-movement-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kardex-movements .kardex-movement-row > span { text-align: left; }
  .kardex-movement-row > span::before { content: attr(data-title); display: block; color: #adc6dc; font-size: 10px; }
}

#modal:has(.purchase-grid) { width: min(960px, calc(100vw - 16px)); }
.purchase-fields select { width: 100%; min-width: 0; }
.purchase-fields { align-items: end; }
.purchase-supplier[hidden] { display: none; }
.purchase-grid { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 8px; }
.purchase-grid .purchase-list { min-height: 0; height: 38dvh; }
.purchase-grid .purchase-line { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; }
.purchase-line > strong { grid-column: 1 / 3; }
.purchase-line > button { justify-self: end; min-height: 36px; padding: 4px 10px; }
.purchase-total { display: flex; justify-content: space-between; gap: 6px; margin: 6px 0 0; font-weight: 700; }
.purchase-total output { color: #ffcf70; white-space: nowrap; }
@media (max-width: 560px) {
  .purchase-grid { grid-template-columns: minmax(0, 1fr); }
  .purchase-grid .purchase-list { height: 22dvh; }
}

.purchase-fields textarea { width: 100%; min-width: 0; min-height: 40px; resize: vertical; }

#modal:has(.purchase-grid) { height: min(710px, 92dvh); padding: 10px 12px; }
#modalContent:has(.purchase-grid) { height: 100%; display: flex; flex-direction: column; gap: 5px; }
#modalContent:has(.purchase-grid) > h2 { margin: 0; font-size: 18px; }
#modalContent > form:has(.purchase-grid) { flex: 1; min-height: 0; display: flex; flex-direction: column; gap: 6px; }
.purchase-grid { flex: 1; min-height: 0; }
.purchase-grid .purchase-list { flex: 1; height: auto; max-height: none; }
.purchase-grid .cafe-pos-products {
  grid-auto-rows: max-content;
}
.purchase-grid .plate-product-tile {
  height: auto;
  min-height: 42px;
  padding: 5px;
  gap: 3px;
  align-content: center;
  justify-content: center;
  line-height: 1.25;
  white-space: normal;
}
.purchase-grid .plate-product-tile:focus-visible {
  outline: 2px solid #85dcff;
  outline-offset: -2px;
}
#modalContent:has(.purchase-grid) :is(.purchase-fields, .purchase-grid) label { gap: 1px; font-size: 11px; }
#modalContent:has(.purchase-grid) :is(input, select, textarea) { min-height: 32px; padding: 3px 6px; }
#modalContent:has(.purchase-grid) .actions { margin: 0; }
#modalContent:has(.purchase-grid) .actions button { min-height: 40px; padding: 5px 8px; }
.purchase-grid .purchase-line { grid-template-columns: minmax(0, 1fr) 48px 80px minmax(45px, auto) 30px; align-items: end; gap: 4px; padding: 3px 0; }
.purchase-grid .purchase-line > strong { grid-column: auto; align-self: center; font-size: 12px; overflow-wrap: anywhere; }
.purchase-grid .purchase-line > button { grid-column: 5; grid-row: 1; min-height: 32px; padding: 2px 7px; }
.purchase-line [data-subtotal] { align-self: center; text-align: right; white-space: nowrap; }
@media (max-width: 760px) {
  .purchase-grid .purchase-line { grid-template-columns: 1fr 1fr auto; }
  .purchase-grid .purchase-line > strong { grid-column: 1 / 3; }
  .purchase-grid .purchase-line > button { grid-column: 3; }
}
@media (max-width: 560px) {
  .purchase-grid { grid-template-rows: repeat(2, minmax(0, 1fr)); }
}

/* Each article occupies a summary row and a collapsible detail row. */
.cafe-stock-table tbody tr:nth-child(4n + 1) > :is(th, td),
.cafe-stock-table tbody tr:nth-child(4n + 2) > :is(th, td) {
  background-color: #0d1722;
}
.cafe-stock-table tbody tr:nth-child(4n + 3) > :is(th, td),
.cafe-stock-table tbody tr:nth-child(4n + 4) > :is(th, td) {
  background-color: #172b40;
}

.client-plate-columns {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr) minmax(0, 1.4fr);
  align-items: center;
  gap: 8px;
  padding: 7px 9px;
  overflow-wrap: anywhere;
}
.client-plate-head { color: #adc6dc; font-weight: 700; background: #142638; position: sticky; top: 0; z-index: 1; }
.client-history > summary.client-plate-columns { list-style: none; }
.client-history > summary::-webkit-details-marker { display: none; }
.client-plate-arrow { display: inline-block; color: #85dcff; }
.client-history[open] .client-plate-arrow { transform: rotate(90deg); }

.treasury-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.treasury-tabs button { min-height: 40px; padding: 6px 12px; font-size: 13px; }
.treasury-tabs button[aria-pressed="true"] {
  background: #0751ac;
  border-color: #5ae7ff;
  color: #fff;
}

.registration-phone-error { color: #ffb5a9; margin: 3px 0 0; font-size: 12px; }
dialog.registration-modal:has(#registrationWhatsApp) { padding: 9px 12px; }
.registration-modal:has(#registrationWhatsApp) #modalContent > .panel-head { margin-bottom: 3px; }
.registration-modal:has(#registrationWhatsApp) .panel-head > button { min-height: 32px; padding: 4px 9px; }
.registration-modal:has(#registrationWhatsApp) .service-total-header { margin: 2px 0 4px; }
.registration-modal:has(#registrationWhatsApp) :is(.sub, h3) { margin: 4px 0; }
.registration-modal:has(#registrationWhatsApp) .service-grid { gap: 4px; }
.registration-modal:has(#registrationWhatsApp) .service-choice { min-height: 34px; padding: 4px 7px; }
.registration-modal:has(#registrationWhatsApp) .client-phone-entry { margin-top: 5px; gap: 2px; }
.registration-modal:has(#registrationWhatsApp) input { min-height: 36px; padding: 4px 7px; }
.registration-modal:has(#registrationWhatsApp) .actions { margin-top: 5px; gap: 4px; }
.registration-modal:has(#registrationWhatsApp) .actions button { min-height: 36px; padding: 4px 6px; font-size: 12px; }
@media (min-width: 620px) {
  .registration-modal:has(#registrationWhatsApp) .service-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.cafe-cart-quantity { align-self: center; min-width: 2ch; text-align: center; font-variant-numeric: tabular-nums; }

.washer-options { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 140px), 1fr)); gap: 8px; border: 0; padding: 0; margin: 0; }
.washer-options legend { margin-bottom: 6px; }
.washer-tile { position: relative; cursor: pointer; }
.washer-tile input { position: absolute; opacity: 0; width: 1px; height: 1px; min-height: 0; }
.washer-tile span { display: grid; place-items: center; min-height: 44px; padding: 6px; border: 1px solid #326181; border-radius: 8px; background: #102437; color: #edf6ff; text-align: center; }
.washer-tile input:checked + span { background: #104da0; border-color: #5ae7ff; }
.washer-tile input:focus-visible + span { outline: 2px solid #85dcff; outline-offset: 2px; }

dialog.workflow-modal:has(.ready-contact-plate) {
  width: min(470px, calc(100vw - 16px));
  max-height: calc(100dvh - 16px);
  padding: 12px;
  scrollbar-gutter: auto;
}
.workflow-modal:has(.ready-contact-plate) #modalContent > .panel-head {
  position: static;
  margin: 0 0 6px;
  padding: 0;
}
.workflow-modal:has(.ready-contact-plate) .panel-head h2 { font-size: 17px; margin: 0; }
.workflow-modal:has(.ready-contact-plate) .panel-head button { min-height: 36px; padding: 4px 9px; }
.workflow-modal .ready-contact-plate { max-width: 180px; padding: 4px 8px; margin: 4px auto 8px; font-size: 22px; }
.workflow-modal:has(.ready-contact-plate) #customerPhone { min-height: 36px; padding: 4px 8px; font-size: 14px; }
.workflow-modal:has(.ready-contact-plate) .client-message { margin: 8px 0; padding: 8px; font-size: 13px; line-height: 1.45; }
.workflow-modal:has(.ready-contact-plate) .whatsapp-link { min-height: 40px; padding: 8px; font-size: 14px; }
.workflow-modal:has(.ready-contact-plate) .whatsapp-help { margin: 6px 0 0; padding: 6px 8px; font-size: 12px; }
.workflow-modal:has(.ready-contact-plate) #contactFeedback:empty { margin: 0; }

.closing-page .closing-compact { padding: 10px 12px; margin-bottom: 8px; }
.closing-compact h2 { margin: 0 0 6px; }
.closing-compact .ordered-closing { margin: 0; }
.closing-compact .ordered-closing .split { padding: 5px 8px; min-height: 0; gap: 8px; }
.closing-compact .ordered-closing .split strong { white-space: nowrap; }
.closing-expenses summary { cursor: pointer; }
.closing-compact .closing-compact-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: end;
  gap: 8px;
  margin-top: 8px;
}
.closing-compact-form .admin-picker, .closing-compact-form .actions { margin: 0; padding: 0; }
.closing-compact-form .admin-buttons { gap: 5px; }
.closing-compact-form .admin-buttons label, .closing-compact-form .actions button {
  min-height: 40px;
  padding: 5px 7px;
  font-size: 12px;
}
.closing-compact-form .admin-buttons span { font-size: 16px; }
.closing-compact-form .admin-buttons strong { font-size: 13px; }
@media (max-width: 650px) {
  .closing-compact .closing-compact-form { grid-template-columns: minmax(0, 1fr); }
}

.closing-page main > .notice { display: none; }
.closing-page main > header .toolbar input,
.closing-page main > header .toolbar select {
  width: 116px;
  min-height: 30px;
  height: 30px;
  padding: 3px 6px;
}
.closing-compact .closing-heading { margin: 0 0 6px; gap: 6px; }
.closing-compact .closing-heading h2 { margin: 0; }
.closing-heading button { min-height: 36px; padding: 5px 10px; font-size: 12px; }
@media (max-width: 650px) {
  .closing-page main > header .toolbar { justify-content: start; }
  .closing-page main > header .toolbar label { flex: 0 1 116px; }
  .closing-page main > header .toolbar input,
  .closing-page main > header .toolbar select { width: 100%; }
}

.expense-modal .closing-expense-fields {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  gap: 6px 10px;
  align-items: end;
}
.expense-modal .expense-concept { min-height: 42px; padding: 4px; gap: 2px; }
.expense-modal .closing-expense-fields .admin-picker { margin: 0; padding: 0; }
.expense-modal .closing-expense-fields input:not([type="radio"]),
.expense-modal .compact-form select { min-height: 36px; padding: 4px 8px; }

.closing-page main > header .toolbar { align-items: end; }
.closing-page main > header .toolbar :is(input, select, #closingHistoryButton) {
  box-sizing: border-box;
  height: 30px;
  min-height: 30px;
  margin: 0;
}
#closingHistoryButton { flex: none; padding: 3px 8px; font-size: 12px; white-space: nowrap; }
.closing-history-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; }
.closing-history-filters input { min-height: 36px; padding: 4px 8px; }
#closingHistoryResults { max-height: 55dvh; overflow: auto; }
@media (max-width: 650px) {
  .closing-page main > header .toolbar { flex-wrap: wrap; justify-content: end; }
}

.closing-compact .closing-row-label { flex: 1; min-width: 0; }
.closing-compact .split:has(.closing-expenses[open]) { align-items: start; }
.closing-expense-table { overflow-x: auto; margin-top: 6px; }
.closing-expense-table table { width: 100%; border-collapse: collapse; font-size: 0.85em; }
.closing-expense-table :is(th, td) { padding: 5px 8px; text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.closing-expense-table :is(th, td):last-child { text-align: right; white-space: nowrap; }
.closing-expense-table td { border-bottom: 1px solid #254056; }

.closing-confirmation-list {
  margin: 0;
  padding: 10px 12px 10px 30px;
  background: #182637;
  border: 1px solid #355775;
  border-radius: 8px;
  max-height: 40dvh;
  overflow: auto;
}
.closing-confirmation-list li { white-space: pre-line; overflow-wrap: anywhere; }
.closing-confirmation-list li + li { margin-top: 6px; }

body:has(.manager-period) main { padding-top: 10px; }
body:has(.manager-period) main > :is(.notice, .toolbar, #scope),
body:has(.manager-period) header .eyebrow { display: none; }
body:has(.manager-period) header { margin-bottom: 8px; }
body:has(.manager-period) header h1 { margin: 0; font-size: 22px; }
.manager-period { display: flex; flex-wrap: wrap; align-items: end; gap: 6px; margin-bottom: 8px; }
.manager-period label { gap: 3px; font-size: 12px; }
.manager-period input, .manager-period button { min-height: 34px; padding: 4px 8px; font-size: 13px; }
.manager-finance { padding: 12px; }
.manager-finance h2 { margin: 0 0 8px; }
.manager-result { border-bottom: 1px solid #254056; }
.manager-result summary { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 8px; cursor: pointer; }
.manager-result summary > span::before { content: '▸'; margin-right: 6px; }
.manager-result[open] > summary > span::before { content: '▾'; }
.manager-result-body { padding: 0 8px 6px 14px; }
.manager-highlight { background: #102b42; border-radius: 4px; padding: 8px; }
.manager-highlight strong { color: #ffcf70; }
.manager-table { overflow-x: auto; }

#managerReportsButton { min-height: 34px; padding: 4px 9px; font-size: 13px; }

dialog:has(.manager-cost-list) { width: min(790px, calc(100vw - 20px)); }
.manager-cost-list { max-height: 56dvh; overflow: auto; border: 1px solid #254056; border-radius: 8px; }
.manager-cost-row { display: grid; grid-template-columns: minmax(0, 2fr) repeat(2, minmax(0, 1fr)); align-items: center; gap: 10px; padding: 9px; background: #0d1723; }
.manager-cost-row:nth-child(even) { background: #172b3e; }
.manager-cost-row h3 { margin: 0 0 4px; font-size: 15px; overflow-wrap: anywhere; }
.manager-cost-row small { color: #adbed4; }
.manager-cost-row input { width: 100%; min-width: 0; min-height: 36px; padding: 4px 8px; }
@media (max-width: 550px) {
  .manager-cost-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .manager-cost-row > div { grid-column: 1 / -1; }
}

.manager-stock-cost-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; }
.manager-stock-cost-actions button { min-height: 34px; padding: 4px 8px; font-size: 12px; }
.manager-stock-cost-actions strong { white-space: nowrap; }

.manager-profit > .split,
.manager-profit > .manager-result > summary {
  min-height: 36px;
  padding: 7px 8px;
  box-sizing: border-box;
}
.manager-profit > .split > span { padding-inline-start: 16px; }
.manager-profit > .manager-result > summary > span { position: relative; padding-inline-start: 16px; }
.manager-profit > .manager-result > summary > span::before { position: absolute; inset-inline-start: 0; margin: 0; }
.manager-profit > .split strong,
.manager-profit > .manager-result > summary > strong {
  text-align: end;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.manager-margin-heading { display: flex; flex-wrap: wrap; align-items: end; gap: 6px 12px; }
.manager-margin-heading h2 { margin: 0 auto 0 0; }
.manager-margin-heading .manager-period { margin: 0; }
.manager-margin-heading > button { min-height: 34px; padding: 4px 8px; font-size: 13px; }
.manager-margin > .sub { margin: 5px 0 8px; }
.manager-margin .manager-table { min-height: 0; overflow: auto; overscroll-behavior: contain; }
body:has(.manager-margin) main { height: 100dvh; box-sizing: border-box; display: flex; flex-direction: column; }
body:has(.manager-margin) main > :is(header, footer) { flex: none; }
body:has(.manager-margin) #view { display: flex; flex: 1; min-height: 0; }
.manager-margin { flex: 1; min-width: 0; min-height: 0; display: flex; flex-direction: column; margin-bottom: 0; }
.manager-margin > :not(.manager-table) { flex: none; }
.manager-margin .manager-table { flex: 1; }
.manager-beer .manager-margin-heading { justify-content: space-between; align-items: end; }
.beer-demo-note { margin: 0; }
.beer-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 5px; margin: 6px 0; }
.beer-summary > div { display: grid; gap: 2px; padding: 5px 8px; background: #102437; border-radius: 5px; }
.beer-summary span { font-size: 11px; color: #b0c7dc; }
.beer-summary strong { font-size: 14px; }
.beer-summary .beer-reserve strong { color: #ffcf70; }
body:has(.manager-beer) main > footer { display: none; }
@media (max-width: 650px) {
  .beer-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-height: 540px) {
  body:has(.manager-margin) main { height: auto; }
  .manager-margin .manager-table { max-height: 60dvh; }
}
.manager-margin .manager-table table { margin: 0; border-collapse: separate; border-spacing: 0; }
.manager-margin .manager-table :is(th, td) { padding: 7px 8px; }
.manager-margin .manager-table thead th { position: sticky; top: 0; z-index: 1; }
.manager-line-picker { max-height: 62dvh; overflow: auto; overscroll-behavior: contain; }
.manager-line-picker .split { padding: 5px 8px; }
.manager-line-picker select { width: min(40%, 180px); min-height: 34px; }
@media (max-width: 650px) {
  .manager-margin .manager-table table.responsive-table { display: table; min-width: 690px; }
  .manager-margin .manager-table table.responsive-table thead { display: table-header-group; }
  .manager-margin .manager-table table.responsive-table tbody { display: table-row-group; }
  .manager-margin .manager-table table.responsive-table tr { display: table-row; }
  .manager-margin .manager-table table.responsive-table :is(th, td) { display: table-cell; }
  .manager-margin .manager-table table.responsive-table td::before { display: none; }
}

body:has(.manager-home) main > :is(.notice, .toolbar, #scope) { display: none; }
.manager-home { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 215px), 1fr)); align-items: start; gap: 10px; }
.manager-home-reports { min-width: 0; display: grid; align-content: start; gap: 6px; padding: 12px; }
.manager-home-reports h2 { margin: 0 0 4px; }
.manager-home-reports button { display: flex; justify-content: space-between; align-items: center; text-align: start; min-height: 40px; padding: 6px 10px; }

#closingCashAccess { flex: none; min-height: 30px; padding: 3px 8px; font-size: 12px; }
body:has(.cash-custody-view) main > :is(.notice, #scope) { display: none; }
.cash-custody-view .treasury-balances { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-bottom: 8px; }
.cash-custody-view .treasury-balances .card { min-height: 0; margin: 0; padding: 9px; }
.cash-custody-view .treasury-balances .icon { display: none; }
.cash-custody-view .treasury-card-action { min-height: 34px; padding: 4px 7px; font-size: 12px; }
.cash-custody-history { max-height: 42dvh; overflow: auto; overscroll-behavior: contain; }
.cash-custody-history .panel { margin: 0 0 6px; padding: 8px; }

.expense-report-choices { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); gap: 8px; }
.expense-report-choices button { min-height: 48px; padding: 8px; }
.expenses-page main > .notice { display: none; }

.expense-report-filters { display: flex; flex-wrap: wrap; align-items: end; gap: 8px; margin-bottom: 8px; }
.expense-report-results { flex: 1; min-height: 0; overflow: auto; overscroll-behavior: contain; }
.expense-report-results table { margin: 0; border-collapse: separate; border-spacing: 0; }
.expense-report-results th { position: sticky; top: 0; z-index: 1; }
.expense-report-results td small { display: block; }

.expenses-page main { height: 100dvh; box-sizing: border-box; display: flex; flex-direction: column; }
.expenses-page main > footer { display: none; }
.expenses-page #view, .expense-report-page, .expense-report-panel:not([hidden]) {
  display: flex; flex-direction: column; flex: 1; min-height: 0;
}
.expense-report-page { gap: 10px; }
.expense-report-choices { flex: none; }
.expense-report-choices button[aria-pressed="true"] { background: #104da0; border-color: #55d8ff; }
.expense-report-panel { padding: 10px; margin: 0; }
.expense-report-filters { flex: none; }
.expense-report-filters h2 { margin: 0 auto 0 0; font-size: 16px; }
.expense-report-filters label { font-size: 11px; gap: 2px; }
.expense-report-filters input, .expense-report-filters button { min-height: 32px; padding: 3px 7px; font-size: 13px; }
.expense-report-results :is(td, th) { padding: 8px 10px; }
.expense-report-results tbody tr:nth-child(odd) td { background: #0d1723; }
.expense-report-results tbody tr:nth-child(even) td { background: #172b3e; }

body:has(.purchase-suggestion, .manager-treasury) main > :is(.notice, #scope),
body:has(.purchase-suggestion, .manager-treasury) header .eyebrow { display: none; }
body:has(.purchase-suggestion) main {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  height: 100dvh;
  padding-block: 10px;
}
body:has(.purchase-suggestion) main > header { flex-wrap: wrap; gap: 8px; margin: 0 0 8px; }
body:has(.purchase-suggestion) main > header h1 { margin: 0; font-size: 22px; }
body:has(.purchase-suggestion) main > footer { display: none; }
body:has(.purchase-suggestion) #view,
.purchase-suggestion { display: flex; flex: 1; min-height: 0; }
.purchase-suggestion { padding: 6px; margin: 0; min-width: 0; }
.purchase-suggestion-controls { display: flex; flex-wrap: wrap; align-items: end; gap: 6px; margin-left: auto; }
.purchase-suggestion-controls label { gap: 2px; font-size: 12px; }
.purchase-suggestion-controls input { width: 96px; min-height: 34px; padding: 3px 6px; }
.purchase-suggestion-controls button { min-height: 34px; padding: 4px 9px; font-size: 13px; }
.purchase-suggestion-results input.purchase-quantity { width: 68px; min-height: 32px; padding: 3px 5px; text-align: right; color: #ffce70; }
.purchase-suggestion-results {
  flex: 1;
  min-width: 0;
  overflow: auto;
  overscroll-behavior: contain;
  border: 1px solid #29445b;
  border-radius: 8px;
}
@media (max-width: 760px) {
  .purchase-suggestion-controls { order: 1; flex-basis: 100%; margin-left: 0; }
  .purchase-suggestion-results table { min-width: 470px; }
}
.purchase-suggestion-results table { margin: 0; border-collapse: separate; border-spacing: 0; }
.purchase-suggestion-results :is(th, td) { padding: 5px 8px; text-align: right; }
.purchase-suggestion-results th:first-child { text-align: left; }
.purchase-suggestion-results thead th { position: sticky; top: 0; z-index: 1; background: #142638; }
.purchase-suggestion-results tbody tr > * { background: #0d1723; color: #edf6ff; }
.purchase-suggestion-results tbody tr:nth-child(even) > * { background: #172b3e; }


#incomeReport .expense-report-results td:last-child { text-align: right; font-weight: 700; }
#incomeReportTotal { color: #ffce70; white-space: nowrap; }
#incomeReportAudit { min-height: 32px; }

.manager-treasury { display: grid; gap: 10px; }
.manager-treasury .panel { padding: 12px; margin: 0; min-width: 0; }
.manager-treasury .panel-head { flex-wrap: wrap; gap: 8px; margin-bottom: 6px; }
.manager-treasury .panel-head h2 { margin: 0; font-size: 1.05rem; }
.manager-treasury .split { padding: 6px 8px; }
.manager-treasury .split:nth-child(odd) { background: #132639; }
.manager-treasury .treasury-actions { margin: 0; }
.manager-treasury button { min-height: 36px; padding: 5px 9px; }
.treasury-amount { color: #ffce70; font-size: 1.4rem; }
.treasury-register-scroll { max-height: 40dvh; overflow: auto; overscroll-behavior: contain; }
.treasury-register-scroll table { margin: 0; }
.treasury-register-scroll thead th { position: sticky; top: 0; z-index: 1; }

body:has(.manager-margin:not(.manager-beer)) main { padding-bottom: 10px; }
body:has(.manager-margin:not(.manager-beer)) main > footer { display: none; }
.manager-margin tfoot :is(th, td) {
  position: sticky;
  bottom: 0;
  z-index: 1;
  background: #153149;
  border-top: 1px solid #46718d;
  color: #ffcf70;
  font-weight: 700;
  white-space: nowrap;
}
@media (max-width: 650px) {
  .manager-margin .manager-table table.responsive-table tfoot { display: table-footer-group; }
}

body:has(.income-report-page) main { padding-block: 10px; }
body:has(.income-report-page) main > header .eyebrow { display: none; }
body:has(.income-report-page) main > header { margin: 0 0 8px; min-height: 0; }
body:has(.income-report-page) main > header h1 { margin: 0; font-size: 22px; }
.income-report-page { gap: 8px; }
.income-report-page .expense-report-choices {
  display: flex;
  flex-wrap: wrap;
}
.income-report-page .expense-report-choices button { min-width: 112px; min-height: 34px; padding: 4px 10px; }
.income-report-page .expense-report-filters { gap: 6px; margin-bottom: 6px; }
.income-report-page .expense-report-filters input { width: 132px; }
.income-report-page .expense-report-results :is(th, td) { padding-block: 6px; }

.purchase-suggestion-results thead small { display: block; font-size: 10px; text-transform: none; }

#modal .modal-feedback:not([hidden]) {
  margin: 5px 0;
  padding: 7px 10px;
  border: 1px solid #a24e59;
  border-radius: 7px;
  background: #38212a;
  color: #ffd5d9;
  font-size: 14px;
}
#modal .bank-pin-field input[aria-invalid="true"] { border-color: #ef8490; }

aside .business-brand img {
  display: block;
  width: min(100%, clamp(52px, 14dvh, 112px));
  height: auto;
  margin-inline: auto;
  border-radius: 8px;
}
aside .sidebar-app-brand { display: grid; flex-shrink: 0; justify-items: center; gap: 4px; padding-top: 10px; text-align: center; color: #bed8eb; font-size: 12px; }
.sidebar-app-brand img { display: block; width: min(100%, clamp(64px, 20dvh, 164px)); height: auto; border-radius: 8px; }
@media (max-width: 650px) {
  body:not(.nav-expanded) aside .sidebar-app-brand { display: none; }
}
