/* =====================================================================
   CorpDesk — temas visuais.  <html data-app-theme="..."> escolhe o tema.
   Para criar um tema: copie um bloco, troque as cores e registre em core/themes.py.
   ===================================================================== */
@font-face { font-family: "Josefin Sans"; font-weight: 400; font-display: swap; src: url("../vendor/fonts/josefin-sans-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Josefin Sans"; font-weight: 600; font-display: swap; src: url("../vendor/fonts/josefin-sans-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Josefin Sans"; font-weight: 700; font-display: swap; src: url("../vendor/fonts/josefin-sans-latin-700-normal.woff2") format("woff2"); }

/* ---------------------------------------------------------- Clássico (padrão) */
:root, [data-app-theme="classico"] {
  --app-bg: #f4f6f9; --app-surface: #ffffff; --app-border: #e3e7ee; --app-text: #212529; --app-text-2: #555; --app-muted: #6c757d;
  --heading-font: inherit; --heading-color: #1d2530;
  --brand: #1f3a5f; --brand-2: #2f6fb0; --danger-text: #c62828;
  --sidebar-bg: #1f3a5f; --sidebar-brand: #fff; --sidebar-text: rgba(255,255,255,.78); --sidebar-text-hover: #fff; --sidebar-hover-bg: rgba(255,255,255,.08);
  --sidebar-active-text: #fff; --sidebar-active-bg: rgba(255,255,255,.08); --sidebar-active-border: #7fb3ff; --sidebar-section: rgba(255,255,255,.45);
  --topbar-bg: #fff; --radius: .5rem; --control-radius: .375rem; --btn-radius: .375rem; --badge-radius: .375rem;
  --card-shadow: 0 1px 2px rgba(16,24,40,.04);
  --kcol-bg: #e9edf3; --kcard-bg: #fff; --kcard-radius: .4rem; --kcard-shadow: 0 1px 2px rgba(0,0,0,.08);
  --prio-baixa: #6c757d; --prio-media: #0d6efd; --prio-alta: #fd7e14; --prio-urgente: #dc3545;
  --org-line: #b8c2d0; --avatar-bg: #2f6fb0;
}

/* ---------------------------------------------------------- Noturno */
[data-app-theme="noturno"] {
  --app-bg: #0f1115; --app-surface: #171a21; --app-border: #262b36; --app-text: #e6e8ec; --app-text-2: #b7bcc6; --app-muted: #8a909c;
  --heading-color: #f1f3f6; --brand: #3987e5; --brand-2: #3987e5; --danger-text: #ff7b7b;
  --sidebar-bg: #0b0d11; --sidebar-border: #1d2129; --sidebar-brand: #fff; --sidebar-text: #aeb4bf; --sidebar-text-hover: #fff; --sidebar-hover-bg: #161a22;
  --sidebar-active-text: #fff; --sidebar-active-bg: #182234; --sidebar-active-border: #3987e5; --sidebar-section: #5f6673;
  --topbar-bg: #12151b; --card-shadow: none;
  --kcol-bg: #1b1f27; --kcard-bg: #232834; --kcard-shadow: 0 1px 2px rgba(0,0,0,.4);
  --prio-baixa: #6b7280; --prio-media: #3987e5; --prio-alta: #e8913a; --prio-urgente: #e66767;
  --org-line: #3a4150; --avatar-bg: #2a5fa3;
  --bs-body-bg: #0f1115; --bs-body-color: #e6e8ec; --bs-border-color: #2b3140; --bs-secondary-bg: #1b1f27; --bs-tertiary-bg: #171a21;
}
[data-app-theme="noturno"] .table-light { --bs-table-bg: #1b1f27; --bs-table-color: #d5d9e0; --bs-table-border-color: #2b3140; }
[data-app-theme="noturno"] .text-bg-light { background: #232834 !important; color: #d5d9e0 !important; }
[data-app-theme="noturno"] .btn-dark { --bs-btn-bg: #3987e5; --bs-btn-border-color: #3987e5; --bs-btn-hover-bg: #2a78d6; }

/* ---------------------------------------------------------- Grafite */
[data-app-theme="grafite"] {
  --app-bg: #f5f5f7; --app-surface: #ffffff; --app-border: #e4e4e9; --app-text: #1f2024; --app-text-2: #4d4f57; --app-muted: #71737c;
  --heading-color: #17181c; --brand: #6250d6; --brand-2: #6250d6; --danger-text: #c62828;
  --sidebar-bg: #2b2d33; --sidebar-brand: #fff; --sidebar-brand-icon: #b3a9ef; --sidebar-text: #c9cad1; --sidebar-text-hover: #fff; --sidebar-hover-bg: #34363e;
  --sidebar-active-text: #fff; --sidebar-active-bg: #3a3650; --sidebar-active-border: #9085e9; --sidebar-section: #80828c;
  --topbar-bg: #fff; --radius: .7rem; --control-radius: .5rem; --btn-radius: .5rem;
  --card-shadow: 0 1px 3px rgba(20,20,30,.05);
  --kcol-bg: #ececf1; --kcard-radius: .5rem;
  --prio-baixa: #a0a2ab; --prio-media: #8a7de4; --prio-alta: #e0893a; --prio-urgente: #d03b3b;
  --org-line: #c9c9d2; --avatar-bg: #6250d6;
  --bs-primary: #6250d6; --bs-primary-rgb: 98,80,214; --bs-link-color: #5442c4; --bs-link-color-rgb: 84,66,196; --bs-link-hover-color: #3c2d96;
}
[data-app-theme="grafite"] .btn-primary { --bs-btn-bg: #6250d6; --bs-btn-border-color: #6250d6; --bs-btn-hover-bg: #5442c4; --bs-btn-hover-border-color: #5442c4; --bs-btn-active-bg: #4b3bb8; }
[data-app-theme="grafite"] .btn-outline-primary { --bs-btn-color: #5442c4; --bs-btn-border-color: #6250d6; --bs-btn-hover-bg: #6250d6; --bs-btn-hover-border-color: #6250d6; }
[data-app-theme="grafite"] .page-link { --bs-pagination-active-bg: #6250d6; --bs-pagination-active-border-color: #6250d6; --bs-pagination-color: #5442c4; }
[data-app-theme="grafite"] .text-bg-primary { background-color: #6250d6 !important; }
[data-app-theme="grafite"] .btn-dark { --bs-btn-bg: #2b2d33; }

/* ---------------------------------------------------------- Terracota
   Creme + bordô/terracota/mostarda; títulos Josefin Sans em caixa alta; cantos arredondados; botões em pílula. */
[data-app-theme="terracota"] {
  --app-bg: #f3ece4; --app-surface: #fffcf8; --app-border: #ead9c8; --app-text: #3a221d; --app-text-2: #6b4a40; --app-muted: #8f7468;
  --heading-font: "Josefin Sans", system-ui, sans-serif; --heading-color: #3b1d18;
  --label-case: uppercase; --label-spacing: .08em; --th-size: .78rem; --brand-case: uppercase; --brand-spacing: .12em;
  --brand: #7a2430; --brand-2: #b5452f; --danger-text: #b42323;
  --sidebar-bg: #fbf6f0; --sidebar-border: #ead9c8; --sidebar-brand: #7a2430; --sidebar-brand-icon: #c4553a;
  --sidebar-text: #5b3a33; --sidebar-text-hover: #7a2430; --sidebar-hover-bg: #f3e6da;
  --sidebar-active-text: #fff; --sidebar-active-bg: linear-gradient(90deg, #7a2430, #b5452f); --sidebar-active-border: #e2b04a; --sidebar-section: #a5897b;
  --sidebar-item-margin: 1px .6rem; --sidebar-item-radius: 999px;
  --topbar-bg: #fbf6f0; --radius: 14px; --control-radius: 10px; --btn-radius: 999px; --badge-radius: 999px;
  --card-shadow: 0 2px 10px rgba(122,36,48,.06);
  --kcol-bg: #f7efe7; --kcol-border: #ead9c8; --kcol-head-text: #fff; --kcard-bg: #fffdfa; --kcard-radius: 10px; --kcard-border: #efe2d6;
  --kcard-shadow: 0 1px 4px rgba(122,36,48,.08);
  --prio-baixa: #c9b8a8; --prio-media: #d9a441; --prio-alta: #c4553a; --prio-urgente: #7a2430;
  --org-line: #d9c3b3; --avatar-bg: linear-gradient(135deg, #7a2430, #c4553a);
  --bs-primary: #b5452f; --bs-primary-rgb: 181,69,47; --bs-link-color: #9c3a2a; --bs-link-color-rgb: 156,58,42; --bs-link-hover-color: #7a2430;
  --bs-border-color: #e3cfbd; --bs-secondary-bg: #f6ece2; --bs-tertiary-bg: #f9f1e9; --bs-body-color: #3a221d;
}
[data-app-theme="terracota"] .sidebar .nav-link { border-left: 0; }
[data-app-theme="terracota"] .sidebar .nav-link.active { box-shadow: 0 2px 8px rgba(122,36,48,.25); }
[data-app-theme="terracota"] .topbar h1 { font-weight: 700; }
[data-app-theme="terracota"] .btn-primary { --bs-btn-bg: #b5452f; --bs-btn-border-color: #b5452f; --bs-btn-hover-bg: #8c2f2b; --bs-btn-hover-border-color: #8c2f2b; --bs-btn-active-bg: #7a2430; font-family: var(--heading-font); text-transform: uppercase; letter-spacing: .06em; font-weight: 700; }
[data-app-theme="terracota"] .btn-outline-primary { --bs-btn-color: #9c3a2a; --bs-btn-border-color: #c4553a; --bs-btn-hover-bg: #b5452f; --bs-btn-hover-border-color: #b5452f; }
[data-app-theme="terracota"] .btn-outline-secondary { --bs-btn-color: #6b3a30; --bs-btn-border-color: #d9c3b3; --bs-btn-hover-bg: #f3e6da; --bs-btn-hover-color: #7a2430; --bs-btn-hover-border-color: #c9a995; }
[data-app-theme="terracota"] .btn-dark { --bs-btn-bg: #7a2430; --bs-btn-border-color: #7a2430; --bs-btn-hover-bg: #5e1b25; }
[data-app-theme="terracota"] .btn-success { --bs-btn-bg: #4f7a4a; --bs-btn-border-color: #4f7a4a; --bs-btn-hover-bg: #3f633b; }
[data-app-theme="terracota"] .page-link { --bs-pagination-active-bg: #b5452f; --bs-pagination-active-border-color: #b5452f; --bs-pagination-color: #9c3a2a; --bs-pagination-bg: #fffcf8; }
[data-app-theme="terracota"] .text-bg-primary { background-color: #b5452f !important; }
[data-app-theme="terracota"] .text-bg-secondary { background-color: #8f7468 !important; }
[data-app-theme="terracota"] .text-bg-light { background-color: #f3e6da !important; color: #6b3a30 !important; }
[data-app-theme="terracota"] .table-light { --bs-table-bg: #f6ece2; --bs-table-color: #6b3a30; }
[data-app-theme="terracota"] .form-control, [data-app-theme="terracota"] .form-select { background-color: #fffdfa; border-color: #e3cfbd; }
[data-app-theme="terracota"] .form-control:focus, [data-app-theme="terracota"] .form-select:focus { border-color: #c4553a; box-shadow: 0 0 0 .2rem rgba(196,85,58,.15); }
[data-app-theme="terracota"] .list-group-item.active { background: linear-gradient(90deg, #7a2430, #b5452f); border-color: #7a2430; }
[data-app-theme="terracota"] .avatar { background: linear-gradient(135deg, #7a2430, #c4553a); }
/* colunas do Kanban com cabeçalhos em degradê (bordô → terracota → mostarda → oliva), como no mockup */
[data-app-theme="terracota"] .kcol:nth-child(4n+1) .kcol-head { background: linear-gradient(135deg, #5e1b25, #8c2f3a); }
[data-app-theme="terracota"] .kcol:nth-child(4n+2) .kcol-head { background: linear-gradient(135deg, #a33a2b, #d0684a); }
[data-app-theme="terracota"] .kcol:nth-child(4n+3) .kcol-head { background: linear-gradient(135deg, #c98f2c, #e6bd62); color: #3b1d18; }
[data-app-theme="terracota"] .kcol:nth-child(4n+4) .kcol-head { background: linear-gradient(135deg, #4f6b4a, #77956e); }
[data-app-theme="terracota"] .kcol-head .badge { background: rgba(255,255,255,.25) !important; color: inherit; }
[data-app-theme="terracota"] .kcol-head .btn-link { color: inherit; }
[data-app-theme="terracota"] .kcard .ktitle { font-weight: 600; color: #3b1d18; }

/* ---------------------------------------------------------- Login (segue o tema padrão da empresa) */
.login-bg { min-height: 100vh; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #1f3a5f, #2f6fb0); }
[data-app-theme="noturno"] .login-bg { background: linear-gradient(135deg, #07090c, #1b2433); }
[data-app-theme="grafite"] .login-bg { background: linear-gradient(135deg, #2b2d33, #4b3bb8); }
[data-app-theme="terracota"] .login-bg { background: linear-gradient(135deg, #5e1b25 0%, #b5452f 55%, #e2b04a 100%); }
[data-app-theme="terracota"] .login-bg .card { background: #fffcf8; }
/* dropdowns, listas e rodapés seguem o tema */
[data-app-theme] .dropdown-menu { --bs-dropdown-bg: var(--app-surface); --bs-dropdown-border-color: var(--app-border); --bs-dropdown-link-color: var(--app-text);
  --bs-dropdown-link-hover-bg: color-mix(in srgb, var(--brand-2) 10%, transparent); --bs-dropdown-link-active-bg: color-mix(in srgb, var(--brand-2) 18%, transparent); --bs-dropdown-link-active-color: var(--app-text); }
[data-app-theme] .list-group { --bs-list-group-bg: var(--app-surface); --bs-list-group-border-color: var(--app-border); --bs-list-group-color: var(--app-text); }
[data-app-theme] .text-muted { color: var(--app-muted) !important; }
[data-app-theme="noturno"] .modal-content, [data-app-theme="noturno"] .form-control, [data-app-theme="noturno"] .form-select { background-color: #12151b; }

/* Cores das etapas do fluxo (sempre acompanhadas do número da etapa) */
:root, [data-app-theme="classico"], [data-app-theme="grafite"] { --stg1: #eda100; --stg1-ink: #1d1d1d; --stg2: #eb6834; --stg3: #6250d6; --stg4: #0ca30c; }
[data-app-theme="noturno"] { --stg1: #c98500; --stg1-ink: #fff; --stg2: #d95926; --stg3: #9085e9; --stg4: #0ca30c; }
[data-app-theme="terracota"] { --stg1: #d9a441; --stg1-ink: #3b1d18; --stg2: #c4553a; --stg3: #7a2430; --stg4: #4f7a4a; }
