.traffic-panel{background:white;border:1px solid #dce4ee;border-radius:12px;margin:0 0 22px;padding:22px}.traffic-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.traffic-badge{display:inline-block;color:#775523;background:#fff2d9;font-size:10px;font-weight:700;letter-spacing:.4px;padding:6px 9px;border-radius:5px;text-transform:uppercase}.traffic-panel h2{margin:12px 0 7px;font-size:21px}.traffic-panel-head p{font-size:12px;color:var(--sub);margin-bottom:0}.traffic-switch{display:flex;align-items:center;gap:7px;font-size:12px;white-space:nowrap}.traffic-switch input{width:16px;height:16px;accent-color:#2454dc}.traffic-top-controls{display:flex;gap:17px;align-items:center;flex-wrap:wrap;margin:22px 0 15px}.traffic-top-controls .field{min-width:150px}.traffic-top-controls .field input{padding:9px}.traffic-shortcuts{display:flex;gap:5px;align-self:end}.traffic-shortcuts button{font-size:11px;padding:10px}.traffic-time{flex:1;min-width:220px;margin-left:auto}.traffic-time label{font-size:11px;color:var(--sub);display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.traffic-time label strong{color:var(--ink);font-size:18px;font-variant-numeric:tabular-nums}.traffic-time input{width:100%;padding:0;height:16px;accent-color:#2454dc;border:0}.range-ends{font-size:9px;color:var(--sub);display:flex;justify-content:space-between;margin-top:4px}#traffic-play{align-self:center;font-size:12px;min-width:82px;background:#edf3ff;color:#2454dc;border-color:#cfdbf9}.traffic-day-context{font-size:13px;font-weight:600;margin:14px 0 3px}.traffic-dashboard{display:grid;grid-template-columns:310px minmax(0,1fr);gap:28px;margin-top:18px}.traffic-calendar-wrap{padding:15px;background:#f8faff;border:1px solid #e4eaf5;border-radius:9px}.calendar-month{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:12px}.calendar-month button{padding:5px 8px;background:transparent}.calendar-weekdays,.traffic-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-weekdays{font-size:9px;color:#738299;text-align:center;margin-bottom:7px}.calendar-day{position:relative;background:var(--day-fill);border:1px solid transparent;padding:6px 3px 4px;min-height:41px;border-radius:5px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-variant-numeric:tabular-nums}.calendar-day b{font-size:11px;font-weight:500}.calendar-day small{font-size:8px;color:#6d7889}.calendar-day.holiday b{font-weight:bold;color:#8a5c17}.calendar-day i{position:absolute;top:0;right:4px;font-size:12px;color:#a66e18;font-style:normal}.calendar-day[aria-pressed=true]{border:2px solid #2454dc;padding:5px 2px 3px;box-shadow:0 0 0 1px #2454dc20}.calendar-note{font-size:9px;color:var(--sub);line-height:1.65;margin:10px 0 0}.traffic-active-label{font-size:12px;color:#53667f;margin:3px 0 17px;font-weight:600}.traffic-metrics{display:grid;grid-template-columns:1fr 1fr;gap:20px}.traffic-metrics strong{font-size:35px;font-weight:600;color:#243f65;font-variant-numeric:tabular-nums;display:block;margin-bottom:5px}.traffic-metrics span{font-size:11px;color:var(--sub)}#traffic-vs-weekday{font-size:12px;color:#5c6d83;margin:12px 0 20px}.traffic-metrics-panel h3{font-size:12px;font-weight:600;margin-bottom:8px}.traffic-hours{height:105px;display:grid;grid-template-columns:repeat(24,minmax(0,1fr));gap:3px;align-items:end;margin-bottom:13px;padding-top:8px}.traffic-hours button{height:100%;padding:0;border:0;background:transparent;position:relative;display:flex;align-items:flex-end;justify-content:center;min-width:0;padding-bottom:16px;border-bottom:2px solid transparent;border-radius:0}.traffic-hours i{width:100%;min-height:4px;display:block;border-radius:3px 3px 0 0}.traffic-hours button[aria-pressed=true]{border-bottom-color:#2454dc}.traffic-hours button[aria-pressed=true] i{outline:2px solid #2454dc;outline-offset:1px}.traffic-hours span{position:absolute;bottom:0;font-size:8px;color:#6c7b90}.traffic-road-legend{display:flex;gap:11px;align-items:center;flex-wrap:wrap;font-size:10px;margin:16px 0 10px;color:var(--sub)}.traffic-road-legend strong{color:#4c617f;font-weight:600}.traffic-road-legend span{display:flex;gap:5px;align-items:center}.traffic-road-legend i{width:17px;height:4px;border-radius:2px}.traffic-method{border-top:1px solid #e3e9f3;margin-top:18px;padding-top:15px}.traffic-method summary{font-size:11px;color:#536b8a;cursor:pointer}.traffic-method p{font-size:11px;color:var(--sub);margin:12px 0 0;line-height:1.8}.traffic-loading{font-size:12px;color:var(--sub);padding-top:15px}.traffic-error,.traffic-loading.error{color:#b73350;font-size:12px}.traffic-arrow{background:transparent;border:0}.traffic-arrow span{display:block;color:#263b58;font-size:16px;font-weight:bold;text-shadow:0 0 2px white,0 0 3px white;line-height:22px;text-align:center}.traffic-outlet{background:white;border:1px solid #e3e9f3;border-radius:10px;padding:18px;margin-top:12px}.traffic-outlet h3{margin:13px 0 6px;font-size:16px}.traffic-outlet p{font-size:12px}.traffic-outlet-metrics{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:18px 0}.traffic-outlet-metrics strong{font-size:27px;display:block;margin-bottom:5px;color:#2a4568}.traffic-outlet-metrics small{font-size:12px;color:var(--sub)}.traffic-outlet-metrics span{font-size:10px;color:var(--sub)}.traffic-provisional{background:#fff6e7;border-radius:6px;padding:10px;color:#85601f;font-size:11px!important;line-height:1.7}.traffic-drivers{font-size:11px;color:var(--sub);padding-left:17px;line-height:1.7}.traffic-outlet .traffic-badge{font-size:9px}@media(min-width:1100px){.traffic-metrics-panel{padding:8px 10px 0}}@media(max-width:820px){.traffic-panel{padding:17px}.traffic-dashboard{grid-template-columns:270px minmax(0,1fr);gap:18px}.traffic-shortcuts{order:4;align-self:auto}.traffic-time{min-width:210px}.traffic-panel-head{flex-wrap:wrap;gap:12px}.traffic-metrics strong{font-size:29px}}@media(max-width:640px){.traffic-dashboard{grid-template-columns:1fr}.traffic-calendar-wrap{max-width:none}.calendar-day{min-height:45px}.traffic-top-controls{gap:12px}.traffic-time{width:100%;flex:auto;order:3;margin:0}.traffic-top-controls #traffic-play{order:4}.traffic-shortcuts{order:2}.traffic-top-controls .field{width:auto;min-width:140px}.traffic-panel h2{font-size:19px}.traffic-panel-head .traffic-switch{font-size:11px}.traffic-hours{height:120px}}
