/* loqal Cloud: Markenwerte aus loqal.io (site-prev/src/index.css) */
@font-face{
  font-family:"Geist";
  src:url("/assets/fonts/geist-variable.woff2") format("woff2");
  font-weight:100 900;font-style:normal;font-display:swap;
}
:root{
  --paper:#faf9f5;
  --paper-2:#f1f0ea;
  --card:#ffffff;
  --ink:#14140f;
  --ink-soft:#3a3a33;
  --muted:#6b6a62;
  --accent:#19e7d0;
  --accent-ink:#0e7490;
  --accent-tint:#ecfbfe;
  --line:rgba(20,20,15,.1);
  --line-soft:rgba(20,20,15,.06);
  --danger:#b42318;
  --danger-tint:#fef3f2;
  --danger-line:rgba(180,35,24,.22);
  --warning:#b54708;
  --radius:20px;
  --ease:cubic-bezier(.32,.72,0,1);
  --shadow:0 1px 2px rgba(20,20,15,.04),0 18px 48px -18px rgba(20,20,15,.18);
  --font:"Geist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{color-scheme:light;-webkit-text-size-adjust:100%;}
body{
  font-family:var(--font);background:var(--paper);color:var(--ink);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;line-height:1.55;
}
::selection{background:var(--ink);color:var(--paper);}
:where(a,button,input,textarea,select,[tabindex]):focus-visible{
  outline:2px solid var(--accent);outline-offset:3px;border-radius:8px;
}
.d-none{display:none!important;}

/* ── Öffentliche Seiten: Login, Download, Upload, Hinweise ── */
.lq-shell{
  min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:40px 16px;position:relative;overflow:hidden;
}
.lq-shell::before{
  content:"";position:absolute;left:50%;top:-220px;width:44rem;height:24rem;max-width:140vw;
  transform:translateX(-50%);border-radius:999px;background:rgba(25,231,208,.16);
  filter:blur(110px);pointer-events:none;
}
.lq-wrap{position:relative;width:100%;max-width:420px;}
.lq-wrap.wide{max-width:580px;}
.lq-brand{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:28px;text-decoration:none;}
.lq-brand img{height:38px;width:auto;display:block;}
.lq-tag{
  display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;
  background:var(--ink);color:var(--paper);font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
}
.lq-tag::before{content:"";width:6px;height:6px;border-radius:999px;background:var(--accent);}
.lq-card{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:32px;
}
.lq-center{text-align:center;}
.lq-eyebrow{
  display:inline-flex;align-items:center;gap:8px;margin-bottom:12px;
  font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);
}
.lq-eyebrow::before{content:"";width:6px;height:6px;border-radius:999px;background:var(--accent);}
.lq-title{font-size:1.55rem;font-weight:600;letter-spacing:-.025em;line-height:1.2;margin-bottom:6px;text-wrap:balance;word-break:break-word;}
.lq-sub{color:var(--muted);font-size:.92rem;margin-bottom:24px;}
.lq-icon{
  width:56px;height:56px;border-radius:16px;background:var(--accent);color:var(--ink);
  display:flex;align-items:center;justify-content:center;font-size:1.45rem;margin-bottom:18px;
}
.lq-center .lq-icon{margin-left:auto;margin-right:auto;}
.lq-icon.soft{background:var(--accent-tint);color:var(--accent-ink);}
.lq-icon.danger{background:var(--danger-tint);color:var(--danger);}
.lq-label{display:block;font-size:.8rem;font-weight:500;color:var(--ink-soft);margin-bottom:6px;}
.lq-input{
  display:block;width:100%;padding:12px 14px;margin-bottom:16px;
  background:var(--paper);border:1px solid var(--line);border-radius:12px;
  font:inherit;font-size:.95rem;color:var(--ink);transition:border-color .15s,box-shadow .15s,background .15s;
}
.lq-input::placeholder{color:rgba(20,20,15,.35);}
.lq-input:focus{outline:none;background:#fff;border-color:var(--accent-ink);box-shadow:0 0 0 4px rgba(25,231,208,.2);}
.lq-btn{
  display:flex;align-items:center;gap:12px;width:100%;min-height:50px;padding:6px 6px 6px 22px;
  border:0;border-radius:999px;background:var(--ink);color:var(--paper);
  font:inherit;font-size:.95rem;font-weight:500;text-align:left;text-decoration:none;cursor:pointer;
  transition:transform .4s var(--ease),background .2s;
}
.lq-btn:hover{background:#26261f;}
.lq-btn:active{transform:scale(.985);}
.lq-btn-dot{
  margin-left:auto;flex-shrink:0;width:38px;height:38px;border-radius:999px;
  background:var(--accent);color:var(--ink);display:flex;align-items:center;justify-content:center;font-size:1rem;
  transition:transform .4s var(--ease);
}
.lq-btn:hover .lq-btn-dot{transform:translateX(2px);}
.lq-alert{
  display:flex;align-items:flex-start;gap:8px;padding:10px 14px;margin-bottom:16px;
  border-radius:12px;font-size:.88rem;background:var(--danger-tint);color:var(--danger);border:1px solid var(--danger-line);
}
.lq-note{
  display:flex;align-items:flex-start;gap:8px;padding:10px 14px;margin-bottom:16px;
  border-radius:12px;font-size:.88rem;background:var(--accent-tint);color:var(--accent-ink);
}
.lq-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 14px;color:var(--muted);font-size:.85rem;margin-bottom:24px;}
.lq-meta span{display:inline-flex;align-items:center;gap:6px;}
.lq-list{border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-bottom:24px;max-height:320px;overflow-y:auto;text-align:left;}
.lq-list div{display:flex;align-items:center;gap:10px;padding:10px 14px;font-size:.86rem;color:var(--ink-soft);border-bottom:1px solid var(--line-soft);word-break:break-word;}
.lq-list div:last-child{border-bottom:0;}
.lq-list i{color:var(--accent-ink);flex-shrink:0;}
.lq-foot{margin-top:22px;text-align:center;font-size:.78rem;color:var(--muted);}
.lq-foot a{color:var(--ink-soft);text-decoration:none;}
.lq-foot a:hover{color:var(--accent-ink);}
.lq-foot strong{font-weight:600;color:var(--ink);}
.lq-foot .sep{margin:0 6px;opacity:.5;}
@media(max-width:480px){
  .lq-card{padding:24px 20px;}
  .lq-title{font-size:1.35rem;}
}
