.phase8-page .section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:16px}.phase8-table td small{display:block;color:var(--muted);margin-top:4px}.phase8-table .table-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.phase8-form{display:grid;gap:14px}.phase8-form label,.phase8-inline-form label{display:grid;gap:7px;font-weight:800;color:var(--text)}.phase8-form input,.phase8-form select,.phase8-form textarea,.phase8-inline-form input,.phase8-inline-form select,.copy-textarea{width:100%;border:1px solid var(--border);border-radius:16px;background:var(--surface);color:var(--text);padding:13px 14px;font:inherit;box-sizing:border-box;min-height:46px}.phase8-form textarea,.copy-textarea{resize:vertical;line-height:1.55}.phase8-inline-form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(160px,.7fr) auto;gap:12px;align-items:end;margin:10px 0 16px}.recipient-list{display:grid;gap:9px;max-height:330px;overflow:auto;border:1px solid var(--border);border-radius:18px;padding:12px;background:var(--soft-surface)}.recipient-row{display:flex!important;grid-template-columns:none!important;flex-direction:row!important;align-items:center;gap:12px;padding:10px;border-radius:14px;background:var(--surface);border:1px solid transparent}.recipient-row input{width:auto!important;min-height:0}.recipient-row span{display:grid;gap:2px}.recipient-row small{color:var(--muted)}.phase8-reminders{margin-top:14px}.copy-textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;white-space:pre-wrap}.variable-grid{display:flex;flex-wrap:wrap;gap:8px}.variable-grid code{border:1px solid var(--border);border-radius:999px;padding:8px 10px;background:var(--soft-surface);font-size:12px}.phase8-note{margin-top:14px;border:1px solid rgba(222,181,49,.38);background:rgba(222,181,49,.1);border-radius:18px;padding:14px;line-height:1.55;color:var(--text)}.checkbox-line{display:flex!important;grid-template-columns:none!important;align-items:center;gap:10px}.checkbox-line input{width:auto!important;min-height:0}.status-sent{background:#dcfce7;color:#166534}.status-failed{background:#fee2e2;color:#991b1b}.btn-sm{padding:9px 13px;min-height:38px;font-size:13px}@media(max-width:900px){.phase8-inline-form{grid-template-columns:1fr}.phase8-page .page-title-row{align-items:stretch}.phase8-page .form-actions{width:100%;display:grid;grid-template-columns:1fr}.phase8-table .table-actions{display:grid;grid-template-columns:1fr}.phase8-table .table-actions .btn{width:100%;justify-content:center}}

/* Phase 8 email SMTP UI hotfix: readable select menus in dark/light mode */
.phase8-form select,.phase8-inline-form select{appearance:auto!important;-webkit-appearance:menulist!important;color-scheme:light dark}
.phase8-form select option,.phase8-inline-form select option{background:#ffffff!important;color:#0f172a!important;font-weight:800!important}
html[data-theme="dark"] .phase8-form select,html[data-theme="dark"] .phase8-inline-form select{background:#0b1220!important;color:#f8fafc!important;border-color:rgba(148,163,184,.28)!important;color-scheme:dark}
html[data-theme="dark"] .phase8-form select option,html[data-theme="dark"] .phase8-inline-form select option{background:#111827!important;color:#f8fafc!important}
html[data-theme="light"] .phase8-form select,html[data-theme="light"] .phase8-inline-form select{background:#ffffff!important;color:#0f172a!important;color-scheme:light}
.field-hint{display:block;margin-top:3px;color:var(--muted);font-size:12px;line-height:1.45;font-weight:700}.field-hint strong{color:var(--text)}
.phase8-page .phase8-note + .phase8-note{margin-top:10px}

/* Phase 8 refinement: professional invitation composer, session actions, and meeting editor polish */
.phase8-invitation-page .phase8-title-row{align-items:flex-start}.phase8-header-actions{justify-content:flex-end}.phase8-send-card{overflow:visible}.phase8-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:18px}.phase8-card-head h2{margin-bottom:6px}.phase8-pill{display:inline-flex;align-items:center;justify-content:center;border:1px solid color-mix(in srgb,var(--ctc-accent) 45%,var(--ctc-border));background:color-mix(in srgb,var(--ctc-accent) 13%,transparent);color:var(--ctc-text);border-radius:999px;padding:9px 13px;font-size:12px;font-weight:950;letter-spacing:.03em}.phase8-form-split{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(260px,1fr);gap:14px}.phase8-recipient-panel{border:1px solid var(--ctc-border);background:var(--ctc-bg-soft);border-radius:22px;padding:14px;box-shadow:var(--ctc-shadow-sm)}.phase8-recipient-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.phase8-recipient-head strong{display:block;color:var(--ctc-text);font-size:1rem}.phase8-recipient-head small{display:block;color:var(--ctc-muted);font-weight:750;margin-top:3px}.phase8-mini-actions{display:flex;gap:8px;flex-wrap:wrap}.phase8-recipient-list{max-height:280px}.phase8-submit-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid var(--ctc-border);padding-top:16px}.phase8-submit-row p{margin:0;max-width:760px}.phase8-submit-row .btn{min-width:210px}.phase8-compact-grid{align-items:start}.phase8-single-action{grid-template-columns:1fr!important}.phase8-single-action .btn{width:100%;justify-content:center}.phase8-status-card{margin-top:18px;border:1px solid var(--ctc-border);background:var(--ctc-bg-soft);border-radius:20px;padding:16px;display:grid;gap:6px}.phase8-status-card strong{color:var(--ctc-text)}.phase8-status-card span{font-weight:950;color:var(--ctc-primary)}[data-theme="dark"] .phase8-status-card span{color:var(--ctc-accent)}.phase8-status-card small{color:var(--ctc-muted);line-height:1.5}.template-preview-shell{border:1px solid var(--ctc-border);border-radius:22px;background:var(--ctc-bg-soft);padding:12px;overflow:auto;max-height:620px}.template-preview-card{background:#ffffff;color:#111827;border-radius:18px;padding:22px;box-shadow:0 18px 45px rgba(15,23,42,.12);font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:1.6}.template-preview-card a{color:#0b2d55}.template-editor-textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-size:13px;line-height:1.55}.session-detail-hero,.meeting-editor-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.session-detail-hero__copy,.meeting-editor-hero>div{min-width:0;max-width:760px}.session-detail-hero h1,.meeting-editor-hero h1{margin-bottom:8px}.session-action-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;max-width:760px}.session-action-toolbar .btn{min-height:48px;border-radius:999px;padding-inline:18px;white-space:nowrap}.session-action-toolbar .btn-primary{box-shadow:0 16px 32px rgba(11,45,85,.18)}.meeting-editor-form{display:grid;gap:18px}.form-section-card{display:grid;gap:16px}.form-section-head{margin-bottom:2px}.form-section-head h2{margin:4px 0 6px}.meeting-editor-form .form-two,.meeting-editor-form .form-four{gap:16px}.meeting-editor-form label{font-weight:900}.premium-check-grid{background:var(--ctc-bg-soft);border-radius:22px;padding:16px;margin:0}.premium-check-grid .role-option{background:var(--ctc-surface);border:1px solid var(--ctc-border);box-shadow:none;min-height:74px}.premium-check-grid .role-option:hover{border-color:color-mix(in srgb,var(--ctc-accent) 40%,var(--ctc-border));transform:none}.meeting-editor-actions{position:sticky;bottom:0;z-index:5;background:linear-gradient(180deg,transparent,var(--ctc-bg) 24%,var(--ctc-bg));padding:18px 0 4px;justify-content:flex-end}.meeting-editor-actions .btn{min-width:180px;justify-content:center}@media(max-width:1180px){.session-detail-hero,.meeting-editor-hero{display:grid}.session-action-toolbar{justify-content:flex-start;max-width:100%}.phase8-form-split{grid-template-columns:1fr}}@media(max-width:720px){.session-action-toolbar{display:grid;grid-template-columns:1fr}.session-action-toolbar .btn{width:100%;justify-content:center}.phase8-recipient-head,.phase8-submit-row{display:grid}.phase8-submit-row .btn{width:100%;min-width:0}.meeting-editor-actions{display:grid;grid-template-columns:1fr}.meeting-editor-actions .btn{width:100%}}

/* Phase 8 guest invitation access refinement */
.guest-access-card {
    margin-top: 18px;
    padding: 22px;
    max-width: 520px;
    display: grid;
    gap: 16px;
}
.guest-access-card label {
    display: grid;
    gap: 8px;
    font-weight: 800;
}
.guest-access-card input {
    width: 100%;
    min-height: 50px;
    border-radius: 16px;
    border: 1px solid var(--border, #d7e0ea);
    background: var(--surface, #fff);
    color: var(--text, #0f172a);
    padding: 0 16px;
    font-weight: 700;
    box-sizing: border-box;
}
.guest-access-card .btn {
    justify-content: center;
    width: 100%;
}
.join-guest-badge {
    margin-top: 14px;
    padding: 14px 16px;
    border-radius: 16px;
    background: rgba(231, 196, 71, .12);
    border: 1px solid rgba(231, 196, 71, .42);
    display: grid;
    gap: 4px;
}
.join-guest-badge span {
    color: var(--muted, #64748b);
    font-size: 13px;
    overflow-wrap: anywhere;
}

/* Phase 8 professional join/session governance refinement */
.join-choice-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1.25rem;
}
.join-choice-card {
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: .85rem;
}
.guest-access-form {
  display: grid;
  gap: .8rem;
}
.guest-access-form label,
.guest-access-form span {
  display: grid;
  gap: .45rem;
}
.session-action-toolbar--clean {
  align-items: center;
  justify-content: flex-end;
  gap: .7rem;
  flex-wrap: wrap;
}
.session-action-toolbar--clean .inline-form {
  display: inline-flex;
  margin: 0;
}
.session-action-toolbar--clean .btn {
  min-height: 44px;
  white-space: nowrap;
}
.btn-warning {
  background: linear-gradient(135deg, #efb828, #f7d866);
  color: #07142b;
  border-color: rgba(239, 184, 40, .45);
  box-shadow: 0 14px 30px rgba(239, 184, 40, .18);
}
.btn-danger {
  background: linear-gradient(135deg, #c84545, #e76868);
  color: #fff;
  border-color: rgba(232, 104, 104, .35);
}
.meeting-room-meta .meeting-end-btn {
  background: linear-gradient(135deg, #efb828, #f7d866);
  color: #07142b;
}
.professional-join-page .alert {
  margin-top: 1rem;
}
@media (max-width: 900px) {
  .join-choice-grid {
    grid-template-columns: 1fr;
  }
  .session-action-toolbar--clean {
    justify-content: flex-start;
  }
}

/* Phase 8 account verification refinement */
.auth-note {
    margin: 16px 0 0;
    color: var(--ctc-muted);
    font-size: 0.95rem;
}
.auth-note a {
    color: var(--ctc-gold);
    font-weight: 800;
    text-decoration: none;
}
.auth-note a:hover {
    text-decoration: underline;
}
code {
    display: inline-block;
    padding: 3px 7px;
    border-radius: 8px;
    background: var(--ctc-surface-soft);
    border: 1px solid var(--ctc-border);
    color: var(--ctc-text);
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 0.85em;
}


/* Phase 8 V11 email/settings form visibility polish */
.phase8-form input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.phase8-form select,
.phase8-form textarea,
.phase8-inline-form input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.phase8-inline-form select,
.copy-textarea {
  min-height: 48px;
  border-width: 1.5px !important;
}
html[data-theme="light"] .phase8-form input,
html[data-theme="light"] .phase8-form select,
html[data-theme="light"] .phase8-form textarea,
html[data-theme="light"] .phase8-inline-form input,
html[data-theme="light"] .phase8-inline-form select,
html[data-theme="light"] .copy-textarea {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
  color: #0f172a !important;
}
html[data-theme="dark"] .phase8-form input,
html[data-theme="dark"] .phase8-form select,
html[data-theme="dark"] .phase8-form textarea,
html[data-theme="dark"] .phase8-inline-form input,
html[data-theme="dark"] .phase8-inline-form select,
html[data-theme="dark"] .copy-textarea {
  background: #111827 !important;
  border-color: rgba(148,163,184,.34) !important;
  color: #f8fafc !important;
}

/* Phase 8 invitation access page professional polish */
.invitation-access-page {
  min-height: 100vh;
  align-items: start !important;
  padding: clamp(24px, 4vw, 56px) 0;
  background:
    radial-gradient(circle at 20% 12%, rgba(222,181,49,.16), transparent 30rem),
    radial-gradient(circle at 80% 18%, rgba(11,45,85,.28), transparent 34rem),
    var(--ctc-bg);
}
.invite-access-container {
  width: min(1120px, calc(100% - 40px));
  display: grid;
  gap: 18px;
}
.invite-brand-line {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--ctc-text);
}
.brand-mini-mark {
  width: 42px;
  height: 42px;
  border-radius: 13px;
  display: grid;
  place-items: center;
  background: #0a1463;
  color: #fff;
  font-weight: 950;
  letter-spacing: -.04em;
  border: 1px solid rgba(222,181,49,.32);
  box-shadow: 0 14px 36px rgba(0,0,0,.16);
}
.invite-brand-line strong {
  display: block;
  margin-top: 2px;
  font-size: .94rem;
  color: var(--ctc-text);
}
.invite-access-panel {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(300px, .75fr);
  gap: 0;
  overflow: hidden;
  border-radius: 30px;
  border: 1px solid color-mix(in srgb, var(--ctc-border) 88%, var(--ctc-accent));
  box-shadow: 0 30px 90px rgba(2, 6, 23, .22);
}
.invite-access-main {
  min-width: 0;
  padding: clamp(24px, 4vw, 42px);
  display: grid;
  gap: 16px;
}
.invite-access-main h1 {
  margin: 0;
  font-size: clamp(2rem, 4vw, 3.45rem);
  line-height: 1;
  letter-spacing: -.06em;
  color: var(--ctc-text);
}
.invite-session-meta {
  margin: -4px 0 4px;
  color: var(--ctc-muted);
  font-weight: 800;
}
.invite-status-pill {
  justify-self: start;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-radius: 999px;
  padding: 9px 13px;
  font-size: .74rem;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
  border: 1px solid var(--ctc-border);
  background: var(--ctc-bg-soft);
}
.invite-status-pill::before {
  content: "";
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: currentColor;
  box-shadow: 0 0 0 5px color-mix(in srgb, currentColor 15%, transparent);
}
.invite-status-pill.is-info { color: #2563eb; }
.invite-status-pill.is-warning { color: #b7791f; }
.invite-status-pill.is-danger { color: #dc2626; }
[data-theme="dark"] .invite-status-pill.is-info { color: #93c5fd; }
[data-theme="dark"] .invite-status-pill.is-warning { color: #f6d365; }
[data-theme="dark"] .invite-status-pill.is-danger { color: #fca5a5; }
.invite-message {
  border-radius: 20px;
  padding: 16px 18px;
  display: grid;
  gap: 4px;
  border: 1px solid var(--ctc-border);
  line-height: 1.55;
}
.invite-message strong {
  color: var(--ctc-text);
  font-size: 1.02rem;
}
.invite-message span {
  color: var(--ctc-text-soft);
}
.invite-message-info {
  background: color-mix(in srgb, #3b82f6 9%, var(--ctc-surface));
  border-color: color-mix(in srgb, #3b82f6 25%, var(--ctc-border));
}
.invite-message-warning {
  background: color-mix(in srgb, var(--ctc-accent) 12%, var(--ctc-surface));
  border-color: color-mix(in srgb, var(--ctc-accent) 42%, var(--ctc-border));
}
.invite-message-danger {
  background: color-mix(in srgb, #ef4444 10%, var(--ctc-surface));
  border-color: color-mix(in srgb, #ef4444 32%, var(--ctc-border));
}
.invited-email-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 16px;
  border-radius: 18px;
  background: var(--ctc-bg-soft);
  border: 1px dashed color-mix(in srgb, var(--ctc-accent) 55%, var(--ctc-border));
}
.invited-email-card span {
  color: var(--ctc-muted);
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: .72rem;
}
.invited-email-card strong {
  overflow-wrap: anywhere;
  text-align: right;
  color: var(--ctc-text);
}
.invite-actions-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.invite-actions-grid-three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.invite-action-card {
  min-width: 0;
  border: 1px solid var(--ctc-border);
  background: linear-gradient(180deg, color-mix(in srgb, var(--ctc-surface) 94%, var(--ctc-accent) 6%), var(--ctc-surface));
  border-radius: 22px;
  padding: 18px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  box-shadow: 0 12px 34px rgba(15,23,42,.06);
}
.invite-action-card h2 {
  margin: 0;
  font-size: 1.18rem;
  letter-spacing: -.03em;
  color: var(--ctc-text);
}
.invite-action-card p {
  margin: 0;
  color: var(--ctc-text-soft);
  line-height: 1.52;
  flex: 1;
}
.invite-action-card .btn {
  margin-top: 4px;
  min-height: 46px;
  border-radius: 999px;
  justify-content: center;
}
.invite-help-card {
  background: var(--ctc-bg-soft);
}
.invite-button-row {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.invite-button-row form { margin: 0; }
.invite-button-row .btn { min-height: 46px; border-radius: 999px; }
.invite-access-side {
  border-left: 1px solid var(--ctc-border);
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--ctc-primary) 8%, var(--ctc-bg-soft)), var(--ctc-bg-soft));
  padding: clamp(22px, 3vw, 34px);
  display: grid;
  align-content: start;
  gap: 22px;
}
.invite-side-block h2 {
  margin: 8px 0 8px;
  font-size: 1.35rem;
  color: var(--ctc-text);
  letter-spacing: -.04em;
}
.invite-side-block p {
  margin: 0;
  color: var(--ctc-text-soft);
}
.invite-side-checks {
  display: grid;
  gap: 12px;
}
.invite-side-checks div {
  display: grid;
  grid-template-columns: 32px 1fr;
  gap: 12px;
  align-items: start;
  padding: 12px;
  border-radius: 17px;
  background: color-mix(in srgb, var(--ctc-surface) 82%, transparent);
  border: 1px solid color-mix(in srgb, var(--ctc-border) 75%, transparent);
}
.invite-side-checks span {
  width: 32px;
  height: 32px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, var(--ctc-accent), var(--ctc-accent-2));
  color: #07142b;
  font-weight: 950;
}
.invite-side-checks p {
  margin: 0;
  color: var(--ctc-text-soft);
  line-height: 1.45;
  font-weight: 720;
}
@media (max-width: 980px) {
  .invite-access-panel { grid-template-columns: 1fr; }
  .invite-access-side { border-left: 0; border-top: 1px solid var(--ctc-border); }
  .invite-actions-grid,
  .invite-actions-grid-three { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .invite-access-container { width: min(100% - 24px, 1120px); }
  .invite-brand-line { align-items: flex-start; }
  .invite-access-main { padding: 20px; }
  .invite-access-side { padding: 20px; }
  .invited-email-card { display: grid; }
  .invited-email-card strong { text-align: left; }
  .invite-button-row { display: grid; grid-template-columns: 1fr; }
  .invite-button-row .btn,
  .invite-button-row form { width: 100%; }
}


/* Phase 8 final access/auth/attendance/user-permission polish */
.attendance-report-page .attendance-report-stats,
.attendance-report-page .stats-grid.dashboard-stats {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(180px, 1fr)) !important;
  gap: 16px !important;
  align-items: stretch !important;
  margin: 18px 0 22px !important;
}
.attendance-report-page .attendance-report-stats .stat-card,
.attendance-report-page .dashboard-stat {
  min-width: 0 !important;
  min-height: 132px !important;
  border-radius: 22px !important;
  padding: 18px 20px !important;
  display: grid !important;
  align-content: center !important;
  gap: 8px !important;
  overflow: hidden !important;
}
.attendance-report-page .stat-value {
  font-size: clamp(2.05rem, 5vw, 3.1rem) !important;
  line-height: .92 !important;
  overflow-wrap: anywhere !important;
}
.attendance-report-page .attendance-report-card { clear: both; }
@media (max-width: 1180px) {
  .attendance-report-page .attendance-report-stats,
  .attendance-report-page .stats-grid.dashboard-stats { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 640px) {
  .attendance-report-page .attendance-report-stats,
  .attendance-report-page .stats-grid.dashboard-stats { grid-template-columns: 1fr !important; }
}
.auth-page .auth-wrap {
  background:
    radial-gradient(circle at 18% 12%, rgba(222,181,49,.16), transparent 28rem),
    radial-gradient(circle at 88% 16%, rgba(11,45,85,.22), transparent 30rem),
    var(--ctc-bg);
  align-items: center;
}
.auth-page .auth-grid { align-items: stretch; }
.auth-page .auth-copy,
.auth-page .auth-card {
  border-radius: 28px;
}
.auth-page .auth-copy {
  border: 1px solid var(--ctc-border);
  background: linear-gradient(180deg, color-mix(in srgb, var(--ctc-surface) 94%, var(--ctc-accent) 6%), var(--ctc-surface));
  padding: clamp(24px, 4vw, 42px);
  display: grid;
  align-content: center;
}
.auth-page .auth-copy h1 { font-size: clamp(2.1rem, 4.4vw, 4rem); }
.auth-page .auth-card {
  padding: clamp(24px, 3vw, 34px);
  box-shadow: 0 26px 70px rgba(2,6,23,.18);
}
.auth-page .auth-card input {
  min-height: 52px;
  border-radius: 17px;
  border-width: 1.5px;
}
.auth-page .auth-card .btn { min-height: 52px; border-radius: 999px; justify-content: center; }
.direct-permission-grid {
  grid-template-columns: 1fr !important;
}
.permission-intro {
  border: 1px solid rgba(222,181,49,.34);
  background: rgba(222,181,49,.08);
  border-radius: 18px;
  padding: 14px 16px;
  display: grid;
  gap: 4px;
}
.permission-intro strong { color: var(--ctc-text); }
.permission-intro span { color: var(--ctc-muted); font-weight: 700; line-height: 1.45; }
.permission-group-card {
  border: 1px solid var(--ctc-border);
  background: var(--ctc-bg-soft);
  border-radius: 20px;
  padding: 14px;
  display: grid;
  gap: 12px;
}
.permission-group-card h3 { margin: 0; font-size: .95rem; letter-spacing: .02em; }
.permission-check-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 10px;
}
.permission-option {
  display: flex !important;
  align-items: flex-start;
  gap: 10px;
  border: 1px solid var(--ctc-border);
  background: var(--ctc-surface);
  border-radius: 16px;
  padding: 12px;
}
.permission-option input { width: auto !important; min-height: 0 !important; margin-top: 3px; }
.permission-option span { display: grid; gap: 3px; min-width: 0; }
.permission-option strong { color: var(--ctc-text); line-height: 1.25; }
.permission-option small { color: var(--ctc-muted); overflow-wrap: anywhere; }
.invitation-access-page .invite-access-panel { max-width: 1120px; width: 100%; }
.invitation-access-page .invite-message { font-size: 1rem; }
.invitation-access-page .invite-action-card { min-height: 190px; }
