@font-face {
    font-family: "Recht Black";
    src: url("/tada-assets/fonts/recht/Recht-Black.otf") format("opentype");
    font-weight: 900;
    font-style: normal;
}

@font-face {
    font-family: "Recht Black Italic";
    src: url("/tada-assets/fonts/recht/Recht-BlackItalic.otf") format("opentype");
    font-weight: 900;
    font-style: italic;
}

@font-face {
    font-family: "Cake Mono Bold";
    src: url("/tada-assets/fonts/cake-mono/CakeMono-Bold.woff2") format("woff2");
    font-weight: 700;
    font-style: normal;
}

/* Фірмові цифри: TA-DA!-Regular.otf тільки для числових глифів; решта символів — наступний шрифт у font-family */
@font-face {
    font-family: "TA-DA Custom Numerals";
    src: url("/tada-assets/fonts/tada-numbers/TA-DA-Regular.otf") format("opentype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    unicode-range:
        U+0030-0039,
        U+00B2-00B3,
        U+2070,
        U+2074-2079,
        U+002E,
        U+002C,
        U+003A,
        U+002F,
        U+0025,
        U+002B,
        U+002D,
        U+2212,
        U+0028,
        U+0029,
        U+00D7,
        U+2030,
        U+00B0,
        U+003D;
}

@font-face {
    font-family: "Geometria";
    src: url("../font/Geometria.woff2") format("woff2"), url("../font/Geometria.woff") format("woff");
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: "Geometria";
    src: url("../font/Geometria-Medium.woff2") format("woff2"), url("../font/Geometria-Medium.woff") format("woff");
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: "Geometria";
    src: url("../font/Geometria-Bold.woff2") format("woff2"), url("../font/Geometria-Bold.woff") format("woff");
    font-weight: 700;
    font-style: normal;
}

:root {
    --tada-accent: #F4C430;
    --tada-accent-strong: #E2B420;
    --tada-accent-soft: #FFF4CC;
    --tada-ink: #1A1919;
    --tada-muted: #666056;
    --tada-border: #E8E0D2;
    --tada-surface: #FFFFFF;
    --tada-surface-soft: #F6F2EA;
    --tada-surface-cream: #FBF8F2;
    --tada-sidebar: #171513;
    --tada-success: #02AE6E;
    --tada-error: #F04C3E;
    --tada-warning: #F58026;
    --tada-info: #44BBBB;
    --tada-shadow-soft: 0 10px 24px rgba(26, 25, 25, 0.05);
    --tada-shadow-card: 0 18px 38px rgba(26, 25, 25, 0.06);
    --tada-radius-sm: 12px;
    --tada-radius-md: 16px;
    --tada-sidebar-width: 250px;
    --tada-sidebar-collapsed-width: 4.6rem;
    --tada-nav-icon-col: 1.375rem;
    --tada-nav-cell-gap: 0.65rem;
    --tada-content-max: 1200px;
    --tada-topbar-height: 72px;
    --tada-page-gutter: clamp(1.35rem, 2.4vw, 2.4rem);
    --tada-section-gap: clamp(1.5rem, 2.6vw, 2.75rem);
    --tada-card-padding: clamp(1.25rem, 2vw, 1.75rem);
    --tada-grid-gap: 0.8rem;
    --tada-font-headline: "TA-DA Custom Numerals", "Recht Black", "Geometria", "Arial Black", sans-serif;
    --tada-font-headline-italic: "TA-DA Custom Numerals", "Recht Black Italic", "Geometria", "Arial Black", sans-serif;
    --tada-font-body: "TA-DA Custom Numerals", "Geometria", "Inter", "Roboto", "Segoe UI", sans-serif;
    --tada-font-accent: "TA-DA Custom Numerals", "Cake Mono Bold", "IBM Plex Mono", "JetBrains Mono", monospace;
    --tada-font-numeric: "TA-DA Custom Numerals", "Geometria", "Arial Black", sans-serif;
}

html {
    font-family: var(--tada-font-body);
}

html,
body {
    min-height: 100%;
    background: var(--tada-surface-soft);
}

body {
    color: var(--tada-ink);
    font-family: var(--tada-font-body);
    font-size: 16px;
    line-height: 1.35;
    letter-spacing: 0;
}

body,
p,
span,
div,
a,
li,
small,
label,
input,
textarea,
select,
button,
.table,
.form-control,
.form-control-sm,
.btn,
.dropdown-item,
.main-footer {
    font-family: var(--tada-font-body);
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
.card-title,
.brand-text,
.login-box-msg,
.content-header h1,
.content-header h2,
.display-4 {
    margin-bottom: 0;
    color: var(--tada-ink);
    font-family: var(--tada-font-headline);
    font-weight: 700;
    line-height: 1.02;
    letter-spacing: -0.02em;
}

h1,
.h1,
.display-4,
.content-header h1 {
    font-size: clamp(2rem, 4vw, 3rem);
}

h2,
.h2,
.content-header h2 {
    font-size: clamp(1.5rem, 3vw, 2.2rem);
}

h3,
.h3,
.login-box-msg {
    font-size: clamp(1.25rem, 2.1vw, 1.65rem);
}

h4,
.h4,
.card-title {
    font-size: 1.05rem;
}

.tada-subheading,
.card-subtitle,
.section-label,
.nav-sidebar .nav-header {
    font-family: var(--tada-font-accent);
    font-size: 0.76rem;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.table thead th,
.breadcrumb-item,
.badge,
.input-group-text,
small {
    font-size: 0.76rem;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0.01em;
}

.tada-number,
.price,
.metric-value,
.info-box-number,
.small-box h3 {
    font-family: var(--tada-font-numeric);
    font-variant-numeric: tabular-nums;
    line-height: 1;
}

a,
a:hover,
a:focus {
    color: var(--tada-ink);
    text-decoration: none;
}

.wrapper {
    min-height: 100vh;
    overflow-x: hidden;
    background: var(--tada-surface-soft);
}

.layout-fixed .main-sidebar {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: var(--tada-sidebar-width);
    min-height: 100vh;
}

.main-sidebar {
    overflow: hidden;
    border-right: 1px solid rgba(255, 255, 255, 0.08);
    background: var(--tada-sidebar) !important;
    box-shadow: none;
}

.main-sidebar::before {
    display: none !important;
}

.main-sidebar .brand-link {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    min-height: 86px;
    padding: 0.95rem 1.25rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    background: var(--tada-sidebar) !important;
}

.tada-brand-link {
    text-align: left;
}

.tada-brand-title {
    display: inline-block;
    max-width: 210px;
    width: 100%;
    overflow: visible;
    color: var(--tada-accent) !important;
    font-family: var(--tada-font-headline);
    font-size: 1.06rem;
    font-weight: 900;
    line-height: 1.04;
    letter-spacing: -0.02em;
    text-transform: uppercase;
    white-space: normal;
    word-break: break-word;
}

.layout-navbar-fixed .wrapper .sidebar {
    margin-top: 86px !important;
    height: calc(100vh - 86px) !important;
}

.sidebar {
    height: calc(100vh - 86px);
    padding: 0.45rem 0.9rem 1.25rem;
    overflow-y: auto;
    overflow-x: hidden;
}

.main-sidebar .user-panel {
    align-items: center;
    min-height: 48px;
    margin: 0 0 0.85rem !important;
    padding: 0 0.5rem 0.85rem !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

.main-sidebar .user-panel .image {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    margin-right: 0.75rem;
    border-radius: 12px;
    background: transparent;
}

.main-sidebar .user-panel .info {
    padding-left: 0;
}

.main-sidebar .user-panel .info a,
.main-sidebar .nav-sidebar > .nav-item > .nav-link,
.main-sidebar .nav-treeview > .nav-item > .nav-link,
.main-sidebar .nav-header,
.main-sidebar .nav-icon,
.sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link,
.sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link p,
.sidebar-dark-primary .nav-treeview > .nav-item > .nav-link,
.sidebar-dark-primary .nav-treeview > .nav-item > .nav-link p {
    color: rgba(255, 255, 255, 0.92) !important;
}

.main-sidebar .nav-sidebar > .nav-item {
    margin-bottom: 0.25rem;
}

/* AdminLTE: стрілка .right у position:absolute + p>.right:nth-child(2) (зсув під бейдж)
   без бейджа дає видиму «пляму»/напівпрозоре коло — стрілка лишається в потоці flex/grid */
.main-sidebar .nav-sidebar .nav-link > p > .right,
.main-sidebar .nav-treeview .nav-link > p > .right {
    position: static !important;
    right: auto !important;
    top: auto !important;
}

.main-sidebar .nav-sidebar .nav-link > p > .right:nth-child(2),
.main-sidebar .nav-treeview .nav-link > p > .right:nth-child(2) {
    right: auto !important;
}

.main-sidebar .nav-sidebar .nav-link > p > .right,
.main-sidebar .nav-treeview .nav-link > p > .right,
.main-sidebar .nav-link p .tada-treeview-chevron {
    background: transparent !important;
    box-shadow: none !important;
    -webkit-tap-highlight-color: transparent;
}

.main-sidebar .nav-sidebar > .nav-item > .nav-link,
.main-sidebar .nav-treeview > .nav-item > .nav-link {
    display: grid;
    grid-template-columns: var(--tada-nav-icon-col) minmax(0, 1fr);
    column-gap: var(--tada-nav-cell-gap);
    align-items: center;
    min-height: 44px;
    padding: 0.7rem 0.85rem;
    border-radius: 14px;
    white-space: normal;
    word-break: break-word;
}

.main-sidebar .nav-link > .nav-icon {
    width: var(--tada-nav-icon-col);
    margin-right: 0 !important;
    margin-left: 0 !important;
    text-align: center;
    font-size: 1rem;
    line-height: 1;
}

.main-sidebar .nav-sidebar > .nav-item > .nav-link p,
.main-sidebar .nav-treeview > .nav-item > .nav-link p {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 0.35rem;
    margin: 0;
    min-width: 0;
    line-height: 1.25;
}

/* AdminLTE кладе .right у float — ламає вирівнювання стрілок поруч із бейджем */
.main-sidebar .nav-link p .right,
.main-sidebar .nav-link p .fas.right,
.main-sidebar .nav-link p .fa-angle-left {
    float: none !important;
    margin-left: auto !important;
    flex-shrink: 0;
}

.main-sidebar .nav-sidebar > .nav-item > .nav-link.active,
.main-sidebar .nav-sidebar > .nav-item.menu-open > .nav-link,
.main-sidebar .nav-treeview > .nav-item > .nav-link.active,
.nav-pills .nav-link.active,
.nav-tabs .nav-link.active {
    background: var(--tada-accent) !important;
    color: var(--tada-ink) !important;
}

.main-sidebar .nav-sidebar > .nav-item > .nav-link.active p,
.main-sidebar .nav-sidebar > .nav-item.menu-open > .nav-link p,
.main-sidebar .nav-treeview > .nav-item > .nav-link.active p,
.main-sidebar .nav-sidebar > .nav-item > .nav-link.active .nav-icon,
.main-sidebar .nav-sidebar > .nav-item.menu-open > .nav-link .nav-icon,
.main-sidebar .nav-treeview > .nav-item > .nav-link.active .nav-icon {
    color: var(--tada-ink) !important;
}

.main-sidebar .nav-link:hover,
.nav-sidebar .nav-link:hover {
    background: rgba(255, 255, 255, 0.08);
}

.main-sidebar .nav-sidebar > .nav-item > .nav-link.active:hover,
.main-sidebar .nav-sidebar > .nav-item.menu-open > .nav-link:hover,
.main-sidebar .nav-treeview > .nav-item > .nav-link.active:hover {
    background: var(--tada-accent) !important;
    color: var(--tada-ink) !important;
}

.nav-sidebar .nav-treeview {
    margin-left: 0;
    padding-left: 0;
    margin-top: 0.2rem;
    margin-bottom: 0.35rem;
    padding-top: 0.15rem;
    padding-bottom: 0.15rem;
    border-left: 2px solid rgba(255, 255, 255, 0.12);
}

.main-sidebar .nav-treeview > .nav-item {
    margin-bottom: 0.12rem;
}

.main-sidebar .nav-treeview > .nav-item:last-child {
    margin-bottom: 0;
}

/* Бейдж нових призначень біля пункту з підменю — без конфлікту зі стрілкою (.right) AdminLTE */
.main-sidebar .nav-sidebar > .nav-item > .nav-link p.tada-nav-link-with-badge {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 0.5rem;
    width: 100%;
    min-width: 0;
}

.main-sidebar .nav-sidebar > .nav-item > .nav-link p.tada-nav-link-with-badge .tada-nav-link-label {
    flex: 1 1 auto;
    min-width: 0;
}

.main-sidebar .nav-sidebar > .nav-item > .nav-link p.tada-nav-link-with-badge .tada-treeview-chevron.right {
    float: none;
    margin-left: auto;
    flex: 0 0 auto;
}

.main-sidebar .nav-sidebar > .nav-item > .nav-link p.tada-nav-link-with-badge .tada-testing-nav-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 1.35rem;
    width: 1.35rem;
    height: 1.35rem;
    margin-left: auto;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 999px;
    background: var(--tada-accent) !important;
    color: var(--tada-ink) !important;
    font-family: var(--tada-font-accent);
    font-size: 0.68rem;
    font-weight: 700;
    line-height: 1;
    box-shadow: none;
}

.main-sidebar .nav-sidebar > .nav-item > .nav-link.active p.tada-nav-link-with-badge .tada-testing-nav-badge,
.main-sidebar .nav-sidebar > .nav-item.menu-open > .nav-link p.tada-nav-link-with-badge .tada-testing-nav-badge {
    border-color: rgba(26, 25, 25, 0.22);
    background: var(--tada-ink) !important;
    color: var(--tada-accent) !important;
    box-shadow: none;
}

.main-header.navbar {
    position: sticky;
    top: 0;
    z-index: 1035;
    margin-left: var(--tada-sidebar-width);
    min-height: var(--tada-topbar-height);
    padding: 0.9rem 1.5rem;
    border: 0;
    border-bottom: 1px solid var(--tada-border);
    background: rgba(255, 255, 255, 0.94) !important;
    backdrop-filter: blur(10px);
    box-shadow: none;
}

.main-header .nav-link,
.navbar-light .navbar-nav .nav-link,
.navbar-white .navbar-nav .nav-link {
    color: var(--tada-ink) !important;
    font-weight: 500;
}

.content-wrapper,
.main-footer {
    margin-left: var(--tada-sidebar-width);
}

.content-wrapper {
    min-height: calc(100vh - var(--tada-topbar-height));
    padding: var(--tada-page-gutter);
    background: var(--tada-surface-soft);
}

body.sidebar-collapse .main-header.navbar,
body.sidebar-collapse .content-wrapper,
body.sidebar-collapse .main-footer {
    margin-left: var(--tada-sidebar-collapsed-width);
}

body.sidebar-collapse .main-sidebar {
    width: var(--tada-sidebar-collapsed-width);
}

/* Єдина вертикальна вісь для заголовків і карток (узгоджено з padding content-wrapper) */
.tada-main-container {
    width: 100%;
    max-width: var(--tada-content-max);
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
}

.tada-main-container .row {
    margin-left: calc(var(--tada-grid-gap) * -1);
    margin-right: calc(var(--tada-grid-gap) * -1);
}

.tada-main-container .row > [class*="col-"] {
    padding-left: var(--tada-grid-gap);
    padding-right: var(--tada-grid-gap);
}

/* Рядки з картками: однакові відступи без «ручних» mx-2 */
.tada-card-row {
    margin-left: calc(var(--tada-grid-gap) * -1);
    margin-right: calc(var(--tada-grid-gap) * -1);
}

.tada-card-row > [class*="col-"] {
    padding-left: var(--tada-grid-gap);
    padding-right: var(--tada-grid-gap);
}

.tada-page-intro .h2 {
    margin-bottom: 0.35rem;
}

.tada-exam-result-card {
    border-radius: var(--tada-radius-md) !important;
}

.content-header {
    padding: 0 0 1.25rem;
}

.content-header .container-fluid,
.content .container-fluid,
.content .container,
.content-header .container {
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
}

.main-footer {
    padding: 1.1rem var(--tada-page-gutter) 1.35rem;
    border-top: 1px solid var(--tada-border);
    background: var(--tada-surface-soft);
    color: var(--tada-muted);
}

.content > .container-fluid,
.content > .container,
.content-header > .container-fluid,
.content-header > .container {
    display: block;
}

.content > .container-fluid > * + *,
.content > .container > * + * {
    margin-top: var(--tada-section-gap);
}

.card,
.info-box,
.small-box,
.modal-content,
.dropdown-menu,
.callout,
.select2-dropdown,
.swal2-popup {
    border: 1px solid rgba(232, 224, 210, 0.92) !important;
    border-radius: var(--tada-radius-md) !important;
    background: var(--tada-surface) !important;
    box-shadow: var(--tada-shadow-soft) !important;
}

.card-header,
.card-footer,
.small-box > .inner,
.info-box .info-box-content {
    border-color: rgba(232, 224, 210, 0.85) !important;
    background: transparent !important;
}

.card-header,
.card-body,
.card-footer,
.small-box .inner,
.info-box-content {
    padding: var(--tada-card-padding);
}

.card {
    margin-bottom: var(--tada-section-gap);
}

.card-header + .card-body,
.card-body + .card-footer {
    padding-top: calc(var(--tada-card-padding) * 0.85);
}

.card-title,
.info-box-number,
.small-box h3 {
    color: var(--tada-ink);
}

.btn:not(.btn-sm):not(.btn-xs),
.page-link,
.form-control,
.input-group-text,
.custom-file-label,
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
    border-radius: 14px !important;
}

.btn:not(.btn-sm):not(.btn-xs) {
    min-height: 46px;
    padding: 0.75rem 1rem;
    font-weight: 700;
    box-shadow: none !important;
}

.btn-sm {
    min-height: 34px;
    padding: 0.42rem 0.7rem;
}

.btn-warning,
.btn-primary,
.btn-warning:hover,
.btn-primary:hover,
.btn-warning:focus,
.btn-primary:focus,
.btn-warning:active,
.btn-primary:active,
.page-item.active .page-link,
.custom-control-input:checked ~ .custom-control-label::before,
.custom-switch .custom-control-input:checked ~ .custom-control-label::before {
    border-color: var(--tada-accent-strong) !important;
    background: var(--tada-accent) !important;
    color: var(--tada-ink) !important;
}

.btn-secondary,
.btn-default,
.btn-light,
.btn-outline-secondary,
.page-link {
    border-color: var(--tada-border) !important;
    background: var(--tada-surface) !important;
    color: var(--tada-ink) !important;
}

.btn-info,
.btn-info:hover,
.btn-info:focus,
.btn-info:active {
    border-color: rgba(68, 187, 187, 0.24) !important;
    background: rgba(68, 187, 187, 0.1) !important;
    color: var(--tada-ink) !important;
}

.btn-danger,
.btn-danger:hover,
.btn-danger:focus,
.btn-danger:active {
    border-color: rgba(240, 76, 62, 0.24) !important;
    background: rgba(240, 76, 62, 0.12) !important;
    color: var(--tada-ink) !important;
}

.btn-success,
.btn-success:hover,
.btn-success:focus,
.btn-success:active {
    border-color: rgba(2, 174, 110, 0.24) !important;
    background: rgba(2, 174, 110, 0.12) !important;
    color: var(--tada-ink) !important;
}

.form-control:not(.form-control-sm),
.input-group-text,
.custom-file-label,
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
    min-height: 46px;
    border: 1px solid var(--tada-border) !important;
    background: #FFFCF7 !important;
    color: var(--tada-ink) !important;
}

.form-control-sm {
    min-height: 34px;
    padding-top: 0.35rem;
    padding-bottom: 0.35rem;
}

.form-group {
    margin-bottom: 1.35rem;
}

.form-group > label,
.form-row label,
.form-check-label {
    margin-bottom: 0.55rem;
}

.form-row {
    margin-left: calc(var(--tada-grid-gap) * -1);
    margin-right: calc(var(--tada-grid-gap) * -1);
}

.form-row > .col,
.form-row > [class*="col-"] {
    padding-left: var(--tada-grid-gap);
    padding-right: var(--tada-grid-gap);
}

.form-control:focus,
.form-control-sm:focus,
.custom-file-input:focus ~ .custom-file-label,
.select2-container--default.select2-container--focus .select2-selection--multiple,
.select2-container--default.select2-container--open .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--multiple {
    border-color: rgba(244, 196, 48, 0.88) !important;
    box-shadow: 0 0 0 3px rgba(244, 196, 48, 0.16) !important;
}

.progress,
.progress-xs,
.progress-sm,
.progress .progress-bar {
    border-radius: 999px;
}

.progress {
    height: 8px;
    background: rgba(232, 224, 210, 0.9) !important;
}

.progress-bar,
.bg-warning,
.bg-gradient-warning,
.bg-primary,
.bg-gradient-primary,
.badge-warning,
.badge-primary {
    background: var(--tada-accent) !important;
    color: var(--tada-ink) !important;
}

.bg-success,
.bg-gradient-success,
.badge-success,
.alert-success {
    background: rgba(2, 174, 110, 0.12) !important;
    color: var(--tada-ink) !important;
    border-color: rgba(2, 174, 110, 0.18) !important;
}

.bg-danger,
.bg-gradient-danger,
.badge-danger,
.alert-danger {
    background: rgba(240, 76, 62, 0.12) !important;
    color: var(--tada-ink) !important;
    border-color: rgba(240, 76, 62, 0.18) !important;
}

.bg-info,
.bg-gradient-info,
.badge-info,
.alert-info {
    background: rgba(68, 187, 187, 0.1) !important;
    color: var(--tada-ink) !important;
    border-color: rgba(68, 187, 187, 0.18) !important;
}

.bg-gray-light,
.bg-light,
.bg-lightgray,
.badge-secondary,
.badge-light {
    background: var(--tada-surface-cream) !important;
    color: var(--tada-ink) !important;
    border-color: var(--tada-border) !important;
}

label.bg-success.text-white,
label.bg-danger.text-white,
label.bg-primary.text-white,
label.bg-warning.text-white,
label.bg-info.text-white,
.bg-success.text-white,
.bg-danger.text-white,
.bg-primary.text-white,
.bg-warning.text-white,
.bg-info.text-white {
    color: var(--tada-ink) !important;
}

.text-primary,
.text-warning,
.text-info,
.text-success,
.text-danger,
.text-muted,
.text-secondary,
.text-gray,
.text-gray-dark,
.text-black-50,
.text-blue {
    color: var(--tada-ink) !important;
}

.nav-tabs,
.nav-pills {
    gap: 0.4rem;
    border-bottom: 0;
}

.nav-tabs .nav-link,
.nav-pills .nav-link,
.badge,
.pagination-sm .page-link {
    border-radius: 999px !important;
}

.nav-tabs .nav-link,
.nav-pills:not(.nav-sidebar) .nav-link {
    border: 1px solid var(--tada-border) !important;
    background: var(--tada-surface) !important;
    color: var(--tada-ink) !important;
    font-weight: 700;
}

.nav-sidebar.nav-pills .nav-link,
.nav-sidebar .nav-treeview .nav-link {
    border: 0 !important;
    background: transparent !important;
    border-radius: 14px !important;
}

.table,
table.dataTable {
    color: var(--tada-ink);
    background: var(--tada-surface);
}

.table thead th,
table.dataTable thead th,
table.dataTable thead td {
    border-bottom: 0 !important;
    background: var(--tada-ink) !important;
    color: #fff !important;
    font-family: var(--tada-font-accent);
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.table:not(.table-sm) td,
.table:not(.table-sm) th,
table.dataTable tbody td,
table.dataTable tbody th {
    border-color: rgba(232, 224, 210, 0.72) !important;
    padding: 0.95rem 1.05rem;
    vertical-align: middle;
}

.table:not(.table-sm) thead th,
table.dataTable thead th,
table.dataTable thead td {
    padding: 1rem 1.05rem;
}

.table-sm td,
.table-sm th {
    padding: 0.55rem 0.7rem;
}

.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_paginate {
    padding: 0.25rem 0;
}

.dataTables_wrapper .dataTables_length label,
.dataTables_wrapper .dataTables_filter label {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    margin-bottom: 0;
    color: var(--tada-muted);
    font-family: var(--tada-font-body);
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: normal;
    text-transform: none;
}

.dataTables_wrapper .dataTables_filter input,
.dataTables_wrapper .dataTables_length select {
    min-height: 40px;
    border-radius: 14px !important;
    border-color: var(--tada-border) !important;
    background: #FFFCF7 !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button,
.dataTables_wrapper .pagination .page-link {
    min-width: 38px;
    min-height: 38px;
    border-radius: 14px !important;
}

.dataTables_wrapper .row {
    align-items: center;
    row-gap: 0.8rem;
}

.dataTables_wrapper .dataTables_scroll {
    border: 1px solid rgba(232, 224, 210, 0.9);
    border-radius: 18px;
    overflow: hidden;
    background: var(--tada-surface);
}

.dataTables_scrollHead,
.dataTables_scrollBody {
    border-color: rgba(232, 224, 210, 0.9) !important;
}

.dataTables_scrollBody {
    scrollbar-color: var(--tada-accent) rgba(232, 224, 210, 0.55);
    scrollbar-width: thin;
}

.dataTables_scrollBody::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

.dataTables_scrollBody::-webkit-scrollbar-track {
    border-radius: 999px;
    background: rgba(232, 224, 210, 0.55);
}

.dataTables_scrollBody::-webkit-scrollbar-thumb {
    border: 2px solid rgba(232, 224, 210, 0.55);
    border-radius: 999px;
    background: var(--tada-accent);
}

.tada-report-nav-card {
    margin-bottom: 1.2rem;
    padding: 1rem;
    border: 1px solid rgba(232, 224, 210, 0.92);
    border-radius: 24px;
    background: var(--tada-surface);
    box-shadow: var(--tada-shadow-soft);
}

.tada-report-tabs-row {
    margin-left: 0;
    margin-right: 0;
}

.tada-report-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    padding: 0.25rem;
    border: 0;
    border-radius: 18px;
    background: var(--tada-surface-cream);
}

.tada-report-tabs .nav-item {
    flex: 1 1 150px;
    min-width: 0;
}

.tada-report-tabs-compact .nav-item {
    flex-basis: 120px;
}

.tada-report-tabs .nav-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    min-height: 44px;
    width: 100%;
    padding: 0.7rem 1rem !important;
    border: 1px solid transparent !important;
    border-radius: 15px !important;
    color: var(--tada-muted) !important;
    font-family: var(--tada-font-accent);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    white-space: normal;
}

.tada-report-tabs .nav-link.active {
    border-color: rgba(226, 180, 32, 0.42) !important;
    background: var(--tada-accent) !important;
    color: var(--tada-ink) !important;
    box-shadow: 0 10px 20px rgba(244, 196, 48, 0.2);
}

.tada-report-tabs-compact .nav-link {
    text-transform: none;
}

.tada-report-table,
.tada-feedback-table {
    border-radius: 18px;
    overflow: hidden;
}

.tada-report-table th,
.tada-report-table td,
.tada-feedback-table th,
.tada-feedback-table td {
    line-height: 1.38;
}

/* Адмінські відгуки: єдина сітка фільтрів (не вставляти в два col-md-6 DataTables) */
.tada-feedback-filter-panel {
    margin: 0 0 1.25rem;
    padding: clamp(1rem, 2vw, 1.35rem);
    border: 1px solid rgba(232, 224, 210, 0.95);
    border-radius: var(--tada-radius-md);
    background: var(--tada-surface);
    box-shadow: var(--tada-shadow-soft);
}

.tada-feedback-filter-kicker {
    margin-bottom: 0.85rem;
    color: var(--tada-muted);
    font-family: var(--tada-font-accent);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.tada-feedback-filter-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.85rem 1rem;
    align-items: end;
}

@media (max-width: 1199.98px) {
    .tada-feedback-filter-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .tada-feedback-filter-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

.tada-feedback-filter-item {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    min-width: 0;
}

.tada-feedback-filter-label {
    margin: 0;
    color: var(--tada-muted);
    font-family: var(--tada-font-accent);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.2;
    text-transform: uppercase;
}

.tada-feedback-filter-item .form-control {
    width: 100%;
    min-height: 44px;
    border-radius: 14px;
    border-color: var(--tada-border);
    background: #FFFCF7;
}

.tada-feedback-filter-item .select2-container {
    width: 100% !important;
    max-width: 100%;
}

.tada-feedback-filter-item .select2-container--default .select2-selection--multiple,
.tada-feedback-filter-item .select2-container--default .select2-selection--single {
    min-height: 44px;
    border-radius: 14px !important;
    border-color: var(--tada-border) !important;
    background: #FFFCF7 !important;
}

.tada-feedback-filter-item .select2-container--default .select2-selection--multiple .select2-selection__rendered {
    padding: 0.35rem 0.65rem;
}

.tada-feedback-filter-item--period {
    grid-column: span 3;
}

.tada-feedback-filter-dates {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
    min-width: 0;
}

.tada-feedback-filter-sublabel {
    display: block;
    margin-bottom: 0.3rem;
    color: var(--tada-muted);
    font-family: var(--tada-font-body);
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.02em;
}

@media (max-width: 1199.98px) {
    .tada-feedback-filter-item--period {
        grid-column: 1 / -1;
    }
}

.tada-report-page .dataTables_wrapper > .row:first-child,
.tada-feedback-admin-page .dataTables_wrapper > .row:first-child,
.tada-identifier-page .dataTables_wrapper > .row:first-child {
    margin-bottom: 1rem;
}

.tada-report-page .dataTables_wrapper > .row:first-child .col-md-6,
.tada-feedback-admin-page .dataTables_wrapper > .row:first-child .col-md-6,
.tada-identifier-page .dataTables_wrapper > .row:first-child .col-md-6 {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
}

.tada-report-page .dataTables_wrapper input.form-control-sm,
.tada-feedback-admin-page .dataTables_wrapper input.form-control,
.tada-identifier-page .dataTables_wrapper input.form-control {
    border-radius: 14px;
    background: #FFFCF7;
}

.tada-empty-state {
    min-height: 64px;
    margin-bottom: 0;
    padding: 1rem 1.2rem;
    border-radius: 18px;
    font-weight: 700;
}

.tada-period-filter {
    gap: 0.8rem;
}

.tada-period-filter > [class*="col-md-"],
.tada-period-filter > button {
    flex: 1 1 180px;
    max-width: none;
    padding-left: 0;
    padding-right: 0;
}

.tada-period-filter > button {
    flex-basis: 58px;
    max-width: 70px;
}

.tada-identifier-actions {
    gap: 0.8rem;
}

.tada-actions-group {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    padding: 0.35rem;
    border: 1px solid rgba(232, 224, 210, 0.9);
    border-radius: 18px;
    background: var(--tada-surface-cream);
}

.tada-actions-group .btn {
    margin-right: 0 !important;
}

.tada-identifier-strip {
    gap: 0.75rem;
    padding-bottom: 0.2rem;
}

.tada-identifier-chip-wrap {
    flex: 0 0 104px;
    max-width: 104px;
}

.tada-identifier-chip {
    min-height: 64px;
    margin-bottom: 0;
    border: 0;
    border-radius: 18px;
    overflow: hidden;
}

.tada-identifier-chip .card-header {
    min-height: 64px;
    align-items: center;
    padding: 0.65rem !important;
    border-bottom: 0;
    color: var(--tada-ink);
    font-family: var(--tada-font-accent);
    font-size: 0.78rem;
    line-height: 1.15;
    text-align: center;
}

.table-striped tbody tr:nth-of-type(odd),
table.dataTable.stripe tbody tr.odd,
table.dataTable.display tbody tr.odd {
    background: rgba(255, 250, 239, 0.62) !important;
}

.alert {
    border-width: 1px;
    border-style: solid;
    border-radius: var(--tada-radius-md);
    box-shadow: none;
}

.dropdown-menu .dropdown-item:hover,
.dropdown-menu .dropdown-item:focus {
    background: var(--tada-surface-cream);
    color: var(--tada-ink);
}

.login-page,
.register-page {
    min-height: 100vh;
    background: radial-gradient(circle at top left, rgba(244, 196, 48, 0.14), transparent 30%), linear-gradient(180deg, #FBF7F0 0%, #F6F2EA 100%);
}

.login-box {
    width: min(92vw, 460px);
}

.login-box .card,
.login-box .card-header,
.login-box .card-body {
    background: var(--tada-surface) !important;
}

.layout-top-nav .main-header.navbar,
.layout-top-nav .content-wrapper,
.layout-top-nav .main-footer {
    margin-left: 0;
}

.layout-top-nav .main-header.navbar {
    position: relative;
}

.layout-top-nav .content-wrapper {
    min-height: auto;
}

.elevation-1,
.elevation-2,
.elevation-3,
.elevation-4,
.shadow,
.shadow-sm {
    box-shadow: var(--tada-shadow-soft) !important;
}

.close,
button.close {
    color: var(--tada-ink);
    opacity: 0.7;
}

.close:hover,
button.close:hover {
    opacity: 1;
}

.tada-headline-char {
    font-family: var(--tada-font-headline);
    font-style: normal;
}

.tada-headline-char-alt {
    font-family: var(--tada-font-headline-italic);
    font-style: italic;
}

.tada-dashboard-home {
    padding-bottom: 1rem;
}

.tada-dashboard-home .display-4 {
    max-width: 12ch;
}

.tada-hero-note {
    background: linear-gradient(180deg, #FFF9EA 0%, #FFFFFF 100%) !important;
}

.tada-quick-grid {
    margin-bottom: 0.25rem;
}

.tada-quick-card {
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.tada-quick-card:hover {
    transform: translateY(-2px);
    border-color: rgba(244, 196, 48, 0.75) !important;
    box-shadow: var(--tada-shadow-card) !important;
}

.tada-quick-card .card-body {
    display: flex;
    min-height: 200px;
    flex-direction: column;
    justify-content: flex-end;
}

.tada-quick-card h3 {
    margin-bottom: 0.5rem;
}

.tada-instruction-card {
    overflow: hidden;
}

.tada-instruction-toggle {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    cursor: pointer;
}

.tada-instruction-action {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.7rem 0.95rem;
    border-radius: 999px;
    background: var(--tada-surface-cream);
    font-family: var(--tada-font-accent);
    font-size: 0.76rem;
    line-height: 1;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    white-space: nowrap;
}

.tada-instruction-body {
    background: #FFFCF7;
}

.tada-instruction-body p,
.tada-instruction-body li {
    max-width: 88ch;
    color: var(--tada-ink);
}

.tada-instruction-body ul {
    margin-bottom: 1.25rem;
}

.tada-instruction-body p.font-weight-bold,
.tada-instruction-body strong:first-child {
    font-family: var(--tada-font-accent);
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.presentation-shell {
    position: relative;
}

.presentation-frame {
    border: 0;
    border-radius: 12px;
    background: #fff;
}

.presentation-frame-desktop {
    width: 100%;
    min-height: 70vh;
}

.presentation-preview {
    padding: 0.5rem 0;
}

.presentation-preview-thumb {
    position: relative;
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    border: 1px solid var(--tada-border);
    border-radius: 12px;
    background: #fff;
    overflow: hidden;
    min-height: min(52vw, 280px);
}

.presentation-preview-placeholder {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-height: min(52vw, 280px);
    padding: 1rem;
    background: linear-gradient(180deg, #1d2435 0%, #0f1729 100%);
    color: #fff;
}

.presentation-preview-canvas {
    width: 100%;
    height: auto;
    border-radius: 10px;
    display: block;
}

.presentation-preview-ready {
    padding: 0.55rem;
    justify-content: flex-start;
    background: linear-gradient(180deg, #25314f 0%, #161f35 100%);
}

.presentation-preview-ready i {
    display: none;
}

.presentation-preview-placeholder i {
    font-size: 2rem;
}

.presentation-preview-placeholder span {
    max-width: 100%;
    font-size: 0.9rem;
    text-align: center;
    word-break: break-word;
}

.presentation-preview-button {
    width: 100%;
    margin-top: 0.65rem;
}

.presentation-mobile-viewer {
    position: fixed;
    inset: 0;
    z-index: 1060;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 0.85rem;
    background: rgba(17, 17, 17, 0.96);
}

.presentation-mobile-viewer[hidden] {
    display: none;
}

.presentation-mobile-viewer:fullscreen {
    width: 100vw;
    max-width: 100vw;
    height: 100vh;
    height: 100dvh;
    padding-top: env(safe-area-inset-top, 0.85rem);
    padding-bottom: env(safe-area-inset-bottom, 0.85rem);
}

.presentation-close-btn {
    align-self: flex-end;
}

.presentation-frame-mobile {
    width: 100%;
    flex: 1 1 auto;
    min-height: calc(100vh - 8.5rem);
    min-height: calc(100dvh - 8.5rem);
}

.presentation-orientation-hint {
    border-radius: 12px;
    padding: 0.65rem 0.75rem;
    background: rgba(244, 196, 48, 0.95);
    color: var(--tada-ink);
    font-size: 0.86rem;
    font-weight: 700;
    line-height: 1.2;
}

@media (max-width: 991.98px) {
    .main-header.navbar,
    .content-wrapper,
    .main-footer {
        margin-left: 0;
    }

    .content-wrapper {
        padding: 1.15rem;
    }

    .layout-fixed .main-sidebar {
        top: 0;
        width: var(--tada-sidebar-width);
    }

    body.sidebar-open .main-sidebar {
        box-shadow: 10px 0 28px rgba(0, 0, 0, 0.35);
    }

    .tada-dashboard-home .display-4 {
        max-width: none;
    }

    .tada-instruction-toggle {
        flex-direction: column;
        align-items: stretch;
    }

    .tada-instruction-action {
        width: fit-content;
    }
}

@media (max-width: 767.98px) {
    .main-header.navbar {
        padding: 0.75rem 1rem;
        padding-top: calc(0.75rem + env(safe-area-inset-top, 0px));
    }

    .content-wrapper,
    .main-footer {
        padding-left: max(1rem, env(safe-area-inset-left, 0px));
        padding-right: max(1rem, env(safe-area-inset-right, 0px));
        padding-bottom: max(0.85rem, env(safe-area-inset-bottom, 0px));
    }

    .card-header,
    .card-body,
    .card-footer,
    .small-box .inner,
    .info-box-content {
        padding: 1.1rem;
    }

    .main-sidebar .nav-sidebar > .nav-item > .nav-link,
    .main-sidebar .nav-treeview > .nav-item > .nav-link {
        min-height: 48px;
        padding: 0.78rem 0.85rem;
    }

    .nav-sidebar .nav-treeview {
        margin-left: 0.25rem;
    }

    .tada-quick-card .card-body {
        min-height: 172px;
    }

    .card .presentation-shell {
        overflow: visible;
    }
}

/* =============================================================================
   TADA UNIFIED SHELL — global uplift for legacy AdminLTE pages
   ============================================================================= */

.content > .container-fluid,
.content-header > .container-fluid {
    width: 100%;
    max-width: var(--tada-content-max);
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
}

.content .container:not(.container-fluid),
.content-header .container:not(.container-fluid) {
    width: 100%;
    max-width: var(--tada-content-max);
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
}

.tada-page-shell,
.tada-main-container {
    width: 100%;
    max-width: var(--tada-content-max);
    margin-left: auto;
    margin-right: auto;
}

.tada-page-stack > * + * {
    margin-top: var(--tada-section-gap);
}

.tada-page-stack > .alert {
    margin-bottom: 0;
}

.content-header {
    padding-bottom: 1rem;
}

.content-header .row {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
}

.content-header .card {
    margin-bottom: 0;
    overflow: hidden;
}

.content-header .card.my-0,
.content-header .card.mb-0 {
    margin-bottom: 0 !important;
}

/* Hero card headers (legacy bg-warning blocks) */
.card > .card-header.bg-warning,
.card > .card-header.bg-gradient-warning,
.card-header.bg-warning.text-center,
.card-header.bg-warning,
.card-header.text-center.bg-warning:not(.tada-instruction-toggle) {
    padding: 1.35rem var(--tada-card-padding) !important;
    border-bottom: 1px solid rgba(232, 224, 210, 0.85) !important;
    background:
        radial-gradient(circle at 92% 8%, rgba(255, 255, 255, 0.45), transparent 28%),
        linear-gradient(135deg, var(--tada-accent), #ffd84a) !important;
    color: var(--tada-ink) !important;
    font-family: var(--tada-font-headline);
    font-size: clamp(1.15rem, 2.2vw, 1.65rem) !important;
    font-weight: 900;
    line-height: 1.05;
    letter-spacing: -0.02em;
}

.card-footer.text-muted {
    color: var(--tada-muted) !important;
    font-family: var(--tada-font-accent);
    font-size: 0.72rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.card.text-center > .card-header {
    text-align: center;
}

/* Legacy utility classes */
.border-radius,
.card[style*="border-radius"] {
    border-radius: var(--tada-radius-md) !important;
}

.mx-md-5 {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.small-font {
    font-size: 0.92rem;
}

.text-bold,
.font-weight-bold {
    font-weight: 700 !important;
}

.text-orange,
.text-warning {
    color: var(--tada-ink) !important;
}

/* Nav tabs inside cards (admin tests, etc.) */
.card > .nav-tabs,
.card .nav-tabs.nav-fill {
    margin: 0;
    padding: 0.85rem var(--tada-card-padding) 0;
    border-bottom: 0;
    background: var(--tada-surface-cream);
    gap: 0.45rem;
}

.card > .nav-tabs .nav-link.active,
.card .nav-tabs .nav-link.active {
    box-shadow: 0 8px 18px rgba(244, 196, 48, 0.18);
}

/* Primary CTA pattern */
.btn.border-radius,
.btn-block.btn-warning {
    border: 2px solid var(--tada-ink) !important;
    box-shadow: 5px 5px 0 var(--tada-ink) !important;
    font-family: var(--tada-font-accent);
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.btn.border-radius:hover,
.btn-block.btn-warning:hover {
    transform: translate(2px, 2px);
    box-shadow: 3px 3px 0 var(--tada-ink) !important;
}

/* Student / prof test flow */
.tada-test-flow .card,
#student-test-form .card,
.container.tada-test-flow > .card {
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
    overflow: hidden;
}

.tada-test-flow .card-body,
.tada-test-flow .card-footer {
    padding-left: clamp(1rem, 3vw, 2rem);
    padding-right: clamp(1rem, 3vw, 2rem);
}

.test-answer-label {
    display: block;
    width: 100%;
    min-height: 52px;
    margin-bottom: 0.55rem;
    padding: 0.85rem 1rem;
    border: 2px solid var(--tada-border) !important;
    border-radius: 14px !important;
    background: var(--tada-surface-cream) !important;
    color: var(--tada-ink) !important;
    font-weight: 600;
    text-align: left;
    white-space: normal;
    transition: transform 160ms ease, border-color 160ms ease, background 160ms ease, color 160ms ease;
    cursor: pointer;
}

.test-answer-label:hover {
    border-color: rgba(244, 196, 48, 0.65) !important;
    background: #fffdf6 !important;
}

.test-answer-label.is-selected {
    border-color: var(--tada-ink) !important;
    background: var(--tada-accent) !important;
    color: var(--tada-ink) !important;
    box-shadow: 4px 4px 0 var(--tada-ink);
}

.test-answer-label.is-correct {
    border-color: rgba(2, 174, 110, 0.45) !important;
    background: rgba(2, 174, 110, 0.14) !important;
    color: var(--tada-ink) !important;
}

.test-answer-label.is-incorrect {
    border-color: rgba(240, 76, 62, 0.45) !important;
    background: rgba(240, 76, 62, 0.12) !important;
    color: var(--tada-ink) !important;
}

.answer-marker {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.35rem;
    margin-right: 0.5rem;
    font-weight: 800;
}

.mobile-answer-input {
    min-height: 120px;
    border-radius: 14px !important;
    font-size: 1rem;
}

/* Exam info / legacy presentation card */
.tada-info-page .card,
.container .card.mx-md-5 {
    overflow: hidden;
}

.tada-info-page .card-header.bg-warning,
.container .card .card-header.bg-warning {
    border-radius: 0;
}

/* Schedule calendar — align with design tokens */
.schedule-calendar-page .card {
    border-radius: var(--tada-radius-md) !important;
    box-shadow: var(--tada-shadow-card) !important;
}

.schedule-calendar-page .calendar-weekdays {
    gap: var(--tada-grid-gap);
    color: var(--tada-muted);
    font-family: var(--tada-font-accent);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.schedule-calendar-page .calendar-grid {
    gap: var(--tada-grid-gap);
}

.schedule-calendar-page .calendar-day {
    min-height: 108px;
    padding: 0.65rem 0.75rem;
    border: 1px solid var(--tada-border) !important;
    border-radius: var(--tada-radius-sm) !important;
    background: var(--tada-surface) !important;
    color: var(--tada-ink);
    box-shadow: none !important;
    transition: border-color 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}

.schedule-calendar-page .calendar-day:not(:disabled):hover {
    border-color: rgba(244, 196, 48, 0.75) !important;
    transform: translateY(-1px);
    box-shadow: var(--tada-shadow-soft) !important;
}

.schedule-calendar-page .calendar-day.is-today {
    border-color: var(--tada-accent-strong) !important;
    background: var(--tada-accent-soft) !important;
}

.schedule-calendar-page .calendar-day.is-muted {
    opacity: 0.45;
    background: var(--tada-surface-cream) !important;
}

.schedule-calendar-page .calendar-day-number {
    font-family: var(--tada-font-headline);
    font-weight: 900;
}

.schedule-calendar-page .calendar-day-note {
    color: var(--tada-muted);
    font-family: var(--tada-font-accent);
    font-size: 0.65rem;
    text-transform: uppercase;
}

.schedule-calendar-page .calendar-day-meetings {
    background: var(--tada-accent) !important;
    color: var(--tada-ink) !important;
}

.schedule-calendar-page #planningModal .modal-content {
    border-radius: 20px !important;
    overflow: hidden;
}

.schedule-calendar-page #planningModal .modal-header {
    border-bottom: 1px solid var(--tada-border);
    background: linear-gradient(135deg, var(--tada-accent), #ffd84a);
    color: var(--tada-ink);
}

.schedule-calendar-page #planningModal .modal-title {
    font-family: var(--tada-font-headline);
    font-weight: 900;
}

/* Modals */
.modal-header.bg-warning,
.modal-header.bg-primary {
    background: linear-gradient(135deg, var(--tada-accent), #ffd84a) !important;
    color: var(--tada-ink) !important;
}

.modal-footer {
    border-top: 1px solid var(--tada-border);
    background: var(--tada-surface-cream);
}

/* Summernote / editor */
.note-editor.note-frame {
    border-color: var(--tada-border) !important;
    border-radius: var(--tada-radius-md) !important;
    overflow: hidden;
}

/* Video.js skin tweaks inside platform */
.video-js {
    border-radius: var(--tada-radius-sm);
}

/* Login refinements */
.tada-ui-login .login-box-msg {
    font-family: var(--tada-font-headline);
    font-weight: 900;
}

.tada-ui-login .card-outline.card-warning {
    border: 1px solid var(--tada-border) !important;
    border-radius: 22px !important;
    overflow: hidden;
    box-shadow: var(--tada-shadow-card) !important;
}

.tada-ui-login .btn-primary {
    border: 2px solid var(--tada-ink) !important;
    box-shadow: 5px 5px 0 var(--tada-ink);
}

/* Collapse instruction on login */
.tada-ui-login .collapse .card-header {
    background: var(--tada-surface-cream) !important;
    font-size: 0.9rem !important;
}

/* Select2 warning theme harmonize */
.select2-container--bootstrap4 .select2-selection--warning,
.select2-warning + .select2-container--default .select2-selection--single,
.select2-warning + .select2-container--default .select2-selection--multiple {
    border-color: var(--tada-border) !important;
    background: #FFFCF7 !important;
}

/* Page title row in admin tables */
.card-title.p-2,
h3.card-title {
    font-family: var(--tada-font-headline);
    font-weight: 900;
}

/* Links in tables */
.table a[style*="color:black"],
.table a[style*="color: black"] {
    color: var(--tada-ink) !important;
    font-weight: 600;
    text-decoration: none !important;
}

.table a:hover {
    color: var(--tada-accent-strong) !important;
    text-decoration: underline !important;
}

/* Custom file, dropzone */
.dropzone {
    border: 2px dashed var(--tada-border) !important;
    border-radius: var(--tada-radius-md) !important;
    background: var(--tada-surface-cream) !important;
}

/* Bs-stepper */
.bs-stepper .step-trigger {
    border-radius: 14px !important;
}

.active .bs-stepper-circle {
    background: var(--tada-accent) !important;
    color: var(--tada-ink) !important;
}

.tada-alert-stack .alert {
    margin-bottom: 0;
    border-radius: var(--tada-radius-md);
}


/* === PAGE-SPECIFIC (migrated from blades) === */
/* INLINE MIGRATED: article_boxes/create.blade.php */
.image-container {
            max-height: 1000px;
            overflow: hidden;
        }

/* INLINE MIGRATED: article_boxes/edit.blade.php */
.image-container {
            max-height: 1000px;
            overflow: hidden;
        }

/* INLINE MIGRATED: article_boxes/list.blade.php */
.button-group {
            display: inline-block;
            margin-right: 5px;
        }

        .button-group form {
            display: inline;
            margin: 0;
        }

/* INLINE MIGRATED: exam/student/index.blade.php */
.student-exams-page {
            color: var(--tada-ink);
        }

        .student-exams-shell {
            padding: 1.25rem;
            border-radius: 28px;
            background:
                radial-gradient(circle at 100% 0%, rgba(244, 196, 48, 0.18), transparent 28%),
                #ffffff;
            box-shadow: var(--tada-shadow-card);
        }

        .student-exams-heading {
            max-width: 760px;
            margin-bottom: 1.5rem;
        }

        .student-exams-kicker {
            color: var(--tada-muted);
            font-family: var(--tada-font-accent);
            font-size: 0.78rem;
            font-weight: 700;
            letter-spacing: 0.04em;
            text-transform: uppercase;
        }

        .student-exams-title {
            font-family: var(--tada-font-headline);
            font-size: clamp(2rem, 4vw, 3.35rem);
            font-weight: 900;
            line-height: 0.98;
            letter-spacing: -0.035em;
            text-wrap: balance;
        }

        .student-exams-subtitle {
            color: var(--tada-muted);
            font-size: 1rem;
            text-wrap: pretty;
        }

        .student-exams-card {
            overflow: hidden;
            border-radius: 22px;
            background: var(--tada-surface);
            box-shadow: 0 14px 34px rgba(26, 25, 25, 0.08);
        }

        .student-exams-table {
            margin-bottom: 0 !important;
            border-collapse: separate !important;
            border-spacing: 0;
        }

        .student-exams-table thead th {
            border: 0 !important;
            background: var(--tada-ink);
            color: #ffffff;
            font-family: var(--tada-font-accent);
            font-size: 0.76rem;
            letter-spacing: 0.03em;
            text-transform: uppercase;
        }

        .student-exams-table tbody td {
            border-color: var(--tada-border) !important;
            padding: 1rem 1.1rem;
            vertical-align: middle;
        }

        .student-exam-row {
            cursor: pointer;
            transition: background-color .16s ease, box-shadow .16s ease, transform .16s ease;
        }

        .student-exam-row:hover,
        .student-exam-row:focus {
            outline: none;
            background: var(--tada-accent-soft) !important;
            box-shadow: inset 4px 0 0 var(--tada-accent);
        }

        .student-exam-link {
            display: inline-flex;
            align-items: center;
            color: var(--tada-ink);
            font-weight: 700;
            text-decoration: none;
        }

        .student-exam-link::before {
            content: ">";
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 1.55rem;
            height: 1.55rem;
            margin-right: 0.6rem;
            border-radius: 999px;
            background: var(--tada-accent);
            color: var(--tada-ink);
            font-family: var(--tada-font-accent);
            font-size: 0.82rem;
        }

        .student-exam-action {
            display: inline-flex;
            margin-left: 0.75rem;
            padding: 0.25rem 0.55rem;
            border-radius: 999px;
            background: var(--tada-surface-soft);
            color: var(--tada-muted);
            font-family: var(--tada-font-accent);
            font-size: 0.68rem;
            font-weight: 700;
            text-transform: uppercase;
        }

/* INLINE MIGRATED: exam/student/testing/test-result.blade.php */
.tada-test-result-page,
.test-result-page {
    color: var(--tada-ink);
}

.tada-test-result-page .result-summary,
.test-result-page .result-summary {
    background: var(--tada-surface);
    border: 1px solid var(--tada-border);
    border-radius: 24px;
    padding: clamp(1.25rem, 2vw, 1.75rem);
    box-shadow: var(--tada-shadow-card);
}

.tada-test-result-page .result-summary__header h2,
.test-result-page .result-summary__header h2 {
    font-family: var(--tada-font-headline);
    font-weight: 900;
    margin: 0;
}

.tada-test-result-page .result-summary__header p,
.test-result-page .result-summary__header p {
    color: var(--tada-muted);
}

.tada-test-result-page .summary-score-card,
.test-result-page .summary-score-card {
    background:
        radial-gradient(circle at 92% 8%, rgba(255, 255, 255, 0.42), transparent 28%),
        linear-gradient(135deg, var(--tada-accent), #ffd84a);
    border: 1px solid var(--tada-border);
    border-radius: 18px;
    padding: 1.25rem;
}

.tada-test-result-page .score-label,
.test-result-page .score-label {
    color: var(--tada-muted);
    font-family: var(--tada-font-accent);
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.tada-test-result-page .score-value,
.test-result-page .score-value {
    font-family: var(--tada-font-headline);
    font-size: clamp(2rem, 4vw, 2.5rem);
    font-weight: 900;
    line-height: 1.05;
}

.tada-test-result-page .score-status--pass,
.test-result-page .score-status--pass {
    background: rgba(2, 174, 110, 0.14);
    color: var(--tada-ink);
}

.tada-test-result-page .score-status--fail,
.test-result-page .score-status--fail {
    background: rgba(240, 76, 62, 0.12);
    color: var(--tada-ink);
}

.tada-test-result-page .summary-metric-card,
.test-result-page .summary-metric-card {
    height: 100%;
    background: var(--tada-surface-cream);
    border: 1px solid var(--tada-border);
    border-radius: 16px;
    padding: 1rem;
}

.tada-test-result-page .question-result-card,
.test-result-page .question-result-card {
    background: var(--tada-surface);
    border: 1px solid var(--tada-border);
    border-radius: 18px;
    overflow: hidden;
    box-shadow: var(--tada-shadow-soft);
}

.tada-test-result-page .question-result-card__header,
.test-result-page .question-result-card__header {
    padding: 0.9rem 1.1rem;
    background: var(--tada-surface-cream);
    border-bottom: 1px solid var(--tada-border);
    font-weight: 700;
}

/* INLINE MIGRATED: feedbacks/feedback.blade.php */
.small-font {
            font-size: 11px;
        }

        .tada-feedback-table td {
            line-height: 1.45;
            white-space: normal;
        }

/* INLINE MIGRATED: feedbacks/student/feedback.blade.php */
.student-feedback-card {
            max-width: 920px;
            margin: 0 auto;
            overflow: hidden;
            border-radius: 28px;
            background: #ffffff;
            box-shadow: var(--tada-shadow-card);
        }

        .student-feedback-header {
            padding: 1.6rem 2rem;
            background:
                radial-gradient(circle at 92% 10%, rgba(255, 255, 255, 0.42), transparent 26%),
                linear-gradient(135deg, var(--tada-accent), #ffd84a);
            color: var(--tada-ink);
        }

        .student-feedback-kicker {
            font-family: var(--tada-font-accent);
            font-size: 0.78rem;
            font-weight: 700;
            letter-spacing: 0.04em;
            text-transform: uppercase;
        }

        .student-feedback-title {
            font-family: var(--tada-font-headline);
            font-size: clamp(2rem, 4vw, 3.15rem);
            font-weight: 900;
            line-height: 0.98;
            letter-spacing: -0.035em;
        }

        .student-feedback-body {
            padding: 2rem;
        }

        .student-feedback-row,
        .student-feedback-body label {
            font-weight: 700;
        }

        .student-feedback-body .select2-container--default .select2-selection--single,
        .student-feedback-textarea {
            border-color: var(--tada-border);
            border-radius: 14px;
            box-shadow: none;
        }

        .student-feedback-textarea {
            margin-top: 0.8rem;
            min-height: 128px;
            resize: vertical;
        }

        .student-feedback-footer {
            padding: 1.25rem 2rem 2rem;
            background: #ffffff;
        }

        .student-feedback-submit {
            width: 100%;
            min-height: 58px;
            border: 2px solid var(--tada-ink);
            border-radius: 18px;
            background: var(--tada-accent);
            color: var(--tada-ink);
            font-family: var(--tada-font-accent);
            font-weight: 700;
            text-transform: uppercase;
            box-shadow: 7px 7px 0 var(--tada-ink);
        }

        .student-feedback-submit:hover {
            transform: translate(3px, 3px);
            box-shadow: 4px 4px 0 var(--tada-ink);
        }

/* INLINE MIGRATED: learning_indicators/home.blade.php */
.student-home-page {
            max-width: var(--tada-content-max, 1200px);
            font-family: var(--tada-font-body), "Geometria", sans-serif;
            color: var(--tada-ink);
        }

        .student-home-intro {
            margin-bottom: 0;
        }

        .student-home-hero {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 1.5rem;
            min-height: 172px;
            padding: 2rem;
            border: 1px solid rgba(244, 196, 48, 0.34);
            border-radius: 28px;
            background:
                radial-gradient(circle at 92% 16%, rgba(244, 196, 48, 0.28), transparent 28%),
                linear-gradient(135deg, #fffaf0 0%, #ffffff 58%, #fbf8f2 100%);
            box-shadow: var(--tada-shadow-card);
        }

        .student-home-title {
            max-width: 760px;
            font-size: clamp(2.35rem, 5vw, 4.45rem);
            line-height: 0.96;
            font-weight: 900;
            text-transform: none !important;
            color: var(--tada-ink);
            font-family: var(--tada-font-headline), "Recht Black", "Geometria", sans-serif;
            letter-spacing: -0.035em;
        }

        .student-home-title span {
            color: var(--tada-ink);
        }

        .student-home-kicker {
            text-transform: uppercase;
        }

        .student-home-subtitle {
            max-width: 520px;
            font-size: 1.05rem;
            color: var(--tada-muted);
            font-family: var(--tada-font-body), "Geometria", sans-serif;
        }

        .student-subtitle {
            font-family: var(--tada-font-accent), "Cake Mono Bold", monospace !important;
            letter-spacing: 0.01em;
            color: var(--tada-muted) !important;
        }

        .student-hero-cta,
        .student-cta-btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 58px;
            padding: 0.95rem 1.35rem;
            border: 2px solid var(--tada-ink);
            border-radius: 18px;
            background: var(--tada-accent);
            color: var(--tada-ink) !important;
            font-family: var(--tada-font-accent), "Cake Mono Bold", monospace;
            font-size: 0.92rem;
            font-weight: 700;
            letter-spacing: 0.01em;
            text-transform: uppercase;
            box-shadow: 7px 7px 0 var(--tada-ink);
            transition: transform .18s ease, box-shadow .18s ease;
            white-space: nowrap;
        }

        .student-hero-cta:hover,
        .student-cta-btn:hover {
            transform: translate(3px, 3px);
            box-shadow: 4px 4px 0 var(--tada-ink);
            color: var(--tada-ink) !important;
        }

        .student-instruction-toggle {
            display: inline-flex;
            margin-top: 0.85rem;
            color: var(--tada-muted);
            cursor: pointer;
            font-family: var(--tada-font-accent), "Cake Mono Bold", monospace;
            font-size: 0.82rem;
        }

        .border {
            border-radius: 20px;
        }

        .student-stat-grid {
            align-items: stretch;
        }

        .student-stat-card {
            min-height: 232px;
            border: 1px solid var(--tada-border) !important;
            border-radius: 24px !important;
            background: var(--tada-surface);
            box-shadow: var(--tada-shadow-soft);
        }

        .student-stat-card .card-body {
            display: flex;
            flex-direction: column;
            padding: 1.45rem;
        }

        .student-stat-card .card-title {
            font-size: 0.92rem;
            margin-bottom: 1.1rem;
            font-weight: 700;
            font-family: var(--tada-font-accent), "Cake Mono Bold", monospace;
            color: var(--tada-muted);
            letter-spacing: 0.02em;
        }

        .student-stat-value {
            font-family: var(--tada-font-headline), "Recht Black", "Geometria", sans-serif !important;
            font-size: clamp(2rem, 3vw, 2.65rem);
            line-height: 0.98;
            margin-bottom: 1.15rem;
            font-weight: 900;
            color: var(--tada-ink);
            letter-spacing: -0.035em;
        }

        .student-stat-card small {
            font-size: 0.9rem;
            line-height: 1.45;
            font-family: var(--tada-font-body), "Geometria", sans-serif;
            color: var(--tada-muted);
        }

        .student-stat-card .progress {
            height: 12px;
            margin-top: auto;
            margin-bottom: 0.9rem !important;
            background: var(--tada-surface-soft);
            border-radius: 999px;
        }

        .student-stat-card .badge {
            font-size: 0.9rem;
            padding: 0.38rem 0.75rem !important;
            margin-top: 0.35rem;
            font-family: var(--tada-font-accent), "Cake Mono Bold", monospace;
            letter-spacing: 0.01em;
        }

        .student-stat-card .row + .row {
            margin-top: 0.35rem;
        }

        .headline-random-italic-char {
            font-style: italic;
            font-family: var(--tada-font-headline-italic), "Recht Black Italic", "Geometria", sans-serif;
        }

        .tada-number {
            font-family: var(--tada-font-numeric), "TA-DA Custom Numerals", "Geometria", sans-serif !important;
            font-style: normal !important;
        }

        .student-quick-actions {
            align-items: center;
            margin-left: 0;
            margin-right: 0;
            padding: 1.25rem;
            border: 1px solid var(--tada-border);
            border-radius: 24px;
            background: #ffffff;
            box-shadow: var(--tada-shadow-soft);
        }

        .student-cta-btn-primary {
            min-height: 64px;
        }

        .student-action-copy {
            color: var(--tada-muted);
        }

        .student-section-title {
            font-family: var(--tada-font-headline), "Recht Black", "Geometria", sans-serif;
            font-size: clamp(1.45rem, 2.4vw, 2.15rem);
            font-weight: 900;
            letter-spacing: -0.025em;
            color: var(--tada-ink);
        }

        .student-home-page > .mt-4,
        .student-home-page > [data-toggle="collapse"] {
            margin-top: 3rem !important;
        }

        .student-home-page h2.h4 {
            margin-bottom: 1.35rem !important;
            font-size: clamp(1.55rem, 2.6vw, 2.25rem);
            letter-spacing: -0.025em;
        }

        .student-home-page [data-toggle="collapse"] + .collapse,
        .student-home-page [data-toggle="collapse"] + .collapsing {
            margin-bottom: 1.25rem;
        }

        .student-home-page .card {
            border: 0 !important;
            box-shadow: 0 14px 34px rgba(26, 25, 25, 0.07);
        }

        .student-home-page > .row + .row {
            margin-top: 0.25rem;
        }

        .certificate-preview {
            width: 100%;
            height: 180px;
            border: 1px solid #eceff4;
            border-radius: 12px;
            overflow: hidden;
            background: #f8fafc;
        }

        .certificate-preview iframe,
        .certificate-preview img {
            width: 100%;
            height: 100%;
            border: 0;
            object-fit: cover;
        }

        @media (max-width: 767.98px) {
            .student-home-hero {
                align-items: flex-start;
                flex-direction: column;
                padding: 1.25rem;
            }

            .student-hero-cta {
                width: 100%;
            }

            .student-quick-actions {
                padding: 1rem;
            }

            .student-home-subtitle {
                font-size: 1rem;
            }
        }

/* INLINE MIGRATED: learning_indicators/index.blade.php */
.b-r {
            border-radius: 30px;
        }

/* INLINE MIGRATED: lectorate/edit.blade.php */
.student {
            max-height: 20vh;
        }

/* INLINE MIGRATED: materials/student/index.blade.php */
.student-materials-page {
            color: var(--tada-ink);
        }

        .student-materials-shell {
            padding: 1.25rem;
            border-radius: 28px;
            background:
                radial-gradient(circle at 100% 0%, rgba(244, 196, 48, 0.18), transparent 28%),
                #ffffff;
            box-shadow: var(--tada-shadow-card);
        }

        .student-materials-heading {
            max-width: 760px;
            margin-bottom: 1.5rem;
        }

        .student-materials-kicker {
            color: var(--tada-muted);
            font-family: var(--tada-font-accent);
            font-size: 0.78rem;
            font-weight: 700;
            letter-spacing: 0.04em;
            text-transform: uppercase;
        }

        .student-materials-title {
            font-family: var(--tada-font-headline);
            font-size: clamp(2rem, 4vw, 3.35rem);
            font-weight: 900;
            line-height: 0.98;
            letter-spacing: -0.035em;
            text-wrap: balance;
        }

        .student-materials-subtitle {
            color: var(--tada-muted);
            font-size: 1rem;
            text-wrap: pretty;
        }

        .student-materials-empty {
            padding: 1.2rem 1.35rem;
            border-radius: 18px;
            background: var(--tada-accent-soft);
            color: var(--tada-ink);
            font-weight: 700;
        }

        .student-materials-card {
            overflow: hidden;
            border-radius: 22px;
            background: var(--tada-surface);
            box-shadow: 0 14px 34px rgba(26, 25, 25, 0.08);
        }

        .student-materials-table {
            border-collapse: separate !important;
            border-spacing: 0;
        }

        .student-materials-table thead th {
            border: 0 !important;
            background: var(--tada-ink);
            color: #ffffff;
            font-family: var(--tada-font-accent);
            font-size: 0.76rem;
            letter-spacing: 0.03em;
            text-transform: uppercase;
        }

        .student-materials-table tbody td {
            border-color: var(--tada-border) !important;
            padding: 1rem 1.1rem;
            vertical-align: middle;
        }

        .student-material-row {
            cursor: pointer;
            transition: background-color .16s ease, box-shadow .16s ease;
        }

        .student-material-row:hover,
        .student-material-row:focus {
            outline: none;
            background: var(--tada-accent-soft) !important;
            box-shadow: inset 4px 0 0 var(--tada-accent);
        }

        .student-material-link {
            display: inline-flex;
            align-items: center;
            color: var(--tada-ink);
            font-weight: 700;
            text-decoration: none;
        }

        .student-material-link::before {
            content: ">";
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 1.55rem;
            height: 1.55rem;
            margin-right: 0.6rem;
            border-radius: 999px;
            background: var(--tada-accent);
            color: var(--tada-ink);
            font-family: var(--tada-font-accent);
            font-size: 0.82rem;
        }

        .student-material-action {
            display: inline-flex;
            padding: 0.25rem 0.55rem;
            border-radius: 999px;
            background: var(--tada-surface-soft);
            color: var(--tada-muted);
            font-family: var(--tada-font-accent);
            font-size: 0.68rem;
            font-weight: 700;
            text-transform: uppercase;
        }

/* INLINE MIGRATED: prof/student/testing/test-result.blade.php */
.test-result-page { color: #1f2937; }
        .result-summary { background:#fff; border:1px solid #e8edf3; border-radius:20px; padding:24px; box-shadow:0 12px 28px rgba(17,24,39,.05);}
        .result-summary__header h2 { font-weight:700; margin:0; }
        .result-summary__header p { color:#5b6676; }
        .summary-score-card { background:linear-gradient(135deg,#fff9e6 0%,#fff2c7 100%); border:1px solid #f2d784; border-radius:16px; padding:18px; }
        .score-label { font-size:.95rem; color:#5f6774; }
        .score-value { font-size:2.1rem; font-weight:700; line-height:1.15; }
        .score-status { display:inline-block; margin-top:8px; padding:4px 10px; border-radius:999px; font-size:.85rem; font-weight:600; }
        .score-status--pass { background:#dff8ea; color:#0f7f47; }
        .score-status--fail { background:#fee5e5; color:#b12e2e; }
        .summary-metric-card { height:100%; background:#f8fafc; border:1px solid #e6ebf2; border-radius:14px; padding:16px; }
        .summary-metric-card--success { background:#e9f9f0; border-color:#bceecf; }
        .summary-metric-card--danger { background:#fff0f0; border-color:#f8c8c8; }
        .metric-caption { color:#5f6774; font-size:.92rem; margin-bottom:6px; }
        .metric-value { font-size:1.85rem; font-weight:700; line-height:1.1; }
        .question-result-card { background:#fff; border:1px solid #e8edf3; border-radius:16px; overflow:hidden; box-shadow:0 8px 20px rgba(17,24,39,.04); }
        .question-result-card__header { padding:14px 18px; background:#f9fafb; border-bottom:1px solid #edf1f5; font-weight:600; }
        .question-result-card__body { padding:14px 14px 10px; }
        .answer-row { border-radius:10px; padding:10px 12px; margin-bottom:8px; border:1px solid transparent; }
        .answer-row--neutral { background:#f5f7fb; border-color:#e4eaf3; color:#1f2937; }
        .answer-row--success { background:#1fa463; border-color:#178450; color:#fff; }
        .answer-row--danger { background:#d94a4a; border-color:#c43a3a; color:#fff; }

/* INLINE MIGRATED: reporting/exams_by_period.blade.php */
.small-font {
            font-size: 11px;
        }
        .main-column {
            background-color: white;
            z-index: 1;
        }

/* INLINE MIGRATED: reporting/index.blade.php */
.small-font {
            font-size: 11px;
        }
        .main-column {
            background-color: white;
            z-index: 1;
        }
        .border-left-separator {
            border-left: 1px solid #FFCC00 !important;
        }

/* INLINE MIGRATED: reporting/percent_by_departments.blade.php */
.small-font {
            font-size: 11px;
        }
        .main-column {
            background-color: white;
            z-index: 1;
        }

/* INLINE MIGRATED: reporting/percent_by_recommended_exams.blade.php */
.small-font {
            font-size: 11px;
        }
        .main-column {
            background-color: white;
            z-index: 1;
        }

/* INLINE MIGRATED: schedule/calendar.blade.php */
.schedule-calendar-page .card {
            border-radius: 16px;
        }

        .calendar-weekdays {
            display: grid;
            grid-template-columns: repeat(7, minmax(0, 1fr));
            gap: 8px;
            text-align: center;
            font-weight: 600;
            color: #6c757d;
            font-size: 0.9rem;
        }

        .calendar-grid {
            display: grid;
            grid-template-columns: repeat(7, minmax(0, 1fr));
            gap: 8px;
        }

        .calendar-day {
            min-height: 105px;
            border-radius: 12px;
            border: 1px solid #e9ecef;
            padding: 10px;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
        }

        .calendar-day-number {
            font-size: 1rem;
            font-weight: 700;
            color: #343a40;
        }

        .calendar-day-note {
            color: #6c757d;
        }

        .calendar-day:not(:disabled):hover {
            border-color: #ffc107;
            box-shadow: 0 4px 12px rgba(255, 193, 7, 0.22);
        }

        .calendar-day.is-muted {
            opacity: 0.55;
        }

        .calendar-day.is-today {
            border-color: #ffc107;
            box-shadow: inset 0 0 0 1px #ffc107;
            background: #fffdf3;
        }

        @media (max-width: 767.98px) {
            .calendar-day {
                min-height: 86px;
                padding: 8px;
            }
        }

/* INLINE MIGRATED: videos/student/index.blade.php */
.border {
                    border-radius: 30px;
                }

                .form-control:focus {
                    border-color: lightgrey;
                    box-shadow: 0 0px 6px rgba(0, 0, 0, 0.1);
                }

                .hover-shadow {
                    transition: box-shadow 0.3s ease;
                    cursor: pointer;
                }

                .hover-shadow:hover {
                    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3);
                }

                .play-overlay {
                    position: absolute;
                    top: 0;
                    left: 0;
                    width: 100%;
                    height: 100%;
                    background-color: rgba(0,0,0,0.3);
                    opacity: 0;
                    transition: opacity 0.3s ease;
                }

                .hover-shadow:hover .play-overlay {
                    opacity: 1;
                }

                /* Кнопка плею */
                .play-button {
                    width: 60px;
                    height: 60px;
                    background-color: rgba(255,255,255,0.8);
                    border-radius: 50%;
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    transition: transform 0.2s ease;
                }

                .hover-shadow:hover .play-button {
                    transform: scale(1.1);
                }

                .noselect {
                    user-select: none;
                    -webkit-user-select: none;
                    -ms-user-select: none;
                }

                .text-truncate-2 {
                    display: -webkit-box;
                    -webkit-line-clamp: 2;
                    -webkit-box-orient: vertical;
                    overflow: hidden;
                    text-overflow: ellipsis;

                    line-height: 1.2em;   /* висота одного рядка */
                    min-height: 2.4em;    /* мінімум 2 рядки */
                }
                #backToTop {
                    position: fixed;
                    bottom: 30px;
                    right: 30px;
                    display: none;
                    z-index: 999;
                    width: 45px;
                    height: 45px;
                    font-size: 20px;
                    line-height: 1;
                }

                .rounded-left-pill {
                    border-top-left-radius: 50rem !important;
                    border-bottom-left-radius: 50rem !important;
                    border-top-right-radius: 0 !important;
                    border-bottom-right-radius: 0 !important;
                }
                .rounded-right-pill {
                    border-top-right-radius: 50rem !important;
                    border-bottom-right-radius: 50rem !important;
                    border-top-left-radius: 0 !important;
                    border-bottom-left-radius: 0 !important;
                }

/* INLINE MIGRATED: videos/student/show.blade.php */
.border {
                    border-radius: 30px;
                }


/* =============================================================================
   TADA FINAL PASS — cohesive UI on every legacy block (2026-05-21)
   ============================================================================= */

.content-wrapper .nav-tabs:not(.tada-report-tabs) {
    gap: 0.4rem;
    border-bottom: 0;
    padding: 0.5rem 0 0.25rem;
}

.content-wrapper .nav-tabs .nav-link {
    border: 1px solid transparent !important;
    border-radius: 12px !important;
    color: var(--tada-muted) !important;
    font-family: var(--tada-font-accent);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.content-wrapper .nav-tabs .nav-link.active,
.content-wrapper .nav-tabs .nav-link.active.text-warning {
    border-color: var(--tada-border) !important;
    background: var(--tada-accent) !important;
    color: var(--tada-ink) !important;
    box-shadow: 4px 4px 0 var(--tada-ink);
}

.content-wrapper .table,
.content-wrapper table.dataTable {
    border-collapse: separate !important;
    border-spacing: 0;
}

.content-wrapper .table thead th,
.content-wrapper table.dataTable thead th {
    border: 0 !important;
    background: var(--tada-ink) !important;
    color: #fff !important;
    font-family: var(--tada-font-accent);
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    vertical-align: middle;
}

.content-wrapper .table tbody td,
.content-wrapper table.dataTable tbody td {
    border-color: var(--tada-border) !important;
    vertical-align: middle;
}

.content-wrapper .table tbody tr:hover {
    background: var(--tada-accent-soft) !important;
}

.content-wrapper .dataTables_wrapper .dataTables_filter input,
.content-wrapper .dataTables_wrapper .dataTables_length select {
    border-color: var(--tada-border) !important;
    background: #FFFCF7 !important;
}

.content-wrapper .page-item.active .page-link {
    box-shadow: 3px 3px 0 var(--tada-ink);
}

.learning-indicators-page .tada-page-intro h2,
.learning-indicators-page > h2.h4 {
    font-family: var(--tada-font-headline);
    font-weight: 900;
    letter-spacing: -0.02em;
}

.learning-indicators-page .tada-exam-result-card {
    overflow: hidden;
    border: 1px solid var(--tada-border) !important;
    border-radius: 20px !important;
    box-shadow: var(--tada-shadow-soft) !important;
}

.learning-indicators-page .tada-exam-result-card > .card-header {
    background: var(--tada-surface-cream) !important;
    border-bottom: 1px solid var(--tada-border) !important;
}

.tada-page-shell > form > .card,
.tada-page-shell > .card:only-child,
.tada-main-container > .card:only-child {
    overflow: hidden;
}

.tada-page-shell .card-header:not(.bg-warning):not(.tada-instruction-toggle) {
    background: var(--tada-surface-cream) !important;
    font-weight: 700;
}

.card.border-warning,
.card.border.border-warning,
.student-stat-card.border-warning {
    border-color: var(--tada-border) !important;
}

.tada-instruction-toggle {
    cursor: pointer;
    background:
        radial-gradient(circle at 92% 8%, rgba(255, 255, 255, 0.35), transparent 30%),
        var(--tada-surface-cream) !important;
}

.tada-instruction-toggle .section-label {
    color: var(--tada-muted);
    font-family: var(--tada-font-accent);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.tada-instruction-body {
    color: var(--tada-ink);
}

.content-wrapper h1,
.content-wrapper h2,
.content-wrapper h3,
.content-wrapper .h1,
.content-wrapper .h2,
.content-wrapper .h3,
.content-wrapper .h4 {
    color: var(--tada-ink);
}

.content-wrapper .text-gray-dark,
.content-wrapper .text-muted {
    color: var(--tada-muted) !important;
}

.content-wrapper .small-box,
.content-wrapper .info-box {
    min-height: 120px;
}

.content-wrapper .small-box .icon,
.content-wrapper .info-box .icon {
    color: var(--tada-accent-strong) !important;
}

.api-user-page .nav-tabs .nav-link,
.lectorate-page .nav-tabs .nav-link {
    border-radius: 12px !important;
}

.tada-page-shell .btn-warning,
.tada-main-container .btn-warning,
.schedule-calendar-page .btn-warning {
    border: 2px solid var(--tada-ink) !important;
    box-shadow: 5px 5px 0 var(--tada-ink) !important;
    font-family: var(--tada-font-accent);
    font-weight: 700;
    text-transform: uppercase;
}

.tada-page-shell .btn-warning:hover,
.tada-main-container .btn-warning:hover,
.schedule-calendar-page .btn-warning:hover {
    transform: translate(2px, 2px);
    box-shadow: 3px 3px 0 var(--tada-ink) !important;
}

.content-wrapper .alert {
    border-radius: var(--tada-radius-md);
    border-width: 1px;
}

.content-wrapper .custom-control-label::before {
    border-color: var(--tada-border) !important;
}

.presentation-shell .btn-warning {
    min-width: 220px;
}

@media (max-width: 767.98px) {
    .content-wrapper .table thead th,
    .content-wrapper table.dataTable thead th {
        font-size: 0.68rem;
        padding: 0.55rem 0.45rem;
    }
}

/* =============================================================================
   TADA FINAL PASS v2 — card-warning/solid, profile, lectorate, tests, videos
   ============================================================================= */

.content-wrapper .card.card-warning,
.content-wrapper .card.card-outline.card-warning,
.tada-page-shell .card.card-warning,
.tada-page-shell .card.card-outline.card-warning {
    border: 1px solid var(--tada-border) !important;
    border-radius: var(--tada-radius-lg) !important;
    box-shadow: var(--tada-shadow-soft) !important;
    overflow: hidden;
    background: var(--tada-surface) !important;
}

.content-wrapper .card.card-warning > .card-header,
.content-wrapper .card.card-outline.card-warning > .card-header,
.tada-page-shell .card.card-warning > .card-header {
    padding: 1.1rem var(--tada-card-padding) !important;
    border-bottom: 1px solid var(--tada-border) !important;
    background: var(--tada-surface-cream) !important;
    color: var(--tada-ink) !important;
    font-family: var(--tada-font-headline);
    font-weight: 800;
}

.content-wrapper .card.card-warning .card-title,
.tada-page-shell .card.card-warning .card-title {
    color: var(--tada-ink);
    font-size: 1.15rem;
    margin: 0;
}

.content-wrapper .card.card-solid {
    border: 1px solid var(--tada-border) !important;
    border-radius: var(--tada-radius-lg) !important;
    box-shadow: var(--tada-shadow-soft) !important;
    background: var(--tada-surface) !important;
}

.lectorate-page .card.card-solid > .card-body {
    padding: 1.25rem;
}

.lectorate-page .card.bg-light {
    border: 1px solid var(--tada-border) !important;
    border-radius: var(--tada-radius-md) !important;
    box-shadow: var(--tada-shadow-soft) !important;
    background: var(--tada-surface) !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.lectorate-page .card.bg-light:hover {
    transform: translateY(-2px);
    box-shadow: var(--tada-shadow-md) !important;
}

.lectorate-page .card.bg-light > .card-header {
    background: var(--tada-surface-cream) !important;
    border-bottom: 1px solid var(--tada-border) !important;
    color: var(--tada-muted);
    font-family: var(--tada-font-accent);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.lectorate-page .card.bg-light .lead b {
    font-family: var(--tada-font-headline);
    color: var(--tada-ink);
}

.lectorate-page .img-circle {
    border: 2px solid var(--tada-border);
    box-shadow: 4px 4px 0 var(--tada-ink);
}

.profile-page .card.card-warning .card-body {
    padding: 1.5rem var(--tada-card-padding);
}

.profile-page .form-control,
.lectorate-page .form-control,
.videos-student-page .form-control {
    border-radius: var(--tada-radius-sm);
    border-color: var(--tada-border);
}

.videos-student-page {
    color: var(--tada-ink);
}

.videos-student-page h4 {
    font-family: var(--tada-font-headline);
    font-weight: 900;
    letter-spacing: -0.02em;
}

.videos-student-page .card,
.videos-student-page .list-group-item {
    border: 1px solid var(--tada-border) !important;
    border-radius: var(--tada-radius-md) !important;
    box-shadow: var(--tada-shadow-soft) !important;
}

.videos-student-page .list-group-item:hover {
    background: var(--tada-surface-cream);
}

.student-test-page .card {
    border: 1px solid var(--tada-border) !important;
    border-radius: var(--tada-radius-lg) !important;
    box-shadow: var(--tada-shadow-soft) !important;
    overflow: hidden;
}

.student-test-page .card > .card-body:first-child {
    background: var(--tada-surface-cream);
    border-bottom: 1px solid var(--tada-border);
}

.student-test-page .card-title {
    font-family: var(--tada-font-headline);
    font-weight: 900;
    color: var(--tada-ink);
}

.student-test-page .progress {
    height: 8px !important;
    border-radius: 999px;
    background: var(--tada-border);
    overflow: hidden;
}

.student-test-page .progress-bar.bg-warning {
    background: linear-gradient(90deg, var(--tada-accent), #ffd84a) !important;
}

.student-test-page #questions .card,
.student-test-page .question-block {
    border-radius: var(--tada-radius-md) !important;
    margin-bottom: 1rem;
}

.student-test-page .custom-control-label {
    color: var(--tada-ink);
}

.student-test-page .btn-warning {
    min-width: 180px;
}

.tada-page-shell .card[style*="background-color: #FFE085"],
.tada-page-shell .card[style*="background-color:#FFE085"] {
    background: var(--tada-surface) !important;
    border: 1px solid var(--tada-border) !important;
}

.content-wrapper td.main-column,
.content-wrapper th.main-column {
    background: var(--tada-surface-cream) !important;
    color: var(--tada-ink) !important;
    font-weight: 700;
    border-color: var(--tada-border) !important;
    vertical-align: middle;
}

.content-wrapper .table .border-warning {
    border-color: var(--tada-border) !important;
}

.tada-ui-public .content-wrapper,
.tada-ui-public .content {
    background: var(--tada-surface-muted, #f6f1e6);
}

.tada-ui-public iframe[title="Сертифікат"],
.tada-ui-public .img-fluid {
    border-radius: var(--tada-radius-md);
    border: 1px solid var(--tada-border) !important;
    box-shadow: var(--tada-shadow-soft);
}

.tada-dashboard-home .display-4 {
    font-family: var(--tada-font-headline);
    font-weight: 900;
    letter-spacing: -0.03em;
    color: var(--tada-ink);
}

.tada-dashboard-home .section-label {
    color: var(--tada-muted);
    font-family: var(--tada-font-accent);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.tada-page-shell > .container-fluid.tada-main-container {
    padding-left: 0;
    padding-right: 0;
}


/* =============================================================================
   TADA DATATABLES TOOLBAR — news, orgs, identifiers, admin lists
   ============================================================================= */

.content-wrapper .dataTables_wrapper > .row:first-child,
.content-wrapper .dataTables_wrapper > .row:last-child {
    margin-left: 0;
    margin-right: 0;
}

.content-wrapper .dataTables_wrapper > .row:first-child {
    margin-bottom: 1rem;
    padding: 0.85rem 1rem;
    border: 1px solid var(--tada-border);
    border-radius: var(--tada-radius-md);
    background: var(--tada-surface-cream);
}

.content-wrapper .dataTables_wrapper > .row:first-child > [class*="col-"] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem;
}

.content-wrapper .dataTables_wrapper .dataTables_info {
    color: var(--tada-muted);
    font-family: var(--tada-font-body);
    font-size: 0.875rem;
    font-weight: 500;
    padding-top: 0.35rem;
}

.content-wrapper .dataTables_wrapper .dataTables_paginate {
    padding-top: 0.35rem;
}

.content-wrapper .dataTables_wrapper .dataTables_paginate .paginate_button {
    margin-left: 0.25rem;
    padding: 0.45rem 0.85rem !important;
    border: 1px solid var(--tada-border) !important;
    background: var(--tada-surface) !important;
    color: var(--tada-ink) !important;
    font-family: var(--tada-font-body) !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
}

.content-wrapper .dataTables_wrapper .dataTables_paginate .paginate_button.current,
.content-wrapper .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
    border-color: var(--tada-ink) !important;
    background: var(--tada-accent) !important;
    color: var(--tada-ink) !important;
    box-shadow: 3px 3px 0 var(--tada-ink);
}

.content-wrapper .dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    border-color: var(--tada-ink) !important;
    background: var(--tada-surface) !important;
    color: var(--tada-ink) !important;
}

.content-wrapper .dataTables_wrapper .dataTables_paginate .paginate_button.disabled,
.content-wrapper .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover {
    opacity: 0.45;
    box-shadow: none;
}

.content-wrapper .dataTables_wrapper #delete-btn,
.content-wrapper .dataTables_wrapper .tada-dt-delete-btn {
    min-height: 40px;
    padding: 0.45rem 1rem;
    border: 2px solid var(--tada-ink) !important;
    border-radius: 14px !important;
    background: #fde8e8 !important;
    color: #8b1e1e !important;
    font-family: var(--tada-font-body);
    font-size: 0.875rem;
    font-weight: 700;
    box-shadow: 4px 4px 0 var(--tada-ink);
}

.content-wrapper .dataTables_wrapper #delete-btn:hover,
.content-wrapper .dataTables_wrapper .tada-dt-delete-btn:hover {
    transform: translate(2px, 2px);
    box-shadow: 2px 2px 0 var(--tada-ink);
}

.content-wrapper .dataTables_wrapper .btn-warning {
    min-height: 40px;
}

.tada-datatable-page .card > .card-header .card-title {
    font-family: var(--tada-font-headline);
    font-weight: 900;
    letter-spacing: -0.02em;
}

.tada-identifier-page .tada-report-tabs {
    margin-bottom: 0.5rem;
}

.tada-identifier-page .dataTables_wrapper > .row:first-child .col-md-6:first-child {
    gap: 0.75rem;
}

table.dataTable thead .sorting:before,
table.dataTable thead .sorting:after,
table.dataTable thead .sorting_asc:before,
table.dataTable thead .sorting_asc:after,
table.dataTable thead .sorting_desc:before,
table.dataTable thead .sorting_desc:after,
table.dataTable thead .sorting_asc_disabled:before,
table.dataTable thead .sorting_asc_disabled:after,
table.dataTable thead .sorting_desc_disabled:before,
table.dataTable thead .sorting_desc_disabled:after {
    color: rgba(255, 255, 255, 0.75) !important;
    opacity: 1 !important;
}

table.dataTable thead .sorting_asc:before,
table.dataTable thead .sorting_desc:after {
    color: var(--tada-accent) !important;
}
