/* Mouse-first application layout. Login keeps its separate approved design. */
.olk-operator-shell { --olk-sidebar-width: 184px; --olk-workspace-top: 56px; font-size: 16px; }
.olk-operator-shell .sidebar { padding: 20px 10px 12px; }
.olk-operator-shell .sidebar > .wordmark { margin: 0 12px 24px; }
.olk-operator-shell .brand-logo { width: 140px; }
.olk-operator-shell .nav-item { font-size: 16px; min-height: 48px; padding: 10px; gap: 9px; margin: 4px 0; }
.olk-operator-shell .nav-item.active { box-shadow: inset 3px 0 var(--olk-accent-ink); }
.olk-operator-shell .sidebar nav { overflow: visible; }
.olk-operator-shell .sidebar-bottom { padding-top: 10px; }
.olk-operator-shell .user-block { padding: 12px 4px; gap: 8px; }
.olk-operator-shell .user-info strong { font-size: 14px; }
.olk-operator-shell .user-info small { font-size: 12px; }
.olk-operator-shell .account-actions { flex-wrap: wrap; padding: 0; gap: 4px; }
.olk-operator-shell .account-actions .btn { min-height: 44px; padding: 8px; font-size: 14px; }
.olk-operator-shell .topbar { min-height: 56px; padding: 6px 20px; }
.olk-operator-shell .breadcrumb { font-size: 16px; }
.olk-operator-shell .breadcrumb strong { font-weight: 600; }
.olk-operator-shell .topbar-date { font-size: 14px; }
.olk-operator-shell #main-content:not(.has-page-editor) { padding: 18px 20px 12px; max-width: 1900px; }
.olk-operator-shell .page-header { margin-bottom: 16px; gap: 16px; }
.olk-operator-shell .page-header h1 { font-size: 27px; margin-bottom: 4px; }
.olk-operator-shell .page-header p { font-size: 15px; line-height: 1.4; }
.olk-operator-shell .eyebrow:empty { display: none; }
.olk-operator-shell .eyebrow { margin-bottom: 4px; font-size: 12px; }
.olk-operator-shell .page-actions { gap: 8px; }
.olk-operator-shell .panel-header { padding: 10px 16px; gap: 12px; min-height: 56px; }
.olk-operator-shell .panel-header h2 { font-size: 17px; }
.olk-operator-shell .panel-header p { font-size: 14px; margin-top: 4px; }
.olk-operator-shell .data-table th { padding: 8px 12px; font-size: 14px; }
.olk-operator-shell .data-table td { padding: 7px 12px; font-size: 15px; }
.olk-operator-shell .data-table tbody tr:nth-child(even) { background: var(--olk-surface-subtle); }
.olk-operator-shell .data-table .btn { min-height: 44px; padding: 6px 12px; white-space: nowrap; }
.olk-operator-shell .stacked-cell small, .olk-operator-shell .entity-cell small { font-size: 13px; }
.olk-operator-shell .badge { font-size: 13px; padding: 4px 8px; white-space: normal; }
.olk-operator-shell .party-name { width: 25%; }
.olk-operator-shell .party-table { min-width: 0; table-layout: auto; }
.olk-operator-shell .party-table td { overflow-wrap: anywhere; }
.olk-operator-shell .party-open { width: 154px; }
.olk-home-actions { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-bottom: 14px; }
.olk-home-action { display: flex; align-items: center; gap: 14px; padding: 16px; border: 1px solid var(--olk-input-border); border-radius: var(--olk-radius-md); background: var(--olk-surface); color: var(--olk-ink); text-align: left; min-height: 82px; }
.olk-home-action.is-primary { background: var(--olk-primary); color: var(--olk-on-primary); border-color: var(--olk-primary); }
.olk-home-action:hover { box-shadow: inset 0 0 0 1px var(--olk-focus); }
.olk-home-action > .icon { width: 28px; height: 28px; }
.olk-home-action strong { display: block; font-size: 18px; line-height: 1.3; margin-bottom: 4px; }
.olk-home-action small { display: block; font-size: 14px; line-height: 1.4; }
.olk-home-counts { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); background: var(--olk-surface); border: 1px solid var(--olk-border); border-radius: var(--olk-radius-md); padding: 12px 0; margin-bottom: 16px; }
.olk-home-counts > div { padding: 0 20px; border-right: 1px solid var(--olk-border); }
.olk-home-counts > div:last-child { border: 0; }
.olk-home-counts span { display: block; font-size: 14px; }
.olk-home-counts strong { display: block; font-size: 26px; line-height: 1.2; }
.olk-operator-shell .olk-party-filters { display: flex; flex-wrap: wrap; gap: 8px; padding: 12px 14px; }
.olk-party-filters .search-input { order: -2; flex: 1 1 280px; min-width: 180px; }
.olk-party-filters > button { order: -1; }
.olk-party-filters .type-segments { flex-shrink: 0; width: auto; margin: 0; }
.olk-party-filters > select { min-height: 44px; width: auto; flex: 1 1 160px; }
.olk-party-filters .advanced-filters { margin: 0; width: 100%; border: 0; }
.olk-party-filters .advanced-filters summary { font-size: 14px; cursor: pointer; padding: 8px 0; }
.olk-party-filters .extended-filters { padding: 8px 0 0; gap: 10px; }
.olk-party-filters .extended-filters .form-field { gap: 4px; }
.olk-party-filters .field-label { font-size: 14px; }
.olk-server-pager { position: sticky; bottom: 0; z-index: 4; background: var(--olk-surface); padding: 10px 14px; gap: 12px; font-size: 15px; }
.olk-server-pager > div { gap: 14px; }
.olk-record-primary-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; align-items: stretch; }
.olk-record-primary-grid .info-grid { padding: 12px 16px; gap: 14px 12px; }
.olk-record-primary-grid .info-grid dt { font-size: 14px; margin-bottom: 4px; color: var(--olk-muted); }
.olk-record-primary-grid .info-grid dd { font-size: 16px; line-height: 1.4; overflow-wrap: anywhere; }
.olk-record-primary-grid .panel { margin: 0; }
.olk-record-primary-grid .panel-header { min-height: 50px; }
.olk-record-collection { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,280px),1fr)); align-items: start; gap: 14px; }
.olk-record-collection > .olk-local-pager { grid-column: 1 / -1; }
.olk-record-card { padding: 18px; overflow-wrap: anywhere; }
.olk-record-card h2 { font-size: 18px; margin-bottom: 10px; }
.olk-record-card p { margin-bottom: 12px; font-size: 16px; }
.olk-record-card footer { color: var(--olk-muted); font-size: 14px; }
.olk-record-footer { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 12px 0; font-size: 14px; color: var(--olk-muted); }
.olk-section-actions { display: flex; justify-content: space-between; align-items: center; gap: 14px; margin: 8px 0 14px; }
.olk-section-actions h2 { font-size: 20px; margin: 0; }
.olk-settings-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.olk-settings-grid > .olk-local-pager { grid-column: 1 / -1; }
.sms-panel { margin-bottom: 16px; }
.sms-panel > p, .sms-panel > form, .sms-panel > .pagination { margin-left: 16px; margin-right: 16px; }
.sms-panel > .commerce-contract-facts { margin: 0 16px 16px; }
.olk-settings-link { display: flex; align-items: center; gap: 18px; padding: 22px; }
.olk-settings-link > .icon { width: 28px; height: 28px; }
.olk-settings-link h2 { font-size: 19px; margin-bottom: 6px; }
.olk-settings-link p { font-size: 15px; margin: 0; color: var(--olk-muted); }
.olk-settings-link > span { margin-left: auto; display: inline-flex; align-items: center; gap: 8px; }
.olk-settings-link:hover { border-color: var(--olk-focus); background: var(--olk-surface-hover); }
.olk-account-columns { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 16px; }
.olk-account-columns > section { border: 1px solid var(--olk-border); border-radius: var(--olk-radius-md); padding: 16px; background: var(--olk-surface); }
.olk-account-columns h3 { font-size: 18px; }
.olk-account-columns .form-field { margin-bottom: 12px; }
.olk-account-columns .check-list { display: grid; grid-template-columns: 1fr; }
.olk-operator-shell .olk-section-tab { padding: 9px 12px; font-size: 15px; }
@media (min-width: 1180px) and (max-height: 800px) {
  .olk-operator-shell #main-content:not(.has-page-editor) { padding-top: 12px; }
  .olk-operator-shell .page-header { margin-bottom: 12px; }
  .olk-home-action { min-height: 70px; padding: 12px; }
  .olk-home-counts { padding: 8px 0; margin-bottom: 12px; }
  .olk-home-counts > div { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
  .olk-home .panel-header { padding-top: 6px; padding-bottom: 6px; }
  .olk-record-primary-grid .info-grid { gap: 8px 12px; padding-top: 8px; padding-bottom: 8px; }
  .olk-record-primary-grid .info-grid dt { line-height: 1.35; margin-bottom: 3px; }
  .olk-record-primary-grid .info-grid dd { line-height: 1.3; }
  .olk-record-footer { padding: 6px 0; }
}
@media (min-width: 1180px) {
  .olk-operator-shell .olk-party-filters { display: grid; grid-template-columns: 260px minmax(160px,1fr) 180px 90px 90px; }
  .olk-party-filters .search-input { grid-area: 1 / 1 / 2 / 4; }
  .olk-party-filters > button[type="submit"] { grid-area: 1 / 4; }
  .olk-party-filters > button[data-action="clear-party-filters"] { grid-area: 1 / 5; }
  .olk-party-filters .type-segments { grid-area: 2 / 1; }
  .olk-party-filters > select { max-width: none; width: 100%; }
  .olk-party-filters > select[name="status"] { grid-area: 2 / 2; }
  .olk-party-filters > select[name="archived"] { grid-area: 2 / 3; }
  .olk-party-filters .advanced-filters { grid-area: 2 / 4 / 3 / 6; }
  .olk-party-filters .advanced-filters[open] { grid-area: 3 / 1 / 4 / 6; }
  .olk-party-filters .advanced-filters summary { min-height: 44px; padding: 11px 8px; }
}
@media (max-width: 1179px) {
  .olk-record-primary-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .olk-record-primary-grid > :last-child { grid-column: 1 / -1; }
  .olk-account-columns { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .olk-home-action { gap: 8px; padding: 12px; }
  .olk-home-action > .icon { display: none; }
}
@media (max-width: 780px) {
  .olk-operator-shell .sidebar { --olk-sidebar-width: 260px; }
  .olk-operator-shell .mobile-menu { display: inline-flex; }
  .olk-operator-shell #main-content:not(.has-page-editor) { padding: 14px 12px 24px; }
  .olk-home-actions, .olk-record-primary-grid, .olk-settings-grid, .olk-account-columns { grid-template-columns: 1fr; }
  .olk-record-primary-grid > :last-child { grid-column: auto; }
  .olk-home-counts > div { padding: 0 10px; }
  .olk-home-counts span { font-size: 13px; }
  .olk-home-counts strong { font-size: 23px; }
  .olk-operator-shell .panel-header { flex-wrap: wrap; }
  .olk-server-pager, .olk-server-pager > div { flex-wrap: wrap; }
  .olk-record-footer { flex-wrap: wrap; }
}
@media (max-width: 480px) {
  .olk-operator-shell .theme-toggle-label { display: inline; }
  .olk-operator-shell .theme-toggle { width: auto; min-height: 44px; font-size: 14px; }
  .olk-operator-shell .topbar { padding: 6px 10px; gap: 8px; }
}
