/*
Theme Name: Earnings Hub Mobile
Theme URI: https://example.com/earnings-hub-mobile
Author: OpenAI
Description: Mobile-first installable earnings calendar web app for WordPress with automatic daily earnings, monthly calendar, sector and industry breakdowns, saved companies, and notes.
Version: 2.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: earnings-hub-mobile
*/

:root{
  --eh-bg:#090c10;--eh-panel:#10151b;--eh-panel-2:#151b22;--eh-line:#26313c;
  --eh-text:#f5f7fb;--eh-muted:#93a0af;--eh-accent:#4d8dff;--eh-green:#34d399;
  --eh-red:#fb7185;--eh-yellow:#fbbf24;--eh-safe-bottom:env(safe-area-inset-bottom,0px);
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{background:var(--eh-bg);color-scheme:dark;overscroll-behavior-y:none}
body{margin:0;background:var(--eh-bg);color:var(--eh-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--eh-accent);outline-offset:2px}
.eh-app{width:100%;max-width:560px;min-height:100vh;margin:0 auto;padding:calc(10px + env(safe-area-inset-top,0px)) 14px calc(88px + var(--eh-safe-bottom))}
.eh-appbar{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:7px 1px 10px}
.eh-eyebrow{color:var(--eh-muted);font-size:11px;text-transform:uppercase;letter-spacing:.11em;font-weight:700}
.eh-appbar h1{font-size:28px;line-height:1.05;letter-spacing:-.04em;margin:3px 0 0}
.eh-sync{border:1px solid var(--eh-line);background:var(--eh-panel);color:var(--eh-green);border-radius:999px;min-height:38px;padding:8px 11px;font-size:12px;white-space:nowrap}
.eh-sync.loading{color:var(--eh-muted)}.eh-sync.error{color:var(--eh-red)}
.eh-quick-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:6px 0 16px}
.eh-mini{border:1px solid var(--eh-line);background:var(--eh-panel);border-radius:14px;padding:11px 12px;min-width:0}
.eh-mini span{display:block;color:var(--eh-muted);font-size:10px;text-transform:uppercase;letter-spacing:.07em;white-space:nowrap}
.eh-mini strong{display:block;font-size:22px;line-height:1;margin-top:7px}
.eh-main{min-width:0}.eh-section{margin-bottom:18px}.eh-section-title{font-size:14px;font-weight:750;margin:0 0 9px}.eh-section-sub{color:var(--eh-muted);font-size:12px;margin:-4px 0 10px}
.eh-date-strip{display:flex;gap:8px;overflow-x:auto;padding:1px 1px 8px;scrollbar-width:none;scroll-snap-type:x proximity}.eh-date-strip::-webkit-scrollbar{display:none}
.eh-date-btn{scroll-snap-align:start;flex:0 0 62px;min-height:68px;border:1px solid var(--eh-line);background:var(--eh-panel);color:var(--eh-text);border-radius:15px;padding:8px 5px;text-align:center}
.eh-date-btn span{display:block;color:var(--eh-muted);font-size:10px;text-transform:uppercase}.eh-date-btn strong{display:block;font-size:20px;margin-top:3px}.eh-date-btn em{display:block;color:var(--eh-muted);font-size:10px;font-style:normal;margin-top:2px}.eh-date-btn.active{background:var(--eh-accent);border-color:var(--eh-accent);color:#fff}.eh-date-btn.active span,.eh-date-btn.active em{color:#e8f0ff}
.eh-search-row{display:grid;grid-template-columns:minmax(0,1fr) 118px;gap:8px;margin:2px 0 12px}
.eh-control{width:100%;min-height:46px;border:1px solid var(--eh-line);background:var(--eh-panel);color:var(--eh-text);border-radius:13px;padding:10px 12px;font-size:16px}.eh-control::placeholder{color:#718096}
.eh-chip-row{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;padding-bottom:9px}.eh-chip-row::-webkit-scrollbar{display:none}
.eh-chip{flex:0 0 auto;border:1px solid var(--eh-line);background:var(--eh-panel);color:var(--eh-muted);border-radius:999px;min-height:36px;padding:7px 11px;font-size:12px}.eh-chip.active{background:#1d2f4e;border-color:#335a95;color:#d8e6ff}
.eh-card-list{display:grid;gap:10px}.eh-card{border:1px solid var(--eh-line);background:var(--eh-panel);border-radius:17px;padding:14px}.eh-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.eh-ticker{font-size:20px;font-weight:850;letter-spacing:-.02em}.eh-company{color:var(--eh-muted);font-size:13px;margin-top:2px;line-height:1.3}.eh-status{flex:0 0 auto;border:1px solid var(--eh-line);background:var(--eh-panel-2);color:var(--eh-yellow);border-radius:999px;padding:5px 8px;font-size:10px;text-transform:uppercase;letter-spacing:.05em}.eh-status.reported{color:var(--eh-green)}
.eh-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.eh-tag{border:1px solid var(--eh-line);background:var(--eh-panel-2);color:var(--eh-muted);border-radius:999px;padding:5px 7px;font-size:10px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.eh-metrics{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:11px}.eh-metric{border:1px solid var(--eh-line);background:var(--eh-panel-2);border-radius:12px;padding:9px 10px;min-width:0}.eh-metric span{display:block;color:var(--eh-muted);font-size:9px;text-transform:uppercase;letter-spacing:.07em}.eh-metric strong{display:block;font-size:14px;margin-top:4px;overflow-wrap:anywhere}.eh-good{color:var(--eh-green)}.eh-bad{color:var(--eh-red)}
.eh-card-actions{display:flex;gap:7px;margin-top:11px}.eh-card-actions button{min-height:38px;border:1px solid var(--eh-line);background:var(--eh-panel-2);color:var(--eh-text);border-radius:10px;padding:8px 10px;font-size:12px}.eh-card-actions .saved{color:#f8d66d}
.eh-empty,.eh-loading,.eh-error{border:1px dashed var(--eh-line);background:var(--eh-panel);border-radius:16px;padding:24px 16px;text-align:center;color:var(--eh-muted);font-size:13px;line-height:1.45}.eh-error{border-style:solid;color:#ffb5c0}.eh-spinner{display:inline-block;width:13px;height:13px;border:2px solid var(--eh-line);border-top-color:var(--eh-accent);border-radius:50%;vertical-align:-2px;margin-right:6px;animation:ehspin .8s linear infinite}@keyframes ehspin{to{transform:rotate(360deg)}}
.eh-month-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:4px 0 12px}.eh-month-head h2{font-size:21px;margin:0;letter-spacing:-.02em}.eh-icon-btn{width:42px;height:42px;border:1px solid var(--eh-line);background:var(--eh-panel);color:var(--eh-text);border-radius:12px;font-size:22px;line-height:1}
.eh-weekdays,.eh-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.eh-weekdays{margin-bottom:5px}.eh-weekdays div{text-align:center;color:var(--eh-muted);font-size:9px;text-transform:uppercase;font-weight:700}.eh-day-cell{position:relative;min-height:56px;border:1px solid var(--eh-line);background:var(--eh-panel);color:var(--eh-text);border-radius:11px;padding:7px 5px;text-align:left}.eh-day-cell.out{opacity:.28}.eh-day-cell.today{border-color:#4e77b3}.eh-day-cell.selected{background:#1c2d49;border-color:var(--eh-accent)}.eh-day-num{font-size:12px;font-weight:700}.eh-day-count{position:absolute;right:5px;bottom:5px;min-width:21px;height:21px;border-radius:999px;background:var(--eh-panel-2);color:var(--eh-muted);display:grid;place-items:center;font-size:9px}.eh-day-cell.selected .eh-day-count{background:var(--eh-accent);color:#fff}
.eh-calendar-detail{margin-top:14px}.eh-calendar-detail-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.eh-calendar-detail-head h3{margin:0;font-size:16px}.eh-calendar-detail-head span{color:var(--eh-muted);font-size:11px}
.eh-sector-list{display:grid;gap:9px}.eh-sector{border:1px solid var(--eh-line);background:var(--eh-panel);border-radius:16px;overflow:hidden}.eh-sector-btn{width:100%;border:0;background:transparent;color:var(--eh-text);padding:13px;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:10px}.eh-sector-name{font-size:15px;font-weight:750}.eh-sector-meta{color:var(--eh-muted);font-size:11px;margin-top:3px}.eh-sector-count{min-width:34px;height:34px;border-radius:999px;background:var(--eh-panel-2);display:grid;place-items:center;font-weight:800;font-size:12px}.eh-sector-body{border-top:1px solid var(--eh-line);padding:11px 13px;background:#0e1319}.eh-industry{padding:9px 0;border-bottom:1px solid rgba(38,49,60,.7)}.eh-industry:last-child{border-bottom:0}.eh-industry-head{display:flex;justify-content:space-between;gap:10px}.eh-industry-name{font-size:12px;font-weight:700}.eh-industry-count{font-size:10px;color:var(--eh-muted)}.eh-industry-dates{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.eh-industry-date{font-size:10px;color:var(--eh-muted);background:var(--eh-panel-2);border-radius:8px;padding:4px 6px}.eh-industry-companies{font-size:11px;color:#c3cbd5;margin-top:6px;line-height:1.45}
.eh-saved-card{border:1px solid var(--eh-line);background:var(--eh-panel);border-radius:16px;padding:14px;margin-bottom:9px}.eh-saved-head{display:flex;justify-content:space-between;gap:10px}.eh-saved-note{font-size:12px;color:#c8d0da;line-height:1.45;margin-top:9px;white-space:pre-wrap}.eh-saved-next{font-size:11px;color:var(--eh-muted);margin-top:5px}
.eh-bottom-nav{position:fixed;z-index:100;left:50%;bottom:0;transform:translateX(-50%);width:min(560px,100%);display:grid;grid-template-columns:repeat(4,1fr);background:rgba(10,14,19,.96);backdrop-filter:blur(18px);border-top:1px solid var(--eh-line);padding:7px 7px calc(7px + var(--eh-safe-bottom))}.eh-nav{border:0;background:transparent;color:#768494;min-height:54px;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:10px;font-weight:650}.eh-nav-icon{font-size:17px;line-height:1}.eh-nav.active{color:var(--eh-accent);background:rgba(77,141,255,.08)}
.eh-sheet-overlay{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.68);display:none;align-items:flex-end;justify-content:center}.eh-sheet-overlay.show{display:flex}.eh-sheet{width:min(560px,100%);background:#0e1319;border:1px solid var(--eh-line);border-bottom:0;border-radius:22px 22px 0 0;padding:8px 16px calc(16px + var(--eh-safe-bottom))}.eh-sheet-handle{width:42px;height:4px;border-radius:999px;background:#3a4551;margin:0 auto 12px}.eh-sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.eh-sheet h2{margin:2px 0 13px;font-size:22px}.eh-sheet label{display:block;color:var(--eh-muted);font-size:12px;margin-bottom:6px}.eh-sheet textarea{width:100%;min-height:120px;border:1px solid var(--eh-line);background:var(--eh-panel);color:var(--eh-text);border-radius:13px;padding:11px 12px;font-size:16px;resize:vertical}.eh-primary-wide{width:100%;min-height:48px;border:0;border-radius:13px;background:var(--eh-accent);color:#fff;font-weight:750;margin-top:10px}
@media(min-width:700px){body:before{content:"Mobile web app preview";display:block;position:fixed;left:20px;top:20px;color:#667483;font-size:12px}.eh-app{border-left:1px solid #151c24;border-right:1px solid #151c24}}
@media(prefers-reduced-motion:reduce){.eh-spinner{animation:none}}
