.eco-drawer-shell{background:#ffffff;border:1px solid rgba(15,23,42,0.10);border-radius:16px;box-shadow:0 4px 6px -1px rgba(15,23,42,0.06),0 12px 32px -4px rgba(15,23,42,0.10);overflow:hidden;display:flex;flex-direction:column}.eco-panel-header{padding:14px 16px 12px;background:linear-gradient(180deg,#f8fafc 0%,#ffffff 100%);border-bottom:1px solid rgba(15,23,42,0.07);flex-shrink:0}.eco-title{font-size:0.78rem;font-weight:800;letter-spacing:0.07em;text-transform:uppercase;color:#0f172a;gap:7px}.eco-title-dot{width:8px;height:8px;border-radius:50%;background:#16a34a;box-shadow:0 0 0 3px rgba(22,163,74,0.18);animation:ecoDotPulse 2s ease-in-out infinite;flex-shrink:0}@keyframes ecoDotPulse{0%,100%{box-shadow:0 0 0 3px rgba(22,163,74,0.18)}50%{box-shadow:0 0 0 5px rgba(22,163,74,0.08)}}.eco-live-pill{padding:2px 7px;border-radius:999px;font-size:9px;font-weight:800;letter-spacing:0.06em;text-transform:uppercase;color:#065f46;background:rgba(16,185,129,0.12);border:1px solid rgba(16,185,129,0.28)}.eco-subtitle{margin-top:8px;font-size:11px;color:#475569;display:flex;align-items:flex-start;gap:6px;flex-wrap:wrap;padding:6px 10px;border-radius:8px;background:#f1f5f9;border:1px solid rgba(148,163,184,0.22);line-height:1.45;min-height:48px}#ecoDayText{font-weight:700;color:#1e293b;flex-shrink:0}.eco-subtitle-dot{color:#94a3b8;flex-shrink:0}#ecoNextText{font-weight:700;color:#084c38;background:transparent;border:none;border-radius:0;padding:0;line-height:1.4;white-space:normal;overflow-wrap:anywhere}.eco-table-container{flex:1;overflow-y:auto;overflow-x:clip;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.eco-table-container::-webkit-scrollbar{width:5px}.eco-table-container::-webkit-scrollbar-thumb{background:rgba(148,163,184,0.4);border-radius:999px}.eco-table-container::-webkit-scrollbar-track{background:transparent}.eco-table{width:100%;border-collapse:collapse;font-size:0.80rem;table-layout:auto;min-width:0}.eco-table thead th{position:sticky;top:0;z-index:10;background:#f8fafc;border-bottom:2px solid rgba(15,23,42,0.08);padding:6px 8px;font-size:0.60rem;font-weight:800;text-transform:uppercase;letter-spacing:0.08em;color:#94a3b8;white-space:nowrap}.eco-table thead th.cell-act,.eco-table thead th.cell-est,.eco-table thead th.cell-prev{text-align:right}.eco-table thead th.cell-time{width:44px}.eco-table thead th.cell-cur{width:34px}.eco-table thead th.cell-imp{width:14px}.eco-table thead th.cell-act{width:62px}.eco-table thead th.cell-est{width:54px}.eco-table thead th.cell-prev{width:54px}.eco-table thead th.cell-event{}.eco-date-header td{padding:8px 10px 7px;font-size:0.68rem;font-weight:800;letter-spacing:0.06em;text-transform:uppercase;color:#64748b;background:#f8fafc;border-top:1px solid rgba(15,23,42,0.07);border-bottom:1px solid rgba(15,23,42,0.07)}.eco-date-header.today td{color:#111111;background:linear-gradient(90deg,rgba(235,241,250,0.95),rgba(248,250,252,0.95));border-left:3px solid #111111;padding-left:12px}.eco-table tbody tr:not(.eco-date-header):not(.eco-time-marker) td{padding:7px 8px;border-bottom:1px solid rgba(15,23,42,0.04);vertical-align:middle}.eco-table tbody tr:not(.eco-date-header):not(.eco-time-marker):hover td{background:rgba(241,245,249,0.7)}.eco-table tbody tr:not(.eco-date-header):not(.eco-time-marker):nth-child(even) td{background:rgba(248,250,252,0.6)}td.cell-time{width:44px;font-size:0.68rem;font-weight:700;color:#475569;white-space:nowrap;font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.eco-ccy{display:inline-flex;align-items:center;justify-content:center;min-width:28px;padding:2px 5px;border-radius:4px;font-size:9.5px;font-weight:800;letter-spacing:0.04em;text-transform:uppercase;background:#f1f5f9;color:#475569;border:1px solid #e2e8f0}.eco-ccy[data-cur="US"],.eco-ccy[data-cur="USD"]{background:#f1f5f9;color:#084c38;border-color:#cbd5e1}.eco-ccy[data-cur="EU"],.eco-ccy[data-cur="EUR"]{background:#eef1f8;color:#475569;border-color:#c3cfe8}.eco-ccy[data-cur="GB"],.eco-ccy[data-cur="GBP"]{background:#f0fdf4;color:#15803d;border-color:#bbf7d0}.eco-ccy[data-cur="JP"],.eco-ccy[data-cur="JPY"]{background:#fff7ed;color:#c2410c;border-color:#fed7aa}td.cell-imp{width:14px;padding-left:4px;padding-right:4px}.imp-badge{display:inline-block;width:4px;height:20px;border-radius:3px;vertical-align:middle}.imp-high{background:linear-gradient(180deg,#f87171,#ef4444);box-shadow:0 0 0 2px rgba(239,68,68,0.18)}.imp-med{background:linear-gradient(180deg,#fbbf24,#d97706)}.imp-low{background:#e2e8f0}.imp-none{background:#f1f5f9}.eco-table td.cell-event{min-width:0;overflow:hidden}.eco-event-stack{display:grid;gap:3px;min-width:0}.eco-event-title{display:block;font-size:0.74rem;font-weight:600;color:#1e293b;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}td.cell-act,td.cell-est,td.cell-prev{text-align:right;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:0.72rem;font-variant-numeric:tabular-nums;white-space:nowrap;color:#334155}td.cell-est,td.cell-prev{color:#94a3b8;font-size:0.70rem}td.cell-act.surprise-up-1{background:rgba(34,197,94,0.07);color:#15803d;font-weight:700}td.cell-act.surprise-up-2{background:rgba(34,197,94,0.12);color:#166534;font-weight:800}td.cell-act.surprise-up-3{background:rgba(34,197,94,0.18);color:#14532d;font-weight:800}td.cell-act.surprise-down-1{background:rgba(239,68,68,0.07);color:#b91c1c;font-weight:700}td.cell-act.surprise-down-2{background:rgba(239,68,68,0.12);color:#991b1b;font-weight:800}td.cell-act.surprise-down-3{background:rgba(239,68,68,0.18);color:#7f1d1d;font-weight:800}.act-arrow{font-size:0.62rem;margin-right:1px;opacity:0.8}tr.eco-row-past td{opacity:0.52}tr.eco-row-past td.cell-time{color:#94a3b8}tr.eco-row-actual td,tr.eco-row-released td,tr.eco-row-complete td{opacity:1;background:rgba(248,250,252,0.8)}tr.eco-row-soon td{background:rgba(248,250,252,0.9)}tr.eco-row-soon td.cell-time{color:#111111;font-weight:800}tr.eco-row-next-impact td{background:transparent!important;opacity:1!important}tr.eco-row-next-impact td:first-child{border-left:3px solid #111111;padding-left:6px}tr.eco-row-next-impact .eco-event-title{color:#111111;font-weight:700}tr.eco-row-new td{animation:ecoFlashIn 1.8s ease-out}@keyframes ecoFlashIn{0%{background-color:rgba(100,116,139,0.14)}100%{background-color:transparent}}tr.eco-row-focus td{animation:ecoFocusPulse 1.8s ease-out}@keyframes ecoFocusPulse{0%{outline:2px solid rgba(37,99,235,0.55)}100%{outline:2px solid transparent}}tr.eco-time-marker td{padding:4px 0;background:transparent!important;border:none!important}.eco-time-chip{display:flex;align-items:center;gap:7px;width:100%}.eco-time-line{flex:1;height:1.5px;background:linear-gradient(90deg,transparent 0%,#111111 40%,#111111 60%,transparent 100%);border-radius:999px}.eco-time-icon{width:22px;height:22px;border-radius:50%;background:#111111;color:#ffffff;display:inline-flex;align-items:center;justify-content:center;font-size:9px;flex-shrink:0;box-shadow:0 0 0 3px rgba(100,116,139,0.18)}.eco-time-label{font-size:9px;font-weight:800;letter-spacing:0.08em;text-transform:uppercase;color:#111111;white-space:nowrap;flex-shrink:0}tr.eco-time-marker{border-top:1.5px solid rgba(100,116,139,0.35)!important;border-bottom:1.5px solid rgba(100,116,139,0.35)!important}.eco-drawer-shell.eco-compact-mode .eco-table tbody tr:not(.eco-date-header):not(.eco-time-marker) td{padding:4px 6px}.eco-drawer-shell.eco-compact-mode .eco-table{table-layout:auto!important}.eco-drawer-shell.eco-compact-mode td.cell-time{font-size:0.64rem;width:40px}.eco-drawer-shell.eco-compact-mode .eco-event-title{font-size:0.68rem}.eco-drawer-shell.eco-compact-mode td.cell-act,.eco-drawer-shell.eco-compact-mode td.cell-est,.eco-drawer-shell.eco-compact-mode td.cell-prev{font-size:0.66rem}.eco-drawer-shell.eco-compact-mode td.cell-act,.eco-drawer-shell.eco-compact-mode td.cell-est,.eco-drawer-shell.eco-compact-mode td.cell-prev{overflow:visible;text-overflow:clip;white-space:nowrap}.eco-drawer-shell.eco-compact-mode .eco-event-title{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@media (max-width:1360px){.eco-event-title{font-size:0.70rem}td.cell-act,td.cell-est,td.cell-prev{font-size:0.68rem}}@media (max-width:1200px){.eco-drawer-shell{height:auto;min-height:0;border-radius:14px}.eco-table-container{max-height:min(60vh,680px);overflow-x:clip}.eco-table{min-width:0}}@media (max-width:768px){.eco-panel-header{padding:10px 12px 10px}.eco-title{font-size:0.72rem}.eco-subtitle{font-size:10px;padding:5px 8px}.eco-table-container{max-height:min(50vh,500px)}.eco-table{min-width:0}}.eco-row-meta{display:none;font-size:0.635rem;color:#64748b;margin-top:2px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-variant-numeric:tabular-nums;white-space:normal;overflow:hidden;text-overflow:ellipsis;line-height:1.35;max-width:100%;align-items:baseline;gap:2px 5px}.eco-meta-group{display:inline-flex;align-items:baseline;gap:3px;min-width:0}.eco-meta-label{font-size:0.55rem;font-weight:700;text-transform:uppercase;letter-spacing:0.07em;color:#94a3b8}.eco-meta-value{color:#64748b;font-weight:700}.eco-meta-act .eco-meta-label{color:#334155}.eco-meta-act .eco-meta-value{color:#111827;font-weight:900}.eco-meta-sep{color:#cbd5e1;margin:0 1px}@media (min-width:721px){@container eco-panel (min-width:321px) and (max-width:360px){.eco-table{table-layout:fixed}.eco-table thead th.cell-act,.eco-table thead th.cell-est,.eco-table thead th.cell-prev{display:none}.eco-table td.cell-act,.eco-table td.cell-est,.eco-table td.cell-prev{display:none}.eco-row-meta{display:flex;flex-wrap:wrap}.eco-table tbody tr:not(.eco-date-header):not(.eco-time-marker) td{padding:4px 4px}.eco-drawer-shell .eco-table .cell-time{width:36px;font-size:0.65rem}.eco-drawer-shell .eco-table .cell-cur{width:24px}.eco-drawer-shell .eco-table .cell-imp{width:8px;padding-left:1px;padding-right:1px}.eco-drawer-shell .eco-table .cell-event{min-width:0;width:auto}.eco-event-title{font-size:0.71rem;white-space:normal;-webkit-line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.eco-ccy{min-width:20px;padding:1px 2px;font-size:8px}.eco-panel-header{padding:10px 11px 8px}.eco-subtitle{font-size:10px;padding:5px 7px}}@container eco-panel (min-width:361px) and (max-width:460px){.eco-table{table-layout:fixed}.eco-table thead th.cell-act,.eco-table thead th.cell-est,.eco-table thead th.cell-prev{display:none}.eco-table td.cell-act,.eco-table td.cell-est,.eco-table td.cell-prev{display:none}.eco-row-meta{display:flex;flex-wrap:wrap}.eco-drawer-shell .eco-table .cell-time{width:38px;font-size:0.66rem}.eco-drawer-shell .eco-table .cell-cur{width:26px}.eco-drawer-shell .eco-table .cell-imp{width:10px}.eco-drawer-shell .eco-table .cell-event{min-width:0;width:auto}.eco-event-title{font-size:0.72rem}.eco-ccy{min-width:22px;padding:1px 3px;font-size:9px}.eco-table tbody tr:not(.eco-date-header):not(.eco-time-marker) td{padding:5px 4px}}@container eco-panel (min-width:461px) and (max-width:560px){.eco-table{table-layout:fixed!important}.eco-table thead th.cell-act,.eco-table thead th.cell-est,.eco-table thead th.cell-prev,.eco-table td.cell-act,.eco-table td.cell-est,.eco-table td.cell-prev{display:none!important}.eco-row-meta{display:flex;flex-wrap:wrap}.eco-drawer-shell .eco-table .cell-time{width:40px}.eco-drawer-shell .eco-table .cell-cur{width:28px}.eco-drawer-shell .eco-table .cell-imp{width:10px;padding-left:2px;padding-right:2px}.eco-drawer-shell .eco-table .cell-event{min-width:0;width:auto}.eco-event-title{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}}}@media (max-width:720px){.eco-drawer-shell .eco-table{display:table;table-layout:fixed;width:100%;min-width:0}.eco-drawer-shell .eco-table thead{display:table-header-group}.eco-drawer-shell .eco-table tbody{display:table-row-group}.eco-drawer-shell .eco-table tbody tr,.eco-drawer-shell .eco-table tbody tr:not(.eco-date-header):not(.eco-time-marker){display:table-row;grid-template-columns:unset;grid-template-areas:unset;gap:0;padding:0;width:auto;max-width:none;box-sizing:content-box}.eco-drawer-shell .eco-table tbody tr:not(.eco-date-header):not(.eco-time-marker) td{display:table-cell;width:auto;min-width:0;padding:5px 3px;border-bottom:1px solid rgba(15,23,42,0.06)}.eco-drawer-shell .eco-table tbody tr:not(.eco-date-header):not(.eco-time-marker) .cell-act{display:none}.eco-drawer-shell .eco-table tbody tr:not(.eco-date-header):not(.eco-time-marker) .cell-act::before,.eco-drawer-shell .eco-table tbody tr:not(.eco-date-header):not(.eco-time-marker) .cell-est::before,.eco-drawer-shell .eco-table tbody tr:not(.eco-date-header):not(.eco-time-marker) .cell-prev::before{content:none;display:none;flex:unset}.eco-drawer-shell .eco-table thead th.cell-act,.eco-drawer-shell .eco-table thead th.cell-est,.eco-drawer-shell .eco-table thead th.cell-prev{display:none}.eco-drawer-shell .eco-table tbody tr:not(.eco-date-header):not(.eco-time-marker) .cell-act,.eco-drawer-shell .eco-table tbody tr:not(.eco-date-header):not(.eco-time-marker) .cell-est,.eco-drawer-shell .eco-table tbody tr:not(.eco-date-header):not(.eco-time-marker) .cell-prev{display:none}.eco-drawer-shell .eco-row-meta{display:flex;flex-wrap:wrap}.eco-drawer-shell .eco-table .cell-time{width:38px;font-size:0.65rem}.eco-drawer-shell .eco-table .cell-cur{width:26px}.eco-drawer-shell .eco-table .cell-imp{width:10px;padding-left:1px;padding-right:1px}.eco-drawer-shell .eco-table .cell-event{min-width:0;width:auto}.eco-drawer-shell .eco-event-title{font-size:0.72rem;white-space:normal;-webkit-line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.eco-drawer-shell .eco-ccy{min-width:22px;padding:1px 3px;font-size:9px}}@container eco-panel (max-width:320px){.eco-drawer-shell .eco-table{display:table;table-layout:fixed;width:100%;min-width:0}.eco-drawer-shell .eco-table thead{display:table-header-group}.eco-drawer-shell .eco-table tbody{display:table-row-group}.eco-drawer-shell .eco-table tbody tr,.eco-drawer-shell .eco-table tbody tr:not(.eco-date-header):not(.eco-time-marker){display:table-row;grid-template-columns:unset;grid-template-areas:unset;gap:0;padding:0}.eco-drawer-shell .eco-table tbody tr:not(.eco-date-header):not(.eco-time-marker) td{display:table-cell;padding:4px 2px;border-bottom:1px solid rgba(15,23,42,0.06)}.eco-drawer-shell .eco-table tbody tr:not(.eco-date-header):not(.eco-time-marker) .cell-act{display:none}.eco-drawer-shell .eco-table tbody tr:not(.eco-date-header):not(.eco-time-marker) .cell-act,.eco-drawer-shell .eco-table tbody tr:not(.eco-date-header):not(.eco-time-marker) .cell-est,.eco-drawer-shell .eco-table tbody tr:not(.eco-date-header):not(.eco-time-marker) .cell-prev{display:none}.eco-drawer-shell .eco-table thead th.cell-act,.eco-drawer-shell .eco-table thead th.cell-est,.eco-drawer-shell .eco-table thead th.cell-prev{display:none}.eco-drawer-shell .eco-table tbody tr:not(.eco-date-header):not(.eco-time-marker) .cell-act::before,.eco-drawer-shell .eco-table tbody tr:not(.eco-date-header):not(.eco-time-marker) .cell-est::before,.eco-drawer-shell .eco-table tbody tr:not(.eco-date-header):not(.eco-time-marker) .cell-prev::before{content:none;display:none}.eco-drawer-shell .eco-row-meta{display:flex;flex-wrap:wrap}.eco-drawer-shell .eco-table .cell-time{width:34px;font-size:0.63rem}.eco-drawer-shell .eco-table .cell-cur{width:22px}.eco-drawer-shell .eco-table .cell-imp{width:8px;padding-left:0;padding-right:0}.eco-drawer-shell .eco-table .cell-event{min-width:0;width:auto}.eco-drawer-shell .eco-event-title{font-size:0.69rem;-webkit-line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.eco-drawer-shell .eco-ccy{min-width:18px;padding:1px 2px;font-size:8px}}.eco-empty-state{display:flex;align-items:center;justify-content:center;gap:0.5rem;padding:1.25rem 1rem;text-align:center;color:#64748b;font-size:0.86rem;letter-spacing:0.01em}.eco-empty-state .eco-empty-dot{width:7px;height:7px;border-radius:50%;background:currentColor;flex:0 0 auto;display:none}.eco-empty-state.is-loading{color:#16a34a}.eco-empty-state.is-loading .eco-empty-dot{display:inline-block;animation:ecoEmptyPulse 1.1s ease-in-out infinite}.eco-empty-state.is-loading .eco-empty-text{animation:ecoEmptyFade 1.6s ease-in-out infinite}@keyframes ecoEmptyPulse{0%,100%{transform:scale(0.7);opacity:0.35}50%{transform:scale(1.25);opacity:1}}@keyframes ecoEmptyFade{0%,100%{opacity:0.6}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.eco-empty-state.is-loading .eco-empty-dot,.eco-empty-state.is-loading .eco-empty-text{animation:none}}