:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#172b3c;background:#f4f7fa;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:#155eab}h1,h2,h3{margin:0}h1{font-size:1.75rem;letter-spacing:-.04em}h2{font-size:1.21rem;letter-spacing:-.025em}p{line-height:1.55}small,.muted{color:#66798d}.shell{display:grid;grid-template-columns:234px 1fr;min-height:100vh}.sidebar{background:#0c2338;color:white;padding:25px 16px;display:flex;flex-direction:column;gap:20px}.brand{font-size:1.45rem;font-weight:830;letter-spacing:-.05em;margin:0 12px;display:flex;align-items:center;gap:12px}.brand .mark{background:#39c5ad;width:32px;height:32px;border-radius:10px;display:grid;place-items:center;color:#07392e}.side-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:#7c9cb5;margin:10px 12px}.nav{display:flex;flex-direction:column;gap:5px}.nav button{background:none;border:0;text-align:left;color:#b8cad9;border-radius:10px;padding:13px 14px;font-size:.91rem}.nav button.active,.nav button:hover{background:#1d3c56;color:white}.side-foot{margin-top:auto;font-size:.8rem;color:#92acbd;padding:10px 12px}.main{min-width:0;padding:32px clamp(18px,4vw,54px)}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:26px}.topbar p{margin:.45rem 0 0;color:#718398}.pill{border-radius:100px;background:#eaf7ef;color:#216c49;padding:7px 10px;font-size:.74rem;font-weight:700}.pill.demo{background:#fff2df;color:#92620c}.button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;background:#137c73;color:white;padding:11px 15px;border-radius:9px;font-weight:680;font-size:.87rem;text-decoration:none}.button:hover,.btn:hover{filter:brightness(.94)}.button.secondary{background:white;color:#254053;border-color:#dbe4ea}.button.danger{background:#fff0ef;color:#a03735}.button:disabled{opacity:.45;cursor:not-allowed}.button.tiny{padding:7px 10px;font-size:.76rem}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.card,.panel{border:1px solid #e3eaf0;background:white;border-radius:15px;box-shadow:0 3px 12px #17304708}.card{padding:18px}.card .k{color:#697c8f;font-size:.81rem;margin-bottom:14px}.card .v{font-size:1.65rem;font-weight:770;letter-spacing:-.05em}.card .note{font-size:.77rem;color:#6e8292;margin-top:6px}.panel{padding:22px;margin-bottom:17px}.panel-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:15px}.panel-head h2{font-size:1.06rem}table{width:100%;border-collapse:collapse;font-size:.87rem}th{text-align:left;background:#f7f9fb;color:#65798a;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;font-weight:650}td,th{padding:12px 11px;border-bottom:1px solid #edf1f5}tr:last-child td{border-bottom:0}.table-wrap{overflow:auto}.chip{display:inline-block;font-size:.73rem;font-weight:730;border-radius:8px;background:#e9f6ef;color:#1d8053;padding:5px 8px}.chip.overdue{background:#fff1ed;color:#be5537}.chip.gray{background:#eff3f6;color:#536b7f}.empty{padding:26px 8px;text-align:center;color:#789}.two-cols{display:grid;grid-template-columns:1.5fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:13px}.field label{font-size:.79rem;font-weight:690;color:#466071}.field input,.field select,.field textarea,.form-input{width:100%;border:1px solid #cfdce4;background:white;padding:10px 11px;border-radius:8px;color:#172b3c;min-height:42px}.field textarea{min-height:73px;resize:vertical}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.fields.three{grid-template-columns:repeat(3,minmax(0,1fr))}.full{grid-column:1 / -1}.actions{display:flex;justify-content:flex-end;gap:10px;align-items:center;flex-wrap:wrap}.subhead{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#7c91a1;font-weight:800;margin:13px 0}.notice{border:1px solid #d6e5f0;background:#f0f6fa;color:#375a70;padding:12px 15px;border-radius:10px;font-size:.84rem;line-height:1.55}.notice.warn{border-color:#f6dfbb;background:#fffaed;color:#745519}.notice.error{border-color:#f3bfbe;background:#fff3f3;color:#ac3537}.stack{display:grid;gap:13px}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:25px;background:radial-gradient(circle at 30% 10%,#d0eee9 0,transparent 32%),#f4f7fa}.auth-box{max-width:460px;width:100%;background:white;border-radius:20px;border:1px solid #dfe8ee;padding:29px;box-shadow:0 20px 60px #15354f18}.auth-box h1{margin:7px 0}.auth-box p{color:#718398}.auth-box .button{width:100%;margin-top:7px}.contract-shell{max-width:880px;margin:28px auto;padding:0 14px 40px}.contract-paper{background:#fff;border:1px solid #dfe5eb;border-radius:11px;padding:35px;box-shadow:0 8px 22px #142d4210;color:#26343c}.contract-paper h1{text-align:center;font-size:1.28rem;letter-spacing:0;margin-bottom:17px;text-transform:uppercase}.contract-paper h2{font-size:.94rem;text-align:left;padding-top:13px;margin:8px 0 10px;border-top:1px solid #e2e8ee}.contract-paper p,.contract-paper li{font-size:.79rem;line-height:1.44;margin:4px 0}.contract-paper ol,.contract-paper ul{padding-left:21px;margin:8px 0}.contract-paper li{padding-left:3px;margin-bottom:5px}.contract-table{width:100%;border-collapse:collapse;font-size:.8rem}.contract-table td{border:1px solid #e7edf2;padding:7px 9px}.contract-table td:first-child{background:#f7f9fa;width:35%;font-weight:650;color:#456}.signature-box{width:100%;height:145px;border:1px solid #d5e3e7;border-radius:8px;background:white;touch-action:none}.signature-preview{max-height:90px;max-width:100%;object-fit:contain}.contract-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.sign-panel{background:white;padding:20px;border:1px solid #dfe5eb;border-radius:14px;margin-top:14px}.sign-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 13px}.sign-fields .full{grid-column:1/-1}.toast{position:fixed;right:19px;bottom:18px;max-width:420px;color:white;background:#173c52;padding:12px 17px;border-radius:10px;box-shadow:0 12px 33px #0003;z-index:99}.modal-overlay{position:fixed;inset:0;background:#1027389c;display:grid;place-items:center;padding:14px;z-index:20}.modal{width:100%;max-width:640px;max-height:90vh;overflow:auto;border-radius:15px;background:white;padding:23px}.modal h2{margin-bottom:19px}.modal .actions{margin-top:12px}.copyline{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.copyline input{flex:1;min-width:200px}.loading{padding:45px;color:#557;text-align:center}.hidden{display:none!important}.pt{padding-top:18px}.print-only{display:none}.tagline{font-size:.76rem;color:#678} .number{font-variant-numeric:tabular-nums}.signcheck{display:flex;gap:9px;align-items:flex-start;font-size:.82rem;line-height:1.5;margin:13px 0}.signcheck input{width:17px;height:17px;flex-shrink:0;margin-top:2px}.agreement-status{font-size:.83rem;font-weight:750}.separator{height:1px;background:#e6edf1;margin:12px 0}.keep{break-inside:avoid}.footer-sig{padding-top:11px;border-top:1px solid #e6edf1}.line-info{display:flex;justify-content:space-between;gap:12px;margin:7px 0;font-size:.8rem}@media(max-width:930px){.cards{grid-template-columns:repeat(2,1fr)}.two-cols{grid-template-columns:1fr}.shell{grid-template-columns:1fr}.sidebar{padding:11px;gap:7px;position:sticky;top:0;z-index:12}.brand{font-size:1rem}.brand .mark{width:27px;height:27px}.side-label,.side-foot{display:none}.nav{flex-direction:row;overflow-x:auto}.nav button{white-space:nowrap;padding:9px 11px}.main{padding:20px}}@media(max-width:550px){.fields,.fields.three,.sign-fields,.contract-grid{grid-template-columns:1fr}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.card{padding:13px}.card .v{font-size:1.32rem}.topbar{align-items:center}.panel{padding:15px}.contract-paper{padding:17px}.contract-shell{margin-top:12px}.auth-box{padding:20px}.modal{padding:17px}}@media print{@page{size:A4;margin:13mm}body{background:white;color:black!important}.contract-shell{max-width:unset;margin:0;padding:0}.contract-paper{border:0;border-radius:0;box-shadow:none;padding:0}.no-print,.sign-panel,.toast,.shell,.modal-overlay{display:none!important}.print-only{display:block}.contract-paper p,.contract-paper li{font-size:9pt;line-height:1.3}.contract-paper li{margin-bottom:3px}.contract-paper h2{font-size:10pt;margin-top:9px}.contract-paper h1{font-size:14pt}.contract-table td{padding:5px}.keep{break-inside:avoid}}
/* Prevent wide tables and the mobile navigation strip from stretching phones. */
.shell,.main,.sidebar,.panel,.two-cols{min-width:0}
@media(max-width:930px){.shell{grid-template-columns:minmax(0,1fr)}.two-cols{grid-template-columns:minmax(0,1fr)}.sidebar{overflow:hidden}.nav{max-width:100%;min-width:0}}



/* Qmscar v1.1 — phone-first navigation and touch-friendly layouts */
:root { --mobile-nav-height: 72px; }
html { -webkit-text-size-adjust: 100%; }
html,body { width:100%; max-width:100%; }
body { overflow-wrap:anywhere; }
button, a, input, select, textarea { -webkit-tap-highlight-color:transparent; }
button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {outline:3px solid #29a8b4; outline-offset:2px;}
.field input, .field select, .field textarea { max-width:100%; }
.card .v { overflow-wrap:anywhere; }
.table-wrap { max-width:100%; }
.mobile-header, .mobile-nav, .mobile-more, .mobile-more-backdrop { display:none; }
.mobile-nav svg { width:22px; height:22px; stroke:currentColor; stroke-width:1.9; fill:none; stroke-linecap:round; stroke-linejoin:round; }
.contract-paper, .sign-panel { min-width:0; }
.contract-paper { overflow-wrap:anywhere; }
.contract-table { table-layout:fixed; }
.contract-table td { overflow-wrap:anywhere; }
.signature-box { touch-action:none; overscroll-behavior:contain; width:100%; display:block; }
@media(max-width:760px) {
  .shell { display:block; min-height:100dvh; }
  .sidebar { display:none!important; }
  .main { min-width:0; padding:14px 14px calc(var(--mobile-nav-height) + env(safe-area-inset-bottom, 0px) + 24px); }
  .mobile-header { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:22px; }
  .mobile-brand { font-size:1.3rem; font-weight:850; letter-spacing:-.05em; color:#0f3448; display:flex; align-items:center; gap:10px; }
  .mobile-brand .mark { width:30px; height:30px; border-radius:10px; display:grid; place-items:center; background:#14b8a6; color:#073a32; font-size:1rem; }
  .mobile-tag { font-size:.73rem; color:#698095; font-weight:700; }
  .topbar { margin-bottom:19px; flex-wrap:wrap; align-items:start; }
  .topbar h1 { font-size:1.42rem; }
  .topbar p { font-size:.83rem; max-width:38ch; }
  .panel { padding:15px 13px; border-radius:14px; }
  .panel-head { align-items:center; gap:10px; }
  .panel-head h2 { min-width:0; }
  .panel-head .button { flex-shrink:0; }
  .button, .btn { min-height:44px; }
  .button.tiny { min-height:40px; padding:8px 12px; }
  .fields, .fields.three, .sign-fields, .contract-grid {grid-template-columns:minmax(0,1fr);}
  .fields > *, .sign-fields > * { min-width:0; }
  .field input,.field select,.field textarea,.form-input {font-size:16px;min-height:46px;}
  .cards { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .card {padding:13px 12px; min-width:0;}
  .card .v { font-size:clamp(1.1rem, 5vw, 1.45rem); line-height:1.23; }
  .card .k {margin-bottom:9px;}
  .two-cols { grid-template-columns:minmax(0,1fr); }
  .mobile-nav { position:fixed; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); left:0; right:0; bottom:0; width:100%; height:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom,0px)); padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px)); align-items:stretch; background:#fff; border-top:1px solid #dce6ed; box-shadow:0 -6px 22px #102f4610; z-index:30; }
  .mobile-nav button { min-width:0; min-height:56px; color:#647a8c; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; border:0; border-radius:12px; background:none; font-weight:720; font-size:11px; line-height:1.1; padding:4px 1px; }
  .mobile-nav button.active { color:#08796f; background:#eaf9f5; }
  .mobile-more-backdrop { display:block; position:fixed; inset:0; background:#071d2f77; z-index:28; }
  .mobile-more { display:grid; gap:5px; position:fixed; z-index:29; left:12px; right:12px; bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom,0px) + 10px); border:1px solid #dfebef; border-radius:18px; background:#fff; padding:13px; box-shadow:0 12px 35px #0a1f3650; }
  .mobile-more h2 { margin:2px 9px 4px; font-size:1rem; }
  .mobile-more button { border:0; border-radius:10px; text-align:left; padding:14px 12px; font-weight:700; background:#f5f8fa; color:#26485a; min-height:46px; }
  .mobile-more button.active { background:#e5f7f2;color:#066b61; }
  .table-wrap {overflow:visible;}
  .table-wrap table, .table-wrap tbody, .table-wrap tr, .table-wrap td { display:block; width:100%; }
  .table-wrap thead { display:none; }
  .table-wrap tr { background:#fff; border:1px solid #e4eaf0; border-radius:12px; overflow:hidden; margin:0 0 11px; padding:6px 12px; box-shadow:0 2px 9px #17304708; }
  .table-wrap td { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:9px 1px; line-height:1.5; text-align:right; overflow-wrap:anywhere; border-bottom:1px solid #eff3f5; }
  .table-wrap td:last-child { border:0; }
  .table-wrap td::before { content:attr(data-label); flex:0 0 36%; min-width:0; font-size:.73rem; color:#698095; text-align:left; font-weight:700; text-transform:uppercase; letter-spacing:.02em; }
  .table-wrap td[data-label=""] { justify-content:flex-end; }
  .table-wrap td[data-label=""]::before { display:none; }
  .table-wrap td .button { margin-left:auto; }
  .modal-overlay { align-items:end; padding:0; }
  .modal {border-radius:20px 20px 0 0; max-height:92dvh; padding:20px 16px calc(20px + env(safe-area-inset-bottom,0px)); overscroll-behavior:contain; box-shadow:0 -5px 26px #061e3640; }
  .modal .actions { justify-content:stretch; }
  .modal .actions > .button { flex:1; }
  .auth-shell { padding:16px; min-height:100dvh; }
  .auth-box {padding:22px 18px; border-radius:16px;}
  .contract-shell { max-width:none; margin:0; padding:12px 10px calc(26px + env(safe-area-inset-bottom,0px)); }
  .contract-shell .panel-head { align-items:flex-start; }
  .contract-paper { padding:19px 15px; border-radius:11px; }
  .contract-paper h1 {font-size:1.17rem;}
  .contract-paper h2 {font-size:.92rem;line-height:1.4;}
  .contract-paper p,.contract-paper li {font-size:.88rem;line-height:1.54;}
  .contract-paper ol,.contract-paper ul {padding-left:22px;}
  .contract-paper li {margin-bottom:9px;}
  .contract-table td {padding:8px 7px;font-size:.8rem;}
  .contract-table td:first-child {width:38%;}
  .sign-panel {padding:19px 15px; border-radius:12px;}
  .sign-panel .actions {justify-content:stretch;}
  .sign-panel .actions .button { flex:1; }
  .sign-panel .actions button[type="submit"] { flex-basis:100%; }
  .signature-box { height:175px; }
  .toast { right:10px; left:10px; bottom:calc(var(--mobile-nav-height) + 10px + env(safe-area-inset-bottom,0px)); max-width:none; }
  .contract-shell~.toast {bottom:15px;}
  .copyline input{min-width:0;}
}
@media(max-width:350px) {
 .main {padding-left:10px;padding-right:10px;}
 .cards { gap:7px; }
 .card {padding:11px 9px;}
 .card .k {font-size:.72rem;}
 .mobile-nav {padding-left:3px;padding-right:3px;}
 .mobile-nav button {font-size:10px;}
 .topbar h1 {font-size:1.28rem;}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important;}}
@media print { .mobile-header,.mobile-nav,.mobile-more,.mobile-more-backdrop { display:none!important; } }

.sign-jump{display:inline-block;margin:9px 0 0;font-size:.81rem;font-weight:700;color:#08796f;text-underline-offset:3px}
#signForm{scroll-margin-top:14px}

/* Qmscar v1.2: two clearly differentiated agreement-creation workflows */
.choice-intro {display:flex;flex-wrap:wrap;gap:5px 8px;align-items:baseline;padding:10px 12px;margin-bottom:13px;background:#eef8f6;border-radius:10px;font-size:.82rem;color:#264d52}
.agreement-choice-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0 2px}
.agreement-choice {border:1px solid #d1e2e5;border-radius:12px;background:#f8fbfc;padding:20px 14px;text-align:left;display:flex;flex-direction:column;gap:9px;line-height:1.5;color:#153b4d;min-height:140px;cursor:pointer}
.agreement-choice:hover,.agreement-choice:focus-visible {border-color:#169689;background:#eefaf7}
.agreement-choice b {font-size:.97rem}
.agreement-choice span {font-size:.83rem;color:#526d7c}
.row-actions {display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;white-space:normal}
@media(max-width:600px){.agreement-choice-grid {grid-template-columns:1fr}.agreement-choice {min-height:0;padding:15px}.choice-intro {font-size:.78rem}.row-actions {max-width:100%}}
/* Dialogs must overlay bottom navigation on phones so the Save button remains tappable. */
@media(max-width:760px){.modal-overlay{z-index:45}}

/* Qmscar v1.3 — archives and closing dates: mobile and desktop-friendly controls. */
.fleet-archive-bar{margin-top:15px;padding-top:14px;border-top:1px solid #e5edf0;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.fleet-archive-bar p{margin:0;flex:1;min-width:200px;font-size:.82rem}
.archive-list{margin-top:15px;padding-top:12px;border-top:1px solid #e5edf0}
.archive-list h3{margin:0 0 12px;font-size:1rem}
@media(max-width:760px){.fleet-archive-bar{align-items:stretch;flex-direction:column}.fleet-archive-bar .button{width:100%;min-height:44px}.table-wrap td .button{white-space:normal;text-align:center}}

/* Qmscar v1.6 — fleet mileage + readable bank deposit inbox */
.fleet-odometer-intro{margin:-2px 0 17px;font-size:.83rem;line-height:1.55}
.vehicle-actions{display:flex;flex-wrap:wrap;gap:8px;min-width:132px}
.vehicle-actions .button{white-space:nowrap}
.odometer-readonly{padding:11px 13px;min-height:43px;background:#f1f5f7;color:#35556a;border:1px solid #dce6ea;border-radius:9px;font-size:.86rem;font-weight:700}
.pending-detail{color:#607586;font-weight:600;font-style:italic}
.bank-list{display:grid;gap:13px;margin-top:16px}
.bank-entry{min-width:0;background:#fff;border:1px solid #dbe5eb;border-radius:14px;padding:17px 18px;box-shadow:0 2px 8px #12324908}
.bank-entry-header{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:12px 18px;margin-bottom:12px}
.bank-entry-main{display:flex;flex-direction:column;gap:4px;min-width:0}
.bank-amount{font-size:1.22rem;font-weight:810;letter-spacing:-.035em;color:#163c4c;line-height:1.22;font-variant-numeric:tabular-nums}
.bank-date{color:#6c8092;font-size:.78rem}
.bank-entry-tags{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.bank-source,.bank-match-state{display:inline-flex;align-items:center;white-space:nowrap;max-width:100%;font-size:.72rem;font-weight:740;line-height:1.25;padding:6px 10px;border-radius:999px}
.bank-source.is-real{color:#126a58;background:#e5f6f0}
.bank-source.is-demo{color:#725b20;background:#fcf6e2}
.bank-match-state.needs-review{color:#7b5e29;background:#fff5de}
.bank-match-state.is-done{color:#17613d;background:#e5f6ec}
.bank-match-state.is-muted{color:#5a6f80;background:#eef2f5}
.bank-description{color:#253e50;font-weight:650;font-size:.88rem;line-height:1.55;white-space:normal;overflow-wrap:anywhere}
.bank-reference{margin-top:4px;color:#8395a1;font-size:.68rem;overflow-wrap:anywhere}
.bank-entry-footer{display:flex;justify-content:space-between;align-items:center;gap:13px;padding-top:13px;margin-top:14px;border-top:1px solid #ebf0f3}
.bank-suggestion{min-width:0;flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:4px;color:#446174;font-size:.8rem;line-height:1.45;overflow-wrap:anywhere}
.bank-suggestion-label{text-transform:uppercase;letter-spacing:.06em;color:#8a9ca9;font-weight:730;font-size:.66rem}
.bank-reconciliation{font-size:.75rem;color:#1a7250}
.bank-review-button{min-width:148px;min-height:41px;flex-shrink:0;white-space:nowrap}
.bank-readonly{color:#718594;font-size:.79rem;font-weight:600}
@media(max-width:760px){
 .bank-entry{padding:15px 13px;border-radius:12px}
 .bank-entry-header{align-items:flex-start}
 .bank-entry-tags{justify-content:flex-start}
 .bank-entry-footer{align-items:stretch;flex-direction:column}
 .bank-review-button{width:100%;min-height:46px}
 .vehicle-actions{justify-content:flex-end}
}

/* v1.7: clean professional banking filters and small-screen controls. */
.bank-filters{display:grid;grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr));gap:12px;align-items:end;margin:18px 0}
.bank-filters label{display:grid;gap:7px;min-width:0;font-size:.79rem;font-weight:730;color:#486272}
.bank-filters input,.bank-filters select{display:block;width:100%;min-width:0;min-height:46px;padding:11px 12px;background:#fff;border:1px solid #cfdae1;border-radius:10px;color:#1c3547;font:inherit;font-size:16px}
.bank-filters input:focus,.bank-filters select:focus{outline:2px solid #12a99d;outline-offset:1px}
.bank-entry{transition:box-shadow .15s,border-color .15s}
.bank-entry:hover{border-color:#b9d5d5;box-shadow:0 5px 18px #12324912}
.bank-source.is-demo{color:#596d7d;background:#edf1f4}
@media(max-width:850px){.bank-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.bank-filter-search{grid-column:1/-1}}
@media(max-width:440px){.bank-filters{grid-template-columns:1fr;gap:11px}.bank-filter-search{grid-column:auto}.bank-entry-header{gap:12px}.bank-entry-tags{width:100%;justify-content:flex-start}.panel-head{flex-wrap:wrap}}

/* Qmscars v1.8: clear role identities, reporting and licence capture */
.brand .mark,.mobile-brand .mark {background:linear-gradient(145deg,#53e0c6,#21a2bd);color:#053449;border-radius:11px;position:relative;box-shadow:inset 0 1px 0 #ffffff90,0 2px 7px #031c2b30;font-weight:950;transform:rotate(-4deg);}
.brand .mark-sweep,.mobile-brand .mark-sweep {position:absolute;left:18%;right:-13%;height:3px;bottom:17%;border-radius:10px;background:#fff;transform:rotate(-24deg);box-shadow:0 3px 0 #ffffff60}
.overview-topcards{grid-template-columns:repeat(2,minmax(0,1fr));}
.period-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:4px 0 12px;}
.period-card{background:linear-gradient(180deg,#f8fbfc,#fff);border:1px solid #d9e7eb;border-radius:14px;padding:17px;min-width:0;}
.period-card h3{font-size:.96rem;color:#17384c;margin-bottom:16px;}
.period-stat{display:flex;flex-direction:column;gap:4px;border-top:1px solid #e7eff2;padding:12px 0;}
.period-stat span{font-size:.75rem;color:#60798b;}.period-stat strong{font-size:1.28rem;letter-spacing:-.04em;overflow-wrap:anywhere;}
.period-stat.is-unpaid strong{color:#ad5537;}
.agreement-terms li{padding-left:7px;margin-bottom:8px;}.agreement-terms li::marker{font-weight:850;color:#134c62;}.agreement-terms strong{font-weight:850;color:#163e50;}
.licence-upload{background:#f7fafb;border:1px solid #dbe7ea;border-radius:13px;padding:15px;margin:6px 0 19px;}
.licence-upload h3{font-size:1rem;margin:0 0 8px;}.licence-picker-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 13px;}
.licence-picker-grid input[type=file]{padding:11px 7px;min-height:49px;background:white;}
@media(max-width:760px){.period-grid{grid-template-columns:minmax(0,1fr);gap:9px}.period-card{padding:13px 15px}.period-card h3{margin-bottom:7px}.period-stat{padding:7px 0}.licence-picker-grid{grid-template-columns:1fr}.overview-topcards{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media print{.licence-upload,.period-grid{display:none!important}}

/* v1.8.2 licence: a single clean section, with one slot per side. */
.licence-two-sides{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0 10px}
.licence-side{background:#fff;border:1px solid #d6e3e9;padding:15px 13px;border-radius:11px;min-width:0}
.licence-side.has-selection{border-color:#238b77;background:#f5fdfb}
.licence-side>b{font-size:.88rem;color:#243c49;display:block;margin-bottom:12px}
.licence-upload-actions{display:flex;flex-wrap:wrap;gap:7px}
.licence-choice{display:inline-flex;padding:9px 11px;border:1px solid #cbdbe2;border-radius:8px;background:#f7fbfc;color:#264654;font-weight:650;font-size:.78rem;cursor:pointer;align-items:center;justify-content:center}
.licence-choice:hover,.licence-choice:focus-visible{border-color:#137c73;background:#eaf8f4}
.licence-file-input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.licence-selection{margin-top:11px;font-size:.77rem;color:#617d8a;word-break:break-word}
.licence-side.has-selection .licence-selection{color:#146b58;font-weight:680}
.licence-attachments{break-before:auto;margin-top:15px}
.licence-attachment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.licence-attachment{border:1px solid #dbe4e9;padding:10px;margin:0;border-radius:9px;min-width:0;break-inside:avoid}
.licence-attachment figcaption{font-size:.78rem;font-weight:650;margin:0 0 8px;color:#26414e}
.licence-attachment img{display:block;max-width:100%;width:100%;max-height:295px;object-fit:contain;min-height:100px}
.licence-image-loading{font-size:.75rem;color:#597587}
@media(max-width:650px){.licence-two-sides,.licence-attachment-grid{grid-template-columns:1fr}}
@media print{.licence-attachment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.licence-attachment{border:1px solid #999}.licence-attachment img{min-height:unset;max-height:75mm}.licence-attachments{break-before:page}}

/* Fuel level should read like a normal contract field. */
.contract-table tr.fuel-row td:first-child{background:#f7f9fa;font-weight:650;color:#456}

/* v2.0 updated Qmscars brandmark. Flat image preserves its natural proportions. */
.brand-logo {width:39px;height:39px;object-fit:contain;flex-shrink:0;display:block;}
.auth-box .brand-logo {width:48px;height:48px;}
.mobile-brand .brand-logo {width:35px;height:35px;}
@media (max-width:930px) {.sidebar .brand-logo {width:33px;height:33px;}}

/* Address autocomplete on renter, owner and client signing forms */
.address-field{position:relative;min-width:0;}
.address-suggestions{position:absolute;top:calc(100% - 15px);left:0;right:0;z-index:45;background:#fff;border:1px solid #c8dce6;border-radius:0 0 12px 12px;box-shadow:0 11px 28px #122d4533;max-height:240px;overflow:auto;padding:5px;}
.address-suggestions[hidden]{display:none!important;}
.address-option{display:block;width:100%;text-align:left;border:0;border-radius:7px;padding:10px 12px;color:#19384b;background:white;line-height:1.4;cursor:pointer;font-size:.88rem;}
.address-option:hover,.address-option.selected{background:#e4f7f4;color:#0b625c;}
.address-attribution{font-size:.65rem;color:#6b7e8b;border-top:1px solid #e5edf1;padding:7px 10px 5px;text-align:right;line-height:1.4}.address-attribution a{color:inherit;text-decoration:underline;text-underline-offset:2px}

/* Qmscars v2.0.2 — simplified bank payment review (no accounting jargon) */
.bank-intro{margin:0 0 12px;color:#526f80;font-size:.88rem;line-height:1.6}
.bank-payment-summary{padding:15px 17px;margin:0 0 18px;border-radius:13px;background:#eff7fa;border:1px solid #d9e8ed;color:#173f50;overflow-wrap:anywhere}
.bank-payment-summary strong{font-size:1.38rem;letter-spacing:-.035em;margin-right:12px}
.bank-payment-summary span{font-size:.82rem;color:#617b8d}
.bank-payment-summary p{font-size:.83rem;line-height:1.5;margin:9px 0 0;color:#496678}
.bank-choice-group{border:0;min-width:0;padding:0;margin:0 0 16px}
.bank-choice-group legend{font-size:.91rem;font-weight:800;color:#173c4e;margin:0 0 11px;padding:0}
.bank-choice{display:flex;gap:12px;align-items:center;border:1px solid #d5e1e8;border-radius:11px;background:#fff;padding:14px;margin-bottom:8px;cursor:pointer;transition:border-color .12s,background .12s}
.bank-choice:hover{background:#f7fbfb;border-color:#8ebeb9}
.bank-choice:has(input:checked){background:#edf9f6;border-color:#198b7e;box-shadow:inset 0 0 0 1px #198b7e}
.bank-choice input{width:19px;height:19px;accent-color:#158c7f;flex-shrink:0;margin:0}
.bank-choice span{display:flex;flex-direction:column;gap:4px;line-height:1.33}
.bank-choice b{font-size:.88rem;color:#1b3e50}
.bank-choice small{font-size:.77rem;color:#657e8f}
.bank-review-hint{border:1px solid #d7e9ec;background:#f3faf9;padding:11px 13px;border-radius:10px;color:#456574;font-size:.81rem;line-height:1.5;margin:4px 0 14px}
.bank-review-hint.warn{background:#fffaf0;border-color:#efd6a7;color:#795e31}
.bank-auto-option{display:block;border:1px solid #d8e9e1;background:#f5fbf7;border-radius:11px;padding:12px 13px;margin:7px 0 14px}
.bank-auto-option label,.bank-auto-option.bank-standalone-auto{display:flex;align-items:flex-start;gap:11px;cursor:pointer}
.bank-auto-option input[type=checkbox]{width:18px;height:18px;flex-shrink:0;margin:3px 0 0;accent-color:#168577}
.bank-auto-option span{display:flex;flex-direction:column;gap:4px}
.bank-auto-option b{font-size:.84rem;color:#245747}
.bank-auto-option small{color:#557568;line-height:1.5;font-size:.74rem}
#bankReviewForm [hidden]{display:none!important}
@media(max-width:600px){.bank-payment-summary{padding:13px}.bank-choice{padding:13px}.bank-choice-group legend{font-size:.84rem}.bank-choice b{font-size:.84rem}#bankReviewForm .actions button{flex:1;min-width:125px}}
.bank-sender-settings{margin-top:18px;padding:0;overflow:hidden}
.bank-sender-settings summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;cursor:pointer;padding:17px 20px;color:#23485b}
.bank-sender-settings summary::-webkit-details-marker{display:none}
.bank-sender-settings summary>span:first-child{display:flex;flex-direction:column;gap:4px}
.bank-sender-settings summary b{font-size:.92rem}
.bank-sender-settings summary small{font-size:.77rem;color:#667e8d}
.bank-settings-chevron{font-size:1.3rem;color:#688393;transition:transform .2s}
.bank-sender-settings[open] .bank-settings-chevron{transform:rotate(180deg)}
.bank-sender-settings-body{border-top:1px solid #e7eef1;padding:16px 20px 20px}
.bank-sender-settings-body p{margin-bottom:11px}
