.premaculture-saved-ecosystems{position:fixed;z-index:100000;box-sizing:border-box;display:grid;gap:.2rem;overflow:auto;border:1px solid rgba(36,70,55,.18);border-radius:14px;background:rgba(248,247,244,.98);box-shadow:0 12px 30px rgba(24,48,38,.22);padding:.35rem;overscroll-behavior:contain;font-family:"DM Sans",Helvetica,Arial,sans-serif}
.premaculture-saved-ecosystems[hidden]{display:none}
.premaculture-saved-ecosystem{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:2.45rem;border:0;border-radius:10px;background:transparent;color:#21362c;cursor:pointer;font-family:"DM Sans",Helvetica,Arial,sans-serif;font-size:.95rem;font-weight:700;line-height:1.25;padding:.45rem .65rem;text-align:left}
.premaculture-saved-ecosystem:is(:hover,:focus-visible){background:rgba(244,211,94,.3);outline:0}
.premaculture-saved-ecosystem[aria-selected=true]{background:#f4d35e}
.premaculture-saved-ecosystem[aria-selected=true]::after{content:"";flex:0 0 auto;width:.42rem;height:.72rem;margin:0 .2rem .18rem .75rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg)}
.premaculture-saved-ecosystems-empty{color:#52665c;font-size:.88rem;padding:.7rem}
.premaculture-ecosystem-head:has(.premaculture-ecosystem-name-shell){grid-template-columns:minmax(0,1fr) minmax(7rem,9rem) minmax(9rem,12rem);column-gap:.65rem}.premaculture-ecosystem-name-shell{display:grid;grid-column:1;gap:.45rem;min-width:0}.premaculture-ecosystem-title-row{display:flex;align-items:center;justify-content:space-between;gap:.65rem;min-height:2rem}.premaculture-ecosystem-title-row>label{display:flex;align-items:center;gap:.45rem;color:rgba(255,255,255,.82);cursor:pointer;font-size:.82rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.premaculture-ecosystem-title-row>label img{width:1rem;height:1rem;object-fit:contain;filter:brightness(0) invert(1);opacity:1}.premaculture-ecosystem-management{display:flex;align-items:center;gap:.15rem}.premaculture-ecosystem-head button.premaculture-ecosystem-management-button{display:grid;place-items:center;width:1.9rem;min-width:1.9rem;height:1.9rem;min-height:1.9rem;border:0;border-radius:50%;background:transparent;color:rgba(255,255,255,.88);font-size:1.35rem;line-height:1;padding:0}.premaculture-ecosystem-head button.premaculture-ecosystem-management-button svg{width:1.05rem;height:1.05rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.premaculture-ecosystem-head button.premaculture-ecosystem-management-button:is(:hover,:focus-visible,.is-active){background:rgba(255,255,255,.14);color:#f4d35e;transform:none;outline:0}.premaculture-ecosystem-head button.premaculture-ecosystem-management-button.is-delete{color:#e33232;font-size:1.45rem;font-weight:900}.premaculture-ecosystem-head button.premaculture-ecosystem-management-button.is-delete:is(:hover,:focus-visible){background:rgba(227,50,50,.14);color:#ff5a52}.premaculture-ecosystem-name-shell input[readonly]{cursor:pointer}.premaculture-ecosystem-name-shell input[data-ecosystem-name-editing=true]{background:#fff;cursor:text;outline:2px solid rgba(244,211,94,.7);outline-offset:1px}
.premaculture-ecosystem-head button.premaculture-ecosystem-management-button:disabled{background:transparent;color:rgba(255,255,255,.3);cursor:not-allowed;opacity:1;transform:none}
.premaculture-ecosystem-head button.premaculture-ecosystem-management-button.is-picker svg{transition:transform .16s ease}.premaculture-ecosystem-head button.premaculture-ecosystem-management-button.is-picker[aria-expanded=true] svg{transform:rotate(180deg)}
.premaculture-ecosystem-entry input.premaculture-ecosystem-inline-efficiency{box-sizing:border-box;width:4.7rem;min-width:0;min-height:1.25rem;border:1px solid transparent;border-radius:4px;background:transparent;color:inherit;font:inherit;font-size:.76rem;font-weight:700;padding:0 .16rem;text-align:left}.premaculture-ecosystem-entry input.premaculture-ecosystem-inline-efficiency:is(:hover,:focus){border-color:#f4d35e}.premaculture-ecosystem-entry input.premaculture-ecosystem-inline-efficiency:focus{background:#fff;color:#21362c;outline:2px solid rgba(244,211,94,.45)}.premaculture-ecosystem-inline-efficiency:disabled{cursor:not-allowed;opacity:.65}
@media(min-width:641px){.premaculture-ecosystem-head .premaculture-protocol-people{grid-column:2}.premaculture-ecosystem-head .premaculture-protocol-time{grid-column:3}.premaculture-ecosystem-head .premaculture-protocol-people,.premaculture-ecosystem-head .premaculture-protocol-time{justify-self:end;width:100%;text-align:right}.premaculture-ecosystem-head .premaculture-protocol-people input,.premaculture-ecosystem-head .premaculture-protocol-time select{text-align:right}.premaculture-ecosystem-head .premaculture-protocol-time select{text-align-last:right}}
@media(max-width:900px) and (min-width:641px){.premaculture-ecosystem-head:has(.premaculture-ecosystem-name-shell){grid-template-columns:minmax(0,1fr) minmax(5.5rem,7rem) minmax(7rem,8rem);column-gap:.45rem}}
@media(max-width:640px){.premaculture-ecosystem-head:has(.premaculture-ecosystem-name-shell){grid-template-columns:1fr}.premaculture-ecosystem-name-shell,.premaculture-ecosystem-head .premaculture-protocol-people,.premaculture-ecosystem-head .premaculture-protocol-time{grid-column:1}.premaculture-ecosystem-management{gap:.08rem}.premaculture-ecosystem-head button.premaculture-ecosystem-management-button{width:2rem;min-width:2rem;height:2rem;min-height:2rem}}
@media(max-width:640px){.premaculture-ecosystem-title-row{flex-wrap:wrap;row-gap:.35rem}.premaculture-ecosystem-management{flex:0 0 auto;margin-left:auto}}

@media(max-width:640px){
  .premaculture-ecosystem-head:has(.premaculture-ecosystem-name-shell){
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:end;
  }
  .premaculture-ecosystem-head:has(.premaculture-ecosystem-name-shell)>.premaculture-ecosystem-name-shell{
    grid-column:1 / -1;
  }
  .premaculture-ecosystem-head:has(.premaculture-ecosystem-name-shell)>.premaculture-protocol-people{
    grid-column:1;
    min-width:0;
    width:100%;
  }
  .premaculture-ecosystem-head:has(.premaculture-ecosystem-name-shell)>.premaculture-protocol-time{
    grid-column:2;
    min-width:0;
    width:100%;
  }
}
.premaculture-ecosystem-title-row{justify-content:flex-end}
.premaculture-ecosystem-picture-title{display:flex;align-items:center;gap:14px;min-width:0}
.premaculture-ecosystem-picture-title>input{flex:1;min-width:0;width:0}
.premaculture-ecosystem-head button.protocol-ecosystem-picture{display:grid;place-items:center;flex:0 0 64px;width:64px;height:64px;padding:0;border:0;background:transparent;cursor:pointer;border-radius:50%}
.protocol-ecosystem-picture img{display:block;width:64px;height:64px;object-fit:cover;border-radius:50%;box-sizing:border-box}
.protocol-ecosystem-picture img.is-default-logo{object-fit:contain;border-radius:0;padding:5px}
.premaculture-ecosystem-head button.protocol-ecosystem-picture:focus-visible{outline:2px solid #a8bec8;outline-offset:3px}
.protocol-picture-status{font-size:12px;color:#edf3f6}.protocol-picture-status:empty{display:none}
.premaculture-ecosystem-name-shell>input[type=file][hidden]{display:none!important}

/* One aligned label/action row above equally sized title, people and period fields. */
.premaculture-ecosystem-head:has(.premaculture-ecosystem-name-shell){align-items:start;--ecosystem-field-height:56px}
.premaculture-ecosystem-name-shell{grid-template-rows:32px var(--ecosystem-field-height);align-content:start}
.premaculture-ecosystem-title-row{height:32px;min-height:32px;justify-content:flex-start;flex-wrap:nowrap;margin-left:70px}
.premaculture-ecosystem-management{margin-left:0}
.premaculture-ecosystem-head .premaculture-protocol-people,.premaculture-ecosystem-head .premaculture-protocol-time{grid-template-rows:32px var(--ecosystem-field-height);gap:.45rem;align-content:start}
.premaculture-ecosystem-head .premaculture-protocol-people>span,.premaculture-ecosystem-head .premaculture-protocol-time>span{display:flex;align-items:center;justify-content:flex-end;height:32px}
.premaculture-ecosystem-picture-title{height:var(--ecosystem-field-height)}
.premaculture-ecosystem-picture-title>input,.premaculture-ecosystem-head .premaculture-protocol-people>input,.premaculture-ecosystem-head .premaculture-protocol-time>select{box-sizing:border-box;height:var(--ecosystem-field-height);min-height:var(--ecosystem-field-height);margin-block:0}
.premaculture-ecosystem-head button.protocol-ecosystem-picture{width:56px;height:56px;flex-basis:56px}
.protocol-ecosystem-picture img{width:56px;height:56px}

/* Keep the complete default mark visible, including its tips. */
.premaculture-ecosystem-head button.protocol-ecosystem-picture:has(.is-default-logo){border-radius:0;overflow:visible}
.premaculture-ecosystem-head .protocol-ecosystem-picture img.is-default-logo{object-fit:contain;object-position:center;border-radius:0;clip-path:none;mask:none;padding:11px}

/* Outline the Protocol picture without cropping the default logo. */
.premaculture-ecosystem-head button.protocol-ecosystem-picture{box-shadow:0 0 0 2px #334047}
.premaculture-ecosystem-head button.protocol-ecosystem-picture:has(.is-default-logo){border-radius:50%}

/* A continuous dark blue base joins the picture and ecosystem title. */
.premaculture-ecosystem-picture-title{background:#334047;border-radius:28px 14px 14px 28px;box-shadow:0 0 0 2px #334047}
.premaculture-ecosystem-picture-title>input{border-radius:14px;box-shadow:0 0 0 2px #334047}

/* Join the field backgrounds through the gaps without covering their labels. */
.premaculture-ecosystem-head:has(.premaculture-ecosystem-name-shell){position:relative;isolation:isolate}
.premaculture-ecosystem-head:has(.premaculture-ecosystem-name-shell)::before{
  content:"";
  position:absolute;
  z-index:-1;
  top:calc(32px + .45rem);
  right:0;
  left:0;
  height:var(--ecosystem-field-height);
  border-radius:28px 14px 14px 28px;
  background:#334047;
  box-shadow:0 0 0 2px #334047;
  pointer-events:none;
}
@media(max-width:640px){
  .premaculture-ecosystem-head:has(.premaculture-ecosystem-name-shell)::before{
    top:auto;
    bottom:0;
    border-radius:14px;
  }
}

/* Match the title contour on both fields, including the locked Period. */
.premaculture-ecosystem-head .premaculture-protocol-people>input,
.premaculture-ecosystem-head .premaculture-protocol-time>select{box-shadow:0 0 0 2px #334047}
.premaculture-ecosystem-head .premaculture-protocol-time>select:disabled{opacity:1;background-color:rgba(255,255,255,.63);border-color:rgba(255,255,255,.385);color:rgba(33,54,44,.7)}


/* Restore the Ecosystem label above the picture, before its action toolbar. */
.premaculture-ecosystem-title-row{margin-left:0;gap:16px;overflow-x:auto;scrollbar-width:none}
.premaculture-ecosystem-title-row>label{flex:none;white-space:nowrap}
.premaculture-ecosystem-title-row>.premaculture-ecosystem-management{flex:none;margin-left:0}
