/* Thème « Dokles » — palette et typographie inspirées de dokles.io.
   Ne s'applique que lorsque <html data-theme="dokles">. Le thème par défaut est dans app.css. */

[data-theme="dokles"] {
  --bg: #f4f7f8;
  --panel: #fff;
  --line: #dde7ea;
  --line2: #ebf1f3;
  --head: #f6f9fa;
  --text: #1f2a37;
  --muted: #5d7177;
  --faint: #8fa3a8;
  --accent: #0f2f54;
  --accent-h: #0a2340;
  --accent-bg: #e3eef1;
  --navy: #0f2f54;
  --aqua: #d5e8eb;
  --aqua-2: #eaf4f5;
  --slate: #839da1;
  --ok: #2f7d5b;   --ok-bg: #e4f2ea;
  --warn: #9a6200; --warn-bg: #fbf0dc;
  --bad: #b3362b;  --bad-bg: #fbe9e7;
  --info: #2a6a8f; --info-bg: #e3f0f6;
  --pri: #0f2f54;  --pri-bg: #dde8f2;
  --neu: #55666b;  --neu-bg: #eef2f3;
  --c-previsit: #2a6a8f;
  --c-works: #c07a1e;
  --c-reception: #2f7d5b;
  --r: 7px;
}

[data-theme="dokles"] body {
  font-family: "Avenir Next", Avenir, "Nunito Sans", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  letter-spacing: .1px;
}

[data-theme="dokles"] a { color: #2a6a8f; }
[data-theme="dokles"] a:hover { color: var(--navy); }
[data-theme="dokles"] .ev, [data-theme="dokles"] .ev:hover { color: var(--text); }
[data-theme="dokles"] .who, [data-theme="dokles"] .bell, [data-theme="dokles"] .langs a { color: var(--muted); }

/* ---------- Shell: light sidebar, navy text ---------- */
[data-theme="dokles"] .app { grid-template-columns: 216px minmax(0, 1fr); }
[data-theme="dokles"] .side { background: #fff; color: var(--navy); border-right: 1px solid var(--line); }
[data-theme="dokles"] .brand { color: var(--navy); border-bottom: 1px solid var(--line2); font-size: 17px; font-weight: 600; letter-spacing: .3px; padding: 13px 16px; }
[data-theme="dokles"] .brand small { color: var(--slate); font-weight: 500; letter-spacing: .2px; }
[data-theme="dokles"] .nav-h { color: var(--slate); font-weight: 600; padding: 14px 16px 4px; }
[data-theme="dokles"] .nav a { color: #34495e; margin: 1px 8px; padding: 5px 8px; border-radius: 6px; white-space: nowrap; }
[data-theme="dokles"] .nav a:hover { background: var(--aqua-2); color: var(--navy); }
[data-theme="dokles"] .nav a.on { background: var(--aqua); color: var(--navy); font-weight: 600; box-shadow: none; }
[data-theme="dokles"] .nav .cnt { background: var(--aqua); color: var(--navy); font-weight: 600; }
[data-theme="dokles"] .nav a.on .cnt { background: #fff; }
[data-theme="dokles"] .nav .cnt.alert { background: var(--bad); color: #fff; }
[data-theme="dokles"] .top { border-bottom-color: var(--line); height: 44px; }
[data-theme="dokles"] .top .search input { background: var(--head); border-color: var(--line2); border-radius: 20px; padding-left: 12px; }
[data-theme="dokles"] .langs a.on { background: var(--aqua); color: var(--navy); }
[data-theme="dokles"] .ev .tm { color: var(--navy); }
[data-theme="dokles"] .content { padding: 14px 18px 32px; }
[data-theme="dokles"] .ph h1 { color: var(--navy); font-size: 17px; font-weight: 600; }

/* ---------- Cards and tables ---------- */
[data-theme="dokles"] .card, [data-theme="dokles"] .kpi, [data-theme="dokles"] .steps {
  border-color: var(--line2);
  box-shadow: 0 1px 2px rgba(15, 47, 84, .05), 0 2px 8px rgba(15, 47, 84, .04);
}
[data-theme="dokles"] .card > .hd { color: var(--navy); border-bottom-color: var(--line2); }
[data-theme="dokles"] .t th { background: var(--head); color: var(--slate); text-transform: uppercase; font-size: 10.5px; letter-spacing: .5px; }
[data-theme="dokles"] .t th a { color: var(--slate); }
[data-theme="dokles"] .t th a.on { color: var(--navy); }
[data-theme="dokles"] .t tbody tr:hover td { background: var(--aqua-2); }
[data-theme="dokles"] .kpi .v { color: var(--navy); }
[data-theme="dokles"] .bar { background: var(--aqua-2); border-radius: 4px; }
[data-theme="dokles"] .bar i { background: var(--navy); border-radius: 4px; }
[data-theme="dokles"] .bar i.ok { background: var(--ok); }
[data-theme="dokles"] .bar i.bad { background: var(--bad); }

/* ---------- Badges: pills ---------- */
[data-theme="dokles"] .badge { border-radius: 10px; padding: 0 8px; }

/* ---------- Controls ---------- */
[data-theme="dokles"] input, [data-theme="dokles"] select, [data-theme="dokles"] textarea { border-color: #d3dfe2; }
[data-theme="dokles"] input:focus, [data-theme="dokles"] select:focus, [data-theme="dokles"] textarea:focus { border-color: var(--slate); box-shadow: 0 0 0 3px var(--aqua); }
[data-theme="dokles"] .btn { border-color: #d3dfe2; color: var(--navy); }
[data-theme="dokles"] .btn:hover { background: var(--aqua-2); }
[data-theme="dokles"] .btn.pri { background: var(--navy); border-color: var(--navy); color: #fff; }
[data-theme="dokles"] .btn.pri:hover { background: var(--accent-h); }
[data-theme="dokles"] .btn.danger { color: var(--bad); border-color: #efc9c4; }
[data-theme="dokles"] .btn.danger:hover { background: var(--bad-bg); }
[data-theme="dokles"] .seg { border-color: #d3dfe2; }
[data-theme="dokles"] .seg a { color: var(--navy); border-right-color: #d3dfe2; }
[data-theme="dokles"] .seg a:hover { background: var(--aqua-2); }
[data-theme="dokles"] .seg a.on { background: var(--aqua); color: var(--navy); font-weight: 600; }
[data-theme="dokles"] .tabs { background: var(--head); }
[data-theme="dokles"] .tabs button.on { color: var(--navy); border-bottom-color: var(--navy); }

/* ---------- Housing record stepper ---------- */
[data-theme="dokles"] .steps li.done { background: var(--aqua-2); color: var(--slate); }
[data-theme="dokles"] .steps li.cur { background: var(--navy); color: #fff; }
[data-theme="dokles"] .steps li.cur.bad { background: var(--bad); }

/* ---------- Modals and messages ---------- */
[data-theme="dokles"] dialog.modal { border-color: var(--line2); border-radius: 10px; box-shadow: 0 16px 48px rgba(15, 47, 84, .22); }
[data-theme="dokles"] dialog.modal::backdrop { background: rgba(15, 47, 84, .35); }
[data-theme="dokles"] .m-hd { color: var(--navy); }
[data-theme="dokles"] .flash { border-radius: var(--r); }
[data-theme="dokles"] .note { background: var(--aqua-2); border-color: var(--aqua); }

/* ---------- Agenda ---------- */
[data-theme="dokles"] .cal .dh { color: var(--slate); text-transform: uppercase; font-size: 10.5px; letter-spacing: .4px; }
[data-theme="dokles"] .cal .dh.today { color: var(--navy); }
[data-theme="dokles"] .cal .d.today .dn { background: var(--navy); border-radius: 10px; padding: 0 6px; }
[data-theme="dokles"] .ev { border-radius: 4px; background: #eaf3f7; }
[data-theme="dokles"] .ev:hover { background: #dcecf3; }

/* ---------- Login ---------- */
[data-theme="dokles"] .login { background: linear-gradient(160deg, #eaf4f5 0%, #d5e8eb 55%, #b8d0d6 100%); }
[data-theme="dokles"] .login .box { border-radius: 12px; box-shadow: 0 16px 48px rgba(15, 47, 84, .15); }
[data-theme="dokles"] .login .box .hd strong { color: var(--navy); font-size: 19px; }
