/* Shared frontend surface. Theme-provided Kibelia variables always take precedence.
   Dashboard-specific files retain only layout and semantic attendance states. */
.dk-dashboard {
    --dk-blue: var(--kibelia-blue, #17324D);
    --dk-turquoise: var(--kibelia-turquoise, #00A8A8);
    --dk-text: var(--kibelia-text, #4D5964);
    --dk-border: var(--kibelia-border, #D9E0E5);
    --dk-background: var(--kibelia-background, #FFFFFF);
}
.dk-dashboard.dk-dashboard {
    box-sizing: border-box;
    width: 100%;
    max-width: var(--kibelia-dashboard-width, 1440px);
    margin: 24px auto;
    padding: 20px;
    border: 1px solid var(--dk-border);
    border-radius: 10px;
    background: var(--dk-background);
    color: var(--dk-text);
}
.dk-dashboard.dk-dashboard :is(h1,h2,h3,h4,summary) { color: var(--dk-blue); }
.dk-dashboard a:not(.button) { color: var(--dk-blue); }
.dk-dashboard a:not(.button):hover { color: var(--dk-turquoise); }
.dk-dashboard.dk-dashboard :is(.dk-dashboard-filter,.dk-dashboard-actions) {
    display: flex; align-items: center; flex-wrap: wrap;
    gap: 8px; margin: 0 0 12px;
}
.dk-dashboard .dk-dashboard-filter label { display: inline-flex; align-items: center; gap: 6px; }
.dk-dashboard .dk-dashboard-actions { padding-bottom: 8px; border-bottom: 1px solid var(--dk-border); }
.dk-dashboard.dk-dashboard :is(.dk-dashboard-card,.dk-parent-dashboard article,.dk-parent-account,.dk-registration-completion) {
    box-sizing: border-box; max-width: none; padding: 16px;
    border: 1px solid var(--dk-border); border-radius: 8px;
    background: var(--dk-background); color: var(--dk-text);
}
.dk-dashboard.dk-dashboard :is(.dk-form-wrap,.dk-parent-dashboard,.dk-parent-account,.dk-registration-completion) { width: 100%; max-width: none; }
.dk-dashboard.dk-dashboard :is(.dk-k-table-wrap,.dk-applications-table-wrap) {
    width: 100%; overflow-x: auto; border: 1px solid var(--dk-border);
    border-radius: 6px; background: var(--dk-background);
}
.dk-dashboard .dk-dashboard-table { width: 100%; border-collapse: collapse; margin: 0; color: var(--dk-text); }
.dk-dashboard .dk-dashboard-table :is(th,td) { border-color: var(--dk-border); }
.dk-dashboard .dk-dashboard-table thead th,
.dk-dashboard .dk-k-table .dk-k-class-row th {
    background: var(--dk-background); color: var(--dk-blue);
}
.dk-dashboard .dk-applications-table :is(th,td) { padding: 10px; border: 0; border-bottom: 1px solid var(--dk-border); text-align: left; vertical-align: top; }
.dk-dashboard .dk-applications-table { font-size: 13px; }
.dk-dashboard .dk-applications-table { table-layout: fixed; min-width: 980px; }
.dk-dashboard .dk-applications-table :is(th,td) { padding: 7px 8px; vertical-align: middle; }
.dk-dashboard .dk-applications-table th:nth-child(1) { width: 19%; }
.dk-dashboard .dk-applications-table th:nth-child(2) { width: 5%; }
.dk-dashboard .dk-applications-table th:nth-child(3) { width: 14%; }
.dk-dashboard .dk-applications-table th:nth-child(4) { width: 11%; }
.dk-dashboard .dk-applications-table th:nth-child(5) { width: 20%; }
.dk-dashboard .dk-applications-table th:nth-child(6) { width: 10%; }
.dk-dashboard .dk-applications-table th:nth-child(7) { width: 13%; }
.dk-dashboard .dk-applications-table th:nth-child(8) { width: 8%; }
.dk-application-line { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: 1.5; }
.dk-application-two-lines { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; line-height: 1.5; }
.dk-dashboard .dk-application-status-form select { width: 100%; min-width: 0; font-size: 12px; }
.dk-dashboard.dk-dashboard .dk-application-details-toggle { min-height: 25px; padding: 2px 5px; font-size: 12px; }
.dk-application-detail-card[hidden] { display: none !important; }
.dk-application-detail-card {
    position: fixed; z-index: 100000; box-sizing: border-box;
    width: min(360px, calc(100vw - 16px)); max-height: calc(100vh - 16px);
    overflow: auto; overscroll-behavior: contain; overflow-wrap: anywhere;
    padding: 12px; border: 1px solid var(--dk-border); border-radius: 8px;
    background: var(--dk-background); color: var(--dk-text);
    box-shadow: 0 6px 24px rgb(0 0 0 / 14%); font-size: 13px; line-height: 1.45;
}
.dk-application-detail-card p { margin: 0 0 10px; }
.dk-application-detail-card p:last-child { margin-bottom: 0; }
.dk-application-detail-card ul { margin: 5px 0 10px; padding-left: 18px; }
.dk-dashboard.dk-dashboard :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea) {
    box-sizing: border-box; border: 1px solid var(--dk-border); border-radius: 4px;
    background-color: var(--dk-background); color: var(--dk-text);
}
.dk-dashboard .dk-dashboard-filter :is(input,select) { min-height: 32px; margin: 0; padding: 4px 8px; font: inherit; }
.dk-dashboard .dk-dashboard-filter select { padding-right: 24px; }
.dk-dashboard.dk-dashboard :is(button,.button):not(.dk-e-dashboard-badge):not(.dk-health-notice):not(.dk-k-health-trigger) {
    box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center;
    width: auto; min-width: 0; min-height: 32px; margin: 0; padding: 5px 10px;
    border: 1px solid var(--dk-blue); border-radius: 4px;
    background: var(--dk-blue); color: var(--dk-background);
    font: inherit; line-height: 1.4; letter-spacing: normal; text-transform: none;
    text-decoration: none; cursor: pointer;
}
.dk-dashboard.dk-dashboard :is(button,.button):not(.dk-e-dashboard-badge):not(.dk-health-notice):not(.dk-k-health-trigger):hover {
    background: var(--dk-turquoise); border-color: var(--dk-turquoise); color: var(--dk-background);
}
.dk-dashboard.dk-dashboard :is(button,.button):disabled { opacity: .55; cursor: not-allowed; }
.dk-dashboard.dk-dashboard :is(button,a,input,select,textarea,summary):focus-visible { outline: 2px solid var(--dk-turquoise); outline-offset: 2px; }
.dk-dashboard.dk-dashboard :is(.dk-k-mini-button,.dk-k-compact-action,.button-small,.dk-e-note-close) {
    width: auto !important; min-width: 0 !important; height: 25px !important;
    min-height: 25px !important; margin: 0 !important; padding: 0 6px !important;
    font-size: 11px !important; line-height: 23px !important;
}
.dk-dashboard .dk-k-compact-action { width: 27px !important; min-width: 27px !important; padding: 0 !important; font-size: 16px !important; }
.dk-dashboard.dk-dashboard :is(.dk-k-mini-button,.dk-k-compact-action,.button-small)::before,
.dk-dashboard.dk-dashboard :is(.dk-k-mini-button,.dk-k-compact-action,.button-small)::after { content: none !important; }
.dk-dashboard .dk-applications-status-bar,
.dk-dashboard .dk-e-dashboard-child,
.dk-dashboard .dk-e-dashboard-summary { border-color: var(--dk-border); background: var(--dk-background); color: var(--dk-text); }
.dk-dashboard .notice { padding: 8px 12px; margin: 12px 0; border-left: 4px solid var(--dk-blue); background: var(--dk-background); }
.dk-dashboard .notice-error { border-left-color: #9b1c1c; }
.dk-dashboard.dk-dashboard .dk-e-dashboard-day,
.dk-dashboard.dk-dashboard .dk-e-class-heading,
.dk-dashboard.dk-dashboard .dk-e-note-dialog,
.dk-dashboard.dk-dashboard .dk-k-child-dialog {
    border-color: var(--dk-border); background: var(--dk-background); color: var(--dk-text);
}
.dk-dashboard.dk-dashboard .dk-e-class-heading { color: var(--dk-blue); }
.dk-dashboard.dk-dashboard :is(.dk-e-dashboard-date,.dk-e-note-head,.dk-e-dashboard-summary) { border-color: var(--dk-border); }
.dk-dashboard.dk-dashboard :is(.dk-e-dashboard-legend,.dk-k-legend,.dk-e-note-head small) { color: var(--dk-text); }
@media(max-width:782px) {
    .dk-dashboard.dk-dashboard { margin: 12px auto; padding: 12px; border-radius: 0; }
    .dk-dashboard .dk-dashboard-filter { align-items: flex-start; }
}
