/* ================================================
   School Schedule — Quantum College Design
   Colors: #002D48, #D7F1F0, #04A7A1
   Fonts: Mardoto family
   ================================================ */

/* ---- PAGE CONTAINER ---- */
#shedule {
    padding-top: 20px;
}

#shedule > p { margin: 0; }

/* ---- LABEL ---- */
#shedule > label,
#shedule label {
    font-family: 'Mardoto-Medium', sans-serif;
    font-size: 20px;
    font-weight: 500;
    color: #002D48;
    display: block;
    margin: 0 0 16px;
    text-align: center;
}

/* ---- CLASS SELECTOR ---- */
.select-classes {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    border: 1px solid rgba(0, 45, 72, 0.15);
    padding: 18px 48px 18px 24px;
    line-height: 100%;
    border-radius: 80px;
    font-family: 'Mardoto-Medium', sans-serif;
    font-size: 18px;
    color: #002D48;
    display: block;
    margin: 0 auto 40px;
    max-width: 600px;
    background-color: #fff;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1.5L7 7.5L13 1.5' stroke='%23002D48' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 20px center;
    cursor: pointer;
    transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.select-classes:focus {
    outline: none;
    border-color: #04A7A1;
    box-shadow: 0 0 0 3px rgba(4, 167, 161, 0.15);
}

.select-classes:hover {
    border-color: rgba(0, 45, 72, 0.3);
}

.select-classes option {
    font-family: 'Mardoto-Medium', sans-serif;
    font-size: 16px;
    padding: 8px;
}

.select-classes optgroup {
    font-family: 'Mardoto-Bold', sans-serif;
    font-size: 15px;
    color: #002D48;
}

/* ---- WEEK NAVIGATION ---- */
.selector-for-days {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 16px;
    margin-bottom: 40px;
}

.arrow-block {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #D7F1F0;
    border: 1px solid rgba(0, 45, 72, 0.06);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
    display: flex;
    justify-content: center;
    align-items: center;
    transition: background 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
    cursor: pointer;
}

.arrow-block:hover {
    background: #04A7A1;
    transform: scale(1.08);
    box-shadow: 0 4px 12px rgba(4, 167, 161, 0.25);
}

.arrow-block a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.arrow-block img {
    max-width: 18px;
    transition: filter 0.25s ease;
}

.arrow-block:hover img {
    filter: brightness(0) invert(1);
}

.selector-for-days p,
.selector-for-days .month-titles p {
    font-family: 'Mardoto-Medium', sans-serif;
    font-size: 20px;
    line-height: 1.2;
    color: #002D48;
    margin: 0;
    padding: 8px 24px;
    background: #D7F1F0;
    border-radius: 80px;
    white-space: nowrap;
}

.selector-for-days p span,
.selector-for-days .month-titles p span {
    font-family: 'Mardoto-Regular', sans-serif;
    font-size: 20px;
    color: rgba(0, 45, 72, 0.5);
}

/* ---- SCHEDULE CARD ---- */
.main_calendar {
    margin-bottom: 32px;
}

.schedule-container {
    font-family: 'Mardoto-Regular', sans-serif;
    background-color: #ffffff;
    border-radius: 32px;
    box-shadow: 4px 4px 12px 0 rgba(0, 0, 0, 0.06);
    overflow: hidden;
    border: 1px solid rgba(0, 45, 72, 0.08);
    padding: 0;
}

/* ---- SCHEDULE TABLE ---- */
.schedule-table {
    width: 100%;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0;
    border: none;
    border-radius: 32px;
    overflow: hidden;
}

.schedule-table th,
.schedule-table td {
    border: 1px solid rgba(0, 45, 72, 0.08);
    padding: 10px 8px;
    text-align: center;
    vertical-align: top;
}

/* Table Header */
.schedule-table thead th {
    background: #002D48;
    color: #fff;
    font-family: 'Mardoto-Medium', sans-serif;
    font-weight: 500;
    font-size: 15px;
    padding: 16px 8px;
    border: none;
    border-right: 1px solid rgba(255, 255, 255, 0.1);
}

.schedule-table thead th:first-child {
    border-top-left-radius: 32px;
}

.schedule-table thead th:last-child {
    border-right: none;
    border-top-right-radius: 32px;
}

.schedule-table thead .currentDay {
    background: #04A7A1;
}

/* Time Slot Column */
.schedule-table .time-slot {
    text-align: center;
    font-family: 'Mardoto-Bold', sans-serif;
    font-weight: 600;
    font-size: 14px;
    width: 130px;
    color: #002D48;
    background: rgba(0, 45, 72, 0.02);
    vertical-align: middle;
    padding: 12px 8px;
}

.schedule-table .time-slot span {
    display: block;
    font-family: 'Mardoto-Regular', sans-serif;
    font-weight: normal;
    font-size: 12px;
    color: rgba(0, 45, 72, 0.5);
    margin-top: 4px;
}

/* Table Body Cells */
.schedule-table tbody td {
    background: #fff;
    transition: background 0.15s ease;
    vertical-align: top;
    padding: 6px;
}

.schedule-table tbody td:hover {
    background: rgba(215, 241, 240, 0.15);
}

/* ---- LESSON CARDS ---- */
.lesson-card {
    position: relative;
    display: block;
    background: linear-gradient(135deg, #04A7A1, #038f8a);
    color: white;
    border-radius: 16px;
    padding: 14px 12px;
    text-align: left;
    width: 100%;
    margin: 3px 0;
    box-shadow: 0 2px 8px rgba(4, 167, 161, 0.2);
    font-size: 13px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.lesson-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(4, 167, 161, 0.3);
}

.lesson-card.cancelled {
    background: linear-gradient(135deg, #AD85EE, #9570d6);
    box-shadow: 0 2px 8px rgba(173, 133, 238, 0.2);
    opacity: 0.85;
}

.lesson-card.cancelled:hover {
    box-shadow: 0 6px 16px rgba(173, 133, 238, 0.3);
}

.lesson-card .subject {
    font-family: 'Mardoto-Regular', sans-serif;
    font-size: 14px;
    line-height: 1.3;
    margin-bottom: 6px;
}

.lesson-card .teacher {
    font-family: 'Mardoto-Regular', sans-serif;
    font-size: 13px;
    line-height: 1.4;
    opacity: 0.9;
}

.lesson-card .icon {
    margin-right: 5px;
}

.lesson-card .actions {
    position: absolute;
    top: 6px;
    right: 10px;
}

.lesson-card .actions a {
    color: white;
    text-decoration: none;
    font-weight: bold;
    font-size: 18px;
    opacity: 0.6;
    transition: opacity 0.2s ease;
    line-height: 1;
}

.lesson-card .actions a:hover {
    opacity: 1;
}

/* ---- LEGEND ---- */
.colors-block {
    display: flex;
    justify-content: flex-start;
    gap: 16px;
    flex-wrap: wrap;
    margin-top: 8px;
}

.colors-block-main {
    display: flex;
    width: auto;
    max-width: none;
    border-radius: 80px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
    background: #FFFFFF;
    border: 1px solid rgba(0, 45, 72, 0.08);
}

.colors-block-item {
    width: 100%;
    padding: 14px 20px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 14px;
}

.color-circle-green {
    background: linear-gradient(135deg, #04A7A1, #038f8a);
    box-shadow: 0 2px 6px rgba(4, 167, 161, 0.3);
    width: 36px;
    min-width: 36px;
    height: 36px;
    border-radius: 50%;
}

.color-circle-blue {
    background: linear-gradient(135deg, #418CFD, #3576e0);
    box-shadow: 0 2px 6px rgba(65, 140, 253, 0.3);
    width: 36px;
    min-width: 36px;
    height: 36px;
    border-radius: 50%;
}

.color-circle-purple {
    background: linear-gradient(135deg, #AD85EE, #9570d6);
    box-shadow: 0 2px 6px rgba(173, 133, 238, 0.3);
    width: 36px;
    min-width: 36px;
    height: 36px;
    border-radius: 50%;
}

.color-name p {
    font-family: 'Mardoto-Regular', sans-serif;
    font-size: 16px;
    line-height: 1.3;
    color: #002D48;
    margin: 0;
}

/* ---- ADMIN TOOLS ---- */
.ank_aer {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 24px;
    margin-bottom: 24px;
}

.ank_aer a {
    text-decoration: none;
}

.ank_aer a > div {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    padding: 12px 22px;
    border-radius: 80px;
    border: 1px solid rgba(0, 45, 72, 0.12);
    background: #fff;
    float: none !important;
    transition: all 0.25s ease;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
}

.ank_aer a > div:hover {
    background: #D7F1F0;
    border-color: rgba(4, 167, 161, 0.3);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(4, 167, 161, 0.15);
}

.ank_aer a > div > div {
    display: inline-flex !important;
    align-items: center;
}

.ank_aer a img {
    filter: brightness(0) saturate(100%) invert(15%) sepia(30%) saturate(1500%) hue-rotate(170deg);
}

.ank_aer span {
    font-family: 'Mardoto-Medium', sans-serif;
    font-size: 15px;
    line-height: 1.2;
    color: #002D48;
    margin-left: 4px !important;
}

/* ---- UTILITIES ---- */
.clear { clear: both; }

/* ================================================
   DIALOG / FORM STYLES (loaded via AJAX)
   These old-style rules are needed for edit dialogs
   ================================================ */

/* Week selector in old dialogs */
.week_selector {
    width: 90%;
    max-width: 400px;
    font-size: 125%;
    padding-top: 7px;
    margin-bottom: 50px;
}
.week_selector table { width: 100%; }
.week_selector table td { width: 33%; }
.week_but_prev a img, .week_but_next a img { border: none; }

/* Old table styles for dialogs */
.table_head { border-collapse: collapse; width: 100%; padding: 0; margin: 0; }
.head_days { border-collapse: collapse; width: 100%; padding: 0; margin: 0; }
.head_days td {
    border: 1px solid #C9C9C9;
    background: url(/bitrix/images/bitrix.schoolschedule/calendar/event_calendar/day_bg.gif) repeat-x;
    text-align: center; vertical-align: top; height: 40px;
}
.head_days td.curent_day, .head_days td.current_day {
    border: 1px solid #C9C9C9; font-weight: bold;
}

.time_area { width: 99%; position: relative; }
.time_table { border-collapse: collapse; width: 100%; text-align: center; margin-bottom: 0; }
.time_table td div { width: auto; padding: 0 0 0 2px; }
.time_table td div:active { background: #41CBB7; }
.time_table div.cellDiv { border-bottom: solid 1px #C9C9C9; }

/* Cell color classes (for old-style dialogs) */
.talon_color { background-color: #D3F0D4 !important; font-size: 11px; text-align: left; }
.talon_color a { font-size: 11px; }
.fill_color { background: #E57F99 !important; }
.line_color { background-color: #DAE8F7 !important; }
.line_color p { color: #355FAE; }
.hospital_color { background: #E5E5E5 !important; color: #858585; }
.busy_color { font-size: 11px; text-align: left; background: #E57F99 !important; }
.busy_color span { color: #79545A; }
.wish_color { background-color: #F0D3EE; }
.old_color { background-color: #ebe9d9 !important; }
.vacation_color { background-color: #f8f2d1; }
.legendItem { width: 100px; text-align: center; }

/* Dialog-specific styles */
.start_hour1 td.current_day { height: 20px; border: 1px solid #C9C9C9; background: #E9F3C3; }
.start_hour1 td.left_row { height: 20px; border: 1px solid #C9C9C9; background: #FDFDFD; font-size: 75%; color: #808080 !important; }
.start_hour1 td.free_class0 { background: #DEBEDE !important; }
.start_hour1 td.turn_class { background: #8fd8e8 !important; }
.start_hour1 td.free_class01, .start_hour1 td.free_class11 { background: #E5E5E5 !important; color: #858585 !important; }
.start_hour td.free_class0 { background: #DEBEDE !important; }
.start_hour1 td.free_class1, .start_hour td.free_class1 { background: #C5E29F !important; }
.start_hour1 td.n_free_class, .start_hour td.n_free_class { background: #E57F99 !important; }

.services_specialists { width: 100%; }
.r_link { text-decoration: none; }

div.warning { color: #F15A24; font-size: 16px; margin-bottom: 15px; }

#periods_block { float: left; min-height: 482px; width: 30%; border-right: 1px solid #C9C9C9; }
#description_block { float: right; min-height: 482px; width: 69%; }
.period_rec { border-bottom: 1px dotted #C9C9C9; padding: 10px; margin-right: 10px; float: none; }
.period_edit { float: right; margin: 0 6px 3px 6px; }
.period_info_hiden { display: none; }
.param { margin: 10px; }

#gray_conteniner { display: none; position: absolute; width: 100%; height: 100%; background-color: rgba(128,128,128,0.5); z-index: 2001 !important; left: 0; top: 0; }
#add_period_block { display: none; margin: 0; width: 100%; height: 95%; background-color: transparent; z-index: 100001 !important; }
#close_add_period { padding: 10px; background-repeat: repeat-x; background-position: 0 -296px; background-image: url("/bitrix/js/main/core/images/dialog_borders_tb_sprite01.png"); }
#edit_period_block { margin: 10px; }
.add_select { width: 100%; }
.add_input { width: 47%; }
#add_period_services, #add_period_services_block { width: 100%; }
.center_buttons { width: 100%; text-align: center !important; height: 36px; padding: 8px 0 0 0; }

#error_message { position: absolute; margin: 27px; width: 90%; top: 250px; z-index: 110000 !important; border: 2px solid #FF0000; background-color: white; display: none; left: 0; }
#error_message1 { position: absolute; margin: 10px; width: 90%; top: 40px; z-index: 110000 !important; border: 2px solid #FF0000; background-color: white; display: none; }
div.icon-error { background-image: url("/bitrix/images/bitrix.schoolschedule/calendar/event_calendar/icon_error.gif"); height: 32px; width: 32px; margin-left: 10px; margin-right: 20px; float: left; }

/* Old dialog week/check styles */
.weeks { color: #999; padding: 0 20px 10px; background: url('images/dot_popup.gif') 0 100% repeat-x; height: 20px; }
.weeks .prev, .weeks .next { float: left; width: 20px; height: 20px; }
.weeks .prev a, .weeks .prev a:hover { display: block; width: 20px; height: 20px; background: url('images/button_prev.gif') no-repeat; }
.weeks .next a, .weeks .next a:hover { display: block; width: 20px; height: 20px; background: url('images/button_next.gif') no-repeat; }
.weeks .date { float: left; width: 225px; color: #000; font-size: 13px; text-align: center; margin: 0 10px; padding: 2px 5px; background-color: #ADCF80; border-radius: 3px; }
.checks { padding: 7px; background: url('images/dot_popup.gif') 0 100% repeat-x; height: 45px; }
.checks .item { margin: 5px 0; display: block; float: none; }
.checks .item input { float: left; width: 14px; height: 14px; margin: 1px 12px 1px 3px; }
.checks .item label { float: left; color: #999; margin: 0 0 0 5px; }
.repeats { padding: 8px 0; }
.repeats label, .repeats span { float: left; color: #999; margin: 4px 8px 3px 0; }
.repeats span { padding: 0 0 0 8px; }
.repeats input { float: left; width: 20px; color: #000; font-size: 12px; font-family: Arial; text-align: center; margin: 0 8px 0 0; }
.field_separator { height: 5px; }

/* Delete/restore buttons in dialogs */
.delete { cursor: pointer; position: absolute; top: 2px; right: 3px; width: 10px; height: 10px; background: url('images/icon_delete.png') no-repeat; }
.retr { cursor: pointer; position: absolute; top: 2px; right: 3px; width: 15px; height: 15px; background: url('images/confirm.png') no-repeat; }

/* Old calendar header in dialogs */
#shedule .main_calendar .calendar_header { margin: 0 0 20px; }
#shedule .main_calendar .calendar_header h2 { color: #000; font-size: 24px; font-weight: bold; font-family: 'Trebuchet MS'; text-transform: uppercase; margin: 0 !important; padding: 0 !important; }
#shedule .main_calendar .time_area { margin: 0 0 5px; padding: 1px 0; }
#shedule .main_calendar .time_area table { width: 100%; border-collapse: collapse; margin-bottom: 0; }
#shedule .main_calendar .time_area table thead th { border-right: 1px solid #dadada; padding: 16px 5px; background-color: #E3E3E3; }
#shedule .main_calendar .time_area table thead th.currentDay { background: #5E5F61; color: #FFF; }
#shedule .main_calendar .time_area table tfoot td { height: 13px; border-left: 1px solid #C2C2C2; border-right: 1px solid #C2C2C2; background: #F3F3F3; }
#shedule .main_calendar .time_area table tbody th { vertical-align: top; padding: 5px; border-bottom: 1px solid #dadada; border-left: 1px solid #dadada; }
#shedule .main_calendar .time_area table tbody td { width: 110px; height: 25px; vertical-align: top; padding: 0; border: 1px solid #dadada; overflow: hidden; }
#shedule .main_calendar .time_area table tbody td .item { position: relative; font-size: 12px; font-family: 'Trebuchet MS'; padding: 13px 0; text-align: center; border-top: 1px solid #ccc; height: 100%; border-radius: 3px; }
#shedule .main_calendar .time_area table tbody td .item a { color: #355FAE; }
#shedule .main_calendar .time_area table tbody td .item a:hover { color: #CB2727; }

/* Old legend */
div.legend div.legend-right { float: left; height: 35px; width: 100px; line-height: 34px; margin: 0 14px 5px 0; }
div.legend .talon_color { font-size: 13px; text-align: center; }
div.legend .fill_color, div.legend .turn_color { width: 100px; text-align: center; }
div.legend .old_color { width: 100px; text-align: center; color: #858585; }
div.legend span.hint { font-size: 10px; font-style: italic; }

#shedule .whois { margin-bottom: 15px; max-width: 860px; }
#shedule .whois ul { float: left !important; width: 100% !important; margin: 0 0 40px 0 !important; }
#shedule .whois ul li { color: #999 !important; margin: 0 0 10px !important; padding: 0 0 0 20px !important; background: none !important; line-height: 20px !important; }
#shedule .whois ul li span.legend { display: inline-block !important; margin: 0 3px 0 -20px !important; padding: 0; width: 12px !important; height: 20px !important; border-radius: 2px !important; border: 1px solid #90B291 !important; background: none; }

/* Description blocks */
#shedule .description { width: 670px; }
#shedule .description h3, #instr h3 { color: #999; font-size: 15px; font-family: 'Trebuchet MS'; text-transform: uppercase; margin: 0 0 10px; }
#shedule .description h2, #instr h2 { color: #111; font-size: 24px; font-weight: bold; font-family: 'Trebuchet MS'; margin: 0 0 10px; }
#shedule .description p, #instr p { color: #111; font-size: 14px; line-height: 20px; }

:focus { -moz-outline: 3px solid #fff !important; }
h2 { padding: 15px !important; }

/* Dialog buttons */
#cancel { display: block; cursor: pointer !important; width: auto !important; height: 18px !important; color: #FFF !important; font-size: 12px !important; font-family: Arial, Tahoma, Verdana, sans-serif !important; text-decoration: none !important; background: url('images/button_red.gif') repeat !important; border-radius: 5px !important; border: solid 1px #CF092E !important; float: right !important; margin-bottom: 10px !important; padding: 0 10px !important; }
#cancel:hover { color: #333; background-position: 0 -18px; }
#ok { display: block; cursor: pointer !important; width: auto !important; height: 18px !important; color: #000 !important; border-radius: 5px !important; font-size: 12px !important; text-align: center !important; font-family: Arial, Tahoma, Verdana, sans-serif !important; background: url('images/button_green.gif') 100% 0 repeat !important; border: solid 1px #799652 !important; float: right !important; margin-bottom: 10px !important; padding: 0 10px !important; }
#ok:hover { color: #333; background-position: 100% -18px; }
#close_button { display: block; cursor: pointer !important; width: auto !important; height: 18px !important; color: #FFF !important; font-size: 12px !important; font-family: Arial, Tahoma, Verdana, sans-serif !important; text-decoration: none !important; background: url('images/button_red.gif') repeat !important; border-radius: 5px; border: solid 1px #CF092E !important; float: right; margin-bottom: 10px !important; padding: 0 10px !important; }
#close_button:hover { color: #333; background-position: 0 -18px; }
#add_button, #update_button { display: block; cursor: pointer !important; width: auto !important; height: 18px !important; color: #000 !important; border-radius: 5px !important; font-size: 12px !important; text-align: center !important; font-family: Arial, Tahoma, Verdana, sans-serif !important; background: url('images/button_green.gif') 100% 0 repeat !important; border: solid 1px #799652 !important; float: right !important; margin-bottom: 10px !important; padding: 0 10px !important; }
#add_button:hover, #update_button:hover { color: #333; background-position: 100% -18px; }

/* Old select in dialogs */
.select1, .select2 { background-color: #fafafa; border: 1px solid #c4c4c4; font-size: 16px; height: 28px; line-height: 28px; margin: 0; padding: 0 0 0 4px; border-radius: 5px 0 0 5px; }
.select1 { color: #666; }

#description_block #descr ul li, #instr ul li { background: url("images/li.gif") no-repeat scroll left 5px transparent; list-style: none outside none; margin: 0 0 5px; padding: 1px 0 2px 20px; }
.lesson_break, .lesson_break td, .lesson_break th { background: #F3F3F3; height: 5px !important; line-height: 10%; margin: 0; padding: 0; }
#change_templ { margin: 20px 15px 3px 6px !important; }
.times_block div { display: inline; margin-bottom: 10px; }
.period_link_block { width: 100px; }
.times_block input { width: 40px !important; }
#add_period_services_block option { padding-left: 20px; }

/* ================================================
   MOBILE VERSION
   ================================================ */

.schedule-mobile {
    display: none;
}

/* ---- TABLET ---- */
@media screen and (min-width: 769px) and (max-width: 1200px) {
    .schedule-container {
        padding: 0;
        border-radius: 25px;
    }

    .schedule-table {
        border-radius: 25px;
    }

    .lesson-card {
        font-size: 12px;
        padding: 10px 10px;
        border-radius: 14px;
    }

    .lesson-card .subject {
        font-size: 13px;
    }

    .lesson-card .teacher {
        font-size: 12px;
    }

    .selector-for-days p,
    .selector-for-days .month-titles p {
        font-size: 18px;
    }

    .colors-block-item {
        padding: 12px 16px;
    }

    .color-name p {
        font-size: 15px;
    }
}

/* ---- MOBILE ---- */
@media screen and (max-width: 768px) {
    #shedule {
        padding: 20px 0;
    }

    .main_calendar {
        padding: 0;
    }

    .schedule-container {
        padding: 0;
        border-radius: 20px;
        border: none;
        box-shadow: none;
        background: transparent;
    }

    /* Hide desktop table */
    .schedule-table {
        display: none;
    }

    /* Show mobile version */
    .schedule-mobile {
        display: block;
    }

    /* Day block */
    .mobile-day-block {
        background: #ffffff;
        border-radius: 20px;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
        border: 1px solid rgba(0, 45, 72, 0.08);
        padding: 16px;
        margin-bottom: 20px;
    }

    .mobile-day-block.currentDay {
        border: 2px solid #04A7A1;
        box-shadow: 0 4px 16px rgba(4, 167, 161, 0.15);
    }

    /* Day header */
    .mobile-day-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 12px 16px;
        background: rgba(0, 45, 72, 0.03);
        border-radius: 14px;
        margin-bottom: 16px;
    }

    .mobile-day-block.currentDay .mobile-day-header {
        background: #04A7A1;
        color: #ffffff;
    }

    .mobile-day-header h3 {
        font-family: 'Mardoto-Medium', sans-serif;
        font-size: 18px;
        font-weight: 500;
        margin: 0;
        color: #002D48;
    }

    .mobile-day-block.currentDay .mobile-day-header h3 {
        color: #ffffff;
    }

    .mobile-edit-day {
        display: inline-flex;
        align-items: center;
        padding: 4px;
    }

    /* Lesson block */
    .mobile-lesson-block {
        margin-bottom: 16px;
        border-left: 4px solid #04A7A1;
        padding-left: 12px;
    }

    .mobile-lesson-block:last-child {
        margin-bottom: 0;
    }

    /* Time slot */
    .mobile-time-slot {
        background: rgba(0, 45, 72, 0.03);
        border-radius: 10px;
        padding: 8px 12px;
        margin-bottom: 10px;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .mobile-time-slot .time-number {
        font-family: 'Mardoto-Medium', sans-serif;
        font-size: 16px;
        font-weight: 600;
        color: #002D48;
    }

    .mobile-time-slot .time-range {
        font-size: 14px;
        color: rgba(0, 45, 72, 0.5);
    }

    .mobile-time-slot .time-range span {
        font-weight: 500;
    }

    .mobile-lessons-wrapper {
        display: flex;
        flex-direction: column;
        gap: 8px;
    }

    .lesson-card {
        width: 100%;
        margin: 0;
        border-radius: 14px;
        padding: 14px;
    }

    .lesson-card .subject {
        font-size: 16px;
        margin-bottom: 6px;
    }

    .lesson-card .teacher {
        font-size: 14px;
    }

    .mobile-no-lessons {
        text-align: center;
        padding: 20px;
        color: rgba(0, 45, 72, 0.4);
    }

    .mobile-no-lessons p {
        margin: 0;
        font-family: 'Mardoto-Regular', sans-serif;
        font-size: 14px;
    }

    /* Selector */
    .select-classes {
        width: 100%;
        max-width: 100%;
        padding: 14px 44px 14px 18px;
        font-size: 16px;
        margin: 0 auto 24px;
    }

    #shedule label {
        text-align: center;
        margin-bottom: 16px;
        font-size: 18px;
    }

    /* Week navigation */
    .selector-for-days {
        margin-bottom: 24px;
        gap: 8px;
    }

    .selector-for-days p,
    .selector-for-days .month-titles p {
        font-size: 15px;
        padding: 6px 16px;
    }

    .selector-for-days p span,
    .selector-for-days .month-titles p span {
        font-size: 15px;
    }

    .arrow-block {
        width: 38px;
        height: 38px;
    }

    .arrow-block img {
        max-width: 16px;
    }

    /* Legend */
    .colors-block {
        flex-direction: column;
        gap: 10px;
    }

    .colors-block-item {
        padding: 12px 14px;
        gap: 12px;
    }

    .color-circle-green,
    .color-circle-blue,
    .color-circle-purple {
        width: 32px;
        min-width: 32px;
        height: 32px;
    }

    .color-name p {
        font-size: 14px;
    }

    /* Admin tools */
    .ank_aer {
        flex-direction: column;
        gap: 10px;
        margin-top: 20px;
    }

    .ank_aer a {
        width: 100%;
    }

    .ank_aer a > div {
        justify-content: center;
        padding: 12px;
        border-radius: 14px;
        width: 100%;
    }

    .ank_aer span {
        font-size: 14px;
    }
}

/* ---- SMALL MOBILE ---- */
@media screen and (max-width: 480px) {
    #shedule {
        padding: 16px 0;
    }

    #shedule label {
        font-size: 16px;
        margin-bottom: 12px;
    }

    .select-classes {
        font-size: 14px;
        padding: 12px 40px 12px 16px;
    }

    .mobile-day-block {
        border-radius: 16px;
        padding: 12px;
    }

    .mobile-day-header {
        padding: 10px 12px;
        border-radius: 10px;
    }

    .mobile-day-header h3 {
        font-size: 16px;
    }

    .lesson-card {
        padding: 12px;
        border-radius: 12px;
    }

    .lesson-card .subject {
        font-size: 14px;
    }

    .lesson-card .teacher {
        font-size: 13px;
    }

    .mobile-time-slot .time-number {
        font-size: 14px;
    }

    .mobile-time-slot .time-range {
        font-size: 13px;
    }

    .selector-for-days p,
    .selector-for-days .month-titles p {
        font-size: 13px;
        padding: 6px 12px;
    }

    .color-name p {
        font-size: 13px;
    }
}
