:root{color:#172033;background:#0f172a;font-family:Vazirmatn,IRANSans,Tahoma,Arial,sans-serif}*{box-sizing:border-box}body{margin:0}html,body,#root{min-height:100%}button,input,textarea{font:inherit}.auth-page{color:#172033;background:radial-gradient(circle at 15% 15%,#2563eb80,#0000 32%),linear-gradient(145deg,#071226,#172554);place-items:center;min-height:100dvh;padding:20px;display:grid}.auth-card{background:#fffffff7;border-radius:26px;width:min(460px,100%);padding:clamp(22px,5vw,38px);box-shadow:0 30px 100px #00000061}.auth-card h1{margin:8px 0 22px}.auth-card form,.auth-card label{gap:9px;display:grid}.auth-card form{gap:16px;margin-top:20px}.auth-card .eyebrow{color:#2563eb}.auth-card small{color:#64748b;margin-top:16px;display:block}.auth-status{color:#1e40af;background:#eff6ff;border-radius:10px;padding:10px 12px}.account-chip{background:#0f172a61;border:1px solid #93c5fd3d;border-radius:14px;align-items:center;gap:9px;min-height:44px;padding:5px 11px 5px 14px;display:inline-flex}.account-chip>span:last-child{line-height:1.35;display:grid}.account-chip small{color:#93c5fd;font-size:11px}.account-avatar{color:#172554;background:#bfdbfe;border-radius:10px;place-items:center;width:32px;height:32px;font-weight:900;display:grid}button.account-logout{color:#fecaca;background:#7f1d1d4d;border:1px solid #fca5a53d;min-height:40px;padding:8px 12px}.admin-users{color:#dbeafe;background:#0f172a94;border:1px solid #93c5fd38;border-radius:18px;width:min(920px,100%);margin:-8px auto 22px;overflow:hidden;box-shadow:0 16px 45px #00000029}.admin-users-heading{justify-content:space-between;align-items:center;gap:16px;padding:13px 16px;display:flex}.admin-users-heading>div{gap:3px;display:grid}.admin-users-heading small{color:#93c5fd}.admin-users-list{border-top:1px solid #93c5fd26;max-height:48vh;padding:0 16px 12px;overflow:auto}.admin-users article{border-bottom:1px solid #93c5fd1f;grid-template-columns:minmax(170px,1fr) auto auto;align-items:center;gap:14px;padding:12px 0;display:grid}.admin-user-name{gap:2px;min-width:0;display:grid}.admin-user-name small{color:#93c5fd;overflow-wrap:anywhere}.admin-user-actions{gap:7px;display:flex}.user-status{background:#fef3c7;border-radius:999px;padding:5px 8px;font-size:12px}.user-status.approved{color:#166534;background:#dcfce7}.user-status.rejected{color:#991b1b;background:#fee2e2}@media (width<=600px){.admin-users{margin-top:0}.admin-users-heading{flex-direction:column;align-items:stretch}.admin-users article{grid-template-columns:1fr auto}.admin-user-actions{grid-column:1/-1}.admin-user-actions button{flex:1}.account-chip{width:100%}}button{color:#fff;cursor:pointer;background:#3468d8;border:0;border-radius:12px;min-height:44px;padding:11px 16px;font-weight:800}button:hover{filter:brightness(1.06)}button.danger{background:#dc2626}button.secondary{color:#1e3a8a;background:#dbeafe}button.small{border-radius:10px;padding:7px 10px;font-size:13px}button:disabled{opacity:.58;cursor:not-allowed}input{color:#172033;background:#fff;border:1px solid #d8e1f3;border-radius:12px;width:100%;padding:12px 14px}code{color:#dbeafe;direction:ltr;background:#ffffff1a;border:1px solid #ffffff29;border-radius:10px;max-width:100%;padding:7px 10px;display:inline-block;overflow:auto}.meeting-page{color:#e5e7eb;background:radial-gradient(circle at 0 0,#3468d861,#0000 35%),linear-gradient(135deg,#0f172a 0%,#111827 48%,#172554 100%);min-height:100dvh;padding:clamp(12px,2vw,22px)}.topbar{justify-content:space-between;align-items:center;gap:18px;min-width:0;margin-bottom:22px;display:flex}.topbar>div{min-width:0}.topbar h1{overflow-wrap:anywhere;margin:4px 0 8px;font-size:clamp(24px,3vw,36px)}.top-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;min-width:0;display:flex}.secondary-link{color:#bfdbfe;white-space:nowrap;background:#3b82f624;border:1px solid #93c5fd47;border-radius:12px;align-items:center;padding:9px 14px;font-weight:800;text-decoration:none;display:inline-flex}.secondary-link:hover{background:#3b82f638}.recording-status{color:#fca5a5;margin:0;padding:0 16px 12px;font-weight:700}.eyebrow{color:#93c5fd;margin:0;font-weight:900}.status{color:#bfdbfe;overflow-wrap:anywhere;white-space:normal;background:#3b82f61f;border:1px solid #93c5fd2e;border-radius:999px;max-width:100%;padding:6px 10px;display:inline-flex}.join-card{color:#172033;background:#fffffff5;border:1px solid #ffffff38;border-radius:24px;gap:16px;width:min(680px,100%);margin:clamp(18px,7vh,80px) auto 0;padding:clamp(18px,4vw,28px);display:grid;box-shadow:0 24px 90px #0000004d}.join-card label{gap:8px;font-weight:800;display:grid}.invite-link{background:#eff6ff;border:1px solid #bfdbfe;border-radius:14px;gap:10px;padding:14px;display:grid}.invite-link>div:first-child{gap:4px;display:grid}.invite-link small{color:#64748b;line-height:1.7}.invite-link-row{align-items:stretch;gap:8px;display:flex}.invite-link-row input{min-width:0}.invite-link-row button{white-space:nowrap;flex:none}.checkbox-row{background:#f8fafc;border:1px solid #d8e1f3;border-radius:14px;align-items:center;padding:12px;line-height:1.8;grid-template-columns:none!important;gap:10px!important;display:flex!important}.checkbox-row input{width:auto;min-width:18px;height:18px}.hint{color:#64748b;margin:0;line-height:1.9}.rooms-browser{border-top:1px solid #d8e1f3;gap:12px;margin-top:8px;padding-top:16px;display:grid}.rooms-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.rooms-header h2{margin:0;font-size:18px}.tabs{background:#eef2ff;border-radius:14px;grid-template-columns:1fr 1fr;gap:8px;padding:4px;display:grid}.tab{color:#334155;background:0 0}.tab.active{color:#fff;background:#3468d8}.room-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.room-list li{background:#f8fafc;border:1px solid #d8e1f3;border-radius:14px;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:8px;padding:10px;display:grid}.room-list small{white-space:nowrap}.room-link{color:#1d4ed8;text-align:right;word-break:break-word;background:0 0;padding:0}.room-list span,.room-list small,.rooms-status{color:#64748b}.rooms-status{margin:0}.meeting-layout{grid-template-columns:minmax(0,1fr) 360px;align-items:stretch;gap:18px;display:grid}.waiting-card{text-align:center;color:#172033;background:#fffffff5;border-radius:24px;gap:14px;width:min(620px,100%);margin:clamp(18px,10vh,90px) auto 0;padding:clamp(18px,4vw,28px);display:grid;box-shadow:0 24px 90px #0000004d}.waiting-card h2,.waiting-card p{margin:0}.waiting-card p{color:#64748b;line-height:1.9}.stage,.panel{background:#0f172a9e;border:1px solid #ffffff1f;border-radius:22px;box-shadow:0 24px 80px #0000003d}.stage{grid-template-rows:1fr auto auto;min-height:calc(100dvh - 138px);display:grid;overflow:hidden}.video-grid{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));align-content:start;gap:14px;padding:16px;display:grid}.video-tile{background:#020617;border:1px solid #ffffff1a;border-radius:18px;min-height:220px;position:relative;overflow:hidden}.video-tile video{object-fit:cover;background:#020617;width:100%;height:100%;min-height:220px;display:block}.video-tile video.mirrored{transform:scaleX(-1)}.video-tile span{color:#fff;background:#0f172ac7;border-radius:999px;padding:6px 10px;font-weight:800;position:absolute;bottom:12px;right:12px}.controls{border-top:1px solid #ffffff1a;flex-wrap:wrap;justify-content:center;gap:10px;padding:16px;display:flex}.controls button{flex:150px}.audio-check{color:#e5e7eb;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 14px;padding:0 16px 16px;display:grid}.audio-check strong{margin-bottom:4px;display:block}.audio-check p,.audio-check small{color:#bfdbfe;margin:0}.audio-badge{white-space:nowrap;border-radius:999px;padding:7px 10px;font-weight:900}.audio-badge.connected{color:#bbf7d0;background:#22c55e24;border:1px solid #4ade8057}.audio-badge.disconnected{color:#fecaca;background:#dc262624;border:1px solid #f8717157}.audio-meter{background:#ffffff1f;border:1px solid #ffffff1f;border-radius:999px;grid-column:1/-1;height:12px;overflow:hidden}.audio-meter span{border-radius:inherit;background:linear-gradient(90deg,#22c55e,#facc15,#ef4444);height:100%;transition:width .1s;display:block}.sidebar{flex-direction:column;gap:18px;min-width:0;min-height:calc(100dvh - 138px);display:flex}.panel{padding:16px}.panel h2{margin:0 0 14px;font-size:18px}.participants{gap:8px;margin:0;padding:0;list-style:none;display:grid}.participants li{background:#ffffff14;border:1px solid #ffffff1a;border-radius:12px;padding:10px}.host-note{color:#bfdbfe;margin:-4px 0 12px;line-height:1.8}.admission-panel{background:#78350f59;border-color:#fbbf245c}.admission-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.admission-list li{background:#ffffff14;border:1px solid #ffffff1f;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;padding:10px;display:grid}.admission-list span{overflow-wrap:anywhere}.admission-list div{gap:6px;display:flex}.chat-panel{flex:auto;grid-template-rows:auto 1fr auto;min-width:0;min-height:360px;display:grid}.messages{flex-direction:column;gap:10px;padding-left:4px;display:flex;overflow:auto}.message{overflow-wrap:anywhere;background:#ffffff17;border:1px solid #ffffff1a;border-radius:14px;align-self:flex-start;max-width:92%;padding:10px 12px}.message.mine{background:#3468d861;align-self:flex-end}.message strong{color:#bfdbfe;margin-bottom:4px;display:block}.message p{margin:0;line-height:1.7}.chat-form{grid-template-columns:1fr auto;gap:8px;margin-top:12px;display:grid}.file-upload{color:#dbeafe;cursor:pointer;background:#3b82f61f;border:1px dashed #93c5fd73;border-radius:12px;justify-content:center;align-items:center;margin-top:10px;padding:10px;font-weight:800;display:flex}.file-upload.disabled{opacity:.62;cursor:not-allowed}.file-upload input{display:none}.file-message{color:#eff6ff;gap:4px;text-decoration:none;display:grid}.file-message span{text-align:right;word-break:break-word;direction:ltr}.file-message small{color:#bfdbfe}@media (width<=980px){.meeting-layout{grid-template-columns:1fr}.stage,.sidebar{min-height:auto}.chat-panel{min-height:420px}}@media (width<=640px){.meeting-page{padding:10px}.topbar{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:14px}.top-actions,.top-actions code,.top-actions button{width:100%}.top-actions{justify-content:stretch;align-items:stretch}.status{border-radius:14px}.join-card,.waiting-card{border-radius:18px}.rooms-header{flex-direction:column;align-items:stretch}.rooms-header button{width:100%}.tabs{grid-template-columns:1fr}.room-list li{grid-template-columns:1fr;align-items:stretch}.room-list small{white-space:normal}.room-link{text-align:right;min-height:36px}.meeting-layout{gap:12px}.video-grid{grid-template-columns:1fr;gap:10px;padding:10px}.video-tile,.video-tile video{min-height:190px}.controls{padding:10px}.controls button{flex-basis:100%}.invite-link-row{display:grid}.audio-check{grid-template-columns:1fr;padding:0 10px 10px}.audio-badge{text-align:center;white-space:normal;justify-self:stretch}.stage,.panel{border-radius:16px}.panel{padding:12px}.admission-list li{grid-template-columns:1fr}.admission-list div{grid-template-columns:1fr 1fr;display:grid}.chat-panel{min-height:380px}.chat-form{grid-template-columns:1fr}.message{max-width:100%}}.recordings-page{max-width:1100px;margin:0 auto}.recordings-filters{grid-template-columns:1fr 1fr auto;align-items:end;width:100%;margin:0 0 22px}.recordings-filters button{height:44px}.recordings-list{gap:16px;display:grid}.recording-card{color:#e5e7eb;background:#0f172a9e;border:1px solid #ffffff1f;border-radius:20px;padding:18px}.recording-card-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.recording-card-header h2{margin:0 0 6px;font-size:20px}.recording-card-header .hint{color:#bfdbfe;margin:2px 0}.recording-card-actions{flex-wrap:wrap;gap:8px;display:flex}.link-button{color:#fff;cursor:pointer;background:#3468d8;border:0;border-radius:12px;justify-content:center;align-items:center;min-height:44px;padding:11px 16px;font-weight:800;text-decoration:none;display:inline-flex}.link-button:hover{filter:brightness(1.06)}.recording-player{background:#000;border-radius:14px;width:100%;max-height:70vh;margin-top:14px}@media (width<=720px){.recordings-filters{grid-template-columns:1fr}}@media (width<=380px){button{padding-inline:12px}.join-card,.waiting-card{padding:14px}.video-tile,.video-tile video{min-height:165px}}
