/* Task-focused application shell; system fonts, no external UI dependency. */
:root{color-scheme:dark;--bg:#0f1114;--surface:#1b1e24;--line:#343b45;--text:#f1f3f6;--muted:#a3b0c2;--accent:#2fd3b5;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(ellipse at 80% 0,#252a3155,transparent 55%),var(--bg);color:var(--text);font-size:15px;line-height:1.5}a{color:var(--accent)}button,.button,input,select{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;gap:8px;margin:0;padding:11px 18px;border-radius:12px;text-decoration:none;font-weight:700;background:var(--accent);color:#03241d;border:1px solid transparent;cursor:pointer;transition:background .16s,transform .16s}button:hover,.button:hover{background:#5fe0c8}button:disabled{opacity:.45;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #8fe9d7;outline-offset:4px}.secondary{background:#262b32;color:var(--text);border-color:var(--line)}.secondary:hover{background:#383f4a}.app-sidebar{position:fixed;inset:0 auto 0 0;width:240px;padding:36px 22px;border-right:1px solid var(--line);background:#131619;display:flex;flex-direction:column;gap:34px}.brand{color:var(--text);text-decoration:none;font-size:26px;letter-spacing:1px}.nav-caption,.eyebrow{color:var(--accent);font-size:11px;font-weight:750;letter-spacing:1.8px}.nav-caption{color:var(--muted);margin-bottom:-20px}.app-sidebar nav{display:grid;gap:8px}.app-sidebar nav a{padding:13px 14px;color:var(--muted);text-decoration:none;border-radius:12px}.app-sidebar nav a:hover,.app-sidebar nav a[aria-current]{background:#2c323a;color:var(--text)}.sidebar-note{margin-top:auto;font-size:13px}main{max-width:1600px;margin:0 0 0 240px;padding:42px 40px 64px}.dashboard-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0;border:0;margin-bottom:28px}h1{font-size:clamp(30px,3.3vw,46px);letter-spacing:-1.7px;line-height:1.15;margin:12px 0}h2{font-size:21px;letter-spacing:-.5px;margin:8px 0 16px}h3{font-size:16px}p{color:var(--muted);line-height:1.65;margin:8px 0 18px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px;align-items:start}.dashboard-primary,.dashboard-secondary{min-width:0}.panel{padding:26px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,#1f232a,#1a1d22);margin:0 0 24px;box-shadow:0 10px 35px #00000012}.join-strip{padding:20px 24px;border:1px solid var(--line);border-radius:18px;margin-bottom:28px;background:#181b20}.join-strip h2{font-size:17px;margin:0}.join-strip p{font-size:13px;margin:4px 0 12px}.join-strip form{display:flex;gap:10px}label{font-weight:550;font-size:13px;margin:14px 0 6px}input,select{width:100%;padding:12px 14px;border-radius:11px;border:1px solid #46505d;background:#14161a;color:var(--text);min-height:46px}input::placeholder{color:#8696ae}form>button{margin-top:18px}.join-strip form>button{margin:0;flex-shrink:0}#login-form{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px}#login-form label{margin:0}#login-form label[for=email]{grid-area:1/1}#email{grid-area:2/1}#login-form label[for=password]{grid-area:1/2}#password{grid-area:2/2}#auth-actions>button{float:right}#auth-actions section p{overflow-wrap:anywhere}#auth-actions section h3{margin-bottom:0}.organization-details{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}summary{cursor:pointer;color:var(--muted);font-size:13px}.choice{display:flex;gap:12px;align-items:flex-start;padding:12px;border:1px solid var(--line);border-radius:12px;font-size:14px;cursor:pointer}.choice:has(input:checked){background:#203c4055;border-color:#559b91}.choice input{width:18px;min-height:18px;height:18px;flex:none;margin:3px 0;accent-color:var(--accent)}.choice span{flex:1}.choice small{display:block;color:var(--muted);font-size:12px;margin-top:3px}fieldset{border:0;padding:0;margin:22px 0}legend{font-size:13px;font-weight:700}.security-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.security-options .choice{margin-bottom:0}#room-form>button{width:100%;margin-top:4px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-heading h2{margin-bottom:4px}#rooms{display:grid;gap:12px;margin-top:24px}#rooms li{margin:0;padding:18px;background:#16191d;border-radius:14px}#rooms h3{margin:0 0 5px;overflow-wrap:anywhere}.room-meta{font-size:12px;color:var(--muted);margin:4px 0 14px}.action-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.action-row button,.action-row .button{font-size:13px;padding:9px 12px}.invitation-result{margin-top:20px;padding:18px;border:1px solid #4eaa95;border-radius:14px;background:#183a3555}.invitation-result p{font-size:13px}#status:empty,#auth-status:empty,#join-link-status:empty{display:none}#status,#auth-status,#join-link-status{font-size:13px;overflow-wrap:anywhere}#local-warning{font-size:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}[hidden]{display:none!important}@media(min-width:1600px){main{margin-left:260px}}@media(max-width:1100px){.app-sidebar{width:200px;padding:28px 16px}main{margin-left:200px;padding:30px 24px}.dashboard-grid{grid-template-columns:1fr}.dashboard-header{align-items:flex-start}.dashboard-header>.button{font-size:13px;max-width:170px}}@media(max-width:700px){.app-sidebar{position:static;width:auto;padding:16px;gap:16px;border-right:0;border-bottom:1px solid var(--line)}.app-sidebar .brand{font-size:22px}.app-sidebar nav{display:flex;overflow:auto;gap:4px}.app-sidebar nav a{white-space:nowrap;font-size:12px;padding:9px}.nav-caption,.sidebar-note{display:none}main{margin:0;padding:24px 16px}.dashboard-header{display:block}.dashboard-header>.button{max-width:none;margin-top:4px}.panel{padding:20px}.join-strip{padding:18px}.join-strip form{flex-direction:column}.security-options{grid-template-columns:1fr}#login-form{display:block}#login-form button{margin:14px 8px 0 0}#auth-actions>button{float:none;margin-bottom:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

#auth-actions>button{float:none}#auth-actions section p{margin-bottom:10px}.panel form+div[hidden]{display:none}.note{font-size:12px;color:var(--muted)}
label{display:block}ul#rooms{list-style:none;padding:0}.brand{font-weight:850}.accent{color:var(--accent)}.pill{border:1px solid var(--line);border-radius:99px;padding:5px 10px;color:var(--muted);font-size:12px}#auth-actions>button{margin-bottom:12px}

#status:not(:empty),#auth-status:not(:empty){padding:12px 14px;border:1px solid #606c7f;border-radius:10px;background:#2a3038;color:#f0f2f5;line-height:1.6}

.creation-readiness:not([hidden]){padding:14px 16px;border:1px solid #559b91;border-radius:12px;background:#203c4055;color:var(--text);font-size:14px;line-height:1.6;margin:18px 0 12px}button:disabled{cursor:not-allowed}
#creation-options{margin:18px 0}#creation-options>summary{padding:10px 12px;min-height:44px;border:1px solid var(--line);border-radius:10px;background:#23282f;color:var(--text)}#creation-options[open]>summary{margin-bottom:14px}

#workspace-status:not(:empty){position:sticky;top:12px;z-index:5;background:#2a3038;color:#f1f3f6;border:1px solid #606c7f;border-radius:12px;padding:16px}textarea{font:inherit;width:100%;padding:12px;background:#14161a;color:#f1f3f6;border:1px solid #46505d;border-radius:11px;resize:vertical}#workspace-content form{display:grid;gap:8px}#workspace-content li{padding-block:8px}#workspace-content li button{margin-inline-start:12px}#workspace-content input[type=checkbox]{width:auto;min-height:20px}#workspace-content input,#workspace-content select{min-width:0}#invitation-preview{max-height:280px;overflow:auto}

#account-status:not(:empty){padding:16px;background:#2a3038;border:1px solid #606c7f;color:#f1f3f6;border-radius:12px}#profile-form,#account-password-form,#recover-form{display:grid;gap:8px}

#account-security form{display:grid;gap:8px;margin-block:18px}#account-security input[type=checkbox]{width:auto;min-height:20px}#account-security li{padding-block:10px;overflow-wrap:anywhere}#account-security li button{margin-inline-start:10px;margin-block:4px}#security-status:not(:empty){padding:14px;border:1px solid #2fd3b5;border-radius:10px;background:#183a35;color:#5fe0c8}#recovery-codes{white-space:pre-wrap;overflow-wrap:anywhere;user-select:all;padding:14px;border:1px solid #606c7f;border-radius:10px}#totp-qr{max-width:100%;height:auto;background:white;border-radius:10px}#totp-secret{font-family:monospace}#account-security details{margin-block-start:20px}#account-security summary{cursor:pointer;padding:12px;border:1px solid #606c7f;border-radius:10px}

/* Meetings: one clear list, one primary action per row, forms disclosed on demand. */
.meetings-page{margin:0;background:#121418}
.meetings-page main{max-width:1500px;padding:36px clamp(20px,4vw,64px)}
.meetings-page .dashboard-header{align-items:center;margin-bottom:24px}
.meetings-page h1{font-size:32px;letter-spacing:-.8px;margin:0 0 8px}
.meetings-page .dashboard-header p{font-size:14px;margin:0}
.dashboard-header-actions{display:flex;gap:10px;flex-wrap:wrap}
.meetings-page .dashboard-grid{display:flex;flex-direction:column;gap:0}
.meetings-page .dashboard-primary,.meetings-page .dashboard-secondary{width:100%}
.meetings-page .panel{background:#1b1f24;box-shadow:none;border-radius:14px;padding:22px;margin-bottom:18px}
.meetings-page .join-strip{margin:0 0 12px;padding:0;background:transparent;border:1px solid #3b434e;border-radius:12px}
.meetings-page #join-panel>summary,.meetings-page #new-meeting-panel>summary{font-size:14px;color:#e5e9ee;min-height:48px;padding:13px 16px;font-weight:600}
.meetings-page #join-panel[open]{padding:0 18px 18px}
.meetings-page #join-panel[open]>summary{margin-inline:-18px}
.meetings-page #new-meeting-panel{padding:0;overflow:hidden}
.meetings-page .creation-body{max-width:720px;padding:8px 22px 22px}
.meetings-page #creation-title{font-size:19px;margin:0 0 8px}
.meetings-page #creation-description{font-size:13px}
.meetings-page .section-heading h2{font-size:18px;margin:0}
.meetings-page #room-search{margin-top:18px;max-width:420px;min-height:44px}
.meetings-page #rooms{display:block;margin:12px 0 0}
.meetings-page #rooms>li{display:flex;align-items:center;gap:20px;justify-content:space-between;border-radius:0;background:transparent;border-top:1px solid #303740;padding:18px 0}
.meetings-page .room-row-identity{min-width:0;flex:1}
.meetings-page #rooms h3{font-weight:600;font-size:15px;margin:0;line-height:1.5}
.meetings-page .room-meta{margin:4px 0 0;font-size:12px}
.meetings-page #rooms .action-row{margin:0;flex-wrap:nowrap;align-items:center;flex:none}
.room-actions-menu{position:relative}
.room-actions-menu>summary{display:grid;place-items:center;list-style:none;width:44px;height:44px;font-size:18px;letter-spacing:1px;background:#2b3039;border:1px solid #464f5c;border-radius:10px;color:white;cursor:pointer}
.room-actions-menu>summary::-webkit-details-marker{display:none}
.room-actions-items{position:absolute;right:0;top:50px;z-index:10;width:230px;padding:8px;background:#252a31;border:1px solid #566172;border-radius:12px;box-shadow:0 12px 32px #0007}
.room-actions-items>button,.room-actions-items>a{width:100%;justify-content:flex-start;text-align:left;background:transparent;border:0;font-weight:500}
.room-actions-items>p{font-size:12px;margin:8px;padding:8px 0 0;border-top:1px solid #495260}
.sidebar-advanced{margin-top:12px;border-top:1px solid #343b45;padding-top:14px}
.sidebar-advanced>summary{min-height:44px;padding:12px 8px}
.sidebar-advanced>a{display:block;padding:12px 8px;font-size:13px;text-decoration:none;color:#bac4d1}
@media(max-width:700px){
 .meetings-page main{margin:0;padding:24px 16px}
 .meetings-page .dashboard-header{display:block}
 .meetings-page h1{font-size:27px}
 .dashboard-header-actions{margin-top:18px;display:grid;grid-template-columns:1fr 1fr;gap:8px}
 .dashboard-header-actions .button{padding:10px 8px;font-size:12px}
 .meetings-page .panel{padding:16px}
 .meetings-page #rooms>li{gap:10px;align-items:flex-start}
 .meetings-page #rooms .action-row>button{font-size:12px;padding:10px}
 .meetings-page .room-row-identity{align-self:center}
 .meetings-page #rooms h3{font-size:14px}
 .meetings-page .app-sidebar{position:relative}
 .meetings-page .sidebar-advanced{display:block;position:absolute;right:12px;top:12px;margin:0;padding:0;border:0;z-index:20}
 .meetings-page .sidebar-advanced>summary{padding:8px;font-size:12px;min-height:36px}
 .meetings-page .sidebar-advanced[open]{width:200px;background:#20242b;border:1px solid #485260;border-radius:10px;padding:4px;box-shadow:0 10px 25px #0007}
}

.meetings-page .creation-readiness:not([hidden]){padding:0;border:0;background:transparent;font-size:12px;color:#b2c6c7;margin:14px 0}

.meetings-page .skip-link:not(:focus){clip-path:inset(50%);width:1px;height:1px;overflow:hidden;padding:0;border:0}
.meetings-page #auth-status[data-routine=true]{display:none}
.meetings-page #cloud-auth:has(#auth-actions:not([hidden]))>h2,.meetings-page #cloud-auth:has(#auth-actions:not([hidden]))>form+p{display:none}
.meetings-page #auth-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) auto;gap:4px 20px;align-items:center}
.meetings-page #profile-title{display:none}
.meetings-page #auth-actions>section{grid-column:1;grid-row:1/3}
.meetings-page #auth-actions>section p{margin:0;font-size:12px}
.meetings-page #auth-actions>label{grid-column:2;grid-row:1;margin:0;font-size:12px}
.meetings-page #organization-select{grid-column:2;grid-row:2}
.meetings-page #logout{grid-column:3;grid-row:1/3;margin:0;background:transparent;color:#ced5de;border-color:#485260;font-size:12px}
.meetings-page .organization-details{grid-column:1/-1;margin:12px 0 0;padding:12px 0 0}
@media(max-width:700px){
 .meetings-page #auth-actions{grid-template-columns:minmax(0,1fr) auto;gap:12px}
 .meetings-page #auth-actions>section{grid-column:1;grid-row:1}
 .meetings-page #logout{grid-column:2;grid-row:1}
 .meetings-page #auth-actions>label{grid-column:1/-1;grid-row:2}
 .meetings-page #organization-select{grid-column:1/-1;grid-row:3}
 .meetings-page .organization-details{grid-row:4}
}

.meetings-page #join-panel:not([open]),.meetings-page #new-meeting-panel:not([open]){display:none}

#meeting-list-status:empty{display:none}#meeting-list-status{font-size:13px;color:#5fe0c8;overflow-wrap:anywhere;margin:14px 0}
