

        .moyo-date-time-picker {
            position: fixed;
            width: 248px;
            color: #1f2c43;
            overflow: hidden;
        }

        .moyo-date-time-picker[hidden] { display: none; }


        .moyo-date-picker-head,
        .moyo-time-picker-head {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 8px;
            margin-bottom: 8px;
        }


        .moyo-date-picker-title,
        .moyo-time-picker-title {
            font-size: 13px;
            font-weight: 900;
            letter-spacing: -0.03em;
            color: #0f1e33;
        }


        .moyo-date-picker-nav {
            display: inline-flex;
            gap: 4px;
        }


        .moyo-date-picker-nav button,
        .moyo-time-picker-now {
            border: 1px solid #d7e3f4;
            border-radius: 10px;
            background: #fff;
            color: #53657d;
            font-size: 12px;
            font-weight: 720;
            cursor: pointer;
        }


        .moyo-date-picker-nav button {
            width: 28px;
            height: 28px;
        }


        .moyo-time-picker-now {
            height: 28px;
            padding: 0 9px;
        }


        .moyo-date-picker-nav button:hover,
        .moyo-time-picker-now:hover {
            border-color: #a9c5ff;
            background: #f3f7ff;
            color: var(--moyo-picker-accent,#2563eb);
        }


        .moyo-date-picker-weekdays,
        .moyo-date-picker-days {
            display: grid;
            grid-template-columns: repeat(7, 1fr);
            gap: 4px;
        }


        .moyo-date-picker-weekdays {
            margin-bottom: 5px;
        }


        .moyo-date-picker-weekdays span {
            text-align: center;
            color: #596a80;
            font-size: 11px;
            font-weight: 720;
        }


        .moyo-date-picker-weekdays span:first-child { color: #ff6b87; }

        .moyo-date-picker-weekdays span:last-child { color: #4f7cff; }


        .moyo-date-picker-day {
            height: 28px;
            border: 0;
            border-radius: 8px;
            background: transparent;
            color: #1f2c43;
            font-size: 12px;
            font-weight: 800;
            cursor: pointer;
        }


        .moyo-date-picker-day:nth-child(7n/**/+1) { color: #ff5d7a; }

        .moyo-date-picker-day:nth-child(7n) { color: #4f7cff; }

        .moyo-date-picker-day:hover { background: var(--moyo-picker-hover,#eef5ff); color: var(--moyo-picker-accent,#2563eb); }

        .moyo-date-picker-day.is-muted { color: #b1bdca; }

        .moyo-date-picker-day.is-today { box-shadow: inset 0 0 0 1px #9db9ff; }

        .moyo-date-picker-day.is-selected { background: #2f6dff; color: #fff; }


        .moyo-date-picker-foot {
            display: flex;
            justify-content: flex-end;
            margin-top: 10px;
        }


        .moyo-date-picker-today {
            border: 0;
            background: transparent;
            color: #2f6dff;
            font-size: 12px;
            font-weight: 720;
            cursor: pointer;
        }


        .moyo-date-picker-menu {
            padding: 10px;
        }


        .moyo-date-picker-menu .moyo-date-picker-head {
            margin-bottom: 9px;
        }


        .moyo-date-picker-menu .moyo-date-picker-nav button,
        .moyo-date-picker-menu .moyo-date-picker-today {
            border: 1px solid var(--moyo-picker-border,#d7e4f5);
            background: rgba(255, 255, 255, 0.78);
            color: var(--moyo-picker-range-text,#55708f);
            font-weight: 740;
            transition: background .14s ease, border-color .14s ease, color .14s ease, box-shadow .14s ease;
        }




        .moyo-date-picker-menu .moyo-date-picker-today {
            height: 25px;
            padding: 0 9px;
            border-radius: 999px;
            font-size: 11px;
        }


        .moyo-date-picker-menu .moyo-date-picker-nav button:hover,
        .moyo-date-picker-menu .moyo-date-picker-today:hover {
            border-color: var(--moyo-picker-accent,#9fc0ff);
            background: #f3f7ff;
            color: var(--moyo-picker-accent,#2563eb);
            box-shadow: 0 5px 12px rgba(79, 124, 255, 0.12);
        }


        .moyo-date-picker-menu .moyo-date-picker-weekdays,
        .moyo-date-picker-menu .moyo-date-picker-days {
            gap: 2px;
        }


        .moyo-date-picker-menu .moyo-date-picker-weekdays span {
            height: 20px;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #7c8aa0;
            font-weight: 900;
        }


        .moyo-date-picker-menu .moyo-date-picker-day {
            height: 32px;
            border: 1px solid transparent;
            font-weight: 720;
            transition: background .14s ease, border-color .14s ease, color .14s ease, box-shadow .14s ease, transform .14s ease;
        }


        .moyo-date-picker-menu .moyo-date-picker-day:hover {
            border-color: #aac7ff;
            background: #f5f8ff;
            color: var(--moyo-picker-accent,#2563eb);
            transform: translateY(-1px);
        }


        .moyo-date-picker-menu .moyo-date-picker-day.is-today {
            border-color: transparent;
            color: var(--moyo-picker-range-text,#365d9f);
            background: transparent;
            box-shadow: none;
        }


        .moyo-date-picker-menu .moyo-date-picker-day.is-selected {
            border-color: transparent;
            background: #5d7cff;
            color: #fff;
            box-shadow: 0 7px 14px rgba(79, 124, 255, 0.18);
        }


        .moyo-date-picker-menu .moyo-date-picker-day.is-holiday:not(.is-selected) { color: #ff5d7a; }

        .moyo-time-picker-menu { width: 268px; }


        .moyo-time-picker-ampm {
            grid-template-columns: repeat(2, 1fr);
        }


        .moyo-time-picker-ampm button,
        .moyo-time-picker-grid button {
            height: 30px;
            border: 1px solid #dbe6f5;
            border-radius: 10px;
            background: #fff;
            color: #334155;
            font-size: 12px;
            font-weight: 720;
            cursor: pointer;
        }


        .moyo-time-picker-ampm button:hover,
        .moyo-time-picker-grid button:hover {
            border-color: #aac7ff;
            background: #f5f8ff;
            color: var(--moyo-picker-accent,#2563eb);
        }


        .moyo-time-picker-ampm button[data-fresh-quick-meridiem="AM"] {
            background: #fbfffe;
        }


        .moyo-time-picker-ampm button[data-fresh-quick-meridiem="PM"] {
            background: #fbfcff;
        }


        .moyo-time-picker-ampm button[data-fresh-quick-meridiem="AM"]:hover {
            border-color: #8adfd2;
            background: #effdfa;
            color: var(--moyo-picker-range-text,#365d9f);
        }


        .moyo-time-picker-ampm button[data-fresh-quick-meridiem="PM"]:hover {
            border-color: #aac7ff;
            background: #f3f7ff;
            color: #245eea;
        }


        .moyo-time-picker-ampm button.is-selected,
        .moyo-time-picker-grid button.is-selected {
            border-color: #5d86ff;
            background: #eef4ff;
            color: #245eea;
            box-shadow: inset 0 0 0 1px rgba(93, 134, 255, .18);
        }


        .moyo-time-picker-ampm button[data-fresh-quick-meridiem="AM"].is-selected {
            border-color: #5ad0c0;
            background: #e9fbf7;
            color: var(--moyo-picker-range-text,#365d9f);
            box-shadow: inset 0 0 0 1px rgba(90, 208, 192, .20);
        }


        .moyo-time-picker-ampm button[data-fresh-quick-meridiem="PM"].is-selected {
            border-color: #5d86ff;
            background: #eef4ff;
            color: #245eea;
            box-shadow: inset 0 0 0 1px rgba(93, 134, 255, .18);
        }


        .moyo-time-picker-grid button.is-selected {
            border-color: #2f6dff;
            background: #2f6dff;
            color: #fff;
            box-shadow: none;
        }


        .moyo-time-picker-section { margin-top: 8px; }

        .moyo-time-picker-label {
            margin-bottom: 5px;
            font-weight: 720;
        }


        .moyo-time-picker-grid {
            display: grid;
            grid-template-columns: repeat(6, 1fr);
        }


        .moyo-time-picker-foot {
            margin-top: 9px;
            color: #8a98aa;
            font-size: 11px;
            font-weight: 600;
        }



/* 외부 기능이 주입한 날짜 선택 제한 */
.moyo-date-picker-day.is-disabled,
.moyo-date-picker-day:disabled {
    color: #c7cfdb;
    background: transparent;
    border-color: transparent;
    cursor: not-allowed;
    opacity: .55;
    pointer-events: none;
}

.moyo-date-picker-day.is-disabled.is-today,
.moyo-date-picker-day:disabled.is-today {
    box-shadow: none;
}

.moyo-time-picker-ampm button[data-fresh-quick-meridiem]{background:transparent;color:var(--moyo-color-text-soft);border-color:var(--moyo-border-color)}

.moyo-time-picker-ampm button[data-fresh-quick-meridiem].is-selected{background:var(--moyo-color-surface-soft);color:var(--moyo-color-text);border-color:var(--moyo-color-primary);box-shadow:none}


.moyo-date-time-picker{z-index:14500}


.moyo-date-picker-menu .moyo-date-picker-day.is-selected{background:var(--moyo-primary-gradient,linear-gradient(135deg,#39CDB5 0%,#4A90E2 54%,#7358E8 100%));color:#fff;border-color:transparent;box-shadow:0 3px 8px #4a90e225}


/* Today is mint; selected dates retain the brand gradient. */

/* Quiet today marker and identical AM/PM selection treatment. */
.moyo-date-picker-menu .moyo-date-picker-day.is-today{position:relative;}

.moyo-date-picker-menu .moyo-date-picker-day.is-today::after{content:'';position:absolute;}

.moyo-date-picker-menu .moyo-date-picker-day.is-today.is-selected{position:relative;box-shadow:none}

.moyo-date-picker-menu .moyo-date-picker-day.is-today.is-selected::after{background:white}

.moyo-time-picker-ampm button[data-fresh-quick-meridiem]{border-color:#e5e8ee;}

.moyo-time-picker-ampm button[data-fresh-quick-meridiem].is-selected{border-color:#a7b0bd;}

/* Unified picker surfaces and selection states. */
.moyo-date-time-picker{border:1px solid #e5e9f0;border-radius:16px;box-shadow:0 12px 32px #24334b18;background:#fff;padding:12px}

.moyo-date-picker-menu .moyo-date-picker-day{border-radius:8px}

.moyo-date-picker-menu .moyo-date-picker-day.is-selected{background:var(--moyo-picker-selected-background,var(--moyo-picker-accent,#3478f6));color:white;border-color:var(--moyo-picker-accent,#3478f6);box-shadow:none}
.moyo-time-picker-grid button.is-selected{background:var(--moyo-picker-selected-background,var(--moyo-picker-accent,#477dec));color:white;border-color:var(--moyo-picker-accent,#477dec);box-shadow:none}

.moyo-date-picker-menu .moyo-date-picker-day.is-today:not(.is-selected):not(.is-holiday):not(.is-disabled):not(:disabled){color:var(--moyo-picker-range-text,#365d9f);font-weight:700;background:transparent;box-shadow:inset 0 0 0 1.5px var(--moyo-picker-accent,#3478f6)}

.moyo-date-picker-menu .moyo-date-picker-day.is-today::after{display:none}

.moyo-time-picker-ampm{display:flex;gap:3px;padding:3px;background:#f2f4f7;border-radius:10px;margin-bottom:12px}

.moyo-time-picker-ampm button[data-fresh-quick-meridiem]{flex:1;border:0;border-radius:7px;background:transparent;color:#7d8592;box-shadow:none;min-height:30px;font-size:12px}

.moyo-time-picker-ampm button[data-fresh-quick-meridiem].is-selected{background:white;color:var(--moyo-picker-range-text,#365d9f);border:0;box-shadow:0 1px 4px #25344b12;font-weight:600}

.moyo-time-picker-grid{gap:5px}

.moyo-time-picker-grid button{border:0;border-radius:8px;background:transparent;color:#1f2c43;box-shadow:none;min-height:32px;font-size:12px}

.moyo-time-picker-grid button:hover:not(.is-selected){background:var(--moyo-picker-hover,#eaf0f9)}

.moyo-time-picker-label{color:#8a94a3;font-size:11px}

.moyo-date-picker-menu .moyo-date-picker-day.is-today:not(.is-selected):not(.is-disabled):not(:disabled){border-color:transparent;background:transparent;box-shadow:inset 0 0 0 1.5px var(--moyo-picker-accent,#3478f6)}


.moyo-date-picker-menu .moyo-date-picker-day.is-in-range:not(.is-selected){background:var(--moyo-picker-soft,#edf3ff);border-color:transparent}
.moyo-date-picker-menu .moyo-date-picker-day.is-in-range:not(.is-selected):not(.is-holiday):not(.is-sunday):not(.is-saturday){color:var(--moyo-picker-range-text,#456faa)}

.moyo-date-picker-menu .moyo-date-picker-day.is-range-start,.moyo-date-picker-menu .moyo-date-picker-day.is-range-end{background:var(--moyo-picker-selected-background,var(--moyo-picker-accent,#477dec));color:white;border-color:transparent}

.moyo-date-picker-range-caption{margin-top:10px;text-align:center;font-size:11px;color:var(--moyo-picker-meta,#677b99)}
/* Navigation uses shared SVG icons, independent of font glyphs. */
.moyo-date-picker-menu .moyo-date-picker-nav{gap:6px}

.moyo-date-picker-menu .moyo-date-picker-nav button{width:32px;height:32px;border:0;background:transparent;border-radius:8px;font-size:0;padding:0;display:grid;place-items:center;box-shadow:none}





.moyo-date-picker-menu .moyo-date-picker-nav button:hover{background:var(--moyo-picker-hover,#f1f5fb);box-shadow:none}


@media (max-width:720px) {
    .moyo-date-picker-menu { width:min(300px, calc(100vw - 32px)); padding:12px; box-sizing:border-box; }

    .moyo-date-picker-menu .moyo-date-picker-nav { gap:6px; }

    .moyo-date-picker-menu .moyo-date-picker-nav button { width:40px; height:40px; font-size:0; }

    .moyo-date-picker-menu .moyo-date-picker-days { gap:2px; }

    .moyo-date-picker-menu .moyo-date-picker-day { height:40px; min-width:0; font-size:13px; }

    .moyo-date-picker-menu .moyo-date-picker-today { height:36px; padding:0 14px; font-size:12px; }
}


@media (max-width:720px) {
    .moyo-time-picker-menu { width:min(300px, calc(100vw - 32px)); padding:12px; box-sizing:border-box; }

    .moyo-time-picker-menu .moyo-time-picker-grid { gap:6px; }

    .moyo-time-picker-menu .moyo-time-picker-grid button { height:40px; min-height:40px; min-width:0; font-size:13px; }

    .moyo-time-picker-menu .moyo-time-picker-ampm button { height:40px; min-height:40px; font-size:13px; }

    .moyo-time-picker-menu .moyo-time-picker-now { height:36px; min-height:36px; padding:0 12px; }
}

.moyo-date-picker-nav button svg {display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.moyo-date-picker-title,.moyo-time-picker-title {line-height:20px;}

.moyo-date-jump-toggle { padding:4px; border:0; border-radius:8px; background:var(--moyo-action-background,transparent); color:inherit; font:inherit; font-size:13px; cursor:pointer; }

/* Project menus mounted on body share the project palette. */
.moyo-date-time-picker[data-scope=project] {--moyo-picker-accent:#8561ce;--moyo-picker-selected-background:#8561ce;--moyo-picker-soft:#f0e8fa;--moyo-picker-range-text:#7553a8;--moyo-picker-meta:#8a73a8;--moyo-picker-hover:#f3edf9;}
