.shpse{max-width:850px;margin:24px auto;padding:0 12px;color:#172b38}.shpse-card{background:#fff;border:1px solid #dce6eb;border-radius:16px;padding:clamp(20px,4vw,36px);box-shadow:0 10px 30px rgba(12,48,66,.07)}.shpse-eyebrow{font-size:12px;letter-spacing:.12em;font-weight:700;color:#1684b8}.shpse h2{color:#123b52;margin:8px 0}.shpse-card p{line-height:1.6;color:#53636d}.shpse-warning{background:#fff8e8;border-left:4px solid #d99a28;border-radius:5px;padding:12px 14px;margin:18px 0;line-height:1.55}.shpse label{display:block;font-weight:600;margin:15px 0}.shpse input:not([type=checkbox]),.shpse select,.shpse textarea{box-sizing:border-box;display:block;width:100%;max-width:100%;margin-top:6px;padding:11px 12px;border:1px solid #c9d7de;border-radius:8px;background:#fff;font:inherit;min-height:44px}.shpse-consent{display:flex!important;gap:9px;align-items:flex-start;font-weight:400!important;line-height:1.5}.shpse button{background:#1684b8;color:#fff;border:0;border-radius:8px;padding:12px 24px;font:inherit;font-weight:700;cursor:pointer}.shpse-notice{background:#effaf2;border:1px solid #9fd5ad;border-radius:8px;padding:14px;margin:12px 0}.shpse-admin .shpse-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin:22px 0}.shpse-stat,.shpse-panel{background:#fff;border:1px solid #dbe4e9;border-radius:10px;padding:18px}.shpse-stat span{display:block;color:#657680}.shpse-stat strong{font-size:27px;display:block;margin-top:8px;color:#123b52}.shpse-panel{margin:20px 0}.shpse-panel form{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.shpse-panel input,.shpse-panel select,.shpse-panel textarea{max-width:280px}.shpse-inline{display:flex;gap:5px;align-items:center}@media(max-width:600px){.shpse-card{padding:18px}.shpse button{width:100%}.shpse-inline{flex-wrap:wrap}}
/* v2.2.2 restored responsive clinic dashboard shell */
.shpse-portal{max-width:1440px!important;margin:24px auto!important}.shpse-shell{display:grid;grid-template-columns:235px minmax(0,1fr);gap:20px;align-items:stretch}.shpse-sidebar{background:#102f68;color:#fff;border-radius:14px;padding:22px 14px;min-height:620px;display:flex;flex-direction:column}.shpse-brand{padding:8px 12px 24px;border-bottom:1px solid rgba(255,255,255,.18);display:flex;flex-direction:column;gap:4px}.shpse-brand strong{font-size:22px;color:#fff}.shpse-brand span,.shpse-sidebar nav a,.shpse-side-logout{color:#e5edff;font-size:14px}.shpse-sidebar nav{display:grid;gap:6px;padding-top:18px}.shpse-sidebar nav a,.shpse-side-logout{display:block;padding:11px 12px;border-radius:8px;text-decoration:none}.shpse-sidebar nav a:hover,.shpse-sidebar nav a.active{background:rgba(255,255,255,.15);color:#fff}.shpse-side-logout{margin-top:auto;border-top:1px solid rgba(255,255,255,.18);border-radius:0}.shpse-main{min-width:0;background:#f6f8fc;border:1px solid #e4eaf2;border-radius:14px;padding:clamp(16px,3vw,30px)}.shpse-topbar,.shpse-welcome,.shpse-module-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.shpse-topbar{padding-bottom:16px;border-bottom:1px solid #e3e9f1}.shpse-topbar small{color:#60738b;letter-spacing:.1em;font-weight:700}.shpse-topbar h2,.shpse-welcome h2{margin:5px 0;color:#173765}.shpse-user,.shpse-clinic-code{background:#e9f0ff;border-radius:20px;padding:8px 12px;color:#173765;font-size:13px}.shpse-welcome{padding:22px 0}.shpse-dashboard-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.shpse-dash-stat{background:#fff;border:1px solid #e2e9f2;border-radius:11px;padding:16px}.shpse-dash-stat span{display:block;color:#63748a;font-size:13px}.shpse-dash-stat strong{display:block;color:#173765;font-size:28px;margin-top:6px}.shpse-module-heading{margin:26px 0 14px}.shpse-module-heading h3{margin:0;color:#173765}.shpse-module-search{max-width:260px!important;padding:9px 12px;border:1px solid #d4deeb;border-radius:8px;background:#fff}.shpse-module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.shpse-module{background:#fff;border:1px solid #e0e7f0;border-radius:11px;padding:16px;min-width:0}.shpse-module[hidden]{display:none}.shpse-module-icon{font-size:22px;color:#1676bb}.shpse-module h4{font-size:15px;color:#173765;margin:10px 0 5px}.shpse-module p{font-size:13px;margin:0 0 12px;color:#66758a}.shpse-module-status{display:inline-block;font-size:11px;background:#f0f3f8;border-radius:15px;padding:5px 9px;color:#53657d}@media(max-width:950px){.shpse-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shpse-dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.shpse-shell{grid-template-columns:1fr}.shpse-sidebar{min-height:0;padding:12px}.shpse-brand{padding:5px 8px 12px}.shpse-sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr));padding-top:10px}.shpse-side-logout{margin-top:8px}.shpse-module-grid{grid-template-columns:1fr}.shpse-topbar,.shpse-welcome,.shpse-module-heading{align-items:flex-start;flex-direction:column}.shpse-module-search{max-width:100%!important;width:100%}}

/* v2.2.3 unified clinic dashboard shell */
.shpse-appbar{background:#173765;color:#fff;border-radius:14px 14px 0 0;padding:20px 26px;display:flex;align-items:center;justify-content:space-between;gap:12px}.shpse-appbar strong{font-size:21px;color:#fff}.shpse-appbar span{color:#eef3ff}.shpse-shell{border:1px solid #dfe5ec;border-radius:0 0 14px 14px;overflow:hidden}.shpse-sidebar nav a{font-size:15px}.shpse-user{display:flex;flex-direction:column;gap:3px;border-radius:9px}.shpse-user span{font-size:12px;color:#526b8d}.shpse-notification{font-size:12px;color:#526b8d;background:#fff;border:1px solid #d4deeb;border-radius:8px;padding:8px 10px;white-space:nowrap}.shpse-module{scroll-margin-top:18px}.shpse-sidebar nav a:focus-visible,.shpse-module-search:focus-visible{outline:3px solid #e3a900;outline-offset:2px}@media(max-width:650px){.shpse-appbar{border-radius:12px 12px 0 0;padding:15px;align-items:flex-start;flex-direction:column}.shpse-shell{border-radius:0 0 12px 12px}.shpse-sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}.shpse-module-heading{flex-wrap:wrap}.shpse-notification{align-self:flex-start}}

/* v2.2.5: break out of narrow theme/Elementor content columns while staying viewport-safe */
.shpse.shpse-portal{width:calc(100vw - 48px)!important;max-width:1440px!important;position:relative;left:50%;transform:translateX(-50%);box-sizing:border-box;margin:24px 0!important}
.shpse-portal *, .shpse-portal *:before, .shpse-portal *:after{box-sizing:border-box}
.shpse-portal .shpse-shell{width:100%;min-width:0}
.shpse-portal .shpse-main{min-width:0;overflow-wrap:anywhere}
.shpse-portal .shpse-module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1050px){.shpse-portal .shpse-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.shpse.shpse-portal{width:calc(100vw - 20px)!important;margin:12px 0!important}.shpse-portal .shpse-shell{grid-template-columns:minmax(0,1fr)}.shpse-portal .shpse-sidebar{width:100%;min-width:0}.shpse-portal .shpse-main{padding:14px}.shpse-portal .shpse-dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.shpse-portal .shpse-module-grid{grid-template-columns:minmax(0,1fr)}}

/* v2.2.6: escape constrained Elementor/theme columns and make module tiles usable links */
.shpse.shpse-portal{display:block!important;position:relative!important;left:auto!important;right:auto!important;transform:none!important;width:calc(100vw - 32px)!important;max-width:none!important;margin-left:calc(50% - 50vw + 16px)!important;margin-right:0!important;padding:0!important;overflow:visible!important}
.shpse-portal .shpse-appbar,.shpse-portal .shpse-shell{width:100%!important;max-width:none!important}
.shpse-portal .shpse-shell{grid-template-columns:245px minmax(0,1fr)!important}
.shpse-portal .shpse-module{display:block;color:inherit;text-decoration:none;cursor:pointer;transition:box-shadow .15s ease,border-color .15s ease}
.shpse-portal .shpse-module:hover,.shpse-portal .shpse-module:focus-visible{border-color:#1676bb;box-shadow:0 5px 18px rgba(23,55,101,.12);outline:0}
.shpse-portal .shpse-module:focus-visible{outline:3px solid #e3a900;outline-offset:2px}
.shpse-portal .shpse-sidebar nav a{min-height:42px;display:flex;align-items:center}
@media(max-width:650px){.shpse.shpse-portal{width:calc(100vw - 20px)!important;margin-left:calc(50% - 50vw + 10px)!important}.shpse-portal .shpse-shell{grid-template-columns:minmax(0,1fr)!important}.shpse-portal .shpse-sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* v2.2.7 functional portal module presentation */
.shpse-portal .shpse-module-view{margin:22px 0;padding:22px;background:#fff;border:1px solid #dce5f0;border-radius:12px;min-width:0;box-shadow:0 3px 14px rgba(16,45,87,.04)}
.shpse-portal .shpse-module-view h2{margin:0 0 18px;color:#173968;font-size:1.35rem}
.shpse-portal .shpse-module-view h3{margin:18px 0 12px;color:#173968}
.shpse-portal .shpse-module-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 20px}
.shpse-portal .shpse-module-form label{display:flex;flex-direction:column;gap:6px;font-weight:600;color:#263c58}
.shpse-portal .shpse-module-form input,.shpse-portal .shpse-module-form select,.shpse-portal .shpse-module-form textarea{width:100%;max-width:100%;min-height:40px;padding:9px 11px;border:1px solid #cbd7e5;border-radius:7px;background:#fff;color:#172b45}
.shpse-portal .shpse-module-form textarea{min-height:90px}
.shpse-portal .shpse-module-form button{align-self:end;width:max-content;border:0;border-radius:7px;background:#102f66;color:#fff;font-weight:600;padding:11px 18px;cursor:pointer}
.shpse-portal .shpse-table-wrap{width:100%;overflow:auto;margin:12px 0 18px}
.shpse-portal .shpse-table-wrap table{width:100%;border-collapse:collapse;min-width:640px;background:#fff}
.shpse-portal .shpse-table-wrap th,.shpse-portal .shpse-table-wrap td{padding:10px 12px;border-bottom:1px solid #e3eaf2;text-align:left;vertical-align:top}
.shpse-portal .shpse-table-wrap th{background:#f3f7fc;color:#233e66;font-weight:700}
.shpse-portal .shpse-module-view .shpse-warning{padding:12px;background:#fff8e6;border-left:3px solid #d6a01d;border-radius:4px}
@media(max-width:760px){.shpse-portal .shpse-module-form{grid-template-columns:minmax(0,1fr)}.shpse-portal .shpse-module-view{padding:14px}}

/* Dedicated module pages: retain the shell/sidebar but show one selected workspace. */
.shpse-portal.shpse-module-page .shpse-topbar,
.shpse-portal.shpse-module-page .shpse-welcome,
.shpse-portal.shpse-module-page > .shpse-shell .shpse-main > .shpse-dashboard-stats,
.shpse-portal.shpse-module-page .shpse-module-heading,
.shpse-portal.shpse-module-page .shpse-module-grid{display:none!important}
.shpse-portal .shpse-page-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;border-bottom:1px solid #e3e9f1;padding-bottom:14px;margin-bottom:18px}
.shpse-portal .shpse-page-heading h2{margin:0;color:#173968}
.shpse-portal .shpse-page-subtitle{margin:5px 0 0;color:#65758a;font-size:13px}
.shpse-portal .shpse-page-actions,.shpse-portal .shpse-form-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.shpse-portal .shpse-button,.shpse-portal .shpse-form-actions button,.shpse-portal .shpse-list-search button{display:inline-flex;align-items:center;justify-content:center;background:#173765;color:#fff;border:1px solid #173765;border-radius:7px;padding:10px 14px;text-decoration:none;font-weight:600;cursor:pointer}
.shpse-portal .shpse-button-secondary,.shpse-portal .shpse-form-actions a{background:#fff;color:#173765;border-color:#cbd6e5}
.shpse-portal .shpse-list-search{display:flex;gap:8px;max-width:650px;margin:0 0 16px;align-items:center}
.shpse-portal .shpse-list-search input{flex:1;min-width:0;padding:10px 12px;border:1px solid #d4deeb;border-radius:7px;background:#fff}
.shpse-portal .shpse-module-view form.shpse-module-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:100%}
.shpse-portal .shpse-module-view form.shpse-module-form label{display:flex;flex-direction:column;gap:6px;font-weight:600;color:#31465f}
.shpse-portal .shpse-module-view form.shpse-module-form input,.shpse-portal .shpse-module-view form.shpse-module-form select,.shpse-portal .shpse-module-view form.shpse-module-form textarea{width:100%;max-width:100%;box-sizing:border-box;padding:10px;border:1px solid #d4deeb;border-radius:7px;background:#fff}
.shpse-portal .shpse-module-view form.shpse-module-form .shpse-consent,.shpse-portal .shpse-module-view form.shpse-module-form .shpse-form-actions{grid-column:1/-1}
.shpse-portal .shpse-module-view form.shpse-module-form .shpse-consent{flex-direction:row;align-items:center}
.shpse-portal .shpse-module-view .shpse-table-wrap{overflow-x:auto}
.shpse-portal .shpse-module-view table{min-width:760px;width:100%;border-collapse:collapse;background:#fff}
.shpse-portal .shpse-module-view th,.shpse-portal .shpse-module-view td{padding:10px;border-bottom:1px solid #e5ebf3;text-align:left;vertical-align:top}
.shpse-portal .shpse-module-view th{background:#f3f6fb;color:#29476f}
.shpse-portal .shpse-text-link{color:#155da4;font-weight:600}
@media(max-width:650px){.shpse-portal .shpse-module-view form.shpse-module-form{grid-template-columns:minmax(0,1fr)}.shpse-portal .shpse-list-search{align-items:stretch;flex-direction:column}.shpse-portal .shpse-page-heading{align-items:flex-start;flex-direction:column}}

/* v2.3.0 SomHEP Hepatitis Care visual refresh (presentation only; existing workflows retained) */
.shpse-portal{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#142c4d;background:#f4f7fc;border-radius:12px;box-shadow:0 12px 36px rgba(7,32,73,.09)}
.shpse-portal .shpse-appbar{background:linear-gradient(105deg,#06275a,#123e7b);border-radius:12px 12px 0 0;padding:15px 22px;min-height:58px}
.shpse-portal .shpse-appbar strong{display:flex;align-items:center;gap:10px;font-size:19px;letter-spacing:-.02em}
.shpse-portal .shpse-app-mark{display:inline-flex;align-items:center;justify-content:center;width:29px;height:29px;border:1px solid rgba(255,255,255,.55);border-radius:8px;color:#fff;font-size:17px}
.shpse-portal .shpse-appbar>span{font-size:12px;opacity:.9}
.shpse-portal .shpse-shell{grid-template-columns:220px minmax(0,1fr)!important;gap:0;border:1px solid #e3eaf4;border-top:0;border-radius:0 0 12px 12px;background:#f5f8fd}
.shpse-portal .shpse-sidebar{background:linear-gradient(180deg,#082b62,#062653);border-radius:0;padding:19px 12px;min-height:700px}
.shpse-portal .shpse-brand{padding:8px 10px 20px;border-bottom:1px solid rgba(255,255,255,.14)}
.shpse-portal .shpse-brand strong{font-size:17px;letter-spacing:.02em}
.shpse-portal .shpse-brand span{font-size:12px;color:#b9ccef}
.shpse-portal .shpse-sidebar nav{gap:5px;padding-top:15px}
.shpse-portal .shpse-sidebar nav a,.shpse-portal .shpse-side-logout{font-size:13px;min-height:39px;padding:10px 11px;color:#e6efff;border-radius:7px;transition:background .16s ease,color .16s ease}
.shpse-portal .shpse-sidebar nav a:hover,.shpse-portal .shpse-sidebar nav a.active{background:rgba(94,151,231,.29);box-shadow:inset 3px 0 #f2bd24;color:#fff}
.shpse-portal .shpse-main{background:#f5f8fd;border:0;border-radius:0;padding:clamp(18px,2vw,30px);}
.shpse-portal .shpse-topbar{padding:0 0 17px;border-bottom:1px solid #e5ebf4}
.shpse-portal .shpse-topbar small{font-size:10px;letter-spacing:.14em;color:#5e7597}
.shpse-portal .shpse-topbar h2{font-size:24px;font-weight:750;letter-spacing:-.035em;color:#092b60;margin:5px 0}
.shpse-portal .shpse-user{background:#e9f0ff;border:1px solid #dce7fc;border-radius:9px;padding:9px 12px}
.shpse-portal .shpse-user strong{font-size:13px;color:#14386e}
.shpse-portal .shpse-user span{font-size:11px;color:#58739d}
.shpse-portal .shpse-welcome{padding:19px 0 17px}
.shpse-portal .shpse-welcome h2{font-size:20px;font-weight:750;color:#0c326a;letter-spacing:-.025em}
.shpse-portal .shpse-welcome p{font-size:13px;color:#526985;margin:5px 0 0}
.shpse-portal .shpse-eyebrow{font-size:10px;letter-spacing:.15em;color:#1685b9}
.shpse-portal .shpse-clinic-code{background:#eaf1ff;color:#2c4c7c;border:1px solid #dce7fa;border-radius:20px;font-size:11px}
.shpse-portal .shpse-dashboard-stats{gap:12px}
.shpse-portal .shpse-dash-stat{border:1px solid #e3eaf4;border-radius:10px;padding:16px 17px;background:#fff;box-shadow:0 2px 9px rgba(12,43,87,.025);min-height:88px}
.shpse-portal .shpse-dash-stat span{font-size:12px;color:#607592}
.shpse-portal .shpse-dash-stat strong{font-size:27px;color:#0c326a;line-height:1.15}
.shpse-portal .shpse-module-heading{margin:22px 0 12px;flex-wrap:wrap}
.shpse-portal .shpse-module-heading h3{font-size:16px;color:#0d3268;letter-spacing:-.02em}
.shpse-portal .shpse-module-search{font-size:12px;min-height:38px;max-width:270px!important}
.shpse-portal .shpse-notification{font-size:11px;border-color:#e0e8f3;color:#536b8e}
.shpse-portal .shpse-module-grid{gap:11px}
.shpse-portal .shpse-module{background:#fff;border:1px solid #e3eaf4;border-radius:10px;padding:15px 16px;min-height:132px;box-shadow:0 2px 9px rgba(12,43,87,.025);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.shpse-portal .shpse-module:hover,.shpse-portal .shpse-module:focus-visible{transform:translateY(-2px);border-color:#9ab9e7;box-shadow:0 7px 20px rgba(12,43,87,.08)}
.shpse-portal .shpse-module-icon{display:inline-flex;align-items:center;justify-content:center;width:29px;height:29px;border-radius:8px;background:#eef5ff;color:#1476c8;font-size:19px}
.shpse-portal .shpse-module h4{font-size:13px;color:#12366c;margin:10px 0 5px}
.shpse-portal .shpse-module p{font-size:11px;line-height:1.5;color:#687d9a;margin-bottom:10px}
.shpse-portal .shpse-module-status{font-size:10px;padding:4px 8px;background:#f1f4f9;color:#60728b}
.shpse-portal .shpse-warning{border-left:3px solid #e2a323;background:#fff8e8;color:#4b4432;border-radius:5px;font-size:12px;margin-top:16px}
.shpse-portal .shpse-module-view{border:1px solid #e2eaf4;border-radius:10px;box-shadow:0 3px 14px rgba(12,43,87,.04);padding:20px;background:#fff}
.shpse-portal .shpse-page-heading h2{font-size:20px}
.shpse-portal .shpse-page-subtitle{font-size:12px}
.shpse-portal .shpse-button,.shpse-portal .shpse-form-actions button,.shpse-portal .shpse-list-search button{border-radius:7px;background:#10376f;border-color:#10376f;font-size:12px;padding:10px 13px}
.shpse-portal .shpse-button-secondary,.shpse-portal .shpse-form-actions a{background:#fff;color:#173765;border-color:#d4dfed}
.shpse-portal .shpse-module-view th{background:#f1f5fb;color:#27466f;font-size:12px}
.shpse-portal .shpse-module-view td{font-size:12px;color:#263b58}
.shpse-portal .shpse-module-view input,.shpse-portal .shpse-module-view select,.shpse-portal .shpse-module-view textarea{font-size:13px}
@media(max-width:900px){.shpse-portal .shpse-shell{grid-template-columns:190px minmax(0,1fr)!important}.shpse-portal .shpse-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.shpse-portal .shpse-shell{grid-template-columns:minmax(0,1fr)!important}.shpse-portal .shpse-sidebar{min-height:0;padding:12px}.shpse-portal .shpse-sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))!important}.shpse-portal .shpse-main{padding:14px}.shpse-portal .shpse-module-grid{grid-template-columns:minmax(0,1fr)}.shpse-portal .shpse-dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.shpse-portal .shpse-topbar h2{font-size:20px}.shpse-portal .shpse-appbar{padding:13px 15px}.shpse-portal .shpse-module-view{padding:14px}}


/* v2.3.1: consistent clinic workspace styling across existing module pages */
.shpse-portal .shpse-module-view{margin:18px 0 14px;padding:clamp(16px,2vw,24px);background:#fff;border:1px solid #e1e9f4;border-radius:12px;box-shadow:0 4px 18px rgba(8,39,88,.045)}
.shpse-portal .shpse-page-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-bottom:14px;margin-bottom:16px;border-bottom:1px solid #edf1f7}
.shpse-portal .shpse-page-heading h2{margin:0;color:#092d64;font-size:clamp(18px,1.5vw,22px);font-weight:750;letter-spacing:-.025em}
.shpse-portal .shpse-page-subtitle{margin:5px 0 0;color:#70819a;font-size:12px}
.shpse-portal .shpse-page-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.shpse-portal .shpse-button,.shpse-portal .shpse-form-actions button,.shpse-portal .shpse-list-search button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 14px;border:1px solid #10376f;border-radius:8px;background:#10376f;color:#fff;text-decoration:none;font-weight:650;font-size:12px;line-height:1.25;cursor:pointer;transition:background .15s ease,box-shadow .15s ease,transform .15s ease}
.shpse-portal .shpse-button:hover,.shpse-portal .shpse-form-actions button:hover,.shpse-portal .shpse-list-search button:hover{background:#0a2b5e;color:#fff;box-shadow:0 3px 10px rgba(9,45,100,.15)}
.shpse-portal .shpse-button-secondary,.shpse-portal .shpse-form-actions a{background:#fff;color:#173765;border:1px solid #d7e1ef;text-decoration:none;border-radius:8px;padding:9px 13px;font-size:12px}
.shpse-portal .shpse-module-view .shpse-module-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:14px 0 20px;align-items:start}
.shpse-portal .shpse-module-view .shpse-module-form label{display:flex;flex-direction:column;gap:7px;min-width:0;color:#2a405f;font-size:12px;font-weight:650}
.shpse-portal .shpse-module-view .shpse-module-form input,.shpse-portal .shpse-module-view .shpse-module-form select,.shpse-portal .shpse-module-view .shpse-module-form textarea,.shpse-portal .shpse-list-search input{width:100%;max-width:none;min-height:42px;margin:0;padding:10px 12px;border:1px solid #d4dfed;border-radius:8px;background:#fff;color:#152d4d;font:inherit;font-size:13px;box-shadow:none}
.shpse-portal .shpse-module-view .shpse-module-form textarea{min-height:96px;resize:vertical}
.shpse-portal .shpse-module-view .shpse-module-form input:focus,.shpse-portal .shpse-module-view .shpse-module-form select:focus,.shpse-portal .shpse-module-view .shpse-module-form textarea:focus,.shpse-portal .shpse-list-search input:focus{outline:3px solid rgba(27,117,204,.16);border-color:#287bc5}
.shpse-portal .shpse-module-view .shpse-form-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;grid-column:1/-1;margin-top:3px}
.shpse-portal .shpse-module-view .shpse-consent{display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:9px!important}
.shpse-portal .shpse-module-view .shpse-consent input{width:auto;min-height:auto;margin-top:3px}
.shpse-portal .shpse-list-search{display:flex;align-items:center;gap:8px;max-width:680px;margin:12px 0 16px}
.shpse-portal .shpse-list-search input{flex:1;min-width:120px}
.shpse-portal .shpse-module-view .shpse-table-wrap{width:100%;overflow-x:auto;border:1px solid #e7edf5;border-radius:9px;margin:14px 0 2px}
.shpse-portal .shpse-module-view .shpse-table-wrap table{width:100%;min-width:720px;border:0;border-collapse:separate;border-spacing:0;background:#fff}
.shpse-portal .shpse-module-view .shpse-table-wrap th{padding:12px 13px;background:#f2f6fc;color:#24446f;border-bottom:1px solid #e3eaf4;font-size:12px;font-weight:700;white-space:nowrap}
.shpse-portal .shpse-module-view .shpse-table-wrap td{padding:12px 13px;color:#293e5a;border-bottom:1px solid #edf1f6;font-size:12px;vertical-align:middle}
.shpse-portal .shpse-module-view .shpse-table-wrap tbody tr:last-child td{border-bottom:0}
.shpse-portal .shpse-module-view .shpse-table-wrap tbody tr:hover{background:#f8fbff}
.shpse-portal .shpse-module-view .shpse-warning{margin:12px 0 16px;padding:12px 14px;border-left:3px solid #e1a323;background:#fff8e9;border-radius:6px;color:#55472b;font-size:12px}
.shpse-portal .shpse-module-view .shpse-dashboard-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:12px 0}
.shpse-portal .shpse-module-view .shpse-dash-stat{border-radius:9px;box-shadow:none}
.shpse-portal .shpse-sidebar nav a:focus-visible,.shpse-portal .shpse-side-logout:focus-visible,.shpse-portal .shpse-button:focus-visible,.shpse-portal .shpse-module-view button:focus-visible,.shpse-portal .shpse-module-view a:focus-visible{outline:3px solid #f0bd28;outline-offset:2px}
@media(max-width:760px){.shpse-portal .shpse-module-view .shpse-module-form{grid-template-columns:minmax(0,1fr)}.shpse-portal .shpse-page-heading{align-items:flex-start;flex-direction:column}.shpse-portal .shpse-page-actions{width:100%}.shpse-portal .shpse-page-actions .shpse-button{flex:1}.shpse-portal .shpse-list-search{align-items:stretch;flex-direction:column;max-width:none}.shpse-portal .shpse-list-search button{width:100%}}

/* v2.3.2 clinic dashboard insights, previews and shortcuts */
.shpse-portal .shpse-dashboard-stats{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));margin-bottom:20px}.shpse-portal .shpse-dashboard-lower{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1.2fr);gap:14px;margin-top:18px}.shpse-portal .shpse-dashboard-panel{background:#fff;border:1px solid #e1e8f2;border-radius:11px;padding:16px;min-width:0}.shpse-portal .shpse-dashboard-panel h3{margin:0 0 12px;color:#173765;font-size:16px}.shpse-portal .shpse-dashboard-panel .shpse-table-wrap{margin:0}.shpse-portal .shpse-dashboard-panel table{min-width:480px}.shpse-portal .shpse-alert-panel{grid-column:1/-1}.shpse-portal .shpse-alert-panel p{margin:7px 0;color:#435975}.shpse-portal .shpse-quick-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}.shpse-portal .shpse-quick-actions a{display:flex;align-items:center;justify-content:center;text-align:center;min-height:54px;padding:10px;background:#edf5ff;border:1px solid #d8e8ff;border-radius:8px;color:#124c91;text-decoration:none;font-weight:600;font-size:13px}.shpse-portal .shpse-quick-actions a:hover{background:#e0efff;border-color:#9fc8ff}@media(max-width:900px){.shpse-portal .shpse-dashboard-lower{grid-template-columns:minmax(0,1fr)}.shpse-portal .shpse-alert-panel{grid-column:auto}.shpse-portal .shpse-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* v2.3.3: normalize portal workspace height across dashboard and module views */
.shpse.shpse-portal{min-height:720px}
.shpse-portal .shpse-shell{min-height:720px;align-items:stretch}
.shpse-portal .shpse-sidebar{height:100%;min-height:720px}
.shpse-portal .shpse-main{min-height:720px;display:flex;flex-direction:column}
.shpse-portal.shpse-module-page .shpse-module-view{width:100%;min-height:480px;flex:1 0 auto}
@media(max-width:650px){.shpse.shpse-portal,.shpse-portal .shpse-shell,.shpse-portal .shpse-sidebar,.shpse-portal .shpse-main{min-height:0;height:auto}.shpse-portal.shpse-module-page .shpse-module-view{min-height:360px;flex:0 1 auto}}


/* v2.3.9: tighter WordPress theme spacing, portal footer and standalone frontend sign-in */
body.shpse-portal-page{margin-top:0!important}
body.shpse-portal-page #wpadminbar{display:none!important}
html:has(body.shpse-portal-page){margin-top:0!important}
body.shpse-portal-page main,body.shpse-portal-page #primary,body.shpse-portal-page .site-main,body.shpse-portal-page .content-area{padding-top:8px!important;margin-top:0!important}
body.shpse-portal-page .entry-content{margin-top:0!important;padding-top:0!important;margin-bottom:0!important;padding-bottom:0!important}
body.shpse-portal-page .shpse.shpse-portal{margin-top:8px!important;margin-bottom:8px!important}
body.shpse-portal-page .site-footer,body.shpse-portal-page #colophon{display:none!important}
.shpse-portal .shpse-portal-footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:11px 20px;background:#082958;color:#e4edff;border-radius:0 0 11px 11px;font-size:11px;line-height:1.5}
.shpse-portal .shpse-shell{border-radius:0!important}
.shpse.shpse-login{max-width:480px!important;width:calc(100% - 32px)!important;margin:28px auto!important;position:relative!important;left:auto!important;transform:none!important}
.shpse-login .shpse-card{border-color:#dce6f3;border-radius:12px;box-shadow:0 12px 32px rgba(7,32,73,.08)}
.shpse-login-form{display:flex;flex-direction:column;gap:8px}
.shpse-login-form label{font-size:13px;font-weight:650;color:#263c58;margin:8px 0 0}
.shpse-login-form input:not([type=checkbox]){width:100%;min-height:44px;margin:0;padding:10px 12px;border:1px solid #cbd7e5;border-radius:8px;box-sizing:border-box}
.shpse-login-form .shpse-login-remember{display:flex;align-items:center;gap:8px;font-weight:400;margin:8px 0}
.shpse-login-form .shpse-login-remember input{margin:0}
.shpse-login-form button{background:#10376f;border-radius:8px;min-height:44px;margin-top:8px}
.shpse-login-error{margin:12px 0;padding:11px 13px;border:1px solid #efb7b7;border-left:3px solid #c93838;border-radius:6px;background:#fff1f1;color:#8d2020;font-size:13px}
@media(max-width:650px){.shpse-portal .shpse-portal-footer{flex-direction:column;padding:12px 15px}}

/* v2.4.1: contain portal within WordPress content to prevent horizontal overflow */
.shpse.shpse-portal{display:block!important;width:100%!important;max-width:1440px!important;margin:24px auto!important;padding:0!important;position:relative!important;left:auto!important;right:auto!important;transform:none!important;min-width:0!important;box-sizing:border-box!important}
.shpse-portal,.shpse-portal *,.shpse-portal *:before,.shpse-portal *:after{box-sizing:border-box;min-width:0}
.shpse-portal .shpse-appbar,.shpse-portal .shpse-shell{width:100%!important;max-width:100%!important}
.shpse-portal .shpse-shell{grid-template-columns:220px minmax(0,1fr)!important;align-items:stretch!important;min-height:700px!important;overflow:hidden!important}
.shpse-portal .shpse-sidebar{width:auto;min-width:0;min-height:700px!important;height:auto}
.shpse-portal .shpse-main{width:100%;min-width:0;max-width:100%;min-height:700px!important;padding:clamp(16px,2vw,28px)!important;display:flex;flex-direction:column;overflow:hidden}
.shpse-portal .shpse-module-view{width:100%;max-width:100%;min-width:0;min-height:480px;flex:1 0 auto;margin:0 0 14px!important;overflow:hidden}
.shpse-portal .shpse-dashboard-stats,.shpse-portal .shpse-module-grid,.shpse-portal .shpse-dashboard-lower{width:100%;max-width:100%;grid-template-columns:repeat(3,minmax(0,1fr))}
.shpse-portal .shpse-dashboard-panel,.shpse-portal .shpse-module{min-width:0;overflow-wrap:anywhere}
.shpse-portal .shpse-table-wrap{max-width:100%;overflow-x:auto}
.shpse-portal .shpse-portal-footer{width:100%;max-width:100%;margin:0}
@media(max-width:1050px){.shpse-portal .shpse-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shpse-portal .shpse-dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.shpse.shpse-portal{width:100%!important;margin:16px auto!important}.shpse-portal .shpse-shell{grid-template-columns:180px minmax(0,1fr)!important}.shpse-portal .shpse-main{padding:14px!important}}
@media(max-width:650px){.shpse.shpse-portal{width:100%!important;margin:12px auto!important}.shpse-portal .shpse-shell{grid-template-columns:minmax(0,1fr)!important;min-height:0!important}.shpse-portal .shpse-sidebar,.shpse-portal .shpse-main{min-height:0!important;height:auto}.shpse-portal .shpse-main{padding:14px!important}.shpse-portal .shpse-module-view{min-height:360px;flex:0 1 auto}.shpse-portal .shpse-module-grid,.shpse-portal .shpse-dashboard-lower{grid-template-columns:minmax(0,1fr)!important}.shpse-portal .shpse-dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* v2.4.2: full available page width and visible portal footer */
body.shpse-portal-page .entry-content{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important}
.shpse.shpse-portal{display:block!important;width:calc(100vw - 96px)!important;max-width:none!important;margin:20px 0!important;position:relative!important;left:50%!important;right:auto!important;transform:translateX(-50%)!important;padding:0!important;box-sizing:border-box!important}
.shpse-portal .shpse-appbar,.shpse-portal .shpse-shell,.shpse-portal .shpse-portal-footer{width:100%!important;max-width:100%!important}
.shpse-portal .shpse-shell{grid-template-columns:220px minmax(0,1fr)!important;overflow:visible!important}
.shpse-portal .shpse-main{min-width:0!important;max-width:100%!important;overflow:visible!important}
.shpse-portal .shpse-dashboard-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important}
.shpse-portal .shpse-module-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important}
.shpse-portal .shpse-dashboard-lower{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.shpse-portal .shpse-portal-footer{display:flex!important;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 22px;background:#082958;color:#e4edff;border-radius:0 0 11px 11px;font-size:12px;line-height:1.5}
@media(max-width:760px){.shpse.shpse-portal{width:calc(100vw - 32px)!important;margin:14px 0!important}.shpse-portal .shpse-shell{grid-template-columns:180px minmax(0,1fr)!important}.shpse-portal .shpse-dashboard-lower{grid-template-columns:minmax(0,1fr)!important}}
@media(max-width:650px){.shpse.shpse-portal{width:calc(100vw - 20px)!important;margin:10px 0!important}.shpse-portal .shpse-shell{grid-template-columns:minmax(0,1fr)!important;min-height:0!important}.shpse-portal .shpse-sidebar,.shpse-portal .shpse-main{min-height:0!important;height:auto!important}.shpse-portal .shpse-module-grid,.shpse-portal .shpse-dashboard-lower{grid-template-columns:minmax(0,1fr)!important}.shpse-portal .shpse-portal-footer{flex-direction:column;align-items:flex-start;padding:12px 15px}}


/* v2.4.3: stable workspace height, internal scrolling, and redundant shortcuts removed */
.shpse.shpse-portal{height:auto!important}
.shpse-portal .shpse-shell{height:760px!important;min-height:760px!important;max-height:760px!important;overflow:hidden!important;align-items:stretch!important}
.shpse-portal .shpse-sidebar{height:760px!important;min-height:760px!important;max-height:760px!important;overflow-y:auto!important}
.shpse-portal .shpse-main{height:760px!important;min-height:760px!important;max-height:760px!important;overflow-y:auto!important;overflow-x:hidden!important;position:relative!important;scrollbar-gutter:stable;display:block!important;padding-bottom:62px!important;scroll-behavior:smooth}
.shpse-portal .shpse-module-view{min-height:0!important;overflow:visible!important}
.shpse-portal .shpse-module-grid{grid-auto-rows:minmax(210px,auto)!important;align-items:stretch!important}
.shpse-portal .shpse-module{height:100%;min-height:210px;display:flex!important;flex-direction:column;align-items:flex-start}
.shpse-portal .shpse-module-status{margin-top:auto}
.shpse-portal .shpse-scroll-controls{position:sticky;bottom:8px;z-index:20;display:flex;flex-direction:column;gap:6px;width:max-content;margin:12px 0 0 auto}
.shpse-portal .shpse-scroll-controls button{width:36px;height:36px;border:1px solid #cbd9ec;border-radius:8px;background:#fff;color:#12396f;box-shadow:0 2px 8px rgba(16,45,87,.14);cursor:pointer;font-size:12px}
.shpse-portal .shpse-scroll-controls button:disabled{opacity:.35;cursor:default;box-shadow:none}
.shpse-portal .shpse-scroll-controls button:focus-visible{outline:3px solid #e3a900;outline-offset:2px}
@media(max-width:650px){.shpse-portal .shpse-shell{height:760px!important;min-height:760px!important;max-height:760px!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:180px minmax(0,1fr)!important}.shpse-portal .shpse-sidebar{height:180px!important;min-height:180px!important;max-height:180px!important;overflow-y:auto!important}.shpse-portal .shpse-main{height:580px!important;min-height:580px!important;max-height:580px!important;padding:14px 14px 58px!important}.shpse-portal .shpse-module-grid{grid-template-columns:minmax(0,1fr)!important;grid-auto-rows:minmax(190px,auto)!important}.shpse-portal .shpse-module{min-height:190px}}


/* v2.4.4: natural document height; footer follows content without overlap */
.shpse.shpse-portal{height:auto!important;min-height:0!important;max-height:none!important}
.shpse-portal .shpse-shell{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;align-items:stretch!important}
.shpse-portal .shpse-sidebar{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;align-self:stretch!important}
.shpse-portal .shpse-main{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;display:flex!important;flex-direction:column!important;padding-bottom:clamp(18px,2vw,28px)!important;scrollbar-gutter:auto!important}
.shpse-portal .shpse-module-view{min-height:0!important;flex:0 0 auto!important;overflow:visible!important}
.shpse-portal .shpse-portal-footer{position:relative!important;clear:both!important;margin:0!important;border-top:1px solid rgba(255,255,255,.16)!important;border-radius:0 0 11px 11px!important}
.shpse-portal .shpse-scroll-controls{position:sticky!important;bottom:14px!important;margin:12px 0 0 auto!important}
@media(max-width:650px){.shpse-portal .shpse-shell{height:auto!important;min-height:0!important;max-height:none!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto auto!important}.shpse-portal .shpse-sidebar,.shpse-portal .shpse-main{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important}.shpse-portal .shpse-module-view{min-height:0!important;flex:0 0 auto!important}.shpse-portal .shpse-portal-footer{flex-direction:column!important;align-items:flex-start!important}}
