/* Project Atlas – zusätzliche Styles für Login, Module und RTL */
.muted{color:var(--muted)}
.gap-s{gap:10px}
.mt{margin-top:16px}
.err{color:var(--bad);font-size:13px;margin:10px 0}
.icon-btn{border:0;background:transparent;color:#C7D2FE;font-size:18px;margin-left:auto;padding:4px}
.icon-btn:hover{color:#fff}
.bell{position:relative;border:1px solid var(--line);border-radius:10px;padding:7px 10px;background:#fff;font-size:15px}
.bell span{position:absolute;top:-6px;right:-6px;background:var(--bad);color:#fff;font-size:10px;font-weight:700;border-radius:999px;padding:1px 6px}
.sidebar .me{gap:8px}
.sidebar .me span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sidebar nav a.off{opacity:.35;pointer-events:none}

/* Login & Registrierung */
.login-page{background:var(--bg)}
.login-wrap{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}
.login-hero{background:radial-gradient(900px 400px at 85% -10%,#2a4bb8 0%,transparent 60%),linear-gradient(160deg,var(--navy),#0a1640);color:#fff;padding:48px;display:flex;flex-direction:column;justify-content:space-between}
.login-hero h1{font-size:36px;line-height:1.15;font-weight:800;max-width:520px}
.login-hero p{color:#CBD5E1;margin-top:14px;max-width:480px}
.login-foot{font-size:13px;color:#94A3B8}
.login-form{display:flex;align-items:center;justify-content:center;padding:24px}
.login-form .card,.register-wrap .card{width:100%;max-width:420px;padding:30px}
.register-wrap{max-width:560px;margin:0 auto;padding:30px 20px}
.register-wrap .card{max-width:none}
.login-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.logo-sm{font-size:18px}.logo-sm svg{width:26px;height:26px}
.login-form h2,.register-wrap h2{font-size:22px}
.login-form label,.register-wrap label{display:block;font-size:13px;font-weight:600;margin:14px 0 6px}
.login-form input,.register-wrap input,.register-wrap select{width:100%;border:1px solid var(--line);border-radius:9px;padding:10px;font:inherit}
.login-form .btn{margin-top:18px}
.login-form input.code{text-align:center;font-size:24px;letter-spacing:.4em}
.demo-box{border-top:1px solid var(--line);margin-top:22px;padding-top:14px}
.demo-box p{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:8px}
.demo-box code{background:var(--bg);padding:1px 5px;border-radius:5px;text-transform:none;letter-spacing:0}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:5px 11px;font-size:12px}
.chip:hover{border-color:var(--primary);color:var(--primary)}
label.check{display:flex;gap:8px;align-items:flex-start;font-weight:500!important;font-size:13px}
label.check input{width:auto;margin-top:3px}

/* Module-Komponenten */
.kpi-5{grid-template-columns:repeat(5,1fr)}
.funnel{display:grid;gap:6px}
.funnel div{display:flex;align-items:center;gap:10px;font-size:13px}
.funnel b{display:flex;align-items:center;height:30px;border-radius:7px;color:#fff;padding:0 10px;min-width:40px}
.toggle{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:14px;cursor:pointer;background:#fff}
.toggle.on{border-color:rgba(37,99,235,.35);background:#F5F8FF}
.toggle.off{color:var(--muted);background:#F8FAFC}
.toggle .sw{margin-left:auto;width:40px;height:22px;border-radius:999px;background:#CBD5E1;position:relative;flex:none;transition:.2s}
.toggle .sw::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:.2s}
.toggle.on .sw{background:var(--ok)}.toggle.on .sw::after{left:21px}
.toggles{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.cl{list-style:none}
.cl li{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:14px;flex-wrap:wrap}
.cl li .ttl{flex:1;min-width:160px}
.cl li.done .ttl{text-decoration:line-through;color:var(--muted)}
.cl li small{color:var(--muted)}
.cl select{border:1px solid var(--line);border-radius:7px;padding:3px 6px;font:inherit;font-size:12px}
.pill{display:inline-block;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}
.p-open{background:#F1F5F9;color:#475569}.p-progress,.p-blue{background:#DBEAFE;color:#1E40AF}.p-done,.p-green{background:#DCFCE7;color:#166534}.p-blocked,.p-red{background:#FEE2E2;color:#991B1B}
.p-amber{background:#FEF3C7;color:#92400E}.p-violet{background:#EDE9FE;color:#5B21B6}
.overdue{color:var(--bad);font-weight:600}
.inline-form{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));align-items:end}
.inline-form label{display:block;font-size:12px;font-weight:600;margin-bottom:4px}
.inline-form input,.inline-form select,.inline-form textarea{width:100%;border:1px solid var(--line);border-radius:9px;padding:8px 10px;font:inherit}
.list-select{list-style:none;max-height:60vh;overflow-y:auto}
.list-select li{padding:10px 18px;border-bottom:1px solid var(--line);cursor:pointer;font-size:14px}
.list-select li:hover{background:#F8FAFF}.list-select li.sel{background:var(--primary-50)}
.list-select small{display:block;color:var(--muted);font-size:12px}
.g-13{grid-template-columns:360px 1fr}
.offer{padding:16px}
.offer h4{font-size:15px;display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
.offer p{font-size:13px;color:var(--muted)}
.offer .price{font-size:15px;color:var(--text);margin-top:6px}
.offer .acts{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.cert{border:4px double var(--primary);border-radius:12px;padding:26px;text-align:center;color:var(--navy)}
.cert .t{font-size:11px;letter-spacing:.3em;text-transform:uppercase}
.cert h3{font-size:24px;margin:10px 0}
.att-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}
.att-grid label{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:9px;padding:8px 10px;font-size:13px}
.att-grid input{accent-color:var(--primary);width:16px;height:16px}
.stars{color:#F59E0B}
.notif{display:flex;gap:12px;padding:12px 18px;border-bottom:1px solid var(--line);font-size:14px;align-items:flex-start}
.notif.unread{background:#F5F8FF}
.notif .ico{font-size:20px}
.notif small{display:block;color:var(--muted);font-size:12px}
.secret{font-family:ui-monospace,monospace;font-size:12px;background:var(--bg);padding:8px;border-radius:8px;word-break:break-all}
.modal textarea{width:100%;border:1px solid var(--line);border-radius:9px;padding:10px;font:inherit}
.modal.wide{max-width:640px}
.tag-list{display:flex;flex-wrap:wrap;gap:4px}
.tag-list span{background:#F1F5F9;border-radius:5px;padding:2px 6px;font-size:11px}
.ai-box{background:var(--primary-50);border-radius:12px;padding:14px;font-size:14px;white-space:pre-line;margin:16px 18px 0}
.steps-row{display:grid;grid-template-columns:repeat(8,1fr);gap:6px;margin-top:12px}
.steps-row div{border-radius:8px;padding:8px 4px;text-align:center;font-size:11px;font-weight:600;background:#F1F5F9;color:#94A3B8}
.steps-row div.on{color:#fff}
.btn-danger{background:#fff;border-color:#FECACA;color:#B91C1C}.btn-danger:hover{background:#FEF2F2}

/* RTL */
[dir="rtl"] th,[dir="rtl"] td{text-align:right}
[dir="rtl"] .icon-btn{margin-left:0;margin-right:auto}
[dir="rtl"] .toggle .sw{margin-left:0;margin-right:auto}
[dir="rtl"] .timeline{padding-left:0;padding-right:22px}
[dir="rtl"] .timeline::before{left:auto;right:6px}
[dir="rtl"] .timeline li::before{left:auto;right:-21px}
[dir="rtl"] .tasks .cnt,[dir="rtl"] .legend b,[dir="rtl"] .doc-list .st{margin-left:0;margin-right:auto}
[dir="rtl"] .bell span{right:auto;left:-6px}
@media (max-width:1100px){.kpi-5{grid-template-columns:repeat(2,1fr)}.g-13{grid-template-columns:1fr}}
@media (max-width:860px){.login-wrap{grid-template-columns:1fr}.login-hero{display:none}.toggles{grid-template-columns:1fr}.steps-row{grid-template-columns:repeat(4,1fr)}.kpi-5{grid-template-columns:1fr}}
@media print{.sidebar,.topbar,.no-print{display:none!important}.app{grid-template-columns:1fr}.content{padding:0}}
.dl4{display:grid;grid-template-columns:repeat(4,auto 1fr);gap:8px 14px;font-size:14px}.dl4 dt{color:var(--muted)}.dl4 dd{font-weight:500}
.chip.on{border-color:var(--primary);color:var(--primary);background:var(--primary-50)}
@media (max-width:860px){.dl4{grid-template-columns:auto 1fr}}
