/* Finora MP polish layer
   Shared refinements for production app screens. Mailbox and Workflows do not load this file. */
:root {
  --mp-ink: #0f172a;
  --mp-muted: #64748b;
  --mp-soft: #f6f8fc;
  --mp-line: rgba(148, 163, 184, .22);
  --mp-line-strong: rgba(100, 116, 139, .22);
  --mp-blue: #0f172a;
  --mp-blue-2: #1e293b;
  --mp-green: #41d816;
  --mp-red: #ef4444;
  --finora-brand-green: #62ff13;
  --finora-brand-green-2: #41d816;
  --finora-brand-carbon: #07111f;
  --finora-brand-slate: #64748b;
  --mp-radius: 14px;
  --mp-radius-sm: 10px;
  --mp-shadow-sm: 0 1px 2px rgba(15, 23, 42, .05);
  --mp-shadow: 0 16px 42px rgba(15, 23, 42, .08);
  --mp-shadow-lg: 0 26px 80px rgba(15, 23, 42, .12);
  --mp-ease: cubic-bezier(.22, .61, .36, 1);
  --mp-spring: cubic-bezier(.34, 1.56, .64, 1);
}

html {
  scrollbar-gutter: stable;
}

body {
  text-rendering: optimizeLegibility;
}

::selection {
  background: rgba(44, 108, 246, .18);
  color: var(--mp-ink);
}

button,
a,
input,
select,
textarea,
[role="button"] {
  -webkit-tap-highlight-color: transparent;
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid rgba(44, 108, 246, .22);
  outline-offset: 3px;
}

.rl-body,
body[data-page="app"],
body[data-page="calendar"],
body[data-page="crm"],
body[data-page="workers"],
body[data-workspace-theme="desktop"] {
  background:
    radial-gradient(circle at 12% 0%, rgba(44, 108, 246, .07), transparent 28rem),
    radial-gradient(circle at 82% 4%, rgba(16, 185, 129, .055), transparent 26rem),
    #f6f8fb;
}

.rl-body,
body[data-page="workers"] {
  overflow-x: hidden;
}

.rl-main,
.v-main,
.main-shell,
.meeting-shell {
  min-width: 0;
  overflow-x: hidden;
}

.rl-content,
.v-content,
.main-content,
.project-home,
.main-layout,
.meeting-layout,
.workspace-admin-shell {
  min-width: 0;
}

.rl-topbar,
.main-topbar,
.v-content > .fn-context-rail:first-child,
.fn-context-rail {
  backdrop-filter: blur(18px) saturate(1.16);
  -webkit-backdrop-filter: blur(18px) saturate(1.16);
}

.rl-topbar,
.main-topbar {
  border-color: rgba(226, 232, 240, .82);
  box-shadow: 0 12px 42px rgba(15, 23, 42, .055);
  min-width: 0;
}

.rl-tabs,
.fn-section-tabs,
.wk-global-tabs {
  gap: 6px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  scrollbar-width: none;
}

.rl-tabs::-webkit-scrollbar,
.fn-section-tabs::-webkit-scrollbar,
.wk-global-tabs::-webkit-scrollbar {
  display: none;
}

.rl-tab,
.fn-tab {
  min-height: 38px;
  border-radius: 12px;
  white-space: nowrap;
  transition: background .18s var(--mp-ease), color .18s var(--mp-ease), transform .18s var(--mp-spring), box-shadow .18s var(--mp-ease);
}

.rl-tab:hover,
.fn-tab:hover {
  transform: translateY(-1px);
  box-shadow: var(--mp-shadow-sm);
}

.rl-nav-item,
.fn-nav-item,
.v-nav-item,
.wk-nav-item,
.meeting-shortcut-link {
  transition: background .18s var(--mp-ease), color .18s var(--mp-ease), transform .18s var(--mp-spring), box-shadow .18s var(--mp-ease);
}

.rl-nav-item:hover,
.fn-nav-item:hover,
.v-nav-item:hover,
.wk-nav-item:hover,
.meeting-shortcut-link:hover {
  transform: translateX(2px);
}

.rl-nav-item--active,
.fn-nav-item--active,
.v-nav-item--active,
.wk-nav-item--active,
.meeting-shortcut-link.is-active {
  box-shadow: inset 0 0 0 1px rgba(44, 108, 246, .08);
}

.rl-card,
.rl-stat-card,
.rl-list-card,
.rl-preview-card,
.rl-table-shell,
.crm-card,
.crm-detail,
.crm-list,
.crm-side-card,
.cal-panel,
.cal-card,
.bk-card,
.bk-panel,
.v-card,
.v-stat,
.v-table-shell,
.v-modal-card,
.main-pane,
.main-catalog-card,
.main-template-preview-card,
.project-desktop-ai,
.project-desktop-workspace,
.project-desktop-surface,
.workspace-context-panel,
.workspace-admin-card,
.workspace-admin-stage,
.meeting-pane,
.meeting-sidebar,
.meeting-mail-card,
.meeting-form,
.templates-pane,
.chat-pane {
  border-color: rgba(226, 232, 240, .9);
  box-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 18px 48px rgba(15, 23, 42, .055);
}

.rl-card,
.rl-stat-card,
.rl-list-card,
.rl-preview-card,
.rl-table-shell,
.crm-card,
.crm-detail,
.crm-list,
.crm-side-card,
.cal-panel,
.cal-card,
.bk-card,
.bk-panel,
.v-card,
.v-stat,
.v-table-shell,
.main-pane,
.main-catalog-card,
.project-desktop-workspace,
.project-desktop-surface,
.workspace-admin-card,
.workspace-admin-stage,
.meeting-mail-card {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(255, 255, 255, .93)),
    #ffffff;
}

.rl-card:hover,
.rl-stat-card:hover,
.rl-list-card:hover,
.crm-card:hover,
.cal-card:hover,
.bk-card:hover,
.v-card:hover,
.v-stat:hover,
.workspace-admin-card:hover {
  border-color: rgba(44, 108, 246, .20);
  box-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 20px 54px rgba(15, 23, 42, .075);
}

.rl-page-head,
.crm-head,
.bk-head,
.cal-head,
.v-page-head,
.v-detail-head,
.workspace-admin-stage-head {
  align-items: flex-start;
}

.rl-title,
.crm-title,
.bk-title,
.cal-title,
.v-page-title,
.v-detail-title,
.main-title,
.project-desktop-copy h1,
.workspace-admin-stage-head h2,
.meeting-head-copy h1 {
  letter-spacing: -.03em;
  text-wrap: balance;
}

.rl-subtitle,
.crm-subtitle,
.bk-subtitle,
.cal-subtitle,
.v-page-sub,
.main-pane-sub,
.project-desktop-copy p,
.workspace-admin-detail-subcopy,
.meeting-head-copy p {
  color: #64748b;
  line-height: 1.55;
}

.rl-actions,
.rl-page-actions,
.crm-actions,
.bk-actions,
.cal-actions,
.v-page-actions,
.v-detail-actions,
.main-top-actions,
.workspace-context-actions {
  flex-wrap: wrap;
}

.rl-btn,
.v-btn,
.main-btn,
.project-home-actions button,
.project-home-actions a,
.workspace-context-actions a,
.workspace-admin-action-row button,
.workspace-admin-action-grid button,
.meeting-primary-action,
.meeting-mail-actions button {
  min-height: 38px;
  font-weight: 800;
  border-radius: 12px;
  transition: transform .18s var(--mp-spring), box-shadow .18s var(--mp-ease), border-color .18s var(--mp-ease), background .18s var(--mp-ease), color .18s var(--mp-ease);
}

.rl-btn:hover,
.v-btn:hover,
.main-btn:hover,
.project-home-actions button:hover,
.project-home-actions a:hover,
.workspace-context-actions a:hover,
.workspace-admin-action-row button:hover,
.workspace-admin-action-grid button:hover,
.meeting-primary-action:hover,
.meeting-mail-actions button:hover {
  transform: translateY(-1px);
}

.rl-btn--primary,
.v-btn--primary,
.main-btn.primary,
.workspace-context-actions a:first-child,
.meeting-primary-action {
  box-shadow: 0 12px 26px rgba(44, 108, 246, .24), inset 0 1px 0 rgba(255, 255, 255, .26);
}

.rl-filterbar,
.v-filterbar,
.crm-filterbar,
.bk-filterbar,
.cal-filterbar,
.project-desktop-search-row,
.workspace-admin-search,
.meeting-search-shell {
  border-color: rgba(226, 232, 240, .9);
  box-shadow: 0 10px 28px rgba(15, 23, 42, .045);
}

.rl-input,
.rl-select,
.rl-textarea,
.v-input,
.v-select,
.v-textarea,
.crm-input,
.bk-input,
.cal-input,
.main-input,
.main-list-search,
.project-home-search,
.workspace-admin-search input,
.workspace-admin-detail-form input,
.workspace-admin-detail-form select,
.workspace-admin-detail-form textarea,
.meeting-search-shell input,
.meeting-form textarea {
  border-color: rgba(203, 213, 225, .86);
  transition: border-color .18s var(--mp-ease), box-shadow .18s var(--mp-ease), background .18s var(--mp-ease);
}

.rl-input:focus,
.rl-select:focus,
.rl-textarea:focus,
.v-input:focus,
.v-select:focus,
.v-textarea:focus,
.crm-input:focus,
.bk-input:focus,
.cal-input:focus,
.main-input:focus,
.main-list-search:focus,
.project-home-search:focus,
.workspace-admin-search input:focus,
.workspace-admin-detail-form input:focus,
.workspace-admin-detail-form select:focus,
.workspace-admin-detail-form textarea:focus,
.meeting-search-shell input:focus,
.meeting-form textarea:focus {
  border-color: rgba(44, 108, 246, .55);
  box-shadow: 0 0 0 4px rgba(44, 108, 246, .12);
  outline: 0;
}

.rl-table-shell,
.v-table-shell {
  max-width: 100%;
  overflow: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(148, 163, 184, .42) transparent;
}

.rl-table,
.v-table {
  border-collapse: separate;
  border-spacing: 0;
}

.rl-table thead th,
.v-table thead th {
  background: rgba(248, 250, 252, .96);
  color: #64748b;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.rl-table tbody tr,
.v-table tbody tr {
  transition: background .16s var(--mp-ease), box-shadow .16s var(--mp-ease);
}

.rl-table tbody tr:hover,
.v-table tbody tr:hover {
  background: rgba(44, 108, 246, .035);
}

.rl-row,
.crm-row,
.bk-row,
.cal-event,
.v-table tbody tr,
.project-home-folder,
.main-folder-item,
.main-document-item,
.workspace-admin-user-item,
.meeting-chat-item {
  transition: background .18s var(--mp-ease), transform .18s var(--mp-spring), border-color .18s var(--mp-ease), box-shadow .18s var(--mp-ease);
}

.rl-row:hover,
.crm-row:hover,
.bk-row:hover,
.cal-event:hover,
.project-home-folder:hover,
.main-folder-item:hover,
.main-document-item:hover,
.workspace-admin-user-item:hover,
.meeting-chat-item:hover {
  transform: translateY(-1px);
}

.rl-popup-card,
.rl-modal-card,
.crm-modal-card,
.bk-modal-card,
.cal-dt,
.v-modal-card,
.workspace-admin-modal,
.main-modal-card {
  border: 1px solid rgba(226, 232, 240, .9);
  border-radius: 20px;
  box-shadow: var(--mp-shadow-lg);
}

.rl-popup,
.rl-modal,
.crm-modal,
.bk-modal,
.cal-overlay,
.v-modal {
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.rl-badge,
.v-status-pill,
.crm-badge,
.bk-badge,
.cal-badge,
.workspace-admin-mini,
.main-live-indicator,
.project-pane-badge {
  font-weight: 900;
  letter-spacing: .02em;
}

.main-topbar,
.workspace-context-panel,
.project-desktop-ai,
.project-desktop-workspace,
.workspace-admin-card,
.workspace-admin-stage,
.main-pane {
  position: relative;
}

.workspace-context-panel::before,
.project-desktop-ai::before,
.workspace-admin-card::before,
.main-pane::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background: linear-gradient(135deg, rgba(44, 108, 246, .10), transparent 32%, rgba(16, 185, 129, .055));
  opacity: .72;
}

.workspace-context-panel > *,
.project-desktop-ai > *,
.workspace-admin-card > *,
.main-pane > * {
  position: relative;
}

.project-desktop-shell {
  align-items: stretch;
}

.project-desktop-ai,
.project-desktop-workspace {
  overflow: hidden;
}

.project-home-list,
.main-folder-list,
.main-thread-list,
.main-document-list,
.workspace-admin-user-list,
.meeting-chat-list {
  scrollbar-width: thin;
  scrollbar-color: rgba(148, 163, 184, .38) transparent;
}

.project-home-folder,
.main-folder-item,
.main-document-item {
  border-radius: 14px;
}

.workspace-context-panel {
  margin: 18px 24px 0;
  border: 1px solid rgba(44, 108, 246, .14);
  border-radius: 22px;
  background: linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(240, 246, 255, .94));
  box-shadow: 0 18px 52px rgba(15, 23, 42, .07);
}

.workspace-context-actions a {
  text-decoration: none;
}

.fn-context-rail {
  overflow: hidden;
}

.fn-context-action {
  transition: transform .18s var(--mp-spring), box-shadow .18s var(--mp-ease), background .18s var(--mp-ease), color .18s var(--mp-ease);
}

.fn-context-action:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 28px rgba(44, 108, 246, .20);
}

body[data-page="chat"] .ch-shell,
body[data-page="chat"] .ch-list,
body[data-page="chat"] .ch-composer {
  min-width: 0;
}

body[data-page="chat"] .ch-message-bubble,
body[data-page="chat"] .w-card,
body[data-page="chat"] .w-customer-card,
body[data-page="chat"] .w-contract-card {
  border-color: rgba(226, 232, 240, .92);
  box-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 16px 44px rgba(15, 23, 42, .055);
}

body[data-page="chat"] .w-card,
body[data-page="chat"] .w-customer-card,
body[data-page="chat"] .w-contract-card {
  overflow: hidden;
}

body[data-page="chat"] .ch-composer {
  box-shadow: 0 -16px 54px rgba(15, 23, 42, .06);
}

body[data-page="calendar"] .cal-grid,
body[data-page="calendar"] .cal-body,
body[data-page="crm"] .crm-grid,
body[data-page="workers"] .wk-grid {
  min-width: 0;
}

.cal-day,
.crm-detail-card,
.wk-card {
  transition: transform .18s var(--mp-spring), box-shadow .18s var(--mp-ease), border-color .18s var(--mp-ease);
}

.cal-day:hover,
.crm-detail-card:hover,
.wk-card:hover {
  transform: translateY(-1px);
  border-color: rgba(44, 108, 246, .18);
}

.v-sidebar {
  box-shadow: 14px 0 40px rgba(15, 23, 42, .035);
}

.tmpl-page,
.wk-page {
  min-width: 0;
  max-width: 100%;
}

.tmpl-card {
  max-width: 100%;
  overflow-x: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(148, 163, 184, .42) transparent;
}

.tmpl-table {
  min-width: 720px;
}

.wk-header,
.wk-header-actions,
.wk-split-2,
.wk-split-3,
.wk-panel,
.wk-worker-dashboard,
.wk-worker-dash-actions {
  min-width: 0;
}

.v-table-shell,
.v-filterbar,
.v-meta,
.v-top-row-card,
.v-card,
.v-stat {
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.v-modal-card {
  max-height: min(88vh, 900px);
  overflow: auto;
}

@media (prefers-reduced-motion: no-preference) {
  .rl-card,
  .rl-stat-card,
  .rl-list-card,
  .rl-preview-card,
  .v-card,
  .v-stat,
  .workspace-admin-card,
  .main-pane,
  .project-desktop-ai,
  .project-desktop-workspace,
  .meeting-mail-card {
    animation: mp-rise .36s var(--mp-ease) both;
  }

  .rl-card:nth-child(2),
  .v-card:nth-child(2),
  .workspace-admin-card:nth-child(2) { animation-delay: .025s; }
  .rl-card:nth-child(3),
  .v-card:nth-child(3),
  .workspace-admin-card:nth-child(3) { animation-delay: .05s; }
  .rl-card:nth-child(4),
  .v-card:nth-child(4),
  .workspace-admin-card:nth-child(4) { animation-delay: .075s; }

  @keyframes mp-rise {
    from { opacity: .001; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
  }
}

@media (max-width: 1180px) {
  .rl-content,
  .v-content {
    padding-left: 22px;
    padding-right: 22px;
  }

  .workspace-context-panel {
    margin-left: 18px;
    margin-right: 18px;
  }

  .project-desktop-shell,
  .workspace-admin-shell,
  .main-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 820px) {
  .rl-content,
  .v-content {
    padding: 16px;
  }

  .rl-page-head,
  .crm-head,
  .bk-head,
  .cal-head,
  .v-page-head,
  .v-detail-head,
  .workspace-admin-stage-head,
  .meeting-head {
    flex-direction: column;
    gap: 12px;
  }

  .rl-actions,
  .rl-page-actions,
  .crm-actions,
  .bk-actions,
  .cal-actions,
  .v-page-actions,
  .v-detail-actions,
  .main-top-actions,
  .workspace-context-actions,
  .meeting-head-actions {
    width: 100%;
    overflow-x: auto;
    flex-wrap: nowrap;
    justify-content: flex-start;
    padding-bottom: 2px;
    scrollbar-width: none;
  }

  .rl-actions::-webkit-scrollbar,
  .rl-page-actions::-webkit-scrollbar,
  .crm-actions::-webkit-scrollbar,
  .bk-actions::-webkit-scrollbar,
  .cal-actions::-webkit-scrollbar,
  .v-page-actions::-webkit-scrollbar,
  .v-detail-actions::-webkit-scrollbar,
  .main-top-actions::-webkit-scrollbar,
  .workspace-context-actions::-webkit-scrollbar,
  .meeting-head-actions::-webkit-scrollbar {
    display: none;
  }

  .rl-actions > *,
  .rl-page-actions > *,
  .crm-actions > *,
  .bk-actions > *,
  .cal-actions > *,
  .v-page-actions > *,
  .v-detail-actions > *,
  .main-top-actions > *,
  .workspace-context-actions > *,
  .meeting-head-actions > * {
    flex: 0 0 auto;
  }

  .rl-table-shell,
  .v-table-shell {
    margin-left: -2px;
    margin-right: -2px;
  }

  .rl-tabs,
  .fn-section-tabs,
  .wk-global-tabs {
    width: 100%;
    max-width: calc(100vw - 32px);
    overflow-x: auto;
  }

  .tmpl-page {
    padding: 16px;
    overflow-x: hidden;
  }

  .tmpl-head,
  .wk-header {
    flex-direction: column;
    align-items: stretch;
  }

  .tmpl-head-right,
  .wk-header-actions {
    width: 100%;
    min-width: 0;
  }

  .tmpl-search {
    width: 100%;
    min-width: 0;
  }

  .tmpl-tabs {
    overflow-x: auto;
    scrollbar-width: none;
  }

  .tmpl-tabs::-webkit-scrollbar {
    display: none;
  }

  .wk-header-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .wk-header-actions .wk-btn {
    min-width: 0;
    justify-content: center;
    text-align: center;
  }

  .wk-split-2,
  .wk-split-3 {
    grid-template-columns: 1fr !important;
  }

  .wk-panel {
    width: 100%;
    max-width: 100%;
  }

  .wk-panel-head {
    flex-wrap: wrap;
    gap: 8px;
  }

  .workspace-context-panel,
  .fn-context-rail {
    border-radius: 18px;
  }

  .main-topbar {
    gap: 12px;
  }
}

@media (max-width: 560px) {
  .rl-title,
  .crm-title,
  .bk-title,
  .cal-title,
  .v-page-title,
  .v-detail-title,
  .main-title,
  .project-desktop-copy h1,
  .meeting-head-copy h1 {
    font-size: clamp(23px, 9vw, 32px);
  }

  .rl-stat-card,
  .v-stat,
  .workspace-admin-card,
  .main-pane,
  .project-desktop-ai,
  .project-desktop-workspace,
  .meeting-mail-card {
    border-radius: 16px;
  }

  .rl-btn,
  .v-btn,
  .main-btn,
  .workspace-context-actions a {
    min-height: 42px;
  }

  .fn-context-copy {
    width: 100%;
  }
}
