/* Eigenaarspoort 0.2.0, gebaseerd op bestaande Ursusweb huisstijl. */
.owner-main {max-width:930px!important;padding:18px 0 70px!important;}
.gate {padding:54px 18px 40px;max-width:580px;margin:45px auto;text-align:center;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);}
.gate-bear {width:112px;height:112px;object-fit:contain;}
.gate h1 {font-size:clamp(26px,5vw,34px);letter-spacing:-.035em;margin:12px 0;}
.gate p,.portal-header p,.profile-choice p,.qr-caption,.shares p {line-height:1.5;color:#5a6b76;}
.gate-button {font:600 14px/1.2 "Montserrat",Arial,sans-serif;display:inline-block;text-align:center;text-decoration:none;background:var(--navy);color:#fff;border:1px solid var(--navy);border-radius:12px;padding:13px 19px;cursor:pointer;}
.gate-button:hover {background:#284e69;}.gate-button:disabled {opacity:.5;cursor:not-allowed;}
.gate-button.secondary {background:#fff;color:var(--navy);border-color:var(--line);}
.gate-button.close-access {background:#7f2c31;border-color:#7f2c31;}
.portal-header {text-align:center;margin-bottom:24px;}.portal-header h1{font-size:clamp(29px,6vw,39px);margin:0 0 6px;}
.eyebrow {font-size:11px;text-transform:uppercase;font-weight:700;letter-spacing:.2em;color:#648064!important;}
.portal-actions {display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:18px;}.portal-actions form{margin:0;}
.profile-cards {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.profile-choice {background:#fff;border-radius:19px;border:1px solid var(--line);padding:25px 18px;min-width:0;text-align:center;box-shadow:var(--shadow);}
.profile-choice h2{font-size:25px;margin:8px 0 6px;}.profile-choice p{min-height:50px;font-size:13px;}
.choice-icon{font-size:36px;}.profile-choice form{margin:10px 0 13px;}.profile-choice .gate-button{width:100%;}
.choice-preview{font-size:12px;color:#496783;font-weight:600;}
.active-qr,.shares,.notice {margin:24px auto 0;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:25px;text-align:center;}
.active-qr h2{margin:0 0 14px;font-size:27px;}
.qr-render {margin:8px auto 10px;width:min(100%,300px);aspect-ratio:1;background:#fff;padding:8px;border:1px solid #ddd;}
.qr-render svg{display:block;width:100%;height:100%;}.qr-clock{font-size:19px;font-weight:600;}
.notice {border-left:4px solid #bd7b30;text-align:left;}.notice p {line-height:1.5;}
.portal-error{color:#7e2525;background:#fff3f3;padding:12px;border-radius:10px;}
.shares{text-align:left}.share-list{margin:14px 0}.share-entry{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:12px;padding:11px 0;font-size:12px;overflow-wrap:anywhere;}.link-button{background:none;border:none;color:#8a3030;text-decoration:underline;cursor:pointer;font:inherit;}
.expiry-banner {padding:9px 12px;text-align:center;background:#f1ebdd;font:500 12px "Montserrat",Arial,sans-serif;}.expiry-banner strong{color:#6a4620;}
.expired-notice{max-width:450px;text-align:center;margin:80px auto;padding:25px;}
@media(max-width:680px){.profile-cards{grid-template-columns:1fr;}.profile-choice p{min-height:0}.owner-main{padding-top:5px!important;}.active-qr,.shares{padding:18px;}.gate{margin:12px auto;}.profile-choice {padding:18px 16px;}}
/* 0.3.0: actuele QR bovenaan, duidelijk gesloten scherm, minder dubbelklikken */
.profile-section {margin:28px auto 0}.profile-section>h2{text-align:center;font:700 23px/1.2 "Montserrat",Arial,sans-serif}.profile-section>p{text-align:center;color:#5a6b76}
.profile-choice h3{font-size:24px;margin:9px 0 6px}.active-qr{scroll-margin-top:16px}
.active-qr.is-expired .qr-render{display:flex;align-items:center;justify-content:center;color:#536877;font-weight:600;padding:22px}
.active-qr.is-expired .qr-clock{font-size:18px}.active-qr.is-expired .eyebrow{color:#8b4040!important}
[hidden]{display:none!important}button:disabled{opacity:.5;cursor:not-allowed}
