.pss-virtual-portal-inner{max-width:1240px;margin:0 auto;padding:28px 20px 56px}.pss-screen-title{margin:0 0 22px;font-size:2rem}
.pss-card{background:#fff;border:1px solid #e5e7eb;border-radius:20px;padding:24px;box-shadow:0 10px 30px rgba(17,24,39,.06);margin:24px 0}
.pss-form p{margin:0 0 16px}.pss-form label{display:block;font-weight:600;margin-bottom:6px;color:#111827}
.pss-form input[type=text],.pss-form input[type=password],.pss-form input[type=password],.pss-form textarea,.pss-form select{width:100%;padding:12px 14px;border:1px solid #d1d5db;border-radius:12px;box-sizing:border-box;background:#fff}
.pss-button{background:var(--pss-brand,#111827);color:#fff;border:none;border-radius:999px;padding:12px 22px;cursor:pointer;font-weight:700;line-height:1.2}.pss-button:hover{opacity:.95}
.pss-message{padding:12px 14px;border-radius:12px;margin-bottom:16px}.pss-message.success{background:#ecfdf5;color:#065f46}.pss-message.error{background:#fef2f2;color:#991b1b}
.pss-portal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.pss-logo img{max-width:220px;height:auto}.pss-meta-line{color:#4b5563}.pss-description{background:#f9fafb;border-radius:14px;padding:14px;margin-bottom:18px}.pss-link{color:var(--pss-brand,#111827);text-decoration:none;font-weight:600}
.pss-toolbar{display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:flex-start;margin:18px 0 22px;padding:14px 16px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:16px}.pss-drag-tip{color:#6b7280;font-size:.92rem}.pss-view-switch{display:inline-flex;gap:8px;align-items:center}.pss-view-button{border:1px solid #d1d5db;background:#fff;color:#111827;border-radius:999px;padding:10px 14px;font-weight:700;cursor:pointer}.pss-view-button.is-active{background:var(--pss-brand,#111827);border-color:var(--pss-brand,#111827);color:#fff}
.pss-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:18px}.pss-gallery-item{position:relative;border:2px solid #e5e7eb;border-radius:20px;padding:12px;background:#fff;transition:.15s ease}.pss-gallery-item:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(0,0,0,.08)}.pss-gallery-item.is-selected{border-color:var(--pss-brand,#111827);box-shadow:0 0 0 3px rgba(17,24,39,.08)}.pss-gallery-item.is-selected::after{content:"Valgt";position:absolute;left:12px;top:12px;background:var(--pss-brand,#111827);color:#fff;border-radius:999px;padding:6px 10px;font-size:.78rem;font-weight:700;z-index:3}.pss-gallery-item.is-hidden{display:none}
.pss-select-input{position:absolute;opacity:0;pointer-events:none}.pss-item-actions{position:absolute;top:10px;right:10px;display:flex;gap:8px;z-index:3}.pss-select-toggle,.pss-zoom{width:36px;height:36px;border:none;border-radius:999px;background:rgba(255,255,255,.96);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;color:#374151;box-shadow:0 4px 10px rgba(0,0,0,.08)}.pss-select-toggle{font-size:19px;line-height:1}.pss-gallery-item .pss-select-input:checked ~ .pss-item-actions .pss-select-toggle{color:#dc2626}.pss-card-toggle{display:block;width:100%;padding:0;border:0;background:transparent;text-align:left;cursor:pointer}.pss-thumb{display:block}.pss-thumb img{width:100%;height:220px;object-fit:cover;border-radius:14px;display:block}.pss-caption{display:block;margin-top:10px;font-size:.96rem;font-weight:600;word-break:break-word;color:#111827}.pss-gallery-item .pss-select-input:checked ~ .pss-card-toggle,.pss-gallery-item .pss-select-input:checked ~ .pss-item-actions + .pss-card-toggle{} .pss-selection-meta{margin:16px 0 8px;color:#374151}
.pss-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.84);display:flex;align-items:center;justify-content:center;flex-direction:column;padding:24px;z-index:999999}.pss-lightbox[hidden]{display:none}.pss-lightbox-image{max-width:min(1200px,92vw);max-height:82vh;border-radius:12px}.pss-lightbox-title{color:#fff;margin-top:12px;font-size:1rem}.pss-lightbox-close{position:absolute;top:24px;right:24px;width:42px;height:42px;border:none;border-radius:999px;background:#fff;font-size:28px;cursor:pointer;line-height:1}
.pss-admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:14px;max-width:1100px}.pss-admin-thumb img{width:100%;height:auto;display:block;border-radius:8px}
@media (max-width:700px){.pss-virtual-portal-inner{padding:20px 14px 40px}.pss-screen-title{font-size:1.6rem}.pss-portal-header{flex-direction:column}.pss-toolbar{align-items:stretch}.pss-toolbar label{width:100%;justify-content:space-between}.pss-gallery-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.pss-thumb img{height:170px}}

.pss-gallery-item .pss-select-input:checked ~ .pss-card-toggle::before{content:""}.pss-gallery-item:has(.pss-select-input:checked){border-color:var(--pss-brand,#111827);box-shadow:0 0 0 3px rgba(17,24,39,.08)}

.pss-gallery-item .pss-select-input:checked ~ .pss-card-toggle .pss-thumb img{outline:4px solid var(--pss-brand,#111827);outline-offset:0}.pss-gallery-item .pss-select-input:checked ~ .pss-card-toggle .pss-caption{color:var(--pss-brand,#111827);font-weight:800}.pss-gallery-item .pss-select-input:checked ~ .pss-item-actions .pss-select-toggle{background:var(--pss-brand,#111827);color:#fff}.pss-gallery-item .pss-select-input:checked ~ .pss-item-actions .pss-select-toggle::after{content:' ';}
