:root{--yellow:#ffc400;--yellow-dark:#e5ad00;--black:#171717;--ink:#1f2937;--muted:#6b7280;--line:#e5e7eb;--surface:#fff;--bg:#f5f6f8;--green:#18a957;--red:#d72d2d;--orange:#d97706;--blue:#2563eb;--radius:18px;--shadow:0 14px 38px rgba(17,24,39,.08)}*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}body{margin:0;min-height:100vh;background:radial-gradient(circle at 20% -10%,rgba(255,196,0,.12),transparent 28%),var(--bg)}button,input,select,textarea{font:inherit}.portal-shell{min-height:100vh;padding-bottom:86px}.portal-header{height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(16px,4vw,34px);background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}.brand{text-decoration:none;color:var(--black);display:inline-flex;align-items:baseline;letter-spacing:-.04em;font-weight:900}.brand-x{color:var(--yellow-dark);font-size:28px;font-style:italic}.brand-moto{font-size:22px}.brand-subtitle{margin-left:8px;font-size:10px;letter-spacing:.12em;color:var(--muted)}.header-operator{display:flex;align-items:center;gap:12px;font-size:13px}.header-operator-name{font-weight:700}.header-logout{color:var(--muted);text-decoration:none}.portal-main{width:min(980px,100%);margin:auto;padding:22px clamp(14px,4vw,30px) 48px}.bottom-nav{position:fixed;left:0;right:0;bottom:0;height:72px;background:rgba(255,255,255,.96);border-top:1px solid var(--line);display:flex;justify-content:center;gap:min(12vw,90px);z-index:40;padding-bottom:env(safe-area-inset-bottom)}.bottom-nav-item{min-width:76px;color:#737b86;text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:11px;font-weight:700}.bottom-nav-item.is-active{color:#d6a000}.nav-icon{font-size:20px;font-weight:900}.hero-card,.lookup-card,.authorization-card,.capture-card,.receipt-card,.success-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.hero-card{padding:22px;display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}.hero-card h1,.page-heading h1{margin:2px 0 7px;font-size:clamp(24px,5vw,34px);letter-spacing:-.04em}.hero-card p{margin:0}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.11em;font-weight:900;color:#a17a00;margin:0 0 4px}.muted{color:var(--muted)}.status-chip{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800;white-space:nowrap;background:#f3f4f6;color:#4b5563}.status-ok,.status-completed,.status-captured,.status-approved,.status-paid{background:#e8f8ef;color:#13713c}.status-warning,.status-claimed,.status-open,.status-review_required,.status-disputed{background:#fff5d8;color:#9a6900}.status-fueling{background:#e8f0ff;color:#174ea6}.status-cancelled,.status-expired,.status-reversed{background:#feecec;color:#9b1c1c}.lookup-card{padding:22px;margin-bottom:18px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-heading h2,.capture-card h2{margin:0;font-size:21px;letter-spacing:-.02em}.btn{appearance:none;border:0;border-radius:12px;min-height:46px;padding:0 18px;font-weight:900;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .12s ease,filter .12s ease}.btn:hover{filter:brightness(.98)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(180deg,#ffd32a,var(--yellow));color:#151515}.btn-dark{background:#202020;color:#fff}.btn-secondary{background:#fff;color:#252525;border:1px solid #cfd3d8}.btn-link{background:transparent;color:#8a6500;min-height:auto;padding:6px}.btn-large{width:100%;min-height:52px}.or-divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px;margin:17px 0}.or-divider:before,.or-divider:after{content:"";height:1px;background:var(--line);flex:1}.code-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.code-form input{font-size:26px;letter-spacing:.18em;text-align:center;font-weight:900}.stack-form{display:grid;gap:14px}.stack-form label{display:grid;gap:7px;font-size:13px;font-weight:800}.stack-form small{font-weight:500;color:var(--muted)}input,select,textarea{width:100%;border:1px solid #cfd4da;background:#fff;border-radius:12px;padding:13px 14px;color:#111827;outline:none}input:focus,select:focus,textarea:focus{border-color:#d7a800;box-shadow:0 0 0 4px rgba(255,196,0,.16)}textarea{min-height:120px;resize:vertical}.security-note{font-size:12px;color:var(--muted);margin:13px 0 0}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.stat-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:16px}.stat-card span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:800}.stat-card strong{display:block;font-size:22px;margin-top:6px;letter-spacing:-.03em}.section-block{margin-top:26px}.operation-list,.transaction-list,.settlement-list{display:grid;gap:12px}.operation-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:16px;text-decoration:none;color:inherit;display:flex;align-items:center;justify-content:space-between}.operation-card h3{margin:9px 0 4px}.operation-card p{margin:0;color:var(--muted);font-size:13px}.chevron{font-size:30px;color:#9ca3af}.empty-state{text-align:center;padding:34px 20px;border:1px dashed #cfd4da;border-radius:16px;color:var(--muted);background:rgba(255,255,255,.55)}.empty-state strong{display:block;color:var(--ink)}.empty-icon{display:block;font-size:28px;color:var(--green);margin-bottom:8px}.scanner-dialog,.form-dialog{width:min(560px,calc(100vw - 20px));border:0;border-radius:20px;padding:18px;background:#fff;box-shadow:0 24px 80px rgba(0,0,0,.25)}dialog::backdrop{background:rgba(8,10,13,.72)}.scanner-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.scanner-header h2{margin:0}.icon-btn{border:0;background:#f1f2f4;border-radius:999px;width:38px;height:38px;font-size:24px;cursor:pointer}.camera-frame{position:relative;background:#111;border-radius:16px;overflow:hidden;aspect-ratio:3/4;max-height:68vh}.camera-frame video{width:100%;height:100%;object-fit:cover}.camera-target{position:absolute;inset:20%;border:3px solid var(--yellow);border-radius:18px;box-shadow:0 0 0 999px rgba(0,0,0,.28)}.back-link{display:inline-block;margin-bottom:12px;color:#6b7280;text-decoration:none;font-weight:700}.authorization-card{padding:24px}.authorization-status{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.countdown{font-variant-numeric:tabular-nums;color:var(--red);font-weight:900}.authorization-card h1{font-size:clamp(38px,10vw,58px);letter-spacing:.05em;margin:7px 0 0}.vehicle-line{margin:3px 0 22px;color:var(--muted)}.detail-list{margin:0;display:grid}.detail-list>div{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-top:1px solid var(--line)}.detail-list dt{color:var(--muted);font-size:13px}.detail-list dd{margin:0;text-align:right;font-weight:800}.highlight{color:#ad8200;font-size:18px}.positive{color:var(--green)}.message{border-radius:12px;padding:13px 14px;font-size:13px;line-height:1.45}.message-info{background:#edf5ff;color:#24507f}.message-warning{background:#fff6d7;color:#7a5700}.message-error{background:#feecec;color:#8d1d1d}.action-stack{display:grid;gap:10px;margin-top:18px}.capture-card{padding:24px;margin-top:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.success-card{text-align:center;padding:30px;margin-top:18px}.success-icon{width:58px;height:58px;border-radius:999px;background:var(--green);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:34px;font-weight:900}.page-heading{margin:4px 0 18px}.page-heading p{margin:0;color:var(--muted)}.transaction-card,.settlement-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:17px;display:grid;grid-template-columns:1fr auto;gap:12px}.transaction-main h2,.settlement-card h2{font-size:17px;margin:5px 0}.transaction-main p,.settlement-card p{margin:0;color:var(--muted);font-size:13px}.transaction-time{font-size:12px;color:var(--muted);font-weight:800}.transaction-value,.settlement-value{text-align:right;display:grid;align-content:start}.transaction-value strong,.settlement-value strong{font-size:20px}.transaction-value span,.settlement-value span,.settlement-value small{font-size:11px;color:var(--muted)}.transaction-actions{grid-column:1/-1;display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:12px}.form-dialog form{display:grid;gap:14px}.form-dialog label{display:grid;gap:6px;font-weight:800;font-size:13px}.receipt-card{max-width:680px;margin:auto;padding:28px;text-align:center}.receipt-brand{display:flex;align-items:baseline;justify-content:center;gap:2px;margin-bottom:20px}.receipt-brand>span:last-child{font-size:12px;color:var(--muted);margin-left:9px}.receipt-card h1{margin-bottom:4px}.receipt-details{text-align:left;margin-top:24px}.receipt-meta{font-size:12px;color:var(--muted)}.portal-alert{position:sticky;top:82px;z-index:35;margin-bottom:12px;border-radius:12px;padding:13px 14px;background:#111827;color:#fff;box-shadow:var(--shadow)}.portal-alert.is-success{background:#167746}.portal-alert.is-warning{background:#8a6500}.portal-alert.is-error{background:#9b1c1c}.login-page{display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 0,rgba(255,196,0,.25),transparent 38%),#f4f5f7}.login-shell{width:min(470px,100%)}.login-card{background:#fff;border:1px solid var(--line);box-shadow:0 24px 80px rgba(17,24,39,.14);border-radius:24px;padding:clamp(25px,7vw,42px)}.login-brand{text-align:center}.login-eyebrow{text-align:center;text-transform:uppercase;letter-spacing:.13em;font-size:11px;font-weight:900;color:#997300}.login-card h1{text-align:center;font-size:26px;letter-spacing:-.03em;margin:7px 0}.login-help{text-align:center;color:var(--muted);font-size:13px;margin-bottom:22px}.login-footer{text-align:center;color:var(--muted);font-size:11px;margin:20px 0 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}@media(max-width:700px){.header-operator-name{display:none}.portal-main{padding-top:15px}.hero-card{display:block}.hero-card .status-chip{margin-top:12px}.stats-grid{grid-template-columns:1fr 1fr}.stats-grid .stat-card:last-child{grid-column:1/-1}.stats-grid.compact{grid-template-columns:repeat(3,1fr)}.stats-grid.compact .stat-card:last-child{grid-column:auto}.stat-card strong{font-size:18px}.code-form{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.transaction-card,.settlement-card{grid-template-columns:1fr}.transaction-value,.settlement-value{text-align:left}.transaction-actions{flex-wrap:wrap}.authorization-card,.capture-card,.receipt-card{padding:19px}}@media print{.portal-header,.bottom-nav,.back-link,.action-stack,.portal-alert{display:none!important}.portal-shell{padding:0}.portal-main{padding:0}.receipt-card{box-shadow:none;border:0}.receipt-card .action-stack{display:none!important}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.header-logout-form{margin:0}.header-logout{background:none;border:0;padding:0;cursor:pointer;font:inherit}
