@import "https://fonts.googleapis.com/css2?family=Prompt:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&display=swap";@keyframes festiveFloat{0%{transform:translateY(0)rotate(0)}to{transform:translateY(-2px)rotate(2deg)}}@keyframes festiveBadgePulse{0%,to{box-shadow:0 2px 6px var(--festive-glow);transform:translateY(0)}50%{box-shadow:0 4px 12px var(--festive-glow);transform:translateY(-1px)}}@media (prefers-reduced-motion:reduce){.festive-header-badge,.festive-deco-tag{animation:none}.festive-canvas-container{display:none!important}}:root{--primary:#900;--primary-hover:#7a0000;--primary-light:#fff0f0;--primary-border:#ffd6d6;--accent:#d90429;--bg-page:#f8fafc;--bg-card:#fff;--bg-glass:#ffffffe0;--text-main:#1e293b;--text-muted:#64748b;--text-light:#94a3b8;--border-color:#e2e8f0;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #00000014, 0 2px 4px -1px #0000000a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001f, 0 10px 10px -5px #0000000a;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px}*{box-sizing:border-box;word-break:normal;overflow-wrap:break-word;line-break:strict;-webkit-line-break:strict;margin:0;padding:0;font-family:Prompt,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}body,button,input,select,textarea,h1,h2,h3,h4,h5,h6,p,span,div{-webkit-font-smoothing:antialiased;word-break:normal;overflow-wrap:break-word;line-break:strict;-webkit-line-break:strict;font-family:Prompt,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}body{background-color:var(--bg-page);color:var(--text-main);padding-bottom:84px;line-height:1.5}.school-header{background:var(--school-header-bg);color:#fff;z-index:40;padding:10px 16px;transition:background .5s ease-in-out;position:relative;box-shadow:0 2px 8px #9003}.school-header-content{justify-content:space-between;align-items:center;gap:12px;max-width:1200px;margin:0 auto;display:flex}.school-title-group{flex:auto;align-items:center;gap:10px;min-width:0;display:flex}.school-logo-badge{width:38px;height:38px;color:var(--primary);background:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:.95rem;font-weight:900;display:flex;box-shadow:0 2px 6px #00000026}.school-title-wrapper{min-width:0;overflow:hidden}.school-title{letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:clamp(.92rem,4.2vw,1.4rem);font-weight:800;line-height:1.2;overflow:hidden}.school-header-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}@media (width<=540px){.school-header{padding:8px 12px}.school-header-content,.school-title-group{gap:8px}.school-logo-badge{width:32px;height:32px;font-size:.85rem}.school-title{font-size:clamp(.85rem,3.8vw,1.15rem)}.admin-text-label{display:none!important}}.school-subtitle{color:#ffffffe0;font-size:.76rem;font-weight:400}.app-main{box-sizing:border-box;width:100%;max-width:1200px;margin:0 auto;padding:20px 16px}.btn{border-radius:var(--radius-md);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-family:inherit;font-size:.95rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.btn-primary{background-color:var(--primary);color:#fff;box-shadow:0 2px 4px #9003}.btn-primary:hover{background-color:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 8px #9900004d}.btn-secondary{background-color:var(--bg-card);color:var(--text-main);border:1px solid var(--border-color)}.btn-secondary:hover{background-color:var(--bg-page);border-color:var(--border-color)}.btn-admin{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff26;border:1px solid #ffffff4d;border-radius:99px;padding:6px 14px;font-size:.85rem}.btn-admin:hover{background:#ffffff40}.btn-admin.active{color:#7a0000;background:#ffc107;border-color:#ffc107;font-weight:700}.grid-cards{grid-template-columns:repeat(1,1fr);gap:14px;display:grid}@media (width>=640px){.grid-cards{grid-template-columns:repeat(2,1fr);gap:16px}}@media (width>=1024px){.grid-cards{grid-template-columns:repeat(3,1fr);gap:20px}}.card-item{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);cursor:pointer;justify-content:space-between;align-items:center;gap:14px;padding:16px;transition:all .2s;display:flex;position:relative;overflow:hidden}.card-item:hover{box-shadow:var(--shadow-md);border-color:var(--primary-border);transform:translateY(-2px)}.card-item-left{flex:1;align-items:center;gap:14px;min-width:0;display:flex}.card-icon{background:var(--primary-light);width:48px;height:48px;color:var(--primary);border:1px solid var(--primary-border);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.5rem;display:flex}.card-title{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;font-size:1.05rem;font-weight:600;overflow:hidden}.card-desc{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:.82rem;overflow:hidden}.bottom-nav{background:var(--bg-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border-color);z-index:50;justify-content:space-around;padding:8px 0;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #0000000d}.bottom-nav-item{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;flex-direction:column;align-items:center;gap:4px;padding:4px 12px;font-family:inherit;font-size:.75rem;font-weight:500;transition:all .2s;display:flex}.bottom-nav-item.active{color:var(--primary);font-weight:700}.bottom-nav-item:hover{color:var(--primary)}.section-header{justify-content:space-between;align-items:center;margin-top:8px;margin-bottom:16px;display:flex}.section-title{color:var(--text-main);align-items:center;gap:10px;font-size:1.15rem;font-weight:700;display:flex}.section-title-bar{background-color:var(--primary);border-radius:4px;width:4px;height:22px}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#0f172aa6;justify-content:center;align-items:center;padding:16px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-card);color:var(--text-main);border:1px solid var(--border-color);border-radius:var(--radius-xl);width:100%;max-width:520px;max-height:90vh;box-shadow:var(--shadow-xl);animation:.25s slideUp;overflow-y:auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%)}}@keyframes folderSlideIn{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0)}}.animate-folder-slide{animation:.28s cubic-bezier(.16,1,.3,1) forwards folderSlideIn}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-header h3{color:var(--text-main);font-size:1.25rem;font-weight:700}.modal-body{padding:24px}.form-group{margin-bottom:18px}.form-label{color:var(--text-main);margin-bottom:6px;font-size:.9rem;font-weight:600;display:block}.form-input,.form-select,.form-textarea{border:1px solid var(--border-color);border-radius:var(--radius-md);outline:none;width:100%;padding:10px 14px;font-family:inherit;font-size:.95rem;transition:all .2s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.badge{border-radius:99px;align-items:center;padding:4px 10px;font-size:.78rem;font-weight:600;display:inline-flex}.badge-red{color:#e11d48;background:#ffe4e6}.badge-indigo{color:#4338ca;background:#e0e7ff}.badge-emerald{color:#047857;background:#d1fae5}.badge-amber{color:#b45309;background:#fef3c7}.badge-blue{color:#1d4ed8;background:#dbeafe}.breadcrumb{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:18px;font-size:.9rem;display:flex}.breadcrumb-link{color:var(--primary);cursor:pointer;font-weight:600;text-decoration:none}.breadcrumb-link:hover{text-decoration:underline}.directory-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);justify-content:space-between;align-items:center;margin-bottom:12px;padding:16px;transition:all .2s;display:flex}.directory-card:hover{box-shadow:var(--shadow-md);border-color:var(--primary-border)}.directory-avatar{background:var(--primary-light);width:48px;height:48px;color:var(--primary);border-radius:50%;justify-content:center;align-items:center;font-size:1.25rem;font-weight:700;display:flex}.schedule-table{border-collapse:separate;border-spacing:0;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:100%;margin-bottom:24px;overflow:hidden}.schedule-table th{background:var(--primary-light);color:var(--primary);text-align:left;border-bottom:1px solid var(--primary-border);padding:12px 16px;font-weight:700}.schedule-table td{border-bottom:1px solid var(--border-color);padding:12px 16px;font-size:.95rem}.schedule-table tr:last-child td{border-bottom:none}.schedule-table tr.break-period td{background:var(--bg-page);color:var(--text-muted);text-align:center;font-weight:600}.schedule-mobile-select{display:block}.schedule-desktop-tabs{align-items:center;gap:6px;display:none}.schedule-plan-pills{flex-wrap:wrap;flex:1;gap:8px;display:flex}@media (width>=640px){.schedule-mobile-select{display:none}.schedule-desktop-tabs{display:flex}}@media (width<=480px){.schedule-period-card{gap:8px!important;padding:10px 12px!important}}.schedule-modal-row{grid-template-columns:1.2fr 1.8fr 1.5fr auto;align-items:center;gap:8px;margin-bottom:8px;display:grid}@media (width<=500px){.schedule-modal-row{grid-template-columns:1fr 1fr}}@media (width<=640px){.app-main{box-sizing:border-box!important;width:100%!important;max-width:100%!important;padding:12px!important}.grid-cards{box-sizing:border-box!important;grid-template-columns:1fr!important;gap:10px!important;width:100%!important;display:grid!important}.card-item{box-sizing:border-box!important;border-radius:14px!important;gap:10px!important;width:100%!important;padding:13px 12px!important}.card-item-left{gap:10px!important;min-width:0!important}.card-icon{border-radius:12px!important;flex-shrink:0!important;width:44px!important;height:44px!important;font-size:1.3rem!important}.card-title{font-size:.98rem!important}.card-desc{font-size:.82rem!important}.directory-card{box-sizing:border-box!important;border-radius:14px!important;gap:10px!important;width:100%!important;margin-bottom:10px!important;padding:13px 12px!important}.directory-avatar{flex-shrink:0!important;width:44px!important;height:44px!important;font-size:1.15rem!important}.section-header{box-sizing:border-box!important;width:100%!important;margin-bottom:14px!important}}@keyframes slideInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0)}}.tab-content-slide{will-change:transform, opacity;animation:.3s cubic-bezier(.16,1,.3,1) forwards slideInUp}.view-slide-in{will-change:transform, opacity;animation:.28s cubic-bezier(.16,1,.3,1) forwards slideInRight}.drag-handle{cursor:grab;color:#94a3b8;-webkit-user-select:none;user-select:none;border-radius:6px;justify-content:center;align-items:center;padding:4px;transition:all .15s;display:inline-flex}.drag-handle:hover{background:var(--primary-light);color:var(--primary)}.drag-handle:active{cursor:grabbing}.card-item[draggable=true],.directory-card[draggable=true]{transition:transform .18s,box-shadow .18s,border-color .18s,opacity .18s}.is-dragging{opacity:.45!important;border:2px dashed var(--primary)!important;transform:scale(.98)!important;box-shadow:0 4px 12px #0003!important}.is-drag-over{border:2px solid var(--primary)!important;box-shadow:0 0 14px var(--primary-light)!important;background-color:var(--primary-light)!important;transform:translateY(-2px)!important}:root{--school-header-bg:linear-gradient(135deg, #800 0%, #a80505 50%, #700000 100%);--festive-badge-bg:#ffffff26;--festive-badge-text:#fff;--festive-badge-border:#ffffff4d;--festive-glow:transparent;--festive-accent:var(--accent)}[data-theme=christmas],:root[data-theme=christmas],html[data-theme=christmas],body[data-theme=christmas]{--primary:#e11d48;--primary-hover:#be123c;--primary-light:#e11d482e;--primary-border:#fb718559;--accent:#10b981;--festive-accent:#fbbf24;--bg-page:#0f1115;--bg-card:#181b22;--bg-glass:#181b22eb;--text-main:#f8fafc;--text-muted:#94a3b8;--text-light:#64748b;--border-color:#ffffff1c;--shadow-sm:0 1px 3px 0 #0006;--shadow-md:0 4px 16px -1px #00000080, 0 2px 6px -1px #0000004d;--shadow-lg:0 10px 30px -3px #0009, 0 4px 14px -2px #0006;--school-header-bg:linear-gradient(135deg, #111318 0%, #4a0c14 45%, #6e101d 75%, #181b22 100%);--festive-badge-bg:linear-gradient(135deg, #fbbf244d 0%, #ffffff1f 100%);--festive-badge-text:#fffdf5;--festive-badge-border:#fbbf248c;--festive-glow:#fbbf244d}[data-theme=newyear],:root[data-theme=newyear],html[data-theme=newyear],body[data-theme=newyear]{--primary:#f59e0b;--primary-hover:#d97706;--primary-light:#f59e0b2e;--primary-border:#fbbf2459;--accent:#fbbf24;--festive-accent:#fef08a;--bg-page:#0b0d13;--bg-card:#131722;--bg-glass:#131722eb;--text-main:#f8fafc;--text-muted:#cbd5e1;--text-light:#94a3b8;--border-color:#fbbf2433;--shadow-sm:0 1px 3px 0 #0006;--shadow-md:0 4px 16px -1px #00000080, 0 2px 6px -1px #0000004d;--shadow-lg:0 10px 30px -3px #0009, 0 4px 14px -2px #0006;--school-header-bg:linear-gradient(135deg, #0d0f15 0%, #1e1b38 45%, #592508 100%);--festive-badge-bg:linear-gradient(135deg, #fbbf2452 0%, #f59e0b2e 100%);--festive-badge-text:#fef3c7;--festive-badge-border:#fbbf2499;--festive-glow:#fbbf2459}html[data-theme=christmas],html[data-theme=newyear],body[data-theme=christmas],body[data-theme=newyear]{background-color:var(--bg-page)!important;background:var(--bg-page)!important;color:var(--text-main)!important}[data-theme=christmas] #root,[data-theme=newyear] #root,[data-theme=christmas] .app-main,[data-theme=newyear] .app-main,[data-theme=christmas] .tab-content-slide,[data-theme=newyear] .tab-content-slide,[data-theme=christmas] .view-slide-in,[data-theme=newyear] .view-slide-in,[data-theme=christmas] .category-section,[data-theme=newyear] .category-section{z-index:2;position:relative;color:var(--text-main)!important;background:0 0!important}[data-theme=christmas] .card-item,[data-theme=newyear] .card-item,[data-theme=christmas] .system-card,[data-theme=newyear] .system-card,[data-theme=christmas] .category-card,[data-theme=newyear] .category-card,[data-theme=christmas] .staff-card,[data-theme=newyear] .staff-card,[data-theme=christmas] .directory-card,[data-theme=newyear] .directory-card,[data-theme=christmas] .schedule-card,[data-theme=newyear] .schedule-card,[data-theme=christmas] .schedule-period-card,[data-theme=newyear] .schedule-period-card,[data-theme=christmas] .activity-card,[data-theme=newyear] .activity-card,[data-theme=christmas] .empty-state-box,[data-theme=newyear] .empty-state-box,[data-theme=christmas] .modal-content,[data-theme=newyear] .modal-content,[data-theme=christmas] article,[data-theme=newyear] article{z-index:4;position:relative;background-color:var(--bg-card)!important;background:var(--bg-card)!important;border-color:var(--border-color)!important;box-shadow:var(--shadow-md)!important;color:var(--text-main)!important}[data-theme=christmas] h1,[data-theme=christmas] h2,[data-theme=christmas] h3,[data-theme=christmas] h4,[data-theme=newyear] h1,[data-theme=newyear] h2,[data-theme=newyear] h3,[data-theme=newyear] h4,[data-theme=christmas] .card-title,[data-theme=newyear] .card-title,[data-theme=christmas] .staff-name,[data-theme=newyear] .staff-name,[data-theme=christmas] .schedule-plan-name,[data-theme=newyear] .schedule-plan-name,[data-theme=christmas] .activity-title,[data-theme=newyear] .activity-title,[data-theme=christmas] .section-title span,[data-theme=newyear] .section-title span,[data-theme=christmas] .modal-header h3,[data-theme=newyear] .modal-header h3,[data-theme=christmas] [style*="color: #1e293b"],[data-theme=newyear] [style*="color: #1e293b"],[data-theme=christmas] [style*="color: #334155"],[data-theme=newyear] [style*="color: #334155"],[data-theme=christmas] [style*="color: #0f172a"],[data-theme=newyear] [style*="color: #0f172a"],[data-theme=christmas] [style*="color: #475569"],[data-theme=newyear] [style*="color: #475569"]{color:var(--text-main)!important}[data-theme=christmas] .card-desc,[data-theme=newyear] .card-desc,[data-theme=christmas] .staff-position,[data-theme=newyear] .staff-position,[data-theme=christmas] .schedule-time,[data-theme=newyear] .schedule-time,[data-theme=christmas] .activity-desc,[data-theme=newyear] .activity-desc,[data-theme=christmas] p,[data-theme=newyear] p,[data-theme=christmas] [style*="color: #64748b"],[data-theme=newyear] [style*="color: #64748b"],[data-theme=christmas] [style*="color: #94a3b8"],[data-theme=newyear] [style*="color: #94a3b8"]{color:var(--text-muted)!important}[data-theme=christmas] .card-icon,[data-theme=newyear] .card-icon{background:var(--primary-light)!important;border-color:var(--primary-border)!important;color:var(--primary)!important}[data-theme=christmas] .directory-avatar,[data-theme=newyear] .directory-avatar{border-color:var(--border-color)!important;color:var(--text-main)!important;background:#ffffff1a!important}[data-theme=christmas] .btn-secondary,[data-theme=newyear] .btn-secondary{background:var(--bg-card)!important;border-color:var(--border-color)!important;color:var(--text-main)!important}[data-theme=christmas] .btn-secondary:hover,[data-theme=newyear] .btn-secondary:hover{background:#ffffff14!important}[data-theme=christmas] .bottom-nav,[data-theme=newyear] .bottom-nav{z-index:50;position:fixed;background:var(--bg-glass)!important;border-top-color:var(--border-color)!important}[data-theme=christmas] .bottom-nav-item,[data-theme=newyear] .bottom-nav-item{color:#94a3b8!important}[data-theme=christmas] .bottom-nav-item.active,[data-theme=newyear] .bottom-nav-item.active{color:var(--primary)!important}[data-theme=christmas] input,[data-theme=newyear] input,[data-theme=christmas] select,[data-theme=newyear] select,[data-theme=christmas] textarea,[data-theme=newyear] textarea,[data-theme=christmas] .search-bar-input,[data-theme=newyear] .search-bar-input,[data-theme=christmas] .search-input,[data-theme=newyear] .search-input,[data-theme=christmas] .form-input,[data-theme=newyear] .form-input{color:#f8fafc!important;border-color:var(--border-color)!important;background:#ffffff14!important}[data-theme=christmas] .search-bar-input::placeholder,[data-theme=newyear] .search-bar-input::placeholder,[data-theme=christmas] .form-input::placeholder,[data-theme=newyear] .form-input::placeholder,[data-theme=christmas] input::placeholder,[data-theme=newyear] input::placeholder{color:#94a3b8!important}[data-theme=christmas] .card-item,[data-theme=newyear] .card-item,[data-theme=christmas] .system-card,[data-theme=newyear] .system-card,[data-theme=christmas] .directory-card,[data-theme=newyear] .directory-card,[data-theme=christmas] article,[data-theme=newyear] article{transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1),border-color .2s;box-shadow:inset 0 1px 1px #ffffff14,0 4px 16px #00000073!important}[data-theme=christmas] .card-item:hover,[data-theme=christmas] .system-card:hover,[data-theme=christmas] .directory-card:hover,[data-theme=christmas] article:hover{transform:translateY(-2px);border-color:#e11d4873!important;box-shadow:inset 0 1px 1px #ffffff24,0 8px 24px #e11d484d!important}[data-theme=newyear] .card-item:hover,[data-theme=newyear] .system-card:hover,[data-theme=newyear] .directory-card:hover,[data-theme=newyear] article:hover{transform:translateY(-2px);border-color:#f59e0b73!important;box-shadow:inset 0 1px 1px #ffffff24,0 8px 24px #f59e0b4d!important}.festive-canvas-container,[data-theme=christmas] .festive-canvas-container,[data-theme=newyear] .festive-canvas-container{pointer-events:none;position:fixed;inset:0;overflow:hidden;z-index:1!important}.festive-deco-tag{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);-webkit-user-select:none;user-select:none;border-radius:9999px;align-items:center;gap:4px;padding:2px 8px;font-size:.72rem;font-weight:600;animation:3s ease-in-out infinite alternate festiveFloat;display:inline-flex}[data-theme=christmas] .festive-deco-tag{color:#6ee7b7;background:#10b98140;border:1px solid #34d39966}[data-theme=newyear] .festive-deco-tag{color:#fef08a;background:#d9770647;border:1px solid #fbbf2473}.festive-header-badge{letter-spacing:.03em;background:var(--festive-badge-bg);color:var(--festive-badge-text);border:1px solid var(--festive-badge-border);-webkit-backdrop-filter:blur(8px);box-shadow:0 2px 6px var(--festive-glow);white-space:nowrap;border-radius:9999px;align-items:center;gap:5px;padding:3px 10px;font-size:.72rem;font-weight:700;transition:all .3s cubic-bezier(.16,1,.3,1);animation:3.5s cubic-bezier(.4,0,.2,1) infinite festiveBadgePulse;display:inline-flex}.santa-hat-icon{pointer-events:none;z-index:10;filter:drop-shadow(0 2px 3px #00000059);width:22px;height:22px;position:absolute;top:-9px;right:-9px;transform:rotate(14deg)}@media (prefers-reduced-motion:reduce){.festive-header-badge,.festive-deco-tag{animation:none}.festive-canvas-container{display:none!important}}
