/* Approved light application design from output/sarvamin-app, shared by all modules. */
:root {
  --sarv: #295a41;
  --sarv-2: #244e39;
  --sarv-3: #e8f1e3;
  --core-green: #295a41;
  --green: #295a41;
  --green-soft: #e8f1e3;
  --sage-soft: #e8f1e3;
  --ivory: #f3f5ef;
  --ivory-2: #f8faf5;
  --bg: #f3f5ef;
  --surface: #fffefa;
  --surface-2: #f6f8f1;
  --ink: #243c30;
  --ink-2: #45624c;
  --muted: #647569;
  --line: #dfe6d9;
  --line-strong: #bacbb4;
  --blue: #315f8d;
  --blue-soft: #e8eff6;
  --lapis: #315f8d;
  --lapis-soft: #e8eff6;
  --amber: #855c19;
  --amber-soft: #fbf0d7;
  --earth: #855c19;
  --earth-soft: #fbf0d7;
  --danger: #9c4436;
  --danger-soft: #f6e5df;
  --terracotta: #9c4436;
  --terracotta-soft: #f6e5df;
  --r-lg: 16px;
  --r-md: 14px;
  --r-sm: 12px;
  --shadow: 0 2px 10px #243c3005;
  --shadow-soft: 0 2px 10px #243c3005;
}
html, body { background: var(--bg); color: var(--ink); }
body { font-family: Vazirmatn, Tahoma, Arial, sans-serif; }
body::before { display: none; }
button, input, select, textarea { font-family: inherit; }
button { transition: background-color 160ms, border-color 160ms, color 160ms; }
button:focus-visible, a:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, summary:focus-visible {
  outline: 2px solid var(--green); outline-offset: 3px;
}
h1, h2, h3 { color: var(--ink); }
.muted, .core-subtle, .core-kicker, small { color: var(--muted); }
.brand-wordmark { width: 130px; height: 76px; object-fit: contain; display: block; mix-blend-mode: multiply; }
.core-header, header:not(.core-header), .side { background: var(--surface); border-color: var(--line); }
.side[hidden] { display: none !important; }
.core-header { padding-block: 8px; gap: 20px; }
.core-header nav button { min-height: 44px; color: var(--muted); }
.core-header nav button.active { background: var(--green-soft)!important; color: var(--green)!important; }
.core-management > div { background: var(--surface); border-color: var(--line); box-shadow: var(--shadow); }
.core-primary, .primary, .btn-primary { background: var(--green)!important; border-color: var(--green); color: #fff!important; }
.core-primary:hover, .primary:hover, .btn-primary:hover { background: var(--sarv-2)!important; }
.core-btn, .btn, .secondary { background: var(--surface); border-color: var(--line); color: var(--ink-2); }
.core-btn:hover, .btn:hover, .secondary:hover { background: var(--surface-2); }
.module-card, .core-panel, .panel, .card, .stat, .chat-card, .task-discussion {
  background: var(--surface); border-color: var(--line); border-radius: 14px; box-shadow: var(--shadow);
}
.core-attention, .attention-hero { background: var(--surface); border-color: var(--line); }
.core-attention h2 { color: var(--ink); }
.module-icon, .core-tag { background: var(--green-soft); color: var(--green); }
.core-tip { background: var(--blue-soft); color: var(--blue); }
.core-row, .row-divider, .report-list-row { border-color: var(--line); }
.core-panel input, .core-panel select, .core-panel textarea,
input, select, textarea { background: var(--surface); border-color: var(--line); }
.core-panel :is(input, select, textarea):focus,
:is(input, select, textarea):focus { border-color: var(--green); }
.core-panel fieldset, #conditionForm fieldset, #reportReminderForm fieldset { border-color: var(--line); }
input[type=checkbox] { accent-color: var(--green); }
.core-badge, #nav .navbadge, #nav .active .navbadge { background: #d9363e!important; color: #fff!important; }
.core-frame { background: var(--bg); }
.core-main { padding-top: 30px; }
.table, .task-sheet, .report-sheet { background: var(--surface); }
.table th, .task-sheet th, .report-sheet th, .report-builder-table th { background: var(--surface-2); color: var(--muted); }
.table td, .task-sheet td, .report-sheet td { border-color: var(--line); }
.table tbody tr:hover, .task-sheet tbody tr:hover { background: var(--surface-2); }
.task-sheet .inline-task-row td { background: var(--surface-2); }
.inline-task-panel { border-color: var(--line-strong); }
.chat-heading, .chathead, .composer, .channel-list { background: var(--surface); border-color: var(--line); }
.message-list { background: var(--surface); }
.bubble { background: var(--green-soft); color: var(--ink); }
.message.mine .bubble, .message.own .bubble { background: var(--green); color: #fff; }
.message-menu-panel { background: var(--surface); border-color: var(--line); }
.channel-list button.selected, .channel-list button.active { background: var(--green-soft); color: var(--green); }
.avatar { background: #e4ecdf; color: var(--green); }
.assigned-report-chip, .personnel-tabs .selected, .inline-task-tabs .selected { background: var(--green-soft); color: var(--green); }
.side .nav button.active { background: var(--green); color: #fff; }
.side .nav button:hover { background: var(--green-soft); color: var(--green); }
.side .nav button.active:hover { background: var(--sarv-2); color: #fff; }
.page-title, .panel h2 { color: var(--ink); }
dialog { background: var(--surface); border-color: var(--line); border-radius: 16px; }
.login-card, .login-footer-card { background: var(--surface); border-color: var(--line); }
.login-card-logo, .login-logo-full { object-fit: contain; mix-blend-mode: multiply; }
.login-card-logo { width: 185px; height: 108px; }
.login-logo-full { width: 200px; height: 116px; background: var(--surface); border-radius: 14px; padding: 8px; }
@media (max-width: 760px) {
  .brand-wordmark { width: 104px; height: 60px; }
  .core-header { gap: 8px; padding-top: max(8px, env(safe-area-inset-top)); }
  .core-main { padding-top: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none!important; animation: none!important; scroll-behavior: auto!important; }
}
