*{box-sizing:border-box}:root{color:#17201a;background:#f7f8fb;--admin-bg: #f7f8fb;--admin-surface: #ffffff;--admin-surface-soft: #f4f7f5;--admin-border: #dfe7e2;--admin-border-strong: #c8d6cf;--admin-text: #17201a;--admin-muted: #64736a;--admin-primary: #1f5d44;--admin-primary-hover: #174734;--admin-primary-soft: #e6f2ec;--admin-indigo: #4f46e5;--admin-indigo-soft: #eef2ff;--admin-teal: #0f766e;--admin-teal-soft: #ccfbf1;--admin-amber: #d97706;--admin-amber-soft: #fff7ed;--admin-rose: #dc2626;font-size:14px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;line-height:1.5;text-rendering:optimizeLegibility}body{margin:0;min-width:320px;min-height:100vh;background:var(--admin-bg);font-size:14px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.shell{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh;background:var(--admin-bg)}.shell--tenant-collapsed{grid-template-columns:72px minmax(0,1fr)}.auth-shell{display:grid;min-height:100vh;place-items:center;padding:24px;background:linear-gradient(135deg,rgba(34,85,68,.12),transparent 36%),linear-gradient(315deg,rgba(181,119,45,.12),transparent 32%),#f6f8f5}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;overflow:hidden;border-right:1px solid var(--admin-border);background:linear-gradient(180deg,#fff,#fbfdfb);padding:14px 8px}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0;min-height:36px;margin-bottom:14px;padding:0 10px 14px;border-bottom:1px solid var(--admin-border);color:var(--admin-text);font-size:18px;font-weight:800}.brand-mark{display:inline-grid;width:34px;height:34px;place-items:center;overflow:hidden;border-radius:12px;background:var(--admin-primary-soft);color:var(--admin-primary);font-size:14px;font-weight:900;letter-spacing:0;text-transform:none}.brand-mark img{width:100%;height:100%;object-fit:cover;display:block}.brand-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand-collapse,.brand-section-icon{margin-left:auto}.brand-collapse{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex:0 0 auto;border:0;border-radius:8px;background:transparent;color:#6f6f6f}.brand-collapse:hover{background:var(--admin-primary-soft);color:var(--admin-primary)}.shell--tenant-collapsed .sidebar{padding-inline:8px;position:relative}.shell--tenant-collapsed .brand{justify-content:center;gap:0;padding-inline:0}.shell--tenant-collapsed .brand-name{display:none}.shell--tenant-collapsed .brand-collapse{position:absolute;top:48px;left:50%;width:24px;height:24px;border:1px solid #e5e5e5;background:#fff;transform:translate(-50%);box-shadow:0 1px 2px #0f172a14}.nav{display:grid;gap:12px;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-bottom:12px;scrollbar-width:thin;scrollbar-color:rgba(15,23,42,.18) transparent}.nav::-webkit-scrollbar{width:6px}.nav::-webkit-scrollbar-thumb{border-radius:999px;background:#0f172a2e}.nav::-webkit-scrollbar-track{background:transparent}.nav-group{display:grid;gap:4px}.nav-group+.nav-group{padding-top:10px;border-top:1px solid var(--admin-border)}.nav-group-label{margin:0 0 6px;padding:0 16px;color:#7a8a82;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.shell--tenant-collapsed .nav{gap:10px}.shell--tenant-collapsed .nav-group{gap:6px}.shell--tenant-collapsed .nav-group+.nav-group{padding-top:10px}.shell--tenant-collapsed .nav-group-label{display:none}.nav-link{display:flex;align-items:center;gap:12px;min-height:38px;border-radius:8px;padding:8px 14px;color:#53645b;font-size:14px;font-weight:650}.shell--tenant-collapsed .nav-link{justify-content:center;gap:0;padding-inline:0}.shell--tenant-collapsed .nav-link span{display:none}.nav-link:hover,.nav-link.active{background:linear-gradient(135deg,var(--admin-primary),#256f56);color:#fff;box-shadow:0 4px 12px #1f5d442e}.nav-link svg{flex:0 0 auto}.nav-link:hover svg,.nav-link.active svg{color:#e7fff2}.nav-parent{display:grid;gap:2px}.nav-parent-toggle{display:flex;align-items:center;gap:12px;min-height:38px;width:100%;border:0;border-radius:8px;padding:8px 14px;background:transparent;color:#53645b;font-size:14px;font-weight:650;cursor:pointer;text-align:left}.nav-parent-toggle:hover,.nav-parent--active>.nav-parent-toggle{background:#1f5d4414;color:var(--admin-primary)}.nav-parent-chevron{margin-left:auto;flex:0 0 auto;transition:transform .15s ease}.nav-parent--expanded .nav-parent-chevron{transform:rotate(180deg)}.nav-submenu{display:grid;gap:2px;padding-left:10px}.nav-link--sub{min-height:34px;padding:6px 14px 6px 18px;font-size:13px;font-weight:600}.content{min-width:0;padding:0;background:var(--admin-bg)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:64px;margin-bottom:0;border-bottom:1px solid var(--admin-border);background:linear-gradient(90deg,#1f5d440d,#fff0 38%),#fff;padding:12px 20px}.topbar--actions-only{justify-content:flex-end;margin-bottom:12px}.topbar-search{display:flex;align-items:center;gap:10px;width:min(280px,42vw);min-height:38px;border:1px solid var(--admin-border);border-radius:8px;background:#fff;color:#8b8b8b;padding:0 12px;box-shadow:0 1px 3px #0000000a}.topbar-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--admin-text);font-size:14px}.topbar-actions{display:inline-flex;align-items:center;gap:10px;margin-left:auto}.topbar-icon-button,.account-trigger{border:0;background:transparent;color:var(--admin-text)}.topbar-icon-button{position:relative;display:inline-grid;width:30px;height:30px;place-items:center;border-radius:8px}.topbar-icon-button:hover,.account-trigger:hover{background:var(--admin-primary-soft)}.notification-dot{position:absolute;top:5px;right:5px;width:8px;height:8px;border:2px solid #ffffff;border-radius:50%;background:#ed0000}.account-menu{position:relative}.account-trigger{display:inline-flex;align-items:center;gap:7px;min-height:30px;border-radius:8px;padding:0 6px;font-size:14px;font-weight:700}.account-popover{position:absolute;z-index:40;top:calc(100% + 8px);right:0;width:min(320px,calc(100vw - 28px));overflow:hidden;border:1px solid var(--admin-border);border-radius:12px;background:#fff;box-shadow:0 10px 22px #0000001f}.account-popover__intro,.account-popover__section,.account-popover__links{display:grid;gap:3px;border-bottom:1px solid var(--admin-border);padding:11px 14px}.account-popover strong{color:var(--admin-text);font-size:16px;line-height:1.25}.account-popover button{justify-self:start;border:0;background:transparent;color:var(--admin-text);padding:5px 0 0;font-size:14px;line-height:1.35;text-align:left}.account-popover__muted span{color:var(--admin-muted);font-size:14px}.account-popover__links{gap:8px}.account-popover__links button{display:inline-flex;align-items:center;gap:7px;padding:0}.account-popover__logout{display:inline-flex;align-items:center;gap:7px;width:100%;padding:12px 14px!important;color:var(--admin-rose)!important;font-size:14px!important}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:0;padding:22px 20px 16px}.page-header__lead{display:flex;align-items:flex-start;gap:12px;min-width:0;flex:1}.page-header__back{flex-shrink:0;margin-top:2px}.page-header__text{min-width:0}.page-header h1{margin:0;font-size:24px;font-weight:850;letter-spacing:0;color:var(--admin-text)}.page-header__description{margin:3px 0 0;font-size:14px;line-height:1.55}.page-header__actions{flex-shrink:0;align-items:center}.page-header-store{display:flex;align-items:center;gap:10px}.page-header-store-select.custom-select--auto-width{flex-shrink:0}.page-header-store-select .custom-select-trigger{min-height:38px;font-weight:650}.global-tip{display:flex;align-items:center;justify-content:center;width:fit-content;max-width:min(720px,calc(100% - 40px));margin:14px auto -6px;border:1px solid color-mix(in srgb,var(--admin-primary) 28%,white);border-radius:8px;background:var(--admin-primary-soft);color:var(--admin-primary);padding:9px 12px;font-size:14px;font-weight:650;line-height:1.45;box-shadow:0 4px 14px color-mix(in srgb,var(--admin-primary) 12%,transparent)}.global-tip--error{border-color:#e5c1ba;background:#fff8f6;color:#98321f}.global-tip--info{border-color:#c8d6ef;background:#f6f9ff;color:#244f91}.schedule-stats-grid{grid-template-columns:repeat(4,minmax(120px,1fr))}.schedule-calendar-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px;flex-wrap:wrap}.schedule-calendar-toolbar__left{display:grid;gap:10px}.schedule-calendar-toolbar__right{margin-left:auto}.schedule-empty-toggle{margin:0;color:#526157;font-size:14px}.schedule-unit-options{display:flex;flex-wrap:wrap;gap:8px 12px}.schedule-unit-option.is-disabled{opacity:.55}.schedule-unit-option__label{display:inline-flex;align-items:center;gap:6px}.schedule-unit-occupied-tag{font-style:normal;color:#9a6a62;font-size:12px;font-weight:650}.schedule-slot-units{display:flex;flex-wrap:wrap;gap:4px;width:100%}.schedule-slot-unit{display:inline-flex;align-items:center;justify-content:center;min-width:22px;padding:1px 6px;border-radius:999px;font-size:10px;font-weight:700;line-height:1.4}.schedule-slot-unit.is-free{background:#edf7f0;color:#1f5d44;border:1px solid #c7dfd0}.schedule-slot-unit.is-occupied{background:#f3f4f6;color:#8b9390;border:1px solid #dfe3df;text-decoration:line-through}.schedule-slot-add{width:100%;margin-top:2px;border:1px dashed #b8cfc0;border-radius:6px;background:#f8fcf9;color:#1f5d44;padding:4px 6px;font-size:11px;font-weight:650;cursor:pointer}.schedule-slot-add:hover{background:#edf7f0}.schedule-slot--partial,.schedule-slot--gridcell{cursor:pointer}.schedule-slot--gridcell.schedule-slot--disabled{cursor:not-allowed;pointer-events:none}.schedule-slot--gridcell.schedule-slot--empty:not(.schedule-slot--disabled):hover{background:#f4faf6}.schedule-slot__stack{display:flex;flex-direction:column;gap:4px;align-items:stretch;width:100%;height:100%}.schedule-slot__stack .schedule-card.continuation-card{min-height:28px;height:auto}.schedule-slot__stack .schedule-card--action{min-height:42px;padding:4px 6px;font-size:11px}.schedule-card--action{width:100%;border-top:0;border-right:0;border-bottom:0;cursor:pointer;text-align:left;font:inherit;appearance:none}.schedule-card--action:hover{filter:brightness(.98)}.segmented-control{display:inline-flex;padding:3px;background:#eef1ef;border-radius:10px;gap:2px}.segmented-control button{border:0;background:transparent;padding:8px 16px;border-radius:8px;font-size:14px;font-weight:650;color:#667369;cursor:pointer;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.segmented-control button.active{background:#fff;color:#243329;box-shadow:0 1px 3px #0f171214}.week-nav{flex-wrap:nowrap}.topbar h1{margin:2px 0 0;font-size:24px;font-weight:760;letter-spacing:0}.topbar-action,.button,.button-secondary,.button-danger{display:inline-flex;align-items:center;justify-content:center;min-height:34px;border:1px solid transparent;border-radius:8px;padding:7px 12px;background:var(--admin-primary);color:#fff;font-size:14px;font-weight:650}.button:disabled,.button-secondary:disabled,.button-danger:disabled{cursor:not-allowed;opacity:.6}.button-secondary,.topbar-action{border-color:var(--admin-border-strong);background:#fff;color:var(--admin-text)}.button-secondary:hover:not(:disabled),.topbar-action:hover{border-color:var(--admin-primary);background:var(--admin-primary-soft);color:var(--admin-primary)}.button:hover:not(:disabled){background:var(--admin-primary-hover)}.button-danger{border-color:#e2b8ad;background:#fff8f6;color:#9f2f1d}.page-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 20px 20px}.dashboard-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.dashboard-grid>.panel:not(.metric-card){grid-column:span 2;min-height:118px}.panel,.card{border:1px solid var(--admin-border);border-radius:10px;background:var(--admin-surface);padding:18px;box-shadow:0 1px 3px #00000014}.wide{grid-column:1 / -1}.panel h2,.card h2,.card h3{margin:2px 0 6px;letter-spacing:0}.panel h2,.card h2{font-size:18px}.panel h3,.card h3{font-size:16px}.eyebrow{margin:0;color:#7a6751;font-size:12px;font-weight:760;text-transform:uppercase}.muted{color:var(--admin-muted)}.action-row,.toolbar,.form-row,.button-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.stored-value-card-actions{min-width:320px}.stored-value-card-actions .button-secondary,.stored-value-card-actions .button-danger{position:static;transform:none;width:auto;height:auto;padding:6px 10px;font-size:13px}.stored-value-card-form .form-section-label{grid-column:1 / -1;margin:2px 0 0;padding-top:12px;border-top:1px solid #e8ede9;color:#667369;font-size:12px;font-weight:700;letter-spacing:.04em}.stored-value-card-form .form-section-label:first-child{margin-top:0;padding-top:0;border-top:none}.stored-value-card-form .field input[type=color]{width:100%;padding:4px 6px}.button-row--center{justify-content:center;width:100%}.toolbar{justify-content:space-between;margin-bottom:12px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.field{display:grid;gap:5px}.field label,.checkbox-label{color:#314138;font-size:13px;font-weight:650}.field-label-meta{margin-left:8px;color:#667369;font-size:12px;font-weight:600}.field-hint{margin:0;color:#667369;font-size:13px;line-height:1.5}.field-hint .inline-link{color:var(--admin-primary);text-decoration:underline;text-underline-offset:2px}.inline-form-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.inline-form-row .input[type=time]{width:132px;flex:0 0 auto}.inline-form-row .input[type=number]{width:120px;flex:0 0 auto}.room-price-rules{display:grid;gap:10px}.room-price-rules-field{padding-top:4px;border-top:1px solid #e8ede9}.room-price-rules-add{justify-self:start}.room-list-table .room-list-name{display:grid;gap:2px}.room-list-table .room-list-name strong{font-weight:650}.room-list-table .room-list-split{white-space:nowrap;color:#4a5c50;font-size:13px}.status-pill--muted{background:#eef1ee;color:#667369}.room-pricing-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 12px}.room-pricing-tab{border:1px solid var(--border-color, #e5e7eb);background:#fff;color:#374151;border-radius:999px;padding:6px 14px;font-size:13px;cursor:pointer}.room-pricing-tab--active{border-color:var(--accent, #6366f1);background:color-mix(in srgb,var(--accent, #6366f1) 10%,white);color:var(--accent, #6366f1);font-weight:600}.room-pricing-panel{border:1px solid var(--border-color, #e5e7eb);border-radius:12px;padding:16px;background:#fafafa}.drawer-section--pricing .drawer-section__intro{margin:0 0 12px}.room-split-units{display:grid;gap:10px;margin-top:10px}.room-split-units__list{display:grid;gap:8px}.room-split-units__row{display:grid;grid-template-columns:28px minmax(88px,120px) minmax(0,1fr) auto;gap:8px;align-items:center}.room-split-units__index{color:#667369;font-size:13px;font-weight:650;text-align:center}.room-split-units__add{justify-self:start}.room-images-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px}.room-image-item{position:relative;aspect-ratio:1;border-radius:10px;overflow:hidden;border:1px solid #e8ede9;background:#f3f4f6}.room-image-item img{width:100%;height:100%;object-fit:cover;display:block}.room-image-remove{position:absolute;top:6px;right:6px;width:24px;height:24px;border:none;border-radius:999px;background:#111827b8;color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.room-image-remove:disabled{opacity:.5;cursor:not-allowed}.input,.select,.textarea{width:100%;min-height:34px;border:1px solid var(--admin-border-strong);border-radius:8px;background:#fff;color:var(--admin-text);font-size:14px;padding:7px 10px}.select{appearance:none;padding-right:36px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23667369' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center;transition:border-color .15s ease,box-shadow .15s ease}.select:hover:not(:disabled){border-color:#a8b8ad}.select:focus-visible{outline:none;border-color:var(--admin-primary);box-shadow:0 0 0 3px #1f5d4424}.select:disabled{cursor:not-allowed;opacity:.65;background-color:#f6f8f5}.textarea{min-height:76px;resize:vertical}.checkbox-label{display:flex;align-items:center;gap:8px}.radio-row{display:flex;flex-wrap:wrap;gap:16px}.radio-label{display:inline-flex;align-items:center;gap:8px;color:#314138;font-size:13px;font-weight:650;cursor:pointer}.coach-star-input,.coach-star-display{display:flex;align-items:center;gap:4px}.coach-star-button{display:inline-flex;align-items:center;justify-content:center;padding:2px;border:none;background:transparent;color:#c5ccc7;cursor:pointer}.coach-star-button.is-active,.coach-star-display .is-active{color:#d4a017}.coach-star-caption{margin-left:8px;color:#667369;font-size:13px}.coach-list-panel{overflow-x:auto}.coach-list-table{min-width:960px}.coach-list-table th:nth-child(1){width:220px}.coach-list-table th:nth-child(2){width:38%}.coach-list-table th:nth-child(3){width:220px}.coach-list-table th:nth-child(4){width:140px}.coach-list-table th:nth-child(5){width:118px}.coach-list-table td{padding-top:14px;padding-bottom:14px;vertical-align:top}.coach-list-profile{display:flex;align-items:center;gap:12px;min-width:0}.coach-list-profile .avatar-fallback{width:52px;height:52px;flex:0 0 auto;background:#eef3ef;color:#1f5d44}.coach-list-profile__body{display:grid;gap:3px;min-width:0}.coach-list-profile__body strong{overflow:hidden;color:#17201a;font-size:15px;font-weight:800;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.coach-list-profile__body span{color:#667369;font-size:13px;line-height:1.35}.coach-list-teaching{display:grid;gap:8px;min-width:0}.coach-list-meta-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.coach-list-tags{gap:6px}.coach-list-experience{display:-webkit-box;max-width:560px;margin:0;overflow:hidden;color:#4a5c50;font-size:13px;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:2}.coach-list-status{display:grid;justify-items:start;gap:5px}.coach-list-status strong{color:#17201a;font-size:15px;font-weight:800;line-height:1.2}.coach-list-status>span:not(.status-pill){color:#667369;font-size:12px}.coach-list-actions{display:grid;gap:8px;justify-items:stretch}.coach-list-actions .button-secondary,.coach-list-actions .button-danger{justify-content:center;min-width:84px;padding:7px 10px}.coach-editor-form{gap:18px}.coach-editor-grid{gap:16px 20px}.coach-store-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.coach-store-option{position:relative;display:flex;align-items:center;gap:10px;min-width:0;padding:12px 14px;border:1px solid #d7e1da;border-radius:12px;background:#fbfdfb;color:#314138;font-size:14px;font-weight:700;line-height:1.35;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.coach-store-option input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.coach-store-option__check{display:grid;width:18px;height:18px;flex:0 0 auto;place-items:center;border:2px solid #93a39a;border-radius:6px;background:#fff;color:#fff;font-size:12px;font-weight:900}.coach-store-option__name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coach-store-option:hover{border-color:#abc5b5;background:#f6fbf8}.coach-store-option.is-selected{border-color:var(--admin-primary);background:var(--admin-primary-soft);box-shadow:inset 0 0 0 1px #1f5d4414}.coach-store-option.is-selected .coach-store-option__check{border-color:var(--admin-primary);background:var(--admin-primary)}.coach-store-option.is-selected .coach-store-option__check:after{content:"✓"}.coach-store-option:has(input:focus-visible){outline:2px solid rgba(31,93,68,.35);outline-offset:2px}.alert{border:1px solid #e5c1ba;border-radius:8px;background:#fff8f6;color:#98321f;padding:8px 10px;font-size:14px}.quota-limit-notice{margin:0}.quota-limited-action{display:inline-flex;max-width:100%;cursor:not-allowed}.quota-limited-action>.button,.quota-limited-action>.button-secondary,.quota-limited-action>.button-danger{pointer-events:none}.operator-cell{display:inline-flex;align-items:center;gap:6px}.copyable-id{display:inline-flex;align-items:center;gap:6px;font-size:13px}.copyable-id-label{color:var(--admin-muted)}.copyable-id-value{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}.copyable-id-trigger{flex-shrink:0}.success{border-color:color-mix(in srgb,var(--admin-primary) 28%,white);background:var(--admin-primary-soft);color:var(--admin-primary)}.warning{border-color:#e2d1a8;background:#fffaf0;color:#7a5418}.endpoint-list{display:grid;gap:8px}code,pre{border-radius:8px;background:#f2f5f1;color:#243329}code{padding:3px 6px}pre{max-width:100%;overflow:auto;padding:10px;white-space:pre-wrap}.data-table{width:100%;border-collapse:collapse;font-size:14px}.data-table th,.data-table td{border-bottom:1px solid var(--admin-border);padding:8px;text-align:left;vertical-align:middle}.data-table th{color:var(--admin-muted);font-size:13px;font-weight:760}.status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:2px 8px;background:var(--admin-primary-soft);color:var(--admin-primary);font-size:13px;font-weight:700}.color-swatch{display:inline-block;width:18px;height:18px;border:1px solid #cbd6ce;border-radius:50%;vertical-align:middle}.empty-state{padding:14px 0 2px;color:#777;text-align:left}.coming-soon-panel{display:flex;align-items:center;justify-content:center;min-height:400px;text-align:center}.coming-soon-panel h2{margin:12px 0 8px;font-size:22px}.coming-soon-panel .muted{margin:0;line-height:1.6}.coming-soon-panel__icon{width:56px;height:56px;margin:0 auto;border-radius:16px}.coming-soon-panel__hint{max-width:360px;margin-top:8px;font-size:13px}.metric-card{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-height:142px;border-radius:10px;padding:20px}.dashboard-card{width:100%;color:inherit;text-align:left}.dashboard-card:hover{border-color:var(--admin-border-strong);background:#fff;transform:translateY(-1px)}.dashboard-icon{display:grid;width:34px;height:34px;flex:0 0 auto;place-items:center;border-radius:10px;background:var(--admin-indigo-soft);color:var(--admin-indigo)}.dashboard-grid .dashboard-card:nth-of-type(2) .dashboard-icon{background:var(--admin-primary-soft);color:var(--admin-primary)}.dashboard-grid .dashboard-card:nth-of-type(3) .dashboard-icon{background:var(--admin-amber-soft);color:var(--admin-amber)}.dashboard-grid .dashboard-card:nth-of-type(4) .dashboard-icon{background:var(--admin-teal-soft);color:var(--admin-teal)}.metric-card h3{margin:28px 0 0;color:#0a0a0a;font-size:26px;line-height:1.1}.metric-card .muted:first-child{color:#777;font-size:14px;font-weight:650}.metric-card h3+.muted{font-size:13px}.metric-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #e6ebe4;padding:7px 0}.metric-row span{display:inline-flex;align-items:center;gap:6px}.plans-page{display:grid;width:100%;gap:14px;align-items:start}.plans-page--creating{grid-template-columns:1fr;align-items:start}.plans-page--form-only{max-width:1040px}.plans-create-panel{align-self:start}.plans-create-hint,.plans-compare-sub{margin:0 0 10px;color:#777;font-size:14px;line-height:1.5}.plans-create-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.plans-list-panel,.plans-compare-panel{min-width:0;overflow:hidden}.plans-list-head,.plans-compare-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.plans-list-head h3,.plans-compare-head h3{margin:0 0 3px}.plans-list-sub{margin:0 0 10px;color:#777;font-size:14px;line-height:1.5}.plans-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.plans-card{display:grid;align-content:start;gap:14px;min-height:260px;border:1px solid var(--admin-border);border-radius:10px;background:#fff;padding:16px}.plans-card--editing{border-color:#9dc8ad;background:#f7fcf8;box-shadow:inset 0 0 0 1px #9dc8ad}.plans-card-head,.plans-card-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.plans-card-title{display:grid;gap:3px;min-width:0}.plans-card-title strong{color:var(--admin-text);font-size:17px;line-height:1.35}.plans-card-price{display:flex;align-items:baseline;gap:4px;border-top:1px solid var(--admin-border);border-bottom:1px solid var(--admin-border);padding:12px 0}.plans-card-price strong{color:var(--admin-text);font-size:24px;line-height:1}.plans-card-section{display:grid;gap:7px}.plans-card-label{color:var(--admin-muted);font-size:13px;font-weight:700}.plans-list-quota,.plans-list-feature-tags{display:flex;flex-wrap:wrap;gap:6px 8px}.plans-list-quota span{color:#405047;white-space:nowrap}.plans-list-feature-tags .status-pill{font-weight:650}.plans-card-actions{align-self:end;margin-top:auto}.plans-compare-scroll{width:100%;overflow-x:auto;border:1px solid var(--admin-border);border-radius:10px;background:#fff}.plans-compare-table{width:max-content;min-width:100%;border-collapse:collapse;font-size:14px}.plans-compare-table th,.plans-compare-table td{border-bottom:1px solid var(--admin-border);padding:8px 10px;vertical-align:top;text-align:left}.plans-compare-table thead th{background:var(--admin-surface-soft);border-bottom:1px solid var(--admin-border)}.plans-compare-label-col{position:sticky;left:0;z-index:1;min-width:108px;background:#fff;color:var(--admin-muted);font-weight:650}.plans-compare-table thead .plans-compare-label-col{background:var(--admin-surface-soft)}.plans-compare-plan-col{min-width:150px;max-width:190px}.plans-compare-plan-head{display:grid;gap:5px;align-content:start}.plans-compare-plan-head strong{color:var(--admin-text);font-size:14px;line-height:1.35}.plans-compare-price{color:var(--admin-text);font-size:13px;font-weight:700}.plans-readonly-tag{display:inline-flex;align-items:center;width:fit-content;padding:2px 8px;border-radius:999px;background:#eef2ff;color:#4f46e5;font-size:11px;font-weight:650}.plans-edit-button{display:inline-flex;align-items:center;gap:4px;width:fit-content;min-height:28px;padding:4px 8px;font-size:13px}.plans-compare-plan-col--editing{background:#f0fdf4;box-shadow:inset 0 0 0 2px #86efac}.plans-compare-group-row td{background:var(--admin-surface-soft);color:#405047;font-size:13px;font-weight:700;letter-spacing:.02em}.plans-feature-value{display:inline-flex;align-items:center;gap:4px;color:#666;white-space:nowrap}.plans-feature-value--on{color:#15803d}@media(max-width:1100px){.plans-create-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.plans-create-form-grid{grid-template-columns:1fr}}.warning-list{display:grid;gap:10px}.warning-item{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;width:100%;align-items:center;border:1px solid #ececec;border-radius:8px;background:#fff;color:inherit;padding:10px;text-align:left}.warning-item:hover{background:#fafafa}.warning-item:disabled{cursor:default}.avatar-fallback{display:grid;width:42px;height:42px;place-items:center;overflow:hidden;border-radius:50%;background:#f0f0f0;color:#111;font-weight:760}.avatar-fallback img{width:100%;height:100%;object-fit:cover}.warning-copy,.warning-badges{display:flex;min-width:0;flex-wrap:wrap;gap:6px 10px}.warning-copy{flex-direction:column;gap:1px}.warning-badges{justify-content:flex-end}.profile-avatar-row{align-items:center}.profile-avatar{display:grid;width:72px;height:72px;flex:0 0 auto;place-items:center;overflow:hidden;border:1px solid #d9e1d7;border-radius:50%;background:#eef3ef;color:#1f5d44;font-weight:800}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-avatar-actions{display:grid;gap:6px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.profile-upload-button{gap:8px}.section-heading{margin:24px 0 12px;font-size:15px;font-weight:760}.company-audit-hint{margin:0 0 16px;font-size:13px}.tenant-asset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}@media(max-width:1080px){.tenant-asset-grid{grid-template-columns:1fr}}.tenant-asset-field{display:grid;gap:8px;min-width:0}.tenant-asset-field__label{font-size:14px;font-weight:650;color:#1f2937}.tenant-asset-dropzone{position:relative;display:flex;align-items:center;justify-content:center;box-sizing:border-box;height:200px;border:1.5px dashed #c8d3cb;border-radius:14px;background:#f8fbf9;cursor:pointer;overflow:hidden;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.tenant-asset-dropzone:hover:not(.is-disabled):not(.is-uploading){border-color:#7a9b88;background:#f2f8f4}.tenant-asset-dropzone.is-dragover{border-color:#2f6b4f;background:#eaf4ee;box-shadow:inset 0 0 0 1px #2f6b4f26}.tenant-asset-dropzone.is-disabled{opacity:.6;cursor:not-allowed}.tenant-asset-dropzone.is-uploading{cursor:wait}.tenant-asset-dropzone__hint{display:grid;justify-items:center;gap:8px;padding:24px 16px;text-align:center;color:#526157;pointer-events:none}.tenant-asset-dropzone__hint strong{font-size:14px;color:#1f2937}.tenant-asset-dropzone__hint .muted{font-size:12px}.tenant-asset-dropzone__frame{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:10px;box-sizing:border-box;pointer-events:none}.tenant-asset-dropzone__image{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.tenant-asset-dropzone__overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px;background:#0f172a73;color:#fff;font-size:13px;opacity:0;transition:opacity .15s ease;pointer-events:none}.tenant-asset-dropzone.has-preview:hover .tenant-asset-dropzone__overlay,.tenant-asset-dropzone.has-preview.is-dragover .tenant-asset-dropzone__overlay{opacity:1}.tenant-asset-upload{display:grid;gap:12px}.tenant-asset-upload__preview{border:1px solid #d8e0da;border-radius:12px;overflow:hidden;background:#f7faf8;max-width:320px}.tenant-asset-upload__preview img{display:block;width:100%;max-height:220px;object-fit:contain}.tenant-asset-upload__placeholder{border:1px dashed #c8d3cb;border-radius:12px;padding:24px;text-align:center;max-width:320px}.tenant-asset-upload__actions{display:flex;gap:8px}.field-hint--error{color:#b42318}.panel-subtitle{margin:12px 0 8px;color:#526157;font-size:13px;font-weight:760}.panel-section-head{display:grid;gap:6px;margin-bottom:16px}.panel-section-head h3{margin:0}.panel-section-head .muted{margin:0;line-height:1.5}.theme-preset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.theme-preset-card{position:relative;display:grid;grid-template-columns:88px minmax(0,1fr);gap:14px;align-items:center;width:100%;border:1px solid #dfe5dc;border-radius:10px;background:#fff;color:inherit;padding:14px;text-align:left;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.theme-preset-card:hover:not(:disabled){border-color:#b8c9bd;background:#fbfdfb}.theme-preset-card.active{border-color:#1f5d44;background:#f6fbf8;box-shadow:0 0 0 3px #1f5d441f}.theme-preset-card:disabled{cursor:not-allowed;opacity:.65}.theme-preset-preview{position:relative;display:block;width:88px;height:56px;overflow:hidden;border:1px solid #e6ebe4;border-radius:8px}.theme-preset-sidebar{position:absolute;inset:0 auto 0 0;width:22px}.theme-preset-swatch{position:absolute;right:10px;bottom:10px;width:18px;height:18px;border:2px solid #ffffff;border-radius:50%;box-shadow:0 1px 3px #121d162e}.theme-preset-copy{display:grid;gap:4px;min-width:0}.theme-preset-copy strong{font-size:15px}.theme-preset-badge{position:absolute;top:10px;right:10px;border-radius:999px;background:#eaf1ec;color:#1f5d44;padding:2px 8px;font-size:11px;font-weight:700}.settings-stats-grid{grid-template-columns:repeat(6,minmax(0,1fr));margin-top:4px}.settings-page .settings-overview-panel{padding-top:18px}.settings-section-head h3,.settings-section-title h3{margin:0;font-size:16px;color:#17201a}.settings-section-head .muted,.settings-section-title .muted{margin:4px 0 0;font-size:13px}.settings-overview-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-top:16px}.settings-stat-card{display:grid;gap:8px;justify-items:start;border:1px solid #e6ebe4;border-radius:12px;background:#fff;padding:14px 16px}.settings-stat-card strong{font-size:28px;line-height:1;color:#17201a}.settings-stat-card>span:last-child{color:#667369;font-size:13px}.settings-stat-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px}.settings-stat-icon--blue{background:#eff6ff;color:#2563eb}.settings-stat-icon--green{background:#ecfdf5;color:#059669}.settings-stat-icon--violet{background:#eef2ff;color:#6366f1}.settings-stat-icon--orange{background:#fff7ed;color:#ea580c}.settings-stat-icon--teal{background:#ecfeff;color:#0891b2}.settings-stat-icon--rose{background:#fff1f2;color:#e11d48}.settings-workspace{padding-top:0;overflow:hidden}.settings-tab-bar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;padding:12px 16px;background:#f3f5f2;border-bottom:1px solid #e6ebe4}.settings-tab{border:0;border-radius:10px;background:transparent;color:#667369;font-size:14px;font-weight:600;padding:10px 12px;cursor:pointer;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.settings-tab:hover{color:#243329}.settings-tab--active{background:#fff;color:#17201a;box-shadow:0 1px 3px #0f171214}.activity-detail-summary{padding:18px 18px 12px}.activity-detail-title{margin:0 0 12px;font-size:20px;color:#17201a}.activity-detail-tab-body{padding:16px 18px 20px}.settings-form{padding:0}.settings-required-hint{margin:0;padding:16px 18px 0;font-size:13px}.settings-section{padding:20px 18px 24px}.settings-section-title{display:flex;align-items:flex-start;gap:12px}.settings-section-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:#ebf5ef;color:#1f5d44;flex-shrink:0}.settings-section-body{display:grid;gap:18px;max-width:720px;margin-top:18px}.settings-field label,.settings-toggle-copy>label{display:block;margin-bottom:8px;font-size:14px;font-weight:600;color:#243329}.settings-input-unit-row{display:flex;align-items:center;gap:10px}.settings-input-unit-row .input{width:120px}.settings-input-unit{color:#667369;font-size:14px}.settings-field-hint{margin:8px 0 0;color:#667369;font-size:12px;line-height:1.5}.settings-toggle-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid #eef2ea}.settings-toggle-row:first-child{border-top:0;padding-top:0}.settings-toggle-copy{flex:1;min-width:0}.settings-toggle-copy>label{margin-bottom:4px}.toggle-switch{position:relative;display:inline-flex;flex-shrink:0;cursor:pointer}.toggle-switch input{position:absolute;opacity:0;width:0;height:0}.toggle-switch-track{display:block;width:44px;height:24px;border-radius:999px;background:#d5ddd8;transition:background .15s ease}.toggle-switch-track:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0f17121f;transition:transform .15s ease}.toggle-switch input:checked+.toggle-switch-track{background:#17201a}.toggle-switch input:checked+.toggle-switch-track:after{transform:translate(20px)}.settings-template-block{display:grid;gap:12px;padding:16px;border:1px solid #e6ebe4;border-radius:12px;background:#fbfdfb}.settings-template-block h4{margin:0;font-size:15px;color:#17201a}.settings-template-block+.settings-template-block{margin-top:4px}.settings-policy-grid{max-width:640px}.settings-checkbox-field .checkbox-row{min-height:38px}.checkbox-row{display:inline-flex;align-items:center;gap:8px;color:#36463c;font-size:14px;font-weight:500;cursor:pointer}.checkbox-row input[type=checkbox]{width:16px;height:16px;margin:0;accent-color:var(--admin-primary);cursor:pointer}.password-field{position:relative}.password-field .input{padding-right:40px}.icon-button{position:absolute;right:8px;top:50%;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:0;border-radius:6px;background:transparent;color:#667369;transform:translateY(-50%)}.icon-button:hover{background:#eef3ef;color:#17201a}.profile-actions{justify-content:space-between;margin-top:14px}.table-person{display:flex;align-items:center;gap:10px}.table-person span{display:flex;flex-direction:column;gap:2px}.tag-list{display:flex;flex-wrap:wrap;gap:6px}.filters-grid{display:grid;grid-template-columns:minmax(220px,1.5fr) repeat(4,minmax(130px,1fr)) auto;gap:12px;align-items:end}.filter-keyword{min-width:0}.search-field{position:relative}.search-field__icon{position:absolute;left:12px;top:50%;z-index:1;transform:translateY(-50%);color:#667369;pointer-events:none}.search-field>.input{padding-left:38px}.filter-action{min-width:74px}.clickable-row{cursor:pointer}.clickable-row:hover{background:#f7faf7}.pagination-bar{display:flex;align-items:center;justify-content:center;gap:12px}.detail-stack{display:grid;gap:18px}.detail-header,.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.detail-header h2{margin:4px 0 0;font-size:20px}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.read-only{display:grid;align-content:start;min-height:76px;gap:4px;border:1px solid #e6ebe4;border-radius:8px;background:#fbfdfb;padding:11px 12px}.read-only span{color:#667369;font-size:12px;font-weight:700}.read-only strong{min-width:0;overflow-wrap:anywhere;color:#17201a;font-size:14px}.read-only small{color:#667369;font-size:12px}.read-only__value-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.read-only__value-row .link-button{flex-shrink:0;font-size:13px}.read-only__value-row .link-button:disabled{opacity:.5;cursor:not-allowed;text-decoration:none}.mono-value{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}.contract-section{display:grid;gap:16px;border-top:1px solid #e6ebe4;padding-top:18px}.section-title-row h3{display:inline-flex;align-items:center;gap:8px;margin:0}.contract-status{display:inline-flex;align-items:center;gap:6px;border-radius:999px;background:#eef3ef;color:#315443;padding:5px 10px;font-size:13px;font-weight:760}.contract-status[data-status=pending_student_sign],.contract-status[data-status=pending_guardian_sign],.contract-status[data-status=pending_sign]{background:#fff7df;color:#8a5a00}.contract-status[data-status=pending_institution_seal]{background:#edf4ff;color:#2456a6}.contract-status[data-status=effective],.contract-status[data-status=signed]{background:#ebf8ef;color:#247345}.contract-status[data-status=cancelled]{background:#f1f3f1;color:#5a655d}.contract-preview{display:grid;gap:8px;border:1px solid #dfe5dc;border-radius:8px;background:#fbfdfb;padding:14px}.contract-preview pre{max-height:420px;margin:0;background:#fff;font-family:inherit;font-size:13px;line-height:1.7}.permission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.users-filters{grid-template-columns:minmax(220px,1fr) minmax(160px,220px)}.tenants-filters{grid-template-columns:minmax(240px,1.6fr) minmax(140px,200px) minmax(140px,200px) auto;align-items:center;margin-bottom:12px}.tenants-filters>.custom-select{min-width:0;width:100%}.tenants-filters__expiring{white-space:nowrap}.tenant-user-list{display:grid;gap:12px}.tenant-user-card{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid #e6ebe4;border-radius:8px;padding:12px}.tenant-user-main{display:grid;gap:4px;min-width:0}.tenant-user-title,.tenant-user-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.tenant-user-actions{justify-content:flex-end}.permission-card{display:grid;align-content:start;gap:8px;border:1px solid #e6ebe4;border-radius:8px;background:#fbfdfb;padding:12px}.stats-filters{grid-template-columns:minmax(180px,1.4fr) minmax(160px,200px) repeat(2,minmax(140px,170px)) auto}.range-pills{display:flex;flex-wrap:wrap;gap:8px}.range-pill{min-height:32px;border:1px solid #cbd6ce;border-radius:999px;background:#fff;color:#36463c;padding:0 12px}.range-pill.active{border-color:#1f5d44;background:#1f5d44;color:#fff}.wide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.student-profile{display:flex;align-items:center;gap:14px;margin-bottom:14px}.compact-detail-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.note-box{display:grid;gap:4px;margin-top:12px;border:1px solid #e6ebe4;border-radius:8px;background:#fbfdfb;padding:12px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.metric-cell{display:grid;gap:2px;border:1px solid #e6ebe4;border-radius:8px;background:#fbfdfb;padding:14px;text-align:center}.metric-cell strong{color:#1f5d44;font-size:24px}.metric-cell span{color:#667369;font-size:13px}.card-list,.booking-list{display:grid;gap:12px}.student-card-item{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;border:1px solid #e6ebe4;border-radius:8px;background:#fbfdfb;padding:14px}.student-card-icon{display:grid;width:48px;height:48px;place-items:center;border-radius:8px;background:#eaf1ec;color:#1f5d44}.student-card-main{display:grid;gap:12px;min-width:0}.progress-block{display:grid;gap:6px}.progress-track{height:9px;overflow:hidden;border-radius:999px;background:#e3e9e3}.progress-track span{display:block;height:100%;border-radius:inherit;background:#1f5d44}.danger-pill{background:#fff1ed;color:#9f2f1d}.warning-pill{background:#fff7df;color:#8a5a00}.booking-card{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #e6ebe4;border-radius:8px;background:#fbfdfb;padding:12px}.table-scroll{max-width:100%;overflow-x:auto}.link-button{border:0;background:transparent;color:#1f5d44;font:inherit;font-weight:700;padding:0;text-decoration:underline}.week-range-button{min-width:220px;white-space:nowrap}.page-tabs{display:flex;gap:4px;border-bottom:1px solid #dfe5dc;margin:-4px -18px 0;padding:0 18px;flex:1}.schedule-panel-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:-4px -18px 16px;padding:0 18px;border-bottom:1px solid #dfe5dc}.schedule-panel-head .page-tabs{margin:0;padding:0;border-bottom:0}.schedule-generate-button{margin-bottom:8px;flex:0 0 auto}.page-tab{display:inline-flex;align-items:center;gap:6px;border:0;border-bottom:2px solid transparent;background:transparent;color:#667369;font-size:14px;font-weight:650;padding:10px 14px;margin-bottom:-1px;cursor:pointer;transition:color .15s ease,border-color .15s ease}.page-tab:hover{color:#243329}.page-tab.active{color:#1f5d44;border-bottom-color:#1f5d44}.page-tab-panel{min-height:120px}.schedule-list-hint{margin:0 0 12px}.booking-form .input[readonly]{background:#f8faf8;color:#334155;cursor:default}.booking-form-footer{grid-column:1 / -1;justify-content:flex-end;margin-top:4px;padding-top:16px;border-top:1px solid #e6ebe4}.schedule-panel{padding-top:16px}.schedule-grid-shell{position:relative;min-height:280px}.feature-gate-overlay{position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;padding:24px;border-radius:8px;background:#ffffffc2;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.feature-gate-overlay__card{max-width:360px;border:1px solid var(--admin-border);border-radius:12px;background:#fff;padding:20px 24px;text-align:center;box-shadow:0 8px 24px #0f171214}.feature-gate-overlay__card p{margin:0;color:#36463c;font-size:14px;line-height:1.6}.schedule-mode-hint{margin:-2px 0 2px;color:#667369;font-size:12px;line-height:1.4}.schedule-grid--template-empty{grid-auto-rows:auto}.schedule-template-empty-body{grid-column:1 / -1;display:grid;gap:10px;justify-items:center;min-height:280px;padding:40px 20px;background:#fff;text-align:center}.schedule-template-empty-title{margin:0;color:#36463c;font-size:15px;font-weight:700}.schedule-grid{--schedule-grid-line: #d7e0d7;--schedule-grid-line-strong: #c8d4c8;display:grid;grid-template-columns:76px repeat(7,minmax(130px,1fr));grid-auto-rows:minmax(58px,auto);min-width:980px;overflow:auto;border:1px solid var(--schedule-grid-line-strong);border-radius:8px}.schedule-corner{position:sticky;left:0;z-index:2}.schedule-time-cell{position:sticky;left:0;z-index:1;background:#fbfdfb}.schedule-time-col,.schedule-day-col{display:contents}.schedule-head,.schedule-time-cell,.schedule-slot{border-right:1px solid var(--schedule-grid-line)}.schedule-head,.schedule-time-cell{display:grid;place-items:center;min-height:58px;border-bottom:1px solid var(--schedule-grid-line-strong);background:#fbfdfb;color:#526157;font-size:13px;font-weight:760;text-align:center}.schedule-head small{color:#667369;font-size:11px;font-weight:600}.schedule-head.today{background:#e8f1fb;color:#1e3a5f}.schedule-head.today small{color:#4a6280}.schedule-head.past{color:#98a3ae}.schedule-head.past small{color:#b0bac3}.schedule-head--action{width:100%;border-top:0;border-left:0;border-bottom:1px solid var(--schedule-grid-line-strong);border-right:1px solid var(--schedule-grid-line);cursor:pointer}.schedule-head--action:not(:disabled):hover{background:#eef5f0}.schedule-head--action:disabled{cursor:not-allowed;opacity:.72}.schedule-slot{min-height:58px;border-top:0;border-left:0;border-bottom:1px solid var(--schedule-grid-line);border-right:1px solid var(--schedule-grid-line);background:#fff;color:inherit;padding:5px;text-align:left}.schedule-grid>:nth-child(8n){border-right:0}.schedule-slot:hover{background:#f4faf6}.schedule-slot.filled,.schedule-slot.template{background:#fbfdfb}.schedule-slot.continuation{padding-top:0;padding-bottom:0}.schedule-slot.past-day{background:#f1f4f7}.schedule-slot.is-past{background:#eef1f4;cursor:not-allowed}.schedule-slot.is-past:hover{background:#eef1f4}.schedule-slot.is-past:disabled{opacity:1}.schedule-slot.is-past.filled:not(:disabled),.schedule-slot.is-past.filled:not(:disabled):hover,.schedule-slot.is-readonly:not(:disabled),.schedule-slot.is-readonly:not(:disabled):hover{cursor:pointer;background:#eef1f4}.schedule-slot.is-readonly.filled .schedule-card{opacity:.92}.schedule-slot--empty:not(:disabled):hover{background:#f4faf6}.schedule-slot.booked{display:flex;align-items:stretch;padding:0;background:#e8ece8;cursor:pointer}.schedule-slot.booked:hover{background:#dfe3df}.schedule-slot.booked.merge-bottom{border-bottom-color:transparent}.schedule-slot.booked.continuation.merge-top{border-top-color:transparent}.venue-booked-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:100%;min-height:100%;border:0;border-radius:0;background:#e8ece8;padding:6px 8px;text-align:center}.venue-booked-card strong{max-width:100%;overflow:hidden;color:#334155;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.venue-booked-card span{color:#64748b;font-size:11px;line-height:1.35}.venue-booked-card.continuation-card{min-height:100%;height:100%;padding:0}.venue-occupy-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:100%;min-height:100%;border:0;border-radius:0;padding:6px 8px;text-align:center}.venue-occupy-card strong{max-width:100%;overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.venue-occupy-card span{font-size:11px;line-height:1.35}.venue-occupy-card--member,.venue-booked-card{background:#e8ece8}.venue-occupy-card--member strong,.venue-booked-card strong{color:#334155}.venue-occupy-card--member span,.venue-booked-card span{color:#64748b}.venue-occupy-card--match{background:#fff7ed}.venue-occupy-card--match strong{color:#9a3412}.venue-occupy-card--match span{color:#c2410c}.venue-occupy-card--event{background:#eff6ff}.venue-occupy-card--event strong{color:#1d4ed8}.venue-occupy-card--event span{color:#2563eb}.venue-occupy-card--maintenance{background:#f3f4f6;border-left-color:#6b7280}.venue-occupy-card--maintenance strong{color:#374151}.venue-occupy-card--maintenance span{color:#6b7280}.venue-closure-card{background:#f3f4f6}.venue-occupy-card--internal{background:#f8fafc}.venue-occupy-card--internal strong{color:#475569}.venue-occupy-card--internal span{color:#64748b}.venue-occupy-card.continuation-card{min-height:100%;height:100%;padding:0}.schedule-slot.class-occupied{background:#f5f3ff;cursor:pointer}.schedule-slot.class-occupied:hover{background:#ede9fe}.venue-class-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:100%;min-height:100%;border:0;border-left:3px solid #6366f1;border-radius:0;padding:6px 8px;text-align:center}.venue-class-card strong{max-width:100%;overflow:hidden;color:#312e81;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.venue-class-card span{color:#5b5894;font-size:11px;line-height:1.35}.venue-class-card.continuation-card{min-height:100%;height:100%;padding:0}.schedule-slot.room-closed{background:#f5f5f5;cursor:default}.schedule-slot.room-closed:hover{background:#efefef}.schedule-slot.schedule-slot--occupancy,.schedule-slot.schedule-slot--occupancy:hover{background:#f8fafc}.venue-closure-card{border-left-color:#9ca3af;background:#9ca3af2e}.venue-closure-card strong{color:#374151;font-size:12px;line-height:1.35}.venue-closure-card span{color:#6b7280;font-size:11px;line-height:1.35}.venue-closure-card.continuation-card{min-height:100%;height:100%;padding:0}.closure-form .date-range-row,.closure-form .time-range-row{display:flex;align-items:center;gap:10px}.closure-form .weekday-checkboxes,.closure-form .room-checkbox-grid{display:flex;flex-wrap:wrap;gap:10px 16px}.closure-form-hint{margin-top:8px;font-size:12px}.closure-form .inline-links{display:flex;gap:16px;margin-top:8px}.field-error{margin-top:8px;color:#dc2626;font-size:12px}.schedule-card{display:grid;gap:2px;min-height:48px;border-left:4px solid #1f5d44;border-radius:7px;background:#eef3ef;padding:6px 8px;font-size:12px;transition:opacity .15s ease}.schedule-card.past{opacity:.78}.schedule-card.past strong,.schedule-card.past span{color:#526157}.schedule-card.continuation-card{min-height:48px;height:100%;border-top-left-radius:0;border-top-right-radius:0;padding:0}.schedule-card strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-card span{color:#526157;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-card--occupancy{border-left-color:#64748b;background:#f8fafc;cursor:default}.schedule-card--occupancy strong{color:#334155}.schedule-card--occupancy span{color:#64748b}.schedule-empty{display:grid;place-items:center;width:100%;height:100%;color:#9aa59c;font-weight:800}.schedule-detail-grid{margin-bottom:14px}.venue-slot-detail{display:grid;gap:18px}.venue-slot-detail__hero{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border:1px solid #e6ebe4;border-radius:10px;background:linear-gradient(180deg,#fbfdfb,#f4f8f5);padding:16px 18px}.venue-slot-detail__title{margin:4px 0 6px;font-size:20px;color:#17201a}.venue-slot-detail__time{margin:0;color:#667369;font-size:14px;font-weight:600}.venue-slot-detail__metrics{margin-bottom:0}.venue-slot-detail__section{display:grid;gap:12px}.venue-slot-detail__section-head h4{margin:0 0 4px;font-size:15px}.venue-slot-detail__hint{margin:0;font-size:13px;line-height:1.5}.venue-slot-detail__empty{margin:0;border:1px dashed #d7e0d8;border-radius:8px;padding:18px;text-align:center}.venue-slot-detail__danger{display:grid;gap:12px;border:1px solid #f0d4d4;border-radius:10px;background:#fff8f8;padding:16px 18px}.venue-slot-detail__danger h4{margin:0 0 6px;color:#8f2f2f;font-size:15px}.venue-slot-detail__danger p{margin:0;line-height:1.55}.venue-slot-detail__footer{margin-top:4px;padding-top:16px;border-top:1px solid #e8ede9;justify-content:flex-end}.venue-slot-detail__callout{display:grid;gap:4px;border:1px solid #e6ebe4;border-radius:8px;background:#fbfdfb;padding:12px 14px}.attendance-filters{grid-template-columns:minmax(220px,1.4fr) minmax(140px,180px) minmax(160px,220px)}.attendance-course-list{display:grid;gap:12px}.attendance-course-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;border:1px solid #e6ebe4;border-radius:8px;background:#fbfdfb;padding:14px}.attendance-course-main{display:grid;gap:10px;min-width:0}.attendance-meta{display:flex;flex-wrap:wrap;gap:8px 14px;color:#667369;font-size:13px}.attendance-meta span{display:inline-flex;align-items:center;gap:5px}.attendance-course-card--upcoming{border-color:#bfdbfe;background:#eff6ff}.attendance-course-card--ongoing{border-color:#bbf7d0;background:#f0fdf4}.attendance-course-card--ended{border-color:#fcd34d;background:#fffbeb}.attendance-course-badges{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.attendance-code-badge{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.info-pill{background:#dbeafe;color:#1d4ed8}.attendance-progress-track{display:flex;overflow:hidden}.attendance-progress-attended{display:block;height:100%;background:#22c55e}.attendance-progress-absent{display:block;height:100%;background:#ef4444}.checkin-code-modal{display:grid;gap:18px}.checkin-code-modal__course{text-align:center}.checkin-code-modal__course strong{display:block;font-size:17px}.checkin-code-modal__qr{display:grid;justify-items:center;gap:8px;border:1px solid #e6ebe4;border-radius:8px;background:#fff;padding:16px}.checkin-code-modal__code{text-align:center}.checkin-code-modal__code-row{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:8px}.checkin-code-modal__digits{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:32px;font-weight:700;letter-spacing:.2em}.checkin-code-modal__actions{display:flex;justify-content:center}.attendance-dialog{display:grid;gap:16px}.attendance-walkin{display:grid;grid-template-columns:auto minmax(180px,1fr) auto;gap:10px;align-items:end;border:1px solid #e6ebe4;border-radius:8px;background:#fbfdfb;padding:12px}.attendance-booked-list{display:grid;gap:10px;border:1px solid #e6ebe4;border-radius:8px;padding:12px}.attendance-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.attendance-tab{border:1px solid #dfe5dc;border-radius:8px;background:#fff;color:#36463c;font-size:13px;padding:8px 10px;cursor:pointer}.attendance-tab.is-active{border-color:#1f5d44;background:#ebf5ef;color:#1f5d44;font-weight:600}.attendance-tab-panel{display:grid;gap:10px;max-height:360px;overflow:auto}.success-text{color:#247345}.danger-text{color:#a43a29}.spin-icon{animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.success-pill{background:#ebf8ef;color:#247345}.stack-list,.trend-list{display:grid;gap:10px}.trend-toolbar{align-items:flex-start;flex-wrap:wrap;gap:12px}.trend-toolbar-filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.trend-range-pills{flex-wrap:wrap}.trend-date-fields{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.trend-date-fields .input{min-width:140px}.trend-chart{display:grid;gap:12px}.trend-chart-legend{display:flex;flex-wrap:wrap;gap:14px}.trend-chart-legend-item{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#4b5563}.trend-chart-legend-dot{width:10px;height:10px;border-radius:999px}.trend-chart-svg{width:100%;height:auto;display:block;border:1px solid #e6ebe4;border-radius:12px;background:linear-gradient(180deg,#fcfdfb,#f7faf6)}.trend-chart-grid{stroke:#e5ebe3;stroke-width:1}.trend-chart-axis-label{fill:#6b7280;font-size:11px}.course-row,.trend-row{display:grid;gap:8px;border:1px solid #e6ebe4;border-radius:8px;padding:12px}.course-row-head,.trend-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.course-bar{height:8px;overflow:hidden;border-radius:999px;background:#eef3ef}.course-bar span{display:block;height:100%;border-radius:999px}.trend-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.auth-card{width:min(100%,420px);padding:32px 32px 28px}.auth-card h1{margin:0;font-size:24px;letter-spacing:0}.auth-icon{display:grid;width:48px;height:48px;place-items:center;border-radius:50%;background:#eaf1ec;color:#1f5d44;margin:0 auto 14px}.auth-header{margin-bottom:24px;text-align:center}.auth-header .muted{margin:8px 0 0;font-size:14px}.auth-form{grid-template-columns:minmax(0,1fr);gap:16px}.auth-input-group{position:relative}.auth-input-group__icon{position:absolute;left:12px;top:50%;z-index:1;transform:translateY(-50%);color:#667369;pointer-events:none}.auth-input-group>.input{padding-left:40px}.auth-form__remember{margin-top:-4px}.auth-form__submit{gap:8px;min-height:42px;margin-top:4px}.select-context-card{width:min(100%,440px)}.select-context-user{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid #e8eee9;text-align:center}.select-context-user__avatar{display:grid;width:56px;height:56px;place-items:center;border-radius:50%;background:linear-gradient(135deg,#eaf1ec,#d9e8df);color:#1f5d44;font-size:18px;font-weight:700;letter-spacing:.02em}.select-context-user__meta{display:grid;gap:4px}.select-context-user strong{font-size:16px;color:#1c2b24}.select-context-roles{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:6px}.select-context-header{margin-bottom:20px}.select-context-body{display:grid;gap:16px}.select-context-platform{display:flex;align-items:center;justify-content:center;width:100%;min-height:42px;border:1px solid var(--admin-border-strong);border-radius:10px;background:#f8fbf9;color:var(--admin-text);font-size:14px;font-weight:650;cursor:pointer;transition:border-color .15s ease,background-color .15s ease,color .15s ease}.select-context-platform:hover{border-color:var(--admin-primary);background:var(--admin-primary-soft);color:var(--admin-primary)}.select-context-submit{min-height:42px}.select-context-footer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:20px;padding-top:20px;border-top:1px solid #e8eee9}.select-context-footer .button-secondary{width:100%}.custom-select{position:relative}.custom-select--auto-width{display:inline-grid;vertical-align:top}.custom-select--auto-width>.custom-select-auto-width-sizer,.custom-select--auto-width>.custom-select-trigger{grid-area:1 / 1}.custom-select--auto-width>.custom-select-trigger{align-self:start}.custom-select-auto-width-sizer{display:grid;grid-template-rows:0;grid-template-columns:max-content;visibility:hidden;pointer-events:none;overflow:hidden;height:0}.custom-select-auto-width-measure{grid-area:1 / 1;width:max-content;height:0;overflow:hidden;box-sizing:border-box;padding:8px 11px;font-size:14px;font-weight:650;white-space:nowrap}.custom-select-auto-width-measure>span:first-child{display:inline-block}.custom-select-auto-width-icon-slot{display:inline-block;width:16px;height:0;margin-left:10px;vertical-align:top}.custom-select--auto-width .custom-select-trigger{width:auto;min-width:100%}.custom-select--auto-width .custom-select-trigger>span{white-space:nowrap}.custom-select--auto-width .custom-select-menu{width:max-content;min-width:100%;right:auto}.custom-select--auto-width .custom-select-option span{white-space:nowrap}.custom-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:38px;border:1px solid #cbd6ce;border-radius:8px;background:#fff;color:#17201a;padding:8px 11px;text-align:left;transition:border-color .15s ease,box-shadow .15s ease}.custom-select-trigger:hover:not(:disabled){border-color:#a8b8ad}.custom-select-trigger:focus-visible{outline:none;border-color:var(--admin-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--admin-primary) 18%,transparent)}.custom-select-trigger:disabled{cursor:not-allowed;opacity:.65;background:#f6f8f5}.custom-select-placeholder{color:#667369}.custom-select-chevron{flex-shrink:0;color:#667369;transition:transform .15s ease}.custom-select-chevron.open{transform:rotate(180deg)}.custom-select-menu{position:absolute;z-index:1200;top:calc(100% + 6px);left:0;right:0;margin:0;padding:6px;list-style:none;border:1px solid #dfe5dc;border-radius:8px;background:#fff;box-shadow:0 8px 24px #121d161a;max-height:280px;overflow:auto}.custom-select-menu--portal{position:fixed;top:auto;left:auto;right:auto;z-index:1200}.custom-select-option{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:38px;border:none;border-radius:6px;background:transparent;color:#17201a;padding:8px 10px;font-size:14px;text-align:left}.custom-select-option:hover:not(:disabled){background:var(--admin-primary-soft);color:var(--admin-primary-hover)}.custom-select-option:disabled{cursor:not-allowed;opacity:.72;color:#8b9390}.custom-select-option:disabled span{color:#8b9390}.custom-select-option.selected{background:var(--admin-primary-soft);color:var(--admin-primary);font-weight:650}.custom-select-option svg{flex-shrink:0;color:var(--admin-primary)}@media(max-width:880px){.shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;overflow:visible;padding:10px}.nav{flex:none;min-height:auto;overflow:visible;grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.content{padding:0}.topbar{align-items:stretch;flex-direction:column;gap:10px;padding:12px 14px}.topbar-search{width:100%}.topbar-actions{justify-content:space-between;margin-left:0}.account-trigger{max-width:100%}.account-trigger span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-header,.toolbar{align-items:stretch;flex-direction:column}.page-header{padding:18px 14px 14px}.page-grid,.form-grid,.filters-grid{grid-template-columns:1fr}.page-grid{margin:0 14px 14px}.dashboard-grid>.panel:not(.metric-card){grid-column:auto}.theme-preset-grid,.settings-stats-grid,.settings-overview-grid,.settings-tab-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-panel-head{flex-direction:column;align-items:stretch}.schedule-generate-button{margin-bottom:0;width:100%}.schedule-periodic-head{align-items:stretch;flex-direction:column}}.modal-overlay{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px;background:#0f171273}.modal-panel{width:min(560px,100%);max-height:min(90vh,900px);overflow:auto;border:1px solid #dfe5dc;border-radius:16px;background:#fff;box-shadow:0 24px 48px #0f17122e}.modal-panel--wide{width:min(840px,100%)}.modal-panel--compact{width:min(480px,100%)}.modal-panel--form{width:min(560px,100%)}.modal-panel--schedule-course{width:min(640px,100%)}.modal-form{display:grid;gap:16px}.modal-form.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;align-items:start}.modal-form.form-grid .custom-select-trigger,.modal-form.form-grid .input--display,.modal-form.form-grid .field .input[readonly]:not([type=color]){min-height:38px}.modal-form .input--display,.modal-form .field .input[readonly]:not([type=color]){background:#f6f8f5;color:#17201a;cursor:default}.schedule-form-duration-hint{margin-top:-6px;margin-bottom:0;font-size:12px;line-height:1.45}.schedule-course-form .field>.field-hint,.schedule-template-form .field>.field-hint{margin-top:4px;font-size:12px;line-height:1.45}.schedule-course-form.form-grid{grid-template-columns:1fr;gap:20px}.schedule-course-form__section{display:grid;gap:12px}.schedule-course-form__section-title{margin:0;font-size:13px;font-weight:700;color:#526157}.schedule-course-form__time-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 14px}.schedule-course-form__info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px}.schedule-course-form__staff-grid{display:grid;gap:14px}.schedule-course-form .schedule-form-duration-hint{margin-top:-4px}.toggle-card{display:flex;align-items:flex-start;gap:14px;padding:14px 16px;border:1px solid #e6ebe4;border-radius:12px;background:#fbfdfb;cursor:pointer}.toggle-card__switch{flex-shrink:0;margin-top:2px}.toggle-card__content{display:grid;gap:4px;min-width:0}.toggle-card__title{color:#243329;font-size:14px;font-weight:650;line-height:1.35}.toggle-card__desc{color:#667369;font-size:12px;line-height:1.5}.toggle-card:has(.toggle-switch input:checked){border-color:#c7dfd0;background:#f4faf6}.toggle-card:has(.toggle-switch input:focus-visible){outline:2px solid rgba(31,93,68,.35);outline-offset:2px}.choice-chip-group{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.choice-chip{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border:1px solid #d5ddd8;border-radius:999px;background:#fff;color:#314138;font-size:13px;font-weight:600;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease,box-shadow .15s ease;-webkit-user-select:none;user-select:none}.choice-chip__input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.choice-chip__label{display:inline-flex;align-items:center;gap:6px}.choice-chip:hover:not(.is-disabled){border-color:#b8cfc0;background:#f6fbf8}.choice-chip.is-selected{border-color:var(--admin-primary);background:var(--admin-primary-soft);color:var(--admin-primary);box-shadow:inset 0 0 0 1px #1f5d4414}.choice-chip.is-selected:before{content:"✓";margin-right:2px;font-size:12px;font-weight:800}.choice-chip.is-disabled{opacity:.55;cursor:not-allowed}.choice-chip:has(.choice-chip__input:focus-visible){outline:2px solid rgba(31,93,68,.35);outline-offset:2px}@media(max-width:560px){.schedule-course-form__time-grid,.schedule-course-form__info-grid,.coach-store-picker{grid-template-columns:1fr}}.modal-body>form:not(.modal-form):not(.form-grid){display:grid;gap:16px}.modal-body form.form-grid:not(.modal-form){gap:14px 16px}.modal-form .form-grid{gap:14px 16px}.modal-form .field input[type=color],.modal-body form .field input[type=color]{min-height:38px;height:38px;padding:4px 6px;cursor:pointer}.modal-form .textarea,.modal-body form .textarea{min-height:72px}.modal-actions{justify-content:flex-end;margin-top:4px;padding-top:16px;border-top:1px solid #e8ede9}.modal-body form>.button-row:not(.modal-actions):not(.booking-form-footer),.modal-body form.form-grid>.button-row.wide:not(.modal-actions){justify-content:flex-end;margin-top:4px;padding-top:16px;border-top:1px solid #e8ede9}.modal-body .create-success-panel>.button-row{justify-content:flex-end;margin-top:4px;padding-top:16px;border-top:1px solid #e8ede9}.tenant-create-page-form{gap:18px}.tenant-create-section{display:grid;gap:12px}.tenant-create-section h3,.create-success-panel h3{margin:0;color:var(--admin-text);font-size:16px;font-weight:760}.create-success-panel{display:grid;gap:14px}.create-success-panel__meta{margin-left:8px}.create-success-panel__password{width:fit-content;max-width:100%;border-color:#b9d7c2;background:#f4fbf6;color:#21613f;font-weight:650}.modal-message{margin:0;color:#526157;font-size:14px;line-height:1.65}.confirm-modal .modal-actions{margin-top:0}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 24px 0}.modal-header__titles{min-width:0}.modal-header h3{margin:0;color:#174734;font-size:20px}.modal-subtitle{margin:4px 0 0;color:#6b7c70;font-size:14px;line-height:1.4}.required-mark{color:#dc2626}.schedule-room-select .custom-select-trigger{min-height:42px}.schedule-room-option{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.modal-actions .template-form-delete{margin-right:auto}.modal-close{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:0;border-radius:8px;background:transparent;color:#667369;cursor:pointer}.modal-close:hover{background:#eef3ef;color:#17201a}.modal-body{padding:16px 24px 24px}.drawer-overlay{position:fixed;inset:0;z-index:1000;background:#0f171259}.drawer-panel{position:fixed;top:0;right:0;display:flex;flex-direction:column;width:min(520px,100vw);height:100vh;border-left:1px solid #dfe5dc;background:#fff;box-shadow:-12px 0 40px #0f17121f;animation:drawer-slide-in .22s ease-out}.drawer-panel--third{width:calc(100vw / 3)}@keyframes drawer-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.drawer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 24px 16px;border-bottom:1px solid #e8ede9}.drawer-header__titles{min-width:0}.drawer-header h3{margin:0;font-size:18px;font-weight:700}.drawer-subtitle{margin:6px 0 0;color:#6b7280;font-size:13px}.drawer-close{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:0;border-radius:8px;background:transparent;color:#667369;cursor:pointer}.drawer-close:hover{background:#eef3ef;color:#17201a}.drawer-body{flex:1;overflow:auto;padding:20px 24px}.drawer-footer{padding:16px 24px 20px;border-top:1px solid #e8ede9;background:#fff}.drawer-form{display:grid;gap:20px}.drawer-section{display:grid;gap:12px}.drawer-section__title{margin:0;padding-bottom:8px;border-bottom:1px solid #eef2ee;color:#374151;font-size:14px;font-weight:700}.room-tags-selected{display:flex;flex-wrap:wrap;gap:8px;min-height:32px}.room-tag-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border:1px solid #dbe3dc;border-radius:999px;background:#f6f8f6;color:#374151;font-size:13px}.room-tag-chip button{display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;color:#9ca3af;cursor:pointer}.room-tag-chip button:hover{color:#ef4444}.room-tags-new{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.room-tags-presets{display:flex;flex-wrap:wrap;gap:8px}.room-tag-preset{padding:6px 12px;border:1px solid #dfe5dc;border-radius:999px;background:#fff;color:#4b5563;font-size:13px;cursor:pointer;transition:border-color .15s,background .15s,color .15s}.room-tag-preset:hover{border-color:#86b09a;background:#f3faf6;color:#166534}.room-tag-preset--active{border-color:#22c55e;background:#ecfdf3;color:#15803d}.admin-theme-root--platform{color-scheme:light;--p-bg: #ffffff;--p-bg-content: #f8fafc;--p-bg-panel: #ffffff;--p-bg-sidebar: #fbfdff;--p-bg-input: #ffffff;--p-bg-input-disabled: #f5f5f5;--p-border: #e5e5e5;--p-border-soft: #e2e8f0;--p-border-hover: #d4d4d4;--p-text: #111111;--p-text-muted: #64748b;--p-text-secondary: #333333;--p-accent: #1d4ed8;--p-accent-text: #ffffff;--p-accent-soft: #eff6ff;--p-accent-hover: #1e40af;--p-focus-ring: rgba(29, 78, 216, .16);--admin-primary: var(--p-accent);--admin-primary-hover: var(--p-accent-hover);--admin-primary-soft: var(--p-accent-soft);background:var(--p-bg-content);color:var(--p-text)}.admin-theme-root--platform .sidebar{border-right-color:var(--p-border-soft);background:var(--p-bg-sidebar);box-shadow:inset 3px 0 #2563eb}.admin-theme-root--platform .brand{color:var(--p-text)}.admin-theme-root--platform .nav-group+.nav-group{border-top-color:var(--p-border-soft)}.admin-theme-root--platform .nav-group-label,.admin-theme-root--platform .nav-link{color:var(--p-text-muted)}.admin-theme-root--platform .nav-link:hover,.admin-theme-root--platform .nav-link.active{background:var(--p-accent-hover);color:#fff}.admin-theme-root--platform .content{background:var(--p-bg-content)}.admin-theme-root--platform .page-header h1{color:var(--p-text)}.admin-theme-root--platform .muted,.admin-theme-root--platform .page-header__description{color:var(--p-text-muted)}.admin-theme-root--platform .topbar-action,.admin-theme-root--platform .button-secondary{border-color:var(--p-border);background:var(--p-bg-panel);color:var(--p-text-secondary)}.admin-theme-root--platform .topbar-action:hover,.admin-theme-root--platform .button-secondary:hover:not(:disabled){border-color:var(--p-border-hover);background:var(--p-accent-soft);color:var(--p-text)}.admin-theme-root--platform .button{background:var(--p-accent);color:var(--p-accent-text)}.admin-theme-root--platform .button:hover:not(:disabled){background:#1e40af}.admin-theme-root--platform .button-danger{border-color:#e2b8ad;background:#fff8f6;color:#9f2f1d}.admin-theme-root--platform .panel,.admin-theme-root--platform .card{border-color:var(--p-border);background:var(--p-bg-panel);box-shadow:0 1px 2px #0f172a0a}.admin-theme-root--platform .panel h2,.admin-theme-root--platform .panel h3,.admin-theme-root--platform .card h2,.admin-theme-root--platform .card h3{color:var(--p-text)}.admin-theme-root--platform .field label,.admin-theme-root--platform .checkbox-label{color:var(--p-text-secondary)}.admin-theme-root--platform .field-hint{color:var(--p-text-muted)}.admin-theme-root--platform .input,.admin-theme-root--platform .select,.admin-theme-root--platform .textarea{border-color:var(--p-border);background:var(--p-bg-input);color:var(--p-text)}.admin-theme-root--platform .select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center;background-size:16px 16px}.admin-theme-root--platform .select:hover:not(:disabled){border-color:var(--p-border-hover)}.admin-theme-root--platform .select:focus-visible,.admin-theme-root--platform .input:focus-visible,.admin-theme-root--platform .textarea:focus-visible{border-color:var(--p-border-hover);box-shadow:0 0 0 3px var(--p-focus-ring)}.admin-theme-root--platform .select:disabled,.admin-theme-root--platform .input:disabled,.admin-theme-root--platform .textarea:disabled{background-color:var(--p-bg-input-disabled);opacity:.7}.admin-theme-root--platform .data-table th,.admin-theme-root--platform .data-table td{border-bottom-color:var(--p-border-soft)}.admin-theme-root--platform .data-table th{color:var(--p-text-muted)}.admin-theme-root--platform .data-table tbody tr:hover{background:#f8fbff}.admin-theme-root--platform .status-pill{background:var(--p-accent-soft);color:#1d4ed8}.admin-theme-root--platform .alert{border-color:#e5c1ba;background:#fff8f6;color:#98321f}.admin-theme-root--platform .alert.success{border-color:#bfdbfe;background:var(--p-accent-soft);color:var(--p-accent)}.admin-theme-root--platform .alert.warning{border-color:#e2d1a8;background:#fffaf0;color:#7a5418}.admin-theme-root--platform .empty-state{color:var(--p-text-muted)}.admin-theme-root--platform .segmented-control{background:var(--p-bg-input)}.admin-theme-root--platform .segmented-control button{color:var(--p-text-muted)}.admin-theme-root--platform .segmented-control button.active{background:var(--p-bg-panel);color:var(--p-text);box-shadow:none}.admin-theme-root--platform .modal-overlay,.admin-theme-root--platform .drawer-overlay{background:#0f171273}.admin-theme-root--platform .modal-panel,.admin-theme-root--platform .drawer-panel{border-color:var(--p-border);background:var(--p-bg-panel);box-shadow:0 24px 48px #0f17122e}.admin-theme-root--platform .modal-header,.admin-theme-root--platform .drawer-header,.admin-theme-root--platform .drawer-footer,.admin-theme-root--platform .modal-actions{border-color:var(--p-border-soft)}.admin-theme-root--platform .modal-header h3,.admin-theme-root--platform .drawer-header h3{color:var(--p-text)}.admin-theme-root--platform .modal-subtitle,.admin-theme-root--platform .drawer-subtitle{color:var(--p-text-muted)}.admin-theme-root--platform .modal-message{color:var(--p-text-secondary)}.admin-theme-root--platform .field .muted+strong,.admin-theme-root--platform .field strong{color:var(--p-text)}.admin-theme-root--platform .modal-form h3,.admin-theme-root--platform .modal-body h3{color:var(--p-text)}.admin-theme-root--platform .modal-body .field strong,.admin-theme-root--platform .modal-body .field>strong{color:var(--p-text)}.admin-theme-root--platform .permission-grid .panel{border-color:var(--p-border-soft);background:var(--p-bg-input)}.admin-theme-root--platform .permission-grid .panel strong{color:var(--p-text)}.admin-theme-root--platform .create-success-panel{color:var(--p-text-secondary)}.admin-theme-root--platform .inline-form-row .muted,.admin-theme-root--platform .icon-button{color:var(--p-text-muted)}.admin-theme-root--platform .icon-button:hover{background:var(--p-accent-soft);color:var(--p-text)}.admin-theme-root--platform code,.admin-theme-root--platform pre{background:var(--p-bg-input);color:var(--p-text-secondary)}.admin-theme-root--platform .link-button{color:var(--p-text-secondary)}.admin-theme-root--platform .metric-card svg{color:var(--p-text-muted)}.admin-theme-root--platform .drawer-section__title{border-bottom-color:var(--p-border-soft);color:var(--p-text-secondary)}.admin-theme-root--platform .custom-select-trigger{border-color:var(--p-border);background:var(--p-bg-input);color:var(--p-text)}.admin-theme-root--platform .custom-select-trigger:hover:not(:disabled){border-color:var(--p-border-hover)}.admin-theme-root--platform .custom-select-trigger:focus-visible{border-color:var(--p-border-hover);box-shadow:0 0 0 3px var(--p-focus-ring)}.admin-theme-root--platform .custom-select-trigger:disabled{background:var(--p-bg-input-disabled)}.admin-theme-root--platform .custom-select-placeholder,.admin-theme-root--platform .custom-select-chevron{color:var(--p-text-muted)}.admin-theme-root--platform .custom-select-menu{border-color:var(--p-border);background:var(--p-bg-panel);box-shadow:0 8px 24px #0f17121f}.admin-theme-root--platform .custom-select-option{color:var(--p-text)}.admin-theme-root--platform .custom-select-option:hover:not(:disabled){background:var(--p-accent-soft);color:var(--p-text)}.admin-theme-root--platform .custom-select-option.selected{background:var(--p-accent-soft);color:var(--p-accent)}.admin-theme-root--platform .custom-select-option.selected svg{color:var(--p-accent)}.admin-theme-root--platform .plans-compare-table th,.admin-theme-root--platform .plans-compare-table td{border-bottom-color:#eee}.admin-theme-root--platform .plans-compare-table thead th{background:#fafafa;border-bottom-color:#e5e5e5}.admin-theme-root--platform .plans-compare-label-col{background:#fff;color:#666}.admin-theme-root--platform .plans-compare-table thead .plans-compare-label-col{background:#fafafa}.admin-theme-root--platform .plans-compare-plan-head strong,.admin-theme-root--platform .plans-compare-price,.admin-theme-root--platform .plans-card-price strong{color:var(--p-text)}.admin-theme-root--platform .plans-compare-group-row td{background:#f6f6f6;color:#525252;border-bottom-color:#e5e5e5}.admin-theme-root--platform .plans-feature-value{color:var(--p-text-muted)}.admin-theme-root--platform .plans-feature-value--on{color:#247345}.admin-theme-root--platform .plans-feature-value--on svg{color:#247345}.admin-theme-root--platform .plans-feature-value svg{color:var(--p-text-muted)}.admin-theme-root--platform .plans-readonly-tag{background:#eef3ef;color:#315443}.admin-theme-root--platform .plans-compare-table tbody tr:hover td,.admin-theme-root--platform .plans-compare-table tbody tr:hover .plans-compare-label-col{background:#fafafa}.shell--platform{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh}.shell--platform-collapsed .platform-body,.shell--platform-collapsed{grid-template-columns:72px minmax(0,1fr)}.platform-topbar{color:#111;background:linear-gradient(90deg,#2563eb0d,#fff0 38%),#fff}.platform-brand-mark{background:#dbeafe;color:#1d4ed8;font-size:13px;letter-spacing:0}.platform-mode-badge{display:inline-flex;align-items:center;gap:6px;min-height:28px;border:1px solid #bfdbfe;border-radius:999px;background:#eff6ff;color:#1d4ed8;padding:0 10px;font-size:13px;font-weight:700;white-space:nowrap}.shell--platform-collapsed .platform-brand{justify-content:center;gap:0;padding-inline:0}.shell--platform-collapsed .brand-collapse{position:absolute;top:48px;left:50%;width:24px;height:24px;border:1px solid #e5e5e5;background:#fff;transform:translate(-50%);box-shadow:0 1px 2px #0f172a14}.shell--platform-collapsed .nav{gap:10px}.shell--platform-collapsed .nav-group{gap:6px}.shell--platform-collapsed .nav-group-label{display:none}.shell--platform-collapsed .platform-sidebar .nav-link{justify-content:center;gap:0;padding-inline:0}.shell--platform-collapsed .platform-sidebar .nav-link span{display:none}.platform-topbar__context{display:inline-flex;align-items:center;gap:10px;min-width:0}.platform-topbar__context strong{font-size:13px;font-weight:650}.platform-topbar__tag{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;background:var(--p-accent-soft);color:var(--p-text-muted);font-size:11px;font-weight:650}.platform-user-menu{position:relative}.platform-user-menu__trigger{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:0 10px;border:1px solid var(--p-border-soft);border-radius:8px;background:var(--p-bg-panel);color:var(--p-text-secondary);font-size:13px;font-weight:650;cursor:pointer}.platform-user-menu__trigger:hover{background:var(--p-accent-hover);color:var(--p-text)}.platform-user-menu__panel{position:absolute;top:calc(100% + 8px);right:0;z-index:1200;display:grid;gap:2px;min-width:208px;padding:6px;border:1px solid var(--p-border);border-radius:10px;background:var(--p-bg-panel);box-shadow:0 12px 32px #0f172a59}.platform-user-menu__role{padding:7px 9px 8px;border-bottom:1px solid var(--p-border-soft);color:var(--p-text-muted);font-size:12px;font-weight:700}.platform-user-menu__panel button{display:flex;align-items:center;gap:8px;width:100%;min-height:34px;padding:7px 9px;border:none;border-radius:8px;background:transparent;color:var(--p-text-secondary);font-size:13px;text-align:left;cursor:pointer}.platform-user-menu__panel button:hover{background:var(--p-accent-soft);color:var(--p-text)}.platform-user-menu__danger{color:#fca5a5!important}.platform-user-menu__danger:hover{background:#f871711f!important;color:#fecaca!important}.platform-sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;overflow:hidden;padding:14px 8px;border-right:1px solid var(--p-border-soft);background:var(--p-bg-sidebar)}.platform-sidebar .nav-link{color:var(--p-text-muted)}.platform-sidebar .nav-link svg{color:var(--p-text-muted)}.platform-sidebar .nav-link:hover,.platform-sidebar .nav-link.active{background:#1d4ed8;color:#fff}.platform-sidebar .nav-link:hover svg,.platform-sidebar .nav-link.active svg{color:#fff}.platform-sidebar .nav{gap:12px;align-content:start}.platform-sidebar .nav-group{gap:4px;align-content:start}.platform-content{min-width:0;padding:0 20px 20px;background:#fafafa}.platform-content .page-header{margin-bottom:0;padding:22px 0 16px}.platform-content .page-header h1{font-size:20px}.platform-content .page-header__description{margin-top:4px;font-size:13px}.platform-overview-page{display:grid;gap:14px}.platform-content .page-grid,.platform-content .wide-grid,.platform-content .grid-2{margin-right:0;margin-left:0}.platform-content .page-grid{gap:14px;margin-bottom:0}.platform-quick-actions{padding:12px 14px}.platform-quick-actions h3{margin:0 0 8px;font-size:14px;font-weight:700}.platform-quick-actions .action-row{gap:8px;flex-wrap:wrap}.platform-quick-actions .button-secondary{min-height:34px;padding:6px 12px;font-size:14px}.platform-stats-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.platform-stat-card{padding:12px 14px}.platform-stat-card .metric-card{gap:8px}.platform-stat-card .metric-card h3{margin:0;font-size:20px;line-height:1.2}.platform-stat-card .metric-card .muted:first-child{margin:0;font-size:13px}.platform-stat-card .metric-card svg{flex-shrink:0;opacity:.85}.platform-stat-card__sub{margin:2px 0 0;font-size:12px;line-height:1.3}.platform-distribution-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.platform-distribution-panel{padding:12px 14px}.platform-distribution-panel h3{margin:0 0 6px;font-size:14px}.platform-distribution-panel .metric-row{padding:5px 0}.platform-distribution-panel .metric-row:last-child{border-bottom:none}.platform-alert-banner{padding:12px 14px}.platform-recent-panel{padding:14px 16px}.platform-recent-toolbar{margin-bottom:8px}.platform-recent-toolbar h3{margin:0 0 2px;font-size:14px}.platform-recent-toolbar .muted{margin:0;font-size:13px}.platform-recent-table th,.platform-recent-table td{padding:8px 6px}@media(max-width:1280px){.platform-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:880px){.platform-stats-grid,.platform-distribution-grid{grid-template-columns:1fr}}@media(max-width:880px){.shell--platform,.shell--platform-collapsed{grid-template-columns:1fr}.platform-sidebar{position:static;height:auto;overflow:visible}.platform-content{padding:0 14px 14px}.platform-content .page-header{padding:18px 0 14px}}.wechat-component-page .toolbar h3{display:inline-flex;align-items:center;gap:8px}.wechat-component-page,.wechat-component-page .panel{min-width:0}.wechat-component-tabs{width:100%;justify-content:flex-start;overflow-x:auto}.wechat-component-section .wide-field{grid-column:1 / -1}.code-textarea{min-height:220px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.code-output{margin:0;white-space:pre-wrap;overflow:auto;font-size:13px}.wechat-component-qrcode{width:min(240px,100%);aspect-ratio:1;object-fit:contain;border:1px solid var(--color-border);border-radius:8px;background:#fff}.toolbar.wrap{flex-wrap:wrap;justify-content:flex-start}.wechat-console-hero{display:flex;align-items:center;justify-content:space-between;gap:18px}.wechat-console-hero h2{margin:2px 0 4px;color:var(--admin-text);font-size:22px;font-weight:760}.wechat-console-hero p{margin:0;color:var(--admin-muted)}.wechat-console-actions,.wechat-context-bar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;min-width:0}.wechat-console-actions>*,.wechat-context-bar>*{min-width:0}.wechat-component-tabs button{gap:6px;white-space:nowrap}.wechat-status-card{display:grid;gap:4px;min-height:116px}.wechat-status-card strong{color:var(--admin-text);font-size:24px;line-height:1.2}.wechat-status-card small{color:var(--admin-muted);line-height:1.45}.wechat-workbench-grid,.wechat-master-detail,.wechat-version-layout,.wechat-audit-layout,.wechat-callback-layout,.wechat-debug-layout{display:grid;gap:18px}.wechat-workbench-grid{grid-template-columns:minmax(280px,.9fr) minmax(320px,1.1fr)}.wechat-checklist,.wechat-auth-link-box,.wechat-detail-panel,.wechat-rule-panel,.wechat-token-panel{display:grid;gap:14px;min-width:0}.wechat-checklist h3,.wechat-auth-link-box h3,.wechat-rule-panel h3,.wechat-token-panel h3,.wechat-detail-panel h3{display:inline-flex;align-items:center;gap:8px;margin:0}.wechat-check-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--admin-border)}.muted-pill{background:#f1f4f2;color:var(--admin-muted)}.wechat-master-detail{grid-template-columns:minmax(0,1fr) minmax(300px,360px);align-items:start}.wechat-master,.wechat-callback-records,.wechat-settings-form{min-width:0}.wechat-detail-panel,.wechat-rule-panel,.wechat-token-panel{border-left:1px solid var(--admin-border);padding-left:18px}.selected-row{background:#f5fbf7}.wechat-version-layout{align-items:start}.wechat-version-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;min-width:0}.wechat-version-card{display:grid;gap:12px;min-width:0;min-height:180px;padding:14px;border:1px solid var(--admin-border);border-radius:8px;background:#fbfdfb}.wechat-version-card__head{display:inline-flex;align-items:center;gap:8px;color:var(--admin-text)}.wechat-version-card dl{display:grid;gap:8px;margin:0}.wechat-version-card dl>div{display:grid;grid-template-columns:minmax(90px,.45fr) minmax(0,1fr);gap:8px}.wechat-version-card dt{color:var(--admin-muted)}.wechat-version-card dd{min-width:0;margin:0;overflow-wrap:anywhere}.wechat-version-qr,.wechat-component-qrcode{width:min(220px,100%);aspect-ratio:1;object-fit:contain;border:1px solid var(--admin-border);border-radius:8px;background:#fff}.wechat-audit-form{align-items:start}.wechat-audit-form .wide-field,.wechat-settings-form .wide-field{grid-column:1 / -1}.wechat-advanced-json{display:grid;gap:12px;border-top:1px solid var(--admin-border);padding-top:12px}.wechat-advanced-json summary{width:fit-content;color:var(--admin-primary);font-weight:700;cursor:pointer}.wechat-callback-layout{grid-template-columns:minmax(0,1fr) minmax(300px,360px);align-items:start}.wechat-rule-list{display:grid;gap:10px}.wechat-rule-item{display:grid;gap:4px;padding:12px;border:1px solid var(--admin-border);border-radius:8px;background:#fbfdfb}.wechat-rule-item span,.wechat-rule-item small{min-width:0;overflow-wrap:anywhere;color:var(--admin-muted)}.wechat-debug-layout{grid-template-columns:minmax(0,1fr) minmax(260px,320px);align-items:start}.wechat-token-panel .button-secondary{justify-content:flex-start}.wechat-result-panel{display:grid;gap:12px;min-width:0}.wechat-result-panel .code-output{max-height:420px;min-width:0}@media(max-width:960px){.wechat-console-hero,.wechat-master-detail,.wechat-workbench-grid,.wechat-callback-layout,.wechat-debug-layout{grid-template-columns:1fr}.wechat-console-hero{display:grid}.wechat-detail-panel,.wechat-rule-panel,.wechat-token-panel{border-left:0;border-top:1px solid var(--admin-border);padding-left:0;padding-top:16px}.wechat-version-cards{grid-template-columns:1fr}}@media(max-width:640px){.wechat-context-bar .select,.wechat-context-bar .input,.wechat-context-bar button,.wechat-console-actions button{width:100%}}
