:root{color-scheme:dark;--font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--color-brand: #7c3aed;--color-brand-soft: rgba(124, 58, 237, .16);--color-success: #62c554;--color-warning: #f5ad31;--color-danger: #ec5777;--color-info: #4c9bff;--radius-sm: 6px;--radius-md: 8px;--shadow-soft: 0 18px 60px rgba(0, 0, 0, .28)}[data-theme=dark]{color-scheme:dark;--color-bg: #05070c;--color-bg-subtle: #080d15;--color-sidebar: #0a1020;--color-surface: #0f1726;--color-surface-raised: #131d2f;--color-border: rgba(159, 174, 205, .14);--color-border-strong: rgba(159, 174, 205, .24);--color-text: #f7f7fb;--color-text-soft: #c8cfdd;--color-muted: #8b96aa;--color-table: rgba(255, 255, 255, .025);--color-input: #0b1321}[data-theme=light]{color-scheme:light;--color-bg: #f7f6fa;--color-bg-subtle: #f1eef8;--color-sidebar: #ffffff;--color-surface: #ffffff;--color-surface-raised: #ffffff;--color-border: #e8e3ef;--color-border-strong: #d8d0e6;--color-text: #15131c;--color-text-soft: #4e4f5f;--color-muted: #797485;--color-table: #faf9fd;--color-input: #ffffff;--shadow-soft: 0 18px 60px rgba(56, 37, 82, .12)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.68}.app-shell{display:grid;grid-template-columns:264px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:22px;padding:22px 18px;background:var(--color-sidebar);border-right:1px solid var(--color-border)}.brand{display:flex;align-items:center;gap:12px;padding:4px 6px 18px}.brand-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#f7f7fb,#7c3aed 58%,#161025);color:#05070c;font-weight:900}.brand-title{font-size:18px;line-height:1.12;font-weight:700}.nav-list,.nav-children{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}.nav-children{margin-left:42px;margin-top:4px}.nav-button{display:flex;align-items:center;width:100%;min-height:42px;gap:12px;padding:10px 12px;border:0;border-radius:var(--radius-md);background:transparent;color:var(--color-text-soft);text-align:left}.nav-button svg{width:19px;height:19px;color:currentColor}.nav-button .nav-caret{width:15px;height:15px;margin-left:auto;opacity:.6;transform:rotate(-90deg);transition:transform .15s ease}.nav-button .nav-caret.open{transform:rotate(0);opacity:.9}.nav-button:hover,.nav-button.active{background:var(--color-brand-soft);color:var(--color-text)}.nav-button.active{box-shadow:inset 3px 0 0 var(--color-brand)}.sidebar-footer{margin-top:auto;display:flex;align-items:center;gap:10px;padding:14px 10px;border-radius:var(--radius-md);color:var(--color-text-soft)}.sidebar-user{min-width:0;flex:1}.logout-button{display:inline-grid;place-items:center;flex:0 0 auto;width:34px;height:34px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-raised);color:var(--color-muted)}.logout-button:hover{border-color:color-mix(in srgb,var(--color-danger) 48%,var(--color-border));color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 12%,var(--color-surface-raised))}.avatar{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border-radius:50%;background:var(--color-brand-soft);color:var(--color-brand);font-weight:800}.main-area{min-width:0;padding:28px;background:radial-gradient(circle at top right,rgba(124,58,237,.14),transparent 32rem),var(--color-bg)}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:22px}.page-title{display:flex;align-items:center;gap:12px;margin:0;font-size:28px;line-height:1.1}.page-subtitle{margin:8px 0 0;color:var(--color-muted)}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:0 14px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text)}.button.primary{border-color:transparent;background:linear-gradient(135deg,#6d28d9,#8b5cf6);color:#fff}.button.ghost{background:transparent}.button.icon{width:38px;padding:0}.select,.input{min-height:38px;padding:0 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-input);color:var(--color-text)}.textarea{min-height:96px;padding-top:10px;padding-bottom:10px;resize:vertical}.grid{display:grid;gap:16px}.grid.metrics{grid-template-columns:repeat(5,minmax(150px,1fr))}.grid.two{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr)}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{min-width:0;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-soft)}.card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 18px 0}.card-title{margin:0;font-size:16px}.card-body{padding:18px}.metric-card{display:flex;gap:16px;align-items:center;min-height:118px;padding:18px}.metric-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:color-mix(in srgb,var(--tone) 18%,transparent);color:var(--tone);border:1px solid color-mix(in srgb,var(--tone) 40%,transparent)}.metric-value{margin:0;font-size:28px;font-weight:760}.metric-label{margin:4px 0 10px;color:var(--color-text-soft)}.metric-helper{color:var(--color-brand);font-size:13px}.tone-purple{--tone: var(--color-brand)}.tone-pink{--tone: #e84f9f}.tone-amber{--tone: var(--color-warning)}.tone-green{--tone: var(--color-success)}.tone-blue{--tone: var(--color-info)}.tone-red{--tone: var(--color-danger)}.tone-neutral{--tone: var(--color-muted)}.table-wrap{overflow-x:auto}.data-table{width:100%;min-width:720px;border-collapse:collapse}.data-table th,.data-table td{padding:14px 16px;border-bottom:1px solid var(--color-border);text-align:left;white-space:nowrap}.data-table th{color:var(--color-muted);font-size:12px;font-weight:700;text-transform:uppercase}.data-table tbody tr{background:var(--color-table)}.finance-stack{display:grid;gap:16px}.finance-scroll{max-height:460px;overflow:auto}.finance-scroll .table-wrap{overflow:visible}.finance-scroll thead th{position:sticky;top:0;z-index:1;background:var(--color-surface)}.lock-info{padding:10px 12px;margin-bottom:12px;border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,var(--color-warning) 40%,var(--color-border));background:color-mix(in srgb,var(--color-warning) 12%,var(--color-surface))}.schedule-list{display:grid;gap:8px;margin-top:6px}.schedule-row{display:grid;grid-template-columns:minmax(120px,1.4fr) 1fr 1fr auto;gap:8px;align-items:center}@media(max-width:720px){.schedule-row{grid-template-columns:1fr 1fr}}.link-search{display:flex;gap:8px;align-items:center}.link-search .input{flex:1}.link-list{display:grid;gap:6px;margin-top:8px}.link-list-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.group-toggle{display:inline-flex;align-items:center;gap:10px;border:0;background:transparent;padding:0;cursor:pointer;color:var(--color-text);text-align:left;font:inherit}.group-toggle:hover strong{color:var(--color-brand-strong)}.group-caret{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:9px;background:color-mix(in srgb,var(--color-brand) 15%,transparent);color:var(--color-brand-strong);flex:none;transition:background .12s ease}.group-toggle:hover .group-caret{background:color-mix(in srgb,var(--color-brand) 28%,transparent)}.table-actions{display:inline-flex;gap:8px;align-items:center}.detail-actions{margin:16px 0}.table-empty{margin:16px 0 0}.table-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px;flex-wrap:wrap}.page-indicator{min-width:72px;text-align:center;color:var(--color-text-soft);font-weight:700}.detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.detail-grid div{display:grid;gap:6px;min-width:0;padding:12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-table)}.detail-grid span{color:var(--color-muted);font-size:12px;font-weight:700}.detail-grid strong{overflow-wrap:anywhere}.role-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}.role-group-card{display:grid;gap:12px;min-width:0;padding:14px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-table)}.role-group-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.role-group-header div{display:grid;gap:4px}.role-group-header span{color:var(--color-muted);font-size:12px;font-weight:700}.role-group-header strong{font-size:17px}.role-group-card .table-wrap{margin-top:0}.student-profile{display:grid;gap:16px;margin-top:16px}.student-profile-topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.student-hero{display:grid;grid-template-columns:minmax(320px,1fr) minmax(520px,1.25fr);gap:18px;align-items:stretch}.student-identity{display:flex;gap:22px;align-items:center;min-width:0;padding:22px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.student-photo{display:grid;place-items:center;flex:0 0 auto;width:138px;height:138px;overflow:hidden;border-radius:50%;background:linear-gradient(135deg,color-mix(in srgb,var(--color-brand) 72%,#fff),#111827);color:#fff;font-size:34px;font-weight:900;box-shadow:0 18px 34px #00000038}.student-photo img{width:100%;height:100%;object-fit:cover}.student-title-row{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.student-title-row h2{margin:0;font-size:clamp(26px,2vw,36px);line-height:1.08}.student-gender-icon{display:inline-grid;place-items:center;width:30px;height:30px;border:2px solid currentColor;border-radius:50%;color:#f0529f;font-size:15px;font-weight:900}.student-contact-list{display:grid;gap:8px;color:var(--color-text-soft)}.student-contact-list span{display:inline-flex;align-items:center;min-width:0;gap:10px}.student-contact-list svg{color:var(--color-muted)}.student-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.student-kpi-card{display:grid;align-content:center;min-height:138px;gap:8px;padding:20px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);text-align:left}.student-kpi-card svg{color:var(--color-brand)}.student-kpi-card.green svg{color:var(--color-success)}.student-kpi-card.blue svg{color:var(--color-info)}.student-kpi-card span{color:var(--color-text-soft);font-size:13px;font-weight:700}.student-kpi-card strong{font-size:26px;line-height:1}.student-kpi-card small{display:inline-flex;align-items:center;gap:6px;color:var(--color-brand);font-weight:700}.student-detail-tabs{padding:0 6px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.student-detail-tabs .tabs{border:0;background:transparent}.student-detail-tabs .tab{min-height:52px;border-bottom:3px solid transparent;border-radius:0}.student-detail-tabs .tab.active{background:transparent;color:var(--color-text);border-bottom-color:var(--color-brand)}.student-profile-grid{display:grid;grid-template-columns:minmax(360px,.92fr) minmax(520px,1.28fr);gap:16px}.student-profile-grid.bottom{grid-template-columns:minmax(420px,1fr) minmax(420px,1fr)}.student-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 28px}.student-info-grid div{display:grid;gap:6px;min-width:0}.student-info-grid span{color:var(--color-muted);font-size:12px;font-weight:700}.student-info-grid strong,.student-info-grid small{overflow-wrap:anywhere}.student-info-grid small{color:var(--color-text-soft)}.table-primary,.stacked-value{display:inline-grid;gap:2px}.table-primary{grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:10px}.table-primary svg{grid-row:span 2;color:#f0529f}.table-primary small,.stacked-value small{color:var(--color-muted)}.student-timeline{display:grid;gap:14px}.timeline-item{display:grid;grid-template-columns:92px 20px minmax(0,1fr) auto;gap:12px;align-items:start}.timeline-date,.timeline-meta{color:var(--color-muted);font-size:12px}.timeline-rail{position:relative;display:grid;justify-items:center;align-self:stretch;min-height:44px}.timeline-rail:before{content:"";position:absolute;top:16px;bottom:-18px;width:2px;background:color-mix(in srgb,var(--color-brand) 44%,var(--color-border))}.timeline-item:last-child .timeline-rail:before{display:none}.timeline-rail span{position:relative;z-index:1;width:10px;height:10px;margin-top:4px;border-radius:50%;background:var(--color-brand);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-brand) 16%,transparent)}.timeline-item.tone-green .timeline-rail span{background:var(--color-success)}.timeline-item.tone-red .timeline-rail span{background:var(--color-danger)}.timeline-content{display:grid;gap:4px;min-width:0}.timeline-content small{color:var(--color-text-soft)}.timeline-meta{display:grid;gap:4px;justify-items:end}.timeline-meta span{display:inline-flex;align-items:center;gap:5px}.text-link{display:inline-flex;align-items:center;gap:6px;margin-top:14px;border:0;background:transparent;color:var(--color-brand);font-weight:700}.dashboard-page{display:grid;gap:16px}.dashboard-date-button,.dashboard-bell{display:inline-flex;align-items:center;justify-content:center;min-height:40px;gap:8px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text)}.dashboard-date-button{padding:0 14px;text-transform:capitalize}.dashboard-bell{position:relative;width:42px}.dashboard-bell span{position:absolute;top:-6px;right:-4px;display:grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--color-brand);color:#fff;font-size:11px;font-weight:800}.dashboard-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:16px}.dashboard-summary-card{display:grid;justify-items:center;align-content:center;min-height:148px;gap:8px;padding:18px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);text-align:center;box-shadow:var(--shadow-soft)}.dashboard-summary-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;color:var(--tone);background:color-mix(in srgb,var(--tone) 16%,transparent)}.dashboard-summary-card strong{font-size:30px;line-height:1}.dashboard-summary-card>span:not(.dashboard-summary-icon){color:var(--color-text-soft)}.dashboard-summary-card small{display:inline-flex;align-items:center;gap:4px;color:var(--color-brand);font-weight:700}.dashboard-main-grid{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(420px,1.1fr);gap:16px}.dashboard-bottom-grid{display:grid;grid-template-columns:minmax(420px,.82fr) minmax(520px,1.18fr);gap:16px}.dashboard-class-list,.dashboard-birthday-list,.dashboard-trial-list,.dashboard-announcement-list{display:grid;gap:0}.dashboard-class-row{display:grid;grid-template-columns:74px minmax(0,1fr) auto;gap:14px;align-items:center;min-height:82px;padding:12px 0;border-bottom:1px solid var(--color-border)}.dashboard-class-row:last-child,.dashboard-birthday-row:last-child,.dashboard-trial-row:last-child{border-bottom:0}.dashboard-time-range{display:grid;gap:5px;padding-left:10px;border-left:2px solid color-mix(in srgb,var(--color-brand) 44%,var(--color-border))}.dashboard-time-range strong{color:var(--color-brand)}.dashboard-time-range span,.dashboard-class-row div:nth-child(2) span{color:var(--color-muted)}.dashboard-class-row div:nth-child(2){display:grid;gap:3px}.dashboard-birthday-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:12px;align-items:center;min-height:78px;padding:12px 0;border-bottom:1px solid var(--color-border)}.dashboard-avatar{display:grid;place-items:center;width:48px;height:48px;overflow:hidden;border-radius:50%;background:var(--color-brand-soft);color:var(--color-brand);font-size:13px;font-weight:900}.dashboard-avatar img{width:100%;height:100%;object-fit:cover}.dashboard-birthday-row div{display:grid;gap:3px}.dashboard-birthday-row span,.dashboard-trial-row span,.dashboard-announcement-row span{color:var(--color-muted)}.dashboard-birthday-row svg{color:var(--color-warning)}.dashboard-agenda-timeline{display:grid;gap:0;padding:10px 0}.dashboard-agenda-item{display:grid;grid-template-columns:58px 28px minmax(0,1fr);gap:12px;min-height:74px;align-items:start}.dashboard-agenda-item>strong{padding-top:2px;color:var(--color-text-soft)}.agenda-line{position:relative;display:grid;justify-items:center;align-self:stretch}.agenda-line:before{content:"";position:absolute;top:16px;bottom:-12px;width:2px;background:color-mix(in srgb,var(--tone) 30%,var(--color-border))}.dashboard-agenda-item:last-child .agenda-line:before{display:none}.agenda-line:after{content:"";position:relative;z-index:1;width:11px;height:11px;margin-top:5px;border-radius:50%;border:3px solid var(--tone);background:var(--color-surface)}.dashboard-agenda-item div{display:grid;gap:4px}.dashboard-agenda-item div span{color:var(--color-muted)}.dashboard-trial-row{display:grid;grid-template-columns:70px minmax(140px,1fr) minmax(150px,1fr) minmax(120px,.8fr) minmax(120px,.8fr);gap:12px;align-items:center;min-height:52px;padding:10px 0;border-bottom:1px solid var(--color-border)}.dashboard-trial-row span{display:inline-flex;align-items:center;gap:6px}.dashboard-announcement-form{margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--color-border)}.dashboard-announcement-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:14px;align-items:center;min-height:74px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--tone) 22%,var(--color-border));border-radius:var(--radius-sm);background:color-mix(in srgb,var(--tone) 10%,var(--color-surface))}.dashboard-announcement-row+.dashboard-announcement-row{margin-top:10px}.dashboard-announcement-row>svg:first-child{color:var(--tone)}.dashboard-announcement-row div{display:grid;gap:4px}.dashboard-announcement-body{margin:0;color:var(--color-text);font-size:13px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.dashboard-announcement-row time{color:var(--color-text-soft);font-size:13px}.dashboard-tip{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:52px;padding:0 18px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-brand) 10%,var(--color-surface));color:var(--color-text-soft)}.dashboard-tip svg{color:var(--color-brand)}.teacher-profile{display:grid;gap:16px;margin-top:16px}.teacher-hero{display:grid;grid-template-columns:minmax(360px,1.1fr) minmax(260px,.7fr) minmax(360px,1fr);gap:16px;padding:14px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.teacher-identity{display:flex;gap:18px;align-items:center;min-width:0}.teacher-photo{display:grid;place-items:center;flex:0 0 auto;width:132px;height:132px;overflow:hidden;border-radius:50%;background:linear-gradient(135deg,#d8dbe5,#111827);color:#fff;font-size:32px;font-weight:900}.teacher-photo img{width:100%;height:100%;object-fit:cover}.teacher-main-info{display:grid;gap:8px;min-width:0}.teacher-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.teacher-title-row h2{margin:0;font-size:clamp(24px,1.8vw,32px);line-height:1.1}.teacher-main-info p{margin:0;color:var(--color-text-soft)}.teacher-tags{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--color-muted);font-size:13px}.teacher-side-info{display:grid;gap:16px;padding:10px 0}.teacher-side-info div{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;align-items:start}.teacher-side-info svg{grid-row:span 2;color:var(--color-brand)}.teacher-side-info span,.teacher-payment-card span{color:var(--color-muted);font-size:12px;font-weight:700}.teacher-side-info strong{color:var(--color-text-soft);font-size:14px;font-weight:700;white-space:pre-line}.teacher-payment-card{display:grid;grid-template-columns:auto minmax(0,.9fr) minmax(0,1fr);gap:16px;align-items:center;padding:18px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-raised)}.teacher-payment-card>svg{color:var(--color-brand)}.teacher-payment-card p{margin:4px 0 10px;color:var(--color-text-soft);overflow-wrap:anywhere}.teacher-bank-info,.teacher-bank-panel{display:grid;gap:8px;min-width:0}.teacher-bank-info{padding-left:16px;border-left:1px solid var(--color-border)}.teacher-bank-info strong,.teacher-bank-panel strong{color:var(--color-text-soft)}.teacher-content-grid{display:grid;grid-template-columns:minmax(580px,1.5fr) minmax(360px,.8fr);gap:16px;align-items:start}.teacher-left-column,.teacher-right-column{display:grid;gap:16px}.teacher-week-grid{display:grid;grid-template-columns:150px repeat(7,minmax(128px,1fr));overflow-x:auto}.teacher-week-row{display:contents}.teacher-week-head,.teacher-room-label,.teacher-week-cell{min-height:48px;padding:10px;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.teacher-week-head{color:var(--color-text-soft);font-size:12px;font-weight:800;text-align:center}.teacher-room-label{display:flex;align-items:center;gap:8px;color:var(--color-text-soft);font-weight:800}.teacher-room-label span{width:10px;height:10px;border-radius:50%}.teacher-week-cell{display:grid;gap:8px;align-content:start;min-height:92px}.teacher-class-block{display:grid;gap:4px;min-height:76px;padding:10px;border-left:4px solid var(--color-brand);border-radius:var(--radius-sm)}.teacher-class-block span,.teacher-class-block small{color:var(--color-text-soft)}.teacher-class-block small{display:inline-flex;align-items:center;gap:5px}.teacher-empty-slot{display:grid;place-items:center;min-height:70px;color:var(--color-muted)}.teacher-week-grid>.table-empty{grid-column:1 / -1}.teacher-bottom-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.teacher-frequency,.teacher-rating{display:grid;grid-template-columns:160px 1fr;gap:20px;align-items:center}.teacher-donut{display:grid;place-items:center;width:132px;height:132px;border-radius:50%;background:radial-gradient(circle at center,var(--color-surface) 49%,transparent 50%),conic-gradient(var(--color-success) 0 68%,var(--color-brand) 68% 100%)}.teacher-donut span,.teacher-rating-score strong{font-size:30px;font-weight:900}.teacher-frequency-list{display:grid;gap:12px}.teacher-frequency-list span{display:flex;justify-content:space-between;gap:12px;color:var(--color-text-soft)}.teacher-frequency-list strong{color:var(--color-text)}.teacher-rating-score{display:grid;justify-items:center;gap:4px}.teacher-rating-score svg{color:#f59e0b}.teacher-rating-score span{color:var(--color-muted);font-size:12px}.teacher-today-list,.teacher-quick-call,.teacher-call-students{display:grid;gap:10px}.teacher-today-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:12px;border-left:4px solid var(--color-brand);border-radius:var(--radius-sm);background:var(--color-table)}.teacher-today-row div{display:grid;gap:3px}.teacher-today-row span,.teacher-today-row small,.teacher-quick-call>span{color:var(--color-muted)}.teacher-call-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.teacher-call-metrics div{display:grid;gap:3px;padding:10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-table)}.teacher-call-metrics span{color:var(--color-muted);font-size:12px}.teacher-call-metrics strong{font-size:20px}.teacher-call-students div{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center}.mini-avatar{display:grid;place-items:center;width:30px;height:30px;overflow:hidden;border-radius:50%;background:var(--color-brand-soft);color:var(--color-brand);font-size:11px;font-weight:900}.mini-avatar img{width:100%;height:100%;object-fit:cover}.teacher-bank-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-documents{display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:12px;align-items:center}.teacher-documents svg{color:var(--color-brand)}.badge{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border-radius:999px;background:color-mix(in srgb,var(--tone) 16%,transparent);color:var(--tone);font-size:12px;font-weight:700}.tabs{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.tab{min-height:34px;padding:0 16px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-muted)}.tab.active{background:var(--color-brand);color:#fff}.list{display:grid;gap:12px}.list-row{display:grid;grid-template-columns:90px 1fr auto;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--color-border)}.list-row:last-child{border-bottom:0}.muted{color:var(--color-muted)}.calendar-grid{display:grid;grid-template-columns:70px repeat(7,minmax(120px,1fr));border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.calendar-cell{min-height:74px;padding:10px;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.calendar-cell.header{min-height:auto;background:var(--color-surface-raised);color:var(--color-text-soft);font-weight:700}.calendar-event{display:block;min-height:58px;padding:8px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--event-color) 56%,var(--color-surface));color:#fff;font-size:12px}.section-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.auth-screen{display:grid;place-items:center;min-height:100vh;padding:24px;background:radial-gradient(circle at top left,rgba(45,212,191,.18),transparent 34rem),radial-gradient(circle at bottom right,rgba(124,58,237,.16),transparent 28rem),var(--color-bg)}.auth-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,440px);align-items:center;gap:28px;width:min(1120px,100%)}.auth-visual{overflow:hidden;min-height:min(76vh,720px);border:1px solid rgba(45,212,191,.22);border-radius:var(--radius-md);background:#020711;box-shadow:0 26px 90px #0000006b}.auth-visual img{display:block;width:100%;height:100%;min-height:inherit;object-fit:cover;object-position:center}.login-panel{width:min(440px,100%)}.auth-brand{justify-content:flex-start;margin-bottom:18px}.field-label{display:grid;gap:8px;color:var(--color-text-soft);font-size:13px;font-weight:700}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.stacked-form{display:grid;gap:12px}.form-wide{grid-column:1 / -1}.photo-uploader{display:grid;gap:8px}.photo-uploader>span{font-size:13px;font-weight:700;color:var(--color-text-soft)}.photo-uploader-row{display:flex;align-items:center;gap:16px}.photo-avatar{width:84px;height:84px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--color-surface-raised);border:1px solid var(--color-border);color:var(--color-muted);font-size:30px;font-weight:800;flex-shrink:0}.photo-avatar img{width:100%;height:100%;object-fit:cover}.photo-uploader-actions{display:flex;align-items:center;gap:8px}.photo-upload-btn{cursor:pointer}.menu-checklist{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px 16px;margin-top:8px;padding:12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-table)}.menu-check{display:flex;align-items:center;gap:8px;font-weight:600;font-size:13px;color:var(--color-text);cursor:pointer}.menu-check input{width:16px;height:16px;accent-color:var(--color-brand)}.action-modal.receipt-modal{width:100%;max-width:100%;max-height:85vh;overflow-y:auto}.receipt-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.receipt-head h3{margin:6px 0 0;font-size:19px;font-weight:900;color:var(--color-text);overflow-wrap:anywhere}.receipt-badge{display:inline-block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--color-brand);background:var(--color-brand-soft);padding:4px 10px;border-radius:999px}.receipt-close{flex-shrink:0;border:0;background:transparent;color:var(--color-muted);cursor:pointer;padding:4px}.receipt-body{display:grid;gap:10px;margin:16px 0}.receipt-body>div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding-bottom:9px;border-bottom:1px solid var(--color-border)}.receipt-body span{color:var(--color-text-soft);font-weight:700;flex-shrink:0}.receipt-body strong{color:var(--color-text);font-weight:800;text-align:right;min-width:0;overflow-wrap:anywhere}.receipt-total{border-bottom:0!important;padding-top:4px}.receipt-total span{font-size:15px}.receipt-total strong{font-size:20px;color:var(--color-brand)}.receipt-internal{border-bottom:0!important}.receipt-internal span,.receipt-internal strong{font-size:12px;color:var(--color-muted);font-weight:700}.receipt-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.payment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.payment-grid .form-wide{grid-column:1 / -1}.payment-summary{grid-column:1 / -1;display:flex;justify-content:space-between;padding:10px 12px;border-radius:var(--radius-md);background:var(--color-table);border:1px solid var(--color-border);font-weight:800}.input[readonly]{background:var(--color-bg-subtle);color:var(--color-text-soft);cursor:not-allowed}.helper{display:block;margin-top:4px;font-size:12px;color:var(--color-text-soft);font-weight:600}.password-field{position:relative;display:flex;align-items:center}.password-field .input{flex:1;padding-right:44px}.password-toggle{position:absolute;right:8px;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:0;border-radius:8px;background:transparent;color:var(--color-muted);cursor:pointer}.password-toggle:hover{color:var(--color-text);background:var(--color-bg-subtle)}.whatsapp-link{display:inline-flex;align-items:center;gap:5px;color:#25a366;font-weight:700;text-decoration:none;cursor:pointer}.whatsapp-link:hover{text-decoration:underline}.whatsapp-link svg{flex-shrink:0}.form-actions{display:flex;grid-column:1 / -1;justify-content:flex-end;gap:10px}.form-error{grid-column:1 / -1;margin:0;color:var(--color-danger);font-size:13px;font-weight:700}.inline-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.turma-combo{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:10px;align-items:center;margin-bottom:12px}.turma-picker .table-wrap{margin-top:0}.compact-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:10px;align-items:center;margin-bottom:16px}.student-filters,.teacher-filters,.matricula-filters{grid-template-columns:minmax(240px,1.4fr) repeat(4,minmax(145px,1fr)) auto}.turma-filters{grid-template-columns:minmax(220px,1.4fr) repeat(6,minmax(120px,1fr)) auto}.color-input{min-width:54px;padding:4px}.color-chip{display:inline-flex;align-items:center;gap:8px}.color-chip span{display:inline-block;width:16px;height:16px;border-radius:50%;border:1px solid var(--color-border-strong)}.form-error{display:block;color:var(--color-danger);font-size:13px;font-weight:700}@media(max-width:1120px){.app-shell{grid-template-columns:84px 1fr}.sidebar .brand-title,.nav-button span,.sidebar-user,.nav-children{display:none}.sidebar-footer{justify-content:center;padding:10px 0}.sidebar{padding:18px 12px}.nav-button{justify-content:center}.grid.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.two,.grid.three,.detail-grid,.dashboard-summary-grid,.dashboard-main-grid,.dashboard-bottom-grid,.student-hero,.student-profile-grid,.student-profile-grid.bottom,.teacher-hero,.teacher-content-grid,.teacher-bottom-grid,.agenda-layout{grid-template-columns:1fr}.student-kpis{grid-template-columns:repeat(3,minmax(160px,1fr))}.dashboard-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-layout{grid-template-columns:1fr}.auth-visual{min-height:360px}}@media(max-width:720px){.app-shell{display:block}.sidebar{position:static;height:auto}.main-area{padding:18px}.page-header{display:grid}.grid.metrics,.dashboard-summary-grid,.form-grid{grid-template-columns:1fr}.auth-screen{padding:14px}.auth-visual{min-height:260px}.compact-form,.turma-combo,.inline-fields,.dashboard-class-row,.dashboard-birthday-row,.dashboard-trial-row,.dashboard-announcement-row,.dashboard-tip,.student-kpis,.student-info-grid,.role-groups,.timeline-item,.teacher-payment-card,.teacher-frequency,.teacher-rating,.teacher-today-row,.teacher-call-metrics,.teacher-bank-panel,.teacher-documents{grid-template-columns:1fr}.student-identity,.teacher-identity{display:grid;justify-items:center;text-align:center}.student-title-row,.student-contact-list span,.teacher-title-row,.teacher-tags{justify-content:center}.student-photo,.teacher-photo{width:112px;height:112px}.teacher-bank-info{padding-left:0;border-left:0;border-top:1px solid var(--color-border);padding-top:12px}.timeline-rail{display:none}.timeline-meta{justify-items:start}}.button-back{margin-bottom:8px;padding-left:0}.general-filter-bar,.date-range-picker,.tag-legend,.trial-callout{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.general-filter-bar{padding:14px 16px;margin-bottom:16px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.general-filter-bar label,.date-range-picker label{display:grid;gap:4px;font-size:12px;color:var(--color-muted)}.agenda-command-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}.agenda-stepper{display:inline-grid;grid-template-columns:repeat(2,38px);overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.agenda-stepper button,.agenda-period-button,.agenda-day-head{border:0;color:var(--color-text);background:transparent;cursor:pointer}.agenda-stepper button{display:grid;place-items:center;min-height:36px;border-right:1px solid var(--color-border)}.agenda-stepper button:last-child{border-right:0}.agenda-period-button{min-height:38px;padding:0 16px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);font-weight:800}.agenda-room-filters{margin-bottom:14px}.agenda-layout{display:grid;grid-template-columns:minmax(760px,1fr) minmax(280px,320px);gap:16px;align-items:start}.agenda-board{overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-surface) 90%,#000 10%);box-shadow:var(--shadow-soft)}.agenda-grid-header{display:grid;grid-template-columns:64px repeat(var(--agenda-days),minmax(132px,1fr));border-bottom:1px solid var(--color-border);background:var(--color-surface-raised)}.agenda-day-head{display:grid;gap:3px;min-height:48px;padding:9px 10px;border-left:1px solid var(--color-border);text-align:center}.agenda-day-head span{color:var(--color-muted);font-size:11px;font-weight:800;text-transform:uppercase}.agenda-day-head strong{color:var(--color-text);font-size:13px}.agenda-day-head.today strong{color:var(--color-brand-strong)}.agenda-time-grid{display:grid;grid-template-columns:64px repeat(var(--agenda-days),minmax(132px,1fr));min-width:calc(64px + var(--agenda-days) * 132px);overflow-x:auto}.agenda-time-axis{display:grid;grid-template-rows:repeat(16,var(--hour-height));border-right:1px solid var(--color-border);background:color-mix(in srgb,var(--color-surface) 92%,transparent)}.agenda-time-axis span{display:flex;justify-content:center;align-items:flex-start;padding-top:10px;border-bottom:1px solid color-mix(in srgb,var(--color-border) 80%,transparent);color:var(--color-text-soft);font-size:12px;font-weight:800}.agenda-day-column{position:relative;min-height:calc(16 * var(--hour-height));border-right:1px solid var(--color-border);background:linear-gradient(90deg,color-mix(in srgb,var(--color-surface) 84%,transparent),color-mix(in srgb,var(--color-surface-raised) 45%,transparent))}.agenda-day-column:last-child{border-right:0}.agenda-hour-line{display:block;height:var(--hour-height);border-bottom:1px solid color-mix(in srgb,var(--color-border) 78%,transparent);background-image:linear-gradient(to bottom,transparent 50%,color-mix(in srgb,var(--color-border) 45%,transparent) 50%);background-size:100% calc(var(--hour-height) / 2)}.agenda-event-block{position:absolute;left:4px;right:4px;z-index:1;display:grid;align-content:start;gap:2px;min-height:42px;padding:7px 9px 7px 11px;overflow:hidden;border:0;border-left:4px solid color-mix(in srgb,var(--room-color) 72%,#000);border-radius:8px;background:linear-gradient(155deg,color-mix(in srgb,var(--event-color) 96%,#fff),var(--event-color) 55%,color-mix(in srgb,var(--event-color) 80%,#000));color:#fff;box-shadow:0 5px 14px color-mix(in srgb,var(--event-color) 40%,transparent);transition:transform .12s ease,box-shadow .12s ease}.agenda-event-block{cursor:pointer;text-align:left}.agenda-event-block:hover{transform:translateY(-1px);box-shadow:0 10px 22px color-mix(in srgb,var(--event-color) 55%,transparent);z-index:2}.agenda-detail-head{display:grid;gap:8px;margin-bottom:4px}.agenda-detail-head h3{margin:0;font-size:20px;font-weight:900;color:var(--color-text)}.agenda-detail-kind{justify-self:start;padding:4px 12px;border-radius:999px;font-size:12px;font-weight:800}.agenda-detail-rows{display:grid;gap:12px;margin:8px 0 4px}.agenda-detail-rows>div{display:flex;justify-content:space-between;gap:16px;padding-bottom:10px;border-bottom:1px solid var(--color-border)}.agenda-detail-rows span{color:var(--color-text-soft);font-weight:700}.agenda-detail-rows strong{color:var(--color-text);font-weight:800;text-align:right}.agenda-detail-modal{max-height:82vh;overflow-y:auto}.agenda-detail-loading{color:var(--color-text-soft);font-weight:700;margin:8px 0}.agenda-detail-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0 4px}.agenda-detail-metrics>div{display:grid;gap:2px;padding:10px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-table);text-align:center}.agenda-detail-metrics strong{font-size:20px;font-weight:900;color:var(--color-text)}.agenda-detail-metrics span{font-size:11px;font-weight:700;color:var(--color-text-soft)}.agenda-detail-subtitle{display:block;margin:14px 0 8px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--color-text-soft)}.agenda-detail-students ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.agenda-detail-students li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;border:1px solid var(--color-border);border-radius:var(--radius-md)}.agenda-detail-students li strong{color:var(--color-text);font-weight:800}.agenda-detail-students li small{color:var(--color-text-soft);font-weight:700;text-align:right}.agenda-event-block strong,.agenda-event-block span,.agenda-event-block small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agenda-event-block strong{font-size:11px;font-weight:800;opacity:.95;text-shadow:0 1px 2px rgba(0,0,0,.28)}.agenda-event-block span{font-size:12.5px;font-weight:900;text-shadow:0 1px 2px rgba(0,0,0,.3)}.agenda-event-block .agenda-event-level{font-size:11px;font-weight:700;opacity:.92}.agenda-event-block small{font-size:11px;color:#ffffffe6;text-shadow:0 1px 2px rgba(0,0,0,.25)}.agenda-day-column.today{background:linear-gradient(180deg,color-mix(in srgb,var(--color-brand) 12%,var(--color-surface)),color-mix(in srgb,var(--color-brand) 6%,var(--color-surface-raised)))}.agenda-legend{display:flex;flex-wrap:wrap;gap:14px;padding:4px 2px 0}.agenda-legend span{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--color-muted)}.agenda-legend i{width:12px;height:12px;border-radius:4px;box-shadow:0 1px 3px #00000040}.agenda-side-panel{display:grid;gap:12px}.agenda-form-panel,.mini-calendar,.agenda-legend-panel,.agenda-next-panel{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-soft)}.agenda-form-panel header{display:flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border-radius:var(--radius-md) var(--radius-md) 0 0;color:#fff;background:linear-gradient(135deg,var(--color-brand),var(--color-brand-strong));font-size:13px}.agenda-form-panel form{padding:12px}.agenda-form-panel label{display:grid;gap:5px;color:var(--color-muted);font-size:12px;font-weight:700}.mini-calendar{padding:14px}.mini-calendar header{margin-bottom:12px;text-align:center;text-transform:capitalize}.mini-calendar-weekdays,.mini-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.mini-calendar-weekdays span{color:var(--color-muted);font-size:11px;font-weight:800;text-align:center}.mini-calendar-grid button{display:grid;place-items:center;aspect-ratio:1;border:0;border-radius:999px;background:transparent;color:var(--color-text);cursor:pointer;font-size:12px;font-weight:800}.mini-calendar-grid button.muted-day{color:var(--color-muted);opacity:.48}.mini-calendar-grid button.active{color:#fff;background:var(--color-brand-strong)}.agenda-legend-panel,.agenda-next-panel{padding:14px}.agenda-legend-panel h2,.agenda-next-panel h2{margin:0 0 12px;font-size:13px}.agenda-legend-list,.agenda-next-list{display:grid;gap:9px}.agenda-legend-list div,.agenda-next-list>div{display:flex;align-items:center;gap:9px;color:var(--color-text-soft);font-size:12px;font-weight:700}.agenda-legend-list span{width:10px;height:10px;border-radius:3px;flex:0 0 auto}.agenda-next-list strong,.agenda-next-list small{display:block}.agenda-next-list small{color:var(--color-muted);font-size:11px}.agenda-metrics{margin-top:16px}.room-filter-pill{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:0 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-soft);font-size:13px;font-weight:700;cursor:pointer}.room-filter-pill.active{border-color:color-mix(in srgb,var(--room-color, var(--color-brand)) 70%,var(--color-border));color:var(--color-text);background:color-mix(in srgb,var(--room-color, var(--color-brand)) 16%,var(--color-surface))}.room-filter-pill:before,.room-dot-row span,.event-category-dot,.tag-legend i{content:"";width:10px;height:10px;border-radius:50%;flex:0 0 auto;background:var(--room-color, var(--color-brand))}.room-filter-pill.all-rooms:before{border:1px solid var(--color-muted);background:transparent}.room-dot-row{display:inline-flex;align-items:center;gap:8px;color:var(--color-text-soft);font-size:13px;font-weight:700}.event-category-dot{display:inline-block}.tag-legend{margin:14px 0;padding:10px 14px;border:1px solid var(--color-border);border-radius:var(--radius-md)}.tag-legend span{display:inline-flex;align-items:center;gap:6px}.whatsapp-tag{color:#111;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700}.trial-callout{margin-bottom:14px;padding:12px;border-radius:10px;background:color-mix(in srgb,var(--color-brand) 12%,var(--color-surface))}.modal-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:#000000a6}.action-modal{width:min(520px,100%)}.receipt-toolbar{justify-content:flex-end;margin-bottom:12px}.occupancy-chart{width:100%;min-height:300px}@media(max-width:720px){.general-filter-bar,.date-range-picker{align-items:stretch;flex-direction:column}}.checkbox-line{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--text, #1f2430);cursor:pointer}.checkbox-line input{width:16px;height:16px}.link-button{background:none;border:0;padding:0;color:#7c3aed;cursor:pointer;font:inherit;text-align:left}.link-button:hover{text-decoration:underline}.menu-organizer{display:grid;gap:14px}.menu-cat{border:1px solid var(--border, #e2dcec);border-radius:12px;padding:12px}.menu-cat-head{display:flex;align-items:center;gap:10px}.menu-items{display:grid;gap:6px;margin-top:8px;padding-left:4px}.menu-item{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:8px;background:var(--surface-2, #f6f7fb)}.menu-item-thumb{width:32px;height:32px;border-radius:6px;object-fit:cover}.menu-item-thumb.placeholder{background:#e5e7eb}.menu-order-btns{display:inline-flex;flex-direction:column;gap:2px}.menu-order-btns button{display:inline-flex;align-items:center;justify-content:center;width:24px;height:18px;border:1px solid var(--border, #d8d0e6);border-radius:5px;background:#fff;cursor:pointer;padding:0}.menu-order-btns button:disabled{opacity:.4;cursor:not-allowed}.menu-bg{display:flex;gap:16px;align-items:center}.menu-bg-preview{width:160px;height:90px;border-radius:10px;background-size:cover;background-position:center;position:relative;display:flex;align-items:flex-end;padding:8px;color:#fff;flex:none;overflow:hidden}.menu-bg-preview:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0b113a59,#0b113acc)}.menu-bg-preview span{position:relative;font-weight:800;font-size:13px}.menu-bg-preview.empty{background:#eef0f6;color:#9ca3af;align-items:center;justify-content:center}.menu-bg-preview.empty:before{display:none}
