/* Open Claude UI tokens and components, adapted for a neutral spreadsheet.
   Upstream CSS remains unchanged in vendor/open-claude-ui (MIT). */
:root {
  --green: #1a73e8; --deep: #202124; --ink: #202124; --muted: #5f6368;
  --line: #e1e5ea; --bg: #fff; --surface: #fff;
  --workbench-action: #1a73e8; --workbench-action-hover: #155fc0;
  --workbench-selection: #1a73e8; --workbench-grid-line: #e1e5ea;
  --cds-surface-0: #fff; --cds-surface-1: #fff; --cds-surface-2: #fff;
  --cds-border: #e1e5ea; --cds-text-primary: #202124; --cds-text-secondary: #5f6368;
  font-family: var(--font-sans-fallbacks);
}
body { background: #fff; color: var(--ink); }
button { transition: background-color var(--cds-dur-snap) var(--cds-ease-swift); }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 2px solid var(--workbench-selection); outline-offset: 2px;
}
.primary, .sheet-mode .heading-actions .primary {
  background: var(--workbench-action); color: #fff; border: 1px solid transparent;
  border-radius: 5px; box-shadow: none; font-size: 13px; font-weight: 500; min-height: 32px;
}
.primary:hover, .sheet-mode .heading-actions .primary:hover { background: var(--workbench-action-hover); }
.primary:disabled { background: #eef0f2; color: #6c7279; cursor: default; }
.secondary { background: #fff; border: 1px solid #dadce0; color: #3c4043; border-radius: 5px; }
.secondary:hover { background: #f1f3f4; }
.quiet, .text-button, .icon-button { color: #5f6368; font-size: 12px; }
.quiet:hover, .icon-button:hover { background: #f1f3f4; color: #202124; }
.text-button { color: #1967d2; }
.icon-button { background: transparent; border: 0; border-radius: 4px; width: 30px; height: 30px; }

/* One navigation width and heading rhythm on every page. */
.shell { --nav-width: 176px; background: #fff; }
.shell .sidebar { width: var(--nav-width); flex-basis: var(--nav-width); background: #f8f9fa; border-right: 1px solid #e5e7eb; color: #202124; padding: 18px 8px 12px; }
.shell main { margin-left: var(--nav-width); width: calc(100% - var(--nav-width)); }
.shell .brand { color: #202124; font-size: 16px; padding: 0 8px; gap: 9px; letter-spacing: 0; }
.shell .brand-mark { background: #e6f4ea; color: #188038; width: 32px; height: 32px; border-radius: 6px; font-size: 20px; }
.shell .brand small { color: #5f6368; font-size: 10px; letter-spacing: 0; }
.version { display: none; }
.shell .workspace-label { color: #6b7280; margin: 26px 9px 12px; font-size: 11px; letter-spacing: 0; }
.shell .workspace-label span { background: #eef0f2; color: #5f6368; }
.shell nav { gap: 3px; }
.shell .nav-item { height: 36px; font-size: 13px; padding: 0 10px; gap: 9px; border-radius: 5px; color: #4b5563; }
.shell .nav-item .icon { width: 17px; height: 17px; }
.shell .nav-item:hover { color: #202124; background: #edf0f2; }
.shell .nav-item.active { color: #185abc; background: #e8f0fe; box-shadow: none; font-weight: 600; }
.shell .nav-item small { background: #dce8fc; color: #185abc; font-size: 11px; padding: 1px 5px; }
.shell .nav-divider { background: #e1e5ea; margin: 12px 8px; }
.shell .local-note { background: transparent; color: #5f6368; border: 0; margin: 14px 8px; font-size: 11px; }
.shell .local-note small { color: #6b7280; font-size: 10px; line-height: 1.6; }
.live-dot { background: #188038; }
.shell .profile { color: #202124; border-color: #e1e5ea; padding: 12px 5px 0; }
.shell .profile small { color: #5f6368; font-size: 10px; }
.shell .profile .avatar { background: #e8eaed; color: #3c4043; width: 30px; height: 30px; }
.shell .topbar { height: 34px; min-height: 34px; padding: 0 18px 0 10px; border-bottom: 0; background: #fff; }
.top-left { display: flex; align-items: center; gap: 4px; min-width: 0; }
.shell .breadcrumb { font-size: 11px; color: #6b7280; white-space: nowrap; }
.breadcrumb span { margin: 0 8px; }
.top-right { gap: 14px; }
.shell .scope, .shell .top-right .quiet { font-size: 11px; color: #5f6368; }
.nav-toggle .icon { transform: rotate(180deg); width: 16px; }
.shell.nav-collapsed { --nav-width: 58px; }
.nav-collapsed .nav-toggle .icon { transform: none; }
.shell.nav-collapsed .sidebar { padding-left: 6px; padding-right: 6px; }
.shell.nav-collapsed .brand { justify-content: center; padding: 0; }
.nav-collapsed .brand > span:not(.brand-mark), .nav-collapsed .workspace-label,
.nav-collapsed .nav-item > span, .nav-collapsed .nav-item > small, .nav-collapsed .local-note,
.nav-collapsed .profile > span:not(.avatar), .nav-collapsed .profile > .icon { display: none; }
.shell.nav-collapsed nav { margin-top: 24px; }
.shell.nav-collapsed .nav-item, .shell.nav-collapsed .profile { justify-content: center; padding-left: 0; padding-right: 0; }
.shell .main-content { padding: 0 20px 20px; max-width: none; margin: 0; }
.shell .page-heading { padding: 12px 0 16px; min-height: 74px; margin: 0; }
.shell .eyebrow { display: none; }
.shell h1 { font-size: 22px; font-weight: 600; letter-spacing: 0; color: #202124; }
.shell .page-heading p { color: #5f6368; font-size: 12px; margin-top: 6px; }
.heading-actions { gap: 6px; }
.save-status { color: #5f6368; font-size: 12px; }

/* View, filters, tools, content: each row has one job. */
.sheet-mode main { display: flex; flex-direction: column; height: 100dvh; }
.shell.sheet-mode .main-content { padding: 0 12px 8px; min-height: 0; flex: 1; }
.shell.sheet-mode .page-heading { min-height: 52px; padding: 6px 2px 10px; }
.sheet-mode .page-heading p, .sheet-mode .heading-actions .save-status { display: none; }
.sheet-mode .heading-actions .primary { height: 32px; padding: 0 12px; }
.sheet-mode .sheet-card { border: 1px solid #e1e5ea; border-radius: 5px; box-shadow: none; background: #fff; overflow: hidden; }
.sheet-mode .top-tabs { display: flex; min-height: 38px; flex-shrink: 0; padding: 0 10px; gap: 6px; border: 0; border-bottom: 1px solid #e1e5ea; background: #fff; }
.sheet-mode .top-tabs button { height: 38px; padding: 0 12px; margin: 0; font-size: 13px; color: #5f6368; border-bottom: 2px solid transparent; border-radius: 0; }
.sheet-mode .top-tabs button:hover { color: #202124; background: #f8f9fa; }
.sheet-mode .top-tabs button.selected { color: #1967d2; background: transparent; border-bottom-color: #1a73e8; font-weight: 600; box-shadow: none; }
.sheet-mode .top-tabs .icon { width: 14px; height: 14px; }
.sheet-mode .sheet-tab-end { color: #6b7280; font-size: 11px; letter-spacing: 0; padding-right: 4px; }
.toolbar, .sheet-mode .toolbar { min-height: 44px; padding: 6px 10px; border-color: #e1e5ea; background: #fff; gap: 10px; }
.filter-left { gap: 8px; min-width: 0; }
.search-box, .sheet-mode .search-box { height: 30px; width: 258px; background: #fff; border: 1px solid #dadce0; border-radius: 4px; }
.search-box:focus-within { border-color: #1a73e8; box-shadow: 0 0 0 1px #1a73e8; }
.search-box input, .sheet-mode .search-box input { font-size: 12px; color: #202124; }
.search-box input::placeholder { color: #6b7280; }
.search-box kbd, .compact-label { display: none; }
.toolbar select, .sheet-mode .toolbar select { height: 30px; border: 1px solid #dadce0; background: #fff; color: #3c4043; border-radius: 4px; font-size: 12px; }
.date-range { height: 30px; border-color: #dadce0; border-radius: 4px; }
.date-range input { color: #3c4043; font-size: 12px; width: 126px; }
.sheet-tools { min-height: 38px; padding: 4px 8px; background: #f8fafd; border-color: #e1e5ea; gap: 7px; }
.tool-cluster { gap: 2px; padding-right: 8px; border-color: #dadce0; }
.sheet-tool { height: 28px; min-width: 28px; border-radius: 4px; color: #3c4043; }
.sheet-tool .icon { width: 16px; height: 16px; }
.sheet-tool.text-tool { font-size: 12px; gap: 5px; padding: 0 7px; }
.sheet-tool:hover, .sheet-tools select:hover { background: #e8edf5; color: #202124; }
.sheet-tool:disabled { opacity: .35; }
.sheet-tools select { font-size: 12px; color: #4b5563; border-radius: 4px; }
.sheet-tools-spacer { flex: 1; }
.draft-status { color: #137333; font-size: 12px; white-space: nowrap; display: inline-flex; align-items: center; gap: 6px; }
.draft-status::before { content: ""; background: currentColor; width: 5px; height: 5px; border-radius: 50%; }
.draft-status.pending { color: #945a00; }
#sheet-reason { height: 28px; width: 210px; font-size: 12px; border: 1px solid #dadce0; border-radius: 4px; background: #fff; }
.formula-bar { height: 30px; min-height: 30px; gap: 10px; border-color: #dadce0; }
.formula-bar output { width: 68px; min-width: 68px; color: #3c4043; font-size: 12px; border-color: #dadce0; font-family: var(--font-anthropic-mono); }
.formula-symbol { font-size: 12px; color: #6b7280; }
.formula-bar input { height: 28px; color: #202124; font-size: 13px; }
.formula-bar input:focus { box-shadow: inset 0 -2px #1a73e8; }
.formula-bar input::placeholder { color: #6b7280; font-size: 12px; }
#cell-permission, #cell-permission.is-readonly { color: #5f6368; font-size: 11px; background: transparent; padding: 0; }
.sheet-error { background: #fef7e0; color: #7a4b00; border-color: #f6dfa3; padding: 8px 12px; }

/* Thin consistent grid lines. Gray indicates readonly; text stays legible. */
.spreadsheet .data-grid { font-size: 13px; color: #202124; }
.spreadsheet .data-grid th, .spreadsheet .data-grid td { border-color: var(--workbench-grid-line); padding: 0 8px; }
.spreadsheet .data-grid td { height: 30px; line-height: 1.4; max-height: none; }
.spreadsheet .data-grid .letter-row th { height: 22px; top: 0; background: #f8f9fa; color: #5f6368; font-size: 11px; }
.spreadsheet .data-grid .field-row th { height: 30px; top: 22px; background: #f1f3f4; color: #3c4043; font-size: 12px; font-weight: 600; }
.spreadsheet .data-grid .rownum { background: #f8f9fa; color: #5f6368; font-size: 11px; padding: 0; }
.spreadsheet .data-grid .column-kind { color: #6b7280; font-size: 10px; }
.spreadsheet .data-grid td.readonly, .spreadsheet .data-grid tr:hover td.readonly { background: #f8f9fa; color: #5f6368; }
.spreadsheet .data-grid td[data-col="phone"] { font-weight: 500; letter-spacing: .2px; font-variant-numeric: tabular-nums; }
.spreadsheet .data-grid .selected-header { background: #d3e3fd !important; color: #174ea6 !important; }
.spreadsheet .data-grid td.range-selected { background: #e8f0fe !important; }
.spreadsheet .data-grid td.active-cell { outline-color: #1a73e8 !important; }
.spreadsheet .data-grid td.active-cell:after { background: #1a73e8; }
.spreadsheet .data-grid td.draft-cell:before { border-top-color: #1a73e8; }
.spreadsheet .data-grid td.editing input, .spreadsheet .data-grid td.editing select, .spreadsheet .data-grid td.editing textarea { height: 30px; min-height: 30px; border-color: #1a73e8; box-shadow: none; font-size: 13px; }
.spreadsheet.comfortable .data-grid td { height: 38px; }
.spreadsheet.comfortable .data-grid td.editing input, .spreadsheet.comfortable .data-grid td.editing select, .spreadsheet.comfortable .data-grid td.editing textarea { height: 38px; }
.badge, .spreadsheet .badge { font-size: 11px; border-radius: 3px; line-height: 19px; padding: 0 5px; }
.badge.green { background: #e6f4ea; color: #137333; }
.badge.amber { background: #fef7e0; color: #8b5700; }
.badge.red { background: #fce8e6; color: #b3261e; }
.badge.gray { background: #eceff1; color: #5f6368; }
.badge.blue { background: #e8f0fe; color: #185abc; }
.spreadsheet .cell-check { height: 14px; width: 14px; border-color: #90969d; }
.spreadsheet .cell-check.checked { background: #1a73e8; border-color: #1a73e8; }
.spreadsheet .channel-pill { color: #5f6368; font-size: 12px; }
.placeholder, .spreadsheet .placeholder { color: #6b7280; }
.spreadsheet .new-sheet-row td { background: #f0f7ff; }
.spreadsheet .new-sheet-row .rownum { background: #e8f0fe; color: #185abc; }
.sheet-mode .grid-scroll.spreadsheet { scrollbar-color: #bdc1c6 #f8f9fa; }
.spreadsheet .sheet-empty-space { background: #fff; background-image: none; color: #6b7280; }
.spreadsheet-status { min-height: 28px; padding: 5px 10px; border-color: #e1e5ea; background: #fff; color: #5f6368; font-size: 11px; }
.readonly-key { background: #f1f3f4; border-color: #bdc1c6; }
.draft-key { border-top-color: #1a73e8; }

/* Overview and secondary pages share the same quiet, compact treatment. */
.panel, .metric { border: 1px solid #e1e5ea; border-radius: 6px; box-shadow: none; background: #fff; }
.metrics { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin-bottom: 16px; }
.metric { min-height: 112px; padding: 16px 18px; }
.metric.featured { background: #f8fbff; border-color: #d3e3fd; }
.metric.featured .metric-label, .metric.featured .icon { color: #185abc; }
.metric.featured > strong { color: #174ea6; }
.metric.featured > span { color: #5f6368; }
.metric-label { font-size: 12px; color: #5f6368; }
.metric > strong { font-size: 28px; margin: 10px 0 8px; font-weight: 600; }
.metric > span { font-size: 11px; color: #5f6368; }
.dashboard-top { margin-bottom: 12px; }
.section-kicker small { color: #5f6368; font-size: 11px; }
.dashboard-charts { gap: 16px; margin-bottom: 16px; }
.panel-heading { padding: 16px 18px 12px; }
.panel-heading h2 { font-size: 15px; }
.panel-heading p, .panel-caption, .chart-foot, .chart-legend { color: #5f6368; font-size: 11px; }
.trend-chart { max-height: 230px; }
.trend-chart text { fill: #5f6368; font-size: 11px; }
.trend-chart polyline { stroke: #1a73e8; }
.trend-chart path { fill: #e8f0fe; }
.trend-chart circle { fill: #1a73e8; }
.chart-legend i { background: #1a73e8; }
.stage-row > div { background: #eef3fa; }
.stage-row > div > i { background: #4285f4; }
.stage-row > span, .stage-bottom > span { color: #5f6368; }
.stage-row > span { width: 66px; white-space: nowrap; }
.stage-bottom strong, .strong-number { color: #202124; }
.simple-table { font-size: 13px; }
.simple-table th { color: #5f6368; background: #f8f9fa; font-size: 12px; }
.simple-table td, .simple-table th { padding: 10px 14px; border-color: #e1e5ea; }
.simple-table td { color: #3c4043; }
.statistics-table td, .statistics-table th { padding: 10px 8px; font-size: 12px; }
.statistics-note { padding: 10px 12px; color: #6b7280; font-size: 12px; line-height: 1.6; }
.sheet-footer { min-height: 34px; padding: 8px 12px; background: #fff; color: #5f6368; font-size: 11px; }
.notice-banner.neutral { background: #f8f9fa; border-color: #e1e5ea; color: #5f6368; padding: 10px 14px; margin-bottom: 14px; border-radius: 5px; }
.page-note { color: #5f6368; font-size: 11px; }
.correction-note { display: block; color: #5f6368; font-size: 11px; margin-top: 4px; max-width: 280px; overflow: hidden; text-overflow: ellipsis; }
.correction-original { padding: 10px 12px; margin-bottom: 16px; border: 1px solid #d3e3fd; background: #f8fbff; border-radius: 5px; font-size: 12px; line-height: 1.8; }
.modal-body > .form-grid + .form-field { margin-top: 16px; }

/* Preserve the upstream dialog system, using the same readable neutral tokens. */
.modal { border: 1px solid #e1e5ea; border-radius: 10px; background: #fff; box-shadow: var(--cds-shadow-popover); }
.modal-overlay { background: #20212455; backdrop-filter: none; }
.modal > header, .modal-footer { border-color: #e1e5ea; }
.modal > header h2 { color: #202124; }
.modal > header p, .modal-footer > .muted { color: #5f6368; font-size: 12px; }
.modal-footer { background: #fafbfc; }
.form-field > label, legend, .column-options label { color: #3c4043; font-size: 13px; }
.form-field input:not([type=checkbox]), .form-field select, .form-field textarea { border: 1px solid #dadce0; border-radius: 4px; font-size: 13px; }
.form-field input:disabled, .form-field select:disabled, .form-field textarea:disabled { background: #f8f9fa; color: #5f6368; }
.checkbox-label input, .check-options input, .column-options input { accent-color: #1a73e8; }
.column-tip { color: #5f6368; }
.account-choice { border-color: #e1e5ea; border-radius: 6px; }
.account-choice:hover, .account-choice.current { background: #e8f0fe; border-color: #a8c7fa; }
.account-choice small, .account-choice em { color: #5f6368; }
#toast { background: #303134; color: #fff; border-radius: 5px; box-shadow: var(--cds-shadow-md); }

@media (max-width: 1200px) {
  .sheet-tools { gap: 4px; }
  .tool-cluster { padding-right: 4px; }
  .sheet-tool.text-tool { padding: 0 5px; }
  .sheet-tools-spacer { display: none; }
  .draft-status { margin-left: auto; }
  .sheet-mode .sheet-tab-end { display: none; }
}
@media (max-width: 1000px) {
  .shell { --nav-width: 58px; }
  .shell .sidebar { padding: 16px 6px 12px; }
  .shell .brand { padding: 0; justify-content: center; }
  .shell .brand > span:not(.brand-mark), .shell .workspace-label,
  .shell .nav-item > span, .shell .nav-item > small, .shell .local-note,
  .shell .profile > span:not(.avatar), .shell .profile > .icon, .nav-toggle { display: none; }
  .shell nav { margin-top: 24px; }
  .shell .nav-item, .shell .profile { justify-content: center; padding-left: 0; padding-right: 0; }
  .shell .main-content { padding: 0 12px 12px; }
  .shell .topbar { padding: 0 12px; }
  .dashboard-charts { grid-template-columns: 1fr; }
  .metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .sheet-mode .top-tabs { gap: 0; padding: 0 4px; }
  .sheet-mode .top-tabs button { padding: 0 10px; white-space: nowrap; }
  .sheet-tools .draft-status { display: inline-flex; }
}
@media (max-width: 650px) {
  .shell .topbar { padding: 0 8px; }
  .shell .top-right .quiet { font-size: 0; }
  .scope { display: none; }
  .shell.sheet-mode .main-content { padding: 0 5px 5px; }
  .shell h1 { font-size: 20px; }
  .sheet-mode .heading-actions .primary { font-size: 12px; padding: 0 9px; }
  .sheet-mode .top-tabs button { font-size: 12px; padding: 0 10px; }
  .sheet-mode .top-tabs .icon { display: none; }
  .toolbar, .sheet-mode .toolbar { padding: 6px; min-height: 44px; align-items: flex-start; }
  .filter-left { flex: 1; }
  .search-box, .sheet-mode .search-box { width: 100%; }
  .filter-right .quiet { font-size: 0; }
  .sheet-tools { padding: 5px; min-height: 38px; }
  .sheet-tools .tool-cluster { border: 0; padding: 0; }
  .sheet-tool.text-tool { font-size: 11px; padding: 0 4px; }
  .sheet-tools select { font-size: 11px; }
  .sheet-tools .draft-status { margin-left: 0; }
  .sheet-tools #sheet-reason { width: 190px; }
  .formula-bar { gap: 6px; }
  .formula-bar output { width: 54px; min-width: 54px; }
  .formula-bar #cell-permission { display: none; }
  .spreadsheet-status { font-size: 10px; padding: 5px 7px; }
  .dashboard-top { align-items: flex-start; flex-direction: column; gap: 10px; }
  .metric { padding: 12px; }
  .metric > strong { font-size: 24px; }
  .shell:not(.sheet-mode) .page-heading { flex-wrap: wrap; }
  .simple-table td, .simple-table th { padding: 8px 10px; }
}
@media (prefers-reduced-motion: reduce) { button { transition: none; } }
.data-grid .recharge-cell { display: inline-flex; align-items: center; justify-content: flex-end; gap: 10px; width: 100%; padding: 0; border: 0; border-radius: 2px; background: transparent; color: #1967d2; font: inherit; font-variant-numeric: tabular-nums; cursor: pointer; }
.data-grid .recharge-cell:hover { text-decoration: underline; }
.data-grid .recharge-cell:focus-visible { outline: 2px solid #1a73e8; outline-offset: 2px; }
.recharge-cell span { font-size: 12px; }
.recharge-summary { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 14px; color: #5f6368; }
.recharge-summary strong { margin-left: 10px; font-size: 24px; color: #202124; font-variant-numeric: tabular-nums; }
.recharge-history { max-height: 260px; margin-bottom: 20px; border: 1px solid #dadce0; border-radius: 6px; }
.recharge-history td:nth-child(5) { white-space: pre-wrap; min-width: 140px; overflow-wrap: anywhere; }
.recharge-history .flow-editing-row td { background: #e8f0fe; }
.recharge-empty { padding: 12px; color: #5f6368; }

.statistics-filters { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-bottom: 16px; }
.smart-dates { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.statistics-filters .smart-dates select { min-width: 72px; padding: 0 8px; }
.statistics-filters .smart-dates #date-mode { min-width: 104px; }
.date-caption { color: #6b7280; font-size: 12px; white-space: nowrap; margin: 0 4px; }
.statistics-filters label { display: flex; gap: 7px; align-items: center; color: #5f6368; font-size: 12px; }
.statistics-filters select { min-width: 110px; height: 32px; border: 1px solid #dadce0; border-radius: 4px; background: white; }
.statistics-tabs { display: flex; flex-wrap: wrap; gap: 4px; border-bottom: 1px solid #dadce0; margin-bottom: 20px; }
.statistics-tabs button { padding: 10px 16px; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: transparent; color: #5f6368; }
.statistics-tabs button.selected { color: #1967d2; border-bottom-color: #1a73e8; background: #f8faff; }

.customer-status-tags { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; }
.exit-expert-filter { display: flex; align-items: center; gap: 12px; padding: 5px 10px; border-bottom: 1px solid #dce2eb; background: #fff; font-size: 12px; }
.customer-status-tag { display: inline-flex; align-items: center; gap: 6px; min-height: 30px; padding: 4px 9px; border: 1px solid transparent; border-radius: 5px; background: transparent; color: #5f6368; font: inherit; font-size: 12px; white-space: nowrap; }
.customer-status-tag span { padding: 1px 5px; border-radius: 4px; background: #f1f3f4; font-size: 11px; font-variant-numeric: tabular-nums; }
.customer-status-tag:hover { background: #f1f3f4; }
.customer-status-tag.selected { border-color: #d2e3fc; background: #e8f0fe; color: #1967d2; }
.customer-status-tag.selected span { background: #d2e3fc; color: #174ea6; }
.customer-status-tag:focus-visible { outline: 2px solid #1a73e8; outline-offset: 2px; }

.reception-queue-note { padding: 7px 12px; color: #5f6368; font-size: 12px; border-top: 1px solid #edf0f3; background: #fff; }
.reception-queue-note strong { color: #1967d2; font-variant-numeric: tabular-nums; }

/* Compact group work: keep everyday fields in view and open occasional details. */
.data-grid .group-cell-link { border:0; background:transparent; padding:0; font:inherit; color:#1967d2; cursor:pointer; text-align:left; }
.data-grid .group-cell-link:hover { text-decoration:underline; }
.data-grid .group-date-link { border:0; background:transparent; padding:0 0 0 6px; font:inherit; font-size:11px; color:#64748b; cursor:pointer; }
.group-dates { display:grid; grid-template-columns:120px 1fr; gap:10px; margin:18px 0; }
.group-dates dt { color:#64748b; }.group-dates dd { margin:0; font-variant-numeric:tabular-nums; }
.spreadsheet .data-grid td.editing:has(textarea) { overflow:visible; z-index:6; }
.spreadsheet .data-grid td.editing textarea { position:absolute; top:0; left:0; width:320px; height:100px; min-height:100px; padding:8px; background:#fff; white-space:pre-wrap; box-shadow:0 3px 12px #0002; resize:vertical; }

.password-login { min-height: 100vh; display: grid; place-items: center; padding: 24px; background: #f7f9fc; }
.password-login > .panel { width: min(440px, 100%); padding: 32px; }
.password-login h1 { font-size: 24px; margin: 24px 0 12px; }
.password-login form { display: grid; gap: 16px; margin: 24px 0; }
.password-login .primary { width: 100%; justify-content: center; }

.password-login .brand { color: #202124; padding: 0; }
.password-login .brand-mark { background: #e6f4ea; color: #188038; }
#provision-form .modal-body > .form-field { margin-bottom: 12px; }
