*{box-sizing:border-box}body{margin:0;background:#f6f5f0;color:#273e39;font-family:Lato,Arial,sans-serif;font-size:16px;line-height:1.5}header{background:#173e35;color:#fff;padding:22px 5%;display:flex;justify-content:space-between;align-items:center}.brand{font-size:19px;font-weight:700}.brand span{display:block;color:#c8d8bc;font-size:14px;font-weight:400}main{max-width:1500px;margin:38px auto;padding:0 28px}h1{font-size:clamp(30px,4vw,46px);line-height:1.15;margin:6px 0 12px}h2{font-size:23px;margin:0 12px}h3{font-size:18px;margin:26px 0 9px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:700;color:#657949}.heading{display:flex;justify-content:space-between;align-items:center}.heading p{margin-top:0;color:#62706b}button,input{font:inherit}button{border:1px solid #b8c4b5;border-radius:8px;background:#fff;color:#274e42;padding:9px 14px;cursor:pointer}button:hover{background:#eaf0e3}button:focus-visible,input:focus-visible{outline:3px solid #a36620;outline-offset:2px}button[aria-pressed=true]{background:#234d40;color:#fff}button:disabled{opacity:.5;cursor:wait}.quiet{background:transparent}header .quiet{color:#fff;border-color:#719284}#status{display:flex;flex-wrap:wrap;gap:7px;margin:15px 0 20px;font-size:12px;color:#62706b}.source{background:#e8ecdf;border-radius:6px;padding:5px 9px}.failed,.warning{color:#773818;background:#fff0df}.warning{padding:12px 16px;border-radius:8px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin:22px 0}.navigation{display:flex;align-items:center;gap:5px}.filters{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:24px}.filters label{background:#fff;border:1px solid #c8cebc;border-left:5px solid var(--color);border-radius:7px;padding:8px 12px;font-size:14px}.filters input[type=checkbox]{margin-right:7px}.filters input[type=search]{flex:1;min-width:240px;padding:10px 13px;border:1px solid #c3cebd;border-radius:8px}.zaal{--color:#a87131;--bg:#fff3df}.school{--color:#426997;--bg:#eaf1fc}.leskist{--color:#846093;--bg:#f5eafa}.museum{--color:#477348;--bg:#edf5e5}.grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:#d3dccc;border:1px solid #d3dccc;border-radius:12px;overflow:hidden}.dayname{background:#e9ecdf;text-align:center;padding:10px;font-size:13px;font-weight:700}.day{background:#fff;min-height:140px;padding:8px;min-width:0}.daynumber{font-size:14px;margin:2px 0 8px}.current .daynumber{font-weight:700;color:#fff;background:#284f3c;border-radius:20px;padding:2px 8px;display:inline-block}.outside{background:#f3f3ee}.outside .daynumber{color:#879080}.event{display:block;text-align:left;width:100%;background:var(--bg);border:0;border-left:4px solid var(--color);border-radius:5px;margin:6px 0;padding:8px 9px;color:#273e39;overflow-wrap:anywhere}.event:hover{filter:brightness(.96);background:var(--bg)}.event .time{display:block;font-size:12px;font-weight:700;color:var(--color)}.event-title{font-size:14px;display:block}.duplicate{display:block;font-size:11px;color:#8c4828}.week .day{min-height:300px}.themes{padding:12px 16px;background:#e9eddf;border-radius:10px;margin-bottom:18px}.themes>span{font-size:12px;font-weight:700}.themes .event{display:inline-block;width:auto;margin:6px}.footnote{font-size:13px;color:#68756c;margin-top:24px}.empty{padding:30px;background:#fff;border-radius:12px}dialog{border:0;border-radius:16px;padding:28px;max-width:600px;width:calc(100% - 36px);color:#273e39;box-shadow:0 20px 80px #0003}dialog::backdrop{background:#132f2bb3}dialog #close{float:right}dialog h2{margin:20px 0;font-size:27px}dt{font-weight:700;margin-top:16px}dd{margin:0}a{color:#27593f}.login{max-width:600px;margin-top:80px}.login form{background:#fff;border-radius:14px;padding:28px;margin-top:30px}.login label,.login input{display:block;width:100%;margin-bottom:12px}.login input{padding:12px;border:1px solid #b8c4b5;border-radius:7px}.login button{background:#234d40;color:white}.login [role=alert]{color:#a34322}@media(max-width:850px){main{padding:0 14px;margin-top:24px}.grid{overflow-x:auto;grid-template-columns:repeat(7,minmax(135px,1fr))}.navigation{flex-wrap:wrap}.navigation h2{width:100%;margin:8px 0}.toolbar{align-items:flex-start}.heading{gap:10px}header{padding:18px 20px}.brand{font-size:16px}}

/* PVM: Lato, volle kleurvlakken, witruimte en kleuren uit de huisstijlgids. */
@font-face{font-family:Lato;src:url('Lato-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Lato;src:url('Lato-Bold.ttf') format('truetype');font-weight:700 900;font-display:swap}
body{background:#f6f8f2;color:#26332c}header{background:white;color:#26332c;border-bottom:8px solid #a1c03a;padding:24px 5%;gap:20px}.brand{display:flex;align-items:center;gap:28px}.brand img{display:block;width:300px;max-width:55vw;height:auto}.brand span{color:#53662b;font-size:18px;font-weight:700;border-left:1px solid #d9dfce;padding-left:28px}header .quiet{color:#354c21;border-color:#a1c03a}h1{color:#354c21}.eyebrow{color:#53662b}.source{background:#e8efcf;color:#394722}button{color:#354c21;border-color:#c7d5b3}button:hover{background:#edf3dd}button[aria-pressed=true],.login button{background:#536d24;color:white;border-color:#536d24}button:focus-visible,input:focus-visible{outline-color:#4571b8}.zaal{--color:#9c6017;--bg:#fff1d5}.school{--color:#4571b8;--bg:#eaf3fc}.leskist{--color:#875789;--bg:#f1eaf5}.museum{--color:#387143;--bg:#e9f4dd}.filters label{border-color:#d4deca;border-left-color:var(--color)}.grid{background:#d5dfc7;border-color:#d5dfc7}.dayname{background:#e8efcf;color:#3b4d24}.current .daynumber{background:#536d24}.outside{background:#f7f9f2}.themes{background:#e8efcf;border-left:5px solid #a1c03a}.event{color:#26332c}.login form{border-top:7px solid #f6de48;box-shadow:0 8px 30px #354c2110}.login{margin-top:60px}a{color:#354c21}dialog{color:#26332c}dialog::backdrop{background:#26332c99}@media(max-width:850px){header{padding:18px 20px}.brand{display:block}.brand img{width:240px}.brand span{border:0;padding:8px 0 0;font-size:14px}.login{margin-top:36px}}
/* Mijn PVM startscherm */
.portal{min-height:100vh;display:flex;flex-direction:column;background:#fbfcf8;color:#28352b}.portal main{width:100%;flex:1}.icon{width:26px;height:26px;flex:none;vertical-align:middle}.skip-link{position:fixed;top:-70px;left:12px;background:white;padding:12px;z-index:20}.skip-link:focus{top:12px}.portal-header{background:#fff;border-bottom:1px solid #e0e7d5;padding:22px max(28px,calc((100vw - 1400px)/2));gap:24px;flex-wrap:wrap}.portal-header .brand{text-decoration:none;color:inherit;gap:22px}.portal-header .brand img{width:290px;max-width:48vw}.portal-header .brand span{font-size:27px;color:#35491d;border-color:#d9dfce;padding-left:22px}.main-nav{display:flex;gap:22px;margin-left:auto;align-self:stretch}.main-nav a{display:flex;align-items:center;flex-direction:column;gap:6px;text-decoration:none;color:#53605b;min-width:75px;padding:5px 4px 10px;border-bottom:5px solid transparent;font-weight:700}.main-nav a:hover{color:#536d24}.main-nav a[aria-current=page]{color:#536d24;border-color:#a1c03a}.logout-form button{font-size:13px;border:0;padding:8px}.home-main{max-width:1400px!important;margin:34px auto 45px!important}.home-intro{margin-bottom:32px;position:relative}.home-intro h1{font-size:clamp(30px,3.5vw,48px);letter-spacing:-.8px}.home-intro>p:last-child{font-size:23px;margin:0;color:#41504c}.home-columns{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(310px,1fr);gap:24px;align-items:start}.home-panel{border:1px solid #dfe5d6;border-radius:15px;background:#fff;padding:24px;box-shadow:0 3px 12px #273e3904}.home-panel h2{margin:0;font-size:26px;line-height:1.25;color:#35491d}.panel-heading{display:flex;justify-content:space-between;gap:16px;align-items:center}.panel-heading button{padding:6px 9px;font-size:13px}.today-date{display:flex;gap:9px;align-items:center;font-size:14px;color:#5a6961;margin:14px 0 22px}.today-date .icon{width:19px;height:19px}#today-events{display:grid;gap:14px}.today-card{background:var(--bg);border-left:5px solid var(--color);border-radius:10px;overflow:hidden}.today-card-main{display:flex;gap:20px;align-items:flex-start;width:100%;text-align:left;border:0;background:transparent;border-radius:0;padding:18px;color:#28352b}.today-card-main:hover{background:#ffffff50}.today-time{font-size:15px;font-weight:700;min-width:105px;padding-top:2px}.today-info{display:flex;flex-direction:column;min-width:0;flex:1}.today-kind{font-size:19px;line-height:1.25}.today-title{font-size:15px;line-height:1.4;margin:5px 0 0;overflow-wrap:anywhere}.today-summary{font-size:13px;margin-top:6px;color:#59625c}.card-arrow{font-size:27px;line-height:1;margin-left:auto}.event-documents{display:flex;gap:10px;flex-wrap:wrap;margin:0 18px 18px 143px}.document-action{display:inline-block;text-decoration:none;background:#536d24;color:#fff;padding:9px 12px;border:1px solid #536d24;border-radius:7px;font-weight:700;font-size:13px}.document-action:hover{background:#3c501b;color:#fff}.document-action.secondary{background:white;color:#536d24}.all-agenda{display:inline-flex;gap:12px;font-weight:700;text-decoration:none;color:#536d24;margin:22px 0 0}.all-agenda:hover{text-decoration:underline}.home-status{font-size:12px;color:#657064;margin:14px 0 0}.folder-list{display:grid;gap:14px;margin-top:22px}.folder-card{display:flex;align-items:center;gap:16px;min-height:105px;border:1px solid #dfe5d6;border-radius:11px;background:#fff;text-decoration:none;padding:18px;color:#26332c;transition:background .15s}.folder-card:hover{background:#f6f9ee}.folder-card>span:nth-child(2){flex:1;min-width:0}.folder-card strong{display:block;font-size:20px;line-height:1.2}.folder-summary{display:block;font-size:14px;color:#58665e;line-height:1.35;margin-top:5px}.file-count{display:block;font-size:11px;color:#647357;margin-top:5px}.folder-icon .icon{width:38px;height:38px}.folder-card>.icon{width:18px;height:18px;color:#5a6961}.olive .folder-icon{color:#536d24}.yellow .folder-icon{color:#b17900}.blue .folder-icon{color:#397999}.portal-footer{position:relative;margin-top:auto;padding-top:12px;color:#62705f;font-size:12px;overflow:hidden}.portal-footer>div{max-width:1400px;margin:auto;padding:0 28px}.landscape{display:block;width:100%;height:65px;margin-top:8px}.theme-link{display:block;width:100%;text-align:left;font-size:14px;background:#f0f5e4;border-color:#e0e8cc;margin-top:7px}#home-themes h3{font-size:14px;color:#647357;margin:22px 0 8px}.documents-main{max-width:1200px!important}.document-categories{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:25px}.intro-copy{color:#5a6961;margin-top:0}.back-link{display:inline-block;margin:10px 0 14px;text-decoration:none}.document-files{list-style:none;padding:0;display:grid;gap:12px}.document-files a{display:flex;gap:16px;align-items:center;text-decoration:none;border:1px solid #dfe5d6;border-radius:10px;padding:18px;background:#fff}.document-files a>span{flex:1;min-width:0}.document-files strong{display:block;overflow-wrap:anywhere}.document-files a>span>span{display:block;font-size:12px;color:#647357;margin-top:4px}.empty-documents{margin-top:24px;max-width:650px}.empty-documents>.icon{width:40px;height:40px;color:#a1c03a;margin-bottom:16px}.empty-documents p{margin-bottom:0}.portal dialog .event-documents{margin:22px 0}.portal .login{flex:0;margin-bottom:60px}a:focus-visible{outline:3px solid #4571b8;outline-offset:3px}
@media(max-width:1100px){.portal-header{padding:18px 28px;gap:15px}.portal-header .brand img{width:240px}.portal-header .brand span{font-size:22px}.main-nav{gap:12px}.main-nav a{min-width:60px}.logout-form{margin-left:0}.home-panel{padding:20px}.home-panel h2{font-size:23px}.today-card-main{gap:12px;padding:15px}.today-time{min-width:95px;font-size:14px}.event-documents{margin-left:122px}}
@media(max-width:850px){.portal-header{padding:16px 20px;gap:12px}.portal-header .brand{display:flex;gap:14px}.portal-header .brand img{width:230px;max-width:48vw}.portal-header .brand span{border-left:1px solid #d9dfce;padding:0 0 0 14px;font-size:21px}.main-nav{order:3;width:100%;margin:6px 0 0;justify-content:space-around;gap:10px}.main-nav a{flex:1;padding-bottom:8px}.logout-form{margin-left:auto}.home-main{margin-top:24px!important;padding:0 16px}.home-intro{margin-bottom:24px}.home-intro h1{font-size:32px}.home-intro>p:last-child{font-size:19px}.home-columns{grid-template-columns:1fr;gap:20px}.home-panel h2{font-size:24px}.folder-list{margin-top:18px}.folder-card{min-height:92px}.portal-footer>div{padding:0 20px}.document-categories{grid-template-columns:1fr}.landscape{height:45px}}
@media(max-width:480px){.portal-header{padding:16px 16px 0}.portal-header .brand{display:block}.portal-header .brand img{width:240px;max-width:70vw}.portal-header .brand span{display:block;border:0;padding:5px 0 0;font-size:21px}.logout-form{align-self:flex-start}.main-nav{gap:5px}.main-nav a{font-size:14px;gap:4px}.main-nav .icon{width:23px;height:23px}.home-panel{padding:17px}.home-intro .eyebrow{font-size:10px}.home-intro h1{font-size:29px;letter-spacing:-.5px}.home-intro>p:last-child{font-size:18px}.home-panel h2{font-size:22px}.panel-heading{gap:8px}.panel-heading button{font-size:12px;padding:6px}.today-card-main{display:grid;grid-template-columns:1fr 20px;gap:7px 8px;padding:15px}.today-time{grid-column:1;min-width:0;font-size:14px}.today-info{grid-column:1}.card-arrow{grid-column:2;grid-row:1/3;align-self:center}.today-kind{font-size:18px}.today-title{font-size:14px}.event-documents{margin:0 15px 15px}.folder-card{padding:16px;gap:13px}.folder-card strong{font-size:18px}.folder-summary{font-size:13px}.folder-icon .icon{width:32px;height:32px}.documents-main{padding:0 16px}}

/* Mededelingenbord: vult de linkerkolom tot aan de onderkant van Documenten. */
.home-columns{align-items:stretch}.home-left{display:flex;flex-direction:column;gap:22px;min-width:0}.home-left>.today-panel{flex:none}.notice-board{flex:1;min-height:200px;border-top:5px solid #f6de48}.notice-content{margin-top:18px;line-height:1.55;overflow-wrap:anywhere}.notice-content:empty{margin:0}.notice-content p{margin:0 0 12px}.notice-content h3,.notice-content h4,.notice-content h5,.notice-content h6{margin:18px 0 10px;color:#35491d;line-height:1.3}.notice-content>:first-child{margin-top:0}.notice-content ul,.notice-content ol{padding-left:24px;margin-top:10px;margin-bottom:14px}.notice-content li{margin:5px 0}.notice-content a{color:#35491d;text-decoration:underline}.notice-warning{font-size:13px;color:#8a451f}.notice-table-wrap{overflow-x:auto}.notice-content table{border-collapse:collapse;width:100%;margin:12px 0}.notice-content td{border:1px solid #dce3d1;padding:9px;vertical-align:top}.notice-content td p:last-child{margin-bottom:0}@media(max-width:850px){.home-left{gap:20px}.notice-board{min-height:150px}.home-columns{align-items:start}}

/* Extra PVM-huisstijlkleuren voor herkenbare rubrieken. */
.today-panel{border-top:5px solid #91dafa}.today-panel #today-heading{color:#4571b8}.notice-board{border-top-color:#875789;background:#fcf9fd}.notice-board #notice-heading{color:#875789}.documents-panel{border-top:5px solid #a1c03a}.documents-panel #docs-heading{color:#536d24}.folder-card.yellow strong{color:#946017}.folder-card.blue strong{color:#4571b8}

/* Registraties blijven op de aparte, beveiligde deelnemerspagina. */
.participant-action{background:#4571b8;border-color:#4571b8}.participant-action:hover{background:#345991;border-color:#345991}.balie-tools{margin:24px 0}.tool-card{display:flex;align-items:center;gap:18px;text-decoration:none;border:1px solid #d1dfef;border-left:5px solid #4571b8;border-radius:12px;background:#eef5fc;padding:22px;color:#26332c}.tool-card:hover{background:#e2edfb}.tool-card>.icon:first-child{width:38px;height:38px;color:#4571b8}.tool-card>span{flex:1}.tool-card strong{display:block;font-size:22px;color:#345991}.tool-card span span{display:block;font-size:14px;margin-top:5px;color:#52647a}

/* Documenten blijven binnen Mijn PVM, met een vaste terugknop. */
.document-viewer{max-width:1200px!important;margin-top:24px!important}.document-bar{display:flex;align-items:center;gap:16px;position:sticky;top:0;z-index:4;background:#fbfcf8;padding:12px 0;border-bottom:1px solid #dfe5d6}.document-bar h1{font-size:21px;flex:1;min-width:0;overflow-wrap:anywhere;margin:0}.document-download{text-decoration:none;border:1px solid #c7d5b3;border-radius:8px;padding:8px 12px;font-size:13px}.pdf-controls{display:flex;gap:9px;align-items:center;justify-content:center;position:sticky;top:var(--document-bar-height,68px);z-index:3;background:#fbfcf8;padding:12px 0;flex-wrap:wrap}.pdf-controls button{min-width:42px}.pdf-controls span{min-width:85px;text-align:center}#pdf-message{font-size:14px;color:#8a451f}#pdf-canvas-wrap{overflow:auto;background:#e9ede2;padding:12px;border-radius:10px;max-width:100%}#pdf-canvas{display:block;margin:auto;background:white;box-shadow:0 2px 10px #0002}.document-image{display:block;max-width:100%;height:auto;margin:20px auto}@media(max-width:480px){.document-bar{gap:8px;align-items:flex-start;flex-wrap:wrap}.document-bar h1{font-size:16px;flex-basis:calc(100% - 100px)}.document-download{margin-left:auto}.pdf-controls{gap:7px}.document-viewer{padding:0 12px}}

/* Bezoekersregistratie op de baliewerkplek. */
.home-right{display:flex;flex-direction:column;gap:24px;min-width:0}.home-right>.documents-panel{flex:1}.visitor-panel{border-top:5px solid #4571b8}.visitor-panel h2{color:#4571b8}.visitor-panel [hidden]{display:none!important}.visitor-panel fieldset{border:0;padding:0;margin:18px 0}.visitor-panel legend{font-weight:bold;margin-bottom:14px}.visitor-panel label{display:block;font-weight:bold;margin:14px 0 5px}.visitor-panel input{box-sizing:border-box;width:100%;font:700 28px Lato,sans-serif;padding:10px;border:2px solid #b4c69a;border-radius:9px}.visitor-panel input:focus{outline:3px solid #4571b8;outline-offset:2px;background:#f7fbdf}.visitor-panel input:disabled{background:#eee;color:#777}.visitor-origin,.visitor-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.visitor-origin button{padding:8px 10px;font-size:14px}.visitor-origin [aria-pressed="true"]{background:#4571b8;color:white}.visitor-help{font-size:14px;color:#526147}#visitor-status{font-weight:bold;overflow-wrap:anywhere}.visitor-panel button:disabled{opacity:.65}

.visitor-preview{background:#fff8d8;border:1px solid #e5ca67;border-radius:10px;padding:14px;margin-top:16px}.visitor-preview p{margin:8px 0}.visitor-preview button{font-size:13px}.visitor-tickets{margin-top:22px;padding:16px;gap:12px}.visitor-tickets strong{font-size:19px}.visitor-tickets span span{font-size:13px}.visitor-tickets>.icon:first-child{width:30px;height:30px}
