/* Aussteller-Portal & Ausstellerverzeichnis */
.p-wrap{--pc:var(--lime-dark)}
.p-wrap .note{margin-bottom:18px}
/* Login */
.p-login{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:28px;align-items:stretch}
.p-login-box{background:#fff;border:1px solid var(--line);border-radius:20px;padding:36px;box-shadow:var(--shadow)}
.p-login-box h2{margin:.1em 0 .6em}
.p-login-box .f-row{margin-bottom:14px}
.p-login-info{background:radial-gradient(120% 140% at 0% 0%,#123E7C 0%,var(--navy) 60%,#071A37 100%);color:#DCE7F5;border-radius:20px;padding:36px}
.p-login-info h3{color:#fff;margin-top:0}
.p-ticks{list-style:none;margin:0 0 18px;padding:0}
.p-ticks li{position:relative;padding:6px 0 6px 30px}
.p-ticks li::before{content:"✓";position:absolute;left:0;top:6px;width:20px;height:20px;border-radius:50%;background:var(--lime);color:var(--navy);font-weight:800;font-size:.75rem;display:grid;place-items:center}
.p-login-info .btn-outline{border-color:#fff;color:#fff!important}
.p-login-links{font-size:.92rem}
.p-pass{position:relative}
.p-pass input{padding-right:48px!important}
.p-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:none;cursor:pointer;font-size:1.1rem;padding:6px;opacity:.6}
.p-eye:hover{opacity:1}
/* Kopf */
.p-head{display:grid;grid-template-columns:150px 1fr auto;gap:24px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px 26px;box-shadow:var(--shadow);margin-bottom:18px}
.p-head-logo{width:150px;height:84px;border-radius:16px;background:var(--mist);border:1px solid var(--line);display:grid;place-items:center;overflow:hidden}
.p-head-logo img{width:100%;height:100%;object-fit:contain}
.p-head-logo span{font-family:var(--head);font-weight:800;font-size:2.4rem;color:var(--blue)}
.p-head h2{margin:.1em 0 .25em;font-size:clamp(1.5rem,3vw,2.1rem)}
.p-head .eyebrow{margin:0}
.p-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.chip{display:inline-block;border-radius:999px;padding:.25em .8em;font-size:.82rem;font-weight:700;background:var(--ice);color:var(--blue);border:1px solid #CFE0F2}
.chip.ok,.chip.gebucht,.chip.bestaetigt{background:#EEF9E7;color:var(--lime-dark);border-color:#CDEBBB}
.chip.angefragt{background:#FFF7E5;color:#946300;border-color:#F3DFAE}
.chip.storniert{background:#FDECEC;color:var(--red);border-color:#F4C7C6}
.chip.gold{background:linear-gradient(135deg,#F7E39A,#D9B44A);color:#5A4300;border-color:#D9B44A}
.p-head-side{display:flex;align-items:center;gap:18px}
.p-ring{--p:0;width:92px;height:92px;border-radius:50%;background:conic-gradient(var(--lime) calc(var(--p)*1%),var(--ice) 0);display:grid;place-items:center;align-content:center;position:relative;flex:none}
.p-ring::before{content:"";position:absolute;inset:9px;border-radius:50%;background:#fff}
.p-ring b,.p-ring span{position:relative;line-height:1.1;text-align:center}
.p-ring b{font-family:var(--head);font-weight:800;font-size:1.35rem;color:var(--navy)}
.p-ring span{font-size:.56rem;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}
.p-user{font-size:.85rem;color:var(--muted);margin:0;text-align:right;line-height:1.5}
/* Tabs */
.p-tabs{display:flex;flex-wrap:wrap;gap:6px;padding:6px;background:var(--navy);border-radius:16px;margin-bottom:18px;scrollbar-width:thin;position:sticky;top:76px;z-index:20}
.p-tabs a{flex:none;display:flex;align-items:center;gap:8px;padding:.7em 1em;border-radius:11px;color:#C9DCF2;text-decoration:none;font-weight:700;font-size:.92rem;white-space:nowrap;transition:background .15s,color .15s}
.p-tabs a:hover{background:rgba(255,255,255,.08);color:#fff}
.p-tabs a.on{background:#fff;color:var(--navy)}
.p-tabs i{font-style:normal;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font-size:.7rem}
.p-tabs i.ok{background:var(--lime);color:var(--navy)}
.p-tabs i.todo{border:2px solid #E0A21B}
.js .p-sec{display:none}
.js .p-sec.on{display:block;animation:pfade .25s ease}
@keyframes pfade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.p-sec{scroll-margin-top:150px}
.p-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px;margin-bottom:18px;box-shadow:0 10px 30px -22px rgba(10,35,72,.35)}
.p-card h3{margin-top:0}
.p-card fieldset{border:0;padding:0;margin:0 0 22px}
.p-card legend{font-family:var(--head);font-weight:800;color:var(--blue);font-size:1rem;margin-bottom:12px;padding:0}
.p-grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.p-grid2 .p-card{margin-bottom:0}
.p-grid2+.p-card{margin-top:18px}
.p-actions{margin:22px 0 0;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.p-link-btn{background:none;border:0;padding:0;color:var(--red);font:inherit;font-size:.9rem;cursor:pointer;text-decoration:underline}
.p-empty{color:var(--muted);font-style:italic}
/* Checkliste */
.p-check{list-style:none;margin:0;padding:0}
.p-check li a{display:flex;align-items:center;gap:12px;padding:11px 4px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);font-weight:600}
.p-check li:last-child a{border-bottom:0}
.p-check li i{width:22px;height:22px;border-radius:50%;border:2px solid #E0A21B;flex:none;display:grid;place-items:center;font-style:normal;font-size:.75rem}
.p-check li.done i{background:var(--lime);border-color:var(--lime)}
.p-check li.done i::before{content:"✓";color:var(--navy);font-weight:800}
.p-check li span{margin-left:auto;font-size:.8rem;color:#946300;font-weight:700}
.p-check li.done span{color:var(--lime-dark)}
.p-check li a:hover{color:var(--blue)}
.p-dl{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;margin:0}
.p-dl dt{color:var(--muted)}
.p-dl dd{margin:0;font-weight:600}
.p-sum{font-family:var(--head);font-weight:800;font-size:1.5rem;color:var(--navy);padding:8px 0}
.p-count{text-align:right;font-size:.8rem;color:var(--muted);margin-top:4px}
.p-count.warn{color:#946300}.p-count.full{color:var(--red);font-weight:700}
/* Kategorien */
.p-chipset{display:flex;flex-wrap:wrap;gap:8px}
.p-chipset label{margin:0;cursor:pointer}
.p-chipset input{position:absolute;opacity:0;pointer-events:none}
.p-chipset span{display:inline-block;padding:.45em .95em;border-radius:999px;border:1.5px solid var(--line);background:var(--mist);font-weight:600;font-size:.9rem;color:var(--ink);transition:all .15s}
.p-chipset input:checked+span{background:var(--blue);border-color:var(--blue);color:#fff}
.p-chipset input:focus-visible+span{box-shadow:0 0 0 4px rgba(31,120,200,.2)}
/* Logo */
.p-logo{display:grid;grid-template-columns:280px 1fr;gap:22px;align-items:center}
.p-logo-tile{aspect-ratio:16/9;border-radius:14px;border:1px solid var(--line);background:#fff;display:grid;place-items:center;overflow:hidden;background-image:linear-gradient(45deg,#F2F6FA 25%,transparent 25%),linear-gradient(-45deg,#F2F6FA 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#F2F6FA 75%),linear-gradient(-45deg,transparent 75%,#F2F6FA 75%);background-size:16px 16px;background-position:0 0,0 8px,8px -8px,-8px 0}
.p-logo-tile img{width:100%;height:100%;object-fit:contain}
.p-logo-tile.empty{border-style:dashed;color:var(--muted);font-size:.9rem}
.p-logo-tile.pending img{object-fit:contain;padding:12%}
.p-file{display:flex!important;align-items:center;gap:12px;flex-wrap:wrap;cursor:pointer;font-weight:400!important}
.p-file input{position:absolute;width:1px;height:1px;opacity:0}
.p-file input:focus-visible+.btn{box-shadow:0 0 0 4px rgba(31,120,200,.25)}
.p-file-name{font-size:.88rem;color:var(--muted)}
.p-file-name.set{color:var(--ink);font-weight:600}
/* Personal */
.p-staff{display:grid;gap:8px}
.p-staff-head,.p-staff-row{display:grid;grid-template-columns:30px 1.3fr 1fr 1.3fr 1fr 110px;gap:8px;align-items:center}
.p-staff-head{font-size:.78rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;padding:0 2px}
.p-staff-row input{width:100%;font:inherit;font-size:.95rem;padding:10px 12px;border:1.5px solid var(--line);border-radius:10px;background:var(--mist);min-width:0}
.p-staff-row input:focus{outline:0;border-color:var(--water);background:#fff}
.p-staff-n{font-family:var(--head);font-weight:800;color:var(--blue);text-align:center}
.p-staff-end{display:flex;align-items:center;justify-content:flex-end;gap:6px}
.p-tag{visibility:hidden;font-size:.72rem;font-weight:700;background:#FFF7E5;color:#946300;border:1px solid #F3DFAE;border-radius:999px;padding:.15em .6em}
.p-staff-row.extra .p-tag{visibility:visible}
.p-staff-row.extra input{background:#FFFCF3}
.p-x{border:0;background:var(--ice);color:var(--muted);width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:1.1rem;line-height:1}
.p-x:hover{background:#FDECEC;color:var(--red)}
/* Dateien */
.p-files{list-style:none;margin:0 0 22px;padding:0}
.p-files li{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}
.p-files li div{flex:1;min-width:0}
.p-files li a{font-weight:600;word-break:break-all}
.p-files small{display:block;color:var(--muted)}
.p-files form{margin:0}
.p-file-ico{flex:none;width:46px;height:46px;border-radius:10px;background:var(--ice);color:var(--blue);display:grid;place-items:center;font-family:var(--head);font-weight:800;font-size:.72rem}
.p-busy{opacity:.6;pointer-events:none}
/* Verzeichnis */
.ex-tools{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-bottom:24px}
.ex-tools input[type=search]{flex:1 1 260px;font:inherit;padding:12px 16px;border:1.5px solid var(--line);border-radius:999px;background:var(--mist)}
.ex-tools input[type=search]:focus{outline:0;border-color:var(--water);background:#fff}
.ex-filter{display:flex;flex-wrap:wrap;gap:8px}
.ex-filter button{font:inherit;font-size:.88rem;font-weight:700;padding:.5em 1em;border-radius:999px;border:1.5px solid var(--line);background:#fff;color:var(--ink);cursor:pointer}
.ex-filter button.on{background:var(--navy);border-color:var(--navy);color:#fff}
.ex-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px;align-items:stretch}
.ex-grid.one{grid-template-columns:minmax(0,340px)}
.ex-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:transform .2s,box-shadow .2s}
.ex-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.ex-card[hidden]{display:none}
.ex-card.gold{border-color:#D9B44A;box-shadow:0 0 0 1px #D9B44A inset}
.ex-logo{aspect-ratio:16/9;background:#fff;border-bottom:1px solid var(--line);display:grid;place-items:center;padding:6px}
.ex-logo img{width:100%;height:100%;object-fit:contain}
.ex-noimg{font-family:var(--head);font-weight:800;font-size:3rem;color:var(--line)}
.ex-more summary,.ex-static{min-height:104px}
.ex-more summary{list-style:none;display:flex;align-items:center;gap:12px;padding:14px 16px 16px 18px;cursor:pointer}
.ex-more summary::-webkit-details-marker{display:none}
.ex-more summary:focus-visible{outline:3px solid rgba(31,120,200,.35);outline-offset:-3px}
.ex-static{padding:14px 18px 16px}
.ex-id{flex:1;min-width:0}
.ex-id h3{font-size:1.05rem;line-height:1.25;margin:0 0 6px}
.ex-tags{display:flex;flex-wrap:wrap;gap:6px;margin:0}
.ex-tag{font-size:.7rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:.25em .7em;border-radius:999px;background:var(--ice);color:var(--blue)}
.ex-tag.gold{background:linear-gradient(135deg,#F7E39A,#D9B44A);color:#5A4300}
.ex-tag.stand{background:#fff;border:1px solid var(--line);color:var(--muted)}
.ex-plus{flex:none;width:34px;height:34px;border-radius:50%;background:var(--navy);position:relative;transition:transform .25s,background .2s}
.ex-plus::before,.ex-plus::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:2.5px;background:#fff;border-radius:2px;transform:translate(-50%,-50%)}
.ex-plus::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .25s}
.ex-more summary:hover .ex-plus{background:var(--blue)}
.ex-card.gold .ex-plus{background:#B8922C}
.ex-more[open] .ex-plus{transform:rotate(180deg)}
.ex-more[open] .ex-plus::after{transform:translate(-50%,-50%) rotate(0deg)}
.ex-body{padding:0 18px 18px;border-top:1px dashed var(--line);padding-top:14px;animation:pfade .25s ease}
.ex-meta{font-size:.85rem;color:var(--muted);margin:0 0 8px;font-weight:600}
.ex-text{font-size:.95rem;line-height:1.5;margin:0 0 12px;color:var(--ink)}
.ex-cats{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.ex-cats span{font-size:.75rem;font-weight:700;background:var(--ice);color:var(--blue);border-radius:999px;padding:.2em .7em}
.ex-link{margin:0;font-weight:700;font-size:.92rem}
.ex-link a{text-decoration:none}
@keyframes pfade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (max-width:960px){.p-login{grid-template-columns:1fr}.p-grid2{grid-template-columns:1fr}.p-logo{grid-template-columns:1fr}.p-logo-tile{max-width:340px}
 .p-staff-head{display:none}.p-staff-row{grid-template-columns:30px 1fr 1fr;padding:12px;border:1px solid var(--line);border-radius:12px}.p-staff-n{grid-row:span 2}.p-staff-end{grid-column:2/-1;justify-content:space-between}}
@media (max-width:640px){.p-head{grid-template-columns:96px 1fr;padding:18px;gap:14px}.p-head-logo{width:96px;height:54px}.p-tabs{flex-wrap:nowrap;overflow-x:auto}.p-head .eyebrow{display:none}.p-head h2{font-size:1.35rem}.p-chips .chip{font-size:.75rem}.p-head-side{grid-column:1/-1;justify-content:space-between}.p-user{text-align:left}.p-ring{width:76px;height:76px}.p-card,.p-login-box,.p-login-info{padding:22px}.p-tabs{top:64px;border-radius:12px}
 .p-staff-row{grid-template-columns:1fr}.p-staff-n{grid-row:auto;text-align:left}.p-staff-end{grid-column:auto}}
