:root{
  --eps-bg:#f5f7f6;--eps-card:#fff;--eps-text:#151918;--eps-muted:#727b77;--eps-line:#e4e9e6;--eps-accent:#29483a;--eps-accent-2:#eaf1ed;
  --eps-danger:#9b3f45;--eps-warning:#9d6a1e;--eps-blue:#386a8d;--eps-shadow:0 14px 40px rgba(27,43,36,.055)
}
*{box-sizing:border-box}.eps-app{display:flex;min-height:84vh;background:var(--eps-bg);color:var(--eps-text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;border:1px solid var(--eps-line);border-radius:24px;overflow:hidden;position:relative}.eps-app button,.eps-app input,.eps-app select,.eps-app textarea{font:inherit}.eps-sidebar{width:246px;background:#fff;border-right:1px solid var(--eps-line);padding:22px 15px;display:flex;flex-direction:column;gap:22px;flex:0 0 auto}.eps-brand-block{display:flex;gap:11px;align-items:center;padding:4px 8px}.eps-brand-block strong,.eps-brand-block span{display:block}.eps-brand-block strong{font-size:14px}.eps-brand-block span{font-size:12px;color:var(--eps-muted)}.eps-mark{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:var(--eps-accent);color:#fff;font-weight:750;box-shadow:0 8px 18px rgba(41,72,58,.18)}.eps-nav{display:flex;flex-direction:column;gap:5px}.eps-nav-item{border:0;background:transparent;text-align:left;padding:11px 12px;border-radius:12px;display:flex;gap:10px;align-items:center;color:#565f5b;cursor:pointer;transition:.18s ease;font-size:14px}.eps-nav-item:hover,.eps-nav-item.is-active{background:var(--eps-accent-2);color:var(--eps-text)}.eps-nav-icon{width:20px;text-align:center;color:#607067}.eps-user-box{margin-top:auto;padding:13px 10px 3px;border-top:1px solid var(--eps-line);display:grid;gap:4px}.eps-user-box small,.eps-eyebrow{font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--eps-muted)}.eps-user-box strong{font-size:13px}.eps-user-box a{font-size:12px;color:var(--eps-muted);text-decoration:none}.eps-main{flex:1;padding:28px;min-width:0;overflow:hidden}.eps-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.eps-topbar h1{font-size:27px;line-height:1.1;margin:5px 0 0}.eps-top-actions{display:flex;align-items:center;gap:8px}.eps-version,.eps-layer-badge{font-size:11px;border:1px solid var(--eps-line);background:#fff;border-radius:999px;padding:7px 10px;color:#58615d}.eps-layer-badge{background:var(--eps-accent-2);border-color:#dce7e1;color:var(--eps-accent)}
.eps-grid{display:grid;gap:16px;margin-bottom:16px}.eps-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.eps-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.eps-card,.eps-panel{background:var(--eps-card);border:1px solid var(--eps-line);border-radius:19px;padding:18px;box-shadow:var(--eps-shadow)}.eps-card span,.eps-card small{display:block;color:var(--eps-muted)}.eps-card span{font-size:13px}.eps-card strong{font-size:29px;line-height:1;display:block;margin:10px 0}.eps-card small{font-size:11px}.eps-panel-head{display:flex;justify-content:space-between;gap:16px;align-items:center}.eps-panel h2{font-size:18px;margin:4px 0 12px}.eps-empty{min-height:150px;border:1px dashed #d6ded9;border-radius:14px;display:grid;place-items:center;text-align:center;padding:24px;color:var(--eps-muted);background:#fafcfb;font-size:13px;line-height:1.55}.eps-chip-row{display:flex;flex-wrap:wrap;gap:8px}.eps-chip-row span{border:1px solid var(--eps-line);padding:9px 11px;border-radius:999px;background:#fafcfb;font-size:12px}.eps-placeholder-chart{height:150px;display:flex;gap:10px;align-items:flex-end}.eps-placeholder-chart i{display:block;flex:1;border-radius:8px 8px 3px 3px;background:#e5ece8}.eps-placeholder-chart i:nth-child(1){height:28%}.eps-placeholder-chart i:nth-child(2){height:48%}.eps-placeholder-chart i:nth-child(3){height:42%}.eps-placeholder-chart i:nth-child(4){height:72%}.eps-placeholder-chart i:nth-child(5){height:66%}.eps-placeholder-chart i:nth-child(6){height:88%}.eps-view{display:none}.eps-view.is-active{display:block}.eps-module-placeholder{min-height:260px}.eps-module-placeholder code{background:#f2f5f3;padding:2px 5px;border-radius:5px}.eps-button{border:1px solid var(--eps-line);border-radius:11px;padding:9px 12px;cursor:pointer;transition:.16s ease;background:#fff;color:var(--eps-text);font-size:12.5px;font-weight:650}.eps-button:hover{transform:translateY(-1px);box-shadow:0 5px 15px rgba(26,41,34,.07)}.eps-button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.eps-button-primary{background:var(--eps-accent);border-color:var(--eps-accent);color:#fff}.eps-button-ghost{background:#fff}.eps-button-quiet{background:#f7f9f8}.eps-action-row{display:flex;gap:9px;flex-wrap:wrap}
.eps-client-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:16px}.eps-client-head h2{font-size:25px;margin:4px 0}.eps-client-head p{margin:0;color:var(--eps-muted);font-size:13px}.eps-client-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.eps-mini-kpi{appearance:none;border:1px solid var(--eps-line);background:#fff;border-radius:14px;padding:13px 14px;text-align:left;cursor:pointer;display:flex;align-items:center;justify-content:space-between;box-shadow:0 5px 18px rgba(21,36,30,.025)}.eps-mini-kpi span{font-size:12px;color:var(--eps-muted)}.eps-mini-kpi strong{font-size:20px}.eps-client-panel{padding:0;overflow:hidden}.eps-client-toolbar{padding:13px;border-bottom:1px solid var(--eps-line);display:grid;grid-template-columns:minmax(220px,1.6fr) repeat(4,minmax(120px,.8fr)) auto;gap:8px;align-items:center}.eps-client-toolbar select,.eps-client-toolbar input{width:100%;border:1px solid var(--eps-line);background:#fbfcfb;border-radius:10px;padding:9px 10px;color:var(--eps-text);outline:none}.eps-client-toolbar input:focus,.eps-client-toolbar select:focus{border-color:#aabdb3;box-shadow:0 0 0 3px rgba(41,72,58,.06)}.eps-search{position:relative;display:flex;align-items:center}.eps-search>span{position:absolute;left:11px;color:var(--eps-muted);font-size:16px}.eps-search input{padding-left:31px}.eps-table-wrap{width:100%;overflow:auto}.eps-table{width:100%;border-collapse:collapse;min-width:930px}.eps-table th{font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:#838b87;font-weight:650;text-align:left;background:#fafbfa;padding:11px 14px;border-bottom:1px solid var(--eps-line);white-space:nowrap}.eps-table td{padding:13px 14px;border-bottom:1px solid #edf0ee;font-size:12.5px;vertical-align:middle}.eps-table tbody tr:hover{background:#fbfcfb}.eps-table tbody tr:last-child td{border-bottom:0}.eps-person{display:flex;align-items:center;gap:10px;min-width:180px}.eps-person>div{min-width:0}.eps-person strong,.eps-person small{display:block}.eps-person strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}.eps-person small{font-size:11px;color:var(--eps-muted);margin-top:3px}.eps-avatar{width:33px;height:33px;border-radius:11px;background:var(--eps-accent-2);display:grid;place-items:center;color:var(--eps-accent);font-weight:750;flex:0 0 auto}.eps-coverage strong,.eps-coverage small{display:block}.eps-coverage strong{font-size:12px}.eps-coverage small{font-size:10.5px;color:var(--eps-muted);margin-top:2px}.eps-status{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 8px;background:#f2f5f3;font-size:10.5px;font-weight:700;white-space:nowrap}.eps-status i{width:6px;height:6px;border-radius:50%;background:#68746e}.eps-status-active{background:#ecf5ef;color:#356247}.eps-status-active i{background:#4f8b63}.eps-status-frequent{background:#edf5f2;color:#366c59}.eps-status-frequent i{background:#4b9275}.eps-status-follow_up{background:#fff6e8;color:#866019}.eps-status-follow_up i{background:#d09a39}.eps-status-inactive{background:#f1f2f2;color:#686d6a}.eps-status-inactive i{background:#8c928f}.eps-status-discharged{background:#eef3f7;color:#49677d}.eps-status-discharged i{background:#6d8ca3}.eps-followup{font-size:11.5px;color:#5e6762}.eps-followup.is-due{color:var(--danger,#9b3f45);font-weight:700}.eps-tag-row{display:flex;gap:4px;flex-wrap:wrap;min-width:120px}.eps-tag{display:inline-flex;align-items:center;border-radius:999px;padding:5px 7px;background:#f1f3f2;color:#616a65;font-size:10px;font-weight:700}.eps-tag-emerald{background:#ebf5f0;color:#3a6b53}.eps-tag-amber{background:#fff5e3;color:#8a631e}.eps-tag-blue{background:#edf4f8;color:#456d85}.eps-tag-rose{background:#f9eeee;color:#8a5055}.eps-tag-more{background:#f4f5f5}.eps-row-action{border:1px solid var(--eps-line);background:#fff;border-radius:9px;width:34px;height:30px;cursor:pointer;color:#666f6a}.eps-pagination{padding:11px 13px;border-top:1px solid var(--eps-line);display:flex;justify-content:space-between;align-items:center;color:var(--eps-muted);font-size:11px}.eps-pagination>div{display:flex;gap:7px}.eps-loading,.eps-empty-table{padding:38px;text-align:center;color:var(--eps-muted)}.eps-empty-table strong,.eps-empty-table span{display:block}.eps-empty-table strong{color:var(--eps-text);margin-bottom:4px}.eps-muted-text{color:var(--eps-muted);font-size:11px}
.eps-toast{position:fixed;right:24px;top:24px;z-index:100000;opacity:0;transform:translateY(-8px);pointer-events:none;transition:.2s ease;border-radius:12px;padding:11px 14px;color:#fff;font-size:12px;font-weight:700;box-shadow:0 14px 40px rgba(0,0,0,.13)}.eps-toast.is-show{opacity:1;transform:none}.eps-toast.is-ok{background:#2f5c49}.eps-toast.is-error{background:#8d4147}
.eps-modal{position:fixed;inset:0;z-index:99998;display:none;align-items:center;justify-content:center;padding:24px}.eps-modal.is-open{display:flex}.eps-modal-backdrop{position:absolute;inset:0;background:rgba(14,22,18,.42);backdrop-filter:blur(4px)}.eps-modal-card{position:relative;background:#fff;border:1px solid rgba(255,255,255,.65);border-radius:22px;box-shadow:0 30px 100px rgba(14,22,18,.22);width:min(620px,96vw);max-height:92vh;overflow:auto}.eps-modal-card-lg{width:min(820px,96vw)}.eps-modal-card-xl{width:min(1080px,97vw)}.eps-modal-head{position:sticky;top:0;z-index:3;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:space-between;padding:20px 22px 14px;border-bottom:1px solid var(--eps-line)}.eps-modal-head h2{margin:4px 0 0;font-size:20px}.eps-icon-button{border:1px solid var(--eps-line);width:34px;height:34px;border-radius:10px;background:#fff;cursor:pointer;font-size:20px;line-height:1}.eps-form-grid{display:grid;gap:13px;padding:20px 22px}.eps-form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.eps-span-2{grid-column:1/-1}.eps-field{display:grid;gap:6px;margin:0;border:0;padding:0;min-width:0}.eps-field>span,.eps-field legend{font-size:11px;color:#59625d;font-weight:700}.eps-field input,.eps-field select,.eps-field textarea,.eps-inline-add input{width:100%;border:1px solid var(--eps-line);border-radius:10px;background:#fbfcfb;padding:10px 11px;color:var(--eps-text);outline:none}.eps-field textarea{resize:vertical}.eps-field input:focus,.eps-field select:focus,.eps-field textarea:focus{border-color:#a9bbb1;box-shadow:0 0 0 3px rgba(41,72,58,.055)}.eps-insurance-field.is-hidden{opacity:.45}.eps-insurance-field.is-hidden input{pointer-events:none}.eps-tag-options{display:flex;flex-wrap:wrap;gap:7px;border:1px solid var(--eps-line);border-radius:11px;padding:10px;min-height:44px;background:#fbfcfb}.eps-tag-check input{position:absolute;opacity:0;pointer-events:none}.eps-tag-check .eps-tag{cursor:pointer;border:1px solid transparent}.eps-tag-check input:checked+.eps-tag{border-color:#8ca79a;box-shadow:0 0 0 2px rgba(41,72,58,.08)}.eps-inline-add{display:grid;grid-template-columns:1fr auto;gap:7px;margin-top:7px}.eps-form-actions{position:sticky;bottom:0;z-index:2;background:#fff;border-top:1px solid var(--eps-line);padding:14px 22px;display:grid;grid-template-columns:auto 1fr auto auto;gap:8px;align-items:center}.eps-danger-link{color:var(--eps-danger)}body.eps-modal-open{overflow:hidden}
.eps-import-step{padding:20px 22px}.eps-upload-zone{border:1.5px dashed #cbd8d1;border-radius:18px;background:#fafcfb;min-height:310px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px}.eps-upload-zone h3{margin:10px 0 6px;font-size:19px}.eps-upload-zone p{max-width:570px;color:var(--eps-muted);line-height:1.55;font-size:12.5px}.eps-upload-zone small{margin-top:10px;color:var(--eps-muted);font-size:10.5px}.eps-upload-icon{width:52px;height:52px;border-radius:16px;background:var(--eps-accent-2);display:grid;place-items:center;color:var(--eps-accent);font-size:24px}.eps-upload-zone input[type=file]{margin:18px 0 12px;max-width:390px;border:1px solid var(--eps-line);padding:8px;border-radius:10px;background:#fff}.eps-import-summary{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px;margin-bottom:18px}.eps-import-summary>div,.eps-result-grid>div{border:1px solid var(--eps-line);background:#fbfcfb;border-radius:13px;padding:12px}.eps-import-summary span,.eps-result-grid span{display:block;color:var(--eps-muted);font-size:10.5px}.eps-import-summary strong,.eps-result-grid strong{display:block;margin-top:4px;font-size:16px}.eps-import-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:18px}.eps-section-title{margin:4px 0 10px}.eps-section-title h3{font-size:14px;margin:0 0 3px}.eps-section-title p{font-size:11.5px;color:var(--eps-muted);margin:0}.eps-mapping-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.eps-map-field{display:grid;gap:4px}.eps-map-field span{font-size:10px;color:#606964;font-weight:700}.eps-map-field select,.eps-color-row select{width:100%;border:1px solid var(--eps-line);border-radius:9px;background:#fff;padding:8px;font-size:11px}.eps-color-map{display:grid;gap:7px}.eps-color-row{display:grid;grid-template-columns:22px auto 1fr minmax(120px,1.8fr);gap:7px;align-items:center;border:1px solid var(--eps-line);border-radius:10px;padding:7px;background:#fbfcfb}.eps-color-swatch{width:18px;height:18px;border-radius:6px;border:1px solid rgba(0,0,0,.1);background:#e8ebe9}.eps-color-row code{font-size:9px;background:transparent;padding:0}.eps-color-row small{font-size:9.5px;color:var(--eps-muted)}.eps-preview-wrap{border:1px solid var(--eps-line);border-radius:12px;margin-bottom:12px}.eps-table-compact{min-width:720px}.eps-table-compact th,.eps-table-compact td{padding:9px 10px}.eps-import-duplicate{font-size:10px;color:#8b4b50;font-weight:700}.eps-import-ready{font-size:10px;color:#3b7157;font-weight:700}.eps-check-row{display:flex;gap:8px;align-items:center;font-size:11.5px;color:#5c655f;margin:12px 0}.eps-import-success{text-align:center;padding:36px 24px}.eps-success-mark{width:54px;height:54px;border-radius:18px;margin:0 auto 13px;background:#eaf5ef;color:#397058;display:grid;place-items:center;font-size:25px;font-weight:800}.eps-import-success h3{font-size:20px;margin:0 0 7px}.eps-import-success p{color:var(--eps-muted);margin:0 0 18px}.eps-result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;max-width:580px;margin:0 auto 18px;text-align:left}.eps-import-errors{max-width:580px;margin:0 auto 18px;text-align:left;border:1px solid #f0dfdf;background:#fdf8f8;border-radius:12px;padding:11px}.eps-import-errors strong,.eps-import-errors span{display:block}.eps-import-errors span{font-size:10.5px;color:#76575a;margin-top:4px}
.eps-login-wrap{min-height:70vh;display:grid;place-items:center;background:#f5f7f6}.eps-login-card{width:min(420px,92%);background:#fff;border:1px solid var(--eps-line);padding:27px;border-radius:21px;box-shadow:0 20px 70px rgba(17,24,39,.08)}.eps-login-card .eps-brand{font-weight:750;margin-bottom:18px}.eps-login-card input[type=text],.eps-login-card input[type=password]{width:100%;border:1px solid var(--eps-line);border-radius:10px;padding:11px}.eps-login-card input[type=submit]{background:var(--eps-accent);color:#fff;border:0;border-radius:10px;padding:11px 16px}.eps-login-card label{font-size:13px;color:var(--eps-muted)}
@media(max-width:1180px){.eps-client-toolbar{grid-template-columns:1.5fr repeat(2,minmax(120px,1fr));}.eps-client-toolbar>*:nth-child(n+4){grid-row:2}.eps-grid-4{grid-template-columns:repeat(2,1fr)}.eps-sidebar{width:220px}.eps-import-grid{grid-template-columns:1fr}.eps-color-map{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.eps-app{display:block;border-radius:0;border-left:0;border-right:0}.eps-sidebar{width:auto;border-right:0;border-bottom:1px solid var(--eps-line);padding:13px}.eps-brand-block{padding:0 4px}.eps-nav{flex-direction:row;overflow:auto;padding-bottom:2px}.eps-nav-item{white-space:nowrap;padding:9px 10px}.eps-user-box{display:none}.eps-main{padding:18px}.eps-grid-4,.eps-grid-2{grid-template-columns:1fr}.eps-topbar{align-items:flex-start}.eps-topbar h1{font-size:22px}.eps-layer-badge{display:none}.eps-client-head{align-items:flex-start;flex-direction:column}.eps-client-kpis{grid-template-columns:repeat(2,1fr)}.eps-client-toolbar{grid-template-columns:1fr 1fr}.eps-client-toolbar .eps-search{grid-column:1/-1}.eps-client-toolbar>*:nth-child(n){grid-row:auto}.eps-form-grid-2{grid-template-columns:1fr}.eps-span-2{grid-column:auto}.eps-import-summary{grid-template-columns:1fr 1fr}.eps-import-summary>div:first-child{grid-column:1/-1}.eps-mapping-grid{grid-template-columns:1fr}.eps-color-map{grid-template-columns:1fr}.eps-modal{padding:8px}.eps-modal-card{max-height:96vh;border-radius:17px}.eps-form-actions{grid-template-columns:1fr 1fr}.eps-form-actions>span{display:none}.eps-form-actions .eps-danger-link{grid-column:1/-1;order:3}.eps-import-step{padding:15px}.eps-modal-head{padding:16px}.eps-result-grid{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:520px){.eps-main{padding:14px}.eps-top-actions .eps-version{display:none}.eps-client-kpis{grid-template-columns:1fr 1fr}.eps-client-toolbar{grid-template-columns:1fr}.eps-client-toolbar .eps-search{grid-column:auto}.eps-action-row{width:100%}.eps-action-row .eps-button{flex:1}.eps-upload-zone{padding:24px 14px;min-height:300px}.eps-upload-zone input[type=file]{width:100%}.eps-import-summary{grid-template-columns:1fr}.eps-import-summary>div:first-child{grid-column:auto}.eps-result-grid{grid-template-columns:1fr}.eps-form-actions{grid-template-columns:1fr}.eps-form-actions .eps-button{width:100%}}

/* =========================================================
   0.5.3 · SaaS shell / full-screen access / responsive app
   ========================================================= */
html.eps-platform-html,body.eps-platform-body{overflow:hidden!important}
body.eps-platform-body{margin:0!important}
.eps-app{
  position:fixed;inset:0;z-index:2147482000;width:100vw;height:100dvh;min-height:0;
  border:0;border-radius:0;overflow:hidden;background:#f4f7f5
}
.eps-sidebar{height:100dvh;overflow:hidden;padding:20px 14px 14px;transition:width .2s ease,padding .2s ease;box-shadow:1px 0 0 var(--eps-line)}
.eps-nav{overflow-y:auto;overflow-x:hidden;scrollbar-width:none}.eps-nav::-webkit-scrollbar{display:none}
.eps-nav-item{min-height:42px}.eps-nav-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.eps-main{height:100dvh;min-height:0;overflow-y:auto;overflow-x:hidden;padding:24px 30px 40px;scrollbar-gutter:stable}
.eps-topbar{position:sticky;top:-1px;z-index:40;max-width:1560px;margin:0 auto 20px;padding:8px 0 14px;background:linear-gradient(to bottom,#f4f7f5 72%,rgba(244,247,245,.86) 88%,rgba(244,247,245,0));backdrop-filter:blur(9px)}
.eps-topbar-left{display:flex;align-items:center;gap:12px}.eps-topbar-left>div{min-width:0}
.eps-sidebar-toggle{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--eps-line);border-radius:12px;background:#fff;color:#53605a;cursor:pointer;font-size:16px;box-shadow:0 5px 15px rgba(31,47,39,.035)}
.eps-view{max-width:1560px;margin:0 auto;padding-bottom:10px}
.eps-card,.eps-panel{box-shadow:0 10px 32px rgba(27,43,36,.045)}
.eps-stat-card{display:flex;align-items:center;gap:14px;min-height:126px}.eps-stat-card>div:last-child{min-width:0;flex:1}
.eps-stat-icon{width:42px;height:42px;border-radius:14px;background:var(--eps-accent-2);color:var(--eps-accent);display:grid;place-items:center;font-size:17px;font-weight:800;flex:0 0 auto}
.eps-stat-card strong{font-size:27px;margin:8px 0 6px}
.eps-mobile-nav,.eps-mobile-more{display:none}

/* Compact desktop sidebar without losing any module. */
.eps-app.is-sidebar-collapsed .eps-sidebar{width:76px;padding-left:10px;padding-right:10px}
.eps-app.is-sidebar-collapsed .eps-brand-block{justify-content:center;padding-left:0;padding-right:0}
.eps-app.is-sidebar-collapsed .eps-brand-block>div:last-child,.eps-app.is-sidebar-collapsed .eps-nav-label,.eps-app.is-sidebar-collapsed .eps-user-box{display:none}
.eps-app.is-sidebar-collapsed .eps-nav-item{justify-content:center;padding-left:8px;padding-right:8px}
.eps-app.is-sidebar-collapsed .eps-nav-icon{width:auto;font-size:16px}

/* Full-screen access: overlays the WordPress theme safely instead of replacing templates. */
.eps-login-wrap{position:fixed;inset:0;z-index:2147482000;width:100vw;height:100dvh;min-height:0;display:grid;place-items:center;padding:24px;background:#eef3f0;color:#151918;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow:auto}
.eps-login-stage{width:min(1180px,100%);min-height:min(720px,calc(100dvh - 48px));display:grid;grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);background:#fff;border:1px solid #dfe7e2;border-radius:30px;overflow:hidden;box-shadow:0 32px 100px rgba(27,43,36,.13)}
.eps-login-visual{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:42px 46px;background:radial-gradient(circle at 82% 12%,rgba(255,255,255,.14),transparent 30%),linear-gradient(145deg,#18352a,#315746 58%,#456a59);color:#fff;overflow:hidden}
.eps-login-visual:after{content:"";position:absolute;width:360px;height:360px;border:1px solid rgba(255,255,255,.09);border-radius:50%;right:-180px;bottom:-145px;box-shadow:0 0 0 52px rgba(255,255,255,.025),0 0 0 106px rgba(255,255,255,.018)}
.eps-login-brand,.eps-login-mobile-brand{display:flex;align-items:center;gap:12px;position:relative;z-index:1}.eps-login-brand strong,.eps-login-brand small,.eps-login-mobile-brand strong,.eps-login-mobile-brand small{display:block}.eps-login-brand strong,.eps-login-mobile-brand strong{font-size:14px}.eps-login-brand small,.eps-login-mobile-brand small{font-size:11px;opacity:.72;margin-top:2px}
.eps-login-logo{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#fff;color:#29483a;font-weight:850;font-size:18px;box-shadow:0 12px 28px rgba(0,0,0,.12);flex:0 0 auto}
.eps-login-copy{position:relative;z-index:1;max-width:610px}.eps-login-kicker{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:750;opacity:.76}.eps-login-copy h1{font-size:clamp(34px,4vw,56px);line-height:1.01;letter-spacing:-.035em;margin:14px 0 18px;max-width:600px}.eps-login-copy p{font-size:15px;line-height:1.7;margin:0;max-width:570px;color:rgba(255,255,255,.76)}
.eps-login-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:28px;max-width:520px}.eps-login-feature-grid span{display:flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.07);border-radius:14px;padding:12px 14px;font-size:12px;backdrop-filter:blur(7px)}.eps-login-feature-grid b{font-size:9px;opacity:.55;letter-spacing:.08em}
.eps-login-privacy{position:relative;z-index:1;display:flex;align-items:center;gap:10px;font-size:12px}.eps-login-privacy>span{font-size:11px;color:#b8e0c8}.eps-login-privacy strong,.eps-login-privacy small{display:block}.eps-login-privacy small{font-size:10.5px;color:rgba(255,255,255,.6);margin-top:2px}
.eps-login-form-panel{display:grid;place-items:center;padding:44px;background:#fbfcfb}.eps-login-card{width:min(390px,100%);padding:0;border:0;border-radius:0;box-shadow:none;background:transparent}.eps-login-mobile-brand{display:none;margin-bottom:36px}.eps-login-card>.eps-login-kicker{color:#6d7872;opacity:1}.eps-login-card h2{font-size:30px;line-height:1.08;letter-spacing:-.025em;margin:9px 0 9px}.eps-login-intro{color:#747d79;font-size:13px;line-height:1.55;margin:0 0 28px}
.eps-login-card #loginform{display:grid;gap:15px}.eps-login-card #loginform p{margin:0}.eps-login-card #loginform label{display:grid;gap:7px;font-size:11px;font-weight:700;color:#59635e}.eps-login-card #loginform input[type=text],.eps-login-card #loginform input[type=password]{width:100%;height:46px;border:1px solid #dce4df;border-radius:12px;padding:0 13px;background:#fff;color:#151918;outline:none;box-shadow:none}.eps-login-card #loginform input[type=text]:focus,.eps-login-card #loginform input[type=password]:focus{border-color:#90aa9d;box-shadow:0 0 0 4px rgba(41,72,58,.06)}
.eps-login-card .login-remember label{display:flex!important;align-items:center!important;grid-template-columns:auto 1fr;gap:8px!important;font-weight:600!important;color:#707a75!important}.eps-login-card .login-remember input{margin:0}.eps-login-card .login-submit{padding-top:2px}.eps-login-card #wp-submit{width:100%;height:47px;border:0;border-radius:12px;background:#29483a;color:#fff;font-weight:750;font-size:13px;cursor:pointer;box-shadow:0 11px 24px rgba(41,72,58,.17);transition:.18s ease}.eps-login-card #wp-submit:hover{transform:translateY(-1px);background:#223e32}.eps-login-help{margin-top:22px;border-top:1px solid #e5ebe7;padding-top:18px;text-align:center;color:#8a928e;font-size:10.5px;line-height:1.5}
.eps-login-stage-session{display:grid;grid-template-columns:1fr;min-height:480px}.eps-login-session{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px;max-width:520px;margin:auto}.eps-login-session .eps-login-logo{background:#29483a;color:#fff;margin-bottom:18px}.eps-login-session .eps-login-kicker{color:#75807a}.eps-login-session h1{font-size:34px;margin:10px 0 8px}.eps-login-session p{color:#737c78;line-height:1.55;margin:0 0 24px}.eps-login-primary-link,.eps-login-secondary-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:12px;font-size:13px;font-weight:750}.eps-login-primary-link{min-width:200px;padding:13px 18px;background:#29483a;color:#fff}.eps-login-secondary-link{margin-top:9px;padding:9px 14px;color:#6b756f}

@media(max-width:1180px){
  .eps-main{padding-left:22px;padding-right:22px}
  .eps-login-stage{grid-template-columns:1fr minmax(390px,.88fr)}.eps-login-visual{padding:36px}.eps-login-copy h1{font-size:42px}
}
@media(max-width:820px){
  .eps-app{display:block;width:100vw;height:100dvh}
  .eps-sidebar{display:none}
  .eps-main{height:100dvh;padding:12px 14px calc(94px + env(safe-area-inset-bottom));overflow-y:auto;-webkit-overflow-scrolling:touch}
  .eps-topbar{top:0;margin-bottom:10px;padding:8px 0 12px;background:rgba(244,247,245,.92);backdrop-filter:blur(14px)}
  .eps-sidebar-toggle{display:none}.eps-topbar h1{font-size:21px;margin-top:3px}.eps-topbar .eps-eyebrow{font-size:9.5px}.eps-top-actions{gap:5px}.eps-top-actions .eps-version{display:none}.eps-layer-badge{display:inline-flex;padding:6px 9px;font-size:9.5px}
  .eps-view{padding-bottom:4px}.eps-grid{gap:10px;margin-bottom:10px}.eps-card,.eps-panel{border-radius:16px;padding:14px}.eps-stat-card{min-height:92px;gap:11px}.eps-stat-icon{width:36px;height:36px;border-radius:12px;font-size:14px}.eps-stat-card strong{font-size:22px;margin:5px 0 3px}.eps-card span{font-size:11.5px}.eps-card small{font-size:9.5px}
  .eps-mobile-nav{position:fixed;left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));z-index:2147482500;height:66px;display:grid;grid-template-columns:repeat(5,1fr);align-items:stretch;padding:6px;border:1px solid rgba(213,224,218,.9);border-radius:21px;background:rgba(255,255,255,.94);backdrop-filter:blur(18px);box-shadow:0 18px 45px rgba(26,43,34,.16)}
  .eps-mobile-nav-item{border:0;background:transparent;border-radius:15px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#78817c;cursor:pointer;min-width:0}.eps-mobile-nav-item>span{font-size:16px;line-height:1;height:18px}.eps-mobile-nav-item small{font-size:8.5px;font-weight:700;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.eps-mobile-nav-item.is-active{background:#eaf1ed;color:#29483a}
  .eps-mobile-more{display:block;position:fixed;inset:0;z-index:2147482600;pointer-events:none;visibility:hidden}.eps-mobile-more.is-open{pointer-events:auto;visibility:visible}.eps-mobile-more-backdrop{position:absolute;inset:0;border:0;background:rgba(15,24,20,.42);opacity:0;transition:.2s;backdrop-filter:blur(2px)}.eps-mobile-more.is-open .eps-mobile-more-backdrop{opacity:1}.eps-mobile-more-sheet{position:absolute;left:0;right:0;bottom:0;background:#fff;border-radius:26px 26px 0 0;padding:8px 16px calc(20px + env(safe-area-inset-bottom));transform:translateY(105%);transition:.24s ease;box-shadow:0 -24px 70px rgba(19,31,25,.18)}.eps-mobile-more.is-open .eps-mobile-more-sheet{transform:none}.eps-mobile-more-handle{width:42px;height:4px;border-radius:99px;background:#d9e0dc;margin:2px auto 14px}.eps-mobile-more-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.eps-mobile-more-head h3{font-size:18px;margin:3px 0 0}.eps-mobile-more-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.eps-mobile-more-item{border:1px solid #e4e9e6;background:#fafcfb;border-radius:16px;padding:14px;display:flex;align-items:center;gap:11px;text-align:left;color:#28312d;cursor:pointer}.eps-mobile-more-item>span{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:#eaf1ed;color:#29483a}.eps-mobile-more-item strong{font-size:11.5px}.eps-mobile-account{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding:14px 2px 0;border-top:1px solid #e8ece9}.eps-mobile-account small,.eps-mobile-account strong{display:block}.eps-mobile-account small{font-size:9px;color:#7b847f}.eps-mobile-account strong{font-size:11.5px;margin-top:2px}.eps-mobile-account a{font-size:10.5px;color:#7a4d50;text-decoration:none;font-weight:700}
  .eps-modal{align-items:flex-end;padding:0}.eps-modal-card,.eps-modal-card-lg,.eps-modal-card-xl{width:100%;max-width:none;max-height:94dvh;border-radius:22px 22px 0 0;border-bottom:0}.eps-modal-head{padding:15px 16px 12px}.eps-form-grid{padding:15px 16px}.eps-form-actions{padding:12px 16px calc(12px + env(safe-area-inset-bottom))}
  .eps-login-wrap{padding:0;background:#fbfcfb}.eps-login-stage{width:100%;min-height:100dvh;border:0;border-radius:0;grid-template-columns:1fr;box-shadow:none}.eps-login-visual{display:none}.eps-login-form-panel{min-height:100dvh;padding:28px 22px;align-items:center}.eps-login-card{width:min(410px,100%)}.eps-login-mobile-brand{display:flex}.eps-login-card h2{font-size:29px}.eps-login-help{margin-top:20px}.eps-login-stage-session{min-height:100dvh}
}
@media(max-width:520px){
  .eps-main{padding-left:11px;padding-right:11px}.eps-topbar{padding-top:6px}.eps-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.eps-grid-2{grid-template-columns:1fr}.eps-stat-card{display:block;min-height:116px}.eps-stat-icon{margin-bottom:10px}.eps-stat-card strong{font-size:21px}.eps-panel-head{align-items:flex-start}.eps-panel-head .eps-button{padding:8px 9px;font-size:10px}.eps-chip-row{gap:6px}.eps-chip-row span{font-size:10px;padding:7px 9px}.eps-mobile-nav{left:7px;right:7px;bottom:max(7px,env(safe-area-inset-bottom));height:64px;border-radius:19px}.eps-login-form-panel{padding-left:18px;padding-right:18px}.eps-login-mobile-brand{margin-bottom:32px}
}

/* 0.15 — Quick navigation within the existing, protected SaaS shell. */
.eps-quick-nav-button{height:35px;min-width:136px;display:inline-flex;align-items:center;gap:8px;padding:0 10px;color:#596d63;background:#fff;border:1px solid #dce6df;border-radius:11px;cursor:pointer;font:inherit;font-size:12px;font-weight:650;white-space:nowrap}
.eps-quick-nav-button:hover,.eps-quick-nav-button:focus-visible{border-color:#8da89a;color:#29483a;outline:2px solid transparent;box-shadow:0 0 0 3px rgba(41,72,58,.09)}
.eps-quick-nav-button kbd,.eps-command-search kbd{margin-left:auto;padding:3px 5px;border-radius:6px;border:1px solid #e2e7e3;background:#f7faf8;font:600 10px/1.2 ui-monospace,SFMono-Regular,monospace;color:#7c8780}
.eps-command-backdrop[hidden]{display:none!important}
.eps-command-backdrop{position:fixed;inset:0;z-index:2147483000;background:rgba(12,25,18,.43);display:flex;align-items:flex-start;justify-content:center;padding:clamp(48px,12vh,140px) 14px 15px;backdrop-filter:blur(3px)}
.eps-command-box{width:min(520px,100%);max-height:min(70dvh,640px);display:flex;flex-direction:column;background:#fff;border:1px solid #dce8df;border-radius:19px;box-shadow:0 24px 80px rgba(16,30,22,.24);overflow:hidden}
.eps-command-search{display:flex;gap:12px;align-items:center;padding:16px;border-bottom:1px solid #edf1ee;color:#547263}
.eps-command-search input{flex:1;min-width:0;border:0!important;background:transparent!important;outline:none!important;box-shadow:none!important;color:#203729;font-size:14px;padding:3px}
.eps-command-results{overflow:auto;min-height:60px;padding:8px;overscroll-behavior:contain}
.eps-command-item{width:100%;display:flex;gap:12px;align-items:center;padding:11px 12px;border-radius:11px;border:0;background:transparent;color:#314238;text-align:left;cursor:pointer}
.eps-command-item.is-selected,.eps-command-item:hover,.eps-command-item:focus-visible{background:#eaf2ed;outline:0}
.eps-command-icon{width:33px;height:33px;border-radius:10px;display:grid;place-items:center;background:#f1f6f2;color:#37644a}
.eps-command-item strong{font-size:13px;font-weight:650}
.eps-command-hint{border-top:1px solid #edf1ee;margin:0;padding:11px 17px;color:#8a968e;font-size:10px}
.eps-command-empty{color:#7a8780;text-align:center;font-size:13px;padding:20px}
@media(max-width:820px){.eps-quick-nav-button{min-width:35px;width:36px;height:36px;padding:0;justify-content:center;font-size:18px}.eps-quick-nav-button>span,.eps-quick-nav-button>kbd{display:none}.eps-command-backdrop{padding:8vh 12px 16px}.eps-command-box{max-height:75dvh}}
@media(prefers-reduced-motion:reduce){.eps-app *{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* 0.15.1: opt-in public showroom, visible on desktop and mobile */
.eps-demo-entry{margin-top:19px;border-top:1px solid #e5ebe7;padding-top:17px;text-align:center}
.eps-demo-entry-label{display:block;font-size:11px;font-weight:650;color:#67776e;margin-bottom:10px}
.eps-demo-entry-form{margin:0!important}
.eps-demo-entry-button{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:48px;padding:11px 15px;border:1px solid #315a44;background:#e9f3ec;border-radius:13px;color:#1d4b33;font-family:inherit;font-weight:750;font-size:13px;line-height:1.2;cursor:pointer;transition:background .2s ease,transform .2s ease}
.eps-demo-entry-button:hover,.eps-demo-entry-button:focus-visible{background:#d8ebdf;transform:translateY(-1px)}
.eps-demo-entry-note{display:block;margin-top:9px;color:#7b8980;font-size:10.5px;line-height:1.55}
.eps-public-demo-ribbon{position:relative;z-index:12;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px 18px;min-height:42px;padding:9px 16px;background:#1c4835;color:#fff;font-size:11px;text-align:center}
.eps-public-demo-ribbon strong{font-size:10px;letter-spacing:.07em}
.eps-public-demo-links{display:inline-flex;align-items:center;gap:14px}
.eps-public-demo-links a{color:#e5ffed;text-decoration:underline;text-underline-offset:3px;font-weight:700}
@media(max-width:600px){.eps-public-demo-ribbon{font-size:10px;padding:7px 12px}.eps-public-demo-links{gap:12px}.eps-demo-entry-button{min-height:50px}}

/* Public demo ribbon does not participate in the application's flex layout. */
.eps-app>.eps-public-demo-ribbon{position:absolute;top:0;left:0;right:0;transform:none;width:100%;box-sizing:border-box}
.eps-app:has(>.eps-public-demo-ribbon)>.eps-sidebar{padding-top:69px}
.eps-app:has(>.eps-public-demo-ribbon)>.eps-main{padding-top:75px}
@media(max-width:820px){.eps-app:has(>.eps-public-demo-ribbon)>.eps-main{padding-top:79px}}
@media(max-width:600px){.eps-app:has(>.eps-public-demo-ribbon)>.eps-main{padding-top:87px}}

/* Eco Psychology signout — portal-only, never WordPress global logout */
.eps-logout-form{display:inline;margin:0;padding:0}
.eps-logout-form button{background:none;border:0;padding:0;color:inherit;font:inherit;text-align:left;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.eps-logout-form button:hover{opacity:.75}
.eps-logout-form button:focus-visible{outline:2px solid #7cae92;outline-offset:3px;border-radius:2px}
