    :root {
        --header-border: rgba(255, 255, 255, 0.08);
        --header-text: #f2f6fb;
        --header-accent: #f2b65a;
    }

    #header {
        background: rgba(11, 17, 27, 0.95);
        border-bottom: 1px solid var(--header-border);
        box-shadow: 0 18px 35px rgba(4, 7, 12, 0.45);
        position: relative;
        z-index: 2800;
        overflow: visible;
    }

    .header-notice {
        background: linear-gradient(90deg, rgba(12, 18, 28, 0.98), rgba(15, 24, 36, 0.98));
        border-bottom: 1px solid var(--header-border);
        color: var(--header-text);
        font-size: 12px;
        position: relative;
        z-index: 2750;
    }

    .header-notice .container {
        width: 100%;
        max-width: 1240px;
        margin: 0 auto;
        padding: 8px 16px;
        box-sizing: border-box;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        flex-wrap: wrap;
        text-align: center;
    }

    .header-notice a {
        color: var(--header-accent);
        font-weight: 700;
        text-decoration: none;
    }

    .header-notice i {
        color: #22c7b8;
    }

    #main-menu.desktop {
        background: rgba(12, 18, 28, 0.95);
        border-bottom: 1px solid var(--header-border);
        box-shadow: 0 10px 24px rgba(4, 7, 12, 0.4);
        position: relative;
        z-index: 2700;
    }

    #main-menu {
        background: rgba(12, 18, 28, 0.98);
        border-right: 1px solid var(--header-border);
    }

    #main-menu:not(.desktop) {
        background: linear-gradient(180deg, rgba(17, 26, 40, 0.98), rgba(10, 16, 26, 0.98));
        border-right: 1px solid var(--header-border);
        box-shadow: 0 18px 32px rgba(4, 7, 12, 0.55);
        z-index: 2600;
    }

    #main-menu.expanded {
        z-index: 2600;
    }

    #overlay_menu {
        z-index: 2550;
    }

    #main-menu ul > li > a {
        color: var(--header-text);
    }

    #main-menu:not(.desktop) .container > ul > li {
        border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    }

    #main-menu:not(.desktop) .user-menu > a {
        margin: 6px 8px;
        padding: 8px 12px;
        border-radius: 12px;
        background: linear-gradient(135deg, rgba(242, 182, 90, 0.18), rgba(38, 212, 196, 0.12));
        border: 1px solid rgba(242, 182, 90, 0.35);
    }

    #main-menu:not(.desktop) .user-menu > a span {
        max-width: 140px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        font-weight: 700;
    }

    #main-menu:not(.desktop) .user-menu > a i.fa-user {
        color: var(--header-accent);
    }

    #main-menu ul > li > a:hover {
        color: var(--header-accent);
    }

    #main-menu.desktop ul > li > a {
        color: var(--header-text);
    }

    #main-menu.desktop ul > li > a:hover {
        color: var(--header-accent);
    }

    #main-menu.desktop .sub-menu {
        z-index: 2351;
    }

    #main-menu:not(.desktop) .sub-menu {
        background: rgba(9, 14, 22, 0.92);
        border: 1px solid var(--header-border);
        border-radius: 12px;
        margin: 6px 12px 12px;
        padding: 6px;
    }

    #main-menu:not(.desktop) ul.sub-menu > li a {
        border-radius: 8px;
        padding: 8px 10px;
        color: var(--header-text);
    }

    #main-menu:not(.desktop) ul.sub-menu > li a:hover {
        background: rgba(255, 255, 255, 0.06);
        color: var(--header-accent);
    }

    .mobile-search-bar,
    .mobile-search-bar #keyword,
    .mobile-search-submit,
    .mobile-search-bar .close-button {
        background: #101827;
        border-color: var(--header-border);
        color: var(--header-text);
    }

    #header.header-desktop {
        --header-border: rgba(255, 255, 255, 0.08);
        --header-text: #f2f6fb;
        --header-accent: #f2b65a;
        background: linear-gradient(180deg, rgba(12, 18, 28, 0.98), rgba(10, 15, 24, 0.95));
        border-bottom: 1px solid var(--header-border);
        box-shadow: 0 18px 35px rgba(4, 7, 12, 0.45);
        height: auto;
        position: relative;
        z-index: 2800;
        overflow: visible;
    }

    #header.header-desktop::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        height: 1px;
        background: linear-gradient(90deg, rgba(0, 0, 0, 0), rgba(242, 182, 90, 0.35), rgba(0, 0, 0, 0));
        opacity: 0.7;
        pointer-events: none;
    }

    #header.header-desktop .container {
        width: 100%;
        max-width: 1240px;
        margin: 0 auto;
        padding: 10px 16px;
        box-sizing: border-box;
        min-height: 64px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 24px;
        overflow: visible;
    }

    #header.header-desktop .logo {
        margin: 0;
    }

    #header.header-desktop .logo img {
        filter: drop-shadow(0 6px 12px rgba(0, 0, 0, 0.35));
    }

    #header.header-desktop .search-container {
        position: relative;
        float: none;
        width: 100%;
        margin: 0;
        flex: 1 1 0;
        max-width: 640px;
        min-width: 320px;
        z-index: 2801;
        overflow: visible;
    }

    #header.header-desktop .search-container .form-search {
        position: relative;
        width: 100%;
    }

    #header.header-desktop .search-container #suggestions {
        position: relative;
        z-index: 2802;
        overflow: visible;
    }

    #header.header-desktop .search-container #suggestions ul.autocomplete-list {
        z-index: 2803 !important;
    }

    #header.header-desktop .search-container .form-search input,
    #header.header-desktop .search-container .form-search #keyword {
        background: rgba(255, 255, 255, 0.08) !important;
        border: 1px solid var(--header-border) !important;
        color: var(--header-text);
        border-radius: 999px;
        padding: 0 132px 0 16px;
        width: 100%;
        height: 46px;
        line-height: 46px;
        float: none;
        display: block;
        box-sizing: border-box;
        box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.03);
    }

    #header.header-desktop .search-container .form-search button {
        background: linear-gradient(135deg, var(--header-accent), #e7923e) !important;
        border: none !important;
        color: #201206 !important;
        border-radius: 999px;
        padding: 0 16px;
        font-weight: 700;
        position: absolute;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        right: 8px;
        top: 50%;
        height: 36px;
        line-height: 36px;
        margin: 0;
        transform: translateY(-50%);
        width: auto;
        min-width: 96px;
        font-size: 12px;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        box-shadow: 0 10px 18px rgba(242, 182, 90, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.35);
        transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
    }

    #header.header-desktop .search-container .form-search button:hover {
        filter: brightness(1.05);
        transform: translateY(-50%) translateY(-1px);
        box-shadow: 0 14px 22px rgba(242, 182, 90, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.45);
    }

    #header.header-desktop .search-container .form-search input::placeholder {
        color: rgba(255, 255, 255, 0.6);
    }

    #header.header-desktop .search-container .form-search input:focus,
    #header.header-desktop .search-container .form-search #keyword:focus {
        border-color: rgba(242, 182, 90, 0.6);
        box-shadow: 0 0 0 2px rgba(242, 182, 90, 0.16), inset 0 0 0 1px rgba(255, 255, 255, 0.06);
        outline: none;
    }

    #header.header-desktop .header-actions {
        display: flex;
        align-items: center;
        gap: 10px;
        position: relative;
        z-index: 2804;
    }

    #header.header-desktop .header-login-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 8px 14px;
        border-radius: 999px;
        font-size: 12px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.4px;
        text-decoration: none;
        border: 1px solid transparent;
        background: linear-gradient(135deg, var(--header-accent), #e7923e);
        color: #201206;
        box-shadow: 0 10px 18px rgba(242, 182, 90, 0.35);
    }

    #header.header-desktop .header-login-btn.ghost {
        background: rgba(255, 255, 255, 0.08);
        border-color: var(--header-border);
        color: var(--header-text);
        box-shadow: none;
    }

    #header.header-desktop .header-user {
        position: relative;
        z-index: 2805;
    }

    #header.header-desktop .header-user-toggle {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 6px 10px;
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.08);
        border: 1px solid var(--header-border);
        color: var(--header-text);
        cursor: pointer;
    }

    #header.header-desktop .header-user-toggle img {
        width: 28px;
        height: 28px;
        border-radius: 50%;
        object-fit: cover;
        border: 1px solid rgba(255, 255, 255, 0.2);
        background: #f4f7fb;
    }

    #header.header-desktop .header-user-name {
        font-size: 12px;
        font-weight: 700;
        max-width: 120px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    #header.header-desktop .header-user-menu {
        position: absolute;
        top: calc(100% + 8px);
        right: 0;
        min-width: 200px;
        padding: 8px;
        background: rgba(12, 18, 28, 0.98);
        border: 1px solid var(--header-border);
        border-radius: 12px;
        box-shadow: 0 16px 30px rgba(4, 7, 12, 0.5);
        display: none;
        z-index: 2806;
    }

    #header.header-desktop .header-user.open .header-user-menu {
        display: block;
    }

    #header.header-desktop .header-user-menu a,
    #header.header-desktop .header-user-menu button {
        display: flex;
        align-items: center;
        width: 100%;
        padding: 8px 10px;
        border-radius: 8px;
        text-decoration: none;
        color: var(--header-text);
        background: none;
        border: 0;
        text-align: left;
        cursor: pointer;
        font-size: 13px;
    }

    #header.header-desktop .header-user-menu a:hover,
    #header.header-desktop .header-user-menu button:hover {
        background: rgba(255, 255, 255, 0.06);
        color: var(--header-accent);
    }

    #header.header-desktop .header-user-divider {
        height: 1px;
        background: rgba(255, 255, 255, 0.08);
        margin: 6px 4px;
    }

    @media (max-width: 640px) {
        .header-notice .container {
            padding: 6px 12px;
            font-size: 11px;
        }
    }
