/*! Vynk v1.1 — Design System Premium
    Black #060C18 · Green #00E676 · White #FFFFFF
    Sora · Space Mono · Circuit Identity */
@import url('https://fonts.googleapis.com/css2?family=Sora:wght@300;400;500;600;700;800&family=Space+Mono:ital,wght@0,400;0,700;1,400&display=swap');

/* ══════════ TOKENS ══════════ */
:root{
  /* Void */
  --n950:#020608;--n900:#060C18;--n800:#0A1220;--n700:#0D1829;--n600:#111F35;--n500:#182840;
  /* Green — Vynk signature */
  --vg:#00E676;--vg2:#00C060;--vg3:#00FF88;--vg-dim:rgba(0,230,118,.1);--vg-glow:rgba(0,230,118,.3);
  /* Blue accent */
  --vb:#0EA5FF;--vb2:#0077CC;--vb-dim:rgba(0,230,118,.08);--vb-glow:rgba(0,230,118,.28);
  /* Neutral */
  --w:#fff;--w80:rgba(255,255,255,.8);--w50:rgba(255,255,255,.5);--w20:rgba(255,255,255,.2);--w08:rgba(255,255,255,.08);--w05:rgba(255,255,255,.05);
  --g50:#F8FAFC;--g100:#F1F5F9;--g200:#E2E8F0;--g300:#CBD5E1;--g400:#94A3B8;--g500:#64748B;--g600:#475569;--g900:#0F172A;
  /* Status */
  --red:#FF4058;--amber:#FFAA00;--purple:#A259FF;
  /* Light ctx semantics */
  --bg:var(--w);--surface:var(--g50);--border:var(--g200);--txt:var(--g900);--txt2:var(--g500);--txt3:var(--g400);
  /* Dark ctx */
  --dk-border:rgba(255,255,255,.08);--dk-border2:rgba(255,255,255,.05);
  --dk-txt:rgba(255,255,255,.88);--dk-txt2:rgba(255,255,255,.68);--dk-txt3:rgba(255,255,255,.48);
  /* Radii */
  --r4:4px;--r6:6px;--r8:8px;--r10:10px;--r12:12px;--r14:14px;--r16:16px;--r20:20px;--r24:24px;--r999:9999px;
  /* Shadows */
  --s1:0 1px 4px rgba(0,0,0,.1);--s2:0 4px 16px rgba(0,0,0,.16);--s3:0 8px 32px rgba(0,0,0,.24);--s4:0 24px 64px rgba(0,0,0,.4);
  --sg:0 0 24px var(--vg-glow);--sb:0 0 24px rgba(0,230,118,.25);
  /* Motion */
  --t:.15s cubic-bezier(.4,0,.2,1);--ts:.22s cubic-bezier(.34,1.56,.64,1);
  /* Layout */
  --nav-h:60px;--cb-h:72px;--sidebar-w:310px;
}

/* ══════════ RESET ══════════ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{-webkit-tap-highlight-color:transparent;scroll-behavior:smooth;}
body{font-family:'Sora',-apple-system,system-ui,sans-serif;font-size:14px;line-height:1.55;
  color:var(--dk-txt);background:var(--n950);-webkit-font-smoothing:antialiased;overflow-x:hidden;}
a{color:var(--vg);text-decoration:none;}a:hover{text-decoration:underline;}
button{cursor:pointer;border:none;background:none;font-family:inherit;font-size:inherit;}
img,video{display:block;max-width:100%;}
::selection{background:var(--vg);color:#000;}

/* ══════════ NAV ══════════ */
.nav{
  position:sticky;top:0;z-index:200;
  height:var(--nav-h);display:flex;align-items:center;
  padding:0 20px;gap:12px;
  background:rgba(6,12,24,.96);
  border-bottom:1px solid var(--dk-border);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
}
/* Subtle green top line */
.nav::after{content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--vg),transparent);opacity:.4;}

.nav-brand{display:flex;align-items:center;gap:10px;text-decoration:none !important;flex-shrink:0;}
.nav-logo{width:30px;height:30px;border-radius:var(--r8);object-fit:cover;}
.nav-brand-text{font-family:'Sora',sans-serif;font-size:22px;font-weight:800;color:var(--w);letter-spacing:-1px;line-height:1;}
.vb-v{color:var(--vg);}

.nav-links{display:flex;align-items:center;gap:2px;margin-left:auto;}
.nav-link{font-size:13px;font-weight:500;color:var(--dk-txt2);padding:6px 12px;border-radius:var(--r8);transition:var(--t);display:flex;align-items:center;gap:5px;}
.nav-link:hover{color:var(--w);background:var(--w08);text-decoration:none;}
.nav-link-ext{font-size:12px;}

.nav-cal-btn{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;
  padding:7px 14px;border-radius:var(--r8);color:var(--vg);background:var(--vg-dim);
  border:1px solid rgba(0,230,118,.2);transition:var(--t);}
.nav-cal-btn:hover{background:var(--vg);color:#000;border-color:var(--vg);box-shadow:var(--sg);}

.nav-profile-btn{display:flex;align-items:center;gap:8px;padding:5px 12px 5px 5px;
  border-radius:var(--r999);background:var(--w08);border:1px solid var(--dk-border);
  color:var(--dk-txt);font-size:13px;font-weight:500;transition:var(--t);}
.nav-profile-btn:hover{background:var(--w20);}
.nav-profile-avatar{width:28px;height:28px;border-radius:50%;
  background:linear-gradient(135deg,#00994D,var(--vg));
  display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;flex-shrink:0;overflow:hidden;}
.nav-profile-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;}

.nav-req-badge{background:var(--red);color:#fff;font-size:10px;font-weight:800;
  padding:1px 5px;border-radius:var(--r999);min-width:16px;text-align:center;}

/* ── Hamburger (3 linhas) ── */
.hamburger{
  display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;
  width:38px;height:38px;padding:6px;
  background:var(--w08);border:1px solid var(--dk-border);border-radius:var(--r8);
  color:var(--dk-txt);transition:var(--t);flex-shrink:0;
}
.hamburger:hover{background:var(--w20);}
.hamburger span{display:block;width:18px;height:2px;background:var(--w);border-radius:2px;transition:var(--t);}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0);}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* ══════════ SIDE MENU (mobile) ══════════ */
.menu-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:298;backdrop-filter:blur(4px);}
.menu-overlay.open{display:block;}
.side-menu{
  position:fixed;top:0;left:-280px;width:280px;height:100%;z-index:299;
  background:var(--n800);border-right:1px solid var(--dk-border);
  transition:left .25s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;overflow-y:auto;
}
.side-menu.open{left:0;}
.side-menu-head{display:flex;align-items:center;justify-content:space-between;
  padding:16px 18px;border-bottom:1px solid var(--dk-border);height:var(--nav-h);}
.side-menu-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;
  border-radius:var(--r8);color:var(--dk-txt2);background:var(--w08);transition:var(--t);}
.side-menu-close:hover{color:var(--w);background:var(--w20);}
.side-menu-body{padding:10px;flex:1;}
.side-menu-link{display:flex;align-items:center;gap:10px;padding:10px 12px;
  border-radius:var(--r10);font-size:13.5px;font-weight:500;color:var(--dk-txt2);
  transition:var(--t);margin-bottom:2px;}
.side-menu-link:hover{color:var(--vg);background:var(--vg-dim);text-decoration:none;}
.side-menu-sep{height:1px;background:var(--dk-border);margin:8px 12px;}
.side-menu-foot{padding:16px 18px;border-top:1px solid var(--dk-border);font-size:11.5px;color:var(--dk-txt3);}
.side-menu-link-foot{display:flex;align-items:center;gap:8px;padding:10px 18px 14px;
  font-size:12px;font-weight:500;color:var(--dk-txt3);transition:var(--t);text-decoration:none;}
.side-menu-link-foot:hover{color:var(--vg);text-decoration:none;}

/* ── Desktop sidebar toggle button (in meet header) ── */
.btn-sidebar-toggle{
  display:flex;align-items:center;justify-content:center;
  width:32px;height:32px;border-radius:var(--r8);
  background:var(--w08);border:1px solid var(--dk-border);
  color:var(--dk-txt2);cursor:pointer;transition:var(--t);flex-shrink:0;
}
.btn-sidebar-toggle:hover{background:var(--w20);color:var(--w);}
.btn-sidebar-toggle.active{background:var(--vg-dim);border-color:rgba(0,230,118,.3);color:var(--vg);}

/* ══════════ HERO / LOGIN ══════════ */
.hero{
  min-height:calc(100dvh - var(--nav-h));display:flex;align-items:center;justify-content:center;
  padding:32px 20px;position:relative;overflow:hidden;
  background:var(--n900);
}
/* circuit grid */
.hero::before{content:'';position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(0,230,118,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(0,230,118,.035) 1px,transparent 1px);
  background-size:56px 56px;}
/* green glow */
.hero::after{content:'';position:absolute;top:-200px;right:-100px;
  width:600px;height:600px;pointer-events:none;
  background:radial-gradient(circle,rgba(0,230,118,.08) 0%,transparent 65%);}
.hero-blue-orb{position:absolute;bottom:-120px;left:-80px;width:500px;height:500px;pointer-events:none;
  background:radial-gradient(circle,rgba(14,165,255,.07) 0%,transparent 65%);}

.hero-inner{position:relative;z-index:1;max-width:400px;width:100%;text-align:center;}

.hero-badge{display:inline-flex;align-items:center;gap:6px;
  background:var(--vg-dim);border:1px solid rgba(0,230,118,.25);color:var(--vg);
  font-size:10px;font-weight:700;letter-spacing:.15em;padding:4px 14px;
  border-radius:var(--r999);margin-bottom:22px;text-transform:uppercase;
  font-family:'Space Mono',monospace;}

/* Hero logo — VN green, K white */
.hero-title{font-family:'Sora',sans-serif;font-size:clamp(64px,14vw,108px);font-weight:800;
  color:var(--w);line-height:.9;letter-spacing:-5px;margin-bottom:16px;}
.vt-v{color:var(--vg);text-shadow:0 0 40px rgba(0,230,118,.5);}

.hero-sub{font-size:13.5px;line-height:1.7;color:var(--dk-txt2);margin-bottom:28px;
  max-width:320px;margin-left:auto;margin-right:auto;}

/* PWA banner */
.pwa-banner{display:none;align-items:center;gap:10px;
  padding:10px 14px;margin-bottom:16px;
  background:var(--vg-dim);border:1px solid rgba(0,230,118,.25);
  border-radius:var(--r12);animation:fadeUp .3s ease;}
.pwa-banner-ico{font-size:20px;flex-shrink:0;}
.pwa-banner-txt{flex:1;text-align:left;}
.pwa-banner-txt strong{display:block;font-size:12.5px;font-weight:700;color:var(--vg);}
.pwa-banner-txt span{font-size:11px;color:var(--dk-txt2);}
.pwa-banner-btn{background:var(--vg);color:#000;border:none;border-radius:var(--r8);
  padding:7px 14px;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:var(--t);}
.pwa-banner-btn:hover{background:var(--vg3);}
.pwa-banner-close{color:var(--dk-txt2);padding:4px 8px;font-size:14px;flex-shrink:0;}

/* Login card */
.login-card{
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);
  border-radius:var(--r20);padding:28px 24px;
  backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
  box-shadow:0 24px 60px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.08);
}
.login-card-title{font-size:17px;font-weight:700;color:var(--w);margin-bottom:4px;letter-spacing:-.3px;}
.login-card-sub{font-size:12.5px;color:var(--dk-txt2);margin-bottom:20px;}

/* ══════════ FORMS ══════════ */
.form-row{margin-bottom:14px;}
.form-label{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:600;
  color:var(--dk-txt2);margin-bottom:5px;letter-spacing:.02em;}
.form-label svg,.form-label i{width:12px;height:12px;font-size:12px;}
.form-hint{font-size:11.5px;color:var(--dk-txt3);margin-top:4px;}
.field-hint-em{color:var(--vg);}
.auth-note{font-size:11.5px;color:var(--dk-txt3);text-align:center;margin-top:10px;
  display:flex;align-items:center;justify-content:center;gap:5px;}

.inp,.cm-input{
  width:100%;padding:10px 13px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
  border-radius:var(--r10);color:var(--w);font-family:inherit;font-size:13.5px;
  transition:var(--t);outline:none;-webkit-appearance:none;appearance:none;}
.inp::placeholder,.cm-input::placeholder{color:var(--dk-txt3);}
.inp:focus,.cm-input:focus{border-color:var(--vg);background:rgba(0,230,118,.07);
  box-shadow:0 0 0 3px rgba(0,230,118,.15);}
/* Light ctx */
.cm-modal .inp,.cm-modal .cm-input,.cm-modal .sel,.reg-body .inp{
  background:var(--g50);border:1px solid var(--g200);color:var(--txt);}
.cm-modal .inp::placeholder,.reg-body .inp::placeholder{color:var(--txt3);}
.cm-modal .inp:focus,.reg-body .inp:focus{border-color:var(--vg);background:rgba(0,230,118,.05);
  box-shadow:0 0 0 3px rgba(14,165,255,.12);}
/* Fix: form labels inside light-bg modals need dark color, not white */
.cm-modal .form-label,.reg-body .form-label{color:var(--txt2);}
.cm-modal .form-hint,.reg-body .form-hint{color:var(--txt3);}
.cm-modal .chk-label,.reg-body .chk-label{color:var(--txt2);}
/* Selects */
select.inp,select.cm-input,.sel{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat !important;background-position:right 11px center !important;padding-right:34px;cursor:pointer;}
.cm-modal select.inp option{background:var(--w);color:var(--txt);}
.chk{width:15px;height:15px;accent-color:var(--vg);cursor:pointer;flex-shrink:0;}
.chk-label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--dk-txt2);cursor:pointer;}
.cm-textarea{resize:vertical;min-height:80px;font-family:inherit;}

/* ══════════ BUTTONS ══════════ */
.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:7px;
  padding:11px 20px;font-size:14px;font-weight:700;font-family:inherit;
  background:linear-gradient(135deg,#00994D 0%,var(--vg) 100%);
  color:#fff;border:none;border-radius:var(--r10);transition:var(--t);cursor:pointer;white-space:nowrap;}
.btn-primary:hover:not(:disabled){filter:brightness(1.15);box-shadow:0 6px 20px rgba(0,230,118,.25);transform:translateY(-1px);}
.btn-primary:active:not(:disabled){transform:none;filter:brightness(1);}
.btn-primary:disabled{opacity:.4;cursor:not-allowed;}
.btn-primary.lg{padding:13px 24px;font-size:15px;border-radius:var(--r12);}
.btn-primary.green{background:linear-gradient(135deg,var(--vg2),var(--vg));}
.btn-primary.green:hover:not(:disabled){box-shadow:0 6px 20px var(--vg-glow);}

.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:7px;
  padding:10px 18px;font-size:13.5px;font-weight:600;font-family:inherit;
  background:transparent;color:var(--dk-txt2);border:1px solid var(--dk-border);
  border-radius:var(--r10);transition:var(--t);cursor:pointer;}
.btn-secondary:hover:not(:disabled){border-color:var(--vg);color:var(--vg);}
.btn-secondary:disabled{opacity:.4;cursor:not-allowed;}

.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:6px;
  padding:7px 12px;font-size:13px;font-weight:600;font-family:inherit;
  background:transparent;color:var(--dk-txt2);border:none;border-radius:var(--r8);transition:var(--t);cursor:pointer;}
.btn-ghost:hover{background:var(--w08);color:var(--w);}
.btn-ghost-dark{display:inline-flex;align-items:center;justify-content:center;gap:5px;
  padding:6px 10px;font-size:12.5px;font-weight:600;font-family:inherit;
  background:rgba(255,255,255,.06);color:var(--dk-txt2);border:1px solid var(--dk-border);
  border-radius:var(--r8);transition:var(--t);cursor:pointer;}
.btn-ghost-dark:hover{background:var(--w20);color:var(--w);}
.btn-sm{padding:5px 10px !important;font-size:12px !important;}

.btn-accept{background:rgba(0,230,118,.1);color:var(--vg);border:1px solid rgba(0,230,118,.25);
  display:inline-flex;align-items:center;gap:5px;padding:7px 12px;border-radius:var(--r8);
  font-size:12.5px;font-weight:600;cursor:pointer;font-family:inherit;transition:var(--t);}
.btn-accept:hover{background:rgba(0,230,118,.18);}
.btn-decline{background:rgba(255,64,88,.08);color:var(--red);border:1px solid rgba(255,64,88,.2);
  display:inline-flex;align-items:center;gap:5px;padding:7px 12px;border-radius:var(--r8);
  font-size:12.5px;font-weight:600;cursor:pointer;font-family:inherit;transition:var(--t);}
.btn-decline:hover{background:rgba(255,64,88,.15);}
.btn-danger{display:inline-flex;align-items:center;justify-content:center;gap:6px;
  padding:9px 16px;font-size:13px;font-weight:600;font-family:inherit;
  background:rgba(255,64,88,.1);color:var(--red);border:1px solid rgba(255,64,88,.22);
  border-radius:var(--r10);transition:var(--t);cursor:pointer;}
.btn-danger:hover{background:rgba(255,64,88,.2);}

/* Icon-only square button */
.btn-sq{width:36px;height:36px;display:flex;align-items:center;justify-content:center;
  border-radius:var(--r8);background:rgba(255,255,255,.08);border:1px solid var(--dk-border);
  color:var(--dk-txt2);transition:var(--t);cursor:pointer;flex-shrink:0;}
.btn-sq:hover{background:var(--w20);color:var(--w);}
.btn-sq.wa{background:rgba(37,211,102,.12);border-color:rgba(37,211,102,.25);color:#25D366;}
.btn-sq.wa:hover{background:rgba(37,211,102,.22);}
.btn-remove-opt{width:28px;height:28px;display:flex;align-items:center;justify-content:center;
  border-radius:var(--r6);background:none;border:none;color:var(--txt3);cursor:pointer;transition:var(--t);flex-shrink:0;}
.btn-remove-opt:hover{background:rgba(255,64,88,.1);color:var(--red);}

/* PWA floating button */
.pwa-btn{position:fixed;bottom:20px;right:20px;z-index:100;
  display:none;align-items:center;gap:7px;
  padding:10px 16px;background:var(--n700);border:1px solid rgba(0,230,118,.3);
  border-radius:var(--r999);color:var(--vg);font-size:12.5px;font-weight:700;
  box-shadow:0 4px 20px rgba(0,0,0,.4);transition:var(--t);}
.pwa-btn:hover{background:var(--vg);color:#000;}

/* ══════════ SETUP PANEL ══════════ */
.setup-panel{
  min-height:calc(100dvh - var(--nav-h));display:flex;align-items:center;justify-content:center;
  padding:28px 20px;background:var(--n900);position:relative;overflow:hidden;}
.setup-panel::before{content:'';position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(14,165,255,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(14,165,255,.025) 1px,transparent 1px);
  background-size:52px 52px;}
.setup-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;
  gap:20px;max-width:820px;width:100%;
  background:rgba(255,255,255,.03);border:1px solid var(--dk-border);
  border-radius:var(--r24);padding:28px;
  backdrop-filter:blur(24px);box-shadow:0 24px 60px rgba(0,0,0,.5);}

.form-logo{width:28px;height:28px;border-radius:var(--r8);object-fit:cover;}
.form-col-head{display:flex;align-items:center;gap:10px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--dk-border);}
.form-col-title{font-size:15px;font-weight:700;color:var(--w);flex:1;letter-spacing:-.3px;}
.preview-col{display:flex;flex-direction:column;gap:14px;}
.preview-wrap{aspect-ratio:16/9;background:#000;border-radius:var(--r14);overflow:hidden;position:relative;}
.preview-wrap video{width:100%;height:100%;object-fit:cover;}
.preview-label{position:absolute;bottom:8px;left:10px;font-size:11px;font-weight:600;
  color:rgba(255,255,255,.6);display:flex;align-items:center;gap:4px;
  background:rgba(0,0,0,.5);padding:2px 8px;border-radius:var(--r999);}
.dev-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.form-col{display:flex;flex-direction:column;}

/* Guest banner */
.guest-banner{background:rgba(255,255,255,.04);border:1px solid var(--dk-border);
  border-radius:var(--r14);padding:18px;margin-bottom:0;}
.guest-banner-top{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px;}
.guest-icon{background:var(--vg-dim);border:1px solid rgba(0,230,118,.2);
  border-radius:var(--r10);width:42px;height:42px;display:flex;align-items:center;justify-content:center;color:var(--vg);flex-shrink:0;}
.guest-title{font-size:14px;font-weight:700;color:var(--w);margin-bottom:3px;}
.guest-room{font-size:12.5px;color:var(--vg);display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.guest-room-name{font-family:'Space Mono',monospace;}
.guest-token-badge{background:rgba(0,230,118,.12);color:var(--vg);border:1px solid rgba(0,230,118,.2);
  font-size:10.5px;padding:1px 7px;border-radius:var(--r999);}
.guest-steps{list-style:none;display:flex;flex-direction:column;gap:7px;margin-bottom:12px;}
.guest-step{display:flex;align-items:flex-start;gap:8px;font-size:12.5px;color:var(--dk-txt2);}
.guest-step-n{background:linear-gradient(135deg,#00994D,var(--vg));color:#060C18;font-weight:700;
  font-size:10px;width:19px;height:19px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;}
.guest-note{font-size:11.5px;color:var(--dk-txt3);display:flex;align-items:center;gap:5px;}

/* Link box */
.link-box{background:rgba(255,255,255,.04);border:1px solid var(--dk-border);border-radius:var(--r12);padding:12px 14px;}
.link-box-head{display:flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;color:var(--vg);margin-bottom:8px;}
.link-box-row{display:flex;gap:6px;align-items:center;}
.link-inp{flex:1;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);
  border-radius:var(--r8);padding:7px 10px;color:var(--dk-txt);
  font-family:'Space Mono',monospace;font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.link-note{font-size:11px;color:var(--dk-txt3);margin-top:6px;display:flex;align-items:center;gap:4px;}

/* ══════════ MEETING ══════════ */
.meet-wrap{position:fixed;inset:0;display:flex;flex-direction:row;background:var(--n950);z-index:500;}
.meet-main{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0;min-width:0;}
.meet-hdr{height:var(--nav-h);display:flex;align-items:center;gap:10px;padding:0 14px;
  background:rgba(6,12,24,.97);border-bottom:1px solid var(--dk-border);flex-shrink:0;backdrop-filter:blur(12px);}
.meet-hdr-logo{height:26px;display:flex;align-items:center;}
.meet-hdr-logo img{height:26px;object-fit:contain;}
.meet-room{font-family:'Space Mono',monospace;font-size:12px;font-weight:700;
  color:var(--vg);background:var(--vg-dim);border:1px solid rgba(0,230,118,.2);
  padding:3px 10px;border-radius:var(--r999);}
.meet-hdr-center{flex:1;display:flex;align-items:center;justify-content:center;}
.timer-wrap{display:flex;align-items:center;gap:6px;}
.timer{font-family:'Space Mono',monospace;font-size:13px;font-weight:700;color:var(--dk-txt2);}
.timer-dot{width:7px;height:7px;background:var(--red);border-radius:50%;animation:blink 2s infinite;flex-shrink:0;}
.pcount{display:flex;align-items:center;gap:5px;font-size:12.5px;color:var(--dk-txt2);}

.screen-banner{height:34px;background:linear-gradient(90deg,#00994D,var(--vg));
  display:flex;align-items:center;justify-content:center;gap:10px;
  font-size:12.5px;font-weight:700;color:#fff;flex-shrink:0;}
.screen-banner-stop{background:rgba(255,255,255,.2);border:none;border-radius:var(--r6);
  color:#fff;padding:2px 10px;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;transition:var(--t);}
.screen-banner-stop:hover{background:rgba(255,255,255,.35);}

.rec-badge{position:absolute;top:70px;left:14px;z-index:10;
  display:flex;align-items:center;gap:6px;
  background:rgba(255,0,0,.15);border:1px solid rgba(255,0,0,.3);
  border-radius:var(--r999);padding:4px 10px;font-size:12px;font-weight:600;color:var(--red);}
.rec-dot{width:7px;height:7px;background:var(--red);border-radius:50%;animation:blink 1s infinite;flex-shrink:0;}

/* Video grid */
.vgrid{flex:1;display:flex;flex-wrap:wrap;gap:4px;padding:6px;background:var(--n950);overflow:hidden;align-content:center;}
.vnode{flex:1;min-width:180px;position:relative;background:var(--n800);
  border-radius:var(--r12);overflow:hidden;display:flex;align-items:center;justify-content:center;
  border:2px solid transparent;transition:border-color .2s;aspect-ratio:16/9;}
.vnode.speaking{border-color:var(--vg);box-shadow:0 0 0 1px rgba(0,230,118,.3);}
.vnode.host{border-color:rgba(0,230,118,.4);}
.vnode video,.vnode canvas{width:100%;height:100%;object-fit:cover;}
.vnode-label{position:absolute;bottom:8px;left:8px;right:8px;
  display:flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;
  color:var(--w);text-shadow:0 1px 4px rgba(0,0,0,.8);}
.vnode-label.is-host{color:var(--vg);}
.no-vid-avatar{width:58px;height:58px;border-radius:50%;
  background:linear-gradient(135deg,#00994D,var(--vg));
  display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;color:#fff;}
.mic-off{color:var(--red);display:flex;align-items:center;flex-shrink:0;}
.vnode-fs-btn{position:absolute;top:6px;right:6px;background:rgba(0,0,0,.55);
  border:none;border-radius:var(--r6);color:rgba(255,255,255,.7);width:28px;height:28px;
  display:none;align-items:center;justify-content:center;cursor:pointer;transition:var(--t);backdrop-filter:blur(4px);}
.vnode:hover .vnode-fs-btn{display:flex;}
.vnode-fs-btn:hover{background:rgba(0,0,0,.8);color:#fff;}

/* ── Camera mirror flip ── */
.mirror{transform:scaleX(-1);}

/* ── Hidden utility (used in video node mic-off indicator) ── */
.h{display:none !important;}

/* ── Video node avatar (shown when cam off) ── */
.avatar{
  position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
  font-size:28px;font-weight:800;color:#fff;
  background-size:cover;background-position:center;
  z-index:1;
}

/* ── Video node bottom bar ── */
.vnode-bar{
  position:absolute;bottom:0;left:0;right:0;z-index:2;
  display:flex;align-items:center;justify-content:space-between;
  padding:6px 8px;
  background:linear-gradient(to top,rgba(0,0,0,.75) 0%,transparent 100%);
}

/* ── In-video camera flip button ── */
.btn-cam-flip{
  position:absolute;top:6px;left:6px;z-index:3;
  background:rgba(0,0,0,.55);border:none;border-radius:var(--r6);
  color:rgba(255,255,255,.75);width:26px;height:26px;
  display:none;align-items:center;justify-content:center;
  cursor:pointer;transition:var(--t);backdrop-filter:blur(4px);
}
.vnode:hover .btn-cam-flip{display:flex;}
.btn-cam-flip:hover{background:rgba(0,0,0,.85);color:#fff;}
/* Connection quality */
.cq{display:flex;align-items:flex-end;gap:1.5px;height:14px;flex-shrink:0;}
.cbar{width:3px;background:var(--dk-border);border-radius:1px;}
.cbar:nth-child(1){height:4px;}.cbar:nth-child(2){height:7px;}.cbar:nth-child(3){height:10px;}.cbar:nth-child(4){height:13px;}
.cq[data-q="4"] .cbar,.cq[data-q="3"] .cbar{background:var(--vg);}
.cq[data-q="2"] .cbar:nth-child(-n+2){background:var(--amber);}
.cq[data-q="1"] .cbar:nth-child(1){background:var(--red);}

/* Control bar */
.cbar-wrap{background:rgba(6,12,24,.97);border-top:1px solid var(--dk-border);flex-shrink:0;backdrop-filter:blur(12px);position:relative;z-index:510;}
.cbar-inner{height:var(--cb-h);display:flex;align-items:center;justify-content:center;gap:6px;padding:0 14px;}
.ctrl-sep{width:1px;height:30px;background:var(--dk-border);flex-shrink:0;}
.cbtn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
  min-width:50px;height:46px;padding:0 8px;
  background:var(--w08);border:1px solid var(--dk-border);border-radius:var(--r12);
  color:var(--dk-txt2);font-size:10px;font-weight:600;font-family:inherit;cursor:pointer;transition:var(--t);}
.cbtn:hover{background:var(--w20);color:var(--w);}
.cbtn.active{background:var(--vg-dim);border-color:rgba(0,230,118,.3);color:var(--vg);}
.cbtn.off{background:rgba(255,64,88,.1);border-color:rgba(255,64,88,.2);color:var(--red);}
.cbtn.leave{background:var(--red);border-color:transparent;color:#fff;box-shadow:0 4px 16px rgba(255,64,88,.4);}
.cbtn.leave:hover{filter:brightness(1.15);}
.cbtn.highlight{border-color:rgba(0,230,118,.3);color:var(--vg);}
.ci{width:16px;height:16px;flex-shrink:0;}
.cl{font-size:9.5px;}

/* Mais menu */
.mais-menu{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);
  background:var(--n700);border:1px solid var(--dk-border);border-radius:var(--r14);
  padding:12px;box-shadow:var(--s4);min-width:240px;z-index:520;margin-bottom:6px;}
.mais-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;}
.mais-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  padding:10px 6px;border-radius:var(--r10);background:var(--w08);border:1px solid var(--dk-border);
  color:var(--dk-txt2);font-size:10.5px;font-weight:600;font-family:inherit;cursor:pointer;transition:var(--t);}
.mais-btn:hover{background:var(--w20);color:var(--w);}
.mais-btn.active{background:var(--vg-dim);color:var(--vg);border-color:rgba(0,230,118,.2);}
.mais-ic{width:18px;height:18px;}

/* Reaction bar */
.reaction-bar{position:absolute;bottom:var(--cb-h);left:0;right:0;
  display:flex;justify-content:center;gap:8px;padding:12px;
  background:rgba(6,12,24,.92);border-top:1px solid var(--dk-border);backdrop-filter:blur(12px);}
.react-btn{font-size:22px;background:none;border:none;cursor:pointer;transition:var(--ts);
  padding:4px;border-radius:var(--r8);}
.react-btn:hover{transform:scale(1.3);}

/* Lobby */
.lobby-panel{position:absolute;top:var(--nav-h);left:14px;z-index:20;
  background:var(--n700);border:1px solid var(--dk-border);border-radius:var(--r14);
  padding:14px;min-width:220px;max-width:280px;box-shadow:var(--s3);}
.lobby-panel-title{font-size:12.5px;font-weight:700;color:var(--dk-txt2);margin-bottom:10px;
  display:flex;align-items:center;gap:6px;text-transform:uppercase;letter-spacing:.06em;}

/* Poll panel */
.poll-panel{position:absolute;top:var(--nav-h);right:14px;z-index:20;
  background:var(--n700);border:1px solid var(--dk-border);border-radius:var(--r14);
  padding:14px;min-width:220px;max-width:300px;box-shadow:var(--s3);}
.poll-opt-row{display:flex;align-items:center;gap:6px;}

/* Sidebar */
.sidebar{
  width:var(--sidebar-w);
  min-width:var(--sidebar-w);
  background:var(--n800);
  border-left:1px solid rgba(0,230,118,.12);
  display:flex;flex-direction:column;
  overflow:hidden;flex-shrink:0;
  transition:transform .25s cubic-bezier(.4,0,.2,1), width .25s cubic-bezier(.4,0,.2,1), min-width .25s cubic-bezier(.4,0,.2,1);
}
/* Desktop: closed sidebar collapses width so video area expands */
.sidebar.closed{transform:translateX(100%);width:0;min-width:0;}
.sidebar-handle{display:none;}
.sec-hdr{padding:12px 14px;font-size:12px;font-weight:700;color:var(--dk-txt2);
  text-transform:uppercase;letter-spacing:.07em;border-bottom:1px solid var(--dk-border);
  display:flex;align-items:center;gap:6px;}
.plist{padding:8px;}
.plist-item{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:var(--r8);
  font-size:12.5px;color:var(--dk-txt2);margin-bottom:2px;}
.plist-item.is-host{color:var(--vg);}
.hbadge{background:linear-gradient(135deg,#00994D,var(--vg));color:#060C18;
  font-size:9px;font-weight:700;padding:1px 5px;border-radius:var(--r4);text-transform:uppercase;letter-spacing:.04em;}
.chat-body{flex:1;overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:6px;scroll-behavior:smooth;}
.chat-msg{font-size:12.5px;line-height:1.5;}
.chat-msg-name{font-weight:700;color:var(--vg);}
.chat-msg-me .chat-msg-name{color:var(--vg);}
.chat-msg-secure{background:rgba(245,158,11,.08);border:1px solid rgba(245,158,11,.2);
  border-radius:var(--r8);padding:8px 10px;font-size:12px;}
.chat-msg-file{display:flex;align-items:center;gap:7px;background:rgba(0,230,118,.08);
  border:1px solid rgba(0,230,118,.2);border-radius:var(--r8);padding:8px 10px;
  font-size:12px;color:var(--vg);cursor:pointer;}
.chat-foot{padding:8px;border-top:1px solid var(--dk-border);display:flex;gap:6px;}
.chat-inp{flex:1;background:rgba(255,255,255,.06);border:1px solid var(--dk-border);
  border-radius:var(--r8);padding:8px 10px;color:var(--w);font-size:12.5px;font-family:inherit;resize:none;}
.chat-inp:focus{outline:none;border-color:var(--vg);}
.btn-send{width:34px;height:34px;display:flex;align-items:center;justify-content:center;
  background:var(--vg);border:none;border-radius:var(--r8);color:#060C18;cursor:pointer;transition:var(--t);flex-shrink:0;}
.btn-send:hover{filter:brightness(1.2);}
.btn-lock{width:34px;height:34px;display:flex;align-items:center;justify-content:center;
  background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.2);border-radius:var(--r8);
  color:var(--amber);cursor:pointer;transition:var(--t);flex-shrink:0;}
.btn-lock:hover{background:rgba(245,158,11,.2);}
.btn-file-share{background:rgba(0,230,118,.1) !important;border-color:rgba(0,230,118,.2) !important;color:var(--vg) !important;}

/* ══════════ MODALS ══════════ */
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:1000;
  display:flex;align-items:center;justify-content:center;padding:20px;
  backdrop-filter:blur(6px);animation:fadeIn .18s ease;}
.cm-modal{background:var(--bg);border:1px solid var(--border);border-radius:var(--r20);
  max-width:520px;width:100%;max-height:88dvh;overflow-y:auto;
  box-shadow:0 32px 80px rgba(0,0,0,.5);animation:slideUp .22s var(--ts);}
.cm-modal::before,.reg-card::before{content:'';display:block;height:2px;
  border-radius:var(--r20) var(--r20) 0 0;
  background:linear-gradient(90deg,#009944,var(--vg),#fff,var(--vg),#009944);
  background-size:200%;animation:shimmer 4s linear infinite;}
.modal-head{display:flex;align-items:center;gap:10px;justify-content:space-between;
  padding:16px 20px 14px;border-bottom:1px solid var(--border);}
.modal-title{font-size:15.5px;font-weight:700;color:var(--txt);letter-spacing:-.3px;
  display:flex;align-items:center;gap:7px;}
.modal-x{width:30px;height:30px;display:flex;align-items:center;justify-content:center;
  border-radius:var(--r8);color:var(--txt3);background:var(--surface);
  border:1px solid var(--border);cursor:pointer;transition:var(--t);}
.modal-x:hover{color:var(--txt);background:var(--g100);}
.modal-body{padding:18px 20px;font-size:13.5px;color:var(--txt2);line-height:1.65;}
.modal-body h3{font-size:12px;font-weight:700;color:var(--txt);margin:14px 0 5px;
  text-transform:uppercase;letter-spacing:.06em;}
.modal-body h3:first-child{margin-top:0;}
.modal-body p{margin-bottom:8px;}
.modal-body a{color:var(--vg);}
.modal-foot{padding:14px 20px;border-top:1px solid var(--border);display:flex;gap:8px;justify-content:flex-end;}
.modal-policy{max-width:480px;}

/* Share modal */
.share-modal-inner{max-width:420px;}
.share-modal-top{display:flex;align-items:center;gap:12px;}
.share-modal-icon{width:38px;height:38px;border-radius:var(--r10);background:rgba(0,230,118,.08);
  border:1px solid rgba(0,230,118,.2);display:flex;align-items:center;justify-content:center;color:var(--vg);}
.share-modal-ttl{font-size:14px;font-weight:700;color:var(--txt);}
.share-modal-sub{font-size:12px;color:var(--txt3);}
.share-actions{display:flex;gap:8px;margin-bottom:12px;}
.share-action{flex:1;}
.btn-wa{display:inline-flex;align-items:center;justify-content:center;gap:7px;
  padding:10px 18px;font-size:13.5px;font-weight:600;font-family:inherit;
  background:rgba(37,211,102,.1);color:#25D366;border:1px solid rgba(37,211,102,.25);
  border-radius:var(--r10);transition:var(--t);cursor:pointer;}
.btn-wa:hover{background:rgba(37,211,102,.2);}
.share-info{display:flex;align-items:flex-start;gap:6px;font-size:12px;color:var(--txt3);}

/* Secure modal */
.secure-modal-inner{max-width:460px;}
.secure-desc{display:flex;align-items:flex-start;gap:8px;background:rgba(245,158,11,.06);
  border:1px solid rgba(245,158,11,.18);border-radius:var(--r10);
  padding:10px 12px;font-size:12.5px;color:var(--txt2);margin-bottom:14px;line-height:1.55;}

/* Calendar modal */
.cal-modal{max-width:720px;width:min(720px,95vw);}
.cal-modal::before{content:'';display:block;height:2px;border-radius:var(--r20) var(--r20) 0 0;
  background:linear-gradient(90deg,#009944,var(--vg),#fff,var(--vg));
  background-size:200%;animation:shimmer 4s linear infinite;}
.cm-head{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid var(--border);}
.cm-title{font-size:16px;font-weight:700;color:var(--txt);letter-spacing:-.3px;flex:1;}
.cm-close{width:30px;height:30px;display:flex;align-items:center;justify-content:center;
  border-radius:var(--r8);color:var(--txt3);background:var(--surface);
  border:1px solid var(--border);cursor:pointer;transition:var(--t);}
.cm-close:hover{color:var(--txt);}
/* Cal tabs */
.cal-tabs{display:flex;gap:4px;padding:12px 20px;border-bottom:1px solid var(--border);}
.cal-tab{padding:7px 14px;border-radius:var(--r8);font-size:12.5px;font-weight:600;
  color:var(--txt2);background:var(--surface);border:1px solid var(--border);
  cursor:pointer;font-family:inherit;transition:var(--t);}
.cal-tab.on{background:linear-gradient(135deg,#00994D,var(--vg));color:#060C18;border-color:transparent;box-shadow:0 2px 10px rgba(0,230,118,.3);}
.cal-tab:hover:not(.on){border-color:var(--vg);color:var(--vg);}
/* Cal body */
.cal-body{display:flex;gap:0;min-height:400px;}
.cal-left{width:250px;flex-shrink:0;border-right:1px solid var(--border);padding:14px;}
.cal-right{flex:1;padding:14px;overflow-y:auto;}
/* Mini calendar */
.mc-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;}
.mc-nav-btn{width:26px;height:26px;display:flex;align-items:center;justify-content:center;
  border-radius:var(--r6);color:var(--txt2);cursor:pointer;transition:var(--t);}
.mc-nav-btn:hover{background:var(--surface);}
.mc-month{font-size:12.5px;font-weight:700;color:var(--txt);}
.mc-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;}
.mc-dow{font-size:10px;font-weight:700;text-align:center;color:var(--txt3);padding:2px 0;letter-spacing:.05em;}
.mc-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;position:relative;
  font-size:12px;font-weight:500;color:var(--txt2);border-radius:var(--r6);cursor:pointer;transition:var(--t);}
.mc-day:hover:not(.sel,.empty){background:var(--surface);}
.mc-day.today{color:var(--vg);font-weight:700;}
.mc-day.sel{background:linear-gradient(135deg,#00994D,var(--vg));color:#060C18;box-shadow:0 2px 8px rgba(0,230,118,.3);}
.mc-day.has-event::after{content:'';display:block;width:4px;height:4px;background:var(--vg);
  border-radius:50%;position:absolute;bottom:1px;left:50%;transform:translateX(-50%);}
.mc-day.empty{cursor:default;}
/* Events */
.ev-list{display:flex;flex-direction:column;gap:8px;}
.ev-item{padding:12px 14px;border-radius:var(--r12);background:var(--surface);
  border:1px solid var(--border);cursor:pointer;transition:var(--t);}
.ev-item:hover{border-color:var(--vg);box-shadow:0 2px 12px rgba(0,230,118,.2);}
.ev-time{font-family:'Space Mono',monospace;font-size:11px;color:var(--txt3);margin-bottom:3px;}
.ev-title{font-size:13.5px;font-weight:700;color:var(--txt);margin-bottom:4px;}
.ev-meta{font-size:11.5px;color:var(--txt2);display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.ev-room{font-family:'Space Mono',monospace;font-size:10.5px;background:rgba(0,230,118,.08);
  color:var(--vg);padding:2px 8px;border-radius:var(--r999);}
.ev-actions{display:flex;gap:6px;margin-top:10px;}
/* Vis badges */
.vis-badge{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:600;padding:2px 8px;border-radius:var(--r999);border:1px solid;}
.vis-badge--all{background:var(--vg-dim);color:var(--vg);border-color:rgba(0,230,118,.25);}
.vis-badge--specific_company{background:rgba(0,230,118,.08);color:var(--vg);border-color:rgba(0,230,118,.25);}
.vis-badge--ecosystem{background:rgba(162,89,255,.1);color:var(--purple);border-color:rgba(162,89,255,.25);}
/* Company pills */
.co-pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;}
.co-pill{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;
  background:var(--surface);border:1px solid var(--border);border-radius:var(--r999);
  font-size:11.5px;font-weight:600;color:var(--txt2);cursor:pointer;transition:var(--t);}
.co-pill.on{background:rgba(0,230,118,.08);border-color:rgba(0,230,118,.3);color:var(--vg);}
.co-pill:hover:not(.on){border-color:var(--vg);color:var(--vg);}
/* Share status */
.share-status-list{display:flex;flex-direction:column;gap:6px;}
.share-status-item{display:flex;align-items:center;gap:10px;padding:10px 12px;
  background:var(--surface);border:1px solid var(--border);border-radius:var(--r10);}
.share-status-name{flex:1;font-size:13px;font-weight:600;color:var(--txt);}
.share-status-badge{font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:var(--r999);}
.share-status-badge.accepted{background:rgba(0,230,118,.1);color:var(--vg);border:1px solid rgba(0,230,118,.25);}
.share-status-badge.pending{background:rgba(255,170,0,.1);color:var(--amber);border:1px solid rgba(255,170,0,.25);}
/* Cal drawer filter */
.cal-drawer{padding:14px 20px;background:var(--surface);border-bottom:1px solid var(--border);}
/* Comp pills compat */
.comp-pill{padding:4px 12px;border-radius:var(--r999);font-size:12px;font-weight:600;
  color:var(--txt2);border:1.5px solid var(--border);transition:var(--t);background:none;cursor:pointer;font-family:inherit;}
.comp-pill:hover{border-color:var(--vg);color:var(--vg);}
.comp-pill.active{background:var(--vg);color:#060C18;border-color:var(--vg);}
.cal-co-pills{display:flex;flex-wrap:wrap;gap:6px;}

/* Background/Blur modal */
.bg-opt-btn{display:flex;flex-direction:column;align-items:center;gap:6px;
  padding:12px 16px;border-radius:var(--r12);background:var(--surface);
  border:2px solid var(--border);cursor:pointer;font-family:inherit;font-size:12.5px;
  font-weight:600;color:var(--txt2);transition:var(--t);min-width:80px;}
.bg-opt-btn:hover{border-color:var(--vg);color:var(--vg);}
.bg-opt-btn.active{border-color:var(--vg);background:rgba(0,230,118,.08);color:var(--vg);}
.profile-avatar-preview{width:68px;height:68px;border-radius:50%;
  background:linear-gradient(135deg,#00994D,var(--vg));
  display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;}

/* Registration card */
.reg-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--r20);
  width:min(440px,100%);max-height:90dvh;overflow-y:auto;
  box-shadow:0 32px 80px rgba(0,0,0,.4);animation:slideUp .22s var(--ts);}
.reg-head{padding:18px 20px 14px;border-bottom:1px solid var(--border);
  display:flex;align-items:center;justify-content:space-between;}
.reg-title{font-size:16px;font-weight:700;color:var(--txt);letter-spacing:-.3px;}
.reg-body{padding:18px 20px;}

/* Lobby wait modal */
.lobby-wait-icon{font-size:48px;line-height:1;}
.lobby-wait-dots{display:flex;gap:6px;}
.lobby-wait-dots span{width:8px;height:8px;border-radius:50%;background:var(--vg);animation:dotPulse 1.4s ease-in-out infinite;}
.lobby-wait-dots span:nth-child(2){animation-delay:.2s;}
.lobby-wait-dots span:nth-child(3){animation-delay:.4s;}
@keyframes dotPulse{0%,60%,100%{opacity:.3;transform:scale(.8)}30%{opacity:1;transform:scale(1.2)}}

/* ══════════ TOAST ══════════ */
#toastContainer{position:fixed;top:70px;right:16px;z-index:9999;
  display:flex;flex-direction:column;gap:7px;pointer-events:none;}
.toast{background:var(--n700);border:1px solid var(--dk-border);border-radius:var(--r10);
  padding:10px 14px;display:flex;align-items:center;gap:9px;
  font-size:13px;font-weight:500;color:var(--w);
  box-shadow:var(--s3);pointer-events:auto;max-width:290px;
  opacity:0;transform:translateX(16px);transition:opacity .22s ease, transform .22s ease;}
.toast.in{opacity:1;transform:translateX(0);}
/* suporte ambos formatos: .toast.success e .toast.toast-success */
.toast.success,.toast.toast-success{border-left:3px solid var(--vg);}
.toast.error,.toast.toast-error,.toast.toast-err{border-left:3px solid var(--red);}
.toast.warn,.toast.toast-warn{border-left:3px solid var(--amber);}
.toast.info,.toast.toast-info{border-left:3px solid var(--vg);}
.toast-out{opacity:0;transform:translateX(16px);}

/* ══════════ PROFILE (perfil.js) ══════════ */
.profile-overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:600;
  display:flex;align-items:center;justify-content:center;padding:20px;
  backdrop-filter:blur(6px);animation:fadeIn .18s ease;}
.profile-card{background:var(--bg);color:var(--txt);border:1px solid var(--border);border-radius:var(--r20);
  width:min(480px,100%);max-height:92dvh;overflow-y:auto;
  box-shadow:0 32px 80px rgba(0,0,0,.4);animation:slideUp .22s var(--ts);}
.profile-card::before{content:'';display:block;height:2px;border-radius:var(--r20) var(--r20) 0 0;
  background:linear-gradient(90deg,#009944,var(--vg),#fff);
  background-size:200%;animation:shimmer 3s linear infinite;}
.profile-cover{height:88px;
  background:linear-gradient(135deg,#060C18 0%,#0A1220 45%,#0D2818 100%);
  border-bottom:1px solid rgba(0,230,118,.12);position:relative;}
.profile-avatar-wrap{width:68px;height:68px;border-radius:50%;
  border:3px solid var(--bg);background:var(--n800);overflow:hidden;
  position:absolute;bottom:-34px;left:20px;box-shadow:0 4px 16px rgba(0,0,0,.4);}
.profile-avatar-wrap img{width:100%;height:100%;object-fit:cover;}
.profile-avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#00994D,var(--vg));font-size:24px;font-weight:700;color:#060C18;}
.profile-info{padding:42px 20px 16px;border-bottom:1px solid var(--border);}
.profile-name{font-size:18px;font-weight:700;color:var(--txt);letter-spacing:-.3px;}
.profile-username{font-size:12.5px;color:var(--txt3);font-family:'Space Mono',monospace;margin-top:2px;}
.profile-badge{display:inline-flex;align-items:center;gap:4px;margin-top:8px;padding:3px 10px;
  border-radius:var(--r999);font-size:11px;font-weight:700;
  background:var(--vg-dim);color:var(--vg);border:1px solid rgba(0,230,118,.25);}
.profile-tabs{display:flex;border-bottom:1px solid var(--border);}
.profile-tab{flex:1;padding:12px 8px;text-align:center;font-size:12.5px;font-weight:600;
  color:var(--txt3);cursor:pointer;border:none;background:none;
  border-bottom:2px solid transparent;font-family:inherit;transition:var(--t);}
.profile-tab.active{color:var(--vg);border-bottom-color:var(--vg);}
.profile-tab-body{padding:16px 20px;}
.profile-codify-footer{padding:12px 20px;border-top:1px solid var(--border);
  display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--txt3);}

/* Admin requests */
.req-modal-inner{max-width:480px;}
.req-item{display:flex;align-items:center;gap:10px;padding:12px;
  background:var(--surface);border:1px solid var(--border);border-radius:var(--r10);margin-bottom:8px;}
.req-info{flex:1;}
.req-name{font-size:13.5px;font-weight:600;color:var(--txt);}
.req-company{font-size:12px;color:var(--txt3);}
.req-actions{display:flex;gap:6px;}

/* ══════════ SEED PHRASE ══════════ */
.seed-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;
  background:var(--n900);border:1px solid var(--dk-border);border-radius:var(--r14);padding:14px;margin:10px 0;}
.seed-word{display:flex;align-items:center;gap:5px;
  background:rgba(255,255,255,.04);border:1px solid var(--dk-border);
  border-radius:var(--r8);padding:6px 8px;}
.seed-n{font-size:9px;font-weight:700;color:var(--dk-txt3);font-family:'Space Mono',monospace;width:14px;}
.seed-w{font-size:12.5px;font-weight:700;color:var(--vg);font-family:'Space Mono',monospace;}
.seed-warn{background:rgba(255,170,0,.07);border:1px solid rgba(255,170,0,.2);
  border-radius:var(--r10);padding:10px 14px;font-size:12.5px;color:var(--amber);line-height:1.5;}

/* ══════════ COOKIE ══════════ */
/* Non-floating: sticky bar at top below nav */
#cookieModal{
  position:sticky;top:var(--nav-h);z-index:190;
  background:var(--n800);border-bottom:1px solid var(--dk-border);
  padding:12px 20px;display:flex;align-items:center;gap:12px;
  width:100%;box-shadow:0 4px 16px rgba(0,0,0,.4);
  animation:fadeIn .3s ease;}
.cookie-txt{font-size:12.5px;color:var(--dk-txt2);flex:1;}
.cookie-btn{background:var(--vg);color:#000;border:none;border-radius:var(--r8);
  padding:8px 16px;font-size:12.5px;font-weight:700;font-family:inherit;cursor:pointer;transition:var(--t);white-space:nowrap;}
.cookie-btn:hover{filter:brightness(1.1);}

/* ══════════ FOOTER ══════════ */
.app-footer{background:var(--n900);border-top:1px solid var(--dk-border);padding:36px 24px 24px;}
.footer-stats{display:flex;gap:24px;justify-content:center;flex-wrap:wrap;
  margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid var(--dk-border);}
.footer-stats>div{display:flex;flex-direction:column;align-items:center;gap:3px;}
.fstat-v{font-size:13px;font-weight:700;color:var(--w);font-family:'Space Mono',monospace;}
.fstat-l{font-size:10.5px;color:var(--dk-txt3);}
.footer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:20px;}
.footer-brand-name{font-family:'Sora',sans-serif;font-size:18px;font-weight:800;
  color:var(--w);letter-spacing:-.5px;}
.footer-tagline{font-size:12px;color:var(--dk-txt2);margin-bottom:4px;}
.footer-founded{font-size:11.5px;color:var(--dk-txt3);}
.footer-col-ttl{font-size:11px;font-weight:700;color:var(--dk-txt2);text-transform:uppercase;
  letter-spacing:.08em;margin-bottom:8px;}
.footer-lnk{display:block;font-size:12.5px;color:var(--dk-txt2);margin-bottom:5px;transition:var(--t);}
.footer-lnk:hover{color:var(--vg);text-decoration:none;}
.footer-bottom{border-top:1px solid var(--dk-border);padding-top:16px;
  font-size:11.5px;color:var(--dk-txt3);display:flex;gap:12px;flex-wrap:wrap;justify-content:space-between;}

/* ══════════ UTILITIES ══════════ */
.hidden{display:none !important;}.overlay.hidden{display:none !important;}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);}
.mono{font-family:'Space Mono',monospace;}
.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* Safe area */
@supports(padding:max(0px)){
  .cbar-wrap{padding-bottom:max(0px,env(safe-area-inset-bottom));}
  .sidebar{padding-bottom:max(0px,env(safe-area-inset-bottom));}
}

/* ══════════ KEYFRAMES ══════════ */
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes slideUp{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
@keyframes toastIn{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:none}}
@keyframes toastOut{to{opacity:0;transform:translateX(16px)}}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.2}}
@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}

/* ══════════ RESPONSIVE ══════════ */
@media(max-width:768px){
  /* Show hamburger, hide nav links */
  .hamburger{display:flex !important;
   margin-left: auto;}
  .nav-links{display:none !important;}
  .side-menu-link-foot [data-lucide="globe"] {
    width: 20px;  /* Tamanho original costuma ser 24px */
    height: 20px;
    vertical-align: middle; /* Mantém o alinhamento com o texto */
  }

  /* Setup grid → single column */
  .setup-grid{grid-template-columns:1fr;padding:20px 16px;}
  .dev-grid{grid-template-columns:1fr 1fr;}

  /* Calendar modal bottom sheet */
  .cal-modal{width:100%;border-radius:var(--r20) var(--r20) 0 0;max-height:94dvh;}
  .overlay:has(.cal-modal){align-items:flex-end;padding:0;}
  .cal-body{flex-direction:column;}
  .cal-left{width:100%;border-right:none;border-bottom:1px solid var(--border);}

  /* Policy modals bottom sheet */
  .overlay:has(.modal-policy){align-items:flex-end;padding:0;}
  .modal-policy{border-radius:var(--r20) var(--r20) 0 0;max-width:100%;}

  /* Sidebar mobile — controlado por transform no bloco v2 abaixo, não por height/closed */
  .sidebar-handle{display:flex;justify-content:center;padding:8px;}
  .sidebar-handle::before{content:'';width:36px;height:4px;background:var(--dk-border);border-radius:2px;}

  /* Footer grid */
  .footer-grid{grid-template-columns:1fr;gap:16px;}
  .footer-stats{gap:16px;}
}

@media(max-width:640px){
  .hero-title{letter-spacing:-4px;}
  .login-card{padding:22px 18px;}
  .cbar-inner{gap:5px;padding:0 10px;}
  .cbtn{min-width:44px;height:44px;padding:0 6px;}
  .cl{display:none;}
  .ctrl-sep{height:26px;}
  .meet-main{height:calc(100dvh - var(--nav-h) - var(--cb-h));}
  .vgrid{height:100%;min-height:0;gap:3px;padding:4px;}
  .vnode{min-height:0;}
  .modal-foot{flex-direction:column;}
  .modal-foot .btn-primary,.modal-foot .btn-secondary{width:100%;}
}

@media(max-width:380px){
  .cbtn{min-width:40px;}
  .ctrl-sep{display:none;}
  .mais-grid{grid-template-columns:repeat(3,1fr);}
  /* Hide low-priority buttons on very small screens to prevent overflow */
  #btnCamFlip{display:none;}
}

/* ══════════════════════════════════════════════════════
   MEETING LAYOUT v2 — Row: Video LEFT · Sidebar RIGHT
   ══════════════════════════════════════════════════════ */

/* meet-main: column (header · vgrid · cbar) */
.meet-main{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0;min-width:0;}

/* ── Sidebar structure ──────────────────────────── */

/* CHAT SECTION — grows to fill remaining space, never disappears */
/* ── TOOLS SECTION — expands to fill all available space ─── */
.sb-tools-section{
  flex:1 1 56%;      /* ferramentas ocupam 56% */
  min-height:0;
  border-top:1px solid rgba(0,230,118,.15);
  background:rgba(6,12,24,.7);
  display:flex;flex-direction:column;
  overflow:hidden;
  transition:flex .25s cubic-bezier(.4,0,.2,1);
}
/* Ferramentas colapsadas — encolhe para só o header */
.sb-tools-section.sb-tools-collapsed{
  flex:0 0 35px;
}
/* Ferramentas colapsadas → chat expande para preencher */
.sb-tools-section.sb-tools-collapsed ~ .sb-chat-section{
  flex:1 1 auto !important;
}

.sb-tools-hdr{
  display:flex;align-items:center;justify-content:space-between;
  padding:7px 10px;
  font-size:10px;font-weight:700;color:var(--vg);
  text-transform:uppercase;letter-spacing:.07em;
  cursor:pointer;user-select:none;
  flex-shrink:0;
  border-bottom:1px solid rgba(0,230,118,.1);
  background:rgba(0,230,118,.04);
  transition:background .12s;
}
.sb-tools-hdr:hover{background:rgba(0,230,118,.08);}

/* Tool selector pill bar — compact, single-row horizontal scroll */
.sb-tool-tabs{
  display:flex;gap:3px;padding:5px 6px;
  flex-shrink:0;border-bottom:1px solid var(--dk-border);
  overflow-x:auto;flex-wrap:nowrap;
}
.sb-tool-tabs::-webkit-scrollbar{display:none;}
.sb-tool-tab{
  padding:3px 7px;border-radius:6px;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);
  color:rgba(255,255,255,.35);
  font-size:10px;font-weight:600;cursor:pointer;
  font-family:inherit;transition:all .13s;
  white-space:nowrap;flex-shrink:0;
}
.sb-tool-tab:hover:not(.active){background:rgba(255,255,255,.1);color:rgba(255,255,255,.65);}
.sb-tool-tab.active{
  background:rgba(0,230,118,.12);
  border-color:rgba(0,230,118,.35);
  color:var(--vg);
}

/* Tool body — fills remaining space in tools section, no fixed max-height */
.sb-tool-body{
  flex:1;overflow-y:auto;
  padding:0;min-height:0;
}
.sb-tool-body::-webkit-scrollbar{width:3px;}
.sb-tool-body::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:3px;}

/* Empty state dentro do tool body */
.sb-tool-empty{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  height:100%;gap:10px;padding:24px;
  color:rgba(255,255,255,.18);text-align:center;font-size:12px;
  pointer-events:none;
}

/* ── CHAT SECTION — split inferior da sidebar ──────────── */
.sb-chat-section{
  flex:0 0 44%;      /* padrão: 44% da sidebar */
  display:flex;flex-direction:column;
  overflow:hidden;
  min-height:0;
  border-top:1px solid var(--dk-border);
  transition:flex .22s cubic-bezier(.4,0,.2,1);
}
/* Chat colapsado: apenas o header bar */
.sb-chat-section.collapsed{
  flex:0 0 33px;
}
.sb-chat-section.collapsed .chat-body,
.sb-chat-section.collapsed .chat-foot,
.sb-chat-section.collapsed .sb-section-hdr:not(.sb-chat-hdr),
.sb-chat-section.collapsed .sb-parts-list{
  display:none;
}

/* Section headers */
.sb-section-hdr{
  display:flex;align-items:center;justify-content:space-between;
  padding:7px 10px;
  font-size:10px;font-weight:700;color:var(--dk-txt3);
  text-transform:uppercase;letter-spacing:.07em;
  border-bottom:1px solid var(--dk-border);
  flex-shrink:0;cursor:pointer;user-select:none;
  background:rgba(0,0,0,.2);
  transition:background .12s;
}
.sb-section-hdr:hover{background:rgba(0,230,118,.04);}
.sb-chat-hdr{cursor:pointer;}
.sb-chat-hdr:hover{background:rgba(0,230,118,.04);}

/* Count badges */
.sb-count{
  background:rgba(255,255,255,.08);color:var(--dk-txt3);
  font-size:10px;font-weight:700;padding:1px 6px;
  border-radius:999px;min-width:18px;text-align:center;
}
.sb-count-new{background:rgba(0,230,118,.2);color:var(--vg);}

/* Participants list — below chat, collapsed by default */
.sb-parts-list{
  overflow-y:auto;max-height:90px;flex-shrink:0;
  transition:max-height .2s;
}
.sb-parts-list.sb-parts-collapsed{max-height:0;overflow:hidden;}
.sb-parts-list::-webkit-scrollbar{width:3px;}
.sb-parts-list::-webkit-scrollbar-thumb{background:rgba(255,255,255,.08);border-radius:3px;}

/* ── Tool panels rendered INLINE in sidebar ─────── */
#sbToolBody .vtool-panel,
#sbToolBody .vcalc-panel{
  position:relative !important;
  right:auto !important;bottom:auto !important;
  left:auto !important;top:auto !important;
  width:100% !important;max-width:100% !important;
  max-height:none !important;
  transform:none !important;
  opacity:1 !important;
  pointer-events:auto !important;
  border:none !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  z-index:1 !important;
  overflow:hidden !important; /* FIX: era visible — causava paint sobre o chat */
}
/* Hide drag headers inside sidebar */
#sbToolBody .vtool-header,
#sbToolBody .vcalc-hdr{display:none !important;}
#sbToolBody .vcalc-tabs{border-radius:0;border-left:none;border-right:none;}
#sbToolBody .vcalc-body{border-radius:0;}

/* Ajustes internos para economizar espaço na calculadora e afins */
#sbToolBody .vcalc-panel {
  padding: 6px !important;
}
#sbToolBody .vcalc-body {
  padding: 6px !important;
}
.vc-keys {
  gap: 3px;
}
.vck {
  height: 40px;
  font-size: 13px;
}

/* Chat collapsed state — already handled above */

/* ══ RESPONSIVE ════════════════════════════════════ */
@media(max-width:900px){
  :root{--sidebar-w:280px;}
}

@media(max-width:768px){
  /* Restore column layout on mobile */
  .meet-wrap{flex-direction:column;}
  .meet-main{flex:1;min-height:0;height:calc(100dvh - var(--cb-h));}

  /* Sidebar: full-width drawer sliding from right */
  .sidebar{
    position:absolute;
    top:0;bottom:var(--cb-h);
    right:0;
    width:min(340px,100%) !important;
    min-width:0 !important;
    max-width:100%;
    z-index:50;
    transform:translateX(100%);
  }
  .sidebar.mobile-open{transform:translateX(0);}
  .sidebar-handle{display:flex;justify-content:center;padding:7px;}
  .sidebar-handle::before{content:'';width:36px;height:3px;background:var(--dk-border);border-radius:2px;}

  /* Tools: mobile — mesma lógica do desktop */
  .sb-tools-section{ flex:1 1 55%; }
  .sb-chat-section{ flex:0 0 45%; }
  .sb-tools-section.sb-tools-collapsed ~ .sb-chat-section{ flex:1 1 auto !important; }
}

@media(max-width:640px){
  .sb-parts-list{max-height:72px;}
}

/* ══════════════════════════════════════════════════════
   CALENDAR v2 — cal-overlay / cal-panel layout
   ══════════════════════════════════════════════════════ */

/* Overlay backdrop — above meet-wrap (z:500) and profile (z:600) */
.cal-overlay{
  position:fixed;inset:0;z-index:1050;
  background:rgba(0,0,0,.65);
  display:flex;align-items:center;justify-content:center;
  padding:20px;
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  animation:fadeIn .18s ease;
}
@media(max-width:768px){
  .cal-overlay{align-items:flex-end;padding:0;}
}

/* Main panel card */
.cal-panel{
  background:var(--bg);color:var(--txt);border:1px solid var(--border);
  border-radius:var(--r20);
  width:min(740px,100%);max-height:88dvh;
  overflow:hidden;display:flex;flex-direction:column;
  box-shadow:0 32px 80px rgba(0,0,0,.5);
  animation:slideUp .22s var(--ts);
}
.cal-panel::before{
  content:'';display:block;height:2px;
  background:linear-gradient(90deg,#00994D,var(--vg),var(--vg),var(--vg));
  background-size:200%;animation:shimmer 4s linear infinite;
  flex-shrink:0;
}
@media(max-width:768px){
  .cal-panel{width:100%;border-radius:var(--r20) var(--r20) 0 0;max-height:94dvh;}
}
@media(max-width:480px){
  .cal-panel{border-radius:var(--r16) var(--r16) 0 0;max-height:98dvh;}
}

/* Header bar */
.cal-hdr{
  display:flex;align-items:center;gap:10px;
  padding:12px 16px;border-bottom:1px solid var(--border);
  flex-shrink:0;flex-wrap:wrap;
}
.cal-brand{
  display:flex;align-items:center;gap:7px;
  font-size:15px;font-weight:700;color:var(--txt);
  letter-spacing:-.3px;flex:1;min-width:0;
}
.cal-brand i,.cal-brand svg{color:var(--vg);}
.cal-close{
  width:30px;height:30px;display:flex;align-items:center;justify-content:center;
  border-radius:var(--r8);color:var(--txt3);background:var(--surface);
  border:1px solid var(--border);cursor:pointer;transition:var(--t);flex-shrink:0;
}
.cal-close:hover{color:var(--txt);background:var(--g100);}

/* Tabs bar */
.cal-tabs{
  display:flex;gap:4px;padding:8px 12px;
  border-bottom:1px solid var(--border);flex-shrink:0;
  overflow-x:auto;flex-wrap:nowrap;
}
.cal-tabs::-webkit-scrollbar{display:none;}
.cal-tab{
  padding:6px 12px;border-radius:var(--r8);font-size:12px;font-weight:600;
  color:var(--txt2);background:var(--surface);border:1px solid var(--border);
  cursor:pointer;font-family:inherit;transition:var(--t);
  display:flex;align-items:center;gap:5px;white-space:nowrap;flex-shrink:0;
}
.cal-tab.on{background:linear-gradient(135deg,#00994D,var(--vg));color:#060C18;border-color:transparent;box-shadow:0 2px 10px rgba(0,230,118,.25);}
.cal-tab:hover:not(.on){border-color:var(--vg);color:var(--vg);}

/* Company pills bar */
.cal-co-pills{
  display:flex;flex-wrap:wrap;gap:5px;
  padding:7px 12px;border-bottom:1px solid var(--border);
  background:var(--surface);flex-shrink:0;
  max-height:80px;overflow-y:auto;
}

/* Body — side + events */
.cal-body{display:flex;flex:1;overflow:hidden;min-height:0;}

/* Responsive: stacks vertically on mobile */
@media(max-width:640px){
  .cal-body{flex-direction:column;overflow-y:auto;}
}

.cal-side{
  width:200px;min-width:200px;max-width:200px;
  flex-shrink:0;border-right:1px solid var(--border);
  padding:12px;overflow-y:auto;
}
@media(max-width:860px){
  .cal-side{width:180px;min-width:180px;max-width:180px;padding:10px;}
}
@media(max-width:640px){
  .cal-side{
    width:100% !important;min-width:0 !important;max-width:100% !important;
    border-right:none;border-bottom:1px solid var(--border);
    padding:10px 12px;flex-shrink:0;
  }
}

.cal-events{flex:1;overflow-y:auto;padding:10px 12px;min-width:0;}

/* Tab panes */
.cal-tab-pane{display:flex;flex:1;overflow:hidden;}
.cal-tab-pane.hidden{display:none;}

/* Share pane */
.cal-share-content{flex:1;overflow-y:auto;padding:14px 16px;}
.share-sec{margin-bottom:18px;}
.share-sec-title{
  font-size:11.5px;font-weight:700;color:var(--txt2);
  text-transform:uppercase;letter-spacing:.07em;
  margin-bottom:8px;display:flex;align-items:center;gap:6px;
}
.share-hint{font-size:12px;color:var(--txt3);margin-bottom:10px;line-height:1.5;}

/* Calendar empty state */
.cal-empty{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:10px;padding:32px 16px;color:var(--txt3);font-size:13px;text-align:center;
}
.cal-empty i,.cal-empty svg{width:28px;height:28px;opacity:.4;}

/* Invite badge */
.inv-badge{
  background:var(--red);color:#fff;font-size:10px;font-weight:800;
  padding:1px 5px;border-radius:var(--r999);min-width:16px;text-align:center;
}

/* Event list */
.ev-list{display:flex;flex-direction:column;gap:8px;}
.ev-item{
  padding:10px 12px;border-radius:var(--r12);background:var(--surface);
  border:1px solid var(--border);cursor:pointer;transition:var(--t);
}
.ev-item:hover{border-color:var(--vg);box-shadow:0 2px 12px rgba(0,230,118,.25);}
.ev-time{font-family:'Space Mono',monospace;font-size:11px;color:var(--txt3);margin-bottom:3px;}
.ev-title{font-size:13px;font-weight:700;color:var(--txt);margin-bottom:4px;}
.ev-meta{font-size:11px;color:var(--txt2);display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.ev-room{font-family:'Space Mono',monospace;font-size:10.5px;background:rgba(0,230,118,.08);color:var(--vg);padding:2px 8px;border-radius:var(--r999);}
.ev-actions{display:flex;gap:6px;margin-top:8px;}

/* Create meeting drawer */
.cal-drawer{
  border-top:2px solid var(--vg);
  background:var(--bg);
  flex-shrink:0;
  display:none;
  flex-direction:column;
}
.cal-drawer[style*="flex"]{display:flex !important;}
.drawer-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 18px;border-bottom:1px solid var(--border);
  font-size:13.5px;font-weight:700;color:var(--txt);
}
.drawer-head button{width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:var(--r6);color:var(--txt3);background:var(--surface);border:1px solid var(--border);cursor:pointer;}
.drawer-head button:hover{color:var(--txt);background:var(--g100);}
.drawer-form{padding:14px 18px;display:flex;flex-direction:column;gap:10px;}
.drawer-row{display:flex;flex-direction:column;gap:4px;}
.drawer-row label{font-size:11.5px;font-weight:600;color:var(--txt2);}
.drawer-2col{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
@media(max-width:480px){.drawer-2col{grid-template-columns:1fr;}}
.drawer-foot{display:flex;gap:8px;justify-content:flex-end;padding-top:4px;}

/* Mini calendar compact adjustments */
.cal-side .mc-grid {
  font-size: 11px;
}
/* mc-day size locked — equal cells */
.mc-day {
  min-height: 26px;
  font-size: 11px;
}
.mc-day.has-ev::after, .mc-dot {
  bottom: 1px;
}

/* ══════════════════════════════════════════════════════
   PROFILE v2 — perfil.js classes
   ══════════════════════════════════════════════════════ */

/* Main wrapper — white card like .cm-modal */
.profile-panel{
  background:var(--bg);border:1px solid var(--border);border-radius:var(--r20);
  width:min(500px,100%);max-height:92dvh;overflow-y:auto;
  box-shadow:0 32px 80px rgba(0,0,0,.5);animation:slideUp .22s var(--ts);
  position:relative;
}
.profile-panel::before{
  content:'';display:block;height:2px;border-radius:var(--r20) var(--r20) 0 0;
  background:linear-gradient(90deg,#00994D,var(--vg),var(--vg));
  background-size:200%;animation:shimmer 3s linear infinite;
}

/* Cover + avatar */
.profile-header{position:relative;}
.profile-cover{
  height:90px;
  background:linear-gradient(135deg,#060C18 0%,#0A1220 45%,#0D2818 100%);
  border-bottom:1px solid rgba(0,230,118,.1);
}
.profile-avatar-wrap{
  position:absolute;bottom:-34px;left:20px;
  width:68px;height:68px;border-radius:50%;
  border:3px solid var(--bg);background:var(--n800);overflow:hidden;
  box-shadow:0 4px 16px rgba(0,0,0,.35);
}
.profile-big-avatar{
  width:100%;height:100%;border-radius:50%;overflow:hidden;
  background:linear-gradient(135deg,#00994D,var(--vg));
  display:flex;align-items:center;justify-content:center;
}
.profile-cam-btn{
  position:absolute;bottom:0;right:0;
  width:22px;height:22px;border-radius:50%;
  background:var(--vg);display:flex;align-items:center;justify-content:center;
  cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.3);
  border:2px solid var(--bg);
}
.profile-cam-btn svg{color:#fff;}
.profile-close-btn{
  position:absolute;top:10px;right:12px;
  width:28px;height:28px;display:flex;align-items:center;justify-content:center;
  border-radius:50%;background:rgba(0,0,0,.4);color:#fff;
  border:none;cursor:pointer;font-size:14px;line-height:1;transition:var(--t);
}
.profile-close-btn:hover{background:rgba(0,0,0,.65);}

/* Name row */
.profile-name-row{
  padding:42px 20px 12px;border-bottom:1px solid var(--border);
}
.profile-display-name{
  font-size:18px;font-weight:700;color:var(--txt);letter-spacing:-.3px;margin-bottom:4px;
}
.profile-role-chip{
  display:inline-block;padding:2px 10px;border-radius:var(--r999);
  font-size:11px;font-weight:700;color:#fff;
}

/* Tabs */
.profile-tabs{display:flex;border-bottom:1px solid var(--border);}
.profile-tab{
  flex:1;padding:10px 8px;text-align:center;
  font-size:12px;font-weight:600;color:var(--txt3);
  cursor:pointer;border:none;background:none;
  border-bottom:2px solid transparent;font-family:inherit;transition:var(--t);
  display:flex;align-items:center;justify-content:center;gap:4px;
}
.profile-tab:hover{color:var(--txt2);}
.profile-tab.active{color:var(--vg);border-bottom-color:var(--vg);}
.profile-tab i,.profile-tab svg{width:12px;height:12px;}

/* Body + pane */
.profile-body{padding:0;}
.profile-pane{padding:16px 20px;}

/* Info grid */
.profile-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px;}
@media(max-width:400px){.profile-info-grid{grid-template-columns:1fr;}}

.pinfo-card{
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--r10);padding:10px 12px;
}
.pinfo-label{
  font-size:10.5px;font-weight:700;color:var(--txt3);
  text-transform:uppercase;letter-spacing:.07em;
  display:flex;align-items:center;gap:5px;margin-bottom:4px;
}
.pinfo-label i,.pinfo-label svg{width:11px;height:11px;}
.pinfo-value{font-size:13.5px;font-weight:600;color:var(--txt);}

.pinfo-section{margin-top:14px;}
.pinfo-sec-title{
  font-size:11px;font-weight:700;color:var(--txt2);
  text-transform:uppercase;letter-spacing:.07em;
  margin-bottom:8px;display:flex;align-items:center;gap:5px;
}
.pinfo-hint{font-size:11.5px;color:var(--txt3);margin-top:5px;line-height:1.5;}

/* Variable needed by pinfo-path-card */
:root{--b600:#2563EB;}
.pinfo-path-card{
  display:flex;align-items:flex-start;gap:8px;
  background:rgba(37,99,235,.06);border:1px solid rgba(37,99,235,.15);
  border-radius:var(--r8);padding:8px 10px;
}

.pinfo-company-list{display:flex;flex-direction:column;gap:6px;}
.company-pill-rich{
  display:flex;align-items:center;gap:8px;
  padding:8px 10px;border-radius:var(--r10);
  background:var(--surface);border:1px solid var(--border);
  color:var(--txt);
}
.co-pill-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;}
.co-pill-you{
  font-size:10px;font-weight:700;padding:1px 6px;
  background:var(--vg-dim);color:var(--vg);
  border:1px solid rgba(0,230,118,.25);border-radius:var(--r999);
}

/* Preferences */
.pref-section{margin-bottom:18px;}
.pref-title{
  font-size:11.5px;font-weight:700;color:var(--txt2);
  text-transform:uppercase;letter-spacing:.07em;
  margin-bottom:10px;padding-bottom:6px;
  border-bottom:1px solid var(--border);
}
.pref-row{
  display:flex;align-items:center;justify-content:space-between;
  padding:9px 0;border-bottom:1px solid var(--border);gap:12px;
}
.pref-row:last-child{border-bottom:none;}
.pref-thumb{display:flex;flex-direction:column;gap:2px;flex:1;}
.pref-thumb strong{font-size:13px;font-weight:600;color:var(--txt);}
.pref-info{font-size:11.5px;color:var(--txt3);}
.pref-toggle{
  position:relative;width:38px;height:22px;flex-shrink:0;
  cursor:pointer;
}
.pref-toggle-track{
  position:absolute;inset:0;border-radius:11px;
  background:var(--g200);transition:var(--t);
}
.pref-toggle.on .pref-toggle-track{
  background:var(--vg);
}
.pref-toggle-track::before{
  content:'';position:absolute;top:2px;left:2px;
  width:18px;height:18px;border-radius:50%;background:#fff;
  transition:var(--t);box-shadow:0 1px 4px rgba(0,0,0,.2);
}
.pref-toggle.on .pref-toggle-track::before{
  transform:translateX(16px);
}

/* Meeting list in cal pane */
.profile-meetings-list{display:flex;flex-direction:column;gap:8px;}
.profile-meet-row{
  display:flex;align-items:flex-start;gap:10px;padding:10px 12px;
  background:var(--surface);border:1px solid var(--border);border-radius:var(--r10);
  cursor:pointer;transition:var(--t);
}
.profile-meet-row:hover{border-color:var(--vg);}
.profile-meet-time{
  font-family:'Space Mono',monospace;font-size:10.5px;color:var(--txt3);
  white-space:nowrap;padding-top:1px;
}
.profile-meet-info{flex:1;}
.profile-meet-info strong{font-size:13px;font-weight:600;color:var(--txt);display:block;margin-bottom:2px;}
.profile-meet-info span{font-size:11.5px;color:var(--txt3);}

/* Loading spinner in profile */
.profile-loading{
  display:flex;flex-direction:column;align-items:center;
  gap:10px;padding:32px;color:var(--txt3);font-size:13px;
}

/* Footer */
.profile-vynk-footer{
  display:flex;align-items:center;gap:8px;
  padding:12px 20px;border-top:1px solid var(--border);
  font-size:11.5px;color:var(--txt3);margin-top:4px;
}

/* reg-banner */
.reg-banner{
  background:var(--vg-dim);border:1px solid rgba(0,230,118,.25);
  border-radius:var(--r12);padding:12px 14px;
  display:flex;align-items:flex-start;gap:10px;
  font-size:12.5px;color:var(--txt2);line-height:1.55;margin-bottom:14px;
}


/* ── Cal-panel + Cal-drawer: light context (branco sobre branco fix) ───── */
.cal-panel .inp,.cal-panel .cm-input,.cal-panel .sel,
.cal-drawer .inp,.cal-drawer .sel{
  background:var(--g50);border:1px solid var(--g200);color:var(--txt);}
.cal-panel .inp::placeholder,.cal-drawer .inp::placeholder{color:var(--txt3);}
.cal-panel .inp:focus,.cal-drawer .inp:focus{
  border-color:var(--vg);background:rgba(0,230,118,.05);
  box-shadow:0 0 0 3px rgba(14,165,255,.12);}
.cal-panel .form-label,.cal-drawer label,.drawer-row label{color:var(--txt2);}
.cal-panel .form-hint,.cal-drawer .form-hint{color:var(--txt3);}
.cal-panel select.inp option,.cal-drawer select.inp option{background:var(--w);color:var(--txt);}
.cal-panel .cm-textarea,.cal-drawer .cm-textarea{
  background:var(--g50);border:1px solid var(--g200);color:var(--txt);}
.cal-panel .cm-textarea::placeholder,.cal-drawer .cm-textarea::placeholder{color:var(--txt3);}

/* ── Profile-panel: light context (branco sobre branco fix) ─────────────── */
.profile-panel .inp,.profile-panel .cm-input,.profile-panel .sel{
  background:var(--g50);border:1px solid var(--g200);color:var(--txt);}
.profile-panel .inp::placeholder{color:var(--txt3);}
.profile-panel .inp:focus{border-color:var(--vg);background:rgba(0,230,118,.05);}
.profile-panel .form-label{color:var(--txt2);}
.profile-panel .form-hint{color:var(--txt3);}
.profile-panel .chk-label{color:var(--txt2);}
.profile-panel select.inp option{background:var(--w);color:var(--txt);}

/* ── Calendar supplemental classes ─────────────────── */
.cal-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:32px;color:var(--txt3);font-size:13px;}
.cal-ev-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.cal-ev-title{font-size:12px;font-weight:700;color:var(--txt2);text-transform:uppercase;letter-spacing:.07em;}
.btn-new-ev{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border-radius:var(--r8);background:rgba(0,230,118,.08);color:var(--vg);border:1px solid rgba(0,230,118,.25);font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;transition:var(--t);}
.btn-new-ev:hover{background:rgba(0,230,118,.15);}
.btn-ev-sm,.btn-join-ev,.btn-view-cal{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border-radius:var(--r8);font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;transition:var(--t);}
.btn-join-ev{background:var(--vg-dim);color:var(--vg);border:1px solid rgba(0,230,118,.25);}
.btn-join-ev:hover{background:rgba(0,230,118,.18);}
.btn-view-cal{background:rgba(0,230,118,.08);color:var(--vg);border:1px solid rgba(0,230,118,.25);}
.btn-revoke{background:rgba(255,64,88,.08);color:var(--red);border:1px solid rgba(255,64,88,.2);display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border-radius:var(--r8);font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;transition:var(--t);}
.btn-revoke:hover{background:rgba(255,64,88,.15);}

/* Event card (ecard) */
.ecard{background:var(--surface);border:1px solid var(--border);border-radius:var(--r12);overflow:hidden;transition:var(--t);margin-bottom:8px;}
.ecard:hover{border-color:var(--vg);box-shadow:0 2px 12px rgba(0,230,118,.2);}
.ecard.past{opacity:.6;}
.ecard-h{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;}
.ecard-time{font-family:'Space Mono',monospace;font-size:11px;color:var(--txt3);white-space:nowrap;padding-top:2px;flex-shrink:0;}
.ecard-title{font-size:13.5px;font-weight:700;color:var(--txt);flex:1;}
.ecard-d{font-size:11.5px;color:var(--txt2);padding:0 12px 6px;display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.ecard-room{font-family:'Space Mono',monospace;font-size:10.5px;background:rgba(0,230,118,.08);color:var(--vg);padding:2px 8px;border-radius:var(--r999);}
.ecard-desc{font-size:12px;color:var(--txt3);padding:0 12px 6px;}
.ecard-meta{display:flex;gap:6px;flex-wrap:wrap;padding:0 12px 6px;align-items:center;}
.ecard-body{padding:0 12px 8px;}
.ecard-acts{display:flex;gap:6px;padding:8px 12px;border-top:1px solid var(--border);background:var(--g50);flex-wrap:wrap;}

/* Empty state */
.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:32px 16px;color:var(--txt3);font-size:13px;text-align:center;}

/* Mini-cal in calendar */
.mc-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;}
.mc-title{font-size:12.5px;font-weight:700;color:var(--txt);}
.mc-hdr{display:flex;padding:2px 0;margin-bottom:4px;}
.mc-wd{flex:1;font-size:10px;font-weight:700;text-align:center;color:var(--txt3);letter-spacing:.05em;}
/* Mini calendar — grid sempre 6 linhas, sem resize ao trocar mês */
.mc-grid{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  grid-template-rows:auto repeat(6,1fr); /* 1 linha de cabeçalho + 6 semanas fixas */
  gap:2px;
}
.mc-day{
  aspect-ratio:1;
  display:flex;align-items:center;justify-content:center;
  position:relative;
  font-size:11px;font-weight:500;
  color:var(--txt2);
  border-radius:var(--r6);
  cursor:pointer;
  transition:var(--t);
}
.mc-day:hover:not(.sel,.empty){background:var(--surface);}
.mc-day.today{color:var(--vg);font-weight:700;}
.mc-day.sel{background:linear-gradient(135deg,#00994D,var(--vg));color:#060C18;box-shadow:0 2px 8px rgba(0,230,118,.25);}
.mc-day.empty{cursor:default;pointer-events:none;visibility:hidden;}
.mc-day.has-ev::after,.mc-dot{content:'';display:block;width:4px;height:4px;background:var(--vg);border-radius:50%;position:absolute;bottom:1px;left:50%;transform:translateX(-50%);}

/* Share section */
.share-invite-row{display:flex;gap:8px;align-items:center;margin-bottom:10px;}
.share-urow{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r10);margin-bottom:6px;}
.share-av{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#00994D,var(--vg));display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;flex-shrink:0;}
.share-cnt{flex:1;}
.share-uname{font-size:13px;font-weight:600;color:var(--txt);}
.del{font-size:11.5px;color:var(--txt3);}