.admin-shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.sidebar{background:#4a2d3a;color:#f5edee;display:flex;flex-direction:column;padding:1.5rem 1rem;gap:1.5rem}.sidebar-brand{display:flex;align-items:center;gap:.75rem}.sidebar-brand p{margin:0;font-size:.8rem;opacity:.75}.brand-mark{width:2.5rem;height:2.5rem;border-radius:.75rem;background:#6b4155;display:inline-flex;align-items:center;justify-content:center;font-weight:700}.brand-logo{width:2.75rem;height:2.75rem;object-fit:contain;border-radius:.5rem;background:#4a2d3a}.sidebar-nav{display:flex;flex-direction:column;gap:.25rem;flex:1}.nav-link{padding:.65rem .75rem;border-radius:.5rem;color:#f5edeed9}.nav-link:hover{background:#ffffff14}.nav-link.active{background:#6b4155;color:#fff}.sidebar-footer{border-top:1px solid rgba(255,255,255,.12);padding-top:1rem}.user-name{margin:0;font-weight:600}.user-role{margin:.25rem 0 .75rem;font-size:.85rem;opacity:.75;text-transform:capitalize}.logout-btn{width:100%;border:1px solid rgba(255,255,255,.2);background:transparent;color:inherit;border-radius:.5rem;padding:.5rem .75rem;cursor:pointer}.logout-btn:hover{background:#ffffff14}.content{padding:2rem;background:#f5edee}.loading-screen{min-height:100vh;display:grid;place-items:center;background:#f5edee}.page-header{margin-bottom:1.5rem}.page-header h1{margin:0 0 .35rem;font-size:1.75rem}.page-header p{margin:0;color:#7a5f68}.placeholder-card{background:#fff;border:1px solid #e8e2dc;border-radius:.75rem;padding:1.25rem}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.metric-card{background:#fff;border:1px solid #e8e2dc;border-radius:.75rem;padding:1rem 1.25rem}.metric-card span{display:block;font-size:.85rem;color:#7a5f68;margin-bottom:.35rem}.metric-card strong{font-size:1.75rem;color:#4a2d3a}.login-page{min-height:100vh;display:grid;place-items:center;padding:1.5rem;background:#f5edee}.login-logo{width:7.5rem;height:auto;object-fit:contain;align-self:center;margin-bottom:.25rem}.login-card{width:min(420px,100%);background:#fff;border:1px solid #e8e2dc;border-radius:.75rem;padding:2rem;display:flex;flex-direction:column;gap:1rem}.login-card h1{margin:0}.login-card p{margin:0;color:#7a5f68}.login-form{display:flex;flex-direction:column;gap:.75rem}.login-form label{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;font-weight:500}.login-form input{border:1px solid #e8e2dc;border-radius:.5rem;padding:.65rem .75rem}.login-form button{margin-top:.5rem;border:none;border-radius:.5rem;padding:.75rem;background:#6b4155;color:#fff;cursor:pointer;font-weight:600}.login-form button:disabled{opacity:.6;cursor:not-allowed}.form-error{color:#b42318;font-size:.9rem;margin:0}.bookings-sections,.schedule-groups{display:flex;flex-direction:column;gap:1.25rem}.panel-card{background:#fff;border:1px solid #e8e2dc;border-radius:.75rem;padding:1.25rem}.panel-card h2{margin:0 0 1rem;font-size:1.1rem}.data-table th,.data-table td{text-align:left;padding:.65rem .75rem;border-bottom:1px solid #e8e2dc;vertical-align:top}.data-table th{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:#7a5f68}.family-id{font-size:.85rem;background:#f5edee;padding:.15rem .35rem;border-radius:.25rem}.notes-cell{max-width:240px;color:#7a5f68}.actions-cell{min-width:160px}.action-buttons{display:flex;gap:.5rem}.btn-approve,.btn-deny{border:none;border-radius:.5rem;padding:.4rem .65rem;font-size:.85rem;font-weight:600;cursor:pointer}.btn-approve{background:#2e7d4f;color:#fff}.btn-deny{background:#fff;color:#b42318;border:1px solid #e8e2dc}.btn-approve:disabled,.btn-deny:disabled{opacity:.6;cursor:not-allowed}.status-pill{display:inline-block;padding:.2rem .55rem;border-radius:999px;font-size:.8rem;font-weight:600;text-transform:capitalize}.status-requested{background:#ede3e5;color:#6b4155}.status-approved{background:#e6f4ec;color:#2e7d4f}.status-denied{background:#fdecea;color:#b42318}.status-completed,.status-cancelled{background:#f5edee;color:#7a5f68}.empty-message{margin:0;color:#7a5f68}.schedule-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.schedule-item{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:.75rem;border:1px solid #e8e2dc;border-radius:.5rem}.schedule-meta{margin:.25rem 0 0;font-size:.85rem;color:#7a5f68}.schedule-notes{margin:.35rem 0 0;font-size:.9rem;color:#7a5f68}@media(max-width:768px){.admin-shell{grid-template-columns:1fr}.sidebar{padding:1rem}.sidebar-nav{flex-direction:row;flex-wrap:wrap}.schedule-item{flex-direction:column}}.invoicing-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.primary-btn{border:none;border-radius:.5rem;padding:.65rem 1rem;background:#6b4155;color:#fff;cursor:pointer;font-weight:600;white-space:nowrap}.primary-btn:disabled{opacity:.6;cursor:not-allowed}.notice-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding:.75rem 1rem;border-radius:.5rem;background:#ede3e5;border:1px solid #DDD0D3;color:#4a2d3a}.notice-dismiss{border:none;background:transparent;color:#6b4155;cursor:pointer;font-weight:600}.invoicing-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.tab-group{display:inline-flex;border:1px solid #e8e2dc;border-radius:.5rem;overflow:hidden;background:#fff}.tab{border:none;background:transparent;padding:.5rem 1rem;cursor:pointer;color:#7a5f68}.tab.active{background:#6b4155;color:#fff}.filter-select{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#7a5f68}.filter-select select{border:1px solid #e8e2dc;border-radius:.5rem;padding:.45rem .65rem;background:#fff}.data-card{background:#fff;border:1px solid #e8e2dc;border-radius:.75rem;padding:1rem 1.25rem}.error-card{border-color:#f4c7c3;color:#b42318}.muted{margin:0;color:#7a5f68}.table-meta{margin:0 0 .75rem;font-size:.85rem;color:#7a5f68}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:.95rem}.data-table th,.data-table td{text-align:left;padding:.65rem .5rem;border-bottom:1px solid #f0ebe6}.data-table th{font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;color:#7a5f68}.data-table tbody tr:last-child td{border-bottom:none}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem}.status-badge{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:.8rem;font-weight:600;text-transform:capitalize}.status-pending,.status-past-due{background:#fff4e5;color:#9a6700}.status-paid,.status-succeeded,.status-active,.status-trialing{background:#e6f4ea;color:#2e7d4f}.status-overdue,.status-failed{background:#fdecea;color:#b42318}.status-cancelled,.status-refunded{background:#f0ebe6;color:#7a5f68}.content-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.content-tab{border:1px solid #e8e2dc;background:#fff;color:#7a5f68;border-radius:.5rem;padding:.5rem 1rem;cursor:pointer;font-weight:500}.content-tab.active{background:#6b4155;border-color:#6b4155;color:#fff}.content-grid{display:grid;grid-template-columns:minmax(280px,360px) 1fr;gap:1.5rem;align-items:start}.content-form,.content-list{background:#fff;border:1px solid #e8e2dc;border-radius:.75rem;padding:1.25rem}.content-form{display:flex;flex-direction:column;gap:.75rem}.content-form h3,.content-list h3{margin:0 0 .5rem}.content-form label{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;font-weight:500}.content-form input,.content-form textarea,.content-form select{border:1px solid #e8e2dc;border-radius:.5rem;padding:.65rem .75rem}.checkbox-label{flex-direction:row!important;align-items:center;gap:.5rem!important;font-weight:400!important}.content-form button{margin-top:.25rem;border:none;border-radius:.5rem;padding:.75rem;background:#6b4155;color:#fff;cursor:pointer;font-weight:600}.content-form button:disabled{opacity:.6;cursor:not-allowed}.content-item{border-top:1px solid #e8e2dc;padding:1rem 0}.content-item:first-of-type{border-top:none;padding-top:0}.content-item p{margin:.35rem 0;color:#7a5f68}.content-item a{font-size:.85rem;color:#6b4155;word-break:break-all}.content-meta{font-size:.85rem}.content-loading,.content-empty{color:#7a5f68}.schedule-day-header{display:flex;align-items:baseline;gap:.75rem;margin-bottom:.75rem}.schedule-day-header h2{margin:0;flex:1}.schedule-day.is-today{border-color:#6b4155;box-shadow:0 0 0 1px #4a2d3a26}.today-badge{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;background:#6b4155;color:#fff;border-radius:999px;padding:.2rem .55rem}.split-panels{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;align-items:start}.selectable-list{list-style:none;margin:0 0 1.25rem;padding:0;display:flex;flex-direction:column;gap:.35rem;max-height:22rem;overflow:auto}.list-item{width:100%;text-align:left;border:1px solid #e8e2dc;background:#fff;border-radius:.5rem;padding:.75rem .85rem;cursor:pointer;display:flex;flex-direction:column;gap:.2rem}.list-item.active{border-color:#6b4155;background:#ede3e5}.stack-form{display:flex;flex-direction:column;gap:.75rem;margin-top:.75rem}.stack-form label{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem}.stack-form input,.stack-form select{border:1px solid #d9d0c8;border-radius:.5rem;padding:.55rem .65rem;background:#fff}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem}.detail-list{margin:0 0 1rem;display:grid;gap:.75rem}.detail-list dt{font-size:.8rem;color:#7a5f68}.detail-list dd{margin:.15rem 0 0}.simple-list{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-direction:column;gap:.5rem}.list-row{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.secondary-btn{border:1px solid #d9d0c8;background:#fff;border-radius:.5rem;padding:.45rem .75rem;cursor:pointer}.primary-btn{border:none;border-radius:.5rem;padding:.65rem .9rem;background:#6b4155;color:#fff;cursor:pointer;font-weight:600}.primary-btn:disabled,.secondary-btn:disabled{opacity:.6;cursor:not-allowed}.muted{color:#7a5f68;font-size:.85rem}@media(max-width:900px){.content-grid,.split-panels,.admin-shell{grid-template-columns:1fr}}.calendar-card{background:#fff;border:1px solid #e8e2dc;border-radius:.75rem;padding:1.25rem;margin-bottom:1.25rem}.calendar-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.calendar-month-label{margin:0;font-size:1.15rem;color:#4a2d3a}.calendar-nav-btn{width:2rem;height:2rem;border-radius:999px;border:1px solid #e8e2dc;background:#f5edee;color:#4a2d3a;font-size:1.1rem;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.calendar-nav-btn:hover{background:#ede3e5}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:.35rem}.calendar-weekdays span{text-align:center;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:#7a5f68}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem}.calendar-cell{aspect-ratio:1;border:1px solid transparent;background:transparent;border-radius:.5rem;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;padding:.25rem;font-family:inherit}.calendar-cell:hover{background:#f5edee}.calendar-cell.is-today{border-color:#9b7080;background:#f5edee}.calendar-cell.is-selected{background:#4a2d3a;border-color:#4a2d3a}.calendar-cell.is-selected .calendar-day-number{color:#fff;font-weight:600}.calendar-cell.is-outside .calendar-day-number{color:#c7bcbf}.calendar-day-number{font-size:.9rem;color:#2c1a24}.calendar-dots{display:flex;gap:.2rem;min-height:6px}.calendar-dot{width:6px;height:6px;border-radius:999px}.schedule-day-actions{display:flex;gap:.5rem;margin-top:.5rem;flex-wrap:wrap}.btn-cancel{border:1px solid #f4c7c3;background:#fff;color:#b42318;border-radius:.5rem;padding:.4rem .65rem;font-size:.85rem;font-weight:600;cursor:pointer}.btn-reschedule{border:1px solid #e8e2dc;background:#fff;color:#4a2d3a;border-radius:.5rem;padding:.4rem .65rem;font-size:.85rem;font-weight:600;cursor:pointer}.btn-cancel:disabled,.btn-reschedule:disabled{opacity:.6;cursor:not-allowed}.reschedule-form{display:flex;align-items:flex-end;gap:.75rem;flex-wrap:wrap;margin-top:.65rem;padding-top:.65rem;border-top:1px solid #f0ebe6}.reschedule-form label{display:flex;flex-direction:column;gap:.25rem;font-size:.8rem;color:#7a5f68}.reschedule-form input[type=date]{border:1px solid #e8e2dc;border-radius:.5rem;padding:.4rem .55rem}.form-subheading{margin:.5rem 0 0;font-size:.9rem;color:#7a5f68;text-transform:uppercase;letter-spacing:.03em}.form-actions{display:flex;gap:.5rem;margin-top:.25rem}.status-ask-open{background:#fff4e5;color:#9a6700}.status-ask-answered{background:#e6f4ea;color:#2e7d4f}.status-ask-archived{background:#f0ebe6;color:#7a5f68}.subscribe-page{min-height:100vh;background:#f5edee;padding:2.5rem 1.5rem 4rem;display:flex;flex-direction:column;gap:2.5rem;align-items:center}.subscribe-header{max-width:640px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.5rem}.subscribe-logo{width:5rem;height:auto;object-fit:contain;margin-bottom:.5rem}.subscribe-header h1{margin:0;color:#4a2d3a}.subscribe-header p{margin:0;color:#7a5f68}.subscribe-section{width:100%;max-width:960px}.subscribe-section h2{margin:0 0 1rem;color:#4a2d3a;font-size:1.1rem}.subscribe-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem}.subscribe-card{position:relative;background:#fff;border:1px solid #e8e2dc;border-radius:.9rem;padding:1.5rem;display:flex;flex-direction:column;gap:.6rem}.subscribe-badge{align-self:flex-start;background:#6b4155;color:#fff;font-size:.75rem;font-weight:600;padding:.2rem .6rem;border-radius:999px}.subscribe-card h3{margin:0;color:#2c1a24}.subscribe-description{margin:0;color:#7a5f68;font-size:.9rem}.subscribe-price{margin:.25rem 0 0;display:flex;align-items:baseline;gap:.4rem;flex-wrap:wrap}.subscribe-price strong{font-size:1.6rem;color:#4a2d3a}.subscribe-interval{color:#7a5f68;font-size:.9rem}.subscribe-was-price{color:#9b7080;text-decoration:line-through;font-size:.9rem}.subscribe-perk{margin:0;color:#2e7d4f;font-size:.85rem;font-weight:600}.subscribe-checkout-form{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.subscribe-email-label{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;color:#7a5f68}.subscribe-email-label input{border:1px solid #e8e2dc;border-radius:.5rem;padding:.55rem .65rem}.subscribe-session-result{margin-top:.5rem;padding:.75rem;border-radius:.5rem;background:#ede3e5;display:flex;flex-direction:column;gap:.35rem;font-size:.9rem}.subscribe-session-result a{color:#6b4155;font-weight:600}.subscribe-account-cta{width:100%;max-width:640px;background:#fff;border:1px solid #e8e2dc;border-radius:.9rem;padding:1.5rem;text-align:center;display:flex;flex-direction:column;gap:.5rem}.subscribe-account-cta h2{margin:0;color:#4a2d3a}.subscribe-account-cta p{margin:0;color:#7a5f68}.subscribe-demo-note{font-size:.8rem;font-style:italic}.subscribe-footer{display:flex;gap:.5rem;align-items:center;color:#7a5f68;font-size:.85rem}.subscribe-footer a{color:#6b4155}:root{font-family:Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.5;font-weight:400;color:#2c1a24;background-color:#f5edee;--color-plum: #4A2D3A;--color-plum-mid: #6B4155;--color-plum-light: #9B7080;--color-blush-bg: #F5EDEE;--color-blush-card: #EDE3E5;--color-blush-deep: #DDD0D3;--color-text: #2C1A24;--color-text-muted: #7A5F68;--color-cream: #F7F4F2;--color-brand: #655858;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-height:100vh}a{color:inherit;text-decoration:none}button,input{font:inherit}#root{min-height:100vh}
