:root {
  color-scheme: dark;
  --bg: #050a12;
  --panel: #0b1320;
  --ink: #f6fbff;
  --muted: #a8b8c8;
  --line: rgba(80, 219, 255, .2);
  --green: #27d6ff;
  --blue: #7b61ff;
  --red: #b13f36;
  --amber: #d9a642;
  --shadow: 0 18px 48px rgba(0, 0, 0, .26);
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  min-height: 100vh;
  background:
    radial-gradient(circle at 94% 2%, rgba(39, 214, 255, .18), transparent 20rem),
    linear-gradient(110deg, rgba(39,214,255,.04) 0 1px, transparent 1px 90px),
    var(--bg);
  color: var(--ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing: 0;
}

button,
input,
select,
textarea {
  font: inherit;
}

button {
  border: 0;
  cursor: pointer;
}

input,
select,
textarea {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #141c26;
  color: var(--ink);
  padding: 9px 10px;
}

select option {
  background: #141c26;
  color: var(--ink);
}

label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 13px;
}

table {
  width: 100%;
  border-collapse: collapse;
  min-width: 680px;
}

th,
td {
  border-bottom: 1px solid var(--line);
  padding: 11px 12px;
  text-align: left;
  vertical-align: middle;
}

th {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

td {
  font-size: 14px;
}

.hidden {
  display: none !important;
}

.login-shell {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
}

.login-panel {
  width: min(420px, 100%);
  display: grid;
  gap: 18px;
  padding: 28px;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
}

.login-logo {
  display: block;
  width: min(100%, 330px);
  height: auto;
  margin: 0 0 16px;
}

.google-login {
  display: grid;
  gap: 14px;
}

.email-login,
.signup-profile,
.email-code-panel,
.managed-login-fields,
#login-form {
  display: grid;
  gap: 14px;
}

.auth-mode-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px;
  padding: 4px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--bg);
}

.auth-mode {
  border: 0;
  border-radius: 6px;
  padding: 10px 12px;
  background: transparent;
  color: var(--muted);
  font-weight: 800;
  cursor: pointer;
}

.auth-mode.active {
  background: var(--panel);
  color: var(--ink);
  box-shadow: inset 0 -2px 0 var(--green);
}

.auth-intro h2,
.auth-intro p,
.auth-note {
  margin: 0;
}

.auth-intro p,
.auth-note {
  color: var(--muted);
  font-size: 13px;
}

.signup-profile {
  grid-template-columns: 1fr 1fr;
}

.managed-login {
  border-top: 1px solid var(--line);
  padding-top: 14px;
}

.managed-login summary {
  color: var(--muted);
  cursor: pointer;
  font-size: 13px;
  font-weight: 700;
}

.managed-login-fields {
  padding-top: 14px;
}

.launch-pricing {
  margin: 0;
  padding: 10px 12px;
  border-left: 3px solid var(--green);
  background: rgba(255, 255, 255, .03);
  color: var(--muted);
  font-size: 13px;
}

.divider {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 10px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.divider::before,
.divider::after {
  content: "";
  height: 1px;
  background: var(--line);
}

@media (max-width: 520px) {
  .signup-profile {
    grid-template-columns: 1fr;
  }
}

.eyebrow {
  margin: 0 0 4px;
  color: var(--green);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

h1,
h2,
h3 {
  margin: 0;
}

.app-shell {
  min-height: 100vh;
}

.topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 24px;
  background:
    linear-gradient(90deg, rgba(39,214,255,.1), transparent 48%),
    #07101c;
  color: #f4f7f0;
}

.brand {
  display: flex;
  align-items: center;
  gap: 10px;
}

.brand small {
  display: block;
  color: #9fb7c8;
}

.mark {
  width: 38px;
  height: 38px;
  border-radius: 8px;
  border: 1px solid rgba(126,232,255,.55);
  background: radial-gradient(circle at 65% 30%, rgba(39,214,255,.28), rgba(5,10,18,.96));
  object-fit: cover;
  padding: 3px;
}

.topbar nav {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

main {
  display: grid;
  gap: 18px;
  padding: 24px;
}

.view {
  display: grid;
  gap: 18px;
}

.section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.nav-item,
.ghost,
.primary,
.small,
.icon-button {
  min-height: 36px;
  border-radius: 6px;
  padding: 8px 12px;
  font-weight: 800;
}

.nav-item {
  background: rgba(39,214,255,.1);
  color: #dce9f5;
}

.nav-item.active {
  background: linear-gradient(135deg, #27d6ff, #11a7df);
  color: #03111a;
}

.primary {
  background: linear-gradient(135deg, #27d6ff, #11a7df);
  color: #03111a;
}

.sso-button {
  display: inline-grid;
  place-items: center;
  text-decoration: none;
}

.ghost {
  background: rgba(255,255,255,.06);
  color: var(--ink);
}

.topbar .ghost {
  background: rgba(39,214,255,.1);
  color: #f4f7f0;
}

.danger {
  color: #ffd6d2 !important;
}

.small {
  min-height: 32px;
  background: rgba(39,214,255,.1);
  color: var(--green);
}

.link-button {
  display: inline-grid;
  place-items: center;
  text-decoration: none;
}

.danger-row {
  background: #f4e7e5;
  color: var(--red);
}

.mail-actions {
  white-space: nowrap;
}

.mail-actions button + button {
  margin-left: 6px;
}

.mail-actions button:disabled {
  opacity: .45;
  cursor: not-allowed;
}

.icon-button {
  width: 36px;
  padding: 0;
  background: rgba(255,255,255,.06);
  color: var(--muted);
}

.metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 12px;
}

.metric,
.table-wrap,
.template-grid,
.notice {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
}

.metric {
  padding: 16px;
}

.metric span {
  display: block;
  font-size: 28px;
  font-weight: 900;
}

.metric small {
  color: var(--muted);
  font-weight: 800;
}

.table-wrap {
  overflow-x: auto;
}

.request-form {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.request-form input {
  width: 190px;
}

.check {
  width: auto;
  display: flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}

.check input {
  width: auto;
}

.badge {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 3px 8px;
  border-radius: 999px;
  background: #eef2ed;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}

.badge.active,
.badge.complete,
.badge.verified {
  background: #e2f3e7;
  color: var(--green);
}

.badge.pending,
.badge.unchecked,
.badge.requested {
  background: #f7eedc;
  color: var(--amber);
}

.badge.deleted,
.badge.revoked,
.badge.failed {
  background: #f4e7e5;
  color: var(--red);
}

.badge.queued,
.badge.running,
.badge.deleting,
.badge.delete_queued,
.badge.needs_identity_review {
  background: #f7eedc;
  color: var(--amber);
}

.badge.ready_for_registry_review {
  background: #e2f3e7;
  color: var(--green);
}

.template-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 12px;
  padding: 12px;
}

.workspace-list {
  display: grid;
  gap: 18px;
}

.billing-section {
  display: grid;
  gap: 12px;
}

.billing-packages {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
}

.billing-package {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-height: 120px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
}

.billing-package div { display: grid; gap: 4px; }
.billing-package h4 { margin: 0; font-size: 15px; }
.billing-package strong { font-size: 20px; }
.billing-package small { color: var(--muted); font-weight: 800; }
.billing-package button:disabled { cursor: wait; opacity: .65; }
.token-change { font-weight: 900; }
.token-change.credit { color: var(--green); }
.token-change.debit { color: #ffb4b4; }

.dashboard-list {
  display: grid;
  gap: 18px;
}

.dashboard-section {
  display: grid;
  gap: 14px;
  padding: 16px;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
}

.dashboard-cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 12px;
}

.workspace-card {
  display: grid;
  gap: 14px;
  padding: 16px;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
}

.template-card {
  display: grid;
  gap: 8px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
}

.app-card {
  display: grid;
  align-content: start;
  gap: 12px;
  min-height: 250px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255,255,255,.035);
}

.app-card.fiverr-lead-filter {
  grid-column: span 2;
}

.app-card-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 12px;
}

.app-card-head h4,
.card-detail {
  margin: 0;
}

.card-detail {
  min-height: 38px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.card-metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(92px, 1fr));
  gap: 8px;
}

.card-metric {
  min-height: 66px;
  display: grid;
  align-content: center;
  gap: 3px;
  padding: 10px;
  border: 1px solid rgba(80, 219, 255, .16);
  border-radius: 6px;
  background: rgba(255,255,255,.045);
  overflow: hidden;
}

.card-metric span {
  font-size: 18px;
  font-weight: 900;
  overflow-wrap: anywhere;
}

.card-metric small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

.event-list {
  display: grid;
  gap: 6px;
}

.event-row {
  display: grid;
  gap: 2px;
  padding: 8px 10px;
  border-left: 3px solid rgba(39,214,255,.65);
  background: rgba(255,255,255,.04);
}

.fiverr-review-row {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
}

.event-main {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.feedback-actions {
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.icon-grade {
  min-height: 28px;
  padding: 5px 7px;
  border-radius: 6px;
  background: rgba(39,214,255,.1);
  color: var(--ink);
  font-size: 11px;
  font-weight: 900;
}

.icon-grade.correct {
  background: rgba(39,214,255,.22);
  color: var(--green);
}

.icon-grade.read {
  background: rgba(255,255,255,.12);
}

.icon-grade.delete {
  background: rgba(255,96,96,.14);
  color: #ffb4b4;
}

.icon-grade:disabled {
  cursor: not-allowed;
  opacity: .55;
}

.feedback-note {
  color: var(--green) !important;
}

.delete-note {
  color: #ffb4b4 !important;
}

.fiverr-review-row.deleted {
  opacity: .72;
}

.message-body {
  margin-top: 8px;
  max-height: 260px;
  overflow: auto;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  border: 1px solid rgba(39,214,255,.14);
  border-radius: 6px;
  background: rgba(0,0,0,.18);
  padding: 10px;
  color: var(--ink);
  font-size: 12px;
  line-height: 1.45;
}

.event-row span,
.event-row small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.event-row small {
  color: var(--muted);
}

.template-card h4,
.template-card p {
  margin: 0;
}

.template-card p {
  color: var(--muted);
}

.template-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.template-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.minecraft-provision-card {
  align-content: start;
}

.minecraft-provision-form {
  display: grid;
  gap: 8px;
}

.minecraft-provision-form input[type="file"] {
  min-height: 42px;
}

.notice {
  padding: 12px 14px;
  color: var(--blue);
  background: #edf3f7;
}

.error {
  min-height: 20px;
  margin: 0;
  color: var(--red);
  font-weight: 800;
}

dialog {
  width: min(560px, calc(100vw - 24px));
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 0;
  box-shadow: var(--shadow);
}

dialog::backdrop {
  background: rgba(18, 24, 20, 0.45);
}

.dialog-body {
  display: grid;
  gap: 14px;
  padding: 18px;
}

.env-fields {
  display: grid;
  gap: 12px;
}

.app-env-fields {
  display: grid;
  gap: 12px;
  max-height: min(60vh, 620px);
  overflow-y: auto;
  padding-right: 4px;
}

.app-env-fields textarea {
  min-height: 80px;
  resize: vertical;
}

#app-env-dialog { width: min(820px, calc(100vw - 24px)); }
.editor-tabs { display: flex; gap: 4px; border-bottom: 1px solid var(--line); }
.editor-tabs button { border: 0; border-bottom: 2px solid transparent; background: transparent; color: var(--muted); padding: 8px 14px; cursor: pointer; }
.editor-tabs button[aria-selected="true"] { border-bottom-color: var(--green); color: var(--ink); }
.app-file-editor { display: grid; gap: 12px; }
.app-file-editor textarea { min-height: min(55vh, 520px); width: 100%; resize: vertical; font-family: Consolas, monospace; font-size: 12px; line-height: 1.5; }

.files-toolbar { display: flex; align-items: end; flex-wrap: wrap; gap: 10px; margin: 18px 0; }
.files-toolbar label { min-width: 180px; }
.files-toolbar #files-path { color: var(--muted); overflow-wrap: anywhere; flex: 1; }
.files-upload { display: inline-flex; align-items: center; justify-content: center; min-width: 90px !important; padding: 9px 12px; border: 1px solid var(--line); border-radius: 6px; cursor: pointer; color: var(--ink); }
.files-upload input { display: none; }
.image-clear { display: flex; align-items: center; gap: 6px; color: var(--muted); font-size: 12px; }
.image-clear input { width: auto; }

.env-empty {
  margin: 0;
  padding: 10px 12px;
  border: 1px dashed var(--line);
  border-radius: 6px;
  color: var(--muted);
  font-size: 13px;
}

.dialog-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

@media (max-width: 760px) {
  .topbar,
  .section-head {
    align-items: stretch;
    flex-direction: column;
  }

  .topbar nav,
  .metrics {
    grid-template-columns: 1fr;
  }

  .metrics {
    display: grid;
  }

  .app-card.fiverr-lead-filter {
    grid-column: span 1;
  }

  .fiverr-review-row {
    grid-template-columns: 1fr;
  }

  .feedback-actions {
    justify-content: flex-start;
  }

  .billing-package {
    align-items: stretch;
    flex-direction: column;
  }
}

.logs-output { min-height: 360px; max-height: 60vh; overflow: auto; padding: 12px; background: #050b12; border: 1px solid #1b3a4d; color: #d9f7ff; white-space: pre-wrap; font: 12px/1.45 ui-monospace, SFMono-Regular, Consolas, monospace; }
.console-command { margin-top: 12px; }
.console-command > div { display: grid; grid-template-columns: 1fr auto; gap: 8px; margin-top: 6px; }
.console-command input { width: 100%; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; }

/* Only workspace portal hosts receive this theme; functional states keep their meaning. */
.workspace-branded body { background: linear-gradient(180deg, var(--bg), var(--panel) 44%, var(--bg)); font-family: var(--portal-font, system-ui, sans-serif); }
.workspace-branded { --line: color-mix(in srgb, var(--green) 28%, transparent); }
.workspace-branded .topbar { background: var(--bg); color: var(--ink); border-bottom: 1px solid var(--line); }
.workspace-branded .brand strong { color: var(--blue); }
.workspace-branded .brand small { color: var(--muted); }
.workspace-branded .mark { border-color: var(--line); background: var(--panel); padding: 0; width: 52px; height: 52px; }
.workspace-branded input, .workspace-branded select, .workspace-branded textarea, .workspace-branded select option { background: var(--panel); }
.workspace-branded .primary, .workspace-branded .sso-button { background: linear-gradient(135deg, var(--blue), var(--green)); color: var(--bg); }
.workspace-branded .nav-item, .workspace-branded .nav-item.active, .workspace-branded .small, .workspace-branded .editor-tabs button.active { background: color-mix(in srgb, var(--green) 12%, transparent); color: var(--ink); }
.workspace-branded .nav-item.active, .workspace-branded .small.primary, .workspace-branded .editor-tabs button.active { background: linear-gradient(135deg, var(--blue), var(--green)); color: var(--bg); }
.workspace-branded .topbar .ghost { background: color-mix(in srgb, var(--green) 12%, transparent); color: var(--ink); }
.workspace-branded .workspace-logo { width: 100px; height: 100px; object-fit: contain; border-radius: 8px; }
.workspace-branded .workspace-app, .workspace-branded .app-service { border-color: var(--line); }
.workspace-branded a.portal-home { color: var(--blue); }
.portal-home { text-decoration: none; }
.portal-login-art { width: 100%; max-height: 180px; object-fit: cover; border-radius: 6px; }
#portal-welcome { margin: 12px 0; color: var(--muted); line-height: 1.6; }
.workspace-branded :focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; }
:root .managed-login > summary { font-size: 0.78rem; font-weight: 400; color: var(--muted, #8d9ba8); cursor: pointer; }
:root .managed-login-fields { font-size: 0.82rem; }

.files-drop-zone { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 24px; margin: 12px 0 18px; border: 2px dashed #64748b; border-radius: 12px; text-align: center; transition: background .15s, border-color .15s; }
.files-drop-zone.is-dragging { background: rgba(59,130,246,.14); border-color: #60a5fa; }
.files-drop-zone[aria-busy="true"] { opacity: .7; }
.files-drop-zone.hidden { display: none; }
#files-upload-status { overflow-wrap: anywhere; max-width: 100%; }

/* Service launch cards: details are disclosed only when requested. */
.dashboard-cards { align-items: start; grid-template-columns: repeat(auto-fill, minmax(min(100%, 235px), 1fr)); gap: 16px; }
.app-card.service-card { position: relative; min-height: 0; gap: 0; padding: 0; overflow: hidden; border-radius: 12px; }
.service-card-status { position: absolute; top: 12px; right: 12px; pointer-events: none; z-index: 1; }
.service-card-status .badge { font-size: 11px; padding: 4px 8px; }
.service-launch { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 246px; padding: 40px 20px 24px; color: var(--ink); background: transparent; text-align: center; text-decoration: none; border: 0; border-radius: 0; transition: background .16s ease; }
a.service-launch:hover, button.service-launch:hover { background: rgba(255,255,255,.055); color: var(--ink); }
.service-launch:focus-visible, .service-details summary:focus-visible { outline: 3px solid var(--green); outline-offset: -4px; }
.service-logo { width: 88px; height: 88px; object-fit: contain; margin-bottom: 3px; transition: transform .16s ease; }
.service-launch:hover .service-logo { transform: translateY(-3px); }
.service-title { font-size: 20px; font-weight: 750; line-height: 1.25; overflow-wrap: anywhere; }
.service-caption { color: var(--muted); font-size: 13px; line-height: 1.4; }
.service-open-hint { color: var(--green); font-size: 12px; font-weight: 650; }
.service-launch-static { cursor: default; }
.service-details { border-top: 1px solid var(--line); }
.service-details summary { padding: 13px 16px; cursor: pointer; color: var(--ink); font-size: 13px; font-weight: 650; }
.service-details summary span { float: right; font-size: 11px; font-weight: 400; color: var(--muted); padding-top: 2px; }
.service-details[open] summary { background: rgba(255,255,255,.025); }
.service-details-body { display: grid; gap: 12px; padding: 4px 16px 16px; }
.service-details .card-detail { min-height: 0; overflow-wrap: anywhere; }
.service-details .card-metric { min-height: 58px; }
.service-details .card-metric span { font-size: 16px; }
.service-endpoint { margin: 0; padding: 0 16px 16px; text-align: center; overflow-wrap: anywhere; }
@media (max-width: 560px) { .app-card.service-card.fiverr-lead-filter { grid-column: auto; } .service-launch { min-height: 222px; } }
@media (prefers-reduced-motion: reduce) { .service-launch, .service-logo { transition: none; } .service-launch:hover .service-logo { transform: none; } }

/* Keep file actions immediately beside their name, independent of table width. */
.file-entry { display: flex; align-items: center; justify-content: flex-start; gap: .5rem; flex-wrap: wrap; }
.file-entry-name { overflow-wrap: anywhere; }
.file-entry-actions { display: inline-flex; align-items: center; flex-wrap: wrap; gap: .35rem; }
.file-entry-actions button { margin: 0; }

.portal-chat { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 1rem; border: 1px solid var(--line, #34404c); border-radius: 12px; padding: 1rem; }
.chat-sidebar { display: flex; flex-direction: column; gap: 1rem; }
.chat-sidebar label { display: flex; flex-direction: column; gap: .4rem; }
.chat-sidebar input, .chat-sidebar select, #chat-service { max-width: 100%; }
.chat-main { min-width: 0; }
.chat-messages { height: 340px; overflow-y: auto; overscroll-behavior: contain; padding: .5rem; margin: .5rem 0; }
.chat-message { padding: .75rem 0; border-bottom: 1px solid var(--line, #34404c); }
.chat-message-meta { display: flex; gap: .75rem; align-items: baseline; flex-wrap: wrap; }
.chat-message-meta time { color: var(--muted); font-size: .8rem; }
.chat-message-content { white-space: pre-wrap; overflow-wrap: anywhere; margin-top: .4rem; }
.chat-message-topic { padding: .15rem .4rem; }
#chat-compose textarea { width: 100%; box-sizing: border-box; resize: vertical; }
#chat-compose .toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: .75rem; justify-content: space-between; margin-top: .5rem; }
#chat-status { min-height: 1.3em; }
@media (max-width: 720px) { .portal-chat { grid-template-columns: 1fr; } .chat-sidebar { display: grid; grid-template-columns: 1fr 1fr; } .chat-sidebar label { min-width: 0; } .chat-messages { height: 300px; } }

.chat-identity-card{padding:12px;border:1px dashed var(--line,#34404c);border-radius:8px;display:grid;gap:10px}
#chat-identity{margin:0;font-size:13px;overflow-wrap:anywhere}
#chat-switch-account{justify-self:start}
dialog.chat-account-dialog{position:fixed;inset:0;margin:auto;width:min(460px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:24px;border:1px solid #34485c;border-radius:16px;background:#0e2032;color:#edf3fa;box-shadow:0 24px 80px #0009}
dialog.chat-account-dialog::backdrop{background:#020913b8;backdrop-filter:blur(3px)}
.chat-account-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.chat-account-header h3{margin:0}
#chat-account-form{display:grid;gap:16px}
#chat-account-form label{display:grid;gap:7px}
#chat-account-form input,#chat-account-form select{width:100%;box-sizing:border-box;min-height:42px}
#chat-account-dialog p,#chat-account-help{font-size:13px;line-height:1.55;color:#b5c6d9}
#chat-account-current:empty,#chat-account-error:empty{display:none}
#chat-account-error{color:#ffb5a8!important}
.chat-account-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
#chat-account-dialog button:disabled{opacity:.6;cursor:wait}
#chat-account-dialog :focus-visible{outline:2px solid #e3b650;outline-offset:3px}
body:has(#chat-account-dialog[open]){overflow:hidden}

#chat-view .chat-messages{height:clamp(300px,48vh,650px)}
#chat-view #dashboard-chat{margin-top:0}
#support-view .support-development{margin-top:40px;padding-top:28px;border-top:1px solid var(--line,#34404c)}

.topbar nav [data-view="profile"] { margin-left: auto; }

.kanban-toolbar { display: flex; flex-wrap: wrap; gap: .5rem; align-items: end; }
.kanban-toolbar label { display: flex; flex-direction: column; gap: .3rem; }
.kanban-toolbar select { max-width: 250px; }
.portal-kanban { overflow-x: auto; padding-bottom: .5rem; }
.kanban-lane { min-width: 0; margin-bottom: 1rem; }
.kanban-columns { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(220px,1fr); gap: .75rem; }
.kanban-column { min-height: 180px; padding: .75rem; background: var(--bg); border: 1px solid var(--line,#34404c); border-radius: 10px; }
.kanban-column h4 { margin: 0 0 .75rem; }
.kanban-task { display: block; width: 100%; text-align: left; white-space: normal; margin-bottom: .6rem; padding: .75rem; border: 1px solid var(--line,#34404c); background: var(--panel); color: var(--ink); border-radius: 8px; cursor: pointer; }
.kanban-task small { display: block; color: var(--muted); margin-top: .4rem; }
.kanban-task-title { display: block; overflow-wrap: anywhere; }
.kanban-column.is-drop-target { outline: 2px solid var(--green); }
.kanban-task-dialog { width: min(650px,90vw); }
.kanban-task-dialog label { display: flex; flex-direction: column; gap: .3rem; margin-bottom: .7rem; }
.kanban-task-dialog textarea { min-height: 110px; }
.kanban-task-dialog .kanban-fields { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; }
.kanban-task-dialog .kanban-toolbar { margin: .75rem 0; }
@media (max-width:600px) { .kanban-task-dialog .kanban-fields { grid-template-columns: 1fr; } }

.inbox-toolbar,.inbox-actions{display:flex;gap:.7rem;align-items:center;flex-wrap:wrap}.inbox-toolbar{margin:1rem 0}.inbox-toolbar form{display:flex;gap:.5rem;flex:1}.inbox-toolbar label{flex:1;min-width:140px}.inbox-columns{display:grid;grid-template-columns:minmax(230px,32%) minmax(0,1fr);gap:1.2rem;min-height:300px}.inbox-message{display:flex;width:100%;flex-direction:column;align-items:flex-start;text-align:left;gap:.3rem;margin-bottom:.5rem;padding:.8rem;overflow-wrap:anywhere}.inbox-message span,.inbox-message small{font-size:.8rem;opacity:.8}.inbox-message.unread{border-left:4px solid #eeb322}.inbox-message.unread strong{font-weight:800}.inbox-body{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;line-height:1.6;max-height:65vh;overflow:auto}.inbox-envelope{overflow-wrap:anywhere;line-height:1.6}.inbox-attachments{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0}.mail-compose{width:min(760px,94vw);max-height:90vh;overflow:auto}.mail-compose form{display:grid;gap:1rem}.mail-compose label{display:grid;gap:.4rem}.mail-compose textarea{width:100%;resize:vertical}#inbox-messages{max-height:75vh;overflow:auto}#inbox-reader{min-width:0}@media(max-width:800px){.inbox-columns{grid-template-columns:1fr}#inbox-messages{max-height:35vh}.inbox-toolbar form{flex-basis:100%}.inbox-actions{align-items:flex-start}}

.inbox-message{background:#102034;color:#e6edf6;border:1px solid #465269;border-radius:9px;cursor:pointer}.inbox-message:hover{background:#192d44}.inbox-message:focus-visible,.inbox-actions button:focus-visible{outline:2px solid #efb72b;outline-offset:2px}.inbox-actions button:not(.primary),.inbox-toolbar button,.inbox-attachments button,#compose-cancel{background:#162a40;color:#e6edf6;border:1px solid #465269;border-radius:8px;padding:.6rem .9rem;cursor:pointer}.inbox-actions button:disabled,.inbox-toolbar button:disabled{opacity:.45;cursor:default}.mail-compose{padding:1.5rem;background:#101d2d;color:#e6edf6;border:1px solid #665933;border-radius:12px;box-sizing:border-box}.mail-compose h3{margin:0 0 .5rem}.mail-compose::backdrop{background:rgba(0,0,0,.65)}.mail-account-settings{margin-top:1.5rem}.mail-account-settings>summary{cursor:pointer;padding:.75rem 0}

/* Project controls and a task editor with one primary save action. */
#dashboard-kanban>.section-head{align-items:flex-start;gap:1.5rem;flex-wrap:wrap}
#dashboard-kanban .kanban-toolbar{gap:.65rem;align-items:end}
#dashboard-kanban .kanban-toolbar>label{min-width:140px}
#dashboard-kanban button.small{padding:.65rem .9rem;border-radius:8px;background:var(--panel);color:var(--ink);border:1px solid var(--line)}
#dashboard-kanban button.primary{background:var(--amber);color:#10151c}
#dashboard-kanban button:disabled{opacity:.45;cursor:default}
.kanban-task-number{display:block;font-size:.72rem;color:var(--muted);margin-bottom:.35rem;letter-spacing:.03em}
.kanban-task-title{font-size:.95rem;line-height:1.4;font-weight:650}
.kanban-task{padding:1rem;border-radius:10px;box-shadow:0 2px 7px rgba(0,0,0,.08)}
.kanban-task:hover{border-color:var(--amber)}
.kanban-task:focus-visible{outline:2px solid var(--amber);outline-offset:2px}
.kanban-task small{font-size:.76rem;line-height:1.5;margin-top:.65rem}
.kanban-column h4{font-size:.85rem;letter-spacing:.02em;padding-bottom:.6rem;border-bottom:1px solid var(--line)}
.kanban-task-dialog,.kanban-project-dialog{padding:0;max-height:90vh;overflow:auto;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}
.kanban-task-dialog{width:min(960px,94vw)}
.kanban-project-dialog{width:min(610px,94vw)}
.kanban-task-dialog::backdrop,.kanban-project-dialog::backdrop{background:rgba(0,0,0,.66)}
.kanban-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.4rem 1.6rem;border-bottom:1px solid var(--line)}
.kanban-dialog-header .eyebrow{margin:0 0 .35rem;overflow-wrap:anywhere}
.kanban-dialog-header h3{margin:0;font-size:1.25rem}
.kanban-dialog-header>button{font-size:1.5rem;line-height:1;padding:.5rem .8rem}
.kanban-task-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:0}
.kanban-task-dialog fieldset{margin:0;padding:0;border:0;min-width:0}
.kanban-task-dialog .kanban-task-content{padding:1.5rem 1.6rem}
.kanban-task-dialog label,.kanban-project-dialog label{display:flex;flex-direction:column;gap:.5rem;margin:0 0 1.2rem;font-size:.85rem;font-weight:600;color:var(--muted)}
.kanban-task-dialog input,.kanban-task-dialog select,.kanban-task-dialog textarea,.kanban-project-dialog input,.kanban-project-dialog select,.kanban-project-dialog textarea{font-weight:400;color:var(--ink)}
.kanban-task-content input[name=title]{font-size:1.1rem;font-weight:600;line-height:1.45}
.kanban-task-dialog textarea{min-height:270px;resize:vertical;line-height:1.65}
.kanban-task-sidebar{padding:1.5rem;background:var(--bg);border-left:1px solid var(--line)}
.kanban-task-sidebar legend{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:1rem}
.kanban-position-fields{padding-top:1rem;border-top:1px solid var(--line)}
.kanban-dialog-footer{position:sticky;bottom:0;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.6rem;background:var(--panel);border-top:1px solid var(--line);z-index:1}
.kanban-dialog-footer>[role=status]{margin:0;font-size:.85rem;line-height:1.5;max-width:60%}
.kanban-dialog-buttons{display:flex;gap:.65rem;margin-left:auto;flex-shrink:0}
.kanban-task-dialog .ghost,.kanban-project-dialog .ghost{padding:.65rem .95rem;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--ink)}
.kanban-task-dialog button:disabled,.kanban-project-dialog button:disabled{opacity:.5;cursor:default}
.kanban-task-dialog :focus-visible,.kanban-project-dialog :focus-visible{outline:2px solid var(--amber);outline-offset:2px}
.kanban-task-dialog fieldset:disabled{opacity:.8}
.kanban-more-actions{padding-top:1rem;border-top:1px solid var(--line)}
.kanban-more-actions summary{font-size:.8rem;cursor:pointer;color:var(--muted)}
.kanban-more-actions button{margin-top:.8rem}
.kanban-field-hint{font-size:.8rem;color:var(--muted);line-height:1.6;font-weight:400}
.kanban-project-fields{padding:1.5rem 1.6rem}.kanban-project-fields textarea{resize:vertical;line-height:1.6}
.kanban-optional{font-size:.75rem;font-weight:400}.kanban-task-dialog .sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:700px){.kanban-task-layout{grid-template-columns:1fr}.kanban-task-sidebar{border-left:0;border-top:1px solid var(--line)}.kanban-task-sidebar fieldset{display:grid;grid-template-columns:1fr 1fr;gap:.7rem 1rem}.kanban-task-sidebar legend,.kanban-position-fields{grid-column:1/-1}.kanban-task-dialog textarea{min-height:180px}.kanban-dialog-header,.kanban-task-dialog .kanban-task-content,.kanban-task-sidebar,.kanban-project-fields{padding:1.1rem}.kanban-dialog-footer{padding:1rem;flex-wrap:wrap}.kanban-dialog-footer>[role=status]{max-width:100%;flex-basis:100%}}

/* Integrated project attachments and roomy task writing area. */
.kanban-task-dialog{width:min(1240px,96vw)}
.kanban-task-dialog textarea[name=description]{width:100%;min-height:420px;min-height:min(48vh,520px);resize:vertical;font-size:1rem;box-sizing:border-box}
.kanban-task-content>label{width:100%}
.kanban-attachments{margin-top:1.5rem;border-top:1px solid var(--line);padding-top:1rem}
.kanban-attachments h4{margin:0 0 .8rem}
.kanban-file-drop{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.6rem;padding:1.4rem;border:2px dashed var(--line);border-radius:10px;background:var(--bg)}
.kanban-file-drop.is-dragging{border-color:var(--amber);background:var(--panel)}
.kanban-file-drop small,[data-file-notice]{font-size:.8rem;color:var(--muted);line-height:1.5}
.kanban-file-list{list-style:none;padding:0;margin:.8rem 0}
.kanban-file-list li{display:flex;gap:1rem;align-items:center;justify-content:space-between;padding:.6rem 0;border-bottom:1px solid var(--line)}
.kanban-file-list span{overflow-wrap:anywhere;min-width:0}
.kanban-task-dialog .kanban-file-list button{flex-shrink:0}
@media(max-width:700px){.kanban-task-dialog textarea[name=description]{min-height:300px}.kanban-file-list li{align-items:flex-start;flex-wrap:wrap}}

/* Mail: mailbox navigation, messages, and administration have separate places. */
#mail-view {min-width:0}
#mail-view .mail-page-heading {align-items:center;flex-direction:row;flex-wrap:wrap;margin-bottom:22px}
#mail-view .mail-page-heading h2 {margin:0}
.mail-subtitle {color:var(--muted);margin:7px 0 0;font-size:14px}
#mail-staff-link {margin:0}
#mail-staff-link a {display:inline-flex;text-decoration:none;align-items:center;background:var(--panel);border:1px solid var(--line);color:var(--ink);white-space:nowrap}
.mail-workspace-layout {display:grid;grid-template-columns:245px minmax(0,1fr);gap:20px;align-items:start}
.mail-sidebar {min-width:0;padding:18px;background:var(--panel);border:1px solid var(--line);border-radius:12px}
.mail-sidebar h3 {font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 12px}
#mail-folder-nav {display:grid;gap:4px}
#mail-view .mail-folder-link {text-align:left;color:var(--muted);background:transparent;padding:11px 12px;border:1px solid transparent;border-radius:7px;font-size:14px;font-weight:600;overflow-wrap:anywhere}
#mail-view .mail-folder-link:hover {background:rgba(255,255,255,.04);color:var(--ink)}
#mail-view .mail-folder-link[aria-current] {background:color-mix(in srgb,var(--amber) 12%,transparent);color:var(--ink);border-color:color-mix(in srgb,var(--amber) 40%,transparent)}
#shared-mailboxes {margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}
.mail-sidebar-hint {font-size:12px;color:var(--muted);line-height:1.5;margin:0 0 12px}
.mail-shared-card {padding:13px 0;border-bottom:1px solid var(--line)}
.mail-shared-card:last-child {border:0;padding-bottom:0}
.mail-shared-heading {display:flex;align-items:center;justify-content:space-between;gap:6px;flex-wrap:wrap}
.mail-shared-heading h4 {font-size:14px;margin:0}
.mail-access-badge {font-size:10px;color:var(--muted);background:rgba(255,255,255,.04);padding:3px 6px;border-radius:4px;white-space:nowrap}
.mail-shared-address {font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:7px 0 10px}
.mail-shared-actions {display:flex;gap:6px}
#mail-view .mail-shared-actions button {background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:7px 9px;font-size:12px;min-height:34px;flex:1;white-space:nowrap}
#mail-view .mail-shared-actions button:hover,#mail-view .mail-shared-actions button[aria-pressed=true] {border-color:var(--amber);background:color-mix(in srgb,var(--amber) 10%,transparent)}
.mail-shared-card>small {display:block;margin-top:8px;margin-bottom:0}
#workspace-inbox {min-width:0;margin:0;padding:0;background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:visible}
.mail-inbox-heading {display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;padding:22px;border-bottom:1px solid var(--line)}
.mail-inbox-context {min-width:0}
.mail-inbox-heading h3 {margin:3px 0 6px;font-size:24px;line-height:1.2}
.mail-inbox-heading .eyebrow {font-size:10px;letter-spacing:.1em;margin:0;color:var(--muted)}
#inbox-identity {font-size:12px;color:var(--muted);overflow-wrap:anywhere;margin:0}
#mail-view .inbox-actions {gap:8px;min-width:0}
#mail-view .inbox-actions>.primary {background:var(--amber);color:#10151c}
#mail-view .inbox-actions>.ghost {font-weight:600}
#mail-view .mail-search-toolbar {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:16px 22px;margin:0;border-bottom:1px solid var(--line);align-items:center}
#mail-view .mail-folder-select {display:none}
#inbox-search-form {display:flex;gap:8px;min-width:0;flex-basis:auto}
#inbox-search {min-width:0;flex:1;width:0;font-size:13px}
#inbox-search-form button {font-size:12px;padding:9px 12px}
#mail-view .mail-pagination {flex-wrap:nowrap;font-size:11px;white-space:nowrap;gap:6px}
#mail-view .mail-pagination button {padding:7px 9px;font-size:11px;min-height:32px}
#inbox-status {color:var(--muted);font-size:13px;margin:0;padding:12px 22px}
#inbox-status:empty {display:none}
#workspace-inbox>.inbox-columns {grid-template-columns:minmax(220px,36%) minmax(0,1fr);gap:0;min-height:350px}
#inbox-messages {padding:12px;border-right:1px solid var(--line);min-width:0;max-height:65vh}
#mail-view .inbox-message {border:1px solid transparent;background:transparent;border-radius:7px;padding:12px;gap:6px;box-shadow:none;margin:0 0 4px;color:var(--ink)}
#mail-view .inbox-message:hover {background:rgba(255,255,255,.035)}
#mail-view .inbox-message[aria-pressed=true] {background:color-mix(in srgb,var(--amber) 9%,transparent);border-color:var(--line)}
#mail-view .inbox-message.unread {border-left:3px solid var(--amber)}
#mail-view .inbox-message strong {font-size:13px;line-height:1.5}
#mail-view .inbox-message span {font-size:11px;color:var(--muted)}
#mail-view .inbox-message small {font-size:10px;color:var(--muted)}
#inbox-reader {padding:22px;min-width:0}
#inbox-reader h3 {font-size:20px;line-height:1.4;overflow-wrap:anywhere;margin-top:0}
#inbox-reader .inbox-envelope {font-size:12px;color:var(--muted)}
#inbox-reader .inbox-actions {padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
#inbox-reader .inbox-actions button {font-size:11px;padding:7px 9px}
#inbox-reader .inbox-actions label {font-size:11px;max-width:180px}
.mail-reader-placeholder {text-align:center;padding:75px 10px;color:var(--muted);font-size:13px}
.mail-reader-placeholder span {font-size:15px;color:var(--ink);font-weight:600}
#workspace-inbox.mail-empty>.inbox-columns {grid-template-columns:1fr;min-height:0}
#workspace-inbox.mail-empty #inbox-reader {display:none}
#workspace-inbox.mail-empty #inbox-messages {border:0;max-height:none}
.mail-empty-state {padding:48px 15px;text-align:center;color:var(--muted);font-size:13px}
.mail-empty-state h4 {font-size:16px;color:var(--ink);margin:12px 0 6px}
.mail-empty-state p {margin:0;line-height:1.6}
.mail-empty-icon {display:inline-grid;place-items:center;width:46px;height:46px;border:1px solid var(--line);border-radius:12px;font-size:23px}
.mail-security {position:relative;font-size:12px}
.mail-security summary {cursor:pointer;padding:9px 10px;border:1px solid var(--line);border-radius:6px;color:var(--muted);white-space:nowrap}
.mail-security-menu {position:absolute;right:0;top:calc(100% + 7px);width:245px;padding:8px;background:var(--panel);border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow);z-index:5;display:grid;gap:5px}
#mail-view .mail-security-menu .ghost {display:block;text-decoration:none;text-align:left;white-space:normal;font-size:12px;color:var(--ink);font-weight:500}
#mail-view .mail-account-settings,#mail-inspection {margin-top:20px;background:var(--panel);padding:0 20px;border:1px solid var(--line);border-radius:10px}
#mail-view .mail-account-settings summary,#mail-inspection>summary {padding:16px 0;color:var(--muted);font-size:13px;cursor:pointer}
.mail-account-settings summary span {font-size:11px;margin-left:10px;opacity:.65}
#mail-view .mail-account-settings[open],#mail-inspection[open] {padding-bottom:20px}
#mail-create-form {margin-top:10px}
#mail-view button:focus-visible,#mail-view a:focus-visible,#mail-view summary:focus-visible {outline:2px solid var(--amber);outline-offset:3px}
@media(max-width:1150px){.mail-workspace-layout{grid-template-columns:210px minmax(0,1fr);gap:14px}.mail-sidebar{padding:14px}#mail-view .mail-search-toolbar{grid-template-columns:1fr}.mail-pagination{justify-content:flex-end}.mail-inbox-heading{padding:18px}#inbox-reader{padding:16px}}
@media(max-width:850px){.mail-workspace-layout{grid-template-columns:1fr}.mail-sidebar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}#shared-mailboxes{margin:0;padding:0 0 0 18px;border-top:0;border-left:1px solid var(--line)}#workspace-inbox>.inbox-columns{grid-template-columns:1fr;min-height:0}#inbox-messages{border-right:0;max-height:330px}#inbox-reader{border-top:1px solid var(--line)}.mail-reader-placeholder{padding:25px 10px}.mail-security-menu{right:0}}
@media(max-width:520px){.mail-sidebar{grid-template-columns:1fr}.mail-folder-section{min-width:0}#mail-folder-nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}#mail-view .mail-folder-link{font-size:12px;text-align:center;padding:10px 4px}#shared-mailboxes{border:0;border-top:1px solid var(--line);padding:16px 0 0}.mail-shared-card{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:10px}.mail-shared-heading{grid-column:1;justify-content:flex-start}.mail-shared-address{grid-column:1;grid-row:2;margin-bottom:0}.mail-shared-actions{grid-column:2;grid-row:1/3;align-items:center}.mail-shared-card>small{grid-column:1/-1}.mail-access-badge{font-size:9px}.mail-inbox-heading{padding:16px;align-items:flex-start}.mail-inbox-heading>.inbox-actions{width:100%}#mail-view .mail-search-toolbar{padding:12px 16px}#mail-view .mail-pagination{justify-content:space-between}.mail-empty-state{padding:30px 10px}.mail-account-settings summary span{display:none}#mail-view .mail-account-settings,#mail-inspection{padding-left:14px;padding-right:14px}.mail-security-menu{left:auto;right:0}}

.mail-all-folders {margin-top:20px;border-top:1px solid var(--line);padding-top:14px;font-size:12px;color:var(--muted)}
.mail-all-folders summary {cursor:pointer;padding:5px 0}
#mail-view .mail-all-folders .mail-folder-select {display:grid;margin-top:10px;font-size:11px}
.mail-all-folders select {font-size:12px;min-width:0}
@media(max-width:850px){.mail-all-folders{grid-column:1/-1;margin-top:0}}

/* Keep account setup readable within the dialog and narrow browser windows. */
#mail-setup-dialog{width:min(760px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);padding:0;box-sizing:border-box;overflow:auto}
#mail-setup-dialog .dialog-body{grid-template-columns:minmax(0,1fr);padding:24px;gap:12px;min-width:0}
#mail-setup-dialog .dialog-body>*,#mail-setup-content{min-width:0;max-width:100%;box-sizing:border-box}
#mail-setup-dialog .section-head{display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:nowrap;margin:0}
#mail-setup-dialog h3{margin:0;line-height:1.35;flex:1;min-width:0}
#mail-setup-close{flex:none}
#mail-setup-dialog h4{margin:24px 0 12px}
#mail-setup-dialog p,#mail-setup-dialog li{white-space:normal;overflow-wrap:anywhere;line-height:1.55}
#mail-setup-dialog p{margin:10px 0 16px}
#mail-setup-dialog ol{padding-left:24px;margin:12px 0 18px}
#mail-setup-dialog li+li{margin-top:8px}
#mail-setup-dialog label{display:grid;gap:7px;margin:12px 0 8px}
#mail-setup-dialog input{width:100%;min-width:0;max-width:100%;box-sizing:border-box}
#mail-setup-dialog table{width:100%;min-width:0;table-layout:fixed;margin:16px 0}
#mail-setup-dialog th,#mail-setup-dialog td{padding:12px 10px;white-space:normal;overflow-wrap:anywhere;font-size:13px}
#mail-setup-dialog button{max-width:100%;white-space:normal;border:1px solid var(--line,#465269);border-radius:7px;background:var(--panel-2,#162a40);color:var(--ink,#e6edf6);padding:9px 13px;line-height:1.4;cursor:pointer}
#mail-setup-dialog button:disabled{opacity:.55;cursor:default}
#mail-setup-create{margin-top:4px}
#mail-setup-secret{margin-top:16px}
@media(max-width:520px){#mail-setup-dialog .dialog-body{padding:18px}#mail-setup-dialog th,#mail-setup-dialog td{padding:10px 6px;font-size:12px}#mail-setup-dialog .section-head{gap:12px}#mail-setup-dialog h3{font-size:18px;flex:1;min-width:0}}

/* Settings groups workspace administration without adding top-level buttons. */
.settings-nav { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 24px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.settings-nav .nav-item { min-height: 40px; }
.settings-nav .nav-item:focus-visible { outline: 2px solid var(--green); outline-offset: 3px; }
#settings-view > .view { margin-top: 0; }

/* Lake Forward 3's campaign theme is opt-in; other portal themes are untouched. */
@font-face{font-family:CampaignBarlow;font-style:normal;font-weight:400;font-display:swap;src:url('/assets/lakeforward3/barlow-regular.woff2') format('woff2')}
@font-face{font-family:CampaignBarlow;font-style:normal;font-weight:700;font-display:swap;src:url('/assets/lakeforward3/barlow-bold.woff2') format('woff2')}
html[data-workspace-theme="campaign-light"]{color-scheme:light;--bg:#ffffff;--panel:#ffffff;--ink:#201b22;--muted:#56505a;--line:#dfd8e2;--green:#800080;--blue:#deed00;--amber:#800080;--shadow:0 8px 28px rgba(71,15,79,.07);--portal-font:CampaignBarlow,Arial,sans-serif}
html[data-workspace-theme="campaign-light"] body{background:#faf8fb;font-family:CampaignBarlow,Arial,sans-serif;font-size:16px;line-height:1.5}
html[data-workspace-theme="campaign-light"] .topbar{background:#fff;border-top:5px solid #deed00;border-bottom:1px solid #dfd8e2;padding-block:18px}
html[data-workspace-theme="campaign-light"] .brand strong{color:#800080;font-size:20px;font-weight:700;line-height:1.15}
html[data-workspace-theme="campaign-light"] .brand small{color:#56505a}
html[data-workspace-theme="campaign-light"] .mark{width:72px;height:72px;border:0;border-radius:0;padding:0;background:transparent;object-fit:contain}
html[data-workspace-theme="campaign-light"] .nav-item,
html[data-workspace-theme="campaign-light"] .topbar .ghost,
html[data-workspace-theme="campaign-light"] .small,
html[data-workspace-theme="campaign-light"] .ghost{background:#f3edf5;color:#630063;font-weight:700}
html[data-workspace-theme="campaign-light"] .nav-item:hover,
html[data-workspace-theme="campaign-light"] .topbar .ghost:hover,
html[data-workspace-theme="campaign-light"] .small:hover{background:#eadced}
html[data-workspace-theme="campaign-light"] .nav-item.active,
html[data-workspace-theme="campaign-light"] .editor-tabs button.active{background:#800080;color:#fff}
html[data-workspace-theme="campaign-light"] .primary,
html[data-workspace-theme="campaign-light"] .sso-button,
html[data-workspace-theme="campaign-light"] .small.primary,
html[data-workspace-theme="campaign-light"] #mail-view .inbox-actions>.primary{background:#deed00;color:#4e0059;border:1px solid #c5d100}
html[data-workspace-theme="campaign-light"] .danger{color:#9a241e!important}
html[data-workspace-theme="campaign-light"] .eyebrow{color:#800080;letter-spacing:.08em}
html[data-workspace-theme="campaign-light"] h2,
html[data-workspace-theme="campaign-light"] h3{color:#4e0059;font-weight:700}
html[data-workspace-theme="campaign-light"] .metric,
html[data-workspace-theme="campaign-light"] .app-card,
html[data-workspace-theme="campaign-light"] .dashboard-section,
html[data-workspace-theme="campaign-light"] .workspace-upcoming,
html[data-workspace-theme="campaign-light"] .login-panel{background:#fff;border-color:#dfd8e2;box-shadow:var(--shadow)}
html[data-workspace-theme="campaign-light"] .metric span{color:#800080}
html[data-workspace-theme="campaign-light"] .service-card{border-top:3px solid #800080}
html[data-workspace-theme="campaign-light"] .service-launch{background:#fff;color:#201b22}
html[data-workspace-theme="campaign-light"] .service-launch:hover{background:#faf5fb}
html[data-workspace-theme="campaign-light"] .service-logo{color:#800080}
html[data-workspace-theme="campaign-light"] .service-title{color:#800080}
html[data-workspace-theme="campaign-light"] .service-open-hint{color:#630063}
html[data-workspace-theme="campaign-light"] .badge,
html[data-workspace-theme="campaign-light"] .badge.active{background:#f3edf5;color:#630063;border-color:#d5bddb}
html[data-workspace-theme="campaign-light"] .service-details{background:#fcfafd}
html[data-workspace-theme="campaign-light"] input,
html[data-workspace-theme="campaign-light"] select,
html[data-workspace-theme="campaign-light"] textarea,
html[data-workspace-theme="campaign-light"] select option{background:#fff;color:#201b22;border-color:#b9a9be}
html[data-workspace-theme="campaign-light"] dialog{background:#fff;color:#201b22;border-color:#dfd8e2}
html[data-workspace-theme="campaign-light"] #mail-view .mail-folder-link[aria-current],
html[data-workspace-theme="campaign-light"] #mail-view .inbox-message[aria-pressed=true]{background:#f2e6f4;border-color:#d5bddb;color:#4e0059}
html[data-workspace-theme="campaign-light"] #mail-view .inbox-message:hover{background:#f6f0f8}
html[data-workspace-theme="campaign-light"] :focus-visible{outline:3px solid #800080;outline-offset:3px}
html[data-workspace-theme="campaign-light"] a.portal-home{color:#800080}
@media(max-width:700px){html[data-workspace-theme="campaign-light"] .topbar{padding:14px 16px}html[data-workspace-theme="campaign-light"] .brand strong{font-size:18px}html[data-workspace-theme="campaign-light"] .mark{width:64px;height:64px}html[data-workspace-theme="campaign-light"] main{padding:16px}}
