:root{
  --bg:#f3f5f8;--paper:#fff;--ink:#182235;--muted:#68758a;--line:#dce2ea;
  --accent:#e86f2b;--accent2:#c95113;--nav:#111a2a;--ok:#176c4d
}
*{box-sizing:border-box}
html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;background:var(--bg);color:var(--ink)}
body{margin:0;min-height:100vh;display:flex;flex-direction:column}
header{height:68px;background:var(--nav);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1180px)/2));border-bottom:1px solid #26334a}
.brand{display:flex;gap:12px;align-items:center;font-weight:700;letter-spacing:.01em}
.mark{width:34px;height:34px;border:1px solid #52617a;border-radius:9px;display:grid;place-items:center;color:#ff9a61}
.navlink{color:#dbe3ef;text-decoration:none;font-size:14px}
main{width:min(1180px,calc(100% - 36px));margin:0 auto;flex:1}
footer{text-align:center;color:#7b8799;font-size:12px;padding:34px 18px}
.hero{padding:58px 0 28px}
.login-shell{max-width:560px;margin:0 auto;padding:72px 0 36px}
.eyebrow{font-size:12px;font-weight:800;letter-spacing:.19em;color:var(--accent);margin-bottom:12px}
h1{font-size:clamp(34px,5vw,56px);line-height:1.02;letter-spacing:-.045em;margin:0 0 18px}
h2{font-size:23px;letter-spacing:-.02em;margin:8px 0 8px}
.lead{font-size:18px;line-height:1.55;color:var(--muted);max-width:760px;margin:0 0 28px}
.card,.os-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;box-shadow:0 8px 28px rgba(35,48,69,.06)}
.login-card{padding:26px}
label{display:block;font-weight:650;font-size:14px;margin:0 0 8px}
input{width:100%;height:48px;border:1px solid #cbd4df;border-radius:10px;padding:0 13px;font-size:16px;outline:none;background:#fff;margin-bottom:20px}
input:focus{border-color:#8294aa;box-shadow:0 0 0 3px #dfe7f1}
.captcha-row{display:flex;gap:12px;align-items:center;margin-bottom:20px}
.captcha-row img{border:1px solid var(--line);border-radius:10px;flex:0 0 200px}
.captcha-input{margin:0;min-width:0;text-transform:uppercase;letter-spacing:.12em}
button.primary,.download{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border-radius:10px;border:0;padding:0 18px;font-weight:750;font-size:15px;text-decoration:none;cursor:pointer;background:var(--accent);color:#fff}
button.primary{width:100%}
button.primary:hover,.download:hover{background:var(--accent2)}
.hint,.version{font-size:13px;color:#7b8799;margin-top:16px}
.error{background:#fff1ed;color:#9c3511;border:1px solid #f0c7b7;border-radius:10px;padding:12px 14px;margin-bottom:18px;font-size:14px}
.quicksteps{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;max-width:740px;margin:26px 0 14px}
.quicksteps div{display:flex;align-items:center;gap:9px;color:#526077;font-size:14px}
.quicksteps b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#fff;border:1px solid var(--line);color:var(--accent)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.os-card{padding:26px;display:flex;flex-direction:column}
.os-card>p{color:var(--muted);line-height:1.5;min-height:48px}
.os-icon{font-size:28px;width:48px;height:48px;border-radius:12px;background:#f2f5f8;display:grid;place-items:center;border:1px solid var(--line);color:#34435a}
.download{width:100%;margin:12px 0}
.download-stack{display:flex;flex-direction:column;gap:8px;margin:12px 0}
.download-stack .download{margin:0}
.disabled{display:flex;align-items:center;justify-content:center;min-height:48px;border:1px dashed #c7d0dc;border-radius:10px;color:#8a96a7;margin:12px 0}
ol{padding-left:22px;margin:16px 0 0;color:#34435a;font-size:14px;line-height:1.55}
li{margin:8px 0}
code{background:#eef2f6;padding:2px 5px;border-radius:5px;font-size:12px}
.privacy{margin:22px 0 0;padding:24px}
.privacy p{margin:6px 0;color:var(--muted);line-height:1.55}
@media(max-width:900px){.grid{grid-template-columns:1fr}.os-card>p{min-height:0}.quicksteps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){main{width:min(100% - 24px,1180px)}header{padding:0 16px}.login-shell{padding-top:42px}.captcha-row{align-items:stretch;flex-direction:column}.captcha-row img{flex:auto}.quicksteps{grid-template-columns:1fr 1fr}.hero{padding-top:40px}}

.hashbox{
  margin:-4px 0 12px;
  padding:10px 12px;
  background:#f6f8fa;
  border:1px solid var(--line);
  border-radius:9px;
}

.hashbox span{
  display:block;
  font-size:11px;
  font-weight:800;
  color:#7a8798;
  margin-bottom:5px;
  letter-spacing:.06em;
}

.hashbox code{
  display:block;
  overflow-wrap:anywhere;
  word-break:break-all;
  font-size:11px;
  line-height:1.45;
  background:transparent;
  padding:0;
}

.checksums{
  margin-top:8px;
  font-size:13px;
}

.checksums a{
  color:#526077;
}

/* =========================================================
   Responsive / Fluid Layout v1.1
   ========================================================= */

html{
  -webkit-text-size-adjust:100%;
}

body{
  overflow-x:hidden;
}

main{
  width:min(1440px, calc(100% - clamp(24px, 5vw, 80px)));
}

/* Kopfbereich */
header{
  min-height:68px;
  height:auto;
  padding-top:12px;
  padding-bottom:12px;
  gap:20px;
}

.brand{
  min-width:0;
}

.brand span:last-child{
  overflow-wrap:anywhere;
}

/* Dynamische Schriftgrößen */
h1{
  font-size:clamp(32px, 4.2vw, 64px);
}

h2{
  font-size:clamp(21px, 2vw, 27px);
}

.lead{
  font-size:clamp(16px, 1.4vw, 20px);
}

/* Hauptbereich */
.hero{
  padding-top:clamp(36px, 6vw, 74px);
  padding-bottom:clamp(20px, 3vw, 38px);
}

/* Schrittanzeige passt sich automatisch an */
.quicksteps{
  width:100%;
  max-width:900px;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:clamp(8px, 1.5vw, 16px);
}

.quicksteps div{
  min-width:0;
}

/* Karten automatisch abhängig von verfügbarer Breite */
.grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:clamp(14px, 2vw, 24px);
  align-items:stretch;
}

.os-card{
  min-width:0;
  padding:clamp(20px, 2.2vw, 30px);
}

/* Buttons dürfen nie aus der Karte herauslaufen */
.download,
button.primary{
  width:100%;
  white-space:normal;
  text-align:center;
  line-height:1.3;
  padding:12px 16px;
}

/* Hashes */
.hashbox{
  width:100%;
  min-width:0;
}

.hashbox code{
  display:block;
  width:100%;
  word-break:break-all;
  overflow-wrap:anywhere;
}

/* Login passt auch auf kleine Displays */
.login-shell{
  width:100%;
  max-width:620px;
  padding-top:clamp(36px, 8vh, 80px);
}

.login-card{
  padding:clamp(18px, 3vw, 30px);
}

.captcha-row{
  width:100%;
}

.captcha-row img{
  max-width:100%;
  height:auto;
}

/* Große Displays / Ultrawide */
@media (min-width:1500px){
  main{
    width:min(1500px, calc(100% - 100px));
  }

  .grid{
    gap:28px;
  }
}

/* Notebook / großes Tablet */
@media (max-width:1150px){
  .grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }

  .grid .os-card:last-child{
    grid-column:1 / -1;
  }

  .quicksteps{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
}

/* Tablet */
@media (max-width:760px){
  main{
    width:min(100% - 28px, 1440px);
  }

  header{
    padding-left:16px;
    padding-right:16px;
  }

  .grid{
    grid-template-columns:1fr;
  }

  .grid .os-card:last-child{
    grid-column:auto;
  }

  .quicksteps{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }

  .captcha-row{
    flex-direction:column;
    align-items:stretch;
  }

  .captcha-row img{
    width:200px;
    max-width:100%;
  }

  .captcha-input{
    width:100%;
  }
}

/* Smartphone */
@media (max-width:520px){
  main{
    width:calc(100% - 20px);
  }

  header{
    flex-wrap:wrap;
    min-height:60px;
  }

  .brand{
    font-size:14px;
  }

  .mark{
    width:30px;
    height:30px;
  }

  .hero{
    padding-top:28px;
  }

  h1{
    font-size:clamp(30px, 10vw, 42px);
  }

  .quicksteps{
    grid-template-columns:1fr;
  }

  .quicksteps div{
    padding:5px 0;
  }

  .os-card{
    border-radius:14px;
    padding:18px;
  }

  .login-card{
    border-radius:14px;
  }

  .privacy{
    padding:18px;
  }

  ol{
    padding-left:20px;
  }

  footer{
    padding:24px 14px;
  }
}

/* Sehr kleine Smartphones */
@media (max-width:360px){
  main{
    width:calc(100% - 14px);
  }

  .download{
    font-size:14px;
  }

  .os-card{
    padding:15px;
  }
}
/* Support Portal Admin v1.2 */
.admin-body main{width:min(1540px,calc(100% - clamp(24px,5vw,80px)))}
.admin-hero{padding-bottom:22px}
.admin-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:26px}
.admin-kpis .card{padding:18px 20px}
.admin-kpis span{display:block;color:var(--muted);font-size:12px;font-weight:700;margin-bottom:5px}
.admin-kpis b{font-size:25px;letter-spacing:-.03em}
.admin-section{padding:24px;margin:18px 0}
.admin-section-head{display:flex;align-items:center;justify-content:space-between;gap:18px}
.admin-section-head h2{margin-top:0}
.admin-two{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.admin-two .admin-section{margin:0}
.admin-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border:0;border-radius:9px;padding:10px 14px;background:var(--accent);color:#fff;text-decoration:none;font-weight:750;cursor:pointer;white-space:normal;text-align:center}
.admin-button.secondary{background:#eef2f6;color:#28364a;border:1px solid var(--line)}
.admin-table{width:100%;border-collapse:collapse;font-size:13px}
.admin-table th,.admin-table td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.admin-table th{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:#748197}
.admin-table form{margin:0}
.table-wrap{overflow-x:auto;width:100%}
.small{font-size:12px;color:var(--muted);line-height:1.45}
.status{display:inline-block;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800}
.status.on{background:#e8f6ef;color:#176c4d}.status.off{background:#fff1ed;color:#9c3511}
.ua{max-width:320px;overflow-wrap:anywhere}
.notice{background:#eef7f2;border:1px solid #cce6d8;color:#176c4d;border-radius:10px;padding:12px 14px;margin:14px 0}
@media(max-width:1050px){.admin-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-two{grid-template-columns:1fr}}
@media(max-width:650px){.admin-kpis{grid-template-columns:1fr}.admin-section-head{align-items:stretch;flex-direction:column}.admin-section-head .admin-button,.admin-section-head form,.admin-section-head form .admin-button{width:100%}.admin-section{padding:17px}}
