.ea-page { max-width:1700px; color:#203127; }
.ea-top { display:flex; justify-content:space-between; align-items:center; gap:14px; flex-wrap:wrap; }
.ea-top h1 { margin:0; font-size:27px; }
.ea-top p { font-size:13px; color:#536358; margin:0; }
.ea-controls { display:flex; align-items:flex-end; flex-wrap:wrap; gap:12px; margin:18px 0 10px; }
.ea-controls label { display:flex; flex-direction:column; gap:5px; font-size:13px; font-weight:600; min-width:170px; }
.ea-controls input,.ea-search { padding:10px 12px; border:1px solid #b5c4b7; border-radius:9px; background:#fff; color:#203127; font:inherit; }
.ea-controls .portal-date-control { width:205px; }
.ea-controls .portal-date-control input { width:100%; }
.ea-controls button,.ea-quick button { border-radius:9px; }
.ea-quick { display:flex; gap:7px; flex-wrap:wrap; }
.ea-quick button { font-size:12px; padding:7px 11px; }
.ea-tabs { display:flex; gap:5px; flex-wrap:wrap; border-bottom:1px solid #bdc9bc; padding:6px; background:#e3e9de; border-radius:12px; margin:18px 0 10px; }
.ea-tabs button { border:0; border-radius:9px; background:transparent; padding:11px 16px; color:#354b3c; font:600 14px Arial,sans-serif; cursor:pointer; }
.ea-tabs button.is-active { background:#14683a; color:white; box-shadow:0 2px 5px #142d2433; }
.ea-tabs button:focus-visible,.ea-quick button:focus-visible { outline:3px solid #6baa8e; }
.ea-notice { font-size:14px; color:#7d4b1c; }
.ea-notice:empty { display:none; }
.ea-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:14px 0; }
.ea-kpi { display:flex; flex-direction:column; gap:9px; padding:17px; background:linear-gradient(150deg,#fff,#f1f6f0); border:1px solid #cbd7ca; border-radius:15px; box-shadow:0 3px 8px #20312709; }
.ea-kpi span { font-size:13px; color:#526358; }
.ea-kpi strong { font-size:clamp(20px,2.3vw,30px); font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.ea-kpi small { font-size:11px; color:#64796c; }
.ea-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:16px 0; }
.ea-panel { background:#fff; border:1px solid #d5dfd1; border-radius:15px; padding:18px; min-width:0; }
.ea-panel h2 { font:600 16px Arial,sans-serif; margin:0 0 18px; color:#263e2d; }
.ea-chart { display:block; width:100%; height:auto; min-height:190px; }
.ea-bar-row { display:grid; grid-template-columns:minmax(90px,1fr) minmax(65px,1.2fr) auto; gap:9px; align-items:center; margin:11px 0; font-size:12px; }
.ea-bar-label { overflow-wrap:anywhere; }
.ea-bar-track { height:13px; border-radius:4px; background:#edf1eb; overflow:hidden; }
.ea-bar { height:100%; border-radius:4px; }
.ea-bar-row strong { font-variant-numeric:tabular-nums; font-size:12px; }
.ea-donut-layout { display:flex; gap:22px; flex-wrap:wrap; align-items:center; }
.ea-donut { position:relative; width:180px; height:180px; border-radius:50%; display:grid; place-items:center; flex:none; }
.ea-donut-hole { background:white; border-radius:50%; width:116px; height:116px; display:grid; place-items:center; padding:8px; box-sizing:border-box; font-size:17px; font-weight:bold; text-align:center; overflow-wrap:anywhere; }
.ea-legend { display:flex; flex-direction:column; gap:10px; font-size:12px; flex:1; min-width:140px; }
.ea-legend>div { display:flex; gap:7px; align-items:center; }
.ea-dot { display:inline-block; width:10px; height:10px; border-radius:50%; flex:none; margin-right:7px; }
.ea-inline { flex-direction:row; flex-wrap:wrap; gap:15px; justify-content:center; }
.ea-details { margin-top:16px; font-size:12px; }
.ea-details summary,.ea-method summary { cursor:pointer; color:#14683a; }
.ea-table-wrap { overflow:auto; max-height:460px; margin-top:12px; background:white; border:1px solid #d4ddcf; border-radius:8px; }
.ea-table { width:100%; border-collapse:separate; border-spacing:0; font-size:13px; }
.ea-table th { position:sticky; top:0; background:#edf3e9; color:#314c3a; z-index:1; }
.ea-table th,.ea-table td { padding:10px 12px; border-bottom:1px solid #e1e8dd; text-align:left; vertical-align:top; }
.ea-table td { font-variant-numeric:tabular-nums; }
.ea-table tr:nth-child(even) td { background:#f8faf6; }
.ea-note { padding:12px 15px; background:#fff8e6; border-left:3px solid #b89946; font-size:13px; color:#66532d; border-radius:5px; }
.ea-method { padding:14px 17px; background:#e9eee3; border-radius:12px; margin-top:20px; font-size:13px; }
.ea-search { width:min(450px,100%); box-sizing:border-box; }
.ea-muted { color:#64796c; font-size:12px; }
@media(max-width:1100px){.ea-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }}
@media(max-width:750px){.ea-grid { grid-template-columns:1fr; }.ea-panel { padding:13px; }.ea-tabs button { flex:1 1 120px; font-size:12px; padding:9px; }.ea-top h1 {font-size:23px;}.ea-kpis {gap:7px;}.ea-kpi {padding:12px;}.ea-controls label {flex:1;}.ea-controls .portal-date-control {width:100%;}}

.ea-controls { flex-direction:row; align-items:center; gap:8px; }
.ea-controls label { flex-direction:row; align-items:center; min-width:0; font:12px Arial,sans-serif; }
.ea-controls .portal-date-control { width:140px; }
.ea-controls input,.ea-controls button,.ea-controls select { font:12px Arial,sans-serif; padding:7px 9px; }
.ea-controls select { background:white; color:#203127; border:1px solid #b5c4b7; border-radius:8px; }
.ea-quick button.is-active { background:#14683a; color:white; border-color:#14683a; box-shadow:inset 0 2px 4px #123b35; }
.ea-slice-label { position:absolute; transform:translate(-50%,-50%); color:white; font-weight:700; text-shadow:0 1px 3px #000; pointer-events:none; }
@media(max-width:750px){.ea-controls label{flex:0 1 auto;}.ea-controls .portal-date-control{width:140px;}}

/* Keep report period controls on one line, including narrow screens. */
.ea-page .er-controls { flex-direction:row; flex-wrap:nowrap; overflow-x:auto; padding:3px 0 8px; gap:7px; }
.ea-page .er-controls .ea-quick { flex-wrap:nowrap; flex:none; gap:5px; }
.ea-page .er-controls label,.ea-page .er-controls button { flex:none; white-space:nowrap; }
.ea-page .er-controls button,.ea-page .er-controls select { padding:7px 9px; font-size:12px; }
.sinfo-board{position:relative;display:flex;justify-content:space-between;gap:100px;min-width:550px;isolation:isolate}.sinfo-col{display:flex;flex-direction:column;gap:8px;width:30%;z-index:1}.sinfo-col button{min-height:42px;background:#06140a;color:#00ef48;text-align:left}.sinfo-col button.is-active{background:#00bf40;color:black}.sinfo-lines{position:absolute;left:0;top:0;pointer-events:none;z-index:0}.portal-page:has(.sinfo-board){overflow:auto}
.sinfo-verification-pending td { background: #ffd4d4 !important; color: #750b0b !important; }
.sinfo-password-reset-pending:not(.sinfo-verification-pending) td { background: #ffdbad !important; color: #713900 !important; }
.sinfo-pending-badge { display: inline-flex; justify-content: center; align-items: center; min-width: 22px; height: 22px; padding: 0 4px; border-radius: 50%; background: #d71920; color: white; margin-left: 7px; font: bold 13px sans-serif; }
.sinfo-pending-badge[hidden] { display: none; }
