:root{--orange: #fc4c02;--orange-hover: #f76d32;--blue: #307ae8;--ink: #000000;--text: #31312f;--muted: #77736d;--surface: #f8f5f0;--canvas: #ffffff;--line: #e5e5e5;--radius: 8px;--pill: 100px;color:var(--text);background:var(--surface);font-family:Poppins,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}.dashboard-shell{align-items:start;display:grid;gap:22px;grid-template-columns:320px minmax(0,1fr);min-height:100vh;padding:24px}.metrics,.grid,.table-panel,.notice{margin:0 0 20px}.eyebrow{color:var(--orange);font-size:13px;font-weight:700;letter-spacing:0;margin:0 0 12px}h1{color:#fff;font-size:clamp(38px,5vw,68px);font-weight:600;letter-spacing:0;line-height:1.05;margin:0}.panel-title span,.metric p,.field span,.filter-heading span,.muted{color:var(--muted);font-size:13px;line-height:1.4}.filters{background:var(--canvas);border:1px solid var(--line);border-radius:24px;display:grid;gap:18px;max-height:calc(100vh - 48px);overflow:auto;padding:20px;position:sticky;top:24px}.filter-row{display:grid;gap:14px;grid-template-columns:1fr}.filter-row-secondary{border-top:1px solid #f0ede8;grid-template-columns:1fr;padding-top:16px}.sidebar-brand{background:var(--ink);border-radius:18px;color:#fff;padding:20px}.sidebar-brand h1{color:#fff;font-size:26px;line-height:1.12;margin:0 0 12px}.sidebar-brand span{color:#ffffffb8;font-size:12px}.field{display:grid;gap:8px}.field.disabled{opacity:.56}input,select{background:var(--canvas);border:1px solid var(--line);border-radius:var(--pill);color:var(--ink);min-height:42px;padding:8px 14px;width:100%}input:focus,select:focus{border-color:var(--orange);outline:2px solid rgba(252,76,2,.18)}.filter-group{border-top:1px solid #f0ede8;display:grid;gap:10px;padding-top:16px}.filter-group.compact,.filter-row-secondary .filter-group{border-top:0;padding-top:0}.filter-row-secondary .chip-list{align-items:center;max-height:none;min-height:42px;overflow:visible}.filter-row-secondary .chip{min-height:42px;padding:8px 16px}.filter-row-secondary .filter-heading{min-height:18px}.filter-group.disabled{opacity:.56}.filter-heading{align-items:center;display:flex;justify-content:space-between}.filter-heading button{background:transparent;border:0;color:var(--orange);font-size:13px;padding:0}.chip-list{display:flex;flex-wrap:wrap;gap:8px;max-height:118px;overflow:auto}.chip{background:var(--surface);border:1px solid transparent;border-radius:var(--pill);color:var(--text);font-size:13px;min-height:32px;padding:6px 12px;transition:background-color .2s ease-in,border-color .2s ease-in,transform .1s ease-in}.chip:hover{border-color:#fc4c0259;transform:translateY(-1px)}.chip.active{background:var(--orange);color:#fff}.chip.removable{align-items:center;display:inline-flex;gap:8px}.chip.removable span{font-size:16px;line-height:1}.driver-picker{border-top:1px solid #f0ede8;display:grid;gap:10px;padding-top:16px}.driver-search{position:relative}.driver-search input{padding-right:18px}.driver-suggestions{background:var(--canvas);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 14px 34px #0000001f;display:grid;left:0;margin-top:8px;max-height:260px;overflow:auto;padding:6px;position:absolute;right:0;top:100%;z-index:5}.driver-suggestions button{background:transparent;border:0;border-radius:6px;color:var(--text);min-height:34px;padding:8px 10px;text-align:left}.driver-suggestions button:hover{background:var(--surface);color:var(--orange)}.driver-suggestions span{color:var(--muted);font-size:13px;padding:10px}.selected-drivers{display:flex;flex-wrap:wrap;gap:8px;min-height:32px}.reset,.export{align-items:center;border:0;border-radius:var(--pill);display:inline-flex;font-weight:600;justify-content:center;min-height:42px;padding:9px 18px;text-decoration:none;transition:background-color .2s ease-in,transform .1s ease-in}.reset{background:var(--ink);color:#fff}.export.primary{background:var(--orange);color:#fff;min-width:132px}.filters .reset,.filters .export{width:100%}.reset:hover,.export:hover{transform:translateY(-1px)}.export.primary:hover{background:var(--orange-hover)}.notice{background:var(--canvas);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px}.notice.error{border-color:#fc4c0259;color:#b63800}.metrics{display:grid;gap:14px;grid-template-columns:1.25fr repeat(4,1fr)}.metric{background:var(--canvas);border:1px solid var(--line);border-radius:var(--radius);box-shadow:#ecdcd3 0 0 0 1px inset;padding:22px}.metric.dark{background:var(--ink);border-color:var(--ink);box-shadow:none}.metric p{margin:0 0 10px}.metric.dark p,.metric.dark strong{color:#fff!important}.metric strong{display:block;font-size:34px;font-weight:600;line-height:1}.grid{display:grid;gap:20px;grid-template-columns:repeat(2,minmax(0,1fr))}.panel{background:var(--canvas);border:1px solid var(--line);border-radius:var(--radius);padding:20px}.panel.wide{grid-column:1 / -1}.panel-title{align-items:center;display:flex;justify-content:space-between;margin-bottom:14px}h2{color:var(--ink);font-size:18px;font-weight:600;line-height:1.2;margin:0}.chart{height:380px;width:100%}.calendar-wrap{display:grid;gap:18px}.calendar-month{min-width:0}.calendar-month-header{align-items:center;display:grid;gap:12px;grid-template-columns:40px 1fr 40px;margin-bottom:12px}.calendar-month-header button{background:var(--surface);border:1px solid var(--line);border-radius:var(--pill);color:var(--ink);font-size:24px;height:40px;line-height:1}.calendar-month-header button:disabled{color:#c7c1ba;cursor:not-allowed;opacity:.56}.calendar-month-title{color:var(--ink);font-size:18px;font-weight:600;text-align:center}.calendar-weekdays,.calendar-grid{display:grid;gap:6px;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays{color:var(--muted);font-size:11px;margin-bottom:6px;text-align:center}.calendar-cell{border:1px solid #f0ede8;border-radius:8px;height:92px;min-width:0;overflow:hidden;position:relative}.calendar-cell.empty-cell{background:transparent;border-color:transparent}.calendar-cell.single{align-items:stretch;color:var(--ink);display:flex;flex-direction:column;justify-content:space-between;padding:7px;text-align:left}.calendar-cell.split{background:var(--surface);color:var(--ink);display:grid;grid-template-columns:1fr 1fr;padding:0;text-align:left}.calendar-cell.split,.calendar-cell.single{border:1px solid #f0ede8;cursor:pointer}.calendar-half-visual{display:block;height:100%;min-width:0;pointer-events:none}.calendar-date{background:#ffffff94;color:#31312f9e;font-size:11px;font-weight:700;left:0;padding:5px 8px;position:absolute;right:0;text-align:left;top:0}.calendar-total{color:var(--ink);font-size:24px;font-weight:700;min-width:22px;position:absolute;text-shadow:0 1px 0 rgba(255,255,255,.42);text-align:center}.calendar-cell.split .calendar-total{left:50%;top:58%;transform:translate(-50%,-50%)}.calendar-cell.single .calendar-date{background:#ffffff7a}.calendar-cell.single .calendar-total{left:50%;top:58%;transform:translate(-50%,-50%)}.single-total{align-self:end;text-align:center}.calendar-cell.active{box-shadow:inset 0 0 0 3px #000}.calendar-cell.disabled-date{filter:grayscale(.9);opacity:.36}.calendar-cell.split.disabled-date,.calendar-cell.single.disabled-date{cursor:not-allowed}.calendar-tooltip{background:#000;border-radius:8px;box-shadow:0 12px 30px #00000038;color:#fff;display:grid;font-size:12px;gap:5px;max-width:220px;padding:10px 12px;pointer-events:none;position:fixed;z-index:30}.calendar-tooltip strong{color:#fff;font-size:13px;font-weight:600}.calendar-tooltip span{color:#ffffffdb}.calendar-tooltip em{color:#ffffff9e;font-style:normal;line-height:1.35}.driver-scroll-chart{display:grid;gap:8px;height:420px;overflow:auto;padding-right:4px}.driver-row{background:var(--surface);border:1px solid transparent;border-radius:var(--radius);color:var(--text);display:grid;gap:8px 10px;grid-template-columns:minmax(0,1fr) 54px 58px;min-height:58px;padding:9px 10px;text-align:left}.driver-row:hover,.driver-row.active{border-color:#fc4c026b;background:#fff0e7}.driver-row-name{color:var(--ink);font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.driver-row-count,.driver-row-percent{color:var(--muted);font-size:12px;text-align:right}.driver-row-track{background:#ece6df;border-radius:var(--pill);grid-column:1 / -1;height:8px;overflow:hidden}.driver-row-bar{background:var(--blue);border-radius:inherit;display:block;height:100%;min-width:3px}.table-panel{background:transparent;border:0;outline:0;padding:0}.table-panel .panel-title{margin-bottom:12px}.table-controls{align-items:center;background:var(--canvas);border:1px solid var(--line);border-radius:var(--radius);display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:10px;padding:10px 12px}.table-controls span,.table-controls label{align-items:center;color:var(--muted);display:inline-flex;font-size:13px;gap:8px}.table-controls select{min-height:34px;padding:4px 12px;width:auto}.pager{display:flex;flex-wrap:wrap;gap:8px}.pager button{background:var(--surface);border:1px solid var(--line);border-radius:var(--pill);color:var(--text);min-height:34px;padding:6px 12px}.pager button:disabled{color:#bdb7ae;cursor:not-allowed;opacity:.62}.table-wrap{background:var(--canvas);border:1px solid var(--line);border-radius:var(--radius);box-shadow:#ecdcd3 0 0 0 1px inset;height:min(560px,calc(100vh - 180px));overflow:auto;scroll-snap-align:none}table{border-collapse:collapse;font-size:14px;min-width:1060px;width:100%;-webkit-user-select:none;user-select:none}th,td{border-bottom:1px solid var(--line);padding:13px 14px;text-align:left;vertical-align:top}th{background:#000;color:#fff;font-weight:600;position:sticky;top:0;white-space:nowrap;z-index:1}td{cursor:cell;color:var(--text)}tbody tr:nth-child(2n){background:#fff8f4}tbody tr:hover{background:#fff0e7}td:first-child,th:first-child{left:0;position:sticky}td:first-child{background:var(--canvas);box-shadow:1px 0 0 var(--line);font-weight:600;z-index:1}tbody tr:nth-child(2n) td:first-child{background:#fff8f4}tbody tr:hover td:first-child{background:#fff0e7}th:first-child{background:#000;box-shadow:1px 0 #ffffff2e;z-index:3}td.selected-cell,td.selected-cell:hover{background:#ffd9c7;box-shadow:inset 0 0 0 2px var(--orange)}td:first-child.selected-cell,tbody tr:nth-child(2n) td:first-child.selected-cell,tbody tr:hover td:first-child.selected-cell{background:#ffd9c7}td.active-cell{box-shadow:inset 0 0 0 3px #000}td.selected-cell.active-cell{box-shadow:inset 0 0 0 2px var(--orange),inset 0 0 0 4px #000}.tag{border-radius:var(--pill);display:inline-flex;font-size:12px;font-weight:600;padding:4px 9px;white-space:nowrap}.tag.fake{background:#fc4c021f;color:#b63800}.tag.break{background:#307ae81f;color:#145fc7}.empty{color:var(--muted);padding:28px;text-align:center}.copy-toast{background:#000;border-radius:var(--pill);bottom:28px;color:#fff;font-size:14px;font-weight:600;opacity:0;padding:10px 16px;pointer-events:none;position:fixed;right:28px;transform:translateY(8px);transition:opacity .15s ease-in,transform .15s ease-in;z-index:20}.copy-toast.show{opacity:1;transform:translateY(0)}@media(max-width:1180px){.dashboard-shell{padding:16px}.dashboard-shell,.grid,.metrics,.filter-row,.filter-row-secondary{grid-template-columns:1fr}.filters{max-height:none;position:static}}
