[hidden]{display:none!important}#login-screen{display:none;min-height:100vh;background:linear-gradient(135deg,#123d3c,#2d6357);align-items:center;justify-content:center;padding:24px}.signed-out #login-screen{display:flex}.signed-out>aside,.signed-out>main,.signed-out>#print-area{display:none!important}.login-card{background:#fff;border-radius:18px;padding:38px;width:470px;max-width:100%;box-shadow:0 30px 90px #0002}.login-card h1{font-size:24px}.login-card>p{color:#68877f;font-size:12px}.login-card form{padding:18px 0 0}.login-card label{margin-bottom:18px}.login-card button{width:100%;padding:12px}.login-card .brand-icon{margin-bottom:20px}.sidebar nav{margin-top:30px;gap:4px}.sidebar nav button{padding:10px 15px}.account-actions{display:flex;flex-direction:column;align-items:start;gap:6px;margin-top:14px}.account-actions button{background:transparent;color:#c6dcd6;border-color:#40635d;font-size:10px;padding:5px 8px}.header-actions{gap:12px}.header-actions label{max-width:230px}#station-banner{font-size:12px;padding:13px 17px;margin-bottom:22px;background:#e6f0eb;color:#386355;border-radius:8px;border-left:3px solid #5a8c74}.spaced{margin-top:24px}.header-actions select{min-height:38px}#login-error{min-height:0}@media(max-width:1000px){header{flex-wrap:wrap}.header-actions{flex-wrap:wrap}.header-actions label{max-width:200px}}@media print{#station-banner,#login-screen{display:none!important}}
[data-ui-language="en"] .sidebar nav button small,[data-ui-language="en"] #page-title small{display:none}.ui-language-label{min-width:145px}.login-card>.ui-language-label{margin-bottom:20px}.header-actions{flex-wrap:wrap}@media print{.ui-language-label{display:none!important}}
.brand-logo{display:block;object-fit:contain;background:white;border-radius:8px;padding:4px}.sidebar .brand-logo{width:48px;height:48px;flex:none}.sidebar .brand{gap:10px;align-items:center}.brand-name{font-size:11px;line-height:1.5;letter-spacing:.6px}.brand-name small{font-size:8px;letter-spacing:.5px;margin-top:5px}.login-card>.brand-logo{width:100px;height:78px;margin-bottom:16px}
#billing-period-filter { min-width: 190px; }
.payment-entry-section { min-width: 0; padding: 16px; border: 1px solid var(--line); border-radius: 8px; background: #f8fbfa; }
.entry-mode { flex-direction: row; align-items: center; font-weight: 600; color: #254b55; }
.entry-mode input, .entry-selection-table input[type=checkbox], .statement-entry-picker input[type=checkbox] { width: 18px; height: 18px; flex: none; margin: 0; padding: 0; accent-color: var(--teal); cursor: pointer; }
.entry-selection-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.entry-selection-actions button { font-size: 11px; }
.entry-selection-table { min-width: 0; margin-top: 12px; }
.entry-selection-table .table-wrap, .statement-entry-picker .table-wrap { max-height: 310px; overflow: auto; border: 1px solid var(--line); border-radius: 6px; background: white; }
.entry-selection-table table, .statement-entry-picker table { min-width: 850px; }
.entry-selection-table th, .entry-selection-table td, .statement-entry-picker th, .statement-entry-picker td { padding: 10px 12px; }
.entry-selection-table th, .statement-entry-picker th { position: sticky; top: 0; z-index: 1; }
.entry-selection-summary { margin: 12px 0 0; font-size: 12px; color: #254b55; font-weight: 600; }
.statement-entry-picker { min-width: 0; margin: 20px 28px; padding: 16px; border: 1px solid var(--line); border-radius: 8px; background: #f8fbfa; }
.statement-entry-picker > .hint { margin: 8px 0 14px; }
.statement-print-controls { display: flex; flex-wrap: wrap; align-items: end; gap: 10px; }
.statement-print-controls label { min-width: 170px; }
.statement-print-controls select { padding: 8px; }
.entry-selection-empty { padding: 18px 30px; color: #789096; }
.entry-matching-note { padding: 10px 14px; background: #fff2de; border-left: 3px solid #bb8c3f; color: #795a25; }
.panel-head:has(#billing-period-filter) { flex-wrap: wrap; }
@media (max-width: 600px) {
 .panel-head:has(#billing-period-filter) > label { flex-basis: 100%; }
 #billing-period-filter { width: 100%; }
 .statement-modal-head { flex-direction: column; align-items: stretch; }
 .statement-print-controls { align-items: center; }
 .statement-print-controls label { width: 100%; }
 .statement-entry-picker { margin: 14px; padding: 12px; }
 .payment-entry-section { padding: 12px; }
 .statement-totals { flex-wrap: wrap; }
}
@media print { .statement-entry-picker, .entry-selection-actions, .statement-print-controls { display: none!important; } .entry-matching-note { break-inside: avoid; background: white; color: #333; border-color: #777; } }
@media (max-width: 760px) { .manager-mode .sidebar-foot { display: block; margin-top: 14px; } .manager-mode .account-actions { flex-direction: row; flex-wrap: wrap; margin-top: 8px; } .manager-mode .sidebar nav { gap: 10px; } }
.station-assignment { padding: 15px; border: 1px solid var(--line); border-radius: 8px; background: #f8fbfa; }
.station-assignment > strong { display: block; color: #254b55; font-size: 12px; margin-bottom: 12px; }
#accountant-station-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; max-height: 240px; overflow: auto; margin-top: 16px; }
.station-assignment-check { flex-direction: row; align-items: center; gap: 8px; color: #254b55; }
.station-assignment-check input { width: 18px; height: 18px; flex: none; margin: 0; padding: 0; accent-color: var(--teal); }
.user-station-scope { white-space: normal; min-width: 160px; }
.audit-object { white-space: normal; min-width: 220px; max-width: 370px; overflow-wrap: anywhere; }
.audit-detail-body { padding: 22px 28px; }
.audit-detail-body p { font-size: 12px; overflow-wrap: anywhere; }
.audit-detail-body td { white-space: pre-line; overflow-wrap: anywhere; vertical-align: top; }
.audit-detail-body table { table-layout: fixed; }
.audit-detail-body th:first-child { width: 23%; }
@media (max-width: 600px) { #accountant-station-list { grid-template-columns: 1fr; } .audit-detail-body { padding: 16px; } }
.pending-alert-nav{color:#b91c1c!important;background:#fff1f2!important;border:2px solid #ef4444!important;font-weight:800}
.cards article.owner-todo-alert{background:#fff1f2;border:2px solid #ef4444}
.cards article.owner-todo-alert strong,.cards article.owner-todo-alert span,.cards article.owner-todo-alert small{color:#b91c1c}
.pending-count{display:inline-block;background:#b91c1c;color:#fff!important;border:0;border-radius:8px;padding:4px 10px;font-weight:800;font-variant-numeric:tabular-nums}
.pending-open{padding:10px 14px;min-height:44px;cursor:pointer}
.pending-open:hover{background:#991b1b}
.pending-fuel-notice{padding:22px;border-radius:12px;border:2px solid #ef4444;background:#fff1f2;color:#991b1b}
.pending-fuel-notice strong{font-size:24px;line-height:1.5}
.pending-fuel-notice p{margin:8px 0 0;line-height:1.6}
.pending-fuel-notice.all-reviewed{border-color:#86efac;background:#f0fdf4;color:#166534}
.pending-clear{color:#166534;font-weight:700}
.pending-refresh-note{padding:12px 18px}
.receivable-amount{color:#b91c1c;font-weight:800;font-variant-numeric:tabular-nums}
.receipt-file-control{position:relative;display:flex;align-items:center;gap:12px;min-height:44px;margin-top:8px;padding:6px;border:1px solid var(--line);border-radius:7px;background:#fff;color:#254b55}
.receipt-file-button{display:inline-block;flex:none;padding:10px 12px;border-radius:5px;background:var(--teal);color:#fff;font-size:12px;font-weight:600}
.receipt-file-name{min-width:0;font-size:12px;overflow-wrap:anywhere}
.receipt-file-control input.receipt-file-input{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;opacity:0;cursor:pointer}
.receipt-file-control:focus-within{outline:2px solid var(--teal);outline-offset:2px}
.unlock-apply{color:#b45309;border-color:#f59e0b;background:#fffbeb}
.unlock-effect,.unlock-reason-box{padding:14px;border:1px solid #f5d38b;border-radius:8px;background:#fffbeb;color:#7c4a03;line-height:1.8}
.unlock-reason{white-space:pre-wrap;overflow-wrap:anywhere;min-width:160px;max-width:350px}
.unlock-task-card strong{color:#b91c1c}

#login-screen{background:linear-gradient(135deg,#e0f2fe,#bae6fd)}
.login-card>p{color:#526d91}
.account-actions button{color:#164e63;border-color:#7dd3fc}
#station-banner{background:#eff6ff;color:#1e40af;border-left-color:#3b82f6}
.receipt-file-button{color:#0c4a6e}
.unpaid-amount{color:#b91c1c!important;font-weight:800;font-variant-numeric:tabular-nums}
.badge.unpaid-status{background:#fff1f2;color:#b91c1c;font-weight:700}
.unpaid-label{color:#b91c1c!important;font-weight:700}
.cards .featured:has(.unpaid-amount){background:#fff1f2;border-color:#ef4444}
.cards .featured:has(.unpaid-amount)>span,.cards .featured:has(.unpaid-amount)>strong{color:#b91c1c}
.statement-totals>span:has(.unpaid-amount){color:#b91c1c}

/* Blue Panda branded sign-in */
#login-screen{position:relative;min-height:100svh;padding:48px 24px 24px;background:radial-gradient(ellipse at 12% 18%,#d9f0ff 0,transparent 48%),radial-gradient(ellipse at 90% 85%,#d4edfc 0,transparent 42%),#f0f8fd;flex-direction:column;gap:22px;overflow:hidden}
.login-shell{position:relative;width:min(1100px,100%);display:grid;grid-template-columns:1.12fr 1fr;border:1px solid #d8eaf5;border-radius:28px;background:#fff;box-shadow:0 24px 80px #285c8a12;overflow:hidden}
.login-brand-panel{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:650px;padding:34px 42px;background:linear-gradient(140deg,#eaf7ff,#d5efff);overflow:hidden;color:#104a70}
.login-brand-panel:before,.login-brand-panel:after{content:"";position:absolute;border:1px solid #8ecbf34d;border-radius:50%;pointer-events:none}
.login-brand-panel:before{width:490px;height:490px;right:-270px;top:90px;box-shadow:0 0 0 50px #a4d7f315,0 0 0 100px #a4d7f310}
.login-brand-panel:after{width:240px;height:240px;left:-170px;bottom:-130px;background:#b5e0f329}
.login-brand-top,.login-brand-story,.login-brand-points{position:relative;z-index:1}
.login-brand-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:11px;font-weight:800;letter-spacing:1.3px}
.login-brand-top>span:last-child{font-size:9px;font-weight:500;letter-spacing:1px;margin-left:2px}
.login-brand-dot{width:7px;height:7px;border-radius:50%;background:#0284c7;flex:none}
.login-brand-story{padding:30px 0 28px}
.login-logo-stage{width:216px;height:170px;border:1px solid #d6eaf4;border-radius:25px;background:white;display:grid;place-items:center;box-shadow:0 12px 35px #1474a60b;margin-bottom:28px}
.login-logo-stage .brand-logo{width:190px;height:145px;padding:0;border-radius:0;object-fit:contain}
.login-product-label{font-size:10px;font-weight:800;letter-spacing:2.6px;color:#2477a6;margin:0 0 12px}
.login-brand-story h1{font-size:40px;line-height:1.4;letter-spacing:-1.4px;font-weight:750;margin:0;color:#104a70}
.login-brand-description{font-size:15px;line-height:1.9;color:#386b89;margin:18px 0 0}
.login-brand-description span{font-size:12px;color:#6486a0}
.login-brand-points{display:flex;flex-wrap:wrap;gap:8px}
.login-brand-points span{padding:8px 10px;background:#ffffff80;border:1px solid #cbe5f4;border-radius:7px;font-size:10px;color:#376681}
.login-shell .login-card{width:auto;max-width:none;border-radius:0;padding:32px 46px 30px;box-shadow:none;display:flex;flex-direction:column;background:white}
.login-shell .login-card>.ui-language-label{margin:0 0 45px;align-self:flex-end;width:220px;min-width:0;color:#6b8598;font-size:10px;gap:6px}
.login-card .ui-language-label select{padding:8px 10px;font-size:11px;border-color:#dce8f0;color:#32536b;border-radius:8px;min-height:36px;background:#f8fbfe}
.login-section-label{font-size:10px;letter-spacing:1.8px;font-weight:750;color:#4182ac;margin:0 0 12px}
.login-welcome h2{font-size:29px;line-height:1.35;font-weight:750;color:#163b56;margin:0}
.login-welcome>p:last-child{font-size:12px;line-height:1.8;color:#738b9d;margin:12px 0 0}
.login-shell .login-card form{padding:30px 0 0}
.login-shell .login-card label:not(.ui-language-label){margin-bottom:19px;gap:8px;color:#3b5b72;font-size:12px;font-weight:600}
.login-input-wrap{position:relative;display:flex;align-items:center}
.login-input-wrap svg{position:absolute;left:15px;width:19px;height:19px;stroke:#7396ae;stroke-width:1.6;pointer-events:none}
.login-input-wrap input{min-height:52px;padding:13px 14px 13px 46px;border:1px solid #dce7ef;border-radius:10px;background:#fbfdff;font-size:14px;color:#193e59}
.login-input-wrap input:focus{outline:2px solid #7dd3fc;outline-offset:2px;border-color:#38bdf8;background:white}
.login-shell #login-error{font-size:12px;line-height:1.65;margin:0;min-height:18px;overflow-wrap:anywhere}
.login-shell .login-submit{display:flex;align-items:center;justify-content:center;gap:14px;width:100%;min-height:52px;padding:13px 18px;border-radius:10px;margin-top:9px;font-size:14px;font-weight:750;box-shadow:0 5px 15px #38bdf81a}
.login-submit svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.8;flex:none}
.login-card-foot{display:flex;flex-direction:column;gap:10px;margin-top:auto;padding-top:38px;font-size:10px;color:#8198a9}
.login-card-foot>span:last-child{font-size:9px;letter-spacing:.8px;color:#9bafbc}
.login-page-foot{position:relative;font-size:9px;font-weight:500;letter-spacing:.6px;line-height:1.8;color:#6e91a8;text-align:center;margin:0}
.login-page-foot span{margin:0 8px}
@media(min-width:761px) and (max-width:1000px){.login-brand-panel{padding:32px;min-height:620px}.login-brand-story h1{font-size:34px}.login-shell .login-card{padding:30px}.login-shell .login-card>.ui-language-label{margin-bottom:42px}}
@media(max-width:760px){#login-screen{padding:20px 14px;gap:16px}.login-shell{grid-template-columns:1fr;max-width:470px;border-radius:22px}.login-brand-panel{min-height:0;padding:22px 24px}.login-brand-top{font-size:10px;gap:7px}.login-brand-top>span:last-child{font-size:8px}.login-brand-story{display:grid;grid-template-columns:105px 1fr;align-items:center;column-gap:18px;padding:19px 0 0}.login-logo-stage{width:105px;height:86px;border-radius:14px;margin:0;grid-row:1/4}.login-logo-stage .brand-logo{width:94px;height:74px}.login-product-label{font-size:8px;letter-spacing:1.8px;margin:0 0 6px}.login-brand-story h1{font-size:20px;line-height:1.5;letter-spacing:-.4px}.login-brand-description{font-size:10px;line-height:1.5;margin:6px 0 0}.login-brand-description span,.login-brand-points{display:none}.login-shell .login-card{padding:22px 24px 26px}.login-shell .login-card>.ui-language-label{width:210px;margin:0 0 20px}.login-welcome h2{font-size:24px}.login-section-label{font-size:9px;margin-bottom:8px}.login-welcome>p:last-child{font-size:11px;margin-top:8px}.login-shell .login-card form{padding-top:23px}.login-card-foot{padding-top:25px;gap:8px}.login-page-foot{font-size:8px}}
@media(prefers-reduced-motion:reduce){#login-screen button{transition:none}}
