/* Step 05 Content Calendar isolated styles. */
.calendar-card{width:min(var(--page-width),100%);padding-bottom:34px}.calendar-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.calendar-heading .flow-desc{max-width:480px;margin:0;text-align:right}
.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:11px;padding:10px 12px;border-top:1px dashed #b9a98e;border-bottom:1px dashed #b9a98e}.calendar-month-nav,.calendar-toolbar-actions{display:flex;align-items:center;gap:10px}.calendar-month-nav button,.calendar-export{min-height:34px;padding:6px 11px;border:1px dashed #a89d89;border-radius:3px;background:#fff8e8;color:var(--green-deep);font:700 15px "Song Myung","Gungsuh","Noto Sans KR",sans-serif;box-shadow:2px 2px 0 #ddd0b8;cursor:pointer}.calendar-month-nav button{width:34px;padding:0;font-family:Georgia,serif;font-size:18px}.calendar-month-title{min-width:170px;color:var(--green-deep);font:23px "Song Myung","Gungsuh",serif;text-align:center}.calendar-view-tabs{display:flex;padding:3px;border:1px solid #cfc2ad;border-radius:4px;background:#eee5d5}.calendar-view-btn{min-height:28px;padding:4px 10px;border:0;border-radius:2px;background:transparent;color:#766d5e;font:700 14px "Song Myung","Gungsuh","Noto Sans KR",sans-serif;cursor:pointer}.calendar-view-btn[aria-pressed="true"]{background:#fffaf0;color:var(--green-deep);box-shadow:1px 2px 0 #d5c7ae}.calendar-export{display:inline-flex;align-items:center;gap:6px}.calendar-export::before{content:"";width:17px;height:17px;background:currentColor;-webkit-mask:url('/01_app/assets/icons/sketchy/download.svg') center/contain no-repeat;mask:url('/01_app/assets/icons/sketchy/download.svg') center/contain no-repeat}
.calendar-legend{display:flex;flex-wrap:wrap;gap:8px 16px;margin:0 0 12px;padding:0 2px;color:#746b5c;font-size:10px}.calendar-legend span{display:inline-flex;align-items:center;gap:5px}.legend-dot{width:8px;height:8px;border-radius:50%;background:#22966f}.legend-dot.scheduled{opacity:.35}.legend-dot.draft,.legend-dot.deleted{background:#aaa}.legend-dot.deleted::after{content:"×";position:relative;top:-7px;left:1px;color:#8d3e34;font-weight:900}
.calendar-scroll{overflow-x:auto;overflow-anchor:none;overscroll-behavior-x:contain}.calendar-scroll.time-scroll{max-height:650px;overflow:auto;overscroll-behavior:contain}.calendar-grid{display:grid;min-width:760px;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid #cfc2ad;border-left:1px solid #cfc2ad;background:#fffdf7}.calendar-weekday{padding:8px 5px;border-right:1px solid #cfc2ad;border-bottom:1px solid #cfc2ad;background:#eee4d2;color:#726754;font:700 14px "Song Myung","Gungsuh",sans-serif;text-align:center}.calendar-weekday:first-child{color:#a55248}.calendar-weekday:last-child{color:#557287}.calendar-day{position:relative;min-height:116px;padding:7px 6px;border-right:1px solid #d8cdbb;border-bottom:1px solid #d8cdbb;background-image:linear-gradient(rgba(151,83,67,.035) 1px,transparent 1px);background-size:100% 25px;cursor:pointer}.calendar-day.outside{background-color:#f0ece3;color:#aaa}.calendar-day.today{background-color:#fff8de;box-shadow:inset 0 0 0 2px rgba(171,126,55,.28)}.calendar-day-number{display:block;margin-bottom:5px;color:#776b58;font:11px Georgia,serif}.calendar-events{display:grid;gap:4px}
.calendar-sticker{display:grid;width:100%;min-width:0;grid-template-columns:minmax(0,1fr) auto;gap:4px;align-items:center;padding:5px 5px 5px 7px;border:1px solid rgba(119,101,74,.2);border-radius:2px;background:#fff9e9;color:#423c32;font-size:10px;font-weight:750;text-align:left;box-shadow:1px 2px 0 rgba(120,101,72,.13);cursor:grab;transform:rotate(var(--sticker-tilt,0deg))}.calendar-sticker.dragging{opacity:.38;cursor:grabbing}.calendar-event-copy{display:grid;min-width:0;gap:2px}.calendar-event-title,.calendar-event-time{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event-time{display:none;color:#88765e;font:500 9px Georgia,sans-serif}.calendar-platforms{display:flex;max-width:68px;flex-wrap:wrap;gap:2px;justify-content:flex-end}.calendar-platform-state,.calendar-platform{position:relative;display:grid;width:19px;height:19px;place-items:center}.calendar-platform::before{content:"";width:17px;height:17px;background:var(--calendar-brand,#333);-webkit-mask:var(--calendar-icon) center/contain no-repeat;mask:var(--calendar-icon) center/contain no-repeat}
.calendar-platform[data-platform="youtube"]{--calendar-brand:#f00;--calendar-icon:url('/01_app/assets/icons/platforms/youtube.svg')}.calendar-platform[data-platform="instagram"]{--calendar-brand:#d62976;--calendar-icon:url('/01_app/assets/icons/platforms/instagram.svg')}.calendar-platform[data-platform="facebook"]{--calendar-brand:#0866ff;--calendar-icon:url('/01_app/assets/icons/platforms/facebook.svg')}.calendar-platform[data-platform="tiktok"],.calendar-platform[data-platform="threads"],.calendar-platform[data-platform="x"]{--calendar-brand:#111}.calendar-platform[data-platform="tiktok"]{--calendar-icon:url('/01_app/assets/icons/platforms/tiktok.svg')}.calendar-platform[data-platform="threads"]{--calendar-icon:url('/01_app/assets/icons/platforms/threads.svg')}.calendar-platform[data-platform="x"]{--calendar-icon:url('/01_app/assets/icons/platforms/x.svg')}.calendar-platform[data-platform="naver"]{--calendar-brand:#03c75a;--calendar-icon:url('/01_app/assets/icons/platforms/naver.svg')}.calendar-platform[data-platform="kakaotalk"]{--calendar-brand:#391b1b;--calendar-icon:url('/01_app/assets/icons/platforms/kakaotalk.svg')}.calendar-platform[data-platform="linkedin"]{--calendar-brand:#0a66c2;--calendar-icon:url('/01_app/assets/icons/platforms/linkedin.svg')}
.calendar-sticker[data-status="scheduled"]{border-style:dashed;background:#f7f4ec;color:#746f65}.calendar-sticker[data-status="draft"]{background:#eeece7;color:#85827b}.calendar-sticker[data-status="draft"][data-media-ready="true"]{border-color:rgba(23,79,72,.35);background:#fff9e9;color:#423c32}.calendar-sticker[data-status="deleted"]{border-style:dashed;background:#eeeae4;color:#aaa;text-decoration:line-through}.calendar-platform-state[data-status="scheduled"]{opacity:.34}.calendar-platform-state[data-status="draft"] .calendar-platform::before{background:#999}.calendar-more{width:100%;border:0;background:transparent;color:#8a6241;text-align:right;cursor:pointer}
.calendar-time-grid{min-width:820px;border:1px solid #cfc2ad;background:#fffdf7}.calendar-time-grid.view-day{min-width:0}.calendar-time-head{position:sticky;top:0;z-index:5;display:grid;grid-template-columns:54px repeat(var(--calendar-days),minmax(0,1fr));background:#eee4d2}.calendar-time-head span{padding:9px 5px;border-right:1px solid #cfc2ad;border-bottom:1px solid #cfc2ad;text-align:center}.calendar-time-body{display:grid;height:1248px;grid-template-columns:54px minmax(0,1fr)}.calendar-hour-axis{display:grid;grid-template-rows:repeat(24,52px);background:#f1eadf}.calendar-hour-label{padding:4px 7px 0 0;border-right:1px solid #cfc2ad;border-bottom:1px solid #ddd2c0;color:#8e806d;font:9px Georgia,serif;text-align:right}.calendar-time-columns{display:grid;grid-template-columns:repeat(var(--calendar-days),minmax(0,1fr))}.calendar-time-column{position:relative;height:1248px;border-right:1px solid #d8cdbb;background-image:repeating-linear-gradient(to bottom,transparent 0 51px,#ddd2c0 51px 52px)}.calendar-timed-event{position:absolute;z-index:2;top:var(--event-top);right:4px;left:4px;min-height:42px}.calendar-time-grid .calendar-event-time{display:block}.calendar-help{min-height:18px;margin:8px 2px 0;color:#7a6e5c;font-size:11px}
.calendar-settings-modal{position:fixed;z-index:130;inset:0;display:grid;padding:20px;place-items:center;background:rgba(20,31,27,.6);backdrop-filter:blur(7px)}.calendar-settings-modal[hidden]{display:none}.calendar-settings-dialog{width:min(560px,100%);max-height:calc(100dvh - 40px);overflow:auto;border:1px solid #a6977e;border-radius:5px;background:#fff9eb;box-shadow:0 25px 70px rgba(20,26,22,.3)}.calendar-settings-head{padding:18px 20px 14px;border-bottom:1px dashed #b8a98f;background:#eee3cf}.calendar-settings-head h2{margin:0;color:var(--green-deep)}.calendar-settings-body{display:grid;gap:14px;padding:17px 20px}.calendar-settings-date{display:grid;gap:6px}.calendar-settings-date input{min-height:38px}.calendar-settings-platforms{display:grid;gap:7px}.calendar-setting-row{display:grid;grid-template-columns:28px minmax(90px,1fr) minmax(118px,1.2fr) 90px;gap:8px;align-items:center;padding:8px;border:1px solid #d5c9b5;background:#fffdf7}.calendar-settings-actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px 17px;border-top:1px dashed #b8a98f}.calendar-settings-actions .view{margin-right:auto}.content-unavailable-copy{padding:22px;text-align:center}
.calendar-preview-dialog{width:min(880px,92vw)}.calendar-preview-dialog.preview-portrait{width:min(440px,92vw)}.calendar-preview-dialog.preview-feed{width:min(590px,92vw)}.calendar-preview-dialog.preview-square{width:min(500px,92vw)}.calendar-preview-stage{position:relative;background:#000}.calendar-preview-video{display:block;width:100%;max-height:72vh;aspect-ratio:16/9;background:#000;object-fit:contain}.preview-portrait .calendar-preview-video{aspect-ratio:9/16}.preview-feed .calendar-preview-video{aspect-ratio:4/5}.preview-square .calendar-preview-video{aspect-ratio:1/1}.calendar-preview-version-nav{position:absolute;z-index:3;top:50%;width:40px;height:40px;border-radius:50%;background:rgba(7,29,25,.78);color:#fff;transform:translateY(-50%)}.calendar-preview-version-nav.prev{left:10px}.calendar-preview-version-nav.next{right:10px}.calendar-preview-version-nav:disabled{display:none}.calendar-preview-version-count{position:absolute;right:10px;bottom:10px;padding:4px 7px;border-radius:999px;background:rgba(7,29,25,.75);color:#fff}.calendar-preview-meta{display:flex;flex-wrap:wrap;gap:8px}
@media(max-width:760px){.calendar-heading{align-items:flex-start;flex-direction:column}.calendar-heading .flow-desc{text-align:left}.calendar-toolbar,.calendar-toolbar-actions{align-items:stretch;flex-direction:column}.calendar-view-tabs{display:grid;grid-template-columns:repeat(3,1fr)}.calendar-month-nav{justify-content:space-between}.calendar-scroll{width:100%;overflow-x:hidden}.calendar-grid,.calendar-time-grid{width:100%;min-width:0}.calendar-weekday{padding:6px 1px;font-size:9px}.calendar-day{min-height:82px;padding:4px 2px}.calendar-sticker{grid-template-columns:minmax(0,1fr);padding:3px 2px;font-size:8px}.calendar-platforms{max-width:none;justify-content:center}.calendar-platform-state,.calendar-platform{width:12px;height:12px}.calendar-platform::before{width:11px;height:11px}.calendar-time-head{grid-template-columns:38px repeat(var(--calendar-days),minmax(0,1fr))}.calendar-time-body{grid-template-columns:38px minmax(0,1fr)}.calendar-setting-row{grid-template-columns:28px minmax(0,1fr)}.calendar-setting-row select,.calendar-setting-row input{grid-column:1/-1;width:100%}.calendar-settings-modal{padding:12px}}
