/* ============================================================
   Shared app chrome, header, page shell, footer
   Used by all post-login pages
   ============================================================ */

*{box-sizing:border-box}
body{margin:0;background:var(--ihk-gray-50);color:var(--fg-default);font-family:var(--font-sans)}
a{color:var(--ihk-navy);text-decoration:none}
a:hover{color:var(--ihk-red)}
button{font-family:inherit;cursor:pointer;border:0;background:none}

/* ---------- Header ---------- */
.hdr{background:#fff;border-bottom:1px solid var(--border-muted)}
.hdr-row{max-width:1380px;margin:0 auto;padding:12px 24px;display:flex;align-items:center;gap:20px;min-width:0;flex-wrap:nowrap}
.hdr-row > *{min-width:0}
.hdr-logo{display:flex;align-items:center;text-decoration:none;flex-shrink:0}
.hdr-logo img{height:40px;display:block}
.hdr-lockup{margin-left:14px;padding-left:14px;border-left:1px solid var(--border-muted);display:flex;flex-direction:column;line-height:1.1;flex-shrink:0}
.hdr-lockup .brand{font-family:var(--font-serif);font-size:18px;font-weight:700;color:var(--ihk-navy);letter-spacing:-0.01em;white-space:nowrap}
.hdr-lockup .tag{font-size:10.5px;font-weight:500;color:var(--fg-subtle);text-transform:uppercase;letter-spacing:0.08em;margin-top:2px;white-space:nowrap}
.hdr-nav{display:flex;gap:4px;margin-left:20px;flex-wrap:nowrap;overflow:hidden}
.hdr-nav a{padding:8px 14px;font-size:13.5px;font-weight:500;color:var(--fg-muted);border-radius:var(--radius-md);white-space:nowrap}
.hdr-nav a:hover{background:var(--ihk-navy-25);color:var(--ihk-navy)}
.hdr-nav a.active{background:var(--ihk-navy-25);color:var(--ihk-navy);font-weight:600}
.hdr-right{margin-left:auto;display:flex;gap:10px;align-items:center;flex-shrink:0}
.hdr-right .me .me-name,.hdr-right .me .me-org{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px;display:block}
.hdr-right .lang-pill{display:inline-flex;gap:2px;border:1px solid var(--border-muted);border-radius:var(--radius-full);padding:2px;font-size:11.5px;font-weight:600}
.hdr-right .lang-pill button,.hdr-right .lang-pill a{padding:3px 10px;border-radius:var(--radius-full);color:var(--fg-subtle);text-decoration:none}
.hdr-right .lang-pill button.active,.hdr-right .lang-pill a.active{background:var(--ihk-navy);color:#fff}
.hdr-right .icon-btn{position:relative;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:var(--fg-muted)}
.hdr-right .icon-btn:hover{background:var(--ihk-navy-25);color:var(--ihk-navy)}
.hdr-right .icon-btn i[data-lucide]{width:18px;height:18px}
.hdr-right .icon-btn .dot{position:absolute;top:6px;right:7px;width:8px;height:8px;border-radius:50%;background:var(--ihk-red);border:2px solid #fff}
.hdr-right .me{display:flex;gap:9px;align-items:center;padding:4px 10px 4px 4px;border-radius:var(--radius-full);background:var(--ihk-gray-50);border:1px solid var(--border-muted);cursor:pointer}
.hdr-right .me:hover{background:var(--ihk-navy-25);border-color:var(--ihk-navy-200)}
.hdr-right .me .av{width:28px;height:28px;border-radius:50%;background:var(--ihk-navy);color:#fff;display:grid;place-items:center;font-size:11.5px;font-weight:700}
.hdr-right .me .me-txt{font-size:12.5px;line-height:1.15}
.hdr-right .me .me-name{font-weight:600;color:var(--ihk-navy)}
.hdr-right .me .me-org{color:var(--fg-subtle);font-size:11px}
@media (max-width:1180px){.hdr-lockup{display:none}.hdr-nav a{padding:7px 10px;font-size:13px}.hdr-row{gap:14px}}
@media (max-width:1020px){.hdr-right .me .me-txt{display:none}.hdr-right .me{padding:3px}.hdr-right{gap:6px}}
@media (max-width:880px){.hdr-right .icon-btn[aria-label="Hilfe"],.hdr-right .icon-btn[aria-label="Help"]{display:none}.hdr-nav{gap:0}.hdr-nav a{padding:6px 8px;font-size:12.5px}}
@media (max-width:720px){.hdr-right .lang-pill{display:none}.hdr-nav{display:none}}

.proto{max-width:1380px;margin:0 auto;padding:7px 24px;font-size:11px;color:var(--fg-subtle);display:flex;gap:8px;align-items:center;border-bottom:1px solid var(--border-muted);background:#fff}
.proto .pb{background:var(--ihk-gray-800);color:#fff;font-size:9.5px;font-weight:700;letter-spacing:0.12em;padding:2px 7px;border-radius:var(--radius-sm)}

/* ---------- Page shell ---------- */
.shell{max-width:1380px;margin:0 auto;padding:28px 24px 80px}
.page-head{display:flex;align-items:flex-end;gap:24px;margin-bottom:24px;flex-wrap:wrap}
.page-head h1{font-size:28px;font-weight:700;color:var(--ihk-navy);letter-spacing:-0.02em;line-height:1.15;margin:0 0 6px}
.page-head .sub{font-size:14px;color:var(--fg-muted);line-height:1.5;margin:0}
.page-head .right{margin-left:auto;display:flex;gap:8px;align-items:center}

/* ---------- Buttons ---------- */
.btn{padding:9px 16px;font-size:13px;font-weight:600;border-radius:var(--radius-md);display:inline-flex;gap:6px;align-items:center;justify-content:center;transition:all 160ms var(--ease-out);white-space:nowrap}
.btn i[data-lucide]{width:14px;height:14px}
.btn-primary{background:var(--ihk-navy);color:#fff}
.btn-primary:hover{background:var(--ihk-navy-700)}
.btn-secondary{background:#fff;color:var(--ihk-navy);border:1px solid var(--border-default)}
.btn-secondary:hover{background:var(--ihk-navy-25);border-color:var(--ihk-navy-300)}
.btn-ghost{background:transparent;color:var(--fg-muted)}
.btn-ghost:hover{background:var(--ihk-gray-100);color:var(--ihk-navy)}
.btn-sm{padding:6px 11px;font-size:12px}
.btn-sm i[data-lucide]{width:12px;height:12px}

/* ---------- Cards ---------- */
.card{background:#fff;border:1px solid var(--border-muted);border-radius:var(--radius-lg);overflow:hidden}
.card-hd{padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border-muted)}
.card-hd h3{margin:0;font-size:15px;font-weight:600;color:var(--ihk-navy);display:flex;gap:8px;align-items:center}
.card-bd{padding:18px 20px}

/* ---------- Footer ---------- */
.foot{border-top:1px solid var(--border-muted);background:#fff;margin-top:40px}
.foot-inner{max-width:1380px;margin:0 auto;padding:18px 24px;display:flex;align-items:center;gap:20px;font-size:11.5px;color:var(--fg-subtle);flex-wrap:wrap}
.foot-inner a{color:var(--fg-subtle)}
.foot-inner a:hover{color:var(--ihk-navy)}
