.portal-body{min-height:100vh;background:#f4f5f7;color:#171717}.portal-header{background:#fff;border-bottom:1px solid #e1e2e5}.portal-header-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:1rem}.portal-back-link,.portal-logout{color:#3e4046;font-weight:700;text-decoration:none}.portal-logout{border:1px solid #d6d7db;background:#fff;border-radius:999px;padding:.65rem 1rem;cursor:pointer}.portal-main{padding:clamp(2rem,5vw,4.5rem) 0}.portal-login-main{display:grid;place-items:center;min-height:calc(100vh - 79px);padding:2rem 1rem;background:radial-gradient(circle at top right,var(--color-accent-soft),transparent 45%)}.portal-login-card,.portal-panel{background:#fff;border:1px solid #dedfe2;border-radius:22px;box-shadow:0 18px 45px rgba(20,20,24,.07)}.portal-login-card{width:min(100%,520px);padding:clamp(1.5rem,5vw,2.7rem)}.portal-login-card h1{font-size:clamp(2.2rem,7vw,3.4rem)}.portal-form{display:grid;gap:.55rem;margin-top:1.5rem}.portal-form label,.portal-form-grid label{font-weight:750}.portal-form input,.portal-form-grid input{width:100%;border:1px solid #c9cbd0;border-radius:12px;padding:.88rem 1rem;font:inherit;background:#fff}.portal-form input:focus,.portal-form-grid input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft);outline:0}.portal-form .button{margin-top:.7rem}.portal-help{font-size:.9rem;margin:1.2rem 0 0}.portal-alert{border-radius:12px;padding:1rem;margin:1rem 0;font-weight:700}.portal-alert-error{color:#8e1736;background:#fff0f4;border:1px solid #f3b8c7}.branch-banner{display:flex;align-items:flex-start;justify-content:space-between;gap:2rem;background:#171719;color:#fff;border-radius:24px;padding:clamp(1.4rem,4vw,2.2rem);margin-bottom:2rem}.branch-banner h1{font-size:clamp(1.8rem,5vw,3rem);margin-bottom:0}.branch-banner address{font-style:normal;color:rgba(255,255,255,.78);text-align:right;line-height:1.65}.branch-banner address strong{color:#fff}.order-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;margin-bottom:1.5rem}.order-heading h2{margin-bottom:.3rem}.running-total{min-width:220px;background:#fff;border:1px solid #dedfe2;border-radius:16px;padding:1rem 1.2rem;text-align:right}.running-total span{display:block;color:#686b72;font-size:.82rem;font-weight:700}.running-total strong{font-size:1.65rem}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1.5rem}.product-card{display:grid;grid-template-rows:auto 1fr auto;background:#fff;border:1px solid #dedfe2;border-radius:18px;overflow:hidden;box-shadow:0 8px 25px rgba(20,20,24,.04)}.product-image{aspect-ratio:16/9;background:linear-gradient(135deg,#f7f7f8,#eceef1);display:grid;place-items:center;align-content:center;gap:.35rem;overflow:hidden;color:#6c6f76}.product-image img{width:100%;height:100%;object-fit:contain;background:#fff}.product-image>span{display:grid;place-items:center;width:3.2rem;height:3.2rem;border-radius:999px;background:var(--color-accent);color:var(--color-accent-text);font-weight:800}.product-image small{font-size:.75rem}.product-copy{padding:1.1rem 1.1rem .8rem}.product-copy h3{font-size:1.05rem;margin-bottom:.4rem}.product-copy p{font-size:.9rem;margin-bottom:.55rem}.product-copy>strong{font-size:1.2rem}.quantity-control{display:grid;grid-template-columns:52px 1fr 52px;border-top:1px solid #e3e4e7}.quantity-control button{border:0;background:#f5f5f7;font-size:1.65rem;font-weight:500;cursor:pointer;color:#171717;min-height:52px}.quantity-control button:hover{background:var(--color-accent-soft);color:var(--color-accent-readable)}.quantity-control input{width:100%;border:0;border-left:1px solid #e3e4e7;border-right:1px solid #e3e4e7;text-align:center;font:700 1.1rem inherit;-moz-appearance:textfield}.quantity-control input::-webkit-inner-spin-button,.quantity-control input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.portal-panel{padding:clamp(1.3rem,4vw,2rem);margin-bottom:1.5rem}.order-details-panel h2{margin-bottom:1.2rem}.portal-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.portal-form-grid label{display:grid;gap:.4rem}.portal-form-grid label span{color:#a3173e}.portal-form-grid .optional{color:#767981;font-size:.78rem;font-weight:600}.po-warning{margin:1rem 0;padding:.9rem 1rem;background:#fff7df;border-left:4px solid #d39100;color:#5f4508;font-weight:650}.order-submit-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e3e4e7}.order-submit-row>div{display:flex;flex-direction:column;color:#666970}.order-submit-row>div strong{font-size:1.45rem;color:#171717}.button:disabled{cursor:not-allowed;opacity:.45;transform:none}.portal-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem;margin-top:1.5rem}.portal-actions form{margin:0}.order-meta,.totals-list{display:grid;grid-template-columns:minmax(130px,1fr) minmax(160px,2fr);gap:.65rem 1rem;margin:1.2rem 0}.order-meta dt,.totals-list dt{font-weight:750;color:#5d6067}.order-meta dd,.totals-list dd{margin:0;text-align:right}.review-items{border-top:1px solid #e3e4e7;border-bottom:1px solid #e3e4e7;padding:.4rem 0}.review-items>div{display:flex;justify-content:space-between;gap:1rem;padding:.75rem 0}.review-items span{display:flex;flex-direction:column}.review-items small{color:#696c73}.totals-list .total-label,.totals-list .total-value{font-size:1.2rem;color:#171717}.confirmation-panel{max-width:820px;margin-left:auto;margin-right:auto}.confirmation-mark{display:grid;place-items:center;width:3.5rem;height:3.5rem;background:#e4f7ec;color:#16703e;border-radius:999px;font-size:1.7rem;font-weight:900;margin-bottom:1rem}.confirmation-reference{font-size:1.15rem;color:#41444a}.section-title-row{display:flex;align-items:start;justify-content:space-between;gap:1rem}.section-title-row h2{margin-bottom:.4rem}.section-title-row>span{padding:.4rem .7rem;border-radius:999px;background:#f1f2f4;font-size:.8rem;font-weight:750;color:#62656c}.orders-table-wrap{overflow-x:auto}.previous-orders table{width:100%;border-collapse:collapse}.previous-orders th,.previous-orders td{padding:.85rem .7rem;border-bottom:1px solid #e5e6e8;text-align:left}.previous-orders th{font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;color:#686b72}.previous-orders td:last-child{text-align:right}.previous-orders a{font-weight:750;color:var(--color-accent-readable)}.status-pill{display:inline-flex;align-items:center;padding:.28rem .58rem;border-radius:999px;background:#f0f1f3;font-size:.78rem;font-weight:750;white-space:nowrap}
@media(max-width:920px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.portal-header-inner{min-height:68px}.portal-header .brand-text span{display:none}.portal-main{padding:1.25rem 0 3rem}.branch-banner,.order-heading,.order-submit-row{align-items:stretch;flex-direction:column}.branch-banner address{text-align:left}.running-total{text-align:left;min-width:0}.product-grid{grid-template-columns:1fr}.portal-form-grid{grid-template-columns:1fr}.order-submit-row .button{width:100%}.portal-actions{align-items:stretch;flex-direction:column}.portal-actions .button,.portal-actions form,.portal-actions button{width:100%}.order-meta,.totals-list{grid-template-columns:1fr;gap:.15rem}.order-meta dd,.totals-list dd{text-align:left;margin-bottom:.6rem}.previous-orders table,.previous-orders thead,.previous-orders tbody,.previous-orders tr,.previous-orders th,.previous-orders td{display:block}.previous-orders thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.previous-orders tr{padding:.75rem 0;border-bottom:1px solid #e5e6e8}.previous-orders td{display:flex;justify-content:space-between;gap:1rem;border:0;padding:.3rem 0;text-align:right}.previous-orders td::before{content:attr(data-label);font-weight:750;color:#686b72;text-align:left}.previous-orders td:last-child{display:block;text-align:left;margin-top:.45rem}.previous-orders td:last-child::before{display:none}.section-title-row{align-items:center}}

/* Day's Rental branch branding */
.branch-banner{background:var(--color-accent-dark);color:var(--color-accent-dark-text)}
.branch-identity{display:flex;flex-direction:column;align-items:flex-start}
.branch-logo{width:clamp(180px,24vw,245px);height:auto;margin-bottom:.55rem}
.branch-banner h1{font-family:var(--font-heading);font-size:clamp(2.35rem,6vw,4rem);font-weight:600;line-height:1;margin:0}
.branch-identity>p{font-size:clamp(1.15rem,2.5vw,1.65rem);line-height:1.2;margin:.35rem 0 0}
.branch-banner address{font-family:var(--font-body);color:var(--color-accent-dark-text);font-size:clamp(1rem,2vw,1.22rem);line-height:1.45}
.branch-banner address strong{color:inherit;font-size:1.18em}
