/* Paleta de referencia: https://www.parqui.co/ — aplicada a la interfaz propia. */
:root{--primary:#f5b81f;--primary-hover:#e4a70c;--primary-soft:#fdf1d2;--navy:#072e3b;--green:#343f4b;--lime:#f5b81f;--bg:#f4f4f4;--muted:#5a6978;--line:#e8ecef;--ink:#343f4b;--focus:#135988}
body{background:var(--bg);color:var(--ink)}
.logo{background:var(--primary);color:var(--navy)}
.brand-dot{color:var(--primary)}
.location-icon{color:var(--navy)}
.location{border-color:var(--line)}
.online,.live i{background:#238539}
.live{color:#5a6978}
.nav-label{color:#737373}
#nav button{color:#5a6978}
#nav button:hover{background:#fdf1d2;color:var(--navy)}
#nav button.active{background:var(--primary);color:var(--navy);font-weight:700}
#nav .badge{background:var(--navy);color:#fff}
.help-box{background:#fdf1d2;color:var(--navy)}
.help-box p,.help-box span{color:#5a6978}
.avatar{background:#eef1f4;color:var(--ink)}
.breadcrumb,.header-right{color:#737373}
.breadcrumb strong{color:var(--ink)}
.eyebrow{color:#66500c}
.primary,.row-action[data-do="pay"]{background:var(--primary);color:var(--navy);border:1px solid #d59b09;font-weight:700}
.primary:hover,.row-action[data-do="pay"]:hover{background:var(--primary-hover);border-color:#bd8906;color:var(--navy)}
.secondary{background:#fff;border-color:#d4d2d2;color:var(--ink)}
.secondary:hover{background:#fdf1d2;border-color:#e3ba52}
.actions button[data-do="findExit"]{background:#135988;border-color:#0b3d60;color:#fff;font-weight:700;box-shadow:0 2px 0 #0b3d60}
.actions button[data-do="findExit"]:hover{background:#1b6da2;border-color:#0b3d60;color:#fff}
@media(max-width:560px){.page-head .actions{flex-wrap:wrap}.page-head .actions button{flex:1 1 135px}}
.text-link{color:#735309}
.stat-top,.stat-note,.sub{color:#5a6978}
.stat-icon{background:var(--primary-soft);color:var(--navy)}
.stat-note b{color:#46535e}
.stat.stat-debt{background:#fff0e9;border:1px solid #d95c42;border-left:5px solid #b42318;box-shadow:0 7px 20px #b4231814}
.stat-debt .stat-top,.stat-debt .stat-note{color:#8c3024;font-weight:700}
.stat-debt .stat-value{color:#a62218}
.stat-debt .stat-icon{background:#b42318;color:#fff}
.stat.stat-revenue{background:#eaf8ef;border:1px solid #54a979;border-left:5px solid #18733c;box-shadow:0 7px 20px #18733c14}
.stat-revenue .stat-top,.stat-revenue .stat-note{color:#176034;font-weight:700}
.stat-revenue .stat-value{color:#10562c}
.stat-revenue .stat-icon{background:#18733c;color:#fff}
.stat.stat-vehicles{background:#eef7fc;border:1px solid #9bc8e6;border-left:5px solid #135988}.stat-vehicles .stat-icon{background:#d9edf9;color:#135988}
.stat.stat-monthly{background:#fff8e7;border:1px solid #ead08a;border-left:5px solid #d08b00}.stat-monthly .stat-icon{background:#ffedb8;color:#9a6500}
.stat.stat-cash{background:#f0e8ff;border:1px solid #b99ae8;border-left:6px solid #6f42c1}.stat-cash .stat-icon{background:#dfcfff;color:#5a2fa5}
.stat.stat-bank{background:#def8f5;border:1px solid #7bcfc4;border-left:6px solid #008f83}.stat-bank .stat-icon{background:#bcece6;color:#007267}
.stat.stat-cards{background:#ffeadf;border:1px solid #e5a27f;border-left:6px solid #d45b24}.stat-cards .stat-icon{background:#ffd0bb;color:#ad4316}
.stat.stat-assigned{background:#f4efff;border:1px solid #c7b4ee;border-left:5px solid #6f42c1}.stat-assigned .stat-icon{background:#e8ddff;color:#6f42c1}
.stat.stat-filter{cursor:pointer;transition:transform .15s,box-shadow .15s}.stat.stat-filter:hover,.stat.stat-filter:focus-visible,.stat.stat-filter.is-selected{transform:translateY(-2px);box-shadow:0 8px 20px #072e3b20;outline:none}.stat.billing-pending{background:#fff5d9;border:1px solid #e4bd58;border-left:5px solid #c58a00}.billing-pending .stat-icon{background:#ffe8a3;color:#8b5d00}.stat.billing-overdue{background:#ffebe7;border:1px solid #e39a8c;border-left:5px solid #b42318}.billing-overdue .stat-icon{background:#ffd0c8;color:#a31d13}.stat.billing-paid{background:#e8f7ee;border:1px solid #8ac8a0;border-left:5px solid #18733c}.billing-paid .stat-icon{background:#c8ecd4;color:#14602f}.stat.billing-plans{background:#eee8ff;border:1px solid #b9a4e8;border-left:5px solid #6f42c1}.billing-plans .stat-icon{background:#ded2ff;color:#5a35a8}
.stat.spot-capacity{background:#eef7fc;border-top:4px solid #135988}.stat.spot-capacity .stat-icon{background:#d9edf9;color:#135988}
.stat.spot-occupied{background:#eef0f2;border:1px solid #111;border-top:4px solid #111}.stat.spot-occupied .stat-top,.stat.spot-occupied .stat-note{color:#222;font-weight:700}.stat.spot-occupied .stat-value{color:#111}.stat.spot-occupied .stat-icon{background:#111;color:#fff}
.stat.spot-assigned{background:#fff8e7;border-top:4px solid #d08b00}.stat.spot-assigned .stat-icon{background:#ffedb8;color:#9a6500}
.stat.spot-available{background:#eefaf2;border-top:4px solid #18733c}.stat.spot-available .stat-icon{background:#dff3e6;color:#18733c}
.spot-row-actions{display:flex;gap:8px}.row-action[data-do="deleteSpot"]{background:#b42318;color:#fff;border-color:#921c13;box-shadow:0 2px 0 #921c13}.row-action[data-do="deleteSpot"]:hover{background:#921c13;color:#fff}
#entrySpot[readonly]{background:#f7f8f9;cursor:pointer}
.legend,.occupancy-bottom,.occupancy-number span{color:#5a6978}
.legend i{background:#fff2ce;border:1px solid #dbb956}
.legend i.busy{background:var(--navy);border-color:var(--navy)}
.space{background:#fff8e8;border-color:#eddcae;color:#6c5b2e}
.space.busy{background:var(--navy);border-color:var(--navy);color:#fff}
.collection{background:var(--navy);color:#fff}
.collection p,.collection small{color:#d4dce1}
.collection .tag{background:#ffffff1f;color:#fff}
.collection .primary{background:var(--primary);color:var(--navy)}
.collection .primary:hover{background:var(--primary-hover)}
.collection .progress span{background:var(--primary)}
.tag{background:#e6f6eb;color:#17652d}
.tag.warning{background:#fff0c8;color:#785400}
.tag.danger{background:#fae5eb;color:#a11537}
.row-action,.row-action[data-do="pay"]{display:inline-flex;align-items:center;justify-content:center;min-height:28px;background:var(--primary);color:var(--navy);border:1px solid #b98100;border-radius:5px;font-size:11px;font-weight:700;line-height:1.2;padding:6px 10px;white-space:nowrap;box-shadow:0 2px 0 #b98100,0 2px 4px #072e3b18;transition:background .15s,box-shadow .15s,transform .15s}
.row-action:hover,.row-action[data-do="pay"]:hover{background:#ffca41;color:var(--navy);border-color:#a97500;box-shadow:0 2px 0 #a97500,0 3px 6px #072e3b26}
.row-action:active,.row-action[data-do="pay"]:active{transform:translateY(1px);box-shadow:0 1px 0 #a97500}
.row-action:disabled{box-shadow:none;transform:none}
.row-action[data-do="receipt"]{background:#135988;color:#fff;border-color:#0b3d60;box-shadow:0 2px 0 #0b3d60,0 2px 4px #072e3b18}
.row-action[data-do="receipt"]:hover{background:#1b6da2;color:#fff;border-color:#0b3d60;box-shadow:0 2px 0 #0b3d60,0 3px 6px #072e3b26}
.row-action[data-do="receipt"]:active{box-shadow:0 1px 0 #0b3d60}
.row-action[data-do="receipt"]:disabled{box-shadow:none}
.notice{background:#fff6df;border-color:#ebd59e;color:#66501b}
th{background:#f7f8f9;color:#5a6978}
td{color:#5a6978;border-color:var(--line)}
td strong{color:var(--ink)}
.table-foot,.empty{color:#5a6978}
.plate{background:#ffd600;color:#000;border-color:#d6ac00}
input,select,textarea{color:var(--ink);border-color:#c8ced4}
label input[type="checkbox"]{display:inline-block;width:16px;min-width:16px;margin:0 8px 0 0;padding:0;vertical-align:middle;accent-color:#b38413}
.password-field{display:flex;align-items:center;gap:8px;margin-top:7px}.password-field input{margin-top:0;flex:1}.password-toggle{border:1px solid #c8ced4;border-radius:6px;padding:10px 11px;font-size:11px;color:var(--navy);background:#fff;white-space:nowrap}.password-toggle:hover{background:#fdf1d2}
.billing-actions{display:inline-flex;gap:6px;align-items:center}.share-action,.pdf-action{display:inline-grid;place-items:center;width:30px;height:30px;padding:0;border:0!important;box-shadow:none!important;color:#fff}.share-action{background:#d6298f}.share-action:hover{background:#b51f77}.pdf-action{background:#c62828}.pdf-action:hover{background:#a61f1f}.share-action i,.pdf-action i{font-size:13px}
.tag.vehicle-inside{background:#171717!important;color:#fff!important;border:1px solid #000!important;font-weight:800}
.danger-action{background:#c62828;color:#fff}.danger-action:hover{background:#a61f1f}
tbody td.dtr-control{cursor:pointer!important;position:relative!important;padding-left:30px!important;min-width:0!important;overflow:visible!important}tbody td.dtr-control:before{content:'+'!important;display:grid!important;place-items:center!important;position:absolute!important;left:8px!important;top:50%!important;transform:translateY(-50%)!important;width:16px!important;height:16px!important;box-sizing:border-box!important;border:2px solid #d5d9d6!important;border-radius:50%!important;background:#22a447!important;color:#fff!important;font-size:13px!important;line-height:1!important;font-weight:800!important;box-shadow:0 1px 2px #0002!important}tbody td.dtr-control.dtr-selected:before{content:'−'!important;background:#198c3a!important}
input:focus,select:focus,textarea:focus{border-color:#b38413;box-shadow:0 0 0 3px #f5b81f33}
button:focus-visible,a:focus-visible,.row-action[data-do="pay"]:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.dt-container .dt-search input,.dt-container .dt-length select{border-color:#c8ced4!important;color:var(--ink)}
.dt-container .dt-info,.dt-container table.dataTable>tbody>tr>td.dt-empty{color:#5a6978}
.dt-container .dt-paging .dt-paging-button.current{background:var(--primary)!important;border-color:#d59b09!important;color:var(--navy)!important}
.dt-container .dt-paging .dt-paging-button:hover{background:var(--navy)!important;border-color:var(--navy)!important;color:#fff!important}
.dt-processing{background:#fff7e4!important;border-color:#e9cf8a!important}
#toast{background:var(--navy);color:#fff}
footer{color:#737373}
.print-receipt p{color:var(--ink)}
/* Mantener destacados los saldos pendientes y vencimientos. */
.tag.debt-alert{background:#ffe0d8;color:#9b2416;border-color:#ed9c8c;border-left-color:#c73822}
.server-table[data-grid="billing"] .tag.danger{background:#b42318;color:#fff;border-color:#921c13}
.server-table[data-grid="billing"] .tag.paid-status{background:#18733c;color:#fff;border:1px solid #10562c;font-size:12px;font-weight:800;padding:8px 12px;border-radius:6px;line-height:1.3}
.cash-subnav{margin:2px 0 8px 22px;padding-left:10px;border-left:2px solid #f5b81f}.cash-subnav button{width:100%;font-size:11px!important;padding:9px 10px!important;margin:2px 0}#nav{overflow-y:auto;min-height:0}#sidebar .side-bottom{flex-shrink:0}
.concept-types{display:block;width:100%;max-width:100%;box-sizing:border-box;border:1px solid #d4d2d2;border-radius:7px;padding:14px;margin:0 0 16px;overflow:hidden}.concept-types legend{font-size:11px;padding:0 6px}.concept-types label{display:flex!important;align-items:center;gap:9px;width:100%;margin:8px 0;line-height:1.35}.concept-types input[type="checkbox"]{display:block;width:16px!important;min-width:16px!important;max-width:16px!important;height:16px;margin:0;accent-color:#b38413;flex:0 0 16px}
.closure-actions{display:flex;gap:8px}.row-action[data-do="voidClosure"]{background:#b42318;color:#fff;border-color:#921c13;box-shadow:0 2px 0 #921c13}.row-action[data-do="voidClosure"]:hover{background:#921c13;color:#fff;border-color:#79170f;box-shadow:0 2px 0 #79170f}
/* Estados destacados en todos los listados, sin modificar las etiquetas del panel. */
.server-table .tag:not(.debt-alert){display:inline-flex;align-items:center;justify-content:center;background:#18733c;color:#fff;border:1px solid #10562c;font-size:11px;font-weight:800;padding:6px 10px;border-radius:5px;line-height:1.3;white-space:nowrap}
.server-table .tag.warning{background:#f5b81f;color:#342700;border-color:#b98100}
.server-table .tag.danger{background:#b42318;color:#fff;border-color:#921c13}
.server-table .tag.busy{background:#111;color:#fff;border-color:#000}
.server-table tfoot th{padding:12px 13px;text-align:right;background:#fafbfc;border-top:2px solid #d7dee2;color:#415161;font-size:12px;font-weight:600}.server-table tfoot th:nth-child(3){text-align:right!important;padding-right:0}.server-table tfoot th:nth-child(3) strong{display:block;text-align:right}.server-table tfoot strong{color:var(--navy);font-weight:800}
.space.assigned{background:#f5b81f;border-color:#bb8b15;color:#072e3b;font-weight:700}.legend i.assigned{background:#f5b81f;border-color:#bb8b15}.spot-map-note{font-size:10px;line-height:1.5;color:#5a6978;margin-top:12px}
.spot-picker-actions{display:flex;gap:15px;align-items:center;margin:-4px 0 15px}#membershipSpot[readonly]{background:#f7f8f9}#spotPicker{width:min(740px,95vw);max-height:85vh;padding:24px}.spot-picker-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(48px,1fr));gap:9px;margin:20px 0}.spot-choice{min-height:40px;border:1px solid #ddc78d;border-radius:6px;background:#fff8e8;color:#342700;font-size:12px;font-weight:700}.spot-choice:hover{background:#f5b81f;border-color:#b98100}.spot-choice.unavailable{background:#f5b81f;color:#514216;opacity:1;border-color:#bb8b15;cursor:not-allowed}.spot-choice.selected{background:#135988;border:2px solid #072e3b;color:#fff}.spot-choice:focus-visible{outline:3px solid #135988;outline-offset:2px}.spot-picker-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;border-top:1px solid #e8ecef;padding-top:15px}#spotPicker p{font-size:12px}
.dashboard-cash-heading{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
.treasury-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.treasury-actions .row-action{min-width:72px}.treasury-actions .row-action[data-do="voidTreasury"]{background:#b42318;color:#fff;border-color:#921c13;box-shadow:0 2px 0 #921c13}.treasury-actions .row-action[data-do="voidTreasury"]:hover{background:#921c13;color:#fff}
.dt-layout-row{position:relative;align-items:center!important}.dt-center-actions{display:flex;align-items:center;justify-content:center;gap:0;margin:0 auto;white-space:nowrap}.dt-tool{height:30px;min-width:34px;padding:0 9px;border:0;border-right:1px solid #ffffff66;color:#fff;font:700 11px 'DM Sans',Arial,sans-serif;line-height:30px;display:inline-flex;align-items:center;justify-content:center;gap:5px;transition:filter .15s,transform .15s}.dt-tool i{font-size:13px;line-height:1}.dt-tool:first-child{border-radius:4px 0 0 4px}.dt-tool:last-child{border-radius:0 4px 4px 0;border-right:0}.dt-tool:hover{filter:brightness(1.08);transform:translateY(-1px)}.dt-tool-new,.dt-tool-entry{background:var(--primary);color:var(--navy);min-width:76px;border-right-color:#d59b09}.dt-tool-new:hover,.dt-tool-entry:hover{background:var(--primary-hover);color:var(--navy)}.dt-tool-exit{background:#135988;color:#fff;min-width:130px}.dt-tool-exit:hover{background:#1b6da2;color:#fff}.dt-tool-print{background:#4cc0d8}.dt-tool-copy{background:#26333b}.dt-tool-pdf{background:#df4e4e}.dt-tool-excel{background:#4cae61}.dt-center-actions button:focus-visible{outline:2px solid #135988;outline-offset:2px;z-index:1}
@media(max-width:560px){.dt-container .dt-layout-row:first-child{align-items:center!important}.dt-container .dt-center-actions{order:3;flex:1 0 100%;margin:4px auto 0}.dt-container .dt-tool{height:32px;line-height:32px}.dt-container .dt-layout-row:first-child .dt-layout-cell{flex:1 1 auto}}
.swal-parquea{border-radius:14px!important;color:var(--ink)!important;font-family:'DM Sans',Arial,sans-serif!important}.swal-parquea .swal2-title{font-family:Manrope,Arial,sans-serif;font-size:20px}.swal-parquea .swal2-html-container{font-size:13px;color:#5a6978}.swal-confirm,.swal-cancel{border-radius:7px!important;padding:10px 16px!important;font:600 12px 'DM Sans',Arial,sans-serif!important}.swal-confirm{background:var(--primary)!important;color:var(--navy)!important;border:1px solid #d59b09!important}.swal-cancel{background:#eef1f4!important;color:var(--ink)!important;border:1px solid #d4dbe0!important;margin-right:8px!important}
.dt-tool-secondary{background:#fff;color:var(--navy);border:1px solid #cfd8de;min-width:112px}.dt-tool-secondary:hover{background:#fdf1d2;color:var(--navy)}
.closure-print{display:none}
@media print{body.printing-closure .closure-print{font-size:11px!important;padding:12px!important;max-width:none!important}.cuadre-header{display:flex;justify-content:space-between;gap:20px;border-top:5px solid #efad00;border-bottom:2px solid #123949;padding:20px 0 16px}.cuadre-brand{display:inline-block;background:#ffca28;border:1px solid #d6a000;border-radius:7px;padding:7px 12px;font-size:22px;font-weight:bold}.cuadre-header h1{font-size:24px!important;margin:10px 0 6px!important}.cuadre-document{text-align:right;padding-top:12px;font-size:14px}.cuadre-meta{display:flex;gap:20px;border-bottom:1px solid #d9e1e5;padding:14px 0}.cuadre-meta>p{flex:1;line-height:1.7}.cuadre-totals{display:flex;gap:12px;margin:14px 0 18px}.cuadre-totals>div{flex:1;border:1px solid #cbd8dd;border-radius:7px;padding:16px 12px}.cuadre-totals span{display:block;font-size:10px;margin-bottom:10px}.cuadre-totals strong{font-size:21px;color:#123949}.cuadre-balanced{border:2px solid #25804b!important}.cuadre-warning{border:2px solid #bd452e!important}.cuadre-banks{width:100%;border-collapse:collapse;table-layout:auto!important;min-width:0!important;font-size:11px}.cuadre-banks th{background:#edf2f4!important;color:#123949!important;font-weight:bold;padding:11px 8px!important}.cuadre-banks td{padding:12px 8px!important;border-bottom:1px solid #d9e1e5}.cuadre-banks th:not(:first-child),.cuadre-banks td:not(:first-child){text-align:right;white-space:nowrap}.cuadre-adjustment{padding:12px;border:1px solid #d5a337;border-radius:6px}.closure-print h2 small{float:right;font-size:10px;font-weight:normal}.cuadre-signatures{display:flex;gap:40px;margin-top:65px;break-inside:avoid}.cuadre-signatures>div{flex:1;border-top:1px solid #7b8d95;padding-top:12px;text-align:center;line-height:1.8}.cuadre-footer{text-align:center;border-top:1px solid #d9e1e5;margin-top:30px;padding-top:12px;font-size:9px;color:#647780;line-height:1.6}.cuadre-totals,.cuadre-meta,.cuadre-header{break-inside:avoid}}
@media print{body.printing-closure>*{display:none!important}body.printing-closure .closure-print{display:block!important;margin:0 auto;padding:28px;max-width:760px;color:#111;font:14px Arial,sans-serif}body.printing-closure .closure-print h1{font-size:26px;margin:0 0 18px;color:#072e3b}body.printing-closure .closure-print h2{font-size:16px;margin:22px 0 8px;color:#072e3b}body.printing-closure .closure-print p{margin:7px 0;color:#222}body.printing-closure .closure-print hr{border:0;border-top:1px solid #bbb;margin:18px 0}
}

/* Pantalla de acceso */
body:has(.login-shell){background:#eef1f3;overflow-x:hidden}
.login.login-shell{display:grid;grid-template-columns:minmax(430px,1.08fr) minmax(390px,.92fr);width:min(1180px,calc(100% - 48px));max-width:none;height:min(720px,calc(100vh - 48px));height:min(720px,calc(100dvh - 48px));min-height:0;margin:24px auto;padding:0;background:#fff;border:1px solid #dfe5e8;border-radius:24px;overflow:hidden;box-shadow:0 24px 70px #0a2b371a}
.login-hero{position:relative;display:flex;flex-direction:column;min-width:0;padding:38px 42px 42px;color:#fff;background:#073848;overflow:hidden}
.login-hero:before,.login-hero:after{display:none}
.login-brand{position:relative;z-index:1;display:flex;align-items:center;gap:11px;font:800 30px Manrope,Arial,sans-serif;letter-spacing:-1.5px}.login-brand .logo{width:42px;height:44px;border-radius:12px;background:#f5b81f;color:#082f3a;font-size:27px}.login-brand strong{color:#fff}.login-brand strong span{color:#f5b81f}
.login-visual{position:relative;flex:1 1 0;height:0;min-height:0;margin:28px 0 0;border-radius:18px;overflow:hidden;background:#052e3c;box-shadow:0 22px 45px #00182052}
.login-visual:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#07384810 58%,#07384899 100%);box-shadow:inset 0 0 0 1px #ffffff14}
.login-visual img{display:block;width:100%;height:100%;min-height:0;object-fit:cover;object-position:center 63%}
.login-access{display:grid;place-items:center;padding:45px 58px;background:linear-gradient(180deg,#fff 0%,#fbfcfc 100%)}.login-access-inner{width:100%;max-width:430px}.login-access-mark{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;color:#8a6a0b;font-size:9px;font-weight:800;letter-spacing:1.5px}.login-access-mark i{width:42px;height:4px;border-radius:4px;background:#f5b81f}.login-access h2{margin-bottom:10px;color:#172f3b;font-size:30px;letter-spacing:-1.2px}.login-access-inner>p{margin-bottom:29px;color:#6d7b82;font-size:13px;line-height:1.6}
.login-shell .login-card{margin:0;padding:0;border:0;background:transparent}.login-shell .login-card label{margin-bottom:16px;color:#30464f;font-size:11px;font-weight:700}.login-identity,.login-password input{height:48px;margin-top:8px;border:1px solid #cbd5da;border-radius:10px;background:#fff;color:#17313d;font-size:13px;box-shadow:0 2px 5px #0a2b3708}.login-identity{padding:0 15px}.login-password{position:relative;margin-top:8px}.login-password input{height:48px;margin:0;padding:0 48px 0 15px}.login-identity:focus,.login-password input:focus{border-color:#e2a600;box-shadow:0 0 0 4px #f5b81f1c}.login-password button{position:absolute;right:5px;top:5px;display:grid;place-items:center;width:38px;height:38px;border-radius:8px;color:#718187}.login-password button:hover,.login-password button.is-visible{background:#fff3d0;color:#8a6500}.login-password svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.login-submit{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:52px;margin-top:6px;border:1px solid #d59b00;border-radius:10px;background:linear-gradient(135deg,#ffc62c,#f1aa00);color:#102d38;font-size:12px;font-weight:800;box-shadow:0 9px 22px #e6a60025;transition:transform .15s,box-shadow .15s,filter .15s}.login-submit:hover{filter:saturate(1.08);transform:translateY(-1px);box-shadow:0 13px 27px #e6a60035}.login-submit:active{transform:translateY(1px)}.login-submit span{font-size:17px}.login-error{margin:-4px 0 15px;padding:11px 13px;border:1px solid #efb3ad;border-radius:8px;background:#fff1ef;color:#a52920;font-size:11px}.login-trust{display:flex;justify-content:space-between;gap:15px;margin-top:25px;padding-top:19px;border-top:1px solid #e7ebed;color:#88959b;font-size:9px}.login-trust span:first-child{color:#28815a}
@media(max-width:900px){body:has(.login-shell){background:#fff}.login.login-shell{grid-template-columns:1fr;width:100%;height:auto;min-height:100vh;min-height:100dvh;margin:0;border:0;border-radius:0;box-shadow:none}.login-hero{min-height:auto;padding:27px 24px 25px}.login-visual{height:300px;flex:none;margin-top:22px}.login-visual img{min-height:0;object-position:center 66%}.login-access{padding:38px 24px 48px}.login-access-inner{max-width:500px}}
@media(max-width:480px){.login-hero{padding:23px 20px 20px}.login-brand{font-size:25px}.login-brand .logo{width:36px;height:38px;font-size:23px}.login-visual{height:225px;margin-top:18px;border-radius:14px}.login-access{padding:31px 20px 40px}.login-access h2{font-size:26px}.login-access-inner>p{margin-bottom:23px}.login-trust{flex-direction:column;gap:6px}}
tbody tr.parent td.dtr-control:before,tbody td.dtr-control.dtr-selected:before{content:'−'!important;background:#c62828!important;border-color:#a61f1f!important;color:#fff!important}
tbody td.control{cursor:pointer!important;position:relative!important;padding-left:30px!important;min-width:0!important;overflow:visible!important}tbody td.control:before{content:'+'!important;display:grid!important;place-items:center!important;position:absolute!important;left:8px!important;top:50%!important;transform:translateY(-50%)!important;width:16px!important;height:16px!important;box-sizing:border-box!important;border:2px solid #d5d9d6!important;border-radius:50%!important;background:#22a447!important;color:#fff!important;font-size:13px!important;line-height:1!important;font-weight:800!important;box-shadow:0 1px 2px #0002!important}tbody tr.parent td.control:before,tbody td.control.dtr-selected:before{content:'−'!important;background:#c62828!important;border-color:#a61f1f!important;color:#fff!important}
tbody tr.dtr-expanded td.control:before,tbody tr.dtr-expanded td.dtr-control:before,tbody tr.dt-hasChild td.dtr-control:before,tbody tr.parent td.dtr-control:before,tbody td.dtr-control.dtr-expanded:before{content:'−'!important;background:#c62828!important;border-color:#a61f1f!important;color:#fff!important}
#dialog{max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}
#dialog #form,#dialog label,#dialog .form-row{min-width:0}
#dialog input,#dialog select,#dialog textarea{width:100%;max-width:100%;min-width:0}
#dialog .date-field{display:block;width:100%;max-width:100%;min-width:0;overflow:hidden;contain:inline-size}
#dialog input[type="date"]{display:block;box-sizing:border-box;width:100%!important;inline-size:100%!important;max-width:100%!important;max-inline-size:100%!important;min-width:0!important;min-inline-size:0!important;-webkit-appearance:none;appearance:none}
#dialog input[type="date"]::-webkit-date-and-time-value{min-width:0;text-align:left}
#closeDialog{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;padding:0;border:1px solid #d7dee2;border-radius:50%;background:#f4f6f7;color:var(--navy);box-shadow:0 2px 8px #082f3a12;transition:background .15s,border-color .15s,transform .15s}
#closeDialog svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
#closeDialog:hover{background:#fff3d4;border-color:var(--yellow-border);transform:scale(1.04)}
#closeDialog:focus{outline:none}
#closeDialog:focus-visible{outline:3px solid #fbbd2466;outline-offset:2px}
@media(max-width:560px){
#menu{width:38px;height:38px;display:grid;place-items:center;border:1px solid #f2ad00;border-radius:8px;background:#fff7df;box-shadow:0 2px 5px #b878001f;transition:background .15s,box-shadow .15s,transform .15s}#menu:hover,#menu:focus-visible{background:#f2ad00;color:#173e35!important;box-shadow:0 4px 10px #b8780040}#menu:active{transform:scale(.95)}#menu,#menu svg{color:#f2ad00!important}#menu svg{stroke:#f2ad00!important}#menu:hover svg,#menu:focus-visible svg{stroke:#173e35!important}
.dtr-control{white-space:normal!important;line-height:1.35}
}
@media(max-width:560px){
 #dialog{width:calc(100vw - 16px);max-width:calc(100vw - 16px);max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px);padding:14px 16px;border-radius:16px}
 #dialog:not(.receipt-dialog) .dialog-top{position:sticky;top:-14px;z-index:3;margin:0 0 10px;padding:10px 0 9px;background:#fff;border-bottom:1px solid #edf0f2}
 #dialog:not(.receipt-dialog) .dialog-top h2{font-size:17px;line-height:1.25;padding-right:10px}
 #dialog:not(.receipt-dialog) label{margin-bottom:9px;font-size:12px;line-height:1.25}
 #dialog:not(.receipt-dialog) input,#dialog:not(.receipt-dialog) select,#dialog:not(.receipt-dialog) textarea{font-size:16px;padding:9px 11px;line-height:1.25;margin-top:5px;min-height:44px}
 #dialog:not(.receipt-dialog) textarea{min-height:76px}
 #dialog:not(.receipt-dialog) small{font-size:10px;line-height:1.35}
 #dialog:not(.receipt-dialog) .notice{padding:10px 12px;margin-bottom:12px;line-height:1.4}
 #dialog:not(.receipt-dialog) .form-bottom{position:sticky;bottom:-14px;background:#fff;z-index:2;margin-top:10px;padding:10px 0 calc(2px + env(safe-area-inset-bottom));box-shadow:0 -8px 14px #fff}
 #dialog:not(.receipt-dialog) .form-bottom .primary{min-height:42px}
 #closeDialog{flex-basis:34px;width:34px;height:34px}
 #closeDialog svg{width:17px;height:17px}
}
