:root{font-family:Arial,Helvetica,sans-serif;color:#17383f;background:#e9eff1;--paper-width:8.5in;--paper-height:11in;--print-size:11.5pt}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;border:1px solid #b9cdd0;border-radius:8px;background:white;color:#174550;padding:10px 14px;min-height:44px}button:disabled{opacity:.5;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #d98b32;outline-offset:3px}.builder-top{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px 24px;background:#103f48;color:white;position:sticky;top:0;z-index:3}.builder-top a{color:white}.builder-top button{background:#e2f5f0;font-weight:bold}.builder{display:grid;grid-template-columns:340px minmax(0,1fr);align-items:start;gap:24px;padding:24px}.builder-controls{background:white;border:1px solid #cddcde;border-radius:14px;padding:22px}.eyebrow{font-size:11px;letter-spacing:.12em;font-weight:bold;color:#39777c}h1{font:27px/1.2 Georgia,serif;margin:10px 0}h2{font-size:17px}p{line-height:1.5}.builder-controls>section{border-top:1px solid #deeaec;margin-top:22px;padding-top:12px}.builder-controls label{display:block;font-size:14px;font-weight:bold;margin:12px 0}.builder-controls input:not([type=checkbox]),.builder-controls select{width:100%;padding:10px;border:1px solid #bdd0d4;border-radius:6px;margin-top:6px;background:white;color:inherit;min-height:42px}.builder-controls input[type=checkbox]{width:17px;height:17px;vertical-align:middle;margin-right:8px;accent-color:#155463}.builder-controls fieldset{border:0;padding:0}.builder-controls legend{font-size:14px}.selection-actions{display:flex;gap:6px;margin-top:12px}.selection-actions button{padding:7px 10px;font-size:13px}.restaurant-choices{max-height:280px;overflow:auto;border:1px solid #d7e4e5;border-radius:8px;padding:8px}.restaurant-choices label{display:grid;grid-template-columns:22px 1fr;gap:8px;font-weight:normal;padding:8px;margin:0;cursor:pointer}.restaurant-choices label:hover{background:#f0f7f6}.restaurant-choices small{display:block;color:#647c81;margin-top:3px}.print-help,#builder-status,#selection-count{font-size:13px;color:#526b70}.preview-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.builder-preview{overflow:hidden;min-width:0}.paper-page{width:var(--paper-width);height:var(--paper-height);background:white;color:#111;padding:.45in .5in;display:flex;flex-direction:column;overflow:hidden;margin:0 auto 24px;box-shadow:0 4px 20px #19313e22;font-size:var(--print-size);line-height:1.35;text-align:left}.paper-head{border-bottom:1.5pt solid #233f43;padding-bottom:8pt;margin-bottom:12pt;flex:none;display:flex;align-items:end;justify-content:space-between;gap:14pt}.paper-head h2{font:700 16pt/1.2 Georgia,serif;margin:0 0 4pt}.paper-head small{font-size:8pt}.paper-brand{font-size:9pt;white-space:nowrap}.paper-body{display:grid;grid-template-columns:repeat(var(--print-columns,2),minmax(0,1fr));gap:18pt;flex:1;min-height:0;overflow:hidden}.paper-column{min-width:0;overflow:hidden}.paper-footer{flex:none;border-top:1pt solid #ddd;margin-top:10pt;padding-top:6pt;display:flex;justify-content:space-between;gap:16pt;font-size:7.5pt;color:#444}.paper-footer span:first-child{max-width:80%}.print-block{margin:0 0 12pt;padding:0 0 8pt;border-bottom:1pt solid #ddd;break-inside:avoid}.print-block h3{font:700 13pt/1.2 Georgia,serif;margin:0 0 3pt}.print-block .print-city{font-size:9pt;font-weight:bold;color:#334b50;margin:0 0 4pt}.print-block .print-contact{font-size:8pt;color:#444;margin:0 0 7pt}.print-block h4{font-size:10pt;margin:0 0 5pt;line-height:1.4}.print-block .menu p{margin:0 0 4pt;overflow-wrap:anywhere}.print-block .menu-priced{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8pt}.print-block .price{font-weight:bold;text-align:right}.print-block .price-value{white-space:nowrap}.print-block .price-extra{display:block;max-width:85pt;font-size:8pt;font-weight:normal}.print-block .schedule{font-weight:bold;border-left:2pt solid #536f75;padding-left:6pt;margin-top:7pt!important}.print-block .event{font-weight:bold}.print-block .spacer{height:3pt}.print-block .note{font-size:.9em}.print-block .continued{font:normal 8pt Arial,sans-serif}.empty-print{padding:35px;background:white;border-radius:12px}.page-city{font-size:12pt!important}.paper-preview-scale{transform-origin:top left}#measure-pages{position:fixed;left:-30000px;top:0;visibility:hidden;pointer-events:none}.print-help{border-top:1px solid #ddd;padding-top:14px}@media(max-width:1050px){.builder{grid-template-columns:290px minmax(0,1fr);padding:16px;gap:16px}.builder-controls{padding:16px}}@media(max-width:750px){.builder{display:block;padding:14px}.builder-controls{margin-bottom:24px}.builder-top{padding:12px;font-size:13px;flex-wrap:wrap}.builder-top strong{display:none}.builder-preview{width:100%}}@media print{html,body{background:white!important;margin:0!important;padding:0!important}.builder-top,.builder-controls,.preview-heading,#measure-pages{display:none!important}.builder,.builder-preview,#paper-pages{display:block!important;margin:0!important;padding:0!important;overflow:visible!important}.paper-preview-scale{transform:none!important;height:auto!important;width:auto!important;break-after:page;page-break-after:always}.paper-preview-scale:last-child{break-after:auto;page-break-after:auto}.paper-page{transform:none!important;margin:0!important;box-shadow:none!important;break-after:page;page-break-after:always}.paper-page:last-child{break-after:auto;page-break-after:auto}.empty-print{display:none}}
/* Spreadsheet print: one identity column and an aligned weekly comparison grid. */
.spreadsheet-page .paper-head{margin-bottom:9pt}.specials-sheet{border-collapse:collapse;table-layout:fixed;width:100%;font-size:var(--print-size);line-height:1.28}.specials-sheet th,.specials-sheet td{border:.6pt solid #a3b1b3;padding:5pt;vertical-align:top;overflow-wrap:anywhere}.specials-sheet thead th{background:#edf2f2;color:#163e46;text-align:center;font-size:.95em;padding:7pt 4pt;font-weight:700}.specials-sheet tbody>tr:nth-child(even){background:#f7f9f9}.specials-sheet tbody>tr>th{text-align:left;font-weight:normal;background:#eef3f3}.specials-sheet h3{font-size:1.1em;line-height:1.2;margin:0 0 5pt;font-weight:700}.specials-sheet .print-city{font-size:.85em;font-weight:bold;margin:0 0 5pt;color:#334b50}.specials-sheet .print-contact{font-size:.8em;margin:0;color:#444;line-height:1.35}.specials-sheet .continued{font-size:.75em;font-weight:normal;display:block;margin-top:4pt}.sheet-cell h4{font-size:.9em;line-height:1.3;margin:7pt 0 4pt;padding-bottom:3pt;border-bottom:.5pt solid #b8c5c7}.sheet-cell h4:first-child{margin-top:0}.sheet-cell p{margin:0 0 5pt;line-height:1.28}.sheet-cell .menu-priced{display:block}.sheet-cell .price{font-weight:bold}.sheet-cell .menu-priced>.price{margin-left:3pt}.sheet-cell .price-extra{display:block;font-weight:normal;font-size:.9em}.sheet-cell .schedule{font-weight:bold;font-size:.9em;margin-top:4pt;color:#263f45}.sheet-cell .spacer{height:3pt;margin:0}.sheet-cell .note{font-size:.92em}.sheet-cell .event{font-weight:bold}.sheet-empty{color:#88969a;font-size:.9em}.spreadsheet-page .paper-footer{font-size:7pt}@media print{.specials-sheet{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
.export-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.builder-top .export-actions button:first-child{background:white}.builder-top .export-actions button{font-size:14px;padding:10px 13px}@media(max-width:750px){.builder-top{justify-content:space-between;gap:8px}.export-actions{gap:5px}.builder-top .export-actions button{font-size:12px;padding:8px;min-height:40px}}
.sheet-cell .price,.sheet-cell .price-value{white-space:nowrap}.sheet-cell .price-extra{white-space:normal}.specials-sheet thead th{overflow-wrap:normal}
/* Dense spreadsheet: widen the long menus, keep the day grid, and share schedules. */
.compact-page{padding:.28in .3in}.compact-page .paper-head{margin-bottom:5pt;padding-bottom:5pt}.compact-page .paper-head h2{font-size:13pt;margin-bottom:2pt}.compact-page .paper-head small{font-size:7pt}.compact-page .paper-footer{margin-top:5pt;padding-top:4pt;font-size:6.5pt}.compact-sheet{line-height:1.15}.compact-sheet th,.compact-sheet td{padding:3pt;overflow-wrap:break-word}.compact-sheet thead th{padding:4pt 2pt;font-size:8pt}.compact-sheet tbody>tr>th{background:#eef3f3}.compact-sheet tbody>tr{background:white}.compact-sheet .print-city{margin:3pt 0 0;font-size:.85em}.compact-sheet .print-contact{margin-top:3pt;font-size:.75em}.compact-sheet h3{font-size:1em;margin:0;line-height:1.15}.compact-sheet h4{font-size:.95em;margin:0 0 2pt;text-transform:uppercase;letter-spacing:.02em;color:#244c54}.compact-detail-row>td{background:#fafbfb}.compact-bands{display:flex;gap:10pt;align-items:start}.compact-bands>div{flex:1;min-width:0}.compact-bands>div+div{border-left:.6pt solid #c2cdcf;padding-left:8pt}.compact-wide{margin-bottom:4pt}.compact-section{margin:0 0 2pt;line-height:1.15}.compact-section:last-child{margin-bottom:0}.compact-label{font-size:.95em}.compact-times{font-size:.92em;color:#344c50}.compact-cell .menu-priced{display:inline}.compact-cell .menu-priced>.price{margin-left:2pt}.compact-cell .price,.compact-cell .price-value{font-weight:bold;white-space:nowrap}.compact-cell .price-extra{display:inline;font-size:.95em;font-weight:normal;white-space:normal;margin-left:2pt}.compact-cell .note{font-size:1em}.compact-cell .event{font-weight:bold}.compact-cell .compact-separator{color:#526467}.compact-cell .schedule{font-weight:bold}.compact-sheet .compact-restaurant{border-bottom:1.2pt solid #72898e}
[hidden]{display:none!important}

/* A menu taller than a page gets wide day cells before any continuation. */
.compact-roomy tr:first-child{display:grid;grid-template-columns:13% minmax(0,1fr)}
.compact-roomy tr:first-child>th{grid-column:1;grid-row:1 / span 8}
.compact-roomy tr:first-child>td{grid-column:2;display:flex;gap:6px;padding:3px 5px}
.compact-roomy tr:first-child>td::before{content:attr(data-day);font-weight:700;flex:0 0 28px}
.compact-roomy tr.compact-detail-row{display:grid;grid-template-columns:13% minmax(0,1fr)}
.compact-roomy tr.compact-detail-row>td{grid-column:2}
.compact-roomy .compact-cell{font-size:inherit;min-width:0}
/* Coastal brand, with light ink coverage on the printable grid. */
:root{color:#18344b;background:#f2f6fb;--brand-sea:#143d56;--brand-teal:#187b80}
body{background:radial-gradient(ellipse at 0 12%,#d9f1f5 0,transparent 45%),radial-gradient(ellipse at 100% 30%,#e3eafa 0,transparent 45%),#f2f6fb}
.builder-top{background:linear-gradient(110deg,#112f48,#164d60);border-bottom:3px solid #55d9ce;box-shadow:0 4px 20px #163c5012;flex-wrap:wrap}
.builder-top>a:first-child{font-size:13px;text-decoration:none;color:#d6f4ee}.builder-brand{display:flex;align-items:center;gap:9px;text-decoration:none}.builder-logo{width:65px;height:auto}.builder-wordmark{width:245px;height:auto}
.builder-controls{border-color:#d9e4ed;box-shadow:0 6px 22px #1b45650b;border-top:3px solid #55cabe}.builder-controls h1{color:#143d56}.builder-controls h2{color:#23667b}.preview-heading h2{color:#143d56}.paper-page{border-top:3pt solid #35a79e;print-color-adjust:exact;-webkit-print-color-adjust:exact}
.paper-brand{display:flex;align-items:center;gap:6px;background:#143d56;border-radius:4pt;padding:5pt 7pt;flex-shrink:0}.paper-brand img{display:block;object-fit:contain}.paper-head{border-bottom-color:#35a79e}.paper-head h2{color:#143d56}.paper-head small{color:#52677b}
.compact-sheet thead th{background:#dcefea;color:#143d56;border-color:#a0c5c3}.compact-sheet tbody>tr>th{background:#e8f3f3;color:#143d56;border-left:2pt solid #24918d}.compact-sheet .compact-detail-row>td{background:#f2f8f8}.compact-sheet h4{color:#157477}.compact-sheet tbody:nth-of-type(even) tr:not(.compact-detail-row)>td{background:#f7fafc}.compact-sheet .compact-restaurant{border-bottom-color:#24918d}.paper-footer{color:#52677b;border-top-color:#b8d8d6}
@media(max-width:750px){.builder-top{position:static}.builder-brand{order:-1;flex-basis:100%;justify-content:center}.builder-logo{width:58px}.builder-wordmark{width:min(225px,65vw)}.paper-brand{gap:4px}}


.menu .menu-intro,.compact-section .menu-intro{font-weight:600}
