:root{--bg:#f4efe6;--panel:#fff9ef;--panel-2:#f8ebd2;--ink:#1f1912;--muted:#6f6458;--accent:#c67c2f;--accent-ink:#fffaf2;--danger:#b2352f;--border:#e7d6bf}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%;color:var(--ink);background:radial-gradient(circle at 10% 20%,#fff7ea 0,transparent 36%),radial-gradient(circle at 90% 5%,#f3dfbf 0,transparent 30%),var(--bg);font-family:Avenir Next,Segoe UI,sans-serif}a{color:inherit}main.page{max-width:1080px;margin:0 auto;padding:24px;display:grid;grid-gap:18px;gap:18px}.card{background:linear-gradient(180deg,var(--panel),var(--panel-2));border:1px solid var(--border);border-radius:14px;padding:16px;box-shadow:0 8px 20px rgba(47,35,22,.08)}h1,h2,h3{margin:0;font-weight:700}h1{font-size:30px;letter-spacing:.4px}h2{font-size:20px}h3{font-size:16px}label,li,p,small{color:var(--ink)}.muted,small.muted{color:var(--muted)}.grid{display:grid;grid-gap:14px;gap:14px}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.row,form.inline{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.row.between,.row.spread{justify-content:space-between}.stack-sm{gap:6px}.stack-sm,.stack-xs{display:flex;flex-direction:column}.stack-xs{gap:2px}.header-row{justify-content:space-between}button,input,select,textarea{font:inherit}input,select,textarea{width:100%;background:#fffdfa;border:1px solid #dcc6a4;border-radius:9px;padding:10px 12px}input[type=checkbox],input[type=radio]{width:auto;padding:0;border:0;border-radius:0;background:transparent;flex-shrink:0}button{border:0;border-radius:10px;background:var(--accent);color:var(--accent-ink);padding:10px 14px;font-weight:600;cursor:pointer}button.ghost{background:#f4dfbe;color:#4c3517}button.danger{background:var(--danger);color:#fffaf5;border:1px solid #8f2823;font-weight:700;letter-spacing:.1px}button.danger:hover{background:#9f2b25}button.danger:focus-visible{outline:2px solid #4d90fe;outline-offset:1px}.reset-link{display:inline-flex;align-items:center;padding:10px 12px;border-radius:10px;text-decoration:none;color:#4c3517;background:#f4dfbe}.list{display:grid;grid-gap:10px;gap:10px}.item{border:1px solid var(--border);border-radius:10px;padding:12px;background:#fffdf9}.badge{display:inline-block;border-radius:999px;padding:3px 9px;font-size:12px;background:#f0d7b2;color:#5a3e1b}.flash-err,.flash-ok,.flash-warn{border-radius:10px;padding:11px;font-weight:600}.flash-ok{background:#d9f5df;color:#145823}.flash-err{background:#f9dfdc;color:#7c1914}.flash-warn{background:#fef3c7;color:#92400e}.agenda-grid{margin-top:12px;display:grid;grid-gap:10px;gap:10px}.agenda-grid-month,.agenda-grid-week{grid-template-columns:repeat(7,minmax(0,1fr))}.agenda-grid-agenda,.agenda-grid-day{grid-template-columns:1fr}.agenda-day{border:1px solid var(--border);border-radius:10px;background:#fffdf9;padding:8px;min-height:120px}.agenda-day-header{margin-bottom:6px}.agenda-day-header h3{margin:0;font-size:20px;line-height:1.05}.agenda-empty{margin:6px 0 0}.agenda-events{align-content:start}.agenda-event-shell,.agenda-events{display:grid;grid-gap:4px;gap:4px}.agenda-more-link{display:inline-flex;align-items:center;justify-content:center;min-height:34px;border:1px dashed #d2b184;border-radius:9px;background:#fff7eb;color:#8c5a12;text-decoration:none;font-weight:700;font-size:13px}.agenda-more-link:hover{background:#f8e6cb}.agenda-event{display:grid;grid-gap:3px;gap:3px;border:1px solid #e8dbc8;border-radius:9px;background:#fffaf2;padding:6px 7px}.event-title{margin:0;font-size:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.event-meta,.event-title{line-height:1.05;overflow:hidden}.event-meta{display:block;font-size:10px;white-space:nowrap;text-overflow:ellipsis;max-width:100%}.agenda-event p.muted{margin:0;font-size:10px;line-height:1.05}.agenda-event .row{gap:3px}.meta-icon{margin-right:4px}.agenda-event .occ-badge,.agenda-event .status-badge{font-size:9px;padding:1px 6px;line-height:1.05}.agenda-event-hover-actions{display:flex;flex-wrap:wrap;gap:4px;max-height:0;opacity:0;overflow:hidden;pointer-events:none;transition:max-height .15s ease,opacity .15s ease}.agenda-event-shell:focus-within .agenda-event-hover-actions,.agenda-event-shell:hover .agenda-event-hover-actions{max-height:120px;opacity:1;pointer-events:auto}.agenda-event-action{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border-radius:999px;border:1px solid #d2b184;background:#fff2dd;color:#5a3b16;text-decoration:none;font-size:11px;font-weight:700}.agenda-event-action.icon{width:28px;min-width:28px;height:28px;padding:0;border-radius:8px;font-size:14px}.agenda-event-action:hover{background:#f2d6ab}.agenda-event-action.danger{border-color:#ce8b8b;background:#fbe5e5;color:#7c1914}.agenda-event-action.danger:hover{background:#f2c9c9}.agenda-event-completed{background:#eceff3;border-color:#c9d1da}.agenda-event-completed .event-meta,.agenda-event-completed .event-title,.agenda-event-completed p.muted{color:#585858}.agenda-event-cancelled{background:#fde9e7;border-color:#e6b1ab}.agenda-event-cancelled .event-meta,.agenda-event-cancelled .event-title,.agenda-event-cancelled p.muted{color:#7c1914}.agenda-grid-month .month-day-card{min-height:188px;max-height:216px;padding:10px;border:1px solid #e6e8ee;border-radius:12px;background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.05);overflow:hidden;display:flex;flex-direction:column;gap:8px}.agenda-grid-month .month-day-card.today{border-color:#d4af37;background:#fffcf3}.month-day-card-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.month-day-card-header h3{margin:0;font-size:14px;line-height:1;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.month-day-card-today-dot{width:7px;height:7px;border-radius:999px;background:#d4af37;flex-shrink:0}.month-day-card-body{min-height:0;display:flex;flex-direction:column;gap:4px;flex:1 1}.month-day-card-events{display:grid;grid-gap:4px;gap:4px;min-height:0;flex:1 1;align-content:start;overflow:hidden;scrollbar-width:thin;scrollbar-color:#c8ced9 transparent}.agenda-grid-month .month-day-card:focus-within .month-day-card-events,.agenda-grid-month .month-day-card:hover .month-day-card-events{overflow:auto}.month-day-card-more{min-height:18px;border:1px solid #d5dbe6;border-radius:999px;padding:0 7px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-size:10px;font-weight:600;color:#425166;background:#f9fafc;width:-moz-fit-content;width:fit-content;margin-top:auto}.month-day-card-more:hover{background:#f0f3f8}.month-day-card-more:focus-visible{outline:2px solid #d4af37;outline-offset:2px}.month-event-chip{display:grid;grid-gap:2px;gap:2px;border:1px solid #e6e9f1;border-radius:9px;background:#fff;padding:4px 6px;text-decoration:none;color:inherit;min-width:0}.month-event-chip.has-location-cue{padding-left:9px}.month-event-chip.has-location-cue.location-tone-1{box-shadow:inset 4px 0 0 #2f6fdf}.month-event-chip.has-location-cue.location-tone-2{box-shadow:inset 4px 0 0 #1f8a70}.month-event-chip.has-location-cue.location-tone-3{box-shadow:inset 4px 0 0 #c46a1e}.month-event-chip.has-location-cue.location-tone-4{box-shadow:inset 4px 0 0 #8d5cf6}.month-event-chip.has-location-cue.location-tone-5{box-shadow:inset 4px 0 0 #c44b7a}.month-event-chip.has-location-cue.location-tone-6{box-shadow:inset 4px 0 0 #1481a8}.agenda-grid-month .month-event-chip.compact{gap:1px;padding:3px 5px;border-radius:8px}.agenda-grid-month .month-event-chip.compact.has-location-cue{padding-left:8px}.month-event-chip:hover{border-color:#d2d9e6;background:#fbfcff}.month-event-chip:focus-visible{outline:2px solid #d4af37;outline-offset:1px}.month-event-chip-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.month-event-chip-time{font-family:Avenir Next,Segoe UI,sans-serif;font-size:12px;font-weight:600;color:#1f2a37;white-space:nowrap}.month-event-chip-badges{gap:4px;min-width:0;flex-wrap:nowrap;overflow:hidden}.month-badge,.month-event-chip-badges{display:inline-flex;align-items:center;white-space:nowrap}.month-badge{height:18px;border-radius:999px;padding:0 8px;justify-content:center;font-size:11px;font-weight:700;line-height:1}.agenda-grid-month .month-event-chip.compact .month-event-chip-meta{gap:6px}.agenda-grid-month .month-event-chip.compact .month-event-chip-time{font-size:11px}.agenda-grid-month .month-event-chip.compact .month-event-chip-badges{gap:3px}.agenda-grid-month .month-event-chip.compact .month-badge{height:16px;padding:0 6px;font-size:10px}.month-badge-type{background:#ebf2ff;color:#1d4d7a}.month-badge-location{max-width:88px;overflow:hidden;text-overflow:ellipsis}.month-badge-location.location-tone-1{background:#e9f1ff;color:#1c4fa8}.month-badge-location.location-tone-2{background:#e7f7f2;color:#176754}.month-badge-location.location-tone-3{background:#fff0df;color:#9a5616}.month-badge-location.location-tone-4{background:#f1eaff;color:#6540c8}.month-badge-location.location-tone-5{background:#fde8f1;color:#a63d65}.month-badge-location.location-tone-6{background:#e4f4fb;color:#0f6d8f}.month-badge-capacity{min-width:42px}.month-badge-capacity-neutral{background:#edf2f7;color:#2f4157}.month-badge-capacity-warning{background:#fff0d6;color:#8e5a10}.month-badge-capacity-danger{background:#fde9e7;color:#7a1d17}.month-badge-status-completed{background:#ecf0f5;color:#304257}.month-badge-status-cancelled{background:#fde9e7;color:#7a1d17}.month-badge-status-warning{background:#fff0d6;color:#8e5a10}.month-event-chip-location,.month-event-chip-prof,.month-event-chip-sub,.month-event-chip-title{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.month-event-chip-title{font-size:12px;line-height:1.1;font-weight:600;color:#1f2a38}.agenda-grid-month .month-event-chip.compact .month-event-chip-title{font-size:11px;line-height:1.15}.month-event-chip-sub{display:flex;align-items:center;gap:4px;min-width:0;font-size:12px;line-height:1.1;color:#566377}.agenda-grid-month .month-event-chip.compact .month-event-chip-sub{display:none}.month-day-card.expanded{max-height:none;min-height:148px}.month-day-card.expanded .month-day-card-events{overflow:visible}.month-event-chip.expanded .month-event-chip-title{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.month-event-chip-prof.missing{color:#7b8a9a}.month-event-chip-warn{color:#ac7c00;font-size:11px;flex-shrink:0}.month-event-chip-sep{color:#8fa1b8;flex-shrink:0}.day-events-drawer-panel{width:min(640px,96vw)}.day-events-drawer-list{display:grid;grid-gap:8px;gap:8px;margin-top:6px;max-height:68vh;overflow:auto;padding-right:2px}@media (max-width:900px){.grid.cols-2,.grid.cols-3{grid-template-columns:1fr}.agenda-grid-month,.agenda-grid-week,.planning-quick-form{grid-template-columns:repeat(2,minmax(0,1fr))}.bulk-inline-field{min-width:0;width:100%}.bulk-controls-row{align-items:stretch}main.page{padding:12px}}@media (max-width:560px){.agenda-grid-month,.agenda-grid-week,.planning-quick-form{grid-template-columns:1fr}.agenda-event-hover-actions{max-height:120px;opacity:1;pointer-events:auto}}.mode-link{display:inline-flex;align-items:center;padding:8px 12px;border-radius:10px;border:1px solid #d9e0ea;background:#fff;text-decoration:none;color:#34465f;font-weight:600}.mode-link.mode-active{border-color:#d4af37;background:#fffcf4;color:#3d3118}.mode-link.disabled{opacity:.45;pointer-events:none}.icon-add-button{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;border:1px solid #d4af37;background:#d4af37;text-decoration:none;color:#1f2329;font-weight:700}.icon-add-button:hover{background:#c8a531;border-color:#c8a531}.icon-add-button-plus{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;background:rgba(17,24,39,.2);color:#111827;font-size:16px;line-height:1}.planning-toolbar-top{align-items:center;margin-bottom:8px}.planning-quick-form{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr)) auto;align-items:end;grid-gap:10px;gap:10px}.planning-active-filters{margin-top:6px;gap:8px;flex-wrap:wrap}.occ-badge,.status-badge{display:inline-flex;align-items:center;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:700}.occ-badge.occ-low{background:#d9f5df;color:#145823}.occ-badge.occ-medium{background:#fff1c9;color:#7a5200}.occ-badge.occ-high{background:#f9dfdc;color:#7c1914}.status-badge.status-scheduled{background:#dceeff;color:#154a7d}.status-badge.status-booked{background:#2f9f58;color:#f6fff8}.status-badge.status-completed{background:#c8d0da;color:#253243}.status-badge.status-cancelled{background:#eaa7a0;color:#5f120d}.status-badge.status-waitlist{background:#fff3cc;color:#7a5600}.agenda-event-link{display:block;text-decoration:none;color:inherit}.admin-edit-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}@media (max-width:900px){.admin-edit-grid{grid-template-columns:1fr}}.admin-shell{min-height:100vh;display:grid;grid-template-columns:auto 1fr;background:#f6f7f9}.admin-sidebar{width:240px;background:#111827;color:hsla(0,0%,100%,.82);padding:14px 12px;display:grid;grid-gap:12px;gap:12px;align-content:start;border-right:1px solid #1f2937;transition:width .18s ease,padding .18s ease}.admin-brand{display:flex;align-items:center;gap:10px;min-height:40px}.admin-brand-mark{width:34px;height:34px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f8d8a2,#e0aa57);color:#3c2b12;font-size:12px;font-weight:800}.admin-brand-text{font-size:18px;font-weight:800;letter-spacing:.2px;color:#f8fafc}.admin-user-card{border:1px solid #233043;border-radius:12px;background:#162033;padding:10px;display:flex;align-items:center;gap:10px}.admin-user-avatar{width:30px;height:30px;border-radius:999px;background:#2c3a4e;color:#e7edf6;font-size:11px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.admin-user-main{min-width:0;display:grid;grid-gap:2px;gap:2px}.admin-user-name{margin:0;font-weight:700;color:#fff}.admin-user-email,.admin-user-name,.admin-user-role{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-nav{display:grid;grid-gap:12px;gap:12px;align-content:start}.admin-nav-section{display:grid;grid-gap:6px;gap:6px}.admin-nav-section-title{margin:0;font-size:11px;line-height:1;text-transform:uppercase;letter-spacing:.06em;color:hsla(0,0%,100%,.55);font-weight:700;padding:4px 8px}.admin-nav-section-items{display:grid;grid-gap:4px;gap:4px}.admin-nav-link{display:flex;align-items:center;gap:10px;min-height:40px;padding:8px 10px;border-radius:10px;color:hsla(0,0%,100%,.82);text-decoration:none;border:1px solid transparent;position:relative}.admin-nav-icon{width:20px;display:inline-flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;color:hsla(0,0%,100%,.7)}.admin-nav-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px;line-height:1;color:hsla(0,0%,100%,.82)}.admin-nav-link:hover{border-color:transparent;background:hsla(0,0%,100%,.06)}.admin-nav-link.active{border-color:transparent;background:hsla(0,0%,100%,.1);color:#fff}.admin-nav-link.active .admin-nav-icon,.admin-nav-link.active .admin-nav-label{color:#fff}.admin-nav-link.active:before{content:"";position:absolute;left:-12px;top:7px;bottom:7px;width:3px;border-radius:2px;background:#d4af37}.admin-sidebar-toggle{margin-top:auto;min-height:36px;border-radius:9px;border:1px solid #2a3a53;background:#162238;color:hsla(0,0%,100%,.82);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer}.admin-sidebar-toggle:hover{background:hsla(0,0%,100%,.08)}.admin-sidebar.collapsed{width:72px;padding:12px 8px}.admin-sidebar.collapsed .admin-brand{justify-content:center}.admin-sidebar.collapsed .admin-brand-text,.admin-sidebar.collapsed .admin-nav-label,.admin-sidebar.collapsed .admin-nav-section-title,.admin-sidebar.collapsed .admin-sidebar-toggle-label,.admin-sidebar.collapsed .admin-user-email,.admin-sidebar.collapsed .admin-user-name,.admin-sidebar.collapsed .admin-user-role{display:none}.admin-sidebar.collapsed .admin-nav-link,.admin-sidebar.collapsed .admin-user-card{justify-content:center;padding:8px}.admin-sidebar.collapsed .admin-nav-link.active:before{left:-6px}.admin-main{display:grid;grid-template-rows:auto 1fr;min-width:0;min-height:0}.admin-topbar{background:#fff;color:#1b2635;border-bottom:1px solid #e6e8ee;padding:8px 16px;justify-content:space-between;flex-wrap:wrap}.admin-topbar,.admin-topbar-left{display:flex;gap:10px;align-items:center}.admin-topbar-left{min-width:0}.admin-topbar-title{font-size:16px;line-height:1;white-space:nowrap}.admin-topbar-actions{gap:8px}.topbar-btn{min-height:34px;display:inline-flex;align-items:center;border:1px solid #d7dee8;background:#fff;color:#33465f;border-radius:9px;padding:0 10px;text-decoration:none;font-size:13px;font-weight:600}.topbar-btn:hover{background:#f5f7fb}.admin-topbar .muted{color:#5f728a}.admin-content{padding:16px 18px;display:flex;flex-direction:column;gap:12px;align-items:stretch}.admin-content .card{background:#fff;border:1px solid #e6e8ee;box-shadow:0 1px 2px rgba(15,23,42,.05)}.admin-sidebar h3,.admin-sidebar p,.admin-sidebar small{color:inherit}.admin-sidebar .muted{color:hsla(0,0%,100%,.75)}.admin-breadcrumb{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:13px;color:#667487}.admin-breadcrumb-inline{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-breadcrumb-wrap{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:4px;border:1px solid #d9dce2;background:#f8fafc;border-radius:10px;padding:8px 12px;min-height:0;height:auto}.admin-breadcrumb-title{color:#5c6b7e;font-weight:700;font-size:12px;letter-spacing:.02em}.admin-breadcrumb-item{display:inline-flex;align-items:center;gap:6px}.admin-breadcrumb-link{text-decoration:none;color:#314255;font-weight:600}.admin-breadcrumb-link:hover{text-decoration:underline}.admin-breadcrumb-current{color:#1a2735;font-weight:700}.admin-breadcrumb-sep{color:#9aa5b5}.admin-page-grid{display:grid;grid-gap:14px;gap:14px}.planning-header-card{padding:12px 14px}.planning-header-row{align-items:center;gap:12px}.planning-subtitle{margin:0;font-size:13px;color:#5c6a7d}.planning-header-actions{gap:8px}.planning-agenda-nav{gap:8px;align-items:center}.planning-jump-menu{position:relative}.planning-jump-trigger{display:inline-flex;align-items:center;gap:6px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;list-style:none}.planning-jump-trigger::-webkit-details-marker{display:none}.planning-jump-trigger:after{content:"▾";font-size:10px;line-height:1}.planning-jump-menu[open] .planning-jump-trigger:after{content:"▴"}.planning-jump-form{position:absolute;top:calc(100% + 8px);right:0;z-index:8;width:min(280px,84vw);display:grid;grid-gap:10px;gap:10px;padding:12px;border:1px solid var(--border);border-radius:14px;background:linear-gradient(180deg,var(--panel),var(--panel-2));box-shadow:0 18px 40px rgba(16,11,7,.18)}.planning-jump-field{display:grid;grid-gap:6px;gap:6px;min-width:0}.planning-jump-field span{font-size:12px;font-weight:700;color:#4d5d74}.planning-jump-field input{margin:0;min-height:38px}.planning-jump-help{margin:0;font-size:12px}.planning-jump-actions{justify-content:flex-end}.planning-filters-card{padding:10px 12px;position:-webkit-sticky;position:sticky;top:8px;z-index:3}.planning-filters-card label{font-size:12px;font-weight:600;color:#4d5d74}.planning-filters-card input,.planning-filters-card select{margin-top:4px;min-height:34px;border-color:#dce2ea;background:#fff}.planning-reset-link{font-size:12px;font-weight:600;color:#5a677a;text-decoration:underline;text-underline-offset:2px}.planning-advanced-link{min-height:34px}@media (max-width:1100px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{width:100%;border-right:0;border-bottom:1px solid #2e3440}.admin-sidebar.collapsed{width:100%}.admin-sidebar-toggle{display:none}}.client-detail-page{gap:16px}.client-sheet-grid{align-items:start}.client-hero{background:linear-gradient(180deg,#222831 0 58%,#f4f6f8 58% 100%);color:#17202a;border:1px solid #d6dde6}.client-hero .reset-link{background:#f2d8ad}.client-hero .muted{color:#596273}.client-hero-main{margin-top:14px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;grid-gap:18px;gap:18px;padding:18px 22px;border-radius:18px;background:linear-gradient(135deg,rgba(24,31,43,.96),rgba(39,50,68,.92));color:#f7fbff;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.08)}.client-hero-main h2{margin:0;color:#f7fbff;font-size:clamp(28px,3vw,38px);line-height:1.05}.client-hero-main .muted{color:#c6d2e3}.client-hero-identity{min-width:0;display:grid;grid-gap:10px;gap:10px}.client-photo-shell{display:grid;justify-items:center;grid-gap:8px;gap:8px}.client-avatar{width:92px;height:92px;border:3px solid hsla(0,0%,100%,.92);background:linear-gradient(135deg,#2d3645,#161d28);color:#f8fbff;display:grid;place-items:center;font-size:30px;font-weight:800;letter-spacing:.03em}.client-avatar,.client-photo{border-radius:24px;box-shadow:0 12px 28px rgba(10,18,29,.24)}.client-photo{width:92px;height:92px;border:3px solid hsla(0,0%,100%,.92);object-fit:cover;background:#dde6f0}.client-photo-caption{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:rgba(235,242,251,.82)}.client-hero-meta{display:flex;flex-wrap:wrap;gap:8px}.client-hero-meta-chip{display:inline-flex;align-items:center;max-width:100%;min-height:34px;padding:7px 12px;border-radius:999px;background:rgba(248,251,255,.12);border:1px solid rgba(248,251,255,.18);color:#eef5ff;font-size:15px;font-weight:600;line-height:1.25;overflow-wrap:anywhere}@media (max-width:900px){.client-hero-main{grid-template-columns:1fr;text-align:center}.client-hero-identity,.client-hero-main{justify-items:center}.client-hero-meta{justify-content:center}}.client-tabs{margin-top:14px;border-top:1px solid #d7dee7;display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}.client-tab{text-decoration:none;color:#394657;border-bottom:2px solid transparent;padding:12px 8px;text-align:center;font-weight:600}.client-tab.active{border-bottom-color:#222831;color:#11161f}.client-summary-card{background:linear-gradient(180deg,#9ed06a,#87bf52);color:#1e360d}.client-summary-card .muted{color:#2f4b18}.client-balance-main{margin:4px 0;font-size:54px;line-height:1;font-weight:800}.client-summary-stats{display:flex;gap:8px;flex-wrap:wrap}.subscription-stack{display:grid;grid-gap:12px;gap:12px}.subscription-detail-card{border:1px solid #d8e0ea;border-radius:12px;background:#f8fbff;padding:14px;display:grid;grid-gap:10px;gap:10px}.subscription-head{align-items:flex-start}.subscription-head-actions{gap:8px}.subscription-head h4{margin:0;font-size:20px;color:#162232}.subscription-meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.subscription-field{border:1px solid #dce5ef;border-radius:10px;background:#fff;padding:10px;display:grid;grid-gap:4px;gap:4px}.subscription-field p{margin:0;font-size:12px}.subscription-field small,.subscription-field strong{line-height:1.3}.subscription-actions{border-top:1px solid #dce5ef;padding-top:8px}.subscription-actions summary{cursor:pointer;font-weight:700;color:#213244}.subscription-actions-grid{margin-top:10px;display:grid;grid-gap:12px;gap:12px}.subscription-actions-grid form{border:1px solid #dce5ef;border-radius:10px;background:#fff;padding:10px}.client-action-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;border:1px solid #cfd9e6;background:#fff;text-decoration:none;color:#203246;font-weight:700;line-height:1}.client-action-icon:hover{background:#edf3fb}.client-action-icon.danger{border-color:#d8b2b2;color:#8c2e2e}.client-action-icon.danger:hover{background:#fdecec}.payment-row-actions{justify-content:flex-end;gap:6px}.payment-row-actions form{margin:0}.payment-row-actions button.client-action-icon{cursor:pointer}.booking-billing-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px;margin:16px 0}.booking-billing-card{display:grid;grid-gap:6px;gap:6px;padding:14px 16px;border:1px solid #dce3eb;border-radius:16px;background:linear-gradient(180deg,#fcfdff,#f6f8fb)}.booking-billing-card-label{color:#526072;font-size:12px;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.booking-billing-card-value{color:#1f2937;font-size:28px;line-height:1}.booking-billing-progress{display:grid;grid-template-columns:repeat(3,minmax(190px,1fr));grid-gap:10px;gap:10px;min-width:620px}.booking-billing-step{display:grid;grid-gap:8px;gap:8px;padding:10px 12px;border:1px solid #dce3eb;border-radius:14px;background:#fff}.booking-billing-step-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.booking-billing-step-label{color:#1f2937;font-size:13px;font-weight:700}.balance-date-form{align-items:end;gap:8px}.balance-date-label{display:grid;grid-gap:4px;gap:4px;font-size:12px;font-weight:600}.credit-row{align-items:center}.credit-count-badge{justify-content:center;min-width:42px;height:34px;border-radius:8px;background:#eef2f7;color:#1e2835}.credit-count-badge,.status-pill{display:inline-flex;align-items:center;font-weight:700}.status-pill{border-radius:999px;padding:3px 9px;font-size:12px}.status-pill.status-ok{background:#d9f5df;color:#155d2a}.status-pill.status-warn{background:#fff3cc;color:#7a5600}.status-pill.status-off{background:#e6e9ee;color:#4a5568}.span-2{grid-column:span 2}.span-4{grid-column:span 4}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;min-width:680px}.data-table td,.data-table th{text-align:left;padding:10px;border-bottom:1px solid #dce3eb;font-size:14px}.data-table th{color:#4b5a6b;font-weight:700;background:#f6f8fb}.message-full-text{white-space:pre-wrap;font-family:inherit}.message-full-text,.message-html-preview{margin:8px 0 0;background:#fffdf9;border:1px solid #dce3eb;border-radius:8px;padding:10px}.message-html-preview{overflow-wrap:anywhere}.message-detail-modal{width:min(780px,95vw);padding:0;gap:0;overflow:hidden;background:#fffdf9}.message-detail-shell{padding:14px;display:grid;grid-gap:12px;gap:12px;overflow:auto}.message-detail-header{display:grid;grid-gap:4px;gap:4px;padding-right:56px}.message-detail-header-row{align-items:start}.message-detail-title{margin:0;padding-right:0}.message-detail-date{margin:0}.message-detail-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.message-detail-meta-item{border:1px solid #e3d4ba;border-radius:10px;background:#fffaf1;padding:8px 10px;display:grid;grid-gap:3px;gap:3px}.message-detail-meta-item strong{overflow-wrap:anywhere}.message-detail-meta-label{font-size:12px;color:#6c5738;font-weight:700;text-transform:uppercase;letter-spacing:.02em}.message-detail-meta-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.message-detail-context{border:1px dashed #d8c3a0;border-radius:10px;background:#fff8eb;padding:8px 10px;display:grid;grid-gap:2px;gap:2px}.message-detail-context-title{margin:0;font-weight:700}.message-detail-context-value{margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere}.message-detail-content{border:1px solid #dce3eb;border-radius:12px;background:#fff;padding:12px;display:grid;grid-gap:10px;gap:10px}.message-detail-content-title{margin:0;font-size:20px;line-height:1.15}.message-detail-kv{margin:0;display:grid;grid-gap:8px;gap:8px}.message-detail-kv-row{display:grid;grid-template-columns:minmax(130px,190px) minmax(0,1fr);grid-gap:8px 12px;gap:8px 12px;align-items:baseline}.message-detail-kv dt{margin:0;color:#614728;font-weight:700}.message-detail-kv dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.message-detail-comment{border:1px solid #e4d4bc;border-radius:10px;background:#fff8ec;padding:10px;display:grid;grid-gap:4px;gap:4px}.message-detail-comment p,.message-detail-comment-title{margin:0}.message-detail-comment-title{font-weight:700;color:#644824}.message-detail-raw{margin:0;background:#f8f9fc}.message-detail-status-form{border-top:1px solid #e3d7c6;background:linear-gradient(180deg,#fffaf2,#f8ecd9);padding:10px 14px 12px;display:grid;grid-gap:10px;gap:10px}.message-detail-status-label{display:grid;grid-gap:6px;gap:6px;font-weight:700}.sort-link{color:inherit;text-decoration:none;font-weight:700}.sort-link:hover{text-decoration:underline}.client-name-link{color:#0f4e80;text-decoration:none;font-weight:700}.client-name-link:hover{text-decoration:underline}.clients-table td{vertical-align:middle}.clients-table td,.clients-table th{white-space:nowrap}.clients-table td:nth-child(4){white-space:normal;min-width:240px}.row-inline{display:block;margin-top:4px}.client-status-counts{gap:20px}.client-status-counts span{color:#1f2f3d}.client-subtabs{gap:8px}.bulk-controls-row{gap:12px;align-items:end}.client-bulk-grid{gap:10px}.bulk-selection-row{gap:8px}.bulk-inline-field{min-width:210px;display:grid;grid-gap:6px;gap:6px}.clients-pagination{margin-top:10px}.disabled-link{opacity:.55;pointer-events:none}@media (max-width:980px){.client-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.span-2{grid-column:auto}.calendar-textarea-field textarea{min-height:140px}.client-balance-main{font-size:40px}.subscription-meta-grid{grid-template-columns:1fr}}.status-badge.status-private{background:#ede4ff;color:#4f2f77}.planning-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:4px 14px;gap:4px 14px}.simulation-admin-layout{display:grid;grid-template-columns:240px minmax(0,1fr);grid-gap:14px;gap:14px;align-items:start}.simulation-admin-sidebar{position:-webkit-sticky;position:sticky;top:8px}.simulation-admin-main{min-width:0;display:grid;grid-gap:14px;gap:14px}.simulation-subnav{display:grid;grid-gap:10px;gap:10px}.simulation-subnav-title{font-size:16px}.simulation-subnav-list{display:grid;grid-gap:6px;gap:6px}.simulation-subnav-link{display:block;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:#fff;color:inherit;text-decoration:none}.simulation-subnav-link.active{background:#f4e2b8;border-color:#e2bf6f;font-weight:700}.simulation-kpi{margin:6px 0 4px;font-size:46px;line-height:1;font-weight:800;color:#2d2d2d}.simulation-kpi-small{font-size:24px;line-height:1.2}.simulation-rule-card,.simulation-rule-grid{display:grid;grid-gap:10px;gap:10px}.simulation-rule-window{padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:#fffdf9}.simulation-rule-scenarios,.simulation-rule-window{display:grid;grid-gap:8px;gap:8px}.simulation-rule-scenario{padding:8px 10px;border-radius:10px;background:#fff;border:1px solid #eadfcf}.simulation-inline-list{margin:6px 0 0;padding-left:18px;display:grid;grid-gap:4px;gap:4px}.simulation-weekdays{display:flex;flex-wrap:wrap;gap:8px 12px}.simulation-template-grid-editor,.simulation-template-location-grid{display:grid;grid-gap:14px;gap:14px}.simulation-weekday-chip-row{display:flex;flex-wrap:wrap;gap:8px}.simulation-weekday-chip{background:#fff7eb;color:#6c4616;border:1px solid #dfc193}.simulation-weekday-chip.active{background:#f0d5a0;border-color:#d1a95d;color:#4c3517}.simulation-week-grid-wrap{overflow:auto}.simulation-week-grid{width:100%;min-width:1040px;border-collapse:separate;border-spacing:0}.simulation-week-grid td,.simulation-week-grid th{padding:8px;border:1px solid #eadfcf;vertical-align:top;background:#fffdfa}.simulation-week-grid thead th{background:#f5e5c3;text-align:left}.simulation-week-grid tbody th{min-width:78px;background:#fbf0dc;text-align:left}.simulation-week-row-add{width:100%;min-width:120px}.simulation-week-grid-cell{width:100%;min-height:74px;display:grid;place-items:center;background:#fff7eb;color:#8a5b1d;border:1px dashed #d9b37a}.simulation-week-grid-cell.has-items{background:#f4e2b8;border-style:solid;color:#3f2a11}.simulation-week-grid-cell-empty{font-size:20px;line-height:1}.simulation-week-grid-cell-list{width:100%;display:grid;grid-gap:2px;gap:2px;justify-items:start;text-align:left;font-size:12px}.simulation-week-grid-count{font-size:18px;line-height:1}.simulation-template-draft-list,.simulation-template-draft-panel{display:grid;grid-gap:10px;gap:10px}.simulation-template-draft-item{display:grid;grid-gap:8px;gap:8px;padding:10px 12px;border:1px solid #eadfcf;border-radius:12px;background:#fffdf9}.simulation-template-draft-meta{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:13px;color:var(--muted)}.simulation-rule-editor{display:grid;grid-gap:14px;gap:14px}.simulation-rule-editor-panel{display:grid;grid-gap:12px;gap:12px;padding:12px;border:1px solid var(--border);border-radius:12px;background:#fffdf9}.simulation-rule-line-editor{padding:10px 12px;border:1px dashed #dfc193;border-radius:12px;background:#fff8ed}.simulation-rule-draft-list,.simulation-rule-line-editor{display:grid;grid-gap:10px;gap:10px}.simulation-rule-draft-item{display:grid;grid-gap:8px;gap:8px;padding:10px 12px;border:1px solid #eadfcf;border-radius:12px;background:#fff}.simulation-template-location-list{display:grid;grid-gap:14px;gap:14px}.simulation-template-location-card{display:grid;grid-gap:10px;gap:10px;padding:12px;border:1px solid var(--border);border-radius:12px;background:#fffdf9}.simulation-template-matrix-wrap{overflow:auto}.simulation-template-matrix{width:100%;min-width:860px;border-collapse:separate;border-spacing:0}.simulation-template-matrix td,.simulation-template-matrix th{padding:10px;border:1px solid #eadfcf;vertical-align:top;background:#fffdfa}.simulation-template-matrix thead th{background:#f5e5c3;text-align:left}.simulation-template-matrix tbody th{min-width:110px;background:#fbf0dc;text-align:left}.simulation-template-slot-list{display:grid;grid-gap:8px;gap:8px}.simulation-template-slot{display:grid;grid-gap:4px;gap:4px;padding:8px 10px;border:1px solid #eadfcf;border-radius:10px;background:#fff}.simulation-template-slot-meta{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:13px;color:var(--muted)}.simulation-template-empty{color:var(--muted)}.simulation-capacity-sections{display:grid;grid-gap:14px;gap:14px}.simulation-capacity-card{display:grid;grid-gap:10px;gap:10px}.simulation-capacity-table-wrap{overflow:auto}.simulation-capacity-table{width:100%;border-collapse:separate;border-spacing:0;min-width:940px}.simulation-capacity-table td,.simulation-capacity-table th{padding:0;border:1px solid #eadfcf;vertical-align:top}.simulation-capacity-table thead th{top:0}.simulation-capacity-table tbody th,.simulation-capacity-table thead th{position:-webkit-sticky;position:sticky;z-index:1;background:#fffaf0;padding:10px 12px;text-align:left;font-size:13px}.simulation-capacity-table tbody th{left:0;min-width:72px}.simulation-capacity-cell{min-width:170px;min-height:104px;padding:10px 10px 12px;display:grid;grid-gap:8px;gap:8px;background:#fff}.simulation-capacity-cell.free{background:#fffdf9}.simulation-capacity-cell.ok{background:#eef7eb}.simulation-capacity-cell.tension{background:#fff5df}.simulation-capacity-cell.over{background:#fde9e6}.simulation-capacity-cell.no-rule{background:#f7f1e3}.simulation-capacity-cell.non-physical{background:#eaf4ff}.simulation-capacity-cell-button{display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.simulation-capacity-cell-button:focus-visible{outline:2px solid #c68a2f;outline-offset:-2px}.simulation-capacity-cell-button.has-people .simulation-capacity-cell{box-shadow:inset 0 0 0 1px rgba(198,138,47,.18)}.simulation-capacity-cell-head{display:flex;justify-content:space-between;gap:10px;align-items:baseline;font-size:12px}.simulation-capacity-cell-head strong{font-size:12px}.simulation-capacity-cell-totals{display:flex;flex-wrap:wrap;gap:6px;font-size:12px;color:#5e5b55}.simulation-capacity-session-boxes,.simulation-capacity-usage-list{display:grid;grid-gap:6px;gap:6px}.simulation-capacity-session-box{display:grid;grid-gap:3px;gap:3px;padding:7px 8px;border-radius:10px;background:hsla(0,0%,100%,.92);border:1px solid rgba(97,77,31,.14);box-shadow:0 1px 0 rgba(97,77,31,.04)}.simulation-capacity-session-box strong{font-size:12px;line-height:1.3}.simulation-capacity-session-box span{font-size:11px;line-height:1.3;color:#6e675b}.simulation-capacity-usage-pill{display:block;padding:6px 8px;border-radius:8px;background:hsla(0,0%,100%,.85);border:1px solid rgba(97,77,31,.12);font-size:12px;line-height:1.35}.simulation-capacity-empty{margin:0;color:#7a756c;font-size:12px}.simulation-capacity-meta{margin:0;font-size:11px;color:#6e675b}.simulation-capacity-modal{width:min(760px,96vw);max-height:88vh}.simulation-capacity-detail-summary{display:flex;flex-wrap:wrap;gap:8px}.simulation-capacity-detail-summary span{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#fff8ec;border:1px solid #eadfcf;font-size:12px;font-weight:600}.simulation-capacity-detail-section{display:grid;grid-gap:8px;gap:8px}.simulation-capacity-detail-section h4{margin:0}.simulation-capacity-detail-list{margin:0;padding:0;list-style:none;display:grid;grid-gap:8px;gap:8px}.simulation-capacity-detail-item{padding:10px 12px;border-radius:12px;border:1px solid #eadfcf;background:#fffdf9;display:grid;grid-gap:4px;gap:4px}.simulation-capacity-detail-main{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline}.simulation-capacity-detail-meta{font-size:12px;color:#6e675b}.checkline{display:inline-flex;align-items:center;gap:8px;min-height:44px}.checkline input[type=checkbox],.checkline input[type=radio]{width:16px;height:16px;flex:0 0 16px}.quote-action-sms-group{display:grid;grid-gap:10px;gap:10px;margin-top:10px}.quote-action-checkline{display:flex;width:100%;min-height:auto}.quote-action-sms-group label{display:grid;grid-gap:6px;gap:6px}.quote-email-preview-modal{width:min(860px,96vw)}.quote-email-preview-grid{display:grid;grid-gap:12px;gap:12px}.quote-email-preview-field{display:grid;grid-gap:6px;gap:6px}.quote-email-preview-field>strong{font-size:13px;color:#6e675b}.quote-email-preview-body,.quote-email-preview-value{border:1px solid #e6e0d5;border-radius:12px;background:#fffdfa;padding:12px 14px}.quote-email-preview-value{font-size:14px;line-height:1.45;word-break:break-word}.quote-email-preview-body{max-height:min(52vh,520px);overflow:auto}.quote-email-preview-body p:first-child{margin-top:0}.quote-email-preview-body p:last-child{margin-bottom:0}.quote-email-preview-text{margin:0;white-space:pre-wrap;word-break:break-word;font-family:inherit;font-size:14px;line-height:1.5}@media (max-width:900px){.planning-summary-grid,.simulation-admin-layout{grid-template-columns:1fr}.simulation-admin-sidebar{position:static}}.quick-shift-row{align-items:end;gap:8px}.scope-inline{display:grid;min-width:180px;grid-gap:4px;gap:4px}.scope-inline.compact{min-width:150px}.small-btn{padding:8px 10px;font-size:13px}.quick-actions-row{gap:8px}.session-quick-actions{gap:6px;flex-wrap:wrap}.session-quick-action{display:inline-flex;align-items:center;justify-content:center;width:34px;min-width:34px;height:34px;border:1px solid #d2b184;border-radius:10px;background:#fff2dd;text-decoration:none;font-size:16px;line-height:1}.session-quick-action:hover{background:#f2d6ab}.session-quick-action.danger{border-color:#ce8b8b;background:#fbe5e5}.session-quick-action.danger:hover{background:#f2c9c9}.danger-link{display:inline-flex;align-items:center;justify-content:center;border:1px solid #c54545;border-radius:10px;background:#b7332f;color:#fff;text-decoration:none;font-weight:700;padding:8px 12px}.danger-link:hover{background:#9d2b28;border-color:#9d2b28}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.span-3{grid-column:span 3}.agenda-columns{margin-top:12px;display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.agenda-day-card{border:1px solid var(--border);border-radius:10px;padding:12px;background:#fffdfa;display:grid;grid-gap:10px;gap:10px}.modal-overlay{position:fixed;inset:0;background:rgba(22,19,15,.58);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);z-index:60;display:grid;place-items:center;padding:18px}.modal-panel{position:relative;width:min(680px,94vw);max-height:80vh;overflow:auto;border-radius:14px;border:1px solid var(--border);background:linear-gradient(180deg,var(--panel),var(--panel-2));padding:10px;display:grid;grid-gap:8px;gap:8px;box-shadow:0 18px 40px rgba(16,11,7,.3)}.modal-panel>.modal-close-x:first-child{position:-webkit-sticky;position:sticky;top:10px;justify-self:end;margin:0 0 -46px auto;z-index:6}.modal-panel>.row.spread:first-child:has(.modal-close-x),.modal-panel>header:first-child:has(.modal-close-x):not(.teacher-attendance-header):not(.product-edit-modal-header){position:-webkit-sticky;position:sticky;top:-10px;z-index:5;margin:-10px -10px 0;padding:10px;background:linear-gradient(180deg,rgba(255,253,249,.98),rgba(255,248,236,.96));border-bottom:1px solid rgba(64,46,26,.08);border-radius:14px 14px 0 0}.modal-header-close,.modal-panel>.row.spread:first-child:has(.modal-close-x) .modal-close-x,.modal-panel>header:first-child:has(.modal-close-x):not(.teacher-attendance-header):not(.product-edit-modal-header) .modal-close-x{position:static;flex-shrink:0}.client-info-modal{width:min(980px,96vw);max-height:90vh}.modal-compact{width:min(520px,94vw)}.message-body-preview{border:1px solid var(--border);border-radius:10px;background:#fff;padding:10px;margin:0;white-space:pre-wrap;word-break:break-word;font-family:inherit;font-size:14px;line-height:1.45}.planning-filters-modal{width:min(720px,96vw)}.planning-filters-modal form{gap:12px}.planning-filters-modal label{display:grid;grid-gap:6px;gap:6px}.planning-multi-search{display:grid;grid-gap:8px;gap:8px;border:1px solid #d7dbe1;border-radius:12px;background:#f6f8fb;padding:10px}.planning-multi-search-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.planning-multi-search-head strong{font-size:17px}.planning-multi-search-selected{min-height:42px;border:1px solid #ccd3dc;border-radius:8px;background:#fff;padding:6px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.planning-multi-search-chip{display:inline-flex;align-items:center;gap:6px;background:#eaf3ff;border:1px solid #b7d6ff;color:#184477}.planning-multi-search-chip button{border:none;background:transparent;color:#184477;font-size:14px;line-height:1;cursor:pointer;padding:0}.planning-multi-search-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px;align-items:center}.planning-multi-search-input{border:1px solid #b8c4d3;border-radius:8px;background:#fff}.planning-multi-search-input:focus-visible{outline:2px solid rgba(28,123,238,.25);border-color:#1c7bee}.planning-multi-search-clear{white-space:nowrap}.planning-multi-search-options{min-height:130px;max-height:220px;overflow:auto;border:1px solid #ccd3dc;border-radius:8px;background:#fff;padding:4px;display:grid;grid-gap:2px;gap:2px;align-content:start}.planning-multi-search-option{border:1px solid transparent;border-radius:6px;padding:9px 10px;text-align:left;background:#fcfdff;color:#1f2a36;cursor:pointer;font:inherit;font-weight:500}.planning-multi-search-option:focus-visible,.planning-multi-search-option:hover{border-color:#6ab0ff;background:#eef6ff;color:#12355c;outline:none}.planning-filters-modal small.muted{display:block;font-size:12px}@media (max-width:900px){.planning-filters-modal .span-2{grid-column:span 1}.planning-multi-search-options{min-height:108px;max-height:180px}.planning-multi-search-toolbar{grid-template-columns:1fr}}.modal-day-details{width:min(760px,95vw);max-height:84vh}.modal-create-session{width:min(1220px,98vw);max-height:92vh;padding:12px}.modal-confirm-operation{width:min(860px,96vw);max-height:88vh}.modal-overlay-front{z-index:72}.create-session-form{display:grid;grid-gap:12px;gap:12px}.create-session-section{border:1px solid var(--border);border-radius:12px;background:#fffdf9;padding:12px;display:grid;grid-gap:10px;gap:10px}.create-session-section-title{font-size:17px}.create-session-grid,.create-session-visibility-grid{gap:10px}.create-session-grid>label,.create-session-visibility-grid>label{display:grid;grid-gap:6px;gap:6px}.create-session-visibility-grid>.session-audience-fieldset{align-self:start}.create-session-grid:has(input[name=is_all_day]:checked) .create-time-field{display:none}.session-edit-form:has(input[name=is_all_day]:checked) .session-time-field{display:none}.create-session-toggle{width:100%;min-height:46px;border:1px dashed #deccb2;border-radius:10px;padding:10px 12px;background:#fff9ee}.session-audience-fieldset{margin:0;border:1px solid #d7e0ee;border-radius:18px;padding:14px 16px 16px;background:#fbfdff;min-width:0}.session-audience-fieldset legend{padding:0 8px;font-size:.95rem;font-weight:700;color:#22324d}.session-audience-option-list{display:grid;grid-gap:10px;gap:10px}.session-audience-option{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:start;grid-gap:10px;gap:10px;padding:10px 12px;border:1px solid #d7e0ee;border-radius:14px;background:#fff;cursor:pointer}.session-audience-option input{margin-top:3px}.session-audience-option span{display:grid;grid-gap:4px;gap:4px;min-width:0}.session-audience-option strong{font-size:.98rem;color:#152238}.session-audience-option .muted{font-size:.86rem;line-height:1.35}.session-audience-option.is-disabled{opacity:.62;cursor:not-allowed;background:#f5f7fb}@media (max-width:820px){.session-audience-fieldset{padding:12px 12px 14px}.session-audience-option{padding:10px}}.embed-planning-page{min-height:100vh;background:linear-gradient(180deg,#f9f6ef,#f3ede2);padding:12px}.embed-planning-shell{display:grid;grid-gap:12px;gap:12px;max-width:1280px;margin:0 auto}.embed-planning-card,.embed-planning-detail{border:1px solid #e2d2b5;box-shadow:0 18px 48px rgba(43,32,16,.08)}.embed-planning-header{display:grid;grid-gap:16px;gap:16px;margin-bottom:16px}.embed-planning-nav{display:flex;gap:8px;flex-wrap:wrap}.embed-planning-week-grid{display:grid;grid-template-columns:1fr;grid-gap:12px;gap:12px}.embed-planning-day{background:#fffdf8;border:1px solid #ead9ba;border-radius:18px;overflow:hidden;min-height:240px}.embed-planning-day-head{padding:12px 14px;background:#f4e7cf;border-bottom:1px solid #ead9ba}.embed-planning-day-body{display:grid;grid-gap:10px;gap:10px;padding:12px}.embed-slot-card{display:grid;grid-gap:6px;gap:6px;padding:12px;border-radius:14px;border:1px solid #dfcfb3;background:#fff;color:inherit;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.embed-slot-card.is-selected,.embed-slot-card:hover{transform:translateY(-1px);border-color:#c9a86a;box-shadow:0 10px 24px rgba(43,32,16,.1)}.embed-slot-card-top{display:flex;justify-content:space-between;gap:8px;align-items:center}.embed-slot-card p{margin:0;font-weight:700}.embed-slot-card small{color:#6f6555}.embed-planning-detail-grid{display:grid;grid-template-columns:1fr;grid-gap:12px;gap:12px;margin:14px 0}.embed-planning-book-form,.embed-planning-cta-stack{margin-top:18px}.embed-planning-book-form button,.embed-planning-primary-link{width:100%;justify-content:center}@media (min-width:721px){.embed-planning-page{padding:20px}.embed-planning-header{grid-template-columns:minmax(0,1fr) auto;align-items:center}.embed-planning-week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:900px){.embed-planning-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1101px){.embed-planning-week-grid{grid-template-columns:repeat(7,minmax(0,1fr))}}@media (max-width:720px){.embed-planning-nav .mode-link{flex-grow:1;flex-shrink:1;flex-basis:calc(33.333% - 8px);justify-content:center}}.create-session-actions{position:-webkit-sticky;position:sticky;bottom:-12px;margin:0 -12px -12px;padding:10px 12px;border-top:1px solid var(--border);background:linear-gradient(180deg,rgba(255,249,239,.9),#f8ebd2 45%)}.modal-title{padding-right:56px}.modal-card{background:#fffdf9;padding:10px}.professor-profile-modal{width:min(760px,96vw);max-height:92vh}.professor-profile-modal-form{gap:10px}.professor-profile-modal-actions{position:-webkit-sticky;position:sticky;bottom:-10px;padding-top:10px;padding-bottom:2px;border-top:1px solid var(--border);background:linear-gradient(180deg,rgba(255,249,239,.94),#f8ebd2 45%)}.modal-panel .grid{gap:10px}.modal-flash,.modal-panel input,.modal-panel select,.modal-panel textarea{padding:8px 10px}.modal-flash{margin:0}.modal-actions-end{justify-content:flex-end;gap:10px}.manual-transaction-back-link{display:inline-flex;margin:2px 0 8px}.manual-transaction-choice-grid{display:grid;grid-gap:10px;gap:10px}.manual-transaction-choice{border:1px solid var(--border);border-radius:10px;background:#fffdf9;color:inherit;text-decoration:none;padding:10px 12px;display:grid;grid-gap:4px;gap:4px}.manual-transaction-choice:hover{border-color:#d2b184;background:#fff8ec}.transaction-wizard-modal{width:min(760px,95vw);max-height:80vh;padding:0;display:grid;grid-gap:0;gap:0;overflow:hidden;background:#fff;border:1px solid #e6e8ee;border-radius:16px}.transaction-wizard-modal form{padding:14px;overflow:auto}.transaction-wizard-header{position:-webkit-sticky;position:sticky;top:0;z-index:2;border-bottom:1px solid #e6e8ee;background:#fff;padding:14px;display:grid;grid-gap:8px;gap:8px}.transaction-type-segmented{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.transaction-type-chip{display:grid;grid-gap:4px;gap:4px;min-height:60px;padding:10px 12px;border:1px solid #d8e1ec;border-radius:12px;background:#fff;color:inherit;text-decoration:none}.transaction-type-chip strong{font-size:13px}.transaction-type-chip.active{border-color:rgba(212,175,55,.45);background:rgba(212,175,55,.14)}.transaction-vat-field{max-width:240px}.transaction-category-accordion{margin-top:2px}.transaction-wizard-footer{position:-webkit-sticky;position:sticky;bottom:0;z-index:2;border-top:1px solid #e6e8ee;padding-top:10px;background:#fff}.purchase-total-line{margin-top:6px;font-weight:700;color:#1f3045}.invoice-wizard-modal{width:min(940px,96vw);max-height:85vh;padding:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;grid-gap:0;gap:0;overflow:hidden;background:#fff;border:1px solid #e6e8ee;border-radius:16px}.invoice-wizard-header{border-bottom:1px solid #e6e8ee;background:#fff;padding:14px;display:grid;grid-gap:8px;gap:8px}.invoice-wizard-body{min-height:0;overflow-y:auto;padding:14px}.invoice-wizard-card,.invoice-wizard-form{display:grid;grid-gap:10px;gap:10px}.invoice-wizard-card{border:1px solid #e6e8ee;border-radius:14px;background:#fff;padding:12px}.invoice-wizard-card h4,.invoice-wizard-card p{margin:0}.invoice-mode-segmented{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.invoice-mode-chip{display:grid;grid-gap:4px;gap:4px;border:1px solid #d8e1ec;border-radius:12px;padding:10px 12px;background:#fff;cursor:pointer}.invoice-mode-chip input[type=radio]{margin:0}.invoice-mode-chip.active{border-color:rgba(212,175,55,.45);background:rgba(212,175,55,.14)}.invoice-wizard-footer{border-top:1px solid #e6e8ee;background:#fff;padding:12px 14px}.invoice-modal-error{margin:0 0 10px}.invoice-field-error{display:block;margin-top:4px;font-size:12px;color:#7c1914}.invoice-wizard-form input[data-invalid=true],.invoice-wizard-form select[data-invalid=true],.invoice-wizard-form textarea[data-invalid=true]{border-color:#c53929;box-shadow:0 0 0 2px rgba(197,57,41,.14)}.purchase-wizard-modal{width:min(820px,95vw);max-height:86vh;padding:0;display:grid;grid-gap:0;gap:0;overflow:hidden;background:#fff}.purchase-wizard-modal form{padding:14px;overflow:auto}.purchase-wizard-header{position:-webkit-sticky;position:sticky;top:0;z-index:2;border-bottom:1px solid #e6e8ee;background:#fff;padding:14px;display:grid;grid-gap:8px;gap:8px}.purchase-wizard-stepper{display:inline-flex;align-items:center;gap:6px;font-size:12px}.purchase-wizard-stepper span{border:1px solid #d9dee7;border-radius:999px;padding:3px 8px;color:#617089;background:#f6f8fb;font-weight:600}.purchase-wizard-stepper span.active{border-color:rgba(212,175,55,.45);background:rgba(212,175,55,.14);color:#3a2a06}.purchase-type-toggle{display:flex;flex-wrap:wrap;gap:8px}.purchase-type-chip{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:0 12px;border:1px solid #d7deea;border-radius:999px;color:#2f405f;background:#fff;text-decoration:none;font-weight:600;font-size:12px}.purchase-type-chip.active{border-color:rgba(212,175,55,.45);background:rgba(212,175,55,.14);color:#3a2a06}.purchase-wizard-offer-title{margin:12px 14px 0}.purchase-summary-card{display:grid;grid-gap:6px;gap:6px}.purchase-summary-card p{margin:0}.purchase-wizard-footer{position:-webkit-sticky;position:sticky;bottom:0;z-index:2;border-top:1px solid #e6e8ee;padding-top:10px;background:#fff}@media (max-width:900px){.transaction-wizard-modal{width:100vw;max-width:100vw;min-height:100vh;max-height:100vh;border-radius:0}.transaction-wizard-header{padding:12px 16px}.transaction-wizard-modal form{padding:14px 16px 96px}.transaction-type-segmented{grid-template-columns:1fr}.transaction-type-chip{min-height:52px}.transaction-wizard-footer{margin-top:8px}.transaction-wizard-footer .reset-link,.transaction-wizard-footer button{min-height:44px}.purchase-wizard-modal{width:100vw;max-width:100vw;min-height:100vh;max-height:100vh;border-radius:0}.purchase-wizard-header{padding:12px 16px}.purchase-wizard-modal form{padding:14px 16px 96px}.purchase-type-toggle{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px}.purchase-type-chip{flex:0 0 auto}.purchase-wizard-footer{position:-webkit-sticky;position:sticky;bottom:0;margin-top:8px;padding-top:10px;background:#fff}.purchase-wizard-footer .reset-link,.purchase-wizard-footer button{min-height:44px}.invoice-wizard-modal{width:100vw;max-width:100vw;min-height:0;max-height:92vh;border-radius:0}.invoice-wizard-header{padding:12px 16px}.invoice-wizard-body{padding:14px 16px}.invoice-mode-segmented{grid-template-columns:1fr}.invoice-wizard-footer{padding:10px 16px}.invoice-wizard-footer .reset-link,.invoice-wizard-footer button{min-height:44px}}.purchase-terms-box{border:1px solid #d8e1ec;border-radius:10px;background:#f9fbfe;padding:12px}.modal-details{display:grid;grid-gap:10px;gap:10px}.modal-details>summary{cursor:pointer;font-weight:700;list-style:none}.modal-details>summary::-webkit-details-marker{display:none}.modal-details>summary:before{content:"▸";margin-right:8px}.modal-details[open]>summary:before{content:"▾"}.session-edit-modal-shell{width:min(920px,96vw);max-height:92vh;padding:0;background:#fff;border:1px solid #e6e8ee;border-radius:16px;box-shadow:0 20px 44px rgba(15,23,42,.22);overflow:auto;gap:0}.session-edit-shell-header{position:-webkit-sticky;position:sticky;top:0;z-index:4;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px 12px;border-bottom:1px solid #e6e8ee;background:#fff}.session-edit-shell-header-actions{display:flex;align-items:center;gap:8px}.session-edit-shell-form{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-height:0;height:100%}.session-edit-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px;padding:12px 16px;border-bottom:1px solid #e6e8ee;background:#fbfcff}.session-edit-tab{display:grid;grid-gap:2px;gap:2px;min-height:46px;padding:8px 10px;border:1px solid #e6e8ee;border-radius:12px;text-decoration:none;color:#24354a;background:#fff}.session-edit-tab span{font-weight:700;font-size:13px}.session-edit-tab small{font-size:11px;color:#5d6b7f}.session-edit-tab.active{border-color:#d4af37;background:#fff8ea;color:#1d2b3a}.session-edit-shell-body{min-height:0;overflow:auto;padding:14px 16px 18px;scroll-padding-bottom:18px}.session-edit-panel{display:none;gap:12px}.session-edit-panel.active{display:grid}.session-edit-panel .grid{gap:12px}.session-edit-span{grid-column:1/-1}.session-edit-alert{background:#f9fafc;color:#384b61;font-size:13px}.session-edit-alert,.session-edit-collapsible{border:1px solid #e6e8ee;border-radius:12px;padding:10px 12px}.session-edit-collapsible{background:#fff;display:grid;grid-gap:10px;gap:10px}.session-edit-collapsible>summary{list-style:none;cursor:pointer;font-weight:700;color:#2a3c50}.session-edit-collapsible>summary::-webkit-details-marker{display:none}.session-edit-shell-footer{position:static;display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:12px 16px;border-top:1px solid #e6e8ee;background:#fff;box-shadow:none}.recurrence-panel{display:grid;grid-gap:10px;gap:10px}.recurrence-panel legend{font-weight:700;padding:0 6px}.recurrence-mode-row{display:flex;align-items:center;gap:12px 18px;flex-wrap:wrap}.recurrence-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.recurrence-forever{align-self:end}.recurrence-settings{display:none;gap:10px}.recurrence-panel:has(input[name=recurrence_mode][value=RECURRING]:checked) .recurrence-settings{display:grid}.invoice-range-form .invoice-auto-options{display:none}.invoice-range-form:has(select[name=generation_mode] option[value=AUTO]:checked) .invoice-auto-options{display:contents}.session-bookings-summary-list{max-height:240px;overflow:auto;padding-right:4px}.session-booking-summary-row{align-items:center}.session-primary-actions{margin-top:10px;gap:8px;flex-wrap:wrap}.session-slot-overlay{padding:14px}.session-slot-modal{width:min(1140px,96vw);max-height:92vh;border:1px solid #e6e8ee;background:#fff;border-radius:16px;box-shadow:0 18px 40px rgba(15,23,42,.22);padding:14px;gap:12px}.session-slot-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.session-slot-header-main{min-width:0;display:grid;grid-gap:4px;gap:4px}.session-slot-title{padding-right:0;font-size:20px;line-height:1.2}.session-slot-subtitle{margin:0;font-size:13px;line-height:1.35}.session-slot-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.session-slot-close{position:static;width:36px;height:36px;font-size:24px;border-radius:10px;border:1px solid #d7dee8;background:#fff}.session-slot-overflow-menu{position:relative}.session-slot-overflow-menu>summary{list-style:none;width:36px;height:36px;border:1px solid #d7dee8;border-radius:10px;background:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:22px;line-height:1;color:#2f425a}.session-slot-overflow-menu>summary::-webkit-details-marker{display:none}.session-slot-overflow-panel{position:absolute;right:0;top:calc(100% + 6px);min-width:230px;max-width:min(320px,80vw);z-index:10;border:1px solid #e6e8ee;border-radius:12px;background:#fff;box-shadow:0 18px 34px rgba(15,23,42,.18);padding:10px;display:grid;grid-gap:8px;gap:8px}.session-slot-overflow-panel hr{width:100%;border:none;border-top:1px solid #e6e8ee;margin:0}.session-slot-overflow-panel .danger-link,.session-slot-overflow-panel .mode-link{width:100%;justify-content:flex-start}.session-slot-badges,.session-slot-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.session-slot-toolbar .danger-link,.session-slot-toolbar .mode-link{min-height:36px}.session-slot-toolbar-menu{margin-left:auto}.session-slot-body{grid-template-columns:minmax(0,1.8fr) minmax(300px,1fr);align-items:start}.session-slot-body,.session-slot-right{display:grid;grid-gap:12px;gap:12px}.session-slot-section{border:1px solid #e6e8ee;border-radius:14px;background:#fff;overflow:hidden}.session-slot-section>summary{list-style:none;cursor:pointer;min-height:48px;padding:12px 14px;display:inline-flex;align-items:center;width:100%;font-weight:700;font-size:16px;border-bottom:1px solid #edf0f5}.session-slot-section>summary::-webkit-details-marker{display:none}.session-slot-section-body{padding:12px;display:grid;grid-gap:10px;gap:10px}.session-slot-attendees-list{max-height:min(54vh,560px);overflow:auto;padding-right:4px;display:grid;grid-gap:8px;gap:8px}.session-slot-attendee-row{min-height:56px;border:1px solid #e6e8ee;border-radius:12px;background:#fff;padding:10px 12px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;grid-gap:10px;gap:10px}.session-slot-attendee-identity{min-width:0;display:grid;grid-gap:2px;gap:2px}.session-slot-attendee-identity .client-name-link,.session-slot-attendee-identity strong{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-slot-attendee-identity small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-slot-attendee-badges{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.session-slot-attendee-actions{display:flex;align-items:flex-start;gap:8px;justify-content:flex-end;flex-wrap:wrap}.session-slot-attendee-actions .mode-link{min-height:34px}.session-slot-inline-confirm{position:relative;display:grid;justify-items:end}.session-slot-inline-confirm>summary{list-style:none;width:34px;height:34px;border:1px solid #efc7c7;border-radius:10px;background:#fff5f5;color:#b2352f;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.session-slot-inline-confirm[open]>summary{background:#b2352f;border-color:#b2352f;color:#fff}.session-slot-inline-confirm>summary::-webkit-details-marker{display:none}.session-slot-inline-confirm-panel{position:static;margin-top:8px;min-width:max-content;border:1px solid #e6e8ee;border-radius:10px;background:#fff;box-shadow:0 14px 30px rgba(15,23,42,.16);padding:8px;display:grid;align-items:center;grid-gap:8px;gap:8px}.session-slot-inline-confirm-panel button{min-height:32px;padding:6px 10px}.session-slot-scope-panel{min-width:220px;display:grid;grid-gap:8px;gap:8px}.session-slot-inline-confirm-panel .scope-inline{min-width:0}.session-slot-add-confirm{position:relative;width:100%}.session-slot-add-confirm>summary{list-style:none;display:inline-flex;align-items:center;justify-content:center;width:auto;height:42px;min-width:110px;padding:0 14px;border:1px solid #d2b184;border-radius:10px;background:#d58a2d;color:#fff;font-weight:700;line-height:1;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.session-slot-add-confirm>summary::-webkit-details-marker{display:none}.session-slot-add-confirm .session-slot-inline-confirm-panel{position:static;margin-top:8px;width:100%;box-shadow:none}.session-enroll-form{display:grid;grid-gap:10px;gap:10px}.session-enroll-search{border:none;padding:0;background:transparent;position:relative}.session-enroll-search .planning-multi-search-head{display:none}.session-enroll-search .planning-multi-search-selected{min-height:42px}.session-enroll-search .planning-multi-search-toolbar{grid-template-columns:1fr auto}.session-enroll-search .planning-multi-search-options{position:static;min-height:0;max-height:190px;background:#fff;box-shadow:none;z-index:1;display:grid}.planning-multi-search-error{display:block;color:#b42318;font-weight:600;font-size:12px}.session-enroll-advanced>summary{list-style:none;cursor:pointer;font-weight:700;font-size:13px;color:#30455f}.session-enroll-advanced>summary::-webkit-details-marker{display:none}.session-enroll-advanced-body{margin-top:8px;display:grid;grid-gap:8px;gap:8px}.session-enroll-submit{display:flex;justify-content:flex-start}.session-enroll-submit button{min-height:44px;padding:0 18px}.session-slot-details-list p{margin:0}.session-attendance-modal-v2{width:min(1040px,96vw);max-height:86vh;border-radius:16px;padding:0;gap:0;background:#fff}.teacher-attendance-modal{display:grid;grid-template-rows:auto minmax(0,1fr) auto;border:1px solid #e6e8ee;box-shadow:0 18px 40px rgba(15,23,42,.22);overflow:hidden}.teacher-attendance-header{position:-webkit-sticky;position:sticky;top:0;z-index:6;border-bottom:1px solid #e6e8ee;background:#fff;padding:12px 16px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.teacher-attendance-header-main{min-width:0;display:grid;grid-gap:2px;gap:2px}.teacher-attendance-header-main .modal-title{margin:0;padding-right:0}.teacher-attendance-header-main p{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.teacher-attendance-header-meta{display:flex;align-items:center;gap:6px;flex-shrink:0}.teacher-attendance-header .modal-close-x{position:static;width:36px;height:36px;font-size:26px}.teacher-attendance-body{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);grid-gap:12px;gap:12px;padding:12px 16px;overflow:auto;min-height:0}.teacher-attendance-primary,.teacher-attendance-secondary{min-height:0;display:grid;grid-gap:10px;gap:10px;align-content:start}.teacher-attendance-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.teacher-attendance-filters{display:inline-flex;align-items:center;gap:8px}.teacher-attendance-filters .mode-link{min-height:32px;border-radius:999px;font-size:12px;padding:0 11px}.teacher-attendance-rows{display:grid;grid-gap:10px;gap:10px;max-height:min(60vh,640px);overflow:auto;padding-right:2px}.teacher-attendance-empty{border:1px solid #e6e8ee;border-radius:14px;background:#fff;padding:14px}.teacher-attendance-empty p{margin:0}.teacher-attendance-row-card{border:1px solid #e6e8ee;border-radius:14px;background:#fff;padding:10px 12px;display:grid;grid-gap:10px;gap:10px}.teacher-attendance-row-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.teacher-attendance-row-identity{min-width:0;display:grid;grid-gap:3px;gap:3px}.teacher-attendance-row-identity small,.teacher-attendance-row-identity strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-attendance-row-tags{display:inline-flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.attendance-pill-warn{background:rgba(245,158,11,.14);color:#9a5d06}.attendance-pill-ok{background:rgba(34,197,94,.14);color:#17743e}.attendance-pill-neutral{background:#eef2f8;color:#4d6177}.attendance-pill-danger{background:rgba(239,68,68,.14);color:#9f1f1f}.teacher-attendance-segment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.teacher-attendance-segment-grid form{min-width:0}.teacher-attendance-btn{width:100%;min-height:44px;border:1px solid #d9e0ea;border-radius:10px;background:#fff;color:#25364b;font-weight:700;font-size:13px;padding:0 10px}.teacher-attendance-btn.tone-ok.active{border-color:#2f8f58;background:#eaf8ee}.teacher-attendance-btn.tone-neutral.active{border-color:#95aac1;background:#f4f7fb}.teacher-attendance-btn.tone-danger.active{border-color:#cb5a52;background:#fff1f0}.teacher-attendance-accordion{border:1px solid #e6e8ee;border-radius:14px;background:#fff;overflow:hidden}.teacher-attendance-accordion>summary{list-style:none;cursor:pointer;padding:12px 14px;font-weight:700;font-size:14px;border-bottom:1px solid #edf0f5}.teacher-attendance-accordion>summary::-webkit-details-marker{display:none}.teacher-attendance-accordion[open]>summary{background:#fcfdff}.teacher-attendance-accordion-body{padding:12px;display:grid;grid-gap:10px;gap:10px}.teacher-attendance-accordion-body .grid{gap:10px}.teacher-attendance-accordion-danger{border-color:#efcfcf}.teacher-attendance-confirm>summary{list-style:none;cursor:pointer}.teacher-attendance-confirm>summary::-webkit-details-marker{display:none}.teacher-attendance-confirm-body{margin-top:8px;display:grid;grid-gap:8px;gap:8px}.teacher-attendance-details-list p{margin:0}.teacher-attendance-footer{position:-webkit-sticky;position:sticky;bottom:0;z-index:6;border-top:1px solid #e6e8ee;background:#fff;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:10px}.note-modal-shell{width:min(980px,96vw);max-height:86vh;border-radius:16px;padding:0;gap:0;background:#fff}.note-modal-header{position:-webkit-sticky;position:sticky;top:0;z-index:4;border-bottom:1px solid #e6e8ee;background:#fff;padding:12px 16px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.note-modal-header-main{min-width:0;display:grid;grid-gap:4px;gap:4px}.note-modal-header-main .modal-title{margin:0;padding-right:0}.note-modal-header-main p{margin:0}.note-modal-header-meta{display:flex;align-items:center;gap:6px}.note-modal-form{display:grid;grid-gap:0;gap:0}.note-modal-tabs{display:flex;align-items:center;gap:8px;overflow:auto;padding:10px 16px;border-bottom:1px solid #e6e8ee}.note-modal-tab{display:inline-flex;align-items:center;justify-content:center;min-height:34px;border:1px solid #d9e0ea;border-radius:999px;padding:0 12px;color:#33475b;font-weight:600;text-decoration:none;white-space:nowrap}.note-modal-tab.active{border-color:#d4af37;background:rgba(212,175,55,.14);color:#3b2f16}.note-modal-body{padding:12px 16px}.note-modal-panel{display:none;gap:10px}.note-modal-panel.active{display:grid}.note-modal-footer{position:-webkit-sticky;position:sticky;bottom:0;z-index:4;border-top:1px solid #e6e8ee;background:#fff;padding:12px 16px;display:flex;justify-content:space-between;align-items:center;gap:10px}.note-modal-empty{padding:16px}.note-template-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px;align-items:center}.note-destination-radios{grid-gap:8px;gap:8px}.note-destination-radios,.note-recipient-summary{border:1px solid #e6e8ee;border-radius:12px;padding:10px;display:grid}.note-recipient-summary{grid-gap:4px;gap:4px}.note-recipient-picker>summary{list-style:none;cursor:pointer;font-weight:700}.note-recipient-picker>summary::-webkit-details-marker{display:none}.attendance-v2-body{display:grid;grid-template-columns:280px 1fr;grid-gap:12px;gap:12px;min-height:min(62vh,620px);padding:12px 16px}.attendance-v2-list{border:1px solid #e6e8ee;border-radius:14px;padding:10px;display:grid;grid-gap:10px;gap:10px;overflow:hidden}.attendance-v2-list-filters{display:flex;gap:8px}.attendance-v2-list-filters .mode-link{min-height:32px;padding:0 10px;border-radius:999px;font-size:12px}.attendance-v2-students{display:grid;grid-gap:8px;gap:8px;overflow:auto}.attendance-v2-student-row{text-decoration:none;color:inherit;border:1px solid #e6e8ee;border-radius:10px;background:#fff;padding:8px;display:flex;justify-content:space-between;align-items:center;gap:8px}.attendance-v2-student-row.active{border-color:#d4af37;background:rgba(212,175,55,.12)}.attendance-v2-student-main{min-width:0;display:grid;grid-gap:2px;gap:2px}.attendance-v2-student-main small,.attendance-v2-student-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attendance-v2-main{border:1px solid #e6e8ee;border-radius:14px;padding:12px;display:grid;grid-gap:12px;gap:12px;overflow:auto}.attendance-v2-main-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.attendance-v2-main-head h3{margin:0}.attendance-v2-main-head p{margin:4px 0 0}.attendance-v2-nav-links{display:flex;gap:8px}.attendance-v2-status-form,.presence-buttons-group{display:grid;grid-gap:10px;gap:10px}.presence-buttons-group{border:1px solid #e6e8ee;border-radius:12px;padding:10px}.presence-buttons-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.presence-button{min-height:44px;border-radius:10px;border:1px solid #d9e0ea;background:#fff;color:#27364a;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 12px;font-size:13px;font-weight:700;cursor:pointer}.presence-button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.presence-button small{font-size:11px;font-weight:700;opacity:.8}.presence-button.tone-warn.active{border-color:#d4af37;background:rgba(212,175,55,.14)}.presence-button.tone-ok.active{border-color:#2f8f58;background:#eaf8ee}.presence-button.tone-neutral.active{border-color:#95aac1;background:#f4f7fb}.presence-button.tone-danger.active{border-color:#cb5a52;background:#fff1f0}.presence-group-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}.presence-dirty-flag{color:#8d5e00;font-weight:700;font-size:12px}.attendance-v2-notes{border:1px solid #e6e8ee;border-radius:12px;padding:10px}.attendance-v2-notes>summary{list-style:none;cursor:pointer;font-weight:700}.attendance-v2-notes>summary::-webkit-details-marker{display:none}.attendance-v2-note-form{margin-top:10px;display:grid;grid-gap:10px;gap:10px}.day-details-list{max-height:min(60vh,520px);overflow:auto;padding-right:4px}.day-details-item{text-decoration:none;color:inherit;display:grid;grid-gap:6px;gap:6px}.day-details-item:hover{border-color:#d2b184;background:#fff8ed}.icon-btn{width:38px;height:38px;padding:0;border-radius:10px;font-size:18px;line-height:1}@media (max-width:1200px){.agenda-columns{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:980px){.grid.cols-4{grid-template-columns:1fr}.span-3,.span-4{grid-column:auto}.attendance-v2-body{grid-template-columns:1fr;max-height:none;min-height:0}.attendance-v2-students{max-height:220px}.agenda-columns{grid-template-columns:1fr}.modal-overlay{padding:10px}.modal-panel{width:min(100vw,100%);max-height:92vh;padding:8px}.message-detail-modal{padding:0}.message-detail-shell{padding:10px}.message-detail-kv-row,.message-detail-meta-grid{grid-template-columns:1fr}.message-detail-kv-row{gap:2px}.note-modal-shell,.session-attendance-modal-v2{width:min(100vw,100%);max-height:92vh;padding:0}.modal-create-session{padding:8px}.session-slot-modal{width:min(100vw,100%);max-height:96vh;padding:10px}.session-slot-body,.teacher-attendance-body{grid-template-columns:1fr}.teacher-attendance-rows{max-height:none}.session-bookings-summary-list{max-height:200px}.session-edit-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.recurrence-grid,.session-edit-panel .grid.cols-2{grid-template-columns:1fr}.recurrence-settings{gap:8px}.create-session-actions{position:static;margin:0;padding:0;border-top:0;background:transparent}.create-session-section{padding:10px}}@media (max-width:900px){.teacher-attendance-overlay{padding:0;align-items:stretch}.teacher-attendance-modal{width:100vw;height:100vh;max-height:100vh;border-radius:0;border:none}.teacher-attendance-body,.teacher-attendance-footer,.teacher-attendance-header{padding-left:12px;padding-right:12px}.teacher-attendance-header{min-height:56px}.teacher-attendance-row-head{flex-direction:column;align-items:flex-start}.teacher-attendance-row-tags{justify-content:flex-start}.teacher-attendance-footer{flex-wrap:wrap}.teacher-attendance-footer .row{width:100%;justify-content:space-between}}@media (max-width:767px){.note-modal-shell,.session-attendance-modal-v2{width:100vw;height:100vh;max-height:100vh;border-radius:0;border:none}.note-modal-body,.note-modal-footer,.note-modal-header,.note-modal-tabs{padding-left:12px;padding-right:12px}.note-modal-tabs{gap:6px}.note-modal-tab{min-height:32px;padding:0 10px}.note-modal-footer{flex-wrap:wrap}.note-modal-footer .row{width:100%;justify-content:flex-end}.attendance-v2-list{max-height:34vh}.attendance-v2-main{max-height:calc(100vh - 310px)}.attendance-v2-main-head{flex-direction:column;align-items:flex-start}.attendance-v2-nav-links{width:100%;justify-content:space-between}.presence-buttons-grid{grid-template-columns:1fr}.session-slot-overlay{padding:0;align-items:stretch}.session-slot-modal{width:100vw;height:100vh;max-height:100vh;border-radius:0;border:none;padding:8px;overflow:auto}.session-slot-header{position:-webkit-sticky;position:sticky;top:0;z-index:6;background:#fff;border-bottom:1px solid #e6e8ee;padding-bottom:8px}.session-slot-title{font-size:18px}.session-slot-badges{margin-top:4px}.session-slot-section>summary{min-height:46px;font-size:15px}.session-slot-attendee-row{grid-template-columns:1fr;align-items:start}.session-slot-attendee-actions{justify-content:flex-start;width:100%}.session-slot-attendee-actions .mode-link{flex:1 1 auto;justify-content:center}.session-slot-toolbar{display:none}.session-slot-overflow-panel{max-width:min(300px,86vw)}.session-enroll-submit{position:-webkit-sticky;position:sticky;bottom:0;background:#fff;padding-top:8px;border-top:1px solid #e6e8ee}.session-enroll-submit button{width:100%}.session-edit-modal-shell{width:100vw;height:100vh;max-height:100vh;border-radius:0;border:none}.session-edit-shell-header{padding:10px 12px}.session-edit-tabs{display:flex;overflow:auto;gap:6px;padding:8px 12px}.session-edit-tab{min-width:180px;padding:8px}.session-edit-shell-body{min-height:0;padding:10px 12px 14px}.session-edit-shell-footer{padding:10px 12px}.session-edit-shell-footer .reset-link,.session-edit-shell-footer button{flex:1 1;justify-content:center}}.config-layout{display:grid;grid-template-columns:300px minmax(0,1fr);grid-gap:14px;gap:14px;align-items:start}.config-nav-panel{display:grid;grid-gap:12px;gap:12px;position:-webkit-sticky;position:sticky;top:14px}.config-main-nav,.config-sub-nav{display:grid;grid-gap:8px;gap:8px}.config-main-link,.config-sub-link{display:block;text-decoration:none;border:1px solid var(--border);border-radius:10px;background:#fffdf9;color:#4a3922;padding:10px 12px;font-weight:600}.config-main-link.active,.config-sub-link.active{background:#f0d7b2;border-color:#d7ba8f}.config-main-content{display:grid;grid-gap:14px;gap:14px}.config-error-list{margin:10px 0 0;padding:0;list-style:none;display:grid;grid-gap:8px;gap:8px}.config-form-grid{gap:12px}.config-form-grid label{display:grid;grid-gap:6px;gap:6px}.solfege-config-form{display:grid;grid-gap:12px;gap:12px}.solfege-slot-editor{display:grid;grid-gap:8px;gap:8px;padding:10px;border:1px solid #decfb7;border-radius:10px;background:#fffdf9}.solfege-slot-editor h4{margin:0;font-size:15px}.solfege-slot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.solfege-slot-row{border:1px solid #eadcc8;border-radius:10px;padding:8px;background:#fff;display:grid;grid-template-columns:96px minmax(0,1fr) minmax(0,1fr);grid-gap:8px;gap:8px;align-items:end}.solfege-slot-row-index{margin:0;font-size:12px;font-weight:700;color:#6c5535;align-self:center}.solfege-slot-row label{display:grid;grid-gap:4px;gap:4px;margin:0}.solfege-slot-row-end{grid-column:1/-1;margin:0;font-size:12px}.solfege-config-full-row{grid-column:1/-1!important}@media (min-width:981px) and (max-width:1080px){.solfege-config-form .cols-span-4{grid-column:1/-1}.solfege-config-form .cols-span-2{grid-column:span 2}}@media (max-width:1200px){.solfege-slot-grid,.solfege-slot-row{grid-template-columns:1fr}.solfege-slot-row{align-items:stretch}}.quote-template-editor-shell{border:1px solid #d7c6a8;border-radius:10px;background:#fffdf9;overflow:hidden;position:relative;display:grid;grid-template-rows:auto auto minmax(0,1fr);min-height:320px}.quote-template-toolbar{display:flex;flex-wrap:wrap;gap:8px;padding:8px;border-bottom:1px solid #e6d9c4;background:#fff7ea;position:-webkit-sticky;position:sticky;top:0;z-index:12;box-shadow:0 1px 0 #e6d9c4}.quote-template-toolbar .toolbar-group{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px}.quote-template-context-bar{display:flex;flex-wrap:wrap;gap:8px;padding:8px 10px;border-bottom:1px solid #efe3d1;background:#fffaf1}.quote-template-context-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 10px;background:#f7ecd9;color:#5b4525;font-size:12px;font-weight:600;line-height:1.2}.quote-template-context-pill strong{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#8b6941}.quote-template-editor-surface{min-height:340px;padding:12px;background:#fff;color:#1f2937;line-height:1.5;font-size:14px}.quote-template-editor-surface:focus{outline:none}.quote-template-editor-surface:focus-visible{box-shadow:inset 0 0 0 2px #4d90fe}.quote-template-inline-placeholder{min-height:240px;padding:14px;background:#fff;border-top:1px solid #e6d9c4}.quote-template-editor-scroll{overflow:auto;max-height:62vh;background:#fff}.quote-template-editor-modal{width:min(1200px,96vw);max-height:92vh;overflow:hidden}.wysiwyg-editor-modal{width:min(1100px,96vw);max-height:92vh;overflow:hidden}.quote-template-editor-modal .quote-template-editor-shell,.wysiwyg-editor-modal .quote-template-editor-shell{min-height:0;height:calc(92vh - 140px)}.quote-template-editor-modal .quote-template-editor-scroll,.wysiwyg-editor-modal .quote-template-editor-scroll{max-height:none}.calendar-inline-help{border:1px dashed #d7ba8f;border-radius:10px;background:#fff8ec;padding:10px 12px;display:grid;grid-gap:4px;gap:4px}.calendar-inline-help.compact{padding-top:8px;padding-bottom:8px}.calendar-inline-help strong{color:#4a3922}.calendar-textarea-field textarea{min-height:180px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;line-height:1.4}.calendar-locations-fieldset{border:1px solid var(--border);border-radius:10px;padding:10px 12px;display:grid;grid-gap:8px;gap:8px}.calendar-locations-fieldset legend{font-weight:700;padding:0 6px}.calendar-location-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:8px 12px;gap:8px 12px}.calendar-feedback-banner{display:grid;grid-gap:6px;gap:6px;border-width:1px}.calendar-feedback-banner p,.calendar-feedback-banner strong{margin:0}.calendar-feedback-banner.calendar-feedback-banner-ok{border-color:#b9e1c1;background:linear-gradient(180deg,#edf9f0,#f7fdf8)}.calendar-feedback-banner.calendar-feedback-banner-error{border-color:#e5b9b7;background:linear-gradient(180deg,#fff1f0,#fff8f8)}.status-pill.status-info{background:#e9f2ff;color:#254f8f}.calendar-editor-modal{width:min(1120px,97vw);max-height:92vh;overflow:auto;padding:18px;gap:16px}.calendar-editor-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-right:56px}.calendar-editor-header p{margin:4px 0 0}.calendar-editor-form{display:grid;grid-gap:18px;gap:18px}.calendar-editor-section{border:1px solid #e5d4bd;border-radius:16px;background:#fffdf8;padding:16px;display:grid;grid-gap:14px;gap:14px}.calendar-editor-section-header{display:grid;grid-gap:4px;gap:4px}.calendar-editor-section-header h4,.calendar-editor-section-header p{margin:0}.calendar-editor-text-grid{align-items:start}.calendar-editor-toggle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px 16px;gap:12px 16px}.calendar-editor-footer{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-top:6px}.calendar-editor-footer-copy{display:grid;grid-gap:10px;gap:10px;max-width:680px}.calendar-editor-footer-copy p{margin:0}.wysiwyg-editor{width:100%;border:1px solid var(--border);border-radius:10px;background:#fffdf9;padding:10px 12px;min-height:220px;line-height:1.5;overflow:auto}.wysiwyg-editor:focus{outline:2px solid rgba(208,132,48,.2);border-color:#d08430}.activity-list{gap:10px}.activity-row-link{display:grid;grid-template-columns:12px minmax(0,1fr) auto auto;align-items:center;grid-gap:12px;gap:12px;border:1px solid var(--border);border-radius:10px;background:#fffdf9;padding:10px;color:inherit;text-decoration:none}.activity-row-link:hover{border-color:#d2b184;background:#fff8ec}.activity-row-color{width:12px;height:100%;min-height:42px;border-radius:999px}.activity-row-main{display:grid;grid-gap:2px;gap:2px;min-width:0}.activity-row-main small,.activity-row-main strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-row-meta{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.activity-modal-panel{width:min(1100px,96vw)}.messaging-template-modal{width:min(1080px,97vw);max-height:90vh}.messaging-template-modal-header{padding:8px 56px 2px 4px}.messaging-template-modal-title{font-size:44px;line-height:1.05;letter-spacing:.2px}.messaging-template-modal-card{padding:14px}.messaging-template-form{gap:14px}.messaging-template-title-line{margin:0;font-size:32px;line-height:1.1;color:#2b2419}.messaging-editor-label{gap:8px}.messaging-editor-shell{border:1px solid #dcc6a4;border-radius:10px;overflow:hidden;background:#fffdfa}.messaging-editor-toolbar{display:flex;align-items:center;gap:12px;padding:8px 12px;border-bottom:1px solid #eadcc8;background:#f9f3e8;color:#5c4b33;font-weight:700}.messaging-editor-body{border:0;border-radius:0;resize:vertical;min-height:420px;background:#fff;font-family:Avenir Next,Segoe UI,sans-serif}.messaging-editor-body:focus{outline:none;box-shadow:inset 0 0 0 1px #d9b98a}.messaging-template-actions{border-top:1px solid #e7d6bf;padding-top:12px;align-items:center}.rich-message-editor{display:grid;grid-gap:8px;gap:8px}.rich-message-editor-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.segmented-inline{display:inline-flex;border:1px solid #d6c3a8;border-radius:10px;overflow:hidden}.segmented-inline button{border:0;border-right:1px solid #d6c3a8;background:#fff;color:#4d3b26;font-weight:700;padding:6px 12px;cursor:pointer}.segmented-inline button:last-child{border-right:0}.segmented-inline button.active{background:#f1ddba}.rich-message-textarea{min-height:220px;font-family:Avenir Next,Segoe UI,sans-serif}.rich-message-source{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.rich-message-shell{border:1px solid #dcc6a4;border-radius:10px;overflow:hidden;background:#fffdfa}.rich-message-toolbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;border-bottom:1px solid #eadcc8;background:#f9f3e8;padding:8px 10px}.rich-message-toolbar button{min-width:34px;font-weight:700;cursor:pointer}.rich-message-toolbar button,.rich-message-toolbar select{border:1px solid #d6c3a8;border-radius:8px;background:#fff;color:#3b2e1d;padding:4px 8px}.rich-message-toolbar select{min-height:32px;font-weight:600}.toolbar-group{flex-wrap:wrap}.toolbar-color-field,.toolbar-group{display:inline-flex;align-items:center;gap:6px}.toolbar-color-field{font-size:12px;font-weight:700;color:#5a4325}.toolbar-color-field input[type=color]{width:28px;height:28px;padding:0;border:1px solid #d6c3a8;border-radius:6px;background:#fff}.rich-message-surface{min-height:260px;padding:10px;outline:none;background:#fff;white-space:pre-wrap}.rich-message-surface:focus{box-shadow:inset 0 0 0 1px #d9b98a}.hidden-file-input{display:none}.client-create-modal{width:min(1180px,97vw);max-height:90vh}.activity-modal-header{align-items:start;padding-right:56px}.activity-modal-form,.activity-modal-tabs-shell{display:grid;grid-gap:16px;gap:16px}.activity-modal-tablist{display:inline-flex;align-items:center;gap:8px;padding:6px;border:1px solid #e4d6c1;border-radius:16px;background:#fffaf1}.activity-modal-tab{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border:1px solid transparent;border-radius:12px;background:transparent;color:#6b5738;font-weight:700;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}.activity-modal-tab:hover{border-color:#e0c7a1;color:#3d2c15}.activity-modal-tab.is-active{border-color:#d4b07a;background:linear-gradient(180deg,#fff4dc,#fffbf3);color:#342411;box-shadow:0 10px 24px rgba(80,54,16,.08)}.activity-modal-tabpanel{display:grid;grid-gap:16px;gap:16px}.activity-modal-zone-grid{align-items:start}.activity-modal-section{border:1px solid #e5d4bd;border-radius:16px;background:#fffdf8;padding:16px;display:grid;grid-gap:14px;gap:14px}.activity-modal-section.is-accent{background:linear-gradient(180deg,#fff8ec,#fffdf8);border-color:#dcc09a}.activity-modal-section-header{display:grid;grid-gap:4px;gap:4px}.activity-modal-section-header h4{margin:0;font-size:20px;line-height:1.1;color:#2f2415}.activity-modal-section-header p{margin:0;color:#6c5738}.activity-toggle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.activity-toggle-card{display:grid;grid-template-columns:24px minmax(0,1fr);grid-gap:10px;gap:10px;align-items:start;min-height:100%;padding:12px;border:1px solid #e3d4bd;border-radius:14px;background:#fff;cursor:pointer}.activity-toggle-card.is-emphasis{border-color:#d8b98a;background:#fff4dd;box-shadow:inset 0 0 0 1px hsla(36,51%,70%,.35)}.activity-toggle-checkbox{display:flex;align-items:center;justify-content:center;padding-top:2px}.activity-toggle-checkbox input[type=checkbox]{width:18px;height:18px;margin:0}.activity-toggle-copy{display:grid;grid-gap:4px;gap:4px}.activity-toggle-copy strong{color:#382913;font-size:15px;line-height:1.25}.activity-toggle-copy small{color:#6b583a;line-height:1.45}.activity-content-grid,.activity-planning-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.activity-content-picker{display:grid;grid-gap:12px;gap:12px}.activity-content-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.activity-content-search{display:grid;grid-gap:6px;gap:6px;min-width:0;flex:1 1 360px}.activity-content-toolbar-stats{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.activity-content-stat{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border:1px solid #e4d6c1;border-radius:999px;background:#fffaf1;color:#6b5738;font-size:13px;font-weight:700}.activity-content-card{display:grid;grid-template-columns:24px minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:start;padding:12px;border:1px solid #e3d4bd;border-radius:14px;background:#fff;cursor:pointer}.activity-content-card:hover{border-color:#d8b98a;background:#fff8ec}.activity-content-card.is-selected{border-color:#d4b07a;background:linear-gradient(180deg,#fff8ec,#fffcf5);box-shadow:inset 0 0 0 1px hsla(36,51%,65%,.3)}.activity-content-card.is-hidden{display:none}.activity-content-copy{display:grid;grid-gap:4px;gap:4px;min-width:0}.activity-content-copy strong{color:#382913;font-size:15px;line-height:1.25}.activity-content-copy small{color:#6b583a;line-height:1.45}.activity-content-empty{grid-gap:6px;gap:6px;padding:12px}.activity-content-empty,.activity-content-no-results{display:grid;border:1px dashed #d7c1a0;border-radius:14px;background:#fffaf1}.activity-content-no-results{grid-gap:4px;gap:4px;padding:12px 14px}.activity-content-no-results strong{color:#3a2913}.activity-content-no-results small{color:#6b583a}.activity-planning-card{display:grid;grid-template-columns:24px minmax(0,1fr);grid-gap:10px;gap:10px;align-items:start;padding:12px;border:1px solid #e3d4bd;border-radius:14px;background:#fff;cursor:pointer}.activity-planning-card:hover{border-color:#d8b98a;background:#fff8ec}.activity-planning-checkbox{display:flex;align-items:center;justify-content:center;padding-top:2px}.activity-planning-checkbox input[type=checkbox]{width:18px;height:18px;margin:0}.activity-planning-copy{display:grid;grid-gap:4px;gap:4px}.activity-planning-copy strong{color:#382913;font-size:15px;line-height:1.25}.activity-planning-copy small{color:#6b583a;line-height:1.45}.activity-modal-note{margin:0;padding:10px 12px;border:1px dashed #d3b58a;border-radius:12px;background:#fff8eb;color:#5e4727}.activity-modal-footer{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.activity-modal-footer p{margin:0;max-width:680px}@media (max-width:980px){.calendar-editor-footer,.calendar-editor-header{display:grid}.calendar-editor-toggle-grid{grid-template-columns:minmax(0,1fr)}}.top-gap-sm{margin-top:8px}.required-star{color:#b2352f;font-weight:700}.activity-modal-grid{align-items:end}.activity-modal-grid label{min-width:0}.modal-close-x{display:inline-flex;align-items:center;justify-content:center;position:absolute;top:10px;right:10px;width:38px;height:38px;border:1px solid var(--border);border-radius:10px;background:#fff8ec;color:#402e1a;text-decoration:none;font-size:28px;line-height:1}.modal-close-x:hover{background:#f2d9b2}.activity-color-control{display:inline-flex;align-items:center;gap:8px}.activity-color-control input[type=color]{width:48px;height:40px;border:1px solid var(--border);border-radius:10px;background:#fff;padding:2px}.activity-color-hex{width:110px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;text-transform:uppercase}.activity-color-swatch{width:20px;height:20px;border-radius:6px;border:1px solid var(--border)}.config-note-box{border:1px solid #deceb5;border-radius:10px;background:#fff4dc;padding:10px}.config-subsection{margin:0;border:1px solid var(--border);border-radius:10px;background:#fffdf9;padding:10px;display:grid;grid-gap:8px;gap:8px}.config-subsection legend{font-weight:700;padding:0 6px}.config-payment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px 14px;gap:8px 14px}@media (max-width:980px){.activity-content-grid,.activity-modal-zone-grid,.activity-planning-grid,.activity-toggle-grid{grid-template-columns:1fr}.activity-modal-footer{flex-direction:column;align-items:stretch}.activity-content-toolbar,.activity-modal-tablist{display:grid}.activity-modal-tablist{grid-template-columns:repeat(2,minmax(0,1fr))}.activity-content-toolbar-stats{justify-content:flex-start}}.config-currency-fieldset{margin:0;border:1px solid var(--border);border-radius:10px;background:#fffdf9;padding:10px;display:grid;grid-gap:10px;gap:10px}.config-currency-fieldset legend{font-weight:700;padding:0 6px}.config-currency-checks{gap:14px;flex-wrap:wrap}.config-payment-line{justify-content:flex-start}.config-products-preview{margin-top:10px;display:grid;grid-gap:8px;gap:8px}.config-products-chip-list{display:flex;flex-wrap:wrap;gap:8px}.config-formula-table td{vertical-align:top}.formula-tag-row{margin-top:6px}.formula-info-col,.formula-restrictions-list{display:grid;grid-gap:4px;gap:4px}.formula-restrictions-list{margin:4px 0 0;padding-left:18px}.formula-actions-cell{display:grid;grid-gap:8px;gap:8px;justify-items:start}.admin-formulas-page{gap:14px}.formulas-admin-filters{flex-wrap:wrap;align-items:end;gap:10px}.formulas-admin-filters label{display:grid;grid-gap:4px;gap:4px;min-width:180px}.formulas-admin-table-wrap{overflow-x:auto}.formulas-admin-table td{vertical-align:top}.formula-meta-code{margin-top:4px;color:#637287;font-size:12px}.formula-diffusion-block{display:grid;grid-gap:6px;gap:6px}.formula-diffusion-actions{flex-wrap:wrap;gap:8px}.text-ok{color:#0f8b40}.text-danger{color:#a12f2f}.config-payment-fieldset,.config-restrictions-fieldset{margin:0;border:1px solid var(--border);border-radius:10px;background:#fffdf9;padding:10px;display:grid;grid-gap:10px;gap:10px}.config-payment-fieldset legend,.config-restrictions-fieldset legend{font-weight:700;padding:0 6px}.config-restrictions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.config-restriction-row{border:1px solid var(--border);border-radius:10px;background:#fffaf2;padding:10px;display:grid;grid-gap:8px;gap:8px}.config-restriction-row h4{margin:0;font-size:14px}.config-placeholder-card{min-height:180px}@media (max-width:1200px){.config-layout{grid-template-columns:1fr}.config-nav-panel{position:static}}@media (max-width:900px){.config-payment-grid,.config-restrictions-grid{grid-template-columns:1fr}.activity-row-link{grid-template-columns:12px minmax(0,1fr);align-items:start}.activity-row-main,.activity-row-meta{grid-column:2}.activity-row-link .mode-link{grid-column:2;justify-self:start}.activity-row-main small{white-space:normal}.activity-modal-panel{width:min(100vw,100%)}.messaging-template-modal-title{font-size:32px}.messaging-editor-body{min-height:320px}.client-create-modal{width:min(100vw,100%);max-height:92vh}}.formula-editor-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);grid-gap:14px;gap:14px}.formula-editor-main,.formula-editor-side{align-self:start}.formula-editor-side{display:grid;grid-gap:10px;gap:10px}.formula-editor-footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.config-dynamic-section{border:1px solid var(--border);border-radius:12px;background:#fffaf2;padding:12px}.config-dynamic-section,.formula-dynamic-list{display:grid;grid-gap:10px;gap:10px}.formula-dynamic-row{border:1px solid var(--border);border-radius:10px;background:#fffdf8;padding:10px;display:grid;grid-gap:8px;gap:8px}.formula-dynamic-row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.formula-dynamic-row-actions .muted{margin-left:auto}.formula-row-delete-btn{gap:6px;min-height:34px;min-width:112px;padding:8px 12px;line-height:1.1;white-space:nowrap;flex-shrink:0}.formula-row-delete-btn,.formula-row-delete-icon{display:inline-flex;align-items:center;justify-content:center}.formula-row-delete-icon{width:14px;height:14px;flex:0 0 14px;font-size:13px;line-height:1}.icon-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px}.config-restriction-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px 12px;gap:8px 12px}@media (max-width:1100px){.formula-editor-grid{grid-template-columns:1fr}}@media (max-width:900px){.config-restriction-form-grid{grid-template-columns:1fr}}.client-portal-shell{display:grid;grid-template-columns:240px minmax(0,1fr);background:#f0f2f7}.client-portal-sidebar{background:#20242b;color:#f4f6f8;display:grid;grid-gap:14px;gap:14px;align-content:start;border-right:1px solid #30384a}.client-brand{display:grid;grid-gap:2px;gap:2px}.client-brand strong{color:#e8b363;font-size:24px}.client-brand small{color:#c9d3e2}.client-user-card{border:1px solid #364154;background:#252b36;border-radius:12px;display:grid;grid-gap:4px;gap:4px}.client-user-card strong{color:#f5f7fa}.client-user-card small{color:#c6cfdd}.client-nav{display:grid;grid-gap:8px;gap:8px}.client-nav-link{display:flex;gap:8px;align-items:center;text-decoration:none;color:#d9e0eb;border-radius:10px;padding:10px 12px}.client-nav-link:hover{border-color:#455066;background:#2a313f}.client-nav-link.active{border-color:#5d6b85;background:#303949;color:#fff}.client-logout{margin-top:auto;display:flex;align-items:center;gap:8px;color:#dde4ef}.client-logout button{min-width:44px}.client-portal-main{display:grid;grid-template-rows:auto 1fr}.client-topbar{background:#20242b;color:#f4f6f8;border-bottom:1px solid #30384a;padding:14px 18px;display:flex;justify-content:space-between;gap:14px;align-items:center;flex-wrap:wrap}.client-topbar .muted{color:#cad2df}.client-home-link:hover{text-decoration:underline}.client-content{padding:16px;display:grid;grid-gap:12px;gap:12px}.client-filter-grid{margin-top:10px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:10px;gap:10px}.client-filter-grid .span-2{grid-column:span 2}.client-planning-shell{display:grid;grid-gap:12px;gap:12px;border-radius:20px;border:1px solid #d2b78f;background:linear-gradient(180deg,#fff9ef,#fff5e5)}.client-planning-heading{gap:10px;align-items:flex-start}.client-planning-heading h2{margin:0}.client-planning-heading p{margin:4px 0 0}.client-planning-filter-form{display:grid;grid-gap:10px;gap:10px}.client-planning-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:end;border-radius:16px;border:1px solid #2f3138;background:linear-gradient(160deg,#191d25,#111419);padding:10px}.client-planning-pill{display:grid;grid-gap:4px;gap:4px;padding:8px 10px;border-radius:14px;border:1px solid #3a3f4f;background:#2f3440}.client-planning-pill>span{color:#d7deeb;font-size:12px;font-weight:700}.client-planning-pill input,.client-planning-pill select{width:100%;border:1px solid #4f5567;background:#f9fbff;border-radius:10px;padding:9px 10px}.client-planning-pill-location{min-width:0}.client-planning-pill-date input{min-width:150px}.client-planning-toolbar-actions{display:flex;align-items:stretch;gap:8px;flex-wrap:wrap}.client-planning-apply{min-width:124px;background:#2f6dee;color:#f6f8ff}.client-planning-apply,.client-planning-reset{align-self:stretch;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;line-height:1.2}.client-planning-reset{min-width:90px;border-radius:10px;background:#f0d7b2;color:#4c3517;text-decoration:none;font-weight:700;padding:10px 12px}.client-planning-advanced{border:1px solid #d6bd98;background:#fff7ea;padding:6px 10px 10px}.client-planning-advanced.has-active summary{background:#f2cf98;border-color:#c79a58}.client-planning-advanced summary{list-style:none;cursor:pointer;font-weight:700;display:inline-flex;align-items:center;justify-content:center;padding:8px 14px;border:1px solid #d6bd98;border-radius:999px;background:#f2dfc2;color:#5c421e}.client-planning-advanced summary::-webkit-details-marker{display:none}.client-planning-advanced-grid{margin-top:10px;display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.client-planning-date-nav{display:grid;grid-template-columns:auto 1fr auto;grid-gap:8px;gap:8px;align-items:center}.client-date-nav-btn{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #d7c09d;border-radius:12px;background:#fff9ef;color:#3f2c13;text-decoration:none;font-weight:700}.client-date-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(70px,1fr);grid-gap:8px;gap:8px;overflow-x:auto;padding-bottom:2px}.client-date-pill{text-decoration:none;border:1px solid #dcc6a4;border-radius:14px;background:#f7efe2;display:grid;justify-items:center;grid-gap:2px;gap:2px;padding:6px 8px;min-height:72px}.client-date-pill span{font-size:11px;letter-spacing:.4px;color:#685640;text-transform:uppercase}.client-date-pill strong{font-size:26px;line-height:1;color:#22190f}.client-date-pill small{font-size:11px;letter-spacing:.2px;color:#8a7660}.client-date-pill.active{background:#141821;border-color:#141821}.client-date-pill.active small,.client-date-pill.active span,.client-date-pill.active strong{color:#f7f9ff}.client-planning-modes{gap:10px}.client-planning-modes .mode-link{min-height:36px}.client-agenda-grid{margin-top:12px;align-items:start}.client-agenda-day{min-height:0;display:grid;grid-gap:8px;gap:8px;align-content:start}.client-agenda-day .agenda-day-header h3{font-size:22px;line-height:1.1;font-weight:800;letter-spacing:.3px;text-transform:uppercase}.client-agenda-day-week .agenda-day-header h3{font-size:16px;line-height:1.1}.client-agenda-day-week .agenda-day-header{margin-bottom:4px}.client-agenda-day .agenda-day-header .badge{min-width:30px;text-align:center}.client-session-card{display:grid;grid-template-columns:86px minmax(0,1fr);grid-gap:10px;gap:10px;align-items:stretch}.client-session-card-compact{grid-template-columns:1fr;gap:0}.client-session-card-compact .client-session-timebox{display:none}.client-session-card-booked .client-agenda-event{background:transparent;border-color:transparent}.client-session-card-booked{border:1px solid #a7d9b1;border-radius:12px;background:#e9f7ec;overflow:hidden}.client-session-card-booked .client-session-timebox{background:hsla(0,0%,100%,.64);border-color:rgba(40,86,61,.18)}.client-session-card-booked .client-session-cta{background:hsla(0,0%,100%,.92);color:#28563d;border-color:rgba(40,86,61,.16)}.client-session-link{display:block;color:inherit;text-decoration:none}.client-session-link .client-session-card{transition:transform .12s ease,box-shadow .12s ease}.client-session-link:focus-visible .client-session-card,.client-session-link:hover .client-session-card{transform:translateY(-1px);box-shadow:0 8px 18px rgba(16,11,7,.12)}.client-session-link:focus-visible{outline:none}.client-session-link-compact .client-agenda-event{margin-top:6px}.client-session-timebox{border:1px solid #e0d2bc;border-radius:14px;background:#f3efe8;display:grid;align-content:center;justify-items:center;grid-gap:2px;gap:2px;padding:8px 6px;color:#4f4740}.client-session-timebox strong{font-size:15px;line-height:1}.client-session-timebox small{font-size:12px;line-height:1;color:#7d746a}.client-agenda-event{border-radius:16px;background:#f5f5f8;border-color:#ece8dd;padding:10px;gap:6px;align-content:start}.client-session-card-compact .client-agenda-event{border-radius:12px;padding:8px;gap:4px}.client-event-head{align-items:flex-start}.client-event-topline{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.client-event-head .event-title{margin:0;font-size:16px;line-height:1.22;-webkit-line-clamp:2}.client-session-card-compact .client-event-head .event-title{font-size:14px;line-height:1.15;-webkit-line-clamp:2}.client-event-color{flex:0 0 auto;width:42px;height:42px;border-radius:12px;border:1px solid rgba(0,0,0,.08)}.client-session-card-compact .client-event-color{width:26px;height:26px;border-radius:8px}.client-session-location-chip{display:inline-flex;align-items:center;min-height:22px;padding:0 9px;border-radius:999px;border:1px solid #e2d7c3;background:rgba(255,251,244,.92);color:#5d4b31;font-size:11px;font-weight:700;line-height:1}.client-agenda-event .event-meta{font-size:14px;line-height:1.2;color:#5f5a53}.client-session-card-compact .client-agenda-event .event-meta{font-size:12px;line-height:1.15}.client-agenda-event .event-meta-secondary{color:#7f7569}.client-session-card-compact .client-agenda-event .event-meta-secondary{display:none}.client-agenda-event .occ-badge,.client-agenda-event .status-badge{font-size:12px;line-height:1.15;padding:4px 8px}.client-agenda-event .occ-badge{background:#d6f0dc;color:#145823}.client-event-footer{align-items:center;flex-wrap:wrap}.modal-client-session-details{width:min(860px,96vw);max-height:90vh;padding:12px}.client-session-modal-header{display:grid;grid-gap:6px;gap:6px;padding:6px 52px 0 10px;position:relative}.client-session-modal-header .modal-close-x{position:absolute;top:4px;right:4px}.modal-panel>.client-message-modal-header .modal-close-x,.modal-panel>.client-session-modal-header .modal-close-x{position:absolute!important;top:10px!important;right:10px!important;left:auto!important;margin-left:0!important}.client-session-modal-header h2{margin:0;padding-right:54px}.client-session-modal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.client-session-modal-grid .item p{margin:4px 0 0}.client-more-block{border-style:dashed}.client-more-block summary{font-size:14px}.client-plan-grid{margin-top:8px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.client-plan-card{display:grid;grid-gap:10px;gap:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center}.client-data-table td,.client-data-table th{vertical-align:top}.client-info-list p{margin:7px 0}.client-preferences-list p{margin:8px 0}.planning-nav-row{margin-top:10px}.icon-link{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;border:1px solid var(--border);background:#fffaf2;text-decoration:none;color:#4c3517;font-weight:700}.agenda-more-block{border:1px dashed #d2b184;border-radius:9px;background:#fff7eb;padding:5px 8px}.agenda-more-block summary{cursor:pointer;color:#8c5a12;font-weight:700}.client-mobile-nav{display:none}.prof-page{max-width:1240px}.prof-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:8px;gap:8px;padding:10px}.prof-nav-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--border);border-radius:10px;padding:10px 8px;text-decoration:none;color:#4a3922;font-weight:700;background:#fffdf9}.prof-nav-link:hover{background:#fff6e7}.prof-nav-link.active{background:#f0d7b2;border-color:#d7ba8f}.prof-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.prof-kpi-value{margin:8px 0 4px;font-size:30px;font-weight:800;line-height:1}.prof-student-item{display:grid;grid-gap:8px;gap:8px}.prof-attendance-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.prof-attendance-actions form{margin:0}.coach-agenda-grid{margin-top:10px}.coach-agenda-day{min-height:170px;padding:10px}.coach-agenda-events{gap:6px}.coach-agenda-event{gap:4px;padding:7px 8px;line-height:1.08}.coach-agenda-event .event-title{font-size:13px;line-height:1.08}.coach-agenda-event .event-meta{font-size:11px;line-height:1.1}.coach-agenda-event .occ-badge,.coach-agenda-event .status-badge{font-size:10px;line-height:1.05}.coach-agenda-more summary{font-size:13px}@media (max-width:1200px){.client-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.client-planning-hero{grid-template-columns:repeat(2,minmax(0,1fr))}.client-planning-toolbar-actions{grid-column:span 2}.client-agenda-grid.agenda-grid-month,.client-agenda-grid.agenda-grid-week,.client-planning-advanced-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:980px){.client-portal-shell{grid-template-columns:1fr}.client-portal-sidebar{display:none}.client-content{padding:10px 10px 78px}.client-topbar{padding:12px 12px 10px;border-bottom-left-radius:16px;border-bottom-right-radius:16px}.client-topbar .row{width:100%;justify-content:flex-start;gap:6px}.client-mobile-nav{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:0;gap:0;background:#20242b;border-top:1px solid #30384a}.client-mobile-link{display:grid;justify-items:center;grid-gap:2px;gap:2px;padding:7px 4px 8px;text-decoration:none;color:#d7deeb;font-size:11px}.client-mobile-link.active{color:#fff;background:#2d3646}.client-mobile-link span:first-child{font-size:16px;line-height:1}.client-filter-grid{grid-template-columns:1fr}.client-filter-grid .span-2{grid-column:auto}.client-planning-advanced-grid,.client-planning-hero{grid-template-columns:1fr}.client-planning-shell{padding:12px;border-radius:18px}.client-planning-heading{align-items:flex-start}.client-planning-heading .mode-link{min-height:34px;padding:8px 10px;font-size:12px}.client-planning-pill{padding:8px;border-radius:12px}.client-planning-pill>span{font-size:11px}.client-planning-toolbar-actions{width:100%}.client-planning-apply{flex:1 1 auto;min-width:0;border-radius:10px}.client-planning-reset{flex:0 0 48px;min-width:48px;padding:10px 0}.client-planning-advanced{padding:6px 8px 8px}.client-planning-advanced summary{width:100%;justify-content:center}.client-planning-modes{align-items:flex-start;gap:8px}.client-planning-modes .row{flex-wrap:wrap;gap:6px}.client-date-strip{grid-auto-columns:minmax(66px,78px)}.client-agenda-grid.agenda-grid-month,.client-agenda-grid.agenda-grid-week{grid-template-columns:1fr}.client-agenda-day .agenda-day-header h3{font-size:18px;text-transform:uppercase;letter-spacing:.4px}.client-session-card{grid-template-columns:62px minmax(0,1fr);gap:7px}.client-agenda-event .event-meta{font-size:13px;line-height:1.15}.client-agenda-event .event-meta-secondary{display:none}.client-event-head .event-title{font-size:15px;line-height:1.14}.client-agenda-event .occ-badge,.client-agenda-event .status-badge{font-size:11px;padding:3px 7px}.client-event-color{width:28px;height:28px;border-radius:9px}.client-session-timebox{gap:1px;padding:7px 5px}.client-session-timebox strong{font-size:13px}.client-session-timebox small{font-size:11px}.modal-client-session-details{width:min(620px,96vw);max-height:92vh;padding:10px}.client-session-modal-grid{grid-template-columns:1fr}.modal-client-session-details footer{flex-direction:column;align-items:stretch;gap:8px}.modal-client-session-details footer .row{width:100%;justify-content:flex-end;flex-wrap:wrap}.client-plan-grid{grid-template-columns:1fr}.prof-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.prof-kpi-grid{grid-template-columns:1fr}.prof-attendance-actions{justify-content:flex-start}.coach-agenda-grid.agenda-grid-month,.coach-agenda-grid.agenda-grid-week{grid-template-columns:1fr}.coach-agenda-day{min-height:0;padding:8px}.coach-agenda-event{padding:6px 7px;gap:3px}.coach-agenda-event .event-title{font-size:12px}.coach-agenda-event .event-meta{font-size:10px}.table-wrap{overflow-x:auto}}.catalog-kit-grid,.catalog-kit-grid-row{display:grid;grid-gap:8px;gap:8px}.catalog-kit-grid-row{grid-template-columns:minmax(0,1fr) 110px 110px}.catalog-kit-empty-state{border:1px dashed #d8dfe8;border-radius:12px;padding:14px;background:#f9fbff;display:grid;grid-gap:10px;gap:10px;justify-items:start}.catalog-kit-composition-wrap{margin-top:8px}.catalog-kit-composition-table td{vertical-align:middle}.catalog-kit-composition-table td input,.catalog-kit-composition-table td select{width:100%}.catalog-kit-price-readonly{grid-gap:4px;gap:4px;background:#f9fbff}.catalog-kit-price-mode-group,.catalog-kit-price-readonly{display:grid;padding:10px;border:1px solid #e6e8ee;border-radius:10px}.catalog-kit-price-mode-group{grid-gap:8px;gap:8px;margin:0}.catalog-kit-price-mode-group legend{font-weight:700;padding:0 4px}.catalog-kit-price-summary{border:1px solid #e6e8ee;border-radius:10px;background:#fafbfd;padding:10px;display:grid;grid-gap:6px;gap:6px}.catalog-stock-form{display:grid;grid-gap:8px;gap:8px;grid-template-columns:100px 160px auto;align-items:center}.catalog-stock-negative td{background:rgba(178,53,47,.14)}.catalog-stock-alert{color:#b2352f;font-weight:700;margin-top:4px}.catalog-request-actions,.catalog-request-actions form{display:grid;grid-gap:8px;gap:8px}.catalog-tabs-scroll{overflow-x:auto;padding-bottom:4px}.catalog-actions-menu{position:relative}.catalog-actions-menu summary{list-style:none;cursor:pointer}.catalog-actions-menu summary::-webkit-details-marker{display:none}.catalog-actions-menu-panel{position:absolute;right:0;top:calc(100% + 4px);z-index:8;min-width:140px;padding:8px;border:1px solid #e6e8ee;border-radius:12px;background:#fff;display:grid;grid-gap:8px;gap:8px;box-shadow:0 8px 24px rgba(17,24,39,.12)}.catalog-actions-trigger{min-width:40px;height:34px;padding:0 10px}.catalog-actions-portal{position:fixed;z-index:1100;min-width:192px;padding:8px;border:1px solid #e6e8ee;border-radius:12px;background:#fff;display:grid;grid-gap:6px;gap:6px;box-shadow:0 14px 30px rgba(17,24,39,.18)}.catalog-actions-item{width:100%;text-align:left;border:1px solid #e6e8ee;border-radius:10px;background:#fff;color:#22304a;text-decoration:none;padding:8px 10px;font-weight:600}.catalog-actions-item:hover{background:#f7f9fc}.catalog-actions-item.danger{border-color:#d89a9a;color:#9f1f1f;background:#fff6f6}.catalog-mobile-cards{display:none}.catalog-mobile-card{border:1px solid #e6e8ee;border-radius:14px;background:#fff;padding:12px;display:grid;grid-gap:8px;gap:8px}.catalog-product-cell{display:flex;align-items:flex-start;gap:12px}.catalog-product-copy{min-width:0;display:grid;grid-gap:4px;gap:4px}.catalog-product-copy p{margin:0}.catalog-product-thumb{width:44px;height:44px;flex:0 0 44px;border-radius:10px;border:1px solid #e6e8ee;object-fit:cover;background:#f8fafc}.catalog-product-thumb-mobile{width:56px;height:56px;flex-basis:56px}.catalog-product-thumb-fallback{display:grid;place-items:center;font-weight:700;color:#7a879a}.catalog-mobile-title{margin:0;font-weight:700}.catalog-entry-form{align-items:end}.catalog-admin-page{gap:14px}.teacher-invoicing-header-card{display:grid;grid-gap:14px;gap:14px}.teacher-invoicing-header-top{align-items:flex-start}.teacher-invoicing-tabs{display:flex;gap:8px;flex-wrap:wrap}.teacher-invoicing-tab{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;border:1px solid #d8be97;border-radius:999px;background:#fffdf8;color:#5a4322;font-weight:700;text-decoration:none}.teacher-invoicing-tab.active{background:#f0d7b2;border-color:#d7ba8f}.teacher-invoicing-hub-grid{gap:12px}.teacher-invoicing-hub-card{display:grid;grid-gap:8px;gap:8px}.catalog-admin-tabs{display:flex;gap:8px}.catalog-admin-tab{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;border:1px solid #d8be97;border-radius:999px;background:#fffdf8;color:#5a4322;font-weight:700;text-decoration:none}.catalog-admin-tab.active{background:#f0d7b2;border-color:#d7ba8f}.catalog-admin-filters{gap:10px;align-items:end}.catalog-admin-filters label{display:grid;grid-gap:6px;gap:6px}.catalog-admin-drawer-overlay{position:fixed;inset:0;z-index:1200;display:flex;justify-content:flex-end;align-items:stretch;background:rgba(20,26,42,.2);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.catalog-admin-drawer{width:min(560px,96vw);max-width:calc(100vw - 16px);height:100dvh;max-height:100dvh;border-left:1px solid #e3dccf;background:#fff;display:flex;flex-direction:column;overflow:hidden;box-shadow:-8px 0 24px rgba(20,26,42,.16)}.catalog-admin-drawer-kit{width:clamp(760px,70vw,1120px)}.catalog-admin-drawer-form{display:flex;flex-direction:column;flex:1 1 auto;height:100%;min-height:0;overflow:hidden}.catalog-admin-drawer-header{padding:14px 16px;border-bottom:1px solid #ece7de;display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.catalog-admin-drawer-body{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:auto;padding:14px 16px;display:grid;grid-gap:12px;gap:12px}.catalog-admin-drawer-body label{display:grid;grid-gap:6px;gap:6px}.catalog-admin-drawer-footer{position:relative;z-index:1;flex-shrink:0;border-top:1px solid #ece7de;padding:12px 16px;display:flex;justify-content:flex-end;gap:10px;background:#fff}@supports not (height:100dvh){.catalog-admin-drawer{height:100vh;max-height:100vh}}@media (max-width:980px){.catalog-admin-filters{display:grid;grid-template-columns:1fr 1fr}.catalog-admin-filters label:first-of-type{grid-column:1/-1}}@media (max-width:760px){.teacher-invoicing-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}.teacher-invoicing-tab{white-space:nowrap}.catalog-admin-tabs{overflow-x:auto}.catalog-admin-drawer{width:100vw;max-width:100vw;border-left:0}.catalog-admin-drawer-kit{width:100vw}.catalog-admin-drawer-footer{flex-wrap:wrap}.catalog-admin-drawer-footer .ghost,.catalog-admin-drawer-footer button{flex:1 1 48%;justify-content:center}}.product-edit-modal{max-height:92vh;padding:0;overflow:hidden;background:#fff;border-radius:16px;border:1px solid #e6e8ee}.product-create-modal,.product-edit-modal{width:min(980px,96vw)}.product-create-modal-card{padding:0}.product-edit-modal-form{display:flex;flex-direction:column;height:min(84vh,860px)}.product-edit-modal-header{z-index:2;padding:14px 16px;justify-content:space-between;gap:10px;align-items:flex-start}.product-edit-modal-header,.product-edit-tabs{position:-webkit-sticky;position:sticky;top:0;background:#fff;border-bottom:1px solid #e6e8ee;display:flex}.product-edit-tabs{z-index:1;padding:10px 16px;gap:8px;overflow-x:auto}.product-edit-modal-body{flex:1 1 auto;min-height:0;overflow:auto;padding:14px 16px 32px;display:grid;grid-gap:14px;gap:14px}.product-edit-section-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px;align-items:start}.product-edit-radio-group{border:1px solid #e6e8ee;border-radius:12px;padding:10px}.product-image-uploader{border:1px solid #e6e8ee;border-radius:14px;padding:10px;display:grid;grid-template-columns:auto 1fr;grid-gap:12px;gap:12px}.product-image-preview{width:96px;height:96px;border-radius:12px;border:1px solid #e6e8ee;background:#f8fafc;display:grid;place-items:center;color:#7a879a;overflow:hidden}.product-image-preview img{width:100%;height:100%;object-fit:cover}.product-image-actions{display:grid;grid-gap:8px;gap:8px}.product-image-url-field{display:grid;grid-gap:6px;gap:6px}.product-edit-modal-footer{position:-webkit-sticky;position:sticky;bottom:0;z-index:3;border-top:1px solid #e6e8ee;background:#fff;padding:12px 16px;display:flex;justify-content:flex-end;align-items:center;gap:8px}.product-edit-modal-footer .ghost,.product-edit-modal-footer button{min-height:42px;padding:9px 16px}.product-edit-mobile-accordion{border:1px solid #e6e8ee;border-radius:12px;padding:8px}.product-edit-mobile-toggle{width:100%;justify-content:flex-start;text-align:left}@media (max-width:900px){.catalog-kit-grid-row,.catalog-stock-form{grid-template-columns:1fr}.catalog-tabs-scroll{display:flex;flex-wrap:nowrap;gap:8px}.catalog-tabs-scroll .ghost,.catalog-tabs-scroll .mode-link{white-space:nowrap}.catalog-entry-form{grid-template-columns:1fr}.catalog-mobile-cards{display:grid;grid-gap:10px;gap:10px}.catalog-desktop-table{display:none}.product-edit-modal{width:100vw;max-width:100vw;max-height:100vh;border-radius:0}.product-edit-modal-form{height:calc(100vh - 64px)}.product-edit-section-grid,.product-image-uploader{grid-template-columns:1fr}.product-image-preview{width:72px;height:72px}}.teacher-shell{max-width:1240px;background:#f6f7f9}.teacher-shell .card,.teacher-shell .item,.teacher-shell .teacher-accordion,.teacher-shell .teacher-alert-card{background:#fff;border:1px solid #e6e8ee;border-radius:14px;box-shadow:0 1px 2px rgba(15,23,42,.06)}.teacher-subpage{min-height:100vh;padding-bottom:82px}.teacher-page-header{position:-webkit-sticky;position:sticky;top:0;z-index:24;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px}.teacher-page-header-main{min-width:0}.teacher-page-header h1{margin:0;font-size:18px;line-height:1.2}.teacher-page-header .muted{margin:4px 0 0;font-size:13px}.teacher-page-header-actions{display:flex;align-items:center;gap:8px}.teacher-status-pill{min-height:28px;display:inline-flex;align-items:center;border-radius:999px;padding:0 10px;font-size:12px;font-weight:700;color:#234f28;background:#d9f5df}.teacher-header-link{min-height:36px}.teacher-header-menu{position:relative}.teacher-header-menu>summary{list-style:none;width:36px;height:36px;border:1px solid #e1e6ef;border-radius:10px;background:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:22px;line-height:1;color:#344861}.teacher-header-menu>summary::-webkit-details-marker{display:none}.teacher-header-menu-panel{position:absolute;right:0;top:calc(100% + 6px);min-width:180px;border:1px solid #e2e6ee;border-radius:12px;background:#fff;box-shadow:0 10px 24px rgba(15,23,42,.14);padding:8px}.teacher-header-menu-items{display:grid;grid-gap:6px;gap:6px}.teacher-header-menu-link{text-decoration:none;border:1px solid #e0e5ef;border-radius:9px;min-height:38px;padding:0 10px;display:inline-flex;align-items:center;color:#2f4561;font-size:13px;font-weight:600;background:#fff}.teacher-header-menu-btn{width:100%;min-height:38px}.teacher-desktop-nav{display:grid}.teacher-bottom-tabs{position:fixed;left:0;right:0;bottom:0;z-index:35;display:none;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid #d8deea;background:#fff}.sticky-filters{position:-webkit-sticky;position:sticky;top:0;z-index:4;background:inherit;padding-bottom:8px}.modal-panel-wide{width:min(1200px,96vw);max-height:92vh;overflow-y:auto}.code-block{margin:0;padding:12px;border:1px solid var(--line);border-radius:8px;background:#f7f8fb;font-size:12px;line-height:1.45;overflow-x:auto}.teacher-bottom-tab{min-height:56px;padding:6px 4px 8px;text-decoration:none;color:#53657d;display:grid;justify-items:center;align-content:center;grid-gap:2px;gap:2px;font-size:11px}.teacher-bottom-tab-icon{font-size:16px;line-height:1}.teacher-bottom-tab.active{color:#1f3049;background:#f8fafd}.teacher-bottom-tab.active .teacher-bottom-tab-label{font-weight:700}.teacher-section-stack{display:grid;grid-gap:12px;gap:12px}.teacher-action-card{display:grid;grid-gap:10px;gap:10px}.teacher-action-card-head{display:grid;grid-gap:6px;gap:6px}.teacher-action-card-head h2{font-size:18px}.teacher-action-card-chips,.teacher-chip-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.teacher-action-card-footer{margin-top:4px}.teacher-cta-full{width:100%;justify-content:center;min-height:44px}.teacher-stat-chip{min-height:30px;border-radius:999px;border:1px solid #e2e7f0;background:#f8fafd;padding:4px 10px;display:inline-flex;align-items:center;gap:8px}.teacher-stat-chip small{font-size:11px;color:#66778f}.teacher-stat-chip strong{font-size:13px;color:#243a55}.teacher-stat-chip.ok{border-color:#b9e5c4;background:#ebf9ef}.teacher-stat-chip.warn{border-color:#f0d8a8;background:#fff8ea}.teacher-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px}.teacher-stat-card{padding:12px;min-height:110px;display:grid;align-content:space-between;grid-gap:6px;gap:6px}.teacher-stat-card-label{margin:0;font-size:12px;color:#5f6f86}.teacher-stat-card-value{font-size:18px;line-height:1.25;color:#1e2f47}.teacher-list-compact{gap:8px}.teacher-list-row{min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:10px;text-decoration:none;color:inherit}.teacher-list-row-main{min-width:0;display:grid;grid-gap:3px;gap:3px}.teacher-list-row-main strong{font-size:14px;font-weight:700}.teacher-list-row-main p{margin:0;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.teacher-list-row-right{flex-shrink:0}.teacher-accordion{overflow:hidden}.teacher-accordion>summary{list-style:none;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;cursor:pointer}.teacher-accordion>summary::-webkit-details-marker{display:none}.teacher-accordion-title{display:grid;grid-gap:2px;gap:2px}.teacher-accordion-content{border-top:1px solid #e8ebf1;padding:12px;display:grid;grid-gap:10px;gap:10px}.teacher-alert-card{min-height:44px;padding:10px 12px;display:grid;grid-gap:4px;gap:4px}.teacher-alert-card.ok{background:#e7f8ec;border-color:#b9e5c4;color:#1f5d2f}.teacher-alert-card.error{background:#fceceb;border-color:#f0c2be;color:#7b211c}.teacher-alert-card.warn{background:#fff9ed;border-color:#f2dfba;color:#7a5600}.teacher-sticky-action-bar{position:static}.teacher-form-stack label{display:grid;grid-gap:6px;gap:6px}.teacher-filter-form input,.teacher-filter-form select,.teacher-form-stack input,.teacher-form-stack select,.teacher-form-stack textarea{min-height:44px}.teacher-filter-card{padding:12px}.teacher-filter-form{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:end}.teacher-filter-submit{display:flex;justify-content:flex-start}.teacher-dispute-form{display:grid;grid-template-columns:minmax(200px,1fr) auto;grid-gap:8px;gap:8px;align-items:center}.teacher-actions-wrap{gap:8px}.teacher-entity-grid{display:grid;grid-gap:12px;gap:12px}.teacher-invoice-card{margin-top:10px}.teacher-desktop-table{display:block}.teacher-mobile-card-list{display:none}.teacher-finance-layout{gap:12px}.teacher-planning-card .badge{font-size:11px}.teacher-planning-controls{align-items:end}.teacher-planning-controls label{display:grid;grid-gap:6px;gap:6px}.teacher-planning-controls-actions,.teacher-planning-controls-arrows{min-height:44px;align-items:center}.teacher-planning-controls-arrows .mode-link{min-width:44px;justify-content:center}.statement-action-block,.statement-period-hero,.statement-summary-card,.statement-validation-block{display:grid;grid-gap:10px;gap:10px}.statement-month-switcher .row{align-items:center;gap:8px}.statement-month-switcher strong{font-size:18px;color:#1f334d}.statement-title{margin:0;font-size:14px;color:#576983}.statement-period-strong{margin:0;font-size:24px;line-height:1.2}.statement-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.statement-summary-grid>div{border:1px solid #e4e9f1;border-radius:10px;padding:10px;display:grid;grid-gap:2px;gap:2px}.statement-summary-grid>div strong{font-size:18px;color:#1f334d}.statement-list-head h3{margin:0;display:inline-flex;align-items:center;gap:8px}.statement-list-count{margin-left:0}.statement-service-list{display:grid;grid-gap:10px;gap:10px}.statement-service-card{border:1px solid #e4e9f1;border-radius:10px;background:#f8fbff;padding:10px 12px;display:grid;grid-gap:6px;gap:6px}.statement-service-card:has(input:checked){border-color:#b8d2f9;background:#edf4ff}.statement-service-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.statement-line-check{display:flex;align-items:center;min-width:0;flex:1 1;gap:8px;font-size:13px;color:#314862;cursor:pointer}.statement-line-check input[type=checkbox]{width:16px;height:16px;margin:0;flex-shrink:0}.statement-line-check-text{min-width:0;display:grid;grid-gap:2px;gap:2px}.statement-line-check-text strong{font-size:16px;line-height:1.2;color:#15263d}.statement-line-check-text small{font-size:12px;color:#50627b}.statement-payor-badge{align-self:center;max-width:42%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.statement-service-context{display:flex;flex-wrap:wrap;gap:6px 10px;color:#5b6e87;font-size:13px}.statement-service-context span{display:inline-flex;align-items:center;gap:4px}.statement-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:4px 12px;gap:4px 12px}.statement-service-grid small{font-size:12px;color:#4d6079}.statement-service-grid small strong{color:#243a55}.statement-validation-actions{display:grid;grid-gap:10px;gap:10px}.statement-billing-options,.statement-external-billing{display:grid;grid-gap:8px;gap:8px}.statement-external-billing{border:1px solid #e4e9f1;border-radius:10px;padding:8px 10px;background:#f8fbff}.statement-external-billing summary{cursor:pointer;font-weight:700;color:#233b57}.statement-generated-invoices{border-top:1px solid #e4e9f1;margin-top:4px;padding-top:8px;display:grid;grid-gap:8px;gap:8px}.statement-generated-invoices h4{margin:0;font-size:15px}.statement-generated-list{display:grid;grid-gap:8px;gap:8px}.statement-generated-card{border:1px solid #e4e9f1;border-radius:10px;background:#f8fbff;padding:8px 10px;display:grid;grid-gap:6px;gap:6px}.statement-generated-head{align-items:center}.statement-generated-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.statement-generated-actions form{margin:0}.statement-external-send-form{border-top:1px dashed #dbe3ef;padding-top:8px}.statement-external-send-form textarea{resize:vertical}.statement-target-modal{display:none}.statement-target-modal.is-open,.statement-target-modal:target{display:grid}.admin-sidebar .admin-nav-link,.admin-sidebar .admin-nav-link span{color:hsla(0,0%,100%,.82)}.admin-sidebar .admin-nav-link.active,.admin-sidebar .admin-nav-link.active span{color:#fff}@media (max-width:980px){.teacher-shell{padding:12px 12px 84px}.teacher-desktop-nav{display:none}.teacher-bottom-tabs{display:grid}.teacher-filter-form{grid-template-columns:1fr}.teacher-filter-submit button{width:100%}.teacher-dispute-form{grid-template-columns:1fr}.teacher-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-desktop-table{display:none}.teacher-mobile-card-list{display:grid;grid-gap:8px;gap:8px}.teacher-sticky-action-bar{position:-webkit-sticky;position:sticky;bottom:72px;padding-top:8px;z-index:18}.teacher-sticky-action-bar>*{width:100%;min-height:44px}.teacher-planning-controls{grid-template-columns:1fr;gap:8px}.teacher-planning-controls-actions,.teacher-planning-controls-arrows{width:100%;justify-content:flex-start}.statement-service-grid,.statement-summary-grid{grid-template-columns:1fr}.statement-service-head{flex-direction:column;align-items:stretch}.statement-payor-badge{max-width:100%;width:-moz-fit-content;width:fit-content}.coach-agenda-grid.agenda-grid-month,.coach-agenda-grid.agenda-grid-week{grid-template-columns:1fr}}@media (max-width:480px){.teacher-shell{padding:10px 8px 84px}.teacher-page-header{padding:10px}.teacher-page-header h1{font-size:17px}.teacher-page-header .muted{font-size:12px}.teacher-header-link{display:none}.teacher-list-row{min-height:52px}.teacher-list-row-main strong{font-size:13px}}.client-portal-shell{background:#f6f7f9}.client-content .card,.client-ui-card{background:#fff;border:1px solid #e6e8ee;border-radius:15px;box-shadow:0 1px 2px rgba(15,23,42,.06)}.client-mobile-header{display:none}.client-mobile-menu{position:relative}.client-mobile-menu>summary{list-style:none;width:38px;height:38px;border:1px solid #d9e0ea;display:inline-flex;align-items:center;justify-content:center;font-size:22px;cursor:pointer;color:#30445d}.client-mobile-menu>summary::-webkit-details-marker{display:none}.client-mobile-menu-panel{position:absolute;right:0;top:calc(100% + 6px);min-width:190px;background:#fff;border:1px solid #e0e7f0;border-radius:12px;box-shadow:0 12px 24px rgba(15,23,42,.16);padding:8px;z-index:8}.client-mobile-menu-items{display:grid;grid-gap:6px;gap:6px}.client-mobile-menu-link{text-decoration:none;border:1px solid #dde4ee;border-radius:9px;padding:8px 10px;color:#243951;font-weight:600;font-size:13px;background:#fff}.client-mobile-menu-btn{width:100%;min-height:40px}.client-mobile-tabs{display:none}.client-chip-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:8px 0}.client-member-chips .badge.active{border-color:#d4af37;background:#fff6df;color:#6e5010}.client-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px}.client-stat-card{border:1px solid #e6ebf3;border-radius:14px;background:#fff;padding:12px;display:grid;grid-gap:6px;gap:6px;min-height:114px}.client-stat-card small{color:rgba(17,24,39,.68);font-size:12px}.client-stat-card strong{font-size:22px;line-height:1.1}.client-stat-card-action{margin-top:4px}.client-forfait-card-list,.client-forfait-preview-list{display:grid;grid-gap:10px;gap:10px}.client-forfait-card,.client-forfait-preview-card{display:grid;grid-gap:8px;gap:8px}.client-home-urgent-card{border:1px solid #d4af37!important;background:linear-gradient(180deg,#fffdf6,#fffaf0)}.client-home-urgent-card h3{margin:0}.client-home-urgent-total{margin:4px 0 0;font-size:30px;line-height:1.1;font-weight:800;color:#3e2f0e}.client-home-coming-list,.client-home-due-list{display:grid;grid-gap:8px;gap:8px}.client-home-coming-item,.client-home-due-item{display:flex;align-items:center;justify-content:space-between;gap:10px}.client-home-coming-item strong,.client-home-due-item strong{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.client-home-due-actions{flex-wrap:wrap;justify-content:flex-end}.client-home-urgent-actions{margin-top:6px;flex-wrap:wrap}.client-home-sticky-pay{display:none}.client-progress{width:100%;height:8px;border-radius:999px;background:#eef2f7;overflow:hidden}.client-progress-bar{height:100%;border-radius:999px;background:linear-gradient(90deg,#d4af37,#e5c55b)}.client-home-calendar-list{display:grid;grid-gap:8px;gap:8px}.client-home-calendar-item{display:flex;align-items:center;justify-content:space-between;gap:10px}.client-finance-shell{display:grid;grid-gap:10px;gap:10px}.client-finance-summarybar{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.client-finance-top-pay{margin-left:auto}.client-pay-cta{min-height:36px;border-radius:999px;border:1px solid #d4af37;background:#d4af37;color:#1f2329}.client-finance-toolbar{gap:10px}.client-finance-tab-scroll .mode-link.active{border-color:#d4af37;background:#fff6df;color:#5b420b}.client-finance-drawer{min-width:120px}.client-finance-drawer-form{display:grid;grid-gap:8px;gap:8px}.client-finance-drawer-actions{justify-content:flex-start}.client-finance-active-filters,.client-finance-member-chips{margin:0}.client-finance-list-card{display:grid;grid-gap:10px;gap:10px}.client-finance-card{display:grid;grid-gap:6px;gap:6px;border-radius:12px;border:1px solid #e6ebf3;background:#fff;padding:10px 12px}.client-finance-card-head{align-items:flex-start}.client-finance-card-head strong{min-width:0;max-width:64%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.client-finance-badge-row{gap:6px;flex-wrap:nowrap}.client-finance-card-label,.client-finance-card-meta{margin:0;font-size:12px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.client-finance-card-meta{color:rgba(17,24,39,.72)}.client-finance-card-label{color:#111827}.client-finance-card-actions{justify-content:flex-end;flex-wrap:wrap}.client-card-primary-action{border-color:#d4af37;background:#fff6df;color:#62480c}.client-invoice-viewer-actions{gap:8px;flex-wrap:wrap}.client-finance-pagination-actions{gap:8px}.client-finance-sticky-pay{display:none}.client-invoice-viewer,.client-message-detail{margin-top:12px}.client-message-detail h4{margin:0}.modal-client-message-details{width:min(860px,96vw);max-height:90vh;padding:12px}.client-message-modal-header{display:grid;grid-gap:6px;gap:6px;padding:6px 52px 0 10px;position:relative}.client-message-modal-header h3{margin:0;padding-right:54px}.client-message-detail,.client-message-modal-meta{display:grid;grid-gap:10px;gap:10px}.client-message-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.client-message-html{padding:10px 12px;border:1px solid #e6e8ee;border-radius:12px;background:#fff;max-height:52vh;overflow:auto;color:#1d2a3a}.client-message-html iframe,.client-message-html img,.client-message-html table{max-width:100%}.client-message-filter-actions{align-items:end}.client-message-detail-content{margin:0;padding:10px 12px;border:1px solid #e6e8ee;border-radius:12px;background:#fff;font-family:inherit;font-size:13px;line-height:1.45;color:#1d2a3a;white-space:pre-wrap;word-break:break-word}.client-session-modal-booking-actions{display:grid;grid-gap:8px;gap:8px}.client-stat-chip{min-height:30px;border:1px solid #e1e7f1;border-radius:999px;padding:4px 10px;display:inline-flex;align-items:center;gap:8px;background:#f9fbff}.client-stat-chip small{font-size:11px;color:rgba(17,24,39,.72)}.client-stat-chip strong{font-size:13px;color:#111827}.client-stat-chip.ok{border-color:#b8e2c3;background:#ebf9ef}.client-stat-chip.warn{border-color:#f0d9ad;background:#fff8eb}.client-list-row{min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:8px;text-decoration:none;color:inherit}.client-list-row-main{min-width:0}.client-list-row-main strong{display:block;font-size:14px;line-height:1.25}.client-list-row-main p{margin:3px 0 0;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.client-list-row-right{flex-shrink:0}.client-drawer-filters{border:1px solid #dce4ef;border-radius:12px;background:#fff}.client-drawer-filters>summary{min-height:38px;list-style:none;padding:8px 12px;cursor:pointer;font-size:13px;font-weight:700;color:#2f4561;display:inline-flex;align-items:center}.client-drawer-filters>summary::-webkit-details-marker{display:none}.client-drawer-filters-content{padding:10px 12px;border-top:1px solid #e7edf6;display:grid;grid-gap:8px;gap:8px}.client-toast{position:fixed;top:14px;right:14px;z-index:60;max-width:min(420px,90vw);padding:10px 12px;border-radius:12px;border:1px solid #b8e2c3;background:#e7f8ec;color:#1c5a2b;font-weight:700;box-shadow:0 10px 24px rgba(15,23,42,.16)}.client-toast.error{border-color:#f0bdb9;background:#fdeceb;color:#7a1f1a}.client-session-cta{margin-left:auto;min-height:22px;padding:0 8px;border-radius:999px;border:1px solid #d9e0ea;background:#f6f8fc;color:#44576f;font-size:11px;font-weight:700;display:inline-flex;align-items:center}.client-session-cta.ready{border-color:#d4af37;background:#fff6df;color:#735204}.client-desktop-table{display:block}.client-mobile-list{display:none}.client-mobile-card{display:grid;grid-gap:6px;gap:6px}.client-reservation-filters{align-items:end}.client-reservation-drawer{align-self:end}.client-offers-header form{align-items:end}.client-messages-table-wrap table thead th{position:-webkit-sticky;position:sticky;top:0;z-index:1;background:#f7f9fc}.client-account-mobile{display:none}.client-account-accordion>summary{list-style:none;min-height:48px;padding:12px 14px;display:inline-flex;align-items:center;justify-content:space-between;gap:10px;width:100%;font-weight:700;cursor:pointer}.client-account-accordion>summary::-webkit-details-marker{display:none}.client-account-accordion>summary:after{content:"▾";font-size:12px;color:rgba(17,24,39,.72);transform:rotate(-90deg);transition:transform .12s ease}.client-account-accordion[open]>summary:after{transform:rotate(0deg)}.client-account-accordion-content{border-top:1px solid #e8edf4;padding:12px;display:grid;grid-gap:8px;gap:8px}.client-switch-list{display:grid;grid-gap:8px;gap:8px}.client-switch-row{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #e6ebf3;border-radius:10px;padding:10px;background:#fff}.client-switch{width:44px;height:24px;border-radius:999px;border:1px solid #cfd8e6;background:#e9edf4;position:relative}.client-switch:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:999px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2)}.client-switch.on{background:#e9f5d0;border-color:#b9cb88}.client-switch.on:after{left:22px}.client-switch-label{position:relative;padding-left:6px}.client-preferences-list{display:grid;grid-gap:8px;gap:8px}.client-planning-shell{border-radius:16px;background:#fff;border:1px solid #e6e8ee}.client-planning-hero{border-radius:14px;background:#f9fbff;border:1px solid #e2e8f1;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto}.client-planning-pill{background:#fff;border:1px solid #e2e8f1}.client-planning-pill>span{color:rgba(17,24,39,.72)}.client-planning-apply{background:#d4af37;color:#1f2329;font-weight:700}.client-planning-reset{background:#fff;border:1px solid #dce4ef;color:#30455f}.client-planning-advanced{border:1px solid #e2e8f1;border-radius:12px;background:#fff}.client-planning-advanced>summary{border:none;background:transparent;color:#2d435e;width:auto;padding:8px 12px}.client-planning-summary-banner{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.client-planning-summary-item{border:1px solid #dfe7f2;border-radius:11px;background:#f7faff;padding:10px;display:grid;grid-gap:3px;gap:3px}.client-planning-summary-item small{color:#60738b}.client-planning-summary-item strong{color:#1f3550}.client-week-toolbar{display:grid;grid-gap:10px;gap:10px;margin-top:12px;padding:14px 16px;border:1px solid #e8dcc7;border-radius:16px;background:linear-gradient(135deg,#fff9ef,#fff)}.client-week-toolbar-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.client-week-title-group{display:grid;grid-gap:4px;gap:4px}.client-week-title-group strong{font-size:18px;line-height:1.15;color:#23180d}.client-week-title-group small{color:#6f6252}.client-week-toolbar-actions{display:flex;align-items:center;gap:8px}.client-week-legend{display:flex;flex-wrap:wrap;gap:10px}.client-week-legend-item{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border-radius:999px;border:1px solid #eadfce;background:hsla(0,0%,100%,.9);color:#594a37;font-size:12px;font-weight:700}.client-week-legend-swatch{width:10px;height:10px;border-radius:999px;display:inline-block}.client-week-legend-swatch.reserved{background:#2c7a4b}.client-week-legend-swatch.available{background:#d4af37}.client-week-legend-swatch.full{background:#8d9aae}.client-date-pill-meta{font-size:10px;color:#60738b}.client-reserved-section{border-color:#d5e1f0;background:linear-gradient(180deg,#f7fbff,#fff)}.client-available-section{border-color:#e7dbc7;background:linear-gradient(180deg,#fffaf1,#fff)}.client-week-planning-board{border-radius:18px}.client-planning-quick-filter-form{margin-top:10px}.client-planning-quick-filter-label{display:grid;grid-gap:6px;gap:6px;max-width:280px}.client-planning-quick-filter-label>span{font-size:12px;font-weight:700;color:#6f6252}.client-planning-quick-filters{gap:8px;flex-wrap:wrap}.client-planning-reserved-list{gap:8px}.client-planning-reserved-card{border:1px solid #d8e6f8;background:#f8fbff}.client-agenda-day-headings{display:grid;grid-gap:4px;gap:4px}.client-agenda-day-stats{font-size:11px;color:#776553;font-weight:700}.client-session-owned-flag{display:inline-flex;align-self:flex-start;padding:4px 8px;border-radius:999px;background:#1f6a3b;color:#f3fff6;font-size:11px;font-weight:800;letter-spacing:.02em}.client-session-modal-state{display:grid;grid-gap:10px;gap:10px}.client-session-modal-state-copy{display:grid;grid-gap:4px;gap:4px}.client-session-modal-state-copy p{margin:0}.client-session-modal-state-title{font-size:18px;font-weight:800;color:#24170b}.client-session-modal-state-meta{display:flex;flex-wrap:wrap;gap:8px}.client-session-member-picker{display:grid;grid-gap:12px;gap:12px}.client-session-member-picker-heading{display:grid;grid-gap:4px;gap:4px}.client-session-member-picker-heading p{margin:0;color:#5f5446;font-size:14px}.client-session-member-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.client-session-member-card{display:grid;grid-gap:8px;gap:8px;border:1px solid #e6d7be;border-radius:16px;padding:12px 14px;text-decoration:none;color:inherit;background:linear-gradient(180deg,#fffdf8,#fbf3e5);transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.client-session-member-card:focus-visible{outline:3px solid #2f2417;outline-offset:2px}.client-session-member-card:hover{border-color:#c8a760;box-shadow:0 10px 18px rgba(120,92,35,.1);transform:translateY(-1px)}.client-session-member-card.active{border-color:#2f2417;box-shadow:0 0 0 3px rgba(47,36,23,.18);background:linear-gradient(180deg,#2f2417,#3a2b1a);color:#fff9ef}.client-session-member-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.client-session-member-card-badges{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.client-session-member-selected-label{display:inline-flex;align-items:center;justify-content:center;width:-moz-fit-content;width:fit-content;border-radius:999px;background:#f1cb69;color:#211608;padding:4px 10px;font-size:12px;font-weight:800;letter-spacing:.01em}.client-session-member-card strong{font-size:15px;line-height:1.25}.client-session-member-support{display:inline-flex;align-items:center;width:-moz-fit-content;width:fit-content;border-radius:999px;background:rgba(197,160,81,.16);color:#6b4d12;padding:4px 10px;font-size:12px;font-weight:700;line-height:1.3}.client-session-member-support.active{background:hsla(43,83%,68%,.2);color:#fff0c8}.client-session-member-card.active .muted,.client-session-member-card.active strong{color:#fff9ef}.client-session-member-card.active .status-badge{border-color:rgba(255,249,239,.35)}.client-session-inline-warning{display:grid;grid-gap:10px;gap:10px;border:1px solid #ead3a2;background:linear-gradient(180deg,#fff9ed,#fff4dc)}.client-session-inline-warning strong{color:#2f2417}.client-session-inline-warning p{margin:0;color:#5f5446}.client-session-inline-warning-list{display:flex;flex-wrap:wrap;gap:8px}.client-session-modal-actions{display:grid;grid-gap:12px;gap:12px}.client-session-modal-back-link{justify-self:start;min-height:38px;padding:8px 12px}.client-session-modal-action-list{display:grid;grid-gap:10px;gap:10px}.client-session-inline-note{border-top:1px solid #efe3d2;padding-top:6px}.client-session-formula-grid{margin-top:10px}.client-session-choice-heading{display:grid;grid-gap:4px;gap:4px}.client-session-choice-heading strong{color:#24170b;font-size:15px}.client-session-formula-card{grid-template-columns:minmax(0,1fr);align-items:stretch;padding:12px}.client-session-choice-grid{align-items:stretch}.client-session-choice-card{border:1px solid #dfcaa2;background:linear-gradient(180deg,#fffdf9,#fbf3e4)}.client-session-choice-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.client-session-choice-card-head .badge{white-space:nowrap}.client-session-formula-copy{display:grid;grid-gap:6px;gap:6px}.client-session-formula-copy p,.client-session-formula-copy small{margin:0}.client-session-formula-action{display:grid;margin-top:8px}.client-session-choice-button{min-height:46px}.client-session-secondary-options{border:1px solid #e8dcc5;background:linear-gradient(180deg,#fffdfa,#f8f1e4)}.client-session-secondary-options details{display:grid;grid-gap:12px;gap:12px}.client-session-secondary-options summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;font-weight:700;color:#2f2417;list-style:none}.client-session-secondary-options summary::-webkit-details-marker{display:none}.client-session-secondary-options summary small{font-weight:600}.client-session-secondary-options-body{display:grid;grid-gap:12px;gap:12px}.client-session-modal-action-list .stack-sm,.client-session-modal-action-list form{width:100%}.client-session-modal-action-list .mode-link,.client-session-modal-action-list button{width:100%;justify-content:center}.client-session-cancel-button,.client-session-member-button,.client-session-primary-button,.client-session-secondary-button{min-height:44px;border-radius:12px;font-weight:700}.client-session-primary-button{border:1px solid var(--client-gold);background:var(--client-gold);color:#111827}.client-session-secondary-button{border:1px solid #d4c2a3;background:#fffaf2;color:#4b3716}.client-session-member-button{border:1px solid #dcc8a4;background:linear-gradient(180deg,#fffdf8,#f8efdf);color:#2f2417}.client-session-cancel-button{background:#fff4f0;color:#9b2d23;border:1px solid #efc3bc}@media (max-width:720px){.client-session-member-grid{grid-template-columns:minmax(0,1fr)}.client-session-member-card-head{flex-direction:column;align-items:flex-start}.client-session-member-card-badges{justify-content:flex-start}}@media (max-width:980px){.client-topbar{display:none}.client-mobile-header{display:flex;position:-webkit-sticky;position:sticky;top:0;z-index:20;margin:0 0 8px;padding:10px 12px;align-items:center;justify-content:space-between;gap:8px}.client-mobile-header h1{margin:0;font-size:18px}.client-mobile-header .muted{margin:4px 0 0;font-size:12px}.client-content{padding-bottom:calc(76px + env(safe-area-inset-bottom))}.client-mobile-tabs{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid #2f3747;background:#111827;padding-bottom:env(safe-area-inset-bottom)}.client-mobile-tab{min-height:56px;display:grid;justify-items:center;align-content:center;grid-gap:2px;gap:2px;text-decoration:none;color:hsla(0,0%,100%,.82);font-size:11px}.client-mobile-tab.active{background:hsla(0,0%,100%,.08);color:#fff;box-shadow:inset 0 3px 0 #d4af37}.client-mobile-tab-icon{font-size:16px;line-height:1}.client-desktop-table,.client-mobile-nav{display:none}.client-mobile-list{display:grid;grid-gap:8px;gap:8px}.client-filter-grid{grid-template-columns:1fr}.client-finance-summarybar,.client-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.client-finance-summarybar{display:grid;align-items:stretch}.client-finance-top-pay{grid-column:1/-1;margin-left:0}.client-finance-top-pay .client-pay-cta{width:100%;min-height:42px}.client-finance-toolbar{display:grid;grid-template-columns:1fr auto;align-items:start}.client-finance-active-filters,.client-finance-member-chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px}.client-finance-active-filters .badge,.client-finance-member-chips .badge{white-space:nowrap;flex-shrink:0}.client-finance-card-head strong{max-width:56%}.client-finance-card-actions{justify-content:flex-start}.client-finance-sticky-pay{position:-webkit-sticky;position:sticky;bottom:calc(76px + env(safe-area-inset-bottom) + 8px);z-index:30;display:block}.client-finance-sticky-pay .client-pay-cta{width:100%;min-height:44px}.client-planning-hero{gap:8px}.client-planning-hero,.client-planning-summary-banner{grid-template-columns:1fr}.client-week-toolbar{padding:12px}.client-week-toolbar-head{flex-direction:column;align-items:flex-start}.client-week-toolbar-actions{width:100%;justify-content:space-between}.client-week-toolbar-actions .mode-link{flex:1 1 auto;text-align:center}.client-planning-toolbar-actions{width:100%}.client-planning-quick-filter-label{max-width:none}.client-planning-apply,.client-planning-reset{flex:1 1 auto;min-height:44px}.client-date-strip{grid-auto-columns:minmax(72px,82px)}.client-agenda-event .event-meta-secondary{display:none}.client-agenda-event .row{flex-wrap:nowrap}.client-agenda-event .event-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.client-event-footer .status-badge:nth-child(n+3){display:none}.client-account-mobile{display:grid;grid-gap:10px;gap:10px}.client-account-desktop{display:none}.client-account-edit{display:grid}.client-home-urgent-total{font-size:26px}.client-home-coming-item,.client-home-due-item{align-items:flex-start;flex-direction:column}.client-home-due-actions{width:100%;justify-content:flex-start}.client-home-urgent-actions{flex-direction:column;align-items:stretch}.client-home-urgent-actions .client-pay-cta,.client-home-urgent-actions .mode-link{width:100%;justify-content:center}.client-home-sticky-pay{position:-webkit-sticky;position:sticky;bottom:calc(76px + env(safe-area-inset-bottom) + 8px);z-index:30;display:block}.client-home-sticky-pay .client-pay-cta{width:100%;min-height:44px}}@media (max-width:560px){.client-finance-summarybar,.client-finance-toolbar,.client-stats-grid{grid-template-columns:1fr}.client-finance-drawer,.client-finance-drawer>summary{width:100%}}.client-portal-shell{--client-nav-bg:#0b0f17;--client-nav-surface:#111827;--client-nav-border:hsla(0,0%,100%,.08);--client-nav-text:hsla(0,0%,100%,.92);--client-nav-text-muted:hsla(0,0%,100%,.78);--client-gold:#d4af37;--client-gold-soft:rgba(212,175,55,.14);--client-gold-border:rgba(212,175,55,.45);--client-app-bg:#f6f7f9;--client-card-bg:#fff;--client-card-border:#e6e8ee;--client-text:#111827;--client-text-muted:rgba(17,24,39,.72);--client-shadow:0 10px 30px rgba(0,0,0,.1);background:var(--client-app-bg);color:var(--client-text)}.client-portal-sidebar{background:var(--client-nav-bg);border-right:1px solid var(--client-nav-border);color:var(--client-nav-text);padding:16px 12px;gap:16px}.client-brand strong{color:var(--client-nav-text);font-size:29px;line-height:1;font-weight:800}.client-brand small{color:var(--client-nav-text-muted);font-size:12px}.client-user-card{border:1px solid var(--client-nav-border);background:var(--client-nav-surface);border-radius:14px;padding:12px}.client-user-card strong{color:var(--client-nav-text)}.client-user-card small{color:var(--client-nav-text-muted)}.client-nav{gap:6px}.client-nav-link{min-height:40px;padding:0 12px;border-radius:11px;border:1px solid transparent;color:var(--client-nav-text-muted);font-size:13px;font-weight:500;position:relative}.client-nav-link span{color:inherit}.client-nav-link.active,.client-nav-link:hover{border-color:transparent;color:var(--client-nav-text)}.client-nav-link.active{background:hsla(0,0%,100%,.1)}.client-nav-link.active:before{content:"";position:absolute;left:-12px;top:7px;bottom:7px;width:3px;border-radius:4px;background:var(--client-gold)}.client-logout{color:var(--client-nav-text-muted);font-size:12px}.client-admin-exit-form{margin-top:-6px}.client-admin-exit-btn{width:100%;min-height:38px;border:1px solid var(--client-gold-border);background:var(--client-gold-soft);color:var(--client-nav-text);font-weight:700}.client-logout button.ghost{border:1px solid var(--client-nav-border);background:hsla(0,0%,100%,.04);color:var(--client-nav-text)}.client-portal-main{min-width:0;background:var(--client-app-bg)}.client-topbar{min-height:56px;width:min(1240px,calc(100% - 48px));margin:24px auto 0;border:1px solid var(--client-card-border);border-radius:16px;background:var(--client-card-bg);color:var(--client-text);box-shadow:0 4px 16px rgba(15,23,42,.04);padding:12px 16px}.client-topbar h1{margin:0;font-size:22px;font-weight:700;line-height:28px}.client-topbar .muted{margin:2px 0 0;color:var(--client-text-muted);font-size:12px;line-height:16px}.client-topbar .badge{border:1px solid var(--client-card-border);background:#fff;color:var(--client-text-muted);font-size:11px;font-weight:600;line-height:14px;padding:2px 8px}.client-content{width:min(1240px,calc(100% - 48px));margin:16px auto 24px;padding:0}.client-home-link{color:inherit;text-decoration:none}.client-home-link:hover{color:var(--client-gold);text-decoration:none}.client-content .card,.client-section-card,.client-ui-card{background:var(--client-card-bg);border:1px solid var(--client-card-border);border-radius:16px;box-shadow:0 2px 8px rgba(15,23,42,.04)}.client-section-card{padding:16px}.client-section-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.client-section-card-header h2{margin:0;font-size:16px;font-weight:600;line-height:22px}.client-section-card-action{display:flex;align-items:center;gap:8px;min-height:32px}.client-plan-card-action .mode-link,.client-section-card-action .mode-link{min-height:32px;font-size:12px;font-weight:600;padding:6px 10px;border-color:var(--client-card-border);color:#284261}.client-section-card-action .mode-link.active{border-color:var(--client-gold-border);background:var(--client-gold-soft);color:#47340d}.client-section-card-body{display:grid;grid-gap:12px;gap:12px}.client-section-card .muted{color:var(--client-text-muted);font-size:12px;line-height:16px}.client-home-header-v2 .muted{margin:0}.client-filter-chips-bar{min-height:40px;display:flex;align-items:center;gap:8px;overflow-x:auto;scrollbar-width:thin;padding-bottom:2px}.client-filter-chips-bar .badge{flex:0 0 auto;height:28px;display:inline-flex;align-items:center;border:1px solid var(--client-card-border);border-radius:999px;padding:0 10px;background:#fff;color:#334155;font-size:12px;font-weight:600;text-decoration:none;white-space:nowrap}.client-filter-chips-bar .badge.active{border-color:var(--client-gold-border);background:var(--client-gold-soft);color:#503c0f}.client-home-layout{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);grid-gap:20px;gap:20px}.client-home-main,.client-home-side{display:grid;align-content:start;grid-gap:16px;gap:16px}.client-urgent-pay-card{border:1px solid var(--client-gold-border);background:linear-gradient(180deg,#fff,#fffdf7);border-radius:16px;box-shadow:0 2px 10px rgba(212,175,55,.12);overflow:hidden}.client-urgent-pay-card:before{content:"";display:block;height:6px;background:var(--client-gold-soft)}.client-urgent-pay-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 16px 0}.client-urgent-pay-head h2{margin:0;font-size:16px;font-weight:600;line-height:22px}.client-urgent-pay-head .badge{height:18px;display:inline-flex;align-items:center;padding:0 8px;border-radius:999px;border:1px solid var(--client-gold-border);background:var(--client-gold-soft);color:#6a4f15;font-size:11px;font-weight:600}.client-urgent-pay-amount{margin:2px 0 0;font-size:28px;line-height:32px;font-weight:800;color:#1f2937}.client-urgent-pay-body{padding:12px 16px 16px;display:grid;grid-gap:12px;gap:12px}.client-forfait-preview-list,.client-home-calendar-list,.client-home-coming-list,.client-home-due-list{display:grid;grid-gap:8px;gap:8px}.client-home-calendar-groups{display:grid;grid-gap:10px;gap:10px}.client-home-calendar-group{border:1px solid var(--client-card-border);border-radius:12px;background:#fff;padding:10px;display:grid;grid-gap:8px;gap:8px}.client-home-calendar-group h3{margin:0;font-size:13px;line-height:18px;font-weight:700}.client-compact-invoice-row{min-height:56px;border:1px solid var(--client-card-border);border-radius:12px;background:#fff;padding:10px 12px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px;align-items:start}.client-compact-invoice-main{min-width:0;display:grid;grid-gap:4px;gap:4px}.client-compact-invoice-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.client-compact-invoice-title-row h3{margin:0;font-size:14px;font-weight:600;line-height:20px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.client-compact-invoice-main p{margin:0;font-size:12px;line-height:16px;color:var(--client-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.client-compact-invoice-subline{color:#374151}.client-compact-invoice-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.client-compact-invoice-actions .mode-link,.client-compact-invoice-actions button{min-height:32px;font-size:12px;padding:6px 10px}.client-home-due-actions{gap:6px}.client-home-urgent-actions{gap:8px;justify-content:flex-start}.client-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.client-kpi-block{min-height:84px;border:1px solid var(--client-card-border);border-radius:16px;padding:12px;display:grid;align-content:center;grid-gap:4px;gap:4px;background:#fff}.client-kpi-block small{font-size:12px;line-height:16px;color:var(--client-text-muted);font-weight:500}.client-kpi-block strong{font-size:24px;line-height:28px;font-weight:700;color:var(--client-text)}.client-kpi-block .muted{margin:0;font-size:12px;line-height:16px;color:var(--client-text-muted)}.client-pay-cta{min-height:44px;border-radius:12px;border:1px solid var(--client-gold);background:var(--client-gold);color:#111827;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;padding:0 14px}.client-card-primary-action{border-color:var(--client-gold-border)!important;background:var(--client-gold-soft)!important;color:#4f3c10!important}.client-finance-shell{gap:12px}.client-finance-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.client-finance-tab-scroll{display:flex;align-items:center;gap:8px;overflow-x:auto;padding-bottom:2px}.client-finance-tab-scroll .mode-link{min-height:32px;font-size:12px;font-weight:600;padding:6px 12px}.client-finance-tab-scroll .mode-link.active{border-color:var(--client-gold-border);background:var(--client-gold-soft);color:#4a380f}.client-finance-drawer>summary{min-height:32px;padding:6px 12px;font-size:12px;font-weight:600}.client-finance-list-card,.client-finance-pagination-card{background:var(--client-card-bg);border:1px solid var(--client-card-border);border-radius:16px}.client-finance-list{display:grid;grid-gap:8px;gap:8px}.client-transaction-row-v2{min-height:64px;border:1px solid var(--client-card-border);border-radius:12px;padding:10px 12px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:center}.client-transaction-type .badge{min-height:20px;display:inline-flex;align-items:center;border-radius:999px;padding:0 8px;font-size:11px;font-weight:600}.client-transaction-main{min-width:0}.client-transaction-main h3{margin:0;font-size:14px;line-height:20px;font-weight:600}.client-transaction-main h3,.client-transaction-main p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.client-transaction-main p{margin:2px 0 0;font-size:12px;line-height:16px;color:var(--client-text-muted)}.client-transaction-side{display:grid;justify-items:end;grid-gap:3px;gap:3px}.client-transaction-side strong{font-size:14px;line-height:18px;font-weight:700}.client-transaction-actions{grid-column:1/-1;display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.client-transaction-actions .mode-link,.client-transaction-actions button{min-height:32px;font-size:12px;padding:6px 10px}.client-upcoming-lesson-row{min-height:64px;border:1px solid var(--client-card-border);border-radius:12px;background:#fff;padding:10px 12px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:center}.client-upcoming-lesson-time{font-size:13px;font-weight:700;line-height:18px;color:var(--client-text)}.client-upcoming-lesson-main{min-width:0}.client-upcoming-lesson-main h3{margin:0;font-size:14px;line-height:20px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.client-upcoming-lesson-main p{margin:2px 0 0;font-size:12px;line-height:16px;color:var(--client-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.client-upcoming-lesson-action .mode-link{min-height:32px;font-size:12px;padding:6px 10px}.client-plan-card-v2{border:1px solid var(--client-card-border);border-radius:14px;background:#fff;padding:12px;display:grid;grid-gap:8px;gap:8px}.client-plan-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.client-plan-card-head h3{margin:0;font-size:14px;line-height:20px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.client-plan-card-v2 .badge{height:18px;display:inline-flex;align-items:center;padding:0 8px;font-size:11px;line-height:14px;border-radius:999px}.client-plan-card-v2 .muted{margin:0;font-size:12px;line-height:16px;color:var(--client-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.client-plan-card-action{display:flex}.client-plan-card-action .mode-link{min-height:32px;padding:6px 10px}.client-finance-card-actions{gap:6px}.client-finance-pagination-card .row{gap:8px}.client-finance-sticky-pay,.client-home-sticky-pay{display:none}.client-finance-sticky-pay .client-pay-cta,.client-home-sticky-pay .client-pay-cta{width:100%}.client-mobile-header.card{background:#fff;border:1px solid var(--client-card-border);border-radius:14px;box-shadow:0 2px 8px rgba(15,23,42,.04)}.client-mobile-header h1{margin:0;font-size:22px;line-height:28px;font-weight:700}.client-mobile-header .muted{margin:2px 0 0;color:var(--client-text-muted);font-size:12px}.client-mobile-header-title-link{color:inherit;text-decoration:none}.client-mobile-header-title-link:hover{color:var(--client-gold)}.client-mobile-menu>summary{width:36px;height:36px;border:1px solid var(--client-card-border);border-radius:10px;color:#334155;background:#fff}.client-mobile-tabs{background:var(--client-nav-bg);border-top:1px solid var(--client-nav-border);min-height:60px}.client-mobile-tab{min-height:60px;color:var(--client-nav-text-muted)}.client-mobile-tab.active{background:hsla(0,0%,100%,.1);color:var(--client-nav-text);box-shadow:inset 0 3px 0 var(--client-gold)}.client-mobile-tab-label{font-size:11px;line-height:14px}.client-mobile-tab-icon{font-size:20px}.client-content .status-pill{height:18px;padding:0 8px;font-size:11px;font-weight:600;line-height:14px}.client-content-course-detail-card,.client-content-course-list-card,.client-content-shell{gap:1rem}.client-content-heading{align-items:flex-start;gap:1rem}.client-content-filter-form{display:flex;flex-wrap:wrap;gap:.85rem}.client-content-member-filter{min-width:min(100%,18rem)}.client-content-member-filter span{display:block;margin-bottom:.45rem;font-size:.78rem;font-weight:700;color:rgba(28,21,16,.65);text-transform:uppercase;letter-spacing:.06em}.client-content-layout{display:grid;grid-gap:1rem;gap:1rem;margin-top:1rem}.client-content-course-list,.client-content-outline-lessons{display:grid;grid-gap:.8rem;gap:.8rem}.client-content-course-card,.client-content-lesson-link{display:grid;grid-gap:.45rem;gap:.45rem;padding:1rem;border:1px solid rgba(171,126,56,.22);border-radius:1rem;background:linear-gradient(180deg,hsla(42,83%,98%,.96),hsla(41,67%,92%,.96));color:inherit;text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.client-content-course-card.active,.client-content-course-card:hover,.client-content-lesson-link.active,.client-content-lesson-link:hover{border-color:rgba(171,126,56,.58);box-shadow:0 16px 32px rgba(33,24,18,.08);transform:translateY(-1px)}.client-content-course-card-top{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.client-content-course-card-top h3,.client-content-lesson-header h3,.client-content-outline-section h3{margin:.35rem 0 0}.client-content-course-bridge,.client-content-course-card p,.client-content-course-card-meta,.client-content-lesson-link span{margin:0;color:rgba(28,21,16,.7);font-size:.95rem}.client-content-course-card-meta{display:grid;grid-gap:.25rem;gap:.25rem;font-size:.88rem}.client-content-course-hero{display:grid;grid-gap:1rem;gap:1rem}.client-content-course-cover{width:100%;max-width:18rem;border-radius:1rem;border:1px solid rgba(171,126,56,.18);object-fit:cover;aspect-ratio:16/10;justify-self:start}.client-content-access-chips{gap:.5rem}.client-content-course-summary{margin:.8rem 0 0;font-size:1rem;color:rgba(28,21,16,.78)}.client-content-detail-grid{display:grid;grid-gap:1rem;gap:1rem;margin-top:1rem}.client-content-outline-section{display:grid;grid-gap:.75rem;gap:.75rem;padding:1rem;border-radius:1rem;background:rgba(255,252,246,.72);border:1px solid rgba(171,126,56,.16)}.client-content-outline-section header{display:flex;justify-content:space-between;gap:.75rem;align-items:center}.client-content-lesson-panel{min-height:18rem;padding:1.15rem;border-radius:1rem;background:hsla(0,0%,100%,.86);border:1px solid rgba(171,126,56,.14)}.client-content-lesson-header{display:grid;grid-gap:.55rem;gap:.55rem}.client-content-lesson-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin:1rem 0}.client-content-lesson-body{display:grid;grid-gap:1rem;gap:1rem;color:rgba(28,21,16,.86);line-height:1.65}.client-content-lesson-body :is(h1,h2,h3,h4){margin:1.2rem 0 .5rem}.client-content-lesson-body :is(p,ul,ol,blockquote){margin:0}.client-content-lesson-body iframe{width:100%;min-height:min(62vh,720px);border:0;border-radius:1rem;background:hsla(40,55%,96%,.96)}.client-content-lesson-body img,.client-content-lesson-body video{max-width:100%;height:auto;border-radius:1rem}.client-content-empty-state{display:grid;grid-gap:.45rem;gap:.45rem;padding:1rem;border-radius:1rem;background:rgba(255,252,246,.68);border:1px dashed rgba(171,126,56,.28)}@media (max-width:1024px){.client-home-layout{grid-template-columns:1fr;gap:16px}.client-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){.client-portal-shell{grid-template-columns:1fr}.client-portal-sidebar,.client-topbar{display:none!important}.client-mobile-header{display:flex;position:-webkit-sticky;position:sticky;top:0;z-index:20;width:calc(100% - 32px);margin:12px auto 10px;padding:10px 12px;align-items:center;justify-content:space-between;gap:8px}.client-content{width:calc(100% - 32px);margin:0 auto 16px;padding:0 0 calc(76px + env(safe-area-inset-bottom));gap:12px}.client-mobile-tabs{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));padding-bottom:env(safe-area-inset-bottom)}.client-mobile-tab-label{font-size:10px;line-height:12px}.client-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.client-finance-toolbar{display:grid;grid-template-columns:1fr;grid-gap:8px;gap:8px}.client-finance-member-chips{overflow-x:auto;flex-wrap:nowrap}.client-finance-member-chips .badge{white-space:nowrap;flex:0 0 auto}.client-compact-invoice-row{grid-template-columns:1fr}.client-compact-invoice-actions{justify-content:flex-start}.client-upcoming-lesson-row{grid-template-columns:1fr;gap:8px}.client-upcoming-lesson-action .mode-link{width:100%;justify-content:center}.client-home-urgent-actions{flex-direction:column;align-items:stretch}.client-home-urgent-actions .client-pay-cta,.client-home-urgent-actions .mode-link{width:100%;justify-content:center}.client-finance-sticky-pay,.client-home-sticky-pay{display:block;position:-webkit-sticky;position:sticky;bottom:calc(76px + env(safe-area-inset-bottom) + 8px);z-index:30}.client-planning-shell,.client-week-planning-board{gap:8px;border-radius:16px}.client-planning-heading{flex-direction:column;align-items:flex-start;gap:6px}.client-planning-heading h2,.client-week-planning-board h2{font-size:1.05rem}.client-planning-heading p,.client-week-planning-board>.muted{display:none}.client-planning-heading .mode-link{min-height:34px;padding:0 12px}.client-planning-hero{grid-template-columns:1fr;gap:6px;padding:8px}.client-planning-pill{gap:3px;padding:6px 8px;border-radius:12px}.client-planning-pill>span{font-size:11px}.client-planning-pill input,.client-planning-pill select{min-height:40px;padding:8px 9px}.client-planning-advanced{padding:4px 8px 8px}.client-planning-advanced>summary{padding:6px 10px}.client-week-toolbar{margin-top:6px;padding:10px 12px;gap:8px}.client-week-toolbar-head{flex-direction:column;align-items:flex-start;gap:8px}.client-week-title-group strong{font-size:16px}.client-week-title-group small{display:none}.client-week-toolbar-actions{width:100%;justify-content:space-between}.client-week-toolbar-actions .mode-link{flex:1 1 auto;text-align:center}.client-week-legend{gap:6px}.client-week-legend-item{padding:5px 8px;gap:6px;font-size:11px}.client-planning-toolbar-actions{width:100%}.client-planning-reset{min-height:40px}.client-planning-quick-filter-form{margin-top:4px}.client-planning-quick-filter-label{max-width:none}.client-agenda-grid.agenda-grid-month,.client-agenda-grid.agenda-grid-week{gap:8px}.client-agenda-day{gap:6px}.client-agenda-day .agenda-day-header h3{font-size:16px}.client-agenda-event .event-meta-secondary{display:none}.client-agenda-event .row{flex-wrap:nowrap}.client-agenda-event .event-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}@media (min-width:960px){.client-content-layout{grid-template-columns:minmax(19rem,25rem) minmax(0,1fr);align-items:start}.client-content-course-hero{grid-template-columns:minmax(0,1fr) auto;align-items:start}.client-content-detail-grid{grid-template-columns:minmax(17rem,21rem) minmax(0,1fr);align-items:start}}@media (min-width:901px){.client-portal-shell{grid-template-columns:240px minmax(0,1fr)}.client-portal-sidebar{display:grid!important}.client-mobile-header,.client-mobile-tabs{display:none!important}.client-topbar{display:flex!important}}@media (max-width:560px){.client-kpi-grid{grid-template-columns:1fr}.client-finance-drawer,.client-finance-drawer>summary{width:100%}}.portal-impersonation-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding:10px 12px;border:1px solid rgba(212,175,55,.45);border-radius:12px;background:rgba(212,175,55,.12);color:#1f2937;font-size:.92rem}.portal-impersonation-banner form{margin:0}.portal-impersonation-banner button{min-height:34px;border-radius:10px;border:1px solid rgba(17,24,39,.2);background:#fff;color:#111827;padding:0 12px;font-weight:600}@media (min-width:901px){.client-portal-shell{display:grid!important;grid-template-columns:240px minmax(0,1fr)!important}.client-portal-shell>.client-portal-sidebar{display:grid!important;visibility:visible!important;opacity:1!important}.client-portal-shell>.client-portal-main{min-width:0}}@media (max-width:900px){.client-portal-shell>.client-portal-sidebar{display:none!important}.client-mobile-tabs{display:grid!important}}.auth-page{min-height:100vh;background:linear-gradient(160deg,#f4f7fb,#f9f2e5)}.auth-shell{width:min(520px,100%);margin:0 auto;display:grid;grid-gap:14px;gap:14px}.auth-header{grid-gap:6px;gap:6px;padding:6px 2px}.auth-header h1{margin:0;font-size:28px}.auth-header p{margin:0;color:#4a5d75;line-height:1.45}.auth-card{display:grid;grid-gap:14px;gap:14px}.auth-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.auth-tab{min-height:46px;border-radius:11px;border:1px solid #dce3ee;background:#fff;color:#30455f;text-decoration:none;font-weight:700;display:inline-flex;justify-content:center;align-items:center}.auth-tab.active{border-color:rgba(212,175,55,.55);background:rgba(212,175,55,.18);color:#2f250e}.auth-section{display:grid;grid-gap:12px;gap:12px}.auth-section h2{margin:0;font-size:24px}.auth-form{gap:10px}.auth-form label{display:grid;grid-gap:6px;gap:6px}.auth-form .auth-consent-option,.auth-form label.checkline{display:flex}.auth-form button,.auth-form input,.auth-form select,.auth-form textarea{min-height:48px}.auth-form input[type=checkbox]{min-height:auto}.auth-links{display:flex;flex-wrap:wrap;gap:10px}.auth-links a{color:#1f4f80;text-decoration:none;font-weight:600}.auth-links a:hover{text-decoration:underline}.auth-step-indicator{margin:0;padding-left:18px;display:grid;grid-gap:4px;gap:4px;color:#465b74;font-size:13px}.auth-step-card{border:1px solid #e2e8f1;border-radius:12px;background:#f9fbff;padding:12px;display:grid;grid-gap:10px;gap:10px}.auth-step-card h3{margin:0;font-size:16px}.auth-consent-card{gap:14px}.auth-consent-copy{display:grid;grid-gap:10px;gap:10px}.auth-consent-copy p{margin:0}.auth-child-details,.auth-consent-group{display:grid;grid-gap:10px;gap:10px}.auth-child-details{margin-top:4px;padding-top:10px;border-top:1px solid #e2e8f1}.auth-consent-group-title{margin:0;font-size:13px;font-weight:700;letter-spacing:.01em;text-transform:uppercase;color:#5f6f85}.auth-consent-option{align-items:flex-start;gap:12px;padding:12px 14px;border:1px solid #dbe4ef;border-radius:12px;background:#fff;min-height:0}.auth-consent-option.is-required{border-color:#d9c48a;background:#fffaf0}.auth-consent-option input[type=checkbox]{margin-top:3px}.auth-consent-option span{display:grid;grid-gap:3px;gap:3px}.auth-consent-option strong{font-size:15px;color:#23384d}.auth-consent-option small{line-height:1.45}.public-buy-page{min-height:100vh;background:linear-gradient(160deg,#f4f7fb,#f9f2e5)}.public-buy-shell{width:min(560px,100%);margin:0 auto}.public-buy-card,.public-buy-shell{display:grid;grid-gap:14px;gap:14px}.public-buy-header{display:grid;grid-gap:6px;gap:6px}.public-buy-header h1{margin:0}.public-buy-summary{display:grid;grid-gap:10px;gap:10px;padding:12px;border:1px solid var(--border);border-radius:12px;background:#fffdf8}.public-buy-badges{gap:8px}.public-buy-price{margin:0;font-size:26px;font-weight:700;color:#1f2a3d}.public-buy-list{margin:6px 0 0;padding-left:18px;display:grid;grid-gap:4px;gap:4px}.public-buy-form{gap:10px}.public-buy-form label{display:grid;grid-gap:6px;gap:6px}.public-buy-line{display:flex;justify-content:space-between;gap:10px;align-items:baseline;font-size:14px}.prof-pay-editor{display:grid;grid-gap:14px;gap:14px}.prof-pay-activities-card,.prof-pay-base-card,.prof-pay-prof-grid-card{border:1px solid var(--border);border-radius:12px;padding:14px;background:#fffdf9}.prof-pay-preview{border:1px solid var(--border);border-radius:10px;background:#fffdfa;padding:10px}.prof-pay-preview-title{margin:0 0 6px;font-weight:700}.prof-pay-rule-list{margin:0;padding-left:18px;display:grid;grid-gap:4px;gap:4px}.prof-pay-grid-editor{display:grid;grid-gap:10px;gap:10px;margin-top:12px}.prof-pay-simulation{border-radius:10px;border:1px dashed #d7c4a2;background:#fdf7ed;padding:10px}.prof-pay-simulation p{margin:4px 0 0}.prof-pay-search{min-width:260px;flex:1 1}.prof-pay-activity-card,.prof-pay-activity-list{display:grid;grid-gap:10px;gap:10px}.prof-pay-submit-row{justify-content:flex-end}@media (max-width:980px){.prof-pay-activity-card .grid.cols-2,.prof-pay-base-card .grid.cols-3,.prof-pay-prof-grid-card .grid.cols-2{grid-template-columns:1fr}.prof-pay-search{min-width:100%}.prof-pay-submit-row{justify-content:stretch}.prof-pay-submit-row button{width:100%}}.quote-wizard-layout{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:minmax(0,1fr)}.quote-wizard-main{display:grid;grid-gap:1rem;gap:1rem}.quote-wizard-card h3{margin-bottom:.25rem}.quote-wizard-sticky{position:static}.quote-summary-card{position:-webkit-sticky;position:sticky;top:1rem}.quote-total{font-size:1.1rem;font-weight:700}.quote-weekday-chip{padding:.35rem .5rem;border:1px solid var(--line);border-radius:999px;background:#fff}.quote-solfege-preview{border:1px solid var(--line);background:#faf8f4;border-radius:.6rem;padding:.75rem}.quote-lines-list{display:grid;grid-gap:.75rem;gap:.75rem}.quote-line-card{border:1px solid var(--line);border-radius:.7rem;padding:.75rem;background:#fff}.quote-line-amount{border:1px dashed var(--line);border-radius:.55rem;padding:.55rem;display:flex;flex-direction:column;justify-content:center;gap:.2rem}.quote-line-amounts-row{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.55rem;gap:.55rem}.quote-editor-toolbar{border:1px solid var(--line);border-radius:.7rem;padding:.7rem .8rem;background:#fff}.quote-editor-toolbar-main{display:grid;grid-gap:.18rem;gap:.18rem}.quote-editor-count{font-size:.9rem;color:#45556a}.quote-add-button{display:inline-flex;align-items:center;gap:.45rem}.quote-add-button svg{width:16px;height:16px}.quote-status-chip{display:inline-flex;align-items:center;border-radius:999px;padding:.2rem .55rem;font-size:.76rem;font-weight:700;white-space:nowrap}.quote-status-chip-saved{background:#dff5e6;color:#1e6b3b}.quote-status-chip-pending{background:#fdf0d7;color:#7a4e06}.quote-status-chip-new{background:#e7efff;color:#244b96}.quote-status-chip-editing{background:#fde7d9;color:#8b4200}.quote-editor-split{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);grid-gap:.95rem;gap:.95rem;align-items:start}.quote-editor-pane{border:1px solid var(--line);border-radius:.75rem;padding:.8rem;background:#fff;min-height:200px}.quote-editor-pane h4{margin:0}.quote-editor-pane-saved{background:#fefefe}.quote-editor-pane-draft{background:#fffdf8}.quote-editor-split-planning{grid-template-columns:minmax(0,1fr) minmax(0,1.22fr)}.quote-editor-split-pricing{grid-template-columns:minmax(0,1fr) minmax(360px,430px)}.quote-planning-draft-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem .8rem}.quote-planning-draft-grid .span-2{grid-column:1/-1}.quote-editor-empty{border:1px dashed var(--line);border-radius:.6rem;background:#fafafa;padding:.7rem;color:#5c6774}.quote-saved-list{display:grid;grid-gap:.65rem;gap:.65rem}.quote-saved-card{border:1px solid var(--line);border-radius:.7rem;background:#fff;padding:.8rem;display:grid;grid-gap:.7rem;gap:.7rem;background:radial-gradient(circle at top right,rgba(232,240,255,.55),transparent 34%),linear-gradient(180deg,#fff,#fffdf9)}.quote-saved-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}.quote-saved-card-head{min-width:0;display:grid;grid-gap:.45rem;gap:.45rem}.quote-saved-card-badges{display:flex;flex-wrap:wrap;gap:.45rem}.quote-line-kind-pill{display:inline-flex;align-items:center;border-radius:999px;padding:.22rem .58rem;font-size:.76rem;font-weight:700;background:#eef3fb;color:#39516f}.quote-saved-card-title-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding:0;margin:0;text-align:left;color:#162536;font:inherit;font-size:1rem;font-weight:800;cursor:pointer}.quote-saved-card-title-button:hover{color:#9a6411}.quote-saved-card-actions{display:inline-flex;align-items:center;gap:.45rem;flex-shrink:0}.quote-icon-button{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid #dcccae;border-radius:12px;background:#fff7e8;color:#6a4611}.quote-icon-button:hover{background:#f4dfb9}.quote-icon-button[aria-pressed=true]{background:#efd6a5;border-color:#d2b172}.quote-icon-button svg{width:18px;height:18px}.quote-icon-button-danger{border-color:#efdad7;background:#fff2f0;color:#8b2f25}.quote-icon-button-danger:hover{background:#f5d5cf}.quote-saved-card-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:.6rem;gap:.6rem}.quote-saved-card-metrics>div{display:grid;grid-gap:.2rem;gap:.2rem;border:1px solid #e4e9f1;border-radius:12px;padding:.65rem .7rem;background:#fcfdff}.quote-saved-card-metrics>div span{font-size:.76rem;font-weight:700;color:#5c6f85}.quote-saved-card-metrics>div strong{font-size:1rem;color:#152538}.quote-saved-card-metric-warning{border-color:#eccf97;background:#fff7e5}.quote-saved-card-footer{display:flex;flex-wrap:wrap;gap:.55rem 1rem;font-size:.86rem;color:#67778b}.quote-line-editor-modal{width:min(780px,94vw);max-height:88vh;padding:1rem;gap:.9rem}.quote-planning-editor-modal{width:min(920px,96vw);max-height:88vh;padding:1rem;gap:.9rem}.quote-line-editor-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;padding-right:3.2rem}.quote-line-editor-kicker{margin:0 0 .25rem;font-size:.82rem;font-weight:800;letter-spacing:.01em;color:#8a5a0a}.quote-line-card-modal{background:linear-gradient(180deg,#fffdfa,#fff)}.quote-line-card-modal .grid{gap:.8rem 1rem}.quote-draft-banner{border-radius:.6rem;padding:.45rem .6rem;font-size:.82rem;font-weight:700}.quote-draft-banner.new{background:#e8f0ff;color:#204a9e}.quote-draft-banner.editing{background:#fff0dd;color:#7b4b03}.quote-saved-table-wrap{overflow-x:auto}.quote-saved-table{width:100%;border-collapse:collapse;table-layout:auto;min-width:900px}.quote-saved-table td,.quote-saved-table th{border:1px solid var(--line);padding:.45rem .5rem;text-align:left;vertical-align:top;font-size:.88rem;white-space:normal;word-break:normal;overflow-wrap:break-word}.quote-saved-table th{background:#f2f6fc;color:#1f2f45}.quote-saved-table tbody tr.active td{background:#fff9ec}.quote-saved-table .small-btn{padding:.2rem .45rem}.quote-col-actions,.quote-col-price,.quote-col-qty,.quote-col-qty-planned,.quote-col-status,.quote-col-total,.quote-col-type,.quote-col-vat{white-space:nowrap;width:1%}.quote-col-title,.quote-col-title-cell{min-width:220px;width:28%}.quote-col-qty-planned{min-width:116px}.quote-col-qty-mismatch{color:#8b4c00;font-weight:700}.quote-line-title-text{display:-webkit-box;line-height:1.3;max-height:calc(1.3em * 2);overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.quote-selected-item-label{display:block;line-height:1.3}.quote-line-planning-summary{display:flex;flex-wrap:wrap;gap:.5rem 1rem;padding:.65rem .8rem;border:1px solid var(--line);border-radius:12px;background:#f7fbff;color:#35506b}.quote-line-planning-summary.is-warning{background:#fff6e8;color:#8b4c00}.quote-price-field,.quote-price-field input{min-width:170px}.quote-workstream-card{border-width:1px;border-style:solid}.quote-workstream-card-planning{border-color:#c7d7f0;background:linear-gradient(180deg,#f7faff,#fff)}.quote-workstream-card-pricing{border-color:#d8ccb0;background:linear-gradient(180deg,#fffaf2,#fff)}.quote-workstream-switch{display:flex;flex-wrap:wrap;gap:.55rem;margin-bottom:.8rem}.quote-workstream-switch-link{border:1px solid var(--line);border-radius:999px;padding:.3rem .65rem;font-size:.85rem;font-weight:700;text-decoration:none;color:#2b3a4a;background:#fff}.quote-workstream-switch-link-planning{border-color:#c7d7f0;background:#eef4ff;color:#1f3f73}.quote-workstream-switch-link-pricing{border-color:#d8ccb0;background:#fdf3de;color:#5d3a08}.quote-workstream-head{display:grid;grid-gap:.3rem;gap:.3rem}.quote-workstream-head h3{margin:0}.quote-workstream-badge{display:inline-flex;width:-moz-fit-content;width:fit-content;border-radius:999px;padding:.15rem .55rem;font-size:.78rem;font-weight:700;letter-spacing:.01em}.quote-workstream-badge-planning{background:#dfeafc;color:#1b3a72}.quote-workstream-badge-pricing{background:#f2e5c9;color:#5d3a08}@media (max-width:1200px){.quote-editor-split{grid-template-columns:1fr}}@media (max-width:720px){.quote-line-amounts-row{grid-template-columns:1fr}}@media (max-width:1450px){.quote-editor-split-pricing{grid-template-columns:1fr}}@media (max-width:900px){.quote-saved-card-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.quote-editor-toolbar{gap:.8rem}.quote-add-button span{display:none}.quote-line-editor-modal-head,.quote-saved-card-top{flex-direction:column}.quote-saved-card-actions{justify-content:flex-start}.quote-saved-card-metrics{grid-template-columns:1fr}}.quote-preview-details{gap:0}.quote-preview-summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.2rem 0}.quote-detail-panel{max-height:min(92vh,980px);overflow-y:auto}.quote-followup-form{display:grid;grid-gap:.55rem;gap:.55rem}.quote-public-page{width:min(1200px,100%);margin:0 auto;padding:1rem .85rem 5.25rem}.quote-public-shell{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:minmax(0,1fr)}.quote-public-main{display:grid;grid-gap:.9rem;gap:.9rem}.quote-public-meta-grid{display:grid;grid-gap:.65rem;gap:.65rem;grid-template-columns:repeat(2,minmax(0,1fr))}.quote-public-meta-grid article{border:1px solid var(--line);border-radius:.65rem;padding:.6rem;display:grid;grid-gap:.25rem;gap:.25rem}.quote-public-lines{display:grid;grid-gap:.65rem;gap:.65rem}.quote-public-line-item{border:1px solid var(--line);border-radius:.65rem;background:#fff;padding:.7rem;display:grid;grid-gap:.3rem;gap:.3rem}.quote-sessions-modal{width:min(980px,95vw);max-height:min(90vh,900px);overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr) auto;grid-gap:.75rem;gap:.75rem}.quote-sessions-modal-list{overflow-y:auto;max-height:min(70vh,640px);padding-right:.2rem}.quote-public-sticky{position:static}.quote-public-sticky-card{position:-webkit-sticky;position:sticky;top:1rem;display:grid;grid-gap:.45rem;gap:.45rem}.quote-public-action{text-align:center}.quote-public-change-request,.quote-public-form-action{display:grid;grid-gap:.45rem;gap:.45rem}.quote-public-change-request textarea{min-height:6.25rem;resize:vertical}.quote-cta-danger,.quote-cta-success{width:100%}.quote-cta-success{background:#1d7a3f;border-color:#1d7a3f;color:#fff}.quote-cta-danger{background:#9f2c2c;border-color:#9f2c2c;color:#fff}.quote-mobile-sticky-actions{position:fixed;left:0;right:0;bottom:0;z-index:60;background:#fff;border-top:1px solid var(--line);padding:.6rem .75rem calc(.6rem + env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr 1fr;grid-gap:.55rem;gap:.55rem}.quote-mobile-sticky-actions button,.quote-mobile-sticky-actions form{width:100%}.row.wrap{flex-wrap:wrap}.row.end{justify-content:flex-end}.gap-xs{gap:6px}.gap-sm{gap:10px}.cols-span-2{grid-column:span 2}.cols-span-4{grid-column:span 4}.status-pill.status-cancelled{background:#f9dfdc;color:#8a1f1a}@media (max-width:1280px){.booking-billing-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-billing-progress{grid-template-columns:1fr;min-width:340px}}@media (max-width:760px){.booking-billing-overview{grid-template-columns:1fr}}.quote-list-filters,.quote-list-refine-card{display:grid;grid-gap:10px;gap:10px}.quote-list-filters label{display:grid;grid-gap:6px;gap:6px}.quote-advanced-filters{border:1px solid #dce3eb;border-radius:10px;background:#fffdf9;padding:10px 12px}.quote-advanced-filters>summary{cursor:pointer;font-weight:700;color:#36465d}.quote-list-table td,.quote-list-table th{vertical-align:middle}.quote-list-row:hover td{background:#f7fafc}.quote-list-row-link{color:#123f71;text-decoration:none}.quote-list-row-link:hover{text-decoration:underline}.quote-list-status-cell{display:grid;grid-gap:6px;gap:6px}.quote-list-change-request-note{display:grid;grid-gap:2px;gap:2px;padding:8px 10px;border:1px solid #cfe0f7;border-radius:10px;background:#f4f8ff;color:#234575;font-size:.84rem;line-height:1.35}.quote-list-change-request-message{color:#435772;font-style:italic}.quote-list-inline-hint{color:#5d6d82;font-size:.82rem;line-height:1.3}.quote-next-action-badge{background:#e8efff;color:#1d3f78;font-weight:700}.quote-workspace-shell{display:grid;grid-template-columns:260px minmax(0,1fr) 320px;grid-gap:12px;gap:12px;align-items:start}.quote-workspace-header-sticky{grid-column:1/-1;position:-webkit-sticky;position:sticky;top:0;z-index:30}.quote-workspace-header-card{margin-bottom:0}.quote-header-status{background:#f3efe8;color:#3f352a;border:1px solid #dfd1be}.quote-header-status-info{background:#e9f2ff;color:#254f8f;border-color:#bfd3f4}.quote-workspace-left{position:-webkit-sticky;position:sticky;top:84px;align-self:start}.quote-workspace-main{min-width:0;display:grid;grid-gap:12px;gap:12px}.quote-workspace-right{position:-webkit-sticky;position:sticky;top:84px;align-self:start}.quote-workspace-sidebar-card{display:grid;grid-gap:8px;gap:8px}.quote-workspace-sidebar-nav{display:grid;grid-gap:6px;gap:6px}.quote-workspace-sidebar-link{display:flex;align-items:center;justify-content:space-between;gap:8px;text-decoration:none;border:1px solid #dce3eb;border-radius:10px;padding:9px 10px;color:#344861;background:#fff;font-weight:600}.quote-workspace-sidebar-link.active,.quote-workspace-sidebar-link:hover{background:#eef4ff;border-color:#c9daf6;color:#1f3d70}.quote-workspace-sidebar-badge-alert{background:#b42318;color:#fff;border-color:#b42318;box-shadow:0 0 0 2px rgba(180,35,24,.12)}.quote-overview-section{display:grid;grid-gap:10px;gap:10px}.quote-overview-kpis{align-items:stretch}.quote-overview-kpi{display:grid;grid-gap:4px;gap:4px}.quote-overview-alerts{display:grid;grid-gap:8px;gap:8px}.quote-client-request-banner{display:grid;grid-gap:6px;gap:6px}.quote-client-request-banner p{margin:0}.quote-public-feedback-card{display:grid;grid-gap:10px;gap:10px}.quote-public-feedback-message{border:1px solid #d9e4f4;border-radius:12px;background:linear-gradient(180deg,#f5f9ff,#fbfdff);padding:12px 14px}.quote-public-feedback-message p,.quote-public-feedback-message strong{margin:0}.top-gap-xs{margin-top:4px}.quote-interactions-card{overflow:hidden}.quote-interactions-timeline{list-style:none;margin:0;padding:0;display:grid;grid-gap:12px;gap:12px}.quote-interaction-item{display:grid;grid-template-columns:16px minmax(0,1fr);grid-gap:12px;gap:12px;align-items:start}.quote-interaction-dot{width:12px;height:12px;margin-top:6px;border-radius:999px;background:#9aa4b2;box-shadow:0 0 0 4px rgba(154,164,178,.16)}.quote-interaction-item.is-client .quote-interaction-dot{background:#d28a2d;box-shadow:0 0 0 4px rgba(210,138,45,.16)}.quote-interaction-item.is-admin .quote-interaction-dot{background:#2f6fb0;box-shadow:0 0 0 4px rgba(47,111,176,.16)}.quote-interaction-item.is-system .quote-interaction-dot{background:#6c7788;box-shadow:0 0 0 4px rgba(108,119,136,.16)}.quote-interaction-body{padding:12px 14px;border:1px solid #d9e4f4;border-radius:12px;background:linear-gradient(180deg,#fafbfe,#fff)}.quote-interaction-body p{margin:0}.quote-validation-integration-section{display:grid;grid-gap:8px;gap:8px}.quote-integration-card{display:grid;grid-gap:6px;gap:6px}.quote-right-summary-rail{min-width:0}.quote-right-summary-card{display:grid;grid-gap:8px;gap:8px}.quote-right-summary-statuses{border-top:1px solid #e3d5c2;padding-top:8px}.quote-right-summary-alerts{margin:0;padding-left:18px;display:grid;grid-gap:4px;gap:4px;color:#6a512f}.quote-transform-shell{display:grid;grid-gap:12px;gap:12px}.quote-transform-header{position:-webkit-sticky;position:sticky;top:0;z-index:30}.quote-transform-header-kpis{display:flex;flex-wrap:wrap;gap:8px}.quote-transform-layout{display:grid;grid-template-columns:320px minmax(0,1fr);grid-gap:12px;gap:12px;align-items:start}.quote-transform-sidebar{position:-webkit-sticky;position:sticky;top:88px;display:grid;grid-gap:8px;gap:8px}.quote-transform-scenario-list,.quote-transform-sidebar-grid{display:grid;grid-gap:6px;gap:6px}.quote-transform-scenario-link{display:block;text-decoration:none;border:1px solid #dce3eb;border-radius:10px;padding:8px 10px;color:#314960;background:#fff;font-weight:600}.quote-transform-scenario-link.active,.quote-transform-scenario-link:hover{border-color:#c9daf6;background:#edf4ff;color:#1c3a6f}.quote-transform-step-list{display:grid;grid-gap:6px;gap:6px}.quote-transform-step-link{border:1px solid #dce3eb;border-radius:10px;background:#fff;text-align:left;padding:8px 9px;display:flex;align-items:center;justify-content:space-between;gap:8px;color:#2f455d;font-weight:600}.quote-transform-step-link.active,.quote-transform-step-link:hover{border-color:#c9daf6;background:#edf4ff}.quote-transform-main{display:grid;grid-gap:12px;gap:12px}.quote-transform-stepper-card{padding-top:10px;padding-bottom:10px}.quote-transform-stepper{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:8px;gap:8px}.quote-transform-stepper li button{width:100%;border:1px solid #dce3eb;border-radius:10px;background:#fff;padding:8px 8px 7px;display:grid;grid-gap:4px;gap:4px;text-align:left;color:#33485f}.quote-transform-stepper li.active button{border-color:#c9daf6;background:#edf4ff}.quote-transform-stepper li button strong{font-size:12px;color:#3f5672}.quote-transform-stepper li button span{font-size:13px;font-weight:700}.quote-transform-stepper li button small{justify-self:start}.quote-transform-step-card{display:grid;grid-gap:10px;gap:10px}.quote-transform-compact-table td,.quote-transform-compact-table th{white-space:nowrap;vertical-align:top}.quote-transform-compact-table td .block{display:block}.quote-transform-radio{display:flex;align-items:center;gap:8px}.quote-transform-schedule-stack{display:grid;grid-gap:10px;gap:10px}.quote-transform-schedule-card{border:1px solid #e1e8ef;border-radius:10px;padding:10px;display:grid;grid-gap:8px;gap:8px;background:#fbfdff}.quote-transform-session-grid{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.quote-transform-session-option{border:1px solid #dce3eb;border-radius:10px;padding:8px;display:grid;grid-template-columns:auto 1fr;grid-gap:8px;gap:8px;background:#fff}.quote-transform-session-option.active{border-color:#c9daf6;background:#edf4ff}.quote-transform-actions{position:-webkit-sticky;position:sticky;bottom:8px;z-index:10}.quote-transform-issue-kpis{display:flex;flex-wrap:wrap;gap:8px}.quote-transform-issue-stack{display:grid;grid-gap:8px;gap:8px}.quote-transform-issue-card{border-radius:10px;padding:9px 10px;border:1px solid #edd9b0;background:#fff8e8}.quote-transform-issue-card.blocked{border-color:#efc7c7;background:#fff1f1}.quote-transform-execution-alert{display:grid;grid-gap:8px;gap:8px}.quote-transform-execution-alert p{margin:0}.quote-transform-execution-alert-title{font-size:16px}.quote-transform-inline-checkbox{display:inline-flex;align-items:center;gap:7px}.status-pill.quote-transform-status-blocked{background:#fde3e3;color:#7f1f1f}.quote-quick-transform-card{border:1px solid #d9dfec;background:#fcfdff}.quote-quick-transform-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px 14px;gap:8px 14px}.quote-quick-transform-summary p{margin:0}.quote-quick-transform-reasons .item h4{margin-bottom:8px}.quote-quick-transform-reasons .flash-err,.quote-quick-transform-reasons .flash-warn{margin:0 0 6px;padding:6px 8px}@media (max-width:1400px){.quote-workspace-shell{grid-template-columns:240px minmax(0,1fr)}.quote-workspace-right{position:static;grid-column:1/-1}.quote-transform-layout{grid-template-columns:280px minmax(0,1fr)}}@media (max-width:1080px){.quote-workspace-shell{grid-template-columns:minmax(0,1fr)}.quote-workspace-left,.quote-workspace-right{position:static;top:auto}.quote-transform-layout{grid-template-columns:minmax(0,1fr)}.quote-quick-transform-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-transform-sidebar{position:static;top:auto}.quote-transform-stepper{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-transform-session-grid{grid-template-columns:minmax(0,1fr)}.cols-span-2,.cols-span-4{grid-column:span 1}}@media (min-width:1024px){.quote-wizard-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start}.quote-public-page{padding:1.2rem 1rem 1rem}.quote-public-shell{grid-template-columns:minmax(0,1fr) 340px;align-items:start}.quote-mobile-sticky-actions{display:none}}:root{--brand-onyx:#0e0a09;--brand-onyx-soft:#1a1411;--brand-gold:#c48a3a;--brand-gold-deep:#8f5a1a;--brand-gold-soft:#e7c48d;--brand-ivory:#f7f0e6;--brand-cream:#efe4d2;--brand-paper:#fffaf3;--brand-line:#d9bc90;--brand-shadow:rgba(23,15,8,.16);--brand-copy:#1f1712;--brand-muted-copy:#6d5a45;--brand-serif:"Iowan Old Style","Baskerville Old Face","Palatino Linotype","Book Antiqua",serif;--brand-sans:"Avenir Next","Optima","Segoe UI",sans-serif}:where(.auth-page,.public-buy-page,.embed-planning-page,.client-portal-shell,.teacher-shell){color:var(--brand-copy);font-family:var(--brand-sans)}:where(.auth-page,.public-buy-page,.embed-planning-page,.client-portal-shell,.teacher-shell) h1,:where(.auth-page,.public-buy-page,.embed-planning-page,.client-portal-shell,.teacher-shell) h2,:where(.auth-page,.public-buy-page,.embed-planning-page,.client-portal-shell,.teacher-shell) h3{font-family:var(--brand-serif);letter-spacing:.01em;color:#1d140f}.portal-brand-lockup{display:inline-flex;align-items:center;gap:16px;min-width:0}.portal-brand-lockup-logo{width:78px;height:78px;object-fit:contain;border-radius:18px;box-shadow:0 18px 32px rgba(0,0,0,.16);background:#090605}.portal-brand-lockup-copy{display:grid;grid-gap:3px;gap:3px;min-width:0}.portal-brand-lockup-eyebrow{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:#8a724d}.portal-brand-lockup-copy strong{font-family:var(--brand-serif);font-size:28px;font-weight:700;line-height:1}.portal-brand-lockup-copy small{color:var(--brand-muted-copy);font-size:13px;line-height:1.45}.portal-brand-lockup.tone-dark .portal-brand-lockup-copy small,.portal-brand-lockup.tone-dark .portal-brand-lockup-copy strong,.portal-brand-lockup.tone-dark .portal-brand-lockup-eyebrow{color:#f3e6d1}.portal-brand-lockup.is-compact{gap:12px}.portal-brand-lockup.is-compact .portal-brand-lockup-logo{width:58px;height:58px;border-radius:14px}.portal-brand-lockup.is-compact .portal-brand-lockup-copy strong{font-size:22px}.auth-page,.embed-planning-page,.public-buy-page{background:radial-gradient(circle at top left,rgba(196,138,58,.18),transparent 24%),radial-gradient(circle at top right,rgba(255,247,232,.72),transparent 32%),linear-gradient(135deg,#0e0a09,#19120e 24%,#f2e7d7 0,#f8f1e7)}.auth-shell,.public-buy-shell{width:min(760px,100%);margin:0 auto;padding:clamp(20px,4vw,40px) 0;display:grid;grid-gap:18px;gap:18px}.auth-header,.embed-planning-card,.embed-planning-detail,.public-buy-card{border-radius:28px;border:1px solid hsla(36,49%,71%,.9);background:linear-gradient(180deg,rgba(255,252,247,.98),hsla(36,56%,90%,.96)),var(--brand-paper);box-shadow:0 30px 60px var(--brand-shadow)}.auth-header{display:grid;grid-gap:18px;gap:18px;padding:24px}.auth-brand-lockup{align-self:start;margin-bottom:0}.auth-header-copy{display:grid;grid-gap:10px;gap:10px;max-width:560px}.auth-header-copy h1{margin:0;font-size:clamp(34px,5vw,54px);line-height:.96}.auth-header-copy p,.embed-planning-header .muted,.public-buy-header p{margin:0;color:var(--brand-muted-copy);line-height:1.65;max-width:56ch}.auth-card,.public-buy-card{display:grid;grid-gap:18px;gap:18px;padding:clamp(20px,3vw,28px)}.auth-tabs{gap:10px}.auth-tab{min-height:50px;border-radius:16px;border:1px solid #e7d9c3;background:hsla(0,0%,100%,.72);color:#473321;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.75)}.auth-tab.active{border-color:rgba(196,138,58,.55);background:linear-gradient(135deg,rgba(196,138,58,.18),rgba(143,90,26,.08));color:#2d1f10}.auth-section h2,.embed-planning-header h1,.public-buy-header h1{font-size:clamp(28px,4vw,40px);line-height:1.02}.auth-form input,.auth-form select,.auth-form textarea,.embed-planning-book-form button,.public-buy-form button{border-radius:14px}.auth-form input,.auth-form select,.auth-form textarea,.embed-planning-day,.embed-planning-detail .item,.embed-slot-card,.public-buy-summary{border-color:#e0caa7;background:rgba(255,253,249,.88)}.auth-form button,.embed-planning-book-form button,.embed-planning-primary-link,.public-buy-form button{min-height:52px;border:1px solid rgba(96,60,18,.28);background:linear-gradient(135deg,var(--brand-gold),var(--brand-gold-deep));color:#fff8ef;box-shadow:0 16px 30px rgba(143,90,26,.22)}.auth-links a,.embed-planning-card a,.embed-planning-detail a,.public-buy-card a{color:#6a471c}.auth-step-card{border-radius:18px;border-color:#e5d2b4;background:linear-gradient(180deg,hsla(0,0%,100%,.92),hsla(37,57%,95%,.92))}.auth-consent-option{border-radius:16px;border-color:#e2d2b8}.auth-shell>.flash-err,.auth-shell>.flash-ok,.auth-shell>.flash-warn,.public-buy-shell .flash-err,.public-buy-shell .flash-ok,.public-buy-shell .flash-warn{border:1px solid rgba(196,138,58,.18);box-shadow:0 18px 36px rgba(31,23,18,.08)}.client-portal-shell{min-height:100vh;grid-template-columns:290px minmax(0,1fr);background:radial-gradient(circle at top right,rgba(196,138,58,.15),transparent 26%),linear-gradient(180deg,#f4ecdf,#efe4d2)}.client-portal-sidebar{background:radial-gradient(circle at top,rgba(196,138,58,.16),transparent 28%),linear-gradient(180deg,#0b0807,#18110d 40%,#231913);color:#f7ebd8;padding:22px 18px;border-right:1px solid rgba(196,138,58,.18);box-shadow:inset -1px 0 0 hsla(0,0%,100%,.03)}.client-brand{padding-bottom:4px}.client-user-card{border-radius:22px;border:1px solid hsla(37,65%,73%,.18);background:linear-gradient(180deg,hsla(0,0%,100%,.08),hsla(0,0%,100%,.03));padding:14px}.client-user-card strong{color:#fff7ec}.client-user-card small{color:#d9cbb5}.client-nav-link{border-radius:16px;padding:12px 14px;color:#e6d8c4}.client-nav-link:hover{border-color:hsla(37,65%,73%,.2);background:hsla(0,0%,100%,.06)}.client-nav-link.active{border-color:hsla(37,65%,73%,.26);background:linear-gradient(90deg,rgba(196,138,58,.24),rgba(196,138,58,.06));color:#fffaf2;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.02)}.client-topbar{background:radial-gradient(circle at top right,rgba(196,138,58,.16),transparent 20%),linear-gradient(135deg,#120d0b,#231913 70%);color:#f7ebd8;border-bottom:1px solid rgba(196,138,58,.2);padding:18px 24px}.client-topbar h1{color:#fff7ec}.client-topbar .muted{color:#d8cab7}.client-topbar .badge{background:rgba(255,248,236,.08);border:1px solid hsla(37,65%,73%,.22);color:#f0dcc0}.client-content{padding:20px;gap:16px}.client-portal-main .card,.client-portal-main .item,.client-portal-main .list-row,.client-portal-main .section-card{border-radius:22px;border-color:#dfc39a;box-shadow:0 18px 40px rgba(31,23,18,.08)}.teacher-shell{max-width:1320px;background:radial-gradient(circle at top left,rgba(196,138,58,.14),transparent 18%),linear-gradient(180deg,#f5ede1,#eee1cf)}.teacher-shell .card,.teacher-shell .item,.teacher-shell .teacher-accordion,.teacher-shell .teacher-alert-card{border-radius:22px;border-color:#dfc49e;background:linear-gradient(180deg,rgba(255,252,247,.96),hsla(36,58%,92%,.96));box-shadow:0 20px 44px rgba(31,23,18,.08)}.teacher-brand-banner{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px 22px;margin-top:12px;background:radial-gradient(circle at top right,rgba(196,138,58,.18),transparent 26%),linear-gradient(135deg,#0f0a08,#22170f 72%);border-color:rgba(196,138,58,.26)!important}.teacher-brand-banner-copy{display:grid;grid-gap:4px;gap:4px;text-align:right}.teacher-brand-banner-copy strong{color:#fff4e3;font-size:18px}.teacher-brand-banner-copy small{color:#dcc8ab}.teacher-page-header{top:10px;padding:14px 18px;border:1px solid hsla(35,50%,75%,.92);border-radius:20px;background:linear-gradient(180deg,rgba(255,252,247,.96),hsla(34,53%,94%,.96));box-shadow:0 18px 42px rgba(31,23,18,.08)}.teacher-status-pill{border:1px solid rgba(196,138,58,.24);background:rgba(196,138,58,.14);color:#5a3710}.prof-nav{gap:10px;padding:12px}.prof-nav-link{border-radius:16px;border-color:#e1c59c;background:hsla(0,0%,100%,.76);color:#4b341a}.prof-nav-link:hover{background:rgba(255,247,233,.96)}.prof-nav-link.active{background:linear-gradient(135deg,rgba(196,138,58,.18),rgba(196,138,58,.08));border-color:rgba(196,138,58,.35)}.embed-planning-page{padding:18px}.embed-planning-shell{gap:18px;max-width:1340px}.embed-planning-card,.embed-planning-detail{padding:clamp(18px,3vw,26px)}.embed-planning-header{gap:18px;margin-bottom:20px}.embed-brand-lockup{margin-bottom:10px}.embed-planning-detail .reset-link,.embed-planning-nav .mode-link,.public-buy-card .ghost.small-btn{border:1px solid rgba(196,138,58,.22);border-radius:14px;background:hsla(0,0%,100%,.7);color:#65421a}.embed-planning-day{border-radius:22px}.embed-planning-day-head{background:linear-gradient(180deg,hsla(37,65%,73%,.48),hsla(37,61%,90%,.74))}.embed-slot-card{border-radius:18px;gap:8px;box-shadow:0 12px 26px rgba(31,23,18,.05)}.embed-slot-card.is-selected,.embed-slot-card:hover{border-color:rgba(196,138,58,.5);box-shadow:0 18px 36px rgba(31,23,18,.12)}.embed-slot-card p{font-family:var(--brand-serif);font-size:19px;line-height:1.08}.public-buy-page{padding:18px 0}.public-buy-header{gap:16px}.public-buy-brand-lockup{margin-bottom:8px}.public-buy-summary{border-radius:20px;padding:16px;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.65)}.public-buy-line{padding:8px 0;border-bottom:1px solid hsla(36,49%,71%,.35)}.public-buy-line:last-child{border-bottom:0;padding-bottom:0}@media (max-width:1080px){.client-portal-shell{grid-template-columns:1fr}.client-portal-sidebar{border-right:0;border-bottom:1px solid rgba(196,138,58,.18)}}@media (max-width:820px){.teacher-brand-banner{grid-template-columns:1fr;display:grid;text-align:left}.teacher-brand-banner-copy{text-align:left}.portal-brand-lockup{align-items:flex-start}.portal-brand-lockup-logo{width:64px;height:64px}.portal-brand-lockup-copy strong{font-size:24px}}@media (max-width:720px){.auth-shell,.public-buy-shell{width:min(100%,560px)}.auth-card,.auth-header,.embed-planning-card,.embed-planning-detail,.public-buy-card{border-radius:22px}.client-content,.embed-planning-page{padding:14px}}@media (max-width:640px){.auth-page,.embed-planning-page,.public-buy-page{padding:10px 0 18px;background:linear-gradient(150deg,#120d0b,#1c140f 18%,#f3e7d5 0,#fbf5ec)}.auth-shell,.public-buy-shell{width:min(100%,100%);padding:12px 14px 20px;gap:12px}.auth-card,.auth-header,.embed-planning-card,.embed-planning-detail,.public-buy-card{border-radius:20px}.auth-header{padding:12px 12px 10px;gap:10px}.auth-brand-lockup{margin-bottom:0}.portal-brand-lockup{gap:10px;align-items:flex-start}.portal-brand-lockup-logo{width:48px;height:48px;border-radius:12px;box-shadow:0 12px 22px rgba(0,0,0,.14)}.portal-brand-lockup-copy{gap:2px}.portal-brand-lockup-eyebrow{font-size:9px;letter-spacing:.18em}.portal-brand-lockup-copy strong{font-size:17px;line-height:1.02}.portal-brand-lockup-copy small{font-size:10px;line-height:1.35}.auth-header-copy{gap:6px;max-width:none}.auth-header-copy h1{font-size:clamp(16px,8vw,30px);line-height:1;max-width:none}.auth-header-copy p{font-size:13px;line-height:1.4;max-width:none}.auth-card,.public-buy-card{gap:12px;padding:12px}.auth-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.auth-tab{min-height:42px;border-radius:14px;padding:7px 10px;font-size:13px}.auth-section h2,.embed-planning-header h1,.public-buy-header h1{font-size:clamp(18px,7vw,30px);line-height:1.04}.auth-section .muted,.embed-planning-header .muted,.public-buy-header p{font-size:13px;line-height:1.4}.auth-form{gap:10px}.auth-form input,.auth-form select,.auth-form textarea{min-height:46px}.auth-form button,.embed-planning-book-form button,.embed-planning-primary-link,.public-buy-form button{min-height:48px}.auth-shell>.flash-err,.auth-shell>.flash-ok,.auth-shell>.flash-warn{padding:12px;border-radius:16px}.client-content{padding:10px 10px 84px;gap:10px}.client-topbar{padding:12px;gap:10px}.client-topbar h1{font-size:24px}.teacher-shell{padding:10px}.teacher-brand-banner{padding:14px;gap:12px;margin-top:6px}.prof-nav{grid-template-columns:repeat(2,minmax(0,1fr));padding:8px;gap:8px}}@media (max-width:420px){.auth-shell,.public-buy-shell{padding-inline:10px}.auth-card,.auth-header,.embed-planning-card,.embed-planning-detail,.public-buy-card{border-radius:18px}.auth-header-copy h1{max-width:none}.auth-header-copy p{display:none}.portal-brand-lockup-copy small{max-width:19ch}}@media (max-width:640px){.auth-page .auth-header{display:flex;align-items:center;padding:14px;gap:0;background:radial-gradient(circle at top right,rgba(196,138,58,.28),transparent 34%),linear-gradient(145deg,#0c0807,#1c130e 72%,#281b13);border-color:rgba(196,138,58,.3);box-shadow:0 20px 34px rgba(9,6,5,.28)}.auth-page .auth-brand-lockup{width:100%}.auth-page .auth-brand-lockup .portal-brand-lockup{align-items:center;gap:12px}.auth-page .auth-brand-lockup .portal-brand-lockup-logo{width:52px;height:52px;border-radius:13px;box-shadow:0 12px 24px rgba(0,0,0,.2)}.auth-page .auth-brand-lockup .portal-brand-lockup-eyebrow{color:hsla(36,74%,83%,.72)}.auth-page .auth-brand-lockup .portal-brand-lockup-copy strong{color:#f6ead6;font-size:19px}.auth-page .auth-brand-lockup .portal-brand-lockup-copy small{color:hsla(35,52%,91%,.78);font-size:11px;max-width:20ch}.auth-page .auth-header-copy{display:none}.auth-page .auth-card{padding:12px;gap:10px}.auth-page .auth-tabs{padding:4px;border:1px solid #ead8bb;border-radius:16px;background:linear-gradient(180deg,#f8f0e2,#f4ead7)}.auth-page .auth-tab{min-height:42px;border:0;background:transparent;box-shadow:none}.auth-page .auth-tab.active{border:1px solid rgba(196,138,58,.28);background:linear-gradient(180deg,hsla(0,0%,100%,.94),hsla(37,62%,96%,.98));box-shadow:0 10px 18px rgba(49,35,19,.08)}.auth-page .auth-section{gap:8px}.auth-page .auth-section h2{font-size:18px;line-height:1.1}.auth-page .auth-section>.muted{font-size:13px;line-height:1.4;max-width:28ch}.auth-page .auth-links{gap:8px 12px;font-size:13px}}@media (max-width:420px){.auth-page .auth-header{padding:12px}.auth-page .auth-brand-lockup .portal-brand-lockup-logo{width:48px;height:48px}.auth-page .auth-brand-lockup .portal-brand-lockup-copy strong{font-size:18px}}.button-secondary{border:1px solid #d7c5a4;background:#fffaf1;color:#2b2010;border-radius:999px;padding:10px 14px;font:inherit;cursor:pointer}.simulation-simple-grid-editor{display:grid;grid-gap:18px;gap:18px}.simulation-simple-grid-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;flex-wrap:wrap}.simulation-simple-grid-actions{display:flex;gap:10px;flex-wrap:wrap}.simulation-simple-grid-legend,.simulation-simple-grid-mapping{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px}.simulation-simple-grid-legend-card{display:grid;grid-gap:4px;gap:4px;padding:14px;border-radius:16px;border:1px solid #e3d3b9;background:#fffaf1}.simulation-simple-grid-mapping-card{display:grid;grid-gap:8px;gap:8px;padding:14px;border-radius:16px;border:1px solid #e3d3b9;background:#fffdf8}.simulation-simple-grid-choice{margin:0;padding:10px 12px;border-radius:12px;background:#f6ead4;color:#5c4830}.simulation-simple-grid-wrap{overflow:auto;border:1px solid #e3d3b9;border-radius:20px;background:#fffdf8}.simulation-simple-grid-table{width:100%;border-collapse:separate;border-spacing:0;min-width:980px}.simulation-simple-grid-table td,.simulation-simple-grid-table th{border-right:1px solid #eadfcf;border-bottom:1px solid #eadfcf;vertical-align:top}.simulation-simple-grid-table thead th{position:-webkit-sticky;position:sticky;top:0;z-index:1;background:#f6ead4}.simulation-simple-grid-table th:first-child{min-width:78px}.simulation-simple-grid-table th{padding:10px 8px;text-align:left}.simulation-simple-grid-table td{padding:8px;background:#fffdf8}.simulation-simple-grid-cell{display:grid;grid-gap:6px;gap:6px}.simulation-simple-grid-counter{display:grid;grid-template-columns:24px 1fr;grid-gap:6px;gap:6px;align-items:center;padding:6px 8px;border-radius:12px;background:#fff;border:1px solid #eadfcf}.simulation-simple-grid-counter span{font-weight:700;color:#5c4830}.simulation-simple-grid-counter select{min-width:0;padding:6px 8px;border-radius:10px}@media (max-width:1100px){.simulation-simple-grid-legend,.simulation-simple-grid-mapping{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.simulation-simple-grid-toolbar{align-items:stretch}.simulation-simple-grid-actions{width:100%}.simulation-simple-grid-actions>*{flex:1 1 180px}.simulation-simple-grid-legend,.simulation-simple-grid-mapping{grid-template-columns:1fr}}