/* RecruiterMate: shared tokens and base parts (Simplify-like, as Find Job). Every page loads this; page-specific CSS
   stays next to its page. Light and dark follow the system unless data-theme is set. */
:root{color-scheme:light dark;
  --ink:oklch(.213 0 0);--ink2:oklch(.37 0 0);--ink3:oklch(.59 0 0);--line:oklch(.931 0 0);--line2:oklch(.88 0 0);
  --page:oklch(.985 0 0);--surface:#fff;--hover:oklch(.97 0 0);--chip:oklch(.94 0 0);
  --brand:oklch(.656 .115 218.497);--brand-h:oklch(.6 .11 218.497);--brand-d:oklch(.52 .092 218.497);--tint:oklch(.946 .045 212.146);
  --good:#15803D;--good-s:#DCFCE7;--warn:#B45309;--warn-s:#FEF3C7;--bad:#B91C1C;--bad-s:#FEE2E2;
  --soft:0 1px 2px rgb(0 0 0 / .05);--pop:0 10px 30px rgb(0 0 0 / .12),0 2px 6px rgb(0 0 0 / .06);
  --r:10px;--font:"Circular Std",Figtree,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --ink:oklch(.95 0 0);--ink2:oklch(.82 0 0);--ink3:oklch(.66 0 0);--line:oklch(.3 0 0);--line2:oklch(.38 0 0);
  --page:oklch(.17 0 0);--surface:oklch(.21 0 0);--hover:oklch(.25 0 0);--chip:oklch(.28 0 0);--tint:oklch(.3 .05 218);
  --good-s:#14532D;--warn-s:#451A03;--bad-s:#450A0A;--good:#4ADE80;--warn:#FBBF24;--bad:#F87171;--brand-d:oklch(.8 .1 218);}}
:root[data-theme="light"]{color-scheme:light}
:root[data-theme="dark"]{color-scheme:dark;--ink:oklch(.95 0 0);--ink2:oklch(.82 0 0);--ink3:oklch(.66 0 0);--line:oklch(.3 0 0);--line2:oklch(.38 0 0);
  --page:oklch(.17 0 0);--surface:oklch(.21 0 0);--hover:oklch(.25 0 0);--chip:oklch(.28 0 0);--tint:oklch(.3 .05 218);--good-s:#14532D;--warn-s:#451A03;--bad-s:#450A0A;--good:#4ADE80;--warn:#FBBF24;--bad:#F87171;--brand-d:oklch(.8 .1 218);}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{background:var(--page);color:var(--ink);font:14px/20px var(--font);-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit}
a{color:var(--brand-d)}
.hide{display:none!important}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;padding:0 16px;border-radius:var(--r);border:1px solid var(--line);background:var(--surface);font-weight:500;white-space:nowrap;box-shadow:var(--soft);cursor:pointer;text-decoration:none;color:var(--ink)}
.btn:hover:not(:disabled){background:var(--hover)}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btn.pri{background:var(--brand);border-color:var(--brand);color:#fff}.btn.pri:hover:not(:disabled){background:var(--brand-h);border-color:var(--brand-h)}
.btn.sm{height:30px;padding:0 12px;font-size:13px}
.btn.danger{color:var(--bad)}
.btn svg{width:16px;height:16px}
/* fields */
.field{display:grid;gap:6px;font-size:13px;color:var(--ink2)}
.input,select.input,textarea.input{height:38px;width:100%;border:1px solid var(--line2);border-radius:var(--r);background:var(--surface);padding:0 12px;font-size:14px;color:var(--ink);outline:none}
textarea.input{height:auto;padding:10px 12px;min-height:80px}
.input:focus{border-color:var(--brand);box-shadow:0 0 0 3px oklch(.656 .115 218.497 / .15)}
/* cards, tables, chips */
.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px}
.card h2{font-size:18px;line-height:24px;font-weight:700;margin-bottom:4px}
.muted{color:var(--ink3)}
.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.sp{flex:1}
.chip{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:9999px;background:var(--chip);font-size:12px;font-weight:500;white-space:nowrap}
.chip.good{background:var(--good-s);color:var(--good)}.chip.warn{background:var(--warn-s);color:var(--warn)}.chip.bad{background:var(--bad-s);color:var(--bad)}.chip.brand{background:var(--tint);color:var(--brand-d)}
table.tbl{width:100%;border-collapse:collapse;font-size:13px}
table.tbl th{text-align:left;font-weight:500;color:var(--ink3);padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
table.tbl td{padding:10px;border-bottom:1px solid var(--line);vertical-align:middle}
table.tbl tr:last-child td{border-bottom:0}
.num{font-variant-numeric:tabular-nums;text-align:right}
/* a message line under a form or card (never a browser pop-up) */
.note{font-size:13px;min-height:20px}.note.err{color:var(--bad)}.note.ok{color:var(--good)}
/* toast, bottom right */
#toast{position:fixed;right:16px;bottom:16px;z-index:50;display:grid;gap:8px}
#toast div{background:var(--ink);color:var(--surface);padding:10px 14px;border-radius:10px;box-shadow:var(--pop);font-size:13px;max-width:360px}
#toast div.err{background:#B91C1C;color:#fff}
@keyframes spin{to{transform:rotate(360deg)}}
.spin{width:16px;height:16px;border-radius:50%;border:2px solid var(--brand);border-top-color:transparent;animation:spin .8s linear infinite;display:inline-block}
@media (prefers-reduced-motion:reduce){.spin{animation:none}}
