/* Zentrale Gestaltung fuer andersch.email und alle Anwendungen. */
body.app-monitor *{ box-sizing: border-box; }body.app-monitor{
    --bg: #020817;
    --panel: #08111f;
    --panel-2: #0d1a2b;
    --panel-3: #132238;
    --line: #20344e;
    --text: #f8fafc;
    --muted: #9fb0c7;
    --blue: #1264ff;
    --blue-2: #2f80ff;
    --green: #5ac85a;
    --red: #ff4b40;
    --orange: #f59e0b;
    --purple: #a855f7;
    --shadow: rgba(0,0,0,.38);
}body.app-monitor,body.app-monitor{
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
}body.app-monitor{
    background: radial-gradient(circle at top left, #0d1b2f 0, #020817 42%, #01040b 100%);
    color: var(--text);
    font-family: Arial, Helvetica, sans-serif;
    overflow: hidden;
}body.app-monitor .app{
    width: 100vw;
    height: 100vh;
    display: grid;
    grid-template-columns: 300px minmax(0, 1fr);
    overflow: hidden;
}body.app-monitor .sidebar{
    height: 100vh;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 22px 16px;
    background: linear-gradient(180deg, #071224 0%, #050d1b 100%);
    border-right: 1px solid var(--line);
    display: flex;
    flex-direction: column;
    gap: 18px;
}body.app-monitor .brand{
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 0 6px 10px;
}body.app-monitor .logo{
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    background: linear-gradient(145deg, #112239, #0b1728);
    border: 1px solid var(--line);
    box-shadow: 0 10px 26px var(--shadow);
    font-size: 27px;
}body.app-monitor .brand h1{
    margin: 0;
    font-size: 25px;
    line-height: 1.05;
}body.app-monitor .brand p,body.app-monitor .topbar p,body.app-monitor .quick-card p,body.app-monitor .muted{
    margin: 5px 0 0;
    color: var(--muted);
}body.app-monitor .nav{
    display: grid;
    gap: 14px;
}body.app-monitor .nav-btn{
    min-height: 66px;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 18px;
    color: var(--text);
    text-decoration: none;
    background: linear-gradient(145deg, rgba(22, 39, 62, .95), rgba(9, 20, 35, .95));
    border: 1px solid var(--line);
    border-radius: 14px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
    font-size: 18px;
}body.app-monitor .nav-btn span{ font-size: 28px; }body.app-monitor .nav-btn.active{
    background: linear-gradient(145deg, #0f7aff, #064bec);
    border-color: #2f8cff;
    box-shadow: 0 10px 28px rgba(18,100,255,.28);
}body.app-monitor .quick-card{
    padding: 18px;
    background: linear-gradient(145deg, rgba(6, 18, 35, .96), rgba(5, 12, 25, .96));
    border: 1px solid var(--line);
    border-radius: 14px;
}body.app-monitor .quick-card h2{ margin: 0 0 16px; font-size: 21px; }body.app-monitor .action-btn{
    width: 100%;
    border: 0;
    border-radius: 13px;
    padding: 16px;
    font-size: 16px;
    font-weight: 800;
}body.app-monitor .action-btn.disabled{
    color: #d8e2f2;
    background: linear-gradient(145deg, #263a55, #17263d);
}body.app-monitor .sidebar footer{
    margin-top: auto;
    color: var(--muted);
    padding: 10px 6px 0;
}body.app-monitor .screen{
    height: 100vh;
    min-width: 0;
    overflow: hidden;
    display: grid;
    grid-template-rows: 84px minmax(0, 1fr);
}body.app-monitor .topbar{
    height: 84px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 20px;
    background: rgba(3, 10, 23, .96);
    border-bottom: 1px solid var(--line);
}body.app-monitor .page-title{
    display: flex;
    align-items: center;
    gap: 14px;
}body.app-monitor .page-icon{ font-size: 32px; }body.app-monitor .topbar h2{ margin: 0; font-size: 28px; line-height: 1.05; }body.app-monitor .reload{
    color: var(--text);
    text-decoration: none;
    font-weight: 800;
    background: linear-gradient(145deg, #132238, #0b1627);
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 13px 18px;
}body.app-monitor .viewer{
    min-height: 0;
    height: 100%;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 16px 18px 32px;
}body.app-monitor .viewer iframe{
    width: 100%;
    height: calc(100vh - 116px);
    min-height: 720px;
    border: 0;
    border-radius: 16px;
    background: #000;
}body.app-monitor .backup-page{
    display: grid;
    gap: 14px;
}body.app-monitor .dash-card{
    background: linear-gradient(145deg, rgba(14, 29, 48, .98), rgba(7, 17, 31, .98));
    border: 1px solid var(--line);
    border-radius: 14px;
    box-shadow: 0 12px 28px var(--shadow), inset 0 1px 0 rgba(255,255,255,.03);
    padding: 18px;
    color: var(--text);
}body.app-monitor .dash-card h3{
    margin: 0 0 14px;
    font-size: 20px;
}body.app-monitor .top-metrics{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}body.app-monitor .status-row{
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 12px;
}body.app-monitor .status-pill{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px 12px;
    border-radius: 999px;
    font-weight: 900;
    background: rgba(34, 197, 94, .18);
    color: #8cff91;
    border: 1px solid rgba(34, 197, 94, .38);
}body.app-monitor .status-pill.bad{
    background: rgba(239, 68, 68, .18);
    color: #ff9b9b;
    border-color: rgba(239, 68, 68, .38);
}body.app-monitor .tile-row,body.app-monitor .size-grid{
    display: grid;
    gap: 12px;
}body.app-monitor .tile-row{ grid-template-columns: repeat(3, minmax(150px, 1fr)); }body.app-monitor .size-grid{ grid-template-columns: repeat(6, minmax(130px, 1fr)); }body.app-monitor .tile,body.app-monitor .size-tile{
    min-height: 72px;
    border-radius: 11px;
    padding: 13px 14px;
    background: linear-gradient(145deg, rgba(25, 43, 66, .95), rgba(13, 27, 45, .95));
    border: 1px solid rgba(80, 111, 153, .28);
}body.app-monitor .size-tile{
    display: grid;
    grid-template-columns: 38px 1fr;
    align-items: center;
    gap: 10px;
}body.app-monitor .tile span,body.app-monitor .size-tile span{
    display: block;
    color: var(--muted);
    font-size: 13px;
    margin-bottom: 7px;
}body.app-monitor .tile strong,body.app-monitor .size-tile strong{
    display: block;
    font-size: 18px;
    color: var(--text);
}body.app-monitor .size-tile strong{ font-size: 25px; }body.app-monitor .size-tile small{ color: var(--text); opacity: .95; }body.app-monitor .size-icon{ font-size: 27px; opacity: .95; }body.app-monitor .two-col{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}body.app-monitor .big-number{
    font-size: 38px;
    font-weight: 900;
    line-height: 1;
    margin-bottom: 8px;
}body.app-monitor .bar{
    height: 12px;
    border-radius: 999px;
    background: rgba(226,232,240,.22);
    overflow: hidden;
    margin-bottom: 8px;
}body.app-monitor .bar span{
    display: block;
    height: 100%;
    background: linear-gradient(90deg, #62d464, #8de45b);
}body.app-monitor .ok-note{ color: #a9ffad; font-size: 13px; margin: 0 0 12px; }body.app-monitor .import-note{ color: var(--muted); font-size: 13px; margin-top: 10px; }body.app-monitor .chart-card{ padding-bottom: 12px; }body.app-monitor .chart-head{
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 8px;
}body.app-monitor .chart-head h3{ margin-bottom: 0; }body.app-monitor .chart-wrap{
    height: 310px;
    position: relative;
}body.app-monitor .chart-wrap canvas{
    width: 100% !important;
    height: 100% !important;
}body.app-monitor .table-card{ padding-bottom: 16px; }body.app-monitor table{
    width: 100%;
    border-collapse: collapse;
    color: var(--text);
    font-size: 15px;
}body.app-monitor th,body.app-monitor td{
    text-align: left;
    padding: 10px 12px;
    border-bottom: 1px solid rgba(111, 137, 170, .22);
}body.app-monitor th{ color: #e2e8f0; font-weight: 800; }body.app-monitor td{ color: #edf4ff; }body.app-monitor .viewer::-webkit-scrollbar,body.app-monitor .sidebar::-webkit-scrollbar{ width: 10px; }body.app-monitor .viewer::-webkit-scrollbar-track,body.app-monitor .sidebar::-webkit-scrollbar-track{ background: #020617; }body.app-monitor .viewer::-webkit-scrollbar-thumb,body.app-monitor .sidebar::-webkit-scrollbar-thumb{ background: #1d4ed8; border-radius: 20px; }@media (max-width: 1300px){body.app-monitor .app{ grid-template-columns: 260px minmax(0, 1fr); }body.app-monitor .size-grid{ grid-template-columns: repeat(3, minmax(160px, 1fr)); }body.app-monitor .top-metrics,body.app-monitor .two-col{ grid-template-columns: 1fr; }
}body.app-monitor .vm-pill{
    display: inline-block;
    padding: 8px 12px;
    border-radius: 999px;
    font-weight: bold;
    font-size: 14px;
}body.app-monitor .vm-pill.online{
    background: rgba(34, 197, 94, .15);
    color: #22c55e;
    border: 1px solid rgba(34, 197, 94, .45);
}body.app-monitor .vm-pill.offline{
    background: rgba(239, 68, 68, .15);
    color: #ef4444;
    border: 1px solid rgba(239, 68, 68, .45);
}body.app-monitor .mini-bar{
    margin-top: 8px;
    height: 8px;
    border-radius: 999px;
    background: #1f2937;
    overflow: hidden;
}body.app-monitor .mini-bar span{
    display: block;
    height: 100%;
    background: #38bdf8;
}body.app-monitor .external-open{
    height: 100%;
    min-height: 400px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 18px;
    text-align: center;
    padding: 40px;
}body.app-monitor .external-icon{
    font-size: 72px;
}body.app-monitor .external-open h2{
    margin: 0;
    font-size: 32px;
}body.app-monitor .external-open p{
    margin: 0;
    opacity: 0.8;
}body.app-monitor .external-btn{
    display: inline-block;
    padding: 14px 26px;
    border-radius: 14px;
    background: #2563eb;
    color: #ffffff;
    text-decoration: none;
    font-weight: 700;
    font-size: 18px;
}body.app-monitor .external-btn:hover{
    filter: brightness(1.1);
}body.app-monitor .external-note{
    font-size: 14px;
    opacity: 0.65;
}body.app-monitor .cockpit-grid{
    display: grid;
    grid-template-columns: repeat(auto-fill,minmax(220px,1fr));
    gap: 20px;
    padding: 20px;
}body.app-monitor .cockpit-card{
    background: #0f172a;
    border: 1px solid #1e293b;
    border-radius: 18px;
    padding: 30px;
    text-decoration: none;
    color: white;
    transition: 0.2s;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
}body.app-monitor .cockpit-card:hover{
    background: #1e293b;
    transform: translateY(-3px);
}body.app-monitor .cockpit-icon{
    font-size: 48px;
}body.app-monitor .cockpit-title{
    font-size: 20px;
    font-weight: bold;
}body.app-monitor .home-page{
    display: grid;
    gap: 16px;
}body.app-monitor .hero-card{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}body.app-monitor .hero-card h2{
    margin: 0 0 6px;
    font-size: clamp(24px, 3vw, 36px);
}body.app-monitor .hero-refresh{
    flex: 0 0 auto;
    color: var(--text);
    text-decoration: none;
    font-weight: 900;
    background: linear-gradient(145deg, #132238, #0b1627);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 14px 18px;
}body.app-monitor .home-grid{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 16px;
}body.app-monitor .home-tile{
    min-height: 118px;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 14px;
    padding: 18px;
    color: var(--text);
    text-decoration: none;
    background: linear-gradient(145deg, rgba(22, 39, 62, .96), rgba(9, 20, 35, .96));
    border: 1px solid var(--line);
    border-radius: 18px;
    box-shadow: 0 12px 26px var(--shadow), inset 0 1px 0 rgba(255,255,255,.035);
}body.app-monitor .home-tile:hover,body.app-monitor .nav-btn:hover,body.app-monitor .reload:hover,body.app-monitor .hero-refresh:hover{
    filter: brightness(1.12);
}body.app-monitor .home-icon{
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.08);
    font-size: 30px;
}body.app-monitor .home-tile h3{
    margin: 0 0 6px;
    font-size: 21px;
}body.app-monitor .home-tile p{
    margin: 0;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.35;
}body.app-monitor .home-arrow{
    font-size: 32px;
    color: var(--muted);
}body.app-monitor .wlan-page{
    display: grid;
    gap: 14px;
}body.app-monitor .wlan-list{
    display: grid;
    gap: 12px;
}body.app-monitor .wlan-device{
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 16px;
    padding: 14px 0;
    border-bottom: 1px solid rgba(111, 137, 170, .22);
}body.app-monitor .wlan-device:last-child{ border-bottom: 0; }body.app-monitor .wlan-name{
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 18px;
    font-weight: 900;
}body.app-monitor .wlan-meta,body.app-monitor .wlan-sub{
    color: var(--muted);
    font-size: 14px;
    line-height: 1.55;
}body.app-monitor .wlan-state{
    text-align: right;
    min-width: 120px;
}body.app-monitor .wlan-status{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 7px 12px;
    border-radius: 999px;
    font-weight: 900;
    border: 1px solid rgba(255,255,255,.16);
}body.app-monitor .wlan-status.online{
    color: #8cff91;
    background: rgba(34, 197, 94, .16);
    border-color: rgba(34, 197, 94, .38);
}body.app-monitor .wlan-status.offline{
    color: #ff9b9b;
    background: rgba(239, 68, 68, .16);
    border-color: rgba(239, 68, 68, .38);
}body.app-monitor .dash-card,body.app-monitor .table-card{
    overflow-x: auto;
}@media (max-width: 900px){body.app-monitor{ overflow: auto; }body.app-monitor .app{
        min-height: 100vh;
        height: auto;
        grid-template-columns: 1fr;
        overflow: visible;
    }body.app-monitor .sidebar{
        height: auto;
        position: sticky;
        top: 0;
        z-index: 10;
        padding: 14px;
        border-right: 0;
        border-bottom: 1px solid var(--line);
        gap: 12px;
    }body.app-monitor .brand{
        padding: 0;
    }body.app-monitor .logo{
        width: 44px;
        height: 44px;
        font-size: 22px;
    }body.app-monitor .brand h1{ font-size: 20px; }body.app-monitor .brand p{ display: none; }body.app-monitor .nav{
        display: flex;
        gap: 10px;
        overflow-x: auto;
        padding-bottom: 4px;
        scroll-snap-type: x proximity;
    }body.app-monitor .nav-btn{
        min-width: 150px;
        min-height: 54px;
        padding: 11px 13px;
        font-size: 15px;
        scroll-snap-align: start;
    }body.app-monitor .nav-btn span{ font-size: 22px; }body.app-monitor .quick-card,body.app-monitor .sidebar footer{
        display: none;
    }body.app-monitor .screen{
        height: auto;
        min-height: 0;
        overflow: visible;
        grid-template-rows: auto 1fr;
    }body.app-monitor .topbar{
        height: auto;
        min-height: 72px;
        padding: 14px;
        gap: 12px;
        align-items: flex-start;
    }body.app-monitor .topbar h2{ font-size: 22px; }body.app-monitor .topbar p{ font-size: 13px; }body.app-monitor .page-icon{ font-size: 26px; }body.app-monitor .reload{
        padding: 11px 13px;
        white-space: nowrap;
    }body.app-monitor .viewer{
        height: auto;
        overflow: visible;
        padding: 12px 12px 24px;
    }body.app-monitor .viewer iframe{
        height: calc(100vh - 170px);
        min-height: 520px;
        border-radius: 12px;
    }body.app-monitor .hero-card{
        align-items: flex-start;
        flex-direction: column;
    }body.app-monitor .hero-refresh{ width: 100%; text-align: center; }body.app-monitor .home-grid{
        grid-template-columns: 1fr;
    }body.app-monitor .tile-row,body.app-monitor .size-grid,body.app-monitor .top-metrics,body.app-monitor .two-col{
        grid-template-columns: 1fr;
    }body.app-monitor .dash-card{
        padding: 14px;
        border-radius: 14px;
    }body.app-monitor table{
        min-width: 720px;
        font-size: 14px;
    }body.app-monitor .wlan-device{
        grid-template-columns: 1fr;
        align-items: start;
    }body.app-monitor .wlan-state{
        text-align: left;
        min-width: 0;
    }body.app-monitor .cockpit-grid{
        grid-template-columns: 1fr;
        padding: 0;
        gap: 12px;
    }
}@media (max-width: 520px){body.app-monitor .topbar{
        flex-direction: column;
    }body.app-monitor .reload{
        width: 100%;
        text-align: center;
    }body.app-monitor .home-tile{
        min-height: 96px;
        grid-template-columns: auto 1fr;
    }body.app-monitor .home-arrow{
        display: none;
    }
}body.app-monitor .smart-page{
    display: grid;
    gap: 16px;
}body.app-monitor .smart-summary{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 14px;
}body.app-monitor .smart-summary-tile{
    padding: 18px;
    border-radius: 14px;
    background: linear-gradient(145deg, rgba(25,43,66,.95), rgba(13,27,45,.95));
    border: 1px solid rgba(80,111,153,.28);
}body.app-monitor .smart-summary-tile span{
    display: block;
    color: var(--muted);
    font-size: 14px;
    margin-bottom: 8px;
}body.app-monitor .smart-summary-tile strong{
    display: block;
    font-size: 30px;
}body.app-monitor .smart-server-grid{
    display: grid;
    gap: 16px;
}body.app-monitor .smart-disk-grid{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 14px;
}body.app-monitor .smart-disk-card{
    border-radius: 14px;
    padding: 16px;
    background: linear-gradient(145deg, rgba(15, 30, 51, .98), rgba(8, 18, 34, .98));
    border: 1px solid rgba(80,111,153,.32);
}body.app-monitor .smart-disk-head{
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: flex-start;
    margin-bottom: 14px;
}body.app-monitor .smart-disk-head h4{
    margin: 0;
    font-size: 20px;
}body.app-monitor .smart-disk-head p{
    margin: 5px 0 0;
    color: var(--muted);
    font-size: 13px;
}body.app-monitor .smart-badge{
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    border-radius: 999px;
    padding: 7px 10px;
    font-size: 13px;
    font-weight: 900;
}body.app-monitor .smart-ok{
    background: rgba(34,197,94,.16);
    color: #8cff91;
    border: 1px solid rgba(34,197,94,.38);
}body.app-monitor .smart-warning{
    background: rgba(245,158,11,.16);
    color: #ffd27a;
    border: 1px solid rgba(245,158,11,.42);
}body.app-monitor .smart-critical{
    background: rgba(239,68,68,.18);
    color: #ff9b9b;
    border: 1px solid rgba(239,68,68,.42);
}body.app-monitor .smart-values{
    display: grid;
    gap: 9px;
}body.app-monitor .smart-line{
    display: flex;
    justify-content: space-between;
    gap: 12px;
    border-bottom: 1px solid rgba(111,137,170,.18);
    padding-bottom: 7px;
}body.app-monitor .smart-line span{
    color: var(--muted);
}body.app-monitor .smart-line strong{
    text-align: right;
}body.app-monitor .smart-empty{
    padding: 28px;
    text-align: center;
}@media (max-width: 700px){body.app-monitor .smart-disk-head{
        display: grid;
    }body.app-monitor .smart-summary-tile strong{
        font-size: 24px;
    }
}body.app-monitor .wg-page{
    display: grid;
    gap: 16px;
}body.app-monitor .wg-summary{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 14px;
}body.app-monitor .wg-tile{
    padding: 18px;
    border-radius: 14px;
    background: linear-gradient(145deg, rgba(25,43,66,.95), rgba(13,27,45,.95));
    border: 1px solid rgba(80,111,153,.28);
}body.app-monitor .wg-tile span{
    display: block;
    color: var(--muted);
    font-size: 14px;
    margin-bottom: 8px;
}body.app-monitor .wg-tile strong{
    display: block;
    font-size: 30px;
}body.app-monitor .wg-table-wrap{
    overflow-x: auto;
}body.app-monitor .wg-table{
    width: 100%;
    border-collapse: collapse;
    min-width: 820px;
}body.app-monitor .wg-table th,body.app-monitor .wg-table td{
    padding: 13px 12px;
    border-bottom: 1px solid rgba(111,137,170,.18);
    text-align: left;
    vertical-align: middle;
}body.app-monitor .wg-table th{
    color: var(--muted);
    font-size: 14px;
}body.app-monitor .wg-name{
    font-weight: 900;
    font-size: 16px;
}body.app-monitor .wg-sub{
    color: var(--muted);
    font-size: 13px;
    margin-top: 4px;
}body.app-monitor .wg-badge{
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 7px 12px;
    font-size: 13px;
    font-weight: 900;
    white-space: nowrap;
}body.app-monitor .wg-online{
    background: rgba(34,197,94,.16);
    color: #8cff91;
    border: 1px solid rgba(34,197,94,.38);
}body.app-monitor .wg-offline{
    background: rgba(239,68,68,.16);
    color: #ff9b9b;
    border: 1px solid rgba(239,68,68,.38);
}body.app-monitor .wg-key{
    font-family: monospace;
    color: var(--muted);
    font-size: 12px;
}@media (max-width: 700px){body.app-monitor .wg-tile strong{
        font-size: 24px;
    }
}body.app-monitor .top-actions{
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: flex-end;
}body.app-monitor .logout-link{
    color: var(--text);
    text-decoration: none;
    font-weight: 800;
    background: linear-gradient(145deg, #3a1420, #210912);
    border: 1px solid rgba(255, 75, 64, .45);
    border-radius: 12px;
    padding: 13px 18px;
}body.app-monitor .login-body{
    min-height: 100vh;
    overflow: auto;
    display: grid;
    place-items: center;
    padding: 24px;
}body.app-monitor .login-shell{
    width: min(440px, 100%);
}body.app-monitor .login-card{
    padding: 28px;
    border-radius: 18px;
    background: linear-gradient(145deg, rgba(14, 29, 48, .98), rgba(7, 17, 31, .98));
    border: 1px solid var(--line);
    box-shadow: 0 18px 42px var(--shadow), inset 0 1px 0 rgba(255,255,255,.04);
}body.app-monitor .login-logo{
    width: 66px;
    height: 66px;
    display: grid;
    place-items: center;
    border-radius: 18px;
    background: linear-gradient(145deg, #112239, #0b1728);
    border: 1px solid var(--line);
    font-size: 34px;
    margin-bottom: 16px;
}body.app-monitor .login-card h1{
    margin: 0;
    font-size: 30px;
}body.app-monitor .login-form{
    display: grid;
    gap: 10px;
    margin-top: 20px;
}body.app-monitor .login-form label{
    color: var(--muted);
    font-weight: 800;
}body.app-monitor .login-form input{
    width: 100%;
    color: var(--text);
    background: #08111f;
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 14px 15px;
    font-size: 17px;
    outline: none;
}body.app-monitor .login-form input:focus{
    border-color: var(--blue-2);
    box-shadow: 0 0 0 3px rgba(47,128,255,.18);
}body.app-monitor .login-form button{
    margin-top: 8px;
    border: 0;
    border-radius: 12px;
    padding: 15px 18px;
    color: white;
    font-size: 17px;
    font-weight: 900;
    cursor: pointer;
    background: linear-gradient(145deg, #0f7aff, #064bec);
}body.app-monitor .login-error{
    margin-top: 16px;
    padding: 12px 14px;
    border-radius: 12px;
    color: #ffb4b4;
    background: rgba(239,68,68,.14);
    border: 1px solid rgba(239,68,68,.35);
}@media (max-width: 700px){body.app-monitor .top-actions{
        gap: 8px;
    }body.app-monitor .logout-link,body.app-monitor .reload{
        padding: 11px 12px;
    }
}body.app-monitor .wg-headline,body.app-monitor .wg-detail-head{
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-start;
    flex-wrap: wrap;
}body.app-monitor .wg-primary,body.app-monitor .wg-secondary,body.app-monitor .wg-danger,body.app-monitor .wg-row-actions a,body.app-monitor .wg-actions button{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: 12px;
    padding: 11px 14px;
    text-decoration: none;
    font-weight: 900;
    border: 1px solid var(--line);
    color: var(--text);
    cursor: pointer;
}body.app-monitor .wg-primary{
    background: linear-gradient(145deg, #0f7aff, #064bec);
    border-color: rgba(77, 160, 255, .6);
    color: #fff;
}body.app-monitor .wg-secondary{
    background: linear-gradient(145deg, #112239, #0b1728);
}body.app-monitor .wg-danger,body.app-monitor .wg-row-actions .danger{
    background: linear-gradient(145deg, #3a1420, #210912);
    border-color: rgba(255, 75, 64, .45);
    color: #ffd1d1;
}body.app-monitor .wg-actions,body.app-monitor .wg-row-actions{
    display: flex;
    gap: 9px;
    flex-wrap: wrap;
    align-items: center;
}body.app-monitor .wg-form{
    margin-top: 18px;
}body.app-monitor .wg-form-grid{
    display: grid;
    grid-template-columns: repeat(2, minmax(220px, 1fr));
    gap: 14px;
}body.app-monitor .wg-form label,body.app-monitor .wg-code-label{
    display: grid;
    gap: 7px;
    color: var(--muted);
    font-weight: 800;
}body.app-monitor .wg-form input,body.app-monitor .wg-form select,body.app-monitor .wg-form textarea,body.app-monitor .wg-code-label textarea,body.app-monitor .wg-config{
    width: 100%;
    color: var(--text);
    background: #08111f;
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 12px 13px;
    font-size: 15px;
    outline: none;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}body.app-monitor .wg-form input:focus,body.app-monitor .wg-form select:focus,body.app-monitor .wg-form textarea:focus{
    border-color: var(--blue-2);
    box-shadow: 0 0 0 3px rgba(47,128,255,.18);
}body.app-monitor .wg-wide{
    grid-column: 1 / -1;
}body.app-monitor .wg-check{
    align-content: end;
}body.app-monitor .wg-check input{
    width: auto;
    margin-right: 8px;
}body.app-monitor .wg-detail-grid{
    display: grid;
    grid-template-columns: repeat(4, minmax(140px, 1fr));
    gap: 12px;
    margin: 18px 0;
}body.app-monitor .wg-detail-grid div{
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: rgba(255,255,255,.03);
}body.app-monitor .wg-detail-grid span{
    display: block;
    color: var(--muted);
    font-size: 13px;
    margin-bottom: 6px;
}body.app-monitor .wg-detail-grid strong{
    word-break: break-word;
}body.app-monitor .wg-alert{
    border-radius: 14px;
    padding: 13px 15px;
    font-weight: 800;
    border: 1px solid var(--line);
}body.app-monitor .wg-alert.ok{
    background: rgba(34,197,94,.13);
    border-color: rgba(34,197,94,.35);
}body.app-monitor .wg-alert.error{
    background: rgba(239,68,68,.14);
    border-color: rgba(239,68,68,.35);
}body.app-monitor .wg-name{
    color: var(--text);
    text-decoration: none;
}@media (max-width: 900px){body.app-monitor .wg-form-grid,body.app-monitor .wg-detail-grid{
        grid-template-columns: 1fr;
    }
}body.app-monitor .user-page{
    display: grid;
    gap: 14px;
}body.app-monitor .notice{
    border-radius: 14px;
    padding: 13px 15px;
    font-weight: 800;
    border: 1px solid var(--line);
}body.app-monitor .notice.success{
    background: rgba(34,197,94,.13);
    border-color: rgba(34,197,94,.35);
}body.app-monitor .notice.error{
    background: rgba(239,68,68,.14);
    border-color: rgba(239,68,68,.35);
}body.app-monitor .monitor-form{
    display: grid;
    grid-template-columns: repeat(2, minmax(220px, 1fr));
    gap: 14px;
}body.app-monitor .monitor-form label{
    display: grid;
    gap: 7px;
    color: var(--muted);
    font-weight: 800;
}body.app-monitor .monitor-form input,body.app-monitor .monitor-table select{
    width: 100%;
    color: var(--text);
    background: #08111f;
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 12px 13px;
    font-size: 15px;
    outline: none;
}body.app-monitor .monitor-form input:focus,body.app-monitor .monitor-table select:focus{
    border-color: var(--blue-2);
    box-shadow: 0 0 0 3px rgba(47,128,255,.18);
}body.app-monitor .form-separator{
    grid-column: 1 / -1;
    border-top: 1px solid var(--line);
    margin: 4px 0;
}body.app-monitor .primary-btn,body.app-monitor .small-btn{
    border: 1px solid rgba(77,160,255,.6);
    border-radius: 12px;
    color: #fff;
    background: linear-gradient(145deg, #0f7aff, #064bec);
    font-weight: 900;
    cursor: pointer;
}body.app-monitor .primary-btn{
    padding: 13px 16px;
    font-size: 16px;
}body.app-monitor .small-btn{
    padding: 9px 12px;
    font-size: 14px;
}body.app-monitor .responsive-table{
    overflow-x: auto;
}body.app-monitor .monitor-table{
    width: 100%;
    border-collapse: collapse;
    min-width: 820px;
}body.app-monitor .monitor-table th,body.app-monitor .monitor-table td{
    border-bottom: 1px solid var(--line);
    padding: 12px;
    text-align: left;
    vertical-align: middle;
}body.app-monitor .monitor-table th{
    color: var(--muted);
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: .04em;
}body.app-monitor .monitor-table tr:hover td{
    background: rgba(255,255,255,.025);
}body.app-monitor .center-cell{
    text-align: center !important;
}body.app-monitor .muted-small{
    color: var(--muted);
    font-size: 13px;
}body.app-monitor .code-box{
    background: #08111f;
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 14px;
    overflow-x: auto;
    color: var(--text);
}@media (max-width: 900px){body.app-monitor .monitor-form{
        grid-template-columns: 1fr;
    }
}body.app-monitor .user-dashboard-page,body.app-monitor .assignments-page{
    display: grid;
    gap: 18px;
}body.app-monitor .user-summary-grid{
    display: grid;
    grid-template-columns: repeat(4, minmax(150px, 1fr));
    gap: 14px;
}body.app-monitor .user-summary-tile{
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 16px;
    background: rgba(255,255,255,.035);
}body.app-monitor .user-summary-tile span{
    display: block;
    color: var(--muted);
    font-weight: 800;
    margin-bottom: 8px;
}body.app-monitor .user-summary-tile strong{
    font-size: 28px;
}body.app-monitor .link-btn{
    display: inline-block;
    text-decoration: none;
}body.app-monitor .monitor-table select{
    width: 100%;
    min-width: 220px;
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 9px 10px;
    background: rgba(255,255,255,.06);
    color: var(--text);
}@media (max-width: 900px){body.app-monitor .user-summary-grid{
        grid-template-columns: 1fr 1fr;
    }
}@media (max-width: 560px){body.app-monitor .user-summary-grid{
        grid-template-columns: 1fr;
    }
}body.app-monitor .admin-users-page{
    display: grid;
    gap: 18px;
}body.app-monitor .top-actions-inline{
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
}body.app-monitor .section-head{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 14px;
}body.app-monitor .form-actions{
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
    grid-column: 1 / -1;
}body.app-monitor .checkbox-label{
    display: flex !important;
    flex-direction: row !important;
    align-items: center;
    gap: 10px;
    min-height: 48px;
}body.app-monitor .checkbox-label input[type="checkbox"]{
    width: auto;
    transform: scale(1.25);
}body.app-monitor .action-cell{
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
}body.app-monitor .inline-form{
    display: inline;
    margin: 0;
}body.app-monitor .danger-btn{
    border: 1px solid rgba(255,90,90,.45);
    border-radius: 10px;
    padding: 8px 11px;
    background: rgba(255,60,60,.12);
    color: #ffd0d0;
    font-weight: 800;
    cursor: pointer;
}body.app-monitor .danger-btn:hover{
    background: rgba(255,60,60,.22);
}body.app-monitor .pill{
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: 4px 10px;
    background: rgba(255,255,255,.055);
    font-weight: 800;
}body.app-monitor .status-good{
    color: #7dffb2;
    font-weight: 800;
}body.app-monitor .status-bad{
    color: #ff9d9d;
    font-weight: 800;
}@media (max-width: 760px){body.app-monitor .section-head{
        flex-direction: column;
    }
}body.app-monitor .wg-pending{
    background: rgba(234,179,8,.16);
    color: #fde68a;
    border: 1px solid rgba(234,179,8,.38);
}body.app-monitor .wg-detail-grid small{
    display: block;
    color: var(--muted);
    font-size: 12px;
    margin-top: 5px;
    word-break: break-word;
}body.app-monitor .wg-row-actions.compact{
    gap: 6px;
    flex-wrap: nowrap;
}body.app-monitor .wg-row-actions.compact a{
    width: 38px;
    height: 38px;
    padding: 0;
    font-size: 18px;
}body.app-monitor .wg-table th:last-child,body.app-monitor .wg-table td:last-child{
    white-space: nowrap;
}@media (max-width: 1000px){body.app-monitor .wg-row-actions.compact{
        flex-wrap: wrap;
    }
}body.app-monitor .alert-critical{
    border-left: 5px solid #ef4444;
}body.app-monitor .alert-warning{
    border-left: 5px solid #f59e0b;
}body.app-monitor .alert-open{
    background: rgba(239,68,68,.05);
}body.app-monitor .alert-resolved{
    opacity: 0.75;
}body.app-monitor .alert-counter{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 32px;
    padding: 4px 8px;
    border-radius: 999px;
    background: rgba(255,255,255,.08);
    font-weight: 800;
}body.app-monitor .alert-time{
    color: var(--muted);
    font-size: 13px;
}body.app-monitor .alert-actions{
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}body.app-monitor .upgrade-page{ display: grid; gap: 18px; }body.app-monitor .upgrade-page form{ margin: 0; }body.app-monitor .upgrade-message{ padding: 14px 18px; border-radius: 14px; background: #17243b; color: #dce9ff; border: 1px solid #30486c; }body.app-monitor .upgrade-toolbar{ display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 16px; }body.app-monitor .upgrade-page button,body.app-monitor .upgrade-all{ border: 0; border-radius: 10px; padding: 10px 15px; font-weight: 700; cursor: pointer; background: #2878ff; color: #fff; }body.app-monitor .upgrade-page button:disabled{ opacity: .45; cursor: not-allowed; }body.app-monitor .upgrade-all{ background: #d85b32 !important; }body.app-monitor .upgrade-page details pre{ white-space: pre-wrap; max-width: 700px; font-size: 12px; }body.app-monitor .table-wrap{ overflow: auto; }@media (max-width: 700px){body.app-monitor .upgrade-toolbar{ align-items: stretch; flex-direction: column; }body.app-monitor .upgrade-toolbar button{ width: 100%; }
}

body.app-anja *{ box-sizing: border-box; }body.app-anja{
    --bg: #020817;
    --panel: #08111f;
    --panel-2: #0d1a2b;
    --panel-3: #132238;
    --line: #20344e;
    --text: #f8fafc;
    --muted: #9fb0c7;
    --blue: #1264ff;
    --blue-2: #2f80ff;
    --green: #5ac85a;
    --red: #ff4b40;
    --orange: #f59e0b;
    --purple: #a855f7;
    --shadow: rgba(0,0,0,.38);
}body.app-anja,body.app-anja{ margin: 0; padding: 0; width: 100%; min-height: 100%; }body.app-anja{
    background: radial-gradient(circle at top left, #0d1b2f 0, #020817 42%, #01040b 100%);
    color: var(--text);
    font-family: Arial, Helvetica, sans-serif;
    overflow: hidden;
}body.app-anja .app{
    width: 100vw;
    height: 100vh;
    display: grid;
    grid-template-columns: 300px minmax(0, 1fr);
    overflow: hidden;
}body.app-anja .sidebar{
    height: 100vh;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 22px 16px;
    background: linear-gradient(180deg, #071224 0%, #050d1b 100%);
    border-right: 1px solid var(--line);
    display: flex;
    flex-direction: column;
    gap: 18px;
}body.app-anja .brand{ display: flex; align-items: center; gap: 14px; padding: 0 6px 10px; }body.app-anja .logo{
    width: 54px; height: 54px; display: grid; place-items: center;
    border-radius: 14px;
    background: linear-gradient(145deg, #112239, #0b1728);
    border: 1px solid var(--line);
    box-shadow: 0 10px 26px var(--shadow);
    font-size: 27px;
}body.app-anja .brand h1{ margin: 0; font-size: 25px; line-height: 1.05; }body.app-anja .brand p,body.app-anja .topbar p,body.app-anja .quick-card p,body.app-anja .muted{ margin: 5px 0 0; color: var(--muted); }body.app-anja .nav{ display: grid; gap: 14px; }body.app-anja .nav-btn{
    min-height: 66px;
    display: flex; align-items: center; gap: 14px;
    padding: 16px 18px;
    color: var(--text); text-decoration: none;
    background: linear-gradient(145deg, rgba(22, 39, 62, .95), rgba(9, 20, 35, .95));
    border: 1px solid var(--line);
    border-radius: 14px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
    font-size: 18px;
}body.app-anja .nav-btn span{ font-size: 28px; }body.app-anja .nav-btn.active{
    background: linear-gradient(145deg, #0f7aff, #064bec);
    border-color: #2f8cff;
    box-shadow: 0 10px 28px rgba(18,100,255,.28);
}body.app-anja .quick-card{
    padding: 18px;
    background: linear-gradient(145deg, rgba(6, 18, 35, .96), rgba(5, 12, 25, .96));
    border: 1px solid var(--line);
    border-radius: 14px;
}body.app-anja .quick-card h2{ margin: 0 0 16px; font-size: 21px; }body.app-anja .sidebar footer{ margin-top: auto; color: var(--muted); padding: 10px 6px 0; }body.app-anja .screen{
    height: 100vh;
    min-width: 0;
    overflow: hidden;
    display: grid;
    grid-template-rows: 84px minmax(0, 1fr);
}body.app-anja .topbar{
    height: 84px;
    display: flex; align-items: center; justify-content: space-between;
    padding: 0 20px;
    background: rgba(3, 10, 23, .96);
    border-bottom: 1px solid var(--line);
}body.app-anja .page-title{ display: flex; align-items: center; gap: 14px; }body.app-anja .page-icon{ font-size: 32px; }body.app-anja .topbar h2{ margin: 0; font-size: 28px; line-height: 1.05; }body.app-anja .reload{
    color: var(--text);
    text-decoration: none;
    font-weight: 800;
    background: linear-gradient(145deg, #132238, #0b1627);
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 13px 18px;
}body.app-anja .viewer{
    min-height: 0;
    height: 100%;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 16px 18px 32px;
}body.app-anja .backup-page{ display: grid; gap: 14px; }body.app-anja .dash-card{
    background: linear-gradient(145deg, rgba(14, 29, 48, .98), rgba(7, 17, 31, .98));
    border: 1px solid var(--line);
    border-radius: 14px;
    box-shadow: 0 12px 28px var(--shadow), inset 0 1px 0 rgba(255,255,255,.03);
    padding: 18px;
    color: var(--text);
}body.app-anja .dash-card h3{ margin: 0 0 14px; font-size: 20px; }body.app-anja .dash-grid{ display: grid; grid-template-columns: repeat(2, minmax(220px, 1fr)); gap: 14px; }body.app-anja .dash-grid.four{ grid-template-columns: repeat(4, minmax(170px, 1fr)); }body.app-anja .big-number{ font-size: 34px; font-weight: 900; line-height: 1; margin-bottom: 8px; }body.app-anja .pos{ color: #8cff91 !important; }body.app-anja .neg{ color: #ff9b9b !important; }body.app-anja table{ width: 100%; border-collapse: collapse; color: var(--text); font-size: 15px; }body.app-anja th,body.app-anja td{ text-align: left; padding: 10px 12px; border-bottom: 1px solid rgba(111, 137, 170, .22); }body.app-anja th{ color: #e2e8f0; font-weight: 800; }body.app-anja td{ color: #edf4ff; }body.app-anja .weekend td{ color: #8090a8; background: rgba(255,255,255,.025); }body.app-anja .form-grid{ display: grid; grid-template-columns: repeat(3, minmax(160px, 1fr)); gap: 12px; align-items: end; }body.app-anja .compact-form{ max-width: 760px; }body.app-anja .form-row{ display:grid; gap:7px; margin-bottom:13px; }body.app-anja label{ color: var(--muted); font-weight: 800; }body.app-anja input,body.app-anja select{
    width:100%;
    border:1px solid var(--line);
    border-radius:10px;
    background:#071224;
    color:var(--text);
    padding:12px;
    font-size:16px;
}body.app-anja button,body.app-anja .btn,body.app-anja .action-btn{
    display:inline-flex;
    justify-content:center;
    align-items:center;
    text-decoration:none;
    border:0;
    border-radius:12px;
    padding:12px 16px;
    font-weight:900;
    color:white;
    background:linear-gradient(145deg,#1264ff,#064bec);
    cursor:pointer;
}body.app-anja .action-btn{ width: 100%; }body.app-anja .btn.green{ background:linear-gradient(145deg,#22c55e,#15803d); }body.app-anja .btn.orange{ background:linear-gradient(145deg,#f59e0b,#b45309); }body.app-anja .btn.red,body.app-anja .action-btn.danger{ background:linear-gradient(145deg,#ef4444,#991b1b); }body.app-anja .btn.mini{ padding: 8px 10px; border-radius: 9px; font-size: 13px; }body.app-anja .btn-row,body.app-anja .table-actions{ display:flex; flex-wrap:wrap; gap:8px; }body.app-anja .btn-row{ margin-top:14px; }body.app-anja .action-bar{ display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }body.app-anja .action-bar select,body.app-anja .action-bar input{ max-width: 170px; }body.app-anja .msg{
    padding:14px 16px;
    border-radius:12px;
    margin:0 0 14px;
    border:1px solid rgba(34,197,94,.38);
    color:#a9ffad;
    background:rgba(34,197,94,.12);
}body.app-anja .msg.bad{
    border-color:rgba(239,68,68,.45);
    color:#ffb4b4;
    background:rgba(239,68,68,.12);
}body.app-anja .card-head{ display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }body.app-anja .card-head h3{ margin: 0; }body.app-anja .status-badge{ display: inline-flex; padding: 7px 11px; border-radius: 999px; font-weight: 900; font-size: 13px; }body.app-anja .status-badge.blue{ background: rgba(47,128,255,.18); color:#93c5fd; border:1px solid rgba(47,128,255,.38); }body.app-anja .status-badge.green{ background: rgba(34,197,94,.18); color:#8cff91; border:1px solid rgba(34,197,94,.38); }body.app-anja .status-badge.orange{ background: rgba(245,158,11,.18); color:#facc15; border:1px solid rgba(245,158,11,.38); }body.app-anja .status-badge.purple{ background: rgba(168,85,247,.18); color:#d8b4fe; border:1px solid rgba(168,85,247,.38); }body.app-anja .status-badge.red{ background: rgba(239,68,68,.18); color:#ff9b9b; border:1px solid rgba(239,68,68,.38); }body.app-anja .login-body{ min-height: 100vh; overflow: auto; display: grid; place-items: center; padding: 20px; }body.app-anja .login-wrap{ width: min(460px, 100%); }body.app-anja .login-card h1{ margin-top: 0; }body.app-anja .viewer::-webkit-scrollbar,body.app-anja .sidebar::-webkit-scrollbar{ width: 10px; }body.app-anja .viewer::-webkit-scrollbar-track,body.app-anja .sidebar::-webkit-scrollbar-track{ background: #020617; }body.app-anja .viewer::-webkit-scrollbar-thumb,body.app-anja .sidebar::-webkit-scrollbar-thumb{ background: #1d4ed8; border-radius: 20px; }@media (max-width: 1300px){body.app-anja .app{ grid-template-columns: 260px minmax(0, 1fr); }body.app-anja .dash-grid.four{ grid-template-columns: repeat(2, minmax(170px, 1fr)); }
}@media (max-width: 900px){body.app-anja{ overflow: auto; }body.app-anja .app{ height: auto; min-height: 100vh; grid-template-columns: 1fr; }body.app-anja .sidebar{ height: auto; }body.app-anja .screen{ height: auto; min-height: 100vh; }body.app-anja .topbar{ height: auto; padding: 16px; }body.app-anja .form-grid,body.app-anja .dash-grid,body.app-anja .dash-grid.four{ grid-template-columns: 1fr; }body.app-anja .viewer{ overflow: visible; }
}body.app-anja .dash-grid.two{
    grid-template-columns: repeat(2, minmax(260px, 1fr));
}body.app-anja .dash-grid.three{
    grid-template-columns: repeat(3, minmax(200px, 1fr));
}body.app-anja .mini-metric{
    min-height: 112px;
    border-radius: 13px;
    padding: 16px;
    background: linear-gradient(145deg, rgba(25, 43, 66, .95), rgba(13, 27, 45, .95));
    border: 1px solid rgba(80, 111, 153, .28);
}body.app-anja .mini-metric span{
    display: block;
    color: var(--muted);
    font-weight: 900;
    margin-bottom: 10px;
}body.app-anja .mini-metric strong{
    display: block;
    font-size: 30px;
    line-height: 1;
}body.app-anja .mini-metric small{
    display: block;
    color: var(--muted);
    margin-top: 9px;
}body.app-anja .split-list{
    display: grid;
    gap: 12px;
}body.app-anja .split-list div{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 12px 0;
    border-bottom: 1px solid rgba(111, 137, 170, .22);
}body.app-anja .split-list div:last-child{
    border-bottom: 0;
}body.app-anja .split-list span{
    color: var(--muted);
    font-weight: 900;
}body.app-anja .split-list strong{
    font-size: 24px;
}body.app-anja .split-list .total{
    margin-top: 6px;
    padding-top: 16px;
    border-top: 1px solid rgba(111, 137, 170, .35);
}body.app-anja .split-list .total strong{
    font-size: 30px;
}body.app-anja .mt{
    margin-top: 16px;
}@media (max-width: 1100px){body.app-anja .dash-grid.two,body.app-anja .dash-grid.three{
        grid-template-columns: 1fr;
    }
}body.app-anja .print-sheet{
    width: 210mm;
    min-height: 297mm;
    margin: 0 auto;
    padding: 10mm;
    background: #fff;
    color: #000;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
}body.app-anja .print-sheet h1{
    margin: 0 0 16px;
    font-size: 16px;
    color: #000;
}body.app-anja .print-head{
    display: grid;
    grid-template-columns: 32mm 48mm 24mm 42mm 18mm 32mm;
    gap: 6px 8px;
    align-items: end;
    margin-bottom: 10px;
}body.app-anja .print-head .line{
    border-bottom: 1px dotted #777;
    min-height: 18px;
    font-weight: 700;
}body.app-anja .print-table{
    width: 100%;
    border-collapse: collapse;
    color: #000;
    font-size: 12px;
}body.app-anja .print-table th,body.app-anja .print-table td{
    border: 1px solid #222;
    padding: 2px 3px;
    height: 17px;
    text-align: center;
    color: #000;
}body.app-anja .print-table th{
    font-weight: 700;
    background: #fff;
}body.app-anja .print-table .day-col{
    width: 11mm;
    text-align: left;
    font-weight: 700;
}body.app-anja .main-table th:nth-child(2){ width: 24mm; }body.app-anja .main-table th:nth-child(3){ width: 28mm; }body.app-anja .main-table th:nth-child(4){ width: 16mm; }body.app-anja .main-table th:nth-child(5){ width: 30mm; }body.app-anja .main-table th:nth-child(6){ width: 28mm; }body.app-anja .main-table th:nth-child(7),body.app-anja .main-table th:nth-child(8),body.app-anja .main-table th:nth-child(9){ width: 18mm; }body.app-anja .main-table th:nth-child(10){ width: 24mm; }body.app-anja .sum-row td{
    font-weight: 700;
}body.app-anja .summary-table{
    margin-top: 8mm;
    width: 95%;
    margin-left: auto;
    margin-right: auto;
}body.app-anja .summary-table td:first-child{
    text-align: left;
    font-weight: 700;
    width: 88%;
}body.app-anja .summary-table td:last-child{
    width: 12%;
    font-weight: 700;
}@media print{@page{
        size: A4 portrait;
        margin: 6mm;
    }body.app-anja{
        background: #fff !important;
        overflow: visible !important;
    }body.app-anja .sidebar,body.app-anja .topbar,body.app-anja .no-print{
        display: none !important;
    }body.app-anja .app,body.app-anja .screen,body.app-anja .viewer{
        display: block !important;
        width: auto !important;
        height: auto !important;
        overflow: visible !important;
        padding: 0 !important;
    }body.app-anja .print-sheet{
        width: auto;
        min-height: auto;
        margin: 0;
        padding: 0;
        box-shadow: none;
    }
}body.app-anja .wide-form{
    grid-template-columns: repeat(5, minmax(130px, 1fr));
}@media (max-width: 1300px){body.app-anja .wide-form{
        grid-template-columns: repeat(3, minmax(130px, 1fr));
    }
}@media (max-width: 900px){body.app-anja .wide-form{
        grid-template-columns: 1fr;
    }
}body.app-anja .dash-grid.three{
    grid-template-columns: repeat(3, minmax(200px, 1fr));
}body.app-anja .mini-metric{
    min-height: 112px;
    border-radius: 13px;
    padding: 16px;
    background: linear-gradient(145deg, rgba(25, 43, 66, .95), rgba(13, 27, 45, .95));
    border: 1px solid rgba(80, 111, 153, .28);
}body.app-anja .mini-metric span{
    display: block;
    color: var(--muted);
    font-weight: 900;
    margin-bottom: 10px;
}body.app-anja .mini-metric strong{
    display: block;
    font-size: 30px;
    line-height: 1;
}body.app-anja .mini-metric small{
    display: block;
    color: var(--muted);
    margin-top: 9px;
}@media (max-width: 1100px){body.app-anja .dash-grid.three{
        grid-template-columns: 1fr;
    }
}body.app-anja .table-card{
    overflow-x: auto;
}body.app-anja .table-card table{
    min-width: 980px;
}@media (max-width: 1200px){body.app-anja{
        overflow: auto;
    }body.app-anja .app{
        height: auto;
        min-height: 100vh;
        display: block;
        overflow: visible;
    }body.app-anja .sidebar{
        height: auto;
        max-height: none;
        overflow: visible;
        padding: 14px;
        border-right: 0;
        border-bottom: 1px solid var(--line);
    }body.app-anja .brand{
        padding: 0;
        margin-bottom: 8px;
    }body.app-anja .logo{
        width: 42px;
        height: 42px;
        font-size: 22px;
        border-radius: 12px;
    }body.app-anja .brand h1{
        font-size: 21px;
        line-height: 1.05;
    }body.app-anja .brand p{
        font-size: 14px;
    }body.app-anja .nav{
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 10px;
    }body.app-anja .nav-btn{
        min-height: 54px;
        padding: 10px 12px;
        font-size: 16px;
        border-radius: 12px;
        justify-content: flex-start;
    }body.app-anja .nav-btn span{
        font-size: 23px;
    }body.app-anja .quick-card{
        margin-top: 2px;
        padding: 12px;
        display: flex;
        align-items: center;
        gap: 10px;
        flex-wrap: wrap;
    }body.app-anja .quick-card h2{
        display: none;
    }body.app-anja .quick-card .action-btn{
        width: auto;
        min-width: 180px;
    }body.app-anja .quick-card .btn-row{
        display: inline-flex;
        margin-left: 10px;
        margin-top: 0;
        vertical-align: middle;
    }body.app-anja .sidebar footer{
        display: none;
    }body.app-anja .screen{
        height: auto;
        min-height: 0;
        display: block;
        overflow: visible;
    }body.app-anja .topbar{
        height: auto;
        padding: 12px 16px;
        position: sticky;
        top: 0;
        z-index: 20;
    }body.app-anja .topbar h2{
        font-size: 24px;
    }body.app-anja .topbar p{
        font-size: 14px;
    }body.app-anja .viewer{
        height: auto;
        overflow: visible;
        padding: 12px;
    }body.app-anja .dash-card{
        padding: 14px;
        border-radius: 12px;
    }body.app-anja .form-grid,body.app-anja .wide-form{
        grid-template-columns: repeat(2, minmax(160px, 1fr));
    }body.app-anja .dash-grid.four,body.app-anja .dash-grid.three,body.app-anja .dash-grid.two{
        grid-template-columns: repeat(2, minmax(180px, 1fr));
    }body.app-anja input,body.app-anja select{
        font-size: 16px;
        padding: 11px;
    }body.app-anja button,body.app-anja .btn,body.app-anja .action-btn{
        padding: 11px 14px;
    }
}@media (max-width: 760px){body.app-anja .sidebar{
        padding: 10px;
    }body.app-anja .brand{
        gap: 10px;
    }body.app-anja .brand h1{
        font-size: 18px;
    }body.app-anja .brand p{
        font-size: 12px;
    }body.app-anja .nav{
        grid-template-columns: repeat(3, 1fr);
        gap: 8px;
    }body.app-anja .nav-btn{
        min-height: 48px;
        padding: 8px;
        font-size: 0;
        justify-content: center;
    }body.app-anja .nav-btn span{
        font-size: 25px;
        margin: 0;
    }body.app-anja .quick-card{
        display: grid;
        grid-template-columns: 1fr auto;
        gap: 8px;
    }body.app-anja .quick-card .action-btn{
        width: 100%;
        min-width: 0;
    }body.app-anja .quick-card .btn-row{
        margin: 0;
    }body.app-anja .topbar{
        padding: 10px 12px;
    }body.app-anja .page-icon{
        font-size: 24px;
    }body.app-anja .topbar h2{
        font-size: 21px;
    }body.app-anja .reload{
        padding: 9px 11px;
        font-size: 14px;
    }body.app-anja .viewer{
        padding: 10px;
    }body.app-anja .form-grid,body.app-anja .wide-form,body.app-anja .dash-grid,body.app-anja .dash-grid.four,body.app-anja .dash-grid.three,body.app-anja .dash-grid.two{
        grid-template-columns: 1fr;
    }body.app-anja .action-bar{
        display: grid;
        grid-template-columns: 1fr 1fr;
    }body.app-anja .action-bar button{
        grid-column: span 2;
    }body.app-anja .action-bar select,body.app-anja .action-bar input{
        max-width: none;
    }body.app-anja .big-number,body.app-anja .mini-metric strong{
        font-size: 26px;
    }body.app-anja .table-card table{
        min-width: 1050px;
        font-size: 14px;
    }body.app-anja th,body.app-anja td{
        padding: 9px 10px;
    }
}@media (max-width: 480px){body.app-anja .nav{
        grid-template-columns: repeat(3, 1fr);
    }body.app-anja .quick-card{
        grid-template-columns: 1fr;
    }body.app-anja .quick-card .btn-row{
        width: 100%;
    }body.app-anja .quick-card .btn-row .btn{
        width: 100%;
    }body.app-anja .reload{
        display: none;
    }
}body.app-anja .hamburger{
    display: none;
    width: 46px;
    height: 46px;
    border-radius: 12px;
    border: 1px solid var(--line);
    background: linear-gradient(145deg, #132238, #0b1627);
    color: var(--text);
    font-size: 26px;
    font-weight: 900;
    cursor: pointer;
    margin-right: 12px;
}@media (max-width: 1200px){body.app-anja{
        overflow: auto;
    }body.app-anja .app{
        display: block;
        height: auto;
        min-height: 100vh;
        overflow: visible;
    }body.app-anja .hamburger{
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }body.app-anja .sidebar{
        display: none;
        height: auto;
        border-right: 0;
        border-bottom: 1px solid var(--line);
        padding: 12px;
    }body.app-anja.menu-open .sidebar{
        display: flex;
    }body.app-anja .nav{
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 10px;
    }body.app-anja .nav-btn{
        min-height: 54px;
        padding: 10px;
        font-size: 16px;
        justify-content: center;
    }body.app-anja .nav-btn span{
        font-size: 24px;
    }body.app-anja .quick-card{
        display: grid;
        grid-template-columns: 1fr auto;
        gap: 10px;
        padding: 12px;
    }body.app-anja .quick-card h2,body.app-anja .sidebar footer{
        display: none;
    }body.app-anja .screen{
        height: auto;
        display: block;
        overflow: visible;
    }body.app-anja .topbar{
        height: auto;
        min-height: 68px;
        position: sticky;
        top: 0;
        z-index: 50;
        padding: 10px 12px;
        justify-content: flex-start;
    }body.app-anja .page-title{
        flex: 1;
        min-width: 0;
    }body.app-anja .topbar h2{
        font-size: 24px;
    }body.app-anja .viewer{
        height: auto;
        overflow: visible;
        padding: 12px;
    }body.app-anja .table-card{
        overflow-x: auto;
    }body.app-anja .table-card table{
        min-width: 1050px;
    }body.app-anja .form-grid,body.app-anja .wide-form{
        grid-template-columns: repeat(2, minmax(160px, 1fr));
    }body.app-anja .dash-grid,body.app-anja .dash-grid.two,body.app-anja .dash-grid.three,body.app-anja .dash-grid.four{
        grid-template-columns: repeat(2, minmax(180px, 1fr));
    }
}@media (max-width: 760px){body.app-anja .brand h1{
        font-size: 18px;
    }body.app-anja .brand p{
        font-size: 12px;
    }body.app-anja .nav{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }body.app-anja .nav-btn{
        font-size: 15px;
    }body.app-anja .reload{
        display: none;
    }body.app-anja .form-grid,body.app-anja .wide-form,body.app-anja .dash-grid,body.app-anja .dash-grid.two,body.app-anja .dash-grid.three,body.app-anja .dash-grid.four{
        grid-template-columns: 1fr;
    }body.app-anja .action-bar{
        display: grid;
        grid-template-columns: 1fr 1fr;
    }body.app-anja .action-bar button{
        grid-column: span 2;
    }body.app-anja .action-bar select,body.app-anja .action-bar input{
        max-width: none;
    }
}body.app-anja input[type="date"],body.app-anja input[type="time"]{
    color-scheme: dark !important;
    background-color: #071224 !important;
    color: #f8fafc !important;
}body.app-anja input[type="date"]::-webkit-calendar-picker-indicator,body.app-anja input[type="time"]::-webkit-calendar-picker-indicator{
    filter: invert(100%) brightness(200%) !important;
    opacity: 1 !important;
    cursor: pointer;
}

body.app-holger{--bg:#050a12;--panel:#0f1d2f;--panel2:#14243a;--line:#29405d;--text:#f4f7fb;--muted:#a8b6ca;--blue:#2672f3;--green:#97f39b;--red:#ff9d9d;--orange:#ffbf6b;--purple:#b99cff}body.app-holger *{box-sizing:border-box}body.app-holger{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body.app-holger a{color:inherit;text-decoration:none}body.app-holger .app{min-height:100vh;display:grid;grid-template-columns:320px 1fr}body.app-holger .sidebar{background:#07111f;border-right:1px solid var(--line);padding:24px;display:flex;flex-direction:column;gap:22px}body.app-holger .brand{display:flex;gap:14px;align-items:center}body.app-holger .logo{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:var(--panel2);border:1px solid var(--line);font-size:26px}body.app-holger .brand h1{margin:0;line-height:1.05;font-size:28px}body.app-holger .brand p{margin:5px 0 0;color:var(--muted)}body.app-holger .nav{display:grid;gap:13px}body.app-holger .nav-btn{display:flex;align-items:center;gap:14px;padding:17px 18px;border-radius:14px;background:var(--panel);border:1px solid var(--line);font-size:18px}body.app-holger .nav-btn span{font-size:28px}body.app-holger .nav-btn.active{background:linear-gradient(135deg,#2672f3,#1d62da);border-color:#3d88ff}body.app-holger .quick-card{background:#07111f;border:1px solid var(--line);border-radius:15px;padding:18px}body.app-holger .quick-card h2{margin:0 0 12px}body.app-holger .action-btn,body.app-holger .btn,body.app-holger button{border:0;background:var(--blue);color:#fff;border-radius:12px;padding:13px 18px;font-weight:800;font-size:16px;display:inline-flex;justify-content:center;align-items:center;cursor:pointer}body.app-holger .action-btn{width:100%;margin-bottom:10px}body.app-holger .btn.red,body.app-holger .red,body.app-holger .btn.mini.red{background:#ca3f3a}body.app-holger .btn.green{background:#1c9f5e}body.app-holger .btn.orange{background:#c67b2c}body.app-holger .btn.mini{padding:9px 13px;font-size:14px}body.app-holger .btn-row{margin-top:4px}body.app-holger .sidebar footer{color:var(--muted);margin-top:auto}body.app-holger .screen{min-width:0}body.app-holger .topbar{height:90px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:14px;padding:0 28px;background:#050a12;position:sticky;top:0;z-index:20}body.app-holger .page-title{display:flex;align-items:center;gap:14px;flex:1}body.app-holger .page-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--panel2);border:1px solid var(--line);font-size:24px}body.app-holger .topbar h2{margin:0;font-size:30px}body.app-holger .topbar p{margin:3px 0 0;color:var(--muted)}body.app-holger .reload{background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:14px 18px;font-weight:800}body.app-holger .viewer{padding:20px;overflow:auto}body.app-holger .backup-page{display:grid;gap:18px}body.app-holger .dash-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:22px;overflow:hidden}body.app-holger .dash-card h3{margin:0 0 18px;font-size:24px}body.app-holger .card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}body.app-holger .card-head h3{margin:0}body.app-holger .dash-grid{display:grid;gap:16px}body.app-holger .dash-grid.two{grid-template-columns:repeat(2,minmax(250px,1fr))}body.app-holger .dash-grid.three{grid-template-columns:repeat(3,minmax(220px,1fr))}body.app-holger .dash-grid.four{grid-template-columns:repeat(4,minmax(180px,1fr))}body.app-holger .mini-metric{background:#17283f;border:1px solid var(--line);border-radius:14px;padding:18px}body.app-holger .mini-metric span{color:var(--muted);font-weight:900;display:block;margin-bottom:10px}body.app-holger .mini-metric strong{font-size:34px;display:block}body.app-holger .mini-metric small{color:var(--muted)}body.app-holger .split-list{display:grid;gap:10px}body.app-holger .split-list div{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}body.app-holger .split-list span{color:var(--muted);font-weight:900}body.app-holger .split-list strong{font-size:24px}body.app-holger .split-list .total strong{font-size:30px}body.app-holger .big-number{font-size:38px;font-weight:900}body.app-holger .small-number{font-size:30px}body.app-holger .pos{color:var(--green)}body.app-holger .neg{color:var(--red)}body.app-holger .muted{color:var(--muted)}body.app-holger .mt{margin-top:16px}body.app-holger .form-grid{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:14px}body.app-holger .wide-form{grid-template-columns:repeat(5,minmax(160px,1fr))}body.app-holger .action-bar{display:flex;gap:12px;flex-wrap:wrap}body.app-holger .form-row label{display:block;color:var(--muted);font-weight:900;margin-bottom:8px}body.app-holger input,body.app-holger select{width:100%;background:#081426;color:var(--text);border:1px solid var(--line);border-radius:12px;padding:13px 14px;font-size:18px}body.app-holger input::placeholder{color:#7f8da2}body.app-holger table{width:100%;border-collapse:collapse}body.app-holger th,body.app-holger td{padding:13px 14px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}body.app-holger th{color:var(--text);font-size:15px}body.app-holger td{color:#e2eaf6}body.app-holger .table-card{overflow-x:auto}body.app-holger .table-card table{min-width:1150px}body.app-holger .weekend{opacity:.68;background:rgba(255,255,255,.025)}body.app-holger .table-actions{display:flex;gap:8px}body.app-holger .status-badge{padding:6px 11px;border-radius:999px;font-weight:800;border:1px solid var(--line)}body.app-holger .status-badge.blue{background:rgba(38,114,243,.22);color:#a9cbff}body.app-holger .status-badge.green{background:rgba(31,160,90,.25);color:#a5f5b8}body.app-holger .status-badge.orange{background:rgba(255,170,70,.22);color:#ffd29a}body.app-holger .status-badge.purple{background:rgba(150,110,255,.25);color:#d2c4ff}body.app-holger .status-badge.red{background:rgba(220,70,70,.22);color:#ffb0b0}body.app-holger .msg{background:rgba(67,185,120,.16);border:1px solid rgba(67,185,120,.45);padding:13px 16px;border-radius:12px;font-weight:800}body.app-holger .msg.bad{background:rgba(220,70,70,.15);border-color:rgba(220,70,70,.45)}body.app-holger .login-body{min-height:100vh;display:grid;place-items:center;padding:20px}body.app-holger .login-wrap{width:min(460px,100%)}body.app-holger .login-card h1{margin-top:0}body.app-holger .hamburger{display:none;width:46px;height:46px;border-radius:12px;border:1px solid var(--line);background:var(--panel2);color:var(--text);font-size:26px;font-weight:900}@media(max-width:1200px){body.app-holger .app{display:block}body.app-holger .hamburger{display:inline-flex;align-items:center;justify-content:center}body.app-holger .sidebar{display:none;border-right:0;border-bottom:1px solid var(--line)}body.app-holger.menu-open .sidebar{display:flex}body.app-holger .topbar{height:auto;min-height:70px;padding:10px 14px}body.app-holger .viewer{padding:12px}body.app-holger .form-grid,body.app-holger .wide-form{grid-template-columns:repeat(2,minmax(160px,1fr))}body.app-holger .dash-grid.two,body.app-holger .dash-grid.three,body.app-holger .dash-grid.four{grid-template-columns:repeat(2,minmax(200px,1fr))}}@media(max-width:760px){body.app-holger .nav{grid-template-columns:repeat(2,1fr)}body.app-holger .form-grid,body.app-holger .wide-form,body.app-holger .dash-grid.two,body.app-holger .dash-grid.three,body.app-holger .dash-grid.four{grid-template-columns:1fr}body.app-holger .reload{display:none}body.app-holger .topbar h2{font-size:22px}body.app-holger .mini-metric strong{font-size:28px}}


:root {--brand:#78d8bf;--surface:#102324;--ink:#eaf5f1;--muted:#a4b8b2;--border:#2b4541;--font:system-ui,-apple-system,"Segoe UI",sans-serif}
*{box-sizing:border-box}body.portal{margin:0;background:#0a1719;color:var(--ink);font-family:var(--font);line-height:1.65}
.portal a{color:inherit;text-decoration:none}.portal a:hover{text-decoration:underline}.portal button,.portal .button{font:inherit;background:var(--brand);color:#092720;border:1px solid var(--brand);padding:11px 20px;border-radius:10px;cursor:pointer;font-weight:650;display:inline-block;line-height:1.4}.portal button:hover,.portal .button:hover{background:#a1e7d3;text-decoration:none}.portal .secondary{background:transparent;color:var(--ink);border:1px solid var(--border)}.portal .danger{background:#803e40;border-color:#803e40;color:white}.portal-header{max-width:1280px;margin:auto;padding:25px 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);gap:28px}.wordmark{font-size:24px;font-weight:750;letter-spacing:-1px;white-space:nowrap}.wordmark span{color:var(--brand)}.portal-header nav{display:flex;gap:20px;align-items:center;flex-wrap:wrap;font-size:14px}.inline{display:inline-block;margin:0}.portal-main{max-width:1180px;padding:48px 28px 80px;margin:auto;min-height:72vh}.portal h1{font-size:clamp(32px,5vw,54px);line-height:1.12;letter-spacing:-1.5px;margin:14px 0 24px}.portal h2{font-size:25px;line-height:1.3}.portal h3{font-size:22px;line-height:1.35}.portal p{color:var(--muted)}.hero{padding:34px 0 70px;max-width:760px}.hero h1{font-size:clamp(52px,8vw,92px);letter-spacing:-4px;line-height:1.05}.hero h1 span{color:var(--brand)}.hero p{max-width:610px;font-size:19px}.portal .eyebrow{color:var(--brand);font-size:12px;letter-spacing:2px;font-weight:700}.hero-links{display:flex;gap:15px;margin-top:30px;flex-wrap:wrap}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px;flex-wrap:wrap}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.card,.form-panel{border:1px solid var(--border);background:var(--surface);border-radius:16px;overflow:hidden}.card-content{padding:26px}.card img{width:100%;height:220px;object-fit:cover;display:block}.card h3{margin:14px 0}.tag{color:var(--brand);font-size:12px;text-transform:uppercase;letter-spacing:1px}.app-cards{margin-top:36px}.app-cards .card{min-height:190px;display:flex;flex-direction:column;justify-content:space-between}.app-cards .card:hover{border-color:var(--brand)}.form-panel{padding:30px}.narrow{max-width:600px;margin:20px auto}.portal label{display:block;margin:20px 0;font-size:14px;font-weight:600}.portal input:not([type=checkbox]),.portal textarea,.portal select{width:100%;margin-top:7px;background:#09191b;border:1px solid #4b6660;border-radius:8px;padding:12px;color:var(--ink);font:inherit;font-weight:400}.portal input[type=file]{font-size:13px}.portal textarea{resize:vertical}.portal :focus-visible{outline:2px solid var(--brand);outline-offset:4px}.portal .check{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-weight:400}.portal input[type=checkbox]{accent-color:var(--brand);width:18px;height:18px;flex-shrink:0}.portal fieldset{border:1px solid var(--border);border-radius:10px;padding:0 18px;margin:20px 0}.portal .message{background:#214e40;border:1px solid #497e65;padding:16px 22px;border-radius:10px;margin-bottom:25px}.portal .error{background:#512b2e;border-color:#996365}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:start}.list-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:20px 0;border-bottom:1px solid var(--border)}.list-row p{font-size:13px;margin:3px 0 12px;overflow-wrap:anywhere}.list-row a{color:var(--brand)}.list-row button{padding:7px 12px;font-size:13px}.preview{width:100%;max-height:240px;object-fit:contain}.article{max-width:850px;margin:auto}.article>img{width:100%;max-height:600px;object-fit:contain;border-radius:15px;margin:20px 0 40px}.article-text{font-size:18px;overflow-wrap:anywhere}.legal{max-width:900px;margin:auto;overflow-wrap:anywhere}.legal div{float:none!important;max-width:100%;width:auto!important;height:auto!important;color:inherit!important}.legal a{color:var(--brand)}.portal-footer{max-width:1280px;margin:auto;padding:28px 32px;border-top:1px solid var(--border);display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:13px}.portal-footer div{display:flex;gap:22px}.honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
body.app-monitor .qr-view{font-family:system-ui,sans-serif;background:#07111f;color:#e8f0ff;margin:0;padding:30px}body.app-monitor .qr-view .box{max-width:850px;margin:auto;background:#101d30;border:1px solid #22344f;border-radius:18px;padding:24px}body.app-monitor .qr-view textarea{width:100%;min-height:340px;background:#06101d;color:#e8f0ff;border:1px solid #334866;border-radius:12px;padding:14px;font-family:monospace}body.app-monitor .qr-view a{color:#7db7ff}body.app-monitor .qr-view .warn{background:#3a250a;border:1px solid #8a641d;padding:12px;border-radius:12px;margin:14px 0}

body.app-monitor .pbs-view{
    --bg: #111827;
    --card: #1f2937;
    --card2: #111827;
    --text: #f9fafb;
    --muted: #9ca3af;
    --line: #374151;
    --blue: #3b82f6;
    --green: #22c55e;
    --yellow: #eab308;
    --red: #ef4444;
    --orange: #f97316;
    --gray: #6b7280;
}body.app-monitor .pbs-view{
    margin: 0;
    padding: 20px;
    background: var(--bg);
    color: var(--text);
    font-family: Arial, Helvetica, sans-serif;
}body.app-monitor .pbs-view .wrap{
    max-width: 1400px;
    margin: 0 auto;
}body.app-monitor .pbs-view h1{
    margin: 0 0 8px 0;
    font-size: 32px;
}body.app-monitor .pbs-view .subtitle{
    color: var(--muted);
    margin-bottom: 24px;
}body.app-monitor .pbs-view .grid{
    display: grid;
    grid-template-columns: repeat(5, minmax(120px, 1fr));
    gap: 14px;
    margin-bottom: 20px;
}body.app-monitor .pbs-view .card{
    background: var(--card);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 18px;
    box-shadow: 0 8px 22px rgba(0,0,0,.25);
}body.app-monitor .pbs-view .card .label{
    color: var(--muted);
    font-size: 14px;
    margin-bottom: 8px;
}body.app-monitor .pbs-view .card .value{
    font-size: 30px;
    font-weight: bold;
}body.app-monitor .pbs-view .actions{
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 20px;
}body.app-monitor .pbs-view button,body.app-monitor .pbs-view .btn{
    border: none;
    border-radius: 12px;
    padding: 12px 15px;
    font-size: 15px;
    font-weight: bold;
    cursor: pointer;
    color: white;
    background: var(--blue);
    text-decoration: none;
    display: inline-block;
}body.app-monitor .pbs-view button:hover,body.app-monitor .pbs-view .btn:hover{
    filter: brightness(1.12);
}body.app-monitor .pbs-view .btn-secondary{
    background: var(--gray);
}body.app-monitor .pbs-view .btn-orange{
    background: var(--orange);
}body.app-monitor .pbs-view .btn-red{
    background: var(--red);
}body.app-monitor .pbs-view .message{
    background: rgba(34,197,94,.15);
    border: 1px solid rgba(34,197,94,.5);
    color: #bbf7d0;
    padding: 14px;
    border-radius: 12px;
    margin-bottom: 18px;
}body.app-monitor .pbs-view .error{
    background: rgba(239,68,68,.15);
    border: 1px solid rgba(239,68,68,.5);
    color: #fecaca;
    padding: 14px;
    border-radius: 12px;
    margin-bottom: 18px;
}body.app-monitor .pbs-view .panel{
    background: var(--card);
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 18px;
    margin-bottom: 20px;
}body.app-monitor .pbs-view .panel h2{
    margin-top: 0;
    font-size: 22px;
}body.app-monitor .pbs-view .last-grid{
    display: grid;
    grid-template-columns: 180px 1fr;
    gap: 8px 14px;
}body.app-monitor .pbs-view .key{
    color: var(--muted);
}body.app-monitor .pbs-view .table-scroll{
    overflow-x: auto;
}body.app-monitor .pbs-view table{
    width: 100%;
    border-collapse: collapse;
    overflow: hidden;
    border-radius: 12px;
}body.app-monitor .pbs-view th,body.app-monitor .pbs-view td{
    padding: 12px 10px;
    border-bottom: 1px solid var(--line);
    text-align: left;
    vertical-align: middle;
    font-size: 14px;
}body.app-monitor .pbs-view th{
    color: var(--muted);
    font-weight: bold;
    background: var(--card2);
}body.app-monitor .pbs-view tr:hover td{
    background: rgba(255,255,255,.03);
}body.app-monitor .pbs-view .badge{
    display: inline-block;
    padding: 5px 9px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: bold;
    color: white;
}body.app-monitor .pbs-view .pending{ background: var(--yellow); color: #111; }body.app-monitor .pbs-view .running{ background: var(--blue); }body.app-monitor .pbs-view .done{ background: var(--green); }body.app-monitor .pbs-view .failed{ background: var(--red); }body.app-monitor .pbs-view .expired{ background: var(--orange); }body.app-monitor .pbs-view .unknown{ background: var(--gray); }body.app-monitor .pbs-view .on{ background: var(--green); }body.app-monitor .pbs-view .off{ background: var(--gray); }body.app-monitor .pbs-view .msgtext{
    max-width: 340px;
    word-break: break-word;
}body.app-monitor .pbs-view input,body.app-monitor .pbs-view select{
    width: 100%;
    box-sizing: border-box;
    padding: 9px;
    border-radius: 8px;
    border: 1px solid var(--line);
    background: var(--card2);
    color: var(--text);
    font-size: 14px;
}body.app-monitor .pbs-view .schedule-table input,body.app-monitor .pbs-view .schedule-table select{
    min-width: 90px;
}body.app-monitor .pbs-view .small-input{
    min-width: 80px;
}body.app-monitor .pbs-view .medium-input{
    min-width: 130px;
}body.app-monitor .pbs-view .wide-input{
    min-width: 200px;
}body.app-monitor .pbs-view .schedule-actions{
    display: flex;
    gap: 7px;
    white-space: nowrap;
}body.app-monitor .pbs-view .schedule-actions button{
    padding: 9px 11px;
    border-radius: 9px;
}body.app-monitor .pbs-view .inline-check{
    display: flex;
    align-items: center;
    gap: 7px;
    white-space: nowrap;
}body.app-monitor .pbs-view .inline-check input{
    width: auto;
}body.app-monitor .pbs-view .create-grid{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin-bottom: 14px;
}body.app-monitor .pbs-view .create-grid label{
    display: block;
    color: var(--muted);
    font-weight: bold;
    margin-bottom: 6px;
    font-size: 14px;
}@media (max-width: 900px){body.app-monitor .pbs-view .grid{
        grid-template-columns: repeat(2, 1fr);
    }body.app-monitor .pbs-view .last-grid{
        grid-template-columns: 1fr;
    }body.app-monitor .pbs-view .create-grid{
        grid-template-columns: 1fr;
    }body.app-monitor .pbs-view table{
        display: block;
        overflow-x: auto;
        white-space: nowrap;
    }
}

body.app-monitor .pbs-schedules-view{
            --bg: #111827;
            --card: #1f2937;
            --card2: #111827;
            --text: #f9fafb;
            --muted: #9ca3af;
            --line: #374151;
            --blue: #3b82f6;
            --green: #22c55e;
            --red: #ef4444;
            --orange: #f97316;
            --gray: #6b7280;
        }body.app-monitor .pbs-schedules-view{
            margin: 0;
            padding: 20px;
            background: var(--bg);
            color: var(--text);
            font-family: Arial, Helvetica, sans-serif;
        }body.app-monitor .pbs-schedules-view .wrap{
            max-width: 1400px;
            margin: 0 auto;
        }body.app-monitor .pbs-schedules-view h1{
            margin: 0 0 8px 0;
            font-size: 32px;
        }body.app-monitor .pbs-schedules-view .subtitle{
            color: var(--muted);
            margin-bottom: 24px;
        }body.app-monitor .pbs-schedules-view .panel{
            background: var(--card);
            border: 1px solid var(--line);
            border-radius: 14px;
            padding: 18px;
            margin-bottom: 20px;
            box-shadow: 0 8px 22px rgba(0,0,0,.25);
        }body.app-monitor .pbs-schedules-view .panel h2{
            margin-top: 0;
        }body.app-monitor .pbs-schedules-view .message{
            background: rgba(34,197,94,.15);
            border: 1px solid rgba(34,197,94,.5);
            color: #bbf7d0;
            padding: 14px;
            border-radius: 12px;
            margin-bottom: 18px;
        }body.app-monitor .pbs-schedules-view .error{
            background: rgba(239,68,68,.15);
            border: 1px solid rgba(239,68,68,.5);
            color: #fecaca;
            padding: 14px;
            border-radius: 12px;
            margin-bottom: 18px;
        }body.app-monitor .pbs-schedules-view .grid{
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 12px;
        }body.app-monitor .pbs-schedules-view label{
            display: block;
            color: var(--muted);
            font-weight: bold;
            margin-bottom: 6px;
            font-size: 14px;
        }body.app-monitor .pbs-schedules-view input,body.app-monitor .pbs-schedules-view select{
            width: 100%;
            box-sizing: border-box;
            padding: 10px;
            border-radius: 8px;
            border: 1px solid var(--line);
            background: var(--card2);
            color: var(--text);
            font-size: 15px;
        }body.app-monitor .pbs-schedules-view .checkline{
            display: flex;
            align-items: center;
            gap: 8px;
            margin-top: 26px;
        }body.app-monitor .pbs-schedules-view .checkline input{
            width: auto;
        }body.app-monitor .pbs-schedules-view button,body.app-monitor .pbs-schedules-view .btn{
            border: none;
            border-radius: 10px;
            padding: 11px 14px;
            font-size: 15px;
            font-weight: bold;
            cursor: pointer;
            color: white;
            background: var(--blue);
            text-decoration: none;
            display: inline-block;
        }body.app-monitor .pbs-schedules-view .btn-gray{
            background: var(--gray);
        }body.app-monitor .pbs-schedules-view .btn-red{
            background: var(--red);
        }body.app-monitor .pbs-schedules-view .btn-orange{
            background: var(--orange);
        }body.app-monitor .pbs-schedules-view button:hover,body.app-monitor .pbs-schedules-view .btn:hover{
            filter: brightness(1.12);
        }body.app-monitor .pbs-schedules-view .actions{
            display: flex;
            gap: 8px;
            flex-wrap: wrap;
            margin-top: 14px;
        }body.app-monitor .pbs-schedules-view table{
            width: 100%;
            border-collapse: collapse;
            overflow: hidden;
            border-radius: 12px;
        }body.app-monitor .pbs-schedules-view th,body.app-monitor .pbs-schedules-view td{
            padding: 10px;
            border-bottom: 1px solid var(--line);
            text-align: left;
            vertical-align: top;
            font-size: 14px;
        }body.app-monitor .pbs-schedules-view th{
            color: var(--muted);
            font-weight: bold;
            background: var(--card2);
        }body.app-monitor .pbs-schedules-view tr:hover td{
            background: rgba(255,255,255,.03);
        }body.app-monitor .pbs-schedules-view .badge{
            display: inline-block;
            padding: 5px 9px;
            border-radius: 999px;
            font-size: 13px;
            font-weight: bold;
            color: white;
        }body.app-monitor .pbs-schedules-view .on{
            background: var(--green);
        }body.app-monitor .pbs-schedules-view .off{
            background: var(--gray);
        }body.app-monitor .pbs-schedules-view .small{
            color: var(--muted);
            font-size: 13px;
        }body.app-monitor .pbs-schedules-view .rowform{
            display: grid;
            grid-template-columns: 70px 150px 220px 160px 110px 130px 120px 110px 110px 150px;
            gap: 8px;
            align-items: end;
            min-width: 1250px;
        }body.app-monitor .pbs-schedules-view .table-scroll{
            overflow-x: auto;
        }@media (max-width: 900px){body.app-monitor .pbs-schedules-view .grid{
                grid-template-columns: 1fr;
            }
        }
    

/* Gemeinsame Farben, Schrift und Bedienelemente der bestehenden Apps. */
body.app-monitor,body.app-anja,body.app-holger{--bg:#0a1719;--panel:#102324;--panel2:#19332f;--panel-2:#19332f;--panel-3:#203e37;--line:#2b4541;--text:#eaf5f1;--muted:#a4b8b2;--blue:#259d80;--blue-2:#38bda0;--green:#78d8bf;--shadow:rgba(0,0,0,.25);background:#0a1719;color:#eaf5f1;font-family:var(--font)}
body:is(.app-monitor,.app-anja,.app-holger) .sidebar{background:#0d1e20}body:is(.app-monitor,.app-anja,.app-holger) .nav-btn.active{background:#1c5445;border-color:#78d8bf}body:is(.app-monitor,.app-anja,.app-holger) .dash-card{border-radius:16px}body:is(.app-monitor,.app-anja,.app-holger) .topbar{background:#102324}body:is(.app-monitor,.app-anja,.app-holger) .nav-btn{font-size:16px}
@media(max-width:960px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-grid{grid-template-columns:1fr}.portal-header{align-items:flex-start;flex-direction:column;gap:15px}.portal-header nav{gap:14px}.hero{padding-top:10px}}
@media(max-width:600px){.cards{grid-template-columns:1fr}.portal-main{padding:28px 18px 50px}.portal-header{padding:20px 18px}.portal-header nav{font-size:13px}.portal .form-panel{padding:22px}.hero h1{letter-spacing:-2px}.portal-footer{padding:24px 18px;flex-direction:column}.portal h1{overflow-wrap:anywhere}}
@media print{body:is(.app-monitor,.app-anja,.app-holger){background:white;color:black}.portal-header,.portal-footer{display:none}body.portal{background:white;color:black}}
body:is(.app-monitor,.app-anja,.app-holger) .app,body:is(.app-monitor,.app-anja,.app-holger) .screen,body:is(.app-monitor,.app-anja,.app-holger) .viewer{min-width:0;max-width:100%}
body:is(.app-monitor,.app-anja,.app-holger) .dash-card{background:var(--surface);min-width:0;overflow-x:auto}
body:is(.app-monitor,.app-anja,.app-holger) .mini-metric,body:is(.app-monitor,.app-anja,.app-holger) .mini-panel,body:is(.app-monitor,.app-anja,.app-holger) .quick-card{background:#19332f}
body:is(.app-monitor,.app-anja,.app-holger) button:not(.red):not(.danger):not(.orange),body:is(.app-monitor,.app-anja,.app-holger) .btn:not(.red):not(.orange),body:is(.app-monitor,.app-anja,.app-holger) .action-btn:not(.danger),body:is(.app-monitor,.app-anja,.app-holger) .reload{background:var(--brand);color:#092720;border-color:var(--brand)}
body:is(.app-monitor,.app-anja,.app-holger) .nav-btn,body:is(.app-monitor,.app-anja,.app-holger) .logo{background:#19332f}
body:is(.app-monitor,.app-anja,.app-holger) .nav-btn.active{background:#1c5445;border-color:var(--brand)}
@media(max-width:760px){body:is(.app-monitor,.app-anja,.app-holger) .dash-grid,body:is(.app-monitor,.app-anja,.app-holger) .dash-grid.two,body:is(.app-monitor,.app-anja,.app-holger) .dash-grid.three,body:is(.app-monitor,.app-anja,.app-holger) .dash-grid.four{grid-template-columns:minmax(0,1fr)}body:is(.app-monitor,.app-anja,.app-holger) .action-bar{grid-template-columns:repeat(2,minmax(0,1fr))}body:is(.app-monitor,.app-anja,.app-holger) .action-bar input,body:is(.app-monitor,.app-anja,.app-holger) .action-bar select{min-width:0;width:100%}}
@media print{body:is(.app-monitor,.app-anja,.app-holger) .dash-card{background:white;color:black;overflow:visible}body:is(.app-monitor,.app-anja,.app-holger) .mini-metric{background:white;color:black}}

body.app-monitor :is(.qr-view,.pbs-view,.pbs-schedules-view){--bg:#0a1719;--card:#102324;--card2:#19332f;--text:#eaf5f1;--muted:#a4b8b2;--line:#2b4541;--blue:#259d80;--green:#78d8bf;background:var(--bg);color:var(--text);font-family:var(--font)}
body.app-monitor .logout-link{background:transparent;border-color:var(--border);color:var(--ink)}

/* Helles gemeinsames Design, Oktober 2026. Nur Darstellung. */
@media screen {
:root,body:is(.portal,.app-monitor,.app-anja,.app-holger),body.app-monitor :is(.qr-view,.pbs-view,.pbs-schedules-view){
--brand:#2867b2;--surface:#fff;--ink:#20344f;--muted:#576b83;--border:#d6e3ef;
--bg:#f3f7fc;--panel:#fff;--panel2:#edf4fc;--panel-2:#edf4fc;--panel-3:#e3eefb;--card:#fff;--card2:#edf4fc;--line:#d6e3ef;--text:#20344f;--blue:#2867b2;--blue-2:#367bc9;--green:#21764f;--red:#b73543;--orange:#955a08;--shadow:rgba(37,79,126,.08);--font:system-ui,-apple-system,"Segoe UI",sans-serif;
color-scheme:light;
}
body:is(.portal,.app-monitor,.app-anja,.app-holger){background:radial-gradient(ellipse at 95% 0%,#fff3c9 0,transparent 35%),radial-gradient(ellipse at 0% 15%,#dfedff 0,transparent 40%),#f3f7fc!important;color:var(--ink)!important;font-family:var(--font);}
body .portal-header{background:rgba(255,255,255,.88);border-bottom:1px solid var(--border)}
body .portal-main{padding-top:42px}body .hero{position:relative;padding-bottom:48px}body .hero h1{font-size:clamp(44px,7vw,78px);letter-spacing:-2.5px}body .hero h1 span{color:var(--brand)}
body:is(.portal,.app-monitor,.app-anja,.app-holger) :is(.sidebar,.topbar){background:#fff!important;border-color:var(--border)!important;box-shadow:0 4px 24px var(--shadow)}
body:is(.portal,.app-monitor,.app-anja,.app-holger) :is(.card,.form-panel,.dash-card,.quick-card,.mini-panel,.hero-card,.home-tile){background:#fff!important;color:var(--ink)!important;border:1px solid var(--border)!important;border-radius:20px;box-shadow:0 8px 28px var(--shadow)}
body:is(.portal,.app-monitor,.app-anja,.app-holger) :is(.mini-metric,.logo,.page-icon,.stats span){background:#eaf2fd!important;color:#245b97!important;border-color:var(--border)!important;border-radius:14px}
body:is(.app-monitor,.app-anja,.app-holger) .nav-btn{background:transparent!important;color:var(--ink)!important;border-color:transparent!important;border-radius:12px}
body:is(.app-monitor,.app-anja,.app-holger) .nav-btn:hover{background:#f0f5fc!important}
body:is(.app-monitor,.app-anja,.app-holger) .nav-btn.active{background:#e4efff!important;color:#205b9f!important;border-color:#bcd5f4!important}
body:is(.portal,.app-monitor,.app-anja,.app-holger) :is(button,.button,.btn,.action-btn,.reload,.hero-refresh,.linkbutton):not(.danger):not(.red):not(.orange):not(.secondary):not(.btn-red):not(.btn-orange):not(.btn-gray){background:#2867b2!important;color:#fff!important;border-color:#2867b2!important;border-radius:12px}
body:is(.portal,.app-monitor,.app-anja,.app-holger) :is(.secondary,.btn-gray){background:#edf3fa!important;color:#294b72!important;border-color:#c8d8e9!important}
body:is(.portal,.app-monitor,.app-anja,.app-holger) :is(.danger,.red,.btn-red){background:#b73543!important;color:white!important}
body:is(.portal,.app-monitor,.app-anja,.app-holger) :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){background:#fff!important;color:var(--ink)!important;border:1px solid #b7cce2!important;border-radius:10px;box-shadow:inset 0 1px 2px rgba(30,70,110,.025)}
body:is(.portal,.app-monitor,.app-anja,.app-holger) :is(input,select,textarea,button,a):focus-visible{outline:3px solid #397fc9;outline-offset:3px}
body:is(.portal,.app-monitor,.app-anja,.app-holger) :is(th,.table-scroll th){background:#e5effb!important;color:#244e7d!important;border-color:#ccdded!important}
body:is(.portal,.app-monitor,.app-anja,.app-holger) td{border-color:#e0e9f2!important}
body:is(.portal,.app-monitor,.app-anja,.app-holger) tr:nth-child(even) td{background:#f7faff}
body:is(.portal,.app-monitor,.app-anja,.app-holger) tr:hover td{background:#eaf3ff!important}
body:is(.portal,.app-monitor,.app-anja,.app-holger) :is(.card p,.card small,.card .muted,small,.muted){color:var(--muted)!important}
body.portal .card a:not(.button):not(.linkbutton){color:var(--brand)}
body.portal .message{background:#e8f5ee;color:#225c40;border-color:#b6dbc8}
body.portal :is(.message.error,.notice.error){background:#fff0f0!important;color:#8e2836!important;border-color:#e8bec5!important}
body.portal .warning{background:#fff4ce!important;color:#73500b!important;border-color:#e6ce85!important}
body.portal tr[id^="roll-"]:target>td{background:#fff1be!important}
body.portal .table-scroll{scrollbar-color:#abc5e1 #eef4fb}
body:is(.app-monitor,.app-anja,.app-holger) .viewer{background:transparent}
body:is(.app-monitor,.app-anja,.app-holger) .logout-link{background:transparent!important;color:var(--ink)!important}
@media(prefers-reduced-motion:no-preference){body .app-cards .card{transition:transform .18s,box-shadow .18s}body .app-cards .card:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(37,79,126,.13)}}
@media(max-width:600px){body .portal-main{padding-top:24px}body .hero h1{letter-spacing:-1.5px}body .card,body .form-panel{border-radius:16px}}
}

/* Lesbarer Kontrast in Tabellen und Messwerten des hellen Designs. */
@media screen {
body:is(.portal,.app-monitor,.app-anja,.app-holger) td{color:#20344f!important}
body:is(.portal,.app-monitor,.app-anja,.app-holger) td a:not(.btn):not(.button):not(.linkbutton){color:#245f9f!important}
body.app-monitor :is(.tile,.size-tile,.smart-summary-tile,.smart-disk-card,.wg-tile){background:#edf4fc!important;color:#20344f!important;border-color:#d6e3ef!important}
body.app-monitor :is(.tile,.size-tile,.smart-summary-tile,.wg-tile) strong{color:#20344f!important}
body.app-monitor :is(.tile,.size-tile,.smart-summary-tile,.wg-tile) span{color:#576b83!important}
body.app-monitor :is(.status-pill,.smart-ok,.status-good),body:is(.app-anja,.app-holger) :is(.status-badge.green,.pos){color:#17633b!important}
body.app-monitor :is(.status-pill.warning,.smart-warning),body:is(.app-anja,.app-holger) .status-badge.orange{color:#805000!important}
body.app-monitor :is(.status-pill.bad,.smart-critical,.status-bad),body:is(.app-anja,.app-holger) :is(.status-badge.red,.neg){color:#a52b3a!important}
body:is(.app-anja,.app-holger) .status-badge.blue{color:#245b97!important}
body:is(.app-anja,.app-holger) .status-badge.purple{color:#69429a!important}
}
