:root{--surface-page: #f6f6f5;--surface-card: #ffffff;--text-heading: #121212;--text-body: #4f4f4f;--text-muted: #767676;--text-eyebrow: #6f4f18;--ochre-800: #6f4f18;--action-primary: #8a6320;--border-hairline: #ededec;--shadow-rest: 0 18px 40px -24px rgba(18, 18, 18, .16);--shadow-hover: 0 22px 48px -20px rgba(18, 18, 18, .22);--ease-motion: cubic-bezier(.2, .6, .2, 1);--radius-card: 20px;--radius-field: 10px;--radius-pill: 999px;--content-max: 1040px;--font-display: "Playfair Display", Georgia, serif;--font-body: Arimo, "Segoe UI", sans-serif;color:var(--text-body);background:var(--surface-page);font-family:var(--font-body);line-height:1.7}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none;transition:color .2s var(--ease-motion)}a:hover{color:var(--action-primary)}a:focus-visible,button:focus-visible{outline:2px solid var(--action-primary);outline-offset:3px}.app-shell{width:min(var(--content-max),calc(100% - 40px));margin:0 auto;padding:32px 0 64px}html,body{overflow-x:clip}.app-header{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:32px}.app-header h1{margin:0;font-family:var(--font-display);font-weight:400;font-size:clamp(2rem,5vw,3.5rem);color:var(--text-heading);line-height:1.1;letter-spacing:-.02em}.eyebrow{margin:0 0 24px;color:var(--text-eyebrow);font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.app-nav{display:flex;gap:16px;color:var(--text-muted)}.grid{display:grid;gap:28px}.card{padding:24px;border:1px solid var(--border-hairline);border-radius:var(--radius-card);background:var(--surface-card);box-shadow:var(--shadow-rest);transition:box-shadow .2s var(--ease-motion)}.card:hover{box-shadow:var(--shadow-hover)}.card h2{margin-top:0;font-family:var(--font-display);font-weight:400;color:var(--text-heading)}.resource-list,.slot-grid,.form{display:grid;gap:12px}.resource,.slot,.primary,.actions button{border:1px solid var(--border-hairline);border-radius:16px;background:var(--surface-card);cursor:pointer;transition:background .2s var(--ease-motion),border-color .2s var(--ease-motion),box-shadow .2s var(--ease-motion),transform .2s var(--ease-motion)}.resource{padding:16px;text-align:left;min-height:44px}.resource span{display:block;color:var(--text-muted)}.resource.active,.slot.active{border-color:var(--action-primary);box-shadow:0 0 0 1px var(--action-primary)}.slot-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}.kind-toggle{display:grid;grid-template-columns:1fr 1fr;gap:8px}.kind{border:1px solid var(--border-hairline);border-radius:var(--radius-field);background:var(--surface-card);padding:12px 16px;min-height:44px;cursor:pointer;font:inherit;color:var(--text-body)}.kind.active{border-color:var(--action-primary);color:var(--text-heading);box-shadow:0 0 0 1px var(--action-primary)}.field-row{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.weekday-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.weekday{display:inline-flex;align-items:center;gap:6px;color:var(--text-body)}.check{display:flex;align-items:center;gap:8px;margin:8px 0 12px}.event-fields{display:grid;gap:12px;margin-bottom:12px;padding:12px;border:1px solid var(--border-hairline);border-radius:var(--radius-field);background:var(--surface-page)}.slot{padding:12px;min-height:44px}.slot:disabled{opacity:.45;cursor:not-allowed}.slot-busy{pointer-events:none}.slot-label{display:block;margin-top:4px;font-size:.75rem;color:var(--text-muted)}.field{display:grid;gap:8px}.field input,.field textarea{width:100%;padding:12px 14px;border:1px solid var(--border-hairline);border-radius:var(--radius-field);font:inherit;background:var(--surface-card);color:var(--text-heading)}.primary{padding:14px 18px;min-height:44px;border-radius:var(--radius-pill);border-color:var(--action-primary);background:var(--action-primary);color:#fff;font-weight:700}.primary:hover{background:var(--ochre-800)}.primary:active{transform:scale(.98)}.primary:disabled{opacity:.5;cursor:not-allowed}.muted,.success,.error{margin-top:16px}.muted{color:var(--text-muted)}.success{color:#17653a}.error{color:#9f2d2d}.book-success-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding:20px}.book-success-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:0;padding:0;margin:0;background:#1c19146b;cursor:pointer}.book-success-dialog{position:relative;z-index:1;width:min(100%,420px);padding:28px 24px;border:1px solid var(--border-hairline);border-radius:var(--radius-card);background:var(--surface-card);display:grid;gap:12px}.book-success-dialog h2{margin:0;font-size:1.45rem;color:var(--text-heading)}.book-success-dialog p{margin:0;color:var(--text-muted)}.book-success-dialog .primary{justify-self:start;margin-top:8px}.admin-card{overflow:hidden}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:12px;border-bottom:1px solid var(--border-hairline);text-align:left;vertical-align:top}.actions{display:flex;gap:8px;flex-wrap:wrap}.actions button{padding:8px 12px;min-height:44px}@media (prefers-reduced-motion: reduce){a,.card,.resource,.slot,.primary,.actions button{transition:none!important}.primary:active{transform:none}}@media (max-width: 760px){.app-shell{width:min(100% - 40px,var(--content-max));padding:20px 0 48px}.app-header{display:block}.app-nav{margin-top:16px;flex-wrap:wrap;gap:12px}.card{padding:18px}.slot-grid{grid-template-columns:repeat(auto-fill,minmax(84px,1fr))}.field input,.field textarea{font-size:16px}}
