:root{--teal-900: #0a3d3a;--teal-700: #0f5e58;--teal-500: #18837a;--teal-100: #d7ebe8;--teal-50: #f0f7f6;--gold-600: #b8893f;--gold-500: #c9a24b;--gold-100: #f3e7cc;--ink: #1c2725;--ink-soft: #4a5957;--line: #e2e8e6;--bg: #fbfcfc;--surface: #ffffff;--danger: #b3261e;--font-display: "Fraunces", Georgia, serif;--font-ui: "Inter", system-ui, -apple-system, sans-serif;--radius: 12px;--shadow: 0 1px 2px rgba(10, 61, 58, .06), 0 8px 24px rgba(10, 61, 58, .06)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-ui);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;line-height:1.5}h1,h2,h3{font-family:var(--font-display);font-weight:600;color:var(--teal-900);line-height:1.15;margin:0 0 .4em}h1{font-size:2rem}h2{font-size:1.4rem}h3{font-size:1.1rem}a{color:var(--teal-700);text-decoration:none}a:hover{text-decoration:underline}button{font-family:var(--font-ui);cursor:pointer}.app-shell{display:flex;flex-direction:column;min-height:100%}.topbar{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1.5rem;background:var(--teal-900);color:#fff}.topbar .brand{font-family:var(--font-display);font-size:1.15rem;font-weight:600;letter-spacing:.01em}.topbar .brand .dot{color:var(--gold-500)}.topbar .who{display:flex;align-items:center;gap:.85rem;font-size:.85rem;color:var(--teal-100)}.role-chip{background:var(--gold-500);color:var(--teal-900);font-weight:600;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;padding:.15rem .5rem;border-radius:999px}.body-area{display:flex;flex:1;min-height:0}.sidenav{width:210px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--line);padding:1.25rem .75rem}.sidenav a{display:block;padding:.55rem .75rem;border-radius:8px;color:var(--ink-soft);font-size:.92rem;font-weight:500}.sidenav a.active{background:var(--teal-50);color:var(--teal-700)}.sidenav a:hover{text-decoration:none;background:var(--teal-50)}.sidenav .nav-section{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--gold-600);margin:1rem .75rem .4rem}.content{flex:1;padding:2rem 2.5rem;overflow:auto}.content-narrow{max-width:880px}.grid{display:grid;gap:1.1rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.card-pad{padding:1.1rem 1.25rem}.card h3{margin-bottom:.25rem}.muted{color:var(--ink-soft)}.tiny{font-size:.8rem}.tag{display:inline-block;background:var(--teal-50);color:var(--teal-700);border:1px solid var(--teal-100);font-size:.72rem;padding:.1rem .5rem;border-radius:999px;margin:.15rem .25rem 0 0}.price-from{font-family:var(--font-display);color:var(--gold-600);font-weight:600}.status-pill{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;padding:.15rem .55rem;border-radius:999px;background:var(--gold-100);color:var(--gold-600)}table.lines{width:100%;border-collapse:collapse;margin-top:.75rem}table.lines th,table.lines td{text-align:left;padding:.6rem .5rem;border-bottom:1px solid var(--line);font-size:.92rem}table.lines th{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft)}table.lines td.num,table.lines th.num{text-align:right;font-variant-numeric:tabular-nums}table.lines tr.total td{font-weight:600;border-bottom:none;font-size:1rem}.btn{display:inline-flex;align-items:center;gap:.4rem;background:var(--teal-700);color:#fff;border:none;border-radius:8px;padding:.6rem 1.1rem;font-size:.92rem;font-weight:500}.btn:hover{background:var(--teal-900)}.btn.ghost{background:transparent;color:var(--teal-700);border:1px solid var(--teal-100)}.btn:disabled{opacity:.5;cursor:not-allowed}.field{display:block;margin-bottom:.9rem}.field label{display:block;font-size:.82rem;font-weight:500;margin-bottom:.3rem;color:var(--ink-soft)}.field input{width:100%;padding:.6rem .7rem;border:1px solid var(--line);border-radius:8px;font-size:.95rem;font-family:var(--font-ui)}.field input:focus{outline:2px solid var(--teal-100);border-color:var(--teal-500)}.auth-wrap{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,var(--teal-900),var(--teal-700));padding:1.5rem}.auth-card{background:var(--surface);border-radius:16px;box-shadow:var(--shadow);padding:2.25rem;width:100%;max-width:400px}.auth-card .brand{font-family:var(--font-display);font-size:1.5rem;color:var(--teal-900);margin-bottom:.25rem}.auth-card .brand .dot{color:var(--gold-500)}.notice{background:var(--teal-50);border:1px solid var(--teal-100);border-radius:8px;padding:.7rem .85rem;font-size:.82rem;color:var(--ink-soft);margin-bottom:1rem}.error{color:var(--danger);font-size:.85rem;margin:.5rem 0}.callout{border-left:3px solid var(--gold-500);background:var(--gold-100);border-radius:6px;padding:.8rem 1rem;font-size:.86rem;color:var(--ink)}.page-head{margin-bottom:1.5rem}.page-head p{margin:.1rem 0 0}.dash-grid{display:grid;gap:1rem;grid-template-columns:1fr}@media (min-width: 640px){.dash-grid{grid-template-columns:repeat(3,1fr)}}.card.stat .card-pad{padding:1rem 1.1rem}.stat-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--gold-600);margin-bottom:.35rem}.stat-value{font-family:var(--font-display);font-size:1.5rem;font-weight:600;color:var(--teal-900);line-height:1.1}.approval-list{margin:.2rem 0 0;padding-left:1.1rem;font-size:.86rem}.approval-list li{margin:.15rem 0}.detail-list{margin:.5rem 0 0}.detail-row{display:flex;justify-content:space-between;gap:1rem;padding:.4rem 0;border-bottom:1px solid var(--line)}.detail-row:last-child{border-bottom:none}.detail-row dd{margin:0;text-align:right}.timeline{list-style:none;margin:.4rem 0 0;padding:0}.timeline li{display:flex;justify-content:space-between;gap:1rem;padding:.45rem 0;border-bottom:1px solid var(--line)}.timeline li:last-child{border-bottom:none}.timeline-label{font-size:.9rem}.panel-stack{margin-top:1.5rem;display:grid;gap:1.1rem}.field select,.field textarea{width:100%;padding:.6rem .7rem;border:1px solid var(--line);border-radius:8px;font-size:.95rem;font-family:var(--font-ui);background:var(--surface)}.field select:focus,.field textarea:focus{outline:2px solid var(--teal-100);border-color:var(--teal-500)}.dietary-help{margin:.6rem 0 .9rem}.dietary-cutoff.passed{border-left-color:var(--danger);background:#fdeceb}.tag.kind-allergy{background:#fdeceb;color:var(--danger);border-color:#f6c9c5}.tag.kind-preference{background:var(--teal-50);color:var(--teal-700);border-color:var(--teal-100)}.dietary-list{list-style:none;margin:.5rem 0;padding:0}.dietary-row{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem;padding:.5rem 0;border-bottom:1px solid var(--line)}.dietary-row:last-child{border-bottom:none}.dietary-label{font-size:.92rem;font-weight:500}.dietary-notes{flex-basis:100%}.seg{display:flex;gap:.5rem;margin-bottom:.9rem}.seg .btn{flex:1;justify-content:center}.dietary-form{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}.dietary-form-row{display:grid;grid-template-columns:1fr;gap:0 .75rem}@media (min-width: 480px){.dietary-form-row{grid-template-columns:1fr 1fr}}.dietary-pending{margin-top:1rem;padding:.9rem 1rem;background:var(--teal-50);border:1px solid var(--teal-100);border-radius:8px}.dietary-pending h4{margin:0 0 .3rem;text-transform:uppercase;letter-spacing:.04em;color:var(--teal-700)}.dietary-done{color:var(--teal-700);margin-top:.6rem}.link-btn{background:none;border:none;color:var(--teal-700);text-decoration:underline;cursor:pointer;padding:0;margin-left:auto}.creative-signoff{display:grid;gap:.9rem}.creative-concept{margin:0;font-size:1rem;line-height:1.5}.creative-theming{display:grid;gap:.2rem}.creative-theming p{margin:0}.creative-images{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.6rem}.creative-image{display:grid;gap:.25rem}.creative-image img,.creative-image-placeholder{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:8px;background:var(--teal-100)}.creative-note{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:8px;padding:.6rem .7rem;font:inherit;font-size:.92rem;margin-top:.3rem;resize:vertical}.creative-changes-form{display:grid;gap:.3rem}.creative-actions{display:flex;flex-wrap:wrap;gap:.6rem}.creative-actions .btn{flex:1 1 auto;justify-content:center}.creative-status-ok{border-left-color:var(--teal-700);background:var(--teal-100)}.tasting-confirm{display:grid;gap:.9rem}.tasting-date{display:grid;gap:.2rem}.tasting-date p{margin:0}.tasting-menu{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}.tasting-dish{display:grid;gap:.15rem;padding:.6rem .7rem;border:1px solid var(--line);border-radius:8px;background:var(--teal-100)}.tasting-course{text-transform:uppercase;letter-spacing:.06em;color:var(--teal-700);font-weight:600}.tasting-dish-name{font-weight:600}.tasting-dietary{color:var(--teal-700)}.tasting-actions{display:flex;flex-wrap:wrap;gap:.6rem}.tasting-actions .btn{flex:1 1 auto;justify-content:center}.tasting-status-ok{border-left-color:var(--teal-700);background:var(--teal-100)}@media (max-width: 720px){.body-area{flex-direction:column}.sidenav{width:100%;display:flex;flex-wrap:wrap;gap:.25rem;border-right:none;border-bottom:1px solid var(--line);padding:.6rem .75rem}.sidenav .nav-section{width:100%;margin:.3rem .5rem .1rem}.content{padding:1.25rem 1.1rem}}.invoice-rollup{display:flex;gap:1.5rem;flex-wrap:wrap;padding:.75rem 0 1rem;border-bottom:1px solid var(--line);margin-bottom:.5rem}.invoice-rollup-item{display:flex;flex-direction:column;gap:.15rem}.invoice-rollup-value{font-family:var(--font-display);font-size:1.1rem;font-variant-numeric:tabular-nums;color:var(--ink)}.invoice-rollup-value.strong{font-weight:600;color:var(--teal-700)}.invoice-list{list-style:none;margin:0;padding:0}.invoice-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--line)}.invoice-row:last-child{border-bottom:none}.invoice-row-label{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.invoice-name{font-weight:600;color:var(--ink)}.invoice-row-amount{display:flex;align-items:center;gap:.85rem;flex-shrink:0}.invoice-amount{font-variant-numeric:tabular-nums;font-weight:500;color:var(--ink)}.invoice-pay{padding:.4rem .85rem;font-size:.85rem;white-space:nowrap}.invoice-view-link{font-size:.85rem;color:var(--teal-700);text-decoration:underline;white-space:nowrap}.invoice-badge{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;padding:.15rem .5rem;border-radius:999px;white-space:nowrap}.invoice-badge--ok{background:#d8efe2;color:#1a7f5a}.invoice-badge--neutral{background:var(--teal-50);color:var(--teal-700)}.invoice-badge--danger{background:#fbe3e1;color:var(--danger)}.invoice-badge--muted{background:var(--line);color:var(--ink-soft)}@media (max-width: 560px){.invoice-row{flex-direction:column;align-items:flex-start;gap:.5rem}.invoice-row-amount{width:100%;justify-content:space-between}}.planning-progress{margin:1.25rem 0 .25rem}.planning-progress-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:.45rem}.planning-progress-count{font-family:var(--font-display);color:var(--teal-900);font-weight:600}.planning-progress-pct{font-family:var(--font-display);color:var(--gold-600);font-weight:600}.planning-bar{height:8px;border-radius:999px;background:var(--teal-50);border:1px solid var(--teal-100);overflow:hidden}.planning-bar-fill{height:100%;background:linear-gradient(90deg,var(--teal-500),var(--teal-700));border-radius:999px;transition:width .5s ease;min-width:0}.planning-dots{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem 1rem}.planning-dot{display:flex;align-items:center;gap:.4rem;font-size:.8rem}.planning-dot-mark{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:999px;font-size:.6rem;line-height:1;border:1.5px solid var(--line);background:var(--surface);color:var(--surface);flex:none}.planning-dot-label{color:var(--ink-soft)}.planning-dot--done .planning-dot-mark{background:var(--teal-700);border-color:var(--teal-700);color:#fff}.planning-dot--done .planning-dot-label{color:var(--teal-700)}.planning-dot--current .planning-dot-mark{background:var(--gold-500);border-color:var(--gold-500)}.planning-dot--current .planning-dot-label{color:var(--gold-600);font-weight:600}.planning-progress-next{margin:.6rem 0 0}.addon-grid{margin-top:.9rem}.addon-card{display:block;width:100%;text-align:left;padding:0;font:inherit;color:inherit;background:var(--surface);cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .05s ease}.addon-card:hover{border-color:var(--teal-500)}.addon-card:active{transform:translateY(1px)}.addon-card:focus-visible{outline:2px solid var(--teal-500);outline-offset:2px}.addon-card.selected{border-color:var(--teal-700);box-shadow:0 0 0 2px var(--teal-700),var(--shadow)}.addon-tile{display:block;width:100%;aspect-ratio:16 / 7}.addon-body{padding:.9rem 1.1rem 1.1rem}.addon-head{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem}.addon-head h3{margin:0}.addon-check{flex:none;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;border:1.5px solid var(--teal-100);color:var(--teal-700);background:var(--teal-50);font-size:.85rem;font-weight:700;line-height:1}.addon-card.selected .addon-check{background:var(--teal-700);border-color:var(--teal-700);color:#fff}.addon-price{font-family:var(--font-display);color:var(--gold-600);font-weight:600}
