/*
 * Data-first interface shared by dashboards, authentication, manage pages,
 * create/update forms and tables. Loaded globally so independent modules keep
 * identical control heights and border treatment.
 */
:root{
    --data-control-height:46px;
    --data-border:#aeb9c6;
    --data-border-dark:#7f8da0;
    --data-head:#e7ecf1;
    --data-surface:#ffffff;
    --data-muted:#64748b;
}

.data-ui-page,.data-management-page{background:#f4f6f8!important}

.form-control:not([type="checkbox"]):not([type="radio"]):not(.form-control-color),
.form-select,
.input-group-text{
    height:var(--data-control-height)!important;
    min-height:var(--data-control-height)!important;
    border-radius:6px!important;
    border-color:var(--data-border)!important;
    font-size:.92rem;
    line-height:1.35;
}
input[type="file"].form-control{padding-top:.55rem!important;padding-bottom:.55rem!important}
textarea.form-control{
    height:auto!important;
    min-height:108px!important;
    line-height:1.5;
    resize:vertical;
}
.form-control-color{height:var(--data-control-height)!important;min-height:var(--data-control-height)!important;border-color:var(--data-border)!important}
.form-control-sm,.form-select-sm{height:38px!important;min-height:38px!important}
.form-control:focus,.form-select:focus{border-color:#0f766e!important;box-shadow:0 0 0 .18rem rgba(15,118,110,.14)!important}
.input-group>.form-control,.input-group>.form-select,.input-group>.input-group-text{border-radius:0!important}
.input-group>:first-child{border-radius:6px 0 0 6px!important}.input-group>:last-child{border-radius:0 6px 6px 0!important}
.data-form .form-label,.data-ui-page .form-label,.data-management-page .form-label{font-weight:700;color:#334155;margin-bottom:.35rem}
.data-ui-page .btn,.data-management-page .btn,.admin-dashboard-page .btn{min-height:40px;border-radius:6px!important;font-weight:700}

.table-responsive{border:1px solid var(--data-border-dark)!important;border-radius:4px!important;box-shadow:none!important;background:#fff}
.table{--bs-table-bg:#fff;--bs-table-striped-bg:#f8fafc;--bs-table-hover-bg:#f1f5f9;border-color:var(--data-border-dark)!important}
.table>:not(caption)>*>*{border:1px solid var(--data-border)!important;padding:.65rem .7rem;vertical-align:middle}
.table thead th{background:var(--data-head)!important;color:#0f172a;font-weight:800;white-space:nowrap;border-color:var(--data-border-dark)!important}
.table tbody td{color:#1e293b}.table small,.tiny{color:var(--data-muted)}

.card,.dash-card,.admin-card,.mh-card,.inventory-card,.om-card,.so-card,.pm-card,.rq-card,.login-card,.registration-card{
    border:1px solid var(--data-border)!important;
    border-radius:6px!important;
    box-shadow:none!important;
}
.card-header,.inventory-card-header,.pm-card-h{border-bottom:1px solid var(--data-border)!important;border-radius:0!important}
.card-header:not(.bg-dark):not(.bg-success):not(.bg-primary):not(.bg-danger):not(.bg-warning):not(.bg-info),
.inventory-card-header,.pm-card-h{background:#f8fafc!important;color:#0f172a!important}
.card-header.bg-dark{background:#0f172a!important;color:#fff!important}
.card-header.bg-success{background:#047857!important;color:#fff!important}
.card-header.bg-primary{background:#0d6efd!important;color:#fff!important}
.card-header.bg-danger{background:#dc2626!important;color:#fff!important}
.card-header.bg-warning{background:#f59e0b!important;color:#111827!important}
.card-header.bg-info{background:#0ea5e9!important;color:#082f49!important}
.modal-content{border:1px solid var(--data-border-dark)!important;border-radius:7px!important;box-shadow:none!important}
.modal-header,.modal-footer{border-color:var(--data-border)!important}
.badge{border-radius:4px!important}

/* Keep interfaces data-first without removing the visual hierarchy of page headers. */
.admin-dashboard-page .stat-card,.admin-dashboard-page .quick-action-card{
    border-radius:6px!important;
    box-shadow:none!important;
    background-image:none!important;
}

/*
 * Standard module header treatment.
 * These selectors intentionally exclude the homepage `.ii-hero`, so the current
 * index-page presentation remains unchanged. A restrained solid/soft gradient
 * keeps headings, descriptions and header buttons readable.
 */
.dash-hero,.inventory-hero,.pm-hero,.rq-top,.ra-hero,.policy-hero,
.billing-hero,.bulk-hero,.checkout-hero,.manage-hero,.user-hero,.pv-hero,
.cart-hero,.category-hero,.ih-hero,
.admin-hero-card,.module-page-header,.wishlist-page-header,.review-page-header{
    color:#fff!important;
    background-color:#0f5f50!important;
    background-image:linear-gradient(135deg,#064e3b 0%,#0f766e 100%)!important;
    border:1px solid #0b6b5c!important;
    border-radius:10px!important;
    box-shadow:0 8px 20px rgba(15,23,42,.10)!important;
}
.dash-hero h1,.dash-hero h2,.dash-hero h3,.dash-hero p,.dash-hero small,
.inventory-hero h1,.inventory-hero h2,.inventory-hero h3,.inventory-hero p,.inventory-hero small,
.pm-hero h1,.pm-hero h2,.pm-hero h3,.pm-hero p,.pm-hero small,
.rq-top h1,.rq-top h2,.rq-top h3,.rq-top p,.rq-top small,
.ra-hero h1,.ra-hero h2,.ra-hero h3,.ra-hero p,.ra-hero small,
.policy-hero h1,.policy-hero h2,.policy-hero h3,.policy-hero p,.policy-hero small,
.billing-hero h1,.billing-hero h2,.billing-hero h3,.billing-hero p,.billing-hero small,
.bulk-hero h1,.bulk-hero h2,.bulk-hero h3,.bulk-hero p,.bulk-hero small,
.checkout-hero h1,.checkout-hero h2,.checkout-hero h3,.checkout-hero p,.checkout-hero small,
.manage-hero h1,.manage-hero h2,.manage-hero h3,.manage-hero p,.manage-hero small,
.user-hero h1,.user-hero h2,.user-hero h3,.user-hero p,.user-hero small,
.pv-hero h1,.pv-hero h2,.pv-hero h3,.pv-hero p,.pv-hero small,
.cart-hero h1,.cart-hero h2,.cart-hero h3,.cart-hero p,.cart-hero small,
.category-hero h1,.category-hero h2,.category-hero h3,.category-hero p,.category-hero small,
.ih-hero h1,.ih-hero h2,.ih-hero h3,.ih-hero p,.ih-hero small,
.admin-hero-card h1,.admin-hero-card h2,.admin-hero-card h3,.admin-hero-card p,.admin-hero-card small,
.module-page-header h1,.module-page-header h2,.module-page-header h3,.module-page-header p,.module-page-header small,
.wishlist-page-header h1,.wishlist-page-header h2,.wishlist-page-header h3,.wishlist-page-header p,.wishlist-page-header small,
.review-page-header h1,.review-page-header h2,.review-page-header h3,.review-page-header p,.review-page-header small{
    color:inherit!important;
}
.dash-hero .text-muted,.inventory-hero .text-muted,.pm-hero .text-muted,.rq-top .text-muted,
.ra-hero .text-muted,.policy-hero .text-muted,.billing-hero .text-muted,.bulk-hero .text-muted,
.checkout-hero .text-muted,.manage-hero .text-muted,.user-hero .text-muted,.pv-hero .text-muted,
.cart-hero .text-muted,.category-hero .text-muted,.ih-hero .text-muted,
.admin-hero-card .text-muted,.module-page-header .text-muted,.wishlist-page-header .text-muted,
.review-page-header .text-muted{color:rgba(255,255,255,.82)!important}
.dash-hero .btn-light,.inventory-hero .btn-light,.pm-hero .btn-light,.rq-top .btn-light,
.ra-hero .btn-light,.policy-hero .btn-light,.billing-hero .btn-light,.bulk-hero .btn-light,
.checkout-hero .btn-light,.manage-hero .btn-light,.user-hero .btn-light,.pv-hero .btn-light,
.cart-hero .btn-light,.category-hero .btn-light,.ih-hero .btn-light,
.admin-hero-card .btn-light,.module-page-header .btn-light,.wishlist-page-header .btn-light,
.review-page-header .btn-light{
    color:#064e3b!important;background:#fff!important;border-color:#fff!important;
}
.dash-hero .btn-outline-light,.inventory-hero .btn-outline-light,.pm-hero .btn-outline-light,.rq-top .btn-outline-light,
.ra-hero .btn-outline-light,.policy-hero .btn-outline-light,.billing-hero .btn-outline-light,.bulk-hero .btn-outline-light,
.checkout-hero .btn-outline-light,.manage-hero .btn-outline-light,.user-hero .btn-outline-light,.pv-hero .btn-outline-light,
.cart-hero .btn-outline-light,.category-hero .btn-outline-light,.ih-hero .btn-outline-light,
.admin-hero-card .btn-outline-light,.module-page-header .btn-outline-light,.wishlist-page-header .btn-outline-light,
.review-page-header .btn-outline-light{
    color:#fff!important;background:transparent!important;border-color:rgba(255,255,255,.78)!important;
}
.dash-hero .btn-outline-light:hover,.inventory-hero .btn-outline-light:hover,.pm-hero .btn-outline-light:hover,.rq-top .btn-outline-light:hover,
.ra-hero .btn-outline-light:hover,.policy-hero .btn-outline-light:hover,.billing-hero .btn-outline-light:hover,.bulk-hero .btn-outline-light:hover,
.checkout-hero .btn-outline-light:hover,.manage-hero .btn-outline-light:hover,.user-hero .btn-outline-light:hover,.pv-hero .btn-outline-light:hover,
.cart-hero .btn-outline-light:hover,.category-hero .btn-outline-light:hover,.ih-hero .btn-outline-light:hover,
.admin-hero-card .btn-outline-light:hover,.module-page-header .btn-outline-light:hover,.wishlist-page-header .btn-outline-light:hover,
.review-page-header .btn-outline-light:hover{color:#064e3b!important;background:#fff!important}

/* Header action variants must remain readable on the standard coloured surface. */
.module-page-header .btn-outline-secondary,.module-page-header .btn-outline-dark,
.module-page-header .btn-outline-primary,.module-page-header .btn-outline-success,
.wishlist-page-header .btn-outline-secondary,.wishlist-page-header .btn-outline-dark,
.review-page-header .btn-outline-secondary,.review-page-header .btn-outline-dark,
.dash-hero .btn-outline-secondary,.inventory-hero .btn-outline-secondary,.pm-hero .btn-outline-secondary,
.cart-hero .btn-outline-secondary,.category-hero .btn-outline-secondary,.ih-hero .btn-outline-secondary{
    color:#fff!important;
    border-color:rgba(255,255,255,.78)!important;
    background:transparent!important;
}
.module-page-header .btn-outline-secondary:hover,.module-page-header .btn-outline-dark:hover,
.module-page-header .btn-outline-primary:hover,.module-page-header .btn-outline-success:hover,
.wishlist-page-header .btn-outline-secondary:hover,.wishlist-page-header .btn-outline-dark:hover,
.review-page-header .btn-outline-secondary:hover,.review-page-header .btn-outline-dark:hover,
.dash-hero .btn-outline-secondary:hover,.inventory-hero .btn-outline-secondary:hover,.pm-hero .btn-outline-secondary:hover,
.cart-hero .btn-outline-secondary:hover,.category-hero .btn-outline-secondary:hover,.ih-hero .btn-outline-secondary:hover{
    color:#064e3b!important;
    border-color:#fff!important;
    background:#fff!important;
}

.admin-dashboard-page .admin-sidebar-brand{background:#0f172a!important}
.admin-menu-link{border-radius:4px!important}.admin-menu-link:hover,.admin-menu-link.active{transform:none!important}
.registration-left{background:#0f5132!important;background-image:none!important}
.registration-card{overflow:hidden}
.login-card{background:#fff!important}

.wishlist-toggle{border:1px solid #cbd5e1!important;background:#fff!important;color:#64748b!important;display:inline-flex;align-items:center;justify-content:center;gap:.35rem}
.wishlist-toggle:hover,.wishlist-toggle.is-saved{border-color:#dc2626!important;color:#dc2626!important;background:#fff1f2!important}
.wishlist-toggle.is-saved i{color:#dc2626}

@media(max-width:767.98px){
    .table>:not(caption)>*>*{padding:.55rem}
    .data-ui-page .container,.data-ui-page.container{padding-left:.75rem;padding-right:.75rem}
}

/* Authenticated dashboards: flat, data-first presentation. */
.admin-sidebar{box-shadow:none!important}
.admin-sidebar-brand{background:#0f172a!important;background-image:none!important}
.admin-filter-card,.admin-stat-card,.admin-product-card,.mobile-admin-topbar,
.dash-sidebar,.dash-card,.vendor-title,.product-card{
    border:1px solid var(--data-border)!important;
    border-radius:6px!important;
    box-shadow:none!important;
    background-image:none!important;
}
.admin-filter-card{padding:16px!important}
.admin-product-card:hover{transform:none!important;box-shadow:none!important}
.mode-pill,.dash-link{border-radius:4px!important;transform:none!important}
.mode-pill.active,.mode-pill:hover{background:#e7ecf1!important;color:#0f172a!important;border-color:var(--data-border-dark)!important}
.dashboard-rbac-body #dashboardCart{border-radius:6px!important;box-shadow:none!important}
