/* Colors, fonts, buttons, inputs, cards, pop-up windows and toasts used on every screen */
:root{--bg:#F3F5F2;--surface:#fff;--surface2:#F8FAF8;--ink:#18242B;--muted:#5D6B72;--line:#DCE2DE;--accent:#1F6F5C;--accent-ink:#fff;--accent-soft:#DDEEE8;
  --applied:#2F64C8;--interview:#B7791F;--offer:#1F8A4C;--rejected:#B4483F;--danger:#B4483F;
  box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#11181C;--surface:#1A2328;--surface2:#151D21;--ink:#E6ECEA;--muted:#97A5AB;--line:#2B373D;--accent:#4FB394;--accent-ink:#0D1A16;--accent-soft:#1C3530;
  --applied:#6E9BEF;--interview:#E0A64B;--offer:#52C07E;--rejected:#E07A70;--danger:#E07A70}}
:root[data-theme="dark"]{--bg:#11181C;--surface:#1A2328;--surface2:#151D21;--ink:#E6ECEA;--muted:#97A5AB;--line:#2B373D;--accent:#4FB394;--accent-ink:#0D1A16;--accent-soft:#1C3530;
  --applied:#6E9BEF;--interview:#E0A64B;--offer:#52C07E;--rejected:#E07A70;--danger:#E07A70}
*,*::before,*::after{box-sizing:inherit}
html,body{min-height:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 Figtree,system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:"Bricolage Grotesque",Figtree,system-ui,sans-serif;margin:0;line-height:1.12}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
a{color:var(--accent)}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
[hidden]{display:none!important}
.brand{font-family:"Bricolage Grotesque",sans-serif;font-weight:800;color:var(--accent);font-size:1.15rem;letter-spacing:-.01em;display:flex;align-items:center;gap:10px}
.brand-logo{width:34px;height:34px;border-radius:10px;flex:none}
.btn{border:0;border-radius:12px;padding:12px 18px;font-weight:700;background:var(--accent);color:var(--accent-ink)}
.btn.ghost{background:var(--surface);color:var(--ink);border:1.5px solid var(--line)}
.btn.danger{background:none;color:var(--danger);border:1.5px solid var(--line)}
.btn.sm{padding:8px 13px;font-size:.88rem;border-radius:10px}
.btn:disabled{opacity:.45;cursor:default}
.inp,.sel,textarea.inp{width:100%;padding:11px 13px;border:1.5px solid var(--line);border-radius:12px;background:var(--surface)}
textarea.inp{min-height:96px;resize:vertical}
.lbl{display:block;font-weight:600;font-size:.88rem;margin:0 0 6px}
.hint{color:var(--muted);font-size:.84rem;margin-top:5px}
.err{color:var(--danger);font-size:.88rem;min-height:1.3em;margin-top:6px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:560px){.grid2{grid-template-columns:1fr}}
.choices{display:flex;flex-wrap:wrap;gap:8px}
.choice{border:1.5px solid var(--line);background:var(--surface);border-radius:12px;padding:10px 14px;font-weight:600;font-size:.93rem}
.choice[aria-pressed="true"]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}
.toast{position:fixed;left:50%;bottom:calc(86px + env(safe-area-inset-bottom,0px));transform:translateX(-50%) translateY(16px);background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:10px;font-size:.9rem;opacity:0;transition:.2s;z-index:90;pointer-events:none;max-width:90vw}
.toast.show{opacity:1;transform:translateX(-50%)}
.toast{display:flex;align-items:center;gap:10px;border-radius:14px;padding:11px 16px;font-weight:600;box-shadow:0 12px 30px rgba(8,14,18,.25)}
.tk{width:22px;height:22px;border-radius:50%;background:var(--offer);color:#fff;display:grid;place-items:center;font-style:normal;font-size:.8rem;flex:none}
.linkbtn{background:none;border:0;color:var(--accent);font-weight:600;font-size:.88rem;padding:4px 0}
.modal{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:16px;background:rgba(8,14,18,.55);animation:mfade .15s ease}
.modal-card{position:relative;width:100%;max-width:400px;max-height:calc(100vh - 32px);overflow:auto;background:var(--surface);border-radius:20px;padding:26px 22px 22px;box-shadow:0 24px 60px rgba(0,0,0,.28);animation:mpop .18s ease}
.modal-card h2{font-size:1.4rem;margin-bottom:6px}
.modal-card .sub{color:var(--muted);margin:0 0 18px;font-size:.95rem}
.modal-card form>div{margin-bottom:14px}
.modal-card .btn{width:100%}
.modal-x{position:absolute;top:12px;right:12px;width:36px;height:36px;border:0;border-radius:10px;background:var(--surface2);color:var(--muted);font-size:1.4rem;line-height:1;display:grid;place-items:center}
.modal-ico{width:52px;height:52px;border-radius:16px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;margin-bottom:14px}
.modal-ico svg{width:26px;height:26px}
@keyframes mpop{from{transform:translateY(10px) scale(.98);opacity:0}}
@keyframes mfade{from{opacity:0}}
@media (prefers-reduced-motion:reduce){.modal,.modal-card{animation:none}}
[data-tip]{position:relative}
[data-tip]::after{content:attr(data-tip);position:absolute;top:calc(100% + 8px);right:0;background:var(--ink);color:var(--bg);font-size:.78rem;font-weight:600;padding:5px 9px;border-radius:8px;white-space:nowrap;opacity:0;transform:translateY(-4px);pointer-events:none;transition:opacity .15s,transform .15s;z-index:5}
[data-tip]:hover::after,[data-tip]:focus-visible::after{opacity:1;transform:none}
.inp[readonly]{opacity:.7}
.x{border:0;width:36px;height:36px;border-radius:10px;background:var(--surface2);font-size:1.4rem;line-height:1;color:var(--muted);display:grid;place-items:center;flex:none}
.ask-btns{display:flex;gap:8px;margin-top:4px}
.modal-card .ask-btns .btn{width:auto;flex:1}
.btn.red{background:var(--danger);color:#fff}
.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px;margin-bottom:12px}
.card h3{font-size:1.02rem;margin-bottom:10px}
