:root{
  font-family:
    Inter,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;

  color:#1e2e25;
  background:#fff8ec;
}

*{
  box-sizing:border-box;
}

body{
  margin:0;
  background:#fff8ec;
}

button,
input{
  font:inherit;
}


.parent-login{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:
    linear-gradient(
      145deg,
      #edf8ef,
      #fff6e7
    );
}

.parent-login-card{
  width:min(460px,100%);
  padding:34px;
  border:1px solid #dce8df;
  border-radius:28px;
  background:#fff;
  box-shadow:
    0 20px 60px
    rgba(36,73,50,.08);
}

.parent-logo{
  font-size:44px;
}

.parent-login-card small{
  display:block;
  margin-top:12px;
  color:#76857c;
  font-size:11px;
  font-weight:800;
  letter-spacing:.1em;
}

.parent-login-card h1{
  margin:5px 0;
  font-size:34px;
}

.parent-login-card>p{
  margin:0 0 24px;
  color:#6d7a72;
}

.parent-login-card label{
  display:block;
  font-size:13px;
  font-weight:800;
}

.parent-login-card input{
  width:100%;
  margin-top:7px;
  padding:13px 14px;
  border:1px solid #ccd8d0;
  border-radius:13px;
}

.parent-login-card form button,
.parent-button-link{
  display:block;
  width:100%;
  margin-top:14px;
  padding:13px 18px;
  border:0;
  border-radius:13px;
  background:#1e7046;
  color:#fff;
  text-align:center;
  text-decoration:none;
  font-weight:800;
  cursor:pointer;
}

.parent-login-card footer{
  margin-top:22px;
  color:#89948d;
  text-align:center;
  font-size:12px;
}

.parent-error,
.parent-success{
  margin:16px 0;
  padding:14px;
  border-radius:13px;
}

.parent-error{
  background:#fff0ed;
  color:#913d31;
}

.parent-success{
  background:#eaf7ee;
  color:#276541;
}

.parent-success p{
  margin:5px 0 0;
}


.parent-loading{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
}


.parent-school{
  width:min(1180px,100%);
  margin:0 auto;
  padding:28px 18px 60px;
}

.parent-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:18px;
  padding:24px 26px;
  border:1px solid #dce8df;
  border-radius:24px;
  background:
    linear-gradient(
      135deg,
      #edf8ef,
      #fff8ea
    );
}

.parent-header small{
  color:#728179;
  font-size:11px;
  font-weight:800;
  letter-spacing:.09em;
}

.parent-header h1{
  margin:5px 0;
  font-size:30px;
}

.parent-header p{
  margin:0;
  color:#67756d;
}

.parent-logout{
  border:0;
  background:transparent;
  color:#6d786f;
  cursor:pointer;
}


.parent-child-switch{
  display:flex;
  gap:8px;
  overflow:auto;
  margin-bottom:14px;
}

.parent-child-switch button{
  padding:9px 15px;
  border:0;
  border-radius:999px;
  background:#ecefec;
  font-weight:800;
  cursor:pointer;
}

.parent-child-switch button.active{
  background:#1e7046;
  color:#fff;
}


.parent-child-hero{
  display:flex;
  align-items:center;
  gap:16px;
  padding:20px;
  border:1px solid #e0e7e1;
  border-radius:20px;
  background:#fff;
}

.parent-avatar{
  width:62px;
  height:62px;
  flex:0 0 62px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:20px;
  background:#e8f6ec;
  color:#1e7046;
  font-size:28px;
  font-weight:900;
}

.parent-child-hero small{
  color:#77857c;
  font-weight:800;
}

.parent-child-hero h2{
  margin:3px 0;
  font-size:26px;
}

.parent-child-hero p{
  margin:0;
  color:#748078;
}


.parent-balances{
  display:grid;
  grid-template-columns:
    repeat(4,minmax(0,1fr));
  gap:10px;
  margin:12px 0;
}

.parent-balances article{
  padding:16px;
  border:1px solid #e0e7e1;
  border-radius:17px;
  background:#fff;
}

.parent-balances small{
  display:block;
  margin-bottom:5px;
  color:#7a877f;
}

.parent-balances strong{
  font-size:19px;
}


.parent-tabs{
  display:flex;
  gap:7px;
  overflow:auto;
  margin:18px 0 10px;
}

.parent-tabs button{
  flex:0 0 auto;
  padding:10px 15px;
  border:0;
  border-radius:999px;
  background:#eef1ef;
  color:#526158;
  font-weight:800;
  cursor:pointer;
}

.parent-tabs button.active{
  background:#1e7046;
  color:#fff;
}


.parent-panel{
  min-height:360px;
  padding:22px;
  border:1px solid #e0e7e1;
  border-radius:22px;
  background:#fff;
}

.parent-panel>h2{
  margin-top:0;
}


.parent-empty{
  padding:45px 20px;
  text-align:center;
  color:#6e7b73;
}

.parent-empty>div{
  font-size:36px;
}

.parent-empty h3{
  margin:8px 0 4px;
}

.parent-empty p{
  margin:0 auto;
  max-width:520px;
}


.parent-feed{
  display:grid;
  gap:10px;
}

.parent-feed article{
  display:flex;
  gap:13px;
  padding:14px;
  border:1px solid #e7ece8;
  border-radius:15px;
}

.parent-feed-icon{
  width:42px;
  height:42px;
  flex:0 0 42px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  background:#edf7ef;
  font-size:20px;
}

.parent-feed small{
  color:#849087;
}

.parent-feed h3{
  margin:3px 0;
}

.parent-feed p{
  margin:4px 0 0;
  white-space:pre-wrap;
}


.parent-schedule,
.parent-recipes{
  display:grid;
  grid-template-columns:
    repeat(2,minmax(0,1fr));
  gap:10px;
}

.parent-schedule article,
.parent-recipes article{
  padding:16px;
  border:1px solid #e2e8e3;
  border-radius:16px;
}

.parent-schedule time,
.parent-recipes small{
  color:#1e7046;
  font-size:12px;
  font-weight:800;
}

.parent-schedule h3,
.parent-recipes h3{
  margin:5px 0;
}

.parent-schedule p,
.parent-recipes p{
  margin:5px 0 0;
  color:#718078;
}


.parent-achievements{
  display:grid;
  grid-template-columns:
    repeat(2,minmax(0,1fr));
  gap:10px;
}

.parent-achievements article{
  display:flex;
  gap:13px;
  padding:16px;
  border:1px solid #e6e4d6;
  border-radius:17px;
  background:#fffaf0;
}

.parent-achievements article>span{
  font-size:30px;
}

.parent-achievements h3{
  margin:0 0 4px;
}

.parent-achievements p{
  margin:0;
  color:#70786f;
}


@media(max-width:760px){

  .parent-school{
    padding:
      12px 10px 40px;
  }

  .parent-header{
    align-items:flex-start;
    padding:20px;
  }

  .parent-header h1{
    font-size:25px;
  }

  .parent-balances{
    grid-template-columns:
      1fr 1fr;
  }

  .parent-panel{
    padding:16px 12px;
  }

  .parent-schedule,
  .parent-recipes,
  .parent-achievements{
    grid-template-columns:1fr;
  }
}


@media(max-width:480px){

  .parent-login-card{
    padding:25px 20px;
  }

  .parent-child-hero h2{
    font-size:22px;
  }

  .parent-balances article{
    padding:13px;
  }

  .parent-balances strong{
    font-size:16px;
  }
}

/* ARTISCHOOL_PARENT_ACTIONS_START */

.parent-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:20px;
  height:20px;
  margin-left:6px;
  padding:0 6px;
  border-radius:999px;
  background:#c84032;
  color:#fff;
  font-size:11px;
}

.parent-booking-action{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid #edf0ed;
}

.parent-booking-action strong{
  color:#1e7046;
  font-size:13px;
}

.parent-primary-small{
  padding:9px 13px;
  border:0;
  border-radius:11px;
  background:#1e7046;
  color:#fff;
  font-weight:800;
  cursor:pointer;
}

.parent-primary-small:disabled{
  opacity:.5;
  cursor:wait;
}

.parent-link-button{
  border:0;
  background:transparent;
  color:#8b4c40;
  font-weight:700;
  cursor:pointer;
}

.parent-panel-help{
  max-width:720px;
  margin:-5px 0 20px;
  color:#718078;
}

.parent-feedback-list{
  display:grid;
  gap:14px;
}

.parent-feedback-card{
  padding:18px;
  border:1px solid #e0e7e1;
  border-radius:18px;
  background:#fff;
}

.parent-feedback-card>header{
  display:flex;
  justify-content:space-between;
  gap:16px;
}

.parent-feedback-card time{
  color:#738178;
  font-size:12px;
  font-weight:800;
}

.parent-feedback-card h3{
  margin:4px 0;
}

.parent-feedback-card header p{
  margin:4px 0 0;
  color:#758279;
}

.parent-feedback-card>label{
  display:block;
  margin-top:14px;
  font-size:13px;
  font-weight:800;
}

.parent-feedback-card textarea{
  width:100%;
  margin-top:6px;
  padding:11px 12px;
  border:1px solid #ccd8d0;
  border-radius:12px;
  background:#fff;
  font:inherit;
  resize:vertical;
}

.parent-rating{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:16px;
}

.parent-rating>span{
  font-weight:800;
}

.parent-rating div{
  display:flex;
  gap:2px;
}

.parent-rating button{
  padding:2px;
  border:0;
  background:transparent;
  color:#d3d8d4;
  font-size:27px;
  cursor:pointer;
}

.parent-rating button.active{
  color:#e9aa20;
}

.parent-feedback-checks{
  display:grid;
  gap:8px;
  margin:14px 0;
}

.parent-feedback-checks label{
  display:flex;
  align-items:flex-start;
  gap:8px;
  color:#546259;
  font-size:13px;
}

.parent-review-status{
  align-self:flex-start;
  padding:6px 9px;
  border-radius:999px;
  background:#f1f3f1;
  font-size:11px;
  font-weight:800;
}

.parent-review-status.published{
  background:#e7f5eb;
  color:#1e7046;
}

.parent-review-status.draft{
  background:#fff5d9;
  color:#795d0c;
}

.parent-notifications{
  display:grid;
  gap:8px;
}

.parent-notifications article{
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:14px;
  border:1px solid #e5eae6;
  border-radius:14px;
}

.parent-notifications article.unread{
  border-color:#bad9c3;
  background:#f0f9f2;
}

.parent-notifications strong{
  display:block;
}

.parent-notifications p{
  margin:4px 0 0;
  color:#69776e;
}

.parent-notifications time{
  flex:0 0 auto;
  color:#879188;
  font-size:11px;
}

@media(max-width:650px){

  .parent-booking-action,
  .parent-feedback-card>header,
  .parent-rating,
  .parent-notifications article{
    align-items:stretch;
    flex-direction:column;
  }

  .parent-rating div{
    justify-content:flex-start;
  }

}

/* ARTISCHOOL_PARENT_ACTIONS_END */

/* PARENT_GOODNESS_START */

.parent-goodness-tab{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  padding:9px 13px;

  border:1px solid #cfe0d4;
  border-radius:999px;

  background:#edf8f0;
  color:#256b44;

  text-decoration:none;

  font:inherit;
  font-weight:800;

  white-space:nowrap;
}


.parent-goodness-page{
  width:min(900px,calc(100% - 24px));

  margin:
    20px auto 60px;
}


.parent-goodness-header{
  margin-bottom:14px;
  padding:22px;

  border-radius:22px;

  background:
    linear-gradient(
      135deg,
      #267048,
      #52a06f
    );

  color:#fff;
}


.parent-goodness-header>a{
  display:inline-block;

  margin-bottom:22px;

  color:#fff;

  font-weight:800;
  text-decoration:none;
}


.parent-goodness-header h1{
  margin:5px 0 8px;
  font-size:30px;
}


.parent-goodness-header p{
  max-width:620px;
  margin:0;

  opacity:.9;
  line-height:1.45;
}


.parent-goodness-header small{
  opacity:.75;
  font-weight:900;
  letter-spacing:.09em;
}


.parent-goodness-card,
.parent-goodness-child{
  margin-top:12px;
  padding:18px;

  border:
    1px solid #dfe9e1;

  border-radius:19px;

  background:#fff;
}


.parent-goodness-child{
  display:grid;

  grid-template-columns:
    auto 1fr auto;

  align-items:center;
  gap:14px;
}


.parent-goodness-child-icon{
  display:flex;
  align-items:center;
  justify-content:center;

  width:58px;
  height:58px;

  border-radius:17px;
  background:#edf8f0;

  font-size:29px;
}


.parent-goodness-child h2{
  margin:3px 0;
}


.parent-goodness-child p{
  margin:0;
  color:#718078;
}


.parent-goodness-child small{
  color:#77857d;
  font-weight:800;
}


.parent-goodness-count{
  text-align:right;
}


.parent-goodness-count small,
.parent-goodness-count strong{
  display:block;
}


.parent-goodness-count strong{
  margin-top:3px;

  color:#267149;

  font-size:26px;
}


.parent-goodness-error,
.parent-goodness-success{
  margin:10px 0;
  padding:12px 14px;

  border-radius:12px;
}


.parent-goodness-error{
  background:#fff0ed;
  color:#994938;
}


.parent-goodness-success{
  background:#eaf7ee;
  color:#246743;
}


.parent-goodness-title{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;

  margin-bottom:14px;
}


.parent-goodness-title h2{
  margin:3px 0;
}


.parent-goodness-title p{
  margin:4px 0 0;

  color:#75827a;

  line-height:1.4;
}


.parent-goodness-title small{
  color:#77857d;

  font-weight:900;
  letter-spacing:.08em;
}


.parent-goodness-scale-help{
  display:grid;

  grid-template-columns:
    repeat(3,1fr);

  gap:7px;
  margin-bottom:16px;
}


.parent-goodness-scale-help span{
  padding:10px;

  border-radius:11px;
  background:#f5f8f5;

  color:#718078;

  font-size:11px;
  line-height:1.35;
}


.parent-goodness-scale-help strong{
  display:block;

  color:#267149;
  font-size:17px;
}


.parent-goodness-form-top{
  display:grid;

  grid-template-columns:
    1fr 1fr;

  gap:10px;
}


.parent-goodness-field{
  display:block;

  margin-top:13px;

  color:#304238;

  font-size:13px;
  font-weight:800;
}


.parent-goodness-field input,
.parent-goodness-field select,
.parent-goodness-field textarea{
  display:block;

  box-sizing:border-box;
  width:100%;

  margin-top:6px;
  padding:11px;

  border:
    1px solid #cdd9d0;

  border-radius:11px;

  background:#fff;

  color:#25372c;
  font:inherit;
}


.parent-goodness-field textarea{
  resize:vertical;
}


.parent-goodness-metrics{
  display:grid;
  gap:9px;

  margin-top:16px;
}


.parent-goodness-metrics article{
  padding:14px;

  border:
    1px solid #e0e7e2;

  border-radius:15px;
}


.parent-goodness-metric-title h3{
  margin:0 0 4px;
}


.parent-goodness-metric-title p{
  margin:0 0 12px;

  color:#75827a;

  font-size:12px;
  line-height:1.4;
}


.parent-goodness-scale{
  display:grid;

  grid-template-columns:
    repeat(5,1fr);

  gap:7px;
}


.parent-goodness-scale button{
  min-height:45px;

  border:
    1px solid #cbd7ce;

  border-radius:12px;

  background:#fff;

  color:#536158;

  font-size:17px;
  font-weight:900;

  cursor:pointer;
}


.parent-goodness-scale button.active{
  border-color:#267149;

  background:#267149;
  color:#fff;
}


.parent-goodness-metrics article>input{
  box-sizing:border-box;
  width:100%;

  margin-top:10px;
  padding:10px;

  border:
    1px solid #d5ded7;

  border-radius:10px;
}


.parent-goodness-note{
  margin:15px 0;
  padding:12px;

  border-radius:12px;

  background:#f2f7f3;

  color:#647269;

  font-size:12px;
  line-height:1.4;
}


.parent-goodness-submit,
.parent-goodness-primary{
  display:block;

  box-sizing:border-box;
  width:100%;

  padding:13px 16px;

  border:0;
  border-radius:13px;

  background:#267149;
  color:#fff;

  text-align:center;
  text-decoration:none;

  font:inherit;
  font-weight:900;

  cursor:pointer;
}


.parent-goodness-submit:disabled{
  opacity:.55;
  cursor:default;
}


.parent-goodness-progress-list{
  display:grid;
  gap:8px;
}


.parent-goodness-progress-list article{
  display:grid;

  grid-template-columns:
    minmax(170px,1fr)
    minmax(100px,2fr)
    50px;

  align-items:center;
  gap:10px;
}


.parent-goodness-progress-list strong,
.parent-goodness-progress-list small{
  display:block;
}


.parent-goodness-progress-list small{
  margin-top:3px;
  color:#75827a;
}


.parent-goodness-mini-progress{
  height:9px;

  overflow:hidden;

  border-radius:999px;
  background:#edf1ee;
}


.parent-goodness-mini-progress span{
  display:block;
  height:100%;

  border-radius:999px;
  background:#2b7a50;
}


.parent-goodness-delta{
  color:#78847d;

  text-align:right;
  font-weight:900;
}


.parent-goodness-delta.up{
  color:#23804c;
}


.parent-goodness-delta.down{
  color:#ab4d3d;
}


.parent-goodness-history{
  display:grid;
  gap:9px;
}


.parent-goodness-history>article{
  padding:14px;

  border:
    1px solid #e0e6e1;

  border-radius:14px;
}


.parent-goodness-history>article>header{
  display:flex;

  align-items:flex-start;
  justify-content:space-between;

  gap:10px;

  margin-bottom:10px;
}


.parent-goodness-history>article>header strong,
.parent-goodness-history>article>header small{
  display:block;
}


.parent-goodness-history>article>header small{
  margin-top:3px;
  color:#77847c;
}


.parent-goodness-history-scores{
  display:grid;

  grid-template-columns:
    repeat(3,1fr);

  gap:6px;
}


.parent-goodness-history-scores>div{
  padding:8px;

  border-radius:10px;
  background:#f5f8f5;
}


.parent-goodness-history-scores small,
.parent-goodness-history-scores strong{
  display:block;
}


.parent-goodness-history-scores small{
  min-height:29px;

  color:#718078;

  font-size:10px;
}


.parent-goodness-history-scores strong{
  color:#267149;
}


.parent-goodness-history>article>p{
  margin:12px 0 0;

  line-height:1.45;
}


.parent-goodness-empty{
  text-align:center;
}


.parent-goodness-empty>div{
  font-size:36px;
}


@media(max-width:650px){

  .parent-goodness-page{
    width:
      min(
        100% - 16px,
        900px
      );

    margin-top:8px;
  }


  .parent-goodness-header,
  .parent-goodness-card,
  .parent-goodness-child{
    border-radius:16px;
  }


  .parent-goodness-child{
    grid-template-columns:
      auto 1fr;
  }


  .parent-goodness-count{
    grid-column:1/-1;

    text-align:left;
  }


  .parent-goodness-form-top,
  .parent-goodness-scale-help{
    grid-template-columns:1fr;
  }


  .parent-goodness-progress-list article{
    grid-template-columns:
      1fr 55px;
  }


  .parent-goodness-mini-progress{
    grid-column:1/-1;
    grid-row:2;
  }


  .parent-goodness-history-scores{
    grid-template-columns:
      1fr 1fr;
  }

}

/* PARENT_GOODNESS_END */

/* PARENT_MAX_START */

.parent-max-page{
  width:min(720px,calc(100% - 24px));
  margin:20px auto 60px;
}

.parent-max-header{
  padding:22px;
  border-radius:22px;
  background:linear-gradient(
    135deg,
    #315a42,
    #63a978
  );
  color:#fff;
}

.parent-max-header>a{
  display:block;
  margin-bottom:20px;
  color:#fff;
  font-weight:800;
  text-decoration:none;
}

.parent-max-header small{
  opacity:.75;
  font-weight:900;
  letter-spacing:.08em;
}

.parent-max-header h1{
  margin:5px 0 8px;
  font-size:31px;
}

.parent-max-header p{
  margin:0;
  opacity:.92;
  line-height:1.45;
}

.parent-max-card{
  margin-top:12px;
  padding:19px;
  border:1px solid #dfe8e1;
  border-radius:18px;
  background:#fff;
}

.parent-max-error,
.parent-max-success{
  margin-top:12px;
  padding:12px 14px;
  border-radius:12px;
}

.parent-max-error{
  background:#fff0ed;
  color:#9d493d;
}

.parent-max-success{
  background:#eaf7ee;
  color:#286c45;
}

.parent-max-connected{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:15px;
  align-items:center;
}

.parent-max-status-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:58px;
  height:58px;
  border-radius:18px;
  background:#e8f7ed;
  font-size:29px;
}

.parent-max-connected h2{
  margin:4px 0;
}

.parent-max-connected p{
  margin:5px 0 10px;
  color:#68766d;
  line-height:1.45;
}

.parent-max-features{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:13px;
}

.parent-max-features span{
  padding:11px;
  border-radius:11px;
  background:#f3f8f4;
}

.parent-max-steps{
  display:grid;
  gap:13px;
  margin-bottom:18px;
}

.parent-max-steps article{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:12px;
}

.parent-max-steps article>strong{
  display:flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border-radius:13px;
  background:#e9f6ed;
  color:#246b43;
}

.parent-max-steps h3{
  margin:1px 0 4px;
}

.parent-max-steps p{
  margin:0;
  color:#718078;
  font-size:13px;
  line-height:1.4;
}

.parent-max-main-button{
  width:100%;
  padding:13px;
  border:0;
  border-radius:12px;
  background:#286d47;
  color:#fff;
  font:inherit;
  font-weight:900;
  cursor:pointer;
}

.parent-max-code{
  margin-top:16px;
  padding:17px;
  border:2px dashed #60a178;
  border-radius:14px;
  background:#f2faf4;
  color:#1e6640;
  text-align:center;
  font-family:
    ui-monospace,
    SFMono-Regular,
    Menlo,
    monospace;
  font-size:25px;
  font-weight:900;
  letter-spacing:.08em;
}

.parent-max-expire{
  color:#77837c;
  text-align:center;
  font-size:12px;
}

.parent-max-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:13px;
}

.parent-max-actions button,
.parent-max-actions a{
  box-sizing:border-box;
  padding:12px;
  border:1px solid #bdd7c5;
  border-radius:12px;
  background:#fff;
  color:#286d47;
  text-align:center;
  text-decoration:none;
  font:inherit;
  font-weight:900;
  cursor:pointer;
}

.parent-max-actions a{
  background:#286d47;
  color:#fff;
}

.parent-max-hint{
  margin-top:14px;
  padding:11px;
  border-radius:11px;
  background:#f5f6f5;
  color:#707b74;
  font-size:12px;
  line-height:1.4;
}

.parent-max-disconnect{
  width:100%;
  margin-top:12px;
  padding:12px;
  border:1px solid #e0b8b0;
  border-radius:12px;
  background:#fff;
  color:#994b3c;
  font:inherit;
  font-weight:800;
  cursor:pointer;
}

@media(max-width:600px){

  .parent-max-page{
    width:calc(100% - 16px);
    margin-top:8px;
  }

  .parent-max-header,
  .parent-max-card{
    border-radius:16px;
  }

  .parent-max-features,
  .parent-max-actions{
    grid-template-columns:1fr;
  }

  .parent-max-code{
    font-size:21px;
  }
}

/* PARENT_MAX_END */



/* PARENT_CONTRAST_V1_START */

:root{
  --parent-bg:#f5efe2;
  --parent-white:#fff;

  --parent-text:#193628;
  --parent-text-2:#445d4e;
  --parent-muted:#687c70;

  --parent-green:#207a46;
  --parent-green-dark:#175e35;
  --parent-green-soft:#e6f3e9;

  --parent-border:#bfd0c2;

  --parent-shadow:
    0 6px 24px
    rgba(22,59,36,.055);
}


body{
  background:
    var(--parent-bg);

  color:
    var(--parent-text);
}


/*
 * Даже простые дочерние страницы
 * /parent/max и /parent/goodness
 * получают нормальную ширину.
 */

body main{
  box-sizing:
    border-box;

  color:
    var(--parent-text);
}


body main h1,
body main h2,
body main h3{
  color:
    var(--parent-text);
}


body main p{
  color:
    var(--parent-text-2);
}


/* ========================================================
   ОСНОВНЫЕ КАРТОЧКИ
   ======================================================== */

.parent-header,
.parent-child,
.parent-child-card,
.parent-panel,
.parent-stat,
.parent-stats > *,
.parent-feedback-list article,
.parent-feed article,
.parent-achievements article,
.parent-max-card{
  border:
    1px solid
    var(--parent-border) !important;

  background:
    #fff !important;

  box-shadow:
    var(--parent-shadow);
}


.parent-header{
  background:
    linear-gradient(
      135deg,
      #e8f5ea,
      #fff7e8
    ) !important;
}


/* ========================================================
   НАВИГАЦИЯ
   ======================================================== */

.parent-tabs,
.parent-nav{
  display:flex;

  gap:8px;

  overflow-x:auto;
  overflow-y:hidden;

  padding-bottom:
    8px;

  scrollbar-width:
    thin;

  -webkit-overflow-scrolling:
    touch;
}


.parent-tabs > *,
.parent-nav > *{
  flex:
    0 0 auto;
}


.parent-tabs button,
.parent-tabs a,
.parent-nav button,
.parent-nav a,
.parent-goodness-tab{
  display:inline-flex;

  align-items:center;
  justify-content:center;

  min-height:
    42px;

  padding:
    0 16px;

  border:
    1px solid
    #d2ddd4 !important;

  border-radius:
    999px !important;

  background:
    #edf0eb !important;

  color:
    #405749 !important;

  font-weight:
    800;

  text-decoration:
    none;

  white-space:
    nowrap;
}


.parent-tabs button.active,
.parent-tabs .active,
.parent-nav button.active,
.parent-nav .active{
  border-color:
    var(--parent-green) !important;

  background:
    var(--parent-green) !important;

  color:
    #fff !important;
}


/* ========================================================
   ФОРМЫ — ОБЩИЕ
   ======================================================== */

.parent-panel label,
.parent-feedback-list label,
.parent-max-page label{
  color:
    #324d3b;

  font-weight:
    700;
}


.parent-panel input:not([type="checkbox"]):not([type="radio"]),
.parent-panel select,
.parent-panel textarea,

.parent-feedback-list input:not([type="checkbox"]):not([type="radio"]),
.parent-feedback-list select,
.parent-feedback-list textarea,

.parent-max-page input:not([type="checkbox"]):not([type="radio"]){
  box-sizing:
    border-box !important;

  display:block;

  width:
    100% !important;

  max-width:
    100% !important;

  min-height:
    46px;

  margin-top:
    7px;

  padding:
    11px 13px !important;

  border:
    1px solid
    #a8baac !important;

  border-radius:
    11px !important;

  outline:
    none;

  background:
    #fff !important;

  color:
    #173527 !important;

  font:
    inherit;

  line-height:
    1.45;
}


.parent-panel textarea,
.parent-feedback-list textarea{
  min-height:
    125px !important;

  resize:
    vertical !important;
}


.parent-panel input:focus,
.parent-panel textarea:focus,
.parent-panel select:focus,
.parent-feedback-list input:focus,
.parent-feedback-list textarea:focus{
  border-color:
    var(--parent-green) !important;

  box-shadow:
    0 0 0 3px
    rgba(32,122,70,.13) !important;
}


/* ========================================================
   ОБРАТНАЯ СВЯЗЬ — ИСПРАВЛЯЕМ НАЛОЖЕНИЯ
   ======================================================== */

.parent-feedback-list{
  display:grid !important;

  gap:
    18px !important;
}


.parent-feedback-list article{
  display:block !important;

  padding:
    20px !important;

  overflow:
    hidden;
}


.parent-feedback-list article label{
  display:flex !important;

  flex-direction:
    column !important;

  align-items:
    stretch !important;

  width:
    100% !important;

  margin:
    15px 0 0 !important;

  float:
    none !important;
}


.parent-feedback-list article label:has(
  input[type="checkbox"]
){
  flex-direction:
    row !important;

  align-items:
    center !important;

  gap:
    9px !important;

  min-height:
    30px;
}


.parent-feedback-list input[type="checkbox"],
.parent-panel input[type="checkbox"]{
  display:inline-block !important;

  flex:
    0 0 auto;

  width:
    20px !important;

  min-width:
    20px !important;

  height:
    20px !important;

  min-height:
    20px !important;

  margin:
    0 !important;

  padding:
    0 !important;

  accent-color:
    var(--parent-green);
}


.parent-panel-help{
  max-width:
    900px;

  padding:
    12px 14px;

  border-left:
    4px solid
    var(--parent-green);

  border-radius:
    8px;

  background:
    #eef6ef;

  color:
    #405a49 !important;

  line-height:
    1.5;
}


/* ========================================================
   PARENT BUTTONS
   ======================================================== */

.parent-panel button,
.parent-feedback-list button,
.parent-max-page button,
.parent-max-page a{
  min-height:
    43px;

  padding:
    10px 16px;

  border:
    1px solid
    var(--parent-green);

  border-radius:
    11px;

  background:
    var(--parent-green);

  color:
    #fff;

  font:
    inherit;

  font-weight:
    800;

  text-decoration:
    none;

  cursor:
    pointer;
}


.parent-panel button:hover:not(:disabled),
.parent-feedback-list button:hover:not(:disabled),
.parent-max-page button:hover:not(:disabled),
.parent-max-page a:hover{
  border-color:
    var(--parent-green-dark);

  background:
    var(--parent-green-dark);
}


.parent-panel button:disabled,
.parent-feedback-list button:disabled{
  opacity:
    .48;

  cursor:
    not-allowed;
}


/* ========================================================
   MAX
   ======================================================== */

.parent-max-page{
  width:
    min(
      760px,
      calc(100% - 24px)
    );

  margin:
    24px auto 70px;
}


.parent-max-header{
  padding:
    24px;

  border:
    1px solid
    #bfd2c2;

  border-radius:
    22px;

  background:
    linear-gradient(
      135deg,
      #276341,
      #469565
    ) !important;

  color:
    #fff !important;

  box-shadow:
    0 10px 28px
    rgba(27,80,47,.12);
}


.parent-max-header h1,
.parent-max-header p,
.parent-max-header small,
.parent-max-header a{
  color:
    #fff !important;
}


.parent-max-card{
  margin-top:
    14px;

  padding:
    20px;

  border-radius:
    18px;
}


.parent-max-actions{
  display:flex;

  flex-wrap:
    wrap;

  gap:
    10px;

  margin-top:
    16px;
}


.parent-max-hint{
  margin-top:
    14px;

  padding:
    11px 13px;

  border-radius:
    10px;

  background:
    #f0f5f0;

  color:
    #53695a !important;
}


/* ========================================================
   RAW / GOODNESS PAGE FALLBACK
   ======================================================== */

/*
 * Если дочерняя страница сделана
 * максимально простым JSX, она всё равно
 * не будет выглядеть как голый HTML.
 */

body main:not(.parent-shell):not(.parent-max-page){
  width:
    min(
      1100px,
      calc(100% - 28px)
    );

  margin:
    24px auto 70px;

  padding:
    22px;

  border:
    1px solid
    var(--parent-border);

  border-radius:
    20px;

  background:
    #fff;

  box-shadow:
    var(--parent-shadow);
}


body main:not(.parent-shell):not(.parent-max-page)
> a{
  color:
    #216d42;

  font-weight:
    800;

  text-decoration:
    none;
}


/* ========================================================
   MOBILE
   ======================================================== */

@media(max-width:700px){

  .parent-shell,
  .parent-max-page,
  body main:not(.parent-shell):not(.parent-max-page){
    width:
      calc(100% - 16px) !important;

    margin:
      8px auto 40px !important;
  }


  .parent-header,
  .parent-child-card,
  .parent-panel,
  .parent-max-header,
  .parent-max-card{
    padding:
      16px !important;

    border-radius:
      16px !important;
  }


  .parent-tabs,
  .parent-nav{
    margin-left:
      -2px;

    padding-bottom:
      10px;
  }


  .parent-tabs button,
  .parent-tabs a,
  .parent-nav button,
  .parent-nav a{
    min-height:
      40px;

    padding:
      0 13px;

    font-size:
      14px;
  }


  .parent-feedback-list article{
    padding:
      15px !important;
  }


  .parent-feedback-list textarea{
    min-height:
      135px !important;
  }


  .parent-max-actions{
    display:grid;

    grid-template-columns:
      1fr;
  }


  .parent-max-actions > *{
    width:
      100%;

    box-sizing:
      border-box;

    text-align:
      center;
  }

}

/* PARENT_CONTRAST_V1_END */


/* ========================================================
   PARENT_UI_18_3
   ======================================================== */

.parent-shell,
.parent-max-page,
.parent-goodness-page{
  color:#1c3426 !important;
}


.parent-shell p,
.parent-shell small,
.parent-shell label,
.parent-max-page p,
.parent-max-page small,
.parent-goodness-page p,
.parent-goodness-page small{
  color:#40594b !important;
  opacity:1 !important;
}


.parent-shell input:not([type="checkbox"]):not([type="radio"]),
.parent-shell select,
.parent-shell textarea,
.parent-max-page input:not([type="checkbox"]):not([type="radio"]),
.parent-goodness-page input,
.parent-goodness-page select,
.parent-goodness-page textarea{
  box-sizing:border-box !important;

  display:block;

  width:100% !important;

  max-width:100% !important;

  min-height:46px;

  padding:
    11px 13px !important;

  border:
    1px solid
    #9fb2a2 !important;

  border-radius:
    11px !important;

  background:#fff !important;

  color:#183426 !important;

  font:inherit;
}


.parent-shell textarea,
.parent-goodness-page textarea{
  min-height:125px !important;

  resize:vertical;
}


.parent-shell input[type="checkbox"]{
  width:20px !important;
  min-width:20px !important;

  height:20px !important;
  min-height:20px !important;

  margin:0 !important;
  padding:0 !important;

  accent-color:#207946;
}


.parent-feedback-list{
  display:grid !important;

  gap:16px !important;
}


.parent-feedback-list article{
  display:block !important;

  overflow:visible !important;

  padding:20px !important;
}


.parent-feedback-list article label{
  display:flex !important;

  float:none !important;

  flex-direction:column !important;

  align-items:stretch !important;

  box-sizing:border-box;

  width:100% !important;
  max-width:100% !important;

  margin:
    15px 0 0 !important;
}


.parent-feedback-list article label:has(
  input[type="checkbox"]
){
  flex-direction:row !important;

  align-items:center !important;

  gap:9px !important;
}


.parent-feedback-list article textarea{
  display:block !important;

  width:100% !important;
  max-width:100% !important;

  margin-top:7px !important;
}


.parent-max-page{
  width:
    min(
      850px,
      calc(100% - 24px)
    ) !important;

  margin:
    24px auto 60px !important;
}


.parent-max-header{
  padding:24px !important;

  border:
    1px solid
    #b9ccbc !important;

  border-radius:
    20px !important;

  background:
    linear-gradient(
      135deg,
      #e7f5ea,
      #fff5df
    ) !important;
}


.parent-max-header h1,
.parent-max-header p,
.parent-max-header small,
.parent-max-header a{
  color:#1d3b2b !important;
}


.parent-max-card{
  margin-top:15px;

  padding:20px;

  border:
    1px solid
    #bdccc0 !important;

  border-radius:17px;

  background:#fff !important;
}


.parent-goodness-page{
  box-sizing:border-box;

  width:
    min(
      1050px,
      calc(100% - 24px)
    );

  margin:
    24px auto 60px;

  padding:24px;

  border:
    1px solid
    #bdccbf;

  border-radius:20px;

  background:#fff;
}


.parent-goodness-page h1,
.parent-goodness-page h2,
.parent-goodness-page h3{
  color:#193828 !important;
}


.parent-goodness-page a{
  color:#1e7041 !important;

  font-weight:800;
}


@media(max-width:700px){

  .parent-max-page,
  .parent-goodness-page{
    width:
      calc(100% - 14px)
      !important;

    margin:
      8px auto 40px
      !important;
  }


  .parent-max-header,
  .parent-max-card,
  .parent-goodness-page{
    padding:15px !important;
  }


  .parent-feedback-list article{
    padding:15px !important;
  }

}

/* END PARENT_UI_18_3 */


/* ========================================================
   PARENT_UNIFIED_UI_19
   ======================================================== */

:root{
  --parent-page:#f7f1e5;
  --parent-panel:#eef7f0;
  --parent-card:#fff;

  --parent-text:#173426;
  --parent-text-2:#40594b;

  --parent-green:#207a46;
  --parent-green-dark:#175e35;

  --parent-border:#bed0c2;
}


body{
  background:
    var(--parent-page) !important;
}


.parent-shell,
.parent-max-page,
.parent-goodness-page{
  color:
    var(--parent-text) !important;
}


.parent-header,
.parent-max-header{
  border:
    1px solid
    var(--parent-border) !important;

  background:
    linear-gradient(
      135deg,
      #eaf6ed,
      #fff8e8
    ) !important;
}


.parent-header *,
.parent-max-header *{
  color:
    var(--parent-text) !important;
}


.parent-child-card,
.parent-panel,
.parent-stat,
.parent-feedback-list article,
.parent-max-card,
.parent-goodness-page{
  border:
    1px solid
    var(--parent-border) !important;

  background:
    #fff !important;
}


.parent-shell h1,
.parent-shell h2,
.parent-shell h3,
.parent-shell strong,
.parent-max-page h1,
.parent-goodness-page h1{
  color:
    var(--parent-text) !important;
}


.parent-shell p,
.parent-shell span,
.parent-shell small,
.parent-shell label,
.parent-max-page p,
.parent-goodness-page p{
  color:
    var(--parent-text-2) !important;

  opacity:
    1 !important;
}


.parent-tabs button.active,
.parent-tabs a.active,
.parent-nav .active{
  background:
    var(--parent-green) !important;

  border-color:
    var(--parent-green) !important;

  color:
    #fff !important;
}


.parent-shell button,
.parent-max-page button{
  border:
    1px solid
    var(--parent-green);

  border-radius:
    11px;

  background:
    var(--parent-green);

  color:
    #fff !important;

  font-weight:
    800;
}


.parent-shell button:hover,
.parent-max-page button:hover{
  background:
    var(--parent-green-dark);
}


.parent-shell input:not([type="checkbox"]):not([type="radio"]),
.parent-shell select,
.parent-shell textarea,
.parent-max-page input,
.parent-goodness-page input,
.parent-goodness-page textarea,
.parent-goodness-page select{
  border:
    1px solid
    #9fb2a2 !important;

  background:
    #fff !important;

  color:
    var(--parent-text) !important;
}


.parent-feedback-list textarea{
  width:
    100% !important;

  max-width:
    100% !important;

  min-height:
    125px !important;
}


/* END PARENT_UNIFIED_UI_19 */


/* ========================================================
   PARENT_UNIFIED_UI_19
   ======================================================== */

:root{
  --parent-page:#f7f1e5;
  --parent-panel:#eef7f0;
  --parent-card:#fff;

  --parent-text:#173426;
  --parent-text-2:#40594b;

  --parent-green:#207a46;
  --parent-green-dark:#175e35;

  --parent-border:#bed0c2;
}


body{
  background:
    var(--parent-page) !important;
}


.parent-shell,
.parent-max-page,
.parent-goodness-page{
  color:
    var(--parent-text) !important;
}


.parent-header,
.parent-max-header{
  border:
    1px solid
    var(--parent-border) !important;

  background:
    linear-gradient(
      135deg,
      #eaf6ed,
      #fff8e8
    ) !important;
}


.parent-header *,
.parent-max-header *{
  color:
    var(--parent-text) !important;
}


.parent-child-card,
.parent-panel,
.parent-stat,
.parent-feedback-list article,
.parent-max-card,
.parent-goodness-page{
  border:
    1px solid
    var(--parent-border) !important;

  background:
    #fff !important;
}


.parent-shell h1,
.parent-shell h2,
.parent-shell h3,
.parent-shell strong,
.parent-max-page h1,
.parent-goodness-page h1{
  color:
    var(--parent-text) !important;
}


.parent-shell p,
.parent-shell span,
.parent-shell small,
.parent-shell label,
.parent-max-page p,
.parent-goodness-page p{
  color:
    var(--parent-text-2) !important;

  opacity:
    1 !important;
}


.parent-tabs button.active,
.parent-tabs a.active,
.parent-nav .active{
  background:
    var(--parent-green) !important;

  border-color:
    var(--parent-green) !important;

  color:
    #fff !important;
}


.parent-shell button,
.parent-max-page button{
  border:
    1px solid
    var(--parent-green);

  border-radius:
    11px;

  background:
    var(--parent-green);

  color:
    #fff !important;

  font-weight:
    800;
}


.parent-shell button:hover,
.parent-max-page button:hover{
  background:
    var(--parent-green-dark);
}


.parent-shell input:not([type="checkbox"]):not([type="radio"]),
.parent-shell select,
.parent-shell textarea,
.parent-max-page input,
.parent-goodness-page input,
.parent-goodness-page textarea,
.parent-goodness-page select{
  border:
    1px solid
    #9fb2a2 !important;

  background:
    #fff !important;

  color:
    var(--parent-text) !important;
}


.parent-feedback-list textarea{
  width:
    100% !important;

  max-width:
    100% !important;

  min-height:
    125px !important;
}


/* END PARENT_UNIFIED_UI_19 */


/* PARENT_GOODNESS_UNIFIED_START */


/* ========================================================
   СТРАНИЦА
   ======================================================== */

.parent-goodness-page{
  width:min(
    1180px,
    calc(100% - 28px)
  ) !important;

  margin:
    18px auto 60px !important;

  color:
    #173426 !important;
}


.parent-goodness-page *{
  box-sizing:border-box;
}


/* ========================================================
   ВЕРХНЯЯ КАРТОЧКА
   ======================================================== */

.parent-goodness-page > header,
.parent-goodness-page [class*="goodness-hero"],
.parent-goodness-page [class*="goodness-header"]{
  padding:
    24px 26px !important;

  border:
    1px solid #bed0c2 !important;

  border-radius:
    22px !important;

  background:
    linear-gradient(
      135deg,
      #eaf6ed 0%,
      #fff8e8 100%
    ) !important;

  color:
    #173426 !important;

  box-shadow:
    0 5px 18px
    rgba(22,58,36,.045) !important;
}


.parent-goodness-page > header *,
.parent-goodness-page [class*="goodness-hero"] *,
.parent-goodness-page [class*="goodness-header"] *{
  color:
    #173426 !important;

  opacity:
    1 !important;

  text-shadow:
    none !important;
}


.parent-goodness-page > header small,
.parent-goodness-page [class*="goodness-hero"] small,
.parent-goodness-page [class*="goodness-header"] small{
  color:
    #5f7466 !important;

  font-weight:
    800;

  letter-spacing:
    .06em;
}


.parent-goodness-page > header a{
  color:
    #287047 !important;

  font-weight:
    800;

  text-decoration:
    none;
}


.parent-goodness-page > header h1{
  color:
    #173426 !important;

  margin:
    8px 0 10px !important;
}


.parent-goodness-page > header p{
  color:
    #4c6556 !important;

  margin:
    0 !important;
}


/* ========================================================
   ОСНОВНЫЕ КАРТОЧКИ
   ======================================================== */

.parent-goodness-page > section,
.parent-goodness-page > article,
.parent-goodness-page [class*="goodness-card"],
.parent-goodness-page [class*="survey-card"]{
  margin-top:
    14px;

  padding:
    20px 22px;

  border:
    1px solid #c8d8cb !important;

  border-radius:
    18px !important;

  background:
    #fff !important;

  color:
    #173426 !important;

  box-shadow:
    0 3px 14px
    rgba(22,58,36,.035) !important;
}


.parent-goodness-page h1,
.parent-goodness-page h2,
.parent-goodness-page h3,
.parent-goodness-page h4,
.parent-goodness-page strong{
  color:
    #173426 !important;
}


.parent-goodness-page p,
.parent-goodness-page span,
.parent-goodness-page small,
.parent-goodness-page label{
  color:
    #40594b !important;

  opacity:
    1 !important;
}


/* ========================================================
   КАРТОЧКА РЕБЁНКА
   ======================================================== */

.parent-goodness-page
[class*="child"],
.parent-goodness-page
[class*="participant"]{
  border-color:
    #c6d7ca !important;

  background:
    #fff !important;
}


.parent-goodness-page
[class*="child"] img,
.parent-goodness-page
[class*="participant"] img{
  border:
    1px solid #c4d8c9;

  border-radius:
    15px;

  background:
    #e8f5eb;
}


/* ========================================================
   ПОДСКАЗКИ 1 / 3 / 5
   ======================================================== */

.parent-goodness-page
[class*="scale"],
.parent-goodness-page
[class*="legend"]{
  gap:
    10px !important;
}


.parent-goodness-page
[class*="scale"] > *,
.parent-goodness-page
[class*="legend"] > *{
  border:
    1px solid #dbe5dd !important;

  border-radius:
    12px !important;

  background:
    #f3f7f3 !important;

  color:
    #40594b !important;
}


.parent-goodness-page
[class*="scale"] strong,
.parent-goodness-page
[class*="legend"] strong{
  color:
    #207a46 !important;
}


/* ========================================================
   ФОРМЫ
   ======================================================== */

.parent-goodness-page input:not([type="checkbox"]):not([type="radio"]),
.parent-goodness-page select,
.parent-goodness-page textarea{
  width:
    100% !important;

  min-height:
    46px !important;

  padding:
    10px 13px !important;

  border:
    1px solid #9fb4a4 !important;

  border-radius:
    11px !important;

  background:
    #fff !important;

  color:
    #173426 !important;

  font:
    inherit !important;

  outline:
    none !important;
}


.parent-goodness-page textarea{
  min-height:
    110px !important;

  resize:
    vertical;
}


.parent-goodness-page input:focus,
.parent-goodness-page select:focus,
.parent-goodness-page textarea:focus{
  border-color:
    #207a46 !important;

  box-shadow:
    0 0 0 3px
    rgba(32,122,70,.12) !important;
}


.parent-goodness-page label{
  font-weight:
    750 !important;
}


/* ========================================================
   БЛОКИ ВОПРОСОВ
   ======================================================== */

.parent-goodness-page
[class*="question"],
.parent-goodness-page
[class*="indicator"],
.parent-goodness-page
[class*="survey-item"]{
  margin-top:
    12px;

  padding:
    16px;

  border:
    1px solid #d2dfd5 !important;

  border-radius:
    14px !important;

  background:
    #fff !important;
}


.parent-goodness-page
[class*="question"] h3,
.parent-goodness-page
[class*="indicator"] h3,
.parent-goodness-page
[class*="survey-item"] h3{
  margin:
    0 0 5px;

  color:
    #173426 !important;
}


/* ========================================================
   ОЦЕНКИ 1–5
   ======================================================== */

.parent-goodness-page
[class*="rating"],
.parent-goodness-page
[class*="score"],
.parent-goodness-page
[class*="answers"]{
  display:
    grid;

  grid-template-columns:
    repeat(5,minmax(0,1fr));

  gap:
    8px !important;
}


.parent-goodness-page
[class*="rating"] button,
.parent-goodness-page
[class*="score"] button,
.parent-goodness-page
[class*="answers"] button{
  min-height:
    46px !important;

  border:
    1px solid #b7cbbc !important;

  border-radius:
    11px !important;

  background:
    #fff !important;

  color:
    #40594b !important;

  font-size:
    16px;

  font-weight:
    800;
}


.parent-goodness-page
[class*="rating"] button:hover,
.parent-goodness-page
[class*="score"] button:hover,
.parent-goodness-page
[class*="answers"] button:hover{
  border-color:
    #207a46 !important;

  background:
    #eef7f0 !important;
}


.parent-goodness-page
button.active,
.parent-goodness-page
button.selected,
.parent-goodness-page
button[aria-pressed="true"],
.parent-goodness-page
input[type="radio"]:checked + label{
  border-color:
    #207a46 !important;

  background:
    #207a46 !important;

  color:
    #fff !important;
}


.parent-goodness-page
button.active *,
.parent-goodness-page
button.selected *,
.parent-goodness-page
button[aria-pressed="true"] *{
  color:
    #fff !important;
}


/* ========================================================
   ОБЫЧНЫЕ КНОПКИ
   ======================================================== */

.parent-goodness-page button{
  min-height:
    44px;

  border-radius:
    11px;

  font:
    inherit;

  font-weight:
    800;

  cursor:
    pointer;
}


.parent-goodness-page button[type="submit"],
.parent-goodness-page .parent-primary,
.parent-goodness-page [class*="submit"]{
  border:
    1px solid #207a46 !important;

  background:
    #207a46 !important;

  color:
    #fff !important;
}


.parent-goodness-page button[type="submit"]:hover,
.parent-goodness-page .parent-primary:hover{
  background:
    #175e35 !important;

  border-color:
    #175e35 !important;
}


/* ========================================================
   СТАРЫЕ АНКЕТЫ / ИСТОРИЯ
   ======================================================== */

.parent-goodness-page
[class*="history"] article,
.parent-goodness-page
[class*="survey-list"] article{
  padding:
    14px 16px;

  border:
    1px solid #d2dfd5 !important;

  border-radius:
    13px !important;

  background:
    #f8faf8 !important;
}


/* ========================================================
   MOBILE
   ======================================================== */

@media(max-width:700px){

  .parent-goodness-page{
    width:
      calc(100% - 14px) !important;

    margin-top:
      8px !important;
  }


  .parent-goodness-page > header,
  .parent-goodness-page [class*="goodness-hero"],
  .parent-goodness-page [class*="goodness-header"]{
    padding:
      18px !important;

    border-radius:
      17px !important;
  }


  .parent-goodness-page > section,
  .parent-goodness-page > article{
    padding:
      16px !important;

    border-radius:
      15px !important;
  }


  .parent-goodness-page
  [class*="rating"],
  .parent-goodness-page
  [class*="score"],
  .parent-goodness-page
  [class*="answers"]{
    grid-template-columns:
      repeat(5,minmax(44px,1fr));

    overflow-x:
      auto;
  }

}


/* PARENT_GOODNESS_UNIFIED_END */


/* PARENT_RECIPE_VIEW_START */


.parent-recipe-link{
  display:inline-flex;
  align-items:center;
  gap:6px;

  margin-top:5px;

  color:#207a46 !important;

  font-weight:850;

  text-decoration:none;

  border-bottom:
    1px dashed #77aa86;
}


.parent-recipe-link:hover{
  color:#175e35 !important;
  border-bottom-style:solid;
}


.parent-recipe-page{
  width:min(
    900px,
    calc(100% - 28px)
  );

  margin:
    18px auto 70px;

  color:#173426;
}


.parent-recipe-back,
.parent-recipe-bottom-back{
  display:inline-flex;

  margin-bottom:13px;

  color:#267247 !important;

  font-weight:800;

  text-decoration:none;
}


.parent-recipe-hero{
  display:grid;

  grid-template-columns:
    minmax(0,1fr) auto;

  gap:24px;

  align-items:center;

  padding:25px;

  border:
    1px solid #bed0c2;

  border-radius:22px;

  background:
    linear-gradient(
      135deg,
      #eaf6ed 0%,
      #fff8e8 100%
    );

  box-shadow:
    0 5px 18px
    rgba(22,58,36,.045);
}


.parent-recipe-hero small{
  color:#61776a !important;

  font-weight:900;

  letter-spacing:.07em;
}


.parent-recipe-hero h1{
  margin:
    7px 0 8px;

  color:#173426 !important;

  font-size:
    clamp(
      28px,
      5vw,
      43px
    );
}


.parent-recipe-hero p{
  color:#40594b !important;

  line-height:1.55;
}


.parent-recipe-hero img{
  width:220px;
  height:180px;

  object-fit:cover;

  border-radius:17px;

  border:
    1px solid #bfd1c3;
}


.parent-recipe-meta{
  display:flex;

  flex-wrap:wrap;

  gap:7px;

  margin-top:15px;
}


.parent-recipe-meta span{
  padding:
    7px 10px;

  border:
    1px solid #c9d8cc;

  border-radius:
    999px;

  background:
    rgba(255,255,255,.8);

  color:#34533f !important;

  font-weight:750;

  font-size:13px;
}


.parent-recipe-lesson{
  display:flex;

  flex-wrap:wrap;

  align-items:center;

  gap:9px;

  margin-top:13px;

  padding:
    13px 16px;

  border:
    1px solid #d0ddd2;

  border-radius:13px;

  background:#fff;
}


.parent-recipe-lesson small{
  color:#738278 !important;

  font-weight:850;
}


.parent-recipe-lesson strong{
  color:#173426 !important;
}


.parent-recipe-lesson span{
  color:#53695b !important;
}


.parent-recipe-card{
  margin-top:14px;

  padding:21px;

  border:
    1px solid #c8d8cb;

  border-radius:18px;

  background:#fff;

  box-shadow:
    0 3px 14px
    rgba(22,58,36,.035);
}


.parent-recipe-card h2{
  margin:
    0 0 17px;

  color:#173426 !important;
}


.parent-recipe-ingredients{
  display:grid;

  grid-template-columns:
    repeat(
      2,
      minmax(0,1fr)
    );

  gap:8px 20px;

  margin:0;

  padding-left:21px;
}


.parent-recipe-ingredients li{
  padding:
    5px 0;

  color:#40594b;
}


.parent-recipe-steps{
  display:grid;

  gap:12px;

  padding:0;

  margin:0;

  list-style:none;
}


.parent-recipe-steps li{
  display:grid;

  grid-template-columns:
    36px 1fr;

  gap:12px;

  align-items:start;
}


.parent-recipe-steps li>span{
  display:grid;

  place-items:center;

  width:36px;
  height:36px;

  border-radius:50%;

  background:#207a46;

  color:#fff !important;

  font-weight:900;
}


.parent-recipe-steps p{
  margin:
    5px 0 0;

  color:#40594b !important;

  line-height:1.6;

  white-space:pre-line;
}


.parent-recipe-allergens{
  margin-top:14px;

  padding:16px 18px;

  border:
    1px solid #e1c99d;

  border-radius:14px;

  background:#fff8e8;
}


.parent-recipe-allergens strong{
  color:#73551b !important;
}


.parent-recipe-allergens p{
  margin:
    5px 0 0;

  color:#6d5b38 !important;
}


.parent-recipe-age{
  margin-top:12px;

  padding:13px 16px;

  border:
    1px solid #d2dfd5;

  border-radius:12px;

  background:#f4f8f4;

  color:#40594b;
}


.parent-recipe-pdf{
  display:inline-flex;

  margin-top:14px;

  padding:
    11px 16px;

  border:
    1px solid #207a46;

  border-radius:11px;

  background:#207a46;

  color:#fff !important;

  font-weight:850;

  text-decoration:none;
}


.parent-recipe-bottom-back{
  display:flex;

  width:max-content;

  margin-top:24px;
}


.parent-recipe-loading,
.parent-recipe-error{
  margin-top:30px;

  padding:20px;

  border:
    1px solid #c8d8cb;

  border-radius:15px;

  background:#fff;
}


.parent-recipe-error{
  color:#9a4439;
}


@media(max-width:700px){

  .parent-recipe-page{
    width:
      calc(100% - 14px);

    margin-top:8px;
  }


  .parent-recipe-hero{
    grid-template-columns:1fr;

    padding:18px;

    border-radius:17px;
  }


  .parent-recipe-hero img{
    width:100%;
    height:auto;

    max-height:260px;
  }


  .parent-recipe-ingredients{
    grid-template-columns:1fr;
  }

}


/* PARENT_RECIPE_VIEW_END */


/* PARENT_RECIPE_CLICK_V3_START */


/* Ссылка на рецепт непосредственно в карточке занятия */

.parent-recipe-link{
  display:inline-flex !important;

  align-items:center !important;

  justify-content:center;

  gap:6px !important;

  width:max-content;

  max-width:100%;

  margin-top:7px !important;

  padding:
    8px 11px !important;

  border:
    1px solid #9fc8aa !important;

  border-radius:
    10px !important;

  background:
    #edf7ef !important;

  color:
    #17683a !important;

  font-weight:
    850 !important;

  text-decoration:
    none !important;

  cursor:
    pointer !important;
}


.parent-recipe-link:hover{
  border-color:
    #207a46 !important;

  background:
    #dff0e3 !important;

  color:
    #145a32 !important;
}


/* Полная карточка рецепта */

.parent-recipe-page{
  width:min(
    900px,
    calc(100% - 28px)
  );

  margin:
    18px auto 70px;

  color:#173426;
}


.parent-recipe-back{
  display:inline-flex;

  margin-bottom:14px;

  color:#207a46 !important;

  font-weight:850;

  text-decoration:none;
}


.parent-recipe-hero{
  display:grid;

  grid-template-columns:
    minmax(0,1fr)
    auto;

  gap:22px;

  align-items:center;

  padding:24px;

  border:
    1px solid #bed0c2;

  border-radius:20px;

  background:
    linear-gradient(
      135deg,
      #eaf6ed,
      #fff8e8
    );

  box-shadow:
    0 4px 16px
    rgba(22,58,36,.045);
}


.parent-recipe-hero small{
  color:#61776a !important;

  font-weight:850;
}


.parent-recipe-hero h1{
  margin:
    7px 0 8px;

  color:#173426 !important;
}


.parent-recipe-hero p{
  color:#40594b !important;

  line-height:1.55;
}


.parent-recipe-hero img{
  width:220px;
  height:175px;

  object-fit:cover;

  border:
    1px solid #bfd0c2;

  border-radius:15px;
}


.parent-recipe-meta{
  display:flex;

  flex-wrap:wrap;

  gap:7px;

  margin-top:13px;
}


.parent-recipe-meta span{
  padding:
    6px 10px;

  border:
    1px solid #ccd9ce;

  border-radius:
    999px;

  background:#fff;

  color:#40594b !important;

  font-size:13px;

  font-weight:750;
}


.parent-recipe-lesson{
  display:flex;

  flex-wrap:wrap;

  gap:8px 14px;

  margin-top:13px;

  padding:14px 17px;

  border:
    1px solid #cad9cd;

  border-radius:13px;

  background:#fff;
}


.parent-recipe-lesson strong{
  color:#173426 !important;
}


.parent-recipe-lesson span{
  color:#53695b !important;
}


.parent-recipe-card{
  margin-top:13px;

  padding:20px;

  border:
    1px solid #cad9cd;

  border-radius:16px;

  background:#fff;

  box-shadow:
    0 3px 13px
    rgba(22,58,36,.03);
}


.parent-recipe-card h2{
  margin:
    0 0 14px;

  color:#173426 !important;
}


.parent-recipe-card ul{
  margin-bottom:0;
}


.parent-recipe-card li{
  margin:
    7px 0;

  color:#40594b !important;

  line-height:1.55;
}


.parent-recipe-steps{
  display:grid;

  gap:11px;

  margin:0;

  padding:0;

  list-style:none;
}


.parent-recipe-steps li{
  display:grid;

  grid-template-columns:
    34px minmax(0,1fr);

  gap:11px;

  align-items:start;

  margin:0;
}


.parent-recipe-steps b{
  display:grid;

  place-items:center;

  width:34px;
  height:34px;

  border-radius:50%;

  background:#207a46;

  color:#fff !important;
}


.parent-recipe-steps span{
  padding-top:5px;

  color:#40594b !important;

  line-height:1.55;

  white-space:pre-line;
}


.parent-recipe-allergens{
  margin-top:13px;

  padding:16px 18px;

  border:
    1px solid #e1c99d;

  border-radius:14px;

  background:#fff8e8;
}


.parent-recipe-allergens strong{
  color:#72551c !important;
}


.parent-recipe-allergens p{
  margin:
    5px 0 0;

  color:#6b5937 !important;
}


.parent-recipe-pdf{
  display:inline-flex;

  margin-top:13px;

  padding:
    10px 14px;

  border:
    1px solid #207a46;

  border-radius:10px;

  background:#207a46;

  color:#fff !important;

  font-weight:850;

  text-decoration:none;
}


.parent-recipe-loading,
.parent-recipe-error{
  padding:20px;

  border:
    1px solid #cad9cd;

  border-radius:15px;

  background:#fff;
}


.parent-recipe-error{
  color:#99483d !important;
}


@media(max-width:700px){

  .parent-recipe-page{
    width:
      calc(100% - 14px);

    margin-top:8px;
  }


  .parent-recipe-hero{
    grid-template-columns:1fr;

    padding:17px;

    border-radius:17px;
  }


  .parent-recipe-hero img{
    width:100%;

    height:auto;

    max-height:280px;
  }


  .parent-recipe-link{
    width:100%;

    justify-content:center;
  }

}


/* PARENT_RECIPE_CLICK_V3_END */


/* PARENT_RECIPE_BOOK_FINAL */


.parent-recipe-book-link{
  color:
    #17683a !important;

  font-weight:
    900 !important;

  text-decoration:
    none !important;

  cursor:pointer;
}


.parent-recipe-book-link:hover{
  text-decoration:
    underline !important;
}


.parent-recipe-open{
  display:inline-flex !important;

  align-items:center;

  justify-content:center;

  margin-top:9px !important;

  padding:
    8px 12px !important;

  border:
    1px solid #9fc8aa !important;

  border-radius:
    9px !important;

  background:
    #edf7ef !important;

  color:
    #17683a !important;

  font-weight:
    850 !important;

  text-decoration:
    none !important;

  cursor:pointer;
}


.parent-recipe-open:hover{
  border-color:
    #207a46 !important;

  background:
    #dff0e3 !important;
}


/* END PARENT_RECIPE_BOOK_FINAL */


/* PARENT_RECIPE_STEPS_LAYOUT_FIX_START */


/*
 * Рецепт в родительском кабинете.
 *
 * ВАЖНО:
 * зелёный круг применяется ТОЛЬКО к номеру <b>.
 * Текст <span> всегда обычный и занимает
 * всю оставшуюся ширину строки.
 */

.parent-recipe-steps{
  display:grid !important;
  grid-template-columns:1fr !important;

  gap:12px !important;

  width:100% !important;

  margin:0 !important;
  padding:0 !important;

  list-style:none !important;
}


/* Один шаг рецепта */

.parent-recipe-steps > li{
  display:grid !important;

  grid-template-columns:
    40px minmax(0,1fr) !important;

  column-gap:13px !important;
  row-gap:0 !important;

  align-items:start !important;

  width:100% !important;
  min-width:0 !important;

  margin:0 !important;
  padding:0 !important;

  border:0 !important;
  border-radius:0 !important;

  background:transparent !important;

  box-shadow:none !important;
}


/* ТОЛЬКО НОМЕР ШАГА */

.parent-recipe-steps > li > b{
  display:grid !important;

  place-items:center !important;

  width:40px !important;
  height:40px !important;

  min-width:40px !important;
  min-height:40px !important;

  max-width:40px !important;
  max-height:40px !important;

  aspect-ratio:1 / 1 !important;

  margin:0 !important;
  padding:0 !important;

  border:0 !important;

  border-radius:50% !important;

  background:#207a46 !important;

  color:#fff !important;

  font-size:16px !important;
  font-weight:850 !important;
  line-height:1 !important;

  text-align:center !important;

  overflow:hidden !important;

  box-shadow:none !important;
}


/* ТЕКСТ ШАГА — НИКАКИХ КРУГОВ */

.parent-recipe-steps > li > span{
  display:block !important;

  width:auto !important;
  height:auto !important;

  min-width:0 !important;
  min-height:0 !important;

  max-width:none !important;
  max-height:none !important;

  aspect-ratio:auto !important;

  margin:0 !important;

  padding:
    6px 0 0 0 !important;

  border:0 !important;

  border-radius:0 !important;

  background:
    transparent !important;

  color:
    #40594b !important;

  font-size:16px !important;
  font-weight:500 !important;

  line-height:1.55 !important;

  text-align:left !important;

  white-space:pre-line !important;

  word-break:normal !important;

  overflow-wrap:break-word !important;

  overflow:visible !important;

  text-overflow:clip !important;

  box-shadow:none !important;

  transform:none !important;
}


/*
 * Дополнительная защита от старого правила
 * .parent-recipe-steps li > span
 */

.parent-recipe-card
.parent-recipe-steps
> li
> span{
  display:block !important;

  width:auto !important;
  height:auto !important;

  min-width:0 !important;

  border-radius:0 !important;

  background:none !important;

  color:#40594b !important;
}


/* Мобильная версия */

@media(max-width:600px){

  .parent-recipe-steps{
    gap:11px !important;
  }


  .parent-recipe-steps > li{
    grid-template-columns:
      36px minmax(0,1fr) !important;

    column-gap:10px !important;
  }


  .parent-recipe-steps > li > b{
    width:36px !important;
    height:36px !important;

    min-width:36px !important;
    min-height:36px !important;

    max-width:36px !important;
    max-height:36px !important;

    font-size:15px !important;
  }


  .parent-recipe-steps > li > span{
    padding-top:5px !important;

    font-size:15px !important;

    line-height:1.5 !important;
  }
}


/* PARENT_RECIPE_STEPS_LAYOUT_FIX_END */
