/* IntelliHR Houston — közös stíluslap (sötét arculat, arculati kézikönyv v1) */
:root{
  --violet:#6E00FF;        /* márka-viola: mély kitöltés */
  --accent:#8146F6;        /* akcent erős: elsődleges gomb */
  --accent-hover:#8E58FF;
  --accent-soft:#9D6BFF;   /* sötét háttéren szöveg, ikon, keret */
  --bg:#0E0E13;            /* Night */
  --bg-soft:#13131A;       /* Night soft */
  --paper:#16161E;         /* Surface 1 */
  --paper2:#1B1B25;        /* Surface 2 */
  --paper3:#21212D;        /* Surface 3 */
  --line:#21212D;
  --line-strong:#2B2B39;
  --ink:#F4F3F0;           /* Ink 1 */
  --grey:#A9A7B2;          /* Ink 2 */
  --grey3:#74727E;         /* Ink 3 — csak felirat */
  --ok:#8FBF9F;            /* zsálya */
  --warn:#D9B36B;          /* arany */
  --cyan:#6FB9CE;          /* adat-cián */
  --bad:#E0655C;
  --ok-bg:rgba(143,191,159,.12);
  --bad-bg:rgba(224,101,92,.12);
  --orange:var(--accent-soft); /* örökölt név — a régi sablon-hivatkozások ide futnak */
}
*{box-sizing:border-box}
html,body{margin:0}
body{
  background:var(--bg);color:var(--ink);
  font-family:'Schibsted Grotesk','Segoe UI',system-ui,sans-serif;
  font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;
}
a{color:inherit}
::selection{background:rgba(110,0,255,.4)}

/* -------- animációk: egy belépő mozdulat + töltődő sávok + élő pont -------- */
@keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.wrap{animation:fadeUp .55s cubic-bezier(.2,.7,.2,1) both}
@keyframes grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.prog i{transform-origin:left;animation:grow 1s cubic-bezier(.2,.7,.2,1) .25s both}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(143,191,159,.5)}70%{box-shadow:0 0 0 8px rgba(143,191,159,0)}100%{box-shadow:0 0 0 0 rgba(143,191,159,0)}}
.live-dot{display:inline-block;width:8px;height:8px;border-radius:999px;background:var(--ok);animation:pulse 2.2s infinite}
@media (prefers-reduced-motion:reduce){
  .wrap,.prog i,.live-dot{animation:none}
}

/* ------------------------------------------------------------------ topbar */
.topbar{
  background:var(--bg-soft);color:var(--ink);position:sticky;top:0;z-index:20;
  border-bottom:1px solid var(--line-strong)
}
.topbar-in{
  max-width:1080px;margin:0 auto;padding:0 20px;height:58px;
  display:flex;align-items:center;gap:22px
}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;flex:none}
.brand img{display:block;height:20px;width:auto}
.brand span{
  font-size:10.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:var(--grey3);padding-left:10px;border-left:1px solid var(--line-strong)
}
.nav{display:flex;gap:2px;margin-left:6px;flex:1;min-width:0;overflow:auto}
.nav a{
  font-size:13px;font-weight:600;text-decoration:none;color:var(--grey);
  padding:7px 11px;white-space:nowrap;border-radius:8px
}
.nav a:hover{color:var(--ink);background:var(--paper2)}
.nav a[aria-current=page]{color:#C9ADFF;background:rgba(110,0,255,.18)}
.who{display:flex;align-items:center;gap:10px;flex:none;font-size:12.5px;color:var(--grey)}
.who b{color:var(--ink);font-weight:600}
.who a{color:var(--grey);text-decoration:none;border:1px solid var(--line-strong);padding:5px 10px;font-size:12px;border-radius:8px}
.who a:hover{color:var(--ink);border-color:var(--accent-soft)}
@media (max-width:720px){
  .topbar-in{height:auto;padding:10px 14px;flex-wrap:wrap;gap:10px}
  .who .email{display:none}
}

/* -------------------------------------------------------------------- shell */
.wrap{max-width:1080px;margin:0 auto;padding:26px 20px 70px}
.page-head{border-bottom:1px solid var(--line-strong);padding-bottom:16px;margin-bottom:24px}
.eyebrow{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-soft);margin:0 0 8px}
h1{font-size:clamp(24px,4.4vw,34px);line-height:1.05;font-weight:800;letter-spacing:-.02em;margin:0 0 8px}
.page-head p{margin:0;color:var(--grey);font-size:14px;max-width:64ch}

.panel{background:var(--paper);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.panel h2{
  font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--grey);
  margin:0;padding:14px 18px;border-bottom:1px solid var(--line)
}
.panel .body{padding:18px}

/* -------------------------------------------------------------------- forms */
.fld{margin-bottom:15px}
.fld:last-child{margin-bottom:0}
.fld label{display:block;font-size:12px;font-weight:600;letter-spacing:.03em;margin-bottom:5px;color:var(--grey)}
.fld label .req{color:var(--accent-soft)}
.fld input[type=text],.fld input[type=email],.fld input[type=tel]{
  width:100%;border:1px solid var(--line-strong);background:var(--paper2);color:var(--ink);
  font:14px/1.4 inherit;padding:9px 11px;border-radius:8px
}
.fld input:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}
.fld input:disabled{background:var(--paper3);color:var(--grey3)}
.fld input[readonly]{background:var(--paper3);border-style:dashed;color:var(--grey);cursor:default}
.fld input[readonly]:focus{outline:none;border-color:var(--line-strong)}
.lockmark{
  font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--grey3);border:1px solid var(--line-strong);padding:1px 5px;margin-left:4px;border-radius:5px
}
.tip{font-size:11.5px;color:var(--grey3);margin:5px 0 0}
.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.chk{display:flex;align-items:flex-start;gap:9px;font-size:13px;margin-top:9px;cursor:pointer}
.chk input{accent-color:var(--accent);margin:2px 0 0;flex:none}
.sep{height:1px;background:var(--line);margin:18px -18px}

/* ------------------------------------------------------------------ buttons */
button.act,a.act{
  display:inline-block;font:700 12.5px/1 inherit;letter-spacing:.02em;padding:10px 14px;
  border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;
  text-decoration:none;border-radius:9px;transition:background .12s,border-color .12s
}
button.act.ghost,a.act.ghost{background:transparent;color:var(--ink);border-color:var(--line-strong)}
button.act:hover:not(:disabled),a.act:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}
button.act:disabled{opacity:.32;cursor:not-allowed}
button.act:focus-visible,a.act:focus-visible{outline:2px solid var(--accent-soft);outline-offset:2px}

/* ------------------------------------------------------------------- tables */
table.data{width:100%;border-collapse:collapse;font-size:13px}
table.data th{
  text-align:left;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--grey);padding:10px 14px;border-bottom:1px solid var(--line-strong);white-space:nowrap
}
table.data td{padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:top}
table.data tr:last-child td{border-bottom:0}
table.data tbody tr:hover{background:var(--paper2)}
.mono{font:12px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--grey)}
.pill{
  display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  border:1px solid var(--line-strong);padding:2px 8px;color:var(--grey);white-space:nowrap;border-radius:999px
}
.pill.hu{border-color:var(--line-strong)}
.pill.en{border-color:var(--accent-soft);color:var(--accent-soft)}
.empty{padding:40px 18px;text-align:center;color:var(--grey3);font-size:13.5px}

/* ---------------------------------------------------------------- dashboard */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.card{
  background:var(--paper);border:1px solid var(--line);padding:18px;border-radius:14px;
  display:flex;flex-direction:column;gap:8px;min-height:150px;text-decoration:none;
  transition:border-color .12s,transform .12s
}
.card h3{margin:0;font-size:16px;font-weight:700;letter-spacing:-.01em}
.card p{margin:0;font-size:13px;color:var(--grey);flex:1}
.card .go{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-soft)}
a.card:hover{border-color:var(--accent-soft);transform:translateY(-2px)}
a.card:hover .go{color:var(--ink)}
.card.soon{background:var(--bg-soft);border-style:dashed}
.card.soon h3{color:var(--grey3)}
.card.soon .go{color:var(--grey3)}
.phase{
  font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--grey3);align-self:flex-start;border:1px solid var(--line-strong);padding:2px 6px;border-radius:5px
}

/* -------------------------------------------------------------------- login */
.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--bg)}
.login-card{background:var(--paper);border:1px solid var(--line);max-width:420px;width:100%;padding:34px;border-radius:16px;animation:fadeUp .55s cubic-bezier(.2,.7,.2,1) both}
.login-card img{height:26px;width:auto;display:block;margin-bottom:26px}
.login-card h1{font-size:26px;margin:0 0 10px}
.login-card p{color:var(--grey);font-size:14px;margin:0 0 24px}
.gbtn{
  display:flex;align-items:center;justify-content:center;gap:10px;width:100%;
  border:1px solid var(--accent);background:var(--accent);color:#fff;text-decoration:none;
  font:700 14px/1 inherit;padding:14px 16px;border-radius:10px
}
.gbtn:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
.gbtn svg{flex:none}
.alert{
  border-left:3px solid var(--warn);background:rgba(217,179,107,.1);padding:11px 14px;border-radius:0 8px 8px 0;
  font-size:13px;margin:0 0 20px;color:var(--warn)
}
.foot{margin-top:24px;font-size:11.5px;color:var(--grey3)}
.foot a{color:var(--grey)}

/* -------------------------------------------------------------------- toast */
.toast{
  position:fixed;left:50%;bottom:22px;transform:translate(-50%,14px);
  background:var(--accent);color:#fff;padding:10px 18px;font-size:13px;font-weight:700;border-radius:10px;
  opacity:0;pointer-events:none;transition:opacity .18s,transform .18s;z-index:30
}
.toast.on{opacity:1;transform:translate(-50%,0)}
@media (prefers-reduced-motion:reduce){.toast{transition:none}}

/* -------------------------------------------------------- hozzáférés-kezelő */
.flash{padding:11px 14px;font-size:13.5px;margin:0 0 18px;border-left:3px solid;border-radius:0 8px 8px 0}
.flash.ok{border-color:var(--ok);background:var(--ok-bg);color:var(--ok)}
.flash.bad{border-color:var(--bad);background:var(--bad-bg);color:var(--bad)}
.addrow{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.addrow input[type=email]{flex:1 1 260px;border:1px solid var(--line-strong);background:var(--paper2);color:var(--ink);font:14px/1.4 inherit;padding:9px 11px;border-radius:8px}
.addrow input[type=email]:focus{outline:2px solid var(--accent);outline-offset:-1px}
button.act.small{padding:7px 10px;font-size:11.5px}
button.act.small.danger:hover{background:var(--bad);border-color:var(--bad)}

/* ------------------------------------------------------------ arculati kör */
h1{font-weight:800;letter-spacing:-.01em}
.eyebrow{font-weight:700}
tbody tr:hover td{background:var(--paper2)}
.rowgo{font-size:13px;font-weight:600;color:var(--grey);text-decoration:none;white-space:nowrap}
.rowgo:hover{color:var(--accent-soft)}
.prog{display:block;width:96px;height:8px;background:var(--paper3);border-radius:4px;overflow:hidden;text-decoration:none}
.prog i{display:block;height:100%;background:var(--accent)}
.prog.done i{background:var(--ok)}
.avi{display:flex;align-items:center;justify-content:center;background:rgba(110,0,255,.28);color:#C9ADFF;
  font-weight:800;letter-spacing:.02em;border-radius:8px;text-transform:uppercase}
.empty-state{position:relative;padding:26px 18px;text-align:center;color:var(--grey);font-size:14px;overflow:hidden}
.empty-state::before{content:"";position:absolute;right:-8px;bottom:-14px;width:110px;height:110px;
  background:url('/static/img/intellihr-icon.png') no-repeat center/contain;opacity:.08;pointer-events:none}
.empty-state b{color:var(--ink)}

/* ---------------------------------------------------- szerződés varázsló */
.wiz{display:flex;gap:0;margin:0 0 18px;border:1px solid var(--line-strong);border-radius:10px;overflow:hidden}
.wiz div{flex:1;display:flex;gap:9px;align-items:center;padding:10px 14px;font-size:13px;font-weight:600;color:var(--grey3);border-right:1px solid var(--line-strong)}
.wiz div:last-child{border-right:0}
.wiz i{font-style:normal;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  border:1.5px solid var(--line-strong);font-size:12px;font-weight:700;flex:none}
.wiz div.on{color:var(--ink)}
.wiz div.on i{border-color:var(--accent-soft);color:var(--accent-soft)}
.wiz div.done{color:var(--ok)}
.wiz div.done i{border-color:var(--ok);background:var(--ok);color:#0E0E13}
