* { box-sizing: border-box; }

body {
    margin: 0;
    font-family: "Segoe UI", Roboto, Arial, sans-serif;
    background: #14151a;
    color: #e8e8ec;
    display: flex;
    justify-content: center;
    padding: 40px 16px;
}

.card {
    width: 100%;
    max-width: 520px;
    background: #1c1e26;
    border: 1px solid #2b2d38;
    border-radius: 12px;
    padding: 32px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.35);
}

h1 {
    font-size: 22px;
    margin: 0 0 4px;
    color: #ffffff;
}

.subtitle {
    color: #9497a6;
    font-size: 14px;
    margin: 0 0 24px;
}

label {
    display: block;
    font-size: 13px;
    color: #b3b6c4;
    margin-bottom: 6px;
    margin-top: 16px;
}

input[type=text], input[type=password], textarea {
    width: 100%;
    padding: 10px 12px;
    border-radius: 8px;
    border: 1px solid #33364200;
    background: #262835;
    color: #fff;
    font-size: 14px;
    outline: none;
    border: 1px solid #33364a;
}

input[type=text]:focus, input[type=password]:focus, textarea:focus {
    border-color: #7c5cff;
}

textarea { resize: vertical; min-height: 110px; }

button, .btn {
    margin-top: 20px;
    width: 100%;
    padding: 12px;
    border: none;
    border-radius: 8px;
    background: #7c5cff;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    text-align: center;
    text-decoration: none;
    display: inline-block;
}

button:hover, .btn:hover { background: #6b4be0; }

.btn-secondary {
    background: #2b2d38;
}
.btn-secondary:hover { background: #383b4a; }

.notice {
    padding: 12px 14px;
    border-radius: 8px;
    font-size: 14px;
    margin-top: 16px;
}

.notice.error { background: #3a1c22; color: #ff9aa8; border: 1px solid #5c2530; }
.notice.success { background: #16332a; color: #7be6b0; border: 1px solid #1f4a3a; }
.notice.info { background: #1c2a3a; color: #8ec4ff; border: 1px solid #2a3f5c; }

.ban-box {
    background: #241a1a;
    border: 1px solid #4a2626;
    border-radius: 8px;
    padding: 16px;
    margin-top: 18px;
    font-size: 14px;
}

.ban-box .row { margin: 4px 0; }
.ban-box .label { color: #9497a6; display: inline-block; min-width: 130px; }

table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 16px;
    font-size: 13px;
}

th, td {
    text-align: left;
    padding: 10px;
    border-bottom: 1px solid #2b2d38;
    vertical-align: top;
}

th { color: #9497a6; font-weight: 600; }

.tag {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 6px;
    font-size: 12px;
}

.tag.offen { background: #3a2c1c; color: #ffc069; }
.tag.bearbeitet { background: #16332a; color: #7be6b0; }

.top-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
}

.top-bar a { color: #9497a6; font-size: 13px; text-decoration: none; }
.top-bar a:hover { color: #fff; }

.wide { max-width: 900px; }
