/* ==========================================================
   Seeland Office – Design 2026
   Ruhig, klar, dezent. Wird nach css.cms.main.css geladen.
   ========================================================== */
:root{
  --o26-bg:#f6f7f9;
  --o26-surface:#ffffff;
  --o26-line:#e3e6ea;
  --o26-line-strong:#cfd5dc;
  --o26-text:#1f2933;
  --o26-muted:#6b7682;
  --o26-accent:#1e4e79;      /* Seeland-Blau */
  --o26-accent-soft:#eef3f8;
  --o26-radius:8px;
  --o26-top:56px;
  --o26-nav:272px;
}

html{ -webkit-text-size-adjust:100%; }
body{
  background:var(--o26-bg);
  color:var(--o26-text);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  font-size:15px;
  font-weight:400;
  line-height:1.5;
}
a{ color:var(--o26-accent); }

/* ---------- Kopfzeile ---------- */
.o26-top{
  position:fixed; top:0; left:0; right:0; z-index:30;
  height:var(--o26-top);
  display:flex; align-items:center; gap:16px;
  padding:0 20px;
  background:var(--o26-surface);
  border-bottom:1px solid var(--o26-line);
}
.o26-brand img{ height:26px; display:block; }
.o26-clock{ color:var(--o26-muted); font-size:14px; }
.o26-user{ margin-left:auto; display:flex; align-items:center; gap:4px; }
.o26-link{
  color:var(--o26-text); text-decoration:none;
  padding:8px 12px; border-radius:6px; font-size:14px; white-space:nowrap;
}
.o26-link:hover{ background:var(--o26-accent-soft); color:var(--o26-accent); }
.o26-logout{ color:var(--o26-muted); }

/* Hamburger */
.o26-burger{
  display:none; width:40px; height:40px; padding:9px 8px;
  background:none; border:1px solid var(--o26-line); border-radius:6px; cursor:pointer;
}
.o26-burger span{ display:block !important; width:22px !important; height:2px !important; margin:4px auto !important; padding:0 !important; background:var(--o26-text) !important; border-radius:2px; }
.o26-nav-foot a{ color:var(--o26-text); text-decoration:none; font-weight:600; }

/* ---------- Navigation ---------- */
.o26-nav{
  position:fixed; z-index:20;
  top:var(--o26-top); left:0; bottom:0;
  width:var(--o26-nav);
  overflow-y:auto;
  background:var(--o26-surface);
  border-right:1px solid var(--o26-line);
  padding:12px 0 24px;
}
.o26-menu, .o26-menu ul{ list-style:none; margin:0; padding:0; }
.o26-group > .o26-group-btn{
  display:flex; align-items:center;
  padding:11px 20px;
  color:var(--o26-text); text-decoration:none;
  font-size:13px; font-weight:600; letter-spacing:.04em; text-transform:uppercase;
  background-image:none !important;
}
.o26-group > .o26-group-btn::after{
  content:""; margin-left:auto; width:7px; height:7px;
  border-right:1.5px solid var(--o26-muted); border-bottom:1.5px solid var(--o26-muted);
  transform:rotate(45deg); transition:transform .15s;
}
.o26-group.is-open > .o26-group-btn::after{ transform:rotate(225deg); }
.o26-group > .o26-group-btn:hover{ background-color:var(--o26-bg); }
.o26-group > ul.sub-menu{ display:none; padding:2px 0 8px; }
.o26-group.is-open > ul.sub-menu{ display:block; }
.o26-group ul.sub-menu a{
  display:block; padding:7px 20px 7px 32px;
  color:var(--o26-text); text-decoration:none; font-size:14px;
  background-image:none !important;
  border-left:3px solid transparent;
}
.o26-group ul.sub-menu a nobr{ white-space:normal; }
.o26-group ul.sub-menu a:hover{ background-color:var(--o26-bg); }
.o26-group ul.sub-menu a.is-active{
  background-color:var(--o26-accent-soft); color:var(--o26-accent);
  border-left-color:var(--o26-accent); font-weight:600;
}
.o26-nav-foot{ margin:16px 20px 0; padding-top:12px; border-top:1px solid var(--o26-line); color:var(--o26-muted); font-size:12px; }
.o26-overlay{ display:none; }

/* ---------- Inhalt ---------- */
.o26-main{
  margin-top:var(--o26-top);
  margin-left:var(--o26-nav);
  padding:24px 28px 48px;
  overflow-x:auto;
}
.o26-toplink{ display:inline-block; margin-top:24px; color:var(--o26-muted); font-size:13px; text-decoration:none; }

/* Alte absolute Positionierung neutralisieren */
.admin_content, .main_content{ position:static !important; width:auto !important; height:auto !important; border:0 !important; overflow:visible !important; }

/* Überschriften und Balken */
h2{ font-size:18px; font-weight:600; margin:0 0 12px; }
.h2_cms{
  background:none !important; color:var(--o26-text) !important;
  font-size:18px; font-weight:600;
  padding:4px 0 10px !important; margin:8px 0 16px !important;
  border-bottom:1px solid var(--o26-line);
}

/* Hinweise: dezent, ohne Grün und Rot */
.o26-note, .h2_green, .h2_red, .span_error, .span_message_ok{
  display:block;
  background:var(--o26-surface) !important; color:var(--o26-text) !important;
  border:1px solid var(--o26-line); border-left:3px solid var(--o26-accent);
  border-radius:6px;
  padding:10px 14px !important; margin:0 0 16px !important;
  font-size:14px !important; font-weight:400;
}
.o26-note-attention, .h2_red, .span_error{ border-left-color:var(--o26-muted); }

/* Tabellen */
.cst_table, .cst_formular{
  border-collapse:separate; border-spacing:0;
  background:var(--o26-surface);
  border:1px solid var(--o26-line); border-radius:var(--o26-radius);
  overflow:hidden; max-width:100%;
}
.cst_table td, .cst_formular td{ border:0; border-bottom:1px solid var(--o26-line); padding:10px 12px; }
.cst_table tr:last-child td, .cst_formular tr:last-child td{ border-bottom:0; }
.cst_table tr:hover{ background:var(--o26-bg); border:0; }
.cst_table td.ue{
  background:var(--o26-bg) !important; color:var(--o26-muted) !important;
  font-size:12px; font-weight:600; letter-spacing:.04em; text-transform:uppercase;
}
.cst_table td.ue a{ color:var(--o26-muted); }
.cst_table td.ue a.active{ color:var(--o26-accent); }
.cst_formular td[style*="b9d9eb"]{ background:var(--o26-surface) !important; }

/* Formulare */
input, select, textarea{ font:inherit; color:inherit; }
.cst_formular input, .cst_formular select, .cst_formular textarea, .login_textfeld{
  border:1px solid var(--o26-line-strong) !important; border-radius:6px;
  padding:9px 11px !important; background:#fff; box-sizing:border-box; max-width:100%;
}
.cst_formular input:focus, .cst_formular select:focus, .cst_formular textarea:focus, .login_textfeld:focus{
  outline:none; border-color:var(--o26-accent) !important; box-shadow:0 0 0 3px var(--o26-accent-soft);
}
input[type=submit], input[type=button], .button_submit{
  background:var(--o26-accent) !important; color:#fff !important;
  border:0 !important; border-radius:6px; padding:10px 18px !important; cursor:pointer;
}
input[type=submit]:hover, .button_submit:hover{ filter:brightness(1.1); }
.min_button{ border:1px solid var(--o26-line); border-radius:4px; color:var(--o26-muted); padding:3px 8px; }

/* Anmeldung */
.div_login{ border-radius:var(--o26-radius); }

/* ---------- Handy und Tablet ---------- */
@media (max-width:1100px){
  .o26-burger{ display:block; }
  .o26-clock{ display:none; }
  .o26-nav{
    transform:translateX(-100%); transition:transform .2s ease;
    width:min(86vw, 320px); box-shadow:none;
  }
  body.o26-nav-open .o26-nav{ transform:none; box-shadow:0 0 24px rgba(0,0,0,.12); }
  body.o26-nav-open .o26-overlay{ display:block; position:fixed; inset:0; z-index:15; background:rgba(15,23,32,.25); }
  .o26-main{ margin-left:0; padding:16px; }
}
@media (max-width:560px){
  .o26-top{ padding:0 12px; gap:10px; }
  .o26-link{ padding:8px; }
  .o26-user .o26-mail, .o26-user .o26-name{ display:none; }
  .cst_formular td{ display:block; width:auto !important; border-bottom:0; }
  .cst_formular tr{ display:block; border-bottom:1px solid var(--o26-line); }
}

/* ---------- Symbole, Karten, Knoepfe (Pruefcenter) ---------- */
.o26-ico{ display:inline-block; vertical-align:middle; color:var(--o26-muted); transition:color .15s; }
a:hover > .o26-ico{ color:var(--o26-accent); }
a:hover > .o26-ico-kill{ color:#9b2c2c; }
.o26-card{ background:var(--o26-surface); border:1px solid var(--o26-line); border-radius:var(--o26-radius); padding:16px 18px; margin:0 0 16px; max-width:900px; }
.o26-card-head{ display:flex; justify-content:space-between; gap:12px; margin-bottom:4px; }
.o26-card-head span, .o26-meta{ color:var(--o26-muted); font-size:13px; }
.o26-text{ margin:10px 0; white-space:normal; }
.o26-reasons{ background:var(--o26-bg); border-radius:6px; padding:8px 12px; font-size:14px; }
.o26-reasons ul{ margin:4px 0 0; padding-left:18px; }
.o26-actions{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:12px; }
.o26-actions input[type=password]{ border:1px solid var(--o26-line-strong); border-radius:6px; padding:9px 10px; }
.o26-btn{ display:inline-block; background:var(--o26-accent); color:#fff !important; border:0; border-radius:6px; padding:9px 16px; font:inherit; font-size:14px; cursor:pointer; text-decoration:none; }
.o26-btn-quiet{ background:var(--o26-surface); color:var(--o26-text) !important; border:1px solid var(--o26-line-strong); }
.o26-btn-danger{ background:#7f2a2a; }
