:root{--bg-gradient: linear-gradient(160deg, #0f0f14 0%, #1a1a24 50%, #0d0d12 100%);--bg-page: #0f0f14;--text-primary: #e8e6e3;--text-muted: #9a9996;--text-footer: #6b6a67;--accent-gold: #c9a227;--accent-gold-light: #e8d48b;--accent-gold-gradient: linear-gradient(135deg, #c9a227 0%, #a88622 100%);--accent-gold-text: linear-gradient(135deg, #c9a227 0%, #e8d48b 100%);--card-bg: rgba(255, 255, 255, .04);--card-border: rgba(255, 255, 255, .08);--border-subtle: rgba(255, 255, 255, .1);--border-input: rgba(255, 255, 255, .15);--input-bg: rgba(0, 0, 0, .2);--error-color: #e07c6e;--radius-sm: 8px;--radius-md: 12px;--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--bottom-nav-height: 56px;--safe-area-bottom: env(safe-area-inset-bottom, 0px);--ios-nav-top: auto;--ios-nav-bottom: 0px;--ios-nav-transform: none}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;min-height:100%;background-color:var(--bg-page)}body{margin:0;min-height:100vh;min-height:100dvh;font-family:var(--font-sans);background:var(--bg-gradient);background-color:var(--bg-page);background-attachment:fixed;color:var(--text-primary)}#root{min-height:100%;background:inherit}a{color:var(--accent-gold);text-decoration:none;transition:color .15s ease}a:hover{color:var(--accent-gold-light)}button{font-family:inherit;cursor:pointer}.page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1rem}.page-inner{max-width:42rem;width:100%}.container{max-width:42rem;width:100%;margin:0 auto;padding:0 1rem}.container-wide{max-width:64rem}.card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-md);padding:1.75rem}.heading{font-size:clamp(1.75rem,4vw,2.25rem);font-weight:700;margin:0 0 .5rem;letter-spacing:-.02em;background:var(--accent-gold-text);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.heading-sm{font-size:1.25rem;font-weight:600;margin:0 0 .5rem;color:var(--text-primary);background:none;-webkit-text-fill-color:var(--text-primary)}.text-muted{color:var(--text-muted);font-size:.9375rem}.text-footer{color:var(--text-footer);font-size:.8125rem}.text-error{color:var(--error-color);font-size:.8125rem}.btn{padding:.75rem 1.5rem;border-radius:var(--radius-sm);font-weight:600;font-size:.9375rem;border:none;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;transition:transform .15s ease,box-shadow .15s ease,background .15s ease;cursor:pointer}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--accent-gold-gradient);color:var(--bg-page)}.btn-secondary{background:#ffffff1a;color:var(--text-primary);border:1px solid var(--border-subtle)}.btn-ghost{background:#ffffff0f;color:var(--text-primary);border:1px solid var(--border-subtle)}.btn-sm{padding:.5rem 1rem;font-size:.875rem}.input{width:100%;padding:.65rem 1rem;border-radius:var(--radius-sm);border:1px solid var(--border-input);background:var(--input-bg);color:var(--text-primary);font-size:.9375rem;font-family:inherit}.input:focus{outline:none;border-color:var(--accent-gold)}select,select.input{padding:.5rem 2rem .5rem 1rem;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--input-bg);border:1px solid var(--border-input);color:var(--text-primary);border-radius:var(--radius-sm);font-family:inherit;font-size:.9375rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%239a9996' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10l-5 5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center}select:focus{outline:none;border-color:var(--accent-gold)}select option{background:var(--bg-page);color:var(--text-primary)}textarea.input{min-height:120px;resize:vertical}.input-label{display:block;font-size:.8125rem;color:var(--text-muted);margin-bottom:.25rem}.divider{margin:1.25rem 0;border:none;height:1px;background:var(--border-subtle)}.app-layout{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-gradient)}.app-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid var(--border-subtle)}.app-header .logo{font-weight:700;color:var(--text-primary);text-decoration:none;background:var(--accent-gold-text);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.app-header .logo:hover{opacity:.9}.app-header .user-info{display:flex;align-items:center;gap:.75rem;font-size:.875rem;color:var(--text-muted)}.app-nav-desktop{display:flex;gap:1rem;padding:.75rem 1rem;border-bottom:1px solid var(--border-subtle)}.app-nav-desktop a{padding:.5rem .75rem;border-radius:var(--radius-sm);color:var(--text-primary);text-decoration:none;transition:background .15s ease}.app-nav-desktop a:hover{background:var(--card-bg);color:var(--accent-gold-light)}.app-nav-desktop a.active{background:var(--card-bg);color:var(--accent-gold);border-bottom:2px solid var(--accent-gold)}.app-nav-mobile{display:none;position:fixed;left:0;right:0;bottom:0;background:#0f0f14fa;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--border-subtle);padding:.5rem;padding-bottom:max(.5rem,var(--safe-area-bottom));z-index:100}.app-nav-mobile .nav-inner{display:flex;justify-content:space-around;align-items:center;max-width:42rem;margin:0 auto}.app-nav-mobile a{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.5rem .75rem;min-height:44px;min-width:48px;font-size:.75rem;color:var(--text-muted);text-decoration:none;border-radius:var(--radius-sm);transition:color .15s ease,background .15s ease}.app-nav-mobile a:hover,.app-nav-mobile a.active{color:var(--accent-gold);background:var(--card-bg)}.app-main{flex:1;padding:1rem}@media (max-width: 768px){.app-nav-desktop{display:none}.app-nav-mobile{display:block}.ios .app-nav-mobile{top:var(--ios-nav-top);bottom:var(--ios-nav-bottom);transform:var(--ios-nav-transform);-webkit-transform:var(--ios-nav-transform)}.app-main,.ios .app-main{padding-bottom:calc(var(--bottom-nav-height) + 1rem)}.app-header .user-info .email{display:none}}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:.75rem;border-bottom:1px solid var(--border-subtle)}.table th{font-weight:600;color:var(--text-primary);border-bottom:2px solid var(--border-subtle)}.table tbody tr:hover{background:var(--card-bg)}.table select,.table .input{min-width:10rem;padding:.5rem}.table-role-tools .role-tools-tool-col{position:sticky;left:0;background:var(--bg-page);z-index:1;white-space:nowrap}.table-role-tools th.role-tools-tool-col,.table-role-tools td.role-tools-tool-col{border-right:1px solid var(--border-subtle)}.admin-tabs{display:flex;gap:.5rem;border-bottom:1px solid var(--border-subtle)}.admin-tab{padding:.5rem 1rem;font-size:.9375rem;font-weight:500;color:var(--text-muted);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;margin-bottom:-1px;transition:color .15s ease,border-color .15s ease}.admin-tab:hover{color:var(--text-primary)}.admin-tab.active{color:var(--accent-gold);border-bottom-color:var(--accent-gold)}.admin-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:flex-start;justify-content:center;padding:1rem;z-index:1000;overflow-y:auto}.admin-modal{background:var(--bg-page);border:1px solid var(--card-border);border-radius:var(--radius-md);padding:1.5rem;width:100%;max-width:32rem;margin:auto;box-shadow:0 4px 24px #0006}.admin-modal-scroll{max-height:calc(100vh - 2rem);overflow-y:auto}.admin-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.admin-modal-header .heading-sm{margin:0}.admin-modal-header button{font-size:1.5rem;line-height:1;padding:.25rem .5rem}@media (max-width: 768px){.admin-modal-overlay{align-items:stretch;padding:0}.admin-modal{max-height:100vh;border-radius:0}.admin-tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-tab{flex-shrink:0;min-height:44px;padding:.5rem 1rem}.table th,.table td{padding:.5rem;font-size:.875rem}.table .btn-sm{min-height:36px;min-width:44px;padding:.4rem .75rem}}.landing-container{max-width:420px;width:100%}.landing-container.landing-center{text-align:center}.landing-tagline{font-size:1rem;color:var(--text-muted);margin:0 0 2.5rem;line-height:1.5}.landing-auth-block{background:var(--card-bg);border-radius:var(--radius-md);padding:1.75rem;border:1px solid var(--card-border)}.landing-primary-row{display:flex;gap:.75rem;justify-content:center;margin-bottom:1.5rem}.landing-provider-row{display:flex;flex-direction:column;gap:.5rem}.landing-provider-label{font-size:.8125rem;color:var(--text-muted);margin-bottom:.75rem}.landing-email-form-wrap{overflow:hidden;transition:max-height .3s ease}.landing-email-form-inner{padding-top:.75rem;text-align:left}.landing-provider-link{padding:.65rem 1rem;border-radius:var(--radius-sm);font-weight:500;font-size:.9375rem;text-decoration:none;color:var(--text-primary);background:#ffffff0f;border:1px solid var(--border-subtle);display:inline-flex;align-items:center;justify-content:center;transition:background .15s ease,border-color .15s ease;cursor:pointer;font-family:inherit}.markdown-content{color:var(--text-primary);line-height:1.6}.markdown-content p{margin:0 0 .75rem}.markdown-content p:last-child{margin-bottom:0}.markdown-content a{color:var(--accent-gold)}.markdown-content code{background:var(--input-bg);padding:.2em .4em;border-radius:4px;font-size:.9em}.markdown-content pre{background:var(--input-bg);padding:1rem;border-radius:var(--radius-sm);overflow-x:auto}.markdown-content pre code{background:none;padding:0}.announcements-layout{display:flex;gap:1.5rem;flex-wrap:wrap}.announcements-sidebar{min-width:200px;flex-shrink:0}.announcements-main{flex:1;min-width:280px}.announcement-item-btn{width:100%;padding:.5rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:transparent;color:var(--text-primary);font-size:.875rem;text-align:left;cursor:pointer;transition:background .15s ease,border-color .15s ease}.announcement-item-btn:hover{background:var(--card-bg)}.announcement-item-btn.selected{background:var(--card-bg);border-color:var(--accent-gold);color:var(--accent-gold)}
