:root{
    --tg-red:#e30613;
    --tg-red-600:#c10510;
    --text:#1a1a1a;
    --muted:#6b7280;
    --bg:#ffffff;
    --surface:#f5f6f7;
    --border:#e5e7eb;
    --radius:16px;
}

/* Reset & Basics */
*{box-sizing:border-box}
html,body{height:100%}
body{
    margin:0;
    font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
    color:var(--text);
    background:var(--surface);
}

/* ===== Grid-Layout über die ganze Seite ===== */
.admin-layout{
    min-height:100vh;
    display:grid;
    grid-template-columns:260px 1fr;
    grid-template-rows:auto 1fr auto;
    grid-template-areas:
        "header header"
        "sidebar main"
        "footer footer";
}
@media (max-width: 980px){
    .admin-layout{
        grid-template-columns:1fr;
        grid-template-areas:
            "header"
            "main"
            "footer";
    }
}

/* Header (Topbar) */
.topbar{
    grid-area:header;
    position:sticky; top:0; z-index:100;
    display:flex; align-items:center; justify-content:space-between;
    gap:16px; padding:14px 20px;
    background:#fff; border-bottom:1px solid var(--border);
}
.topbar__left{display:flex; align-items:center; gap:14px}
.brand img{height:34px; display:block}
.brand__title{font-weight:600; letter-spacing:.2px}
.topbar__right{display:flex; align-items:center; gap:10px}
.user-chip{
    padding:8px 10px; border:1px solid var(--border); border-radius:999px;
    background:#fff; font-size:14px; color:#374151;
}

/* Sidebar */
.sidebar{
    grid-area:sidebar;
    background:#fff;
    border-right:1px solid var(--border);
    padding:16px 12px;
}
@media (max-width: 980px){
    .sidebar{ display:none; }
}
.menu{display:flex; flex-direction:column; gap:4px}
.menu__item{
    display:flex; align-items:center; gap:10px;
    padding:10px 12px; border-radius:10px; text-decoration:none;
    color:#111827; font-weight:600;
}
.menu__item:hover{background:#f9fafb}
.menu__item.is-active{background:#fff; border:1px solid var(--border)}
.menu__icon{width:22px; text-align:center}

/* Main */
.main{
    grid-area:main;
    padding:22px;
    background:transparent;
}
.page-head h1{margin:0 0 6px; font-size:26px}
.muted{color:var(--muted)}
.small{font-size:14px}

/* Cards */
.cards{
    display:grid; grid-template-columns:repeat(3, minmax(0,1fr));
    gap:16px; margin:16px 0 22px;
}
@media (max-width:1200px){ .cards{grid-template-columns:repeat(2,1fr)} }
@media (max-width:720px){ .cards{grid-template-columns:1fr} }
.card{
    background:#fff; border:1px solid var(--border);
    border-radius:var(--radius); padding:18px;
}
.card__title{margin:0 0 8px; font-size:16px}
.card__kpi{font-size:28px; font-weight:700; line-height:1}
.card__sub{margin:4px 0 0}

/* Panel */
.panel{
    background:#fff; border:1px solid var(--border);
    border-radius:var(--radius); padding:16px;
}
.panel__head{
    display:flex; align-items:center; justify-content:space-between;
    gap:12px; margin-bottom:12px;
}
.panel__head h2{margin:0; font-size:18px}

/* Platzhalter-Woche */
.placeholder-grid{
    display:grid; grid-template-columns:repeat(7, minmax(0,1fr)); gap:10px;
}
.placeholder-cell{
    border:1px dashed var(--border); background:#fafafa;
    border-radius:12px; padding:16px; text-align:center; font-weight:600; color:#4b5563;
}

/* Footer */
.footer{
    grid-area:footer;
    border-top:1px solid var(--border);
    background:#fff;
}
.footer__inner{
    max-width:1200px; margin:0 auto; padding:16px 20px;
    display:flex; align-items:center; justify-content:space-between; gap:12px;
    color:var(--muted); font-size:14px;
}
.footer__nav a{color:var(--muted); text-decoration:none; margin-left:16px}
.footer__nav a:hover{color:var(--text)}

/* ---- Login-Kompatibilität (falls benötigt) ---- */
.login-body{background:var(--surface)}
.login-wrapper{min-height:calc(100vh - 64px - 64px); display:grid; place-items:center; padding:24px}
.login-card{
    width:100%; max-width:420px; background:#fff; border:1px solid var(--border);
    border-radius:var(--radius); padding:24px; box-shadow:0 10px 30px rgba(0,0,0,.04);
}
.login-card h1{margin:0 0 6px; font-size:26px}
.alert{border:1px solid var(--border); border-radius:12px; padding:12px 14px; margin:12px 0; background:#fff}
.alert--error{border-color:#fecaca; background:#fff1f2}
.alert--success{border-color:#bbf7d0; background:#f0fdf4}
.sep{border:none; border-top:1px solid var(--border); margin:18px 0}

/* ===== NEW: Settings-spezifische Styles ===== */

/* Sub-Navigation (Tabs) in /admin/settings/* */
.settings-subnav{
    display:flex; gap:8px; flex-wrap:wrap; margin:0 0 16px;
}
.settings-subnav a{
    display:inline-block;
    padding:10px 12px;
    border:1px solid var(--border);
    border-radius:12px;
    text-decoration:none; color:inherit; background:#fff;
}
.settings-subnav a.is-active,
.settings-subnav a:hover{
    background:#f6f7fb; border-color:#d5d8e1;
}

/* Link-Kachel (für Schnellzugriffe) */
.link-tile{
    display:block; padding:14px; border-radius:12px;
    border:1px dashed var(--border);
    text-decoration:none; color:inherit; background:#fff;
}
.link-tile:hover{ border-style:solid; background:#fafbff; }

/* Log-Viewer */
.log{
    font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
    font-size:.9rem; background:#0f1221; color:#d7e0ff;
    padding:16px; border-radius:12px; overflow:auto; max-height:50vh;
}

/* Utility: Actions-Zeile */
.actions{ display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }

/* Tabellen-Grundstyle (Export/Tools/Logs) */
.table{
    width:100%; border-collapse:collapse; border-spacing:0;
    background:#fff; border:1px solid var(--border); border-radius:12px; overflow:hidden;
}
.table th, .table td{
    padding:10px 12px; border-bottom:1px solid #eeeef5; text-align:left; font-size:.95rem;
}
.table thead th{ background:#f6f7fc; font-weight:600; }
.table tbody tr:hover{ background:#fafbff; }
