@font-face {
  font-family: Workspace;
  src: url("/fonts/workspace.ttf") format("truetype");
  font-display: swap;
  font-weight: 400;
}
@font-face {
  font-family: Workspace;
  src: url("/fonts/workspace-bold.ttf") format("truetype");
  font-display: swap;
  font-weight: 600 900;
}
@font-face {
  font-family: Editorial;
  src: url("/fonts/editorial.ttf") format("truetype");
  font-display: swap;
}
:root {
  --ink: #183b59;
  --body: #344d63;
  --muted: #798188;
  --line: #e0e5e9;
  --paper: #f6f9fc;
  --brand: #0877c4;
  --brand-dark: #104674;
  --side: #102d49;
  --ice: #dff3fc;
  --white: #fff;
  --danger: #a53f38;
  font-family: Workspace, "Helvetica Neue", sans-serif;
  font-size: 14px;
  color: var(--body);
  background: var(--paper);
}
* {
  box-sizing: border-box;
}
body {
  margin: 0;
}
button,
input,
select,
textarea {
  font: inherit;
}
button,
a,
input,
textarea,
select {
  -webkit-tap-highlight-color: transparent;
}
button,
a {
  touch-action: manipulation;
}
button {
  cursor: pointer;
}
button:disabled {
  opacity: 0.5;
  cursor: wait;
}
a {
  color: inherit;
}
button,
input,
select,
textarea,
a {
  outline-offset: 4px;
}
:focus-visible {
  outline: 2px solid #0984d7;
}
input,
select,
textarea {
  background: #fff;
  border: 1px solid #d7dde1;
  border-radius: 7px;
  padding: 10px 12px;
  color: var(--ink);
  min-height: 40px;
  width: 100%;
}
input[type="checkbox"] {
  width: 18px;
  min-height: 18px;
  accent-color: var(--brand);
}
input[type="color"] {
  padding: 4px;
  width: 100%;
  height: 40px;
}
textarea {
  resize: vertical;
  line-height: 1.65;
}
select {
  cursor: pointer;
}
input::placeholder,
textarea::placeholder {
  color: #939ba2;
}
h1,
h2,
h3,
p {
  margin-top: 0;
}
h1 {
  font-size: 31px;
  line-height: 1.2;
  letter-spacing: -1px;
  color: var(--ink);
  font-weight: 600;
  margin-bottom: 10px;
}
h2 {
  font-size: 18px;
  color: var(--ink);
  letter-spacing: -0.3px;
}
h3 {
  font-size: 14px;
  color: var(--ink);
}
p {
  line-height: 1.65;
}
small {
  display: block;
  font-size: 12px;
  line-height: 1.5;
}
.muted {
  color: var(--muted);
}
.eyebrow {
  font-size: 10px;
  letter-spacing: 1.7px;
  font-weight: 700;
  color: var(--brand);
  margin-bottom: 15px;
}
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 15px;
  min-height: 39px;
  border: 1px solid #d4dadf;
  border-radius: 7px;
  background: white;
  color: #2e404f;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  transition:
    background 0.15s,
    transform 0.15s;
}
.button:hover {
  background: #ebf0f4;
  border-color: #b6c3cd;
}
.button:active {
  transform: translateY(1px);
}
.button.primary {
  background: var(--brand);
  border-color: var(--brand);
  color: white;
  box-shadow: 0 2px 3px #0f2b4215;
}
.button.primary:hover {
  background: #0765a8;
}
.button.dark {
  background: var(--brand-dark);
  border-color: var(--brand-dark);
  color: white;
}
.button.compact {
  font-size: 12px;
  min-height: 34px;
  padding: 8px 12px;
}
.button.danger {
  color: var(--danger);
  border-color: #e9cdc7;
}
.text-button {
  padding: 7px 0;
  background: none;
  border: 0;
  color: var(--brand);
  font-weight: 600;
}
.text-button:hover {
  text-decoration: underline;
}
.icon-button {
  border: 0;
  border-radius: 6px;
  background: none;
  min-width: 34px;
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: inherit;
  font-size: 18px;
}
.icon-button:hover {
  background: #7c8f9e1a;
}
.actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.sidebar {
  width: 238px;
  background: var(--side);
  color: #b1bbc3;
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 20;
  display: flex;
  flex-direction: column;
  padding: 30px 17px 17px;
}
.brand {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: #eef3f7;
  padding: 0 8px;
}
.brand strong {
  font-size: 23px;
  letter-spacing: -0.7px;
}
.brand small {
  font-size: 8px;
  letter-spacing: 1.65px;
  color: #8b9dab;
  margin-top: 5px;
}
.nav-search {
  margin: 34px 4px 28px;
  padding: 10px 12px;
  text-align: left;
  border: 1px solid #ffffff16;
  border-radius: 6px;
  background: #ffffff05;
  color: #b1bbc3;
  font-size: 12px;
}
.nav-search:hover {
  background: #ffffff0a;
}
.nav-caption {
  font-size: 9px;
  letter-spacing: 1.8px;
  margin: 0 14px 11px;
  color: #778a9a;
}
.sidebar nav {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.nav-link {
  display: block;
  min-height: 41px;
  border: 0;
  background: none;
  text-align: left;
  color: #a1afbb;
  font-size: 13px;
  padding: 11px 14px;
  border-radius: 7px;
  white-space: pre;
}
.nav-link:hover {
  background: #ffffff08;
  color: white;
}
.nav-link.active {
  background: #164e78;
  color: #e5f6ff;
  font-weight: 600;
  box-shadow: inset 3px 0 #00c6dc;
}
.nav-link[data-view="settings"] {
  margin-top: 0;
}
.nav-divider {
  flex-shrink: 0;
  width: calc(100% - 28px);
  height: 0;
  margin: 22px 14px 8px;
  border: 0;
  border-top: 1px solid #ffffff28;
}
.nav-tools-caption, .nav-settings-caption {
  margin: 0 14px 4px;
  color: #a9becd;
}
.sidebar-bottom {
  margin-top: auto;
  padding-top: 28px;
}
.lab-dot {
  display: block;
  font-size: 9px;
  color: #99b6cd;
  letter-spacing: 1.2px;
  padding: 12px 13px;
}
.user-card {
  display: flex;
  gap: 9px;
  align-items: center;
  border-top: 1px solid #ffffff15;
  padding: 18px 5px 0;
}
.user-card strong {
  font-size: 12px;
  color: #dce4eb;
}
.user-card small {
  font-size: 10px;
  color: #7a8fa1;
}
.user-card > .icon-button {
  margin-left: auto;
}
.avatar {
  background: #485b6a;
  color: #bdd6eb;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 9px;
  width: 32px;
  height: 32px;
  flex: none;
  font-size: 13px;
  font-weight: 600;
}
.avatar.light {
  background: #e1e9f0;
  color: #537087;
}
.workspace {
  margin-left: 238px;
  min-height: 100dvh;
}
.topbar {
  height: 67px;
  border-bottom: 1px solid var(--line);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 38px;
  background: #f9fafb;
  gap: 16px;
}
.breadcrumb {
  display: flex;
  gap: 14px;
  font-size: 12px;
  color: #8d9398;
  align-items: center;
}
.breadcrumb strong {
  color: #505d67;
  font-weight: 400;
}
.topbar-right {
  display: flex;
  align-items: center;
  gap: 16px;
}
.environment {
  font-size: 10px;
  color: #8e969d;
  letter-spacing: 0.3px;
}
.content {
  max-width: 1510px;
  margin: auto;
  padding: 40px 38px 70px;
}
.page-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 32px;
}
.page-heading p {
  font-size: 13px;
  margin-bottom: 0;
}
.page-heading .eyebrow {
  font-size: 9px;
  margin-bottom: 13px;
}
.welcome {
  position: relative;
  overflow: hidden;
  background: #e3ebf2;
  border: 1px solid #d6dfe7;
  border-radius: 12px;
  padding: 34px 37px;
  min-height: 255px;
  display: flex;
  justify-content: space-between;
}
.welcome .eyebrow {
  font-size: 9px;
  letter-spacing: 2px;
  color: #5b7488;
}
.welcome h2 {
  font-family: Editorial, Georgia, serif;
  font-size: 39px;
  line-height: 1.1;
  font-weight: 400;
  white-space: pre-line;
  color: #1e3a51;
  letter-spacing: -1.5px;
  margin-bottom: 15px;
}
.welcome p {
  color: #6b7985;
  font-size: 12px;
  white-space: pre-line;
  margin-bottom: 21px;
}
.welcome .button {
  font-size: 11px;
  padding: 9px 12px;
}
.welcome-art {
  width: 300px;
  position: relative;
  align-self: stretch;
  flex-shrink: 0;
}
.orbit {
  border: 1px solid #b9ccdc;
  border-radius: 50%;
  width: 235px;
  height: 235px;
  position: absolute;
  top: -22px;
  left: 20px;
}
.orbit-two {
  width: 305px;
  height: 305px;
  left: -15px;
  top: -57px;
}
.orbit:before,
.orbit:after {
  content: "";
  position: absolute;
  background: #bad1e3;
  border: 6px solid #e3ebf2;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  left: 18px;
  top: 16px;
}
.orbit:after {
  left: auto;
  top: auto;
  right: -7px;
  bottom: 72px;
  background: #6a869d;
}
.art-check {
  font-family: Editorial, Georgia, serif;
  color: #506b81;
  font-size: 110px;
  position: absolute;
  left: 93px;
  top: 35px;
  transform: rotate(-8deg);
}
.metrics {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 15px;
  margin: 23px 0 32px;
}
.metric {
  position: relative;
  text-align: left;
  border: 1px solid var(--line);
  border-radius: 9px;
  padding: 22px 20px;
  background: #fff;
}
.metric:hover {
  border-color: #b8c7d3;
  background: #fdfefe;
}
.metric-number {
  display: block;
  font-size: 30px;
  line-height: 1;
  font-weight: 600;
  letter-spacing: -1px;
  color: var(--ink);
  margin-bottom: 12px;
}
.metric-label {
  font-size: 11px;
  color: var(--muted);
}
.metric-arrow {
  position: absolute;
  right: 18px;
  top: 18px;
  color: #a1b0bc;
  font-size: 18px;
}
.overview-grid {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 22px;
}
.panel {
  border: 1px solid var(--line);
  border-radius: 9px;
  background: white;
  overflow: hidden;
}
.section-heading {
  min-height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 18px 21px;
  border-bottom: 1px solid var(--line);
}
.section-heading h2 {
  font-size: 14px;
  margin: 0;
}
.section-heading .text-button {
  font-size: 11px;
}
.badge {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  padding: 4px 7px;
  font-size: 10px;
  border-radius: 4px;
  background: #ebf0f4;
  color: #6e8190;
  white-space: nowrap;
}
.badge.urgent {
  color: #a75c46;
  background: #fff0e5;
}
.empty {
  text-align: center;
  padding: 50px 25px;
  max-width: 560px;
  margin: auto;
}
.empty-symbol {
  display: block;
  font-size: 29px;
  color: #97afc2;
  margin-bottom: 17px;
}
.empty h3 {
  font-size: 15px;
  margin-bottom: 9px;
}
.empty p {
  font-size: 12px;
  max-width: 310px;
  margin: 0 auto 17px;
}
.empty .button {
  font-size: 12px;
}
.demo-banner {
  margin-top: 25px;
  padding: 20px 23px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  border: 1px dashed #c3d0db;
  border-radius: 8px;
}
.demo-banner strong {
  font-size: 12px;
}
.demo-banner p {
  font-size: 11px;
  margin: 5px 0 0;
}
.demo-banner .button {
  font-size: 11px;
}
.segmented {
  display: flex;
  border: 1px solid var(--line);
  border-radius: 7px;
  padding: 3px;
  background: #eaeef2;
}
.segmented button {
  border: 0;
  background: transparent;
  color: #7a848d;
  padding: 7px 13px;
  border-radius: 5px;
  font-size: 12px;
}
.segmented button.selected {
  background: white;
  box-shadow: 0 1px 4px #0e2a4110;
  color: #31495d;
}
.filterbar {
  display: flex;
  gap: 9px;
  align-items: center;
  flex-wrap: wrap;
  padding-bottom: 20px;
}
.filterbar input {
  max-width: 255px;
  min-height: 35px;
  font-size: 12px;
  padding: 8px 12px;
  background: #fff;
}
.filterbar select {
  width: auto;
  min-height: 35px;
  max-width: 170px;
  font-size: 11px;
  padding: 7px 23px 7px 9px;
}
.count {
  margin-left: auto;
  font-size: 11px;
}
.ticket-row {
  display: flex;
  align-items: center;
  gap: 13px;
  width: 100%;
  min-height: 58px;
  padding: 14px 20px;
  background: white;
  border: 0;
  border-bottom: 1px solid #e8edf1;
  text-align: left;
}
.ticket-row:last-child {
  border-bottom: 0;
}
.ticket-row:hover {
  background: #f3f7fb;
}
.ticket-id {
  font-size: 11px;
  color: #89929a;
  white-space: nowrap;
  font-family: Workspace, sans-serif;
}
.ticket-title {
  font-size: 12px;
  color: #3b4b58;
  flex: 1;
  min-width: 80px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.row-project {
  font-size: 10px;
  color: #889199;
  max-width: 115px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.row-date {
  font-size: 10px;
  color: #889199;
  min-width: 73px;
  text-align: right;
}
.status-dot {
  width: 12px;
  height: 12px;
  border: 1.5px solid #9fa9b2;
  border-radius: 50%;
  flex-shrink: 0;
  display: inline-block;
}
.status-dot.todo {
  border-color: #768d9f;
}
.status-dot.in_progress {
  border-color: #bb9a43;
  background: #e3c873;
}
.status-dot.review {
  border-color: #7093a1;
  background: #a8cbd2;
}
.status-dot.done {
  border-color: #406e94;
  background: #6591b5;
}
.status-dot.canceled {
  border-color: #bdc1c5;
  background: #ddd;
}
.list-label {
  padding: 14px 20px;
  background: #f7fafd;
  border-bottom: 1px solid var(--line);
  font-size: 9px;
  letter-spacing: 1px;
  color: #8b99a4;
  display: flex;
  justify-content: space-between;
}
.overview-grid .ticket-row {
  gap: 8px;
}
.overview-grid .row-project,
.overview-grid .row-date {
  display: none;
}
.board {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  padding-bottom: 18px;
  align-items: flex-start;
  min-height: 380px;
  scroll-snap-type: x proximity;
}
.board-column {
  width: 244px;
  flex-shrink: 0;
  scroll-snap-align: start;
}
.column-heading {
  display: flex;
  gap: 8px;
  align-items: center;
  min-height: 42px;
  padding: 0 3px;
  margin-bottom: 13px;
  font-size: 12px;
}
.column-heading .icon-button {
  margin-left: auto;
  font-size: 15px;
}
.column-heading .muted {
  font-size: 11px;
}
.ticket-card {
  padding: 16px;
  background: white;
  width: 100%;
  border: 1px solid var(--line);
  box-shadow: 0 2px 2px #21334110;
  border-radius: 8px;
  margin-bottom: 10px;
  text-align: left;
}
.ticket-card:hover {
  border-color: #a8bbcb;
}
.ticket-card h3 {
  font-size: 12px;
  line-height: 1.5;
  margin: 8px 0 13px;
}
.card-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 10px;
  color: #859099;
  gap: 8px;
}
.column-empty {
  border: 1px dashed #d7e0e8;
  border-radius: 8px;
  text-align: center;
  padding: 23px 10px;
  font-size: 11px;
  color: #8d9ca9;
}
.project-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 20px;
}
.project-card {
  text-align: left;
  padding: 24px;
  background: white;
  border: 1px solid var(--line);
  border-radius: 10px;
}
.project-card:hover {
  border-color: #a5b8c8;
}
.project-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 25px;
}
.project-symbol {
  display: flex;
  width: 38px;
  height: 38px;
  align-items: center;
  justify-content: center;
  color: white;
  border-radius: 9px;
  font-size: 20px;
}
.project-card h2 {
  font-size: 17px;
  margin-bottom: 12px;
}
.clamp {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 42px;
  font-size: 12px;
}
.project-footer {
  display: flex;
  justify-content: space-between;
  font-size: 10px;
  color: #87919a;
  border-top: 1px solid var(--line);
  padding-top: 17px;
  margin-top: 24px;
}
.tabs {
  display: flex;
  gap: 25px;
  border-bottom: 1px solid var(--line);
  margin-bottom: 26px;
}
.tabs button {
  padding: 0 2px 14px;
  border: 0;
  background: none;
  color: #7b8994;
  font-size: 12px;
}
.tabs button.active {
  border-bottom: 2px solid var(--brand);
  color: var(--brand);
  font-weight: 600;
}
.contact-row {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 15px;
  padding: 17px 22px;
  background: white;
  border: 0;
  border-bottom: 1px solid var(--line);
  text-align: left;
}
.contact-row:last-child {
  border-bottom: 0;
}
.contact-row:hover {
  background: #f3f7fb;
}
.contact-name {
  flex: 1;
}
.contact-name strong {
  font-size: 12px;
}
.contact-name small {
  margin-top: 4px;
  font-size: 10px;
}
.contact-email {
  min-width: 30%;
  font-size: 12px;
  color: #77848f;
}
.contact-row > .muted {
  font-size: 11px;
}
.reminder-item {
  width: 100%;
  display: block;
  text-align: left;
  border: 0;
  border-bottom: 1px solid var(--line);
  padding: 17px 22px;
  background: white;
  font-size: 12px;
}
.reminder-item small {
  font-size: 10px;
  color: var(--muted);
  margin-top: 7px;
}
.reminder-row {
  display: flex;
  align-items: center;
  gap: 17px;
  border-bottom: 1px solid var(--line);
  padding: 16px 21px;
}
.reminder-row:last-child {
  border: 0;
}
.reminder-main {
  flex: 1;
  border: 0;
  background: none;
  text-align: left;
  font-size: 12px;
}
.reminder-main small {
  font-size: 11px;
  margin-top: 5px;
}
.strike {
  text-decoration: line-through;
  color: #929faa;
}
.notification-row {
  display: block;
  width: 100%;
  text-align: left;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: white;
  padding: 22px 25px;
}
.notification-row.unread {
  background: #f0f6fa;
}
.notification-title {
  display: flex;
  gap: 9px;
  align-items: center;
  font-size: 13px;
}
.notification-row p {
  font-size: 12px;
  margin: 9px 0;
}
.unread-dot {
  background: var(--brand);
  width: 7px;
  height: 7px;
  border-radius: 50%;
}
.feature-panel {
  max-width: 760px;
  padding: 42px;
  background: white;
  border: 1px solid var(--line);
  border-radius: 12px;
}
.feature-panel h2 {
  font-family: Editorial, Georgia, serif;
  font-size: 34px;
  font-weight: 400;
  margin-top: 26px;
  letter-spacing: -0.8px;
}
.feature-panel p {
  font-size: 13px;
}
.feature-icon {
  font-size: 44px;
  color: #678298;
  margin: 34px 0 0;
}
.info-box {
  background: #ecf3f8;
  border: 1px solid #d4e1ec;
  border-radius: 7px;
  padding: 17px 19px;
  font-size: 12px;
  margin: 24px 0;
}
.info-box p {
  margin: 9px 0;
}
.settings-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 23px;
}
.settings-panel {
  padding: 26px;
}
.settings-panel h2 {
  font-size: 16px;
  margin-bottom: 21px;
}
.settings-panel p {
  font-size: 12px;
}
.settings-panel .badge {
  margin-bottom: 10px;
}
.import-panel {
  grid-column: 1/-1;
}
.field {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 12px;
  font-weight: 600;
  margin: 0 0 19px;
  color: #4c5c69;
}
.field > input,
.field > textarea,
.field > select {
  font-weight: 400;
}
.field > span {
  line-height: 1.4;
}
.password-input {
  position: relative;
  min-width: 0;
}
.password-input > input {
  min-height: 44px;
  padding-right: 54px;
  font-weight: 400;
}
.password-toggle {
  position: absolute;
  top: 0;
  right: 0;
  display: grid;
  place-items: center;
  width: 44px;
  height: 100%;
  min-height: 44px;
  padding: 0;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--ink);
}
.password-toggle:hover:not(:disabled) {
  background: rgba(9, 132, 215, 0.1);
}
.password-toggle:focus-visible {
  outline-offset: -4px;
}
.password-input > input::-ms-reveal {
  display: none;
}
.field:has(input[type="checkbox"]) {
  flex-direction: row;
  align-items: center;
}
.field:has(input[type="checkbox"]) input {
  order: -1;
}
.form-error {
  color: #a24437;
  font-size: 12px;
  line-height: 1.5;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.form-error:empty {
  display: none;
}
.entity-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 18px;
}
.entity-form .field:has(textarea),
.entity-form .field:first-child,
.entity-form .form-error,
.form-footer {
  grid-column: 1/-1;
}
.form-footer {
  display: flex;
  justify-content: flex-end;
  gap: 9px;
  border-top: 1px solid var(--line);
  padding-top: 21px;
  margin-top: 7px;
}
.form-footer .danger {
  margin-right: auto;
}
.preserve {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.drawer::backdrop,
dialog::backdrop {
  background: #102a2960;
  backdrop-filter: blur(3px);
}
dialog {
  width: min(580px, calc(100% - 32px));
  max-height: calc(100dvh - 48px);
  border: 1px solid #d6dfe7;
  padding: 25px 29px 29px;
  border-radius: 13px;
  box-shadow: 0 30px 100px #0f262c33;
  color: var(--body);
  overflow: auto;
}
dialog h2 {
  font-size: 23px;
  margin: 11px 0 28px;
}
.dialog-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}
.dialog-top .badge {
  font-size: 8px;
  letter-spacing: 1.5px;
  padding: 5px 7px;
}
.dialog-top .icon-button {
  font-size: 16px;
  color: #7a8894;
}
.drawer {
  position: fixed;
  inset: 0 0 0 auto;
  margin: 0;
  border-radius: 12px 0 0 12px;
  max-height: 100dvh;
  height: 100dvh;
  width: min(650px, calc(100% - 28px));
  padding: 26px 32px;
  border: 0;
  border-left: 1px solid var(--line);
}
.detail-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 20px 0;
}
.detail-title {
  font-size: 28px !important;
  line-height: 1.35;
  overflow-wrap: anywhere;
  margin: 18px 0 !important;
}
.detail-tags {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 27px;
}
.properties {
  display: grid;
  grid-template-columns: 140px 1fr;
  font-size: 12px;
  gap: 17px 10px;
  padding: 23px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.properties dt {
  color: #818e99;
}
.properties dd {
  margin: 0;
}
.description,
.comments,
.activity {
  padding-top: 23px;
}
.description > p {
  font-size: 13px;
  color: #627483;
  line-height: 1.8;
}
.comment {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 17px;
  margin: 17px 0;
}
.comment-meta {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  font-size: 11px;
}
.comment p {
  font-size: 12px;
  margin: 10px 0 0;
}
.activity-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 11px;
  padding: 10px 0;
}
.activity-item > span {
  color: #7b93a7;
}
.activity-item strong {
  font-weight: 600;
}
.activity-item small {
  font-size: 10px;
  margin-top: 5px;
}
.global-search {
  margin: 0 0 12px;
  font-size: 16px;
}
.search-results {
  max-height: 50dvh;
  overflow: auto;
}
.search-results h3 {
  font-size: 11px;
  letter-spacing: 0.8px;
  margin: 20px 0 10px;
  color: #7a8d9d;
}
.search-result {
  display: block;
  background: white;
  border: 0;
  border-bottom: 1px solid var(--line);
  text-align: left;
  width: 100%;
  padding: 12px 5px;
  color: var(--ink);
}
.search-result:hover {
  background: #ecf3f8;
}
.search-result strong {
  font-size: 12px;
}
.search-result small {
  font-size: 10px;
  margin-top: 5px;
}
.import-preview {
  margin-top: 15px;
  max-height: 300px;
  overflow: auto;
  font-size: 12px;
}
.login {
  min-height: 100dvh;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, #dee7ef 0, #f2f6f9 65%);
  padding: 30px;
}
.login-card {
  width: min(100%, 460px);
  background: #fff;
  padding: 40px;
  border: 1px solid #d3dee7;
  border-radius: 15px;
  box-shadow: 0 20px 80px #22344310;
}
.login-mark {
  display: block;
  width: 190px;
  max-width: 100%;
  height: auto;
  margin: 0 auto 20px;
}
.login h1 {
  font-family: Editorial, Georgia, serif;
  font-size: 36px;
  line-height: 1.12;
  font-weight: 400;
  letter-spacing: -1.2px;
  white-space: pre-line;
  margin-bottom: 20px;
}
.login .muted {
  font-size: 13px;
  margin-bottom: 28px;
}
.login .eyebrow {
  font-size: 9px;
  letter-spacing: 1.4px;
}
.login .button.primary {
  width: 100%;
  margin-top: 7px;
}
.footnote {
  font-size: 10px;
  color: #8d9ca9;
  text-align: center;
  margin: 25px 0 0;
}
.boot {
  min-height: 100dvh;
  display: flex;
  gap: 18px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 25px;
  text-align: center;
}
.boot h1 {
  font-size: 24px;
}
.skip {
  position: fixed;
  left: 10px;
  top: -100px;
  z-index: 200;
  background: white;
  border: 2px solid var(--brand);
  padding: 12px;
}
.skip:focus {
  top: 10px;
}
#toasts {
  position: fixed;
  bottom: 25px;
  right: 25px;
  display: flex;
  flex-direction: column;
  gap: 9px;
  z-index: 150;
  max-width: min(440px, calc(100% - 40px));
}
.toast {
  border: 1px solid #334b5e;
  background: #1c3142;
  color: #dcebf7;
  padding: 15px 20px;
  border-radius: 8px;
  box-shadow: 0 8px 25px #10233225;
  font-size: 12px;
  line-height: 1.6;
  animation: arrive 0.2s ease-out;
}
.toast.error {
  background: #6d322c;
  color: #fff5ef;
  border-color: #8c4a42;
}
.mobile-menu {
  display: none;
}
@keyframes arrive {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (min-width: 1600px) {
  .content {
    padding-top: 55px;
  }
  .welcome {
    min-height: 290px;
    padding: 40px 45px;
  }
  .welcome-art {
    margin-right: 90px;
  }
  .welcome h2 {
    font-size: 44px;
  }
}
@media (max-width: 1150px) {
  .sidebar {
    width: 210px;
    padding-left: 12px;
    padding-right: 12px;
  }
  .brand strong {
    font-size: 21px;
  }
  .brand small {
    font-size: 7px;
  }
  .workspace {
    margin-left: 210px;
  }
  .content {
    padding: 32px 25px 60px;
  }
  .topbar {
    padding: 0 25px;
  }
  .overview-grid {
    grid-template-columns: 1fr;
  }
  .welcome-art {
    width: 220px;
  }
  .environment {
    display: none;
  }
  .metrics {
    gap: 10px;
  }
  .metric {
    padding: 20px 15px;
  }
  .row-project {
    display: none;
  }
  .page-heading h1 {
    font-size: 28px;
  }
  .settings-grid {
    grid-template-columns: 1fr;
  }
  .import-panel {
    grid-column: auto;
  }
}
@media (max-width: 800px) {
  .sidebar {
    width: 198px;
  }
  .workspace {
    margin-left: 198px;
  }
  .nav-link {
    font-size: 12px;
    padding-left: 11px;
  }
  .brand {
    gap: 6px;
    padding: 0 5px;
  }
  .brand strong {
    font-size: 19px;
  }
  .brand img {
    width: 28px;
    height: 28px;
  }
  .brand small {
    font-size: 6.5px;
  }
  .content {
    padding: 28px 20px 50px;
  }
  .topbar {
    padding: 0 20px;
  }
  .welcome-art {
    width: 140px;
    opacity: 0.55;
  }
  .orbit-one {
    left: -30px;
  }
  .orbit-two {
    left: -65px;
  }
  .art-check {
    left: 40px;
  }
  .welcome {
    padding: 29px;
  }
  .welcome h2 {
    font-size: 34px;
  }
  .welcome > div:first-child {
    z-index: 1;
  }
  .metrics {
    grid-template-columns: 1fr 1fr;
  }
  .page-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 20px;
  }
  .filterbar input {
    max-width: none;
    width: 100%;
  }
  .filterbar select {
    flex: 1;
    min-width: 100px;
    max-width: none;
  }
  .contact-email {
    display: none;
  }
  .feature-panel {
    padding: 27px;
  }
  .topbar-right {
    gap: 8px;
  }
  .topbar-right > .icon-button {
    display: none;
  }
  .breadcrumb {
    gap: 9px;
  }
  .topbar .compact {
    font-size: 10px;
    padding: 8px;
  }
  .row-date {
    display: none;
  }
  .project-grid {
    grid-template-columns: 1fr;
  }
  .demo-banner {
    padding: 18px;
    align-items: flex-start;
    flex-direction: column;
    gap: 15px;
  }
}
@media (max-width: 600px) {
  .sidebar {
    transform: translateX(-100%);
    transition: transform 0.18s ease;
    width: 238px;
    box-shadow: 10px 0 40px #0c202d33;
  }
  .sidebar.open {
    transform: translateX(0);
  }
  .sidebar.open:after {
    content: "";
    position: fixed;
    left: 238px;
    top: 0;
    width: calc(100vw - 238px);
    height: 100dvh;
    background: #11233140;
    pointer-events: none;
  }
  .sidebar .brand strong {
    font-size: 23px;
  }
  .sidebar .brand small {
    font-size: 8px;
  }
  .sidebar .brand img {
    width: 34px;
    height: 34px;
  }
  .sidebar .nav-link {
    font-size: 13px;
  }
  .workspace {
    margin-left: 0;
  }
  .mobile-menu {
    display: flex;
  }
  .topbar {
    height: 60px;
    padding: 0 14px;
    gap: 9px;
  }
  .breadcrumb {
    flex: 1;
    font-size: 11px;
  }
  .breadcrumb > span,
  .breadcrumb {
    color: #7c8994;
  }
  .topbar-right .compact {
    min-height: 34px;
    font-size: 11px;
  }
  .content {
    padding: 28px 18px 45px;
  }
  .page-heading {
    margin-bottom: 25px;
  }
  .page-heading h1 {
    font-size: 27px;
    line-height: 1.22;
  }
  .page-heading p {
    font-size: 12px;
    max-width: 330px;
  }
  .page-heading .eyebrow {
    font-size: 8px;
  }
  .welcome {
    padding: 27px 24px;
    min-height: 280px;
  }
  .welcome-art {
    width: 80px;
    position: absolute;
    right: 0;
    top: 65px;
    height: 180px;
    opacity: 0.28;
  }
  .welcome h2 {
    font-size: 36px;
  }
  .welcome p {
    font-size: 11px;
  }
  .metrics {
    margin: 18px 0 23px;
    gap: 10px;
  }
  .metric {
    padding: 20px 18px;
  }
  .metric-number {
    font-size: 28px;
  }
  .metric-label {
    font-size: 10px;
  }
  .metric-arrow {
    font-size: 15px;
    right: 14px;
  }
  .section-heading {
    padding: 17px;
    min-height: 58px;
  }
  .section-heading h2 {
    font-size: 13px;
  }
  .ticket-row {
    gap: 10px;
    padding: 15px 14px;
    flex-wrap: wrap;
  }
  .ticket-row .ticket-title {
    min-width: 130px;
  }
  .ticket-row .badge {
    font-size: 9px;
  }
  .ticket-row .status-dot {
    width: 10px;
    height: 10px;
  }
  .ticket-id {
    font-size: 10px;
  }
  .filterbar {
    gap: 8px;
  }
  .filterbar input {
    font-size: 14px;
    min-height: 42px;
  }
  .filterbar select {
    min-height: 40px;
  }
  .count {
    width: 100%;
    text-align: right;
  }
  .list-label {
    font-size: 8px;
    padding: 13px;
  }
  .list-label span {
    font-size: 7px;
  }
  .board-column {
    width: 265px;
  }
  .tabs {
    gap: 22px;
  }
  .contact-row {
    padding: 15px;
    gap: 12px;
  }
  .contact-row > .muted {
    max-width: 90px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .reminder-row {
    flex-wrap: wrap;
    padding: 16px;
    gap: 11px;
  }
  .reminder-row .badge {
    margin-left: 29px;
  }
  .reminder-main {
    flex: 1;
    min-width: 200px;
  }
  .feature-panel {
    padding: 25px;
  }
  .feature-panel h2 {
    font-size: 29px;
  }
  .feature-panel .button {
    white-space: normal;
    font-size: 12px;
  }
  .settings-panel {
    padding: 23px;
  }
  .entity-form {
    grid-template-columns: 1fr;
  }
  .entity-form > * {
    grid-column: 1 !important;
  }
  .form-footer {
    flex-wrap: wrap;
  }
  .form-footer .button {
    font-size: 11px;
    padding: 10px 12px;
  }
  .form-footer .danger {
    margin-right: auto;
  }
  .drawer {
    width: 100%;
    border-radius: 0;
    padding: 19px 23px;
  }
  .detail-title {
    font-size: 25px !important;
  }
  .properties {
    grid-template-columns: 110px 1fr;
    font-size: 11px;
  }
  .detail-heading {
    margin-top: 8px;
  }
  dialog {
    padding: 20px;
    width: calc(100% - 20px);
    max-height: calc(100dvh - 24px);
  }
  dialog h2 {
    font-size: 22px;
  }
  .login {
    padding: 15px;
  }
  .login-card {
    padding: 30px 26px;
  }
  .login h1 {
    font-size: 33px;
  }
  input,
  select,
  textarea {
    font-size: 16px;
  }
  .field {
    font-size: 12px;
  }
  .mobile-menu {
    z-index: 25;
  }
  .sidebar.open ~ .workspace .mobile-menu {
    position: fixed;
    left: 250px;
    top: 12px;
    background: white;
  }
  #toasts {
    bottom: 16px;
    right: 16px;
    max-width: calc(100% - 32px);
  }
}
@media (prefers-reduced-motion: reduce) {
  *,
  *:before,
  *:after {
    scroll-behavior: auto !important;
    transition: none !important;
    animation: none !important;
  }
}
/* Readable metadata and generous touch targets on handheld devices. */
:root {
  --muted: #69737c;
}
.ticket-id {
  color: #6b7883;
}
.badge {
  color: #4b6376;
}
.properties dt {
  color: #627483;
}
.metric-label {
  color: #69737c;
}
@media (max-width: 600px) {
  .button,
  .icon-button {
    min-height: 44px;
  }
  .icon-button {
    min-width: 44px;
  }
  .topbar-right .button.compact {
    min-height: 40px;
  }
  .sidebar .nav-link {
    min-height: 44px;
  }
  .tabs button {
    min-height: 44px;
  }
  .filterbar select {
    min-height: 44px;
  }
  .toast {
    padding: 12px 16px;
  }
}
.mail-toolbar {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 18px;
}
.mail-layout {
  display: grid;
  grid-template-columns: 150px minmax(220px, 0.8fr) minmax(280px, 1.2fr);
  gap: 16px;
  align-items: start;
}
.mail-folders {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.mail-folder {
  border: 0;
  border-radius: 6px;
  background: none;
  color: var(--body);
  text-align: left;
  padding: 11px;
  font-size: 12px;
  overflow-wrap: anywhere;
}
.mail-folder.active {
  background: #dde7ef;
  color: var(--brand);
  font-weight: 600;
}
.mail-message-list,
.mail-detail {
  background: white;
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow: hidden;
}
.mail-list-heading {
  padding: 17px;
  border-bottom: 1px solid var(--line);
  font-size: 12px;
}
.mail-list-heading small {
  margin-top: 8px;
}
.mail-message {
  display: block;
  background: white;
  border: 0;
  border-bottom: 1px solid var(--line);
  width: 100%;
  text-align: left;
  padding: 17px;
  font-size: 12px;
  color: var(--ink);
}
.mail-message:hover {
  background: #edf3f8;
}
.mail-message p {
  margin: 8px 0;
  font-size: 11px;
  overflow-wrap: anywhere;
}
.mail-message small {
  font-size: 10px;
}
.mail-subject {
  display: flex;
  align-items: center;
  gap: 8px;
  overflow-wrap: anywhere;
}
.mail-subject strong {
  font-size: 12px;
  line-height: 1.5;
  min-width: 0;
}
.mail-subject .unread-dot {
  flex-shrink: 0;
}
.mail-detail {
  padding: 24px;
}
.mail-detail h2 {
  font-size: 21px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.mail-detail .properties {
  grid-template-columns: 50px 1fr;
  line-height: 1.6;
  overflow-wrap: anywhere;
}
.mail-text {
  font-size: 12px;
  line-height: 1.9;
  margin: 25px 0;
}
.mail-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  padding: 12px;
  font-size: 10px;
}
.mail-pagination .button {
  font-size: 10px;
  padding: 7px;
  min-height: 33px;
}
@media (max-width: 1200px) {
  .mail-layout {
    grid-template-columns: 130px 1fr;
  }
  .mail-detail {
    grid-column: 1/-1;
  }
}
@media (max-width: 600px) {
  .mail-layout {
    grid-template-columns: 1fr;
  }
  .mail-folders {
    flex-direction: row;
    overflow: auto;
    max-width: 100%;
  }
  .mail-folder {
    flex-shrink: 0;
  }
  .mail-detail {
    padding: 19px;
  }
}
/* Real customer data can contain long names or uninterrupted identifiers. */
.user-card > div {
  min-width: 0;
  flex: 1;
}
.user-card strong {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.project-card h2,
.ticket-card h3,
.contact-name strong,
.reminder-main strong,
.page-heading h1 {
  overflow-wrap: anywhere;
}
.contact-name {
  min-width: 0;
}
.contact-email {
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 35%;
}
.badge {
  overflow: hidden;
  text-overflow: ellipsis;
}

/* MediConvey identity: original logo, blue navigation, cyan accents. */
.brand > img { border-radius: 7px; }
.login-card { border-top: 3px solid #0d86dd; }
.login { background: radial-gradient(ellipse at 15% 10%, #d9f5fc 0, transparent 55%), linear-gradient(135deg, #e6f0fc, #f7fbff 65%); }

.mail-setup-form { max-width: 420px; margin: 25px auto; text-align: left; }
.mail-setup-form [role="status"] { margin-top: 18px; font-size: 12px; overflow-wrap: anywhere; }

.mail-signature-preview { margin: 8px 0 22px; }
.mail-signature-preview > strong { display:block; margin-bottom:8px; font-size:12px; }
.mail-signature-preview iframe { width:100%; height:370px; background:white; border:1px solid var(--line); border-radius:8px; }
.mail-toolbar { flex-wrap:wrap; }

/* Scoped workspaces, mailbox management and measured quota. */
.status-dot.on_hold { border-color:#6b7ea7; background:#d9e2f5; border-style:dashed; }
.admin-user-card { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:20px; margin-bottom:12px; }
.admin-user-card > div { min-width:0; overflow-wrap:anywhere; }
.admin-user-card p { margin-bottom:7px; }
.admin-user-card h3 { margin-bottom:8px; }
.mailbox-toolbar { display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin-bottom:18px; }
.mailbox-toolbar .field { flex:1; min-width:180px; margin:0; }
.mailbox-toolbar select { width:100%; }
.mail-quota { padding:18px 20px; border:1px solid var(--line); border-radius:8px; background:#fff; margin:18px 0; }
.mail-quota p { margin:10px 0; font-size:12px; }
.mail-quota progress { width:100%; height:10px; accent-color:var(--brand); }
.mailbox-grants { margin:18px 0; }
.mailbox-grants[hidden] { display:none; }
.mailbox-grant-row { display:flex; gap:15px; align-items:center; border-bottom:1px solid var(--line); padding:12px 0; flex-wrap:wrap; }
.mailbox-grant-row > strong { min-width:110px; flex:1; }
.mailbox-grant-row .field { display:flex; flex-direction:row-reverse; align-items:center; gap:6px; margin:0; font-size:11px; }
@media(max-width:600px) { .admin-user-card { align-items:flex-start; flex-direction:column; } .mailbox-toolbar { align-items:stretch; } .mailbox-toolbar .field { width:100%; flex:auto; } .mail-quota { padding:16px; } }

.sidebar nav { overflow-y:auto; overflow-x:hidden; min-height:0; min-width:0; }
.sidebar .nav-link { width:100%; min-width:0; flex-shrink:0; overflow:hidden; }
.sidebar .nav-label { min-width:0; overflow:hidden; text-overflow:ellipsis; }
.field[hidden] { display:none; }
.import-job { margin-top:18px; }
.import-job progress { width:100%; accent-color:var(--brand); }
.import-contact { padding:14px 0; border-bottom:1px solid var(--line); overflow-wrap:anywhere; }
.import-contact p { margin:6px 0; }

.board-toolbar{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:18px 0}.board-toolbar .field{margin:0;min-width:220px}.permission-scroll{overflow:auto;max-height:45vh}.permission-table{width:100%;border-collapse:collapse;font-size:13px}.permission-table th,.permission-table td{padding:10px 8px;border-bottom:1px solid var(--line,#dce6ee);text-align:left}.permission-table td{text-align:center}.permission-table input{width:18px;height:18px;accent-color:#087fc6}.permission-table thead{position:sticky;top:0;background:#f3f8fc}.calendar-event{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid #dce6ee}.calendar-event small{display:block}.calendar-event .actions{flex-wrap:wrap}@media(max-width:600px){.board-toolbar .field{width:100%}.calendar-event{align-items:start;flex-direction:column}}

/* Account-scoped appearance. Brand assets and outgoing email signatures retain their original colors. */
:root[data-theme="light"] { color-scheme:light; }
:root[data-theme="dark"] {
  color-scheme:dark;
  --ink:#e5eef8; --body:#c5d3e2; --muted:#a4b5c8; --line:#30445b;
  --paper:#0b1422; --white:#152338; --side:#091321;
  --brand:#75c9ff; --brand-dark:#185a88; --ice:#173850; --danger:#ffaba0;
  background:var(--paper); color:var(--body);
}
:root[data-theme="dark"] :is(input,select,textarea) { background:#101e30; color:var(--ink); border-color:#415773; }
:root[data-theme="dark"] :is(input,textarea)::placeholder { color:#8da2b9; }
:root[data-theme="dark"] :is(.topbar,.panel,.metric,.ticket-row,.ticket-card,.project-card,.contact-row,.reminder-item,.notification-row,.feature-panel,.mail-message-list,.mail-detail,.mail-message,.mail-quota,dialog,.drawer) {
  background:var(--white); color:var(--body); border-color:var(--line);
}
:root[data-theme="dark"] .topbar { background:#0f1c2d; }
:root[data-theme="dark"] .button { background:#1c3048; color:var(--ink); border-color:#425b76; }
:root[data-theme="dark"] .button:hover { background:#28435f; border-color:#6e9abf; }
:root[data-theme="dark"] .button.primary { background:#0877c4; color:#fff; border-color:#168edc; }
:root[data-theme="dark"] .button.primary:hover { background:#0765a8; }
:root[data-theme="dark"] .button.dark { background:#185a88; color:#fff; }
:root[data-theme="dark"] .button.danger { color:var(--danger); border-color:#92534f; }
:root[data-theme="dark"] :is(.metric:hover,.ticket-row:hover,.contact-row:hover,.mail-message:hover,.notification-row.unread) { background:#1a304a; }
:root[data-theme="dark"] .welcome { background:linear-gradient(125deg,#16334f,#14283f); border-color:#345777; }
:root[data-theme="dark"] .welcome h2 { color:#e5f4ff; }
:root[data-theme="dark"] :is(.welcome p,.welcome .eyebrow,.breadcrumb,.environment,.metric-label,.ticket-id,.row-date,.card-meta,.contact-email,.properties dt,.dialog-top .icon-button,.project-meta,.column-empty,.empty p,.feature-panel p) { color:var(--muted); }
:root[data-theme="dark"] :is(.breadcrumb strong,.ticket-title,.reminder-main,.notification-title,.contact-name,.properties dd) { color:var(--ink); }
:root[data-theme="dark"] :is(.info-box,.mail-folder.active,.list-label,.segmented,.permission-table thead) { background:#19324b; border-color:#365878; color:var(--body); }
:root[data-theme="dark"] .segmented button { color:var(--muted); }
:root[data-theme="dark"] .segmented button.selected { background:#2b4b69; color:#f1f7ff; }
:root[data-theme="dark"] .badge { color:#c5e3fa; background:#263e57; }
:root[data-theme="dark"] .badge.urgent { color:#ffc1b6; background:#572e34; }
:root[data-theme="dark"] :is(.tabs button,.column-empty,.form-error) { color:var(--muted); }
:root[data-theme="dark"] .tabs button.active { color:var(--brand); }
:root[data-theme="dark"] .form-error { color:#ffaba0; }
:root[data-theme="dark"] :is(.calendar-event,.ticket-row,.contact-row,.import-contact,.permission-table th,.permission-table td) { border-color:var(--line); }
:root[data-theme="dark"] .filterbar input { background:#101e30; }
:root[data-theme="dark"] .avatar.light { background:#294866; color:#def1ff; }
:root[data-theme="dark"] dialog::backdrop { background:#020713c4; }
:root[data-theme="dark"] .notification-row .unread-dot { background:var(--brand); }
:root[data-theme="dark"] .status-dot.on_hold { background:#344665; border-color:#9db7e1; }
.personal-preferences .field:has(input[type="checkbox"]) { display:flex; align-items:center; justify-content:space-between; gap:18px; }
:root[data-theme="dark"] :is(.field > span,.field-label,.properties dt,.list-label) { color:var(--body); }

/* Responsive navigation: compact rail on desktop, dismissible drawer on touch devices. */
.mobile-menu.menu-toggle{display:flex;flex-shrink:0}.drawer-close{display:none}.nav-item{display:flex;align-items:center;gap:12px;width:100%;min-width:0}.nav-icon{width:22px;text-align:center;flex-shrink:0;font-size:18px}.nav-label{white-space:nowrap}.nav-count{margin-left:auto;font-size:11px}.nav-backdrop{display:none}.sharing-fields{border:1px solid var(--line);border-radius:10px;margin:20px 0;padding:16px;min-width:0}.sharing-fields legend{color:var(--ink);font-weight:600;padding:0 8px}.sharing-fields .field:has(input[type=checkbox]){display:flex;flex-direction:row-reverse;justify-content:flex-end;align-items:center;gap:12px;margin:10px 0}.sharing-fields input[type=checkbox]{flex-shrink:0}.permission-table thead{background:var(--paper)}[hidden]{display:none!important}
@media(min-width:901px){
 :root.nav-collapsed .sidebar{width:80px;padding-left:12px;padding-right:12px}
 :root.nav-collapsed .workspace{margin-left:80px}
 :root.nav-collapsed .sidebar .brand{justify-content:center;padding:0}
 :root.nav-collapsed .sidebar .brand>div,:root.nav-collapsed .nav-caption,:root.nav-collapsed .nav-label,:root.nav-collapsed .nav-count,:root.nav-collapsed .lab-dot,:root.nav-collapsed .user-card>div,:root.nav-collapsed .user-card .avatar{display:none}
 :root.nav-collapsed .nav-link{padding:12px 8px;justify-content:center}
 :root.nav-collapsed .nav-item{justify-content:center;gap:0}
 :root.nav-collapsed .nav-search{font-size:0;min-height:40px;text-align:center;padding:8px}
 :root.nav-collapsed .nav-search:before{content:'⌕';font-size:24px}
 :root.nav-collapsed .user-card{justify-content:center;padding:8px 0}
}
@media(max-width:900px){
 body.nav-open{overflow:hidden}
 .sidebar{width:238px;transform:translateX(-100%);transition:transform .18s ease;box-shadow:10px 0 40px #0c202d33;z-index:40;padding-top:max(24px,env(safe-area-inset-top));overflow-y:auto}
 .sidebar.open{transform:translateX(0)}.sidebar.open:after{display:none}
 .sidebar .brand{margin-top:26px}.sidebar .brand strong{font-size:23px}.sidebar .brand small{font-size:8px}.sidebar .brand img{width:34px;height:34px}
 .sidebar .nav-link{font-size:13px;min-height:44px}.sidebar .nav-label{display:inline}
 .workspace{margin-left:0!important;min-width:0}
 .drawer-close{display:flex;position:absolute;right:12px;top:10px;color:#fff;min-width:40px;min-height:40px}
 .nav-backdrop{display:block;position:fixed;inset:0;z-index:35;background:#071a32a6;border:0;padding:0;width:100%;height:100dvh}
 .sidebar.open~.workspace .mobile-menu{position:static;left:auto;top:auto;background:transparent}
 .topbar{gap:10px;padding-left:14px;padding-right:14px}.environment{display:none}
 .topbar-right{gap:6px}.content{min-width:0}.settings-grid{grid-template-columns:1fr}
 .button,.icon-button{min-height:42px}.permission-table{min-width:330px}.permission-scroll{max-width:100%}
 dialog .actions{flex-wrap:wrap}input,select,textarea{font-size:16px}
}
@media(max-width:420px){.breadcrumb{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-right>.compact{font-size:11px;padding:8px}.reminder-row{flex-wrap:wrap;gap:10px}.reminder-main{min-width:0;overflow-wrap:anywhere}.calendar-event .actions{width:100%}.sharing-fields{padding:10px}.form-footer{flex-wrap:wrap}}
.entity-form>.sharing-fields{grid-column:1/-1;width:100%}
.personal-preferences .field:has(input[type=checkbox]){display:flex;flex-direction:row-reverse;justify-content:flex-end;align-items:center;gap:12px}.personal-preferences .field:has(input[type=checkbox])>span{flex:1}.personal-preferences input[type=checkbox]{flex-shrink:0}

/* CRM search and permission-scoped recipient suggestions. */
.crm-search{display:flex;gap:12px;align-items:center;margin:20px 0;min-width:0}.crm-search input{flex:1;min-width:0}.crm-search .button{flex-shrink:0}
.recipient-field{position:relative;min-width:0;margin-bottom:19px}.recipient-field .field{margin-bottom:0}.recipient-options{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:5;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px #071a3226;max-height:220px;overflow-y:auto;overflow-x:hidden;padding:4px}
.recipient-options button{display:block;width:100%;min-width:0;text-align:left;border:0;background:transparent;color:inherit;padding:12px;border-radius:5px;cursor:pointer}.recipient-options button:hover,.recipient-options button[aria-selected=true]{background:var(--bg,#e7f3fc);outline:2px solid var(--brand);outline-offset:-2px}.recipient-options strong,.recipient-options small{display:block;overflow-wrap:anywhere}.recipient-options small{font-size:12px;margin-top:4px;font-weight:400}
@media(max-width:420px){.crm-search{flex-wrap:wrap}.crm-search input{flex-basis:100%}}

.mail-message-row{border-bottom:1px solid var(--line);min-width:0;padding-bottom:10px}.mail-message-row>.mail-message{width:100%}.mail-message-row>.button{margin:0 12px 0 auto;display:block;font-size:11px}

/* Calendar: Monday-first month and timed week/day, using existing workspace colours. */
.calendar-toolbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:20px 0}.calendar-controls{display:flex;gap:6px}.calendar-period{font-size:21px;margin:0;flex:1;min-width:180px}.calendar-modes{margin:0}.calendar-modes button{padding:9px 13px}.calendar-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--paper)}.calendar-weekday{padding:12px;text-align:center;font-size:12px;font-weight:600;border-bottom:1px solid var(--line);background:var(--bg,#f3f8fc)}.calendar-cell{min-width:0;min-height:112px;padding:6px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.calendar-cell:nth-child(7n){border-right:0}.calendar-cell.outside{background:var(--bg,#f3f8fc)}.calendar-cell.outside .calendar-date{opacity:.5}.calendar-cell-heading{display:flex;align-items:center;justify-content:space-between;gap:2px;margin-bottom:5px}.calendar-date,.calendar-add,.calendar-more{border:0;background:transparent;color:var(--ink);border-radius:5px;cursor:pointer;padding:5px;font-size:12px}.calendar-date{min-width:28px;min-height:28px;font-weight:600}.today .calendar-date{background:var(--brand);color:white;border-radius:50%}.calendar-add{color:var(--brand)}.calendar-chip{display:block;width:100%;min-width:0;border:0;border-left:3px solid var(--brand);border-radius:4px;background:#087fc614;color:var(--ink);padding:6px 4px;text-align:left;font-size:11px;margin:3px 0;cursor:pointer}.calendar-chip span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-more{font-size:10px;max-width:100%}.calendar-scope{font-size:12px;margin:16px 0}.calendar-connections{border:1px solid var(--line);border-radius:8px;padding:14px;margin-bottom:20px}.calendar-connections summary{cursor:pointer;font-size:13px;margin-bottom:12px}.calendar-agenda{padding:18px;margin-top:20px}.calendar-agenda h3{font-size:15px}.calendar-time-scroll{overflow:auto;max-height:68vh;border:1px solid var(--line);border-radius:10px;background:var(--paper)}.calendar-time-grid{display:grid;position:relative;grid-template-columns:54px repeat(7,minmax(90px,1fr));min-width:690px}.calendar-time-grid.day{grid-template-columns:54px minmax(0,1fr);min-width:0}.calendar-time-heading,.calendar-time-corner{position:sticky;top:0;z-index:3;padding:10px 5px;background:var(--paper);border-bottom:1px solid var(--line);font-size:12px;text-align:center}.calendar-time-heading.today{box-shadow:inset 0 -3px var(--brand)}.calendar-time-heading strong{display:block}.calendar-hour-labels{position:relative;height:1152px;font-size:10px;color:var(--body);border-right:1px solid var(--line)}.calendar-hour-labels span{position:absolute;left:7px}.calendar-time-day{height:1152px;position:relative;border-right:1px solid var(--line);background:repeating-linear-gradient(to bottom,transparent 0,transparent 47px,var(--line) 47px,var(--line) 48px)}.calendar-time-event{position:absolute;min-width:0;border:1px solid var(--brand);border-left:3px solid var(--brand);border-radius:4px;background:var(--paper);color:var(--ink);font-size:11px;text-align:left;padding:3px;overflow:hidden;cursor:pointer;box-shadow:0 1px 4px #087fc61a}.calendar-time-event span{overflow-wrap:anywhere}.calendar-time-event:hover,.calendar-chip:hover{outline:2px solid var(--brand);outline-offset:-2px}
@media(max-width:600px){.calendar-period{order:-1;flex-basis:100%;font-size:19px}.calendar-toolbar{gap:10px}.calendar-toolbar>.primary{margin-left:auto}.calendar-cell{min-height:88px;padding:3px}.calendar-weekday{padding:9px 1px;font-size:10px}.calendar-date,.calendar-add{padding:3px;min-width:22px;font-size:11px}.calendar-chip{font-size:9px;padding:4px 2px;border-left-width:2px}.calendar-more{padding:2px;font-size:9px}.calendar-agenda{padding:12px}.calendar-cell-heading{gap:0}.calendar-month .calendar-add{display:none}}

/* Compact mail actions and drag targets. */
.mail-message-row{position:relative;padding-bottom:0;transition:background .15s,opacity .15s;border-left:3px solid transparent}.mail-message-row>.mail-message{padding-right:82px;min-height:106px}.mail-message-row:hover{background:#087fc608}.mail-message-row.is-selected{background:#087fc610;border-left-color:var(--brand)}.mail-message-row[draggable=true]{cursor:grab}.mail-message-row.dragging{opacity:.45}.mail-row-actions{position:absolute;right:8px;top:14px;display:flex;gap:3px}.mail-action{display:flex;align-items:center;justify-content:center;width:31px;height:34px;border:0;border-radius:6px;background:transparent;color:var(--body);cursor:pointer;opacity:.7;transition:background .15s,color .15s,opacity .15s}.mail-action:hover,.mail-action:focus-visible{background:#087fc614;color:var(--brand);opacity:1}.mail-action.trash:hover{background:#db434314;color:#bf3434}.mail-action:disabled{opacity:.3;cursor:wait}.mail-message-list[aria-busy=true]{opacity:.7;pointer-events:none}.mail-folder-content{display:flex;align-items:center;gap:9px;min-width:0}.mail-folder-content>svg{flex-shrink:0;width:16px}.mail-folder-content>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mail-folders .mail-folder{padding-left:calc(12px + var(--folder-depth,0)*12px);transition:background .15s,box-shadow .15s;min-width:0}.mail-folders.accepts-mail{outline:1px dashed var(--brand);outline-offset:4px;border-radius:7px}.mail-folder.drop-target{background:#087fc626!important;box-shadow:inset 0 0 0 2px var(--brand);color:var(--brand)}
@media(pointer:coarse){.mail-action{width:40px;height:42px}.mail-message-row>.mail-message{padding-right:98px}}@media(max-width:600px){.mail-row-actions{right:5px;top:10px}.mail-list-heading small{line-height:1.6}.mail-folders .mail-folder{max-width:200px}}

.mail-message-row:has(.mail-select)>.mail-message{padding-left:40px}.mail-select{position:absolute;left:12px;top:19px;width:16px;height:16px;accent-color:var(--brand);z-index:1;cursor:pointer}.mail-message-row.checked{background:#087fc612;border-left-color:var(--brand)}.mail-bulk-toolbar{display:flex;align-items:center;gap:8px;padding:12px;border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:2}.mail-bulk-toolbar>input{width:17px;height:17px;accent-color:var(--brand);flex-shrink:0}.mail-selection-count{font-size:11px;color:var(--body);flex:1;min-width:0}.mail-bulk-toolbar .button{font-size:11px;padding:7px 9px}.mail-bulk-toolbar .mail-action{flex-shrink:0}.mail-action:disabled:hover{background:transparent;color:var(--body)}

.calendar-chip>span{display:flex;gap:4px;align-items:center}.calendar-chip time{flex-shrink:0}.calendar-chip b{font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:600px){.calendar-chip time{display:none}}

.mail-settings{border:1px solid var(--line);border-radius:10px;background:var(--paper);margin:20px 0;padding:0 18px}.mail-settings-summary{display:flex;align-items:center;gap:14px;cursor:pointer;list-style:none;padding:16px 0;min-width:0}.mail-settings-summary::-webkit-details-marker{display:none}.mail-settings-summary:before{content:'›';color:var(--brand);font-size:22px;transition:transform .15s;flex-shrink:0}.mail-settings[open]>.mail-settings-summary:before{transform:rotate(90deg)}.mail-settings-summary>strong{font-size:13px;flex-shrink:0}.mail-settings-summary>span{font-size:12px;color:var(--body);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}.mail-settings-quota{font-size:11px;color:var(--body);white-space:nowrap}.mail-settings[open]>.mail-settings-summary{margin-bottom:16px;border-bottom:1px solid var(--line)}.mail-settings>.mail-quota{margin-bottom:18px}.mail-settings>.info-box{margin-top:12px}@media(max-width:600px){.mail-settings-summary{gap:8px;flex-wrap:wrap}.mail-settings-summary>span{flex-basis:calc(100% - 30px);margin-left:22px}.mail-settings-quota{margin-left:22px}.mail-settings{padding:0 12px}}

.calendar-sync-toolbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 16px}.calendar-sync-toolbar .field{margin:0;flex:1;min-width:180px;max-width:380px}.calendar-all-day{display:flex;flex-direction:column;gap:2px;margin-top:4px;max-height:130px;overflow:auto}.calendar-all-day .calendar-chip{margin:0}.calendar-all-day .calendar-chip time{display:none}@media(max-width:600px){.calendar-sync-toolbar{align-items:flex-end}.calendar-sync-toolbar .field{max-width:none}}

/* UX polish: labeled controls share a baseline, without fixed label offsets. */
.calendar-sync-toolbar,.mailbox-toolbar{align-items:flex-end}
.calendar-sync-toolbar>.button,.mailbox-toolbar>.button{min-height:40px}
.mailbox-toolbar>.field{margin-bottom:0}
.mail-response-actions{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}
.mail-response-actions .button{font-size:12px;min-height:40px;padding:9px 12px}
.mail-attachments{display:flex;flex-wrap:wrap;gap:8px;padding:14px 0;border-bottom:1px solid var(--line)}
.mail-attachments>strong{flex-basis:100%;font-size:12px}
.attachment-download{white-space:normal;overflow-wrap:anywhere;max-width:100%;justify-content:flex-start;text-align:left;font-size:12px}
.mail-attachment-picker{border:1px dashed var(--line);border-radius:8px;padding:16px;margin:20px 0}
.mail-attachment-picker.is-over{border-color:var(--brand);background:#087fc610}
.mail-attachment-picker .field{margin:0}.mail-attachment-picker input[type=file]{font-size:12px;max-width:100%;padding:10px;background:var(--paper)}
.mail-attachment-picker input::file-selector-button{border:0;border-radius:5px;background:var(--brand);color:white;padding:9px 12px;margin-right:10px;cursor:pointer}
.mail-compose-file{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding:8px 0;font-size:12px}
.mail-compose-file>span{flex:1;min-width:0;overflow-wrap:anywhere}.mail-compose-file>.icon-button{flex-shrink:0}
.mail-signature-preview summary{cursor:pointer;font-size:12px;color:var(--body);padding:8px 0}
.mail-signature-preview[open] summary{margin-bottom:8px}
.mail-compose-dialog .actions{position:sticky;bottom:-28px;z-index:4;background:var(--paper);padding:14px 0 4px;border-top:1px solid var(--line)}
.mail-text{overflow-wrap:anywhere}.mail-detail .properties dd{min-width:0}
.sidebar .nav-label{line-height:1.4}
@media(min-width:901px){:root:not(.nav-collapsed) .sidebar .nav-label{white-space:normal;text-overflow:clip}.sidebar .nav-link{min-height:46px}}
@media(max-width:600px){.calendar-sync-toolbar{gap:10px}.calendar-sync-toolbar>.button{flex-shrink:0}.mailbox-toolbar>.button{flex:1;white-space:normal}.mail-response-actions .button{flex:1 1 120px}.mail-compose-dialog .actions{bottom:-20px;flex-wrap:wrap}.mail-compose-dialog .actions>.button{flex:1;white-space:normal;min-height:44px}.mail-detail h2{font-size:19px}.mail-detail .properties{grid-template-columns:42px minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

:root:not([data-theme="dark"]){--muted:#65717d}
.administration-layout>.panel{margin-bottom:20px}
.mail-text{font-size:14px;line-height:1.8}.mail-message p{font-size:12px}.mail-message small{font-size:11px}.mail-subject strong,.mail-folder{font-size:13px}
.board{scrollbar-width:auto;scrollbar-color:#91a7b9 transparent}.board::-webkit-scrollbar{height:9px}.board::-webkit-scrollbar-thumb{background:#91a7b9;border-radius:8px}

.mail-compose-dialog{width:min(800px,calc(100% - 32px));max-width:800px}.mail-compose-dialog>h2{margin-bottom:20px}.mail-compose-dialog form>.muted{font-size:12px;line-height:1.6}.mail-attachment-picker .muted>.button{display:block;margin-top:10px;white-space:normal}
:root[data-theme="dark"] .calendar-weekday,:root[data-theme="dark"] .calendar-cell.outside{background:#14253a}
:root[data-theme="dark"] .calendar-cell.outside .calendar-date{opacity:.65}

/* Integrated Checkpoint tool directory: one clear entry, task-based clusters. */
.tool-connection-note{display:flex;gap:14px;border:1px solid var(--line);border-radius:9px;background:var(--paper);padding:16px 18px;margin:0 0 24px;font-size:12px}.tool-connection-note strong{color:var(--ink)}.tool-connection-note p{margin:5px 0 0;line-height:1.65;color:var(--body)}.tool-connection-mark{font-size:24px;color:var(--brand)}
.tool-catalog-toolbar{display:flex;align-items:center;gap:20px;margin:0 0 16px}.tool-search{width:100%;max-width:510px;min-height:44px}.tool-result-count{font-size:12px;margin-left:auto;white-space:nowrap}.tool-filters{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:30px}.tool-filter{background:transparent;color:var(--body);border:1px solid var(--line);border-radius:6px;padding:9px 13px;font-size:12px;min-height:38px}.tool-filter.active{color:var(--brand);border-color:var(--brand);background:#087fc60a}.tool-filter:hover{background:#087fc60d}
.tool-section{margin-bottom:30px}.tool-section>h2{font-size:15px;letter-spacing:.1px;margin-bottom:14px}.tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.tool-card{padding:20px;text-align:left;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);min-width:0;transition:box-shadow .15s,border-color .15s,transform .15s}.tool-card:hover{border-color:var(--brand);box-shadow:0 5px 20px #102d4910;transform:translateY(-2px)}.tool-card-content{display:flex;gap:13px;height:100%}.tool-card-icon{display:flex;align-items:center;justify-content:center;width:35px;height:35px;border-radius:8px;background:#087fc60c;color:var(--brand);font-size:22px;flex-shrink:0}.tool-card-copy{display:flex;flex:1;min-width:0;flex-direction:column}.tool-card-copy>strong{font-size:14px;line-height:1.5;margin-bottom:7px;overflow-wrap:anywhere}.tool-card-copy>span{font-size:12px;line-height:1.7;color:var(--body);margin-bottom:16px}.tool-card-copy>small{font-size:10px;color:var(--muted);margin-top:auto}.tool-card-arrow{font-size:18px;color:var(--brand);align-self:flex-end}
.tool-viewer{min-width:0}.tool-viewer-toolbar{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:22px}.tool-viewer-toolbar>.field{flex:1;max-width:380px;min-width:180px;margin:0}.tool-viewer-toolbar>.button{min-height:40px}.tool-viewer-heading h1{font-size:27px;margin:0 0 8px;overflow-wrap:anywhere}.tool-viewer-heading p{font-size:13px;line-height:1.7}.tool-viewer-connection{font-size:12px;padding:12px 15px;background:#087fc608;border:1px solid var(--line);border-radius:7px;margin:18px 0 8px}.tool-viewer-status{display:flex;align-items:center;gap:12px;justify-content:space-between;margin:0 0 14px}.tool-launch-status{font-size:11px;color:var(--muted);margin:0}.tool-viewer-status .button{font-size:11px;padding:7px 10px;min-height:34px}.internal-tool-frame{display:block;width:100%;height:75vh;min-height:620px;border:0;background:var(--paper);border-radius:8px}.tool-viewer.is-focused{position:fixed;inset:0;z-index:60;background:var(--paper);padding:20px 30px;overflow:auto}.tool-viewer.is-focused .internal-tool-frame{height:calc(100dvh - 215px);min-height:360px}.tool-viewer.is-focused .tool-viewer-heading{display:none}
@media(max-width:1200px){.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.tool-grid{grid-template-columns:1fr}.tool-card{padding:17px}.tool-catalog-toolbar{flex-wrap:wrap;gap:6px}.tool-result-count{margin:0;font-size:11px}.tool-filters{gap:6px}.tool-filter{font-size:11px;padding:8px 10px}.tool-viewer-toolbar{gap:10px}.tool-viewer-toolbar>.field{order:-1;width:100%;max-width:none;flex-basis:100%}.tool-viewer-heading h1{font-size:23px}.tool-viewer-status{align-items:flex-start}.internal-tool-frame{min-height:700px}.tool-viewer.is-focused{padding:12px}.tool-viewer.is-focused .internal-tool-frame{height:calc(100dvh - 270px)}}
:root[data-theme=dark] .tool-card{background:#17283c}:root[data-theme=dark] .tool-connection-note{background:#17283c}

/* Mobile mail: list → reader, never stack a message below the inbox. */
.mail-back,.mail-mobile-folder{display:none}
.mail-detail:focus{outline:none}
@media(max-width:1200px){
 .mail-workspace:not(.is-reading) .mail-detail{display:none}
 .mail-workspace.is-reading>.mail-settings,.mail-workspace.is-reading>.mail-toolbar,
 .mail-workspace.is-reading .mail-folders,.mail-workspace.is-reading .mail-message-list,
 .mail-workspace.is-reading .mail-mobile-folder,.webmail-view.is-reading>.page-heading{display:none}
 .mail-workspace.is-reading .mail-layout{grid-template-columns:minmax(0,1fr)}
 .mail-workspace.is-reading .mail-detail{grid-column:1/-1;min-width:0;overflow:visible}
 .mail-back{display:flex;align-items:center;min-height:46px;max-width:100%;white-space:normal;text-align:left;position:sticky;top:8px;z-index:3;margin:0 0 22px;background:var(--paper);border-color:var(--line);box-shadow:0 4px 16px #102d4910}
 .mail-detail h2{margin-top:0}
 .mail-text{font-size:15px;line-height:1.85}
}
@media(max-width:600px){
 .mail-mobile-folder{display:block;min-width:0}
 .mail-mobile-folder label{margin:0}
 .mail-mobile-folder select{width:100%;min-height:46px;font-size:15px;background:var(--paper)}
 .mail-workspace .mail-folders{display:none}
 .mail-workspace .mail-layout{gap:12px}
 .mail-workspace .mail-settings-summary{padding:14px 16px}
 .mail-workspace .mail-message-row>.mail-message{min-height:96px;padding-top:14px;padding-bottom:14px}
 .mail-workspace .mail-list-heading{padding:14px 16px}
 .mail-workspace .mail-list-heading small{font-size:11px}
 .mail-workspace.is-reading .mail-detail{padding:16px;border-radius:12px}
 .mail-back{top:8px;font-size:14px}
 .mail-response-actions{gap:6px}
 .mail-response-actions .button{font-size:12px;min-height:44px;flex:1 1 100px}
}

/* v31: compact task frame and touch controls; navigation dividers stay untouched. */
.tool-viewer-toolbar > .button,
.tool-viewer-toolbar select,
.tool-viewer-status .button { min-height:44px; }
.tool-viewer-toolbar { gap:10px; padding-bottom:14px; margin-bottom:14px; }
.tool-viewer-heading p { margin-top:0; margin-bottom:12px; }
.tool-viewer.is-focused { padding:16px 24px max(16px,env(safe-area-inset-bottom)); }
.tool-viewer.is-focused .internal-tool-frame { height:calc(100dvh - 150px); min-height:360px; }
.tool-viewer-status[hidden] { display:none; }
@media(max-width:800px) {
  .tool-viewer-toolbar { align-items:flex-end; gap:8px; padding-bottom:8px; margin-bottom:8px; }
  .tool-viewer-toolbar > .field { order:0; width:auto; max-width:none; flex:1 1 140px; min-width:120px; }
  .tool-viewer-toolbar > .button { flex:0 1 auto; font-size:12px; padding:10px 12px; }
  .tool-viewer-heading h1 { font-size:21px; margin-bottom:6px; }
  .tool-viewer-heading p { font-size:12px; line-height:1.5; }
  .internal-tool-frame { min-height:620px; border-radius:6px; }
  .tool-viewer.is-focused { padding:10px max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left)); }
  .tool-viewer.is-focused .internal-tool-frame { height:calc(100dvh - 164px); min-height:320px; }
  :is(.button,.button.compact,.text-button,.icon-button,.segmented button,.tool-filter,.tool-card-open,.calendar-controls button,.calendar-modes button,.calendar-sync-toolbar>.button,.mailbox-toolbar>.button) { min-height:44px; }
  .icon-button { min-width:44px; }
  .segmented { flex-wrap:wrap; }
  .segmented button { flex:1 1 auto; }
  .calendar-controls { gap:6px; }
  .calendar-controls .icon-button { min-width:44px; }
  .calendar-toolbar { gap:10px; align-items:center; }
  .calendar-modes { flex-wrap:wrap; }
  .calendar-modes button { padding:10px 12px; }
  .calendar-sync-toolbar { align-items:flex-end; }
  .calendar-sync-toolbar .field { min-width:150px; }
  .calendar-agenda .actions,.reminder-row .actions { gap:8px; }
}
@media(max-width:420px) {
  .tool-viewer-toolbar>.button { padding:10px; font-size:11px; }
  .tool-viewer-toolbar>.field { flex-basis:130px; }
  .tool-viewer-toolbar label { font-size:11px; }
}
.tool-leave-dialog { width:min(440px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); padding:24px; border:1px solid var(--line); border-radius:12px; background:var(--paper); color:var(--body); box-shadow:0 20px 60px #102d4933; overflow:auto; }
.tool-leave-dialog::backdrop { background:#102d4980; }
.tool-leave-dialog h2 { margin:0 0 12px; color:var(--ink); font-size:21px; }
.tool-leave-dialog p { line-height:1.6; margin:0 0 20px; }
.tool-leave-dialog .actions { gap:10px; justify-content:flex-end; }
.tool-leave-dialog .button { min-height:44px; white-space:normal; }
.tool-leave-dialog .button:focus-visible { outline:3px solid var(--brand); outline-offset:3px; }
@media(max-width:420px) { .tool-leave-dialog { padding:20px; } .tool-leave-dialog .actions>.button { flex:1 1 140px; } }
.tool-card-wrap { position:relative; min-width:0; display:grid; }
.tool-card-wrap:has(> .tool-card[data-tool-id="assistant"]) { grid-column:1 / -1; }
.tool-card-wrap>.tool-card { width:100%; height:100%; padding-right:68px; }
.tool-card-wrap .tool-card-arrow { margin-right:-46px; }
.tool-favorite-toggle { position:absolute; right:10px; top:10px; z-index:1; width:44px; height:44px; border:1px solid var(--line); border-radius:8px; background:var(--paper); color:var(--body); font-size:24px; display:grid; place-items:center; }
.tool-favorite-toggle:hover { color:var(--brand); border-color:var(--brand); background:var(--ice); }
.tool-favorite-toggle[aria-pressed=true] { color:var(--brand); border-color:var(--brand); }
.tool-favorite-toggle:focus-visible { outline:3px solid var(--brand); outline-offset:3px; }
.tool-filters-row { display:flex; gap:12px; flex-wrap:wrap; align-items:flex-start; margin-bottom:24px; }
.tool-filters-row .tool-filters { flex:1 1 440px; margin-bottom:0; }
.tool-favorites-filter { min-height:44px; border:1px solid var(--line); background:var(--paper); color:var(--body); border-radius:7px; padding:9px 13px; }
.tool-favorites-filter[aria-pressed=true] { color:var(--brand); border-color:var(--brand); background:var(--ice); }
:root[data-theme=dark] .tool-favorite-toggle { background:#17283c; }
:root[data-theme=dark] .tool-favorite-toggle:hover { background:#20374f; }
@media(max-width:600px) { .tool-card-wrap>.tool-card { padding-right:66px; } .tool-filters-row { gap:8px; margin-bottom:20px; } }

/* Mail attachments: filename/size remain readable, preview and download distinct. */
.mail-attachments{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
.mail-attachment-row{display:flex;align-items:center;gap:16px;padding:12px;border:1px solid var(--line);border-radius:8px;min-width:0;background:var(--paper)}
.mail-attachment-info{display:grid;gap:5px;flex:1;min-width:0;overflow-wrap:anywhere}
.mail-attachment-info>strong{font-size:13px;line-height:1.45;font-weight:650}
.mail-attachment-info>small{font-size:12px;font-variant-numeric:tabular-nums}
.mail-attachment-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex-shrink:0}
.mail-attachment-actions .button{min-height:44px;font-size:12px;white-space:normal}
.mail-preview-dialog{width:min(1120px,calc(100vw - 32px));max-width:1120px;max-height:calc(100dvh - 32px);padding:24px;overflow:auto;background:var(--paper);color:var(--body)}
.mail-preview-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.mail-preview-header>div{min-width:0;flex:1}
.mail-preview-header h2{font-size:22px;line-height:1.35;overflow-wrap:anywhere;margin:0 0 6px}
.mail-preview-header p{margin:0;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.mail-preview-header>.button{flex-shrink:0;min-height:44px}
.mail-preview-actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 12px}
.mail-preview-actions .button{min-height:44px;white-space:normal}
.mail-preview-actions [hidden]{display:none}
.mail-preview-status{font-size:13px;line-height:1.6;margin:10px 0}
.mail-preview-content{position:relative;min-width:0;max-width:100%;min-height:160px;border:1px solid var(--line);border-radius:8px;background:var(--paper);overflow:auto;overscroll-behavior:contain}
.mail-preview-content:focus-visible{outline:3px solid var(--brand);outline-offset:3px}
.mail-preview-content>iframe{display:block;width:100%;height:min(68dvh,800px);min-height:320px;border:0;background:white}
.mail-preview-content img{display:block;max-width:100%;height:auto;max-height:68dvh;object-fit:contain;margin:auto}
.mail-preview-content[aria-busy=true]{min-height:160px}
@media(max-width:600px){
 .mail-attachment-row{flex-wrap:wrap;gap:10px;padding:12px}
 .mail-attachment-info{flex-basis:100%}
 .mail-attachment-actions{width:100%}
 .mail-attachment-actions>.button{flex:1}
 .mail-preview-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);padding:16px;margin:auto}
 .mail-preview-header{gap:12px;align-items:flex-start}
 .mail-preview-header h2{font-size:18px}
 .mail-preview-actions>.button{flex:1 1 130px;justify-content:center}
 .mail-preview-content>iframe{height:64dvh;min-height:260px}
}
.mail-preview-canvas{min-width:0;max-width:100%;overflow:auto}
.mail-preview-image{width:100%;padding:12px}
.mail-preview-pdf{display:block;width:100%;max-height:68dvh;min-height:160px;overflow:auto;overscroll-behavior:contain;background:#dfe5ec;padding:12px;border:0}
.mail-preview-pdf-pages{display:grid;justify-items:center;gap:12px;min-width:0}
.mail-preview-pdf-page{display:block;max-width:100%;height:auto;margin:0 auto 12px;background:white;box-shadow:0 2px 8px #102d4926}
.mail-preview-pdf-page:last-child{margin-bottom:0}
.mail-preview-text{padding:clamp(16px,4vw,42px);background:white;color:#253748;font-size:15px;line-height:1.65;overflow-wrap:anywhere;max-width:900px;margin:auto}
.mail-preview-text p:first-child{margin-top:0}.mail-preview-text p:last-child{margin-bottom:0}
.mail-preview-text table{border-collapse:collapse;max-width:100%;font-size:13px}
.mail-preview-text :is(td,th){border:1px solid #ccd5df;padding:7px 10px;vertical-align:top}
.mail-preview-sheet{overflow:auto;max-width:100%;max-height:64dvh;padding:12px;background:var(--white)}
.mail-preview-sheet table{border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}
.mail-preview-sheet :is(td,th){border:1px solid var(--line);padding:8px 10px;min-width:70px;max-width:360px;white-space:pre-wrap;overflow-wrap:anywhere;text-align:left;vertical-align:top}
.mail-preview-sheet th{background:var(--paper);font-weight:650;position:sticky;top:0}
.mail-preview-tabs{display:flex;gap:6px;overflow-x:auto;padding:10px;border-bottom:1px solid var(--line)}
.mail-preview-tabs button{border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink);min-height:44px;padding:8px 14px;white-space:nowrap;cursor:pointer}
.mail-preview-tabs button[aria-selected=true],.mail-preview-tabs button[aria-pressed=true]{background:var(--brand);border-color:var(--brand);color:white}
.mail-preview-tabs button:focus-visible{outline:3px solid var(--brand);outline-offset:2px}
.mail-preview-notice{padding:12px 14px;font-size:12px;line-height:1.6;color:var(--muted);background:var(--paper);border-bottom:1px solid var(--line);margin:0}
@media(max-width:600px){.mail-preview-pdf{max-height:62dvh;min-height:160px;padding:8px}.mail-preview-sheet{padding:8px}.mail-preview-text{padding:16px}}
.mail-preview-pdf-sheet{width:100%;min-width:0}
.mail-preview-pdf-sheet>h3{font-size:13px;line-height:1.5;margin:0 0 10px;color:#344d63}
.mail-preview-pdf-text{background:white;color:#253748;padding:0 12px;border:1px solid #ccd5df;border-radius:6px;font-size:13px;line-height:1.6;margin:10px 0 0}
.mail-preview-pdf-text>summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-weight:600}
.mail-preview-pdf-text>summary:focus-visible{outline:3px solid var(--brand);outline-offset:2px}
.mail-preview-pdf-text>p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 12px}

/* Mail body: formatting stays inside an isolated document, not the app DOM. */
.mail-body-view{min-width:0;max-width:100%;padding-top:16px}
.mail-body-controls{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px}
.mail-body-controls>.button{min-height:44px;white-space:normal}
.mail-body-controls>.button[aria-pressed=true]{background:var(--brand);color:white;border-color:var(--brand)}
.mail-body-status,.mail-body-notice{font-size:12px;line-height:1.6;margin:0 0 12px}
.mail-html-content{min-width:0;width:100%;max-width:100%;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:white;color:#253748}
.mail-html-content>iframe{display:block;width:100%;min-height:200px;max-width:100%;border:0;background:white}
.mail-body-view [hidden],.mail-attachments [hidden]{display:none}
.mail-attachment-list{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;min-width:0}
.mail-inline-assets{min-width:0;border:1px solid var(--line);border-radius:8px;padding:0 12px}
.mail-inline-assets>summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-size:12px;line-height:1.5;color:var(--muted);font-weight:600}
.mail-inline-assets>summary:focus-visible{outline:3px solid var(--brand);outline-offset:2px}
.mail-inline-assets>.mail-attachment-list{padding-bottom:12px}
@media(max-width:600px){.mail-body-controls>.button{flex:1}.mail-body-view{padding-top:12px}.mail-inline-assets{padding:0 10px}}
.mail-inline-assets>summary::before{content:'›';font-size:20px;line-height:1;margin-right:8px;color:var(--brand)}
.mail-inline-assets[open]>summary::before{content:'⌄'}

.time-page { display:grid; gap:20px; min-width:0; }
.time-tabs,.time-quick { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.time-capture,.time-filters,.time-team,.time-categories,.time-ledger,.time-category-settings,.time-ticket { padding:20px; min-width:0; }
.time-entry-form { display:grid; gap:16px; min-width:0; container-type:inline-size; }
.time-entry-form .form-error:empty { display:none; }
.time-form-grid > .field,.time-filter-grid > .field { min-width:0; margin:0; align-self:end; }
.time-form-grid > .field:last-child { grid-column:1/-1; }
.time-form-grid .field > span,.time-filter-grid .field > span { overflow-wrap:anywhere; }
.time-entry-form :is(input,select),.time-filter-grid :is(input,select) { min-width:0; max-width:100%; min-height:44px; }
/* iPad date widgets have intrinsic native sizing unlike desktop WebKit.
   Constrain the widget itself, including its native value box, to its track. */
.time-entry-form input[type="date"],.time-filter-grid input[type="date"] {
 -webkit-appearance:none; appearance:none; display:block;
 box-sizing:border-box; width:100%; inline-size:100%; min-width:0;
 max-width:100%; min-inline-size:0; max-inline-size:100%;
 height:44px; padding:10px 8px; overflow:hidden; text-align:left;
}
.time-entry-form input[type="date"]::-webkit-date-and-time-value,
.time-filter-grid input[type="date"]::-webkit-date-and-time-value {
 min-width:0; margin:0; text-align:left;
}
.time-entry-form > .field { min-width:0; margin:0; }
.time-capture > p:last-child { margin:16px 0 0; }
.time-filters > .actions { margin-top:16px; }
.time-category-settings form.actions { flex-wrap:wrap; margin-top:16px; }
.time-category-settings form.actions > input { flex:1 1 220px; min-width:0; width:auto; }
.time-form-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:16px; min-width:0; }
@container (min-width:480px) { .time-form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@container (min-width:480px) and (max-width:759px) { .time-form-grid > .field:nth-child(3) { grid-column:1/-1; } }
@container (min-width:760px) { .time-form-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
.time-filter-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); gap:16px; min-width:0; }
.time-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.time-stat { padding:20px; display:grid; gap:8px; }
.time-stat strong { font-size:28px; letter-spacing:-.8px; }
.time-table-scroll { overflow:auto; }
.time-table { width:100%; border-collapse:collapse; text-align:left; font-size:13px; }
.time-table :is(th,td) { padding:14px 10px; border-bottom:1px solid var(--line); vertical-align:top; }
.time-table small { display:block; margin-top:5px; }
.time-table td { overflow-wrap:anywhere; max-width:280px; }
.time-row-actions { display:flex; gap:6px; flex-wrap:wrap; min-width:120px; }
.time-canceled { opacity:.65; }
.time-person { display:flex; gap:16px; justify-content:space-between; flex-wrap:wrap; padding:12px 0; border-bottom:1px solid var(--line); }
.time-category { display:grid; grid-template-columns:1fr 2fr 90px; gap:16px; align-items:center; padding:10px 0; }
.time-category progress { width:100%; height:8px; accent-color:var(--brand); }
.time-category-settings summary { cursor:pointer; min-height:44px; padding-block:10px; }
.time-history { padding:16px 0; border-bottom:1px solid var(--line); }
.time-report-note { font-size:12px; line-height:1.7; }
.time-ticket { margin:16px 0; }

@media(max-width:600px) {
 .time-stats { grid-template-columns:1fr; gap:8px; }
 .time-stat { display:flex; align-items:center; gap:16px; }

 .time-category { grid-template-columns:1fr 1fr; }
 .time-category progress { grid-column:1/-1; grid-row:2; }
 .time-page .section-heading { flex-wrap:wrap; }
 .time-capture,.time-filters,.time-team,.time-categories,.time-ledger,.time-category-settings,.time-ticket { padding:14px; }
 .time-table,.time-table tbody { display:block; min-width:0; }
 .time-table thead { display:none; }
 .time-table tbody { display:grid; gap:12px; }
 .time-table tr { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); padding:10px 0; border-bottom:1px solid var(--line); }
 .time-table td { display:block; border:0; padding:8px 5px; max-width:none; min-width:0; }
 .time-table td::before { content:attr(data-label); display:block; margin-bottom:7px; color:var(--muted); font-size:11px; }
 .time-table td[data-label="Notiz / Ticket"],.time-table td[data-label="Aktionen"] { grid-column:1/-1; }
 .time-table td.time-row-actions { display:flex; }
 .time-table td.time-row-actions::before { display:none; }
}
@media print {
 body:has(.time-page) { background:white!important; color:black!important; }
 body:has(.time-page) :is(.sidebar,.topbar,.page-heading,.no-print,dialog,.toast,.nav-backdrop) { display:none!important; }
 body:has(.time-page) :is(.app-shell,.workspace,.content) { display:block!important; margin:0!important; padding:0!important; width:100%!important; }
 .time-page .panel { border:1px solid #ddd; box-shadow:none; color:black; background:white; }
 .time-table-scroll { overflow:visible; }
 .time-table { min-width:0; font-size:10px; }
 .time-page { gap:12px; }
 .time-page h2 { font-size:20px; }
 .time-page tr,.time-stat { break-inside:avoid; }
}

/* Shared action sizing: prominence changes colour, never the target geometry.
   Content tiles, calendar events and navigation keep their own layouts. */
:root { --action-height:44px; --action-font:13px; --action-line:20px; }
.button,
.button.compact,
:is(.topbar,.topbar-right,.mail-pagination,.mail-response-actions,.mail-bulk-toolbar,.mail-message-row,.tool-viewer-toolbar,.mail-attachment-actions,.mail-preview-header,.mail-preview-actions,.mail-body-controls) .button {
  min-height:var(--action-height);
  padding:10px 15px;
  font-size:var(--action-font);
  line-height:var(--action-line);
}
.button { max-width:100%; white-space:normal; overflow-wrap:anywhere; }
:is(.actions,.form-footer,.mail-response-actions,.mail-preview-actions,.mail-attachment-actions,.mail-body-controls) {
  align-items:stretch;
}
:is(.actions,.form-footer)>.button { flex-shrink:0; }
.icon-button { min-width:var(--action-height); min-height:var(--action-height); flex-shrink:0; }
.text-button { min-height:var(--action-height); font-size:var(--action-font); line-height:var(--action-line); }
:is(.tabs,.segmented,.calendar-modes,.calendar-controls) button {
  min-height:var(--action-height); line-height:var(--action-line); font-size:var(--action-font);
}
:is(.calendar-sync-toolbar,.mailbox-toolbar)>.button { min-height:var(--action-height); }
.mail-bulk-toolbar .mail-action { width:var(--action-height); height:var(--action-height); }
@media(max-width:600px) {
  .page-heading>.actions { width:100%; }
  .page-heading>.actions>.button { flex:1 1 120px; }
  .topbar-right>.button.compact { min-height:var(--action-height); padding-inline:12px; font-size:12px; }
  :is(.actions,.form-footer)>.button { flex-shrink:1; }
}

/* One coherent report control block: context first, nearby equal-sized actions. */
.time-report-block { padding:20px; min-width:0; }
.time-report-heading { display:grid; gap:16px; min-width:0; }
.time-report-heading h3 { margin:0 0 8px; }
.time-report-heading p { margin:0; font-size:12px; line-height:1.7; overflow-wrap:anywhere; }
.time-export-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; width:min(100%,360px); }
.time-export-actions > .button { width:100%; height:100%; min-height:44px; padding:10px 8px; text-align:center; justify-content:center; white-space:normal; font-size:12px; }
.time-report-block > .time-filters { padding:0; margin-top:20px; border-top:1px solid var(--line); }
.time-filters > summary { display:flex; align-items:center; gap:10px; padding:14px 0; min-height:48px; cursor:pointer; font-weight:600; font-size:12px; list-style:none; }
.time-filters > summary::-webkit-details-marker { display:none; }
.time-filters > summary::before { content:'›'; color:var(--brand); font-size:20px; width:14px; line-height:1; transform-origin:center; }
.time-filters[open] > summary::before { transform:rotate(90deg); }
.time-filters:not([open]) > :not(summary) { display:none; }
.time-period-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; width:min(100%,520px); margin-top:16px; }
.time-period-actions > .button { width:100%; min-height:44px; height:100%; padding:10px 8px; white-space:normal; text-align:center; justify-content:center; }
.time-tabs { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(0,1fr); width:min(100%,360px); }
.time-tabs > .button { width:100%; height:100%; min-height:44px; padding:10px 8px; white-space:normal; text-align:center; justify-content:center; }
@media(max-width:600px) { .time-report-block { padding:14px; } }
@media print { .time-report-block { padding:0; border:0; box-shadow:none; } }

/* Security settings belong to the existing user editor, not a second dialog. */
.user-editor-security{margin-top:28px;padding-top:24px;border-top:1px solid var(--line);min-width:0}
.user-editor-security h3{margin:0 0 10px;color:var(--ink);font-size:18px}
.user-editor-security>.muted{margin:0 0 18px}
.user-editor-security .actions>.button{white-space:normal}

/* Keep user-card actions identical and prevent names from squeezing buttons. */
.admin-user-card>div:first-child{flex:1 1 0;min-width:0}
.admin-user-card>.actions{flex:0 0 auto;align-self:center}
.admin-user-card>.actions>.button{flex:0 0 108px;width:108px;min-width:108px;min-height:44px;white-space:nowrap;overflow-wrap:normal;word-break:normal}
@media(max-width:600px){.admin-user-card>.actions{align-self:flex-start}}

/* TOTP follows the existing login/settings visual system. */
.totp-card{max-width:560px}.totp-card h1{font-size:clamp(1.5rem,5vw,2rem);line-height:1.15}.totp-steps{padding-left:1.25rem;display:grid;gap:.55rem}.totp-qr{margin:1rem 0;display:grid;justify-items:center;gap:.65rem}.totp-qr img{display:block;width:min(232px,100%);height:auto;background:#fff;padding:12px;border:1px solid var(--line,#d8e0e8);border-radius:12px;box-sizing:border-box}.totp-qr figcaption{font-size:.85rem;text-align:center}.totp-manual{margin:1rem 0}.totp-manual summary{cursor:pointer;padding:.6rem 0}.totp-secret{display:block;overflow-wrap:anywhere;user-select:all;padding:.8rem;background:var(--bg,#f4f7fa);border-radius:8px;font-size:.95rem}.totp-card form{display:grid;gap:1rem}.totp-card>.button{margin-top:.7rem;white-space:normal;width:100%;justify-content:center}.totp-card input{box-sizing:border-box;min-width:0;width:100%}

.security-settings{display:grid;gap:18px}

/* Teamlogin: fixed Cloudflare challenge, between device option and submit. */
.login-captcha { margin: 0 0 16px; min-width: 0; }
.captcha-widget { display: flex; justify-content: center; }
.captcha-status { margin: 8px 0; color: var(--body, #4c5c69); font-size: 12px; font-weight: 400; line-height: 1.5; }
.login-captcha .button { font-size: 12px; }
