[hidden] { display: none !important; }
:root { color-scheme: light; --ink:#1c2638; --muted:#728097; --line:#e5e9f1; --surface:#fff; --canvas:#f4f6fc; --blue:#4d79de; --blue-soft:#edf3ff; --rose:#c45d88; --rose-soft:#fff0f6; --violet:#7162cc; --mint:#238c7e; --shadow:0 18px 48px rgba(34,48,79,.08); }
* { box-sizing:border-box; }
html, body { min-height:100%; margin:0; }
body { color:var(--ink); background:radial-gradient(ellipse at 15% 0%,rgba(98,129,222,.09),transparent 36rem),radial-gradient(ellipse at 92% 35%,rgba(205,112,158,.08),transparent 32rem),var(--canvas); font-family:var(--aira-persian-font,'Vazirmatn',Tahoma,sans-serif); -webkit-font-smoothing:antialiased; }
button, textarea { font:inherit; }
button { -webkit-tap-highlight-color:transparent; }
a { color:inherit; }
.page-shell { width:min(100% - 36px,1060px); min-height:100dvh; margin:0 auto; padding:24px 0 18px; }
.topbar, .room-topbar { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.brand, .room-brand { display:flex; align-items:center; gap:11px; text-decoration:none; }
.brand-mark { display:grid; width:46px; height:46px; flex:0 0 46px; place-items:center; border:1px solid rgba(255,255,255,.66); border-radius:15px; color:#fff; background:linear-gradient(145deg,#7467d9,#49b8b1); box-shadow:0 9px 22px rgba(100,93,201,.24); font-size:1.25rem; font-weight:800; }
.brand strong, .brand small, .room-brand strong, .room-brand small { display:block; }
.brand strong, .room-brand strong { color:#26264a; font-size:1rem; font-weight:800; }
.brand small, .room-brand small { margin-top:2px; color:var(--muted); font-size:.68rem; }
.topbar-actions, .room-top-actions { display:flex; align-items:center; gap:9px; }
.account-chip, .match-badge { display:inline-flex; align-items:center; gap:8px; padding:9px 13px; border:1px solid rgba(220,226,238,.9); border-radius:99px; color:#5c687d; background:rgba(255,255,255,.75); font-size:.72rem; }
.online-dot { width:7px; height:7px; flex:0 0 7px; border-radius:50%; background:#41bb8f; box-shadow:0 0 0 3px rgba(65,187,143,.12); }
.quiet-button, .icon-button { min-height:38px; padding:0 13px; border:1px solid var(--line); border-radius:11px; color:#56637a; background:#fff; cursor:pointer; font-size:.74rem; transition:transform .16s ease,border-color .16s ease,background .16s ease; }
.quiet-button:hover:not(:disabled), .icon-button:hover { transform:translateY(-1px); border-color:#cdd5e5; background:#fbfcff; }
.quiet-button:disabled { cursor:wait; opacity:.52; }
.danger-button { color:#a44d67; }
.welcome-card { position:relative; display:flex; min-height:238px; align-items:center; justify-content:space-between; gap:28px; margin-top:25px; padding:32px clamp(22px,5vw,56px); overflow:hidden; border:1px solid rgba(255,255,255,.92); border-radius:26px; background:linear-gradient(112deg,rgba(255,255,255,.98),rgba(248,250,255,.9)); box-shadow:var(--shadow); }
.welcome-copy { position:relative; z-index:1; max-width:620px; }
.eyebrow { margin:0 0 7px; color:var(--violet); font-size:.69rem; font-weight:700; letter-spacing:.035em; }
.welcome-copy h1 { margin:0; color:#252741; font-size:clamp(1.55rem,4vw,2.35rem); line-height:1.65; font-weight:800; }
.welcome-copy h1 span { color:#5c62b8; }
.intro { max-width:610px; margin:10px 0 0; color:#6b778d; font-size:.83rem; line-height:2; }
.welcome-art { position:relative; width:220px; height:170px; flex:0 0 220px; }
.art-orbit { position:absolute; inset:14px 20px; border:1px dashed rgba(115,108,205,.24); border-radius:50%; transform:rotate(-18deg); }
.orbit-two { inset:28px 4px; transform:rotate(24deg); border-color:rgba(78,160,169,.25); }
.art-person { position:absolute; z-index:1; display:grid; width:66px; height:66px; place-items:center; border:5px solid #fff; border-radius:22px; color:#fff; background:linear-gradient(145deg,#6691e7,#4d69c5); box-shadow:0 12px 26px rgba(71,102,187,.24); font-size:1.55rem; font-weight:700; }
.person-one { top:20px; right:22px; transform:rotate(-8deg); }
.person-two { bottom:12px; left:18px; background:linear-gradient(145deg,#df91b1,#b9628c); box-shadow:0 12px 26px rgba(187,92,137,.22); transform:rotate(8deg); }
.art-link { position:absolute; top:75px; left:85px; display:flex; gap:5px; align-items:center; }
.art-link i { width:8px; height:8px; border-radius:50%; background:#9a91de; }
.art-link i:nth-child(2) { width:11px; height:11px; background:#68b8b3; }
.join-section, .history-section { margin-top:26px; padding:25px clamp(18px,4vw,34px); border:1px solid rgba(225,230,240,.92); border-radius:22px; background:rgba(255,255,255,.87); box-shadow:0 10px 32px rgba(34,48,79,.045); }
.section-heading { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:16px; }
.section-heading .eyebrow { margin-bottom:2px; }
.section-heading h2 { margin:0; color:#272c45; font-size:1.15rem; font-weight:800; }
.match-badge { border-color:#dceee9; color:#448377; background:#f4fbf8; }
.role-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
.role-card { display:flex; min-height:95px; align-items:center; gap:14px; padding:15px 18px; border:1px solid #e7ebf4; border-radius:17px; color:var(--ink); background:linear-gradient(115deg,#fff,#fbfcff); cursor:pointer; text-align:right; transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
.role-card:hover:not(:disabled) { transform:translateY(-3px); box-shadow:0 12px 26px rgba(43,62,103,.09); }
.role-card:disabled { opacity:.58; cursor:wait; }
.role-man:hover:not(:disabled) { border-color:#aec5f1; }
.role-woman:hover:not(:disabled) { border-color:#efbfd1; }
.role-avatar { display:grid; width:55px; height:55px; flex:0 0 55px; place-items:center; border-radius:18px; color:var(--blue); background:var(--blue-soft); }
.role-avatar svg { width:27px; height:27px; }
.role-woman .role-avatar { color:var(--rose); background:var(--rose-soft); }
.role-card-copy { display:grid; flex:1; gap:4px; }
.role-card-copy strong { font-size:.94rem; }
.role-card-copy small { color:var(--muted); font-size:.7rem; }
.role-arrow { color:#8c96aa; font-size:1.2rem; }
.consent-check { display:flex; align-items:flex-start; gap:11px; margin-top:19px; color:#606d82; cursor:pointer; font-size:.73rem; line-height:1.9; }
.consent-check input { position:absolute; width:1px; height:1px; opacity:0; }
.checkmark { position:relative; width:20px; height:20px; flex:0 0 20px; margin-top:2px; border:1.5px solid #cbd3e2; border-radius:6px; background:#fff; }
.consent-check input:checked + .checkmark { border-color:#7162cc; background:#7162cc; }
.consent-check input:checked + .checkmark::after { position:absolute; top:1px; left:5px; width:5px; height:10px; border:solid white; border-width:0 2px 2px 0; content:""; transform:rotate(45deg); }
.consent-check input:focus-visible + .checkmark { outline:3px solid rgba(113,98,204,.22); outline-offset:2px; }
.consent-check strong { color:#554ca5; }
.privacy-note { display:flex; gap:8px; margin:10px 0 0 30px; color:#8490a4; font-size:.66rem; line-height:1.8; }
.privacy-note span { color:#63a69c; font-size:.62rem; }
.history-section { margin-top:20px; }
.history-heading { margin-bottom:12px; }
.history-list { display:grid; gap:8px; }
.history-item { display:flex; width:100%; align-items:center; gap:12px; padding:12px 14px; border:1px solid #e8ecf3; border-radius:13px; color:#3c475c; background:#fff; cursor:pointer; text-align:right; transition:background .15s ease,border-color .15s ease; }
.history-item:hover { border-color:#d3d8ee; background:#fafaff; }
.history-icon { display:grid; width:37px; height:37px; flex:0 0 37px; place-items:center; border-radius:12px; color:#655ab8; background:#f0effb; }
.history-copy { display:grid; flex:1; gap:3px; min-width:0; }
.history-copy strong { overflow:hidden; font-size:.76rem; text-overflow:ellipsis; white-space:nowrap; }
.history-copy small { color:var(--muted); font-size:.65rem; }
.history-status { padding:4px 8px; border-radius:99px; color:#6d7488; background:#f1f3f7; font-size:.61rem; white-space:nowrap; }
.history-status.completed { color:#23795e; background:#e9f7f1; }
.empty-history { margin:13px 0 0; color:#8893a6; font-size:.74rem; text-align:center; }
.site-footer { display:flex; justify-content:center; gap:13px; margin:20px 0 3px; color:#8993a5; font-size:.65rem; }
.site-footer a { color:#655ab8; text-decoration:none; }
.room-shell { display:flex; width:min(100%,1040px); min-height:100dvh; flex-direction:column; margin:0 auto; padding:15px clamp(12px,3vw,26px) 24px; }
.room-topbar { min-height:56px; }
.icon-button { width:39px; height:39px; padding:0; font-size:1.35rem; }
.room-brand { flex:1; }
.small-mark { width:38px; height:38px; flex-basis:38px; border-radius:12px; font-size:1rem; }
.room-brand strong { font-size:.88rem; }
.room-brand small { font-size:.64rem; }
.room-top-actions { justify-content:flex-end; }
.room-top-actions .quiet-button { min-height:35px; padding-inline:11px; font-size:.68rem; }
.room-info { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:14px 0 10px; padding:12px 15px; border:1px solid #e6eaf2; border-radius:15px; background:rgba(255,255,255,.82); }
.room-participants { display:flex; align-items:center; gap:12px; }
.participant-pill { display:grid; grid-template-columns:9px auto; align-items:center; column-gap:7px; row-gap:2px; min-width:110px; }
.presence-indicator { width:8px; height:8px; grid-row:span 2; border-radius:50%; background:#c0c7d4; }
.presence-indicator.online { background:#43b58a; box-shadow:0 0 0 3px rgba(67,181,138,.13); }
.participant-label { color:#7f8ba0; font-size:.6rem; }
.participant-pill strong { max-width:150px; overflow:hidden; color:#3c475c; font-size:.72rem; text-overflow:ellipsis; white-space:nowrap; }
.man-pill .participant-label { color:#5d7fbe; }
.woman-pill .participant-label { color:#b76a8b; }
.pair-divider { color:#9aa4b7; font-size:1.05rem; }
.room-privacy { margin:0; color:#8792a5; font-size:.65rem; line-height:1.7; }
.chat-panel { position:relative; display:flex; min-height:350px; flex:1; flex-direction:column; overflow:hidden; border:1px solid #e5e9f1; border-radius:18px; background:rgba(255,255,255,.92); box-shadow:0 12px 35px rgba(35,49,78,.055); }
.message-list { display:flex; min-height:250px; flex:1; flex-direction:column; gap:11px; padding:20px clamp(13px,4vw,32px); overflow-y:auto; overscroll-behavior:contain; scroll-behavior:smooth; }
.chat-placeholder { display:grid; min-height:190px; place-content:center; justify-items:center; gap:8px; color:#8591a4; text-align:center; }
.chat-placeholder .placeholder-icon { display:grid; width:45px; height:45px; place-items:center; border:1px solid #e9e8f6; border-radius:15px; color:#8276ce; background:#f7f6fd; font-size:1.2rem; }
.chat-placeholder strong { color:#68758b; font-size:.79rem; }
.chat-placeholder span { max-width:320px; font-size:.68rem; line-height:1.8; }
.chat-message { display:flex; max-width:min(78%,650px); flex-direction:column; gap:4px; animation:messageIn .19s ease-out; }
.chat-message.mine { align-self:flex-start; }
.chat-message.theirs { align-self:flex-end; }
.chat-message.man .message-bubble { border-color:#d9e5fa; background:#f0f5ff; }
.chat-message.woman .message-bubble { border-color:#f4dce7; background:#fff2f7; }
.message-meta { display:flex; align-items:center; gap:8px; padding:0 7px; color:#8a95a7; font-size:.59rem; }
.chat-message.mine .message-meta { justify-content:flex-start; }
.chat-message.theirs .message-meta { justify-content:flex-end; }
.message-meta strong { color:#66738a; font-weight:700; }
.message-bubble { padding:10px 14px; border:1px solid #e7eaf1; border-radius:16px; color:#313b50; background:#f8f9fc; font-size:.8rem; line-height:1.9; white-space:pre-wrap; overflow-wrap:anywhere; }
.chat-message.mine .message-bubble { border-start-start-radius:5px; }
.chat-message.theirs .message-bubble { border-start-end-radius:5px; }
.composer { display:flex; align-items:flex-end; gap:9px; margin:0 14px; padding:10px; border:1px solid #e3e7ef; border-radius:16px; background:#fbfcfe; }
.composer:focus-within { border-color:#b9b5e3; box-shadow:0 0 0 3px rgba(113,98,204,.08); }
.composer textarea { display:block; min-height:42px; max-height:125px; flex:1; resize:none; padding:10px 8px; border:0; outline:none; color:#29354b; background:transparent; font-size:.78rem; line-height:1.7; }
.composer textarea::placeholder { color:#9aa4b5; }
.composer textarea:disabled { opacity:.55; }
.send-button { display:grid; width:41px; height:41px; flex:0 0 41px; place-items:center; border:0; border-radius:13px; color:#fff; background:linear-gradient(140deg,#7770d0,#50afa9); box-shadow:0 5px 13px rgba(99,103,191,.2); cursor:pointer; font-size:1.3rem; }
.send-button:disabled { cursor:not-allowed; opacity:.42; }
.chat-footnote { margin:7px 18px 12px; color:#98a2b2; font-size:.61rem; text-align:center; }
.waiting-state, .analyzing-state { display:flex; position:absolute; z-index:2; inset:0; flex-direction:column; align-items:center; justify-content:center; gap:11px; padding:22px; background:rgba(255,255,255,.96); text-align:center; }
.waiting-state h2 { margin:2px 0 0; color:#323d54; font-size:1.05rem; }
.waiting-state p { max-width:340px; margin:0 0 5px; color:#7d899d; font-size:.74rem; line-height:1.9; }
.waiting-spinner { width:38px; height:38px; border:3px solid #e4e7f1; border-top-color:#7469cb; border-radius:50%; animation:spin .8s linear infinite; }
.analyzing-state { color:#4e4d85; }
.analyzing-state strong { font-size:.83rem; }
.analyzing-state small { color:#8490a4; font-size:.68rem; }
@keyframes spin { to { transform:rotate(360deg); } }
@keyframes messageIn { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:translateY(0); } }
.report-panel { margin-top:16px; padding:22px clamp(16px,4vw,30px); border:1px solid #e3e6f0; border-radius:18px; background:#fff; box-shadow:var(--shadow); }
.report-panel-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-bottom:12px; border-bottom:1px solid var(--line); }
.report-panel-heading h2 { margin:0; color:#2f3056; font-size:1.08rem; }
.primary-button { min-height:40px; padding:0 15px; border:0; border-radius:11px; color:#fff; background:linear-gradient(120deg,#7165c7,#46a99f); cursor:pointer; font-size:.72rem; font-weight:700; }
.report-content { display:grid; gap:13px; padding-top:14px; }
.report-block { padding:14px 16px; border:1px solid #e8eaf2; border-radius:13px; background:#fcfcfe; }
.report-block h3 { margin:0 0 7px; color:#45427e; font-size:.82rem; }
.report-block p, .report-block li { color:#566279; font-size:.74rem; line-height:1.95; }
.report-block p { margin:0; white-space:pre-wrap; }
.report-block ul { display:grid; gap:4px; margin:0; padding-inline-start:22px; }
.perspectives-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.perspective-card { padding:13px; border:1px solid #e7eaf1; border-radius:12px; background:#fff; }
.perspective-card.man { border-top:3px solid #7897dc; }
.perspective-card.woman { border-top:3px solid #d181a3; }
.perspective-card h4 { margin:0 0 8px; color:#3e4860; font-size:.76rem; }
.perspective-card h5 { margin:8px 0 3px; color:#707b90; font-size:.67rem; }
.perspective-card ul { margin:0; padding-inline-start:18px; }
.report-disclaimer { padding:12px 14px; border:1px solid #eee4ce; border-radius:12px; color:#74684e; background:#fffaf0; font-size:.68rem; line-height:1.9; }
.report-address { margin:12px 0 0; color:#8b94a5; font-size:.65rem; text-align:center; }
.report-address a { color:#6359ac; direction:ltr; text-decoration:none; }
.toast { position:fixed; z-index:2000; right:50%; bottom:max(20px,env(safe-area-inset-bottom)); max-width:min(92vw,520px); padding:11px 16px; border:1px solid #e2e5ee; border-radius:12px; color:#303a50; background:#fff; box-shadow:0 12px 30px rgba(27,39,65,.18); font-size:.75rem; line-height:1.7; transform:translateX(50%); }
.toast.error { border-color:#f0d1d6; color:#9c4357; background:#fff8f9; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; clip-path:inset(50%); }
@media (max-width:700px) {
  .page-shell { width:min(100% - 24px,570px); padding-top:15px; }
  .account-chip { max-width:42vw; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .welcome-card { min-height:0; margin-top:17px; padding:23px 20px; }
  .welcome-art { width:100px; height:104px; flex-basis:100px; transform:scale(.72); transform-origin:center; }
  .welcome-copy h1 { font-size:1.45rem; }
  .intro { font-size:.75rem; }
  .join-section, .history-section { margin-top:17px; padding:20px 16px; }
  .role-grid { gap:9px; }
  .role-card { min-height:85px; gap:9px; padding:11px; }
  .role-avatar { width:43px; height:43px; flex-basis:43px; border-radius:14px; }
  .role-avatar svg { width:22px; height:22px; }
  .role-card-copy strong { font-size:.82rem; }
  .role-card-copy small { font-size:.61rem; }
  .privacy-note { margin-inline-start:0; }
  .site-footer { flex-wrap:wrap; }
  .room-shell { padding:9px 9px max(12px,env(safe-area-inset-bottom)); }
  .room-topbar { gap:7px; }
  .room-top-actions { gap:5px; }
  .room-top-actions .quiet-button { min-height:33px; padding-inline:8px; font-size:.62rem; }
  .room-info { align-items:flex-start; flex-direction:column; gap:8px; padding:10px 12px; }
  .room-participants { width:100%; justify-content:space-around; }
  .room-privacy { font-size:.61rem; }
  .chat-panel { min-height:55dvh; }
  .message-list { padding:14px 10px; }
  .chat-message { max-width:88%; }
  .message-bubble { padding:9px 11px; font-size:.75rem; }
  .composer { margin-inline:8px; }
  .report-panel { padding:17px 13px; }
  .perspectives-grid { grid-template-columns:1fr; }
}
@media (max-width:390px) {
  .welcome-art { display:none; }
  .topbar { gap:7px; }
  .topbar-actions { gap:5px; }
  .account-chip { padding-inline:8px; font-size:.62rem; }
  .quiet-button { padding-inline:9px; }
  .section-heading h2 { font-size:.98rem; }
  .role-card { gap:7px; padding:9px; }
  .role-arrow { font-size:.95rem; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}

.subscription-warning { margin:0 0 15px; padding:12px 14px; border:1px solid #f0d8bd; border-radius:12px; color:#8c6037; background:#fff9f0; font-size:.76rem; line-height:1.8; }
.room-create-form { display:grid; gap:15px; }
.form-field { display:grid; gap:6px; color:#4f5c72; font-size:.73rem; font-weight:600; }
.form-field select, .form-field input { width:100%; min-height:44px; padding:8px 11px; border:1px solid #dfe4ee; border-radius:11px; outline:none; color:#344056; background:#fff; font:inherit; font-weight:400; }
.form-field select:focus, .form-field input:focus { border-color:#9f98d6; box-shadow:0 0 0 3px rgba(113,98,204,.09); }
.invitee-editor { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.invitee-card { display:grid; gap:10px; padding:14px; border:1px solid #e5e9f1; border-radius:14px; background:#fbfcff; }
.invitee-card h3 { margin:0; color:#48477a; font-size:.8rem; }
.session-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.owner-consent { margin:0; }
.create-session-button, .guest-join-button { width:100%; min-height:46px; font-family:inherit; }
.invite-results { margin-top:20px; padding:17px; border:1px solid #dcece8; border-radius:15px; background:linear-gradient(130deg,#f6fbf9,#f9f8ff); }
.invite-results-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:12px; }
.invite-results-heading h3 { margin:0; color:#354461; font-size:.86rem; }
.countdown-chip, .room-countdown { display:inline-flex; align-items:center; justify-content:center; min-height:30px; padding:4px 10px; border:1px solid #e3e6ef; border-radius:99px; color:#6259a7; background:#fff; font-size:.67rem; font-variant-numeric:tabular-nums; white-space:nowrap; direction:ltr; }
.generated-invites { display:grid; gap:9px; }
.generated-invite { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:9px; align-items:center; padding:11px 12px; border:1px solid #e5e9f1; border-radius:12px; background:#fff; }
.generated-invite strong, .generated-invite small { display:block; }
.generated-invite strong { color:#414c63; font-size:.72rem; }
.generated-invite small { margin-top:3px; color:#8a95a7; font-size:.62rem; }
.invite-url { grid-column:1/-1; width:100%; padding:8px 9px; border:1px solid #e8ebf2; border-radius:8px; color:#59647b; background:#f8f9fc; font: .65rem/1.6 ui-monospace,Consolas,monospace; direction:ltr; text-align:left; }
.copy-invite-button { min-height:34px; padding:0 10px; border:1px solid #dbd9ef; border-radius:9px; color:#5e56a3; background:#f7f6fd; cursor:pointer; font:inherit; font-size:.66rem; }
.invitee-status { padding:4px 8px; border-radius:99px; color:#707d90; background:#f1f3f7; font-size:.6rem; white-space:nowrap; }
.invitee-status.joined { color:#23795e; background:#e9f7f1; }
.guest-shell { width:min(100% - 28px,680px); min-height:100dvh; margin:auto; padding:20px 0; }
.guest-header { display:flex; align-items:center; justify-content:flex-start; margin-bottom:20px; }
.guest-card { min-height:360px; padding:clamp(22px,5vw,42px); border:1px solid rgba(226,231,241,.95); border-radius:23px; background:rgba(255,255,255,.94); box-shadow:var(--shadow); }
.guest-card h1 { margin:0; color:#292b4b; font-size:clamp(1.35rem,4vw,1.9rem); }
.guest-card h1 span { color:#645bb1; }
.guest-description { margin:8px 0 18px; color:#6f7b90; font-size:.78rem; line-height:1.9; }
.guest-invite-details { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-bottom:16px; }
.guest-invite-details>div { display:grid; gap:5px; padding:11px; border:1px solid #e8eaf1; border-radius:11px; background:#fafbfe; }
.guest-invite-details span { color:#818ca0; font-size:.62rem; }
.guest-invite-details strong { color:#3d4860; font-size:.72rem; }
.guest-invite-details .countdown-text { color:#7662bf; font-variant-numeric:tabular-nums; direction:ltr; text-align:right; }
.guest-consent { margin:12px 0; }
.central-signup-option { display:grid; justify-items:start; gap:5px; margin-top:17px; padding-top:13px; border-top:1px solid #edf0f5; color:#7c8799; font-size:.67rem; }
.central-signup-option a { color:#5f56a6; font-weight:700; text-decoration:none; }
.central-signup-option small { color:#939cad; font-size:.61rem; line-height:1.8; }
.guest-loading { display:grid; min-height:300px; place-content:center; justify-items:center; gap:12px; color:#768399; font-size:.78rem; }
.guest-expired { display:grid; min-height:300px; place-content:center; justify-items:center; gap:9px; text-align:center; }
.expired-icon { color:#a98c55; font-size:2rem; }
.guest-expired h2 { margin:0; color:#3c4659; font-size:1rem; }
.guest-expired p { max-width:380px; margin:0; color:#7f899b; font-size:.75rem; line-height:1.9; }
.owner-room-notice { position:absolute; z-index:3; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:9px; padding:25px; background:rgba(255,255,255,.96); text-align:center; }
.owner-room-notice strong { color:#4e4b86; font-size:.95rem; }
.owner-room-notice p { max-width:420px; margin:0; color:#778399; font-size:.74rem; line-height:1.9; }
.room-countdown { color:#6057a8; }
.room-countdown.expiring, .countdown-chip.expiring, .countdown-text.expiring { border-color:#efd6c5; color:#a75b38; background:#fff7f1; }
.history-invites { display:grid; gap:5px; margin-top:6px; }
.history-invite { display:flex; flex-wrap:wrap; align-items:center; gap:6px; color:#8490a2; font-size:.6rem; }
.history-invite button { min-height:26px; padding:0 7px; border:1px solid #e4e2f1; border-radius:7px; color:#6159a6; background:#faf9ff; cursor:pointer; font:inherit; font-size:.58rem; }
.history-invite button:disabled { opacity:.5; cursor:default; }
.room-time-label { color:#8591a4; font-size:.58rem; white-space:nowrap; }
@media (max-width:700px) {
  .invitee-editor { grid-template-columns:1fr; }
  .guest-shell { width:min(100% - 20px,560px); padding-top:12px; }
  .guest-card { padding:22px 17px; }
  .guest-invite-details { grid-template-columns:1fr; }
  .guest-invite-details>div { grid-template-columns:1fr auto; align-items:center; }
  .guest-invite-details .countdown-text { text-align:left; }
  .room-countdown { min-height:29px; padding-inline:7px; font-size:.6rem; }
  .room-top-actions .room-countdown { display:none; }
}
