#schedule>.calendar-head,#schedule>.upcoming-reception-panel,#schedule>.calendar-toolbar,#schedule>.calendar-layout,#schedule>#crew-calendar-status{display:none!important}.schedule-board-layer-source{display:none!important}.schedule-board{display:block}.schedule-board-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.schedule-board-head h2{margin:5px 0;font:400 32px var(--serif)}.schedule-board-head p:last-child{margin:0;color:var(--muted);font-size:11px}.schedule-board-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.schedule-board-actions button,.board-agenda-add{border:0;background:var(--ink);color:#fff;padding:11px 14px;font-size:9px}.schedule-board-actions .snap{background:var(--wine)}.schedule-board-modes{position:sticky;z-index:6;top:82px;display:grid;grid-template-columns:repeat(3,1fr);width:min(420px,100%);margin:22px 0 12px;padding:4px;border:1px solid #d8cec7;border-radius:15px;background:#e9e3dd}.schedule-board-modes button{min-height:42px;border:0;border-radius:11px;background:transparent;color:#7c716a;font-size:10px;font-weight:750}.schedule-board-modes button.active{background:#fff;color:var(--wine);box-shadow:0 3px 12px #472d2714}.schedule-board-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-block:1px solid var(--line)}.schedule-board-toolbar>div{display:flex;align-items:center;gap:10px}.schedule-board-toolbar button{border:1px solid var(--line);background:#fff;padding:7px 10px}.schedule-board-toolbar a{color:var(--wine);font-size:8px}.schedule-board-toolbar [data-board-slot].active{background:var(--ink);color:#fff}.schedule-board-date-nav .board-month-jump-open{display:grid;min-width:132px;padding:6px 15px;border:0;background:transparent;text-align:center}.board-month-jump-open strong{font:600 13px var(--sans)}.board-month-jump-open small{margin-top:2px;color:var(--muted);font-size:7px}.schedule-board-date-nav .board-month-today{margin-left:2px;border-color:#cbbeb6;color:var(--wine);font-size:8px}.board-month-jump-dialog{width:min(390px,calc(100% - 32px));padding:0;border:0;border-radius:18px;background:#f8f5f1;color:var(--ink);box-shadow:0 24px 70px #241a1766}.board-month-jump-dialog::backdrop{background:#20191680;backdrop-filter:blur(3px)}.board-month-jump-dialog form{padding:22px}.board-month-jump-dialog header{display:flex;align-items:flex-start;justify-content:space-between}.board-month-jump-dialog h3{margin:4px 0 0;font:400 26px var(--serif)}.board-month-jump-close{width:34px;height:34px;border:1px solid var(--line);border-radius:50%;background:#fff;font-size:20px}.board-year-jump{display:grid;grid-template-columns:42px 1fr 42px;gap:8px;align-items:end;margin:22px 0 16px}.board-year-jump>button{height:42px;border:1px solid var(--line);background:#fff}.board-year-jump label{display:grid;gap:5px}.board-year-jump label span{color:var(--muted);font-size:8px}.board-year-jump input{width:100%;height:42px;padding:0 12px;border:1px solid var(--line);background:#fff;text-align:center;font-size:15px;font-weight:700}.board-month-options{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.board-month-options button{min-height:44px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font-size:10px}.board-month-options button.selected{border-color:var(--wine);background:var(--wine);color:#fff}.board-jump-today{width:100%;margin-top:16px;padding:12px;border:0;background:var(--ink);color:#fff;font-size:9px}.schedule-board-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;margin-top:14px}.schedule-board-weekdays,.schedule-board-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.schedule-board-weekdays span{padding:8px;text-align:center;color:var(--muted);font-size:8px}.board-day{display:flex;min-height:112px;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:8px;border:1px solid var(--line);background:#fff;text-align:left;overflow:hidden}.board-day.outside{opacity:.26}.board-day.blocked{cursor:not-allowed;background:#eeeae6;color:#a39993}.board-day.selected{box-shadow:inset 0 0 0 2px var(--wine)}.board-day-date{display:flex;min-height:22px;align-items:center;gap:4px}.board-day-date>b{display:inline-grid;flex:none;width:22px;height:22px;place-items:center}.board-day.today .board-day-date>b{border-radius:50%;background:var(--ink);color:#fff}.board-day-date small{display:block;min-width:0;margin:0;color:var(--wine);font-size:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.board-reception-chip{display:block;margin-top:4px;padding:4px 5px;background:var(--accent);color:#fff;font-size:7px;line-height:1.35;overflow-wrap:anywhere;white-space:normal}.board-day-date+.board-reception-chip{margin-top:7px}.board-availability{display:grid;grid-template-columns:1fr 1fr;gap:3px;margin-top:7px}.board-availability span{padding:4px 2px;background:#f0ece7;color:#655c57;font-size:6px;text-align:center}.board-snap-slots{display:flex;gap:5px;margin-top:8px}.board-snap-slots i{display:block;width:8px;height:8px;border:1px solid #8e7f77;border-radius:50%}.board-snap-slots i.booked{border-color:var(--accent);background:var(--accent)}.board-snap-grid{display:grid;gap:3px;margin-top:7px}.board-snap-grid span{padding:3px;background:#edf0ea;color:#355344;font-size:6px}.board-snap-grid span.booked{background:var(--accent);color:#fff}.board-snap-venues{display:grid;gap:4px;margin-top:7px}.board-snap-venue,.board-day-state{display:block;padding:4px 5px;font-size:7px;line-height:1.35;overflow-wrap:anywhere;white-space:normal}.board-snap-venue{background:var(--accent-soft);color:var(--ink)}.board-day-state{background:#4d4845;color:#fff}.board-conflict{display:block;margin-top:5px;color:#a13c2d;font-size:6px;font-weight:800}.schedule-board-agenda{min-height:380px;padding:18px;background:#f2ede7}.schedule-board-agenda h3{margin:5px 0 16px;font:400 22px var(--serif)}.board-agenda-section+.board-agenda-section{margin-top:20px;padding-top:18px;border-top:1px solid #d6cbc4}.board-agenda-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}.board-agenda-title strong{font-size:11px}.board-agenda-card{display:block;width:100%;margin:5px 0;padding:10px;border:1px solid var(--line);background:#fff;text-align:left}.board-agenda-card b,.board-agenda-card small{display:block}.board-agenda-card small{margin-top:3px;color:var(--muted);font-size:7px}.board-member-summary{display:flex;gap:5px;flex-wrap:wrap;margin-top:9px}.board-member-summary span{padding:5px 7px;background:#fff;font-size:7px}.board-day-flags{display:flex;gap:10px;margin:9px 0;font-size:8px}.schedule-board-upcoming{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}.board-upcoming-head{display:flex;align-items:end;justify-content:space-between;gap:24px}.board-upcoming-head h3{margin:4px 0 3px;font:400 27px var(--serif)}.board-upcoming-summary{margin:0;color:var(--muted);font-size:11px}.board-upcoming-search{display:grid;gap:6px;width:min(330px,100%);color:var(--muted);font-size:11px;font-weight:700}.board-upcoming-search input{width:100%;min-height:42px;padding:9px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:13px;outline:none}.board-upcoming-search input:focus-visible{border-color:var(--wine);box-shadow:0 0 0 3px #d98a9226}#schedule-board-upcoming-list{display:grid;gap:22px;margin-top:20px}.board-upcoming-month{min-width:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}.board-upcoming-month>h4{margin:0}.board-upcoming-month-toggle{display:grid;width:100%;min-height:48px;grid-template-columns:minmax(0,1fr) auto 20px;align-items:center;gap:10px;padding:11px 16px;border:0;border-bottom:1px solid var(--line);background:#eee8e1;text-align:left}.board-upcoming-month-toggle strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.board-upcoming-month-count{color:var(--muted);font-size:11px}.board-upcoming-chevron{color:var(--wine);font-size:18px;line-height:1;text-align:center;transition:transform .16s}.board-upcoming-month-toggle[aria-expanded="true"] .board-upcoming-chevron{transform:rotate(180deg)}.board-upcoming-month-toggle:focus-visible{position:relative;z-index:1;outline:3px solid #d98a9255;outline-offset:-3px}.board-upcoming-month-content[hidden]{display:none!important}.board-upcoming-item{display:grid;width:100%;grid-template-columns:112px minmax(0,1fr) 28px;align-items:center;gap:18px;padding:15px 18px;border:0;border-bottom:1px solid var(--line);background:#fff;text-align:left;appearance:none;transition:background .16s,box-shadow .16s}.board-upcoming-item:last-child{border-bottom:0}.board-upcoming-item:hover{background:#fbf7f4}.board-upcoming-item:focus-visible{position:relative;z-index:1;outline:3px solid #d98a9255;outline-offset:-3px;background:#fffaf7}.board-upcoming-date{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:2px 7px;border-right:1px solid var(--line);padding-right:18px}.board-upcoming-date strong{font:500 30px/1 var(--serif)}.board-upcoming-date small{color:var(--muted);font-size:12px}.board-upcoming-date b{grid-column:1/-1;margin-top:4px;color:var(--wine);font-size:13px}.board-upcoming-body{display:grid;min-width:0;gap:8px}.board-upcoming-title{display:flex;align-items:center;gap:9px;min-width:0}.board-upcoming-title>strong{overflow:hidden;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.board-kind{flex:none;padding:3px 7px;border-radius:999px;background:#302c29;color:#fff;font-size:10px;font-weight:700}.board-kind.snap{background:var(--accent)}.board-upcoming-facts{display:flex;flex-wrap:wrap;gap:5px 15px;color:#554e49}.board-upcoming-facts>span{font-size:12px;line-height:1.45}.board-upcoming-note{overflow:hidden;color:var(--muted);font-size:12px;line-height:1.5;text-overflow:ellipsis;white-space:nowrap}.board-upcoming-statuses{display:flex;flex-wrap:wrap;gap:6px}.board-status-badge{padding:3px 7px;border-radius:999px;background:#eee9e4;color:#5f5752;font-size:10px;font-weight:700}.board-status-badge.ok{background:#e2eee2;color:#345737}.board-status-badge.error{background:#f7e0de;color:#9a342e}.board-upcoming-arrow{color:var(--wine);font-size:20px;text-align:right}#schedule-board-status{min-height:16px;color:var(--wine);font-size:10px}@media(max-width:850px){.schedule-board-head{display:block}.schedule-board-actions{justify-content:flex-start;margin-top:13px}.schedule-board-modes{top:76px;width:100%}.schedule-board-toolbar{align-items:flex-end}.schedule-board-toolbar>div:last-child{display:none}.schedule-board-layout{grid-template-columns:1fr}.board-day{min-height:82px;padding:5px}.schedule-board-agenda{min-height:0}.board-reception-chip{font-size:7px}.board-availability{display:none}.board-upcoming-head{align-items:stretch;flex-direction:column}.board-upcoming-search{width:100%}.board-upcoming-item{grid-template-columns:88px minmax(0,1fr) 20px;gap:12px;padding:14px}.board-upcoming-date{padding-right:12px}.board-upcoming-date strong{font-size:27px}}@media(max-width:520px){.schedule-board-toolbar{align-items:center}.schedule-board-date-nav{width:100%;justify-content:space-between}.schedule-board-date-nav .board-month-jump-open{min-width:112px;padding-inline:7px}.schedule-board-date-nav .board-month-today{margin-left:0}.board-month-options{grid-template-columns:repeat(3,1fr)}.board-day{min-height:72px}.board-day small,.board-conflict{font-size:7px}.board-snap-grid{display:none}.schedule-board-head h2{font-size:27px}.board-upcoming-month{border-inline:0;border-radius:0;margin-inline:-16px}.board-upcoming-month-toggle{padding-inline:16px}.board-upcoming-item{grid-template-columns:68px minmax(0,1fr);align-items:start;gap:11px;padding:16px}.board-upcoming-date{display:flex;align-items:baseline;flex-wrap:wrap;gap:3px 6px;padding-right:10px}.board-upcoming-date strong{font-size:26px}.board-upcoming-date small{font-size:11px}.board-upcoming-date b{width:100%;font-size:12px}.board-upcoming-title{align-items:flex-start;flex-wrap:wrap}.board-upcoming-title>strong{width:100%;font-size:15px;white-space:normal}.board-upcoming-facts{display:grid;gap:4px}.board-upcoming-facts>span,.board-upcoming-note{font-size:12px;white-space:normal}.board-upcoming-arrow{display:none}}.board-day.reception-day-closed{background:#f0f0ee}.board-day.reception-month-closed{background:#f0f0ee}.board-day.reception-month-closed:after{content:"접수 마감";display:block;margin-top:5px;color:var(--wine);font-size:6px;font-weight:800}.board-month-closed-note{margin:0 0 12px;padding:9px 10px;border:1px solid #c58b97;background:#f5e5e8;color:var(--wine);font-size:9px;line-height:1.5}.schedule-board-weekdays.weekend-only,.schedule-board-days.weekend-only{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-board-weekdays.weekend-only span:first-child{color:#4f6682}.schedule-board-weekdays.weekend-only span:last-child{color:var(--wine)}.schedule-board-days.weekend-only .board-day{min-height:108px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.schedule-board-days.weekend-only .board-day:nth-child(2n){border-right:0}.schedule-board-days.weekend-only .board-day:nth-last-child(-n+2){border-bottom:0}@media(max-width:520px){.schedule-board-days.weekend-only .board-day{min-height:86px}}
/* Rich upcoming schedule cards */
.board-upcoming-item{position:relative;grid-template-columns:96px minmax(0,1fr) 24px;align-items:start;gap:22px;padding:22px 24px;background:linear-gradient(135deg,#fff 0%,#fff 72%,#fcf8f5 100%)}
.board-upcoming-item:hover{background:linear-gradient(135deg,#fffaf7 0%,#fff 72%,#faf2ee 100%);box-shadow:inset 4px 0 0 var(--wine)}
.board-upcoming-date{position:sticky;top:0;display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:3px 7px;padding:4px 20px 4px 0;border-right:1px solid var(--line)}
.board-upcoming-body{gap:13px}
.board-upcoming-title{gap:10px}
.board-upcoming-title>strong{font-size:18px;letter-spacing:-.02em}
.board-kind{padding:4px 8px;font-size:9px;letter-spacing:.04em}
.board-upcoming-facts{display:grid;grid-template-columns:minmax(180px,1.5fr) repeat(3,minmax(105px,.7fr));gap:8px;color:var(--ink)}
.board-upcoming-fact{display:flex;align-items:center;gap:9px;min-width:0;padding:10px 11px;border:1px solid #eee5df;border-radius:10px;background:#faf8f6}
.board-upcoming-fact>i{display:grid;flex:0 0 28px;width:28px;height:28px;place-items:center;border-radius:8px;background:#eee7e2;color:var(--wine);font:700 14px/1 var(--sans);font-style:normal}
.board-upcoming-fact>span{display:grid;min-width:0;gap:2px}
.board-upcoming-fact small{color:var(--muted);font-size:8px;font-weight:700;letter-spacing:.04em}
.board-upcoming-fact b{overflow:hidden;font-size:11px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}
.board-upcoming-fact.emphasis{border-color:#ead9d3;background:#fbf1ee}
.board-upcoming-fact.emphasis>i{background:var(--wine);color:#fff}
.board-upcoming-team{display:flex;align-items:center;gap:14px;min-width:0;padding:2px 1px}
.board-upcoming-avatar-stack{display:flex;flex:0 0 auto;padding-left:7px}
.board-upcoming-avatar{display:grid;width:35px;height:35px;flex:0 0 35px;margin-left:-7px;place-items:center;border:2px solid #fff;border-radius:50%;background:#ddd center/cover no-repeat;color:#fff;font-size:10px;font-weight:800;box-shadow:0 2px 8px #3a25221a}
.board-upcoming-avatar.initial{background:var(--wine)}
.board-upcoming-avatar.more{background:#3c3531;color:#fff}
.board-upcoming-team>span:last-child{display:grid;min-width:0;gap:3px}
.board-upcoming-team small{color:var(--muted);font-size:8px;font-weight:700;letter-spacing:.04em}
.board-upcoming-team b{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.board-upcoming-note{display:flex;align-items:flex-start;gap:9px;padding:10px 12px;border:1px solid #eadfd1;border-radius:9px;background:#fbf6eb;color:#685c4b;font-size:11px;line-height:1.55;white-space:normal}
.board-upcoming-note>i{flex:none;color:#a3743b;font-size:13px;font-style:normal}
.board-upcoming-statuses{padding-top:1px}
.board-upcoming-arrow{align-self:center}
@media(max-width:1100px){.board-upcoming-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.board-upcoming-item{grid-template-columns:82px minmax(0,1fr) 18px;gap:15px;padding:18px}.board-upcoming-date{padding-right:14px}.board-upcoming-title>strong{font-size:16px}}
@media(max-width:520px){.board-upcoming-item{grid-template-columns:68px minmax(0,1fr);gap:10px;padding:17px 16px}.board-upcoming-date{position:static;display:grid;grid-template-columns:auto 1fr;padding-right:10px}.board-upcoming-date b{width:auto}.board-upcoming-body{gap:11px}.board-upcoming-title{gap:7px}.board-upcoming-title>strong{font-size:16px}.board-upcoming-facts{grid-template-columns:1fr 1fr;gap:6px}.board-upcoming-fact{gap:7px;padding:8px}.board-upcoming-fact:first-child{grid-column:1/-1}.board-upcoming-fact>i{width:25px;height:25px;flex-basis:25px}.board-upcoming-fact b{font-size:10px}.board-upcoming-avatar{width:31px;height:31px;flex-basis:31px}.board-upcoming-team{gap:11px}.board-upcoming-team b{font-size:10px}.board-upcoming-note{font-size:10px}}

/* /manage 축의대 일정에서 전용 Slack 앱 채널을 한 번만 생성합니다. */
.board-upcoming-item{display:flex;align-items:stretch;gap:0;padding:0}
.board-upcoming-open{display:grid;min-width:0;flex:1;grid-template-columns:96px minmax(0,1fr) 24px;align-items:start;gap:22px;padding:22px 24px;border:0;background:transparent;text-align:left;appearance:none}
.board-upcoming-open:focus-visible{position:relative;z-index:1;outline:3px solid #d98a9255;outline-offset:-3px;background:#fffaf7}
.board-upcoming-slack-action{display:flex;flex:0 0 154px;align-items:center;justify-content:center;padding:18px 18px 18px 0}
.board-slack-button{width:100%;min-height:42px;padding:10px 12px;border:1px solid var(--ink);border-radius:9px;background:#fff;color:var(--ink);font-size:10px;font-weight:800;line-height:1.35;text-align:center;text-decoration:none}
.board-slack-button:hover,.board-slack-button:focus-visible{background:var(--ink);color:#fff}
.board-slack-button.ready{border-color:#376347;background:#edf5ef;color:#2f573d}
.board-slack-button.ready:hover,.board-slack-button.ready:focus-visible{background:#376347;color:#fff}
.board-slack-button:disabled{cursor:wait;opacity:.62}
@media(max-width:850px){.board-upcoming-open{grid-template-columns:82px minmax(0,1fr) 18px;gap:15px;padding:18px}.board-upcoming-slack-action{flex-basis:132px;padding:14px 14px 14px 0}}
@media(max-width:620px){.board-upcoming-item{display:block}.board-upcoming-open{width:100%;grid-template-columns:68px minmax(0,1fr);gap:10px;padding:17px 16px}.board-upcoming-slack-action{padding:0 16px 16px}.board-slack-button{min-height:44px}.board-upcoming-arrow{display:none}}

.schedule-board-days.weekend-only .board-day.outside{visibility:hidden}
