@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap');
:root{--ink:#17201d;--muted:#68736f;--line:#d9dfdc;--paper:#fff;--wash:#f3f6f4;--green:#176b4d;--green-dark:#10543c}
*{box-sizing:border-box}html{background:var(--wash)}body{margin:0;color:var(--ink);font-family:"DM Sans",sans-serif}button,input,select{font:inherit}button,select{cursor:pointer}
.topbar{height:68px;padding:0 max(24px,calc((100vw - 1160px)/2));display:flex;align-items:center;gap:12px;background:var(--paper);border-bottom:1px solid var(--line)}
.brand-mark{width:38px;height:38px;display:grid;place-items:center;color:#fff;background:var(--green);border-radius:6px}.topbar strong{display:block;font:800 17px/1.05 "Manrope"}.topbar span{display:block;color:var(--muted);font-size:12px;margin-top:3px}.region{margin-left:auto;display:flex;align-items:center;gap:7px;color:var(--muted);font-size:13px;font-weight:600}
.page-shell{width:min(1160px,calc(100% - 32px));margin:0 auto 80px}.intro{padding:46px 0 28px;border-bottom:1px solid var(--line)}.kicker{color:var(--green);font-size:11px!important;font-weight:800}.intro h1{margin:7px 0 6px;font:800 36px/1.15 "Manrope";letter-spacing:0}.intro p{margin:0;color:var(--muted);font-size:16px}
.entry-form{background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--green)}.notice{display:flex;align-items:center;gap:9px;margin:20px 24px 0;padding:13px 15px;border:1px solid;font-weight:600;font-size:14px}.notice[hidden]{display:none}.notice.saved{color:var(--green-dark);background:#edf8f2;border-color:#a5d1bd}.notice.error{color:#8d2e27;background:#fff1ef;border-color:#e2aaa5}
.event-strip{display:flex;gap:0;background:#edf3f0;border-bottom:1px solid var(--line);padding-left:74px}.event-strip>div{padding:15px 34px 15px 0;margin-right:34px;border-right:1px solid #cbd8d2}.event-strip span{display:block;color:var(--muted);font-size:10px;font-weight:700}.event-strip strong{display:block;margin-top:3px;color:var(--green-dark);font-size:14px}
.form-section{padding:30px 32px 34px;border-bottom:1px solid var(--line)}.section-heading{display:flex;align-items:flex-start;gap:13px;margin-bottom:24px}.step{flex:0 0 29px;height:29px;display:grid;place-items:center;border:1px solid var(--green);color:var(--green);font:800 12px "Manrope";border-radius:50%}.section-heading h2{margin:1px 0 3px;font:750 18px/1.2 "Manrope"}.section-heading p{margin:0;color:var(--muted);font-size:13px}
.field-grid{display:grid;gap:20px;padding-left:42px}.field-grid.two{grid-template-columns:2fr 1fr}.field-grid.three{grid-template-columns:repeat(3,1fr)}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field>span{display:flex;align-items:center;gap:6px;min-height:18px;font-size:12px;font-weight:700;color:#44504c}.field small{color:#8a938f;font-weight:500}.field-hint{font-size:11px;line-height:1.3;margin-top:-2px}.field-hint.warning{color:#c0392b;font-weight:700}input.input-error,input.input-error:focus{border-color:#c0392b;box-shadow:0 0 0 3px rgba(192,57,43,.11)}
input,select{width:100%;height:45px;padding:0 13px;color:var(--ink);background:#fff;border:1px solid #cdd5d1;border-radius:5px;outline:none;transition:border-color .15s,box-shadow .15s}input::placeholder{color:#98a19e}input:focus,select:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(23,107,77,.11)}.select-wrap{position:relative}.select-wrap select{appearance:none;padding-right:36px}.select-wrap svg{pointer-events:none;position:absolute;right:12px;top:14px;color:var(--muted)}
.count-heading{align-items:center}.stepper{margin-left:auto;height:48px;display:flex;border:1px solid #bdc7c2;border-radius:6px;overflow:hidden}.stepper button{width:46px;border:0;background:#f4f7f5;color:var(--green);display:grid;place-items:center}.stepper button:hover{background:#e7efeb}.stepper button:disabled{opacity:.35;cursor:not-allowed}.stepper label{width:80px;border-inline:1px solid #bdc7c2;text-align:center}.stepper label span{display:block;color:var(--muted);font-size:8px;font-weight:800;margin-top:5px}.stepper input{height:29px;padding:0;border:0;text-align:center;font:800 18px "Manrope";box-shadow:none;-moz-appearance:textfield}.stepper input::-webkit-inner-spin-button{appearance:none}
.vehicle-list{display:grid;gap:14px;padding-left:42px}.vehicle-row{display:grid;grid-template-columns:82px 1fr;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#fbfcfb}.vehicle-index{padding:20px 13px;color:var(--green);background:#edf3f0;border-right:1px solid var(--line)}.vehicle-index span{display:block;font:800 25px/1 "Manrope"}.vehicle-index strong{display:block;margin-top:5px;color:#60706a;font-size:10px;text-transform:uppercase}.vehicle-fields{padding:18px;display:grid;grid-template-columns:1.4fr 1fr 1.4fr 1fr;gap:14px}.vehicle-fields .wide{grid-column:span 3}
.form-footer{min-height:92px;padding:18px 32px;display:flex;align-items:flex-end;gap:18px;background:#f8faf9}.submitted-by{width:min(270px,30%)}.total{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end}.total span{color:var(--muted);font-size:11px;font-weight:700}.total strong{color:var(--green);font:800 25px/1.1 "Manrope"}.save-button{height:45px;padding:0 20px;display:flex;align-items:center;justify-content:center;gap:9px;color:#fff;background:var(--green);border:0;border-radius:5px;font-weight:700}.save-button:hover{background:var(--green-dark)}.save-button:disabled{opacity:.65;cursor:wait}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:850px){.field-grid.three{grid-template-columns:repeat(2,1fr)}.vehicle-fields{grid-template-columns:1fr 1fr}.vehicle-fields .wide{grid-column:auto}}
@media(max-width:600px){.topbar{padding:0 16px}.region{font-size:0}.region svg{width:20px;height:20px}.page-shell{width:100%;margin-bottom:0}.intro{padding:30px 20px 23px}.intro h1{font-size:28px}.intro p{font-size:14px;max-width:330px}.entry-form{border-inline:0}.form-section{padding:24px 18px 28px}.field-grid,.vehicle-list{padding-left:0}.field-grid.two,.field-grid.three{grid-template-columns:1fr}.count-heading{flex-wrap:wrap}.count-heading .stepper{margin:10px 0 0 42px}.vehicle-row{grid-template-columns:1fr}.vehicle-index{padding:11px 14px;border-right:0;border-bottom:1px solid var(--line);display:flex;align-items:baseline;gap:7px}.vehicle-index span{font-size:18px}.vehicle-index strong{margin:0}.vehicle-fields{grid-template-columns:1fr;padding:15px}.form-footer{padding:20px 18px;flex-wrap:wrap;align-items:flex-end}.submitted-by{width:calc(100% - 78px)}.save-button{width:100%}}
@media(max-width:600px){.event-strip{padding-left:18px}.event-strip>div{padding-right:15px;margin-right:15px}.event-strip strong{font-size:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Party identity */
:root{--ink:#151515;--muted:#656565;--line:#d9d9d9;--paper:#fff;--wash:#f4f5f7;--green:#0f84ee;--green-dark:#0669c2;--flag-red:#f90008;--flag-blue:#0f84ee}
.topbar{height:76px;border-top:5px solid var(--flag-blue);position:relative}
.topbar:after{content:"";position:absolute;z-index:0;top:-5px;right:0;width:50%;height:5px;background:var(--flag-red)}
.topbar>*{position:relative;z-index:1}
.brand-mark{width:50px;height:50px;background:#fff;border-radius:0}
.brand-mark img{width:46px;height:46px;object-fit:contain}
.intro{min-height:230px;padding:0;display:grid;grid-template-columns:1fr 330px;align-items:stretch;background:#101010;color:#fff;border-bottom:5px solid var(--flag-red);overflow:hidden}
.intro-copy{align-self:center;padding:38px 46px}
.intro .kicker{color:#77bfff}
.intro p{color:#d4d4d4}
.event-flag{position:relative;overflow:hidden}
.event-flag img{width:100%;height:100%;object-fit:cover}
.entry-form{border-top:0}
.event-strip{background:#f1f6fb}
.event-strip strong{color:#111}
.notice.saved{color:#074d8a;background:#edf6ff;border-color:#9dccf6}
.vehicle-index{color:var(--flag-blue);background:#eef6fd;border-left:4px solid var(--flag-red)}
.form-footer{background:#f6f7f8;border-bottom:4px solid var(--flag-red)}
@media(max-width:600px){
  .intro{min-height:0;padding:0;grid-template-columns:1fr 112px}
  .intro-copy{padding:26px 20px}
  .intro h1{font-size:25px}
  .intro p{font-size:13px}
  .event-flag img{object-position:center}
}
