/* =====================================================
   AK UI Clean V25 Final
   Professional ERPNext V14 Theme
   Navbar: #5d6da6
   Manager Approval checkbox fixed in Form + List
===================================================== */

:root {
    --ak-navy: #16224a;
    --ak-blue: #5d6da6;
    --ak-blue-dark: #4c5b91;
    --ak-bg: #f6f8fc;
    --ak-card: #ffffff;
    --ak-border: #dbe5f0;
    --ak-border-2: #cbd5e1;
    --ak-sidebar: #e5eefc;
    --ak-sidebar-hover: #ffffff;
    --ak-text: #16224a;
    --ak-muted: #64748b;
    --ak-soft: #f8fbff;

    --ak-navbar-bg: #5d6da6;
    --ak-navbar-text: #ffffff;
    --ak-navbar-hover: rgba(255,255,255,.14);
    --ak-navbar-border: rgba(255,255,255,.20);

    --ak-check-color: #5d6da6;
    --ak-check-border: #9aa7c7;
}

/* =====================================================
   Safety: no faded screen / no stuck loading
===================================================== */

html,
body,
#body,
.main-section,
.page-container,
.layout-main,
.layout-main-section,
.layout-main-section-wrapper,
.page-content,
.page-body,
.form-layout,
.form-page,
.form-section,
.form-column,
.form-dashboard,
.form-sidebar,
.form-inner-toolbar,
.form-tabs-list,
.grid-row-open,
.grid-form,
.grid-form .form-in-grid,
.grid-static-col,
.grid-body,
.grid-heading-row,
.frappe-control,
.control-input,
.control-value,
.control-value-like,
.form-control,
.input-with-feedback,
.list-row-container,
.list-row,
.list-row-head,
.desk-page,
.ql-editor,
.ql-toolbar,
.ql-container,
.datatable,
.dt-cell {
    opacity: 1 !important;
    filter: none !important;
    visibility: visible !important;
}

body,
.page-container,
.layout-main,
.layout-main-section,
.form-layout,
.form-page,
.form-section,
.form-column,
.frappe-control,
.control-input,
.control-value,
.awesomplete,
.dropdown,
.dropdown-menu,
.modal,
.modal-dialog,
.modal-content {
    pointer-events: auto !important;
}

/* Hide stuck loading/freeze only */
body > .freeze,
body > .freeze-message-container,
body > .freeze-message,
.freeze:not(.show),
.freeze-message-container:not(.show),
.freeze-message:not(.show),
.splash,
.splash-screen,
.loading,
.loading-state,
.progress-area {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

/* Real modals still work */
.modal.show,
.modal.show .modal-dialog,
.modal.show .modal-content {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    filter: none !important;
}

.modal-backdrop:not(.show) {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

.modal-backdrop.show {
    display: block !important;
    opacity: .35 !important;
    visibility: visible !important;
}

/* =====================================================
   Base
===================================================== */

body,
.page-container,
.layout-main,
.layout-main-section,
.layout-main-section-wrapper {
    background: var(--ak-bg) !important;
    color: var(--ak-text) !important;
}

a {
    color: var(--ak-blue) !important;
}

.text-muted,
.small,
.description,
.help-box,
.help,
.control-label,
.form-label {
    color: var(--ak-muted) !important;
}

/* =====================================================
   Navbar
===================================================== */

.navbar,
.desk-navbar,
header.navbar,
body .navbar.navbar-expand {
    background: var(--ak-navbar-bg) !important;
    border-bottom: 1px solid var(--ak-navbar-border) !important;
    box-shadow: 0 8px 22px rgba(15,23,42,.12) !important;
    backdrop-filter: none !important;
    min-height: 72px !important;
}

.navbar > .container a,
.navbar > .container-fluid a,
.navbar .navbar-nav > li > a,
.navbar .nav-link,
.navbar .navbar-brand,
.navbar .dropdown-toggle,
.desk-navbar > .container a,
.desk-navbar > .container-fluid a {
    color: var(--ak-navbar-text) !important;
    font-weight: 800 !important;
    letter-spacing: normal !important;
}

.navbar svg,
.navbar .icon,
.navbar .es-icon,
.navbar i,
.navbar .octicon,
.desk-navbar svg,
.desk-navbar .icon,
.desk-navbar .es-icon {
    color: var(--ak-navbar-text) !important;
    stroke: var(--ak-navbar-text) !important;
}

.navbar .nav-link:hover,
.navbar .dropdown-toggle:hover,
.desk-navbar a:hover {
    background: var(--ak-navbar-hover) !important;
    color: var(--ak-navbar-text) !important;
    border-radius: 10px !important;
}

/* =====================================================
   Logo
===================================================== */

.navbar-brand,
.app-logo,
.navbar .navbar-brand {
    background: #ffffff !important;
    border-radius: 14px !important;
    padding: 5px 10px !important;
    min-height: 52px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 6px 16px rgba(15,23,42,.12) !important;
}

.navbar-brand img,
.app-logo img,
.app-logo,
.navbar .navbar-brand img {
    max-height: 48px !important;
    height: 48px !important;
    width: auto !important;
    object-fit: contain !important;
    opacity: 1 !important;
    filter: none !important;
}

/* =====================================================
   Search
===================================================== */

.navbar .search-bar,
.navbar .awesomplete,
.navbar .awesomplete input,
.navbar input[type="search"],
.navbar .form-control {
    background: rgba(255,255,255,.20) !important;
    border: 1px solid rgba(255,255,255,.34) !important;
    color: #ffffff !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    letter-spacing: normal !important;
    word-spacing: normal !important;
}

.navbar .search-bar,
.navbar .awesomplete input,
.navbar input[type="search"] {
    min-height: 38px !important;
}

.navbar .search-bar::placeholder,
.navbar input[type="search"]::placeholder,
.navbar .awesomplete input::placeholder,
.navbar .form-control::placeholder {
    color: rgba(255,255,255,.88) !important;
    letter-spacing: normal !important;
}

.navbar .search-icon,
.navbar .search-bar svg,
.navbar .awesomplete svg {
    color: #ffffff !important;
    stroke: #ffffff !important;
}

/* Search dropdown results */
.awesomplete > ul,
.navbar .awesomplete > ul,
.search-dialog,
.search-results,
.search-results .dropdown-menu {
    background: #ffffff !important;
    color: #16224a !important;
    border: 1px solid #dbe5f0 !important;
    border-radius: 14px !important;
    box-shadow: 0 14px 35px rgba(15,23,42,.16) !important;
    opacity: 1 !important;
    filter: none !important;
    letter-spacing: normal !important;
    word-spacing: normal !important;
}

.awesomplete > ul *,
.navbar .awesomplete > ul *,
.search-dialog *,
.search-results *,
.search-result *,
.search-result a *,
.search-result span *,
.search-result p *,
.search-result div * {
    letter-spacing: normal !important;
    word-spacing: normal !important;
    text-transform: none !important;
    font-stretch: normal !important;
    color: #16224a !important;
    opacity: 1 !important;
}

.awesomplete mark,
.search-results mark,
.search-result mark,
mark {
    background: transparent !important;
    color: #16224a !important;
    padding: 0 !important;
    margin: 0 !important;
    font-weight: 900 !important;
    letter-spacing: normal !important;
    word-spacing: normal !important;
    box-shadow: none !important;
}

/* Navbar dropdown menu readable */
.navbar .dropdown-menu {
    background: #ffffff !important;
    color: #16224a !important;
    border: 1px solid #dbe5f0 !important;
    border-radius: 14px !important;
    box-shadow: 0 14px 35px rgba(15,23,42,.16) !important;
}

.navbar .dropdown-menu a,
.navbar .dropdown-menu .dropdown-item {
    color: #16224a !important;
    background: #ffffff !important;
    font-weight: 700 !important;
    letter-spacing: normal !important;
}

.navbar .dropdown-menu a:hover,
.navbar .dropdown-menu .dropdown-item:hover {
    background: #f1f5ff !important;
    color: #16224a !important;
}

/* Hide Help */
.navbar a[href*="/help"],
.navbar a[href*="help"],
.navbar .nav-link[href*="/help"],
.navbar .dropdown-toggle[title="Help"],
.navbar [data-label="Help"],
.navbar [aria-label="Help"],
.navbar .help-menu,
.navbar .help-icon {
    display: none !important;
}

/* =====================================================
   Sidebar
===================================================== */

.layout-side-section {
    background: var(--ak-sidebar) !important;
    border-right: 1px solid var(--ak-border) !important;
}

.standard-sidebar-item,
.sidebar-item-container,
.desk-sidebar-item,
.sidebar-item {
    border-radius: 12px !important;
    margin: 3px 8px !important;
}

.standard-sidebar-item:hover,
.standard-sidebar-item.selected,
.sidebar-item-container:hover,
.sidebar-item-container.selected,
.desk-sidebar-item:hover,
.desk-sidebar-item.selected {
    background: var(--ak-sidebar-hover) !important;
    box-shadow: 0 6px 14px rgba(15,23,42,.06) !important;
}

.standard-sidebar-label,
.sidebar-item-label,
.desk-sidebar-item span {
    color: var(--ak-navy) !important;
    font-weight: 800 !important;
}

/* =====================================================
   Page Title
===================================================== */

.page-title .title-text,
h3.ellipsis.title-text,
.page-head .title-text,
.title-text {
    color: var(--ak-navy) !important;
    font-weight: 900 !important;
    letter-spacing: normal !important;
}

/* =====================================================
   Buttons
===================================================== */

.btn-primary,
.primary-action,
button[data-label="Save"],
button[data-label="Submit"],
button[data-label="Add"] {
    background: var(--ak-blue) !important;
    border-color: var(--ak-blue) !important;
    color: #fff !important;
    border-radius: 12px !important;
    font-weight: 800 !important;
    box-shadow: 0 8px 18px rgba(93,109,166,.25) !important;
}

.btn-primary:hover,
.primary-action:hover,
button[data-label="Save"]:hover,
button[data-label="Submit"]:hover,
button[data-label="Add"]:hover {
    background: var(--ak-blue-dark) !important;
    border-color: var(--ak-blue-dark) !important;
}

.btn,
.btn-default,
.btn-secondary,
.btn-xs,
.btn-sm {
    border-radius: 12px !important;
    font-weight: 800 !important;
    border-color: var(--ak-border-2) !important;
}

/* =====================================================
   Cards / Forms
===================================================== */

.form-section,
.form-dashboard,
.widget,
.shortcut-widget-box,
.dashboard-widget-box,
.list-row-container,
.frappe-card,
.card,
.number-card-widget,
.dashboard-card {
    border-radius: 18px !important;
    border: 1px solid var(--ak-border) !important;
    background: var(--ak-card) !important;
    box-shadow: 0 10px 26px rgba(15,23,42,.05) !important;
}

.section-head,
.form-section .section-head {
    color: var(--ak-navy) !important;
    font-weight: 900 !important;
    letter-spacing: normal !important;
}

/* =====================================================
   Inputs
===================================================== */

.form-control,
.input-with-feedback,
.control-input input,
.control-input textarea,
.frappe-control input,
.frappe-control textarea,
.frappe-control select,
textarea,
select {
    border-radius: 12px !important;
    border: 1px solid #d7e1ef !important;
    background: #fff !important;
    color: var(--ak-text) !important;
    box-shadow: none !important;
    opacity: 1 !important;
    letter-spacing: normal !important;
}

.form-control:focus,
.input-with-feedback:focus,
.control-input input:focus,
.control-input textarea:focus,
textarea:focus,
select:focus {
    border-color: var(--ak-blue) !important;
    box-shadow: 0 0 0 3px rgba(93,109,166,.12) !important;
}

.control-label,
.form-label {
    color: var(--ak-muted) !important;
    font-weight: 800 !important;
    letter-spacing: normal !important;
}

/* Rich text editor */
.ql-toolbar,
.ql-container {
    opacity: 1 !important;
    filter: none !important;
    background: #fff !important;
    border-color: #d7e1ef !important;
}

.ql-toolbar {
    border-radius: 12px 12px 0 0 !important;
}

.ql-container {
    border-radius: 0 0 12px 12px !important;
}

/* =====================================================
   List View
===================================================== */

.list-row-head,
.list-row,
.list-row-container {
    opacity: 1 !important;
    filter: none !important;
    background: #fff !important;
}

.list-row-container {
    margin-bottom: 6px !important;
    border-radius: 14px !important;
}

.list-row:hover {
    background: var(--ak-soft) !important;
}

.list-filter-box,
.filter-section,
.list-filters {
    opacity: 1 !important;
    filter: none !important;
}

.indicator-pill,
.indicator {
    border-radius: 999px !important;
    font-weight: 800 !important;
}

/* =====================================================
   Checkbox Final
===================================================== */

input[type="checkbox"],
.form-check-input,
.checkbox input[type="checkbox"],
.frappe-control input[type="checkbox"],
.grid-static-col input[type="checkbox"],
.list-row input[type="checkbox"],
.list-row-container input[type="checkbox"],
.datatable input[type="checkbox"],
.dt-cell input[type="checkbox"],
.ak-manager-approval-checkbox {
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;

    width: 17px !important;
    height: 17px !important;
    min-width: 17px !important;
    min-height: 17px !important;

    border: 1.8px solid var(--ak-check-border) !important;
    border-radius: 4px !important;

    background-color: #ffffff !important;
    background-image: none !important;

    display: inline-block !important;
    opacity: 1 !important;
    visibility: visible !important;

    vertical-align: middle !important;
    box-shadow: none !important;
    outline: none !important;
}

/* Checked */
input[type="checkbox"]:checked,
input[type="checkbox"].ak-force-checked,
.form-check-input:checked,
.form-check-input.ak-force-checked,
.frappe-control input[type="checkbox"]:checked,
.frappe-control input[type="checkbox"].ak-force-checked,
.grid-static-col input[type="checkbox"]:checked,
.grid-static-col input[type="checkbox"].ak-force-checked,
.list-row input[type="checkbox"]:checked,
.list-row input[type="checkbox"].ak-force-checked,
.list-row-container input[type="checkbox"]:checked,
.list-row-container input[type="checkbox"].ak-force-checked,
.datatable input[type="checkbox"]:checked,
.datatable input[type="checkbox"].ak-force-checked,
.dt-cell input[type="checkbox"]:checked,
.dt-cell input[type="checkbox"].ak-force-checked,
.ak-manager-approval-checkbox.ak-force-checked {
    background-color: var(--ak-check-color) !important;
    border-color: var(--ak-check-color) !important;
    background-image: url("data:image/svg+xml,%3Csvg width='13' height='11' viewBox='0 0 13 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.2 5.4L4.7 8.8L11.8 1.3' stroke='white' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 13px 11px !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Disabled checked remains visible */
input[type="checkbox"]:disabled:checked,
input[type="checkbox"]:disabled.ak-force-checked,
.form-check-input:disabled:checked,
.form-check-input:disabled.ak-force-checked,
.frappe-control input[type="checkbox"]:disabled:checked,
.frappe-control input[type="checkbox"]:disabled.ak-force-checked,
.grid-static-col input[type="checkbox"]:disabled:checked,
.grid-static-col input[type="checkbox"]:disabled.ak-force-checked,
.list-row input[type="checkbox"]:disabled:checked,
.list-row input[type="checkbox"]:disabled.ak-force-checked,
.datatable input[type="checkbox"]:disabled:checked,
.datatable input[type="checkbox"]:disabled.ak-force-checked,
.dt-cell input[type="checkbox"]:disabled:checked,
.dt-cell input[type="checkbox"]:disabled.ak-force-checked {
    background-color: var(--ak-check-color) !important;
    border-color: var(--ak-check-color) !important;
    background-image: url("data:image/svg+xml,%3Csvg width='13' height='11' viewBox='0 0 13 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.2 5.4L4.7 8.8L11.8 1.3' stroke='white' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 13px 11px !important;
    opacity: 1 !important;
}

input[type="checkbox"]:disabled,
.form-check-input:disabled,
.frappe-control input[type="checkbox"]:disabled,
.grid-static-col input[type="checkbox"]:disabled,
.list-row input[type="checkbox"]:disabled,
.datatable input[type="checkbox"]:disabled,
.dt-cell input[type="checkbox"]:disabled,
.ak-manager-approval-checkbox:disabled {
    opacity: 1 !important;
    cursor: not-allowed !important;
}

.ak-manager-approval-cell {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    min-height: 28px !important;
}

.frappe-control[data-fieldname="manager_approval"],
.grid-static-col[data-fieldname="manager_approval"],
.list-row [data-fieldname="manager_approval"],
.list-row-container [data-fieldname="manager_approval"] {
    opacity: 1 !important;
    visibility: visible !important;
    filter: none !important;
}

.frappe-control[data-fieldtype="Check"] label,
.checkbox label {
    opacity: 1 !important;
    color: #16224a !important;
}

input[type="checkbox"]::before,
input[type="checkbox"]::after,
.form-check-input::before,
.form-check-input::after {
    display: none !important;
    content: none !important;
}

/* RTL */
html[dir="rtl"] .page-title,
html[dir="rtl"] .form-section,
html[dir="rtl"] .form-control,
html[dir="rtl"] .input-with-feedback,
body[data-direction="rtl"] .page-title,
body[data-direction="rtl"] .form-section {
    direction: rtl;
}

/* Final guard */
body.ak-ui-clean-v25,
body.ak-ui-clean-v25 .page-container,
body.ak-ui-clean-v25 .layout-main-section,
body.ak-ui-clean-v25 .form-layout,
body.ak-ui-clean-v25 .form-page {
    opacity: 1 !important;
    filter: none !important;
}

/* =====================================================
   AK UI Clean V35 Final
   Keep V25 professional design + V34 Manager Approval Fix
===================================================== */

.ak-manager-approval-checkbox,
.ak-list-manager-approval-checkbox {
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;

    width: 17px !important;
    height: 17px !important;
    min-width: 17px !important;
    min-height: 17px !important;

    border: 1.8px solid #9aa7c7 !important;
    border-radius: 4px !important;
    background-color: #ffffff !important;
    background-image: none !important;

    display: inline-block !important;
    opacity: 1 !important;
    visibility: visible !important;
    vertical-align: middle !important;

    box-shadow: none !important;
    outline: none !important;
}

.ak-manager-approval-checkbox:checked,
.ak-manager-approval-checkbox.ak-force-checked,
.ak-list-manager-approval-checkbox:checked,
.ak-list-manager-approval-checkbox.ak-force-checked {
    background-color: #5d6da6 !important;
    border-color: #5d6da6 !important;
    background-image: url("data:image/svg+xml,%3Csvg width='13' height='11' viewBox='0 0 13 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.2 5.4L4.7 8.8L11.8 1.3' stroke='white' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 13px 11px !important;
}

.ak-manager-approval-checkbox:disabled,
.ak-list-manager-approval-checkbox:disabled {
    opacity: 1 !important;
    cursor: not-allowed !important;
}

.ak-manager-approval-cell {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    min-height: 28px !important;
}

/* Make sure checked manager approval is not transparent in List View */
.list-row .ak-list-manager-approval-checkbox.ak-force-checked,
.list-row-container .ak-list-manager-approval-checkbox.ak-force-checked {
    background-color: #5d6da6 !important;
    border-color: #5d6da6 !important;
    opacity: 1 !important;
    filter: none !important;
}

/* Keep list rows professional */
.list-row-container,
.list-row {
    background: #ffffff !important;
    border-radius: 14px !important;
    border: 1px solid #dbe5f0 !important;
    box-shadow: 0 8px 20px rgba(15,23,42,.04) !important;
}

.list-row:hover {
    background: #f8fbff !important;
}

body.ak-ui-clean-v35,
body.ak-ui-clean-v35 .page-container,
body.ak-ui-clean-v35 .layout-main-section,
body.ak-ui-clean-v35 .form-layout,
body.ak-ui-clean-v35 .form-page {
    opacity: 1 !important;
    filter: none !important;
}

