@import"https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400&family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--color-primary: #0D5C63;--color-primary-light: #1A8A8F;--color-primary-dark: #094449;--color-accent: #E8A838;--color-accent-light: #F5C96A;--color-bg: #F8F9FA;--color-sidebar: #0B191B;--color-surface: #FFFFFF;--color-surface-hover: #F8FAFB;--color-border: #E2E8F0;--color-border-light: #EDF2F7;--color-text: #1A202C;--color-text-muted: #718096;--color-text-light: #A0AEC0;--color-success: #10B981;--color-success-bg: #ECFDF5;--color-warning: #F59E0B;--color-warning-bg: #FFFBEB;--color-danger: #EF4444;--color-danger-bg: #FEF2F2;--color-info: #3B82F6;--color-info-bg: #EFF6FF;--font-display: "Playfair Display", Georgia, serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--shadow-sm: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 4px 6px -1px rgba(0,0,0,.08), 0 2px 4px -1px rgba(0,0,0,.04);--shadow-lg: 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -2px rgba(0,0,0,.05);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body);background-color:var(--color-bg);color:var(--color-text);line-height:1.5;-webkit-font-smoothing:antialiased}.admin-login-page{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(420px,.9fr);min-height:100vh;background:#f8f6ef}.admin-login-story{position:relative;isolation:isolate;display:flex;min-height:100vh;flex-direction:column;justify-content:space-between;overflow:hidden;padding:clamp(32px,6vw,76px);color:#f6f6ed;background:linear-gradient(145deg,#073539f5,#0d5c63f0 58%,#1b746df5),repeating-linear-gradient(135deg,transparent 0 34px,rgba(255,255,255,.035) 35px 36px)}.admin-login-brand{position:relative;z-index:1;display:inline-flex;align-items:center;gap:12px;color:#fffefa}.admin-login-brand-mark{display:grid;width:44px;height:44px;place-items:center;border:1px solid rgba(245,201,106,.55);border-radius:12px;color:#f5c96a;background:#ffffff14}.admin-login-brand strong,.admin-login-brand small{display:block}.admin-login-brand strong{font-family:var(--font-display);font-size:1.2rem;font-weight:700}.admin-login-brand small{margin-top:2px;color:#f6f6ed9e;font-size:.68rem;font-weight:700;letter-spacing:.08em}.admin-login-story-copy{position:relative;z-index:1;max-width:590px;padding:4rem 0}.admin-login-kicker{display:inline-flex;align-items:center;gap:10px;color:#f5c96a;font-size:.74rem;font-weight:800}.admin-login-kicker:before{width:26px;height:1px;background:currentColor;content:""}.admin-login-story-copy h1{margin:1rem 0 1.1rem;color:#fffefa;font-family:var(--font-display);font-size:3.65rem;font-weight:600;line-height:1.12}.admin-login-story-copy h1 em{color:#f5c96a;font-weight:500}.admin-login-story-copy>p{max-width:440px;color:#f6f6edc2;font-size:1.02rem;line-height:1.75}.admin-login-story-signoff{display:flex;align-items:center;gap:9px;margin-top:2rem;color:#d5e9df;font-size:.88rem}.admin-login-story-signoff svg{color:#f5c96a}.admin-login-story-footer{position:relative;z-index:1;display:flex;justify-content:space-between;padding-top:18px;border-top:1px solid rgba(255,255,255,.18);color:#f6f6ed8a;font-size:.68rem;font-weight:700}.admin-login-story-leaf{position:absolute;right:-5rem;bottom:4rem;width:25rem;height:25rem;color:#cde7d91a;stroke-width:.5;transform:rotate(-28deg);pointer-events:none;z-index:0}.admin-login-form-panel{display:grid;min-height:100vh;place-items:center;padding:48px;background:radial-gradient(ellipse at 100% 0%,rgba(232,168,56,.09),transparent 33%),#f8f6ef}.admin-login-form-wrap{width:min(100%,400px)}.admin-login-form-eyebrow{color:var(--color-primary);font-size:.72rem;font-weight:800}.admin-login-form-wrap h2{margin-top:.65rem;color:#173f42;font-family:var(--font-display);font-size:2.35rem;font-weight:600;line-height:1.15}.admin-login-form-intro{margin-top:.65rem;color:#718078;font-size:.92rem}.admin-login-form{display:flex;flex-direction:column;gap:1.1rem;margin-top:2.1rem}.admin-login-field{display:flex;flex-direction:column;gap:.45rem;color:#233c3e;font-size:.82rem;font-weight:700}.admin-login-field>input,.admin-login-password-wrap input{width:100%;height:50px;padding:0 14px;border:1px solid #d9dfd8;border-radius:7px;outline:none;color:#1a202c;background:#fffefa;font:400 .9rem var(--font-body);transition:border-color .16s ease,box-shadow .16s ease}.admin-login-field>input:focus,.admin-login-password-wrap input:focus{border-color:var(--color-primary-light);box-shadow:0 0 0 3px #1a8a8f1f}.admin-login-field input::placeholder{color:#a2aaa4}.admin-login-password-wrap{position:relative;display:block}.admin-login-password-wrap input{padding-right:48px}.admin-login-password-toggle{position:absolute;top:50%;right:8px;display:grid;width:34px;height:34px;place-items:center;border:0;border-radius:5px;color:#6b7c77;background:transparent;transform:translateY(-50%);cursor:pointer}.admin-login-password-toggle:hover{color:var(--color-primary-dark);background:#edf3ed}.admin-login-password-toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.admin-login-remember{display:inline-flex;width:fit-content;align-items:center;gap:9px;color:#64736e;font-size:.81rem}.admin-login-remember input{width:15px;height:15px;accent-color:var(--color-primary)}.admin-login-submit{display:flex;width:100%;min-height:50px;align-items:center;justify-content:space-between;margin-top:.25rem;padding:0 16px 0 18px;border:0;border-radius:7px;color:#fffefa;background:var(--color-primary);font:700 .9rem var(--font-body);cursor:pointer;transition:background .16s ease,transform .16s ease}.admin-login-submit:hover{background:var(--color-primary-dark);transform:translateY(-1px)}.admin-login-submit:disabled{opacity:.72;cursor:wait;transform:none}.admin-login-submit:focus-visible{outline:3px solid rgba(232,168,56,.55);outline-offset:3px}.admin-login-notice{padding:11px 13px;border:1px solid #ead6a9;border-radius:6px;color:#745719;background:#fbf3df;font-size:.8rem;line-height:1.5}.admin-login-form-footer{display:flex;align-items:center;gap:8px;margin-top:2.5rem;padding-top:1rem;border-top:1px solid #e3e1d7;color:#83908a;font-size:.75rem}.admin-login-footer-mark{display:grid;width:24px;height:24px;place-items:center;border-radius:50%;color:var(--color-primary);background:#e4efe8}@media(max-width:900px){.admin-login-page{grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr)}.admin-login-story{padding:36px}.admin-login-story-copy h1{font-size:3rem}.admin-login-form-panel{padding:36px}}@media(max-width:700px){.admin-login-page{grid-template-columns:1fr}.admin-login-story{min-height:310px;padding:24px}.admin-login-story-copy{padding:2.2rem 0}.admin-login-story-copy h1{max-width:520px;font-size:2.45rem}.admin-login-story-copy>p{max-width:500px;font-size:.92rem}.admin-login-story-signoff{margin-top:1.2rem}.admin-login-story-footer{display:none}.admin-login-story-leaf{right:-6rem;bottom:-8rem;width:20rem;height:20rem}.admin-login-form-panel{min-height:auto;padding:48px 24px}.admin-login-form-wrap{max-width:480px}}@media(prefers-reduced-motion:reduce){.admin-login-submit,.admin-login-field>input,.admin-login-password-wrap input{transition:none}}.admin-layout{display:flex;min-height:100vh}.admin-sidebar{width:270px;background-color:var(--color-sidebar);color:#e2e8f0;display:flex;flex-direction:column;flex-shrink:0;border-right:1px solid rgba(255,255,255,.06)}.sidebar-header{padding:24px;border-bottom:1px solid rgba(255,255,255,.06)}.brand-badge{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-size:1.25rem;font-weight:700;color:#fff;text-decoration:none}.brand-badge span{color:var(--color-accent)}.brand-subtitle{font-size:.75rem;color:#718096;text-transform:uppercase;letter-spacing:.08em;margin-top:4px}.sidebar-nav{padding:16px 12px;flex:1;display:flex;flex-direction:column;gap:4px}.nav-link{display:flex;align-items:center;gap:12px;padding:12px 16px;color:#a0aec0;text-decoration:none;border-radius:var(--radius-md);font-size:.9rem;font-weight:500;transition:all .2s ease}.nav-link:hover{color:#fff;background-color:#ffffff0d}.nav-link.active{color:#fff;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 100%);font-weight:600;box-shadow:0 4px 12px #0d5c6359}.sidebar-footer{padding:20px;border-top:1px solid rgba(255,255,255,.06)}.sidebar-logout-btn{display:flex;width:100%;align-items:center;gap:8px;margin-bottom:12px;padding:8px 4px;border:0;color:#b8c5c4;background:transparent;font:500 .84rem var(--font-body);text-align:left;cursor:pointer}.sidebar-logout-btn:hover{color:#fff}.public-link-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;background:#e8a8381f;color:var(--color-accent-light);border:1px solid rgba(232,168,56,.3);border-radius:var(--radius-md);font-size:.85rem;font-weight:600;text-decoration:none;transition:all .2s}.public-link-btn:hover{background:#e8a83840;color:#fff}.admin-main{flex:1;display:flex;flex-direction:column;min-width:0;overflow-y:auto}.admin-header{height:70px;background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;padding:0 32px;position:sticky;top:0;z-index:10}.header-title-box h1{font-size:1.35rem;font-weight:700;color:var(--color-text)}.header-title-box p{font-size:.8rem;color:var(--color-text-muted)}.header-status-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;background:#ecfdf5;color:#065f46;border:1px solid #A7F3D0;border-radius:9999px;font-size:.78rem;font-weight:600}.pulse-dot{width:8px;height:8px;background-color:#10b981;border-radius:50%;box-shadow:0 0 #10b981b3;animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(.95);box-shadow:0 0 #10b981b3}70%{transform:scale(1);box-shadow:0 0 0 8px #10b98100}to{transform:scale(.95);box-shadow:0 0 #10b98100}}.page-container{padding:32px;max-width:1400px;width:100%}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:32px}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:22px;display:flex;align-items:flex-start;justify-content:space-between;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-content h3{font-size:.82rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:8px}.stat-content .stat-number{font-size:1.85rem;font-weight:800;color:var(--color-text);line-height:1.2}.stat-content .stat-sub{font-size:.78rem;color:var(--color-text-light);margin-top:4px}.stat-icon-wrapper{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center}.table-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;margin-bottom:32px}.table-header{padding:20px 24px;border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}.table-title h2{font-size:1.15rem;font-weight:700;color:var(--color-text)}.table-title p{font-size:.82rem;color:var(--color-text-muted)}.table-actions{display:flex;align-items:center;gap:12px}.custom-table{width:100%;border-collapse:collapse;text-align:left}.custom-table th{background:#f8fafc;padding:14px 20px;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);border-bottom:1px solid var(--color-border)}.custom-table td{padding:16px 20px;font-size:.88rem;color:var(--color-text);border-bottom:1px solid var(--color-border-light);vertical-align:middle}.custom-table tr:hover td{background-color:#f8fafc}.events-table-wrapper{overflow-x:auto}.events-table{min-width:1120px;table-layout:fixed}.events-table th:nth-child(1),.events-table td:nth-child(1){width:27%}.events-table th:nth-child(2),.events-table td:nth-child(2){width:13%}.events-table th:nth-child(3),.events-table td:nth-child(3){width:17%}.events-table th:nth-child(4),.events-table td:nth-child(4){width:19%}.events-table th:nth-child(5),.events-table td:nth-child(5){width:11%}.events-table th:nth-child(6),.events-table td:nth-child(6){width:13%}.events-date-cell{vertical-align:middle}.events-date-content{display:flex;flex-direction:column;gap:4px;min-width:124px;line-height:1.35}.event-edit-page{max-width:900px}.event-edit-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:20px}.event-edit-header h2{margin-top:18px;font-size:1.5rem}.event-edit-header p{margin-top:4px;color:var(--color-text-muted);font-size:.88rem}.event-edit-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:28px}.event-form-error{display:flex;align-items:center;gap:8px;padding:12px 16px;margin-bottom:18px;border-radius:8px;background:#fee2e2;color:#991b1b;font-size:.85rem}.event-publish-option{display:flex;align-items:center;gap:8px;margin:4px 0 24px;font-weight:600;cursor:pointer}.event-publish-option input{width:18px;height:18px;accent-color:var(--color-primary)}.event-edit-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:20px;border-top:1px solid var(--color-border)}.event-registrations-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:20px}.event-registrations-header h2{margin-top:18px;font-size:1.5rem}.event-registrations-header p{margin-top:4px;color:var(--color-text-muted);font-size:.88rem}.event-registrations-table{min-width:780px}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.badge-success{background:#ecfdf5;color:#047857}.badge-warning{background:#fffbeb;color:#b45309}.badge-danger{background:#fef2f2;color:#b91c1c}.badge-info{background:#eff6ff;color:#1d4ed8}.badge-neutral{background:#f1f5f9;color:#475569}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 18px;border-radius:var(--radius-md);font-size:.88rem;font-weight:600;cursor:pointer;border:1px solid transparent;transition:all .2s ease;text-decoration:none}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-light);box-shadow:0 4px 12px #0d5c6340}.btn-accent{background:var(--color-accent);color:#0f1b1c}.btn-accent:hover{background:var(--color-accent-light)}.btn-outline{background:transparent;border-color:var(--color-border);color:var(--color-text)}.btn-outline:hover{background:#f1f5f9}.btn-danger-outline{background:transparent;border-color:#fca5a5;color:#dc2626}.btn-danger-outline:hover{background:#fef2f2}.btn-sm{padding:5px 10px;font-size:.8rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:50;padding:20px}.modal-content{background:#fff;border-radius:var(--radius-lg);max-width:680px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0003,0 10px 10px -5px #0000000a}.modal-header{padding:20px 24px;border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between}.modal-header h3{font-size:1.2rem;font-weight:700;color:var(--color-text)}.modal-body{padding:24px}.modal-footer{padding:16px 24px;border-top:1px solid var(--color-border);display:flex;justify-content:flex-end;gap:12px;background:#f8fafc;border-bottom-left-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg)}.form-group{margin-bottom:18px}.form-group label{display:block;font-size:.84rem;font-weight:600;color:var(--color-text);margin-bottom:6px}.form-control{width:100%;padding:10px 14px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.9rem;color:var(--color-text);background:#fff;transition:border-color .2s}.form-control:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #0d5c6326}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.program-manager-image{width:48px;height:40px;object-fit:cover;border-radius:6px;border:1px solid var(--color-border)}.form-group label.program-image-upload{width:100%;min-height:62px;display:flex;align-items:center;justify-content:flex-start;gap:9px;margin-bottom:0;padding:6px;border:1px solid var(--color-border);border-radius:7px;color:var(--color-primary);background:#fff;cursor:pointer;text-align:left;transition:border-color .2s ease,box-shadow .2s ease}.form-group label.program-image-upload:hover,.form-group label.program-image-upload:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px #0d5c6314}.program-image-preview{display:grid;flex:0 0 48px;width:48px;height:48px;place-items:center;overflow:hidden;border-radius:6px;color:var(--color-primary);background:#edf5f3}.program-image-preview img{width:100%;height:100%;object-fit:cover}.program-image-upload-content{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:3px}.program-image-upload-button{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:6px 8px;border-radius:6px;color:#fff;background:var(--color-primary);font-size:.76rem;font-weight:700;line-height:1.2;white-space:nowrap;transition:background .2s ease}.program-image-upload:hover .program-image-upload-button{background:var(--color-primary-dark)}.program-image-upload small{color:var(--color-text-muted);font-size:.68rem;line-height:1.35}.program-image-upload input{display:none}.loading-indicator{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px 24px;color:var(--color-text-muted);font-size:.9rem;font-weight:500}.spinner{width:28px;height:28px;border:3px solid rgba(13,92,99,.15);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
