body {
    font-family: Arial, sans-serif;
    background-color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;

    margin: 0;
}

/* Global UI scale: make 100% browser zoom feel like ~170% */
html { font-size: 150%; }

.login-container {
    position: relative;
    width: min(90vw, 43.75rem);  /* responsive Breite, max ~700px */
    aspect-ratio: 700 / 600;     /* exakt wie das Hintergrundbild */
    height: auto;                /* durch aspect-ratio gesteuert */
    margin: 0 auto;
    background: url('assets/login004.jpg') no-repeat top center;
    background-size: 100% 100%;  /* immer vollflächig ohne Letterbox */
}

.login-form {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* Eingabefelder genau über die Stellen im Bild legen */
.login-form input[name="username"] {
    position: absolute;
    top: 44%;   /* 243 / 600 */
    left: 30%;    /* 210 / 700 */
    width: 34%;/* 230 / 700 */
    height: 3.67%;/* 22 / 600 */
    background: transparent;
    border: none;
    border-bottom: 0px solid #ccc; /* optional Linie */
    font-size: 1rem; /* skaliert mit html */
    color: #000;
}

.login-form input[name="password"] {
    position: absolute;
    top: 66%; /* 368 / 600 */
    left: 30.71%; /* 215 / 700 */
    width: 33%;/* 220 / 700 */
    height: 3.67%;/* 22 / 600 */
    background: transparent;
    border: none;
    border-bottom: 0px solid #ccc;
    font-size: 1rem; /* skaliert mit html */
    color: #000;
}

.login-form button {
    position: absolute;
    top: 78%;  /* 435 / 600 */
    left: 29.29%; /* 205 / 700 */
    width: 36%; /* 240 / 700 */
    height: 7.5%;  /* 45 / 600 */
    background: transparent;
    border: none;
    cursor: pointer;
}

.error {
    position: absolute;
    top: 80%;   /* 480 / 600, über den Eingabefeldern */
    left: 0;
    width: 100%;
    text-align: center;
    color: red;
}

/* Dashboard layout: stack boxes vertically and center them */
.dashboard {
    display: flex;
    flex-direction: column;
    align-items: center; /* center horizontally */
    gap: 1rem;          /* space between boxes: 1rem below each */
    text-align: center;
}
.dashboard-header { margin-bottom: 0.375rem; }

.dashboard-list a {
    display: inline-block;
    padding: 0.625rem 1rem; /* 10px 16px */
    border: 1px solid #ccc; /* keep crisp */
    border-radius: 0.5rem; /* 8px */
    text-decoration: none;
    color: #333;
    background: #f9f9f9;
    min-width: 16.25rem; /* 260px => scales with html font-size */
}
.dashboard-list a:hover {
    background: #f0f0f0;
    text-decoration: none;
}