:root{--color-primary: #f97e6f;--color-primary-dark: #e66b5a;--color-primary-light: #fbcbc4;--color-gray-50: #f9fafb;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-300: #d1d5db;--color-gray-400: #9ca3af;--color-gray-500: #6b7280;--color-gray-600: #4b5563;--color-gray-700: #374151;--color-gray-800: #1f2937;--color-gray-900: #111827;--color-white: #ffffff;--color-black: #000000;--color-text: var(--color-gray-900);--color-background: var(--color-gray-50);--color-success: #10b981;--color-success-light: #d1fae5;--color-success-dark: #047857;--color-error: #ef4444;--color-error-light: #fee2e2;--color-error-dark: #dc2626;--color-warning: #f59e0b;--color-warning-light: #fef3c7;--color-warning-dark: #d97706;--color-border: var(--color-gray-200);--color-border-light: var(--color-gray-100);--color-border-dark: var(--color-gray-300);--color-shadow: rgba(0, 0, 0, .1);--color-shadow-light: rgba(0, 0, 0, .05);--color-shadow-dark: rgba(0, 0, 0, .2);--navbar-height: 80px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-background);color:var(--color-text);line-height:1.6;overflow-x:hidden}#root{min-height:100vh}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.hidden{display:none}.block{display:block}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:.5rem}.gap-4{gap:1rem}.icon{width:20px;height:20px}.app{min-height:100vh;display:flex;flex-direction:column;position:relative;padding-bottom:calc(var(--navbar-height) + env(safe-area-inset-bottom))}.main-content{flex:1;max-width:1200px;margin:0 auto;padding:2rem;width:100%;padding-bottom:calc(2rem + var(--navbar-height) + env(safe-area-inset-bottom))}.page-header{background:var(--color-primary);color:var(--color-white);padding:2rem;text-align:center;margin-bottom:2rem}.page-header h1{font-size:2.5rem;margin-bottom:.5rem;font-weight:700}.page-main{padding:0 1rem}.content-card{background:var(--color-white);border-radius:8px;padding:2rem;border:none;text-align:left;color:var(--color-gray-800);margin-bottom:1rem}.events-stack{display:flex;flex-direction:column;gap:1rem}.event-card{border:1px solid var(--color-border);box-shadow:0 4px 12px var(--color-shadow-light);border-radius:8px;padding:1rem;display:flex;flex-direction:column;gap:.5rem}.event-title{font-weight:700;font-size:1.25rem}.event-date-row{display:flex;align-items:center;gap:.5rem;color:var(--color-gray-900);font-weight:600;font-size:1rem}.event-description{color:var(--color-gray-700);white-space:pre-line}.event-courses{margin-top:.25rem}.event-courses-title{font-weight:600;margin-bottom:.25rem}.event-course-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.25rem;width:max-content}.event-course-item{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:1rem;font-size:.95rem}.event-course-title{color:var(--color-gray-900)}.event-course-time{color:var(--color-gray-800)}.event-status{margin-top:.5rem}.admin-page .page-header{padding:1rem 1.25rem;margin-bottom:1rem}.admin-page .page-header h1{font-size:1.5rem}.admin-page table,.admin-page th,.admin-page td{font-size:.9rem}.admin-page th{font-weight:700}.admin-page table{table-layout:fixed}.admin-page th,.admin-page td{white-space:normal;word-break:break-word;overflow-wrap:anywhere}.admin-page .admin-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-page .admin-table{border-collapse:separate;border-spacing:0;min-width:720px}.admin-page .admin-table thead th{position:sticky;top:0;background:var(--color-white);z-index:2}.admin-page .admin-table th:first-child,.admin-page .admin-table td:first-child{position:static;left:auto;background:inherit;z-index:auto}.admin-page h2,.admin-page section,.admin-page .content-card,.admin-page form,.admin-page div{max-width:100%;overflow-x:hidden}.form-row{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.form-row label{font-weight:600}.helper-text{font-size:.875rem;color:var(--color-gray-500);margin-top:.25rem;margin-bottom:.25rem;line-height:1.4}.message-box{padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem;line-height:1.4}.message-box.success{background-color:var(--color-success-light);color:var(--color-success-dark);border:1px solid var(--color-success)}.message-box.error{background-color:var(--color-error-light);color:var(--color-error-dark);border:1px solid var(--color-error)}.message-box.warning{background-color:var(--color-warning-light);color:var(--color-warning-dark);border:1px solid var(--color-warning)}.message-box.info{background-color:var(--color-primary-light);color:var(--color-primary-dark);border:1px solid var(--color-primary)}.validation-error{color:var(--color-error);font-size:.875rem;margin-top:.25rem;line-height:1.3}.bottom-navigation{position:fixed;bottom:0;left:0;right:0;background:var(--color-white);border-top:1px solid var(--color-border);display:flex;justify-content:space-around;padding:.5rem 0 calc(.5rem + env(safe-area-inset-bottom));box-shadow:0 -2px 10px var(--color-shadow-light);z-index:9999;min-height:var(--navbar-height)}.nav-item{display:flex;flex-direction:column;align-items:center;padding:.5rem;text-decoration:none;color:var(--color-gray-500);min-width:60px}.nav-item.active{color:var(--color-primary)}.nav-icon{width:24px;height:24px;margin-bottom:.25rem}.nav-label{font-size:.75rem;font-weight:500}@media (max-width: 768px){.main-content{padding:.5rem;padding-bottom:calc(.5rem + var(--navbar-height) + env(safe-area-inset-bottom))}.page-main{padding:0}.page-header{padding:1.5rem;margin-bottom:1rem}.page-header h1{font-size:2rem}.content-card{padding:.75rem}.nav-label{font-size:.7rem}.nav-icon{width:20px;height:20px}table,th,td{font-size:.9rem}}.auth-layout{display:flex;align-items:center;justify-content:center;padding:1rem}.btn{display:inline-block;padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:1rem;color:var(--color-white);background:var(--color-gray-600);cursor:pointer}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--color-primary)}.btn-secondary{background:var(--color-gray-600)}.btn-danger{background:var(--color-error)}.p-1{padding:1rem}.mt-1{margin-top:1rem}.mt-2{margin-top:2rem}.mb-1{margin-bottom:1rem}.mb-075{margin-bottom:.75rem}.auth-container{width:100%;max-width:420px}.auth-header{text-align:center;margin-bottom:1rem}.auth-header img{width:100%;height:auto;max-width:none;display:block}.auth-card{background:var(--color-white);border:1px solid var(--color-border);border-radius:8px;padding:1rem;box-shadow:0 2px 8px var(--color-shadow-light)}.auth-logo{width:100%;max-width:85%;height:auto;display:block;margin:1.25rem auto 1.5rem}.auth-form{display:grid;gap:.75rem}.auth-form input[type=email],.auth-form input[type=password],.auth-form input[type=text],.auth-form textarea{width:100%;border:1px solid var(--color-border);border-radius:6px;padding:.625rem .75rem;outline:none;font-family:inherit;font-size:1rem;line-height:1.5}.auth-form .btn{width:100%}.auth-form input[type=email]:focus,.auth-form input[type=password]:focus,.auth-form input[type=text]:focus,.auth-form textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.checkbox-label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;font-weight:500;line-height:1.5}.checkbox-label input[type=checkbox]{width:18px;height:18px;margin:0;flex-shrink:0;cursor:pointer;accent-color:var(--color-primary)}.checkbox-text{flex:1;font-size:.9rem;color:var(--color-gray-700)}.auth-message{background:var(--color-warning-light);border:1px solid var(--color-warning);border-radius:6px;padding:.75rem;margin-bottom:1rem;text-align:center}.auth-message p{color:var(--color-warning-dark);font-size:.9rem;font-weight:500;margin:0}@media (min-width: 768px){.auth-layout{padding:2rem}.auth-card{padding:1.25rem}}
