/* 0.3.1: fully scoped modern layout; intentionally loaded AFTER front.css */
.npuu-widget--modern {--npuu-ink:#1a3440; --npuu-muted:#526773;--npuu-line:#e2eaee;box-sizing:border-box;background:#fff!important;color:#1a3440!important;border:1px solid #dce7e9;border-radius:16px;box-shadow:0 10px 30px rgba(10,38,55,.09);overflow:hidden;max-width:100%;}
.npuu-widget--modern *, .npuu-emma * {box-sizing:border-box;}
.npuu-widget--modern:after{display:none!important;}
.npuu-widget--modern .npuu-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:21px 23px;background:linear-gradient(120deg,#143b48,#246472);color:#fff;border:0;}
.npuu-widget--modern .npuu-kicker{display:block;margin:0 0 5px;color:#b8ecdf;font:700 10px/1.4 inherit;letter-spacing:.11em;text-transform:uppercase;}
.npuu-widget--modern .npuu-header h2{color:#fff!important;margin:0;font-size:clamp(20px,3vw,27px);line-height:1.25;}
.npuu-widget--modern .npuu-controls{display:flex;align-items:center;gap:9px;color:#f0fafb;font-size:12px;}
.npuu-widget--modern .npuu-controls button{width:36px;height:36px;padding:0;border:1px solid rgba(255,255,255,.45);border-radius:9px;color:#fff;background:rgba(255,255,255,.12);font-size:22px;line-height:1;cursor:pointer;}
.npuu-widget--modern .npuu-overview{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:12px!important;padding:16px 22px;background:#f5faf9;border-bottom:1px solid #e0e9ea;color:#23404c;}
.npuu-widget--modern .npuu-stat{display:flex!important;align-items:center;gap:9px;min-width:0;padding:0!important;margin:0!important;border:0;background:none;color:#425965;white-space:normal;}
.npuu-widget--modern .npuu-stat strong{display:grid;place-items:center;flex:0 0 32px;min-width:32px;height:32px;border-radius:9px;background:#e0f0f3;color:#20526a;font-size:17px;line-height:1;}
.npuu-widget--modern .npuu-stat--danger strong{background:#fee6e1;color:#9c3025;}
.npuu-widget--modern .npuu-stat--advisory strong{background:#fff0d2;color:#865b16;}
.npuu-widget--modern .npuu-stat span{display:block!important;font-size:12px;line-height:1.35;font-weight:650;}
.npuu-widget--modern .npuu-items{min-width:0;}
.npuu-widget--modern.npuu-widget--slider .npuu-items{min-height:0;}
.npuu-widget--modern .npuu-item{position:relative;min-height:0!important;margin:0;padding:22px 24px 22px 76px;background:#fff!important;color:#1a3440!important;}
.npuu-widget--modern .npuu-item__symbol{position:absolute;top:23px;left:22px;display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:#e3f0f3;color:#236077;}
.npuu-widget--modern .npuu-item--closure .npuu-item__symbol,.npuu-widget--modern .npuu-item--incident .npuu-item__symbol{background:#fde7e2;color:#a33a30;}
.npuu-widget--modern .npuu-item--alert .npuu-item__symbol,.npuu-widget--modern .npuu-item--condition-warning .npuu-item__symbol{background:#fff1d5;color:#98621b;}
.npuu-widget--modern .npuu-item__topline{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin:0 0 10px;}
.npuu-widget--modern .npuu-badge{display:inline-flex;align-items:center;width:auto;min-height:24px;border:1px solid #dce7e9;background:#e8f4f5;color:#1e596c;padding:4px 9px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.05em;}
.npuu-widget--modern .npuu-item--closure .npuu-badge{background:#fff0ec;color:#8d332d;border-color:#f4d5d0;}
.npuu-widget--modern .npuu-item--alert .npuu-badge,.npuu-widget--modern .npuu-item--condition-warning .npuu-badge{background:#fff2dc;color:#875a17;border-color:#f2dfbe;}
.npuu-widget--modern .npuu-updated{color:#657b85;font-size:11px;}
.npuu-widget--modern .npuu-item__title{color:#183746!important;font-size:clamp(18px,2vw,23px);line-height:1.3;margin:0 0 8px;font-weight:750;}
.npuu-widget--modern .npuu-item__meta{color:#486673;margin:0 0 8px;font-size:12px;}
.npuu-widget--modern .npuu-item__description{color:#4d6570;font-size:14px;line-height:1.55;margin:0;}
.npuu-widget--modern .npuu-item__footer{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:15px;padding-top:12px;border-top:1px solid #edf1f3;color:#56707a;font-size:12px;}
.npuu-widget--modern .npuu-item__footer a{color:#145f73;font-size:12px;font-weight:750;margin-left:auto;}
.npuu-widget--modern .npuu-source{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;background:#f7fafb;border-top:1px solid #e2eced;color:#526b77;font-size:11px;line-height:1.5;padding:12px 22px;}
.npuu-widget--modern.npuu-widget--grid .npuu-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}
.npuu-widget--modern.npuu-widget--grid .npuu-item{border-bottom:1px solid #e5ecee;}
.npuu-widget--modern.npuu-widget--grid .npuu-item:nth-child(odd){border-right:1px solid #e5ecee;}
.npuu-widget--modern.npuu-widget--list .npuu-item+.npuu-item{border-top:1px solid #e5ecee;}
.npuu-widget--modern .npuu-empty{padding:22px;color:#4d6570;}
.npuu-widget--modern .npuu-empty strong{color:#183746;}
.npuu-widget--modern button:focus-visible,.npuu-widget--modern a:focus-visible,.npuu-emma a:focus-visible{outline:3px solid #e7a843;outline-offset:3px;}
.npuu-emma{box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;background:#f6f9fa;border:1px solid #dfe8eb;border-left:5px solid #667987;color:#243f4c;padding:16px 19px;border-radius:13px;font-family:inherit;}
.npuu-emma--closed{background:#fff4f1;border-left-color:#b33d2f;}
.npuu-emma__body{display:flex;align-items:flex-start;gap:12px;}
.npuu-emma__dot{flex:none;background:#667987;width:11px;height:11px;border-radius:50%;margin-top:6px;}
.npuu-emma--closed .npuu-emma__dot{background:#b33d2f;}
.npuu-emma__body strong{display:block;font-size:16px;color:inherit;}
.npuu-emma__status{display:block;font-size:13px;color:inherit;}
.npuu-emma p{margin:5px 0 0;color:#526773;font-size:12px;line-height:1.5;}
.npuu-emma a{font-size:12px;font-weight:750;color:#185f71;text-decoration:underline;}
.npuu-emma small{width:100%;font-size:11px;}
.npuu-emma--compact{padding:8px 12px;border-radius:10px;gap:10px;}
.npuu-emma--compact .npuu-emma__body strong{font-size:13px;}
.npuu-emma--compact .npuu-emma__status{font-size:11px;}
@media(max-width:680px){.npuu-widget--modern .npuu-header{padding:17px 18px;}.npuu-widget--modern .npuu-overview{padding:12px;gap:5px!important;}.npuu-widget--modern .npuu-stat{flex-direction:column;align-items:center;text-align:center;gap:5px;}.npuu-widget--modern .npuu-stat span{font-size:10px;}.npuu-widget--modern .npuu-item{padding:18px 16px 18px 64px;}.npuu-widget--modern .npuu-item__symbol{left:15px;top:18px;width:36px;height:36px;}.npuu-widget--modern.npuu-widget--grid .npuu-items{grid-template-columns:1fr;}.npuu-widget--modern.npuu-widget--grid .npuu-item:nth-child(odd){border-right:0;}.npuu-widget--modern .npuu-source{padding:12px 16px;}}
@media(prefers-reduced-motion:reduce){.npuu-widget--modern .npuu-item{transition:none!important;}}

/* 0.3.2: clear verified OPEN state and modest neutral text */
.npuu-emma--open{border-color:#86c8a0;background:#effbf2;color:#14532d}
.npuu-emma--open .npuu-emma__dot{background:#16803d;box-shadow:0 0 0 3px rgba(22,128,61,.16)}
.npuu-emma--closed .npuu-emma__dot{background:#c62828}
.npuu-emma--unconfirmed .npuu-emma__dot{background:#64748b}

/* Emma Park road source and timestamp, including the compact city header. */
.npuu-emma__verified{display:block;font-size:11px;line-height:1.45;color:#46616b;margin-top:2px;}
.npuu-emma--compact .npuu-emma__verified{font-size:10px;white-space:normal;}
.npuu-emma--compact{min-width:0;}

/* 0.3.4: page-safe layouts; prevent inherited theme/card heights from stretching UDOT content. */
.npuu-widget--modern.npuu-widget--grid,
.npuu-widget--modern.npuu-widget--list,
.npuu-widget--modern.npuu-widget--slider {height:auto!important;min-height:0!important;align-self:start;}
.npuu-widget--modern.npuu-widget--grid .npuu-items,
.npuu-widget--modern.npuu-widget--list .npuu-items {height:auto!important;min-height:0!important;align-items:stretch;}
.npuu-widget--modern.npuu-widget--grid .npuu-item,
.npuu-widget--modern.npuu-widget--list .npuu-item {height:auto!important;min-height:0!important;position:relative!important;inset:auto!important;visibility:visible!important;opacity:1!important;transform:none!important;}
.npuu-widget--modern.npuu-widget--slider .npuu-items {height:auto!important;min-height:0!important;}
.npuu-widget--modern.npuu-widget--slider .npuu-item.is-active {height:auto!important;min-height:0!important;inset:auto!important;}

/* 0.3.5 resident travel guide */
.npuu-trip-guide{box-sizing:border-box;margin:0 0 26px;padding:22px;border:1px solid #cbd5e1;border-radius:18px;background:#f5f8fb;color:#142b43;box-shadow:0 8px 20px rgba(12,39,62,.07)}
.npuu-trip-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.npuu-trip-kicker{font-size:11px;letter-spacing:.1em;font-weight:800;color:#366082;margin:0 0 5px}
.npuu-trip-heading h2{font-size:clamp(23px,3vw,32px);line-height:1.15;margin:0 0 6px;color:#142b43}
.npuu-trip-heading p{margin:0 0 12px;max-width:720px}
.npuu-trip-map{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:12px 17px;background:#173752;color:#fff!important;text-decoration:none!important;font-weight:750;white-space:normal}
.npuu-trip-map:hover{background:#265579;color:#fff!important}
.npuu-trip-map:focus-visible{outline:3px solid #0b78b8;outline-offset:3px}
.npuu-trip-routes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}
.npuu-trip-route{background:#fff;border:1px solid #d8e2eb;border-radius:12px;padding:15px}
.npuu-trip-route h3{font-size:16px;line-height:1.3;margin:0 0 7px;color:#163b55}
.npuu-trip-route p{font-size:13px;line-height:1.5;margin:0;color:#405b70}
.npuu-trip-note{font-size:12px;line-height:1.5;margin:13px 0 0;color:#526579}
@media(max-width:720px){.npuu-trip-guide{padding:16px}.npuu-trip-routes{grid-template-columns:1fr}.npuu-trip-map{width:100%;justify-content:center}}
