.tramx-pw{
	--pw-gap:12px;--pw-radius:14px;--pw-border:rgba(0,0,0,.12);
	--pw-muted:rgba(0,0,0,.62);--pw-soft:rgba(0,0,0,.04);--pw-bg:#fff;
	max-width:1200px;margin:1.5rem auto
}
.tramx-pw__heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.tramx-pw__heading h2{margin:0;font-size:clamp(1.7rem,4vw,2.6rem);line-height:1.1}
.tramx-pw__heading span{color:var(--pw-muted);white-space:nowrap}
.tramx-pw__upload{margin:0 0 1.25rem}
.tramx-pw__form,.tramx-pw__login{border:1px solid var(--pw-border);border-radius:var(--pw-radius);padding:1rem;background:var(--pw-soft)}
.tramx-pw__form-title{margin-bottom:1rem}
.tramx-pw__form-title strong,.tramx-pw__form-title small{display:block}
.tramx-pw__form-title strong{font-size:1.1rem}
.tramx-pw__form-title small{margin-top:.2rem;color:var(--pw-muted)}
.tramx-pw__fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem 1rem}
.tramx-pw__wide{grid-column:1/-1}
.tramx-pw__form label:not(.tramx-pw__rights){display:block;margin-bottom:.3rem;font-weight:700}
.tramx-pw__form input[type=text],.tramx-pw__form textarea,.tramx-pw__form input[type=file]{width:100%;box-sizing:border-box}
.tramx-pw__form input[type=text],.tramx-pw__form textarea{border:1px solid var(--pw-border);border-radius:9px;padding:.65rem .75rem;background:var(--pw-bg);color:inherit}
.tramx-pw__form small{color:var(--pw-muted)}
.tramx-pw__preview{margin-top:1rem}
.tramx-pw__preview img{display:block;max-width:220px;max-height:220px;object-fit:cover;border-radius:10px}
.tramx-pw__honeypot{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.tramx-pw__rights{display:flex;align-items:flex-start;gap:.55rem;margin:1rem 0;font-size:.92rem}
.tramx-pw__button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:.72rem 1rem;background:#111;color:#fff;text-decoration:none;font-weight:800;cursor:pointer}
.tramx-pw__button:hover,.tramx-pw__button:focus{color:#fff;opacity:.88}
.tramx-pw__button--secondary{background:transparent;color:inherit;border:1px solid var(--pw-border);margin-left:.45rem}
.tramx-pw__button--secondary:hover,.tramx-pw__button--secondary:focus{color:inherit}
.tramx-pw__login p{margin:.3rem 0 .8rem;color:var(--pw-muted)}
.tramx-pw-notice{margin:0 0 1rem;border-radius:10px;padding:.8rem .95rem;border:1px solid var(--pw-border)}
.tramx-pw-notice--success{background:rgba(46,125,50,.08)}
.tramx-pw-notice--error{background:rgba(197,22,46,.08)}
.tramx-pw__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:var(--pw-gap)}
.tramx-pw__tile{margin:0;min-width:0}
.tramx-pw__open{position:relative;display:block;width:100%;padding:0;border:0;border-radius:var(--pw-radius);overflow:hidden;background:var(--pw-soft);cursor:zoom-in;aspect-ratio:1/1}
.tramx-pw__image{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.tramx-pw__open:hover .tramx-pw__image,.tramx-pw__open:focus-visible .tramx-pw__image{transform:scale(1.035)}
.tramx-pw__overlay{position:absolute;inset:auto 0 0;display:flex;flex-direction:column;gap:.15rem;padding:2rem .75rem .7rem;text-align:left;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.78))}
.tramx-pw__caption{font-weight:750;line-height:1.25}
.tramx-pw__uploader{font-size:.78rem;opacity:.86}
.tramx-pw__empty{padding:2rem 1rem;text-align:center;border:1px dashed var(--pw-border);border-radius:var(--pw-radius);color:var(--pw-muted)}
.tramx-pw__lightbox{width:min(96vw,1100px);max-width:none;padding:0;border:0;border-radius:16px;background:#111;color:#fff;box-shadow:0 30px 90px rgba(0,0,0,.45)}
.tramx-pw__lightbox::backdrop{background:rgba(0,0,0,.82)}
.tramx-pw__lightbox>img{display:block;width:100%;max-height:82vh;object-fit:contain;background:#000}
.tramx-pw__lightbox-meta{padding:.8rem 1rem 1rem}
.tramx-pw__lightbox-meta [data-role=caption]{font-weight:750}
.tramx-pw__lightbox-meta [data-role=uploader]{margin-top:.15rem;font-size:.85rem;opacity:.72}
.tramx-pw__close{position:absolute;z-index:2;top:.6rem;right:.6rem;width:42px;height:42px;border:0;border-radius:50%;background:rgba(0,0,0,.65);color:#fff;font-size:1.7rem;line-height:1;cursor:pointer}
@media (prefers-color-scheme:dark){.tramx-pw{--pw-border:rgba(255,255,255,.14);--pw-muted:rgba(255,255,255,.65);--pw-soft:rgba(255,255,255,.05);--pw-bg:#111}}
@media (max-width:640px){.tramx-pw__fields{grid-template-columns:1fr}.tramx-pw__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.tramx-pw__button--secondary{margin-left:0;margin-top:.45rem}}