.line-analytics{--line-border:#e3e9ef;--line-muted:#647488;color:#253750;gap:24px;min-width:0;display:grid}.line-analytics *{box-sizing:border-box}.line-analytics button,.line-analytics input,.line-analytics select{font:inherit}.line-analytics button{cursor:pointer}.line-analytics button:disabled{opacity:.55;cursor:wait}.line-analytics :focus-visible{outline-offset:3px;outline:3px solid #84b0de}.line-filters{border:1px solid var(--line-border);z-index:10;background:#fff;border-radius:12px;align-items:center;gap:10px;min-height:54px;padding:9px 11px;display:flex;position:relative}.line-filters select{color:#253750;background:#fff;border:1px solid #d3dce5;border-radius:7px;height:36px;padding:0 30px 0 10px;font-size:13px}.line-unit-toggle{background:#edf2f7;border-radius:8px;padding:3px;display:flex}.line-unit-toggle button{color:#60728a;background:0 0;border:0;border-radius:6px;min-width:44px;height:30px;padding:0 13px;font-size:13px}.line-unit-toggle button.active{color:#185c4c;background:#fff;font-weight:700;box-shadow:0 1px 5px #16355220}.line-period-select{color:var(--line-muted);align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex}.line-primary-button,.line-refresh-button{color:#253750;background:#fff;border:1px solid #d3dce5;border-radius:7px;height:36px;padding:0 14px;font-size:13px}.line-primary-button{color:#fff;background:#206d5d;border-color:#206d5d}.line-refresh-button{margin-left:auto}.line-date-picker{min-width:260px;position:relative}.line-date-trigger{color:#253750;background:#fff;border:1px solid #bfcbd6;border-radius:7px;align-items:center;gap:9px;width:100%;height:36px;padding:0 11px;font-size:13px;display:flex}.line-date-trigger>span{color:#6b7f91}.line-date-trigger>b{font-variant-numeric:tabular-nums;font-weight:600}.line-date-trigger>small{color:#718397;margin-left:auto;font-size:13px}.line-date-popover{z-index:40;background:#fff;border:1px solid #d7e0e8;border-radius:12px;width:650px;padding:14px;position:absolute;top:44px;left:0;box-shadow:0 18px 48px #20364b26}.line-calendar-toolbar{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.line-calendar-toolbar>button{color:#42576d;background:#fff;border:1px solid #dce3ea;border-radius:7px;width:32px;height:32px;font-size:22px;line-height:1}.line-calendar-toolbar>div{gap:6px;display:flex}.line-calendar-toolbar select{min-width:88px;height:32px}.line-calendar-pair{grid-template-columns:1fr 1fr;gap:18px;display:grid}.line-calendar-month{min-width:0}.line-calendar-month h3{text-align:center;color:#31465c;margin:0 0 8px;font-size:13px;font-weight:650}.line-calendar-weekdays,.line-calendar-grid{grid-template-columns:repeat(7,1fr);display:grid}.line-calendar-weekdays span{color:#8996a4;place-items:center;height:25px;font-size:11px;display:grid}.line-calendar-grid button{color:#364c62;background:0 0;border:0;height:34px;font-size:12px;position:relative}.line-calendar-grid button.outside{color:#b6c0c9}.line-calendar-grid button:disabled{color:#d2d9df;cursor:not-allowed}.line-calendar-grid button.between{background:#edf6f2;border-radius:0}.line-calendar-grid button.selected{color:#fff;background:#206d5d;border-radius:7px;font-weight:700}.line-calendar-grid button:not(:disabled):not(.selected):hover{background:#f0f4f7;border-radius:7px}.line-calendar-presets{border-top:1px solid #edf1f4;gap:6px;margin-top:10px;padding:11px 0 10px;display:flex}.line-calendar-presets button{color:#52677c;background:#fff;border:1px solid #dce4ea;border-radius:999px;height:30px;padding:0 11px;font-size:12px}.line-calendar-presets button:hover{color:#185c4c;background:#f3f8f6;border-color:#85ad9e}.line-calendar-footer{border-top:1px solid #edf1f4;justify-content:space-between;align-items:flex-end;gap:18px;padding-top:10px;display:flex}.line-calendar-footer>div{gap:3px;display:grid}.line-calendar-footer b{font-variant-numeric:tabular-nums;font-size:13px}.line-calendar-footer small{color:var(--line-muted);font-size:11px}.line-calendar-footer em{color:#a2493f;font-size:11px;font-style:normal;font-weight:600}.line-context{color:var(--line-muted);flex-wrap:wrap;gap:8px 20px;padding:0 3px;font-size:14px;display:flex}.line-context b{color:#253750}.line-context small{margin-left:auto;font-size:12px}.line-summary-heading{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.line-summary-heading h2{margin:0;font-size:18px}.line-summary-heading>span{font-size:14px}.line-summary-heading>small{color:var(--line-muted);margin-left:auto}.line-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.line-kpi{border:1px solid var(--line-border);background:#fff;border-top:2px solid;border-radius:12px;padding:23px 24px;box-shadow:0 3px 14px #22374a04}.line-kpi>div{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.line-kpi h3{margin:0;font-size:15px;font-weight:600}.line-kpi>div>span{color:var(--line-muted);font-size:12px}.line-kpi>strong{letter-spacing:-1px;font-variant-numeric:tabular-nums;margin:20px 0 14px;font-size:clamp(28px,2.6vw,40px);font-weight:600;display:block}.line-kpi p{color:var(--line-muted);margin:0;font-size:12px}.line-kpi .line-delta{margin-left:6px}.line-delta{font-variant-numeric:tabular-nums;font-size:12px}.line-delta.good{color:#197552}.line-delta.bad{color:#ba483d}.line-delta.neutral{color:var(--line-muted)}.line-chart-card{border:1px solid var(--line-border);background:#fff;border-radius:14px;min-width:0;overflow:hidden}.line-section-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;padding:24px 24px 18px;display:flex}.line-section-heading h2{margin:0;font-size:18px;font-weight:650}.line-section-heading p{color:var(--line-muted);margin:8px 0 0;font-size:13px;line-height:1.65}.line-section-heading>span{color:var(--line-muted);font-size:12px}.line-legend{flex-wrap:wrap;gap:8px 16px;display:flex}.line-legend button{color:#465970;background:0 0;border:0;border-radius:3px;align-items:center;gap:6px;padding:5px 0;font-size:14px;display:flex}.line-legend button>span{border-radius:3px;flex-shrink:0;width:16px;height:3px}.line-legend button.muted{opacity:.45;text-decoration:line-through}.line-chart-readout{min-height:56px;color:var(--line-muted);background:#fcfdff;border-top:1px solid #eef2f6;flex-wrap:wrap;align-items:center;gap:9px 20px;padding:14px 24px;font-size:12px;display:flex}.line-chart-readout b,.line-chart-readout strong{font-weight:600}.line-chart-readout small{margin-left:auto;font-size:12px}.line-chart-empty,.line-loading{min-height:180px;color:var(--line-muted);background:#fff;border-radius:12px;justify-content:center;align-items:center;gap:12px;padding:24px;font-size:14px;display:flex}.line-spinner{border:2px solid #dce6e1;border-top-color:#16856c;border-radius:50%;width:19px;height:19px;animation:.9s linear infinite line-spin}@keyframes line-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.line-spinner{animation:none}}.line-notice{color:#796339;background:#fffaf0;border:1px solid #e8dcbf;border-radius:8px;padding:12px 16px;font-size:12px;line-height:1.8}.line-notice.error{color:#9b4239;background:#fff5f4;border-color:#e7bfb9}.line-notice button{color:inherit;background:0 0;border:1px solid;border-radius:5px;margin-left:16px;padding:3px 10px}.line-badge{color:#8a6833;background:#faf0d8;border-radius:4px;padding:3px 7px;font-size:12px;font-weight:500;display:inline-block}.line-badge.complete{color:#287353;background:#eaf5ee}.line-badge.pending{color:#66758b;background:#eef1f5}.line-table-scroll{overflow-x:auto}.line-analytics table{border-collapse:collapse;font-variant-numeric:tabular-nums;white-space:nowrap;width:100%;font-size:13px}.line-analytics thead{color:#5e6e83;background:#f4f7fb}.line-analytics th,.line-analytics td{text-align:right;border-bottom:1px solid #e9eef4;padding:15px 19px}.line-analytics th:first-child,.line-analytics td:first-child{text-align:left}.line-analytics thead th{font-size:12px;font-weight:600}.line-analytics tbody th{font-weight:500}.line-period-table td>b{font-weight:600;display:block}.line-period-table td>.line-delta{margin-top:6px;display:block}.line-period-table small{color:var(--line-muted);margin-top:5px;font-size:12px;display:block}.line-period-table .line-current-period{background:#fffcf5}.line-detail-button{color:#286650;white-space:nowrap;background:#f4f8f6;border:1px solid #d3e2da;border-radius:5px;padding:6px 9px;font-size:12px}.line-daily-detail{white-space:normal;background:#f7f9fc;border-radius:8px;padding:12px}.line-daily-detail h3{margin:0 0 8px;font-size:13px}.line-daily-detail p{color:var(--line-muted);font-size:12px}.line-daily-detail table{background:#fff;font-size:12px}.line-daily-detail td,.line-daily-detail th{padding:10px 14px}.line-backfill{padding-bottom:16px}.line-backfill-totals{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:4px 23px 18px;display:grid}.line-backfill-totals dt{color:var(--line-muted);font-size:12px}.line-backfill-totals dd{overflow-wrap:anywhere;font-variant-numeric:tabular-nums;margin:8px 0 0;font-size:18px;font-weight:600}.line-backfill-totals small{color:var(--line-muted);font-size:12px;font-weight:400}.line-backfill-bar{color:#287353;align-items:center;gap:12px;margin:0 23px 12px;font-size:12px;display:flex}.line-backfill-bar progress{accent-color:#16856c;width:100%;height:9px}.line-backfill-meta{color:var(--line-muted);flex-wrap:wrap;gap:8px 20px;margin:10px 23px 0;font-size:12px;display:flex}.line-backfill-message{color:var(--line-muted);margin:12px 23px 0;font-size:12px;line-height:1.7}@media (width<=850px){.line-backfill-totals{grid-template-columns:1fr;gap:12px}.line-backfill-totals dd{font-size:17px}}.line-definitions{border:1px solid var(--line-border);color:#52667e;background:#f3f6f9;border-radius:10px;padding:17px 21px;font-size:12px;line-height:1.8}.line-definitions summary{cursor:pointer;font-weight:600}.line-definitions dl{grid-template-columns:190px 1fr;gap:12px 20px;margin:20px 0 0;display:grid}.line-definitions dt{font-weight:600}.line-definitions dd{margin:0}.line-definitions a{color:#216551;margin-left:6px;text-decoration:underline}@media (width<=1100px){.line-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.line-context small{margin-left:0}.line-section-heading{padding:18px}.line-date-popover{width:610px}}@media (width<=700px){.line-filters{flex-wrap:wrap}.line-date-picker{flex:1 0 100%;order:4}.line-date-popover{width:auto;position:fixed;inset:12px;overflow:auto}.line-calendar-pair{grid-template-columns:1fr}.line-calendar-pair .line-calendar-month+section{display:none}}@media (width<=600px){.line-analytics{gap:14px}.line-kpis{gap:10px}.line-kpi{padding:14px}.line-kpi>strong{font-size:27px}.line-kpi>div>span{display:none}.line-summary-heading>small{width:100%;margin-left:0}.line-definitions dl{grid-template-columns:1fr;gap:6px}.line-definitions dd{margin-bottom:10px}.line-chart-readout{padding:12px 16px}.line-chart-readout small{margin-left:0}}.line-echart{width:100%;min-width:0;height:370px;padding:0 10px}.line-secondary-charts{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start;gap:24px;display:grid}.line-secondary-charts .line-section-heading{align-content:flex-start;min-height:128px}.line-secondary-charts .line-echart{height:300px}.line-chart-tools{min-height:32px;color:var(--line-muted);align-items:center;gap:4px;margin:0 24px 2px;font-size:12px;display:flex}.line-chart-tools>span{margin-right:auto}.line-chart-tools button{color:#536b80;background:#fff;border:1px solid #e0e7ee;border-radius:5px;padding:5px 10px;font-size:12px}.line-chart-tools button:hover{background:#f3f7fa}.line-trend-card{box-shadow:0 3px 14px #22374a03}.line-secondary-charts .line-chart-readout{align-content:center;min-height:88px}.line-secondary-charts .line-chart-readout small{width:100%;margin-left:0}@media (width<=1200px){.line-secondary-charts{grid-template-columns:1fr}.line-secondary-charts .line-section-heading{min-height:0}.line-secondary-charts .line-echart{height:330px}.line-secondary-charts .line-chart-readout{min-height:56px}}@media (width<=600px){.line-echart,.line-secondary-charts .line-echart{height:310px;padding:0 2px}.line-chart-tools{margin:0 16px 4px}.line-legend{gap:8px 12px}}
