/* Gestione Sicurezza: the suite contract has exactly two complete themes. */
@font-face { font-family:"Plus Jakarta Sans"; font-style:normal; font-weight:200 800; font-display:swap; src:url("../assets/fonts/plus-jakarta-sans.ttf") format("truetype"); }
:root {
  color-scheme:light;
  --gs-bg:#eadfce; --gs-paper:#fffaf1; --gs-side:#182320;
  --gs-text:#292722; --gs-muted:#686158; --gs-border:#d9cdbb; --gs-control-border:#877b6b; --gs-soft:#f5ead7;
  --gs-accent:#0d6f6b; --gs-tint:#dcefeb;
  --gs-red:#a33932; --gs-red-bg:#fae7e1; --gs-amber:#785309; --gs-amber-bg:#fbefd0;
  --gs-blue:#355d8a; --gs-blue-bg:#e5edf7; --gs-green:#1b6545; --gs-green-bg:#e0f0e6;
  --gs-purple:#66428b; --gs-purple-bg:#eee6f6;
  --gs-side-text:#f4f2eb; --gs-side-muted:#c3cdc8; --gs-side-hover:#283932; --gs-side-active:#244d44;
  --gs-on-accent:#fff; --gs-on-red:#fff; --gs-placeholder:#686158;
  --gs-shadow:0 4px 16px rgba(49,37,17,.04); --gs-shadow-pop:0 20px 56px rgba(27,26,21,.26);
  --gs-radius:14px; --gs-radius-sm:9px; --gs-radius-xs:5px; --gs-row-pad:16px;
  --gs-font:"Plus Jakarta Sans","Segoe UI",system-ui,sans-serif;
  --gs-font-head:Georgia,"Times New Roman",serif; --gs-mono:ui-monospace,"Cascadia Mono",monospace;
  --gs-fs:16px; --gs-head-weight:600; --gs-panel-pad:20px; --gs-side-w:244px;
  font-family:var(--gs-font); font-size:var(--gs-fs); color:var(--gs-text); background:var(--gs-bg); -webkit-font-smoothing:antialiased;
}
:root[data-theme="dark"] {
  color-scheme:dark;
  --gs-bg:#0e1116; --gs-paper:#161a21; --gs-side:#101916; --gs-text:#e8e9ed;
  --gs-muted:#b1b5bf; --gs-border:#3c424e; --gs-control-border:#818999; --gs-soft:#1d222c;
  --gs-accent:#4fd1c5; --gs-tint:#163d38; --gs-on-accent:#08211d;
  --gs-red:#ffaaa2; --gs-red-bg:#432523; --gs-on-red:#2a100d;
  --gs-amber:#f0ce89; --gs-amber-bg:#3e3320; --gs-blue:#accbfa; --gs-blue-bg:#23334d;
  --gs-green:#9ae1b9; --gs-green-bg:#183c2a; --gs-purple:#d1b9f6; --gs-purple-bg:#332444;
  --gs-side-text:#f0f2ed; --gs-side-muted:#c0ccc6; --gs-side-hover:#20312a; --gs-side-active:#24453d;
  --gs-placeholder:#b1b5bf; --gs-shadow:0 4px 16px rgba(0,0,0,.18); --gs-shadow-pop:0 20px 56px rgba(0,0,0,.5);
}
* { box-sizing:border-box; }
body { margin:0; color:var(--gs-text); background:var(--gs-bg); font-family:var(--gs-font); font-size:16px; line-height:1.5; }
button,input,select,textarea { font-family:var(--gs-font); }
@media (prefers-reduced-motion:no-preference) { #gs-app { scroll-behavior:smooth; } }
