:root{
  --brown:#8e5e01;--cream:#f3f3ee;--ink:#141414;--muted:#77756f;--line:#d9d7cf;--white:#fff;
  --danger:#9d2b1f;--ok:#49623d;--shadow:0 12px 30px rgba(20,20,20,.08);
}
*{box-sizing:border-box}html,body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}.hidden{display:none!important}
.app-shell{min-height:100vh;display:grid;grid-template-columns:244px 1fr}.sidebar{background:var(--ink);color:var(--cream);padding:26px 18px;position:sticky;top:0;height:100vh;overflow:auto}.brand{font-family:Georgia,serif;font-size:26px;letter-spacing:.08em;margin:0 8px 28px}.brand small{display:block;font-family:Inter,sans-serif;font-size:10px;letter-spacing:.22em;color:#b7b5ad;margin-top:5px}.nav{display:grid;gap:4px}.nav button{border:0;background:transparent;color:#d8d6cf;text-align:left;padding:11px 12px;border-radius:8px}.nav button:hover,.nav button.active{background:#242424;color:#fff}.nav .section{font-size:10px;color:#888;letter-spacing:.16em;padding:20px 12px 7px;text-transform:uppercase}.main{min-width:0}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 34px;border-bottom:1px solid var(--line);background:rgba(243,243,238,.92);backdrop-filter:blur(14px);position:sticky;top:0;z-index:20}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:var(--muted)}.topbar h1{font-family:Georgia,serif;font-weight:500;font-size:24px;margin:3px 0 0}.content{padding:34px;max-width:1500px;margin:auto}.grid{display:grid;gap:18px}.grid.kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.two{grid-template-columns:1.4fr 1fr}.grid.three{grid-template-columns:repeat(3,1fr)}.card{background:rgba(255,255,255,.56);border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:0 1px 0 rgba(255,255,255,.8) inset}.card h2,.card h3{font-family:Georgia,serif;font-weight:500;margin:0 0 14px}.kpi strong{display:block;font-family:Georgia,serif;font-size:32px;font-weight:500;margin-top:7px}.muted{color:var(--muted)}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.btn{border:1px solid var(--ink);background:var(--ink);color:#fff;border-radius:9px;padding:10px 14px}.btn.secondary{background:transparent;color:var(--ink);border-color:var(--line)}.btn.brown{background:var(--brown);border-color:var(--brown)}.btn.small{font-size:12px;padding:7px 10px}.btn.ghost{background:transparent;border-color:transparent;color:var(--muted)}.status{display:inline-flex;padding:5px 8px;border:1px solid var(--line);border-radius:999px;font-size:11px;background:#fff}.status.confirmed,.status.menu-locked,.status.production{border-color:#a9b99d;color:var(--ok);background:#f5f8f3}.status.inquiry,.status.proposal,.status.tentative{color:var(--brown);border-color:#d8c49d;background:#fffaf0}.status.completed,.status.paid{color:#555}.event-list{display:grid;gap:10px}.event-row{display:grid;grid-template-columns:minmax(0,2fr) 1fr .7fr .7fr auto;gap:12px;align-items:center;padding:15px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.45)}.event-row:hover{background:#fff}.event-name{font-weight:600}.progress{height:7px;background:#deddd6;border-radius:99px;overflow:hidden}.progress > span{display:block;height:100%;background:var(--brown)}.readiness{min-width:120px}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:12px 8px;border-bottom:1px solid var(--line);font-size:13px}.table th{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:600}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.field input,.field select,.field textarea{border:1px solid var(--line);background:#fff;border-radius:9px;padding:11px 12px;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brown);box-shadow:0 0 0 2px rgba(142,94,1,.08)}.field textarea{min-height:100px;resize:vertical}.tabs{display:flex;gap:3px;overflow:auto;border-bottom:1px solid var(--line);margin-bottom:22px}.tabs button{border:0;background:transparent;padding:12px 14px;color:var(--muted);white-space:nowrap;border-bottom:2px solid transparent}.tabs button.active{color:var(--ink);border-color:var(--brown)}.hero{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:start;margin-bottom:20px}.hero h2{font-family:Georgia,serif;font-size:36px;font-weight:500;margin:5px 0}.timeline-strip{display:flex;gap:8px;overflow:auto;padding:8px 0 4px}.timeline-item{min-width:140px;border-left:2px solid var(--brown);padding:6px 10px}.timeline-item b{display:block;font-size:12px}.timeline-item span{font-size:11px;color:var(--muted)}.course{margin-bottom:22px}.course-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.course-head h3{margin:0}.dish-card{display:grid;grid-template-columns:72px 1fr auto;gap:14px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:12px;background:#fff}.dish-photo{width:72px;height:72px;border-radius:9px;background:linear-gradient(135deg,#d5c5a5,#8e5e01);display:grid;place-items:center;color:white;font-family:Georgia,serif}.chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.chip{font-size:10px;padding:4px 7px;border-radius:999px;background:#eceae2;color:#555}.chip.warn{background:#fff0eb;color:var(--danger)}.lock-banner{border:1px solid #c7d0bf;background:#f5f8f3;padding:14px 16px;border-radius:10px;margin-bottom:18px}.warnbox{border:1px solid #e1b2a8;background:#fff7f5;color:#7b2d24;border-radius:10px;padding:12px}.prep-day{margin:18px 0}.checkline{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-bottom:1px dashed var(--line)}.checkline input{margin-top:3px}.print-sheet{background:#fff;border:1px solid var(--line);padding:34px;max-width:920px;margin:auto;box-shadow:var(--shadow)}.print-sheet h1{font-family:Georgia,serif;font-size:34px}.print-section{border-top:1px solid #bbb;padding-top:16px;margin-top:20px}.mobile-mode{max-width:520px;margin:auto;background:var(--ink);color:#fff;min-height:calc(100vh - 140px);border-radius:22px;overflow:hidden;box-shadow:var(--shadow)}.mobile-head{padding:22px;background:linear-gradient(180deg,#242424,#141414)}.mobile-head h2{font-family:Georgia,serif;font-size:30px;margin:8px 0}.mobile-body{padding:18px}.mobile-card{background:#202020;border:1px solid #363636;border-radius:14px;padding:15px;margin-bottom:12px}.mobile-card h3{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#aaa;font-family:Inter,sans-serif}.mobile-card .time{color:#d9bb7f;font-weight:700;min-width:68px}.alert{background:#3c211e;border-color:#76423a}.library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.lib-card{border:1px solid var(--line);border-radius:12px;padding:14px;background:#fff}.lib-card h3{margin:0 0 6px}.empty{padding:36px;text-align:center;color:var(--muted)}.mobile-nav{display:none}.burger{display:none}
@media(max-width:1050px){.app-shell{grid-template-columns:190px 1fr}.grid.kpis{grid-template-columns:repeat(2,1fr)}.grid.two{grid-template-columns:1fr}.event-row{grid-template-columns:1.6fr .9fr .7fr auto}.event-row .hide-md{display:none}.library-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.app-shell{display:block}.sidebar{display:none}.topbar{height:64px;padding:0 18px}.content{padding:18px 14px 90px}.grid.kpis,.grid.three,.form-grid,.library-grid{grid-template-columns:1fr}.hero{grid-template-columns:1fr}.hero h2{font-size:30px}.event-row{grid-template-columns:1fr auto}.event-row .hide-sm,.readiness{display:none}.mobile-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;z-index:50;bottom:0;left:0;right:0;background:#141414;padding:8px max(8px,env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom));border-top:1px solid #333}.mobile-nav button{border:0;background:transparent;color:#aaa;font-size:10px;padding:6px 2px}.mobile-nav button.active{color:#fff}.print-sheet{padding:18px}.top-actions .btn.secondary{display:none}}
@media print{body{background:#fff}.sidebar,.topbar,.mobile-nav,.no-print{display:none!important}.app-shell{display:block}.content{padding:0}.print-sheet{border:0;box-shadow:none;max-width:none;padding:0}.main{width:100%}}

.staff-line{display:flex;justify-content:space-between;gap:18px;padding:7px 0;border-bottom:1px solid var(--line)}
.staff-menu-item{padding:9px 0;border-bottom:1px solid var(--line)}
.staff-alert{padding:7px 9px;margin:6px 0;border:1px solid #e1b2a8;background:#fff7f5;color:#7b2d24;border-radius:8px}
.staff-no-pricing{margin-top:28px;padding-top:14px;border-top:1px solid #bbb;font-size:10px;letter-spacing:.14em;text-align:center;color:var(--muted)}
/* Event lifecycle colors */
.status.pending{color:#8b1e16;border-color:#d7a39e;background:#fff0ee}
.status.confirmed{color:#7a5b00;border-color:#ddc46c;background:#fff8d9}
.status.completed{color:#276137;border-color:#9fc5a8;background:#eef8f0}

/* Dashboard calendar */
.calendar-card{overflow:hidden}
.cal-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.cal-weekdays{margin-top:18px;border-bottom:1px solid var(--line);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.cal-weekdays>div{padding:8px 6px}
.cal-day{min-height:104px;padding:8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.18)}
.cal-day:nth-child(7n){border-right:0}.empty-day{background:transparent}.cal-num{font-size:12px;font-weight:700;margin-bottom:6px}
.cal-event{display:flex;width:100%;align-items:center;gap:6px;border:0;border-radius:5px;padding:5px 6px;margin:3px 0;text-align:left;font:inherit;font-size:11px;cursor:pointer;background:#eceae2;color:var(--ink)}
.cal-dot,.key-dot{width:7px;height:7px;border-radius:50%;display:inline-block;flex:none}
.cal-event.pending .cal-dot,.key-dot.pending{background:#a33}.cal-event.confirmed .cal-dot,.key-dot.confirmed{background:#d1a526}.cal-event.completed .cal-dot,.key-dot.completed{background:#49824e}
.calendar-key{display:flex;gap:18px;padding-top:12px;font-size:11px;color:var(--muted)}.calendar-key span{display:flex;align-items:center;gap:6px}
@media(max-width:760px){.cal-weekdays{font-size:9px}.cal-day{min-height:70px;padding:4px}.cal-event{font-size:9px;padding:4px}.cal-event{overflow:hidden}.calendar-card{padding:12px}}

/* Collapsible Event Book groups */
.event-groups{display:grid;gap:12px;margin-top:18px}
.event-group{border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.35);overflow:hidden}
.event-group summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 16px;cursor:pointer;font-weight:650;user-select:none}
.event-group summary::-webkit-details-marker{display:none}
.event-group summary:hover{background:rgba(255,255,255,.55)}
.event-group[open] summary{border-bottom:1px solid var(--line)}
.event-group-title{display:flex;align-items:center;gap:9px}
.group-dot{width:9px;height:9px;border-radius:50%;display:inline-block;flex:none}
.group-dot.pending{background:#a33}.group-dot.confirmed{background:#d1a526}.group-dot.completed{background:#49824e}.group-dot.archived{background:#77756f}
.event-count{display:inline-flex;min-width:24px;height:22px;align-items:center;justify-content:center;padding:0 7px;border-radius:999px;background:#eceae2;font-size:11px;color:var(--muted)}
.collapse-label{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:500}
.event-group-list{padding:12px}
@media(max-width:760px){.collapse-label{display:none}.event-group summary{padding:13px 12px}.event-group-list{padding:8px}}
.proposal-ready{background:linear-gradient(135deg,#f3f3ee 0%,#fff 100%);border-left:4px solid #8e5e01}.proposal-ready h2{font-family:Georgia,serif}

/* Update 23: branded proposals and prominent, price-free operational packets. */
.proposal-brand-header{display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:2px solid var(--brown);padding-bottom:22px;margin-bottom:24px;break-inside:avoid}
.proposal-logo{width:222px;height:auto;max-width:48%;object-fit:contain}
.proposal-brand-header address{font-style:normal;text-align:right;font-size:12px;line-height:1.65;color:#42413c}
.proposal-brand-header address strong{color:#141414}
.proposal-title-row{display:flex;justify-content:space-between;gap:20px;align-items:center;break-inside:avoid}
.proposal-title-row h1{margin:6px 0 10px}
.proposal-reference{text-align:right;font-size:12px;line-height:1.7;flex-shrink:0}
.proposal-event-facts{display:grid;grid-template-columns:1.3fr 1.5fr .5fr;gap:20px;line-height:1.5}
.proposal-copy{line-height:1.65;white-space:normal}
.proposal-menu-item{margin:13px 0;break-inside:avoid}
.proposal-menu-item .eyebrow{font-size:9px;margin-bottom:5px}
.branded-proposal .print-section{break-inside:auto}
.branded-proposal .staff-line{break-inside:avoid}
.branded-proposal .staff-line b{white-space:nowrap}
.proposal-total{font-size:20px;border-top:2px solid #8e5e01;margin-top:10px;padding-top:14px}
.proposal-attachment{padding:8px 0;break-inside:avoid}
.proposal-footer{font-size:9px;letter-spacing:.05em;border-top:1px solid #cccac3;margin-top:28px;padding-top:16px;color:#595851;text-align:center}
.operational-packet{font-size:13px;line-height:1.5;color:#141414}
.packet-kicker{display:flex;justify-content:space-between;gap:14px;font-size:10px;font-weight:700;letter-spacing:.16em;color:#59564d;margin-bottom:13px}
.packet-header{break-inside:avoid;page-break-inside:avoid}
.event-highlight{background:#f3f3ee;border:1px solid #d7d4c9;border-left:5px solid #8e5e01;padding:22px 23px 19px}
.operational-packet h1.packet-event-name{font-family:Georgia,'Times New Roman',serif;font-size:34px;line-height:1.16;font-weight:700;margin:5px 0 19px;overflow-wrap:anywhere;color:#141414}
.event-location{border-top:1px solid #d0ccbf;padding-top:13px;font-size:17px;line-height:1.4}
.event-location strong{display:block;margin-top:3px}
.packet-address{font-weight:700;margin-top:2px}
.address-missing{font-size:12px;color:#746b57;margin-top:4px}
.packet-facts{display:grid;grid-template-columns:1.4fr 1.15fr .8fr 1fr;gap:18px;border-top:1px solid #d0ccbf;padding-top:15px;margin-top:17px;align-items:start}
.packet-facts>div{min-width:0}
.fact-label{display:block;font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:#655f52;margin-bottom:7px;font-weight:600}
.packet-facts strong{display:block;font-size:15px;line-height:1.2;font-variant-numeric:tabular-nums}
.packet-facts .event-reference{font-size:18px;overflow-wrap:anywhere}
.packet-facts .guest-total{font-size:29px;line-height:1}
.packet-two-col{display:grid;grid-template-columns:1fr 1fr;gap:15px 25px}
.packet-contact{overflow-wrap:anywhere}
.packet-contact>strong{font-size:15px}
.contact-phone{font-size:16px;font-weight:800;letter-spacing:.02em;margin:5px 0}
.packet-status{font-size:11px;color:#635d50;margin-top:5px;text-transform:uppercase;letter-spacing:.08em}
.packet-section{border-color:#d2d0c7;margin-top:19px;padding-top:12px;break-inside:auto}
.packet-section h2{font-family:Arial,Helvetica,sans-serif;font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:#71500e;margin:0 0 9px;break-after:avoid;page-break-after:avoid}
.packet-section h3{font-size:13px;margin:8px 0 5px}
.packet-section-content{line-height:1.5}
.packet-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:12px}
.packet-table th{text-align:left;font-size:9px;letter-spacing:.09em;text-transform:uppercase;color:#68645a;padding:7px 9px;border-bottom:1px solid #bcb9ad;font-weight:700}
.packet-table td{padding:8px 9px;border-bottom:1px solid #e4e1d7;vertical-align:top;overflow-wrap:anywhere;line-height:1.5}
.packet-table tr{break-inside:avoid;page-break-inside:avoid}
.packet-table thead{display:table-header-group}
.packet-table .qty-column{width:54px;text-align:center}
.timeline-table th:first-child{width:125px}
.timeline-table td:first-child{font-variant-numeric:tabular-nums;font-size:13px}
.assignment-table th:nth-child(1){width:22%}
.assignment-table th:nth-child(2){width:24%}
.assignment-table th:nth-child(3){width:36%}
.assignment-table th:nth-child(4){width:18%}
.packet-entry{padding:8px 0;break-inside:avoid}
.packet-note{line-height:1.6;overflow-wrap:anywhere}
.packet-menu-item{border-bottom:1px solid #e4e1d7;padding:11px 0;break-inside:avoid;page-break-inside:avoid}
.packet-menu-item>strong{font-size:14px}
.menu-course-label{font-size:9px;font-weight:700;color:#76520b;text-transform:uppercase;letter-spacing:.1em;margin-bottom:3px}
.menu-allergens{font-size:11px;color:#5e5548;margin-top:4px}
.menu-alternative{border-left:2px solid #b9a176;margin:7px 0 0 5px;padding:3px 10px;font-size:12px}
.handwriting-lines{margin:4px 0 6px;break-inside:avoid}
.handwriting-lines>div{height:22px;border-bottom:1px solid #c2bdae}
.packet-warning{border:1px solid #bcae93;border-left:3px solid #8e5e01;background:#faf7f0;padding:10px 12px;margin:10px 0;font-size:12px;break-inside:avoid}
.packet-small{font-size:10px;line-height:1.5;color:#6b665a;margin-top:7px}
.packet-check{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px dashed #d9d5c9;break-inside:avoid}
.packet-check input{flex:none;margin:3px 0 0;accent-color:#8e5e01}
.empty-check{width:12px;height:12px;border:1px solid #6c685e;display:inline-block;flex:none;margin-top:3px}
.operations-list{margin:0}
.operations-list>div{display:grid;grid-template-columns:180px 1fr;gap:16px;padding:8px 0;border-bottom:1px solid #e4e1d7;break-inside:avoid}
.operations-list dt{font-size:11px;font-weight:600;color:#615a4f}
.operations-list dd{margin:0;overflow-wrap:anywhere;font-weight:500}
.packet-footer{margin-top:24px;border-top:1px solid #c8c3b6;padding-top:12px;font-size:9px;letter-spacing:.09em;color:#6d675a;text-align:center}
.prep-appendix{margin-top:30px;border-top:2px solid #8e5e01;padding-top:20px}
.prep-appendix h2{font-size:18px;break-after:avoid}
.prep-work-item{padding:5px 0 10px}
.prep-work-item h3{font-size:13px;margin:9px 0 4px;break-after:avoid}
.operational-mobile .eyebrow,.operational-mobile .muted,.operational-mobile .packet-small,.operational-mobile .packet-status{color:#b9b7ad}
.operational-mobile .packet-table{color:#f4f2ea;font-size:12px}
.operational-mobile .packet-table th{color:#c9c3b4;border-color:#4a453c}
.operational-mobile .packet-table td{border-color:#3b3934;padding:8px 4px}
.operational-mobile .menu-course-label{color:#dabc83}
.operational-mobile .packet-menu-item,.operational-mobile .operations-list>div{border-color:#403c34}
.operational-mobile .menu-allergens,.operational-mobile .operations-list dt{color:#d0c9ba}
.operational-mobile .operations-list>div{grid-template-columns:1fr;gap:3px}
.operational-mobile .packet-two-col{grid-template-columns:1fr}
.operational-mobile .packet-warning{background:#332e25;color:#fff}
@media(max-width:760px){
  .event-highlight{padding:17px 16px;border-left-width:4px}
  .operational-packet h1.packet-event-name{font-size:29px}
  .packet-facts{grid-template-columns:1fr 1fr;gap:17px}
  .packet-facts .guest-total{font-size:28px}
  .packet-two-col{grid-template-columns:1fr}
  .packet-table{font-size:11px}
  .packet-table td,.packet-table th{padding:7px 4px}
  .operations-list>div{grid-template-columns:1fr;gap:3px}
  .proposal-brand-header{gap:13px}
  .proposal-brand-header address{font-size:10px}
  .proposal-logo{width:180px}
  .proposal-title-row{flex-wrap:wrap}
  .proposal-reference{text-align:left}
  .proposal-event-facts{grid-template-columns:1fr}
}
@media print{
  @page{size:Letter;margin:0.55in 0.55in 0.6in}
  .operational-packet{font-size:10pt;line-height:1.45;print-color-adjust:exact;-webkit-print-color-adjust:exact}
  .event-highlight{padding:17px 19px 15px}
  .operational-packet h1.packet-event-name{font-size:25pt;margin:4px 0 13px}
  .event-location{font-size:13pt}
  .packet-facts{grid-template-columns:1.4fr 1.15fr .8fr 1fr;gap:12px;margin-top:13px;padding-top:12px}
  .packet-facts strong{font-size:11pt}
  .packet-facts .event-reference{font-size:13pt}
  .packet-facts .guest-total{font-size:23pt}
  .packet-section{margin-top:14px;padding-top:9px}
  .packet-section h2{font-size:9pt}
  .packet-table{font-size:9pt}
  .packet-table td{padding:6px 7px}
  .packet-table th{font-size:7.5pt}
  .timeline-table td:first-child{font-size:10pt}
  .packet-two-col{grid-template-columns:1fr 1fr}
  .operations-list>div{grid-template-columns:160px 1fr;padding:6px 0}
  .packet-menu-item>strong{font-size:10.5pt}
  .packet-menu-item{padding:8px 0}
  .handwriting-lines>div{height:19px}
  .packet-note{orphans:3;widows:3}
  .prep-appendix{break-before:page;border-top:0;margin-top:0;padding-top:0}
  .proposal-brand-header{padding-bottom:16px;margin-bottom:19px}
  .proposal-brand-header address{font-size:9pt}
  .proposal-logo{width:2.05in;max-width:45%}
  .proposal-title-row{flex-wrap:nowrap}
  .proposal-reference{text-align:right}
  .proposal-event-facts{grid-template-columns:1.3fr 1.5fr .5fr}
  .branded-proposal{font-size:10pt}
  .branded-proposal .eyebrow{font-size:8pt}
}
.tax-rate-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:0 24px;margin-top:12px}
