:root{--bg:#0a0b0d;--panel:#121418;--panel2:#181b20;--line:#2a2e35;--text:#f6f7f8;--muted:#a6adb7;--accent:#f2c94c;--accent2:#fff2a8;--danger:#ff7b72;--ok:#55d98a;--radius:20px;--shadow:0 18px 55px rgba(0,0,0,.28)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 50% -20%,#252a33 0,#0a0b0d 38rem);color:var(--text);font:16px/1.5 ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit}button,input{font:inherit}.topbar{position:sticky;top:0;z-index:20;height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,calc((100vw - 980px)/2));background:rgba(10,11,13,.86);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.08)}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:800;letter-spacing:-.02em}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--accent);color:#0d0e10;font-size:12px;font-weight:900}.ig-link{font-size:14px;font-weight:700;text-decoration:none;padding:9px 12px;border:1px solid var(--line);border-radius:999px}main{width:min(980px,calc(100% - 28px));margin:22px auto 42px}.panel{background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.01));border:1px solid var(--line);border-radius:var(--radius);padding:clamp(20px,4vw,32px);box-shadow:var(--shadow);margin-bottom:16px}.eyebrow{color:var(--accent);font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}h1,h2,h3{margin:0;letter-spacing:-.035em;line-height:1.05}h1{font-size:clamp(36px,8vw,64px);margin-top:8px}h2{font-size:clamp(26px,5vw,38px)}h3{font-size:18px}.event-main{margin-top:24px;padding:22px;background:var(--panel2);border:1px solid var(--line);border-radius:18px}.status-pill{display:inline-flex;font-size:11px;font-weight:900;letter-spacing:.09em;color:#151515;background:var(--accent);border-radius:999px;padding:7px 10px}.status-pill.live{background:var(--ok)}.event-date{margin-top:22px;color:var(--muted);font-size:13px;font-weight:800;letter-spacing:.08em}.event h2{margin-top:4px;font-size:clamp(26px,6vw,42px)}.city,.time{margin:6px 0 0}.city{color:var(--muted)}.time{font-size:20px;font-weight:800}.muted{color:var(--muted)}.actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 16px;border-radius:14px;text-decoration:none;border:1px solid transparent;font-weight:850;cursor:pointer}.button.primary{background:var(--accent);color:#101113}.button.primary:hover{background:var(--accent2)}.button.secondary{background:#1b1e23;border-color:#343943;color:var(--text)}.upcoming{margin-top:26px}.upcoming h3{margin-bottom:10px}.event-mini{display:grid;grid-template-columns:56px 1fr auto;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line)}.datebox{height:52px;background:var(--panel2);border:1px solid var(--line);border-radius:12px;display:grid;place-items:center;align-content:center;line-height:1}.datebox strong{font-size:20px}.datebox span{font-size:10px;color:var(--muted);margin-top:4px}.event-mini-body{display:flex;flex-direction:column;min-width:0}.event-mini-body strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-mini-body span{font-size:13px;color:var(--muted)}.event-mini-actions{display:flex;gap:10px}.event-mini-actions a{font-size:13px;font-weight:800;color:var(--accent);text-decoration:none}.section-heading p{color:var(--muted);margin-bottom:0}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.service-card{background:var(--panel2);border:1px solid var(--line);border-radius:16px;padding:18px}.service-card p{color:var(--muted);font-size:14px;min-height:42px}.service-price{font-size:22px;font-weight:900;margin-top:16px}.pay-panel form{margin-top:22px}label,legend{font-weight:800}input[type="text"]{width:100%;height:58px;margin:8px 0 22px;background:#0d0f12;color:var(--text);border:1px solid #3a404a;border-radius:14px;padding:0 16px;font-size:22px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;outline:none}.plate-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(242,201,76,.12)}fieldset{border:0;margin:0;padding:0}.choice-list{display:grid;gap:10px;margin-top:10px}.choice{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;background:var(--panel2);border:1px solid var(--line);border-radius:16px;padding:16px;cursor:pointer}.choice:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 2px rgba(242,201,76,.12)}.choice.disabled{opacity:.55;cursor:not-allowed}.choice input{width:20px;height:20px;accent-color:var(--accent)}.choice-copy{display:flex;flex-direction:column}.choice-copy small{color:var(--muted);font-weight:500;margin-top:3px}.choice-price{font-weight:900;text-align:right}.total-row{display:flex;align-items:center;justify-content:space-between;margin:20px 0;padding-top:18px;border-top:1px solid var(--line)}.total-row strong{font-size:28px}.pay-button{width:100%;border:0;font-size:17px}.form-note{font-size:12px;color:var(--muted);text-align:center}.instagram-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px 4px}.button.instagram{background:#fff;color:#111}.empty-state{margin-top:22px;background:var(--panel2);padding:20px;border-radius:16px}.empty-state p{color:var(--muted)}.notice{padding:14px 16px;background:var(--panel2);border:1px solid var(--line);border-radius:14px}.notice.error{border-color:#55343a;color:#ffd6d2}footer{width:min(980px,calc(100% - 28px));margin:0 auto 30px;padding:18px 0;color:var(--muted);font-size:13px;display:flex;justify-content:space-between;border-top:1px solid var(--line)}footer a{color:var(--muted)}.status-page,.legal{max-width:620px;margin:50px auto}.status-page .panel{text-align:center}.status-icon{width:64px;height:64px;margin:0 auto 20px;display:grid;place-items:center;border-radius:50%;font-size:30px;font-weight:900;background:var(--panel2)}.status-icon.ok{background:rgba(85,217,138,.16);color:var(--ok)}.status-icon.warn{background:rgba(255,123,114,.16);color:var(--danger)}.status-icon.pending{background:rgba(242,201,76,.14);color:var(--accent)}.status-page p{color:var(--muted)}.receipt{margin:24px 0;text-align:left;border-top:1px solid var(--line)}.receipt div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}.receipt dt{color:var(--muted)}.receipt dd{margin:0;font-weight:800;text-align:right}.status-page .button{width:100%;margin-top:10px}
@media (max-width:680px){main{width:min(100% - 18px,980px);margin-top:10px}.topbar{padding:0 14px}.panel{border-radius:16px;padding:18px}.actions{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr}.event-mini{grid-template-columns:48px 1fr}.event-mini-actions{grid-column:2;justify-content:flex-start}.choice{grid-template-columns:auto 1fr}.choice-price{grid-column:2;text-align:left}.instagram-panel{align-items:flex-start;flex-direction:column;padding:20px 8px}.button.instagram{width:100%}h1{font-size:40px}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Backend PWA */
.backend-body{background:#08090b;color:#f4f5f7;min-height:100vh}.backend-topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px max(18px,env(safe-area-inset-left));padding-top:max(14px,env(safe-area-inset-top));background:rgba(8,9,11,.94);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.08)}.backend-brand{color:#fff;text-decoration:none;font-weight:850;letter-spacing:-.02em}.backend-brand span{color:#f2c94c}.backend-logout{margin:0}.link-button{appearance:none;background:transparent;border:0;color:#cfd2d8;font:inherit;padding:8px;cursor:pointer}.backend-main{width:min(760px,calc(100% - 28px));margin:22px auto 64px;display:grid;gap:16px}.backend-login{max-width:520px;margin:8vh auto 0;width:100%}.backend-login-form{display:grid;gap:10px;margin-top:18px}.backend-login-form input,.push-panel input{width:100%;box-sizing:border-box;background:#111318;border:1px solid #2a2e36;color:#fff;border-radius:12px;padding:14px 15px;font:inherit}.backend-alert{border-radius:12px;padding:12px 14px;margin:12px 0;font-size:.94rem;line-height:1.4;border:1px solid rgba(255,255,255,.1);background:#12151a}.backend-alert.error{border-color:rgba(255,92,92,.38);background:rgba(120,25,25,.22);color:#ffd5d5}.backend-alert.success{border-color:rgba(86,211,137,.36);background:rgba(22,100,56,.22);color:#d4ffe4}.backend-alert.info{border-color:rgba(242,201,76,.28);background:rgba(116,88,14,.18);color:#f6e7ac}.section-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:.74rem;font-weight:750;white-space:nowrap;background:#252931;color:#d7d9de}.status-pill.ok{background:rgba(36,149,79,.18);color:#a9f4c2}.status-pill.warn{background:rgba(176,126,20,.2);color:#ffe29a}.status-pill.muted{background:#22252b;color:#989da7}.backend-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:12px}.backend-actions .button{flex:1 1 180px}.backend-payment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}.backend-payment-grid>div{background:#111318;border:1px solid rgba(255,255,255,.07);border-radius:12px;padding:12px}.backend-payment-grid span,.backend-payment-row span,.backend-device-row span{display:block;color:#989da7;font-size:.78rem;margin-bottom:3px}.backend-payment-grid strong{display:block;overflow-wrap:anywhere}.backend-payment-list,.backend-device-list{display:grid;gap:8px;margin-top:12px}.backend-payment-row,.backend-device-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 13px;border:1px solid rgba(255,255,255,.08);background:#111318;border-radius:12px}.backend-payment-row{color:#fff;text-decoration:none}.backend-payment-row:hover{border-color:rgba(242,201,76,.35)}.backend-payment-row span{margin-top:4px;margin-bottom:0}.backend-payment-right{text-align:right}.backend-device-row>div:first-child{min-width:0}.payment-highlight h1{font-size:2.1rem;margin:.2rem 0}.small{font-size:.83rem}.eyebrow{margin:0 0 5px;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:800;color:#f2c94c}
@media(max-width:560px){.backend-main{width:min(100% - 20px,760px);margin-top:12px}.backend-payment-grid{grid-template-columns:1fr}.backend-payment-row,.backend-device-row{align-items:flex-start}.backend-payment-right{min-width:92px}.section-heading-row{align-items:center}.backend-actions{display:grid}.backend-actions .button{width:100%}}


/* Juridische & bedrijfsinformatie */
.site-footer{align-items:flex-start;gap:24px}.footer-company{display:grid;gap:5px;max-width:620px}.footer-company strong{color:var(--text)}.footer-company a,.footer-links a{color:var(--muted);text-decoration:underline;text-underline-offset:3px}.footer-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px 14px}.legal{max-width:760px}.legal .panel{margin-bottom:14px}.legal h1{font-size:clamp(34px,7vw,54px)}.legal h2{font-size:24px;margin:30px 0 10px}.legal h3{font-size:18px;margin:22px 0 8px}.legal p,.legal li{color:#c6c9d0;line-height:1.68}.legal ul,.legal ol{padding-left:22px}.legal a{color:var(--accent)}.legal-meta{display:flex;flex-wrap:wrap;gap:8px 14px;margin:14px 0 4px;color:var(--muted);font-size:13px}.legal-card{background:var(--panel2);border:1px solid var(--line);border-radius:15px;padding:16px 18px;margin:16px 0}.legal-card strong{color:var(--text)}.price-table{width:100%;border-collapse:collapse;margin:16px 0}.price-table th,.price-table td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line);vertical-align:top}.price-table th{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.06em}.price-table td:last-child,.price-table th:last-child{text-align:right;white-space:nowrap}.legal-nav{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.legal-warning{border:1px solid rgba(255,123,114,.5);background:rgba(255,123,114,.08);padding:14px 16px;border-radius:14px;color:#ffd6d2}.contact-lines{display:grid;gap:9px}.contact-lines div{display:grid;gap:2px}.contact-lines span{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.06em}.contact-lines a{font-weight:800;text-decoration:none}.legal footer{display:none}
@media(max-width:680px){.site-footer{flex-direction:column}.footer-links{justify-content:flex-start}.price-table th:nth-child(2),.price-table td:nth-child(2){display:none}.legal{margin-top:16px}.legal .panel{padding:20px}}


/* SIL: subtiele bedrag-aanpassing */
.total-value {
    display: flex;
    align-items: baseline;
    gap: .5rem;
}

.amount-edit-link {
    appearance: none;
    border: 0;
    background: none;
    padding: 0;
    color: #8b9098;
    font: inherit;
    font-size: .76rem;
    text-decoration: underline;
    text-underline-offset: 2px;
    cursor: pointer;
}

.amount-edit-link:hover,
.amount-edit-link:focus-visible {
    color: #d6d9de;
}

.amount-editor {
    margin-top: -.35rem;
    margin-bottom: 1rem;
    padding: .75rem .9rem;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 12px;
    background: rgba(255,255,255,.025);
}

.amount-editor label {
    display: block;
    margin-bottom: .35rem;
    font-size: .8rem;
    color: #aeb3ba;
}

.amount-input-wrap {
    display: flex;
    align-items: center;
    gap: .4rem;
    max-width: 160px;
}

.amount-input-wrap span {
    color: #aeb3ba;
}

.amount-input-wrap input {
    width: 100%;
    margin: 0;
}

.amount-editor small {
    display: block;
    margin-top: .35rem;
    color: #737981;
    font-size: .72rem;
}

/* SIL WhatsApp CTA */
.actions:has(.whatsapp){
    grid-template-columns:repeat(3,minmax(0,1fr));
}

.button.whatsapp{
    background:#25D366;
    border-color:#25D366;
    color:#07150c;
}

.button.whatsapp:hover{
    filter:brightness(1.08);
}

.whatsapp-float{
    position:fixed;
    right:max(18px,env(safe-area-inset-right));
    bottom:max(18px,env(safe-area-inset-bottom));
    z-index:100;
    display:flex;
    align-items:center;
    gap:9px;
    min-height:52px;
    padding:8px 16px 8px 8px;
    border-radius:999px;
    background:#25D366;
    color:#07150c;
    text-decoration:none;
    font-weight:900;
    box-shadow:0 12px 35px rgba(0,0,0,.42);
    border:1px solid rgba(255,255,255,.15);
}

.whatsapp-float-icon{
    width:36px;
    height:36px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:rgba(0,0,0,.13);
    font-size:11px;
    font-weight:950;
}

.whatsapp-float:hover{
    transform:translateY(-1px);
    filter:brightness(1.06);
}

@media(max-width:680px){
    .actions:has(.whatsapp){
        grid-template-columns:1fr;
    }

    .whatsapp-float{
        right:max(12px,env(safe-area-inset-right));
        bottom:max(12px,env(safe-area-inset-bottom));
    }
}

@media(max-width:390px){
    .whatsapp-float-label{
        display:none;
    }

    .whatsapp-float{
        padding:8px;
    }
}

/* SIL marketing backend */
.qr-table{
    margin-top:16px;
    display:grid;
    gap:1px;
    overflow-x:auto;
}

.qr-row{
    min-width:570px;
    display:grid;
    grid-template-columns:minmax(150px,1.8fr) repeat(5,.65fr);
    gap:10px;
    align-items:center;
    padding:11px 12px;
    background:#111318;
    border-bottom:1px solid rgba(255,255,255,.07);
}

.qr-row span:not(:first-child){
    text-align:right;
}

.qr-row strong{
    display:grid;
}

.qr-row small{
    color:#989da7;
    font-weight:500;
    margin-top:2px;
}

.qr-head{
    color:#989da7;
    font-size:.75rem;
    font-weight:800;
}

.location-create{
    margin-top:18px;
}

.location-create>summary{
    list-style:none;
    width:max-content;
}

.location-create>summary::-webkit-details-marker{
    display:none;
}

.location-form{
    margin-top:16px;
    display:grid;
    gap:12px;
}

.location-form label{
    display:grid;
    gap:6px;
    color:#d7d9de;
    font-size:.85rem;
}

.location-form input,
.location-form textarea{
    width:100%;
    box-sizing:border-box;
    margin:0;
    background:#111318;
    border:1px solid #2a2e36;
    color:#fff;
    border-radius:12px;
    padding:12px 14px;
    font:inherit;
    text-transform:none;
    letter-spacing:normal;
    height:auto;
}

.location-form textarea{
    min-height:90px;
    resize:vertical;
}

.location-grid{
    display:grid;
    grid-template-columns:2fr .7fr 1fr;
    gap:10px;
}

.location-grid.two{
    grid-template-columns:1fr 1fr;
}

.location-list{
    display:grid;
    gap:8px;
    margin-top:18px;
}

.location-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:14px;
    padding:13px;
    background:#111318;
    border:1px solid rgba(255,255,255,.08);
    border-radius:12px;
}

.location-row>div:first-child{
    display:grid;
}

.location-row span{
    color:#989da7;
    font-size:.8rem;
    margin-top:3px;
}

.location-row-actions{
    display:flex;
    align-items:center;
}

.location-row-actions form{
    margin:0;
}

.danger-link{
    color:#ff8d86;
}

@media(max-width:560px){
    .location-grid,
    .location-grid.two{
        grid-template-columns:1fr;
    }

    .location-row{
        align-items:flex-start;
        flex-direction:column;
    }

    .location-row-actions{
        width:100%;
        justify-content:flex-start;
    }
}

/* SIL price administration */

.service-admin-list{
    display:grid;
    gap:12px;
    margin-top:18px
}

.service-admin-card{
    display:grid;
    gap:16px;
    padding:16px;
    background:#111318;
    border:1px solid rgba(255,255,255,.08);
    border-radius:14px
}

.service-admin-heading{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:12px
}

.service-admin-heading>div{
    display:grid;
    gap:4px
}

.service-admin-heading>div>span{
    color:#989da7;
    font-size:.82rem
}

.price-admin-label{
    display:grid;
    gap:7px
}

.price-admin-input{
    display:flex;
    align-items:center;
    background:#08090b;
    border:1px solid #343943;
    border-radius:13px;
    overflow:hidden
}

.price-admin-input>span{
    padding-left:15px;
    font-size:1.35rem;
    font-weight:800;
    color:#f2c94c
}

.price-admin-input input{
    width:100%;
    min-width:0;
    margin:0!important;
    height:58px!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:#fff!important;
    padding:0 15px 0 8px!important;
    font-size:1.45rem!important;
    font-weight:850!important;
    letter-spacing:0!important;
    text-transform:none!important
}

.service-admin-switches{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px
}

.service-admin-switches label{
    display:flex;
    align-items:flex-start;
    gap:10px;
    padding:12px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:12px;
    background:#0d0f12;
    cursor:pointer
}

.service-admin-switches input{
    width:20px;
    height:20px;
    margin-top:2px;
    accent-color:#f2c94c
}

.service-admin-switches span{
    display:grid
}

.service-admin-switches small{
    margin-top:2px;
    color:#989da7;
    font-weight:400
}

.service-save{
    width:100%
}

@media(max-width:560px){
    .service-admin-switches{
        grid-template-columns:1fr
    }
}


/* SIL-MOBILE-LEGAL-V3-START */
/*
 * Mobiele weergave juridische pagina's.
 * Desktop blijft ongemoeid.
 */
@media (max-width: 680px) {

    body {
        overflow-x: hidden;
    }

    .legal {
        width: calc(100% - 20px);
        max-width: 760px;
        margin: 12px auto 32px;
        padding: 0;
    }

    .legal > .panel,
    .legal .panel {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        padding: 18px 16px;
        border-radius: 16px;
        overflow: hidden;
    }

    .legal h1 {
        font-size: clamp(28px, 8vw, 34px);
        line-height: 1.08;
        margin: 8px 0 14px;
        overflow-wrap: break-word;
    }

    .legal h2 {
        font-size: 23px;
        line-height: 1.18;
        margin: 28px 0 10px;
        overflow-wrap: break-word;
    }

    .legal h3 {
        font-size: 18px;
        line-height: 1.25;
    }

    .legal p,
    .legal li {
        font-size: 16px;
        line-height: 1.55;
        overflow-wrap: break-word;
        word-break: normal;
    }

    .legal p {
        margin: 8px 0 16px;
    }

    .legal-meta {
        display: flex;
        flex-wrap: wrap;
        gap: 5px 10px;
        font-size: 12px;
        line-height: 1.4;
    }

    /*
     * Mobiele prijstabel:
     * alleen Dienst + Prijs.
     */
    .legal .price-table {
        display: table;
        width: 100%;
        max-width: 100%;
        table-layout: fixed;
        border-collapse: collapse;
        margin: 12px 0 4px;
    }

    .legal .price-table thead {
        display: table-header-group;
    }

    .legal .price-table tbody {
        display: table-row-group;
    }

    .legal .price-table tr {
        display: table-row;
    }

    .legal .price-table th,
    .legal .price-table td {
        display: table-cell;
        box-sizing: border-box;
        padding: 12px 6px;
        font-size: 15px;
        line-height: 1.35;
        vertical-align: top;
    }

    /* Omschrijving verbergen op telefoon */
    .legal .price-table th:nth-child(2),
    .legal .price-table td:nth-child(2) {
        display: none !important;
    }

    /* Dienst */
    .legal .price-table th:first-child,
    .legal .price-table td:first-child {
        width: auto;
        padding-left: 0;
        padding-right: 10px;
        text-align: left;
        white-space: normal;
        overflow-wrap: break-word;
    }

    /* Prijs */
    .legal .price-table th:last-child,
    .legal .price-table td:last-child {
        display: table-cell !important;
        width: 86px !important;
        min-width: 86px;
        padding-left: 4px;
        padding-right: 0;
        text-align: right;
        white-space: nowrap;
    }

    .legal .price-table td:first-child strong {
        font-weight: 700;
    }

    .legal-nav {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .legal-nav .button {
        width: 100%;
        box-sizing: border-box;
        text-align: center;
    }
}
/* SIL-MOBILE-LEGAL-V3-END */

/* SIL-DEVICE-MANAGEMENT-V2 */
.device-management-card {
    display: block;
}

.device-management-main {
    width: 100%;
}

.device-management-main label {
    display: grid;
    gap: 6px;
    margin-top: 14px;
}

.device-management-main input {
    width: 100%;
}

.device-management-main small {
    display: block;
    margin-top: 10px;
    overflow-wrap: anywhere;
}

@media (max-width: 680px) {
    .device-management-card {
        padding: 16px;
    }

    .device-management-main .section-heading-row {
        align-items: flex-start;
    }

    .device-management-main .backend-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .device-management-main .backend-actions .button {
        width: 100%;
    }
}


/* SIL Passkey UI */
.passkey-login-wrap {
    margin: 1rem 0;
}

.passkey-button {
    width: 100%;
}

.passkey-status {
    min-height: 1.25rem;
    margin-top: .65rem;
}

.passkey-separator {
    display: flex;
    align-items: center;
    gap: .75rem;
    margin: 1.25rem 0;
    color: var(--muted, #68717d);
    font-size: .85rem;
}

.passkey-separator::before,
.passkey-separator::after {
    content: "";
    height: 1px;
    flex: 1;
    background: currentColor;
    opacity: .25;
}

.passkey-separator span {
    white-space: nowrap;
}

.passkey-admin-panel .button {
    margin-top: .75rem;
}


/* Directe afspraak op locatie — €75 */
.direct-75-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(180px, 260px);
  gap: 24px;
  align-items: center;
  border: 1px solid #b79635;
  background: linear-gradient(125deg, #181b20, #252012);
  padding: 28px;
  margin-bottom: 24px;
}
.direct-75-label {
  color: #f2c94c;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .09em;
}
.direct-75-panel h2 {
  margin: 12px 0;
  color: #fff;
  font-size: clamp(1.55rem, 3vw, 2.3rem);
}
.direct-75-description {
  font-size: 1.05rem;
  line-height: 1.6;
}
.direct-75-details {
  color: #c8cbd1;
  line-height: 1.6;
}
.direct-75-button {
  display: inline-flex;
  margin-top: 12px;
  text-align: center;
}
.direct-75-price {
  border: 1px solid #685522;
  border-radius: 16px;
  background: #101113;
  padding: 28px 16px;
  text-align: center;
}
.direct-75-price span,
.direct-75-price small {
  display: block;
  color: #d2d2d2;
}
.direct-75-price strong {
  display: block;
  margin: 12px 0;
  font-size: clamp(3rem, 6vw, 4.5rem);
  line-height: 1;
  color: #f2c94c;
}
@media (max-width: 680px) {
  .direct-75-panel {
    grid-template-columns: 1fr;
    padding: 20px;
  }
  .direct-75-price {
    padding: 20px;
  }
}


/* Heldere scheiding tussen event (€30) en bezoek (€75) */
.diensten-keuze {
  margin: 0 0 30px;
}
.diensten-intro {
  text-align: center;
  margin-bottom: 22px;
}
.diensten-intro h2 {
  margin: 8px 0;
}
.diensten-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 20px;
  align-items: stretch;
}
.diensten-kaart {
  display: flex;
  flex-direction: column;
  padding: 25px;
  min-width: 0;
}
.diensten-event {
  border: 1px solid #505967;
  background: #171b22;
}
.diensten-thuis {
  border: 2px solid #b79635;
  background: linear-gradient(140deg,#1b1c1d,#282212);
}
.diensten-type {
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .06em;
  color: #f2c94c;
}
.diensten-kaart h3 {
  font-size: clamp(1.3rem,2.5vw,1.7rem);
  margin: 14px 0;
}
.diensten-bedrag {
  font-size: clamp(2.8rem,5vw,4rem);
  font-weight: 900;
  line-height: 1.1;
  color: #f2c94c;
  margin: 4px 0;
}
.diensten-sub {
  font-weight: 700;
  margin: 0 0 14px;
}
.diensten-kaart ul {
  padding-left: 20px;
  margin: 12px 0 22px;
  line-height: 1.8;
}
.diensten-knop {
  display: block;
  text-align: center;
  margin-top: auto;
}
.diensten-extra {
  display: block;
  text-align: center;
  margin-top: 14px;
  font-size: .9rem;
  color: #cbd0d7;
}
@media(max-width:720px) {
  .diensten-grid {
    grid-template-columns: 1fr;
  }
  .diensten-kaart {
    padding: 20px;
  }
}
