/* JobLink shared styles — one file, every page (V1's copy-paste debt, deleted). */
:root { --blue:#60a5fa; --blue-d:#3b82f6; --gold:#ffb500; --bg:#0f172a; --ink:#f1f5f9; --mut:#94a3b8; --line:#334155; --card:#1e293b; }
* { box-sizing:border-box; margin:0; }
body { font-family:-apple-system,'Segoe UI',Roboto,sans-serif; background:var(--bg); color:var(--ink); }
a { color:var(--blue); }
nav.topbar { background:#1e293b; color:#fff; display:flex; align-items:center; gap:18px; padding:0 18px; height:52px; }
nav.topbar .brand { font-weight:800; letter-spacing:.3px; }
nav.topbar a { color:#cfe1f3; text-decoration:none; padding:16px 2px; font-size:.93rem; border-bottom:3px solid transparent; }
nav.topbar a.active, nav.topbar a:hover { color:#fff; border-bottom-color:var(--gold); }
nav.topbar .spacer { flex:1; }
nav.topbar button { background:transparent; border:1px solid #ffffff55; color:#fff; border-radius:7px; padding:6px 12px; cursor:pointer; }
nav.topbar .nav-links { display:flex; align-items:center; gap:18px; }
main.page { max-width:1080px; margin:0 auto; padding:22px 16px; }
h1.pagetitle { font-size:1.35rem; margin-bottom:16px; }
.card { background:var(--card); border-radius:12px; padding:18px; box-shadow:0 1px 4px rgba(10,40,80,.08); margin-bottom:16px; }
.grid { display:grid; gap:14px; }
.grid.stats { grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); }
.stat { text-align:center; padding:14px; }
.stat .num { font-size:1.7rem; font-weight:800; color:var(--blue); }
.stat .lbl { font-size:.82rem; color:#cbd5e1; }
table { width:100%; border-collapse:collapse; font-size:.92rem; }
th { text-align:left; color:#cbd5e1; font-size:.8rem; text-transform:uppercase; letter-spacing:.4px; padding:8px; border-bottom:2px solid var(--line); }
td { padding:10px 8px; border-bottom:1px solid var(--line); vertical-align:top; }
.pill { display:inline-block; border-radius:999px; padding:3px 10px; font-size:.78rem; font-weight:600; }
.pill.Published { background:rgba(34,197,94,0.15); color:#22c55e; }
.pill.Unpublished { background:rgba(79,140,255,0.1); color:#8b90a5; }
.pill.Complete { background:rgba(168,85,247,0.15); color:#a855f7; }
button.btn { background:var(--blue); color:#fff; border:0; border-radius:8px; padding:9px 16px; font-size:.92rem; cursor:pointer; }
button.btn:hover { background:var(--blue-d); }
button.btn.gold { background:var(--gold); color:var(--ink); font-weight:700; }
button.btn.ghost { background:rgba(79,140,255,0.1); color:var(--blue); }
button.btn.sm { padding:5px 10px; font-size:.8rem; }
button.btn:disabled { opacity:.5; cursor:default; }
input, select, textarea { font:inherit; padding:9px 11px; border:1px solid var(--line); border-radius:8px; width:100%; background:var(--bg); color:var(--ink); }
label.f { display:block; margin-bottom:12px; font-size:.88rem; color:var(--mut); }
label.f input, label.f select, label.f textarea { margin-top:4px; }
.row { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.mut { color:var(--mut); font-size:.86rem; }
.filters { display:flex; gap:8px; margin-bottom:14px; flex-wrap:wrap; }
.filters button { background:var(--card); border:1px solid var(--line); border-radius:999px; padding:7px 15px; cursor:pointer; font-size:.87rem; color:#cbd5e1; }
.filters button.on { background:var(--blue); border-color:var(--blue); color:#fff; }
.toast { position:fixed; bottom:20px; left:50%; transform:translateX(-50%); background:#f1f5f9; color:#0f172a; border-radius:9px; padding:11px 20px; font-size:.9rem; opacity:0; transition:opacity .25s; pointer-events:none; z-index:50; }
.toast.show { opacity:1; }

/* Light mode overrides — dark is default */
html.light-mode { --blue:#3b82f6; --blue-d:#2563eb; --gold:#d97706; --bg:#f8fafc; --ink:#1e293b; --mut:#64748b; --line:#e2e8f0; --card:#ffffff; }
html.light-mode nav.topbar { background:#ffffff; color:#1e293b; border-bottom:1px solid #e2e8f0; }
html.light-mode nav.topbar .brand { color:#1e293b; }
html.light-mode nav.topbar a { color:#64748b; }
html.light-mode nav.topbar a.active, html.light-mode nav.topbar a:hover { color:#1e293b; border-bottom-color:var(--gold); }
html.light-mode nav.topbar button { border-color:#cbd5e1; color:#1e293b; }
html.light-mode .stat .lbl { color:#64748b; }
html.light-mode th { color:#64748b; }
html.light-mode .filters button { color:#475569; }
html.light-mode .toast { background:#1e293b; color:#f1f5f9; }
html.light-mode #whoami { color:#475569 !important; }
html.light-mode .card { box-shadow:0 1px 6px rgba(0,0,0,.06); }
html.light-mode .tabs button { background:#e2e8f0; color:#1e293b; border-color:#cbd5e1; }
html.light-mode .tabs button.on { background:#4b8df8; color:#fff; border-color:#4b8df8; }
.theme-toggle { background:transparent; border:1px solid #ffffff55; color:#fff; border-radius:7px; padding:5px 8px; cursor:pointer; display:flex; align-items:center; }
.theme-toggle svg { width:18px; height:18px; }
html.light-mode .theme-toggle { border-color:#cbd5e1; color:#1e293b; }
