/* KMSVI Kundenportal 1.4.1 – Corporate Identity und Anmeldeseite
   Farbwerte (--kmsvi-*) bleiben aus theme.php / Werkstattmanager-Einstellungen steuerbar. */
:root {
  --ink:#29231e;
  --muted:#756d65;
  --olive:#27211d;
  --olive-2:#44352c;
  --green:#b54e1d;
  --green-2:#a64217;
  --cream:var(--kmsvi-background,#f7f4ef);
  --line:#e6ddd3;
  --shadow:0 14px 36px rgba(42,31,22,.055);
  --amber:#aa5a14;
  --radius:16px;
}
body { background:var(--kmsvi-background,#f7f4ef)!important; color:var(--ink); }
.app-main { background:var(--kmsvi-background,#f7f4ef)!important; }
.sidebar { background:var(--kmsvi-navigation,#27211d)!important;color:#f6ede4!important; }
.side-section-label { color:#c6a78f!important; }
.side-nav .nav-link, .side-bottom .nav-link { color:#f1e8de; }
.side-nav .nav-link:hover, .side-bottom .nav-link:hover { background:rgba(255,255,255,.12);color:#fff; }
.side-nav .nav-link.active, .side-bottom .nav-link.active { background:var(--kmsvi-navigation-active,#784120)!important;color:#fff; }
.side-bottom { border-color:rgba(255,255,255,.18); }
.side-slogan,.brand-subtitle { color:#e6c8b0!important; }
.side-slogan strong { color:#fff!important; }
.kmsvi-brand-unit { display:flex;align-items:center;justify-content:center;gap:11px;text-align:left; }
.kmsvi-brand-logo { display:grid;place-items:center;background:#fff;border-radius:13px;box-shadow:0 5px 22px rgba(0,0,0,.15);width:65px;height:65px;flex:0 0 65px;overflow:hidden; }
.kmsvi-brand-logo img { display:block;width:100%;height:100%;object-fit:contain; }
.kmsvi-brand-name { display:grid;gap:5px;line-height:1.1; }
.kmsvi-brand-name strong { color:#fff;font-size:27px;letter-spacing:1.25px;line-height:1; }
.kmsvi-brand-name small { color:#f8d6b9;font-size:10px;letter-spacing:1.3px;text-transform:uppercase;font-weight:750; }
.brand { margin:5px 0 45px!important;padding:0 8px; }
.topbar { border-bottom-color:#eadfd4;background:rgba(255,252,248,.94); }
.topbar .icon-btn, .topbar .topbar-page { color:#29231e; }
.avatar { background:#fce6d4;color:#813e1d; }
.secure-chip { color:#6e6358; }
.panel,.metric,.device-card { border-color:var(--line);box-shadow:var(--shadow); }
.btn-primary,.compose-form .btn-primary { background:var(--kmsvi-button,#b54e1d)!important;color:#fff!important; }
.btn-primary:hover,.compose-form .btn-primary:hover { filter:brightness(.91); }
.btn-outline { color:var(--kmsvi-button,#b54e1d);border-color:#e2c7b5; }
.btn-soft { background:#f9eee4;color:#914c29; }
.eyebrow,.mini-link,.text-link,.hero-link { color:var(--kmsvi-button,#b54e1d)!important; }
.progress-fill { background:linear-gradient(90deg,#f6ae54,var(--kmsvi-accent,#f28b22)); }
.metric-icon,.small-avatar { background:#fff0e1;color:#9c4e22; }
.quick-actions a { background:#f9f0e8; }
.quick-actions a:hover { background:#f4e2d1; }
.quick-actions a .icon,.panel-label .icon { color:#ad5824; }
.pill-amber { background:#ffeddb;color:#944514; }
.hero { background:linear-gradient(105deg,#fff7ef 5%,#faf1e5 65%,#f5e2cf 100%);border:1px solid #ecdac9;border-top:3px solid var(--kmsvi-accent,#f28b22); }
.hero p { color:#6d5f53; }
.mobile-tabbar a.active { color:var(--kmsvi-button,#b54e1d)!important; }
/* Zweispaltige Premium-Anmeldung, Bildanlage mit Thermomix und KVA */
.auth-body { background:#f8f4ef; }
.auth-layout { grid-template-columns:minmax(340px,1.03fr) minmax(390px,1fr); }
.auth-visual { background:#261e18;position:relative;isolation:isolate;overflow:hidden;padding:44px clamp(30px,5vw,90px);min-height:100vh;justify-content:space-between; }
.auth-visual:before { display:none; }
.auth-photo { position:absolute;inset:0;z-index:-2;overflow:hidden; }
.auth-photo img { height:100%;width:100%;object-fit:cover;object-position:56% center;display:block;transform:scale(1.015); }
.auth-visual:after { content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(24,20,17,.55) 0%,rgba(24,20,17,.07) 34%,rgba(18,13,10,.15) 54%,rgba(21,15,11,.94) 100%);pointer-events:none; }
.auth-brand.kmsvi-auth-brand { display:flex;gap:14px;align-items:center;letter-spacing:0;position:relative;z-index:1;max-width:380px; }
.kmsvi-auth-logo { width:75px;height:75px;flex:0 0 75px;display:block;border:3px solid rgba(255,255,255,.8);border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 10px 25px rgba(0,0,0,.2); }
.kmsvi-auth-logo img { width:100%;height:100%;object-fit:contain; }
.kmsvi-auth-brand-text { display:grid;gap:6px; }
.kmsvi-auth-brand-text strong { font-size:34px;line-height:1;letter-spacing:1px;color:white; }
.kmsvi-auth-brand-text small { font-size:11px;letter-spacing:1.9px;color:#ffdab8;text-transform:uppercase;font-weight:700; }
.auth-claim { max-width:590px; }
.auth-claim>span { color:#f6b36f;letter-spacing:2px;font-size:11px;font-weight:850; }
.auth-claim h1 { font-weight:850;letter-spacing:-2px;font-size:clamp(38px,4.5vw,68px);line-height:1.07;margin:19px 0; }
.auth-claim p { color:#f4e8de;font-size:15px;max-width:430px;line-height:1.68;margin:0 0 20px; }
.kmsvi-auth-motto { padding-top:15px;border-top:1px solid rgba(255,255,255,.35);font-size:12px;color:#e9d6c5;letter-spacing:.2px; }
.kmsvi-auth-motto strong { color:#fff; }
.auth-content { background:radial-gradient(circle at 80% 8%,rgba(246,164,90,.09),transparent 37%),#faf8f5; }
.auth-card { width:min(465px,100%);padding:42px 0; }
.auth-card h2 { color:#2c241f;font-weight:820;font-size:32px;line-height:1.16;letter-spacing:-.9px; }
.auth-card>p { color:#6d6259;font-size:14px; }
.auth-card .eyebrow { color:#ae531e!important;font-weight:850; }
.auth-card input { border:1px solid #d9cfc6;background:#fff; }
.auth-card input:focus-visible,.auth-card button:focus-visible { outline:3px solid #f8ac5a;outline-offset:2px; }
.auth-card .btn-primary { background:var(--kmsvi-button,#b54e1d)!important;border-radius:11px;min-height:49px; }
.auth-mobile-brand { display:none; }
@media(max-width:1120px) {
  .auth-visual { padding:38px 35px; }
  .auth-claim h1 { font-size:45px; }
  .kmsvi-brand-unit { gap:8px; }
  .kmsvi-brand-logo { width:54px;height:54px;flex-basis:54px; }
  .kmsvi-brand-name strong { font-size:24px; }
}
@media(max-width:680px) {
  .auth-layout { display:flex;flex-direction:column;min-height:100svh; }
  .auth-visual { display:flex!important;min-height:210px;height:210px;flex:0 0 210px;padding:18px 23px;justify-content:flex-start; }
  .auth-photo img { object-position:61% 51%; }
  .auth-visual:after { background:linear-gradient(90deg,rgba(26,18,13,.77),rgba(26,18,13,.08) 83%),linear-gradient(180deg,rgba(24,17,13,.15),rgba(24,17,13,.45)); }
  .kmsvi-auth-logo { width:56px;height:56px;flex-basis:56px;border-radius:12px;border-width:2px; }
  .kmsvi-auth-brand-text strong { font-size:27px; }
  .kmsvi-auth-brand-text small { font-size:9px;letter-spacing:1.3px; }
  .auth-claim { display:none; }
  .auth-content { min-height:0;flex:1;padding:22px 24px 38px; }
  .auth-mobile-brand { display:none!important; }
  .auth-card { padding:18px 0 22px;margin:0; }
  .auth-card h2 { font-size:27px; }
  .auth-note { color:#766d63; }
}
@media(prefers-reduced-motion:reduce) { .auth-photo img { transform:none; } }
/* Explizite Marken-Bausteine gegen die Legacy-Regel .auth-brand span absichern */
.auth-brand.kmsvi-auth-brand .kmsvi-auth-brand-text { display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin:0;line-height:1.12; }
.auth-brand.kmsvi-auth-brand .kmsvi-auth-brand-text strong { display:block;font-size:34px;font-weight:850;line-height:1.08;letter-spacing:.7px;color:#fff; }
.auth-brand.kmsvi-auth-brand .kmsvi-auth-brand-text small { display:block;margin:0;font-size:11px;font-weight:750;letter-spacing:1.5px;color:#ffd0ab;text-transform:uppercase; }
.auth-brand.kmsvi-auth-brand .kmsvi-auth-logo { display:block;margin:0; }
.auth-card .auth-note { flex-wrap:wrap; }
@media(max-width:680px) {
 .auth-brand.kmsvi-auth-brand .kmsvi-auth-brand-text strong { font-size:26px; }
 .auth-brand.kmsvi-auth-brand .kmsvi-auth-brand-text small { font-size:9px;letter-spacing:1px; }
}
