:root{--color-ink:#111;--color-ink-soft:#1e1e1e;--color-gold:#ffc426;--color-gold-dark:#e0a800;--color-orange:#ff6900;--color-bg:#f4f5f7;--color-surface:#fff;--color-border:#e2e2e2;--color-text:#1a1a1a;--color-text-muted:#6b6b6b;--color-success:#2e7d32;--color-success-bg:#e6f4ea;--color-neutral:#616161;--color-neutral-bg:#eee;--color-info:#2ea3f2;--color-info-bg:#e7f4fd;--color-danger:#d32f2f;--color-danger-bg:#fbe9e9;--font-heading:"Oswald","Segoe UI",sans-serif;--font-body:"Open Sans","Segoe UI",sans-serif;--radius:6px;--shadow-card:0 1px 3px #11111114}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f4f5f7;background:var(--color-bg);color:#1a1a1a;color:var(--color-text);font-family:Open Sans,Segoe UI,sans-serif;font-family:var(--font-body);margin:0}h1,h2,h3,h4{font-family:Oswald,Segoe UI,sans-serif;font-family:var(--font-heading);letter-spacing:.02em}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.login-container{align-items:center;background:radial-gradient(circle at 20% 20%,#ffc42614,#0000 40%),linear-gradient(160deg,var(--color-ink) 0,#000 100%);display:flex;justify-content:center;min-height:100vh}.login-box{background:var(--color-surface);border-radius:var(--radius);border-top:4px solid var(--color-gold);box-shadow:0 20px 50px #00000073;max-width:400px;padding:48px 40px 40px;width:100%}.login-box h1{color:var(--color-ink);font-size:28px;font-weight:700;letter-spacing:.06em;margin-bottom:6px}.login-box h1,.login-box p{text-align:center;text-transform:uppercase}.login-box p{color:var(--color-text-muted);font-size:13px;letter-spacing:.08em;margin-bottom:30px}.form-group{margin-bottom:20px}.form-group label{color:var(--color-ink);margin-bottom:8px}.form-group input{background:var(--color-bg);border:1px solid var(--color-border);border-radius:4px;font-family:var(--font-body);font-size:14px;padding:12px 14px;width:100%}.form-group input:focus{background:var(--color-surface);border-color:var(--color-gold);box-shadow:0 0 0 3px #ffc42640;outline:none}button[type=submit]{background:var(--color-gold);border:none;border-radius:4px;color:var(--color-ink);cursor:pointer;font-family:var(--font-heading);font-size:15px;font-weight:600;letter-spacing:.06em;padding:13px;text-transform:uppercase;transition:background .15s ease;width:100%}button[type=submit]:hover:not(:disabled){background:var(--color-gold-dark)}button[type=submit]:disabled{background:#d9d9d9;color:#999;cursor:not-allowed}.error-message{background:var(--color-danger-bg);border:1px solid #d32f2f40;border-radius:4px;color:var(--color-danger)}.error-message,.info-message{font-size:14px;margin-bottom:20px;padding:12px 14px}.info-message{background:var(--color-success-bg);border:1px solid #2e7d3240;border-radius:4px;color:var(--color-success);letter-spacing:normal;text-transform:none}.login-box p:not(.error-message):not(.info-message){font-size:13px;letter-spacing:normal;margin-bottom:16px;text-align:left;text-transform:none}.login-box h1+p{letter-spacing:.08em;text-align:center;text-transform:uppercase}.wachtwoord-vergeten-link{margin-top:16px!important;text-align:center}.wachtwoord-vergeten-link button{background:none;border:none;color:var(--color-gold-dark);cursor:pointer;font-size:13px;padding:0;text-decoration:underline}.app-header{background:var(--color-ink);border-bottom:3px solid var(--color-gold);flex-wrap:wrap;gap:12px;justify-content:space-between;padding:18px 32px}.app-header,.app-header-left{align-items:center;display:flex}.app-header-left{gap:28px}.app-header h1{color:#fff;font-size:20px;letter-spacing:.05em;margin:0;text-transform:uppercase}.app-nav{display:flex;gap:6px}.nav-link{background:#0000;border:none;border-radius:4px;color:#aaa;cursor:pointer;font-family:var(--font-heading);font-size:13px;font-weight:600;letter-spacing:.04em;padding:7px 14px;text-transform:uppercase;transition:background .15s ease,color .15s ease}.nav-link:hover{background:#ffffff14;color:#fff}.nav-link.active{background:var(--color-gold);color:var(--color-ink)}.nav-groep{position:relative}.nav-groep-knop{align-items:center;display:inline-flex;gap:6px}.nav-groep-pijl{font-size:9px}.nav-dropdown{background:var(--color-ink);border:1px solid #ffffff26;border-radius:4px;box-shadow:0 8px 20px #00000059;display:flex;flex-direction:column;gap:2px;left:0;min-width:180px;padding:6px;position:absolute;top:calc(100% + 6px);z-index:20}.nav-dropdown-item{background:#0000;border:none;border-radius:4px;color:#aaa;cursor:pointer;font-family:var(--font-heading);font-size:13px;font-weight:600;letter-spacing:.04em;padding:9px 12px;text-align:left;text-transform:uppercase;transition:background .15s ease,color .15s ease}.nav-dropdown-item:hover{background:#ffffff14;color:#fff}.nav-dropdown-item.active{background:var(--color-gold);color:var(--color-ink)}.header-actions{align-items:center;display:flex;gap:20px}.header-actions span{color:#ccc;font-size:13px}.btn-logout{background:#0000;border:1px solid var(--color-gold);border-radius:4px;color:var(--color-gold);cursor:pointer;font-size:13px;font-weight:600;letter-spacing:.04em;padding:9px 18px;text-transform:uppercase;transition:background .15s ease,color .15s ease}.btn-logout:hover{background:var(--color-gold);color:var(--color-ink)}.rooster-kalender{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:16px 20px}.kalender-header{align-items:center;display:flex;gap:16px;justify-content:center;margin-bottom:14px}.kalender-header h3{color:var(--color-ink);font-size:15px;letter-spacing:.03em;margin:0;min-width:180px;text-align:center;text-transform:uppercase}.kalender-header button{font-size:16px;line-height:1;padding:6px 14px}.kalender-dagnamen{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:6px}.kalender-dagnaam{color:var(--color-text-muted);font-size:11px;font-weight:700;letter-spacing:.04em;padding-bottom:4px;text-align:center;text-transform:uppercase}.kalender-grid{grid-gap:1px;background:var(--color-border);border:1px solid var(--color-border);border-radius:6px;display:grid;gap:1px;grid-template-columns:repeat(7,1fr);overflow:hidden}.kalender-dag{background:var(--color-bg);display:flex;flex-direction:column;gap:4px;min-height:88px;padding:6px}.kalender-dag.klikbaar{cursor:pointer}.kalender-dag.klikbaar:hover{background:#fdf8e9}.kalender-dag.buiten-maand{opacity:.4}.kalender-dag.vandaag{box-shadow:inset 0 0 0 2px var(--color-gold)}.kalender-dagnummer{color:var(--color-text-muted);font-size:12px;font-weight:700}.kalender-badges{display:flex;flex-direction:column;gap:2px}.kalender-badge{border:none;border-radius:3px;cursor:pointer;font-size:11px;font-weight:600;overflow:hidden;padding:2px 6px;text-align:left;text-overflow:ellipsis;white-space:nowrap}.kalender-badge.dienst-griffier{background:var(--color-info-bg);color:var(--color-info)}.kalender-badge.dienst-baancommandant{background:#fff6df;color:var(--color-gold-dark)}.kalender-badge.dienst-evenement{background:var(--color-success-bg);color:var(--color-success)}.kalender-badge.evenement-badge{background:var(--color-ink);color:var(--color-gold);font-weight:700}.toolbar{display:flex;gap:12px;margin-bottom:20px}.zoek-input{background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;flex:1 1;font-family:var(--font-body);font-size:14px;padding:11px 14px}.zoek-input:focus{border-color:var(--color-gold);box-shadow:0 0 0 3px #ffc42633;outline:none}.btn-add{background:var(--color-gold);border:none;border-radius:4px;color:var(--color-ink);cursor:pointer;font-family:var(--font-heading);font-size:13px;font-weight:700;letter-spacing:.04em;padding:11px 22px;text-transform:uppercase;transition:background .15s ease}.btn-add:hover{background:var(--color-gold-dark)}.btn-add:disabled{background:#d9d9d9;color:#999;cursor:not-allowed}.form-modal{align-items:center;background:#1119;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.form-content{background:var(--color-surface);border-radius:var(--radius);border-top:4px solid var(--color-gold);box-shadow:0 25px 60px #00000059;max-height:80vh;max-width:600px;overflow-y:auto;padding:30px;width:90%}.form-content h2{color:var(--color-ink);font-size:19px;letter-spacing:.03em;margin-bottom:20px;margin-top:0;text-transform:uppercase}.form-section-title{border-bottom:1px solid var(--color-border);color:var(--color-gold-dark);font-size:13px;letter-spacing:.06em;margin:24px 0 12px;padding-bottom:6px;text-transform:uppercase}.form-content form>.form-section-title:first-child{margin-top:0}.form-row{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:15px}.form-group{display:flex;flex-direction:column}.form-group label{color:var(--color-text-muted);font-size:13px}.form-group input,.form-group select{border:1px solid var(--color-border);font-family:var(--font-body)}.form-group input:focus,.form-group select:focus{border-color:var(--color-gold);box-shadow:0 0 0 3px #ffc42633;outline:none}.presentie-jaar-filter{margin-left:auto;min-width:120px}.form-actions{border-top:1px solid var(--color-border);display:flex;gap:10px;margin-top:20px;padding-top:20px}.btn-save{background:var(--color-gold);border:none;border-radius:4px;color:var(--color-ink);cursor:pointer;flex:1 1;font-family:var(--font-heading);font-size:13px;font-weight:700;letter-spacing:.04em;padding:11px;text-transform:uppercase}.btn-save:hover{background:var(--color-gold-dark)}.btn-cancel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text-muted);cursor:pointer;flex:1 1;font-family:var(--font-heading);font-size:13px;font-weight:600;letter-spacing:.04em;padding:11px;text-transform:uppercase}.btn-cancel:hover{background:var(--color-bg)}.btn-delete-lid{background:var(--color-danger-bg);border:1px solid #0000;border-radius:4px;color:var(--color-danger);cursor:pointer;flex:1 1;font-family:var(--font-heading);font-size:13px;font-weight:700;letter-spacing:.04em;padding:11px;text-transform:uppercase}.btn-delete-lid:hover{background:var(--color-danger);color:#fff}.foto-rond{border:2px solid var(--color-border);border-radius:50%;height:64px;object-fit:cover;width:64px}.foto-rond-placeholder{align-items:center;background:var(--color-bg);border:2px dashed var(--color-border);border-radius:50%;color:var(--color-text-muted);display:flex;font-family:var(--font-heading);font-size:24px;font-weight:700;height:64px;justify-content:center;width:64px}.koper-resultaat{cursor:pointer;font-size:14px;padding:10px 14px}.koper-resultaat:hover{background:#fdf8e9}.koper-knsa{color:var(--color-text-muted);font-size:12px}.status-badge{border-radius:100px;display:inline-block;font-size:11px;padding:4px 10px}.btn-action,.status-badge{font-weight:700;letter-spacing:.03em;text-transform:uppercase}.btn-action{border:none;border-radius:4px;cursor:pointer;font-family:var(--font-heading);font-size:12px;margin-right:6px;padding:7px 14px}.btn-edit{background:var(--color-info-bg);color:var(--color-info)}.btn-edit:hover{background:var(--color-info);color:#fff}.btn-delete{background:var(--color-danger-bg);color:var(--color-danger)}.btn-delete:hover{background:var(--color-danger);color:#fff}.dashboard-container{background:var(--color-bg);min-height:100vh}.dashboard-content{margin:0 auto;max-width:1200px;padding:28px 32px}.dashboard-welkom{font-size:22px;letter-spacing:.03em;margin:0 0 24px;text-transform:uppercase}.dashboard-kaart{background:var(--color-surface);border-radius:var(--radius);border-top:4px solid var(--color-gold);box-shadow:var(--shadow-card);margin-bottom:20px;padding:24px}.dashboard-teller-tabel{border-collapse:collapse;margin-top:20px;width:100%}.dashboard-teller-tabel td,.dashboard-teller-tabel th{border-bottom:1px solid var(--color-border);font-size:13px;padding:8px;text-align:left}.dashboard-teller-tabel th{color:var(--color-text-muted);font-size:11px;letter-spacing:.03em;text-transform:uppercase}.dashboard-teller-tabel td:first-child{font-weight:600}.dashboard-kaart h3{color:var(--color-text-muted);font-size:14px;letter-spacing:.04em;margin-top:0;text-transform:uppercase}.dashboard-scores-tabel{border-collapse:collapse;margin-top:12px;width:100%}.dashboard-scores-tabel th{border-bottom:1px solid var(--color-border);color:var(--color-text-muted);font-size:12px;letter-spacing:.04em;padding:8px;text-align:left;text-transform:uppercase}.dashboard-scores-tabel td{border-bottom:1px solid var(--color-border);font-size:14px;padding:10px 8px}.lidmaatschap-sectie{margin-bottom:20px}.lidmaatschap-sectie h4{color:var(--color-text-muted);font-size:13px;letter-spacing:.04em;margin:0 0 8px;text-transform:uppercase}.lidmaatschap-gevaar-zone{background:var(--color-danger-bg);border:1px solid var(--color-danger-bg);border-radius:var(--radius);padding:16px 18px}.lidmaatschap-gevaar-zone h4{color:var(--color-danger);font-size:13px;letter-spacing:.04em;margin:0 0 8px;text-transform:uppercase}.lidmaatschap-gevaar-zone .btn-delete-lid{flex:none;margin-top:12px;padding:11px 22px}.dashboard-kaart-header{align-items:center;display:flex;gap:12px;justify-content:space-between}.dashboard-kaart-header h3{margin:0}.dashboard-kaart-header .btn-cancel{flex:none;font-size:12px;padding:7px 14px}.dashboard-bericht{border-top:1px solid var(--color-border);padding:10px 0}.dashboard-bericht:first-of-type{border-top:none;padding-top:4px}.dashboard-bericht h4{color:var(--color-ink);font-size:14px;margin:0 0 2px}.dashboard-bericht p{font-size:13px;margin:2px 0}.dashboard-evenement{border-top:1px solid var(--color-border);cursor:pointer;padding:10px 0}.dashboard-evenement:first-of-type{border-top:none;padding-top:4px}.dashboard-evenement:hover h4{color:var(--color-gold-dark)}.dashboard-evenement h4{color:var(--color-ink);font-size:14px;margin:0 0 2px}.dashboard-evenement p{margin:2px 0}.dashboard-evenement.historisch{opacity:.55}.dashboard-paginering{align-items:center;display:flex;gap:16px;justify-content:center;margin-top:16px}.dashboard-paginering button{padding:8px 18px}.dashboard-pagina-sprong{align-items:center;color:var(--color-text-muted);display:flex;font-size:13px;gap:8px}.dashboard-pagina-sprong input{border:1px solid var(--color-border);border-radius:4px;font-size:13px;padding:6px 8px;text-align:center;width:60px}.dashboard-pagina-sprong button{padding:6px 14px}.dashboard-evenement-omschrijving{margin:8px 0 20px}.categorie-tab{gap:6px}.categorie-tab,.tab-ongelezen-badge{align-items:center;display:inline-flex}.tab-ongelezen-badge{background:var(--color-danger);border-radius:100px;color:#fff;font-size:11px;font-weight:700;height:18px;justify-content:center;line-height:1;min-width:18px;padding:0 5px}.ledenbeheer-container{background:var(--color-bg);min-height:100vh}.ledenbeheer-content{margin:0 auto;max-width:1300px;padding:28px 32px}.foto-sectie{align-items:center;display:flex;gap:16px;margin-bottom:20px}.rollen-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin-bottom:10px}.leden-tabel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-card);overflow:hidden}.leden-tabel table{border-collapse:collapse;width:100%}.leden-tabel th{background:var(--color-ink);color:#fff;font-size:12px;font-weight:600;letter-spacing:.05em;padding:14px 16px;text-align:left;text-transform:uppercase}.leden-tabel td{border-bottom:1px solid var(--color-border);font-size:14px;padding:13px 16px}.leden-tabel tr:last-child td{border-bottom:none}.leden-tabel tr:hover td{background:#fdf8e9}.leden-tabel tr.archived{opacity:.55}.status-badge.status-vrijwilligheid{background:var(--color-info-bg);color:var(--color-info)}.status-badge.status-erelid{background:#fff6df;color:var(--color-gold-dark)}.presentiehistorie-container{background:var(--color-bg);min-height:100vh}.presentiehistorie-content{margin:0 auto;max-width:1300px;padding:28px 32px}.presentiehistorie-titel{color:var(--color-text-muted);flex:1 1;font-size:16px;letter-spacing:.04em;margin:0;text-transform:uppercase}.presentiehistorie-tabel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-card);overflow:hidden}.presentiehistorie-tabel table{border-collapse:collapse;width:100%}.presentiehistorie-tabel th{background:var(--color-ink);color:#fff;font-size:12px;font-weight:600;letter-spacing:.05em;padding:14px 16px;text-align:left;text-transform:uppercase}.presentiehistorie-tabel td{border-bottom:1px solid var(--color-border);font-size:14px;padding:13px 16px}.presentiehistorie-tabel tr:last-child td{border-bottom:none}.presentiehistorie-tabel tr:hover td{background:#fdf8e9}.presentie-paginering{align-items:center;display:flex;gap:16px;justify-content:center;margin-top:16px;padding-bottom:16px}.presentie-paginering button{padding:8px 18px}.presentie-pagina-sprong{align-items:center;color:var(--color-text-muted);display:flex;font-size:13px;gap:8px}.presentie-pagina-sprong input{border:1px solid var(--color-border);border-radius:4px;font-size:13px;padding:6px 8px;text-align:center;width:60px}.presentie-pagina-sprong button{padding:6px 14px}.voorraad-container{background:var(--color-bg);min-height:100vh}.voorraad-content{margin:0 auto;max-width:1300px;padding:28px 32px}.voorraad-titel{color:var(--color-text-muted);flex:1 1;font-size:16px;letter-spacing:.04em;margin:0;text-transform:uppercase}.categorie-kaart{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-card);margin-bottom:20px;overflow:hidden}.categorie-header{align-items:center;background:var(--color-ink);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:16px 20px}.categorie-header h3{color:#fff;font-size:16px;letter-spacing:.03em;margin:0;text-transform:uppercase}.categorie-omschrijving{color:#bbb;font-size:13px;margin:4px 0 0}.categorie-acties{display:flex;flex-wrap:wrap;gap:6px}.geen-artikelen{color:var(--color-text-muted);font-size:14px;margin:0;padding:16px 20px}.artikelen-tabel{border-collapse:collapse;width:100%}.artikelen-tabel th{background:var(--color-bg);color:var(--color-text-muted);font-size:12px;font-weight:600;letter-spacing:.05em;padding:10px 20px;text-align:left;text-transform:uppercase}.artikelen-tabel td,.artikelen-tabel th{border-bottom:1px solid var(--color-border)}.artikelen-tabel td{font-size:14px;padding:12px 20px}.artikelen-tabel tr:last-child td{border-bottom:none}.artikelen-tabel tr:hover td{background:#fdf8e9}.categorie-badge{margin-left:10px;vertical-align:middle}.artikel-thumb-klein{border-radius:4px;height:36px;object-fit:cover;width:36px}.artikel-thumb-klein-placeholder{background:var(--color-bg);border:1px solid var(--color-border);border-radius:4px;height:36px;width:36px}.artikel-thumb{object-fit:cover}.artikel-thumb,.artikel-thumb-placeholder{border-radius:var(--radius);height:90px;width:90px}.artikel-thumb-placeholder{align-items:center;background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text-muted);display:flex;font-size:11px;justify-content:center;padding:4px;text-align:center}.inkoop-container{background:var(--color-bg);min-height:100vh}.inkoop-content{margin:0 auto;max-width:1300px;padding:28px 32px}.inkoop-titel{color:var(--color-text-muted);flex:1 1;font-size:16px;letter-spacing:.04em;margin:0;text-transform:uppercase}.snelbestel-knoppen{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.bestellingen-tabel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-card);overflow:hidden}.bestellingen-tabel table{border-collapse:collapse;width:100%}.bestellingen-tabel th{background:var(--color-ink);color:#fff;font-size:12px;font-weight:600;letter-spacing:.05em;padding:14px 16px;text-align:left;text-transform:uppercase}.bestellingen-tabel td{font-size:14px;padding:13px 16px}.bestellingen-tabel tbody tr:not(.regels-rij){border-top:1px solid var(--color-border)}.status-badge.status-concept{background:var(--color-neutral-bg);color:var(--color-neutral)}.status-badge.status-besteld{background:var(--color-info-bg);color:var(--color-info)}.status-badge.status-deels_ontvangen{background:#fff6df;color:var(--color-gold-dark)}.status-badge.status-ontvangen{background:var(--color-success-bg);color:var(--color-success)}.status-badge.status-geannuleerd,.status-badge.status-tekort{background:var(--color-danger-bg);color:var(--color-danger)}.status-badge.status-tekort{font-weight:700}.ontvangst-max{color:var(--color-text-muted);font-size:12px;margin-left:6px}.kastelling{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);padding:16px}.kastelling-kolommen{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1fr}.kastelling-kolom h4{color:var(--color-text-muted);font-size:12px;letter-spacing:.04em;margin:0 0 10px;text-transform:uppercase}.kastelling-rij{grid-gap:6px;align-items:center;display:grid;font-size:13px;gap:6px;grid-template-columns:48px 16px 70px 1fr;margin-bottom:6px}.kastelling-keer{color:var(--color-text-muted);text-align:center}.kastelling-rij input{border:1px solid var(--color-border);border-radius:4px;font-size:13px;padding:4px 6px;width:100%}.kastelling-subtotaal{color:var(--color-text-muted);text-align:right}.kastelling-totaal{align-items:center;border-top:2px solid var(--color-ink);display:flex;font-family:var(--font-heading);font-size:18px;font-weight:700;justify-content:space-between;margin-top:14px;padding-top:12px}.kassa-container{background:var(--color-bg);min-height:100vh}.kassa-content{margin:0 auto;max-width:1400px;padding:28px 32px}.sessie-start-kaart{background:var(--color-surface);border-radius:var(--radius);border-top:4px solid var(--color-gold);box-shadow:var(--shadow-card);max-width:560px;padding:30px}.sessie-start-kaart h2{font-size:19px;letter-spacing:.03em;margin-bottom:20px;margin-top:0;text-transform:uppercase}.hint-tekst{font-size:12px;margin-top:6px}.kas-rapport{max-width:820px}.rapport-tabel{border-collapse:collapse;margin-bottom:10px;width:100%}.rapport-tabel td,.rapport-tabel th{border-bottom:1px solid var(--color-border);font-size:13px;padding:7px 8px;text-align:left}.rapport-tabel td:last-child{font-weight:600;text-align:right}.rapport-tabel th{color:var(--color-text-muted);font-size:11px;letter-spacing:.03em;text-align:left;text-transform:uppercase}.rapport-tabel.rapport-transacties th:last-child{text-align:right}.rapport-ok td{color:var(--color-success)}.rapport-verschil td{color:var(--color-danger);font-weight:700}.kassa-sessiebalk{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);display:flex;font-size:14px;gap:24px;margin-bottom:20px;padding:14px 20px}.kassa-sessiebalk span:nth-child(2){color:var(--color-text-muted);flex:1 1}.wapens-uitgeleend-kaart{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-card);margin-bottom:20px;padding:16px 20px}.wapens-uitgeleend-kaart .rapport-tabel td:last-child{text-align:right}.wapens-blokkade-melding{color:var(--color-danger);font-weight:600}.kassa-layout{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:1fr 340px}.koper-zoekbalk{margin-bottom:16px}.koper-gekozen{align-items:center;background:var(--color-surface);border:1px solid var(--color-gold);border-radius:4px;display:flex;justify-content:space-between;padding:12px 16px}.koper-saldo{color:var(--color-text-muted);font-size:13px}.koper-tegels{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}.koper-tegel{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;display:flex;flex-direction:column;gap:8px;padding:14px 10px;transition:border-color .15s ease,transform .1s ease}.koper-tegel:hover{border-color:var(--color-gold);transform:translateY(-2px)}.koper-tegel-naam{font-size:13px;font-weight:600;text-align:center}.koper-tegel-tag{background:#fff6df;border-radius:100px;color:var(--color-gold-dark);font-size:10px;font-weight:700;letter-spacing:.03em;padding:2px 8px;text-transform:uppercase}.koper-tegel-fotowrap{position:relative}.koper-tegel-badge{align-items:center;background:var(--color-gold);border:2px solid var(--color-surface);border-radius:100px;color:var(--color-ink);display:flex;font-family:var(--font-heading);font-size:11px;font-weight:700;height:20px;justify-content:center;min-width:20px;padding:0 4px;position:absolute;right:-6px;top:-6px}.artikel-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.artikel-kaart{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;display:flex;flex-direction:column;gap:6px;padding:16px;text-align:left;transition:border-color .15s ease,transform .1s ease}.artikel-kaart:hover:not(:disabled){border-color:var(--color-gold);transform:translateY(-2px)}.artikel-kaart:disabled{cursor:not-allowed;opacity:.45}.artikel-afbeelding{border-radius:4px;object-fit:cover;width:100%}.artikel-afbeelding,.artikel-afbeelding-placeholder{height:90px;margin:-16px -16px 4px;width:calc(100% + 32px)}.artikel-afbeelding-placeholder{background:var(--color-bg);border-bottom:1px solid var(--color-border)}.artikel-naam{font-size:14px;font-weight:600}.artikel-prijs{color:var(--color-gold-dark);font-family:var(--font-heading);font-size:18px}.artikel-voorraad{color:var(--color-text-muted);font-size:11px}.artikel-voorraad.laag{color:var(--color-danger);font-weight:700}.kassa-winkelwagen{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:20px;position:-webkit-sticky;position:sticky;top:20px}.kassa-winkelwagen h3{color:var(--color-text-muted);font-size:14px;letter-spacing:.04em;margin-top:0;text-transform:uppercase}.wagen-regels{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.wagen-regel{grid-gap:8px;align-items:center;border-bottom:1px solid var(--color-border);display:grid;font-size:13px;gap:8px;grid-template-columns:1fr auto auto auto;padding-bottom:8px}.wagen-regel-naam{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wagen-regel-acties{align-items:center;display:flex;gap:6px}.wagen-regel-acties button{background:var(--color-bg);border:1px solid var(--color-border);border-radius:3px;cursor:pointer;font-weight:700;height:22px;width:22px}.wagen-regel-bedrag{font-weight:600;white-space:nowrap}.wagen-regel-verwijder{background:none;border:none;color:var(--color-danger);cursor:pointer;font-size:18px;line-height:1}.wagen-totaal{border-top:2px solid var(--color-ink);display:flex;font-family:var(--font-heading);font-size:20px;font-weight:700;justify-content:space-between;margin-bottom:12px;padding-top:12px}.betaalmethode-keuze{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(3,1fr);margin-bottom:8px}.betaalmethode-keuze button{background:var(--color-bg);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text-muted);cursor:pointer;font-family:var(--font-heading);font-size:12px;font-weight:600;letter-spacing:.02em;padding:9px 6px;text-transform:uppercase}.betaalmethode-keuze button.actief{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-gold)}.btn-afrekenen{font-size:15px;padding:14px;width:100%}.btn-afrekenen:disabled{background:#d9d9d9;color:#999;cursor:not-allowed}@media (max-width:900px){.kassa-layout{grid-template-columns:1fr}.kassa-winkelwagen{position:static}}.aanmeld-container{background:var(--color-bg);min-height:100vh}.aanmeld-content{grid-gap:24px;align-items:start;display:grid;gap:24px;grid-template-columns:1.2fr 1fr;margin:0 auto;max-width:900px;padding:40px 32px}.aanmeld-kaart{background:var(--color-surface);border-radius:var(--radius);border-top:4px solid var(--color-gold);box-shadow:var(--shadow-card);padding:40px;text-align:center}.aanmeld-kaart h2{font-size:24px;letter-spacing:.04em;margin:0 0 8px;text-transform:uppercase}.aanmeld-instructie{color:var(--color-text-muted);font-size:14px;margin-bottom:28px}.aanmeld-input{border:2px solid var(--color-border);border-radius:6px;font-family:var(--font-heading);font-size:24px;letter-spacing:.05em;margin-bottom:16px;padding:20px;text-align:center;width:100%}.aanmeld-input:focus{border-color:var(--color-gold);box-shadow:0 0 0 4px #ffc42633;outline:none}.aanmeld-knop{font-size:16px;padding:18px;width:100%}.aanmeld-melding{border-radius:6px;font-family:var(--font-heading);font-size:18px;font-weight:700;margin-top:20px;padding:16px}.aanmeld-melding.succes{background:var(--color-success-bg);color:var(--color-success)}.aanmeld-melding.fout{background:var(--color-danger-bg);color:var(--color-danger)}.aanmeld-lijst-kaart{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:24px}.aanmeld-lijst-kaart h3{color:var(--color-text-muted);font-size:14px;letter-spacing:.04em;margin-top:0;text-transform:uppercase}.aanmeld-lijst{list-style:none;margin:0;max-height:400px;overflow-y:auto;padding:0}.aanmeld-lijst li{border-bottom:1px solid var(--color-border);display:flex;font-size:14px;justify-content:space-between;padding:10px 0}.aanmeld-lijst li:last-child{border-bottom:none}.aanmeld-tijd{color:var(--color-text-muted);font-family:var(--font-heading)}@media (max-width:700px){.aanmeld-content{grid-template-columns:1fr}}.competitie-container{background:var(--color-bg);min-height:100vh}.competitie-content{margin:0 auto;max-width:1100px;padding:28px 32px}.competitie-titel{color:var(--color-text-muted);flex:1 1;font-size:16px;letter-spacing:.04em;margin:0;text-transform:uppercase}.competitie-details{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-card);margin-bottom:20px;padding:20px}.competitie-details-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.competitie-details-acties{flex-shrink:0}.invoerders-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:10px;max-height:220px;overflow-y:auto;padding:4px}.competitie-tabel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-card);margin-bottom:20px;overflow:hidden}.competitie-tabel table{border-collapse:collapse;width:100%}.competitie-tabel th{background:var(--color-ink);color:#fff;font-size:12px;font-weight:600;letter-spacing:.05em;padding:14px 16px;text-align:left;text-transform:uppercase}.competitie-tabel td{border-bottom:1px solid var(--color-border);font-size:14px;padding:13px 16px}.competitie-tabel tr:last-child td{border-bottom:none}.competitie-tabel tr:hover td{background:#fdf8e9}.competitie-tabel tr.rij-actief td{background:#fff6df}.wapen-container{background:var(--color-bg);min-height:100vh}.wapen-content{margin:0 auto;max-width:1300px;padding:28px 32px}.wapen-titel{color:var(--color-text-muted);flex:1 1;font-size:16px;letter-spacing:.04em;margin:0;text-transform:uppercase}.wapen-tabel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-card);overflow:hidden}.wapen-tabel table{border-collapse:collapse;width:100%}.wapen-tabel th{background:var(--color-ink);color:#fff;font-size:12px;font-weight:600;letter-spacing:.05em;padding:14px 16px;text-align:left;text-transform:uppercase}.wapen-tabel td{border-bottom:1px solid var(--color-border);font-size:14px;padding:13px 16px}.wapen-tabel tr:last-child td{border-bottom:none}.wapen-tabel tr:hover td{background:#fdf8e9}.wapen-tabel tr.archived{opacity:.55}.wapen-nummer-cel{color:var(--color-gold-dark);font-family:var(--font-heading);font-weight:700}.wapen-thumb{border:1px solid var(--color-border);border-radius:4px;display:block;height:40px;object-fit:cover;width:40px}.wapen-thumb-placeholder{background:var(--color-bg);border:1px dashed var(--color-border);border-radius:4px;height:40px;width:40px}.wapen-thumb-groot{border-radius:6px;height:96px;width:96px}.status-badge.status-beschikbaar{background:var(--color-success-bg);color:var(--color-success)}.status-badge.status-uitgegeven{background:var(--color-danger-bg);color:var(--color-danger)}.status-badge.status-onderhoud{background:var(--color-neutral-bg);color:var(--color-neutral)}.wapen-historie{max-width:720px}.wapen-historie .rapport-tabel{border-collapse:collapse;margin-bottom:10px;width:100%}.wapen-historie .rapport-tabel td,.wapen-historie .rapport-tabel th{border-bottom:1px solid var(--color-border);font-size:13px;padding:7px 8px;text-align:left}.wapen-historie .rapport-tabel th{color:var(--color-text-muted);font-size:11px;letter-spacing:.03em;text-transform:uppercase}.onderhoud-container{background:var(--color-bg);min-height:100vh}.onderhoud-content{margin:0 auto;max-width:1300px;padding:28px 32px}.onderhoud-titel{color:var(--color-text-muted);flex:1 1;font-size:16px;letter-spacing:.04em;margin:0;text-transform:uppercase}.onderhoud-tabel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-card);margin-bottom:20px;overflow:hidden}.onderhoud-tabel table{border-collapse:collapse;width:100%}.onderhoud-tabel th{background:var(--color-ink);color:#fff;font-size:12px;font-weight:600;letter-spacing:.05em;padding:14px 16px;text-align:left;text-transform:uppercase}.onderhoud-tabel td{font-size:14px;padding:13px 16px}.onderhoud-tabel tbody tr:not(.regels-rij){border-top:1px solid var(--color-border)}.onderhoud-tabel tr.archived{opacity:.55}.regel-chip{padding:4px 8px 4px 12px}.regel-chip-verwijder{background:none;border:none;color:var(--color-danger);cursor:pointer;font-size:15px;line-height:1;padding:0 2px}.regels-tabel{border-collapse:collapse;margin-bottom:15px;width:100%}.regels-tabel th{color:var(--color-text-muted);font-size:12px;letter-spacing:.04em;padding:6px 8px;text-align:left;text-transform:uppercase}.regels-tabel td,.regels-tabel th{border-bottom:1px solid var(--color-border)}.regels-tabel td{font-size:14px;padding:8px}.regel-toevoegen-rij{align-items:flex-end;background:var(--color-bg);border-radius:4px;margin-left:0;margin-right:0;padding:12px}.status-badge.status-laag{background:var(--color-danger-bg);color:var(--color-danger)}.status-badge.status-ok{background:var(--color-success-bg);color:var(--color-success)}.gereedschap-thumb{border:1px solid var(--color-border);border-radius:4px;display:block;height:40px;object-fit:cover;width:40px}.gereedschap-thumb-placeholder{background:var(--color-bg);border:1px dashed var(--color-border);border-radius:4px;height:40px;width:40px}.gereedschap-thumb-groot{border-radius:6px;height:96px;width:96px}.rooster-container{background:var(--color-bg);min-height:100vh}.rooster-content{margin:0 auto;max-width:1100px;padding:28px 32px}.rooster-titel{color:var(--color-text-muted);flex:1 1;font-size:16px;letter-spacing:.04em;margin:0;text-transform:uppercase}.categorie-tabs,.weergave-tabs{margin-bottom:16px}.weergave-tabs{display:flex;gap:6px}.weergave-tab{background:none;border:none;border-bottom:2px solid #0000;color:var(--color-text-muted);cursor:pointer;font-family:var(--font-heading);font-size:13px;font-weight:600;letter-spacing:.03em;padding:6px 4px;text-transform:uppercase}.weergave-tab.actief{border-bottom-color:var(--color-gold);color:var(--color-ink)}.rooster-tabel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-card);overflow:hidden}.rooster-tabel table{border-collapse:collapse;width:100%}.rooster-tabel th{background:var(--color-ink);color:#fff;font-size:12px;font-weight:600;letter-spacing:.05em;padding:14px 16px;text-align:left;text-transform:uppercase}.rooster-tabel td{border-bottom:1px solid var(--color-border);font-size:14px;padding:13px 16px}.rooster-tabel tr:last-child td{border-bottom:none}.rooster-tabel tr:hover td{background:#fdf8e9}.status-badge.status-dienst-griffier{background:var(--color-info-bg);color:var(--color-info)}.status-badge.status-dienst-baancommandant{background:#fff6df;color:var(--color-gold-dark)}.evenementen-container{background:var(--color-bg);min-height:100vh}.evenementen-content{margin:0 auto;max-width:1300px;padding:28px 32px}.evenementen-titel{color:var(--color-text-muted);flex:1 1;font-size:16px;letter-spacing:.04em;margin:0;text-transform:uppercase}.evenementen-tabel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-card);margin-bottom:20px;overflow:hidden}.evenementen-tabel table{border-collapse:collapse;width:100%}.evenementen-tabel th{background:var(--color-ink);color:#fff;font-size:12px;font-weight:600;letter-spacing:.05em;padding:14px 16px;text-align:left;text-transform:uppercase}.evenementen-tabel td{font-size:14px;padding:13px 16px}.evenementen-tabel tbody tr:not(.regels-rij){border-top:1px solid var(--color-border)}.evenementen-tabel tr.archived{opacity:.55}.regels-rij td{padding-bottom:12px;padding-top:0}.evenement-gezien-sectie{border-top:1px solid var(--color-border);margin-top:10px;padding-top:10px}.regel-chip{align-items:center;display:inline-flex;gap:6px;margin-right:6px;margin-top:4px}.hint-tekst{color:var(--color-text-muted);font-size:13px;margin:4px 0 8px}.rol-checkbox input{cursor:pointer;height:16px;width:16px}.status-badge.status-actief{background:var(--color-success-bg);color:var(--color-success)}.status-badge.status-passief{background:var(--color-neutral-bg);color:var(--color-neutral)}.evenementen-paginering{align-items:center;display:flex;gap:16px;justify-content:center;margin-top:16px}.evenementen-paginering button{padding:8px 18px}.evenementen-pagina-sprong{align-items:center;color:var(--color-text-muted);display:flex;font-size:13px;gap:8px}.evenementen-pagina-sprong input{border:1px solid var(--color-border);border-radius:4px;font-size:13px;padding:6px 8px;text-align:center;width:60px}.evenementen-pagina-sprong button{padding:6px 14px}.bijlage-link{margin-left:6px;text-decoration:none}.berichtenbord-container{background:var(--color-bg);min-height:100vh}.berichtenbord-content{margin:0 auto;max-width:900px;padding:28px 32px}.berichtenbord-titel{color:var(--color-text-muted);flex:1 1;font-size:16px;letter-spacing:.04em;margin:0;text-transform:uppercase}.berichten-lijst{display:flex;flex-direction:column;gap:16px}.bericht-kaart{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:18px 22px}.bericht-kaart.vastgepind{border-left:4px solid var(--color-gold)}.bericht-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.bericht-header h3{color:var(--color-ink);font-size:16px;margin:0 0 4px}.bericht-speld{margin-right:6px}.bericht-meta{color:var(--color-text-muted);font-size:12px;letter-spacing:.03em;margin:0 0 10px;text-transform:uppercase}.bericht-inhoud{color:var(--color-text);font-size:14px;margin:0;white-space:pre-wrap}.bericht-textarea{border:1px solid var(--color-border);border-radius:4px;font-family:var(--font-body);font-size:14px;padding:10px;resize:vertical}.bericht-textarea:focus{border-color:var(--color-gold);box-shadow:0 0 0 3px #ffc42633;outline:none}.bericht-bijlage-link{color:var(--color-info);display:inline-block;font-size:13px;margin-top:10px;text-decoration:none}.bijlage-sectie{align-items:center;display:flex;gap:12px;margin-bottom:20px}.bericht-gezien-sectie{margin-top:12px}.btn-gezien-door{font-size:12px;padding:6px 14px}.gezien-door-lijst{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.regel-chip{background:var(--color-bg);border:1px solid var(--color-border);border-radius:100px;color:var(--color-text-muted);display:inline-block;font-size:12px;padding:4px 12px}.berichtenbord-paginering{align-items:center;display:flex;gap:16px;justify-content:center;margin-top:16px}.berichtenbord-paginering button{padding:8px 18px}.berichtenbord-pagina-sprong{align-items:center;color:var(--color-text-muted);display:flex;font-size:13px;gap:8px}.berichtenbord-pagina-sprong input{border:1px solid var(--color-border);border-radius:4px;font-size:13px;padding:6px 8px;text-align:center;width:60px}.berichtenbord-pagina-sprong button{padding:6px 14px}.log-container{background:var(--color-bg);min-height:100vh}.log-content{margin:0 auto;max-width:1300px;padding:28px 32px}.log-titel{color:var(--color-text-muted);flex:1 1;font-size:16px;letter-spacing:.04em;margin:0;text-transform:uppercase}.log-filters{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.log-filters select{background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;font-family:var(--font-body);font-size:14px;padding:10px 14px}.log-datum-veld{align-items:center;color:var(--color-text-muted);display:flex;font-size:13px;gap:6px}.log-datum-veld input{border:1px solid var(--color-border);border-radius:4px;font-family:var(--font-body);font-size:14px;padding:9px 10px}.log-tabel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-card);overflow:hidden}.log-tabel table{border-collapse:collapse;width:100%}.log-tabel th{background:var(--color-ink);color:#fff;font-size:12px;font-weight:600;letter-spacing:.05em;padding:12px 16px;text-align:left;text-transform:uppercase}.log-tabel td{border-bottom:1px solid var(--color-border);font-size:13px;padding:10px 16px}.log-tabel tr:last-child td{border-bottom:none}.log-tabel tr:hover td{background:#fdf8e9}.status-badge.actie-aanmaken{background:var(--color-success-bg);color:var(--color-success)}.status-badge.actie-wijzigen{background:var(--color-info-bg);color:var(--color-info)}.status-badge.actie-verwijderen{background:var(--color-danger-bg);color:var(--color-danger)}.status-badge.actie-inloggen{background:#fff6df;color:var(--color-gold-dark)}.log-paginering{align-items:center;display:flex;gap:16px;justify-content:center;margin-top:16px}.log-paginering button{padding:8px 18px}.log-pagina-sprong{align-items:center;color:var(--color-text-muted);display:flex;font-size:13px;gap:8px}.log-pagina-sprong input{border:1px solid var(--color-border);border-radius:4px;font-size:13px;padding:6px 8px;text-align:center;width:60px}.log-pagina-sprong button{padding:6px 14px}.facturen-container{background:var(--color-bg);min-height:100vh}.facturen-content{margin:0 auto;max-width:1300px;padding:28px 32px}.facturen-titel{color:var(--color-text-muted);flex:1 1;font-size:16px;letter-spacing:.04em;margin:0;text-transform:uppercase}.toolbar select{background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;font-family:var(--font-body);font-size:14px;padding:10px 14px}.facturen-tabel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-card);overflow:hidden}.facturen-tabel table{border-collapse:collapse;width:100%}.facturen-tabel th{background:var(--color-ink);color:#fff;font-size:12px;font-weight:600;letter-spacing:.05em;padding:12px 16px;text-align:left;text-transform:uppercase}.facturen-tabel td{border-bottom:1px solid var(--color-border);font-size:14px;padding:11px 16px}.facturen-tabel tr:last-child td{border-bottom:none}.facturen-tabel tr:hover td{background:#fdf8e9}.status-badge.factuur-issued{background:var(--color-info-bg);color:var(--color-info)}.status-badge.factuur-paid{background:var(--color-success-bg);color:var(--color-success)}.status-badge.factuur-cancelled{background:var(--color-danger-bg);color:var(--color-danger)}.status-badge.factuur-draft{background:var(--color-neutral-bg);color:var(--color-neutral)}.factuur-lid-gekozen{align-items:center;background:var(--color-surface);border:1px solid var(--color-gold);border-radius:4px;display:flex;justify-content:space-between;padding:10px 14px}.factuur-lid-resultaten{background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;box-shadow:var(--shadow-card);left:0;max-height:220px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:10}.snel-types{display:flex;gap:8px}.snel-types button{flex:0 0 auto;padding:8px 16px}.boekhouding-container{background:var(--color-bg);min-height:100vh}.boekhouding-content{margin:0 auto;max-width:1300px;padding:28px 32px}.boekhouding-titel{color:var(--color-text-muted);flex:1 1;font-size:16px;letter-spacing:.04em;margin:0;text-transform:uppercase}.categorie-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:20px}.categorie-tab{background:var(--color-surface);border:1px solid var(--color-border);border-radius:100px;color:var(--color-text-muted);cursor:pointer;font-family:var(--font-heading);font-size:13px;font-weight:600;letter-spacing:.03em;padding:8px 18px;text-transform:uppercase}.categorie-tab.actief{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-gold)}.rol-checkbox{align-items:center;color:var(--color-text);cursor:pointer;display:flex;font-size:14px;gap:8px}.boekhouding-tabel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-card);margin-bottom:20px;overflow:hidden}.boekhouding-tabel table{border-collapse:collapse;width:100%}.boekhouding-tabel th{background:var(--color-ink);color:#fff;font-size:12px;font-weight:600;letter-spacing:.05em;padding:13px 16px;text-align:left;text-transform:uppercase}.boekhouding-tabel td{border-bottom:1px solid var(--color-border);font-size:14px;padding:12px 16px}.boekhouding-tabel tr:last-child td{border-bottom:none}.boekhouding-tabel tr:hover td{background:#fdf8e9}.boekhouding-tabel tr.rij-actief td{background:#fff6df}.status-badge.soort-debet{background:var(--color-danger-bg);color:var(--color-danger)}.status-badge.soort-credit{background:var(--color-success-bg);color:var(--color-success)}.grootboek-detail{margin-top:8px}*{box-sizing:border-box;margin:0;padding:0}.App{margin:0 auto;max-width:1400px}.kassa-start{padding:40px 20px;text-align:center}.kassa-start h1{font-size:28px;letter-spacing:.04em;margin-bottom:30px;text-transform:uppercase}.lid-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.lid-button{background:var(--color-ink);border:none;border-radius:var(--radius);color:var(--color-gold);cursor:pointer;font-family:var(--font-heading);font-size:16px;font-weight:600;padding:20px;transition:background .15s ease}.lid-button:hover{background:#000}.kassa-interface{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;padding:20px}.kassa-header{background:var(--color-ink);border-bottom:3px solid var(--color-gold);color:#fff;grid-column:1/-1}.kassa-form,.kassa-header{border-radius:var(--radius);box-shadow:var(--shadow-card);padding:20px}.kassa-form{background:var(--color-surface);border:1px solid var(--color-border)}.form-group{margin-bottom:15px}.form-group label{display:block;font-size:14px;font-weight:600;margin-bottom:5px}.form-group input,.form-group select{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:10px;width:100%}.btn-submit{background:var(--color-gold);border:none;border-radius:4px;color:var(--color-ink);cursor:pointer;font-family:var(--font-heading);font-size:15px;font-weight:700;letter-spacing:.04em;padding:12px;text-transform:uppercase;width:100%}.btn-submit:hover{background:var(--color-gold-dark)}.transacties-log{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:20px}.transacties-log table{border-collapse:collapse;width:100%}.transacties-log th{background:var(--color-ink);color:#fff;font-size:12px;font-weight:600;letter-spacing:.04em;padding:10px;text-align:left;text-transform:uppercase}.transacties-log td{border-bottom:1px solid #eee;padding:10px}.afsluiting{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;grid-column:1/-1;padding:20px}.afsluiting input{border:1px solid #ddd;border-radius:4px;margin-right:10px;padding:10px;width:200px}.afsluiting button{background:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px}.afsluiting button:hover{background:#c82333}.status{border-radius:4px;margin-top:15px;padding:15px}.status.success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.status.error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.status p{font-weight:600;margin:5px 0}@media (max-width:768px){.kassa-interface{grid-template-columns:1fr}.lid-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}}
/*# sourceMappingURL=main.cc50c58d.css.map*/