@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;600;700;800&family=DM+Sans:wght@400;500;700&display=swap";.landing-header[data-v-107f39e1]{position:sticky;top:0;z-index:100;background:#fffffff7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-soft)}.header-container[data-v-107f39e1]{max-width:1400px;margin:0 auto;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center}.logo[data-v-107f39e1]{display:flex;align-items:center;gap:.75rem;text-decoration:none}.logo-icon[data-v-107f39e1]{width:40px;height:40px;background:linear-gradient(135deg,var(--primary),var(--primary-light));border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.logo-icon svg[data-v-107f39e1]{width:24px;height:24px;fill:#fff}.logo-text[data-v-107f39e1]{font-family:Outfit,sans-serif;font-size:1.75rem;font-weight:800;line-height:1}.sp[data-v-107f39e1]{color:var(--primary)}.easy[data-v-107f39e1]{color:var(--accent)}.desktop-nav[data-v-107f39e1]{display:flex;align-items:center;gap:2rem}.nav-link[data-v-107f39e1]{color:var(--text-dark);text-decoration:none;font-weight:600;font-size:1rem;transition:color .2s;cursor:pointer}.nav-link[data-v-107f39e1]:hover{color:var(--primary)}.desktop-auth[data-v-107f39e1]{display:flex;align-items:center;gap:1rem}.mobile-menu-toggle[data-v-107f39e1]{display:none;background:none;border:none;color:var(--text-dark);cursor:pointer;padding:.5rem;border-radius:8px;transition:background .15s}.mobile-menu-toggle[data-v-107f39e1]:hover{background:var(--bg-cream, #FAF8F5)}.fade-enter-active[data-v-107f39e1],.fade-leave-active[data-v-107f39e1]{transition:opacity .25s ease}.fade-enter-from[data-v-107f39e1],.fade-leave-to[data-v-107f39e1]{opacity:0}.slide-enter-active[data-v-107f39e1],.slide-leave-active[data-v-107f39e1]{transition:transform .28s cubic-bezier(.4,0,.2,1)}.slide-enter-from[data-v-107f39e1],.slide-leave-to[data-v-107f39e1]{transform:translate(100%)}@media (max-width: 768px){.desktop-nav[data-v-107f39e1],.desktop-auth[data-v-107f39e1]{display:none}.mobile-menu-toggle[data-v-107f39e1]{display:flex;align-items:center;justify-content:center}.logo-text[data-v-107f39e1]{font-size:1.5rem}.header-container[data-v-107f39e1]{padding:1rem 1.25rem}}.mobile-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f191499;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);z-index:1998}.mobile-drawer{position:fixed;top:0;right:0;bottom:0;width:min(300px,85vw);background:#fff;z-index:1999;display:flex;flex-direction:column;box-shadow:-8px 0 40px #0000002e;overflow-y:auto;overflow-x:hidden}.drawer-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid #E8E3DC;flex-shrink:0}.drawer-logo{font-family:Outfit,DM Sans,sans-serif;font-size:1.5rem;font-weight:800;line-height:1}.drawer-logo .sp{color:#2d6a4f}.drawer-logo .easy{color:#f4a261}.drawer-close{background:#f5f5f3;border:none;border-radius:50%;width:34px;height:34px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#1a1a1a;transition:background .15s;flex-shrink:0}.drawer-close:hover{background:#eceae6}.drawer-nav{display:flex;flex-direction:column;padding:.75rem 1rem;gap:.15rem;flex-shrink:0}.drawer-link{display:block;padding:.875rem 1rem;color:#1a1a1a;text-decoration:none;font-weight:600;font-size:1.05rem;border-radius:10px;transition:background .15s,color .15s;font-family:DM Sans,Outfit,sans-serif;cursor:pointer}.drawer-link:hover,.drawer-link.router-link-active{background:#f0f7f4;color:#2d6a4f}.drawer-divider{height:1px;background:#e8e3dc;margin:0 1.5rem;flex-shrink:0}.drawer-auth{display:flex;flex-direction:column;gap:.75rem;padding:1.25rem 1.5rem;flex-shrink:0}.drawer-btn{display:block;width:100%;padding:.875rem 1rem;border-radius:10px;font-size:.975rem;font-weight:700;text-align:center;cursor:pointer;border:none;text-decoration:none;font-family:DM Sans,Outfit,sans-serif;transition:all .15s}.drawer-btn-primary{background:#2d6a4f;color:#fff}.drawer-btn-primary:hover{background:#245a42}.drawer-btn-outline{background:transparent;color:#2d6a4f;border:2px solid #2D6A4F}.drawer-btn-outline:hover{background:#f0f7f4}.hero-section[data-v-cdc00c7d]{padding:6rem 0;text-align:center;background:var(--bg-cream)}.container[data-v-cdc00c7d]{max-width:1200px;margin:0 auto;padding:0 2rem}.hero-section h1[data-v-cdc00c7d]{font-size:3.5rem;font-weight:800;margin-bottom:1.5rem;color:var(--text-dark);line-height:1.2}.hero-subtitle[data-v-cdc00c7d]{font-size:1.25rem;color:var(--text-gray);max-width:600px;margin:0 auto 2.5rem;line-height:1.6}.hero-cta[data-v-cdc00c7d]{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.btn-demo-hero[data-v-cdc00c7d]{display:inline-flex;align-items:center;gap:.5rem}.hero-demo-note[data-v-cdc00c7d]{margin-top:.875rem;font-size:.85rem;color:var(--text-gray, #64748B)}.btn-large[data-v-cdc00c7d]{padding:1rem 2rem;font-size:1.125rem}@media (max-width: 768px){.hero-section[data-v-cdc00c7d]{padding:4rem 0}.hero-section h1[data-v-cdc00c7d]{font-size:2.5rem}.hero-subtitle[data-v-cdc00c7d]{font-size:1.125rem}.hero-cta[data-v-cdc00c7d]{flex-direction:column;align-items:stretch}.btn-large[data-v-cdc00c7d]{width:100%}}.features[data-v-cf59011f]{background:#fff;padding:6rem 2rem}.container[data-v-cf59011f]{max-width:1200px;margin:0 auto}.section-header[data-v-cf59011f]{text-align:center;margin-bottom:4rem}.section-label[data-v-cf59011f]{display:inline-block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:#2d6a4f;background:#d1fae5;padding:.35rem .9rem;border-radius:999px;margin-bottom:1rem}.section-header h2[data-v-cf59011f]{font-size:2.75rem;font-weight:800;margin-bottom:1rem;color:#1a1a1a}.section-header p[data-v-cf59011f]{font-size:1.25rem;color:var(--text-gray, #5A5A5A)}.features-grid[data-v-cf59011f]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.feature-card[data-v-cf59011f]{padding:2rem;border-radius:16px;background:var(--bg-cream, #FAF8F5);border:1.5px solid transparent;transition:all .25s ease;cursor:pointer;display:flex;flex-direction:column;gap:.5rem;outline:none}.feature-card[data-v-cf59011f]:hover,.feature-card[data-v-cf59011f]:focus-visible{transform:translateY(-4px);box-shadow:0 12px 30px #2d6a4f1f;border-color:#2d6a4f33;background:#fff}.feature-icon-wrap[data-v-cf59011f]{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:.75rem}.feature-icon[data-v-cf59011f]{font-size:1.75rem;line-height:1}.feature-card h3[data-v-cf59011f]{font-size:1.2rem;font-weight:700;color:#1a1a1a;margin:0}.feature-card p[data-v-cf59011f]{color:var(--text-gray, #5A5A5A);line-height:1.7;font-size:.95rem;margin:0;flex:1}.learn-more[data-v-cf59011f]{font-size:.85rem;font-weight:600;color:#2d6a4f;margin-top:.5rem;display:flex;align-items:center;gap:.25rem}.arrow[data-v-cf59011f]{transition:transform .2s}.feature-card:hover .arrow[data-v-cf59011f]{transform:translate(4px)}.modal-backdrop[data-v-cf59011f]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:1.5rem}.modal[data-v-cf59011f]{background:#fff;border-radius:20px;width:100%;max-width:580px;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 24px 64px #0003}.modal-close[data-v-cf59011f]{position:absolute;top:1rem;right:1rem;z-index:10;background:#ffffffd9;border:none;border-radius:50%;width:32px;height:32px;font-size:.8rem;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#1a1a1a;transition:background .15s}.modal-close[data-v-cf59011f]:hover{background:#fff}.modal-header[data-v-cf59011f]{display:flex;align-items:center;gap:1.25rem;padding:2rem 2rem 1.5rem;border-radius:20px 20px 0 0}.modal-icon[data-v-cf59011f]{font-size:2.5rem;line-height:1;flex-shrink:0}.modal-label[data-v-cf59011f]{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#2d6a4f;margin:0 0 .25rem}.modal-header h2[data-v-cf59011f]{font-size:1.5rem;font-weight:800;color:#1a1a1a;margin:0}.modal-body[data-v-cf59011f]{padding:1.5rem 2rem 2rem;display:flex;flex-direction:column;gap:1.75rem}.modal-description[data-v-cf59011f]{font-size:1rem;color:#4a4a4a;line-height:1.75;margin:0}.modal-preview[data-v-cf59011f]{background:#faf8f5;border-radius:14px;padding:1.25rem;border:1px solid #E8E3DC}.preview-label[data-v-cf59011f]{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#999;margin:0 0 1rem}.steps-label[data-v-cf59011f]{font-size:.85rem;font-weight:700;color:#1a1a1a;margin:0 0 .75rem;text-transform:uppercase;letter-spacing:.06em}.steps-list[data-v-cf59011f]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.steps-list li[data-v-cf59011f]{display:flex;align-items:flex-start;gap:.75rem;font-size:.95rem;color:#4a4a4a;line-height:1.6}.step-num[data-v-cf59011f]{min-width:24px;height:24px;border-radius:50%;background:#2d6a4f;color:#fff;font-size:.7rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}.modal-enter-active[data-v-cf59011f],.modal-leave-active[data-v-cf59011f]{transition:opacity .2s ease}.modal-enter-active .modal[data-v-cf59011f],.modal-leave-active .modal[data-v-cf59011f]{transition:transform .25s cubic-bezier(.34,1.56,.64,1),opacity .2s ease}.modal-enter-from[data-v-cf59011f],.modal-leave-to[data-v-cf59011f]{opacity:0}.modal-enter-from .modal[data-v-cf59011f]{transform:scale(.94) translateY(12px);opacity:0}[data-v-cf59011f] .preview-qr{display:flex;justify-content:center}[data-v-cf59011f] .qr-card{display:flex;align-items:center;gap:1.25rem;background:#fff;border-radius:12px;padding:1rem 1.25rem;border:1px solid #E8E3DC}[data-v-cf59011f] .qr-grid{display:grid;grid-template-columns:repeat(7,10px);grid-template-rows:repeat(7,10px);gap:2px}[data-v-cf59011f] .qr-cell{width:10px;height:10px;border-radius:2px;background:#e8e3dc}[data-v-cf59011f] .qr-cell.filled{background:#1a1a1a}[data-v-cf59011f] .qr-name{font-weight:700;font-size:.9rem;color:#1a1a1a;margin:0 0 .2rem}[data-v-cf59011f] .qr-sub{font-size:.8rem;color:#5a5a5a;margin:0 0 .5rem}[data-v-cf59011f] .qr-badge{font-size:.75rem;background:#d1fae5;color:#2d6a4f;padding:.2rem .6rem;border-radius:999px;font-weight:600}[data-v-cf59011f] .preview-goals{display:flex;flex-direction:column;gap:1rem}[data-v-cf59011f] .goal-row{display:flex;flex-direction:column;gap:.4rem}[data-v-cf59011f] .goal-meta{display:flex;justify-content:space-between}[data-v-cf59011f] .goal-label{font-size:.85rem;color:#1a1a1a;font-weight:500}[data-v-cf59011f] .goal-pct{font-size:.85rem;font-weight:700}[data-v-cf59011f] .goal-bar-bg{height:8px;background:#e8e3dc;border-radius:999px;overflow:hidden}[data-v-cf59011f] .goal-bar-fill{height:100%;border-radius:999px;transition:width .6s ease}[data-v-cf59011f] .preview-behavior{display:flex;flex-direction:column;gap:.75rem}[data-v-cf59011f] .behavior-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}[data-v-cf59011f] .bh-name{font-weight:700;font-size:.9rem;color:#1a1a1a}[data-v-cf59011f] .bh-date{font-size:.8rem;color:#999}[data-v-cf59011f] .behavior-row{display:flex;align-items:center;gap:.75rem;background:#fff;border-radius:10px;padding:.6rem .8rem;border:1px solid #E8E3DC}[data-v-cf59011f] .b-icon{font-size:1.1rem}[data-v-cf59011f] .b-info{flex:1;display:flex;flex-direction:column}[data-v-cf59011f] .b-name{font-size:.85rem;font-weight:600;color:#1a1a1a}[data-v-cf59011f] .b-cat{font-size:.75rem;color:#999}[data-v-cf59011f] .b-count{font-size:.75rem;font-weight:700;color:#fff;padding:.2rem .5rem;border-radius:999px}[data-v-cf59011f] .preview-export{display:flex;flex-direction:column;gap:.75rem}[data-v-cf59011f] .export-toolbar{display:flex;justify-content:space-between;align-items:center}[data-v-cf59011f] .export-title{font-size:.85rem;font-weight:600;color:#1a1a1a}[data-v-cf59011f] .export-btn{font-size:.75rem;font-weight:600;color:#2d6a4f;background:#d1fae5;padding:.25rem .6rem;border-radius:6px;cursor:pointer}[data-v-cf59011f] .export-table{width:100%;border-collapse:collapse;font-size:.8rem}[data-v-cf59011f] .export-table th{text-align:left;color:#999;font-weight:600;padding:.3rem .5rem;border-bottom:1px solid #E8E3DC}[data-v-cf59011f] .export-table td{padding:.4rem .5rem;color:#1a1a1a;border-bottom:1px solid #F0EDE8}[data-v-cf59011f] .export-table .green{color:#2d6a4f;font-weight:700}[data-v-cf59011f] .preview-acc{display:flex;flex-direction:column;gap:.6rem}[data-v-cf59011f] .acc-chip{display:flex;align-items:center;gap:.6rem;background:#fff;border:1px solid #E8E3DC;border-radius:10px;padding:.6rem .8rem}[data-v-cf59011f] .acc-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}[data-v-cf59011f] .acc-title{font-size:.85rem;font-weight:600;color:#1a1a1a;flex:1}[data-v-cf59011f] .acc-cat{font-size:.75rem;font-weight:600}[data-v-cf59011f] .preview-bulk{display:flex;flex-direction:column;gap:1rem}[data-v-cf59011f] .bulk-drop{display:flex;align-items:center;gap:.75rem;background:#fff;border:2px dashed #2D6A4F;border-radius:12px;padding:1rem}[data-v-cf59011f] .bulk-icon{font-size:1.5rem}[data-v-cf59011f] .bulk-main{font-size:.85rem;font-weight:600;color:#1a1a1a;margin:0}[data-v-cf59011f] .bulk-sub{font-size:.75rem;color:#5a5a5a;margin:0}[data-v-cf59011f] .bulk-check{margin-left:auto;font-size:1.25rem;color:#2d6a4f}[data-v-cf59011f] .bulk-stats{display:flex;gap:.75rem}[data-v-cf59011f] .bulk-stat{flex:1;background:#fff;border:1px solid #E8E3DC;border-radius:10px;padding:.6rem;text-align:center}[data-v-cf59011f] .bulk-stat span{font-size:1.25rem;font-weight:800;color:#2d6a4f;display:block}[data-v-cf59011f] .bulk-stat p{font-size:.7rem;color:#999;margin:0}[data-v-cf59011f] .bulk-stat.warn span{color:#f4a261}[data-v-cf59011f] .preview-roles{display:flex;flex-direction:column;gap:.6rem}[data-v-cf59011f] .role-row{display:flex;align-items:center;gap:.75rem}[data-v-cf59011f] .role-badge{font-size:.75rem;font-weight:700;color:#fff;padding:.3rem .7rem;border-radius:999px;white-space:nowrap}[data-v-cf59011f] .role-perms{display:flex;gap:.4rem;flex-wrap:wrap}[data-v-cf59011f] .role-perm{font-size:.75rem;background:#f0f0f0;color:#4a4a4a;padding:.2rem .5rem;border-radius:6px}[data-v-cf59011f] .preview-notes{display:flex;flex-direction:column;gap:.75rem}[data-v-cf59011f] .note-card{background:#fff;border:1px solid #E8E3DC;border-radius:10px;padding:.8rem 1rem}[data-v-cf59011f] .note-meta{display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem}[data-v-cf59011f] .note-meta strong{font-size:.8rem;color:#1a1a1a}[data-v-cf59011f] .note-time{font-size:.75rem;color:#999}[data-v-cf59011f] .note-private{font-size:.7rem;background:#fef3c7;color:#d97706;padding:.15rem .4rem;border-radius:4px;margin-left:auto}[data-v-cf59011f] .note-text{font-size:.85rem;color:#4a4a4a;line-height:1.6;margin:0}[data-v-cf59011f] .preview-mobile{display:flex;justify-content:center}[data-v-cf59011f] .phone-frame{width:180px;background:#1a1a1a;border-radius:24px;padding:12px 8px;box-shadow:0 8px 24px #0003}[data-v-cf59011f] .phone-screen{background:#faf8f5;border-radius:16px;padding:10px;display:flex;flex-direction:column;gap:6px}[data-v-cf59011f] .phone-bar{display:flex;justify-content:space-between;align-items:center;padding:0 4px 4px;border-bottom:1px solid #E8E3DC;margin-bottom:2px}[data-v-cf59011f] .phone-bar span:first-child{font-size:.7rem;font-weight:700;color:#2d6a4f}[data-v-cf59011f] .phone-dot{width:6px;height:6px;background:#2d6a4f;border-radius:50%}[data-v-cf59011f] .phone-card{background:#fff;border-radius:8px;padding:6px 8px;border:1px solid #E8E3DC}[data-v-cf59011f] .phone-name{font-size:.7rem;font-weight:700;color:#1a1a1a;margin:0}[data-v-cf59011f] .phone-detail{font-size:.6rem;color:#999;margin:0}.coming-soon[data-v-39b564d8]{position:relative;background:#0d1b14;padding:7rem 2rem 6rem;overflow:hidden}.cs-bg-pattern[data-v-39b564d8]{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle,rgba(45,106,79,.18) 1px,transparent 1px);background-size:32px 32px;pointer-events:none}.container[data-v-39b564d8]{max-width:1200px;margin:0 auto;position:relative;z-index:1}.cs-header[data-v-39b564d8]{text-align:center;margin-bottom:4rem}.cs-eyebrow[data-v-39b564d8]{display:inline-flex;align-items:center;gap:.4rem;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.15em;color:#40916c;background:#40916c1f;border:1px solid rgba(64,145,108,.3);padding:.35rem .875rem;border-radius:999px;margin-bottom:1.25rem}.cs-header h2[data-v-39b564d8]{font-size:clamp(2.25rem,5vw,3.25rem);font-weight:900;color:#fff;letter-spacing:-.02em;margin:0 0 1rem;line-height:1.1}.cs-header p[data-v-39b564d8]{font-size:1.1rem;color:#ffffff8c;max-width:560px;margin:0 auto;line-height:1.7}.cs-grid[data-v-39b564d8]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.25rem}.cs-card[data-v-39b564d8]{border-radius:16px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;transition:transform .25s ease,box-shadow .25s ease,background .25s ease;animation:cs-fade-up-39b564d8 .5s ease both;animation-delay:var(--delay, 0ms)}@keyframes cs-fade-up-39b564d8{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.cs-card[data-v-39b564d8]:hover{transform:translateY(-4px);background:#ffffff12;box-shadow:0 16px 40px #00000059}.cs-card--featured[data-v-39b564d8]{border-left:3px solid #40916C;background:#2d6a4f14}.cs-card--featured[data-v-39b564d8]:hover{background:#2d6a4f1f;box-shadow:0 16px 40px #2d6a4f33}.cs-card-inner[data-v-39b564d8]{padding:1.75rem;display:flex;flex-direction:column;gap:.625rem;height:100%}.cs-icon-wrap[data-v-39b564d8]{width:48px;height:48px;border-radius:12px;background:#ffffff12;display:flex;align-items:center;justify-content:center;margin-bottom:.5rem}.cs-icon[data-v-39b564d8]{font-size:1.5rem;line-height:1}.cs-phase-badge[data-v-39b564d8]{display:inline-flex;align-self:flex-start;font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;padding:.2rem .55rem;border-radius:999px;margin-bottom:.25rem}.phase-soon[data-v-39b564d8]{background:#40916c33;color:#6ee7b7;border:1px solid rgba(110,231,183,.25)}.phase-later[data-v-39b564d8]{background:#f59e0b26;color:#fcd34d;border:1px solid rgba(252,211,77,.2)}.phase-future[data-v-39b564d8]{background:#94a3b81a;color:#94a3b8;border:1px solid rgba(148,163,184,.2)}.cs-card h3[data-v-39b564d8]{font-size:1.05rem;font-weight:800;color:#fff;margin:0;letter-spacing:-.01em}.cs-card p[data-v-39b564d8]{font-size:.875rem;color:#ffffff8c;line-height:1.65;margin:0}.cs-detail[data-v-39b564d8]{font-size:.78rem;color:#ffffff59;line-height:1.6;padding-top:.5rem;border-top:1px solid rgba(255,255,255,.07);margin-top:auto}.cs-footer[data-v-39b564d8]{text-align:center;margin-top:3.5rem;font-size:.9rem;color:#fff6}.cs-link[data-v-39b564d8]{color:#40916c;text-decoration:none;font-weight:600;transition:color .15s}.cs-link[data-v-39b564d8]:hover{color:#6ee7b7}@media (max-width: 640px){.coming-soon[data-v-39b564d8]{padding:5rem 1.25rem 4rem}.cs-grid[data-v-39b564d8]{grid-template-columns:1fr}.cs-header h2[data-v-39b564d8]{font-size:2rem}}.cta[data-v-46fa67eb]{background:linear-gradient(135deg,var(--primary-dark),var(--primary));color:#fff;padding:6rem 2rem;text-align:center;position:relative;overflow:hidden}.cta[data-v-46fa67eb]:before{content:"";position:absolute;top:-50%;right:-20%;width:600px;height:600px;background:radial-gradient(circle,rgba(255,255,255,.1),transparent)}.cta-content[data-v-46fa67eb]{max-width:800px;margin:0 auto;position:relative;z-index:1}.cta h2[data-v-46fa67eb]{font-size:3rem;font-weight:800;margin-bottom:1.5rem}.cta p[data-v-46fa67eb]{font-size:1.25rem;margin-bottom:2.5rem;opacity:.95}.cta .btn-primary[data-v-46fa67eb]{background:#fff;color:var(--primary);font-size:1.125rem;padding:1rem 2.5rem}.footer[data-v-27fa32d2]{background:var(--text-dark);color:#fff;padding:4rem 2rem 2rem}.footer-content[data-v-27fa32d2]{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3rem}.footer-about h3[data-v-27fa32d2]{font-size:1.5rem;font-weight:700;margin-bottom:1rem}.footer-about p[data-v-27fa32d2]{opacity:.8;line-height:1.7}.footer-links h4[data-v-27fa32d2]{font-weight:700;margin-bottom:1rem}.footer-links ul[data-v-27fa32d2]{list-style:none}.footer-links a[data-v-27fa32d2]{color:#fff;text-decoration:none;opacity:.7;display:block;padding:.5rem 0;transition:opacity .3s}.footer-links a[data-v-27fa32d2]:hover{opacity:1}.footer-phone[data-v-27fa32d2]{display:flex!important;align-items:center;gap:.35rem}.pwa-install-link[data-v-27fa32d2]{color:var(--accent)!important;opacity:.9!important}.pwa-install-link[data-v-27fa32d2]:hover{opacity:1!important}.pwa-available[data-v-27fa32d2]{display:block;padding:.5rem 0;opacity:.5;font-size:.9rem}.footer-bottom[data-v-27fa32d2]{text-align:center;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1);opacity:.6}.footer-social[data-v-27fa32d2]{padding:2rem 0;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:2rem;display:flex;align-items:center;gap:2rem;flex-wrap:wrap}.footer-social h4[data-v-27fa32d2]{font-weight:700;font-size:.875rem;text-transform:uppercase;letter-spacing:.08em;opacity:.5;white-space:nowrap}.social-icons[data-v-27fa32d2]{display:flex;gap:.75rem;flex-wrap:wrap}.social-icon[data-v-27fa32d2]{display:flex;align-items:center;gap:.5rem;color:#fff;text-decoration:none;background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:.5rem .875rem;font-size:.875rem;font-weight:500;transition:background .2s,border-color .2s,transform .15s}.social-icon[data-v-27fa32d2]:hover{background:#ffffff26;border-color:#ffffff47;transform:translateY(-1px)}.social-icon--soon[data-v-27fa32d2]{opacity:.45;cursor:default}.social-icon--soon[data-v-27fa32d2]:hover{background:#ffffff14;border-color:#ffffff1f;transform:none}.social-icon--soon em[data-v-27fa32d2]{font-style:normal;font-size:.72rem;background:#ffffff2e;border-radius:4px;padding:1px 5px;margin-left:2px;letter-spacing:.03em}@media (max-width: 968px){.footer-content[data-v-27fa32d2]{grid-template-columns:1fr}.footer-social[data-v-27fa32d2]{flex-direction:column;align-items:flex-start;gap:1rem}}.modal-overlay[data-v-74c2f463]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:1rem}.modal-content[data-v-74c2f463]{background:#fff;border-radius:24px;padding:3rem 2.5rem;max-width:480px;width:100%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 20px 60px #0000004d}.modal-close[data-v-74c2f463]{position:absolute;top:1.5rem;right:1.5rem;background:none;border:none;font-size:2rem;cursor:pointer;color:var(--text-gray);width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s;line-height:1}.modal-close[data-v-74c2f463]:hover{background:var(--bg-cream);color:var(--text-dark);transform:rotate(90deg)}.modal-header[data-v-74c2f463]{text-align:center;margin-bottom:2rem}.logo-icon[data-v-74c2f463]{width:64px;height:64px;background:linear-gradient(135deg,var(--primary),var(--primary-light));border-radius:16px;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;position:relative;overflow:hidden}.logo-icon[data-v-74c2f463]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.3),transparent)}.logo-icon svg[data-v-74c2f463]{width:36px;height:36px;fill:#fff;position:relative;z-index:1}.modal-header h2[data-v-74c2f463]{font-size:1.75rem;font-weight:800;margin-bottom:.5rem;color:var(--text-dark)}.brand-name[data-v-74c2f463]{font-family:Outfit,sans-serif}.brand-name .sp[data-v-74c2f463]{color:var(--primary)}.brand-name .easy[data-v-74c2f463]{color:var(--accent)}.modal-header p[data-v-74c2f463]{color:var(--text-gray);font-size:.95rem}.signin-context[data-v-74c2f463]{display:inline-flex;align-items:center;gap:6px;margin-top:.5rem;padding:.375rem .875rem;background:#2d6a4f14;border:1px solid rgba(45,106,79,.2);border-radius:20px;font-size:.85rem;font-weight:600;color:var(--primary)}.btn-google[data-v-74c2f463]{width:100%;padding:1rem;border:2px solid #E8E3DC;background:#fff;border-radius:12px;font-weight:600;font-size:1rem;display:flex;align-items:center;justify-content:center;gap:.75rem;cursor:pointer;transition:all .2s;font-family:DM Sans,sans-serif}.btn-google[data-v-74c2f463]:hover{border-color:var(--primary);background:var(--bg-cream);transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.divider[data-v-74c2f463]{position:relative;text-align:center;margin:2rem 0}.divider[data-v-74c2f463]:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:var(--border-soft)}.divider span[data-v-74c2f463]{position:relative;background:#fff;padding:0 1rem;color:var(--text-gray);font-size:.9rem}.login-form[data-v-74c2f463]{margin-bottom:1.5rem}.form-group[data-v-74c2f463]{margin-bottom:1.25rem}.form-group label[data-v-74c2f463]{display:block;margin-bottom:.5rem;font-weight:600;color:var(--text-dark);font-size:.9rem}.form-group input[data-v-74c2f463]{width:100%;padding:.875rem 1rem;border:2px solid var(--border-soft);border-radius:10px;font-size:1rem;font-family:DM Sans,sans-serif;transition:all .2s;box-sizing:border-box}.form-group input[data-v-74c2f463]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2d6a4f1a}.form-group input[data-v-74c2f463]:disabled{background:var(--bg-cream);cursor:not-allowed}.form-options[data-v-74c2f463]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;font-size:.9rem}.password-wrap[data-v-74c2f463]{position:relative}.password-wrap input[data-v-74c2f463]{padding-right:2.75rem}.pw-toggle[data-v-74c2f463]{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:1rem;line-height:1;padding:0}.checkbox-label[data-v-74c2f463]{display:flex;align-items:center;gap:.5rem;cursor:pointer;color:var(--text-dark)}.checkbox-label input[type=checkbox][data-v-74c2f463]{width:18px;height:18px;cursor:pointer}.forgot-link[data-v-74c2f463]{color:var(--primary);text-decoration:none;font-weight:600;transition:color .2s}.forgot-link[data-v-74c2f463]:hover{color:var(--primary-dark);text-decoration:underline}.btn-block[data-v-74c2f463]{width:100%;padding:1rem;font-size:1rem}.btn-outline-primary[data-v-74c2f463]{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.9rem 1rem;background:transparent;border:2px solid var(--primary, #2D6A4F);color:var(--primary, #2D6A4F);border-radius:10px;font-family:DM Sans,sans-serif;font-size:.95rem;font-weight:700;cursor:pointer;transition:all .2s}.btn-outline-primary[data-v-74c2f463]:hover:not(:disabled){background:#2d6a4f0f;transform:translateY(-1px)}.btn-outline-primary[data-v-74c2f463]:disabled{opacity:.55;cursor:not-allowed}.btn-spinner[data-v-74c2f463]{display:inline-block;width:15px;height:15px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin-74c2f463 .7s linear infinite;flex-shrink:0}.btn-spinner-green[data-v-74c2f463]{border-color:#2d6a4f4d;border-top-color:#2d6a4f}@keyframes spin-74c2f463{to{transform:rotate(360deg)}}.error-message[data-v-74c2f463]{margin-top:1rem;padding:.875rem 1rem;background:#fff5f5;border:1px solid #FFCDD2;border-radius:8px;color:#c62828;font-size:.9rem;text-align:center}.signup-prompt[data-v-74c2f463]{text-align:center;color:var(--text-gray);font-size:.95rem;padding-top:1.5rem;border-top:1px solid var(--border-soft)}.signup-prompt a[data-v-74c2f463]{color:var(--primary);text-decoration:none;font-weight:600}.signup-prompt a[data-v-74c2f463]:hover{text-decoration:underline}.google-account-panel[data-v-74c2f463]{text-align:center;padding-top:.5rem}.ga-icon-wrap[data-v-74c2f463]{margin-bottom:1.25rem}.ga-icon[data-v-74c2f463]{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,var(--primary, #2D6A4F),#40916C);margin:0 auto}.ga-icon svg[data-v-74c2f463]{width:38px;height:38px;fill:#fff}.ga-title[data-v-74c2f463]{font-size:1.5rem;font-weight:800;color:var(--text-dark, #1A1A1A);margin:0 0 .35rem}.ga-email[data-v-74c2f463]{font-size:.9rem;font-weight:600;color:var(--primary, #2D6A4F);margin:0 0 1rem;background:#2d6a4f12;display:inline-block;padding:.25rem .75rem;border-radius:999px}.ga-body[data-v-74c2f463]{font-size:.92rem;color:var(--text-gray, #5A5A5A);line-height:1.7;margin:0 0 1.75rem;text-align:left}.ga-hint[data-v-74c2f463]{font-size:.82rem;color:var(--text-gray, #5A5A5A);line-height:1.6;margin:.75rem 0 0;text-align:left}.btn-google-full[data-v-74c2f463]{margin-bottom:0}.ga-divider[data-v-74c2f463]{position:relative;text-align:center;margin:1.5rem 0}.ga-divider[data-v-74c2f463]:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:var(--border-soft, #E8E3DC)}.ga-divider span[data-v-74c2f463]{position:relative;background:#fff;padding:0 1rem;color:var(--text-gray);font-size:.9rem}.ga-sent[data-v-74c2f463]{background:#f0f7f4;border:1.5px solid rgba(45,106,79,.2);border-radius:12px;padding:1.25rem 1.5rem;text-align:center;margin-bottom:1rem}.ga-sent-icon[data-v-74c2f463]{font-size:2rem;margin-bottom:.5rem}.ga-sent-title[data-v-74c2f463]{font-size:1rem;font-weight:700;color:#2d6a4f;margin:0 0 .5rem}.ga-sent-body[data-v-74c2f463]{font-size:.875rem;color:var(--text-gray, #5A5A5A);line-height:1.65;margin:0 0 1rem}.btn-text-sm[data-v-74c2f463]{background:none;border:none;color:#2d6a4f;font-family:DM Sans,sans-serif;font-size:.85rem;font-weight:600;cursor:pointer;padding:.25rem .5rem;transition:opacity .2s}.btn-text-sm[data-v-74c2f463]:hover{opacity:.7}.back-btn[data-v-74c2f463]{display:inline-flex;align-items:center;gap:.375rem;margin-top:1.25rem;background:none;border:none;color:var(--text-gray, #5A5A5A);font-family:DM Sans,sans-serif;font-size:.875rem;font-weight:600;cursor:pointer;transition:color .2s;padding:.25rem}.back-btn[data-v-74c2f463]:hover{color:var(--primary, #2D6A4F)}.modal-fade-enter-active[data-v-74c2f463],.modal-fade-leave-active[data-v-74c2f463]{transition:opacity .3s ease}.modal-fade-enter-from[data-v-74c2f463],.modal-fade-leave-to[data-v-74c2f463]{opacity:0}.modal-fade-enter-active .modal-content[data-v-74c2f463]{transition:transform .3s ease,opacity .3s ease}.modal-fade-enter-from .modal-content[data-v-74c2f463]{transform:translateY(30px) scale(.95);opacity:0}@media (max-width: 640px){.modal-content[data-v-74c2f463]{padding:2rem 1.5rem}.modal-header h2[data-v-74c2f463]{font-size:1.5rem}.ga-title[data-v-74c2f463]{font-size:1.3rem}.form-options[data-v-74c2f463]{flex-direction:column;gap:.75rem;align-items:flex-start}}.modal-overlay[data-v-878f1e02]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:1rem;overflow-y:auto}.modal-content[data-v-878f1e02]{background:#fff;border-radius:24px;padding:3rem 2.5rem;max-width:520px;width:100%;max-height:92vh;overflow-y:auto;position:relative;animation:modalSlideIn-878f1e02 .3s ease-out;box-shadow:0 20px 60px #0000004d}.modal-content.wide[data-v-878f1e02]{max-width:860px}@keyframes modalSlideIn-878f1e02{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-close[data-v-878f1e02]{position:absolute;top:1.5rem;right:1.5rem;background:none;border:none;font-size:2rem;cursor:pointer;color:var(--text-gray);width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s;line-height:1}.modal-close[data-v-878f1e02]:hover{background:var(--bg-cream);color:var(--text-dark);transform:rotate(90deg)}.modal-header[data-v-878f1e02]{text-align:center;margin-bottom:2rem}.logo-icon[data-v-878f1e02]{width:64px;height:64px;background:linear-gradient(135deg,var(--primary),var(--primary-light));border-radius:16px;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;position:relative;overflow:hidden}.logo-icon[data-v-878f1e02]:before{content:"";position:absolute;width:100%;height:100%;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.3),transparent)}.logo-icon svg[data-v-878f1e02]{width:36px;height:36px;fill:#fff;position:relative;z-index:1}.modal-header h2[data-v-878f1e02]{font-size:1.75rem;font-weight:800;margin-bottom:.5rem;color:var(--text-dark)}.modal-header p[data-v-878f1e02]{color:var(--text-gray);font-size:.95rem}.btn-google[data-v-878f1e02]{width:100%;padding:1rem;border:2px solid #E8E3DC;background:#fff;border-radius:12px;font-weight:600;font-size:1rem;display:flex;align-items:center;justify-content:center;gap:.75rem;cursor:pointer;transition:all .3s;font-family:DM Sans,sans-serif}.btn-google[data-v-878f1e02]:hover{border-color:var(--primary);background:var(--bg-cream);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.divider[data-v-878f1e02]{position:relative;text-align:center;margin:2rem 0}.divider[data-v-878f1e02]:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:var(--border-soft)}.divider span[data-v-878f1e02]{position:relative;background:#fff;padding:0 1rem;color:var(--text-gray);font-size:.9rem}.signup-form[data-v-878f1e02]{margin-bottom:1.5rem}.form-row[data-v-878f1e02]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group[data-v-878f1e02]{margin-bottom:1.25rem}.form-group label[data-v-878f1e02]{display:block;margin-bottom:.5rem;font-weight:600;color:var(--text-dark);font-size:.9rem}.form-group input[data-v-878f1e02],.form-group select[data-v-878f1e02]{width:100%;padding:.875rem 1rem;border:2px solid var(--border-soft);border-radius:10px;font-size:1rem;font-family:DM Sans,sans-serif;transition:all .3s;box-sizing:border-box}.form-group input[data-v-878f1e02]:focus,.form-group select[data-v-878f1e02]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2d6a4f1a}.form-group input[data-v-878f1e02]:disabled,.form-group select[data-v-878f1e02]:disabled{background:var(--bg-cream);cursor:not-allowed}.password-wrap[data-v-878f1e02]{position:relative}.password-wrap input[data-v-878f1e02]{padding-right:2.75rem}.pw-toggle[data-v-878f1e02]{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:1rem;line-height:1;padding:0}.form-hint[data-v-878f1e02]{display:block;margin-top:.5rem;font-size:.85rem;color:var(--text-gray)}.checkbox-label[data-v-878f1e02]{display:flex;align-items:start;gap:.75rem;cursor:pointer;color:var(--text-dark);font-size:.9rem;line-height:1.5}.checkbox-label input[type=checkbox][data-v-878f1e02]{width:18px;height:18px;cursor:pointer;margin-top:.15rem;flex-shrink:0;accent-color:var(--primary)}.checkbox-label a[data-v-878f1e02]{color:var(--primary);text-decoration:none}.checkbox-label a[data-v-878f1e02]:hover{text-decoration:underline}.billing-toggle[data-v-878f1e02]{display:inline-flex;gap:.375rem;background:var(--bg-cream);border-radius:10px;padding:.375rem;margin-bottom:1.75rem}.billing-toggle button[data-v-878f1e02]{padding:.5rem 1.25rem;border:none;border-radius:7px;font-family:DM Sans,sans-serif;font-size:.875rem;font-weight:600;cursor:pointer;background:transparent;color:var(--text-gray);position:relative;transition:all .15s}.billing-toggle button.active[data-v-878f1e02]{background:var(--primary);color:#fff}.save-badge[data-v-878f1e02]{position:absolute;top:-8px;right:-6px;background:var(--accent, #F4A261);color:#fff;font-size:.6rem;padding:.15rem .4rem;border-radius:6px;font-weight:700}.plan-grid[data-v-878f1e02]{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem}.plan-card[data-v-878f1e02]{border:2px solid var(--border-soft);border-radius:16px;padding:1.5rem 1.25rem;cursor:pointer;position:relative;transition:all .2s;display:flex;flex-direction:column;gap:.5rem}.plan-card[data-v-878f1e02]:hover{border-color:var(--primary-light)}.plan-card.selected[data-v-878f1e02]{border-color:var(--primary);background:linear-gradient(135deg,#2d6a4f0a,#fff);box-shadow:0 0 0 2px #2d6a4f26}.plan-card.popular[data-v-878f1e02]{border-color:var(--primary)}.pop-badge[data-v-878f1e02]{position:absolute;top:-11px;left:50%;transform:translate(-50%);background:var(--primary);color:#fff;font-size:.65rem;font-weight:700;padding:.2rem .75rem;border-radius:20px;white-space:nowrap;text-transform:uppercase;letter-spacing:.4px}.plan-radio[data-v-878f1e02]{width:18px;height:18px;border-radius:50%;border:2px solid var(--border-soft);background:#fff;display:flex;align-items:center;justify-content:center;margin-left:auto;flex-shrink:0;transition:border-color .15s}.plan-card.selected .plan-radio[data-v-878f1e02]{border-color:var(--primary)}.radio-dot[data-v-878f1e02]{width:9px;height:9px;border-radius:50%;background:var(--primary)}.plan-card h3[data-v-878f1e02]{font-size:1.1rem;font-weight:700;color:var(--text-dark);margin-top:.25rem}.plan-price[data-v-878f1e02]{display:flex;align-items:baseline;gap:.2rem}.amount[data-v-878f1e02]{font-size:1.875rem;font-weight:800;color:var(--primary);line-height:1}.period[data-v-878f1e02]{font-size:.82rem;color:var(--text-gray)}.plan-desc[data-v-878f1e02]{font-size:.8rem;color:var(--text-gray);margin:0}.plan-features[data-v-878f1e02]{list-style:none;padding:0;margin:.25rem 0 0;display:flex;flex-direction:column;gap:.3rem;flex:1}.plan-features li[data-v-878f1e02]{font-size:.8rem;color:var(--text-dark);padding-left:1.1rem;position:relative}.plan-features li[data-v-878f1e02]:before{content:"✓";position:absolute;left:0;color:var(--primary);font-weight:700}.btn-block[data-v-878f1e02]{width:100%;padding:1rem;font-size:1rem}.continue-btn[data-v-878f1e02]{margin-bottom:.75rem}.back-link[data-v-878f1e02]{display:block;width:100%;text-align:center;background:none;border:none;color:var(--text-gray);font-family:DM Sans,sans-serif;font-size:.9rem;font-weight:600;cursor:pointer;padding:.5rem;transition:color .15s}.back-link[data-v-878f1e02]:hover{color:var(--text-dark)}.error-message[data-v-878f1e02]{margin-top:1rem;padding:.875rem 1rem;background:#fff5f5;border:1px solid #FFCDD2;border-radius:8px;color:#c62828;font-size:.9rem;text-align:center;margin-bottom:1rem}.login-prompt[data-v-878f1e02]{text-align:center;color:var(--text-gray);font-size:.95rem;padding-top:1.5rem;border-top:1px solid var(--border-soft)}.login-prompt a[data-v-878f1e02]{color:var(--primary);text-decoration:none;font-weight:600}.login-prompt a[data-v-878f1e02]:hover{color:var(--primary-dark);text-decoration:underline}.modal-fade-enter-active[data-v-878f1e02],.modal-fade-leave-active[data-v-878f1e02]{transition:opacity .3s ease}.modal-fade-enter-from[data-v-878f1e02],.modal-fade-leave-to[data-v-878f1e02]{opacity:0}@media (max-width: 768px){.modal-content.wide[data-v-878f1e02]{padding:2rem 1.25rem}.plan-grid[data-v-878f1e02]{grid-template-columns:1fr}}@media (max-width: 640px){.modal-content[data-v-878f1e02]{padding:2rem 1.5rem}.modal-header h2[data-v-878f1e02]{font-size:1.5rem}.form-row[data-v-878f1e02]{grid-template-columns:1fr;gap:0}}.amount-custom[data-v-878f1e02]{font-size:1.75rem;font-weight:800;color:#7c3aed;line-height:1}.plan-card.enterprise-card.selected[data-v-878f1e02]{border-color:#7c3aed;background:#7c3aed08}.toggle-note[data-v-878f1e02]{font-size:.72rem;color:#94a3b8;text-align:center;margin:-.25rem 0 .75rem}.enterprise-note[data-v-878f1e02]{font-size:.8rem;color:#64748b;background:#f5f3ff;border:1px solid #DDD6FE;border-radius:8px;padding:.625rem .875rem;margin-bottom:.75rem;text-align:center;line-height:1.5}.landing-page[data-v-921867ea]{min-height:100vh;background:var(--bg-cream)}.sub-badge[data-v-60cfdf85]{display:inline-flex;align-items:center;gap:.375rem;padding:.3rem .75rem;border-radius:20px;font-size:.75rem;font-weight:800;letter-spacing:.04em;white-space:nowrap;border:1.5px solid transparent}.tier-trial[data-v-60cfdf85]{background:#ffffff1f;color:#ffffffbf;border-color:#ffffff2e}.tier-teacher[data-v-60cfdf85]{background:#0284c740;color:#7dd3fc;border-color:#7dd3fc4d}.tier-professional[data-v-60cfdf85]{background:#ffffff2e;color:#fff;border-color:#ffffff4d}.tier-enterprise[data-v-60cfdf85]{background:#a78bfa40;color:#ddd6fe;border-color:#a78bfa66}.upgrade-banner[data-v-10bc199d]{display:flex;align-items:center;gap:1rem;padding:.875rem 1.25rem;background:linear-gradient(135deg,#fff3e0,#ffe0b2);border:2px solid var(--accent);border-radius:12px;margin-right:1rem}.upgrade-banner svg[data-v-10bc199d]{color:var(--accent);flex-shrink:0}.banner-content[data-v-10bc199d]{flex:1;display:flex;flex-direction:column}.banner-content strong[data-v-10bc199d]{font-weight:700;color:var(--text-dark);font-size:.95rem}.banner-content span[data-v-10bc199d]{font-size:.85rem;color:var(--text-gray)}.btn-small[data-v-10bc199d]{padding:.5rem 1rem;font-size:.85rem;white-space:nowrap}.btn-accent[data-v-10bc199d]{background:var(--accent);color:#fff;border:none}.btn-accent[data-v-10bc199d]:hover{background:var(--accent-warm);transform:translateY(-1px)}@media (max-width: 768px){.upgrade-banner[data-v-10bc199d]{flex-wrap:wrap;padding:.75rem 1rem}.banner-content span[data-v-10bc199d]{display:none}.btn-small[data-v-10bc199d]{width:100%;margin-top:.5rem}}.sidebar[data-v-bcab4ec1]{background:linear-gradient(180deg,var(--primary),var(--primary-dark));color:#fff;display:flex;flex-direction:column;height:100vh;position:sticky;top:0;transition:transform .3s ease}.sidebar-header[data-v-bcab4ec1]{padding:2rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center}.mobile-close[data-v-bcab4ec1]{display:none;background:#ffffff1a;border:none;border-radius:8px;width:36px;height:36px;align-items:center;justify-content:center;color:#fff;cursor:pointer;transition:all .3s}.mobile-close[data-v-bcab4ec1]:hover{background:#fff3}.logo[data-v-bcab4ec1]{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:#fff}.logo-icon[data-v-bcab4ec1]{width:40px;height:40px;background:#fff3;border-radius:10px;display:flex;align-items:center;justify-content:center}.logo-icon svg[data-v-bcab4ec1]{width:24px;height:24px;fill:#fff}.logo-text[data-v-bcab4ec1]{font-family:Outfit,sans-serif;font-size:1.5rem;font-weight:800}.logo-text .sp[data-v-bcab4ec1]{color:#fff}.logo-text .easy[data-v-bcab4ec1]{color:var(--accent)}.sidebar-nav[data-v-bcab4ec1]{flex:1;padding:1.5rem 0;overflow-y:auto;scrollbar-width:none}.sidebar-nav[data-v-bcab4ec1]::-webkit-scrollbar{display:none}.nav-item[data-v-bcab4ec1]{display:flex;align-items:center;gap:.875rem;padding:.875rem 1.5rem;color:#fffc;text-decoration:none;transition:all .3s;font-weight:500;position:relative}.nav-item[data-v-bcab4ec1]:hover{background:#ffffff1a;color:#fff}.nav-item.router-link-active[data-v-bcab4ec1]{background:#ffffff26;color:#fff}.nav-item.router-link-active[data-v-bcab4ec1]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--accent);border-radius:0 4px 4px 0}.nav-item svg[data-v-bcab4ec1]{width:20px;height:20px;flex-shrink:0}.nav-divider[data-v-bcab4ec1]{height:1px;background:#ffffff1a;margin:.5rem 1.5rem}.nav-item-content[data-v-bcab4ec1]{display:flex;align-items:center;gap:.875rem;flex:1}.badge-purple[data-v-bcab4ec1]{background:#7c3aed}.badge[data-v-bcab4ec1]{background:var(--accent);color:#fff;padding:.25rem .5rem;border-radius:10px;font-size:.75rem;font-weight:700;min-width:20px;text-align:center}.sidebar-subscription[data-v-bcab4ec1]{padding:1rem 1.5rem;margin-top:1rem}.sidebar-tier-row[data-v-bcab4ec1]{display:flex;align-items:center;justify-content:space-between;padding:.625rem 1.5rem;margin:.5rem .75rem;background:#00000026;border-radius:10px;border:1px solid rgba(255,255,255,.08)}.sidebar-tier-label[data-v-bcab4ec1]{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#ffffff80}.sidebar-upgrade[data-v-bcab4ec1]{padding:0 1.5rem 1rem}.sidebar-upgrade[data-v-bcab4ec1]{padding:1rem;background:linear-gradient(135deg,#2d6a4f1a,#f4a2611a);border-radius:12px;margin-bottom:1rem}.upgrade-content[data-v-bcab4ec1]{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.upgrade-content svg[data-v-bcab4ec1]{color:var(--white);flex-shrink:0}.upgrade-text[data-v-bcab4ec1]{display:flex;flex-direction:column;gap:.25rem}.upgrade-text strong[data-v-bcab4ec1]{font-size:.95rem;color:var(--text-white)}.upgrade-text span[data-v-bcab4ec1]{font-size:.8rem;color:var(--text-white)}.sidebar-upgrade .btn[data-v-bcab4ec1]{width:100%}.btn-small[data-v-bcab4ec1]{padding:.5rem 1rem;font-size:.875rem}.sidebar-footer[data-v-bcab4ec1]{border-top:1px solid rgba(255,255,255,.1);padding:1rem;position:relative}.sidebar-org-name[data-v-bcab4ec1]{display:flex;align-items:center;gap:.375rem;padding:.3rem .75rem .5rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#ffffff8c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-profile[data-v-bcab4ec1]{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:12px;cursor:pointer;transition:all .3s}.user-profile[data-v-bcab4ec1]:hover{background:#ffffff1a}.user-avatar[data-v-bcab4ec1]{width:40px;height:40px;border-radius:50%;overflow:hidden;background:#fff3;display:flex;align-items:center;justify-content:center;flex-shrink:0}.user-avatar img[data-v-bcab4ec1]{width:100%;height:100%;object-fit:cover}.avatar-initials[data-v-bcab4ec1]{color:#fff;font-weight:700;font-size:1rem}.user-info[data-v-bcab4ec1]{flex:1;display:flex;flex-direction:column;min-width:0}.user-info strong[data-v-bcab4ec1]{font-weight:600;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role[data-v-bcab4ec1]{font-size:.75rem;opacity:.8;text-transform:uppercase;letter-spacing:.5px}.chevron[data-v-bcab4ec1]{flex-shrink:0;opacity:.6}.user-menu-dropdown[data-v-bcab4ec1]{position:absolute;bottom:100%;left:.5rem;right:.5rem;background:#fff;border-radius:12px;box-shadow:0 -4px 20px #00000026;margin-bottom:.5rem;overflow:hidden}.menu-item[data-v-bcab4ec1]{display:flex;align-items:center;gap:.75rem;width:100%;padding:.875rem 1rem;background:none;border:none;text-decoration:none;color:var(--text-dark);font-family:DM Sans,sans-serif;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s;text-align:left}.menu-item[data-v-bcab4ec1]:hover{background:var(--bg-cream);color:var(--primary)}.menu-item svg[data-v-bcab4ec1]{color:var(--text-gray)}.menu-item:hover svg[data-v-bcab4ec1]{color:var(--primary)}.menu-item.logout[data-v-bcab4ec1]{color:var(--error)}.menu-item.logout[data-v-bcab4ec1]:hover{background:#fff5f5}.menu-item.logout svg[data-v-bcab4ec1]{color:var(--error)}.menu-divider[data-v-bcab4ec1]{height:1px;background:var(--border-soft);margin:.5rem 0}.menu-slide-enter-active[data-v-bcab4ec1],.menu-slide-leave-active[data-v-bcab4ec1]{transition:all .2s ease}.menu-slide-enter-from[data-v-bcab4ec1],.menu-slide-leave-to[data-v-bcab4ec1]{opacity:0;transform:translateY(10px)}@media (max-width: 968px){.sidebar[data-v-bcab4ec1]{position:fixed;left:0;top:0;transform:translate(-100%);z-index:1000;width:280px;box-shadow:2px 0 12px #0000001a}.sidebar.mobile-open[data-v-bcab4ec1]{transform:translate(0)}.mobile-close[data-v-bcab4ec1]{display:flex}.sidebar-header[data-v-bcab4ec1]{padding:1.5rem 1rem}.logo-text[data-v-bcab4ec1]{font-size:1.25rem}}@media (max-width: 640px){.sidebar[data-v-bcab4ec1]{width:260px}}.dashboard-layout[data-v-ebacfb46]{display:grid;grid-template-columns:260px 1fr;min-height:100vh;position:relative}.mobile-menu-toggle[data-v-ebacfb46]{display:none;position:fixed;top:1rem;left:1rem;z-index:999;width:48px;height:48px;background:var(--primary);border:none;border-radius:12px;color:#fff;cursor:pointer;box-shadow:0 4px 12px #00000026;transition:all .3s;align-items:center;justify-content:center}.mobile-menu-toggle[data-v-ebacfb46]:hover{background:var(--primary-dark);transform:scale(1.05)}.mobile-menu-toggle[data-v-ebacfb46]:active{transform:scale(.95)}.mobile-overlay[data-v-ebacfb46]{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:998;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.main-content[data-v-ebacfb46]{padding:2rem;background:var(--bg-cream);overflow-y:auto;height:100vh}@media (max-width: 968px){.dashboard-layout[data-v-ebacfb46]{grid-template-columns:1fr}.mobile-menu-toggle[data-v-ebacfb46]{display:flex}.mobile-overlay[data-v-ebacfb46]{display:block}.main-content[data-v-ebacfb46]{padding:5rem 1rem 1rem}}.scroll-top-btn[data-v-ebacfb46]{position:fixed;bottom:2rem;right:2rem;z-index:900;width:44px;height:44px;border-radius:50%;border:none;background:var(--primary, #2D6A4F);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #2d6a4f59;transition:background .2s,transform .15s,box-shadow .2s}.scroll-top-btn[data-v-ebacfb46]:hover{background:var(--primary-dark, #1B4332);transform:translateY(-2px);box-shadow:0 6px 20px #2d6a4f66}.scroll-top-btn[data-v-ebacfb46]:active{transform:translateY(0)}.scroll-top-fade-enter-active[data-v-ebacfb46],.scroll-top-fade-leave-active[data-v-ebacfb46]{transition:opacity .25s,transform .25s}.scroll-top-fade-enter-from[data-v-ebacfb46],.scroll-top-fade-leave-to[data-v-ebacfb46]{opacity:0;transform:translateY(10px)}.modal-overlay[data-v-b47a1a4f]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem}.modal-container[data-v-b47a1a4f]{background:#fff;border-radius:16px;max-width:700px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 24px 48px #0003}.modal-header[data-v-b47a1a4f]{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:2px solid var(--border-soft);flex-shrink:0}.modal-header h3[data-v-b47a1a4f]{font-size:1.75rem;font-weight:700;margin:0;color:var(--text-dark)}.close-btn[data-v-b47a1a4f]{background:none;border:none;color:var(--text-gray);cursor:pointer;padding:.5rem;transition:color .3s}.close-btn[data-v-b47a1a4f]:hover{color:var(--text-dark)}.modal-body[data-v-b47a1a4f]{padding:2rem;overflow-y:auto}.subtitle[data-v-b47a1a4f]{color:var(--text-gray);margin-bottom:2rem}.form-row[data-v-b47a1a4f]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group[data-v-b47a1a4f]{margin-bottom:1.25rem;position:relative}.form-group label[data-v-b47a1a4f]{display:block;margin-bottom:.5rem;font-weight:600;color:var(--text-dark);font-size:.9rem}.label-optional[data-v-b47a1a4f]{font-weight:400;color:var(--text-gray);font-size:.8rem;margin-left:.25rem}.form-group input[data-v-b47a1a4f],.form-group select[data-v-b47a1a4f],.form-group textarea[data-v-b47a1a4f]{width:100%;padding:.875rem 1rem;border:2px solid var(--border-soft);border-radius:8px;font-size:1rem;font-family:DM Sans,sans-serif;transition:all .3s;box-sizing:border-box}.form-group input[data-v-b47a1a4f]:focus,.form-group select[data-v-b47a1a4f]:focus,.form-group textarea[data-v-b47a1a4f]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2d6a4f1a}.form-group input[data-v-b47a1a4f]:disabled,.form-group select[data-v-b47a1a4f]:disabled,.form-group textarea[data-v-b47a1a4f]:disabled{background:var(--bg-cream);cursor:not-allowed}.form-group textarea[data-v-b47a1a4f]{resize:vertical;min-height:80px}.form-hint[data-v-b47a1a4f]{display:block;margin-top:.5rem;font-size:.85rem;color:var(--text-gray)}.student-chips[data-v-b47a1a4f]{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.5rem}.student-chip[data-v-b47a1a4f]{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .5rem .25rem .75rem;background:#f0f7f4;border:1.5px solid #b7daca;border-radius:20px;font-size:.82rem;font-weight:600;color:var(--primary)}.chip-remove[data-v-b47a1a4f]{display:flex;align-items:center;background:none;border:none;cursor:pointer;color:var(--primary);padding:1px;opacity:.6;transition:opacity .15s}.chip-remove[data-v-b47a1a4f]:hover{opacity:1}.chip-badge[data-v-b47a1a4f]{font-size:.65rem;font-weight:800;padding:.1rem .35rem;border-radius:4px;letter-spacing:.03em;line-height:1.4}.chip-badge.iep[data-v-b47a1a4f]{background:#2d6a4f1f;color:#1a5c38}.chip-badge.s504[data-v-b47a1a4f]{background:#1d4ed81f;color:#1e40af}.student-search-wrap[data-v-b47a1a4f]{position:relative;display:flex;align-items:center}.search-icon[data-v-b47a1a4f]{position:absolute;left:.75rem;color:var(--text-gray);pointer-events:none;flex-shrink:0}.student-search[data-v-b47a1a4f]{padding-left:2.25rem!important;width:100%;padding:.75rem 1rem;border:2px solid var(--border-soft);border-radius:8px;font-size:.9rem;font-family:DM Sans,sans-serif;transition:border-color .2s;box-sizing:border-box}.student-search[data-v-b47a1a4f]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2d6a4f1a}.student-dropdown[data-v-b47a1a4f]{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1.5px solid var(--border-soft);border-radius:10px;box-shadow:0 8px 24px #0000001f;max-height:220px;overflow-y:auto;z-index:200}.student-option[data-v-b47a1a4f]{display:flex;align-items:center;gap:.5rem;width:100%;text-align:left;padding:.6rem .875rem;border:none;background:none;cursor:pointer;font-family:DM Sans,sans-serif;font-size:.875rem;transition:background .1s}.student-option[data-v-b47a1a4f]:hover{background:#f0f7f4}.option-name[data-v-b47a1a4f]{flex:1;font-weight:500;color:var(--text-dark)}.option-id[data-v-b47a1a4f]{font-size:.78rem;color:var(--text-gray)}.no-results[data-v-b47a1a4f]{padding:1rem;text-align:center;color:var(--text-gray);font-size:.875rem;margin:0}.schedule-builder[data-v-b47a1a4f]{display:flex;flex-direction:column;gap:.75rem}.schedule-slot[data-v-b47a1a4f]{display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:.5rem;align-items:center}.schedule-slot select[data-v-b47a1a4f],.schedule-slot input[data-v-b47a1a4f]{padding:.625rem .75rem;font-size:.9rem}.btn-icon[data-v-b47a1a4f]{width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center;background:none;border:2px solid var(--border-soft);border-radius:8px;cursor:pointer;transition:all .3s;color:var(--text-gray)}.btn-icon[data-v-b47a1a4f]:hover{background:var(--bg-cream);border-color:var(--error);color:var(--error)}.btn-small[data-v-b47a1a4f]{padding:.625rem 1rem;font-size:.9rem}.error-message[data-v-b47a1a4f]{padding:.875rem 1rem;background:#fff5f5;border:1px solid #FFCDD2;border-radius:8px;color:#c62828;font-size:.9rem;margin-bottom:1.5rem}.modal-actions[data-v-b47a1a4f]{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1.5rem;border-top:2px solid var(--border-soft)}@media (max-width: 640px){.form-row[data-v-b47a1a4f],.schedule-slot[data-v-b47a1a4f]{grid-template-columns:1fr}.modal-actions[data-v-b47a1a4f]{flex-direction:column-reverse}.modal-actions .btn[data-v-b47a1a4f]{width:100%}}.modal-overlay[data-v-6a9f0804]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal[data-v-6a9f0804]{background:#fff;border-radius:16px;width:100%;max-width:560px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0003}.modal-header[data-v-6a9f0804]{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-soft);position:sticky;top:0;background:#fff;z-index:1}.modal-header h2[data-v-6a9f0804]{font-size:1.25rem;font-weight:700;color:var(--text-dark);margin:0}.btn-close[data-v-6a9f0804]{width:36px;height:36px;border-radius:8px;border:none;background:var(--bg-cream);color:var(--text-gray);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-close[data-v-6a9f0804]:hover{background:var(--error);color:#fff}.modal-body[data-v-6a9f0804]{padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem}.form-row[data-v-6a9f0804]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group[data-v-6a9f0804]{display:flex;flex-direction:column;gap:.4rem}.form-group label[data-v-6a9f0804]{font-size:.875rem;font-weight:600;color:var(--text-dark)}.required[data-v-6a9f0804]{color:var(--error)}.form-group input[data-v-6a9f0804],.form-group select[data-v-6a9f0804]{padding:.75rem 1rem;border:2px solid var(--border-soft);border-radius:8px;font-size:.95rem;font-family:DM Sans,sans-serif;transition:border-color .2s;background:#fff}.form-group input[data-v-6a9f0804]:focus,.form-group select[data-v-6a9f0804]:focus{outline:none;border-color:var(--primary)}.form-group input.error[data-v-6a9f0804]{border-color:var(--error)}.error-msg[data-v-6a9f0804]{font-size:.8rem;color:var(--error)}.section-divider[data-v-6a9f0804]{height:1px;background:var(--border-soft);margin:.25rem 0}.students-section[data-v-6a9f0804]{display:flex;flex-direction:column;gap:.75rem}.students-header[data-v-6a9f0804]{display:flex;align-items:center;gap:.5rem}.section-label[data-v-6a9f0804]{font-size:.875rem;font-weight:600;color:var(--text-dark);display:flex;align-items:center;gap:.5rem}.student-count-pill[data-v-6a9f0804]{font-size:.72rem;font-weight:700;background:var(--bg-cream);border:1px solid var(--border-soft);border-radius:20px;padding:.1rem .5rem;color:var(--text-gray)}.current-students[data-v-6a9f0804]{display:flex;flex-wrap:wrap;gap:.5rem}.student-chip[data-v-6a9f0804]{display:inline-flex;align-items:center;gap:.4rem;background:#f0f7f4;border:1.5px solid #B7DDD0;border-radius:20px;padding:.25rem .5rem .25rem .35rem;font-size:.82rem}.student-chip-initials[data-v-6a9f0804]{width:22px;height:22px;border-radius:50%;background:var(--primary);color:#fff;font-size:.62rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.student-chip-name[data-v-6a9f0804]{font-weight:600;color:var(--text-dark)}.student-chip-remove[data-v-6a9f0804]{width:18px;height:18px;border-radius:50%;border:none;background:#0000001a;color:var(--text-gray);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:all .15s;flex-shrink:0}.student-chip-remove[data-v-6a9f0804]:hover:not(:disabled){background:#dc2626;color:#fff}.student-chip-remove[data-v-6a9f0804]:disabled{opacity:.4;cursor:not-allowed}.no-students[data-v-6a9f0804]{font-size:.82rem;color:var(--text-gray);margin:0}.add-student-row[data-v-6a9f0804]{position:relative}.student-search-input[data-v-6a9f0804]{width:100%;padding:.6rem 1rem;border:2px solid var(--border-soft);border-radius:8px;font-size:.9rem;font-family:DM Sans,sans-serif;transition:border-color .2s;box-sizing:border-box}.student-search-input[data-v-6a9f0804]:focus{outline:none;border-color:var(--primary)}.student-search-results[data-v-6a9f0804]{border:1.5px solid var(--border-soft);border-radius:10px;overflow:hidden;margin-top:.25rem}.student-result-row[data-v-6a9f0804]{width:100%;display:flex;align-items:center;gap:.6rem;padding:.55rem .875rem;background:#fff;border:none;border-bottom:1px solid var(--border-soft);cursor:pointer;font-family:DM Sans,sans-serif;font-size:.875rem;color:var(--text-dark);text-align:left;transition:background .12s}.student-result-row[data-v-6a9f0804]:last-child{border-bottom:none}.student-result-row[data-v-6a9f0804]:hover:not(:disabled){background:#f0f7f4}.student-result-row[data-v-6a9f0804]:disabled{opacity:.5;cursor:not-allowed}.student-result-initials[data-v-6a9f0804]{width:28px;height:28px;border-radius:50%;background:var(--primary);color:#fff;font-size:.68rem;font-weight:700;flex-shrink:0;display:flex;align-items:center;justify-content:center}.add-label[data-v-6a9f0804]{margin-left:auto;font-size:.78rem;font-weight:700;color:var(--primary)}.no-results[data-v-6a9f0804]{font-size:.82rem;color:var(--text-gray);margin:0}.modal-footer[data-v-6a9f0804]{display:flex;justify-content:flex-end;gap:.75rem;padding-top:.5rem}.spinner-sm[data-v-6a9f0804]{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin-6a9f0804 .7s linear infinite;margin-right:.5rem;vertical-align:middle}@keyframes spin-6a9f0804{to{transform:rotate(360deg)}}.form-hint[data-v-6a9f0804]{font-size:.78rem;color:var(--text-gray);margin:0}@media (max-width: 480px){.form-row[data-v-6a9f0804]{grid-template-columns:1fr}}.classroom-card[data-v-8b6287d3]{background:#fff;border-radius:14px;box-shadow:0 2px 8px #00000014;transition:box-shadow .2s,transform .2s;overflow:hidden;display:flex;flex-direction:column}.classroom-card[data-v-8b6287d3]:hover{box-shadow:0 4px 18px #00000021;transform:translateY(-2px)}.card-header[data-v-8b6287d3]{padding:1.25rem 1.25rem 1rem;border-bottom:1px solid var(--border-soft);cursor:pointer;display:flex;align-items:flex-start;gap:.5rem;transition:background .15s}.card-header[data-v-8b6287d3]:hover{background:var(--bg-cream, #faf8f4)}.card-header[data-v-8b6287d3]:active{background:#f0ede8}.classroom-info[data-v-8b6287d3]{flex:1;min-width:0}.classroom-name[data-v-8b6287d3]{font-size:1.1rem;font-weight:700;margin:0 0 .5rem;color:var(--text-dark);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.classroom-meta[data-v-8b6287d3]{display:flex;gap:.5rem;flex-wrap:wrap}.meta-chip[data-v-8b6287d3]{padding:.2rem .6rem;background:var(--bg-cream, #faf8f4);border-radius:10px;font-size:.78rem;font-weight:600;color:var(--primary);white-space:nowrap}.card-chevron[data-v-8b6287d3]{color:var(--text-gray);flex-shrink:0;margin-top:.15rem;opacity:.5}.card-body[data-v-8b6287d3]{padding:1.125rem 1.25rem;flex:1}.teacher-info[data-v-8b6287d3]{display:flex;gap:.875rem;align-items:center;margin-bottom:1.125rem}.teacher-avatar[data-v-8b6287d3]{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--primary-light, #52b788));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;flex-shrink:0}.teacher-details[data-v-8b6287d3]{flex:1;min-width:0}.teacher-label[data-v-8b6287d3]{font-size:.75rem;color:var(--text-gray);margin-bottom:.1rem}.teacher-name[data-v-8b6287d3]{font-size:.9rem;font-weight:600;color:var(--text-dark);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.classroom-stats[data-v-8b6287d3]{display:grid;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:.75rem}.stat[data-v-8b6287d3]{text-align:center;padding:.75rem .5rem;background:var(--bg-light, #f5f3ef);border-radius:8px}.stat-value[data-v-8b6287d3]{font-size:1.5rem;font-weight:800;color:var(--primary);line-height:1.1;margin-bottom:.2rem}.stat-label[data-v-8b6287d3]{font-size:.72rem;color:var(--text-gray);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.card-footer[data-v-8b6287d3]{display:flex;border-top:1px solid var(--border-soft)}.footer-btn[data-v-8b6287d3]{flex:1;display:flex;align-items:center;justify-content:center;gap:.35rem;padding:.7rem .5rem;border:none;background:none;font-family:DM Sans,sans-serif;font-size:.82rem;font-weight:700;cursor:pointer;transition:background .15s,color .15s;color:var(--text-gray)}.footer-btn+.footer-btn[data-v-8b6287d3]{border-left:1px solid var(--border-soft)}.footer-btn-view[data-v-8b6287d3]:hover{background:#2d6a4f12;color:var(--primary)}.footer-btn-edit[data-v-8b6287d3]:hover{background:#3b82f612;color:#2563eb}.footer-btn-delete[data-v-8b6287d3]:hover{background:#dc262612;color:#dc2626}.footer-btn-view[data-v-8b6287d3]:active{background:#2d6a4f24}.footer-btn-edit[data-v-8b6287d3]:active{background:#3b82f621}.footer-btn-delete[data-v-8b6287d3]:active{background:#dc26261f}@media (max-width: 480px){.card-header[data-v-8b6287d3]{padding:1rem 1rem .875rem}.card-body[data-v-8b6287d3]{padding:1rem}.classroom-name[data-v-8b6287d3]{font-size:1rem}.teacher-avatar[data-v-8b6287d3]{width:36px;height:36px;font-size:.875rem}.footer-btn[data-v-8b6287d3]{font-size:.78rem;padding:.65rem .4rem}}.modal-overlay[data-v-a33d4b01]{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content[data-v-a33d4b01]{background:#fff;border-radius:20px;padding:2.5rem;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;position:relative;animation:modalSlideIn-a33d4b01 .3s ease-out}@keyframes modalSlideIn-a33d4b01{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-close[data-v-a33d4b01]{position:absolute;top:1.5rem;right:1.5rem;background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-gray);width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .3s}.modal-close[data-v-a33d4b01]:hover{background:var(--bg-cream);color:var(--text-dark)}.csv-upload-modal h3[data-v-86f3b422]{font-size:1.75rem;font-weight:700;margin-bottom:.5rem;color:var(--text-dark)}.csv-upload-modal>p[data-v-86f3b422]{color:var(--text-gray);margin-bottom:2rem}.upload-area[data-v-86f3b422]{border:3px dashed var(--border-soft);border-radius:16px;padding:3rem 2rem;text-align:center;cursor:pointer;transition:all .3s;background:var(--bg-cream);margin-bottom:2rem}.upload-area[data-v-86f3b422]:hover{border-color:var(--primary);background:#fff}.upload-area.drag-over[data-v-86f3b422]{border-color:var(--primary);background:#2d6a4f0d;transform:scale(1.02)}.upload-area.has-file[data-v-86f3b422]{border-style:solid;border-color:var(--primary);background:#fff}.upload-prompt svg[data-v-86f3b422]{color:var(--text-gray);margin-bottom:1rem}.upload-prompt h4[data-v-86f3b422]{font-size:1.25rem;font-weight:600;margin-bottom:.5rem;color:var(--text-dark)}.upload-prompt p[data-v-86f3b422]{color:var(--text-gray);margin-bottom:.5rem}.upload-prompt small[data-v-86f3b422]{color:var(--text-gray);font-size:.85rem}.file-selected[data-v-86f3b422]{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--bg-cream);border-radius:12px;position:relative}.file-selected svg[data-v-86f3b422]{color:var(--primary);flex-shrink:0}.file-info[data-v-86f3b422]{flex:1;text-align:left}.file-info h4[data-v-86f3b422]{font-weight:600;margin-bottom:.25rem;color:var(--text-dark)}.file-info p[data-v-86f3b422]{color:var(--text-gray);font-size:.9rem}.remove-file[data-v-86f3b422]{width:32px;height:32px;border-radius:50%;border:none;background:var(--error);color:#fff;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;transition:all .3s}.remove-file[data-v-86f3b422]:hover{background:#c62828;transform:scale(1.1)}.template-section[data-v-86f3b422]{text-align:center;padding:1.5rem;background:var(--bg-cream);border-radius:12px;margin-bottom:2rem}.template-section p[data-v-86f3b422]{margin-bottom:.75rem;color:var(--text-gray)}.btn-link[data-v-86f3b422]{background:none;border:none;color:var(--primary);font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;font-family:DM Sans,sans-serif;font-size:1rem;transition:color .3s}.btn-link[data-v-86f3b422]:hover{color:var(--primary-dark);text-decoration:underline}.format-guide[data-v-86f3b422]{padding:1.5rem;background:#fff;border:2px solid var(--border-soft);border-radius:12px;margin-bottom:2rem}.format-guide h4[data-v-86f3b422]{font-size:.9rem;font-weight:600;margin-bottom:.75rem;color:var(--text-dark)}.columns-list[data-v-86f3b422]{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}.column-tag[data-v-86f3b422]{padding:.4rem .875rem;background:var(--primary);color:#fff;border-radius:6px;font-size:.85rem;font-weight:600;font-family:Monaco,monospace}.column-tag.optional[data-v-86f3b422]{background:var(--text-gray)}.upload-results[data-v-86f3b422]{margin-bottom:2rem}.results-summary[data-v-86f3b422]{padding:1.5rem;border-radius:12px;display:flex;align-items:start;gap:1rem;margin-bottom:1rem}.results-summary.success[data-v-86f3b422]{background:#e8f5e9;border:2px solid var(--success)}.results-summary.has-errors[data-v-86f3b422]{background:#fff3e0;border:2px solid var(--warning)}.results-summary svg[data-v-86f3b422]{flex-shrink:0;color:var(--success)}.results-summary.has-errors svg[data-v-86f3b422]{color:var(--warning)}.results-summary h4[data-v-86f3b422]{font-weight:700;margin-bottom:.25rem}.results-summary p[data-v-86f3b422]{color:var(--text-gray);font-size:.9rem}.error-details[data-v-86f3b422]{background:#fff5f5;border:2px solid #FFCDD2;border-radius:12px;padding:1.5rem}.error-details h4[data-v-86f3b422]{color:var(--error);font-weight:700;margin-bottom:1rem}.error-list[data-v-86f3b422]{max-height:200px;overflow-y:auto}.error-item[data-v-86f3b422]{padding:.75rem;background:#fff;border-radius:6px;margin-bottom:.5rem;font-size:.9rem;color:var(--text-dark)}.error-item strong[data-v-86f3b422]{color:var(--error);margin-right:.5rem}.upload-loading[data-v-86f3b422]{text-align:center;padding:2rem;margin-bottom:2rem}.spinner[data-v-86f3b422]{width:48px;height:48px;border:4px solid var(--border-soft);border-top-color:var(--primary);border-radius:50%;animation:spin-86f3b422 1s linear infinite;margin:0 auto 1rem}@keyframes spin-86f3b422{to{transform:rotate(360deg)}}.upload-loading p[data-v-86f3b422]{color:var(--text-gray);font-weight:600}.error-message[data-v-86f3b422]{padding:1rem;background:#fff5f5;border:1px solid #FFCDD2;border-radius:8px;color:#c62828;margin-bottom:2rem;text-align:center}.modal-actions[data-v-86f3b422]{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:2rem;border-top:2px solid var(--border-soft)}@media (max-width: 640px){.upload-area[data-v-86f3b422]{padding:2rem 1rem}.modal-actions[data-v-86f3b422]{flex-direction:column-reverse}.modal-actions .btn[data-v-86f3b422]{width:100%}}.csv-upload-modal h3[data-v-0fe70629]{font-size:1.75rem;font-weight:700;margin-bottom:.5rem;color:var(--text-dark)}.csv-upload-modal>p[data-v-0fe70629]{color:var(--text-gray);margin-bottom:2rem}.upload-area[data-v-0fe70629]{border:3px dashed var(--border-soft);border-radius:16px;padding:3rem 2rem;text-align:center;cursor:pointer;transition:all .3s;background:var(--bg-cream);margin-bottom:2rem}.upload-area[data-v-0fe70629]:hover{border-color:var(--primary);background:#fff}.upload-area.drag-over[data-v-0fe70629]{border-color:var(--primary);background:#2d6a4f0d;transform:scale(1.02)}.upload-area.has-file[data-v-0fe70629]{border-style:solid;border-color:var(--primary);background:#fff}.upload-prompt svg[data-v-0fe70629]{color:var(--text-gray);margin-bottom:1rem}.upload-prompt h4[data-v-0fe70629]{font-size:1.25rem;font-weight:600;margin-bottom:.5rem;color:var(--text-dark)}.upload-prompt p[data-v-0fe70629]{color:var(--text-gray);margin-bottom:.5rem}.upload-prompt small[data-v-0fe70629]{color:var(--text-gray);font-size:.85rem}.file-selected[data-v-0fe70629]{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--bg-cream);border-radius:12px;position:relative}.file-selected svg[data-v-0fe70629]{color:var(--primary);flex-shrink:0}.file-info[data-v-0fe70629]{flex:1;text-align:left}.file-info h4[data-v-0fe70629]{font-weight:600;margin-bottom:.25rem;color:var(--text-dark)}.file-info p[data-v-0fe70629]{color:var(--text-gray);font-size:.9rem}.remove-file[data-v-0fe70629]{width:32px;height:32px;border-radius:50%;border:none;background:var(--error);color:#fff;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;transition:all .3s}.remove-file[data-v-0fe70629]:hover{background:#c62828;transform:scale(1.1)}.template-section[data-v-0fe70629]{text-align:center;padding:1.5rem;background:var(--bg-cream);border-radius:12px;margin-bottom:2rem}.template-section p[data-v-0fe70629]{margin-bottom:.75rem;color:var(--text-gray)}.btn-link[data-v-0fe70629]{background:none;border:none;color:var(--primary);font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;font-family:DM Sans,sans-serif;font-size:1rem;transition:color .3s}.btn-link[data-v-0fe70629]:hover{color:var(--primary-dark);text-decoration:underline}.format-guide[data-v-0fe70629]{padding:1.5rem;background:#fff;border:2px solid var(--border-soft);border-radius:12px;margin-bottom:2rem}.format-guide h4[data-v-0fe70629]{font-size:.9rem;font-weight:600;margin-bottom:.75rem;color:var(--text-dark)}.columns-list[data-v-0fe70629]{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}.column-tag[data-v-0fe70629]{padding:.4rem .875rem;background:var(--primary);color:#fff;border-radius:6px;font-size:.85rem;font-weight:600;font-family:Monaco,monospace}.column-tag.optional[data-v-0fe70629]{background:var(--text-gray)}.upload-results[data-v-0fe70629]{margin-bottom:2rem}.results-summary[data-v-0fe70629]{padding:1.5rem;border-radius:12px;display:flex;align-items:start;gap:1rem;margin-bottom:1rem}.results-summary.success[data-v-0fe70629]{background:#e8f5e9;border:2px solid var(--success)}.results-summary.has-errors[data-v-0fe70629]{background:#fff3e0;border:2px solid var(--warning)}.results-summary svg[data-v-0fe70629]{flex-shrink:0;color:var(--success)}.results-summary.has-errors svg[data-v-0fe70629]{color:var(--warning)}.results-summary h4[data-v-0fe70629]{font-weight:700;margin-bottom:.25rem}.results-summary p[data-v-0fe70629]{color:var(--text-gray);font-size:.9rem}.error-details[data-v-0fe70629]{background:#fff5f5;border:2px solid #FFCDD2;border-radius:12px;padding:1.5rem}.error-details h4[data-v-0fe70629]{color:var(--error);font-weight:700;margin-bottom:1rem}.error-list[data-v-0fe70629]{max-height:200px;overflow-y:auto}.error-item[data-v-0fe70629]{padding:.75rem;background:#fff;border-radius:6px;margin-bottom:.5rem;font-size:.9rem;color:var(--text-dark)}.error-item strong[data-v-0fe70629]{color:var(--error);margin-right:.5rem}.upload-loading[data-v-0fe70629]{text-align:center;padding:2rem;margin-bottom:2rem}.spinner[data-v-0fe70629]{width:48px;height:48px;border:4px solid var(--border-soft);border-top-color:var(--primary);border-radius:50%;animation:spin-0fe70629 1s linear infinite;margin:0 auto 1rem}@keyframes spin-0fe70629{to{transform:rotate(360deg)}}.upload-loading p[data-v-0fe70629]{color:var(--text-gray);font-weight:600}.error-message[data-v-0fe70629]{padding:1rem;background:#fff5f5;border:1px solid #FFCDD2;border-radius:8px;color:#c62828;margin-bottom:2rem;text-align:center}.modal-actions[data-v-0fe70629]{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:2rem;border-top:2px solid var(--border-soft)}@media (max-width: 640px){.upload-area[data-v-0fe70629]{padding:2rem 1rem}.modal-actions[data-v-0fe70629]{flex-direction:column-reverse}.modal-actions .btn[data-v-0fe70629]{width:100%}}.qr-modal-content[data-v-26c0380b]{text-align:center}.qr-modal-content h3[data-v-26c0380b]{font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.qr-modal-content>p[data-v-26c0380b]{color:var(--text-gray);margin-bottom:2rem}.qr-placeholder[data-v-26c0380b]{width:272px;margin:0 auto 2rem;border:8px solid var(--bg-cream);border-radius:16px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden}.qr-placeholder canvas[data-v-26c0380b]{display:block}.qr-info[data-v-26c0380b]{display:flex;gap:1rem;align-items:start;text-align:left;padding:1.5rem;background:linear-gradient(135deg,#e8f5e9,#f1f8e9);border-radius:12px;margin-bottom:2rem;border:2px solid var(--primary-light)}.qr-info svg[data-v-26c0380b]{flex-shrink:0;color:var(--primary);margin-top:.25rem}.qr-info strong[data-v-26c0380b]{display:block;margin-bottom:.5rem;color:var(--primary-dark)}.qr-info p[data-v-26c0380b]{margin:0;color:var(--text-dark);font-size:.9rem;line-height:1.6}.button-group[data-v-26c0380b]{display:flex;gap:1rem;justify-content:center}.button-group .btn[data-v-26c0380b]{flex:1;max-width:200px}@media (max-width: 640px){.button-group[data-v-26c0380b]{flex-direction:column}.button-group .btn[data-v-26c0380b]{max-width:none}}.bulk-qr-overlay[data-v-3f4b6d9d]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem}.bulk-qr-panel[data-v-3f4b6d9d]{background:#fff;border-radius:18px;width:100%;max-width:520px;max-height:88vh;display:flex;flex-direction:column;box-shadow:0 24px 60px #0000002e;overflow:hidden}.bq-header[data-v-3f4b6d9d]{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:2px solid var(--border-soft);flex-shrink:0}.bq-title[data-v-3f4b6d9d]{display:flex;align-items:center;gap:.75rem}.bq-title h3[data-v-3f4b6d9d]{font-size:1.2rem;font-weight:800;margin:0}.bq-title svg[data-v-3f4b6d9d]{color:var(--primary)}.close-btn[data-v-3f4b6d9d]{background:none;border:none;cursor:pointer;color:var(--text-gray);display:flex;padding:.25rem;border-radius:6px;transition:all .15s}.close-btn[data-v-3f4b6d9d]:hover{background:var(--bg-cream);color:var(--text-dark)}.bq-selection-bar[data-v-3f4b6d9d]{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;background:var(--bg-cream);border-bottom:1px solid var(--border-soft);flex-shrink:0}.select-all-label[data-v-3f4b6d9d]{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:600;font-size:.875rem}.select-all-label input[type=checkbox][data-v-3f4b6d9d]{width:16px;height:16px;accent-color:var(--primary);cursor:pointer}.selection-count[data-v-3f4b6d9d]{font-size:.8rem;color:var(--text-gray);font-weight:600}.bq-list[data-v-3f4b6d9d]{flex:1;overflow-y:auto;padding:.75rem 1rem;display:flex;flex-direction:column;gap:.375rem}.bq-item[data-v-3f4b6d9d]{display:grid;grid-template-columns:20px 36px 1fr;align-items:center;gap:.75rem;padding:.625rem .75rem;border-radius:10px;cursor:pointer;border:2px solid transparent;transition:all .15s}.bq-item[data-v-3f4b6d9d]:hover{background:var(--bg-cream)}.bq-item.selected[data-v-3f4b6d9d]{background:#2d6a4f0f;border-color:#2d6a4f33}.bq-item input[type=checkbox][data-v-3f4b6d9d]{width:16px;height:16px;accent-color:var(--primary);cursor:pointer}.item-avatar[data-v-3f4b6d9d]{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:.8rem;flex-shrink:0}.item-info[data-v-3f4b6d9d]{display:flex;flex-direction:column;gap:.1rem;min-width:0}.item-name[data-v-3f4b6d9d]{font-weight:700;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-sub[data-v-3f4b6d9d]{font-size:.75rem;color:var(--text-gray)}.bq-footer[data-v-3f4b6d9d]{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-top:2px solid var(--border-soft);flex-shrink:0;gap:1rem}.layout-opts[data-v-3f4b6d9d]{display:flex;align-items:center;gap:.625rem}.layout-label[data-v-3f4b6d9d]{font-size:.8rem;font-weight:600;color:var(--text-gray)}.layout-tabs[data-v-3f4b6d9d]{display:flex;background:var(--bg-cream);border-radius:8px;padding:.2rem;gap:.2rem}.layout-tab[data-v-3f4b6d9d]{padding:.3rem .65rem;border:none;border-radius:6px;font-size:.78rem;font-weight:600;cursor:pointer;background:transparent;color:var(--text-gray);font-family:DM Sans,sans-serif;transition:all .15s}.layout-tab.active[data-v-3f4b6d9d]{background:#fff;color:var(--primary);box-shadow:0 1px 4px #0000001a}.btn[data-v-3f4b6d9d]{display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1.1rem;border-radius:10px;border:none;font-weight:700;font-size:.875rem;font-family:DM Sans,sans-serif;cursor:pointer;transition:all .2s;white-space:nowrap}.btn[data-v-3f4b6d9d]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-3f4b6d9d]{background:var(--primary);color:#fff}.btn-primary[data-v-3f4b6d9d]:hover:not(:disabled){background:var(--primary-dark)}.spinner-sm[data-v-3f4b6d9d]{width:13px;height:13px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-3f4b6d9d .7s linear infinite}@keyframes spin-3f4b6d9d{to{transform:rotate(360deg)}}@media (max-width: 540px){.bq-footer[data-v-3f4b6d9d]{flex-direction:column;align-items:stretch}.btn[data-v-3f4b6d9d],.layout-opts[data-v-3f4b6d9d]{justify-content:center}}.notifications-panel[data-v-e1cc3eb8]{position:relative}.notifications-trigger[data-v-e1cc3eb8]{position:relative;background:#fff;border:2px solid var(--border-soft);border-radius:12px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s;color:var(--text-gray)}.notifications-trigger[data-v-e1cc3eb8]:hover{border-color:var(--primary);color:var(--primary);background:var(--bg-cream)}.notification-count[data-v-e1cc3eb8]{position:absolute;top:-6px;right:-6px;background:var(--error);color:#fff;font-size:.7rem;font-weight:700;padding:.25rem .5rem;border-radius:12px;min-width:20px;text-align:center;border:2px solid white}.notifications-dropdown[data-v-e1cc3eb8]{position:absolute;top:calc(100% + .5rem);right:0;background:#fff;border-radius:16px;box-shadow:0 10px 40px #00000026;width:380px;max-height:500px;overflow:hidden;display:flex;flex-direction:column;z-index:1000}.dropdown-header[data-v-e1cc3eb8]{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:2px solid var(--border-soft);flex-shrink:0}.dropdown-header h3[data-v-e1cc3eb8]{font-size:1.125rem;font-weight:700;color:var(--text-dark)}.mark-all-read[data-v-e1cc3eb8]{background:none;border:none;color:var(--primary);font-weight:600;font-size:.85rem;cursor:pointer;padding:.25rem .5rem;border-radius:6px;transition:all .2s;font-family:inherit}.mark-all-read[data-v-e1cc3eb8]:hover{background:var(--bg-cream)}.notifications-list[data-v-e1cc3eb8]{flex:1;overflow-y:auto;max-height:380px}.empty-state[data-v-e1cc3eb8]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center;gap:.5rem}.empty-state svg[data-v-e1cc3eb8]{color:var(--text-gray);opacity:.3}.empty-state p[data-v-e1cc3eb8]{font-weight:600;color:var(--text-dark);margin:0}.empty-state span[data-v-e1cc3eb8]{font-size:.85rem;color:var(--text-gray)}.notif-spinner[data-v-e1cc3eb8]{width:28px;height:28px;border:3px solid var(--border-soft);border-top-color:var(--primary);border-radius:50%;animation:spin-e1cc3eb8 .7s linear infinite}@keyframes spin-e1cc3eb8{to{transform:rotate(360deg)}}.notification-item[data-v-e1cc3eb8]{display:flex;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid var(--border-soft);cursor:pointer;transition:all .2s;position:relative}.notification-item[data-v-e1cc3eb8]:hover{background:var(--bg-cream)}.notification-item.unread[data-v-e1cc3eb8]{background:#2d6a4f0d}.notification-item.unread[data-v-e1cc3eb8]:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:60%;background:var(--primary);border-radius:0 4px 4px 0}.notification-icon[data-v-e1cc3eb8]{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.icon-success[data-v-e1cc3eb8]{background:#e8f5e9;color:var(--success)}.icon-warning[data-v-e1cc3eb8]{background:#fff3e0;color:var(--warning)}.icon-info[data-v-e1cc3eb8]{background:#e3f2fd;color:var(--info)}.icon-update[data-v-e1cc3eb8],.icon-general[data-v-e1cc3eb8]{background:var(--bg-cream);color:var(--primary)}.icon-error[data-v-e1cc3eb8]{background:#ffebee;color:var(--error)}.notification-content[data-v-e1cc3eb8]{flex:1;min-width:0}.notification-header[data-v-e1cc3eb8]{display:flex;justify-content:space-between;align-items:start;gap:.5rem;margin-bottom:.25rem}.notification-header strong[data-v-e1cc3eb8]{font-weight:600;color:var(--text-dark);font-size:.95rem}.notification-time[data-v-e1cc3eb8]{font-size:.75rem;color:var(--text-gray);white-space:nowrap}.notification-content p[data-v-e1cc3eb8]{font-size:.85rem;color:var(--text-gray);line-height:1.5;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-clamp:2;margin:0}.mark-read-btn[data-v-e1cc3eb8]{background:none;border:none;color:var(--primary);padding:.25rem;cursor:pointer;opacity:0;transition:opacity .2s;flex-shrink:0}.notification-item:hover .mark-read-btn[data-v-e1cc3eb8]{opacity:1}.dropdown-footer[data-v-e1cc3eb8]{padding:.75rem 1.5rem;border-top:2px solid var(--border-soft);text-align:center}.view-all-link[data-v-e1cc3eb8]{color:var(--primary);text-decoration:none;font-weight:600;font-size:.9rem}.view-all-link[data-v-e1cc3eb8]:hover{text-decoration:underline}.panel-slide-enter-active[data-v-e1cc3eb8]{animation:panel-in-e1cc3eb8 .2s ease-out}.panel-slide-leave-active[data-v-e1cc3eb8]{animation:panel-out-e1cc3eb8 .15s ease-in}@keyframes panel-in-e1cc3eb8{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes panel-out-e1cc3eb8{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}@media (max-width: 640px){.notifications-dropdown[data-v-e1cc3eb8]{width:90vw;right:-1rem}}.subscription-selector[data-v-137f3a90]{max-width:960px;margin:0 auto}.subscription-selector h2[data-v-137f3a90]{font-size:1.75rem;font-weight:800;text-align:center;margin-bottom:.5rem}.subtitle[data-v-137f3a90]{text-align:center;color:var(--text-gray);margin-bottom:1.5rem;font-size:.95rem}.billing-toggle[data-v-137f3a90]{display:flex;gap:.35rem;justify-content:center;background:var(--bg-cream, #F8F4EF);padding:.35rem;border-radius:12px;max-width:280px;margin:0 auto .5rem}.billing-toggle button[data-v-137f3a90]{flex:1;padding:.6rem 1.25rem;background:transparent;border:none;border-radius:9px;font-family:DM Sans,sans-serif;font-size:.875rem;font-weight:600;cursor:pointer;position:relative;transition:all .15s;color:var(--text-gray)}.billing-toggle button.active[data-v-137f3a90]{background:#fff;color:var(--primary, #2D6A4F);box-shadow:0 1px 4px #0000001a}.save-badge[data-v-137f3a90]{position:absolute;top:-8px;right:-6px;background:var(--accent, #F4A261);color:#fff;font-size:.6rem;padding:.1rem .4rem;border-radius:6px;font-weight:800;white-space:nowrap}.toggle-note[data-v-137f3a90]{text-align:center;font-size:.72rem;color:#94a3b8;margin-bottom:1.75rem}.plans-grid[data-v-137f3a90]{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem}.plan-card[data-v-137f3a90]{background:#fff;border:2px solid var(--border-soft, #E8E3DC);border-radius:16px;padding:1.5rem 1.25rem;cursor:pointer;transition:all .15s;position:relative;display:flex;flex-direction:column}.plan-card[data-v-137f3a90]:hover{border-color:var(--primary);box-shadow:0 4px 16px #2d6a4f1a}.plan-card.selected[data-v-137f3a90]{border-color:var(--primary);background:#f8faf9}.plan-card.popular[data-v-137f3a90]{border-color:var(--primary)}.enterprise-card[data-v-137f3a90]{cursor:default}.enterprise-card[data-v-137f3a90]:hover{transform:none;box-shadow:none;border-color:var(--border-soft)}.popular-badge[data-v-137f3a90]{position:absolute;top:-11px;left:50%;transform:translate(-50%);background:var(--primary, #2D6A4F);color:#fff;font-size:.65rem;font-weight:800;padding:.2rem .75rem;border-radius:20px;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.card-icon[data-v-137f3a90]{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:.75rem;flex-shrink:0}.teacher-icon[data-v-137f3a90]{background:#0ea5e91a;color:#0284c7}.professional-icon[data-v-137f3a90]{background:#2d6a4f1a;color:#2d6a4f}.enterprise-icon[data-v-137f3a90]{background:#7c3aed1a;color:#7c3aed}h3[data-v-137f3a90]{font-size:1.1rem;font-weight:800;color:var(--text-dark);margin-bottom:.5rem}.price[data-v-137f3a90]{display:flex;align-items:baseline;gap:.15rem;margin-bottom:.2rem}.amount[data-v-137f3a90]{font-size:2rem;font-weight:800;color:var(--primary, #2D6A4F);line-height:1}.amount-label[data-v-137f3a90]{font-size:1.75rem;font-weight:800;color:#7c3aed}.period[data-v-137f3a90]{font-size:.875rem;color:var(--text-gray)}.savings[data-v-137f3a90]{font-size:.72rem;color:#16a34a;font-weight:600;margin-bottom:.35rem;min-height:1em}.plan-description[data-v-137f3a90]{font-size:.78rem;color:var(--text-gray);margin-bottom:.75rem}.estimator[data-v-137f3a90]{background:#f0f7f4;border-radius:8px;padding:.625rem .75rem;margin-bottom:.75rem}.estimator label[data-v-137f3a90]{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-gray);display:block;margin-bottom:.3rem}.estimator-row[data-v-137f3a90]{display:flex;align-items:center;gap:.5rem}.estimator-row input[data-v-137f3a90]{flex:1;padding:.3rem .5rem;border:1.5px solid var(--border-soft);border-radius:6px;font-size:.85rem;font-family:DM Sans,sans-serif;background:#fff;min-width:0}.estimator-total[data-v-137f3a90]{font-weight:800;color:var(--primary);font-size:.875rem;white-space:nowrap}.estimator-note[data-v-137f3a90]{font-size:.65rem;color:var(--text-gray);margin-top:.2rem}.enterprise-tiers[data-v-137f3a90]{background:#f5f3ff;border-radius:8px;padding:.5rem .625rem;margin-bottom:.3rem;display:flex;flex-direction:column;gap:.2rem}.et-row[data-v-137f3a90]{display:flex;justify-content:space-between;font-size:.72rem;color:#4c1d95}.et-row strong[data-v-137f3a90]{font-weight:700}.et-note[data-v-137f3a90]{font-size:.65rem;color:#7c3aed;margin-bottom:.75rem}.plan-features[data-v-137f3a90]{flex:1;margin-bottom:.875rem;display:flex;flex-direction:column;gap:.35rem}.feature[data-v-137f3a90]{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--text-dark)}.feature svg[data-v-137f3a90]{color:var(--primary);flex-shrink:0}.feature.excluded[data-v-137f3a90]{color:#cbd5e1}.feature.excluded svg[data-v-137f3a90]{color:#cbd5e1}.full-width[data-v-137f3a90]{width:100%;justify-content:center}.btn-teacher[data-v-137f3a90]{background:#0284c7;color:#fff;border:none;border-radius:8px;padding:.6rem;font-family:DM Sans,sans-serif;font-size:.875rem;font-weight:700;cursor:pointer;transition:background .15s;display:flex;align-items:center;justify-content:center}.btn-teacher[data-v-137f3a90]:hover,.btn-teacher.is-selected[data-v-137f3a90]{background:#0369a1}.btn-enterprise[data-v-137f3a90]{display:flex;align-items:center;justify-content:center;background:#7c3aed;color:#fff;border:none;border-radius:8px;padding:.6rem;font-family:DM Sans,sans-serif;font-size:.875rem;font-weight:700;text-decoration:none;transition:background .15s}.btn-enterprise[data-v-137f3a90]:hover{background:#6d28d9}.card-note[data-v-137f3a90]{font-size:.65rem;color:#94a3b8;text-align:center;margin-top:.3rem}.modal-actions[data-v-137f3a90]{display:flex;gap:.75rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid var(--border-soft)}@media (max-width: 768px){.plans-grid[data-v-137f3a90]{grid-template-columns:1fr}.modal-actions[data-v-137f3a90]{flex-direction:column-reverse}.modal-actions .btn[data-v-137f3a90]{width:100%;justify-content:center}}.expired-overlay[data-v-90a2203b]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:99999;padding:1rem;overflow-y:auto}.expired-card[data-v-90a2203b]{background:#fff;border-radius:24px;padding:2.5rem 2rem;max-width:820px;width:100%;text-align:center;box-shadow:0 32px 80px #0000004d}.icon-wrap[data-v-90a2203b]{width:68px;height:68px;border-radius:50%;background:#f59e0b1f;color:#d97706;display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem}.expired-card h2[data-v-90a2203b]{font-size:1.75rem;font-weight:800;color:#1e293b;margin-bottom:.75rem}.subtitle[data-v-90a2203b]{color:#64748b;line-height:1.6;margin-bottom:1.25rem}.read-only-notice[data-v-90a2203b]{display:inline-flex;align-items:center;gap:.5rem;background:#fff7ed;border:1.5px solid #FED7AA;border-radius:10px;padding:.625rem 1rem;font-size:.875rem;color:#92400e;margin-bottom:1.75rem}.read-only-notice svg[data-v-90a2203b]{color:#f59e0b;flex-shrink:0}.plans[data-v-90a2203b]{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem;text-align:left}.plan-card[data-v-90a2203b]{border:2px solid #E2E8F0;border-radius:16px;padding:1.5rem 1.25rem;display:flex;flex-direction:column;gap:.5rem;position:relative}.plan-card.popular[data-v-90a2203b]{border-color:#2d6a4f;background:#2d6a4f05}.plan-badge[data-v-90a2203b]{position:absolute;top:-11px;left:50%;transform:translate(-50%);background:#2d6a4f;color:#fff;font-size:.65rem;font-weight:800;padding:.2rem .75rem;border-radius:20px;white-space:nowrap;text-transform:uppercase;letter-spacing:.04em}.plan-card h3[data-v-90a2203b]{font-size:1.1rem;font-weight:800;color:#1e293b}.plan-price[data-v-90a2203b]{display:flex;align-items:baseline;gap:.2rem}.amount[data-v-90a2203b]{font-size:2rem;font-weight:800;color:#2d6a4f;line-height:1}.amount-label[data-v-90a2203b]{font-size:1.5rem;font-weight:800;color:#7c3aed;line-height:1}.period[data-v-90a2203b]{font-size:.875rem;color:#94a3b8}.plan-note[data-v-90a2203b]{font-size:.72rem;color:#94a3b8;margin:0 0 .5rem}.plan-card ul[data-v-90a2203b]{list-style:none;padding:0;margin:0 0 .75rem;flex:1;display:flex;flex-direction:column;gap:.35rem}.plan-card ul li[data-v-90a2203b]{font-size:.8rem;color:#334155;padding-left:1.1rem;position:relative}.plan-card ul li[data-v-90a2203b]:before{content:"✓";position:absolute;left:0;color:#2d6a4f;font-weight:700}.plan-billing-btns[data-v-90a2203b]{display:flex;gap:.5rem}.btn-plan[data-v-90a2203b]{flex:1;padding:.6rem .75rem;background:#2d6a4f;color:#fff;border:none;border-radius:9px;font-family:DM Sans,sans-serif;font-size:.82rem;font-weight:700;cursor:pointer;text-align:center;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;transition:background .15s}.btn-plan[data-v-90a2203b]:hover:not(:disabled){background:#1b4332}.btn-plan[data-v-90a2203b]:disabled{opacity:.6;cursor:not-allowed}.btn-plan-secondary[data-v-90a2203b]{background:#fff;color:#2d6a4f;border:1.5px solid #2D6A4F}.btn-plan-secondary[data-v-90a2203b]:hover:not(:disabled){background:#2d6a4f0f}.btn-plan-enterprise[data-v-90a2203b]{background:#7c3aed}.btn-plan-enterprise[data-v-90a2203b]:hover{background:#6d28d9}.error-msg[data-v-90a2203b]{padding:.75rem 1rem;background:#fef2f2;border:1px solid #FECACA;border-radius:8px;color:#dc2626;font-size:.875rem;margin-bottom:1rem}.logout-link[data-v-90a2203b]{font-size:.875rem;color:#94a3b8;margin:0}.inline-btn[data-v-90a2203b]{background:none;border:none;color:#2d6a4f;font-family:DM Sans,sans-serif;font-size:inherit;font-weight:600;cursor:pointer;text-decoration:underline}@media (max-width: 700px){.plans[data-v-90a2203b]{grid-template-columns:1fr}.expired-card[data-v-90a2203b]{padding:2rem 1.25rem}.expired-card h2[data-v-90a2203b]{font-size:1.375rem}}.add-student-modal h3[data-v-fca88eff]{font-size:1.75rem;font-weight:700;margin-bottom:.5rem;color:var(--text-dark)}.subtitle[data-v-fca88eff]{color:var(--text-gray);margin-bottom:2rem}.form-row[data-v-fca88eff]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group[data-v-fca88eff]{margin-bottom:1.25rem}.form-group label[data-v-fca88eff]{display:block;margin-bottom:.5rem;font-weight:600;color:var(--text-dark);font-size:.9rem}.form-group input[data-v-fca88eff],.form-group select[data-v-fca88eff],.form-group textarea[data-v-fca88eff]{width:100%;padding:.875rem 1rem;border:2px solid var(--border-soft);border-radius:8px;font-size:1rem;font-family:DM Sans,sans-serif;transition:all .3s;box-sizing:border-box}.form-group input[data-v-fca88eff]:focus,.form-group select[data-v-fca88eff]:focus,.form-group textarea[data-v-fca88eff]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2d6a4f1a}.form-group input[data-v-fca88eff]:disabled,.form-group select[data-v-fca88eff]:disabled,.form-group textarea[data-v-fca88eff]:disabled{background:var(--bg-cream);cursor:not-allowed}.form-group textarea[data-v-fca88eff]{resize:vertical;min-height:80px}.form-hint[data-v-fca88eff]{display:block;margin-top:.5rem;font-size:.85rem;color:var(--text-gray)}.error-message[data-v-fca88eff]{padding:.875rem 1rem;background:#fff5f5;border:1px solid #FFCDD2;border-radius:8px;color:#c62828;font-size:.9rem;margin-bottom:1.5rem}.modal-actions[data-v-fca88eff]{display:flex;gap:1rem;justify-content:flex-end}@media (max-width: 640px){.form-row[data-v-fca88eff]{grid-template-columns:1fr;gap:0}.modal-actions[data-v-fca88eff]{flex-direction:column-reverse}.modal-actions .btn[data-v-fca88eff]{width:100%}}.pa-overlay[data-v-ddecc54a]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10100;padding:1rem}.pa-modal[data-v-ddecc54a]{background:#fff;border-radius:16px;width:100%;max-width:680px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 24px 64px #0003;overflow:hidden}.pa-header[data-v-ddecc54a]{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-soft);flex-shrink:0}.pa-header-left[data-v-ddecc54a]{display:flex;align-items:center;gap:.875rem}.pa-preset-icon[data-v-ddecc54a]{width:40px;height:40px;background:#f0f7f4;border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--primary);flex-shrink:0}.pa-header h3[data-v-ddecc54a]{font-size:1rem;font-weight:800;margin:0 0 .15rem}.pa-preset-name[data-v-ddecc54a]{font-size:.825rem;color:var(--text-gray);margin:0}.pa-close[data-v-ddecc54a]{background:none;border:none;cursor:pointer;color:var(--text-gray);padding:.25rem;border-radius:6px;transition:background .15s}.pa-close[data-v-ddecc54a]:hover{background:#f5f5f3}.pa-body[data-v-ddecc54a]{flex:1;overflow-y:auto;padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:1rem}.pa-instructions p[data-v-ddecc54a]{font-size:.875rem;color:var(--text-gray);margin:0 0 .875rem;line-height:1.6}.pa-global-toggle[data-v-ddecc54a]{margin-bottom:.875rem}.pa-toggle-label[data-v-ddecc54a]{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem;font-weight:600;color:var(--text-dark)}.pa-toggle-label input[data-v-ddecc54a]{accent-color:var(--primary);width:15px;height:15px}.pa-global-areas[data-v-ddecc54a]{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#f8faf9;border:1.5px solid #d1fae5;border-radius:10px;flex-wrap:wrap}.area-bar-label[data-v-ddecc54a]{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--primary);white-space:nowrap;flex-shrink:0}.pa-area-chips[data-v-ddecc54a]{display:flex;flex-wrap:wrap;gap:.375rem}.pa-area-chips--inline[data-v-ddecc54a]{margin-top:.5rem}.area-chip[data-v-ddecc54a]{padding:.2rem .6rem;border-radius:20px;font-size:.75rem;font-weight:600;border:1.5px solid var(--border-soft);background:#fff;cursor:pointer;color:var(--text-gray);transition:all .15s;font-family:DM Sans,sans-serif}.area-chip.active[data-v-ddecc54a]{background:var(--primary);border-color:var(--primary);color:#fff}.area-chip--sm[data-v-ddecc54a]{font-size:.7rem;padding:.15rem .5rem}.pa-accom-list[data-v-ddecc54a]{display:flex;flex-direction:column;gap:.5rem}.pa-accom-row[data-v-ddecc54a]{background:#fafaf9;border:1px solid var(--border-soft);border-radius:10px;padding:.75rem 1rem}.pa-accom-info[data-v-ddecc54a]{display:flex;align-items:center;gap:.5rem;margin-bottom:.375rem}.pa-cat-badge[data-v-ddecc54a]{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.1rem .45rem;border-radius:4px;white-space:nowrap;flex-shrink:0}.cat-physical[data-v-ddecc54a]{background:#e0f2fe;color:#0369a1}.cat-instructional[data-v-ddecc54a]{background:#fef9c3;color:#854d0e}.cat-testing[data-v-ddecc54a]{background:#f3e8ff;color:#6b21a8}.cat-behavioral[data-v-ddecc54a]{background:#ffe4e6;color:#9f1239}.cat-other[data-v-ddecc54a]{background:#f1f5f9;color:#475569}.pa-accom-title[data-v-ddecc54a]{font-size:.85rem;font-weight:600;color:var(--text-dark)}.pa-accom-desc[data-v-ddecc54a]{font-size:.775rem;color:var(--text-gray);margin:.2rem 0 0;line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.pa-area-preview[data-v-ddecc54a]{margin-top:.25rem;padding-top:.25rem}.pa-area-preview-text[data-v-ddecc54a]{font-size:.775rem;color:var(--primary);font-weight:600}.pa-area-preview-none[data-v-ddecc54a]{font-size:.775rem;color:var(--text-gray)}.pa-footer[data-v-ddecc54a]{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--border-soft);flex-shrink:0}@media (max-width: 640px){.pa-modal[data-v-ddecc54a]{max-height:100vh;border-radius:16px 16px 0 0}.pa-overlay[data-v-ddecc54a]{align-items:flex-end;padding:0}.pa-footer[data-v-ddecc54a]{flex-direction:column}.pa-footer .btn[data-v-ddecc54a]{width:100%;justify-content:center}}.sts-wrapper[data-v-5cc67c57]{position:relative;width:100%}.sts-input-row[data-v-5cc67c57]{display:flex;align-items:center;gap:.5rem;padding:.65rem .875rem;border:1.5px solid var(--border-soft);border-radius:8px;background:#fff;cursor:text;transition:border-color .2s}.sts-input-row[data-v-5cc67c57]:focus-within{border-color:var(--primary)}.sts-input-row:focus-within .sts-search-icon[data-v-5cc67c57]{fill:var(--primary)}.sts-search-icon[data-v-5cc67c57]{fill:var(--text-gray);flex-shrink:0;transition:fill .2s}.sts-input[data-v-5cc67c57]{flex:1;border:none;outline:none;padding:0;font-family:DM Sans,sans-serif;font-size:.95rem;color:var(--text-dark);background:transparent;min-width:0}.sts-input[data-v-5cc67c57]::placeholder{color:var(--text-gray)}.sts-input[data-v-5cc67c57]:disabled{cursor:not-allowed;opacity:.6}.sts-input.error[data-v-5cc67c57]{color:var(--error)}.sts-clear[data-v-5cc67c57]{background:none;border:none;padding:2px;cursor:pointer;color:var(--text-gray);display:flex;align-items:center;border-radius:4px;transition:color .15s}.sts-clear[data-v-5cc67c57]:hover{color:var(--error)}.sts-dropdown[data-v-5cc67c57]{background:#fff;border:1.5px solid var(--border-soft);border-radius:10px;box-shadow:0 8px 32px #00000024;max-height:320px;overflow-y:auto;overscroll-behavior:contain}.sts-group-label[data-v-5cc67c57]{padding:.5rem .875rem .25rem;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--text-gray);position:sticky;top:0;background:#fff;border-bottom:1px solid var(--border-soft)}.sts-option[data-v-5cc67c57]{display:block;width:100%;text-align:left;padding:.55rem .875rem;border:none;background:none;cursor:pointer;font-family:DM Sans,sans-serif;font-size:.875rem;color:var(--text-dark);transition:background .1s}.sts-option[data-v-5cc67c57]:hover,.sts-option.highlighted[data-v-5cc67c57]{background:#f0f7f4;color:var(--primary)}.sts-option.selected[data-v-5cc67c57]{font-weight:700;color:var(--primary)}.sts-empty[data-v-5cc67c57]{padding:1.25rem;text-align:center;font-size:.875rem;color:var(--text-gray)}.wizard-shell[data-v-086fa88f]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;display:flex;background:#fff;font-family:DM Sans,sans-serif}.wizard-close[data-v-086fa88f]{position:absolute;top:1.25rem;right:1.25rem;z-index:10;width:36px;height:36px;border-radius:50%;border:none;background:#f5f5f3;color:var(--text-dark);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.wizard-close[data-v-086fa88f]:hover{background:#e8e3dc}.wizard-rail[data-v-086fa88f]{width:240px;flex-shrink:0;background:#1b4332;color:#fff;display:flex;flex-direction:column;padding:2rem 1.5rem;overflow-y:auto;overflow-x:hidden}.rail-logo[data-v-086fa88f]{font-family:Outfit,sans-serif;font-size:1.5rem;font-weight:800;margin-bottom:.25rem}.rail-logo .sp[data-v-086fa88f]{color:#52b788}.rail-logo .easy[data-v-086fa88f]{color:#f4a261}.rail-label[data-v-086fa88f]{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#fff6;margin-bottom:2rem}.rail-steps[data-v-086fa88f]{display:flex;flex-direction:column;gap:.25rem;flex:1}.rail-step[data-v-086fa88f]{display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;border-radius:10px;background:none;border:none;color:#ffffff73;cursor:not-allowed;text-align:left;transition:all .15s;width:100%;position:relative}.rail-step.reachable[data-v-086fa88f]{cursor:pointer}.rail-step.reachable[data-v-086fa88f]:hover{background:#ffffff12;color:#fffc}.rail-step.active[data-v-086fa88f]{background:#ffffff1f;color:#fff}.rail-step.completed[data-v-086fa88f]{color:#ffffffb3}.rail-indicator[data-v-086fa88f]{width:26px;height:26px;border-radius:50%;background:#ffffff1a;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.75rem;font-weight:700;transition:background .15s}.rail-step.active .rail-indicator[data-v-086fa88f],.rail-step.completed .rail-indicator[data-v-086fa88f]{background:#52b788;color:#1b4332}.rail-title[data-v-086fa88f]{font-size:.9rem;font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rail-optional[data-v-086fa88f]{font-size:.65rem;color:#ffffff4d;text-transform:uppercase;letter-spacing:.06em;flex-shrink:0}.rail-footer[data-v-086fa88f]{margin-top:2rem}.rail-saved[data-v-086fa88f]{display:flex;align-items:center;gap:.4rem;font-size:.75rem;color:#52b788}.wizard-main[data-v-086fa88f]{flex:1;display:flex;flex-direction:column;overflow:hidden}.wizard-header[data-v-086fa88f]{padding:2rem 2.5rem 1.5rem;border-bottom:1px solid var(--border-soft, #E8E3DC);flex-shrink:0}.step-meta[data-v-086fa88f]{display:flex;align-items:center;gap:1rem;margin-bottom:.875rem}.step-pill[data-v-086fa88f]{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--primary, #2D6A4F);background:#f0f7f4;border-radius:20px;padding:.2rem .65rem}.step-progress[data-v-086fa88f]{flex:1;height:4px;background:#f0ede8;border-radius:2px;overflow:hidden}.step-progress-fill[data-v-086fa88f]{height:100%;background:var(--primary, #2D6A4F);border-radius:2px;transition:width .4s cubic-bezier(.4,0,.2,1)}.step-title[data-v-086fa88f]{font-family:Outfit,sans-serif;font-size:1.6rem;font-weight:800;color:var(--text-dark, #1A1A1A);margin-bottom:.3rem}.step-subtitle[data-v-086fa88f]{font-size:.9rem;color:var(--text-gray, #5A5A5A)}.step-body[data-v-086fa88f]{flex:1;overflow-y:auto;padding:1.75rem 2.5rem}.form-grid[data-v-086fa88f]{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.form-group[data-v-086fa88f]{display:flex;flex-direction:column;gap:.4rem}.form-group--full[data-v-086fa88f]{grid-column:1 / -1}.form-group label[data-v-086fa88f]{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-gray, #5A5A5A)}.form-group input[data-v-086fa88f],.form-group select[data-v-086fa88f],.form-group textarea[data-v-086fa88f]{padding:.65rem .875rem;border:1.5px solid var(--border-soft, #E8E3DC);border-radius:8px;font-size:.9rem;font-family:DM Sans,sans-serif;color:var(--text-dark, #1A1A1A);background:#fff;transition:border-color .15s;width:100%;box-sizing:border-box}.form-group input[data-v-086fa88f]:focus,.form-group select[data-v-086fa88f]:focus,.form-group textarea[data-v-086fa88f]:focus{outline:none;border-color:var(--primary, #2D6A4F);box-shadow:0 0 0 3px #2d6a4f1a}.form-group small[data-v-086fa88f]{font-size:.78rem;color:var(--text-gray, #5A5A5A)}.input-error[data-v-086fa88f]{border-color:#e74c3c!important}.field-error[data-v-086fa88f]{font-size:.78rem;color:#e74c3c}.req[data-v-086fa88f]{color:#e74c3c}.api-error[data-v-086fa88f]{margin-top:1rem;padding:.875rem 1rem;background:#fff5f5;border:1px solid #ffcdd2;border-radius:8px;color:#c62828;font-size:.875rem}.staged-list[data-v-086fa88f]{background:#f8faf9;border:1.5px solid #d1fae5;border-radius:12px;padding:1rem;margin-bottom:1.5rem}.staged-header[data-v-086fa88f]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;font-size:.825rem;font-weight:700;color:var(--primary, #2D6A4F)}.staged-hint[data-v-086fa88f]{font-weight:400;color:var(--text-gray)}.staged-item[data-v-086fa88f]{display:flex;align-items:flex-start;justify-content:space-between;padding:.5rem .625rem;background:#fff;border-radius:8px;margin-bottom:.4rem;border:1px solid var(--border-soft)}.staged-item[data-v-086fa88f]:last-child{margin-bottom:0}.staged-item-content[data-v-086fa88f]{display:flex;align-items:flex-start;gap:.6rem;flex:1;min-width:0}.staged-accom-text[data-v-086fa88f]{display:flex;flex-direction:column;gap:.1rem;min-width:0;flex:1}.staged-title[data-v-086fa88f]{font-size:.875rem;font-weight:600;color:var(--text-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.staged-accom-desc[data-v-086fa88f]{font-size:.75rem;color:var(--text-gray);overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;white-space:normal;line-height:1.4}.staged-meta[data-v-086fa88f]{font-size:.78rem;color:var(--text-gray)}.staged-remove[data-v-086fa88f]{flex-shrink:0;width:26px;height:26px;border-radius:50%;background:none;border:none;cursor:pointer;color:var(--text-gray);display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.staged-remove[data-v-086fa88f]:hover{background:#ffe4e6;color:#9f1239}.staged-cat-badge[data-v-086fa88f]{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.15rem .5rem;border-radius:4px;white-space:nowrap;flex-shrink:0}.cat-adapt[data-v-086fa88f]{background:#e8f5e9;color:#2e7d32}.cat-materials[data-v-086fa88f]{background:#e3f2fd;color:#1565c0}.cat-alter[data-v-086fa88f]{background:#fff3e0;color:#e65100}.cat-district[data-v-086fa88f]{background:#fce4ec;color:#880e4f}.cat-behavior[data-v-086fa88f]{background:#f3e5f5;color:#6a1b9a}.cat-equipment[data-v-086fa88f]{background:#e0f2f1;color:#00695c}.cat-environmental[data-v-086fa88f]{background:#e8eaf6;color:#283593}.svc-badge[data-v-086fa88f]{font-size:.72rem;font-weight:700;background:#e0f2f1;color:#00695c;padding:.15rem .5rem;border-radius:4px;white-space:nowrap;flex-shrink:0}.domain-badge[data-v-086fa88f]{font-size:.72rem;font-weight:700;background:#f0f7f4;color:var(--primary);padding:.15rem .5rem;border-radius:4px;white-space:nowrap;flex-shrink:0}.accom-panel[data-v-086fa88f]{margin-bottom:1.25rem}.accom-panel-header[data-v-086fa88f]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;flex-wrap:wrap;gap:.5rem}.accom-panel-header h4[data-v-086fa88f]{font-size:1rem;font-weight:700;color:var(--text-dark);margin:0}.accom-search-wrap[data-v-086fa88f]{display:flex;align-items:center;gap:.5rem;border:1.5px solid var(--border-soft);border-radius:8px;padding:.35rem .625rem;background:#fff}.accom-search-wrap input[data-v-086fa88f]{border:none;outline:none;font-size:.85rem;font-family:DM Sans,sans-serif;min-width:180px}.cat-chips[data-v-086fa88f]{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.875rem}.cat-chip[data-v-086fa88f]{padding:.25rem .75rem;border-radius:20px;font-size:.78rem;font-weight:600;border:1.5px solid var(--border-soft);background:#fff;cursor:pointer;color:var(--text-gray);transition:all .15s}.cat-chip.active[data-v-086fa88f]{background:var(--primary);border-color:var(--primary);color:#fff}.library-grid[data-v-086fa88f]{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.625rem;max-height:280px;overflow-y:auto;padding-right:.25rem}.lib-item[data-v-086fa88f]{text-align:left;background:#fff;border:1.5px solid var(--border-soft);border-radius:10px;padding:.75rem;cursor:pointer;transition:all .15s}.lib-item[data-v-086fa88f]:hover{border-color:var(--primary);background:#f8faf9}.lib-item.selected[data-v-086fa88f]{border-color:var(--primary);background:#f0f7f4}.lib-item-top[data-v-086fa88f]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.35rem}.lib-item-title[data-v-086fa88f]{font-size:.85rem;font-weight:700;color:var(--text-dark);margin:0 0 .25rem}.lib-item-desc[data-v-086fa88f]{font-size:.75rem;color:var(--text-gray);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0}.lib-add-bar[data-v-086fa88f]{display:flex;justify-content:space-between;align-items:center;background:#f5f5f3;border:1.5px solid var(--border-soft);border-radius:8px;padding:.625rem .875rem;margin-bottom:.75rem;font-size:.85rem;font-weight:600;color:var(--text-gray)}.lib-add-bar--active[data-v-086fa88f]{background:#f0f7f4;border-color:#c8e6d4;color:var(--primary)}.lib-add-hint[data-v-086fa88f]{font-weight:400;font-size:.8rem}.btn-stage[data-v-086fa88f]{background:var(--primary);color:#fff;border:none;border-radius:7px;padding:.4rem .875rem;font-size:.825rem;font-weight:700;cursor:pointer;font-family:DM Sans,sans-serif;transition:background .15s}.btn-stage[data-v-086fa88f]:hover:not(:disabled){background:var(--primary-dark, #1B4332)}.btn-stage[data-v-086fa88f]:disabled{opacity:.4;cursor:not-allowed}.accom-custom[data-v-086fa88f]{margin-top:1rem}.toggle-custom[data-v-086fa88f]{display:flex;align-items:center;gap:.5rem;background:none;border:1.5px dashed var(--border-soft);border-radius:8px;padding:.5rem .875rem;color:var(--text-gray);font-size:.85rem;font-weight:600;cursor:pointer;width:100%;transition:all .15s;font-family:DM Sans,sans-serif}.toggle-custom[data-v-086fa88f]:hover{border-color:var(--primary);color:var(--primary)}.custom-form[data-v-086fa88f]{margin-top:.875rem;background:#faf8f5;border-radius:10px;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.btn-add-custom[data-v-086fa88f]{display:flex;align-items:center;gap:.5rem;background:#fff;border:1.5px solid var(--primary);color:var(--primary);border-radius:8px;padding:.5rem 1rem;font-size:.85rem;font-weight:700;cursor:pointer;font-family:DM Sans,sans-serif;transition:all .15s;margin-top:.5rem}.btn-add-custom[data-v-086fa88f]:hover{background:var(--primary);color:#fff}.accom-area-bar[data-v-086fa88f]{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#f8faf9;border:1.5px solid #d1fae5;border-radius:10px;margin-bottom:1rem;flex-wrap:wrap}.area-bar-label[data-v-086fa88f]{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--primary);white-space:nowrap;flex-shrink:0}.area-note[data-v-086fa88f]{display:flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--text-gray);margin:0;padding:.375rem .625rem;background:#f0f7f4;border-radius:6px}.area-note svg[data-v-086fa88f]{flex-shrink:0;color:var(--primary)}.area-chips[data-v-086fa88f]{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.25rem}.area-chip[data-v-086fa88f]{padding:.25rem .625rem;border-radius:20px;font-size:.775rem;font-weight:600;border:1.5px solid var(--border-soft);background:#fff;cursor:pointer;color:var(--text-gray);transition:all .15s;font-family:DM Sans,sans-serif}.area-chip.active[data-v-086fa88f]{background:var(--primary);border-color:var(--primary);color:#fff}.accom-preset-bar[data-v-086fa88f]{position:relative;margin-bottom:.75rem}.preset-toggle-btn[data-v-086fa88f]{display:flex;align-items:center;gap:.5rem;width:100%;background:#f8faf9;border:1.5px solid #c8e6d4;border-radius:10px;padding:.625rem 1rem;font-size:.85rem;font-weight:700;color:var(--primary);cursor:pointer;font-family:DM Sans,sans-serif;transition:background .15s,border-color .15s}.preset-toggle-btn[data-v-086fa88f]:hover{background:#edf7f1;border-color:var(--primary)}.preset-count-pill[data-v-086fa88f]{background:var(--primary);color:#fff;font-size:.65rem;font-weight:800;padding:.1rem .45rem;border-radius:20px}.preset-chevron[data-v-086fa88f]{margin-left:auto;color:var(--primary);transition:transform .2s}.preset-chevron.open[data-v-086fa88f]{transform:rotate(180deg)}.preset-dropdown[data-v-086fa88f]{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1.5px solid var(--border-soft);border-radius:10px;box-shadow:0 8px 24px #0000001f;z-index:50;overflow:hidden;max-height:260px;overflow-y:auto}.preset-loading[data-v-086fa88f],.preset-empty[data-v-086fa88f]{padding:.875rem 1rem;font-size:.825rem;color:var(--text-gray);display:flex;align-items:center;gap:.5rem}.preset-option[data-v-086fa88f]{width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--border-soft);padding:.75rem 1rem;cursor:pointer;font-family:DM Sans,sans-serif;transition:background .12s}.preset-option[data-v-086fa88f]:last-child{border-bottom:none}.preset-option[data-v-086fa88f]:hover{background:#f0f7f4}.preset-option-top[data-v-086fa88f]{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-dark);margin-bottom:.2rem}.preset-option-desc[data-v-086fa88f]{font-size:.775rem;color:var(--text-gray);margin:0;line-height:1.4}.preset-default-tag[data-v-086fa88f]{font-size:.65rem;font-weight:700;background:#d1fae5;color:#065f46;padding:.1rem .4rem;border-radius:20px}.save-to-library[data-v-086fa88f]{display:flex;align-items:flex-start;gap:.625rem;cursor:pointer;margin-top:.25rem;padding:.625rem .75rem;background:#f8faf9;border:1.5px solid #d1fae5;border-radius:8px}.save-to-library input[type=checkbox][data-v-086fa88f]{margin-top:.15rem;flex-shrink:0;width:15px;height:15px;accent-color:var(--primary)}.save-to-library strong[data-v-086fa88f]{display:block;font-size:.85rem;color:var(--text-dark)}.save-hint[data-v-086fa88f]{font-size:.775rem;color:var(--text-gray)}.service-form-card[data-v-086fa88f]{background:#faf8f5;border-radius:12px;padding:1.25rem 1.5rem;border:1.5px solid var(--border-soft)}.service-form-card h4[data-v-086fa88f]{font-size:1rem;font-weight:700;margin-bottom:1rem;color:var(--text-dark)}.freq-tabs[data-v-086fa88f]{display:flex;gap:.4rem}.freq-tab[data-v-086fa88f]{flex:1;padding:.5rem;border:1.5px solid var(--border-soft);border-radius:7px;background:#fff;font-size:.8rem;font-weight:600;cursor:pointer;color:var(--text-gray);font-family:DM Sans,sans-serif;transition:all .15s}.freq-tab.active[data-v-086fa88f]{background:var(--primary);border-color:var(--primary);color:#fff}.days-row[data-v-086fa88f]{display:flex;gap:.4rem;flex-wrap:wrap}.day-chip[data-v-086fa88f]{padding:.35rem .6rem;border-radius:6px;font-size:.78rem;font-weight:700;border:1.5px solid var(--border-soft);cursor:pointer;color:var(--text-gray);transition:all .15s;-webkit-user-select:none;user-select:none;background:#fff}.day-chip.active[data-v-086fa88f]{background:var(--primary);border-color:var(--primary);color:#fff}.sr-only[data-v-086fa88f]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.step-body--summary[data-v-086fa88f]{display:flex;flex-direction:column;gap:1.5rem;position:relative}.summary-student-card[data-v-086fa88f]{display:flex;align-items:center;gap:1.25rem;background:#f0f7f4;border-radius:12px;padding:1.25rem 1.5rem;border:1.5px solid #c8e6d4}.summary-avatar[data-v-086fa88f]{width:56px;height:56px;border-radius:50%;background:var(--primary);color:#fff;font-size:1.25rem;font-weight:800;font-family:Outfit,sans-serif;display:flex;align-items:center;justify-content:center;flex-shrink:0;text-transform:uppercase}.summary-student-card h3[data-v-086fa88f]{font-size:1.25rem;font-weight:800;margin-bottom:.25rem}.summary-student-card p[data-v-086fa88f]{font-size:.875rem;color:var(--text-gray);margin:0}.summary-counts[data-v-086fa88f]{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.summary-count-item[data-v-086fa88f]{background:#fff;border-radius:12px;padding:1.25rem;border:1.5px solid var(--border-soft);text-align:center;transition:border-color .2s}.summary-count-item.has-items[data-v-086fa88f]{border-color:var(--primary)}.count-num[data-v-086fa88f]{font-size:2rem;font-weight:800;color:var(--text-gray);font-family:Outfit,sans-serif}.has-items .count-num[data-v-086fa88f]{color:var(--primary)}.count-label[data-v-086fa88f]{font-size:.8rem;font-weight:600;color:var(--text-gray);text-transform:uppercase;letter-spacing:.05em}.summary-note[data-v-086fa88f]{font-size:.875rem;color:var(--text-gray);line-height:1.6}.saving-overlay[data-v-086fa88f]{position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffffe6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;font-weight:600;color:var(--text-gray);border-radius:12px}.save-success[data-v-086fa88f]{text-align:center;padding:2rem 0}.success-icon[data-v-086fa88f]{width:72px;height:72px;border-radius:50%;background:#d1fae5;color:var(--primary);display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem}.save-success h3[data-v-086fa88f]{font-size:1.5rem;font-weight:800;margin-bottom:.5rem}.save-success p[data-v-086fa88f]{color:var(--text-gray);margin-bottom:1.5rem}.success-actions[data-v-086fa88f]{display:flex;gap:.75rem;justify-content:center}.wizard-footer[data-v-086fa88f]{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 2.5rem;border-top:1px solid var(--border-soft);flex-shrink:0;background:#fff}.footer-right[data-v-086fa88f]{display:flex;align-items:center;gap:.75rem}.btn-back[data-v-086fa88f]{display:flex;align-items:center;gap:.35rem;background:none;border:none;color:var(--text-gray);font-size:.9rem;font-weight:600;cursor:pointer;font-family:DM Sans,sans-serif;padding:.5rem .75rem;border-radius:8px;transition:all .15s}.btn-back[data-v-086fa88f]:hover{color:var(--text-dark);background:#f5f5f3}.btn-skip[data-v-086fa88f]{background:none;border:none;color:var(--text-gray);font-size:.875rem;font-weight:600;cursor:pointer;font-family:DM Sans,sans-serif;padding:.5rem;transition:color .15s}.btn-skip[data-v-086fa88f]:hover{color:var(--text-dark)}.btn-next[data-v-086fa88f]{display:flex;align-items:center;gap:.5rem;background:var(--primary, #2D6A4F);color:#fff;border:none;border-radius:10px;padding:.75rem 1.5rem;font-size:.925rem;font-weight:700;cursor:pointer;font-family:DM Sans,sans-serif;transition:all .15s}.btn-next[data-v-086fa88f]:hover:not(:disabled){background:var(--primary-dark, #1B4332);transform:translateY(-1px);box-shadow:0 4px 12px #2d6a4f40}.btn-next[data-v-086fa88f]:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.abandon-overlay[data-v-086fa88f]{position:absolute;top:0;right:0;bottom:0;left:0;background:#1a1a1a80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100}.abandon-dialog[data-v-086fa88f]{background:#fff;border-radius:16px;padding:2rem;max-width:420px;width:90%;box-shadow:0 24px 64px #0003}.abandon-dialog h4[data-v-086fa88f]{font-size:1.125rem;font-weight:800;margin-bottom:.75rem}.abandon-dialog p[data-v-086fa88f]{font-size:.9rem;color:var(--text-gray);margin-bottom:1.5rem;line-height:1.6}.abandon-actions[data-v-086fa88f]{display:flex;gap:.75rem;justify-content:flex-end}.btn-danger[data-v-086fa88f]{background:#e74c3c;color:#fff;border:none;border-radius:8px;padding:.625rem 1.25rem;font-size:.9rem;font-weight:700;cursor:pointer;font-family:DM Sans,sans-serif;transition:background .15s}.btn-danger[data-v-086fa88f]:hover{background:#c0392b}.spinner[data-v-086fa88f]{width:20px;height:20px;border:2.5px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-086fa88f .7s linear infinite}.spinner--lg[data-v-086fa88f]{width:36px;height:36px;border-color:#2d6a4f33;border-top-color:var(--primary)}.spinner--sm[data-v-086fa88f]{width:16px;height:16px}@keyframes spin-086fa88f{to{transform:rotate(360deg)}}.step-loading[data-v-086fa88f],.step-empty[data-v-086fa88f]{padding:2rem;text-align:center;color:var(--text-gray);font-size:.9rem;display:flex;align-items:center;justify-content:center;gap:.75rem}.wizard-enter-active[data-v-086fa88f]{transition:opacity .25s ease,transform .25s cubic-bezier(.34,1.56,.64,1)}.wizard-enter-from[data-v-086fa88f]{opacity:0;transform:scale(.97)}.slide-forward-enter-active[data-v-086fa88f],.slide-back-enter-active[data-v-086fa88f]{transition:all .22s cubic-bezier(.4,0,.2,1)}.slide-forward-leave-active[data-v-086fa88f],.slide-back-leave-active[data-v-086fa88f]{transition:all .18s cubic-bezier(.4,0,.2,1)}.slide-forward-enter-from[data-v-086fa88f]{opacity:0;transform:translate(28px)}.slide-forward-leave-to[data-v-086fa88f],.slide-back-enter-from[data-v-086fa88f]{opacity:0;transform:translate(-28px)}.slide-back-leave-to[data-v-086fa88f]{opacity:0;transform:translate(28px)}.fade-enter-active[data-v-086fa88f],.fade-leave-active[data-v-086fa88f]{transition:opacity .2s}.fade-enter-from[data-v-086fa88f],.fade-leave-to[data-v-086fa88f]{opacity:0}@media (max-width: 768px){.wizard-shell[data-v-086fa88f]{flex-direction:column}.wizard-rail[data-v-086fa88f]{width:100%;flex-direction:row;flex-wrap:wrap;align-items:center;padding:.75rem 1rem;gap:.4rem}.rail-logo[data-v-086fa88f],.rail-label[data-v-086fa88f],.rail-footer[data-v-086fa88f]{display:none}.rail-steps[data-v-086fa88f]{flex-direction:row;flex:0 0 auto;gap:.25rem}.rail-step[data-v-086fa88f]{padding:.35rem .5rem}.rail-title[data-v-086fa88f],.rail-optional[data-v-086fa88f]{display:none}.wizard-header[data-v-086fa88f]{padding:1rem 1rem .875rem}.step-title[data-v-086fa88f]{font-size:1.25rem}.step-body[data-v-086fa88f]{padding:1rem}.form-grid[data-v-086fa88f]{grid-template-columns:1fr}.step-body--summary[data-v-086fa88f]{overflow-x:hidden}.summary-student-card[data-v-086fa88f]{flex-direction:column;align-items:flex-start;gap:.875rem;padding:1rem}.summary-counts[data-v-086fa88f]{grid-template-columns:repeat(3,1fr);gap:.5rem}.summary-count-item[data-v-086fa88f]{padding:.75rem .5rem}.count-num[data-v-086fa88f]{font-size:1.5rem}.count-label[data-v-086fa88f]{font-size:.7rem;letter-spacing:0}.save-success[data-v-086fa88f]{padding:1rem 0}.save-success h3[data-v-086fa88f]{font-size:1.2rem}.success-actions[data-v-086fa88f]{flex-direction:column;align-items:stretch;gap:.625rem}.success-actions .btn[data-v-086fa88f]{width:100%;justify-content:center}.wizard-footer[data-v-086fa88f]{padding:.75rem 1rem;gap:.5rem;flex-wrap:nowrap}.btn-back[data-v-086fa88f]{padding:.5rem;font-size:.8rem;gap:.2rem;flex-shrink:0}.footer-right[data-v-086fa88f]{flex:1;justify-content:flex-end;gap:.4rem;min-width:0}.btn-skip[data-v-086fa88f]{font-size:.78rem;padding:.4rem .25rem;white-space:nowrap;flex-shrink:1;overflow:hidden;text-overflow:ellipsis;max-width:80px}.btn-next[data-v-086fa88f]{padding:.6rem .875rem;font-size:.825rem;gap:.3rem;white-space:nowrap;flex-shrink:0}.btn-next svg[data-v-086fa88f]{display:none}}.trial-banner[data-v-c1899a81]{display:flex;align-items:center;gap:.625rem;padding:.75rem 1.25rem;background:#e8f5e9;border:1.5px solid var(--primary);border-radius:12px;font-size:.9rem;color:var(--text-dark);margin-bottom:1.5rem}.trial-banner.urgent[data-v-c1899a81]{background:#fff3e0;border-color:#e65100;color:#3e2723}.trial-banner svg[data-v-c1899a81]{flex-shrink:0;color:var(--primary)}.trial-banner.urgent svg[data-v-c1899a81]{color:#e65100}.banner-upgrade-btn[data-v-c1899a81]{margin-left:auto;background:none;border:none;font-family:DM Sans,sans-serif;font-size:.875rem;font-weight:700;color:var(--primary);cursor:pointer;padding:0;white-space:nowrap}.trial-banner.urgent .banner-upgrade-btn[data-v-c1899a81]{color:#e65100}.banner-upgrade-btn[data-v-c1899a81]:hover{text-decoration:underline}.dashboard-header[data-v-c1899a81]{display:flex;justify-content:space-between;align-items:start;margin-bottom:2.5rem}.header-left h2[data-v-c1899a81]{font-size:2.25rem;font-weight:800;margin-bottom:.5rem}.dash-org-badge[data-v-c1899a81]{display:inline-flex;align-items:center;gap:.35rem;background:#2d6a4f14;color:var(--primary, #2D6A4F);border:1.5px solid rgba(45,106,79,.18);border-radius:20px;padding:.25rem .75rem;font-size:.78rem;font-weight:700;letter-spacing:.01em;margin-bottom:.5rem}.header-left p[data-v-c1899a81]{color:var(--text-gray);font-size:1.1rem}.header-count-line[data-v-c1899a81]{display:flex;align-items:baseline;gap:.3rem;font-size:.95rem;color:var(--text-gray);font-weight:500;margin:0;flex-wrap:wrap}.plan-filter-pills[data-v-c1899a81]{display:flex;align-items:center;gap:.2rem;margin-top:.35rem}.plan-pill[data-v-c1899a81]{padding:.15rem .55rem;border:1.5px solid var(--border-soft);border-radius:20px;background:none;font-family:DM Sans,sans-serif;font-size:.72rem;font-weight:700;color:var(--text-gray);cursor:pointer;transition:all .15s;line-height:1.4}.plan-pill[data-v-c1899a81]:hover{border-color:var(--primary);color:var(--primary)}.plan-pill.active[data-v-c1899a81]{background:var(--primary);border-color:var(--primary);color:#fff}.plan-pill-iep.active[data-v-c1899a81]{background:#2d6a4f;border-color:#2d6a4f}.plan-pill-504.active[data-v-c1899a81]{background:#1d4ed8;border-color:#1d4ed8}.header-total-count[data-v-c1899a81]{font-size:1.5rem;font-weight:800;color:var(--primary);line-height:1}.header-right[data-v-c1899a81]{display:flex;gap:1rem;align-items:center}.action-bar[data-v-c1899a81]{display:flex;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.action-group[data-v-c1899a81]{display:flex;gap:1rem;flex-wrap:wrap}.action-group[style*="display: none"][data-v-c1899a81]{display:none!important}.search-bar[data-v-c1899a81]{min-width:0;width:100%;position:relative;margin-bottom:2rem}.search-bar input[data-v-c1899a81]{width:100%;padding:.875rem 1rem .875rem 3rem;border:2px solid var(--border-soft);border-radius:8px;font-size:.95rem;font-family:DM Sans,sans-serif;transition:border-color .3s}.search-bar input[data-v-c1899a81]:focus{outline:none;border-color:var(--primary)}.search-bar svg[data-v-c1899a81]{position:absolute;left:1rem;top:50%;transform:translateY(-50%);width:18px;height:18px;fill:var(--text-gray)}.classroom-grid[data-v-c1899a81]{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.5rem}.loading-state[data-v-c1899a81]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:var(--text-gray)}.spinner[data-v-c1899a81]{width:48px;height:48px;border:4px solid var(--border-soft);border-top-color:var(--primary);border-radius:50%;animation:spin-c1899a81 .8s linear infinite;margin-bottom:1rem}@keyframes spin-c1899a81{to{transform:rotate(360deg)}}.empty-state[data-v-c1899a81]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.empty-state svg[data-v-c1899a81]{color:var(--text-gray);opacity:.3;margin-bottom:1.5rem}.empty-state h3[data-v-c1899a81]{font-size:1.5rem;font-weight:700;margin-bottom:.5rem;color:var(--text-dark)}.empty-state p[data-v-c1899a81]{color:var(--text-gray);margin-bottom:2rem}.modal-overlay[data-v-c1899a81]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.confirm-dialog[data-v-c1899a81]{background:#fff;border-radius:16px;padding:2rem;width:100%;max-width:420px;box-shadow:0 20px 60px #0003;text-align:center}.confirm-icon[data-v-c1899a81]{width:60px;height:60px;border-radius:50%;background:#fff3f3;color:var(--error);display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem}.confirm-dialog h3[data-v-c1899a81]{font-size:1.25rem;font-weight:700;color:var(--text-dark);margin-bottom:.75rem}.confirm-dialog p[data-v-c1899a81]{color:var(--text-gray);line-height:1.6;margin-bottom:1.75rem}.confirm-actions[data-v-c1899a81]{display:flex;gap:.75rem;justify-content:center}.btn-ghost-sm[data-v-c1899a81]{background:none;border:1.5px solid var(--border-soft);color:var(--text-gray);padding:.5rem .875rem;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;font-family:DM Sans,sans-serif;transition:all .15s;white-space:nowrap}.btn-ghost-sm[data-v-c1899a81]:hover{border-color:var(--primary);color:var(--primary)}.btn-danger[data-v-c1899a81]{background:var(--error);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;font-size:.95rem;cursor:pointer;transition:opacity .2s;display:flex;align-items:center;gap:.4rem}.btn-danger[data-v-c1899a81]:hover:not(:disabled){opacity:.85}.btn-danger[data-v-c1899a81]:disabled{opacity:.6;cursor:not-allowed}.spinner-sm[data-v-c1899a81]{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin-c1899a81 .7s linear infinite}@media (max-width: 968px){.dashboard-header[data-v-c1899a81]{flex-direction:column;gap:1rem;align-items:stretch}.header-left h2[data-v-c1899a81]{font-size:1.75rem}.header-left p[data-v-c1899a81]{font-size:1rem}.header-right[data-v-c1899a81]{justify-content:flex-end}.action-bar[data-v-c1899a81]{flex-direction:column}.classroom-grid[data-v-c1899a81]{grid-template-columns:1fr}}@media (max-width: 640px){.main-content[data-v-c1899a81]{padding:4.5rem .75rem .75rem}.header-left h2[data-v-c1899a81]{font-size:1.5rem}.action-bar[data-v-c1899a81]{gap:.75rem}.confirm-actions[data-v-c1899a81]{flex-direction:column}}.view-toggle[data-v-c1899a81]{display:flex;background:var(--bg-cream);border-radius:10px;padding:.25rem;gap:.25rem;align-self:center}.toggle-btn[data-v-c1899a81]{padding:.5rem 1.1rem;border:none;border-radius:8px;font-family:DM Sans,sans-serif;font-size:.875rem;font-weight:600;cursor:pointer;background:transparent;color:var(--text-gray);transition:all .2s}.toggle-btn.active[data-v-c1899a81]{background:#fff;color:var(--primary);box-shadow:0 2px 8px #00000014}.view-mode-toggle[data-v-c1899a81]{display:flex;background:var(--bg-cream);border-radius:10px;padding:.25rem;gap:.25rem}.students-list[data-v-c1899a81]{display:flex;flex-direction:column;gap:.5rem}.student-row[data-v-c1899a81]{display:grid;grid-template-columns:44px 1fr auto auto;align-items:center;gap:1rem;background:#fff;border-radius:12px;padding:.875rem 1.25rem;cursor:pointer;box-shadow:0 2px 6px #0000000d;border:2px solid transparent;transition:all .2s}.sr-actions[data-v-c1899a81]{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.student-row[data-v-c1899a81]:hover{border-color:var(--primary-light);box-shadow:0 4px 12px #2d6a4f1a}.sr-avatar[data-v-c1899a81]{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#fff;font-weight:700;font-size:1rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sr-info[data-v-c1899a81]{display:flex;flex-direction:column;gap:.2rem}.sr-name[data-v-c1899a81]{font-weight:700;font-size:1rem}.sr-meta[data-v-c1899a81]{font-size:.8rem;color:var(--text-gray)}.sr-badges[data-v-c1899a81]{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.sr-id[data-v-c1899a81]{font-size:.8rem;color:var(--text-gray)}.sr-badge[data-v-c1899a81]{font-size:.75rem;font-weight:600;padding:.2rem .6rem;border-radius:10px}.acc-badge[data-v-c1899a81]{background:#2d6a4f1a;color:var(--primary)}.sr-arrow[data-v-c1899a81]{color:var(--text-gray);flex-shrink:0}.sr-archive-btn[data-v-c1899a81]{background:none;border:1.5px solid transparent;border-radius:8px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#ccc;flex-shrink:0;transition:all .15s}.sr-archive-btn[data-v-c1899a81]:hover{background:#fffbeb;border-color:#fde68a;color:#d97706}.sr-delete-btn[data-v-c1899a81]{background:none;border:1.5px solid transparent;border-radius:8px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#ccc;flex-shrink:0;transition:all .15s}.sr-delete-btn[data-v-c1899a81]:hover{background:#fef2f2;border-color:#fca5a5;color:#dc2626}.dash-confirm-overlay[data-v-c1899a81]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);padding:1rem}.dash-confirm-modal[data-v-c1899a81]{background:#fff;border-radius:16px;padding:2rem;max-width:420px;width:100%;box-shadow:0 24px 64px #00000040;text-align:center}.dash-confirm-icon[data-v-c1899a81]{width:56px;height:56px;border-radius:50%;background:#fef2f2;color:#dc2626;display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem}.dash-confirm-modal h3[data-v-c1899a81]{font-size:1.25rem;font-weight:800;margin:0 0 .75rem}.dash-confirm-modal p[data-v-c1899a81]{font-size:.9rem;color:#555;line-height:1.6;margin:0 0 1.5rem}.dash-confirm-actions[data-v-c1899a81]{display:flex;gap:.75rem;justify-content:center}.dash-delete-confirm-btn[data-v-c1899a81]{background:#dc2626;color:#fff;border:none;padding:.6rem 1.5rem;border-radius:8px;font-weight:700;font-size:.9rem;cursor:pointer;font-family:inherit;transition:background .15s}.dash-delete-confirm-btn[data-v-c1899a81]:hover:not(:disabled){background:#b91c1c}.dash-delete-confirm-btn[data-v-c1899a81]:disabled{opacity:.6;cursor:not-allowed}.modal-fade-enter-active[data-v-c1899a81],.modal-fade-leave-active[data-v-c1899a81]{transition:opacity .2s}.modal-fade-enter-from[data-v-c1899a81],.modal-fade-leave-to[data-v-c1899a81]{opacity:0}@media (max-width: 640px){.student-row[data-v-c1899a81]{grid-template-columns:36px 1fr auto;padding:.625rem .875rem;gap:.5rem}.sr-badges[data-v-c1899a81]{display:none}.sr-actions[data-v-c1899a81]{gap:.125rem}.sr-archive-btn[data-v-c1899a81]{display:none}.sr-avatar[data-v-c1899a81]{width:36px;height:36px;font-size:.85rem}}.sr-badges[data-v-c1899a81]{display:none}.dash-archive-reason-input[data-v-c1899a81]{width:100%;padding:.5rem .625rem;border:1.5px solid #E2E8F0;border-radius:8px;font-family:inherit;font-size:.875rem;box-sizing:border-box}.dash-archive-reason-input[data-v-c1899a81]:focus{outline:none;border-color:#d97706}.dash-archive-confirm-btn[data-v-c1899a81]{background:#d97706;color:#fff;border:none;padding:.5rem 1.25rem;border-radius:8px;font-weight:700;cursor:pointer;transition:background .15s}.dash-archive-confirm-btn[data-v-c1899a81]:hover:not(:disabled){background:#b45309}.dash-archive-confirm-btn[data-v-c1899a81]:disabled{opacity:.6;cursor:not-allowed}.archived-students-section[data-v-c1899a81]{margin-top:2rem;border:1.5px solid #E2E8F0;border-radius:12px;overflow:hidden;background:#fff}.archived-toggle-btn[data-v-c1899a81]{display:flex;align-items:center;gap:.5rem;width:100%;padding:.875rem 1.25rem;background:#fffbeb;border:none;cursor:pointer;font-size:.875rem;font-weight:600;color:#92400e;text-align:left;transition:background .15s}.archived-toggle-btn[data-v-c1899a81]:hover{background:#fef3c7}.archived-chevron[data-v-c1899a81]{margin-left:auto;transition:transform .2s}.archived-chevron.open[data-v-c1899a81]{transform:rotate(180deg)}.archived-list[data-v-c1899a81]{display:flex;flex-direction:column}.archived-student-row[data-v-c1899a81]{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1.25rem;border-top:1px solid #F1F5F9}.archived-student-row[data-v-c1899a81]:hover{background:#fafafa}.archived-student-name[data-v-c1899a81]{font-size:.875rem;font-weight:700;color:#1e293b}.archived-student-meta[data-v-c1899a81]{display:flex;gap:.75rem;flex-wrap:wrap;font-size:.75rem;color:#64748b;margin-top:.125rem}.archived-reason-text[data-v-c1899a81]{font-style:italic;color:#94a3b8}.student-item[data-v-bf4b6870]{background:var(--bg-cream);padding:1.25rem;border-radius:12px;display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;cursor:pointer;transition:all .3s;border:2px solid transparent;position:relative}.student-item[data-v-bf4b6870]:hover{background:#fff;border-color:var(--primary-light);box-shadow:0 4px 12px #2d6a4f1a}.sli-actions[data-v-bf4b6870]{display:flex;align-items:center;gap:.375rem;flex-shrink:0}.sli-track-btn[data-v-bf4b6870]{display:inline-flex;align-items:center;gap:.3rem;padding:.4rem .75rem;background:#fff;border:1.5px solid var(--border-soft, #E8E3DC);border-radius:8px;color:var(--text-gray, #5A5A5A);font-size:.78rem;font-weight:700;font-family:inherit;cursor:pointer;transition:all .18s;white-space:nowrap}.sli-track-btn[data-v-bf4b6870]:hover{border-color:var(--primary, #2D6A4F);color:var(--primary, #2D6A4F);background:#2d6a4f0d}.sli-track-btn.active[data-v-bf4b6870]{background:#2d6a4f1f;border-color:var(--primary, #2D6A4F);color:var(--primary, #2D6A4F)}.sli-track-btn.active svg[data-v-bf4b6870]{animation:pulse-icon-bf4b6870 1.5s ease-in-out infinite}@keyframes pulse-icon-bf4b6870{0%,to{opacity:1}50%{opacity:.5}}.sli-remove-btn[data-v-bf4b6870]{width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:none;border:1.5px solid transparent;border-radius:8px;cursor:pointer;color:#ccc;flex-shrink:0;transition:all .15s}.sli-remove-btn[data-v-bf4b6870]:hover{background:#fef2f2;border-color:#fca5a5;color:#dc2626}.student-avatar-large[data-v-bf4b6870]{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,var(--primary-light),var(--primary));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:1.1rem}.student-details h4[data-v-bf4b6870]{font-weight:700;font-size:1.1rem;margin-bottom:.25rem}.student-meta[data-v-bf4b6870]{display:flex;gap:.5rem;color:var(--text-gray);font-size:.85rem}.accommodation-badges[data-v-bf4b6870],.no-accommodations[data-v-bf4b6870],.badge[data-v-bf4b6870],.badge-primary[data-v-bf4b6870],.badge-info[data-v-bf4b6870]{display:none}@media (max-width: 768px){.student-item[data-v-bf4b6870]{grid-template-columns:auto 1fr auto;gap:.75rem}.sli-actions[data-v-bf4b6870]{grid-row:1;grid-column:3}.sli-track-btn span[data-v-bf4b6870]{display:none}.sli-track-btn[data-v-bf4b6870]{padding:.4rem .5rem}}.bt-tab-strip[data-v-4e755289]{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:9100;display:flex;flex-direction:column;gap:6px;padding:10px 0;max-height:80vh;overflow-y:auto;overflow-x:visible;scrollbar-width:none}.bt-tab-strip[data-v-4e755289]::-webkit-scrollbar{display:none}.bt-tab[data-v-4e755289]{position:relative;width:32px;height:110px;border:none;border-radius:10px 0 0 10px;background:var(--tab-color, #2D6A4F);color:#fff;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:0;overflow:hidden;transition:width .18s ease,box-shadow .18s ease,opacity .18s ease;box-shadow:-3px 2px 10px #0000004d;opacity:.85}.bt-tab[data-v-4e755289]:hover{width:38px;opacity:1;box-shadow:-4px 3px 16px #0006}.bt-tab.is-expanded[data-v-4e755289]{width:40px;opacity:1;box-shadow:-5px 3px 20px #00000073}.bt-tab.is-expanded[data-v-4e755289]:before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;background:#ffffffa6;border-radius:0 2px 2px 0}.tab-name[data-v-4e755289]{writing-mode:vertical-rl;transform:rotate(180deg);font-size:.7rem;font-weight:700;font-family:DM Sans,sans-serif;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-height:82px;line-height:1.15;padding:2px 0}.tab-pulse[data-v-4e755289]{position:absolute;top:8px;right:8px;width:7px;height:7px;border-radius:50%;background:#fcd34d;animation:tab-pulse-4e755289 1.4s ease-in-out infinite}@keyframes tab-pulse-4e755289{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.65)}}.tab-badge[data-v-4e755289]{position:absolute;top:7px;left:5px;min-width:16px;height:16px;background:#fff;color:var(--tab-color, #2D6A4F);border-radius:8px;font-size:.6rem;font-weight:800;display:flex;align-items:center;justify-content:center;padding:0 3px;line-height:1}.bt-tracker-panel[data-v-4e755289]{position:fixed;right:40px;top:50%;transform:translateY(-50%);z-index:9050;width:320px;max-width:calc(100vw - 58px);max-height:85vh;overflow-y:auto;background:#0f172a;border-radius:16px 0 0 16px;box-shadow:-6px 0 40px #0000008c,0 0 0 1px #ffffff12;display:flex;flex-direction:column;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}.bt-tracker-panel[data-v-4e755289]::-webkit-scrollbar{width:4px}.bt-tracker-panel[data-v-4e755289]::-webkit-scrollbar-track{background:transparent}.bt-tracker-panel[data-v-4e755289]::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}.bt-slide-enter-active[data-v-4e755289],.bt-slide-leave-active[data-v-4e755289]{transition:opacity .2s ease,transform .2s ease}.bt-slide-enter-from[data-v-4e755289],.bt-slide-leave-to[data-v-4e755289]{opacity:0;transform:translateY(-50%) translate(24px)}.bt-panel-header[data-v-4e755289]{display:flex;justify-content:space-between;align-items:center;padding:.875rem 1rem;border-bottom:1px solid rgba(255,255,255,.08);background:#0f172a;position:sticky;top:0;z-index:2;flex-shrink:0}.bt-panel-title[data-v-4e755289]{display:flex;align-items:center;gap:.5rem}.bt-panel-header-actions[data-v-4e755289]{display:flex;align-items:center;gap:.25rem}.icon-btn[data-v-4e755289]{width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:#ffffff0f;border:none;border-radius:8px;color:#94a3b8;cursor:pointer;transition:background .15s,color .15s}.icon-btn[data-v-4e755289]:hover{background:#ffffff1f;color:#fff}.close-icon-btn[data-v-4e755289]:hover{background:#ef444433;color:#f87171}.student-chip[data-v-4e755289]{background:#2d6a4f40;color:#6ee7b7;font-size:.8rem;font-weight:700;padding:.25rem .625rem;border-radius:999px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}.pulse-ring[data-v-4e755289]{width:9px;height:9px;border-radius:50%;background:#475569;flex-shrink:0;transition:background .3s}.pulse-ring.active[data-v-4e755289]{background:#fcd34d;animation:ring-pulse-4e755289 1.5s ease-in-out infinite}@keyframes ring-pulse-4e755289{0%,to{box-shadow:0 0 #fcd34d80}50%{box-shadow:0 0 0 5px #fcd34d00}}.bt-behavior-grid[data-v-4e755289]{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:.5rem;padding:.875rem}.behavior-btn[data-v-4e755289]{position:relative;overflow:hidden;background:#ffffff0a;border:1.5px solid rgba(255,255,255,.07);border-radius:12px;color:#fff;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.75rem .5rem .5rem;min-height:76px;transition:background .15s,border-color .15s,transform .1s;font-family:DM Sans,sans-serif;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:manipulation}.behavior-btn[data-v-4e755289]:hover,.behavior-btn[data-v-4e755289]:active{background:#ffffff17;transform:scale(.97)}.behavior-btn.has-count[data-v-4e755289]{border-color:var(--bcolor,#2D6A4F);background:color-mix(in srgb,var(--bcolor,#2D6A4F) 18%,transparent)}.behavior-btn.is-timing[data-v-4e755289]{border-color:#fcd34d;background:#fcd34d1a}.b-icon[data-v-4e755289]{font-size:1.2rem;line-height:1}.b-name[data-v-4e755289]{font-size:.68rem;font-weight:600;text-align:center;opacity:.85;line-height:1.2}.b-stats[data-v-4e755289]{display:flex;flex-direction:column;align-items:center;gap:2px}.b-count[data-v-4e755289]{font-size:.75rem;font-weight:900;color:#fff;background:color-mix(in srgb,var(--bcolor,#2D6A4F) 70%,#000 30%);padding:.1rem .4rem;border-radius:5px;text-shadow:0 1px 2px rgba(0,0,0,.4)}.b-timer[data-v-4e755289]{font-size:.65rem;color:#fcd34d;font-variant-numeric:tabular-nums}.b-duration[data-v-4e755289]{font-size:.65rem;color:#94a3b8}.timer-bar[data-v-4e755289]{position:absolute;bottom:0;left:0;height:2px;background:#fcd34d;border-radius:0 0 12px 12px;transition:width .5s linear}.add-btn[data-v-4e755289]{border-style:dashed;opacity:.5}.add-btn[data-v-4e755289]:hover{opacity:.8}.bt-timer-instruction[data-v-4e755289]{display:flex;align-items:center;gap:.5rem;margin:0 .875rem .25rem;padding:.5rem .75rem;background:#fcd34d1a;border:1px solid rgba(252,211,77,.28);border-radius:9px;font-size:.75rem;color:#cbd5e1;line-height:1.45}.bt-timer-instruction svg[data-v-4e755289]{color:#fcd34d;flex-shrink:0}.bt-timer-instruction strong[data-v-4e755289]{color:#fcd34d;font-weight:800}.bt-pending[data-v-4e755289]{margin:0 .875rem .875rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:12px;overflow:hidden}.pending-list[data-v-4e755289]{padding:.625rem .75rem .375rem;display:flex;flex-direction:column;gap:.375rem}.pending-row[data-v-4e755289]{display:flex;align-items:center;gap:.5rem;font-size:.8rem}.p-icon[data-v-4e755289]{width:22px;height:22px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:.85rem;flex-shrink:0}.p-name[data-v-4e755289]{flex:1;color:#cbd5e1;font-weight:600}.p-count[data-v-4e755289]{color:#6ee7b7;font-weight:800;font-size:.78rem}.p-dur[data-v-4e755289]{color:#94a3b8;font-size:.72rem}.context-fields[data-v-4e755289]{padding:.625rem .75rem;border-top:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;gap:.5rem}.cf-row[data-v-4e755289]{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.cf-group[data-v-4e755289]{display:flex;flex-direction:column;gap:.25rem}.cf-group label[data-v-4e755289]{font-size:.68rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.cf-group select[data-v-4e755289],.cf-group textarea[data-v-4e755289]{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#cbd5e1;font-size:.78rem;font-family:DM Sans,sans-serif;padding:.375rem .5rem;transition:border-color .15s}.cf-group select[data-v-4e755289]:focus,.cf-group textarea[data-v-4e755289]:focus{outline:none;border-color:#6ee7b766}.cf-group select option[data-v-4e755289]{background:#1e293b}.notes-group[data-v-4e755289]{grid-column:1 / -1}.notes-group textarea[data-v-4e755289]{resize:none}.severity-dots[data-v-4e755289]{display:flex;gap:.3rem;flex-wrap:wrap}.sev-dot[data-v-4e755289]{width:26px;height:26px;border-radius:50%;border:2px solid rgba(255,255,255,.15);background:#ffffff0f;color:#94a3b8;font-size:.72rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;font-family:DM Sans,sans-serif}.sev-dot.active[data-v-4e755289]{border-color:transparent;color:#fff}.sev-dot[data-v-4e755289]:hover:not(.active){border-color:#ffffff4d}.bt-footer[data-v-4e755289]{display:flex;gap:.5rem;padding:.75rem .875rem;border-top:1px solid rgba(255,255,255,.08);background:#0f172a;position:sticky;bottom:0;z-index:2;flex-shrink:0}.btn[data-v-4e755289]{flex:1;padding:.6rem 1rem;border-radius:8px;border:none;font-weight:700;font-size:.875rem;font-family:DM Sans,sans-serif;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.375rem;transition:all .15s}.btn[data-v-4e755289]:disabled{opacity:.55;cursor:not-allowed}.btn-primary[data-v-4e755289]{background:#2d6a4f;color:#fff}.btn-primary[data-v-4e755289]:hover:not(:disabled){background:#1b4332}.btn-secondary[data-v-4e755289]{background:#ffffff12;color:#94a3b8}.btn-secondary[data-v-4e755289]:hover:not(:disabled){background:#ffffff1f;color:#fff}.spinner-sm[data-v-4e755289]{display:inline-block;width:12px;height:12px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-4e755289 .7s linear infinite}@keyframes spin-4e755289{to{transform:rotate(360deg)}}@media (max-width: 640px){.bt-tab-strip[data-v-4e755289]{top:auto;bottom:88px;transform:none;max-height:55vh}.bt-tab[data-v-4e755289]{width:28px;height:96px}.bt-tab[data-v-4e755289]:hover{width:32px}.bt-tab.is-expanded[data-v-4e755289]{width:34px}.tab-name[data-v-4e755289]{font-size:.65rem;max-height:68px}.bt-tracker-panel[data-v-4e755289]{right:0;left:0;bottom:0;top:auto;transform:none;width:auto;max-width:100%;max-height:72vh;border-radius:20px 20px 0 0;box-shadow:0 -8px 40px #0000008c}.bt-slide-enter-from[data-v-4e755289],.bt-slide-leave-to[data-v-4e755289]{opacity:0;transform:translateY(30px)}.bt-behavior-grid[data-v-4e755289]{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.cf-row[data-v-4e755289]{grid-template-columns:1fr}}.cg-tab-strip[data-v-ce0848be]{position:fixed;left:0;top:50%;transform:translateY(-50%);z-index:9100;display:flex;flex-direction:column;gap:6px;padding:10px 0;max-height:80vh;overflow-y:auto;overflow-x:visible;scrollbar-width:none}.cg-tab-strip[data-v-ce0848be]::-webkit-scrollbar{display:none}.cg-tab[data-v-ce0848be]{position:relative;width:32px;height:136px;border:none;border-radius:0 10px 10px 0;background:var(--tab-color, #B45309);color:#fff;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:0;overflow:hidden;transition:width .18s ease,box-shadow .18s ease,opacity .18s ease;box-shadow:3px 2px 10px #0000004d;opacity:.85}.cg-tab[data-v-ce0848be]:hover{width:38px;opacity:1;box-shadow:4px 3px 16px #0006}.cg-tab.is-expanded[data-v-ce0848be]{width:40px;opacity:1;box-shadow:5px 3px 20px #00000073}.cg-tab.is-expanded[data-v-ce0848be]:after{content:"";position:absolute;right:0;top:14px;bottom:14px;width:3px;background:#ffffffa6;border-radius:2px 0 0 2px}.cg-tab-name[data-v-ce0848be]{writing-mode:vertical-rl;transform:rotate(180deg);font-size:.7rem;font-weight:700;font-family:DM Sans,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-height:82px;line-height:1.15;padding:2px 0}.cg-tab-label[data-v-ce0848be]{writing-mode:vertical-rl;transform:rotate(180deg);font-size:.58rem;font-weight:600;color:#ffffffa6;letter-spacing:.02em;line-height:1;flex-shrink:0}.cg-tab-badge[data-v-ce0848be]{position:absolute;top:7px;right:5px;min-width:16px;height:16px;background:#fff;color:var(--tab-color, #B45309);border-radius:8px;font-size:.6rem;font-weight:800;display:flex;align-items:center;justify-content:center;padding:0 3px;line-height:1}.cg-goal-panel[data-v-ce0848be]{position:fixed;left:40px;top:50%;transform:translateY(-50%);z-index:9050;width:300px;max-width:calc(100vw - 58px);max-height:85vh;overflow-y:auto;background:#0f172a;border-radius:0 16px 16px 0;box-shadow:6px 0 40px #0000008c,0 0 0 1px #ffffff12;display:flex;flex-direction:column;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}.cg-goal-panel[data-v-ce0848be]::-webkit-scrollbar{width:4px}.cg-goal-panel[data-v-ce0848be]::-webkit-scrollbar-track{background:transparent}.cg-goal-panel[data-v-ce0848be]::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}.cg-slide-enter-active[data-v-ce0848be],.cg-slide-leave-active[data-v-ce0848be]{transition:opacity .2s ease,transform .2s ease}.cg-slide-enter-from[data-v-ce0848be],.cg-slide-leave-to[data-v-ce0848be]{opacity:0;transform:translateY(-50%) translate(-24px)}.cg-panel-header[data-v-ce0848be]{display:flex;justify-content:space-between;align-items:center;padding:.875rem 1rem;border-bottom:1px solid rgba(255,255,255,.08);background:#0f172a;position:sticky;top:0;z-index:2;flex-shrink:0}.cg-panel-title[data-v-ce0848be]{display:flex;align-items:center;gap:.5rem}.cg-header-actions[data-v-ce0848be]{display:flex;align-items:center;gap:.25rem}.cg-student-chip[data-v-ce0848be]{background:#b4530940;color:#fcd34d;font-size:.8rem;font-weight:700;padding:.25rem .625rem;border-radius:999px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:155px}.cg-date-pill[data-v-ce0848be]{font-size:.72rem;font-weight:600;color:#64748b;margin-right:.25rem}.cg-icon-btn[data-v-ce0848be]{width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:#ffffff0f;border:none;border-radius:8px;color:#94a3b8;cursor:pointer;transition:background .15s,color .15s}.cg-icon-btn[data-v-ce0848be]:hover{background:#ffffff1f;color:#fff}.cg-close-btn[data-v-ce0848be]:hover{background:#ef444433;color:#f87171}.cg-loading[data-v-ce0848be]{display:flex;align-items:center;gap:.75rem;padding:1.5rem;color:#64748b;font-size:.85rem}.cg-spinner[data-v-ce0848be]{width:18px;height:18px;border:2px solid rgba(255,255,255,.1);border-top-color:#fcd34d;border-radius:50%;animation:cg-spin-ce0848be .7s linear infinite;flex-shrink:0}@keyframes cg-spin-ce0848be{to{transform:rotate(360deg)}}.cg-empty[data-v-ce0848be]{padding:1.5rem;color:#475569;font-size:.85rem;text-align:center}.cg-goal-list[data-v-ce0848be]{display:flex;flex-direction:column;padding:.75rem;gap:.75rem;flex:1}.cg-goal-block[data-v-ce0848be]{background:#ffffff0a;border:1px solid rgba(255,255,255,.07);border-radius:12px;padding:.75rem;display:flex;flex-direction:column;gap:.5rem}.cg-goal-header[data-v-ce0848be]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.cg-domain-dot[data-v-ce0848be]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.cg-goal-title[data-v-ce0848be]{flex:1;font-size:.78rem;font-weight:700;color:#cbd5e1;line-height:1.3}.cg-goal-target[data-v-ce0848be]{font-size:.68rem;color:#475569;white-space:nowrap}.cg-ratio-row[data-v-ce0848be]{display:flex;align-items:center;gap:.625rem}.cg-frac[data-v-ce0848be]{font-size:1.35rem;font-weight:800;min-width:52px}.cg-n[data-v-ce0848be]{color:#22c55e}.cg-slash[data-v-ce0848be]{color:#475569;font-weight:300}.cg-d[data-v-ce0848be]{color:#64748b}.cg-tap-btns[data-v-ce0848be]{display:flex;gap:.3rem}.cg-tap[data-v-ce0848be]{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:8px;border:none;cursor:pointer;font-size:.85rem;font-weight:800;font-family:DM Sans,sans-serif;transition:all .12s}.cg-tap.correct[data-v-ce0848be]{background:#22c55e26;color:#22c55e}.cg-tap.correct[data-v-ce0848be]:hover{background:#22c55e;color:#fff}.cg-tap.wrong[data-v-ce0848be]{background:#ef44441f;color:#ef4444}.cg-tap.wrong[data-v-ce0848be]:hover{background:#ef4444;color:#fff}.cg-tap.undo[data-v-ce0848be]{background:#ffffff12;color:#94a3b8}.cg-tap.undo[data-v-ce0848be]:hover{background:#ffffff24;color:#fff}.cg-pct[data-v-ce0848be]{font-size:.85rem;font-weight:800;margin-left:auto}.cg-pct.rate-good[data-v-ce0848be]{color:#22c55e}.cg-pct.rate-ok[data-v-ce0848be]{color:#f59e0b}.cg-pct.rate-bad[data-v-ce0848be]{color:#ef4444}.cg-pct.rate-neutral[data-v-ce0848be]{color:#64748b}.cg-desc-toggle[data-v-ce0848be]{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:#ffffff12;border:none;border-radius:4px;color:#64748b;cursor:pointer;flex-shrink:0;transition:background .12s,color .12s}.cg-desc-toggle[data-v-ce0848be]:hover{background:#ffffff21;color:#94a3b8}.cg-desc[data-v-ce0848be]{font-size:.74rem;color:#64748b;line-height:1.5;padding:.375rem .5rem;background:#ffffff08;border-left:2px solid rgba(255,255,255,.1);border-radius:0 4px 4px 0}.cg-count-row[data-v-ce0848be]{display:flex;align-items:center;gap:.5rem}.cg-count-input[data-v-ce0848be]{width:62px;padding:.3rem .4rem;background:#ffffff12;border:1px solid rgba(255,255,255,.12);border-radius:8px;color:#fcd34d;font-size:1.25rem;font-weight:800;font-family:DM Sans,sans-serif;text-align:center;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.cg-count-input[data-v-ce0848be]::-webkit-outer-spin-button,.cg-count-input[data-v-ce0848be]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.cg-count-input[data-v-ce0848be]:focus{outline:none;border-color:#fcd34d80}.cg-count-input.over-target[data-v-ce0848be]{color:#ef4444;border-color:#ef444480}.cg-count-target[data-v-ce0848be]{font-size:.78rem;color:#475569}.cg-pct-row[data-v-ce0848be]{display:flex;align-items:center;gap:.5rem}.cg-pct-input[data-v-ce0848be]{width:72px;padding:.4rem .5rem;background:#ffffff12;border:1px solid rgba(255,255,255,.12);border-radius:8px;color:#cbd5e1;font-size:1.1rem;font-weight:700;font-family:DM Sans,sans-serif;text-align:center}.cg-pct-input[data-v-ce0848be]:focus{outline:none;border-color:#fcd34d80}.cg-pct-sign[data-v-ce0848be]{color:#64748b;font-size:.9rem;font-weight:600}.cg-goal-notes[data-v-ce0848be]{width:100%;padding:.5rem .625rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:7px;color:#cbd5e1;font-size:.8rem;font-family:DM Sans,sans-serif;box-sizing:border-box;resize:vertical;min-height:70px;line-height:1.5}.cg-goal-notes[data-v-ce0848be]:focus{outline:none;border-color:#fcd34d4d;background:#ffffff12;color:#e2e8f0}.cg-goal-notes[data-v-ce0848be]::placeholder{color:#334155}.cg-footer[data-v-ce0848be]{display:flex;gap:.5rem;align-items:center;padding:.75rem;border-top:1px solid rgba(255,255,255,.08);background:#0f172a;position:sticky;bottom:0;z-index:2;flex-shrink:0}.cg-date-input[data-v-ce0848be]{flex:0 0 auto;padding:.4rem .5rem;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:8px;color:#94a3b8;font-size:.78rem;font-family:DM Sans,sans-serif}.cg-date-input[data-v-ce0848be]:focus{outline:none;border-color:#fcd34d66}.cg-save-btn[data-v-ce0848be]{flex:1;padding:.55rem .75rem;background:#b45309;color:#fff;border:none;border-radius:8px;font-weight:700;font-size:.825rem;font-family:DM Sans,sans-serif;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.375rem;transition:background .15s}.cg-save-btn[data-v-ce0848be]:hover:not(:disabled){background:#92400e}.cg-save-btn[data-v-ce0848be]:disabled{opacity:.5;cursor:not-allowed}.cg-spinner-sm[data-v-ce0848be]{display:inline-block;width:12px;height:12px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:cg-spin-ce0848be .7s linear infinite}@media (max-width: 640px){.cg-tab-strip[data-v-ce0848be]{top:auto;bottom:88px;transform:none;max-height:55vh}.cg-tab[data-v-ce0848be]{width:28px;height:120px}.cg-tab[data-v-ce0848be]:hover{width:32px}.cg-tab.is-expanded[data-v-ce0848be]{width:34px}.cg-tab-name[data-v-ce0848be]{font-size:.65rem;max-height:68px}.cg-tab-label[data-v-ce0848be]{font-size:.52rem}.cg-goal-panel[data-v-ce0848be]{left:0;right:0;bottom:0;top:auto;transform:none;width:auto;max-width:100%;max-height:72vh;border-radius:20px 20px 0 0;box-shadow:0 -8px 40px #0000008c}.cg-slide-enter-from[data-v-ce0848be],.cg-slide-leave-to[data-v-ce0848be]{opacity:0;transform:translateY(30px)}}.abs-sel[data-v-867de513]{display:flex;flex-direction:column;gap:.45rem}.abs-btn-row[data-v-867de513]{display:flex;gap:.4rem;flex-wrap:wrap}.abs-btn[data-v-867de513]{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.35rem .8rem;border-radius:8px;font-family:DM Sans,sans-serif;font-size:.8rem;font-weight:700;cursor:pointer;transition:all .15s;border:1.5px solid;white-space:nowrap;flex:1;min-width:0}.abs-btn-absent[data-v-867de513]{border-color:#fecaca;background:#fff;color:#dc2626}.abs-btn-absent[data-v-867de513]:hover{background:#fef2f2}.abs-btn-absent.active[data-v-867de513]{background:#dc2626;border-color:#dc2626;color:#fff}.abs-btn-other[data-v-867de513]{border-color:#fde68a;background:#fff;color:#d97706}.abs-btn-other[data-v-867de513]:hover{background:#fffbeb}.abs-btn-other.active[data-v-867de513]{background:#d97706;border-color:#d97706;color:#fff}.abs-note[data-v-867de513]{margin:0;font-size:.75rem;line-height:1.4}.abs-note-absent[data-v-867de513]{color:#991b1b}.abs-other-fields[data-v-867de513]{display:flex;gap:.65rem;flex-wrap:wrap;align-items:flex-end;margin-top:.1rem}.abs-field[data-v-867de513]{display:flex;flex-direction:column;gap:.2rem}.abs-field-wide[data-v-867de513]{flex:1;min-width:160px}.abs-field-label[data-v-867de513]{font-size:.72rem;font-weight:700;color:#92400e}.abs-field-hint[data-v-867de513]{font-weight:400;opacity:.75;font-size:.7rem;margin-left:.15rem}.abs-input-sm[data-v-867de513]{width:68px;padding:.28rem .45rem;border:1.5px solid #FDE68A;border-radius:6px;font-size:.875rem;font-family:DM Sans,sans-serif;color:#1a1a1a}.abs-input-sm[data-v-867de513]:focus{outline:none;border-color:#d97706}.abs-input[data-v-867de513]{width:100%;padding:.28rem .6rem;box-sizing:border-box;border:1.5px solid #FDE68A;border-radius:6px;font-size:.875rem;font-family:DM Sans,sans-serif;color:#1a1a1a}.abs-input[data-v-867de513]:focus{outline:none;border-color:#d97706}.compact .abs-btn[data-v-867de513]{padding:.22rem .55rem;font-size:.72rem;flex:1;min-width:0}.compact .abs-note[data-v-867de513]{font-size:.7rem}.compact .abs-other-fields[data-v-867de513]{gap:.5rem}.compact .abs-input-sm[data-v-867de513]{width:58px;font-size:.8rem}.compact .abs-input[data-v-867de513]{font-size:.8rem}.modal-overlay[data-v-84a3cdeb]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem}.modal-container[data-v-84a3cdeb]{background:#fff;border-radius:20px;max-width:580px;width:100%;max-height:92vh;display:flex;flex-direction:column;box-shadow:0 24px 64px #00000040;overflow:hidden}.modal-header[data-v-84a3cdeb]{display:flex;justify-content:space-between;align-items:flex-start;padding:1.5rem 1.75rem 1rem;border-bottom:2px solid var(--border-soft);flex-shrink:0}.header-info h3[data-v-84a3cdeb]{font-size:1.3rem;font-weight:800;margin:0 0 .2rem}.modal-subtitle[data-v-84a3cdeb]{font-size:.82rem;color:var(--text-gray);margin:0}.close-btn[data-v-84a3cdeb]{background:none;border:none;color:var(--text-gray);cursor:pointer;padding:.25rem;flex-shrink:0}.modal-body[data-v-84a3cdeb]{padding:1.5rem 1.75rem;overflow-y:auto;display:flex;flex-direction:column;gap:1.25rem;flex:1}.modal-footer[data-v-84a3cdeb]{display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.75rem;border-top:2px solid var(--border-soft);flex-shrink:0}.form-row[data-v-84a3cdeb]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group[data-v-84a3cdeb]{display:flex;flex-direction:column;gap:.4rem}.form-group label[data-v-84a3cdeb]{font-size:.875rem;font-weight:600;color:var(--text-dark)}.form-hint[data-v-84a3cdeb]{font-size:.78rem;color:var(--text-gray);margin:0;line-height:1.4}.form-group input[type=date][data-v-84a3cdeb],.form-group input[type=number][data-v-84a3cdeb],.form-group textarea[data-v-84a3cdeb]{padding:.75rem;border:2px solid var(--border-soft);border-radius:8px;font-family:DM Sans,sans-serif;font-size:.95rem;color:var(--text-dark);box-sizing:border-box;width:100%;transition:border-color .2s}.form-group input[data-v-84a3cdeb]:focus,.form-group textarea[data-v-84a3cdeb]:focus{outline:none;border-color:var(--primary)}.form-group input.error[data-v-84a3cdeb]{border-color:var(--error)}.req[data-v-84a3cdeb]{color:var(--error)}.error-msg[data-v-84a3cdeb]{font-size:.8rem;color:var(--error)}.acc-list[data-v-84a3cdeb]{display:flex;flex-direction:column;gap:.4rem}.acc-row[data-v-84a3cdeb]{display:flex;align-items:center;gap:.75rem;padding:.55rem .875rem;border:2px solid var(--border-soft);border-radius:8px;cursor:pointer;transition:all .15s;-webkit-user-select:none;user-select:none}.acc-row[data-v-84a3cdeb]:hover{border-color:var(--primary)}.acc-row.checked[data-v-84a3cdeb]{background:#2d6a4f0f;border-color:var(--primary)}.acc-row input[data-v-84a3cdeb]{width:16px;height:16px;accent-color:var(--primary);flex-shrink:0}.acc-title[data-v-84a3cdeb]{flex:1;font-weight:600;font-size:.875rem}.acc-cat[data-v-84a3cdeb]{font-size:.72rem;color:var(--primary);background:#2d6a4f14;padding:.15rem .5rem;border-radius:10px;font-weight:600}.student-list[data-v-84a3cdeb]{display:flex;flex-direction:column;gap:.5rem}.student-wrap[data-v-84a3cdeb]{border:2px solid var(--border-soft);border-radius:10px;overflow:hidden}.student-row[data-v-84a3cdeb]{display:flex;align-items:center;gap:.5rem;padding:.6rem .75rem;background:#fff;transition:background .15s}.student-row.absent[data-v-84a3cdeb]{background:#fef2f2;border-color:#fecaca}.student-absence-detail[data-v-84a3cdeb]{padding:.5rem .75rem .625rem;background:#fef2f2;border-top:1px solid #FECACA}.presence-label[data-v-84a3cdeb]{display:flex;align-items:center;gap:.625rem;flex:1;cursor:pointer;-webkit-user-select:none;user-select:none}.presence-label input[data-v-84a3cdeb]{width:16px;height:16px;accent-color:var(--primary);flex-shrink:0}.s-initials[data-v-84a3cdeb]{width:28px;height:28px;border-radius:50%;background:var(--primary);color:#fff;font-size:.68rem;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.s-initials.absent[data-v-84a3cdeb]{background:#cbd5e1}.s-initials.behavior[data-v-84a3cdeb]{background:#7c3aed}.s-name[data-v-84a3cdeb]{flex:1;font-size:.875rem;font-weight:600}.absent-pill[data-v-84a3cdeb]{font-size:.7rem;font-weight:700;color:#dc2626;background:#fee2e2;padding:.15rem .5rem;border-radius:6px}.compensatory-note[data-v-84a3cdeb]{font-size:.78rem;color:#15803d;margin:.25rem 0 0;line-height:1.5}.split-toggle-row[data-v-84a3cdeb]{display:flex;align-items:center}.btn-split-toggle[data-v-84a3cdeb]{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .75rem;border-radius:8px;cursor:pointer;border:1.5px solid var(--border-soft);background:#fff;font-family:DM Sans,sans-serif;font-size:.8rem;font-weight:600;color:var(--text-gray);transition:all .15s}.btn-split-toggle[data-v-84a3cdeb]:hover{border-color:var(--primary);color:var(--primary)}.btn-split-toggle.active[data-v-84a3cdeb]{border-color:var(--primary);background:#2d6a4f0f;color:var(--primary)}.split-panel[data-v-84a3cdeb]{margin-top:.625rem;padding:.875rem 1rem;background:#f0fdf4;border:1.5px solid #86efac;border-radius:10px}.split-desc[data-v-84a3cdeb]{font-size:.82rem;color:#166534;margin:0 0 .625rem}.split-fields[data-v-84a3cdeb]{display:grid;grid-template-columns:120px 1fr;gap:.75rem}.split-input[data-v-84a3cdeb]{padding:.5rem .625rem;border:1.5px solid #86efac;border-radius:7px;font-family:DM Sans,sans-serif;font-size:.9rem;width:100%;box-sizing:border-box}.split-input[data-v-84a3cdeb]:focus{outline:none;border-color:var(--primary)}.split-select[data-v-84a3cdeb]{padding:.5rem .625rem;border:1.5px solid #86efac;border-radius:7px;font-family:DM Sans,sans-serif;font-size:.85rem;width:100%;box-sizing:border-box;background:#fff}.split-select[data-v-84a3cdeb]:focus{outline:none;border-color:var(--primary)}.form-group-label[data-v-84a3cdeb]{font-size:.875rem;font-weight:600;color:var(--text-dark)}.student-status-row[data-v-84a3cdeb]{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.3rem}.status-btn[data-v-84a3cdeb]{display:inline-flex;align-items:center;gap:.3rem;padding:.35rem .75rem;border-radius:8px;font-family:DM Sans,sans-serif;font-size:.8rem;font-weight:700;cursor:pointer;transition:all .15s;border:1.5px solid;white-space:nowrap}.status-btn-absent[data-v-84a3cdeb]{border-color:#fecaca;background:#fff;color:#dc2626}.status-btn-absent[data-v-84a3cdeb]:hover{background:#fef2f2}.status-btn-absent.active[data-v-84a3cdeb]{background:#dc2626;border-color:#dc2626;color:#fff}.status-btn-other[data-v-84a3cdeb]{border-color:#fde68a;background:#fff;color:#d97706}.status-btn-other[data-v-84a3cdeb]:hover{background:#fffbeb}.status-btn-other.active[data-v-84a3cdeb]{background:#d97706;border-color:#d97706;color:#fff}.status-btn-provider[data-v-84a3cdeb]{border-color:#fde047;background:#fff;color:#a16207}.status-btn-provider[data-v-84a3cdeb]:hover{background:#fefce8}.status-btn-provider.active[data-v-84a3cdeb]{background:#a16207;border-color:#a16207;color:#fff}.status-btn-comp[data-v-84a3cdeb]{border-color:#bbf7d0;background:#fff;color:#15803d}.status-btn-comp[data-v-84a3cdeb]:hover{background:#f0fdf4}.status-btn-comp.active[data-v-84a3cdeb]{background:#15803d;border-color:#15803d;color:#fff}.other-fields-row[data-v-84a3cdeb]{display:flex;gap:.65rem;flex-wrap:wrap;align-items:flex-end;margin-top:.5rem;padding:.65rem .875rem;background:#fffbeb;border:1.5px solid #FDE68A;border-radius:8px}@media (max-width: 500px){.student-status-row[data-v-84a3cdeb]{display:grid;grid-template-columns:1fr 1fr;gap:.375rem}.status-btn[data-v-84a3cdeb]{justify-content:center;padding:.5rem;font-size:.78rem}.other-fields-row[data-v-84a3cdeb]{flex-direction:column;gap:.5rem}.other-field[data-v-84a3cdeb],.other-field-wide[data-v-84a3cdeb],.other-input[data-v-84a3cdeb],.other-input-sm[data-v-84a3cdeb]{width:100%}}.other-field[data-v-84a3cdeb]{display:flex;flex-direction:column;gap:.2rem}.other-field-wide[data-v-84a3cdeb]{flex:1;min-width:170px}.other-field-label[data-v-84a3cdeb]{font-size:.72rem;font-weight:700;color:#92400e}.other-field-hint[data-v-84a3cdeb]{font-weight:400;opacity:.7;font-size:.7rem;margin-left:.1rem}.other-input-sm[data-v-84a3cdeb]{width:70px;padding:.28rem .45rem;border:1.5px solid #FDE68A;border-radius:6px;font-size:.875rem;font-family:DM Sans,sans-serif}.other-input-sm[data-v-84a3cdeb]:focus{outline:none;border-color:#d97706}.other-input[data-v-84a3cdeb]{width:100%;padding:.28rem .6rem;box-sizing:border-box;border:1.5px solid #FDE68A;border-radius:6px;font-size:.875rem;font-family:DM Sans,sans-serif}.other-input[data-v-84a3cdeb]:focus{outline:none;border-color:#d97706}.absent-hint[data-v-84a3cdeb]{margin:.5rem 0 0;font-size:.78rem;color:#b91c1c;line-height:1.5}.absent-credit-row[data-v-84a3cdeb]{margin-top:.75rem;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.absent-credit-label[data-v-84a3cdeb]{font-size:.82rem;font-weight:600;color:#b91c1c;flex:1;min-width:180px}.absent-credit-hint[data-v-84a3cdeb]{font-weight:400;color:#dc2626;opacity:.7;font-size:.75rem;margin-left:.25rem}.absent-credit-input[data-v-84a3cdeb]{width:80px;padding:.4rem .5rem;border:1.5px solid #FECACA;border-radius:7px;font-size:.9rem;color:#1a1a1a;background:#fff}.absent-credit-input[data-v-84a3cdeb]:focus{outline:none;border-color:#dc2626}.behavior-pill[data-v-84a3cdeb]{font-size:.7rem;font-weight:700;color:#7c3aed;background:#ede9fe;padding:.15rem .5rem;border-radius:6px}.expand-btn[data-v-84a3cdeb]{background:none;border:none;color:var(--text-gray);cursor:pointer;padding:.25rem;flex-shrink:0;display:flex;align-items:center}.expand-btn[data-v-84a3cdeb]:hover{color:var(--primary)}.student-detail[data-v-84a3cdeb]{padding:.75rem;background:#f8faf9;border-top:1px solid var(--border-soft);display:flex;flex-direction:column;gap:.75rem}.detail-row[data-v-84a3cdeb]{display:flex;flex-direction:column;gap:.35rem}.detail-label[data-v-84a3cdeb]{font-size:.78rem;font-weight:700;color:var(--text-dark)}.behavior-check[data-v-84a3cdeb]{display:flex;align-items:flex-start;gap:.5rem;font-size:.8rem;color:var(--text-dark);cursor:pointer;-webkit-user-select:none;user-select:none;line-height:1.4}.behavior-check input[data-v-84a3cdeb]{width:15px;height:15px;accent-color:#7c3aed;flex-shrink:0;margin-top:2px}.student-notes[data-v-84a3cdeb]{width:100%;padding:.5rem .625rem;border:1.5px solid var(--border-soft);border-radius:7px;font-family:DM Sans,sans-serif;font-size:.8rem;resize:none;box-sizing:border-box}.student-notes[data-v-84a3cdeb]:focus{outline:none;border-color:var(--primary)}.btn[data-v-84a3cdeb]{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border-radius:10px;border:none;font-weight:700;font-size:.9rem;font-family:DM Sans,sans-serif;cursor:pointer;transition:all .2s}.btn[data-v-84a3cdeb]:disabled{opacity:.6;cursor:not-allowed}.btn-primary[data-v-84a3cdeb]{background:var(--primary);color:#fff}.btn-primary[data-v-84a3cdeb]:hover:not(:disabled){background:var(--primary-dark)}.btn-secondary[data-v-84a3cdeb]{background:var(--bg-cream);color:var(--text-dark);border:1.5px solid var(--border-soft)}.btn-secondary[data-v-84a3cdeb]:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.spinner-sm[data-v-84a3cdeb]{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin-84a3cdeb .7s linear infinite}@keyframes spin-84a3cdeb{to{transform:rotate(360deg)}}@media (max-width: 640px){.form-row[data-v-84a3cdeb]{grid-template-columns:1fr}.modal-overlay[data-v-84a3cdeb]{align-items:flex-end;padding:0}.modal-container[data-v-84a3cdeb]{max-height:94dvh;border-radius:20px 20px 0 0;max-width:100%}.modal-body[data-v-84a3cdeb],.modal-header[data-v-84a3cdeb]{padding-left:1.25rem;padding-right:1.25rem}.modal-footer[data-v-84a3cdeb]{padding:1rem 1.25rem;flex-direction:column-reverse}.modal-footer .btn[data-v-84a3cdeb]{width:100%;justify-content:center}}.acc-row-3[data-v-84a3cdeb]{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem .75rem;background:var(--bg-cream, #F8F4EF);border-radius:8px;border:1px solid var(--border-soft, #E2E8F0);margin-bottom:.4rem;flex-wrap:wrap}.acc-row-info[data-v-84a3cdeb]{display:flex;flex-direction:column;gap:.15rem;flex:1;min-width:120px}.acc-toggle-group[data-v-84a3cdeb]{display:flex;gap:.3rem;flex-shrink:0}.acc-tog[data-v-84a3cdeb]{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .6rem;border-radius:6px;border:1.5px solid var(--border-soft, #E2E8F0);background:#fff;font-family:DM Sans,sans-serif;font-size:.72rem;font-weight:700;color:var(--text-gray, #64748B);cursor:pointer;transition:all .15s;white-space:nowrap}.acc-tog-on[data-v-84a3cdeb]{background:#dcfce7;border-color:#16a34a;color:#15803d}.acc-tog-refused-on[data-v-84a3cdeb]{background:#fee2e2;border-color:#dc2626;color:#dc2626}.acc-tog-none[data-v-84a3cdeb]{min-width:28px;justify-content:center}.acc-tog-none-on[data-v-84a3cdeb]{background:var(--bg-cream, #F8F4EF);border-color:#94a3b8;color:#64748b}.modal-root h3[data-v-471448c3]{font-size:1.5rem;font-weight:700;color:var(--text-dark);margin-bottom:1.25rem}.mode-toggle[data-v-471448c3]{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;background:var(--bg-cream);border-radius:10px;padding:.375rem;margin-bottom:1.5rem}.mode-btn[data-v-471448c3]{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1rem;border:none;border-radius:7px;font-family:DM Sans,sans-serif;font-size:.9rem;font-weight:600;cursor:pointer;color:var(--text-gray);background:transparent;transition:all .2s}.mode-btn.active[data-v-471448c3]{background:#fff;color:var(--primary);box-shadow:0 2px 8px #00000014}.mode-btn svg[data-v-471448c3]{flex-shrink:0}.panel-hint[data-v-471448c3]{color:var(--text-gray);font-size:.9rem;margin-bottom:1.25rem;line-height:1.5}.search-wrap[data-v-471448c3]{position:relative;margin-bottom:1rem}.search-wrap svg[data-v-471448c3]{position:absolute;left:.875rem;top:50%;transform:translateY(-50%);width:16px;height:16px;fill:var(--text-gray)}.search-wrap input[data-v-471448c3]{width:100%;padding:.75rem 1rem .75rem 2.5rem;border:2px solid var(--border-soft);border-radius:8px;font-size:.95rem;font-family:DM Sans,sans-serif;transition:border-color .2s;box-sizing:border-box}.search-wrap input[data-v-471448c3]:focus{outline:none;border-color:var(--primary)}.selection-bar[data-v-471448c3]{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:#2d6a4f12;border-radius:8px;font-size:.85rem;font-weight:600;color:var(--primary);margin-bottom:.75rem}.clear-link[data-v-471448c3]{background:none;border:none;font-family:DM Sans,sans-serif;font-size:.8rem;font-weight:600;color:var(--text-gray);cursor:pointer;padding:0;text-decoration:underline}.clear-link[data-v-471448c3]:hover{color:var(--error)}.student-list[data-v-471448c3]{display:flex;flex-direction:column;gap:.5rem;max-height:280px;overflow-y:auto;margin-bottom:1.25rem;padding-right:.25rem}.student-row[data-v-471448c3]{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.875rem;padding:.75rem 1rem;border:2px solid var(--border-soft);border-radius:10px;background:#fff;cursor:pointer;text-align:left;font-family:DM Sans,sans-serif;transition:all .2s;width:100%}.student-row[data-v-471448c3]:hover:not(:disabled){border-color:var(--primary-light);background:#f0f9f4}.student-row.selected[data-v-471448c3]{border-color:var(--primary);background:#e8f5ee}.student-row[data-v-471448c3]:disabled{opacity:.6;cursor:not-allowed}.student-avatar[data-v-471448c3]{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;flex-shrink:0}.student-info[data-v-471448c3]{display:flex;flex-direction:column;gap:.2rem}.student-info strong[data-v-471448c3]{font-size:.95rem;color:var(--text-dark)}.student-info span[data-v-471448c3]{font-size:.8rem;color:var(--text-gray)}.check-icon[data-v-471448c3]{color:var(--primary);display:flex;align-items:center}.empty-panel[data-v-471448c3]{text-align:center;padding:1.5rem;color:var(--text-gray);font-size:.9rem;background:var(--bg-cream);border-radius:8px;margin-bottom:1.25rem}.form-row[data-v-471448c3]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group[data-v-471448c3]{margin-bottom:1rem}.form-group label[data-v-471448c3]{display:block;margin-bottom:.4rem;font-weight:600;font-size:.875rem;color:var(--text-dark)}.form-group input[data-v-471448c3],.form-group select[data-v-471448c3],.form-group textarea[data-v-471448c3]{width:100%;padding:.75rem 1rem;border:2px solid var(--border-soft);border-radius:8px;font-size:.95rem;font-family:DM Sans,sans-serif;transition:border-color .2s;background:#fff;box-sizing:border-box}.form-group input[data-v-471448c3]:focus,.form-group select[data-v-471448c3]:focus,.form-group textarea[data-v-471448c3]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2d6a4f1a}.form-group input[data-v-471448c3]:disabled,.form-group select[data-v-471448c3]:disabled,.form-group textarea[data-v-471448c3]:disabled{background:var(--bg-cream);cursor:not-allowed}.form-group textarea[data-v-471448c3]{resize:vertical;min-height:80px}.error-message[data-v-471448c3]{padding:.875rem 1rem;background:#fff5f5;border:1px solid #ffcdd2;border-radius:8px;color:#c62828;font-size:.9rem;margin-bottom:1rem}.modal-actions[data-v-471448c3]{display:flex;gap:1rem;justify-content:flex-end;padding-top:.75rem;border-top:1px solid var(--border-soft);margin-top:.5rem}.spinner-sm[data-v-471448c3]{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin-471448c3 .7s linear infinite}@keyframes spin-471448c3{to{transform:rotate(360deg)}}@media (max-width: 560px){.form-row[data-v-471448c3]{grid-template-columns:1fr;gap:0}.modal-actions[data-v-471448c3]{flex-direction:column-reverse}.modal-actions .btn[data-v-471448c3]{width:100%;justify-content:center}}.ahb-bar[data-v-c6dc7d3e]{position:fixed;top:0;left:50%;transform:translate(-50%);width:min(560px,100vw);z-index:9200;background:#1e293b;border-radius:0 0 16px 16px;box-shadow:0 4px 24px #0006;overflow:hidden;transition:box-shadow .3s}.ahb-bar.timing[data-v-c6dc7d3e]{box-shadow:0 4px 28px #2d6a4f80,0 0 0 2px #2d6a4f}.ahb-collapsed-row[data-v-c6dc7d3e]{display:flex;align-items:center;justify-content:space-between;padding:.625rem 1rem;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s}.ahb-collapsed-row[data-v-c6dc7d3e]:hover{background:#ffffff0d}.ahb-bar-left[data-v-c6dc7d3e],.ahb-bar-right[data-v-c6dc7d3e]{display:flex;align-items:center;gap:.5rem}.ahb-bar-label[data-v-c6dc7d3e]{font-size:.8rem;font-weight:700;color:#fff;font-family:DM Sans,sans-serif}.ahb-clock[data-v-c6dc7d3e]{font-size:.875rem;font-weight:800;color:#6ee7b7;font-variant-numeric:tabular-nums;font-family:DM Sans,sans-serif}.ahb-chevron[data-v-c6dc7d3e]{color:#cbd5e1;flex-shrink:0}.ahb-pulse[data-v-c6dc7d3e]{width:8px;height:8px;border-radius:50%;background:#334155;flex-shrink:0;transition:background .3s}.ahb-pulse.active[data-v-c6dc7d3e]{background:#22c55e;animation:ahb-pulse-c6dc7d3e 1.4s ease-in-out infinite}@keyframes ahb-pulse-c6dc7d3e{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.7)}}.ahb-panel[data-v-c6dc7d3e]{padding:0 1rem 1rem;border-top:1px solid rgba(255,255,255,.07)}.ahb-expand-enter-active[data-v-c6dc7d3e],.ahb-expand-leave-active[data-v-c6dc7d3e]{transition:opacity .2s,transform .2s}.ahb-expand-enter-from[data-v-c6dc7d3e],.ahb-expand-leave-to[data-v-c6dc7d3e]{opacity:0;transform:translateY(-8px)}.ahb-hint[data-v-c6dc7d3e]{font-size:.78rem;color:#94a3b8;line-height:1.5;margin:.75rem 0 .875rem;font-family:DM Sans,sans-serif}.ahb-search-row[data-v-c6dc7d3e]{margin-bottom:.625rem}.ahb-search-field[data-v-c6dc7d3e]{display:flex;align-items:center;gap:.5rem;background:#ffffff12;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:.5rem .75rem;transition:border-color .2s}.ahb-search-field[data-v-c6dc7d3e]:focus-within{border-color:#6ee7b766}.ahb-search-field svg[data-v-c6dc7d3e]{fill:#475569;flex-shrink:0}.ahb-search-field input[data-v-c6dc7d3e]{flex:1;background:none;border:none;outline:none;font-family:DM Sans,sans-serif;font-size:.875rem;color:#e2e8f0}.ahb-search-field input[data-v-c6dc7d3e]::placeholder{color:#475569}.ahb-results[data-v-c6dc7d3e]{display:flex;flex-direction:column;gap:.3rem;max-height:200px;overflow-y:auto}.ahb-result-row[data-v-c6dc7d3e]{display:flex;align-items:center;gap:.75rem;padding:.55rem .75rem;border-radius:8px;background:#ffffff0a;border:1px solid rgba(255,255,255,.07);cursor:pointer;text-align:left;font-family:DM Sans,sans-serif;transition:background .12s;color:#cbd5e1}.ahb-result-row[data-v-c6dc7d3e]:hover{background:#2d6a4f33;border-color:#2d6a4f66}.ahb-result-info[data-v-c6dc7d3e]{flex:1;display:flex;flex-direction:column;gap:.1rem}.ahb-result-name[data-v-c6dc7d3e]{font-size:.875rem;font-weight:700;color:#e2e8f0}.ahb-result-sub[data-v-c6dc7d3e]{font-size:.72rem;color:#64748b}.ahb-no-results[data-v-c6dc7d3e]{font-size:.8rem;color:#475569;text-align:center;padding:.75rem 0;font-family:DM Sans,sans-serif}.ahb-initials[data-v-c6dc7d3e]{width:32px;height:32px;border-radius:50%;background:#2d6a4f;color:#fff;font-size:.72rem;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-family:DM Sans,sans-serif}.ahb-student-row[data-v-c6dc7d3e]{display:flex;align-items:center;gap:.75rem;padding:.75rem 0;border-bottom:1px solid rgba(255,255,255,.07);margin-bottom:.75rem}.ahb-student-info[data-v-c6dc7d3e]{flex:1;display:flex;flex-direction:column;gap:.1rem}.ahb-student-name[data-v-c6dc7d3e]{font-size:.9rem;font-weight:700;color:#e2e8f0;font-family:DM Sans,sans-serif}.ahb-student-svc[data-v-c6dc7d3e]{font-size:.72rem;color:#6ee7b7;font-family:DM Sans,sans-serif}.ahb-change-btn[data-v-c6dc7d3e]{background:none;border:none;color:#475569;cursor:pointer;padding:4px;border-radius:4px;transition:color .15s}.ahb-change-btn[data-v-c6dc7d3e]:hover{color:#ef4444}.ahb-timer-display[data-v-c6dc7d3e]{font-size:2.8rem;font-weight:800;color:#475569;text-align:center;font-variant-numeric:tabular-nums;font-family:DM Sans,sans-serif;margin:.5rem 0;transition:color .3s}.ahb-timer-display.running[data-v-c6dc7d3e]{color:#6ee7b7}.ahb-notes-wrap[data-v-c6dc7d3e]{margin-bottom:.75rem}.ahb-notes[data-v-c6dc7d3e]{width:100%;box-sizing:border-box;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#cbd5e1;font-family:DM Sans,sans-serif;font-size:.8rem;padding:.5rem .625rem;resize:none;line-height:1.5}.ahb-notes[data-v-c6dc7d3e]:focus{outline:none;border-color:#6ee7b766}.ahb-notes[data-v-c6dc7d3e]::placeholder{color:#334155}.ahb-controls[data-v-c6dc7d3e]{display:flex;gap:.5rem}.ahb-btn[data-v-c6dc7d3e]{flex:1;display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.6rem 1rem;border:none;border-radius:8px;cursor:pointer;font-family:DM Sans,sans-serif;font-size:.875rem;font-weight:700;transition:all .15s}.ahb-btn[data-v-c6dc7d3e]:disabled{opacity:.55;cursor:not-allowed}.ahb-btn-start[data-v-c6dc7d3e]{background:#2d6a4f;color:#fff}.ahb-btn-start[data-v-c6dc7d3e]:hover:not(:disabled){background:#1b4332}.ahb-btn-secondary[data-v-c6dc7d3e]{background:#ffffff14;color:#94a3b8}.ahb-btn-secondary[data-v-c6dc7d3e]:hover:not(:disabled){background:#ffffff24;color:#fff}.ahb-btn-save[data-v-c6dc7d3e]{background:#1d4ed8;color:#fff}.ahb-btn-save[data-v-c6dc7d3e]:hover:not(:disabled){background:#1e40af}.ahb-spinner[data-v-c6dc7d3e]{display:inline-block;width:13px;height:13px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:ahb-spin-c6dc7d3e .7s linear infinite}@keyframes ahb-spin-c6dc7d3e{to{transform:rotate(360deg)}}@media (max-width: 640px){.ahb-bar[data-v-c6dc7d3e]{width:100%;top:0;left:0;transform:none;border-radius:0 0 12px 12px}.ahb-timer-display[data-v-c6dc7d3e]{font-size:2.2rem}}.modal-overlay[data-v-82cd2d70]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:8000;padding:1rem;pointer-events:all;cursor:default}.modal-container[data-v-82cd2d70]{pointer-events:all;background:#fff;border-radius:20px;max-width:580px;width:100%;max-height:92vh;overflow-y:auto;box-shadow:0 24px 64px #00000040;transition:box-shadow .3s}.session-active[data-v-82cd2d70]{box-shadow:0 0 0 3px var(--primary),0 24px 64px #00000040}.modal-header[data-v-82cd2d70]{display:flex;justify-content:space-between;align-items:flex-start;padding:1.5rem 1.75rem 1rem;border-bottom:2px solid var(--border-soft)}.header-info[data-v-82cd2d70]{display:flex;flex-direction:column;gap:.25rem}.service-badge[data-v-82cd2d70]{display:inline-block;padding:.2rem .75rem;background:#2d6a4f1a;color:var(--primary);border-radius:20px;font-size:.8rem;font-weight:700;align-self:flex-start}.modal-header h3[data-v-82cd2d70]{font-size:1.3rem;font-weight:800;margin:0}.close-btn[data-v-82cd2d70]{background:none;border:none;color:var(--text-gray);cursor:pointer;padding:.25rem;flex-shrink:0}.timer-section[data-v-82cd2d70]{padding:2rem 1.75rem 1.5rem;text-align:center;border-bottom:2px solid var(--border-soft)}.timer-display[data-v-82cd2d70]{font-size:4rem;font-weight:800;font-variant-numeric:tabular-nums;color:var(--text-dark);line-height:1;margin-bottom:.5rem;transition:color .3s}.timer-alert-banner[data-v-82cd2d70]{display:flex;align-items:center;justify-content:center;gap:.5rem;background:#fef3c7;color:#92400e;border:1.5px solid #FDE68A;border-radius:8px;padding:.5rem .875rem;font-size:.85rem;font-weight:700;margin:.5rem 0}.timer-alert-dismiss[data-v-82cd2d70]{background:none;border:none;cursor:pointer;color:#92400e;font-size:.9rem;padding:0 .25rem;margin-left:auto;line-height:1;opacity:.7;transition:opacity .15s}.timer-alert-dismiss[data-v-82cd2d70]:hover{opacity:1}.alert-fade-enter-active[data-v-82cd2d70],.alert-fade-leave-active[data-v-82cd2d70]{transition:opacity .3s,transform .3s}.alert-fade-enter-from[data-v-82cd2d70],.alert-fade-leave-to[data-v-82cd2d70]{opacity:0;transform:translateY(-6px)}.overtime-confirm-panel[data-v-82cd2d70]{background:#fffbeb;border:2px solid #FDE68A;border-radius:12px;padding:1.25rem 1.25rem 1rem;margin:.75rem 0 0;text-align:left}.overtime-confirm-header[data-v-82cd2d70]{display:flex;align-items:center;gap:.5rem;font-size:.95rem;font-weight:800;color:#92400e;margin-bottom:.5rem}.overtime-confirm-desc[data-v-82cd2d70]{font-size:.82rem;color:#78350f;margin:0 0 .875rem;line-height:1.5}.overtime-label[data-v-82cd2d70]{font-size:.75rem;font-weight:800;color:#92400e;text-transform:uppercase;letter-spacing:.05em;display:block;margin-bottom:.5rem}.overtime-input-row[data-v-82cd2d70]{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.overtime-preset[data-v-82cd2d70]{flex:1;min-width:100px;padding:.5rem .75rem;border-radius:8px;border:1.5px solid #FDE68A;background:#fff;cursor:pointer;font-size:.82rem;font-weight:700;color:#78350f;transition:all .15s;text-align:center}.overtime-preset span[data-v-82cd2d70]{display:block;font-size:.7rem;font-weight:400;opacity:.75}.overtime-preset[data-v-82cd2d70]:hover,.overtime-preset.active[data-v-82cd2d70]{border-color:#d97706;background:#fef3c7}.overtime-custom-wrap[data-v-82cd2d70]{display:flex;align-items:center;gap:.375rem;flex-shrink:0}.overtime-custom-input[data-v-82cd2d70]{width:80px;padding:.5rem;border:1.5px solid #FDE68A;border-radius:8px;font-size:.95rem;font-weight:700;text-align:center;font-family:inherit;background:#fff}.overtime-custom-input[data-v-82cd2d70]:focus{outline:none;border-color:#d97706}.overtime-unit[data-v-82cd2d70]{font-size:.82rem;font-weight:700;color:#78350f}.overtime-confirm-actions[data-v-82cd2d70]{display:flex;justify-content:flex-end;gap:.625rem;margin-top:.875rem;padding-top:.75rem;border-top:1px solid #FDE68A}.timer-running[data-v-82cd2d70]{color:var(--primary)}.timer-paused[data-v-82cd2d70]{color:var(--text-gray)}.timer-controls[data-v-82cd2d70]{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.btn-lg[data-v-82cd2d70]{padding:.875rem 2rem;font-size:1rem}.timer-attendance-note[data-v-82cd2d70]{display:flex;align-items:center;gap:.375rem;font-size:.8rem;color:var(--text-gray);margin-bottom:1rem;justify-content:center;flex-wrap:wrap}.timer-attendance-note svg[data-v-82cd2d70]{color:var(--primary);flex-shrink:0}.behavior-note-pill[data-v-82cd2d70]{color:#7c3aed;font-weight:700}.edit-attendance-btn[data-v-82cd2d70]{background:none;border:1px solid var(--border-soft);border-radius:6px;padding:.15rem .5rem;font-family:DM Sans,sans-serif;font-size:.75rem;font-weight:600;color:var(--primary);cursor:pointer;margin-left:.25rem;transition:all .15s}.edit-attendance-btn[data-v-82cd2d70]:hover{background:#2d6a4f0f;border-color:var(--primary)}.attendance-section[data-v-82cd2d70]{padding:1.25rem 1.75rem;border-bottom:2px solid var(--border-soft)}.attendance-header[data-v-82cd2d70]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.875rem;gap:1rem}.attendance-header h4[data-v-82cd2d70]{font-size:1rem;font-weight:700;margin-bottom:.2rem}.attendance-summary[data-v-82cd2d70]{display:flex;gap:.5rem;align-items:center;white-space:nowrap;font-size:.82rem;font-weight:700;padding-top:.2rem}.present-count[data-v-82cd2d70]{color:#16a34a}.absent-count[data-v-82cd2d70]{color:#dc2626}.attendance-list[data-v-82cd2d70]{display:flex;flex-direction:column;gap:.375rem}.attendance-row[data-v-82cd2d70]{display:flex;align-items:center;gap:.75rem;padding:.6rem .875rem;border:2px solid var(--border-soft);border-radius:10px;cursor:pointer;transition:all .15s;-webkit-user-select:none;user-select:none}.attendance-row[data-v-82cd2d70]:hover{border-color:var(--primary)}.attendance-row.absent[data-v-82cd2d70]{background:#fef2f2;border-color:#fecaca}.attendance-row.absent[data-v-82cd2d70]:hover{border-color:#dc2626}.attendance-row.behavior-on[data-v-82cd2d70]{background:#f5f3ff;border-color:#c4b5fd}.attendance-row.behavior-on[data-v-82cd2d70]:hover{border-color:#7c3aed}.attendance-row input[data-v-82cd2d70]{width:16px;height:16px;accent-color:var(--primary);flex-shrink:0;cursor:pointer}.s-initials[data-v-82cd2d70]{width:28px;height:28px;border-radius:50%;background:var(--primary);color:#fff;font-size:.7rem;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.s-initials.initials-absent[data-v-82cd2d70]{background:#cbd5e1}.s-initials.initials-behavior[data-v-82cd2d70]{background:#7c3aed}.student-name[data-v-82cd2d70]{flex:1;font-size:.875rem;font-weight:600;color:var(--text-dark)}.absent-label[data-v-82cd2d70]{font-size:.72rem;font-weight:700;color:#dc2626;background:#fee2e2;padding:.15rem .5rem;border-radius:6px}.behavior-label[data-v-82cd2d70]{font-size:.72rem;font-weight:700;color:#7c3aed;background:#ede9fe;padding:.15rem .5rem;border-radius:6px}.behavior-count[data-v-82cd2d70]{font-size:.8rem;font-weight:700;color:#7c3aed;white-space:nowrap;padding-top:.2rem}.no-students-hint[data-v-82cd2d70]{font-size:.82rem;color:var(--text-gray);font-style:italic;padding:.5rem 0}.behavior-section[data-v-82cd2d70]{background:#faf9ff}.compensatory-section[data-v-82cd2d70]{background:#f0fdf4}.attendance-row.compensatory-on[data-v-82cd2d70]{background:#15803d0f}.s-initials.initials-compensatory[data-v-82cd2d70]{background:#15803d}.comp-student-wrap[data-v-82cd2d70]{border:2px solid var(--border-soft);border-radius:10px;overflow:hidden;transition:border-color .15s;background:#fff}.comp-student-wrap[data-v-82cd2d70]:hover{border-color:#86efac}.comp-student-wrap.compensatory-on[data-v-82cd2d70]{border-color:#4ade80;background:#15803d0a}.comp-student-row[data-v-82cd2d70]{display:flex;align-items:center;gap:.75rem;padding:.625rem .875rem;cursor:pointer;-webkit-user-select:none;user-select:none;width:100%}.comp-checkbox[data-v-82cd2d70]{width:18px;height:18px;accent-color:#15803d;flex-shrink:0;cursor:pointer;margin:0}.comp-service-picker[data-v-82cd2d70]{border-top:1.5px solid #bbf7d0;background:#f0fdf4;padding:.625rem .875rem .5rem;display:flex;flex-direction:column;gap:.5rem}.comp-alloc-row[data-v-82cd2d70]{display:grid;grid-template-columns:1fr auto auto;gap:.5rem;align-items:center}.comp-service-select[data-v-82cd2d70]{width:100%;padding:.5rem .625rem;border:1.5px solid #86efac;border-radius:8px;font-family:inherit;font-size:.85rem;background:#fff;color:var(--text-dark, #1e293b);cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;min-width:0}.comp-service-select[data-v-82cd2d70]:focus{outline:none;border-color:#15803d}.comp-minutes-group[data-v-82cd2d70]{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.comp-minutes-input[data-v-82cd2d70]{width:70px;padding:.5rem;border:1.5px solid #86efac;border-radius:8px;font-family:inherit;font-size:.95rem;font-weight:700;text-align:center;background:#fff}.comp-minutes-input[data-v-82cd2d70]::-webkit-inner-spin-button,.comp-minutes-input[data-v-82cd2d70]::-webkit-outer-spin-button{opacity:1}.comp-minutes-input[data-v-82cd2d70]:focus{outline:none;border-color:#15803d}.comp-alloc-label[data-v-82cd2d70]{font-size:.8rem;font-weight:600;color:#15803d;white-space:nowrap}.comp-alloc-actions[data-v-82cd2d70]{display:flex;gap:.375rem;align-items:center;flex-shrink:0}.comp-add-btn[data-v-82cd2d70]{display:inline-flex;align-items:center;gap:.25rem;padding:.375rem .625rem;border:1.5px solid #15803d;border-radius:6px;background:#fff;color:#15803d;font-size:.75rem;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .15s}.comp-add-btn[data-v-82cd2d70]:hover{background:#dcfce7}.comp-remove-btn[data-v-82cd2d70]{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1.5px solid #fca5a5;border-radius:6px;background:#fff;color:#dc2626;cursor:pointer;transition:background .15s;padding:0}.comp-remove-btn[data-v-82cd2d70]:hover{background:#fee2e2}.comp-alloc-hint[data-v-82cd2d70]{font-size:.72rem;color:#15803d;opacity:.75;margin:0;font-style:italic}@media (max-width: 480px){.comp-alloc-row[data-v-82cd2d70]{grid-template-columns:1fr;grid-template-rows:auto auto auto}.comp-service-select[data-v-82cd2d70]{width:100%}.comp-minutes-group[data-v-82cd2d70]{justify-content:flex-start}.comp-minutes-input[data-v-82cd2d70]{width:90px}.comp-alloc-actions[data-v-82cd2d70]{justify-content:flex-start}.comp-add-btn[data-v-82cd2d70]{flex:1;justify-content:center}}.compensatory-label[data-v-82cd2d70]{font-size:.72rem;font-weight:700;color:#15803d;background:#dcfce7;padding:.15rem .5rem;border-radius:6px}.compensatory-count[data-v-82cd2d70]{font-size:.8rem;font-weight:700;color:#15803d;white-space:nowrap;padding-top:.2rem}.compensatory-note-pill[data-v-82cd2d70]{color:#15803d;font-weight:700}.compensatory-pill[data-v-82cd2d70]{font-size:.72rem;font-weight:700;padding:.1rem .45rem;border-radius:20px;background:#dcfce7;color:#15803d}.postpone-trigger[data-v-82cd2d70]{padding:.75rem 1.75rem;border-bottom:2px solid var(--border-soft);display:flex;justify-content:center}.postpone-link[data-v-82cd2d70]{display:inline-flex;align-items:center;gap:.4rem;background:none;border:none;color:var(--text-gray);font-family:DM Sans,sans-serif;font-size:.82rem;font-weight:600;cursor:pointer;padding:.25rem .5rem;border-radius:6px;transition:color .15s}.postpone-link[data-v-82cd2d70]:hover{color:#b45309}.postpone-link svg[data-v-82cd2d70]{fill:#d97706}.postpone-section[data-v-82cd2d70]{padding:1.5rem 1.75rem;border-bottom:2px solid var(--border-soft);background:#fffbeb}.postpone-header[data-v-82cd2d70]{display:flex;align-items:center;gap:.625rem;margin-bottom:.5rem}.postpone-header svg[data-v-82cd2d70]{fill:#d97706;flex-shrink:0}.postpone-header h4[data-v-82cd2d70]{font-size:1rem;font-weight:700;color:#92400e;margin:0}.postpone-actions[data-v-82cd2d70]{display:flex;gap:.75rem;justify-content:flex-end;margin-top:.75rem}.acc-section[data-v-82cd2d70]{padding:1.5rem 1.75rem;border-bottom:2px solid var(--border-soft)}.acc-section h4[data-v-82cd2d70]{font-size:1rem;font-weight:700;margin-bottom:.25rem}.section-hint[data-v-82cd2d70]{font-size:.8rem;color:var(--text-gray);margin-bottom:1rem;line-height:1.5}.session-notes-section h4[data-v-82cd2d70]{margin-bottom:.625rem}.session-notes-field[data-v-82cd2d70]{width:100%;box-sizing:border-box;padding:.75rem;border:1.5px solid var(--border-soft);border-radius:8px;font-family:DM Sans,sans-serif;font-size:.875rem;color:var(--text-dark);resize:vertical;line-height:1.5;transition:border-color .2s}.session-notes-field[data-v-82cd2d70]:focus{outline:none;border-color:var(--primary)}.session-notes-field[data-v-82cd2d70]::placeholder{color:var(--text-gray)}.acc-row[data-v-82cd2d70]{display:flex;align-items:center;gap:.75rem;padding:.6rem .875rem;border:2px solid var(--border-soft);border-radius:8px;cursor:pointer;transition:all .15s;-webkit-user-select:none;user-select:none;margin-bottom:.4rem}.acc-row[data-v-82cd2d70]:hover{border-color:var(--primary)}.acc-row.checked[data-v-82cd2d70]{background:#2d6a4f0f;border-color:var(--primary)}.acc-row input[data-v-82cd2d70]{width:16px;height:16px;accent-color:var(--primary);flex-shrink:0}.acc-title[data-v-82cd2d70]{flex:1;font-weight:600;font-size:.9rem}.acc-cat[data-v-82cd2d70]{font-size:.75rem;color:var(--primary);background:#2d6a4f14;padding:.15rem .5rem;border-radius:10px;font-weight:600}.student-expand-wrap[data-v-82cd2d70]{margin-bottom:.75rem}.student-expand-btn[data-v-82cd2d70]{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem;background:var(--bg-cream);border:none;border-radius:8px;cursor:pointer;font-family:DM Sans,sans-serif;font-size:.9rem;font-weight:600}.behavior-pill[data-v-82cd2d70]{font-size:.68rem;font-weight:700;color:#7c3aed;background:#ede9fe;padding:.15rem .5rem;border-radius:10px;margin-left:auto}.student-acc-list[data-v-82cd2d70]{padding:.75rem .75rem .25rem;background:#f8faf9;border-radius:0 0 8px 8px;border:1px solid var(--border-soft);border-top:none}.no-acc[data-v-82cd2d70]{font-size:.85rem;color:var(--text-gray);font-style:italic;margin:0 0 .5rem}.student-notes-wrap[data-v-82cd2d70]{margin-bottom:.875rem}.student-notes-label[data-v-82cd2d70]{display:block;font-size:.8rem;font-weight:700;color:var(--text-dark);margin-bottom:.375rem}.student-notes-field[data-v-82cd2d70]{width:100%;padding:.65rem .875rem;border:1.5px solid var(--border-soft);border-radius:8px;font-family:DM Sans,sans-serif;font-size:.875rem;color:var(--text-dark);resize:vertical;box-sizing:border-box;min-height:80px;transition:border-color .2s}.student-notes-field[data-v-82cd2d70]:focus{outline:none;border-color:var(--primary)}.absent-students-note[data-v-82cd2d70]{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:#92400e;background:#fff7ed;border:1px solid #FED7AA;border-radius:8px;padding:.625rem .875rem;margin-top:.75rem}.absent-students-note svg[data-v-82cd2d70]{color:#f59e0b;flex-shrink:0}.complete-section[data-v-82cd2d70]{padding:1.5rem 1.75rem;display:flex;flex-direction:column;gap:1.25rem}.review-header h4[data-v-82cd2d70]{font-size:1rem;font-weight:700;margin-bottom:.2rem}.student-time-list[data-v-82cd2d70]{display:flex;flex-direction:column;gap:.625rem}.student-time-row[data-v-82cd2d70]{display:flex;flex-direction:column;gap:.5rem;padding:.75rem .875rem;border:1.5px solid var(--border-soft);border-radius:10px;background:var(--bg-cream, #F8F4EF)}.student-time-identity[data-v-82cd2d70]{display:flex;align-items:center;gap:.625rem}.student-time-name[data-v-82cd2d70]{flex:1;font-size:.9rem;font-weight:600;color:var(--text-dark)}.student-time-controls[data-v-82cd2d70]{display:flex;align-items:flex-end;gap:.625rem;flex-wrap:wrap}.time-field-group[data-v-82cd2d70]{display:flex;flex-direction:column;gap:.2rem}.time-field-label[data-v-82cd2d70]{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-gray);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.time-input[data-v-82cd2d70]{width:72px;padding:.4rem .5rem;border:1.5px solid var(--border-soft);border-radius:7px;font-family:DM Sans,sans-serif;font-size:.9rem;font-weight:700;text-align:center;color:var(--text-dark)}.time-input[data-v-82cd2d70]:focus{outline:none;border-color:var(--primary)}.split-toggle-btn[data-v-82cd2d70]{display:inline-flex;align-items:center;gap:.3rem;padding:.4rem .75rem;border:1.5px solid var(--border-soft);border-radius:7px;background:#fff;font-family:DM Sans,sans-serif;font-size:.78rem;font-weight:700;color:var(--text-gray);cursor:pointer;align-self:flex-end;transition:all .15s}.split-toggle-btn[data-v-82cd2d70]:hover{border-color:var(--primary);color:var(--primary)}.split-toggle-btn.active[data-v-82cd2d70]{background:#2d6a4f14;border-color:var(--primary);color:var(--primary)}.split-service-row[data-v-82cd2d70]{display:flex;align-items:flex-end;gap:.625rem;flex-wrap:wrap;padding:.625rem .875rem;background:#2d6a4f0d;border-radius:8px;border:1px dashed var(--primary)}.split-select-wrap[data-v-82cd2d70]{display:flex;flex-direction:column;gap:.2rem;flex:1;min-width:160px}.split-service-select[data-v-82cd2d70]{padding:.4rem .5rem;border:1.5px solid var(--border-soft);border-radius:7px;font-family:DM Sans,sans-serif;font-size:.82rem;color:var(--text-dark);background:#fff}.split-service-select[data-v-82cd2d70]:focus{outline:none;border-color:var(--primary)}.split-total-hint[data-v-82cd2d70]{font-size:.75rem;font-weight:600;color:var(--text-gray);align-self:flex-end;white-space:nowrap}.split-over[data-v-82cd2d70]{color:#dc2626}.split-overflow-warn[data-v-82cd2d70]{font-size:.82rem;color:#dc2626;font-weight:600;padding:.5rem .75rem;background:#fef2f2;border:1px solid #FECACA;border-radius:8px;margin:0}.form-group[data-v-82cd2d70]{display:flex;flex-direction:column;gap:.4rem}.form-group label[data-v-82cd2d70]{font-size:.875rem;font-weight:600;color:var(--text-dark)}.form-group textarea[data-v-82cd2d70]{padding:.75rem;border:2px solid var(--border-soft);border-radius:8px;font-family:DM Sans,sans-serif;resize:vertical}.complete-actions[data-v-82cd2d70]{display:flex;gap:.75rem;justify-content:flex-end}.complete-attendance-summary[data-v-82cd2d70]{display:flex;align-items:flex-start;gap:.625rem;background:#f0fdf4;border:1.5px solid #BBF7D0;border-radius:10px;padding:.75rem 1rem;font-size:.875rem;color:#166534;line-height:1.5}.complete-attendance-summary svg[data-v-82cd2d70]{color:#16a34a;flex-shrink:0;margin-top:.1rem}.btn[data-v-82cd2d70]{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border-radius:10px;border:none;font-weight:700;font-size:.9rem;font-family:DM Sans,sans-serif;cursor:pointer;transition:all .2s}.btn[data-v-82cd2d70]:disabled{opacity:.6;cursor:not-allowed}.btn-primary[data-v-82cd2d70]{background:var(--primary);color:#fff}.btn-primary[data-v-82cd2d70]:hover:not(:disabled){background:var(--primary-dark)}.btn-secondary[data-v-82cd2d70]{background:var(--bg-cream);color:var(--text-dark);border:1.5px solid var(--border-soft)}.btn-secondary[data-v-82cd2d70]:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.btn-success[data-v-82cd2d70]{background:#2e7d32;color:#fff}.btn-success[data-v-82cd2d70]:hover:not(:disabled){background:#1b5e20}.btn-warning[data-v-82cd2d70]{background:#f57c00;color:#fff}.btn-warning[data-v-82cd2d70]:hover:not(:disabled){background:#e65100}.indiv-split-section[data-v-82cd2d70]{border-top:1px solid var(--border-soft);padding-top:1rem}.indiv-split-header[data-v-82cd2d70]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.indiv-split-header h4[data-v-82cd2d70]{margin:0 0 .2rem}.indiv-split-row[data-v-82cd2d70]{display:flex;gap:.75rem;flex-wrap:wrap;align-items:flex-end;margin-bottom:.5rem}.indiv-split-col[data-v-82cd2d70]{display:flex;flex-direction:column;gap:.3rem}.indiv-split-col-wide[data-v-82cd2d70]{flex:1;min-width:160px}.indiv-split-label[data-v-82cd2d70]{font-size:.75rem;font-weight:600;color:var(--text-gray)}.indiv-split-input[data-v-82cd2d70]{width:70px;padding:.4rem .5rem;border:1.5px solid var(--border-soft);border-radius:7px;font-family:DM Sans,sans-serif;font-size:.88rem;color:var(--text-dark)}.indiv-split-input[data-v-82cd2d70]:focus{outline:none;border-color:var(--primary)}.split-over[data-v-82cd2d70]{color:#dc2626!important}.btn-absent[data-v-82cd2d70]{background:#fef2f2;color:#dc2626;border:1.5px solid #FECACA}.btn-absent[data-v-82cd2d70]:hover:not(:disabled){background:#fee2e2;border-color:#dc2626}.btn-other-absent[data-v-82cd2d70]{background:#fffbeb;color:#d97706;border:1.5px solid #FDE68A}.btn-other-absent[data-v-82cd2d70]:hover:not(:disabled){background:#fef3c7;border-color:#d97706}.absence-other-inline[data-v-82cd2d70]{display:flex;gap:.75rem;flex-wrap:wrap;align-items:flex-end;padding:.5rem 0}.absence-field-group[data-v-82cd2d70]{display:flex;flex-direction:column;gap:.25rem}.absence-field-wide[data-v-82cd2d70]{flex:1;min-width:180px}.absence-inline-label[data-v-82cd2d70]{font-size:.75rem;font-weight:600;color:#92400e}.absence-inline-hint[data-v-82cd2d70]{font-weight:400;opacity:.7;font-size:.7rem;margin-left:.15rem}.absence-inline-input-sm[data-v-82cd2d70]{width:72px;padding:.3rem .5rem;border:1.5px solid #FDE68A;border-radius:6px;font-size:.875rem;font-family:DM Sans,sans-serif}.absence-inline-input-sm[data-v-82cd2d70]:focus{outline:none;border-color:#d97706}.absence-inline-input[data-v-82cd2d70]{width:100%;padding:.3rem .65rem;box-sizing:border-box;border:1.5px solid #FDE68A;border-radius:6px;font-size:.875rem;font-family:DM Sans,sans-serif}.absence-inline-input[data-v-82cd2d70]:focus{outline:none;border-color:#d97706}.btn-provider-absent[data-v-82cd2d70]{background:#fefce8;color:#a16207;border:1.5px solid #fde047}.btn-provider-absent[data-v-82cd2d70]:hover:not(:disabled){background:#fef9c3;border-color:#a16207}.provider-absent-desc[data-v-82cd2d70]{font-size:.82rem;color:var(--text-gray);margin:0 0 .75rem;line-height:1.5}.expected-mins-prompt[data-v-82cd2d70]{background:#f0fdf4;border:1.5px solid #86efac}.expected-mins-row[data-v-82cd2d70]{display:flex;align-items:center;gap:.625rem;flex-wrap:wrap;margin-top:.5rem}.absence-panel-section[data-v-82cd2d70]{background:#fff5f5;border:1.5px solid #FECACA;border-radius:12px;padding:1rem}.absence-panel-header[data-v-82cd2d70]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.absence-panel-header h4[data-v-82cd2d70]{margin:0;font-size:.9rem;color:#dc2626}.absence-cancel-btn[data-v-82cd2d70]{background:none;border:none;font-size:.78rem;color:#dc2626;cursor:pointer;padding:0;font-family:DM Sans,sans-serif}.absence-panel-actions[data-v-82cd2d70]{margin-top:.75rem;display:flex;justify-content:flex-end}.attendance-row-wrap[data-v-82cd2d70]{display:flex;flex-direction:column}.student-absence-detail[data-v-82cd2d70]{padding:.5rem .75rem .625rem 2.5rem;background:#fff5f5;border-top:1px solid #FECACA}.btn-danger[data-v-82cd2d70]{background:#b45309;color:#fff}.btn-danger[data-v-82cd2d70]:hover:not(:disabled){background:#92400e}.req[data-v-82cd2d70]{color:var(--error)}.spinner-sm[data-v-82cd2d70]{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin-82cd2d70 .7s linear infinite}@keyframes spin-82cd2d70{to{transform:rotate(360deg)}}.unsaved-overlay[data-v-82cd2d70]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem}.unsaved-dialog[data-v-82cd2d70]{background:#fff;border-radius:16px;padding:2rem;max-width:380px;width:100%;box-shadow:0 24px 64px #0000004d;text-align:center}.unsaved-icon[data-v-82cd2d70]{width:56px;height:56px;border-radius:50%;background:#fef3c7;color:#d97706;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}.unsaved-dialog h4[data-v-82cd2d70]{font-size:1.1rem;font-weight:800;margin:0 0 .5rem;color:var(--text-dark)}.unsaved-dialog p[data-v-82cd2d70]{font-size:.875rem;color:var(--text-gray);line-height:1.5;margin:0 0 1.5rem}.unsaved-actions[data-v-82cd2d70]{display:flex;gap:.5rem;justify-content:center}.btn-ud[data-v-82cd2d70]{padding:.625rem 1.1rem;border-radius:8px;border:none;font-family:DM Sans,sans-serif;font-size:.875rem;font-weight:700;cursor:pointer;transition:all .15s}.btn-ud.cancel[data-v-82cd2d70]{background:var(--bg-cream);color:var(--text-gray);border:1.5px solid var(--border-soft)}.btn-ud.cancel[data-v-82cd2d70]:hover{border-color:var(--primary);color:var(--primary)}.btn-ud.discard[data-v-82cd2d70]{background:#fef2f2;color:#dc2626;border:1.5px solid #FECACA}.btn-ud.discard[data-v-82cd2d70]:hover{background:#dc2626;color:#fff}.btn-ud.save[data-v-82cd2d70]{background:var(--primary);color:#fff}.btn-ud.save[data-v-82cd2d70]:hover{background:var(--primary-dark)}@media (max-width: 640px){.modal-container[data-v-82cd2d70]{max-height:100vh;border-radius:0;max-width:100%}.timer-display[data-v-82cd2d70]{font-size:3rem}.attendance-header[data-v-82cd2d70]{flex-direction:column;gap:.5rem}.postpone-actions[data-v-82cd2d70]{flex-direction:column}}.acc-row-3[data-v-82cd2d70]{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem .75rem;background:var(--bg-cream, #F8F4EF);border-radius:8px;border:1px solid var(--border-soft, #E2E8F0);margin-bottom:.4rem;flex-wrap:wrap}.acc-row-info[data-v-82cd2d70]{display:flex;flex-direction:column;gap:.15rem;flex:1;min-width:120px}.acc-toggle-group[data-v-82cd2d70]{display:flex;gap:.3rem;flex-shrink:0}.acc-tog[data-v-82cd2d70]{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .6rem;border-radius:6px;border:1.5px solid var(--border-soft, #E2E8F0);background:#fff;font-family:DM Sans,sans-serif;font-size:.72rem;font-weight:700;color:var(--text-gray, #64748B);cursor:pointer;transition:all .15s;white-space:nowrap}.acc-tog-on[data-v-82cd2d70]{background:#dcfce7;border-color:#16a34a;color:#15803d}.acc-tog-refused-on[data-v-82cd2d70]{background:#fee2e2;border-color:#dc2626;color:#dc2626}.acc-tog-none[data-v-82cd2d70]{min-width:28px;justify-content:center}.acc-tog-none-on[data-v-82cd2d70]{background:var(--bg-cream, #F8F4EF);border-color:var(--text-gray, #94A3B8);color:var(--text-gray, #64748B)}.eso-overlay[data-v-cb7e5e5e]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:9000;padding:1rem}.eso-container[data-v-cb7e5e5e]{background:#fff;border-radius:16px;width:100%;max-width:580px;max-height:92vh;display:flex;flex-direction:column;box-shadow:0 24px 64px #0003}.eso-header[data-v-cb7e5e5e]{display:flex;justify-content:space-between;align-items:flex-start;padding:1.5rem 1.75rem 1rem;border-bottom:2px solid var(--border-soft);flex-shrink:0}.eso-badge[data-v-cb7e5e5e]{display:inline-block;padding:.18rem .65rem;background:#2d6a4f1a;color:var(--primary);border-radius:20px;font-size:.75rem;font-weight:700;margin-bottom:.3rem}.eso-header h3[data-v-cb7e5e5e]{font-size:1.2rem;font-weight:800;margin:0 0 .15rem}.eso-meta[data-v-cb7e5e5e]{font-size:.82rem;color:var(--text-gray);margin:0}.eso-close[data-v-cb7e5e5e]{background:none;border:none;cursor:pointer;color:var(--text-gray);padding:.25rem;flex-shrink:0}.eso-close[data-v-cb7e5e5e]:hover{color:var(--text-dark)}.eso-body[data-v-cb7e5e5e]{flex:1;overflow-y:auto;padding:1.25rem 1.75rem;display:flex;flex-direction:column;gap:1rem}.eso-top-fields[data-v-cb7e5e5e]{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.eso-field-block[data-v-cb7e5e5e]{display:flex;flex-direction:column;gap:.4rem}.eso-label[data-v-cb7e5e5e]{display:flex;align-items:center;gap:.5rem;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-gray)}.eso-count-pill[data-v-cb7e5e5e]{font-size:.72rem;font-weight:600;color:var(--primary);background:#2d6a4f1a;padding:.1rem .5rem;border-radius:10px;text-transform:none;letter-spacing:0}.eso-input[data-v-cb7e5e5e]{padding:.65rem .875rem;border:1.5px solid var(--border-soft);border-radius:8px;font-family:DM Sans,sans-serif;font-size:.9rem;box-sizing:border-box;transition:border-color .2s;width:100%}.eso-input[data-v-cb7e5e5e]:focus{outline:none;border-color:var(--primary)}.eso-input-narrow[data-v-cb7e5e5e]{max-width:160px}.eso-textarea[data-v-cb7e5e5e]{padding:.65rem .875rem;border:1.5px solid var(--border-soft);border-radius:8px;font-family:DM Sans,sans-serif;font-size:.875rem;resize:vertical;line-height:1.5;box-sizing:border-box;transition:border-color .2s;width:100%}.eso-textarea[data-v-cb7e5e5e]:focus{outline:none;border-color:var(--primary)}.eso-acc-row[data-v-cb7e5e5e]{display:flex;align-items:center;gap:.6rem;padding:.4rem .6rem;border-radius:8px;cursor:pointer;transition:background .15s;margin-bottom:.2rem}.eso-acc-row[data-v-cb7e5e5e]:hover{background:#f8faf9}.eso-acc-row.checked[data-v-cb7e5e5e]{background:#2d6a4f0f}.eso-acc-title[data-v-cb7e5e5e]{flex:1;font-size:.875rem;color:var(--text-dark)}.eso-acc-cat[data-v-cb7e5e5e]{font-size:.72rem;color:var(--text-gray);background:var(--border-soft);padding:.1rem .4rem;border-radius:4px}.eso-student-card[data-v-cb7e5e5e]{border:1.5px solid var(--border-soft);border-radius:10px;overflow:hidden;margin-bottom:.5rem}.eso-student-card[data-v-cb7e5e5e]:last-of-type{margin-bottom:0}.eso-student-header[data-v-cb7e5e5e]{display:flex;align-items:center;gap:.75rem;width:100%;text-align:left;padding:.7rem .875rem;background:none;border:none;cursor:pointer;transition:background .15s}.eso-student-header[data-v-cb7e5e5e]:hover{background:#f8faf9}.eso-student-name[data-v-cb7e5e5e]{flex:1;font-weight:700;font-size:.9rem;color:var(--text-dark)}.eso-student-summary[data-v-cb7e5e5e]{font-size:.8rem;color:var(--text-gray)}.eso-has-notes[data-v-cb7e5e5e]{color:var(--primary)}.eso-has-acc[data-v-cb7e5e5e]{color:#1d4ed8}.eso-chevron[data-v-cb7e5e5e]{color:var(--text-gray);transition:transform .2s;flex-shrink:0}.eso-chevron.open[data-v-cb7e5e5e]{transform:rotate(180deg)}.eso-student-detail[data-v-cb7e5e5e]{padding:.75rem .875rem;border-top:1.5px solid var(--border-soft);background:#fafafa}.eso-detail-row[data-v-cb7e5e5e]{display:flex;gap:.75rem;align-items:flex-end;margin-bottom:.75rem}.eso-field-group[data-v-cb7e5e5e]{display:flex;flex-direction:column;gap:.2rem}.eso-field-group label[data-v-cb7e5e5e]{font-size:.72rem;font-weight:600;color:var(--text-gray);text-transform:uppercase;letter-spacing:.05em}.eso-grow[data-v-cb7e5e5e]{flex:1}.eso-input-sm[data-v-cb7e5e5e]{padding:.4rem .6rem;border:1.5px solid var(--border-soft);border-radius:6px;font-family:DM Sans,sans-serif;font-size:.875rem;width:80px;box-sizing:border-box;transition:border-color .2s}.eso-grow .eso-input-sm[data-v-cb7e5e5e]{width:100%}.eso-input-sm[data-v-cb7e5e5e]:focus{outline:none;border-color:var(--primary)}.eso-acc-list[data-v-cb7e5e5e]{border-top:1px solid var(--border-soft);padding-top:.5rem}.eso-absent-section[data-v-cb7e5e5e]{margin-top:.75rem;padding:.875rem;background:#fffbf0;border:1.5px solid #fde68a;border-radius:10px}.eso-absent-label[data-v-cb7e5e5e]{display:flex;align-items:center;gap:.4rem;font-size:.8rem;font-weight:700;color:#92400e;margin-bottom:.5rem}.eso-absent-row[data-v-cb7e5e5e]{display:flex;align-items:center;justify-content:space-between;padding:.3rem 0;border-bottom:1px solid rgba(0,0,0,.06)}.eso-absent-row[data-v-cb7e5e5e]:last-child{border-bottom:none}.eso-absent-name[data-v-cb7e5e5e]{font-size:.875rem;color:var(--text-dark)}.eso-add-btn[data-v-cb7e5e5e]{font-size:.78rem;font-weight:700;color:var(--primary);background:none;border:1.5px solid var(--primary);border-radius:6px;padding:.2rem .55rem;cursor:pointer;transition:all .15s}.eso-add-btn[data-v-cb7e5e5e]:hover:not(:disabled){background:var(--primary);color:#fff}.eso-add-btn[data-v-cb7e5e5e]:disabled{opacity:.5;cursor:not-allowed}.eso-mark-absent-btn[data-v-cb7e5e5e]{font-size:.72rem;font-weight:700;color:#dc2626;background:none;border:1.5px solid #FECACA;border-radius:6px;padding:.18rem .5rem;cursor:pointer;margin:0 .5rem .5rem;transition:all .15s;align-self:flex-end}.eso-mark-absent-btn[data-v-cb7e5e5e]:hover:not(:disabled){background:#fee2e2;border-color:#dc2626}.eso-mark-absent-btn[data-v-cb7e5e5e]:disabled{opacity:.5;cursor:not-allowed}.eso-absent-toggle[data-v-cb7e5e5e]{background:#fef2f2;border:1.5px solid #FECACA;border-radius:10px;padding:.75rem 1rem}.eso-absent-toggle.active[data-v-cb7e5e5e]{border-color:#dc2626}.eso-absent-toggle-label[data-v-cb7e5e5e]{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;color:#dc2626;cursor:pointer}.eso-absent-toggle-label input[type=checkbox][data-v-cb7e5e5e]{width:16px;height:16px;cursor:pointer;accent-color:#DC2626}.eso-absent-credit-row[data-v-cb7e5e5e]{margin-top:.75rem;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.eso-absent-credit-label[data-v-cb7e5e5e]{font-size:.82rem;font-weight:600;color:#b91c1c;flex:1;min-width:160px}.eso-absent-credit-hint[data-v-cb7e5e5e]{font-weight:400;color:#dc2626;opacity:.7;font-size:.75rem;margin-left:.25rem}.eso-loading[data-v-cb7e5e5e]{text-align:center;color:var(--text-gray);padding:2rem;font-size:.9rem}.eso-error[data-v-cb7e5e5e]{padding:.75rem;background:#fff5f5;border:1px solid #ffcdd2;border-radius:8px;color:#c62828;font-size:.875rem}.eso-footer[data-v-cb7e5e5e]{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.75rem;border-top:2px solid var(--border-soft);flex-shrink:0;gap:.75rem;flex-wrap:wrap}.eso-footer-right[data-v-cb7e5e5e]{display:flex;gap:.625rem;flex-wrap:wrap}@media (max-width: 500px){.eso-footer[data-v-cb7e5e5e]{flex-direction:column;align-items:stretch;padding:.875rem 1.25rem}.eso-footer-right[data-v-cb7e5e5e]{flex-direction:column;gap:.5rem}.eso-footer .btn[data-v-cb7e5e5e],.eso-footer .btn-danger-outline[data-v-cb7e5e5e]{width:100%;justify-content:center}}.btn-danger-outline[data-v-cb7e5e5e]{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .875rem;border:1.5px solid #FECACA;border-radius:8px;background:none;color:#dc2626;font-size:.82rem;font-weight:700;cursor:pointer;transition:all .15s}.btn-danger-outline[data-v-cb7e5e5e]:hover:not(:disabled){background:#fef2f2;border-color:#dc2626}.btn-danger-outline[data-v-cb7e5e5e]:disabled{opacity:.5;cursor:not-allowed}.eso-delete-confirm[data-v-cb7e5e5e]{padding:1rem 1.75rem 1.25rem;border-top:1px solid #FECACA;background:#fff5f5;border-radius:0 0 16px 16px}.eso-delete-confirm p[data-v-cb7e5e5e]{margin:0 0 .875rem;font-size:.875rem;color:#991b1b;font-weight:600}.eso-delete-actions[data-v-cb7e5e5e]{display:flex;gap:.75rem;justify-content:flex-end}.eso-overflow-pill[data-v-cb7e5e5e]{font-size:.72rem;font-weight:700;color:#c62828;background:#fff5f5;padding:.1rem .5rem;border-radius:10px;text-transform:none;letter-spacing:0}.eso-split-tag[data-v-cb7e5e5e]{font-size:.68rem;font-weight:700;color:#1d4ed8;background:#1d4ed81a;padding:.1rem .4rem;border-radius:4px;margin-left:.3rem}.eso-split-section[data-v-cb7e5e5e]{border:1.5px solid var(--border-soft);border-radius:8px;padding:.625rem .75rem;margin-bottom:.5rem;background:#fff}.eso-split-secondary[data-v-cb7e5e5e]{background:#2d6a4f0a;border-color:#2d6a4f40}.eso-split-section-label[data-v-cb7e5e5e]{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--text-gray);margin-bottom:.5rem}.eso-dur-row[data-v-cb7e5e5e]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.eso-split-panel[data-v-cb7e5e5e]{background:#f0fdf4;border:1.5px solid #86efac;border-radius:10px;padding:.875rem 1rem;margin-bottom:.5rem}.eso-split-panel-label[data-v-cb7e5e5e]{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#15803d;margin-bottom:.625rem;display:flex;flex-direction:column;gap:.2rem}.eso-split-calc[data-v-cb7e5e5e]{font-size:.75rem;font-weight:500;text-transform:none;letter-spacing:0;color:#166534;opacity:.9}.eso-status-row[data-v-cb7e5e5e]{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.3rem}.eso-status-btn[data-v-cb7e5e5e]{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .7rem;border-radius:7px;border:1.5px solid;font-family:DM Sans,sans-serif;font-size:.78rem;font-weight:700;cursor:pointer;transition:all .15s;white-space:nowrap}.eso-status-absent[data-v-cb7e5e5e]{border-color:#fecaca;background:#fff;color:#dc2626}.eso-status-absent[data-v-cb7e5e5e]:hover{background:#fef2f2}.eso-status-absent.active[data-v-cb7e5e5e]{background:#dc2626;border-color:#dc2626;color:#fff}.eso-status-other[data-v-cb7e5e5e]{border-color:#fde68a;background:#fff;color:#d97706}.eso-status-other[data-v-cb7e5e5e]:hover{background:#fffbeb}.eso-status-other.active[data-v-cb7e5e5e]{background:#d97706;border-color:#d97706;color:#fff}.eso-status-present[data-v-cb7e5e5e]{border-color:#bbf7d0;background:#fff;color:#15803d}.eso-status-present[data-v-cb7e5e5e]:hover{background:#f0fdf4}.eso-status-present.active[data-v-cb7e5e5e]{background:#15803d;border-color:#15803d;color:#fff}.eso-other-fields[data-v-cb7e5e5e]{display:flex;gap:.65rem;flex-wrap:wrap;align-items:flex-end;margin-top:.5rem;padding:.6rem .75rem;background:#fffbeb;border:1.5px solid #FDE68A;border-radius:8px}.eso-other-field[data-v-cb7e5e5e]{display:flex;flex-direction:column;gap:.2rem}.eso-other-wide[data-v-cb7e5e5e]{flex:1;min-width:160px}.eso-other-label[data-v-cb7e5e5e]{font-size:.72rem;font-weight:700;color:#92400e}.eso-other-hint[data-v-cb7e5e5e]{font-weight:400;opacity:.7;font-size:.7rem;margin-left:.1rem}.eso-other-input-sm[data-v-cb7e5e5e]{width:68px;padding:.27rem .45rem;border:1.5px solid #FDE68A;border-radius:6px;font-family:DM Sans,sans-serif;font-size:.85rem}.eso-other-input-sm[data-v-cb7e5e5e]:focus{outline:none;border-color:#d97706}.eso-other-input[data-v-cb7e5e5e]{width:100%;padding:.27rem .6rem;box-sizing:border-box;border:1.5px solid #FDE68A;border-radius:6px;font-family:DM Sans,sans-serif;font-size:.85rem}.eso-other-input[data-v-cb7e5e5e]:focus{outline:none;border-color:#d97706}.eso-mark-btn[data-v-cb7e5e5e]{display:inline-flex;align-items:center;gap:.25rem;padding:.22rem .6rem;border-radius:6px;border:1.5px solid;font-family:DM Sans,sans-serif;font-size:.72rem;font-weight:700;cursor:pointer;transition:all .15s}.eso-mark-absent[data-v-cb7e5e5e]{border-color:#fecaca;background:#fff;color:#dc2626}.eso-mark-absent[data-v-cb7e5e5e]:hover{background:#fef2f2}.eso-mark-other[data-v-cb7e5e5e]{border-color:#fde68a;background:#fff;color:#d97706}.eso-mark-other[data-v-cb7e5e5e]:hover{background:#fffbeb}.eso-inline-absence[data-v-cb7e5e5e]{padding:.625rem .75rem;background:#fef2f2;border:1.5px solid #FECACA;border-radius:8px;margin-top:.375rem}.eso-inline-absence-actions[data-v-cb7e5e5e]{display:flex;gap:.5rem;margin-top:.625rem}.eso-split-btn[data-v-cb7e5e5e]{display:inline-flex;align-items:center;gap:.3rem;padding:.35rem .65rem;border:1.5px solid var(--border-soft);border-radius:6px;background:#fff;font-family:DM Sans,sans-serif;font-size:.75rem;font-weight:700;color:var(--text-gray);cursor:pointer;align-self:flex-end;transition:all .15s;white-space:nowrap}.eso-split-btn[data-v-cb7e5e5e]:hover{border-color:var(--primary);color:var(--primary)}.eso-split-btn.active[data-v-cb7e5e5e]{background:#2d6a4f14;border-color:var(--primary);color:var(--primary)}.eso-select-sm[data-v-cb7e5e5e]{width:100%;padding:.4rem .5rem;border:1.5px solid var(--border-soft);border-radius:6px;font-family:DM Sans,sans-serif;font-size:.82rem;color:var(--text-dark);background:#fff;box-sizing:border-box}.eso-select-sm[data-v-cb7e5e5e]:focus{outline:none;border-color:var(--primary)}.eso-split-total[data-v-cb7e5e5e]{font-size:.75rem;font-weight:600;color:var(--text-gray);margin-top:.375rem}.eso-split-over[data-v-cb7e5e5e]{color:#c62828;font-weight:700}.acc-row-3[data-v-cb7e5e5e]{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem .75rem;background:var(--bg-cream, #F8F4EF);border-radius:8px;border:1px solid var(--border-soft, #E2E8F0);margin-bottom:.4rem;flex-wrap:wrap}.acc-row-info[data-v-cb7e5e5e]{display:flex;flex-direction:column;gap:.15rem;flex:1;min-width:120px}.acc-toggle-group[data-v-cb7e5e5e]{display:flex;gap:.3rem;flex-shrink:0}.acc-tog[data-v-cb7e5e5e]{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .6rem;border-radius:6px;border:1.5px solid var(--border-soft, #E2E8F0);background:#fff;font-family:DM Sans,sans-serif;font-size:.72rem;font-weight:700;color:var(--text-gray, #64748B);cursor:pointer;transition:all .15s;white-space:nowrap}.acc-tog-on[data-v-cb7e5e5e]{background:#dcfce7;border-color:#16a34a;color:#15803d}.acc-tog-refused-on[data-v-cb7e5e5e]{background:#fee2e2;border-color:#dc2626;color:#dc2626}.acc-tog-none[data-v-cb7e5e5e]{min-width:28px;justify-content:center}.acc-tog-none-on[data-v-cb7e5e5e]{background:var(--bg-cream, #F8F4EF);border-color:#94a3b8;color:#64748b}.classroom-view-page[data-v-ad983997]{display:grid;grid-template-columns:260px 1fr;min-height:100vh;background:var(--bg-cream);position:relative}.main-content[data-v-ad983997]{padding:2rem;overflow-y:auto}.mobile-menu-toggle[data-v-ad983997]{display:none;position:fixed;top:1rem;left:1rem;z-index:999;width:48px;height:48px;background:var(--primary);border:none;border-radius:12px;color:#fff;cursor:pointer;box-shadow:0 4px 12px #00000026;transition:all .3s;align-items:center;justify-content:center}.mobile-menu-toggle[data-v-ad983997]:hover{background:var(--primary-dark);transform:scale(1.05)}.mobile-overlay[data-v-ad983997]{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:998;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.header[data-v-ad983997]{display:flex;flex-direction:column;gap:.875rem;margin-bottom:2rem}.header-left[data-v-ad983997]{display:flex;flex-direction:column;gap:.35rem;min-width:0}.header-actions[data-v-ad983997],.header-btn-group[data-v-ad983997]{display:flex;align-items:center;gap:.375rem;flex-wrap:wrap}.header-btn-divider[data-v-ad983997]{width:1px;height:26px;background:var(--border-soft, #E8E3DC);flex-shrink:0;align-self:center}.back-btn[data-v-ad983997]{display:inline-flex;align-items:center;gap:.4rem;border:none;background:none;color:var(--text-gray);font-size:.875rem;font-weight:600;font-family:DM Sans,sans-serif;cursor:pointer;padding:0;transition:color .2s}.back-btn[data-v-ad983997]:hover{color:var(--primary)}.header h2[data-v-ad983997]{font-size:2.25rem;font-weight:800;margin-bottom:.25rem;color:var(--text-dark)}.header p[data-v-ad983997]{color:var(--text-gray);font-size:1.05rem}.tabs[data-v-ad983997]{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:2px solid var(--border-soft)}.tab[data-v-ad983997]{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;background:none;cursor:pointer;font-weight:600;font-family:DM Sans,sans-serif;font-size:.95rem;color:var(--text-gray);border-bottom:3px solid transparent;margin-bottom:-2px;transition:all .25s}.tab.active[data-v-ad983997]{color:var(--primary);border-bottom-color:var(--primary)}.tab svg[data-v-ad983997]{opacity:.6}.tab.active svg[data-v-ad983997]{opacity:1}.sessions-tab[data-v-ad983997]{padding:1.25rem 1.5rem}.sessions-loading[data-v-ad983997],.sessions-empty[data-v-ad983997]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;color:var(--text-gray);font-size:.9rem;text-align:center}.sessions-list[data-v-ad983997]{display:flex;flex-direction:column;gap:0;border:1.5px solid var(--border-soft);border-radius:10px;overflow:hidden}.session-history-row[data-v-ad983997]{display:flex;flex-direction:column;padding:.75rem 1rem;border-bottom:1px solid var(--border-soft);font-size:.875rem;transition:background .15s;gap:.2rem}.session-history-row[data-v-ad983997]:last-child{border-bottom:none}.session-history-row[data-v-ad983997]:hover{background:#f8faf9}.sh-main[data-v-ad983997]{display:flex;align-items:center;gap:.5rem;min-width:0}.sh-primary[data-v-ad983997]{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0;flex-wrap:wrap}.sh-date[data-v-ad983997]{color:var(--text-gray);font-size:.78rem;white-space:nowrap;flex-shrink:0}.sh-type[data-v-ad983997]{font-weight:600;color:var(--text-dark);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.sh-duration[data-v-ad983997]{font-weight:700;color:var(--primary);white-space:nowrap;flex-shrink:0}.sh-secondary[data-v-ad983997]{display:flex;gap:.75rem;align-items:baseline;min-width:0;padding-left:.1rem}.sh-provider[data-v-ad983997]{color:var(--text-gray);font-size:.78rem;white-space:nowrap;flex-shrink:0}.sh-notes[data-v-ad983997]{font-size:.78rem;color:var(--text-gray);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}.sh-edit-btn[data-v-ad983997]{background:none;border:none;cursor:pointer;color:var(--text-gray);padding:.3rem;border-radius:4px;display:flex;align-items:center;transition:color .15s;flex-shrink:0;margin-left:auto}.sh-edit-btn[data-v-ad983997]:hover{color:var(--primary)}.student-list[data-v-ad983997]{display:flex;flex-direction:column;gap:1rem}.empty-students[data-v-ad983997]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;color:var(--text-gray)}.empty-students svg[data-v-ad983997]{opacity:.25;margin-bottom:1.5rem}.empty-students h3[data-v-ad983997]{font-size:1.25rem;font-weight:700;color:var(--text-dark);margin-bottom:.5rem}.settings-tab[data-v-ad983997]{display:flex;flex-direction:column;gap:1.5rem;max-width:680px}.settings-card[data-v-ad983997]{background:#fff;border-radius:16px;box-shadow:0 2px 8px #00000012;overflow:hidden}.settings-card-header[data-v-ad983997]{padding:1.5rem 1.75rem 1rem;border-bottom:1px solid var(--border-soft)}.settings-card-title[data-v-ad983997]{display:flex;align-items:center;gap:.65rem;margin-bottom:.4rem}.settings-card-title svg[data-v-ad983997]{color:var(--primary);flex-shrink:0}.settings-card-title h3[data-v-ad983997]{font-size:1.1rem;font-weight:700;color:var(--text-dark);margin:0}.settings-card-subtitle[data-v-ad983997]{color:var(--text-gray);font-size:.875rem;margin:0}.settings-form[data-v-ad983997]{padding:1.75rem;display:flex;flex-direction:column;gap:1.25rem}.form-row[data-v-ad983997]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group[data-v-ad983997]{display:flex;flex-direction:column;gap:.4rem}.form-group label[data-v-ad983997]{font-size:.875rem;font-weight:600;color:var(--text-dark)}.required[data-v-ad983997]{color:var(--error)}.form-group input[data-v-ad983997],.form-group select[data-v-ad983997]{padding:.75rem 1rem;border:2px solid var(--border-soft);border-radius:8px;font-size:.95rem;font-family:DM Sans,sans-serif;background:#fff;color:var(--text-dark);transition:border-color .2s}.form-group input[data-v-ad983997]:focus,.form-group select[data-v-ad983997]:focus{outline:none;border-color:var(--primary)}.form-group input.error[data-v-ad983997]{border-color:var(--error)}.form-group input[data-v-ad983997]:disabled,.form-group select[data-v-ad983997]:disabled{opacity:.6;cursor:not-allowed}.form-hint[data-v-ad983997]{font-size:.8rem;color:var(--text-gray)}.error-msg[data-v-ad983997]{font-size:.8rem;color:var(--error)}.form-actions[data-v-ad983997]{display:flex;justify-content:flex-end;gap:.75rem;padding-top:.5rem;border-top:1px solid var(--border-soft);margin-top:.5rem}.qr-section[data-v-ad983997]{padding:1.75rem;display:flex;align-items:center;gap:2rem}.qr-preview[data-v-ad983997]{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem;background:var(--bg-cream);border-radius:12px;flex-shrink:0}.qr-icon[data-v-ad983997]{color:var(--primary);opacity:.7}.qr-url[data-v-ad983997]{font-size:.75rem;color:var(--text-gray);word-break:break-all;text-align:center;max-width:180px;margin:0}.qr-actions[data-v-ad983997]{display:flex;flex-direction:column;gap:.75rem}.qr-actions .btn[data-v-ad983997]{justify-content:center}.danger-card .settings-card-header[data-v-ad983997]{border-bottom-color:#fde8e4}.danger-card .settings-card-title h3[data-v-ad983997]{color:var(--error)}.danger-card .settings-card-title svg[data-v-ad983997]{color:var(--error)}.danger-actions[data-v-ad983997]{padding:1.75rem}.danger-action-row[data-v-ad983997]{display:flex;align-items:center;justify-content:space-between;gap:2rem}.danger-action-info strong[data-v-ad983997]{display:block;font-size:.95rem;color:var(--text-dark);margin-bottom:.35rem}.danger-action-info p[data-v-ad983997]{font-size:.875rem;color:var(--text-gray);margin:0;line-height:1.5}.btn[data-v-ad983997]{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border-radius:8px;border:none;font-weight:600;font-size:.95rem;font-family:DM Sans,sans-serif;cursor:pointer;transition:all .2s}.btn[data-v-ad983997]:disabled{opacity:.6;cursor:not-allowed}.btn-primary[data-v-ad983997]{background:var(--primary);color:#fff}.btn-primary[data-v-ad983997]:hover:not(:disabled){background:var(--primary-dark)}.btn-secondary[data-v-ad983997]{background:var(--bg-cream);color:var(--text-dark);border:1.5px solid var(--border-soft)}.btn-secondary[data-v-ad983997]:hover:not(:disabled){background:var(--bg-cream);border-color:var(--primary);color:var(--primary)}.btn-danger[data-v-ad983997]{background:var(--error);color:#fff}.btn-danger[data-v-ad983997]:hover:not(:disabled){opacity:.85}.spinner[data-v-ad983997]{width:48px;height:48px;border:4px solid var(--border-soft);border-top-color:var(--primary);border-radius:50%;animation:spin-ad983997 .8s linear infinite;margin-bottom:1rem}.spinner-sm[data-v-ad983997]{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin-ad983997 .7s linear infinite}@keyframes spin-ad983997{to{transform:rotate(360deg)}}.loading-state[data-v-ad983997]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:var(--text-gray)}.modal-overlay[data-v-ad983997]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.confirm-dialog[data-v-ad983997]{background:#fff;border-radius:16px;padding:2rem;width:100%;max-width:440px;box-shadow:0 20px 60px #0003;text-align:center}.confirm-icon[data-v-ad983997]{width:60px;height:60px;border-radius:50%;background:#fff3f0;color:var(--error);display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem}.confirm-dialog h3[data-v-ad983997]{font-size:1.25rem;font-weight:700;color:var(--text-dark);margin-bottom:.75rem}.confirm-dialog>p[data-v-ad983997]{color:var(--text-gray);line-height:1.6;margin-bottom:1.5rem}.confirm-input-wrap[data-v-ad983997]{text-align:left;margin-bottom:1.75rem}.confirm-input-wrap label[data-v-ad983997]{display:block;font-size:.875rem;color:var(--text-gray);margin-bottom:.5rem}.confirm-input[data-v-ad983997]{width:100%;padding:.75rem 1rem;border:2px solid var(--border-soft);border-radius:8px;font-size:.95rem;font-family:DM Sans,sans-serif;transition:border-color .2s;box-sizing:border-box}.confirm-input[data-v-ad983997]:focus{outline:none;border-color:var(--error)}.confirm-actions[data-v-ad983997]{display:flex;gap:.75rem;justify-content:center}@media (max-width: 968px){.classroom-view-page[data-v-ad983997]{grid-template-columns:1fr}.mobile-menu-toggle[data-v-ad983997]{display:flex}.mobile-overlay[data-v-ad983997]{display:block}.main-content[data-v-ad983997]{padding:5rem 1rem 1rem}.header[data-v-ad983997]{gap:.75rem}.header h2[data-v-ad983997]{font-size:1.6rem}.header-actions[data-v-ad983997]{gap:.375rem}.header-btn-group[data-v-ad983997]{flex-wrap:wrap;gap:.375rem}.header-btn-group .btn[data-v-ad983997]{flex:1 1 auto;justify-content:center;min-width:100px;font-size:.78rem;padding:.4rem .6rem}.header-btn-divider[data-v-ad983997]{width:100%;height:1px;align-self:auto}.btn-class-session[data-v-ad983997]{flex:1 1 100%}.settings-tab[data-v-ad983997]{max-width:100%}.qr-section[data-v-ad983997]{flex-direction:column;align-items:stretch}.qr-preview[data-v-ad983997]{align-self:center}.danger-action-row[data-v-ad983997]{flex-direction:column;align-items:flex-start;gap:1rem}}@media (max-width: 640px){.form-row[data-v-ad983997]{grid-template-columns:1fr}.confirm-actions[data-v-ad983997]{flex-direction:column}.tabs[data-v-ad983997]{gap:0}.tab[data-v-ad983997]{flex:1;justify-content:center;padding:.75rem .5rem;font-size:.875rem}.student-count[data-v-ad983997]{text-align:center}}.schedule-builder[data-v-ad983997]{display:flex;flex-direction:column;gap:.75rem}.schedule-slot[data-v-ad983997]{display:grid;grid-template-columns:1.4fr 1fr 1fr auto;gap:.5rem;align-items:center}.schedule-slot select[data-v-ad983997],.schedule-slot input[type=time][data-v-ad983997]{padding:.625rem .75rem;border:2px solid var(--border-soft);border-radius:8px;font-size:.9rem;font-family:DM Sans,sans-serif;background:#fff;color:var(--text-dark);transition:border-color .2s;width:100%}.schedule-slot select[data-v-ad983997]:focus,.schedule-slot input[type=time][data-v-ad983997]:focus{outline:none;border-color:var(--primary)}.schedule-slot select[data-v-ad983997]:disabled,.schedule-slot input[type=time][data-v-ad983997]:disabled{opacity:.6;cursor:not-allowed}.btn-icon[data-v-ad983997]{width:36px;height:36px;padding:0;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:none;border:2px solid var(--border-soft);border-radius:8px;cursor:pointer;transition:all .2s;color:var(--text-gray)}.btn-icon[data-v-ad983997]:hover:not(:disabled){border-color:var(--error);color:var(--error);background:#fff3f0}.btn-icon[data-v-ad983997]:disabled{opacity:.5;cursor:not-allowed}.btn-small[data-v-ad983997]{padding:.625rem 1rem;font-size:.875rem;align-self:flex-start}@media (max-width: 640px){.schedule-slot[data-v-ad983997]{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}.schedule-slot select[data-v-ad983997]{grid-column:1 / -1}.btn-icon.btn-remove[data-v-ad983997]{grid-column:2;grid-row:2;justify-self:end}}.student-count[data-v-ad983997]{font-size:.9rem;font-weight:600;color:var(--text-gray);margin-bottom:1rem}.btn-sm[data-v-ad983997]{padding:.5rem 1rem;font-size:.875rem}.class-session-picker[data-v-ad983997]{background:#fff;border-radius:16px;max-width:560px;width:100%;padding:2rem;box-shadow:0 20px 60px #0003;max-height:90vh;display:flex;flex-direction:column;overflow-y:auto}.csp-chosen-row[data-v-ad983997]{display:flex;align-items:center;gap:.625rem;margin-bottom:1.25rem;padding-bottom:.875rem;border-bottom:1.5px solid var(--border-soft, #E2E8F0);flex-wrap:wrap}.csp-back-btn[data-v-ad983997]{display:inline-flex;align-items:center;gap:.25rem;background:none;border:1.5px solid var(--border-soft, #E2E8F0);border-radius:6px;padding:.3rem .6rem;font-size:.78rem;font-weight:600;color:var(--text-gray, #64748B);cursor:pointer;transition:all .15s;flex-shrink:0}.csp-back-btn[data-v-ad983997]:hover{border-color:var(--primary);color:var(--primary)}.csp-service-name[data-v-ad983997]{font-size:.95rem;font-weight:800;color:var(--text-dark, #1E293B);flex:1;min-width:0}.csp-student-count[data-v-ad983997]{font-size:.75rem;font-weight:600;color:var(--text-gray, #64748B);background:var(--bg-cream, #F8F4EF);padding:.2rem .55rem;border-radius:10px;flex-shrink:0}.csp-start-btn[data-v-ad983997]{width:100%;justify-content:center;font-size:1.05rem;padding:.875rem;border-radius:10px;margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.csp-divider[data-v-ad983997]{text-align:center;font-size:.72rem;font-weight:600;color:var(--text-gray, #94A3B8);letter-spacing:.05em;text-transform:uppercase;margin:.625rem 0;position:relative}.csp-divider[data-v-ad983997]:before,.csp-divider[data-v-ad983997]:after{content:"";position:absolute;top:50%;width:calc(50% - 4.5rem);height:1px;background:var(--border-soft, #E2E8F0)}.csp-divider[data-v-ad983997]:before{left:0}.csp-divider[data-v-ad983997]:after{right:0}.csp-action-btn[data-v-ad983997]{width:100%;display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:10px;border:1.5px solid var(--border-soft, #E2E8F0);background:#fff;cursor:pointer;text-align:left;transition:all .15s;margin-bottom:.5rem}.csp-action-btn[data-v-ad983997]:hover:not(:disabled){border-color:var(--primary, #2D6A4F);background:var(--bg-cream, #F8F4EF)}.csp-action-btn[data-v-ad983997]:disabled{opacity:.55;cursor:not-allowed}.csp-action-btn.active[data-v-ad983997]{border-color:var(--primary, #2D6A4F);background:#2d6a4f0a}.csp-action-text[data-v-ad983997]{display:flex;flex-direction:column;gap:.1rem;flex:1}.csp-action-label[data-v-ad983997]{font-size:.9rem;font-weight:700;color:var(--text-dark, #1E293B)}.csp-action-sub[data-v-ad983997]{font-size:.72rem;color:var(--text-gray, #64748B)}.csp-absent-btn[data-v-ad983997]{border-color:#86efac}.csp-absent-btn[data-v-ad983997]:hover:not(:disabled){border-color:#16a34a;background:#16a34a0a}.csp-absent-btn svg[data-v-ad983997]{color:#16a34a;flex-shrink:0}.csp-other-btn svg[data-v-ad983997]{color:#d97706;flex-shrink:0}.csp-provider-btn svg[data-v-ad983997]{color:#7c3aed;flex-shrink:0}.csp-provider-btn[data-v-ad983997]{border-color:#ddd6fe}.csp-provider-btn[data-v-ad983997]:hover:not(:disabled){border-color:#7c3aed;background:#7c3aed0a}.csp-sub-panel[data-v-ad983997]{background:var(--bg-cream, #F8F4EF);border:1.5px solid var(--border-soft, #E2E8F0);border-radius:10px;padding:.875rem 1rem;margin-bottom:.5rem;display:flex;flex-direction:column;gap:.375rem}.csp-sub-label[data-v-ad983997]{font-size:.78rem;font-weight:700;color:var(--text-dark, #1E293B)}.csp-optional[data-v-ad983997]{font-weight:400;color:var(--text-gray, #94A3B8)}.csp-sub-input[data-v-ad983997]{width:100px;padding:.5rem .625rem;border:1.5px solid var(--border-soft, #E2E8F0);border-radius:8px;font-size:.95rem;font-weight:700;text-align:center;font-family:inherit;box-sizing:border-box}.csp-sub-input[data-v-ad983997]:focus{outline:none;border-color:var(--primary, #2D6A4F)}.csp-sub-text[data-v-ad983997]{width:100%;padding:.5rem .625rem;border:1.5px solid var(--border-soft, #E2E8F0);border-radius:8px;font-size:.85rem;font-family:inherit;box-sizing:border-box}.csp-sub-text[data-v-ad983997]:focus{outline:none;border-color:var(--primary, #2D6A4F)}.csp-sub-submit[data-v-ad983997]{margin-top:.375rem;width:100%;justify-content:center}@media (max-width: 480px){.class-session-picker[data-v-ad983997]{padding:1.25rem}.csp-chosen-row[data-v-ad983997]{flex-wrap:wrap}}.picker-header[data-v-ad983997]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;flex-shrink:0}.picker-header h3[data-v-ad983997]{font-size:1.3rem;font-weight:800;margin:0}.picker-hint[data-v-ad983997]{font-size:.875rem;color:var(--text-gray);margin-bottom:1rem;line-height:1.5;flex-shrink:0}.picker-search[data-v-ad983997]{display:flex;align-items:center;gap:.5rem;padding:.6rem .875rem;border:1.5px solid var(--border-soft);border-radius:8px;margin-bottom:1rem;flex-shrink:0;transition:border-color .2s}.picker-search[data-v-ad983997]:focus-within{border-color:var(--primary)}.picker-search svg[data-v-ad983997]{fill:var(--text-gray);flex-shrink:0;transition:fill .2s}.picker-search:focus-within svg[data-v-ad983997]{fill:var(--primary)}.picker-search input[data-v-ad983997]{flex:1;border:none;outline:none;font-family:DM Sans,sans-serif;font-size:.875rem;color:var(--text-dark);background:transparent}.picker-search input[data-v-ad983997]::placeholder{color:var(--text-gray)}.picker-group-label[data-v-ad983997]{grid-column:1 / -1;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--text-gray);padding:.5rem 0 .25rem;border-bottom:1px solid var(--border-soft);margin-bottom:.25rem}.picker-no-results[data-v-ad983997]{grid-column:1 / -1;text-align:center;color:var(--text-gray);font-size:.875rem;padding:1.5rem 0}.service-type-grid[data-v-ad983997]{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.625rem;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-right:.25rem}.service-type-btn[data-v-ad983997]{padding:.75rem .875rem;border:2px solid var(--border-soft);border-radius:10px;background:#fff;font-family:DM Sans,sans-serif;font-size:.875rem;font-weight:600;cursor:pointer;text-align:left;transition:all .15s;color:var(--text-dark)}.service-type-btn[data-v-ad983997]:hover{border-color:var(--primary);background:#2d6a4f0d;color:var(--primary)}@media (max-width: 640px){.modal-overlay.picker-overlay[data-v-ad983997]{align-items:flex-end;padding:0}.class-session-picker[data-v-ad983997]{border-radius:20px 20px 0 0;max-width:100%;max-height:80vh;padding:1.5rem 1.25rem 2rem}.service-type-grid[data-v-ad983997]{grid-template-columns:1fr 1fr;max-height:55vh}.service-type-btn[data-v-ad983997]{font-size:.8rem;padding:.75rem .625rem;text-align:center}}.close-btn[data-v-ad983997]{background:none;border:none;color:var(--text-gray);cursor:pointer;padding:.25rem;display:flex}.btn-sm-icon[data-v-ad983997]{padding:.45rem .75rem;font-size:.825rem;gap:.3rem}.leave-session-overlay[data-v-ad983997]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:9500;padding:1rem}.leave-session-modal[data-v-ad983997]{background:#fff;border-radius:20px;padding:2.5rem 2rem;max-width:420px;width:100%;box-shadow:0 32px 80px #0000004d;text-align:center;display:flex;flex-direction:column;align-items:center;gap:0}.lsm-icon[data-v-ad983997]{width:64px;height:64px;border-radius:50%;background:#fef3c7;color:#d97706;display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem;flex-shrink:0}.leave-session-modal h3[data-v-ad983997]{font-size:1.3rem;font-weight:800;color:var(--text-dark);margin:0 0 .75rem}.leave-session-modal p[data-v-ad983997]{font-size:.9rem;color:var(--text-gray);line-height:1.6;margin:0 0 1.75rem}.lsm-actions[data-v-ad983997]{display:flex;gap:.75rem;width:100%}.lsm-actions .btn[data-v-ad983997]{flex:1;justify-content:center}.lsm-leave-btn[data-v-ad983997]{background:#dc2626;color:#fff;border:none}.lsm-leave-btn[data-v-ad983997]:hover{background:#b91c1c}.cv-confirm-overlay[data-v-ad983997]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;padding:1rem}.cv-confirm-modal[data-v-ad983997]{background:#fff;border-radius:16px;padding:2rem;max-width:400px;width:100%;box-shadow:0 24px 64px #00000040;text-align:center}.cv-confirm-icon[data-v-ad983997]{width:52px;height:52px;border-radius:50%;background:#fff7ed;color:#ea580c;display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem}.cv-confirm-modal h3[data-v-ad983997]{font-size:1.2rem;font-weight:800;margin:0 0 .75rem}.cv-confirm-modal p[data-v-ad983997]{font-size:.875rem;color:#555;line-height:1.6;margin:0 0 1.5rem}.cv-confirm-actions[data-v-ad983997]{display:flex;gap:.75rem;justify-content:center}.cv-remove-confirm-btn[data-v-ad983997]{background:#ea580c;color:#fff;border:none;padding:.6rem 1.4rem;border-radius:8px;font-weight:700;font-size:.875rem;cursor:pointer;font-family:inherit;transition:background .15s}.cv-remove-confirm-btn[data-v-ad983997]:hover:not(:disabled){background:#c2410c}.cv-remove-confirm-btn[data-v-ad983997]:disabled{opacity:.6;cursor:not-allowed}.cv-fade-enter-active[data-v-ad983997],.cv-fade-leave-active[data-v-ad983997]{transition:opacity .2s}.cv-fade-enter-from[data-v-ad983997],.cv-fade-leave-to[data-v-ad983997]{opacity:0}.btn-unavailable-cls[data-v-ad983997]{background:#fefce8;color:#a16207;border:1.5px solid #fde047!important}.btn-unavailable-cls[data-v-ad983997]:hover{background:#fef9c3}.btn-unavailable-cls.active[data-v-ad983997]{background:#a16207;color:#fff;border-color:#a16207!important}.cls-absence-panel[data-v-ad983997]{margin:.75rem 1.5rem .25rem;background:#fffbeb;border:1.5px solid #fde68a;border-radius:12px;padding:1rem 1.125rem;display:flex;flex-direction:column;gap:.75rem}.aip-header[data-v-ad983997]{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.aip-title[data-v-ad983997]{font-size:.875rem;font-weight:800;color:#92400e;display:block}.aip-subtitle[data-v-ad983997]{font-size:.75rem;color:#b45309}.aip-close[data-v-ad983997]{background:none;border:none;color:#b45309;cursor:pointer;font-size:1rem;padding:0}.aip-fields[data-v-ad983997]{display:flex;gap:.75rem;flex-wrap:wrap}.aip-field[data-v-ad983997]{display:flex;flex-direction:column;gap:.2rem;flex:1;min-width:120px}.aip-label[data-v-ad983997]{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#92400e}.aip-input[data-v-ad983997]{padding:.4rem .625rem;border:1.5px solid #fde68a;border-radius:7px;font-family:DM Sans,sans-serif;font-size:.875rem;background:#fff;width:100%;box-sizing:border-box}.aip-input[data-v-ad983997]:focus{outline:none;border-color:#d97706}.aip-input-sm[data-v-ad983997]{max-width:110px}.aip-type-row[data-v-ad983997]{display:flex;gap:.35rem}.aip-type-btn[data-v-ad983997]{padding:.3rem .65rem;border-radius:7px;border:1.5px solid #fde68a;background:#fff;font-family:DM Sans,sans-serif;font-size:.78rem;font-weight:600;cursor:pointer;color:#92400e;transition:all .15s}.aip-type-btn.active[data-v-ad983997]{background:#d97706;border-color:#d97706;color:#fff}.aip-error[data-v-ad983997]{font-size:.78rem;color:#dc2626;margin:0}.aip-actions[data-v-ad983997]{display:flex;gap:.5rem}.docs-page[data-v-8335621a]{display:flex;flex-direction:column;min-height:100vh}.docs-layout[data-v-8335621a]{display:flex;flex:1;background:#fafaf9;font-family:Georgia,serif}.docs-sidebar[data-v-8335621a]{width:260px;min-width:260px;background:#fff;border-right:1px solid #E8E3DC;position:sticky;top:65px;height:calc(100vh - 65px);overflow-y:auto;display:flex;flex-direction:column;z-index:100;scrollbar-width:thin}.sidebar-header[data-v-8335621a]{padding:1.5rem 1.25rem 1rem;border-bottom:1px solid #F0EDE8;display:flex;align-items:center;gap:.75rem}.sidebar-logo[data-v-8335621a]{font-family:Outfit,sans-serif;font-size:1.25rem;font-weight:800;line-height:1;text-decoration:none}.logo-sp[data-v-8335621a]{color:#2d6a4f}.logo-easy[data-v-8335621a]{color:#f4a261}.sidebar-tag[data-v-8335621a]{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#999;background:#f5f3ef;padding:.2rem .5rem;border-radius:4px}.sidebar-nav[data-v-8335621a]{padding:.75rem 0;flex:1}.nav-section[data-v-8335621a]{margin-bottom:.25rem}.nav-section-btn[data-v-8335621a]{display:flex;align-items:center;gap:.6rem;width:100%;padding:.6rem 1.25rem;background:none;border:none;text-align:left;font-family:DM Sans,sans-serif;font-size:.875rem;font-weight:600;color:#444;cursor:pointer;border-radius:0;transition:background .15s,color .15s}.nav-section-btn[data-v-8335621a]:hover{background:#f5f3ef;color:#2d6a4f}.nav-section-btn.active[data-v-8335621a]{color:#2d6a4f;background:#edf7f2}.nav-icon[data-v-8335621a]{font-size:.95rem;flex-shrink:0}.nav-sub[data-v-8335621a]{padding:.15rem 0 .35rem 2.75rem;display:flex;flex-direction:column;gap:.05rem}.nav-sub-btn[data-v-8335621a]{background:none;border:none;text-align:left;padding:.35rem .75rem;font-family:DM Sans,sans-serif;font-size:.8rem;color:#777;cursor:pointer;border-radius:6px;transition:background .12s,color .12s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-sub-btn[data-v-8335621a]:hover{background:#f5f3ef;color:#2d6a4f}.nav-sub-btn.active[data-v-8335621a]{color:#2d6a4f;font-weight:700;background:#edf7f2}.docs-main[data-v-8335621a]{flex:1;min-width:0;padding:0}.docs-hero[data-v-8335621a]{padding:3rem 3.5rem 2.5rem;border-bottom:1px solid #E8E3DC;background:#fff}.docs-hero-label[data-v-8335621a]{font-family:DM Sans,sans-serif;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#2d6a4f;display:block;margin-bottom:.5rem}.docs-hero h1[data-v-8335621a]{font-size:2.25rem;font-weight:800;font-family:DM Sans,sans-serif;color:#1a1a1a;margin-bottom:.5rem}.docs-hero p[data-v-8335621a]{color:#666;font-family:DM Sans,sans-serif;margin-bottom:1.5rem}.search-bar[data-v-8335621a]{display:flex;align-items:center;gap:.625rem;max-width:520px;background:#f8f6f2;border:1.5px solid #E0DDD7;border-radius:12px;padding:.625rem 1rem;transition:border-color .15s}.search-bar[data-v-8335621a]:focus-within{border-color:#2d6a4f;background:#fff}.search-icon[data-v-8335621a]{font-size:1rem;flex-shrink:0}.search-input[data-v-8335621a]{flex:1;border:none;background:transparent;font-family:DM Sans,sans-serif;font-size:.95rem;color:#1a1a1a;outline:none}.search-input[data-v-8335621a]::placeholder{color:#aaa}.search-clear[data-v-8335621a]{background:none;border:none;color:#aaa;cursor:pointer;font-size:.85rem;padding:0 .25rem;line-height:1;transition:color .15s}.search-clear[data-v-8335621a]:hover{color:#555}.no-results[data-v-8335621a]{margin-top:.875rem;font-family:DM Sans,sans-serif;font-size:.9rem;color:#888}.search-results-note[data-v-8335621a]{margin-top:.625rem;font-family:DM Sans,sans-serif;font-size:.82rem;color:#2d6a4f}.docs-content[data-v-8335621a]{padding:2rem 3.5rem 4rem;max-width:860px}.doc-section[data-v-8335621a]{margin-bottom:4rem;padding-bottom:3rem;border-bottom:1px solid #F0EDE8}.doc-section[data-v-8335621a]:last-child{border-bottom:none}.section-badge[data-v-8335621a]{display:inline-block;padding:.3rem .875rem;border-radius:20px;font-family:DM Sans,sans-serif;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;margin-bottom:.75rem}.doc-section h2[data-v-8335621a]{font-size:1.875rem;font-weight:800;font-family:DM Sans,sans-serif;color:#1a1a1a;margin-bottom:.625rem}.section-intro[data-v-8335621a]{font-size:1.05rem;color:#555;line-height:1.7;margin-bottom:1.75rem;font-family:DM Sans,sans-serif}.subsection[data-v-8335621a]{margin-bottom:2.25rem}.subsection h3[data-v-8335621a]{font-size:1.2rem;font-weight:700;font-family:DM Sans,sans-serif;color:#1a1a1a;margin-bottom:.875rem;padding-bottom:.5rem;border-bottom:2px solid #F0EDE8}.steps[data-v-8335621a]{padding-left:1.5rem;counter-reset:step;list-style:none}.steps li[data-v-8335621a]{counter-increment:step;position:relative;padding-left:2rem;margin-bottom:.75rem;font-family:DM Sans,sans-serif;font-size:.95rem;line-height:1.6;color:#333}.steps li[data-v-8335621a]:before{content:counter(step);position:absolute;left:0;top:.1em;width:1.4rem;height:1.4rem;background:#2d6a4f;color:#fff;border-radius:50%;font-size:.7rem;font-weight:800;display:flex;align-items:center;justify-content:center;font-family:DM Sans,sans-serif}.feature-list[data-v-8335621a]{padding-left:1.25rem;margin:.5rem 0 1rem}.feature-list li[data-v-8335621a]{margin-bottom:.5rem;font-family:DM Sans,sans-serif;font-size:.95rem;line-height:1.6;color:#333}.ui-el[data-v-8335621a]{display:inline-block;background:#f0ede8;border:1px solid #D8D3CC;border-radius:5px;padding:.1rem .45rem;font-family:DM Sans,sans-serif;font-size:.82rem;font-weight:700;color:#333}code[data-v-8335621a]{background:#f0ede8;border-radius:4px;padding:.1rem .4rem;font-size:.85rem;color:#2d6a4f}.doc-note[data-v-8335621a]{background:#f0f7f4;border-left:4px solid #2D6A4F;padding:.875rem 1rem;border-radius:0 8px 8px 0;font-family:DM Sans,sans-serif;font-size:.875rem;color:#2d4a3e;line-height:1.6;margin-top:1rem}.feature-table[data-v-8335621a]{border:1px solid #E8E3DC;border-radius:10px;overflow:hidden;font-family:DM Sans,sans-serif;font-size:.875rem}.ft-row[data-v-8335621a]{display:grid;grid-template-columns:1fr 2fr;gap:0;padding:.7rem 1rem;border-bottom:1px solid #F0EDE8;line-height:1.5}.ft-row[data-v-8335621a]:last-child{border-bottom:none}.ft-row.header[data-v-8335621a]{background:#f8f5f0;font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:#777}a[data-v-8335621a]{color:#2d6a4f;font-weight:600;cursor:pointer}a[data-v-8335621a]:hover{text-decoration:underline}.sidebar-overlay[data-v-8335621a]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:99;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.overlay-fade-enter-active[data-v-8335621a],.overlay-fade-leave-active[data-v-8335621a]{transition:opacity .2s}.overlay-fade-enter-from[data-v-8335621a],.overlay-fade-leave-to[data-v-8335621a]{opacity:0}.sidebar-toggle[data-v-8335621a]{display:none;position:fixed;bottom:1.5rem;right:1.5rem;width:48px;height:48px;background:#2d6a4f;border:none;border-radius:50%;cursor:pointer;z-index:200;flex-direction:column;align-items:center;justify-content:center;gap:5px;box-shadow:0 4px 16px #2d6a4f59}.sidebar-toggle span[data-v-8335621a]{display:block;width:20px;height:2px;background:#fff;border-radius:2px;transition:transform .2s,opacity .2s}@media (max-width: 900px){.docs-sidebar[data-v-8335621a]{position:fixed;left:0;top:65px;bottom:0;height:calc(100vh - 65px);transform:translate(-100%);transition:transform .28s cubic-bezier(.4,0,.2,1);z-index:100}.docs-sidebar.open[data-v-8335621a]{transform:translate(0)}.sidebar-toggle[data-v-8335621a]{display:flex}.docs-hero[data-v-8335621a]{padding:2rem 1.5rem 1.75rem}.docs-hero h1[data-v-8335621a]{font-size:1.75rem}.docs-content[data-v-8335621a]{padding:1.5rem 1.5rem 3rem}.doc-section h2[data-v-8335621a]{font-size:1.5rem}.ft-row[data-v-8335621a]{grid-template-columns:1fr;gap:.2rem}.ft-row.header span[data-v-8335621a]:last-child{display:none}}.toast-container[data-v-d4435439]{position:fixed;top:2rem;right:2rem;z-index:9999;display:flex;flex-direction:column;gap:1rem;max-width:400px}.toast[data-v-d4435439]{background:#fff;border-radius:12px;padding:1.25rem;box-shadow:0 10px 40px #00000026;display:flex;align-items:start;gap:1rem;border-left:4px solid;min-width:320px}.toast-success[data-v-d4435439]{border-left-color:var(--success)}.toast-error[data-v-d4435439]{border-left-color:var(--error)}.toast-warning[data-v-d4435439]{border-left-color:var(--warning)}.toast-info[data-v-d4435439]{border-left-color:var(--info)}.toast-icon[data-v-d4435439]{flex-shrink:0}.toast-success .toast-icon[data-v-d4435439]{color:var(--success)}.toast-error .toast-icon[data-v-d4435439]{color:var(--error)}.toast-warning .toast-icon[data-v-d4435439]{color:var(--warning)}.toast-info .toast-icon[data-v-d4435439]{color:var(--info)}.toast-content[data-v-d4435439]{flex:1}.toast-title[data-v-d4435439]{font-weight:700;font-size:1rem;margin-bottom:.25rem;color:var(--text-dark)}.toast-message[data-v-d4435439]{font-size:.9rem;color:var(--text-gray);line-height:1.5}.toast-close[data-v-d4435439]{background:none;border:none;font-size:1.5rem;color:var(--text-gray);cursor:pointer;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s;line-height:1;flex-shrink:0}.toast-close[data-v-d4435439]:hover{background:var(--bg-cream);color:var(--text-dark)}.toast-slide-enter-active[data-v-d4435439]{animation:toast-slide-in-d4435439 .3s ease-out}.toast-slide-leave-active[data-v-d4435439]{animation:toast-slide-out-d4435439 .3s ease-in}@keyframes toast-slide-in-d4435439{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes toast-slide-out-d4435439{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}@media (max-width: 640px){.toast-container[data-v-d4435439]{top:1rem;right:1rem;left:1rem;max-width:none}.toast[data-v-d4435439]{min-width:auto}}.session-overlay[data-v-63659e5b]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:99999;padding:1rem}.session-modal[data-v-63659e5b]{background:#fff;border-radius:18px;padding:2.25rem 2rem 1.75rem;width:100%;max-width:400px;box-shadow:0 24px 64px #00000040;text-align:center;animation:session-pop-63659e5b .2s ease-out}@keyframes session-pop-63659e5b{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}.session-icon[data-v-63659e5b]{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem}.session-icon--warn[data-v-63659e5b]{background:#fff7ed;color:#ea580c}.session-icon--expired[data-v-63659e5b]{background:#f0f9ff;color:#0284c7}.session-title[data-v-63659e5b]{font-size:1.2rem;font-weight:800;color:var(--text-dark, #1e293b);margin:0 0 .625rem}.session-body[data-v-63659e5b]{font-size:.9rem;color:var(--text-gray, #64748b);line-height:1.6;margin:0 0 1.75rem}.session-countdown[data-v-63659e5b]{font-size:1.05rem;font-weight:800;color:#ea580c;font-variant-numeric:tabular-nums;letter-spacing:.02em}.session-actions[data-v-63659e5b]{display:flex;gap:.75rem;justify-content:center}.btn[data-v-63659e5b]{display:inline-flex;align-items:center;gap:.4rem;padding:.75rem 1.375rem;border-radius:8px;border:none;font-weight:600;font-size:.9rem;font-family:DM Sans,sans-serif;cursor:pointer;transition:all .15s;white-space:nowrap}.btn[data-v-63659e5b]:disabled{opacity:.6;cursor:not-allowed}.btn-primary[data-v-63659e5b]{background:var(--primary, #2D6A4F);color:#fff}.btn-primary[data-v-63659e5b]:hover:not(:disabled){background:var(--primary-dark, #1B4332)}.btn-ghost[data-v-63659e5b]{background:transparent;color:var(--text-gray, #64748b);border:1.5px solid #e2e8f0}.btn-ghost[data-v-63659e5b]:hover:not(:disabled){border-color:var(--primary, #2D6A4F);color:var(--primary, #2D6A4F)}.spinner[data-v-63659e5b]{display:inline-block;width:13px;height:13px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-63659e5b .65s linear infinite}@keyframes spin-63659e5b{to{transform:rotate(360deg)}}.session-fade-enter-active[data-v-63659e5b],.session-fade-leave-active[data-v-63659e5b]{transition:opacity .25s ease}.session-fade-enter-from[data-v-63659e5b],.session-fade-leave-to[data-v-63659e5b]{opacity:0}@media (max-width: 480px){.session-modal[data-v-63659e5b]{padding:1.75rem 1.25rem 1.5rem}.session-actions[data-v-63659e5b]{flex-direction:column}.session-actions .btn[data-v-63659e5b]{width:100%;justify-content:center}}.tw-overlay[data-v-cac98e73]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem}.tw-card[data-v-cac98e73]{background:#fff;border-radius:24px;padding:2.5rem 2rem;max-width:480px;width:100%;text-align:center;box-shadow:0 24px 64px #0003}.tw-icon-wrap[data-v-cac98e73]{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}.tw-icon-wrap.notice[data-v-cac98e73]{background:#2d6a4f1f;color:#2d6a4f}.tw-icon-wrap.warning[data-v-cac98e73]{background:#f59e0b1f;color:#d97706}.tw-icon-wrap.urgent[data-v-cac98e73]{background:#ef44441f;color:#dc2626}.tw-days-badge[data-v-cac98e73]{display:inline-block;padding:.3rem 1rem;border-radius:20px;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;margin-bottom:1rem}.tw-days-badge.notice[data-v-cac98e73]{background:#2d6a4f1a;color:#2d6a4f}.tw-days-badge.warning[data-v-cac98e73]{background:#f59e0b1a;color:#d97706}.tw-days-badge.urgent[data-v-cac98e73]{background:#ef44441a;color:#dc2626}h2[data-v-cac98e73]{font-size:1.4rem;font-weight:800;color:#1e293b;margin-bottom:.75rem;line-height:1.3}.tw-message[data-v-cac98e73]{color:#64748b;font-size:.925rem;line-height:1.6;margin-bottom:1.5rem}.tw-features[data-v-cac98e73]{display:flex;flex-direction:column;gap:.5rem;background:#f8faf9;border-radius:12px;padding:1rem 1.25rem;margin-bottom:1.75rem;text-align:left}.tw-feature[data-v-cac98e73]{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#334155}.tw-feature svg[data-v-cac98e73]{color:#2d6a4f;flex-shrink:0}.tw-actions[data-v-cac98e73]{display:flex;flex-direction:column;gap:.625rem;margin-bottom:1rem}.tw-upgrade-btn[data-v-cac98e73]{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:#2d6a4f;color:#fff;border:none;border-radius:12px;padding:.875rem 1.5rem;font-family:DM Sans,sans-serif;font-size:1rem;font-weight:700;cursor:pointer;transition:background .15s,transform .15s}.tw-upgrade-btn[data-v-cac98e73]:hover{background:#1b4332;transform:translateY(-1px)}.tw-dismiss-btn[data-v-cac98e73]{background:none;border:none;color:#94a3b8;font-family:DM Sans,sans-serif;font-size:.875rem;cursor:pointer;padding:.25rem;transition:color .15s}.tw-dismiss-btn[data-v-cac98e73]:hover{color:#64748b}.tw-expiry[data-v-cac98e73]{font-size:.8rem;color:#94a3b8;margin:0}.modal-fade-enter-active[data-v-cac98e73],.modal-fade-leave-active[data-v-cac98e73]{transition:opacity .2s}.modal-fade-enter-from[data-v-cac98e73],.modal-fade-leave-to[data-v-cac98e73]{opacity:0}@media (max-width: 520px){.tw-card[data-v-cac98e73]{padding:2rem 1.25rem}h2[data-v-cac98e73]{font-size:1.2rem}}.pr-overlay[data-v-6260f76a]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:99999;padding:1rem}.pr-card[data-v-6260f76a]{background:#fff;border-radius:24px;padding:2.5rem 2rem;max-width:480px;width:100%;text-align:center;box-shadow:0 32px 80px #0000004d}.pr-icon-wrap[data-v-6260f76a]{width:72px;height:72px;border-radius:50%;background:#ef44441a;color:#dc2626;display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem}h2[data-v-6260f76a]{font-size:1.625rem;font-weight:800;color:#1e293b;margin-bottom:.75rem}.pr-subtitle[data-v-6260f76a]{color:#64748b;font-size:.95rem;line-height:1.6;margin-bottom:1.5rem}.pr-status[data-v-6260f76a]{display:flex;flex-direction:column;gap:.625rem;background:#f8fafc;border-radius:12px;padding:1rem 1.25rem;margin-bottom:1.75rem;text-align:left}.pr-status-row[data-v-6260f76a]{display:flex;align-items:center;gap:.625rem;font-size:.875rem;color:#334155}.pr-status-row svg[data-v-6260f76a]{color:#22c55e;flex-shrink:0}.pr-status-row.restricted[data-v-6260f76a]{color:#64748b}.pr-status-row.restricted svg[data-v-6260f76a]{color:#f59e0b}.pr-actions[data-v-6260f76a]{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.25rem}.pr-primary-btn[data-v-6260f76a]{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:#2d6a4f;color:#fff;border:none;border-radius:12px;padding:.875rem 1.5rem;font-family:DM Sans,sans-serif;font-size:1rem;font-weight:700;cursor:pointer;text-decoration:none;transition:background .15s,transform .15s}.pr-primary-btn[data-v-6260f76a]:hover:not(:disabled){background:#1b4332;transform:translateY(-1px)}.pr-primary-btn[data-v-6260f76a]:disabled{opacity:.6;cursor:not-allowed}.pr-export-btn[data-v-6260f76a]{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:none;border:1.5px solid #E2E8F0;border-radius:12px;padding:.75rem 1.5rem;font-family:DM Sans,sans-serif;font-size:.9rem;font-weight:600;color:#64748b;cursor:pointer;transition:border-color .15s,color .15s}.pr-export-btn[data-v-6260f76a]:hover{border-color:#2d6a4f;color:#2d6a4f}.pr-error[data-v-6260f76a]{padding:.75rem 1rem;background:#fef2f2;border:1px solid #FECACA;border-radius:8px;color:#dc2626;font-size:.875rem;margin-bottom:1rem}.pr-logout[data-v-6260f76a]{font-size:.875rem;color:#94a3b8;margin:0}.pr-inline-btn[data-v-6260f76a]{background:none;border:none;color:#2d6a4f;font-family:DM Sans,sans-serif;font-size:inherit;font-weight:600;cursor:pointer;padding:0;text-decoration:underline}@media (max-width: 520px){.pr-card[data-v-6260f76a]{padding:2rem 1.25rem}h2[data-v-6260f76a]{font-size:1.375rem}}.demo-banner[data-v-c7727fe3]{position:fixed;top:0;left:0;right:0;z-index:9999;background:var(--primary, #2D6A4F);color:#fff;font-family:DM Sans,sans-serif;font-size:.82rem;box-shadow:0 2px 8px #00000026}.demo-banner-warning[data-v-c7727fe3]{background:#d97706}.demo-banner-inner[data-v-c7727fe3]{max-width:1400px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:.5rem 1.5rem;gap:1rem}.demo-banner-left[data-v-c7727fe3]{display:flex;align-items:center;gap:.625rem;flex:1;min-width:0}.demo-banner-right[data-v-c7727fe3]{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.demo-badge[data-v-c7727fe3]{background:#fff3;color:#fff;font-size:.65rem;font-weight:800;letter-spacing:.08em;padding:.15rem .5rem;border-radius:4px;flex-shrink:0}.demo-banner-msg[data-v-c7727fe3]{color:#ffffffe6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.demo-reset-note[data-v-c7727fe3]{opacity:.75}.demo-refresh-btn[data-v-c7727fe3]{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .75rem;border-radius:6px;background:#ffffff26;border:1px solid rgba(255,255,255,.3);color:#fff;font-family:DM Sans,sans-serif;font-size:.75rem;font-weight:600;cursor:pointer;transition:background .15s;white-space:nowrap}.demo-refresh-btn[data-v-c7727fe3]:hover:not(:disabled){background:#ffffff40}.demo-refresh-btn[data-v-c7727fe3]:disabled{opacity:.6;cursor:not-allowed}.demo-spin[data-v-c7727fe3]{width:12px;height:12px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin-c7727fe3 .7s linear infinite}@keyframes spin-c7727fe3{to{transform:rotate(360deg)}}.demo-upgrade-btn[data-v-c7727fe3]{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .875rem;border-radius:6px;background:#fff;color:var(--primary, #2D6A4F);font-family:DM Sans,sans-serif;font-size:.78rem;font-weight:800;text-decoration:none;transition:all .15s;white-space:nowrap}.demo-upgrade-btn[data-v-c7727fe3]:hover{background:#f0fdf4}.demo-dismiss-btn[data-v-c7727fe3]{width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:#ffffffb3;cursor:pointer;border-radius:4px;transition:all .15s}.demo-dismiss-btn[data-v-c7727fe3]:hover{background:#ffffff26;color:#fff}@media (max-width: 600px){.demo-banner-msg[data-v-c7727fe3]{display:none}.demo-refresh-btn span[data-v-c7727fe3]:last-child{display:none}}.ot-backdrop[data-v-0fc654be]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:#00000073;pointer-events:all}.ot-highlight[data-v-0fc654be]{position:absolute;z-index:10001;pointer-events:none;border-radius:8px;box-shadow:0 0 0 4px var(--primary, #2D6A4F),0 0 0 8px #2d6a4f33;transition:all .3s}.ot-tooltip[data-v-0fc654be]{position:absolute;z-index:10002;width:360px;background:#fff;border-radius:14px;box-shadow:0 16px 48px #0003;overflow:hidden;pointer-events:all;font-family:DM Sans,sans-serif}.ot-progress-bar[data-v-0fc654be]{height:3px;background:#e2e8f0}.ot-progress-fill[data-v-0fc654be]{height:100%;background:var(--primary, #2D6A4F);transition:width .3s}.ot-content[data-v-0fc654be]{padding:1.25rem 1.25rem .75rem}.ot-step-count[data-v-0fc654be]{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--primary, #2D6A4F);margin-bottom:.25rem}.ot-title[data-v-0fc654be]{font-size:1rem;font-weight:800;color:var(--text-dark, #1A1A2E);margin:0 0 .5rem}.ot-body[data-v-0fc654be]{font-size:.875rem;color:var(--text-gray, #64748B);line-height:1.5;margin:0}.ot-cta[data-v-0fc654be]{display:inline-block;margin-top:.75rem;padding:.4rem 1rem;border-radius:8px;border:none;background:var(--primary, #2D6A4F);color:#fff;font-family:DM Sans,sans-serif;font-size:.82rem;font-weight:700;cursor:pointer;transition:background .15s}.ot-cta[data-v-0fc654be]:hover{background:var(--primary-dark, #1B4332)}.ot-nav[data-v-0fc654be]{display:flex;align-items:center;justify-content:space-between;padding:.625rem 1.25rem 1rem;gap:.5rem}.ot-dismiss[data-v-0fc654be]{background:none;border:none;cursor:pointer;font-family:DM Sans,sans-serif;font-size:.78rem;color:var(--text-gray, #94A3B8);padding:0;transition:color .15s}.ot-dismiss[data-v-0fc654be]:hover{color:var(--text-dark, #1A1A2E)}.ot-nav-btns[data-v-0fc654be]{display:flex;gap:.5rem}.ot-btn[data-v-0fc654be]{padding:.4rem 1rem;border-radius:8px;font-family:DM Sans,sans-serif;font-size:.82rem;font-weight:700;cursor:pointer;transition:all .15s}.ot-btn-prev[data-v-0fc654be]{background:var(--bg-cream, #F8F4EF);border:1.5px solid var(--border-soft, #E2E8F0);color:var(--text-dark, #1A1A2E)}.ot-btn-prev[data-v-0fc654be]:hover{border-color:var(--primary, #2D6A4F)}.ot-btn-next[data-v-0fc654be]{background:var(--primary, #2D6A4F);border:none;color:#fff}.ot-btn-next[data-v-0fc654be]:hover{background:var(--primary-dark, #1B4332)}.ot-arrow[data-v-0fc654be]{position:absolute;width:12px;height:12px;background:#fff;transform:rotate(45deg)}.ot-placement-bottom .ot-arrow[data-v-0fc654be]{top:-6px;left:50%;margin-left:-6px;box-shadow:-2px -2px 4px #0000000f}.ot-placement-top .ot-arrow[data-v-0fc654be]{bottom:-6px;left:50%;margin-left:-6px;box-shadow:2px 2px 4px #0000000f}.ot-placement-right .ot-arrow[data-v-0fc654be]{left:-6px;top:50%;margin-top:-6px;box-shadow:-2px 2px 4px #0000000f}.ot-placement-left .ot-arrow[data-v-0fc654be]{right:-6px;top:50%;margin-top:-6px;box-shadow:2px -2px 4px #0000000f}.ot-placement-center .ot-arrow[data-v-0fc654be]{display:none}.ot-fade-enter-active[data-v-0fc654be],.ot-fade-leave-active[data-v-0fc654be]{transition:opacity .2s,transform .2s}.ot-fade-enter-from[data-v-0fc654be]{opacity:0;transform:scale(.95) translateY(6px)}.ot-fade-leave-to[data-v-0fc654be]{opacity:0;transform:scale(.95)}@media (max-width: 480px){.ot-tooltip[data-v-0fc654be]{width:calc(100vw - 24px)}}.sw-update-banner,.sw-offline-banner{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;border-radius:12px;font-family:DM Sans,sans-serif;font-size:.875rem;font-weight:600;z-index:99999;box-shadow:0 8px 32px #0000002e;white-space:nowrap}.sw-update-banner{background:#1e293b;color:#fff}.sw-offline-banner{background:#2d6a4f;color:#fff}.sw-update-btn{background:#2d6a4f;color:#fff;border:none;border-radius:8px;padding:.375rem .875rem;font-family:DM Sans,sans-serif;font-size:.82rem;font-weight:700;cursor:pointer;transition:background .15s}.sw-update-btn:hover{background:#1b4332}.sw-dismiss-btn{background:none;border:none;color:#fff9;cursor:pointer;font-size:.875rem;padding:0 .25rem;line-height:1;transition:color .15s}.sw-dismiss-btn:hover{color:#fff}.sw-banner-slide-enter-active,.sw-banner-slide-leave-active{transition:all .3s cubic-bezier(.4,0,.2,1)}.sw-banner-slide-enter-from,.sw-banner-slide-leave-to{opacity:0;transform:translate(-50%) translateY(1rem)}:root{--primary: #2D6A4F;--primary-light: #40916C;--primary-dark: #1B4332;--accent: #F4A261;--accent-warm: #E76F51;--bg-cream: #FAF8F5;--bg-light: #FFFFFF;--text-dark: #1A1A1A;--text-gray: #5A5A5A;--border-soft: #E8E3DC;--success: #52B788;--warning: #F4A261;--info: #4A90E2;--error: #E76F51}*{margin:0;padding:0;box-sizing:border-box}body{font-family:DM Sans,sans-serif;background:var(--bg-cream);color:var(--text-dark);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:Outfit,sans-serif;font-weight:700}.container{max-width:1280px;margin:0 auto;padding:0 2rem}.btn{padding:.75rem 1.5rem;border-radius:8px;font-weight:600;text-decoration:none;transition:all .3s ease;display:inline-flex;align-items:center;gap:.5rem;border:none;cursor:pointer;font-size:.95rem;font-family:DM Sans,sans-serif}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:0 8px 20px #2d6a4f40}.btn-secondary{background:#fff;color:var(--primary);border:2px solid var(--primary)}.btn-secondary:hover{background:var(--primary);color:#fff}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.card{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 4px 20px #00000014;transition:all .3s ease}.badge{padding:.35rem .875rem;border-radius:16px;font-size:.75rem;font-weight:600;white-space:nowrap;display:inline-block}.badge-primary{background:var(--primary);color:#fff}.badge-success{background:var(--success);color:#fff}.badge-warning{background:var(--warning);color:#fff}.badge-info{background:var(--info);color:#fff}.badge-category-testing{background:#e3f2fd;color:#1976d2}.badge-category-instruction{background:#fff3e0;color:#e65100}.badge-category-behavior{background:#f3e5f5;color:#7b1fa2}.badge-category-environment{background:#e8f5e9;color:#2e7d32}.fade-enter-active,.fade-leave-active{transition:opacity .3s ease}.fade-enter-from,.fade-leave-to{opacity:0}.slide-fade-enter-active{transition:all .3s ease-out}.slide-fade-leave-active{transition:all .3s cubic-bezier(1,.5,.8,1)}.slide-fade-enter-from,.slide-fade-leave-to{transform:translateY(20px);opacity:0}@media (max-width: 968px){.container{padding:0 1rem}}
