:root{--blue:#0b2f6b;--blue2:#123f86;--gold:#d9a62e;--ink:#172033;--muted:#6b7280;--line:#dbe3ef;--bg:#f4f7fb;--white:#fff;--danger:#b42318;--ok:#087443}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit}.topbar{position:sticky;top:0;z-index:30;display:flex;justify-content:space-between;align-items:center;padding:14px clamp(18px,4vw,52px);background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border-bottom:1px solid rgba(11,47,107,.1)}.brand{display:flex;gap:12px;align-items:center;text-decoration:none}.brand-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,var(--blue),#1f5bb6);color:#fff;font-weight:900;letter-spacing:.5px;box-shadow:0 8px 22px rgba(11,47,107,.2);border:2px solid #e5c05e}.brand strong,.brand small{display:block}.brand strong{font-size:15px}.brand small{font-size:11px;color:var(--muted);margin-top:2px}.topbar nav{display:flex;align-items:center;gap:18px}.topbar nav a{text-decoration:none;font-size:13px;font-weight:750;color:#334155}.danger-link{color:var(--danger)!important}.page{width:min(1180px,calc(100% - 32px));margin:28px auto 64px}.panel{background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:0 16px 42px rgba(20,42,85,.08)}.narrow{max-width:700px;margin:0 auto}.center{text-align:center}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:1.6px;font-weight:900;color:#2a5ca6}.eyebrow.light{color:#f7d982}.flash{padding:14px 16px;border-radius:14px;margin:0 0 18px;font-weight:700}.flash.success{background:#e9f8f0;color:#07633b;border:1px solid #bde8d2}.flash.error{background:#fff0ef;color:#9f2016;border:1px solid #fac8c4}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:14px;padding:12px 16px;font-weight:850;text-decoration:none;cursor:pointer;font:inherit;transition:.18s transform,.18s box-shadow,.18s background}.btn:hover{transform:translateY(-1px)}.btn.primary{background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;box-shadow:0 10px 24px rgba(11,47,107,.22)}.btn.gold{background:linear-gradient(135deg,#f2d170,#d39b1b);color:#2b1d00;box-shadow:0 10px 24px rgba(211,155,27,.24)}.btn.secondary{background:#eef3fa;color:var(--blue);border:1px solid #d4deec}.btn.ghost{background:rgba(255,255,255,.13);color:#fff;border:1px solid rgba(255,255,255,.26)}.btn.wide{width:100%}.hero-meet{display:grid;grid-template-columns:1.15fr .85fr;min-height:500px;border-radius:32px;overflow:hidden;background:radial-gradient(circle at 80% 20%,rgba(255,255,255,.16),transparent 26%),linear-gradient(135deg,#071e45,#0b2f6b 55%,#1852a4);box-shadow:0 24px 60px rgba(11,47,107,.25)}.hero-copy{padding:clamp(34px,6vw,74px);color:#fff;display:flex;flex-direction:column;justify-content:center}.hero-copy h1{font-size:clamp(38px,6vw,72px);line-height:.98;margin:12px 0 18px;max-width:780px}.hero-copy p{font-size:18px;line-height:1.65;color:#dce9ff;max-width:680px}.join-inline{display:flex;gap:10px;max-width:560px;margin-top:18px}.join-inline input{flex:1;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.12);color:#fff;border-radius:14px;padding:14px 16px;font:inherit;outline:none}.join-inline input::placeholder{color:#d5e3fb}.hero-features{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.hero-features span{font-size:12px;font-weight:800;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);padding:8px 10px;border-radius:999px}.meet-art{padding:32px;display:flex;flex-direction:column;justify-content:center;gap:14px;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.01))}.video-card{background:#fff;border-radius:22px;padding:20px;display:flex;gap:14px;align-items:center;box-shadow:0 18px 48px rgba(0,0,0,.22)}.video-card.big{min-height:180px;align-items:flex-end;background:linear-gradient(135deg,#eff5ff,#fff)}.video-card strong,.video-card small{display:block}.video-card small{color:var(--muted);margin-top:4px}.avatar-ring{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;font-weight:950;color:#fff;background:linear-gradient(135deg,var(--blue),#2c66bf);border:4px solid #e6c66e}.video-grid-mini{display:grid;grid-template-columns:1fr 1fr;gap:10px}.video-grid-mini div{height:100px;border-radius:18px;background:linear-gradient(145deg,#123f86,#071e45);color:#dbe8ff;display:grid;place-items:center;font-weight:800;border:1px solid rgba(255,255,255,.08)}.feature-grid,.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}.feature-grid article,.stat-grid article{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px}.feature-grid article span{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#eef4fd;color:var(--blue);font-weight:900}.feature-grid h3{margin:14px 0 8px}.feature-grid p{margin:0;color:var(--muted);line-height:1.55}.dash-hero,.meeting-manage-hero{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:30px;border-radius:26px;background:linear-gradient(135deg,#071e45,#0b2f6b 60%,#164f9e);color:#fff;margin-bottom:18px}.dash-hero h1,.meeting-manage-hero h1{margin:8px 0 8px;font-size:34px}.dash-hero p,.meeting-manage-hero p{margin:0;color:#d7e5fa}.stat-grid{grid-template-columns:repeat(4,1fr);margin-bottom:18px}.stat-grid strong,.stat-grid span{display:block}.stat-grid strong{font-size:34px;color:var(--blue)}.stat-grid span{color:var(--muted);margin-top:6px;font-weight:700}.section-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:18px}.section-head h1,.section-head h2{margin:5px 0}.section-head p{margin:5px 0;color:var(--muted)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:14px 12px;border-bottom:1px solid #edf1f6;vertical-align:top}th{font-size:11px;text-transform:uppercase;letter-spacing:.9px;color:#667085}td strong,td small{display:block}td small{color:var(--muted);margin-top:4px;max-width:390px}code{background:#f0f4fa;padding:4px 7px;border-radius:8px;color:#163d78;font-weight:800}.actions{white-space:nowrap}.actions a,.link-btn{display:inline-block;margin-right:10px;color:#164f9e;font-weight:800;text-decoration:none;background:none;border:0;padding:0;cursor:pointer}.status{display:inline-flex;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:900}.status.scheduled{background:#fff4d6;color:#7a5200}.status.live{background:#e5f8ee;color:#087443}.status.ended{background:#eef1f5;color:#475467}.status.cancelled{background:#fff0ef;color:#a1261c}.empty{text-align:center;color:var(--muted);padding:30px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-stack{display:grid;gap:14px}.span-2{grid-column:1/-1}label{display:grid;gap:7px;font-size:12px;font-weight:850;color:#344054}label small{font-weight:600;color:var(--muted)}input,textarea,select{width:100%;border:1px solid #cfd8e6;background:#fff;border-radius:12px;padding:12px 13px;font:inherit;color:#172033;outline:none}input:focus,textarea:focus,select:focus{border-color:#4b78b8;box-shadow:0 0 0 4px rgba(75,120,184,.11)}hr{border:0;border-top:1px solid var(--line);grid-column:1/-1;width:100%}.check-stack{display:grid;gap:10px;align-content:start;padding-top:23px}.check{display:flex;align-items:center;gap:9px;font-size:13px}.check input{width:auto}.form-actions{display:flex;justify-content:flex-end;gap:10px}.auth-card{max-width:480px;margin:60px auto}.auth-card h1{font-size:34px;margin:8px 0}.auth-card p{color:var(--muted);margin-bottom:22px}.grid-2{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.invite-card{align-self:start}.meeting-code-badge{padding:13px;border-radius:14px;background:#eef4fd;color:#214d8c}.meeting-code-badge strong{display:block;font-size:28px;letter-spacing:2px;margin-top:3px}.copy-field{display:flex;gap:8px}.copy-field input{min-width:0}.copy-field button{border:0;background:var(--blue);color:#fff;border-radius:12px;padding:0 14px;font-weight:850}.muted{color:var(--muted)}.tick-list{padding-left:18px;color:#475467;line-height:1.75}.note{margin-top:20px;border-radius:14px;padding:14px;background:#fff7df;color:#6b4b00;border:1px solid #f2db9b}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.join-page{display:grid;grid-template-columns:1.1fr .9fr;min-height:600px;border-radius:30px;overflow:hidden;background:linear-gradient(135deg,#071e45,#0b2f6b 60%,#1852a4);box-shadow:0 24px 60px rgba(11,47,107,.22)}.join-info{padding:clamp(30px,6vw,70px);color:#fff;display:flex;flex-direction:column;justify-content:center}.join-info h1{font-size:clamp(34px,5vw,58px);line-height:1.03;margin:10px 0}.join-info>p{color:#dbe8fb;font-size:16px;line-height:1.6}.meeting-facts{display:flex;flex-wrap:wrap;gap:10px;margin:15px 0}.meeting-facts span{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:9px 11px;font-size:12px}.join-card{border-radius:0;display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,5vw,54px)}.join-card h2{font-size:30px;margin:8px 0 18px}.join-card label{margin-bottom:13px}.privacy-note{font-size:11px;color:var(--muted);line-height:1.5}.install-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#071e45,#0b2f6b)}.install-panel{width:min(780px,100%)}.install-panel h1{font-size:36px;margin:8px 0}.meeting-shell{position:fixed;inset:0;background:#08111f;display:grid;grid-template-rows:64px 1fr}.meeting-header{height:64px;padding:0 16px;display:flex;justify-content:space-between;align-items:center;background:#101a29;color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}.meeting-header>div:first-child{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:9px;align-items:center}.meeting-header strong{font-size:14px}.meeting-header small{grid-column:2;color:#9fb0c8}.live-dot{grid-row:1/3;width:10px;height:10px;border-radius:50%;background:#20c77a;box-shadow:0 0 0 5px rgba(32,199,122,.12)}.meeting-header-actions{display:flex;gap:8px}.header-btn{border:1px solid rgba(255,255,255,.13);background:#1b293b;color:#fff;border-radius:10px;padding:8px 11px;text-decoration:none;font-size:12px;font-weight:800;cursor:pointer}.header-btn.danger{background:#a62a2a}.jitsi-container{position:relative;min-height:0}.jitsi-container iframe{width:100%!important;height:100%!important;border:0}.meeting-loading{position:absolute;inset:0;display:grid;place-content:center;text-align:center;color:#e7eef8;z-index:0}.meeting-loading p{color:#9fb0c8}.spinner{width:42px;height:42px;border-radius:50%;border:4px solid #28384c;border-top-color:#e1b64b;animation:spin .8s linear infinite;margin:0 auto 12px}@keyframes spin{to{transform:rotate(360deg)}}.meeting-toast{position:absolute;right:16px;bottom:16px;z-index:20;background:#101a29;color:#fff;border:1px solid #2c3b50;padding:11px 14px;border-radius:12px;box-shadow:0 14px 30px rgba(0,0,0,.28)}
@media(max-width:850px){.topbar nav{gap:10px;overflow-x:auto}.topbar nav a{font-size:11px}.hero-meet,.join-page,.grid-2{grid-template-columns:1fr}.meet-art{display:none}.hero-copy{min-height:560px}.feature-grid,.stat-grid{grid-template-columns:1fr 1fr}.dash-hero,.meeting-manage-hero{align-items:flex-start;flex-direction:column}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.check-stack{padding-top:0}.join-card{border-radius:24px;margin:14px}.join-page{overflow:visible;background:#0b2f6b}.join-info{padding-bottom:16px}.page{width:min(100% - 20px,1180px);margin-top:16px}.panel{padding:18px;border-radius:18px}}
@media(max-width:560px){.brand small{display:none}.brand strong{font-size:13px}.brand-mark{width:38px;height:38px}.topbar{padding:10px 12px}.topbar nav a:nth-child(3){display:none}.hero-copy{padding:28px 22px;min-height:520px}.hero-copy h1{font-size:42px}.join-inline{flex-direction:column}.feature-grid,.stat-grid{grid-template-columns:1fr}.meeting-header strong{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meeting-header-actions .header-btn:nth-child(2){display:none}.meeting-shell{grid-template-rows:58px 1fr}.meeting-header{height:58px;padding:0 10px}.page{margin-bottom:30px}.table-wrap table{min-width:720px}}

/* IEI Meet v1.1 — browser/WebRTC compatibility panel */
.meeting-compat{max-width:680px;margin:auto;text-align:center;padding:34px 24px}.compat-icon{font-size:42px;margin-bottom:8px}.meeting-compat h2{margin:6px 0 10px}.meeting-compat p{max-width:560px;margin:7px auto;color:#dce8fb;line-height:1.55}.meeting-compat .compat-extra{font-size:.92rem;color:#aac2e7}.compat-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:22px 0 14px}.compat-primary,.compat-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 18px;border-radius:12px;font-weight:800;text-decoration:none;cursor:pointer}.compat-primary{border:0;background:#fff;color:#0b2f6b}.compat-secondary{border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.09);color:#fff}.meeting-compat small{display:block;color:#95add1;margin-top:6px}


/* IEI Meet V1.2 — public Jitsi moderator handoff + reliable room loading */
.meeting-loading[hidden]{display:none!important}
.jitsi-container>.iei-jitsi-frame,.jitsi-container>iframe{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;border:0!important;z-index:2}
.meeting-loading{z-index:1}
.public-moderator-gate{position:absolute;inset:0;z-index:5;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 70% 15%,rgba(219,166,46,.13),transparent 26%),linear-gradient(135deg,#07111f,#0c1d33 56%,#102b4e);overflow:auto}
.moderator-gate-card{width:min(720px,100%);padding:clamp(24px,5vw,46px);border-radius:28px;background:rgba(16,26,41,.94);border:1px solid rgba(255,255,255,.12);box-shadow:0 28px 80px rgba(0,0,0,.42);color:#fff;text-align:center;backdrop-filter:blur(18px)}
.moderator-gate-card h1{font-size:clamp(28px,5vw,44px);margin:8px 0 14px;line-height:1.04}.moderator-gate-card>p{color:#cad7ea;line-height:1.65;margin:0 auto 20px;max-width:620px}.moderator-lock{width:64px;height:64px;margin:0 auto 14px;display:grid;place-items:center;border-radius:20px;background:linear-gradient(135deg,#f0cf6e,#bc8619);font-size:30px;box-shadow:0 14px 34px rgba(188,134,25,.28)}
.moderator-steps{max-width:560px;margin:18px auto;padding:0;list-style:none;counter-reset:steps;display:grid;gap:9px;text-align:left}.moderator-steps li{counter-increment:steps;display:flex;gap:10px;align-items:flex-start;padding:11px 13px;border-radius:14px;background:rgba(255,255,255,.06);color:#e8eef8;font-weight:700}.moderator-steps li:before{content:counter(steps);flex:0 0 26px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#e2b449;color:#231800;font-weight:950;font-size:12px}
.moderator-gate-actions,.compat-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:20px 0 14px}.compat-primary,.compat-secondary{min-height:46px;padding:12px 16px;border-radius:13px;font:inherit;font-weight:850;text-decoration:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.compat-primary{border:0;background:linear-gradient(135deg,#e5bd54,#c38b1c);color:#241800;box-shadow:0 10px 24px rgba(195,139,28,.24)}.compat-secondary{border:1px solid rgba(255,255,255,.16);background:#1b293b;color:#fff}.moderator-gate-card small,.meeting-compat small{display:block;color:#93a8c5;line-height:1.55;margin-top:8px}
.meeting-compat{z-index:6;padding:24px}.meeting-compat .compat-icon{font-size:42px;margin-bottom:10px}.meeting-compat .compat-extra{font-size:13px;color:#b8c7da}
@media(max-width:560px){.public-moderator-gate{padding:14px}.moderator-gate-card{padding:24px 18px;border-radius:22px}.moderator-gate-actions .compat-primary,.moderator-gate-actions .compat-secondary{width:100%}}
