@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap";:root{--font-heading:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-body:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--bg-primary:#070913;--bg-secondary:#0d1020;--bg-tertiary:#14182b;--card-bg:#0a0f1e8c;--card-bg-hover:#0f162cb3;--card-border:#ffffff0d;--card-border-hover:#6366f140;--accent-primary:#6366f1;--accent-primary-hover:#4f46e5;--accent-primary-glow:#6366f126;--accent-secondary:#a855f7;--accent-secondary-hover:#9333ea;--accent-teal:#14b8a6;--accent-teal-glow:#14b8a61a;--color-success:#10b981;--color-success-bg:#10b9811a;--color-warning:#f59e0b;--color-warning-bg:#f59e0b1a;--color-danger:#ef4444;--color-danger-bg:#ef44441a;--color-info:#0ea5e9;--color-info-bg:#0ea5e91a;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--text-link:#818cf8;--glow-shadow:0 0 25px #6366f133;--card-shadow:0 20px 50px -15px #000000b3;--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--radius-full:9999px;--transition-fast:.15s ease;--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.5s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);letter-spacing:-.02em;color:var(--text-primary);font-weight:700}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--accent-primary)}.moving-bg{z-index:0;background:#060811;width:100%;height:100%;position:fixed;top:0;left:0;overflow:hidden}.moving-bg:before{content:"";background:radial-gradient(circle at 30% 20%,#294aba40 0%,#0000 55%),radial-gradient(circle at 70% 60%,#14b8a638 0%,#0000 50%),radial-gradient(circle at 40% 80%,#f59e0b26 0%,#0000 45%),radial-gradient(circle at 80% 20%,#294aba2e 0%,#0000 50%);width:200%;height:200%;animation:25s linear infinite rotateBg;position:absolute;top:-50%;left:-50%}@keyframes rotateBg{0%{transform:rotate(0)scale(1)}50%{transform:rotate(180deg)scale(1.1)}to{transform:rotate(360deg)scale(1)}}.glass-card{background:var(--card-bg);border:1px solid var(--card-border);-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-md);box-shadow:var(--card-shadow);transition:border-color var(--transition-normal), background-color var(--transition-normal), transform var(--transition-normal)}.glass-card:hover{border-color:var(--card-border-hover);background:var(--card-bg-hover)}.dashboard-container{z-index:1;background:0 0;min-height:100vh;display:flex;position:relative}.main-content{flex-direction:column;flex:1;gap:2rem;height:100vh;padding:2.5rem;display:flex;overflow-y:auto}button,.btn{font-family:var(--font-body);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);border:none;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 100%);color:#fff;box-shadow:0 4px 15px #6366f14d}.btn-primary:hover{box-shadow:0 6px 20px #6366f180, var(--glow-shadow);transform:translateY(-2px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--bg-tertiary);border:1px solid var(--card-border);color:var(--text-primary)}.btn-secondary:hover{background:var(--card-bg-hover);border-color:var(--text-muted)}.form-group{text-align:left;flex-direction:column;gap:.5rem;margin-bottom:1.25rem;display:flex}label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);font-size:.75rem;font-weight:700}input,select,textarea{font-family:var(--font-body);border:1px solid var(--card-border);border-radius:var(--radius-sm);color:var(--text-primary);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);background:#0a0f1e80;padding:.85rem 1.1rem;font-size:.9rem}input[type=date]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;position:relative}input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.7;transition:opacity var(--transition-fast)}input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1}input:focus,select:focus,textarea:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary-glow);outline:none}.badge{font-family:var(--font-body);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.02em;align-items:center;gap:.25rem;padding:.25rem .625rem;font-size:.72rem;font-weight:700;display:inline-flex}.badge-success{background:var(--color-success-bg);color:var(--color-success)}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning)}.badge-danger{background:var(--color-danger-bg);color:var(--color-danger)}.badge-info{background:var(--color-info-bg);color:var(--color-info)}.welcome-container{z-index:1;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex;position:relative}.welcome-header{text-align:center;max-width:600px;margin-bottom:3.5rem}.welcome-logo{background:linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 100%);color:#fff;border-radius:12px;justify-content:center;align-items:center;width:50px;height:50px;margin-bottom:1.25rem;font-size:1.5rem;font-weight:800;display:inline-flex;box-shadow:0 0 25px #6366f166}.welcome-title{letter-spacing:-.03em;WebkitBackgroundClip:text;WebkitTextFillColor:transparent;background:linear-gradient(135deg,#fff 40%,#c084fc 100%);margin-bottom:.5rem;font-size:3rem;font-weight:800}.welcome-subtitle{color:var(--text-secondary);font-size:1.1rem}.login-options-grid{grid-template-columns:repeat(2,1fr);gap:2.5rem;width:100%;max-width:850px;display:grid}.login-card{text-align:center;border:1px solid #ffffff08;flex-direction:column;gap:1.5rem;padding:2.5rem;display:flex;position:relative;overflow:hidden}.login-card:after{content:"";width:100%;height:4px;position:absolute;top:0;left:0}.login-card.admin-card:after{background:linear-gradient(90deg, var(--accent-primary) 0%, var(--accent-teal) 100%)}.login-card.parent-card:after{background:linear-gradient(90deg, var(--accent-secondary) 0%, #ec4899 100%)}.login-card:hover{transform:translateY(-5px)}.login-card-icon{border-radius:12px;justify-content:center;align-items:center;width:54px;height:54px;margin:0 auto .5rem;display:flex}.admin-card-icon{color:var(--accent-primary);background:#6366f11a}.parent-card-icon{color:var(--accent-secondary);background:#a855f71a}.login-card-title{margin-bottom:.25rem;font-size:1.5rem;font-weight:700}.login-card-desc{color:var(--text-secondary);font-size:.875rem}.login-form{flex-direction:column;gap:1rem;width:100%;margin-top:.5rem;display:flex}@media (width<=768px){.login-options-grid{grid-template-columns:1fr;gap:1.5rem}.welcome-title{font-size:2.25rem}}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn var(--transition-normal) forwards}.calendar-grid{background:var(--card-border);border-radius:var(--radius-md);border:1px solid var(--card-border);grid-template-columns:repeat(7,1fr);gap:1px;display:grid;overflow:hidden}.calendar-day-header{background:var(--bg-secondary);text-align:center;color:var(--text-secondary);text-transform:uppercase;padding:.75rem;font-size:.75rem;font-weight:700}.calendar-cell{background:var(--bg-primary);min-height:110px;transition:background-color var(--transition-fast);flex-direction:column;gap:.25rem;padding:.5rem;display:flex}.calendar-cell.inactive{opacity:.4}.calendar-cell.today{background:#6366f10d}.calendar-cell:hover{background:var(--bg-tertiary)}.calendar-event{text-overflow:ellipsis;white-space:nowrap;cursor:pointer;transition:transform var(--transition-fast);border-radius:4px;padding:.25rem .5rem;font-size:.7rem;font-weight:600;overflow:hidden}.calendar-event:hover{transform:scale(1.02)}.tab-container{border-bottom:1px solid var(--card-border);gap:.5rem;padding-bottom:.5rem;display:flex}.tab-button{color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;padding:.5rem 1rem;font-weight:600}.tab-button.active{color:var(--accent-primary);background:#6366f11a}.tab-button:hover:not(.active){color:var(--text-primary);background:#ffffff05}.table-container{width:100%;overflow-x:auto}.custom-table{border-collapse:collapse;text-align:left;width:100%}.custom-table th{border-bottom:1px solid var(--card-border);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;padding:1rem;font-size:.8rem;font-weight:600}.custom-table td{border-bottom:1px solid var(--card-border);color:var(--text-primary);padding:1.25rem 1rem;font-size:.9rem}.custom-table tr:last-child td{border-bottom:none}.custom-table tr:hover td{background:#ffffff03}.parent-nav-btn{width:100%;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-radius:8px;justify-content:flex-start;align-items:center;gap:.75rem;padding:.7rem .85rem;font-size:.85rem;font-weight:600;display:flex;position:relative}.parent-nav-btn:hover:not(.active){color:var(--text-primary);background-color:#ffffff05}.parent-nav-btn.active{color:var(--text-primary);background-color:#a855f714}.parent-nav-btn.active:before{content:"";background-color:var(--accent-secondary);width:3px;height:60%;box-shadow:0 0 8px var(--accent-secondary);border-radius:0 4px 4px 0;position:absolute;top:20%;left:0}.admin-nav-btn{width:100%;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;justify-content:flex-start;align-items:center;gap:.85rem;padding:.75rem 1rem;font-size:.9rem;font-weight:600;display:flex;position:relative}.admin-nav-btn:hover:not(.active){color:var(--text-primary);background-color:#ffffff05}.admin-nav-btn.active{color:var(--text-primary);background-color:#6366f114}.admin-nav-btn.active:before{content:"";background-color:var(--accent-primary);width:3px;height:60%;box-shadow:0 0 8px var(--accent-primary);border-radius:0 4px 4px 0;position:absolute;top:20%;left:0}
