/* Geospatial Core Platform — design tokens (dark + light).
   Dipakai bersama oleh semua halaman modul. Blade: <link rel="stylesheet" href="{{ asset('css/theme.css') }}"> */
html {
  color-scheme: dark;
  --bg:#0d0f12; --bg2:#0f1216; --panel:#12151a; --panel2:#141920;
  --line:#232830; --line2:#1d222a; --line3:#1f242c; --line4:#242a33; --line5:#2a313b; --line6:#39404b;
  --text:#e7e9ec; --text2:#c3cad3; --text3:#aab2bd; --muted:#8b939f; --dim:#6b7280; --faint:#565d67;
  --track:#1a1f26; --chip:#171c23; --input:#14181e;
  --accent:#7aa9e0; --accent2:#a3c6ef; --accentBg:#152030; --accentLine:#27394f;
  --btn:#2f6bb5; --btnLine:#3d7cc9; --btnHover:#3878c6; --btnText:#f4f7fb;
  --bar:#35506d;
  --ok:#69ac83; --okBg:#111815; --okLine:#26382c; --okText:#8bbd9e;
  --warn:#cc9c4f; --warnBg:#1a1610; --warnLine:#3f341f; --warnBg2:#241d10; --warnLine2:#4d3f20; --warnText:#d3bd8f;
  --bad:#c96f62; --badBg:#1c1311; --badLine:#4a2620;
  --purple:#8d84c9; --purpleBg:#1b1728; --purpleLine:#332c4a; --purpleText:#a79cd8;
  --teal:#5fa695; --gold:#c99a58;
  --shadow:0 1px 2px rgba(0,0,0,.4);
  --shadowLg:0 18px 46px rgba(0,0,0,.55);
  --overlay:rgba(6,8,11,.66);
  --scrollThumb:#272d36;
  --graphBg:#0a0c0f; --gridLine:#151a20; --nodeBg:#151a21;
}
html[data-theme="light"] {
  color-scheme: light;
  --bg:#eef1f5; --bg2:#f5f7fa; --panel:#ffffff; --panel2:#f7f9fc;
  --line:#d9dee6; --line2:#e3e7ee; --line3:#e6eaf0; --line4:#dde2ea; --line5:#ccd3dd; --line6:#b3bcc8;
  --text:#1b202a; --text2:#38414f; --text3:#4c5665; --muted:#5e6875; --dim:#7c8593; --faint:#9aa3b0;
  --track:#e5e9ef; --chip:#f1f4f8; --input:#ffffff;
  --accent:#2f6bb5; --accent2:#1f5296; --accentBg:#e9f0fa; --accentLine:#bdd3ec;
  --btn:#2f6bb5; --btnLine:#2a60a4; --btnHover:#3878c6; --btnText:#ffffff;
  --bar:#9dbbdc;
  --ok:#2f7d54; --okBg:#eaf6ee; --okLine:#c2e0cd; --okText:#2b6b49;
  --warn:#96682a; --warnBg:#fdf5e6; --warnLine:#e9d6ac; --warnBg2:#f7ead0; --warnLine2:#dcc493; --warnText:#6d5124;
  --bad:#a8402f; --badBg:#fceeeb; --badLine:#f0c9c1;
  --purple:#5b4fa0; --purpleBg:#f0eefa; --purpleLine:#d4cdee; --purpleText:#4a3f8c;
  --teal:#2f7d70; --gold:#8c6a2c;
  --shadow:0 1px 2px rgba(16,24,40,.07);
  --shadowLg:0 18px 46px rgba(16,24,40,.18);
  --overlay:rgba(27,32,42,.34);
  --scrollThumb:#c6ccd6;
  --graphBg:#f7f9fc; --gridLine:#e6eaf0; --nodeBg:#ffffff;
}
body { margin:0; padding:0; background:var(--bg); color:var(--text); font-family:'IBM Plex Sans',system-ui,sans-serif; }
* { box-sizing:border-box; }
a { color:var(--accent); text-decoration:none; }
a:hover { color:var(--accent2); }
input::placeholder { color:var(--faint); }
::-webkit-scrollbar { width:10px; height:10px; }
::-webkit-scrollbar-track { background:var(--bg); }
::-webkit-scrollbar-thumb { background:var(--scrollThumb); border:2px solid var(--bg); border-radius:6px; }
::-webkit-scrollbar-thumb:hover { background:var(--line6); }
