:root{--color-bg: #ffffff;--color-text: #333333;--color-border: #e5e7eb;--color-primary: #3b82f6;--color-primary-hover: #2563eb;--color-secondary: #6b7280;--color-accent: #60a5fa;--color-accent-hover: #3b82f6;--color-card-bg: #ffffff;--color-card-shadow: rgba(0, 0, 0, .1)}html,body{height:100%;width:100%;margin:0;padding:0;overflow-x:hidden}body{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;color-scheme:light dark;color:var(--color-text);background-color:var(--color-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{display:flex;flex-direction:column;min-height:100%;width:100%}.content-container{width:100%;flex:1}.app-container{display:flex;flex-direction:column;align-items:center;width:100%;max-width:900px;margin-left:auto;margin-right:auto}.calendar-container{background-color:#fff;border-radius:.5rem;padding:1.25rem;box-shadow:0 2px 8px #0000001a;margin-top:1.25rem;width:100%}.calendar-container h2{text-align:center;margin-bottom:1.25rem;color:var(--color-primary)}@media(max-width:640px){.app-container{padding-left:.5rem;padding-right:.5rem}.calendar-container{padding:1rem .75rem}}.heading-1{font-size:1.875rem;font-weight:700;line-height:1.25}@media(min-width:768px){.heading-1{font-size:2.25rem}}.heading-2{font-size:1.5rem;font-weight:600;line-height:1.375}@media(min-width:768px){.heading-2{font-size:1.875rem}}.heading-3{font-size:1.25rem;font-weight:600;line-height:1.375}@media(min-width:768px){.heading-3{font-size:1.5rem}}@media(prefers-color-scheme:dark){:root{--color-bg: #242424;--color-text: rgba(255, 255, 255, .87);--color-border: #444;--color-primary: #60a5fa;--color-primary-hover: #80b5ff;--color-secondary: #adb5bd;--color-accent: #747bff;--color-accent-hover: #8f96ff;--color-card-bg: #2a2a2a;--color-card-shadow: rgba(0, 0, 0, .3)}.calendar-container{background-color:#1f2937;box-shadow:0 2px 15px #0000004d}.calendar-container h2{color:var(--color-primary)}}.admin-page .stat-card{transition:transform .2s ease-in-out,box-shadow .2s ease-in-out}.admin-page .stat-card:hover{transform:translateY(-3px);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.admin-page .stat-icon{display:flex;align-items:center;justify-content:center;width:50px;height:50px}.admin-page .module-card{transition:all .3s ease}.admin-page .module-card:hover{transform:translateY(-5px);box-shadow:0 15px 20px -5px #0000001a,0 10px 10px -5px #0000000a}.admin-page .module-card:hover .module-icon{transform:scale(1.1)}.admin-page .module-icon{transition:transform .2s ease;display:flex;align-items:center;justify-content:center;width:40px;height:40px}.admin-page .fade-in{animation:fadeIn .5s ease-in}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.admin-page .admin-table{width:100%;border-collapse:separate;border-spacing:0;border-radius:8px;overflow:hidden}.admin-page .admin-table th{background-color:var(--color-primary);color:#fff;font-weight:600;padding:12px 15px;text-align:left;font-size:.85rem;letter-spacing:.5px;text-transform:uppercase}.admin-page .admin-table tr:nth-child(2n){background-color:#00000005}.admin-page .admin-table tr:hover{background-color:#3b82f60d}.admin-page .admin-table td{padding:12px 15px;border-bottom:1px solid var(--color-border)}.admin-page .loading-spinner{border:3px solid rgba(0,0,0,.1);border-top:3px solid var(--color-primary);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-color-scheme:dark){.admin-page .admin-table tr:nth-child(2n){background-color:#ffffff08}.admin-page .admin-table tr:hover{background-color:#60a5fa1a}.admin-page .loading-spinner{border:3px solid rgba(255,255,255,.1);border-top:3px solid var(--color-primary)}}@media(max-width:640px){.admin-page .admin-dashboard{padding-left:1rem;padding-right:1rem}.admin-page .stat-icon,.admin-page .module-icon{width:40px;height:40px}.admin-page .admin-table th,.admin-page .admin-table td{padding:8px 10px;font-size:.9rem}}
