/* Shared responsive refinements for the public site and management pages. */
[hidden]{display:none!important}
input,select,textarea,button{max-width:100%}
select,textarea{font:inherit}
.dashboard-content>*,.editor-card,.dashboard-page section,.dashboard-page form,.dashboard-page article,.dashboard-page nav{min-width:0}
.reading-table,.annual-scroll{max-width:100%;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
.reading-table:focus-visible,.annual-scroll:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #e77530;outline-offset:3px}
.dashboard-page h2,.dashboard-page .help{overflow-wrap:anywhere}
.management-menu{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 17px;border:1px solid #d6e3ef;border-radius:12px;background:#102f50;color:#fff;font:inherit;font-size:14px;font-weight:650;min-height:46px}
@media(max-width:1000px){
 .dashboard-page{display:block}
 .dashboard-page .sidebar{width:100%;min-height:0;padding:12px 4%;display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;border-right:0;border-bottom:1px solid #e1e8ee}
 .dashboard-page .sidebar .brand{height:64px}
 .dashboard-page .sidebar>.eyebrow,.dashboard-page .sidebar-bottom{display:none}
 .dashboard-page .sidebar nav{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
 .dashboard-page .sidebar nav a{min-height:46px;font-size:13px;padding:12px}
 .dashboard-page .dashboard-content{padding:28px 4%}
 .dashboard-page .dashboard-header{padding:16px 4%}
}
@media(max-width:760px){
 body>header{flex-wrap:wrap;gap:10px;height:auto;min-height:0;padding:12px 5%}
 body>header nav{width:100%;order:3;display:flex;flex-wrap:wrap;justify-content:center;gap:4px 12px}
 body>header nav a{min-height:44px;display:inline-flex;align-items:center;font-size:12px}
 body>header>.outline{display:none}
 .topbar{gap:8px;flex-wrap:wrap;justify-content:center}
 .hero-copy,.hero-photo,.contact>div,.station-copy{min-width:0}
 .hero .actions{flex-wrap:wrap}
 .location{max-width:calc(100% - 28px);gap:10px}
 .location strong{overflow-wrap:anywhere;white-space:normal}
 .location .pin{flex-shrink:0}
 .contact .details strong,.contact .details a{overflow-wrap:anywhere}
 input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px!important}
 .dashboard-page .page-actions{gap:10px}
 .dashboard-page .page-actions>*{max-width:100%;white-space:normal;text-align:center}
 .dashboard-page .primary,.dashboard-page .logout,.dashboard-page .danger-button{min-height:44px}
 .dashboard-page .period-fields{width:100%;gap:8px}
 .dashboard-page .period-fields label{flex:1;min-width:110px}
 .dashboard-page .period-fields input[type=number],.dashboard-page .period-fields select{width:100%!important;min-width:0}
 .dashboard-page .editor-card{padding:20px 16px}
 .dashboard-page .dashboard-header{flex-wrap:wrap}
 .dashboard-page .dashboard-header>span{max-width:none;flex:1;min-width:140px}
 .dashboard-page .dash-panel{padding:20px 16px}
 .dashboard-page .dash-kpi strong{font-size:clamp(22px,6vw,28px)}
 .dashboard-page .collection-summary strong{font-size:19px}
 .login-panel{padding-left:6%;padding-right:6%}
}
@media(max-width:420px){
 .dashboard-page .sidebar{grid-template-columns:1fr auto;gap:6px}
 .dashboard-page .sidebar .brand{width:155px;height:55px}
 .dashboard-page .sidebar .brand img{width:155px;top:-27px}
 .management-menu{font-size:12px;padding:11px;gap:8px;max-width:140px}
 .dashboard-page .sidebar nav{grid-template-columns:1fr}
 .dashboard-page .dashboard-content>h1{font-size:27px}
 .dashboard-page .page-actions>*{width:100%;justify-content:center}
 .dashboard-page .collection-summary>div{flex-wrap:wrap}
 .dashboard-page .hero-side,.dashboard-page .lifetime{grid-template-columns:1fr}
 .dashboard-page .hero-pump{border-left:0;padding-left:0}
 .hero .hero-copy{padding:28px 20px}
 .hero h1{font-size:40px;letter-spacing:-1.5px}
 .hero .location{left:14px;right:14px;padding:15px;max-width:none}
 .hero .location>svg{display:none}
 .fuel-totem{padding-left:16px;padding-right:16px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

.consultation-fields{border:0;padding:0;margin:0;min-width:0}.consultation-fields input,.consultation-fields select{opacity:1;color:#294c68;-webkit-text-fill-color:#294c68}.consultation-notice{padding:15px 18px;border:1px solid #c8dfef;background:#eaf4fc;border-radius:12px;color:#205176;font-size:13px;line-height:1.7}

.voucher-row .voucher-fuel{grid-column:1/-1;grid-row:auto}.voucher-fuel select{max-width:360px}

/* Final mobile usability pass. */
.table-scroll-hint{font-size:12px;line-height:1.6;color:#47677f;margin:12px 0 6px}.touch-check{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;margin:0;cursor:pointer}.touch-check input{margin:0}.back-to-top{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:30;width:46px;height:46px;border:1px solid #c7d8e7;border-radius:50%;background:#123b60;color:white;font-size:24px;box-shadow:0 4px 15px #102f5025}.dashboard-page .error,.dashboard-page .success{overflow-wrap:anywhere}.dashboard-page .member>summary{gap:14px;min-height:48px}.dashboard-page .member>summary>span:first-child{min-width:0}.dashboard-page .member>summary>span:last-child{flex-shrink:0}
@media(max-width:1000px){.dashboard-page .sidebar{position:sticky;top:0;z-index:25;box-shadow:0 3px 12px #1539540b}.dashboard-page .sidebar nav{max-height:55dvh;overflow-y:auto;overscroll-behavior:contain}.dashboard-page{scroll-padding-top:105px}html{scroll-padding-top:115px}.dashboard-page [id]{scroll-margin-top:115px}}
@media(max-width:760px){.dashboard-page .reading-table a,.dashboard-page summary{min-height:44px}.dashboard-page .reading-table a{display:inline-flex;align-items:center;justify-content:center}.dashboard-page .reading-table th{position:static}.dashboard-page .day-filter{gap:12px;align-items:end;flex-wrap:wrap}.dashboard-page .day-filter button{min-height:46px}.dashboard-page .page-actions .primary{max-width:100%}.dashboard-page .voucher-row .remove-voucher{min-height:46px}.dashboard-page .sheet-meta>div{min-width:0}.dashboard-page input[type=date]{min-width:0;max-width:100%;appearance:none}.dashboard-page .dashboard-content{padding-bottom:85px}.dashboard-page .help{font-size:12px;line-height:1.75}.dashboard-page .error,.dashboard-page .success{font-size:13px}.dashboard-page .period-fields label{flex:0 0 100%;min-width:0}.dashboard-page .period-fields select,.dashboard-page .period-fields input[type=number]{flex:1 1 100%;height:46px}.dashboard-page .collection-summary span{font-size:12px}.dashboard-page .sheet-counter input{padding-left:9px;padding-right:9px}}
@media print{.back-to-top,.table-scroll-hint{display:none!important}.dashboard-page .sidebar{position:static}}

/* Vector arrows keep the same appearance on iOS, Android and desktop. */
svg.ui-arrow{display:inline-block;width:1em;height:1em;flex-shrink:0;vertical-align:-.125em;overflow:visible}

/* Uploaded company logos keep their complete proportions. */
.brand img.station-upload-logo,.sidebar .brand img.station-upload-logo,.login-panel>.brand img.station-upload-logo,.invoice-logo img.station-upload-logo,.report-logo img.station-upload-logo{position:static;display:block;width:100%;height:100%;max-width:100%;object-fit:contain;object-position:left center;top:auto}
