/* ProShop Lagersystem - stylesheet (præsentationslaget)
   Designprincipper: KISS, First Things First, Gestaltlovene */

* { box-sizing: border-box; margin: 0; padding: 0; }

body {
    font-family: "Segoe UI", Arial, sans-serif;
    background-color: #f4f6f8;
    color: #1d2b3a;
    line-height: 1.5;
}

.skjul { display: none !important; }

/* ---------- Topbar ---------- */
.topbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: #1d2b3a;
    color: #fff;
    padding: 16px 28px;
}
.topbar h1 { font-size: 22px; font-weight: 600; }
.bruger-info { font-size: 14px; }

main { max-width: 1000px; margin: 28px auto; padding: 0 20px; }

/* ---------- Værktøjslinje ---------- */
.vaerktoejslinje {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 18px;
    gap: 12px;
    flex-wrap: wrap;
}
.soegeform { display: flex; gap: 8px; flex: 1; }
.soegeform input {
    flex: 1;
    max-width: 380px;
    padding: 11px 14px;
    border: 2px solid #c3ccd6;
    border-radius: 8px;
    font-size: 15px;
}
.soegeform input:focus { outline: none; border-color: #2f6fed; }

/* ---------- Knapper ---------- */
button, .knap-primaer {
    background-color: #2f6fed;
    color: #fff;
    border: none;
    padding: 11px 18px;
    border-radius: 8px;
    font-size: 15px;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
}
button:hover, .knap-primaer:hover { background-color: #2356c2; }

.knap-lille {
    background-color: #e2e8f0;
    color: #1d2b3a;
    padding: 7px 12px;
    border-radius: 6px;
    font-size: 13px;
}
.knap-lille:hover { background-color: #cfd8e3; }
.topbar .knap-lille { margin-left: 12px; }

/* ---------- Varetabel ---------- */
.varetabel {
    width: 100%;
    border-collapse: collapse;
    background-color: #fff;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(0,0,0,0.08);
}
.varetabel th {
    background-color: #eef2f7;
    text-align: left;
    padding: 13px 14px;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: #50627a;
}
.varetabel td { padding: 13px 14px; border-top: 1px solid #eef2f7; }
.varetabel tr:hover td { background-color: #f9fbfe; }

.forklaring {
    margin-top: 16px;
    font-size: 14px;
    color: #50627a;
    display: flex;
    align-items: center;
    gap: 8px;
}
.prik-roed {
    display: inline-block;
    width: 16px; height: 16px;
    background-color: #ffcccc;
    border: 1px solid #e09a9a;
    border-radius: 4px;
}

/* ---------- Formularer ---------- */
.kort-form { display: flex; flex-direction: column; }
.kort-form label { font-weight: 600; font-size: 14px; margin: 14px 0 6px; }
.kort-form input, .kort-form select {
    padding: 11px 13px;
    border: 2px solid #c3ccd6;
    border-radius: 8px;
    font-size: 15px;
}
.kort-form input:focus, .kort-form select:focus { outline: none; border-color: #2f6fed; }

/* ---------- Modaler ---------- */
.modal-baggrund {
    position: fixed;
    inset: 0;
    background: rgba(15,23,38,0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}
.modal {
    background: #fff;
    border-radius: 12px;
    padding: 28px;
    width: 440px;
    max-width: 100%;
    box-shadow: 0 12px 40px rgba(0,0,0,0.3);
}
.modal h2 { margin-bottom: 6px; }
.modal-knapper { display: flex; justify-content: flex-end; gap: 10px; margin-top: 24px; }

/* ---------- Beskeder ---------- */
.fejlbesked {
    background-color: #ffd9d9;
    color: #a12626;
    padding: 13px 16px;
    border-radius: 8px;
    margin-bottom: 16px;
    font-size: 14px;
}

/* ---------- Login ---------- */
.login-body {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    background: linear-gradient(135deg, #1d2b3a, #2f6fed);
}
.login-kort {
    background-color: #fff;
    padding: 40px 36px;
    border-radius: 14px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.25);
    width: 340px;
    text-align: center;
}
.login-kort h1 { font-size: 24px; color: #1d2b3a; }
.undertekst { color: #708195; font-size: 14px; margin-bottom: 10px; }
.login-kort form { display: flex; flex-direction: column; text-align: left; margin-top: 10px; }
.login-kort label { font-weight: 600; font-size: 14px; margin: 12px 0 6px; }
.login-kort input {
    padding: 11px 13px;
    border: 2px solid #c3ccd6;
    border-radius: 8px;
    font-size: 15px;
}
.login-kort input:focus { outline: none; border-color: #2f6fed; }
.login-kort button { margin-top: 22px; width: 100%; }
