@import "https://fonts.googleapis.com/css2?family=Montserrat:wght@200;300;400;500;600;700;800;900&family=Outfit:wght@200;300;400;500;600;700;800;900&family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&family=Sora:wght@300;400;500;600;700;800&display=swap";.instademy-logo-root{font-family:"Montserrat", "Outfit", var(--font-display), sans-serif;letter-spacing:-.035em;-webkit-user-select:none;user-select:none;text-transform:uppercase;align-items:center;line-height:1;display:inline-flex}.instademy-logo-emblem{filter:drop-shadow(0 2px 6px #0084ff40);transition:transform .2s}.instademy-logo-root:hover .instademy-logo-emblem{transform:scale(1.05)}.instademy-logo-text{align-items:center;display:inline-flex}.instademy-logo-root .logo-text-insta{color:#fff;letter-spacing:-.04em;font-weight:900}.instademy-logo-root .logo-text-demy{color:#0084ff;letter-spacing:-.01em;font-weight:300}.instademy-logo-root.variant-original .logo-text-insta,.instademy-logo-root.variant-light .logo-text-insta{color:#03256c}.instademy-logo-root.variant-original .logo-text-demy,.instademy-logo-root.variant-light .logo-text-demy{color:#0084ff}.instademy-logo-root.variant-dark .logo-text-insta{color:#fff}.instademy-logo-root.variant-dark .logo-text-demy{color:#0084ff}:root{--font-display:"Sora", sans-serif;--font-body:"DM Sans", sans-serif;--bg-primary:#0f1117;--bg-secondary:#161822;--bg-card:#ffffff0d;--bg-glass:#ffffff14;--border-glass:#ffffff1f;--text-primary:#f0f0f5;--text-secondary:#9ca3af;--text-muted:#6b7280;--admin-primary:#1e3a5f;--admin-accent:#d4a843;--admin-gradient:linear-gradient(135deg, #1e3a5f 0%, #2a4f7f 100%);--staff-primary:#0d9488;--staff-accent:#5eead4;--staff-gradient:linear-gradient(135deg, #0d9488 0%, #14b8a6 100%);--student-primary:#7c3aed;--student-accent:#fbbf24;--student-gradient:linear-gradient(135deg, #7c3aed 0%, #8b5cf6 100%);--parent-primary:#16a34a;--parent-accent:#86efac;--parent-gradient:linear-gradient(135deg, #16a34a 0%, #22c55e 100%);--committee-primary:#374151;--committee-accent:#f59e0b;--committee-gradient:linear-gradient(135deg, #374151 0%, #4b5563 100%);--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--info:#3b82f6;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 12px #0000004d;--shadow-lg:0 8px 24px #0006;--shadow-glow:0 0 20px #ffffff0d;--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-slow:.4s cubic-bezier(.4, 0, .2, 1);--z-dropdown:100;--z-sticky:200;--z-modal-backdrop:300;--z-modal:400;--z-toast:500}[data-theme=light]{--bg-primary:#f4f6fb;--bg-secondary:#fff;--bg-card:#0000000a;--bg-glass:#0000000d;--border-glass:#0000001a;--text-primary:#111827;--text-secondary:#4b5563;--text-muted:#9ca3af;--shadow-sm:0 1px 2px #00000014;--shadow-md:0 4px 12px #0000001a;--shadow-lg:0 8px 24px #00000024;--shadow-glow:0 0 20px #0000000a}[data-theme=light] body{background:var(--bg-primary);color:var(--text-primary)}[data-theme=light] .glass-card{background:var(--bg-glass);border-color:var(--border-glass)}[data-theme=light] .sidebar,[data-theme=light] .top-bar{border-color:var(--border-glass);background:#fff}[data-theme=light] .input{color:var(--text-primary);background:#0000000a;border-color:#0000001f}[data-theme=light] .input::placeholder{color:var(--text-muted)}[data-theme=light] .data-table th,[data-theme=light] .data-table td{border-color:#00000014}[data-theme=light] .btn-secondary{color:var(--text-primary);background:#0000000d;border-color:#0000001f}[data-theme=light] ::-webkit-scrollbar-thumb{background:#00000026}*,:before,:after{box-sizing:border-box;margin:0;padding:0;transition:background-color .25s,border-color .25s,color .15s}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-body);background:var(--bg-primary);color:var(--text-primary);min-height:100vh;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--text-primary);font-weight:600;line-height:1.3}h1{font-size:2.25rem}h2{font-size:1.75rem}h3{font-size:1.375rem}h4{font-size:1.125rem}a{color:inherit;transition:color var(--transition-fast);text-decoration:none}button{font-family:var(--font-body);cursor:pointer;border:none;outline:none;font-size:.875rem;font-weight:500}input,textarea,select{font-family:var(--font-body);font-size:.875rem}.glass-card{background:var(--bg-glass);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-glass);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:transform var(--transition-normal), box-shadow var(--transition-normal)}.glass-card:hover{box-shadow:var(--shadow-lg), var(--shadow-glow);transform:translateY(-2px)}.btn{justify-content:center;align-items:center;gap:var(--space-sm);border-radius:var(--radius-md);min-width:44px;min-height:44px;transition:all var(--transition-normal);padding:10px 20px;font-weight:500;display:inline-flex;position:relative;overflow:hidden}.btn:after{content:"";opacity:0;transition:opacity var(--transition-fast);background:linear-gradient(#ffffff1a,#0000);position:absolute;inset:0}.btn:hover:after{opacity:1}.btn:active{transform:scale(.97)}.btn-primary{background:var(--portal-primary,var(--info));color:#fff}.btn-secondary{background:var(--bg-glass);color:var(--text-primary);border:1px solid var(--border-glass)}.btn-danger{background:var(--danger);color:#fff}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover{background:var(--bg-glass);color:var(--text-primary)}.input{background:var(--bg-glass);border:1px solid var(--border-glass);border-radius:var(--radius-md);width:100%;color:var(--text-primary);min-height:44px;transition:border-color var(--transition-fast);padding:10px 16px;font-size:.875rem}.input:focus{border-color:var(--portal-primary,var(--info));outline:none;box-shadow:0 0 0 3px #3b82f626}.input::placeholder{color:var(--text-muted)}.kpi-card{padding:var(--space-lg)}.kpi-card .kpi-value{font-family:var(--font-display);margin:var(--space-sm) 0;font-size:2rem;font-weight:700}.kpi-card .kpi-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.8125rem}.kpi-card .kpi-trend{align-items:center;gap:4px;font-size:.75rem;display:flex}.kpi-card .kpi-trend.up{color:var(--success)}.kpi-card .kpi-trend.down{color:var(--danger)}.app-layout{min-height:100vh;display:flex}.sidebar{background:var(--bg-secondary);border-right:1px solid var(--border-glass);width:260px;z-index:var(--z-sticky);transition:transform var(--transition-slow);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0}.main-content{flex:1;min-height:100vh;margin-left:260px}.top-bar{background:var(--bg-secondary);border-bottom:1px solid var(--border-glass);height:64px;padding:0 var(--space-xl);z-index:var(--z-sticky);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.page-content{padding:var(--space-xl)}@media (width<=1024px){:root{--space-xl:24px;--space-2xl:32px;--space-3xl:48px}.grid-4{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){:root{--space-md:12px;--space-lg:16px;--space-xl:20px}html{font-size:15px}h1{font-size:1.75rem}h2{font-size:1.5rem}h3{font-size:1.25rem}.page-content{padding:var(--space-md)}.top-bar{padding:0 var(--space-md)}.sidebar{width:280px;transform:translate(-100%);box-shadow:20px 0 50px #00000080}.sidebar.open{transform:translate(0)}.main-content{width:100%;min-width:100vw;margin-left:0}.grid-2,.grid-3,.grid-4{gap:var(--space-md);grid-template-columns:1fr!important}.data-table-container{-webkit-overflow-scrolling:touch;margin:0 calc(-1 * var(--space-md));padding:0 var(--space-md);overflow-x:auto}.data-table{min-width:600px}.btn{width:100%}.btn-sm,.card-header .btn{width:auto}.glass-card{border-radius:var(--radius-md);padding:var(--space-md)!important}.card-header{gap:var(--space-sm);flex-direction:column;align-items:flex-start!important}.form-group label{font-size:.8rem}.input{font-size:1rem}.hide-mobile{display:none!important}}@media (width<=480px){:root{--space-sm:6px;--space-md:10px}.kpi-card .kpi-value{font-size:1.5rem}.user-info{display:none}.section-tabs{white-space:nowrap;-webkit-overflow-scrolling:touch;margin-bottom:var(--space-md);padding-bottom:4px;display:flex;overflow-x:auto}.tab-btn{flex-shrink:0;padding:8px 12px}}.grid-2{gap:var(--space-lg);grid-template-columns:repeat(2,1fr);display:grid}.grid-3{gap:var(--space-lg);grid-template-columns:repeat(3,1fr);display:grid}.grid-4{gap:var(--space-lg);grid-template-columns:repeat(4,1fr);display:grid}.data-table{border-collapse:collapse;width:100%;margin-top:var(--space-md)}.data-table th{text-align:left;text-transform:uppercase;color:var(--text-secondary);border-bottom:1px solid var(--border-glass);padding:12px 16px;font-size:.75rem}.data-table td{border-bottom:1px solid var(--border-glass);padding:14px 16px;font-size:.875rem}.card-header{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-glass);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-fade-in{animation:.4s forwards fadeIn}.animate-slide-in{animation:.3s forwards slideInLeft}.skeleton{background:linear-gradient(90deg, var(--bg-glass) 25%, #ffffff14 50%, var(--bg-glass) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s ease-in-out infinite pulse}.form-group{margin-bottom:20px}.form-group label{color:var(--text-secondary);margin-bottom:8px;font-size:.85rem;font-weight:500;display:block}.form-control{border:1px solid var(--border-glass);width:100%;color:var(--text-primary);background:#ffffff08;border-radius:12px;padding:12px 16px;font-size:1rem;transition:all .2s}.form-control:focus{border-color:var(--info);background:#ffffff0d;outline:none;box-shadow:0 0 0 4px #3b82f61a}.input-group{align-items:stretch;display:flex}.input-group .form-control{border-top-right-radius:0;border-bottom-right-radius:0;flex:1}.input-suffix{background:var(--bg-secondary);border:1px solid var(--border-glass);color:var(--text-muted);border-left:none;border-top-right-radius:12px;border-bottom-right-radius:12px;align-items:center;padding:0 16px;font-size:.9rem;font-weight:600;display:flex}.card{background:var(--bg-card);border:1px solid var(--border-glass);border-radius:20px}.status-badge{border-radius:32px;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto;font-size:32px;display:flex}.status-badge.success{color:var(--success);border:2px solid var(--success);background:#10b9811a}.alert-danger{color:#ff8080;background:#ef44441a;border:1px solid #ef44444d}@media print{.no-print,.sidebar,.top-bar,.section-tabs,.btn,.card-header .btn,.filters-bar button,.kpi-grid,.activity-feed,.quick-actions{display:none!important}body,html{color:#000!important;background:#fff!important}.main-content{width:100%!important;margin-left:0!important;padding:0!important}.page-content,.admin-dashboard{padding:0!important}.glass-card{color:#000!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:#fff!important;border:none!important;margin:0!important;padding:0!important;transform:none!important}.data-table{border:1px solid #000!important;width:100%!important;font-size:10pt!important}.data-table th,.data-table td{color:#000!important;border:1px solid #000!important;padding:8px!important}.data-table th{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;background-color:#f0f0f0!important}.timetable-grid td div{color:#000!important;box-shadow:none!important;background:0 0!important;border:none!important;min-height:auto!important;padding:4px!important}@page{margin:1cm;size:landscape}}
