/* ===========================================================
   FS Integrations Systeme GmbH — Site Stylesheet
   LIGHT THEME: white page, light-gray bands, white cards with dark-gray
   borders, near-black text/buttons, orange kept as the accent.
   Palette: ink #1B1D22, off-white #F5F3EF, paper #FFFFFF,
            signal orange #FF6A2B, steel #5B6472, line #33363F
   Type: 'Barlow Condensed' (display, technical/industrial),
         'Inter' (body), 'IBM Plex Mono' (data / spec tables)
   Signature: a pixel-grid motif (dot matrix) referencing LED
   panels, used in the hero and as section dividers.
=========================================================== */
/* Font loading moved to includes/header.php (render_design_overrides), which
   loads only the Google Fonts for the currently selected pairing — see
   includes/design_options.php and Admin → Site Ayarları. */

:root{
  --charcoal:#1B1D22;
  --panel:#24262D;
  --line:#33363F;
  --off-white:#F5F3EF;
  --paper:#FFFFFF;
  --ink:#1B1D22;
  --muted:#6B7280;
  --signal:#FF6A2B;
  --signal-dark:#E0551A;
  --steel:#5B6472;
  --radius:4px;
  --font-display:'Barlow Condensed', sans-serif;
  --font-body:'Inter', system-ui, sans-serif;
  --font-mono:'IBM Plex Mono', monospace;
  /* subtle dividers on light backgrounds (cards/forms keep the darker --line) */
  --line-soft:#E3E5E8;
  /* accent colour for small TEXT on light backgrounds: --signal itself is too
     bright to read at small sizes, so darken it where the browser supports color-mix */
  --accent-text:var(--signal-dark);
}
@supports (color: color-mix(in srgb, red 50%, blue)) {
  :root{--accent-text:color-mix(in srgb, var(--signal-dark) 78%, #000);}
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--paper);
  line-height:1.6;
}
h1,h2,h3,h4{
  font-family:var(--font-display);
  font-weight:700;
  letter-spacing:.01em;
  line-height:1.1;
  margin:0 0 .5em;
  text-transform:uppercase;
}
h1{font-size:clamp(2.2rem,5vw,3.6rem);font-weight:800;}
h2{font-size:clamp(1.6rem,3.2vw,2.4rem);}
h3{font-size:1.3rem;}
p{margin:0 0 1em;color:var(--ink);}
a{color:inherit;text-decoration:none;}
.container{max-width:1180px;margin:0 auto;padding:0 24px;}
img{max-width:100%;display:block;}
button{font-family:inherit;cursor:pointer;}

/* pixel-grid signature motif */
.pixel-rule{
  height:10px;
  background-image:radial-gradient(var(--signal) 1.4px, transparent 1.6px);
  background-size:10px 10px;
  opacity:.55;
}
.pixel-rule.dark{background-image:radial-gradient(var(--charcoal) 1.4px, transparent 1.6px);}

/* ---------- Header ---------- */
.site-header{background:var(--paper);position:sticky;top:0;z-index:50;border-bottom:3px solid var(--signal);box-shadow:0 2px 12px rgba(27,29,34,.06);}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:76px;}
.logo{display:flex;align-items:center;flex-shrink:0;margin-right:24px;}
.logo img{display:block;height:40px;width:auto;max-width:none;}
.main-nav{display:flex;gap:22px;align-items:center;}
.main-nav a{color:var(--steel);font-weight:600;font-size:.9rem;white-space:nowrap;text-transform:uppercase;letter-spacing:.03em;padding:6px 2px;border-bottom:2px solid transparent;transition:.15s;}
.main-nav a:hover,.main-nav a.active{color:var(--ink);border-color:var(--signal);}
.nav-toggle{display:none;background:none;border:none;color:var(--ink);font-size:1.6rem;}
.lang-switch{display:flex;gap:6px;margin-left:8px;align-items:center;}
.lang-switch a{border:1px solid var(--line);padding:4px 8px;font-size:.75rem;font-family:var(--font-mono);letter-spacing:.03em;color:var(--steel);}
.lang-switch a.active{background:var(--ink);border-color:var(--ink);color:#fff;}
@media(max-width:1260px){.lang-switch{padding:14px 24px 14px;margin-left:0;}}

@media(max-width:560px){.logo img{height:34px;}}
@media(max-width:1260px){
  .nav-toggle{display:block;}
  .main-nav{position:absolute;top:76px;left:0;right:0;background:var(--paper);box-shadow:0 8px 16px rgba(27,29,34,.08);flex-direction:column;align-items:stretch;gap:0;max-height:0;overflow:hidden;transition:max-height .25s ease;border-bottom:3px solid var(--signal);}
  .main-nav.open{max-height:560px;}
  .main-nav a{padding:14px 24px;border-bottom:1px solid var(--line-soft);}
  .lang-switch a{padding:6px 12px;border:1px solid var(--line);}
}

/* ---------- Slider ---------- */
.slider{position:relative;overflow:hidden;background:var(--off-white);}
section.slider{padding:0;} /* hero sits directly under the header, edge to edge */
.slider-track{display:flex;transition:transform .6s ease;}
.slide{min-width:100%;position:relative;overflow:hidden;}
.slide img{width:100%;height:clamp(320px,52vw,560px);object-fit:cover;}
.slide-caption{position:absolute;left:32px;bottom:32px;max-width:min(560px,calc(100% - 64px));padding:28px 32px;background:rgba(0,0,0,var(--caption-alpha,.3));border-left:4px solid var(--signal);}
.slide-caption .eyebrow{color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.6);font-family:var(--font-mono);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;display:block;margin-bottom:10px;}
.slide-caption h2{color:#fff;margin-bottom:14px;text-shadow:0 1px 4px rgba(0,0,0,.6);}
.slide-caption p{color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.6);}
.slider-nav{position:absolute;bottom:24px;right:32px;display:flex;gap:10px;z-index:5;background:rgba(255,255,255,.94);padding:8px 12px;border-radius:20px;}
.slider-dot{width:10px;height:10px;border-radius:50%;border:2px solid var(--ink);background:transparent;padding:0;}
.slider-dot.active{background:var(--ink);}
.slider-arrow{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.9);color:var(--ink);border:1px solid var(--line);width:42px;height:42px;font-size:1.2rem;z-index:5;}
.slider-arrow.prev{left:16px;}
.slider-arrow.next{right:16px;}
.slider-empty{padding:80px 24px;text-align:center;color:var(--muted);}
/* phones: caption sits below the photo instead of covering it (it is taller than the photo there) */
@media(max-width:700px){
  .slide-caption{position:static;max-width:none;margin:0;padding:20px 22px 28px;border-left:0;border-top:4px solid var(--signal);background:var(--paper);}
  .slide-caption h2{font-size:1.6rem;color:var(--ink);text-shadow:none;}
  .slide-caption .eyebrow{color:var(--accent-text);text-shadow:none;}
  .slide-caption p{color:var(--steel);text-shadow:none;}
  .slider:not(.ref-card-slider):not(.maint-slider) .slider-arrow{top:calc(max(320px,52vw) / 2);}
  .slider:not(.ref-card-slider):not(.maint-slider) .slider-nav{bottom:auto;top:calc(max(320px,52vw) - 48px);}
}

/* ---------- Buttons ---------- */
.btn{display:inline-block;padding:13px 28px;background:var(--ink);color:#fff;font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:.9rem;border:none;border-radius:var(--radius);transition:.15s;}
.btn:hover{background:var(--signal-dark);}
.btn.btn-outline{background:transparent;border:2px solid var(--ink);color:var(--ink);padding:11px 26px;}
.btn.btn-outline:hover{background:var(--ink);color:#fff;}
.btn.btn-dark{background:var(--ink);color:#fff;}
.btn.btn-dark:hover{background:var(--signal-dark);}

/* ---------- Sections ---------- */
section{padding:72px 0;}
.section-tight{padding:48px 0;}
/* light-gray band used for call-to-action / stats / rental-form sections */
.section-band{background:var(--off-white);color:var(--ink);border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);}
.section-band p{color:var(--steel);}
.section-band h2{color:var(--ink);}
.eyebrow{font-family:var(--font-mono);color:var(--accent-text);text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;display:block;margin-bottom:10px;}
.section-head{max-width:680px;margin:0 auto 44px;text-align:center;}

/* ---------- Cards / grid ---------- */
.grid{display:grid;gap:28px;}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-2{grid-template-columns:repeat(2,1fr);}
@media(max-width:860px){.grid-3,.grid-2{grid-template-columns:1fr;}}

.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:.2s;}
.card:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(27,29,34,.12);}
.card-body{padding:24px;}
.card img{width:100%;height:200px;object-fit:cover;background:var(--off-white);}
.card .tag{font-family:var(--font-mono);font-size:.72rem;color:var(--accent-text);text-transform:uppercase;letter-spacing:.08em;}

.service-card{background:var(--paper);color:var(--ink);padding:32px 26px;border-radius:var(--radius);border:1px solid var(--line);border-top:3px solid var(--signal);}
.service-card h3{color:var(--ink);}
.service-card p{color:var(--steel);margin-bottom:0;}
.service-card img{width:46px;height:46px;margin-bottom:18px;filter:brightness(0) saturate(100%) invert(48%) sepia(88%) saturate(1476%) hue-rotate(342deg) brightness(101%) contrast(101%);}

/* ---------- Stats ---------- */
.stats{display:flex;flex-wrap:wrap;gap:40px;justify-content:center;text-align:center;}
.stat b{display:block;font-family:var(--font-display);font-size:3rem;font-weight:800;color:var(--accent-text);}
.stat span{color:var(--steel);text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;}

/* ---------- Product detail / spec tables ---------- */
.product-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center;}
@media(max-width:860px){.product-hero{grid-template-columns:1fr;}}
.product-gallery img{border:1px solid var(--line);border-radius:var(--radius);margin-bottom:12px;}
.feature-list{list-style:none;margin:0;padding:0;}
.feature-list li{padding:10px 0 10px 26px;border-bottom:1px solid var(--line-soft);position:relative;}
.feature-list li::before{content:'▪';color:var(--signal);position:absolute;left:0;}

.spec-table{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:.85rem;margin-bottom:28px;}
.spec-table caption{text-align:left;font-family:var(--font-display);text-transform:uppercase;font-weight:700;font-size:1rem;margin-bottom:8px;color:var(--ink);}
.spec-table th,.spec-table td{border:1px solid var(--line);padding:8px 12px;text-align:left;}
.spec-table th{background:#E9EBEE;color:var(--ink);font-weight:700;border-bottom:2px solid var(--ink);}
.spec-table td{background:var(--paper);}
.spec-table tr:nth-child(even) td{background:#F6F7F8;}

/* ---------- Forms ---------- */
.form-panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:32px;color:var(--ink);}
.form-panel p{color:var(--ink);}
.form-panel label{color:var(--ink);}
.form-panel input,.form-panel textarea,.form-panel select{color:var(--ink);}
.form-row{margin-bottom:18px;}
.form-row label{display:block;font-weight:600;margin-bottom:6px;font-size:.9rem;}
.form-row .hint{color:var(--muted);font-size:.8rem;margin-top:4px;}
input[type=text],input[type=email],input[type=tel],input[type=number],input[type=date],input[type=password],textarea,select{
  width:100%;padding:11px 14px;border:1px solid var(--line);border-radius:var(--radius);font-family:inherit;font-size:.95rem;background:#fff;
}
textarea{min-height:120px;resize:vertical;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;}
@media(max-width:640px){.form-grid{grid-template-columns:1fr;}}
.alert{padding:14px 18px;border-radius:var(--radius);margin-bottom:20px;font-size:.92rem;}
.alert-success{background:#E7F5EC;border:1px solid #4CAF50;color:#1E5C2A;}
.alert-error{background:#FBE9E7;border:1px solid #E0551A;color:#8A2E12;}

/* ---------- Referenzen gallery ---------- */
.ref-card img{height:220px;object-fit:cover;}
.ref-card-slider{position:relative;height:220px;overflow:hidden;}
.ref-card-slider .slide img{height:220px;}
.ref-card-slider .slider-arrow{width:28px;height:28px;font-size:.75rem;}
.ref-card-slider .slider-nav{bottom:10px;right:10px;gap:6px;padding:5px 8px;}
.ref-card-slider .slider-dot{width:7px;height:7px;}

/* ---------- Footer ---------- */
.site-footer{background:var(--off-white);color:var(--steel);padding:56px 0 0;border-top:3px solid var(--signal);}
.footer-inner{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.4fr;gap:32px;padding-bottom:32px;}
@media(max-width:900px){.footer-inner{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.footer-inner{grid-template-columns:1fr;}}
.footer-newsletter input[type=email]{width:100%;padding:9px 12px;border-radius:var(--radius);border:1px solid var(--line);background:var(--paper);color:var(--ink);font-size:.85rem;}
.footer-newsletter input[type=email]::placeholder{color:var(--muted);}
.site-footer h3,.site-footer h4{color:var(--ink);}
.site-footer p{color:var(--steel);}
.site-footer a{display:block;color:var(--steel);padding:4px 0;}
.site-footer a:hover{color:var(--accent-text);}
.footer-bottom{border-top:1px solid var(--line-soft);padding:18px 0;font-size:.82rem;color:var(--muted);}

/* ---------- Breadcrumb / misc ---------- */
.breadcrumb{font-family:var(--font-mono);font-size:.8rem;color:var(--muted);margin-bottom:18px;text-transform:uppercase;letter-spacing:.05em;}
.breadcrumb a{color:var(--steel);}
.page-hero{background:var(--off-white);color:var(--ink);padding:56px 0;text-align:center;border-bottom:1px solid var(--line-soft);}
.page-hero p{color:var(--steel);max-width:640px;margin:0 auto;}
/* compact variant (Referenzen): roughly half the normal height */
.page-hero--compact{padding:24px 0;}
.page-hero--compact .eyebrow{margin-bottom:4px;}
.page-hero--compact h1{font-size:clamp(1.6rem,3.2vw,2.2rem);margin-bottom:6px;}
.page-hero--compact p{margin-bottom:0;font-size:.95rem;}

/* ---------- Admin (shared minimal look) ---------- */
.admin-body{background:#F0F1F3;font-family:var(--font-body);}
.admin-wrap{display:flex;min-height:100vh;}
.admin-sidebar{width:230px;background:var(--charcoal);color:#fff;padding:24px 0;flex-shrink:0;}
.admin-sidebar a{display:block;padding:12px 24px;color:#C9CCD3;font-weight:500;}
.admin-sidebar a:hover,.admin-sidebar a.active{background:var(--panel);color:#fff;border-left:3px solid var(--signal);}
.admin-sidebar .brand{padding:0 24px 20px;font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:1.1rem;border-bottom:1px solid var(--line);margin-bottom:10px;}
.admin-main{flex:1;padding:32px;max-width:1100px;}
.admin-card{background:#fff;border:1px solid #DDD;border-radius:var(--radius);padding:24px;margin-bottom:24px;}
table.admin-table{width:100%;border-collapse:collapse;background:#fff;}
table.admin-table th,table.admin-table td{padding:10px 14px;border-bottom:1px solid #E5E5E5;text-align:left;font-size:.92rem;}
table.admin-table th{background:#F5F5F5;text-transform:uppercase;font-size:.75rem;letter-spacing:.04em;color:var(--muted);}
.admin-actions a{margin-right:10px;font-weight:600;color:var(--accent-text);}
.badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:.72rem;font-weight:700;text-transform:uppercase;background:#EEE;color:#555;}
.badge.new{background:#FFE7DB;color:var(--accent-text);}
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--charcoal);}
.login-box{background:#fff;padding:40px;border-radius:var(--radius);width:100%;max-width:380px;}

/* ---------- Maintenance ("Under Construction") page ---------- */
.maint-page{min-height:100vh;display:flex;flex-direction:column;background:var(--paper);}
.maint-preview-bar{background:#FFF6E5;color:#6B4E00;border-bottom:1px solid #E0A800;font-size:.85rem;padding:8px 24px;text-align:center;}
.maint-header{background:var(--paper);border-bottom:3px solid var(--signal);box-shadow:0 2px 12px rgba(27,29,34,.06);}
.maint-header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:88px;}
.maint-logo img{display:block;height:52px;width:auto;}
.maint-lang{display:flex;gap:6px;}
.maint-lang a{border:1px solid var(--line);padding:4px 8px;font-size:.75rem;font-family:var(--font-mono);letter-spacing:.03em;color:var(--steel);}
.maint-lang a.active{background:var(--ink);border-color:var(--ink);color:#fff;}
.maint-main{flex:1;padding:56px 0 48px;}
.maint-hero{text-align:center;max-width:720px;margin:0 auto 44px;}
.maint-hero h1{margin-bottom:16px;}
.maint-hero p{color:var(--steel);font-size:1.05rem;margin-bottom:0;}
.maint-slider{max-width:1000px;margin:0 auto 52px;border:1px solid var(--line);border-radius:6px;}
.maint-slider .slide img{height:clamp(220px,42vw,460px);}
.maint-slider.has-overlay .slide img{height:clamp(400px,50vw,540px);}
/* headline + message sit on top of the photos, centred, clear of the side arrows */
.maint-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:3;width:min(580px,calc(100% - 170px));background:var(--paper);border-top:4px solid var(--signal);padding:32px 36px;text-align:center;box-shadow:0 12px 32px rgba(27,29,34,.18);}
.maint-overlay h1{font-size:clamp(1.8rem,3.4vw,2.7rem);margin-bottom:12px;}
.maint-overlay p{color:var(--steel);margin:0;}
.maint-contact-title{text-align:center;font-size:1.2rem;margin-bottom:20px;}
.maint-contact{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;max-width:1000px;margin:0 auto 32px;}
.maint-card{display:flex;gap:14px;align-items:flex-start;background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--signal);border-radius:var(--radius);padding:18px 18px;}
.maint-card .ico{flex:0 0 42px;width:42px;height:42px;border:1px solid var(--line-soft);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--ink);}
.maint-card .ico svg{display:block;width:20px;height:20px;}
.maint-card .label{display:block;font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--steel);margin-bottom:4px;}
.maint-card a,.maint-card .value{color:var(--ink);font-weight:600;font-size:.95rem;line-height:1.45;word-break:break-word;}
.maint-card a:hover{color:var(--accent-text);}
.maint-social{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;}
.maint-social a{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--ink);transition:.15s;}
.maint-social a svg{width:20px;height:20px;}
.maint-social a:hover{background:var(--ink);color:#fff;}
.maint-footer{border-top:1px solid var(--line-soft);background:var(--off-white);padding:18px 0;text-align:center;font-size:.82rem;color:var(--muted);}
@media(max-width:700px){
  .maint-header-inner{min-height:72px;}
  .maint-logo img{height:38px;}
  .maint-main{padding:36px 0 32px;}
  .maint-slider{margin-bottom:36px;}
  .maint-overlay{position:static;transform:none;width:auto;box-shadow:none;padding:24px 22px 28px;}
  .maint-slider.has-overlay .slide img{height:300px;}
  .maint-slider.has-overlay .slider-arrow{top:150px;}
  .maint-slider.has-overlay .slider-nav{bottom:auto;top:252px;}
}

/* ---------- Admin: on/off switch + "maintenance is on" bar ---------- */
.switch{position:relative;display:inline-block;width:60px;height:32px;flex-shrink:0;}
.switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:2;}
.switch .track{position:absolute;inset:0;background:#C9CCD3;border-radius:32px;transition:.2s;}
.switch .track::before{content:'';position:absolute;top:3px;left:3px;width:26px;height:26px;background:#fff;border-radius:50%;transition:.2s;box-shadow:0 1px 3px rgba(0,0,0,.3);}
.switch input:checked + .track{background:var(--signal-dark);}
.switch input:checked + .track::before{transform:translateX(28px);}
.switch input:focus-visible + .track{outline:2px solid var(--ink);outline-offset:3px;}
.maint-admin-bar{background:#FFF6E5;color:#6B4E00;border-bottom:1px solid #E0A800;font-size:.85rem;padding:7px 24px;text-align:center;}
.maint-admin-bar a{color:#6B4E00;text-decoration:underline;font-weight:600;}
.sidebar-badge{display:inline-block;margin-left:8px;padding:1px 7px;border-radius:10px;background:var(--signal);color:#fff;font-size:.65rem;font-weight:700;letter-spacing:.04em;vertical-align:middle;}

/* ---------- Legal / consent / prose ---------- */
.prose{max-width:780px;}
.prose h2{margin-top:32px;font-size:1.25rem;}
.prose p,.prose li{line-height:1.7;}
.prose ul{padding-left:22px;}
.consent-row label{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:.88rem;line-height:1.45;}
.consent-row input[type=checkbox]{width:auto;margin-top:3px;flex-shrink:0;}
.consent-row a,.consent-mini a{text-decoration:underline;}
.consent-mini{display:flex;gap:8px;align-items:flex-start;font-weight:400;font-size:.78rem;line-height:1.35;margin:8px 0 0;}
.consent-mini input{width:auto;margin-top:2px;flex-shrink:0;}
.footer-bottom-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px 24px;}
/* Datenschutz / Impressum: side by side, same baseline as the copyright line */
.legal-links{display:flex;flex-wrap:wrap;align-items:center;gap:6px 22px;}
.site-footer .legal-links a{display:inline-block;padding:0;margin:0;}
.maint-footer a{text-decoration:underline;}

/* ---------- Admin: grouped sidebar ---------- */
.admin-sidebar{overflow-y:auto;}
.admin-nav details.nav-group{border-top:1px solid var(--line);}
.admin-nav details.nav-group:last-of-type{border-bottom:1px solid var(--line);}
.admin-nav summary{list-style:none;cursor:pointer;padding:12px 24px;color:#fff;font-weight:700;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;display:flex;align-items:center;justify-content:space-between;}
.admin-nav summary::-webkit-details-marker{display:none;}
.admin-nav summary::after{content:'\25B8';font-size:.9rem;transition:transform .15s;}
.admin-nav details[open] > summary::after{transform:rotate(90deg);}
.admin-nav summary:hover{background:var(--panel);}
.admin-nav details a{padding:9px 24px 9px 38px;font-size:.9rem;}
.admin-nav summary:focus-visible,.admin-sidebar a:focus-visible{outline:2px solid var(--signal);outline-offset:-2px;}

/* ---------- Admin: page editor, KPIs, misc ---------- */
.lang-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
@media(max-width:900px){.lang-cols{grid-template-columns:1fr;}}
.lang-cols textarea,.lang-cols input{width:100%;}
.lang-tag{display:block;font-weight:700;font-size:.7rem;letter-spacing:.06em;color:var(--muted);margin-bottom:3px;}
.md-toolbar{display:flex;gap:6px;margin-bottom:6px;flex-wrap:wrap;}
.md-toolbar button{padding:5px 12px;border:1px solid #CCC;background:#fff;border-radius:4px;cursor:pointer;font-size:.82rem;}
.md-toolbar button:hover{background:#F3F3F3;}
textarea.md-body{width:100%;font-family:var(--font-mono);font-size:.85rem;line-height:1.5;}
.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px;}
@media(max-width:800px){.kpi-grid{grid-template-columns:repeat(2,1fr);}}
.kpi{background:#fff;border:1px solid #DDD;border-radius:var(--radius);padding:16px 18px;display:flex;flex-direction:column;}
.kpi-num{font-size:1.9rem;font-weight:800;line-height:1.1;}
.kpi-label{color:var(--muted);font-size:.8rem;margin-top:4px;}
.progress{height:8px;background:#E8E8E8;border-radius:6px;overflow:hidden;margin-bottom:3px;}
.progress span{display:block;height:100%;background:var(--signal-dark);}
.link-button{background:none;border:0;padding:0;color:var(--accent-text);text-decoration:underline;cursor:pointer;font:inherit;font-size:.88rem;margin:6px 0;}
.inline-check{display:flex;gap:8px;align-items:center;font-weight:400;font-size:.82rem;margin-top:5px;}
.inline-check input{width:auto;}

/* ---------- Admin: analytics dashboard ---------- */
.ana-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:6px;}
.ana-actions{display:flex;gap:8px;flex-wrap:wrap;}
.ana-h2{margin:34px 0 14px;}
.filters{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:flex-end;background:#fff;border:1px solid #DDD;border-radius:var(--radius);padding:14px 18px;margin:14px 0 8px;}
.filters label{display:flex;flex-direction:column;gap:4px;font-size:.74rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);}
.filters select,.filters input[type=date]{padding:8px 10px;border:1px solid #CCC;border-radius:4px;font-size:.9rem;background:#fff;color:var(--ink);text-transform:none;letter-spacing:0;font-weight:500;}
.filters #custom-range{display:flex;gap:12px;}
.filters .bot-toggle{flex-direction:row;align-items:center;gap:10px;}
.ana-stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin:18px 0;}
.ana-stat{background:#fff;border:1px solid #DDD;border-radius:var(--radius);padding:18px 20px;display:flex;flex-direction:column;gap:6px;}
.ana-stat-label{font-size:.76rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);}
.ana-stat-value{font-size:2rem;font-weight:800;line-height:1.1;color:var(--ink);}
.ana-stat-foot{font-size:.82rem;color:var(--muted);}
.chg{display:inline-block;font-weight:700;font-size:.8rem;color:var(--ink);background:#F0F0EE;border-radius:10px;padding:2px 9px;}
.chg-up{background:#E4F3E8;color:#1E5B2F;} .chg-down{background:#FBE8E6;color:#8A2418;} .chg-new{background:#E4F3E8;color:#1E5B2F;}
.live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#2E9E4F;margin-right:4px;animation:livepulse 2s infinite;}
@keyframes livepulse{0%,100%{opacity:1}50%{opacity:.35}}
.live-pages{list-style:none;margin:2px 0 0;padding:0;font-size:.8rem;max-height:92px;overflow:auto;}
.live-pages li{padding:2px 0;border-top:1px solid #EEE;} .live-pages small{color:var(--muted);}
.card-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;}
.legend{font-size:.8rem;color:var(--muted);} .legend i{display:inline-block;width:18px;height:0;border-top:3px solid var(--signal-dark);vertical-align:middle;margin:0 4px 0 12px;}
.legend i.lg-prev{border-top:2px dashed #9AA0AA;}
svg.chart{width:100%;height:auto;display:block;margin-top:8px;}
.ch-grid{stroke:#ECECEA;stroke-width:1;} .ch-axis{fill:var(--muted);font-size:11px;}
.ch-cur{fill:none;stroke:var(--signal-dark);stroke-width:2;stroke-linejoin:round;stroke-linecap:round;}
.ch-prev{fill:none;stroke:#9AA0AA;stroke-width:1.5;stroke-dasharray:5 4;}
.ch-pt .ch-dot,.ch-pt .ch-cross{opacity:0;pointer-events:none;} .ch-pt:hover .ch-dot,.ch-pt:hover .ch-cross{opacity:1;}
.ch-dot{fill:var(--signal-dark);stroke:#fff;stroke-width:2;} .ch-cross{stroke:#C9CCD3;stroke-width:1;}
.table-view{margin-top:10px;font-size:.85rem;} .table-view summary{cursor:pointer;color:var(--muted);}
.ana-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:20px;}
.barlist{list-style:none;margin:10px 0 0;padding:0;}
.barlist li{display:grid;grid-template-columns:minmax(90px,38%) 1fr 56px;gap:10px;align-items:center;padding:5px 0;font-size:.88rem;}
.bl-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.bl-bar{height:8px;background:#EEEEEC;border-radius:4px;overflow:hidden;} .bl-bar span{display:block;height:100%;background:var(--signal-dark);border-radius:4px;}
.bl-val{text-align:right;font-weight:700;font-variant-numeric:tabular-nums;}
.big-rate{font-size:1.6rem;font-weight:800;margin:14px 0 6px;}
.alerts .alert-row{margin:6px 0;padding:8px 12px;border-radius:4px;background:#FFF6E5;border-left:4px solid #E0A800;color:#5B4300;}
.alerts .alert-bad{background:#FBE8E6;border-left-color:#C0392B;color:#7A1F14;}
.inline-form{display:flex;gap:8px;flex-wrap:wrap;align-items:center;} .inline-form input{padding:9px 12px;border:1px solid #CCC;border-radius:4px;min-width:200px;}
@media print{
  .admin-sidebar,.filters,.ana-actions,.no-print,.maint-admin-bar,.inline-form,#engelle,.table-view summary{display:none !important;}
  .admin-wrap{display:block;} .admin-main{padding:0;} .admin-card,.ana-stat{break-inside:avoid;box-shadow:none;}
  body{background:#fff;}
}
