@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:ital,wght@0,100..700;1,100..700&family=Nunito+Sans:ital,opsz,wght@0,6..12,200..1000;1,6..12,200..1000&display=swap');

select, input, textarea {
    -webkit-appearance: none;
  -webkit-border-radius: 0px;
    -moz-appearance: none;
    appearance: none;
    border: none;
    background: none;
    font: inherit;
    color: inherit;
    outline: none;
    box-shadow: none;}
    
    
    

/* PRESET  */
  :root {
  --bgd-body:#292929;

  --bgd-innerbody:#101010;
 
  --text-color: #727272;
  --placeholder-color: #cbcbcb;
  
  --brand-green:#5e9e2d;
  --brand-blue:#15adcf;
  
  --bgd-menu:#76AB42; 
  --bgd-menu-active:#81DB3C;
  
  --title-color: #15ADCF;
  
  --border-separator:#F0F0EE;  
  
    --menu-bgd:#ffffff; 
  --menu-txt: #262626;
  --menu-light: #ffffff;
  
  --menu-close: #ce5a5a;
  --menu-btnhover:#6f6f6f;
  
  --menu-border: #f0f0ee;
  --menu-field: #f0f0ee;
  
  --menu-one:#5e9e2d;
  --menu-two:#0A89B9;      }


  html[data-theme='light'] {
  --bgd-body:#F0F0EE;
  --bgd-innerbody:#ffffff;
  
  --text-color: #727272;
  --placeholder-color: #a2a2a2; 
    --menu-bgd:#ffffff; 
  --menu-txt: #262626;
  
  --menu-one:#5e9e2d;
  --menu-two:#0A89B9;}
  
  a {text-decoration:none;}

  

body { margin: 0px; padding: 0px; height: 100%;min-height: 100vh; font-family: "Nunito Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; font-weight: 400; font-size: 15px;background-color: var(--bgd-body); color: var(--text-color); transition: background-color 0.5s;    overflow: hidden;min-width:380px;}

#container {width: 100%;}
.container {margin:0 auto;max-width:1140px;width:100%;}

#header {width: 100%; overflow: hidden; transition: 0.5s;    margin-top: 10px;}
.header {overflow: hidden; margin: 0 auto;}
.header-inner {display: flex; flex-wrap: nowrap; justify-content: center; align-items: center;padding:6px 0;}

#header-logo {flex-basis: 210px;height: 100%;flex-shrink: 0;align-items: center; justify-content: center;    display: flex;}


.header-logo {display: flex; align-items: center; justify-content: center; }
.logo-image img { display: flex;}
.logo-full-image {text-align:center;}
.logo-full-image img { display: flex;  max-width:90%;    margin: 0 auto;}

#header-search {flex-grow: 1; flex-shrink: 1; }
.header-search{display: flex;flex-wrap: wrap; align-items: center; justify-content: flex-end;max-width:80%;margin:0 auto;}
.search-ico { flex-basis: 30px; flex-shrink: 0;}
.search-input { flex-grow: 1; flex-shrink: 1; }
.search-input input::placeholder {  color: var(--placeholder-color); }

#header-profile {flex-basis: 320px; flex-shrink: 0; }
.header-profile{display: flex;flex-wrap: wrap; align-items: center; justify-content: flex-end;}
.favico { flex-basis: 30px; flex-shrink: 0;padding:0 8px;display: flex;justify-content: center;cursor:pointer;}

.profile-btn { flex-basis: 90px; flex-shrink: 0;}
.hdr-btn {background-color: var(--brand-green);color:#ffffff;font-weight: 400;border-radius:10px;overflow:hidden;padding: 7px 5px 6px 5px;transition:0.4s;cursor:pointer;text-align:center;}
.hdr-btn:hover {background-color: var(--brand-blue);}





.profimg{flex-basis: 40px; flex-shrink: 0;padding:0 10px;}
.profimg img{border-radius: 50%;display: flex;justify-content: center;width: 32px;height: 32px;object-fit: cover;overflow: hidden; display: none;}
#header svg {height: 22px; width: 22px; fill: var(--brand-green); display: flex;}

#content {width: 100%;  transition: 0.5s;margin-top:15px;}
.content {display: flex; flex-wrap: nowrap; justify-content: center;padding:6px 0;gap:20px;height: 100vh;overflow-y:hidden;}

#content-side {flex-basis: 210px;height: 100%;flex-shrink: 0; display: flex;border-radius:15px;background-color:var(--bgd-menu);    overflow-y: auto;  overflow-x: hidden;  scrollbar-width: thin;  scrollbar-color: var(--brand-green) var(--bgd-innerbody);  height: calc(100% - 96px);}
.content-side {width:100%;}

#content-wide { flex-grow: 1; flex-shrink: 1; }
.content-wide {width:100%;}

.side-button {border-radius:15px;color:#ffffff;padding:15px 6px;background-color:var(--brand-green);margin:20px;font-size:1.1em;transition:0.4s;display: flex;flex-wrap: wrap; }
.side-button:hover {background-color:var(--brand-blue);}
.side-svg {flex-basis: 30px; flex-shrink: 0;margin-left:6px;}
.side-svg svg {height: 22px;width: 22px;fill: var(--menu-light);display: flex;}
.side-txt {flex-grow: 1; flex-shrink: 1;}

.content-wide-full {border-radius:15px;background-color:var(--bgd-innerbody);    box-shadow: 2px 2px 3px -2px rgba(0, 0, 0, 0.32);width:100%;}
.cwf-title {padding:15px;font-size:1.8em;font-weight:700;color:var(--title-color); max-width: 720px;white-space: nowrap;overflow: hidden;  text-overflow: ellipsis;}
  
  

.cwf-subtitle {display: flex;justify-content: center;align-items: center;    padding: 5px 10px;gap: 10px;border-top:1px solid var(--border-separator);}
.cwf-subtitle-ico {flex-basis: 60px;text-align:center;}
.cwf-subtitle-ico img { display: flex;  max-width:90%;    margin: 0 auto;}
.cwf-subtitle-title{flex-grow: 1; flex-shrink: 1;font-weight:600;padding-left:10px;font-size:1.2em;}
.cwf-subtitle-link{flex-basis: 120px;text-align: center;letter-spacing: 1px;}
.cwf-subtitle-link a {color:var(--brand-green);}
.cwf-subtitle-link a:hover {color:var(--brand-blue);}

.cwf-content {padding: 0px 10px 10px 90px;    line-height: 1.7em; color: var(--text-color);  white-space: normal;
    overflow-wrap: anywhere;   
    word-wrap: break-word; }
.cwf-content p{    margin: 0 0 15px 0;}

.cwf-footer {padding: 10px 30px 15px 90px;font-size:1.2em;color:var(--brand-blue);font-weight:600;}

.cwf-boxes {display: flex; gap: 15px; flex-wrap: wrap; margin:15px 0px;}
.cwf-box { flex: 1 1 120px; background-color: var(--bgd-innerbody); border-radius: 15px; color: var(--text-color); padding: 25px 10px 25px 10px; text-align: center; box-shadow: 2px 2px 3px -2px rgba(0, 0, 0, 0.32); vertical-align: middle;  justify-content: center;}


.content-page-edit {
height: calc(100% - 6px);
    border-radius: 15px;
    background-color: var(--bgd-innerbody);
    box-shadow: 2px 2px 3px -2px rgba(0, 0, 0, 0.32);
    overflow: hidden;
    position: relative;}
.cwf-edit {
height: calc(100% - 36px);
overflow-y: auto;  overflow-x: hidden;  scrollbar-width: thin;  scrollbar-color: var(--brand-green) var(--bgd-innerbody); 
}




@media screen and (max-width: 380px){ html{  width: 380px; overflow: auto; }}





/* USER MENU  */
#usermenu {}
.usermenu {position: fixed;top: 0;right: -440px; z-index: 10002;height: 100%;width: 340px;background-color: var(--menu-bgd);transition: 0.5s; border-left:1px solid var(--menu-border);}
.user-top {text-align:center;margin-top:4px;display:flex;justify-content: center;align-items: center;padding:6px;}
.user-top-icon {flex-basis: 38px;/*display: flex;*/display:none;}
.user-top-icon img {width: 32px;height: 30px;object-fit: cover;border:1px solid var(--menu-border);border-radius:3px;overflow:hidden;}
.user-top-name {flex-grow: 1;flex-shrink: 1;display:block;padding:4px;    text-align: left;line-height: 0.85em; font-weight: bold;
    text-transform: capitalize;}
.user-top-name small {font-weight:300;color:var(--menu-one);font-size: 0.75em;}
.user-top-button {width: 100%;cursor: pointer; padding: 3px 0px; border-radius: 3px;background-color: var(--menu-close);margin-right:1px;transition:0.4s;}
.user-top-button svg {height: 16px;width: 16px;fill: var(--menu-light);display: flex;    margin: 0 auto;}
.user-top-button:hover {background-color: var(--menu-btnhover);}

.user-close {flex-basis: 24px;}
  
    
    
.user-title {font-size:1em;font-weight:600;color:var(--menu-one);}
.user-section {padding:6px 12px;}
.user-section-line {overflow:hidden;margin:3px 0;}
.user-section-title {font-size:0.75em;color:var(--menu-txt);font-weight:300;}
.user-section-input {}
.user-section-input input {padding: 1px 5px;background-color: var( --menu-field);border-radius:3px;width: calc(100% - 6px);}
.user-section-msg {font-size:0.85em;text-align:center;margin-top: 8px;overflow:hidden;}
.user-register, .user-prijava, .user-recovery {color:var(--menu-one);cursor:pointer;font-weight:600;cursor:pointer;transition:0.3s;}
.user-register:hover, .user-prijava:hover, .user-recovery:hover {color:var(--menu-two);}

.user-section-submit{display: flex;justify-content: center;align-items: center;margin:6px 4px;}
.user-report{flex-grow: 1; flex-shrink: 1;}
.user-button{flex-basis: 100px; display: inline-block; border-radius: 3px; color: #ffffff; background-color: var(--menu-one);text-align: center; padding: 4px 8px;transition:0.3s;font-size:0.85em;cursor:pointer;}
.user-button:hover {background-color: var(--menu-two);}

.editorg{flex-basis: 100px; display: inline-block; border-radius: 3px; color: #ffffff; background-color: var(--menu-one);text-align: center; padding: 4px 8px;transition:0.3s;font-size:0.85em;cursor:pointer;}
.editorg:hover {background-color: var(--menu-two);}


.user-section-note {margin:3px 0;background-color: var(--menu-two);color: #ffffff;padding:6px;border-radius:3px;font-size:0.7em;text-align:left;line-height:1em;font-weight:300;}
.user-content{max-height: calc(100vh - 60px);overflow-y: auto;overflow-x: hidden;scrollbar-width: thin;scrollbar-color: var(--menu-one) var(--menu-bgd);}

.regrpt, .logrpt, .usrrpt  {font-size:0.8em;color:#e75645;padding-left:6px;}
.user-report {text-align:center;font-size:0.85em;line-height: 1.2em;}
.rpterror {color:#e75645;font-weight:500;}
.rptproc {color: var(--menu-one);font-weight:500;}
.rptok {color: #32b78b;font-weight:500;}

.user-media-list{text-align: center;}

.mediaimg {border-radius: 3px;display: inline-block; overflow: hidden; margin: 2px; vertical-align: top;}
.mediaimg img{width:58px;height:58px;object-fit: scale-down;display: flex;background-color: var(--border-color);border: 1px solid var(--border-color);}
.mediaimg:hover {cursor:pointer;}

#usrgallery .mediaimg img{width:36px;height:36px;object-fit: cover;}
#usrgallery .user-section-input{text-align: center;}


.user-optionset {overflow:hidden;margin:4px;border-radius:3px;background-color: var(--menu-one);transition:0.4s;}
.user-option {display: flex;justify-content: center;align-items: center;margin:3px 2px;padding: 6px 4px;cursor: pointer;}
.user-optionset:hover {background-color:var(--brand-blue);}

.user-optnsvg {flex-basis: 26px;justify-content: center;display: flex;}
.user-optnsvg svg {height: 22px;width: 22px;fill: var(--menu-light);display: flex;}
.user-optnttl {flex-grow: 1; flex-shrink: 1;font-size:1em;font-weight:400;padding: 0 8px 0 6px;color: var(--menu-light);}

.user-optnbtn {flex-basis: 24px;cursor: pointer; padding: 0px; border-radius: 3px;background-color: var(--menu-light);margin-right:1px;}
.user-optnbtn svg {height: 22px;width: 22px;fill: var(--menu-txt);display: flex;    margin: 0 auto;}

.user-optiondata {    background-color: var(--menu-bgd); border-radius:3px;margin:3px;padding:4px;}

.edton, .edtsave { flex-basis: 60px;}
.edtclose { flex-basis: 28px;background-color: var(--menu-close);margin-left: 3px;padding:6px 0;}
.edtclose svg {height: 16px;width: 16px;fill: var(--menu-light);display: flex;margin: 0 auto;}


.user-bar {height: calc(100% - 86px);display: flex;flex-direction: column; justify-content: space-between; 
 }
.user-dataset {display:block;position:relative;height:100%;overflow-y: auto;  overflow-x: hidden;    scrollbar-width: thin;   scrollbar-color: var(--menu-one) var(--bgd-body);  }
.user-bottom { text-align: center;}
.user-res-edit {display:none;position:relative; overflow: hidden;height:100%;}
.edit-section-inner{height:100%;}
.user-logoff {display: flex;justify-content: center;align-items: center;padding:6px 6px;color:var(--menu-light);background-color:var(--menu-close);width:100px;margin:0 auto;border-radius:3px;transition:0.4s;}
 .user-logoff svg {height: 22px;width: 22px;fill: var(--menu-light);display: flex;margin-right:4px;}
 .user-logoff:hover {background-color: var(--menu-btnhover);}   
 
 
 
 
 
 
 
 
 
#usrgallery {margin-top:-6px;}
#usrgallery .user-section-input {padding: 2px; background-color: var(--bgd-body);  border-radius: 3px;}
.user-avatar {overflow: hidden;display:inline-block;cursor:pointer;}
.user-avatar img {width:36px;height:36px;object-fit: cover;border: 1px solid var(--border-color);border-radius: 3px;overflow: hidden;transition: filter 0.4s ease;display:flex;}
.user-avatar:hover img {  filter: grayscale(100%);}




.user-media-footer { display: flex;justify-content: center;align-items: center;margin-top:6px;}
    
.user-media-note {flex-basis: 56px;background-color: var(--menu-one);color: var(--menu-light);padding: 3px 0;border-radius: 3px;font-size: 0.85em; font-weight: 300; text-align:center;}
    
    
.user-media-select {flex-grow: 1; flex-shrink: 1;    display: flex;    justify-content: right;}   
.user-media-select-add{background-color: var(--menu-one);color: var(--menu-light);padding: 3px 8px;border-radius: 3px;font-size: 0.85em; font-weight: 400; text-align:center;cursor:pointer;transition:0.4s;} 
.user-media-select-add:hover {background-color: var(--menu-two);}
.user-media-select #imgallery{  display: none;}    

.user-media-upload {flex-grow: 1; flex-shrink: 1;display: flex;justify-content: right;}   
.user-media-upload-add{background-color: var(--menu-one);color: var(--menu-txt);padding: 3px 8px;border-radius: 3px;font-size: 0.85em; font-weight: 400; text-align:center;cursor:pointer;transition:0.4s;} 
.user-media-upload-add:hover {background-color: var(--menu-two);}


.imglist .imglistdata {margin-top:4px;padding:3px;font-size: 0.7em; line-height: 1.1em; font-weight: 300;text-align:right;}


.user-media-upload-cancel {background-color: var(--menu-close);margin-left: 3px;border-radius: 3px;color: var(--menu-txt);   padding: 7px 6px 0px 6px;transition: 0.3s;font-size: 0.85em;cursor: pointer;}
.user-media-upload-cancel:hover {background-color: var(--menu-two);}
.user-media-upload-cancel svg {height: 16px;width: 16px;fill: var(--menu-light);display:flex;}



#popup-overlay {display: none;position: fixed;top: 0;left: 0;width: 100%;height: 100%;background-color: rgba(0, 0, 0, 0.8);z-index: 1002;    justify-content: center;align-items: center;}

.popup-content {position:relative;}
.popup-image img {max-width:100%;border-radius:3px;overflow:hidden;max-height: 90vh; width: auto; display: block; margin: 0 auto;}
.popup-close {position:absolute;border-radius: 3px;padding:6px 6px 5px 6px;top:3px;right:3px;background-color: var(--menu-close);cursor:pointer;}
.popup-close svg {height: 16px;width: 16px;fill: var(--menu-light);display: flex; margin: 0 auto;}


.popup-delete {position: absolute;bottom: 11px;right: 3px;display: flex;justify-content: center;align-items: center;}
.popup-delete-confirm{border-radius: 3px;padding: 5px;    background-color: #b73532;cursor: pointer;transition:0.4s;}
.popup-delete-confirm svg {height: 22px;  width: 22px; fill: var(--menu-light);  display: flex;}
.popup-delete-confirm:hover{background-color: var(--menu-btnhover);}

.popup-delete-action{border-radius: 3px;padding: 1px 6px;background-color: #b73532;cursor: pointer;color: var(--menu-light);display:flex;justify-content: center;   align-items: center;width: 130px;height: 30px;transition:0.4s;}
.popup-delete-action-ttl {flex-grow: 1;  flex-shrink: 1;}
.popup-delete-action-svg {flex-basis: 32px; }
.popup-delete-action-svg svg{height: 22px;width: 22px;fill: var(--menu-light);display: flex;}

.popup-delete-action:hover{background-color: var(--menu-btnhover);}

.popup-delete-cancel {border-radius: 3px;padding:5px;background-color: var(--menu-close);cursor:pointer;margin-left:6px;}
.popup-delete-cancel svg {height: 22px;width: 22px;fill: var(--menu-light);display: flex;}
.popup-delete-cancel:hover{background-color: var(--menu-btnhover);}


.user-media-limited {font-size: 0.85em; line-height: 1em; font-weight: 400; text-align:center;color: var(--menu-close);}
.user-media-upload {  text-align:center;color: var(--menu-one);}




#mediagallery {    text-align: center;}
#mediagallery .mediaimg img {width: 69px;height: auto;    max-height: 45px;    object-fit: cover;}
    
.dragged-image {  border: 1px solid var(--menu-close); width: 69px; height: 45px; position: relative; border-radius: 3px;}
#main-image-preview {  width: 69px; height: 45px;  display: flex;}
.main-image {  display: inline-block;  background-color: var(--menu-bgd); text-align: center; overflow: hidden;  border-radius: 3px;
    padding: 4px; justify-content: center; align-items: center;}
#dragged-images-list { min-height: 96px; display: flex; gap: 4px;flex-wrap: wrap; padding: 4px; border-radius: 3px; background-color: var(--bgd-body);}
#main-image-preview img { width: 100%; height: 100%; object-fit: cover; border-radius: 3x; border: 1px solid var(--menu-border);}
.dragged-image img { width: 100%; height: 100%;  object-fit: cover; border-radius: 3px;}

.remove-btn { position: absolute; top: 2px; right: 2px; background-color: #b73532; color: var(--menu-txt); font-size: 0.65em; border: none; cursor: pointer;  border-radius: 3px;}

a {color:var(--brand-green);}
a:hover {color:var(--brand-blue);}

.content { width: 100%; display: flex; position: relative;}

#content-wide { height: calc(100vh - 94px);}
.content-wide { height: 100%;}
.content-wide-full {max-height: calc(100% - 40px);padding: 20px;width: calc(100% - 40px);height: 100%;}
.content-list {overflow-y: auto;overflow-x: hidden;scrollbar-width: thin;scrollbar-color: var(--brand-green) var(--bgd-innerbody);height: 100%;}

.content-main { border-radius: 15px; background-color: var(--bgd-innerbody); box-shadow: 2px 2px 3px -2px rgba(0, 0, 0, 0.32);width: 100%;height: 100%;overflow:hidden;position:relative;}
.content-main-inner{display:flex;height: calc(100% - 124px);}
.content-main-fhinner{display:flex;height: calc(100% - 72px);border-top: 1px solid var(--border-separator);}

.content-main-filter{background-color:#F8F8F8;}
.content-main-filter-inner { width: 100%; display: flex; position: relative;}
.filter-item { flex: 1;text-align: center; }
.filter-title {text-transform:uppercase;letter-spacing:1px;font-size:0.8em;font-weight:300;overflow:hidden;margin-bottom:3px;padding-left:3px;}
.filter-item select {padding:3px 6px;background-color:var(--bgd-body);border-radius:6px;    width: calc(100% - 6px);}
.filter-inner {padding: 6px;}

.content-main-data{flex-grow: 1;flex-shrink: 1;    height: calc(100% - 4px);    overflow: hidden;}
.content-main-data-top{padding:20px;background-color:var(--bgd-body);}
.content-main-data-list{overflow-y: auto;overflow-x: hidden;scrollbar-width: thin;scrollbar-color: var(--brand-green) var(--bgd-innerbody);height: 100%;    width: calc(100% - 5px);}

.resource-list-area {padding:10px;}
.resource-list-title {font-weight:700;width:600px;overflow:hidden;font-size:1.1em;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;}
.resource-list-desc {font-size:0.85em;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 2;
  overflow: hidden; text-overflow: ellipsis;  max-height: 2.2em; line-height: 1.25em;width:95%;padding:3px 6px;}
.resource-list-organization {font-size:0.85em;overflow: hidden;font-weight:500;color:var(--brand-blue);padding-left:6px;}
.resource-list-organization {
    display: block;
    max-width: 100%;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.filter-results {padding:5px 0;font-size:0.65em;cursor:pointer;}
.filter-results:hover {color:var(--brand-blue);}
.filter-all {color:var(--brand-green);font-weight:700;}


.fltractv {color: var(--brand-blue);}


.cwf-subtitle-link {color:var(--brand-green) ;font-size: 0.85em;    letter-spacing: 2px;}

.cwf-content {overflow-y: auto;overflow-x: hidden;scrollbar-width: thin;scrollbar-color: var(--brand-green) var(--bgd-innerbody);     height: calc(100% - 150px);}

.content-page-full{height: calc(100% - 132px);border-radius: 15px;background-color: var(--bgd-innerbody);box-shadow: 2px 2px 3px -2px rgba(0, 0, 0, 0.32);    overflow: hidden;position:relative;}

.content-page-fhfull{height: calc(100% - 8px);border-radius: 15px;background-color: var(--bgd-innerbody);box-shadow: 2px 2px 3px -2px rgba(0, 0, 0, 0.32);    overflow: hidden;position:relative;}

.ressubtitle {font-size:1.25em;color:var(--brand-blue);padding:6px 0;font-weight:700;margin-top:20px;}
.resminititle {font-size:1em;color:var(--brand-blue);padding:6px 0;font-weight:700;}

.content-inner {padding:20px;}


.user-editbtns {}
.user-editset { overflow: hidden;  margin: 4px 4px 4px 4px; display: flex;  gap: 0 4px;}

.user-editset-edit { flex-grow: 1;flex-shrink: 1; background-color: var(--brand-blue); border-radius: 3px;   display: flex; justify-content: center; align-items: center; padding: 5px 2px; cursor: pointer; transition: 0.3s;}
.user-editsvg { flex-basis: 26px; justify-content: center; display: flex;}   
.user-editsvg svg { height: 22px; width: 22px; fill: #ffffff; display: flex;} 
 .user-edittl { flex-grow: 1; flex-shrink: 1; font-size: 1em; font-weight: 400; padding: 0 8px 0 2px; color: #ffffff;}   
.user-editset-delete { flex-basis: 38px; background-color: #b73532; border-radius: 3px; display: flex; justify-content: center;  align-items: center; padding: 2px;  cursor: pointer; transition: 0.3s;}

.user-editset-cancel {flex-basis: 38px; background-color: var(--menu-close);border-radius:3px;display:flex;justify-content: center; align-items: center;padding: 2px;cursor: pointer;transition:0.3s;}

.user-editset-delete-action {flex-grow: 1;  flex-shrink: 1;background-color: #b73532;border-radius:3px;display:flex;justify-content: center; align-items: center;padding: 5px 2px;cursor: pointer;transition:0.3s;}
.user-editset-edit:hover, .user-editset-delete:hover, .user-editset-cancel:hover, .user-editset-delete-action:hover {background-color: var(--menu-btnhover);}

.edit-section {  overflow: hidden; margin: 4px 4px 0 4px; display: flex; gap: 0 4px;}
.edit-section-update, .edit-member-update {flex-grow: 1; flex-shrink: 1; background-color: var(--brand-blue); border-radius: 3px; display: flex;
    justify-content: center;  align-items: center; padding: 5px 2px;  cursor: pointer; transition: 0.3s;}

.edit-secsvg { flex-basis: 26px; justify-content: center; display: flex;}
.edit-secsvg svg { height: 22px;width: 22px; fill: #ffffff; display: flex;}
.edit-esecttl {flex-grow: 1; flex-shrink: 1; font-size: 1em; font-weight: 400; padding: 0 8px 0 2px; color: #ffffff;}
.edit-section-cancel {flex-basis: 38px; background-color: var(--menu-close); border-radius: 3px; display: flex; justify-content: center; align-items: center;  padding: 2px; cursor: pointer; transition: 0.3s;}

.usror{ margin-bottom: 6px; padding: 0 4px;  overflow-x: hidden; scrollbar-width: thin;scrollbar-color: var(--brand-blue) var(--bgd-innerbody);    height: calc(100% - 46px);}
.org_desc {  resize: vertical;  min-height: 100px; max-height: 280px; scrollbar-width: thin; scrollbar-color: var(--brand-blue) var(--bgd-innerbody);}

.usror .inputfield {
    border-radius: 3px;
    padding: 4px 8px;
    color: var(--text-color);
    width: calc(100% - 16px);
    background-color: var(--bgd-body);
}


.resform { margin-bottom: 6px; padding: 0 4px;  overflow-x: hidden; scrollbar-width: thin;scrollbar-color: var(--brand-blue) var(--bgd-innerbody);    height: calc(100% - 46px);}

.res-section { overflow: hidden; margin: 4px; }
.res-section-data { background-color: var(--menu-bgd); border-radius: 3px; margin: 3px; padding: 4px;}
.datarea { border: 1px solid var(--border-color);    padding: 3px;  margin-bottom: 3px;
    border-radius: 3px;}
.edtarea {    display: block;}
.edtareatitle {    font-size: 0.75em;    display: block;    font-weight: 300;    padding: 0 0 2px 4px;}
.edtareainput {    display: block;}
.resform .inputfield {  border-radius: 3px;  padding: 4px 8px;  color: var(--text-color); width: calc(100% - 16px);  background-color: var(--bgd-body);}
.fulldesc {  resize: vertical;  min-height: 100px; max-height: 280px; scrollbar-width: thin; scrollbar-color: var(--brand-blue) var(--bgd-innerbody);}

.eligibility {  resize: vertical;  min-height: 60px; max-height: 120px; scrollbar-width: thin; scrollbar-color: var(--brand-blue) var(--bgd-innerbody);}

.edit-section-update:hover, .edit-section-cancel:hover, .edit-member-update:hover {background-color: var(--menu-btnhover);}

.user-sidebar-note {text-align:center;}
.user-sidebar-note .popok, .user-sidebar-note .poperror {margin: 4px 4px 0 4px;padding:3px;}
.popok {border-radius:3px;background-color: #32b78b;color: #ffffff;font-weight: 400;font-size:0.85em;line-height:1.2em;}
.poperror{border-radius:3px;background-color: #b73532;color: #ffffff;font-weight: 400;font-size:0.85em;line-height:1.2em;}


.popupset {overflow: hidden;border-radius: 3px;background-color: var(--brand-blue);}
.popuphdr {display: flex;  justify-content: center;align-items: center;margin: 3px 2px;padding: 2px;cursor: pointer;}
.popuphdrsvg {flex-basis: 26px; justify-content: center;  display: flex;}
.popuphdrsvg svg {height: 22px; width: 22px;fill: #ffffff; display: flex;}
.popuphdrttl {flex-grow: 1;flex-shrink: 1; font-size: 1em; font-weight: 400; padding: 0 8px 0 2px;color: #ffffff;}
.popuphdrbtn {flex-basis: 24px; cursor: pointer; padding: 0px; border-radius: 3px;background-color: #ffffff;  margin-right: 1px;z-index:100000;}
.popuphdrbtn svg {height: 22px;width: 22px;fill: var(--brand-zivo);display: flex; margin: 0 auto;}
.popupdata {background-color:var(--menu-bgd);border-radius: 3px;margin: 3px;padding: 4px 4px 0 4px;}
.popuplist {padding-bottom: 0px;  overflow: hidden;}



.faviline {margin-bottom: 3px;display: flex;justify-content: center;align-items: center;padding: 3px; border: 1px solid var(--border-color);border-radius: 3px;    background-color: var(--bgd-body);transition: background-color 0.3s;}
.faviline:hover {background-color:var(--bgd-innerbody);}

.favithumb {flex-basis: 38px;display: flex;}
.favithumb img  {width: 32px;height: 30px;object-fit: cover;border: 1px solid var(--menu-border);border-radius: 3px;overflow: hidden;    display: flow;}
.favititle {flex-grow: 1;flex-shrink: 1;display: block;padding: 4px;text-align: left;line-height: 0.85em;font-size: 0.85em;}
.favibtn {flex-basis: 26px;border-radius: 3px;display: flex;justify-content: center;align-items: center;padding: 2px;cursor: pointer;transition: 0.3s;}
.favibtn svg {height: 22px;width: 22px;fill: #ffffff;display: flex; margin: 0 auto;}
.favisave {background-color: var(--brand-blue);}
.favidel {background-color: #b73532;}
.favibtn:hover {background-color: var(--menu-btnhover);}

#msgpopup { position: fixed; top: 59px;z-index: 9999; text-align:left;width:280px;}

.notowner {background-color:#99ffd5 !important;}

.content-header {display: flex;flex-wrap: nowrap; justify-content: center; align-items: center;}
.content-header-title {flex-grow: 1; flex-shrink: 1; }
.content-header-search {flex-basis: 240px; flex-shrink: 0; align-items: center; justify-content: center;}

.content-header-search input {padding: 3px 6px; background-color: var(--bgd-body); border-radius: 6px;}


.user-resource-list, .members-list  {  padding-bottom: 4px;    overflow: hidden;}
.user-resource-footer {display: flex;   justify-content: center;  align-items: center;}
.user-resource-note { flex-basis: 56px; background-color: var(--brand-green);  color: var(--menu-light); padding: 3px 0px;border-radius: 3px; font-size: 0.85em;font-weight: 300; text-align: center;}
.user-resource-add { flex-grow: 1;  flex-shrink: 1;  display: flex;  justify-content: right;}
.resource-add-btn {background-color: var(--brand-green);  color: var(--menu-light);  padding: 3px 8px;  border-radius: 3px;  font-size: 0.85em; font-weight: 400; text-align: center;  cursor: pointer;  transition: 0.3s;}
.resource-add-btn:hover {background-color: var(--menu-two);}

.resource-line, .members-line {    padding: 5px;  background: #ffffff; border: 1px solid var(--brand-green); margin: 5px 0; border-radius: 4px;transition: 0.3s;}

.resource-line:hover, .members-line:hover {background-color: var(--bgd-body);}

.members-title {cursor:pointer;}

.resform .selectfield {
    border-radius: 3px;
    padding: 4px 8px;
    color: var(--text-color);
    width: calc(100% - 0px);
    background-color: var(--bgd-body);
}

.checkboxfield {
    appearance: auto;
    -webkit-appearance: checkbox;
    -moz-appearance: checkbox;
    width: auto;
    height: auto;
    background-color: initial;
    border-radius: 0;
}

.sctnbtn {display: flex;flex-wrap: nowrap; justify-content: center; align-items: center;background-color: var(--brand-blue); border-radius: 3px;padding: 5px 2px;  cursor: pointer;margin: 2px 0;}
.sectitle {flex-grow: 1; flex-shrink: 1;    padding-left: 8px;    color: #ffffff; }
.secarrow {flex-basis: 28px; flex-shrink: 0; align-items: center; justify-content: center;}
.secarrow svg {height: 22px;width: 22px;fill: #ffffff;display: flex; margin: 0 auto;}
.sectionarea {overflow: hidden;border-radius: 3px;background-color: var(--brand-blue);padding: 2px 2px 0 2px;}
.sectionarea-inner {background:#ffffff;border-radius: 3px;}
    
    
.ressctnbtn {display: flex;flex-wrap: nowrap; justify-content: center; align-items: center;border-bottom: 1px solid var(--brand-blue); cursor: pointer;margin: 16px 0 0 0;}
.ressectitle {flex-grow: 1; flex-shrink: 1;    padding-left: 8px;  font-size: 1.25em; color: var(--brand-blue);    padding: 4px 0 2px 6px; font-weight: 700; }

.ressecarrow {flex-basis: 28px; flex-shrink: 0; align-items: center; justify-content: center;}
.ressecarrow svg {height: 22px;width: 22px;fill: var(--brand-blue);display: flex; margin: 0 auto;}

.ressctnarea {border: 1px solid var(--brand-blue);padding: 5px 15px 10px 15px;border-radius: 0 0 12px 12px;}

.ressubscttitle {    font-size: 1.1em; color: var(--brand-blue);padding: 6px 0 0 0;font-weight: 600;}

.resline {overflow:hidden;padding:4px 0;}
.slientitle {    color: var(--brand-blue);font-weight: 600;}

.admin-add-resource, .admin-add-user {overflow: hidden; margin: 4px; border-radius: 3px;background-color: var(--brand-blue);transition: 0.3s;cursor:pointer;}

.admin-add-resource:hover, .admin-add-user:hover {background-color: var(--menu-btnhover);}

.wysiwyg {    margin-left: 6px;background-color: #6c9c25;border-radius: 2px;padding: 1px 6px 0 6px;color: #ffffff;cursor:pointer;transition: 0.3s;}
.wysiwyg:hover {background-color: var(--menu-btnhover);}


.active {    background-color: #81DB3C;}


.mediaupld {
    display: inline-block;
    padding: 8px 20px;
    background-color: #007BFF;
    color: white;
    cursor: pointer;
    border-radius: 5px;
    font-weight: bold;
    text-align: center;
    margin: 2px 0 0 2px;
}

.editres, .updtres, .addres, .updtorg, .updtdis, .updttype, .updtreg, .updtcity, .updtusr, .updtport, .updtclnt, .setpass  {position:absolute;right:8px;top:12px;background:var(--brand-blue);padding:8px;z-index:1000;cursor:pointer;transition: 0.3s;border-radius:50%;}
.editres svg, .updtres svg, .addres svg, .updtorg svg, .updtdis svg, .updttype svg, .updtreg svg, .updtcity svg, .updtusr svg, .updtport svg, .updtclnt svg, .setpass svg{height: 22px;width: 22px;fill: var(--menu-light);display: flex;}
.editres:hover, .updtres:hover, .addres:hover, .updtorg:hover, .updtdis:hover, .updttype:hover, .updtreg:hover, .updtcity:hover, .updtusr:hover, .updtport:hover, .updtclnt:hover, .setpass:hover {background:var(--menu-btnhover);}


.emlusr{position:absolute;right:92px;top:12px;background:var(--brand-green);padding:8px;z-index:1000;cursor:pointer;transition: 0.3s;border-radius:50%;}
.emlusr svg {height: 22px;width: 22px;fill: var(--menu-light);display: flex;}
.emlusr:hover {background:var(--menu-btnhover);}


.brief {height:66px;resize: none;}



.dltres, .dltorg, .dltdis, .dlttype, .dltreg, .dltcity, .dltusr, .dltport {position:absolute;right:92px;top:12px;background:#f42424;padding:8px;z-index:1000;cursor:pointer;transition: 0.3s;border-radius:50%;}
.dltres svg, .dltorg svg, .dltdis svg, .dlttype svg, .dltreg svg, .dltcity svg, .dltusr svg, .dltport svg{height: 22px;width: 22px;fill: var(--menu-light);display: flex;}
.dltres:hover, .dltorg:hover, .dltdis:hover, .dlttype:hover, .dltreg:hover, .dltcity:hover, .dltusr:hover, .dltport:hover {background:var(--menu-btnhover);}

.dltyes, .emlyes, .dltresport, .dltclpres {background-color: var(--brand-green);  background-color: var(--brand-blue);  padding: 6px 10px;  border-radius: 3px;  text-align: center;  cursor: pointer;  transition: 0.3s;display:inline-block;color:#ffffff;user-select: none;            /* Standard */
    -webkit-user-select: none;    /* Chrome/Safari */
    -moz-user-select: none;       /* Firefox */
    -ms-user-select: none;   }
.dltyes:hover, .emlyes:hover, .dltresport:hover, .dltclpres:hover {background-color: var(--menu-two);}


.resource-list-desc p {padding:0px;    margin: 0px;}

.portline {padding:5px 0;overflow:hidden;}
.portline label {
    display: flex;
    align-items: center;
    gap: 8px; /* optional spacing between checkbox and text */
    font-size: 16px; /* adjust as needed */
}

.portline input[type=checkbox] {
    width: 22px;
    height: 22px;
    color: var(--text-color);
    background-color:var(--bgd-body);
    appearance: none; /* if you're customizing style */
    border: 2px solid var(--brand-green);
    border-radius: 4px;
    cursor: pointer;
}

.portline input[type=checkbox]:checked {
    background-color: var(--brand-green);
}

.inclresport {display: inline-block; border-radius: 3px; color: #ffffff; background-color: var(--menu-one);text-align: center; padding: 4px 10px;transition:0.3s;cursor:pointer;}
.inclresport:hover {background-color: var(--menu-two);}

.portres {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(23, 54, 61, .10);
}
.portres:last-child {border-bottom: 0;}
.portresttl {
  flex: 1 1 auto;
  min-width: 0;
}
.portresttl a {
  display: inline-block;
  line-height: 1.4;
}
.delportres {
  position: relative;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 1px solid rgba(196, 53, 53, .34);
  border-radius: 12px;
  background: #fff0f0;
  box-shadow: 0 4px 12px rgba(23, 54, 61, .12);
  cursor: pointer;
  transition: transform .3s ease, background-color .3s ease,
              border-color .3s ease, box-shadow .3s ease;
}
.delportres svg {
  width: 21px;
  height: 21px;
  display: block;
  fill: #c43535;
  transition: fill .3s ease, transform .3s ease;
}
.delportres:hover {
  transform: translateY(-2px);
  background: #c43535;
  border-color: #c43535;
  box-shadow: 0 8px 18px rgba(196, 53, 53, .22);
}
.delportres:hover svg {
  fill: #ffffff;
  transform: scale(1.06);
}
.delportres:focus-visible {
  outline: 3px solid rgba(196, 53, 53, .22);
  outline-offset: 3px;
}

.clipdlt {
  flex-basis: 22px;
  text-align: center;
  flex-shrink: 0;
  background: #f42424;
  padding: 4px;
  cursor: pointer;
  transition: .3s;
  border-radius: 6px;
}
.clipdlt svg {height: 22px;width: 22px;fill: var(--menu-light);display: flex;}
.clipdlt:hover {background:var(--menu-btnhover);}

.clipline {display: flex;flex-wrap: nowrap; align-items: center; justify-content: flex-end;}
.clipset {flex-grow: 1;  flex-shrink: 1;}


.share-services {
  list-style: none;
      padding: 10px;
  margin: 0;
}
.share-services li {
  margin: 8px 0;
  padding: 6px 0;
}
.share-services a {
  text-decoration: none;
  color: #333;
  font-size: 16px;
  display: flex;
  align-items: center;
}
.share-services .material-icons {
  font-size: 20px;
  margin-right: 8px;
  color: #555;
  transition: 0.3s;
}
.share-services a:hover .material-icons {
  color: #007bff;
}

.boxicon {text-align:center;padding-bottom:6px;}
.boxicon svg {height: 36px;width: 36px;fill: var(--brand-green);display: flex;margin:0 auto;}
.boxtitle {text-align:center;font-weight:bold;}
a:hover .boxicon svg path {  fill: var(--brand-blue);}

.addresport, .clipresport, .shareresport {color:var(--brand-green);cursor:pointer;}
.addresport:hover, .clipresport:hover, .shareresport:hover {color:var(--brand-blue);}
.addresport:hover svg path, .clipresport:hover  svg path, .shareresport:hover  svg path {  fill: var(--brand-blue);}

.cancelbtn {
    position: absolute;
    right: 50px;
    top: 12px;
    background:var(--menu-btnhover);
    padding: 8px;
    z-index: 1000;
    cursor: pointer;
    transition: 0.3s;
    border-radius: 50%;}
.cancelbtn svg {
    height: 22px;
    width: 22px;
    fill: var(--menu-light);
    display: flex;}
    
.cancelbtn:hover {    background-color: #9d9a9a;}    

.passet .inputtitle {display:inline-block;}
.passet .usrpasswordrpt, .passet .usrpasswordrpt2 {display:inline-block;padding-left:6px;color:red;}

.filter-age-field {display: block; width: 100%;}
.filter-age-ini {width: 85px !important;    display: inline-block;}

.filter-age  {width: 50px;    display: inline-block;background-color: var(--bgd-body);
    border-radius: 6px;    padding: 3px 6px;margin-left:4px;}
    
    
#pagination  {width: 100%;    background-color: #f0f0ee;    overflow: hidden;    text-align: center;    padding: 5px 0;}
#pagination button {    background-color: var(--brand-green);
    color: #ffffff;
    font-weight: 400;
    border-radius: 6px;
    overflow: hidden;
    padding: 5px 8px 4px 8px;
    transition: 0.4s;
    cursor: pointer;
    text-align: center;
    border: none;}
#pagination button:hover {    background-color: var(--brand-blue);}

#pagination select    { display:inline-block;   padding: 3px 6px;
    background-color: #ffffff;
    border-radius: 6px;
   width:50px;}
    
#pagination .pagset { display:inline-block;width:120px;margin-left:10px;}
#pagination .pagbtn{display:inline-block;}

#prev {margin-right:6px;}
#next {margin-left:6px;}






.reslist .resource-list-area {display: flex;flex-wrap: nowrap;  align-items: center;}
.reslist .resource-data {flex-grow: 1;    flex-shrink: 1;}
.reslist .resource-share {    flex-basis: 62px;    flex-shrink: 0;display:block;}

.reslist .resource-share .clipresport {display:inline-block;    margin: 0 2px;}
.reslist .resource-share .shareresport {display:inline-block;margin: 0 2px;}
.reslist .resource-share .boxicon svg {height: 24px; width: 24px;}

  .hamburger{ display: none; }
  
  .logo-ico-image {display:none;}
.logo-full-image {display:block;}

.logo-ico-image img {width:40px;}



@media (max-width: 680px){

.content-main-filter-inner{  display:flex; flex-wrap:wrap; gap:6px;  justify-content: center;        width: calc(100% - 12px);        margin: 0 auto;}
.filter-item{  flex: 0 0 calc(50% - 9px);  text-align:center;}

.content-main-inner {    height: calc(100% - 310px);}

.resource-list-title{width:95%;        max-width: 360px;}

.reslist .resource-share {display:none;}
.resource-list-area {display: block;}

.filter-item select {max-width:120px; }

.content-main-filter {   }

.content-main {    width: initial;}


.cwf-subtitle-link {display:none;}

.cwf-title   { white-space: wrap;        width: calc(100% - 60px);}

.cwf-box {    flex: 1 1 56px;}

.content-page-full {    height: calc(100% - 130px);}
    
 .cwf-content {   height: calc(100% - 200px);}
 
.content-page-edit {           margin-left: 5px;}


.resform {    height: calc(100% - 60px);}

.content-header-search {    flex-basis: 190px;}


.resource-list-organization{width:95%;        max-width: 360px;}

}



@media (max-width: 1024px){

.header-search { justify-content: flex-start;}
.search-input {max-width:120px;}


.logo-full-image {display:none;}
.logo-ico-image {display:block;}

#header-logo {    flex-basis: 60px;}

#header-profile {    flex-basis: 100px;}
.header-search { margin: 0px; }


body {    width: calc(100% - 5px);}

.resource-list-area {margin: 0 auto; }

#header {  }

#header-logo {    margin-left: 40px;}

.content-main {
margin: 0 5px;}

  /* Off-canvas container (don't use display:none on the parent) */
  #content-side{
    position: fixed;
    top: 0; left: 0;
    height: 100dvh;
    width: 260px;
    transform: translateX(-280px);       /* hidden by default */
    transition: transform .3s ease;
    z-index: 1000;
    border-radius: 0px;
  }

  /* The inner sidebar content area */
  #content-side .content-side{
    overflow-y: auto;
    background: var(--bgd-menu);
    padding: 16px;
    box-shadow: 8px 0 24px rgba(0,0,0,.35);
  }

  /* When open, slide in */
  #content-side.is-open{
    transform: translateX(0);
  }

  /* Hamburger visible on mobile/tablet */
  .hamburger{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    position: fixed;          /* or absolute inside your header */
    top: 12px; left: 4px;
    width: 44px; height: 44px;
    border: 1px solid rgba(255,255,255,.12);
    background: rgba(255,255,255,.06);
    border-radius: 10px;
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
    z-index: 1100;
    -webkit-tap-highlight-color: transparent;
  }

  /* Dim page when menu is open (optional overlay via body class) */
  body.menu-open::after{
    content:"";
    position: fixed; inset: 0;
    background: rgba(0,0,0,.55);
    z-index: 900;
  }
}
  
/* =========================================================
   FSBC modern public shell override - May 2026
   Replaces fixed/sidebar feel with fluid top navigation.
   ========================================================= */
body.fsbc-modern-shell{
  overflow:auto !important;
  min-width:0 !important;
  background:
    radial-gradient(circle at top left, rgba(118,171,66,.15), transparent 32rem),
    linear-gradient(180deg, #f7fbf5 0%, #eef7fa 100%);
  color:#1d2c2f;
}
body.fsbc-modern-shell::after{display:none;}
body.fsbc-modern-shell .container,
body.fsbc-modern-shell #container{max-width:none;width:100%;}
.fsbc-site-header{
  position:sticky;top:0;z-index:900;background:rgba(255,255,255,.92);
  backdrop-filter:blur(16px);border-bottom:1px solid rgba(10,137,185,.14);
  box-shadow:0 12px 30px rgba(30,64,70,.06);
}
.fsbc-topbar{max-width:1280px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;gap:22px;}
.fsbc-brand{display:flex;align-items:center;flex:0 0 auto;}
.fsbc-brand img{display:block;height:auto;}
.fsbc-brand-full{width:190px;max-width:190px;}
.fsbc-brand-icon{display:none;width:44px;}
.fsbc-desktop-nav{display:flex;align-items:center;gap:8px;flex:1 1 auto;justify-content:center;}
.fsbc-desktop-nav .side-button{margin:0;padding:10px 14px;border-radius:999px;background:transparent;color:#25383c;display:flex;align-items:center;gap:8px;font-weight:700;font-size:.96rem;}
.fsbc-desktop-nav .side-button:hover,.fsbc-desktop-nav .side-button.active{background:rgba(118,171,66,.14);color:#34651c;}
.fsbc-desktop-nav .side-svg{display:none;}
.fsbc-desktop-nav .side-txt{padding:0;}
.fsbc-header-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto;}
.fsbc-translate-btn{border:1px solid rgba(10,137,185,.22);background:#fff;color:#0a668a;border-radius:999px;padding:9px 14px;font-weight:700;cursor:pointer;}
.fsbc-profile{display:flex;align-items:center;justify-content:flex-end;}
.fsbc-profile .hdr-btn{border-radius:999px;padding:9px 16px;background:#76ab42;font-weight:700;}
.fsbc-menu-toggle{display:none;position:static;width:44px;height:44px;border:0;background:#0a89b9;border-radius:14px;align-items:center;justify-content:center;flex-direction:column;gap:4px;cursor:pointer;}
.fsbc-menu-toggle span{display:block;width:20px;height:2px;background:#fff;border-radius:2px;}
.fsbc-header-searchbar{max-width:1280px;margin:0 auto;padding:0 24px 16px;}
.fsbc-search-box{max-width:760px;margin:0 auto;display:flex;align-items:center;gap:12px;background:#fff;border:1px solid rgba(10,137,185,.18);border-radius:20px;padding:11px 16px;box-shadow:0 12px 28px rgba(10,137,185,.08);}
.fsbc-search-box .search-ico{flex:0 0 28px;cursor:pointer;}
.fsbc-search-box input{border:0;background:transparent;outline:0;width:100%;font-size:1rem;color:#213438;}
.fsbc-search-box svg{fill:#0a89b9;}
.fsbc-page-wrap{width:100%;margin:0;padding:34px 22px 70px;box-sizing:border-box;}
.fsbc-page-container{max-width:1280px;margin:0 auto;}
body.fsbc-modern-shell #content{margin:0;width:100%;}
body.fsbc-modern-shell .content-main{margin:0;background:transparent;box-shadow:none;border-radius:0;}
body.fsbc-modern-shell .content-main-inner,
body.fsbc-modern-shell .content-main-fhinner{height:auto;overflow:visible;}
body.fsbc-modern-shell .content-main-data-list{background:transparent;}
body.fsbc-modern-shell .content-header{background:transparent;border:0;padding:0 0 18px 0;}
body.fsbc-modern-shell .cwf-title{font-size:2rem;padding:0;white-space:normal;color:#19363d;}
body.fsbc-modern-shell .content-main-filter{background:#fff;border:1px solid rgba(10,137,185,.12);border-radius:24px;margin:0 0 24px;padding:18px;box-shadow:0 18px 42px rgba(21,58,67,.08);}
body.fsbc-modern-shell .content-main-filter-inner{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:14px;}
body.fsbc-modern-shell .filter-item{width:auto;margin:0;}
body.fsbc-modern-shell .filter-inner{background:#f7fbf5;border-radius:18px;padding:12px;border:1px solid rgba(118,171,66,.18);}
body.fsbc-modern-shell select,body.fsbc-modern-shell input{border-radius:12px;border:1px solid rgba(32,73,80,.15);padding:10px;background:#fff;}
body.fsbc-modern-shell .resource-list-area{background:#fff;border:1px solid rgba(10,137,185,.12);border-radius:22px;margin:0 0 14px;padding:18px 18px;box-shadow:0 14px 32px rgba(21,58,67,.07);transition:transform .2s ease, box-shadow .2s ease;}
body.fsbc-modern-shell .resource-list-area:hover{transform:translateY(-2px);box-shadow:0 18px 44px rgba(21,58,67,.11);}
body.fsbc-modern-shell .resource-list-title a{color:#0a668a;font-size:1.18rem;font-weight:800;}
body.fsbc-modern-shell .resource-list-organization{color:#4b673c;font-weight:700;margin-top:4px;}
body.fsbc-modern-shell .resource-list-desc{line-height:1.55;color:#41565a;margin-top:8px;}
.fsbc-mobile-panel{position:fixed;inset:0 auto 0 0;width:min(86vw,340px);transform:translateX(-105%);transition:transform .25s ease;z-index:1200;background:#fff;box-shadow:20px 0 50px rgba(0,0,0,.22);overflow:auto;}
.fsbc-mobile-panel.is-open{transform:translateX(0);}
.fsbc-mobile-panel-inner{padding:18px;display:block;background:#fff;}
.fsbc-mobile-panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;}
.fsbc-mobile-panel-head img{width:170px;}
.fsbc-menu-close{border:0;background:#eef7fa;color:#0a668a;border-radius:12px;width:40px;height:40px;font-size:28px;line-height:1;cursor:pointer;}
.fsbc-mobile-panel .side-button{margin:8px 0;padding:14px;border-radius:16px;background:#f1f7ed;color:#20363a;display:flex;align-items:center;}
.fsbc-mobile-panel .side-button.active,.fsbc-mobile-panel .side-button:hover{background:#76ab42;color:#fff;}
.fsbc-mobile-panel .side-svg svg{fill:currentColor;}
.fsbc-mobile-helper{margin-top:18px;padding:14px;border-radius:16px;background:#eef7fa;color:#34545b;line-height:1.45;}
body.menu-open:before{content:"";position:fixed;inset:0;background:rgba(13,36,42,.45);z-index:1100;}
.fsbc-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:30px;align-items:center;padding:48px;border-radius:34px;background:linear-gradient(135deg,#ffffff 0%,#eff8ec 54%,#e9f7fb 100%);box-shadow:0 24px 70px rgba(21,58,67,.12);border:1px solid rgba(10,137,185,.12);}
.fsbc-eyebrow,.fsbc-pill{display:inline-flex;align-items:center;border-radius:999px;background:rgba(118,171,66,.16);color:#376d1e;font-weight:800;padding:7px 12px;font-size:.86rem;}
.fsbc-hero h1{font-size:clamp(2.3rem,5vw,4.8rem);line-height:.98;margin:18px 0;color:#17363d;letter-spacing:-.055em;max-width:860px;}
.fsbc-hero p{font-size:1.16rem;line-height:1.65;max-width:760px;color:#41565a;}
.fsbc-hero-search{display:flex;gap:10px;background:#fff;border:1px solid rgba(10,137,185,.18);border-radius:20px;padding:9px;margin:26px 0 18px;max-width:720px;box-shadow:0 18px 36px rgba(10,137,185,.1);}
.fsbc-hero-search input{flex:1;border:0;outline:0;font-size:1rem;padding:12px;background:transparent;}
.fsbc-hero-search button,.fsbc-btn{border:0;border-radius:16px;padding:13px 18px;font-weight:800;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;}
.fsbc-btn-primary,.fsbc-hero-search button{background:#0a89b9;color:#fff;}
.fsbc-btn-secondary{background:#fff;color:#0a668a;border:1px solid rgba(10,137,185,.2);}
.fsbc-btn-light{background:#fff;color:#34651c;}
.fsbc-hero-actions{display:flex;gap:12px;flex-wrap:wrap;}
.fsbc-hero-card{background:#17363d;color:#fff;border-radius:28px;padding:26px;box-shadow:0 20px 60px rgba(23,54,61,.24);}
.fsbc-card-label{font-weight:900;color:#bce7ff;margin-bottom:18px;text-transform:uppercase;font-size:.78rem;letter-spacing:.08em;}
.fsbc-stat-row{display:flex;justify-content:space-between;gap:18px;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.14);}
.fsbc-stat-row span{color:#d9edf3;text-align:right;}
.fsbc-card-note{margin-top:18px;line-height:1.55;color:#dcefd7;}
.fsbc-funnel,.fsbc-info-grid,.fsbc-update-band{margin-top:28px;}
.fsbc-section-head span{color:#4f8b2a;font-weight:900;text-transform:uppercase;font-size:.8rem;letter-spacing:.08em;}
.fsbc-section-head h2{margin:6px 0 18px;font-size:2rem;color:#17363d;}
.fsbc-path-grid,.fsbc-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.fsbc-path-card,.fsbc-info-card{background:#fff;border:1px solid rgba(10,137,185,.12);border-radius:24px;padding:24px;text-decoration:none;color:#20363a;box-shadow:0 16px 40px rgba(21,58,67,.07);}
.fsbc-path-card:hover{transform:translateY(-2px);}
.fsbc-path-icon{width:46px;height:46px;border-radius:16px;background:#eef7fa;color:#0a668a;display:flex;align-items:center;justify-content:center;font-weight:900;}
.fsbc-path-card h3,.fsbc-info-card h3{margin:18px 0 8px;color:#17363d;}
.fsbc-path-card p,.fsbc-info-card p{line-height:1.55;color:#52676b;}
.fsbc-update-band{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#76ab42;color:#fff;border-radius:28px;padding:28px 32px;box-shadow:0 20px 50px rgba(118,171,66,.2);}
.fsbc-update-band h2{margin:12px 0 8px;color:#fff;}
.fsbc-update-band p{margin:0;color:#f4fff0;}
.fsbc-update-band .fsbc-pill{background:rgba(255,255,255,.18);color:#fff;}
@media (max-width:1024px){
  .fsbc-desktop-nav{display:none;}.fsbc-menu-toggle{display:flex;}.fsbc-brand-full{display:none;}.fsbc-brand-icon{display:block;}.fsbc-topbar{padding:12px 16px;}.fsbc-header-searchbar{padding:0 16px 12px;}.fsbc-page-wrap{padding:22px 14px 50px;}.fsbc-hero{grid-template-columns:1fr;padding:30px;}.fsbc-path-grid,.fsbc-info-grid{grid-template-columns:1fr;}body.fsbc-modern-shell .content-main-filter-inner{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:640px){
  .fsbc-translate-btn{display:none;}.fsbc-profile .profile-btn{display:none;}.fsbc-hero{padding:24px;border-radius:24px;}.fsbc-hero-search{flex-direction:column;}.fsbc-hero h1{font-size:2.35rem;}.fsbc-update-band{display:block;padding:24px;}.fsbc-update-band .fsbc-btn{margin-top:16px;}body.fsbc-modern-shell .content-main-filter-inner{grid-template-columns:1fr;}.fsbc-card-note,.fsbc-stat-row{font-size:.94rem;}
}

/* =========================================================
   FSBC v4 refinements: reliable hamburger + compact filters
   ========================================================= */
body.fsbc-modern-shell .fsbc-mobile-panel#content-side{
  position:fixed !important;
  inset:0 auto 0 0 !important;
  width:min(88vw,360px) !important;
  height:100dvh !important;
  transform:translateX(-110%) !important;
  transition:transform .25s ease !important;
  z-index:1300 !important;
  background:#fff !important;
  border-radius:0 24px 24px 0 !important;
  display:block !important;
  overflow:auto !important;
  box-shadow:20px 0 60px rgba(0,0,0,.24) !important;
}
body.fsbc-modern-shell .fsbc-mobile-panel#content-side.is-open{transform:translateX(0) !important;}
body.fsbc-modern-shell .fsbc-mobile-panel .fsbc-mobile-panel-inner{background:#fff !important;min-height:100%;box-shadow:none !important;}
body.menu-open{overflow:hidden !important;}
body.menu-open:before{z-index:1200 !important;}
.fsbc-menu-toggle{position:relative !important;z-index:1400 !important;}

body.fsbc-modern-shell .fsbc-resource-hero-mini{
  display:grid;grid-template-columns:minmax(0,1fr);gap:22px;align-items:center;
  background:linear-gradient(135deg,#ffffff 0%,#f1f8ed 58%,#eef9fc 100%);
  border:1px solid rgba(10,137,185,.12);border-radius:30px;padding:28px 30px;margin-bottom:18px;
  box-shadow:0 20px 54px rgba(21,58,67,.09);
}
body.fsbc-modern-shell .fsbc-resource-hero-mini h1{margin:10px 0 8px;font-size:clamp(2rem,4vw,3.4rem);line-height:1;color:#17363d;letter-spacing:-.04em;}
body.fsbc-modern-shell .fsbc-resource-hero-mini p{margin:0;color:#52676b;line-height:1.55;max-width:720px;}
body.fsbc-modern-shell .fsbc-resource-hero-search input{width:100%;box-sizing:border-box;border-radius:18px;padding:15px 16px;font-size:1rem;background:#fff;box-shadow:0 14px 34px rgba(10,137,185,.08);}

body.fsbc-modern-shell .fsbc-filter-shell{margin:0 0 18px;}
body.fsbc-modern-shell .fsbc-filter-toggle{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;
  background:#fff;border:1px solid rgba(10,137,185,.14);border-radius:22px;padding:16px 18px;cursor:pointer;
  box-shadow:0 12px 30px rgba(21,58,67,.06);color:#19363d;
}
body.fsbc-modern-shell .fsbc-filter-toggle strong{display:block;font-size:1.05rem;color:#17363d;}
body.fsbc-modern-shell .fsbc-filter-toggle small{display:block;margin-top:3px;color:#667a7e;font-weight:500;}
body.fsbc-modern-shell .fsbc-filter-toggle b{width:38px;height:38px;border-radius:14px;background:#eef7fa;color:#0a668a;display:flex;align-items:center;justify-content:center;font-size:1.6rem;line-height:1;}
body.fsbc-modern-shell .content-main-filter.fsbc-filter-panel{margin:12px 0 0;padding:16px;border-radius:22px;}
body.fsbc-modern-shell .fsbc-filter-actions{display:flex;justify-content:flex-end;margin-top:12px;}
body.fsbc-modern-shell .fsbc-clear-filters{border:0;background:#eef7fa;color:#0a668a;border-radius:999px;padding:9px 14px;font-weight:800;cursor:pointer;}

body.fsbc-modern-shell .resource-list-area{align-items:flex-start !important;padding:20px 22px !important;}
body.fsbc-modern-shell .resource-data{padding:2px 10px 2px 0;}
body.fsbc-modern-shell .resource-list-title{padding:2px 0 8px !important;width:auto !important;max-width:none !important;line-height:1.3;}
body.fsbc-modern-shell .resource-list-title a{display:inline-block;padding-right:10px;text-decoration:none;}
body.fsbc-modern-shell .resource-list-organization{padding:0 0 4px !important;width:auto !important;max-width:none !important;}
body.fsbc-modern-shell #pagination{border-radius:18px;background:#fff;border:1px solid rgba(10,137,185,.12);margin:0 0 18px;padding:12px;box-shadow:0 10px 24px rgba(21,58,67,.05);}

@media (max-width:760px){
  body.fsbc-modern-shell .fsbc-resource-hero-mini{grid-template-columns:1fr;padding:22px;border-radius:24px;}
  body.fsbc-modern-shell .fsbc-resource-hero-mini h1{font-size:2.15rem;}
  body.fsbc-modern-shell .resource-list-area{padding:18px !important;}
}

/* FSBC age range filter */
body.fsbc-modern-shell .fsbc-filter-age-item .filter-inner{background:#f4fbff;border-color:rgba(10,137,185,.18);}
.fsbc-age-filter{display:grid;gap:8px;width:100%;}
.fsbc-age-filter select.filter-age-mode{width:100%!important;max-width:none!important;}
.fsbc-age-specific input,
.fsbc-age-range input{width:100%;box-sizing:border-box;}
.fsbc-age-range{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;}
.fsbc-age-range span{font-size:.82rem;font-weight:800;color:#5c7378;text-transform:uppercase;letter-spacing:.04em;}
.fsbc-age-help{font-size:.78rem;line-height:1.35;color:#60777c;text-align:left;}
@media (max-width:640px){.fsbc-age-range{grid-template-columns:1fr;}.fsbc-age-range span{text-align:left;}}

/* FSBC v6 age range filter: inputs are visible/modern and JS only enables the active one */
.fsbc-age-filter{display:grid;gap:10px;width:100%;}
.fsbc-age-filter select.filter-age-mode{width:100%!important;max-width:none!important;}
.fsbc-age-inputs{display:grid;gap:10px;}
.fsbc-age-specific,
.fsbc-age-range{display:none;}
.fsbc-age-specific.is-active,
.fsbc-age-range.is-active{display:grid!important;}
.fsbc-age-specific{gap:5px;}
.fsbc-age-range{grid-template-columns:1fr 1fr;gap:10px;}
.fsbc-age-specific span,
.fsbc-age-range span{display:block;margin-bottom:5px;font-size:.76rem;font-weight:800;color:#5c7378;text-transform:uppercase;letter-spacing:.04em;}
.fsbc-age-specific input,
.fsbc-age-range input{width:100%;box-sizing:border-box;border:1px solid rgba(37,83,89,.22);border-radius:12px;padding:11px 12px;background:#fff;font-size:.95rem;}
.fsbc-age-help{font-size:.78rem;line-height:1.35;color:#60777c;text-align:left;}
@media (max-width:640px){.fsbc-age-range{grid-template-columns:1fr;}}


/* FSBC v8 age input visibility fallback
   Works even if footer.js cache is stale, because Chrome supports :has(). */
.fsbc-age-filter .fsbc-age-specific,
.fsbc-age-filter .fsbc-age-range{
  display:none !important;
}
.fsbc-age-filter[data-age-mode="specific"] .fsbc-age-specific,
.fsbc-age-filter:has(.filter-age-mode option[value="specific"]:checked) .fsbc-age-specific{
  display:grid !important;
}
.fsbc-age-filter[data-age-mode="range"] .fsbc-age-range,
.fsbc-age-filter:has(.filter-age-mode option[value="range"]:checked) .fsbc-age-range{
  display:grid !important;
}
.fsbc-age-filter .fsbc-age-inputs{
  margin-top:10px;
}
.fsbc-age-filter input[type="number"]{
  min-height:44px;
}
.fsbc-age-filter select.filter-age-mode{
  min-height:44px;
}

/* FSBC resource card polish - v9 */
body.fsbc-modern-shell .reslist .resource-list-area{
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:18px;
  align-items:center !important;
  padding:24px 26px !important;
}
body.fsbc-modern-shell .reslist .resource-data{
  padding:0 !important;
  min-width:0;
}
body.fsbc-modern-shell .resource-list-title{
  width:auto !important;
  max-width:none !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  line-height:1.2;
  padding:2px 0 4px;
}
body.fsbc-modern-shell .resource-list-title a{
  display:inline-block;
  padding:2px 0;
}
body.fsbc-modern-shell .resource-list-organization{
  padding-left:0 !important;
  width:auto !important;
  max-width:none !important;
  font-size:.95rem !important;
  line-height:1.35;
}
body.fsbc-modern-shell .resource-list-desc{
  font-size:1rem !important;
  line-height:1.6 !important;
  display:block !important;
  -webkit-line-clamp:unset !important;
  overflow:visible !important;
  margin-top:10px !important;
}
body.fsbc-modern-shell .reslist .resource-share{
  display:flex !important;
  flex-basis:auto !important;
  flex-shrink:0;
  gap:8px;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  min-width:260px;
}
body.fsbc-modern-shell .fsbc-resource-view{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 18px;
  border-radius:999px;
  background:#0a89b9;
  color:#fff !important;
  font-weight:800;
  text-decoration:none;
  box-shadow:0 10px 24px rgba(10,137,185,.22);
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
body.fsbc-modern-shell .fsbc-resource-view:hover{
  background:#076f95;
  transform:translateY(-1px);
  box-shadow:0 14px 30px rgba(10,137,185,.28);
}
body.fsbc-modern-shell .fsbc-resource-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:40px;
  padding:0 13px;
  border:1px solid rgba(10,137,185,.22);
  border-radius:999px;
  background:#fff;
  color:#225c68;
  font:inherit;
  font-size:.92rem;
  font-weight:800;
  cursor:pointer;
  transition:background .18s ease, border-color .18s ease, transform .18s ease;
}
body.fsbc-modern-shell .fsbc-resource-action svg path{
  fill:#225c68;
}
body.fsbc-modern-shell .fsbc-resource-action:hover{
  background:#eef8fb;
  border-color:rgba(10,137,185,.42);
  transform:translateY(-1px);
}
body.fsbc-modern-shell .fsbc-resource-action .boxicon{display:none;}

@media (max-width: 860px){
  body.fsbc-modern-shell .reslist .resource-list-area{
    grid-template-columns:1fr;
    padding:20px !important;
  }
  body.fsbc-modern-shell .reslist .resource-share{
    justify-content:flex-start;
    min-width:0;
    width:100%;
  }
  body.fsbc-modern-shell .fsbc-resource-view{
    flex:1 1 100%;
  }
}


/* FSBC v10 layout polish: flexible cards, visible location filters, header alignment */
body.fsbc-modern-shell,
body.fsbc-modern-shell .fsbc-page-wrap,
body.fsbc-modern-shell .fsbc-page-container,
body.fsbc-modern-shell #content,
body.fsbc-modern-shell .content-main,
body.fsbc-modern-shell .content-main-inner,
body.fsbc-modern-shell .content-main-data,
body.fsbc-modern-shell .content-main-data-list{
  overflow: visible !important;
  height: auto !important;
  min-height: 0 !important;
}

body.fsbc-modern-shell .content-main.fsbc-resource-page{
  background:#fff;
  border:1px solid rgba(10,137,185,.12);
  border-radius:30px;
  box-shadow:0 24px 70px rgba(21,58,67,.12);
  padding:26px;
  overflow:visible !important;
}

body.fsbc-modern-shell .content-main.fsbc-resource-page .fsbc-resource-hero-mini{
  box-shadow:none;
  margin-bottom:18px;
}

body.fsbc-modern-shell .reslist .resource-list-area{
  height:auto !important;
  min-height:0 !important;
  overflow:visible !important;
  align-items:start !important;
}

body.fsbc-modern-shell .reslist .resource-data,
body.fsbc-modern-shell .resource-list-title,
body.fsbc-modern-shell .resource-list-title a,
body.fsbc-modern-shell .resource-list-desc{
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
  white-space:normal !important;
  text-overflow:clip !important;
}



body.fsbc-modern-shell .resource-list-title{
  font-size:1.06rem !important;
  line-height:1.22 !important;
  padding:0 0 6px !important;
}

body.fsbc-modern-shell .resource-list-title a{
  line-height:1.22 !important;
  padding:0 !important;
}

body.fsbc-modern-shell .resource-list-desc{
  font-size:1rem !important;
  line-height:1.58 !important;
}

body.fsbc-modern-shell .content-main-filter.fsbc-filter-panel{
  display:block;
}

body.fsbc-modern-shell .content-main-filter-inner{
  grid-template-columns:repeat(6,minmax(130px,1fr)) !important;
  align-items:stretch;
}

body.fsbc-modern-shell .filter-item:nth-last-child(2),
body.fsbc-modern-shell .filter-item:nth-last-child(1){
  grid-column:span 3;
}

body.fsbc-modern-shell .filter-item:nth-last-child(2) select,
body.fsbc-modern-shell .filter-item:nth-last-child(1) select{
  width:100% !important;
  max-width:none !important;
}

body.fsbc-modern-shell .fsbc-brand-icon{
  display:none !important;
}
body.fsbc-modern-shell .fsbc-brand-full{
  display:block !important;
}

body.fsbc-modern-shell .fsbc-topbar{
  align-items:center !important;
}
body.fsbc-modern-shell .fsbc-menu-toggle{
  align-self:center !important;
  margin-top:0 !important;
  transform:none !important;
}

body.fsbc-modern-shell .cwf-title{
  font-size:1.55rem !important;
  line-height:1.15 !important;
  padding:15px !important;
}

@media (max-width: 980px){
  body.fsbc-modern-shell .content-main-filter-inner{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  body.fsbc-modern-shell .filter-item:nth-last-child(2),
  body.fsbc-modern-shell .filter-item:nth-last-child(1){
    grid-column:span 1;
  }
}

@media (max-width:760px){
  body.fsbc-modern-shell .content-main.fsbc-resource-page{
    padding:16px;
    border-radius:24px;
  }
  body.fsbc-modern-shell .fsbc-brand-full{
    width:170px;
    max-width:170px;
  }
  body.fsbc-modern-shell .fsbc-menu-toggle{
    width:42px;
    height:42px;
  }
  body.fsbc-modern-shell .content-main-filter-inner{
    grid-template-columns:1fr !important;
  }
}

/* =========================================================
   FSBC v11: mobile menu full-screen drawer polish
   - removes horizontal scrollbar
   - keeps close button fully visible
   - vertical scrolling only when needed
   ========================================================= */
html,
body.fsbc-modern-shell{
  max-width:100%;
  overflow-x:hidden !important;
}

body.fsbc-modern-shell .fsbc-mobile-panel#content-side{
  left:0 !important;
  right:auto !important;
  top:0 !important;
  bottom:0 !important;
  width:100vw !important;
  max-width:100vw !important;
  height:100dvh !important;
  max-height:100dvh !important;
  box-sizing:border-box !important;
  border-radius:0 !important;
  border:0 !important;
  padding:0 !important;
  overflow-x:hidden !important;
  overflow-y:auto !important;
  overscroll-behavior:contain !important;
  transform:translateX(-102%) !important;
  box-shadow:none !important;
  scrollbar-gutter:stable;
}

body.fsbc-modern-shell .fsbc-mobile-panel#content-side.is-open{
  transform:translateX(0) !important;
}

body.fsbc-modern-shell .fsbc-mobile-panel#content-side,
body.fsbc-modern-shell .fsbc-mobile-panel#content-side *{
  box-sizing:border-box !important;
}

body.fsbc-modern-shell .fsbc-mobile-panel .fsbc-mobile-panel-inner{
  width:100% !important;
  max-width:720px !important;
  min-height:100dvh !important;
  height:auto !important;
  margin:0 auto !important;
  padding:18px clamp(16px,4vw,32px) 28px !important;
  overflow-x:hidden !important;
  overflow-y:visible !important;
}

body.fsbc-modern-shell .fsbc-mobile-panel-head{
  width:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:16px !important;
  margin:0 0 18px !important;
  padding:0 !important;
}

body.fsbc-modern-shell .fsbc-mobile-panel-head img{
  width:min(190px,68vw) !important;
  max-width:calc(100% - 64px) !important;
  height:auto !important;
  flex:0 1 auto !important;
}

body.fsbc-modern-shell .fsbc-menu-close{
  position:relative !important;
  top:auto !important;
  right:auto !important;
  flex:0 0 46px !important;
  width:46px !important;
  height:46px !important;
  min-width:46px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  margin:0 !important;
  border-radius:16px !important;
  font-size:34px !important;
  line-height:1 !important;
  overflow:hidden !important;
}

body.fsbc-modern-shell .fsbc-mobile-panel .side-button{
  width:100% !important;
  max-width:100% !important;
  margin:8px 0 !important;
  padding:14px 16px !important;
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  overflow:hidden !important;
}

body.fsbc-modern-shell .fsbc-mobile-panel .side-svg{
  flex:0 0 28px !important;
}

body.fsbc-modern-shell .fsbc-mobile-panel .side-txt{
  min-width:0 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}

body.fsbc-modern-shell .fsbc-mobile-helper{
  width:100% !important;
  max-width:100% !important;
  overflow-wrap:anywhere !important;
}

@media (max-width:640px){
  body.fsbc-modern-shell .fsbc-mobile-panel .fsbc-mobile-panel-inner{
    max-width:none !important;
    padding:16px 16px 24px !important;
  }
}

/* =========================================================
   FSBC v12: restore normal page scrolling after mobile menu polish
   The menu remains fixed/scrollable, but the page itself is not permanently locked.
   ========================================================= */
html{
  overflow-x:hidden !important;
  overflow-y:auto !important;
  height:auto !important;
}
body.fsbc-modern-shell{
  overflow-x:hidden !important;
  overflow-y:auto !important;
  height:auto !important;
  min-height:100dvh !important;
  position:relative !important;
  touch-action:auto !important;
  -webkit-overflow-scrolling:touch;
}
body.fsbc-modern-shell.menu-open{
  overflow-x:hidden !important;
  overflow-y:auto !important;
  position:relative !important;
}
body.fsbc-modern-shell .fsbc-page-wrap,
body.fsbc-modern-shell #container,
body.fsbc-modern-shell #content,
body.fsbc-modern-shell .content-main,
body.fsbc-modern-shell .content-main-inner,
body.fsbc-modern-shell .content-main-fhinner,
body.fsbc-modern-shell .content-main-data,
body.fsbc-modern-shell .content-main-data-list,
body.fsbc-modern-shell .content-list{
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
}
body.fsbc-modern-shell .fsbc-mobile-panel#content-side{
  overflow-x:hidden !important;
  overflow-y:auto !important;
  -webkit-overflow-scrolling:touch;
}

/* =========================================================
   FSBC v13: separate page scroll from mobile menu/search panels
   - page scrolls normally when menu is closed
   - background/header/search do not scroll while menu is open
   - mobile menu has no horizontal scroll and only vertical scroll when needed
   ========================================================= */
html{
  overflow-x:hidden !important;
}
body.fsbc-modern-shell{
  overflow-x:hidden !important;
  overflow-y:auto !important;
  height:auto !important;
  min-height:100dvh !important;
  width:100% !important;
}

/* When menu is open, lock the background page. JS stores the exact scroll position. */
body.fsbc-modern-shell.menu-open{
  position:fixed !important;
  left:0 !important;
  right:0 !important;
  top:var(--fsbc-scroll-lock-top, 0px) !important;
  width:100% !important;
  height:100dvh !important;
  overflow:hidden !important;
  touch-action:none !important;
}

body.fsbc-modern-shell.menu-open .fsbc-site-header,
body.fsbc-modern-shell.menu-open .fsbc-page-wrap,
body.fsbc-modern-shell.menu-open #container{
  pointer-events:none;
}
body.fsbc-modern-shell.menu-open .fsbc-mobile-panel#content-side,
body.fsbc-modern-shell.menu-open .fsbc-mobile-panel#content-side *{
  pointer-events:auto;
  touch-action:auto;
}

/* Keep normal page containers from becoming separate scroll boxes. */
body.fsbc-modern-shell .fsbc-site-header,
body.fsbc-modern-shell .fsbc-header-searchbar,
body.fsbc-modern-shell .fsbc-search-box,
body.fsbc-modern-shell .fsbc-page-wrap,
body.fsbc-modern-shell #container,
body.fsbc-modern-shell #content,
body.fsbc-modern-shell .content-main,
body.fsbc-modern-shell .content-main-inner,
body.fsbc-modern-shell .content-main-fhinner,
body.fsbc-modern-shell .content-main-data,
body.fsbc-modern-shell .content-main-data-list,
body.fsbc-modern-shell .content-list,
body.fsbc-modern-shell .content-main-filter,
body.fsbc-modern-shell .content-main-filter-inner,
body.fsbc-modern-shell .filter-inner{
  max-height:none !important;
  overflow:visible !important;
}

/* Mobile menu should not create horizontal scroll. It scrolls vertically only if content is taller than screen. */
body.fsbc-modern-shell .fsbc-mobile-panel#content-side{
  visibility:hidden !important;
  overflow:hidden !important;
  scrollbar-gutter:auto !important;
}
body.fsbc-modern-shell .fsbc-mobile-panel#content-side.is-open{
  visibility:visible !important;
  overflow-x:hidden !important;
  overflow-y:auto !important;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain !important;
}
body.fsbc-modern-shell .fsbc-mobile-panel .fsbc-mobile-panel-inner{
  min-height:100dvh !important;
  overflow:visible !important;
}

/* Search input should never become its own scroll area. */
body.fsbc-modern-shell .fsbc-search-box input,
body.fsbc-modern-shell .fsbc-resource-hero-search input,
body.fsbc-modern-shell .content-header-search input{
  overflow:hidden !important;
}

/* =========================================================
   FSBC v14: header/logo/search overflow polish
   - header is not its own scroll container
   - logo, actions, hamburger and search scale inside viewport
   - prevents horizontal/vertical scrollbars inside header/search
   ========================================================= */
body.fsbc-modern-shell .fsbc-site-header{
  width:100% !important;
  max-width:100% !important;
  max-height:none !important;
  height:auto !important;
  overflow:visible !important;
  box-sizing:border-box !important;
}
body.fsbc-modern-shell .fsbc-topbar{
  width:100% !important;
  max-width:1280px !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  overflow:visible !important;
  flex-wrap:nowrap !important;
}
body.fsbc-modern-shell .fsbc-brand,
body.fsbc-modern-shell .fsbc-header-actions,
body.fsbc-modern-shell .fsbc-desktop-nav{
  min-width:0 !important;
  overflow:visible !important;
}
body.fsbc-modern-shell .fsbc-brand img{
  max-width:100% !important;
}
body.fsbc-modern-shell .fsbc-header-searchbar{
  width:100% !important;
  max-width:1280px !important;
  min-width:0 !important;
  height:auto !important;
  max-height:none !important;
  box-sizing:border-box !important;
  overflow:visible !important;
}
body.fsbc-modern-shell .fsbc-search-box{
  width:min(760px, 100%) !important;
  min-width:0 !important;
  max-width:760px !important;
  height:auto !important;
  max-height:none !important;
  box-sizing:border-box !important;
  overflow:visible !important;
}
body.fsbc-modern-shell .fsbc-search-box input{
  min-width:0 !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}
body.fsbc-modern-shell .fsbc-menu-toggle,
body.fsbc-modern-shell .hamburger.fsbc-menu-toggle{
  position:static !important;
  top:auto !important;
  left:auto !important;
  right:auto !important;
  bottom:auto !important;
  flex:0 0 44px !important;
  margin:0 !important;
}
@media (max-width:1100px){
  body.fsbc-modern-shell .fsbc-desktop-nav{display:none !important;}
  body.fsbc-modern-shell .fsbc-menu-toggle{display:flex !important;}
  body.fsbc-modern-shell .fsbc-header-actions{margin-left:auto !important;}
}
@media (max-width:760px){
  body.fsbc-modern-shell .fsbc-topbar{
    padding:12px 14px !important;
    gap:12px !important;
  }
  body.fsbc-modern-shell .fsbc-brand-full{
    display:block !important;
    width:min(160px, 48vw) !important;
    max-width:48vw !important;
  }
  body.fsbc-modern-shell .fsbc-brand-icon{display:none !important;}
  body.fsbc-modern-shell .fsbc-translate-btn,
  body.fsbc-modern-shell .fsbc-profile .profile-btn,
  body.fsbc-modern-shell .fsbc-profile .hdr-btn{
    display:none !important;
  }
  body.fsbc-modern-shell .fsbc-header-searchbar{
    padding:0 14px 12px !important;
  }
  body.fsbc-modern-shell .fsbc-search-box{
    padding:9px 12px !important;
    border-radius:16px !important;
    gap:9px !important;
  }
  body.fsbc-modern-shell .fsbc-search-box .search-ico{
    flex:0 0 24px !important;
  }
  body.fsbc-modern-shell .fsbc-search-box input{
    font-size:.95rem !important;
  }
}
@media (max-width:380px){
  body.fsbc-modern-shell .fsbc-brand-full{
    width:min(140px, 44vw) !important;
    max-width:44vw !important;
  }
  body.fsbc-modern-shell .fsbc-menu-toggle,
  body.fsbc-modern-shell .hamburger.fsbc-menu-toggle{
    flex-basis:40px !important;
    width:40px !important;
    height:40px !important;
  }
}

/* =========================================================
   FSBC v15: lock modern header outside the results scroll
   - header stays fixed while long resource result lists scroll
   - page content is offset so it does not slide underneath header
   - header itself never becomes a scroll container
   ========================================================= */
body.fsbc-modern-shell{
  --fsbc-fixed-header-offset:132px;
  padding-top:var(--fsbc-fixed-header-offset) !important;
}
body.fsbc-modern-shell .fsbc-site-header{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  z-index:2000 !important;
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
  overscroll-behavior:none !important;
  transform:translateZ(0);
}
body.fsbc-modern-shell .fsbc-topbar,
body.fsbc-modern-shell .fsbc-header-searchbar,
body.fsbc-modern-shell .fsbc-search-box{
  overflow:visible !important;
  max-height:none !important;
}
body.fsbc-modern-shell .fsbc-page-wrap{
  padding-top:26px !important;
}
body.fsbc-modern-shell.menu-open{
  padding-top:0 !important;
}
body.fsbc-modern-shell.menu-open .fsbc-site-header{
  pointer-events:none;
}
body.fsbc-modern-shell.menu-open .fsbc-mobile-panel,
body.fsbc-modern-shell.menu-open .fsbc-mobile-panel *{
  pointer-events:auto;
}
@media (max-width:760px){
  body.fsbc-modern-shell{
    --fsbc-fixed-header-offset:116px;
  }
  body.fsbc-modern-shell .fsbc-page-wrap{
    padding-top:18px !important;
  }
}
@media (max-width:420px){
  body.fsbc-modern-shell{
    --fsbc-fixed-header-offset:112px;
  }
}

/* =========================================================
   FSBC v17: restore resource filter layout after header/home offset changes
   - homepage gets smaller header offset without changing resource filters
   - filter panel is isolated from global overflow/header rules
   - filters use a clean responsive grid and never collapse into broken columns
   ========================================================= */
body.fsbc-modern-shell.home{
  --fsbc-fixed-header-offset:78px;
}
body.fsbc-modern-shell.home .fsbc-page-wrap{
  padding-top:0 !important;
}

body.fsbc-modern-shell .content-main.fsbc-resource-page{
  position:relative;
  overflow:visible !important;
}

body.fsbc-modern-shell .fsbc-filter-shell{
  display:block !important;
  width:100% !important;
  clear:both !important;
  margin:18px 0 22px !important;
  overflow:visible !important;
}

body.fsbc-modern-shell .fsbc-filter-toggle{
  width:100% !important;
  box-sizing:border-box !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:14px !important;
  border:1px solid rgba(10,137,185,.14) !important;
  border-radius:20px !important;
  background:#fff !important;
  padding:14px 16px !important;
  box-shadow:0 12px 30px rgba(21,58,67,.08) !important;
  cursor:pointer !important;
  text-align:left !important;
}

body.fsbc-modern-shell .content-main-filter.fsbc-filter-panel{
  width:100% !important;
  box-sizing:border-box !important;
  margin:12px 0 0 !important;
  padding:16px !important;
  border:1px solid rgba(10,137,185,.12) !important;
  border-radius:22px !important;
  background:#fff !important;
  box-shadow:0 18px 42px rgba(21,58,67,.08) !important;
  overflow:visible !important;
  max-height:none !important;
}

body.fsbc-modern-shell .content-main-filter-inner{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr)) !important;
  gap:14px !important;
  align-items:start !important;
  justify-content:stretch !important;
  width:100% !important;
  margin:0 !important;
  overflow:visible !important;
}

body.fsbc-modern-shell .filter-item,
body.fsbc-modern-shell .filter-item:nth-last-child(1),
body.fsbc-modern-shell .filter-item:nth-last-child(2){
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
  grid-column:auto !important;
  flex:none !important;
  text-align:left !important;
  overflow:visible !important;
}

body.fsbc-modern-shell .filter-inner{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  box-sizing:border-box !important;
  padding:14px !important;
  border-radius:18px !important;
  border:1px solid rgba(118,171,66,.16) !important;
  background:#f8fcf6 !important;
  overflow:visible !important;
}

body.fsbc-modern-shell .filter-title{
  padding:0 !important;
  margin:0 0 8px !important;
  text-align:left !important;
  font-size:.76rem !important;
  line-height:1.2 !important;
  letter-spacing:.06em !important;
  font-weight:800 !important;
  color:#496268 !important;
}

body.fsbc-modern-shell .filter-item select,
body.fsbc-modern-shell .filter-item input[type="number"]{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}

body.fsbc-modern-shell .filter-item select{
  min-height:42px !important;
  padding:8px 10px !important;
  border-radius:12px !important;
}

body.fsbc-modern-shell .fsbc-age-filter{
  display:grid !important;
  gap:10px !important;
}
body.fsbc-modern-shell .fsbc-age-inputs{
  display:block !important;
}
body.fsbc-modern-shell .fsbc-age-range{
  grid-template-columns:1fr 1fr !important;
  gap:8px !important;
}
body.fsbc-modern-shell .fsbc-age-filter input[type="number"]{
  min-height:40px !important;
  border-radius:12px !important;
}
body.fsbc-modern-shell .fsbc-age-help{
  font-size:.82rem !important;
  line-height:1.35 !important;
  color:#667a7e !important;
}

body.fsbc-modern-shell .fsbc-filter-actions{
  display:flex !important;
  justify-content:flex-end !important;
  margin-top:14px !important;
}

@media (max-width:760px){
  body.fsbc-modern-shell.home{
    --fsbc-fixed-header-offset:72px;
  }
  body.fsbc-modern-shell .content-main-filter.fsbc-filter-panel{
    padding:12px !important;
    border-radius:18px !important;
  }
  body.fsbc-modern-shell .content-main-filter-inner{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
  body.fsbc-modern-shell .fsbc-filter-toggle{
    padding:12px 14px !important;
    border-radius:18px !important;
  }
}

/* FSBC v23: filtering visibility fix.
   Some card rules use display:grid !important, so jQuery .hide() cannot override them.
   Use a dedicated class with !important instead. */
body.fsbc-modern-shell .reslist .resource-list-area.fsbc-filter-hidden,
body.fsbc-modern-shell .content-main-data-list .resource-list-area.fsbc-filter-hidden,
.reslist .resource-list-area.fsbc-filter-hidden,
.content-main-data-list .resource-list-area.fsbc-filter-hidden {
  display: none !important;
}

.fsbc-site-footer {
  margin-top: 56px;
  background: #174f3f;
  color: #fff;
}

.fsbc-footer-bg {
  background: linear-gradient(135deg, #1f7a5c, #0f5b75);
  text-align: center;
  padding: 28px 18px;
}

.fsbc-footer-bg p {
  max-width: 960px;
  margin: 0 auto;
  font-size: 0.95rem;
  line-height: 1.6;
}

.fsbc-footer-inner {
  max-width: 1240px;
  margin: 0 auto;
  padding: 42px 24px;
  display: grid;
  grid-template-columns: 1.4fr 1fr 1.2fr 1fr;
  gap: 32px;
}

.fsbc-footer-logo {
  max-width: 220px;
  margin-bottom: 16px;
}

.fsbc-site-footer h3 {
  margin: 0 0 14px;
  font-size: 1rem;
  color: #fff;
}

.fsbc-site-footer p,
.fsbc-site-footer a {
  color: rgba(255,255,255,0.86);
  font-size: 0.95rem;
  line-height: 1.6;
}

.fsbc-site-footer a {
  display: block;
  text-decoration: none;
  margin-bottom: 7px;
}

.fsbc-site-footer a:hover {
  color: #fff;
  text-decoration: underline;
}

.fsbc-footer-small {
  font-size: 0.85rem !important;
  opacity: 0.85;
}

.fsbc-footer-logos {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: flex-start;
}

.fsbc-footer-logos img {
  max-width: 160px;
  max-height: 72px;
  height: auto;
  border-radius: 12px;
  padding: 8px;
}

@media (max-width: 900px) {
  .fsbc-footer-inner {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 640px) {
  .fsbc-footer-inner {
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   FSBC friendly homepage refresh - added 2026
   ========================================================= */
body.fsbc-modern-shell.home {
  --fsbc-fixed-header-offset: 96px;
  background:
    radial-gradient(circle at 10% 8%, rgba(95, 178, 134, .18), transparent 28%),
    radial-gradient(circle at 88% 18%, rgba(10, 137, 185, .13), transparent 30%),
    #f7f5ef;
}

body.fsbc-modern-shell.home .fsbc-page-container {
  max-width: 1240px;
}

.fsbc-friendly-home {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(340px, .95fr);
  gap: 34px;
  align-items: center;
  padding: clamp(32px, 5vw, 64px);
  border-radius: 38px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(242,250,245,.94) 55%, rgba(232,247,251,.92)),
    #fff;
  border: 1px solid rgba(46, 139, 110, .16);
  box-shadow: 0 28px 80px rgba(22, 69, 61, .13);
}

.fsbc-hero-artmark {
  position: absolute;
  right: -60px;
  top: -70px;
  width: 260px;
  height: 260px;
  opacity: .08;
  z-index: -1;
}

.fsbc-hero-artmark img { width: 100%; height: 100%; object-fit: contain; }

.fsbc-friendly-home .fsbc-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  padding: 8px 13px;
  border-radius: 999px;
  background: rgba(46, 139, 110, .12);
  color: #1d6a4a;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.fsbc-friendly-home h1 {
  max-width: 820px;
  margin: 18px 0 16px;
  font-size: 2.8em;
  line-height: 1.1;
  letter-spacing: -.06em;
  color: #17363d;
}

.fsbc-friendly-home .fsbc-hero-lead {
  max-width: 720px;
  color: #405d58;
  font-size: clamp(1.03rem, 1.6vw, 1.2rem);
  line-height: 1.65;
}

.fsbc-home-search {
  max-width: 760px;
  margin-top: 28px;
  background: #fff;
  border-color: rgba(46, 139, 110, .22);
  box-shadow: 0 20px 48px rgba(46, 139, 110, .13);
}

.fsbc-home-search button,
.fsbc-btn-primary {
  background: #2E8B6E !important;
}

.fsbc-btn-secondary {
  background: #ffffff;
  color: #1d6a4a;
  border: 1px solid rgba(46, 139, 110, .28) !important;
}

.fsbc-hero-visual {
  position: relative;
  min-height: 430px;
  border-radius: 32px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.76), rgba(255,255,255,.42)),
    radial-gradient(circle at 50% 38%, rgba(46,139,110,.22), transparent 36%),
    radial-gradient(circle at 24% 76%, rgba(10,137,185,.18), transparent 28%);
  border: 1px solid rgba(255,255,255,.68);
}

.fsbc-orbit-card {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: min(300px, 76%);
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(46, 139, 110, .18);
  border-radius: 28px;
  padding: 28px;
  text-align: center;
  box-shadow: 0 24px 60px rgba(21, 58, 67, .16);
}

.fsbc-orbit-card img {
  width: 84px;
  height: 84px;
  object-fit: contain;
  margin-bottom: 14px;
}

.fsbc-orbit-card strong {
  display: block;
  color: #17363d;
  font-size: 1.15rem;
  margin-bottom: 8px;
}

.fsbc-orbit-card span {
  display: block;
  color: #5a6f6d;
  font-size: .95rem;
  line-height: 1.45;
}

.fsbc-photo-bubble {
  position: absolute;
  width: 118px;
  height: 118px;
  border-radius: 30px;
  overflow: hidden;
  border: 7px solid rgba(255,255,255,.9);
  box-shadow: 0 18px 40px rgba(21, 58, 67, .16);
  background: #fff;
}

.fsbc-photo-bubble img { width: 100%; height: 100%; object-fit: cover; }
.fsbc-photo-one { left: 6%; top: 12%; transform: rotate(-7deg); }
.fsbc-photo-two { right: 7%; top: 18%; transform: rotate(8deg); }
.fsbc-photo-three { right: 12%; bottom: 0%; transform: rotate(-4deg); }

.fsbc-centered-head { text-align: center; max-width: 760px; margin: 0 auto 24px; }
.fsbc-centered-head p { margin-top: 8px; color: #5d706d; line-height: 1.6; }

.fsbc-home-paths,
.fsbc-feature-grid,
.fsbc-art-strip,
.fsbc-friendly-band { margin-top: 34px; }

.fsbc-friendly-path-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.fsbc-audience-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width:760px) {
  .fsbc-audience-grid { grid-template-columns: 1fr; }
}

.fsbc-friendly-path-grid .fsbc-path-card {
  min-height: 250px;
  background: #fff;
  border: 1px solid rgba(46,139,110,.14);
  border-radius: 26px;
  padding: 26px;
  box-shadow: 0 18px 52px rgba(32, 70, 62, .08);
}

.fsbc-friendly-path-grid .fsbc-path-card:hover {
  transform: translateY(-3px);
  border-color: rgba(46,139,110,.38);
  box-shadow: 0 24px 60px rgba(32,70,62,.13);
}

.fsbc-friendly-path-grid .fsbc-path-card span {
  display: inline-block;
  margin-top: 14px;
  color: #2E8B6E;
  font-weight: 800;
}

.fsbc-friendly-path-grid .fsbc-path-featured {
  background: linear-gradient(135deg, #2E8B6E, #0A89B9);
  color: #fff;
}

.fsbc-friendly-path-grid .fsbc-path-featured h3,
.fsbc-friendly-path-grid .fsbc-path-featured p,
.fsbc-friendly-path-grid .fsbc-path-featured span { color: #fff; }

.fsbc-friendly-path-grid .fsbc-path-icon {
  width: 54px;
  height: 54px;
  border-radius: 18px;
  background: rgba(46,139,110,.12);
  color: #1d6a4a;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  margin-bottom: 20px;
}

.fsbc-friendly-path-grid .fsbc-path-featured .fsbc-path-icon { background: rgba(255,255,255,.18); }
.fsbc-friendly-path-grid .fsbc-path-icon img { width: 34px; height: 34px; object-fit: contain; }

.fsbc-friendly-band {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  padding: 32px;
  border-radius: 30px;
  background:
    linear-gradient(135deg, rgba(23,54,61,.98), rgba(29,106,74,.94)),
    #17363d;
  color: #fff;
  box-shadow: 0 22px 60px rgba(23, 54, 61, .16);
}

.fsbc-friendly-band h2 { color: #fff; margin: 12px 0 8px; font-size: clamp(1.55rem, 3vw, 2.35rem); }
.fsbc-friendly-band p { color: rgba(255,255,255,.82); max-width: 780px; line-height: 1.6; }
.fsbc-friendly-band .fsbc-pill { background: rgba(255,255,255,.15); color: #fff; }
.fsbc-band-links { display: flex; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
.fsbc-band-links a { color: #17363d; background: #fff; padding: 10px 14px; border-radius: 999px; font-weight: 800; text-decoration: none; }

.fsbc-feature-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.fsbc-feature-card {
  background: rgba(255,255,255,.88);
  border: 1px solid rgba(46,139,110,.12);
  border-radius: 24px;
  padding: 24px;
}

.fsbc-feature-icon { font-size: 2rem; margin-bottom: 14px; }
.fsbc-feature-card h3 { color: #17363d; margin-bottom: 8px; }
.fsbc-feature-card p { color: #596f6a; line-height: 1.58; }

.fsbc-home-needs {
  margin-top: 34px;
  padding: clamp(26px, 4vw, 44px);
  border: 1px solid rgba(10,137,185,.14);
  border-radius: 30px;
  background: linear-gradient(135deg, #f4fbfd, #f5faef);
  box-shadow: 0 18px 52px rgba(32,70,62,.07);
}
.fsbc-needs-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 12px;
  max-width: 920px;
  margin: 0 auto;
}
.fsbc-needs-grid a {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 15px 17px;
  border: 1px solid rgba(10,137,185,.14);
  border-radius: 16px;
  background: rgba(255,255,255,.9);
  color: #244148;
  font-weight: 750;
  line-height: 1.4;
  text-decoration: none;
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.fsbc-needs-grid a:last-child { grid-column: 1 / -1; }
.fsbc-needs-grid a:hover {
  transform: translateY(-2px);
  border-color: rgba(10,137,185,.36);
  box-shadow: 0 10px 24px rgba(21,58,67,.09);
}
.fsbc-needs-grid a span { color: #77a900; font-size: .78rem; line-height: 1.75; }
.fsbc-needs-action { display: flex; justify-content: center; margin-top: 20px; }

@media (max-width:700px) {
  .fsbc-needs-grid { grid-template-columns: 1fr; }
  .fsbc-needs-grid a:last-child { grid-column: auto; }
}

.fsbc-art-strip {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(360px, 1.15fr);
  gap: 24px;
  align-items: center;
  background: #fff;
  border: 1px solid rgba(46,139,110,.12);
  border-radius: 30px;
  padding: 30px;
  overflow: hidden;
}

.fsbc-art-strip h2 { color: #17363d; margin: 12px 0 8px; }
.fsbc-art-strip p { color: #596f6a; line-height: 1.6; }
.fsbc-art-row { display: flex; gap: 14px; justify-content: flex-end; }
.fsbc-art-row img {
  width: 31%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 24px;
  box-shadow: 0 18px 40px rgba(21,58,67,.12);
}
.fsbc-art-row img:nth-child(1) { transform: rotate(-4deg); }
.fsbc-art-row img:nth-child(2) { transform: translateY(-10px); }
.fsbc-art-row img:nth-child(3) { transform: rotate(4deg); }

@media (max-width: 980px) {
  .fsbc-friendly-home,
  .fsbc-art-strip,
  .fsbc-friendly-band {
    grid-template-columns: 1fr;
  }
  .fsbc-hero-visual { min-height: 360px; }
  .fsbc-friendly-path-grid,
  .fsbc-feature-grid { grid-template-columns: 1fr; }
  .fsbc-band-links { justify-content: flex-start; }
}

@media (max-width: 640px) {
    .fsbc-photo-three {right: 2% !important;}
    
  body.fsbc-modern-shell.home { --fsbc-fixed-header-offset: 76px; }
  .fsbc-friendly-home { padding: 24px; border-radius: 26px; }
  .fsbc-friendly-home h1 { font-size: 2.45rem; }
  .fsbc-home-search { flex-direction: column; }
  .fsbc-hero-visual { min-height: 300px; }
  .fsbc-photo-bubble { width: 82px; height: 82px; border-width: 5px; border-radius: 22px; }
  .fsbc-orbit-card { padding: 20px; }
  .fsbc-orbit-card img { width: 66px; height: 66px; }
  .fsbc-art-strip { padding: 22px; }
  .fsbc-art-row { overflow-x: auto; justify-content: flex-start; padding-bottom: 8px; }
  .fsbc-art-row img { width: 132px; flex: 0 0 132px; }
}



/* =========================
   ABOUT PAGE
========================= */

.fsbc-about-hero {
  position: relative;
  overflow: hidden;
  padding: 90px 24px 70px;
  background:
    radial-gradient(circle at top right, rgba(46,139,110,0.14), transparent 30%),
    radial-gradient(circle at bottom left, rgba(10,137,185,0.10), transparent 28%),
    linear-gradient(180deg, #f7fbf9 0%, #ffffff 100%);
  text-align: center;
  border-radius: 34px;
}

.fsbc-about-hero::after {
  content: "";
  position: absolute;
  right: -80px;
  top: -80px;
  width: 260px;
  height: 260px;
  background: url('/tmpl/assets/fsbc-logo-ico.png') center/contain no-repeat;
  opacity: 0.05;
  pointer-events: none;
}

.fsbc-about-hero-content {
  max-width: 860px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}

.fsbc-about-icon-wrap {
  width: 88px;
  height: 88px;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 10px 35px rgba(0,0,0,0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 26px;
}

.fsbc-about-icon-wrap img {
  width: 52px;
}

.fsbc-about-hero h1 {
  font-size: 3rem;
  line-height: 1.12;
  color: #18352d;
  margin: 0 0 22px;
  font-weight: 700;
}

.fsbc-about-lead {
  font-size: 1.15rem;
  line-height: 1.8;
  color: #5c6d67;
  max-width: 760px;
  margin: 0 auto;
}

.fsbc-about-section {
  max-width: 1240px;
  margin: 0 auto;
  padding: 70px 24px;
}

.fsbc-about-grid,
.fsbc-about-split {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 40px;
  align-items: start;
}

.fsbc-about-section h2 {
  font-size: 2rem;
  line-height: 1.2;
  margin-bottom: 22px;
  color: #18352d;
}

.fsbc-about-section p {
  font-size: 1rem;
  line-height: 1.85;
  color: #5b6661;
  margin-bottom: 18px;
}

.fsbc-about-note,
.fsbc-about-art {
  background: #f5faf7;
  border: 1px solid #dcefe6;
  border-radius: 22px;
  padding: 28px;
}

.fsbc-about-note h3 {
  font-size: 1.1rem;
  color: #18352d;
  margin-bottom: 14px;
}

.fsbc-about-soft {
  background: linear-gradient(180deg, #f8fbfa 0%, #ffffff 100%);
  border-radius: 36px;
}

.fsbc-section-heading {
  text-align: center;
  max-width: 720px;
  margin: 0 auto 46px;
}

.fsbc-about-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}

.fsbc-about-card {
  display: block;
  text-decoration: none;
  background: #fff;
  border: 1px solid #e7efeb;
  border-radius: 24px;
  padding: 30px 24px;
  transition: 0.2s ease;
  box-shadow: 0 6px 22px rgba(0,0,0,0.04);
}

.fsbc-about-card:hover {
  transform: translateY(-4px);
  border-color: #2E8B6E;
  box-shadow: 0 14px 34px rgba(0,0,0,0.08);
}

.fsbc-card-icon {
  font-size: 2rem;
  display: block;
  margin-bottom: 16px;
}

.fsbc-about-card h3 {
  font-size: 1.15rem;
  color: #18352d;
  margin-bottom: 12px;
}

.fsbc-about-card p {
  font-size: 0.96rem;
  line-height: 1.7;
  color: #687771;
  margin: 0;
}

.fsbc-about-art {
  position: relative;
  overflow: hidden;
}

.fsbc-about-art img {
  width: 120px;
  opacity: 0.08;
  position: absolute;
  right: -10px;
  bottom: -10px;
}

.fsbc-about-art p {
  position: relative;
  z-index: 2;
  margin: 0;
}

.fsbc-about-disclaimer {
  background: #fbfbfb;
  border-top: 1px solid #ececec;
  border-bottom: 1px solid #ececec;
}

.fsbc-about-cta {
  text-align: center;
  padding: 80px 24px;
  background:
    radial-gradient(circle at center, rgba(46,139,110,0.10), transparent 45%),
    linear-gradient(180deg, #ffffff 0%, #f7fbf9 100%);
  border-radius: 34px;
}

.fsbc-about-cta h2 {
  font-size: 2.3rem;
  margin-bottom: 18px;
  color: #18352d;
}

.fsbc-about-cta p {
  max-width: 700px;
  margin: 0 auto 32px;
  color: #61716a;
  line-height: 1.8;
}

.fsbc-about-cta-buttons {
  display: flex;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
}

@media (max-width: 1024px) {
  .fsbc-about-cards {
    grid-template-columns: repeat(2, 1fr);
  }

  .fsbc-about-grid,
  .fsbc-about-split {
    grid-template-columns: 1fr;
  }

  .fsbc-about-hero h1 {
    font-size: 2.4rem;
  }
}

@media (max-width: 640px) {
  .fsbc-about-hero {
    padding: 70px 20px 50px;
  }

  .fsbc-about-hero h1 {
    font-size: 2rem;
  }

  .fsbc-about-section {
    padding: 55px 20px;
  }

  .fsbc-about-cards {
    grid-template-columns: 1fr;
  }

  .fsbc-about-section h2,
  .fsbc-about-cta h2 {
    font-size: 1.7rem;
  }

  .fsbc-about-note,
  .fsbc-about-art {
    padding: 24px;
  }

  .fsbc-about-cta-buttons {
    flex-direction: column;
  }

  .fsbc-primary-btn,
  .fsbc-secondary-btn {
    width: 100%;
  }
}

/* =========================
   SUGGEST RESOURCE PLACEHOLDER
========================= */

.fsbc-suggest-section {
  padding-top: 50px;
}

.fsbc-placeholder-note {
  background: #fff7e6;
  border: 1px solid #f1d18a;
  color: #705000;
  border-radius: 18px;
  padding: 16px 20px;
  margin-bottom: 22px;
  line-height: 1.55;
}

.fsbc-suggest-form {
  display: grid;
  gap: 22px;
}

.fsbc-form-card {
  background: #fff;
  border: 1px solid #e7efeb;
  border-radius: 26px;
  padding: 28px;
  box-shadow: 0 10px 32px rgba(0,0,0,0.045);
}

.fsbc-form-card h2 {
  margin: 0 0 22px;
  color: #18352d;
  font-size: 1.55rem;
}

.fsbc-form-grid {
  display: grid;
  gap: 18px;
}

.fsbc-form-grid-2 {
  grid-template-columns: repeat(2, 1fr);
}

.fsbc-form-field {
  display: grid;
  gap: 8px;
  margin-bottom: 18px;
}

.fsbc-form-field span {
  color: #18352d;
  font-weight: 800;
  font-size: 0.95rem;
}

.fsbc-form-field input,
.fsbc-form-field select,
.fsbc-form-field textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #dce9e3;
  background: #f8fbfa;
  border-radius: 14px;
  padding: 13px 14px;
  color: #41565a;
  font-size: 1rem;
}

.fsbc-form-field select[multiple] {
  min-height: 210px;
  padding: 10px;
}

.fsbc-form-field textarea {
  resize: vertical;
  min-height: 110px;
}

.fsbc-form-field input:disabled,
.fsbc-form-field select:disabled,
.fsbc-form-field textarea:disabled,
.fsbc-form-actions button:disabled {
  opacity: 0.75;
  cursor: not-allowed;
}

.fsbc-form-help {
  font-size: 0.92rem;
  color: #60777c;
  margin: -4px 0 20px;
  line-height: 1.5;
}

.fsbc-ages-field {
  max-width: 260px;
}

.fsbc-form-actions {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  padding: 6px 0 20px;
}

.fsbc-form-actions span {
  color: #60777c;
  font-size: 0.95rem;
}

@media (max-width: 760px) {
  .fsbc-form-grid-2 {
    grid-template-columns: 1fr;
  }

  .fsbc-form-card {
    padding: 22px;
    border-radius: 22px;
  }

  .fsbc-form-actions {
    flex-direction: column;
    align-items: stretch;
  }
}

/* =========================================================
   FSBC v28: page intro notes + resource card tags
   ========================================================= */
.fsbc-page-intro{
  display:flex;
  align-items:flex-start;
  gap:18px;
  margin:0 0 22px;
  padding:22px 24px;
  border-radius:24px;
  background:linear-gradient(135deg,#ffffff 0%,#f5fbf7 58%,#eef8fb 100%);
  border:1px solid rgba(46,139,110,.14);
  box-shadow:0 14px 36px rgba(21,58,67,.07);
}
.fsbc-page-intro-icon{
  flex:0 0 56px;
  width:56px;
  height:56px;
  border-radius:18px;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 10px 24px rgba(21,58,67,.08);
}
.fsbc-page-intro-icon img{width:34px;height:34px;object-fit:contain;display:block;}
.fsbc-page-intro-copy{min-width:0;}
.fsbc-page-intro h1{margin:0 0 7px;color:#17363d;font-size:1.45rem;line-height:1.18;}
.fsbc-page-intro p{margin:0;color:#52676b;line-height:1.62;font-size:1rem;max-width:940px;}

.resource-card-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px;
}
.resource-card-tags .tag{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:5px 10px;
  border-radius:999px;
  font-size:.78rem;
  line-height:1;
  font-weight:800;
  border:1px solid transparent;
  white-space:nowrap;
}
.resource-card-tags .tag.disability{background:#eef8f2;color:#1d6a4a;border-color:#d7ece1;}
.resource-card-tags .tag.age{background:#eef5fb;color:#236fa6;border-color:#d8e7f6;}
.resource-card-tags .tag.type{background:#f4f4f1;color:#556165;border-color:#e3e7e4;}
.resource-card-tags .tag.free{background:#fff6e8;color:#b66d00;border-color:#f2d9a8;}
.resource-card-tags .tag.paid{background:#f8eef8;color:#8a4b91;border-color:#ead5ed;}

body.fsbc-modern-shell .resource-list-area.fsbc-resource-card{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:start !important;
  padding:22px 24px !important;
}
body.fsbc-modern-shell .resource-list-area.fsbc-resource-card .resource-list-desc{
  margin-top:8px !important;
  line-height:1.58 !important;
}
body.fsbc-modern-shell .resource-list-area.fsbc-resource-card .resource-share{
  display:flex !important;
  flex-wrap:wrap;
  gap:8px;
  justify-content:flex-end;
  align-items:center;
  min-width:255px;
}
@media (max-width:860px){
  body.fsbc-modern-shell .resource-list-area.fsbc-resource-card{grid-template-columns:1fr;}
  body.fsbc-modern-shell .resource-list-area.fsbc-resource-card .resource-share{justify-content:flex-start;min-width:0;width:100%;}
  .fsbc-page-intro{padding:18px;gap:14px;}
}
@media (max-width:560px){
  .fsbc-page-intro{display:block;}
  .fsbc-page-intro-icon{margin-bottom:14px;}
  .fsbc-page-intro h1{font-size:1.28rem;}
}


/* =========================================================
   FSBC right drawer polish - user/admin workspace menu
   Safe CSS-only update. Does not change template/backend.
   ========================================================= */

body.fsbc-modern-shell .usermenu {
  width: min(420px, 94vw);
   right: calc(-1 * min(420px, 94vw) - 24px);
  background: #f7fbf9;
  border-left: 1px solid rgba(10,137,185,.14);
  box-shadow: -24px 0 70px rgba(21,58,67,.18);
  color: #20363a;
}

body.fsbc-modern-shell .user-top {
  margin: 0;
  padding: 20px;
  background:
    radial-gradient(circle at top right, rgba(10,137,185,.16), transparent 35%),
    linear-gradient(135deg, #ffffff, #eef8f3);
  border-bottom: 1px solid rgba(46,139,110,.16);
}

body.fsbc-modern-shell .user-top-name {
  line-height: 1.25;
  color: #17363d;
  font-size: 1.05rem;
}

body.fsbc-modern-shell .user-top-name small {
  display: block;
  margin-top: 4px;
  color: #2E8B6E;
  font-weight: 800;
  letter-spacing: .02em;
}

body.fsbc-modern-shell .user-close {
  flex-basis: 42px;
}

body.fsbc-modern-shell .user-top-button {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: #eef7fa;
  display: flex;
  align-items: center;
  justify-content: center;
}

body.fsbc-modern-shell .user-top-button svg {
  fill: #0a668a;
}

body.fsbc-modern-shell .user-top-button:hover {
  background: #0a89b9;
}

body.fsbc-modern-shell .user-top-button:hover svg {
  fill: #fff;
}

body.fsbc-modern-shell .user-content,
body.fsbc-modern-shell .user-dataset {
  background: #f7fbf9;
  padding: 14px;
  scrollbar-width: thin;
  scrollbar-color: #2E8B6E #f7fbf9;
}

body.fsbc-modern-shell .user-title {
  color: #17363d;
  font-size: 1.1rem;
  font-weight: 900;
  padding: 8px 4px 4px;
}

body.fsbc-modern-shell .user-section {
  background: #fff;
  border: 1px solid rgba(46,139,110,.13);
  border-radius: 20px;
  padding: 16px;
  margin: 0 0 14px;
  box-shadow: 0 10px 28px rgba(21,58,67,.06);
}

body.fsbc-modern-shell .user-section-title {
  color: #496268;
  font-size: .78rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
  margin-bottom: 6px;
}

body.fsbc-modern-shell .user-section-input input,
body.fsbc-modern-shell .user-section-input textarea,
body.fsbc-modern-shell .user-section-input select {
  background: #f8fbfa;
  border: 1px solid #dce9e3;
  border-radius: 12px;
  padding: 10px 12px;
  color: #20363a;
}

body.fsbc-modern-shell .user-optionset {
  margin: 0 0 10px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid rgba(46,139,110,.14);
  box-shadow: 0 8px 22px rgba(21,58,67,.055);
  overflow: hidden;
}

body.fsbc-modern-shell .user-optionset:hover {
  background: #f8fcf9;
  border-color: rgba(46,139,110,.35);
}

body.fsbc-modern-shell .user-option {
  padding: 13px 14px;
  margin: 0;
  justify-content: flex-start;
}

body.fsbc-modern-shell .user-optnsvg {
  flex-basis: 34px;
}

body.fsbc-modern-shell .user-optnsvg svg {
  width: 22px;
  height: 22px;
  fill: #2E8B6E;
}

body.fsbc-modern-shell .user-optnttl {
  color: #20363a;
  font-weight: 800;
  font-size: .98rem;
}

body.fsbc-modern-shell .user-optnbtn {
  background: #eef7fa;
  border-radius: 12px;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
}

body.fsbc-modern-shell .user-optnbtn svg {
  fill: #0a668a;
}

body.fsbc-modern-shell .user-optiondata {
  background: #f8fbfa;
  border-top: 1px solid rgba(46,139,110,.12);
  margin: 0;
  padding: 12px;
}

body.fsbc-modern-shell .user-button,
body.fsbc-modern-shell .editorg,
body.fsbc-modern-shell .resource-add-btn,
body.fsbc-modern-shell .user-media-select-add {
  background: #2E8B6E;
  color: #fff;
  border-radius: 999px;
  padding: 8px 14px;
  font-weight: 800;
}

body.fsbc-modern-shell .user-button:hover,
body.fsbc-modern-shell .editorg:hover,
body.fsbc-modern-shell .resource-add-btn:hover,
body.fsbc-modern-shell .user-media-select-add:hover {
  background: #0a89b9;
}

body.fsbc-modern-shell .user-section-note {
  background: #eef7fa;
  color: #34545b;
  border-radius: 14px;
  padding: 12px;
  font-size: .86rem;
  line-height: 1.45;
}

body.fsbc-modern-shell .faviline,
body.fsbc-modern-shell .resource-line,
body.fsbc-modern-shell .members-line {
  background: #fff;
  border: 1px solid rgba(46,139,110,.14);
  border-radius: 14px;
  padding: 10px;
}

body.fsbc-modern-shell .faviline:hover,
body.fsbc-modern-shell .resource-line:hover,
body.fsbc-modern-shell .members-line:hover {
  background: #f2faf6;
}

body.fsbc-modern-shell .user-logoff {
  width: auto;
  max-width: 180px;
  border-radius: 999px;
  padding: 10px 18px;
  background: #d95c5c;
  font-weight: 800;
}

body.fsbc-modern-shell .user-logoff:hover {
  background: #b94343;
}

@media (max-width: 640px) {
  body.fsbc-modern-shell .usermenu {
    width: 100vw;
    right: -105vw;
    border-left: 0;
  }

  body.fsbc-modern-shell .user-top {
    padding: 18px 16px;
  }

  body.fsbc-modern-shell .user-content,
  body.fsbc-modern-shell .user-dataset {
    padding: 12px;
  }
}




/* =========================================================
   FSBC translate drawer cleanup
   Minimal Google Translate drawer; no quick-language buttons.
   ========================================================= */
.fsbc-translate-open {
  border: 1px solid rgba(10,137,185,.22);
  background: #fff;
  color: #0a668a;
  border-radius: 999px;
  padding: 9px 14px;
  font-weight: 800;
  cursor: pointer;
}

.fsbc-translate-open.opened,
.fsbc-translate-open:hover {
  background: #eef7fa;
}

.translate-menu {
  position: fixed;
  top: 0;
  right: calc(-1 * min(420px, 94vw) - 24px);
  z-index: 10002;
  height: 100%;
  width: min(420px, 94vw);
  background: #f7fbf9;
  border-left: 1px solid rgba(10,137,185,.14);
  box-shadow: -24px 0 70px rgba(21,58,67,.18);
  color: #20363a;
  transition: right .35s ease;
}

.translate-top {
  padding: 20px;
  background:
    radial-gradient(circle at top right, rgba(10,137,185,.16), transparent 35%),
    linear-gradient(135deg, #ffffff, #eef8f3);
  border-bottom: 1px solid rgba(46,139,110,.16);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.translate-title {
  font-weight: 900;
  color: #17363d;
  font-size: 1.08rem;
  line-height: 1.25;
}

.translate-title small {
  display: block;
  margin-top: 4px;
  color: #2E8B6E;
  font-weight: 800;
  font-size: .82rem;
}

.translate-close {
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: #eef7fa;
  color: #0a668a;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-weight: 900;
}

.translate-close:hover {
  background: #0a89b9;
  color: #fff;
}

.translate-content {
  padding: 14px;
}

.translate-section {
  background: #fff;
  border: 1px solid rgba(46,139,110,.13);
  border-radius: 20px;
  padding: 16px;
  margin-bottom: 14px;
  box-shadow: 0 10px 28px rgba(21,58,67,.06);
}

.translate-compact {
  padding: 18px;
}

#google_translate_element {
  display: block;
  min-height: 42px;
}

#google_translate_element .goog-te-gadget {
  font-family: inherit !important;
  font-size: 0 !important;
  color: transparent !important;
}

#google_translate_element .goog-logo-link,
#google_translate_element .goog-te-gadget span {
  display: none !important;
}

#google_translate_element select.goog-te-combo {
  width: 100% !important;
  max-width: 100% !important;
  height: 44px !important;
  background: #fff !important;
  border: 1px solid #dce9e3 !important;
  border-radius: 12px !important;
  padding: 0 12px !important;
  font-size: .95rem !important;
  font-weight: 700 !important;
  color: #20363a !important;
  box-shadow: none !important;
  outline: none !important;
}

#google_translate_element select.goog-te-combo:focus {
  border-color: #2E8B6E !important;
  box-shadow: 0 0 0 4px rgba(46,139,110,.12) !important;
}

.translate-note {
  margin: 12px 0 0;
  font-size: .88rem;
  line-height: 1.45;
  color: #60777c;
}

@media (max-width: 640px) {
  .translate-menu {
    width: 100vw;
    right: -120vw;
    border-left: 0;
  }
}


/* =========================================================
   FSBC v32 accessibility / contrast / landing cleanup
   - Removes visual reliance on community artwork strip by replacing it with a readable LA section
   - Strengthens contrast, hover, and focus states across public UI
   - Polishes resource sharing popup with multiple platform options
   ========================================================= */

body.fsbc-modern-shell {
  color: #24383c;
}

body.fsbc-modern-shell a {
  color: #075f80;
  text-underline-offset: 3px;
}

body.fsbc-modern-shell a:hover,
body.fsbc-modern-shell a:focus-visible {
  color: #064f6a;
  text-decoration: underline;
}

body.fsbc-modern-shell :focus-visible {
  outline: 3px solid rgba(10, 137, 185, .45) !important;
  outline-offset: 3px !important;
}

body.fsbc-modern-shell .fsbc-btn-primary,
body.fsbc-modern-shell .fsbc-home-search button,
body.fsbc-modern-shell .fsbc-resource-view {
  background: #08769f !important;
  color: #fff !important;
}



body.fsbc-modern-shell .fsbc-btn-primary:hover,
body.fsbc-modern-shell .fsbc-home-search button:hover,
body.fsbc-modern-shell .fsbc-resource-view:hover {
  background: #055d7d !important;
  color: #fff !important;
  text-decoration: none !important;
}

body.fsbc-modern-shell .fsbc-btn-secondary,
body.fsbc-modern-shell .fsbc-band-links a {
  color: #075f46 !important;
  border-color: rgba(7,95,70,.34) !important;
}

body.fsbc-modern-shell .fsbc-btn-secondary:hover,
body.fsbc-modern-shell .fsbc-band-links a:hover {
  background: #e6f4ef !important;
  color: #043d2d !important;
  border-color: #075f46 !important;
  text-decoration: none !important;
}

body.fsbc-modern-shell .fsbc-eyebrow,
body.fsbc-modern-shell .fsbc-pill {
  color: #075f46 !important;
  background: #e4f3ea !important;
}

body.fsbc-modern-shell .fsbc-friendly-path-grid .fsbc-path-card span,
body.fsbc-modern-shell .fsbc-feature-card p,
body.fsbc-modern-shell .fsbc-centered-head p,
body.fsbc-modern-shell .resource-list-desc,
body.fsbc-modern-shell .translate-note,
body.fsbc-modern-shell .fsbc-footer-small {
  color: #435b60 !important;
}

body.fsbc-modern-shell .fsbc-friendly-path-grid .fsbc-path-featured,
body.fsbc-modern-shell .fsbc-friendly-band {
  background: linear-gradient(135deg, #075f46, #075f80) !important;
}

body.fsbc-modern-shell .fsbc-friendly-path-grid .fsbc-path-featured h3,
body.fsbc-modern-shell .fsbc-friendly-path-grid .fsbc-path-featured p,
body.fsbc-modern-shell .fsbc-friendly-path-grid .fsbc-path-featured span,
body.fsbc-modern-shell .fsbc-friendly-band h2,
body.fsbc-modern-shell .fsbc-friendly-band p {
  color: #fff !important;
}

body.fsbc-modern-shell .resource-card-tags .tag,
body.fsbc-modern-shell .resource-card-tags span,
body.fsbc-modern-shell .tag {
  color: #24383c;
}

body.fsbc-modern-shell .tag.free {
  background: #fff1d7 !important;
  color: #8a4f00 !important;
}

body.fsbc-modern-shell .tag.age {
  background: #e8f2fb !important;
  color: #075f80 !important;
}

body.fsbc-modern-shell .tag.disability {
  background: #e4f3ea !important;
  color: #075f46 !important;
}

body.fsbc-modern-shell .tag.type {
  background: #f0f2f2 !important;
  color: #35494d !important;
}

.fsbc-land-acknowledgement {
  margin-top: 34px;
}

.fsbc-land-card {
  background: #ffffff;
  border: 1px solid rgba(7, 95, 70, .18);
  border-left: 8px solid #075f46;
  border-radius: 28px;
  padding: clamp(24px, 4vw, 36px);
  box-shadow: 0 18px 50px rgba(21, 58, 67, .08);
}

.fsbc-land-card h2 {
  margin: 12px 0 10px;
  color: #17363d;
  font-size: clamp(1.55rem, 3vw, 2.2rem);
  line-height: 1.2;
}

.fsbc-land-card p {
  margin: 0;
  max-width: 1040px;
  color: #334b50;
  font-size: 1.02rem;
  line-height: 1.75;
}

body.fsbc-modern-shell .fsbc-site-footer p,
body.fsbc-modern-shell .fsbc-site-footer a {
  color: rgba(255,255,255,.92) !important;
}

body.fsbc-modern-shell .fsbc-site-footer a:hover,
body.fsbc-modern-shell .fsbc-site-footer a:focus-visible {
  color: #fff !important;
  text-decoration: underline !important;
}

.fsbc-share-popup {
  width: min(340px, calc(100vw - 24px));
}

.fsbc-share-popup .popupset {
  background: #ffffff !important;
  border: 1px solid rgba(10,137,185,.16);
  border-radius: 18px;
  box-shadow: 0 18px 50px rgba(21,58,67,.18);
  overflow: hidden;
}

.fsbc-share-popup .popuphdr {
  background: linear-gradient(135deg, #075f46, #075f80);
  color: #ffffff;
  margin: 0;
  padding: 12px;
}

.fsbc-share-popup .popuphdrsvg svg,
.fsbc-share-popup .popuphdrsvg svg path,
.fsbc-share-popup .popuphdrbtn svg,
.fsbc-share-popup .popuphdrbtn svg path {
  fill: #ffffff !important;
}

.fsbc-share-popup .popuphdrttl {
  color: #ffffff;
  font-weight: 900;
}

.fsbc-share-popup .popuphdrbtn {
  background: rgba(255,255,255,.18);
  border-radius: 10px;
}

.fsbc-share-popup .popupdata {
  background: #ffffff !important;
  margin: 0;
  padding: 12px;
}

.fsbc-share-panel {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.fsbc-share-panel a,
.fsbc-share-panel button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid #dce9e3;
  border-radius: 14px;
  background: #f8fbfa;
  color: #20363a !important;
  font: inherit;
  font-weight: 800;
  text-align: left;
  cursor: pointer;
  text-decoration: none !important;
}

.fsbc-share-panel a:hover,
.fsbc-share-panel button:hover,
.fsbc-share-panel a:focus-visible,
.fsbc-share-panel button:focus-visible {
  background: #eaf6fb;
  border-color: #08769f;
  color: #064f6a !important;
}

.fsbc-share-panel .material-icons {
  font-size: 20px;
  color: currentColor;
}

/* Keep legacy share list readable if older markup appears anywhere. */
.share-services a {
  color: #20363a !important;
}
.share-services a:hover {
  color: #064f6a !important;
  text-decoration: underline !important;
}

@media (max-width: 640px) {
  .fsbc-share-panel {
    grid-template-columns: 1fr;
  }
  .fsbc-land-card {
    border-left-width: 6px;
  }
}


/* FSBC feedback/suggest routing polish */
.fsbc-feedback-shell{max-width:960px;margin:0 auto;}
.fsbc-feedback-note{margin-bottom:22px;}
.feedback-report{font-weight:800;line-height:1.4;}
.feedback-report.rptok{color:#1f6f55;}
.feedback-report.rpterror{color:#b73532;}
.feedback-report.rptproc{color:#0a668a;}
.fsbc-suggest-login-card{
  background:#fff;
  border:1px solid #e7efeb;
  border-radius:26px;
  padding:34px;
  box-shadow:0 12px 34px rgba(21,58,67,.07);
  max-width:920px;
  margin:0 auto;
}
.fsbc-suggest-login-card h2{margin:0 0 14px;color:#18352d;font-size:1.8rem;}
.fsbc-suggest-login-card p{color:#5b6661;line-height:1.75;margin:0 0 16px;}
.fsbc-suggest-login-card .openuser{border:0;cursor:pointer;}
@media(max-width:640px){.fsbc-suggest-login-card{padding:24px;border-radius:22px;}}


.submit-feedback{
    background:#08769f !important;
    color:#fff !important;
    border:0 !important;
    border-radius:14px !important;
    padding:12px 24px !important;
    font-weight:700 !important;
    cursor:pointer;
    transition:.2s;
}

.submit-feedback:hover{
    background:#055d7d !important;
    color:#fff !important;
}


.fsbc-help-page {
  max-width: 960px;
  margin: 0 auto;
  padding: 48px 20px 70px;
}

.fsbc-page-header {
  text-align: center;
  margin-bottom: 34px;
}

.fsbc-eyebrow {
  margin: 0 0 8px;
  color: #08769f;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 13px;
}

.fsbc-page-header h1 {
  margin: 0;
  font-size: clamp(32px, 5vw, 48px);
  line-height: 1.1;
  color: #14384a;
}

.fsbc-lead {
  margin: 16px auto 0;
  max-width: 640px;
  color: #4d6470;
  font-size: 18px;
  line-height: 1.6;
}

.fsbc-help-list {
  display: grid;
  gap: 18px;
}

.fsbc-help-card {
  background: #fff;
  border: 1px solid rgba(8, 118, 159, .14);
  border-radius: 18px;
  padding: 24px 26px;
  box-shadow: 0 10px 28px rgba(20, 56, 74, .08);
}

.fsbc-help-card h2 {
  margin: 0 0 12px;
  color: #14384a;
  font-size: 22px;
  line-height: 1.25;
}

.fsbc-help-card p {
  margin: 0 0 10px;
  color: #415866;
  font-size: 16px;
  line-height: 1.65;
}

.fsbc-help-card p:last-child {
  margin-bottom: 0;
}

/* =========================================================
   FSBC homepage client refinements - July 2026
   Light surfaces, dark text and stronger calls to action
   ========================================================= */
body.fsbc-modern-shell.home .fsbc-friendly-home .fsbc-eyebrow,
body.fsbc-modern-shell.home .fsbc-friendly-home .fsbc-eyebrow a,
body.fsbc-modern-shell.home .fsbc-friendly-home h1,
body.fsbc-modern-shell.home .fsbc-friendly-home .fsbc-hero-lead,
body.fsbc-modern-shell.home .fsbc-orbit-card strong,
body.fsbc-modern-shell.home .fsbc-orbit-card span,
body.fsbc-modern-shell.home .fsbc-centered-head,
body.fsbc-modern-shell.home .fsbc-centered-head p,
body.fsbc-modern-shell.home .fsbc-path-card,
body.fsbc-modern-shell.home .fsbc-path-card h3,
body.fsbc-modern-shell.home .fsbc-path-card p,
body.fsbc-modern-shell.home .fsbc-friendly-band,
body.fsbc-modern-shell.home .fsbc-friendly-band h2,
body.fsbc-modern-shell.home .fsbc-friendly-band p,
body.fsbc-modern-shell.home .fsbc-feature-card,
body.fsbc-modern-shell.home .fsbc-feature-card h3,
body.fsbc-modern-shell.home .fsbc-feature-card p {
  color: #17363d !important;
}

body.fsbc-modern-shell.home .fsbc-friendly-path-grid {
  align-items: stretch;
}

body.fsbc-modern-shell.home .fsbc-friendly-path-grid .fsbc-path-card {
  box-sizing: border-box;
  min-height: 320px;
  display: flex;
  flex-direction: column;
  background: #ffffff !important;
  color: #17363d !important;
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

body.fsbc-modern-shell.home .fsbc-friendly-path-grid .fsbc-path-card:hover {
  transform: translateY(-5px);
  border-color: rgba(10, 137, 185, .35);
  box-shadow: 0 24px 62px rgba(32, 70, 62, .14);
}

body.fsbc-modern-shell.home .fsbc-friendly-path-grid .fsbc-path-card h3 {
  min-height: 3.1em;
  margin: 0 0 14px;
  padding: 0 0 14px;
  border-bottom: 3px solid rgba(10, 137, 185, .18);
  font-size: clamp(1.28rem, 2vw, 1.48rem);
  line-height: 1.25;
  font-weight: 900;
  letter-spacing: -.015em;
}

body.fsbc-modern-shell.home .fsbc-friendly-path-grid .fsbc-path-card p {
  flex: 1 1 auto;
  margin: 0;
  font-size: 1rem;
  line-height: 1.65;
}

body.fsbc-modern-shell.home .fsbc-path-cta {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  box-sizing: border-box;
  margin-top: 22px;
  padding: 13px 16px;
  border: 1px solid rgba(10, 137, 185, .25);
  border-radius: 14px;
  background: #eaf6fa;
  color: #17363d !important;
  font-size: 1.02rem;
  font-weight: 900;
  line-height: 1.25;
  text-decoration: none;
  transition: transform .3s ease, background-color .3s ease, border-color .3s ease, box-shadow .3s ease;
}

body.fsbc-modern-shell.home .fsbc-path-cta:hover,
body.fsbc-modern-shell.home .fsbc-path-cta:focus-visible {
  transform: translateY(-2px);
  background: #d9eef5;
  border-color: rgba(10, 137, 185, .48);
  box-shadow: 0 10px 24px rgba(10, 137, 185, .12);
  color: #102f36 !important;
  text-decoration: none !important;
}

body.fsbc-modern-shell.home .fsbc-path-cta span {
  margin: 0;
  color: inherit !important;
  font-size: 1.18rem;
  transition: transform .3s ease;
}

body.fsbc-modern-shell.home .fsbc-path-cta:hover span {
  transform: translateX(4px);
}

body.fsbc-modern-shell.home .fsbc-home-search button,
body.fsbc-modern-shell.home .fsbc-btn-primary,
body.fsbc-modern-shell.home .fsbc-btn-secondary {
  min-height: 48px;
  padding: 13px 20px;
  border: 1px solid rgba(10, 137, 185, .28) !important;
  background: #dff1f7 !important;
  color: #17363d !important;
  font-size: 1.02rem;
  font-weight: 900;
  transition: transform .3s ease, background-color .3s ease, border-color .3s ease, box-shadow .3s ease;
}

body.fsbc-modern-shell.home .fsbc-btn-secondary {
  background: #edf6e9 !important;
  border-color: rgba(46, 139, 110, .28) !important;
}

body.fsbc-modern-shell.home .fsbc-home-search button:hover,
body.fsbc-modern-shell.home .fsbc-btn-primary:hover,
body.fsbc-modern-shell.home .fsbc-btn-secondary:hover {
  transform: translateY(-2px);
  background: #cfeaf3 !important;
  border-color: rgba(10, 137, 185, .48) !important;
  box-shadow: 0 10px 24px rgba(10, 137, 185, .12);
  color: #102f36 !important;
}

body.fsbc-modern-shell.home .fsbc-btn-secondary:hover {
  background: #deefd8 !important;
  border-color: rgba(46, 139, 110, .48) !important;
}

body.fsbc-modern-shell.home .fsbc-friendly-band {
  background: linear-gradient(135deg, #f1f8f4, #eef7fa) !important;
  border: 1px solid rgba(46, 139, 110, .18);
  box-shadow: 0 18px 48px rgba(23, 54, 61, .09);
}

body.fsbc-modern-shell.home .fsbc-friendly-band .fsbc-pill {
  background: #dfeee5 !important;
  color: #17363d !important;
  font-weight: 900;
}

body.fsbc-modern-shell.home .fsbc-band-links a {
  border: 1px solid rgba(10, 137, 185, .22) !important;
  background: #ffffff !important;
  color: #17363d !important;
  font-size: 1rem;
  font-weight: 900;
  transition: transform .3s ease, background-color .3s ease, border-color .3s ease, box-shadow .3s ease;
}

body.fsbc-modern-shell.home .fsbc-band-links a:hover,
body.fsbc-modern-shell.home .fsbc-band-links a:focus-visible {
  transform: translateY(-2px);
  background: #e7f4f8 !important;
  border-color: rgba(10, 137, 185, .42) !important;
  box-shadow: 0 8px 20px rgba(10, 137, 185, .1);
  color: #102f36 !important;
}

body.fsbc-modern-shell.home .fsbc-feature-card {
  background: #ffffff;
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

body.fsbc-modern-shell.home .fsbc-feature-card:hover {
  transform: translateY(-3px);
  border-color: rgba(10, 137, 185, .3);
  box-shadow: 0 18px 44px rgba(32, 70, 62, .1);
}

@media (max-width: 980px) {
  body.fsbc-modern-shell.home .fsbc-friendly-path-grid .fsbc-path-card {
    min-height: 0;
  }

  body.fsbc-modern-shell.home .fsbc-friendly-path-grid .fsbc-path-card h3 {
    min-height: 0;
  }
}

/* =========================================================
   Edit and management action buttons
   Keeps existing PHP/JavaScript actions intact while making
   admin and organization controls clearer and consistent.
   ========================================================= */

/* Leave enough room for the edit action group beside the title. */
.content-page-edit .cwf-title {
  padding-right: 190px;
  box-sizing: border-box;
}

.content-page-edit:has(.emlusr) .cwf-title {
  padding-right: 240px;
}

/* Shared button shape and motion. */
.editres,
.updtres,
.addres,
.updtorg,
.updtdis,
.updttype,
.updtreg,
.updtcity,
.updtusr,
.updtport,
.updtclnt,
.setpass,
.emlusr,
.dltres,
.dltorg,
.dltdis,
.dlttype,
.dltreg,
.dltcity,
.dltusr,
.dltport,
.cancelbtn {
  width: 42px;
  height: 42px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(23, 54, 61, .12);
  cursor: pointer;
  transition: transform .3s ease, background-color .3s ease,
              border-color .3s ease, box-shadow .3s ease;
}

.editres svg,
.updtres svg,
.addres svg,
.updtorg svg,
.updtdis svg,
.updttype svg,
.updtreg svg,
.updtcity svg,
.updtusr svg,
.updtport svg,
.updtclnt svg,
.setpass svg,
.emlusr svg,
.dltres svg,
.dltorg svg,
.dltdis svg,
.dlttype svg,
.dltreg svg,
.dltcity svg,
.dltusr svg,
.dltport svg,
.cancelbtn svg {
  width: 21px;
  height: 21px;
  display: block;
  transition: fill .3s ease, transform .3s ease;
}

/* Primary actions: add, edit and save. */
.editres,
.updtres,
.addres,
.updtorg,
.updtdis,
.updttype,
.updtreg,
.updtcity,
.updtusr,
.updtport,
.updtclnt,
.setpass {
  right: 14px;
  top: 12px;
  background: #e6f3f8;
  border-color: rgba(10, 137, 185, .34);
}

.editres svg,
.updtres svg,
.addres svg,
.updtorg svg,
.updtdis svg,
.updttype svg,
.updtreg svg,
.updtcity svg,
.updtusr svg,
.updtport svg,
.updtclnt svg,
.setpass svg {
  fill: #087eaa;
}

.editres:hover,
.updtres:hover,
.addres:hover,
.updtorg:hover,
.updtdis:hover,
.updttype:hover,
.updtreg:hover,
.updtcity:hover,
.updtusr:hover,
.updtport:hover,
.updtclnt:hover,
.setpass:hover {
  transform: translateY(-2px);
  background: #0a89b9;
  border-color: #0a89b9;
  box-shadow: 0 8px 18px rgba(10, 137, 185, .24);
}

.editres:hover svg,
.updtres:hover svg,
.addres:hover svg,
.updtorg:hover svg,
.updtdis:hover svg,
.updttype:hover svg,
.updtreg:hover svg,
.updtcity:hover svg,
.updtusr:hover svg,
.updtport:hover svg,
.updtclnt:hover svg,
.setpass:hover svg {
  fill: #ffffff;
  transform: scale(1.06);
}

/* Cancel remains next to the primary action. */
.cancelbtn {
  right: 64px;
  top: 12px;
  background: #f1f3f4;
  border-color: #d3d9dc;
}

.cancelbtn svg {
  fill: #53636a;
}

.cancelbtn:hover {
  transform: translateY(-2px);
  background: #dfe4e6;
  border-color: #bcc6ca;
  box-shadow: 0 8px 18px rgba(83, 99, 106, .18);
}

.cancelbtn:hover svg {
  fill: #26383f;
  transform: scale(1.06);
}

/* Email/verification is a distinct supportive action. */
.emlusr {
  right: 114px;
  top: 12px;
  background: #edf6e9;
  border-color: rgba(46, 139, 110, .36);
}

.emlusr svg {
  fill: #2e8b6e;
}

.emlusr:hover {
  transform: translateY(-2px);
  background: #2e8b6e;
  border-color: #2e8b6e;
  box-shadow: 0 8px 18px rgba(46, 139, 110, .22);
}

.emlusr:hover svg {
  fill: #ffffff;
  transform: scale(1.06);
}

/* Destructive actions stay visually separate and always appear leftmost. */
.dltres,
.dltorg,
.dltdis,
.dlttype,
.dltreg,
.dltcity,
.dltusr,
.dltport {
  right: 114px !important;
  top: 12px;
  background: #fff0f0;
  border-color: rgba(196, 53, 53, .34);
}

.content-page-edit:has(.emlusr) .dltusr {
  right: 164px !important;
}

.dltres svg,
.dltorg svg,
.dltdis svg,
.dlttype svg,
.dltreg svg,
.dltcity svg,
.dltusr svg,
.dltport svg {
  fill: #c43535;
}

.dltres:hover,
.dltorg:hover,
.dltdis:hover,
.dlttype:hover,
.dltreg:hover,
.dltcity:hover,
.dltusr:hover,
.dltport:hover {
  transform: translateY(-2px);
  background: #c43535;
  border-color: #c43535;
  box-shadow: 0 8px 18px rgba(196, 53, 53, .22);
}

.dltres:hover svg,
.dltorg:hover svg,
.dltdis:hover svg,
.dlttype:hover svg,
.dltreg:hover svg,
.dltcity:hover svg,
.dltusr:hover svg,
.dltport:hover svg {
  fill: #ffffff;
  transform: scale(1.06);
}

/* Immediate descriptive tooltip, using the existing title text. */
.editres::after,
.updtres::after,
.addres::after,
.updtorg::after,
.updtdis::after,
.updttype::after,
.updtreg::after,
.updtcity::after,
.updtusr::after,
.updtport::after,
.updtclnt::after,
.setpass::after,
.emlusr::after,
.dltres::after,
.dltorg::after,
.dltdis::after,
.dlttype::after,
.dltreg::after,
.dltcity::after,
.dltusr::after,
.dltport::after,
.cancelbtn::after {
  content: attr(title);
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  width: max-content;
  max-width: 220px;
  padding: 7px 10px;
  border: 1px solid rgba(23, 54, 61, .16);
  border-radius: 8px;
  background: #ffffff;
  color: #17363d;
  box-shadow: 0 8px 22px rgba(23, 54, 61, .16);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.25;
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-4px);
  transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
  z-index: 3000;
}

.editres:hover::after,
.updtres:hover::after,
.addres:hover::after,
.updtorg:hover::after,
.updtdis:hover::after,
.updttype:hover::after,
.updtreg:hover::after,
.updtcity:hover::after,
.updtusr:hover::after,
.updtport:hover::after,
.updtclnt:hover::after,
.setpass:hover::after,
.emlusr:hover::after,
.dltres:hover::after,
.dltorg:hover::after,
.dltdis:hover::after,
.dlttype:hover::after,
.dltreg:hover::after,
.dltcity:hover::after,
.dltusr:hover::after,
.dltport:hover::after,
.cancelbtn:hover::after {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* Keep the action row clear and readable on smaller screens. */
@media (max-width: 680px) {
  .content-page-edit .cwf-title,
  .content-page-edit:has(.emlusr) .cwf-title {
    width: auto;
    max-width: none;
    padding: 68px 15px 12px;
  }

  .content-page-edit .cwf-edit {
    height: calc(100% - 96px);
  }

  .editres::after,
  .updtres::after,
  .addres::after,
  .updtorg::after,
  .updtdis::after,
  .updttype::after,
  .updtreg::after,
  .updtcity::after,
  .updtusr::after,
  .updtport::after,
  .updtclnt::after,
  .setpass::after,
  .emlusr::after,
  .dltres::after,
  .dltorg::after,
  .dltdis::after,
  .dlttype::after,
  .dltreg::after,
  .dltcity::after,
  .dltusr::after,
  .dltport::after,
  .cancelbtn::after {
    display: none;
  }
}

/* FSBC account roles and approval workflow */
.user-registration .regtype,
.user-section-input .regtype {
  width: 100%;
  min-height: 42px;
  box-sizing: border-box;
  border: 1px solid rgba(20, 48, 72, 0.28);
  border-radius: 8px;
  background: #fff;
  color: #172b3a;
  padding: 8px 10px;
  font-size: 15px;
}

.user-section-help {
  margin-top: 7px;
  color: #485d6d;
  font-size: 12px;
  line-height: 1.45;
}

.selectfield.organizations,
.selectfield.portfolio {
  min-height: 150px;
  padding: 6px;
}

.selectfield.organizations option,
.selectfield.portfolio option {
  padding: 6px 8px;
}

.fsbc-placeholder-note strong {
  color: #172b3a;
}

/* =========================================================
   FSBC v24: readable multi-select resource filters
   - Type and Disability use wrapping checkbox lists
   - primary filters occupy the first row
   - Age, Region and City occupy the second row
   ========================================================= */
body.fsbc-modern-shell .fsbc-filter-guidance{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin:0 0 16px;
  padding:13px 15px;
  border:1px solid rgba(10,137,185,.18);
  border-radius:16px;
  background:#f2f9fc;
  color:#243f45;
}
body.fsbc-modern-shell .fsbc-filter-guidance .material-icons{
  flex:0 0 auto;
  margin-top:1px;
  color:#087eaa;
  font-size:24px;
}
body.fsbc-modern-shell .fsbc-filter-guidance div{
  display:grid;
  gap:2px;
}
body.fsbc-modern-shell .fsbc-filter-guidance strong{
  font-size:.96rem;
  line-height:1.25;
  font-weight:800;
}
body.fsbc-modern-shell .fsbc-filter-guidance span:not(.material-icons){
  font-size:.88rem;
  line-height:1.42;
  color:#526b70;
}

body.fsbc-modern-shell .content-main-filter-inner{
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
}
body.fsbc-modern-shell .filter-item.fsbc-filter-primary{
  grid-column:span 3 !important;
}
body.fsbc-modern-shell .filter-item.fsbc-filter-secondary{
  grid-column:span 2 !important;
}
body.fsbc-modern-shell .filter-item.fsbc-filter-primary .filter-inner{
  min-height:360px !important;
  background:#fbfdf9 !important;
  border-color:rgba(78,142,34,.20) !important;
}
body.fsbc-modern-shell .filter-item.fsbc-filter-secondary .filter-inner{
  height:100% !important;
}

body.fsbc-modern-shell .fsbc-filter-title-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:0 0 8px;
}
body.fsbc-modern-shell .fsbc-filter-title-row .filter-title{
  margin:0 !important;
}
body.fsbc-modern-shell .fsbc-multiselect-badge{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:4px 8px;
  border:1px solid rgba(10,137,185,.22);
  border-radius:999px;
  background:#edf8fc;
  color:#087eaa;
  font-size:.67rem;
  line-height:1;
  letter-spacing:.055em;
  font-weight:850;
  white-space:nowrap;
}
body.fsbc-modern-shell .fsbc-multiselect-badge-small{
  min-height:21px;
  padding:3px 7px;
  font-size:.61rem;
}
body.fsbc-modern-shell .fsbc-filter-description{
  min-height:42px;
  margin:0 0 10px;
  color:#607579;
  font-size:.84rem;
  line-height:1.42;
}

/* Keep the original select as the filtering data source, but replace its
   browser-dependent option display with a fully wrapping checkbox list. */
body.fsbc-modern-shell select.fsbc-enhanced-source{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  min-height:1px !important;
  margin:-1px !important;
  padding:0 !important;
  overflow:hidden !important;
  clip:rect(0 0 0 0) !important;
  clip-path:inset(50%) !important;
  border:0 !important;
  white-space:nowrap !important;
}
body.fsbc-modern-shell .fsbc-choice-list{
  display:grid;
  align-content:start;
  gap:6px;
  width:100%;
  max-height:264px;
  padding:7px;
  box-sizing:border-box;
  overflow-x:hidden;
  overflow-y:auto;
  border:1px solid rgba(59,105,111,.18);
  border-radius:14px;
  background:#fff;
  scrollbar-width:thin;
  scrollbar-color:rgba(10,137,185,.35) transparent;
}
body.fsbc-modern-shell .fsbc-choice-option{
  display:grid;
  grid-template-columns:20px minmax(0,1fr);
  align-items:start;
  gap:8px;
  width:100%;
  min-width:0;
  margin:0;
  padding:8px 9px;
  box-sizing:border-box;
  border:1px solid transparent;
  border-radius:10px;
  background:#fff;
  color:#263f44;
  cursor:pointer;
  transition:background-color .3s ease,border-color .3s ease,transform .3s ease,box-shadow .3s ease;
}
body.fsbc-modern-shell .fsbc-choice-option:hover{
  border-color:rgba(10,137,185,.22);
  background:#f3fafc;
  box-shadow:0 5px 14px rgba(21,58,67,.07);
  transform:translateY(-1px);
}
body.fsbc-modern-shell .fsbc-choice-option:has(.fsbc-choice-input:checked){
  border-color:rgba(10,137,185,.28);
  background:#edf8fc;
}
body.fsbc-modern-shell .fsbc-choice-option.is-all{
  margin-bottom:2px;
  border-color:rgba(78,142,34,.18);
  background:#f5faef;
  font-weight:800;
}
body.fsbc-modern-shell .fsbc-choice-option.is-parent{
  border-color:rgba(10,137,185,.18);
  background:#eaf6fb;
  color:#075f80;
  font-weight:850;
}
body.fsbc-modern-shell .fsbc-choice-option.is-parent .fsbc-choice-text{
  color:#075f80;
  font-weight:850;
}
body.fsbc-modern-shell .fsbc-choice-option.is-child{
  padding-left:20px;
  color:#425a60;
}
body.fsbc-modern-shell .fsbc-choice-input{
  width:17px !important;
  height:17px !important;
  min-width:17px !important;
  margin:1px 0 0 !important;
  padding:0 !important;
  accent-color:#0a89b9;
  cursor:pointer;
}
body.fsbc-modern-shell .fsbc-choice-text{
  display:block;
  min-width:0;
  font-size:.88rem;
  line-height:1.34;
  font-weight:600;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:normal;
}
body.fsbc-modern-shell .fsbc-choice-option.is-child .fsbc-choice-text{
  font-weight:500;
}

@media (max-width:1050px){
  body.fsbc-modern-shell .filter-item.fsbc-filter-primary{
    grid-column:span 6 !important;
  }
  body.fsbc-modern-shell .filter-item.fsbc-filter-secondary{
    grid-column:span 2 !important;
  }
  body.fsbc-modern-shell .filter-item.fsbc-filter-primary .filter-inner{
    min-height:0 !important;
  }
  body.fsbc-modern-shell .fsbc-choice-list{
    max-height:290px;
  }
}

@media (max-width:760px){
  body.fsbc-modern-shell .filter-item.fsbc-filter-primary,
  body.fsbc-modern-shell .filter-item.fsbc-filter-secondary{
    grid-column:span 6 !important;
  }
  body.fsbc-modern-shell .fsbc-filter-guidance{
    padding:12px;
  }
  body.fsbc-modern-shell .fsbc-filter-title-row{
    align-items:flex-start;
  }
  body.fsbc-modern-shell .fsbc-filter-description{
    min-height:0;
  }
  body.fsbc-modern-shell .fsbc-choice-list{
    max-height:320px;
  }
}


/* =========================================================
   findSupport BC history sections and brand consistency
   ========================================================= */
.fsbc-home-history {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
  gap: clamp(28px, 5vw, 58px);
  align-items: center;
  margin-top: 34px;
  padding: clamp(28px, 5vw, 54px);
  border: 1px solid rgba(10, 137, 185, .16);
  border-radius: 30px;
  background: linear-gradient(135deg, #ffffff 0%, #f4faf8 54%, #eef8fc 100%);
  box-shadow: 0 20px 58px rgba(21, 58, 67, .08);
}

.fsbc-home-history-copy h2,
.fsbc-about-history h2 {
  margin: 12px 0 16px;
  color: #17363d;
  font-size: clamp(1.7rem, 3.2vw, 2.45rem);
  line-height: 1.18;
  letter-spacing: -.025em;
}

.fsbc-home-history-copy p,
.fsbc-about-history-copy p,
.fsbc-about-history-note p {
  color: #405a5e;
  line-height: 1.75;
}

.fsbc-home-history-copy p + p,
.fsbc-about-history-copy p + p {
  margin-top: 14px;
}

.fsbc-history-link,
.fsbc-about-history-note a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 18px;
  color: #075f80 !important;
  font-weight: 800;
  text-decoration: none !important;
  transition: transform .3s ease, color .3s ease;
}

.fsbc-history-link:hover,
.fsbc-history-link:focus-visible,
.fsbc-about-history-note a:hover,
.fsbc-about-history-note a:focus-visible {
  color: #043f56 !important;
  transform: translateX(4px);
}

.fsbc-history-points {
  display: grid;
  gap: 12px;
}

.fsbc-history-points article {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  padding: 18px;
  border: 1px solid rgba(7, 95, 70, .14);
  border-radius: 18px;
  background: rgba(255, 255, 255, .86);
  transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}

.fsbc-history-points article:hover {
  transform: translateY(-2px);
  border-color: rgba(7, 95, 70, .32);
  box-shadow: 0 14px 30px rgba(21, 58, 67, .08);
}

.fsbc-history-points article > span {
  display: inline-flex;
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: #e4f3ec;
  color: #075f46;
  font-size: .82rem;
  font-weight: 900;
  letter-spacing: .05em;
}

.fsbc-history-points strong {
  display: block;
  margin-bottom: 5px;
  color: #17363d;
  font-size: 1rem;
}

.fsbc-history-points p {
  margin: 0;
  color: #526b70;
  font-size: .92rem;
  line-height: 1.55;
}

.fsbc-about-history {
  border-top: 1px solid rgba(10, 137, 185, .12);
}

.fsbc-about-history-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
  gap: clamp(26px, 5vw, 54px);
  align-items: start;
  margin-top: 24px;
}

.fsbc-about-history-note {
  padding: 26px;
  border: 1px solid rgba(7, 95, 70, .16);
  border-radius: 22px;
  background: linear-gradient(145deg, #f3faf6, #eef8fc);
}

.fsbc-about-history-note > span {
  display: inline-block;
  margin-bottom: 12px;
  color: #087eaa;
  font-size: .74rem;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.fsbc-about-history-note > strong {
  display: block;
  margin-bottom: 12px;
  color: #17363d;
  font-size: 1.12rem;
  line-height: 1.45;
}

@media (max-width: 900px) {
  .fsbc-home-history,
  .fsbc-about-history-grid {
    grid-template-columns: 1fr;
  }

  .fsbc-home-history {
    padding: 30px;
  }
}

@media (max-width: 560px) {
  .fsbc-home-history {
    margin-top: 24px;
    padding: 22px 18px;
    border-radius: 22px;
  }

  .fsbc-history-points article {
    grid-template-columns: 42px minmax(0, 1fr);
    padding: 15px;
  }

  .fsbc-history-points article > span {
    width: 38px;
    height: 38px;
  }

  .fsbc-about-history-note {
    padding: 20px;
  }
}


/* Resource quick links and clearer save/share actions */
.fsbc-resource-quick-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 2px 0 22px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--border-separator);
}

.fsbc-resource-quick-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 9px 15px;
  border: 1px solid #cfe0da;
  border-radius: 12px;
  background: #f4f9f7;
  color: #19363d;
  font-weight: 750;
  line-height: 1.2;
  text-decoration: none;
  box-shadow: 0 4px 12px rgba(25,54,61,.06);
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease, background-color .3s ease;
}

.fsbc-resource-quick-link .material-icons {
  color: var(--brand-green);
  font-size: 24px;
  transition: transform .3s ease, color .3s ease;
}

.fsbc-resource-quick-link:hover,
.fsbc-resource-quick-link:focus-visible {
  color: #19363d;
  background: #fff;
  border-color: var(--brand-green);
  box-shadow: 0 8px 20px rgba(25,54,61,.12);
  transform: translateY(-2px);
  outline: none;
}

.fsbc-resource-quick-link:hover .material-icons,
.fsbc-resource-quick-link:focus-visible .material-icons {
  color: var(--brand-blue);
  transform: scale(1.08);
}

.fsbc-share-note {
  margin: 14px 2px 0;
  padding: 11px 12px;
  border-radius: 10px;
  background: #f4f8f6;
  color: #4f6369;
  font-size: .88rem;
  line-height: 1.45;
}

.fsbc-share-note strong {
  color: #19363d;
}

@media (max-width: 640px) {
  .fsbc-resource-quick-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .fsbc-resource-quick-link {
    width: 100%;
    box-sizing: border-box;
    padding-left: 10px;
    padding-right: 10px;
  }
}

/* =========================================================
   FSBC navigation and link hover consistency
   - no underline on link hover/focus
   - consistent background hover for every desktop nav item
   ========================================================= */
body.fsbc-modern-shell a:hover,
body.fsbc-modern-shell a:focus-visible {
  text-decoration: none !important;
}

body.fsbc-modern-shell .fsbc-desktop-nav > a {
  display: block;
  border-radius: 13px;
  text-decoration: none !important;
}

body.fsbc-modern-shell .fsbc-desktop-nav > a .side-button {
  border-radius: 13px;
  transition:
    background-color .3s ease,
    color .3s ease,
    transform .3s ease,
    box-shadow .3s ease;
}

body.fsbc-modern-shell .fsbc-desktop-nav > a:hover .side-button,
body.fsbc-modern-shell .fsbc-desktop-nav > a:focus-visible .side-button,
body.fsbc-modern-shell .fsbc-desktop-nav .side-button.active {
  background-color: rgba(118, 171, 66, .15) !important;
  color: #34651c !important;
  transform: translateY(-1px);
  box-shadow: 0 5px 14px rgba(52, 101, 28, .08);
}

body.fsbc-modern-shell .fsbc-desktop-nav > a:focus-visible {
  outline: 3px solid rgba(10, 137, 185, .35);
  outline-offset: 3px;
}

body.fsbc-modern-shell .fsbc-desktop-nav .side-txt {
  color: inherit;
  transition: color .3s ease;
}


body.fsbc-modern-shell .fsbc-mobile-panel > a .side-button,
body.fsbc-modern-shell .fsbc-mobile-panel a .side-button {
  border-radius: 13px;
  transition:
    background-color .3s ease,
    color .3s ease,
    transform .3s ease,
    box-shadow .3s ease;
}

body.fsbc-modern-shell .fsbc-mobile-panel > a:hover .side-button,
body.fsbc-modern-shell .fsbc-mobile-panel > a:focus-visible .side-button,
body.fsbc-modern-shell .fsbc-mobile-panel a:hover .side-button,
body.fsbc-modern-shell .fsbc-mobile-panel a:focus-visible .side-button,
body.fsbc-modern-shell .fsbc-mobile-panel .side-button.active {
  background-color: rgba(118, 171, 66, .15) !important;
  color: #34651c !important;
}

/* Contact page */
.fsbc-contact-hero::after {
  background:radial-gradient(circle at 45% 48%,rgba(10,137,185,.15),transparent 58%);
}

.fsbc-contact-icon-wrap {
  display:flex;
  align-items:center;
  justify-content:center;
  color:#0a789f;
  font-size:2rem;
  font-weight:800;
}

.fsbc-contact-section {
  padding-bottom:28px;
}

.fsbc-contact-grid {
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.85fr);
  gap:24px;
  align-items:stretch;
}

.fsbc-contact-card {
  border:1px solid #dce9e7;
  border-radius:24px;
  background:#fff;
  padding:28px;
  box-shadow:0 16px 38px rgba(25,67,73,.08);
}

.fsbc-contact-card-main {
  border-top:5px solid #0a89b9;
}

.fsbc-contact-card-head {
  display:flex;
  align-items:flex-start;
  gap:15px;
  margin-bottom:24px;
}

.fsbc-contact-card-icon {
  width:48px;
  height:48px;
  border-radius:15px;
  background:#eef8fb;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  font-size:1.35rem;
}

.fsbc-contact-label {
  margin:0 0 5px !important;
  color:#5d7e85 !important;
  font-size:.78rem !important;
  line-height:1.2 !important;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.fsbc-contact-card h2 {
  margin:0;
  color:#17363d;
  font-size:1.45rem;
  line-height:1.25;
}

.fsbc-contact-details {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin:0;
  font-style:normal;
}

.fsbc-contact-detail {
  display:flex;
  align-items:flex-start;
  gap:12px;
  min-width:0;
  padding:16px;
  border-radius:16px;
  background:#f6faf9;
  color:#425d62;
}

.fsbc-contact-detail:first-child {
  grid-column:1 / -1;
}

.fsbc-contact-detail > span:first-child {
  width:24px;
  text-align:center;
  flex:0 0 24px;
  font-size:1.08rem;
}

.fsbc-contact-detail strong,
.fsbc-contact-person-links strong {
  display:block;
  margin-bottom:3px;
  color:#24434a;
  font-size:.82rem;
  letter-spacing:.02em;
}

.fsbc-contact-detail a,
.fsbc-contact-detail span,
.fsbc-contact-person-links a {
  color:#0a6f96;
  line-height:1.55;
  text-decoration:none;
  overflow-wrap:anywhere;
}

.fsbc-contact-detail a:hover,
.fsbc-contact-detail a:focus-visible,
.fsbc-contact-person-links a:hover,
.fsbc-contact-person-links a:focus-visible {
  color:#315f1d;
}

.fsbc-contact-actions {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:22px;
}

.fsbc-contact-card-copy {
  margin:0 0 20px !important;
  color:#52676b !important;
}

.fsbc-contact-person-links {
  display:grid;
  gap:12px;
}

.fsbc-contact-person-links a {
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:15px 16px;
  border:1px solid #dce9e7;
  border-radius:16px;
  background:#f8fbfa;
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease,background-color .3s ease;
}

.fsbc-contact-person-links a:hover,
.fsbc-contact-person-links a:focus-visible {
  transform:translateY(-2px);
  border-color:#b9d8ae;
  background:#f1f8ed;
  box-shadow:0 10px 22px rgba(41,84,47,.09);
}

.fsbc-contact-person-links a > span:first-child {
  flex:0 0 22px;
  text-align:center;
}

.fsbc-contact-person-links a > span:last-child {
  color:#0a6f96;
}

.fsbc-contact-help .fsbc-section-heading > p:last-child {
  max-width:760px;
}

.fsbc-contact-help-cards {
  grid-template-columns:repeat(3,minmax(0,1fr));
}

@media (max-width:900px) {
  .fsbc-contact-grid {
    grid-template-columns:1fr;
  }
}

@media (max-width:680px) {
  .fsbc-contact-card {
    padding:21px;
    border-radius:20px;
  }

  .fsbc-contact-details,
  .fsbc-contact-help-cards {
    grid-template-columns:1fr;
  }

  .fsbc-contact-detail:first-child {
    grid-column:auto;
  }

  .fsbc-contact-actions {
    display:grid;
    grid-template-columns:1fr;
  }

  .fsbc-contact-actions a {
    width:100%;
    box-sizing:border-box;
    text-align:center;
  }
}


/* Website help refresh */
.fsbc-support-hero::after {
  background:radial-gradient(circle at 50% 50%,rgba(118,171,66,.16),transparent 60%);
}

.fsbc-support-icon-wrap {
  color:#34651c;
  font-size:2.15rem;
  font-weight:900;
}

.fsbc-support-walkthrough-section {
  padding-top:44px;
  padding-bottom:34px;
}

.fsbc-support-walkthrough-card {
  display:grid;
  grid-template-columns:74px minmax(0,1fr) auto;
  gap:24px;
  align-items:center;
  padding:30px;
  border:1px solid #cfe3dc;
  border-radius:26px;
  background:linear-gradient(135deg,#f2faf6 0%,#f4f9fc 100%);
  box-shadow:0 16px 38px rgba(25,67,73,.08);
}

.fsbc-support-walkthrough-icon {
  display:flex;
  align-items:center;
  justify-content:center;
  width:66px;
  height:66px;
  border-radius:20px;
  background:#fff;
  color:#0a789f;
  box-shadow:0 10px 24px rgba(25,67,73,.10);
  font-size:1.65rem;
  line-height:1;
}

.fsbc-support-walkthrough-copy .fsbc-eyebrow {
  margin-bottom:7px;
}

.fsbc-support-walkthrough-copy h2 {
  margin:0 0 12px;
  font-size:1.65rem;
  line-height:1.3;
}

.fsbc-support-walkthrough-copy p {
  margin:0 0 8px;
  line-height:1.7;
}

.fsbc-support-walkthrough-copy .fsbc-support-walkthrough-note {
  margin:0;
  color:#607277;
  font-size:.92rem;
}

.fsbc-support-walkthrough-action {
  min-width:230px;
  text-align:center;
}

.fsbc-walkthrough-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  white-space:nowrap;
}

.fsbc-walkthrough-status {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:48px;
  padding:11px 17px;
  border:1px solid #c8d8d3;
  border-radius:14px;
  background:#fff;
  color:#52696d;
  font-weight:800;
  line-height:1.3;
}

.fsbc-support-start-section {
  padding-top:54px;
  padding-bottom:58px;
}

.fsbc-support-quick-cards {
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.fsbc-support-faq-section {
  padding-top:58px;
}

.fsbc-support-help-list {
  max-width:980px;
  margin:0 auto;
  gap:16px;
}

.fsbc-support-help-card {
  display:grid;
  grid-template-columns:52px minmax(0,1fr);
  gap:18px;
  align-items:start;
  border-color:#dce9e7;
  border-radius:20px;
  box-shadow:0 10px 28px rgba(20,56,74,.06);
  transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;
}

.fsbc-support-help-card:hover {
  transform:translateY(-2px);
  border-color:#b9d8ae;
  box-shadow:0 15px 32px rgba(20,56,74,.09);
}

.fsbc-support-help-number {
  display:flex;
  align-items:center;
  justify-content:center;
  width:46px;
  height:46px;
  border-radius:15px;
  background:#eef7f2;
  color:#34651c;
  font-size:.88rem;
  font-weight:900;
  letter-spacing:.04em;
}

.fsbc-support-help-card h2 {
  font-size:1.28rem;
  color:#17363d;
}

.fsbc-support-help-card a {
  color:#08769f;
}

.fsbc-support-cta {
  margin-top:8px;
}

@media (max-width:900px) {
  .fsbc-support-walkthrough-card {
    grid-template-columns:66px minmax(0,1fr);
  }

  .fsbc-support-walkthrough-action {
    grid-column:1 / -1;
    min-width:0;
    text-align:left;
    padding-left:90px;
  }

  .fsbc-support-quick-cards {
    grid-template-columns:1fr;
  }
}

@media (max-width:640px) {
  .fsbc-support-walkthrough-section {
    padding-top:34px;
  }

  .fsbc-support-walkthrough-card {
    grid-template-columns:1fr;
    gap:18px;
    padding:22px;
    border-radius:21px;
  }

  .fsbc-support-walkthrough-icon {
    width:56px;
    height:56px;
  }

  .fsbc-support-walkthrough-copy h2 {
    font-size:1.38rem;
  }

  .fsbc-support-walkthrough-action {
    grid-column:auto;
    padding-left:0;
  }

  .fsbc-walkthrough-button,
  .fsbc-walkthrough-status {
    width:100%;
    box-sizing:border-box;
  }

  .fsbc-support-help-card {
    grid-template-columns:1fr;
    padding:21px;
  }

  .fsbc-support-help-number {
    width:42px;
    height:42px;
  }
}

/* =========================================================
   Homepage content structure update - July 2026
   Hero copy, statistics, audience cards and feature section
   ========================================================= */
body.fsbc-modern-shell.home .fsbc-friendly-home h1 {
  max-width: 850px;
  font-size: clamp(2.25rem, 4.3vw, 3.45rem);
  letter-spacing: -.045em;
}

body.fsbc-modern-shell.home .fsbc-hero-supporting {
  max-width: 720px;
  margin: 11px 0 0;
  color: #405d58;
  font-size: 1rem;
  line-height: 1.65;
}

body.fsbc-modern-shell.home .fsbc-diagnosis-note {
  max-width: 720px;
  margin: 15px 0 0;
  padding: 12px 15px;
  border: 1px solid rgba(46, 139, 110, .2);
  border-radius: 14px;
  background: #f0f8f3;
  color: #294d45;
  line-height: 1.55;
}

body.fsbc-modern-shell.home .fsbc-diagnosis-note strong {
  color: #17363d;
  font-weight: 900;
}

body.fsbc-modern-shell.home .fsbc-home-hero-actions {
  justify-content: space-between;
  width: 100%;
  max-width: 760px;
  margin-top: 16px;
}

body.fsbc-modern-shell.home .fsbc-home-hero-actions .fsbc-btn {
  min-width: 150px;
}

body.fsbc-modern-shell.home .fsbc-home-stats {
  display: grid;
  grid-template-columns: minmax(240px, .75fr) minmax(0, 1.25fr);
  gap: 26px;
  align-items: center;
  margin-top: 34px;
  padding: 26px 30px;
  border: 1px solid rgba(10, 137, 185, .16);
  border-radius: 26px;
  background: linear-gradient(135deg, #f7fbf9 0%, #eef8fc 100%);
  box-shadow: 0 16px 42px rgba(21, 58, 67, .07);
}

body.fsbc-modern-shell.home .fsbc-home-stats-heading > span,
body.fsbc-modern-shell.home .fsbc-section-head > span {
  display: inline-block;
  color: #087eaa;
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

body.fsbc-modern-shell.home .fsbc-home-stats-heading h2 {
  margin: 7px 0 0;
  color: #17363d;
  font-size: clamp(1.3rem, 2.4vw, 1.85rem);
  line-height: 1.25;
}

body.fsbc-modern-shell.home .fsbc-home-stat-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

body.fsbc-modern-shell.home .fsbc-home-stat-grid-two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.fsbc-modern-shell.home .fsbc-home-stat {
  min-height: 112px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 18px 16px;
  box-sizing: border-box;
  border: 1px solid rgba(7, 95, 70, .14);
  border-radius: 18px;
  background: rgba(255, 255, 255, .9);
  text-align: center;
  transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}

body.fsbc-modern-shell.home .fsbc-home-stat:hover {
  transform: translateY(-3px);
  border-color: rgba(10, 137, 185, .32);
  box-shadow: 0 12px 26px rgba(21, 58, 67, .09);
}

body.fsbc-modern-shell.home .fsbc-home-stat strong {
  display: block;
  color: #075f80;
  font-size: clamp(1.75rem, 3vw, 2.35rem);
  line-height: 1;
  font-weight: 900;
}

body.fsbc-modern-shell.home .fsbc-home-stat span {
  display: block;
  margin-top: 8px;
  color: #405a5e;
  font-size: .9rem;
  line-height: 1.35;
  font-weight: 800;
}

body.fsbc-modern-shell.home #get-started {
  scroll-margin-top: calc(var(--fsbc-fixed-header-offset, 96px) + 20px);
}

body.fsbc-modern-shell.home .fsbc-audience-grid .fsbc-path-card {
  min-height: 570px;
}

body.fsbc-modern-shell.home .fsbc-audience-grid .fsbc-path-card > p {
  flex: 0 0 auto;
  min-height: 6.6em;
}

body.fsbc-modern-shell.home .fsbc-path-details {
  flex: 1 1 auto;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid rgba(10, 137, 185, .14);
  color: #405a5e;
}

body.fsbc-modern-shell.home .fsbc-path-details strong {
  display: block;
  margin-bottom: 9px;
  color: #17363d;
  font-size: .95rem;
  font-weight: 900;
}

body.fsbc-modern-shell.home .fsbc-path-details ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body.fsbc-modern-shell.home .fsbc-path-details li {
  position: relative;
  padding-left: 22px;
  color: #405a5e;
  font-size: .94rem;
  line-height: 1.45;
}

body.fsbc-modern-shell.home .fsbc-path-details li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: #2e8b6e;
  font-weight: 900;
}

body.fsbc-modern-shell.home .fsbc-path-actions {
  display: grid;
  gap: 10px;
  margin-top: 20px;
}

body.fsbc-modern-shell.home .fsbc-path-actions .fsbc-path-cta {
  margin-top: 0;
}

body.fsbc-modern-shell.home .fsbc-path-cta-secondary {
  background: #f5faf7;
  border-color: rgba(46, 139, 110, .2);
}

body.fsbc-modern-shell.home .fsbc-path-cta-secondary:hover,
body.fsbc-modern-shell.home .fsbc-path-cta-secondary:focus-visible {
  background: #e5f2e9;
  border-color: rgba(46, 139, 110, .42);
}

body.fsbc-modern-shell.home .fsbc-home-features {
  margin-top: 42px;
}

body.fsbc-modern-shell.home .fsbc-home-features .fsbc-centered-head {
  margin-bottom: 22px;
}

body.fsbc-modern-shell.home .fsbc-home-features .fsbc-feature-card {
  min-height: 220px;
  box-sizing: border-box;
}

@media (max-width: 1040px) {
  body.fsbc-modern-shell.home .fsbc-home-stats {
    grid-template-columns: 1fr;
  }

  body.fsbc-modern-shell.home .fsbc-home-stats-heading {
    text-align: center;
  }

  body.fsbc-modern-shell.home .fsbc-audience-grid .fsbc-path-card,
  body.fsbc-modern-shell.home .fsbc-audience-grid .fsbc-path-card > p {
    min-height: 0;
  }
}

@media (max-width: 700px) {
  body.fsbc-modern-shell.home .fsbc-home-hero-actions {
    justify-content: flex-start;
  }

  body.fsbc-modern-shell.home .fsbc-home-hero-actions .fsbc-btn {
    width: 100%;
  }

  body.fsbc-modern-shell.home .fsbc-home-stats {
    padding: 22px 18px;
    border-radius: 22px;
  }

  body.fsbc-modern-shell.home .fsbc-home-stat-grid,
  body.fsbc-modern-shell.home .fsbc-home-stat-grid-two {
    grid-template-columns: 1fr;
  }

  body.fsbc-modern-shell.home .fsbc-home-stat {
    min-height: 96px;
  }
}

/* =========================================================
   Homepage: connected FSI tools
   ========================================================= */
.fsbc-home-tools {
  margin-top: clamp(34px, 6vw, 76px);
  padding: clamp(30px, 5vw, 58px);
  padding-bottom: clamp(40px, 6vw, 70px);
  border: 1px solid rgba(10, 137, 185, .14);
  border-radius: 32px;
  background: linear-gradient(145deg, #f7fbfd 0%, #ffffff 48%, #f6fbf7 100%);
  box-shadow: 0 18px 54px rgba(21, 58, 67, .07);
}

.fsbc-home-tools-head {
  max-width: 830px;
}

.fsbc-home-tools-head p {
  max-width: 760px;
  margin: 0 auto;
  color: #4d6266;
  line-height: 1.75;
}

.fsbc-home-tools-head p a {
  color: #075f80 !important;
  font-weight: 800;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(7, 95, 128, .26);
  transition: color .3s ease, border-color .3s ease;
}

.fsbc-home-tools-head p a:hover,
.fsbc-home-tools-head p a:focus-visible {
  color: #043f56 !important;
  border-bottom-color: #043f56;
}

.fsbc-home-tools-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  align-items: stretch;
  margin-top: 34px;
  margin-bottom: 2px;
}

.fsbc-home-tool-card {
  display: flex;
  flex-direction: column;
  min-height: 0;
  box-sizing: border-box;
  padding: 28px;
  color: #18352d !important;
  text-decoration: none !important;
  border: 1px solid #dfeae5;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 7px 24px rgba(22, 63, 69, .05);
  transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease, background-color .3s ease;
}

.fsbc-home-tool-card:hover,
.fsbc-home-tool-card:focus-visible {
  transform: translateY(-5px);
  border-color: rgba(46, 139, 110, .62);
  background: #fbfefc;
  box-shadow: 0 17px 38px rgba(22, 63, 69, .11);
}

.fsbc-home-tool-icon {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  margin-bottom: 20px;
  border-radius: 17px;
  background: #edf8f3;
  font-size: 1.65rem;
}

.fsbc-home-tool-kicker {
  display: block;
  margin-bottom: 8px;
  color: #397b69;
  font-size: .76rem;
  font-weight: 850;
  letter-spacing: .075em;
  line-height: 1.35;
  text-transform: uppercase;
}

.fsbc-home-tool-card h3 {
  margin: 0 0 13px;
  color: #17363d;
  font-size: clamp(1.2rem, 2vw, 1.42rem);
  line-height: 1.25;
}

.fsbc-home-tool-card p {
  flex: 1;
  margin: 0;
  color: #556a6e;
  font-size: .98rem;
  line-height: 1.72;
}

.fsbc-home-tool-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 22px;
  color: #075f80;
  font-weight: 800;
  transition: gap .3s ease, color .3s ease;
}

.fsbc-home-tool-card:hover .fsbc-home-tool-link,
.fsbc-home-tool-card:focus-visible .fsbc-home-tool-link {
  gap: 12px;
  color: #043f56;
}

@media (max-width: 920px) {
  .fsbc-home-tools-grid {
    grid-template-columns: 1fr;
  }

  .fsbc-home-tool-card {
    min-height: 0;
  }
}

@media (max-width: 600px) {
  .fsbc-home-tools {
    padding: 24px 18px 34px;
    border-radius: 24px;
  }

  .fsbc-home-tool-card {
    padding: 23px 20px;
    border-radius: 20px;
  }
}

/* =========================================================
   Resource detail page refresh
   ========================================================= */
body.fsbc-modern-shell .cwf-content {
  padding: 18px 28px 28px;
}

.fsbc-resource-description-card,
.fsbc-resource-info-card {
  border: 1px solid #d9e6e1;
  border-radius: 16px;
  background: #ffffff;
  box-shadow: 0 7px 22px rgba(25, 54, 61, 0.07);
}

.fsbc-resource-description-card {
  padding: 24px 26px;
  margin: 0 0 18px;
}

.fsbc-resource-description-card h2,
.fsbc-resource-info-card h2 {
  margin: 0;
  color: #19363d;
  font-size: 1.28rem;
  line-height: 1.25;
  font-weight: 800;
}

.fsbc-resource-description-card h2 {
  padding-bottom: 12px;
  margin-bottom: 17px;
  border-bottom: 1px solid #dce8e4;
}

.fsbc-resource-description-card .coredesc {
  color: var(--text-color);
  font-size: 1rem;
  line-height: 1.75;
}

.fsbc-resource-description-card .coredesc > :first-child {
  margin-top: 0;
}

.fsbc-resource-description-card .coredesc > :last-child {
  margin-bottom: 0;
}

.fsbc-resource-description-card .coredesc h2,
.fsbc-resource-description-card .coredesc h3,
.fsbc-resource-description-card .coredesc h4 {
  color: #19363d;
  line-height: 1.3;
  margin: 1.35em 0 .55em;
}

.fsbc-resource-description-card .coredesc ul,
.fsbc-resource-description-card .coredesc ol {
  padding-left: 1.4rem;
  margin: .6rem 0 1rem;
}

.fsbc-resource-description-card .coredesc li + li {
  margin-top: .35rem;
}

.fsbc-resource-info-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  align-items: stretch;
}

.fsbc-resource-info-card {
  overflow: hidden;
}

.fsbc-resource-info-card > h2 {
  padding: 15px 20px;
  background: #f2f8f5;
  border-bottom: 1px solid #d9e6e1;
}

.fsbc-resource-info-content {
  padding: 7px 20px 14px;
}

.fsbc-resource-info-row {
  padding: 13px 0;
  border-bottom: 1px solid #e5eeeb;
}

.fsbc-resource-info-row:last-child {
  border-bottom: 0;
}

.fsbc-resource-info-label {
  margin-bottom: 4px;
  color: var(--brand-blue);
  font-size: .82rem;
  line-height: 1.25;
  font-weight: 800;
  letter-spacing: .055em;
  text-transform: uppercase;
}

.fsbc-resource-info-value {
  color: var(--text-color);
  line-height: 1.6;
  overflow-wrap: anywhere;
}

.fsbc-resource-info-value > :first-child {
  margin-top: 0;
}

.fsbc-resource-info-value > :last-child {
  margin-bottom: 0;
}

.fsbc-resource-empty {
  margin: 0;
  padding: 14px 0 7px;
  color: #617379;
  font-style: italic;
  line-height: 1.55;
}

body.fsbc-modern-shell .cwf-boxes {
  align-items: stretch;
}

body.fsbc-modern-shell .cwf-box.fsbc-resource-action {
  display: flex;
  min-height: 112px;
  align-items: center;
  cursor: pointer;
  border: 1px solid transparent;
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease, background-color .3s ease;
}

body.fsbc-modern-shell .cwf-box.fsbc-resource-action > a {
  display: flex;
  width: 100%;
  height: 100%;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: inherit;
}

body.fsbc-modern-shell .cwf-box.fsbc-resource-action:hover,
body.fsbc-modern-shell .cwf-box.fsbc-resource-action:focus-visible {
  background: #f4f9f7;
  border-color: var(--brand-green);
  box-shadow: 0 9px 22px rgba(25, 54, 61, .12);
  transform: translateY(-2px);
  outline: none;
}

@media (max-width: 760px) {
  body.fsbc-modern-shell .cwf-content {
    padding: 15px;
  }

  .fsbc-resource-description-card {
    padding: 20px;
  }

  .fsbc-resource-info-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .fsbc-resource-description-card {
    padding: 17px;
    border-radius: 13px;
  }

  .fsbc-resource-info-card {
    border-radius: 13px;
  }

  .fsbc-resource-info-card > h2,
  .fsbc-resource-info-content {
    padding-left: 16px;
    padding-right: 16px;
  }
}
/* Homepage tools: icon-led CTA buttons */
.fsbc-home-tool-link {
  width: fit-content;
  min-height: 42px;
  padding: 9px 13px;
  border: 1px solid rgba(7, 95, 128, .18);
  border-radius: 999px;
  background: #eef7fa;
  line-height: 1.2;
  transition: gap .3s ease, color .3s ease, background-color .3s ease, border-color .3s ease, box-shadow .3s ease;
}

.fsbc-home-tool-link-icon {
  display: inline-grid;
  place-items: center;
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  color: currentColor;
}

.fsbc-home-tool-link-icon svg {
  display: block;
  width: 19px;
  height: 19px;
  fill: currentColor;
}

.fsbc-home-tool-link-arrow {
  display: inline-block;
  margin-left: 1px;
  transition: transform .3s ease;
}

.fsbc-home-tool-card:hover .fsbc-home-tool-link,
.fsbc-home-tool-card:focus-visible .fsbc-home-tool-link {
  gap: 10px;
  background: #e3f3f7;
  border-color: rgba(7, 95, 128, .34);
  box-shadow: 0 5px 14px rgba(7, 95, 128, .09);
}

.fsbc-home-tool-card:hover .fsbc-home-tool-link-arrow,
.fsbc-home-tool-card:focus-visible .fsbc-home-tool-link-arrow {
  transform: translateX(3px);
}


/* Shared SVG action-icon treatment: homepage tools and resource actions */
.fsbc-action-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  line-height: 0;
  color: currentColor;
}

.fsbc-action-icon svg {
  display: block;
  width: 20px;
  height: 20px;
  overflow: visible;
}

.fsbc-action-icon svg path {
  fill: currentColor;
  transition: fill .3s ease, transform .3s ease;
}

.fsbc-home-tool-icon.fsbc-action-icon {
  display: inline-flex;
  width: 54px;
  height: 54px;
  color: #2e8b6e;
}

.fsbc-home-tool-icon.fsbc-action-icon svg {
  width: 30px;
  height: 30px;
}

.fsbc-home-tool-link-icon.fsbc-action-icon {
  display: inline-flex;
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
}

.fsbc-home-tool-link-icon.fsbc-action-icon svg {
  width: 19px;
  height: 19px;
}

.fsbc-home-tool-card:hover .fsbc-home-tool-icon svg,
.fsbc-home-tool-card:focus-visible .fsbc-home-tool-icon svg,
.fsbc-home-tool-card:hover .fsbc-home-tool-link-icon svg,
.fsbc-home-tool-card:focus-visible .fsbc-home-tool-link-icon svg {
  transform: scale(1.06);
}

/* Resource detail actions: keep the same SVG icon language used by resource-list actions. */
body.fsbc-modern-shell .cwf-box.fsbc-resource-action {
  flex: 1 1 145px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 112px;
  padding: 23px 12px;
  border: 1px solid transparent;
  border-radius: 15px;
  background: var(--bgd-innerbody);
  color: var(--text-color);
  cursor: pointer;
  box-shadow: 2px 2px 3px -2px rgba(0, 0, 0, .32);
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease, background-color .3s ease;
}

body.fsbc-modern-shell .cwf-box.fsbc-resource-action > a {
  display: flex;
  width: 100%;
  height: 100%;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: inherit;
}

body.fsbc-modern-shell .cwf-box.fsbc-resource-action .boxicon {
  display: block !important;
  padding-bottom: 8px;
  line-height: 0;
}

body.fsbc-modern-shell .cwf-box.fsbc-resource-action .boxicon svg {
  display: block;
  width: 36px;
  height: 36px;
  margin: 0 auto;
}

body.fsbc-modern-shell .cwf-box.fsbc-resource-action .boxicon svg path {
  fill: var(--brand-green);
  transition: fill .3s ease, transform .3s ease;
}

body.fsbc-modern-shell .cwf-box.fsbc-resource-action .boxtitle {
  color: var(--text-color);
  font-size: .96rem;
  font-weight: 800;
  line-height: 1.3;
  text-align: center;
}

body.fsbc-modern-shell .cwf-box.fsbc-resource-action:hover,
body.fsbc-modern-shell .cwf-box.fsbc-resource-action:focus-visible {
  background: #f4f9f7;
  border-color: var(--brand-green);
  box-shadow: 0 9px 22px rgba(25, 54, 61, .12);
  transform: translateY(-2px);
  outline: none;
}

body.fsbc-modern-shell .cwf-box.fsbc-resource-action:hover .boxicon svg path,
body.fsbc-modern-shell .cwf-box.fsbc-resource-action:focus-visible .boxicon svg path {
  fill: var(--brand-blue);
  transform: scale(1.06);
}

@media (max-width: 600px) {
  body.fsbc-modern-shell .cwf-box.fsbc-resource-action {
    min-height: 98px;
    padding: 18px 10px;
  }
}


/* Homepage hero heading size adjustment */
body.fsbc-modern-shell.home .fsbc-friendly-home h1 {
  font-size: clamp(2rem, 4vw, 3em);
}

/* =========================================================
   FSBC account structure + administration workspace - July 2026
   ========================================================= */
.fsbc-admin-page{background:transparent!important;box-shadow:none!important;border-radius:0!important;overflow:visible!important;}
.fsbc-admin-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:12px;margin:0 0 18px;}
.fsbc-admin-overview>span{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:84px;padding:12px;border:1px solid rgba(10,137,185,.13);border-radius:18px;background:#fff;color:#51666b;text-align:center;box-shadow:0 10px 24px rgba(21,58,67,.05);}
.fsbc-admin-overview strong{display:block;margin-bottom:4px;color:#17363d;font-size:1.55rem;line-height:1;font-weight:900;}
.fsbc-admin-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) repeat(2,minmax(170px,230px));gap:14px;align-items:end;margin:0 0 20px;padding:18px;border:1px solid rgba(10,137,185,.13);border-radius:22px;background:#fff;box-shadow:0 12px 32px rgba(21,58,67,.06);}
.fsbc-admin-toolbar label{display:grid;gap:7px;min-width:0;color:#496268;font-size:.78rem;font-weight:900;letter-spacing:.055em;text-transform:uppercase;}
.fsbc-admin-toolbar input,.fsbc-admin-toolbar select{width:100%;min-width:0;min-height:44px;box-sizing:border-box;border:1px solid #d7e5e1!important;border-radius:13px!important;background:#f8fbfa!important;padding:10px 12px!important;color:#20363a!important;font-size:.95rem!important;text-transform:none;letter-spacing:0;}
.fsbc-admin-list{display:grid;gap:14px;overflow:visible!important;height:auto!important;}
body.fsbc-modern-shell .fsbc-admin-list .resource-list-area.fsbc-admin-card{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto auto;gap:18px;align-items:center!important;width:auto!important;margin:0!important;padding:20px 22px!important;border:1px solid rgba(10,137,185,.13);border-radius:22px;background:#fff;box-shadow:0 12px 30px rgba(21,58,67,.06);transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;}
body.fsbc-modern-shell .fsbc-admin-list .resource-list-area.fsbc-admin-card:hover{transform:translateY(-2px);border-color:rgba(10,137,185,.32);box-shadow:0 17px 38px rgba(21,58,67,.1);}
.fsbc-admin-card-main{min-width:0;}
.fsbc-admin-card-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:7px;}
.fsbc-admin-card-title a{color:#075f80!important;font-size:1.12rem;font-weight:900;line-height:1.25;text-decoration:none!important;}
.fsbc-admin-card-badges{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 7px;}
.fsbc-role-badge,.fsbc-state-badge,.fsbc-access-chip{display:inline-flex;align-items:center;gap:6px;min-height:25px;padding:4px 9px;border:1px solid transparent;border-radius:999px;font-size:.72rem;line-height:1;font-weight:900;white-space:nowrap;}
.fsbc-role-dot{width:8px;height:8px;border-radius:50%;background:currentColor;}
.fsbc-role-family{color:#236f4f!important;background:#e8f5ee!important;border-color:#cce7d8!important;}
.fsbc-role-professional{color:#075f80!important;background:#e9f4fa!important;border-color:#cfe5f0!important;}
.fsbc-role-organization{color:#6b4a86!important;background:#f3ecf8!important;border-color:#e1d2ec!important;}
.fsbc-role-admin{color:#37474f!important;background:#edf0f1!important;border-color:#d7dfe2!important;}
.fsbc-state-badge.is-active{color:#1f6f55;background:#e7f5ee;border-color:#c9e8d8;}
.fsbc-state-badge.is-pending{color:#8a6500;background:#fff7dc;border-color:#f0dea0;}
.fsbc-state-badge.is-unverified{color:#9a5800;background:#fff0dd;border-color:#efcfaa;}
.fsbc-state-badge.is-disabled,.fsbc-state-badge.is-private{color:#8d3b3b;background:#fff0f0;border-color:#efcccc;}
.fsbc-state-badge.is-public{color:#075f80;background:#e9f5fa;border-color:#cde5ef;}
.fsbc-access-chip.is-owned{color:#236f4f;background:#e8f5ee;border-color:#cce7d8;}
.fsbc-access-chip.is-shared{color:#6b4a86;background:#f3ecf8;border-color:#e1d2ec;}
.fsbc-role-icon{display:grid;place-items:center;width:54px;height:54px;flex:0 0 54px;border:1px solid currentColor;border-radius:17px;}
.fsbc-role-icon svg{width:27px;height:27px;display:block;}
.fsbc-role-icon svg path{fill:currentColor!important;}
.fsbc-admin-card-stats{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:300px;}
.fsbc-admin-card-stats>span{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:88px;min-height:54px;padding:7px 10px;border-radius:13px;background:#f7faf9;color:#5a6f73;font-size:.75rem;text-align:center;}
.fsbc-admin-card-stats strong{color:#17363d;font-size:1.05rem;font-weight:900;}
.fsbc-card-edit-link{display:inline-flex!important;align-items:center;gap:7px;min-height:42px;padding:0 13px;border:1px solid rgba(10,137,185,.24);border-radius:13px;background:#edf7fa;color:#075f80!important;font-weight:900;text-decoration:none!important;transition:.3s ease;}
.fsbc-card-edit-link svg{width:20px;height:20px;}.fsbc-card-edit-link svg path{fill:currentColor!important;}
.fsbc-card-edit-link:hover{transform:translateY(-2px);background:#0a89b9;color:#fff!important;border-color:#0a89b9;box-shadow:0 8px 18px rgba(10,137,185,.2);}
.fsbc-admin-note{margin:0 0 18px;padding:15px 18px;border:1px solid #ecd89a;border-radius:17px;background:#fff8e2;color:#6f5a16;line-height:1.55;}
.fsbc-empty-state{padding:42px 26px;border:1px dashed #cadbd6;border-radius:22px;background:#fff;text-align:center;color:#5a6f73;}
.fsbc-empty-state h1,.fsbc-empty-state h2{margin:0 0 10px;color:#17363d;}.fsbc-empty-state p{margin:0 auto 18px;max-width:650px;line-height:1.65;}
.fsbc-empty-inline{display:block;padding:13px 15px;border-radius:13px;background:#f6f9f8;color:#607277;line-height:1.45;}

/* Unified modern edit forms */
.fsbc-modern-edit{height:auto!important;min-height:620px;overflow:visible!important;background:#fff;}
.fsbc-modern-edit .cwf-edit{height:auto!important;min-height:520px;overflow:visible!important;padding:0 16px 24px;}
.fsbc-modern-edit .resform{height:auto!important;overflow:visible!important;margin:0!important;padding:0!important;}
.fsbc-edit-layout{display:grid;gap:18px;max-width:1080px;margin:0 auto;padding:12px 0 24px;}
.fsbc-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.fsbc-edit-card{display:grid;align-content:start;gap:15px;padding:24px;border:1px solid #dce9e5;border-radius:22px;background:#fff;box-shadow:0 10px 28px rgba(21,58,67,.055);}
.fsbc-edit-card h2{margin:0 0 3px;color:#17363d;font-size:1.2rem;line-height:1.3;}
.fsbc-edit-card p{margin:0;color:#5b6e72;line-height:1.6;}
.fsbc-edit-card label{display:grid;gap:7px;color:#40585e;font-size:.82rem;font-weight:900;}
.fsbc-edit-card input,.fsbc-edit-card select,.fsbc-edit-card textarea{width:100%!important;box-sizing:border-box!important;border:1px solid #d5e4df!important;border-radius:13px!important;background:#f8fbfa!important;padding:11px 12px!important;color:#20363a!important;}
.fsbc-edit-card select[multiple]{min-height:190px;padding:7px!important;}.fsbc-edit-card select[multiple] option{padding:7px 9px;border-radius:7px;}
.fsbc-toggle-field{display:flex!important;align-items:flex-start;gap:12px;padding:15px;border:1px solid #d8e8e2;border-radius:16px;background:#f6fbf8;cursor:pointer;}
.fsbc-toggle-field input{width:20px!important;height:20px!important;min-width:20px;appearance:auto!important;margin:2px 0 0;accent-color:#2e8b6e;}
.fsbc-toggle-field strong,.fsbc-toggle-field small{display:block;}.fsbc-toggle-field small{margin-top:4px;color:#607277;font-weight:500;line-height:1.45;}
.fsbc-readonly-link{padding:11px 13px;border:1px solid #d6e5e0;border-radius:12px;background:#f7faf9;color:#436068;overflow-wrap:anywhere;font-size:.88rem;line-height:1.45;}

/* Account, organization and list detail views */
.fsbc-account-view,.fsbc-organization-view,.fsbc-portfolio-view,.fsbc-shared-list-page{position:relative;background:transparent!important;box-shadow:none!important;overflow:visible!important;}
.fsbc-account-hero,.fsbc-organization-hero,.fsbc-portfolio-hero,.fsbc-shared-list-hero{display:grid;grid-template-columns:auto minmax(0,1fr);gap:22px;align-items:center;padding:30px;border:1px solid rgba(10,137,185,.14);border-radius:28px;background:linear-gradient(135deg,#fff,#f3faf6 58%,#eef8fb);box-shadow:0 18px 50px rgba(21,58,67,.08);}
.fsbc-account-hero img{width:86px;height:86px;object-fit:cover;border-radius:24px;border:5px solid #fff;box-shadow:0 10px 24px rgba(21,58,67,.12);}
.fsbc-account-hero h1,.fsbc-organization-hero h1,.fsbc-portfolio-hero h1,.fsbc-shared-list-hero h1{margin:7px 0 7px;color:#17363d;font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.08;}
.fsbc-account-hero p,.fsbc-portfolio-hero p,.fsbc-shared-list-hero p{margin:0;color:#52676b;line-height:1.65;}
.fsbc-profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:20px;}
.fsbc-profile-relation,.fsbc-profile-shared,.fsbc-organization-copy{padding:22px;border:1px solid #dce9e5;border-radius:20px;background:#fff;box-shadow:0 9px 26px rgba(21,58,67,.05);}
.fsbc-profile-relation strong,.fsbc-profile-relation span{display:block;}.fsbc-profile-relation strong{margin-bottom:8px;color:#17363d;}.fsbc-profile-relation span{color:#52676b;line-height:1.55;}
.fsbc-profile-shared{margin-top:18px;}.fsbc-profile-shared h2{margin:0 0 15px;color:#17363d;font-size:1.2rem;}
.fsbc-shared-list-chips{display:flex;flex-wrap:wrap;gap:9px;}.fsbc-shared-list-chip{display:inline-flex;padding:8px 11px;border:1px solid #cfe1db;border-radius:999px;background:#f3faf6;color:#075f46!important;font-weight:800;text-decoration:none!important;}
.fsbc-organization-copy{margin:20px 0;line-height:1.75;color:#4b6267;}
.fsbc-organization-resources{display:grid;gap:8px;}.fsbc-organization-resource{display:flex!important;justify-content:space-between;gap:12px;padding:11px 13px;border:1px solid #dce9e5;border-radius:13px;background:#f8fbfa;color:#20363a!important;text-decoration:none!important;}.fsbc-organization-resource small{color:#1f6f55;font-weight:900}.fsbc-organization-resource small.is-hidden{color:#9a4b4b;}
.fsbc-portfolio-hero,.fsbc-shared-list-hero{grid-template-columns:minmax(0,1fr) auto;}
.fsbc-portfolio-summary,.fsbc-shared-list-meta{display:grid;gap:7px;min-width:190px;padding:18px;border:1px solid #d8e7e2;border-radius:18px;background:rgba(255,255,255,.86);}.fsbc-portfolio-summary span,.fsbc-shared-list-meta span,.fsbc-shared-list-meta small{color:#52676b;}.fsbc-portfolio-resource-section{margin-top:26px;}
.fsbc-list-share-box{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);gap:18px;align-items:center;margin-top:18px;padding:20px;border:1px solid #cfe3dc;border-radius:20px;background:#f2faf6;}.fsbc-list-share-box.is-off{grid-template-columns:1fr;background:#faf8f3;border-color:#e6ddc6;}.fsbc-list-share-box strong{color:#17363d}.fsbc-list-share-box p{margin:5px 0 0;color:#52676b;line-height:1.5}.fsbc-list-share-control{display:flex;gap:8px}.fsbc-list-share-control input{min-width:0;flex:1;border:1px solid #cadbd6!important;border-radius:11px!important;background:#fff!important;padding:10px!important}.fsbc-list-share-control button{border:0;border-radius:11px;background:#0a89b9;color:#fff;padding:10px 14px;font-weight:900;cursor:pointer;}
.fsbc-shared-list-note{margin:18px 0;padding:14px 16px;border-radius:16px;background:#eef7fa;color:#3f5e66;line-height:1.55;}

/* Compact, consistent action labels */
.editres::after,.updtres::after,.addres::after,.updtorg::after,.updtdis::after,.updttype::after,.updtreg::after,.updtcity::after,.updtusr::after,.updtport::after,.updtclnt::after,.setpass::after,.emlusr::after,.dltres::after,.dltorg::after,.dltdis::after,.dlttype::after,.dltreg::after,.dltcity::after,.dltusr::after,.dltport::after,.cancelbtn::after{font-size:11px!important;}

@media(max-width:960px){
 .fsbc-admin-toolbar{grid-template-columns:1fr 1fr}.fsbc-admin-search{grid-column:1/-1}
 body.fsbc-modern-shell .fsbc-admin-list .resource-list-area.fsbc-admin-card{grid-template-columns:auto minmax(0,1fr) auto}.fsbc-admin-card-stats{grid-column:2/4;justify-content:flex-start;max-width:none}.fsbc-card-edit-link{grid-column:3;grid-row:1}
 .fsbc-edit-grid{grid-template-columns:1fr}.fsbc-list-share-box{grid-template-columns:1fr}.fsbc-portfolio-hero,.fsbc-shared-list-hero{grid-template-columns:1fr}.fsbc-portfolio-summary,.fsbc-shared-list-meta{min-width:0}
}
@media(max-width:640px){
 .fsbc-admin-toolbar{grid-template-columns:1fr;padding:14px}.fsbc-admin-search{grid-column:auto}
 body.fsbc-modern-shell .fsbc-admin-list .resource-list-area.fsbc-admin-card{grid-template-columns:auto minmax(0,1fr);padding:17px!important}.fsbc-admin-card-stats{grid-column:1/-1;justify-content:flex-start}.fsbc-card-edit-link{grid-column:1/-1;grid-row:auto;justify-content:center}.fsbc-role-icon{width:46px;height:46px;flex-basis:46px}.fsbc-edit-card{padding:19px}.fsbc-account-hero,.fsbc-organization-hero,.fsbc-portfolio-hero,.fsbc-shared-list-hero{grid-template-columns:1fr;padding:22px}.fsbc-list-share-control{display:grid}.fsbc-modern-edit .cwf-edit{padding:0 10px 20px}
}

/* Taxonomy maintenance lists use the same admin card language. */
body.fsbc-modern-shell .fsbc-taxonomy-list .resource-list-area.fsbc-admin-card{
  display:block!important;
  margin:0!important;
  padding:18px 20px!important;
  border:1px solid rgba(10,137,185,.13);
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 26px rgba(21,58,67,.055);
  transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;
}
body.fsbc-modern-shell .fsbc-taxonomy-list .resource-list-area.fsbc-admin-card:hover{
  transform:translateY(-2px);
  border-color:rgba(10,137,185,.32);
  box-shadow:0 15px 34px rgba(21,58,67,.09);
}
body.fsbc-modern-shell .fsbc-taxonomy-list .resource-list-title{padding:0!important;font-size:1.05rem!important;}
body.fsbc-modern-shell .fsbc-taxonomy-list .resource-list-title a{font-weight:900;text-decoration:none!important;}


/* Resource maintenance status marker */
.fsbc-resource-card-state{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px;}
.fsbc-managed-resource-page .fsbc-resource-card-state,
.fsbc-hidden-resource-page .fsbc-resource-card-state{display:flex;}

/* =========================================================
   FSBC unified administration search and Add actions - August 2026
   ========================================================= */
.fsbc-admin-primary-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  margin:16px 0 20px;
}

.fsbc-admin-add-action{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:46px;
  box-sizing:border-box;
  padding:0 17px;
  border:1px solid rgba(10,137,185,.30);
  border-radius:14px;
  background:#e8f5f9;
  color:#075f80!important;
  font-weight:900;
  line-height:1.2;
  text-decoration:none!important;
  box-shadow:0 7px 18px rgba(21,58,67,.08);
  transition:transform .3s ease,background-color .3s ease,border-color .3s ease,box-shadow .3s ease,color .3s ease;
}

.fsbc-admin-add-action svg{
  width:22px;
  height:22px;
  display:block;
  flex:0 0 22px;
}

.fsbc-admin-add-action svg path{
  fill:currentColor!important;
}

.fsbc-admin-add-action:hover,
.fsbc-admin-add-action:focus-visible{
  transform:translateY(-2px);
  border-color:#0a89b9;
  background:#0a89b9;
  color:#fff!important;
  box-shadow:0 11px 24px rgba(10,137,185,.22);
}

.fsbc-admin-toolbar:has([data-admin-status]):not(:has([data-admin-role])){
  grid-template-columns:minmax(260px,1fr) minmax(170px,230px);
}

.fsbc-admin-no-results[hidden],
[data-admin-no-results][hidden],
[data-admin-item][hidden]{
  display:none!important;
}

body.fsbc-modern-shell .fsbc-taxonomy-list .resource-list-area.fsbc-admin-card.fsbc-taxonomy-card{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:start!important;
}

.fsbc-taxonomy-children{
  display:grid;
  gap:7px;
  margin-top:14px;
  padding-top:13px;
  border-top:1px solid rgba(10,137,185,.12);
}

.fsbc-taxonomy-child{
  display:flex!important;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-width:0;
  padding:9px 11px;
  border:1px solid #dce9e5;
  border-radius:11px;
  background:#f8fbfa;
  color:#314c52!important;
  text-decoration:none!important;
  transition:background-color .3s ease,border-color .3s ease,transform .3s ease;
}

.fsbc-taxonomy-child:hover,
.fsbc-taxonomy-child:focus-visible{
  transform:translateX(2px);
  border-color:rgba(10,137,185,.32);
  background:#eef8fb;
}

.fsbc-taxonomy-child span{
  min-width:0;
  overflow-wrap:anywhere;
  font-weight:750;
}

.fsbc-taxonomy-child small{
  flex:0 0 auto;
  padding:4px 7px;
  border-radius:999px;
  font-size:.67rem;
  line-height:1;
  font-weight:900;
}

.fsbc-taxonomy-child small.is-active{
  color:#1f6f55;
  background:#e7f5ee;
}

.fsbc-taxonomy-child small.is-hidden{
  color:#8d3b3b;
  background:#fff0f0;
}

@media(max-width:760px){
  .fsbc-admin-primary-actions{
    justify-content:stretch;
  }
  .fsbc-admin-add-action{
    width:100%;
  }
  .fsbc-admin-toolbar:has([data-admin-status]):not(:has([data-admin-role])){
    grid-template-columns:1fr;
  }
  body.fsbc-modern-shell .fsbc-taxonomy-list .resource-list-area.fsbc-admin-card.fsbc-taxonomy-card{
    grid-template-columns:1fr;
  }
  .fsbc-taxonomy-card .fsbc-card-edit-link{
    width:100%;
    box-sizing:border-box;
    justify-content:center;
  }
}

/* =========================================================
   FSBC portfolio / My resources workflow - August 2026
   ========================================================= */
.fsbc-portfolio-section{margin-top:32px;}
.fsbc-portfolio-section>.fsbc-section-head{margin-bottom:16px;}
.fsbc-portfolio-section>.fsbc-section-head p{margin:6px 0 0;color:#52676b;line-height:1.55;}
.fsbc-empty-state-compact{padding:24px!important;}

body.fsbc-modern-shell .fsbc-portfolio-card{
  grid-template-columns:58px minmax(0,1fr) auto!important;
  align-items:start!important;
}
.fsbc-portfolio-card-icon{
  width:54px;height:54px;display:flex;align-items:center;justify-content:center;
  border-radius:18px;background:#edf8f3;border:1px solid #d7ebe2;color:#075f46;
}
.fsbc-portfolio-card-icon svg{width:28px;height:28px;fill:#2e8b6e;}
.fsbc-portfolio-card-metrics{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px;}
.fsbc-portfolio-card-metrics span{display:inline-flex;align-items:center;gap:4px;padding:7px 10px;border-radius:999px;background:#f3f7f6;color:#52676b;font-size:.82rem;font-weight:700;}
.fsbc-portfolio-card-metrics strong{color:#17363d;}

.fsbc-portfolio-header-actions{display:flex;justify-content:flex-end;gap:10px;margin:0 0 16px;}
.fsbc-portfolio-action,.fsbc-link-button{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;
  padding:9px 14px;border:1px solid rgba(10,137,185,.22);border-radius:13px;
  background:#fff;color:#075f80!important;font-weight:850;text-decoration:none!important;
  cursor:pointer;transition:transform .25s ease,background .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.fsbc-portfolio-action svg{width:20px;height:20px;fill:#08769f;}
.fsbc-portfolio-action:hover,.fsbc-link-button:hover{transform:translateY(-2px);background:#eef8fb;border-color:#08769f;box-shadow:0 8px 20px rgba(10,137,185,.12);}
.fsbc-link-button{font:inherit;}
.fsbc-link-button.is-danger{margin-top:14px;color:#a43131!important;border-color:#efcaca;background:#fff7f7;}
.fsbc-link-button.is-danger:hover{background:#fff0f0;border-color:#c43535;}

.fsbc-portfolio-description{color:#52676b;line-height:1.65;}
.fsbc-portfolio-description p{margin:0 0 10px;}
.fsbc-portfolio-description p:last-child{margin-bottom:0;}
.fsbc-portfolio-summary span:last-child{font-weight:800;color:#075f46;}

.fsbc-portfolio-sharing,.fsbc-portfolio-assigned{
  margin-top:20px;padding:24px;border:1px solid #cfe3dc;border-radius:22px;
  background:linear-gradient(135deg,#f4fbf7,#f3f9fc);box-shadow:0 12px 32px rgba(21,58,67,.06);
}
.fsbc-portfolio-sharing.is-off{background:linear-gradient(135deg,#fbfaf6,#f7fbfa);border-color:#e3dfcf;}
.fsbc-portfolio-sharing-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;}
.fsbc-portfolio-sharing h2,.fsbc-portfolio-assigned h2{margin:7px 0 7px;color:#17363d;font-size:1.45rem;line-height:1.25;}
.fsbc-portfolio-sharing p,.fsbc-portfolio-assigned p{margin:0;color:#52676b;line-height:1.55;}
.fsbc-share-code-row{display:flex;align-items:center;gap:12px;margin:18px 0 10px;padding:11px 13px;border-radius:13px;background:#fff;border:1px solid #d8e7e2;}
.fsbc-share-code-row span{font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em;color:#60777c;}
.fsbc-share-code-row code{min-width:0;overflow-wrap:anywhere;color:#17363d;font-size:.88rem;}
.fsbc-portfolio-sharing .fsbc-list-share-control{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:9px;}
.fsbc-portfolio-sharing .fsbc-list-share-control button{min-height:44px;}
.fsbc-portfolio-sharing .fsbc-btn{margin-top:18px;}
.fsbc-portfolio-sharing button.is-loading{opacity:.65;cursor:wait;}

.fsbc-portfolio-assigned .fsbc-section-head{margin-bottom:14px;}
.fsbc-family-share-chips{display:flex;flex-wrap:wrap;gap:9px;margin:14px 0;}
.fsbc-family-share-chip{display:inline-flex;align-items:center;padding:8px 11px;border:1px solid #cfe1db;border-radius:999px;background:#fff;color:#075f46;font-weight:800;}

.fsbc-family-share-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.fsbc-family-share-option{display:flex!important;align-items:flex-start;gap:11px;padding:13px!important;border:1px solid #d8e7e2;border-radius:15px;background:#f8fbfa;cursor:pointer;transition:.25s ease;}
.fsbc-family-share-option:hover{border-color:#9fcfbc;background:#f1f9f5;transform:translateY(-1px);}
.fsbc-family-share-option:has(input:checked){border-color:#2e8b6e;background:#edf8f3;box-shadow:0 8px 18px rgba(46,139,110,.09);}
.fsbc-family-share-option input{width:19px!important;height:19px!important;min-width:19px;appearance:auto!important;margin:2px 0 0!important;accent-color:#2e8b6e;}
.fsbc-family-share-option strong,.fsbc-family-share-option small{display:block;}
.fsbc-family-share-option strong{color:#17363d;font-size:.94rem;}
.fsbc-family-share-option small{margin-top:3px;color:#607277;font-weight:500;overflow-wrap:anywhere;}
.fsbc-readonly-link{display:grid;gap:4px;}
.fsbc-readonly-link strong{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:#607277;}
.fsbc-readonly-link span{overflow-wrap:anywhere;}

/* Resource-to-portfolio picker */
.fsbc-portfolio-picker{padding:16px;min-width:min(560px,calc(100vw - 64px));}
.fsbc-portfolio-picker-head h2{margin:0 0 6px;color:#17363d;font-size:1.3rem;}
.fsbc-portfolio-picker-head p{margin:0 0 15px;color:#52676b;line-height:1.5;}
.fsbc-portfolio-picker-list{display:grid;gap:9px;max-height:420px;overflow-y:auto;padding:2px;scrollbar-width:thin;}
.fsbc-portfolio-picker-option{display:grid;grid-template-columns:22px 42px minmax(0,1fr);align-items:start;gap:10px;padding:13px;border:1px solid #d8e7e2;border-radius:16px;background:#fff;cursor:pointer;transition:.25s ease;}
.fsbc-portfolio-picker-option:hover{border-color:#9fcfbc;background:#f6fbf8;transform:translateY(-1px);}
.fsbc-portfolio-picker-option.is-selected,.fsbc-portfolio-picker-option:has(input:checked){border-color:#2e8b6e;background:#edf8f3;}
.fsbc-portfolio-picker-option input{width:18px!important;height:18px!important;appearance:auto!important;margin:4px 0 0!important;accent-color:#2e8b6e;}
.fsbc-portfolio-picker-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:13px;background:#eef8fb;}
.fsbc-portfolio-picker-icon svg{width:23px;height:23px;fill:#08769f;}
.fsbc-portfolio-picker-copy strong,.fsbc-portfolio-picker-copy small,.fsbc-portfolio-picker-copy em{display:block;}
.fsbc-portfolio-picker-copy strong{color:#17363d;font-size:.98rem;}
.fsbc-portfolio-picker-copy small{margin-top:3px;color:#52676b;line-height:1.4;}
.fsbc-portfolio-picker-copy em{margin-top:6px;color:#2f7160;font-size:.76rem;font-style:normal;font-weight:800;}
.fsbc-portfolio-picker-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:15px;padding-top:14px;border-top:1px solid #e2ebe8;}
.fsbc-portfolio-picker-actions .fsbc-btn{border:0;}

@media(max-width:760px){
  body.fsbc-modern-shell .fsbc-portfolio-card{grid-template-columns:48px minmax(0,1fr)!important;}
  .fsbc-portfolio-card-icon{width:46px;height:46px;}
  .fsbc-portfolio-card .fsbc-card-edit-link{grid-column:1/-1;}
  .fsbc-portfolio-sharing-head{display:grid;}
  .fsbc-portfolio-sharing .fsbc-list-share-control{grid-template-columns:1fr;}
  .fsbc-family-share-options{grid-template-columns:1fr;}
  .fsbc-portfolio-picker{min-width:0;padding:12px;}
  .fsbc-portfolio-picker-actions{align-items:stretch;flex-direction:column;}
  .fsbc-portfolio-picker-actions>*{width:100%;box-sizing:border-box;}
}
.fsbc-portfolio-card-actions{display:grid;gap:8px;align-content:start;}
.fsbc-portfolio-card-actions .fsbc-card-edit-link{position:static!important;min-width:82px;}
@media(max-width:760px){.fsbc-portfolio-card-actions{grid-column:1/-1;display:flex;flex-wrap:wrap}.fsbc-portfolio-card-actions .fsbc-card-edit-link{flex:1 1 120px}}


/* =========================================================
   FSBC unified right-side drawers - August 2026
   Share, portfolio picker, bookmarks, notices and confirmation
   panels now use one full-height, responsive drawer system.
   ========================================================= */
body.fsbc-drawer-open {
  overflow: hidden !important;
}

.fsbc-drawer-backdrop {
  position: fixed;
  inset: 0;
  z-index: 10040;
  background: rgba(18, 44, 49, .42);
  opacity: 0;
  transition: opacity .28s ease;
  backdrop-filter: blur(2px);
}

body.fsbc-drawer-open .fsbc-drawer-backdrop {
  opacity: 1;
}

#msgpopup,
#msgpopup.fsbc-drawer {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: auto !important;
  z-index: 10050 !important;
  width: min(520px, 100vw) !important;
  max-width: 100vw !important;
  height: 100dvh !important;
  max-height: 100dvh !important;
  box-sizing: border-box !important;
  text-align: left !important;
  transform: translateX(104%);
  transition: transform .28s ease !important;
  overflow: hidden !important;
  outline: 0;
}

#msgpopup.is-open,
#msgpopup.fsbc-drawer.is-open {
  transform: translateX(0);
}

#msgpopup *,
#msgpopup *::before,
#msgpopup *::after {
  box-sizing: border-box;
}

#msgpopup .popupset {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #f7fbf9 !important;
  box-shadow: -24px 0 70px rgba(21, 58, 67, .22) !important;
  overflow: hidden !important;
}

#msgpopup .popuphdr {
  flex: 0 0 auto !important;
  display: grid !important;
  grid-template-columns: 48px minmax(0, 1fr) 44px !important;
  align-items: center !important;
  gap: 13px !important;
  min-height: 82px !important;
  margin: 0 !important;
  padding: 16px 18px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(10, 137, 185, .14) !important;
  background:
    radial-gradient(circle at top right, rgba(10, 137, 185, .15), transparent 38%),
    linear-gradient(135deg, #ffffff 0%, #eef8f3 100%) !important;
  color: #17363d !important;
  cursor: default !important;
}

#msgpopup.fsbc-drawer--danger .popuphdr {
  background:
    radial-gradient(circle at top right, rgba(196, 53, 53, .13), transparent 40%),
    linear-gradient(135deg, #fffafa 0%, #fff0f0 100%) !important;
  border-bottom-color: rgba(196, 53, 53, .16) !important;
}

#msgpopup.fsbc-drawer--success .popuphdr {
  background:
    radial-gradient(circle at top right, rgba(46, 139, 110, .16), transparent 40%),
    linear-gradient(135deg, #ffffff 0%, #eef8f3 100%) !important;
  border-bottom-color: rgba(46, 139, 110, .18) !important;
}

#msgpopup .popuphdrsvg {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  border-radius: 15px !important;
  background: #eaf6fa !important;
  color: #08769f !important;
}

#msgpopup.fsbc-drawer--danger .popuphdrsvg {
  background: #fff0f0 !important;
  color: #c43535 !important;
}

#msgpopup.fsbc-drawer--success .popuphdrsvg {
  background: #e8f5ee !important;
  color: #2e8b6e !important;
}

#msgpopup .popuphdrsvg svg,
#msgpopup .popuphdrsvg svg path {
  width: 25px !important;
  height: 25px !important;
  display: block !important;
  fill: currentColor !important;
}

#msgpopup .popuphdrttl {
  min-width: 0 !important;
  padding: 0 !important;
  color: #17363d !important;
  font-size: 1.12rem !important;
  line-height: 1.28 !important;
  font-weight: 900 !important;
  overflow-wrap: anywhere;
}

#msgpopup .popuphdrbtn {
  position: static !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 44px !important;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(10, 137, 185, .14) !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  color: #52676b !important;
  cursor: pointer !important;
  transition: transform .25s ease, background-color .25s ease, border-color .25s ease, color .25s ease !important;
}

#msgpopup .popuphdrbtn:hover,
#msgpopup .popuphdrbtn:focus-visible {
  transform: translateY(-1px);
  border-color: #08769f !important;
  background: #eaf6fa !important;
  color: #075f80 !important;
  outline: 3px solid rgba(10, 137, 185, .18) !important;
  outline-offset: 2px !important;
}

#msgpopup .popuphdrbtn svg,
#msgpopup .popuphdrbtn svg path {
  width: 22px !important;
  height: 22px !important;
  display: block !important;
  fill: currentColor !important;
}

#msgpopup .popupdata {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 22px !important;
  border-radius: 0 !important;
  background: #f7fbf9 !important;
  color: #314c52 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: rgba(10, 137, 185, .34) transparent;
}

#msgpopup .popuplist {
  width: 100% !important;
  min-width: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

#msgpopup .popok,
#msgpopup .poperror {
  margin: 0 !important;
  padding: 15px 16px !important;
  border-radius: 15px !important;
  font-size: .95rem !important;
  line-height: 1.5 !important;
}

#msgpopup .popok {
  background: #e8f5ee !important;
  color: #1f6f55 !important;
}

#msgpopup .poperror {
  background: #fff0f0 !important;
  color: #9f3030 !important;
}

/* Common drawer messages. */
.fsbc-drawer-message {
  display: grid;
  gap: 12px;
  padding: 24px;
  border: 1px solid #d8e7e2;
  border-radius: 20px;
  background: #ffffff;
  color: #405a5e;
  line-height: 1.6;
  text-align: center;
}

.fsbc-drawer-message h2 {
  margin: 0;
  color: #17363d;
  font-size: 1.35rem;
}

.fsbc-drawer-message p {
  margin: 0;
}

.fsbc-drawer-message.is-success {
  border-color: #cfe3d8;
  background: #f2faf6;
}

.fsbc-drawer-message.is-error {
  border-color: #efcccc;
  background: #fff7f7;
}

.fsbc-drawer-inline-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  margin-top: 4px;
  padding: 10px 15px;
  border: 1px solid rgba(10, 137, 185, .22);
  border-radius: 13px;
  background: #ffffff;
  color: #075f80 !important;
  font-weight: 850;
  text-decoration: none !important;
}

/* Confirmation drawer. */
.fsbc-drawer-confirm {
  max-width: 420px;
  margin: 0 auto;
  padding: 28px 24px;
  border: 1px solid rgba(196, 53, 53, .16);
  border-radius: 22px;
  background: #ffffff;
  box-shadow: 0 16px 38px rgba(21, 58, 67, .07);
  text-align: center;
}

.fsbc-drawer-confirm-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 66px;
  height: 66px;
  margin: 0 auto 18px;
  border-radius: 20px;
  background: #fff0f0;
  color: #c43535;
}

.fsbc-drawer-confirm-icon.is-email {
  background: #eaf6fa;
  color: #08769f;
}

.fsbc-drawer-confirm-icon svg,
.fsbc-drawer-confirm-icon svg path {
  width: 34px;
  height: 34px;
  fill: currentColor;
}

.fsbc-drawer-confirm h2 {
  margin: 0 0 10px;
  color: #17363d;
  font-size: 1.45rem;
  line-height: 1.25;
}

.fsbc-drawer-confirm p {
  margin: 0;
  color: #52676b;
  font-size: .98rem;
  line-height: 1.65;
}

.fsbc-drawer-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 24px;
}

.fsbc-drawer-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 11px 15px;
  border: 1px solid transparent;
  border-radius: 13px;
  font: inherit;
  font-weight: 900;
  cursor: pointer;
  transition: transform .25s ease, background-color .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.fsbc-drawer-button:hover,
.fsbc-drawer-button:focus-visible {
  transform: translateY(-2px);
  outline: none;
}

.fsbc-drawer-button-secondary {
  border-color: #d5e2de;
  background: #f6faf8;
  color: #405a5e;
}

.fsbc-drawer-button-secondary:hover {
  border-color: #afc9c1;
  background: #eef6f2;
}

.fsbc-drawer-button-primary {
  border-color: #08769f;
  background: #08769f;
  color: #ffffff;
  box-shadow: 0 9px 20px rgba(8, 118, 159, .18);
}

.fsbc-drawer-button-primary:hover {
  background: #055d7d;
}

.fsbc-drawer-button-danger,
#msgpopup .dltyes,
#msgpopup .dltresport,
#msgpopup .dltclpres {
  border-color: #c43535 !important;
  background: #c43535 !important;
  color: #ffffff !important;
  box-shadow: 0 9px 20px rgba(196, 53, 53, .18);
}

.fsbc-drawer-button-danger:hover,
#msgpopup .dltyes:hover,
#msgpopup .dltresport:hover,
#msgpopup .dltclpres:hover {
  background: #9f2929 !important;
  border-color: #9f2929 !important;
}

/* Share drawer: identical from Resources, Bookmarks and portfolio cards. */
#msgpopup.fsbc-share-popup {
  width: min(520px, 100vw) !important;
}

#msgpopup .fsbc-share-intro {
  margin-bottom: 18px;
}

#msgpopup .fsbc-share-intro h2 {
  margin: 0 0 7px;
  color: #17363d;
  font-size: 1.35rem;
}

#msgpopup .fsbc-share-intro p {
  margin: 0;
  color: #52676b;
  line-height: 1.55;
}

#msgpopup .fsbc-share-panel {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

#msgpopup .fsbc-share-panel a,
#msgpopup .fsbc-share-panel button {
  min-width: 0;
  min-height: 50px;
  padding: 11px 13px;
  border-radius: 15px;
}

#msgpopup .fsbc-share-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  min-width: 22px;
  color: currentColor;
}

#msgpopup .fsbc-share-icon svg {
  display: block;
  width: 22px;
  height: 22px;
  fill: currentColor;
  flex: 0 0 22px;
}

#msgpopup .fsbc-share-note {
  margin: 16px 0 0;
  padding: 13px 14px;
  border: 1px solid #dce9e3;
  border-radius: 14px;
  background: #ffffff;
}

/* Portfolio picker: use the drawer body as the only scrolling container. */
#msgpopup.fsbc-portfolio-drawer {
  width: min(580px, 100vw) !important;
}

#msgpopup .fsbc-portfolio-picker {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  padding: 0 !important;
}

#msgpopup .fsbc-portfolio-picker-head {
  padding: 2px 2px 18px;
}

#msgpopup .fsbc-portfolio-picker-head h2 {
  margin: 0 0 7px;
  color: #17363d;
  font-size: 1.42rem;
}

#msgpopup .fsbc-portfolio-picker-head p {
  margin: 0;
  color: #52676b;
  line-height: 1.58;
}

#msgpopup .fsbc-portfolio-picker-list {
  display: grid;
  gap: 10px;
  width: 100%;
  max-height: none !important;
  overflow: visible !important;
  padding: 0 0 4px !important;
}

#msgpopup .fsbc-portfolio-picker-option {
  width: 100%;
  min-width: 0;
  grid-template-columns: 22px 44px minmax(0, 1fr);
  padding: 14px;
  border-radius: 17px;
}

#msgpopup .fsbc-portfolio-picker-copy {
  min-width: 0;
}

#msgpopup .fsbc-portfolio-picker-copy strong,
#msgpopup .fsbc-portfolio-picker-copy small,
#msgpopup .fsbc-portfolio-picker-copy em {
  overflow-wrap: anywhere;
}

#msgpopup .fsbc-portfolio-picker-actions {
  position: sticky;
  bottom: -22px;
  z-index: 5;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  width: calc(100% + 44px);
  margin: 18px -22px -22px;
  padding: 16px 22px calc(16px + env(safe-area-inset-bottom));
  border-top: 1px solid #dce9e3;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 -12px 28px rgba(21, 58, 67, .08);
  backdrop-filter: blur(12px);
}

#msgpopup .fsbc-portfolio-picker-actions .fsbc-btn,
#msgpopup .fsbc-portfolio-picker-actions .fsbc-link-button {
  min-height: 46px;
  margin: 0;
}

/* Legacy drawer lists and buttons inherit the same readable card treatment. */
#msgpopup .faviline {
  margin: 0 0 10px;
  padding: 12px;
  border: 1px solid #d8e7e2;
  border-radius: 14px;
  background: #ffffff;
}

#msgpopup .favititle {
  font-size: .94rem;
  line-height: 1.35;
}

#msgpopup .favititle a {
  color: #17363d !important;
  font-weight: 800;
}

#msgpopup .inclresport,
#msgpopup .emlyes {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 11px 16px;
  border: 1px solid #08769f;
  border-radius: 13px;
  background: #08769f;
  color: #ffffff;
  font-weight: 900;
  cursor: pointer;
}

@media (max-width: 640px) {
  #msgpopup,
  #msgpopup.fsbc-drawer,
  #msgpopup.fsbc-share-popup,
  #msgpopup.fsbc-portfolio-drawer {
    width: 100vw !important;
  }

  #msgpopup .popuphdr {
    grid-template-columns: 44px minmax(0, 1fr) 42px !important;
    min-height: 74px !important;
    padding: 13px 14px !important;
  }

  #msgpopup .popuphdrsvg {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
  }

  #msgpopup .popupdata {
    padding: 16px !important;
  }

  #msgpopup .fsbc-share-panel,
  .fsbc-drawer-actions {
    grid-template-columns: 1fr;
  }

  #msgpopup .fsbc-portfolio-picker-option {
    grid-template-columns: 20px 40px minmax(0, 1fr);
    padding: 12px;
  }

  #msgpopup .fsbc-portfolio-picker-actions {
    bottom: -16px;
    width: calc(100% + 32px);
    margin: 16px -16px -16px;
    padding: 14px 16px calc(14px + env(safe-area-inset-bottom));
    grid-template-columns: 1fr;
  }

  #msgpopup .fsbc-portfolio-picker-actions > * {
    width: 100%;
    box-sizing: border-box;
  }

  .fsbc-drawer-confirm {
    padding: 24px 18px;
  }
}

#msgpopup .fsbc-picker-error {
  margin: 0 0 14px !important;
}

/* =========================================================
   FSBC Bookmarks action layout - August 2026
   Keep every action inside the resource card and present the
   four controls as a balanced two-by-two action panel.
   ========================================================= */
body.fsbc-modern-shell .fsbc-bookmark-card .resource-share {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  align-content: center !important;
  align-items: stretch !important;
  justify-content: stretch !important;
  width: min(360px, 100%) !important;
  min-width: 330px !important;
}

body.fsbc-modern-shell .fsbc-bookmark-card .resource-share > .fsbc-resource-view,
body.fsbc-modern-shell .fsbc-bookmark-card .resource-share > .fsbc-resource-action {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 13px !important;
  box-sizing: border-box !important;
  white-space: normal !important;
  text-align: center !important;
  line-height: 1.18 !important;
}

body.fsbc-modern-shell .fsbc-bookmark-card .fsbc-resource-action-danger {
  border-color: rgba(196, 53, 53, .30) !important;
  background: #fff7f7 !important;
  color: #a72f2f !important;
}

body.fsbc-modern-shell .fsbc-bookmark-card .fsbc-resource-action-danger svg path {
  fill: #b73532 !important;
}

body.fsbc-modern-shell .fsbc-bookmark-card .fsbc-resource-action-danger:hover,
body.fsbc-modern-shell .fsbc-bookmark-card .fsbc-resource-action-danger:focus-visible {
  border-color: #b73532 !important;
  background: #b73532 !important;
  color: #ffffff !important;
  transform: translateY(-1px);
}

body.fsbc-modern-shell .fsbc-bookmark-card .fsbc-resource-action-danger:hover svg path,
body.fsbc-modern-shell .fsbc-bookmark-card .fsbc-resource-action-danger:focus-visible svg path {
  fill: #ffffff !important;
}

@media (max-width: 860px) {
  body.fsbc-modern-shell .fsbc-bookmark-card .resource-share {
    width: 100% !important;
    min-width: 0 !important;
  }
}

@media (max-width: 420px) {
  body.fsbc-modern-shell .fsbc-bookmark-card .resource-share {
    gap: 8px !important;
  }
  body.fsbc-modern-shell .fsbc-bookmark-card .resource-share > .fsbc-resource-view,
  body.fsbc-modern-shell .fsbc-bookmark-card .resource-share > .fsbc-resource-action {
    padding: 0 8px !important;
    font-size: .82rem !important;
  }
}

/* =========================================================
   Moderated organization/resource versions - September 2026
   ========================================================= */
.fsbc-review-notice{margin:0 0 18px;padding:15px 18px;border:1px solid #ead58f;border-radius:16px;background:#fff8df;color:#6d5814;font-weight:750;line-height:1.55;}
.fsbc-review-notice.is-approved{border-color:#bfe0cf;background:#eaf7f0;color:#185c43;}
.fsbc-review-notice.is-rejected{border-color:#efcccc;background:#fff0f0;color:#843838;}
.fsbc-version-history-link{display:inline-flex!important;align-items:center;justify-content:center;float:right;margin:9px 76px 0 0;padding:9px 13px;border:1px solid rgba(10,137,185,.25);border-radius:12px;background:#edf7fa;color:#075f80!important;font-weight:900;text-decoration:none!important;transition:.25s ease;}
.fsbc-version-history-link:hover,.fsbc-version-history-link:focus-visible{transform:translateY(-2px);background:#0a89b9;color:#fff!important;text-decoration:none!important;}
.fsbc-resource-version-state{display:flex;gap:8px;padding:0 15px 10px;}
.fsbc-resource-approval-note{margin:14px 18px 2px;}
.fsbc-organization-resource small.is-pending{color:#8a6500;}
.fsbc-pending-submissions{margin:0 0 20px;}
.fsbc-pending-submissions>p{margin-top:-6px!important;}

.fsbc-revision-detail{background:transparent!important;box-shadow:none!important;overflow:visible!important;}
.fsbc-revision-back{display:inline-flex;margin:0 0 14px;font-weight:850;text-decoration:none!important;}
.fsbc-revision-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;padding:27px;border:1px solid rgba(10,137,185,.14);border-radius:25px;background:linear-gradient(135deg,#fff,#f3faf6 58%,#eef8fb);box-shadow:0 16px 42px rgba(21,58,67,.07);}
.fsbc-revision-hero h1{margin:8px 0;color:#17363d;font-size:clamp(1.65rem,3.5vw,2.55rem);line-height:1.12;}
.fsbc-revision-meta{display:grid;gap:7px;max-width:330px;color:#53696e;font-size:.86rem;text-align:right;line-height:1.45;}
.fsbc-review-actions{display:grid;gap:14px;margin:18px 0;padding:22px;border:1px solid #d7e7e2;border-radius:20px;background:#fff;box-shadow:0 10px 28px rgba(21,58,67,.05);}
.fsbc-review-note{margin:18px 0;padding:16px 18px;border:1px solid #d7e7e2;border-radius:16px;background:#f7faf9;color:#40585e;line-height:1.55;}
.fsbc-review-note strong{display:block;margin-bottom:5px;color:#17363d;}.fsbc-review-note p{margin:0;}
.fsbc-review-actions h2,.fsbc-revision-comparison h2,.fsbc-version-history h2{margin:0;color:#17363d;font-size:1.2rem;}
.fsbc-review-actions label{display:grid;gap:7px;color:#40585e;font-size:.82rem;font-weight:900;}
.fsbc-review-actions textarea{width:100%;box-sizing:border-box;border:1px solid #d5e4df;border-radius:13px;background:#f8fbfa;padding:11px 12px;resize:vertical;}
.fsbc-review-actions>div{display:flex;flex-wrap:wrap;gap:10px;}
.fsbc-btn-danger{background:#9b3f3f!important;color:#fff!important;}
.fsbc-btn-danger:hover,.fsbc-btn-danger:focus-visible{background:#772d2d!important;color:#fff!important;}
.revision-action:disabled{opacity:.55;cursor:wait;}
.fsbc-revision-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,310px);gap:18px;align-items:start;margin-top:18px;}
.fsbc-revision-comparison,.fsbc-version-history{display:grid;gap:12px;padding:22px;border:1px solid #dce9e5;border-radius:21px;background:#fff;box-shadow:0 10px 28px rgba(21,58,67,.05);}
.fsbc-version-history{position:sticky;top:105px;}
.fsbc-revision-row{display:grid;grid-template-columns:minmax(130px,.35fr) repeat(2,minmax(0,1fr));gap:12px;padding:14px;border:1px solid #e0ebe7;border-radius:15px;background:#f9fbfa;}
.fsbc-revision-row.is-changed{border-color:#e4ca76;background:#fffbec;}
.fsbc-revision-label{display:flex;flex-direction:column;align-items:flex-start;gap:6px;color:#314c52;font-weight:900;}
.fsbc-revision-label span{padding:3px 7px;border-radius:999px;background:#f5df91;color:#6b5310;font-size:.65rem;text-transform:uppercase;letter-spacing:.04em;}
.fsbc-revision-value{min-width:0;color:#40585e;line-height:1.5;overflow-wrap:anywhere;}
.fsbc-revision-value small{display:block;margin-bottom:5px;color:#718388;font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em;}
.fsbc-revision-value div{max-height:210px;overflow:auto;white-space:normal;}
.fsbc-revision-value em{color:#829297;}
.fsbc-version-item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 9px;align-items:center;padding:11px;border:1px solid #dce9e5;border-radius:13px;background:#f8fbfa;color:#314c52!important;text-decoration:none!important;}
.fsbc-version-item:hover,.fsbc-version-item:focus-visible,.fsbc-version-item.is-current{border-color:#0a89b9;background:#eef8fb;text-decoration:none!important;}
.fsbc-version-item strong{grid-row:1/3;color:#075f80;font-size:1.05rem;}
.fsbc-version-item>span:not(.fsbc-state-badge){font-size:.8rem;line-height:1.35;}
.fsbc-version-item .fsbc-state-badge{grid-column:2;justify-self:start;margin-top:3px;}

@media(max-width:900px){
  .fsbc-revision-layout{grid-template-columns:1fr;}
  .fsbc-version-history{position:static;}
  .fsbc-revision-row{grid-template-columns:1fr 1fr;}
  .fsbc-revision-label{grid-column:1/-1;}
}
@media(max-width:640px){
  .fsbc-revision-hero{grid-template-columns:1fr;padding:21px;}
  .fsbc-revision-meta{text-align:left;}
  .fsbc-revision-row{grid-template-columns:1fr;}
  .fsbc-revision-label{grid-column:auto;}
  .fsbc-version-history-link{float:none;margin:0 0 12px;}
  .fsbc-review-actions>div{display:grid;}
}


/* =========================================================
   FSBC Bookmarks remove action refinement - August 2026
   Reset the legacy .clipdlt rules and match the modern
   destructive action used for resource/organization deletes.
   ========================================================= */
body.fsbc-modern-shell .fsbc-bookmark-card button.clipdlt.fsbc-resource-action-danger {
  flex-basis: auto !important;
  flex-shrink: 1 !important;
  min-width: 0 !important;
  padding: 0 13px !important;
  border: 1px solid rgba(196, 53, 53, .34) !important;
  border-radius: 999px !important;
  background: #fff0f0 !important;
  color: #c43535 !important;
  box-shadow: none !important;
}

body.fsbc-modern-shell .fsbc-bookmark-card button.clipdlt.fsbc-resource-action-danger .fsbc-action-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
}

body.fsbc-modern-shell .fsbc-bookmark-card button.clipdlt.fsbc-resource-action-danger svg {
  width: 20px !important;
  height: 20px !important;
  display: block !important;
}

body.fsbc-modern-shell .fsbc-bookmark-card button.clipdlt.fsbc-resource-action-danger svg path {
  fill: #c43535 !important;
}

body.fsbc-modern-shell .fsbc-bookmark-card button.clipdlt.fsbc-resource-action-danger:hover,
body.fsbc-modern-shell .fsbc-bookmark-card button.clipdlt.fsbc-resource-action-danger:focus-visible {
  background: #c43535 !important;
  border-color: #c43535 !important;
  color: #ffffff !important;
  box-shadow: 0 8px 18px rgba(196, 53, 53, .22) !important;
}

body.fsbc-modern-shell .fsbc-bookmark-card button.clipdlt.fsbc-resource-action-danger:hover svg path,
body.fsbc-modern-shell .fsbc-bookmark-card button.clipdlt.fsbc-resource-action-danger:focus-visible svg path {
  fill: #ffffff !important;
}

/* =========================================================
   FSBC resource action icon alignment - August 2026
   Legacy .clipresport/.shareresport rules forced inline-block,
   which disabled flex alignment and gap on Bookmark and Share.
   Match Add to My resources / Add to Portfolio exactly.
   ========================================================= */
body.fsbc-modern-shell .reslist .resource-share button.fsbc-resource-action.addresport,
body.fsbc-modern-shell .reslist .resource-share button.fsbc-resource-action.clipresport,
body.fsbc-modern-shell .reslist .resource-share button.fsbc-resource-action.shareresport,
body.fsbc-modern-shell .resource-list-area.fsbc-resource-card .resource-share button.fsbc-resource-action.addresport,
body.fsbc-modern-shell .resource-list-area.fsbc-resource-card .resource-share button.fsbc-resource-action.clipresport,
body.fsbc-modern-shell .resource-list-area.fsbc-resource-card .resource-share button.fsbc-resource-action.shareresport {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  margin: 0 !important;
  vertical-align: middle !important;
}

body.fsbc-modern-shell .resource-share button.fsbc-resource-action.addresport .fsbc-action-icon,
body.fsbc-modern-shell .resource-share button.fsbc-resource-action.clipresport .fsbc-action-icon,
body.fsbc-modern-shell .resource-share button.fsbc-resource-action.shareresport .fsbc-action-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 20px !important;
  width: 20px !important;
  height: 20px !important;
  margin: 0 !important;
  line-height: 0 !important;
}

body.fsbc-modern-shell .resource-share button.fsbc-resource-action.addresport .fsbc-action-icon svg,
body.fsbc-modern-shell .resource-share button.fsbc-resource-action.clipresport .fsbc-action-icon svg,
body.fsbc-modern-shell .resource-share button.fsbc-resource-action.shareresport .fsbc-action-icon svg {
  display: block !important;
  width: 20px !important;
  height: 20px !important;
  margin: 0 !important;
}

body.fsbc-modern-shell .resource-share button.fsbc-resource-action.addresport > span:last-child,
body.fsbc-modern-shell .resource-share button.fsbc-resource-action.clipresport > span:last-child,
body.fsbc-modern-shell .resource-share button.fsbc-resource-action.shareresport > span:last-child {
  display: inline-block;
  line-height: 1.1;
}

/* =========================================================
   FSBC unified resource action rail - August 2026
   Resources, Hidden resources and Bookmarks use the same
   compact right-hand action column on desktop. On mobile the
   action area moves below the resource details at full width.
   ========================================================= */
body.fsbc-modern-shell .resource-list-area.fsbc-resource-card {
  grid-template-columns: minmax(0, 1fr) 260px !important;
  gap: 24px !important;
  align-items: start !important;
}

body.fsbc-modern-shell .resource-list-area.fsbc-resource-card .resource-share,
body.fsbc-modern-shell .fsbc-bookmark-card .resource-share {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 9px !important;
  width: 260px !important;
  min-width: 260px !important;
  max-width: 260px !important;
  justify-self: end !important;
  align-self: start !important;
  align-content: start !important;
  justify-content: stretch !important;
}

body.fsbc-modern-shell .resource-list-area.fsbc-resource-card .resource-share > .fsbc-resource-view,
body.fsbc-modern-shell .resource-list-area.fsbc-resource-card .resource-share > .fsbc-resource-action,
body.fsbc-modern-shell .fsbc-bookmark-card .resource-share > .fsbc-resource-view,
body.fsbc-modern-shell .fsbc-bookmark-card .resource-share > .fsbc-resource-action {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 0 15px !important;
  box-sizing: border-box !important;
  white-space: normal !important;
  text-align: center !important;
  line-height: 1.2 !important;
}

body.fsbc-modern-shell .resource-list-area.fsbc-resource-card .resource-share .fsbc-action-icon {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
}

body.fsbc-modern-shell .resource-list-area.fsbc-resource-card .resource-share .fsbc-action-icon svg {
  display: block;
  width: 20px;
  height: 20px;
}

@media (max-width: 860px) {
  body.fsbc-modern-shell .resource-list-area.fsbc-resource-card {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
  }

  body.fsbc-modern-shell .resource-list-area.fsbc-resource-card .resource-share,
  body.fsbc-modern-shell .fsbc-bookmark-card .resource-share {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    justify-self: stretch !important;
  }

  body.fsbc-modern-shell .resource-list-area.fsbc-resource-card .resource-share > .fsbc-resource-view,
  body.fsbc-modern-shell .resource-list-area.fsbc-resource-card .resource-share > .fsbc-resource-action,
  body.fsbc-modern-shell .fsbc-bookmark-card .resource-share > .fsbc-resource-view,
  body.fsbc-modern-shell .fsbc-bookmark-card .resource-share > .fsbc-resource-action {
    width: 100% !important;
  }
}

/* =========================================================
   FSBC mobile header spacing and menu stacking - Aug 2026
   - keeps page content comfortably below the fixed header
   - mobile navigation always sits above the header search
   - respects phone safe-area insets
   ========================================================= */
@media (max-width:1100px){
  body.fsbc-modern-shell.inner{
    --fsbc-fixed-header-offset:128px;
  }

  body.fsbc-modern-shell.inner .fsbc-page-wrap{
    padding-top:28px !important;
  }

  body.fsbc-modern-shell .fsbc-mobile-panel#content-side{
    z-index:5000 !important;
  }

  body.fsbc-modern-shell .fsbc-mobile-panel .fsbc-mobile-panel-inner{
    padding-top:max(16px, env(safe-area-inset-top)) !important;
    padding-bottom:max(24px, env(safe-area-inset-bottom)) !important;
  }
}

@media (max-width:420px){
  body.fsbc-modern-shell.inner{
    --fsbc-fixed-header-offset:126px;
  }

  body.fsbc-modern-shell.inner .fsbc-page-wrap{
    padding-top:26px !important;
  }
}


/* FSBC v24: resource pagination states */
body.fsbc-modern-shell #pagination button:disabled,
body.fsbc-modern-shell #pagination button[aria-disabled="true"]{
  opacity:.42;
  cursor:not-allowed;
  background:#9aada4;
  box-shadow:none;
}
body.fsbc-modern-shell #pagination button:disabled:hover,
body.fsbc-modern-shell #pagination button[aria-disabled="true"]:hover{
  background:#9aada4;
}
body.fsbc-modern-shell #pagination #page-info{
  display:inline-block;
  min-width:190px;
  font-weight:700;
  color:#365259;
}
body.fsbc-modern-shell #pagination .pagset label{
  display:inline-block;
  margin-right:6px;
  font-weight:700;
  color:#52676b;
}
@media (max-width:640px){
  body.fsbc-modern-shell #pagination{
    display:flex;
    flex-direction:column;
    gap:10px;
  }
  body.fsbc-modern-shell #pagination .pagbtn,
  body.fsbc-modern-shell #pagination .pagset{
    display:flex;
    width:100%;
    align-items:center;
    justify-content:center;
    gap:8px;
    margin:0;
  }
  body.fsbc-modern-shell #pagination #page-info{
    min-width:0;
    flex:1;
  }
}


/* Consistent unavailable / missing entity pages */
.fsbc-missing-page {
  display: flex;
  justify-content: center;
  padding-top: clamp(18px, 4vw, 52px);
  padding-bottom: clamp(28px, 6vw, 76px);
}
.fsbc-missing-state {
  width: min(100%, 760px);
  padding: clamp(28px, 5vw, 56px);
  border: 1px solid rgba(10, 137, 185, .16);
  border-radius: 24px;
  background: linear-gradient(145deg, #ffffff 0%, #f6fbfd 100%);
  box-shadow: 0 18px 48px rgba(15, 59, 78, .09);
  text-align: center;
}
.fsbc-missing-icon {
  display: grid;
  place-items: center;
  width: 76px;
  height: 76px;
  margin: 0 auto 20px;
  border-radius: 24px;
  background: rgba(10, 137, 185, .10);
  color: var(--brand-blue, #0a89b9);
}
.fsbc-missing-icon svg {
  width: 38px;
  height: 38px;
  fill: currentColor;
}
.fsbc-missing-state .fsbc-eyebrow {
  display: block;
  margin-bottom: 8px;
}
.fsbc-missing-state h1 {
  margin: 0;
  color: #173746;
  font-size: clamp(28px, 4vw, 42px);
  line-height: 1.12;
}
.fsbc-missing-state p {
  max-width: 590px;
  margin: 16px auto 0;
  color: #5e727c;
  font-size: 17px;
  line-height: 1.65;
}
.fsbc-missing-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 28px;
}
.fsbc-missing-actions .fsbc-btn {
  min-width: 172px;
  justify-content: center;
}
.fsbc-inline-hidden {
  color: #b42318;
  font-size: .9em;
}
@media (max-width: 640px) {
  .fsbc-missing-page {
    padding-top: 12px;
  }
  .fsbc-missing-state {
    padding: 28px 20px;
    border-radius: 18px;
  }
  .fsbc-missing-icon {
    width: 64px;
    height: 64px;
    border-radius: 20px;
  }
  .fsbc-missing-actions {
    flex-direction: column;
  }
  .fsbc-missing-actions .fsbc-btn {
    width: 100%;
  }
}

/* FSBC guest account panel: login, registration and password recovery links */
.user-login-options {
  display: grid;
  gap: 9px;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid #e3eee9;
}

.user-login-option {
  appearance: none;
  -webkit-appearance: none;
  width: 100%;
  box-sizing: border-box;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) 18px;
  align-items: center;
  gap: 10px;
  padding: 11px 12px;
  margin: 0;
  border: 1px solid #dce9e3;
  border-radius: 14px;
  background: #f8fbfa;
  color: #20363a;
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.user-login-option:hover,
.user-login-option:focus-visible {
  background: #fff;
  border-color: rgba(46, 139, 110, .48);
  box-shadow: 0 8px 20px rgba(21, 58, 67, .08);
  transform: translateY(-1px);
  outline: none;
}

.user-login-option-icon {
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 11px;
  background: rgba(46, 139, 110, .11);
  color: #23765f;
}

.user-login-option-icon svg,
.user-login-option-arrow svg {
  display: block;
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.user-login-option-copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.user-login-option-copy strong {
  display: block;
  color: #17363d;
  font-size: .91rem;
  line-height: 1.2;
  font-weight: 850;
}

.user-login-option-copy small {
  display: block;
  color: #63777b;
  font-size: .72rem;
  line-height: 1.35;
  font-weight: 500;
}

.user-login-option-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #6e8588;
  transition: transform .2s ease, color .2s ease;
}

.user-login-option:hover .user-login-option-arrow,
.user-login-option:focus-visible .user-login-option-arrow {
  color: #23765f;
  transform: translateX(2px);
}

@media (max-width: 420px) {
  .user-login-option {
    grid-template-columns: 36px minmax(0, 1fr) 16px;
    gap: 9px;
    padding: 10px;
  }
  .user-login-option-icon {
    width: 36px;
    height: 36px;
  }
}
