:root{--papier:#f6f5f2;--paneel:#fbfaf8;--rand:#e0dcd4;--inkt:#2b2b2b;--zwak:#7b7671;--accent:#3d5a80;--waarschuwing:#c63f2b;--markering:#e8a01c}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{color:var(--inkt);background:var(--papier);-webkit-font-smoothing:antialiased;font:13px/1.45 ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}.scherm{grid-template-rows:auto 1fr;height:100%;display:grid}.werkbalk{background:var(--paneel);border-bottom:1px solid var(--rand)}.balkrij{align-items:center;gap:10px;padding:6px 12px;display:flex}.balkrij.tweede{border-top:1px solid var(--rand);padding:4px 12px;font-size:12px}.vult{flex:1}.hint{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.merk{letter-spacing:.01em;font-weight:650}.werkbalk label{color:var(--zwak);align-items:center;gap:6px;display:inline-flex}.werkbalk select{font:inherit;border:1px solid var(--rand);color:var(--inkt);background:#fff;border-radius:5px;padding:3px 6px}.toelichting{text-overflow:ellipsis;white-space:nowrap;flex:120px;min-width:0;font-size:12px;overflow:hidden}.scheiding{background:var(--rand);width:1px;height:20px}.vink{gap:5px}button{font:inherit;border:1px solid var(--rand);color:var(--inkt);cursor:pointer;background:#fff;border-radius:5px;padding:4px 10px}button:hover:not(:disabled){border-color:#c9c3b8}button:disabled{opacity:.4;cursor:default}button.actief{background:var(--accent);border-color:var(--accent);color:#fff}button.gevaar{color:var(--waarschuwing)}.midden{grid-template-columns:258px 1fr 300px;min-height:0;display:grid}.links,.rechts{background:var(--paneel);min-height:0;overflow-y:auto}.links{border-right:1px solid var(--rand)}.rechts{border-left:1px solid var(--rand)}.canvasvak{grid-template-rows:1fr auto;min-width:0;min-height:0;display:grid;position:relative}.tekenvenster{min-height:0;position:relative;overflow:hidden}.zoomknoppen{flex-direction:column;gap:4px;display:flex;position:absolute;bottom:12px;right:12px}.zoomknoppen button{width:30px;padding:3px 0}.statusregel{border-top:1px solid var(--rand);background:var(--paneel);font-variant-numeric:tabular-nums;justify-content:space-between;gap:12px;padding:5px 12px;display:flex}.paneel{padding:12px 14px 20px}.paneel h2{letter-spacing:.03em;text-transform:uppercase;color:var(--zwak);margin:0 0 10px;font-size:13px}.paneel h3{margin:16px 0 6px;font-size:12px;font-weight:650}.paneel p{margin:4px 0 8px}.zwak{color:var(--zwak);font-weight:400}.klein{font-size:12px}.lijst{margin:0;padding:0;list-style:none}.lijst li{padding:2px 0}.lijst.klein li{font-size:12px}.volume{border:1px solid var(--rand);background:#fff;border-radius:6px;margin-bottom:6px}.volume.gekozen{border-color:var(--accent)}.volumekop{text-align:left;background:0 0;border:0;border-radius:6px;flex-direction:column;align-items:flex-start;gap:1px;width:100%;padding:7px 9px;display:flex}.beuken{margin:0;padding:0 9px 8px;list-style:none}.beuk{align-items:center;gap:6px;padding:2px 0;display:flex}.beuklabel{color:var(--zwak);flex:1;font-size:12px}.beuk input{width:66px;font:inherit;text-align:right;border:1px solid var(--rand);color:var(--inkt);font-variant-numeric:tabular-nums;background:#fff;border-radius:4px;padding:2px 5px}.eenheid{color:var(--zwak);width:14px;font-size:12px}.knoprij{flex-wrap:wrap;gap:5px;padding:0 9px 9px;display:flex}.knoprij button{padding:3px 8px;font-size:12px}.tabel{border-collapse:collapse;width:100%}.tabel td{vertical-align:top;padding:2px 0}.tabel td+td{padding-left:10px}.tabel td.getal{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.tabel tr.totaal td{border-top:1px solid var(--rand);padding-top:4px;font-weight:650}.tabel tr.waarschuwing td{color:var(--waarschuwing)}.meldingen{padding:8px 14px 12px}.meldingkop{flex-direction:column;gap:1px;display:flex}.meldingkop h2{letter-spacing:.03em;text-transform:uppercase;color:var(--zwak);margin:0 0 6px;font-size:13px}.meldinglijst{flex-direction:column;gap:3px;margin:0;padding:0;list-style:none;display:flex}.meldinglijst button{text-align:left;background:0 0;border:1px solid #0000;border-radius:5px;grid-template-columns:19px 1fr;gap:3px 8px;width:100%;padding:4px 6px;display:grid}.meldinglijst button:hover{border-color:var(--rand);background:#fff}.meldinglijst button.gemarkeerd{border-color:var(--markering);background:#fff}.meldinglijst .nr{background:var(--waarschuwing);color:#fff;text-align:center;border-radius:50%;flex:none;width:19px;height:19px;font-size:11px;font-weight:650;line-height:19px}.meldinglijst .gemarkeerd .nr{background:var(--markering)}.meldinglijst .code{color:var(--zwak);grid-column:2;font-size:11px}.meldinglijst .tekst{grid-column:2}.weigering{border:1px solid var(--waarschuwing);background:#fdf3f1;border-radius:6px;align-items:baseline;gap:10px;margin-bottom:8px;padding:7px 10px;display:flex}.weigering strong{color:var(--waarschuwing)}.weigering button{margin-left:auto}.overlay{z-index:20;background:#2b2b2b47;place-items:center;display:grid;position:fixed;inset:0}.venster{background:var(--paneel);border:1px solid var(--rand);border-radius:9px;width:min(360px,100vw - 32px);padding:16px 18px 14px;box-shadow:0 18px 44px #2b2b2b38}.venster h2{margin:0 0 10px;font-size:14px}.venster p{margin:0 0 10px}.veld{align-items:center;gap:8px;margin-bottom:8px;display:flex}.veld>span:first-child{width:82px;color:var(--zwak);flex:none}.veld input,.veld select{min-width:0;font:inherit;border:1px solid var(--rand);color:var(--inkt);background:#fff;border-radius:5px;flex:1;padding:4px 7px}.veld input{font-variant-numeric:tabular-nums}.veld .eenheid{width:22px;color:var(--zwak);flex:none}.knoprij.rechts{justify-content:flex-end;padding:10px 0 0}.bewaarrij{gap:6px;display:flex}.bewaarrij input{min-width:0;font:inherit;border:1px solid var(--rand);color:var(--inkt);background:#fff;border-radius:5px;flex:1;padding:3px 7px}.foutregel{color:var(--waarschuwing);border-left:2px solid var(--waarschuwing);padding-left:8px;font-size:12px}.bestandenlijst li{align-items:center;gap:4px;display:flex}.bestandsknop{text-align:left;background:0 0;border:1px solid #0000;border-radius:5px;flex:1;justify-content:space-between;gap:8px;padding:3px 6px;display:flex}.bestandsknop:hover:not(:disabled){border-color:var(--rand);background:#fff}button.klein{padding:1px 6px;font-size:12px}.drievenster{min-height:0;position:relative;overflow:hidden}.drievenster canvas{display:block}.typelijst li{align-items:center;gap:4px;display:flex}.typeknop{text-align:left;border:1px solid var(--rand);background:#fff;border-radius:5px;flex-direction:column;flex:1;align-items:flex-start;gap:1px;padding:4px 7px;display:flex}.typeknop.gekozen{border-color:var(--accent);box-shadow:inset 2px 0 0 var(--accent)}.typeformulier{border:1px solid var(--rand);background:#fff;border-radius:6px;margin-top:8px;padding:9px}.typeformulier .veld>span:first-child{width:76px;font-size:12px}.typeformulier .knoprij{padding:6px 0 0}.gereedschapsrij{gap:0;display:flex}.gereedschapsrij button{border-radius:0;margin-left:-1px}.gereedschapsrij button:first-child{border-radius:5px 0 0 5px;margin-left:0}.gereedschapsrij button:last-child{border-radius:0 5px 5px 0}.gereedschapsrij button.actief{z-index:1;position:relative}button.gereedschap{align-items:center;gap:5px;padding:4px 9px;display:flex}button.gereedschap .teken{font-size:14px;line-height:1}button.gereedschap .naam{font-size:12px}.links,.rechts{flex-direction:column;min-height:0;display:flex;overflow-y:auto}.links .paneel,.rechts .paneel{border-bottom:1px solid var(--rand)}.links .paneel:last-child,.rechts .paneel:last-child{border-bottom:0}.rechts .meldingen{padding:12px 14px 20px}.rij{align-items:center;gap:8px;min-height:24px;padding:2px 0;display:flex}.rij>.naam{width:84px;color:var(--zwak);flex:none;font-size:12px}.rij>.waarde{font-variant-numeric:tabular-nums;flex:1}.rij input,.rij select{min-width:0;font:inherit;border:1px solid var(--rand);color:var(--inkt);background:#fff;border-radius:4px;flex:1;padding:2px 6px}.rij input{font-variant-numeric:tabular-nums}.rij>.eenheid{width:16px;color:var(--zwak);flex:none;font-size:12px}.kieslijst li{padding:0}.kieslijst button{text-align:left;background:0 0;border:1px solid #0000;border-radius:5px;flex-direction:column;align-items:flex-start;gap:0;width:100%;padding:3px 6px;display:flex}.kieslijst button:hover{border-color:var(--rand);background:#fff}.kieslijst button.gekozen{border-color:var(--accent);box-shadow:inset 2px 0 0 var(--accent);background:#fff}.bestandkiezer input{display:none}.bestandkiezer span{font:inherit;cursor:pointer;border:1px solid var(--rand);background:#fff;border-radius:5px;padding:4px 10px;display:inline-block}.bestandkiezer span:hover{border-color:#c9c3b8}.contextmenu{z-index:20;background:var(--paneel);border:1px solid var(--rand);border-radius:6px;min-width:186px;padding:4px;position:absolute;box-shadow:0 6px 20px #2b2b2b2e}.menukop{color:var(--zwak);letter-spacing:.04em;text-transform:uppercase;padding:4px 8px 6px;font-size:11px}.contextmenu button{text-align:left;width:100%;font:inherit;color:var(--inkt);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:5px 8px;display:block}.contextmenu button:hover{box-shadow:inset 2px 0 0 var(--accent);background:#fff}.contextmenu button.gevaar{color:var(--waarschuwing)}.contextmenu button.gevaar:hover{box-shadow:inset 2px 0 0 var(--waarschuwing)}.contextmenu button.scheiding{border-top:1px solid var(--rand);border-radius:0 0 4px 4px;margin-top:4px;padding-top:8px}
