/* Responder WebWorks Builder 2.8 Member Portal */
:root{--portal-navy:#09243a;--portal-blue:#0d5f9a;--portal-red:#d82727;--portal-bg:#eef3f7;--portal-card:#fff;--portal-text:#172334;--portal-muted:#617184;--portal-border:#d7e0e8;--portal-success:#147744;--portal-warning:#a45b00}
*{box-sizing:border-box}.portal-body{margin:0;background:var(--portal-bg);color:var(--portal-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:100vh}.portal-header{min-height:76px;background:var(--portal-navy);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:12px clamp(18px,4vw,64px);gap:24px;box-shadow:0 2px 12px #00172b33}.portal-brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;min-width:0}.portal-brand img{width:46px;height:46px;object-fit:contain;background:#fff;border-radius:8px}.portal-brand-mark{width:46px;height:46px;border-radius:10px;background:var(--portal-red);display:grid;place-items:center;font-weight:900}.portal-brand span:last-child{display:flex;flex-direction:column;min-width:0}.portal-brand strong{font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-brand small{opacity:.76;margin-top:2px}.portal-header nav{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.portal-header nav>a,.portal-link-button{color:#fff;text-decoration:none;font:inherit;font-weight:700;background:none;border:0;padding:8px 0;cursor:pointer}.portal-header nav>a:hover,.portal-link-button:hover{text-decoration:underline}.portal-header form{margin:0}.portal-main{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:34px 0 64px}.portal-footer{text-align:center;color:var(--portal-muted);padding:26px}.portal-login-card,.portal-panel,.portal-document-detail{background:var(--portal-card);border:1px solid var(--portal-border);border-radius:18px;box-shadow:0 12px 34px #102b4212}.portal-login-card{width:min(520px,100%);margin:5vh auto;padding:clamp(26px,5vw,48px)}.portal-login-card h1,.portal-page-heading h1,.portal-welcome h1,.portal-document-detail h1{margin:.2rem 0 .7rem;font-size:clamp(2rem,5vw,3.2rem);line-height:1.03}.portal-login-card>p,.portal-page-heading p,.portal-welcome p,.portal-document-detail p{color:var(--portal-muted);line-height:1.65}.portal-kicker{text-transform:uppercase;letter-spacing:.12em;font-size:.76rem!important;font-weight:900;color:var(--portal-blue)!important;margin:0}.portal-form{display:grid;gap:18px;margin-top:26px}.portal-form label{display:grid;gap:7px;font-weight:800}.portal-form input,.portal-form select,.portal-form textarea,.portal-filter input,.portal-filter select{width:100%;border:1px solid #c4d0db;border-radius:10px;padding:12px 13px;font:inherit;background:#fff;color:var(--portal-text)}.portal-form input:focus,.portal-filter input:focus,.portal-filter select:focus{outline:3px solid #2d8ed633;border-color:var(--portal-blue)}.portal-form small{font-weight:500;color:var(--portal-muted)}.portal-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:10px;padding:12px 18px;background:var(--portal-blue);color:#fff;font:inherit;font-weight:900;text-decoration:none;cursor:pointer}.portal-button:hover{filter:brightness(.93)}.portal-button-small{padding:10px 14px}.portal-help{font-size:.9rem;margin-top:20px}.portal-alert{padding:13px 16px;border-radius:12px;margin-bottom:18px;font-weight:700}.portal-alert-success{background:#dcf6e7;color:#0c6237;border:1px solid #9bd5b5}.portal-alert-error{background:#fde5e5;color:#8d1616;border:1px solid #efaaaa}.portal-alert-info{background:#e2f1ff;color:#154f7d;border:1px solid #a9d3f3}.portal-welcome{display:flex;align-items:center;justify-content:space-between;gap:30px;background:linear-gradient(135deg,var(--portal-navy),#124f79);color:#fff;border-radius:20px;padding:clamp(26px,5vw,52px);box-shadow:0 16px 38px #09243a2b}.portal-welcome .portal-kicker,.portal-welcome p{color:#d9e8f4!important}.portal-required-count{min-width:180px;padding:20px;border-radius:16px;background:#ffffff16;border:1px solid #ffffff2e;text-align:center}.portal-required-count strong{font-size:3rem;display:block}.portal-required-count span{display:block;font-weight:800}.portal-section-heading,.portal-page-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:34px 0 18px}.portal-section-heading h2{margin:0;font-size:1.65rem}.portal-section-heading p{margin:.25rem 0 0;color:var(--portal-muted)}.portal-section-heading>a,.portal-back{color:var(--portal-blue);font-weight:800;text-decoration:none}.portal-doc-list{display:grid;gap:14px}.portal-doc-card{display:flex;gap:16px;background:#fff;border:1px solid var(--portal-border);border-radius:14px;padding:18px;box-shadow:0 5px 18px #102b420a}.portal-doc-icon{flex:0 0 54px;height:60px;border-radius:10px;background:#e5eef5;color:var(--portal-navy);display:grid;place-items:center;font-size:.74rem;font-weight:950;letter-spacing:.04em}.portal-doc-icon-large{width:86px;height:96px;flex-basis:86px;font-size:1rem}.portal-doc-copy{min-width:0;flex:1}.portal-doc-copy h3{margin:.35rem 0;font-size:1.08rem}.portal-doc-copy h3 a{color:var(--portal-text);text-decoration:none}.portal-doc-copy h3 a:hover{color:var(--portal-blue)}.portal-doc-copy p{margin:.45rem 0;color:var(--portal-muted);line-height:1.5}.portal-doc-meta,.portal-doc-status{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.portal-doc-meta span,.portal-doc-status span{font-size:.76rem;color:var(--portal-muted);font-weight:750}.portal-new{background:#dff0ff;color:#075b91!important;border-radius:999px;padding:3px 8px}.portal-doc-status{margin-top:9px}.portal-doc-status .is-required{color:#9a4d00;background:#fff0d7;padding:4px 8px;border-radius:999px}.portal-doc-status .is-complete{color:var(--portal-success);background:#dcf6e7;padding:4px 8px;border-radius:999px}.portal-empty{background:#fff;border:1px dashed #b7c6d2;border-radius:14px;padding:40px;text-align:center}.portal-empty h3{margin:0 0 6px}.portal-empty p{color:var(--portal-muted)}.portal-filter{display:grid;grid-template-columns:minmax(200px,1fr) minmax(180px,260px) auto auto;align-items:center;gap:10px;background:#fff;border:1px solid var(--portal-border);padding:14px;border-radius:14px;margin-bottom:18px}.portal-filter>a{color:var(--portal-blue);font-weight:800;text-decoration:none}.portal-document-detail{padding:clamp(24px,5vw,52px)}.portal-document-title{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-top:26px}.portal-document-facts,.portal-profile-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:28px 0}.portal-document-facts div,.portal-profile-facts div{background:#f4f7fa;border:1px solid #e1e8ee;border-radius:12px;padding:14px}.portal-document-facts dt,.portal-profile-facts dt{font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:var(--portal-muted);font-weight:900}.portal-document-facts dd,.portal-profile-facts dd{margin:6px 0 0;font-weight:800;overflow-wrap:anywhere}.portal-button-row{display:flex;gap:12px;flex-wrap:wrap}.portal-ack-box{margin-top:28px;padding:22px;border-radius:14px;border:1px solid #efc06a;background:#fff7e8}.portal-ack-box.is-complete{border-color:#8bcaaa;background:#e9f7ef}.portal-ack-box h2{margin-top:0}.portal-check{display:flex;align-items:flex-start;gap:10px;font-weight:800;margin:18px 0}.portal-check input{margin-top:4px}.portal-narrow{max-width:620px;margin:4vh auto;padding:clamp(24px,5vw,42px)}.portal-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.portal-panel{padding:24px}.portal-panel h2{margin-top:0}
/* Builder administration additions */
.portal-admin-nav{display:flex;gap:6px;overflow:auto;margin:-4px 0 22px;padding:6px;background:#eef3f7;border-radius:12px}.portal-admin-nav a{white-space:nowrap;text-decoration:none;color:#33495d;font-weight:800;padding:9px 12px;border-radius:8px}.portal-admin-nav a:hover,.portal-admin-nav a.active{background:#fff;color:#0b4773;box-shadow:0 2px 8px #18334c17}.portal-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.portal-stat-grid a{background:#fff;border:1px solid #d9e1e8;border-radius:14px;padding:20px;text-decoration:none;color:#172334;box-shadow:0 5px 18px #102b4209}.portal-stat-grid strong{display:block;font-size:2rem;color:#0b4773}.portal-stat-grid span{display:block;margin-top:4px;color:#617184;font-weight:750}.portal-admin-grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(360px,1.2fr);gap:18px}.portal-quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.portal-activity-list{display:grid}.portal-activity-list>div{display:grid;grid-template-columns:1fr 1.25fr auto;gap:10px;padding:11px 0;border-bottom:1px solid #e5ebf0}.portal-activity-list>div:last-child{border-bottom:0}.portal-activity-list span{font-weight:750}.portal-activity-list strong{text-transform:capitalize}.portal-activity-list time{color:#6b7b8b;font-size:.86rem}.portal-url-box{display:grid;gap:8px;background:#f0f6fa;border:1px solid #cfe0ec;border-radius:12px;padding:16px}.portal-url-box code{white-space:normal;overflow-wrap:anywhere;color:#0b4773}.portal-simple-list{display:grid}.portal-simple-list>div{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:13px 0;border-bottom:1px solid #e4eaef}.portal-simple-list>div:last-child{border-bottom:0}.portal-simple-list span{display:grid;gap:4px}.portal-simple-list small{color:#6b7b8b}.portal-assignment-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:16px}.portal-assignment-grid>div{border:1px solid #dce4ea;border-radius:12px;padding:16px;max-height:330px;overflow:auto}.portal-assignment-grid h3{margin-top:0}
@media(max-width:900px){.portal-header{align-items:flex-start;flex-direction:column}.portal-header nav{gap:14px}.portal-welcome{align-items:flex-start}.portal-stat-grid{grid-template-columns:1fr 1fr}.portal-admin-grid,.portal-profile-grid{grid-template-columns:1fr}.portal-filter{grid-template-columns:1fr 1fr}.portal-filter .portal-button{width:100%}.portal-assignment-grid{grid-template-columns:1fr}}
@media(max-width:600px){.portal-main{width:min(100% - 20px,1180px);padding-top:18px}.portal-header{padding:12px 16px}.portal-header nav{font-size:.9rem}.portal-welcome{flex-direction:column}.portal-required-count{width:100%}.portal-document-title{flex-direction:column-reverse}.portal-doc-card{padding:14px}.portal-filter{grid-template-columns:1fr}.portal-stat-grid{grid-template-columns:1fr}.portal-quick-actions{grid-template-columns:1fr}.portal-activity-list>div{grid-template-columns:1fr}.portal-section-heading{align-items:flex-start;flex-direction:column}.portal-login-card{margin-top:0}}

/* Version 2.8.1 portal address and storage settings */
.portal-settings-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:18px;align-items:start}.portal-address-field{display:flex;align-items:center;border:1px solid #cbd6df;border-radius:10px;background:#fff;overflow:hidden}.portal-address-field>span{padding:12px 0 12px 13px;color:#6b7b8b;font-weight:900}.portal-address-field input{border:0!important;border-radius:0!important;box-shadow:none!important;padding-left:3px!important}.portal-storage-badge{display:inline-flex;align-items:center;border-radius:999px;padding:7px 11px;font-size:.78rem;font-weight:900;white-space:nowrap}.portal-storage-badge.is-ready{background:#dcf6e7;color:#0c6237}.portal-storage-badge.is-error{background:#fde5e5;color:#8d1616}.portal-storage-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}.portal-storage-facts>div{background:#f5f8fa;border:1px solid #e0e7ec;border-radius:10px;padding:12px;min-width:0}.portal-storage-facts dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:#68798a;font-weight:900}.portal-storage-facts dd{margin:5px 0 0;font-weight:800;overflow-wrap:anywhere}.portal-storage-facts code{white-space:normal;overflow-wrap:anywhere;font-size:.8rem}.portal-settings-grid .flash{margin:0}.portal-settings-grid .panel-heading{align-items:flex-start}
@media(max-width:950px){.portal-settings-grid{grid-template-columns:1fr}}
@media(max-width:600px){.portal-storage-facts{grid-template-columns:1fr}}

/* ResponderVault 2.9 */
.portal-dashboard-counts{display:grid;grid-template-columns:1fr 1fr;gap:10px;min-width:300px}.portal-dashboard-counts>div{padding:18px;border-radius:14px;background:#ffffff16;border:1px solid #ffffff2e;text-align:center}.portal-dashboard-counts strong{display:block;font-size:2.2rem}.portal-dashboard-counts span{font-weight:800;font-size:.85rem}.portal-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.65fr);gap:24px}.portal-upcoming-list{display:grid;gap:10px}.portal-upcoming-list>a{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--portal-border);border-radius:12px;padding:13px;text-decoration:none;color:var(--portal-text)}.portal-upcoming-list time{width:52px;text-align:center;font-weight:950;color:var(--portal-blue)}.portal-upcoming-list span{display:grid}.portal-upcoming-list small{color:var(--portal-muted);margin-top:3px}.portal-announcement-stack{display:grid;gap:10px;margin-top:24px}.portal-announcement-stack>h2{margin-bottom:0}.portal-announcement{background:#fff;border:1px solid var(--portal-border);border-left:6px solid var(--portal-blue);border-radius:12px;padding:16px 18px}.portal-announcement h3{margin:.25rem 0}.portal-announcement p:last-child{margin-bottom:0}.portal-announcement-important{border-left-color:#d98a00;background:#fffaf0}.portal-announcement-emergency{border-left-color:#d82727;background:#fff4f4}.portal-announcement-training{border-left-color:#6b50ad}.portal-event-list{display:grid;gap:14px}.portal-event-card{display:grid;grid-template-columns:100px 1fr;gap:18px;background:#fff;border:1px solid var(--portal-border);border-radius:14px;padding:20px}.portal-event-card>time{display:grid;align-content:start;text-align:center;background:#e8f2f8;border-radius:12px;padding:12px}.portal-event-card>time strong{font-size:1.25rem;color:var(--portal-blue)}.portal-event-card h2{margin:.25rem 0}.portal-calendar-embed{background:#fff;border:1px solid var(--portal-border);border-radius:14px;padding:12px;margin-bottom:18px}.portal-calendar-embed iframe{width:100%;height:650px;border:0}.portal-training-card{display:flex;justify-content:space-between;gap:20px;align-items:center;background:#fff;border:1px solid var(--portal-border);border-radius:14px;padding:20px}.portal-training-card.is-complete{border-color:#9bd5b5;background:#f1fbf5}.portal-access-warning{background:#fff4e5;border:1px solid #e7bd73;border-radius:10px;padding:12px;margin-bottom:12px}.portal-access-warning.is-restricted{background:#e9f7ef;border-color:#8bcaaa}.portal-storage-meter{display:grid;gap:8px;background:#f4f7fa;border:1px solid var(--portal-border);border-radius:12px;padding:14px}.portal-storage-meter progress{width:100%;height:12px}.portal-license-form{display:grid;grid-template-columns:minmax(130px,1fr) 90px 145px auto;gap:7px;align-items:center}.portal-license-form select,.portal-license-form input{min-width:0}.portal-assignment-fieldset{border:1px solid #dce4ea;border-radius:12px;padding:16px}.portal-assignment-fieldset legend{font-weight:900}.portal-stat-grid>div{background:#fff;border:1px solid #d9e1e8;border-radius:14px;padding:20px;box-shadow:0 5px 18px #102b4209}.portal-stat-grid>div strong{display:block;font-size:2rem;color:#0b4773}.portal-stat-grid>div span{display:block;margin-top:4px;color:#617184;font-weight:750}
@media(max-width:950px){.portal-dashboard-grid{grid-template-columns:1fr}.portal-license-form{grid-template-columns:1fr 1fr}.portal-dashboard-counts{min-width:0}}
@media(max-width:600px){.portal-dashboard-counts{grid-template-columns:1fr;width:100%}.portal-event-card{grid-template-columns:1fr}.portal-training-card{align-items:flex-start;flex-direction:column}.portal-license-form{grid-template-columns:1fr}.portal-calendar-embed iframe{height:520px}}

/* ResponderVault 2.9.1 permissions, management, employee lifecycle, and reminders */
.portal-manage-link{background:#fff;color:#09243a!important;padding:8px 11px;border-radius:8px}.portal-manage-nav{display:flex;gap:7px;overflow:auto;background:#dfeaf2;border-radius:12px;padding:7px;margin-bottom:20px}.portal-manage-nav a{white-space:nowrap;text-decoration:none;color:#29475e;font-weight:850;padding:9px 12px;border-radius:8px}.portal-manage-nav a.active,.portal-manage-nav a:hover{background:#fff;color:#0b4773;box-shadow:0 2px 8px #18334c17}.portal-manage-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:20px}.portal-manage-card-grid a{display:grid;gap:6px;background:#f5f8fa;border:1px solid var(--portal-border);border-radius:14px;padding:18px;text-decoration:none;color:var(--portal-text)}.portal-manage-card-grid strong{font-size:1.1rem}.portal-manage-card-grid span{color:var(--portal-blue);font-weight:850}.portal-manage-card-grid small{color:var(--portal-muted)}.portal-manage-list{display:grid;margin-top:16px}.portal-manage-list article{display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid var(--portal-border);padding:14px 0}.portal-manage-list article>div:first-child{display:grid;gap:5px}.portal-manage-list article>div:last-child{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.portal-manage-list span{color:var(--portal-muted);font-size:.9rem}.portal-manage-list a{font-weight:850;color:var(--portal-blue);text-decoration:none}.portal-permission-table{display:grid;border:1px solid #dce4ea;border-radius:14px;overflow:hidden}.portal-permission-head,.portal-permission-row{display:grid;grid-template-columns:minmax(280px,1fr) 110px 110px 140px;align-items:center;gap:8px;padding:13px 15px}.portal-permission-head{background:#eaf1f6;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;font-weight:950;color:#526779}.portal-permission-row{border-top:1px solid #e3e9ee}.portal-permission-row>div{display:grid;gap:4px}.portal-permission-row small{color:#6b7b8b}.portal-permission-row label{display:grid;justify-items:center;gap:4px;font-size:.8rem;font-weight:800}.portal-permission-row input{width:20px;height:20px}.danger{color:#a31515!important}.portal-panel .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:760px){.portal-permission-head{display:none}.portal-permission-row{grid-template-columns:1fr 1fr 1fr}.portal-permission-row>div{grid-column:1/-1}.portal-manage-list article{align-items:flex-start;flex-direction:column}.portal-panel .form-grid{grid-template-columns:1fr}}

/* ResponderVault 2.9.1.1 button-label visibility hotfix */
a.portal-button,a.portal-button:visited{color:#fff!important}
.portal-section-heading>a.portal-button,.portal-section-heading>a.portal-button:visited{color:#fff!important}
.portal-manage-list button.portal-link-button{color:var(--portal-blue)!important;padding:0;font-weight:850;text-decoration:none}
.portal-manage-list button.portal-link-button:hover{text-decoration:underline}

/* ResponderVault 2.9.1.2 top management link and destructive-action visibility */
.portal-header nav>a.portal-manage-link,
.portal-header nav>a.portal-manage-link:visited{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:112px!important;
  padding:9px 13px!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#09243a!important;
  opacity:1!important;
  visibility:visible!important;
  text-decoration:none!important;
  font-weight:900!important;
}
.portal-header nav>a.portal-manage-link:hover{background:#e9f2f8!important;text-decoration:none!important}
.portal-header nav>a.portal-manage-link span{display:inline!important;color:#09243a!important;opacity:1!important;visibility:visible!important}

/* ResponderVault 2.9.1.3 — management link matches standard portal navigation */
.portal-header nav>a.portal-manage-link,
.portal-header nav>a.portal-manage-link:visited{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  min-width:0!important;
  padding:8px 0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#fff!important;
  opacity:1!important;
  visibility:visible!important;
  text-decoration:none!important;
  font-weight:700!important;
}
.portal-header nav>a.portal-manage-link span{
  display:inline!important;
  color:inherit!important;
  opacity:1!important;
  visibility:visible!important;
}
.portal-header nav>a.portal-manage-link:hover{
  background:transparent!important;
  color:#fff!important;
  text-decoration:underline!important;
}
.portal-header nav>a.portal-manage-link[aria-current="page"]{
  text-decoration:underline!important;
  text-underline-offset:4px!important;
}

/* ResponderVault 3.0 — hierarchy, safe access classifications, and retention */
.portal-v30-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px;padding:22px 24px;border:1px solid #cddde8;border-radius:16px;background:linear-gradient(135deg,#f7fbfe,#eaf3f9)}
.portal-v30-intro h2{margin:.2rem 0 .45rem}.portal-v30-intro p{margin:.25rem 0;color:#5f7182;line-height:1.55}.portal-v30-mini-stats{display:flex;gap:10px;flex-wrap:wrap}.portal-v30-mini-stats span{min-width:120px;padding:13px 16px;border-radius:12px;background:#fff;border:1px solid #d8e3ea;text-align:center;color:#5b6d7d;font-weight:750}.portal-v30-mini-stats strong{display:block;font-size:1.5rem;color:#0b4773}
.portal-hierarchy-list{display:grid;gap:10px}.portal-hierarchy-row{display:grid;grid-template-columns:28px minmax(180px,1fr) minmax(145px,190px) 105px 84px;gap:12px;align-items:center;padding:14px;border:1px solid #d9e3ea;border-radius:12px;background:#fff}.portal-hierarchy-row>div:nth-child(2){display:grid;gap:3px}.portal-hierarchy-row small{color:#697b8a}.portal-hierarchy-row label{display:grid;gap:5px;font-weight:800;font-size:.86rem}.portal-hierarchy-row select,.portal-hierarchy-row input{width:100%;padding:9px 10px;border:1px solid #c7d3dc;border-radius:8px;background:#fff;font:inherit}.portal-drag-handle{color:#7b8b98;font-size:1.25rem;text-align:center}.portal-order-buttons{display:flex;gap:5px}.portal-order-buttons button{width:36px;height:36px;border:1px solid #bdcbd5;border-radius:8px;background:#f5f8fa;color:#0b4773;font-weight:900;cursor:pointer}.portal-order-buttons button:hover{background:#e5f0f7}.portal-hierarchy-preview{padding:14px 16px;border-left:4px solid #0d5f9a;background:#eef7fc;border-radius:8px;color:#29475e}
.portal-access-builder{border:1px solid #cedbe4;border-radius:14px;padding:18px;background:#fbfdfe}.portal-access-builder legend{padding:0 7px;font-size:1.05rem;font-weight:950}.portal-access-summary-v30{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;margin-bottom:13px;border-radius:11px;background:#eaf4fa;border:1px solid #c6deed}.portal-access-summary-v30 span{color:#0b4773;font-weight:850;text-align:right}.portal-access-choice{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:11px;padding:12px;margin:7px 0;border:1px solid #dce5eb;border-radius:11px;background:#fff;cursor:pointer}.portal-access-choice:has(input:checked){border-color:#2e7dab;box-shadow:0 0 0 3px #2e7dab17;background:#f5fbff}.portal-access-choice input{width:19px!important;height:19px;margin-top:2px;flex:0 0 auto}.portal-access-choice span{display:grid;gap:3px}.portal-access-choice small{font-weight:500;color:#657687}.portal-access-option{display:none;margin:8px 0 14px;padding:14px;border-radius:11px;background:#f4f8fb;border:1px solid #dce6ed}.portal-access-option.is-visible{display:block}.portal-access-option>label{display:grid;gap:7px;font-weight:800}.portal-access-safety{margin-top:13px;padding:12px 14px;border-radius:10px;background:#fff5e7;border:1px solid #e8c37e;color:#6c470a}.portal-access-builder .portal-assignment-grid{margin-top:0}.portal-access-builder .portal-assignment-grid h3{font-size:.95rem}.portal-access-builder .check-row{font-weight:650}
.retention-countdown{display:inline-block;font-weight:850;color:#34556d}.retention-countdown.is-due{color:#a31515}.inline-form{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.inline-form input{max-width:180px;padding:7px 9px;border:1px solid #cbd7df;border-radius:7px}.portal-retention-callout{padding:12px 14px;border-radius:10px;background:#f1f7fb;border:1px solid #d3e2ec;color:#405a6e}.portal-retention-callout strong{color:#0b4773}.portal-access-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:#eaf4fa;color:#0b4773;font-size:.78rem;font-weight:850}.portal-access-badge.is-restricted{background:#fff2dd;color:#885008}
@media(max-width:900px){.portal-v30-intro{align-items:flex-start;flex-direction:column}.portal-hierarchy-row{grid-template-columns:28px 1fr 1fr}.portal-hierarchy-row label:nth-of-type(2),.portal-order-buttons{grid-column:auto}.portal-v30-mini-stats{width:100%}.portal-v30-mini-stats span{flex:1}}
@media(max-width:650px){.portal-hierarchy-row{grid-template-columns:1fr}.portal-drag-handle{display:none}.portal-order-buttons{justify-content:flex-start}.portal-access-summary-v30{align-items:flex-start;flex-direction:column}.portal-access-summary-v30 span{text-align:left}.portal-access-builder .portal-assignment-grid{grid-template-columns:1fr}}

/* Responder WebWorks 3.0.0.2 centralized branding */
.portal-brand .portal-brand-fallback-logo{width:54px;height:46px;object-fit:contain;background:transparent;border-radius:0;padding:0}
.portal-brand .portal-site-logo{width:46px;height:46px;object-fit:contain;background:#fff;border-radius:8px}
.portal-footer{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:9px}
.portal-footer a{display:inline-flex;align-items:center;background:#fff;border:1px solid var(--portal-border);border-radius:8px;padding:5px 8px}
.portal-footer img{display:block;width:150px;max-width:42vw;height:auto}

/* Version 3.1 searchable portal libraries */
.portal-filter-expanded{display:grid;grid-template-columns:minmax(210px,1.4fr) repeat(4,minmax(135px,.7fr)) auto;gap:9px;align-items:center}.portal-filter-expanded input,.portal-filter-expanded select{min-width:0}.portal-uploaded-meta{display:block;margin-top:7px;color:#617686}.portal-manage-list article>div:first-child small{display:block;margin-top:4px;color:#647786}
@media(max-width:980px){.portal-filter-expanded{grid-template-columns:repeat(2,minmax(150px,1fr))}}
@media(max-width:620px){.portal-filter-expanded{grid-template-columns:1fr}}


/* RWW MEMBER CALENDAR MOBILE HEIGHT 4.8.8 */
.rww-member-calendar-page,
.rww-member-calendar-page .portal-page-heading,
.rww-member-calendar-page .portal-calendar-embed,
.rww-member-calendar-page .portal-event-list,
.rww-member-calendar-page .portal-event-card {
  box-sizing: border-box !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
}

.portal-main:has(.rww-member-calendar-page),
.portal-body.rww-member-calendar-active,
.portal-body.rww-member-calendar-active .portal-main {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow-x: hidden !important;
  overflow-y: visible !important;
}

.rww-member-calendar-page {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: visible !important;
  contain: layout style !important;
}

.rww-member-calendar-page .portal-event-list {
  display: grid !important;
  align-content: start !important;
  overflow: visible !important;
}

.rww-member-calendar-page .portal-event-card {
  align-self: start !important;
  overflow: visible !important;
  transform: none !important;
  transition: none !important;
  animation: none !important;
}

.rww-member-calendar-page .portal-calendar-embed {
  overflow: hidden !important;
}

.rww-member-calendar-page
.portal-calendar-embed iframe {
  display: block !important;
  width: 100% !important;
  height: min(68dvh, 520px) !important;
  min-height: 360px !important;
  max-height: 520px !important;
  border: 0 !important;
}

@media (max-width: 600px) {
  .portal-body.rww-member-calendar-active
  .portal-main {
    width: min(100% - 20px, 1180px) !important;
    padding-top: 18px !important;
    padding-bottom: 40px !important;
  }

  .rww-member-calendar-page
  .portal-page-heading {
    margin-top: 16px !important;
  }

  .rww-member-calendar-page
  .portal-event-card {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    padding: 15px !important;
  }

  .rww-member-calendar-page
  .portal-event-card > time {
    justify-self: start !important;
    width: auto !important;
    min-width: 92px !important;
  }

  .rww-member-calendar-page
  .portal-calendar-embed iframe {
    height: min(62dvh, 460px) !important;
    min-height: 320px !important;
    max-height: 460px !important;
  }
}
/* END RWW MEMBER CALENDAR MOBILE HEIGHT 4.8.8 */

/* RWW MEMBER PORTAL TWO-FACTOR AUTHENTICATION 5.0.1 */
.rww-2fa-card{max-width:560px}
.rww-2fa-setup{max-width:820px}
.rww-2fa-steps{display:grid;gap:10px;padding-left:22px}
.rww-2fa-setup-grid{display:grid;grid-template-columns:minmax(220px,260px) minmax(0,1fr);gap:28px;align-items:center;margin:24px 0}
.rww-2fa-qr{display:grid;place-items:center;width:230px;max-width:100%;min-height:230px;padding:10px;border:1px solid #d7dee5;border-radius:12px;background:#fff}
.rww-2fa-qr img,.rww-2fa-qr canvas{display:block;max-width:100%;height:auto!important}
.rww-2fa-secret{display:block;padding:14px;border-radius:8px;background:#f3f6f8;font-size:1.05rem;font-weight:800;letter-spacing:.12em;overflow-wrap:anywhere;user-select:all}
.rww-2fa-code-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:22px 0}
.rww-2fa-code-grid code{display:block;padding:12px;text-align:center;border:1px solid #d7dee5;border-radius:8px;background:#f7f9fb;font-size:1.05rem;font-weight:800;letter-spacing:.08em;user-select:all}
.rww-2fa-status{display:inline-flex;padding:5px 10px;border-radius:999px;background:#e9edf1;font-weight:800}
.rww-2fa-status.is-enabled{background:#dff4e7;color:#145c31}
.rww-2fa-status.is-warning{background:#fff0cf;color:#744c00}
.portal-button-danger{background:#9f1d20!important;color:#fff!important}
@media(max-width:620px){.rww-2fa-setup-grid{grid-template-columns:1fr}.rww-2fa-code-grid{grid-template-columns:1fr}.rww-2fa-qr{margin-inline:auto}}
@media print{.portal-header,.portal-button-row,.portal-alert{display:none!important}.rww-2fa-code-grid{grid-template-columns:repeat(2,1fr)}}
/* END RWW MEMBER PORTAL TWO-FACTOR AUTHENTICATION 5.0.1 */
