footer{background:var(--bg-surface);border-top:1px solid var(--border-line);text-align:center;color:var(--text-muted);margin-top:auto;padding:10px 24px;font-size:.85rem}:root{--ent-canvas:#f8fafc;--ent-surface:#fff;--ent-border:#e2e8f0;--ent-border-dark:#cbd5e1;--ent-primary:#06f;--ent-primary-dark:#0052cc;--ent-primary-light:#eff6ff;--ent-text-head:#090d16;--ent-text-body:#334155;--ent-text-muted:#64748b;--ent-radius:12px;--ent-shadow:0 1px 3px 0 #0000000a, 0 1px 2px -1px #0000000a;--ent-shadow-card:0 4px 6px -1px #0000000d, 0 2px 4px -2px #0000000a;--ent-shadow-glow:0 20px 25px -5px #0066ff14, 0 8px 10px -6px #0066ff0a}.enterprise-home-root,.enterprise-home-root *,.enterprise-home-root :before,.enterprise-home-root :after{box-sizing:border-box}.enterprise-home-root{background-color:var(--ent-canvas);min-height:100vh;color:var(--ent-text-body);-webkit-font-smoothing:antialiased;flex-direction:column;font-family:Plus Jakarta Sans,system-ui,-apple-system,sans-serif;display:flex}.enterprise-hero-wrapper{border-bottom:1px solid var(--ent-border);background:radial-gradient(120% 120% at 50% 0,#eff6ffb3 0%,#f8fafcf2 60%,#f8fafc 100%);padding:70px 24px 90px;position:relative;overflow:hidden}.hero-mesh-background{pointer-events:none;background-image:linear-gradient(90deg,#e2e8f066 1px,#0000 1px),linear-gradient(#e2e8f066 1px,#0000 1px);background-size:56px 56px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(at 50% 30%,#000 20%,#0000 75%);mask-image:radial-gradient(at 50% 30%,#000 20%,#0000 75%)}.enterprise-hero-container{z-index:10;text-align:center;flex-direction:column;align-items:center;max-width:1240px;margin:0 auto;display:flex;position:relative}.hero-announcement-pill{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;background:#ffffffe6;border:1px solid #bfdbfe;border-radius:999px;align-items:center;gap:10px;margin-bottom:28px;padding:5px 14px 5px 6px;transition:all .2s;display:inline-flex;box-shadow:0 2px 6px #0066ff0f}.hero-announcement-pill:hover{border-color:#60a5fa;transform:translateY(-1px)}.pill-badge-tag{background:var(--ent-primary);color:#fff;letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:3px 8px;font-size:.72rem;font-weight:700}.pill-text{color:#1e3a8a;font-size:.82rem;font-weight:600}.pill-arrow{color:#3b82f6}.hero-headline{letter-spacing:-.04em;color:var(--ent-text-head);max-width:980px;margin:0 auto 20px;font-size:3.6rem;font-weight:800;line-height:1.12}.gradient-text{background:linear-gradient(135deg,#06f 0%,#2563eb 50%,#1d4ed8 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.hero-subtext{color:var(--ent-text-muted);max-width:760px;margin:0 auto 36px;font-size:1.15rem;line-height:1.65}.hero-action-buttons{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;margin-bottom:48px;display:flex}.btn-enterprise-primary{color:#fff;cursor:pointer;background:#06f;border:1px solid #0052cc;border-radius:10px;align-items:center;gap:8px;padding:13px 26px;font-size:.95rem;font-weight:600;transition:all .2s;display:inline-flex;box-shadow:0 4px 14px #0066ff47}.btn-enterprise-primary:hover{background:#0052cc;transform:translateY(-1px);box-shadow:0 6px 20px #0066ff59}.btn-enterprise-secondary{color:#0f172a;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:10px;align-items:center;gap:8px;padding:13px 24px;font-size:.95rem;font-weight:600;transition:all .2s;display:inline-flex;box-shadow:0 1px 3px #0000000d}.btn-enterprise-secondary:hover{background:#f8fafc;border-color:#94a3b8;transform:translateY(-1px)}.btn-enterprise-ghost{color:#64748b;cursor:pointer;background:0 0;border:none;padding:13px 18px;font-size:.95rem;font-weight:600;transition:color .15s}.btn-enterprise-ghost:hover{color:#06f}.enterprise-trust-bar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--ent-shadow);background:#fffc;border:1px solid #e2e8f0;border-radius:14px;flex-wrap:wrap;justify-content:center;align-items:center;gap:28px;margin-bottom:60px;padding:16px 32px;display:flex}.trust-metric-item{flex-direction:column;align-items:center;gap:2px;display:flex}.metric-val{color:#0f172a;letter-spacing:-.02em;font-size:1.35rem;font-weight:800}.metric-caption{color:#64748b;text-transform:uppercase;letter-spacing:.03em;font-size:.76rem;font-weight:600}.trust-divider{background:#cbd5e1;width:1px;height:28px}.hero-console-preview-card{text-align:left;background:#fff;border:1px solid #cbd5e1;border-radius:16px;width:100%;max-width:1080px;overflow:hidden;box-shadow:0 25px 50px -12px #0f172a1f,0 0 0 1px #00000005}.console-window-chrome{background:#f8fafc;border-bottom:1px solid #e2e8f0;align-items:center;gap:14px;padding:12px 18px;display:flex}.window-dots{gap:6px;display:flex}.window-dots .dot{border-radius:50%;width:11px;height:11px}.window-dots .dot.red{background:#ef4444}.window-dots .dot.yellow{background:#f59e0b}.window-dots .dot.green{background:#10b981}.window-address-bar{color:#64748b;text-align:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;flex:1;max-width:480px;margin:0 auto;padding:4px 12px;font-family:monospace;font-size:.75rem}.window-status-pill{color:#047857;text-transform:uppercase;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:.74rem;font-weight:700;display:flex}.status-live-beacon{background:#10b981;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 2px #10b9814d}.console-preview-body{grid-template-columns:240px 1fr;min-height:380px;display:grid}.console-sidebar-mock{background:#f8fafc;border-right:1px solid #e2e8f0;flex-direction:column;gap:18px;padding:16px;display:flex}.mock-user-chip{border-bottom:1px solid #e2e8f0;align-items:center;gap:10px;padding-bottom:14px;display:flex}.mock-avatar{color:#fff;background:#06f;border-radius:8px;place-items:center;width:34px;height:34px;font-size:.85rem;font-weight:800;display:grid}.mock-user-name{color:#0f172a;font-size:.82rem;font-weight:700}.mock-user-role{color:#64748b;font-size:.72rem}.mock-nav-list{flex-direction:column;gap:4px;display:flex}.mock-nav-item{color:#64748b;cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:8px 10px;font-size:.8rem;font-weight:600;display:flex}.mock-nav-item.active{color:#1d4ed8;background:#eff6ff}.console-main-mock{background:#fff;flex-direction:column;gap:20px;padding:24px;display:flex}.mock-header-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.mock-title{color:#0f172a;margin:0;font-size:1.05rem;font-weight:700}.mock-desc{color:#64748b;margin:2px 0 0;font-size:.8rem}.mock-badge-cluster{gap:6px;display:flex}.mock-chip{text-transform:uppercase;border-radius:6px;padding:3px 8px;font-size:.72rem;font-weight:700}.mock-chip.green{color:#047857;background:#ecfdf5}.mock-chip.blue{color:#1d4ed8;background:#eff6ff}.mock-cards-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.mock-room-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;gap:10px;padding:14px;display:flex;box-shadow:0 1px 2px #00000005}.mock-room-card.highlight{background:#fbfdff;border-color:#93c5fd}.mock-room-card .card-top{justify-content:space-between;align-items:center;display:flex}.room-label{color:#0f172a;font-size:.92rem;font-weight:700}.status-badge{text-transform:uppercase;border-radius:4px;padding:2px 6px;font-size:.7rem;font-weight:700}.status-badge.staffed{color:#047857;background:#ecfdf5}.status-badge.live-sub{color:#b45309;background:#fffbeb}.status-badge.auto-created{color:#1d4ed8;background:#eff6ff}.room-educator{color:#475569;font-size:.78rem}.occupancy-line{flex-direction:column;gap:5px;margin-top:auto;display:flex}.occupancy-label{color:#64748b;justify-content:space-between;font-size:.72rem;display:flex}.mock-progress-track{background:#f1f5f9;border-radius:999px;width:100%;height:6px;overflow:hidden}.mock-progress-fill{background:#10b981;border-radius:999px;height:100%}.mock-progress-fill.warning{background:#f59e0b}.enterprise-section{padding:96px 24px;position:relative}.enterprise-section.bg-alt{border-top:1px solid var(--ent-border);border-bottom:1px solid var(--ent-border);background:#f1f5f9}.section-container{max-width:1240px;margin:0 auto}.section-kicker{text-transform:uppercase;letter-spacing:.08em;color:#06f;margin-bottom:8px;font-size:.75rem;font-weight:700}.section-h2{letter-spacing:-.03em;color:var(--ent-text-head);margin:0 0 16px;font-size:2.4rem;font-weight:800;line-height:1.2}.section-lead{color:var(--ent-text-muted);max-width:720px;margin:0 0 54px;font-size:1.08rem;line-height:1.65}.pillars-grid-4{grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:22px;display:grid}.pillar-card{box-shadow:var(--ent-shadow);background:#fff;border:1px solid #e2e8f0;border-radius:14px;flex-direction:column;padding:28px 24px;transition:transform .2s,box-shadow .2s;display:flex}.pillar-card:hover{border-color:#cbd5e1;transform:translateY(-3px);box-shadow:0 10px 25px -5px #0000000f}.pillar-icon-box{border-radius:12px;place-items:center;width:52px;height:52px;margin-bottom:20px;display:grid}.pillar-icon-box.blue{color:#06f;background:#eff6ff}.pillar-icon-box.green{color:#10b981;background:#ecfdf5}.pillar-icon-box.purple{color:#9333ea;background:#faf5ff}.pillar-icon-box.amber{color:#d97706;background:#fffbeb}.pillar-card h3{color:#0f172a;margin:0 0 10px;font-size:1.15rem;font-weight:700;line-height:1.35}.pillar-card p{color:#64748b;margin:0 0 20px;font-size:.88rem;line-height:1.55}.pillar-checklist{border-top:1px dashed #f1f5f9;flex-direction:column;gap:8px;margin:auto 0 0;padding:16px 0 0;list-style:none;display:flex}.pillar-checklist li{color:#334155;align-items:center;gap:8px;font-size:.8rem;font-weight:600;display:flex}.pillar-checklist li svg{color:#10b981}.workflow-steps-row{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;display:grid}.workflow-step-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;flex-direction:column;gap:12px;padding:28px 24px;display:flex;position:relative}.step-counter-badge{letter-spacing:.05em;color:#06f;background:#eff6ff;border-radius:6px;align-self:flex-start;padding:4px 10px;font-size:.82rem;font-weight:800}.workflow-step-card h4{color:#0f172a;margin:0;font-size:1.1rem;font-weight:700}.workflow-step-card p{color:#64748b;margin:0;font-size:.88rem;line-height:1.55}.stakeholder-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;display:grid}.stakeholder-card{box-shadow:var(--ent-shadow);background:#fff;border:1px solid #e2e8f0;border-radius:14px;flex-direction:column;gap:14px;padding:32px 28px;display:flex}.stakeholder-card.highlight{background:radial-gradient(100% 100% at 50% 0,#fff 60%,#eff6ff 100%);border-color:#93c5fd;box-shadow:0 10px 30px -10px #0066ff1f}.stakeholder-role-badge{text-transform:uppercase;letter-spacing:.06em;color:#06f;background:#eff6ff;border-radius:999px;align-self:flex-start;padding:4px 10px;font-size:.74rem;font-weight:700}.stakeholder-card h3{color:#0f172a;margin:0;font-size:1.3rem;font-weight:800}.stakeholder-card p{color:#64748b;margin:0;font-size:.92rem;line-height:1.6}.stakeholder-stat{color:#334155;border-top:1px solid #f1f5f9;margin-top:auto;padding-top:18px;font-size:.85rem}.stakeholder-stat strong{color:#06f}.enterprise-contact-split{grid-template-columns:1fr 1.15fr;align-items:start;gap:48px;display:grid}.contact-text-block h2{letter-spacing:-.03em;color:#0f172a;margin:0 0 14px;font-size:2.2rem;font-weight:800}.contact-text-block p{color:#64748b;margin:0 0 32px;font-size:1.05rem;line-height:1.6}.contact-touchpoints{flex-direction:column;gap:20px;display:flex}.touchpoint-item{align-items:flex-start;gap:14px;display:flex}.touchpoint-icon{color:#06f;flex-shrink:0;margin-top:2px}.touchpoint-label{text-transform:uppercase;color:#64748b;letter-spacing:.03em;font-size:.78rem;font-weight:700}.touchpoint-value{color:#0f172a;font-size:.95rem;font-weight:600;text-decoration:none}.enterprise-contact-form-card{box-shadow:var(--ent-shadow-card);background:#fff;border:1px solid #cbd5e1;border-radius:16px;padding:36px 32px}.enterprise-contact-form-card h3{color:#0f172a;margin:0 0 6px;font-size:1.3rem;font-weight:800}.enterprise-contact-form-card p{color:#64748b;margin:0 0 24px;font-size:.88rem}.enterprise-success-alert{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;align-items:center;gap:10px;margin-bottom:20px;padding:12px 16px;font-size:.88rem;font-weight:600;display:flex}.enterprise-form{flex-direction:column;gap:16px;display:flex}.form-row-2{grid-template-columns:1fr 1fr;gap:14px;display:grid}.field-group{flex-direction:column;gap:6px;display:flex}.field-group label{color:#334155;font-size:.8rem;font-weight:700}.field-group input,.field-group select,.field-group textarea{color:#1e293b;background:#fff;border:1px solid #cbd5e1;border-radius:8px;outline:none;padding:11px 14px;font-family:inherit;font-size:.9rem;transition:all .15s}.field-group input:focus,.field-group select:focus,.field-group textarea:focus{border-color:#06f;box-shadow:0 0 0 3px #0066ff1f}.btn-form-submit{color:#fff;cursor:pointer;background:#06f;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;margin-top:4px;padding:13px 24px;font-size:.95rem;font-weight:700;transition:background .15s,transform .1s;display:inline-flex}.btn-form-submit:hover{background:#0052cc;transform:translateY(-1px)}@media (width<=992px){.hero-headline{font-size:2.8rem}.console-preview-body{grid-template-columns:1fr}.console-sidebar-mock{display:none}.enterprise-contact-split{grid-template-columns:1fr;gap:36px}}@media (width<=640px){.enterprise-hero-wrapper{padding:40px 16px 60px}.hero-headline{font-size:2.1rem}.hero-subtext{font-size:1rem}.enterprise-trust-bar{flex-direction:column;gap:16px;padding:18px 20px}.trust-divider{display:none}.form-row-2{grid-template-columns:1fr}.hero-action-buttons{flex-direction:column;width:100%}.btn-enterprise-primary,.btn-enterprise-secondary{justify-content:center;width:100%}}:root{--bg-canvas:#f4f9ff;--bg-surface:#fff;--primary:#0084ff;--primary-glow:#0084ff0f;--success:#10b981;--success-glow:#10b98114;--warning:#f59e0b;--warning-glow:#f59e0b14;--text-main:#0f172a;--text-muted:#64748b;--border-line:#0084ff26;--card-shadow:0 10px 30px -5px #0084ff0d}.scho-tool-container{background-color:var(--bg-canvas);color:var(--text-main);flex-direction:column;min-height:100vh;display:flex}.dashboard-header{background-color:var(--bg-surface);border-bottom:1px solid var(--border-line);z-index:100;position:sticky;top:0;box-shadow:0 2px 10px #0084ff05}.nav-container-hub{justify-content:space-between;align-items:center;max-width:1200px;height:75px;margin:0 auto;padding:0 24px;display:flex}.logo-brand{color:var(--text-main);letter-spacing:-.04em;align-items:center;gap:8px;font-size:1.4rem;font-weight:700;display:flex}.ai-status-badge{border:1px solid var(--border-line);color:var(--text-main);background:linear-gradient(135deg,#0084ff0f 0%,#10b9810f 100%);border-radius:100px;align-items:center;gap:8px;padding:8px 16px;font-size:.82rem;font-weight:600;display:flex}.online-indicator-dot{background-color:var(--success);border-radius:50%;width:7px;height:7px;animation:2s infinite alternate pulseGlow}.hub-workspace{flex-grow:1;width:100%;max-width:1200px;margin:0 auto;padding:40px 24px}.hero-banner{text-align:center;max-width:700px;margin-bottom:40px;margin-left:auto;margin-right:auto}.hero-banner h1{letter-spacing:-.04em;color:var(--text-main);font-size:2.4rem;font-weight:700}.hero-banner h1 span{color:var(--primary)}.hero-banner p{color:var(--text-muted);margin-top:10px;font-size:1rem;line-height:1.6}.stats-bar{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-bottom:35px;display:grid}.stat-card{background:var(--bg-surface);border:1px solid var(--border-line);box-shadow:var(--card-shadow);border-radius:16px;align-items:center;gap:15px;padding:16px 20px;display:flex}.stat-icon{border-radius:10px;place-items:center;width:40px;height:40px;display:grid}.stat-icon.primary-theme{background:var(--primary-glow);color:var(--primary)}.stat-icon.warning-theme{background:var(--warning-glow);color:var(--warning)}.stat-icon.success-theme{background:var(--success-glow);color:var(--success)}.stat-num{color:var(--text-main);font-size:1.3rem;font-weight:700}.stat-label{color:var(--text-muted);font-size:.8rem;font-weight:500}.launcher-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;margin-bottom:40px;display:grid}.app-tile-card{background:var(--bg-surface);border:1px solid var(--border-line);box-shadow:var(--card-shadow);cursor:pointer;border-radius:20px;flex-direction:column;justify-content:space-between;padding:24px;transition:transform .25s cubic-bezier(.4,0,.2,1),border-color .25s,box-shadow .25s;display:flex;position:relative}.app-tile-card:hover{border-color:var(--primary);transform:translateY(-4px);box-shadow:0 15px 35px #0084ff14}.tile-top{margin-bottom:20px}.tile-meta-row{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.status-pill-badge{border-radius:100px;align-items:center;padding:4px 10px;font-size:.75rem;font-weight:700;display:inline-flex}.status-pill-badge.success-pill{color:var(--success);background:var(--success-glow)}.status-pill-badge.warning-pill{color:var(--warning);background:var(--warning-glow)}.uid-label{color:var(--text-muted);font-family:monospace;font-size:.75rem}.tile-title{color:var(--text-main);letter-spacing:-.02em;font-size:1.35rem;font-weight:700}.room-details{color:var(--text-muted);align-items:center;gap:8px;margin-top:12px;font-size:.9rem;display:flex}.room-details strong{color:var(--text-main)}.tile-footer{border-top:1px dashed #0084ff1a;justify-content:space-between;align-items:center;padding-top:16px;font-size:.85rem;display:flex}.footer-meta-text{color:var(--text-muted)}.action-link{color:var(--primary);align-items:center;gap:4px;font-weight:600;display:flex}.dashboard-loading-overlay,.dashboard-error-container{background:var(--bg-canvas);flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:100vh;font-family:inherit;display:flex}.spinner-icon{color:var(--primary);animation:1s linear infinite spin}.dashboard-error-container button{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:10px 20px;font-weight:600}.dashboard-footer-bar{background:var(--bg-surface);border-top:1px solid var(--border-line);text-align:center;color:var(--text-muted);margin-top:auto;padding:40px 24px;font-size:.85rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulseGlow{0%{opacity:.6}to{opacity:1}}.chat-fab{background:#0084ff;background:var(--primary,#0084ff);color:#fff;cursor:pointer;border:none;border-radius:50%;place-items:center;width:60px;height:60px;transition:transform .3s cubic-bezier(.175,.885,.32,1.275);display:grid;box-shadow:0 10px 25px #0084ff4d}.chat-window{background:#fff;border:1px solid #e2e8f0cc;border-radius:16px;flex-direction:column;width:380px;height:540px;animation:.3s cubic-bezier(.16,1,.3,1) chatWindowSlideIn;display:flex;position:absolute;bottom:80px;right:0;overflow:hidden;box-shadow:0 15px 50px #0f172a2e}@keyframes chatWindowSlideIn{0%{opacity:0;transform:translateY(20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.chat-header{background:var(--primary,#0084ff);color:#fff;border-bottom:1px solid #ffffff1f;justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.chat-header-left{align-items:center;gap:10px;display:flex}.chat-header-info{letter-spacing:-.01em;align-items:center;gap:8px;font-size:.95rem;font-weight:700;display:flex}.history-title{letter-spacing:-.01em;font-size:1rem;font-weight:700}.chat-header-actions{align-items:center;gap:4px;display:flex}.header-icon-btn{color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:background .2s,transform .1s;display:flex;position:relative}.header-icon-btn:hover{background:#ffffff47;transform:scale(1.05)}.header-icon-btn:active{transform:scale(.95)}.badge-count{color:#fff;border:1.5px solid var(--primary,#0084ff);background:#ef4444;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:.65rem;font-weight:700;display:flex;position:absolute;top:-4px;right:-4px}.chat-messages{background:#f8fafc;flex-direction:column;flex:1;gap:12px;padding:16px 18px;display:flex;overflow-y:auto}.msg{word-wrap:break-word;white-space:pre-line;border-radius:14px;max-width:85%;padding:11px 15px;font-size:.88rem;line-height:1.45}.msg.bot{color:#0f172a;background:#fff;border:1px solid #e2e8f0;border-radius:14px 14px 14px 2px;align-self:flex-start;box-shadow:0 2px 6px #00000008}.msg.user{background:var(--primary,#0084ff);color:#fff;border-radius:14px 14px 2px;align-self:flex-end;box-shadow:0 3px 10px #0084ff2e}.msg.error-bubble{color:#ef4444;background-color:#fef2f2;border:1px solid #fee2e2;align-self:flex-start}.chat-input-area{background:#fff;border-top:1px solid #e2e8f0;align-items:center;gap:8px;padding:12px 16px;display:flex}.chat-input-area input{color:#0f172a;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;outline:none;flex:1;padding:10px 14px;font-size:.88rem;transition:all .2s}.chat-input-area input:focus{border-color:var(--primary,#0084ff);background:#fff;box-shadow:0 0 0 3px #0084ff1a}.chat-input-area button{background:var(--primary,#0084ff);color:#fff;cursor:pointer;border:none;border-radius:10px;place-items:center;width:38px;height:38px;transition:opacity .2s;display:grid}.chat-input-area button:hover:not(:disabled){opacity:.9}.chat-input-area button:disabled{cursor:not-allowed;background:#cbd5e1}.typing-indicator{color:#64748b;align-items:center;gap:8px;font-style:italic;display:flex;box-shadow:none!important;background:0 0!important;border:none!important;padding:4px 0!important}.spinner-icon-inline{color:var(--primary,#0084ff);animation:1s linear infinite chatWidgetSpinAnimation}@keyframes chatWidgetSpinAnimation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.chat-history-view{background:#f8fafc;flex-direction:column;flex:1;display:flex;overflow:hidden}.history-list-header{color:#64748b;background:#fff;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:12px 18px;font-size:.8rem;font-weight:600;display:flex}.new-chat-pill-btn{color:var(--primary,#0084ff);cursor:pointer;background:#0084ff14;border:none;border-radius:20px;align-items:center;gap:5px;padding:6px 12px;font-size:.8rem;font-weight:600;transition:background .2s;display:flex}.new-chat-pill-btn:hover{background:#0084ff26}.history-cards-container{flex-direction:column;flex:1;gap:8px;padding:12px 16px;display:flex;overflow-y:auto}.history-card{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:12px;align-items:center;gap:12px;padding:12px 14px;transition:all .2s;display:flex;position:relative}.history-card:hover{border-color:var(--primary,#0084ff);transform:translateY(-1px);box-shadow:0 4px 12px #0084ff14}.history-card.active-thread{border-color:var(--primary,#0084ff);background:#f0f7ff}.history-card-icon{color:#64748b;background:#f1f5f9;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.history-card.active-thread .history-card-icon{color:var(--primary,#0084ff);background:#0084ff1a}.history-card-content{flex:1;min-width:0}.history-card-title{color:#0f172a;white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;font-weight:600;overflow:hidden}.history-card-meta{color:#94a3b8;align-items:center;gap:8px;margin-top:3px;font-size:.75rem;display:flex}.active-tag{color:#1e40af;text-transform:uppercase;background:#dbeafe;border-radius:4px;padding:2px 6px;font-size:.65rem;font-weight:700}.history-delete-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:6px;transition:all .2s;display:flex}.history-delete-btn:hover{color:#ef4444;background:#fee2e2}.history-loading,.history-empty{text-align:center;color:#64748b;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:30px 20px;font-size:.88rem;display:flex}.history-empty p{margin-bottom:12px}.start-chat-btn{background:var(--primary,#0084ff);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:8px 16px;font-size:.85rem;font-weight:600;transition:opacity .2s}.start-chat-btn:hover{opacity:.9}@media (width<=680px){.chat-widget-wrapper{bottom:16px;right:16px}.chat-fab{width:48px;height:48px}.chat-window{width:calc(100vw - 32px);max-height:80vh;bottom:60px;right:0}}.chat-widget-wrapper{z-index:9999;font-family:Plus Jakarta Sans,sans-serif;position:fixed;bottom:30px;right:30px}.chat-fab{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:50%;place-items:center;width:60px;height:60px;transition:transform .3s cubic-bezier(.175,.885,.32,1.275);display:grid;box-shadow:0 10px 25px #0066ff4d}.chat-fab:hover{transform:scale(1.1)}.chat-window{background:#fff;border-radius:16px;flex-direction:column;width:350px;height:500px;animation:.3s ease-out slideUp;display:flex;position:absolute;bottom:80px;right:0;overflow:hidden;box-shadow:0 15px 50px #00000026}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.chat-header{background:var(--primary);color:#fff;padding:20px}.chat-header-info{align-items:center;gap:10px;font-weight:700;display:flex}.online-indicator{background:#10b981;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 2px #10b98133}.chat-messages{background:#f8fafc;flex:1;padding:20px;overflow-y:auto}.msg{border-radius:12px;max-width:80%;margin-bottom:10px;padding:10px 14px;font-size:.9rem}.msg.bot{color:var(--text-main);border:1px solid var(--border-line);background:#fff}.chat-input-area{border-top:1px solid var(--border-line);gap:10px;padding:15px;display:flex}.chat-input-area input{border:1px solid var(--border-line);border-radius:8px;outline:none;flex:1;padding:10px}.classroom-design-container{box-sizing:border-box;background-color:#f8fafc;min-height:calc(100vh - 60px);padding:1rem;font-family:system-ui,-apple-system,sans-serif}.design-header{background:#fff;border:1px solid #e2e8f0;border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:.75rem 1rem;display:flex;box-shadow:0 1px 2px #00000005}.back-btn{cursor:pointer;color:#475569;background:0 0;border:1px solid #cbd5e1;border-radius:6px;align-items:center;gap:.4rem;padding:.45rem .75rem;font-size:.85rem;font-weight:550;display:flex}.header-title-zone{text-align:center}.header-title-zone h2{color:#0f172a;margin:0;font-size:1.1rem;font-weight:700}.header-title-zone p{color:#64748b;margin:.15rem 0 0;font-size:.75rem}.save-layout-btn{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:6px;align-items:center;gap:.4rem;padding:.45rem .85rem;font-size:.85rem;font-weight:600;display:flex}.design-workspace-layout{grid-template-columns:310px 1fr;align-items:start;gap:1.25rem;display:grid}.control-sidebar{flex-direction:column;gap:1rem;display:flex}.sidebar-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:1.25rem;box-shadow:0 1px 3px #00000003}.sidebar-card h3{color:#0f172a;text-transform:uppercase;letter-spacing:.02em;border-bottom:1px dashed #f1f5f9;align-items:center;gap:.5rem;margin:0 0 .85rem;padding-bottom:.5rem;font-size:.9rem;display:flex}.sidebar-icon-accent{color:#4f46e5}.educator-details-block{align-items:center;gap:.75rem;display:flex}.educator-avatar-placeholder{color:#4f46e5;background:#e0e7ff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.1rem;font-weight:700;display:flex}.educator-text-meta h4{color:#1e293b;margin:0;font-size:.9rem}.educator-sub{color:#64748b;margin:.1rem 0;font-size:.75rem}.educator-email{color:#2563eb;word-break:break-all;margin:0;font-size:.75rem}.timetable-list-container{flex-direction:column;gap:.6rem;display:flex}.timetable-period-row{background:#f8fafc;border-left:3px solid #4f46e5;border-radius:6px;align-items:center;gap:.75rem;padding:.5rem;display:flex}.period-time-badge{color:#4f46e5;white-space:nowrap;background:#eef2ff;border-radius:4px;padding:.2rem .35rem;font-size:.65rem;font-weight:700}.period-subject-info{flex-direction:column;display:flex}.subject-title{color:#334155;font-size:.78rem;font-weight:600}.subject-room{color:#94a3b8;font-size:.68rem}.visualization-workspace{flex-direction:column;gap:1.25rem;display:flex}.workspace-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:1.25rem}.card-header-row{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;margin-bottom:1.25rem;padding-bottom:.6rem;display:flex}.card-header-row h3{color:#0f172a;margin:0;font-size:.95rem}.occupancy-counter{color:#475569;background:#f1f5f9;border-radius:20px;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:600;display:flex}.interactive-seating-grid{grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:.85rem;display:grid}.selectable-desk-node{cursor:pointer;transition:all .15s}.selectable-desk-node:hover{transform:translateY(-1px)}.active-selected-desk{background:#eff6ff!important;border-color:#2563eb!important}.desk-tile-node{background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:1rem}.desk-meta{text-transform:uppercase;color:#94a3b8;margin-bottom:.35rem;font-size:.65rem;font-weight:700}.student-profile-title{color:#1e293b;align-items:center;gap:.4rem;font-size:.85rem;font-weight:600;display:flex}.profile-badge-icon{color:#2563eb;flex-shrink:0}.student-inspector-card{border-top:4px solid #2563eb!important}.inspector-header{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.6rem;display:flex}.inspector-header-title{align-items:center;gap:.4rem;display:flex}.inspector-header-title h3{color:#0f172a;margin:0;font-size:.95rem}.inspector-icon{color:#2563eb}.inspector-active-pill{color:#334155;background:#f1f5f9;border-radius:4px;padding:.2rem .5rem;font-size:.68rem;font-weight:600}.inspector-content-wrapper{flex-direction:column;gap:1rem;display:flex}.inspector-profile-data-grid{background:#fafafa;border:1px solid #e2e8f0;border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1rem;padding:1rem;display:grid}.profile-data-item{flex-direction:column;gap:.2rem;display:flex}.data-label{color:#64748b;text-transform:uppercase;font-size:.7rem;font-weight:600}.data-value{color:#334155;font-size:.85rem;font-weight:600}.highlight-value{color:#0f172a;font-size:.95rem}.progress-value{color:#059669;font-weight:700}.score-value{color:#7c3aed;font-weight:700}.inspector-notes-alert-box{background:#fffbeb;border:1px solid #fef3c7;border-left:4px solid #d97706;border-radius:6px;gap:.6rem;padding:.85rem;display:flex}.note-alert-icon{color:#d97706;flex-shrink:0;margin-top:.1rem}.note-text-content{flex-direction:column;display:flex}.note-title{color:#b45309;font-size:.7rem;font-weight:700}.note-text-content p{color:#78350f;margin:0;font-size:.8rem;line-height:1.35}.inspector-empty-state{text-align:center;color:#94a3b8;padding:1.5rem;font-size:.8rem}.design-loading{color:#64748b;justify-content:center;align-items:center;min-height:200px;display:flex}@media screen and (width<=968px){.design-workspace-layout{grid-template-columns:1fr;gap:1rem}}@media screen and (width<=480px){.classroom-design-container{padding:.5rem}.btn-label-text{display:none}.back-btn,.save-layout-btn{padding:.5rem}.header-title-zone h2{font-size:1rem}.interactive-seating-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.5rem}.desk-tile-node{padding:.75rem}.student-profile-title{font-size:.8rem}.inspector-profile-data-grid{grid-template-columns:1fr 1fr;gap:.85rem;padding:.75rem}}.inspector-actions-bar{border-top:1px solid #f1f5f9;justify-content:flex-end;padding-top:.75rem;display:flex}.transfer-division-btn{color:#166534;cursor:pointer;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.85rem;font-weight:600;transition:all .2s;display:inline-flex}.transfer-division-btn:hover{color:#15803d;background:#dcfce7;border-color:#86efac}.transfer-modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:99999;background:#0f172a8c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.transfer-modal-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;width:100%;max-width:500px;animation:.25s cubic-bezier(.16,1,.3,1) modalPop;overflow:hidden;box-shadow:0 20px 40px #0f172a33}@keyframes modalPop{0%{opacity:0;transform:scale(.96)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.transfer-modal-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.transfer-modal-header h3{color:#0f172a;align-items:center;gap:.5rem;margin:0;font-size:1.1rem;display:flex}.modal-close-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;padding:4px;display:flex}.modal-close-btn:hover{color:#0f172a;background:#e2e8f0}.transfer-modal-body{flex-direction:column;gap:1.25rem;padding:1.5rem;display:flex}.transfer-student-summary{background:#f1f5f9;border-radius:10px;justify-content:space-between;align-items:center;padding:.85rem 1rem;display:flex}.transfer-student-summary .name{color:#0f172a;font-size:.95rem;font-weight:700}.transfer-student-summary .meta{color:#64748b;font-size:.8rem}.transfer-field-group{flex-direction:column;gap:.4rem;display:flex}.transfer-field-group label{color:#334155;font-size:.82rem;font-weight:600}.transfer-field-group select{background:#fff;border:1px solid #cbd5e1;border-radius:8px;outline:none;height:42px;padding:0 .85rem;font-size:.9rem}.transfer-preview-box{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;flex-direction:column;gap:.5rem;padding:1rem;display:flex}.preview-row{justify-content:space-between;align-items:center;font-size:.85rem;display:flex}.preview-label{color:#166534;font-weight:600}.preview-value{color:#14532d;align-items:center;gap:.4rem;font-weight:700;display:inline-flex}.vacant-pill{color:#15803d;background:#dcfce7;border-radius:4px;padding:2px 6px;font-size:.72rem}.transfer-note{color:#64748b;margin-top:.25rem;font-size:.78rem;line-height:1.4}.transfer-modal-actions{background:#f8fafc;border-top:1px solid #e2e8f0;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;display:flex}.btn-secondary{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:.5rem 1rem;font-size:.85rem;font-weight:600}.btn-confirm-transfer{color:#fff;cursor:pointer;background:#16a34a;border:none;border-radius:8px;align-items:center;gap:.4rem;padding:.5rem 1.25rem;font-size:.85rem;font-weight:600;transition:opacity .2s;display:inline-flex}.btn-confirm-transfer:hover:not(:disabled){opacity:.9}.btn-confirm-transfer:disabled{opacity:.6;cursor:not-allowed}.transfer-alert-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:.65rem .85rem;font-size:.85rem}.transfer-alert-success{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;padding:.65rem .85rem;font-size:.85rem}.capacity-pill-btn{color:#334155;cursor:pointer;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:6px;align-items:center;gap:6px;padding:.45rem .75rem;font-size:.85rem;font-weight:500;transition:all .2s;display:inline-flex}.capacity-pill-btn:hover{background:#e2e8f0;border-color:#94a3b8}.capacity-overview-panel{flex-direction:column;display:flex}.capacity-bar-track{background:#e2e8f0;border-radius:999px;width:100%;height:8px;margin-top:4px;overflow:hidden}.capacity-bar-fill{border-radius:999px;height:100%;transition:width .3s}.capacity-bar-fill.ok{background:#10b981}.capacity-bar-fill.warning{background:#f59e0b}.capacity-bar-fill.full{background:#ef4444}.capacity-alert-box{border-radius:6px;align-items:center;gap:6px;margin-top:10px;padding:8px 10px;font-size:.78rem;line-height:1.35;display:flex}.capacity-alert-box.alert-full{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.capacity-alert-box.alert-warn{color:#92400e;background:#fffbeb;border:1px solid #fde68a}.substitution-live-banner{color:#92400e;background:#fef3c7;border-radius:6px;align-items:center;gap:6px;margin-bottom:10px;padding:6px 10px;font-size:.75rem;font-weight:600;display:flex}.timetable-period-row.substituted{background:#fffdf5;border-left:3px solid #f59e0b}.timetable-period-row.free-period{background:#fef9c3;border-left:3px solid #d97706}.sub-badge{color:#b45309;text-transform:uppercase;background:#fef3c7;border-radius:4px;padding:2px 6px;font-size:.7rem;font-weight:700}.free-badge{color:#9a3412;text-transform:uppercase;background:#fed7aa;border-radius:4px;padding:2px 6px;font-size:.7rem;font-weight:700}.workspace-tab-bar{gap:8px;margin-bottom:12px;display:flex}.workspace-tab-btn{color:#64748b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:.85rem;font-weight:600;transition:all .2s;display:inline-flex}.workspace-tab-btn:hover{color:#334155;background:#f8fafc}.workspace-tab-btn.active{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.attendance-sheet-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:1.25rem}.btn-mark-all{color:#334155;cursor:pointer;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:6px;align-items:center;gap:4px;padding:6px 12px;font-size:.8rem;font-weight:600;display:inline-flex}.btn-mark-all:hover{background:#e2e8f0}.btn-save-attendance{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:6px;align-items:center;gap:6px;padding:6px 14px;font-size:.8rem;font-weight:600;display:inline-flex}.btn-save-attendance:hover{background:#1d4ed8}.attendance-feedback-banner{border-radius:8px;align-items:center;gap:8px;margin:12px 0;padding:10px 14px;font-size:.85rem;display:flex}.attendance-feedback-banner.success{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0}.attendance-feedback-banner.error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.attendance-summary-row{flex-wrap:wrap;gap:10px;margin:14px 0 16px;display:flex}.attendance-pill-tag{border:1px solid #0000;border-radius:999px;padding:6px 12px;font-size:.8rem;font-weight:500}.attendance-pill-tag.present-tag{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.attendance-pill-tag.absent-tag{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.attendance-pill-tag.late-tag{color:#b45309;background:#fffbeb;border-color:#fde68a}.attendance-pill-tag.total-tag{color:#475569;background:#f8fafc;border-color:#e2e8f0}.attendance-table-container{border:1px solid #f1f5f9;border-radius:8px;overflow-x:auto}.attendance-table{border-collapse:collapse;text-align:left;width:100%;font-size:.88rem}.attendance-table thead{background:#f8fafc;border-bottom:1px solid #e2e8f0}.attendance-table th{color:#64748b;text-transform:uppercase;letter-spacing:.04em;padding:10px 14px;font-size:.75rem;font-weight:700}.attendance-table td{color:#334155;vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:10px 14px}.attendance-row.absent{background:#fffcfc}.roll-pill{color:#1e293b;background:#f1f5f9;border-radius:4px;padding:2px 6px;font-size:.8rem;font-weight:600}.student-cell-name{color:#0f172a;font-weight:600}.house-cell-tag{color:#475569;font-size:.8rem;font-weight:500}.attendance-rate-tag{color:#16a34a;font-size:.8rem;font-weight:600}.attendance-status-toggles{border:1px solid #cbd5e1;border-radius:6px;display:inline-flex;overflow:hidden}.status-btn{color:#64748b;cursor:pointer;background:#fff;border:none;border-right:1px solid #cbd5e1;padding:5px 12px;font-size:.78rem;font-weight:600;transition:all .15s}.status-btn:last-child{border-right:none}.status-btn:hover:not(.selected){background:#f8fafc}.status-btn.p-btn.selected{color:#fff;background:#10b981}.status-btn.a-btn.selected{color:#fff;background:#ef4444}.status-btn.l-btn.selected{color:#fff;background:#f59e0b}.add-student-page-root,.add-student-page-root *,.add-student-page-root :before,.add-student-page-root :after{box-sizing:border-box}.add-student-page-root{color:#0f172a;background-color:#f8fafc;flex-direction:column;min-height:100vh;font-family:Plus Jakarta Sans,system-ui,-apple-system,sans-serif;display:flex}.add-student-container{flex:1;width:100%;max-width:900px;margin:0 auto;padding:40px 24px 60px}.form-header-bar{margin-bottom:24px}.back-link-btn{color:#64748b;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;margin-bottom:12px;padding:6px 0;font-size:.9rem;font-weight:600;transition:color .2s,transform .1s;display:inline-flex}.form-title-group h1{letter-spacing:-.02em;color:#0f172a;align-items:center;gap:12px;margin:0 0 6px;font-size:1.85rem;font-weight:800;display:flex}.title-icon{color:var(--primary,#0084ff)}.form-title-group p{color:#64748b;margin:0;font-size:.95rem}.status-banner{border-radius:12px;align-items:center;gap:12px;margin-bottom:24px;padding:14px 18px;font-size:.92rem;font-weight:500;animation:.3s cubic-bezier(.16,1,.3,1) bannerSlideIn;display:flex}@keyframes bannerSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.status-banner.success{color:#065f46;background-color:#ecfdf5;border:1px solid #a7f3d0}.status-banner.error{color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca}.banner-icon{flex-shrink:0}.status-banner.success .banner-icon{color:#10b981}.status-banner.error .banner-icon{color:#ef4444}.banner-text{flex:1}.banner-action-btn{color:#fff;cursor:pointer;background:#10b981;border:none;border-radius:6px;padding:6px 14px;font-size:.85rem;font-weight:600;transition:opacity .2s}.banner-action-btn:hover{opacity:.9}.student-enrollment-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;overflow:hidden;box-shadow:0 4px 20px #0f172a0d}.form-section{border-bottom:1px solid #f1f5f9;padding:28px 32px}.form-section:last-of-type{border-bottom:none}.section-header{align-items:flex-start;gap:12px;margin-bottom:20px;display:flex}.section-icon{color:var(--primary,#0084ff);flex-shrink:0;margin-top:2px}.section-header h3{color:#0f172a;margin:0 0 4px;font-size:1.1rem;font-weight:700}.section-header p{color:#64748b;margin:0;font-size:.85rem}.form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px;display:grid}.form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:20px;display:grid}@media (width<=960px){.form-grid-3{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}}@media (width<=680px){.form-grid-2,.form-grid-3{grid-template-columns:1fr;gap:16px}.form-section{padding:20px 16px}.add-student-container{padding:20px 14px 60px}}.input-group{flex-direction:column;gap:6px;width:100%;display:flex}.input-group label{color:#334155;white-space:nowrap;align-items:center;height:20px;font-size:.85rem;font-weight:600;line-height:20px;display:flex}.input-group input,.input-group select,.input-group textarea{color:#0f172a;box-sizing:border-box;background:#fff;border:1px solid #cbd5e1;border-radius:8px;outline:none;width:100%;padding:10px 14px;font-family:inherit;font-size:.92rem;transition:all .2s}.input-group input,.input-group select{height:44px}.readonly-input{cursor:default;color:#64748b!important;background:#f8fafc!important}.input-with-badge{align-items:center;width:100%;display:flex;position:relative}.input-with-badge input{box-sizing:border-box;width:100%;height:44px;padding-right:96px}.room-indicator{color:#0369a1;pointer-events:none;white-space:nowrap;background:#e0f2fe;border-radius:6px;align-items:center;gap:5px;padding:4px 8px;font-size:.76rem;font-weight:700;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.input-with-icon{align-items:center;display:flex;position:relative}.field-icon{color:#94a3b8;pointer-events:none;position:absolute;left:12px}.input-with-icon input{width:100%;padding-left:36px}.input-loading{color:#64748b;align-items:center;gap:8px;padding:10px 0;font-size:.85rem;display:flex}.house-pills-row{flex-wrap:wrap;gap:8px;display:flex}.house-pill-btn{cursor:pointer;color:#334155;background:#fff;border:1.5px solid #e2e8f0;border-radius:20px;align-items:center;gap:6px;padding:6px 12px;font-size:.82rem;font-weight:600;transition:all .2s;display:flex}.house-pill-btn .dot{border-radius:50%;width:8px;height:8px}.house-pill-btn:hover{border-color:var(--house-color)}.house-pill-btn.active{color:#0f172a;background:#f8fafc;box-shadow:0 2px 6px #0000000d}.form-actions-bar{background:#f8fafc;border-top:1px solid #e2e8f0;justify-content:flex-end;align-items:center;gap:12px;padding:20px 32px;display:flex}.btn-cancel{color:#475569;cursor:pointer;background:0 0;border:1px solid #cbd5e1;border-radius:8px;padding:10px 20px;font-size:.9rem;font-weight:600;transition:all .2s}.btn-cancel:hover:not(:disabled){color:#0f172a;background:#f1f5f9}.btn-submit{background:var(--primary,#0084ff);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 24px;font-size:.92rem;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 4px 12px #0084ff40}.btn-submit:hover:not(:disabled){opacity:.92;transform:translateY(-1px)}.btn-submit:disabled,.btn-cancel:disabled{opacity:.6;cursor:not-allowed}.auto-sequence-card{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;align-items:center;gap:10px;margin-bottom:20px;padding:12px 18px;font-size:.88rem;animation:.3s bannerSlideIn;display:flex}.auto-sequence-card .sparkle-icon{color:#16a34a;flex-shrink:0}.auto-sequence-card strong{color:#14532d}.auto-sequence-card code{color:#15803d;background:#dcfce7;border-radius:4px;padding:2px 6px;font-weight:700}.auto-pill{color:#0369a1;text-transform:uppercase;letter-spacing:.02em;background:#e0f2fe;border-radius:12px;margin-left:8px;padding:2px 8px;font-size:.72rem;font-weight:700}.field-badge{text-transform:uppercase;letter-spacing:.02em;pointer-events:none;white-space:nowrap;border-radius:6px;align-items:center;gap:4px;padding:4px 8px;font-size:.72rem;font-weight:700;display:inline-flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.field-badge.auto-badge{color:#0369a1;background:#e0f2fe;border:1px solid #bae6fd}.house-input-box{box-sizing:border-box;cursor:default;-webkit-user-select:none;user-select:none;background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;align-items:center;gap:8px;width:100%;height:44px;padding:0 96px 0 14px;font-size:.92rem;display:flex}.house-input-box .dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.overflow-modal-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:1000;background:#0f172a80;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.overflow-modal-card{background:#fff;border-radius:14px;width:100%;max-width:580px;animation:.2s ease-out fadeIn;overflow:hidden;box-shadow:0 20px 25px -5px #00000026}.overflow-modal-header{background:#fef2f2;border-bottom:1px solid #fee2e2;justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.overflow-modal-header h3{color:#991b1b;margin:0;font-size:1.05rem;font-weight:700}.overflow-modal-body{padding:24px}.overflow-alert-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-bottom:16px;padding:10px 14px;font-size:.85rem}.overflow-options-grid{flex-direction:column;gap:16px;display:flex}.overflow-option-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:16px;transition:all .2s}.overflow-option-box.highlight{background:#eff6ff;border-color:#93c5fd}.option-title{color:#0f172a;margin-bottom:4px;font-size:.95rem;font-weight:700}.option-desc{color:#64748b;margin:0;font-size:.82rem;line-height:1.4}.btn-overflow-action{cursor:pointer;color:#1e293b;background:#fff;border:1px solid #cbd5e1;border-radius:6px;align-items:center;gap:6px;padding:7px 14px;font-size:.82rem;font-weight:600;transition:all .15s;display:inline-flex}.btn-overflow-action:hover{background:#f1f5f9}.btn-overflow-action.primary{color:#fff;background:#2563eb;border-color:#2563eb}.btn-overflow-action.primary:hover{background:#1d4ed8}.overflow-modal-footer{background:#f8fafc;border-top:1px solid #e2e8f0;justify-content:flex-end;padding:14px 24px;display:flex}.teachers-page-root,.teachers-page-root *,.teachers-page-root :before,.teachers-page-root :after{box-sizing:border-box}.teachers-page-root{color:#0f172a;background-color:#f8fafc;flex-direction:column;min-height:100vh;font-family:Plus Jakarta Sans,system-ui,-apple-system,sans-serif;display:flex}.teachers-container{flex:1;width:100%;max-width:1380px;margin:0 auto;padding:32px 24px 60px}.page-header-bar{margin-bottom:24px}.header-breadcrumbs{margin-bottom:8px}.back-link-btn{color:#64748b;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:4px 0;font-size:.88rem;font-weight:600;transition:color .15s,transform .15s;display:inline-flex}.back-link-btn:hover{color:#2563eb;transform:translate(-2px)}.page-title-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.page-title-row h1{letter-spacing:-.02em;color:#0f172a;align-items:center;gap:12px;margin:0 0 4px;font-size:1.85rem;font-weight:800;display:flex}.page-title-row h1 .title-icon{color:#2563eb}.page-title-row p{color:#64748b;margin:0;font-size:.92rem}.add-event-btn{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 18px;font-size:.88rem;font-weight:600;transition:all .2s;display:inline-flex;box-shadow:0 2px 4px #2563eb33}.add-event-btn:hover{background:#1d4ed8;transform:translateY(-1px);box-shadow:0 4px 8px #2563eb40}.metrics-grid-row{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-bottom:28px;display:grid}.metric-stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;align-items:center;gap:16px;padding:18px 20px;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 1px 3px #00000005}.metric-stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000000d}.stat-icon-box{border-radius:10px;flex-shrink:0;place-items:center;width:48px;height:48px;display:grid}.stat-icon-box.blue{color:#2563eb;background:#eff6ff}.stat-icon-box.green{color:#10b981;background:#ecfdf5}.stat-icon-box.red{color:#ef4444;background:#fef2f2}.stat-icon-box.purple{color:#9333ea;background:#faf5ff}.stat-content{flex-direction:column;display:flex}.stat-label{color:#64748b;text-transform:uppercase;letter-spacing:.02em;font-size:.8rem;font-weight:600}.stat-number{color:#0f172a;font-size:1.6rem;font-weight:800;line-height:1.2}.stat-number.green-text{color:#10b981}.stat-number.red-text{color:#ef4444}.teachers-main-split-layout{grid-template-columns:1.25fr .95fr;align-items:start;gap:24px;display:grid}.faculty-section-panel{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:24px;box-shadow:0 1px 3px #00000005}.section-panel-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.panel-title-group{align-items:center;gap:10px;display:flex}.panel-title-group h2{color:#0f172a;align-items:center;gap:8px;margin:0;font-size:1.2rem;font-weight:700;display:flex}.live-pill{color:#047857;text-transform:uppercase;letter-spacing:.03em;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:999px;padding:2px 8px;font-size:.72rem;font-weight:700}.panel-search-bar{background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;align-items:center;gap:8px;width:100%;max-width:260px;padding:6px 12px;display:flex}.panel-search-bar .search-icon{color:#94a3b8;flex-shrink:0}.panel-search-bar input{color:#1e293b;background:0 0;border:none;outline:none;width:100%;font-size:.85rem}.filter-pills-row{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.filter-pill{color:#64748b;cursor:pointer;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:5px 12px;font-size:.8rem;font-weight:600;transition:all .15s}.filter-pill:hover{color:#334155;background:#e2e8f0}.filter-pill.active{color:#fff;background:#2563eb;border-color:#2563eb}.filter-pill.green.active{color:#fff;background:#10b981;border-color:#10b981}.filter-pill.red.active{color:#fff;background:#ef4444;border-color:#ef4444}.teachers-cards-list{flex-direction:column;gap:12px;display:flex}.teacher-card-row{background:#fff;border:1px solid #e2e8f0;border-radius:12px;align-items:center;gap:16px;padding:16px;transition:all .2s;display:flex}.teacher-card-row:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #0000000a}.teacher-card-row.is-absent{background:snow;border-left:4px solid #ef4444}.teacher-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.1rem;font-weight:700;display:flex}.teacher-info-block{flex:1;min-width:0}.teacher-name-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px;display:flex}.teacher-name-row h4{color:#0f172a;margin:0;font-size:1rem;font-weight:700}.presence-badge{text-transform:uppercase;letter-spacing:.02em;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:.72rem;font-weight:700;display:inline-flex}.presence-badge.present{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0}.presence-badge.absent{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.teacher-subject-tag{color:#2563eb;align-items:center;gap:5px;margin-bottom:4px;font-size:.82rem;font-weight:600;display:inline-flex}.teacher-contacts-line{color:#64748b;flex-wrap:wrap;align-items:center;gap:14px;font-size:.78rem;display:flex}.teacher-contacts-line span{align-items:center;gap:4px;display:inline-flex}.leave-reason-pill{color:#9f1239;background:#fff1f2;border-radius:6px;margin-top:6px;padding:4px 8px;font-size:.78rem;display:inline-block}.attendance-toggle-controls{flex-shrink:0}.toggle-absent-btn{color:#dc2626;cursor:pointer;background:#fff;border:1px solid #fca5a5;border-radius:6px;padding:6px 14px;font-size:.8rem;font-weight:600;transition:all .15s}.toggle-absent-btn:hover{background:#fef2f2}.toggle-present-btn{color:#fff;cursor:pointer;background:#10b981;border:1px solid #10b981;border-radius:6px;padding:6px 14px;font-size:.8rem;font-weight:600;transition:all .15s}.toggle-present-btn:hover{background:#059669}.calendar-events-panel{flex-direction:column;gap:20px;display:flex}.cal-month-pill{color:#475569;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:3px 10px;font-size:.75rem;font-weight:700}.calendar-card-preview{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:20px;box-shadow:0 1px 3px #00000005}.calendar-days-header{text-align:center;color:#64748b;text-transform:uppercase;border-bottom:1px solid #f1f5f9;grid-template-columns:repeat(7,1fr);margin-bottom:10px;padding-bottom:8px;font-size:.75rem;font-weight:700;display:grid}.calendar-grid-dates{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.calendar-date-cell{aspect-ratio:1;color:#334155;cursor:pointer;background:#fff;border:1px solid #f1f5f9;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;font-size:.82rem;font-weight:600;transition:all .15s;display:flex;position:relative}.calendar-date-cell:hover{background:#f8fafc;border-color:#cbd5e1}.calendar-date-cell.today{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe;font-weight:700}.calendar-date-cell.today .date-number{color:#fff;background:#2563eb;border-radius:50%;place-items:center;width:22px;height:22px;display:grid}.event-dot{background:#2563eb;border-radius:50%;width:5px;height:5px;position:absolute;bottom:4px}.events-timeline-container{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:20px;box-shadow:0 1px 3px #00000005}.events-timeline-container h3{color:#0f172a;margin:0 0 16px;font-size:1rem;font-weight:700}.events-list-wrapper{flex-direction:column;gap:12px;display:flex}.event-timeline-card{background:#f8fafc;border:1px solid #e2e8f0;border-left-width:4px;border-radius:10px;flex-direction:column;gap:6px;padding:14px;transition:transform .15s;display:flex}.event-timeline-card:hover{transform:translate(2px)}.event-card-header{justify-content:space-between;align-items:center;display:flex}.event-category-pill{text-transform:uppercase;border:1px solid;border-radius:4px;padding:2px 6px;font-size:.72rem;font-weight:700}.event-date-text{color:#64748b;align-items:center;gap:4px;font-size:.75rem;display:inline-flex}.event-timeline-card h4{color:#0f172a;margin:0;font-size:.95rem;font-weight:700}.event-timeline-card p{color:#475569;margin:0;font-size:.82rem;line-height:1.4}.event-location-tag{color:#64748b;align-items:center;gap:4px;margin-top:2px;font-size:.75rem;display:inline-flex}.panel-loading,.panel-empty{text-align:center;color:#64748b;padding:40px 16px;font-size:.88rem}.spinner-icon-inline{animation:1s linear infinite spin}.modal-backdrop-blur{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:1000;background:#0f172a80;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.leave-modal-box,.event-modal-box{background:#fff;border-radius:14px;width:100%;max-width:520px;animation:.2s ease-out fadeIn;overflow:hidden;box-shadow:0 20px 25px -5px #00000026}.modal-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.modal-header h3{color:#0f172a;align-items:center;gap:8px;margin:0;font-size:1.05rem;font-weight:700;display:flex}.modal-close-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;place-items:center;padding:4px;display:grid}.modal-close-btn:hover{color:#334155}.modal-body{flex-direction:column;gap:16px;padding:24px;display:flex}.modal-body p{color:#475569;margin:0;font-size:.88rem;line-height:1.5}.input-group{flex-direction:column;gap:6px;display:flex}.input-group label{color:#334155;font-size:.82rem;font-weight:600}.input-group input,.input-group select,.input-group textarea{color:#1e293b;border:1px solid #cbd5e1;border-radius:8px;outline:none;padding:9px 12px;font-family:inherit;font-size:.88rem;transition:border-color .15s,box-shadow .15s}.input-group input:focus,.input-group select:focus,.input-group textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.form-grid-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.modal-footer{background:#f8fafc;border-top:1px solid #e2e8f0;justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}.btn-cancel{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:8px 16px;font-size:.85rem;font-weight:600}.btn-confirm-absent{color:#fff;cursor:pointer;background:#dc2626;border:none;border-radius:8px;padding:8px 18px;font-size:.85rem;font-weight:600}.btn-submit{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;padding:8px 18px;font-size:.85rem;font-weight:600}.btn-submit:hover{background:#1d4ed8}@media (width<=992px){.teachers-main-split-layout{grid-template-columns:1fr}}@media (width<=600px){.teachers-container{padding:20px 14px 40px}.form-grid-2{grid-template-columns:1fr}.page-title-row{flex-direction:column;align-items:flex-start}.add-event-btn{justify-content:center;width:100%}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}
