:root{--bg:#f5f6f7;--surface:#fff;--surface2:#eef1f3;--ink:#101820;--text:#26323b;--muted:#6b7780;--line:#e0e5e8;--accent:#b9852f;--accentSoft:#f6eddd;--navy:#172332;--green:#2d7058;--danger:#9e4646;--shadow:0 18px 50px rgba(20,31,43,.08)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:var(--bg);color:var(--text)}button,input,textarea{font:inherit}button{cursor:pointer}.shell{width:min(1220px,92vw);margin:auto}.topbar{height:72px;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 4vw;position:sticky;top:0;z-index:30}.brand{display:flex;align-items:center;gap:12px;font-weight:850;color:var(--ink)}.mark{width:38px;height:38px;border-radius:12px;background:var(--navy);color:#fff;display:grid;place-items:center}.nav{display:flex;gap:8px}.nav button{border:0;background:transparent;border-radius:10px;padding:10px 12px;color:var(--muted)}.page{padding:52px 0 72px}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:850;color:var(--accent);margin-bottom:12px}h1{font-size:clamp(42px,6vw,68px);line-height:.98;letter-spacing:-.055em;margin:0;color:var(--ink)}h2{letter-spacing:-.035em;color:var(--ink)}p{line-height:1.65}.auth{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.auth-left{background:var(--navy);color:#fff;padding:8vw;display:flex;flex-direction:column;justify-content:center}.auth-left h1{color:#fff}.auth-left p{color:#c5cbd2}.auth-right{display:grid;place-items:center;padding:30px}.auth-card{width:min(440px,100%);background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:var(--shadow)}.field{margin:15px 0}.field label{display:block;font-size:13px;font-weight:800;color:var(--muted);margin-bottom:7px}.field input,.field textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px 13px;background:#fff}.field textarea{min-height:140px;resize:vertical}.button{border:0;border-radius:12px;padding:12px 16px;font-weight:800}.button.primary{background:var(--navy);color:#fff}.button.accent{background:var(--accent);color:#fff}.msg{padding:11px 12px;border-radius:10px;font-size:14px;margin-top:12px}.msg.error{background:#fff0f0;color:var(--danger)}.msg.ok{background:#edf7f2;color:var(--green)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:24px 0}.stat{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px}.stat small{display:block;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:850}.stat strong{display:block;font-size:30px;color:var(--ink);margin-top:7px}.progress{height:7px;background:#e7ebee;border-radius:999px;overflow:hidden;margin-top:10px}.progress span{display:block;height:100%;background:var(--accent)}.layout{display:grid;grid-template-columns:220px minmax(0,1fr) 260px;gap:22px;margin-top:28px}.side{position:sticky;top:94px;align-self:start}.menu{background:#fff;border:1px solid var(--line);border-radius:18px;padding:10px}.menu button{width:100%;text-align:left;border:0;background:transparent;padding:11px;border-radius:10px;color:var(--muted);margin:1px 0}.menu button.active,.menu button:hover{background:var(--surface2);color:var(--ink);font-weight:800}.card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px;margin-bottom:16px}.card h2{font-size:28px;margin-top:0}.callout{background:var(--accentSoft);border-left:4px solid var(--accent);border-radius:14px;padding:16px 18px;margin:18px 0}.flow{display:flex;gap:8px;flex-wrap:wrap}.flow span{background:var(--navy);color:#fff;padding:8px 11px;border-radius:999px;font-weight:800;font-size:13px}.question{border:1px solid var(--line);border-radius:16px;padding:18px;margin:14px 0}.question h3{margin-top:0}.option{display:block;border:1px solid var(--line);border-radius:12px;padding:11px 12px;margin:8px 0}.feedback{border-radius:12px;padding:11px 12px;margin-top:8px;font-size:14px}.feedback.good{background:#edf7f2;color:var(--green)}.feedback.bad{background:#fff0f0;color:var(--danger)}.hidden{display:none}.sidebox{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;margin-bottom:14px}.row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:14px}.row:last-child{border-bottom:0}.badge{font-size:12px;font-weight:800;padding:6px 9px;border-radius:999px;background:var(--surface2);color:var(--muted)}.badge.done{background:#e9f4ef;color:var(--green)}@media(max-width:980px){.auth{grid-template-columns:1fr}.layout{grid-template-columns:1fr}.side{position:static}.stats{grid-template-columns:1fr 1fr}}@media(max-width:620px){.stats{grid-template-columns:1fr}.topbar{padding:0 18px}h1{font-size:42px}}
/* PROGRIVO admin layout v1 */
.admin-app{
  min-height:100vh;
  display:grid;
  grid-template-columns:260px minmax(0,1fr);
  background:#f8fafc;
}

.admin-sidebar{
  min-height:100vh;
  background:#0d1b2a;
  color:#fff;
  padding:24px 18px;
  position:sticky;
  top:0;
  height:100vh;
  display:flex;
  flex-direction:column;
}

.admin-sidebar-brand{
  display:flex;
  align-items:center;
  gap:12px;
  padding:4px 8px 24px;
  border-bottom:1px solid rgba(255,255,255,.10);
}

.admin-sidebar-org{
  padding:22px 10px 14px;
}

.admin-sidebar-org small{
  display:block;
  color:#94a3b8;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:5px;
}

.admin-sidebar-org strong{
  display:block;
  color:#fff;
  font-size:15px;
}

.admin-sidebar-nav{
  display:grid;
  gap:5px;
  margin-top:8px;
}

.admin-sidebar-nav button{
  width:100%;
  border:0;
  background:transparent;
  color:#cbd5e1;
  text-align:left;
  padding:12px 14px;
  border-radius:10px;
  font-weight:700;
}

.admin-sidebar-nav button:hover,
.admin-sidebar-nav button.active{
  background:rgba(37,99,235,.18);
  color:#fff;
}

.admin-sidebar-bottom{
  margin-top:auto;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.10);
}

.admin-sidebar-bottom button{
  width:100%;
  border:0;
  background:transparent;
  color:#94a3b8;
  text-align:left;
  padding:10px 14px;
  border-radius:10px;
}

.admin-sidebar-bottom button:hover{
  color:#fff;
  background:rgba(255,255,255,.06);
}

.admin-main{
  min-width:0;
  padding:0 42px;
}

.admin-main .page{
  width:min(1180px,100%);
  margin:0 auto;
}

.admin-main h1{
  font-size:clamp(36px,4vw,52px);
}

@media(max-width:900px){
  .admin-app{
    grid-template-columns:1fr;
  }

  .admin-sidebar{
    position:relative;
    height:auto;
    min-height:auto;
  }

  .admin-sidebar-nav{
    grid-template-columns:repeat(2,1fr);
  }

  .admin-main{
    padding:0 20px;
  }
}

/* Keep long module/step menus reachable in the sticky desktop sidebar. */
@media(min-width:901px){
  .admin-sidebar{overflow-y:auto;overscroll-behavior-y:contain;}
  .admin-sidebar > *{flex-shrink:0;}
}
