*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;overflow:hidden}#root{height:100%;overflow:hidden}.config-error-wrap{min-height:100vh;padding:24px;background:#101014;color:#fff;font-family:system-ui,sans-serif}.config-error-title{margin-top:0}.config-error-text{white-space:pre-wrap;line-height:1.5}.brand-wordmark{font-family:Nunito,system-ui,sans-serif;font-weight:800;font-size:1.35rem;letter-spacing:-.02em}.brand-vibe{background:linear-gradient(90deg,#ff8c42,#e85d75,#9b6b9e);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.brand-meet{color:#a78bfa}.brand-logo-img{width:56px;height:56px;object-fit:contain;border-radius:12px}.layout{display:flex;height:100%;overflow:hidden}.sidebar{width:260px;background:#121216;border-right:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;flex-shrink:0}.sidebar-brand{display:flex;align-items:center;gap:.75rem;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.08)}.sidebar-combined-logo{height:40px;width:auto;object-fit:contain;display:block}.sidebar-admin-label{font-family:DM Sans,system-ui,sans-serif;font-size:.7rem;font-weight:600;color:#ffffff80;text-transform:uppercase;letter-spacing:.08em;margin-top:.05rem}.nav-item.active{color:#ff8c42;background:#ff8c4226;border-right:3px solid #FF8C42;text-decoration:none}.nav-item{text-decoration:none}.sidebar-nav{flex:1;padding:1rem 0}.nav-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.5rem;color:#fff9;transition:all .2s}.nav-item ion-icon{font-size:1.25rem;flex-shrink:0}.nav-item:hover{color:#fafafa;background:#ffffff0a}.sidebar-footer{padding:1rem 1.5rem;border-top:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:.75rem}.sidebar-footer-actions{display:flex;flex-direction:column;gap:.5rem}.btn-logout-all{display:flex;align-items:center;gap:.5rem;background:transparent;color:#ffffff8c;border:1px solid rgba(255,100,100,.35);font-size:.8rem}.btn-logout-all:hover:not(:disabled){color:#ff6b6b;border-color:#ff6b6b8c;background:#ff444414}.btn-logout-all:disabled{opacity:.6;cursor:not-allowed}.btn-logout-all ion-icon{font-size:1rem}.admin-info{display:flex;flex-direction:column;font-size:.8rem}.admin-email{color:#fafafa}.admin-role{color:#ffffff80;text-transform:capitalize}.sidebar-footer .btn{display:flex;align-items:center;gap:.5rem;border-color:#ffffff1f}.sidebar-footer .btn:hover{border-color:#ff8c4266;color:#fafafa}.sidebar-footer .btn ion-icon{font-size:1rem}.main-content{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:2rem}.main-content-inner{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.layout-logout-modal-overlay{position:fixed;inset:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem}.layout-logout-modal{max-width:420px;width:100%;background:#121216;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:1.5rem}.layout-logout-modal-title{margin:0 0 .75rem;font-size:1.15rem;font-weight:600;color:#fafafa}.layout-logout-modal-desc{margin:0 0 1.25rem;font-size:.9rem;line-height:1.5;color:#ffffffa6}.layout-logout-modal-actions{display:flex;gap:.75rem;justify-content:flex-end;flex-wrap:wrap}.public-layout{height:100%;min-height:100vh;display:flex;flex-direction:column;font-family:DM Sans,system-ui,sans-serif;overflow:hidden}.public-header{position:fixed;top:0;left:0;right:0;z-index:100;min-height:64px;padding:.75rem 0;display:flex;align-items:center;transition:background .3s ease,backdrop-filter .3s ease,box-shadow .3s ease}.public-header-transparent{background:#0a0a0c99;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.public-header:not(.public-header-transparent){background:#0a0a0ceb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.08)}.public-header-inner{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:none;margin:0;box-sizing:border-box;padding-left:max(1rem,env(safe-area-inset-left,0px));padding-right:max(1.25rem,env(safe-area-inset-right,0px))}.public-logo{display:flex;align-items:center;gap:.6rem;text-decoration:none;transition:opacity .2s}.public-logo:hover{opacity:.9}.public-combined-logo{height:40px;width:auto;object-fit:contain;display:block}.public-nav-toggle{display:none;align-items:center;justify-content:center;width:44px;height:44px;margin:0;padding:0;border:none;border-radius:12px;background:#ffffff1a;color:#fafafa;cursor:pointer;flex-shrink:0;transition:background .2s,color .2s}.public-nav-toggle:hover{background:#ffffff29;color:#fff}.public-nav-toggle ion-icon{font-size:1.55rem;pointer-events:none}.public-nav-scrim{display:none}.public-nav{display:flex;align-items:center;gap:2rem}.public-nav-link{display:inline-flex;align-items:center;gap:.35rem;color:#ffffffb3;font-size:.95rem;font-weight:500;transition:color .2s;text-decoration:none}.public-nav-link ion-icon{font-size:1.1rem;opacity:.9}.public-nav-link:hover{color:#fafafa;text-decoration:none}.public-admin-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.25rem;font-size:.95rem;font-weight:700;border-radius:12px;background:linear-gradient(135deg,#ff8c42,#e85d75);color:#fff;border:none;box-shadow:0 2px 16px #ff8c4266;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}.public-admin-btn:hover{transform:translateY(-2px);box-shadow:0 6px 24px #ff8c4280;color:#fff;text-decoration:none;opacity:.95}.public-admin-btn ion-icon{font-size:1rem}.public-main{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding-top:72px}.public-footer{margin-top:4rem;padding:3rem 0 1.5rem;background:linear-gradient(180deg,#0c0c0e,#0a0a0c);border-top:1px solid rgba(255,255,255,.06)}.public-footer-inner{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.5rem;width:100%;max-width:none;margin:0;box-sizing:border-box;padding-left:max(1rem,env(safe-area-inset-left,0px));padding-right:max(1.25rem,env(safe-area-inset-right,0px))}.public-footer-brand{display:flex;flex-direction:column;align-items:center;gap:.6rem}.public-footer-combined-logo{height:40px;width:auto;object-fit:contain;display:block}.public-footer-tagline{font-size:.875rem;color:#ffffff8c;max-width:28rem;line-height:1.5;margin:0}.public-footer-legal-links{margin:0 0 .75rem;font-size:.875rem}.public-footer-legal-links a{color:#ffffffb3;text-decoration:none}.public-footer-legal-links a:hover{color:#ff8c42;text-decoration:underline}.public-footer-meta{width:100%;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;align-items:center;gap:.5rem}.public-footer-copy{width:100%;font-size:.72rem;color:#fff6;margin:0;text-align:center}.public-footer-powered{margin:0;font-size:.6875rem;color:#ffffff59;text-align:center}.public-footer-powered a{color:#ffffff80;font-weight:500;text-decoration:none;transition:color .2s}.public-footer-powered a:hover{color:#ff8c42}@media(max-width:768px){.public-header{z-index:170}.public-header-inner{gap:.75rem}.public-combined-logo{height:36px;max-width:min(200px,48vw);object-fit:contain;object-position:left center}.public-nav-toggle{display:inline-flex;margin-left:auto}.public-nav-scrim{display:block;position:fixed;inset:72px 0 0;z-index:150;background:#00000073;-webkit-tap-highlight-color:transparent}.public-nav{position:fixed;left:0;right:0;top:72px;z-index:160;flex-direction:column;align-items:stretch;gap:.2rem;margin:0;padding:.75rem max(1rem,env(safe-area-inset-right)) 1rem max(1rem,env(safe-area-inset-left));background:#0e0e12fa;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 20px 50px #00000080;max-height:min(calc(100dvh - 72px),420px);overflow-y:auto;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-6px);transition:opacity .2s ease,visibility .2s ease,transform .2s ease}.public-nav--open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.public-nav-link{padding:.8rem .85rem;border-radius:10px}.public-nav-link:active{background:#ffffff14}.public-nav .public-admin-btn{justify-content:center;margin-top:.4rem;padding:.75rem 1rem;font-size:.9rem}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Segoe UI,system-ui,sans-serif;background:#0a0a0c;color:#fafafa}a{color:#ff8c42;text-decoration:none}a:hover,a:focus,a:active{text-decoration:none;color:#e85d75}.loader{display:flex;align-items:center;justify-content:center;height:100%;font-size:1.1rem;color:#ffffff80}.btn{padding:.5rem 1rem;border-radius:12px;border:none;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .2s}.btn:disabled{cursor:not-allowed;transform:none;pointer-events:none}.btn-primary{background:linear-gradient(135deg,#ff8c42,#e85d75);color:#fff}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#e85d75,#9b6b9e);transform:translateY(-1px);color:#fff}.btn-primary:disabled{background:#252529;color:#fff6}.btn-primary:disabled ion-icon{color:#fff6}.btn-secondary{background:#121216;color:#fafafa;border:1px solid rgba(255,255,255,.12)}.btn-secondary:hover:not(:disabled){background:#ffffff14;border-color:#ffffff2e}.btn-secondary:disabled{background:#252529;color:#fff6;border-color:#ffffff0f}.btn-secondary:disabled ion-icon{color:#fff6}.btn-danger{background:#f87171;color:#fff}.btn-danger:hover:not(:disabled){background:#ef4444}.btn-danger:disabled{background:#252529;color:#fff6}.btn-danger:disabled ion-icon{color:#fff6}.btn-outline-light{background:transparent;color:#fafafa;border:1.5px solid rgba(255,255,255,.3);transition:all .3s}.btn-outline-light:hover:not(:disabled){background:#ffffff14;border-color:#ff8c42;color:#ff8c42;transform:translateY(-1px)}.btn-ghost-landing{background:transparent;color:#fafafa;border:1.5px solid rgba(255,255,255,.25);transition:all .3s}.btn-ghost-landing:hover:not(:disabled){border-color:#ff8c42;background:#ff8c4214;color:#ff8c42;transform:translateY(-2px)}.btn-sm{padding:.35rem .7rem;font-size:.8rem}input,select,textarea{background:#121216;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:.5rem .75rem;color:#fafafa;font-size:.9rem}input:focus,select:focus,textarea:focus{outline:none;border-color:#ff8c42}input::placeholder{color:#ffffff59}.card{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:1.25rem}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid rgba(255,255,255,.08)}th{color:#fff9;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}tr:hover td{background:#ffffff05}.badge{display:inline-block;padding:.2rem .5rem;border-radius:8px;font-size:.75rem;font-weight:600}.badge-success{background:#4ade8033;color:#4ade80}.badge-warning{background:#fbbf2433;color:#fbbf24}.badge-danger{background:#f8717133;color:#f87171}.badge-info{background:#60a5fa33;color:#60a5fa}.text-muted{color:#ffffff80}.text-success{color:#4ade80}.text-danger{color:#f87171}.search-bar{display:flex;align-items:center;gap:.5rem;background:#121216;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:.5rem 1rem}.search-bar ion-icon{font-size:1.2rem;color:#ffffff80}.search-bar input{flex:1;border:none;background:transparent;padding:.35rem 0}.search-bar input:focus{border-color:transparent;box-shadow:none}.toggle-wrap{display:inline-flex;align-items:center;gap:.5rem}.toggle-switch{position:relative;width:44px;height:24px;flex-shrink:0;background:#ffffff1f;border-radius:12px;cursor:pointer;transition:background .2s}.toggle-switch.active{background:#ff8c42}.toggle-switch:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fafafa;transition:transform .2s;box-shadow:0 2px 4px #0000004d}.toggle-switch.active:after{transform:translate(20px)}.toggle-switch.disabled{opacity:.6;cursor:not-allowed}.toggle-label{font-size:.8rem;color:#fff9}.page-scroll-layout{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.page-scroll-layout .page-header{flex-shrink:0;margin-bottom:1rem}.page-scroll-layout .page-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}
