/* New UI section sheet: trackers. Every selector under .nui-on. Shared pieces belong in new-ui-kit.css, not here. */

/* ==========================================================================
   Views & Tools: shared tracker frame.
   ~140 tracker templates (home/aa-dashboard/**) render through one frame:
   .dashboard-widget-area > .widget-container > .widget.panel.panel-widget
   (.widget-header.panel-heading + .panel-body.widget-content). It has no
   stable page root class, so the frame itself is the anchor, minus the
   boards that already own their chrome (My Performance, mp boards).
   Specificity is kept above new-ui-pages.css (6 classes) so these win by
   rule, not by load order.
   ========================================================================== */

/* card: quiet dc-table-card surface, solid white, no frosted blur */
.nui-on .dashboard-widget-area:not(.nui-my-performance .dashboard-widget-area):not(.nui-mp-board .dashboard-widget-area) .widget.panel.panel-widget {
    background: var(--aa-white, #fff);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    border: 1px solid var(--aa-grey-100, #EEF1F2);
    border-radius: 12px;
    box-shadow: 0 1px 2px rgba(26, 26, 26, .05);
    overflow: hidden;
}

/* heading: small bold ink title over a hairline, no grey bar, no gradient tick */
.nui-on .dashboard-widget-area:not(.nui-my-performance .dashboard-widget-area):not(.nui-mp-board .dashboard-widget-area) .widget-header.panel-heading {
    background: transparent;
    border: 0;
    border-bottom: 1px solid var(--aa-grey-100, #EEF1F2);
    padding: 12px 18px;
    border-radius: 0;
}
.nui-on .dashboard-widget-area:not(.nui-my-performance .dashboard-widget-area):not(.nui-mp-board .dashboard-widget-area) .widget-header .panel-title {
    margin: 0;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0;
    color: var(--aa-ink, #222831);
    text-transform: none;
}
.nui-on .dashboard-widget-area:not(.nui-my-performance .dashboard-widget-area):not(.nui-mp-board .dashboard-widget-area) .widget-title::before {
    display: none;
}

/* filter widgets (.widget-no-panel): one compact bar, not a card with a title */
.nui-on .dashboard-widget-area:not(.nui-my-performance .dashboard-widget-area):not(.nui-mp-board .dashboard-widget-area) .widget-no-panel > .widget.panel.panel-widget {
    background: var(--aa-white, #fff);
    border: 1px solid var(--aa-grey-300, #C5CDD0);
    border-radius: 10px;
    box-shadow: none;
}
.nui-on .dashboard-widget-area:not(.nui-my-performance .dashboard-widget-area):not(.nui-mp-board .dashboard-widget-area) .widget-no-panel .panel-body {
    padding: 8px 14px;
}
.nui-on .dashboard-widget-area .widget-no-panel .widget-header {
    display: none;
}

/* filter controls inside the frame: 34px, 8px radius, grey-300 border, blue focus */
.nui-on .dashboard-widget-area .widget-content select.form-control,
.nui-on .dashboard-widget-area .widget-content input.form-control:not([type="checkbox"]):not([type="radio"]) {
    height: 34px;
    border: 1px solid var(--aa-grey-300, #C5CDD0);
    border-radius: 8px;
    box-shadow: none;
}
.nui-on .dashboard-widget-area .widget-content select.form-control:focus,
.nui-on .dashboard-widget-area .widget-content input.form-control:focus {
    border-color: var(--aa-blue, #0074C5);
    box-shadow: 0 0 0 3px rgba(0, 116, 197, .15);
}
.nui-on .dashboard-widget-area .widget-content .select2-container .select2-selection--single {
    height: 34px !important;
    min-height: 34px !important;
    border: 1px solid var(--aa-grey-300, #C5CDD0) !important;
    border-radius: 8px !important;
    background-color: var(--aa-white, #fff) !important;
}
.nui-on .dashboard-widget-area .widget-content .select2-container .select2-selection--single .select2-selection__rendered {
    line-height: 32px !important;
}
.nui-on .dashboard-widget-area .widget-content .select2-container .select2-selection--single:hover,
.nui-on .dashboard-widget-area .widget-content .select2-container.select2-container--open .select2-selection--single {
    border-color: var(--aa-blue, #0074C5) !important;
}
.nui-on .dashboard-widget-area .widget-content label {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--aa-grey-500, #7B8E92);
}

/* one primary: teal, green and orange solid buttons become secondary; danger stays red but outlined */
.nui-on .dashboard-widget-area .widget-content .btn-info,
.nui-on .dashboard-widget-area .widget-content .btn-success,
.nui-on .dashboard-widget-area .widget-content .btn-warning,
.nui-on .dashboard-widget-area .widget-content .btn-secondary {
    background: var(--aa-white, #fff);
    border: 1px solid var(--aa-grey-300, #C5CDD0);
    color: var(--aa-grey-700, #4A5358);
    box-shadow: none;
}
.nui-on .dashboard-widget-area .widget-content .btn-info:hover,
.nui-on .dashboard-widget-area .widget-content .btn-success:hover,
.nui-on .dashboard-widget-area .widget-content .btn-warning:hover,
.nui-on .dashboard-widget-area .widget-content .btn-secondary:hover {
    background: var(--aa-white, #fff);
    border-color: var(--aa-blue, #0074C5);
    color: var(--aa-blue, #0074C5);
}
.nui-on .dashboard-widget-area .widget-content .btn-danger {
    background: var(--aa-white, #fff);
    border: 1px solid #C62828;
    color: #C62828;
    box-shadow: none;
}

/* loading / empty lines inside widgets: small muted text, not big headings */
.nui-on .dashboard-widget-area .widget-content h4.text-center {
    font-size: 13px;
    font-weight: 500;
    color: var(--aa-grey-500, #7B8E92);
}

/* ==========================================================================
   Big dashboards with their own inline <style> (attendance family, Accountability).
   Wrapper rules via the page container class (3+ classes beat the inline
   single-class rules). Charts and tables are untouched.
   Attendance: ector, florida (ector-*); cincinnati, dekalb, sc (sc-*).
   ========================================================================== */

/* filter panel -> compact dc-filters row */
.nui-on .ector-attendance-container .ector-filter-panel,
.nui-on .cincinnati-attendance-container .sc-filter-panel,
.nui-on .dekalb-attendance-container .sc-filter-panel,
.nui-on .sc-attendance-container .sc-filter-panel {
    background: var(--aa-off-white, #F7F9FA);
    border: 1px solid var(--aa-grey-100, #EEF1F2);
    border-radius: 10px;
    padding: 12px 16px;
    gap: 12px;
}
.nui-on .ector-attendance-container .ector-filter-group input,
.nui-on .ector-attendance-container .ector-filter-group select,
.nui-on .cincinnati-attendance-container .sc-filter-group input,
.nui-on .cincinnati-attendance-container .sc-filter-group select,
.nui-on .dekalb-attendance-container .sc-filter-group input,
.nui-on .dekalb-attendance-container .sc-filter-group select,
.nui-on .sc-attendance-container .sc-filter-group input,
.nui-on .sc-attendance-container .sc-filter-group select {
    height: 34px;
    border: 1px solid var(--aa-grey-300, #C5CDD0);
    border-radius: 8px;
    background: var(--aa-white, #fff);
}
.nui-on .ector-attendance-container .ector-filter-group input:focus,
.nui-on .ector-attendance-container .ector-filter-group select:focus,
.nui-on .cincinnati-attendance-container .sc-filter-group input:focus,
.nui-on .cincinnati-attendance-container .sc-filter-group select:focus,
.nui-on .dekalb-attendance-container .sc-filter-group input:focus,
.nui-on .dekalb-attendance-container .sc-filter-group select:focus,
.nui-on .sc-attendance-container .sc-filter-group input:focus,
.nui-on .sc-attendance-container .sc-filter-group select:focus {
    outline: 0;
    border-color: var(--aa-blue, #0074C5);
    box-shadow: 0 0 0 3px rgba(0, 116, 197, .15);
}

/* summary tiles -> dc-kpi weight: hairline border, 12px radius, no pop animation */
.nui-on .ector-attendance-container .ector-summary-card,
.nui-on .cincinnati-attendance-container .sc-summary-card,
.nui-on .dekalb-attendance-container .sc-summary-card,
.nui-on .sc-attendance-container .sc-summary-card {
    border: 1px solid var(--aa-grey-100, #EEF1F2);
    border-radius: 12px;
    box-shadow: none;
    animation: none;
    opacity: 1;
}

/* one primary (Export stays blue); refresh green and SIS orange become secondary */
.nui-on .ector-attendance-container .ector-btn-refresh,
.nui-on .cincinnati-attendance-container .sc-btn-refresh,
.nui-on .dekalb-attendance-container .sc-btn-refresh,
.nui-on .sc-attendance-container .sc-btn-refresh,
.nui-on .ector-attendance-container .btn-sis-confirm,
.nui-on .cincinnati-attendance-container .btn-sis-confirm,
.nui-on .dekalb-attendance-container .btn-sis-confirm,
.nui-on .sc-attendance-container .btn-sis-confirm {
    background: var(--aa-white, #fff);
    color: var(--aa-grey-700, #4A5358);
    border: 1px solid var(--aa-grey-300, #C5CDD0);
    box-shadow: none;
}
.nui-on .ector-attendance-container .ector-btn-refresh:hover,
.nui-on .cincinnati-attendance-container .sc-btn-refresh:hover,
.nui-on .dekalb-attendance-container .sc-btn-refresh:hover,
.nui-on .sc-attendance-container .sc-btn-refresh:hover,
.nui-on .ector-attendance-container .btn-sis-confirm:hover,
.nui-on .cincinnati-attendance-container .btn-sis-confirm:hover,
.nui-on .dekalb-attendance-container .btn-sis-confirm:hover,
.nui-on .sc-attendance-container .btn-sis-confirm:hover {
    background: var(--aa-white, #fff);
    border-color: var(--aa-blue, #0074C5);
    color: var(--aa-blue, #0074C5);
}

/* Accountability: analytics gradient button -> flat blue; widget cards quiet */
.nui-on .accountability-container .btn-analytics {
    background: var(--aa-blue, #0074C5);
    box-shadow: none;
}
.nui-on .accountability-container .widget-card {
    border: 1px solid var(--aa-grey-100, #EEF1F2);
    border-radius: 12px;
    box-shadow: none;
}

/* ==========================================================================
   Report families with inline <style>: consecutive-absence / ADA monthly
   (caa-cna, cin-cna, sc-cna, ada-mo), Usage, Two-way communication.
   Prefix-matched on the page container class so one rule covers the family.
   ========================================================================== */
.nui-on [class$="-cna-container"] [class$="-filter-panel"],
.nui-on .ada-mo-container .ada-mo-filter-panel,
.nui-on .ua-container .filter-panel,
.nui-on .two-way-comm-container .filter-panel,
.nui-on .cssr-page .cssr-filter-bar {
    background: var(--aa-off-white, #F7F9FA);
    border: 1px solid var(--aa-grey-100, #EEF1F2);
    border-radius: 10px;
    box-shadow: none;
}
.nui-on [class$="-cna-container"] [class$="-filter-group"] :is(input, select),
.nui-on .ada-mo-container .ada-mo-filter-group :is(input, select),
.nui-on .ua-container .filter-panel :is(input:not([type="checkbox"]):not([type="radio"]), select),
.nui-on .two-way-comm-container .filter-panel :is(input:not([type="checkbox"]):not([type="radio"]), select) {
    height: 34px;
    border: 1px solid var(--aa-grey-300, #C5CDD0);
    border-radius: 8px;
    background: var(--aa-white, #fff);
}
.nui-on [class$="-cna-container"] [class$="-summary-card"],
.nui-on .ada-mo-container .ada-mo-summary-card,
.nui-on .ua-container .ua-summary-card,
.nui-on .two-way-comm-container .summary-card,
.nui-on .cssr-page .cssr-summary-card,
.nui-on .ua-container .ua-widget-card {
    border: 1px solid var(--aa-grey-100, #EEF1F2);
    border-radius: 12px;
    box-shadow: none;
    animation: none;
    opacity: 1;
}
.nui-on .ua-container .ua-widget-header {
    border-bottom: 1px solid var(--aa-grey-100, #EEF1F2);
    font-size: 15px;
}

/* teal refresh buttons become secondary */
.nui-on [class$="-cna-container"] [class*="-cna-btn-refresh"],
.nui-on .ada-mo-container .ada-mo-btn-refresh {
    background: var(--aa-white, #fff);
    color: var(--aa-grey-700, #4A5358);
    border: 1px solid var(--aa-grey-300, #C5CDD0);
    box-shadow: none;
}
.nui-on [class$="-cna-container"] [class*="-cna-btn-refresh"]:hover,
.nui-on .ada-mo-container .ada-mo-btn-refresh:hover {
    background: var(--aa-white, #fff);
    border-color: var(--aa-blue, #0074C5);
    color: var(--aa-blue, #0074C5);
}

/* gradient primaries become the flat kit blue (one primary per view) */
.nui-on .ua-btn-export, .nui-on .uv-btn-export, .nui-on .cssr-page .cssr-btn-primary {
    background: var(--aa-blue, #0074C5);
    box-shadow: none;
    transform: none;
}
.nui-on .ua-btn-export:hover, .nui-on .uv-btn-export:hover, .nui-on .cssr-page .cssr-btn-primary:hover {
    background: #005FA3;
    box-shadow: none;
    transform: none;
}

/* ==========================================================================
   Header tiles drawn with inline solid colours (GCs on track, Grad rate,
   Completion health, FL dashboards): quiet bordered tiles, ink values.
   Inline styles need !important.
   ========================================================================== */
.nui-on .widget-header div[style*="background-color"],
.nui-on .aa-25-card div[style*="background-color"] {
    background: var(--aa-white, #fff) !important;
    border: 1px solid var(--aa-grey-100, #EEF1F2);
    border-radius: 8px;
    padding: 6px 12px !important;
    margin: 4px 0;
    height: auto !important;
    text-align: left !important;
}
.nui-on .widget-header div[style*="background-color"] > span:first-child,
.nui-on .aa-25-card div[style*="background-color"] > span:first-child {
    color: var(--aa-grey-500, #7B8E92) !important;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.nui-on .widget-header div[style*="background-color"] > span:not(:first-child),
.nui-on .aa-25-card div[style*="background-color"] > span:not(:first-child) {
    color: var(--aa-ink, #222831) !important;
    font-size: 16px;
    margin: 0 !important;
}
.nui-on .widget-header div[style*="background-color"] div[style*="animation"],
.nui-on .aa-25-card div[style*="background-color"] div[style*="animation"] {
    border-color: var(--aa-grey-100, #EEF1F2) !important;
    border-top-color: var(--aa-blue, #0074C5) !important;
}

/* ==========================================================================
   FLDashboard / SC Charters / Advocate Wins frame: .aa-db-widget-area > .aa-25-card
   ========================================================================== */
.nui-on .aa-db-widget-area .aa-25-card {
    background: var(--aa-white, #fff);
    border: 1px solid var(--aa-grey-100, #EEF1F2);
    border-radius: 12px;
    box-shadow: 0 1px 2px rgba(26, 26, 26, .05);
}
.nui-on .aa-db-widget-area .aa-25-card h5 {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .04em;
    color: var(--aa-ink, #222831);
}
.nui-on .aa-db-widget-area .aa-25-card .select2-container .select2-selection--single {
    height: 34px !important;
    border: 1px solid var(--aa-grey-300, #C5CDD0) !important;
    border-radius: 8px !important;
}
.nui-on .aa-db-widget-area > div > h4.text-center {
    font-size: 13px;
    font-weight: 500;
    color: var(--aa-grey-500, #7B8E92);
}

/* ==========================================================================
   Report pages built as .widget-no-panel filter bar + .panel-default result
   panel (FL/CAA/Positive attendance, CVA, StudentContacts, ApplicationConversion,
   MyStudents, Credits Earned Rate...). Not inside .dashboard-widget-area, so
   the bar and sibling panel are anchored on .widget-no-panel itself.
   ========================================================================== */
.nui-on .widget-no-panel:not(.nui-my-performance .widget-no-panel):not(.nui-mp-board .widget-no-panel) > .widget.panel.panel-widget {
    background: var(--aa-white, #fff);
    border: 1px solid var(--aa-grey-300, #C5CDD0);
    border-radius: 10px;
    box-shadow: none;
}
.nui-on .widget-no-panel:not(.nui-my-performance .widget-no-panel):not(.nui-mp-board .widget-no-panel) .panel-body {
    padding: 8px 14px;
}
.nui-on .widget-no-panel .widget-content label {
    margin-bottom: 2px;
}
.nui-on .widget-no-panel .widget-content :is(input.form-control, input.acadeThemeTextInput) {
    height: 34px;
    border-radius: 8px;
    border: 1px solid var(--aa-grey-300, #C5CDD0);
    box-shadow: none;
}
.nui-on .widget-no-panel .widget-content .btn-lg {
    height: 34px;
    padding: 0 16px;
    font-size: 13px;
    line-height: 32px;
}
.nui-on .widget-no-panel ~ .panel.panel-default {
    border: 1px solid var(--aa-grey-100, #EEF1F2);
    border-radius: 12px;
    box-shadow: 0 1px 2px rgba(26, 26, 26, .05);
    overflow: hidden;
}
.nui-on .widget-no-panel ~ .panel.panel-default > .panel-heading {
    background: transparent;
    border: 0;
    border-bottom: 1px solid var(--aa-grey-100, #EEF1F2);
    padding: 12px 18px;
}
.nui-on .widget-no-panel ~ .panel.panel-default > .panel-heading h5 {
    margin: 0;
    font-size: 14px;
    font-weight: 700;
    color: var(--aa-ink, #222831);
}
.nui-on .widget-no-panel ~ .panel.panel-default > .panel-body > h3.text-center {
    font-size: 13px;
    font-weight: 500;
    color: var(--aa-grey-500, #7B8E92);
}
/* totals strip with inline solid tiles above the table */
.nui-on .widget-no-panel ~ .panel.panel-default div[style*="background-color"] {
    background: var(--aa-white, #fff) !important;
    border: 1px solid var(--aa-grey-100, #EEF1F2);
    border-radius: 8px;
    padding: 6px 12px !important;
    height: auto !important;
}
.nui-on .widget-no-panel ~ .panel.panel-default div[style*="background-color"] > span:first-child {
    color: var(--aa-grey-500, #7B8E92) !important;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.nui-on .widget-no-panel ~ .panel.panel-default div[style*="background-color"] > span:not(:first-child) {
    color: var(--aa-ink, #222831) !important;
}

/* Cincinnati onsite attendance reuses cincinnati-attendance-container with the sc-* family */
.nui-on .cincinnati-attendance-container .sc-btn-refresh,
.nui-on .cincinnati-attendance-container .btn-sis-confirm {
    background: var(--aa-white, #fff);
    color: var(--aa-grey-700, #4A5358);
    border: 1px solid var(--aa-grey-300, #C5CDD0);
    box-shadow: none;
}

/* Incident forms: Download PDF secondary, Upload/Update the one primary */
.nui-on .incident-report-container .btn.is-btn-info {
    background: var(--aa-white, #fff) !important;
    color: var(--aa-grey-700, #4A5358) !important;
    border: 1px solid var(--aa-grey-300, #C5CDD0) !important;
    box-shadow: none !important;
}
.nui-on .incident-report-container .btn.is-btn-info:hover {
    border-color: var(--aa-blue, #0074C5) !important;
    color: var(--aa-blue, #0074C5) !important;
}
.nui-on .incident-report-container .btn.is-btn-success {
    background: var(--aa-blue, #0074C5) !important;
    border-color: var(--aa-blue, #0074C5) !important;
    color: #fff !important;
}

/* Filter widgets: one compact left-aligned row (bar look comes from the .widget-no-panel rules) */
.nui-on .widget-no-panel .widget-content .d-flex.f-justify-center {
    justify-content: flex-start !important;
    margin: 0 !important;
    width: 100% !important;
    gap: 12px;
    flex-wrap: wrap;
    align-items: flex-end;
}
.nui-on .widget-no-panel .widget-content .progress-band-filter {
    flex: 0 1 220px !important;
    width: auto !important;
    min-width: 160px;
    padding: 0 !important;
}
.nui-on .widget-no-panel .widget-content .d-flex.f-justify-center > div {
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.nui-on .widget-no-panel .widget-content .d-flex.f-justify-center label {
    display: block;
    margin: 0 0 3px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
    color: var(--aa-grey-500, #7B8E92);
}
.nui-on .widget-no-panel .widget-content .d-flex.f-justify-center .select2-container {
    width: 100% !important;
}
.nui-on .widget-no-panel .widget-content .mhauto { margin-left: 0 !important; margin-right: 0 !important; }
