/*
 * BAM-Nachbildung für die Demo (Runde 3, 7.2). BAM setzt auf dem HTML-Template „Limitless v3“ (Bootstrap 3) auf (bootstrap.min.css, core.min.css,
 * components.min.css, colors.min.css, icomoon). Diese Datei baut nur die Optik der Klassen nach, die das Frühstücksmodul benutzt,
 * mit denselben Klassennamen: eingebettet in BAM (standalone = false) kommt sie NICHT mit, dort gelten BAMs eigene Stylesheets.
 * Keine BAM-Dateien kopiert. Icons: icomoon-Namen (icon-…) mit einfachen Unicode-Zeichen nachgestellt.
 */
:root { --bam-sidebar: #263238; --bam-sidebar-hover: #2f3c44; --bam-navbar: #c8102e; --bam-body: #eceff1; --bam-text: #333; --bam-muted: #999;
  --bam-primary: #2196f3; --bam-success: #4caf50; --bam-warning: #ff7043; --bam-danger: #f44336; --bam-info: #00bcd4; --bam-teal: #009688; --bam-border: #ddd; }
* { box-sizing: border-box; }
html { font-size: 13px; }
body { margin: 0; font: 13px/1.5385 "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif; color: var(--bam-text); background: var(--bam-body); -webkit-text-size-adjust: 100%; }
h1, h2, h3, h4, h5, h6 { font-weight: 400; margin: 0 0 10px; line-height: 1.2; }
h4 { font-size: 19px; } h5 { font-size: 17px; } h6 { font-size: 15px; } h3 { font-size: 21px; }
p { margin: 0 0 10px; }
a { color: #1e88e5; text-decoration: none; } a:hover { text-decoration: underline; }
small, .small { font-size: 12px; }
hr { border: 0; border-top: 1px solid var(--bam-border); margin: 20px 0; }
ul, ol { margin: 0 0 10px; padding-left: 25px; }
label { font-weight: 500; display: inline-block; margin-bottom: 5px; }
table { border-collapse: collapse; }
b, strong, .text-semibold { font-weight: 500; }
.text-bold { font-weight: 700; }
.text-muted { color: var(--bam-muted); } .text-danger { color: var(--bam-danger); } .text-success { color: var(--bam-success); } .text-warning { color: var(--bam-warning); } .text-primary { color: var(--bam-primary); } .text-info { color: var(--bam-info); }
.text-size-mini { font-size: 10px; } .text-size-small { font-size: 12px; } .text-size-base { font-size: 13px; } .text-size-large { font-size: 15px; }
.text-default { color: var(--bam-text); } .text-center { text-align: center; } .text-right { text-align: right; } .text-nowrap { white-space: nowrap; } .text-uppercase { text-transform: uppercase; }
.no-margin { margin: 0 !important; } .no-margin-top { margin-top: 0 !important; } .no-margin-bottom { margin-bottom: 0 !important; } .no-padding { padding: 0 !important; } .no-border { border: 0 !important; }
.mt-5 { margin-top: 5px; } .mt-10 { margin-top: 10px; } .mt-15 { margin-top: 15px; } .mt-20 { margin-top: 20px; } .mb-5 { margin-bottom: 5px; } .mb-10 { margin-bottom: 10px; } .mb-15 { margin-bottom: 15px; } .mb-20 { margin-bottom: 20px; }
.ml-5 { margin-left: 5px; } .ml-10 { margin-left: 10px; } .mr-5 { margin-right: 5px; } .mr-10 { margin-right: 10px; } .pt-5 { padding-top: 5px; } .py-2 { padding-top: 2px; padding-bottom: 2px; }
.position-left { margin-right: 7px; } .position-right { margin-left: 7px; }
.display-block { display: block; } .display-inline-block { display: inline-block; } .pull-right { float: right; } .pull-left { float: left; } .clearfix::after { content: ""; display: table; clear: both; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.hidden { display: none !important; } [hidden] { display: none !important; }

/* Grid */
.container-fluid { padding: 0 20px; }
.row { margin-left: -10px; margin-right: -10px; } .row::after { content: ""; display: table; clear: both; }
[class*="col-"] { position: relative; min-height: 1px; padding-left: 10px; padding-right: 10px; float: left; width: 100%; }
.col-xs-1 { width: 8.3333%; } .col-xs-2 { width: 16.6667%; } .col-xs-3 { width: 25.0%; } .col-xs-4 { width: 33.3333%; } .col-xs-5 { width: 41.6667%; } .col-xs-6 { width: 50.0%; } .col-xs-7 { width: 58.3333%; } .col-xs-8 { width: 66.6667%; } .col-xs-9 { width: 75.0%; } .col-xs-10 { width: 83.3333%; } .col-xs-11 { width: 91.6667%; } .col-xs-12 { width: 100.0%; }
@media (min-width: 768px) { .col-sm-1 { width: 8.3333%; } .col-sm-2 { width: 16.6667%; } .col-sm-3 { width: 25.0%; } .col-sm-4 { width: 33.3333%; } .col-sm-5 { width: 41.6667%; } .col-sm-6 { width: 50.0%; } .col-sm-7 { width: 58.3333%; } .col-sm-8 { width: 66.6667%; } .col-sm-9 { width: 75.0%; } .col-sm-10 { width: 83.3333%; } .col-sm-11 { width: 91.6667%; } .col-sm-12 { width: 100.0%; } }
@media (min-width: 992px) { .col-md-1 { width: 8.3333%; } .col-md-2 { width: 16.6667%; } .col-md-3 { width: 25.0%; } .col-md-4 { width: 33.3333%; } .col-md-5 { width: 41.6667%; } .col-md-6 { width: 50.0%; } .col-md-7 { width: 58.3333%; } .col-md-8 { width: 66.6667%; } .col-md-9 { width: 75.0%; } .col-md-10 { width: 83.3333%; } .col-md-11 { width: 91.6667%; } .col-md-12 { width: 100.0%; } }
@media (min-width: 1200px) { .col-lg-1 { width: 8.3333%; } .col-lg-2 { width: 16.6667%; } .col-lg-3 { width: 25.0%; } .col-lg-4 { width: 33.3333%; } .col-lg-5 { width: 41.6667%; } .col-lg-6 { width: 50.0%; } .col-lg-7 { width: 58.3333%; } .col-lg-8 { width: 66.6667%; } .col-lg-9 { width: 75.0%; } .col-lg-10 { width: 83.3333%; } .col-lg-11 { width: 91.6667%; } .col-lg-12 { width: 100.0%; } }
@media (max-width: 767px) { .hidden-xs { display: none !important; } }
@media (min-width: 768px) { .visible-xs-block, .visible-xs-inline-block { display: none !important; } }

/* Navbar */
.navbar { position: relative; min-height: 46px; margin-bottom: 0; }
.navbar-inverse { background: var(--bam-navbar); color: #fff; }
.navbar-fixed-top { position: fixed; top: 0; left: 0; right: 0; z-index: 1030; }
.navbar-top { padding-top: 46px; }
.navbar-header { float: left; }
.navbar-brand { float: left; height: 46px; padding: 12px 20px; font-size: 17px; line-height: 22px; color: #fff; }
.navbar-brand:hover { color: #fff; text-decoration: none; }
.navbar-inverse .text-black { color: #fff; }
.nav { list-style: none; margin: 0; padding: 0; }
.navbar-nav { float: left; margin: 0; } .navbar-nav > li { float: left; } .navbar-right { float: right; }
.navbar-nav > li > a { display: block; padding: 12px 15px; line-height: 22px; color: #fff; opacity: .9; }
.navbar-nav > li > a:hover, .navbar-nav > li.active > a { opacity: 1; background: rgba(0,0,0,.1); text-decoration: none; }
.navbar-text { float: left; margin: 12px 15px; color: #fff; }
.navbar-collapse { display: block; }

/* Page container with sidebar */
.page-container { position: relative; }
.page-content { display: flex; }
.sidebar { width: 260px; flex: 0 0 260px; background: var(--bam-sidebar); color: #fff; min-height: calc(100vh - 46px); }
.sidebar-content { padding-bottom: 20px; }
.sidebar-user { padding: 20px; border-bottom: 1px solid rgba(255,255,255,.1); }
.sidebar-user .media-body { font-size: 13px; } .sidebar-user .text-muted { color: rgba(255,255,255,.6); }
.sidebar-category { padding: 0; }
.navigation { list-style: none; margin: 0; padding: 10px 0; }
.navigation > li > a, .navigation li li a { display: block; padding: 11px 20px; color: rgba(255,255,255,.75); }
.navigation li a:hover { background: var(--bam-sidebar-hover); color: #fff; text-decoration: none; }
.navigation li.active > a { background: var(--bam-primary); color: #fff; }
.navigation li li a { padding-left: 50px; font-size: 12px; }
.navigation .navigation-header { padding: 10px 20px; font-size: 11px; color: rgba(255,255,255,.5); text-transform: uppercase; }
.navigation > li > a > i, .navigation li li a > i { display: inline-block; width: 24px; }
.navigation > li > ul { list-style: none; margin: 0; padding: 0; background: rgba(0,0,0,.15); }
.content-wrapper { flex: 1 1 auto; min-width: 0; }
.page-header-content { background: #fff; border-bottom: 1px solid var(--bam-border); padding: 20px 20px 0; }
.page-title { padding-bottom: 20px; }
.page-title h4 { margin: 0; } .page-title small { display: block; margin-top: 6px; color: var(--bam-muted); font-size: 13px; }
.page-title .lead { font-size: 15px; margin: 8px 0 0; font-weight: 400; color: var(--bam-text); }
.content { padding: 20px; }
@media (max-width: 991px) {
  .page-content { display: block; }
  .sidebar { width: 100%; flex: none; min-height: 0; }
  .sidebar .navigation { display: flex; flex-wrap: wrap; padding: 4px; }
  .sidebar .navigation > li { flex: 1 1 auto; } .sidebar .navigation > li > a { padding: 9px 12px; white-space: nowrap; }
  .sidebar .navigation > li > ul { display: none; } .sidebar .navigation-header, .sidebar-user { display: none; }
  .content { padding: 12px 16px; } .page-header-content { padding: 14px 16px 0; } .page-title { padding-bottom: 12px; }
}

/* Panels */
.panel { background: #fff; border: 1px solid var(--bam-border); border-radius: 3px; margin-bottom: 20px; }
.panel-flat { border-width: 0; box-shadow: 0 1px 2px rgba(0,0,0,.08); } .panel-white { border-color: var(--bam-border); }
.panel-heading { padding: 15px 20px; border-bottom: 1px solid #eee; position: relative; }
.panel-heading + .panel-body { padding-top: 15px; }
.panel-title { margin: 0; font-size: 15px; display: inline-block; }
.panel-title.text-semibold { font-weight: 500; }
.heading-elements, .heading-elements.not-collapsible { position: absolute; right: 20px; top: 50%; transform: translateY(-50%); display: flex; gap: 6px; align-items: center; }
.panel-body { padding: 20px; }
.panel-body > :last-child { margin-bottom: 0; }
.panel-footer { padding: 10px 20px; border-top: 1px solid #eee; background: #fcfcfc; }
.panel-success > .panel-heading { background: var(--bam-success); color: #fff; border-color: var(--bam-success); }
.panel-danger > .panel-heading { background: var(--bam-danger); color: #fff; }
.panel-warning > .panel-heading { background: var(--bam-warning); color: #fff; }
.panel-primary > .panel-heading { background: var(--bam-primary); color: #fff; }
.panel-flat.panel-danger, .panel-flat.panel-success { border: 0; }
@media (max-width: 767px) { .panel-body, .panel-heading { padding: 14px 16px; } .heading-elements { position: static; transform: none; margin-top: 8px; flex-wrap: wrap; } }

/* Tables */
.table { width: 100%; max-width: 100%; margin-bottom: 20px; }
.table > thead > tr > th, .table > tbody > tr > th, .table > tbody > tr > td, .table > tfoot > tr > td { padding: 12px 20px; border-top: 1px solid #eee; vertical-align: top; text-align: left; }
.table > thead > tr > th { border-top: 0; border-bottom: 1px solid #ddd; font-weight: 500; }
.table-xs > thead > tr > th, .table-xs > tbody > tr > td, .table-xs > tbody > tr > th { padding: 8px 12px; }
.table-hover > tbody > tr:hover { background: #f5f5f5; }
.table .active > td, .table tr.active > th { background: #f5f5f5; }
.table .success > td { background: #e8f5e9; } .table .warning > td { background: #fff3e0; } .table .danger > td { background: #ffebee; } .table .info > td { background: #e0f7fa; }
.table .text-right, .table th.text-right { text-align: right; }
.table-responsive { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.table tr.group-row > th { background: #fafafa; font-weight: 500; }
.panel > .table-responsive > .table, .panel > .table { margin-bottom: 0; }

/* Buttons */
.btn { display: inline-block; padding: 9px 17px; font-size: 13px; line-height: 1.5385; font-weight: 400; text-align: center; border: 1px solid transparent; border-radius: 3px; cursor: pointer; background: #fff; color: var(--bam-text); vertical-align: middle; user-select: none; text-decoration: none; min-height: 38px; }
.btn:hover { text-decoration: none; opacity: .92; } .btn:focus-visible { outline: 2px solid var(--bam-primary); outline-offset: 2px; }
.btn:disabled, .btn.disabled { opacity: .5; cursor: not-allowed; }
.btn-default { border-color: var(--bam-border); background: #fcfcfc; color: var(--bam-text); } .btn-default:hover { background: #f5f5f5; }
.btn-primary { background: var(--bam-primary); color: #fff; } .btn-success { background: var(--bam-success); color: #fff; } .btn-danger { background: var(--bam-danger); color: #fff; } .btn-warning { background: var(--bam-warning); color: #fff; } .btn-info { background: var(--bam-info); color: #fff; }
.bg-teal { background: var(--bam-teal); color: #fff; } .bg-warning-400 { background: #ff7043; color: #fff; } .bg-info-400 { background: #26c6da; color: #fff; }
.btn-link { background: none; border: 0; color: #1e88e5; padding-left: 6px; padding-right: 6px; } .btn-link:hover { text-decoration: underline; }
.btn-xs { padding: 4px 9px; font-size: 12px; min-height: 0; } .btn-sm { padding: 7px 13px; font-size: 12px; } .btn-lg { padding: 11px 20px; font-size: 14px; }
.btn-block { display: block; width: 100%; }
.btn-group { display: inline-flex; vertical-align: middle; } .btn-group > .btn + .btn { margin-left: -1px; }
.btn-group > .btn:not(:first-child) { border-top-left-radius: 0; border-bottom-left-radius: 0; } .btn-group > .btn:not(:last-child) { border-top-right-radius: 0; border-bottom-right-radius: 0; }
.btn-group > .btn.active { background: #37474f; color: #fff; border-color: #37474f; }
@media (max-width: 767px) { .btn { min-height: 44px; padding-top: 11px; padding-bottom: 11px; } .btn-xs { min-height: 36px; padding-top: 8px; padding-bottom: 8px; } }

/* Labels, badges, alerts */
.label { display: inline-block; padding: 2px 6px; font-size: 10px; font-weight: 500; line-height: 1.5385; color: #fff; text-align: center; white-space: nowrap; border-radius: 2px; vertical-align: middle; text-transform: uppercase; letter-spacing: .3px; }
.label-default { background: #999; } .label-primary { background: var(--bam-primary); } .label-success { background: var(--bam-success); } .label-info { background: var(--bam-info); } .label-warning { background: var(--bam-warning); } .label-danger { background: var(--bam-danger); }
.label-flat { background: transparent; border: 1px solid currentColor; color: #777; } .label-flat.label-danger { color: var(--bam-danger); } .label-flat.label-warning { color: var(--bam-warning); } .label-flat.label-success { color: var(--bam-success); }
.badge { display: inline-block; min-width: 18px; padding: 2px 6px; font-size: 11px; font-weight: 500; line-height: 1; color: #fff; background: #999; border-radius: 10px; text-align: center; }
.badge-danger { background: var(--bam-danger); } .badge-success { background: var(--bam-success); } .badge-warning { background: var(--bam-warning); } .badge-info { background: var(--bam-info); }
.alert { padding: 12px 15px; margin-bottom: 20px; border: 1px solid transparent; border-radius: 3px; }
.alert-success { background: #e8f5e9; color: #1b5e20; border-color: #c8e6c9; } .alert-warning { background: #fff3e0; color: #e65100; border-color: #ffe0b2; } .alert-danger { background: #ffebee; color: #b71c1c; border-color: #ffcdd2; } .alert-info { background: #e1f5fe; color: #01579b; border-color: #b3e5fc; }
.alert .btn { margin-left: 10px; }

/* Forms */
.form-group { margin-bottom: 20px; }
.form-control { display: block; width: 100%; height: 38px; padding: 8px 12px; font-size: 13px; line-height: 1.5385; color: var(--bam-text); background: #fff; border: 1px solid var(--bam-border); border-radius: 3px; }
.form-control:focus { border-color: var(--bam-primary); outline: 0; box-shadow: 0 0 0 2px rgba(33,150,243,.2); }
textarea.form-control { height: auto; }
select.form-control { appearance: auto; }
.input-sm { height: 32px; padding: 5px 10px; font-size: 12px; } .input-xs { height: 30px; padding: 4px 8px; width: 5.5em; display: inline-block; text-align: right; }
.form-control.has-error, .has-error .form-control { border-color: var(--bam-danger); }
.help-block { display: block; margin-top: 5px; color: var(--bam-muted); font-size: 12px; }
.checkbox, .radio { position: relative; display: block; margin: 8px 0; } .checkbox label, .radio label { font-weight: 400; cursor: pointer; display: flex; gap: 10px; align-items: flex-start; min-height: 44px; padding: 10px 0; margin: 0; }
.checkbox input, .radio input { width: 24px; height: 24px; margin: 0; flex: 0 0 24px; }
.checkbox.active label { color: var(--bam-muted); text-decoration: line-through; }
.checkbox-inline { display: inline-flex; gap: 8px; align-items: center; font-weight: 400; margin-right: 15px; }
.checkbox-inline input { width: 18px; height: 18px; }
.form-inline .form-group { display: inline-block; margin-right: 10px; vertical-align: middle; } .form-inline .form-control { display: inline-block; width: auto; }
.input-group { display: flex; } .input-group .form-control { flex: 1 1 auto; border-radius: 3px 0 0 3px; } .input-group-btn .btn { border-radius: 0 3px 3px 0; height: 38px; }
legend { font-size: 15px; padding: 0; margin-bottom: 15px; border: 0; width: 100%; }
fieldset { border: 0; padding: 0; margin: 0; }

/* Lists, media, navs */
.list-group { margin: 0 0 20px; padding: 0; list-style: none; } .list-group-item { position: relative; display: block; padding: 10px 15px; background: #fff; border: 1px solid #eee; margin-bottom: -1px; }
.list-group-item.active { background: #e3f2fd; border-color: #bbdefb; }
.list-feed { list-style: none; padding: 0; margin: 0; } .list-feed > li { padding: 6px 0 6px 24px; position: relative; border-left: 2px solid #eee; margin-left: 6px; } .list-feed > li::before { content: ""; position: absolute; left: -6px; top: 10px; width: 10px; height: 10px; border-radius: 50%; background: #ccc; }
.nav-tabs { display: flex; flex-wrap: wrap; list-style: none; margin: 0 0 20px; padding: 0; border-bottom: 1px solid var(--bam-border); }
.nav-tabs > li > a { display: block; padding: 10px 15px; color: #777; border-bottom: 2px solid transparent; margin-bottom: -1px; } .nav-tabs > li > a:hover { color: var(--bam-text); text-decoration: none; }
.nav-tabs > li.active > a { color: var(--bam-primary); border-bottom-color: var(--bam-primary); }
.nav-tabs-bottom { border-bottom: 0; }
.media { display: flex; gap: 12px; } .media-body { flex: 1 1 auto; }
.progress { height: 18px; margin-bottom: 0; background: #eee; border-radius: 2px; overflow: hidden; }
.progress-bar { float: left; height: 100%; font-size: 11px; line-height: 18px; color: #fff; text-align: center; background: var(--bam-primary); min-width: 2em; }
.progress-bar-success { background: var(--bam-success); } .progress-bar-warning { background: var(--bam-warning); } .progress-bar-danger { background: var(--bam-danger); }
.well { padding: 15px; background: #fafafa; border: 1px solid #eee; border-radius: 3px; margin-bottom: 20px; }
pre { font: 12px/1.5 Menlo, Consolas, monospace; background: #fafafa; border: 1px solid #eee; padding: 10px; border-radius: 3px; white-space: pre-wrap; }
.thumbnail { display: block; padding: 4px; background: #fff; border: 1px solid #ddd; border-radius: 3px; margin-bottom: 20px; } .thumbnail img { max-width: 100%; height: auto; display: block; }
.caption { padding: 10px; }
.content-group { margin-bottom: 20px; } .content-group-sm { margin-bottom: 10px; }
.stat-number { font-size: 26px; font-weight: 300; line-height: 1; } .stat-label { display: block; font-size: 11px; color: var(--bam-muted); text-transform: uppercase; margin-top: 4px; }

/* Icons (icomoon-Namen, in BAM echte Schriftzeichen) */
[class^="icon-"], [class*=" icon-"] { display: inline-block; font-style: normal; width: 1.2em; text-align: center; }
.icon-home4::before { content: "⌂"; } .icon-mug::before { content: "☕"; } .icon-cart::before { content: "🛒"; } .icon-cog::before { content: "⚙"; } .icon-question3::before { content: "?"; font-weight: 700; }
.icon-calendar::before { content: "📅"; } .icon-clipboard3::before { content: "📋"; } .icon-menu::before { content: "≡"; } .icon-search4::before { content: "🔍"; } .icon-stack::before { content: "☰"; }
.icon-user::before { content: "👤"; } .icon-checkmark3::before { content: "✓"; } .icon-cross2::before { content: "✕"; } .icon-arrow-left8::before { content: "←"; } .icon-arrow-right8::before { content: "→"; }
.icon-printer::before { content: "🖨"; } .icon-truck::before { content: "🚚"; } .icon-alarm::before { content: "⏰"; } .icon-warning::before { content: "⚠"; } .icon-filter4::before { content: "⚲"; } .icon-plus2::before { content: "+"; } .icon-pencil::before { content: "✎"; }
.icon-chef::before { content: "🍳"; } .icon-bubbles4::before { content: "💬"; } .icon-stats-growth::before { content: "📈"; } .icon-book::before { content: "📖"; } .icon-phone::before { content: "☎"; } .icon-envelop::before { content: "✉"; } .icon-basket::before { content: "🧺"; }

/* Print */
@media print { .navbar, .sidebar, .page-header-content .heading-elements, .btn { display: none !important; } .navbar-top { padding-top: 0; } .panel { box-shadow: none; border: 1px solid #ccc; } }

/* Küchentablet und Handy: feste Leiste würde den Titel verdecken, also fließend; große Ziele */
@media (max-width: 767px) {
  .navbar-fixed-top { position: static; } .navbar-top { padding-top: 0; }
  .navbar-header { float: none; } .navbar-collapse { clear: both; padding: 0 6px 4px; } .navbar-nav { float: none; display: flex; flex-wrap: wrap; } .navbar-right { float: none; }
  .navbar-nav > li > a { padding: 8px 10px; line-height: 20px; } .navbar-text { display: none; }
  .table-xs > tbody > tr > td { padding: 10px 12px; }
  .page-title h4 .btn-group { display: block; margin: 8px 0 0; }
  .form-inline .form-group, .form-inline .form-control { display: block; width: 100%; margin: 0 0 8px; }
  .form-inline .btn-group { display: flex; } .form-inline .btn-group .btn { flex: 1 1 auto; }
  .input-group { width: 100%; }
  .stat-number { font-size: 22px; }
  .pull-right { float: none; display: inline-block; margin-top: 8px; }
}
