/* AUG009_SCREEN4_SUMMER_PLANNER_V1_START */
.schedule-screen{position:relative;isolation:isolate;padding-top:clamp(24px,4vw,54px);padding-bottom:clamp(34px,5vw,70px)}
.schedule-screen::before{content:"";position:absolute;left:50%;top:0;width:min(1180px,96vw);height:430px;transform:translateX(-50%);border-radius:56px;background:radial-gradient(circle at 8% 16%,rgba(255,111,48,.20),transparent 34%),radial-gradient(circle at 42% 4%,rgba(118,87,255,.17),transparent 34%),radial-gradient(circle at 74% 18%,rgba(0,188,212,.16),transparent 34%),radial-gradient(circle at 94% 4%,rgba(54,201,144,.15),transparent 32%);pointer-events:none;z-index:-1}
.schedule-screen__heading{max-width:920px;margin-bottom:26px}
.schedule-screen__eyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:10px;color:#10214f;font-size:12px;font-weight:900;letter-spacing:.17em}
.schedule-screen__eyebrow::before{content:"";width:28px;height:8px;border-radius:999px;background:linear-gradient(90deg,#ff6f30,#7657ff,#00bcd4,#36c990)}
.schedule-screen__heading>h2{margin:0;color:#10214f;font-size:clamp(34px,5vw,64px);line-height:.98;letter-spacing:-.045em}
.schedule-screen__heading>p{max-width:780px;margin:18px 0 0;color:#41506f;font-size:clamp(16px,1.8vw,20px);line-height:1.55}
.schedule-carousel{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:14px;margin-top:30px}
.schedule-day-strip{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:16px;overflow-x:auto;padding:16px 10px 24px;scroll-snap-type:x mandatory;scrollbar-width:none}
.schedule-day-strip::-webkit-scrollbar{display:none}
.schedule-carousel__arrow{width:48px;height:48px;border:1px solid rgba(16,33,79,.14);border-radius:50%;background:rgba(255,255,255,.90);color:#10214f;box-shadow:0 10px 30px rgba(16,33,79,.10);font-size:22px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}
.schedule-carousel__arrow:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(16,33,79,.15)}
.schedule-day-card{--accent:#ff6f30;position:relative;min-height:300px;padding:28px 24px 24px;border:1px solid rgba(16,33,79,.10);border-radius:28px 28px 34px 16px;background:linear-gradient(180deg,rgba(255,255,255,.99),rgba(249,251,255,.97));color:#10214f;box-shadow:0 18px 45px rgba(16,33,79,.10);cursor:pointer;scroll-snap-align:center;overflow:hidden;transform-origin:50% 100%;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.schedule-day-card[data-accent="orange"]{--accent:#ff6f30}.schedule-day-card[data-accent="violet"]{--accent:#7657ff}.schedule-day-card[data-accent="cyan"]{--accent:#00bcd4}.schedule-day-card[data-accent="green"]{--accent:#36c990}
.schedule-day-card::before{content:"";position:absolute;inset:0 0 auto;height:9px;background:var(--accent)}
.schedule-day-card::after{content:"";position:absolute;right:-45px;bottom:-52px;width:150px;height:150px;border-radius:50%;background:var(--accent);opacity:.08}
.schedule-day-card:hover,.schedule-day-card.is-active{transform:translateY(-8px) rotate(-.35deg);border-color:var(--accent);box-shadow:0 28px 58px rgba(16,33,79,.15)}
.schedule-day-card.is-active{outline:3px solid rgba(16,33,79,.08);outline-offset:2px}
.schedule-day-card__paperclip{position:absolute;top:-8px;right:28px;width:19px;height:48px;border:3px solid rgba(16,33,79,.28);border-bottom:0;border-radius:12px 12px 0 0;transform:rotate(8deg)}
.schedule-day-card__number{display:block;margin-bottom:18px;color:var(--accent);font-size:clamp(54px,6vw,80px);font-weight:950;line-height:.8;letter-spacing:-.07em}
.schedule-day-card>[data-content-key$=".date"]{display:block;font-size:19px;font-weight:850}
.schedule-day-card>[data-content-key$=".weekday"]{display:block;margin-top:4px;color:#6c7892;font-size:13px;font-weight:800;letter-spacing:.10em;text-transform:uppercase}
.schedule-day-card>[data-content-key$=".hours"]{display:block;margin-top:22px;font-size:20px;line-height:1.15}
.schedule-day-card>[data-content-key$=".theme"]{display:block;margin-top:15px;padding-top:15px;border-top:1px dashed rgba(16,33,79,.18);font-size:15px;font-weight:800;line-height:1.3}
.schedule-day-card__hint{display:block;margin-top:18px;color:#6d7890;font-size:12px}
.schedule-panels{margin-top:22px}
.schedule-panel{overflow:hidden;border-radius:34px;background:#10214f;color:#fff;box-shadow:0 28px 70px rgba(16,33,79,.20)}
.schedule-panel[hidden]{display:none!important}
.schedule-panel__header{display:grid;grid-template-columns:1fr auto;gap:10px 28px;align-items:end;padding:clamp(26px,4vw,48px);border-bottom:1px solid rgba(255,255,255,.13);background:radial-gradient(circle at 94% 4%,rgba(118,87,255,.28),transparent 36%),radial-gradient(circle at 5% 100%,rgba(0,188,212,.19),transparent 38%)}
.schedule-panel__date{display:flex;gap:10px;align-items:baseline;color:rgba(255,255,255,.76);font-size:14px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.schedule-panel__header>strong{padding:10px 14px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.09);font-size:14px}
.schedule-panel__header>h3{grid-column:1/-1;margin:8px 0 0;max-width:880px;font-size:clamp(30px,4vw,52px);line-height:1;letter-spacing:-.04em}
.schedule-empty{padding:24px clamp(26px,4vw,48px);background:rgba(255,255,255,.06)}
.schedule-empty p{margin:0;color:rgba(255,255,255,.72);line-height:1.55}
.schedule-timeline-editor-source{display:none}
html.content-editor-active .schedule-timeline-editor-source{display:block;margin:18px clamp(20px,4vw,48px);padding:18px;border:1px dashed rgba(255,255,255,.28);border-radius:18px;background:rgba(255,255,255,.06)}
html.content-editor-active .schedule-timeline-editor-source>[data-content-key]{display:block;min-height:48px;white-space:pre-wrap}
html.content-editor-active .schedule-timeline-editor-source.is-empty>[data-content-key]:empty::before{content:"Нажмите сюда и добавьте строки расписания";color:rgba(255,255,255,.45);font-style:italic}
.schedule-timeline-editor-source small{display:block;margin-top:10px;color:rgba(255,255,255,.48)}
.schedule-timeline{padding:8px clamp(18px,3vw,40px) 32px}
.schedule-slot{position:relative;display:grid;grid-template-columns:minmax(100px,145px) 18px minmax(0,1fr);gap:18px;padding:24px 8px;border-bottom:1px solid rgba(255,255,255,.10)}
.schedule-slot:last-child{border-bottom:0}
.schedule-slot__time{padding-top:2px;color:#fff;font-size:16px;font-weight:900;font-variant-numeric:tabular-nums}
.schedule-slot__dot{position:relative;width:12px;height:12px;margin-top:5px;border:3px solid #10214f;border-radius:50%;background:#00bcd4;box-shadow:0 0 0 2px rgba(255,255,255,.28)}
.schedule-slot__dot::after{content:"";position:absolute;top:14px;left:50%;width:1px;height:74px;transform:translateX(-50%);background:rgba(255,255,255,.14)}
.schedule-slot:last-child .schedule-slot__dot::after{display:none}
.schedule-slot__topline{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.schedule-slot__topline h4{margin:0;font-size:clamp(18px,2vw,24px);line-height:1.15}
.schedule-slot__tag{flex:0 0 auto;padding:7px 10px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.08);color:rgba(255,255,255,.78);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.schedule-slot__detail{margin:9px 0 0;color:rgba(255,255,255,.67);line-height:1.55}
.schedule-slot.is-break .schedule-slot__dot{background:#36c990}.schedule-slot.is-together .schedule-slot__dot{background:#ff6f30}.schedule-slot.is-choice .schedule-slot__dot{background:#7657ff}.schedule-slot.is-short .schedule-slot__dot{background:#00bcd4}
@media(max-width:980px){.schedule-carousel{grid-template-columns:1fr}.schedule-carousel__arrow{display:none}.schedule-day-strip{grid-template-columns:repeat(4,minmax(76vw,320px));margin-inline:calc(50% - 50vw);padding-inline:18px}}
@media(max-width:680px){.schedule-day-strip{grid-template-columns:repeat(4,minmax(82vw,286px));gap:12px}.schedule-day-card{min-height:270px;padding:24px 20px 20px}.schedule-panel{border-radius:24px}.schedule-panel__header{grid-template-columns:1fr;align-items:start;padding:26px 22px}.schedule-panel__header>strong{justify-self:start}.schedule-slot{grid-template-columns:84px 14px minmax(0,1fr);gap:11px;padding:20px 0}.schedule-slot__time{font-size:13px}.schedule-slot__topline{display:block}.schedule-slot__tag{display:inline-flex;margin-top:8px}}
/* AUG009_SCREEN4_SUMMER_PLANNER_V1_END */

/* AUG009_SCREEN4_FULLWIDTH_BREAKOUT_V2_START */

.schedule-screen.schedule-screen--breakout {
    width: 100vw;
    max-width: none;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding-left: clamp(24px, 4.5vw, 82px);
    padding-right: clamp(24px, 4.5vw, 82px);
    box-sizing: border-box;
}

.schedule-screen.schedule-screen--breakout::before {
    width: calc(100% - clamp(24px, 4vw, 64px));
    max-width: none;
}

.schedule-screen.schedule-screen--breakout .schedule-screen__heading {
    max-width: 1040px;
}

.schedule-screen.schedule-screen--breakout .schedule-carousel,
.schedule-screen.schedule-screen--breakout .schedule-panels {
    width: 100%;
    max-width: none;
}

.schedule-screen.schedule-screen--breakout .schedule-day-strip {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 980px) {
    .schedule-screen.schedule-screen--breakout {
        padding-left: 18px;
        padding-right: 18px;
    }

    .schedule-screen.schedule-screen--breakout .schedule-day-strip {
        grid-template-columns: repeat(4, minmax(76vw, 320px));
    }
}

@media (max-width: 680px) {
    .schedule-screen.schedule-screen--breakout {
        padding-left: 10px;
        padding-right: 10px;
    }

    .schedule-screen.schedule-screen--breakout .schedule-day-strip {
        grid-template-columns: repeat(4, minmax(82vw, 286px));
    }
}

/* AUG009_SCREEN4_FULLWIDTH_BREAKOUT_V2_END */

/* AUG009_SCREEN4_ACCORDION_HEADER_V2_START */

.schedule-panel__header{
    position:relative;
    grid-template-columns:minmax(0,1fr) auto;
    gap:14px 28px;
    align-items:start;
    padding:clamp(34px,4.6vw,62px);
    cursor:pointer;
}

.schedule-panel__date{
    display:flex;
    align-items:baseline;
    flex-wrap:wrap;
    gap:10px 16px;
    color:#fff;
    font-size:clamp(26px,2.35vw,38px);
    font-weight:950;
    letter-spacing:-.025em;
    line-height:1;
    text-transform:uppercase;
}

.schedule-panel__date [data-content-key$=".date"]{
    color:#fff;
    font-size:inherit;
    font-weight:950;
}

.schedule-panel__date [data-content-key$=".weekday"]{
    color:rgba(255,255,255,.68);
    font-size:clamp(18px,1.55vw,25px);
    font-weight:900;
    letter-spacing:.06em;
}

.schedule-panel__header>strong{
    justify-self:end;
    padding:12px 18px;
    border:1px solid rgba(255,255,255,.2);
    border-radius:999px;
    background:rgba(255,255,255,.1);
    color:#fff;
    font-size:clamp(16px,1.35vw,21px);
    font-weight:900;
    line-height:1;
}

.schedule-panel__header>h3{
    grid-column:1/-1;
    margin:12px 72px 0 0;
    max-width:1200px;
    color:#fff;
    font-size:clamp(48px,5.6vw,86px);
    font-weight:950;
    line-height:.92;
    letter-spacing:-.06em;
}

.schedule-panel__header::after{
    content:"⌃";
    position:absolute;
    right:clamp(28px,4vw,54px);
    bottom:clamp(30px,4vw,48px);
    display:grid;
    width:44px;
    height:44px;
    place-items:center;
    border:1px solid rgba(255,255,255,.2);
    border-radius:50%;
    background:rgba(255,255,255,.08);
    color:#fff;
    font-size:22px;
    font-weight:900;
    line-height:1;
}

.schedule-panels.is-collapsed{
    display:none;
}

.schedule-panels:not(.is-collapsed){
    animation:aug009ScheduleOpen .24s ease both;
}

@keyframes aug009ScheduleOpen{
    from{opacity:0;transform:translateY(-8px)}
    to{opacity:1;transform:translateY(0)}
}

.schedule-day-card.is-active{
    transform:translateY(-8px);
    box-shadow:0 30px 68px rgba(16,33,79,.2);
}

@media(max-width:980px){
    .schedule-panel__header{
        grid-template-columns:1fr;
        gap:14px;
        padding:32px 26px 38px;
    }

    .schedule-panel__header>strong{
        justify-self:start;
    }

    .schedule-panel__header>h3{
        margin-right:54px;
    }

    .schedule-panel__header::after{
        right:24px;
        bottom:28px;
    }
}

@media(max-width:680px){
    .schedule-panel__date{
        font-size:28px;
    }

    .schedule-panel__date [data-content-key$=".weekday"]{
        font-size:17px;
    }

    .schedule-panel__header>strong{
        font-size:15px;
    }

    .schedule-panel__header>h3{
        margin-top:8px;
        margin-right:44px;
        font-size:44px;
    }

    .schedule-panel__header::after{
        width:38px;
        height:38px;
        right:18px;
        bottom:24px;
        font-size:19px;
    }
}

/* AUG009_SCREEN4_ACCORDION_HEADER_V2_END */


/* AUG009_SCREEN4_DAYTITLE_EMPHASIS_V3_START */

.schedule-screen .schedule-panel .schedule-panel__header {
    gap: 8px 28px !important;
}

.schedule-screen .schedule-panel .schedule-panel__header > h3,
.schedule-screen .schedule-panel .schedule-panel__header [data-content-key$=".theme"],
.schedule-screen .schedule-panel .schedule-panel__header [data-content-key$=".title"] {
    display: block !important;
    grid-column: 1 / -1 !important;
    margin: 2px 72px 0 0 !important;
    max-width: 1200px !important;
    color: #ffffff !important;
    font-size: clamp(72px, 8vw, 132px) !important;
    font-weight: 950 !important;
    line-height: 0.9 !important;
    letter-spacing: -0.07em !important;
}

.schedule-screen .schedule-panel .schedule-panel__date {
    font-size: clamp(22px, 2vw, 32px) !important;
}

.schedule-screen .schedule-panel .schedule-panel__date [data-content-key$=".weekday"] {
    font-size: clamp(17px, 1.45vw, 23px) !important;
    color: rgba(255,255,255,.72) !important;
}

@media (max-width: 980px) {
    .schedule-screen .schedule-panel .schedule-panel__header > h3,
    .schedule-screen .schedule-panel .schedule-panel__header [data-content-key$=".theme"],
    .schedule-screen .schedule-panel .schedule-panel__header [data-content-key$=".title"] {
        margin-right: 56px !important;
        font-size: clamp(56px, 7vw, 92px) !important;
    }
}

@media (max-width: 680px) {
    .schedule-screen .schedule-panel .schedule-panel__header > h3,
    .schedule-screen .schedule-panel .schedule-panel__header [data-content-key$=".theme"],
    .schedule-screen .schedule-panel .schedule-panel__header [data-content-key$=".title"] {
        margin-right: 42px !important;
        font-size: 48px !important;
        line-height: 0.92 !important;
    }
}

/* AUG009_SCREEN4_DAYTITLE_EMPHASIS_V3_END */

/* AUG009_SCREEN4_DAYTITLE_BALANCE_V4_START */

.schedule-screen .schedule-panel .schedule-panel__header > h3,
.schedule-screen .schedule-panel .schedule-panel__header [data-content-key$=".theme"],
.schedule-screen .schedule-panel .schedule-panel__header [data-content-key$=".title"] {
    font-size: clamp(52px, 4.6vw, 68px) !important;
    line-height: 0.98 !important;
    letter-spacing: -0.045em !important;
    max-width: 1100px !important;
    margin-top: 10px !important;
}

@media (max-width: 980px) {
    .schedule-screen .schedule-panel .schedule-panel__header > h3,
    .schedule-screen .schedule-panel .schedule-panel__header [data-content-key$=".theme"],
    .schedule-screen .schedule-panel .schedule-panel__header [data-content-key$=".title"] {
        font-size: clamp(46px, 5.5vw, 58px) !important;
        line-height: 1 !important;
    }
}

@media (max-width: 680px) {
    .schedule-screen .schedule-panel .schedule-panel__header > h3,
    .schedule-screen .schedule-panel .schedule-panel__header [data-content-key$=".theme"],
    .schedule-screen .schedule-panel .schedule-panel__header [data-content-key$=".title"] {
        font-size: clamp(38px, 10vw, 44px) !important;
        line-height: 1.02 !important;
        letter-spacing: -0.035em !important;
    }
}

/* AUG009_SCREEN4_DAYTITLE_BALANCE_V4_END */

/* AUG009_SCREEN4_TIMELINE_AJAX_EDITOR_V5_START */

/*
 * Публично технический source по-прежнему скрыт.
 * В superuser AJAX editor он становится отдельной editable-панелью.
 */
html.ai-editor-active .schedule-timeline-editor-source {
    display: block !important;
    position: relative;
    margin: 22px clamp(26px, 4vw, 54px) 8px !important;
    padding: 54px 22px 22px !important;
    border: 1px dashed rgba(255,255,255,.34) !important;
    border-radius: 20px !important;
    background: rgba(255,255,255,.075) !important;
}

html.ai-editor-active .schedule-timeline-editor-source::before {
    content: "РЕДАКТИРОВАНИЕ РАСПИСАНИЯ ДНЯ";
    position: absolute;
    top: 18px;
    left: 22px;
    color: rgba(255,255,255,.58);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

html.ai-editor-active .schedule-timeline-editor-source > [data-ai-editable="1"][data-content-key] {
    display: block !important;
    min-height: 90px !important;
    padding: 16px !important;
    border-radius: 12px !important;
    background: rgba(5,16,48,.28) !important;
    color: rgba(255,255,255,.92) !important;
    white-space: pre-wrap !important;
    font-family: ui-monospace, SFMono-Regular, Consolas, monospace !important;
    font-size: 13px !important;
    line-height: 1.65 !important;
}

html.ai-editor-active .schedule-timeline-editor-source small {
    display: block !important;
    margin-top: 12px !important;
    color: rgba(255,255,255,.55) !important;
    font-size: 12px !important;
}

/* Старый селектор оставляем совместимым */
html.content-editor-active .schedule-timeline-editor-source {
    display: block;
}

/* AUG009_SCREEN4_TIMELINE_AJAX_EDITOR_V5_END */

/* AUG010_STEP008K_MOBILE_SCHEDULE_V1_START */

@media (max-width: 980px) {
    .schedule-day-strip {
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scroll-padding-inline: 16px;
        scroll-behavior: smooth;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-inline: contain;
        touch-action: pan-x pan-y;
    }

    .schedule-day-card {
        scroll-snap-align: center;
    }

    .schedule-panels {
        overflow: hidden;
        touch-action: pan-y;
        overscroll-behavior-x: contain;
    }

    .schedule-panel {
        width: 100%;
        box-sizing: border-box;
    }

    .schedule-panels.is-swipe-next .schedule-panel.is-active {
        animation: aug010Step008kScheduleNext .24s ease-out both;
    }

    .schedule-panels.is-swipe-prev .schedule-panel.is-active {
        animation: aug010Step008kSchedulePrev .24s ease-out both;
    }
}

@keyframes aug010Step008kScheduleNext {
    from {
        opacity: .45;
        transform: translateX(22px);
    }
    to {
        opacity: 1;
        transform: none;
    }
}

@keyframes aug010Step008kSchedulePrev {
    from {
        opacity: .45;
        transform: translateX(-22px);
    }
    to {
        opacity: 1;
        transform: none;
    }
}

@media (max-width: 680px) {
    .schedule-day-strip {
        grid-template-columns: repeat(4, minmax(82vw, 286px));
        gap: 12px;
        padding-inline: 16px;
    }
}

/* AUG010_STEP008K_MOBILE_SCHEDULE_V1_END */
