/* Admin-only CIS theme. Reference: nencercis/assets/css/{base,style,responsive}.css.
   Keep these tokens separate from the public site's tenant brand colors. */
/* Asset revision: full release 2026-10-06; refresh stale CDN variants. */
:root[data-portal="admin"] {
    --primary-color: #015e70;
    --primary-hover: #00708c;
    --primary-rgb: 1, 94, 112;
    --secondary-color: #bb9a77;
    --secondary-hover: #a27b51;
    --secondary-rgb: 187, 154, 119;
    --nencer-primary: var(--primary-color);
    --nencer-primary-dark: var(--primary-hover);
    --bs-primary: var(--primary-color);
    --bs-primary-rgb: var(--primary-rgb);
    --bs-link-color: var(--primary-color);
    --bs-link-hover-color: var(--primary-hover);
    --bs-link-color-rgb: var(--primary-rgb);
    --bs-link-hover-color-rgb: 0, 112, 140;
    --bs-body-font-size: 14px;
    --size-theme: 14px;
    --page-background: #f0f0f0;
    --app-header-height: 36px;
    --admin-toolbar-height: 52px;
    --nencer-control-height: 32px;
    --admin-shell-max-width: none;
    --admin-modal-header-bg: #fff;
}
body.admin-portal { background: var(--page-background); color: #343a40; font-size: 14px; font-weight: 400; }
/* One fixed height for every admin page toolbar, including narrow screens.
   Keep actions on one row; overflow stays inside the strip instead of growing it. */
.admin-portal :is(.admin-standard-heading, .pm-header, .ticket-heading, .lpd-header, .layout-fullwidth-header, .section-buttons) {
    box-sizing: border-box !important;
    height: var(--admin-toolbar-height) !important;
    min-height: var(--admin-toolbar-height) !important;
    max-height: var(--admin-toolbar-height) !important;
    flex-shrink: 0;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    border: 0 !important;
    border-radius: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: thin;
}
.admin-portal :is(.admin-standard-heading, .pm-header, .ticket-heading, .lpd-header) > * {
    flex-shrink: 0;
    white-space: nowrap;
}
.admin-portal :is(.admin-standard-heading, .pm-header, .ticket-heading, .lpd-header) :is(button, a) {
    white-space: nowrap;
}
.admin-portal .admin-standard-page,
.admin-portal .main.admin-standard-page,
.admin-portal .lp-admin-page,
.admin-portal .pm-shell,
.admin-portal .ticket-manager {
    background: var(--page-background) !important; color: #212529; display: block;
    box-sizing: border-box; margin: 0 !important; padding: 0 10px 10px !important;
    max-width: none !important; min-height: calc(100dvh - var(--app-header-height)); width: 100%;
}
/* The full-width green action strip replaces the marketing-style page hero. */
.admin-portal :is(.admin-standard-heading, .pm-header, .ticket-heading) {
    align-items: center !important; background: var(--primary-color) !important;
    border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
    color: #fff; display: flex !important; gap: 8px !important;
    justify-content: space-between !important; margin: 0 -10px 10px !important;
    padding: 5px 10px !important;
    position: relative; width: calc(100% + 20px) !important;
}
.admin-portal :is(.admin-standard-heading, .pm-header, .ticket-heading)::after { display: none !important; }
.admin-portal :is(.admin-standard-heading, .pm-header, .ticket-heading) > div:first-child { min-width: 0; }
.admin-portal :is(.admin-standard-heading, .pm-header, .ticket-heading) > div:first-child > span,
.admin-portal :is(.admin-standard-heading, .pm-header, .ticket-heading) > div:first-child > .text-muted,
.admin-portal :is(.admin-standard-heading, .pm-header, .ticket-heading) p { display: none !important; }
.admin-portal :is(.admin-standard-heading, .pm-header, .ticket-heading) :is(h1, h2, h3, h4, h5) {
    color: #fff !important; font-size: 16.1px !important; font-weight: 700 !important;
    letter-spacing: normal !important; line-height: 1.4 !important; margin: 0 !important;
}
.admin-portal :is(.admin-standard-actions, .pm-header__actions, .ticket-actions) {
    display: flex !important; align-items: center; justify-content: flex-end;
    flex-wrap: nowrap !important; gap: 5px !important; width: auto !important; flex-shrink: 0;
}
.admin-portal :is(.admin-standard-heading, .pm-header, .ticket-heading) :is(.btn-primary, .button-theme_primary) {
    --bs-btn-bg: var(--secondary-color); --bs-btn-border-color: var(--secondary-color);
    --bs-btn-hover-bg: var(--secondary-hover); --bs-btn-hover-border-color: var(--secondary-hover);
    --bs-btn-active-bg: var(--secondary-hover); --bs-btn-active-border-color: var(--secondary-hover);
    background-color: var(--secondary-color); color: #fff;
}
.admin-portal :is(.admin-standard-heading, .pm-header, .ticket-heading) :is(.btn-outline-secondary, .btn-outline-primary) {
    color: #fff; border-color: rgba(255,255,255,.65);
}
.admin-portal :is(.admin-standard-card, .lp-admin-card) {
    background: #fff !important; border: 1px solid #bfc6ca !important;
    border-radius: 0 !important; box-shadow: none !important;
}
/* The existing module layouts and validation remain responsible for form semantics. */
/* Horizontal defaults must yield to fields that reserve space for icons or actions. */
.admin-portal :where(.form-control, .form-select, .theme-input, select, textarea, input:not([type="checkbox"], [type="radio"], [type="file"], [type="color"], [type="range"], [type="hidden"], [type="submit"], [type="button"], [type="reset"], [type="image"])) {
    padding-left: 4px;
    padding-right: 4px;
}
.admin-portal :is(.form-control, .form-select, .theme-input, select, textarea, input:not([type="checkbox"], [type="radio"], [type="file"], [type="color"], [type="range"], [type="hidden"], [type="submit"], [type="button"], [type="reset"], [type="image"])) {
    border: 1px solid #9f9f9f; border-radius: 4px !important; background-color: #fff;
    color: #212529; font-size: 14px !important; font-weight: 500; padding-top: 4px; padding-bottom: 4px;
    line-height: 22px; box-shadow: none;
}
.admin-portal :is(input.form-control, input.theme-input, select, input:not([type="checkbox"], [type="radio"], [type="file"], [type="color"], [type="range"], [type="hidden"], [type="submit"], [type="button"], [type="reset"], [type="image"])) {
    height: 32px !important; min-height: 32px !important;
}
.admin-portal :is(select.form-select, select.theme-input) { padding-right: 30px; background-position: right 8px center; }
.admin-portal select[multiple], .admin-portal select[size]:not([size="1"]) { height: auto !important; min-height: 96px !important; }
.admin-portal textarea.form-control { min-height: 80px; }
.admin-portal :is(.form-control, .form-select, .theme-input, select, textarea, input:not([type="checkbox"], [type="radio"], [type="file"], [type="color"], [type="range"], [type="hidden"], [type="submit"], [type="button"], [type="reset"], [type="image"])):focus {
    border-color: #adb5bd !important; box-shadow: 0 0 0 2px rgba(var(--primary-rgb), .15);
}
.admin-portal :is(.form-control, .form-select, .theme-input, select, textarea, input:not([type="checkbox"], [type="radio"], [type="file"], [type="color"], [type="range"], [type="hidden"], [type="submit"], [type="button"], [type="reset"], [type="image"]))[required] { background-color: #ffffe1 !important; }
.admin-portal :is(.form-control, .form-select, .theme-input, select, textarea, input:not([type="checkbox"], [type="radio"], [type="file"], [type="color"], [type="range"], [type="hidden"], [type="submit"], [type="button"], [type="reset"], [type="image"])):disabled { background-color: #e5e7eb !important; cursor: not-allowed; }
.admin-portal :is(.form-control, .form-select)[readonly] { background-color: #e9ecef; }
.admin-portal :is(.form-control, .form-select, .theme-input, select, textarea, input:not([type="checkbox"], [type="radio"], [type="file"], [type="color"], [type="range"], [type="hidden"], [type="submit"], [type="button"], [type="reset"], [type="image"])).invalid,
.admin-portal :is(.form-control, .form-select, .theme-input, select, textarea, input:not([type="checkbox"], [type="radio"], [type="file"], [type="color"], [type="range"], [type="hidden"], [type="submit"], [type="button"], [type="reset"], [type="image"])).is-invalid { border-color: var(--bs-danger) !important; }
.admin-portal :is(.form-label, .theme-label) { color: #000; font-size: 14px; font-weight: 500; }
.admin-portal .form-check-input:checked { background-color: var(--primary-color); border-color: var(--primary-color); }
.admin-portal .form-check-input:focus { border-color: var(--primary-color); box-shadow: 0 0 0 2px rgba(var(--primary-rgb), .15); }
.admin-portal .btn {
    --bs-btn-font-size: 14px; --bs-btn-font-weight: 500; --bs-btn-border-radius: 4px;
    --bs-btn-padding-y: 4px; --bs-btn-padding-x: 14px; --bs-btn-line-height: 22px;
    display: inline-flex; align-items: center; justify-content: center; gap: 5px;
    height: 32px; min-height: 32px; font-weight: 500;
}
.admin-portal :is(.btn-sm, .btn-group-sm > .btn) { --nencer-control-height: 28px; --bs-btn-font-size: 13px; --bs-btn-padding-y: 2px; --bs-btn-padding-x: 8px; min-height: 28px; }
.admin-portal :is(.btn-lg, .btn-group-lg > .btn) { --nencer-control-height: 38px; --bs-btn-font-size: 14px; --bs-btn-padding-y: 7px; --bs-btn-padding-x: 16px; min-height: 38px; }
.admin-portal .btn-primary {
    --bs-btn-bg: var(--primary-color); --bs-btn-border-color: var(--primary-color);
    --bs-btn-hover-bg: var(--primary-hover); --bs-btn-hover-border-color: var(--primary-hover);
    --bs-btn-active-bg: var(--primary-hover); --bs-btn-active-border-color: var(--primary-hover);
    --bs-btn-disabled-bg: var(--primary-color); --bs-btn-disabled-border-color: var(--primary-color);
    --bs-btn-focus-shadow-rgb: var(--primary-rgb);
}
.admin-portal .btn-outline-primary {
    --bs-btn-color: var(--primary-color); --bs-btn-border-color: var(--primary-color);
    --bs-btn-hover-bg: var(--primary-color); --bs-btn-hover-border-color: var(--primary-color);
    --bs-btn-active-bg: var(--primary-hover); --bs-btn-active-border-color: var(--primary-hover);
    --bs-btn-disabled-color: var(--primary-color); --bs-btn-disabled-border-color: var(--primary-color);
}
.admin-portal .section-buttons { background-color: var(--primary-color); }
.admin-portal .layout-fullwidth { background: var(--page-background); padding: 0 10px 10px; }
.admin-portal .layout-fullwidth-header { background: var(--primary-color) !important; padding: 5px 10px; margin-bottom: 10px; }
.admin-portal .layout-fullwidth-header .cpanel-highlight_right__content { display: flex; align-items: center !important; flex-direction: row !important; flex-wrap: nowrap !important; gap: 8px; min-height: 32px; }
.admin-portal .layout-fullwidth-header .cpanel-highlight_right__content > * { flex-shrink: 0; white-space: nowrap; }
.admin-portal .layout-fullwidth-header .cpanel-highlight_right__title,
.admin-portal .layout-fullwidth-header .cpanel-highlight_right__title span { color: #fff !important; font-size: 16.1px !important; }
.admin-portal .layout-fullwidth-header .cpanel-highlight_right__title small { display: none; }
.admin-portal .layout-fullwidth-header .box-form { gap: 5px; flex-wrap: nowrap !important; }
.admin-portal .layout-fullwidth-header .button-theme { min-height: 32px; height: 32px; padding: 4px 14px; border-radius: 4px; font-weight: 500; }
.admin-portal .layout-fullwidth-header .button-theme_secondary { background: var(--secondary-color) !important; border-color: var(--secondary-color) !important; }
.admin-portal .layout-fullwidth .box-item_wrapper { padding: 8px; border-color: #bfc6ca; box-shadow: none; }
.admin-portal .layout-fullwidth-table { margin-top: 8px; }
.admin-portal .section-heading { background: #d9dada; padding: 8px 10px; }
.admin-portal .section-heading .heading-title { font-size: 16.1px; font-weight: 700; color: #000; }
.admin-portal .table > thead > tr > th {
    background: #d9dada; color: #000; font-size: 12px; font-weight: 700;
    padding: 4px 6px; letter-spacing: normal; text-transform: none; vertical-align: middle;
}
.admin-portal .table > tbody > tr > td { color: #212529; font-size: 13px; padding: 6px; vertical-align: middle; }
.admin-portal .table > tbody > tr.active > td { background-color: var(--primary-color); color: #fff; }
.admin-portal .pagination { gap: 3px; }
.admin-portal .pagination .page-link {
    border: 1px solid #9e9e9e; border-radius: 0; color: #000; font-size: 13px;
    min-width: 26px; height: 32px; padding: 4px 8px; box-shadow: none;
}
.admin-portal .pagination .active .page-link { background: #ffffe1; border-color: #d79920; color: #000; }
.admin-portal .pagination .disabled .page-link { background: #e1e1e1; opacity: .6; }
/* Landing page editor chrome; the rendered landing preview keeps its template styles. */
.admin-portal .lpd-page { background: var(--page-background); padding: 0 10px 10px; }
.admin-portal .lpd-header { background: var(--primary-color); color: #fff; margin: 0 -10px 10px; padding: 5px 10px; }
.admin-portal .lpd-header h1 { color: #fff; font-size: 16.1px; margin: 0; }
.admin-portal .lpd-header > div > span { display: none; }
.admin-portal .lpd-header > div > a:not(.btn) { color: #fff; }
.admin-portal .lpd-header .btn-outline-secondary { color: #fff; border-color: #fff; }
.admin-portal .lpd-header .btn-primary { background: var(--secondary-color); border-color: var(--secondary-color); }
.admin-portal .pm-button { border-radius: 4px; font-size: 14px; font-weight: 500; height: 32px; min-height: 32px; padding: 4px 14px; }
.admin-portal .pm-header .pm-button--primary { background: var(--secondary-color); border-color: var(--secondary-color); color: #fff; }
.admin-portal .pm-header .pm-button--ghost { background: #fff; border-color: #9f9f9f; color: #212529; }
