:root{--navy:#173344;--navy2:#24495d;--red:#d4143b;--bg:#f4f7f8;--paper:#fff;--text:#203446;--muted:#6d7e96;--line:#d9e2e8;--green:#1d6c3b;--greenbg:#e5f3ea;--amber:#fff3cd;--bad:#fde8e8;--shadow:0 14px 38px rgba(20,47,64,.09)}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}.shell{min-height:100vh}.sidebar{position:fixed;width:238px;inset:0 auto 0 0;background:var(--navy);padding:22px 16px;color:#fff;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:12px;margin-bottom:24px}.brand img{width:52px;height:52px;object-fit:contain;background:#fff;border-radius:12px;padding:4px}.brand strong,.brand small{display:block}.brand small{color:#b6cad5;margin-top:2px}.nav{display:grid;gap:7px}.nav button{border:0;background:transparent;color:#d9e5ea;text-align:left;padding:12px;border-radius:10px;cursor:pointer;font-weight:700}.nav button.active,.nav button:hover{background:var(--navy2);color:#fff}.nav button span{display:inline-grid;place-items:center;width:23px;height:23px;border:1px solid #6a8796;border-radius:7px;margin-right:8px;font-size:11px}.nav button.active span{background:var(--red);border-color:var(--red)}.side-note{margin-top:auto;color:#aac1cc;font-size:11px;line-height:1.45}.main{margin-left:238px}.topbar{height:86px;padding:16px 30px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10}.eyebrow{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--red);font-weight:900;margin:0}.topbar h1{font-size:23px;margin:3px 0}.top-total small,.top-total strong{display:block;text-align:right}.top-total small{color:var(--muted);font-size:11px}.top-total strong{font-size:22px;color:var(--navy)}.view{display:none;max-width:1400px;padding:28px 30px 60px;margin:0 auto}.view.active{display:block}.heading{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:18px}.heading h2{font-size:28px;margin:4px 0}.heading p:not(.eyebrow){margin:0;color:var(--muted)}.card,.section{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:15px;padding:20px;margin-bottom:18px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.field{display:grid;gap:6px}.field label{font-size:12px;font-weight:800;color:#3c5264}.field input,.field select,.field textarea{width:100%;border:1px solid #cbd6dd;border-radius:9px;padding:10px;background:#fff;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:#7d9aaa;box-shadow:0 0 0 3px rgba(23,51,68,.08)}.money-input{display:flex;border:1px solid #cbd6dd;border-radius:9px;overflow:hidden}.money-input span{padding:10px;background:#f6f8f9;border-right:1px solid #e3e9ed}.money-input input{border:0;border-radius:0}.yesno{display:flex;gap:8px}.yesno button{flex:1;border:1px solid var(--line);background:#fff;padding:10px;border-radius:9px;cursor:pointer}.yesno button.active{background:var(--navy);color:#fff;border-color:var(--navy)}.btn{border:0;border-radius:9px;padding:10px 14px;font-weight:800;cursor:pointer}.btn.primary{background:var(--red);color:#fff}.btn.secondary{background:var(--navy);color:#fff}.btn.ghost{background:#fff;color:var(--navy);border:1px solid #cbd6dd}.btn.danger{background:#fff;color:#a21825;border:1px solid #e5b7bd}.actions{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:20px}.actions-right{display:flex;gap:10px;align-items:center}.summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-bottom:17px}.summary div,.metric{background:#fff;border:1px solid var(--line);border-radius:12px;padding:13px}.summary span,.metric span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.07em}.summary strong,.metric strong{display:block;color:var(--navy);font-size:20px;margin-top:5px}.section-title{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px}.section-title h3{margin:0;color:var(--navy)}.section-title p{margin:4px 0 0;color:var(--muted);font-size:12px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:10px}table{border-collapse:collapse;width:100%;min-width:650px;font-size:13px}th{background:#eef2f4;color:#34475a;text-align:left;padding:10px;font-size:11px}td{padding:9px 10px;border-top:1px solid #e5ebef}td input[type=number]{width:105px;padding:7px;border:1px solid #ccd7dd;border-radius:8px}td input[type=checkbox]{accent-color:var(--red);width:17px;height:17px}.price{text-align:right;font-variant-numeric:tabular-nums}.option-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.option{display:flex;align-items:center;gap:8px;border:1px solid var(--line);padding:10px;border-radius:9px;background:#fff}.option.selected{border-color:#dc8b9b;background:#fff8fa}.option input{accent-color:var(--red)}.packages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.package{border:1px solid var(--line);border-radius:11px;padding:13px;cursor:pointer;position:relative;background:#fff}.package.selected{border:2px solid var(--red);background:#fff8fa}.package.disabled{opacity:.45;cursor:not-allowed}.package h4{margin:0}.package strong{display:block;font-size:20px;margin-top:11px}.package small{color:var(--muted)}.pill{display:inline-flex;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800;background:var(--amber);color:#795b00}.pill.good{background:var(--greenbg);color:var(--green)}.pill.bad{background:var(--bad);color:#9d1b1b}.alert{padding:11px 13px;border:1px solid #f0dfa1;background:var(--amber);border-radius:9px;margin-bottom:13px;font-size:12px}.alert.bad{background:var(--bad);border-color:#efc3c3;color:#921b1b}.offer{background:#fff;max-width:1000px;margin:0 auto;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:28px}.offer-head{background:var(--navy);color:#fff;padding:18px 22px;border-radius:12px;display:flex;justify-content:space-between;align-items:center;gap:20px}.offer-head img{width:120px;height:84px;object-fit:contain;background:#fff;border-radius:9px;padding:3px}.offer-head .meta{font-size:12px;color:#d5e4eb;margin-top:6px}.offer-intro{line-height:1.55;color:#4f6474}.offer-section{margin-top:17px}.offer-banner{background:var(--navy);color:#fff;border-radius:8px;padding:10px 12px;display:flex;justify-content:space-between;align-items:center;font-weight:850}.offer-banner strong{white-space:nowrap}.offer-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:7px}.offer-choice{border:1px solid var(--line);border-radius:7px;padding:7px 9px;font-size:12px}.offer-choice.selected{background:#fff6f8;border-color:#e2a0ad}.offer-total{margin-top:16px;background:var(--red);color:#fff;border-radius:9px;padding:13px 15px;display:flex;justify-content:space-between;align-items:center;font-weight:900}.offer-total strong{font-size:23px}.offer-note{margin-top:10px;background:#faf7f2;padding:10px;border-radius:8px;color:#5f6d77;font-size:11px}.submitted{background:var(--greenbg);border:1px solid #c2e1cb;color:#14542d;padding:18px;border-radius:12px}.admin-shell{max-width:1500px;margin:0 auto;padding:22px}.admin-top{display:flex;align-items:center;justify-content:space-between;background:var(--navy);color:#fff;padding:15px 18px;border-radius:13px;margin-bottom:17px}.admin-top img{width:50px;height:50px;background:#fff;border-radius:9px;object-fit:contain}.admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:15px}.admin-tabs button.active{background:var(--navy);color:#fff}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{width:min(430px,100%);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;padding:25px}.login-card img{display:block;width:110px;margin:0 auto 15px}.quote-list{width:100%;min-width:900px}.quote-list tbody tr{cursor:pointer}.quote-list tbody tr:hover{background:#f8fafb}.manager-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.manager-kpis .metric small{display:block;color:var(--muted);margin-top:4px}.final-card{max-width:900px;margin:0 auto}.hide{display:none!important}
@page{size:A4 landscape;margin:3mm 4mm 3mm 4mm}@media print{body{background:#fff}.no-print,.sidebar,.topbar{display:none!important}.main{margin:0}.view{display:none!important;padding:0}.view.printing{display:block!important}.offer{border:0;box-shadow:none;border-radius:0;margin:0;padding:2mm 3mm;max-width:none}.offer-head{padding:2mm 3mm}.offer-head img{width:23mm;height:15mm}.offer-head h2{font-size:13pt;margin:0}.offer-head .meta{font-size:6.5pt;margin-top:1mm}.offer-intro{font-size:6.7pt;line-height:1.1;margin:1.2mm 0}.offer-section{margin-top:1mm}.offer-banner{padding:1mm 1.8mm;font-size:7pt;border-radius:2px}.offer-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:.5mm;margin-top:.5mm}.offer-choice{padding:.7mm 1mm;font-size:5.8pt;border-radius:2px}.offer-total{margin-top:1mm;padding:1.2mm 2mm}.offer-total{font-size:6.5pt}.offer-total strong{font-size:10pt}.offer-note{margin-top:.8mm;padding:.8mm 1mm;font-size:5.4pt}.print-measure{position:fixed!important;left:-20000px!important;top:0!important;visibility:hidden!important;pointer-events:none!important;display:block!important}.offer{zoom:var(--offer-scale,1)!important;width:var(--offer-width,100%)!important}}
@media(max-width:900px){.sidebar{position:relative;width:auto}.main{margin-left:0}.nav{grid-template-columns:repeat(3,1fr)}.grid{grid-template-columns:1fr 1fr}.summary,.manager-kpis{grid-template-columns:1fr 1fr}.packages{grid-template-columns:1fr 1fr}.option-grid,.offer-options{grid-template-columns:1fr 1fr}.topbar{position:relative}.view{padding:20px 14px}.offer{padding:16px}}@media(max-width:600px){.grid,.summary,.manager-kpis,.packages,.option-grid,.offer-options{grid-template-columns:1fr}.actions{align-items:stretch;flex-direction:column}.actions-right{width:100%;flex-direction:column}.actions button{width:100%}}

/* Hidden measurement copy mirrors the compressed Offer print layout. */
.print-measure{position:fixed!important;left:-20000px!important;top:0!important;visibility:hidden!important;pointer-events:none!important;width:289mm!important;max-width:289mm!important;border:0!important;box-shadow:none!important;border-radius:0!important;padding:2mm 3mm!important;background:#fff!important}
.print-measure .offer-head{padding:2mm 3mm!important}.print-measure .offer-head img{width:23mm!important;height:15mm!important}.print-measure .offer-head h2{font-size:13pt!important;margin:0!important}.print-measure .offer-head .meta{font-size:6.5pt!important;margin-top:1mm!important}.print-measure .offer-intro{font-size:6.7pt!important;line-height:1.1!important;margin:1.2mm 0!important}.print-measure .offer-section{margin-top:1mm!important}.print-measure .offer-banner{padding:1mm 1.8mm!important;font-size:7pt!important;border-radius:2px!important}.print-measure .offer-options{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:.5mm!important;margin-top:.5mm!important}.print-measure .offer-choice{padding:.7mm 1mm!important;font-size:5.8pt!important;border-radius:2px!important}.print-measure .offer-total{margin-top:1mm!important;padding:1.2mm 2mm!important;font-size:6.5pt!important}.print-measure .offer-total strong{font-size:10pt!important}.print-measure .offer-note{margin-top:.8mm!important;padding:.8mm 1mm!important;font-size:5.4pt!important}

  
  
  
  
  
  
  
  
  
}

.field-help{display:block;margin-top:5px;color:var(--muted);font-size:11px;line-height:1.35}
.premium-request-card{margin-top:16px;border:1px solid #d9c5aa;background:linear-gradient(180deg,#fffdf9,#fff)}
.premium-request-card .eyebrow{color:#9b6a2c}
.callback-check{display:flex;align-items:flex-start;gap:9px;margin-top:13px;padding:11px;border:1px solid var(--line);border-radius:9px;background:#fff}
.callback-check input{margin-top:2px;accent-color:var(--red);width:17px;height:17px}
.lead-capture-actions{display:flex;align-items:center;gap:12px;margin-top:13px;flex-wrap:wrap}
.lead-save-status{font-size:11px;color:var(--muted)}
.lead-save-status.saved{color:var(--green);font-weight:800}
.alert.good{background:var(--greenbg);border-color:#c2e1cb;color:#14542d}
.lead-premium{margin-top:14px;padding:13px;border-radius:9px;background:#faf7f2;border:1px solid #eadfce}
.lead-premium p{margin:6px 0 0;white-space:pre-wrap;line-height:1.45}

.setup-story-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}
.setup-story-grid .premium-request-card{margin-top:0;height:100%}
.describe-event-card{height:100%;border:1px solid #cddbe2;background:linear-gradient(180deg,#fbfdfe,#fff)}
.describe-event-card .eyebrow{color:var(--navy)}
.describe-event-card textarea,.premium-request-card textarea{min-height:155px;resize:vertical}
.lead-story-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:800px){.setup-story-grid,.lead-story-grid{grid-template-columns:1fr}}

#createPanel{max-width:1250px;margin:0 auto}#createPanel h4{color:var(--navy)}#createPanel .option{display:flex;gap:8px;align-items:center;cursor:pointer}#createPanel .option input,#createPanel .package-card input{accent-color:var(--red)}#createPanel .package-card{cursor:pointer}

.mini-alert{margin-top:7px;padding:8px 9px;border-radius:7px;background:#fff4cc;color:#7a4d00;font-size:11px;font-weight:700}.ondemand-highlight{border:2px solid #d9a441!important;box-shadow:0 0 0 4px rgba(217,164,65,.08)!important}#ondemandPanel{max-width:1300px;margin:0 auto}

.admin-actionbar{
  position:sticky;top:0;z-index:40;display:flex;gap:8px;align-items:center;flex-wrap:wrap;
  padding:10px 18px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 4px 14px rgba(16,43,58,.06)
}
#menuPanel{max-width:1450px;margin:0 auto}
.menu-table input[type="text"],.menu-table input:not([type]){min-width:130px}
.menu-table input[type="number"]{min-width:90px}
.menu-table td{vertical-align:middle}
.row-actions{display:flex;gap:6px;white-space:nowrap}
.cost-input{min-width:90px!important;background:#fff9e8!important;border-color:#e5c978!important;font-weight:800}
#adminCanapeRows .cost-input{max-width:120px}
@media(max-width:800px){.admin-actionbar{position:static}.menu-create-grid{grid-template-columns:1fr}}

.engine-table input,.menu-engine-table input{font-size:14px}
.qty-input,.cost-input,.base-sale-input{min-width:105px;max-width:150px}
.item-name-input{min-width:170px}
.food-ok{color:#17632e;font-weight:800}
.food-warn{color:#a44216;font-weight:800}
#adminLogistics input[type="checkbox"]{accent-color:var(--red)}
.menu-engine-table th,.menu-engine-table td{white-space:nowrap}
.menu-engine-table td:nth-child(2){min-width:190px}

.food-cost-editor{display:flex;align-items:center;gap:5px;min-width:105px}.food-cost-editor input{width:82px;min-width:82px;font-weight:800;text-align:right;background:#f6fbf7;border-color:#b9d8c1}.food-cost-editor span{font-weight:800;color:var(--muted)}
.review-grand-total{font-size:28px;color:var(--navy);white-space:nowrap}.quote-breakdown{display:grid;border:1px solid var(--line);border-radius:10px;overflow:hidden}.quote-breakdown>div{display:flex;justify-content:space-between;gap:20px;padding:10px 13px;border-bottom:1px solid var(--line)}.quote-breakdown>div:last-child{border-bottom:0}.quote-breakdown span{color:var(--muted)}.quote-breakdown strong{font-variant-numeric:tabular-nums}.quote-breakdown .breakdown-subtotal{background:#f7f9fa;font-weight:800}.quote-breakdown .breakdown-discount{background:#fff6f6;color:#9f1832}.quote-breakdown .breakdown-discount span{color:#9f1832}.quote-breakdown .breakdown-total{background:var(--navy);color:#fff;font-size:17px}.quote-breakdown .breakdown-total span{color:#fff}
.final-line{display:flex;justify-content:space-between;gap:18px;padding:7px 9px;border:1px solid var(--line);border-radius:7px;background:#fff}.final-line strong{white-space:nowrap;font-variant-numeric:tabular-nums}.final-price-breakdown{margin-top:16px;border-top:1px solid var(--line);padding-top:10px}.final-price-breakdown>div{display:flex;justify-content:space-between;gap:20px;padding:6px 2px}.final-price-breakdown .discount-line{color:#a11832;font-weight:800}
@media print{#adminFinal .final-line{padding:1.2mm 1.8mm!important;font-size:7pt!important}#adminFinal .final-price-breakdown{margin-top:2mm!important;padding-top:1mm!important;font-size:7pt!important}}

.final-business-head{display:flex;align-items:center;gap:18px;background:var(--navy);color:#fff;padding:18px 20px;border-radius:12px 12px 0 0}
.final-business-head img{width:92px;height:64px;object-fit:contain;background:#fff;border-radius:8px;padding:6px}
.final-business-copy h2{margin:1px 0 5px;font-size:25px;color:#fff}.business-contact{font-size:12px;line-height:1.45;color:#d7e6ec}
.final-client-head{display:flex;justify-content:space-between;gap:20px;align-items:end;padding:12px 4px 4px;border-bottom:1px solid var(--line);margin-bottom:8px}
.final-client-head span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.final-client-head strong{display:block;margin-top:2px;font-size:18px;color:var(--navy)}
.final-item-name{padding:6px 9px;border:1px solid var(--line);border-radius:7px;background:#fff;font-size:12px}.final-item-name.muted{color:var(--muted)}
#adminFinal .offer-options{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:800px){.final-business-head,.final-client-head{align-items:flex-start}.final-client-head{flex-direction:column}#adminFinal .offer-options{grid-template-columns:repeat(2,minmax(0,1fr))}}



/* v14 Event Setup: equal, justified field boxes. */
.event-details-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px 20px;
  align-items:start;
}
.event-details-grid .field{min-width:0;width:100%;margin:0}
.event-details-grid .field>input,
.event-details-grid .field>select,
.event-details-grid .money-input,
.event-details-grid .yesno{width:100%}
.event-details-grid .field>input,
.event-details-grid .field>select,
.event-details-grid .money-input{min-height:54px}
.event-details-grid .money-input input{width:100%;min-width:0}
.event-details-grid .live-grilling-field{grid-column:span 2}
.event-details-grid .live-grilling-field .yesno{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.event-details-grid .live-grilling-field .yesno button{width:100%;min-height:54px}
.event-details-grid label{display:block;min-height:20px}
@media(max-width:1000px){
  .event-details-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .event-details-grid .live-grilling-field{grid-column:span 1}
}
@media(max-width:650px){
  .event-details-grid{grid-template-columns:1fr}
}

/* Admin save feedback. */
.admin-toast{
  position:fixed;right:22px;bottom:22px;z-index:99999;
  min-width:280px;max-width:460px;padding:13px 16px;border-radius:9px;
  color:#fff;font-size:13px;font-weight:800;box-shadow:0 12px 28px rgba(20,40,55,.25);
  opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s ease;
}
.admin-toast.success{background:#17633a}
.admin-toast.error{background:#a11832}
.admin-toast.show{opacity:1;transform:translateY(0)}

/* Version 1 client payment details. */
.payment-details{
  margin-top:10px;
  border:1px solid var(--line);
  border-radius:9px;
  overflow:hidden;
  background:#fff;
}
.payment-details-title{
  padding:8px 11px;
  background:#f3f6f8;
  color:var(--navy);
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.payment-details-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.payment-details-grid>div{
  padding:9px 11px;
  border-right:1px solid var(--line);
}
.payment-details-grid>div:last-child{border-right:0}
.payment-details-grid span{
  display:block;
  margin-bottom:3px;
  color:var(--muted);
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.payment-details-grid strong{
  display:block;
  color:var(--navy);
  font-size:12px;
  line-height:1.2;
}
@media(max-width:700px){
  .payment-details-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .payment-details-grid>div{border-bottom:1px solid var(--line)}
}
@media print{
  .payment-details{margin-top:1mm!important;border-radius:1mm!important}
  .payment-details-title{padding:1mm 1.5mm!important;font-size:6.4pt!important}
  .payment-details-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .payment-details-grid>div{padding:1mm 1.5mm!important}
  .payment-details-grid span{font-size:5.3pt!important;margin-bottom:.3mm!important}
  .payment-details-grid strong{font-size:6.5pt!important}
}
