.calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 24px 13px;background:var(--bg);flex-shrink:0}.calendar-heading h1{font-size:24px;margin:0;letter-spacing:-.03em;font-weight:750}.calendar-heading p{font-size:12px;color:var(--muted);margin:5px 0 0}#calendarCommands{display:flex;gap:8px;align-items:center}#calendarCommands .btn{font-size:12px;padding:8px 12px}#addBtn{background:var(--amber);color:#fff;border-color:var(--amber)}#importBtn{background:var(--panel);color:var(--text);border-color:var(--line)}.calendar-actions,#calendarAdvanced{position:relative}.calendar-actions summary,#calendarAdvanced summary{list-style:none;cursor:pointer}.calendar-actions summary::-webkit-details-marker,#calendarAdvanced summary::-webkit-details-marker{display:none}.calendar-popover{position:absolute;right:0;top:calc(100% + 6px);background:var(--panel);border:1px solid var(--line);box-shadow:0 8px 28px #0002;border-radius:9px;padding:10px;display:grid;gap:7px;width:230px;z-index:50}.calendar-popover .btn{text-align:left}.calendar-popover #capWrap{margin:0;justify-content:space-between}.calendar-popover .togg{justify-content:flex-start}#calendarKpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0 24px 14px;flex-shrink:0}.calendar-kpi{display:flex;align-items:center;gap:12px;background:var(--panel);border:1px solid var(--line);border-radius:9px;text-align:left;padding:13px 16px;min-width:0;color:var(--text);cursor:pointer}.calendar-kpi>span{width:36px;height:36px;display:grid;place-items:center;flex-shrink:0;border-radius:9px;background:var(--amber-soft);color:var(--amber)}.calendar-kpi svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.calendar-kpi strong{font-size:25px;display:block;line-height:1.15}.calendar-kpi b{display:block;font-size:11px;font-weight:550;margin-top:4px}.calendar-kpi small{display:block;font-size:9px;color:var(--muted);margin-top:4px;line-height:1.3}.calendar-kpi.scheduled>span{background:color-mix(in srgb,var(--ok) 12%,transparent);color:var(--ok)}.calendar-kpi.unassigned>span{background:#ffa51b15;color:#d8911b}.calendar-kpi.capacity>span,.calendar-kpi.conflicts>span{background:var(--danger-soft);color:var(--danger)}.calendar-kpi:hover,.calendar-kpi.selected{border-color:var(--amber)}#filters.calendar-filters{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:0 24px;background:var(--panel);padding:10px;border:1px solid var(--line);border-radius:9px;flex-shrink:0}#filters .flabel{display:none}#filters #search{flex:1;min-width:170px;width:auto;max-width:360px}#filters select,#filters .togg,#filters .btn{font-size:11px;height:32px;padding:5px 8px}#legend{flex-shrink:0;padding:8px 24px;max-height:75px;overflow:auto;white-space:normal;gap:7px}#legend .legend-strip{display:none}#legend .lg-label{font-size:9px}#legend .legend-chip{font-size:10px}body>header{flex-shrink:0;padding-top:7px;padding-bottom:7px;height:auto;min-height:56px;gap:15px}body>header .seg button{font-size:12px;letter-spacing:0;text-transform:none;padding:7px 12px}body>header #periodLabel{text-transform:none;font-size:20px;letter-spacing:-.025em;min-width:150px}body>header .toolbar{display:none}main.calendar-workspace{display:grid;grid-template-columns:minmax(0,1fr);flex:1;overflow:hidden;min-height:0}main.calendar-workspace.with-day-details{grid-template-columns:minmax(0,1fr) 370px;gap:10px}#calWrap{padding:0 20px 16px;min-width:0;overflow:auto;scrollbar-gutter:stable}#cal{min-width:0;min-height:530px;height:100%}#grid.month{grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:minmax(130px,1fr);gap:7px;flex:1}#grid.month .day{min-height:130px;height:auto;background:var(--cell);border-radius:8px}#grid.month .day.other{opacity:.65;background:var(--panel2)}#grid.month .day.selected-date{border:2px solid var(--amber);background:color-mix(in srgb,var(--amber) 4%,var(--cell))}#grid.month .day.capacity-over{border-color:color-mix(in srgb,var(--danger) 45%,var(--line));background:color-mix(in srgb,var(--danger) 3%,var(--cell))}#grid.month .day.selected-date.capacity-over{border-color:var(--amber)}#grid.month .dhead{padding:8px 9px 5px;gap:5px}#grid.month .dnum{font-size:12px;cursor:pointer}#grid.month .dcount{font-size:10px;background:none;padding:0;color:var(--muted)}#grid.month .dbody{padding:5px 7px;gap:4px;overflow:hidden;flex:1;min-height:0}#grid.month .card{padding:3px 4px;border-radius:4px;margin:0;background:transparent;border-width:0 0 0 3px;box-shadow:none;flex-shrink:0}#grid.month .card .id{font-size:10px}#grid.month .card .l2{font-size:9px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;margin-top:2px}#grid.month .card .badge,#grid.month .card .chk{display:none}#grid.month .card .l1{gap:4px;min-width:0}#grid.month .card .flags{font-size:9px}.month-capacity{padding:0 9px}.capacity-track{height:5px;background:var(--line);border-radius:5px;overflow:hidden}.capacity-track i{display:block;height:100%;background:var(--ok);border-radius:5px}.capacity-over .capacity-track i,.day-utilization.over .capacity-track i{background:var(--danger)}.capacity-track.neutral{opacity:.5}.day-conflict{color:#fff;background:var(--danger);border-radius:3px;font-size:10px;font-weight:700;width:13px;text-align:center;cursor:help}.day-empty{font-size:10px;color:var(--muted);padding:7px;margin:0}.more-loads{font-size:10px;color:var(--amber);text-align:left;padding:2px 3px!important;border:0!important;background:transparent!important}.dow{gap:7px;padding-bottom:8px}.dow div{font-size:10px;text-transform:uppercase;font-weight:600;color:var(--muted)}#calendarDayDetails{background:var(--panel);border:1px solid var(--line);border-radius:10px;margin:0 18px 16px 0;display:flex;flex-direction:column;min-height:0;overflow:hidden}#calendarDayDetails[hidden]{display:none}.day-details-header{display:flex;gap:10px;align-items:flex-start;justify-content:space-between;padding:15px}.day-details-header h2{font-size:15px;margin:0 0 7px;font-weight:700}.day-details-header span{font-size:11px;color:var(--muted)}.day-details-header button{padding:2px 6px}#dayCapacity{padding:0 15px 12px}.day-utilization small{display:block;font-size:9px;color:var(--muted);margin-top:5px}.day-utilization .capacity-track{height:7px}.day-counts{display:flex;gap:10px;flex-wrap:wrap;font-size:10px;margin-top:12px;color:var(--muted)}.day-counts span:first-child{color:var(--ok)}.day-counts span:nth-child(2){color:#d8911b}.day-counts span:nth-child(3){color:var(--danger)}.day-tabs{display:flex;margin:0 14px 11px;border:1px solid var(--line);border-radius:7px;overflow:hidden;flex-shrink:0}.day-tabs button{flex:1;padding:8px;border:0;border-right:1px solid var(--line);background:var(--panel2);color:var(--muted);font-size:11px;cursor:pointer}.day-tabs button:last-child{border-right:0}.day-tabs button[aria-selected="true"]{background:var(--amber-soft);color:var(--amber)}#dayLoadTools{display:flex;gap:6px;padding:0 14px 10px;flex-shrink:0}#dayLoadTools[hidden]{display:none}#dayLoadSearch{flex:1;min-width:0;background:var(--panel2);color:var(--text);border:1px solid var(--line);padding:8px;border-radius:7px;font-size:11px}#daySelectAll{font-size:9px;padding:5px}#dayDetailsContent{flex:1;min-height:0;overflow:auto;padding:0 12px;scrollbar-gutter:stable}#dayDetailsContent[hidden],#dayMapPanel[hidden]{display:none}#dayDetailsContent .day-detail-load{margin:0 0 8px;background:var(--panel);border:1px solid var(--line);border-left:3px solid;padding:8px 9px;border-radius:6px;min-height:54px}#dayDetailsContent .card .chk{display:inline-grid}#dayDetailsContent .card .l1{gap:5px}#dayDetailsContent .card .id{color:var(--text);font-size:11px;cursor:pointer}#dayDetailsContent .card .l2,#dayDetailsContent .card .l3{white-space:normal;line-height:1.5;font-size:10px;overflow-wrap:anywhere}#dayDetailsContent .card .l3{color:var(--muted)}.day-load-window{display:block;color:var(--muted);font-size:9px;margin-top:4px}.day-detail-load.selected{background:var(--amber-soft)!important;border-color:var(--amber)!important}.day-details-footer{padding:12px 14px;border-top:1px solid var(--line);background:var(--panel);flex-shrink:0;display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:10px}.day-details-footer>div:not(#dayBulkEditor){display:flex;gap:5px;margin-left:auto}.day-details-footer .btn{font-size:10px;padding:7px 8px}#dayViewList{width:100%;color:var(--amber);border-color:var(--amber);justify-content:center}#dayBulkEditor{display:grid;grid-template-columns:1fr auto auto;gap:7px;width:100%;border-top:1px solid var(--line);padding-top:9px}#dayBulkEditor[hidden],#dayBulkEditor [hidden]{display:none}#dayBulkLabel{grid-column:1/-1;color:var(--muted)}#dayBulkEditor select,#dayBulkEditor input{min-width:0;background:var(--panel2);color:var(--text);border:1px solid var(--line);border-radius:5px;padding:5px;font-size:11px}.day-driver{display:grid;grid-template-columns:1fr auto;gap:7px;padding:11px;border:1px solid var(--line);border-radius:7px;margin-bottom:8px;font-size:11px}.day-driver small{grid-column:1/-1;color:var(--muted);font-size:10px}#dayMapPanel{display:flex;flex-direction:column;min-height:0;flex:1;padding:0 12px 10px}#dayMapStatus{font-size:10px;color:var(--muted);line-height:1.5;margin:0 0 8px}#dayMap{flex:1;min-height:220px;border-radius:7px;border:1px solid var(--line)}#dayMap .leaflet-popup-content{font-family:Inter,sans-serif;font-size:11px}#dayMap .leaflet-popup-content button{border:0;background:none;color:#2563eb;cursor:pointer}#bulk.show{z-index:32}#drawer{z-index:65}#overlay{z-index:64}.calendar-workspace :focus-visible,.calendar-kpi:focus-visible,#calendarCommands :focus-visible{outline:2px solid var(--amber);outline-offset:2px}@media(max-width:1150px){main.calendar-workspace.with-day-details{grid-template-columns:minmax(0,1fr)}#calendarDayDetails{position:fixed;right:10px;top:115px;bottom:12px;width:360px;z-index:35;box-shadow:-10px 0 35px #0003;margin:0}.calendar-kpi{padding:11px 10px;gap:8px}.calendar-kpi small{font-size:8px}}@media(max-width:760px){body>header{flex-wrap:wrap;gap:8px}.calendar-heading{padding:13px 14px}.calendar-heading h1{font-size:21px}.calendar-heading p{font-size:10px}#calendarKpis{margin:0 12px 10px;gap:6px;grid-template-columns:repeat(3,minmax(0,1fr))}.calendar-kpi{padding:8px;gap:6px}.calendar-kpi>span{width:25px;height:25px}.calendar-kpi svg{width:18px;height:18px}.calendar-kpi strong{font-size:19px}.calendar-kpi b{font-size:9px}#filters.calendar-filters{margin:0 12px;gap:5px;padding:7px}#filters #search{min-width:180px;max-width:100%}#calWrap{padding:0 8px 10px}#legend{padding:6px 12px}#grid.month{gap:4px;grid-auto-rows:minmax(112px,1fr)}#grid.month .day{min-height:112px}#grid.month .dhead{padding:5px 4px}#grid.month .dbody{padding:3px}#grid.month .card .id{font-size:8px}#grid.month .card .l2{font-size:8px}#grid.month .card .gdot,#grid.month .card .flags,#grid.month .card .pip{display:none}.month-capacity{padding:0 4px}.more-loads{font-size:8px}.dow{gap:4px}#calendarDayDetails{width:min(400px,calc(100vw - 20px));top:75px}#cal{min-height:500px}#calendarCommands .btn{padding:6px 8px;font-size:10px}}@media(max-width:460px){#calendarDayDetails{inset:8px;width:auto;z-index:40}.calendar-heading{align-items:flex-start}.calendar-heading p{max-width:160px}#grid.month .card .l2{display:none}#grid.month .dbody{gap:5px}.calendar-kpi small{display:none}#filters #fDriverSource,#filters #fCity{max-width:130px}body>header .seg button{padding:6px 8px}body>header #periodLabel{font-size:16px;min-width:125px}}
.month-capacity small{display:block;font-size:8px;color:var(--muted);text-align:right;margin:2px 0 0}.day.capacity-over .month-capacity small{color:var(--danger)}#legend.collapsed .chip{display:inline-flex}#legend.collapsed .chip:nth-of-type(n+8){display:none}#legend.collapsed .chip.active{display:inline-flex}.calendar-workspace .day-details-footer button:disabled{opacity:.45;cursor:default}#grid.month .day .card .chk{display:inline-grid;width:10px;height:10px;font-size:8px;flex-shrink:0}@media(max-width:550px){#grid.month .day .card .chk{display:none}.month-capacity small{font-size:7px}}
.day-map-tools{display:flex;align-items:flex-start;gap:8px;margin-bottom:8px}.day-map-tools #dayMapStatus{flex:1}.day-map-tools .btn{font-size:9px;padding:5px;white-space:nowrap}#dayDetailsContent .card{user-select:none}.calendar-workspace #grid.month .day .card{cursor:grab}.calendar-workspace #grid.month .day .card:active{cursor:grabbing}
