/* 16.43.0 — Kullanıcı 10.10.2026: "3 yönden gerekli olanlar yapılsın uygulansın" → varsayılan görünüm IVOIRE ROYAL (plan: work/tasarim-planlari-2026-10-06).
   Yalnız AÇIK temada: html.theme-ivoire sınıfı index.html başındaki betik + applyTheme ile yalnız gece modu kapalıyken konur. */
/* =============================================================================
   Emsal App · Design proposal B — "Ivoire Royal"
   -----------------------------------------------------------------------------
   Evolution of today's luxe look. Ivory paper ground with a very faint paper
   grain, white cards with soft shadows, dark-green sidebar with a gold monogram,
   Cormorant Garamond headings + DM Sans text. Gold only for dividers and
   highlights; one dark-green hero card per screen; calmer green/gold charts.

   Activate:  <html class="luxe theme-ivoire">   (light mode)
   Load after styles.css and luxe.css. Visual treatment only: no element is
   moved, renamed, added or removed; menu names and order stay as they are.
   Fonts: Cormorant Garamond + DM Sans (already loaded by the app today).
   Contrast: body and secondary text meet WCAG AA (values noted below).
   ============================================================================= */

/* ---------- 1 · Tokens ---------- */
html.luxe.theme-ivoire {
  --bg: #f4efe4;                 /* ivory paper */
  --panel: #fffdf8;              /* card white, a touch warm */
  --surface: #fffdf8;
  --card: #fffdf8;
  --surface-2: #faf6ee;          /* table heads, quiet fills */
  --line: #ebe2d0;
  --border: #ebe2d0;
  --lx-line-2: #f2ecdf;
  --lx-field: #e1d6bf;
  --ink: #15211a;                /* body text: 16.3:1 on card */
  --text: #15211a;
  --muted: #5d6a62;              /* secondary text: 5.6:1 on card (AA) */
  --label: #44514a;
  /* 16.60.0 (T10, tarama 21.10.2026): açık temada İKİ altın yan yana duruyordu (#b8913a burada, #c9a24a her yerde) → TEK altın --gold-500;
     #e2c27e → --gold-300, #0f2a20 → --green-900, krem #f3e6c4 → luxe kremi #f1e3bd (yakın kopyalar). Altın YAZI AA için --gold-800 kalır. */
  --lx-head: var(--green-900);   /* headings: deep green */
  --lx-gold: var(--gold-500);    /* hairlines, highlights */
  --lx-gold-2: var(--gold-300);
  --gold-ink: var(--gold-800);   /* gold text: 5.4:1 on card, 4.7:1 on paper (AA) */
  --lx-gold-dk: var(--gold-ink);
  --lx-top: rgba(255, 253, 248, .94);
  --lx-chip-on: var(--green-900);
  --lx-soft-gold: #fcf7ea; --lx-soft-gold-line: #eadbb2; --lx-today-col: #fdf9ee; --lx-ti-bg: #f7efd9;
  --lx-bar-dim-1: #d9e4dd; --lx-bar-dim-2: #c3d4c9;     /* calm sage bars */
  --lx-a-bg: #fbf4e2; --lx-a-ink: #74550f; --lx-a-line: #ecdcae;
  --lx-b-bg: #eaf3ed; --lx-b-ink: #1d5a42; --lx-b-line: #cde1d4;
  --lx-c-bg: #edf1f8; --lx-c-ink: #2b4872; --lx-c-line: #d3dcec;
  --lx-off-bg: #f6f2ea; --lx-off-ink: #6c6558; --lx-off-line: #ebe5d9;   /* "Ruhetag" 5.2:1 */
  --lx-serif: var(--font-heading);
  --sans: "DM Sans", system-ui, -apple-system, sans-serif;
  --shadow-1: 0 1px 2px rgba(62, 47, 18, .05);
  --shadow-2: 0 1px 2px rgba(62, 47, 18, .04), 0 22px 40px -30px rgba(62, 47, 18, .32);
  --iv-hairline: linear-gradient(90deg, transparent, rgba(201, 162, 74, .65), transparent); /* 16.60.0 (T10): tek altın */
}
/* faint paper grain (inline SVG noise, no external file) */
html.luxe.theme-ivoire body {
  background-color: var(--bg);
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='g'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .42 0 0 0 0 .34 0 0 0 0 .2 0 0 0 .045 0'/></filter><rect width='100%25' height='100%25' filter='url(%23g)'/></svg>");
}

/* ---------- 2 · Typography ---------- */
html.luxe.theme-ivoire .welcome h1,
html.luxe.theme-ivoire .section-head h1 { font-size: 50px; font-weight: 600; letter-spacing: -.01em; line-height: 1; }
html.luxe.theme-ivoire .welcome p:last-child,
html.luxe.theme-ivoire .section-head p:last-child { font-size: var(--fs-base); color: var(--muted); }
html.luxe.theme-ivoire .eyebrow { color: var(--lx-gold-dk); letter-spacing: .2em; }
/* gold rule before the page eyebrow = the "divider" accent */
html.luxe.theme-ivoire .section-head .eyebrow::before { content: ""; display: inline-block; width: 26px; height: 1px; margin: 0 10px 3px 0; vertical-align: middle; background: var(--lx-gold); }

/* ---------- 3 · Sidebar with gold monogram ---------- */
html.luxe.theme-ivoire .sidebar { background: linear-gradient(180deg, #0f2b21 0%, #0a2018 100%); border-right: 1px solid rgba(201, 162, 74, .3); }
html.luxe.theme-ivoire .sidebar .brand { display: flex; align-items: center; gap: 13px; padding-bottom: 26px; margin-bottom: 4px; position: relative; }
html.luxe.theme-ivoire .sidebar .brand::after { content: ""; position: absolute; left: 8px; right: 8px; bottom: 12px; height: 1px; background: var(--iv-hairline); opacity: .55; }
/* 16.49.0: "E" monogramı yerine GERÇEK Emsal logosu (altın zemin, alev + bıçak) — kullanıcı 12.10: "emsal logosu hala yok" */
html.luxe.theme-ivoire .sidebar .brand-logo {
  display: block; flex: none; width: 46px; height: 46px; border-radius: 12px; object-fit: cover; background: var(--gold-500);
  box-shadow: 0 0 0 1px rgba(231, 199, 138, .6), 0 6px 16px rgba(0, 0, 0, .35);
}
html.luxe.theme-ivoire .brand b { font-size: 26px; color: var(--lx-cream); }
html.luxe.theme-ivoire .brand small { color: #cfae66; letter-spacing: .18em; }
html.luxe.theme-ivoire nav button { color: #c8d6ce; }
html.luxe.theme-ivoire nav button:hover { background: rgba(255, 255, 255, .05); }
html.luxe.theme-ivoire nav button.active { background: linear-gradient(90deg, rgba(231, 199, 138, .16), rgba(231, 199, 138, 0)); }
html.luxe.theme-ivoire .nav-search { background: #0e2a20; } /* 16.63.1: opak arama şeridi (açık tema kenar çubuğu tonu) */
html.luxe.theme-ivoire .nav-search input { background: rgba(255, 255, 255, .05); border-color: rgba(231, 199, 138, .28); }

/* ---------- 4 · Top bar ---------- */
html.luxe.theme-ivoire .topbar { background: var(--lx-top); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); border-bottom: 1px solid var(--line); box-shadow: 0 1px 0 rgba(255, 255, 255, .7); }
html.luxe.theme-ivoire .topbar .eyebrow { letter-spacing: .2em; }
html.luxe.theme-ivoire .lx-rpick-btn,
html.luxe.theme-ivoire .language-select,
html.luxe.theme-ivoire .notification-button,
html.luxe.theme-ivoire .assistant-button { background-color: var(--panel); border-color: var(--lx-field); }

/* ---------- 5 · Content rhythm: more air ---------- */
html.luxe.theme-ivoire .content { padding: 40px 40px 64px; }
html.luxe.theme-ivoire .lx-overview,
html.luxe.theme-ivoire .lx-k4,
html.luxe.theme-ivoire .lx-g2,
html.luxe.theme-ivoire .dashboard-grid { gap: 20px; }
html.luxe.theme-ivoire .welcome { margin-bottom: 28px; }

/* ---------- 6 · Cards ---------- */
html.luxe.theme-ivoire .panel,
html.luxe.theme-ivoire .mini-card,
html.luxe.theme-ivoire .metric-card,
html.luxe.theme-ivoire .lx-kpi,
html.luxe.theme-ivoire .lx-card,
html.luxe.theme-ivoire .res-stile { border-radius: 14px; border-color: var(--line); box-shadow: var(--shadow-2); }
html.luxe.theme-ivoire .lx-kpi,
html.luxe.theme-ivoire .lx-card { padding: 20px 22px; }
html.luxe.theme-ivoire .lx-lab { letter-spacing: .18em; color: var(--muted); }
html.luxe.theme-ivoire .lx-lab svg { color: var(--lx-gold); }
html.luxe.theme-ivoire .lx-big { font-size: 44px; font-weight: 600; }
/* the one dark-green hero card per screen */
html.luxe.theme-ivoire .lx-kpi.hero,
html.luxe.theme-ivoire .res-stile.feat:not(.feat-bad):not(.feat-off) {
  background: radial-gradient(520px 260px at 100% -30%, rgba(231, 199, 138, .16) 0%, transparent 60%), linear-gradient(155deg, var(--green-800), var(--green-900));
}
/* 16.60.0 (T10): kırmızı (feat-bad: açık kritik / zarar) ve gri (feat-off) kart satır içi stilden sınıfa taşındı → Ivoire yeşili onları ezmesin (zemin yalnız normal kartta) */
html.luxe.theme-ivoire .lx-kpi.hero,
html.luxe.theme-ivoire .res-stile.feat {
  border: 1px solid rgba(231, 199, 138, .35); box-shadow: 0 24px 46px -28px rgba(11, 34, 25, .85);
}
html.luxe.theme-ivoire .lx-kpi.hero::before,
html.luxe.theme-ivoire .res-stile.feat::before { background: var(--iv-hairline); left: 22px; right: 22px; }
html.luxe.theme-ivoire .lx-kpi.hero .lx-big,
html.luxe.theme-ivoire .res-stile.feat .big { color: var(--lx-cream); }
/* list rows inside cards */
html.luxe.theme-ivoire .lx-td { background: #fbf8f1; border-color: #efe7d7; border-radius: 12px; }
html.luxe.theme-ivoire .lx-ti { border-radius: 50%; }

/* ---------- 7 · Calm charts ---------- */
html.luxe.theme-ivoire .lx-track { height: 6px; background: #efe8da; }
html.luxe.theme-ivoire .lx-track span { background: linear-gradient(90deg, var(--gold-500), var(--gold-300)); }
html.luxe.theme-ivoire .lx-wbar i { border-radius: 6px 6px 2px 2px; }
html.luxe.theme-ivoire .lx-wbar.last i { background: linear-gradient(180deg, #e6cb8f, #bf9a47); box-shadow: none; }
html.luxe.theme-ivoire .bar.expense { background: linear-gradient(180deg, #d1ded6, #aec3b7); }

/* ---------- 8 · Buttons, fields, chips ---------- */
html.luxe.theme-ivoire .primary-button { background: linear-gradient(180deg, var(--green-700), var(--green-900)); box-shadow: inset 0 0 0 1px rgba(231, 199, 138, .28), 0 10px 22px -14px rgba(15, 42, 32, .7); }
html.luxe.theme-ivoire .secondary-button { background: var(--panel); border-color: var(--lx-field); color: var(--ink); }
html.luxe.theme-ivoire .secondary-button:hover { border-color: var(--lx-gold); }
html.luxe.theme-ivoire .content input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
html.luxe.theme-ivoire .content select,
html.luxe.theme-ivoire .content textarea { background-color: var(--panel); border-color: var(--lx-field); }
html.luxe.theme-ivoire .lx-seg { background: var(--panel); border-color: var(--lx-field); }
html.luxe.theme-ivoire .op-chip:not(.on):not(.active),
html.luxe.theme-ivoire .op-filter-chips button:not(.active):not(.on) { background: var(--panel); }

/* ---------- 9 · Tables ---------- */
html.luxe.theme-ivoire th { background: #f8f3e8; color: #6b6253; letter-spacing: .15em; border-bottom: 1px solid #ece3d1; }
html.luxe.theme-ivoire td { border-bottom-color: #f1eadc; }
html.luxe.theme-ivoire tbody tr:hover > td { background: rgba(201, 162, 74, .05); }
html.luxe.theme-ivoire .lx-ini { border-radius: 50%; background: #fbf5e6; }
/* notification count: white on a deeper red (5.9:1) */
html.luxe.theme-ivoire .notification-button b { background: var(--red-700); }
/* small orange count chip and an inline-green row button: darker ink for AA on light paper */
html.luxe.theme-ivoire .res-stile.risk .trend { color: #8a4a12; }
html.luxe.theme-ivoire .icon-button[style*="#0c8a4e"] { color: #0a6e3f !important; border-color: #0a6e3f !important; }

/* ---------- 10 · Dienstplan ---------- */
html.luxe.theme-ivoire .schedule-table th { background: #f8f3e8; }
html.luxe.theme-ivoire .schedule-table th.lx-today { background: #fcf6e6; box-shadow: inset 0 2px 0 var(--lx-gold); }
html.luxe.theme-ivoire .lx-chip { border-radius: 10px; }
html.luxe.theme-ivoire .schedule-period { background: var(--surface-2); }

/* ---------- 11 · Phone ---------- */
html.luxe.theme-ivoire .bottom-tabbar { background: linear-gradient(180deg, #0f2b21, #0a2018); border-top: 1px solid rgba(231, 199, 138, .35); }
html.luxe.theme-ivoire #nav { -webkit-mask-image: linear-gradient(180deg, #000 calc(100% - 26px), transparent); mask-image: linear-gradient(180deg, #000 calc(100% - 26px), transparent); }
@media (max-width: 700px) {
  html.luxe.theme-ivoire .content { padding: 22px 16px 96px; }
  html.luxe.theme-ivoire .welcome h1, html.luxe.theme-ivoire .section-head h1 { font-size: 26px; } /* 16.43.0: telefon sadeleştirme (38 → 26) */
  html.luxe.theme-ivoire .lx-kpi, html.luxe.theme-ivoire .lx-card { padding: 14px; }
  html.luxe.theme-ivoire .lx-lab { letter-spacing: .12em; }
  html.luxe.theme-ivoire .lx-big { font-size: 28px; white-space: nowrap; }
  html.luxe.theme-ivoire .lx-overview, html.luxe.theme-ivoire .lx-k4 { gap: 12px; }
}
