/* =========================================================
   GILDONG SCHEDULE COMPOSE V1
   calendar date click -> schedule modal
========================================================= */

.gildong-schedule-compose[hidden],
.gildong-schedule-compose-notice[hidden]{
  display:none !important;
}


body.schedule-compose-open{
  overflow:hidden;
}


/* =========================================================
   MODAL
========================================================= */

.gildong-schedule-compose{
  position:fixed;
  inset:0;
  z-index:99990;

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

  padding:28px;

  background:
    rgba(31,28,23,.48);

  backdrop-filter:
    blur(4px);
}


.gildong-schedule-compose-dialog{
  position:relative;

  width:min(
    920px,
    100%
  );

  max-height:
    calc(100vh - 56px);

  overflow:auto;

  border:
    1px solid
    rgba(137,110,66,.24);

  border-radius:24px;

  background:
    #fffdf9;

  box-shadow:
    0 30px 90px
    rgba(29,23,16,.24);
}


.gildong-schedule-compose-head{
  position:sticky;
  top:0;
  z-index:4;

  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;

  padding:
    25px
    28px
    21px;

  border-bottom:
    1px solid
    rgba(126,105,72,.14);

  background:
    rgba(255,253,249,.96);

  backdrop-filter:
    blur(10px);
}


.gildong-schedule-compose-kicker{
  display:block;

  margin-bottom:6px;

  color:#a97725;

  font-size:11px;
  font-weight:900;
  letter-spacing:.16em;
}


.gildong-schedule-compose-head h2{
  margin:0;

  color:#264b48;

  font-size:
    clamp(22px,2.5vw,30px);

  line-height:1.2;
}


.gildong-schedule-compose-date-label{
  margin:
    7px
    0
    0;

  color:#7d7469;

  font-size:13px;
}


.gildong-schedule-compose-close{
  flex:0 0 auto;

  width:38px;
  height:38px;

  border:
    1px solid
    rgba(111,98,78,.17);

  border-radius:50%;

  background:#fff;

  color:#49433b;

  font-size:22px;
  line-height:1;

  cursor:pointer;
}


.gildong-schedule-compose-body{
  padding:
    25px
    28px
    29px;
}


/* =========================================================
   ROLE
========================================================= */

.gildong-schedule-compose-role{
  display:inline-flex;
  align-items:center;

  min-height:28px;

  margin-bottom:20px;

  padding:
    0
    11px;

  border-radius:999px;

  background:#f1ece3;

  color:#675d50;

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


/* =========================================================
   FORM
========================================================= */

.gildong-schedule-compose-section{
  margin-bottom:24px;
}


.gildong-schedule-compose-title{
  display:block;

  margin-bottom:9px;

  color:#34312c;

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


.gildong-schedule-compose-types{
  display:grid;
  grid-template-columns:
    repeat(3,minmax(0,1fr));

  gap:9px;
}


.gildong-schedule-compose-type{
  min-height:70px;

  padding:
    13px
    14px;

  border:
    1px solid
    rgba(113,99,77,.18);

  border-radius:15px;

  background:#fff;

  text-align:left;

  cursor:pointer;
}


.gildong-schedule-compose-type strong,
.gildong-schedule-compose-type small{
  display:block;
}


.gildong-schedule-compose-type strong{
  color:#34312c;

  font-size:14px;
}


.gildong-schedule-compose-type small{
  margin-top:4px;

  color:#8a8175;

  font-size:11px;
}


.gildong-schedule-compose-type.is-active{
  border-color:
    rgba(208,143,35,.72);

  background:
    #fff7e8;

  box-shadow:
    inset 0 0 0 1px
    rgba(222,153,39,.08);
}


/* =========================================================
   MEMBERS
========================================================= */

.gildong-schedule-compose-member-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;

  margin-bottom:10px;
}


.gildong-schedule-compose-member-help{
  margin:
    3px
    0
    0;

  color:#8a8175;

  font-size:11px;
}


.gildong-schedule-compose-member-count{
  flex:0 0 auto;

  padding:
    5px
    9px;

  border-radius:999px;

  background:#f4efe6;

  color:#716653;

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


.gildong-schedule-compose-members{
  display:grid;
  grid-template-columns:
    repeat(4,minmax(0,1fr));

  gap:8px;
}


.gildong-schedule-compose-member{
  display:flex;
  align-items:center;
  gap:9px;

  min-width:0;

  padding:
    9px
    10px;

  border:
    1px solid
    rgba(113,99,77,.17);

  border-radius:13px;

  background:#fff;

  text-align:left;

  cursor:pointer;
}


.gildong-schedule-compose-member.is-selected{
  border-color:#dfa32f;

  background:#fff7e8;
}


.gildong-schedule-compose-avatar{
  display:flex;
  align-items:center;
  justify-content:center;

  flex:0 0 34px;

  width:34px;
  height:34px;

  overflow:hidden;

  border-radius:50%;

  background:#eee8de;

  color:#63594c;

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


.gildong-schedule-compose-avatar img{
  width:100%;
  height:100%;

  object-fit:cover;
}


.gildong-schedule-compose-member-copy{
  min-width:0;
}


.gildong-schedule-compose-member-copy strong,
.gildong-schedule-compose-member-copy small{
  display:block;

  overflow:hidden;

  text-overflow:ellipsis;
  white-space:nowrap;
}


.gildong-schedule-compose-member-copy strong{
  color:#38342e;

  font-size:12px;
}


.gildong-schedule-compose-member-copy small{
  margin-top:2px;

  color:#91877a;

  font-size:10px;
}


.gildong-schedule-compose-member-check{
  margin-left:auto;

  color:#d79520;

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

  opacity:0;
}


.gildong-schedule-compose-member.is-selected
.gildong-schedule-compose-member-check{
  opacity:1;
}


.gildong-schedule-compose-loading{
  grid-column:1 / -1;

  padding:18px;

  border:
    1px dashed
    rgba(120,105,82,.2);

  border-radius:13px;

  color:#8c8377;

  text-align:center;

  font-size:12px;
}


/* =========================================================
   INPUTS
========================================================= */

.gildong-schedule-compose-grid{
  display:grid;
  grid-template-columns:
    repeat(2,minmax(0,1fr));

  gap:
    14px
    16px;
}


.gildong-schedule-compose-field{
  display:block;
}


.gildong-schedule-compose-field.is-wide{
  grid-column:1 / -1;
}


.gildong-schedule-compose-field > span{
  display:block;

  margin-bottom:6px;

  color:#5b544a;

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


.gildong-schedule-compose-field input,
.gildong-schedule-compose-field select,
.gildong-schedule-compose-field textarea{
  width:100%;

  box-sizing:border-box;

  border:
    1px solid
    rgba(116,99,75,.22);

  border-radius:10px;

  background:#fff;

  color:#302d28;

  font:inherit;

  outline:none;
}


.gildong-schedule-compose-field input,
.gildong-schedule-compose-field select{
  min-height:43px;

  padding:
    0
    12px;
}


.gildong-schedule-compose-field textarea{
  min-height:88px;

  padding:
    11px
    12px;

  resize:vertical;
}


.gildong-schedule-compose-field input:focus,
.gildong-schedule-compose-field select:focus,
.gildong-schedule-compose-field textarea:focus{
  border-color:
    rgba(198,132,27,.65);

  box-shadow:
    0 0 0 3px
    rgba(214,151,49,.09);
}


/* =========================================================
   ACTION
========================================================= */

.gildong-schedule-compose-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;

  margin-top:25px;

  padding-top:19px;

  border-top:
    1px solid
    rgba(116,100,77,.12);
}


.gildong-schedule-compose-actions button{
  min-height:42px;

  padding:
    0
    18px;

  border-radius:10px;

  font-weight:900;

  cursor:pointer;
}


.gildong-schedule-compose-cancel{
  border:
    1px solid
    rgba(107,94,74,.17);

  background:#fff;

  color:#635b50;
}


.gildong-schedule-compose-submit{
  border:0;

  background:#315f58;

  color:#fff;
}


.gildong-schedule-compose-result{
  margin-right:auto;

  color:#81786b;

  font-size:11px;
}


/* =========================================================
   ACCESS NOTICE
========================================================= */

.gildong-schedule-compose-notice{
  position:fixed;

  left:50%;
  bottom:30px;
  z-index:100000;

  max-width:
    min(520px,calc(100vw - 30px));

  transform:
    translateX(-50%);

  padding:
    13px
    17px;

  border:
    1px solid
    rgba(98,82,62,.15);

  border-radius:13px;

  background:#302d28;

  box-shadow:
    0 14px 42px
    rgba(0,0,0,.2);

  color:#fff;

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


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

@media (max-width:900px){

  .gildong-schedule-compose{
    align-items:flex-end;

    padding:0;
  }


  .gildong-schedule-compose-dialog{
    width:100%;

    max-height:92vh;

    border-radius:
      22px
      22px
      0
      0;
  }


  .gildong-schedule-compose-head{
    padding:
      19px
      18px
      16px;
  }


  .gildong-schedule-compose-body{
    padding:
      20px
      18px
      25px;
  }


  .gildong-schedule-compose-members{
    grid-template-columns:
      repeat(2,minmax(0,1fr));
  }

}


@media (max-width:560px){

  .gildong-schedule-compose-types{
    grid-template-columns:1fr;
  }


  .gildong-schedule-compose-type{
    min-height:58px;
  }


  .gildong-schedule-compose-grid{
    grid-template-columns:1fr;
  }


  .gildong-schedule-compose-field.is-wide{
    grid-column:auto;
  }

}


/* =========================================================
   SCHEDULE REGISTER BUTTON V2
========================================================= */

.gildong-schedule-register-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;

  min-height:36px;

  margin-left:auto;

  padding:
    0
    14px;

  border:
    1px solid
    rgba(49,95,88,.18);

  border-radius:10px;

  background:#315f58;

  color:#fff;

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

  white-space:nowrap;

  cursor:pointer;

  box-shadow:
    0 5px 14px
    rgba(49,95,88,.13);

  transition:
    background .15s ease,
    transform .15s ease,
    box-shadow .15s ease;
}


.gildong-schedule-register-button:hover{
  background:#284f49;

  transform:
    translateY(-1px);

  box-shadow:
    0 7px 18px
    rgba(49,95,88,.18);
}


.gildong-schedule-register-button span{
  font-size:16px;
  line-height:1;
}


.gildong-schedule-register-button +
.gildong-schedule-total{
  margin-left:8px;
}


@media (max-width:700px){

  .gildong-schedule-register-button{
    min-height:34px;

    padding:
      0
      10px;

    font-size:11px;
  }

}


/* =========================================================
   SCHEDULE COMPOSE COMPACT V3
========================================================= */

.gildong-schedule-compose{
  padding:22px;

  background:
    rgba(35,32,27,.42);

  backdrop-filter:
    blur(3px);
}


.gildong-schedule-compose-dialog{
  width:min(
    760px,
    calc(100vw - 44px)
  );

  max-height:82vh;

  border-radius:16px;

  background:#fffdf9;

  box-shadow:
    0 24px 64px
    rgba(25,21,16,.20);
}


/* HEADER */

.gildong-schedule-compose-head{
  padding:
    15px
    19px
    13px;

  gap:14px;
}


.gildong-schedule-compose-kicker{
  margin-bottom:3px;

  font-size:9px;
  letter-spacing:.15em;
}


.gildong-schedule-compose-head h2{
  font-size:23px;
}


.gildong-schedule-compose-date-label{
  margin-top:4px;

  font-size:11px;
}


.gildong-schedule-compose-close{
  width:33px;
  height:33px;

  font-size:19px;
}


/* BODY */

.gildong-schedule-compose-body{
  padding:
    16px
    19px
    18px;
}


.gildong-schedule-compose-role{
  min-height:23px;

  margin-bottom:13px;

  padding:
    0
    9px;

  font-size:10px;
}


/* SECTIONS */

.gildong-schedule-compose-section{
  margin-bottom:15px;
}


.gildong-schedule-compose-title{
  margin-bottom:6px;

  font-size:11px;
}


/* TYPES */

.gildong-schedule-compose-types{
  gap:6px;
}


.gildong-schedule-compose-type{
  min-height:51px;

  padding:
    8px
    10px;

  border-radius:10px;
}


.gildong-schedule-compose-type strong{
  font-size:12px;
}


.gildong-schedule-compose-type small{
  margin-top:2px;

  font-size:9px;
}


/* MEMBERS */

.gildong-schedule-compose-member-head{
  margin-bottom:6px;
}


.gildong-schedule-compose-member-help{
  margin-top:1px;

  font-size:9px;
}


.gildong-schedule-compose-member-count{
  padding:
    3px
    7px;

  font-size:9px;
}


.gildong-schedule-compose-members{
  grid-template-columns:
    repeat(4,minmax(0,1fr));

  gap:5px;
}


.gildong-schedule-compose-member{
  gap:6px;

  min-height:42px;

  padding:
    6px
    7px;

  border-radius:9px;
}


.gildong-schedule-compose-avatar{
  flex-basis:27px;

  width:27px;
  height:27px;

  font-size:10px;
}


.gildong-schedule-compose-member-copy strong{
  font-size:10px;
}


.gildong-schedule-compose-member-copy small{
  margin-top:1px;

  font-size:8px;
}


.gildong-schedule-compose-member-check{
  font-size:10px;
}


/* INPUT GRID */

.gildong-schedule-compose-grid{
  gap:
    9px
    11px;
}


.gildong-schedule-compose-field > span{
  margin-bottom:4px;

  font-size:9px;
}


.gildong-schedule-compose-field input,
.gildong-schedule-compose-field select{
  min-height:36px;

  padding:
    0
    10px;

  border-radius:8px;

  font-size:12px;
}


.gildong-schedule-compose-field textarea{
  min-height:62px;
  max-height:100px;

  padding:
    8px
    10px;

  border-radius:8px;

  font-size:12px;
}


/* ACTION */

.gildong-schedule-compose-actions{
  margin-top:14px;

  padding-top:12px;
}


.gildong-schedule-compose-actions button{
  min-height:35px;

  padding:
    0
    14px;

  border-radius:8px;

  font-size:11px;
}


.gildong-schedule-compose-result{
  font-size:9px;
}


/* TABLET */

@media (max-width:900px){

  .gildong-schedule-compose{
    align-items:center;

    padding:14px;
  }


  .gildong-schedule-compose-dialog{
    width:min(
      720px,
      calc(100vw - 28px)
    );

    max-height:
      calc(100vh - 28px);

    border-radius:15px;
  }


  .gildong-schedule-compose-head{
    padding:
      14px
      15px
      12px;
  }


  .gildong-schedule-compose-body{
    padding:
      14px
      15px
      16px;
  }

}


/* MOBILE */

@media (max-width:620px){

  .gildong-schedule-compose{
    align-items:flex-end;

    padding:0;
  }


  .gildong-schedule-compose-dialog{
    width:100%;

    max-height:92vh;

    border-radius:
      16px
      16px
      0
      0;
  }


  .gildong-schedule-compose-members{
    grid-template-columns:
      repeat(2,minmax(0,1fr));
  }


  .gildong-schedule-compose-grid{
    grid-template-columns:
      repeat(2,minmax(0,1fr));
  }


  .gildong-schedule-compose-field.is-wide{
    grid-column:
      1 / -1;
  }


  .gildong-schedule-compose-type small{
    display:none;
  }

}
