@font-face{font-family:'Icons';src:url(/assets/open-iconic/font/fonts/open-iconic-38ade9a063e0cca2363733603f4ed731b25adc3cfa512a1487f7214a44af4297.eot);src:url(/assets/open-iconic/font/fonts/open-iconic-38ade9a063e0cca2363733603f4ed731b25adc3cfa512a1487f7214a44af4297.eot?#iconic-sm) format("embedded-opentype"),url(/assets/open-iconic/font/fonts/open-iconic-7193ea5654497d2356d0a690e3e50f39767fbff4335e57a3443c1435d648a1f2.woff) format("woff"),url(/assets/open-iconic/font/fonts/open-iconic-a7e44ff02577bd12b561b224373ab7acfa358f21133e7474ed42dbf875582fcc.ttf) format("truetype"),url(/assets/open-iconic/font/fonts/open-iconic-b0352db99004cd6672bff535c65ffd0f77a1c94ebd244f85bc072ee4743efdad.otf) format("opentype"),url(/assets/open-iconic/font/fonts/open-iconic-a14a4b752f92a0b245c1fe1bcc0de2283ed30a6ebaa0b913a40425549dacd707.svg#iconic-sm) format("svg");font-weight:normal;font-style:normal}.invitation-code{min-width:150px}.embed-video{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;max-width:100%}.embed-video iframe,.embed-video object,.embed-video embed{position:absolute;top:0;left:0;width:100%;height:100%}.invoice-form{margin-top:1em}:root{--color-bg: #f7f8fa;--color-surface: #ffffff;--color-surface-hover: #f1f3f5;--color-border: #e5e7eb;--color-border-light: #f0f0f3;--color-text: #1a1a2e;--color-text-secondary: #6b7280;--color-text-muted: #9ca3af;--color-primary: #4f46e5;--color-primary-hover: #4338ca;--color-primary-light: #eef2ff;--color-primary-subtle: #e0e7ff;--color-success: #059669;--color-success-light: #ecfdf5;--color-success-border: #a7f3d0;--color-warning: #d97706;--color-warning-light: #fffbeb;--color-warning-border: #fde68a;--color-danger: #dc2626;--color-danger-light: #fef2f2;--color-danger-border: #fecaca;--color-info: #0284c7;--color-info-light: #f0f9ff;--color-info-border: #bae6fd;--color-nav-bg: #ffffff;--color-nav-text: #374151;--color-nav-active: var(--color-primary);--shadow-xs: 0 1px 2px rgba(0,0,0,0.04);--shadow-sm: 0 1px 3px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04);--shadow-md: 0 4px 6px -1px rgba(0,0,0,0.07), 0 2px 4px -1px rgba(0,0,0,0.04);--shadow-lg: 0 10px 15px -3px rgba(0,0,0,0.07), 0 4px 6px -2px rgba(0,0,0,0.03);--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--font-sans: -apple-system, BlinkMacSystemFont, 'Inter', 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif;--font-mono: 'SF Mono', 'Fira Code', 'Cascadia Code', Consolas, monospace;--transition-fast: 150ms ease;--transition-base: 200ms ease}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}h1,h2,h3,h4,h5,h6{font-weight:600;letter-spacing:-0.01em;color:var(--color-text)}h3{font-size:1.5rem}h4{font-size:1.25rem}h5{font-size:1.1rem}h6{font-size:0.95rem}.lead{color:var(--color-text-secondary);font-weight:400}.text-muted{color:var(--color-text-muted) !important}small,.small{color:var(--color-text-muted)}code{font-family:var(--font-mono);font-size:0.875em}a{color:var(--color-primary);transition:color var(--transition-fast)}a:hover{color:var(--color-primary-hover);text-decoration:none}hr{border-top-color:var(--color-border-light)}.wrapper{padding:2rem 1.5rem;max-width:1200px;margin:0 auto}.container{max-width:1200px}.navbar{background:var(--color-nav-bg) !important;border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-xs);padding:0.5rem 1.5rem;min-height:56px}.navbar-brand{font-weight:700;font-size:1.05rem;color:var(--color-text) !important;letter-spacing:-0.02em;display:flex;align-items:center;gap:0.5rem}.navbar-brand:hover{color:var(--color-primary) !important}.navbar-brand img{height:40px;width:auto}.navbar .nav-link{color:var(--color-nav-text) !important;font-size:0.875rem;font-weight:500;padding:0.5rem 0.85rem !important;border-radius:var(--radius-sm);transition:all var(--transition-fast);position:relative}.navbar .nav-link:hover{color:var(--color-primary) !important;background:var(--color-primary-light)}.navbar .nav-link.active{color:var(--color-primary) !important;background:var(--color-primary-light)}.navbar .nav-link .oi{font-size:0.75rem;margin-right:0.25rem;opacity:0.7}.navbar .btn-link{color:var(--color-nav-text) !important;font-size:0.875rem;font-weight:500;text-decoration:none;padding:0.5rem 0.85rem !important}.navbar .btn-link:hover{color:var(--color-primary) !important;background:var(--color-primary-light);border-radius:var(--radius-sm)}.navbar-toggler{border:1px solid var(--color-border) !important;padding:0.35rem 0.6rem}.navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(55, 65, 81, 0.9)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important}.card{border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow var(--transition-base)}.card:hover{box-shadow:var(--shadow-md)}.card-header{background:var(--color-surface) !important;border-bottom:1px solid var(--color-border-light);color:var(--color-text) !important;font-weight:600;padding:1rem 1.25rem}.card-header h5,.card-header h6{color:var(--color-text) !important}.card-body{padding:1.25rem}.card-header.bg-primary,.card-header.bg-success,.card-header.bg-warning,.card-header.bg-danger,.card-header.bg-info{background:var(--color-surface) !important;color:var(--color-text) !important}.card-header.bg-primary{border-left:3px solid var(--color-primary)}.card-header.bg-success{border-left:3px solid var(--color-success)}.card-header.bg-warning{border-left:3px solid var(--color-warning);color:var(--color-text) !important}.card-header.bg-danger{border-left:3px solid var(--color-danger);color:var(--color-text) !important}.card-header.bg-info{border-left:3px solid var(--color-info)}.card-header.bg-primary .text-white,.card-header.bg-success .text-white,.card-header.bg-warning .text-dark,.card-header.bg-danger .text-white,.card-header.bg-info .text-white{color:var(--color-text) !important}.card.border-primary{border-color:var(--color-primary-subtle) !important}.card.border-info{border-color:var(--color-info-border) !important}.card.border-success{border-color:var(--color-success-border) !important}.card.border-warning{border-color:var(--color-warning-border) !important}.card.border-danger{border-color:var(--color-danger-border) !important}.card.border-secondary{border-color:var(--color-border) !important}.card.border-light{border-color:var(--color-border-light) !important}.card.text-center .card-body h3{font-size:1.75rem;font-weight:700;letter-spacing:-0.02em}.table{margin-bottom:0;font-size:0.9rem;background:var(--color-surface)}.table th{font-weight:600;font-size:0.8rem;text-transform:uppercase;letter-spacing:0.04em;color:var(--color-text-secondary);border-top:none;padding:0.75rem 1rem}.table td{padding:0.75rem 1rem;vertical-align:middle;border-top-color:var(--color-border-light)}.thead-light th{background:var(--color-bg) !important;border-bottom:1px solid var(--color-border) !important;color:var(--color-text-secondary) !important}.table-hover tbody tr:hover{background:var(--color-surface-hover)}.table-sm td,.table-sm th{padding:0.5rem 0.75rem}.table-bordered{border-color:var(--color-border-light)}.table-bordered td,.table-bordered th{border-color:var(--color-border-light)}.btn{font-weight:500;font-size:0.875rem;border-radius:var(--radius-md);padding:0.5rem 1rem;transition:all var(--transition-fast);border:1px solid transparent;letter-spacing:0}.btn:focus{box-shadow:0 0 0 3px var(--color-primary-subtle)}.btn-lg{font-size:1rem;padding:0.625rem 1.5rem;border-radius:var(--radius-md)}.btn-sm{font-size:0.8rem;padding:0.3rem 0.65rem;border-radius:var(--radius-sm)}.btn-primary{background:var(--color-primary);border-color:var(--color-primary)}.btn-primary:hover,.btn-primary:focus{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn-success{background:var(--color-success);border-color:var(--color-success)}.btn-success:hover{background:#047857;border-color:#047857}.btn-danger{background:var(--color-danger);border-color:var(--color-danger)}.btn-warning{background:var(--color-warning);border-color:var(--color-warning);color:#fff}.btn-warning:hover{background:#b45309;border-color:#b45309;color:#fff}.btn-outline-primary{color:var(--color-primary);border-color:var(--color-primary)}.btn-outline-primary:hover{background:var(--color-primary);border-color:var(--color-primary)}.btn-outline-secondary{color:var(--color-text-secondary);border-color:var(--color-border)}.btn-outline-secondary:hover{background:var(--color-surface-hover);border-color:var(--color-border);color:var(--color-text)}.btn-outline-danger{color:var(--color-danger);border-color:var(--color-danger-border)}.btn-outline-danger:hover{background:var(--color-danger);border-color:var(--color-danger);color:#fff}.btn-outline-warning{color:var(--color-warning);border-color:var(--color-warning-border)}.btn-outline-info{color:var(--color-info);border-color:var(--color-info-border)}.btn-outline-info:hover{background:var(--color-info);border-color:var(--color-info);color:#fff}.btn-outline-dark{color:var(--color-text);border-color:var(--color-border)}.btn-outline-dark:hover{background:var(--color-text);color:#fff}.btn-link{color:var(--color-primary);font-weight:500}.form-control{border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:0.9rem;padding:0.5rem 0.75rem;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);background:var(--color-surface)}.form-control:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-subtle)}.form-control-lg{font-size:1rem;padding:0.625rem 1rem;border-radius:var(--radius-md)}.form-group label{font-weight:500;font-size:0.875rem;color:var(--color-text);margin-bottom:0.35rem}.form-text{color:var(--color-text-muted);font-size:0.8rem}.input-group-text{background:var(--color-bg);border-color:var(--color-border);font-size:0.875rem;color:var(--color-text-secondary)}.custom-control-input:checked ~ .custom-control-label::before{background-color:var(--color-primary);border-color:var(--color-primary)}.custom-control-input:focus ~ .custom-control-label::before{box-shadow:0 0 0 3px var(--color-primary-subtle)}.custom-control-label{font-weight:400;line-height:1.5}.badge{font-weight:500;font-size:0.75rem;padding:0.3em 0.65em;border-radius:999px;letter-spacing:0.01em}.badge-primary{background:var(--color-primary)}.badge-success{background:var(--color-success)}.badge-warning{background:var(--color-warning);color:#fff}.badge-danger{background:var(--color-danger)}.badge-info{background:var(--color-info)}.badge-secondary{background:var(--color-text-muted)}.badge-light{background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border)}.badge-dark{background:var(--color-text)}#alerts{margin-bottom:0}.alert{border-radius:var(--radius-md);font-size:0.9rem;padding:0.85rem 1.15rem;border:none;font-weight:500;background:var(--color-surface)}.alert-danger{background:#fef2f2;color:var(--color-danger);border-left:3px solid var(--color-danger)}.alert-primary{background:#eef2ff;color:var(--color-primary);border-left:3px solid var(--color-primary)}.alert-success{background:#ecfdf5;color:var(--color-success);border-left:3px solid var(--color-success)}.alert-info{background:#e0f2fe;color:var(--color-info);border-left:3px solid var(--color-info)}.alert-warning{background:#fef3c7;color:var(--color-warning);border-left:3px solid var(--color-warning)}.pagination{gap:0.25rem}.page-link{border:1px solid var(--color-border);border-radius:var(--radius-sm) !important;color:var(--color-text-secondary);font-size:0.85rem;padding:0.35rem 0.7rem;margin:0}.page-link:hover{background:var(--color-primary-light);color:var(--color-primary);border-color:var(--color-primary-subtle)}.page-item.active .page-link{background:var(--color-primary);border-color:var(--color-primary)}.page-item.disabled .page-link{color:var(--color-text-muted);background:var(--color-bg)}.dropdown-menu{border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:0.35rem}.dropdown-item{border-radius:var(--radius-sm);font-size:0.875rem;padding:0.45rem 0.75rem}.dropdown-item:hover{background:var(--color-primary-light);color:var(--color-primary)}.list-group-item{border-color:var(--color-border-light);padding:0.85rem 1.25rem;font-size:0.9rem}.list-group-item:hover{background:var(--color-surface-hover)}.progress{border-radius:var(--radius-sm);background:var(--color-bg);height:6px}.progress-bar{background:var(--color-primary);border-radius:var(--radius-sm)}.embed-video{border-radius:var(--radius-lg);overflow:hidden}.text-success{color:var(--color-success) !important}.text-danger{color:var(--color-danger) !important}.text-warning{color:var(--color-warning) !important}.text-primary{color:var(--color-primary) !important}.text-info{color:var(--color-info) !important}.bg-primary{background-color:var(--color-primary) !important}.bg-success{background-color:var(--color-success) !important}.bg-warning{background-color:var(--color-warning) !important}.bg-danger{background-color:var(--color-danger) !important}.bg-info{background-color:var(--color-info) !important}.border-primary{border-color:var(--color-primary-subtle) !important}.section-header{font-size:0.8rem;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;color:var(--color-text-muted);margin-bottom:1rem}.stat-card .card-body{padding:1.25rem}.stat-card .stat-value{font-size:2rem;font-weight:700;letter-spacing:-0.03em;line-height:1.2}.stat-card .stat-label{font-size:0.8rem;color:var(--color-text-muted);font-weight:500;margin-top:0.25rem}.empty-state{text-align:center;padding:3rem 1rem;color:var(--color-text-muted)}.empty-state .oi{font-size:2rem;display:block;margin-bottom:0.75rem;opacity:0.4}.card-footer{background:var(--color-bg);border-top:1px solid var(--color-border-light);padding:0.75rem 1.25rem}dl.row dt{font-size:0.85rem;color:var(--color-text-secondary);font-weight:500}dl.row dd{font-size:0.9rem;color:var(--color-text)}@media (max-width: 768px){.wrapper{padding:1.25rem 1rem}.card .card-body{padding:1rem}.navbar{padding:0.5rem 1rem}.stat-card .stat-value{font-size:1.5rem}}html{scroll-behavior:smooth}.card,.btn,.alert,.badge,.form-control{transition:all var(--transition-fast)}::selection{background:var(--color-primary-subtle);color:var(--color-primary-hover)}.admin-top-bar{background:var(--color-nav-bg);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-xs);padding:0.5rem 1.5rem;min-height:56px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:1030}.admin-top-bar .navbar-brand{font-weight:700;font-size:1.05rem;color:var(--color-text);letter-spacing:-0.02em;display:flex;align-items:center;gap:0.5rem;text-decoration:none}.admin-top-bar .navbar-brand:hover{color:var(--color-primary)}.admin-top-bar .navbar-brand img{height:40px;width:auto}.admin-top-bar-right{display:flex;align-items:center;gap:1rem}.admin-user-info{font-size:0.8rem;font-weight:500;color:var(--color-text-secondary)}.admin-user-info .oi{font-size:0.7rem;opacity:0.5;margin-right:0.2rem}.sidebar-toggle{display:none;background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:0.35rem 0.6rem;cursor:pointer;color:var(--color-text)}.sidebar-toggle svg{display:block}.admin-layout{display:flex;min-height:calc(100vh - 56px)}.sidebar{width:240px;min-width:240px;background:var(--color-surface);border-right:1px solid var(--color-border);padding:1.25rem 0;overflow-y:auto;position:sticky;top:56px;height:calc(100vh - 56px);display:flex;flex-direction:column}.sidebar-header{padding:0 1rem 1rem;border-bottom:1px solid var(--color-border-light);margin-bottom:0.75rem}.sidebar-header .school-name{font-size:0.8rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:0.04em;margin:0;line-height:1.4}.sidebar-nav{list-style:none;padding:0;margin:0;flex:1}.sidebar-nav .nav-section{font-size:0.7rem;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;color:var(--color-text-muted);padding:1rem 1.25rem 0.4rem}.sidebar-nav .nav-item{padding:0 0.5rem}.sidebar-nav .nav-link{display:flex;align-items:center;gap:0.6rem;padding:0.5rem 0.75rem;font-size:0.875rem;font-weight:500;color:var(--color-nav-text);border-radius:var(--radius-sm);transition:all var(--transition-fast);text-decoration:none}.sidebar-nav .nav-link .oi{font-size:0.8rem;opacity:0.65;width:1rem;text-align:center}.sidebar-nav .nav-link:hover{color:var(--color-primary);background:var(--color-primary-light)}.sidebar-nav .nav-link.active{color:var(--color-primary);background:var(--color-primary-light);font-weight:600}.sidebar-nav .nav-link.active .oi{opacity:1}.sidebar-nav .nav-link .badge{margin-left:auto;font-size:0.7rem}.sidebar-footer{padding:0.75rem 0.5rem 0;margin-top:auto;border-top:1px solid var(--color-border-light)}.sidebar-footer .nav-link{display:flex;align-items:center;gap:0.6rem;padding:0.5rem 0.75rem;font-size:0.875rem;font-weight:500;color:var(--color-text-secondary);border-radius:var(--radius-sm);transition:all var(--transition-fast);text-decoration:none}.sidebar-footer .nav-link:hover{color:var(--color-danger);background:var(--color-danger-light)}.sidebar-footer .nav-link .oi{font-size:0.8rem;opacity:0.65;width:1rem;text-align:center}.admin-content{flex:1;min-width:0;padding:2rem 1.5rem;max-width:1200px}.sidebar-backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.3);z-index:1039}@media (max-width: 991.98px){.sidebar-toggle{display:block}.sidebar{position:fixed;top:0;left:-260px;height:100vh;z-index:1040;box-shadow:var(--shadow-lg);transition:left var(--transition-base)}body.sidebar-open .sidebar{left:0}body.sidebar-open .sidebar-backdrop{display:block}.admin-content{padding:1.25rem 1rem}}
