@import"https://fonts.googleapis.com/css2?family=Quicksand:wght@400;700&family=Roboto+Condensed:wght@400;700&display=swap";.backgroundYellow{background-color:#fefe46;margin:0}.backgroundGreen{background-color:#7cbd44}.spoordiv{display:flex;flex-direction:column;flex-wrap:nowrap}.spoordiv div{display:flex;align-items:center;flex-wrap:nowrap}.spoornummer,.spoorlengte{font-weight:bolder;display:flex;flex-wrap:nowrap;justify-content:center;align-items:center;height:18px;min-width:100px;text-align:center}.spoornummer{color:#fff;border-right:solid 1px #444;background-color:#4b7bc8}.spoorlengte{color:#444;background-color:#eec6cc;border-right:solid 1px #444}.spoorvelden{height:20px;display:flex}.spoorvelden input,.infosporen input{height:18px;width:100px;border:none;text-align:center;font-weight:bolder;border-right:solid 1px #444}.infosporen input{font-size:11px}h2{margin-top:0;margin-bottom:0;color:#444}.bundelTitel{min-height:40px;max-height:40px}.spoorLabel{background-color:#5e5e5e;display:flex;justify-content:center;height:20px}.spoorLabelText{font-weight:700;color:#fff}.bundelGebieden{margin-right:50px}.inputCell{position:relative;display:inline-block}.inputCell input{height:18px;width:100px;border:none;text-align:center;font-weight:bolder;border-right:solid 1px #444}.inputCell.hasNote:after{content:"";position:absolute;top:0;right:0;border-top:10px solid rgb(255,77,0);border-left:10px solid transparent;width:8px;height:10px;pointer-events:none}.inputCell.isSelected.hasNote:after{top:2px;right:2px}.inputCell.isSelected{outline:2px solid #2196f3;outline-offset:-2px;box-shadow:inset 0 0 3px #2196f399}.noteCornerHit{position:absolute;top:0;right:0;width:16px;height:16px;padding:0;margin:0;border:none;background:transparent;cursor:pointer}.note-popover{position:absolute;z-index:9999;min-width:260px;max-width:320px;background:#fff;color:#222;border:1px solid #ddd;border-radius:6px;box-shadow:0 8px 24px #0000001f;padding:10px}.note-popover h4{margin:0 0 6px;font-size:12px;color:#666;font-weight:700}.note-popover textarea{width:100%;min-height:70px;border:1px solid #ccc;border-radius:4px;padding:6px;resize:vertical;font-family:inherit;font-size:12px;color:#222;outline:none}.note-popover .actions{display:flex;justify-content:flex-end;gap:6px;margin-top:8px}.note-popover .btn{padding:4px 10px;font-size:12px;border-radius:4px;border:1px solid #ccc;background:#4d4d4d;color:#fff;cursor:pointer}.note-popover .btn.primary{border-color:#2b8cff;background:#e8f1ff;color:#222}.note-popover .btn:hover{filter:brightness(.97)}.note-popover .btn.primary:hover{background:#dcebff}.btn.danger{background:#c62828;color:#fff}.btn.danger:hover{background:#b71c1c}.inputCell.backgroundGreen{background-color:#7cbd44}.inputCell.backgroundYellow{background-color:#fefe46}.inputCell.bgGreen{background-color:#7cbd44}.inputCell.bgYellow{background-color:#fefe46}.inputCell.bgWhite{background-color:#fff}.bgRed{background-color:red}.isDropPreview{outline:2px dashed rgba(0,0,0,.5);outline-offset:-2px}.isDraggingSource{opacity:.6;transform:scale(.98)}.isDropPreview{outline:2px dashed rgba(0,0,0,.7);outline-offset:-2px;animation:previewPulse .4s ease-in-out infinite alternate}@keyframes previewPulse{0%{background-color:#ffff004d}to{background-color:#ff09}}.isDropTarget{outline:3px solid #2196f3;outline-offset:-2px;box-shadow:0 0 6px #2196f3cc;z-index:2}input{color:#000}.inputCell.hasNote:after{border-top-color:#ff4d00}.inputCell.bgRed.hasNote:after,.inputCell.bgOrange.hasNote:after,.inputCell.bgAfwijkend.hasNote:after,.inputCell.bgBD.hasNote:after,.inputCell.bgBrown.hasNote:after,.inputCell.bgPink.hasNote:after{border-top-color:#00be00}.cellEditor,.noteEditor{height:18px;width:100px;border:none;font-weight:bolder;font-size:11px;display:inline-block;box-sizing:border-box;direction:ltr;text-align:center;line-height:18px;white-space:nowrap;overflow:hidden;background:transparent;padding:0;margin:0 auto;justify-content:center;border-right:solid 1px #444}.cellEditor:focus,.noteEditor:focus{outline:none}.zijAanZijSporen{display:flex}header{text-align:center;margin:10px 0;display:flex;align-items:center}header img{width:100px;object-fit:contain}header h1{margin-left:20px;color:#222;font-family:Roboto Condensed,sans-serif;font-size:40px}.header-buttons{display:flex;gap:8px;font-size:14px}.undoBtn,.redoBtn{background-color:#004b8d;color:#fff;border:none;border-radius:4px;padding:6px 12px;cursor:pointer;font-size:14px;transition:background-color .2s}.undoBtn:disabled,.redoBtn:disabled{background-color:#ccc;cursor:not-allowed}.undoBtn:hover:not(:disabled),.redoBtn:hover:not(:disabled){background-color:#0066c0}.header-status{display:flex;align-items:center;gap:6px;font-size:.9rem;font-weight:500}.status-dot{width:10px;height:10px;border-radius:50%}.status-dot.online{background:#2ecc71;box-shadow:0 0 4px #2ecc71e6,0 0 10px #2ecc71b3;animation:pulse-online 1.2s ease-in-out infinite}.status-dot.offline{background:#e74c3c;box-shadow:0 0 3px #e74c3ccc}.status-text.online{color:#000}.status-text.offline{color:#e74c3c}@keyframes pulse-online{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}.kleurpalet{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:8px;margin:8px 0 16px;width:500px}.kleurknop{border:1px solid #00000022;padding:10px;border-radius:8px;cursor:pointer;font-size:18px;transition:.3s;font-weight:700;width:120px;height:70px}.kleurknop:hover{transform:scale(.9)}.bgRed{background:#ff181c;color:#fff}.bgPurple{background:#c285eb;color:#000}.bgGreen{background:#7cbd44;color:#000}.bgBlue{background:#16d0ff;color:#000}.bgOrange{background:#fa8c16;color:#000}.bgLaat{background:#5b5b5b;color:#000}.bgNacht{background:#646464;color:#fff}.bgYellow{background:#fefe46;color:#000}.bgIngeregeld{background:#3eff58;color:#000}.bgPink{background:#ff9ca8;color:#000}.bgBrown{background:#985410;color:#fff}.bgAfwijkend{background:#ff19fb;color:#fff}.bgWhite{background:#ffffff;color:#000}.bgInstructie{background:#ffd2d8;color:#000}.bgBD{background:#c71f1f;color:#fff}.bgGrey{background:#b9b9b9;color:#000}.inputCell:focus{outline:3px solid #1677ff66}.cellContextMenu{position:absolute;background:white;border:1px solid #aaa;border-radius:4px;z-index:1000;min-width:150px;box-shadow:0 2px 8px #0003;font-size:14px;color:#000}.cellContextMenu .menuItem{padding:6px 10px;cursor:pointer}.cellContextMenu .menuItem:hover{background:#f0f0f0}.colorRow{display:flex;gap:6px;padding:6px;flex-wrap:wrap;margin-left:10px}.colorCircle{width:18px;height:18px;border-radius:50%;cursor:pointer;transition:transform .1s}.colorCircle:hover{transform:scale(1.2)}.menuKleurpaletRow .kleurknop{font-size:12px;padding:0 10px;width:80px}.menuKleurpaletRow{display:grid;grid-template-columns:repeat(5,minmax(10px,1fr));gap:8px;margin:10px 10px 16px}.opmerking{width:150px;padding:10px 20px;background-color:#21aaff;font-weight:bolder;transition:.3s;margin-top:10px;margin-left:10px;box-shadow:0 0 8px #0000004a;text-align:center}.opmerking:hover{box-shadow:none}.noteModal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:999}.noteModal{background:white;padding:16px;border-radius:8px;min-width:300px}.noteModal textarea{width:100%;height:100px;margin-bottom:8px}.noteModal .buttons{display:flex;justify-content:flex-end;gap:8px}.login{width:100vw;height:100vh;padding:10px;display:flex;justify-content:center;align-items:center;background-image:url(/assets/Maastricht-7880608b.webp);background-position:center;background-repeat:no-repeat;background-size:cover}.login form{padding:30px;min-width:450px;text-align:center;margin-top:50px;font-family:Arial,Helvetica,sans-serif;display:flex;flex-direction:column;align-items:center;box-shadow:0 0 12px #00000076;background:rgba(255,255,255,.45);border-radius:16px;backdrop-filter:blur(13px);-webkit-backdrop-filter:blur(13px);border:1px solid rgba(255,255,255,.3)}.login img{width:120px;padding-top:30px;padding-bottom:10px}.login h3{font-size:16px;margin-bottom:20px;color:#545454;font-family:Gill Sans,Gill Sans MT,Calibri,Trebuchet MS,sans-serif;text-transform:uppercase;letter-spacing:6px}.login input{width:300px;padding:10px;margin-bottom:25px;border-bottom:2px solid #0000002e;border-top:0px;border-left:0px;border-right:0px;border-radius:5px;font-size:14px;background-color:#fff0;color:#545454;font-weight:700}.login input::placeholder{color:#545454;opacity:1}.login input::-ms-input-placeholder{color:#545454}.login input:focus{border-color:#007bff7f;outline:none;transition:.3s;box-shadow:0 2px 5px #007bff80}.login button{width:300px;padding:10px;background-color:#00337f;color:#fff;border:none;border-radius:5px;font-size:16px;cursor:pointer;transition:background-color .3s ease;font-family:Gill Sans,Gill Sans MT,Calibri,Trebuchet MS,sans-serif;letter-spacing:1px;margin-top:10px;margin-bottom:20px;font-size:14px}.login button:hover{background-color:#0056b3}.login p{font-size:14px;color:red;margin-bottom:15px}*{box-sizing:border-box}html{font-family:Quicksand,sans-serif;line-height:1.5;background-color:#d2d2d2;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}body{margin:0}header{display:flex;flex-direction:column;align-items:start}header div{display:flex}.main{display:flex;flex-direction:column;min-height:80rem;padding-bottom:200px;padding-left:50px;padding-right:50px}.spgroep{margin-right:20px}.spgroep h1{margin-bottom:0;margin-top:30px;color:#444;font-size:20px}.stationgroepen,.achttien{display:flex;flex-wrap:nowrap}.tractie div{display:flex}.letterBord,.geenAchtergrond{display:flex;flex-wrap:nowrap}.letterBord p,.geenAchtergrond p{justify-content:center;align-items:center;min-height:25px;min-width:90px;text-align:center;font-weight:700}.geenAchtergrond p{color:#444}.geenAchtergrond{margin-top:-32px}.blauweAchtergrond{display:flex}.blauweAchtergrond p{background-color:#67a8d6;color:#444}.donkerblauweAchtergrond{background-color:#003875}.vol_letterbord{margin-top:60px;margin-bottom:40px}.flexBox{display:flex;flex-wrap:nowrap;align-items:center;margin-top:20px}.inputsFlex{display:flex;flex-wrap:nowrap}.inputsFlex input{height:25px;width:90px}.emplacement{display:flex}.emplacement-toolbar{margin-top:100px;color:#000}.zestigSporen{display:flex;flex-direction:column;align-items:end}.greet{color:#000}.algemeneStelGegevens{color:#000;margin-top:40px;background-color:#0044ff09;text-align:center;min-width:1200px;font-size:14px;border-spacing:0}.algemeneStelGegevens tbody{background-color:beige}.algemeneStelGegevens td,th{border:#000 solid 1px;padding:2px 10px}.algemeneStelGegevens thead tr th{color:#3737fa;font-size:16px}.algemeneStelGegevens .orange{background-color:#ffba3a}.appStart{display:flex;padding-bottom:80px;padding-right:80px}.overgave{width:800px;line-height:18px;margin-right:80px}.overgave h2{margin-bottom:15px}.overgave input{width:100%;height:auto;border:solid 1px #000;box-sizing:border-box;height:25px;padding-left:10px}.overgave-box input{width:100%}.mailPopup{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;z-index:9999}.mailPopupInner{background:white;padding:24px;border-radius:12px;width:400px;box-shadow:0 4px 12px #0000004d}.mailPopupInner input,.mailPopupInner textarea{width:100%;margin-top:6px;margin-bottom:12px;padding:6px;border-radius:6px;border:1px solid #ccc}.mailPopupButtons{display:flex;justify-content:flex-end;gap:8px}.selection-rect{position:fixed;border:1px solid #ff0303;background:rgba(114,72,9,.279);pointer-events:none;z-index:9999;box-sizing:border-box}.top-section-padding{padding-left:80px;margin-bottom:-200px}.emplacement-padding{padding-left:80px;padding-bottom:80px;padding-top:220px}.admintable{height:200px;overflow:auto;z-index:999}.offline-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:999999;display:flex;align-items:center;justify-content:center}.offline-popup{background:#ff4a4a;color:#fff;padding:30px 40px;border-radius:12px;text-align:center;max-width:400px;width:90%;box-shadow:0 0 20px #0006;animation:popupFadeIn .3s ease-out}.offline-popup h2{margin-top:0;font-size:1.8rem}.offline-popup button{margin-top:20px;background:#fff;color:#d10000;border:none;padding:12px 20px;font-size:1rem;border-radius:6px;cursor:pointer;font-weight:700}.offline-popup button:hover{background:#ffe3e3}@keyframes popupFadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}
