:focus-visible{outline:3px solid var(--brand-ring);outline-offset:2px}.skip-link{position:absolute;left:-999px;top:0;z-index:100;background:#fff;color:var(--brand);padding:.6rem 1rem;border:2px solid var(--brand);border-radius:0 0 8px}.skip-link:focus{left:0}.app-header{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem 1rem;padding:.5rem 1rem;background:#fff;border-bottom:1px solid #ddd}.app-header .brand{display:inline-flex;align-items:center;gap:.5rem;padding:.3rem 0;font-family:var(--font-display);font-weight:700;font-size:1.15rem;color:var(--brand-dark);text-decoration:none}.app-header nav{flex:1 1 auto;min-width:0}.app-header ul{display:flex;flex-wrap:wrap;gap:0 .4rem;list-style:none;margin:0;padding:0}.app-header nav a{display:inline-block;padding:.55rem .35rem;color:#333;text-decoration:none;border-bottom:3px solid transparent}.app-header nav a[aria-current=page]{border-bottom-color:var(--brand);font-weight:700}.nav-badge{display:inline-block;min-width:1.35em;margin-left:.3rem;padding:.1em .4em;border-radius:999px;background:var(--brand);color:#fff;font-size:.75rem;font-weight:700;line-height:1.3;text-align:center;vertical-align:.1em}.app-header .logout{margin-left:auto;padding:.45rem .8rem}.tabbar,.more-sheet,.more-backdrop{display:none}@media (max-width: 1099px){.app-header .nav-full,.app-header .logout{display:none}#main-content{padding-bottom:calc(4.5rem + env(safe-area-inset-bottom))}.tabbar{display:block;position:fixed;left:0;right:0;bottom:0;z-index:30;background:#fff;border-top:1px solid #ddd;padding-bottom:env(safe-area-inset-bottom)}.tabbar ul{display:flex;list-style:none;margin:0;padding:0}.tabbar li{flex:1 1 0;min-width:0}.tabbar a,.tabbar button{display:flex;align-items:center;justify-content:center;gap:.2rem;width:100%;min-height:3.4rem;padding:0 .25rem;background:none;border:0;border-top:3px solid transparent;border-radius:0;color:#333;font:inherit;font-size:.95rem;line-height:1.2;text-decoration:none}.tabbar a[aria-current=page],.tabbar button.active,.tabbar button[aria-expanded=true]{border-top-color:var(--brand);color:var(--brand-dark);font-weight:700}.tabbar .nav-badge{margin-left:.15rem}.more-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:28;background:#0000004d}.more-sheet{display:block;position:fixed;left:0;right:0;z-index:29;bottom:calc(3.4rem + 1px + env(safe-area-inset-bottom));background:#fff;border-radius:14px 14px 0 0;padding:.5rem 1rem .75rem;box-shadow:0 -4px 16px #0000001f}.more-sheet ul{list-style:none;margin:0;padding:0}.more-sheet li a{display:block;padding:.85rem .25rem;color:#333;text-decoration:none;border-bottom:1px solid #eee}.more-sheet li a[aria-current=page]{color:var(--brand-dark);font-weight:700}.more-sheet li button{margin-top:.75rem;width:100%}}@media (min-width: 1100px){.app-header{position:sticky;top:0;z-index:20}}#main-content:focus{outline:none}.link-box{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;word-break:break-all}@media (prefers-reduced-motion: reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}select,textarea{font:inherit;font-size:1rem;padding:.65rem;border:1px solid #bbb;border-radius:8px;background:#fff}textarea{min-height:4.5rem;resize:vertical}button.secondary{background:#fff;color:var(--brand);border:1px solid var(--brand)}button.danger{background:#fff;color:#b00020;border:1px solid #b00020}.page-wide{max-width:48rem}.stack{display:flex;flex-direction:column;gap:1rem}.field{display:flex;flex-direction:column;gap:.25rem;font-weight:600;font-size:.9rem;min-width:0}.field input,.field select,.field textarea{font-weight:400;min-width:0;max-width:100%}.field.qty{width:6rem}.field.full{width:100%}.cake-card{border:1px solid #ddd;border-radius:10px;padding:.75rem;display:flex;flex-direction:column;gap:.75rem;margin:0;min-width:0}.cake-card legend{font-weight:700;padding:0 .4rem}.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.allergy-banner{background:#fde8e8;border-left:6px solid #b00020;color:#7a0014;padding:.5rem .75rem;border-radius:6px;margin:.5rem 0}.field.allergy>span{color:#7a0014}.field.allergy textarea{border:2px solid #b00020}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:.75rem 0}.toolbar .spacer{flex:1}.tabs{display:inline-flex;gap:.25rem}.tabs button{background:#eee;color:#333}.tabs button.active{background:var(--brand);color:#fff}.week-nav{display:flex;align-items:center;gap:.5rem}.week-nav strong{min-width:9rem;text-align:center}.day-heading{margin:1.25rem 0 .4rem;font-size:1.05rem;border-bottom:1px solid #ddd;padding-bottom:.2rem}.order-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.order-card{border:1px solid #ddd;border-left:6px solid #999;border-radius:10px;padding:.75rem}.order-card.status-inquiry{border-left-color:#c9a227}.order-card.status-confirmed{border-left-color:#2f6fb3}.order-card.status-in_progress{border-left-color:#d9731a}.order-card.status-ready{border-left-color:#2e8b57}.order-card.status-completed{border-left-color:#888}.order-card.status-cancelled{border-left-color:#bbb;opacity:.6}.order-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.cake-lines{list-style:none;margin:.5rem 0;padding:0;display:flex;flex-direction:column;gap:.25rem}.cake-lines li{display:flex;justify-content:space-between;gap:.75rem}.order-foot{display:flex;justify-content:space-between;align-items:center;margin-top:.5rem}.note{margin:.4rem 0 0}.form-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.total-line{font-size:1.1rem;font-weight:700}.success{background:#e7f5ec;border-left:6px solid #2e8b57;padding:1rem;border-radius:8px}.checkbox-field{display:flex;align-items:center;gap:.5rem;min-height:2.5rem}.checkbox-field input{width:1.2rem;height:1.2rem}.radio-group{border:1px solid #ddd;border-radius:10px;padding:.5rem .75rem;margin:0}.radio-group legend{font-weight:600;font-size:.9rem;padding:0 .4rem}.field .file-button{align-self:flex-start;font-weight:400}.photo-picks{list-style:none;margin:.25rem 0;padding:0;display:flex;flex-direction:column;gap:.5rem}.photo-picks li{display:flex;align-items:center;gap:.75rem;font-weight:400}.photo-picks img{width:4rem;height:4rem;object-fit:cover;border-radius:6px;flex:none}.photo-name{flex:1;min-width:0;overflow-wrap:anywhere}.kind-badge{display:inline-block;margin-left:.4rem;padding:.05rem .5rem;border-radius:999px;background:var(--brand-tint);color:var(--brand);font-size:.8rem;font-weight:600;vertical-align:middle}.order-photos{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}.order-photos button{padding:0;border:0;background:none;border-radius:6px;cursor:zoom-in}.order-photos .thumb{display:block;width:4.5rem;height:4.5rem;object-fit:cover;border-radius:6px}.order-photo-full{max-width:100%;max-height:70vh;display:block;margin:.5rem 0;border-radius:8px}.summary-text{white-space:pre-line}.pickup-fixed{margin:0;font-weight:400}.checkbox-field.confirm-pickup{align-items:flex-start}.checkbox-field.confirm-pickup input{margin-top:.15rem;flex:none}.tab-count{display:inline-block;min-width:1.35em;margin-left:.35rem;padding:.05em .4em;border-radius:999px;background:#c9a227;color:#fff;font-size:.75rem;font-weight:700;line-height:1.3;text-align:center}.choice-hint{font-weight:400;font-size:.85rem;color:#6f5f63}.cake-price{margin:0;font-weight:600;color:var(--brand-dark)}.link-button{background:none;border:none;padding:0;color:var(--brand);text-decoration:underline;cursor:pointer;font:inherit}.button-link{display:inline-block;padding:.55rem .9rem;border-radius:8px;text-decoration:none;background:var(--brand);color:#fff;font-size:1rem;line-height:1.2}.status-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin:.5rem 0}.status-actions button{padding:.5rem .9rem}.tip-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.5rem;margin:.5rem 0;padding:.6rem;background:#f6f6f6;border-radius:8px}.contact-line{margin:.4rem 0 0;font-size:.95rem;overflow-wrap:anywhere}.order-foot{flex-wrap:wrap;gap:.5rem}.foot-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-left:auto}.reply-select{padding:.5rem;font-size:1rem;max-width:12rem}.preset-row{display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0}.preset-row button{padding:.5rem .9rem}.page-xl{max-width:64rem}.cal-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:1.25rem}@media (min-width: 820px){.cal-layout{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start}.day-panel-wrap{position:sticky;top:1rem;max-height:calc(100vh - 2rem);overflow-y:auto}}@media (min-width: 1100px){.day-panel-wrap{top:4.5rem;max-height:calc(100vh - 5.5rem)}}.cal-nav{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.cal-nav h2{margin:0;font-size:1.15rem;text-align:center;flex:1}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.cal-weekday{text-align:center;font-size:.75rem;font-weight:600;color:#666;padding-bottom:2px}.cal-day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-height:3rem;padding:2px;border:2px solid transparent;border-radius:8px;background:#f3f3f3;color:#222;font-size:.95rem;cursor:pointer}.cal-day .meta{font-size:.65rem;color:#444}.cal-day .names{display:none}@media (min-width: 1100px){.cal-day{min-height:4.75rem;justify-content:flex-start;padding-top:4px}.cal-day .names{display:flex;flex-direction:column;width:100%;margin-top:2px;font-size:.7rem;line-height:1.25;color:#333;text-align:left}.cal-day .names span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:0 2px}}.cal-day.state-open{background:#e3f4e8}.cal-day.state-limited{background:#fff1c9}.cal-day.state-full{background:#fbd9d9}.cal-day.state-blocked{background:repeating-linear-gradient(45deg,#e4e4e4,#e4e4e4 6px,#d3d3d3 6px,#d3d3d3 12px)}.cal-day.today{border-color:var(--brand)}.cal-day.selected{outline:3px solid var(--brand);outline-offset:1px}.legend{display:flex;flex-wrap:wrap;gap:.75rem;margin:.6rem 0;font-size:.8rem;color:#444}.legend span{display:inline-flex;align-items:center;gap:.3rem}.swatch{width:.9rem;height:.9rem;border-radius:3px;border:1px solid #bbb;display:inline-block}.swatch.state-open{background:#e3f4e8}.swatch.state-limited{background:#fff1c9}.swatch.state-full{background:#fbd9d9}.swatch.state-blocked{background:repeating-linear-gradient(45deg,#e4e4e4,#e4e4e4 3px,#c8c8c8 3px,#c8c8c8 6px)}.day-panel{border:1px solid #ddd;border-radius:10px;padding:.9rem}.day-panel h2{margin:0 0 .4rem;font-size:1.2rem}.day-panel h3{margin:1rem 0 .4rem;font-size:1rem}.badge{display:inline-block;padding:.1rem .5rem;border-radius:999px;font-size:.8rem;font-weight:700;margin-right:.4rem}.badge.state-open{background:#cfeed8}.badge.state-limited{background:#ffe29a}.badge.state-full{background:#f5b7b7}.badge.state-blocked{background:#cfcfcf}.toggle-line{display:flex;align-items:center;gap:.5rem;min-height:2.5rem}.toggle-line input{width:1.2rem;height:1.2rem}.range-box{margin-top:1.25rem;border:1px solid #ddd;border-radius:10px;padding:.75rem}.range-box summary{cursor:pointer;font-weight:600}.range-box .stack{margin-top:.75rem}.subscribe-link{display:inline-block;padding:.55rem 1rem;border-radius:8px;text-decoration:none;font-weight:600;background:var(--brand);color:#fff}.feed-url{width:100%;box-sizing:border-box;font-size:.85rem}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.file-button{display:inline-block;padding:.7rem 1rem;border-radius:8px;cursor:pointer;background:var(--brand);color:#fff;font-size:1rem;text-align:center}.file-button.secondary{background:#fff;color:var(--brand);border:1px solid var(--brand)}.file-button:focus-within{outline:3px solid var(--brand-ring);outline-offset:2px}.summary-line{margin:.5rem 0;font-weight:600}.receipt-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}.receipt-card{display:flex;align-items:center;gap:.75rem;border:1px solid #ddd;border-radius:10px;padding:.6rem}.thumb-button{padding:0;border:0;background:none;line-height:0;cursor:pointer}.thumb{width:4.5rem;height:4.5rem;object-fit:cover;border-radius:8px;background:#eee;display:block;flex:none}.thumb.placeholder,.thumb.img-missing,.thumb.img-loading{display:flex;align-items:center;justify-content:center;text-align:center;font-size:.7rem;color:#777;line-height:1.1;padding:2px}.thumb.pdf{font-size:.9rem;font-weight:700;color:var(--brand-dark);background:var(--brand-tint)}.receipt-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.receipt-info .muted{margin:0}.receipt-amount{font-weight:700;font-size:1.1rem;white-space:nowrap}.badge-cat{display:inline-block;background:var(--brand-tint);color:var(--brand-dark);border-radius:999px;padding:0 .5rem;font-size:.75rem;font-weight:600}.photo-box{display:flex;flex-direction:column;gap:.6rem}.photo-preview{max-width:100%;max-height:22rem;object-fit:contain;border-radius:8px;background:#f3f3f3;align-self:flex-start}.photo-preview.img-loading,.photo-preview.img-missing{display:block;width:12rem;height:8rem;padding:.5rem;color:#777}.pdf-file{display:inline-flex;align-items:center;gap:.5rem;align-self:flex-start;padding:.6rem .8rem;border:1px solid #ddd;border-radius:8px;background:#fff;color:inherit;font-size:1rem;cursor:pointer}.pdf-badge{background:var(--brand-tint);color:var(--brand-dark);font-weight:700;font-size:.8rem;border-radius:4px;padding:.1rem .4rem}.notice{background:#fff3cd;border-left:6px solid #c9a227;padding:.6rem .8rem;border-radius:6px}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:1rem}.lightbox img{max-width:100%;max-height:80vh;object-fit:contain;border-radius:6px}.lightbox .caption{color:#fff;margin:0;text-align:center}.photo-archive{margin-top:1.5rem;border-top:1px solid #ddd;padding-top:.75rem}.photo-archive summary{cursor:pointer;font-weight:600;color:var(--brand-dark)}.photo-archive .notice p{margin:0 0 .6rem}.site-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem;padding:.5rem 1rem;background:#fff;border-bottom:1px solid var(--blush-border)}.site-brand{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-display);font-weight:700;font-size:1.15rem;color:var(--brand-dark);text-decoration:none}.site-brand .logo{margin:0;border-radius:50%}.button-link{display:inline-block;padding:.55rem 1rem;border-radius:8px;text-decoration:none;font-weight:600;background:var(--brand);color:#fff;white-space:nowrap}.button-link.secondary{background:#fff;color:var(--brand);border:1px solid var(--brand)}.button-link.secondary:hover{background:var(--brand-tint)}.site-main{max-width:60rem}.site-main:focus{outline:none}.site-main section+section{margin-top:2rem}.site-main h2{margin-bottom:.25rem;color:var(--brand-dark)}.portal-list{list-style:none;margin:.75rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.75rem}.portal-list .tile{height:100%;box-sizing:border-box}.tile-go{margin-top:.4rem;color:var(--brand);font-weight:600}.gallery-grid{list-style:none;margin:.75rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(14rem,100%),1fr));gap:.9rem}.gallery-grid figure{margin:0;height:100%;background:#fff;border:1px solid var(--blush-border);border-radius:14px;overflow:hidden;box-shadow:var(--shadow-soft);display:flex;flex-direction:column}.gallery-grid img{display:block;width:100%;aspect-ratio:1;object-fit:cover;background:var(--brand-tint)}.gallery-grid figcaption{padding:.55rem .75rem .7rem;font-size:.95rem}.gallery-grid a:hover img{opacity:.92}.gallery-add{margin:1rem 0 .5rem}.gallery-edit{display:flex;flex-direction:column;gap:.5rem}.gallery-edit input{width:100%;box-sizing:border-box}.gallery-edit button{padding:.45rem .8rem}.file-button[aria-disabled=true]{opacity:.6;cursor:default}.care-guide{display:block;width:100%;height:auto;border:1px solid var(--blush-border);border-radius:14px;box-shadow:var(--shadow-soft)}.site-nav{display:flex;align-items:center;gap:1rem}.site-nav>a:not(.button-link){color:var(--brand-dark);font-weight:600;text-decoration:none}.site-nav>a:not(.button-link):hover{color:var(--brand);text-decoration:underline}.about{scroll-margin-top:1rem}.about-body{display:flex;gap:1.25rem;align-items:flex-start;margin-top:.75rem}.about-body p{margin:0 0 .75rem}.about-photo{flex:0 0 16rem;width:16rem;aspect-ratio:4 / 5;object-fit:cover;object-position:30% center;border:1px solid var(--blush-border);border-radius:14px;box-shadow:var(--shadow-soft)}@media (max-width: 40rem){.about-body{flex-direction:column}.about-photo{width:100%;flex-basis:auto;aspect-ratio:3 / 2;object-position:center}}.public-header.hero{display:flex;flex-direction:column;justify-content:center;min-height:22rem;margin-bottom:1.5rem;padding:2.5rem 1rem;border-radius:14px;overflow:hidden;background:linear-gradient(#28141973,#2814198c),var(--hero-image) center 35% / cover no-repeat;box-shadow:var(--shadow-soft)}.public-header.hero h1{color:#fff;font-size:2.6rem;text-shadow:0 2px 10px rgba(0,0,0,.45)}.public-header.hero .tagline{color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.5)}@media (max-width: 40rem){.public-header.hero{min-height:18rem}.public-header.hero h1{font-size:2.1rem}}.hero-actions{margin:1rem 0 0}.hero-cta{padding:.8rem 2rem;font-size:1.1rem;border-radius:999px;box-shadow:0 3px 10px #c2313f40}.hero-cta:hover{background:var(--brand-dark)}.gallery-grid a{display:block;cursor:zoom-in}.gallery-viewer{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;color:#fff;overflow:hidden}.gallery-viewer::backdrop{background:#140a0ceb}body:has(.gallery-viewer[open]){overflow:hidden}.gallery-viewer:not([open]){display:none}.gallery-viewer figure{margin:0;height:100%;box-sizing:border-box;padding:3.5rem 1rem 1rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;pointer-events:none}.gallery-viewer img{max-width:100%;max-height:calc(100% - 2.5rem);object-fit:contain;border-radius:8px;pointer-events:auto}.gallery-viewer figcaption{display:flex;gap:1rem;font-size:.95rem;pointer-events:auto}.gallery-viewer-count{opacity:.75}.gallery-viewer button{position:absolute;background:#ffffff26;color:#fff;border-radius:999px;width:2.75rem;height:2.75rem;padding:0;font-size:1.75rem;line-height:1}.gallery-viewer button:hover{background:#ffffff4d}.gallery-viewer-close{top:.75rem;right:.75rem}.gallery-viewer-prev,.gallery-viewer-next{top:50%;transform:translateY(-50%)}.gallery-viewer-prev{left:.75rem}.gallery-viewer-next{right:.75rem}.gallery-edit form{display:flex;flex-direction:column;gap:.5rem}.gallery-edit .move-row{display:flex;align-items:center;gap:.4rem}.gallery-edit .move-row .link-button{padding:0 .25rem;font-size:.9rem}.gallery-grid li.fresh figure{outline:3px solid var(--brand-ring)}.dash-title h1{margin-bottom:0}.dash-title .muted{margin:0 0 1rem}.stat-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.6rem}.stat-tile{display:flex;flex-direction:column;gap:.2rem;padding:.75rem;border:1px solid #ddd;border-radius:10px;color:inherit;text-decoration:none;background:#fff}.stat-tile:hover{border-color:var(--brand)}.stat-tile .label{font-size:.85rem;color:#555}.stat-tile .value{font-size:1.5rem;font-weight:700;color:var(--brand-dark)}.stat-tile.warn{background:#fff8e1;border-color:#e6c65c}.dash-section{margin-top:1.75rem}.dash-section h2{font-size:1.2rem;margin:0 0 .5rem}.dash-heading-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.dash-heading-row h2{margin:0}.dash-day{font-size:1rem;margin:.9rem 0 .35rem;color:#444}.dash-day.is-today{color:var(--brand-dark)}.dash-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.dash-row{display:flex;align-items:flex-start;gap:.75rem;padding:.6rem .75rem;border:1px solid #ddd;border-radius:10px;color:inherit;text-decoration:none}.dash-row:hover{border-color:var(--brand)}.dash-when{flex:none;width:5.5rem;font-weight:600;color:#444}.dash-when.is-date{width:7rem}.dash-what{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:0 .3rem}.dash-what .muted{margin:0}.dash-allergy{flex-basis:100%;margin-top:.3rem;padding:.15rem .5rem;border-left:4px solid #b00020;background:#fde8e8;color:#7a0014;border-radius:4px;font-size:.9rem}.status-pill{flex:none;display:inline-block;padding:.1rem .55rem;border-radius:999px;font-size:.8rem;font-weight:600;background:#eee;color:#333;margin-left:.4rem}.status-pill.status-inquiry{background:#fbf1cf;color:#6b5300}.status-pill.status-confirmed{background:#e1ecf8;color:#1d4f85}.status-pill.status-in_progress{background:#fde9d6;color:#8a4407}.status-pill.status-ready{background:#e2f3e9;color:#1f6640}.status-pill.status-cancelled{background:#eee;color:#555}.share-list{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:1rem}.share-list .link-box{margin-top:.3rem}@media (max-width: 480px){.dash-when{width:4.5rem;font-size:.9rem}.dash-when.is-date{width:5.25rem}}.back-link{display:inline-block;margin-bottom:.5rem}.section{margin-top:1.5rem}.section h2{font-size:1.15rem;margin:0 0 .5rem}.muted{color:#666;font-size:.9rem;margin:.25rem 0 0}.limit-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem}.field{display:flex;flex-direction:column;gap:.25rem;font-weight:600;font-size:.9rem}.field input{font-weight:400}.field.grow{flex:1 1 12rem}.field.price{width:7rem}.limit-form input{width:6rem}.menu-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.menu-row{border:1px solid #ddd;border-radius:10px;padding:.75rem}.menu-row.inactive{background:#f5f5f5}.menu-row.inactive .row-fields{opacity:.6}.row-fields{display:flex;flex-wrap:wrap;gap:.75rem}.row-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.6rem}.toggle{display:flex;align-items:center;gap:.4rem;min-height:2.5rem}.toggle input{width:1.2rem;height:1.2rem}.status{font-size:.9rem;color:#444}.settings-tabs{display:flex;flex-wrap:wrap;gap:.25rem;margin:.75rem 0 .5rem;border-bottom:2px solid var(--brand-tint)}.settings-tabs [role=tab]{background:none;color:#444;border:0;border-bottom:3px solid transparent;border-radius:0;margin-bottom:-2px;padding:.6rem .9rem;font-weight:600}.settings-tabs [role=tab][aria-selected=true]{color:var(--brand);border-bottom-color:var(--brand)}.field textarea{font:inherit;font-weight:400}.special-form{display:flex;flex-direction:column;gap:.75rem}.special-form h2{margin:0}.move-buttons{display:inline-flex;gap:.4rem;margin-left:auto}.move-buttons button{padding:.45rem .7rem}.section-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.section-head h2{margin:0}.inv-list{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-direction:column;gap:.75rem}.inv-card{border:1px solid #ddd;border-radius:10px;padding:.75rem;background:#fff}.inv-card.low{border-color:var(--brand);border-left-width:6px}.inv-card h2{font-size:1.1rem;margin:0 0 .5rem}.inv-head{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.inv-name{font-size:1.1rem;margin:0;overflow-wrap:anywhere}.badge-low{background:var(--brand);color:#fff;border-radius:999px;padding:.1rem .6rem;font-size:.8rem;font-weight:700}.qty-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.6rem}.qty-btn{min-width:2.75rem;padding:.55rem 0;font-weight:700}.qty-field input{width:5.5rem;text-align:center}.qty-unit{font-weight:600}.buy-links{list-style:none;margin:.6rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}.buy-links a{display:inline-block;padding:.4rem .75rem;border-radius:999px;overflow-wrap:anywhere;background:var(--brand-tint);color:var(--brand-dark);font-weight:600;text-decoration:none}.buy-links a:hover{text-decoration:underline}.inv-form{display:flex;flex-direction:column;gap:.6rem}.inv-form .muted{margin:0}.field.num{width:6.5rem}.field.unit{width:7rem}.field.store{flex:0 1 10rem}.links-fieldset{border:1px solid #ddd;border-radius:8px;padding:.6rem .75rem .75rem;margin:0;display:flex;flex-direction:column;gap:.6rem;align-items:flex-start}.links-fieldset legend{font-weight:600;padding:0 .25rem}.link-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.6rem;width:100%}.inv-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem}.menu-jump{margin:.75rem 0 0;font-weight:600}.menu-card{background:#fff;border:1px solid var(--blush-border);border-radius:16px;box-shadow:var(--shadow-soft);padding:1.1rem 1.25rem 1.35rem}.site-main .menu-card>h2{margin:0 0 .75rem;font-size:1.5rem;text-align:center;padding-bottom:.5rem;border-bottom:2px solid var(--brand-tint)}.menu-card h3{margin:1rem 0 .4rem;font-size:1.1rem;color:var(--brand-dark)}.menu-lead{margin:0 0 .75rem;text-align:center;color:#5b4a4e;font-style:italic;text-wrap:balance}.price-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}.price-row{display:flex;flex-direction:column}.price-line{display:flex;align-items:baseline;gap:.4rem}.price-name{font-weight:600}.price-dots{flex:1;min-width:1rem;border-bottom:2px dotted var(--brand-ring);transform:translateY(-.25rem)}.price-amount{font-family:var(--font-display);font-weight:700;font-size:1.1rem;color:var(--brand-dark)}.price-note{display:block;font-size:.85rem;color:#6f5f63}.menu-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:0 1.5rem}.flavor-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.note-list{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-direction:column;gap:.75rem}.note-card{border:1px solid #ddd;border-radius:10px;padding:.75rem;background:#fff}.note-card h2{font-size:1.1rem;margin:0 0 .5rem}.note-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem;margin-bottom:.4rem}.note-title{font-size:1.1rem;margin:0;overflow-wrap:anywhere}.note-kind{font-size:.75rem;padding:.1rem .5rem;border-radius:999px;background:#eee;color:#444}.note-kind-response{background:#fde8ef;color:#8a2a4b}.note-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 .6rem}.note-filters{display:flex;flex-wrap:wrap;gap:.4rem;margin:.5rem 0}.note-form{display:flex;flex-direction:column;gap:.6rem}.note-form textarea{width:100%;box-sizing:border-box;resize:vertical;font:inherit}.recipe-list{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-direction:column;gap:.75rem}.recipe-card{border:1px solid #ddd;border-radius:10px;padding:.75rem;background:#fff}.recipe-card h2{font-size:1.1rem;margin:0 0 .5rem}.recipe-card summary{cursor:pointer}.recipe-title{display:inline;font-size:1.1rem;margin:0;overflow-wrap:anywhere}.recipe-body{margin-top:.6rem}.recipe-body h4{font-size:.95rem;margin:.75rem 0 .25rem}.recipe-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.recipe-form{display:flex;flex-direction:column;gap:.6rem}.recipe-form textarea{width:100%;box-sizing:border-box;resize:vertical;font:inherit}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.75rem;margin:1rem 0}.stat-card{border:1px solid #ddd;border-radius:10px;padding:.75rem}.stat-card .label{font-size:.85rem;color:#555;margin:0}.stat-card .value{font-size:1.5rem;font-weight:700;margin:.15rem 0}.stat-card .sub{font-size:.8rem;color:#666;margin:0}.stat-card.net-positive .value{color:#1e7a45}.stat-card.net-negative .value{color:#b00020}.report-table{width:100%;border-collapse:collapse;margin:.5rem 0 1rem}.report-table th,.report-table td{text-align:left;padding:.4rem .5rem;border-bottom:1px solid #e5e5e5}.report-table th:last-child,.report-table td:last-child,.report-table th:nth-child(2),.report-table td:nth-child(2){text-align:right}.report-table tfoot td{font-weight:700;border-top:2px solid #999}.warning-box{background:#fff3cd;border-left:6px solid #c9a227;padding:.6rem .8rem;border-radius:6px;margin:.75rem 0}.stat-card.booked .value{color:#1d4f85}.unpriced-list{display:flex;flex-wrap:wrap;gap:.25rem .75rem;margin-top:.35rem}.how-it-works{margin-top:1rem}.how-it-works summary{cursor:pointer;font-weight:600;color:var(--brand-dark)}body{margin:0;font-family:system-ui,sans-serif}main{max-width:40rem;margin:0 auto;padding:1rem}.login-form{display:flex;flex-direction:column;gap:1rem;max-width:22rem}.login-form label{display:flex;flex-direction:column;gap:.25rem;font-weight:600}input{font-size:1rem;padding:.65rem;border:1px solid #bbb;border-radius:8px}button{font-size:1rem;padding:.7rem 1rem;border:0;border-radius:8px;background:var(--brand);color:#fff;cursor:pointer}button:disabled{opacity:.6;cursor:default}.error{color:#b00020;margin:0}:root{--brand: #c2313f;--brand-dark: #8f1f2b;--brand-ring: #e8929a;--brand-tint: #fbe4e7;--blush: #fff5f5;--blush-border: #f4d6d9;--ink: #2b2326;--font-display: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;--shadow-soft: 0 2px 10px rgba(194, 49, 63, .08)}body{color:var(--ink)}h1,h2,h3{font-family:var(--font-display);letter-spacing:.01em}a{color:var(--brand-dark)}.logo{display:block;margin:0 auto;max-width:100%;height:auto;mix-blend-mode:multiply}.app-header .logo{margin:0}.public-page{min-height:100vh;display:flex;flex-direction:column;background:var(--blush)}.public-header{text-align:center;padding:1.75rem 1rem .5rem}.public-header h1{margin:.25rem 0;font-size:2rem}.public-header .tagline{margin:0 auto;max-width:30rem;color:#5b4a4e}.public-main{flex:1;width:100%;max-width:40rem;margin:0 auto;padding:1rem;box-sizing:border-box}.public-footer{text-align:center;padding:1.5rem 1rem 2rem;color:#6f5f63;font-size:.85rem}.form-card{background:#fff;border:1px solid var(--blush-border);border-radius:16px;box-shadow:var(--shadow-soft);padding:1rem 1.1rem 1.25rem;display:flex;flex-direction:column;gap:1rem}.form-card>h2{margin:0;font-size:1.2rem;color:var(--brand-dark);padding-bottom:.4rem;border-bottom:2px solid var(--brand-tint)}.form-intro{margin-bottom:1.25rem}.form-intro .back-link{margin:0 0 .75rem}.form-intro h1{margin:0 0 .5rem;font-size:2rem;color:var(--brand-dark)}.form-intro p{color:#5b4a4e}.form-card .cake-card,.form-card .radio-group{border-color:var(--blush-border)}.disclaimer{margin:1.5rem 0 0;color:#6f5f63;font-size:.85rem}.form-card .hint{margin:-.4rem 0 0;color:#6f5f63;font-size:.9rem}.form-card input:focus,.form-card select:focus,.form-card textarea:focus{border-color:var(--brand)}.cta{width:100%;padding:.9rem 1.25rem;font-size:1.1rem;font-weight:600;letter-spacing:.02em;border-radius:999px;box-shadow:0 3px 10px #c2313f40}.cta:hover:not(:disabled){background:var(--brand-dark)}.fine-print{text-align:center;color:#6f5f63;font-size:.9rem;margin:0}.estimate{margin:0;padding:.7rem .9rem;background:var(--blush);border-radius:10px;font-weight:700}.estimate .muted{font-weight:400}.success-card{background:#fff;border:1px solid var(--blush-border);border-radius:16px;padding:1.25rem;text-align:center;box-shadow:var(--shadow-soft)}.success-card h2{margin-top:0;color:var(--brand-dark)}.success-card p{margin:0 0 1rem}.login-page{max-width:26rem;margin:0 auto;padding:1.5rem 1rem;text-align:center}.login-page h1{margin:.25rem 0}.login-page .login-form{margin:1rem auto 0;text-align:left}.home-hero{background:var(--blush);border:1px solid var(--blush-border);border-radius:20px;text-align:center;padding:1.25rem 1rem 1.5rem;margin-bottom:1.25rem}.home-hero h1{margin:.25rem 0 .15rem;font-size:1.75rem}.home-hero p{margin:0;color:#5b4a4e}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.75rem;margin-bottom:1.25rem}.stat{display:block;text-decoration:none;color:var(--ink);background:#fff;border:1px solid var(--blush-border);border-radius:14px;padding:.8rem .9rem;box-shadow:var(--shadow-soft)}.stat .label{margin:0;font-size:.85rem;color:#6f5f63}.stat .value{margin:.1rem 0;font-family:var(--font-display);font-size:1.6rem;font-weight:700;color:var(--brand-dark)}.stat .sub{margin:0;font-size:.85rem;color:#6f5f63}.stat.attention{border-color:var(--brand);background:var(--blush)}.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(10.5rem,1fr));gap:.75rem}.tile{display:flex;flex-direction:column;gap:.2rem;text-decoration:none;color:var(--ink);background:#fff;border:1px solid var(--blush-border);border-radius:14px;padding:1rem;box-shadow:var(--shadow-soft);transition:transform .15s,box-shadow .15s}.tile:hover{transform:translateY(-2px);box-shadow:0 6px 16px #c2313f26}.tile .tile-icon{font-size:1.6rem;line-height:1.2}.tile strong{font-family:var(--font-display);font-size:1.1rem}.tile span.desc{font-size:.85rem;color:#6f5f63}.share-card{margin-top:1.25rem;background:#fff;border:1px dashed var(--brand-ring);border-radius:14px;padding:1rem}.share-card h2{margin:0 0 .25rem;font-size:1.15rem}.share-card p{margin:0 0 .6rem}.success-card p:last-of-type{margin-bottom:1.25rem}.pickup-notes{display:flex;flex-direction:column;gap:.35rem}.form-card .pickup-notes .hint{margin:0}.public-footer .footer-admin{color:inherit}.public-footer .footer-admin:hover{color:var(--brand)}.intro-points{margin:0 0 .75rem;padding-left:1.25rem;color:#5b4a4e;display:flex;flex-direction:column;gap:.35rem}.login-page.form-card{margin:1.5rem auto 0;padding:1.25rem 1.25rem 1.5rem}.login-page .login-form{max-width:none;margin:0}.login-back{text-align:center;margin:1rem 0 0}.login-page.form-card>h1{margin:0;font-size:1.5rem;color:var(--brand-dark);padding-bottom:.4rem;border-bottom:2px solid var(--brand-tint)}.form-card .field:has(>:is(input,select,textarea):required)>span:first-child:after,.form-card .radio-group:has(input:required)>legend:after,.form-card .checkbox-field:has(>input[type=checkbox]:required)>span:after{content:" *";content:" *" / "";color:#b00020;font-weight:700}.required-note{margin:0;color:#6f5f63;font-size:.9rem}.field-error{color:#b00020;font-weight:600;font-size:.85rem}.field-error:before{content:"⚠ ";content:"⚠ " / ""}.radio-group .field-error{display:block;margin-top:.35rem}.form-card :is(input,select,textarea)[aria-invalid=true]{border-color:#b00020;box-shadow:0 0 0 1px #b00020}.form-card input[type=checkbox][aria-invalid=true],.form-card input[type=radio][aria-invalid=true]{outline:2px solid #b00020;outline-offset:1px}
