/* BUW Design System – Theme-Layer für selfservice (Bootstrap 5.1.3)
   Einbinden NACH bootstrap.min.css und all.css. bundle.css entfernen (siehe README). */

:root{
--buw-green:#89ba17;--buw-green-hover:#7ead16;--buw-green-dark:#609001;--buw-green-tint:#89ba1721;--buw-green-rgb:137,186,23;
--gray-100:#f8f9fa;--gray-200:#e9ecef;--gray-300:#dee2e6;--gray-400:#ced4da;--gray-500:#adb5bd;--gray-600:#6c757d;--gray-700:#495057;--gray-800:#343a40;--gray-900:#212529;
--success:#198754;--danger:#dc3545;--warning:#ffc107;--info:#0dcaf0;
--text-body:#212529;--text-muted:#6c757d;--text-emphasis:#000;--text-link:var(--buw-green);--text-link-hover:var(--buw-green-hover);
--surface-page:#fff;--surface-tertiary:#f8f9fa;--surface-card:#fff;--border-color:#dee2e6;
--focus-ring:rgba(var(--buw-green-rgb),.25);--focus-ring-width:.25rem;
--radius-sm:.25rem;--radius:.375rem;--radius-lg:.5rem;
--shadow-sm:0 .125rem .25rem rgba(0,0,0,.075);
--header-height:105px;--container-xxl:1320px;
--font-sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
/* Bootstrap-5.1-Variablen auf BUW umbiegen */
--bs-primary:#89ba17;--bs-primary-rgb:137,186,23;--bs-body-font-family:var(--font-sans);--bs-body-color:#212529;
}

/* Basis */
html,body{height:100%;margin:0}
body{display:flex;flex-direction:column;font-family:var(--font-sans);font-size:1rem;font-weight:400;line-height:1.5;color:var(--text-body);background:var(--surface-page);-webkit-font-smoothing:antialiased}
main{flex:1 0 auto;padding-bottom:3rem}
h1,h2,h3,h4,h5,h6{font-weight:500;line-height:1.2;color:var(--text-emphasis);margin:0 0 .5rem}
h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}
.buw-page-title{font-size:2.5rem;font-weight:300;line-height:1.2}
.lead{font-size:1.25rem;font-weight:300}
a{color:var(--text-link);text-decoration:underline}
a:hover{color:var(--text-link-hover)}
.text-muted{color:var(--text-muted)!important}
hr{margin:1rem 0;border:0;border-top:1px solid var(--border-color);opacity:1}

/* Header (ersetzt .navbar-Hintergrund) */
.buw-header{position:relative;min-height:var(--header-height);background:var(--buw-green)}
.buw-header .buw-header-inner{max-width:var(--container-xxl);margin:0 auto;padding:0 12px;min-height:var(--header-height);display:flex;align-items:center;justify-content:space-between;gap:1rem}
.buw-header .buw-logo{display:block;margin:17px 0;line-height:0}
.buw-header .buw-logo img{display:block;height:71px;width:auto;max-width:100%}
.buw-header .buw-header-nav{display:flex;align-items:center;gap:.25rem;list-style:none;margin:0;padding:0}
.buw-header .buw-header-nav a{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem .75rem;font-weight:500;color:#fff;text-decoration:none}
.buw-header .buw-header-nav a:hover{color:#eee}
.buw-header .buw-header-user{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem .75rem;color:#fff}
.buw-header .buw-testsystem{padding:.25rem 1rem;font-size:2rem;font-weight:700;letter-spacing:.1em;color:#fff;background:#c00}
@media (max-width:767.98px){.buw-header .buw-logo img{height:50px}.buw-header .buw-testsystem{font-size:1.25rem}}

/* Footer */
.footer{flex-shrink:0;background:var(--buw-green)}
.footer .footer-nav ul{display:flex;flex-wrap:wrap;justify-content:center;gap:.25rem 0;list-style:none;margin:0;padding:1.5rem 0}
.footer .footer-nav li{margin:0}
.footer a,.footer .copyright{color:#eee!important;text-decoration:none;padding:.5rem 1rem;font-size:.95rem;display:inline-block}
.footer a:hover{color:#fff!important;text-decoration:underline}
.footer .copyright{opacity:.65}

/* Buttons */
.btn{font-weight:600;border-radius:var(--radius);padding:.375rem .75rem;font-size:1rem;line-height:1.5;transition:color .15s,background-color .15s,border-color .15s,box-shadow .15s}
.btn-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:var(--radius-sm)}
.btn-lg{padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--radius-lg)}
.btn:focus,.btn:focus-visible{outline:0;box-shadow:0 0 0 var(--focus-ring-width) var(--focus-ring)}
.btn-primary{color:#fff;background:var(--buw-green);border-color:var(--buw-green)}
.btn-primary:hover,.btn-primary:active,.btn-primary.active{color:#fff;background:var(--buw-green-hover);border-color:var(--buw-green-hover)}
.btn-primary:disabled,.btn-primary.disabled{color:#fff;background:var(--buw-green);border-color:var(--buw-green);opacity:.65}
.btn-secondary{color:#fff;background:var(--gray-600);border-color:var(--gray-600)}
.btn-secondary:hover{color:#fff;background:#5c636a;border-color:#565e64}
.btn-outline-primary{color:var(--buw-green);border-color:var(--buw-green);background:transparent}
.btn-outline-primary:hover,.btn-outline-primary:active{color:#fff;background:var(--buw-green);border-color:var(--buw-green)}
.btn-outline-success{color:var(--success);border-color:var(--success)}.btn-outline-success:hover{color:#fff;background:var(--success);border-color:var(--success)}
.btn-outline-danger{color:var(--danger);border-color:var(--danger)}.btn-outline-danger:hover{color:#fff;background:var(--danger);border-color:var(--danger)}
.btn-outline-warning{color:#cc9a06;border-color:var(--warning)}.btn-outline-warning:hover{color:#000;background:var(--warning);border-color:var(--warning)}
.btn-link{color:var(--text-link);font-weight:400;text-decoration:underline}
.btn-link:hover{color:var(--text-link-hover)}

/* Formulare */
.form-control,.form-select{display:block;width:100%;height:auto;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--text-body);background-color:var(--surface-card);border:1px solid var(--gray-400);border-radius:var(--radius);transition:border-color .15s,box-shadow .15s}
.form-control:focus,.form-select:focus{border-color:#c4dd8b;outline:0;box-shadow:0 0 0 var(--focus-ring-width) var(--focus-ring);background-color:var(--surface-card)}
.form-control::placeholder{color:var(--text-muted);opacity:1}
.form-control.is-invalid{border-color:var(--danger)}
.form-control.is-invalid:focus{box-shadow:0 0 0 var(--focus-ring-width) rgba(220,53,69,.25)}
.form-label{margin-bottom:.5rem;font-weight:500}
.form-text{margin-top:.25rem;font-size:.875rem;color:var(--text-muted)}
.form-text a[target=_blank]::after{content:"\f08e";font-family:"Font Awesome 6 Free";font-weight:900;font-size:.75em;margin-left:.3em}
.form-floating>.form-control{padding:1rem .75rem;height:calc(3.5rem + 2px)}
.form-floating>label{color:var(--text-muted)}
.form-check-input:checked{background-color:var(--buw-green);border-color:var(--buw-green)}
.form-check-input:focus{border-color:#c4dd8b;box-shadow:0 0 0 var(--focus-ring-width) var(--focus-ring)}
.input-group{background:transparent!important}
.text-danger{color:var(--danger)!important}

/* Cards */
.card{background:var(--surface-card);border:1px solid var(--border-color);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}
.card.shadow-sm{box-shadow:var(--shadow-sm)!important}
.card-header{padding:.75rem 1.25rem;background:var(--surface-tertiary);border-bottom:1px solid var(--border-color)}
.card-header.pb-0{padding-bottom:.75rem!important}
.card-header .card-title{font-size:1.5rem;font-weight:500;margin:0}
.card-header .small{margin:.25rem 0 0}
.card-body{padding:1.25rem}
.card-footer{padding:.75rem 1.25rem;background:var(--surface-tertiary);border-top:1px solid var(--border-color)}

/* Alerts */
.alert{padding:1rem;margin-bottom:1rem;border:1px solid transparent;border-radius:var(--radius)}
.alert-heading{font-size:1.25rem;font-weight:500}
.alert-danger{background:#f8d7da;border-color:#f1aeb5;color:#58151c}
.alert-success{background:#d1e7dd;border-color:#a3cfbb;color:#0a3622}
.alert-warning{background:#fff3cd;border-color:#ffe69c;color:#664d03}
.alert-info{background:#cff4fc;border-color:#9eeaf9;color:#055160}
.alert-primary{background:#e6f0cf;border-color:#cfe1a3;color:#3d520a}
.alert a{color:inherit;font-weight:600}
.alert .errorlist{margin:0;padding:0;list-style:none}

/* Tabellen, Listen, Definitionslisten */
.table{--bs-table-striped-bg:rgba(0,0,0,.035);color:var(--text-body)}
.table>:not(caption)>*>*{padding:.5rem .75rem;border-bottom-color:var(--border-color)}
.list-group-item{border-color:var(--border-color)}
.list-group-item.active{background:var(--buw-green-tint);border-color:var(--border-color);color:var(--text-body);font-weight:600}
dl.row dt{font-weight:600}

/* Navigation / Pagination / Badges */
.nav-link{color:var(--gray-600)}
.nav-link:hover,.nav-link:focus{color:var(--buw-green)}
.nav-tabs{border-bottom:1px solid var(--border-color)}
.nav-tabs .nav-link{border:0;border-bottom:2px solid transparent;font-size:1.1rem;font-weight:500;margin-bottom:-1px;border-radius:0}
.nav-tabs .nav-link.active{color:var(--text-body);font-weight:600;border-bottom-color:var(--buw-green);background:transparent}
.page-link{color:var(--buw-green)}
.page-item.active .page-link{background:var(--buw-green);border-color:var(--buw-green);color:#fff}
.page-link:focus{box-shadow:0 0 0 var(--focus-ring-width) var(--focus-ring)}
.badge.bg-primary{background-color:var(--buw-green)!important}
.dropdown-item.active,.dropdown-item:active{background:var(--buw-green)}

/* Startseite: Aktionsliste */
.buw-action-icon{color:var(--buw-green)}
.buw-action-label{font-size:1.1rem;font-weight:500}

/* Zurueck-Link ueber der Seitenueberschrift */
.buw-back{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.9rem;font-weight:500;color:var(--gray-600);text-decoration:none}
.buw-back i{font-size:.8em;transition:transform .15s}
.buw-back:hover,.buw-back:focus-visible{color:var(--buw-green-dark)}
.buw-back:hover i{transform:translateX(-3px)}
