/**
 * LUXORA SHARED STYLES
 * Source file: assets.php
 * Build position: 13/15
 */

:root{
    --lux-bg: #0B0B0F;
    --lux-card: #17171C;
    --lux-card-soft: #111116;
    --lux-primary: #7C4DFF;
    --lux-secondary: #D4AF37;
    --lux-text: #F5F5F5;
    --lux-muted: #A1A1AA;
    --lux-border: #2B2B33;
    --lux-success: #10B981;
    --lux-danger: #EF4444;
    --lux-warning: #F59E0B;
    --lux-radius-sm: 12px;
    --lux-radius: 18px;
    --lux-radius-lg: 26px;
    --lux-shadow: 0 24px 70px rgba(0,0,0,.34);
}

*{box-sizing:border-box}

html{scroll-behavior:smooth}

body{
    margin:0;
    min-height:100vh;
    background:
        radial-gradient(circle at 8% 0%,rgba(124,77,255,.15),transparent 28%),
        radial-gradient(circle at 92% 0%,rgba(212,175,55,.08),transparent 23%),
        var(--lux-bg);
    color:var(--lux-text);
    font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,select,textarea{font:inherit}

.lux-container{
    width:min(1200px,calc(100% - 30px));
    margin-inline:auto;
}

.lux-card{
    background:rgba(23,23,28,.95);
    border:1px solid var(--lux-border);
    border-radius:var(--lux-radius-lg);
    box-shadow:var(--lux-shadow);
}

.lux-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    border:1px solid var(--lux-border);
    border-radius:14px;
    padding:11px 16px;
    background:#15151B;
    color:var(--lux-text);
    font-weight:850;
    cursor:pointer;
    transition:.18s ease;
}

.lux-button:hover{transform:translateY(-1px);border-color:var(--lux-primary)}

.lux-button--primary{
    border:0;
    color:#fff;
    background:linear-gradient(135deg,var(--lux-primary),var(--lux-secondary));
}

.lux-button--danger{
    background:transparent;
    color:#FCA5A5;
    border-color:rgba(239,68,68,.4);
}

.lux-input{
    width:100%;
    border:1px solid var(--lux-border);
    background:var(--lux-card-soft);
    color:var(--lux-text);
    border-radius:14px;
    padding:13px 14px;
    outline:none;
}

.lux-input:focus{
    border-color:var(--lux-primary);
    box-shadow:0 0 0 3px rgba(124,77,255,.13);
}

.lux-muted{color:var(--lux-muted)}

.lux-badge{
    display:inline-flex;
    align-items:center;
    gap:5px;
    border-radius:999px;
    border:1px solid var(--lux-border);
    background:var(--lux-card-soft);
    padding:5px 9px;
    font-size:11px;
    font-weight:900;
}

.lux-badge--verified{color:#C4B5FD}
.lux-badge--success{color:#6EE7B7}
.lux-badge--warning{color:#FDE68A}
.lux-badge--danger{color:#FCA5A5}

.lux-avatar{
    width:48px;
    height:48px;
    border-radius:50%;
    object-fit:cover;
    background:#24242B;
}

.lux-avatar-fallback{
    display:grid;
    place-items:center;
    font-weight:900;
    color:var(--lux-secondary);
    background:linear-gradient(135deg,rgba(124,77,255,.3),rgba(212,175,55,.2));
}

.lux-topbar{
    position:sticky;
    top:0;
    z-index:80;
    border-bottom:1px solid rgba(255,255,255,.06);
    background:rgba(11,11,15,.86);
    backdrop-filter:blur(18px);
}

.lux-topbar__inner{
    min-height:68px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
}

.lux-brand{
    display:flex;
    align-items:center;
    gap:11px;
    font-weight:900;
}

.lux-brand__mark{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:14px;
    background:linear-gradient(135deg,var(--lux-primary),var(--lux-secondary));
}

.lux-mobile-nav{
    display:none;
    position:fixed;
    z-index:90;
    left:10px;
    right:10px;
    bottom:10px;
    grid-template-columns:repeat(5,1fr);
    gap:4px;
    padding:8px;
    border:1px solid var(--lux-border);
    border-radius:20px;
    background:rgba(17,17,22,.94);
    backdrop-filter:blur(18px);
    box-shadow:var(--lux-shadow);
}

.lux-mobile-nav a{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:4px;
    min-height:52px;
    border-radius:14px;
    color:var(--lux-muted);
    font-size:11px;
}

.lux-mobile-nav a.active{
    color:#fff;
    background:rgba(124,77,255,.14);
}

.lux-floating-stack{
    position:fixed;
    right:18px;
    bottom:22px;
    z-index:95;
    display:grid;
    gap:10px;
}

.lux-floating-button{
    width:52px;
    height:52px;
    border:0;
    border-radius:50%;
    display:grid;
    place-items:center;
    cursor:pointer;
    color:#fff;
    font-size:20px;
    box-shadow:0 16px 38px rgba(0,0,0,.34);
    background:linear-gradient(135deg,var(--lux-primary),var(--lux-secondary));
}

.lux-notification-count{
    position:absolute;
    transform:translate(17px,-17px);
    min-width:20px;
    height:20px;
    padding:0 5px;
    border-radius:999px;
    display:grid;
    place-items:center;
    background:var(--lux-danger);
    color:#fff;
    font-size:10px;
    font-weight:900;
}

.lux-toast-wrap{
    position:fixed;
    z-index:110;
    top:18px;
    right:18px;
    width:min(380px,calc(100% - 36px));
    display:grid;
    gap:10px;
}

.lux-toast{
    border:1px solid var(--lux-border);
    border-left:4px solid var(--lux-primary);
    border-radius:16px;
    padding:14px 16px;
    background:rgba(23,23,28,.97);
    box-shadow:var(--lux-shadow);
    animation:luxSlideIn .22s ease;
}

.lux-toast--success{border-left-color:var(--lux-success)}
.lux-toast--danger{border-left-color:var(--lux-danger)}
.lux-toast--warning{border-left-color:var(--lux-warning)}

@keyframes luxSlideIn{
    from{transform:translateY(-8px);opacity:0}
    to{transform:translateY(0);opacity:1}
}

.lux-modal-backdrop{
    position:fixed;
    inset:0;
    z-index:105;
    display:none;
    place-items:center;
    padding:18px;
    background:rgba(0,0,0,.72);
    backdrop-filter:blur(8px);
}

.lux-modal-backdrop.open{display:grid}

.lux-modal{
    width:min(620px,100%);
    max-height:90vh;
    overflow:auto;
    border:1px solid var(--lux-border);
    border-radius:var(--lux-radius-lg);
    padding:22px;
    background:var(--lux-card);
    box-shadow:var(--lux-shadow);
}

.lux-modal__header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin-bottom:16px;
}

.lux-modal__close{
    width:38px;
    height:38px;
    border-radius:50%;
    border:1px solid var(--lux-border);
    background:var(--lux-card-soft);
    color:#fff;
    cursor:pointer;
}

.lux-skeleton{
    position:relative;
    overflow:hidden;
    background:#202026;
}

.lux-skeleton::after{
    content:"";
    position:absolute;
    inset:0;
    transform:translateX(-100%);
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent);
    animation:luxSkeleton 1.4s infinite;
}

@keyframes luxSkeleton{
    to{transform:translateX(100%)}
}

.lux-install-banner{
    position:fixed;
    z-index:100;
    left:50%;
    bottom:18px;
    transform:translateX(-50%);
    width:min(560px,calc(100% - 24px));
    display:none;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:14px;
    border:1px solid var(--lux-border);
    border-radius:18px;
    background:rgba(23,23,28,.97);
    box-shadow:var(--lux-shadow);
}

.lux-install-banner.show{display:flex}


.lux-global-nav{
    position:sticky;top:0;z-index:100;
    border-bottom:1px solid rgba(255,255,255,.07);
    background:rgba(10,10,14,.92);backdrop-filter:blur(22px)
}
.lux-global-nav__inner{min-height:72px;display:flex;align-items:center;gap:18px}
.lux-global-search,.lux-admin-search{position:relative}
.lux-global-search{flex:1;max-width:430px}
.lux-global-search .lux-input,.lux-admin-search .lux-input{padding-left:42px;background:#121217}
.lux-search-icon{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:var(--lux-muted);pointer-events:none}
.lux-role-context{flex:1;color:var(--lux-muted);font-size:13px;font-weight:800}.lux-global-actions{display:flex;align-items:center;gap:8px;margin-left:auto}
.lux-nav-action{
    position:relative;display:inline-flex;align-items:center;gap:7px;
    min-height:44px;padding:9px 12px;border:1px solid transparent;border-radius:14px;
    color:var(--lux-muted);background:transparent;cursor:pointer;font-weight:780
}
.lux-nav-action:hover,.lux-nav-action.active{color:#fff;background:#17171C;border-color:var(--lux-border)}
.lux-action-icon{font-size:17px}
.lux-nav-count{
    position:absolute;right:-4px;top:-5px;min-width:19px;height:19px;padding:0 5px;
    display:grid;place-items:center;border-radius:999px;background:var(--lux-danger);
    color:#fff;font-size:10px;font-weight:900;border:2px solid #0B0B0F
}
.lux-language-form{margin:0;display:flex;align-items:center}.lux-nav-preferences{display:flex;align-items:center;gap:6px;padding:4px;border:1px solid var(--lux-border);border-radius:14px;background:#121217}
.lux-nav-select{border:0;background:transparent;color:#fff;border-radius:10px;padding:8px 9px;outline:none;font-weight:800}
.lux-nav-select option{background:#17171C;color:#fff}
.lux-profile-menu{position:relative}
.lux-profile-trigger{
    display:flex;align-items:center;gap:9px;border:1px solid var(--lux-border);
    background:#15151B;color:#fff;border-radius:15px;padding:6px 10px;cursor:pointer;
    transition:.18s ease
}
.lux-profile-trigger:hover{border-color:rgba(124,77,255,.6);background:#1A1A20}
.lux-nav-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover}
.lux-chevron{color:var(--lux-muted);font-size:12px}
.lux-profile-dropdown{
    position:absolute;right:0;top:calc(100% + 10px);width:235px;display:none;
    padding:8px;border:1px solid var(--lux-border);border-radius:17px;
    background:#17171C;box-shadow:var(--lux-shadow)
}
.lux-profile-menu.open .lux-profile-dropdown{display:grid}
.lux-profile-dropdown__identity{display:grid;gap:3px;padding:10px 11px 12px;border-bottom:1px solid var(--lux-border);margin-bottom:5px}
.lux-profile-dropdown__identity span{font-size:12px;color:var(--lux-muted)}
.lux-profile-dropdown a,.lux-profile-dropdown button{
    width:100%;display:block;text-align:left;border:0;background:transparent;color:#fff;
    padding:11px;border-radius:10px;cursor:pointer
}
.lux-profile-dropdown a:hover,.lux-profile-dropdown button:hover{background:#111116}
.lux-dropdown-divider{height:1px;background:var(--lux-border);margin:5px 0}
.lux-dropdown-logout{color:#FCA5A5!important}
.lux-notification-panel{
    position:fixed;right:18px;top:80px;z-index:120;width:min(390px,calc(100% - 28px));
    max-height:70vh;overflow:auto;border:1px solid var(--lux-border);border-radius:20px;
    background:#17171C;box-shadow:var(--lux-shadow)
}
.lux-notification-panel__head{display:flex;justify-content:space-between;gap:12px;padding:15px;border-bottom:1px solid var(--lux-border)}
.lux-notification-panel__head button{border:0;background:transparent;color:#C4B5FD;cursor:pointer}
.lux-notification-item{display:block;padding:14px;border-bottom:1px solid rgba(255,255,255,.05)}
.lux-notification-item:hover{background:#111116}

/* Refined admin header */
.lux-admin-topbar{
    margin:-32px -32px 28px;padding:0 24px;
    border-bottom:1px solid rgba(255,255,255,.07);
    background:linear-gradient(180deg,rgba(20,20,26,.98),rgba(14,14,19,.96));
    position:sticky;top:0;z-index:75;backdrop-filter:blur(22px)
}
.lux-admin-topbar__main{
    min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:18px
}
.lux-admin-topbar__left,.lux-admin-topbar__actions{display:flex;align-items:center;gap:12px}
.lux-admin-title{display:grid;gap:2px;min-width:145px}
.lux-admin-title__eyebrow{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--lux-secondary);font-weight:900}
.lux-admin-title strong{font-size:17px}
.lux-admin-search{width:min(350px,32vw)}
.lux-admin-sidebar-toggle{display:none;width:42px;height:42px;border:1px solid var(--lux-border);border-radius:13px;background:#17171C;color:#fff;cursor:pointer}
.lux-admin-alerts{display:flex;align-items:center;gap:6px;padding:5px;border:1px solid var(--lux-border);border-radius:15px;background:#111116}
.lux-admin-alert{
    position:relative;width:39px;height:39px;display:grid;place-items:center;
    border-radius:11px;color:var(--lux-muted);transition:.18s ease
}
.lux-admin-alert:hover{color:#fff;background:#1C1C23}
.lux-admin-alert__icon{font-size:16px;font-weight:900}
.lux-admin-language{height:44px;border:1px solid var(--lux-border);background:#111116;padding-inline:12px}
.lux-admin-site-button{
    min-height:44px;display:inline-flex;align-items:center;gap:8px;padding:10px 14px;
    border:1px solid var(--lux-border);border-radius:14px;background:#17171C;color:#fff;font-weight:850
}
.lux-admin-site-button:hover{border-color:var(--lux-primary)}
.lux-admin-profile .lux-profile-trigger{min-height:44px}
@media(max-width:1180px){
    .lux-nav-label,.lux-profile-name{display:none}
    .lux-global-search{max-width:340px}
    .lux-admin-title{display:none}
    .lux-admin-search{width:min(290px,30vw)}
}
@media(max-width:900px){
    .lux-global-search{display:none}
    .lux-admin-alerts{display:none}
    .lux-admin-site-button span:last-child{display:none}
}
@media(max-width:760px){
    .lux-global-nav__inner{min-height:62px}
    .lux-global-actions .lux-nav-action{display:none}
    .lux-nav-preferences{margin-left:auto}
    .lux-nav-preferences .lux-nav-select:last-child{display:none}
    .lux-profile-trigger{padding:5px}
    .lux-admin-topbar{margin:-18px -18px 20px;padding:0 14px}
    .lux-admin-topbar__main{min-height:68px}
    .lux-admin-sidebar-toggle{display:grid;place-items:center}
    .lux-admin-search{display:none}
    .lux-admin-topbar__actions{margin-left:auto;gap:7px}
    .lux-admin-site-button{display:none}
    .lux-admin-language{height:40px;padding:6px 9px}
}
.lux-empty{
    padding:36px;
    text-align:center;
    color:var(--lux-muted);
    border:1px dashed var(--lux-border);
    border-radius:20px;
}

@media(max-width:760px){
    body{padding-bottom:82px}
    .lux-mobile-nav{display:grid}
    .lux-floating-stack{bottom:88px}
    .lux-topbar__inner{align-items:flex-start;padding:12px 0}
}

@media(prefers-reduced-motion:reduce){
    *,*::before,*::after{
        scroll-behavior:auto!important;
        animation-duration:.01ms!important;
        animation-iteration-count:1!important;
        transition-duration:.01ms!important;
    }
}