/* Mirai: warm rose surfaces, lavender accents, and high-contrast controls. */
:root {
  --ink: #352d3a;
  --paper: #faf7f9;
  --line: #e3d8e1;
  --accent: #efc7d5;
  --lav: #eee7f4;
  --peach: #f8e7e4;
  --blue: #e5eff0;
  --muted: #716272;
  --mirai-primary: #864760;
  --mirai-primary-hover: #70364e;
  --mirai-soft: #f6eaf0;
  --mirai-lavender: #f2edf7;
  --mirai-focus: #74518f;
  --mirai-field: #aa94a5;
}
body { background: var(--paper); color: var(--ink); }
.shell > header { background: #fffafc; border-color: var(--line); }
.shell > footer { border-color: var(--line); color: var(--muted); }
.wordmark .mirai-wordmark {
  display: flex; flex-direction: column; gap: 3px; align-items: flex-start;
  border: 0; margin-left: 14px; padding-left: 0; letter-spacing: 0;
}
.mirai-wordmark b { color: #79445e; font-size: 25px; font-weight: 700; letter-spacing: .14em; line-height: 1.2; }
.mirai-wordmark small { color: var(--muted); font-size: 10px; letter-spacing: .08em; }
.rail, body[data-workspace-role=manager] .rail { background: #f1e7ef; color: #5b475d; border-right: 1px solid #dfd1df; }
.rail .app-nav { padding: 0 5px; scrollbar-color: #bfa9bf #f1e7ef; }
.rail .app-nav button { color: #5f4d60; border-radius: 9px; margin: 1px 0; line-height: 1.5; }
.rail .app-nav button:hover { color: #713d59; background: #fff8fc; }
.rail .app-nav button[aria-current=page] { color: #783d58; background: #fff; font-weight: 700; box-shadow: 0 2px 6px #6742580a; }
.rail .app-nav button[aria-current=page]:before { background: #a86080; border-radius: 3px; }
.rail-word, .rail-bottom { color: #6c586e; }
.avatar, .workspace-mode-badge, .appointment-state, .hearing-badge { background: var(--mirai-lavender); color: #654b78; }
.role-notice, .ops-view-bar { color: #604e6f; background: var(--mirai-lavender); border-color: #d9c9e4; }
.ops-heading p, .ops-help, .ops-field, .ops-empty, .quiet-note,
.layout-tab, .layout-save-footer b, .layout-save-footer small,
.hearing-pending, .hearing-updated, .hearing-previous, .ops-summary small { color: var(--muted); }
.ops-kicker, .eyebrow, .quick-results-heading, .pattern-label { color: #795471; }
.ops-panel, .personal-list-panel, .hearing-card, .layout-editor, .layout-directory,
.call-customer, .call-queue, .call-record { border-color: var(--line); box-shadow: 0 3px 18px #633d5805; }
.ops-panel, .personal-list-panel, .hearing-card { border-radius: 14px; }
.ops-table th { background: var(--mirai-lavender); color: #62516f; }
.ops-table td, .ops-member-card, .ops-summary, .allocation-candidate { border-color: #e9e0e8; }
.ops-table tbody tr:hover { background: #fcf8fb; }
.ops-import-count, .appointment-summary, .pattern-task-row.result-task-row { background: #faf5f9; border-color: #e4d6e2; }
.ops-save-status { color: #68516e; border-color: #d6c5d8; background: #fffafd; }
.ops-save-status[data-state=saved] { color: #3f6759; background: #eff6f2; border-color: #b6cdc2; }
.ops-save-status[data-state=error], .ops-error, .call-memo-error, #message { color: #9b2947; }
.ops-save-status[data-state=error] { background: #fff0f3; border-color: #e0a8b7; }
.ops-save-status[data-state=pending] { color: #795b25; background: #fff7e6; border-color: #dfc68e; }
.ink-button, .primary, .layout-save:not(:disabled), .auth-card form > button,
.access button, .audit button:not(.secondary) {
  background: var(--mirai-primary); border-color: var(--mirai-primary); color: #fff; border-radius: 9px;
}
.ink-button:hover, .primary:hover, .layout-save:hover:not(:disabled),
.auth-card form > button:hover:not(:disabled), .access button:hover:not(:disabled), .audit button:not(.secondary):hover:not(:disabled) {
  background: var(--mirai-primary-hover); border-color: var(--mirai-primary-hover);
}
.outline-button, .layout-outline, .ops-call-lists button, .secondary {
  color: #73445f; border-color: #bba1b4; background: #fffafd; border-radius: 8px;
}
.outline-button:hover:not(:disabled), .layout-outline:hover:not(:disabled), .secondary:hover:not(:disabled) { background: var(--mirai-soft); }
.quiet, .layout-text-button, .ops-member-settings > summary, .call-search-controls > summary { color: #78435e; }
.list-update-trigger, .hearing-overview-item { color: #694c70; border-color: #d3bfd8; background: #f7f1fa; }
.list-update-badge { background: #795780; color: #fff; }
.ops-call-lists button[aria-pressed=true] { background: #f3dfe8; color: #72334e; border-color: #a86b85; font-weight: 600; }
.layout-workspace, .layout-editor, .layout-directory { --lw-purple: #7a4b6c; --lw-line: #e3d8e1; --lw-muted: #716272; --lw-bg: #faf5f9; color: var(--ink); }
.layout-tabs, .call-shared-shell > summary { background: #faf5fa; }
.layout-tab[aria-selected=true] { color: #79445e; border-bottom-color: #a35f7c; background: #fff9fc; }
.layout-tab:hover { background: #f7edf3; }
.layout-save-footer { background: #fcf8fb; border-color: var(--line); }
.layout-save:disabled { background: #eee6ee; color: #807182; border-color: #ded1df; }
.ops-field input, .ops-field select, .ops-field textarea,
.result-control > select, .result-control > input, .result-date-parts > input, .result-date-parts > select,
.hearing-field input, .hearing-field select, .hearing-field textarea,
.layout-editor input:not([type=checkbox]):not([type=radio]), .layout-editor select, .layout-editor textarea,
.pattern-field input, .pattern-field select, .pattern-field textarea,
.call-record textarea, .queue-search input, .auth-card input, .access input, .audit input, .audit select {
  color: var(--ink); border-color: var(--mirai-field); background: #fff; border-radius: 8px;
}
input::placeholder, textarea::placeholder { color: #7c6c7a; opacity: 1; }
input[type=checkbox], input[type=radio], .allocation-candidate input { accent-color: var(--mirai-primary); }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible,
summary:focus-visible, .result-control select:focus-visible, .result-control input:focus-visible,
.hearing-field input:focus-visible, .hearing-field select:focus-visible, .hearing-field textarea:focus-visible {
  outline: 3px solid var(--mirai-focus); outline-offset: 3px;
}
.dial-button { background: #efc7d5; color: #533849; box-shadow: 0 4px 0 #c596a8; border-radius: 10px; }
.source-pane > p.highlight { background: #f3dce7; }
.attacker-appointment, .attacker-workspace .previous-response { background: #f4edf7; }
#toast { background: #514154; color: #fff; }
#toast.with-undo button { background: #f4d9e4; color: #513348; border-radius: 7px; }
.auth-card, .access, .audit { border-color: var(--line); box-shadow: 0 12px 40px #704b640a; }
.auth-card { border-top: 4px solid #bd819b; }
.auth-card .eyebrow { color: #80516f; }
.auth-card h1 { color: #603e58; }
.auth-card a, .access a, .audit a { color: #79445e; }
.auth-card small, .auth-card #intro, .audit .note { color: var(--muted); }
.audit #filters, .audit th, .access .invite { background: var(--mirai-lavender); }
.audit .outcome { background: #e8f2ed; color: #365c4c; }
.audit .failure, .audit .denied { background: #fbe7ec; color: #962745; }
.audit .redirect, .audit .legacy { background: #f0e8f5; color: #6b4f7f; }
@media (max-width: 650px) {
  .wordmark .mirai-wordmark { display: flex; margin-left: 9px; }
  .mirai-wordmark b { font-size: 22px; }
  .mirai-wordmark small { font-size: 9px; }
}
@media (max-width: 550px) {
  .rail, body[data-workspace-role=manager] .rail { background: #f5edf5f5; border-top: 1px solid #dccddd; border-right: 0; }
  .rail .app-nav { padding: 0; }
  .rail .app-nav button { border-radius: 8px 8px 0 0; }
}
