/* Interaktive Produkt-Demos für die GLAS-Website.
   Alles innerhalb von .ui ist Produktoberfläche (Manrope, Produktfarben),
   damit sie sich klar von der Website-Typografie absetzt. */

.ui{font-family:"Manrope",system-ui,sans-serif;color:#1D2A44;-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.45}
.ui *,.ui *::before,.ui *::after{box-sizing:border-box}
:where(.ui) button{font:inherit;color:#1D2A44;cursor:pointer}
.ui :focus-visible{outline:3px solid rgba(26,107,255,.45);outline-offset:2px}
.ui .demo-tag{position:absolute;top:8px;right:12px;font-size:12px;font-weight:600;color:#4B5875;background:rgba(29,42,68,.06);padding:4px 10px;border-radius:999px}

/* Fensterrahmen */
.ui-win{position:relative;background:#F4F7FC;border-radius:18px;box-shadow:0 1px 0 rgba(29,42,68,.06),0 30px 70px -36px rgba(14,22,38,.4);overflow:hidden}
.ui-bar{display:flex;align-items:center;gap:7px;height:38px;padding:0 14px;background:#fff;border-bottom:1px solid #E6EBF3}
.ui-bar i{width:10px;height:10px;border-radius:50%;background:#DCE2EC}
.ui-bar span{margin-left:10px;font-size:12.5px;color:#6B7790}

/* ---------- Anmeldung ---------- */
.login{position:relative;min-height:470px;display:grid;place-items:center;padding:40px 24px 48px}
.login .pane{width:100%;max-width:340px;display:grid;gap:14px;justify-items:center;text-align:center;animation:ui-in .35s cubic-bezier(.2,.8,.2,1)}
.login .mark{width:120px;aspect-ratio:1072/274;background:url(bilder/glas-logo.jpg) no-repeat;background-size:116.98% auto;background-position:51.1% 49.6%;mix-blend-mode:multiply;margin-bottom:10px}
.login h3{margin:0;font-size:26px;font-weight:600;letter-spacing:-0.02em;color:#141E33}
.login p.s{margin:-6px 0 4px;font-size:14px;color:#4B5875}
.acct{width:100%;display:flex;align-items:center;gap:12px;padding:12px 14px;background:#fff;border-radius:14px;box-shadow:0 1px 2px rgba(29,42,68,.06);text-align:left}
.acct .av{flex:none;width:32px;height:32px;border-radius:50%;background:linear-gradient(160deg,#4C8DFF,#1A63E8);color:#fff;font-size:12px;font-weight:700;display:grid;place-items:center}
.acct span{flex:1;font-size:15px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.acct button{border:0;background:none;width:28px;height:28px;border-radius:8px;color:#6B7790}
.acct button:hover{background:#F1F4F9}
.field{width:100%;text-align:left;display:grid;gap:6px;font-size:13px;font-weight:600;color:#4B5875}
.field input{width:100%;height:48px;padding:0 14px;border-radius:14px;border:1px solid #D7DEEA;background:#fff;font:500 15px "Manrope",sans-serif;color:#1D2A44}
.field input:focus{outline:3px solid rgba(26,107,255,.3);border-color:#1A63E8}
.cta{width:100%;height:50px;border:0;border-radius:14px;background:#1A63E8;background-image:linear-gradient(180deg,rgba(255,255,255,.28),rgba(255,255,255,0) 60%);color:#fff;font-weight:700;font-size:15px;box-shadow:0 1px 2px rgba(18,40,80,.18);transition:transform .15s cubic-bezier(.2,.8,.2,1),filter .2s}
.cta:hover{filter:brightness(1.05)}
.cta:active{transform:scale(.97)}
.cta[disabled]{opacity:.45;cursor:not-allowed;box-shadow:none}
.or{width:100%;display:flex;align-items:center;gap:12px;font-size:11px;font-weight:700;letter-spacing:.12em;color:#5B6680}
.or::before,.or::after{content:"";flex:1;height:1px;background:#DCE2EC}
.ghost{width:100%;height:46px;border:0;border-radius:14px;background:#fff;color:#1A5BD8;font-weight:600;font-size:14.5px;box-shadow:0 1px 2px rgba(29,42,68,.06)}
.ghost:hover{background:#FAFBFE}
.hint{font-size:13px;color:#4B5875;background:#fff;border-radius:12px;padding:10px 12px;box-shadow:0 1px 2px rgba(29,42,68,.06)}
.steps-ui{width:100%;display:grid;gap:2px;background:#fff;border-radius:16px;padding:8px 14px;box-shadow:0 1px 2px rgba(29,42,68,.06);text-align:left}
.steps-ui div{display:flex;align-items:center;gap:12px;height:44px;font-size:15px;color:#9AA4B6;transition:color .3s}
.steps-ui div.on,.steps-ui div.done{color:#1D2A44}
.steps-ui i{flex:none;width:24px;height:24px;border-radius:50%;background:#E9EDF4;position:relative;transition:background .3s}
.steps-ui .done i{background:#26704E}
.steps-ui .done i::after{content:"";position:absolute;left:8px;top:6px;width:6px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.steps-ui .on i{background:#E8F0FF}
.steps-ui .on i::after{content:"";position:absolute;inset:4px;border-radius:50%;border:2px solid #1A63E8;border-right-color:transparent;animation:ui-spin .8s linear infinite}
.welcome .ok{width:56px;height:56px;border-radius:16px;background:#EDF7F1;display:grid;place-items:center}
.welcome .ok::after{content:"";width:9px;height:17px;border:solid #26704E;border-width:0 3px 3px 0;transform:rotate(45deg) translate(-1px,-2px)}
.bar-ui{width:100%;height:5px;border-radius:5px;background:#E6EBF3;overflow:hidden}
.bar-ui b{display:block;height:100%;width:0;border-radius:5px;background:linear-gradient(90deg,#5CC7FF,#1A63E8);transition:width 1.4s cubic-bezier(.2,.8,.2,1)}
.ready{width:100%;display:grid;gap:10px}
.ready .tile{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:16px;border-radius:16px;background:#fff;box-shadow:0 1px 2px rgba(29,42,68,.06);text-align:left}
.ready .tile b{font-size:15px}
.ready .tile span{font-size:13px;color:#4B5875}
.ready .tile .n{font-size:28px;font-weight:700;color:#A9364E;font-variant-numeric:tabular-nums}
.link-ui{border:0;background:none;color:#1A5BD8;font-weight:600;font-size:14px;padding:8px}

/* ---------- Prüffall ---------- */
.case{padding:22px;display:grid;gap:14px}
.case .head-ui{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.case .counts{display:flex;gap:8px;font-size:13px;font-weight:600}
.case .counts span{padding:6px 11px;border-radius:999px;background:#fff;box-shadow:0 1px 2px rgba(29,42,68,.06);font-variant-numeric:tabular-nums;transition:background .3s,color .3s}
.case .counts .c-open{color:#A9364E}
.case .counts .c-ok{color:#26704E}
.case .card{background:#fff;border-radius:16px;box-shadow:0 1px 2px rgba(29,42,68,.06);overflow:hidden;transition:box-shadow .3s}
.case .card .top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 18px 12px}
.case .tag{display:inline-block;font-size:12px;font-weight:600;color:#A9364E;background:#FCF0F2;padding:3px 9px;border-radius:999px;margin-bottom:6px;transition:background .3s,color .3s}
.case .card h3{margin:0;font-size:19px;font-weight:700;letter-spacing:-0.01em}
.case .card small{font-size:13px;color:#4B5875}
.case .row-ui{display:grid;grid-template-columns:1.1fr 1fr 1fr auto;gap:10px;align-items:center;padding:12px 18px;font-size:14px;border-top:1px solid #EDF1F6}
.case .row-ui.k{font-size:11.5px;font-weight:700;letter-spacing:.06em;color:#6B7790;padding-top:10px;padding-bottom:6px}
.case .row-ui.bad{background:#FDF5F6}
.case .row-ui .x{font-weight:700;color:#A9364E;white-space:nowrap}
.case .row-ui .ok{font-weight:700;color:#26704E;white-space:nowrap}
.case .acts{display:flex;flex-wrap:wrap;gap:8px;padding:14px 18px 18px;border-top:1px solid #EDF1F6}
.case .btn-ui{height:40px;padding:0 16px;border-radius:999px;border:1px solid #D7DEEA;background:#fff;font-size:14px;font-weight:600}
.case .btn-ui:hover{background:#F6F8FC}
.case .btn-ui.pri{border:0;background:#1A63E8;color:#fff}
.case .btn-ui.pri:hover{filter:brightness(1.06)}
.case .btn-ui:active{transform:scale(.97)}
.case .reason{display:none;padding:0 18px 18px;gap:10px}
.case.asking .reason{display:grid}
.case.asking .acts{display:none}
.case .chips{display:flex;flex-wrap:wrap;gap:8px}
.case .chips button{height:34px;padding:0 12px;border-radius:999px;border:1px solid #D7DEEA;background:#fff;font-size:13px;font-weight:600;color:#1D2A44}
.case .chips button[aria-pressed=true]{background:#E8F0FF;border-color:#1A63E8;color:#1A5BD8}
.case textarea{width:100%;min-height:64px;padding:10px 12px;border-radius:12px;border:1px solid #D7DEEA;font:500 14px/1.4 "Manrope",sans-serif;color:#1D2A44;resize:none}
.case .rowbtn{display:flex;gap:8px}
.case.done .tag{background:#EDF7F1;color:#26704E}
.case.done .row-ui.bad{background:#fff}
.case.done .row-ui .x{color:#26704E}
.case .doneline{display:none;padding:14px 18px 18px;border-top:1px solid #EDF1F6;font-size:14px;color:#26704E;font-weight:600}
.case.done .doneline{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.case.done .acts,.case.done .reason{display:none}
.case .doneline button{border:0;background:none;color:#1A5BD8;font-weight:600;font-size:14px;padding:0}
.case .peek{display:none;margin:0 18px 16px;padding:14px;border-radius:12px;background:#F6F8FC;font-size:13px;color:#4B5875}
.case.peeking .peek{display:block}

@keyframes ui-spin{to{transform:rotate(360deg)}}
@keyframes ui-in{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.login .pane{animation:none}.steps-ui .on i::after{animation:none}.bar-ui b{transition:none}}
@media (max-width:520px){
  .case .row-ui{grid-template-columns:1fr 1fr;row-gap:4px}
  .case .row-ui.k{display:none}
  .case .row-ui>span:first-child{grid-column:1/-1;font-weight:600}
}

/* ---------- Durchsicht: Bestellung und Bestätigung übereinander ---------- */
.match{--rh:52px;position:relative;font-family:inherit;color:#1D2A44;padding:22px;background:#FAFBFE}
.match .bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px;font-size:14px;color:#4B5875}
.match .bar b{color:#1D2A44;font-weight:700}
.match .seg{display:inline-flex;background:rgba(29,42,68,.07);border-radius:999px;padding:4px;gap:4px}
.match .seg button{border:0;background:transparent;font-size:13.5px;font-weight:600;line-height:1;font-family:inherit;color:#4B5875;padding:10px 14px;border-radius:999px;cursor:pointer;min-height:36px;white-space:nowrap}
.match .seg button[aria-pressed=true]{background:#fff;color:#1D2A44;box-shadow:0 1px 2px rgba(29,42,68,.12)}
.match .sheets{position:relative;height:calc(6*var(--rh) + 36px + 34px)}
.match .sheet{position:absolute;left:0;right:0;top:34px;background:rgba(255,255,255,.9);border:1px solid rgba(22,24,29,.08);border-radius:14px;padding:18px 22px;transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.match .tab{position:absolute;top:-34px;height:34px;padding:0 14px;display:flex;align-items:center;border-radius:10px 10px 0 0;font-size:14px;font-weight:600;background:rgba(255,255,255,.8);border:1px solid rgba(22,24,29,.10);border-bottom:0;white-space:nowrap}
.match .po .tab{left:18px}
.match .ab .tab{right:18px}
.match .po{transform:translate(-5%,8px) rotate(-1.2deg)}
.match .ab{transform:translate(5%,-4px) rotate(1deg)}
.match.matched .po,.match.matched .ab{transform:none}
.match .rows{position:relative;z-index:1}
.match .po .rows{transition:opacity .3s}
.match.matched .po .rows{opacity:0}
.match .r{display:grid;grid-template-columns:1.1fr 1fr 26px;align-items:center;height:var(--rh);border-bottom:1px solid rgba(22,24,29,.07);font-size:16px}
.match .r:last-child{border-bottom:0}
.match .k{color:#4B5875}
.match .v{font-weight:500;white-space:nowrap}
.match .s{justify-self:end;width:22px;height:22px;border-radius:50%;opacity:0;transform:scale(.6);transition:opacity .3s,transform .3s}
.match .po .s{display:none}
.match.judged .s{opacity:1;transform:none}
.match .s.ok{background:#26704E}
.match .s.ok::after{content:"";display:block;width:9px;height:5px;margin:7px 0 0 6px;border:2px solid #fff;border-top:0;border-right:0;transform:rotate(-45deg)}
.match .s.no{background:#A9364E}
.match .s.no::after{content:"!";display:block;text-align:center;color:#fff;font:700 14px/22px system-ui,sans-serif}
.match .hl{position:absolute;left:-10px;right:-10px;top:calc(18px + var(--i)*var(--rh));height:var(--rh);border-radius:10px;background:#FCF0F2;box-shadow:inset 0 0 0 1.5px rgba(169,54,78,.35);opacity:0;transition:opacity .35s;pointer-events:none}
.match.flag.judged .hl{opacity:1}
/* Alter Wert aus der Bestellung, durchgestrichen vor dem neuen Wert */
.match .v{position:relative}
.match .was{position:absolute;right:calc(100% + 16px);top:0;white-space:nowrap;color:#A9364E;opacity:0;transform:translateX(12px);transition:opacity .3s,transform .4s cubic-bezier(.2,.8,.2,1);pointer-events:none}
.match .was s{text-decoration-thickness:1.5px}
.match.flag.judged .was{opacity:1;transform:none}
.match .result{margin-top:20px;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;border-radius:14px;background:#fff;opacity:0;transform:translateY(8px);transition:opacity .4s,transform .4s}
.match.judged .result{opacity:1;transform:none}
.match .result b{font-weight:600}
.match .result span{font-size:14px;color:#4B5875}
.match .pill{font-size:14px;font-weight:600;padding:8px 12px;border-radius:999px;white-space:nowrap}
.match.flag .pill{background:#FCF0F2;color:#A9364E}
.match:not(.flag) .pill{background:#EDF7F1;color:#26704E}
.match .pill[hidden]{display:none}
.match .pill.go{display:inline-flex;align-items:center;gap:8px;border:0;cursor:pointer;min-height:40px;padding:0 16px;font-family:inherit;background:#1A63E8;color:#fff;transition:background .2s,transform .15s cubic-bezier(.2,.8,.2,1)}
.match .pill.go:hover{filter:brightness(1.07)}
.match .pill.go:active{transform:scale(.97)}
.match .pill.go svg{transition:transform .2s cubic-bezier(.2,.8,.2,1)}
.match .pill.go:hover svg{transform:translateX(3px)}
.ready .cta{margin-top:6px}
@media (prefers-reduced-motion:reduce){.match .sheet,.match .s,.match .hl,.match .result,.match .was,.match .po .rows{transition:none}}
@media (max-width:640px){
  .match{--rh:46px}
  .match .r{font-size:14px;grid-template-columns:1fr 1.15fr 24px}
  .match .v{overflow:hidden;text-overflow:ellipsis}
  .match .tab .nr{display:none}
  .match .was{display:none}
}

/* Sternchen: vereinfachte Ansicht, nicht das vollständige Dashboard */
.ui-win .ast{position:absolute;right:14px;bottom:10px;font:600 15px/1 "Manrope",sans-serif;color:#6B7790}
.list-ui{background:#fff;border-radius:16px;box-shadow:0 1px 2px rgba(29,42,68,.06);padding:6px 16px}
.list-ui .lh{font-size:12.5px;font-weight:600;color:#6B7790;padding:10px 0 6px}
.list-ui .li{display:grid;grid-template-columns:120px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-top:1px solid #EEF2F7;font-size:14px}
.list-ui .li b{font-weight:600;font-variant-numeric:tabular-nums}
.list-ui .li span{color:#4B5875;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.list-ui .li em{font-style:normal;font-size:12.5px;font-weight:600;color:#26704E;background:#EDF7F1;padding:4px 10px;border-radius:999px}
@media (max-width:520px){.list-ui .li{grid-template-columns:1fr auto}.list-ui .li span{display:none}}
