/* SCLNAU — Розклад занять та вичитка. Палітра сайту. Scoped під .sclnau-tt */
.sclnau-tt{
    --tt-accent:#5cba3c; --tt-accent-dark:#2b751e; --tt-accent-light:#eaf6e4;
    --tt-ink:#21331c; --tt-muted:#5a5f55; --tt-border:#dfe7da;
    --tt-red:#d64545; --tt-red-light:#fbeaea;
    --tt-card:#fff; --tt-shadow:0 4px 18px rgba(33,51,28,.08);
    color:var(--tt-ink); font-size:16px; line-height:1.5;
    max-width:920px; margin:0 auto;
}
.sclnau-tt *{box-sizing:border-box}

/* ---- Іконки (CSS-mask, data-URI; без Font Awesome) ---- */
.sclnau-tt-ic{
    display:inline-block; width:1em; height:1em; vertical-align:-.12em;
    margin-right:.35em; background-color:currentColor; flex:0 0 auto;
    -webkit-mask:center/contain no-repeat; mask:center/contain no-repeat;
}
.sclnau-tt-ic--clock{-webkit-mask-image:var(--ic-clock);mask-image:var(--ic-clock)}
.sclnau-tt-ic--user{-webkit-mask-image:var(--ic-user);mask-image:var(--ic-user)}
.sclnau-tt-ic--users{-webkit-mask-image:var(--ic-users);mask-image:var(--ic-users)}
.sclnau-tt-ic--pin{-webkit-mask-image:var(--ic-pin);mask-image:var(--ic-pin)}
.sclnau-tt-ic--hash{-webkit-mask-image:var(--ic-hash);mask-image:var(--ic-hash)}
.sclnau-tt{
    --ic-clock:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm.5-13H11v6l5.25 3.15.75-1.23-4.5-2.67z'/%3E%3C/svg%3E");
    --ic-user:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z'/%3E%3C/svg%3E");
    --ic-users:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5c-1.66 0-3 1.34-3 3s1.34 3 3 3zm-8 0c1.66 0 2.99-1.34 2.99-3S9.66 5 8 5 5 6.34 5 8s1.34 3 3 3zm0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5c0-2.33-4.67-3.5-7-3.5zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5z'/%3E%3C/svg%3E");
    --ic-pin:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5a2.5 2.5 0 010-5 2.5 2.5 0 010 5z'/%3E%3C/svg%3E");
    --ic-hash:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 10V8h-4V4h-2v4h-4V4H8v4H4v2h4v4H4v2h4v4h2v-4h4v4h2v-4h4v-2h-4v-4h4zm-6 4h-4v-4h4v4z'/%3E%3C/svg%3E");
}

/* ---- Панель вибору ---- */
.sclnau-tt-controls{
    display:flex; gap:1rem; flex-wrap:wrap; align-items:flex-end;
    background:var(--tt-card); padding:1.25rem; border-radius:14px;
    box-shadow:var(--tt-shadow); margin-bottom:1.5rem;
}
.sclnau-tt-field{display:flex; flex-direction:column; min-width:200px}
.sclnau-tt-field--grow{flex:1 1 320px}
.sclnau-tt-label{font-weight:600; margin-bottom:.4rem; color:var(--tt-accent-dark)}
.sclnau-tt-select,.sclnau-tt-input{
    width:100%; padding:.65rem .75rem; border:1px solid var(--tt-border);
    border-radius:9px; font-size:1rem; background:#fff; color:var(--tt-ink);
    transition:border-color .15s, box-shadow .15s;
}
.sclnau-tt-select:focus,.sclnau-tt-input:focus{
    outline:none; border-color:var(--tt-accent);
    box-shadow:0 0 0 3px rgba(92,186,60,.18);
}

/* ---- Стани ---- */
.sclnau-tt-loading{text-align:center; color:var(--tt-accent-dark); padding:1rem; font-weight:600}
.sclnau-tt-error{
    text-align:center; color:var(--tt-red); background:var(--tt-red-light);
    border-radius:9px; padding:.75rem 1rem; margin-bottom:1rem;
}

/* ---- Заголовок секції ---- */
.sclnau-tt-section{margin-bottom:1.75rem}
.sclnau-tt-h2{
    font-size:1.3rem; font-weight:700; color:var(--tt-accent-dark);
    text-transform:none; margin:0 0 1rem; padding-left:.85rem;
    border-left:5px solid var(--tt-accent); line-height:1.3;
}

/* ---- Картка пари ---- */
.sclnau-tt-lesson{
    background:var(--tt-card); border-radius:12px; box-shadow:var(--tt-shadow);
    border-left:5px solid var(--tt-accent); padding:1rem 1.15rem; margin-bottom:1rem;
}
.sclnau-tt-lesson.is-replacement{border-left-color:var(--tt-red); background:#fdf5f5}
.sclnau-tt-lesson-top{display:flex; align-items:center; gap:.6rem; color:var(--tt-muted); font-weight:600}
.sclnau-tt-pair{display:inline-flex; align-items:center; color:var(--tt-accent-dark)}
.sclnau-tt-time{display:inline-flex; align-items:center; margin-left:auto}
.sclnau-tt-badge{
    background:var(--tt-red); color:#fff; font-size:.72rem; font-weight:700;
    text-transform:uppercase; letter-spacing:.03em; padding:.18rem .5rem; border-radius:6px;
}
.sclnau-tt-subject{font-weight:700; color:var(--tt-ink); margin:.55rem 0 .35rem; font-size:1.08rem}
.sclnau-tt-lesson-meta{display:flex; justify-content:space-between; flex-wrap:wrap; gap:.5rem; color:var(--tt-muted)}
.sclnau-tt-lesson-meta span{display:inline-flex; align-items:center}

/* ---- Прогрес вичитки (загальний) ---- */
.sclnau-tt-progress{
    background:var(--tt-card); border-radius:12px; box-shadow:var(--tt-shadow);
    padding:1.1rem 1.15rem; margin-bottom:1rem;
}
.sclnau-tt-progress-title{font-weight:700; font-size:1.05rem; margin:0 0 .6rem}
.sclnau-tt-bar{background:var(--tt-accent-light); border-radius:999px; overflow:hidden; height:26px}
.sclnau-tt-bar-fill{
    background:linear-gradient(90deg,var(--tt-accent),var(--tt-accent-dark));
    height:100%; color:#fff; font-weight:600; font-size:.85rem;
    display:flex; align-items:center; justify-content:center; white-space:nowrap;
    min-width:2.5em; transition:width .4s ease;
}
.sclnau-tt-progress-meta{display:flex; justify-content:space-between; flex-wrap:wrap; gap:.5rem; color:var(--tt-muted); margin-top:.7rem}
.sclnau-tt-progress-meta span{display:inline-flex; align-items:center}

/* ---- Вичитка по дисциплінах ---- */
.sclnau-tt-vread{
    display:flex; align-items:center; gap:1rem; background:var(--tt-card);
    border-radius:12px; box-shadow:var(--tt-shadow); border-left:5px solid var(--tt-accent);
    padding:1rem 1.15rem; margin-bottom:1rem;
}
.sclnau-tt-vread-body{flex:1; min-width:0}
.sclnau-tt-vread-name{font-weight:700; font-size:1.05rem; margin:0 0 .2rem}
.sclnau-tt-vread-sub{color:var(--tt-muted); margin:0 0 .5rem; display:flex; align-items:center}
.sclnau-tt-vread-meta{display:flex; justify-content:space-between; flex-wrap:wrap; gap:.5rem; color:var(--tt-muted)}
.sclnau-tt-vread-meta span{display:inline-flex; align-items:center}
.sclnau-tt-ring{width:62px; height:62px; flex:0 0 auto}

/* ---- react-datepicker під палітру ---- */
.sclnau-tt-calendar.react-datepicker{font-family:inherit; border-color:var(--tt-border); border-radius:10px; overflow:hidden}
.sclnau-tt-calendar .react-datepicker__header{background:var(--tt-accent); border-bottom:none}
.sclnau-tt-calendar .react-datepicker__current-month,
.sclnau-tt-calendar .react-datepicker__day-name,
.sclnau-tt-calendar .react-datepicker-time__header{color:#fff}
.sclnau-tt-calendar .react-datepicker__day:hover{background:var(--tt-accent-light)}
.sclnau-tt-calendar .react-datepicker__day--selected,
.sclnau-tt-calendar .react-datepicker__day--keyboard-selected{background:var(--tt-accent); color:#fff}
.react-datepicker__triangle::before,.react-datepicker__triangle::after{border-bottom-color:var(--tt-accent)!important}

/* ---- Адаптив ---- */
@media (max-width:600px){
    .sclnau-tt-controls{padding:1rem; gap:.75rem}
    .sclnau-tt-field,.sclnau-tt-field--grow{flex:1 1 100%; min-width:0}
    .sclnau-tt-vread{flex-direction:column; align-items:stretch}
    .sclnau-tt-ring{align-self:center}
    .sclnau-tt-lesson-meta,.sclnau-tt-vread-meta,.sclnau-tt-progress-meta{flex-direction:column; gap:.25rem}
    .sclnau-tt-time{margin-left:0}
}
