/* GlobalX Publications — extracted from includes/header.php */
        /* ============================================================
           GLOBALX PUBLIC — PREMIUM SHELL
           Sharp · Editorial · Refined
           ============================================================ */
        :root {
            --gx-purple: var(--gx-brand);
            --gx-purple-2: var(--gx-brand);
            --gx-purple-dark: var(--gx-brand-hover);
            --gx-purple-deep: var(--gx-brand-deep);
            --gx-purple-soft: var(--gx-brand-soft);
            --gx-purple-light: var(--gx-brand-soft);
            --gx-gold: #f5b400;
            --gx-ink-2: #1e293b;
            --gx-muted-2: #94a3b8;
            --gx-line-2: #f1f4f9;
            --gx-bg: var(--gx-canvas);

            --r-xs: 4px;
            --r-sm: 6px;
            --r-md: 8px;
            --r-lg: 10px;

            --sh-xs: 0 1px 2px rgba(15,23,42,.04);
            --sh-sm: 0 1px 2px rgba(15,23,42,.04), 0 1px 3px rgba(15,23,42,.03);
            --sh-md: 0 2px 4px rgba(15,23,42,.04), 0 4px 12px rgba(15,23,42,.05);
            --sh-lg: 0 4px 12px rgba(15,23,42,.06), 0 12px 32px rgba(15,23,42,.06);
        }
        i{font-weight:100 !important;}
        * { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

        body {
            font-family: 'Host Grotesk', 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
            color: #334155;
            background-color: var(--gx-bg);
            display: flex;
            flex-direction: column;
            min-height: 100vh;
            font-size: 14.5px;
            letter-spacing: -0.05px;
        }

        /* ===== Helpers ===== */
        .text-gx-purple { color: var(--gx-purple) !important; }
        .bg-gx-purple { background-color: var(--gx-purple) !important; color: #fff; }

        /* ===== Buttons ===== */
        .btn-gx {
            background: var(--gx-brand);
            color: #fff;
            border-radius: var(--r-md);
            padding: 9px 22px;
            font-weight: 600;
            font-size: 13.5px;
            letter-spacing: -0.1px;
            border: 1px solid var(--gx-brand-hover);
            box-shadow: 0 1px 2px rgba(var(--gx-brand-rgb),.30), inset 0 1px 0 rgba(255,255,255,.15);
            transition: all .18s cubic-bezier(.4,0,.2,1);
        }
        .btn-gx:hover {
            background: var(--gx-brand-hover);
            color: #fff;
            transform: translateY(-1px);
            box-shadow: 0 2px 6px rgba(var(--gx-brand-rgb),.35), inset 0 1px 0 rgba(255,255,255,.20);
        }
        .btn-gx:active { transform: translateY(0); }

        .btn-gx-outline {
            background-color: #fff;
            color: var(--gx-purple);
            border-radius: var(--r-md);
            padding: 9px 22px;
            font-weight: 600;
            font-size: 13.5px;
            letter-spacing: -0.1px;
            border: 1px solid #e2cfe2;
            box-shadow: var(--sh-xs);
            transition: all .18s cubic-bezier(.4,0,.2,1);
        }
        .btn-gx-outline:hover {
            background-color: var(--gx-purple-soft);
            color: var(--gx-purple);
            border-color: var(--gx-brand-border);
            transform: translateY(-1px);
            box-shadow: var(--sh-sm);
        }

        /* ===== Top Bar ===== */
        .top-bar {
            background: linear-gradient(90deg, var(--gx-brand-deep) 0%, var(--gx-brand-hover) 50%, var(--gx-brand-deep) 100%);
            color: #e9d5e9;
            font-size: 12.5px;
            padding: 9px 0;
            position: relative;
            letter-spacing: -0.1px;
        }
        .top-bar::after {
            content: '';
            position: absolute;
            bottom: 0; left: 0; right: 0;
            height: 1px;
            background: linear-gradient(90deg, transparent, rgba(245, 180, 0, 0.4), transparent);
        }
        .top-bar .tb-item {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            opacity: .85;
            transition: opacity .2s;
        }
        .top-bar .tb-item:hover { opacity: 1; }
        .top-bar .tb-item i { color: var(--gx-gold); font-size: 14px; }
        .top-bar .social-icon {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 26px;
            height: 26px;
            border-radius: var(--r-sm);
            background: rgba(255,255,255,.08);
            color: #e9d5e9;
            transition: all .22s;
            text-decoration: none;
            font-size: 13px;
        }
        .top-bar .social-icon:hover {
            background: var(--gx-gold);
            color: var(--gx-brand-deep);
            transform: translateY(-1px);
        }

        /* ===== Navbar — Glassmorphic ===== */
        .gx-navbar {
            background: rgba(255, 255, 255, 0.88);
            backdrop-filter: saturate(180%) blur(20px);
            -webkit-backdrop-filter: saturate(180%) blur(20px);
            border-bottom: 1px solid var(--gx-line);
            padding: 9px 0;
            transition: all .3s;
            box-shadow: 0 1px 2px rgba(15,23,42,.03);
        }
        .navbar-brand img {
            max-height: 44px;
            width: auto;
            transition: transform .25s;
        }
        .navbar-brand:hover img { transform: scale(1.03); }

        /* ===== Nav Links ===== */
        .navbar-nav .nav-link {
            font-weight: 600;
            font-size: 13.5px;
            letter-spacing: -0.1px;
            color: #475569 !important;
            padding: 8px 13px !important;
            border-radius: var(--r-md);
            transition: all .16s;
            position: relative;
            display: inline-flex;
            align-items: center;
            gap: 5px;
        }
        .navbar-nav .nav-link:hover {
            color: var(--gx-purple) !important;
            background: var(--gx-purple-soft);
        }
        .navbar-nav .nav-link.active {
            color: var(--gx-purple) !important;
            background: var(--gx-purple-light);
            font-weight: 700;
        }
        .navbar-nav .nav-link.active::before {
            content: '';
            position: absolute;
            left: 50%;
            bottom: -14px;
            transform: translateX(-50%);
            width: 20px;
            height: 3px;
            background: var(--gx-purple);
            border-radius: 3px 3px 0 0;
        }

        .navbar-toggler {
            border: 1px solid var(--gx-line);
            padding: 7px 10px;
            border-radius: var(--r-md);
            background: #fff;
            box-shadow: var(--sh-xs);
            color: var(--gx-purple);
        }
        .navbar-toggler:focus { box-shadow: var(--sh-xs); border-color: var(--gx-purple); }
        .navbar-toggler-icon {
            background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23660066' stroke-linecap='round' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
        }

        /* ===== Dropdown ===== */
        .dropdown-menu {
            border: 1px solid var(--gx-line);
            border-radius: var(--r-lg);
            box-shadow: var(--sh-lg);
            padding: 8px;
            margin-top: 12px !important;
            min-width: 260px;
            animation: gxFadeIn .18s ease;
        }
        @keyframes gxFadeIn {
            from { opacity: 0; transform: translateY(-4px); }
            to   { opacity: 1; transform: translateY(0); }
        }
        .dropdown-item {
            border-radius: var(--r-md);
            padding: 9px 12px;
            font-size: 13px;
            font-weight: 600;
            color: #334155;
            display: flex;
            align-items: center;
            gap: 10px;
            transition: all .15s;
            letter-spacing: -0.1px;
        }
        .dropdown-item i {
            font-size: 16px;
            color: var(--gx-muted);
            transition: color .15s;
            flex-shrink: 0;
        }
        .dropdown-item:hover {
            background: var(--gx-purple-soft);
            color: var(--gx-purple);
        }
        .dropdown-item:hover i { color: var(--gx-purple); }
        .dropdown-item.text-danger:hover { background: #fef2f2; color: #b91c1c; }
        .dropdown-item.text-danger:hover i { color: #b91c1c; }
        .dropdown-item.text-primary:hover { background: #eff6ff; color: #1d4ed8; }
        .dropdown-item.text-primary:hover i { color: #1d4ed8; }
        .dropdown-item.text-info:hover { background: #ecfeff; color: #0e7490; }
        .dropdown-item.text-info:hover i { color: #0e7490; }
        .dropdown-item.text-success:hover { background: #ecfdf5; color: #047857; }
        .dropdown-item.text-success:hover i { color: #047857; }
        .dropdown-divider { margin: 6px 4px; opacity: .08; }
        .dropdown-header {
            font-size: 11px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: .5px;
            color: var(--gx-muted-2);
            padding: 6px 12px 4px;
        }

        /* Rich dropdown (Publish with Us) */
        .gx-menu-rich .dropdown-item {
            padding: 10px 12px;
            align-items: flex-start;
        }
        .gx-menu-rich .dropdown-item i {
            margin-top: 2px;
            font-size: 18px;
            color: var(--gx-purple);
        }
        .gx-menu-rich .dropdown-item > div {
            display: flex;
            flex-direction: column;
            line-height: 1.3;
            gap: 2px;
        }
        .gx-menu-rich .dropdown-item .fw-semibold {
            font-size: 13px;
            font-weight: 700;
            color: var(--gx-ink);
            letter-spacing: -0.15px;
        }
        .gx-menu-rich .dropdown-item small {
            font-size: 11.5px;
            color: var(--gx-muted);
            font-weight: 500;
        }
        .gx-menu-rich .dropdown-item:hover .fw-semibold { color: var(--gx-purple); }
        .gx-menu-rich .dropdown-item:hover small { color: var(--gx-purple-2); opacity: .85; }

        /* ===== Cart Button ===== */
        .gx-cart-btn {
            width: 40px;
            height: 40px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background: #fff;
            border: 1px solid var(--gx-line);
            border-radius: var(--r-md);
            color: var(--gx-ink-2);
            text-decoration: none;
            transition: all .18s;
            position: relative;
            box-shadow: var(--sh-xs);
        }
        .gx-cart-btn:hover {
            background: var(--gx-purple-soft);
            color: var(--gx-purple);
            border-color: #e2cfe2;
            box-shadow: var(--sh-sm);
        }
        .gx-cart-badge {
            position: absolute;
            top: -6px;
            right: -6px;
            background: #dc2626;
            color: #fff;
            font-size: 10px;
            font-weight: 500;
            padding: 2px 6px;
            border-radius: var(--r-xs);
            border: 2px solid #fff;
            line-height: 1.2;
            font-variant-numeric: tabular-nums;
            min-width: 18px;
            text-align: center;
        }

        /* ===== User Button ===== */
        .gx-userbtn-public {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            padding: 5px 12px 5px 6px;
            background: #fff;
            border: 1px solid var(--gx-line);
            border-radius: var(--r-md);
            cursor: pointer;
            transition: all .18s;
            text-decoration: none;
            box-shadow: var(--sh-xs);
            color: var(--gx-ink);
            font-weight: 600;
            font-size: 13px;
            letter-spacing: -0.1px;
        }
        .gx-userbtn-public:hover {
            background: #fafbfc;
            border-color: #cbd5e1;
            box-shadow: var(--sh-sm);
            color: var(--gx-ink);
        }
        .gx-user-avatar {
            width: 30px;
            height: 30px;
            border-radius: var(--r-sm);
            background: var(--gx-brand);
            color: #fff;
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: 500;
            font-size: 12.5px;
            flex-shrink: 0;
            box-shadow: inset 0 1px 0 rgba(255,255,255,.15);
        }
        img.gx-user-avatar {
            object-fit: cover;
            display: block;
            border: 1px solid var(--gx-line);
            background: #fff;
        }
        .gx-user-meta {
            display: flex;
            flex-direction: column;
            line-height: 1.15;
            align-items: flex-start;
        }
        .gx-user-name {
            font-size: 12.5px;
            font-weight: 700;
            color: var(--gx-ink);
            letter-spacing: -0.1px;
        }
        .gx-user-role {
            font-size: 9.5px;
            font-weight: 500;
            color: var(--gx-purple);
            text-transform: uppercase;
            letter-spacing: .5px;
        }

        /* ===== Content area ===== */
        .card-custom {
            border: 1px solid var(--gx-line);
            border-radius: var(--r-lg);
            box-shadow: var(--sh-sm);
            background: #fff;
            transition: all .22s cubic-bezier(.4,0,.2,1);
        }
        .card-custom:hover {
            transform: translateY(-2px);
            box-shadow: var(--sh-md);
            border-color: #dbe0e8;
        }

        .hero-banner {
            background: linear-gradient(135deg, var(--gx-brand-deep) 0%, var(--gx-brand-hover) 40%, var(--gx-brand) 70%, var(--gx-brand) 100%);
            color: white;
            padding: 72px 0;
            position: relative;
            overflow: hidden;
        }
        .hero-banner::before {
            content: '';
            position: absolute;
            top: -50%; right: -10%;
            width: 600px; height: 600px;
            background: radial-gradient(circle, rgba(245,180,0,.12), transparent 70%);
            border-radius: 50%;
            pointer-events: none;
        }

        /* ===== Status Badges — SHARP ===== */
        .badge-status {
            display: inline-flex;
            align-items: center;
            gap: 5px;
            padding: 3px 8px;
            border-radius: var(--r-xs);
            font-size: 10.5px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: .3px;
            line-height: 1;
            border: 1px solid transparent;
        }
        .badge-status::before {
            content: '';
            width: 5px; height: 5px;
            border-radius: 1px;
            background: currentColor;
            opacity: .9;
        }
        .badge-draft              { background: #f1f5f9; color: #475569; border-color: #e2e8f0; }
        .badge-submitted          { background: #eff6ff; color: #1d4ed8; border-color: #dbeafe; }
        .badge-under_review       { background: #fffbeb; color: #b45309; border-color: #fef3c7; }
        .badge-revision_required  { background: #fff7ed; color: #c2410c; border-color: #fed7aa; }
        .badge-resubmitted        { background: #eef2ff; color: #4338ca; border-color: #e0e7ff; }
        .badge-approved           { background: #ecfdf5; color: #047857; border-color: #d1fae5; }
        .badge-published          { background: #ecfeff; color: #0e7490; border-color: #cffafe; }
        .badge-rejected           { background: #fef2f2; color: #b91c1c; border-color: #fee2e2; }

        /* ===== Footer ===== */
        footer {
            background: linear-gradient(180deg, #170017 0%, #0a000a 100%);
            color: #94a3b8;
            margin-top: auto;
            padding-top: 40px;
        }
        footer a {
            color: #94a3b8;
            text-decoration: none;
            transition: color .2s;
        }
        footer a:hover { color: var(--gx-gold); }

        /* ===== Scrollbar ===== */
        ::-webkit-scrollbar { width: 8px; height: 8px; }
        ::-webkit-scrollbar-track { background: transparent; }
        ::-webkit-scrollbar-thumb {
            background: #d8dee7;
            border-radius: 4px;
            border: 2px solid transparent;
            background-clip: content-box;
        }
        ::-webkit-scrollbar-thumb:hover { background: var(--gx-purple); background-clip: content-box; }

        /* ===== Mobile nav ===== */
        @media (max-width: 1399.98px) {
            .gx-navbar .navbar-collapse {
                background: #fff;
                border-radius: var(--r-lg);
                margin-top: 12px;
                padding: 12px;
                box-shadow: var(--sh-md);
                border: 1px solid var(--gx-line);
            }
            .navbar-nav .nav-link { padding: 10px 14px !important; }
            .navbar-nav .nav-link.active::before { display: none; }
        }

        /* ===== Author app-shell (user panel) ===== */
        .gx-shell{display:flex;min-height:100vh;background:#f6f7f9;}
        .gx-sidebar{width:250px;flex-shrink:0;background:#fff;border-right:1px solid #eef0f3;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto;}
        .gx-brand{display:flex;align-items:center;padding:18px 22px;border-bottom:1px solid #f1f2f5;}
        .gx-brand img{height:40px;width:auto;}
        .gx-nav{padding:14px;flex:1;}
        .gx-nav-link{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:8px;color:#5b6472;font-size:14px;font-weight:500;text-decoration:none;margin-bottom:2px;transition:background .15s,color .15s;}
        .gx-nav-link i{font-size:18px;color:#98a1ae;}
        .gx-nav-link:hover{background:var(--gx-brand-soft);color:var(--gx-purple);}
        .gx-nav-link:hover i{color:var(--gx-purple);}
        .gx-nav-link.active{background:var(--gx-brand-soft);color:var(--gx-purple);font-weight:600;}
        .gx-nav-link.active i{color:var(--gx-purple);}
        .gx-nav-head{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:#a3abb8;font-weight:700;margin:16px 14px 6px;}
        .gx-sidebar-promo{margin:14px;padding:18px;border-radius:10px;background:linear-gradient(140deg,#f7eef7,#efe2ef);position:relative;color:#3c2a3c;}
        .gx-promo-btn{position:absolute;right:14px;bottom:14px;width:34px;height:34px;border-radius:8px;background:#fff;color:var(--gx-purple);display:flex;align-items:center;justify-content:center;text-decoration:none;box-shadow:0 2px 8px rgba(0,0,0,.08);}
        .gx-main{flex:1;min-width:0;display:flex;flex-direction:column;}
        .gx-topbar{height:64px;background:rgba(255,255,255,.9);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid #eef0f3;display:flex;align-items:center;gap:16px;padding:0 24px;position:sticky;top:0;z-index:20;}
        .gx-search{display:flex;align-items:center;gap:8px;background:#f2f3f5;border-radius:8px;padding:9px 14px;width:340px;color:#98a1ae;}
        .gx-search input{border:none;outline:none;background:transparent;font-size:14px;width:100%;color:#333;}
        .gx-bell{position:relative;color:#5b6472;font-size:20px;text-decoration:none;}
        .gx-bell-dot{position:absolute;top:-6px;right:-8px;background:#e5484d;color:#fff;font-size:10px;border-radius:4px;padding:1px 5px;font-weight:700;}
        .gx-userbtn{display:flex;align-items:center;gap:10px;background:transparent;border:none;padding:4px 6px;border-radius:8px;}
        .gx-userbtn img{width:38px;height:38px;border-radius:8px;object-fit:cover;}
        .gx-userbtn-initial{width:38px;height:38px;border-radius:8px;background:var(--gx-purple);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;}
        .gx-userbtn-meta{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15;}
        .gx-userbtn-name{font-size:14px;font-weight:600;color:#222;}
        .gx-userbtn-role{font-size:11px;color:#98a1ae;}
        .gx-content{padding:24px;flex:1;}
        .gx-content > .container{max-width:100%!important;padding-left:0!important;padding-right:0!important;}
        .gx-content .row > [class*="col-lg-3"]:first-child{display:none!important;}
        .gx-content .row > [class*="col-lg-9"]{flex:0 0 100%!important;max-width:100%!important;}
        /* Bootstrap's large gutters must fit the narrow public container. */
        @media (max-width: 575px){
            .container > .row.g-5 { --bs-gutter-x: 1.5rem; }
        }
        @media (max-width: 991px){
            .gx-sidebar{display:none;}
            .gx-search{width:auto;flex:1;}
        }
    

/* Navigation needs a collapsed menu until the full set of links fits. */
@media (max-width: 1399.98px) {
    .gx-navbar .navbar-collapse { max-height: calc(100dvh - 156px); overflow-y: auto; }
    .gx-navbar .navbar-collapse > .d-flex { flex-wrap: wrap; }
    .gx-navbar .dropdown-menu { min-width: 0; max-width: 100%; }
    .gx-navbar .gx-menu-rich .dropdown-item { white-space: normal; }
}

/* Readable hero copy and complete empty catalog screens. */
.hero-banner .hero-description { color: rgb(255 255 255 / 85%); max-width: 780px; margin-inline: auto; }
.public-prose-card { padding: clamp(20px, 4vw, 48px); }
.gx-catalog-empty { padding: clamp(28px, 5vw, 56px) 24px; text-align: center; background: #fff; border: 1px solid var(--gx-line); border-radius: var(--r-lg); }
.gx-catalog-empty > i { display: block; font-size: 34px; color: var(--gx-purple); margin-bottom: 14px; }
.gx-catalog-empty h2 { font-size: 22px; margin-bottom: 10px; }
.gx-catalog-empty p { color: var(--gx-muted); max-width: 480px; margin: 0 auto 22px; }
.gx-catalog-empty .btn { white-space: normal; }

@media(min-width:1400px){.gx-navbar .navbar-nav .nav-link{padding-inline:8px!important;font-size:13px}}
