.m0 {margin:0;}
.mt0 {margin-top:0;}
.mb0 {margin-bottom:0;}
.mb5 {margin-bottom:5px;}
.mb3 {margin-bottom:3px;}
.m5a {margin:5px auto;}
.mr5 {margin-right:5px;}
.mr10 {margin-right:10px;}
.mxw50 { max-width:50vw;max-width: 50vw;margin: 0; }

.fx {
  display:flex;
  &.aib {align-items:baseline;}
  &.aic {align-items:center;}
  &.aii {align-items:inherit;}
  &.aife {align-items:flex-end;}
  &.aifs {align-items:flex-start;}
  &.jcc {justify-content:center;}
  &.jcsb {justify-content:space-between;}
  &.jcsa {justify-content:space-around;}
  &.jcc {justify-content:center;}
  &.jcfe {justify-content:flex-end;}
  &.jcfs {justify-content:flex-start;}
  &.fxw {flex-wrap:wrap;}
}
.fxg0 {flex-grow:0;}
.g3 {gap:3px;}
.g5 {gap:5px;}
.g10 {gap:10px;}
.vtop {vertical-align:top;}
.lh1 {line-height:1;}

select {background: var(--background) url("/assets/select-arrow-bd8f6e2a.svg") calc(100% - 12px) 50% / 12px no-repeat;}
select.large { min-width: 160px;}

div#content.noscroll {overflow-y:hidden;}

h1 > small {font-size:50%;color:var(--gapmed-petrol);}
h3 > b {
  color:var(--gapmed-pink);
  a {color:var(--gapmed-pink);}
}

button.plain {
  padding: 0;
  margin-right:0;
  display: inline;
  border: none;
  background:none;
  margin:0;
}
button.plain:focus{ box-shadow:none; }
button.plain.c {color: var(--gapmed-lilac);}
button.plain.rw {color: var(--gapmed-light-blue);}

div.card {
  background: #fff;
  padding: 4px 6px;
  border-radius: 5px;
  font-size:1em;
  max-width:55ch;
  &.lg {max-width:75ch;}
  &.xlg, &.xl, &.xxl {max-width:110ch;}
}

fieldset.card-wrap {
  max-width: 24vw;
}

table.wtr.boxed {
  background: #fff;
  padding: 2.5px 5px;
  margin-bottom:.5em;
  border-radius: 6px;
}

@media screen and (max-width: 1024px) {
  div.card, fieldset.card-wrap {max-width: 82vw;}
}

#professionals h3.subtitle {color:var(--gapmed-pink);}
#users h4.subtitle, h4.subtitle {color:var(--gapmed-lilac); margin: 5px;}

div.field_with_errors {color:red;}

#search-outcome { font-size:13.33px; }
#search-outcome p.role { text-align:right;}

td.copying{cursor:copy;opacity:0.7;}

table#shifts div.add:hover {color:var(--gapmed-pink);font-weight:bold;}

div.prof-choices select {min-width:240px;}

form.pdf button, form.csv button {padding: 10px 20px;}

div.grid-2c {
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(310px, 1fr));
}
div.grid4 {
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  grid-gap:10px;
}

div.grid-2xs {
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(148px, 1fr));
}

span.copy-mail, span.copy-fluida { cursor:pointer;}
span.copy-mail { color:var(--gapmed-lilac); }

a.mass-link { 
  padding: 7px 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: aliceblue;
  border:2px solid var(--gapmed-light-blue);
  border-radius:6px;
}

div#button-panel {
  max-width:240px; 
  flex-wrap:wrap;
  > h3 {width:100%;}
}

#login-again {
  height:80%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction:column;
}

#login-again path#arrow {
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  animation: autodraw 3s linear normal infinite;
}

div.report-ico {
  position:relative;
  > svg[color='red'] {
    position:absolute;
    top:-4px;right:-2px;
  }
}

div#edit-professional {
  label { margin-bottom:2px;font-size:0.9em;}
  input, button, select { padding: 3px 5px;margin-bottom:2px;}
}
div.partnerships {
  table {display:none;}
  &:where(:has(tr.lifetime)) {
    table {display:table};
    small.no-entries {display:none};
  }
}
div#professional {
  flex-wrap: wrap;
  > section { 
    flex-basis:30ch;
    flex-grow: 1;
    align-self:flex-start;
  }
  div#specialties {
    &:where(:has(kbd.s)) {
      .no-entries { display:none;}
    }
  }
}
div#professionals {
  table.wtr {
    &:where(:not(:has(td))) { thead { display:none;} }
    &:where(:has(td)) {
      .no-entries { display:none;}
    }
  }
}

fieldset:has(legend:only-child) { display:none; }

#affiliation {
  .gapmed, .idlabmed, .valle_olona, .radiological, .medishare { 
    padding-right:4px; border-radius:3px;
  }
}

.gapmed {
  background-color: var(--affi-gapmed);
  color: var(--affi-gapmed-fg);
  a { color: var(--affi-gapmed-fg); }
}
.idlabmed {
  background-color: var(--affi-idlabmed);
  color: var(--affi-idlabmed-fg);
  a { color: var(--affi-idlabmed-fg); }
}
.valle_olona, .valle-olona {
  background-color: var(--affi-valle-olona);
  color: var(--affi-valle-olona-fg);
  a { color: var(--affi-valle-olona-fg); }
}
.radiological {
  background-color: var(--affi-radiological);
  color: var(--affi-radiological-fg);
  a {color: var(--affi-radiological-fg); }
}
.medishare {
  background-color: var(--affi-medishare);
  color: var(--affi-medishare-fg);
  a { color: var(--affi-medishare-fg); }
}
.tmp {
  background-color: lightgray;
  color: #343434;
  a { color: #343434; }
}