:root {
    --hanura-red: #c37a14;
    --hanura-red-dark: #9f630f;
    --hanura-orange: #EE9C21;
    --hanura-orange-dark: #d88b1a;
    --hanura-ink: #22262f;
    --hanura-text: #3d3f45;
    --hanura-muted: #6f7683;
    --hanura-line: #e9dcc5;
    --hanura-cream: #fff8ee;
    --hanura-cream-soft: #fffdf9;
    --hanura-shadow: 0 10px 24px rgba(38, 26, 11, 0.12);
}

html,
body {
    font-family: 'Source Sans 3', 'Helvetica Neue', sans-serif !important;
    color: var(--hanura-text);
}

body {
    background: radial-gradient(circle at 2% 2%, #fff7ea 0%, rgba(255, 247, 234, 0) 35%),
    linear-gradient(180deg, #ffffff 0%, #fffefb 48%, #fffbf3 100%) !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.page-title,
.panel-heading label {
    font-family: 'Montserrat', 'Segoe UI', sans-serif !important;
    letter-spacing: 0.2px;
}

a {
    color: var(--hanura-red);
}

a:hover,
a:focus {
    color: var(--hanura-red-dark);
}

.header {
    border-bottom: 1px solid var(--hanura-line);
    box-shadow: 0 6px 18px rgba(41, 27, 8, 0.08);
    background: rgba(255, 253, 249, 0.96) !important;
    backdrop-filter: blur(5px);
}

.header .header-left {
    background: linear-gradient(135deg, var(--hanura-orange) 0%, var(--hanura-red) 100%) !important;
}

#toggle_btn i,
#mobile_btn i {
    color: var(--hanura-orange-dark);
}

.header .user-menu .dropdown-menu {
    border: 1px solid rgba(186, 123, 18, 0.24);
    border-radius: 12px;
    box-shadow: 0 16px 32px rgba(45, 29, 10, 0.18);
}

.header .dropdown-menu > a.dropdown-item {
    font-weight: 600;
}

.navbar-dark.bg-primary {
    background: linear-gradient(100deg, var(--hanura-orange), var(--hanura-red)) !important;
    border-bottom: 1px solid rgba(120, 40, 12, 0.25);
    box-shadow: 0 8px 20px rgba(33, 18, 7, 0.2);
}

.navbar-dark .navbar-brand,
.navbar-dark .navbar-nav .nav-link {
    color: #fff !important;
    font-family: 'Montserrat', 'Segoe UI', sans-serif;
    font-weight: 600;
}

.sidebar .sidebar-inner {
    position: relative;
}

.sidebar .sidebar-inner::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(26, 17, 8, 0.86), rgba(26, 17, 8, 0.62));
    pointer-events: none;
}

#sidebar-menu,
.sidebar-menu {
    position: relative;
    z-index: 1;
}

.sidebar-menu > ul > li > a {
    color: rgba(255, 248, 234, 0.94) !important;
    border-radius: 10px;
    margin: 2px 8px;
}

.sidebar-menu ul ul {
    background-color: #fff4df !important;
    border-radius: 0 0 12px 12px;
    margin: 0 8px 6px;
    overflow: hidden;
}

.sidebar-menu ul ul a {
    color: #000 !important;
    font-weight: 600;
    border-radius: 0;
    margin: 0;
}

.sidebar-menu li.active > a,
.sidebar-menu li > a:hover,
.sidebar-menu li > a.subdrop {
    color: #fff !important;
    background: linear-gradient(90deg, rgba(238, 156, 33, 0.92), rgba(195, 122, 20, 0.92)) !important;
    box-shadow: 0 7px 20px rgba(21, 13, 6, 0.24);
}

.page-wrapper {
    background: transparent;
}

.content {
    padding-top: 18px;
}

.page-title {
    color: var(--hanura-ink);
    font-size: clamp(1.6rem, 2.1vw, 2.2rem);
    font-weight: 700;
    margin-bottom: 18px;
}

.panel,
.card,
.card-box {
    border: 1px solid rgba(209, 167, 95, 0.2);
    border-radius: 14px;
    overflow: hidden;
    box-shadow: var(--hanura-shadow);
}

.panel > .panel-heading,
.panel-orange > .panel-heading,
.panel-index > .panel-heading,
.panel-red > .panel-heading,
.panel-blue > .panel-heading,
.panel-green > .panel-heading {
    background: linear-gradient(95deg, var(--hanura-orange) 0%, var(--hanura-red) 100%) !important;
    color: #fff !important;
    border: 0 !important;
    padding: 11px 16px;
}

.panel > .panel-heading label {
    color: #fff;
    margin: 0;
    font-size: 0.92rem;
    font-weight: 700;
}

.panel-body,
.panel-bodybg1,
.panel-bodybg2,
.panel-body-index {
    background: linear-gradient(180deg, var(--hanura-cream-soft) 0%, #fff9ef 100%);
}

.dashboard-stat-grid > [class*="col-"] {
    margin-bottom: 14px;
}

.dashboard-stat-grid .panel {
    height: 100%;
    border: 1px solid rgba(209, 167, 95, 0.28);
    box-shadow: 0 8px 20px rgba(56, 39, 13, 0.12);
}

.dashboard-stat-grid .panel > .panel-heading {
    min-height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 10px 14px;
}

.dashboard-stat-grid .panel > .panel-heading label {
    width: 100%;
    margin: 0;
    line-height: 1.25;
    font-size: 0.9rem;
    letter-spacing: 0.25px;
}

.dashboard-stat-grid .panel-bodybg2,
.dashboard-stat-grid .panel-default {
    min-height: 108px;
    padding: 14px 14px 16px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    border-top: 1px solid rgba(211, 172, 103, 0.28);
}

.dashboard-stat-grid .panel-bodybg2 h1,
.dashboard-stat-grid .panel-default h1 {
    margin: 0;
    color: #3a2a12;
    font-weight: 800;
    line-height: 1.15;
    font-size: clamp(1.9rem, 2.6vw, 2.55rem);
}

.dashboard-stat-grid .panel-bodybg2 small,
.dashboard-stat-grid .panel-default small {
    display: block;
    margin-top: 8px;
    color: #6f552f;
    font-size: 0.81rem;
    font-weight: 600;
    line-height: 1.35;
}

.dashboard-stat-grid .page-title {
    margin-bottom: 0;
}

.btn {
    border-radius: 10px;
    font-weight: 700;
    letter-spacing: 0.2px;
    border-width: 1px;
}

.btn-primary,
.btn-warning {
    color: #fff !important;
    border-color: transparent !important;
    background: linear-gradient(105deg, var(--hanura-orange) 0%, var(--hanura-red) 100%) !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-warning:hover,
.btn-warning:focus {
    filter: brightness(0.93);
    color: #fff !important;
}

.btn-info {
    background: linear-gradient(105deg, var(--hanura-orange), var(--hanura-red)) !important;
    border-color: transparent !important;
    color: #fff !important;
}

.btn-success {
    background: linear-gradient(105deg, #2e9f54, #2dbb7e) !important;
    border-color: transparent !important;
}

.btn-danger {
    background: linear-gradient(105deg, var(--hanura-red), #000000) !important;
    border-color: transparent !important;
}

.btn-link {
    color: var(--hanura-red);
    font-weight: 700;
}

.form-control {
    border-radius: 10px !important;
    border-color: #e6d3b2;
    min-height: 42px;
}

.form-control:focus {
    border-color: var(--hanura-orange) !important;
    box-shadow: 0 0 0 3px rgba(238, 156, 33, 0.2) !important;
}

.select2-container--default .select2-selection--single {
    border-radius: 10px;
    border: 1px solid #e6d3b2 !important;
    min-height: 42px;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 40px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 40px;
}

.table {
    border-color: #ecdcc0;
}

.table > thead > tr > th {
    background: #fff2db;
    color: #6a4b16 !important;
    border-bottom: 1px solid #e6cfaa;
    font-weight: 700;
}

.table-striped > tbody > tr:nth-of-type(2n + 1) {
    background-color: #fffbf4;
}

.table > tbody > tr:hover {
    background-color: #fff5e7;
}

.dropdown-menu {
    border-radius: 10px;
    border: 1px solid rgba(199, 130, 18, 0.25);
    box-shadow: 0 14px 26px rgba(30, 20, 8, 0.14);
}

.dropdown-item:hover,
.dropdown-item:focus {
    background-color: #fff1da;
    color: #000;
}

.pagination > .active > a,
.pagination > .active > span,
.page-item.active .page-link,
.paginate_button.active .page-link {
    background: linear-gradient(105deg, var(--hanura-orange), var(--hanura-red)) !important;
    border-color: transparent !important;
}

input[type="checkbox"],
input[type="radio"] {
    accent-color: var(--hanura-orange);
}

.sidebar-overlay {
    background-color: rgba(31, 21, 10, 0.38);
}

.hanura-auth.login-page {
    background: #f6f7f9 !important;
    background-image: none !important;
}

.hanura-auth .card {
    border: 0;
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.12);
}

.hanura-auth .card.p-4 {
    backdrop-filter: none;
    opacity: 1 !important;
}

.hanura-auth .login-logo p {
    color: #000;
}

.hanura-auth .text-muted {
    color: var(--hanura-muted) !important;
}

.hanura-auth .input-group-text {
    color: #fff;
    border: 0;
    background: linear-gradient(105deg, var(--hanura-orange), var(--hanura-red));
}

.hanura-auth .btn-info {
    background: linear-gradient(105deg, var(--hanura-orange), var(--hanura-red)) !important;
}

.hanura-auth .btn-danger {
    background: linear-gradient(105deg, var(--hanura-red), #000000) !important;
}

@media (max-width: 991px) {
    .page-title {
        font-size: clamp(1.25rem, 6.2vw, 1.75rem) !important;
    }

    .panel,
    .card,
    .card-box {
        border-radius: 12px;
    }

    .dashboard-stat-grid .panel > .panel-heading {
        min-height: 48px;
    }

    .dashboard-stat-grid .panel-bodybg2,
    .dashboard-stat-grid .panel-default {
        min-height: 96px;
    }

    .dashboard-stat-grid .panel-bodybg2 h1,
    .dashboard-stat-grid .panel-default h1 {
        font-size: clamp(1.65rem, 7.5vw, 2.15rem);
    }
}

@media print {
    body {
        background: #fff !important;
    }
}
