/* 2026-08-29 presentation corrections layered after map-display-corrections.css. */

.site-panel-lane>.site-lane,
.site-panel-lane>.matrix-face,
.site-lane-strip>.site-lane,
.site-lane-strip>.matrix-face{width:46px!important;min-width:46px!important;height:46px!important;min-height:46px!important;flex:0 0 46px!important;box-sizing:border-box!important}
.site-panel-lane{flex:0 0 46px!important;min-width:46px!important;width:46px!important}
.site-panel-lane small{display:none!important}
.site-panel-sign.junction-combo .site-panel-lane small{display:block!important;font-size:9px!important;color:#aaa!important;line-height:1!important}
.site-panel-lanes{gap:7px!important}

.vms-semantic.speed,
.vms-roundel,
.site-lane.mandatory{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  line-height:1!important;
}
.vms-semantic.speed{width:40px!important;height:40px!important;border-width:5px!important;font-size:13px!important}

.site-panel-sign.single-matrix-beside{display:grid!important;grid-template-columns:minmax(180px,1fr) 72px!important;align-items:stretch!important;gap:7px!important;width:max-content!important;max-width:min(520px,92vw)!important;min-width:0!important}
.site-panel-sign.single-matrix-beside>.site-panel-board{width:100%!important;margin:0!important;min-height:72px!important}
.site-panel-sign.single-matrix-beside>.site-panel-lanes{width:72px!important;margin:0!important;display:flex!important;align-items:stretch!important;justify-content:center!important}
.site-panel-sign.single-matrix-beside .site-panel-lane{width:72px!important;min-width:72px!important;flex:0 0 72px!important}
.site-panel-sign.single-matrix-beside .site-panel-lane>.site-lane,
.site-panel-sign.single-matrix-beside .site-panel-lane>.matrix-face{width:72px!important;min-width:72px!important;height:72px!important;min-height:72px!important;flex:0 0 72px!important}

.site-panel-combined{width:max-content!important;max-width:min(520px,92vw)!important;grid-template-columns:minmax(210px,1fr) 76px!important;align-items:stretch!important}
.site-panel-combined .site-panel-board,.site-panel-combined .combined-blank{min-height:76px!important}
.site-panel-combined .combined-speed{display:flex!important;align-items:center!important;justify-content:center!important;min-height:76px!important}
.site-panel-combined .combined-speed>.site-lane,
.site-panel-combined .combined-speed>.matrix-face{width:64px!important;min-width:64px!important;height:64px!important;min-height:64px!important;flex:0 0 64px!important}
.site-panel-combined .combined-speed>.site-lane.mandatory{font-size:16px!important;border-width:6px!important}

.site-panel-sign{min-width:0!important;width:max-content!important;max-width:min(560px,92vw)!important}
.site-panel-board{min-width:210px!important}
.site-panel-lanes{width:auto!important;justify-content:flex-start!important}

.vms-semantic.time span{border-color:#ffb51b!important}.vms-semantic.time span:before,.vms-semantic.time span:after{background:#ffb51b!important}

.vms-semantic.queue{display:block!important;position:relative!important;padding:0!important}
.vms-semantic.queue span{position:absolute!important;width:12px!important;height:7px!important;border:2px solid #ffb51b!important;border-radius:2px!important;background:#111!important;box-sizing:border-box!important;transform:none!important}
.vms-semantic.queue span:nth-child(1){left:4px!important;top:4px!important}.vms-semantic.queue span:nth-child(2){left:9px!important;top:11px!important}.vms-semantic.queue span:nth-child(3){left:14px!important;top:18px!important}
.vms-semantic.queue span:before{content:''!important;position:absolute!important;left:2px!important;top:-5px!important;width:6px!important;height:4px!important;background:#111!important;border:2px solid #ffb51b!important;border-bottom:0!important;border-radius:3px 3px 0 0!important;box-sizing:border-box!important}
.vms-semantic.queue span:after{content:''!important;position:absolute!important;left:0!important;right:0!important;bottom:-5px!important;height:3px!important;border:0!important;border-left:3px solid #ffb51b!important;border-right:3px solid #ffb51b!important;box-sizing:border-box!important}

.vms-semantic.accident{position:relative!important;background:#111!important;border:0!important}
.vms-semantic.accident:before{content:'';position:absolute;left:3px;top:3px;width:24px;height:21px;border:3px solid #ffb51b;clip-path:polygon(50% 0,100% 100%,0 100%);box-sizing:border-box}
.vms-semantic.accident .car{display:block!important;width:13px!important;height:7px!important;border:2px solid #ffb51b!important;border-radius:2px!important;position:absolute!important;left:9px!important;top:13px!important;transform:rotate(-28deg)!important;box-sizing:border-box!important}
.vms-semantic.accident .car:before{content:''!important;position:absolute!important;left:2px!important;top:-5px!important;width:7px!important;height:4px!important;border:2px solid #ffb51b!important;border-bottom:0!important;border-radius:3px 3px 0 0!important}
.vms-semantic.accident .car:after{content:''!important;position:absolute!important;left:1px!important;right:1px!important;bottom:-5px!important;height:3px!important;border:0!important;border-left:3px solid #ffb51b!important;border-right:3px solid #ffb51b!important}

.vms-semantic.pedestrian span{font-size:0!important;transform:none!important;width:18px;height:22px;position:relative;display:block}.vms-semantic.pedestrian span:before{content:'';position:absolute;left:7px;top:0;width:5px;height:5px;border-radius:50%;background:#ffb51b;box-shadow:0 7px 0 -1px #ffb51b}.vms-semantic.pedestrian span:after{content:'';position:absolute;left:8px;top:10px;width:3px;height:11px;background:#ffb51b;transform:rotate(24deg);box-shadow:-5px 2px 0 -1px #ffb51b,5px 5px 0 -1px #ffb51b}

.site-board-pictogram{display:flex;justify-content:center;align-items:center;margin:0 auto 7px;width:54px;height:48px;position:relative}
.site-panel-board .site-board-message,.sign-board .site-board-message{display:block!important;font-size:20px!important;line-height:1.2!important;font-weight:800!important}.site-panel-board .site-board-pictogram+.site-board-message,.sign-board .site-board-pictogram+.site-board-message{width:54px!important;margin:0 auto!important;text-align:center!important}
.site-board-pictogram.accident:before{content:'';position:absolute;width:48px;height:42px;border:4px solid #ffb51b;clip-path:polygon(50% 0,100% 100%,0 100%);box-sizing:border-box}
.site-board-pictogram.accident .car{position:absolute;width:23px;height:11px;border:3px solid #ffb51b;border-radius:2px;transform:rotate(-28deg);top:21px;left:16px}.site-board-pictogram.accident .car:before{content:'';position:absolute;width:12px;height:7px;left:4px;top:-8px;border:3px solid #ffb51b;border-bottom:0;border-radius:4px 4px 0 0}
.site-board-pictogram.queue>span:not(.ukr-aspect-face){display:block;width:14px;height:8px;border:2px solid #ffb51b;border-radius:2px;position:absolute}.site-board-pictogram.queue>span:not(.ukr-aspect-face):nth-child(1){left:7px;top:7px}.site-board-pictogram.queue>span:not(.ukr-aspect-face):nth-child(2){left:19px;top:17px}.site-board-pictogram.queue>span:not(.ukr-aspect-face):nth-child(3){left:31px;top:27px}
.site-board-pictogram.queue img{display:block;width:52px;height:46px;object-fit:contain}

.lane-deviation{position:relative;display:block;width:17px;height:22px}.lane-deviation:before{content:'';position:absolute;left:7px;bottom:2px;width:3px;height:13px;background:#ffb51b;border-radius:2px;transform-origin:bottom center}.lane-deviation:after{content:'';position:absolute;top:2px;width:9px;height:9px;border-top:3px solid #ffb51b;border-left:3px solid #ffb51b;box-sizing:border-box}.lane-deviation.left:before{transform:skewX(-22deg)}.lane-deviation.left:after{left:1px;transform:rotate(-10deg)}.lane-deviation.right:before{transform:skewX(22deg)}.lane-deviation.right:after{right:1px;transform:scaleX(-1) rotate(-10deg)}

.event-local-congestion,.event-congestion{width:24px;height:24px;border-radius:5px;background:#111;border:2px solid #d99a00;box-shadow:0 1px 3px #555;display:flex;align-items:center;justify-content:center;box-sizing:border-box;position:relative}.event-local-congestion:before,.event-congestion:before{content:'';width:13px;height:7px;border:2px solid #d99a00;border-radius:2px;box-sizing:border-box;box-shadow:0 -5px 0 -3px #d99a00,0 5px 0 -3px #d99a00}
.event-queue-warning{width:30px;height:30px;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 1px 2px #555)}
.event-queue-sign,.event-queue-sign img{display:block;width:30px;height:30px}.event-queue-sign img{object-fit:contain}
.vms-semantic.end-dot{width:10px!important;height:10px!important;border-radius:50%!important;background:#777!important;border:2px solid #fff!important;color:transparent!important;box-shadow:0 1px 2px #555!important}

/* Physical popup matrix modules all use the same 46px face. Numeric mandatory
   speeds are roundels displayed inside that black matrix face, not standalone
   46px road signs. This matches NSL/direction aspects on the same gantry. */
.site-panel-lane>.matrix-face.popup-speed-matrix{display:flex!important;align-items:center!important;justify-content:center!important;background:#080808!important;border:1px solid #555!important;border-radius:3px!important;padding:0!important}
.popup-speed-roundel{display:flex!important;align-items:center!important;justify-content:center!important;width:28px!important;height:28px!important;box-sizing:border-box!important;border:4px solid #d71920!important;border-radius:50%!important;background:#fff!important;color:#111!important;font:800 12px/1 system-ui!important}
