/* Baduno Kundenbereich */
body.app-auth{background:var(--paper);min-height:100vh;display:grid;place-items:center;padding:1.5rem}
.au-wrap{width:min(1040px,100%)}
.au-card{
  display:grid;grid-template-columns:1.05fr .95fr;background:var(--white);
  border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 24px 70px #1e222b1f;
  min-height:640px;
}
.au-form{padding:clamp(1.6rem,4vw,3rem);display:flex;flex-direction:column;gap:.9rem;justify-content:center}
.au-form h1{font-size:1.9rem;margin:.8rem 0 0}
.au-form h2{font-size:1.2rem;margin:1rem 0 0}
.au-sub{color:var(--muted);margin:.2rem 0 .6rem;font-size:.95rem}
.au-form form{display:grid;gap:.8rem}
.au-form label{display:grid;gap:.3rem;font-size:.88rem;color:var(--muted)}
.au-form input:not([type=checkbox]),.au-form textarea{
  background:var(--white);border:1px solid #CFC9BA;border-radius:8px;padding:.7rem .85rem;font:inherit;color:var(--ink);width:100%;
}
.au-form input:focus{outline:2px solid var(--gold);border-color:transparent}
.au-err{color:#B4232A;font-size:.85rem;margin:0;min-height:1em}
.ap-ok{color:#1F7A3D;font-size:.9rem}
.au-or{display:flex;align-items:center;gap:.8rem;color:var(--muted);font-size:.8rem}
.au-or::before,.au-or::after{content:"";flex:1;height:1px;background:var(--line)}
.au-alts{display:grid;gap:.5rem}
.au-alt{display:flex;align-items:center;justify-content:center;gap:.6rem;border:1px solid var(--line);background:var(--white);color:var(--ink)}
.au-alt svg{width:18px;height:18px}
.au-alt:hover{border-color:var(--gold)}
.au-google[disabled]{opacity:.55;cursor:not-allowed}
.au-magic{font-size:.88rem;text-align:center}
.au-switch{font-size:.9rem;color:var(--muted)}
.au-hint{font-size:.78rem;color:var(--muted);background:var(--paper2);border-radius:8px;padding:.5rem .7rem}
.au-demo{font-size:.7rem;color:var(--muted);margin-top:auto}
.au-code{font-size:1.4rem;letter-spacing:.4em;text-align:center;max-width:12rem}
.au-vis{position:relative;min-height:300px}
.au-vis img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.au-grad{position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,#14161DD9)}
.au-claim{position:absolute;bottom:1.2rem;inset-inline:1.4rem;color:#fff;font-family:var(--font-display);font-size:1.3rem}
html[dir=rtl] .au-claim{font-family:var(--font-fa)}
@media (max-width:820px){.au-card{grid-template-columns:1fr}.au-vis{display:none}}

/* Shell */
body.app-shell{background:var(--paper);margin:0}
.ap-layout{display:grid;grid-template-columns:250px 1fr;min-height:100vh}
.ap-side{
  background:var(--dark);color:#C9CCD4;padding:1.2rem .9rem;display:flex;flex-direction:column;gap:1.2rem;
  position:sticky;top:0;height:100vh;
}
.ap-side .logo{color:#fff;padding:.2rem .5rem}
.ap-side .logo span{font-family:var(--font-display);font-weight:600;font-size:1.3rem}
.sb-nav{display:grid;gap:.15rem}
.sb-item{
  display:flex;align-items:center;gap:.7rem;padding:.6rem .7rem;border-radius:9px;
  color:#C9CCD4;font-size:.92rem;border:0;background:none;font:inherit;cursor:pointer;width:100%;text-align:start;
}
.sb-item svg{width:19px;height:19px;flex:none}
.sb-item:hover{background:#FFFFFF12;color:#fff}
.sb-item.active{background:var(--gold);color:#fff;font-weight:650}
.sb-foot{margin-top:auto;display:grid;gap:.15rem;border-top:1px solid #2C303A;padding-top:.8rem}
.ap-main{min-width:0}
.ap-top{
  display:flex;align-items:center;gap:1rem;background:var(--white);border-bottom:1px solid var(--line);
  padding:.6rem clamp(1rem,3vw,2rem);position:sticky;top:0;z-index:30;
}
.ap-demo{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-deep);border:1px solid var(--gold);border-radius:999px;padding:.2rem .6rem}
.ap-top-right{margin-inline-start:auto;display:flex;align-items:center;gap:.8rem}
.ap-lang summary{padding:.35rem .7rem}
.lang-app{grid-template-columns:repeat(2,1fr);width:280px}
.ap-user{
  width:38px;height:38px;border-radius:50%;border:2px solid var(--gold);background:var(--dark);
  color:#fff;font-weight:700;display:grid;place-items:center;cursor:pointer;overflow:hidden;font-size:.85rem;
}
.ap-user img{width:100%;height:100%;object-fit:cover}
.ap-content{padding:clamp(1.2rem,3vw,2.2rem);display:grid;gap:1.3rem;max-width:1200px}
.ap-content h1{font-size:1.7rem;margin:0}
.ap-sub{color:var(--muted);margin:.2rem 0 0;font-size:.95rem}
.ap-card{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:1.3rem;box-shadow:var(--shadow)}
.ap-card h2{font-size:1.05rem;margin:0 0 .8rem}
.ap-card hr{border:0;border-top:1px solid var(--line);margin:1.2rem 0}
.ap-cols{display:grid;grid-template-columns:1.2fr 1fr;gap:1.3rem;align-items:start}
.ap-hero{position:relative;border-radius:16px;overflow:hidden;min-height:190px;display:flex;align-items:flex-end}
.ap-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ap-hero-grad{position:absolute;inset:0;background:linear-gradient(90deg,#14161DE6 0%,#14161D80 55%,transparent)}
html[dir=rtl] .ap-hero-grad{background:linear-gradient(270deg,#14161DE6 0%,#14161D80 55%,transparent)}
.ap-hero-txt{position:relative;z-index:2;padding:1.4rem;color:#fff}
.ap-hero-txt h1{color:#fff}
.ap-hero-txt p{color:#D3D5DB;margin:.2rem 0 0}
.ap-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.ap-stat{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:1rem;box-shadow:var(--shadow)}
.ap-stat strong{font-family:var(--font-display);font-size:1.7rem;display:block;color:var(--ink)}
.ap-stat span{font-size:.78rem;color:var(--muted)}
.ap-list{display:grid;gap:.6rem}
.ap-list .row{display:flex;justify-content:space-between;gap:.8rem;border-bottom:1px dashed var(--line);padding-bottom:.5rem;font-size:.92rem}
.ap-badge{font-size:.7rem;border-radius:999px;padding:.15rem .55rem;border:1px solid var(--line);color:var(--muted);vertical-align:middle}
.ap-badge.on{background:#1F7A3D14;border-color:#1F7A3D;color:#1F7A3D}
.ap-badge.st1{background:#A9761B14;border-color:var(--gold);color:var(--gold-deep)}
.ap-badge.st2{background:#1F5FA914;border-color:#1F5FA9;color:#1F5FA9}
.ap-badge.st3{background:#1F7A3D14;border-color:#1F7A3D;color:#1F7A3D}
.ap-more{display:inline-block;margin-top:.8rem;font-size:.88rem;font-weight:600}
.ap-quick{display:grid;gap:.6rem}
.ap-quick .btn{text-align:center}
.ap-table{width:100%;border-collapse:collapse;font-size:.92rem}
.ap-table th{text-align:start;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:.5rem .6rem;border-bottom:1px solid var(--line)}
.ap-table td{padding:.65rem .6rem;border-bottom:1px solid var(--paper2)}
.ap-empty{text-align:center;padding:1.5rem}
.ap-empty img{max-width:220px;border-radius:10px;margin-inline:auto}
.ap-steps{list-style:none;counter-reset:s;padding:0;margin:0;display:grid;grid-template-columns:repeat(6,1fr);gap:.6rem}
.ap-steps li{counter-increment:s;font-size:.78rem;color:var(--muted);position:relative;padding-top:1.6rem}
.ap-steps li::before{content:counter(s);position:absolute;top:0;inset-inline-start:0;width:22px;height:22px;border-radius:50%;background:var(--dark);color:#fff;display:grid;place-items:center;font-size:.7rem}
.ap-services{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.6rem}
.ap-service{
  border:1px solid var(--line);border-radius:10px;background:var(--white);padding:.75rem .9rem;
  font:inherit;font-size:.86rem;color:var(--ink);cursor:pointer;text-align:start;transition:.15s;
}
.ap-service:hover{border-color:var(--gold)}
.ap-service.sel{background:var(--dark);border-color:var(--dark);color:#fff}
.ap-card form{display:grid;gap:.8rem}
.ap-card label{display:grid;gap:.3rem;font-size:.88rem;color:var(--muted)}
.ap-card input:not([type=checkbox]),.ap-card textarea{border:1px solid #CFC9BA;border-radius:8px;padding:.65rem .8rem;font:inherit;color:var(--ink);width:100%}
.ap-langgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.5rem}
.ap-langgrid .lg{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);border-radius:9px;padding:.5rem .7rem;font-size:.85rem}
.ap-avatar-row{display:flex;gap:1rem;align-items:center;margin-bottom:1rem}
.ap-avatar-big{width:74px;height:74px;border-radius:50%;background:var(--dark);color:#fff;display:grid;place-items:center;font-size:1.5rem;font-weight:700;overflow:hidden;border:3px solid var(--gold)}
.ap-avatar-big img{width:100%;height:100%;object-fit:cover}
.ap-qr{background:#fff;padding:.7rem;border:1px solid var(--line);border-radius:10px;width:fit-content}
.ap-qr svg,.ap-qr img{display:block;width:164px;height:164px}
.ap-danger{border-color:#B4232A;color:#B4232A}
.ap-danger:hover{background:#B4232A10;border-color:#B4232A}
.ap-secimg img{border-radius:14px;border:1px solid var(--line);max-height:260px;width:100%;object-fit:cover}
.ap-cardimg{border-radius:10px;margin-bottom:.8rem}
.ap-burger{display:none}
@media (max-width:960px){
  .ap-layout{grid-template-columns:1fr}
  .ap-side{position:fixed;inset:0 30% 0 0;z-index:60;transform:translateX(-105%);transition:.28s;height:100vh}
  html[dir=rtl] .ap-side{inset:0 0 0 30%;transform:translateX(105%)}
  body.side-open .ap-side{transform:none}
  .ap-burger{display:flex;flex-direction:column;gap:4px;cursor:pointer}
  .ap-burger span{width:22px;height:2px;background:var(--ink)}
  .ap-cols,.ap-stats{grid-template-columns:1fr 1fr}
  .ap-steps{grid-template-columns:repeat(3,1fr);gap:1rem}
}
@media (max-width:600px){.ap-stats,.ap-cols{grid-template-columns:1fr}}

/* Bestellkatalog */
.ap-h2{margin:1.8rem 0 .6rem;font-size:1.15rem}
.ap-group-t{font-weight:700;color:#8C6115;margin:1.1rem 0 .5rem;letter-spacing:.02em}
.ap-packs{display:grid;grid-template-columns:repeat(3,1fr);gap:.9rem}
.ap-pack{text-align:start;background:#fff;border:1.5px solid #E4DCCB;border-radius:12px;padding:1rem 1.1rem;cursor:pointer;display:flex;flex-direction:column;gap:.25rem;transition:border-color .15s,box-shadow .15s;font:inherit}
.ap-pack:hover{border-color:#C89A4B}
.ap-pack.sel{border-color:#A9761B;box-shadow:0 10px 30px rgba(169,118,27,.18)}
.ap-pack strong{font-size:1.02rem}
.ap-pack-price{font-family:Fraunces,serif;font-style:normal;font-size:1.35rem;color:#8C6115}
.ap-pack small{color:#6b6f78}
.ap-pack-feats{display:flex;flex-direction:column;gap:.15rem;margin-top:.45rem;font-size:.84rem;color:#4a4e57}
.ap-pack-feats span::before{content:"✓ ";color:#A9761B}
.ap-service{position:relative;display:flex;flex-direction:column;gap:.2rem;align-items:flex-start}
.ap-service em{font-style:normal;font-size:.75rem;color:#8C6115}
.ap-service.sel{border-color:#A9761B;box-shadow:0 8px 24px rgba(169,118,27,.16)}
.ap-summary{border:1px dashed #D8CFBA;border-radius:10px;padding:.8rem 1rem;color:#6b6f78}
.ap-summary.has-sel{border-style:solid;border-color:#A9761B;color:#1E222B;font-weight:600}
.ap-inv-p{display:block;font-size:.8rem;color:#6b6f78;font-weight:400}
@media (max-width:820px){.ap-packs{grid-template-columns:1fr}}

/* Konfigurator */
#order-config{margin-top:1.4rem}
.ap-cfg-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.55rem 0;border-bottom:1px solid #EFEAE0}
.ap-cfg-row:last-child{border-bottom:0}
.ap-cfg-row input[type=number]{width:8.5rem;padding:.45rem .6rem;border:1px solid #D8CFBA;border-radius:8px;font:inherit;text-align:end}
.ap-cfg-radio,.ap-cfg-check{justify-content:flex-start}
.ap-summary{white-space:pre-line}

/* ===== Dashboard-Vollausbau ===== */
.sb-group{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:#7A7F8A;margin:.9rem .7rem .25rem}
.ap-bell-wrap{position:relative}
.ap-bell{list-style:none;cursor:pointer;position:relative;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:var(--white)}
.ap-bell::-webkit-details-marker{display:none}
.ap-bell svg{width:19px;height:19px;color:var(--ink)}
.ap-bell-dot{position:absolute;top:7px;right:8px;width:9px;height:9px;border-radius:50%;background:#B4232A;border:2px solid #fff}
.ap-bell-panel{position:absolute;top:calc(100% + .6rem);inset-inline-end:0;width:min(340px,86vw);background:var(--white);border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 50px #1e222b26;z-index:50;padding:.9rem}
.ap-bell-head{display:flex;justify-content:space-between;align-items:center;gap:.8rem;margin-bottom:.5rem}
.ap-bell-clear{border:0;background:none;color:#8C6115;font:inherit;font-size:.78rem;cursor:pointer}
.ap-bell-list{display:grid;gap:.15rem;max-height:320px;overflow:auto}
.ap-bell-item{padding:.55rem .6rem;border-radius:8px;font-size:.85rem}
.ap-bell-item.unread{background:#A9761B10}
.ap-bell-item p{margin:0}
.ap-bell-item time{font-size:.7rem;color:var(--muted)}
.ap-back{margin:0;font-size:.88rem}
.ap-back + #pd-head h1{margin-top:.2rem}
.ap-rowlink{cursor:pointer}
.ap-rowlink:hover td{background:#A9761B0C}
.ap-progress-list{display:grid;gap:.7rem}
.ap-prog{display:grid;grid-template-columns:3rem 1fr 3.2rem;align-items:center;gap:.7rem;font-size:.85rem}
.ap-prog-bar{height:8px;border-radius:99px;background:var(--paper2);overflow:hidden}
.ap-prog-bar i{display:block;height:100%;background:linear-gradient(90deg,#C89A4B,#A9761B);border-radius:99px}
.ap-prog em{font-style:normal;color:var(--muted);text-align:end}
.ap-tl{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.ap-tl li{position:relative;padding-inline-start:1.6rem;font-size:.9rem;color:var(--muted)}
.ap-tl li::before{content:"";position:absolute;inset-inline-start:0;top:.28em;width:12px;height:12px;border-radius:50%;border:2px solid var(--line);background:#fff}
.ap-tl li.done{color:var(--ink)}
.ap-tl li.done::before{background:#1F7A3D;border-color:#1F7A3D}
.ap-tl--act li{display:flex;justify-content:space-between;gap:1rem;padding-inline-start:1.6rem}
.ap-tl--act li::before{border-color:var(--gold);background:#A9761B22}
.ap-tl--act time{color:var(--muted);font-size:.78rem;flex:none}
.ap-drop{border:2px dashed #D8CFBA;border-radius:12px;padding:2rem 1.4rem;display:grid;gap:.3rem;justify-items:center;text-align:center;cursor:pointer;transition:.15s;color:var(--muted)}
.ap-drop strong{color:var(--ink)}
.ap-drop span{font-size:.8rem}
.ap-drop:hover,.ap-drop.over{border-color:#A9761B;background:#A9761B08}
.ap-linkbtn{border:0;background:none;color:#8C6115;font:inherit;font-size:.84rem;cursor:pointer;padding:0;margin-inline-end:.8rem;text-decoration:underline;text-underline-offset:3px}
.ap-linkbtn--danger{color:#B4232A}
.ap-langpick{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.9rem}
.ap-langchip{border:1px solid var(--line);border-radius:999px;background:var(--white);padding:.3rem .75rem;font:inherit;font-size:.82rem;cursor:pointer;color:var(--ink);transition:.12s}
.ap-langchip:hover{border-color:#C89A4B}
.ap-langchip.sel{background:var(--dark);border-color:var(--dark);color:#fff}
.ap-langpick--big .ap-langchip{padding:.45rem .95rem;font-size:.88rem}
.ap-tool-row{display:flex;align-items:center;gap:.9rem;margin:.8rem 0}
.ap-tool-words{font-size:.9rem;color:var(--muted)}
.ap-tool-words strong{font-family:var(--font-display);font-size:1.5rem;color:var(--ink);margin-inline-end:.3rem}
.ap-tool-result{border:1px solid #A9761B;border-radius:12px;background:#A9761B0C;padding:.9rem 1.1rem;display:grid;gap:.1rem;margin:.9rem 0}
.ap-tool-result span{font-size:.78rem;color:#8C6115;letter-spacing:.04em;text-transform:uppercase}
.ap-tool-result strong{font-family:var(--font-display);font-size:1.8rem;color:var(--ink)}
.ap-tool-result small{color:var(--muted)}
#tool-text{width:100%;border:1px solid #CFC9BA;border-radius:10px;padding:.8rem .9rem;font:inherit;color:var(--ink);resize:vertical}
.ap-checklist{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}
.ap-checklist li{display:flex;align-items:center;gap:.7rem;font-size:.92rem}
.ap-checklist li>span{width:22px;height:22px;flex:none;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;font-size:.75rem;color:#fff}
.ap-checklist li.done>span{background:#1F7A3D;border-color:#1F7A3D}
.ap-checklist li s{text-decoration:line-through;color:var(--muted)}
.ap-checklist li em{font-style:normal;font-size:.72rem;color:#1F7A3D;margin-inline-start:auto}
.ap-coverage{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.6rem}
.ap-coverage .ap-langchip{cursor:default}
.ap-thread{display:grid;gap:.7rem;max-height:340px;overflow:auto;margin-bottom:1rem;padding:.2rem}
.ap-msg{max-width:85%;background:var(--paper2);border-radius:12px 12px 12px 4px;padding:.6rem .8rem;font-size:.9rem}
.ap-msg.own{margin-inline-start:auto;background:#A9761B14;border-radius:12px 12px 4px 12px}
.ap-msg strong{display:block;font-size:.72rem;color:#8C6115;margin-bottom:.15rem}
.ap-msg p{margin:0}
.ap-msg time{display:block;font-size:.68rem;color:var(--muted);margin-top:.25rem}
.ap-card select{border:1px solid #CFC9BA;border-radius:8px;padding:.65rem .8rem;font:inherit;color:var(--ink);width:100%;background:#fff}
@media (max-width:700px){.ap-prog{grid-template-columns:2.4rem 1fr 2.8rem}.ap-bell-panel{position:fixed;inset-inline:1rem;top:64px;width:auto}}

/* ===== Audit-Fixes Dashboard ===== */
.ap-content > .ap-sub{margin-top:calc(.2rem - 1.3rem)}
.au-form > .au-sub{margin-top:calc(.2rem - .9rem)}
.ap-card > .ap-h2:first-child{margin-top:0}
.ap-content > .ap-h2{margin:.3rem 0 calc(.6rem - 1.3rem)}
.ap-content > .ap-group-t{margin:.2rem 0 calc(.5rem - 1.3rem)}
.ap-table tr:last-child td{border-bottom:0}
.ap-cfg-row{flex-wrap:wrap}
@media (max-width:960px){.ap-packs{grid-template-columns:1fr 1fr}}
@media (max-width:820px){.au-card{min-height:auto}.ap-packs{grid-template-columns:1fr}}

/* API-Bereich */
.ap-stats--api{grid-template-columns:repeat(3,1fr);margin-bottom:.8rem}
.ap-keyonce{background:#181B22;color:#E8E4D8;border-radius:10px;padding:.8rem 1rem;font-size:.85rem}
.ap-keyonce strong{color:#F5D9A8;font-family:ui-monospace,monospace;font-size:1rem;word-break:break-all}
.ap-chart svg{display:block}
.ap-tryout pre{background:#14161D;color:#E8E4D8;border-radius:10px;padding:.9rem 1rem;font-size:.8rem;overflow-x:auto;margin:.8rem 0 0}
#api-try textarea{resize:vertical}
.ap-card .doc-code{margin:.6rem 0}
.ap-card .doc-code pre{font-size:.78rem}
