:root{--ink:#33323a;--muted:#6b7280;--line:#e3e8ef;--bg:#f4f7fb;--brand:#007ab5;--brand2:#ee4c25;--accent:#fbc11f;--danger:#c0392b;--white:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0}a{color:inherit}select{appearance:none;-webkit-appearance:none;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='%23007ab5' stroke-width='3'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:38px!important;cursor:pointer}.topbar{height:68px;padding:0 max(24px,5vw);display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.topbar>div,.user{display:flex;align-items:center;gap:16px}.logo,.brand-mark{background:var(--ink);color:#fff;font-weight:800;letter-spacing:.08em;border-radius:10px;padding:9px}.shell{max-width:1180px;margin:auto;padding:38px 24px 70px}.hero{padding:42px;border-radius:22px;background:linear-gradient(135deg,#10233f,#1261a0);color:#fff;margin-bottom:24px}.hero h1{font-size:clamp(30px,5vw,52px);line-height:1.05;margin:8px 0 12px;max-width:750px}.hero p{color:#d9e8f7}.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:800;color:#2b78b8}.hero .eyebrow,.status-hero .eyebrow{color:#8bc8f5}.panel,.meeting-card,.stats>div{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 28px rgba(16,35,63,.05)}.launch{padding:26px;margin-bottom:36px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid fieldset,.form-grid .check,.form-grid button{grid-column:1/-1}label{display:grid;gap:7px;font-weight:700;font-size:13px}input{width:100%;padding:13px 14px;border:1px solid #cbd7e4;border-radius:10px;font:inherit;background:#fff}input:focus{outline:3px solid #bfe0f7;border-color:var(--brand)}fieldset{border:0;padding:0;margin:0}.segmented{display:flex;gap:8px}.segmented input{display:none}.segmented span{display:block;padding:10px 16px;border:1px solid var(--line);border-radius:10px;cursor:pointer}.segmented input:checked+span{background:#e7f2fb;border-color:#7db6df;color:#075184}.check{display:flex!important;grid-template-columns:20px 1fr;align-items:start;font-weight:500}.check input{width:18px}.hidden{display:none!important}button,.primary{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:10px;padding:12px 17px;font:inherit;font-weight:800;text-decoration:none;cursor:pointer}.primary{background:var(--brand);color:#fff}.danger{background:#feeceb;color:var(--danger)}.ghost{background:transparent;color:var(--muted)}.user-link{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:10px;padding:10px 14px;font:inherit;font-weight:800;text-decoration:none;cursor:pointer;background:transparent;color:var(--muted);border:1px solid transparent;transition:.18s}.user-link:hover{background:#f4f7fb;border-color:var(--line)}.wide{width:100%}.users-table{display:grid;gap:0;border-top:1px solid var(--line);margin-top:14px}.users-row{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);align-items:center}.users-row-head{font-size:12px;font-weight:800;text-transform:uppercase;color:var(--muted)}.users-row span{word-break:break-word}.partial{opacity:.72;font-style:italic}.section-head,.panel-head,.card-top{display:flex;align-items:center;justify-content:space-between}.section-head h2,.panel-head h2{margin:4px 0}.count{background:#e7f2fb;padding:5px 10px;border-radius:99px}.meeting-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:16px}.meeting-card{padding:20px;text-decoration:none;transition:.18s transform,.18s box-shadow}.meeting-card:hover{transform:translateY(-2px);box-shadow:0 12px 35px rgba(16,35,63,.1)}.meeting-card h3{margin:18px 0 5px}.meeting-card p,.muted{color:var(--muted)}.meta{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:var(--muted);margin-top:18px}.state,.connection{font-size:12px;font-weight:800;border-radius:99px;padding:6px 10px;background:#e8f2fb;color:#075184}.state-done{background:#e7f7f0;color:#05603a}.state-fatal,.state-failed{background:#feeceb;color:#a31818}.status-hero{background:linear-gradient(135deg,#10233f,#174f7e);color:white;padding:32px;border-radius:20px;display:flex;justify-content:space-between;gap:24px;align-items:center}.status-hero h1{margin:5px 0;font-size:34px}.status-hero p{color:#d4e5f3}.live-title{display:flex;align-items:center;gap:12px}.pulse{width:12px;height:12px;border-radius:50%;background:#41d6a1;box-shadow:0 0 0 7px rgba(65,214,161,.15);animation:pulse 1.6s infinite}.pulse.off{background:#94a3b8;animation:none}.status-actions{display:flex;gap:10px;align-items:center}.stats{display:grid;grid-template-columns:180px 1fr 220px;gap:14px;margin:18px 0}.stats>div{padding:18px}.stats span{display:block;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.stats b{display:block;margin-top:8px}.workspace{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr);gap:18px}.transcript-panel,.activity-panel{padding:22px}.transcript{height:58vh;overflow:auto;margin-top:15px;padding-right:8px}.transcript article{padding:14px 0;border-bottom:1px solid #edf1f5}.transcript article span{font-size:12px;font-weight:800;color:var(--brand)}.transcript article p{margin:5px 0;line-height:1.6}.activity{height:58vh;overflow:auto;margin-top:15px}.activity article{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid #edf1f5}.activity i{width:9px;height:9px;flex:0 0 9px;margin-top:5px;border-radius:50%;background:#2b78b8}.activity p{margin:3px 0;color:var(--muted);font-size:13px}.activity small{color:#94a3b8}.empty{padding:24px;text-align:center;color:var(--muted);border:1px dashed #cbd7e4;border-radius:12px}.alert{padding:13px 15px;border-radius:10px;background:#feeceb;color:#8f1712;margin:14px 0}.auth{min-height:100vh;display:grid;place-items:center;background:linear-gradient(145deg,#eef5fb,#dceaf6)}.auth-card{width:min(420px,calc(100% - 32px));background:#fff;padding:34px;border-radius:20px;box-shadow:0 20px 60px rgba(16,35,63,.13)}.auth-card h1{margin-bottom:6px}.auth-card form{display:grid;gap:16px;margin-top:24px}.back{text-decoration:none;color:var(--brand);font-weight:800}@keyframes pulse{50%{box-shadow:0 0 0 12px rgba(65,214,161,0)}}@media(max-width:800px){.form-grid,.workspace,.stats{grid-template-columns:1fr}.status-hero{align-items:flex-start;flex-direction:column}.status-actions{flex-wrap:wrap}.topbar span{display:none}.hero{padding:28px}.shell{padding:24px 15px 50px}}

/* Meeting insights + recording UI */
.insights-panel{margin:18px 0;padding:22px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 8px 28px rgba(16,35,63,.05)}
.insights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-top:18px}
.insights-grid div{padding:18px;border:1px solid #edf1f5;border-radius:16px;background:#f9fbff}
.secondary{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:10px;padding:12px 17px;font:inherit;font-weight:800;text-decoration:none;cursor:pointer;background:#eef6ff;color:var(--brand);border:1px solid rgba(18,97,160,.12)}
.status-actions .secondary{background:#eef6ff;color:var(--brand);border:1px solid rgba(18,97,160,.12)}
.recording-panel{margin:18px 0 0;padding:22px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 8px 28px rgba(16,35,63,.05)}
.recording-panel video{width:100%;max-height:540px;border-radius:12px;background:#0b1526;display:block;margin-top:16px}
.recording-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.recording-actions a{text-decoration:none}
.summary-body{margin-top:18px}
.summary-body .summary-content{white-space:pre-wrap;line-height:1.65;color:#1b2738;background:#f9fbff;border:1px solid #edf1f5;border-radius:12px;padding:16px}
.summary-body .muted{margin:14px 0 0}
.mentions-box{margin-top:18px;border:1px solid rgba(251,193,31,.5);background:linear-gradient(180deg,#fffaf0,#fffdf7);border-radius:12px;padding:16px}
.mentions-box h3{margin:0 0 10px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#8a6d00}
.mentions-box .mention-item{padding:12px 14px;border:1px solid #f3e7c3;border-radius:10px;background:#fff}
.mentions-box .mention-item + .mention-item{margin-top:8px}
.mention-item b{display:block;color:var(--primary);font-size:13px;margin-bottom:4px}
.mention-item p{margin:0;color:#1b2738;font-size:14px;line-height:1.55}
/* Brand + dashboard v2 */
.brand{display:flex;align-items:center;gap:12px}.brand-logo{height:38px;width:auto;border-radius:8px;background:#fff;padding:2px;border:1px solid var(--line)}
.auth-logo{width:88px;height:88px;margin:0 auto 14px;display:block;border-radius:18px;box-shadow:0 10px 30px rgba(16,35,63,.15)}
.hero{background:linear-gradient(135deg,#0b3a5c 0%,#007ab5 60%,#0e93c8 100%)}
.hero-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;min-width:280px}
.hero-stats div{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);border-radius:14px;padding:14px 16px;backdrop-filter:blur(4px)}
.hero-stats span{display:block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#d7ecfb}
.hero-stats b{display:block;font-size:26px;margin-top:2px;color:#fff}
.upcoming{margin:0 0 26px}
.upcoming-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.upcoming-card{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 18px;text-decoration:none;box-shadow:0 8px 28px rgba(16,35,63,.05);transition:.18s transform,.18s box-shadow}
.upcoming-card:hover{transform:translateY(-2px);box-shadow:0 12px 35px rgba(16,35,63,.12)}
.upcoming-dot{width:10px;height:10px;flex:0 0 10px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px rgba(251,193,31,.2);animation:pulse 1.8s infinite}
.upcoming-card h3{margin:0 0 3px;font-size:15px}
.upcoming-card p{margin:0;color:var(--muted);font-size:13px}
.summary-snippet{margin:8px 0 0;color:var(--muted);font-size:13px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mention-badge{margin-left:auto;margin-right:8px;background:#fff4d6;color:#8a6100;border:1px solid #f3d97a;font-size:11px;font-weight:800;border-radius:99px;padding:4px 9px}
.mention-stat b{color:var(--brand)}
.state-joining_call,.state-in_waiting_room,.state-in_call_not_recording,.state-recording_permission_allowed,.state-in_call_recording,.state-call_ended{background:#e6f4fc;color:#0b5e8a}
.state-scheduled{background:#fff4d6;color:#8a6100}

/* ===== Top bar navigation + usage badge ===== */
.nav{display:flex;align-items:center;gap:4px}
.nav a{text-decoration:none;color:var(--muted);font-weight:700;font-size:13px;padding:8px 12px;border-radius:9px;transition:.15s}
.nav a:hover{background:#f4f7fb;color:var(--ink)}
.nav a.active{background:#e7f2fb;color:#075184}
.usage-badge{display:inline-flex;align-items:center;gap:6px;background:#eef6ff;border:1px solid rgba(18,97,160,.14);color:#0b5e8a;font-size:12px;font-weight:800;border-radius:99px;padding:7px 12px;text-decoration:none;white-space:nowrap;transition:.15s}
.usage-badge:hover{background:#e2effc;border-color:#7db6df}
.alert-ok{background:#e7f7f0;color:#05603a}
.btn-sm{padding:8px 12px;font-size:12px;border-radius:8px}

/* ===== Pills ===== */
.pill{display:inline-flex;align-items:center;font-size:11px;font-weight:800;border-radius:99px;padding:5px 10px;background:#eef1f5;color:#4b5563;white-space:nowrap}
.pill-connected{background:#e7f7f0;color:#05603a}
.pill-connecting{background:#fff4d6;color:#8a6100}
.pill-disconnected{background:#feeceb;color:#a31818}
.pill-scheduled{background:#e7f2fb;color:#075184}
.pill-idle{background:#eef1f5;color:#6b7280}
.pill-admin{background:#ede9fe;color:#5b21b6}
.pill-user{background:#e7f2fb;color:#075184}

/* ===== Calendar page ===== */
.cal-hero h1{font-size:clamp(26px,4vw,42px)}
.cal-panel{padding:26px;margin-bottom:24px}
.provider-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;margin-top:18px}
.provider-card{background:#f9fbff;border:1px solid #edf1f5;border-radius:14px;padding:18px}
.provider-top{display:flex;align-items:center;gap:12px}
.provider-top h3{margin:0 0 2px;font-size:15px}
.provider-email{margin:0;color:var(--muted);font-size:13px}
.provider-logo{width:40px;height:40px;flex:0 0 40px;border-radius:11px;display:grid;place-items:center;color:#fff;font-weight:800;font-size:18px}
.logo-google{background:linear-gradient(135deg,#4285F4,#34A853)}
.logo-microsoft{background:linear-gradient(135deg,#0078d4,#0b6fc2)}
.provider-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px;border-top:1px solid #edf1f5;padding-top:14px}
.provider-actions .small{font-size:12px}
.connect-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}
.provider-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);background:#fff;border-radius:11px;padding:12px 18px;font:inherit;font-weight:800;cursor:pointer;transition:.15s}
.provider-btn:hover{border-color:#7db6df;box-shadow:0 4px 14px rgba(16,35,63,.08)}
.provider-btn:disabled{opacity:.5;cursor:not-allowed}
.google-btn{color:#4285F4;border-color:#d0e2fb}
.ms-btn{color:#0078d4;border-color:#cde7f6}
.event-list{display:grid;gap:10px;margin-top:18px}
.event-row{display:flex;align-items:center;gap:16px;background:#f9fbff;border:1px solid #edf1f5;border-radius:14px;padding:16px 18px}
.event-date{flex:0 0 92px;display:grid;place-items:center;text-align:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px 6px}
.event-date b{font-size:13px;color:#075184}
.event-date small{color:var(--muted);font-size:11px}
.event-main{min-width:0;flex:1}
.event-main h3{margin:0 0 4px;font-size:15px}
.event-meta{display:flex;align-items:center;gap:8px;margin:0;flex-wrap:wrap}
.event-meta .muted{font-size:12px;word-break:break-all}
.chip{font-size:11px;font-weight:800;color:#0b5e8a;background:#e6f4fc;border-radius:99px;padding:3px 9px;text-transform:capitalize}
.event-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}

/* ===== Admin page ===== */
.admin-hero{display:flex;justify-content:space-between;gap:24px;align-items:center}
.admin-hero h1{font-size:clamp(26px,4vw,42px)}
.usage-card{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);border-radius:14px;padding:16px 20px;min-width:220px;backdrop-filter:blur(4px)}
.usage-card span{display:block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#d7ecfb}
.usage-card b{display:block;font-size:30px;color:#fff;margin-top:4px}
.usage-card small{color:#cfe8fa}
.admin-stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
.filter-form select{font:inherit;font-weight:700;padding:9px 34px 9px 12px;border:1px solid #cbd7e4;border-radius:9px;background:#fff}
.table-wrap{overflow-x:auto;margin-top:16px}
.table{width:100%;border-collapse:collapse;font-size:13px}
.table th{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);text-align:left;padding:10px 12px;border-bottom:1px solid var(--line)}
.table td{padding:12px;border-bottom:1px solid #edf1f5;vertical-align:middle}
.table tr:hover td{background:#f9fbff}
.table a{text-decoration:none}
.user-email{color:var(--brand);font-weight:700;text-decoration:none}
.users-row-4{grid-template-columns:2fr 1fr 1fr 1.4fr}

/* ===== Users management ===== */
.user-card{border:1px solid #edf1f5;border-radius:14px;padding:16px 18px;margin-top:12px;background:#f9fbff}
.user-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}
.user-card-head b{font-size:14px}
.user-card-head>div:first-child{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.row-actions form{display:inline-flex}
.reset-box{position:relative}
.reset-box summary{cursor:pointer;list-style:none;user-select:none}
.reset-box summary::-webkit-details-marker{display:none}
.reset-form{position:absolute;right:0;top:calc(100% + 8px);z-index:20;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 40px rgba(16,35,63,.14);padding:16px;display:grid;gap:10px;min-width:230px}
.reset-form button{justify-self:start}
.user-card-meta{display:flex;gap:18px;flex-wrap:wrap;margin-top:12px;color:var(--muted);font-size:12px}

/* ===== Account page ===== */
.account-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
.account-card{padding:24px}
.account-rows{display:grid;gap:0;margin-top:14px}
.account-rows div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #edf1f5}
.account-rows span{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}
.account-rows b{font-size:14px;text-align:right;word-break:break-word}
.stack-form{display:grid;gap:14px;margin-top:16px}

@media(max-width:900px){.admin-hero{flex-direction:column;align-items:flex-start}.account-grid{grid-template-columns:1fr}.event-row{flex-wrap:wrap}.event-date{flex:0 0 auto}.topbar{flex-wrap:wrap;height:auto;padding:10px 14px;gap:8px}.topbar .user{flex-wrap:wrap}.nav{overflow-x:auto;max-width:100%}.nav a{padding:6px 9px;font-size:12px}.usage-badge{font-size:11px;padding:6px 10px}}
