/* Shared look for the pages outside index.html (Ad text, Link organizations):
   the same tokens, font and left menu as index.html, whose inline <style>
   holds the original. Change both together. */
:root {
  --bg:#eef1f5; --card:#ffffff; --card2:#f5f7fa; --line:#dfe4eb; --line2:#c8d0da;
  --ink:#0d1b2a; --ink2:#34465b; --dim:#5f6f84; --accent:#1473c4; --accent-ink:#ffffff;
  --ok:#0f7b55; --ok-bg:#e4f4ec; --bad:#c23a2b; --bad-bg:#fcebe8; --warn:#a4570a; --warn-bg:#fdf1e1;
  --shadow:0 1px 2px rgba(13,27,42,.06);
  --r:12px; --side:244px;
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg:#0a111c; --card:#101a28; --card2:#152234; --line:#1f2d41; --line2:#2c3d56;
    --ink:#e7eef6; --ink2:#bccad9; --dim:#8595aa; --accent:#4aa2ef; --accent-ink:#06111d;
    --ok:#3ccf8e; --ok-bg:#10322a; --bad:#f07a70; --bad-bg:#371a1b; --warn:#f0a53a; --warn-bg:#35270f;
    --shadow:none;
  }
}
* { box-sizing:border-box; }
[hidden] { display:none !important; }
html { -webkit-text-size-adjust:100%; }
body { margin:0; background:var(--bg); color:var(--ink);
       font:14.5px/1.5 "Golos Text", "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, sans-serif; }
button, input, textarea, select { font:inherit; color:inherit; }
:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }

/* Menu on the left, content on the right; a drawer on narrow screens. */
.shell { display:grid; grid-template-columns:var(--side) minmax(0,1fr); min-height:100vh; }
.sidenav { position:sticky; top:0; height:100vh; overflow-y:auto; background:var(--card); border-right:1px solid var(--line);
           grid-column:1; grid-row:1; display:flex; flex-direction:column; gap:4px; padding:20px 14px; }
.content { grid-column:2; grid-row:1; min-width:0; }
.brand { font-weight:800; font-size:15.5px; letter-spacing:-.01em; display:flex; align-items:center; gap:9px; white-space:nowrap;
         color:var(--ink); text-decoration:none; padding:0 6px 10px; }
.brand .logo { width:28px; height:28px; border-radius:8px; background:var(--accent); color:#fff; display:grid; place-items:center; font-size:14px; }
.navlbl { color:var(--dim); font-size:12.5px; font-weight:500; padding:14px 12px 4px; }
.navbtn { display:flex; align-items:center; gap:10px; width:100%; border:0; background:transparent; border-radius:10px;
          padding:9px 12px; min-height:42px; font-weight:600; font-size:14px; color:var(--ink2); text-decoration:none; }
.navbtn:hover { background:var(--card2); color:var(--ink); }
.navbtn.on { background:color-mix(in srgb, var(--accent) 11%, transparent); color:var(--accent); }
.navbtn svg { width:18px; height:18px; flex:none; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.topbar { display:none; }
.scrim { display:none; }
@media (max-width:900px) {
  .shell { grid-template-columns:minmax(0,1fr); }
  .content { grid-column:1; }
  .topbar { display:flex; align-items:center; gap:10px; position:sticky; top:0; z-index:15; background:var(--card);
            border-bottom:1px solid var(--line); padding:10px 16px; }
  .topbar .brand { padding:0; }
  .topbar button { border:1px solid var(--line2); background:var(--card); border-radius:8px; padding:5px 12px; min-height:34px;
                   font-weight:600; font-size:13px; cursor:pointer; }
  .sidenav { position:fixed; top:0; left:0; bottom:0; z-index:30; width:min(290px, 86vw); height:auto;
             transform:translateX(-100%); transition:transform .2s ease; box-shadow:8px 0 30px rgba(16,24,40,.18); }
  body.menu-open .sidenav { transform:none; }
  body.menu-open .scrim { display:block; position:fixed; inset:0; z-index:25; background:rgba(8,12,20,.45); }
}
@media (prefers-reduced-motion: reduce) { .sidenav { transition:none; } }
