/* Doormatic – mørkt tema til standalone sider (login, forgot, reset, activate, install) */

*, *::before, *::after { box-sizing: border-box; }

html, body {
    background: #1a1d23 !important;
    color: #c9d1d9;
    font-family: 'Segoe UI', system-ui, sans-serif;
    min-height: 100vh;
    margin: 0;
}

a { color: #4e9af1; }
a:hover { color: #79c0ff; text-decoration: none; }

/* Centreret boks */
.auth-wrap {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem 1rem;
}
.auth-box { width: 100%; max-width: 440px; }

/* Logo-sektion */
.auth-logo { text-align: center; margin-bottom: 1.5rem; }
.auth-logo .logo-icon {
    width: 72px; height: 72px;
    background: linear-gradient(135deg, #1a5cb0, #4e9af1);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    margin: 0 auto 1rem;
}
.auth-logo h3 { color: #e6edf3; font-weight: 600; margin: 0; }
.auth-logo p  { color: #6e7a8a; font-size: .875rem; margin: .3rem 0 0; }

/* Kort */
.auth-card {
    background: #242830;
    border: 1px solid #2e3340;
    border-radius: 12px;
    overflow: hidden;
}
.auth-card-header {
    background: #1e2229;
    border-bottom: 1px solid #2e3340;
    padding: 1.1rem 1.5rem;
}
.auth-card-header h5 {
    color: #e6edf3;
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
}
.auth-card-body { padding: 1.75rem; }

/* Formfelter */
label {
    color: #8b949e;
    font-size: .85rem;
    margin-bottom: .3rem;
    display: block;
}
.form-group { margin-bottom: 1rem; }

.form-control {
    display: block;
    width: 100%;
    padding: .375rem .75rem;
    background: #161a1f !important;
    border: 1px solid #3d4454 !important;
    color: #c9d1d9 !important;
    border-radius: 6px;
    height: 44px;
    font-size: .9rem;
    transition: border-color .15s, box-shadow .15s;
}
.form-control:focus {
    background: #161a1f !important;
    border-color: #4e9af1 !important;
    color: #fff !important;
    box-shadow: 0 0 0 .2rem rgba(78,154,241,.2) !important;
    outline: none;
}
.form-control::placeholder { color: #4e5a6a; }

/* Autofill override (Chrome) */
.form-control:-webkit-autofill,
.form-control:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0 1000px #161a1f inset !important;
    -webkit-text-fill-color: #c9d1d9 !important;
    caret-color: #c9d1d9;
}

/* Input group */
.input-group-text {
    background: #1e2229 !important;
    border: 1px solid #3d4454 !important;
    color: #6e7a8a !important;
}
.input-group .form-control { border-radius: 6px 0 0 6px !important; }
.input-group-append .input-group-text { border-radius: 0 6px 6px 0 !important; }

/* Knapper */
.btn {
    border-radius: 6px;
    font-weight: 500;
    height: 44px;
    font-size: .9rem;
}
.btn-primary {
    background: #1a5cb0;
    border-color: #1a5cb0;
}
.btn-primary:hover {
    background: #4e9af1;
    border-color: #4e9af1;
}
.btn-block { width: 100%; display: block; }

/* Alerts */
.alert {
    border-radius: 8px;
    padding: .85rem 1.1rem;
    font-size: .9rem;
    border: 1px solid transparent;
    margin-bottom: 1rem;
}
.alert-danger  { background: #3a1a1a; border-color: #6a2020; color: #f8a0a0; }
.alert-success { background: #1a3a2a; border-color: #205a30; color: #a0f8c0; }
.alert-warning { background: #3a2a0a; border-color: #6a4a0a; color: #ffd580; }
.alert-info    { background: #0a2a3a; border-color: #0a4a6a; color: #80d8ff; }

.alert ul { margin: 0; padding-left: 1.2rem; }
.alert-link { color: inherit; font-weight: 600; text-decoration: underline; }

/* Adgangskodestyrke */
.strength-bar { height: 4px; border-radius: 2px; transition: all .3s; background: #2e3340; }

/* Skillelinje */
hr { border-color: #2e3340; }

/* Sidefod-tekst */
.auth-footer {
    text-align: center;
    margin-top: 1.25rem;
    font-size: .825rem;
    color: #4e5a6a;
}
.auth-footer a { color: #4e9af1; }

/* Lille hjælpetekst */
.text-muted { color: #6e7a8a !important; }
small { color: #6e7a8a; font-size: .8rem; }

/* Rows i smalt layout */
.row { display: flex; flex-wrap: wrap; margin: 0 -.5rem; }
.col-6 { flex: 0 0 50%; max-width: 50%; padding: 0 .5rem; }
