.portal aside nav{display:flex;flex-direction:column;gap:10px}.portal aside nav br{display:none}.portal aside nav a{display:block;padding:12px 14px;border-radius:8px;color:#e7eef0;text-decoration:none}.portal aside nav a:hover{background:#294149}.portal main>.grid,.portal #content>.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal a.primary{display:inline-block;padding:12px 18px;border-radius:8px;text-decoration:none;color:white}.portal input[type=checkbox]{width:auto;display:inline;margin-right:10px}.portal table{width:100%;border-collapse:collapse}.portal th,.portal td{padding:12px;text-align:left;border-bottom:1px solid #ddd}.portal #content .card{overflow-x:auto}.portal #lines>.card{display:grid;grid-template-columns:1fr 3fr 1fr 1fr auto;gap:12px;align-items:end}.portal #lines label{min-width:0}@media(max-width:800px){.portal #content>.grid,.portal #lines>.card{grid-template-columns:1fr}.portal aside nav{flex-direction:row;flex-wrap:wrap}.portal aside nav a{padding:8px}}

.portal .parts-disabled{color:#777;background:#eee;cursor:not-allowed}.portal .parts-disabled button{background:#aaa;color:#fff;cursor:not-allowed}.portal nav .parts-disabled{padding:12px 14px;border-radius:8px}.portal .parts-disabled small{display:block;margin-top:6px}

.portal #draft{padding:24px;overflow:visible}
.portal .invoice-section{min-width:0;margin:24px 0;padding:20px;border:1px solid #dbe2e6;border-radius:12px;background:#fafbfc}
.portal .invoice-section legend{font-size:18px;font-weight:700;padding:0 8px;color:#163c52}
.portal .section-help{margin:0 0 18px;color:#667580;font-size:14px}
.portal .invoice-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.portal .invoice-fields label{min-width:0;margin:0}.portal .invoice-fields input,.portal .invoice-fields select,.portal .invoice-fields textarea{margin-top:7px;min-height:48px;font-size:16px}
.portal .vehicle-selectors{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.portal .vehicle-selectors input[hidden]{display:none}.portal .vehicle-selectors input:not([type=hidden]){margin-top:10px}
.portal .invoice-fields p[role=status],.portal .invoice-fields>select{grid-column:1/-1;margin:0}
.portal #lines>.card{grid-template-columns:minmax(95px,1fr) minmax(160px,2.5fr) minmax(75px,.7fr) minmax(110px,1fr);gap:14px;padding:18px;background:#fff;overflow:visible}
.portal #lines input,.portal #lines select{min-height:48px;font-size:16px;margin-top:7px}
.portal #lines .remove-invoice-line{grid-column:1/-1;justify-self:end;background:#fff0f0;color:#a52424;min-height:44px;font-size:14px}
.portal .add-invoice-line{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:52px;border:1px dashed #168044;background:#eaf8ef;color:#126c36;font-weight:700}
.portal .add-invoice-line span{font-size:28px;line-height:1}.portal .add-invoice-line:hover{background:#d8f0e0}
.portal .draft-total{display:block;text-align:right;margin-top:20px;font-size:20px;font-weight:700}
.portal .invoice-form-actions{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap;border-top:1px solid #dbe2e6;padding-top:22px;margin-top:26px}
.portal .invoice-form-actions button{min-height:50px}.portal button:focus-visible,.portal input:focus-visible,.portal select:focus-visible{outline:3px solid #5b9bd5;outline-offset:2px}
@media(max-width:1100px){.portal #lines>.card{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.portal main{margin:0!important;padding:16px;min-width:0}.portal #draft{padding:14px}.portal .invoice-section{padding:14px;margin:20px 0}.portal .invoice-section legend{font-size:16px}.portal .invoice-fields,.portal .vehicle-selectors{grid-template-columns:1fr;gap:15px}.portal #lines>.card{padding:12px;gap:12px}.portal #lines label:nth-child(1),.portal #lines label:nth-child(2){grid-column:1/-1}.portal .invoice-form-actions{flex-direction:column}.portal .invoice-form-actions button{width:100%}.portal .draft-total{font-size:18px}.portal header{flex-wrap:wrap}.portal aside nav{font-size:13px}}

.search-select{position:relative;min-width:0;width:100%}.search-select[hidden]{display:none}.search-select-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0;pointer-events:none;padding:0!important}.search-select-trigger{width:100%;text-align:left;min-height:48px;background:white;border:1px solid #cbd5e1;color:#17344a;font-size:16px;white-space:normal}.search-select-panel{position:absolute;top:100%;left:0;right:0;z-index:50;padding:10px;background:white;border:1px solid #cbd5e1;border-radius:10px;box-shadow:0 8px 24px #0002}.search-select-panel[hidden]{display:none}.search-select-panel>div{max-height:220px;overflow:auto;overscroll-behavior:contain}.search-select-panel button{display:block;width:100%;text-align:left;background:white;color:#17344a;padding:12px;margin:2px 0;font-size:16px}.search-select-panel button:hover,.search-select-panel button:focus,.search-select-panel button.selected{background:#e8f1f7}.search-select-panel input{width:100%;margin:0 0 6px!important}#draft input[hidden]{display:none}

.portal.auth-screen aside,.portal.auth-screen main>header{display:none}.portal.auth-screen main{margin:0!important;padding:24px!important;width:100%;max-width:none;min-height:100dvh;display:flex;flex-direction:column;justify-content:center;align-items:center;box-sizing:border-box}.auth-screen #content,.auth-screen #notice{width:100%;max-width:460px}.auth-screen #login{padding:28px;margin:0;overflow:visible;border-top:4px solid var(--red)}.login-logo{display:block;width:90px;height:90px;object-fit:contain;margin:0 auto 16px}.auth-screen #login h2{font-size:21px;text-align:center;margin:0 0 24px}.auth-screen #login label{display:block;margin:16px 0}.auth-screen #login input{width:100%;min-height:48px;font-size:16px;box-sizing:border-box}.auth-screen #login p{font-size:12px;color:#697477}.auth-screen #login .primary{width:100%;min-height:48px;margin-top:12px}@media(max-width:600px){.portal.auth-screen main{padding:16px!important}.auth-screen #login{padding:22px}.auth-screen #login h2{font-size:18px}}

.plate-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;grid-column:1/-1;min-width:0}.plate-fields label{min-width:0}
.portal #logout{position:fixed;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));z-index:100;min-height:44px;box-shadow:0 2px 10px #0002}.portal #logout[hidden]{display:none}.portal:not(.auth-screen) main>header{padding-right:110px}@media(max-width:600px){.portal:not(.auth-screen) aside{padding-right:120px}.portal:not(.auth-screen) main>header{padding-right:0}.portal #logout{font-size:13px;padding:10px 14px}}

#language-toggle{position:fixed;top:max(12px,env(safe-area-inset-top));right:130px;z-index:100;min-height:44px;border:1px solid #ccd5d8;background:#fff;color:#174169}.auth-screen #language-toggle{right:16px}.portal:not(.auth-screen) main>header{padding-top:48px}html[dir=rtl] .portal aside{right:0;left:auto}html[dir=rtl] .portal main{margin-left:0;margin-right:230px}html[dir=rtl] .portal th,html[dir=rtl] .portal td,html[dir=rtl] .search-select-trigger,html[dir=rtl] .search-select-panel button{text-align:right}html[dir=rtl] .portal input[type=checkbox]{margin-left:10px;margin-right:0}.portal input[name=customer_phone],.portal input[name=phone],.portal input[name=vin],.portal input[name=username],.portal input[name=mileage]{direction:ltr;text-align:start}@media(max-width:900px){html[dir=rtl] .portal main{margin-right:170px}}@media(max-width:600px){html[dir=rtl] .portal main{margin-right:0}.portal:not(.auth-screen) aside{padding-top:68px;padding-right:18px}#language-toggle{right:125px;font-size:13px}.portal:not(.auth-screen) main>header{padding-top:0}}
/* Page-corner controls stay at the top of the document, not the viewport. */
.portal #logout,.portal #language-toggle{position:absolute;top:12px;min-height:36px;padding:7px 11px;font-size:12px;line-height:1.5;box-shadow:none}.portal #logout{right:12px}.portal #language-toggle{right:128px}.portal.auth-screen #language-toggle{right:12px}@media(max-width:600px){.portal #logout,.portal #language-toggle{font-size:12px;padding:7px 10px;min-height:36px}.portal #language-toggle{right:125px}.portal.auth-screen #language-toggle{right:12px}}
