:root{--ink: #2f2c29;--body: #636363;--muted: #8f887f;--accent: #a1793f;--accent-deep: #8a6633;--wash: #dcebef;--wash-soft: #eef6f8;--bg: #faf8f4;--card: #ffffff;--border: #ece4d6}*{box-sizing:border-box}body{margin:0;font-family:Raleway,Helvetica Neue,Arial,sans-serif;color:var(--body);background:var(--bg)}h1,h2{font-family:Sail,cursive;font-weight:400;color:var(--accent);margin:0 0 .5em}h1{font-size:2.6rem;line-height:1.15}h2{font-size:1.7rem;line-height:1.2}h3{margin:0 0 .9rem;font-family:Raleway,sans-serif;font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}a{color:var(--accent-deep)}.accent{color:var(--accent)}.app{max-width:1080px;margin:0 auto;padding:0 0 3rem}.app-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border);background:var(--card)}.brand-logo{display:block;line-height:0}.brand-logo img{height:48px;width:auto;display:block}.main-nav{display:flex;align-items:center;gap:2rem}.main-nav a{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--body);text-decoration:none;padding-bottom:3px;border-bottom:1px solid transparent}.main-nav a:hover{color:var(--accent-deep)}.main-nav a.active{color:var(--accent-deep);border-bottom-color:var(--accent-deep)}main{padding:0 1.25rem;margin-top:1.75rem}.app-footer{margin-top:3rem;background:var(--accent-deep);padding:1.4rem 1.25rem;display:flex;flex-wrap:wrap;gap:.4rem 1.5rem;align-items:center;justify-content:space-between}.app-footer span,.app-footer a{color:#fff;opacity:.92;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;text-decoration:none}.hero{position:relative;overflow:hidden;text-align:center;padding:3.5rem 1.5rem 3rem;margin:-1.75rem -1.25rem 2.5rem;background:linear-gradient(180deg,var(--wash-soft) 0%,var(--bg) 100%)}.hero:before{content:"";position:absolute;top:-140px;left:50%;transform:translate(-50%);width:720px;height:420px;background:radial-gradient(closest-side,var(--wash) 0%,rgba(220,235,239,0) 72%)}.hero>*{position:relative}.hero-eyebrow{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent-deep);margin-bottom:.9rem}.hero h1{margin:0 auto 1.1rem;max-width:640px}.hero-copy{max-width:520px;margin:0 auto 1.6rem;font-size:1.02rem;line-height:1.6}.hero-note{margin:1.1rem 0 0;font-size:.8rem;color:var(--muted)}.testimonial{text-align:center;padding:3rem 1.5rem;margin:2.5rem -1.25rem 0;background:var(--wash-soft)}.testimonial-mark{font-family:Sail,cursive;font-size:2.4rem;color:var(--accent);line-height:1;margin-bottom:.25rem}.testimonial-quote{max-width:520px;margin:0 auto .6rem;font-style:italic;color:var(--ink);font-size:1.02rem}.testimonial-attr{margin:0;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem}.plan-card{position:relative;padding:0;overflow:hidden;display:flex;flex-direction:column}.plan-card-featured{border-color:var(--accent);box-shadow:0 12px 28px #a1793f24}.plan-badge{position:absolute;top:14px;right:-32px;transform:rotate(40deg);background:var(--accent-deep);color:#fff;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;padding:4px 36px;z-index:1}.plan-photo{height:168px;display:flex;align-items:center;justify-content:center;text-align:center;padding:0 1.2rem;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}.plan-photo-bloom{background:linear-gradient(135deg,#eef1e6,#dce4c8);color:#8a9470}.plan-photo-signature{background:linear-gradient(135deg,#f3e6d8,#e9cba3);color:var(--accent)}.plan-photo-celebrate{background:linear-gradient(135deg,#f3e8ea,#e7c9d1);color:#a1707e}.plan-card-body{padding:1.35rem 1.4rem 1.5rem;display:flex;flex-direction:column;gap:.65rem;flex-grow:1}.plan-card-body h2{font-size:1.7rem;margin:0}.feature-list{list-style:none;margin:.1rem 0 0;padding:0;display:flex;flex-direction:column;gap:.4rem}.feature-list li{font-size:.82rem;color:var(--body);padding-left:1.1rem;position:relative}.feature-list li:before{content:"●";position:absolute;left:0;color:var(--accent-deep);font-size:.6rem;top:.3em}.plan-card-body .button,.plan-card-body .button-outline{margin-top:auto;text-align:center}.card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:1.25rem}.card h2{margin-top:0;font-size:1.4rem}.price{font-size:1.35rem;font-weight:600;color:var(--ink)}.price span{font-size:.8rem;font-weight:400;color:var(--muted)}.detail{color:var(--muted);font-size:.88rem}.button,.button-outline{display:inline-block;padding:.7rem 1.4rem;font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;border-radius:3px;border:1px solid var(--accent-deep)}.button{background:var(--accent-deep);color:#fff}.button:hover{filter:brightness(1.08)}.button-outline{background:transparent;color:var(--accent-deep)}.button-outline:hover{background:var(--wash-soft)}.button-muted{background:transparent;border:1px solid var(--border);color:var(--body)}.button-muted:hover{background:var(--wash-soft);border-color:var(--border)}.checkout{max-width:560px;margin:0 auto}.form fieldset{border:0;border-top:1px solid var(--border);margin:0 0 .75rem;padding:.9rem 0 0}.form legend{font-family:Raleway,sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);padding-right:.5rem}.form label{display:block;margin-bottom:.6rem;font-size:.95rem}.form label.radio{font-weight:400}.form input:not([type=radio]),.form textarea,.form select{display:block;width:100%;margin-top:.3rem;padding:.6rem .7rem;font:inherit;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--ink)}.form input:not([type=radio]):focus,.form textarea:focus,.form select:focus{outline:none;border-color:var(--accent-deep)}.form textarea{resize:vertical}.form .row{display:grid;grid-template-columns:2fr 1fr 1fr;gap:.6rem}.form .occasion-row{grid-template-columns:1fr 1.4fr}.form button{border:0;cursor:pointer;font:inherit;margin-top:.5rem}.form button:disabled{opacity:.6;cursor:default}.form fieldset:has(>label.radio){display:flex;flex-wrap:wrap;align-items:stretch;gap:.7rem}.form fieldset:has(>label.radio)>legend,.form fieldset:has(>label.radio)>p.detail{flex-basis:100%}.form label.radio{display:flex;align-items:center;gap:.55rem;width:auto;margin:0;padding:.65rem 1rem;border:1px solid var(--border);border-radius:8px;cursor:pointer}.form label.radio:has(input:checked){border-color:var(--accent-deep);background:var(--wash-soft)}.form label.radio input{accent-color:var(--accent-deep);margin:0}.error{color:#a4433a}.success{color:#5c7a4a;font-weight:700}.loading{color:var(--muted)}.checkout .card{margin-bottom:1rem}.card h3{margin-top:0}.card .button{border:0;cursor:pointer;font:inherit}.date-select{display:block;width:100%;margin:.25rem 0 .75rem;padding:.5rem .6rem;font:inherit;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--ink)}.datepicker{position:relative;margin-top:.25rem}.datepicker-field{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;padding:.6rem .7rem;font:inherit;text-align:left;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--ink);cursor:pointer}.datepicker-placeholder{color:var(--muted)}.datepicker-caret{color:var(--muted);font-size:.8em}.datepicker.compact{display:inline-block;margin:.15rem .3rem .15rem 0}.datepicker.compact .datepicker-field{width:auto;font-size:.8rem;padding:.25rem .6rem}.datepicker-pop{position:absolute;z-index:40;top:calc(100% + 4px);left:0;width:292px;max-width:90vw;padding:.75rem;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 10px 28px #2c2a2829}.datepicker.compact .datepicker-pop{left:auto;right:0}.dp-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem;font-family:Raleway,sans-serif}.dp-head strong{font-size:.85rem;letter-spacing:.04em}.dp-nav{font:inherit;font-size:1.1rem;line-height:1;width:2rem;height:2rem;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--ink);cursor:pointer}.dp-nav:disabled{opacity:.35;cursor:default}.dp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.dp-dow{font-size:.7rem;color:var(--muted);text-align:center;padding-bottom:.2rem}.dp-day{aspect-ratio:1;border:0;border-radius:6px;background:transparent;font:inherit;font-size:.85rem;color:#c9c2b9;cursor:default;position:relative}.dp-day.available{background:var(--wash-soft);color:var(--ink);font-weight:700;cursor:pointer}.dp-day.available:hover{background:var(--wash)}.dp-day.low.available:after{content:"";position:absolute;left:50%;bottom:4px;transform:translate(-50%);width:4px;height:4px;border-radius:50%;background:#c98a3d}.dp-day.selected,.dp-day.selected:hover{background:var(--accent-deep);color:#fff}.dp-hint{margin:.6rem 0 0;font-size:.75rem;color:var(--muted)}.occasions{list-style:none;margin:0 0 1rem;padding:0}.occasion{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.5rem;padding:.7rem 0;border-bottom:1px solid var(--border)}.occasion:last-child{border-bottom:0}.occasion .detail{margin:.15rem 0 0}.occasion-side{text-align:right;white-space:nowrap}.same-as-last{border:1px solid var(--border);border-radius:6px;padding:.6rem .75rem}.same-as-last p{margin:0 0 .4rem}.nudge{text-align:center;margin-top:1.5rem}.admin-tabs{display:flex;gap:.5rem;margin-bottom:1.25rem}.tab{font:inherit;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;padding:.5rem 1.1rem;border:1px solid var(--border);border-radius:6px;background:var(--card);color:var(--ink);cursor:pointer}.tab.active{background:var(--accent-deep);border-color:var(--accent-deep);color:#fff}.admin-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.admin-toolbar select{font:inherit;padding:.4rem .5rem;border:1px solid var(--border);border-radius:6px;background:#fff}.admin-toolbar .button{border:0;cursor:pointer;font:inherit}.admin h3{margin:1.5rem 0 .5rem}.admin-table{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--border);border-radius:10px;font-size:.92rem}.admin-table th,.admin-table td{text-align:left;vertical-align:top;padding:.6rem .7rem;border-bottom:1px solid var(--border)}.admin-table th{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.admin-table tr:last-child td{border-bottom:0}.row-done{opacity:.55}.status{display:inline-block;font-size:.72rem;letter-spacing:.03em;padding:.15rem .55rem;border-radius:999px;background:var(--border);margin-right:.4rem}.status-active,.status-paid,.status-charged,.status-delivered,.status-confirmed{background:#dbe5cd}.status-past_due,.status-payment_failed{background:#f3cdc8}.status-paused,.status-pending,.status-pending_card,.status-incomplete{background:#f0e6c8}.status-canceled,.status-skipped{background:var(--border)}.actions-cell .mini,.mini{display:inline-block;font:inherit;font-size:.76rem;margin:.15rem .3rem .15rem 0;padding:.3rem .65rem;border:1px solid var(--border);border-radius:6px;background:#fff;cursor:pointer}.mini.danger{color:#a4433a;border-color:#d9b1ac}.mini-select{font:inherit;font-size:.8rem;padding:.25rem .3rem;margin:.15rem .3rem .15rem 0;border:1px solid var(--border);border-radius:6px;background:#fff;max-width:9rem}.notes-input{width:100%;min-width:8rem;font:inherit;font-size:.85rem;padding:.3rem .4rem;border:1px solid var(--border);border-radius:6px}.customer-note{margin:0 0 .4rem;font-size:.85rem}.customer-note-label{display:block;font-size:.7rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.settings-form{max-width:640px}.settings-form .rules-row{grid-template-columns:1.6fr 1fr 1.2fr 1.2fr}.settings-form .fees-row{grid-template-columns:1fr 1fr}.print-only{display:none}@media print{.no-print,.app-header,.app-footer,.admin-tabs{display:none!important}.print-only{display:block}body{background:#fff}.admin-table{border:1px solid #999;font-size:11pt}.admin-table th,.admin-table td{border-bottom:1px solid #999}}
