:root{--blue:#123c69;--blue2:#1d5f99;--gray:#5f6b7a;--light:#f4f7fb;--dark:#17212f;--card:#fff;--border:#d8e1ea;--green:#1f9d55;--red:#d64545;--amber:#d99a1e;--softblue:#e8f2ff}*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--light);color:var(--dark)}a{color:inherit;text-decoration:none}nav{display:flex;justify-content:space-between;align-items:center;max-width:1180px;margin:0 auto;padding:22px}.logo{font-weight:800;font-size:1.35rem;color:#fff}.logo span{color:#9fc7ef}.nav-links{display:flex;gap:18px;color:#eef5ff}.site-header,.admin-header{background:linear-gradient(135deg,var(--blue),#2c587e);color:#fff}.hero{display:grid;grid-template-columns:1.3fr .7fr;gap:40px;max-width:1180px;margin:0 auto;padding:70px 22px 90px}.hero h1{font-size:3.4rem;line-height:1;margin:10px 0}.hero p{font-size:1.08rem;color:#e6eef7;max-width:680px}.hero-card{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-radius:22px;padding:26px;backdrop-filter:blur(10px)}.hero-card li{margin:10px 0}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:.78rem;color:#2b6da8;font-weight:800}.site-header .eyebrow,.admin-header .eyebrow{color:#9fc7ef}.section{max-width:1180px;margin:0 auto;padding:54px 22px}.section-title{margin-bottom:24px}.section-title h1,.section-title h2{margin:6px 0 8px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px}.card{background:var(--card);border:1px solid var(--border);border-radius:20px;padding:22px;box-shadow:0 8px 24px rgba(18,60,105,.08)}.trailer-card{display:flex;flex-direction:column;gap:10px}.trailer-image{height:190px;border-radius:16px;background:linear-gradient(135deg,#dbe8f5,#edf3fa);display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--blue);font-weight:800;text-align:center}.trailer-image img{width:100%;height:100%;object-fit:cover}.price{font-size:1.35rem;font-weight:800;color:var(--blue)}.btn{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:12px;padding:12px 16px;font-weight:800;cursor:pointer;transition:.15s}.btn:hover{transform:translateY(-1px)}.primary{background:var(--blue2);color:#fff}.secondary{background:#eaf1f8;color:var(--blue)}.danger{background:#ffe9e9;color:#9a1d1d}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}label{display:flex;flex-direction:column;gap:7px;font-weight:700;color:#2d3b4f}input,select,textarea{width:100%;border:1px solid var(--border);border-radius:12px;padding:11px 12px;background:#fff;font:inherit}textarea{min-height:95px;resize:vertical}.checkbox{flex-direction:row;align-items:center}.checkbox input{width:auto}.availability-box,.contract-box{background:#f8fbfe;border:1px solid var(--border);border-radius:18px;padding:18px;margin:18px 0}.availability-header,.calendar-admin-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.legend{font-size:.85rem;color:var(--gray);display:flex;gap:8px;align-items:center;flex-wrap:wrap}.dot{width:10px;height:10px;border-radius:50%;display:inline-block}.green{background:var(--green)}.red{background:var(--red)}.amber{background:var(--amber)}.blue{background:var(--blue2)}.gray{background:#777}.status{font-weight:800}.ok{color:var(--green)}.bad{color:var(--red)}footer{text-align:center;padding:30px;color:#6e7a89}.admin-main{padding-top:10px}.admin-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:22px}.tabs{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 22px}.tab-btn{border:1px solid var(--border);background:#fff;color:var(--blue);font-weight:800;padding:10px 14px;border-radius:12px;cursor:pointer}.tab-btn.active{background:var(--blue2);color:#fff}.tab-panel{display:none}.tab-panel.active{display:block}.item-row{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;padding:16px;border:1px solid var(--border);border-radius:16px;margin:12px 0;background:#fff}.actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.small-btn{border:none;border-radius:10px;padding:9px 11px;font-weight:800;cursor:pointer}.approve{background:#e6f7ed;color:#0e7a3b}.deny{background:#fff3d8;color:#8a5900}.delete{background:#ffeded;color:#9c2222}.edit{background:#e8f2ff;color:var(--blue)}.badge{display:inline-block;border-radius:999px;padding:4px 10px;font-size:.78rem;font-weight:800;background:#edf2f7;color:#475569}.badge.Approved{background:#e7f7ee;color:#08783c}.badge.Pending{background:#fff6df;color:#8a5900}.badge.Denied{background:#eeeeee;color:#606060}.calendar-wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;margin-top:18px}.month{border:1px solid var(--border);background:#fff;border-radius:16px;padding:14px}.month h4{text-align:center;margin:4px 0 12px}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.dow{font-size:.76rem;text-align:center;color:#667085;font-weight:800}.day{min-height:48px;border:1px solid #edf1f6;border-radius:10px;padding:6px;font-size:.78rem;background:#fbfdff;position:relative}.day.empty{background:transparent;border:none}.day.available{border-color:#d8efdf}.day.unavailable{background:#ffeaea;border-color:#ffc9c9}.day.pending{background:#fff5db;border-color:#ffd88d}.day.approved{background:#e8f2ff;border-color:#b7d7fb}.day.denied{background:#f1f1f1;border-color:#dedede;color:#777}.day.blocked{background:#ffeaea;border-color:#ffc9c9}.event-chip{display:block;margin-top:4px;padding:3px 5px;border-radius:6px;background:rgba(18,60,105,.09);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.photo-row{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}.thumb{width:78px;height:58px;border-radius:9px;object-fit:cover;border:1px solid var(--border)}.fleet-edit{display:grid;grid-template-columns:120px 1fr;gap:14px}.license-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.license-card img{width:100%;max-height:260px;object-fit:contain;background:#f2f5f8;border-radius:12px;border:1px solid var(--border)}.note{color:#6b7280;font-size:.92rem}.modal{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;padding:20px;z-index:50}.modal.hidden{display:none}.modal-card{width:min(900px,96vw);max-height:90vh;overflow:auto;background:#fff;border-radius:20px;padding:22px;position:relative}.modal-close{position:absolute;right:18px;top:14px;border:none;background:transparent;font-size:2rem;cursor:pointer}.wide{grid-column:1/-1}@media(max-width:800px){.hero{grid-template-columns:1fr;padding-top:42px}.hero h1{font-size:2.3rem}.admin-grid,.item-row,.fleet-edit{grid-template-columns:1fr}.availability-header,.calendar-admin-header{flex-direction:column}.nav-links{font-size:.9rem;gap:10px}.section{padding:36px 14px}}
.quote-box{background:#fff;border:1px solid var(--border);border-radius:14px;padding:14px;margin:14px 0}.quote-grid,.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.quote-grid div,.summary-grid div{background:#f4f8fc;border:1px solid var(--border);border-radius:12px;padding:12px}.quote-grid strong,.summary-grid strong{display:block;color:var(--blue);font-size:1.2rem}.quote-grid span,.summary-grid span{display:block;color:#64748b;font-size:.84rem;margin-top:3px}.admin-calendar .day{min-height:72px;overflow:hidden}.admin-calendar .event-chip{font-size:.68rem;line-height:1.1;white-space:nowrap;max-width:100%;background:rgba(18,60,105,.08)}.admin-calendar .day strong{display:block;margin-bottom:2px}.license-card{display:flex;flex-direction:column;gap:10px}.license-card>div{border-top:1px solid var(--border);padding-top:10px}.license-card strong{display:block;margin-bottom:6px;color:var(--blue)}
.calendar-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.calendar-controls select,.calendar-controls input{min-width:120px}.admin-calendar{grid-template-columns:repeat(auto-fit,minmax(330px,1fr))}.admin-calendar .day{min-height:58px;padding:5px;overflow:hidden}.admin-calendar .compact-day .event-chip{display:inline-flex;margin:2px 2px 0 0;padding:3px 6px;border-radius:999px;font-size:.67rem;font-weight:900;letter-spacing:.02em;color:#fff;background:var(--blue2);max-width:72px}.admin-calendar .event-chip.pending{background:var(--amber);color:#251600}.admin-calendar .event-chip.booked{background:var(--blue2)}.admin-calendar .event-chip.paid{background:var(--green)}.admin-calendar .event-chip.blocked{background:var(--red)}.day.paid{background:#e6f7ed;border-color:#b7ebc9}.day.approved{background:#e8f2ff;border-color:#b7d7fb}.day.pending{background:#fff6df;border-color:#ffd88d}.payment-pill{display:inline-block;border-radius:999px;padding:3px 8px;font-weight:900;font-size:.75rem}.payment-pill.paid{background:#e6f7ed;color:#08783c}.payment-pill.unpaid{background:#fff3d8;color:#8a5900}.muted{color:#64748b;font-weight:900}.booking-row{align-items:start}.left-actions{justify-content:flex-start;margin:8px 0 12px}.ledger{width:100%;overflow:auto;border:1px solid var(--border);border-radius:14px;background:#fff}.ledger-head,.ledger-row{display:grid;grid-template-columns:85px 100px 125px 160px 80px 90px 100px 100px 90px 90px 90px 80px;min-width:1190px}.ledger-head span{background:#eef5fb;color:var(--blue);font-weight:900}.ledger-head span,.ledger-row span{padding:10px;border-bottom:1px solid var(--border);border-right:1px solid var(--border);font-size:.84rem}.ledger-row:nth-child(odd) span{background:#fbfdff}.mini-link{border:0;background:transparent;color:#9c2222;font-weight:900;cursor:pointer}.day[onclick]{cursor:pointer}.day[onclick]:hover{outline:2px solid var(--blue2)}
.hidden{display:none!important}.login-section{max-width:560px}.login-card{margin:30px auto}.agreement-view{background:#fff;border:1px solid var(--border);border-radius:14px;padding:14px}.agreement-image{width:100%;max-height:420px;object-fit:contain;background:#f5f7fa;border:1px solid var(--border);border-radius:12px;margin-top:10px}.photo-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.photo-strip img{width:100%;height:54px;object-fit:cover;border-radius:8px;border:1px solid var(--border)}.calendar-wrap{align-items:start}.day{height:50px;min-height:50px;overflow:hidden;font-size:.72rem;line-height:1.1}.day strong{font-size:.75rem}.event-chip{font-size:.62rem;line-height:1;max-width:100%;padding:2px 4px}.admin-calendar .day{height:54px;min-height:54px;font-size:.68rem}.admin-calendar .compact-day .event-chip{font-size:.6rem;max-width:55px;padding:2px 5px}.month{min-width:0}.cal-grid{grid-auto-rows:50px}.admin-calendar .cal-grid{grid-auto-rows:54px}.customer-calendar .day{touch-action:manipulation}@media(max-width:900px){nav{padding:16px;align-items:flex-start;gap:12px}.nav-links{flex-wrap:wrap}.hero{padding:40px 16px 60px}.card{padding:16px}.form-grid{grid-template-columns:1fr}.calendar-wrap,.admin-calendar{grid-template-columns:1fr}.calendar-controls{justify-content:flex-start;width:100%}.calendar-controls select,.calendar-controls input{width:100%;min-width:0}.day{height:44px;min-height:44px;padding:4px}.cal-grid{grid-auto-rows:44px;gap:3px}.admin-calendar .day{height:46px;min-height:46px}.admin-calendar .cal-grid{grid-auto-rows:46px}.event-chip{font-size:.56rem}.admin-calendar .compact-day .event-chip{font-size:.54rem;max-width:46px}.ledger{font-size:.78rem}.modal-card{padding:16px}.hero h1{font-size:2.15rem}}@media(max-width:480px){.section{padding:28px 10px}.logo{font-size:1.05rem}.nav-links{font-size:.82rem}.hero h1{font-size:1.9rem}.month{padding:8px;border-radius:12px}.dow{font-size:.62rem}.day strong{font-size:.66rem}.day{font-size:.6rem}.event-chip{display:none}.admin-calendar .event-chip{display:inline-flex}.btn{width:100%;}.actions .small-btn{flex:1 1 auto}.item-row{padding:12px}.trailer-image{height:155px}}

/* v6 refinements */
.list-controls{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.list-controls input,.list-controls select{min-width:180px;padding:10px 12px;border:1px solid #d0d7e2;border-radius:10px;background:#fff}
.customer-cal-controls{display:flex;align-items:center;justify-content:center;gap:14px;width:100%;margin:4px 0 12px}
.customer-cal-controls button:disabled{opacity:.45;cursor:not-allowed}
.day.past{background:#f1f5f9;color:#94a3b8;cursor:not-allowed}
.trailer-image.clickable,.photo-strip img,.license-thumb{cursor:pointer}
.photo-modal{position:fixed;inset:0;background:rgba(15,23,42,.92);z-index:9999;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:24px;color:white}
.photo-modal img{max-width:94vw;max-height:82vh;border-radius:14px;box-shadow:0 24px 70px rgba(0,0,0,.45);object-fit:contain;background:white}
.photo-modal p{margin-top:12px;font-weight:700;text-align:center}
.photo-nav{position:absolute;top:50%;transform:translateY(-50%);border:none;border-radius:999px;width:44px;height:44px;font-size:36px;line-height:36px;background:white;color:#123c69;cursor:pointer}
.photo-nav.left{left:24px}.photo-nav.right{right:24px}
.license-gallery{display:block}
.license-table{display:grid;gap:0;border:1px solid #dbe3ee;border-radius:14px;overflow:auto;background:white}
.license-head,.license-row{display:grid;grid-template-columns:1.2fr 1fr .7fr 1fr 120px 120px;min-width:850px;align-items:center}
.license-head{background:#eef4fb;font-weight:800;color:#123c69}
.license-head span,.license-row span{padding:10px;border-bottom:1px solid #e5eaf2;font-size:.88rem}
.license-thumb{width:92px;height:62px;object-fit:cover;border-radius:8px;border:1px solid #dbe3ee}
.quarter-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;width:100%;margin-top:10px}
.quarter-grid div{background:#eef4fb;border:1px solid #dbeafe;border-radius:12px;padding:10px;display:grid;gap:4px}
.quarter-grid span{font-size:.82rem;color:#344054}
.ledger-head,.ledger-row{grid-template-columns:.7fr .85fr .9fr .9fr 1fr .6fr .75fr .7fr .8fr .8fr .8fr .8fr .7fr;min-width:1200px}
.day{min-height:86px;max-height:86px;overflow:hidden;font-size:.78rem}
.admin-calendar .day{min-height:74px;max-height:74px}
.event-chip{font-size:.65rem;padding:2px 5px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
@media(max-width:760px){
  .list-controls{justify-content:stretch}.list-controls input,.list-controls select,.list-controls button{width:100%;min-width:0}
  .calendar-wrap{overflow-x:auto}.month{min-width:640px}
  .grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.admin-grid{grid-template-columns:1fr}
  .site-header nav{flex-direction:column;gap:12px}.nav-links{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
  .hero{grid-template-columns:1fr;padding:42px 18px}.section{padding:34px 16px}
  .photo-nav.left{left:8px}.photo-nav.right{right:8px}
  .license-table,.ledger{overflow-x:auto}
}

/* v7 refinements */
.trailer-card{position:relative}
.swipe-area{position:relative;overflow:hidden}
.photo-step{position:absolute;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;border-radius:999px;background:rgba(255,255,255,.92);color:#123c69;font-size:26px;font-weight:900;line-height:30px;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.2)}
.photo-step.left{left:8px}.photo-step.right{right:8px}
.photo-counter{position:absolute;right:10px;bottom:10px;background:rgba(15,23,42,.72);color:white;border-radius:999px;padding:4px 9px;font-size:.72rem;font-weight:800}
.visible-close,.photo-modal .modal-close{position:fixed;right:22px;top:18px;width:48px;height:48px;border:3px solid white;border-radius:999px;background:#ef4444!important;color:white!important;font-size:34px!important;line-height:38px;font-weight:900;display:flex;align-items:center;justify-content:center;z-index:10001;box-shadow:0 12px 30px rgba(0,0,0,.35)}
.photo-modal{touch-action:pan-y}
.contract-table .license-head,.contract-table .license-row{grid-template-columns:1.1fr 1fr 1fr 1.4fr .9fr .8fr;min-width:1040px}
.ledger-head,.ledger-row{grid-template-columns:.65fr .8fr .9fr .9fr 1fr .6fr .72fr .7fr .75fr .75fr .85fr .75fr .75fr .7fr!important;min-width:1320px!important}
.ledger-row span,.ledger-head span{font-size:.8rem!important}
#siteSubheadline{min-height:120px}
@media(max-width:760px){.photo-step{width:40px;height:40px;font-size:30px}.visible-close,.photo-modal .modal-close{right:12px;top:12px;width:52px;height:52px}.photo-counter{font-size:.8rem}.contract-table .license-head,.contract-table .license-row{min-width:980px}}
.section-head-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.section-head-row h2{margin:0}.bookkeeping-full{width:100%}.ledger-row .mini-link{margin-right:8px}.ledger-head,.ledger-row{grid-template-columns:.65fr .8fr .9fr .9fr 1fr .6fr .72fr .7fr .75fr .75fr .85fr .75fr .75fr .9fr!important;min-width:1360px!important}

/* v11 bookkeeping refinements */
.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin:14px 0;}
.summary-box{background:#f5f7fb;border:1px solid #dbe3ef;border-radius:12px;padding:10px;min-height:64px;}
.summary-box strong{display:block;font-size:1rem;color:#0f3557;}
.summary-box span{font-size:.72rem;color:#59677a;}
.quarter-ledger{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:1px;background:#dbe3ef;border:1px solid #dbe3ef;border-radius:12px;overflow:hidden;grid-column:1/-1;margin-top:10px;}
.quarter-ledger>div{background:#fff;padding:8px;font-size:.78rem;white-space:nowrap;}
.quarter-ledger .q-head{background:#1f4e79;color:#fff;font-weight:700;text-align:center;}
.quarter-ledger .q-label{font-weight:700;background:#f5f7fb;color:#223;}
.ledger-head,.ledger-row{grid-template-columns:.7fr .9fr .9fr .9fr 1.1fr .8fr .8fr .7fr .9fr .8fr .9fr .9fr .8fr .8fr 1fr;}
.ledger-row input,.ledger-row select{width:100%;font-size:.75rem;padding:5px;border:1px solid #cbd5e1;border-radius:6px;}
@media (max-width: 900px){.quarter-ledger{overflow-x:auto;display:block}.quarter-ledger>div{display:inline-block;min-width:130px}.ledger{overflow-x:auto}.ledger-head,.ledger-row{min-width:1450px}}


/* v12 bookkeeping refinements */
#bookkeepingSummary.summary-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(105px,1fr));
  gap:8px;
  align-items:stretch;
  overflow-x:auto;
  padding-bottom:4px;
}
#bookkeepingSummary .summary-box{
  min-height:58px;
  padding:8px;
  white-space:nowrap;
}
#bookkeepingSummary .summary-box strong{font-size:.92rem;}
#bookkeepingSummary .summary-box span{font-size:.64rem;line-height:1.05;}
#bookkeepingSummary .quarter-ledger{grid-column:1 / -1;}
.ledger-head,.ledger-row{
  grid-template-columns:70px 90px 95px 95px 140px 75px 80px 70px 90px 82px 92px 92px 78px 78px 120px!important;
  min-width:1360px!important;
  align-items:center;
}
.ledger-head span,.ledger-row span{
  padding:7px 8px!important;
  font-size:.74rem!important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  min-height:34px;
  display:flex;
  align-items:center;
  gap:4px;
}
.ledger-row .mini-link{margin-right:4px;display:inline-flex;align-items:center;line-height:1;}
.ledger-row span:last-child{overflow:visible;text-overflow:clip;white-space:nowrap;}
.ledger-row input,.ledger-row select{height:26px;min-height:26px;padding:3px 5px!important;font-size:.72rem!important;}
.ledger-controls{justify-content:flex-start;}
.ledger-controls button{white-space:nowrap;}
@media(max-width:1100px){#bookkeepingSummary.summary-grid{grid-template-columns:repeat(7,118px)}}
.signature-pad-wrap{grid-column:1/-1;background:#fff;border:1px solid var(--border);border-radius:16px;padding:12px;margin-top:10px}.signature-pad-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}#signaturePad{width:100%;height:180px;background:#fff;border:2px dashed #9bb5d1;border-radius:12px;touch-action:none;display:block}.signature-thumb{width:150px;max-height:52px;object-fit:contain;background:#fff;border:1px solid var(--border);border-radius:6px;display:block;margin-bottom:4px}.contracts-ledger .ledger-head,.contracts-ledger .ledger-row{grid-template-columns:1.1fr 1fr .9fr .55fr .8fr 1.1fr 1.1fr 1.4fr!important;min-width:1350px!important}.photo-row span{display:inline-flex;align-items:center;gap:6px;background:#f8fbfe;border:1px solid var(--border);border-radius:10px;padding:5px}.payment-pill.unpaid{background:#fff3d8;color:#8a5900}.payment-pill.paid{background:#e6f7ed;color:#08783c}@media(max-width:700px){#signaturePad{height:150px}.signature-pad-wrap{padding:10px}.contracts-ledger .ledger-head,.contracts-ledger .ledger-row{min-width:1100px!important}}

/* v14 admin download/alignment polish */
.file-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0;}
.download-link{display:inline-flex!important;align-items:center;justify-content:center;white-space:nowrap;color:#1f4e79!important;background:#eef5fb;border:1px solid #cfe0f2;border-radius:999px;padding:4px 8px;text-decoration:none;font-size:.72rem!important;}
.license-table .license-row > span{align-items:center;}
.contracts-ledger .ledger-head,.contracts-ledger .ledger-row{grid-template-columns:1.05fr 1fr .85fr .5fr .75fr 1.1fr 1.2fr 1.35fr!important;min-width:1320px!important;align-items:stretch;}
.contracts-ledger .ledger-row > span,.contracts-ledger .ledger-head > span{display:flex;flex-direction:column;justify-content:center;gap:4px;min-height:70px;box-sizing:border-box;}
.contracts-ledger .ledger-head > span{min-height:42px;}
.contracts-ledger small{line-height:1.15;word-break:break-word;}
.signature-thumb{margin-bottom:0!important;}
@media(max-width:700px){.download-link{font-size:.68rem!important;padding:3px 6px}.contracts-ledger .ledger-head,.contracts-ledger .ledger-row{min-width:1180px!important}}

/* v15 contracts table alignment fix */
.contracts-table-wrap{
  width:100%;
  overflow-x:auto;
  border:1px solid var(--border);
  border-radius:16px;
  background:#fff;
}
.contracts-table{
  width:100%;
  min-width:1320px;
  border-collapse:separate;
  border-spacing:0;
  table-layout:fixed;
}
.contracts-table th,
.contracts-table td{
  border-right:1px solid var(--border);
  border-bottom:1px solid var(--border);
  padding:10px 8px;
  vertical-align:middle;
  text-align:center;
  font-size:.78rem;
  line-height:1.2;
  overflow:hidden;
  word-break:break-word;
}
.contracts-table th{
  background:#eef5fb;
  color:var(--blue);
  font-weight:900;
  font-size:.82rem;
}
.contracts-table td:nth-child(1){width:150px;}
.contracts-table td:nth-child(2){width:200px;}
.contracts-table td:nth-child(3){width:145px;}
.contracts-table td:nth-child(4){width:90px;}
.contracts-table td:nth-child(5){width:130px;}
.contracts-table td:nth-child(6){width:210px;}
.contracts-table td:nth-child(7){width:220px;}
.contracts-table td:nth-child(8){width:290px;}
.contracts-table small{
  display:block;
  margin-top:4px;
  color:#0f172a;
  font-size:.68rem;
  line-height:1.15;
  overflow-wrap:anywhere;
}
.contract-signature-cell{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
}
.contracts-table .signature-thumb{
  width:160px;
  max-width:100%;
  height:48px;
  object-fit:contain;
  background:#fff;
}
.contracts-table .download-link{
  max-width:100%;
  white-space:normal;
}


/* v15 contracts table alignment fix */
.contracts-table-wrap{
  width:100%;
  overflow-x:auto;
  border:1px solid var(--border);
  border-radius:14px;
  background:#fff;
}
.contracts-table{
  width:100%;
  min-width:1280px;
  border-collapse:collapse;
  table-layout:fixed;
}
.contracts-table th,.contracts-table td{
  border-right:1px solid var(--border);
  border-bottom:1px solid var(--border);
  padding:10px 12px;
  vertical-align:middle;
  font-size:.78rem;
  line-height:1.2;
  overflow:hidden;
}
.contracts-table th{
  background:#eef5fb;
  color:var(--blue);
  font-weight:900;
  text-align:center;
  white-space:normal;
}
.contracts-table td{
  background:#fff;
  text-align:center;
}
.contracts-table tbody tr:nth-child(even) td{background:#fbfdff;}
.contracts-table td strong,.contracts-table td small{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
}
.contracts-table td small{
  margin-top:4px;
  color:#475569;
  font-size:.68rem;
  word-break:break-word;
}
.contracts-table th:nth-child(1),.contracts-table td:nth-child(1){width:150px;}
.contracts-table th:nth-child(2),.contracts-table td:nth-child(2){width:170px;}
.contracts-table th:nth-child(3),.contracts-table td:nth-child(3){width:150px;}
.contracts-table th:nth-child(4),.contracts-table td:nth-child(4){width:90px;}
.contracts-table th:nth-child(5),.contracts-table td:nth-child(5){width:140px;}
.contracts-table th:nth-child(6),.contracts-table td:nth-child(6){width:220px;}
.contracts-table th:nth-child(7),.contracts-table td:nth-child(7){width:210px;}
.contracts-table th:nth-child(8),.contracts-table td:nth-child(8){width:280px;}
.signature-cell{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;}
.contracts-table .signature-thumb{width:110px;height:42px;object-fit:contain;margin:0!important;}
.contracts-table .download-link{margin:2px auto;}
@media(max-width:700px){.contracts-table{min-width:1120px}.contracts-table th,.contracts-table td{padding:8px;font-size:.72rem}.contracts-table .signature-thumb{width:90px}}

.toolbar-row{display:flex;gap:10px;align-items:center;margin:12px 0 14px;}
.search-input{width:100%;max-width:680px;padding:11px 13px;border:1px solid #d6e1ec;border-radius:12px;font:inherit;}
.site-text-preview{margin-top:14px;padding:14px;border:1px solid #d6e1ec;border-radius:14px;background:#f8fbff;}
.site-text-preview .mini-preview{margin-top:12px;box-shadow:none;}

/* v17 Fleet polish */
#tab-fleet .admin-grid{grid-template-columns:360px 1fr;align-items:start}
#tab-fleet .card:first-child{position:sticky;top:18px}
.fleet-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px}
.fleet-card-admin{background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);border:1px solid var(--border);border-radius:22px;padding:16px;box-shadow:0 10px 26px rgba(18,60,105,.08);overflow:hidden}
.fleet-card-top{display:grid;grid-template-columns:132px 1fr;gap:14px;align-items:center}
.fleet-photo-preview{height:108px;border-radius:16px;background:linear-gradient(135deg,#dbe8f5,#eef5fb);display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--blue);font-weight:900;font-size:1.35rem;border:1px solid #d7e6f4}
.fleet-photo-preview img{width:100%;height:100%;object-fit:cover}
.fleet-title-block h3{margin:6px 0 4px;font-size:1.1rem}.fleet-title-block p{margin:0;color:#697586;font-size:.88rem;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fleet-code-pill{display:inline-flex;align-items:center;border-radius:999px;background:#e8f2ff;color:var(--blue);font-weight:900;font-size:.75rem;letter-spacing:.08em;padding:5px 9px}
.fleet-rate-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.fleet-rate-row div{background:#fff;border:1px solid #e1eaf3;border-radius:14px;padding:10px;text-align:center}.fleet-rate-row strong{display:block;color:var(--blue);font-size:1rem}.fleet-rate-row span{display:block;color:#6b7280;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;font-weight:800;margin-top:2px}
.fleet-edit-panel{border-top:1px solid #e4edf6;margin-top:12px;padding-top:10px}.fleet-edit-panel summary{cursor:pointer;color:var(--blue);font-weight:900;padding:8px 0}.compact-form{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.compact-form input,.compact-form textarea{padding:9px 10px}.fleet-photo-row{background:#f5f9fd;border:1px dashed #cbdced;border-radius:14px;padding:10px}.empty-state{text-align:center;border:1px dashed var(--border);border-radius:18px;padding:34px;color:#667085;background:#fbfdff}.muted{color:#667085}
@media(max-width:980px){#tab-fleet .admin-grid{grid-template-columns:1fr}#tab-fleet .card:first-child{position:static}.fleet-card-top{grid-template-columns:110px 1fr}.fleet-photo-preview{height:96px}}
@media(max-width:520px){.fleet-admin-grid{grid-template-columns:1fr}.fleet-card-top{grid-template-columns:1fr}.fleet-photo-preview{height:170px}.fleet-rate-row{grid-template-columns:1fr 1fr}.fleet-rate-row div:last-child{grid-column:1/-1}}

/* v18 product pages and trailer dropdown */
.nav-dropdown{position:relative;display:inline-flex;align-items:center;}
.nav-dropbtn{background:transparent;border:0;color:inherit;font:inherit;font-weight:800;cursor:pointer;padding:6px 4px;}
.nav-dropdown-menu{display:none;position:absolute;right:0;top:100%;min-width:240px;background:#fff;color:#123c69;border:1px solid var(--border);border-radius:14px;box-shadow:0 16px 36px rgba(15,23,42,.18);padding:8px;z-index:50;}
.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu{display:grid;gap:4px;}
.nav-dropdown-menu a{color:#123c69!important;text-decoration:none;padding:9px 10px;border-radius:10px;font-weight:800;white-space:nowrap;}
.nav-dropdown-menu a:hover{background:#eef5fb;}
.trailer-title-link{color:var(--blue);text-decoration:none;}
.trailer-title-link:hover{text-decoration:underline;}
.compact-header{padding-bottom:0;}
.product-section{padding-top:46px;}
.product-layout{display:grid;grid-template-columns:minmax(320px,1.1fr) minmax(320px,.9fr);gap:22px;align-items:start;}
.product-gallery,.product-info{padding:22px;}
.product-main-photo{height:430px;border-radius:18px;background:#eef4fb;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:pointer;}
.product-main-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.product-main-photo .no-photo{font-size:3rem;font-weight:900;color:#1f4e79;}
.product-photo-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0;font-weight:900;color:#123c69;}
.product-thumbs{display:flex;gap:10px;overflow-x:auto;padding-bottom:5px;}
.product-thumbs img{width:88px;height:62px;object-fit:cover;border-radius:10px;border:2px solid #dbe3ee;cursor:pointer;}
.product-info h1{font-size:2.3rem;margin:8px 0 14px;}
.product-pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0 22px;}
.product-pricing div{background:#f5f9fd;border:1px solid var(--border);border-radius:16px;padding:14px;text-align:center;}
.product-pricing strong{display:block;font-size:1.25rem;color:#123c69;}
.product-pricing span{font-size:.8rem;color:#667085;font-weight:800;text-transform:uppercase;letter-spacing:.04em;}
.product-description{line-height:1.6;color:#334155;margin-bottom:22px;}
@media(max-width:850px){
  .product-layout{grid-template-columns:1fr;}
  .product-main-photo{height:300px;}
  .product-pricing{grid-template-columns:1fr;}
  .nav-links{align-items:center;}
  .nav-dropdown-menu{right:auto;left:50%;transform:translateX(-50%);}
}

/* v19: polished, aligned top navigation */
.site-header nav,
.compact-header nav,
.admin-header nav{
  min-height:86px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.nav-links{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:nowrap;
}
.nav-links > a,
.nav-dropdown,
.nav-dropbtn{
  height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.nav-links > a,
.nav-dropbtn{
  padding:0 14px;
  border-radius:999px;
  font-weight:800;
  line-height:1;
  color:#eef5ff;
  white-space:nowrap;
  transition:background .15s ease, transform .15s ease, color .15s ease;
}
.nav-links > a:hover,
.nav-dropbtn:hover,
.nav-dropdown:focus-within .nav-dropbtn{
  background:rgba(255,255,255,.14);
  transform:translateY(-1px);
}
.nav-dropbtn{
  appearance:none;
  border:0;
  background:transparent;
  font-family:inherit;
  font-size:inherit;
  cursor:pointer;
}
.nav-dropdown-menu{
  top:calc(100% + 8px);
  right:0;
}
.nav-dropdown-menu:before{
  content:"";
  position:absolute;
  top:-8px;
  right:22px;
  width:14px;
  height:14px;
  transform:rotate(45deg);
  background:#fff;
  border-left:1px solid var(--border);
  border-top:1px solid var(--border);
}
.compact-header nav{padding-top:18px;padding-bottom:18px;}
@media(max-width:780px){
  .site-header nav,
  .compact-header nav,
  .admin-header nav{
    min-height:auto;
    align-items:flex-start;
    flex-direction:column;
    gap:14px;
  }
  .nav-links{
    width:100%;
    justify-content:flex-start;
    flex-wrap:wrap;
    gap:8px;
  }
  .nav-links > a,
  .nav-dropbtn{
    height:38px;
    padding:0 12px;
    background:rgba(255,255,255,.10);
  }
  .nav-dropdown-menu{
    left:0;
    right:auto;
    transform:none;
  }
  .nav-dropdown-menu:before{left:22px;right:auto;}
}

/* v20: Mobile customer calendar fix - keep the full 7-day grid inside the phone viewport */
.customer-cal-controls{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;flex-wrap:wrap}
.customer-cal-controls strong{font-size:1rem;color:var(--dark)}
#customerCalendar.calendar-wrap{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));}
@media(max-width:760px){
  #customerCalendar.calendar-wrap{display:grid;grid-template-columns:1fr;gap:14px;overflow-x:visible;width:100%;}
  #customerCalendar .month{min-width:0!important;width:100%;max-width:100%;padding:10px;border-radius:14px;overflow:hidden;}
  #customerCalendar .month h4{font-size:1.05rem;margin:2px 0 10px;text-align:center;white-space:nowrap;}
  #customerCalendar .cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;grid-auto-rows:minmax(42px,auto);width:100%;}
  #customerCalendar .dow{font-size:.62rem;min-width:0;text-align:center;}
  #customerCalendar .day{min-width:0;height:44px;min-height:44px;max-height:44px;padding:4px;border-radius:9px;font-size:.58rem;line-height:1.05;overflow:hidden;}
  #customerCalendar .day strong{font-size:.68rem;line-height:1;}
  #customerCalendar .event-chip{font-size:.5rem;padding:1px 3px;margin-top:2px;max-width:100%;}
  .availability-box{padding:12px;border-radius:16px;overflow:hidden;}
}
@media(max-width:420px){
  #customerCalendar .cal-grid{gap:2px;grid-auto-rows:40px;}
  #customerCalendar .day{height:40px;min-height:40px;max-height:40px;padding:3px;border-radius:8px;}
  #customerCalendar .day strong{font-size:.64rem;}
  #customerCalendar .dow{font-size:.58rem;}
  .customer-cal-controls .small-btn{padding:8px 9px;font-size:.78rem;}
}

/* v21: Desktop rental form layout - keep pickup/drop-off date and time in one row, leave mobile unchanged */
@media (min-width: 901px){
  #rentalForm .form-grid{
    grid-template-columns: repeat(4, minmax(190px, 1fr));
    align-items: end;
  }
  #rentalForm .form-grid > label:nth-child(1){
    grid-column: 1 / -1;
    max-width: 360px;
  }
  #rentalForm .form-grid > label:nth-child(2){grid-column: 1;}
  #rentalForm .form-grid > label:nth-child(3){grid-column: 2;}
  #rentalForm .form-grid > label:nth-child(4){grid-column: 3;}
  #rentalForm .form-grid > label:nth-child(5){grid-column: 4;}
  #rentalForm .form-grid > label:nth-child(6){grid-column: 1 / 2;}
  #rentalForm .form-grid > label:nth-child(7){grid-column: 2 / 3;}
  #rentalForm .form-grid > label:nth-child(8){grid-column: 3 / 4;}
}

/* v23: Desktop license upload layout - front/back on same row, mobile unchanged */
@media (min-width: 901px){
  #rentalForm .form-grid > label:nth-child(9){
    grid-column: 1 / 3;
  }
  #rentalForm .form-grid > label:nth-child(10){
    grid-column: 3 / 5;
  }
}
/* v25 bookkeeping note + paid persistence improvements */
.ledger-head,.ledger-row{grid-template-columns:.65fr .8fr .9fr .9fr 1fr .65fr .72fr .7fr .75fr .75fr .85fr .85fr .75fr .75fr .65fr .9fr!important;min-width:1500px!important;}
.note-btn.has-note{color:#1f4e79!important;background:#eef5fb;border-radius:999px;padding:3px 7px;}
.note-modal-card{max-width:620px!important;}
.note-textarea{width:100%;min-height:220px;border:1px solid var(--border);border-radius:14px;padding:12px;font:inherit;resize:vertical;box-sizing:border-box;background:#fff;}

/* v26 bookkeeping table alignment, proof upload, and reportable/all toggle */
.bookkeeping-title-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
#ledgerAllToggle.active{background:#1f4e79;color:#fff;border-color:#1f4e79;box-shadow:0 6px 16px rgba(31,78,121,.18)}
#bookkeepingSummary.reportable-only{grid-template-columns:repeat(5,minmax(125px,1fr));}
.ledger.ledger-all .ledger-head,
.ledger.ledger-all .ledger-row{
  grid-template-columns:72px 92px 100px 100px 145px 78px 82px 86px 92px 86px 100px 100px 82px 82px 74px 102px 160px!important;
  min-width:1735px!important;
}
.ledger.ledger-reportable .ledger-head,
.ledger.ledger-reportable .ledger-row{
  grid-template-columns:72px 92px 100px 100px 145px 78px 82px 86px 92px 86px 82px 82px 74px 102px 160px!important;
  min-width:1535px!important;
}
.ledger .ledger-head span,
.ledger .ledger-row span{
  min-height:36px!important;
  height:auto!important;
  box-sizing:border-box;
  align-items:center!important;
  border-right:1px solid var(--border)!important;
}
.ledger .ledger-row span:nth-last-child(1),
.ledger .ledger-row span:nth-last-child(2),
.ledger .ledger-row span:nth-last-child(3){
  overflow:visible!important;
  text-overflow:clip!important;
}
.proof-cell{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;min-width:0;}
.hidden-file{display:none!important;}
.upload-proof{color:#1f4e79!important;background:#eef5fb;border-radius:999px;padding:3px 7px;}
.tiny-muted{font-size:.7rem;white-space:nowrap;}
@media(max-width:900px){
  #bookkeepingSummary.reportable-only{grid-template-columns:repeat(5,125px);}
  .bookkeeping-title-actions{width:100%;justify-content:flex-start;}
}

/* v27 bookkeeping proof column alignment fix */
.ledger.ledger-all .ledger-head,
.ledger.ledger-all .ledger-row{
  grid-template-columns:72px 92px 100px 100px 145px 78px 82px 86px 92px 86px 100px 100px 82px 82px 74px 108px 230px!important;
  min-width:1810px!important;
}
.ledger.ledger-reportable .ledger-head,
.ledger.ledger-reportable .ledger-row{
  grid-template-columns:72px 92px 100px 100px 145px 78px 82px 86px 92px 86px 82px 82px 74px 108px 230px!important;
  min-width:1605px!important;
}
.ledger .ledger-row > span,
.ledger .ledger-head > span{
  display:flex!important;
  align-items:center!important;
  min-width:0!important;
  overflow:hidden!important;
}
.ledger .ledger-row > span:last-child,
.ledger .ledger-head > span:last-child{
  overflow:visible!important;
}
.proof-cell{
  width:100%;
  display:grid!important;
  grid-template-columns:minmax(78px,1fr) auto auto;
  align-items:center!important;
  column-gap:6px;
  white-space:nowrap;
}
.proof-cell .download-link,
.proof-cell .upload-proof,
.proof-cell .mini-link{
  font-size:.72rem!important;
  padding:3px 7px!important;
  line-height:1.1!important;
  margin:0!important;
}
.proof-cell .tiny-muted{
  overflow:hidden;
  text-overflow:ellipsis;
  display:block;
}
.user-table{border:1px solid var(--border);border-radius:14px;overflow:hidden;background:#fff}.user-head,.user-row{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:0;align-items:center}.user-head span{background:#eef5fb;color:var(--blue);font-weight:900}.user-head span,.user-row span{padding:10px;border-bottom:1px solid var(--border);border-right:1px solid var(--border)}.user-row:last-child span{border-bottom:0}.user-row input{height:34px;padding:6px 8px}.admin-only-tab.hidden{display:none!important}@media(max-width:700px){.user-head,.user-row{grid-template-columns:1fr}.user-head span,.user-row span{border-right:0}.user-head span:not(:first-child){display:none}}

/* v29 admin logout, user editing, ledger action containment */
.logout-btn{border:1px solid rgba(255,255,255,.45);background:rgba(255,255,255,.12);color:#fff;border-radius:999px;padding:8px 14px;font-weight:800;cursor:pointer;}
.logout-btn:hover{background:rgba(255,255,255,.22)}
.action-cell,.user-action-cell{display:inline-flex!important;align-items:center!important;justify-content:flex-start!important;gap:6px!important;white-space:nowrap!important;width:100%;min-width:0;}
.ledger .ledger-row > span:nth-last-child(2){overflow:hidden!important;}
.ledger .ledger-row > span:nth-last-child(2) .mini-link{font-size:.72rem!important;padding:2px 3px!important;margin:0!important;white-space:nowrap!important;}
.user-row input{width:100%;min-width:0;}
.user-action-cell .mini-link{margin-right:4px;}
@media(max-width:700px){.logout-btn{padding:7px 11px;font-size:.85rem}.action-cell{gap:4px}.ledger .ledger-row > span:nth-last-child(2) .mini-link{font-size:.68rem!important}}

/* v30 bookkeeping permission, proof, and note alignment fixes */
.ledger.without-reportable.ledger-reportable .ledger-head,
.ledger.without-reportable.ledger-reportable .ledger-row{
  grid-template-columns:70px 105px 125px 125px 160px 90px 100px 95px 110px 105px 105px 90px 115px 260px!important;
  min-width:1660px!important;
}
.ledger.with-reportable.ledger-reportable .ledger-head,
.ledger.with-reportable.ledger-reportable .ledger-row{
  grid-template-columns:70px 105px 125px 125px 160px 90px 100px 95px 110px 105px 105px 105px 90px 115px 260px!important;
  min-width:1760px!important;
}
.ledger.with-reportable.ledger-all .ledger-head,
.ledger.with-reportable.ledger-all .ledger-row{
  grid-template-columns:70px 105px 125px 125px 160px 90px 100px 95px 110px 105px 115px 115px 105px 105px 90px 115px 280px!important;
  min-width:1960px!important;
}
.ledger.without-reportable.ledger-all .ledger-head,
.ledger.without-reportable.ledger-all .ledger-row{
  grid-template-columns:70px 105px 125px 125px 160px 90px 100px 95px 110px 115px 115px 105px 105px 90px 115px 280px!important;
  min-width:1860px!important;
}
.ledger .ledger-row > span{min-width:0;box-sizing:border-box;overflow:hidden!important;}
.ledger .ledger-row > span:nth-last-child(3){overflow:hidden!important;display:flex;align-items:center;justify-content:center;}
.ledger .note-btn{max-width:100%;font-size:.72rem!important;padding:3px 6px!important;white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis;}
.ledger .action-cell{display:flex!important;flex-wrap:nowrap!important;gap:8px;align-items:center;justify-content:center;width:100%;}
.ledger .proof-cell{display:flex!important;align-items:center;gap:6px;flex-wrap:nowrap!important;overflow:hidden;width:100%;}
.ledger .proof-list{display:flex;align-items:center;gap:5px;flex-wrap:nowrap;overflow-x:auto;max-width:165px;scrollbar-width:thin;}
.ledger .proof-file-pill{display:inline-flex;align-items:center;gap:3px;white-space:nowrap;flex:0 0 auto;}
.ledger .proof-file-pill .download-link{font-size:.7rem!important;padding:2px 5px!important;}
.ledger .remove-proof{font-size:.82rem!important;color:#9c2222!important;padding:0 3px!important;margin:0!important;}
.ledger .upload-proof{flex:0 0 auto;font-size:.72rem!important;padding:3px 7px!important;background:#eef6ff;border-radius:999px;}
@media(max-width:700px){.ledger .proof-list{max-width:130px}.ledger .note-btn{font-size:.68rem!important}}


/* v31 calendar and bookkeeping time refinements */
.admin-calendar .day{
  min-height:118px!important;
  max-height:220px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:5px!important;
}
.admin-calendar .compact-day .event-chip,
.admin-calendar .event-chip{
  display:block!important;
  max-width:100%!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  font-size:.58rem!important;
  line-height:1.05!important;
  margin-top:3px!important;
}
.admin-calendar .cal-grid{grid-auto-rows:minmax(118px,auto)!important;align-items:stretch;}
.ledger.ledger-all.with-reportable .ledger-head,
.ledger.ledger-all.with-reportable .ledger-row{
  grid-template-columns:60px 92px 82px 92px 82px 94px 94px 140px 78px 82px 78px 88px 90px 92px 92px 78px 78px 78px 104px 220px!important;
  min-width:2180px!important;
}
.ledger.ledger-reportable.with-reportable .ledger-head,
.ledger.ledger-reportable.with-reportable .ledger-row{
  grid-template-columns:60px 92px 82px 92px 82px 94px 94px 140px 78px 82px 78px 88px 78px 78px 78px 104px 220px!important;
  min-width:1830px!important;
}
.ledger.ledger-reportable.without-reportable .ledger-head,
.ledger.ledger-reportable.without-reportable .ledger-row{
  grid-template-columns:60px 92px 82px 92px 82px 94px 94px 140px 78px 82px 78px 88px 78px 78px 104px 220px!important;
  min-width:1740px!important;
}
.ledger.ledger-all.without-reportable .ledger-head,
.ledger.ledger-all.without-reportable .ledger-row{
  grid-template-columns:60px 92px 82px 92px 82px 94px 94px 140px 78px 82px 78px 88px 92px 92px 78px 78px 78px 104px 220px!important;
  min-width:2090px!important;
}
.ledger .ledger-row > span,
.ledger .ledger-head > span{align-items:center!important;}

/* v32: fix user accounts table alignment and mobile product pages */
html, body{max-width:100%;overflow-x:hidden;}
.user-table{width:100%;overflow-x:auto;display:block;}
.user-head,.user-row{display:grid!important;grid-template-columns:minmax(160px,1fr) minmax(130px,.8fr) minmax(160px,1fr) minmax(145px,auto)!important;align-items:stretch;min-width:640px;}
.user-head span,.user-row span{display:flex;align-items:center;min-width:0;overflow:hidden;}
.user-row input{width:100%;min-width:0;}
.user-action-cell{display:flex!important;gap:8px;align-items:center;justify-content:flex-start;white-space:nowrap;flex-wrap:nowrap;}
.user-action-cell .mini-link{white-space:nowrap;}

@media(max-width:900px){
  .product-section{padding:26px 10px!important;max-width:100%!important;overflow:hidden;}
  .product-layout{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:18px!important;width:100%!important;max-width:100%!important;overflow:hidden;}
  .product-gallery,.product-info{width:100%!important;max-width:100%!important;min-width:0!important;padding:16px!important;overflow:hidden;}
  .product-main-photo{width:100%!important;height:auto!important;min-height:240px;max-height:420px;aspect-ratio:1.1/1;border-radius:16px;}
  .product-main-photo img{width:100%!important;height:100%!important;object-fit:contain!important;}
  .product-photo-controls{width:100%;gap:10px;}
  .product-photo-controls .btn{width:auto;min-width:94px;padding:10px 12px;flex:0 0 auto;}
  .product-thumbs{width:100%;max-width:100%;overflow-x:auto;display:flex;gap:8px;padding-bottom:6px;}
  .product-thumbs img{flex:0 0 78px;width:78px;height:56px;object-fit:cover;}
  .product-info h1{font-size:clamp(2rem,9vw,3.2rem);line-height:1.08;overflow-wrap:anywhere;}
  .product-pricing{grid-template-columns:1fr!important;}
  .site-header nav,.compact-header nav{width:100%;max-width:100%;overflow:hidden;}
  .nav-links{max-width:100%;justify-content:center;gap:10px;}
  .nav-links > a,.nav-dropbtn{padding:10px 14px;font-size:.95rem;}
}
@media(max-width:520px){
  .product-section{padding-left:8px!important;padding-right:8px!important;}
  .product-gallery,.product-info{padding:12px!important;border-radius:18px;}
  .product-main-photo{min-height:205px;}
  .product-photo-controls{justify-content:space-between;}
  .product-photo-controls .btn{min-width:88px;font-size:.88rem;}
  .product-info h1{font-size:2.25rem;}
}

/* v33 fixes: mobile trailer dropdown, user table alignment, admin calendar colors */
.site-header,.compact-header,.site-header nav,.compact-header nav,.nav-links,.nav-dropdown{overflow:visible!important;}
.nav-dropdown-menu{z-index:99999!important;max-height:70vh;overflow-y:auto;}
.admin-calendar .day.approved{background:#e8f7ee!important;border-color:#1f9d55!important;}
.admin-calendar .day.pending{background:#fff5db!important;border-color:#d99a1e!important;}
.admin-calendar .event-chip{border:1px solid rgba(255,255,255,.45);font-weight:900;}
.user-table{border:1px solid var(--border);border-radius:16px;overflow:auto!important;background:#fff;}
.user-head,.user-row{display:grid!important;grid-template-columns:minmax(190px,1fr) minmax(150px,.8fr) minmax(190px,1fr) minmax(180px,.65fr)!important;min-width:760px!important;align-items:stretch!important;}
.user-head span,.user-row>span{padding:12px 14px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);display:flex!important;align-items:center!important;min-height:64px;overflow:hidden;}
.user-head span{background:#eaf1f8;font-weight:900;color:#123c69;}
.user-row input{height:44px;width:100%;min-width:0;}
.user-action-cell{width:100%;display:flex!important;gap:10px!important;align-items:center!important;justify-content:flex-start!important;white-space:nowrap!important;overflow:hidden!important;}
.user-action-cell .mini-link{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap!important;min-width:52px;}
@media(max-width:900px){
  .site-header nav,.compact-header nav{position:relative;overflow:visible!important;}
  .nav-links{position:relative;overflow:visible!important;}
  .nav-dropdown{position:static!important;}
  .nav-dropdown-menu{left:12px!important;right:12px!important;top:auto!important;transform:none!important;width:auto!important;min-width:0!important;margin-top:8px;max-height:55vh;overflow-y:auto;box-shadow:0 18px 38px rgba(15,23,42,.28);}
  .nav-dropdown-menu a{display:block;padding:13px 14px;font-size:1rem;white-space:normal!important;}
}


/* v34: mobile trailer navigation uses a native select instead of hover dropdown */
.nav-trailer-select{
  display:none;
  appearance:none;
  -webkit-appearance:none;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  color:#fff;
  font:inherit;
  font-weight:800;
  padding:10px 38px 10px 14px;
  cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,#fff 50%),linear-gradient(135deg,#fff 50%,transparent 50%);
  background-position:calc(100% - 18px) 50%,calc(100% - 12px) 50%;
  background-size:6px 6px,6px 6px;
  background-repeat:no-repeat;
  max-width:100%;
}
.nav-trailer-select option{color:#123c69;background:#fff;font-weight:800;}
@media(max-width:900px){
  .nav-dropdown{position:relative!important;display:inline-flex!important;align-items:center!important;}
  .nav-dropdown .nav-dropbtn,
  .nav-dropdown .nav-dropdown-menu{display:none!important;}
  .nav-trailer-select{display:inline-flex!important;min-width:128px;max-width:190px;}
  .nav-links{overflow:visible!important;}
}
@media(min-width:901px){
  .nav-trailer-select{display:none!important;}
}


/* v35: bookkeeping signing links and customer signing page */
.sign-link-cell{
  display:flex!important;
  gap:6px;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
  width:100%;
}
.signing-card{max-width:980px;margin:0 auto;}
.sign-form{margin-top:18px;}
.agreement-preview{
  margin:18px 0;
  padding:16px;
  border:1px solid var(--border);
  border-radius:16px;
  background:#f8fbff;
}
.check-row{display:flex!important;gap:10px;align-items:flex-start;margin:14px 0;font-weight:800;}
.check-row input{width:auto!important;margin-top:4px;}
.ledger.ledger-all.with-reportable .ledger-head,
.ledger.ledger-all.with-reportable .ledger-row{
  grid-template-columns:60px 92px 82px 92px 82px 94px 94px 140px 78px 82px 78px 88px 90px 92px 92px 78px 78px 78px 104px 126px 220px!important;
  min-width:2306px!important;
}
.ledger.ledger-reportable.with-reportable .ledger-head,
.ledger.ledger-reportable.with-reportable .ledger-row{
  grid-template-columns:60px 92px 82px 92px 82px 94px 94px 140px 78px 82px 78px 88px 78px 78px 78px 104px 126px 220px!important;
  min-width:1956px!important;
}
.ledger.ledger-reportable.without-reportable .ledger-head,
.ledger.ledger-reportable.without-reportable .ledger-row{
  grid-template-columns:60px 92px 82px 92px 82px 94px 94px 140px 78px 82px 78px 88px 78px 78px 104px 126px 220px!important;
  min-width:1866px!important;
}
.ledger.ledger-all.without-reportable .ledger-head,
.ledger.ledger-all.without-reportable .ledger-row{
  grid-template-columns:60px 92px 82px 92px 82px 94px 94px 140px 78px 82px 78px 88px 92px 92px 78px 78px 78px 104px 126px 220px!important;
  min-width:2216px!important;
}
@media(max-width:700px){
  .sign-link-cell{justify-content:flex-start;}
  .signing-card{padding:18px!important;}
}


/* v36: customer-only signing link, license uploads inside bookkeeping, single-row ledger alignment */
.ledger .ledger-head,
.ledger .ledger-row{
  align-items:stretch!important;
}
.ledger .ledger-head > span,
.ledger .ledger-row > span{
  min-height:48px!important;
  height:auto!important;
  display:flex!important;
  align-items:center!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
.ledger .ledger-row{
  min-height:56px!important;
}
.ledger-license-cell{
  display:flex!important;
  align-items:center!important;
  gap:5px;
  width:100%;
  min-width:0;
  overflow:hidden;
  white-space:nowrap;
}
.ledger-license-cell .license-list{
  display:flex;
  align-items:center;
  gap:4px;
  flex:1 1 auto;
  min-width:0;
  overflow-x:auto;
  scrollbar-width:thin;
}
.license-file-pill{
  display:inline-flex;
  align-items:center;
  gap:3px;
  white-space:nowrap;
  flex:0 0 auto;
}
.license-file-pill .download-link{
  font-size:.68rem!important;
  padding:2px 5px!important;
}
.ledger-license-cell .upload-proof{
  flex:0 0 auto;
  font-size:.68rem!important;
  padding:3px 6px!important;
}
.ledger .sign-link-cell{
  overflow:hidden;
}
.ledger .sign-link-cell .mini-link{
  font-size:.68rem!important;
  padding:3px 6px!important;
}
.ledger.ledger-all.with-reportable .ledger-head,
.ledger.ledger-all.with-reportable .ledger-row{
  grid-template-columns:60px 92px 82px 92px 82px 94px 94px 140px 78px 82px 78px 88px 90px 92px 92px 78px 78px 78px 104px 126px 230px 220px!important;
  min-width:2536px!important;
}
.ledger.ledger-reportable.with-reportable .ledger-head,
.ledger.ledger-reportable.with-reportable .ledger-row{
  grid-template-columns:60px 92px 82px 92px 82px 94px 94px 140px 78px 82px 78px 88px 78px 78px 78px 104px 126px 230px 220px!important;
  min-width:2186px!important;
}
.ledger.ledger-reportable.without-reportable .ledger-head,
.ledger.ledger-reportable.without-reportable .ledger-row{
  grid-template-columns:60px 92px 82px 92px 82px 94px 94px 140px 78px 82px 78px 88px 78px 78px 104px 126px 230px 220px!important;
  min-width:2096px!important;
}
.ledger.ledger-all.without-reportable .ledger-head,
.ledger.ledger-all.without-reportable .ledger-row{
  grid-template-columns:60px 92px 82px 92px 82px 94px 94px 140px 78px 82px 78px 88px 92px 92px 78px 78px 78px 104px 126px 230px 220px!important;
  min-width:2446px!important;
}
@media(max-width:700px){
  .ledger-license-cell{gap:4px;}
  .ledger-license-cell .upload-proof,.ledger .sign-link-cell .mini-link{font-size:.64rem!important;padding:2px 5px!important;}
}


/* v37: keep proof/license/signing cells in the same ledger row and preserve repeated uploads */
.ledger{
  display:block!important;
  overflow-x:auto!important;
}
.ledger .ledger-head,
.ledger .ledger-row{
  display:grid!important;
  grid-auto-flow:column!important;
  width:max-content!important;
  align-items:stretch!important;
}
.ledger .ledger-head > span,
.ledger .ledger-row > span{
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
  white-space:nowrap!important;
}
.ledger .proof-cell,
.ledger .ledger-license-cell,
.ledger .sign-link-cell,
.ledger .action-cell{
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
  flex-wrap:nowrap!important;
}
.ledger .proof-list,
.ledger .license-list{
  min-width:0!important;
  max-width:145px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
}
.ledger.ledger-reportable.with-reportable .ledger-head,
.ledger.ledger-reportable.with-reportable .ledger-row{
  grid-template-columns:60px 92px 82px 92px 82px 94px 94px 140px 78px 82px 78px 88px 78px 78px 78px 104px 126px 230px 220px!important;
  min-width:1956px!important;
}
.ledger.ledger-reportable.without-reportable .ledger-head,
.ledger.ledger-reportable.without-reportable .ledger-row{
  grid-template-columns:60px 92px 82px 92px 82px 94px 94px 140px 78px 82px 78px 88px 78px 78px 104px 126px 230px 220px!important;
  min-width:2096px!important;
}
.ledger.ledger-all.with-reportable .ledger-head,
.ledger.ledger-all.with-reportable .ledger-row{
  grid-template-columns:60px 92px 82px 92px 82px 94px 94px 140px 78px 82px 78px 88px 90px 92px 92px 78px 78px 78px 104px 126px 230px 220px!important;
  min-width:2536px!important;
}
.ledger.ledger-all.without-reportable .ledger-head,
.ledger.ledger-all.without-reportable .ledger-row{
  grid-template-columns:60px 92px 82px 92px 82px 94px 94px 140px 78px 82px 78px 88px 92px 92px 78px 78px 78px 104px 126px 230px 220px!important;
  min-width:2446px!important;
}


/* v38: license delete fix support + compact action buttons */
.ledger .action-cell{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  flex-wrap:nowrap!important;
  min-width:0!important;
  width:100%!important;
  overflow:hidden!important;
}
.ledger .action-cell .mini-link,
.ledger .sign-link-cell .mini-link{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:0!important;
  max-width:58px!important;
  flex:0 1 auto!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:.68rem!important;
  padding:3px 6px!important;
  line-height:1.1!important;
  border-radius:999px!important;
}
.ledger .ledger-row > span:has(.action-cell){
  overflow:hidden!important;
}
.ledger .ledger-head > span,
.ledger .ledger-row > span{
  box-sizing:border-box!important;
}
.ledger .remove-proof{
  flex:0 0 auto!important;
  min-width:18px!important;
  max-width:22px!important;
  padding:0 4px!important;
}


/* v39: signed agreement submissions and cleaner license upload association */
.agreement-submission-table{
  display:block;
  overflow-x:auto;
  border:1px solid var(--border);
  border-radius:16px;
  background:#fff;
}
.agreement-submission-head,
.agreement-submission-row{
  display:grid;
  grid-template-columns:150px 140px 140px 90px 210px 260px;
  min-width:990px;
  align-items:stretch;
}
.agreement-submission-head span{
  background:#eaf1f8;
  color:#123c69;
  font-weight:900;
}
.agreement-submission-head span,
.agreement-submission-row span{
  padding:10px;
  border-right:1px solid var(--border);
  border-bottom:1px solid var(--border);
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
  overflow:hidden;
}
.agreement-submission-row:last-child span{border-bottom:0;}
.agreement-submission-row .download-link{
  font-size:.72rem!important;
  padding:3px 6px!important;
  white-space:nowrap;
}


/* v41: reliable customer agreement open/download actions */
.agreement-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
  margin-top:12px;
}
.agreement-actions .download-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--border);
  border-radius:999px;
  padding:10px 14px!important;
  font-weight:900;
  background:#fff;
}


/* v43: trailer photo reorder controls + safer upload UI */
.sortable-photo-row{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  align-items:stretch;
}
.photo-manage-card{
  width:132px;
  display:flex!important;
  flex-direction:column;
  gap:6px;
  align-items:center;
  justify-content:flex-start;
  padding:8px;
  border:1px solid var(--border);
  border-radius:14px;
  background:#f8fbff;
}
.photo-manage-card .thumb{
  width:112px!important;
  height:78px!important;
  object-fit:cover;
  border-radius:10px;
  border:1px solid var(--border);
}
.photo-order-controls{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:4px;
  width:100%;
}
.photo-order-controls .delete{
  grid-column:1 / -1;
}
.photo-order-controls .small-btn{
  min-width:0!important;
  width:100%;
  padding:5px 6px!important;
  font-size:.75rem!important;
}
.photo-order-controls .small-btn:disabled{
  opacity:.4;
  cursor:not-allowed;
}
.photo-manage-card small{
  color:#64748b;
  font-weight:800;
}


/* v44: Fleet tab selectable editor workflow + upload progress */
.fleet-workflow-card{
  padding:22px;
}
.fleet-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  margin-bottom:18px;
}
.fleet-toolbar h2{
  margin:0 0 4px;
}
.fleet-select-row{
  display:grid;
  grid-template-columns:minmax(260px,520px);
  gap:12px;
  margin-bottom:18px;
}
.fleet-select-row select{
  width:100%;
  font-weight:900;
}
.fleet-editor-panel{
  border:1px solid var(--border);
  border-radius:20px;
  padding:18px;
  background:#f8fbff;
}
.fleet-editor-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
  margin-bottom:12px;
}
.fleet-editor-heading h3{
  margin:0 0 4px;
  color:#123c69;
}
.upload-progress{
  margin:12px 0 16px;
  padding:12px;
  border:1px solid var(--border);
  border-radius:16px;
  background:#fff;
}
.upload-progress.hidden{
  display:none!important;
}
.upload-progress-bar{
  width:100%;
  height:14px;
  border-radius:999px;
  overflow:hidden;
  background:#dbe7f2;
  border:1px solid #c9d7e4;
}
.upload-progress-bar span{
  display:block;
  height:100%;
  width:0%;
  background:#1f4e79;
  border-radius:999px;
  transition:width .18s ease;
}
.upload-progress p{
  margin:8px 0 0;
  font-size:.85rem;
  font-weight:900;
  color:#123c69;
}
@media(max-width:700px){
  .fleet-select-row{
    grid-template-columns:1fr;
  }
  .fleet-toolbar{
    align-items:stretch;
  }
  .fleet-toolbar .btn{
    width:100%;
  }
  .fleet-editor-panel{
    padding:12px;
  }
}


/* v45: more reliable fleet photo uploader */
.fleet-editor-panel input[type="file"]{
  background:#fff;
}
.upload-progress.notice-only .upload-progress-bar span{
  width:0%;
}


/* v49: cleaner customer trailer photo layout */
.refined-trailer-card{
  overflow:hidden;
}
.refined-trailer-card .trailer-image.large-only{
  height:260px;
  border-radius:18px;
  background:#eef4fb;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.refined-trailer-card .trailer-image.large-only img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.refined-trailer-card .trailer-image.large-only span{
  font-size:2rem;
  font-weight:900;
  color:#1f4e79;
}
.four-preview-strip{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin:10px 0 12px;
  overflow:visible!important;
}
.photo-preview-btn{
  border:2px solid #d9e4ef;
  background:#fff;
  padding:0;
  border-radius:12px;
  height:58px;
  overflow:hidden;
  cursor:pointer;
}
.photo-preview-btn img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.photo-preview-btn.active{
  border-color:#1f4e79;
  box-shadow:0 0 0 2px rgba(31,78,121,.12);
}
@media(max-width:700px){
  .refined-trailer-card .trailer-image.large-only{
    height:220px;
  }
  .four-preview-strip{
    gap:6px;
  }
  .photo-preview-btn{
    height:50px;
    border-radius:10px;
  }
}


/* v50: high-res photo hydration display improvements */
.refined-trailer-card .trailer-image.large-only img,
.product-main-photo img,
.photo-modal img{
  image-rendering:auto;
}
.photo-modal img{
  max-width:min(96vw,1400px)!important;
  max-height:86vh!important;
  object-fit:contain!important;
}


/* v52: show 3 trailer cards per row on desktop home page */
.trailer-grid,
#trailerGrid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:20px!important;
}

@media (max-width: 1100px){
  .trailer-grid,
  #trailerGrid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media (max-width: 700px){
  .trailer-grid,
  #trailerGrid{
    grid-template-columns:1fr!important;
  }
}


/* v53: preserve manual line breaks in homepage trailer descriptions */
.preserve-lines,
.trailer-description{
  white-space:pre-line;
  line-height:1.5;
}


/* v54: tighten spacing between trailer title, description, and pricing */
.refined-trailer-card h3{
  margin:10px 0 4px!important;
}
.refined-trailer-card .trailer-description,
.refined-trailer-card p.trailer-description{
  margin:0 0 6px!important;
}
.refined-trailer-card .price{
  margin-top:0!important;
  margin-bottom:4px!important;
}
.refined-trailer-card .note{
  margin-top:0!important;
}


/* v61: notification settings, invoice column, and revised ledger width */
.code-block{
  background:#0f172a;
  color:#dbeafe;
  padding:14px;
  border-radius:12px;
  overflow:auto;
  white-space:pre-wrap;
}
.ledger.ledger-all.with-reportable .ledger-head,
.ledger.ledger-all.with-reportable .ledger-row{
  grid-template-columns:60px 92px 82px 92px 82px 94px 94px 140px 78px 82px 78px 88px 90px 92px 92px 78px 78px 78px 86px 104px 126px 230px 220px!important;
  min-width:2622px!important;
}
.ledger.ledger-reportable.with-reportable .ledger-head,
.ledger.ledger-reportable.with-reportable .ledger-row{
  grid-template-columns:60px 92px 82px 92px 82px 94px 94px 140px 78px 82px 78px 88px 78px 78px 78px 86px 104px 126px 230px 220px!important;
  min-width:2272px!important;
}
.ledger.ledger-reportable.without-reportable .ledger-head,
.ledger.ledger-reportable.without-reportable .ledger-row{
  grid-template-columns:60px 92px 82px 92px 82px 94px 94px 140px 78px 82px 78px 88px 78px 78px 86px 104px 126px 230px 220px!important;
  min-width:2182px!important;
}
.ledger.ledger-all.without-reportable .ledger-head,
.ledger.ledger-all.without-reportable .ledger-row{
  grid-template-columns:60px 92px 82px 92px 82px 94px 94px 140px 78px 82px 78px 88px 92px 92px 78px 78px 78px 86px 104px 126px 230px 220px!important;
  min-width:2532px!important;
}


/* v62: contract signing rental-time summary */
.sign-rental-summary{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:14px 0 18px;
}
.sign-rental-summary div{
  border:1px solid var(--border);
  background:#f8fbff;
  border-radius:14px;
  padding:10px 12px;
}
.sign-rental-summary span{
  display:block;
  color:#64748b;
  font-size:.78rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
  margin-bottom:3px;
}
.sign-rental-summary strong{color:#172033;}
@media(max-width:700px){.sign-rental-summary{grid-template-columns:1fr;}}


/* v64: email automation cards and request approval workflow */
.email-template-card{
  border:1px solid var(--border);
  border-radius:18px;
  padding:16px;
  background:#f8fbff;
  margin:14px 0;
}
.email-template-card h3{margin-top:0;color:#123c69;}
.email-template-card textarea{
  width:100%;
  min-height:160px;
  resize:vertical;
}
.request-note-box{
  background:#f8fbff;
}


/* v66: bookkeeping bulk import controls */
.import-label{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}


/* v67: email API key and CSV import visibility */
.email-template-card input[type="password"]{
  font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}


/* v72: thank you confirmations */
.thank-you-card{
  margin-top:18px;
  padding:18px;
  border-radius:18px;
  border:1px solid #bbf7d0;
  background:#f0fdf4;
}
.thank-you-card h2{margin:0 0 6px;color:#166534;}
.thank-you-card p{margin:0;}


/* v73: selected customer rental range and email test buttons */
.day.selected-range{
  background:#fef3c7!important;
  border-color:#facc15!important;
  box-shadow:inset 0 0 0 2px #facc15;
}
.day.selected-range strong{
  color:#7c2d12;
}
.event-chip.selected-chip{
  background:#facc15!important;
  border-color:#eab308!important;
  color:#422006!important;
}


/* v74: mobile-friendly admin calendar */
@media (max-width: 760px){
  .admin-calendar{
    overflow-x:visible!important;
    width:100%!important;
  }
  .admin-calendar .month{
    min-width:0!important;
    width:100%!important;
    margin:0!important;
  }
  .admin-calendar .cal-grid{
    display:grid!important;
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
    gap:4px!important;
    width:100%!important;
    min-width:0!important;
  }
  .admin-calendar .day{
    min-width:0!important;
    padding:4px 2px!important;
    min-height:72px!important;
    overflow:hidden!important;
    font-size:.68rem!important;
  }
  .admin-calendar .day strong{
    font-size:.78rem!important;
  }
  .admin-calendar .event-chip{
    display:block!important;
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:.58rem!important;
    padding:1px 3px!important;
    margin-top:2px!important;
  }
  .admin-calendar .dow{
    font-size:.62rem!important;
    padding:3px 0!important;
  }
  .calendar-admin-header,
  .calendar-controls{
    align-items:stretch!important;
  }
  .calendar-controls{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    width:100%!important;
  }
  .calendar-controls select,
  .calendar-controls input{
    width:100%!important;
    min-width:0!important;
  }
}


/* v75: taller admin calendar cells and expanded expense ledger */
@media (max-width: 760px){
  .admin-calendar .day{
    min-height:118px!important;
    padding:5px 3px!important;
  }
  .admin-calendar .event-chip{
    font-size:.60rem!important;
    line-height:1.05!important;
    margin-top:2px!important;
  }
  .admin-calendar .month{
    margin-bottom:18px!important;
  }
}

.ledger.ledger-all.with-reportable .ledger-head,
.ledger.ledger-all.with-reportable .ledger-row{
  grid-template-columns:60px 92px 82px 92px 82px 94px 94px 140px 78px 82px 78px 88px 90px 92px 92px 92px 92px 78px 78px 78px 86px 104px 126px 230px 220px!important;
  min-width:2806px!important;
}
.ledger.ledger-reportable.with-reportable .ledger-head,
.ledger.ledger-reportable.with-reportable .ledger-row{
  grid-template-columns:60px 92px 82px 92px 82px 94px 94px 140px 78px 82px 78px 88px 78px 78px 78px 86px 104px 126px 230px 220px!important;
  min-width:2272px!important;
}
.ledger.ledger-reportable.without-reportable .ledger-head,
.ledger.ledger-reportable.without-reportable .ledger-row{
  grid-template-columns:60px 92px 82px 92px 82px 94px 94px 140px 78px 82px 78px 88px 78px 78px 86px 104px 126px 230px 220px!important;
  min-width:2182px!important;
}
.ledger.ledger-all.without-reportable .ledger-head,
.ledger.ledger-all.without-reportable .ledger-row{
  grid-template-columns:60px 92px 82px 92px 82px 94px 94px 140px 78px 82px 78px 88px 92px 92px 92px 92px 78px 78px 78px 86px 104px 126px 230px 220px!important;
  min-width:2716px!important;
}


/* v78 public storefront redesign inspired by modern equipment-rental marketplaces */
.redesigned-public-header{
  background:#fff!important;
  color:#172033!important;
  border-bottom:1px solid #dbe4ee;
}
.public-topbar{
  background:#173f63;
  color:#eaf3fb;
  font-size:.8rem;
}
.public-topbar-inner{
  max-width:1240px;
  margin:0 auto;
  padding:8px 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.public-topbar a{color:#fff;text-decoration:none;font-weight:700}
.public-nav{
  max-width:1240px!important;
  margin:0 auto!important;
  padding:15px 24px!important;
  min-height:72px;
  background:#fff;
}
.public-brand{
  color:#173f63!important;
  text-decoration:none;
  font-size:1.35rem!important;
  font-weight:900!important;
  letter-spacing:-.02em;
}
.public-brand span{color:#3979ad!important}
.public-nav .nav-links>a,
.public-nav .nav-dropbtn{
  color:#30465a!important;
  font-weight:800!important;
}
.public-nav .nav-links>a:hover,
.public-nav .nav-dropbtn:hover{color:#1f6599!important}
.public-nav .nav-admin-link{
  border:1px solid #d4e0eb;
  border-radius:10px;
  padding:9px 12px!important;
  color:#526579!important;
}
.public-hero{
  max-width:none!important;
  padding:72px max(24px,calc((100vw - 1240px)/2)) 82px!important;
  grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr)!important;
  gap:54px!important;
  background:
    radial-gradient(circle at 82% 15%,rgba(98,157,205,.24),transparent 27%),
    linear-gradient(125deg,#173f63 0%,#235c88 58%,#315f82 100%);
  color:#fff;
}
.public-hero .eyebrow{color:#b9d7ee!important}
.public-hero h1{
  max-width:760px;
  font-size:clamp(2.65rem,5vw,4.6rem)!important;
  line-height:.98!important;
  letter-spacing:-.045em;
  margin:12px 0 20px!important;
}
.public-hero .hero-copy>p:not(.eyebrow){
  color:#eaf2f8!important;
  max-width:710px!important;
  font-size:1.1rem!important;
  line-height:1.65;
}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.hero-primary{
  background:#fff!important;
  color:#173f63!important;
  min-width:160px;
  box-shadow:0 10px 28px rgba(0,0,0,.12);
}
.hero-secondary{
  background:transparent!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.5)!important;
  min-width:160px;
}
.hero-trust-row{
  display:flex;
  gap:26px;
  flex-wrap:wrap;
  margin-top:34px;
}
.hero-trust-row span{display:flex;flex-direction:column;gap:2px}
.hero-trust-row strong{font-size:.98rem;color:#fff}
.hero-trust-row small{font-size:.74rem;color:#c9ddec}
.process-card{
  background:#fff!important;
  color:#172033!important;
  border:none!important;
  box-shadow:0 24px 60px rgba(3,22,38,.24)!important;
  padding:28px!important;
}
.process-card-top{display:flex;gap:14px;align-items:center;margin-bottom:18px}
.process-number{
  width:54px;height:54px;border-radius:16px;background:#e9f2f9;color:#1e6296;
  display:grid;place-items:center;font-size:1.4rem;font-weight:900;
}
.process-card small{color:#6d7d8b;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
.process-card h3{margin:2px 0 0;font-size:1.35rem;color:#173f63}
.process-card ol{list-style:none;counter-reset:step;padding:0;margin:18px 0}
.process-card li{
  counter-increment:step;
  position:relative;
  padding:11px 0 11px 42px;
  margin:0!important;
  border-bottom:1px solid #e7edf3;
  color:#42566a;
  font-weight:700;
}
.process-card li:before{
  content:counter(step);
  position:absolute;left:0;top:8px;width:27px;height:27px;border-radius:50%;
  background:#eaf2f9;color:#276d9f;display:grid;place-items:center;font-size:.78rem;font-weight:900;
}
.process-link{display:inline-block;margin-top:6px;color:#256b9e;font-weight:900;text-decoration:none}
.booking-steps-strip{
  max-width:1180px;
  margin:-32px auto 14px;
  position:relative;
  z-index:3;
  background:#fff;
  border:1px solid #dbe5ed;
  border-radius:18px;
  box-shadow:0 16px 42px rgba(24,63,99,.12);
  display:grid;
  grid-template-columns:repeat(3,1fr);
  overflow:hidden;
}
.booking-step{
  display:flex;
  align-items:center;
  gap:13px;
  padding:21px 25px;
  border-right:1px solid #e4ebf1;
}
.booking-step:last-child{border-right:0}
.booking-step>span{
  width:36px;height:36px;flex:0 0 36px;border-radius:10px;background:#e8f1f8;
  color:#225f8d;display:grid;place-items:center;font-weight:900;
}
.booking-step div{display:flex;flex-direction:column;gap:3px}
.booking-step strong{color:#21384c}
.booking-step small{color:#748596}
.section{max-width:1240px!important;padding:58px 24px!important}
.section-title{text-align:left;max-width:760px;margin-bottom:28px!important}
.section-title h2{font-size:clamp(2rem,3vw,2.75rem);letter-spacing:-.03em;color:#183c5b}
.section-subtitle,.section-title>p:not(.eyebrow){color:#65778a;line-height:1.65}
#trailers{padding-top:52px!important}
#trailerGrid{gap:24px!important}
.refined-trailer-card{
  border-radius:18px!important;
  padding:0!important;
  gap:0!important;
  border:1px solid #dce5ed!important;
  box-shadow:0 9px 25px rgba(26,62,91,.08)!important;
  transition:transform .18s ease,box-shadow .18s ease;
}
.refined-trailer-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(26,62,91,.14)!important}
.refined-trailer-card .trailer-image.large-only{
  height:250px!important;
  border-radius:18px 18px 0 0!important;
}
.refined-trailer-card .four-preview-strip{margin:10px 14px 0!important}
.refined-trailer-card h3,
.refined-trailer-card .trailer-description,
.refined-trailer-card .price,
.refined-trailer-card .note,
.refined-trailer-card>a.btn{margin-left:18px!important;margin-right:18px!important}
.refined-trailer-card h3{margin-top:15px!important;margin-bottom:5px!important;font-size:1.15rem}
.refined-trailer-card .trailer-title-link{color:#193d5b;text-decoration:none}
.refined-trailer-card .trailer-description{color:#687a8a;font-size:.92rem;line-height:1.48!important}
.refined-trailer-card .price{font-size:1.6rem!important;color:#1e6598!important;margin-top:10px!important}
.refined-trailer-card .note{font-size:.8rem;color:#6a7b8b;margin-bottom:15px!important}
.refined-trailer-card>a.btn{
  margin-top:auto!important;
  margin-bottom:18px!important;
  background:#e8f1f8!important;
  color:#1c5e8f!important;
}
.request-section{
  max-width:none!important;
  background:#f3f6f9;
  padding-left:max(24px,calc((100vw - 1240px)/2))!important;
  padding-right:max(24px,calc((100vw - 1240px)/2))!important;
}
.request-section .section-title{margin-left:0}
.request-section .form-card{
  padding:28px!important;
  border-radius:20px!important;
  box-shadow:0 14px 36px rgba(29,65,93,.09)!important;
}
.request-section .form-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:17px 20px!important;
}
.request-section label{font-size:.88rem;color:#34495b}
.request-section input,.request-section select{
  min-height:47px;
  border-radius:10px!important;
  border-color:#cad7e2!important;
  background:#fff!important;
}
.availability-box{
  margin-top:24px!important;
  border-radius:18px!important;
  background:#f9fbfd!important;
  border-color:#dbe5ed!important;
}
footer{background:#173f63!important;color:#dce8f1!important;padding:30px 24px!important}

@media(max-width:850px){
  .public-topbar-inner{justify-content:center;text-align:center}
  .public-topbar-inner a{display:none}
  .public-nav{padding:12px 16px!important}
  .public-hero{
    grid-template-columns:1fr!important;
    padding:48px 20px 72px!important;
  }
  .public-hero h1{font-size:clamp(2.6rem,11vw,4rem)!important}
  .process-card{max-width:none}
  .booking-steps-strip{
    margin:-30px 16px 0;
    grid-template-columns:1fr;
  }
  .booking-step{border-right:0;border-bottom:1px solid #e4ebf1}
  .booking-step:last-child{border-bottom:0}
  .request-section .form-grid{grid-template-columns:1fr!important}
}
@media(max-width:700px){
  .public-nav{align-items:center!important}
  .public-brand{font-size:1.08rem!important}
  .hero-actions .btn{width:100%}
  .hero-trust-row{gap:18px}
  .refined-trailer-card .trailer-image.large-only{height:235px!important}
  .section{padding-left:16px!important;padding-right:16px!important}
  .request-section{padding-left:16px!important;padding-right:16px!important}
}


/* v79 public trailer text spacing */
.refined-trailer-card .trailer-description{
  box-sizing:border-box;
  display:block;
  width:auto;
  margin:0 18px 10px!important;
  padding:4px 2px 2px!important;
}
.refined-trailer-card h3{
  margin-left:18px!important;
  margin-right:18px!important;
}
@media(max-width:700px){
  .refined-trailer-card .trailer-description{
    margin-left:18px!important;
    margin-right:18px!important;
  }
}

/* v79 signing audit geolocation */
.sign-location-note{
  margin:12px 0 18px;
  padding:12px 14px;
  border:1px solid #d9e5ef;
  border-radius:10px;
  background:#f7fafc;
  color:#65788a;
  font-size:.84rem;
  line-height:1.5;
}
.contract-location-cell{
  min-width:185px;
}
.contract-location-cell strong,
.contract-location-cell small,
.contract-location-cell a{
  display:block;
  margin-bottom:4px;
}
.signing-closed-card{
  max-width:720px;
  margin:40px auto;
}


/* v80 booking request audit details */
.booking-audit-details{
  margin-top:10px;
  max-width:760px;
  border:1px solid #dbe5ed;
  border-radius:10px;
  background:#f8fafc;
}
.booking-audit-details summary{
  cursor:pointer;
  padding:9px 12px;
  color:#245f8d;
  font-size:.82rem;
  font-weight:800;
}
.booking-audit-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  padding:0 12px 12px;
}
.booking-audit-grid>div{
  min-width:0;
  background:#fff;
  border:1px solid #e2e9ef;
  border-radius:8px;
  padding:9px;
}
.booking-audit-grid span{
  display:block;
  color:#778694;
  font-size:.72rem;
  margin-bottom:4px;
}
.booking-audit-grid strong{
  display:block;
  overflow-wrap:anywhere;
  font-size:.78rem;
}
.audit-location-status{
  overflow-wrap:anywhere;
}
@media(max-width:800px){
  .booking-audit-grid{grid-template-columns:1fr}
}


/* v81 trailer-card content gutter fix
   Keep gallery full-width while aligning every text/pricing/action element to one inset. */
.refined-trailer-card{
  --trailer-card-gutter: 34px;
}
.refined-trailer-card h3,
.refined-trailer-card .trailer-description,
.refined-trailer-card .price,
.refined-trailer-card .note,
.refined-trailer-card > a.btn{
  box-sizing:border-box!important;
  width:auto!important;
  margin-left:var(--trailer-card-gutter)!important;
  margin-right:var(--trailer-card-gutter)!important;
}
.refined-trailer-card h3{
  margin-top:24px!important;
  margin-bottom:12px!important;
}
.refined-trailer-card .trailer-description{
  padding:0!important;
  margin-top:0!important;
  margin-bottom:22px!important;
  line-height:1.55!important;
}
.refined-trailer-card .price{
  margin-top:20px!important;
  margin-bottom:6px!important;
}
.refined-trailer-card .note{
  margin-top:0!important;
  margin-bottom:22px!important;
}
.refined-trailer-card > a.btn{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin-top:auto!important;
  margin-bottom:28px!important;
}
@media(max-width:700px){
  .refined-trailer-card{
    --trailer-card-gutter: 34px;
  }
}


/* v82: restore original title/pricing/button alignment; inset description only */
.refined-trailer-card{
  --trailer-card-gutter: 18px;
}

/* Restore the pre-v81 alignment for title, pricing, rate note, and CTA. */
.refined-trailer-card h3,
.refined-trailer-card .price,
.refined-trailer-card .note,
.refined-trailer-card > a.btn{
  margin-left:18px!important;
  margin-right:18px!important;
}

.refined-trailer-card h3{
  margin-top:15px!important;
  margin-bottom:5px!important;
}

/* Only the trailer description/specifications receive the deeper text inset. */
.refined-trailer-card .trailer-description{
  box-sizing:border-box!important;
  width:auto!important;
  margin-left:34px!important;
  margin-right:34px!important;
  margin-top:0!important;
  margin-bottom:10px!important;
  padding:0!important;
  line-height:1.55!important;
}

.refined-trailer-card .price{
  margin-top:10px!important;
  margin-bottom:4px!important;
}

.refined-trailer-card .note{
  margin-top:0!important;
  margin-bottom:15px!important;
}

.refined-trailer-card > a.btn{
  margin-top:auto!important;
  margin-bottom:18px!important;
}

@media(max-width:700px){
  .refined-trailer-card .trailer-description{
    margin-left:28px!important;
    margin-right:28px!important;
  }
}


/* v83 approved trailer detail alignment */
.refined-trailer-card{
  --detail-inset:26px;
}

/* Keep title alignment unchanged. */
.refined-trailer-card h3{
  margin-left:18px!important;
  margin-right:18px!important;
}

/* Align the complete description/specification block equally from both edges. */
.refined-trailer-card .trailer-description{
  box-sizing:border-box!important;
  width:auto!important;
  margin:10px var(--detail-inset) 18px!important;
  padding:0 0 18px!important;
  line-height:1.55!important;
  border-bottom:1px solid #d7e1e9;
  overflow-wrap:break-word;
}

/* The description field contains the description and specifications; preserve
   user-entered line breaks and keep all lines inside the same inset column. */
.refined-trailer-card .trailer-description{
  white-space:pre-line;
}

/* Pricing stays aligned as before, with a subtle visual separation. */
.refined-trailer-card .price{
  margin-left:var(--detail-inset)!important;
  margin-right:var(--detail-inset)!important;
  padding-top:0!important;
}
.refined-trailer-card .note{
  margin-left:var(--detail-inset)!important;
  margin-right:var(--detail-inset)!important;
}
.refined-trailer-card > a.btn{
  margin-left:var(--detail-inset)!important;
  margin-right:var(--detail-inset)!important;
}

@media(max-width:700px){
  .refined-trailer-card{
    --detail-inset:24px;
  }
}


/* v84 hard fix: dedicated wrapper controls description/specification inset */
.refined-trailer-card .trailer-description-wrap{
  display:block!important;
  box-sizing:border-box!important;
  width:100%!important;
  padding-left:28px!important;
  padding-right:28px!important;
  margin:8px 0 16px!important;
}

.refined-trailer-card .trailer-description-wrap .trailer-description{
  display:block!important;
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:0 0 18px!important;
  border-bottom:1px solid #d7e1e9!important;
  white-space:pre-line!important;
  line-height:1.55!important;
  overflow-wrap:anywhere!important;
}

/* Leave title positioning exactly as it was before the description fixes. */
.refined-trailer-card h3{
  margin-left:18px!important;
  margin-right:18px!important;
  margin-top:15px!important;
  margin-bottom:5px!important;
}

@media(max-width:700px){
  .refined-trailer-card .trailer-description-wrap{
    padding-left:24px!important;
    padding-right:24px!important;
  }
}


/* v85 contracts table compaction */
#tab-contracts .card.table-card{
  padding:18px!important;
}
#tab-contracts h2{
  margin-top:0!important;
  margin-bottom:6px!important;
}
#tab-contracts > .card > .note{
  margin-top:0!important;
  margin-bottom:10px!important;
}
#tab-contracts .toolbar-row{
  margin:8px 0 10px!important;
}
#tab-contracts .contracts-table th,
#tab-contracts .contracts-table td{
  padding:6px 8px!important;
  line-height:1.1!important;
  height:auto!important;
  min-height:0!important;
  vertical-align:middle!important;
}
#tab-contracts .contracts-table th{
  font-size:.76rem!important;
}
#tab-contracts .contracts-table td{
  font-size:.73rem!important;
}
#tab-contracts .contracts-table td small{
  margin-top:2px!important;
  font-size:.64rem!important;
  line-height:1.05!important;
}
#tab-contracts .contracts-table .signature-thumb{
  width:125px!important;
  height:36px!important;
  margin:0 auto 3px!important;
}
#tab-contracts .contracts-table .download-link,
#tab-contracts .contracts-table .mini-link{
  padding:3px 5px!important;
  font-size:.62rem!important;
  line-height:1!important;
}
#tab-contracts .contract-location-cell{
  min-width:150px!important;
}
#tab-contracts .contract-location-cell strong,
#tab-contracts .contract-location-cell small,
#tab-contracts .contract-location-cell a{
  margin-bottom:2px!important;
}
#tab-contracts .contracts-table-wrap{
  max-height:none!important;
}

/* v85 rental request date/time controls: identical dimensions */
#rentalForm #pickupDate,
#rentalForm #pickupTime,
#rentalForm #dropoffDate,
#rentalForm #dropoffTime{
  box-sizing:border-box!important;
  width:100%!important;
  height:48px!important;
  min-height:48px!important;
  max-height:48px!important;
  padding:0 12px!important;
  line-height:48px!important;
  border-radius:10px!important;
  font-size:1rem!important;
  appearance:auto;
}
#rentalForm #pickupTime,
#rentalForm #dropoffTime{
  line-height:normal!important;
}


/* v86: equal pickup/drop-off control sizing on desktop */
@media (min-width:901px){
  #rentalForm .form-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
  #rentalForm .form-grid > label{
    min-width:0!important;
  }
  #rentalForm .form-grid > label:nth-child(2),
  #rentalForm .form-grid > label:nth-child(3),
  #rentalForm .form-grid > label:nth-child(4),
  #rentalForm .form-grid > label:nth-child(5){
    width:100%!important;
    max-width:none!important;
  }
  #rentalForm #pickupDate,
  #rentalForm #pickupTime,
  #rentalForm #dropoffDate,
  #rentalForm #dropoffTime{
    box-sizing:border-box!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:48px!important;
    min-height:48px!important;
    max-height:48px!important;
  }
}

/* v86: mobile bookkeeping summary + quarter table */
.quarter-ledger-scroll{
  grid-column:1/-1;
  width:100%;
  max-width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  padding-bottom:5px;
}
@media(max-width:760px){
  #bookkeepingSummary.summary-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    overflow:visible!important;
    width:100%!important;
  }
  #bookkeepingSummary .summary-box{
    min-width:0!important;
    width:auto!important;
    white-space:normal!important;
  }
  #bookkeepingSummary .summary-box strong{
    font-size:1rem!important;
    overflow-wrap:anywhere;
  }
  #bookkeepingSummary .summary-box span{
    font-size:.7rem!important;
    line-height:1.15!important;
  }
  #bookkeepingSummary .quarter-ledger-scroll{
    grid-column:1/-1!important;
    overflow-x:auto!important;
    max-width:100%!important;
    border:1px solid #dbe3ef;
    border-radius:12px;
    background:#eef4fb;
  }
  #bookkeepingSummary .quarter-ledger{
    display:grid!important;
    grid-template-columns:145px repeat(4,112px)!important;
    min-width:593px!important;
    width:593px!important;
    gap:1px!important;
    overflow:visible!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
  }
  #bookkeepingSummary .quarter-ledger>div{
    display:block!important;
    min-width:0!important;
    width:auto!important;
    padding:8px!important;
    white-space:nowrap!important;
    font-size:.76rem!important;
  }
}

/* v86: editable homepage Easy / Local / Flexible fields */
.trust-settings-group{
  margin:16px 0;
  padding:14px;
  border:1px solid var(--border);
  border-radius:14px;
  background:#f8fbfe;
}
.trust-settings-group h3{margin:0 0 4px}
.trust-settings-group .note{margin:0 0 12px}
.site-preview-trust{
  color:#173f63!important;
  margin:18px 0!important;
}
.site-preview-trust strong{color:#173f63!important}
.site-preview-trust small{color:#64748b!important}


/* v87 contract photo capture / upload choice */
.sign-license-picker{
  border:1px solid #d7e2ec;
  border-radius:12px;
  padding:14px;
  background:#f8fbfd;
}
.sign-license-picker>strong{display:block;margin-bottom:9px;color:#173f63}
.sign-photo-actions{display:flex;gap:8px;flex-wrap:wrap}
.camera-file-btn{margin:0!important;cursor:pointer;min-width:130px;text-align:center}
.sign-license-picker .note{display:block;margin-top:8px}
.diagnostic-status{margin-top:12px}

/* keep audit secondary lines compact */
.booking-audit-grid small{display:block;margin-top:4px;color:#6f7f8e;font-size:.7rem}


/* v89 - force Contracts / E-Sign table to content-sized compact rows */
#tab-contracts #contractsList,
#tab-contracts .contracts-table-wrap,
#tab-contracts .contracts-table{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
}

#tab-contracts .contracts-table{
  border-collapse:collapse!important;
  table-layout:fixed!important;
}

#tab-contracts .contracts-table thead,
#tab-contracts .contracts-table tbody{
  height:auto!important;
}

#tab-contracts .contracts-table thead tr{
  height:44px!important;
  min-height:44px!important;
  max-height:44px!important;
}

#tab-contracts .contracts-table tbody tr{
  height:64px!important;
  min-height:64px!important;
  max-height:64px!important;
}

#tab-contracts .contracts-table th{
  height:44px!important;
  min-height:44px!important;
  max-height:44px!important;
  padding:5px 7px!important;
  line-height:1.05!important;
  vertical-align:middle!important;
}

#tab-contracts .contracts-table td{
  height:64px!important;
  min-height:64px!important;
  max-height:64px!important;
  padding:4px 7px!important;
  line-height:1.05!important;
  vertical-align:middle!important;
  overflow:hidden!important;
}

#tab-contracts .contracts-table td strong,
#tab-contracts .contracts-table td small{
  margin:1px 0!important;
  line-height:1.05!important;
}

#tab-contracts .contracts-table .signature-cell,
#tab-contracts .contracts-table .contract-signature-cell{
  height:54px!important;
  min-height:0!important;
  gap:2px!important;
  overflow:hidden!important;
}

#tab-contracts .contracts-table .signature-thumb{
  width:100px!important;
  height:27px!important;
  max-height:27px!important;
  margin:0 auto!important;
  object-fit:contain!important;
}

#tab-contracts .contracts-table .download-link,
#tab-contracts .contracts-table .mini-link{
  padding:2px 5px!important;
  margin:1px auto!important;
  line-height:1!important;
  font-size:.60rem!important;
}

#tab-contracts .contract-location-cell{
  line-height:1.05!important;
}

@media(max-width:700px){
  #tab-contracts .contracts-table thead tr,
  #tab-contracts .contracts-table th{
    height:40px!important;
    min-height:40px!important;
    max-height:40px!important;
  }
  #tab-contracts .contracts-table tbody tr,
  #tab-contracts .contracts-table td{
    height:60px!important;
    min-height:60px!important;
    max-height:60px!important;
  }
}


/* v90: Contracts page uses an explicit compact grid instead of a browser table.
   This prevents table-layout algorithms from stretching a single row to fill the card. */
#tab-contracts .contracts-compact-wrap{
  width:100%;
  overflow-x:auto;
  overflow-y:visible;
  border:1px solid var(--border);
  border-radius:14px;
  background:#fff;
}
#tab-contracts .contracts-compact-grid{
  width:100%;
  min-width:1320px;
}
#tab-contracts .contracts-compact-header,
#tab-contracts .contracts-compact-row{
  display:grid;
  grid-template-columns:150px 180px 150px 90px 140px 190px 220px 250px 210px;
  width:100%;
}
#tab-contracts .contracts-compact-header{
  min-height:42px;
  background:#eef5fb;
}
#tab-contracts .contracts-compact-row{
  min-height:58px;
  height:auto;
  background:#fff;
}
#tab-contracts .contracts-compact-row:nth-child(odd){
  background:#fbfdff;
}
#tab-contracts .contracts-compact-head,
#tab-contracts .contracts-compact-cell{
  box-sizing:border-box;
  min-width:0;
  border-right:1px solid var(--border);
  border-bottom:1px solid var(--border);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  overflow:hidden;
}
#tab-contracts .contracts-compact-head{
  padding:6px 7px;
  color:var(--blue);
  font-weight:900;
  font-size:.76rem;
  line-height:1.05;
}
#tab-contracts .contracts-compact-cell{
  padding:5px 7px;
  font-size:.72rem;
  line-height:1.08;
}
#tab-contracts .contracts-compact-cell strong,
#tab-contracts .contracts-compact-cell small{
  display:block;
  max-width:100%;
  margin:1px 0;
  line-height:1.05;
  overflow:hidden;
  text-overflow:ellipsis;
  overflow-wrap:anywhere;
}
#tab-contracts .contracts-compact-cell small{
  font-size:.62rem;
}
#tab-contracts .contracts-compact-cell .signature-cell{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  max-height:50px;
}
#tab-contracts .contracts-compact-cell .signature-thumb{
  width:92px!important;
  height:25px!important;
  object-fit:contain;
  margin:0!important;
}
#tab-contracts .contracts-compact-cell .download-link,
#tab-contracts .contracts-compact-cell .mini-link{
  padding:2px 5px!important;
  margin:0!important;
  min-height:0!important;
  height:auto!important;
  font-size:.58rem!important;
  line-height:1!important;
}
#tab-contracts .contracts-compact-cell .contract-location-cell{
  min-width:0!important;
}
@media(max-width:700px){
  #tab-contracts .contracts-compact-row{min-height:54px}
  #tab-contracts .contracts-compact-head{font-size:.7rem}
  #tab-contracts .contracts-compact-cell{font-size:.67rem;padding:4px 6px}
}

/* v93 public all-trailer availability */
.availability-public-section{max-width:1500px;margin:0 auto}.availability-public-card{overflow:hidden}.public-all-availability{grid-template-columns:repeat(2,minmax(0,1fr))}.public-all-availability .day{height:auto;min-height:118px;overflow:visible}.public-all-availability .event-chip{display:block;font-size:.67rem;line-height:1.15;white-space:normal}.public-all-availability .availability-available{background:#e7f7ee;color:#08783c}.public-all-availability .availability-pending{background:#fff5db;color:#8a5900}.public-all-availability .availability-unavailable{background:#ffeaea;color:#9c2222}.day.mixed{background:#fbfdff;border-color:#d9e2ec}.availability-page-controls{grid-column:1/-1}.public-nav a[aria-current="page"]{color:#1f6599!important;text-decoration:underline;text-underline-offset:5px}
@media(max-width:900px){.public-all-availability{grid-template-columns:1fr}.public-all-availability .day{min-height:105px}.public-all-availability .event-chip{display:block;font-size:.64rem}}

/* v94 customer availability calendar */
.public-all-availability{display:block;margin-top:22px}
.public-availability-controls{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin:4px 0 16px}
.public-availability-controls>button:last-child{justify-self:end}
.public-availability-controls>div{text-align:center;display:flex;align-items:center;gap:10px;justify-content:center;font-size:1.1rem}
.availability-today{border:0;background:#eaf1f8;color:var(--blue);border-radius:999px;padding:6px 10px;font-weight:800;cursor:pointer}
.public-availability-month{border:1px solid var(--border);border-radius:16px;overflow:hidden;background:#fff}
.public-availability-weekdays,.public-availability-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.public-availability-weekdays>div{text-align:center;font-weight:800;color:#526174;background:#f3f7fb;padding:10px 4px;border-bottom:1px solid var(--border)}
.public-availability-day{min-height:150px;padding:8px;border-right:1px solid #e7edf3;border-bottom:1px solid #e7edf3;background:#fff;min-width:0}
.public-availability-day:nth-child(7n){border-right:0}.public-availability-day.empty{background:#f8fafc}.public-availability-day.today{box-shadow:inset 0 0 0 2px var(--blue2)}.public-availability-day.past-day{background:#f8fafc}
.public-day-number{font-weight:900;font-size:.9rem;margin-bottom:6px}.public-day-trailers{display:flex;flex-direction:column;gap:4px}
.public-trailer-status{display:flex;justify-content:space-between;gap:4px;padding:4px 5px;border-radius:6px;font-size:.66rem;line-height:1.15;font-weight:700}
.public-trailer-code{font-weight:900;overflow:hidden;text-overflow:ellipsis}.public-trailer-status.available{background:#e7f7ee;color:#08783c}.public-trailer-status.pending{background:#fff5db;color:#8a5900}.public-trailer-status.unavailable{background:#ffeaea;color:#9c2222}.public-trailer-status.past{background:#edf1f5;color:#7b8794}
@media(max-width:800px){.public-availability-controls{grid-template-columns:auto 1fr auto}.public-availability-controls>div{font-size:.95rem;flex-direction:column;gap:4px}.public-availability-month{overflow-x:auto}.public-availability-weekdays,.public-availability-days{min-width:760px}.public-availability-day{min-height:135px}.availability-public-card{padding:14px}.public-trailer-status{font-size:.62rem}}
.auth-status-box{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;margin:0 0 16px;padding:14px 16px;border:1px solid #cbd8e6;border-radius:12px;background:#f5f9fd}.auth-status-box strong{width:100%;color:#123d64}.auth-status-box span{font-size:.9rem;color:#425b72}

/* v97: Users table action/password layout cleanup */
.user-head,.user-row{
  grid-template-columns:minmax(180px,1fr) minmax(155px,.78fr) minmax(260px,1.15fr) minmax(260px,1fr)!important;
  min-width:920px!important;
}
.user-row>span{overflow:visible!important;}
.user-row input{width:100%!important;min-width:0!important;box-sizing:border-box!important;}
.user-action-cell{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px 12px!important;
  width:100%!important;
  overflow:visible!important;
  white-space:normal!important;
}
.user-action-cell .mini-link{
  flex:0 0 auto!important;
  min-width:max-content!important;
  padding-left:10px!important;
  padding-right:10px!important;
}
@media(max-width:700px){
  .user-table{overflow-x:auto!important;-webkit-overflow-scrolling:touch;}
  .user-head,.user-row{grid-template-columns:180px 155px 250px 250px!important;min-width:835px!important;}
  .user-head span{display:flex!important;}
}


/* v99: availability navigation sizing + sortable bookkeeping headers */
.public-availability-controls>button:first-child{justify-self:start;width:auto!important;min-width:118px;max-width:max-content;padding-left:16px!important;padding-right:16px!important}
.public-availability-controls>button:last-child{width:auto!important;min-width:96px;max-width:max-content;padding-left:16px!important;padding-right:16px!important}
.ledger-head>span{min-width:0}
.ledger-sort-header{appearance:none;-webkit-appearance:none;border:0;background:transparent;color:inherit;font:inherit;font-weight:800;line-height:1.15;padding:0;margin:0;width:100%;height:100%;text-align:left;cursor:pointer;display:flex;align-items:center;gap:3px;white-space:normal}
.ledger-sort-header:hover{color:var(--blue2);text-decoration:underline;text-underline-offset:3px}
.ledger-sort-header.active{color:var(--blue2)}
.ledger-sort-arrow{font-size:.72em;white-space:nowrap}
@media(max-width:800px){.public-availability-controls>button:first-child{min-width:100px;padding-left:10px!important;padding-right:10px!important}.public-availability-controls>button:last-child{min-width:82px;padding-left:10px!important;padding-right:10px!important}}

/* v100 production/live navigation refinements */
.mobile-trailer-label{display:none;font-weight:800;color:#173b5f;margin-right:6px}
.anchor-target{scroll-margin-top:92px}
@media(max-width:760px){.nav-dropdown{display:flex!important;align-items:center;gap:6px}.mobile-trailer-label{display:inline-block}.nav-trailer-select{min-width:0;max-width:180px}}

/* v102 trailer image storage quality indicators */
.photo-manage-card{position:relative}
.photo-quality-badge{font-size:.68rem;font-weight:800;margin-top:4px;padding:3px 6px;border-radius:999px;text-align:center}
.photo-quality-badge.full-quality{background:#e7f7ee;color:#08783c}
.photo-quality-badge.legacy-quality{background:#fff3d8;color:#8a5900}

/* v103: iPhone/mobile public navigation, availability calendar, and form controls */
@media (max-width:760px){
  .public-nav{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    gap:14px!important;
    padding:14px 16px 16px!important;
  }
  .public-brand{width:100%;text-align:center;font-size:1.12rem!important;}
  .public-nav .nav-links{
    width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px 12px!important;
    align-items:stretch!important;
  }
  .public-nav .nav-links>a,.public-nav .nav-dropdown{
    width:100%!important;height:44px!important;min-width:0!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
    margin:0!important;padding:0!important;
  }
  .public-nav .nav-links>a{font-size:.94rem!important;text-align:center!important;white-space:nowrap!important;}
  .mobile-trailer-label{display:none!important;}
  .nav-dropdown .nav-dropbtn,.nav-dropdown .nav-dropdown-menu{display:none!important;}
  .public-nav .nav-trailer-select{
    display:block!important;width:100%!important;max-width:none!important;min-width:0!important;height:44px!important;
    margin:0!important;padding:0 30px 0 12px!important;border:0!important;border-radius:0!important;
    background-color:transparent!important;color:#30465a!important;font-size:.94rem!important;font-weight:800!important;
    text-align:center!important;text-align-last:center!important;
    background-image:linear-gradient(45deg,transparent 50%,#30465a 50%),linear-gradient(135deg,#30465a 50%,transparent 50%)!important;
    background-position:calc(100% - 16px) 50%,calc(100% - 11px) 50%!important;
  }
  .public-nav .nav-trailer-select option{color:#173f63!important;background:#fff!important;text-align:left!important;}

  /* Native iOS date fields should occupy the same box as text/select controls. */
  .request-section input[type="date"]{
    display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;
    height:47px!important;min-height:47px!important;padding:11px 12px!important;margin:0!important;
    border:1px solid #cad7e2!important;border-radius:10px!important;background:#fff!important;
    font:inherit!important;line-height:1.2!important;-webkit-appearance:none!important;appearance:none!important;
  }
  .request-section input[type="date"]::-webkit-date-and-time-value{text-align:left!important;min-height:22px!important;}

  /* All seven public availability columns remain inside the phone viewport. */
  .availability-public-section{padding-left:10px!important;padding-right:10px!important;overflow:hidden!important;}
  .availability-public-card{padding:12px!important;overflow:hidden!important;}
  .public-availability-month{width:100%!important;max-width:100%!important;overflow:hidden!important;}
  .public-availability-weekdays,.public-availability-days{width:100%!important;min-width:0!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;}
  .public-availability-weekdays>div{min-width:0!important;padding:7px 1px!important;font-size:.68rem!important;overflow:hidden!important;}
  .public-availability-day{min-width:0!important;min-height:112px!important;padding:4px 2px!important;overflow:hidden!important;}
  .public-day-number{font-size:.72rem!important;margin-bottom:3px!important;}
  .public-day-trailers{display:flex!important;flex-direction:column!important;gap:2px!important;min-width:0!important;}
  .public-trailer-status{display:flex!important;justify-content:center!important;align-items:center!important;min-width:0!important;padding:2px 1px!important;font-size:.48rem!important;line-height:1.05!important;border-radius:5px!important;overflow:hidden!important;}
  .public-trailer-status span:first-child{overflow:hidden!important;text-overflow:clip!important;white-space:nowrap!important;max-width:100%!important;}
  .public-trailer-status span:last-child{display:none!important;}
  .public-availability-controls{grid-template-columns:auto minmax(0,1fr) auto!important;gap:5px!important;}
  .public-availability-controls>button:first-child{min-width:78px!important;padding:9px 7px!important;font-size:.75rem!important;}
  .public-availability-controls>button:last-child{min-width:66px!important;padding:9px 7px!important;font-size:.75rem!important;}
  .public-availability-controls>div{min-width:0!important;font-size:.83rem!important;}
}

/* v104 live sync and iOS booking controls */
.admin-live-status{position:sticky;top:8px;z-index:40;width:max-content;margin:0 0 10px auto;padding:6px 10px;border-radius:999px;background:#e9f7ef;color:#18733b;font-size:.78rem;font-weight:700;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.admin-live-status.bad{background:#fff1f1;color:#a52828}
@media(max-width:700px){
 #rentalForm input[type=date]{display:block!important;box-sizing:border-box!important;width:100%!important;min-width:0!important;height:58px!important;min-height:58px!important;max-height:58px!important;padding:0 18px!important;margin:0!important;border:1px solid #c8d4e2!important;border-radius:14px!important;background:#fff!important;font:inherit!important;line-height:58px!important;-webkit-appearance:none!important;appearance:none!important;}
 #rentalForm input[type=date]::-webkit-date-and-time-value{display:block!important;text-align:left!important;line-height:56px!important;margin:0!important;padding:0!important;}
}
\n\n/* v105 desktop dropdown, native iOS date picker, and live-sync status */\n@media (min-width:781px){\n  .nav-dropdown-menu{top:100%!important;}\n  .nav-dropdown-menu::after{content:"";position:absolute;left:0;right:0;top:-12px;height:12px;background:transparent;}\n  .nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu{display:grid!important;gap:4px;}\n}\n@media (max-width:780px){\n  #rentalForm input[type=date]{-webkit-appearance:auto!important;appearance:auto!important;line-height:normal!important;}\n  #rentalForm input[type=date]::-webkit-date-and-time-value{line-height:normal!important;}\n}\n.admin-live-status{display:block!important;}\n
/* v106: gapless desktop trailer hover zone + mobile calendar picker */
@media (min-width:781px){
  .public-nav .nav-dropdown{position:relative!important;padding-bottom:14px!important;margin-bottom:-14px!important;}
  .public-nav .nav-dropdown-menu{top:calc(100% - 14px)!important;margin-top:0!important;padding-top:8px!important;}
  .public-nav .nav-dropdown-menu::after{display:none!important;}
}
.mobile-date-picker[hidden]{display:none!important}
.mobile-date-picker{position:fixed;inset:0;z-index:100000;background:rgba(10,25,40,.5);display:flex;align-items:flex-end;justify-content:center;padding:12px}
.mobile-date-card{width:min(100%,430px);background:#fff;border-radius:18px;padding:14px;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.mobile-date-head{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:6px;margin-bottom:8px}.mobile-date-head strong{text-align:center}.mobile-date-head button,.mobile-date-actions button{min-height:40px}
.mobile-date-week,.mobile-date-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.mobile-date-week span{text-align:center;font-size:.72rem;font-weight:800;padding:5px 0}.mobile-date-day{border:0;background:#eef4f8;border-radius:9px;min-height:42px;font-weight:700}.mobile-date-day.blank{background:transparent}.mobile-date-day.selected{outline:3px solid #1d5f99}.mobile-date-day.past{opacity:.35}.mobile-date-actions{display:flex;justify-content:space-between;gap:8px;margin-top:10px}.mobile-date-actions button{flex:1}
@media (min-width:781px){.mobile-date-picker{display:none!important}}


/* v107: seamless desktop trailer hover + bookkeeping alignment/phone metrics */
@media (min-width:781px){
  /* Deliberately overlap the menu with the trigger's hover box. There is no
     dead strip for the pointer to cross, even when moving slowly/diagonally. */
  .public-nav .nav-dropdown{
    position:relative!important;
    padding-bottom:24px!important;
    margin-bottom:-24px!important;
    z-index:100001!important;
  }
  .public-nav .nav-dropdown-menu{
    top:calc(100% - 30px)!important;
    margin-top:0!important;
    z-index:100002!important;
  }
  .public-nav .nav-dropdown:hover .nav-dropdown-menu,
  .public-nav .nav-dropdown:focus-within .nav-dropdown-menu,
  .public-nav .nav-dropdown-menu:hover{
    display:grid!important;
    gap:4px!important;
  }
}

/* Keep every bookkeeping header on the exact same grid track as its cell.
   Notes/actions are compact; document columns have only the space they need. */
@media (min-width:761px){
  .ledger.ledger-all.with-reportable .ledger-head,
  .ledger.ledger-all.with-reportable .ledger-row{
    grid-template-columns:60px 92px 82px 92px 82px 94px 94px 140px 78px 82px 78px 88px 90px 92px 92px 92px 92px 78px 78px 78px 70px 88px 116px 164px 164px!important;
    min-width:2398px!important;
  }
  .ledger.ledger-reportable.with-reportable .ledger-head,
  .ledger.ledger-reportable.with-reportable .ledger-row{
    grid-template-columns:60px 92px 82px 92px 82px 94px 94px 140px 78px 82px 78px 88px 78px 78px 78px 70px 88px 116px 164px 164px!important;
    min-width:1950px!important;
  }
  .ledger.ledger-reportable.without-reportable .ledger-head,
  .ledger.ledger-reportable.without-reportable .ledger-row{
    grid-template-columns:60px 92px 82px 92px 82px 94px 94px 140px 78px 82px 78px 88px 78px 78px 70px 88px 116px 164px 164px!important;
    min-width:1860px!important;
  }
  .ledger.ledger-all.without-reportable .ledger-head,
  .ledger.ledger-all.without-reportable .ledger-row{
    grid-template-columns:60px 92px 82px 92px 82px 94px 94px 140px 78px 82px 78px 88px 92px 92px 92px 92px 78px 78px 78px 70px 88px 116px 164px 164px!important;
    min-width:2308px!important;
  }
  .ledger .license-list,.ledger .proof-list{max-width:148px!important;}
  .ledger .action-cell{gap:4px!important;}
}

@media (max-width:760px){
  #bookkeepingSummary .summary-box,
  #bookkeepingSummary .summary-box span{
    min-width:0!important;
    max-width:100%!important;
    overflow:hidden!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
    white-space:normal!important;
  }
  #bookkeepingSummary .summary-box span{font-size:.66rem!important;line-height:1.12!important;}
  #bookkeepingSummary .quarter-ledger .q-label{
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    line-height:1.12!important;
  }
}


/* v108: full-width mobile Contracts header + executed agreement controls */
#tab-contracts .contracts-compact-header{background:#e7f2fb!important;width:1320px!important;min-width:1320px!important;}
#tab-contracts .contracts-compact-grid{width:1320px!important;min-width:1320px!important;}
#tab-contracts .executed-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:3px;margin:2px 0;}
#tab-contracts .executed-links strong{width:100%;font-size:.62rem;}
#tab-contracts .revision-btn{border:1px solid #b8cad9;background:#fff;color:var(--blue);cursor:pointer;margin-top:3px!important;}
.agreement-history{margin-top:14px;padding:10px;border:1px solid var(--border);border-radius:10px;background:#f8fbfd;}
@media(max-width:700px){#tab-contracts .contracts-compact-header{background:#dcecf8!important;}#tab-contracts .contracts-compact-wrap{-webkit-overflow-scrolling:touch;}}

/* v109: Contracts mobile full-width header + revision editor */
#tab-contracts .contracts-compact-grid,
#tab-contracts .contracts-compact-header,
#tab-contracts .contracts-compact-row{width:1580px!important;min-width:1580px!important;}
#tab-contracts .contracts-compact-header{background:#dcecf8!important;background-clip:border-box!important;}
.revision-modal-overlay{position:fixed;inset:0;z-index:10000;background:rgba(10,30,48,.55);display:flex;align-items:center;justify-content:center;padding:18px;overflow:auto}
.revision-modal{width:min(720px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:14px;padding:20px;box-shadow:0 20px 60px rgba(0,0,0,.28)}
.revision-modal h3{margin-top:0}.revision-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}.revision-modal label{display:flex;flex-direction:column;gap:5px;font-weight:800}.revision-modal input,.revision-modal textarea{width:100%;box-sizing:border-box;padding:10px;border:1px solid var(--border);border-radius:8px;font:inherit}.revision-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}
@media(max-width:700px){.revision-grid{grid-template-columns:1fr}.revision-modal{padding:16px}.revision-actions{flex-direction:column-reverse}.revision-actions .btn{width:100%}}
