/* =========================================================
   GILDONGSEKKI SCHEDULE PAGE V1
   - schedule page only
   - shared header / mobile menu untouched
========================================================= */

.gildong-schedule-page{
  --schedule-bg:#f5f2eb;
  --schedule-panel:#ffffff;
  --schedule-ink:#20201e;
  --schedule-muted:#77746d;
  --schedule-line:rgba(34,32,28,.10);

  --schedule-crew:#b78b45;
  --schedule-unit:#8b6eb1;
  --schedule-personal:#5f879a;

  min-height:100vh;
  color:var(--schedule-ink);
  background:
    radial-gradient(
      circle at 12% 0%,
      rgba(192,161,107,.13),
      transparent 28rem
    ),
    linear-gradient(
      180deg,
      #faf8f3 0%,
      var(--schedule-bg) 100%
    );
}


/* =========================================================
   HERO
========================================================= */

.gildong-schedule-hero{
  padding:
    clamp(54px,7vw,96px)
    24px
    clamp(36px,5vw,62px);
}

.gildong-schedule-hero-inner{
  width:min(1180px,100%);
  margin:0 auto;
}

.gildong-schedule-eyebrow{
  display:block;
  margin-bottom:12px;

  font-size:12px;
  line-height:1;
  font-weight:800;
  letter-spacing:.22em;

  color:#9b7742;
}

.gildong-schedule-hero h1{
  margin:0;

  font-size:
    clamp(42px,6vw,78px);

  line-height:.96;
  letter-spacing:-.055em;
  font-weight:900;
}

.gildong-schedule-hero p{
  max-width:580px;
  margin:
    clamp(18px,2vw,24px)
    0
    0;

  font-size:
    clamp(15px,1.4vw,18px);

  line-height:1.75;
  color:var(--schedule-muted);
}


/* =========================================================
   BOARD
========================================================= */

.gildong-schedule-board{
  padding:
    0
    24px
    clamp(70px,9vw,120px);
}

.gildong-schedule-board-inner{
  width:min(1180px,100%);
  margin:0 auto;
}


/* =========================================================
   TOOLBAR
========================================================= */

.gildong-schedule-toolbar{
  display:grid;
  grid-template-columns:54px 1fr 54px;
  align-items:center;
  gap:18px;

  margin-bottom:22px;
}

.gildong-schedule-current-month{
  text-align:center;
}

.gildong-schedule-current-month small{
  display:block;

  margin-bottom:5px;

  font-size:10px;
  font-weight:800;
  letter-spacing:.18em;

  color:#a29c91;
}

.gildong-schedule-current-month strong{
  display:block;

  font-size:
    clamp(24px,3vw,34px);

  letter-spacing:-.04em;
}

.gildong-schedule-month-button{
  width:54px;
  height:54px;

  border:1px solid var(--schedule-line);
  border-radius:50%;

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

  color:var(--schedule-ink);

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

  cursor:pointer;

  box-shadow:
    0 8px 24px
    rgba(38,34,27,.05);

  transition:
    transform .18s ease,
    border-color .18s ease,
    box-shadow .18s ease,
    background .18s ease;
}

.gildong-schedule-month-button:hover{
  transform:translateY(-2px);

  border-color:
    rgba(155,119,66,.42);

  background:#fff;

  box-shadow:
    0 12px 28px
    rgba(38,34,27,.09);
}


/* =========================================================
   LEGEND
========================================================= */

.gildong-schedule-legend{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;

  gap:9px 18px;

  margin:
    0
    2px
    15px;
}

.gildong-schedule-legend span{
  display:inline-flex;
  align-items:center;
  gap:7px;

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

  color:#77736b;
}

.gildong-schedule-legend i{
  width:8px;
  height:8px;

  border-radius:50%;

  background:#aaa;
}

.gildong-schedule-legend
[data-schedule-legend="crew"] i{
  background:var(--schedule-crew);
}

.gildong-schedule-legend
[data-schedule-legend="unit"] i{
  background:var(--schedule-unit);
}

.gildong-schedule-legend
[data-schedule-legend="personal"] i{
  background:var(--schedule-personal);
}


/* =========================================================
   DESKTOP LAYOUT
========================================================= */

.gildong-schedule-layout{
  display:grid;
  grid-template-columns:
    minmax(0,1.65fr)
    minmax(310px,.75fr);

  gap:18px;
  align-items:start;
}

.gildong-schedule-calendar-panel,
.gildong-schedule-detail-panel{
  border:
    1px solid
    var(--schedule-line);

  border-radius:24px;

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

  box-shadow:
    0 20px 55px
    rgba(48,42,31,.07);

  backdrop-filter:
    blur(12px);
}


/* =========================================================
   WEEKDAY
========================================================= */

.gildong-schedule-weekdays{
  display:grid;
  grid-template-columns:repeat(7,1fr);

  padding:
    19px
    14px
    13px;

  border-bottom:
    1px solid
    var(--schedule-line);
}

.gildong-schedule-weekdays span{
  text-align:center;

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

  color:#979188;
}

.gildong-schedule-weekdays span:first-child{
  color:#b96e6b;
}

.gildong-schedule-weekdays span:last-child{
  color:#65849e;
}


/* =========================================================
   CALENDAR
========================================================= */

.gildong-schedule-calendar{
  display:grid;
  grid-template-columns:repeat(7,1fr);

  padding:10px;
}

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

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

  min-height:420px;

  color:#99948b;
  font-size:14px;
}


/* day cell generated by JS */

.gildong-schedule-day{
  position:relative;

  min-width:0;
  min-height:122px;

  padding:10px;

  border:0;
  border-radius:17px;

  background:transparent;

  color:inherit;

  text-align:left;

  cursor:pointer;

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

.gildong-schedule-day:hover{
  z-index:2;

  background:
    rgba(245,241,232,.78);
}

.gildong-schedule-day.is-selected{
  background:#fff;

  box-shadow:
    inset 0 0 0 2px
    rgba(155,119,66,.62),
    0 8px 26px
    rgba(60,48,28,.08);
}

.gildong-schedule-day.is-today
.gildong-schedule-day-number{
  background:#282722;
  color:#fff;
}

.gildong-schedule-day.is-outside{
  opacity:.33;
}

.gildong-schedule-day-number{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  width:28px;
  height:28px;

  border-radius:50%;

  font-size:13px;
  line-height:1;
  font-weight:800;
}


/* =========================================================
   CALENDAR EVENTS
========================================================= */

.gildong-schedule-day-events{
  display:flex;
  flex-direction:column;

  gap:5px;

  margin-top:7px;
}

.gildong-schedule-event-chip{
  display:block;

  min-width:0;

  padding:
    6px
    7px;

  border-radius:8px;

  overflow:hidden;

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

  font-size:10px;
  line-height:1.2;
  font-weight:800;

  border-left:
    3px solid
    var(--schedule-crew);

  background:
    rgba(183,139,69,.10);

  color:#72572e;
}

.gildong-schedule-event-chip[data-type="unit"]{
  border-left-color:
    var(--schedule-unit);

  background:
    rgba(139,110,177,.11);

  color:#68527f;
}

.gildong-schedule-event-chip[data-type="personal"]{
  border-left-color:
    var(--schedule-personal);

  background:
    rgba(95,135,154,.12);

  color:#476978;
}

.gildong-schedule-more{
  display:block;

  padding-left:7px;

  font-size:10px;
  font-weight:800;

  color:#8d877d;
}


/* =========================================================
   DETAIL PANEL
========================================================= */

.gildong-schedule-detail-panel{
  position:sticky;
  top:108px;

  overflow:hidden;
}

.gildong-schedule-selected-head{
  padding:
    24px
    24px
    19px;

  border-bottom:
    1px solid
    var(--schedule-line);
}

.gildong-schedule-selected-head small{
  display:block;

  margin-bottom:6px;

  font-size:10px;
  font-weight:800;
  letter-spacing:.16em;

  color:#a29a8e;
}

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

  font-size:21px;
  line-height:1.25;

  letter-spacing:-.035em;
}

.gildong-schedule-detail-list{
  display:flex;
  flex-direction:column;

  gap:10px;

  padding:14px;
}

.gildong-schedule-empty{
  padding:
    42px
    18px;

  border-radius:16px;

  background:#f8f6f1;

  color:#99938a;

  text-align:center;

  font-size:13px;
  line-height:1.7;
}


/* =========================================================
   DETAIL CARD — generated by JS
========================================================= */

.gildong-schedule-card{
  position:relative;

  padding:18px;

  border:
    1px solid
    rgba(31,29,25,.08);

  border-radius:17px;

  background:#fff;
}

.gildong-schedule-card::before{
  content:"";

  position:absolute;
  left:0;
  top:17px;
  bottom:17px;

  width:3px;

  border-radius:0 3px 3px 0;

  background:
    var(--schedule-crew);
}

.gildong-schedule-card[data-type="unit"]::before{
  background:
    var(--schedule-unit);
}

.gildong-schedule-card[data-type="personal"]::before{
  background:
    var(--schedule-personal);
}

.gildong-schedule-card-top{
  display:flex;
  justify-content:space-between;
  align-items:center;

  gap:10px;

  margin-bottom:10px;
}

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

  min-height:24px;

  padding:
    0
    9px;

  border-radius:999px;

  background:
    rgba(183,139,69,.11);

  color:#795b2f;

  font-size:10px;
  font-weight:900;
  letter-spacing:.02em;
}

.gildong-schedule-card[data-type="unit"]
.gildong-schedule-type{
  background:
    rgba(139,110,177,.12);

  color:#684e83;
}

.gildong-schedule-card[data-type="personal"]
.gildong-schedule-type{
  background:
    rgba(95,135,154,.12);

  color:#446b7b;
}

.gildong-schedule-card-time{
  font-size:11px;
  font-weight:700;

  color:#918b82;
}

.gildong-schedule-card h3{
  margin:
    0
    0
    9px;

  font-size:17px;
  line-height:1.3;

  letter-spacing:-.03em;
}

.gildong-schedule-card-meta{
  display:flex;
  flex-direction:column;

  gap:4px;

  margin-top:8px;

  color:#777168;

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

.gildong-schedule-card-description{
  margin:
    12px
    0
    0;

  padding-top:12px;

  border-top:
    1px solid
    rgba(31,29,25,.07);

  font-size:12px;
  line-height:1.65;

  color:#706b63;
}


/* =========================================================
   MEMBER AVATARS — future member join
========================================================= */

.gildong-schedule-members{
  display:flex;
  align-items:center;
  flex-wrap:wrap;

  gap:7px;

  margin:
    12px
    0
    2px;
}

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

  gap:7px;

  min-width:0;
}

.gildong-schedule-member-avatar{
  width:30px;
  height:30px;

  flex:0 0 30px;

  border-radius:50%;

  overflow:hidden;

  background:#ece8df;

  border:
    2px solid
    #fff;

  box-shadow:
    0 2px 9px
    rgba(33,29,23,.12);
}

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

  display:block;

  object-fit:cover;
}

.gildong-schedule-member-name{
  max-width:90px;

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

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


/* =========================================================
   LINK
========================================================= */

.gildong-schedule-card-link{
  display:inline-flex;
  align-items:center;

  gap:5px;

  margin-top:13px;

  color:#66502f;

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

  text-decoration:none;
}

.gildong-schedule-card-link:hover{
  text-decoration:underline;
}


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

@media (max-width:900px){

  .gildong-schedule-hero{
    padding:
      42px
      18px
      30px;
  }

  .gildong-schedule-hero h1{
    font-size:
      clamp(40px,13vw,58px);
  }

  .gildong-schedule-hero p{
    max-width:420px;

    font-size:14px;
    line-height:1.65;
  }


  .gildong-schedule-board{
    padding:
      0
      12px
      70px;
  }


  .gildong-schedule-toolbar{
    grid-template-columns:
      44px
      1fr
      44px;

    gap:10px;

    margin-bottom:14px;
  }

  .gildong-schedule-month-button{
    width:44px;
    height:44px;

    font-size:18px;
  }

  .gildong-schedule-current-month strong{
    font-size:24px;
  }


  .gildong-schedule-legend{
    justify-content:center;

    margin-bottom:12px;

    gap:8px 13px;
  }

  .gildong-schedule-legend span{
    font-size:11px;
  }


  .gildong-schedule-layout{
    display:block;
  }

  .gildong-schedule-calendar-panel,
  .gildong-schedule-detail-panel{
    border-radius:19px;
  }


  .gildong-schedule-weekdays{
    padding:
      12px
      5px
      8px;
  }

  .gildong-schedule-weekdays span{
    font-size:10px;
  }


  .gildong-schedule-calendar{
    padding:5px;
  }

  .gildong-schedule-loading{
    min-height:320px;
  }


  .gildong-schedule-day{
    min-height:72px;

    padding:5px 3px;

    border-radius:12px;
  }

  .gildong-schedule-day-number{
    width:25px;
    height:25px;

    margin-left:2px;

    font-size:11px;
  }

  .gildong-schedule-day-events{
    align-items:flex-start;

    gap:3px;

    margin-top:4px;
    padding-left:3px;
  }

  .gildong-schedule-event-chip{
    width:7px;
    height:7px;

    padding:0;

    border:0;
    border-radius:50%;

    background:
      var(--schedule-crew);

    font-size:0;
  }

  .gildong-schedule-event-chip[data-type="unit"]{
    background:
      var(--schedule-unit);
  }

  .gildong-schedule-event-chip[data-type="personal"]{
    background:
      var(--schedule-personal);
  }

  .gildong-schedule-more{
    display:none;
  }


  .gildong-schedule-detail-panel{
    position:static;

    margin-top:12px;
  }

  .gildong-schedule-selected-head{
    padding:
      19px
      18px
      15px;
  }

  .gildong-schedule-selected-head h2{
    font-size:19px;
  }

  .gildong-schedule-detail-list{
    padding:10px;
  }

  .gildong-schedule-empty{
    padding:
      30px
      14px;
  }

}


/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width:420px){

  .gildong-schedule-day{
    min-height:65px;
  }

  .gildong-schedule-weekdays span{
    font-size:9px;
  }

  .gildong-schedule-card{
    padding:
      16px
      15px;
  }

  .gildong-schedule-card-top{
    align-items:flex-start;
    flex-direction:column;

    gap:6px;
  }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion:reduce){

  .gildong-schedule-month-button,
  .gildong-schedule-day{
    transition:none;
  }

}


/* =========================================================
   SCHEDULE VIEW TOGGLE / TIMELINE V1
========================================================= */

.gildong-schedule-viewbar{
  display:flex;
  align-items:center;
  justify-content:space-between;

  gap:18px;

  margin:
    0
    0
    18px;
}


/* =========================================================
   VIEW TOGGLE
========================================================= */

.gildong-schedule-view-toggle{
  display:inline-flex;
  align-items:center;

  gap:5px;

  padding:5px;

  border:
    1px solid
    rgba(155,119,66,.22);

  border-radius:999px;

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

  box-shadow:
    0 8px 24px
    rgba(50,43,30,.04);
}

.gildong-schedule-view-toggle button{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  gap:7px;

  min-height:38px;

  padding:
    0
    15px;

  border:0;
  border-radius:999px;

  background:transparent;

  color:#746e64;

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

  cursor:pointer;

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

.gildong-schedule-view-toggle button:hover{
  color:#3c3933;
}

.gildong-schedule-view-toggle button.is-active{
  background:
    linear-gradient(
      135deg,
      #f7c84b,
      #e9ad30
    );

  color:#231f18;

  box-shadow:
    0 7px 18px
    rgba(213,156,38,.22);
}

.gildong-schedule-view-toggle button span{
  font-size:15px;
  line-height:1;
}


/* =========================================================
   TOTAL
========================================================= */

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

  min-height:31px;

  padding:
    0
    11px;

  border:
    1px solid
    rgba(155,119,66,.18);

  border-radius:999px;

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

  color:#81786a;

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

.gildong-schedule-total strong{
  margin-left:3px;

  color:#4f473b;
}


/* =========================================================
   VIEW PANEL
========================================================= */

.gildong-schedule-view{
  display:none;
}

.gildong-schedule-view.is-active{
  display:block;
}

.gildong-schedule-view[hidden]{
  display:none !important;
}


/* =========================================================
   TIMELINE PANEL
========================================================= */

.gildong-schedule-timeline-panel{
  overflow:hidden;

  border:
    1px solid
    rgba(155,119,66,.20);

  border-radius:28px;

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

  box-shadow:
    0 20px 55px
    rgba(48,42,31,.07);

  backdrop-filter:
    blur(12px);
}

.gildong-schedule-timeline{
  padding:
    22px
    22px
    30px;
}


/* =========================================================
   TIMELINE SECTION
========================================================= */

.gildong-schedule-timeline-section{
  position:relative;

  padding:
    0
    0
    30px;
}

.gildong-schedule-timeline-section +
.gildong-schedule-timeline-section{
  margin-top:10px;

  padding-top:28px;

  border-top:
    1px solid
    rgba(155,119,66,.15);
}


/* =========================================================
   TIMELINE SECTION HEADER
========================================================= */

.gildong-schedule-timeline-section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;

  gap:14px;

  margin:
    0
    4px
    18px;
}

.gildong-schedule-timeline-section-head h2{
  margin:0;

  font-size:13px;
  line-height:1.3;

  font-weight:900;

  color:#514b42;
}

.gildong-schedule-timeline-section-head button{
  border:0;

  background:transparent;

  color:#8d6b2e;

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

  cursor:pointer;
}

.gildong-schedule-timeline-section-head button:hover{
  text-decoration:underline;
}


/* =========================================================
   DATE GROUP
========================================================= */

.gildong-schedule-timeline-group{
  position:relative;

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

  gap:0;

  margin-bottom:22px;
}

.gildong-schedule-timeline-group:last-child{
  margin-bottom:0;
}


/* =========================================================
   LEFT RAIL
========================================================= */

.gildong-schedule-timeline-rail{
  position:relative;

  min-height:100%;
}

.gildong-schedule-timeline-rail::before{
  content:"";

  position:absolute;

  left:27px;
  top:12px;
  bottom:-32px;

  width:1px;

  background:
    linear-gradient(
      180deg,
      rgba(171,142,87,.62),
      rgba(171,142,87,.16)
    );
}

.gildong-schedule-timeline-group:last-child
.gildong-schedule-timeline-rail::before{
  bottom:10px;
}


/* =========================================================
   DATE NODE
========================================================= */

.gildong-schedule-timeline-node{
  position:absolute;

  left:20px;
  top:3px;

  z-index:2;

  width:15px;
  height:15px;

  border:
    4px solid
    #ece3cf;

  border-radius:50%;

  background:#6f6b63;

  box-shadow:
    0 0 0 3px
    rgba(255,255,255,.92);
}


/* =========================================================
   GROUP CONTENT
========================================================= */

.gildong-schedule-timeline-content{
  min-width:0;
}


/* =========================================================
   DATE TITLE
========================================================= */

.gildong-schedule-timeline-date{
  display:flex;
  align-items:center;
  flex-wrap:wrap;

  gap:8px;

  min-height:26px;

  margin-bottom:10px;
}

.gildong-schedule-timeline-date strong{
  font-size:
    clamp(17px,2vw,21px);

  line-height:1.2;

  letter-spacing:-.035em;
}

.gildong-schedule-timeline-date small{
  color:#8f897f;

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

.gildong-schedule-timeline-day-label{
  display:inline-flex;
  align-items:center;

  min-height:21px;

  padding:
    0
    8px;

  border-radius:999px;

  background:#eee6d6;

  color:#655e52;

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


/* =========================================================
   EVENT ROW
========================================================= */

.gildong-schedule-timeline-event{
  position:relative;

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

  gap:10px;

  margin-bottom:10px;
}

.gildong-schedule-timeline-event:last-child{
  margin-bottom:0;
}


/* =========================================================
   EVENT TIME
========================================================= */

.gildong-schedule-timeline-time{
  position:relative;

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

  padding-top:22px;

  color:#82682d;

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

.gildong-schedule-timeline-time::before{
  content:"";

  position:absolute;

  top:9px;
  left:50%;

  width:10px;
  height:10px;

  transform:
    translateX(-50%);

  border-radius:50%;

  background:#efc044;

  box-shadow:
    0 0 0 3px
    rgba(255,255,255,.95);
}


/* =========================================================
   TIMELINE CARD
========================================================= */

.gildong-schedule-timeline-card{
  position:relative;

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

  gap:16px;

  align-items:center;

  min-height:92px;

  padding:
    17px
    20px;

  border:
    1px solid
    rgba(155,119,66,.17);

  border-radius:24px;

  background:
    linear-gradient(
      145deg,
      rgba(249,246,239,.98),
      rgba(244,240,231,.93)
    );

  box-shadow:
    inset 0 1px 0
    rgba(255,255,255,.72);

  transition:
    transform .18s ease,
    border-color .18s ease,
    box-shadow .18s ease;
}

.gildong-schedule-timeline-card:hover{
  transform:
    translateY(-1px);

  border-color:
    rgba(155,119,66,.28);

  box-shadow:
    0 10px 26px
    rgba(61,50,30,.06);
}


/* =========================================================
   CARD TYPE LINE
========================================================= */

.gildong-schedule-timeline-card::before{
  content:"";

  position:absolute;

  left:0;
  top:19px;
  bottom:19px;

  width:3px;

  border-radius:
    0
    3px
    3px
    0;

  background:
    var(--schedule-crew);
}

.gildong-schedule-timeline-card[data-type="unit"]::before{
  background:
    var(--schedule-unit);
}

.gildong-schedule-timeline-card[data-type="personal"]::before{
  background:
    var(--schedule-personal);
}


/* =========================================================
   CARD TEXT
========================================================= */

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

.gildong-schedule-timeline-title{
  display:flex;
  align-items:center;
  flex-wrap:wrap;

  gap:7px;

  margin-bottom:5px;
}

.gildong-schedule-timeline-title h3{
  min-width:0;

  margin:0;

  font-size:16px;
  line-height:1.35;

  letter-spacing:-.025em;
}

.gildong-schedule-timeline-badge{
  display:inline-flex;
  align-items:center;

  min-height:21px;

  padding:
    0
    7px;

  border-radius:999px;

  background:
    rgba(183,139,69,.11);

  color:#76582e;

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

.gildong-schedule-timeline-card[data-type="unit"]
.gildong-schedule-timeline-badge{
  background:
    rgba(139,110,177,.12);

  color:#67517e;
}

.gildong-schedule-timeline-card[data-type="personal"]
.gildong-schedule-timeline-badge{
  background:
    rgba(95,135,154,.13);

  color:#476c7c;
}

.gildong-schedule-timeline-meta{
  display:flex;
  align-items:center;
  flex-wrap:wrap;

  gap:3px 9px;

  color:#888177;

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

.gildong-schedule-timeline-description{
  margin:
    5px
    0
    0;

  overflow:hidden;

  color:#999187;

  font-size:11px;
  line-height:1.45;

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


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

.gildong-schedule-timeline-members{
  display:flex;
  align-items:center;

  min-width:44px;

  padding-left:12px;
}

.gildong-schedule-timeline-avatar{
  position:relative;

  width:32px;
  height:32px;

  margin-left:-8px;

  overflow:hidden;

  border:
    2px solid
    #fff;

  border-radius:50%;

  background:#e9e4da;

  box-shadow:
    0 3px 10px
    rgba(42,36,27,.12);
}

.gildong-schedule-timeline-avatar:first-child{
  margin-left:0;
}

.gildong-schedule-timeline-avatar img{
  display:block;

  width:100%;
  height:100%;

  object-fit:cover;
}

.gildong-schedule-timeline-member-more{
  display:flex;
  align-items:center;
  justify-content:center;

  width:32px;
  height:32px;

  margin-left:-7px;

  border:
    2px solid
    #fff;

  border-radius:50%;

  background:#ece5d8;

  color:#72695d;

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

  box-shadow:
    0 3px 10px
    rgba(42,36,27,.08);
}


/* =========================================================
   LINK ARROW
========================================================= */

.gildong-schedule-timeline-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  width:28px;
  height:28px;

  margin-left:4px;

  border-radius:50%;

  color:#a29a8d;

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

  text-decoration:none;
}

.gildong-schedule-timeline-link:hover{
  background:
    rgba(155,119,66,.08);

  color:#725b34;
}


/* =========================================================
   PAST STATE
========================================================= */

.gildong-schedule-timeline-section.is-past{
  opacity:.70;
}

.gildong-schedule-timeline-section.is-past
.gildong-schedule-timeline-card{
  background:
    rgba(247,244,237,.72);
}

.gildong-schedule-timeline-section.is-past
.gildong-schedule-timeline-time{
  color:#a79b7c;
}

.gildong-schedule-timeline-section.is-past
.gildong-schedule-timeline-time::before{
  background:#ddd1aa;
}


/* =========================================================
   EMPTY TIMELINE
========================================================= */

.gildong-schedule-timeline-empty{
  display:flex;
  align-items:center;
  justify-content:center;

  min-height:240px;

  padding:30px;

  color:#999187;

  font-size:13px;
  text-align:center;
}


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

@media (max-width:900px){

  .gildong-schedule-viewbar{
    margin-bottom:13px;
  }


  .gildong-schedule-view-toggle{
    padding:4px;
  }

  .gildong-schedule-view-toggle button{
    min-height:35px;

    padding:
      0
      12px;

    font-size:11px;
  }


  .gildong-schedule-timeline-panel{
    border-radius:20px;
  }

  .gildong-schedule-timeline{
    padding:
      17px
      10px
      24px;
  }


  .gildong-schedule-timeline-group{
    grid-template-columns:
      37px
      minmax(0,1fr);

    margin-bottom:20px;
  }


  .gildong-schedule-timeline-rail::before{
    left:16px;
  }

  .gildong-schedule-timeline-node{
    left:10px;

    width:13px;
    height:13px;

    border-width:3px;
  }


  .gildong-schedule-timeline-date{
    gap:6px;

    margin-bottom:8px;
  }

  .gildong-schedule-timeline-date strong{
    font-size:17px;
  }


  .gildong-schedule-timeline-event{
    grid-template-columns:
      45px
      minmax(0,1fr);

    gap:6px;
  }


  .gildong-schedule-timeline-time{
    justify-content:flex-start;

    padding:
      20px
      0
      0
      4px;

    font-size:10px;
  }

  .gildong-schedule-timeline-time::before{
    left:9px;

    transform:none;
  }


  .gildong-schedule-timeline-card{
    grid-template-columns:
      minmax(0,1fr)
      auto;

    gap:8px;

    min-height:82px;

    padding:
      14px
      13px
      14px
      16px;

    border-radius:18px;
  }


  .gildong-schedule-timeline-title h3{
    font-size:14px;
  }

  .gildong-schedule-timeline-meta{
    font-size:10px;
  }

  .gildong-schedule-timeline-description{
    font-size:10px;
  }


  .gildong-schedule-timeline-avatar{
    width:27px;
    height:27px;
  }

  .gildong-schedule-timeline-member-more{
    width:27px;
    height:27px;
  }

}


/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width:420px){

  .gildong-schedule-total{
    padding:
      0
      8px;

    font-size:10px;
  }


  .gildong-schedule-timeline{
    padding-left:7px;
    padding-right:7px;
  }


  .gildong-schedule-timeline-group{
    grid-template-columns:
      29px
      minmax(0,1fr);
  }

  .gildong-schedule-timeline-rail::before{
    left:12px;
  }

  .gildong-schedule-timeline-node{
    left:6px;
  }


  .gildong-schedule-timeline-event{
    grid-template-columns:
      39px
      minmax(0,1fr);
  }

  .gildong-schedule-timeline-time{
    padding-left:1px;

    font-size:9px;
  }

  .gildong-schedule-timeline-time::before{
    left:7px;
  }


  .gildong-schedule-timeline-card{
    padding:
      13px
      11px
      13px
      14px;
  }


  .gildong-schedule-timeline-members{
    padding-left:5px;
  }

}


/* =========================================================
   SCHEDULE TIMELINE POLISH V2
========================================================= */

/*
 * Author CSS의 display:grid가
 * HTML hidden 속성을 덮지 못하게 명시한다.
 */
.gildong-schedule-toolbar[hidden]{
  display:none !important;
}


/*
 * 일정이 없는 영역은 불필요하게 크게 만들지 않는다.
 */
.gildong-schedule-timeline-empty{
  min-height:84px;

  padding:
    20px
    18px;
}


/*
 * 지난 일정은 구분은 하되
 * 콘텐츠 자체가 너무 흐려지지 않게 한다.
 */
.gildong-schedule-timeline-section.is-past{
  opacity:1;
}

.gildong-schedule-timeline-section.is-past
.gildong-schedule-timeline-section-head{
  opacity:.78;
}

.gildong-schedule-timeline-section.is-past
.gildong-schedule-timeline-group{
  opacity:.86;
}

.gildong-schedule-timeline-section.is-past
.gildong-schedule-timeline-card{
  background:
    rgba(248,246,241,.88);
}


/*
 * 예정 일정이 없을 때 상단 section 자체의
 * 불필요한 하단 여백도 줄인다.
 */
.gildong-schedule-timeline-section{
  padding-bottom:20px;
}

.gildong-schedule-timeline-section +
.gildong-schedule-timeline-section{
  margin-top:4px;
  padding-top:24px;
}


/* mobile */
@media (max-width:900px){

  .gildong-schedule-timeline-empty{
    min-height:70px;

    padding:
      17px
      12px;
  }

}


/* =========================================================
   SCHEDULE PAGE VISUAL UNIFY V3
   - 기존 길동세끼 서브페이지 톤과 통일
========================================================= */

.gildong-schedule-page{
  --schedule-bg:#f7f4ed;
  --schedule-panel:#fff;
  --schedule-ink:#292722;
  --schedule-muted:#777168;
  --schedule-line:rgba(86,72,51,.12);

  min-height:auto;

  background:transparent;
}


/* HERO */

.gildong-schedule-hero{
  padding:
    36px
    24px
    25px;

  border-bottom:
    1px solid
    rgba(91,75,52,.08);
}


.gildong-schedule-hero-inner{
  width:min(1120px,100%);
}


.gildong-schedule-eyebrow{
  margin-bottom:8px;

  color:#9a773f;

  font-size:10px;
  font-weight:800;
  letter-spacing:.18em;
}


.gildong-schedule-hero h1{
  color:#294c48;

  font-size:
    clamp(34px,4vw,48px);

  line-height:1.05;
  letter-spacing:-.035em;
}


.gildong-schedule-hero p{
  max-width:560px;

  margin-top:11px;

  color:#786f63;

  font-size:14px;
  line-height:1.65;
}


/* BOARD */

.gildong-schedule-board{
  padding:
    25px
    24px
    72px;
}


.gildong-schedule-board-inner{
  width:min(1120px,100%);
}


/* MONTH */

.gildong-schedule-toolbar{
  grid-template-columns:
    42px
    1fr
    42px;

  gap:12px;

  margin-bottom:15px;
}


.gildong-schedule-month-button{
  width:42px;
  height:42px;

  border-radius:11px;

  background:#fff;

  font-size:18px;

  box-shadow:
    0 3px 10px
    rgba(39,33,25,.04);
}


.gildong-schedule-month-button:hover{
  transform:none;

  box-shadow:
    0 5px 14px
    rgba(39,33,25,.07);
}


.gildong-schedule-current-month small{
  margin-bottom:3px;

  font-size:9px;
}


.gildong-schedule-current-month strong{
  font-size:
    clamp(23px,2.5vw,29px);

  font-weight:800;
}


/* CALENDAR / DETAIL */

.gildong-schedule-layout{
  gap:14px;
}


.gildong-schedule-calendar-panel,
.gildong-schedule-detail-panel{
  border-color:
    rgba(86,72,51,.11);

  border-radius:15px;

  background:#fff;

  box-shadow:
    0 5px 18px
    rgba(48,40,29,.035);
}


/* LEGEND */

.gildong-schedule-legend{
  gap:8px 15px;

  margin-bottom:12px;
}


.gildong-schedule-legend span{
  font-size:11px;
}


/* REGISTER */

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

  padding:
    0
    12px;

  border-radius:8px;

  box-shadow:none;
}


.gildong-schedule-register-button:hover{
  transform:none;
  box-shadow:none;
}


/* MOBILE */

@media (max-width:900px){

  .gildong-schedule-hero{
    padding:
      27px
      18px
      21px;
  }


  .gildong-schedule-hero h1{
    font-size:
      clamp(31px,9vw,40px);
  }


  .gildong-schedule-hero p{
    font-size:13px;
  }


  .gildong-schedule-board{
    padding:
      20px
      14px
      55px;
  }


  .gildong-schedule-calendar-panel,
  .gildong-schedule-detail-panel{
    border-radius:13px;
  }

}


/* =========================================================
   SCHEDULE COMPACT DETAIL V2
========================================================= */


/* RIGHT DETAIL LIST */

.gildong-schedule-detail-panel{
  align-self:start;
  overflow:hidden;
}


.gildong-schedule-detail-list{
  max-height:360px;

  overflow-y:auto;
  overscroll-behavior:contain;
}


.gildong-schedule-card-compact{
  position:relative;

  display:block;

  width:100%;

  margin:
    0
    0
    8px;

  padding:
    13px
    38px
    13px
    14px;

  appearance:none;

  border:
    1px solid
    rgba(83,70,51,.11);

  border-radius:11px;

  background:#fff;

  color:inherit;
  font:inherit;
  text-align:left;

  cursor:pointer;

  box-shadow:none;
}


.gildong-schedule-card-compact:last-child{
  margin-bottom:0;
}


.gildong-schedule-card-compact:hover{
  border-color:
    rgba(157,120,61,.30);

  background:#fffcf6;
}


.gildong-schedule-card-compact-title{
  display:block;

  margin-bottom:9px;

  overflow:hidden;

  color:#2b2a26;

  font-size:14px;
  font-weight:900;
  line-height:1.35;

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


.gildong-schedule-card-compact
.gildong-schedule-members{
  margin:0;
}


.gildong-schedule-card-compact
.gildong-schedule-member{
  padding:0;
}


.gildong-schedule-card-compact
.gildong-schedule-member-avatar{
  flex-basis:28px;

  width:28px;
  height:28px;
}


.gildong-schedule-card-compact
.gildong-schedule-member-name{
  font-size:11px;
}


.gildong-schedule-card-chevron{
  position:absolute;

  top:50%;
  right:13px;

  transform:
    translateY(-50%);

  color:#b1a897;

  font-size:23px;
  font-weight:300;
}


/* DETAIL POPUP */

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


.gildong-schedule-info-modal[hidden]{
  display:none !important;
}


.gildong-schedule-info-modal{
  position:fixed;
  inset:0;
  z-index:99980;

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

  padding:22px;

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

  backdrop-filter:
    blur(3px);
}


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

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

  overflow:auto;

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

  border-radius:16px;

  background:#fffdf9;

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


.gildong-schedule-info-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;

  gap:16px;

  padding:
    18px
    20px
    15px;

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


.gildong-schedule-info-head small{
  display:block;

  margin-bottom:4px;

  color:#a97725;

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


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

  color:#294c48;

  font-size:23px;
  line-height:1.25;
}


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

  width:34px;
  height:34px;

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

  border-radius:50%;

  background:#fff;

  color:#49433b;

  font-size:20px;

  cursor:pointer;
}


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


.gildong-schedule-info-label{
  display:block;

  margin-bottom:8px;

  color:#817666;

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


.gildong-schedule-info-member-section{
  padding-bottom:15px;

  border-bottom:
    1px solid
    rgba(100,86,65,.10);
}


.gildong-schedule-info-modal
.gildong-schedule-members{
  margin:0;
}


.gildong-schedule-info-modal
.gildong-schedule-member-avatar{
  flex-basis:34px;

  width:34px;
  height:34px;
}


.gildong-schedule-info-modal
.gildong-schedule-member-name{
  font-size:12px;
}


.gildong-schedule-info-meta{
  margin:
    6px
    0
    0;
}


.gildong-schedule-info-meta > div{
  display:grid;

  grid-template-columns:
    92px
    1fr;

  gap:12px;

  padding:
    10px
    0;

  border-bottom:
    1px solid
    rgba(100,86,65,.08);
}


.gildong-schedule-info-meta dt{
  color:#908678;

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


.gildong-schedule-info-meta dd{
  margin:0;

  color:#38342e;

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


.gildong-schedule-info-description{
  margin-top:15px;
}


.gildong-schedule-info-description p{
  margin:0;

  color:#514b42;

  font-size:12px;
  line-height:1.7;

  white-space:pre-wrap;
}


.gildong-schedule-info-link{
  display:inline-flex;

  margin-top:15px;

  color:#8f6728;

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

  text-decoration:none;
}


.gildong-schedule-info-actions{
  display:flex;
  justify-content:flex-end;

  gap:8px;

  padding:
    12px
    20px
    16px;

  border-top:
    1px solid
    rgba(100,86,65,.10);
}


.gildong-schedule-info-actions button{
  min-width:72px;
  height:36px;

  border-radius:8px;

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

  cursor:pointer;
}


.gildong-schedule-info-cancel{
  border:
    1px solid
    rgba(100,86,65,.16);

  background:#fff;

  color:#5c554c;
}


.gildong-schedule-info-edit{
  border:0;

  background:#2f665f;

  color:#fff;
}


.gildong-schedule-info-edit:disabled{
  opacity:.42;

  cursor:not-allowed;
}


.gildong-schedule-info-empty{
  color:#948b7f;

  font-size:11px;
}


@media (max-width:620px){

  .gildong-schedule-detail-list{
    max-height:300px;
  }


  .gildong-schedule-info-modal{
    align-items:flex-end;

    padding:0;
  }


  .gildong-schedule-info-dialog{
    width:100%;
    max-height:88vh;

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


  .gildong-schedule-info-head{
    padding:
      16px
      16px
      13px;
  }


  .gildong-schedule-info-body{
    padding:16px;
  }


  .gildong-schedule-info-actions{
    padding:
      12px
      16px
      15px;
  }

}
