/* ============================================================
   style-os400.css – OS/400 5250-Terminal-Theme
   Phosphorgrün auf Schwarz, Monospace durchgehend,
   Inverse-Video für Header und Tabellenköpfe.
   ============================================================ */

:root {
    --paper:      #000000;
    --ink:        #00cc00;
    --navy:       #00cc00;
    --navy-light: #00ff41;
    --gold:       #00ff41;
    --gray:       #009900;
    --light:      #001a00;
    --border:     #00aa00;
}

/* ── Scanline-Overlay ── */
body::after {
    content: '';
    pointer-events: none;
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: repeating-linear-gradient(
        to bottom,
        transparent 0px,
        transparent 2px,
        rgba(0, 0, 0, 0.12) 2px,
        rgba(0, 0, 0, 0.12) 4px
    );
}

/* ── Body & page ── */
body {
    background-color: #000000;
    background-image: none;
    font-family: 'Courier New', Courier, monospace;
    color: var(--ink);
}

/* ── Page wrapper ── */
.page-wrapper {
    margin: 16px auto;
}

/* ── Paper → Terminalfenster ── */
.paper {
    background: #000000;
    border: 1px solid #00cc00;
    box-shadow: 0 0 18px rgba(0, 204, 0, 0.15);
}

/* ── Header: Inverse-Video ── */
.official-header {
    background: #00cc00;
    border-bottom: 2px solid #004400;
}

.uni-name {
    color: #000000;
    font-family: 'Courier New', Courier, monospace;
    font-size: 15px;
    letter-spacing: 1px;
    text-shadow: none;
}

.uni-sub {
    color: #003300;
    font-family: 'Courier New', Courier, monospace;
    letter-spacing: 0;
}

.form-stamp {
    font-family: 'Courier New', Courier, monospace;
    background: #000000;
    border: 1px solid #00cc00;
    color: #00cc00;
    border-radius: 0;
}

.form-stamp strong {
    font-family: 'Courier New', Courier, monospace;
    color: #00ff41;
}

/* Theme-Buttons im grünen Header → schwarz */
.theme-btn {
    font-family: 'Courier New', Courier, monospace;
    border-color: rgba(0,0,0,0.35);
    color: rgba(0,0,0,0.75);
}

.theme-btn:hover {
    background: rgba(0,0,0,0.15);
    color: #000000;
    border-color: rgba(0,0,0,0.6);
}

.theme-btn.active {
    background: rgba(0,0,0,0.22);
    color: #000000;
    border-color: rgba(0,0,0,0.85);
}

/* Header-Logo im OS/400-Modus ausblenden */
.header-logo { display: none; }

/* ── User bar ── */
.user-bar {
    background: #001100;
    border-bottom: 1px solid #00aa00;
    border-top: 1px solid #004400;
    font-family: 'Courier New', Courier, monospace;
    color: #00aa00;
}

.user-bar a {
    color: #00ff41;
    border: 1px solid #00aa00;
    border-radius: 0;
    font-family: 'Courier New', Courier, monospace;
}

.user-bar a:hover {
    background: #00cc00;
    color: #000000;
    border-color: #00cc00;
}

/* ── Section titles ── */
.section-title {
    color: #00ff41;
    border-bottom: 1px solid #00aa00;
    font-family: 'Courier New', Courier, monospace;
    letter-spacing: 1px;
    text-shadow: 0 0 6px rgba(0,255,65,0.5);
}

.section-num {
    background: #00cc00;
    color: #000000;
    border-radius: 0;
    text-shadow: none;
}

/* ── Document title ── */
.vorlagebericht-title h1 {
    font-family: 'Courier New', Courier, monospace;
    color: #00ff41;
    border-color: #00aa00;
    letter-spacing: 6px;
    text-shadow: 0 0 8px rgba(0,255,65,0.5);
}

.double-rule { border-top-color: #00aa00; }
.single-rule { border-top-color: #004400; }

/* ── Form labels ── */
.form-group label {
    font-family: 'Courier New', Courier, monospace;
    color: #009900;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* ── Inputs / Selects ── */
.form-group input[type="text"],
.form-group input[type="password"],
.form-group input[type="date"],
.form-group select {
    font-family: 'Courier New', Courier, monospace;
    background-color: #000000;
    color: #00cc00;
    border: none;
    border-bottom: 1px solid #00aa00;
    padding: 5px 2px;
    border-radius: 0;
    caret-color: #00ff41;
}

.form-group input:focus,
.form-group select:focus {
    background-color: #001a00;
    border-bottom-color: #00ff41;
    color: #00ff41;
    box-shadow: none;
}

.form-group select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%2300aa00'/%3E%3C/svg%3E");
    background-color: #000000;
    background-repeat: no-repeat;
    background-position: right 4px center;
}

.form-group textarea {
    font-family: 'Courier New', Courier, monospace;
    background-color: #000000;
    color: #00cc00;
    border: 1px solid #004400;
    border-radius: 0;
    caret-color: #00ff41;
}

.form-group textarea:focus {
    background-color: #001a00;
    border-color: #00aa00;
    color: #00cc00;
    box-shadow: none;
}

.hint { color: #007700; }

/* ── Address / receiver block ── */
.receiver-block { color: #00aa00; }
.receiver-block strong { color: #00cc00; }
.receiver-block .route { color: #007700; }

/* ── Signature ── */
.sig-field label {
    color: #007700;
    font-family: 'Courier New', Courier, monospace;
}

.sig-field input {
    background: transparent;
    border-bottom-color: #004400;
    font-family: 'Courier New', Courier, monospace;
    color: #00cc00;
}

/* ── Buttons ── */
.btn {
    font-family: 'Courier New', Courier, monospace;
    border-radius: 0;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    font-size: 12px;
}

.btn-primary {
    background: #00cc00;
    color: #000000;
    border-color: #00cc00;
}

.btn-primary:hover {
    background: #00ff41;
    border-color: #00ff41;
    color: #000000;
}

.btn-secondary {
    background: #000000;
    color: #00cc00;
    border-color: #00aa00;
}

.btn-secondary:hover {
    background: #00cc00;
    color: #000000;
    border-color: #00cc00;
}

.btn-danger {
    background: #000000;
    color: #ff3333;
    border-color: #aa0000;
}

.btn-danger:hover {
    background: #aa0000;
    color: #ffcccc;
    border-color: #ff3333;
}

.btn-row { border-top-color: #004400; }

/* ── Table ── */
.report-table { font-family: 'Courier New', Courier, monospace; }

.report-table th {
    background: #00cc00;
    color: #000000;
    text-shadow: none;
    font-family: 'Courier New', Courier, monospace;
    letter-spacing: 0.5px;
}

.report-table td {
    border-bottom: 1px solid #002200;
    color: #00cc00;
    font-family: 'Courier New', Courier, monospace;
}

.report-table tr:nth-child(even) td { background: #001100; }

.report-table tr:hover td {
    background: #002200;
    color: #00ff41;
}

.report-table a {
    color: #00ff41;
    border: 1px solid #00aa00;
    border-radius: 0;
    font-family: 'Courier New', Courier, monospace;
}

.report-table a:hover {
    background: #00cc00;
    color: #000000;
}

/* ── Filter row ── */
.filter-row td {
    background: #001100;
    border-bottom: 2px solid #00aa00;
}

.filter-row input[type="text"] {
    background: #000000;
    color: #00cc00;
    border: 1px solid #004400;
    font-family: 'Courier New', Courier, monospace;
}

.filter-row input[type="text"]:focus {
    border-color: #00aa00;
    color: #00ff41;
}

.filter-row select {
    background-color: #000000;
    color: #00cc00;
    border: 1px solid #004400;
    font-family: 'Courier New', Courier, monospace;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%2300aa00'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 4px center;
}

/* ── Status badges ── */
.status-badge {
    font-family: 'Courier New', Courier, monospace;
    border-radius: 0;
}

.status-neu             { color: #00cc00; border-color: #00aa00; background: transparent; }
.status-angenommen      { color: #00ff41; border-color: #00cc00; background: transparent;
                          text-shadow: 0 0 6px rgba(0,255,65,0.5); }
.status-abgelehnt       { color: #ff3333; border-color: #aa0000; background: transparent; }
.status-nicht-behandelt { color: #009900; border-color: #006600; background: transparent; }
.status-vertagt         { color: #cccc00; border-color: #aaaa00; background: transparent; }

/* ── Role badges ── */
.role-badge {
    font-family: 'Courier New', Courier, monospace;
    border-radius: 0;
}

.role-admin { color: #00ff41; border-color: #00cc00; background: transparent;
              text-shadow: 0 0 6px rgba(0,255,65,0.4); }
.role-user  { color: #00cc00; border-color: #009900; background: transparent; }

/* ── Admin select ── */
.admin-select {
    font-family: 'Courier New', Courier, monospace;
    background-color: #000000;
    color: #00cc00;
    border: 1px solid #004400;
    border-radius: 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%2300aa00'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 4px center;
}

/* ── Error / success boxes ── */
.error-box {
    background: #1a0000;
    border: 1px solid #aa0000;
    border-left: 4px solid #ff3333;
    color: #ff6666;
}

.success-box {
    background: #001a00;
    border: 1px solid #006600;
    border-left: 4px solid #00cc00;
    color: #00ff41;
}

/* ── Nav links ── */
.nav-links a {
    color: #00ff41;
    border: 1px solid #00aa00;
    border-radius: 0;
    font-family: 'Courier New', Courier, monospace;
}

.nav-links a:hover { background: #00cc00; color: #000000; }

/* ── Login ── */
.login-wrapper { margin-top: 40px; }

.login-paper {
    background: #000000;
    border: 1px solid #00cc00;
    border-radius: 0;
    box-shadow: 0 0 24px rgba(0,204,0,0.2);
}

.login-header {
    background: #00cc00;
    border-radius: 0;
    border-bottom: none;
}

.login-header .uni-name {
    color: #000000;
    font-family: 'Courier New', Courier, monospace;
    text-shadow: none;
}

.login-header .uni-sub { color: #003300; }

.login-header .form-title {
    color: #000000;
    font-family: 'Courier New', Courier, monospace;
    border-color: rgba(0,0,0,0.3);
    letter-spacing: 3px;
    text-shadow: none;
}

.login-body { color: #00cc00; }
.login-body p { color: #009900; }

/* ── Modal (Bestätigungsdialog) ── */
.modal-backdrop { background: rgba(0,0,0,0.80); }

.modal-box {
    background: #000000;
    border: 1px solid #00cc00;
    box-shadow: 0 0 20px rgba(0,204,0,0.25);
    border-radius: 0;
}

.modal-header {
    background: #00cc00;
    color: #000000;
    text-shadow: none;
}

.modal-body { color: #00cc00; }

.modal-betreff {
    font-family: 'Courier New', Courier, monospace;
    background: #001100;
    border-left: 3px solid #00aa00;
    color: #00ff41;
}

.modal-warning { color: #ff4444; text-shadow: none; }

.modal-footer { border-top: 1px solid #004400; padding-top: 14px; }

/* ── Spinner (Overlay) ── */
#overlay {
    background: rgba(0,0,0,0.85);
    font-family: 'Courier New', Courier, monospace;
    letter-spacing: 2px;
    color: #00cc00;
}

.spinner {
    border-color: rgba(0,204,0,0.25);
    border-top-color: #00ff41;
}
