/* Project Atlas – Client-Prototyp */
:root{
  --navy:#0B1B4D; --navy-2:#132a6b; --primary:#2563EB; --primary-50:#EEF4FF;
  --bg:#F5F7FB; --card:#FFFFFF; --line:#E5E9F2; --text:#0F172A; --muted:#64748B;
  --s1:#7C3AED; --s2:#2563EB; --s3:#0D9488; --s4:#16A34A; --s5:#EAB308; --s6:#EA580C; --s7:#DC2626;
  --ok:#16A34A; --warn:#EAB308; --bad:#DC2626;
  --radius:14px; --shadow:0 1px 2px rgba(15,23,42,.04),0 4px 16px rgba(15,23,42,.06);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--text);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer}
img,svg{display:block}
.container{max-width:1200px;margin:0 auto;padding:0 20px}

/* ---------- Buttons & badges ---------- */
.btn{display:inline-flex;align-items:center;gap:8px;border:1px solid transparent;border-radius:10px;padding:10px 18px;font-weight:600;font-size:14px;transition:.15s}
.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:#1d4fd8}
.btn-ghost{background:#fff;border-color:var(--line);color:var(--text)}.btn-ghost:hover{border-color:#cbd5e1}
.btn-light{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.25)}.btn-light:hover{background:rgba(255,255,255,.2)}
.btn-sm{padding:6px 12px;font-size:13px;border-radius:8px}
.badge{display:inline-block;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}
.b-neu{background:#E0E7FF;color:#3730A3}.b-pruefung{background:#FEF3C7;color:#92400E}
.b-sprachkurs{background:#CCFBF1;color:#115E59}.b-interview{background:#DCFCE7;color:#166534}
.b-zusage{background:#D1FAE5;color:#065F46}.b-visum{background:#DBEAFE;color:#1E40AF}
.b-eingereist{background:#FFEDD5;color:#9A3412}.b-nachbetreuung{background:#FCE7F3;color:#9D174D}

/* ---------- Landing ---------- */
.nav{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav .container{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:20px;color:var(--navy)}
.logo svg{width:30px;height:30px}
.nav-links{display:flex;gap:26px;font-size:14px;font-weight:500;color:var(--muted)}
.nav-links a:hover{color:var(--text)}
.hero{background:radial-gradient(1200px 500px at 85% -10%,#2a4bb8 0%,transparent 60%),linear-gradient(160deg,var(--navy),#0a1640);color:#fff;padding:84px 0 96px}
.hero .container{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.eyebrow{display:inline-block;font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#93C5FD;margin-bottom:14px}
.hero h1{font-size:52px;line-height:1.08;font-weight:800;letter-spacing:-.02em}
.hero p.lead{font-size:18px;color:#CBD5E1;margin:20px 0 30px;max-width:560px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.checks{list-style:none;display:grid;gap:10px;margin-top:34px;grid-template-columns:repeat(2,minmax(0,1fr));max-width:520px}
.checks li{display:flex;gap:10px;align-items:center;font-size:14px;color:#E2E8F0}
.checks li::before{content:"";width:18px;height:18px;flex:none;border-radius:50%;background:#22C55E url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center/12px no-repeat}
.hero-card{background:#fff;color:var(--text);border-radius:18px;padding:22px;box-shadow:0 30px 60px rgba(0,0,0,.35)}
.hero-card h4{font-size:14px;margin-bottom:14px}
.mini-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}
.mini-kpis div{border:1px solid var(--line);border-radius:10px;padding:10px}
.mini-kpis span{display:block;font-size:11px;color:var(--muted)}
.mini-kpis b{font-size:22px}
section.block{padding:80px 0}
.section-head{max-width:720px;margin-bottom:40px}
.section-head h2{font-size:34px;line-height:1.15;letter-spacing:-.01em;color:var(--navy)}
.section-head p{color:var(--muted);margin-top:10px;font-size:16px}
.process{display:grid;grid-template-columns:repeat(7,1fr);gap:12px}
.step{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px 14px;position:relative;box-shadow:var(--shadow)}
.step .num{width:30px;height:30px;border-radius:50%;color:#fff;font-weight:700;display:grid;place-items:center;font-size:14px;margin-bottom:12px}
.step h3{font-size:14px;line-height:1.3;margin-bottom:10px;min-height:36px}
.step ul{list-style:none;font-size:12.5px;color:var(--muted);display:grid;gap:4px}
.step ul li::before{content:"• "}
.modules{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.module{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px;transition:.2s}
.module:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.module .ico{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;margin-bottom:12px}
.module .ico svg{width:22px;height:22px}
.module h3{font-size:15px;margin-bottom:8px;color:var(--navy)}
.module ul{list-style:none;font-size:13px;color:var(--muted);display:grid;gap:3px}
.roles{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.role{display:flex;gap:14px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px}
.role .ico{width:40px;height:40px;border-radius:50%;background:var(--primary-50);color:var(--primary);display:grid;place-items:center;flex:none}
.role h4{font-size:15px}.role p{font-size:13px;color:var(--muted)}
.pricing{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.plan{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;display:flex;flex-direction:column}
.plan.featured{border:2px solid var(--primary);box-shadow:0 12px 30px rgba(37,99,235,.15)}
.plan.enterprise{background:linear-gradient(160deg,#F3EEFF,#fff)}
.plan h3{font-size:17px;color:var(--navy)}
.plan .price{font-size:40px;font-weight:800;margin:14px 0 2px;color:var(--navy)}
.plan .price small{font-size:14px;font-weight:500;color:var(--muted)}
.plan ul{list-style:none;margin:18px 0 22px;display:grid;gap:8px;font-size:14px;flex:1}
.plan ul li{padding-left:22px;position:relative}
.plan ul li::before{content:"✓";position:absolute;left:0;color:var(--ok);font-weight:700}
.roadmap{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;position:relative}
.phase{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;border-top:4px solid}
.phase .tag{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.phase h4{font-size:17px;margin:6px 0 10px;color:var(--navy)}
.phase ul{list-style:none;font-size:13.5px;color:var(--muted);display:grid;gap:4px}
.tech{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.tech .card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px}
.tech h4{font-size:15px;margin-bottom:12px;color:var(--navy)}
.tech dl{display:grid;grid-template-columns:110px 1fr;gap:8px;font-size:14px}
.tech dt{color:var(--muted)}
.tech ul{list-style:none;display:grid;gap:8px;font-size:14px}
.tech ul li{padding-left:22px;position:relative}
.tech ul li::before{content:"✓";position:absolute;left:0;color:var(--ok);font-weight:700}
.cta{background:linear-gradient(135deg,var(--primary),#1e3a8a);color:#fff;border-radius:22px;padding:48px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.cta h2{font-size:30px}.cta p{color:#DBEAFE;margin-top:6px}
footer{background:var(--navy);color:#CBD5E1;padding:28px 0;font-size:14px}
footer .container{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
footer b{color:#fff}

/* ---------- App shell ---------- */
.app{display:grid;grid-template-columns:240px 1fr;min-height:100vh}
.sidebar{background:var(--navy);color:#C7D2FE;padding:20px 14px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}
.sidebar .logo{color:#fff;padding:0 8px 22px}
.sidebar nav{display:grid;gap:2px}
.sidebar nav a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;font-size:14px;font-weight:500}
.sidebar nav a svg{width:18px;height:18px;opacity:.8}
.sidebar nav a:hover{background:rgba(255,255,255,.06);color:#fff}
.sidebar nav a.active{background:var(--primary);color:#fff}
.sidebar nav .sep{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#6B7BB5;padding:16px 12px 6px}
.sidebar .me{margin-top:auto;display:flex;gap:10px;align-items:center;padding:12px;border-radius:12px;background:rgba(255,255,255,.06);font-size:13px}
.sidebar .me b{color:#fff;display:block}
.main{min-width:0}
.topbar{height:64px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:10}
.topbar h1{font-size:19px}
.topbar .right{display:flex;align-items:center;gap:12px}
.search{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:8px 12px;background:var(--bg);width:260px}
.search input{border:0;background:transparent;outline:0;font:inherit;width:100%}
.role-switch{border:1px solid var(--line);border-radius:10px;padding:8px 10px;font:inherit;background:#fff}
.menu-btn{display:none;border:1px solid var(--line);background:#fff;border-radius:8px;padding:6px 9px}
.content{padding:26px 28px 48px}
.grid{display:grid;gap:16px}
.g-4{grid-template-columns:repeat(4,1fr)}.g-3{grid-template-columns:repeat(3,1fr)}.g-2{grid-template-columns:repeat(2,1fr)}
.g-21{grid-template-columns:2fr 1fr}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.card-h{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid var(--line)}
.card-h h3{font-size:15px}
.card-h a{font-size:13px;color:var(--primary);font-weight:600}
.card-b{padding:18px}
.kpi{padding:18px}
.kpi span{font-size:13px;color:var(--muted)}
.kpi b{display:block;font-size:30px;margin-top:4px;letter-spacing:-.02em}
.kpi small{font-size:12px;font-weight:600}
.up{color:var(--ok)}.down{color:var(--bad)}
.kpi .bar{height:4px;border-radius:4px;margin-top:12px}
table{width:100%;border-collapse:collapse;font-size:14px}
th{text-align:left;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:12px 18px;border-bottom:1px solid var(--line);background:#FAFBFD}
td{padding:12px 18px;border-bottom:1px solid var(--line)}
tr.row{cursor:pointer}tr.row:hover td{background:#F8FAFF}
.person{display:flex;align-items:center;gap:10px}
.av{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:700;font-size:13px;flex:none}
.av.lg{width:72px;height:72px;font-size:24px}
.person small{display:block;color:var(--muted);font-size:12px}
.filters{display:flex;gap:10px;flex-wrap:wrap;padding:14px 18px;border-bottom:1px solid var(--line)}
.filters select,.filters input{border:1px solid var(--line);border-radius:9px;padding:8px 10px;font:inherit;background:#fff}
.tasks{list-style:none;display:grid}
.tasks li{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--line);font-size:14px}
.tasks li:last-child{border:0}
.tasks input{width:17px;height:17px;accent-color:var(--primary)}
.tasks li.done span{text-decoration:line-through;color:var(--muted)}
.tasks .cnt{margin-left:auto;color:var(--muted);font-size:13px}
.legend{list-style:none;display:grid;gap:8px;font-size:14px}
.legend li{display:flex;align-items:center;gap:10px}
.legend i{width:10px;height:10px;border-radius:50%}
.legend b{margin-left:auto}
.tabs{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--line);padding:0 18px}
.tabs button{border:0;background:none;padding:14px 12px;font-weight:600;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px}
.tabs button.active{color:var(--primary);border-color:var(--primary)}
.doc-list{list-style:none}
.doc-list li{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);font-size:14px}
.doc-list .st{margin-left:auto;font-weight:600;font-size:13px}
.doc-list input{width:17px;height:17px;accent-color:var(--ok)}
.progress{height:8px;background:#EEF2F7;border-radius:8px;overflow:hidden}
.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--primary),#22C55E);border-radius:8px;transition:width .3s}
.timeline{list-style:none;position:relative;padding-left:22px}
.timeline::before{content:"";position:absolute;left:6px;top:4px;bottom:4px;width:2px;background:var(--line)}
.timeline li{position:relative;padding-bottom:18px;font-size:14px}
.timeline li::before{content:"";position:absolute;left:-21px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--primary);border:2px solid #fff;box-shadow:0 0 0 2px var(--primary)}
.timeline small{color:var(--muted);display:block}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center;font-size:13px}
.cal .dow{font-weight:600;color:var(--muted);padding:6px 0}
.cal .d{padding:10px 0;border-radius:9px;position:relative;cursor:pointer}
.cal .d:hover{background:var(--bg)}
.cal .d.muted{color:#CBD5E1}
.cal .d.has::after{content:"";position:absolute;bottom:4px;left:50%;width:5px;height:5px;border-radius:50%;background:var(--primary);transform:translateX(-50%)}
.cal .d.sel{background:var(--primary);color:#fff}.cal .d.sel::after{background:#fff}
.cal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.cal-head button{border:1px solid var(--line);background:#fff;border-radius:8px;width:32px;height:32px}
.slot{display:grid;grid-template-columns:70px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}
.slot time{font-weight:700;color:var(--primary)}
.slot small{color:var(--muted);display:block}
.kanban{display:grid;grid-template-columns:repeat(8,minmax(210px,1fr));gap:12px;overflow-x:auto;padding-bottom:10px}
.col{background:#EEF2F7;border-radius:12px;padding:10px;min-height:300px}
.col h4{font-size:13px;display:flex;justify-content:space-between;padding:4px 6px 10px}
.col.over{outline:2px dashed var(--primary)}
.kcard{background:#fff;border-radius:10px;padding:12px;margin-bottom:8px;box-shadow:var(--shadow);cursor:grab;font-size:13px}
.kcard .person{margin-bottom:6px}
.match-row{display:grid;grid-template-columns:1fr 180px 90px auto;gap:14px;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line)}
.score{font-weight:800;font-size:18px}
.empty{color:var(--muted);padding:24px;text-align:center}
.toast{position:fixed;bottom:22px;right:22px;background:var(--navy);color:#fff;padding:12px 18px;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.25);font-size:14px;transform:translateY(120px);transition:.3s;z-index:50}
.toast.show{transform:none}
.modal-bg{position:fixed;inset:0;background:rgba(11,27,77,.45);display:none;align-items:center;justify-content:center;z-index:40;padding:20px}
.modal-bg.show{display:flex}
.modal{background:#fff;border-radius:16px;width:100%;max-width:460px;padding:24px}
.modal h3{margin-bottom:16px}
.modal label{display:block;font-size:13px;font-weight:600;margin:12px 0 6px}
.modal input,.modal select{width:100%;border:1px solid var(--line);border-radius:9px;padding:10px;font:inherit}
.modal .actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .process{grid-template-columns:repeat(4,1fr)}.modules{grid-template-columns:repeat(3,1fr)}
  .pricing,.roadmap{grid-template-columns:repeat(2,1fr)}
  .g-4{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:860px){
  .hero .container{grid-template-columns:1fr}.hero h1{font-size:38px}
  .nav-links{display:none}
  .roles,.tech,.g-3,.g-2,.g-21{grid-template-columns:1fr}
  .process,.modules{grid-template-columns:repeat(2,1fr)}
  .app{grid-template-columns:1fr}
  .sidebar{position:fixed;left:0;top:0;width:250px;z-index:30;transform:translateX(-100%);transition:.25s}
  .sidebar.open{transform:none}
  .menu-btn{display:inline-block}
  .search{display:none}
  .role-switch{max-width:150px}.topbar h1{font-size:16px}.topbar .right{gap:8px}
  .content{padding:18px 16px 40px}.topbar{padding:0 16px}
  .match-row{grid-template-columns:1fr auto}.match-row .progress,.match-row .hide-sm{display:none}
  .table-wrap{overflow-x:auto}
}
@media (max-width:520px){
  .pricing,.roadmap,.process,.modules,.g-4{grid-template-columns:1fr}
  .checks{grid-template-columns:1fr}
  .cta{padding:30px}
}
