@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Poppins:wght@400;500;600;700&display=swap";:root{--font-sans: "DM Sans", system-ui, sans-serif;--color-primary: #0d9488;--color-primary-hover: #0f766e;--color-primary-foreground: #ffffff;--color-primary-muted: #ccfbf1;--color-primary-ring: rgba(13, 148, 136, .2);--surface-0: #ffffff;--surface-1: #f8fafc;--surface-2: #f1f5f9;--surface-muted: #f4f4f6;--color-text-primary: #0f172a;--color-text-secondary: #475569;--color-text-tertiary: #94a3b8;--color-border: #e2e8f0;--color-border-subtle: #eef2f7;--color-border-strong: #cbd5e1;--color-success: #15803d;--color-success-soft: #dcfce7;--color-success-foreground: #14532d;--color-danger: #dc2626;--color-danger-soft: #fee2e2;--color-danger-foreground: #991b1b;--color-warning: #d97706;--color-warning-soft: #fef3c7;--color-warning-foreground: #92400e;--color-info: #2563eb;--color-info-soft: #eff6ff;--color-info-foreground: #1e40af;--color-data-ok: #15803d;--color-data-warn: #d97706;--color-data-critical: #dc2626;--color-legend-green: #eaf3de;--color-legend-blue: #e6f1fb;--color-legend-amber: #faeeda;--color-background-primary: var(--surface-0);--color-background-secondary: var(--surface-2);--color-background-tertiary: var(--surface-1);--color-background: var(--surface-0);--color-border-secondary: var(--color-border);--color-border-tertiary: var(--color-border-subtle);--color-accent: var(--color-primary);--color-accent-soft: var(--color-primary-muted);--color-brand-blue: var(--color-info);--color-brand-violet: #7c3aed;--color-brand-rose: #e11d48;--app-body-bg: var(--surface-1);--app-body-bg-end: var(--surface-2);--sidebar-bg: var(--surface-0);--sidebar-edge: rgba(15, 23, 42, .06);--focus-ring-color: var(--color-primary-ring);--shadow-elevated: 0 4px 6px -1px rgba(15, 23, 42, .07), 0 10px 20px -5px rgba(15, 23, 42, .08);--shadow-modal-rich: 0 0 0 1px rgba(15, 23, 42, .08), 0 24px 48px -12px rgba(15, 23, 42, .22), 0 12px 28px -14px rgba(15, 23, 42, .12);--border-radius-sm: 2px;--border-radius-md: 4px;--border-radius-lg: 6px;--radius-xl: 8px;--modal-backdrop-tint: rgba(15, 23, 42, .42);--modal-surface: var(--surface-0);--modal-header-bg: var(--surface-1);--modal-body-bg: var(--surface-1);--modal-footer-bg: var(--surface-0);--modal-divider: rgba(148, 163, 184, .4);--modal-hero-avatar-bg: var(--color-info);--modal-accent-strip: var(--color-primary);--color-surface-muted: var(--surface-muted)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background:linear-gradient(180deg,var(--app-body-bg) 0%,var(--app-body-bg-end) 100%);background-attachment:fixed;color:var(--color-text-primary)}.app{display:flex;min-height:100vh;background:transparent}.sidebar{display:flex;flex-direction:column;width:252px;min-height:100vh;min-height:100dvh;background:var(--sidebar-bg);border-right:.5px solid var(--color-border-tertiary);padding:16px 0 0;flex-shrink:0}.sidebar-nav-search-wrap{flex-shrink:0;padding:0 12px 12px;border-bottom:.5px solid var(--color-border-tertiary);margin-bottom:8px;position:relative}.sidebar-nav-search{width:100%;min-height:36px;padding:8px 32px 8px 12px;font-size:13px;line-height:1.35;border-radius:var(--radius-xl);border:.5px solid var(--color-border-tertiary);background:var(--color-background-secondary);font-family:inherit;color:var(--color-text-primary);box-sizing:border-box}.sidebar-nav-search::placeholder{color:var(--color-text-tertiary)}.sidebar-nav-search:focus-visible{outline:none;border-color:var(--color-accent);background:var(--color-background-primary);box-shadow:0 0 0 2px var(--focus-ring-color)}.sidebar-nav-search-clear{position:absolute;right:14px;top:50%;transform:translateY(-50%);width:22px;height:22px;padding:0;border:none;border-radius:var(--border-radius-lg);background:transparent;color:var(--color-text-tertiary);font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.sidebar-nav-search-clear:hover{background:var(--color-background-secondary);color:var(--color-text-primary)}.sidebar-nav-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:6px 0 20px;-webkit-overflow-scrolling:touch}.sidebar-nav-empty{margin:12px 12px 0;padding:12px 10px;font-size:12px;line-height:1.45;color:var(--color-text-secondary);text-align:center}.sidebar-nav-section{display:flex;flex-direction:column;gap:2px;padding-bottom:4px}.sidebar-nav-section:not(:first-child){margin-top:0;padding-top:1.25rem;border-top:.5px solid var(--color-border-tertiary)}.sidebar-nav-section--headless{padding-bottom:2px}.nav-item-label{min-width:0;flex:1}.sidebar-logo{flex-shrink:0;padding:0 16px 12px;border-bottom:.5px solid var(--color-border-tertiary);margin-bottom:0}.sidebar-logo-row{display:flex;align-items:center;gap:10px}.sidebar-logo-mark{flex-shrink:0;color:var(--color-primary)}.logo-text{font-size:14px;font-weight:500;color:var(--color-text-primary)}.logo-sub{font-size:11px;color:var(--color-text-secondary);margin-top:2px}.nav-section{padding:0 12px 8px;font-size:11px;font-weight:500;color:var(--color-text-tertiary);letter-spacing:.06em;text-transform:uppercase}.nav-item{display:flex;align-items:center;gap:10px;margin:0 8px;width:calc(100% - 16px);min-height:36px;padding:8px 10px;font-size:14px;line-height:1.35;cursor:pointer;color:var(--color-text-primary);border-radius:var(--radius-xl);border:none;border-left:3px solid transparent;background:none;text-align:left;font-family:inherit;transition:background .15s ease,color .15s ease,border-color .15s ease}.nav-item:hover{background:var(--color-background-secondary);color:var(--color-text-primary)}.nav-item:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:1px}.nav-item.active{background:var(--color-primary-muted);color:var(--color-primary-hover);font-weight:500;border-left-color:var(--color-primary)}.nav-item.active .nav-icon{opacity:1;color:var(--color-primary-hover)}.nav-icon{width:16px;height:16px;opacity:.82;flex-shrink:0;color:var(--color-text-secondary)}.nav-item:hover .nav-icon{opacity:1;color:var(--color-text-primary)}.main{flex:1;overflow:auto;min-width:0}.topbar{background:var(--color-background-primary);border-bottom:.5px solid var(--color-border-tertiary);padding:10px 16px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"left tools" "meta meta";align-items:center;column-gap:10px;row-gap:8px}.topbar-left{grid-area:left;display:flex;align-items:center;gap:10px;min-width:0}.topbar-title-wrap{min-width:0;flex:1}.topbar-title{font-size:16px;font-weight:600;letter-spacing:-.02em;color:var(--color-text-primary);margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.25}.topbar-cluster{grid-area:meta;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;min-width:0;padding-top:6px;border-top:.5px solid var(--color-border-subtle)}.topbar-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;min-width:0;font-size:12px;line-height:1.3;color:var(--color-text-secondary)}.topbar-tenant{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:500;color:var(--color-text-primary)}.topbar-pill{display:inline-flex;align-items:center;max-width:100%;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;line-height:1.2;flex-shrink:0;white-space:nowrap}.topbar-pill--muted{background:var(--color-background-tertiary, #f1f5f9);color:var(--color-text-secondary);border:.5px solid var(--color-border-subtle)}.topbar-pill--trial{background:var(--color-warning-soft, #fef3c7);color:var(--color-warning-foreground, #92400e);border:.5px solid rgba(217,119,6,.25)}.topbar-pill--premium{background:var(--color-success-soft);color:var(--color-success-foreground);border:.5px solid color-mix(in srgb,var(--color-success) 24%,var(--color-border-tertiary));gap:4px}.topbar-premium-icon{width:14px;height:14px;flex-shrink:0}.topbar-pill--premium-urgent{background:var(--color-warning-soft, #fef3c7);color:var(--color-warning-foreground, #92400e);border:.5px solid rgba(217,119,6,.25);cursor:pointer;font-family:inherit;gap:4px;transition:background .15s ease}.topbar-pill--premium-urgent:hover{background:color-mix(in srgb,var(--color-warning-soft) 72%,var(--color-background-primary))}.topbar-pill--premium-urgent:focus-visible{outline:2px solid color-mix(in srgb,var(--color-warning-foreground) 45%,transparent);outline-offset:2px}.topbar-pill--trial-urgent{background:var(--color-danger-soft, #fee2e2);color:var(--color-danger, #dc2626);border:.5px solid color-mix(in srgb,var(--color-danger) 35%,transparent);cursor:pointer;font-family:inherit;transition:background .15s ease,box-shadow .15s ease;animation:topbar-trial-urgent-pulse 2.5s ease-in-out infinite}.topbar-pill--trial-urgent:hover{background:color-mix(in srgb,var(--color-danger-soft) 72%,white);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-danger) 16%,transparent)}.topbar-pill--trial-urgent:focus-visible{outline:2px solid color-mix(in srgb,var(--color-danger) 45%,transparent);outline-offset:2px}@keyframes topbar-trial-urgent-pulse{0%,to{box-shadow:0 0 0 0 transparent}50%{box-shadow:0 0 0 3px color-mix(in srgb,var(--color-danger) 12%,transparent)}}.topbar-trial-warn-ico{margin-right:2px;font-size:10px;line-height:1}.topbar-trial-label{font-weight:600;opacity:.9}.topbar-when{display:block;margin-left:auto;text-align:right;font-size:12px;line-height:1.3;color:var(--color-text-tertiary);white-space:nowrap;font-variant-numeric:tabular-nums;flex-shrink:0}.topbar-when__long{display:inline}.topbar-when__short{display:none}.topbar-tools{grid-area:tools;display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:4px;flex-shrink:0}.topbar-notif-wrap{position:relative;flex-shrink:0}.topbar-notif-btn{font-size:12px;padding:6px 10px;display:inline-flex;align-items:center;gap:6px}.topbar-notif-ico{line-height:1;font-size:14px}.topbar-notif-txt{display:inline}.topbar-notif-badge{position:absolute;top:-4px;right:-4px}.topbar-logout-btn{font-size:12px;padding:6px 10px;flex-shrink:0}.topbar-logout-txt{display:inline}@media(min-width:961px){.topbar{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"left meta tools";padding:12px 20px;row-gap:0}.topbar-cluster{padding-top:0;border-top:none;justify-content:flex-end}.topbar-when{margin-left:0;text-align:left}}@media(max-width:960px){.topbar-when__long{display:none}.topbar-when__short{display:inline}.topbar-meta{flex:1 1 auto;min-width:0}}@media(max-width:480px){.topbar{padding:8px 10px 10px}.topbar-title{font-size:15px}.topbar-notif-txt{display:none}.topbar-notif-btn{padding:6px 8px}.topbar-trial-label{display:none}}.mobile-menu-btn{display:none;flex-shrink:0;align-items:center;justify-content:center;width:40px;height:40px;padding:0}.mobile-menu-btn .nav-icon{width:18px;height:18px}.badge{background:#ef9f27;color:#633806;font-size:10px;font-weight:500;padding:2px 6px;border-radius:var(--border-radius-lg)}.avatar{width:28px;height:28px;border-radius:50%;background:#eaf3de;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:500;color:#3b6d11}button.avatar{cursor:pointer;border:none;padding:0;flex-shrink:0}button.avatar:hover{filter:brightness(.97)}button.avatar.avatar--active{box-shadow:0 0 0 2px var(--color-accent, #639922)}.content{padding:20px}.page{display:none}.page.active{display:block}.dashboard-trial-urgent-banner{margin-bottom:1.25rem;border:.5px solid color-mix(in srgb,var(--color-danger) 28%,var(--color-border-tertiary));border-left:3px solid var(--color-danger);border-radius:var(--border-radius-lg);background:var(--color-danger-soft);color:var(--color-danger-foreground, var(--color-text-primary))}.dashboard-trial-urgent-banner-inner{display:flex;align-items:center;gap:12px;padding:12px 14px}.dashboard-trial-urgent-banner-icon{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--border-radius-md);background:color-mix(in srgb,var(--color-danger-soft) 55%,var(--color-danger));color:var(--color-danger)}.dashboard-trial-urgent-banner-icon .nav-icon{width:18px;height:18px}.dashboard-trial-urgent-banner-text{flex:1;min-width:0}.dashboard-trial-urgent-banner-title{margin:0;font-size:14px;font-weight:500;color:var(--color-text-primary);line-height:1.35}.dashboard-trial-urgent-banner-desc{margin:4px 0 0;font-size:13px;color:var(--color-text-secondary);line-height:1.45}.dashboard-trial-urgent-banner-btn{flex-shrink:0;min-height:36px;padding:0 12px;border:.5px solid color-mix(in srgb,var(--color-danger) 35%,var(--color-border-tertiary));background:var(--color-background-primary);color:var(--color-text-primary);font-size:13px;transition:background .15s ease,transform .1s ease}.dashboard-trial-urgent-banner-btn:hover:not(:disabled){background:var(--color-background-secondary)}.dashboard-trial-urgent-banner-btn:active:not(:disabled){transform:scale(.98)}@media(max-width:640px){.dashboard-trial-urgent-banner-inner{flex-wrap:wrap;align-items:flex-start}.dashboard-trial-urgent-banner-btn{width:100%}}.dashboard-premium-urgent-banner{border-color:color-mix(in srgb,var(--color-warning-foreground) 28%,var(--color-border-tertiary));border-left-color:var(--color-warning-foreground, #b45309);background:var(--color-warning-soft, #fef3c7);color:var(--color-warning-foreground, #92400e)}.dashboard-premium-urgent-banner-icon{background:color-mix(in srgb,var(--color-warning-soft) 55%,var(--color-success));color:var(--color-success)}.dashboard-premium-urgent-banner .dashboard-trial-urgent-banner-title{color:var(--color-warning-foreground, #92400e)}.dashboard-premium-urgent-banner .dashboard-trial-urgent-banner-btn{border-color:color-mix(in srgb,var(--color-warning-foreground) 35%,var(--color-border-tertiary))}.premium-remaining-title-ico{display:inline-flex;vertical-align:-2px;margin-right:6px;color:var(--color-success)}.premium-remaining-title-ico .nav-icon{width:18px;height:18px}.dashboard-page{animation:dashboard-page-in .5s ease both}@keyframes dashboard-page-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.dashboard-page{animation:none}.dashboard-stats-animate .dashboard-stat-card{animation:none!important}.dashboard-skeleton:after{animation:none!important}}.dashboard-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:1.25rem;padding:0}.dashboard-hero-kicker{margin:0;font-size:13px;font-weight:500;color:var(--color-text-secondary);letter-spacing:.02em;text-transform:capitalize}.dashboard-hero-summary{margin:6px 0 0;font-size:13px;color:var(--color-text-secondary);line-height:1.45}.dashboard-hero-summary strong{color:var(--color-text-primary);font-weight:500}.dashboard-page--loading{animation:none;pointer-events:none}.dashboard-skeleton{position:relative;border-radius:var(--border-radius-lg);background:linear-gradient(110deg,var(--color-background-secondary) 0%,#e8eef5 45%,var(--color-background-secondary) 90%);background-size:200% 100%;overflow:hidden}.dashboard-skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(100deg,transparent 0%,rgba(255,255,255,.55) 45%,transparent 90%);animation:dashboard-skeleton-shimmer 1.35s ease-in-out infinite}@keyframes dashboard-skeleton-shimmer{0%{transform:translate(-60%)}to{transform:translate(60%)}}.dashboard-skeleton-hero{height:52px;margin-bottom:16px}.dashboard-skeleton-search{height:118px;margin-bottom:16px}.dashboard-skeleton-stat{min-height:104px}.dashboard-skeleton-panel{min-height:280px}.dashboard-stats-animate .dashboard-stat-card{position:relative;animation:dashboard-stat-in .5s cubic-bezier(.22,1,.36,1) backwards}.dashboard-stats-animate .dashboard-stat-card:nth-child(1){animation-delay:.04s}.dashboard-stats-animate .dashboard-stat-card:nth-child(2){animation-delay:.1s}.dashboard-stats-animate .dashboard-stat-card:nth-child(3){animation-delay:.16s}.dashboard-stats-animate .dashboard-stat-card:nth-child(4){animation-delay:.22s}.dashboard-stats-animate .dashboard-stat-card:nth-child(5){animation-delay:.28s}.dashboard-kpi-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:1.25rem}.dashboard-kpi-row .dashboard-stat-card{min-height:0;padding:12px 38px 12px 12px;text-align:left;border-radius:12px}.dashboard-kpi-row .stat-label{margin-bottom:4px;font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-kpi-row .stat-value{font-size:16px;font-weight:500;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-kpi-row .stat-sub{margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-kpi-row .dashboard-stat-card-icon{top:10px;right:10px;width:28px;height:28px;border-radius:var(--border-radius-md)}.dashboard-kpi-row .dashboard-stat-card-icon .nav-icon{width:15px;height:15px}.dashboard-stats-animate .dashboard-kpi-row .dashboard-stat-card:nth-child(1){animation-delay:.04s}.dashboard-stats-animate .dashboard-kpi-row .dashboard-stat-card:nth-child(2){animation-delay:.1s}.dashboard-stats-animate .dashboard-kpi-row .dashboard-stat-card:nth-child(3){animation-delay:.16s}.dashboard-stats-animate .dashboard-kpi-row .dashboard-stat-card:nth-child(4){animation-delay:.22s}@media(max-width:900px){.dashboard-kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.dashboard-kpi-row{display:flex;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:2px}.dashboard-kpi-row .dashboard-stat-card{flex:0 0 min(44vw,176px);scroll-snap-align:start}}.dashboard-kpi-urgent{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:8px}.dashboard-kpi-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}.dashboard-kpi-urgent .dashboard-stat-card,.dashboard-kpi-info .dashboard-stat-card{min-height:0;padding:11px 38px 10px 12px;text-align:left}.dashboard-kpi-urgent .stat-label,.dashboard-kpi-info .stat-label{margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-kpi-urgent .stat-value,.dashboard-kpi-info .stat-value{font-size:18px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-kpi-urgent .stat-sub,.dashboard-kpi-info .stat-sub{margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-kpi-urgent .dashboard-stat-card-icon,.dashboard-kpi-info .dashboard-stat-card-icon{top:10px;right:10px;width:28px;height:28px;border-radius:var(--border-radius-md)}.dashboard-kpi-urgent .dashboard-stat-card-icon .nav-icon,.dashboard-kpi-info .dashboard-stat-card-icon .nav-icon{width:15px;height:15px}.dashboard-stats-animate .dashboard-kpi-urgent .dashboard-stat-card:nth-child(1){animation-delay:.04s}.dashboard-stats-animate .dashboard-kpi-urgent .dashboard-stat-card:nth-child(2){animation-delay:.1s}.dashboard-stats-animate .dashboard-kpi-urgent .dashboard-stat-card:nth-child(3){animation-delay:.16s}.dashboard-stats-animate .dashboard-kpi-info .dashboard-stat-card:nth-child(1){animation-delay:.22s}.dashboard-stats-animate .dashboard-kpi-info .dashboard-stat-card:nth-child(2){animation-delay:.28s}.dashboard-birthday-strip{display:flex;align-items:center;gap:10px;margin-bottom:1.25rem;padding:10px 12px;border:.5px solid var(--color-border-tertiary);border-radius:12px;background:var(--color-background-secondary)}.dashboard-birthday-strip-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border-radius:var(--border-radius-md);background:color-mix(in srgb,var(--color-data-critical) 10%,var(--color-background-primary));border:.5px solid color-mix(in srgb,var(--color-data-critical) 25%,var(--color-border-tertiary));color:var(--color-data-critical)}.dashboard-birthday-strip-icon .nav-icon{width:16px;height:16px}.dashboard-birthday-strip-text{flex:1;min-width:0;margin:0;font-size:13px;line-height:1.45;color:var(--color-text-secondary)}.dashboard-birthday-strip-btn{flex-shrink:0}@media(max-width:720px){.dashboard-kpi-urgent{grid-template-columns:1fr}.dashboard-kpi-info{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-birthday-strip{flex-wrap:wrap}.dashboard-birthday-strip-btn{width:100%;justify-content:center}}.dashboard-kpi-band{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:16px}.dashboard-kpi-band .dashboard-stat-card{min-height:0;padding:11px 38px 10px 12px;text-align:left}.dashboard-kpi-band .stat-label{margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-kpi-band .stat-value{font-size:18px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-kpi-band .stat-sub{margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-kpi-band .dashboard-stat-card-icon{top:10px;right:10px;width:28px;height:28px;border-radius:var(--border-radius-md)}.dashboard-kpi-band .dashboard-stat-card-icon .nav-icon{width:15px;height:15px}@media(min-width:901px){.dashboard-stat-card--ops-end{position:relative}.dashboard-stat-card--ops-end:after{content:"";position:absolute;top:10px;bottom:10px;right:-5px;width:.5px;background:var(--color-border-tertiary);pointer-events:none}.dashboard-stat-card--cash-start{margin-left:4px}}@media(max-width:1199px)and (min-width:721px){.dashboard-kpi-band{grid-template-columns:repeat(6,minmax(0,1fr))}.dashboard-kpi-band .dashboard-stat-card:nth-child(-n+3){grid-column:span 2}.dashboard-kpi-band .dashboard-stat-card:nth-child(n+4){grid-column:span 3}}@media(max-width:720px){.dashboard-kpi-band{display:flex;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:2px}.dashboard-kpi-band .dashboard-stat-card{flex:0 0 min(44vw,176px);scroll-snap-align:start;grid-column:auto}.dashboard-stat-card--ops-end:after,.dashboard-stat-card--cash-start{margin-left:0}.dashboard-stat-card--ops-end:after{display:none}}@keyframes dashboard-stat-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.dashboard-stat-card{position:relative;padding-top:16px;min-height:96px;box-shadow:none}.dashboard-stat-card-icon{position:absolute;top:12px;right:12px;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--border-radius-lg);pointer-events:none}.dashboard-stat-card-icon .nav-icon{width:18px;height:18px;opacity:.95}.dashboard-stat-card-icon--green{background:var(--color-success-soft);border:.5px solid color-mix(in srgb,var(--color-success) 20%,var(--color-border-tertiary));color:var(--color-success)}.dashboard-stat-card-icon--blue{background:var(--color-info-soft);border:.5px solid color-mix(in srgb,var(--color-info) 20%,var(--color-border-tertiary));color:var(--color-info)}.dashboard-stat-card-icon--amber{background:color-mix(in srgb,var(--color-data-warn) 12%,var(--color-background-secondary));border:.5px solid color-mix(in srgb,var(--color-data-warn) 35%,var(--color-border-tertiary));color:var(--color-data-warn)}.dashboard-stat-card-icon--rose{background:color-mix(in srgb,var(--color-data-critical) 10%,var(--color-background-secondary));border:.5px solid color-mix(in srgb,var(--color-data-critical) 30%,var(--color-border-tertiary));color:var(--color-data-critical)}.dashboard-stat-card-icon--slate{background:var(--color-background-secondary);border:.5px solid var(--color-border-tertiary);color:var(--color-text-secondary)}.stat-card-clickable.dashboard-stat-card:hover{transform:none;box-shadow:none;border-color:var(--color-border-secondary)}.stat-card-clickable.dashboard-stat-card:active{transform:scale(.98)}.dashboard-search-hero{border:.5px solid var(--color-border-tertiary);background:var(--color-background-primary);box-shadow:none}.dashboard-search-title{font-size:15px;font-weight:500;letter-spacing:-.01em}.dashboard-search-count-pill{font-size:10px;font-weight:500}.dashboard-student-search-input-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);display:flex;color:var(--color-text-tertiary);pointer-events:none;z-index:1}.dashboard-student-search-input-icon .nav-icon{width:17px;height:17px}.dashboard-student-search-input--with-icon{padding-left:44px;padding-right:14px;border-color:var(--color-border-secondary)}.dashboard-student-search-card.dashboard-student-search-v2.card{padding:0;margin-bottom:1.25rem;border-radius:12px;box-shadow:none}.dashboard-student-search-v2-inner{padding:1.25rem}.dashboard-student-search-v2-head{display:flex;flex-direction:column;align-items:stretch;gap:12px;margin-bottom:12px}@media(min-width:900px){.dashboard-student-search-v2-head{flex-direction:row;align-items:flex-start;justify-content:space-between;gap:20px}}.dashboard-student-search-v2-intro{display:flex;align-items:flex-start;gap:14px;min-width:0;flex:1}.dashboard-student-search-v2-badge{flex-shrink:0;width:40px;height:40px;border-radius:var(--radius-xl);display:inline-flex;align-items:center;justify-content:center;background:var(--color-primary-muted);color:var(--color-primary-hover);border:.5px solid color-mix(in srgb,var(--color-primary) 22%,var(--color-border-tertiary))}.dashboard-student-search-v2-badge .nav-icon{width:18px;height:18px}.dashboard-student-search-v2-titles{min-width:0;flex:1}.dashboard-student-search-v2-title{margin:0 0 4px;font-size:15px;font-weight:500;letter-spacing:-.02em;line-height:1.25;color:var(--color-text-primary)}.dashboard-student-search-v2-desc{margin:0;font-size:13px;line-height:1.55;color:var(--color-text-secondary);max-width:none}.dashboard-student-search-v2-toolbar{flex-shrink:0}@media(max-width:899px){.dashboard-student-search-v2-toolbar .dashboard-header-actions{width:100%}}.dashboard-student-search-v2-field .dashboard-student-search-input{min-height:36px;padding-top:8px;padding-bottom:8px;border-radius:var(--radius-xl);font-size:13px;border:.5px solid var(--color-border-secondary);background:var(--color-background-primary);box-shadow:none}.dashboard-student-search-v2-field .dashboard-student-search-input-icon{left:14px}.dashboard-student-search-v2-field .dashboard-student-search-input--with-icon{padding-left:48px}.dashboard-student-search-dropdown-panel{margin-top:10px;border-radius:var(--radius-xl);border:.5px solid var(--color-border-tertiary);background:var(--color-background-primary);text-align:left}@media(prefers-reduced-motion:reduce){.dashboard-student-search-dropdown-panel{animation:none}}.dashboard-student-search-dropdown-head{display:flex;justify-content:flex-end;align-items:center;padding:8px 8px 0;min-height:36px}.dashboard-student-search-dropdown-close{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;margin:0;padding:0;border:.5px solid var(--color-border-tertiary);border-radius:var(--radius-xl);background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease,transform .1s ease}.dashboard-student-search-dropdown-close:hover{background:var(--color-background-secondary);color:var(--color-text-primary);border-color:var(--color-border-secondary)}.dashboard-student-search-dropdown-close:active{transform:scale(.98)}.dashboard-student-search-dropdown-close:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.dashboard-student-search-dropdown-close .nav-icon{width:18px;height:18px}.dashboard-student-search-dropdown-panel .dashboard-student-search-list.dashboard-student-search-list-v2{margin-top:0;margin-bottom:0;padding:2px 8px 8px;border:none;border-radius:0;background:transparent;box-shadow:none;text-align:left;animation:none;max-height:320px;overflow-y:auto}.dashboard-student-search-option-v2{align-items:flex-start;justify-content:flex-start;padding:10px 12px;border-radius:var(--radius-xl);gap:10px;border:.5px solid var(--color-border-tertiary);text-align:left;background:var(--color-background-primary);transition:background .15s ease,border-color .15s ease}.dashboard-student-search-option-avatar{flex-shrink:0;width:36px;height:36px;border-radius:var(--radius-xl);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:500;letter-spacing:.02em;color:var(--color-info-foreground);background:var(--color-info-soft);border:.5px solid color-mix(in srgb,var(--color-info) 20%,var(--color-border-tertiary))}.dashboard-student-search-option-name{display:block;font-size:13px;font-weight:500;letter-spacing:-.01em;color:var(--color-text-primary);line-height:1.25}.dashboard-student-search-option-meta{display:flex;flex-direction:column;gap:4px;margin-top:6px}.dashboard-student-search-option-meta-line{display:flex;align-items:baseline;justify-content:flex-start;gap:8px;font-size:12px;line-height:1.35;min-width:0;width:100%;text-align:left}.dashboard-student-search-option-v2 .dashboard-student-search-option-tags{align-self:flex-start;padding-top:1px}.dashboard-student-search-dropdown-panel .dashboard-student-search-empty.dashboard-student-search-empty--left{text-align:left;padding-left:14px;padding-right:36px}.dashboard-student-search-kbd-hint--in-panel{margin:0;padding:8px 14px 14px;text-align:left}.dashboard-student-search-option-k{flex-shrink:0;width:2.5rem;font-size:10px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary)}.dashboard-student-search-option-v{flex:1;min-width:0;color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-student-search-option-v2.is-active,.dashboard-student-search-option-v2:hover{background:var(--color-background-secondary);border-color:var(--color-border-secondary)}.dashboard-student-search-option-v2.is-active{border-color:color-mix(in srgb,var(--color-primary) 35%,var(--color-border-tertiary))}.dashboard-student-search-dropdown-panel .dashboard-student-search-list>li+li{margin-top:6px}.dashboard-student-search-kbd-hint{margin:10px 2px 0;font-size:11px;color:var(--color-text-tertiary);text-align:center;letter-spacing:.02em}.dashboard-student-search-kbd-hint kbd{display:inline-block;margin:0 1px;padding:2px 6px;font-size:10px;font-family:inherit;font-weight:500;color:var(--color-text-secondary);background:var(--color-background-secondary);border:.5px solid var(--color-border-tertiary);border-radius:var(--radius-xl)}.dashboard-panel-header{align-items:flex-start}.dashboard-panel-title-wrap{display:flex;align-items:center;gap:8px}.dashboard-panel-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-xl);background:var(--color-info-soft);border:.5px solid color-mix(in srgb,var(--color-info) 20%,var(--color-border-tertiary));color:var(--color-info);flex-shrink:0}.dashboard-panel-icon .nav-icon{width:16px;height:16px}.dashboard-panel--lessons .dashboard-panel-icon{background:var(--color-success-soft);border-color:color-mix(in srgb,var(--color-success) 20%,var(--color-border-tertiary));color:var(--color-success)}.dashboard-panel-icon--attention{background:color-mix(in srgb,var(--color-data-warn) 12%,var(--color-background-secondary));color:var(--color-data-warn);border:.5px solid color-mix(in srgb,var(--color-data-warn) 22%,var(--color-border-tertiary))}.dashboard-panel--attention,.dashboard-panel--lessons{border-color:var(--color-border-tertiary)}.dashboard-panel-icon--collection{background:var(--color-primary-muted);border:.5px solid color-mix(in srgb,var(--color-primary) 22%,var(--color-border-tertiary));color:var(--color-primary-hover)}.dashboard-chart-card{margin-bottom:16px;border-color:#0d948829;background:linear-gradient(165deg,#fff,#f7fdfc 38%,#fafbff);box-shadow:var(--shadow-elevated),0 1px #fffc inset;animation:dashboard-chart-card-in .55s cubic-bezier(.22,1,.36,1) both}@keyframes dashboard-chart-card-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.dashboard-chart-card{animation:none}}.dashboard-chart-card-header{align-items:flex-start}.dashboard-chart-card-header .card-title{font-size:14px;font-weight:600;letter-spacing:-.02em}.dashboard-chart-sub{margin:4px 0 0;font-size:12px;line-height:1.45;color:var(--color-text-secondary);font-weight:400}.dashboard-chart-sub strong{color:var(--color-text-primary);font-weight:600}.dashboard-skeleton-chart{height:212px;margin-bottom:16px}.dashboard-chart-recharts-wrap{margin:4px -4px 0;padding:4px 0 0}.dashboard-chart-core-skeleton{min-height:236px;border-radius:var(--border-radius-md);background:linear-gradient(110deg,var(--color-background-secondary) 0%,#e8eef5 45%,var(--color-background-secondary) 90%);background-size:200% 100%;position:relative;overflow:hidden}.dashboard-chart-core-skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(100deg,transparent 0%,rgba(255,255,255,.5) 45%,transparent 90%);animation:dashboard-skeleton-shimmer 1.35s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.dashboard-chart-core-skeleton:after{animation:none}}.dashboard-chart-tooltip{padding:10px 12px;border-radius:var(--border-radius-lg);background:#0f172aeb;color:#f8fafc;font-size:12px;line-height:1.35;box-shadow:0 8px 24px #0f172a40;border:1px solid rgba(148,163,184,.25)}.dashboard-chart-tooltip-month{font-size:11px;color:#cbd5e1;margin-bottom:4px}.dashboard-chart-tooltip-value{font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.dashboard-chart-empty{text-align:center;padding:8px 12px 18px}.dashboard-chart-empty-visual{display:flex;justify-content:center;margin-bottom:4px}.dashboard-chart-empty-svg{width:min(200px,100%);height:52px}.dashboard-chart-empty-title{margin:0 0 6px;font-size:14px;font-weight:600;color:var(--color-text-primary)}.dashboard-chart-empty-text{margin:0 auto 14px;max-width:360px;font-size:12px;line-height:1.5;color:var(--color-text-secondary)}.dashboard-chart-empty-actions{display:flex;justify-content:center;gap:8px}.dashboard-table-scroll{border-radius:var(--border-radius-lg);border:1px solid var(--color-border-tertiary);overflow:hidden;overflow-x:auto;background:var(--color-background-tertiary);-webkit-overflow-scrolling:touch}.dashboard-lessons-table{margin:0;font-size:12.5px}.dashboard-lessons-timeline{list-style:none;margin:0;padding:4px 0 8px;display:flex;flex-direction:column;gap:0}.dashboard-lessons-timeline-item{display:grid;grid-template-columns:16px 72px minmax(0,1fr) auto;gap:10px 12px;padding:12px 4px 12px 0;border-bottom:.5px solid var(--color-border-tertiary);align-items:center}.dashboard-lessons-timeline-item:last-child{border-bottom:none}.dashboard-lessons-timeline-rail{position:relative;display:flex;justify-content:center;padding-top:4px;min-height:100%}.dashboard-lessons-timeline-rail:before{content:"";position:absolute;top:14px;bottom:-12px;width:.5px;background:var(--color-border-tertiary)}.dashboard-lessons-timeline-item:last-child .dashboard-lessons-timeline-rail:before{display:none}.dashboard-lessons-timeline-dot{width:10px;height:10px;border-radius:50%;border:1.5px solid var(--color-border-secondary);background:var(--color-background-primary);position:relative;z-index:1}.dashboard-lessons-timeline-item--current .dashboard-lessons-timeline-dot{border-color:var(--color-success);background:var(--color-success-soft)}.dashboard-lessons-timeline-item--past .dashboard-lessons-timeline-dot{border-color:var(--color-border-tertiary);background:var(--color-background-secondary)}.dashboard-lessons-timeline-time-col{display:flex;flex-direction:column;gap:2px;min-width:0}.dashboard-lessons-timeline-time{font-size:13px;font-weight:500;font-variant-numeric:tabular-nums;color:var(--color-text-primary);line-height:1.3}.dashboard-lessons-timeline-phase{font-size:11px;color:var(--color-text-tertiary);line-height:1.3}.dashboard-lessons-timeline-item--current .dashboard-lessons-timeline-phase{color:var(--color-success)}.dashboard-lessons-timeline-item--past .dashboard-lessons-timeline-time,.dashboard-lessons-timeline-item--past .dashboard-lessons-timeline-group,.dashboard-lessons-timeline-item--past .dashboard-lessons-timeline-meta{color:var(--color-text-tertiary)}.dashboard-lessons-timeline-body{min-width:0;display:flex;flex-direction:column;gap:6px}.dashboard-lessons-timeline-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dashboard-lessons-timeline-group{font-size:14px;font-weight:500;color:var(--color-text-primary);line-height:1.3}.dashboard-lessons-timeline-now-pill{font-size:10px}.dashboard-lessons-timeline-meta{margin:0;font-size:12px;line-height:1.45;color:var(--color-text-secondary)}.dashboard-lessons-timeline-meta-sep{margin:0 4px}.dashboard-lessons-timeline-item--current{background:color-mix(in srgb,var(--color-success-soft) 55%,transparent);margin:0 -12px;padding-left:12px;padding-right:12px;border-radius:var(--border-radius-md);border-bottom-color:transparent}.dashboard-lessons-timeline-item--missing-att{background:color-mix(in srgb,var(--color-data-warn) 8%,transparent)}.dashboard-lessons-timeline-actions{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:6px;flex-shrink:0;min-width:0}.dashboard-lessons-missing-attendance{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:500;line-height:1.3;color:var(--color-data-warn);white-space:nowrap}.dashboard-lessons-missing-attendance .nav-icon{width:14px;height:14px;flex-shrink:0}.dashboard-lessons-yoklama-btn{min-height:36px;padding:0 12px;font-size:12px;gap:6px;white-space:nowrap}.dashboard-lessons-yoklama-btn:not(.btn-green){background:transparent;color:var(--color-text-secondary);border:.5px solid var(--color-border-secondary)}.dashboard-lessons-yoklama-btn:not(.btn-green):hover:not(:disabled){background:var(--color-background-secondary);color:var(--color-text-primary)}.dashboard-lessons-yoklama-btn .nav-icon{width:14px;height:14px}@media(max-width:640px){.dashboard-lessons-timeline-item{grid-template-columns:14px minmax(0,1fr) auto;grid-template-areas:"rail time actions" "rail body actions";align-items:start}.dashboard-lessons-timeline-rail{grid-area:rail}.dashboard-lessons-timeline-time-col{grid-area:time;flex-direction:row;align-items:baseline;gap:8px}.dashboard-lessons-timeline-body{grid-area:body}.dashboard-lessons-timeline-actions{grid-area:actions;align-self:center}}.dashboard-lessons-table th{background:#ffffffbf}.dashboard-lessons-table tbody tr:hover td{background:#ffffffa6}.dashboard-inline-empty{padding:20px 16px;text-align:center}.dashboard-inline-empty-title{margin:0 0 6px;font-size:13px;font-weight:500;color:var(--color-text-primary)}.dashboard-inline-empty-text{margin:0;font-size:12px;color:var(--color-text-secondary);line-height:1.45}.dashboard-attention-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:12px 8px 8px;gap:8px}.dashboard-attention-empty-visual{color:var(--color-success)}.dashboard-attention-empty-svg{width:52px;height:52px;display:block}.dashboard-attention-empty-title{margin:0;font-size:14px;font-weight:500;color:var(--color-text-primary)}.dashboard-attention-empty-text{margin:0;font-size:12px;line-height:1.5;color:var(--color-text-secondary);max-width:280px}.dashboard-occupancy-section .dashboard-panel-icon{background:color-mix(in srgb,var(--color-brand-violet) 10%,var(--color-background-secondary));border:.5px solid color-mix(in srgb,var(--color-brand-violet) 20%,var(--color-border-tertiary));color:var(--color-brand-violet)}.btn-ghost-dashboard{font-size:12px;min-height:36px;padding:0 12px;border-radius:var(--radius-xl);border:.5px solid var(--color-border-secondary);background:transparent;color:var(--color-text-secondary);font-weight:500}.btn-ghost-dashboard:hover:not(:disabled){background:var(--color-background-secondary);border-color:var(--color-border-secondary);color:var(--color-text-primary)}.btn-ghost-dashboard:active:not(:disabled){transform:scale(.98)}.dashboard-upcoming-trials-card{margin-bottom:1.25rem}.dashboard-upcoming-trials-header-row{gap:12px;flex-wrap:wrap}.dashboard-upcoming-trials-header-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;margin-left:auto}.dashboard-upcoming-trials-create-btn{font-size:13px;min-height:36px;white-space:nowrap}.dashboard-upcoming-trials-title{margin:0 0 4px;font-size:13px;font-weight:500}.dashboard-upcoming-trials-lead{margin:0}.dashboard-upcoming-trials-empty{margin:0;padding:0 16px 18px;font-size:13px;color:var(--color-text-secondary);line-height:1.45}.dashboard-upcoming-trials-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px}.dashboard-upcoming-trials-table{min-width:880px;padding:0 16px 16px}.dashboard-upcoming-trials-cols{display:grid;grid-template-columns:5rem 3.25rem minmax(5.25rem,1.1fr) minmax(4.75rem,.95fr) minmax(5rem,1fr) minmax(5.75rem,7.5rem) 7.125rem max-content;column-gap:14px;align-items:center}.dashboard-upcoming-trials-head{padding:0 12px 8px;margin-bottom:2px;border-bottom:.5px solid var(--color-border-secondary)}.dashboard-upcoming-tr-h{font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary);white-space:nowrap}.dashboard-upcoming-tr-h--actions{justify-self:end;padding-right:4px}.dashboard-upcoming-trials-rows{list-style:none;margin:0;padding:0}.dashboard-upcoming-trials-strip{padding:10px 12px;min-height:44px;border-bottom:.5px solid var(--color-border-tertiary)}.dashboard-upcoming-trials-strip:last-child{border-bottom:none}.dashboard-upcoming-trials-strip:nth-child(2n){background:var(--color-background-secondary)}.dashboard-upcoming-tr-cell{font-size:13px;line-height:1.35;color:var(--color-text-primary);min-width:0}.dashboard-upcoming-tr-mono{font-variant-numeric:tabular-nums}.dashboard-upcoming-tr-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-upcoming-tr-date.dashboard-upcoming-tr-today{font-weight:500}.dashboard-upcoming-tr-tel{font-size:12px;color:var(--color-text-secondary)}.dashboard-upcoming-tr-status-select{max-width:100%}.dashboard-upcoming-tr-actions{justify-self:end}.dashboard-upcoming-tr-actions .trial-appt-actions{flex-wrap:wrap}@media(max-width:640px){.dashboard-upcoming-trials-header-actions{width:100%;margin-left:0;justify-content:flex-start}.dashboard-upcoming-trials-create-btn{flex:1 1 auto;justify-content:center}}.dashboard-page .card{box-shadow:none;border:.5px solid var(--color-border-tertiary);border-radius:12px;margin-bottom:1.25rem;padding:1rem}.dashboard-page .card-header{margin-bottom:12px;gap:10px}.dashboard-page .two-col{gap:12px}.dashboard-page .card-title{font-size:13px;font-weight:500}.dashboard-page .table th{font-weight:500;letter-spacing:.06em;border-bottom:.5px solid var(--color-border-tertiary);background:var(--color-background-secondary)}.dashboard-page .table td{border-bottom:.5px solid var(--color-border-tertiary)}.dashboard-page .dashboard-table-scroll{border:.5px solid var(--color-border-tertiary);border-radius:var(--radius-xl)}.dashboard-page .dashboard-occupancy-detail-btn{font-size:12px;min-height:36px;padding:0 12px;background:transparent;color:var(--color-text-secondary);border:.5px solid var(--color-border-secondary)}.dashboard-page .dashboard-occupancy-detail-btn:hover:not(:disabled){background:var(--color-background-secondary);color:var(--color-text-primary)}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:1.25rem}@media(max-width:900px){.stats-grid{grid-template-columns:repeat(2,1fr)}}.dashboard-equal-height-card{display:flex;flex-direction:column;height:min(460px,68vh);max-height:min(460px,68vh)}.dashboard-equal-height-scroll{flex:1;min-height:0;overflow-y:auto}.modal.modal-upcoming-birthdays{display:flex;flex-direction:column;box-shadow:var(--shadow-elevated);margin:auto}.upcoming-birthdays-sticky{flex-shrink:0;background:var(--color-background-primary);border-bottom:.5px solid var(--color-border-tertiary)}.upcoming-birthdays-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 24px 16px;background:var(--color-background-primary)}.upcoming-birthdays-header-text{display:flex;align-items:flex-start;gap:14px;min-width:0}.upcoming-birthdays-header-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:8px;background:var(--color-primary-muted);border:.5px solid color-mix(in srgb,var(--color-primary) 22%,var(--color-border-tertiary));color:var(--color-primary-hover);flex-shrink:0}.upcoming-birthdays-header-icon .nav-icon{width:22px;height:22px}.upcoming-birthdays-title{margin:0;font-size:18px;font-weight:500;color:var(--color-text-primary)}.upcoming-birthdays-lead{margin:6px 0 0;font-size:13px;color:var(--color-text-secondary);line-height:1.45}.upcoming-birthdays-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;min-width:32px;min-height:32px;padding:0;border:.5px solid var(--color-border-tertiary);border-radius:8px;background:transparent;color:var(--color-text-secondary);cursor:pointer;flex-shrink:0;transition:background .15s ease}.upcoming-birthdays-close:hover{background:var(--color-background-secondary);color:var(--color-text-primary)}.upcoming-birthdays-close:active{transform:scale(.98)}.upcoming-birthdays-close:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.upcoming-birthdays-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0 24px 16px}.upcoming-birthdays-stat{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:.5px solid var(--color-border-tertiary);border-radius:8px;background:var(--color-background-secondary);min-width:0}.upcoming-birthdays-stat-label{font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary)}.upcoming-birthdays-stat-value{font-size:18px;font-weight:500;color:var(--color-text-primary);font-variant-numeric:tabular-nums;line-height:1.2}.upcoming-birthdays-stat-value--text{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upcoming-birthdays-stat--next .upcoming-birthdays-stat-value{color:var(--color-text-secondary)}.upcoming-birthdays-body{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;background:var(--color-background-primary)}.upcoming-birthdays-empty{padding:48px 24px;text-align:center}.upcoming-birthdays-empty-title{margin:0;font-size:15px;font-weight:500;color:var(--color-text-primary)}.upcoming-birthdays-empty-text{margin:8px 0 0;font-size:13px;color:var(--color-text-secondary);line-height:1.45}.upcoming-birthdays-table-wrap{flex:1;min-height:0;overflow:auto;padding:0 20px 20px;-webkit-overflow-scrolling:touch}.upcoming-birthdays-table{width:100%;min-width:0}.upcoming-birthdays-table-cols{display:grid;grid-template-columns:52px minmax(0,1.1fr) minmax(0,.95fr) minmax(0,1.2fr) 48px 96px minmax(108px,auto);gap:12px;align-items:center}.upcoming-birthdays-table-head{position:sticky;top:0;z-index:2;padding:10px 12px;margin-bottom:4px;background:var(--color-background-primary);border-bottom:.5px solid var(--color-border-tertiary)}.upcoming-birthdays-th{font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary)}.upcoming-birthdays-th--actions{text-align:right}.upcoming-birthdays-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.upcoming-birthdays-table-row{padding:10px 12px;border:.5px solid var(--color-border-tertiary);border-radius:8px;background:var(--color-background-primary)}.upcoming-birthdays-table-row--today{border-color:color-mix(in srgb,var(--color-primary) 35%,var(--color-border-tertiary));background:color-mix(in srgb,var(--color-primary-muted) 40%,var(--color-background-primary))}.upcoming-birthdays-td{min-width:0}.upcoming-birthdays-td--student,.upcoming-birthdays-td--parent{display:flex;flex-direction:column;gap:3px}.upcoming-birthdays-td--actions{justify-self:end}.upcoming-birthdays-row-actions{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:8px}.modal-upcoming-birthdays .upcoming-birthdays-row-actions .student-detail-btn-whatsapp.student-detail-wa-btn--compact{min-height:36px;height:36px;padding:0 12px;font-size:12px;flex-shrink:0}.modal-upcoming-birthdays .upcoming-birthdays-row-actions .student-detail-payment-more-trigger{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;min-width:36px;min-height:36px;padding:0;flex-shrink:0;border:.5px solid var(--color-border-tertiary);border-radius:8px;background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .1s ease}.modal-upcoming-birthdays .upcoming-birthdays-row-actions .student-detail-payment-more-trigger:hover{border-color:var(--color-border-secondary);color:var(--color-text-primary);background:var(--color-background-secondary)}.modal-upcoming-birthdays .upcoming-birthdays-row-actions .student-detail-payment-more-trigger:active{transform:scale(.98)}.modal-upcoming-birthdays .upcoming-birthdays-row-actions .student-detail-payment-more-trigger .nav-icon{width:16px;height:16px;opacity:1}.modal-upcoming-birthdays .upcoming-birthdays-row-actions .student-detail-payment-more-trigger[aria-expanded=true]{border-color:var(--color-primary);color:var(--color-primary-hover);background:var(--color-background-primary)}.modal-upcoming-birthdays .upcoming-birthdays-row-actions .student-detail-payment-more-trigger:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.upcoming-birthdays-floating-menu-backdrop{z-index:110}.upcoming-birthdays-floating-menu-panel{z-index:111;min-width:220px}.upcoming-birthdays-wa-menu-label{margin:0;padding:6px 12px 4px;font-size:11px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-tertiary)}.upcoming-birthdays-no-phone{font-size:11px;color:var(--color-text-tertiary);line-height:1.3}.upcoming-birthdays-date-block{display:flex;flex-direction:column;align-items:center;justify-content:center;width:44px;min-width:44px;padding:6px 4px;border-radius:8px;background:var(--color-background-secondary);border:.5px solid var(--color-border-tertiary);line-height:1.1}.upcoming-birthdays-table-row--today .upcoming-birthdays-date-block{background:color-mix(in srgb,var(--color-primary-muted) 70%,var(--color-background-secondary));border-color:color-mix(in srgb,var(--color-primary) 25%,var(--color-border-tertiary))}.upcoming-birthdays-date-day{font-size:15px;font-weight:500;color:var(--color-text-primary);font-variant-numeric:tabular-nums}.upcoming-birthdays-date-month{margin-top:2px;font-size:11px;font-weight:500;color:var(--color-text-secondary);text-transform:lowercase}.upcoming-birthdays-student-name{font-size:14px;font-weight:500;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upcoming-birthdays-student-sub{display:none;font-size:12px;color:var(--color-text-secondary)}.upcoming-birthdays-cell-text{display:block;font-size:13px;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upcoming-birthdays-age-value{font-size:14px;font-weight:500;font-variant-numeric:tabular-nums;color:var(--color-text-primary)}.upcoming-birthdays-when-pill{display:inline-flex;font-size:11px;font-weight:500;padding:4px 8px;border-radius:8px;background:var(--color-background-secondary);border:.5px solid var(--color-border-tertiary);color:var(--color-text-secondary);white-space:nowrap}.upcoming-birthdays-table-row--today .upcoming-birthdays-when-pill{background:color-mix(in srgb,var(--color-primary-muted) 80%,var(--color-background-secondary));border-color:color-mix(in srgb,var(--color-primary) 20%,var(--color-border-tertiary));color:var(--color-primary-hover)}@media(max-width:900px){.upcoming-birthdays-summary{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 16px 14px}.upcoming-birthdays-header{padding:16px 16px 12px}.upcoming-birthdays-table-wrap{padding:0 12px 12px}.upcoming-birthdays-table-cols{grid-template-columns:48px minmax(0,1fr) minmax(0,.85fr) minmax(0,1fr) 40px 80px minmax(96px,auto);gap:8px}}@media(max-width:640px){.modal-backdrop.upcoming-birthdays-backdrop{align-items:flex-start;padding:max(12px,env(safe-area-inset-top,0px)) 12px max(16px,env(safe-area-inset-bottom,0px))}.modal.modal-upcoming-birthdays{width:100%;max-width:100%}.upcoming-birthdays-table-head{display:none}.upcoming-birthdays-table{min-width:0}.upcoming-birthdays-table-cols{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"date student" "parent parent" "group group" "when actions";gap:8px 12px;align-items:start}.upcoming-birthdays-td--date{grid-area:date}.upcoming-birthdays-td--student{grid-area:student}.upcoming-birthdays-td--parent{grid-area:parent}.upcoming-birthdays-td--group{grid-area:group}.upcoming-birthdays-td--age{display:none}.upcoming-birthdays-td--when{grid-area:when}.upcoming-birthdays-td--actions{grid-area:actions;justify-self:stretch}.upcoming-birthdays-student-sub{display:block}.upcoming-birthdays-td--group .upcoming-birthdays-cell-text:before{content:"Grup · ";color:var(--color-text-tertiary);font-size:12px}.upcoming-birthdays-row-actions{justify-content:flex-end}}.dashboard-trial-inline{flex-shrink:0;padding:10px 12px 12px;border-bottom:.5px solid var(--color-border-tertiary);background:var(--color-background-secondary)}.dashboard-trial-inline-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.dashboard-trial-inline-title{font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary)}.dashboard-trial-inline-link{font-size:11px;padding:3px 10px;min-height:0}.dashboard-trial-inline-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}.dashboard-trial-inline-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 8px;font-size:12px;line-height:1.35}.dashboard-trial-inline-pill{flex:0 0 auto;font-size:9px;font-weight:500;padding:2px 6px;border-radius:var(--radius-xl);letter-spacing:.02em}.dashboard-trial-inline-pill--today{background:var(--color-success-soft);color:var(--color-success-foreground)}.dashboard-trial-inline-pill--soon{background:var(--color-info-soft);color:var(--color-info-foreground)}.dashboard-trial-inline-when{flex:0 0 auto;min-width:2.75rem;font-variant-numeric:tabular-nums;color:var(--color-text-secondary);font-size:11px}.dashboard-trial-inline-main{flex:1 1 120px;min-width:0}.dashboard-trial-inline-main strong{font-weight:600}.dashboard-trial-inline-sub{color:var(--color-text-secondary);font-weight:400}.dashboard-trial-inline-more{display:block;width:100%;margin-top:8px;padding:0;border:none;background:none;font:inherit;font-size:11px;color:var(--color-text-secondary);text-decoration:underline;text-underline-offset:2px;cursor:pointer;text-align:left}.dashboard-trial-inline-more:hover{color:var(--color-text)}.dashboard-header-actions{display:flex;flex-wrap:wrap;gap:8px;flex-shrink:0}.dashboard-header-action-btn{display:inline-flex;align-items:center;gap:6px;font-size:13px;min-height:36px;padding:0 12px}.dashboard-header-action-btn:not(.btn-green){background:transparent;color:var(--color-text-secondary);border:.5px solid var(--color-border-secondary)}.dashboard-header-action-btn:not(.btn-green):hover:not(:disabled){background:var(--color-background-secondary);color:var(--color-text-primary);border-color:var(--color-border-secondary)}.dashboard-header-action-btn .nav-icon{width:14px;height:14px;flex-shrink:0}@media(max-width:640px){.dashboard-header-actions{width:100%}.dashboard-header-action-btn{flex:1 1 auto;justify-content:center}}.stat-card-clickable{display:block;width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .15s ease}.stat-card-clickable:hover{background:var(--color-background-secondary);border-color:var(--color-border-secondary)}.stat-card-clickable:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.stat-trend{display:inline-flex;align-items:center;gap:3px;font-weight:500}.stat-trend-up{color:var(--color-success)}.stat-trend-down{color:var(--color-danger)}.stat-trend-neutral{color:var(--color-text-tertiary)}.dashboard-attention-card{align-self:start}.dashboard-attention-summary{margin:0 0 12px;padding:0 2px;font-size:12px;color:var(--color-text-secondary);line-height:1.45}.dashboard-attention-totals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:4px}.dashboard-attention-total{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;border:.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-md);background:var(--color-background-secondary);font:inherit;text-align:left;cursor:pointer;transition:background .15s ease,border-color .15s ease}.dashboard-attention-total:hover{background:var(--color-background-tertiary);border-color:var(--color-border-secondary)}.dashboard-attention-total:active{transform:scale(.98)}.dashboard-attention-total--overdue{border-color:color-mix(in srgb,var(--color-data-critical) 25%,var(--color-border-tertiary));background:color-mix(in srgb,var(--color-data-critical) 6%,var(--color-background-secondary))}.dashboard-attention-total--pending{border-color:color-mix(in srgb,var(--color-data-warn) 22%,var(--color-border-tertiary))}.dashboard-attention-total-label{font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary)}.dashboard-attention-total-value{font-size:16px;font-weight:500;font-variant-numeric:tabular-nums;color:var(--color-text-primary);line-height:1.2}.dashboard-attention-total-count{font-size:11px;color:var(--color-text-secondary)}.dashboard-attention-pay-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.dashboard-attention-pay-item{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:8px 10px;border:.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-md);background:var(--color-background-primary);font:inherit;color:inherit;text-align:left;cursor:pointer;transition:background .15s ease,border-color .15s ease}.dashboard-attention-pay-item:hover{background:var(--color-background-secondary);border-color:var(--color-border-secondary)}.dashboard-attention-pay-item:active{transform:scale(.98)}.dashboard-attention-pay-item--overdue{border-color:color-mix(in srgb,var(--color-data-critical) 20%,var(--color-border-tertiary))}.dashboard-attention-pay-item-main{display:flex;flex-direction:column;min-width:0;gap:2px}.dashboard-attention-pay-item-name{font-size:13px;font-weight:500;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-attention-pay-item-sub{font-size:11px;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-attention-pay-item-sep{margin:0 3px}.dashboard-attention-pay-item-amount{flex-shrink:0;font-size:13px;font-weight:500;font-variant-numeric:tabular-nums;color:var(--color-text-primary)}.dashboard-attention-pay-item--overdue .dashboard-attention-pay-item-amount{color:var(--color-data-critical)}.dashboard-attention-section-empty{margin:0;padding:8px 10px;font-size:12px;color:var(--color-text-secondary);line-height:1.45;border:.5px dashed var(--color-border-tertiary);border-radius:var(--border-radius-md)}.dashboard-attention-expense-hint{margin:0 2px 6px;font-size:11px;color:var(--color-text-secondary);line-height:1.4}.dashboard-attention-section-title{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary);padding:0 2px}.dashboard-attention-all-btn{font-size:12px;min-height:36px;padding:0 12px;background:transparent;color:var(--color-text-secondary);border:.5px solid var(--color-border-secondary)}.dashboard-attention-all-btn:hover:not(:disabled){background:var(--color-background-secondary);color:var(--color-text-primary);border-color:var(--color-border-secondary)}.dashboard-attention-list{display:flex;flex-direction:column;gap:14px}.dashboard-attention-section{display:flex;flex-direction:column;gap:4px}.dashboard-attention-item-main strong{font-size:13px;font-weight:500;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-attention-item-sub{font-size:11px;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-attention-more{margin-top:4px;padding:6px 0;font-size:12px;font-weight:500;border:none;background:transparent;color:var(--color-text-secondary);cursor:pointer;text-align:left;transition:color .15s ease}.dashboard-attention-more:hover{color:var(--color-text-primary)}.onboarding-card{margin-bottom:1.25rem;border-radius:12px;background:var(--color-background-secondary);border:.5px solid var(--color-border-tertiary);box-shadow:none}.onboarding-card-inner{padding:1.25rem}.onboarding-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:1rem}.onboarding-title{margin:0 0 4px;font-size:15px;font-weight:500;letter-spacing:-.02em;color:var(--color-text-primary)}.onboarding-sub{margin:0;font-size:13px;line-height:1.55;color:var(--color-text-secondary);max-width:52rem}.onboarding-progress{flex-shrink:0;display:flex;align-items:baseline;gap:2px;padding:8px 12px;border-radius:var(--radius-xl);background:var(--color-background-primary);border:.5px solid var(--color-border-tertiary)}.onboarding-progress-value{font-size:16px;font-weight:500;color:var(--color-text-primary)}.onboarding-progress-of{font-size:13px;color:var(--color-text-tertiary)}.onboarding-steps{list-style:none;margin:0;padding:0;display:grid;gap:10px}@media(min-width:900px){.onboarding-steps{grid-template-columns:repeat(2,1fr)}}.onboarding-step{display:flex;gap:14px;padding:14px 16px;border-radius:var(--border-radius-md);background:var(--color-background-primary);border:.5px solid var(--color-border-tertiary);transition:border-color .15s ease,box-shadow .15s ease}.onboarding-step--next{border-color:color-mix(in srgb,var(--color-primary) 35%,var(--color-border-tertiary));box-shadow:none}.onboarding-step--done{opacity:.88}.onboarding-step-icon{width:40px;height:40px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius-lg);background:var(--color-background-secondary);color:var(--color-text-secondary)}.onboarding-step--done .onboarding-step-icon{background:var(--color-success-soft);color:var(--color-success)}.onboarding-check{font-size:18px;font-weight:500;line-height:1}.onboarding-step-body{min-width:0;flex:1}.onboarding-step-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px}.onboarding-step-num{font-size:11px;font-weight:500;color:var(--color-text-tertiary);letter-spacing:.06em}.onboarding-step-title{font-size:14px;font-weight:600;color:var(--color-text-primary)}.onboarding-step-badge{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#2e7d32;background:#2e7d321a;padding:2px 8px;border-radius:999px}.onboarding-step-hint{margin:0 0 10px;font-size:12px;line-height:1.45;color:var(--color-text-secondary)}.onboarding-step-cta{font-size:12px;padding:6px 12px}.onboarding-step-wait{margin:0;font-size:12px;line-height:1.45;color:var(--color-text-tertiary);font-style:italic}.modal-setup-callout{margin-bottom:16px;padding:14px 16px;border-radius:var(--border-radius-md);background:var(--color-info-soft);border:1px solid var(--color-border)}.modal-setup-callout--soft{background:var(--color-background-secondary);border-color:var(--color-border-tertiary)}.modal-setup-callout-title{font-size:13px;font-weight:600;color:var(--color-text-primary);margin-bottom:6px}.modal-setup-callout-text{margin:0 0 12px;font-size:12px;line-height:1.5;color:var(--color-text-secondary)}.modal-setup-callout-btn{font-size:12px;padding:7px 14px}.modal-fieldset-reset{border:none;margin:0;padding:0;min-width:0}.stat-card{background:var(--color-background-primary);border:.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-lg);padding:14px 16px}.stat-label{font-size:11px;color:var(--color-text-secondary);margin-bottom:6px}.stat-value{font-size:22px;font-weight:500;color:var(--color-text-primary)}.stat-sub{font-size:11px;color:var(--color-text-tertiary);margin-top:3px}.stat-green{border-left:3px solid var(--color-data-ok)}.stat-amber{border-left:3px solid var(--color-data-warn)}.stat-red{border-left:3px solid var(--color-data-critical)}.stat-blue{border-left:3px solid var(--color-info)}.stat-slate{border-left:3px solid var(--color-text-tertiary)}.stat-rose{border-left:3px solid color-mix(in srgb,var(--color-data-critical) 70%,var(--color-info))}.card{background:var(--color-background-primary);border:1px solid var(--color-border-tertiary);border-radius:var(--border-radius-lg);padding:16px;margin-bottom:16px;box-shadow:var(--shadow-elevated)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;gap:8px;flex-wrap:wrap}.card-title{font-size:13px;font-weight:500;color:var(--color-text-primary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:0 12px;border:.5px solid var(--color-border-secondary);border-radius:var(--radius-xl);font-size:13px;font-weight:500;cursor:pointer;background:var(--color-background-primary);color:var(--color-text-primary);font-family:inherit;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .1s ease}.btn:hover:not(:disabled){background:var(--color-background-secondary);border-color:var(--color-border-secondary)}.btn:active:not(:disabled){transform:scale(.98)}.btn:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-green{background:var(--color-primary);border:none;color:var(--color-primary-foreground)}.btn-green:hover:not(:disabled){background:var(--color-primary-hover);border:none;color:var(--color-primary-foreground)}.btn-danger-outline{background:#fcebeb;color:#a32d2d;border-color:#f09595}.table{width:100%;border-collapse:collapse;font-size:12px}.table th{text-align:left;padding:8px 10px;font-size:10px;font-weight:600;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.07em;border-bottom:1px solid var(--color-border-secondary);background:var(--color-background-secondary)}.table td{padding:10px;border-bottom:.5px solid var(--color-border-tertiary);color:var(--color-text-primary);vertical-align:middle}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:var(--color-background-secondary)}.table tr.is-selected td{background:var(--color-background-secondary);box-shadow:inset 3px 0 0 0 var(--color-accent, #639922)}.table.veli-table-compact th{padding:6px 8px}.table.veli-table-compact td{padding:8px;vertical-align:top}.pill{display:inline-block;padding:2px 8px;border-radius:var(--border-radius-lg);font-size:10px;font-weight:500}.pill-green{background:linear-gradient(135deg,#d1fae5,#ecfdf5);color:#047857;border:1px solid rgba(16,185,129,.35)}.pill-amber{background:linear-gradient(135deg,#fde68a,#fef3c7);color:#92400e;border:1px solid rgba(245,158,11,.35)}.pill-red{background:linear-gradient(135deg,#fecdd3,#ffe4e6);color:#be123c;border:1px solid rgba(244,63,94,.35)}.pill-blue{background:linear-gradient(135deg,#bfdbfe,#eff6ff);color:#1d4ed8;border:1px solid rgba(59,130,246,.35)}.pill-gray{background:linear-gradient(180deg,#f8fafc,#f1f5f9);color:var(--color-text-secondary);border:1px solid var(--color-border-tertiary)}.teacher-insight-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px 20px 32px;gap:10px}.teacher-insight-empty-icon{width:56px;height:56px;border-radius:var(--radius-xl);background:var(--color-background-secondary);display:flex;align-items:center;justify-content:center;color:var(--color-text-tertiary)}.teacher-insight-empty-icon svg{width:28px;height:28px}.teacher-insight-empty-title{font-size:14px;font-weight:500;color:var(--color-text-primary);margin:0}.teacher-insight-empty-hint{font-size:12px;color:var(--color-text-tertiary);margin:0;max-width:280px;line-height:1.45}.teacher-insight-hero{display:flex;align-items:center;gap:14px;padding:4px 0 16px;margin-bottom:4px;border-bottom:.5px solid var(--color-border-tertiary)}.teacher-insight-hero-avatar{width:52px;height:52px;border-radius:var(--radius-xl);background:linear-gradient(145deg,#eaf3de,#e6f1fb);border:.5px solid var(--color-border-tertiary);display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:600;color:var(--color-text-primary);letter-spacing:.02em;flex-shrink:0}.teacher-insight-hero-text{min-width:0}.teacher-insight-hero-name{font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0 0 4px;line-height:1.25}.teacher-insight-hero-sub{font-size:12px;color:var(--color-text-secondary);margin:0;line-height:1.4}.stats-grid.teacher-insight-stats{margin-bottom:18px;grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:900px){.stats-grid.teacher-insight-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.teacher-detail-add-group{margin-top:1.25rem;padding-top:1.25rem;border-top:.5px solid var(--color-border-tertiary)}.teacher-detail-add-group-label{display:block;margin-bottom:4px;font-size:12px;color:var(--color-text-secondary)}.teacher-detail-add-group-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.teacher-detail-add-group-select{flex:1;min-width:160px;height:36px}.teacher-detail-add-group-btn{flex-shrink:0}.teacher-insight-groups{display:flex;flex-direction:column;gap:10px}.teacher-insight-group{border:.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-lg);background:var(--color-background-tertiary);overflow:hidden}.teacher-insight-group-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 14px;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}.teacher-insight-group-summary::-webkit-details-marker{display:none}.teacher-insight-group-summary::marker{display:none}.teacher-insight-chevron{flex-shrink:0;margin-top:4px;font-size:11px;color:var(--color-text-tertiary);transition:transform .18s ease;line-height:1}.teacher-insight-group[open] .teacher-insight-chevron{transform:rotate(180deg)}.teacher-insight-group-head{min-width:0;flex:1}.teacher-insight-group-title{font-size:13px;font-weight:600;color:var(--color-text-primary);margin:0 0 6px;line-height:1.3}.teacher-insight-group-meta{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}.teacher-insight-group-meta-muted{font-size:11px;color:var(--color-text-tertiary)}.teacher-insight-meter-wrap{margin-top:2px}.teacher-insight-meter-label{display:flex;justify-content:space-between;align-items:baseline;font-size:10px;color:var(--color-text-tertiary);margin-bottom:4px}.teacher-insight-meter{height:6px;border-radius:var(--border-radius-md);background:var(--color-border-tertiary);overflow:hidden}.teacher-insight-meter-fill{height:100%;border-radius:var(--border-radius-md);transition:width .25s ease}.teacher-insight-group-body{padding:0 14px 14px;border-top:.5px solid var(--color-border-tertiary);background:var(--color-background-primary)}.teacher-insight-student-list{display:flex;flex-direction:column;gap:6px;margin-top:12px}.teacher-insight-student-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--border-radius-md);border:.5px solid var(--color-border-tertiary);background:var(--color-background-tertiary)}.teacher-insight-student-avatar{width:32px;height:32px;border-radius:var(--border-radius-md);background:var(--color-background-secondary);border:.5px solid var(--color-border-tertiary);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;color:var(--color-text-secondary);flex-shrink:0}.teacher-insight-student-info{flex:1;min-width:0}.teacher-insight-student-name{font-size:12px;font-weight:500;color:var(--color-text-primary);margin:0;line-height:1.25}.teacher-insight-student-age{font-size:10px;color:var(--color-text-tertiary);margin:2px 0 0}.teacher-insight-student-tags{display:flex;flex-wrap:wrap;gap:4px;align-items:center;flex-shrink:0}.page--attendance{padding-bottom:calc(92px + env(safe-area-inset-bottom,0px))}.attendance-flow-hint{margin:0 0 14px;padding:10px 12px;font-size:12px;line-height:1.45;color:var(--color-text-secondary);background:var(--color-background-tertiary);border-radius:var(--border-radius-md);border:.5px solid var(--color-border-tertiary)}.attendance-flow-hint strong{font-weight:600;color:var(--color-text-primary)}.attendance-toolbar{margin-bottom:14px}.attendance-toolbar-row{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}.attendance-field{display:flex;flex-direction:column;gap:4px;flex:1;min-width:160px}.attendance-field-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-tertiary)}.attendance-date-input{width:100%;max-width:220px;min-height:40px;font-size:15px}.attendance-refresh{min-height:40px;align-self:flex-end}.attendance-today-btn{min-height:40px;align-self:flex-end;flex-shrink:0;font-weight:600}.attendance-today-btn.is-current{opacity:.55;pointer-events:none}.attendance-context-bar{margin-top:14px;padding:12px 14px;border-radius:var(--border-radius-lg);border:.5px solid color-mix(in srgb,var(--color-accent, #639922) 35%,var(--color-border-tertiary));background:color-mix(in srgb,var(--color-accent, #639922) 6%,var(--color-background-primary));display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 16px}.attendance-context-main{display:flex;flex-direction:column;gap:2px;min-width:0}.attendance-context-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-tertiary)}.attendance-context-name{font-size:17px;font-weight:700;color:var(--color-text-primary);line-height:1.2;word-break:break-word}.attendance-context-teachers{display:block;margin-top:6px;font-size:13px;font-weight:500;color:var(--color-text-secondary);line-height:1.35}.attendance-context-teachers--empty{font-weight:400;font-style:italic;color:var(--color-text-tertiary)}.attendance-context-meta{font-size:13px;color:var(--color-text-secondary);flex-shrink:0}.attendance-search-field{display:flex;align-items:center;gap:10px;margin-bottom:14px;padding:0 4px 0 12px;border-radius:var(--border-radius-lg);border:.5px solid var(--color-border-tertiary);background:var(--color-background-primary);min-height:48px}.attendance-search-icon{display:flex;color:var(--color-text-tertiary);flex-shrink:0}.attendance-search-icon svg{width:18px;height:18px}.attendance-search-input{flex:1;min-width:0;border:none!important;background:transparent!important;box-shadow:none!important;min-height:44px;font-size:16px}.attendance-empty-card--compact{padding:18px 16px;margin-bottom:8px}.attendance-date-hint{margin:8px 0 12px;font-size:13px;color:var(--color-text-secondary)}.attendance-pick-rows{display:flex;flex-direction:column;gap:12px}.attendance-pick-row{display:grid;grid-template-columns:minmax(76px,auto) minmax(0,1fr);gap:8px 12px;align-items:center;min-width:0}.attendance-filter-row-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-tertiary);line-height:1.2;padding-left:2px}.attendance-teacher-filter-scroll{display:flex;gap:6px;overflow-x:auto;padding:0 2px 4px;margin:0;scroll-padding-inline:6px;-webkit-overflow-scrolling:touch;min-width:0}.attendance-teacher-filter-scroll::-webkit-scrollbar{height:4px}.attendance-teacher-filter-scroll::-webkit-scrollbar-thumb{background:var(--color-border-secondary);border-radius:var(--border-radius-md)}.attendance-teacher-filter-chip{flex:0 0 auto;max-width:min(220px,78vw);padding:8px 12px;min-height:40px;border-radius:var(--border-radius-lg);border:.5px solid var(--color-border-tertiary);background:var(--color-background-primary);cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;color:var(--color-text-primary);text-align:left;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:border-color .12s ease,box-shadow .12s ease}.attendance-teacher-filter-chip:hover{border-color:var(--color-border-secondary)}.attendance-teacher-filter-chip.is-active{border-color:var(--color-accent, #639922);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-accent, #639922) 22%,transparent);background:color-mix(in srgb,var(--color-accent, #639922) 8%,var(--color-background-primary))}@media(max-width:520px){.page--attendance .attendance-pick-row{grid-template-columns:1fr;gap:6px;align-items:stretch}}.attendance-group-scroll{display:flex;gap:8px;overflow-x:auto;padding:0 6px 6px;margin:0;scroll-snap-type:x proximity;scroll-padding-inline:6px;-webkit-overflow-scrolling:touch}.attendance-group-scroll::-webkit-scrollbar{height:4px}.attendance-group-scroll::-webkit-scrollbar-thumb{background:var(--color-border-secondary);border-radius:var(--border-radius-md)}.attendance-empty-groups{font-size:13px;color:var(--color-text-secondary);margin:0}.attendance-group-chip{flex:0 0 auto;scroll-snap-align:start;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 14px;min-height:48px;min-width:120px;max-width:min(280px,88vw);border-radius:var(--border-radius-lg);border:.5px solid var(--color-border-tertiary);background:var(--color-background-primary);cursor:pointer;font-family:inherit;text-align:left;transition:border-color .12s ease,box-shadow .12s ease}.attendance-group-chip:hover{border-color:var(--color-border-secondary)}.attendance-group-chip.is-active{border-color:var(--color-accent, #639922);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-accent, #639922) 22%,transparent);background:color-mix(in srgb,var(--color-accent, #639922) 8%,var(--color-background-primary))}.attendance-group-chip-name{font-size:13px;font-weight:600;color:var(--color-text-primary);line-height:1.3;white-space:normal;word-break:break-word;overflow-wrap:anywhere;width:100%}.attendance-group-chip-meta{font-size:11px;color:var(--color-text-tertiary)}.attendance-group-chip-teachers{font-size:11px;font-weight:500;color:var(--color-text-secondary);line-height:1.35;width:100%;text-align:left;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.attendance-group-chip-teachers--empty{font-weight:400;font-style:italic;color:var(--color-text-tertiary)}.attendance-summary{padding:14px;margin-bottom:14px}.attendance-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px}@media(max-width:520px){.attendance-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.attendance-stat{border-radius:var(--border-radius-md);padding:10px 8px;text-align:center;border:.5px solid var(--color-border-tertiary);background:var(--color-background-tertiary)}.attendance-stat-value{display:block;font-size:20px;font-weight:600;color:var(--color-text-primary);line-height:1.1}.attendance-stat-label{font-size:10px;font-weight:500;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.04em}.attendance-stat--ok{border-left:3px solid #639922}.attendance-stat--no{border-left:3px solid #e24b4a}.attendance-stat--ex{border-left:3px solid #378add}.attendance-stat--pending{border-left:3px solid #8e8e98}.attendance-quick-actions{display:flex;flex-wrap:wrap;gap:8px}.attendance-quick-btn{flex:1;min-width:140px;min-height:42px;font-size:13px}.attendance-list-wrap{margin-bottom:8px}.attendance-loading{text-align:center;padding:24px;color:var(--color-text-secondary);font-size:14px}.attendance-empty-card{padding:28px 16px;text-align:center}.attendance-empty-text{margin:0;font-size:14px;color:var(--color-text-secondary)}.attendance-student-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.attendance-student-card{border:.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-lg);background:var(--color-background-primary);padding:14px;box-shadow:0 1px 2px #0000000a}.attendance-student-top{display:flex;align-items:center;gap:12px;margin-bottom:12px}.attendance-student-avatar{width:44px;height:44px;border-radius:var(--radius-xl);background:linear-gradient(145deg,#eaf3de,#e6f1fb);border:.5px solid var(--color-border-tertiary);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:var(--color-text-primary);flex-shrink:0}.attendance-student-text{flex:1;min-width:0}.attendance-student-name{font-size:16px;font-weight:600;color:var(--color-text-primary);line-height:1.25}.attendance-student-age{font-size:12px;color:var(--color-text-tertiary);margin-top:2px}.attendance-status-pill{flex-shrink:0;font-size:11px;font-weight:600;padding:4px 10px;border-radius:999px;background:var(--color-background-secondary);color:var(--color-text-secondary)}.attendance-status-pill.is-present{background:#eaf3de;color:#3b6d11}.attendance-status-pill.is-absent{background:#fcebeb;color:#a32d2d}.attendance-status-pill.is-excused{background:#e6f1fb;color:#185fa5}.attendance-status-pill.is-unset{opacity:.6}.attendance-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.attendance-action{min-height:48px;border-radius:var(--border-radius-md);border:2px solid var(--color-border-secondary);background:var(--color-background-primary);font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;color:var(--color-text-primary);transition:background .12s ease,border-color .12s ease,transform .08s ease}.attendance-action:active{transform:scale(.98)}.attendance-action--present.is-selected{border-color:#639922;background:#eaf3de;color:#2d5010}.attendance-action--absent.is-selected{border-color:#e24b4a;background:#fcebeb;color:#7a2222}.attendance-action--excused.is-selected{border-color:#378add;background:#e6f1fb;color:#185fa5}.attendance-save-bar{position:fixed;left:0;right:0;bottom:0;z-index:50;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:var(--color-background-primary);border-top:.5px solid var(--color-border-tertiary);box-shadow:0 -4px 20px #0000000f}@media(min-width:961px){.attendance-save-bar{left:236px}}.attendance-save-inner{max-width:720px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.attendance-save-hint{font-size:12px;color:#b45309;font-weight:500}.attendance-save-hint--ok{color:var(--color-text-tertiary);font-weight:400}.attendance-save-btn{min-height:48px;padding-left:22px;padding-right:22px;font-size:15px;font-weight:600}@media(min-width:700px){.page--attendance .attendance-student-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.page--attendance .attendance-student-card{height:100%;display:flex;flex-direction:column}.page--attendance .attendance-actions{margin-top:auto}.page--attendance .attendance-action{min-height:52px;font-size:15px}.page--attendance .attendance-group-chip{min-height:52px;min-width:132px;padding:12px 16px}.page--attendance .attendance-group-chip-name{font-size:14px}.page--attendance .attendance-save-inner{max-width:900px}.page--attendance .attendance-flow-hint{font-size:13px;padding:12px 14px}.page--attendance .attendance-student-name{font-size:17px}.page--attendance .attendance-student-avatar{width:48px;height:48px;font-size:15px}}.page--attendance-report{padding-bottom:24px}.attendance-report-toolbar-row{align-items:center;flex-wrap:wrap}.attendance-report-month-bar{flex:1;min-width:220px;max-width:420px}.attendance-report-legend{display:flex;flex-wrap:wrap;gap:14px 20px;padding:12px 14px;margin-bottom:14px;font-size:12px;color:var(--color-text-secondary)}.attendance-report-legend-item{display:inline-flex;align-items:center;gap:8px}.attendance-report-legend-sym{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:var(--border-radius-lg);font-size:12px;font-weight:700}.attendance-report-scroll-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--border-radius-lg);border:.5px solid var(--color-border-tertiary);background:var(--color-background-primary);box-shadow:0 1px 2px #0000000a}.attendance-report-table{border-collapse:separate;border-spacing:0;font-size:12px;min-width:max-content}.attendance-report-th,.attendance-report-row-label,.attendance-report-cell{border-bottom:.5px solid var(--color-border-tertiary);border-right:.5px solid var(--color-border-tertiary);padding:8px 6px;text-align:center;vertical-align:middle}.attendance-report-th:last-child,.attendance-report-cell:last-child{border-right:none}.attendance-report-th{position:sticky;top:0;z-index:2;background:var(--color-background-secondary);font-weight:600;color:var(--color-text-primary)}.attendance-report-th--corner{left:0;top:0;z-index:4;min-width:120px;max-width:200px;text-align:left;padding-left:12px;vertical-align:middle}.attendance-report-th--date{z-index:3;min-width:46px;max-width:58px;width:52px;vertical-align:middle;padding:10px 4px;text-align:center;line-height:1.15}.attendance-report-th-date-stack{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.attendance-report-th-date-line1{display:block;font-size:11px;font-weight:600;color:var(--color-text-primary);white-space:nowrap}.attendance-report-th-date-line2{display:block;font-size:10px;font-weight:600;color:var(--color-text-tertiary);white-space:nowrap}.attendance-report-row-label{position:sticky;left:0;z-index:2;background:var(--color-background-primary);text-align:left;min-width:120px;max-width:220px;padding-left:12px;font-weight:500;box-shadow:1px 0 0 var(--color-border-tertiary)}.attendance-report-row-label--student{vertical-align:middle}.attendance-report-student-name{display:block;font-size:13px;color:var(--color-text-primary);line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.attendance-report-cell{font-weight:700;min-width:36px;transform:none}.attendance-report-cell--ok{background:color-mix(in srgb,#eaf3de 85%,var(--color-background-primary));color:#3b6d11}.attendance-report-cell--no{background:color-mix(in srgb,#fcebeb 85%,var(--color-background-primary));color:#a32d2d}.attendance-report-cell--ex{background:color-mix(in srgb,#e6f1fb 85%,var(--color-background-primary));color:#185fa5}.attendance-report-cell--unset{color:var(--color-text-tertiary);font-weight:500}.student-detail-attendance-month{border:.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-lg);margin-bottom:10px;background:var(--color-background-primary)}.student-detail-attendance-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;cursor:pointer;font-size:14px;font-weight:600;color:var(--color-text-primary);list-style:none}.student-detail-attendance-summary::-webkit-details-marker{display:none}.student-detail-attendance-meta{font-size:11px;font-weight:600;color:var(--color-text-tertiary);flex-shrink:0}.student-detail-attendance-body{padding:0 10px 12px}.student-detail-attendance-empty{margin:0;font-size:13px;color:var(--color-text-tertiary)}.student-detail-attendance-table-wrap{max-width:100%}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:960px){.two-col{grid-template-columns:1fr}.dashboard-equal-height-card{height:auto;max-height:none}.dashboard-equal-height-scroll{overflow-y:visible}.app{flex-direction:column}.mobile-menu-btn{display:inline-flex}.mobile-nav-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:199;margin:0;padding:0;border:none;background:#00000059;cursor:pointer;animation:mobile-nav-backdrop-in .2s ease}@keyframes mobile-nav-backdrop-in{0%{opacity:0}to{opacity:1}}.sidebar{position:fixed;left:0;top:0;bottom:0;width:min(280px,88vw);z-index:200;display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:0;padding:16px 0 0;transform:translate(-100%);transition:transform .22s ease;overflow:hidden;pointer-events:none;border-right:.5px solid var(--color-border-tertiary)}.sidebar.sidebar--open{transform:translate(0);pointer-events:auto}.sidebar-logo{border-bottom:.5px solid var(--color-border-tertiary);margin-bottom:0;padding:0 16px 12px}.sidebar-nav-body{flex:1;min-height:0}.nav-section{width:100%;flex-shrink:0}.nav-item{flex:0 0 auto;width:calc(100% - 16px);margin:0 8px;min-width:0}}.search-bar{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}.search-bar input,.select-input{flex:1;min-width:160px;padding:7px 10px;border:.5px solid var(--color-border-secondary);border-radius:var(--border-radius-md);font-size:12px;background:var(--color-background-primary);color:var(--color-text-primary);font-family:inherit}.invoice-filters{align-items:center;gap:8px}.invoice-status-error-detail{font-size:11px;line-height:1.35;color:var(--color-text-secondary);max-width:min(42ch,100%);word-break:break-word;white-space:pre-line}.invoice-status-error-detail--modal{margin:6px 0 0;font-size:12px;line-height:1.4;max-width:none;color:#9f1239;font-weight:500;white-space:pre-line}.teachers-page-card-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 12px}.teachers-page-tabs{margin:0}.teachers-table-row-actions{justify-content:flex-end}.teachers-row-menu-trigger{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;flex-shrink:0;border:.5px solid var(--color-border-tertiary);border-radius:8px;background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .1s ease}.teachers-row-menu-trigger:hover{border-color:var(--color-border-secondary);color:var(--color-text-primary);background:var(--color-background-secondary)}.teachers-row-menu-trigger:active{transform:scale(.98)}.teachers-row-menu-trigger .nav-icon{width:16px;height:16px}.teachers-row-menu-trigger[aria-expanded=true]{border-color:var(--color-border-secondary);color:var(--color-text-primary);background:var(--color-background-primary)}.teachers-row-menu-trigger:focus-visible{outline:2px solid var(--color-border-secondary);outline-offset:1px}.teacher-absence-bulk{padding-top:4px}.teacher-absence-bulk-toolbar-wrap{margin-bottom:12px}.teacher-absence-bulk-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px 12px}.teacher-absence-bulk-month-bar{flex:0 1 auto;min-width:0;max-width:none;margin-bottom:0}.teacher-absence-bulk-refresh{min-height:36px;flex-shrink:0;margin-left:auto;align-self:center}.teacher-absence-bulk-row--clickable:hover .attendance-report-row-label{color:var(--color-text-primary)}.teacher-absence-bulk-row--clickable:hover .attendance-report-summary-cell{background:var(--color-background-secondary)}.attendance-report-cell--idle{background:var(--color-background-secondary);color:var(--color-text-tertiary)}.teacher-absence-bulk .attendance-report-table{--teacher-absence-name-col: 148px;--teacher-absence-summary-col: 92px;table-layout:fixed}.teacher-absence-bulk .attendance-report-th--corner,.teacher-absence-bulk .attendance-report-row-label{width:var(--teacher-absence-name-col);min-width:var(--teacher-absence-name-col);max-width:var(--teacher-absence-name-col);box-sizing:border-box}.teacher-absence-bulk .attendance-report-student-name{max-width:calc(var(--teacher-absence-name-col) - 16px)}.teacher-absence-bulk .attendance-report-th--summary,.teacher-absence-bulk .attendance-report-summary-cell{position:sticky;left:var(--teacher-absence-name-col);z-index:3;width:var(--teacher-absence-summary-col);min-width:var(--teacher-absence-summary-col);max-width:var(--teacher-absence-summary-col);padding:8px 10px 8px 8px;font-size:11px;text-align:left;vertical-align:middle;box-sizing:border-box;background:var(--color-background-secondary);box-shadow:1px 0 0 var(--color-border-tertiary)}.teacher-absence-bulk .attendance-report-th--summary{z-index:5}.teacher-absence-bulk .attendance-report-summary-cell{z-index:2;background:var(--color-background-primary)}.teacher-absence-bulk .attendance-report-th--date,.teacher-absence-bulk .attendance-report-cell{width:50px;min-width:50px;max-width:50px;box-sizing:border-box}.teacher-absence-bulk .attendance-report-row-label,.teacher-absence-bulk .attendance-report-summary-cell{vertical-align:middle}.teacher-absence-bulk .attendance-report-cell--idle{background:var(--color-background-secondary)}.teacher-absence-bulk-summary{display:block;font-size:11px;line-height:1.3;color:var(--color-text-secondary);white-space:nowrap}.teacher-absence-bulk-summary-muted{display:block;font-size:11px;line-height:1.3;color:var(--color-text-tertiary)}.teacher-absence-bulk-summary-absent{color:var(--color-data-critical, var(--color-text-primary))}.teacher-absence-note-backdrop{z-index:110}.teacher-absence-note-modal{max-width:420px}.teacher-absence-note-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 16px 12px;border-bottom:.5px solid var(--color-border-tertiary)}.teacher-absence-note-modal-header-main{min-width:0}.teacher-absence-note-modal-header h3{margin:0;font-size:15px;font-weight:500;color:var(--color-text-primary)}.teacher-absence-note-modal-subtitle{margin:4px 0 0;font-size:12px;color:var(--color-text-secondary)}.teacher-absence-note-modal-close{flex-shrink:0;min-width:32px;min-height:32px;padding:0}.teacher-absence-note-modal-body{padding:14px 16px 16px}.teacher-absence-note-field{display:grid;gap:4px}.teacher-absence-note-label{font-size:12px;color:var(--color-text-secondary)}.teacher-absence-note-label-muted{color:var(--color-text-tertiary)}.teacher-absence-note-textarea{width:100%;min-height:96px;padding:8px 10px;border-radius:8px;border:.5px solid var(--color-border-tertiary);background:var(--color-background-primary);color:var(--color-text-primary);font-size:13px;line-height:1.4;resize:vertical;box-sizing:border-box}.teacher-absence-note-textarea:focus-visible{outline:2px solid var(--color-border-secondary);outline-offset:1px}.teacher-absence-note-modal-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:0 16px 16px}.invoice-page-header{margin-bottom:14px}.invoice-page-title{font-size:16px;font-weight:600;margin:0;color:var(--color-text-primary);letter-spacing:-.01em}.invoice-page-subtitle{margin:6px 0 0;font-size:12px;line-height:1.5;color:var(--color-text-secondary);max-width:40rem}.invoice-summary-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px}.invoice-summary-tile{background:var(--color-background-secondary);border:.5px solid var(--color-border-secondary);border-radius:var(--border-radius-md);padding:10px 12px;display:flex;flex-direction:column;gap:2px;min-width:0}.invoice-summary-tile--wide{min-width:0}.invoice-summary-tile__label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-tertiary)}.invoice-summary-tile__scope-line{font-size:11px;font-weight:500;line-height:1.3;color:var(--color-text-secondary);margin-bottom:2px}.invoice-summary-tile__value{font-size:14px;font-weight:600;color:var(--color-text-primary);word-break:break-word}.invoice-summary-tile__value--money{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.45;letter-spacing:-.01em}.invoice-summary-tile__hint{font-size:11px;color:var(--color-text-secondary);line-height:1.3;margin-top:2px}.invoice-page-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:16px}.invoice-toolbar-tabs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;flex:0 0 auto}.invoice-page-tab{display:inline-flex;align-items:center;gap:6px;margin:0;padding:7px 12px;font-size:12px;font-weight:600;color:var(--color-text-secondary);background:var(--color-background-secondary);border:.5px solid var(--color-border-secondary);border-radius:var(--border-radius-md);cursor:pointer;line-height:1.2}.invoice-page-tab:hover{color:var(--color-text-primary);border-color:var(--color-border-tertiary)}.invoice-page-tab:focus-visible{outline:2px solid var(--color-accent, #2563eb);outline-offset:2px}.invoice-page-tab--active{color:var(--color-text-primary);background:linear-gradient(180deg,#eff6ff,#e0e7ff);border-color:#3b82f673;box-shadow:0 1px 2px #0f172a0f}.invoice-page-tab__count{font-size:10px;font-weight:600;font-variant-numeric:tabular-nums;padding:1px 6px;border-radius:var(--border-radius-lg);background:#0f172a0f;color:var(--color-text-secondary)}.invoice-page-tab--active .invoice-page-tab__count{background:#2563eb1f;color:#1d4ed8}.invoice-toolbar-search{flex:1 1 200px;min-width:0;max-width:520px}.invoice-page-search{width:100%}.invoice-range-root{position:relative}.invoice-range-root--in-summary{min-width:0}.invoice-summary-tile--period{padding-bottom:8px}.invoice-period-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;margin:0;padding:4px 0 0;border:none;background:transparent;font:inherit;font-size:14px;font-weight:600;color:var(--color-text-primary);text-align:left;cursor:pointer;border-radius:4px;font-variant-numeric:tabular-nums}.invoice-period-trigger:hover{color:var(--color-blue-700, #1d4ed8)}.invoice-period-trigger:focus-visible{outline:2px solid var(--color-blue-500, #3b82f6);outline-offset:2px}.invoice-period-trigger__text{flex:1;min-width:0;word-break:break-word;line-height:1.35}.invoice-period-trigger__icon{flex-shrink:0;display:flex;color:var(--color-text-tertiary);transition:transform .15s ease}.invoice-period-trigger--open .invoice-period-trigger__icon{transform:rotate(180deg);color:var(--color-text-secondary)}.invoice-range-button{min-width:240px;font-size:11px;padding:6px 10px;text-align:left}.invoice-range-popover{position:absolute;z-index:40;top:calc(100% + 8px);right:0;width:min(92vw,560px);padding:10px;box-shadow:0 10px 24px #1018281f}.invoice-range-popover--from-summary{left:0;right:auto;width:min(100%,min(92vw,360px))}.invoice-range-explain{margin:0 0 10px;padding:0 0 8px;border-bottom:.5px solid var(--color-border-tertiary, rgba(0, 0, 0, .08));font-size:11px;line-height:1.45;color:var(--color-text-secondary)}.invoice-range-inputs{display:grid;grid-template-columns:1fr 1fr;gap:8px}.invoice-range-input-group{display:grid;gap:4px;font-size:11px;color:var(--color-text-secondary)}.invoice-range-input-group .select-input{font-size:11px;height:30px;padding:5px 8px}.invoice-calendar .rdp{--rdp-cell-size: 28px;--rdp-accent-color: var(--color-blue-600);--rdp-background-color: var(--color-blue-50);--rdp-range_middle-background-color: var(--color-blue-50);margin:0;font-size:11px}.invoice-calendar .rdp-day_button{font-size:11px;width:28px;height:28px;border-radius:999px;font-weight:400}.invoice-calendar .rdp-caption_label{font-size:12px;font-weight:600}.invoice-calendar .rdp-head_cell{font-size:10px;color:var(--color-text-tertiary)}.invoice-calendar .rdp-months{gap:12px;flex-wrap:nowrap}.invoice-calendar .rdp-range_middle{background:var(--color-blue-50)}.invoice-calendar .rdp-range_middle .rdp-day_button{background:transparent;border-radius:0}.invoice-calendar .rdp-day.rdp-range_middle,.invoice-calendar .rdp-day.rdp-range_middle[aria-selected=true]{background:var(--color-blue-50)!important}.invoice-calendar .rdp-day.rdp-range_middle .rdp-day_button,.invoice-calendar .rdp-day.rdp-range_middle[aria-selected=true] .rdp-day_button{background:transparent!important;color:var(--color-blue-700)!important;font-weight:500}.invoice-calendar .rdp-range_start .rdp-day_button,.invoice-calendar .rdp-range_end .rdp-day_button,.invoice-calendar .rdp-selected .rdp-day_button{border-radius:999px}.invoice-range-presets{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.invoice-range-presets .btn,.invoice-range-actions .btn{font-size:10px;padding:4px 8px}.invoice-range-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:8px}.table tbody tr.invoice-row--clickable{cursor:pointer}.table tbody tr.invoice-row--clickable:hover{background:var(--color-background-secondary, rgba(0, 0, 0, .04))}.table tbody tr.invoice-row--clickable:focus-visible{outline:2px solid var(--color-blue-500, #3b82f6);outline-offset:-2px}.invoice-table-view-col,.invoice-table-view-cell{width:1%;white-space:nowrap;vertical-align:middle;text-align:right}.invoice-table-view-col{text-align:right}.invoice-view-invoice-btn{font-size:12px;padding:4px 10px;line-height:1.25;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.invoice-view-missing{color:var(--color-text-secondary, #64748b);padding-right:4px}@media(max-width:900px){.invoice-range-popover{width:min(92vw,320px);right:auto;left:0}.invoice-range-inputs{grid-template-columns:1fr}.invoice-calendar .rdp-months{flex-direction:column;gap:8px}}@media(max-width:720px){.invoice-summary-strip{grid-template-columns:1fr}.invoice-range-popover--from-summary{width:min(92vw,360px)}.invoice-toolbar-search{max-width:none}}.schedule-grid{display:grid;grid-template-columns:80px repeat(7,1fr);gap:1px;background:var(--color-border-tertiary);border-radius:var(--border-radius-md);overflow:hidden;font-size:11px;min-width:640px}.sch-cell{background:var(--color-background-primary);padding:6px 4px;text-align:center;min-height:44px;vertical-align:top;display:flex;flex-direction:column;align-items:stretch;gap:4px}.sch-slot-wrap{position:relative;text-align:left}.sch-slot-wrap .sch-lesson{padding-right:18px}.sch-remove{position:absolute;top:2px;right:2px;width:18px;height:18px;padding:0;font-size:14px;line-height:1;border:none;border-radius:var(--border-radius-md);background:#0000000f;color:var(--color-text-secondary);cursor:pointer;font-family:inherit}.sch-remove:hover{background:#fcebeb;color:#a32d2d}.sch-header{background:var(--color-background-secondary);font-weight:500;color:var(--color-text-secondary);padding:7px 4px;text-align:center;font-size:10px}.sch-time{background:var(--color-background-secondary);color:var(--color-text-tertiary);font-size:10px;display:flex;align-items:center;justify-content:center}.sch-lesson{background:#eaf3de;border-radius:var(--border-radius-md);padding:4px 3px;color:#3b6d11;font-size:10px;font-weight:500;cursor:default;line-height:1.3}.sch-lesson-b{background:#e6f1fb;color:#185fa5}.sch-lesson-c{background:#faeeda;color:#633806}.payment-row-late{background:#fff8f8}.payment-row-late td:first-child{border-left:3px solid #e24b4a}.payment-row-late:hover td{background:var(--color-danger-soft)!important}.info-row{display:flex;justify-content:space-between;padding:7px 0;border-bottom:.5px solid var(--color-border-tertiary);font-size:13px}.info-row:last-child{border-bottom:none}.info-label{color:var(--color-text-secondary)}.modal.modal-wide.modal-student-form{max-width:min(720px,calc(100vw - 28px));max-height:min(94vh,900px)}.student-form-modal-body{padding:16px 22px 20px;overflow-y:auto;-webkit-overflow-scrolling:touch}.student-form-layout{display:flex;flex-direction:column;gap:14px;min-width:0}.student-form-step-badge{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;font-size:12px;font-weight:800;letter-spacing:0;text-transform:none;background:var(--color-background-secondary);border:1px solid var(--color-border-tertiary);color:var(--color-text-secondary)}.student-form-consent-notes-row{grid-column:1 / -1;display:grid;grid-template-columns:1fr;gap:14px;min-width:0}@media(min-width:900px){.student-form-consent-notes-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 28px;align-items:stretch}.student-form-consent-notes-row .student-form-notes-cell{padding-left:22px;margin-left:-6px;border-left:1px solid var(--color-border-tertiary)}}.student-form-social-fieldset{margin:0;padding:0;min-width:0;border:none}.student-form-social-legend{padding:0;margin:0 0 10px;font-size:13px;font-weight:600;color:var(--color-text-secondary);line-height:1.35}.student-form-radio-stack{display:flex;flex-direction:column;gap:8px}@media(min-width:520px){.student-form-radio-stack{flex-direction:row;flex-wrap:wrap;gap:12px 20px}}.student-form-radio-label{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--color-text-primary);cursor:pointer;-webkit-user-select:none;user-select:none}.student-form-radio-input{width:1rem;height:1rem;flex-shrink:0;accent-color:var(--color-accent, #16a34a)}.student-form-notes-only-row{margin-bottom:0}.student-form-notes-only-row>label{font-weight:600;font-size:13px;color:var(--color-text-secondary)}.student-fee-card{margin-top:10px;border-radius:var(--radius-md, 10px);border:1px solid var(--color-border-secondary);background:var(--color-background-secondary);overflow:hidden}.student-fee-summary-strip{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px;padding:12px 14px;background:linear-gradient(180deg,rgba(255,255,255,.55) 0%,transparent 100%)}.student-fee-summary-label{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--color-text-tertiary)}.student-fee-summary-amount{font-size:1.35rem;font-weight:800;letter-spacing:-.02em;color:var(--color-text-primary)}.student-fee-summary-meta{font-size:13px;color:var(--color-text-secondary)}.student-fee-accordion{border-top:1px solid var(--color-border-tertiary)}.student-fee-accordion-summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;cursor:pointer;font-size:13px;font-weight:600;color:var(--color-text-secondary);-webkit-user-select:none;user-select:none}.student-fee-accordion-summary:hover{background:#0f172a08}.student-fee-accordion-summary::-webkit-details-marker{display:none}.student-fee-accordion-summary::marker{display:none}.student-fee-accordion-chev{flex-shrink:0;font-size:10px;opacity:.65;transition:transform .2s ease}.student-fee-accordion[open] .student-fee-accordion-chev{transform:rotate(-180deg)}.student-fee-accordion-body{padding:0 14px 14px}.student-recurring-preview-readonly--accordion{margin-top:0;margin-bottom:4px}.student-fee-checkbox-row{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:13px;color:var(--color-text-secondary);cursor:pointer}.student-fee-first-month-block{margin-top:10px}.modal-header.student-form-modal-header{padding:20px 22px 16px;border-bottom:1px solid var(--color-border-subtle);background:linear-gradient(180deg,var(--color-background-secondary) 0%,var(--color-background-primary) 100%)}.student-form-modal-header-main{display:flex;align-items:flex-start;justify-content:space-between;gap:12px 16px}.student-form-modal-header-text{min-width:0;flex:1}.modal-header.student-form-modal-header h3{margin:0 0 6px;font-size:1.25rem;font-weight:700;letter-spacing:-.02em}.student-form-modal-close{flex-shrink:0;width:36px;height:36px;margin:-4px -6px 0 0;padding:0;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-md, 10px);background:transparent;color:var(--color-text-tertiary);font-size:22px;line-height:1;cursor:pointer;transition:background .15s ease,color .15s ease}.student-form-modal-close:hover:not(:disabled){background:#0f172a0f;color:var(--color-text-primary)}.student-form-modal-close:disabled{opacity:.45;cursor:not-allowed}.student-form-modal-subtitle{margin:0;font-size:13px;line-height:1.45;color:var(--color-text-secondary)}.label-required{color:#b42318;font-weight:700;margin-left:2px}.student-form-hint-compact{margin:0 0 8px}.student-form-inline-actions{margin-top:10px;display:flex;justify-content:flex-start}.student-form-text-action{padding:6px 0;min-height:0;font-size:13px;font-weight:600;color:var(--color-accent, #639922);background:transparent;border:none;box-shadow:none;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px;transition:text-decoration-color .15s ease,color .15s ease}.student-form-text-action:hover:not(:disabled){text-decoration-color:currentColor;color:color-mix(in srgb,var(--color-accent, #639922) 85%,#000)}.student-form-text-action:disabled{opacity:.5}.student-form-notes-help{margin-top:0;margin-bottom:8px}.student-form-char-counter{margin:6px 0 0;font-size:11px;color:var(--color-text-tertiary);text-align:right}.student-form-notes-input{line-height:1.45;font-family:inherit}.modal>.form-actions.student-form-footer-actions{padding-left:22px;padding-right:22px}.student-form-section{margin-bottom:0;padding:14px 16px 12px;border-radius:var(--radius-lg, 12px);border:1px solid var(--color-border-secondary);background:var(--color-background-primary);box-shadow:0 1px #0f172a0a}.student-form-section-head{margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--color-border-tertiary)}.student-form-section-title{display:flex;align-items:center;gap:10px;margin:0 0 4px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-tertiary)}.student-form-section-title>span:last-child{letter-spacing:.08em}.student-form-section-desc{margin:0;font-size:13px;line-height:1.45;color:var(--color-text-secondary)}.student-form-grid-2{display:grid;gap:12px 16px}@media(min-width:520px){.student-form-grid-2{grid-template-columns:1fr 1fr}.student-form-grid-2 .form-row:nth-child(3){grid-column:1 / -1}}.student-form-sub-label{display:block;font-size:12px;font-weight:600;color:var(--color-text-secondary);margin-bottom:6px}.student-form-inline-hint{margin:0 0 12px;font-size:12px;line-height:1.45;color:var(--color-text-tertiary)}.student-form-extra-block{margin-top:4px}.student-form-extra-rows{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:10px}.student-form-extra-row{display:grid;gap:8px;align-items:stretch;grid-template-columns:1fr}@media(min-width:480px){.student-form-extra-row{grid-template-columns:minmax(0,1fr) max-content minmax(0,.85fr) auto;align-items:center}}.student-form-extra-new-parent{white-space:nowrap;font-size:13px;padding-left:8px;padding-right:8px}.student-form-extra-select,.student-form-extra-relation{width:100%;min-width:0}.student-form-extra-remove{justify-self:start;padding:8px 12px;font-size:13px}@media(min-width:480px){.student-form-extra-remove{justify-self:end}}.student-form-add-extra-btn{font-size:13px}.student-form-empty-extra{margin:0 0 12px;font-size:13px;color:var(--color-text-tertiary)}.student-recurring-preview{margin-top:10px;padding:10px 12px;border-radius:var(--border-radius-md, 4px);border:1px solid var(--color-border-secondary);background:var(--color-background-secondary)}.student-recurring-preview-title{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary);margin-bottom:8px}.student-recurring-preview-readonly{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}.student-recurring-preview-muted{display:block;font-size:11px;color:var(--color-text-tertiary);margin-bottom:2px}.student-recurring-preview-value{font-size:14px;font-weight:600;color:var(--color-text-primary)}.student-recurring-preview-note{grid-column:1 / -1;margin:4px 0 0;font-size:11px;line-height:1.45;color:var(--color-text-secondary)}.student-recurring-preview-note--warn{margin:0;color:var(--color-text-secondary)}.student-prorate-preview{grid-column:1 / -1;margin-top:10px;padding:10px 12px;border-radius:var(--border-radius-md, 4px);border:1px solid var(--color-border);background:var(--color-info-soft)}.student-prorate-preview-title{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-info-foreground);margin-bottom:8px}.student-prorate-preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px}.student-prorate-preview-amount{color:var(--color-info-foreground);font-size:15px}.group-fee-sync-muted{font-size:12px;color:var(--color-text-secondary);line-height:1.45}.group-fee-sync-table-wrap{max-height:min(42vh,280px);overflow:auto;border:1px solid var(--color-border-tertiary);border-radius:var(--border-radius-md, 4px)}.group-fee-sync-table{margin:0;font-size:13px}.group-fee-sync-table th,.group-fee-sync-table td{white-space:nowrap}.group-fee-sync-table td:first-child{white-space:normal}.group-fee-sync-actions{flex-wrap:wrap;gap:8px;justify-content:flex-end}.progress-bar{background:var(--color-background-secondary);border-radius:var(--border-radius-md);height:6px;overflow:hidden;margin-top:4px;max-width:120px}.progress-fill{height:100%;border-radius:var(--border-radius-md);background:var(--color-data-ok)}.notifications-page{max-width:640px;margin:0 auto;animation:notifications-page-in .45s ease both}@keyframes notifications-page-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.notifications-page{animation:none}}.notifications-hero{position:relative;display:flex;align-items:flex-start;gap:16px;margin-bottom:18px;padding:4px 2px 0}.notifications-hero-glow{position:absolute;left:28px;top:28px;width:120px;height:120px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(13,148,136,.22) 0%,transparent 68%);pointer-events:none}.notifications-hero-icon-wrap{position:relative;flex-shrink:0;width:52px;height:52px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-xl);background:linear-gradient(145deg,#fff,#f0fdfa);border:1px solid rgba(13,148,136,.2);box-shadow:0 10px 28px -12px #0d948859,0 0 0 1px #fffc inset;color:var(--color-accent)}.notifications-hero-icon-wrap .nav-icon{width:26px;height:26px}.notifications-hero-text{min-width:0;padding-top:2px}.notifications-hero-title{margin:0;font-size:22px;font-weight:700;letter-spacing:-.03em;line-height:1.2;color:var(--color-text-primary)}.notifications-hero-desc{margin:8px 0 0;font-size:13px;line-height:1.55;color:var(--color-text-secondary);max-width:46ch}.notifications-help{margin-bottom:16px;border:1px solid var(--color-border-tertiary);border-radius:var(--border-radius-lg);background:#ffffffa6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);overflow:hidden;box-shadow:0 1px #ffffffe6 inset}.notifications-help>summary{cursor:pointer;list-style:none;padding:10px 14px;font-size:12px;font-weight:600;color:var(--color-text-secondary);-webkit-user-select:none;user-select:none}.notifications-help>summary::-webkit-details-marker{display:none}.notifications-help[open]>summary{border-bottom:1px solid var(--color-border-tertiary)}.notifications-help-body{margin:0;padding:10px 14px 12px;font-size:12px;color:var(--color-text-secondary);line-height:1.6}.notifications-shell{border-radius:var(--radius-xl);background:linear-gradient(180deg,#fff,#fafbfc);border:1px solid var(--color-border-tertiary);box-shadow:var(--shadow-elevated),0 0 0 1px #ffffffe6 inset;overflow:hidden}.notifications-toolbar{display:grid;grid-template-columns:1fr auto;grid-template-areas:"heading actions" "meta meta";gap:6px 12px;align-items:center;padding:16px 18px 14px;border-bottom:1px solid var(--color-border-tertiary);background:linear-gradient(180deg,#f8fafcf2,#ffffff80)}@media(min-width:560px){.notifications-toolbar{grid-template-columns:auto 1fr auto;grid-template-areas:"heading meta actions";gap:12px 16px}}.notifications-toolbar-heading{grid-area:heading;margin:0;display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary)}.notifications-toolbar-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:0;text-transform:none;color:#fff;background:linear-gradient(135deg,var(--color-accent) 0%,#0f766e 100%);box-shadow:0 2px 8px -2px #0d94888c}.notifications-toolbar-meta{grid-area:meta;font-size:12px;color:var(--color-text-secondary);line-height:1.4}@media(min-width:560px){.notifications-toolbar-meta{justify-self:start}}.notifications-toolbar-actions{grid-area:actions;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.notifications-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;font-family:inherit;font-size:11px;font-weight:600;padding:7px 12px;border-radius:999px;border:1px solid var(--color-border-secondary);background:#fff;color:var(--color-text-secondary);cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,color .15s ease}.notifications-btn:hover:not(:disabled){border-color:#0d948873;color:var(--color-text-primary);background:#f0fdfad9}.notifications-btn:disabled{opacity:.45;cursor:not-allowed}.notifications-btn--primary{border-color:transparent;background:linear-gradient(135deg,var(--color-accent) 0%,#0f766e 100%);color:#fff;box-shadow:0 2px 10px -3px #0d94888c}.notifications-btn--primary:hover:not(:disabled){filter:brightness(1.05);border-color:transparent;color:#fff}.notifications-btn--icon{display:inline-flex;align-items:center;gap:6px}.notifications-btn-refresh-label{display:inline}@media(max-width:420px){.notifications-btn-refresh-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.notifications-btn--icon{position:relative}}.notifications-btn-refresh-icon{font-size:14px;line-height:1;display:inline-block;transition:transform .35s ease}.notifications-btn--icon:hover:not(:disabled) .notifications-btn-refresh-icon{transform:rotate(-200deg)}@media(prefers-reduced-motion:reduce){.notifications-btn--icon:hover:not(:disabled) .notifications-btn-refresh-icon{transform:none}}.notifications-list-scroll{max-height:min(480px,calc(100vh - 260px));min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scroll-padding:12px 14px 16px;padding:12px 14px 16px;outline:none;background:linear-gradient(180deg,#f8fafc80,#fff 24px)}.notifications-list-scroll:focus-visible{box-shadow:inset 0 0 0 2px #0d948847}.notifications-feed{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.notifications-item{--notif-accent: var(--color-accent);position:relative;display:flex;gap:0;border-radius:var(--radius-xl);border:1px solid var(--color-border-tertiary);background:#fff;box-shadow:0 1px 2px #0f172a0a;transition:box-shadow .2s ease,border-color .2s ease,transform .2s ease;overflow:hidden}.notifications-item:hover{border-color:#94a3b88c;box-shadow:0 8px 24px -12px #0f172a1f}.notifications-item--unread{border-color:#0d948859;background:linear-gradient(90deg,#f0fdfaa6,#fff 48%);box-shadow:0 0 0 1px #0d948814,0 6px 20px -10px #0d948840}.notifications-item-accent{width:4px;flex-shrink:0;background:var(--notif-accent);border-radius:var(--radius-xl) 0 0 var(--radius-xl)}.notifications-item-body{flex:1;min-width:0;padding:12px 14px 12px 12px}.notifications-item-message{margin:0;font-size:13px;line-height:1.55;color:var(--color-text-primary)}.notifications-item--unread .notifications-item-message{font-weight:500}.notifications-item-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-top:10px}.notifications-item-time{font-size:11px;font-weight:500;letter-spacing:.02em;color:var(--color-text-tertiary)}.notifications-chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--border-radius-lg);font-size:10px;font-weight:600;letter-spacing:.02em}.notifications-chip--cat{background:var(--color-background-secondary)!important}.notifications-item-actions{margin-left:auto;display:flex;align-items:center}.notifications-inline-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;font-family:inherit;font-size:11px;font-weight:600;padding:4px 0;border:none;background:none;color:var(--color-text-tertiary);cursor:pointer;text-decoration:underline;text-underline-offset:3px;transition:color .15s ease}.notifications-inline-btn:hover{color:var(--color-accent)}.notifications-inline-btn--strong{color:var(--color-accent);text-decoration:none;padding:5px 10px;border-radius:var(--radius-xl);background:#0d94881a}.notifications-inline-btn--strong:hover{background:#0d94882e;color:#0f766e}@media(max-width:520px){.notifications-item-actions{margin-left:0;width:100%;justify-content:flex-start;padding-top:2px}}.notifications-item:not(.notifications-item--unread) .notifications-item-message,.notifications-item:not(.notifications-item--unread) .notifications-item-time{opacity:.72}.notifications-item:not(.notifications-item--unread) .notifications-chip{opacity:.88}.notifications-empty-state{padding:40px 22px 44px;text-align:center}.notifications-empty-visual{display:flex;justify-content:center;margin-bottom:18px}.notifications-empty-ring{width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#f0fdfa,#e0f2fe);border:1px solid rgba(13,148,136,.15);color:var(--color-accent);box-shadow:0 12px 32px -16px #0d948859}.notifications-empty-ring .nav-icon{width:32px;height:32px}.notifications-empty-title{margin:0;font-size:16px;font-weight:700;letter-spacing:-.02em;color:var(--color-text-primary)}.notifications-empty-text{margin:10px auto 0;max-width:36ch;font-size:13px;line-height:1.55;color:var(--color-text-secondary)}.notifications-loading .notifications-shell{padding:12px 14px 16px}.notifications-hero--skeleton{display:flex;align-items:flex-start;gap:16px;margin-bottom:16px}.notifications-skeleton{position:relative;overflow:hidden;background:var(--color-background-secondary);border-radius:var(--radius-xl)}.notifications-skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(105deg,transparent 0%,rgba(255,255,255,.55) 45%,transparent 88%);animation:notifications-skeleton-shimmer 1.35s ease-in-out infinite}@keyframes notifications-skeleton-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media(prefers-reduced-motion:reduce){.notifications-skeleton:after{animation:none}}.notifications-skeleton-hero-icon{width:52px;height:52px;border-radius:var(--radius-xl);flex-shrink:0}.notifications-skeleton-hero-text{flex:1;display:flex;flex-direction:column;gap:10px;min-width:0;padding-top:4px}.notifications-skeleton-line{height:12px}.notifications-skeleton-line--lg{width:56%;max-width:200px;height:20px;border-radius:var(--border-radius-lg)}.notifications-skeleton-line--md{width:88%;max-width:340px}.notifications-skeleton-line--full{width:100%}.notifications-skeleton-line--sm{width:42%;height:10px}.notifications-skeleton-row{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--color-border-tertiary)}.notifications-skeleton-row:last-child{border-bottom:none}.notifications-skeleton-accent{width:4px;height:48px;border-radius:var(--border-radius-md);flex-shrink:0}.notifications-skeleton-row-body{flex:1;display:flex;flex-direction:column;gap:10px;min-width:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--modal-backdrop-tint);display:flex;align-items:center;justify-content:center;z-index:100;padding:16px;overflow-y:auto;-webkit-overflow-scrolling:touch}@media(max-width:640px){.modal-backdrop{align-items:flex-start;padding:max(12px,env(safe-area-inset-top,0px)) 16px max(20px,env(safe-area-inset-bottom,0px))}}.modal{background:var(--color-background-primary);border-radius:var(--radius-xl);max-width:440px;width:100%;padding:0;box-shadow:var(--shadow-elevated),0 22px 50px -16px #0f172a2e;max-height:min(90vh,720px);overflow:hidden;display:flex;flex-direction:column;margin:auto;border:1px solid rgba(255,255,255,.65)}.modal-wide{max-width:520px;max-height:min(92vh,800px)}.modal-group-detail{max-width:min(920px,calc(100vw - 32px));max-height:min(92vh,880px)}.modal-group-detail.modal-group-detail-revamp{border-radius:var(--radius-xl);box-shadow:var(--shadow-modal-rich);border:1px solid rgba(255,255,255,.75);overflow:hidden;display:flex;flex-direction:column;margin:auto}.modal-backdrop:has(.modal-group-detail-revamp){-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.group-detail-header{padding:0;border-bottom:1px solid var(--color-border-subtle);background:var(--modal-header-bg)}.modal-group-detail-revamp .modal-header.group-detail-header h3{margin:0}.group-detail-header-main{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 22px 18px;flex-wrap:wrap}.group-detail-hero{display:flex;gap:14px;align-items:flex-start;min-width:0}.group-detail-hero-avatar{flex-shrink:0;width:56px;height:56px;border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;letter-spacing:.02em;color:var(--color-primary-foreground);background:var(--modal-hero-avatar-bg);box-shadow:0 4px 14px #2563eb38}.group-detail-hero-text{min-width:0}.group-detail-title{margin:0 0 4px;font-size:1.35rem;font-weight:700;line-height:1.25;letter-spacing:-.02em}.group-detail-tagline{margin:0 0 10px;font-size:13px;color:var(--color-text-secondary);line-height:1.4}.group-detail-hero-chips{display:flex;flex-wrap:wrap;gap:6px}.group-detail-header-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.group-detail-close-btn{min-width:88px}.group-detail-body{padding:18px 22px 22px;overflow:auto;flex:1;background:var(--modal-body-bg)}.group-detail-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:16px}.group-detail-stat-card{border:1px solid var(--color-border-tertiary);border-radius:var(--radius-lg);padding:14px 16px;background:var(--color-background-secondary);display:flex;flex-direction:column;gap:6px;min-height:120px}.group-detail-stat-card--ring{align-items:center;text-align:center}.group-detail-stat-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary)}.group-detail-stat-value{font-size:1.25rem;font-weight:700;line-height:1.2}.group-detail-stat-value--money{font-variant-numeric:tabular-nums}.group-detail-stat-sub{font-size:12px;color:var(--color-text-secondary);line-height:1.35}.group-detail-ring-wrap{display:flex;justify-content:center;padding:4px 0 2px}.group-detail-ring{width:92px;height:92px;border-radius:50%;background:conic-gradient(from -90deg,var(--group-occ-color, #3b82f6) var(--group-occ-deg, 0deg),rgba(15,23,42,.1) 0);display:flex;align-items:center;justify-content:center}.group-detail-ring-inner{width:72px;height:72px;border-radius:50%;background:var(--color-background-secondary);display:flex;align-items:center;justify-content:center;box-shadow:inset 0 1px 2px #0f172a0f}.group-detail-ring-pct{font-size:15px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.03em}.group-detail-section{margin-bottom:4px}.group-detail-section--sheet{border:1px solid var(--color-border-tertiary);border-radius:var(--radius-lg);padding:14px 16px 16px;background:var(--color-background-secondary);margin-bottom:12px}.group-detail-section--students{margin-bottom:0}.group-detail-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.group-detail-section-title{margin:0;font-size:14px;font-weight:700;letter-spacing:-.02em}.group-detail-section-hint{margin:0;font-size:11px;color:var(--color-text-secondary)}.group-detail-schedule-text{margin:0;font-size:13px;line-height:1.55;color:var(--color-text-primary)}.group-detail-muted{margin:0;font-size:13px;color:var(--color-text-secondary)}.group-detail-table-wrap{overflow-x:auto;margin:0 -4px}.group-detail-students-table{width:100%;min-width:420px;font-size:13px}.group-detail-students-table tbody tr.group-detail-student-row{cursor:pointer;transition:background .12s ease}.group-detail-students-table tbody tr.group-detail-student-row:hover{background:var(--color-info-soft)}.group-detail-students-table tbody tr.group-detail-student-row:focus-visible{outline:2px solid var(--color-info);outline-offset:-2px}.group-detail-students-hint{margin:10px 0 0;font-size:11px;color:var(--color-text-secondary)}.group-detail-students-actions-th,.group-detail-students-actions-cell{width:1%;white-space:nowrap;text-align:right;vertical-align:middle}.group-detail-change-group-trigger{font-weight:500}.group-detail-change-group-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:108;margin:0;padding:0;border:none;background:transparent;cursor:default}.group-detail-change-group-panel{position:fixed;z-index:109;width:min(300px,calc(100vw - 24px));max-height:min(52vh,380px);box-sizing:border-box;display:flex;flex-direction:column;gap:10px;padding:12px;margin:0;background:var(--modal-surface, var(--surface-0));border:.5px solid var(--color-border-tertiary);border-radius:8px}.group-detail-change-group-panel-head{flex-shrink:0}.group-detail-change-group-panel-title{margin:0;font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary)}.group-detail-change-group-search{width:100%;flex-shrink:0}.group-detail-change-group-list{overflow:auto;flex:1;min-height:0;display:flex;flex-direction:column;gap:4px;margin:0;padding:0}.group-detail-change-group-empty{margin:6px 2px;font-size:13px;color:var(--color-text-secondary)}.group-detail-change-group-item{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;text-align:left;padding:8px 10px;margin:0;border:none;border-radius:8px;font-family:inherit;font-size:13px;font-weight:400;color:var(--color-text-primary);background:transparent;cursor:pointer;transition:background .15s ease}.group-detail-change-group-item:hover:not(:disabled){background:var(--surface-1)}.group-detail-change-group-item:disabled{opacity:.55;cursor:not-allowed}.group-detail-change-group-item:active:not(:disabled){transform:scale(.98)}.group-detail-change-group-item--current{opacity:1;background:var(--surface-1)}.group-detail-change-group-item-name{min-width:0;overflow:hidden;text-overflow:ellipsis}.group-detail-change-group-item-meta{flex-shrink:0;font-size:11px;color:var(--color-text-tertiary)}.dashboard-occupancy-table .dashboard-occupancy-actions-th,.dashboard-occupancy-table .dashboard-occupancy-actions{width:1%;white-space:nowrap;text-align:right;vertical-align:middle}.dashboard-occupancy-detail-btn{font-size:11px;padding:4px 10px}.dashboard-occupancy-progress{min-width:72px}@media(max-width:640px){.group-detail-header-main{flex-direction:column;align-items:stretch;justify-content:flex-start}.group-detail-header-actions{justify-content:flex-end}.group-detail-summary{grid-template-columns:1fr}}.modal-student-detail{max-width:min(1120px,calc(100vw - 32px));max-height:min(94vh,900px);border-radius:12px;border:.5px solid var(--color-border-tertiary);overflow:hidden}.modal.modal-upcoming-birthdays{width:min(1120px,calc(100vw - 32px));max-width:min(1120px,calc(100vw - 32px));max-height:min(94vh,900px);border-radius:12px;border:.5px solid var(--color-border-tertiary);overflow:hidden}.modal-backdrop.upcoming-birthdays-backdrop{z-index:90;padding:max(16px,env(safe-area-inset-top,0px)) 16px max(20px,env(safe-area-inset-bottom,0px))}.modal-student-detail.student-detail-modal-stable-height{height:min(94vh,900px)}.student-detail-ozet-layout{display:grid;gap:1.25rem;grid-template-areas:"aside" "main";grid-template-columns:1fr}@media(min-width:880px){.student-detail-ozet-layout{grid-template-columns:minmax(0,1fr) minmax(260px,316px);grid-template-areas:"main aside";align-items:start}.student-detail-ozet-aside{position:sticky;top:3.5rem;align-self:start}}.student-detail-ozet-main{grid-area:main;min-width:0}.student-detail-ozet-aside{grid-area:aside;min-width:0}.student-detail-ozet-aside .student-detail-summary-grid{grid-template-columns:1fr;gap:1.25rem}.student-detail-summary--aside{margin-bottom:0}.student-detail-notes-actions{margin-top:12px;display:flex;justify-content:flex-end;gap:8px}.student-detail-emphasis{font-weight:500}.student-detail-field-label{display:block;font-size:12px;color:var(--color-text-secondary);margin-bottom:4px}.student-detail-extra-parent-form{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}.student-detail-extra-parent-field{flex:1 1 160px;min-width:0}.student-detail-extra-parent-input{width:100%}.student-detail-extra-parent-submit{flex:0 0 auto}.student-detail-extra-parent-limit-hint{margin-top:8px;margin-bottom:0}.student-detail-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:0 14px;font-family:inherit;font-size:13px;font-weight:500;line-height:1.2;border-radius:8px;cursor:pointer;text-decoration:none;box-sizing:border-box;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .1s ease}.student-detail-btn:disabled{opacity:.45;cursor:not-allowed}.student-detail-btn:active:not(:disabled){transform:scale(.98)}.student-detail-btn-primary{background:var(--color-primary);color:var(--color-primary-foreground);border:none}.student-detail-btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.student-detail-btn-secondary{background:transparent;color:var(--color-text-secondary);border:.5px solid var(--color-border-tertiary)}.student-detail-btn-secondary:hover:not(:disabled){border-color:var(--color-border-secondary);color:var(--color-text-primary)}.student-detail-btn-danger-outline{background:transparent;color:var(--color-danger);border:.5px solid var(--color-danger)}.student-detail-btn-danger-outline:hover:not(:disabled){background:var(--color-danger-soft)}.student-detail-btn--compact{min-height:32px;padding:0 12px;font-size:12px}.student-detail-btn--invoice-portal{background:var(--color-info-soft);color:var(--color-info-foreground, var(--color-text-primary));border:.5px solid color-mix(in srgb,var(--color-info) 22%,var(--color-border-tertiary))}.student-detail-btn--invoice-portal:hover:not(:disabled){background:color-mix(in srgb,var(--color-info-soft) 82%,var(--color-info));border-color:color-mix(in srgb,var(--color-info) 35%,var(--color-border-tertiary));color:var(--color-info-foreground, var(--color-text-primary))}.modal-student-detail .student-detail-payment-actions-row .student-detail-btn .nav-icon{width:16px;height:16px;opacity:1}.student-detail-btn-whatsapp{background:var(--color-success);color:var(--surface-0);border:none}.student-detail-btn-whatsapp:hover:not(:disabled){background:color-mix(in srgb,var(--color-success) 88%,var(--color-text-primary))}.student-detail-section-cta-row{margin-top:1rem}.modal-student-detail .student-detail-membership-cancel--defer{padding-top:1.25rem;margin-top:0;border-top:.5px solid var(--color-border-tertiary)}.modal-student-detail .student-detail-membership-cancel--defer .student-detail-section-cta-row{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start;margin-top:10px}.student-detail-nested-form-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px}.modal-parent-detail.modal-student-detail{max-width:min(760px,calc(100vw - 32px))}button.parent-detail-student-row{width:100%;text-align:left;cursor:pointer;font-family:inherit;border:.5px solid var(--color-border-tertiary);transition:background .12s ease,border-color .12s ease}button.parent-detail-student-row:hover{border-color:var(--color-border);background:var(--color-info-soft)}button.parent-detail-student-row:focus-visible{outline:2px solid var(--color-info);outline-offset:2px}.modal-parent-detail .teacher-insight-student-list{margin-top:0}.modal-backdrop:has(.modal-student-detail){background:var(--modal-backdrop-tint, rgba(15, 23, 42, .42))}.modal-student-detail>.modal-header.student-detail-header{padding:1.25rem 1.25rem 1rem;margin:0;border-bottom:.5px solid var(--color-border-tertiary);background:var(--modal-header-bg);position:relative}.modal-student-detail>.modal-header.student-detail-header:after{content:none}.modal-student-detail .modal-body.student-detail-body{padding:1.25rem 1.25rem 1.5rem;background:var(--modal-body-bg)}.modal-student-detail .modal-body.student-detail-body:has(>.student-detail-tab-rail){padding-top:0}.modal-student-detail .student-detail-tab-rail{display:flex;gap:8px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;position:sticky;top:0;z-index:4;margin:0 -1.25rem;padding:12px 1.25rem;background:var(--modal-body-bg);border-bottom:.5px solid var(--color-border-tertiary);scrollbar-width:thin;isolation:isolate}.modal-student-detail .student-detail-tab-rail:before{content:"";position:absolute;left:0;right:0;bottom:100%;height:max(16px,1.35rem);background:var(--modal-body-bg);pointer-events:none}.modal-student-detail .student-detail-tab{flex:0 0 auto;font-family:inherit;font-size:13px;font-weight:500;letter-spacing:.02em;padding:8px 12px;border-radius:8px;border:.5px solid var(--color-border-tertiary);background:var(--surface-0);color:var(--color-text-secondary);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.modal-student-detail .student-detail-tab:hover{border-color:var(--color-border-secondary);color:var(--color-text-primary)}.modal-student-detail .student-detail-tab:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.modal-student-detail .student-detail-tab--active{border:1.5px solid var(--color-primary);background:var(--surface-0);color:var(--color-primary-hover)}.modal-student-detail .student-detail-tab-panel{padding-bottom:4px}.modal-student-detail .student-detail-section-head .student-detail-section-title .student-detail-timeline-summary-hint{display:inline-block;margin-left:10px;font-size:12px;font-weight:500;letter-spacing:.02em;text-transform:none;color:var(--color-text-tertiary)}.modal-student-detail .student-detail-header{border-bottom:none;padding-bottom:0}.modal-student-detail .student-detail-hero-avatar--lg{background:var(--color-primary);color:var(--color-primary-foreground);font-weight:500;border:.5px solid var(--color-border-tertiary)}.modal-student-detail .student-detail-tagline{color:var(--color-text-secondary);font-weight:500}.modal-student-detail .student-detail-hero-chips .pill-red{border:.5px solid var(--color-border-tertiary)}.modal-student-detail .student-detail-summary{background:var(--surface-0);border:.5px solid var(--color-border-tertiary);border-radius:12px;padding:1rem 1rem 1.1rem}.modal-student-detail .student-detail-summary-head{border-bottom:.5px solid var(--color-border-tertiary);margin-bottom:1rem;padding-bottom:12px}.modal-student-detail .student-detail-summary-title{color:var(--color-text-tertiary);letter-spacing:.06em;font-weight:500}.modal-student-detail .student-detail-summary-block{border-radius:8px;padding:12px 12px 10px;border:.5px solid var(--color-border-tertiary);background:var(--surface-1)}.modal-student-detail .student-detail-summary-grid>.student-detail-summary-block:first-child,.modal-student-detail .student-detail-summary-grid>.student-detail-summary-block:last-child{background:var(--surface-1);border-color:var(--color-border-tertiary)}.modal-student-detail .student-detail-summary-block-title{font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary);margin-bottom:12px}.modal-student-detail .student-detail-dl-row{border-bottom-color:var(--color-border-subtle)}.modal-student-detail .student-detail-link{color:var(--color-info);font-weight:500}a.student-detail-btn-whatsapp.student-detail-wa-btn--compact,.student-detail-btn-whatsapp.student-detail-wa-btn--compact{padding:4px 10px;min-height:28px;font-size:11px}.modal-student-detail .student-detail-extra-parents{margin-top:10px;padding-top:10px;border-top:1px solid var(--color-border-subtle)}.modal-student-detail .student-detail-extra-parents-title{margin-bottom:6px}.modal-student-detail .student-detail-extra-parents-empty{margin-bottom:10px}.modal-student-detail .student-detail-extra-parents-list{list-style:none;padding:0;margin:0 0 8px;display:flex;flex-direction:column;gap:6px}.modal-student-detail .student-detail-extra-parent-item{padding:8px 10px;border-radius:8px;background:var(--surface-0);border:.5px solid var(--color-border-tertiary)}.modal-student-detail .student-detail-extra-parent-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:6px 8px;justify-content:space-between}.modal-student-detail .student-detail-extra-parent-main{flex:1 1 160px;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;row-gap:2px}.modal-student-detail .student-detail-extra-parent-name{font-size:13px;font-weight:500;line-height:1.25}.modal-student-detail .student-detail-extra-parent-pill{font-size:10px;padding:1px 6px;line-height:1.3}.modal-student-detail .student-detail-extra-parent-contacts{flex:1 1 100%;min-width:0;font-size:12px;line-height:1.3;color:var(--color-text-secondary);word-break:break-word}.modal-student-detail .student-detail-extra-parent-actions{display:flex;flex-wrap:wrap;align-items:center;gap:4px;flex-shrink:0}.modal-student-detail .student-detail-extra-parent-remove{padding:3px 8px;font-size:11px;line-height:1.25}.modal-student-detail .student-detail-extra-parent-prefs{margin-top:4px;gap:4px}.modal-student-detail .student-detail-extra-parent-prefs .pill{font-size:10px;padding:1px 6px;line-height:1.3}.modal-student-detail .student-detail-summary-block--veli .student-detail-dl-row{padding:5px 0;font-size:12px;gap:6px 10px;grid-template-columns:104px minmax(0,1fr)}.modal-student-detail .student-detail-summary-block--veli .student-detail-dl-row dt{font-size:11px}.modal-student-detail .student-detail-summary-block--veli .student-detail-contact-actions{margin-top:8px}.modal-student-detail .student-detail-veli-hint{margin-top:4px;margin-bottom:6px;font-size:12px;line-height:1.4}.modal-student-detail .student-detail-section--sheet{position:relative;border-radius:12px;border:.5px solid var(--color-border-tertiary);background:var(--surface-0);padding:1rem 1rem 1.1rem;margin-bottom:1.25rem;overflow:hidden}.modal-student-detail .student-detail-section--sheet .student-detail-section-title{color:var(--color-text-tertiary);font-size:11px;font-weight:500;letter-spacing:.06em}.modal-student-detail .student-detail-payments-wrap{border-radius:12px;border:.5px solid var(--color-border-tertiary);overflow:auto;background:var(--surface-0);max-width:100%}.modal-student-detail .student-detail-payments-table{width:100%;min-width:560px;table-layout:fixed;border-collapse:collapse}.modal-student-detail .student-detail-payments-th{padding:10px 12px;text-align:left;font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary);border-bottom:.5px solid var(--color-border-tertiary);vertical-align:bottom}.modal-student-detail .student-detail-payments-th--amount{text-align:right}.modal-student-detail .student-detail-payments-th--actions{width:24%;min-width:148px}.modal-student-detail .student-detail-payments-table thead th{background:var(--surface-1);color:var(--color-text-tertiary)}.modal-student-detail .student-detail-payments-month-header td{background:var(--surface-1);border-top:.5px solid var(--color-border-tertiary);border-bottom:.5px solid var(--color-border-tertiary);padding:12px 14px}.modal-student-detail .student-detail-month-head-title{font-size:14px;font-weight:500;color:var(--color-text-primary);text-transform:capitalize}.modal-student-detail .student-detail-month-head-meta strong{font-weight:500}.modal-student-detail .student-detail-payments-row td{padding:12px;vertical-align:top;border-bottom:.5px solid var(--color-border-subtle);background:var(--surface-0)}.modal-student-detail .student-detail-payments-row--extra td{background:var(--surface-1)}.modal-student-detail .student-detail-payments-row--extra td:first-child{border-left:2px solid var(--color-border-tertiary);padding-left:14px}.modal-student-detail .student-detail-payments-amount-cell{text-align:right}.modal-student-detail .student-detail-payments-amount{font-size:15px;font-weight:500;font-variant-numeric:tabular-nums;color:var(--color-text-primary)}.modal-student-detail .student-detail-payments-due-cell{font-size:13px;color:var(--color-text-secondary);white-space:nowrap}.modal-student-detail .student-detail-payments-actions-cell{vertical-align:middle}.modal-student-detail .student-detail-payment-actions-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.modal-student-detail .student-detail-payment-more-trigger{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;flex-shrink:0;border:.5px solid var(--color-border-tertiary);border-radius:8px;background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .1s ease}.modal-student-detail .student-detail-payment-more-trigger:hover{border-color:var(--color-border-secondary);color:var(--color-text-primary);background:var(--surface-1)}.modal-student-detail .student-detail-payment-more-trigger:active{transform:scale(.98)}.modal-student-detail .student-detail-payment-more-trigger .nav-icon{width:16px;height:16px;opacity:1}.modal-student-detail .student-detail-payment-more-trigger[aria-expanded=true]{border-color:var(--color-primary);color:var(--color-primary-hover);background:var(--surface-0)}.student-detail-payment-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:108;margin:0;padding:0;border:none;background:transparent;cursor:default}.student-detail-payment-menu-panel{position:fixed;z-index:109;min-width:176px;padding:4px 0;margin:0;background:var(--surface-0);border:.5px solid var(--color-border-tertiary);border-radius:8px}.student-detail-payment-menu-item{display:block;width:100%;text-align:left;padding:8px 12px;margin:0;border:none;border-radius:0;font-family:inherit;font-size:13px;font-weight:500;color:var(--color-text-primary);background:transparent;cursor:pointer;transition:background .15s ease}.student-detail-payment-menu-item:hover{background:var(--surface-1)}.student-detail-payment-menu-item--danger{color:var(--color-danger)}.student-detail-payment-menu-item--danger:hover{background:var(--color-danger-soft)}.modal-student-detail .student-detail-payments-empty-cell{padding:12px 14px}.modal-student-detail .student-detail-payments-month-head-meta{color:var(--color-text-secondary);font-size:12px}.modal-student-detail .student-detail-payments-table tbody tr:hover td,.modal-student-detail .student-detail-payments-month-header:hover td{background:var(--surface-1)}.modal-student-detail .student-detail-kalem-text{min-width:0;word-break:break-word}.modal-student-detail .student-detail-extra-parent-remove.student-detail-btn--compact{min-height:28px;padding:0 10px;font-size:12px}.modal-student-detail .student-detail-att-nav{background:var(--surface-1);border:.5px solid var(--color-border-tertiary);border-radius:12px;padding:10px 12px}.modal-student-detail .student-detail-att-nav-title{color:var(--color-text-primary);font-weight:500}.modal-student-detail .student-detail-att-legend{border:.5px solid var(--color-border-tertiary);border-radius:12px;background:var(--surface-0)}.modal-student-detail .student-detail-timeline-dot{background:var(--color-primary);border:2px solid var(--surface-0)}.modal-student-detail .student-detail-timeline-when{color:var(--color-text-secondary);font-weight:500}.modal-student-detail .student-detail-timeline-details{margin:14px 0 6px;border-radius:12px;border:.5px solid var(--color-border-tertiary);background:var(--surface-0);overflow:hidden}.modal-student-detail .student-detail-timeline-details>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;font-weight:500;color:var(--color-text-primary);background:var(--surface-1)}.modal-student-detail .student-detail-timeline-details>summary::-webkit-details-marker{display:none}.modal-student-detail .student-detail-timeline-summary-hint{font-weight:500;font-size:12px;color:var(--color-text-secondary)}.modal-student-detail .student-detail-timeline-details .student-detail-timeline-body{padding:0 14px 14px;border-top:1px solid var(--color-border-subtle);background:var(--surface-1)}.modal-student-detail .student-detail-timeline-table-wrap{margin-top:10px;border-radius:8px;overflow:auto;max-height:min(52vh,420px);border:.5px solid var(--color-border-tertiary)}.modal-student-detail .student-detail-timeline-table{font-size:13px;margin:0}.modal-student-detail .student-detail-timeline-table th{white-space:nowrap}.modal-student-detail .student-detail-timeline-msg{vertical-align:top;line-height:1.45}.modal-student-detail .student-detail-timeline-actor{margin-top:4px;font-size:11px;color:var(--color-text-secondary)}.modal-student-detail .student-detail-timeline-date{white-space:nowrap;vertical-align:top;font-size:12px}.modal-student-detail .student-detail-section--sheet:last-child{margin-bottom:10px}.modal-invoice-detail.modal-student-detail{max-width:min(760px,calc(100vw - 32px));max-height:min(92vh,860px)}.modal-invoice-detail .student-detail-section{margin-top:14px}.modal-invoice-detail .student-detail-section .student-detail-dl{margin:8px 0 0}.modal-invoice-detail .invoice-extra-details>strong{display:inline-block;font-size:12px;font-weight:500;color:var(--color-text-secondary);margin-bottom:2px}.student-detail-notes-textarea{width:100%;min-height:100px;resize:vertical}.student-detail-header{padding-bottom:16px;border-bottom:.5px solid var(--color-border-tertiary);margin-bottom:0}.student-detail-header-revamp{display:block}.student-detail-header-main{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:20px 24px}.modal-student-detail .modal-header h3.student-detail-title,.student-detail-title{font-size:18px;font-weight:500;margin:0 0 4px;line-height:1.25;letter-spacing:-.01em;color:var(--color-text-primary)}.student-detail-tagline{margin:0 0 10px;font-size:14px;color:var(--color-text-secondary);font-weight:500}.student-detail-hero{display:flex;gap:14px;align-items:center;flex:1;min-width:0}.student-detail-hero-revamp{align-items:flex-start;flex:1 1 280px;min-width:min(100%,280px)}.student-detail-hero-avatar{width:48px;height:48px;border-radius:12px;background:var(--surface-1);color:var(--color-info);display:flex;align-items:center;justify-content:center;font-weight:500;font-size:16px;flex-shrink:0}.student-detail-hero-avatar--lg{width:56px;height:56px;font-size:18px;border-radius:12px}.student-detail-hero-text{min-width:0}.student-detail-hero-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.student-detail-header-actions{display:flex;gap:8px;flex-shrink:0;align-items:center}.student-detail-header-actions--toolbar{flex-wrap:wrap;justify-content:flex-end;flex:0 1 auto}.student-detail-close-btn{font-size:13px}.student-detail-summary{margin-bottom:20px;padding:16px 18px;border:.5px solid var(--color-border-tertiary);border-radius:12px;background:var(--surface-1)}.student-detail-summary-head{margin-bottom:14px;padding-bottom:12px;border-bottom:.5px solid var(--color-border-tertiary)}.student-detail-summary-title{display:block;font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary);margin-bottom:4px}.student-detail-summary-hint{font-size:12px;color:var(--color-text-secondary)}.student-detail-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 28px}.student-detail-summary-block-title{font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary);margin-bottom:10px}.student-detail-dl{margin:0;display:flex;flex-direction:column;gap:0}.student-detail-dl-row{display:grid;grid-template-columns:118px minmax(0,1fr);gap:10px 14px;padding:8px 0;border-bottom:.5px solid var(--color-border-tertiary);font-size:13px;align-items:baseline}.student-detail-dl-row:last-child{border-bottom:none;padding-bottom:0}.student-detail-dl-row--multiline{align-items:start}.student-detail-dl-row dt{margin:0;font-size:12px;font-weight:500;color:var(--color-text-tertiary)}.student-detail-dl-row dd{margin:0;color:var(--color-text-primary);word-break:break-word}.student-detail-dl-pill{font-size:11px;vertical-align:middle}.student-detail-dl-value-stack{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.student-detail-tenure-pill{font-size:10px;padding:2px 7px}.student-detail-muted-inline{color:var(--color-text-tertiary);font-size:13px}.student-detail-link{color:var(--color-info);text-decoration:none;font-weight:500}.student-detail-link:hover{text-decoration:underline}.student-detail-pref-chips{display:flex;flex-wrap:wrap;gap:6px}.student-detail-contact-actions{margin-top:12px;display:flex;flex-wrap:wrap;gap:8px}.student-detail-wa-btn{text-decoration:none;display:inline-flex;align-items:center}.student-detail-body{padding-top:14px}.student-detail-section{margin-bottom:22px}.student-detail-section:last-child{margin-bottom:4px}.student-detail-section-head{margin-bottom:12px}.student-detail-section-title{font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary);margin-bottom:4px}.student-detail-section-lead{margin:0;font-size:12px;color:var(--color-text-secondary);line-height:1.45}.student-detail-section-hint{margin:0 0 12px;font-size:12px;color:var(--color-text-secondary);line-height:1.45}.student-detail-muted{margin:0;font-size:13px;color:var(--color-text-tertiary)}.student-detail-payments-wrap{overflow-x:auto}.student-detail-payments-table{min-width:720px}.student-detail-payments-table th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-tertiary)}.student-detail-payments-month-header td{background:var(--color-background-secondary);padding:6px 12px;border-top:.5px solid var(--color-border-tertiary)}.student-detail-payments-table>tbody>tr.student-detail-payments-month-header:first-child td{border-top:none}.student-detail-month-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}.student-detail-month-head-title{font-size:13px;font-weight:500;text-transform:capitalize}.student-detail-month-head-meta{font-size:11px;color:var(--color-text-secondary)}.student-detail-payments-row td{vertical-align:top}.student-detail-payments-row--extra td:first-child{padding-left:24px}.student-detail-kalem{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.student-detail-kalem-text{font-weight:500}.student-detail-actions{gap:4px;margin-left:auto;align-items:flex-end}.student-detail-actions .pay-action-btn-main{font-size:11px;padding:4px 10px}.student-detail-actions .pay-actions-secondary{justify-content:flex-end}.student-detail-inline-pill{font-size:9px;padding:1px 6px;margin-left:6px}.student-detail-status-cell{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.student-detail-status-hint{font-size:10px;color:var(--color-text-tertiary)}.student-detail-status-hint--late{color:var(--color-danger)}.student-detail-att-nav-title{font-size:13px;font-weight:500;text-transform:capitalize;color:var(--color-text-secondary)}.student-detail-att-legend{margin-bottom:12px;padding:10px 12px}.student-detail-att-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.student-detail-yoklama-legend{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;font-size:12px;color:var(--color-text-secondary)}.student-detail-yoklama-legend-item{display:inline-flex;align-items:center;gap:6px}.student-detail-yoklama-legend-item--muted{color:var(--color-text-tertiary)}.student-detail-yoklama-legend-swatch{display:inline-block;width:12px;height:12px;border-radius:4px;flex-shrink:0;border:.5px solid var(--color-border-tertiary);box-sizing:border-box}.student-detail-yoklama-legend-swatch--ok{background:var(--color-success-soft);border-color:color-mix(in srgb,var(--color-success) 22%,var(--color-border-tertiary))}.student-detail-yoklama-legend-swatch--no{background:var(--color-danger-soft);border-color:color-mix(in srgb,var(--color-danger) 22%,var(--color-border-tertiary))}.student-detail-yoklama-legend-swatch--ex{background:var(--color-info-soft);border-color:color-mix(in srgb,var(--color-info) 22%,var(--color-border-tertiary))}.student-detail-yoklama-legend-swatch--un{background:var(--color-background-secondary)}.student-detail-yoklama-legend-swatch--idle{background:var(--color-background-secondary);opacity:.95}.student-detail-yoklama-cal{margin-top:2px}.student-detail-yoklama-cal-weekdays,.student-detail-yoklama-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.student-detail-yoklama-cal-weekdays{margin-bottom:2px}.student-detail-yoklama-cal-weekday{font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary);text-align:center;padding:4px 2px}.student-detail-yoklama-cal-pad{min-height:0}.student-detail-yoklama-cal-day{min-height:40px;border-radius:8px;border:.5px solid var(--color-border-tertiary);display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;padding:5px 6px;font-size:12px;font-weight:500;color:var(--color-text-primary);box-sizing:border-box}.student-detail-yoklama-cal-dn{line-height:1.2}.student-detail-yoklama-cal-day--idle{background:var(--color-background-secondary);color:var(--color-text-tertiary)}.student-detail-yoklama-cal-day--ok{background:var(--color-success-soft);color:var(--color-success);border-color:color-mix(in srgb,var(--color-success) 22%,var(--color-border-tertiary))}.student-detail-yoklama-cal-day--no{background:var(--color-danger-soft);color:var(--color-danger);border-color:color-mix(in srgb,var(--color-danger) 22%,var(--color-border-tertiary))}.student-detail-yoklama-cal-day--ex{background:var(--color-info-soft);color:var(--color-info-foreground, var(--color-text-primary));border-color:color-mix(in srgb,var(--color-info) 22%,var(--color-border-tertiary))}.student-detail-yoklama-cal-day--unset{background:var(--color-background-secondary);color:var(--color-text-tertiary)}.student-detail-yoklama-cal-day--today{border-width:1.5px;border-color:var(--color-border-secondary)}.student-detail-yoklama-cal-day--clickable:hover{border-color:var(--color-border-secondary);background:var(--color-bg-secondary)}.student-detail-yoklama-cal-day--clickable:focus-visible{outline:2px solid var(--color-border-secondary);outline-offset:1px}.student-detail-yoklama-cal-note{margin-top:2px;font-size:10px;font-weight:400;line-height:1.25;color:var(--color-text-secondary);overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;word-break:break-word}.student-detail-yoklama-cal-day--has-note{min-height:52px}.student-detail-yoklama-cal-day[aria-selected=true]{border-width:1.5px;border-color:var(--color-border-secondary)}.student-detail-load-more{display:flex;justify-content:center;margin-top:10px}.student-detail-attendance-month-th{text-align:center;font-size:11px;text-transform:capitalize;letter-spacing:.02em;background:var(--color-background-secondary);border-bottom:1px solid var(--color-border-tertiary);padding:6px 4px}.student-detail-attendance-table--combined th,.student-detail-attendance-table--combined td{min-width:36px}.student-detail-attendance-seg-start{border-left:2px solid var(--color-border)!important}.student-detail-grouplog{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.student-detail-grouplog-item{display:flex;gap:12px;font-size:13px;padding:8px 10px;background:var(--color-background-secondary);border-radius:var(--border-radius-lg)}.student-detail-grouplog-when{font-size:11px;color:var(--color-text-tertiary);min-width:140px;flex-shrink:0}.student-detail-grouplog-text{color:var(--color-text-primary)}.student-detail-timeline{list-style:none;margin:0;padding:0 0 0 4px;display:flex;flex-direction:column;gap:0}.student-detail-timeline-item{position:relative;display:flex;gap:14px;padding:0 0 16px;margin:0}.student-detail-timeline-item:last-child{padding-bottom:0}.student-detail-timeline-item:before{content:"";position:absolute;left:5px;top:10px;bottom:-6px;width:2px;background:var(--color-border-tertiary);border-radius:1px}.student-detail-timeline-item:last-child:before{bottom:auto;height:0}.student-detail-timeline-dot{flex-shrink:0;width:12px;height:12px;margin-top:4px;border-radius:50%;background:var(--color-primary);border:2px solid var(--surface-0);z-index:1}.student-detail-timeline-body{min-width:0;flex:1;background:var(--color-background-secondary);border-radius:12px;padding:10px 12px}.student-detail-timeline-when{display:block;font-size:11px;font-weight:500;color:var(--color-text-tertiary);letter-spacing:.02em;margin-bottom:4px}.student-detail-timeline-text{margin:0;font-size:13px;line-height:1.45;color:var(--color-text-primary)}.modal-student-detail .student-detail-gelisim-panel .student-detail-section--gelisim-intro .student-detail-section-lead{margin:0;font-size:13px;font-weight:400;line-height:1.45;color:var(--color-text-secondary)}.student-detail-gelisim-snap-grid{display:grid;gap:12px 16px;grid-template-columns:repeat(2,minmax(0,1fr));margin:12px 0 0}@media(max-width:560px){.student-detail-gelisim-snap-grid{grid-template-columns:1fr}}.student-detail-gelisim-snap-cell{min-width:0}.student-detail-gelisim-snap-cell dt{font-size:12px;color:var(--color-text-secondary);margin-bottom:4px;font-weight:400}.student-detail-gelisim-snap-cell dd{margin:0;font-size:14px;font-weight:500;color:var(--color-text-primary)}.student-detail-section-hint--flush{margin-top:6px}.modal-student-detail .student-detail-gelisim-panel>.student-detail-section--divider-top{border-top:.5px solid var(--color-border-tertiary);padding-top:1.25rem}.student-detail-readonly-badge{display:inline-block;margin-bottom:6px;font-size:10px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary)}.student-detail-gelisim-notes-readonly{margin-top:10px;background:var(--color-background-secondary);border:.5px solid var(--color-border-tertiary);border-radius:12px;padding:12px 14px}.student-detail-gelisim-notes-preview-text{margin:0;font-size:13px;line-height:1.45;color:var(--color-text-primary);white-space:pre-wrap;word-break:break-word}.student-detail-gelisim-att-legend{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:10px;font-size:12px;color:var(--color-text-secondary)}.student-detail-gelisim-att-swatch{display:inline-block;width:10px;height:10px;margin-right:6px;border-radius:4px;vertical-align:middle;border:.5px solid var(--color-border-tertiary)}.student-detail-gelisim-att-swatch--ok{background:var(--color-success-soft)}.student-detail-gelisim-att-swatch--no{background:var(--color-danger-soft)}.student-detail-gelisim-att-swatch--ex{background:var(--color-info-soft)}.student-detail-gelisim-att-swatch--un{background:var(--color-background-secondary)}.student-detail-gelisim-att-chart{display:flex;flex-wrap:nowrap;gap:14px;margin-top:12px;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}.student-detail-gelisim-att-col{flex:0 0 auto;width:112px}.student-detail-gelisim-att-col-label{margin-bottom:8px;font-size:11px;font-weight:500;color:var(--color-text-tertiary);text-transform:capitalize}.student-detail-gelisim-att-bar{display:flex;width:100%;height:10px;overflow:hidden;border:.5px solid var(--color-border-tertiary);border-radius:6px;background:var(--surface-0)}.student-detail-gelisim-att-seg{flex-grow:1;flex-basis:0;min-width:2px}.student-detail-gelisim-att-seg--ok{background:var(--color-success-soft)}.student-detail-gelisim-att-seg--no{background:var(--color-danger-soft)}.student-detail-gelisim-att-seg--ex{background:var(--color-info-soft)}.student-detail-gelisim-att-seg--un{background:var(--color-background-secondary)}.student-detail-gelisim-att-pct{margin-top:6px;font-size:11px;color:var(--color-text-secondary)}.student-detail-gelisim-att-pct-num{font-weight:500;font-variant-numeric:tabular-nums;color:var(--color-text-primary)}.student-detail-gelisim-att-empty{margin:8px 0 0;font-size:12px}.modal-student-detail .student-detail-progress-card{min-width:0;flex:1;padding:10px 12px;border:.5px solid var(--color-border-tertiary);border-radius:12px;background:var(--color-background-secondary)}.student-detail-progress-item-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 12px;margin-bottom:6px}.student-detail-progress-item-head .student-detail-timeline-when{margin-bottom:0}.student-detail-progress-pill{flex-shrink:0}.modal-student-detail .student-detail-gelisim-feed .student-detail-progress-dot.student-detail-progress-dot--group{background:var(--color-info)}.modal-student-detail .student-detail-gelisim-feed .student-detail-progress-dot.student-detail-progress-dot--notes{background:var(--color-warning)}.modal-student-detail .student-detail-gelisim-feed .student-detail-progress-dot.student-detail-progress-dot--manual{background:var(--color-primary)}.modal-student-detail .student-detail-gelisim-feed .student-detail-progress-dot.student-detail-progress-dot--system{background:var(--color-text-tertiary)}.student-detail-gelisim-add-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:10px}@media(max-width:720px){.student-detail-header-main{flex-direction:column;align-items:stretch;justify-content:flex-start}.student-detail-hero-revamp{flex:0 1 auto}.student-detail-header-actions--toolbar{justify-content:stretch}.student-detail-header-actions--toolbar .student-detail-btn{flex:1 1 auto;justify-content:center}.student-detail-summary-grid{grid-template-columns:1fr}.student-detail-dl-row{grid-template-columns:100px minmax(0,1fr)}.student-detail-grouplog-item{flex-direction:column;gap:2px}.student-detail-grouplog-when{min-width:0}}.dashboard-student-search-card{position:relative;margin-bottom:16px}.dashboard-student-search-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}.dashboard-student-search-hint{margin:4px 0 0;font-size:12px;color:var(--color-text-secondary);line-height:1.45}.dashboard-student-search-field{position:relative}.dashboard-student-search-input{width:100%;padding:10px 14px;border-radius:var(--border-radius-lg);border:1px solid var(--color-border-secondary);background:var(--color-background-primary);font-size:14px;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.dashboard-student-search-input[type=search]::-webkit-search-decoration,.dashboard-student-search-input[type=search]::-webkit-search-cancel-button,.dashboard-student-search-input[type=search]::-webkit-search-results-button,.dashboard-student-search-input[type=search]::-webkit-search-results-decoration{display:none}.dashboard-student-search-input:focus{border-color:var(--color-blue-500, #3b82f6);box-shadow:0 0 0 3px #3b82f626}.dashboard-student-search-input.dashboard-student-search-input--with-icon:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f12e}.dashboard-student-search-list{list-style:none;margin:6px 0 0;padding:4px;max-height:320px;overflow-y:auto;border:1px solid var(--color-border-tertiary);border-radius:var(--border-radius-lg);background:var(--color-background-primary);box-shadow:0 12px 40px -12px #0f172a2e,0 4px 16px #0f172a0f;animation:dashboard-search-dropdown-in .22s ease both}@keyframes dashboard-search-dropdown-in{0%{opacity:0;transform:translateY(-6px) scale(.99)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.dashboard-student-search-list{animation:none}}.dashboard-student-search-empty{padding:12px;font-size:13px;color:var(--color-text-tertiary);text-align:center}.dashboard-student-search-option{display:flex;justify-content:flex-start;align-items:flex-start;gap:12px;width:100%;background:transparent;border:none;border-radius:var(--radius-xl);padding:10px 12px;cursor:pointer;text-align:left;color:inherit;font:inherit}.dashboard-student-search-option:hover:not(.dashboard-student-search-option-v2),.dashboard-student-search-option.is-active:not(.dashboard-student-search-option-v2){background:var(--color-background-secondary)}.dashboard-student-search-option-main{display:flex;flex-direction:column;flex:1;min-width:0;align-items:flex-start;text-align:left}.dashboard-student-search-option-sub{font-size:12px;color:var(--color-text-secondary);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-student-search-option-tags{display:flex;gap:6px;flex-shrink:0;margin-left:auto}.modal-header{flex-shrink:0;padding:20px 20px 0}.modal-header h3{font-size:15px;font-weight:600;margin:0 0 14px;line-height:1.3}.modal-trial-appt .modal-body{padding-top:2px}.modal-trial-appt-callout{margin-bottom:16px}.modal-trial-appt-callout .modal-trial-appt-callout-text{margin:0;font-size:12px;line-height:1.5;color:var(--color-text-secondary)}.modal-trial-appt-section{margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--color-border-tertiary)}.modal-trial-appt-section:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.modal-trial-appt-section-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-tertiary);margin:0 0 10px}.modal-trial-appt-datetime{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start;margin-bottom:10px}.modal-trial-appt-datetime .form-row{margin-bottom:0;min-width:0}.modal-trial-appt-datetime .select-input{min-width:0}@media(max-width:460px){.modal-trial-appt-datetime{grid-template-columns:1fr}}.modal-trial-appt textarea.select-input{line-height:1.45;font-family:inherit}.modal-body{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;padding:0 20px 12px;-webkit-overflow-scrolling:touch}.modal>.form-actions{flex-shrink:0;margin-top:0;padding:14px 20px calc(20px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--color-border-tertiary);background:var(--color-background-primary);box-shadow:0 -8px 24px #0000000f;gap:10px}.collect-confirm-modal{max-width:400px}.collect-confirm-header h3{margin-bottom:6px}.collect-confirm-intro{margin:0;font-size:12px;line-height:1.45;color:var(--color-text-secondary)}.collect-confirm-body{padding-top:4px}.collect-confirm-summary{border:1px solid var(--color-border-tertiary);border-radius:var(--border-radius-md);background:var(--color-background-secondary);padding:4px 12px;margin-bottom:14px}.collect-confirm-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:8px 0;border-bottom:.5px solid var(--color-border-tertiary);font-size:12px}.collect-confirm-k{flex-shrink:0;max-width:42%;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-tertiary);line-height:1.35;padding-top:1px}.collect-confirm-v{text-align:right;font-weight:500;color:var(--color-text-primary);line-height:1.4;word-break:break-word}.collect-confirm-row--amount{border-bottom:none;padding-top:10px;margin-top:4px;border-top:1px solid var(--color-border-tertiary);align-items:center}.collect-confirm-row--amount .collect-confirm-k{padding-top:0}.collect-confirm-amount{font-size:17px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--color-text-primary)}.collect-paid-date-field{margin-bottom:16px}.collect-paid-date-label{display:block;font-size:11px;font-weight:600;color:var(--color-text-secondary);margin-bottom:4px}.collect-paid-date-hint{margin:0 0 8px;font-size:11px;line-height:1.35;color:var(--color-text-tertiary)}.collect-paid-date-input{width:100%;box-sizing:border-box;padding:8px 10px;font-size:13px;font-family:inherit;border-radius:var(--border-radius-md);border:1px solid var(--color-border-secondary);background:var(--color-background-primary);color:var(--color-text-primary)}.collect-paid-date-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px #0d948829}.collect-method-label{margin:0 0 8px;font-size:11px;font-weight:600;color:var(--color-text-secondary)}.collect-method-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}@media(max-width:380px){.collect-method-grid{grid-template-columns:1fr}}.collect-method-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:56px;padding:10px 11px;margin:0;border-radius:var(--border-radius-md);border:1px solid var(--color-border-secondary);background:var(--color-background-primary);cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.collect-method-card:hover{border-color:color-mix(in srgb,var(--color-accent, #639922) 38%,var(--color-border-secondary))}.collect-method-card.is-selected{border-color:var(--color-accent, #639922);background:color-mix(in srgb,var(--color-accent, #639922) 10%,var(--color-background-primary));box-shadow:0 0 0 1px color-mix(in srgb,var(--color-accent, #639922) 25%,transparent)}.collect-method-card:has(.collect-method-input:focus-visible){outline:2px solid var(--color-accent, #639922);outline-offset:2px}.collect-method-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.collect-method-title{font-size:12px;font-weight:600;color:var(--color-text-primary);line-height:1.3}.collect-method-hint{font-size:10px;color:var(--color-text-tertiary);line-height:1.25}.modal.modal-wide.payment-form-modal{width:min(980px,calc(100vw - 24px));max-width:min(980px,calc(100vw - 24px));max-height:min(94vh,920px);height:auto}.modal.payment-form-modal>.payment-form-modal-header{padding-bottom:12px;border-bottom:.5px solid var(--color-border-tertiary)}.payment-form-modal-header:has(.payment-form-modal-subtitle) h3{margin-bottom:4px}.payment-form-modal-header h3{margin:0 0 10px;font-size:17px;font-weight:500;line-height:1.35;letter-spacing:-.01em;color:var(--color-text-primary)}.payment-form-modal-subtitle{margin:0;padding-bottom:12px;font-size:13px;line-height:1.45;color:var(--color-text-secondary)}.payment-form-modal-shell{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}@media(min-width:720px){.payment-form-modal-shell{flex-direction:row;align-items:stretch}}.payment-form-modal-main{flex:1 1 auto;min-width:0;min-height:0;display:flex;flex-direction:column}@media(min-width:720px){.payment-form-modal-main{flex:1 1 0%;border-right:.5px solid var(--color-border-tertiary)}}.payment-form-modal-scroll{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:4px 20px 20px}@media(max-width:719px){.payment-form-modal-scroll{max-height:min(58vh,560px)}}.payment-form-modal-aside{flex-shrink:0;background:var(--color-background-secondary);border-top:.5px solid var(--color-border-tertiary)}@media(min-width:720px){.payment-form-modal-aside{width:288px;flex:0 0 288px;border-top:none;background:var(--color-background-primary);display:flex;flex-direction:column;min-height:0}}.payment-form-modal-aside-inner{box-sizing:border-box;display:flex;flex-direction:column;gap:1rem;padding:12px 16px 18px;min-height:0}@media(min-width:720px){.payment-form-modal-aside-inner{position:sticky;top:0;align-self:stretch;flex:1 1 auto;width:100%;max-height:none;overflow:hidden}.payment-form-modal-aside-inner>.payment-form-summary-kicker{flex-shrink:0}.payment-form-modal-aside-inner>.payment-form-summary-dl{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.payment-form-modal-aside-inner>.payment-form-modal-aside-actions{flex-shrink:0}}@media(max-width:719px){.payment-form-modal-aside-inner{overflow:hidden}.payment-form-modal-aside-inner>.payment-form-summary-kicker{flex-shrink:0}.payment-form-modal-aside-inner>.payment-form-summary-dl{flex:0 1 auto;max-height:min(38vh,360px);min-height:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.payment-form-modal-aside-inner>.payment-form-modal-aside-actions{flex-shrink:0}}.payment-form-summary-kicker{margin:0;font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary)}.payment-form-summary-dl{margin:0;padding:0}.payment-form-summary-row{padding-top:.85rem;margin:0;border-top:.5px solid var(--color-border-tertiary)}.payment-form-summary-row:first-of-type{border-top:none;padding-top:4px}.payment-form-summary-row--wrap .payment-form-summary-dd{word-break:break-word}.payment-form-summary-dd--clamp{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.payment-form-summary-row--amount{padding-top:1rem}.payment-form-summary-dt{margin:0 0 4px;font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary)}.payment-form-summary-dd{margin:0;font-size:13px;line-height:1.42;color:var(--color-text-primary)}.payment-form-summary-strong{display:block;font-weight:500;font-size:14px;color:var(--color-text-primary)}.payment-form-summary-meta{display:block;margin-top:2px;font-size:12px;line-height:1.35;color:var(--color-text-secondary)}.payment-form-summary-muted{color:var(--color-text-tertiary)}.payment-form-summary-amount{margin:0;font-size:16px;font-weight:500;font-variant-numeric:tabular-nums;color:var(--color-success)}.payment-form-modal-aside-actions{display:flex;flex-direction:column;gap:10px;padding-top:1.25rem;margin-top:0;border-top:.5px solid var(--color-border-tertiary)}.payment-form-submit-btn{width:100%;box-sizing:border-box;min-height:36px;padding:0 14px;border:none;border-radius:8px;font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;background:var(--color-primary);color:var(--color-primary-foreground);transition:background .15s ease,transform .1s ease,opacity .15s ease}.payment-form-submit-btn:hover:not(:disabled){background:var(--color-primary-hover)}.payment-form-submit-btn:active:not(:disabled){transform:scale(.98)}.payment-form-submit-btn:disabled{opacity:.46;cursor:not-allowed}.payment-form-cancel-btn{width:100%;box-sizing:border-box;min-height:36px;border-radius:8px;font-family:inherit;font-weight:500;font-size:13px;border:.5px solid var(--color-border-secondary);background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .1s ease}.payment-form-cancel-btn:hover:not(:disabled){background:var(--color-background-secondary);border-color:var(--color-border-secondary)}.payment-form-cancel-btn:active:not(:disabled){transform:scale(.98)}.payment-form-cancel-btn:disabled{opacity:.42}.payment-form-setup-callout-btn{background:var(--color-primary);color:var(--color-primary-foreground);border:none;font-weight:500}.payment-form-setup-callout-btn:hover:not(:disabled){background:var(--color-primary-hover)}.payment-form-modal .form-row{margin-bottom:12px}.payment-form-after-section-label{margin-bottom:10px!important}.payment-form-modal .form-row>label{font-size:12px;font-weight:400;margin-bottom:4px;color:var(--color-text-secondary)}.payment-form-modal .form-hint{margin:0 0 6px;font-size:12px;line-height:1.4;color:var(--color-text-tertiary)}.payment-form-intro{margin:0 0 14px;padding:10px 12px;font-size:13px;line-height:1.52;color:var(--color-info-foreground);background:var(--color-info-soft);border:.5px solid color-mix(in srgb,var(--color-info) 24%,var(--color-border-tertiary));border-radius:12px}.payment-form-intro-em{font-weight:500;color:var(--color-text-primary)}.payment-form-intro-lead{margin:0}.payment-form-modal-section-divider{margin:0 0 12px;padding-top:1.25rem;border-top:.5px solid var(--color-border-tertiary)}.payment-form-modal-section-divider--first{padding-top:6px;margin-bottom:0;border-top:none}.payment-form-modal-section-divider--tight-after-label{padding-bottom:2px}.payment-form-modal-section-divider.payment-form-modal-section-divider--first .payment-form-section-label{margin-bottom:8px}.payment-form-modal-section-divider:not(.payment-form-modal-section-divider--first)>label{display:block;margin-bottom:4px;font-size:12px;font-weight:400;color:var(--color-text-secondary)}.payment-form-modal-section-divider.form-row-error-wrap>label{color:inherit}.payment-form-section-label{margin:0;padding:0;font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary)}.payment-form-kind-row{margin:0 0 14px}.payment-form-modal .payment-kind-grid{display:grid;gap:10px;grid-template-columns:minmax(0,1fr)}@media(min-width:520px){.payment-form-modal .payment-kind-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.payment-form-modal .payment-kind-card{position:relative;box-sizing:border-box;width:100%;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-height:72px;padding:12px 12px 12px 14px;margin:0;border-radius:12px;border:.5px solid var(--color-border-tertiary);background:var(--color-background-primary);cursor:pointer;text-align:left;transition:border-color .15s ease,background .15s ease,transform .1s ease}.payment-form-modal .payment-kind-card:hover{border-color:var(--color-border-secondary);background:var(--color-background-secondary)}.payment-form-modal .payment-kind-card:active{transform:scale(.98)}.payment-form-modal .payment-kind-card.is-selected{border:1.5px solid var(--color-primary);background:color-mix(in srgb,var(--color-primary) 8%,var(--color-background-primary))}.payment-form-modal .payment-kind-card.is-selected:after{content:"";position:absolute;top:11px;right:11px;width:18px;height:18px;border-radius:50%;background:var(--color-primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M3.5 8.2 6.4 11l6.1-6.1' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 12px 12px no-repeat}.payment-form-modal .payment-kind-card:has(.collect-method-input:focus-visible){outline:2px solid var(--color-primary-ring);outline-offset:2px}.payment-form-modal .payment-kind-title{display:block;width:100%;padding-right:24px;font-size:14px;font-weight:500;line-height:1.35;color:var(--color-text-primary)}.payment-form-modal .payment-kind-hint{display:block;width:100%;font-size:12px;font-weight:400;line-height:1.42;color:var(--color-text-secondary)}.payment-form-modal .payment-form-month-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px}.payment-form-modal .payment-form-month-row .select-input{flex:1 1 140px;min-width:0}.payment-form-modal .payment-form-month-sep{font-size:14px;font-weight:500;color:var(--color-text-secondary)}.payment-form-grid-twocol{display:grid;gap:12px;align-items:start;margin-bottom:12px}@media(min-width:520px){.payment-form-grid-twocol{grid-template-columns:repeat(2,minmax(0,1fr))}}.payment-form-select-full,.payment-form-input-full{width:100%}.payment-form-modal .select-input,.payment-form-modal input.select-input{border-radius:8px;border:.5px solid var(--color-border-secondary);font-family:inherit;font-size:14px;padding:0 11px;min-height:36px;line-height:1.34;box-sizing:border-box;background:var(--color-background-primary);color:var(--color-text-primary)}.payment-form-modal-paid-block{margin-top:4px;margin-bottom:2px}.payment-form-paid-panel{padding:12px;border-radius:12px;border:.5px solid var(--color-border-tertiary);background:var(--color-background-secondary)}.payment-form-paid-panel-heading{margin:0 0 6px;font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary)}.payment-form-paid-panel-lead{margin:0 0 12px;font-size:12px;line-height:1.42;color:var(--color-text-secondary)}.payment-form-paid-iban-block{margin-top:12px}.payment-form-paid-iban-gap{display:block;margin-top:10px}.payment-form-paid-iban-info{margin:0 0 8px;font-size:12px;line-height:1.42;color:var(--color-text-secondary)}.payment-form-modal .collect-method-grid{gap:10px}.payment-form-modal .collect-method-card{min-height:56px;padding:10px;margin:0;border-radius:8px;border:.5px solid var(--color-border-secondary);background:var(--color-background-primary);transition:border-color .15s ease,background .15s ease}.payment-form-modal .collect-method-card:hover{border-color:var(--color-border-secondary);background:var(--color-background-secondary)}.payment-form-modal .collect-method-card.is-selected{border:1.5px solid var(--color-primary);background:color-mix(in srgb,var(--color-primary) 6%,var(--color-background-primary))}.payment-form-modal .collect-method-card:has(.collect-method-input:focus-visible){outline:2px solid var(--color-primary-ring);outline-offset:2px}.payment-form-modal .collect-method-title{font-size:13px;font-weight:500}.payment-form-modal .collect-method-hint{font-size:11px}.payment-form-modal .collect-method-label{font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary);margin:14px 0 8px}.payment-form-modal .collect-paid-date-field{margin-bottom:12px}.payment-form-modal .collect-paid-date-label{margin-bottom:4px;font-size:12px;font-weight:400;color:var(--color-text-secondary)}.payment-form-modal .collect-paid-date-hint{margin:0 0 6px;font-size:12px}.payment-form-modal .collect-paid-date-input{min-height:36px;padding:0 11px;font-size:14px;border-radius:8px;border:.5px solid var(--color-border-secondary)}.payment-form-modal .collect-paid-date-input:focus{outline:none;border-color:var(--color-primary)}.payment-form-modal .modal-setup-callout-title{font-size:13px;font-weight:500}.payment-form-modal .modal-setup-callout-text{font-size:12px;line-height:1.42}.collect-confirm-actions .btn-collect-confirm{background:var(--color-accent, #639922);color:#fff;border-color:color-mix(in srgb,var(--color-accent, #639922) 70%,#000);font-weight:600}.collect-confirm-actions .btn-collect-confirm:hover:not(:disabled){background:color-mix(in srgb,var(--color-accent, #639922) 88%,#000);filter:none}.collect-confirm-actions .btn-collect-confirm:disabled{opacity:.55}.monthly-inv-open-btn{border-color:color-mix(in srgb,var(--color-accent, #639922) 35%,var(--color-border-secondary));color:color-mix(in srgb,var(--color-accent, #639922) 90%,var(--color-text-primary))}.monthly-inv-open-btn:hover{background:color-mix(in srgb,var(--color-accent, #639922) 8%,var(--color-background-primary))}.modal-monthly-invoice{max-width:720px;max-height:min(92vh,880px)}.monthly-inv-intro{margin:0;font-size:12px;line-height:1.45;color:var(--color-text-secondary)}.monthly-inv-body{padding-top:4px}.monthly-inv-toolbar{display:flex;flex-direction:column;gap:12px;margin-bottom:12px}.monthly-inv-month-bar{max-width:100%}.monthly-inv-filters{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:flex-end}.monthly-inv-filter label{display:block;font-size:11px;font-weight:600;color:var(--color-text-secondary);margin-bottom:4px}.monthly-inv-select{min-width:200px}.monthly-inv-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.monthly-inv-summary{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:13px;color:var(--color-text-secondary);margin-bottom:10px}.monthly-inv-summary strong{color:var(--color-text-primary);font-weight:600}.monthly-inv-summary-sep{color:var(--color-text-tertiary)}.monthly-inv-loading{font-size:12px;color:var(--color-text-tertiary)}.monthly-inv-table-wrap{border:1px solid var(--color-border-tertiary);border-radius:var(--border-radius-md);overflow:auto;max-height:min(48vh,420px);-webkit-overflow-scrolling:touch}.monthly-inv-table{margin:0;font-size:12px}.monthly-inv-table th,.monthly-inv-table td{white-space:nowrap}.monthly-inv-table td:nth-child(7){white-space:normal;max-width:200px}.monthly-inv-col-amt{text-align:right!important;font-variant-numeric:tabular-nums}.monthly-inv-empty{text-align:center;color:var(--color-text-tertiary);padding:20px 12px!important}.monthly-inv-extra-title{color:var(--color-text-tertiary);font-size:11px}.monthly-inv-table tfoot .monthly-inv-tfoot-row td{border-top:2px solid var(--color-border-secondary);padding-top:12px;padding-bottom:10px;font-weight:700;font-size:13px;color:var(--color-text-primary);background:var(--color-background-secondary)}.monthly-inv-table tfoot .monthly-inv-tfoot-row td:first-child{text-align:left}.form-row{margin-bottom:10px}.form-row label{display:block;font-size:11px;color:var(--color-text-secondary);margin-bottom:4px}.payment-form-modal label.payment-kind-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-bottom:0;font-size:14px;font-weight:400;color:var(--color-text-primary)}.form-row-error label{color:#b42318}.form-hint{font-size:11px;color:var(--color-text-tertiary);margin:0 0 6px;line-height:1.35}.form-error-banner{font-size:12px;color:#b42318;background:#fef3f2;border:1px solid #fecdca;border-radius:var(--border-radius-md);padding:10px 12px;margin-bottom:12px;line-height:1.4}.form-field-error{font-size:11px;color:#b42318;margin:4px 0 0;line-height:1.35}.select-input-invalid,.select-input.select-input-invalid{border-color:#e24b4a!important;box-shadow:0 0 0 1px #e24b4a33}.parent-combobox-wrap{border:1px solid var(--color-border-tertiary);border-radius:var(--border-radius-lg);background:var(--color-background-secondary);padding:12px}.parent-combobox-wrap--error{border-color:#e24b4a;box-shadow:0 0 0 1px #e24b4a26}.parent-combobox-wrap--disabled{opacity:.65;pointer-events:none}.geo-combobox{position:relative;width:100%}.geo-combobox--disabled{opacity:.65;pointer-events:none}.geo-combobox-field{position:relative;width:100%}.geo-combobox-input{width:100%;box-sizing:border-box;font-size:13px}.geo-combobox-input--has-clear{padding-right:32px}.geo-combobox-clear{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:28px;height:28px;display:flex;align-items:center;justify-content:center;margin:0;padding:0;border:none;border-radius:var(--border-radius-sm, 2px);background:transparent;color:var(--color-text-tertiary);font-size:20px;line-height:1;cursor:pointer}.geo-combobox-clear:hover{color:var(--color-text-primary);background:var(--color-background-secondary)}.geo-combobox-list{list-style:none;position:absolute;left:0;right:0;z-index:50;margin:4px 0 0;padding:0;max-height:220px;overflow-y:auto;border-radius:var(--border-radius-md);border:1px solid var(--color-border-secondary);background:var(--color-background-primary);box-shadow:0 6px 20px #00000014}.geo-combobox-empty{padding:12px 10px;font-size:12px;color:var(--color-text-tertiary);text-align:center}.geo-combobox-option{display:block;width:100%;padding:8px 12px;border:none;border-bottom:1px solid var(--color-border-tertiary);background:transparent;cursor:pointer;text-align:left;font:inherit;font-size:13px;font-weight:500;color:var(--color-text-primary)}.geo-combobox-option:last-child{border-bottom:none}.geo-combobox-option:hover,.geo-combobox-option:focus-visible{background:var(--color-background-secondary);outline:none}.geo-combobox-option--selected{background:#3d872e14}.parent-combobox-search-row{display:flex;gap:8px;align-items:center}.parent-combobox-input{flex:1;min-width:0;font-size:13px}.parent-combobox-clear{flex-shrink:0;font-size:11px;padding:6px 10px}.parent-combobox-selected{font-size:11px;color:var(--color-text-secondary);margin-top:8px}.parent-combobox-list{list-style:none;margin:10px 0 0;padding:0;max-height:240px;overflow-y:auto;border-radius:var(--border-radius-md);border:1px solid var(--color-border-secondary);background:var(--color-background-primary)}.parent-combobox-empty{padding:14px 12px;font-size:12px;color:var(--color-text-tertiary);text-align:center}.parent-combobox-option{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:10px 12px;border:none;border-bottom:1px solid var(--color-border-tertiary);background:transparent;cursor:pointer;text-align:left;font:inherit;color:var(--color-text-primary)}.parent-combobox-option:last-child{border-bottom:none}.parent-combobox-option:hover,.parent-combobox-option:focus-visible{background:var(--color-background-secondary);outline:none}.parent-combobox-option--selected{background:#3d872e14}.parent-combobox-option-name{font-size:13px;font-weight:600}.parent-combobox-option-meta{font-size:11px;color:var(--color-text-tertiary);word-break:break-word}.teacher-pick-wrap{border:1px solid var(--color-border-tertiary);border-radius:var(--border-radius-lg);background:var(--color-background-secondary);padding:12px}.teacher-pick-wrap--error{border-color:#e24b4a;box-shadow:0 0 0 1px #e24b4a26}.teacher-pick-search-row{display:flex;gap:8px;align-items:center;margin-bottom:10px}.teacher-pick-search{flex:1;min-width:0;font-size:13px}.teacher-pick-clear{flex-shrink:0;font-size:11px;padding:6px 10px}.teacher-pick-summary{margin-bottom:12px}.teacher-pick-count{display:block;font-size:11px;font-weight:500;color:var(--color-text-secondary);margin-bottom:8px}.teacher-pick-chips{display:flex;flex-wrap:wrap;gap:6px}.teacher-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 6px 4px 4px;background:var(--color-background-primary);border:1px solid #c5d9a8;border-radius:999px;font-size:12px;max-width:100%}.teacher-chip-avatar{width:22px;height:22px;border-radius:50%;background:linear-gradient(145deg,#eaf3de,#d4e8bc);color:#3b6d11;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.teacher-chip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:140px;color:var(--color-text-primary)}.teacher-chip-remove{border:none;background:transparent;color:var(--color-text-tertiary);cursor:pointer;font-size:16px;line-height:1;padding:0 2px;border-radius:var(--border-radius-md);flex-shrink:0}.teacher-chip-remove:hover{color:#b42318;background:#b4231814}.teacher-pick-empty-hint{font-size:11px;color:var(--color-text-tertiary);margin:0 0 10px;font-style:italic}.teacher-pick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px;max-height:220px;overflow-y:auto;padding:2px}.teacher-pick-no-match{grid-column:1 / -1;font-size:12px;color:var(--color-text-tertiary);text-align:center;padding:16px 8px;margin:0}.teacher-tile{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 8px 8px;border:1.5px solid var(--color-border-secondary);border-radius:var(--border-radius-md);background:var(--color-background-primary);cursor:pointer;font-family:inherit;text-align:center;transition:border-color .12s,background .12s,box-shadow .12s}.teacher-tile:hover{border-color:#a8c97a;background:#fafcf7}.teacher-tile--selected{border-color:#639922;background:linear-gradient(180deg,#f4f9ec,#fff);box-shadow:0 0 0 1px #6399221f}.teacher-tile-check{position:absolute;top:4px;right:5px;width:16px;height:16px;font-size:11px;font-weight:700;color:#639922;line-height:16px}.teacher-tile-avatar{width:40px;height:40px;border-radius:50%;background:var(--color-background-secondary);border:1px solid var(--color-border-tertiary);color:var(--color-text-secondary);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.teacher-tile--selected .teacher-tile-avatar{background:linear-gradient(145deg,#eaf3de,#dcecc4);border-color:#b8d68f;color:#3b6d11}.teacher-tile-name{font-size:11px;font-weight:500;color:var(--color-text-primary);line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.form-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.toast{position:fixed;bottom:20px;right:20px;background:#1a1a1e;color:#fff;padding:12px 16px;border-radius:var(--radius-xl);font-size:13px;z-index:200;max-width:360px;box-shadow:0 8px 24px #0003}.table-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.schedule-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.schedule-view-toggle{display:flex;gap:6px}.month-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.month-nav-label{font-size:13px;font-weight:500;min-width:140px;text-align:center}.pay-month-bar{display:flex;align-items:center;gap:0;background:var(--color-background-primary);border:.5px solid var(--color-border-secondary);border-radius:12px;padding:6px 8px;margin-bottom:20px;width:fit-content}.pay-month-arrow{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;border:.5px solid var(--color-border-secondary);background:var(--color-background-secondary);color:var(--color-text-primary);font-size:18px;font-weight:500;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .1s ease;flex-shrink:0;line-height:1}.pay-month-arrow:hover:not(:disabled){background:var(--color-success-soft);border-color:var(--color-success)}.pay-month-arrow:active:not(:disabled){transform:scale(.98)}.pay-month-arrow-disabled,.pay-month-arrow:disabled{opacity:.35;cursor:not-allowed}.pay-month-center{display:flex;align-items:center;gap:8px;padding:0 18px;min-width:180px;justify-content:center}.pay-month-label{font-size:16px;font-weight:500;color:var(--color-text-primary);letter-spacing:-.2px;text-transform:capitalize}.pay-month-badge{font-size:10px;font-weight:500;background:var(--color-success-soft);color:var(--color-success);border-radius:8px;padding:2px 8px;white-space:nowrap}.pay-month-today-btn{margin-left:10px;font-size:12px;font-weight:500;color:var(--color-success);background:transparent;border:.5px solid var(--color-border-secondary);border-radius:8px;padding:4px 10px;cursor:pointer;transition:background .15s ease,border-color .15s ease;white-space:nowrap}.pay-month-today-btn:hover{background:var(--color-background-secondary)}.pay-auto-recurring-hint{margin:6px 0 0;font-size:12px;line-height:1.45;color:var(--color-text-secondary);max-width:420px}.pay-table-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}.pay-header-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pay-search-input{min-width:180px;max-width:320px;flex:1 1 180px;padding:7px 10px;border:.5px solid var(--color-border-secondary);border-radius:var(--border-radius-md);font-size:12px;background:var(--color-background-primary);color:var(--color-text-primary);font-family:inherit}.pay-search-input::placeholder{color:var(--color-text-tertiary)}.pay-search-empty{text-align:center;padding:24px 12px;color:var(--color-text-secondary);font-size:13px}.pay-filter-tabs{display:flex;background:var(--color-background-secondary);border:.5px solid var(--color-border-secondary);border-radius:var(--radius-xl);padding:3px;gap:2px}.pay-filter-tab{padding:5px 14px;border-radius:8px;border:none;background:transparent;font-size:12px;font-weight:500;color:var(--color-text-secondary);cursor:pointer;transition:background .15s ease,color .15s ease;font-family:inherit;white-space:nowrap}.pay-filter-tab:hover:not(.active){background:var(--color-background-primary);color:var(--color-text-primary)}.pay-filter-tab.active{background:var(--color-background-primary);color:var(--color-text-primary);font-weight:500}.pay-filter-tab-danger.active{background:var(--color-danger-soft);color:var(--color-danger)}.pay-filter-tab-amber.active{background:var(--color-warning-soft);color:var(--color-warning-foreground)}.pay-action-group{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.pay-recurring-btn{border-color:var(--color-success);color:var(--color-success)}.pay-recurring-btn:hover{background:var(--color-success-soft);border-color:var(--color-success)}.pay-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:16px}.pay-page-loading-msg{margin:0;padding:1.25rem 12px;font-size:13px;color:var(--color-text-secondary)}.pay-list-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:12px;padding-bottom:12px}.pay-list-meta-primary{font-size:12px;color:var(--color-text-secondary)}.pay-list-meta-warn{font-size:12px;color:var(--color-warning-foreground)}.pay-list-card--loading{opacity:.72}.pay-search-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:180px;flex:1 1 200px}.pay-search-status{font-size:11px;color:var(--color-text-tertiary);white-space:nowrap}.pay-card-title{font-size:14px;font-weight:500}.pay-action-primary.pay-action-primary,.pay-action-secondary.pay-action-secondary{font-size:12px}.pay-kind-pill{font-size:9px}.pay-auto-pill{margin-left:4px;margin-top:4px;display:inline-block;font-size:9px;vertical-align:middle;background:var(--surface-muted);color:var(--color-text-secondary);border:.5px solid var(--color-border-tertiary)}.pay-student-primary{font-size:inherit;font-weight:500;color:var(--color-text-primary)}.pay-student-tags{margin-top:4px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.pay-kalem-secondary{font-size:12px;color:var(--color-text-secondary)}.pay-table-scroll{overflow-x:auto;margin:0 -1px}.pay-table.pay-table{margin-bottom:0}.pay-load-more-wrap{padding-top:1rem;border-top:.5px solid var(--color-border-tertiary);margin-top:1rem;display:flex;justify-content:center}.pay-load-more-btn{min-width:160px;min-height:36px}.pay-load-more-btn:disabled{cursor:not-allowed;opacity:.65}.pay-status-cell{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.pay-status-hint{font-size:11px;line-height:1.3;color:var(--color-text-tertiary)}.pay-status-hint--late{color:var(--color-warning-foreground);font-weight:500}.pay-actions-col{width:1%;white-space:nowrap}.pay-actions-cell{vertical-align:middle}.pay-actions-stack{display:flex;flex-direction:column;align-items:stretch;gap:8px;min-width:118px;max-width:148px}.pay-action-btn-main{font-size:12px;font-weight:600;padding:7px 10px;width:100%;justify-content:center}.pay-actions-secondary{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0 2px;line-height:1.4}.pay-action-link{background:none;border:none;padding:2px 3px;margin:0;cursor:pointer;color:var(--color-text-secondary);font-size:11px;text-decoration:underline;text-underline-offset:2px}.pay-action-link:hover{color:var(--color-text-primary)}.pay-action-link-danger{color:var(--color-text-tertiary)}.pay-action-link-danger:hover{color:#e24b4a}.pay-action-sep{color:var(--color-text-tertiary);font-size:11px;-webkit-user-select:none;user-select:none;padding:0 1px}.slot-rows{display:flex;flex-direction:column;gap:8px}.slot-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.slot-row .select-input{flex:1;min-width:120px}.group-card-actions{display:flex;gap:8px;margin-top:12px;padding-top:10px;border-top:.5px solid var(--color-border-tertiary)}.month-cal{min-width:280px}.month-cal-head{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;margin-bottom:4px}.month-cal-dow{text-align:center;font-size:10px;font-weight:600;color:var(--color-text-secondary);padding:4px}.month-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:var(--color-border-tertiary);border-radius:var(--border-radius-md);overflow:hidden}.month-cal-cell{background:var(--color-background-primary);min-height:88px;padding:6px 4px;font-size:10px}.month-cal-empty{background:var(--color-background-secondary);min-height:88px}.month-cal-today{box-shadow:inset 0 0 0 2px #639922}.month-cal-daynum{font-weight:600;color:var(--color-text-secondary);margin-bottom:4px}.month-cal-slots{display:flex;flex-direction:column;gap:3px}.month-slot{border-radius:var(--border-radius-md);padding:3px 4px;line-height:1.25;font-weight:500}.month-slot-time{font-weight:600;opacity:.85}.groups-page{max-width:1200px;margin:0 auto}.groups-page-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.groups-page-title{font-size:1.35rem;font-weight:700;letter-spacing:-.02em;color:var(--color-text-primary);margin:0 0 6px;line-height:1.2}.groups-page-subtitle{margin:0;font-size:13px;line-height:1.5;color:var(--color-text-secondary);max-width:52ch}.groups-page-subtitle strong{font-weight:600;color:var(--color-text-primary)}.groups-page-cta{flex-shrink:0;padding:10px 18px;font-weight:600;border-radius:var(--radius-xl);box-shadow:0 4px 14px -4px #10b98173}.groups-empty{text-align:center;padding:36px 28px 40px;border-radius:var(--radius-xl);border:1px dashed var(--color-border-secondary);background:linear-gradient(180deg,var(--color-background-primary) 0%,var(--color-background-tertiary) 100%);box-shadow:var(--shadow-elevated)}.groups-empty-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;margin-bottom:16px;border-radius:var(--radius-xl);background:linear-gradient(145deg,#e0e7ff,#fae8ff);color:var(--color-brand-violet)}.groups-empty-icon svg{width:28px;height:28px}.groups-empty-title{font-size:1.05rem;font-weight:600;margin:0 0 8px;color:var(--color-text-primary)}.groups-empty-text{font-size:13px;line-height:1.55;color:var(--color-text-secondary);max-width:42ch;margin:0 auto 20px}.groups-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px}.groups-grid .group-card.card{margin-bottom:0}.group-card{position:relative;overflow:hidden;padding:0;border-radius:var(--radius-xl);border:1px solid rgba(148,163,184,.22);box-shadow:0 2px 4px #0f172a0a,0 12px 28px -8px #0f172a1a;transition:box-shadow .2s ease,transform .2s ease}.group-card:hover{box-shadow:0 4px 8px #0f172a0f,0 20px 40px -12px #0f172a24;transform:translateY(-1px)}.group-card-accent{height:4px;width:100%}.group-card-top{display:flex;align-items:flex-start;gap:12px;padding:16px 16px 12px}.group-card-avatar{flex-shrink:0;width:44px;height:44px;border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;letter-spacing:.02em;color:#1e3a5f;background:linear-gradient(145deg,#dbeafe,#e0e7ff 55%,#f5f3ff);border:1px solid rgba(148,163,184,.28)}.group-card-heading{flex:1;min-width:0}.group-card-name{font-size:15px;font-weight:600;line-height:1.3;margin:0 0 6px;color:var(--color-text-primary);letter-spacing:-.01em}.group-card-chips{display:flex;flex-wrap:wrap;align-items:center;gap:4px;font-size:11px;color:var(--color-text-secondary)}.group-card-level{font-weight:500;color:var(--color-text-primary)}.group-card-dot{color:var(--color-text-tertiary);-webkit-user-select:none;user-select:none}.group-card-age{color:var(--color-text-secondary)}.group-card-top .pill{flex-shrink:0;align-self:flex-start;font-size:10px;font-weight:600;padding:4px 9px;border-radius:999px}.group-card-occblock{padding:0 16px 14px}.group-card-occ-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:8px}.group-card-occ-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-tertiary)}.group-card-occ-pct{font-size:18px;font-weight:700;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.group-card-occ-track{height:8px;border-radius:999px;background:var(--color-background-secondary);overflow:hidden;box-shadow:inset 0 1px 2px #0f172a0f}.group-card-occ-fill{height:100%;border-radius:999px;transition:width .35s ease}.group-card-occ-fill--muted{width:100%;background:repeating-linear-gradient(-45deg,var(--color-border-secondary),var(--color-border-secondary) 4px,var(--color-background-tertiary) 4px,var(--color-background-tertiary) 8px);opacity:.65}.group-card-occ-foot{margin-top:8px;font-size:12px;line-height:1.45;color:var(--color-text-secondary)}.group-card-occ-warn{color:#c2410c;font-weight:600}.group-card-occ-free{color:#15803d;font-weight:500}.group-card-occ-muted{color:var(--color-text-tertiary);font-weight:400}.group-card-facts{margin:0;padding:12px 16px;border-top:1px solid var(--color-border-tertiary);background:linear-gradient(180deg,rgba(248,250,252,.65) 0%,var(--color-background-primary) 100%)}.group-card-fact{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;padding:10px 0;border-bottom:1px solid var(--color-border-tertiary)}.group-card-fact:last-child{border-bottom:none;padding-bottom:0}.group-card-fact:first-child{padding-top:2px}.group-card-fact dt{display:flex;align-items:center;gap:8px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-tertiary)}.group-card-fact-icon{display:inline-flex;color:var(--color-text-secondary);opacity:.85}.group-card-fact-icon .nav-icon{width:14px;height:14px}.group-card-fact dd{margin:0;padding-left:22px;font-size:13px;font-weight:500;color:var(--color-text-primary);line-height:1.45;word-break:break-word}.group-card-fact--schedule dd{font-size:12px;font-weight:400;color:var(--color-text-secondary)}.group-card-actions.group-card-actions--revamp{flex-direction:column;align-items:stretch;gap:10px;margin-top:0;padding:14px 16px 16px;border-top:none}.group-card-action-primary{width:100%;justify-content:center;padding:10px 14px;font-weight:600;border-radius:var(--border-radius-md)}.group-card-action-row{display:flex;gap:8px;justify-content:stretch}.group-card-action-secondary{flex:1;font-size:12px;padding:8px 12px;border-radius:var(--border-radius-md)}@media(max-width:768px){.groups-page-header{flex-direction:column;align-items:stretch}.groups-page-cta{width:100%}.groups-grid{grid-template-columns:1fr}}.modal.modal-wide.modal-receipt{width:min(880px,calc(100vw - 24px));max-width:min(880px,calc(100vw - 24px));max-height:min(90vh,880px);height:auto}.modal.modal-receipt>.receipt-modal-header{padding-bottom:12px;border-bottom:.5px solid var(--color-border-tertiary)}.receipt-modal-header h3{margin:0 0 4px;font-size:17px;font-weight:500;line-height:1.35;letter-spacing:-.01em;color:var(--color-text-primary)}.receipt-modal-subtitle{margin:0;padding-bottom:12px;font-size:13px;line-height:1.45;color:var(--color-text-secondary);font-weight:400}.receipt-modal-subtitle--muted{color:var(--color-text-tertiary)}.receipt-modal-shell{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}@media(min-width:720px){.receipt-modal-shell{flex-direction:row;align-items:stretch}}.receipt-modal-main{flex:1 1 auto;min-width:0;min-height:0;display:flex;flex-direction:column}@media(min-width:720px){.receipt-modal-main{flex:1 1 0%;border-right:.5px solid var(--color-border-tertiary)}}.receipt-modal-scroll{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:4px 20px 20px}@media(max-width:719px){.receipt-modal-scroll{max-height:min(54vh,520px)}}.receipt-modal-aside{flex-shrink:0;background:var(--color-background-secondary);border-top:.5px solid var(--color-border-tertiary)}@media(min-width:720px){.receipt-modal-aside{width:258px;flex:0 0 258px;border-top:none;background:var(--color-background-primary)}}.receipt-modal-aside-inner{box-sizing:border-box;display:flex;flex-direction:column;gap:1rem;padding:12px 16px 18px}@media(min-width:720px){.receipt-modal-aside-inner{position:sticky;top:0;align-self:flex-start;width:100%;max-height:min(84vh,780px);overflow:auto}}.receipt-summary-kicker{margin:0;font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary)}.receipt-summary-dl{margin:0;padding:0}.receipt-summary-row{padding-top:.85rem;margin:0;border-top:.5px solid var(--color-border-tertiary)}.receipt-summary-row:first-of-type{border-top:none;padding-top:4px}.receipt-summary-row--wrap .receipt-summary-dd{word-break:break-word}.receipt-summary-row--amount{padding-top:1rem}.receipt-summary-dt{margin:0 0 4px;font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary)}.receipt-summary-dd{margin:0;font-size:13px;line-height:1.42;color:var(--color-text-primary)}.receipt-summary-dd--mono{font-variant-numeric:tabular-nums;letter-spacing:.02em}.receipt-summary-amount{margin:0;font-size:16px;font-weight:500;font-variant-numeric:tabular-nums;color:var(--color-success)}.receipt-modal-aside-actions{display:flex;flex-direction:column;gap:10px;padding-top:1.25rem;margin-top:0;border-top:.5px solid var(--color-border-tertiary)}.receipt-share-stack{margin-top:1.25rem;padding-top:1.25rem;border-top:.5px solid var(--color-border-tertiary);display:flex;flex-direction:column;gap:12px}.receipt-share-heading{margin:0;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-tertiary)}.receipt-action-panel{border:.5px solid var(--color-border-tertiary);border-radius:12px;background:var(--color-background-secondary);padding:12px 14px}.receipt-action-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.receipt-action-panel-title{font-size:13px;font-weight:500;color:var(--color-text-primary)}.receipt-action-panel-badge{flex-shrink:0;font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-tertiary);background:var(--color-background-primary);border:.5px solid var(--color-border-tertiary);padding:3px 8px;border-radius:8px}.receipt-action-panel-hint{margin:0 0 10px;font-size:12px;line-height:1.45;color:var(--color-text-secondary)}.receipt-action-input{width:100%}.receipt-action-primary{width:100%;margin-top:10px;font-weight:500}.receipt-modal-form-row{margin-bottom:12px}.receipt-modal-form-row>label{font-size:12px;font-weight:400;margin-bottom:4px;color:var(--color-text-secondary)}.receipt-whatsapp-actions--tight{margin-bottom:0}.receipt-wa-phone-line{margin:0 0 10px;font-size:12px;color:var(--color-text-secondary)}.receipt-wa-phone-value{font-weight:500;color:var(--color-text-primary)}.modal-issue-invoice{width:100%;max-width:min(920px,calc(100vw - 32px));max-height:min(92vh,900px);overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--color-border-tertiary);box-shadow:var(--shadow-modal-rich)}.modal-backdrop--issue-invoice{align-items:flex-start;padding-top:max(24px,env(safe-area-inset-top,0px))}.issue-invoice-shell{display:flex;flex-direction:column;flex:1;min-height:0;background:var(--color-background-primary)}.issue-invoice-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-border-tertiary);flex-shrink:0}.issue-invoice-kicker{margin:0 0 2px;font-size:11px;font-weight:500;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.06em}.issue-invoice-title{margin:0;font-size:15px;font-weight:500;color:var(--color-text-primary);line-height:1.35;word-break:break-word}.issue-invoice-topbar-right{display:flex;align-items:flex-start;gap:1.5rem;flex-shrink:0;margin-top:2px}.issue-invoice-topbar-meta{text-align:right}.issue-invoice-topbar-meta-label{display:block;font-size:11px;color:var(--color-text-tertiary);margin:0 0 2px}.issue-invoice-topbar-meta-value{display:block;font-size:15px;font-weight:500;color:var(--color-text-primary);font-variant-numeric:tabular-nums}.issue-invoice-close{flex-shrink:0;margin:0;padding:4px;line-height:1;background:none;border:none;border-radius:var(--border-radius-md);color:var(--color-text-tertiary);cursor:pointer;transition:color .15s ease,background .15s ease}.issue-invoice-close:hover{color:var(--color-text-primary);background:var(--color-background-secondary)}.issue-invoice-close .nav-icon{width:20px;height:20px;display:block}.issue-invoice-close:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.issue-invoice-alerts{padding:12px 1.5rem 0;flex-shrink:0}.issue-invoice-field-row .form-row{margin-bottom:0}.issue-invoice-main{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:0;flex:1;min-height:0;overflow-y:auto}.issue-invoice-form-col{padding:1.25rem 1.5rem;border-right:1px solid var(--color-border-tertiary);min-width:0}.issue-invoice-block{margin:0 0 1.25rem}.issue-invoice-block:last-child{margin-bottom:0}.issue-invoice-block--bordered{padding-top:1.25rem;margin-top:1.25rem;margin-bottom:0;border-top:1px solid var(--color-border-tertiary)}.issue-invoice-block-heading{margin:0 0 12px;font-size:11px;font-weight:500;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.06em}.issue-invoice-lead{margin:0 0 12px;font-size:12px;line-height:1.45;color:var(--color-text-secondary)}.issue-invoice-lead strong{font-weight:500;color:var(--color-text-primary)}.issue-invoice-field label{font-size:12px;color:var(--color-text-secondary);font-weight:400}.issue-invoice-field .select-input{font-size:13px}.issue-invoice-field-row{display:grid;gap:10px}.issue-invoice-field-row--2{grid-template-columns:1fr 1fr}.issue-invoice-field-row--money{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);margin-bottom:10px;align-items:start}.issue-invoice-field-row--money .issue-invoice-field .select-input,.issue-invoice-field-row--money .issue-invoice-field input.select-input{width:100%;min-width:0;box-sizing:border-box}.issue-invoice-desc-row{margin-top:2px}.issue-invoice-amount-primary label{font-weight:500}.issue-invoice-doc-no-wrap{position:relative}.issue-invoice-doc-no-wrap .issue-invoice-doc-no-input{width:100%;box-sizing:border-box;padding-right:4.75rem}.issue-invoice-doc-no-badge{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:10px;font-weight:500;color:var(--color-text-tertiary);text-transform:lowercase;pointer-events:none}.issue-invoice-input--derived{background:var(--color-background-secondary)!important;color:var(--color-text-secondary)}.issue-invoice-sidebar{padding:1.25rem;background:var(--color-background-secondary);display:flex;flex-direction:column;gap:0;min-height:0}.issue-invoice-sidebar-heading{margin:0 0 1rem;font-size:11px;font-weight:500;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.06em}.issue-invoice-sidebar-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--color-border-tertiary);font-size:13px}.issue-invoice-sidebar-row span:first-child{color:var(--color-text-secondary)}.issue-invoice-sidebar-row span:last-child{font-weight:500;color:var(--color-text-primary);font-variant-numeric:tabular-nums}.issue-invoice-sidebar-total{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0 0;margin-top:4px}.issue-invoice-sidebar-total span:first-child{font-size:14px;font-weight:500;color:var(--color-text-primary)}.issue-invoice-sidebar-total span:last-child{font-size:16px;font-weight:500;color:var(--color-success);font-variant-numeric:tabular-nums}.issue-invoice-sidebar-info{display:flex;align-items:flex-start;gap:8px;margin-top:.75rem;padding:10px;border-radius:var(--border-radius-md);background:var(--color-info-soft);border:1px solid rgba(37,99,235,.22)}.issue-invoice-sidebar-info .nav-icon{width:14px;height:14px;flex-shrink:0;margin-top:1px;color:var(--color-info)}.issue-invoice-sidebar-info p{margin:0;font-size:12px;line-height:1.5;color:var(--color-info-foreground)}.issue-invoice-sidebar-actions{margin-top:auto;padding-top:1.5rem;display:flex;flex-direction:column;gap:8px}.issue-invoice-btn{width:100%;padding:9px 12px;font-size:13px;font-weight:500;border-radius:var(--border-radius-md);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:background .15s ease,border-color .15s ease,opacity .15s ease}.issue-invoice-btn .nav-icon{width:14px;height:14px;flex-shrink:0}.issue-invoice-btn:disabled{opacity:.55;cursor:not-allowed}.issue-invoice-btn--primary{background:#0f6e56;color:#e1f5ee;border:none}.issue-invoice-btn--primary .nav-icon{color:inherit}.issue-invoice-btn--primary:hover:not(:disabled){background:#0c5a47}.issue-invoice-btn--ghost{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border-secondary)}.issue-invoice-btn--ghost:hover:not(:disabled){background:var(--color-background-primary);color:var(--color-text-primary)}.issue-invoice-profile-status{margin:0;font-size:12px;color:var(--color-text-secondary)}.issue-invoice-profile-banner{border-radius:var(--border-radius-md);padding:10px 12px;font-size:13px;line-height:1.4}.issue-invoice-profile-banner p{margin:0 0 8px}.issue-invoice-profile-banner--error{border:1px solid var(--color-border-secondary);background:#dc354514;color:var(--color-text-primary)}.issue-invoice-profile-banner--warning{border:1px solid var(--color-border-tertiary);background:var(--color-background-tertiary);color:var(--color-text-primary)}.issue-invoice-profile-missing-list{margin:0 0 10px 18px;padding:0;font-size:13px;color:var(--color-text-secondary)}.issue-invoice-profile-banner-actions{display:flex;flex-wrap:wrap;gap:8px}.issue-invoice-doc-no-input{cursor:default;background:var(--color-background-secondary);color:var(--color-text-secondary);font-variant-numeric:tabular-nums;letter-spacing:.02em}.issue-invoice-num-input{font-variant-numeric:tabular-nums;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.issue-invoice-num-input::-webkit-outer-spin-button,.issue-invoice-num-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}@media(max-width:720px){.issue-invoice-topbar{flex-wrap:wrap}.issue-invoice-topbar-right{width:100%;justify-content:flex-end;flex-wrap:wrap}.issue-invoice-main{grid-template-columns:1fr}.issue-invoice-form-col{border-right:none;border-bottom:1px solid var(--color-border-tertiary)}.issue-invoice-field-row--2,.issue-invoice-field-row--money{grid-template-columns:1fr}}.receipt-sheet{border:.5px solid var(--color-border-tertiary);border-radius:12px;padding:1.25rem 1.25rem 1.125rem;background:var(--color-background-primary);margin-bottom:0}.receipt-sheet-inner{font-size:13px;line-height:1.45;color:var(--color-text-primary)}.receipt-brand-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.receipt-brand{font-size:17px;font-weight:500;letter-spacing:-.02em;line-height:1.25}.receipt-doc-badge{flex-shrink:0;font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--color-success-foreground);background:var(--color-success-soft);padding:6px 10px;border-radius:8px;border:.5px solid color-mix(in srgb,var(--color-success) 22%,var(--color-border-tertiary))}.receipt-muted{font-size:12px;color:var(--color-text-secondary);margin-top:4px}.receipt-addr{margin-top:10px;white-space:pre-wrap}.receipt-contact-line{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:8px;font-size:12px;color:var(--color-text-secondary)}.receipt-meta-row{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:12px 20px;margin-top:1.25rem;padding-top:1.25rem;border-top:.5px dashed var(--color-border-secondary)}.receipt-meta-row>div{min-width:min(100%,120px);flex:1 1 120px}.receipt-meta-label{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-tertiary)}.receipt-meta-label--spaced{margin-top:10px}.receipt-meta-value{font-size:14px;font-weight:500;margin-top:2px}.receipt-party-block{margin-top:1.25rem;padding:12px 14px;background:var(--color-background-secondary);border-radius:12px;border:.5px solid var(--color-border-tertiary)}.receipt-party-name{font-weight:500;font-size:14px;margin-top:2px}.receipt-table{width:100%;border-collapse:collapse;font-size:13px;margin-top:1.25rem}.receipt-table th,.receipt-table td{padding:10px 8px;text-align:left;border-bottom:.5px solid var(--color-border-tertiary);vertical-align:top}.receipt-table th{font-size:11px;font-weight:500;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.06em}.receipt-col-amount{text-align:right!important;white-space:nowrap;width:28%}.receipt-table .receipt-total td{font-weight:500;font-size:15px;border-bottom:none;padding-top:12px;color:var(--color-text-primary)}.receipt-footer{margin:18px 0 0;font-size:12px;color:var(--color-text-secondary);text-align:center}.receipt-email-panel{margin-top:18px;padding-top:16px;border-top:.5px solid var(--color-border-tertiary)}.receipt-email-title{font-size:13px;font-weight:500;margin-bottom:4px}.receipt-checkbox-row{display:flex;align-items:flex-start;gap:8px;margin-top:10px;font-size:12px;line-height:1.4;cursor:pointer;color:var(--color-text-secondary)}.receipt-checkbox-row input{margin-top:2px;flex-shrink:0}.receipt-whatsapp-panel{margin-top:18px;padding-top:16px;border-top:.5px solid var(--color-border-tertiary)}.receipt-whatsapp-actions{display:flex;flex-wrap:wrap;gap:8px}.receipt-whatsapp-actions .btn{flex:1;min-width:140px}.guide-page{max-width:900px;margin:0 auto;padding-bottom:40px}.guide-hero{text-align:center;padding:48px 24px 40px;background:linear-gradient(170deg,#f4f9ec,#e6f1fb,#fafafa);border-radius:var(--border-radius-lg);margin-bottom:32px;border:.5px solid var(--color-border-tertiary)}.guide-hero-brand{width:64px;height:64px;margin:0 auto 14px;border-radius:var(--radius-xl);display:grid;place-items:center;background:#fff;border:1px solid #dce7f5;box-shadow:0 6px 18px #378add24}.guide-hero-badge{display:inline-block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:#4a7a1c;background:#eaf3de;padding:5px 14px;border-radius:var(--radius-xl);margin-bottom:16px}.guide-hero-title{font-size:28px;font-weight:700;line-height:1.3;color:var(--color-text-primary);margin:0 0 16px;letter-spacing:-.02em}.guide-hero-sub{font-size:15px;line-height:1.7;color:var(--color-text-secondary);max-width:600px;margin:0 auto}.guide-section{margin-bottom:36px}.guide-section-title{font-size:20px;font-weight:700;color:var(--color-text-primary);margin:0 0 10px;display:flex;align-items:center;gap:10px}.guide-section-icon{font-size:22px;line-height:1}.guide-section-desc{font-size:14px;color:var(--color-text-secondary);line-height:1.65;margin:0 0 20px}.guide-compare{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:700px){.guide-compare{grid-template-columns:1fr}}.guide-compare-col{border-radius:var(--border-radius-lg);border:.5px solid var(--color-border-tertiary);overflow:hidden}.guide-compare-header{padding:14px 16px;font-size:13px;font-weight:600;display:flex;align-items:center;gap:8px}.guide-compare-header--old{background:#fef3f2;color:#a32d2d;border-bottom:1px solid #fecdca}.guide-compare-header--new{background:#eaf3de;color:#3b6d11;border-bottom:1px solid #c5d9a8}.guide-compare-icon{font-size:18px;line-height:1}.guide-compare-list{list-style:none;padding:12px 16px;margin:0;font-size:13px;line-height:1.55;color:var(--color-text-primary);background:var(--color-background-primary)}.guide-compare-list li{padding:8px 0 8px 22px;position:relative;border-bottom:.5px solid var(--color-border-tertiary)}.guide-compare-list li:last-child{border-bottom:none}.guide-compare-old .guide-compare-list li:before{content:"✕";position:absolute;left:0;top:8px;font-size:12px;font-weight:700;color:#e24b4a}.guide-compare-new .guide-compare-list li:before{content:"✓";position:absolute;left:0;top:8px;font-size:13px;font-weight:700;color:#639922}.guide-value-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}@media(max-width:700px){.guide-value-grid{grid-template-columns:repeat(2,1fr)}}.guide-value-card{background:var(--color-background-primary);border:.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-lg);padding:20px 16px;text-align:center}.guide-value-card--green{border-top:3px solid #639922}.guide-value-card--blue{border-top:3px solid #378add}.guide-value-card--amber{border-top:3px solid #ef9f27}.guide-value-card--purple{border-top:3px solid #8b5cf6}.guide-value-number{font-size:32px;font-weight:800;color:var(--color-text-primary);line-height:1;margin-bottom:6px}.guide-value-label{font-size:12px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.guide-value-desc{font-size:12px;color:var(--color-text-tertiary);line-height:1.5}.guide-features{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}@media(max-width:700px){.guide-features{grid-template-columns:1fr}}.guide-feature{background:var(--color-background-primary);border:.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-lg);padding:20px 16px;transition:box-shadow .15s,border-color .15s}.guide-feature:hover{border-color:#c5d9a8;box-shadow:0 4px 16px #63992214}.guide-feature-icon{width:42px;height:42px;border-radius:var(--border-radius-lg);display:flex;align-items:center;justify-content:center;margin-bottom:12px}.guide-feature-title{font-size:14px;font-weight:600;color:var(--color-text-primary);margin:0 0 8px}.guide-feature-desc{font-size:12px;color:var(--color-text-secondary);line-height:1.6;margin:0}.guide-steps{position:relative;padding-left:36px}.guide-steps:before{content:"";position:absolute;left:15px;top:4px;bottom:4px;width:2px;background:linear-gradient(180deg,#639922,#378add,#ef9f27);border-radius:var(--border-radius-sm)}.guide-step{display:flex;gap:16px;margin-bottom:28px;position:relative}.guide-step:last-child{margin-bottom:0}.guide-step-number{position:absolute;left:-36px;width:30px;height:30px;border-radius:50%;background:#639922;color:#fff;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 6px #63992240;z-index:1}.guide-step-content{background:var(--color-background-primary);border:.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-lg);padding:16px 18px;flex:1}.guide-step-title{font-size:14px;font-weight:600;color:var(--color-text-primary);margin:0 0 8px}.guide-step-desc{font-size:13px;color:var(--color-text-secondary);line-height:1.65;margin:0}.guide-step-tip{margin-top:10px;padding:10px 12px;background:#fafcf7;border:1px solid #dcecc4;border-radius:var(--border-radius-md);font-size:12px;color:#3b6d11;line-height:1.55}.guide-footer{text-align:center;padding:32px 24px;background:linear-gradient(170deg,#eaf3de,#e6f1fb);border-radius:var(--border-radius-lg);border:.5px solid var(--color-border-tertiary);margin-top:8px}.guide-footer-text{font-size:15px;color:var(--color-text-primary);line-height:1.7;max-width:560px;margin:0 auto}@media print{.no-print{display:none!important}.modal-backdrop:has(.modal-receipt){position:static!important;inset:auto!important;background:#fff!important;padding:12px!important;align-items:flex-start!important}.modal-backdrop:has(.modal-receipt) .modal.modal-receipt{box-shadow:none!important;max-height:none!important;margin:0!important}.modal-backdrop:has(.modal-receipt) .receipt-modal-shell{display:block}.modal-backdrop:has(.modal-receipt) .receipt-modal-main{border-right:none!important;overflow:visible!important}.modal-backdrop:has(.modal-receipt) .receipt-modal-scroll{overflow:visible!important;max-height:none!important;padding-bottom:12px}.app>.sidebar,.app>.main{display:none!important}.app>.modal-backdrop:has(.modal-receipt){display:flex!important}}.auth-page{min-height:100vh;display:flex;background:#f0f2f5}.auth-layout{display:flex;width:100%;min-height:100vh}.auth-hero{width:45%;flex-shrink:0;background:#0f172a;display:flex;flex-direction:column;justify-content:center;padding:56px 52px;position:relative;overflow:hidden}.auth-hero:before{content:"";position:absolute;top:-120px;left:-80px;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(59,130,246,.18) 0%,transparent 70%);pointer-events:none}.auth-hero:after{content:"";position:absolute;bottom:-80px;right:-60px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(59,130,246,.12) 0%,transparent 70%);pointer-events:none}.auth-logo-row{display:flex;align-items:center;gap:14px;margin-bottom:48px}.auth-logo-row>svg{flex-shrink:0;color:var(--color-primary)}.auth-logo-wordmark{font-family:Poppins,sans-serif;font-size:26px;font-weight:600;letter-spacing:-.5px;line-height:1}.auth-logo-wordmark .wm-gym{color:#f1f5f9}.auth-logo-wordmark .wm-pro{color:#3b82f6}.auth-logo-tagline{font-size:11px;color:#ffffff61;letter-spacing:.5px;text-transform:uppercase;margin-top:2px}.auth-title{font-size:30px;font-weight:600;line-height:1.25;letter-spacing:-.03em;color:#f1f5f9;margin-bottom:14px}.auth-sub{font-size:14px;line-height:1.65;color:#f1f5f98c;max-width:38ch;margin-bottom:36px}.auth-features{display:flex;flex-direction:column;gap:12px}.auth-feature-item{display:flex;align-items:center;gap:10px;font-size:13.5px;color:#f1f5f9bf}.auth-feature-icon{width:20px;height:20px;border-radius:50%;background:#3b82f633;border:1px solid rgba(59,130,246,.35);display:flex;align-items:center;justify-content:center;flex-shrink:0}.auth-feature-icon svg{width:11px;height:11px;stroke:#60a5fa;fill:none}.auth-form-side{flex:1;display:flex;align-items:center;justify-content:center;padding:40px 32px;background:#f0f2f5}.auth-card{width:100%;max-width:400px;background:#fff;border-radius:var(--radius-xl);border:1px solid #e8eaed;padding:36px 36px 32px;box-shadow:0 2px 12px #0000000f,0 1px 3px #0000000a}.auth-card-logo{display:flex;align-items:center;gap:10px;margin-bottom:28px}.auth-card-logo>svg{flex-shrink:0;color:var(--color-primary)}.auth-card-logo .auth-brand-wordmark{color:var(--color-primary)}.auth-card-logo-text{font-family:Poppins,sans-serif;font-size:18px;font-weight:600;letter-spacing:-.3px;line-height:1}.auth-heading{font-size:20px;font-weight:600;color:#1a1a1e;letter-spacing:-.02em;margin-bottom:4px}.auth-subheading{font-size:13.5px;color:var(--color-text-secondary);margin-bottom:24px}.auth-tabs{display:flex;gap:0;border-bottom:1.5px solid #e8eaed;margin-bottom:24px}.auth-tab{flex:1;border:none;background:transparent;color:var(--color-text-secondary);padding:9px 4px;font-size:13.5px;font-weight:500;font-family:inherit;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1.5px;transition:color .15s,border-color .15s;letter-spacing:-.01em}.auth-tab:hover:not(.active){color:#1a1a1e}.auth-tab.active{color:#3b82f6;border-bottom-color:#3b82f6;font-weight:600}.auth-field{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}.auth-field label{font-size:13px;font-weight:500;color:#374151;letter-spacing:-.01em}.auth-input{width:100%;padding:9px 12px;border:1.5px solid #e2e5ea;border-radius:var(--radius-xl);font-size:14px;font-family:inherit;color:#1a1a1e;background:#fafafa;outline:none;transition:border-color .15s,box-shadow .15s,background .15s;line-height:1.5}.auth-input::placeholder{color:#b0b4ba}.auth-input:focus{border-color:#3b82f6;background:#fff;box-shadow:0 0 0 3px #3b82f61a}.auth-input-wrap{position:relative}.auth-input-wrap .auth-input{padding-right:40px}.auth-pw-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:2px 4px;color:#9ca3af;display:flex;align-items:center;line-height:1}.auth-pw-toggle:hover{color:#374151}.auth-pw-toggle svg{width:16px;height:16px;stroke:currentColor;fill:none}.auth-error{background:#fff1f2;border:1px solid #fecdd3;border-radius:var(--radius-xl);padding:9px 12px;font-size:13px;color:#be123c;margin-bottom:14px}.auth-submit{width:100%;padding:10px 16px;background:#1d4ed8;color:#fff;border:none;border-radius:var(--radius-xl);font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;margin-top:6px;letter-spacing:-.01em;transition:background .15s,transform .1s}.auth-submit:hover:not(:disabled){background:#1e40af}.auth-submit:active:not(:disabled){transform:scale(.99)}.auth-submit:disabled{opacity:.65;cursor:not-allowed}.auth-submit-spinner{display:inline-flex;align-items:center;gap:8px}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-spinner-dot{width:14px;height:14px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:auth-spin .7s linear infinite}.auth-divider{height:1px;background:#e8eaed;margin:20px 0 16px}.auth-footer-note{font-size:12px;color:#9ca3af;text-align:center;line-height:1.5}.trial-expired-page{align-items:center;justify-content:center;padding:24px 16px 32px;background:linear-gradient(165deg,#f8fafc,#f1f5f9 45%,#eef2ff)}.trial-expired-inner{width:100%;max-width:460px}.trial-expired-card{background:#fff;border-radius:var(--radius-xl);padding:32px 28px 28px;text-align:center;box-shadow:0 4px 6px -1px #0f172a0f,0 12px 28px -8px #0f172a1a;border:1px solid rgba(15,23,42,.06)}.trial-expired-brand{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:20px}.trial-expired-brand>svg{flex-shrink:0;color:var(--color-primary)}.trial-expired-brand-text{font-family:Poppins,sans-serif;font-size:22px;font-weight:600;letter-spacing:-.4px}.trial-expired-brand-name{color:var(--color-primary)}.trial-expired-icon{display:flex;align-items:center;justify-content:center;width:72px;height:72px;margin:0 auto 20px;border-radius:50%;background:linear-gradient(145deg,#fff7ed,#ffedd5);color:#ea580c;border:1px solid rgba(234,88,12,.15)}.trial-expired-title{font-size:1.35rem;font-weight:700;letter-spacing:-.02em;color:#0f172a;margin:0 0 12px;line-height:1.3}.trial-expired-lead{font-size:.95rem;color:#475569;margin:0 0 16px;line-height:1.55}.trial-expired-body{font-size:.9rem;color:#64748b;text-align:left;line-height:1.6;margin:0 0 20px}.trial-expired-body strong{color:#334155;font-weight:600}.trial-expired-meta{display:grid;gap:10px;text-align:left;padding:14px 16px;border-radius:var(--radius-xl);background:#f8fafc;border:1px solid #e2e8f0;margin-bottom:20px;font-size:13px}.trial-expired-meta-label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#94a3b8;margin-bottom:2px}.trial-expired-meta-value{color:#1e293b;word-break:break-word}.trial-expired-contact{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 10px;margin-bottom:22px;font-size:.9rem}.trial-expired-link{color:#2563eb;font-weight:500;text-decoration:none}.trial-expired-link:hover{text-decoration:underline}.trial-expired-contact-sep{color:#cbd5e1;-webkit-user-select:none;user-select:none}.trial-expired-cta{width:100%}.trial-expired-footnote{margin-top:14px;max-width:36em;margin-left:auto;margin-right:auto}@media(max-width:400px){.trial-expired-card{padding:24px 18px 22px}.trial-expired-title{font-size:1.2rem}}.trial-remaining-modal .modal-body{padding:0 20px 4px}.trial-remaining-lead{margin:0 0 10px;font-size:14px;line-height:1.5;color:var(--color-text-primary)}.trial-remaining-copy{margin:0 0 16px;font-size:13px;line-height:1.55;color:var(--color-text-secondary)}.trial-remaining-meta{display:grid;gap:10px;margin:0 0 16px;padding:12px 14px;border-radius:var(--radius-lg, 12px);background:var(--color-background-secondary, #f8fafc);border:.5px solid var(--color-border-subtle)}.trial-remaining-meta>div{display:grid;grid-template-columns:minmax(88px,34%) 1fr;gap:8px;align-items:baseline}.trial-remaining-meta dt{margin:0;font-size:11px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--color-text-tertiary)}.trial-remaining-meta dd{margin:0;font-size:13px;font-weight:500;color:var(--color-text-primary)}.trial-remaining-contact{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:13px}.trial-remaining-link{color:var(--color-primary, #2563eb);text-decoration:none}.trial-remaining-link:hover{text-decoration:underline}.trial-remaining-contact-sep{color:var(--color-text-tertiary)}.trial-remaining-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px 20px;border-top:.5px solid var(--color-border-subtle);background:var(--modal-footer-bg, var(--color-background-primary))}.landing-page{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(165deg,#f8fafc,#eef2ff 38%,#f1f5f9);color:var(--color-text-primary)}.landing-skip{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}.landing-skip:focus{position:fixed;left:12px;top:12px;z-index:2000;width:auto;height:auto;padding:10px 14px;background:#0f172a;color:#fff;border-radius:var(--radius-xl);font-size:13px;font-weight:600;text-decoration:none;overflow:visible}.landing-header{position:sticky;top:0;z-index:100;border-bottom:1px solid rgba(148,163,184,.25);background:#ffffffc7;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.landing-header-inner{max-width:1160px;margin:0 auto;padding:14px 20px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}.landing-brand{display:flex;align-items:center;gap:12px;margin-right:auto}.landing-brand-icon{flex-shrink:0;color:var(--color-primary)}.landing-brand-name{font-family:Poppins,sans-serif;font-size:1.15rem;font-weight:500;letter-spacing:-.03em;line-height:1.1;color:var(--color-primary)}.landing-brand-wordmark{font-family:Poppins,sans-serif;font-size:1.15rem;font-weight:600;letter-spacing:-.03em;line-height:1.1}.landing-brand-wordmark .wm-gym{color:#0f172a}.landing-brand-wordmark .wm-pro{color:#2563eb}.landing-brand-tag{font-size:11px;color:var(--color-text-secondary);margin-top:2px;letter-spacing:.02em}.landing-nav{display:flex;align-items:center;gap:6px 18px;flex-wrap:wrap;font-size:13px;font-weight:500}.landing-nav a{color:var(--color-text-secondary);text-decoration:none;transition:color .15s ease}.landing-nav a:hover{color:#2563eb}.landing-header-actions{display:flex;align-items:center;gap:10px}.landing-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;font-family:inherit;font-size:13px;font-weight:600;padding:9px 16px;border-radius:var(--border-radius-lg);border:none;cursor:pointer;transition:background .15s ease,color .15s ease,box-shadow .15s ease,border-color .15s ease}.landing-btn--ghost{background:transparent;color:var(--color-text-primary);border:1px solid var(--color-border-secondary)}.landing-btn--ghost:hover{background:var(--color-background-primary);border-color:#cbd5e1}.landing-btn--primary{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;box-shadow:0 4px 14px -4px #2563eb8c}.landing-btn--primary:hover{filter:brightness(1.05);box-shadow:0 6px 20px -4px #2563eb99}.landing-btn--outline{background:#fff;color:#1e40af;border:1.5px solid rgba(37,99,235,.35)}.landing-btn--outline:hover{background:#eff6ff}.landing-btn--lg{padding:12px 22px;font-size:14px;border-radius:var(--radius-xl)}.landing-body{flex:1;width:100%;max-width:1160px;margin:0 auto;padding:28px 20px 48px;display:flex;flex-direction:column;gap:0;align-items:stretch}.landing-hero-band{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,380px);gap:36px 40px;align-items:center;width:100%}.landing-main{min-width:0;width:100%}.landing-hero{position:relative;padding:8px 0 40px}.landing-hero:before{content:"";position:absolute;inset:-20px -30% auto -20%;height:220px;background:radial-gradient(ellipse 80% 70% at 20% 40%,rgba(59,130,246,.14),transparent 55%),radial-gradient(ellipse 60% 50% at 80% 0%,rgba(13,148,136,.1),transparent 50%);pointer-events:none;z-index:0}.landing-hero>*{position:relative;z-index:1}.landing-hero-layout{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px 32px;align-items:start}.landing-hero-copy{min-width:0}.landing-orbit-hero{display:flex;flex-direction:column;align-items:center;gap:12px;padding-top:4px;max-width:220px}.landing-orbit-hero-viz{flex-shrink:0}.landing-orbit-svg{display:block;color:var(--color-primary)}.landing-orbit-ring{fill:none;stroke:currentColor;stroke-width:2.2}.landing-orbit-dot,.landing-orbit-hub{fill:currentColor}.landing-orbit-arm{transform-origin:0 0}.landing-orbit-arm--out-a{animation:landing-orbit-spin 18s linear infinite}.landing-orbit-arm--out-b{animation:landing-orbit-spin 18s linear infinite;animation-delay:-6s}.landing-orbit-arm--out-c{animation:landing-orbit-spin 18s linear infinite;animation-delay:-12s}.landing-orbit-arm--mid-a{animation:landing-orbit-spin-rev 24s linear infinite}.landing-orbit-arm--mid-b{animation:landing-orbit-spin-rev 24s linear infinite;animation-delay:-12s}.landing-orbit-arm--in{animation:landing-orbit-spin 13s linear infinite}@keyframes landing-orbit-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes landing-orbit-spin-rev{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}.landing-orbit-arm--static-a{transform:rotate(0)}.landing-orbit-arm--static-b{transform:rotate(120deg)}.landing-orbit-arm--static-c{transform:rotate(240deg)}.landing-orbit-arm--static-mid-a{transform:rotate(40deg)}.landing-orbit-arm--static-mid-b{transform:rotate(220deg)}.landing-orbit-arm--static-in{transform:rotate(165deg)}.landing-orbit-hero-copy{text-align:center;width:100%}.landing-orbit-hero-kicker{margin:0 0 6px;font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary);line-height:1.3}.landing-orbit-hero-blurb{margin:0;font-size:12px;font-weight:400;line-height:1.5;color:var(--color-text-secondary)}@media(max-width:900px){.landing-hero-layout{grid-template-columns:1fr}.landing-orbit-hero{display:none}}.landing-eyebrow{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#2563eb;margin-bottom:12px}.landing-hero-title{font-family:Poppins,sans-serif;font-size:clamp(1.75rem,4vw,2.35rem);font-weight:700;line-height:1.18;letter-spacing:-.035em;color:#0f172a;margin-bottom:16px;max-width:20ch}.landing-hero-lead{font-size:1.05rem;line-height:1.65;color:var(--color-text-secondary);max-width:52ch;margin-bottom:24px}.landing-hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:22px}.landing-hero-bullets{list-style:none;display:flex;flex-wrap:wrap;gap:10px 20px;font-size:13px;color:var(--color-text-secondary)}.landing-hero-bullets li{display:flex;align-items:center;gap:8px}.landing-hero-bullets li:before{content:"";width:6px;height:6px;border-radius:50%;background:linear-gradient(135deg,#0d9488,#2563eb);flex-shrink:0}.landing-section{padding:36px 0;border-top:1px solid rgba(148,163,184,.2)}.landing-section--muted{background:#ffffff8c;margin-left:-12px;margin-right:-12px;padding-left:12px;padding-right:12px;border-radius:var(--radius-xl);border-top:none;margin-bottom:8px}.landing-section-title{font-family:Poppins,sans-serif;font-size:1.35rem;font-weight:700;letter-spacing:-.03em;color:#0f172a;margin-bottom:10px}.landing-section-intro{font-size:.95rem;line-height:1.6;color:var(--color-text-secondary);max-width:62ch;margin-bottom:24px}.landing-refs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;align-items:flex-start;gap:12px;max-width:100%}.landing-refs li{width:fit-content;max-width:100%;align-self:flex-start}.landing-ref-item{display:inline-flex;flex-direction:row;align-items:center;gap:18px 20px;max-width:min(100%,520px);min-width:0;box-sizing:border-box;padding:12px 16px 12px 12px;background:#fff;border:1px solid var(--color-border-secondary);border-radius:var(--radius-xl);text-decoration:none;color:inherit;box-shadow:var(--shadow-elevated);transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.landing-ref-item:hover{border-color:#2563eb4d;box-shadow:0 8px 28px -12px #2563eb40;transform:translateY(-1px)}.landing-ref-icon{flex-shrink:0;width:44px;height:44px;border-radius:var(--radius-xl);background:linear-gradient(145deg,#eff6ff,#e0f2fe);color:#1d4ed8;display:flex;align-items:center;justify-content:center}.landing-ref-icon.landing-ref-logo{width:auto;min-width:0;max-width:min(48%,200px);height:auto;padding:0;margin:0;background:transparent;border:none;border-radius:0;flex-shrink:0;display:flex;align-items:center;justify-content:flex-start}.landing-ref-logo-img{display:block;height:88px;width:auto;max-width:100%;object-fit:contain;object-position:left center}.landing-ref-body{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:6px 0;min-width:0;flex:1 1 auto;text-align:left}.landing-ref-name{display:flex;flex-direction:column;align-items:flex-start;gap:2px 0;line-height:1.2;font-weight:700;color:#0f172a}.landing-ref-name-primary{font-size:1.15rem;letter-spacing:-.02em;color:#0f172a}.landing-ref-name-secondary{font-size:.95rem;font-weight:700;color:#ea580c;letter-spacing:.04em;text-transform:none}.landing-ref-scale{font-size:12px;font-weight:500;color:var(--color-text-secondary);line-height:1.35;margin-top:2px}.landing-ref-cta{font-size:13px;font-weight:600;color:#2563eb;margin-top:2px;text-decoration:none;border-bottom:1px solid transparent}.landing-ref-item:hover .landing-ref-cta{border-bottom-color:#2563eb73}.landing-refs-hint{margin:16px 0 0;font-size:13px;color:var(--color-text-secondary);max-width:50ch}@media(max-width:480px){.landing-refs li{width:100%}.landing-ref-item{flex-direction:row;flex-wrap:nowrap;align-items:center;width:100%;max-width:100%;padding:10px 12px 10px 8px;gap:12px 14px}.landing-ref-icon.landing-ref-logo{max-width:42%}.landing-ref-logo-img{height:64px}.landing-ref-name-primary{font-size:1.05rem}.landing-ref-name-secondary{font-size:.88rem}.landing-ref-body{min-width:0}}@media(max-width:360px){.landing-ref-item{flex-direction:column;align-items:center;text-align:center;width:100%;max-width:100%;padding:14px 14px 16px}.landing-ref-icon.landing-ref-logo{max-width:220px;width:100%;justify-content:center}.landing-ref-logo-img{height:72px}.landing-ref-body{align-items:center;text-align:center}}.landing-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.landing-card{background:#fff;border:1px solid var(--color-border-secondary);border-radius:var(--radius-xl);padding:20px 18px 18px;box-shadow:var(--shadow-elevated);transition:border-color .15s ease,transform .15s ease}.landing-card:hover{border-color:#2563eb40;transform:translateY(-2px)}.landing-card-icon{width:42px;height:42px;border-radius:var(--radius-xl);background:linear-gradient(145deg,#eff6ff,#e0f2fe);color:#1d4ed8;display:flex;align-items:center;justify-content:center;margin-bottom:12px}.landing-card-title{font-size:1rem;font-weight:700;margin-bottom:6px;color:#0f172a}.landing-card-text{font-size:13px;line-height:1.55;color:var(--color-text-secondary)}.landing-steps{list-style:none;counter-reset:step;display:flex;flex-direction:column;gap:18px;max-width:640px}.landing-steps li{display:flex;gap:16px;align-items:flex-start}.landing-step-num{flex-shrink:0;width:40px;height:40px;border-radius:var(--radius-xl);background:#0f172a;color:#fff;font-weight:700;font-size:15px;display:flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums}.landing-step-title{font-size:1rem;font-weight:700;margin-bottom:4px;color:#0f172a}.landing-step-text{font-size:13px;line-height:1.55;color:var(--color-text-secondary)}.landing-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}.landing-pricing-lead{font-size:14px;line-height:1.6;color:var(--color-text-secondary);max-width:70ch;margin-bottom:16px}.landing-pricing-perks{list-style:none;margin:0 0 22px;padding:0;display:flex;flex-direction:column;gap:10px;max-width:42em}.landing-pricing-perks li{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 14px;padding:12px 14px;background:#fff;border:1px solid var(--color-border-secondary);border-radius:var(--radius-xl);font-size:14px;line-height:1.45;color:#0f172a;box-shadow:0 1px #0f172a0a}.landing-pricing-perk-kicker{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#2563eb;min-width:6.5em}.landing-pricing-perk-text{color:var(--color-text-secondary);flex:1;min-width:0}.landing-pricing{max-width:100%;display:flex;flex-direction:column;gap:24px}.landing-pricing-table-wrap{width:100%;max-width:100%;border-radius:var(--radius-xl);border:1px solid var(--color-border-secondary);background:#fff;box-shadow:0 1px #0f172a0a;overflow:auto}.landing-pricing-table{width:100%;border-collapse:collapse;font-size:14px}.landing-pricing-table th,.landing-pricing-table td{text-align:left;padding:12px 16px;border-bottom:1px solid var(--color-border-secondary);vertical-align:middle}.landing-pricing-th-short{display:none}.landing-pricing-th-long{display:inline}.landing-pricing-table th{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;line-height:1.3;color:#64748b;background:#f8fafc;vertical-align:bottom;min-width:6em}.landing-pricing-table tbody tr:last-child th,.landing-pricing-table tbody tr:last-child td{border-bottom:none}.landing-pricing-table td{color:#0f172a}.landing-pricing-table tbody tr:nth-child(2n) td{background:#f8fafca6}.landing-pricing-table td:nth-child(2){font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}.landing-pricing-ref{font-variant-numeric:tabular-nums;color:#94a3b8;font-weight:500;text-decoration:line-through;text-decoration-color:#cbd5e1;white-space:nowrap}.landing-pricing-yr-amount{font-variant-numeric:tabular-nums;font-weight:700;color:#0f172a;white-space:nowrap}.landing-pricing-savings{font-weight:500;white-space:nowrap;min-width:7.5em;vertical-align:middle}.landing-pricing-savings-amount{font-variant-numeric:tabular-nums;font-weight:700;color:#0d9488;white-space:nowrap}.landing-pricing-savings-pct{color:#0f766e;font-size:13px;font-weight:600;white-space:nowrap}.landing-pricing-table-foot{margin:0;padding:12px 4px 0;font-size:12px;line-height:1.5;color:var(--color-text-secondary);max-width:58em}.landing-pricing-over-note{color:var(--color-text-secondary);font-size:13px;font-weight:500;white-space:normal;vertical-align:middle}.landing-pricing-table tr:last-child td{vertical-align:middle;padding-top:14px;padding-bottom:14px}@media(max-width:900px){.landing-pricing-th-long{display:none}.landing-pricing-th-short{display:inline}.landing-pricing-table{font-size:12px}.landing-pricing-table th,.landing-pricing-table td{padding:8px}.landing-pricing-table th{min-width:0;font-size:9px;letter-spacing:.02em}}@media(max-width:600px){.landing-pricing-table-wrap{overflow:visible;border:none;background:transparent;box-shadow:none}.landing-pricing-table{font-size:13px;border-collapse:separate;border-spacing:0}.landing-pricing-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.landing-pricing-table tbody{display:block}.landing-pricing-table tbody tr{display:block;margin-bottom:12px;border:1px solid var(--color-border-secondary);border-radius:var(--radius-xl);background:#fff;box-shadow:0 1px #0f172a0a;overflow:hidden}.landing-pricing-table tbody tr:nth-child(2n) td{background:transparent}.landing-pricing-table tbody td{display:flex;justify-content:space-between;align-items:flex-start;gap:10px 14px;text-align:right;border-bottom:1px solid #f1f5f9;padding:10px 14px;width:100%;box-sizing:border-box}.landing-pricing-table tbody td:last-child{border-bottom:none}.landing-pricing-table tbody td:first-child{display:block;font-size:15px;font-weight:700;text-align:left;background:#f8fafc;border-bottom:1px solid var(--color-border-secondary);padding:12px 14px}.landing-pricing-table tbody td:first-child:before{content:none!important}.landing-pricing-table tbody tr:not(.landing-pricing-row-cta) td.landing-pricing-ref{display:none}.landing-pricing-table tbody td:not(:first-child):before{content:attr(data-label);text-align:left;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#64748b;line-height:1.35;flex:0 0 44%;max-width:11em}.landing-pricing-table tbody td:nth-child(2){white-space:normal}.landing-pricing-table .landing-pricing-ref{white-space:normal}.landing-pricing-table .landing-pricing-savings{white-space:normal;min-width:0}.landing-pricing-table tr:last-child td{padding-top:10px;padding-bottom:10px}.landing-pricing-table-foot{padding-left:0;padding-right:0;font-size:11px}}.landing-pricing-contact-link{display:inline;padding:0;margin:0;border:none;background:none;color:#2563eb;font:inherit;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.landing-pricing-contact-link:hover{color:#1d4ed8}.landing-pricing-contact-hint{color:var(--color-text-secondary);font-weight:400;font-size:13px}.landing-pricing-card{background:linear-gradient(145deg,#0f172a,#1e293b);color:#e2e8f0;border-radius:var(--radius-xl);padding:28px 24px 24px;box-shadow:0 20px 50px -20px #0f172a73}.landing-pricing-label{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#e2e8f08c;margin-bottom:6px}.landing-pricing-highlight{font-family:Poppins,sans-serif;font-size:1.5rem;font-weight:700;color:#fff;margin-bottom:12px}.landing-pricing-copy{font-size:14px;line-height:1.6;color:#f1f5f9c7;margin-bottom:20px}.landing-pricing-card .landing-inline-link{color:#93c5fd;font-weight:600;text-decoration:underline;text-underline-offset:2px}.landing-pricing-card .landing-inline-link:hover{color:#bfdbfe}.landing-pricing-card .landing-btn--primary{display:flex;width:100%;justify-content:center}.landing-faq{max-width:640px;display:flex;flex-direction:column;gap:10px}.landing-faq-item{background:#fff;border:1px solid var(--color-border-secondary);border-radius:var(--radius-xl);padding:0 4px;overflow:hidden}.landing-faq-item summary{cursor:pointer;font-weight:600;font-size:14px;padding:14px 16px;list-style:none;color:#0f172a}.landing-faq-item summary::-webkit-details-marker{display:none}.landing-faq-item summary:after{content:"+";float:right;font-weight:400;color:#64748b}.landing-faq-item[open] summary:after{content:"−"}.landing-faq-item p{font-size:13px;line-height:1.6;color:var(--color-text-secondary);padding:0 16px 14px;margin-top:-4px}.landing-faq-item .landing-inline-link{color:#2563eb;font-weight:600;text-decoration:none}.landing-faq-item .landing-inline-link:hover{text-decoration:underline}.landing-cta-band{text-align:center;padding:40px 20px;background:linear-gradient(135deg,#2563eb14,#0d948814);border-radius:var(--radius-xl);border:1px solid rgba(37,99,235,.12);margin-bottom:12px;border-top:none}.landing-cta-title{font-family:Poppins,sans-serif;font-size:1.35rem;font-weight:700;color:#0f172a;margin-bottom:8px}.landing-cta-sub{font-size:14px;color:var(--color-text-secondary);margin-bottom:20px}.landing-aside{min-width:0}.landing-aside-sticky{position:sticky;top:88px;max-height:calc(100dvh - 100px);overflow-y:auto;padding-bottom:8px}.landing-aside-sticky .auth-card{max-width:none;box-shadow:var(--shadow-modal-rich)}.landing-footer{margin-top:auto;border-top:1px solid rgba(148,163,184,.25);background:#ffffffa6}.landing-footer-inner{max-width:1160px;margin:0 auto;padding:18px 20px;display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;font-size:13px;color:var(--color-text-secondary)}.landing-footer-brand{display:flex;align-items:center;gap:8px;font-weight:600;color:#0f172a}.landing-footer-meta{font-size:12px}.landing-footer-contact{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;margin-left:auto}.landing-footer-contact a{color:#2563eb;text-decoration:none;font-weight:600;font-size:13px}.landing-footer-contact a:hover{text-decoration:underline}@media(max-width:960px){.landing-footer-contact{margin-left:0;width:100%}.landing-body{padding-top:20px}.landing-hero-band{grid-template-columns:1fr;align-items:start}.landing-nav{order:3;width:100%;justify-content:flex-start;padding-top:4px;border-top:1px solid rgba(148,163,184,.2);margin-top:4px}.landing-header-inner{padding:12px 16px}.landing-aside-sticky{position:relative;top:auto;max-height:none}.landing-hero-title{max-width:none}}@media(max-width:860px){.auth-layout{flex-direction:column}.auth-hero{width:100%;padding:40px 28px 36px;min-height:unset}.auth-hero:before,.auth-hero:after{display:none}.auth-title{font-size:24px}.auth-sub{max-width:none;margin-bottom:24px}.auth-features{flex-direction:row;flex-wrap:wrap;gap:8px}.auth-feature-item{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:999px;padding:5px 12px 5px 8px}.auth-form-side{padding:32px 20px 40px;align-items:flex-start}.auth-card{padding:28px 24px 24px}}.admin-actions{display:flex;gap:6px;flex-wrap:wrap}.trial-appt-page .trial-appt-toolbar{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:14px 16px;margin-bottom:18px}.trial-appt-page .trial-appt-lead{margin:0;max-width:52ch;font-size:13px;line-height:1.5;color:var(--color-text-secondary)}.trial-appt-page .trial-appt-create-btn{flex-shrink:0;align-self:center}.trial-appt-page .trial-appt-calendar-card{margin-bottom:16px;padding:14px 16px 16px}.trial-appt-page .trial-appt-calendar-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:10px 16px;margin-bottom:12px}.trial-appt-page .trial-appt-calendar-subtitle{font-size:12px;color:var(--color-text-secondary);margin-top:4px}.trial-appt-page .trial-appt-month-cal .month-cal-cell{min-height:104px}.trial-appt-page .trial-appt-month-cal .month-cal-slots{max-height:9.5em;overflow-y:auto;min-height:0}.trial-appt-page .trial-appt-month-slot{display:flex;align-items:baseline;gap:4px;min-width:0;width:100%;text-align:left;border:none;cursor:pointer;font-family:inherit}.trial-appt-page .trial-appt-month-slot .month-slot-time{flex-shrink:0}.trial-appt-page .trial-appt-month-slot-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trial-appt-page .trial-appt-month-slot--lesson{background:var(--color-background-secondary);color:var(--color-text-secondary);border:1px dashed var(--color-border-secondary);font-weight:500;cursor:pointer}.trial-appt-page .trial-appt-month-slot--danger{background:#fcebeb;color:#a32d2d}.trial-appt-page .trial-appt-month-slot:hover{filter:brightness(.98)}.trial-appt-page .trial-appt-month-empty{color:var(--color-text-tertiary);font-size:10px;line-height:1.2}.trial-appt-page .trial-appt-filters-card{margin-bottom:16px;padding:14px 16px 16px}.trial-appt-page .trial-appt-filters-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-tertiary);margin-bottom:10px}.trial-appt-page .trial-appt-filter-chips{display:flex;flex-wrap:wrap;gap:8px}.trial-appt-page .trial-appt-filter-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--color-border-secondary);background:var(--color-background-primary);color:var(--color-text-primary);font-size:12px;font-weight:500;padding:7px 14px;border-radius:999px;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.trial-appt-page .trial-appt-filter-chip:hover{border-color:var(--color-border-primary);background:var(--color-background-secondary)}.trial-appt-page .trial-appt-filter-chip--active{background:#eaf3de;border-color:#b8d68a;color:#2d5016}.trial-appt-page .trial-appt-filter-chip:focus-visible{outline:2px solid var(--color-accent, #639922);outline-offset:2px}.trial-appt-page .trial-appt-table-card{padding:0;overflow:hidden}.trial-appt-page .trial-appt-table-card:not(.trial-appt-table-wrap){padding:16px 20px}.trial-appt-page .trial-appt-table-wrap{overflow-x:auto}.trial-appt-page .trial-appt-table{min-width:880px;font-size:13px}.trial-appt-page .trial-appt-table th:nth-last-child(2),.trial-appt-page .trial-appt-table td:nth-last-child(2){min-width:128px;max-width:200px}.trial-appt-page .trial-appt-table th:last-child,.trial-appt-page .trial-appt-table td:last-child{width:1%;white-space:nowrap}.trial-appt-page .trial-appt-table td{vertical-align:middle;padding-top:8px;padding-bottom:8px}.trial-appt-page .trial-appt-name-cell{font-weight:500;max-width:160px}.trial-appt-page .trial-appt-phone-cell{white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--color-text-secondary);font-size:12px}.trial-appt-page .trial-appt-when-cell{white-space:nowrap}.trial-appt-page .trial-appt-when-cell .trial-appt-time{margin-left:6px;font-weight:600;color:var(--color-text-primary)}.trial-appt-page .trial-appt-when-cell .trial-appt-date{color:var(--color-text-secondary)}.trial-appt-page .trial-appt-status-cell{vertical-align:middle}.trial-appt-page .trial-appt-inline-status{width:100%;max-width:100%;font-size:11px;padding:4px 8px;min-height:28px}.trial-appt-page .trial-appt-actions-cell{vertical-align:middle}.trial-appt-page .trial-appt-actions{display:inline-flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:4px}.trial-appt-page .trial-appt-compact-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;border:1px solid var(--color-border-secondary);background:var(--color-background-primary);color:var(--color-text-primary);font-size:11px;font-weight:500;padding:3px 8px;line-height:1.3;border-radius:var(--border-radius-md);cursor:pointer;white-space:nowrap;transition:background .12s ease,border-color .12s ease}.trial-appt-page .trial-appt-compact-btn:hover:not(:disabled){background:var(--color-background-secondary);border-color:var(--color-border-primary)}.trial-appt-page .trial-appt-compact-btn:disabled{opacity:.5;cursor:not-allowed}.trial-appt-page .trial-appt-compact-btn--primary{background:#eaf3de;border-color:#b8d68a;color:#2d5016}.trial-appt-page .trial-appt-compact-btn--primary:hover:not(:disabled){background:#dff0cc}.trial-appt-page .trial-appt-compact-btn--danger{background:#fff8f8;border-color:#f0c4c4;color:#a32d2d}.trial-appt-page .trial-appt-compact-btn--danger:hover:not(:disabled){background:#fcebeb}@media(max-width:980px){.trial-appt-page .trial-appt-calendar-header{align-items:stretch}.trial-appt-page .trial-appt-calendar-header .month-nav{width:100%;justify-content:flex-start}}.customer-public-page{min-height:100vh;display:flex;flex-direction:column;font-family:var(--font-sans);color:var(--color-text-primary);background:var(--app-body-bg)}.customer-public-header{flex-shrink:0;background:var(--surface-0);border-bottom:.5px solid var(--color-border-tertiary)}.customer-public-header-inner{max-width:42rem;margin:0 auto;padding:1.35rem 1.25rem 1.25rem;display:flex;align-items:flex-start;gap:12px}.customer-public-logo{width:72px;height:72px;flex-shrink:0;object-fit:contain;border-radius:8px;border:.5px solid var(--color-border-tertiary);background:var(--surface-0)}.customer-public-header-rule{margin-top:12px;height:0;border:none;border-top:.5px solid var(--color-border-tertiary)}.customer-public-header-text{min-width:0;flex:1}.customer-public-business-title{margin:0;font-size:20px;font-weight:500;line-height:1.3;letter-spacing:-.02em;color:var(--color-text-primary)}.customer-public-business-alt{margin:6px 0 0;font-size:13px;color:var(--color-text-secondary);line-height:1.4}.customer-public-main{flex:1}.customer-public-inner{max-width:42rem;margin:0 auto;padding:1.25rem 1.25rem 2.5rem}.customer-public-footer-actions{margin-bottom:1.25rem;padding:10px 12px;border-radius:12px;border:.5px solid var(--color-border-tertiary);background:var(--surface-1)}.customer-public-footer-kicker{margin:0 0 8px;font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary)}.customer-public-footer-chips{display:flex;flex-wrap:wrap;gap:6px}.customer-public-footer-chip{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:0 10px;font-size:12px;font-weight:500;color:var(--color-text-secondary);background:var(--surface-0);border-radius:8px;border:.5px solid var(--color-border-tertiary);text-decoration:none;transition:background .15s ease,border-color .15s ease,transform .1s ease}.customer-public-footer-chip:hover{border-color:var(--color-border-secondary);color:var(--color-text-primary);background:var(--surface-0)}.customer-public-footer-chip:active{transform:scale(.98)}.customer-public-footer-chip:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.customer-public-footer-chip--social{color:var(--color-primary-hover);border-color:var(--color-border-secondary)}.customer-public-article{padding:1.15rem 1.15rem 1.35rem;margin-bottom:1.25rem;background:var(--surface-0);border-radius:12px;border:.5px solid var(--color-border-tertiary)}.customer-public-article-title{margin:0 0 1rem;font-size:18px;font-weight:500;line-height:1.3;color:var(--color-text-primary)}.customer-public-warn-stack{display:flex;flex-direction:column;gap:10px;margin-bottom:1rem}.customer-public-warn-banner{margin:0;padding:10px 12px;font-size:14px;line-height:1.5;color:var(--color-warning-foreground);background:var(--color-warning-soft);border-radius:8px;border:.5px solid var(--color-border-secondary)}.customer-public-body-p{margin:0 0 1rem;font-size:15px;line-height:1.72;white-space:pre-line;color:var(--color-text-primary)}.customer-public-body-ul{margin:0 0 1rem;padding-left:1.15rem;font-size:15px;line-height:1.72;color:var(--color-text-primary)}.customer-public-body-li{margin:0 0 .35rem;padding-left:.15rem}.customer-public-body-li:last-child{margin-bottom:0}.customer-public-body .customer-public-body-p:last-child,.customer-public-body .customer-public-body-ul:last-child{margin-bottom:0}.customer-public-body-empty{margin:0;font-size:14px;line-height:1.55;color:var(--color-text-secondary)}.customer-public-contact{padding:1.15rem 1.15rem 1.25rem;background:var(--surface-0);border-radius:12px;border:.5px solid var(--color-border-tertiary)}.customer-public-contact-kicker{margin:0 0 12px;padding:0;font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary)}.customer-public-dl{margin:0;display:grid;grid-template-columns:minmax(5.5rem,7rem) minmax(0,1fr);gap:10px 12px;align-items:start}.customer-public-dl dt{margin:0;padding-top:2px;font-size:12px;font-weight:400;color:var(--color-text-secondary)}.customer-public-dl dd{margin:0;font-size:14px;line-height:1.55;color:var(--color-text-primary);white-space:pre-line}.customer-public-inline-link{color:var(--color-primary-hover);text-decoration:underline;text-underline-offset:2px;transition:color .15s ease}.customer-public-inline-link:hover{color:var(--color-primary)}.customer-public-inline-link:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px;border-radius:2px}@media(max-width:520px){.customer-public-dl{grid-template-columns:1fr;gap:4px}.customer-public-dl dt{padding-top:10px;font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary)}.customer-public-dl dt:first-child{padding-top:0}.customer-public-dl dd+dt{padding-top:10px}}.customer-public-loading,.customer-public-error{min-height:100vh;display:grid;place-items:center;background:var(--app-body-bg);color:var(--color-text-secondary);font-size:14px;padding:1.5rem;text-align:center;font-family:var(--font-sans)}.customer-public-error-title{font-size:15px;font-weight:500;color:var(--color-text-primary);margin:0 0 .5rem}.customer-public-page--minimal .customer-public-header{background:var(--app-body-bg);border-bottom:none}.customer-public-page--minimal .customer-public-article,.customer-public-page--minimal .customer-public-contact{border:none;background:transparent;padding-left:0;padding-right:0}.customer-public-page--minimal .customer-public-inner{padding-top:.75rem}.customer-public-page--warm .customer-public-header{background:var(--color-primary-muted);border-bottom:.5px solid var(--color-border-secondary)}.customer-public-page--warm .customer-public-business-title{color:var(--color-primary-hover)}.profil-layout{max-width:1040px;display:flex;flex-direction:column;gap:1.25rem}.profil-advanced{border-radius:12px;border:.5px solid var(--color-border-tertiary);background:var(--color-background-primary)}.profil-advanced-summary{list-style:none;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px;cursor:pointer;-webkit-user-select:none;user-select:none}.profil-advanced-summary::-webkit-details-marker{display:none}.profil-advanced-summary::marker{display:none}.profil-advanced-summary:hover{background:var(--color-background-tertiary)}.profil-advanced-summary-text{display:flex;flex-direction:column;gap:4px;min-width:0}.profil-advanced-title{font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary)}.profil-advanced-desc{font-size:13px;line-height:1.45;color:var(--color-text-secondary)}.profil-advanced-chev{flex-shrink:0;margin-top:2px;font-size:10px;color:var(--color-text-tertiary);transition:transform .15s ease}.profil-advanced[open] .profil-advanced-chev{transform:rotate(-180deg)}.profil-advanced-body{display:flex;flex-direction:column;gap:1.25rem;padding:0 16px 16px;border-top:.5px solid var(--color-border-tertiary)}.profil-advanced-body>.profil-card{margin:0}.profil-card .card-header{margin-bottom:4px}.profil-card .card-title{font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary)}.profil-card .profil-card-intro{margin:0 0 1.25rem;font-size:13px;line-height:1.5;color:var(--color-text-secondary)}.profil-form-grid-2{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}@media(min-width:640px){.profil-form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.profil-form-grid-2 .form-row--full,.profil-form-grid-2 .profil-form-grid-full{grid-column:1 / -1}}.profil-share-panel{margin-bottom:12px;padding:10px 12px;border-radius:8px;border:.5px solid var(--color-border-tertiary);background:var(--color-background-tertiary)}.profil-share-panel-kicker{margin:0 0 8px;font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary)}.profil-share-panel-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.profil-share-url{flex:1 1 220px;min-width:0;margin:0;padding:8px 10px;font-family:var(--font-sans);font-size:13px;color:var(--color-text-secondary);word-break:break-all;border-radius:8px;border:.5px solid var(--color-border-tertiary);background:var(--color-background-primary)}.profil-share-actions{display:flex;flex-wrap:wrap;gap:8px}.profil-fieldset-gap{margin-top:1rem;padding-top:1.25rem;border-top:.5px solid var(--color-border-tertiary)}.profil-check-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:12px;color:var(--color-text-secondary)}.profil-check-label input{width:16px;height:16px;flex-shrink:0;accent-color:var(--color-primary)}.profil-form-actions{margin-top:1.25rem;padding-top:1rem;border-top:.5px solid var(--color-border-tertiary);display:flex;flex-wrap:wrap;gap:8px;align-items:center}.profil-subsection-kicker{margin:1.25rem 0 0;padding-top:1.25rem;border-top:.5px solid var(--color-border-tertiary);font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary)}.profil-logo-row{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start}.profil-logo-preview{width:72px;height:72px;flex-shrink:0;display:grid;place-items:center;border-radius:8px;border:.5px solid var(--color-border-tertiary);background:var(--color-background-tertiary);overflow:hidden}.profil-logo-preview-img{width:100%;height:100%;object-fit:contain}.profil-logo-placeholder{font-size:12px;color:var(--color-text-tertiary)}.profil-logo-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.profil-logo-file-input-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.profil-publish-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:1rem}.profil-publish-badge{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;font-size:12px;font-weight:500;border-radius:8px;border:.5px solid var(--color-border-tertiary)}.profil-publish-badge--on{color:var(--color-success-foreground);background:var(--color-success-soft);border-color:var(--color-border-secondary)}.profil-publish-badge--off{color:var(--color-text-secondary);background:var(--color-background-tertiary)}.profil-musteri-layout{display:flex;flex-direction:column;gap:1.25rem}.profil-musteri-editor,.profil-musteri-preview-wrap{min-width:0}.profil-preview-kicker{margin:0 0 6px;font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary)}.profil-preview-hint{margin:0 0 10px;font-size:12px;line-height:1.45;color:var(--color-text-secondary)}@media(min-width:960px){.profil-musteri-layout{flex-direction:row;align-items:flex-start;gap:1.25rem}.profil-musteri-editor{flex:1}.profil-musteri-preview-wrap{width:320px;flex-shrink:0;position:sticky;top:.75rem}}.customer-public-preview-frame{border-radius:12px;border:.5px solid var(--color-border-tertiary);overflow:hidden;background:var(--app-body-bg);max-height:480px;display:flex;flex-direction:column}.customer-public-preview-chrome{display:flex;align-items:center;gap:6px;padding:6px 10px;border-bottom:.5px solid var(--color-border-tertiary);background:var(--surface-1)}.customer-public-preview-dot{width:6px;height:6px;border-radius:50%;background:var(--color-border-strong)}.customer-public-preview-url{margin-left:auto;font-size:10px;color:var(--color-text-tertiary);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.customer-public-preview-scroll{overflow:auto;max-height:420px}.customer-public-preview-inner{padding-bottom:1rem!important}.customer-public-preview-logo{width:48px!important;height:48px!important}.customer-public-preview-logo-ph{width:48px;height:48px;flex-shrink:0;border-radius:8px;border:.5px dashed var(--color-border-tertiary);background:var(--surface-1)}.customer-public-preview-body{font-size:13px}.customer-public-preview-header .customer-public-business-title{font-size:16px}.profil-theme-picker{display:grid;gap:10px;grid-template-columns:1fr}@media(min-width:480px){.profil-theme-picker{grid-template-columns:repeat(3,minmax(0,1fr))}}.profil-theme-option{position:relative;display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:8px;border:.5px solid var(--color-border-tertiary);background:var(--color-background-primary);cursor:pointer;transition:border-color .15s ease}.profil-theme-option--selected{border-color:var(--color-primary-hover);border-width:1.5px}.profil-theme-option-input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}.profil-theme-thumb{height:40px;border-radius:6px;border:.5px solid var(--color-border-subtle)}.profil-theme-thumb--default{background:var(--surface-0)}.profil-theme-thumb--minimal{background:var(--app-body-bg)}.profil-theme-thumb--warm{background:var(--color-primary-muted)}.profil-theme-label{font-size:11px;line-height:1.35;color:var(--color-text-secondary)}.profil-wa-templates-card.profil-card{max-width:none}.profil-wa-twocol{display:grid;gap:12px;margin-top:8px;align-items:start}.profil-wa-twocol-preview .profil-wa-preview-label{margin-top:0;margin-bottom:6px}@media(max-width:719px){.profil-wa-twocol-preview .profil-wa-preview-label{margin-top:1rem}}@media(min-width:720px){.profil-wa-twocol{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.profil-wa-twocol-preview .profil-wa-preview-label{margin-top:0;padding-top:0}}.profil-wa-twocol+.profil-wa-twocol{margin-top:1.25rem;padding-top:1.25rem;border-top:.5px solid var(--color-border-tertiary)}.profil-wa-section-label{margin:1.25rem 0 10px;padding-top:1.25rem;border-top:.5px solid var(--color-border-tertiary);font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary)}.profil-wa-section-label:first-of-type{margin-top:0;padding-top:0;border-top:none}.profil-wa-twocol-edit,.profil-wa-twocol-preview{min-width:0}.profil-wa-demo-out{min-height:0}.profil-wa-editor{width:100%;min-height:220px;resize:vertical;font-size:13px;line-height:1.45}.profil-wa-twocol-preview .profil-wa-demo-out{min-height:220px}.profil-wa-twocol-edit .profil-wa-editor:not(.profil-wa-demo-out){min-height:220px}.profil-wa-editor--muted{min-height:160px;cursor:default;color:var(--color-text-secondary);background-color:var(--color-background-tertiary)}.profil-wa-twocol-preview .profil-wa-editor--muted{resize:vertical}.profil-wa-reset-row{margin-top:8px}.profil-wa-preview-label{display:block;font-size:12px;color:var(--color-text-secondary)}.profil-wa-actions{margin-top:1rem;padding-top:1rem;border-top:.5px solid var(--color-border-tertiary)}.profil-export-range{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:1rem}@media(max-width:640px){.profil-export-range{grid-template-columns:1fr}}.profil-export-range-item{display:flex;flex-direction:column;gap:4px;min-width:0}.profil-export-range-label{font-size:12px;color:var(--color-text-secondary);margin-bottom:0}.profil-export-month-bar{width:100%}.profil-export-range-hint,.profil-export-toggle-hint,.profil-export-range-error{margin-top:8px}.profil-export-toggle{display:flex;align-items:center;gap:10px;margin-top:1.25rem;padding-top:1.25rem;border-top:.5px solid var(--color-border-tertiary);font-size:13px;color:var(--color-text-primary);cursor:pointer;-webkit-user-select:none;user-select:none}.profil-export-toggle input{width:16px;height:16px;margin:0;accent-color:var(--color-brand-primary, #0f6e56)}.profil-export-toggle-hint{margin-top:4px;padding-left:26px}.profil-export-card .profil-form-actions{margin-top:1.25rem;padding-top:1.25rem;border-top:.5px solid var(--color-border-tertiary)}.reports-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:1rem;flex-wrap:wrap}.reports-title{font-size:15px;font-weight:500;color:var(--color-text-primary);margin:0 0 4px}.reports-subtitle{font-size:12px;color:var(--color-text-secondary);margin:0}.reports-header-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;flex-shrink:0}.reports-closing-btn{white-space:nowrap}.reports-refresh{flex-shrink:0}.modal-backdrop--day-closing{align-items:flex-start;padding-top:max(24px,env(safe-area-inset-top,0px))}.day-closing-modal{width:100%;max-width:min(960px,calc(100vw - 32px));max-height:min(92vh,880px);overflow:hidden;display:flex;flex-direction:column;border:.5px solid var(--color-border-tertiary);border-radius:12px}.day-closing-shell{display:flex;flex-direction:column;flex:1;min-height:0;background:var(--color-background-primary)}.day-closing-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:1.25rem 1.5rem;border-bottom:.5px solid var(--color-border-tertiary);flex-shrink:0}.day-closing-kicker{margin:0 0 4px;font-size:11px;font-weight:500;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.06em}.day-closing-title{margin:0 0 10px;font-size:15px;font-weight:500;color:var(--color-text-primary)}.day-closing-date-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.day-closing-date-label{font-size:12px;color:var(--color-text-secondary);margin-bottom:0}.day-closing-date-input{height:36px;min-width:148px}.day-closing-close{flex-shrink:0;margin:0;padding:6px;min-width:32px;min-height:32px;line-height:1;background:none;border:none;border-radius:8px;color:var(--color-text-tertiary);cursor:pointer;transition:background .15s ease,color .15s ease}.day-closing-close:hover{color:var(--color-text-primary);background:var(--color-background-secondary)}.day-closing-close:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.day-closing-close .nav-icon{width:20px;height:20px;display:block}.day-closing-main{display:grid;grid-template-columns:minmax(0,1fr) 280px;flex:1;min-height:0;overflow:hidden}.day-closing-list-col{padding:1.25rem 1.5rem;overflow-y:auto;min-height:0;border-right:.5px solid var(--color-border-tertiary)}.day-closing-summary-col{padding:1.25rem 1rem;overflow-y:auto;min-height:0;background:var(--color-background-secondary)}.day-closing-summary-panel{position:sticky;top:0}.day-closing-summary-kicker{margin:0 0 12px;font-size:11px;font-weight:500;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.06em}.day-closing-summary-rows{display:flex;flex-direction:column;gap:12px;margin-bottom:1.25rem;padding-bottom:1.25rem;border-bottom:.5px solid var(--color-border-tertiary)}.day-closing-summary-row{display:flex;flex-direction:column;gap:2px}.day-closing-summary-label{font-size:12px;color:var(--color-text-secondary)}.day-closing-summary-value{font-size:16px;font-weight:500;color:var(--color-text-primary);font-variant-numeric:tabular-nums}.day-closing-summary-sub{font-size:11px;color:var(--color-text-tertiary)}.day-closing-summary-total{display:flex;flex-direction:column;gap:4px;margin-bottom:1.25rem}.day-closing-summary-total-label{font-size:12px;color:var(--color-text-secondary)}.day-closing-summary-total-value{font-size:22px;font-weight:500;color:var(--color-data-ok);font-variant-numeric:tabular-nums}.day-closing-summary-total-sub{font-size:11px;color:var(--color-text-tertiary)}.day-closing-close-btn{width:100%}.day-closing-section{margin-bottom:1.25rem;padding-top:1.25rem;border-top:.5px solid var(--color-border-tertiary)}.day-closing-section:first-child{padding-top:0;border-top:none}.day-closing-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}.day-closing-section-title{margin:0;font-size:11px;font-weight:500;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.06em}.day-closing-section-meta{font-size:12px;color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.day-closing-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.day-closing-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 12px;border:.5px solid var(--color-border-tertiary);border-radius:8px;background:var(--color-background-primary)}.day-closing-row-main{min-width:0;display:flex;flex-direction:column;gap:2px}.day-closing-row-primary{font-size:13px;font-weight:500;color:var(--color-text-primary)}.day-closing-row-time{margin-left:8px;font-size:12px;font-weight:400;color:var(--color-text-tertiary);font-variant-numeric:tabular-nums}.day-closing-row-secondary{font-size:12px;color:var(--color-text-secondary)}.day-closing-row-amount{flex-shrink:0;font-size:14px;font-weight:500;color:var(--color-text-primary);font-variant-numeric:tabular-nums}.day-closing-empty,.day-closing-all-empty,.day-closing-loading{font-size:13px;color:var(--color-text-tertiary);margin:0}@media(max-width:720px){.day-closing-main{grid-template-columns:1fr;overflow-y:auto}.day-closing-list-col{border-right:none;border-bottom:.5px solid var(--color-border-tertiary);overflow:visible}.day-closing-summary-col{overflow:visible}.day-closing-summary-panel{position:static}}.reports-period-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:1.25rem}.reports-period-tab{height:36px;padding:0 12px;border-radius:8px;border:.5px solid var(--color-border-tertiary);background:var(--color-background-primary);color:var(--color-text-secondary);font-size:13px;cursor:pointer;transition:background .15s ease,border-color .15s ease}.reports-period-tab:hover{background:var(--color-background-secondary);border-color:var(--color-border-secondary)}.reports-period-tab--active{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-muted)}.reports-period-tab:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.reports-hero-grid{margin-bottom:1.25rem;grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:900px){.reports-hero-grid{grid-template-columns:1fr}}.reports-hero-grid--loading{opacity:.65;pointer-events:none}.reports-hero-card{margin-bottom:0}.report-stat-delta{font-size:11px;margin-top:8px;color:var(--color-text-tertiary)}.report-stat-delta--up{color:var(--color-data-ok)}.report-stat-delta--down{color:var(--color-data-critical)}.reports-net-hint{font-size:11px;margin-top:8px;color:var(--color-text-secondary)}.reports-insight{margin:0 0 12px;padding:10px 12px;font-size:13px;line-height:1.45;color:var(--color-text-primary);background:var(--color-background-secondary);border:.5px solid var(--color-border-tertiary);border-radius:8px}.reports-insight--muted{color:var(--color-text-secondary);background:transparent;border:none;padding:0 0 10px;margin-bottom:0}.reports-section-divider{margin:1.25rem 0;border-top:.5px solid var(--color-border-tertiary)}.reports-subsection-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.reports-subsection-title{margin:0;font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary)}.reports-trial-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}@media(max-width:520px){.reports-trial-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}.reports-trial-metric{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:.5px solid var(--color-border-tertiary);border-radius:8px;background:var(--color-background-primary)}.reports-trial-metric--highlight{border-color:var(--color-primary);background:var(--color-primary-muted)}.reports-trial-metric-value{font-size:16px;font-weight:500;color:var(--color-text-primary);font-variant-numeric:tabular-nums}.reports-trial-metric-label{font-size:12px;color:var(--color-text-secondary)}.reports-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:900px){.reports-detail-grid{grid-template-columns:1fr}}.reports-detail-card{margin-bottom:0}.reports-kv-list{margin:0;display:flex;flex-direction:column;gap:10px}.reports-kv-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:13px}.reports-kv-row dt{color:var(--color-text-secondary);font-weight:400}.reports-kv-row dd{margin:0;font-weight:500;color:var(--color-text-primary);text-align:right}.reports-loading-card{text-align:center}.reports-loading-msg{font-size:13px;color:var(--color-text-secondary);margin:0}.reports-insight--banner{margin-bottom:1.25rem}.reports-charts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:1.25rem}.reports-charts-grid--loading{opacity:.65;pointer-events:none}@media(max-width:900px){.reports-charts-grid{grid-template-columns:1fr}}.reports-panel-card{padding:0;margin-bottom:0;overflow:hidden}.page--reports .reports-charts-grid .card{margin-bottom:0}.reports-panel-card--wide{grid-column:1 / -1}.reports-panel-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:.5px solid var(--color-border-tertiary)}.reports-panel-card-title{margin:0;font-size:13px;font-weight:500;color:var(--color-text-primary)}.reports-panel-card-meta{font-size:12px;color:var(--color-text-tertiary);font-variant-numeric:tabular-nums;white-space:nowrap}.reports-panel-card-meta--danger{color:var(--color-danger);font-weight:500}.reports-panel-card-meta--ok{color:var(--color-data-ok);font-weight:500}.reports-panel-card-body{padding:14px 16px}.reports-income-bars{display:flex;flex-direction:column;gap:12px}.reports-income-bar-row{display:flex;align-items:center;gap:12px}.reports-income-bar-label{flex-shrink:0;width:68px;font-size:12px;color:var(--color-text-secondary)}.reports-income-bar-track{flex:1;min-width:0;height:8px;border-radius:4px;background:var(--color-background-secondary);overflow:hidden}.reports-income-bar-fill{display:block;height:100%;min-width:3px;border-radius:4px;transition:width .4s cubic-bezier(.25,.8,.25,1)}.reports-income-bar-fill--collected{background:var(--color-primary)}.reports-income-bar-fill--expense{background:var(--color-text-primary)}.reports-income-bar-fill--net-positive{background:var(--color-data-ok)}.reports-income-bar-fill--net-negative{background:var(--color-data-critical)}.reports-income-bar-value{flex-shrink:0;width:76px;font-size:12px;font-weight:500;color:var(--color-text-primary);text-align:right;font-variant-numeric:tabular-nums}.reports-income-bar-value--negative{color:var(--color-data-critical)}.reports-income-note{margin:14px 0 0;padding:10px 12px;font-size:12px;line-height:1.45;color:var(--color-warning-foreground);background:var(--color-warning-soft);border:.5px solid color-mix(in srgb,var(--color-warning) 20%,transparent);border-radius:8px}.reports-income-note--ok{color:var(--color-success-foreground);background:var(--color-success-soft);border-color:color-mix(in srgb,var(--color-success) 20%,transparent)}.reports-donut-row{display:flex;align-items:flex-start;gap:20px}.reports-donut{position:relative;width:88px;height:88px;flex-shrink:0}.reports-donut-svg{width:88px;height:88px;transform:rotate(-90deg);display:block}.reports-donut-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.reports-donut-pct{font-size:18px;font-weight:500;color:var(--color-text-primary);font-variant-numeric:tabular-nums;line-height:1}.reports-donut-sub{font-size:10px;color:var(--color-text-tertiary);margin-top:2px}.reports-donut-info{flex:1;min-width:0}.reports-donut-info-title{margin:0 0 4px;font-size:13px;font-weight:500;color:var(--color-text-primary)}.reports-donut-info-sub{margin:0 0 12px;font-size:12px;color:var(--color-text-secondary)}.reports-donut-stats{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}.reports-donut-stat{display:flex;flex-direction:column;gap:2px}.reports-donut-stat dt{font-size:11px;color:var(--color-text-tertiary);font-weight:400}.reports-donut-stat dd{margin:0;font-size:14px;font-weight:500;color:var(--color-text-primary);font-variant-numeric:tabular-nums}.reports-donut-stat-dd--warn{color:var(--color-warning)}.reports-kurs-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:-14px -16px 0}.reports-kurs-panel{padding:14px 16px}.reports-kurs-panel+.reports-kurs-panel{border-left:.5px solid var(--color-border-tertiary)}.reports-kurs-label{margin:0 0 14px;font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary)}.reports-kurs-number{margin:0 0 4px;font-size:28px;font-weight:500;line-height:1;color:var(--color-text-primary);font-variant-numeric:tabular-nums}.reports-kurs-suffix{font-size:14px;font-weight:400;color:var(--color-text-secondary);margin-left:4px}.reports-kurs-sub{margin:0 0 14px;font-size:12px;color:var(--color-text-secondary);line-height:1.4}.reports-stacked-bar{display:flex;height:8px;border-radius:4px;overflow:hidden;margin-bottom:10px;background:var(--color-background-secondary)}.reports-stacked-bar--empty{align-items:center;justify-content:center;height:32px}.reports-stacked-bar-empty{font-size:12px;color:var(--color-text-tertiary)}.reports-stacked-bar-seg{height:100%;min-width:3px}.reports-stacked-bar-seg--positive,.reports-stacked-bar-seg--present{background:var(--color-primary)}.reports-stacked-bar-seg--negative,.reports-stacked-bar-seg--absent{background:var(--color-data-critical)}.reports-stacked-bar-seg--excused{background:var(--color-text-tertiary)}.reports-dot-legend{display:flex;flex-wrap:wrap;gap:8px 14px}.reports-dot-legend-item{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--color-text-secondary)}.reports-dot-legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.reports-dot-legend-dot--positive,.reports-dot-legend-dot--present{background:var(--color-primary)}.reports-dot-legend-dot--negative,.reports-dot-legend-dot--absent{background:var(--color-data-critical)}.reports-dot-legend-dot--excused{background:var(--color-text-tertiary)}.reports-goal-track{margin-top:12px}.reports-goal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.reports-goal-label{font-size:11px;color:var(--color-text-tertiary)}.reports-goal-value{font-size:11px;font-weight:500;color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.reports-goal-bar-track{position:relative;height:6px;background:var(--color-background-secondary);border-radius:3px;overflow:visible}.reports-goal-bar-fill{height:100%;border-radius:3px;background:var(--color-primary)}.reports-goal-marker{position:absolute;top:-3px;width:2px;height:12px;background:var(--color-warning);border-radius:1px;transform:translate(-50%)}.reports-trials-block{margin-top:1.25rem;padding-top:1.25rem;border-top:.5px solid var(--color-border-tertiary)}.reports-trials-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.reports-trials-head .reports-kurs-label{margin-bottom:0}.reports-trials-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.reports-trials-tile{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:8px;background:var(--color-background-secondary)}.reports-trials-tile-label{font-size:11px;color:var(--color-text-tertiary)}.reports-trials-tile-value{font-size:20px;font-weight:500;color:var(--color-text-primary);font-variant-numeric:tabular-nums}.reports-trials-tile-value--good{color:var(--color-primary)}.reports-trials-note{margin:12px 0 0;font-size:12px;color:var(--color-text-secondary)}@media(max-width:720px){.reports-kurs-grid{grid-template-columns:1fr;margin-bottom:0}.reports-kurs-panel+.reports-kurs-panel{border-left:none;border-top:.5px solid var(--color-border-tertiary)}.reports-trials-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reports-donut-row{flex-direction:column;align-items:center;text-align:center}.reports-donut-info{width:100%}}.reports-compare-row--total .reports-compare-metric,.reports-compare-row--total .reports-compare-td{font-weight:500;border-top:.5px solid var(--color-border-secondary)}.reports-compare-missing{font-size:12px;font-weight:400;color:var(--color-text-tertiary);font-variant-numeric:normal}.reports-chart-card{margin-bottom:0;display:flex;flex-direction:column;gap:12px}.reports-chart-card--wide{grid-column:1 / -1}.reports-chart-empty{margin:0;font-size:13px;color:var(--color-text-tertiary)}.reports-compare-table-wrap{overflow-x:auto}.reports-compare-table{width:100%;border-collapse:collapse;font-size:13px}.reports-compare-th{padding:0 0 10px;font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary);text-align:right;border-bottom:.5px solid var(--color-border-tertiary)}.reports-compare-th--metric{text-align:left}.reports-compare-th--delta{width:96px}.reports-compare-metric{padding:10px 12px 10px 0;font-size:12px;font-weight:400;color:var(--color-text-secondary);text-align:left;border-bottom:.5px solid var(--color-border-tertiary)}.reports-compare-td{padding:10px 0 10px 12px;font-weight:500;color:var(--color-text-primary);text-align:right;font-variant-numeric:tabular-nums;border-bottom:.5px solid var(--color-border-tertiary)}.reports-compare-td--muted{font-weight:400;color:var(--color-text-secondary)}.reports-compare-td--negative{color:var(--color-data-critical)}.reports-compare-td--delta{width:96px;font-size:12px}.reports-compare-delta--up{color:var(--color-data-ok)}.reports-compare-delta--down{color:var(--color-data-critical)}.reports-compare-delta--flat{color:var(--color-text-tertiary);font-weight:400}.reports-ops-card{gap:1rem}.reports-ops-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.reports-ops-panel{display:flex;flex-direction:column;gap:10px;padding:12px;border:.5px solid var(--color-border-tertiary);border-radius:8px;background:var(--color-background-secondary)}.reports-ops-panel--trials{grid-column:1 / -1}.reports-ops-panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.reports-ops-panel-title{margin:0;font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary)}.reports-ops-panel-badge{font-size:11px;font-weight:500;color:var(--color-text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap}.reports-ops-panel-badge--up{color:var(--color-data-ok)}.reports-ops-panel-badge--down{color:var(--color-data-critical)}@media(max-width:720px){.reports-ops-grid{grid-template-columns:1fr}}.reports-metric-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:8px}.reports-metric-tile{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:.5px solid var(--color-border-tertiary);border-radius:8px;background:var(--color-background-primary)}.reports-metric-tile--highlight{border-color:var(--color-brand-primary);background:var(--color-brand-primary-subtle, var(--color-background-secondary))}.reports-metric-tile-value{font-size:16px;font-weight:500;color:var(--color-text-primary);font-variant-numeric:tabular-nums}.reports-metric-tile-label{font-size:12px;color:var(--color-text-secondary)}.reports-segment-bar{display:flex;height:12px;border-radius:8px;overflow:hidden;border:.5px solid var(--color-border-tertiary);background:var(--color-background-secondary)}.reports-segment-bar--empty{align-items:center;justify-content:center;height:36px}.reports-segment-bar-empty-label{font-size:12px;color:var(--color-text-tertiary)}.reports-segment-bar-seg{min-width:4px;transition:flex-grow .15s ease}.reports-segment-bar-seg--positive,.reports-segment-bar-seg--enrolled{background:var(--color-data-ok)}.reports-segment-bar-seg--negative,.reports-segment-bar-seg--no-show{background:var(--color-data-critical)}.reports-segment-bar-seg--present{background:var(--color-data-ok)}.reports-segment-bar-seg--absent{background:var(--color-data-critical)}.reports-segment-bar-seg--excused{background:var(--color-text-tertiary)}.reports-segment-bar-seg--scheduled{background:var(--color-brand-primary)}.reports-segment-bar-seg--attended{background:var(--color-data-info, var(--color-brand-primary))}.reports-segment-legend{display:flex;flex-wrap:wrap;gap:8px 16px}.reports-segment-legend-item{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--color-text-secondary)}.reports-segment-legend-swatch{width:8px;height:8px;border-radius:2px;flex-shrink:0}.reports-segment-legend-swatch--positive,.reports-segment-legend-swatch--enrolled,.reports-segment-legend-swatch--present{background:var(--color-data-ok)}.reports-segment-legend-swatch--negative,.reports-segment-legend-swatch--no-show,.reports-segment-legend-swatch--absent{background:var(--color-data-critical)}.reports-segment-legend-swatch--excused{background:var(--color-text-tertiary)}.reports-segment-legend-swatch--scheduled{background:var(--color-brand-primary)}.reports-segment-legend-swatch--attended{background:var(--color-data-info, var(--color-brand-primary))}.reports-segment-legend-count{font-weight:500;color:var(--color-text-primary);font-variant-numeric:tabular-nums}.reports-movement-hero{display:flex;align-items:baseline;gap:8px}.reports-movement-net{font-size:22px;font-weight:500;font-variant-numeric:tabular-nums;color:var(--color-text-primary)}.reports-movement-net-label{font-size:12px;color:var(--color-text-secondary)}.reports-quick-links{padding-top:1.25rem;border-top:.5px solid var(--color-border-tertiary)}.reports-quick-links-label{display:block;margin-bottom:10px;font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary)}.reports-quick-links-row{display:flex;flex-wrap:wrap;gap:8px}.exp-page-header{margin-bottom:1rem}.exp-page-title{font-size:20px;font-weight:500;margin:0 0 4px;color:var(--color-text-primary)}.exp-page-subtitle{margin:0;font-size:13px;color:var(--color-text-secondary)}.exp-tabs{display:flex;gap:4px;margin-bottom:1.25rem;border-bottom:.5px solid var(--color-border-tertiary);padding-bottom:0}.exp-tab{padding:8px 14px;border:none;border-bottom:1.5px solid transparent;background:transparent;font-size:13px;font-weight:500;color:var(--color-text-secondary);cursor:pointer;font-family:inherit;margin-bottom:-.5px;border-radius:0}.exp-tab:hover:not(.exp-tab--active){color:var(--color-text-primary);background:var(--color-background-secondary)}.exp-tab--active{color:var(--color-text-primary);border-bottom-color:var(--color-brand)}.exp-stats-grid{margin-bottom:1.25rem}.exp-category-filter{min-width:160px;padding:7px 10px;border:.5px solid var(--color-border-secondary);border-radius:var(--border-radius-md);font-size:12px;background:var(--color-background-primary);color:var(--color-text-primary);font-family:inherit}.exp-form-category-row{display:flex;gap:8px;align-items:stretch}.exp-form-category-row .select-input{flex:1;min-width:0}.exp-form-category-add{flex-shrink:0;white-space:nowrap}.payment-form-modal .exp-form-textarea{min-height:72px;padding-top:8px;padding-bottom:8px;resize:vertical}.payment-form-summary-amount--expense{color:var(--color-text-primary)}.modal-expense-category{width:min(420px,calc(100vw - 24px));max-width:min(420px,calc(100vw - 24px))}.exp-category-modal-hint{margin:0 0 12px;font-size:13px;line-height:1.45;color:var(--color-text-secondary)}.exp-row-title{font-size:13px;color:var(--color-text-primary)}.exp-row-sub{font-size:12px;color:var(--color-text-tertiary);margin-top:2px}.exp-row-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.exp-system-badge{display:inline-block;margin-left:8px;font-size:11px;color:var(--color-text-tertiary)}.stat-card.stat-red .stat-value{color:var(--color-danger)}.exp-table .btn-sm{min-height:32px;padding:4px 10px;font-size:12px}.exp-skip-year-nav{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:1rem}.exp-skip-year-label{min-width:4rem;text-align:center;font-size:15px;font-weight:500;color:var(--color-text-primary)}.exp-skip-loading{margin:0;font-size:13px;color:var(--color-text-secondary)}.exp-skip-month-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.exp-skip-month-btn{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:56px;padding:10px 12px;border:.5px solid var(--color-border-tertiary);border-radius:8px;background:var(--color-bg-primary);color:var(--color-text-primary);cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .1s ease}.exp-skip-month-btn:not(.exp-skip-month-btn--disabled):not(.exp-skip-month-btn--skipped){background:var(--color-success-soft);border-color:color-mix(in srgb,var(--color-success) 24%,var(--color-border-tertiary));color:var(--color-success-foreground)}.exp-skip-month-btn:not(.exp-skip-month-btn--disabled):not(.exp-skip-month-btn--skipped):hover{background:color-mix(in srgb,var(--color-success-soft) 78%,var(--color-success));border-color:color-mix(in srgb,var(--color-success) 40%,var(--color-border-secondary))}.exp-skip-month-btn:active:not(:disabled){transform:scale(.98)}.exp-skip-month-btn--skipped{border:1.5px solid color-mix(in srgb,var(--color-danger) 28%,var(--color-border-tertiary));background:var(--color-danger-soft);color:var(--color-danger-foreground, var(--color-text-primary))}.exp-skip-month-btn--skipped:hover:not(:disabled){background:color-mix(in srgb,var(--color-danger-soft) 78%,var(--color-danger));border-color:color-mix(in srgb,var(--color-danger) 42%,var(--color-border-secondary))}.exp-skip-month-btn--disabled{opacity:.45;cursor:not-allowed;background:var(--color-bg-secondary);border-color:var(--color-border-tertiary);color:var(--color-text-tertiary)}.exp-skip-month-btn-label{font-size:13px;font-weight:500}.exp-skip-month-btn-state{font-size:11px;color:var(--color-text-tertiary)}.exp-skip-month-btn:not(.exp-skip-month-btn--disabled):not(.exp-skip-month-btn--skipped) .exp-skip-month-btn-state{color:var(--color-success)}.exp-skip-month-btn--skipped .exp-skip-month-btn-state{color:var(--color-danger)}.task-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:1rem}.task-page-title{font-size:20px;font-weight:500;margin:0 0 4px;color:var(--color-text-primary)}.task-page-subtitle{margin:0;font-size:13px;color:var(--color-text-secondary)}.task-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 12px;margin-bottom:1rem}.task-view-toggle{display:inline-flex;gap:4px;padding:3px;border:.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-md);background:var(--color-background-secondary)}.task-view-btn{padding:6px 14px;border:none;border-radius:6px;background:transparent;font-size:13px;font-weight:500;color:var(--color-text-secondary);cursor:pointer;font-family:inherit;transition:background .15s ease,color .15s ease}.task-view-btn:hover:not(.task-view-btn--active){color:var(--color-text-primary);background:var(--color-background-primary)}.task-view-btn--active{color:var(--color-text-primary);background:var(--color-background-primary);border:.5px solid var(--color-border-secondary)}.task-filter-pills{display:flex;flex-wrap:wrap;gap:6px}.task-filter-pill{padding:6px 12px;border:.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-md);background:var(--color-background-primary);font-size:12px;font-weight:500;color:var(--color-text-secondary);cursor:pointer;font-family:inherit;transition:background .15s ease,border-color .15s ease}.task-filter-pill:hover:not(.task-filter-pill--active){border-color:var(--color-border-secondary);color:var(--color-text-primary)}.task-filter-pill--active{color:var(--color-text-primary);border-color:var(--color-border-secondary);background:var(--color-background-secondary)}.task-month-summary-row{display:flex;align-items:stretch;flex-wrap:wrap;gap:10px 12px;margin-bottom:1.25rem}.task-month-summary-row .task-month-bar{margin-bottom:0;align-self:center}.task-summary-chart{padding:12px 14px;margin-bottom:1.25rem}.task-summary-chart--inline{flex:1;min-width:min(100%,280px);margin-bottom:0;padding:8px 12px;display:flex;flex-direction:column;justify-content:center;gap:8px}.task-summary-chart--inline .task-summary-chart-head{margin-bottom:0}.task-summary-chart-head--inline{gap:8px}.task-summary-chart-head--inline .task-summary-chart-total-num{font-size:14px}.task-summary-chart-head--inline .task-summary-chart-total-label{font-size:12px}.task-summary-chart--inline .task-summary-chart-bar{height:8px}.task-summary-chart-legend--inline{margin-top:0;gap:4px 10px}.task-summary-chart-legend--inline .task-summary-chart-legend-item,.task-summary-chart-legend--inline .task-summary-chart-legend-count{font-size:11px}@media(max-width:720px){.task-month-summary-row{flex-direction:column;align-items:stretch}.task-month-summary-row .task-month-bar{width:fit-content}.task-summary-chart--inline{min-width:0}}.task-summary-chart-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.task-summary-chart-total{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px;min-width:0}.task-summary-chart-total-num{font-size:16px;font-weight:500;color:var(--color-text-primary);line-height:1.2}.task-summary-chart-total-label{font-size:13px;color:var(--color-text-secondary)}.task-summary-chart-period{font-size:12px;color:var(--color-text-tertiary)}.task-summary-chart-period:before{content:"·";margin-right:8px;color:var(--color-border-strong, var(--color-border-tertiary))}.task-summary-chart-today{flex-shrink:0;padding:4px 10px;border:.5px solid color-mix(in srgb,var(--color-primary) 35%,transparent);border-radius:var(--border-radius-md);background:var(--color-primary-muted);font-size:12px;font-weight:500;color:var(--color-primary-hover);cursor:pointer;font-family:inherit;transition:background .15s ease,border-color .15s ease}.task-summary-chart-today:hover{border-color:color-mix(in srgb,var(--color-primary) 50%,transparent)}.task-summary-chart-today--active{border-color:var(--color-border-secondary);background:var(--color-background-secondary);color:var(--color-text-primary)}.task-summary-chart-bar{display:flex;align-items:stretch;gap:2px;height:10px;border-radius:6px;overflow:hidden;background:var(--color-background-secondary);border:.5px solid var(--color-border-tertiary)}.task-summary-chart-bar--empty{align-items:center;justify-content:center;height:10px}.task-summary-chart-empty-label{font-size:11px;color:var(--color-text-tertiary)}.task-summary-chart-seg{min-width:4px;padding:0;border:none;cursor:pointer;font-family:inherit;transition:opacity .15s ease,filter .15s ease}.task-summary-chart-seg:hover{filter:brightness(.96)}.task-summary-chart-seg:active{transform:scaleY(.92)}.task-summary-chart-seg--selected{outline:1.5px solid var(--color-border-secondary);outline-offset:-1px;z-index:1}.task-summary-chart-seg--overdue{background:var(--color-danger)}.task-summary-chart-seg--open{background:var(--color-data-warn)}.task-summary-chart-seg--done{background:var(--color-data-ok)}.task-summary-chart-seg--other{background:var(--color-text-tertiary)}.task-summary-chart-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-top:10px}.task-summary-chart-legend-item{display:inline-flex;align-items:center;gap:6px;padding:0;border:none;background:transparent;font-size:12px;color:var(--color-text-secondary);cursor:pointer;font-family:inherit;transition:color .15s ease}.task-summary-chart-legend-item:hover,.task-summary-chart-legend-item--active{color:var(--color-text-primary)}.task-summary-chart-legend-item--zero{opacity:.55}.task-summary-chart-legend-item--zero .task-summary-chart-legend-count{color:var(--color-text-secondary)}.task-summary-chart-legend-item--static{cursor:default}.task-summary-chart-legend-swatch{width:8px;height:8px;border-radius:2px;flex-shrink:0}.task-summary-chart-legend-swatch--all{background:var(--color-background-secondary);border:.5px solid var(--color-border-secondary)}.task-summary-chart-legend-swatch--overdue{background:var(--color-danger)}.task-summary-chart-legend-swatch--open{background:var(--color-data-warn)}.task-summary-chart-legend-swatch--done{background:var(--color-data-ok)}.task-summary-chart-legend-swatch--other{background:var(--color-text-tertiary)}.task-summary-chart-legend-count{font-size:12px;font-weight:500;color:var(--color-text-primary)}.task-list-card{padding:0;overflow:hidden}.task-list-toolbar{display:flex;align-items:center;gap:10px;padding:12px;border-bottom:.5px solid var(--color-border-tertiary)}.task-list-search{flex:1;min-width:0}.task-list-meta{font-size:12px;color:var(--color-text-secondary);white-space:nowrap}.task-sections{padding:0 12px 12px}.task-section+.task-section{border-top:.5px solid var(--color-border-tertiary);padding-top:1.25rem;margin-top:1.25rem}.task-section-title{margin:0 0 10px;font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary);display:flex;align-items:center;gap:8px}.task-section-count{font-size:11px;font-weight:500;letter-spacing:normal;text-transform:none;color:var(--color-text-secondary);padding:1px 6px;border:.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-md)}.task-item-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.task-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px 14px;border:.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-md);background:var(--color-background-primary);transition:background .15s ease,border-color .15s ease}.task-item:hover{border-color:var(--color-border-secondary);background:var(--surface-1, var(--color-background-secondary))}.task-item--overdue{border-left:2px solid var(--color-danger);padding-left:12px}.task-item--today{border-left:2px solid var(--color-primary);padding-left:12px}.task-item--done{background:var(--surface-1, var(--color-background-secondary))}.task-item--cancelled{opacity:.65}.task-item-check-wrap{position:relative;flex-shrink:0;width:20px;height:20px;cursor:pointer;display:block}.task-item-check{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:2}.task-item-check-ui{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:.5px solid var(--color-border-strong, var(--color-border-secondary));border-radius:6px;background:var(--color-background-primary);pointer-events:none;z-index:1;transition:background .15s ease,border-color .15s ease}.task-item-check-wrap.is-checked .task-item-check-ui,.task-item-check:checked+.task-item-check-ui{background:var(--color-primary);border-color:var(--color-primary)}.task-item-check-wrap.is-checked .task-item-check-ui:after,.task-item-check:checked+.task-item-check-ui:after{content:"";width:5px;height:9px;border:solid var(--color-primary-foreground);border-width:0 2px 2px 0;transform:rotate(45deg) translateY(-1px)}.task-item-check:disabled+.task-item-check-ui{opacity:.45}.task-item-content{min-width:0}.task-item-body{display:block;width:100%;border:none;background:transparent;padding:0;text-align:left;cursor:pointer;font-family:inherit}.task-item-body:hover .task-item-title{color:var(--color-primary-hover)}.task-item-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px}.task-item-title{font-size:14px;font-weight:500;color:var(--color-text-primary);line-height:1.35;transition:color .15s ease}.task-item--done .task-item-title{text-decoration:line-through;color:var(--color-text-secondary)}.task-urgency{font-size:11px;font-weight:500;padding:1px 7px;border-radius:var(--border-radius-md);border:.5px solid var(--color-border-tertiary);white-space:nowrap}.task-urgency--overdue{color:var(--color-danger);border-color:color-mix(in srgb,var(--color-danger) 35%,transparent);background:var(--color-danger-soft)}.task-urgency--today{color:var(--color-primary-hover);border-color:color-mix(in srgb,var(--color-primary) 35%,transparent);background:var(--color-primary-muted)}.task-item-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:4px;font-size:12px;color:var(--color-text-secondary);line-height:1.35}.task-item-date{color:var(--color-text-secondary)}.task-item-links{color:var(--color-text-tertiary)}.task-item-links:before{content:"·";margin-right:10px;color:var(--color-border-strong, var(--color-border-tertiary))}.task-item-priority:before{content:"·";margin-right:10px;color:var(--color-border-strong, var(--color-border-tertiary))}.task-item-priority{color:var(--color-text-tertiary)}.task-item-menu-btn{flex-shrink:0}.task-row-menu-backdrop{z-index:200}.task-row-menu-panel{z-index:201}.task-priority-dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:6px;vertical-align:middle}.task-priority-dot--high{background:var(--color-danger-text)}.task-empty-state{padding:1.5rem 12px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}.task-cal-card{padding:12px}.task-cal-intro{margin-bottom:12px}.task-cal-hint{margin:0 0 10px;font-size:12px;color:var(--color-text-secondary)}.task-cal-legend{display:flex;flex-wrap:wrap;gap:8px 14px}.task-cal-legend-item{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:500;color:var(--color-text-secondary)}.task-cal-legend-swatch{width:12px;height:12px;border-radius:4px;border:.5px solid var(--color-border-tertiary);flex-shrink:0}.task-cal-legend-swatch--overdue{background:var(--color-danger-soft);border-color:color-mix(in srgb,var(--color-danger) 40%,transparent)}.task-cal-legend-swatch--high{background:color-mix(in srgb,var(--color-warning-soft) 80%,var(--surface-0));border-color:color-mix(in srgb,var(--color-warning) 35%,transparent)}.task-cal-legend-swatch--normal{background:var(--color-primary-muted);border-color:color-mix(in srgb,var(--color-primary) 30%,transparent)}.task-cal-legend-swatch--low{background:var(--surface-1);border-color:var(--color-border-secondary)}.task-cal-legend-swatch--done{background:var(--surface-2);border-color:var(--color-border-tertiary);opacity:.7}.task-month-cal .month-cal-dow{font-weight:500}.task-month-cal .month-cal-today{box-shadow:inset 0 0 0 2px var(--color-primary)}.task-cal-cell{position:relative;min-height:100px;transition:background .15s ease}.task-cal-cell:hover{background:var(--surface-1, var(--color-background-secondary))}.task-cal-cell-head{position:relative;z-index:2;padding-bottom:2px}.task-cal-slots{position:relative;z-index:2;display:flex;flex-direction:column;gap:3px;min-height:0}.task-cal-add-hover{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;margin:0;padding:0;border:none;border-radius:0;background:color-mix(in srgb,var(--color-primary-muted) 55%,transparent);color:var(--color-primary-hover);cursor:pointer;font-family:inherit;opacity:0;pointer-events:none;transition:opacity .15s ease,background .15s ease}.task-cal-cell:hover .task-cal-add-hover{opacity:1;pointer-events:auto}.task-cal-cell:has(.task-cal-slot:hover) .task-cal-add-hover{opacity:0;pointer-events:none}.task-cal-add-hover:hover{background:color-mix(in srgb,var(--color-primary-muted) 85%,transparent)}.task-cal-add-hover:focus-visible{opacity:1;pointer-events:auto;outline:2px solid var(--color-primary);outline-offset:-2px}.task-cal-add-hover-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:.5px solid color-mix(in srgb,var(--color-primary) 40%,transparent);border-radius:var(--border-radius-md);background:var(--surface-0);font-size:18px;font-weight:500;line-height:1}.task-cal-add-hover-label{font-size:11px;font-weight:500;letter-spacing:.02em}.task-cal-cell--has-tasks .task-cal-add-hover{align-items:flex-end;justify-content:flex-end;padding:6px;background:linear-gradient(to top,color-mix(in srgb,var(--color-primary-muted) 70%,transparent) 0%,transparent 55%)}.task-cal-cell--has-tasks:hover .task-cal-add-hover-icon{width:24px;height:24px;font-size:16px}.task-cal-cell--has-tasks .task-cal-add-hover-label,.task-cal-cell--has-tasks:hover .task-cal-add-hover-label{display:none}.task-cal-slot{position:relative;z-index:3;width:100%;text-align:left;border:.5px solid var(--color-border-tertiary);background:var(--surface-1);color:var(--color-text-primary);cursor:pointer;font-family:inherit;transition:background .15s ease,border-color .15s ease}.task-cal-slot:hover{border-color:var(--color-border-secondary);filter:brightness(.98)}.task-cal-slot--priority-normal{background:var(--color-primary-muted);border-color:color-mix(in srgb,var(--color-primary) 28%,transparent);color:var(--color-primary-hover)}.task-cal-slot--priority-high{background:var(--color-warning-soft);border-color:color-mix(in srgb,var(--color-warning) 40%,transparent);color:var(--color-warning-foreground)}.task-cal-slot--priority-low{background:var(--surface-1);border-color:var(--color-border-secondary);color:var(--color-text-secondary)}.task-cal-slot--overdue{background:var(--color-danger-soft);border-color:color-mix(in srgb,var(--color-danger) 45%,transparent);color:var(--color-danger)}.task-cal-slot--done{background:var(--surface-2);border-color:var(--color-border-tertiary);color:var(--color-text-tertiary);opacity:.65}.task-cal-slot--done .task-cal-slot-title{text-decoration:line-through}.task-cal-slot--cancelled{background:var(--surface-2);border-color:var(--color-border-tertiary);color:var(--color-text-tertiary);opacity:.5}.task-cal-slot-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-nodate-panel{margin-top:1.25rem;padding-top:1.25rem;border-top:.5px solid var(--color-border-tertiary)}.task-form-modal{max-width:440px;width:calc(100% - 24px);padding:0;display:flex;flex-direction:column;max-height:min(90vh,640px)}.task-form-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:1rem 1rem 0}.task-form-modal-header h3{margin:0;font-size:16px;font-weight:500}.task-form-modal-lead{margin:4px 0 0;font-size:12px;color:var(--color-text-secondary)}.task-form-modal-close{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-md);background:transparent;color:var(--color-text-secondary);cursor:pointer}.task-form-modal-body{padding:1rem;overflow-y:auto;flex:1;min-height:0}.task-form-modal-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 1rem;border-top:.5px solid var(--color-border-tertiary);background:var(--color-background-primary)}.task-form-modal-footer-actions{display:flex;justify-content:flex-end;gap:8px;margin-left:auto}.task-form-delete-btn{flex-shrink:0}.task-form-footer-spacer{display:block;flex:0 0 auto}.task-form-input{width:100%;min-height:36px}.task-form-textarea{width:100%;min-height:72px;resize:vertical}.task-form-quick-dates,.task-form-quick-priority{margin-top:1rem}.task-form-preset-date-readonly{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 10px;margin-bottom:8px;padding:8px 10px;border:.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-md);background:var(--surface-1, var(--color-background-secondary))}.task-form-preset-date-value{font-size:14px;font-weight:500;color:var(--color-text-primary)}.task-form-preset-date-note{font-size:11px;color:var(--color-text-tertiary)}.task-form-quick-btn--priority-high.task-form-quick-btn--active{border-color:color-mix(in srgb,var(--color-warning) 50%,transparent);background:var(--color-warning-soft);color:var(--color-warning-foreground)}.task-form-quick-btn--priority-low.task-form-quick-btn--active{border-color:var(--color-border-secondary);background:var(--surface-2);color:var(--color-text-secondary)}.task-form-quick-label{display:block;margin-bottom:4px;font-size:12px;color:var(--color-text-secondary)}.task-form-quick-date-btns{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.task-form-quick-btn{padding:6px 12px;border:.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-md);background:var(--color-background-primary);font-size:12px;font-weight:500;color:var(--color-text-secondary);cursor:pointer;font-family:inherit;transition:background .15s ease,border-color .15s ease}.task-form-quick-btn--active{border-color:var(--color-brand);background:var(--color-brand-subtle, var(--color-background-secondary));color:var(--color-text-primary)}.task-form-date-row{display:grid;grid-template-columns:1fr auto;gap:8px}.task-form-date-row--time-only{grid-template-columns:1fr}.task-form-date-row--time-only .task-form-time{width:100%;max-width:none}.task-form-time{width:7.5rem}.task-form-details-wrap{margin-top:1.25rem;padding-top:1.25rem;border-top:.5px solid var(--color-border-tertiary)}.task-form-details-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 0;border:none;background:transparent;font-size:13px;font-weight:500;color:var(--color-text-primary);cursor:pointer;font-family:inherit;text-align:left}.task-form-details-hint{font-size:12px;font-weight:400;color:var(--color-text-secondary)}.task-form-details-panel{padding-top:12px;display:flex;flex-direction:column;gap:0}.task-form-details-panel .form-row{margin-bottom:12px}.task-form-details-panel .form-row:last-child{margin-bottom:0}
