:root{--ink: #123044;--ink-soft: #3d6274;--parchment: #ffffff;--card: #ffffff;--gold: #ff7a59;--gold-deep: #0f8f84;--teal: #0f8f84;--coral: #ff7a59;--wine: #d23b6a;--line: rgba(18, 48, 68, .14);--serif: "Fraunces", "Iowan Old Style", "Palatino Linotype", Palatino, serif;--sans: "Outfit", "Avenir Next", "Segoe UI", sans-serif;color-scheme:light}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--sans);font-weight:400;background:var(--parchment);color:var(--ink)}button,input{font:inherit;color:inherit}button{cursor:pointer}img{max-width:100%;display:block}p{margin:0}::selection{background:#b7efe6}:focus-visible{outline:2px solid var(--teal);outline-offset:3px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}h1,h2,h3{font-family:var(--serif);font-weight:500;letter-spacing:-.03em;margin:0}h1{font-size:clamp(2.1rem,5vw,3.3rem);line-height:1.02}h2{font-size:1.55rem;line-height:1.15}.kicker{margin:0 0 8px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep);font-weight:600}.lede{color:var(--ink-soft);font-size:1.05rem;line-height:1.5;max-width:40rem}.muted{color:var(--ink-soft)}.stack{display:flex;flex-direction:column;gap:12px}.fields{display:flex;flex-direction:column;gap:18px}.narrow{width:min(680px,100%)}.welcome{min-height:100dvh;width:min(720px,calc(100% - 36px));margin:0 auto;display:flex;flex-direction:column;justify-content:center;gap:8px;padding:20px 0 40px}.wordmark{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;margin:0 auto 4px;text-align:center}.mark.large{width:72px;height:72px}.wordmark strong{display:block;font-family:var(--serif);font-weight:500;font-size:clamp(2.05rem,10.2vw,4.2rem);letter-spacing:.08em;text-transform:uppercase;line-height:.9;padding-left:.08em}.wordmark small{display:block;margin-top:8px;letter-spacing:.28em;text-transform:uppercase;color:#8d97a1;font-size:.72rem}.triad{display:flex;justify-content:center;gap:18px;margin:0;color:var(--gold-deep);letter-spacing:.18em;text-transform:uppercase;font-size:12px;font-weight:600}.caption{text-align:center;color:var(--ink-soft);font-size:.95rem}.choice-col{display:flex;flex-direction:column;gap:12px;margin-top:8px}.site{min-height:100dvh;background:var(--parchment);color:var(--ink)}.site-bar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 22px;background:#ffffffeb;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.site-bar nav{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;justify-content:flex-end}@media(max-width:720px){.site-bar{flex-wrap:wrap;align-items:flex-start}.site-bar nav{width:100%;justify-content:flex-start}}.site-bar nav a,.site-foot a{color:var(--ink);font-weight:600;text-decoration:none}.site-bar nav a:hover,.site-foot a:hover{color:var(--teal)}.site-hero,.site-feature,.site-pay,.site-app,.site-cities,.site-foot{width:min(1120px,calc(100% - 40px));margin:0 auto}.site-copy{display:flex;flex-direction:column;gap:14px;align-items:flex-start}.site-copy p{color:var(--ink-soft);line-height:1.5}.site-hero,.site-feature,.site-app{display:grid;gap:28px;align-items:center}.site-hero{padding:28px 0 8px}.site-hero h1{max-width:12ch}.site-hero img,.site-feature img{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:28px}.site-feature{padding:36px 0}.site-actions,.store-row{display:flex;flex-wrap:wrap;gap:10px}.site-cats{display:flex;flex-wrap:wrap;gap:8px}.site-cats a{text-decoration:none;color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:9px 14px;background:#fff}.site-cats a:hover{border-color:var(--teal);color:#0c6d66}.site-list{list-style:none;margin:0;padding:0;display:grid;gap:12px;width:100%}.site-list li{display:flex;flex-direction:column;gap:2px}.site-list strong{font-family:var(--serif);font-size:1.2rem;font-weight:500;color:var(--ink)}.store{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:8px 16px 8px 12px;border-radius:10px;background:#123044;color:#fff}.store small{display:block;font-size:10px;letter-spacing:.02em;opacity:.8}.store strong{display:block;font-size:1.05rem;font-weight:600;letter-spacing:-.02em}.site-pay{margin:8px auto 28px;padding:32px 28px;border-radius:28px;background:linear-gradient(135deg,#0f8f841f,#ff7a591a),#f7fbfa}.site-pay p:last-child{max-width:62ch}.site-app{padding:12px 0 48px}.site-app img{width:min(320px,100%);margin:0 auto;border-radius:28px}.site-cities{padding-bottom:28px;display:flex;flex-direction:column;gap:18px;align-items:flex-start}.city-grid{width:100%}.city{border-top:1px solid var(--line)}.city:last-child{border-bottom:1px solid var(--line)}.city button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 4px;border:0;background:transparent;font-family:var(--serif);font-size:1.35rem;text-align:left}.city .chev{flex:none;transition:transform .15s ease}.city.open .chev{transform:rotate(180deg)}.city-services{display:flex;flex-wrap:wrap;gap:8px 16px;padding:0 4px 16px}.city-services a{color:var(--ink-soft);text-decoration:none;font-weight:500}.city-services a:hover{color:var(--teal)}.site-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;padding:22px 0 36px;border-top:1px solid var(--line);color:var(--ink-soft)}.site-foot nav{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center}@media(min-width:860px){.site-hero,.site-feature,.site-app{grid-template-columns:1.05fr .95fr;gap:56px}.site-hero{padding:48px 0 12px}.site-feature.flip .site-copy,.site-app .site-copy{order:-1}.site-app img{margin:0 0 0 auto}}@media(min-width:960px){.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:stretch}.service-grid .choice{height:100%}}.choice{width:100%;text-align:left;text-decoration:none;color:inherit;background:var(--card);border:1px solid rgba(22,48,68,.08);border-radius:22px;padding:18px 18px 16px;box-shadow:0 10px 30px #1630440d;display:flex;flex-direction:column;gap:4px}button.choice{font:inherit}.choice strong{font-family:var(--serif);font-size:1.65rem;font-weight:500;letter-spacing:-.03em}.choice small{color:var(--ink-soft);font-size:.95rem}.choice.on,.choice:hover{border-color:var(--teal);box-shadow:0 0 0 1px var(--teal),0 10px 30px #0f8f841f}.app-shell{min-height:100dvh}.rail{display:none}.workspace{min-height:100dvh}.topbar{display:flex;justify-content:space-between;align-items:center;padding:16px 20px 0;width:min(1080px,100%);margin:0 auto}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit}.brand strong{font-family:var(--serif);font-size:1.25rem;font-weight:500;display:block}.brand small{display:block;color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.who{color:var(--ink-soft)}.screen{width:min(1080px,100%);margin:0 auto;padding:18px 20px 128px;display:flex;flex-direction:column;gap:18px}.mark{width:36px;height:36px;color:var(--gold-deep);display:block}.dock{position:fixed;z-index:6;left:50%;bottom:calc(14px + env(safe-area-inset-bottom));transform:translate(-50%);width:min(420px,calc(100% - 20px));display:flex;gap:4px;padding:6px;background:#163044f0;border-radius:999px;box-shadow:0 16px 40px #16304438}.dock a{flex:1;text-align:center;text-decoration:none;color:#f3eee6b8;padding:12px 8px;border-radius:999px;font-size:14px;font-weight:600}.dock a.on{background:var(--parchment);color:var(--ink)}@media(min-width:960px){.has-rail .rail{display:flex;flex-direction:column;gap:28px;position:fixed;inset:0 auto 0 0;width:232px;padding:28px 18px;background:var(--ink);color:var(--parchment)}.has-rail .rail .mark{color:#5ee0d4}.has-rail .rail .brand small{color:#f3eee69e}.has-rail .rail nav{display:flex;flex-direction:column;gap:6px}.has-rail .rail nav a{text-decoration:none;color:#f3eee6b8;padding:12px 14px;border-radius:14px}.has-rail .rail nav a.on{background:#f3eee61a;color:var(--parchment)}.has-rail .workspace{margin-left:232px}.has-rail .topbar,.dock{display:none}.screen{padding-bottom:48px}}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:12px 18px;background:transparent;text-decoration:none;font-weight:600;cursor:pointer}.btn.primary{background:var(--teal);color:#fff}.btn.primary:disabled{opacity:.4;cursor:not-allowed}.btn.quiet,.btn.line{background:#fff;color:var(--ink);border:1.5px solid rgba(18,48,68,.22);box-shadow:0 1px 2px #1230440f}.btn.quiet:hover,.btn.line:hover{border-color:var(--teal);color:#0c6d66}.btn.quiet:disabled,.btn.line:disabled{opacity:.45;cursor:not-allowed}.btn.danger{background:#fff1f4;color:var(--wine);border:1.5px solid #f0b3c3}.btn.sm{padding:8px 12px;font-size:.92rem}.btn.full{width:100%}.row-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.line-field{display:flex;flex-direction:column;gap:6px}.line-field>span,.slider-top span,.stepper>span,.group-label{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);font-weight:600}.line-field input{width:100%;border:none;border-bottom:1.5px solid var(--line);background:transparent;border-radius:0;padding:8px 0 12px;font-size:1.35rem;font-weight:500;outline:none}.line-field input:focus{border-bottom-color:var(--teal)}.line-field input:focus-visible{outline:none}.secret{display:flex;align-items:center;gap:8px;border-bottom:1.5px solid var(--line)}.secret:focus-within{border-bottom-color:var(--teal)}.secret input{border-bottom:0;padding-bottom:10px}::placeholder{color:#8ea0ae}.suggest{position:relative}.suggest ul{list-style:none;margin:8px 0 0;padding:6px;position:absolute;z-index:5;left:0;right:0;max-height:280px;overflow:auto;background:#fff;border-radius:16px;box-shadow:0 16px 40px #1630441f}.suggest li button{width:100%;text-align:left;border:0;background:transparent;border-radius:12px;padding:10px 12px}.suggest li button.on,.suggest li button:hover{background:#f3f6f8}.stars{letter-spacing:2px}.stars i{color:#d5dde3;font-style:normal}.stars i.on{color:#e0a100}.folio{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.folio figure{margin:0}.folio img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:16px;display:block}.folio figcaption{margin-top:6px}.review{padding:14px 0;border-top:1px solid var(--line)}.diary-head{display:flex;align-items:center;gap:8px}.diary-day{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.diary-day .btn{flex:0 0 auto}.diary-date{flex:1 1 auto;min-width:0}.diary-add{flex:0 0 auto;margin-left:auto}@media(min-width:960px){.diary-head{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.diary-day{display:contents}.diary-day .btn,.diary-add{width:100%;margin:0}}.pick-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.pick-grid button{aspect-ratio:1;border:0;border-radius:12px;background:transparent;font-weight:600;color:var(--ink)}.pick-grid button.on{background:var(--teal);color:#fff}.pick-grid button.out{color:#b0bcc4}.pick-grid button.today{box-shadow:inset 0 0 0 2px var(--teal)}.diary-scroll{overflow-x:auto;padding-bottom:8px}.diary{display:flex;gap:8px;min-width:max-content}.diary-hours{width:52px;flex:none;color:var(--muted);font-size:.75rem}.diary-name{height:52px}.diary-hours span{display:flex;height:72px;align-items:flex-start}.diary-col{width:190px;flex:none}.diary-col header{height:52px;display:flex;flex-direction:column;justify-content:center}.diary-col header small{color:var(--muted)}.diary-lane{position:relative;background:#f6f7f9;border-radius:16px;overflow:hidden}.diary-lane.off{background:repeating-linear-gradient(-45deg,#f3f4f6,#f3f4f6 8px,#e7eaee 8px 16px)}.diary-rule{position:absolute;left:0;right:0;border-top:1px solid #e6eaee}.appt{position:absolute;left:4px;right:4px;z-index:2;border:0;border-left:4px solid #0f8f84;border-radius:12px;padding:6px 8px;text-align:left;overflow:hidden;color:var(--ink);background:#e5f6f3}.appt strong,.appt small{display:block}.appt.tone-requested{background:#fff6e0;border-left-color:#c47b12}.appt.tone-confirmed{background:#e5f6f3;border-left-color:#0f8f84}.appt.tone-past{background:#e7eef2;border-left-color:#5d7382;color:#3d6274}.appt.tone-completed{background:#f3f5f7;border-left-color:#8aa0ae;color:#5c7383}.appt.tone-cancelled{z-index:1;background:#fde7ef;border-left-color:#9d174d;color:#7a2448}.appt.tone-cancelled strong{text-decoration:line-through}.diary-legend{display:flex;gap:14px;flex-wrap:wrap;margin:0;font-size:12px;color:var(--ink-soft)}.diary-legend span{display:inline-flex;align-items:center;gap:6px}.diary-legend i{width:12px;height:12px;border-radius:4px;border-left:3px solid}.diary-legend .tone-requested{background:#fff6e0;border-left-color:#c47b12}.diary-legend .tone-confirmed{background:#e5f6f3;border-left-color:#0f8f84}.diary-legend .tone-past{background:#e7eef2;border-left-color:#5d7382}.diary-legend .tone-completed{background:#f3f5f7;border-left-color:#8aa0ae}.diary-legend .tone-cancelled{background:#fde7ef;border-left-color:#9d174d}.hero-place a.directions{color:#d9fff8;font-weight:600;text-decoration:underline;text-underline-offset:3px}.chip-row,.people,.time-grid{display:flex;flex-wrap:wrap;gap:8px}.chip,.person,.time-grid button,.date-strip button{border:1px solid var(--line);background:transparent;border-radius:999px;padding:9px 14px}.chip.on,.person.on,.time-grid button.on,.date-strip button.on{background:var(--teal);color:#fff;border-color:var(--teal)}.person,.date-strip button{border-radius:18px;background:var(--card);display:flex;flex-direction:column;align-items:flex-start;gap:2px}.person small,.date-strip small{font-size:11px;letter-spacing:.08em;text-transform:uppercase;opacity:.7}.person-photo,.portrait{width:72px;height:72px;border-radius:50%;object-fit:cover;background:#d7ebe7;align-self:center}.portrait{width:112px;height:112px}.person.on .person-photo{box-shadow:0 0 0 2px #fff}.person.add{align-items:center;justify-content:center;min-width:58px;min-height:58px}.person.add strong{font-size:1.8rem;font-weight:500;line-height:1}.price s{margin-right:6px;text-decoration:line-through;opacity:.6}.time-grid button:disabled,.date-strip button:disabled{opacity:.35;cursor:not-allowed}.date-strip{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.date-strip button{min-width:68px;display:flex;flex-direction:column;align-items:center;padding:10px 8px}.date-strip button strong{font-size:1.15rem}.seg{display:flex;width:100%;gap:4px;padding:4px;background:#d5f3ee;border-radius:999px}.seg button{flex:1;border:0;background:transparent;border-radius:999px;padding:10px 12px;color:var(--ink-soft);font-weight:600}.seg button.on{background:#fff;color:var(--ink);box-shadow:0 4px 16px #16304414}.seg.wrap{flex-wrap:wrap;border-radius:18px}.seg.wrap button{flex:1 1 30%}.slider{display:flex;flex-direction:column;gap:10px}.slider-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.slider-top strong{font-family:var(--serif);font-size:1.4rem;font-weight:500}input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:2px;background:#16304433;border-radius:99px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:var(--ink);border:3px solid var(--parchment);box-shadow:0 0 0 1px var(--ink);cursor:pointer}input[type=range]:focus-visible{outline:none}.stepper{display:flex;justify-content:space-between;align-items:center;background:var(--card);border-radius:20px;padding:12px 12px 12px 16px}.stepper div{display:flex;align-items:center;gap:12px}.stepper button{width:40px;height:40px;border:0;border-radius:50%;background:var(--teal);color:#fff;font-size:1.2rem}.stepper button:disabled{opacity:.3}.stepper button.stepper-value,.stepper input.stepper-figure{width:6ch;height:auto;min-height:40px;border-radius:0;background:transparent;color:inherit;font-family:var(--serif);font-size:1.4rem;text-align:center;padding:0 0 2px;border-bottom:1.5px solid transparent}.stepper button.stepper-value:hover,.stepper input.stepper-figure{border-bottom-color:var(--teal)}.stepper input.stepper-figure{outline:none}.disclose>button{border:0;background:transparent;padding:0;color:var(--teal);font-weight:600}.disclose-body{margin-top:12px}.chapter{display:flex;flex-direction:column;gap:16px}.dots{display:flex;gap:8px}.dots i{width:32px;height:3px;border-radius:99px;background:#16304426;display:block}.dots i.on{background:var(--ink)}.dots i.done{background:var(--gold)}.chapter-nav{display:flex;gap:12px;align-items:center;position:sticky;bottom:calc(84px + env(safe-area-inset-bottom));z-index:4;background:var(--parchment);padding:16px 0 12px;box-shadow:0 96px 0 var(--parchment)}.chapter-nav .btn.primary{margin-left:auto;min-width:148px}@media(min-width:960px){.chapter{min-height:calc(100dvh - 48px)}.chapter-nav{bottom:0;margin-top:auto;padding-bottom:16px;box-shadow:none}}.results{display:grid;gap:14px}@media(min-width:800px){.results{grid-template-columns:1fr 1fr}.stat-grid{grid-template-columns:repeat(4,1fr)}}.place{background:var(--card);border-radius:24px;overflow:hidden;text-decoration:none;color:inherit;box-shadow:0 12px 30px #1630440d}.band{min-height:72px;display:flex;align-items:flex-end;padding:14px 16px;color:#f6f1e8;letter-spacing:.14em;text-transform:uppercase;font-size:12px;font-weight:600}.place-body,.pad{padding:16px 16px 18px;display:flex;flex-direction:column;gap:8px}.meta{display:flex;justify-content:space-between;gap:12px;color:var(--ink-soft)}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.stat,.row,.panel,.summary{background:var(--card);border-radius:20px;padding:16px 18px}.stat span{color:var(--ink-soft);font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:600}.stat strong{display:block;font-family:var(--serif);font-size:2rem;font-weight:500;margin-top:6px}.bars{display:flex;align-items:end;gap:10px;height:150px}.bar{flex:1;height:100%;display:flex;flex-direction:column;justify-content:end;align-items:center;gap:8px}.bar-fill{width:100%;background:linear-gradient(#14b8a6,#0f8f84);border-radius:10px 10px 4px 4px;height:var(--h)}.bar span{font-size:12px;color:var(--ink-soft)}.row{display:grid;grid-template-columns:1fr;gap:10px}@media(min-width:720px){.row{grid-template-columns:1fr auto;align-items:center}}.status{display:inline-flex;font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;padding:4px 8px;border-radius:999px;background:#1630440f}.status.live,.status.confirmed,.status.active{background:#e5f2f0;color:var(--teal)}.status.pending,.status.requested{background:#ffe8df;color:#c2410c}.status.suspended,.status.cancelled{background:#ffe0ea;color:var(--wine)}.banner{background:#d9f6f1;color:#0c6d66;border-radius:16px;padding:12px 14px}.hint{background:#fff1ec;color:#9a3412;border-radius:16px;padding:12px 14px}.alert{color:var(--wine);background:#f6e6e8;border-radius:14px;padding:10px 12px}.empty{padding:12px 0 4px}.summary{display:flex;flex-direction:column;gap:6px}.hold-bar{position:fixed;z-index:5;left:0;right:0;bottom:0;width:min(1080px,100%);margin:0 auto;padding:18px 20px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(to top,#fff 78%,#fff0)}.app-shell:has(.dock) .hold-bar{bottom:calc(68px + env(safe-area-inset-bottom))}.screen:has(.hold-bar){padding-bottom:calc(150px + env(safe-area-inset-bottom))}.app-shell:has(.dock) .screen:has(.hold-bar){padding-bottom:calc(230px + env(safe-area-inset-bottom))}@media(min-width:960px){.hold-bar,.app-shell:has(.dock) .hold-bar{bottom:0;padding-bottom:16px}.has-rail .hold-bar{left:232px;right:0;width:auto;margin:0}.screen:has(.hold-bar),.app-shell:has(.dock) .screen:has(.hold-bar){padding-bottom:150px}}.loading{min-height:50dvh;display:grid;place-items:center;gap:8px;color:var(--ink-soft);text-align:center}.hero-place{border-radius:28px;color:#fff;padding:28px 22px;display:flex;flex-direction:column;gap:8px}.week-nav,.split,.cal-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.month-nav{display:flex;justify-content:space-between;align-items:center;gap:12px}@media(max-width:959px){.month-nav{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"prev next" "label label";row-gap:10px}.month-nav .prev{grid-area:prev;justify-self:start}.month-nav .next{grid-area:next;justify-self:end}.month-nav strong{grid-area:label;text-align:center}}.cal-head,.cal-dow{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.cal-dow-clip{grid-template-columns:repeat(7,1fr) 44px}.cal-weeks{display:flex;flex-direction:column;gap:6px}.cal-week{display:grid;grid-template-columns:repeat(7,1fr) 44px;gap:6px;align-items:stretch}.cal-week .cal-grid{display:contents}.week-clip{width:44px;min-height:64px;border:1.5px solid transparent;border-radius:16px;display:grid;place-items:center;padding:0}.week-clip.copy{color:#0f8f84;background:#e7f7f4;border-color:#0f8f84}.week-clip.held{color:#fff;background:#0f8f84;border-color:#0f8f84;box-shadow:0 0 0 3px #0f8f8459}.week-clip.paste{color:#c2410c;background:#fff1e6;border-color:#fb923c}.week-clip:disabled{opacity:.45}.cal-dow span{text-align:center;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);font-weight:600}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.cal-cell{min-height:64px;border:0;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-weight:600;color:#fff}.cal-cell small{font-size:11px;font-weight:600;letter-spacing:.04em}.cal-cell.off{background:#c5d0d8;color:#4e5d68}.cal-cell.open{background:#0f8f84}.cal-cell.full{background:#e11d48}.cal-cell.holiday{background:#2563eb}.cal-cell.out{opacity:.38}.cal-cell.today{box-shadow:inset 0 0 0 2px #123044}.cal-cell:disabled{cursor:default}.cal-legend{display:flex;gap:14px;flex-wrap:wrap}.cal-legend i{width:12px;height:12px;border-radius:4px;display:inline-block;margin-right:6px}.cal-legend .off{background:#c5d0d8}.cal-legend .open{background:#0f8f84}.cal-legend .full{background:#e11d48}.cal-legend .holiday{background:#2563eb}.modal-back{position:fixed;inset:0;z-index:40;background:#12304475;display:grid;place-items:center;padding:18px}.modal{width:min(560px,100%);max-height:min(86vh,780px);overflow:auto;background:#fff;border-radius:24px;padding:22px;display:flex;flex-direction:column;gap:14px}.tool-row{display:flex;gap:10px;flex-wrap:wrap}.tool-btn{cursor:pointer;border:1.5px solid rgba(18,48,68,.22);background:#fff;border-radius:18px;min-width:88px;min-height:76px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:10px 14px;color:var(--ink)}.tool-btn small{font-size:12px;font-weight:600;letter-spacing:.04em}.tool-btn svg{display:block}.tool-btn.on{border-color:var(--teal);color:var(--teal);box-shadow:0 0 0 1px var(--teal)}.photo-frame,.choice-photo{width:100%;object-fit:cover;border-radius:16px;background:#d7ebe7}.photo-frame{height:180px}.choice-photo{height:150px}.note-field{display:flex;flex-direction:column;gap:6px}.note-field textarea{width:100%;min-height:110px;border:1.5px solid rgba(18,48,68,.22);border-radius:16px;padding:12px 14px;background:#fff;resize:vertical}.hero-place.has-photo{background-size:cover;background-position:center;min-height:280px;justify-content:flex-end}.time-field{display:flex;flex-direction:column;gap:6px}.time-field input[type=time]{width:100%;border:1.5px solid rgba(18,48,68,.22);background:#fff;border-radius:16px;padding:12px 14px;font-weight:600;font-size:1.2rem}.break-row{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}.break-row .btn{margin-bottom:2px}.week-list{display:flex;flex-direction:column;gap:8px}.week-day{background:#fff;border:1px solid var(--line);border-radius:18px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}.week-day.on{border-color:var(--teal)}.week-day header{display:flex;justify-content:space-between;align-items:center;gap:12px}.week-day header button.linkish{background:none;border:0;padding:0;font-weight:600}.hero-place h1{max-width:16ch}.linkish{color:var(--teal);font-weight:600;text-decoration:none}
