/* Customer portal inherits the existing Foodtruckdirekt design system. */
.customer-portal{min-width:0}.customer-controls{margin:0;padding:0;border:0;min-width:0;width:100%}.customer-feedback:empty{display:none}.customer-feedback:not(:empty){margin-bottom:1.5rem;scroll-margin-top:7.5rem}.customer-feedback>.button{margin-top:.75rem}.customer-loading{max-width:42rem;padding:2rem;background:var(--cream);border-radius:14px}.customer-loading strong{font-size:1.25rem}.customer-loading p{color:var(--muted);line-height:1.6;margin-top:.75rem}
.customer-event-header{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem;margin-bottom:1.25rem}.customer-event-header>div{min-width:0}.customer-event-header h1{font-size:2rem;line-height:1.3;letter-spacing:-.025em;overflow-wrap:anywhere;margin:0 0 .875rem}.customer-event-header>.button{flex:none;min-height:2.75rem}.customer-event-line{display:flex;gap:.75rem 1.75rem;flex-wrap:wrap;color:var(--ink);font-size:1rem;line-height:1.6}.customer-event-line>span{display:flex;align-items:center;gap:.5rem}.customer-event-line svg{height:1.125rem;width:1.125rem;flex:none;color:var(--muted)}.customer-reference{font-size:.875rem;line-height:1.5;color:var(--muted);margin-top:.625rem;overflow-wrap:anywhere}.customer-demo-notice{color:#604b20;background:#f7efd9;padding:.875rem 1rem;border-radius:8px;font-size:.875rem;line-height:1.6;margin-bottom:1.5rem}
.customer-stage{display:flex;align-items:flex-start;gap:1.25rem;padding:1.5rem 1.75rem;background:var(--cream);border-radius:14px;margin-bottom:1.75rem}.customer-stage>div:not(.customer-stage-symbol){flex:1;min-width:0}.customer-stage h2{font-size:1.25rem;line-height:1.4;letter-spacing:-.015em;margin:0 0 .5rem}.customer-stage p{font-size:1rem;line-height:1.65;color:var(--muted);max-width:70ch}.customer-stage>.text-link{min-height:2.75rem;flex:none;align-self:center;font-size:.9375rem}.customer-stage-symbol{display:grid;place-items:center;width:2.75rem;height:2.75rem;flex:none;background:#fff;border-radius:50%;color:var(--orange)}.customer-stage-symbol svg{width:1.375rem;height:1.375rem}.customer-stage-confirmed{background:#eef3e9}.customer-stage-confirmed .customer-stage-symbol{color:#3f602f}.customer-stage-pending{background:#fbf2e4}.customer-stage-closed{background:#f1f1ec}
.customer-nav{display:flex;gap:1.75rem;border-bottom:1px solid var(--line);margin-bottom:2rem;min-width:0}.customer-nav>button{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:3.25rem;background:transparent;border:0;border-bottom:3px solid transparent;color:var(--muted);font-size:1rem;font-weight:700;padding:.75rem .125rem;margin-bottom:-1px}.customer-nav>button:hover{color:var(--ink)}.customer-nav>button.is-active{color:var(--ink);border-bottom-color:var(--orange)}.customer-nav-count{font-size:.8125rem;line-height:1.4;min-width:1.5rem;padding:.125rem .375rem;border-radius:5px;background:var(--cream);color:var(--ink)}.customer-content{min-width:0;scroll-margin-top:7.5rem}.customer-content h2:focus,.customer-comparison-section h2:focus{outline:none}.customer-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;margin-bottom:1.5rem}.customer-section-heading>div{min-width:0}.customer-section-heading h2{font-size:1.5rem;line-height:1.35;letter-spacing:-.02em;margin:0 0 .625rem;overflow-wrap:anywhere;scroll-margin-top:7.5rem}.customer-section-heading p{font-size:1rem;line-height:1.65;color:var(--muted);max-width:65ch}.customer-sort{font-size:.875rem;color:var(--muted);font-weight:700;display:flex;flex-direction:column;gap:.5rem;min-width:13rem}.customer-sort select{font:inherit;font-size:1rem;min-height:2.75rem;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);padding:.5rem .75rem;max-width:100%}
.customer-compare-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;border-block:1px solid var(--line);padding:1rem 0;margin-bottom:1.75rem}.customer-compare-toolbar strong{font-size:1rem;line-height:1.5}.customer-compare-toolbar p{font-size:.875rem;line-height:1.6;color:var(--muted);margin-top:.25rem}.customer-compare-toolbar>.button{flex:none;min-height:2.75rem;font-size:.9375rem}.customer-offers-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;min-width:0}.customer-offer-card{min-width:0;display:flex;flex-direction:column;padding:1.5rem;background:#fff;border:1px solid var(--line);border-radius:14px;overflow-wrap:anywhere}.customer-offer-card.is-compared{border-color:var(--orange)}.customer-offer-identity{display:flex;gap:1rem;align-items:flex-start;margin-bottom:1.5rem}.customer-offer-identity>div:last-child{min-width:0;flex:1}.customer-offer-identity h3{font-size:1.25rem;line-height:1.4;letter-spacing:-.015em;margin:0 0 .375rem;overflow-wrap:anywhere}.customer-offer-identity h3 a{color:inherit;text-decoration:none;text-underline-offset:.2em}.customer-offer-identity h3 a:hover{text-decoration:underline}.customer-offer-identity p{font-size:.875rem;line-height:1.6;color:var(--muted);margin-bottom:.625rem}.customer-offer-identity .status-pill{font-size:.75rem;max-width:100%;white-space:normal}.customer-truck-image{width:5rem;height:4.5rem;flex:none;border-radius:9px;overflow:hidden;background:var(--cream)}.customer-truck-image>img{height:100%;width:100%;object-fit:cover}.customer-truck-placeholder{display:grid;place-items:center;width:100%;height:100%;color:var(--muted)}.customer-truck-placeholder svg{width:1.75rem;height:1.75rem}.customer-offer-price{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--line)}.customer-offer-price>strong{display:block;font-size:1.75rem;line-height:1.3;letter-spacing:-.025em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.customer-offer-price>span{display:block;font-size:.875rem;line-height:1.6;color:var(--muted);margin-top:.375rem}.customer-offer-price p{font-size:.875rem;line-height:1.6;color:var(--muted);margin-top:.625rem}.customer-offer-card>h4{font-size:1.0625rem;line-height:1.5;margin-bottom:1rem}.customer-offer-excerpt h4{font-size:.875rem;line-height:1.5;margin:0 0 .375rem}.customer-offer-excerpt p{font-size:1rem;line-height:1.65;white-space:pre-line;max-width:65ch}.customer-offer-excerpt h4:not(:first-child){margin-top:1.125rem}.customer-offer-validity{font-size:.875rem;line-height:1.5;color:var(--muted);margin:1.5rem 0 .75rem}.customer-selection-reason{font-size:.875rem;line-height:1.6;color:var(--muted);margin-bottom:.875rem}.customer-offer-actions{display:flex;gap:.625rem;flex-wrap:wrap;margin-top:auto;padding-top:.5rem}.customer-offer-actions>.button{min-height:2.75rem;font-size:.875rem;padding:.75rem .875rem;flex:1 1 11rem;justify-content:center}.customer-offer-actions .button svg{width:1rem;height:1rem;flex:none}.customer-offer-unread{font-size:.75rem;white-space:nowrap}.customer-offer-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:.875rem;margin-top:1rem}.customer-offer-footer>.text-link{min-height:2.75rem;font-size:.875rem}.customer-compare-choice{display:flex;align-items:center;gap:.625rem;font-size:.875rem;line-height:1.5;min-height:2.75rem;cursor:pointer}.customer-compare-choice input{appearance:auto;accent-color:var(--orange);height:1.125rem;width:1.125rem;min-height:0;margin:0;padding:0;flex:none}.customer-compare-choice:has(input:disabled){color:var(--muted)}
.customer-empty{grid-column:1/-1;background:var(--cream);border-radius:14px;padding:2.5rem;max-width:54rem}.customer-empty>span{display:block;color:var(--orange);margin-bottom:1rem}.customer-empty>span>svg{height:2rem;width:2rem}.customer-empty h3{font-size:1.25rem;line-height:1.4;margin-bottom:.75rem}.customer-empty p{max-width:60ch;font-size:1rem;line-height:1.65;color:var(--muted);margin-bottom:1.5rem}.customer-empty .button{min-height:2.75rem}
.customer-comparison-section{margin-top:3rem;min-width:0}.customer-comparison-section .customer-section-heading>.text-link{min-height:2.75rem;font-size:.875rem;flex:none}.customer-table-hint{font-size:.875rem;line-height:1.6;color:var(--muted);margin-bottom:.75rem}.customer-comparison-scroll{max-width:100%;width:100%;overflow-x:auto;overscroll-behavior-x:contain;border:1px solid var(--line);border-radius:12px;background:#fff}.customer-comparison-scroll:focus-visible{outline:3px solid var(--orange);outline-offset:4px}.customer-comparison-table{border-collapse:separate;border-spacing:0;width:100%;table-layout:fixed;min-width:48rem;font-size:1rem;line-height:1.6}.customer-comparison-table th,.customer-comparison-table td{padding:1.125rem 1.25rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);border-right:1px solid var(--line);overflow-wrap:anywhere;white-space:pre-line;width:17rem}.customer-comparison-table tr:last-child>*{border-bottom:0}.customer-comparison-table tr>*:last-child{border-right:0}.customer-comparison-table tr>*:first-child{position:sticky;left:0;z-index:1;background:#faf9f4;width:11rem;font-size:.875rem;font-weight:700}.customer-comparison-table thead th{background:var(--cream);white-space:normal}.customer-comparison-table thead th:first-child{background:var(--cream);z-index:2}.customer-comparison-table thead strong{font-size:1rem;line-height:1.5;display:block}.customer-comparison-table thead .text-link{display:flex;align-items:center;gap:.5rem;font-size:.875rem;line-height:1.5;min-height:2.75rem;margin-top:.5rem}.customer-comparison-table svg{width:1rem;height:1rem;flex:none}.customer-comparison-table .comparison-total-row td{font-size:1.125rem;font-weight:700;font-variant-numeric:tabular-nums;white-space:normal}.customer-comparison-actions{display:flex;flex-direction:column;align-items:stretch;gap:.75rem}.customer-comparison-actions>.button{min-height:2.75rem;font-size:.875rem;white-space:normal;padding:.75rem}.customer-comparison-actions>.field-hint{font-size:.875rem}
.customer-detail{max-width:65rem;min-width:0}.customer-back{min-height:2.75rem;margin-bottom:1.25rem;font-size:.9375rem}.customer-back svg{transform:rotate(180deg)}.customer-detail>.customer-section-heading>.button{min-height:2.75rem;flex:none;font-size:.9375rem}.customer-review-notice{background:var(--cream);padding:1.25rem;border-radius:10px;font-size:1rem;line-height:1.65;max-width:70ch;margin-bottom:1.5rem}.customer-document-wrap{min-width:0;margin-bottom:1.5rem}.customer-document-wrap>.offer-document{max-width:100%}.customer-detail-actions{display:flex;flex-direction:column;align-items:flex-start;gap:.875rem}.customer-detail-actions>p{max-width:65ch;color:var(--muted);line-height:1.65}.customer-booking-review{border-top:1px solid var(--line);padding-top:1.5rem;margin-top:1.5rem}.customer-booking-review>div:first-child{display:flex;flex-direction:column;gap:.5rem;line-height:1.6;margin-bottom:1rem}.customer-booking-review strong{font-size:1.125rem;overflow-wrap:anywhere}.customer-booking-review>div:first-child>span{color:var(--muted);font-size:.9375rem}.customer-review-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.25rem 0 .875rem}.customer-review-actions .button{min-height:3rem}.customer-booking-review .field-hint{font-size:.875rem}.customer-portal .consent-row{min-width:0;max-width:75ch;align-items:flex-start;font-size:1rem;line-height:1.65}.customer-portal .consent-row input{height:1.125rem;width:1.125rem;min-height:0;padding:0;margin:.25rem 0 0;flex:none;accent-color:var(--orange)}
.customer-chat-context{display:flex;justify-content:space-between;align-items:center;gap:1.25rem;border-block:1px solid var(--line);padding:1rem 0;margin-bottom:1.5rem}.customer-chat-context>div{min-width:0}.customer-chat-context strong{font-size:1rem;line-height:1.6;overflow-wrap:anywhere}.customer-chat-context p{font-size:.875rem;line-height:1.6;color:var(--muted);margin-top:.25rem}.customer-chat-context>.text-link{flex:none;min-height:2.75rem;font-size:.875rem}.customer-chat{min-width:0}.customer-chat .chat-heading h2{font-size:1.25rem}.customer-chat .chat-layout{min-width:0}
.customer-booking-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:2rem;align-items:start}.customer-booking-main{min-width:0}.customer-booking-main>h3{font-size:1.5rem;line-height:1.4;margin-bottom:1.5rem;overflow-wrap:anywhere}.customer-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem 1.5rem}.customer-facts>div{min-width:0}.customer-facts dt{font-size:.875rem;line-height:1.5;color:var(--muted);margin-bottom:.375rem}.customer-facts dd{margin:0;font-size:1rem;font-weight:700;line-height:1.6;overflow-wrap:anywhere;white-space:pre-line}.customer-booking-explanation{color:var(--muted);font-size:1rem;line-height:1.65;max-width:65ch;border-top:1px solid var(--line);padding-top:1.25rem;margin-top:1.5rem}.customer-booking-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.customer-booking-actions>.button{min-height:2.75rem;font-size:.9375rem}.customer-booking-contact{padding:1.5rem;background:var(--cream);border-radius:12px;min-width:0}.customer-booking-contact h3{font-size:1.125rem;line-height:1.5;margin-bottom:1rem}.customer-booking-contact strong{font-size:1rem;line-height:1.6;display:block;margin-bottom:.625rem;overflow-wrap:anywhere}.customer-booking-contact p{font-size:1rem;line-height:1.65;color:var(--muted);max-width:60ch}.customer-booking-contact a{display:flex;align-items:center;font-size:1rem;line-height:1.5;overflow-wrap:anywhere;min-height:2.75rem;color:var(--orange);text-underline-offset:.2em;margin-block:.25rem}.customer-booking-contact a:last-of-type{margin-bottom:1rem}
.customer-request-details{margin-top:2.5rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.customer-request-details>summary,.customer-cancel>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:1rem;font-weight:700;line-height:1.6;min-height:3.5rem;padding:1rem 0}.customer-request-details>summary::-webkit-details-marker,.customer-cancel>summary::-webkit-details-marker{display:none}.customer-request-details>summary>svg,.customer-cancel>summary>svg{width:1.125rem;height:1.125rem;flex:none;transform:rotate(90deg)}.customer-request-details[open]>summary>svg,.customer-cancel[open]>summary>svg{transform:rotate(-90deg)}.customer-request-details>div{padding:0 0 1.5rem}.customer-request-notes{margin-top:1.5rem;max-width:65ch}.customer-request-notes h3{font-size:1rem;margin-bottom:.5rem}.customer-request-notes p{font-size:1rem;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.customer-private-hint{font-size:.875rem;line-height:1.65;color:var(--muted);max-width:75ch;display:flex;gap:.625rem;align-items:flex-start;margin-top:1.5rem}.customer-private-hint svg{width:1.125rem;height:1.125rem;flex:none;margin-top:.15rem}.customer-cancel{margin-top:2.5rem;border-top:1px solid var(--line);padding-top:.5rem}.customer-cancel>div{max-width:48rem;padding-block:.5rem 1.25rem}.customer-cancel h3{font-size:1.25rem;line-height:1.5;margin-bottom:.75rem}.customer-cancel p{font-size:1rem;line-height:1.65;color:var(--muted);margin-bottom:1.25rem;max-width:65ch}.customer-cancel form>label:first-child{display:block;font-size:.875rem;font-weight:700;line-height:1.5;margin-bottom:.5rem}.customer-cancel textarea{font-size:1rem;line-height:1.65;min-height:7rem;width:100%;padding:.75rem;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}.customer-cancel .consent-row{margin-top:1rem}.customer-cancel form>.button{margin-top:1rem;min-height:2.75rem}
@media(min-width:1200px){.customer-offers-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.customer-offers-grid:has(.customer-offer-card:only-child){grid-template-columns:minmax(0,42rem)}}
@media(max-width:1100px){.customer-stage{flex-wrap:wrap}.customer-stage>.text-link{margin-left:4rem}.customer-offer-actions>.button{flex-basis:100%}.customer-booking-layout{gap:1.5rem;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}}
@media(max-width:760px){.customer-offers-grid{grid-template-columns:minmax(0,1fr)}.customer-booking-layout{grid-template-columns:minmax(0,1fr)}.customer-stage{padding:1.25rem;gap:1rem}.customer-stage-symbol{width:2.5rem;height:2.5rem}.customer-stage>.text-link{margin-left:3.5rem}.customer-section-heading{flex-direction:column;gap:1rem}.customer-sort{width:100%;max-width:24rem}.customer-detail>.customer-section-heading>.button{align-self:flex-start}.customer-compare-toolbar{align-items:flex-start;flex-direction:column;gap:1rem}.customer-compare-toolbar>.button{width:100%}.customer-nav{gap:1rem}.customer-nav>button{font-size:.9375rem;gap:.375rem}.customer-comparison-table tr>*:first-child{width:8rem}.customer-comparison-table th,.customer-comparison-table td{width:15rem;padding:1rem}.customer-comparison-table{min-width:38rem}.customer-table-hint{font-size:.875rem}.customer-request-details>summary{align-items:flex-start}}
@media(max-width:480px){.customer-event-header{gap:1rem;flex-wrap:wrap}.customer-event-header h1{font-size:1.75rem}.customer-event-header>.button{min-height:2.75rem;font-size:.875rem;padding:.625rem .875rem}.customer-event-line{flex-direction:column;gap:.5rem}.customer-event-header{margin-bottom:1rem}.customer-stage{gap:.875rem}.customer-stage h2{font-size:1.125rem}.customer-stage-symbol{display:none}.customer-stage>.text-link{margin-left:0;white-space:normal;font-size:.875rem}.customer-nav{gap:.5rem;justify-content:space-between;margin-bottom:1.5rem}.customer-nav>button{font-size:.875rem;padding:.75rem 0;gap:.25rem;min-height:3rem}.customer-nav-count{font-size:.75rem;padding:.125rem .25rem;min-width:1.25rem}.customer-nav .chat-unread{font-size:.75rem}.customer-section-heading h2{font-size:1.375rem}.customer-offer-card{padding:1.25rem}.customer-offer-identity{gap:.875rem}.customer-truck-image{width:4.25rem;height:4.25rem}.customer-offer-identity h3{font-size:1.125rem}.customer-offer-price>strong{font-size:1.625rem}.customer-offer-footer{gap:.5rem}.customer-empty{padding:1.5rem}.customer-empty>.button{width:100%;white-space:normal}.customer-facts{grid-template-columns:minmax(0,1fr);gap:1rem}.customer-booking-actions{flex-direction:column;align-items:stretch}.customer-booking-actions>.button{justify-content:center}.customer-chat-context{align-items:flex-start;flex-direction:column;gap:.5rem}.customer-chat-context>.text-link{font-size:.875rem}.customer-review-actions{flex-direction:column;align-items:stretch}.customer-review-actions>.button{justify-content:center;white-space:normal}.customer-booking-review>div:first-child>span{font-size:.875rem}.customer-booking-contact{padding:1.25rem}.customer-private-hint{font-size:.8125rem}}
@media print{.customer-nav,.customer-stage,.customer-offer-actions,.customer-offer-footer,.customer-compare-toolbar,.customer-private-hint,.customer-feedback,.customer-review-actions,.customer-cancel{display:none!important}.customer-controls{border:0}.customer-offers-grid{display:block}.customer-offer-card{break-inside:avoid}}


.customer-payer-note{font-size:1rem;line-height:1.65;color:var(--muted);padding:1rem 1.25rem;background:var(--cream);border-radius:10px;margin-bottom:1.5rem;max-width:75ch}
