/* =========================================================
   FOCUS SISTEMA â€¢ SHORTCODES.css
   ========================================================= */

:root{
    --fs-bg:#0b0f14;
    --fs-bg-2:#0f1620;
    --fs-bg-3:#121a24;
    --fs-card:rgba(10,14,20,0.72);
    --fs-card-strong:rgba(7,10,16,0.90);
    --fs-border:rgba(255,255,255,0.12);
    --fs-border-2:rgba(255,255,255,0.18);
    --fs-border-accent:rgba(42,182,246,0.28);
    --fs-text:#ffffff;
    --fs-text-2:#dce6f2;
    --fs-text-3:#b7c0cc;
    --fs-text-4:#8ea0b5;
    --fs-primary:#2ab6f6;
    --fs-primary-2:#8b7cf8;
    --fs-danger:#ff6b6b;
    --fs-danger-2:#dc3545;
    --fs-success:#2ab6f6;
    --fs-success-soft:rgba(42,182,246,0.10);
    --fs-danger-soft:rgba(220,53,69,0.12);
    --fs-shadow:
        0 18px 50px rgba(0,0,0,0.45),
        0 0 0 1px rgba(255,255,255,0.04);
    --fs-shadow-strong:
        0 22px 70px rgba(0,0,0,0.60),
        0 0 0 1px rgba(255,255,255,0.08);
    --fs-radius-sm:10px;
    --fs-radius-md:14px;
    --fs-radius-lg:16px;
    --fs-radius-xl:18px;
    --fs-radius-pill:999px;
    --fs-transition:.22s ease;

    --focus-sidebar-width:300px;
    --focus-sidebar-bg:#0b0f14;
}

/* =========================================================
   RESET LOCAL
   ========================================================= */
.focus-header-card,
.focus-header-card *,
.focus-logo-wrap,
.focus-logo-wrap *,
.focus-lic-banner,
.focus-lic-banner *,
.focus-lic-urg,
.focus-lic-urg *,
.sidebar-focus-container,
.sidebar-focus-container *,
.focus-upgrade-box,
.focus-upgrade-box *,
.focus-auth-card,
.focus-auth-card *,
.focus-dashboard-shell,
.focus-dashboard-shell *,
.focus-login-alert,
.focus-login-alert *{
    box-sizing:border-box !important;
    font-family:Arial, Helvetica, sans-serif !important;
}

.focus-header-card a,
.focus-logo-wrap a,
.focus-lic-banner a,
.focus-lic-urg a,
.sidebar-focus-container a,
.focus-upgrade-box a,
.focus-auth-card a,
.focus-dashboard-shell a,
.focus-login-alert a{
    text-decoration:none !important;
}

.focus-hidden-upload-form,
.focus-hidden-upload-form-inline{
    position:absolute !important;
    left:-9999px !important;
    width:1px !important;
    height:1px !important;
    overflow:hidden !important;
    opacity:0 !important;
}

.focus-overlay-form{
    margin:0 !important;
}

html,
body,
.elementor,
.elementor-section,
.elementor-container,
.e-con,
.e-con-inner{
    transform:none !important;
}

/* =========================================================
   LAYOUT / SIDEBAR FIXA
   ========================================================= */
.focus-layout{
    position:relative !important;
    width:100% !important;
    max-width:100% !important;
    min-height:100vh !important;
    box-sizing:border-box !important;
    overflow:visible !important;
}

.focus-sidebar{
    position:fixed !important;
    inset:0 auto 0 0 !important;
    width:var(--focus-sidebar-width) !important;
    min-width:var(--focus-sidebar-width) !important;
    max-width:var(--focus-sidebar-width) !important;
    height:100vh !important;
    min-height:100vh !important;
    max-height:100vh !important;
    box-sizing:border-box !important;
    z-index:999999 !important;
    overflow:hidden !important;
    background:var(--focus-sidebar-bg) !important;
    transition:transform .32s ease, opacity .22s ease !important;
    display:flex !important;
    flex-direction:column !important;
    padding:8px 10px !important;
}

.focus-sidebar > .e-con-inner,
.focus-sidebar > .elementor-widget-wrap,
.focus-sidebar > .elementor-container,
.focus-sidebar > .elementor-column-wrap{
    min-height:100% !important;
    height:100% !important;
    box-sizing:border-box !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:6px !important;
}

.focus-sidebar .elementor-widget,
.focus-sidebar .elementor-element{
    margin-bottom:0 !important;
}

.focus-sidebar .elementor-widget-wrap > .elementor-element,
.focus-sidebar .e-con-inner > .elementor-element,
.focus-sidebar .elementor-container > .elementor-element,
.focus-sidebar .elementor-column-wrap > .elementor-element{
    width:100% !important;
    flex:0 0 auto !important;
}

body.focus-sidebar-hidden .focus-sidebar{
    transform:translateX(-100%) !important;
    opacity:0 !important;
    pointer-events:none !important;
}

.focus-main-content{
    margin-left:var(--focus-sidebar-width) !important;
    width:auto !important;
    max-width:none !important;
    min-width:0 !important;
    box-sizing:border-box !important;
    transition:margin-left .32s ease !important;
}

body.focus-sidebar-hidden .focus-main-content{
    margin-left:0 !important;
}

/* alÃ§a */
.focus-sidebar-handle{
    position:fixed !important;
    top:50% !important;
    left:var(--focus-sidebar-width) !important;
    transform:translateY(-50%) !important;
    width:20px !important;
    height:80px !important;
    border-radius:0 12px 12px 0 !important;
    background:#2AB4FF !important;
    border:1px solid #2AB4FF !important;
    border-left:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    cursor:pointer !important;
    z-index:1000000 !important;
    box-shadow:0 14px 30px rgba(0,0,0,.38) !important;
    transition:left .32s ease, background .18s ease !important;
}

.focus-sidebar-handle:hover{
    background:linear-gradient(180deg, rgba(21,45,72,.98) 0%, rgba(10,23,39,.98) 100%) !important;
}

.focus-sidebar-handle:focus{
    outline:none !important;
}

.focus-sidebar-handle-icon{
    color:#d8e9f8 !important;
    font-size:16px !important;
    font-weight:800 !important;
    line-height:1 !important;
    transition:transform .22s ease !important;
    pointer-events:none !important;
}

.focus-sidebar-handle-text{
    position:absolute !important;
    left:calc(100% + 10px) !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    white-space:nowrap !important;
    padding:8px 12px !important;
    border-radius:10px !important;
    background:rgba(8,14,22,.98) !important;
    border:1px solid rgba(42,182,246,.45) !important;
    color:#fff !important;
    font-size:12px !important;
    font-weight:700 !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    transition:opacity .18s ease, visibility .18s ease !important;
}

.focus-sidebar-handle:hover .focus-sidebar-handle-text{
    opacity:1 !important;
    visibility:visible !important;
}

body.focus-sidebar-hidden .focus-sidebar-handle{
    left:0 !important;
}

body.focus-sidebar-hidden .focus-sidebar-handle-icon{
    transform:rotate(180deg) !important;
}

/* =========================================================
   AUTH
   ========================================================= */
.focus-auth-card{
    color:var(--fs-text) !important;
    font-family:Arial, Helvetica, sans-serif !important;
}

.focus-auth-form{
    display:block !important;
}

.focus-auth-intro{
    color:var(--fs-text) !important;
    font-size:15px !important;
    line-height:1.6 !important;
    margin:0 0 20px 0 !important;
}

.focus-auth-intro-center{
    text-align:center !important;
}

.focus-auth-field{
    margin-bottom:20px !important;
}

.focus-auth-field-last{
    margin-bottom:25px !important;
}

.focus-auth-label{
    display:block !important;
    color:var(--fs-text) !important;
    font-size:14px !important;
    margin-bottom:8px !important;
    font-weight:700 !important;
}

.focus-auth-input{
    width:100% !important;
    min-height:50px !important;
    padding:14px 20px !important;
    border:none !important;
    outline:none !important;
    border-radius:25px !important;
    background:#ffffff !important;
    color:#333333 !important;
    font-size:15px !important;
    box-shadow:0 10px 24px rgba(0,0,0,0.12) !important;
}

.focus-auth-input::placeholder{
    color:#7a8593 !important;
}

.focus-auth-primary-btn,
.focus-auth-secondary-btn{
    width:100% !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:50px !important;
    padding:14px 20px !important;
    border:none !important;
    border-radius:25px !important;
    cursor:pointer !important;
    font-weight:900 !important;
    font-size:16px !important;
    transition:transform var(--fs-transition), filter var(--fs-transition), box-shadow var(--fs-transition) !important;
}

.focus-auth-primary-btn{
    background:var(--fs-primary) !important;
    color:#ffffff !important;
    box-shadow:0 14px 24px rgba(42,182,246,0.20) !important;
}

.focus-auth-primary-btn-alt{
    background:var(--fs-primary-2) !important;
    color:#161616 !important;
    box-shadow:0 14px 24px rgba(139,124,248,0.20) !important;
}

.focus-auth-secondary-btn{
    max-width:280px !important;
    width:auto !important;
    background:var(--fs-primary-2) !important;
    color:#161616 !important;
    padding:14px 30px !important;
    margin:0 auto !important;
}

.focus-auth-secondary-btn-alt{
    background:var(--fs-primary-2) !important;
    color:#161616 !important;
}

.focus-auth-primary-btn:hover,
.focus-auth-secondary-btn:hover{
    transform:translateY(-1px) !important;
    filter:brightness(.98) !important;
}

.focus-auth-footer-link-wrap{
    text-align:center !important;
    margin-top:25px !important;
}

.focus-auth-footer-link{
    color:#aaaaaa !important;
    font-size:14px !important;
    text-decoration:none !important;
}

.focus-auth-footer-link:hover{
    color:#ffffff !important;
}

.focus-auth-alert{
    padding:15px !important;
    border-radius:8px !important;
    margin-bottom:20px !important;
    text-align:center !important;
    font-size:15px !important;
    line-height:1.45 !important;
    font-weight:800 !important;
}

.focus-auth-alert-error{
    background:rgba(220,53,69,0.12) !important;
    border:1px solid #dc3545 !important;
    color:#ff6b6b !important;
}

.focus-auth-inline-alert{
    font-family:Arial, Helvetica, sans-serif !important;
}

.focus-auth-success{
    padding:40px 30px !important;
    border-radius:12px !important;
    text-align:center !important;
    background:rgba(42,182,246,0.10) !important;
    border:1px solid var(--fs-primary) !important;
}

.focus-auth-success-alt{
    background:rgba(139,124,248,0.10) !important;
    border:1px solid var(--fs-primary-2) !important;
}

.focus-auth-success-title{
    margin:0 0 14px 0 !important;
    font-size:24px !important;
    font-weight:900 !important;
    color:var(--fs-primary) !important;
}

.focus-auth-success-alt .focus-auth-success-title{
    color:var(--fs-primary-2) !important;
}

.focus-auth-success-text{
    color:var(--fs-text) !important;
    font-size:16px !important;
    line-height:1.6 !important;
    margin:0 0 30px 0 !important;
}

/* =========================================================
   LOGIN ALERT
   ========================================================= */
.focus-login-alert{
    background:rgba(220,53,69,0.12) !important;
    border:1px solid #dc3545 !important;
    padding:14px 16px !important;
    border-radius:12px !important;
    margin:0 0 18px 0 !important;
    text-align:center !important;
}

.focus-login-alert-title{
    color:#ff6b6b !important;
    font-weight:900 !important;
    font-size:14px !important;
    margin-bottom:6px !important;
}

.focus-login-alert-text{
    color:#ffffff !important;
    font-weight:700 !important;
    font-size:13px !important;
    line-height:1.4 !important;
}

/* =========================================================
   HEADER DASHBOARD / CARD PERFIL
   ========================================================= */
.focus-header-card{
    width:100% !important;
    max-width:100% !important;
    position:relative !important;
    padding:12px !important;
    margin:0 !important;
    border-radius:var(--fs-radius-md) !important;
    border:1px solid var(--fs-border) !important;
    background:
        radial-gradient(130px 100px at 18% 16%, rgba(42,182,246,0.18) 0%, rgba(0,0,0,0) 65%),
        linear-gradient(135deg, rgba(11,15,20,0.82) 0%, rgba(12,19,30,0.80) 48%, rgba(7,10,16,0.88) 100%) !important;
    box-shadow:var(--fs-shadow) !important;
    backdrop-filter:blur(10px) !important;
    -webkit-backdrop-filter:blur(10px) !important;
    overflow:hidden !important;
    flex:0 0 auto !important;
}

.focus-header-card::before{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    border-radius:inherit !important;
    pointer-events:none !important;
    background:linear-gradient(180deg, rgba(255,255,255,0.05) 0%, rgba(255,255,255,0.00) 34%, rgba(0,0,0,0.16) 100%) !important;
}

.focus-header-top{
    position:relative !important;
    z-index:1 !important;
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    margin-bottom:8px !important;
}

.focus-header-logo-wrap{
    position:relative !important;
    width:96px !important;
    height:96px !important;
    flex:0 0 96px !important;
}

.focus-header-logo{
    position:relative !important;
    z-index:1 !important;
    width:96px !important;
    height:96px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    padding:0 !important;
    border:none !important;
    border-radius:16px !important;
    outline:none !important;
    appearance:none !important;
    -webkit-appearance:none !important;
    cursor:pointer !important;
    transition:transform var(--fs-transition), border-color var(--fs-transition), box-shadow var(--fs-transition), filter var(--fs-transition) !important;
    border:1px solid rgba(42,182,246,0.35) !important;
    background:
        radial-gradient(80px 80px at 30% 25%, rgba(42,182,246,0.25) 0%, rgba(0,0,0,0) 60%),
        linear-gradient(135deg, rgba(11,35,60,0.85) 0%, rgba(9,18,32,0.75) 100%) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.06),
        0 10px 26px rgba(0,0,0,0.26) !important;
}

.focus-header-logo:hover{
    transform:translateY(-1px) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.06),
        0 14px 32px rgba(0,0,0,0.34),
        0 0 0 1px rgba(42,182,246,0.18) !important;
    filter:brightness(1.02) !important;
}

.focus-header-logo img{
    width:100% !important;
    height:100% !important;
    display:block !important;
    object-fit:cover !important;
}

.focus-header-logo-ph{
    padding:0 10px !important;
    color:var(--fs-text) !important;
    font-weight:900 !important;
    font-size:11px !important;
    line-height:1.2 !important;
    text-transform:uppercase !important;
    letter-spacing:.08em !important;
    text-align:center !important;
    opacity:.92 !important;
}

.focus-logo-overlay{
    position:absolute !important;
    inset:0 !important;
    z-index:5 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-end !important;
    gap:6px !important;
    padding:8px !important;
    border-radius:16px !important;
    opacity:0 !important;
    pointer-events:none !important;
    background:rgba(0,0,0,0.56) !important;
    transition:opacity var(--fs-transition) !important;
}

.focus-header-logo-wrap.has-logo:hover .focus-logo-overlay{
    opacity:1 !important;
    pointer-events:auto !important;
}

.focus-logo-cta{
    width:100% !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:34px !important;
    padding:8px 8px !important;
    border:none !important;
    border-radius:12px !important;
    cursor:pointer !important;
    background:#ffffff !important;
    color:#000000 !important;
    font-weight:900 !important;
    font-size:11px !important;
    line-height:1 !important;
    letter-spacing:.05em !important;
    text-transform:uppercase !important;
    transition:transform var(--fs-transition), filter var(--fs-transition), box-shadow var(--fs-transition) !important;
    box-shadow:0 6px 18px rgba(0,0,0,0.18) !important;
}

.focus-logo-cta:hover{
    transform:translateY(-1px) !important;
    filter:brightness(.97) !important;
}

.focus-header-text{
    min-width:0 !important;
    flex:1 1 auto !important;
    padding-top:2px !important;
}

.focus-header-title{
    margin:0 !important;
    color:var(--fs-text) !important;
    font-size:12px !important;
    font-weight:900 !important;
    line-height:1.15 !important;
    word-break:break-word !important;
}

.focus-header-meta{
    margin-top:6px !important;
    color:var(--fs-text-3) !important;
    font-size:12px !important;
    font-weight:700 !important;
    line-height:1.35 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:8px !important;
}

.focus-header-meta strong{
    color:var(--fs-text) !important;
    font-weight:900 !important;
}

.focus-header-company-line{
    font-size:12px !important;
    line-height:1.35 !important;
    color:#dfe7f2 !important;
}

.focus-header-company-line strong{
    color:#ffffff !important;
    font-weight:800 !important;
}

.focus-header-actions{
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    flex-wrap:wrap !important;
}

.focus-header-action{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:14px !important;
    padding:0 14px !important;
    border-radius:999px !important;
    font-size:12px !important;
    color: #dfe7f2 !important;
    font-weight:800 !important;
    line-height:1 !important;
    transition:all .18s ease !important;
    border:1px solid transparent !important;
    box-shadow:0 8px 22px rgba(0,0,0,.22) !important;
    text-decoration: underline !important;
}

.focus-header-action-profile,
.focus-header-action-logout{
    background:transparent !important;
    color:#dfe7f2 !important;
    border:none !important;
    box-shadow:none !important;
    padding:0 !important;
    min-height:auto !important;
    text-decoration: underline !important;

}

.focus-header-action-profile:hover,
.focus-header-action-logout:hover{
    opacity:.92 !important;
    transform:translateY(-1px) !important;
    color:#ffffff !important;
}

.focus-sub-line{
    position:relative !important;
    z-index:1 !important;
    margin-top:8px !important;
    padding-top:8px !important;
    border-top:1px solid rgba(255,255,255,0.10) !important;
    color:var(--fs-text-3) !important;
    font-size:12px !important;
    line-height:1.25 !important;
}

.focus-sub-line strong{
    color:var(--fs-text) !important;
    font-weight:900 !important;
}

/* =========================================================
   HEADER COMPACTO RECOLHÍVEL - STRIPE LIKE
   ========================================================= */
.focus-header-card-collapsible{
    padding:0 !important;
    overflow:hidden !important;
}

.focus-header-summary{
    width:100% !important;
    min-height:72px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
    padding:12px 14px !important;
    margin:0 !important;
    background:transparent !important;
    border:0 !important;
    outline:none !important;
    box-shadow:none !important;
    cursor:pointer !important;
    text-align:left !important;
    appearance:none !important;
    -webkit-appearance:none !important;
}

.focus-header-summary:hover{
    background:rgba(255,255,255,0.02) !important;
}

.focus-header-summary:focus{
    outline:none !important;
    box-shadow:none !important;
}

.focus-header-summary-main{
    min-width:0 !important;
    flex:1 1 auto !important;
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
}

.focus-header-summary-logo{
    width:44px !important;
    height:44px !important;
    min-width:44px !important;
    flex:0 0 44px !important;
    border-radius:12px !important;
    overflow:hidden !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border:1px solid rgba(42,182,246,0.25) !important;
    background:
        radial-gradient(60px 60px at 30% 25%, rgba(42,182,246,0.16) 0%, rgba(0,0,0,0) 60%),
        linear-gradient(135deg, rgba(11,35,60,0.70) 0%, rgba(9,18,32,0.76) 100%) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.05),
        0 8px 20px rgba(0,0,0,0.22) !important;
}

.focus-header-summary-logo img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    display:block !important;
}

.focus-header-summary-logo-ph{
    color:#dce6f2 !important;
    font-size:10px !important;
    font-weight:800 !important;
    line-height:1 !important;
    text-transform:uppercase !important;
    letter-spacing:.06em !important;
}

.focus-header-summary-text{
    min-width:0 !important;
    flex:1 1 auto !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    gap:2px !important;
}

.focus-header-summary-title{
    display:block !important;
    color:#ffffff !important;
    font-size:14px !important;
    font-weight:900 !important;
    line-height:1.15 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
}

.focus-header-summary-subtitle{
    display:block !important;
    color:#c3d3e5 !important;
    font-size:12px !important;
    font-weight:700 !important;
    line-height:1.2 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
}

.focus-header-summary-arrow{
    width:22px !important;
    height:22px !important;
    min-width:22px !important;
    flex:0 0 22px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    color:#d8e7f7 !important;
    opacity:.9 !important;
    transform:rotate(0deg) !important;
    transition:transform .28s ease, opacity .18s ease !important;
}

.focus-header-summary-arrow svg{
    width:18px !important;
    height:18px !important;
    display:block !important;
}

.focus-header-summary:hover .focus-header-summary-arrow{
    opacity:1 !important;
}

.focus-header-panel{
    display:grid !important;
    grid-template-rows:0fr !important;
    opacity:0 !important;
    transform:translateY(-8px) !important;
    transition:
        grid-template-rows .34s cubic-bezier(.2,.8,.2,1),
        opacity .22s ease,
        transform .28s ease,
        border-top-color .22s ease !important;
    border-top:1px solid rgba(255,255,255,0) !important;
}

.focus-header-panel-inner{
    min-height:0 !important;
    overflow:hidden !important;
}

.focus-header-card-collapsible.is-open .focus-header-panel{
    grid-template-rows:1fr !important;
    opacity:1 !important;
    transform:translateY(0) !important;
    border-top:1px solid rgba(255,255,255,0.08) !important;
}

.focus-header-card-collapsible.is-open .focus-header-summary-arrow{
    transform:rotate(180deg) !important;
}

.focus-header-card-collapsible .focus-header-top{
    padding:12px 12px 8px 12px !important;
    margin-bottom:0 !important;
}

.focus-header-card-collapsible .focus-sub-line{
    margin-top:0 !important;
    padding:8px 12px 12px 12px !important;
    border-top:1px solid rgba(255,255,255,0.10) !important;
}

.focus-header-card-collapsible .focus-msg{
    margin:10px 12px 0 12px !important;
}

@media (max-width: 480px){
    .focus-header-summary{
        min-height:66px !important;
        padding:10px 12px !important;
    }

    .focus-header-summary-logo{
        width:40px !important;
        height:40px !important;
        min-width:40px !important;
        flex:0 0 40px !important;
    }

    .focus-header-summary-title{
        font-size:13px !important;
    }

    .focus-header-summary-subtitle{
        font-size:11px !important;
    }
}

/* =========================================================
   MENSAGENS / ALERTAS
   ========================================================= */
.focus-msg{
    margin-bottom:16px !important;
    padding:12px 14px !important;
    border-radius:10px !important;
    font-weight:800 !important;
    font-size:13px !important;
    line-height:1.4 !important;
    box-shadow:0 10px 24px rgba(0,0,0,0.18) !important;
}

.focus-msg-erro{
    background:var(--fs-danger-soft) !important;
    border:1px solid var(--fs-danger-2) !important;
    color:var(--fs-danger) !important;
}

.focus-msg-ok{
    background:var(--fs-success-soft) !important;
    border:1px solid var(--fs-success) !important;
    color:#aee9ff !important;
}

/* =========================================================
   UPLOAD DE LOGO
   ========================================================= */
.focus-logo-wrap{
    width:100% !important;
    color:var(--fs-text) !important;
}

.focus-logo-title{
    margin:0 0 12px 0 !important;
    color:var(--fs-text) !important;
    font-weight:800 !important;
    font-size:14px !important;
    line-height:1.3 !important;
}

.focus-logo-box{
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    cursor:pointer !important;
    flex-shrink:0 !important;
    border-radius:18px !important;
    border:2px dashed rgba(255,255,255,0.16) !important;
    background:
        radial-gradient(120px 120px at 24% 18%, rgba(42,182,246,0.12) 0%, rgba(0,0,0,0) 60%),
        linear-gradient(135deg, rgba(15,20,28,0.94) 0%, rgba(10,14,20,0.98) 100%) !important;
    transition:border-color var(--fs-transition), box-shadow var(--fs-transition), transform var(--fs-transition) !important;
    box-shadow:var(--fs-shadow) !important;
}

.focus-logo-box:hover{
    border-color:rgba(42,182,246,0.48) !important;
    transform:translateY(-1px) !important;
    box-shadow:
        0 20px 40px rgba(0,0,0,0.35),
        0 0 0 1px rgba(42,182,246,0.12) !important;
}

.focus-logo-box img{
    width:100% !important;
    height:100% !important;
    display:block !important;
    object-fit:cover !important;
}

.focus-logo-text{
    padding:0 14px !important;
    color:var(--fs-text-3) !important;
    font-size:12px !important;
    font-weight:900 !important;
    line-height:1.2 !important;
    text-transform:uppercase !important;
    text-align:center !important;
    letter-spacing:.06em !important;
}

.focus-logo-box .focus-logo-overlay{
    position:absolute !important;
    inset:0 !important;
    z-index:2 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    opacity:0 !important;
    pointer-events:none !important;
    border-radius:inherit !important;
    background:rgba(18,18,18,0.82) !important;
    color:var(--fs-primary) !important;
    font-size:12px !important;
    font-weight:900 !important;
    transition:opacity var(--fs-transition) !important;
}

.focus-logo-box:hover .focus-logo-overlay{
    opacity:1 !important;
}

.focus-logo-form{
    position:absolute !important;
    inset:0 !important;
    z-index:3 !important;
    margin:0 !important;
}

.focus-logo-input{
    position:absolute !important;
    inset:0 !important;
    opacity:0 !important;
    cursor:pointer !important;
}

.focus-logo-hint{
    margin-top:10px !important;
    color:#8f9aaa !important;
    font-size:12px !important;
    line-height:1.4 !important;
}

/* =========================================================
   ASSINATURA
   ========================================================= */
.focus-assinatura-row1{
    margin-top:6px !important;
    display:flex !important;
    align-items:center !important;
    flex-wrap:wrap !important;
    gap:8px !important;
    justify-content:center !important;
}

.focus-assinatura-label{
    color:#ffffff !important;
    font-size:12px !important;
}

.focus-assinatura-admin{
    color:var(--fs-primary-2) !important;
    font-weight:900 !important;
    margin-left:4px !important;
}

.focus-assinatura-pro{
    color:var(--fs-primary) !important;
    font-weight:900 !important;
    margin-left:4px !important;
}

.focus-assinatura-pendente{
    color:var(--fs-danger) !important;
    font-weight:900 !important;
    margin-left:4px !important;
}

.focus-assinatura-validade{
    font-size:11px !important;
    color:var(--fs-text-3) !important;
    margin-top:4px !important;
}

.focus-assinatura-validade strong{
    color:#ffffff !important;
    font-weight:900 !important;
}

.focus-assinatura-validade-inline{
    color:#ffffff !important;
    font-weight:700 !important;
}

.focus-assinatura-cta-wrap{
    margin-top:8px !important;
}

.focus-assinatura-cta{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:var(--fs-primary) !important;
    color:#071018 !important;
    font-weight:900 !important;
    padding:6px 10px !important;
    border-radius:999px !important;
    font-size:11px !important;
    line-height:1 !important;
}

.focus-assinatura-row2{
    margin-top:4px !important;
}

.focus-assinatura-link{
    display:flex !important;
    align-items:center !important;
    text-decoration:underline !important;
    font-weight:900 !important;
    white-space:nowrap !important;
    transition:opacity var(--fs-transition), transform var(--fs-transition) !important;
    text-transform:uppercase !important;
    font-size:10px !important;
    color:#dfe7f2 !important;
    justify-content:center !important;

}

.focus-assinatura-link:hover{
    opacity:.92 !important;
    transform:translateY(-1px) !important;
    color:#ffffff !important;

}

/* =========================================================
   FAIXAS DE PLANO
   ========================================================= */
.focus-lic-banner{
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
    margin:0 0 14px 0 !important;
    padding:14px 16px !important;
    border-radius:14px !important;
    border:1px solid rgba(255,255,255,0.18) !important;
    background:
        radial-gradient(700px 220px at 15% 30%, rgba(42,182,246,0.20) 0%, rgba(0,0,0,0) 62%),
        linear-gradient(135deg, rgba(10,10,10,0.85) 0%, rgba(10,18,32,0.88) 55%, rgba(6,8,14,0.92) 100%) !important;
    box-shadow:var(--fs-shadow) !important;
    overflow:hidden !important;
}

.focus-lic-banner::before{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    border-radius:inherit !important;
    pointer-events:none !important;
    background:linear-gradient(180deg, rgba(255,255,255,0.04) 0%, rgba(255,255,255,0) 38%, rgba(0,0,0,0.12) 100%) !important;
}

.focus-lic-left{
    position:relative !important;
    z-index:1 !important;
    min-width:0 !important;
}

.focus-lic-title{
    margin:0 !important;
    color:var(--fs-text) !important;
    font-weight:900 !important;
    font-size:13px !important;
    line-height:1.2 !important;
}

.focus-lic-sub{
    margin:6px 0 0 0 !important;
    color:var(--fs-text-3) !important;
    font-weight:700 !important;
    font-size:12px !important;
    line-height:1.35 !important;
}

.focus-lic-sub strong{
    color:var(--fs-text) !important;
    font-weight:900 !important;
}

.focus-lic-cta{
    position:relative !important;
    z-index:1 !important;
    flex:0 0 auto !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:40px !important;
    padding:10px 14px !important;
    border:1px solid rgba(255,255,255,0.10) !important;
    border-radius:999px !important;
    white-space:nowrap !important;
    background:var(--fs-primary) !important;
    color:#071018 !important;
    font-weight:900 !important;
    font-size:12px !important;
    line-height:1 !important;
    box-shadow:0 14px 26px rgba(42,182,246,0.18) !important;
    transition:transform var(--fs-transition), filter var(--fs-transition), box-shadow var(--fs-transition) !important;
}

.focus-lic-cta:hover{
    transform:translateY(-1px) !important;
    filter:brightness(.97) !important;
}

.focus-lic-urg{
    position:relative !important;
    display:none !important;
    align-items:flex-start !important;
    justify-content:space-between !important;
    gap:12px !important;
    margin:0 0 14px 0 !important;
    padding:14px 16px !important;
    border-radius:14px !important;
    border:1px solid rgba(255,107,107,0.35) !important;
    background:
        radial-gradient(700px 220px at 15% 30%, rgba(255,107,107,0.22) 0%, rgba(0,0,0,0) 62%),
        linear-gradient(135deg, rgba(10,10,10,0.86) 0%, rgba(18,10,12,0.88) 55%, rgba(6,8,14,0.92) 100%) !important;
    box-shadow:var(--fs-shadow) !important;
    overflow:hidden !important;
}

.focus-lic-urg::before{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    border-radius:inherit !important;
    pointer-events:none !important;
    background:linear-gradient(180deg, rgba(255,255,255,0.04) 0%, rgba(255,255,255,0.00) 35%, rgba(0,0,0,0.12) 100%) !important;
}

.focus-lic-urg .left,
.focus-lic-urg .right{
    position:relative !important;
    z-index:1 !important;
}

.focus-lic-urg .left{
    min-width:0 !important;
}

.focus-lic-urg .title{
    margin:0 !important;
    color:var(--fs-text) !important;
    font-weight:900 !important;
    font-size:13px !important;
    line-height:1.2 !important;
}

.focus-lic-urg .sub{
    margin:6px 0 0 0 !important;
    color:#ffd1d1 !important;
    font-weight:800 !important;
    font-size:12px !important;
    line-height:1.35 !important;
}

.focus-lic-urg .meta{
    margin:6px 0 0 0 !important;
    color:var(--fs-text-3) !important;
    font-weight:700 !important;
    font-size:11.5px !important;
    line-height:1.35 !important;
}

.focus-lic-urg .meta strong,
.focus-lic-urg .title strong,
.focus-lic-urg .sub strong{
    color:var(--fs-text) !important;
    font-weight:900 !important;
}

.focus-lic-urg .right{
    flex:0 0 auto !important;
    display:flex !important;
    gap:10px !important;
    align-items:center !important;
}

.focus-lic-urg .cta{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:40px !important;
    padding:10px 14px !important;
    border:1px solid rgba(255,255,255,0.10) !important;
    border-radius:999px !important;
    white-space:nowrap !important;
    background:var(--fs-danger) !important;
    color:#071018 !important;
    font-weight:900 !important;
    font-size:12px !important;
    line-height:1 !important;
    box-shadow:0 14px 26px rgba(255,107,107,0.18) !important;
    transition:transform var(--fs-transition), filter var(--fs-transition) !important;
}

.focus-lic-urg .cta:hover{
    transform:translateY(-1px) !important;
    filter:brightness(.97) !important;
}

.focus-lic-urg .close{
    width:34px !important;
    height:34px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:0 !important;
    border-radius:10px !important;
    border:1px solid rgba(255,255,255,0.14) !important;
    background:rgba(255,255,255,0.06) !important;
    color:var(--fs-text) !important;
    font-weight:900 !important;
    font-size:14px !important;
    line-height:1 !important;
    cursor:pointer !important;
    transition:background var(--fs-transition), transform var(--fs-transition) !important;
}

.focus-lic-urg .close:hover{
    background:rgba(255,255,255,0.10) !important;
    transform:translateY(-1px) !important;
}

/* =========================================================
   SIDEBAR
   ========================================================= */
.sidebar-focus-container{
    display:flex !important;
    flex-direction:column !important;
    gap:8px !important;
    width:100% !important;
    min-height:0 !important;
    flex:1 1 auto !important;
    overflow:hidden !important;
}

.sidebar-focus-container > *{
    flex:0 0 auto !important;
}

.btn-sidebar-focus{
    position:relative !important;
    overflow:hidden !important;
    display:block !important;
    padding:10px 14px !important;
    min-height:40px !important;
    border-radius:10px !important;
    border:1px solid transparent !important;
    background:linear-gradient(135deg, rgba(255,255,255,0.015) 0%, rgba(255,255,255,0.03) 100%) !important;
    color:var(--fs-text) !important;
    font-weight:700 !important;
    font-size:14px !important;
    line-height:1.2 !important;
    transition:
        background var(--fs-transition),
        color var(--fs-transition),
        border-color var(--fs-transition),
        transform var(--fs-transition),
        box-shadow var(--fs-transition) !important;
}

.btn-sidebar-focus:hover:not(.locked){
    background:rgba(42,182,246,0.08) !important;
    color:var(--fs-primary) !important;
    border-color:rgba(42,182,246,0.20) !important;
    transform:translateY(-1px) !important;
    box-shadow:0 10px 24px rgba(0,0,0,0.18) !important;
}

/* base obrigatória */
.btn-sidebar-focus{
    position: relative !important;
}

/* estado bloqueado */
.btn-sidebar-focus.locked{
    opacity:.6 !important;
    cursor:not-allowed !important;
}

/* 🔥 camada que BLOQUEIA o clique */
.btn-sidebar-focus.locked::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:3;
    cursor:not-allowed;
}

/* 🔥 mensagem overlay padrão */
.btn-sidebar-focus.locked::before{
    content:"🔒 Exclusivo Para Assinantes";
    position:absolute;
    inset:0;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:10px 12px;
    border:1px solid #333;
    border-radius:8px;
    background:#121212;
    color:var(--fs-primary);
    font-size:12px;
    font-weight:800;
    line-height:1.35;
    text-align:center;
    opacity:0;
    transition:opacity .25s ease;
}

/* mensagem específica para upgrade de plano cruzado */
.btn-sidebar-focus.locked.locked-lojistapro::before{
    content:"🔒 Contrate o Plano LojistaPRO e tenha acesso a todas as ferramentas.";
}

/* hover mostra mensagem */
.btn-sidebar-focus.locked:hover::before{
    opacity:1;
}

.sidebar-focus-group{
    display:flex !important;
    flex-direction:column !important;
    gap:5px !important;
    margin-top:auto !important;
    padding-top:10px !important;
    border-top:1px solid rgba(255,255,255,0.10) !important;
}

.sidebar-group-title{
    margin:0 0 6px 6px !important;
    color:#8d98a9 !important;
    font-size:11px !important;
    font-weight:900 !important;
    letter-spacing:1.5px !important;
    text-transform:uppercase !important;
    line-height:1.2 !important;
}

.sidebar-focus-group .btn-sidebar-focus{
    padding:10px 14px !important;
    min-height:42px !important;
    font-size:13px !important;
}

/* =========================================================
   BOTÃ•ES / CHIPS
   ========================================================= */
.focus-chip-btn{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:40px !important;
    padding:10px 14px !important;
    border-radius:999px !important;
    font-weight:900 !important;
    text-decoration:none !important;
    transition:transform var(--fs-transition), filter var(--fs-transition), box-shadow var(--fs-transition) !important;
}

.focus-chip-btn:hover{
    transform:translateY(-1px) !important;
    filter:brightness(.98) !important;
}

.focus-chip-btn-primary{
    background:var(--fs-primary) !important;
    color:#071018 !important;
}

.focus-chip-btn-secondary{
    background:rgba(255,255,255,0.08) !important;
    border:1px solid rgba(255,255,255,0.22) !important;
    color:#ffffff !important;
}
.focus-sidebar-mini-title{
    margin:1px 0 2px 2px !important;
    color:#aeb9c8 !important;
    font-family:'Montserrat', Arial, Helvetica, sans-serif !important;
    font-size:11px !important;
    font-weight:800 !important;
    text-transform:uppercase !important;
    font-style:normal !important;
    text-decoration:none !important;
    line-height:1.2 !important;
    letter-spacing:1.5px !important;
    word-spacing:0 !important;
}

.focus-sidebar-mini-title-features{
    margin-top:8px !important;
    margin-bottom:2px !important;
}

/* =========================================================
   CONTEXT SWITCH - SEGMENTED CONTROL
   ========================================================= */
.focus-context-switch{
    --switch-gap:6px;
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    gap:var(--switch-gap) !important;
    width:100% !important;
    padding:6px !important;
    border-radius:999px !important;
    border:1px solid rgba(42,182,246,0.38) !important;
    background:linear-gradient(180deg, rgba(18,49,83,.95) 0%, rgba(11,36,63,.92) 100%) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.05),
        0 10px 28px rgba(0,0,0,.24) !important;
    overflow:hidden !important;
}

.focus-context-switch-indicator{
    position:absolute !important;
    top:6px !important;
    bottom:6px !important;
    left:6px !important;
    width:calc(50% - 9px) !important;
    border-radius:999px !important;
    background:#f4f4f4 !important;
    box-shadow:
        0 8px 18px rgba(0,0,0,.16),
        inset 0 1px 0 rgba(255,255,255,.85) !important;
    transition:transform .28s ease !important;
    z-index:1 !important;
}

.focus-context-switch.is-internal .focus-context-switch-indicator{
    transform:translateX(calc(100% + 6px)) !important;
}

.focus-context-switch-option{
    position:relative !important;
    z-index:2 !important;
    flex:1 1 0 !important;
    min-width:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    text-decoration:none !important;
    white-space:nowrap !important;
    border-radius:999px !important;
    font-weight:900 !important;
    transition:color .22s ease, opacity .22s ease !important;
}

.focus-context-switch-option.is-active{
    color:#0a0f18 !important;
}

.focus-context-switch-option:not(.is-active){
    color:#ffffff !important;
}

/* versÃ£o sidebar */
.sidebar-focus-container .focus-context-switch{
    margin:0 0 6px 0 !important;
    min-height:48px !important;
}

.sidebar-focus-container .focus-context-switch-option{
    min-height:40px !important;
    padding:8px 8px !important;
    font-size:11px !important;
    letter-spacing:0 !important;
}

/* versÃ£o conteÃºdo */
.focus-dashboard-shell .focus-context-switch{
    max-width:420px !important;
    margin:0 0 18px 0 !important;
    min-height:62px !important;
}

.focus-dashboard-shell .focus-context-switch-option{
    min-height:48px !important;
    padding:12px 16px !important;
    font-size:15px !important;
}

/* =========================================================
   SHELL DO CONTEÚDO
   ========================================================= */
.focus-dashboard-shell{
    position:relative !important;
    min-height:520px !important;
    padding:30px !important;
    border-radius:16px !important;
    border:1px solid rgba(255,255,255,0.22) !important;
    color:#fff !important;
    background:
        radial-gradient(900px 420px at 70% 10%, rgba(42,182,246,0.18) 0%, rgba(0,0,0,0) 60%),
        radial-gradient(700px 380px at 15% 85%, rgba(139,124,248,0.14) 0%, rgba(0,0,0,0) 60%),
        linear-gradient(135deg, #0a0a0a 0%, #0a1220 45%, #06080e 100%) !important;
    box-shadow:
        0 22px 70px rgba(0,0,0,0.60),
        0 0 0 1px rgba(255,255,255,0.10),
        0 0 26px rgba(255,255,255,0.10),
        0 0 42px rgba(42,182,246,0.10),
        inset 0 1px 0 rgba(255,255,255,0.06) !important;
    overflow:hidden !important;
}

.focus-dashboard-shell::before{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    border-radius:16px !important;
    pointer-events:none !important;
    background:linear-gradient(180deg, rgba(255,255,255,0.05) 0%, rgba(255,255,255,0.00) 34%, rgba(0,0,0,0.18) 100%) !important;
}

.focus-dashboard-shell-inner{
    position:relative !important;
    z-index:1 !important;
}

#focus-content{
    transition: opacity .18s ease, transform .18s ease;
}

#focus-content.is-loading{
    opacity: .42;
    transform: translateY(6px);
}

.focus-skeleton{
    display: grid;
    gap: 12px;
}

.focus-skeleton-box{
    height: 84px;
    border-radius: 14px;
    background: linear-gradient(
        90deg,
        rgba(255,255,255,.04) 20%,
        rgba(255,255,255,.08) 38%,
        rgba(255,255,255,.04) 56%
    );
    background-size: 300% 100%;
    animation: focusShimmer 1.15s linear infinite;
}

@keyframes focusShimmer{
    0%{ background-position: 100% 0; }
    100%{ background-position: -100% 0; }
}

/* =========================
   PJAX TRANSITIONS
========================= */

#focus-content{
    transition: opacity .18s ease, transform .18s ease;
}

#focus-content.is-loading{
    opacity: 0.35;
    transform: translateY(6px);
}

/* =========================
   SKELETON LOADER
========================= */

.focus-skeleton{
    display: grid;
    gap: 12px;
}

.focus-skeleton-box{
    height: 80px;
    border-radius: 12px;
    background: linear-gradient(
        90deg,
        rgba(255,255,255,0.04) 25%,
        rgba(255,255,255,0.08) 37%,
        rgba(255,255,255,0.04) 63%
    );
    background-size: 400% 100%;
    animation: focusShimmer 1.2s infinite;
}

@keyframes focusShimmer{
    0%{ background-position: 100% 0 }
    100%{ background-position: -100% 0 }
}

.focus-dashboard-back{
    display:inline-block !important;
    margin-bottom:22px !important;
    color:#d0d5dd !important;
    font-size:13.5px !important;
    font-weight:900 !important;
    text-decoration:none !important;
    transition:color var(--fs-transition), transform var(--fs-transition) !important;
}

.focus-dashboard-back:hover{
    color:var(--fs-primary) !important;
    transform:translateY(-1px) !important;
}

.focus-feature-title{
    margin:0 0 10px 0 !important;
    color:var(--fs-primary) !important;
    font-size:22px !important;
    font-weight:900 !important;
    line-height:1.2 !important;
}

.focus-feature-subtitle{
    margin:0 0 22px 0 !important;
    color:#c7ced8 !important;
    font-size:15px !important;
    line-height:1.55 !important;
    font-weight:600 !important;
}

.focus-feature-actions{
    margin-top:16px !important;
    padding-top:16px !important;
    border-top:1px solid rgba(255,255,255,0.10) !important;
    display:flex !important;
    gap:10px !important;
    flex-wrap:wrap !important;
}

/* =========================================================
   UPGRADE BOX
   ========================================================= */
.focus-upgrade-box{
    max-width:450px !important;
    margin:0 auto !important;
    padding:40px 20px !important;
    border-radius:16px !important;
    border:1px solid rgba(255,255,255,0.12) !important;
    border-top:4px solid var(--fs-primary) !important;
    text-align:center !important;
    background:
        radial-gradient(420px 180px at 18% 14%, rgba(42,182,246,0.12) 0%, rgba(0,0,0,0) 62%),
        linear-gradient(135deg, rgba(12,16,22,0.98) 0%, rgba(7,10,16,0.98) 100%) !important;
    box-shadow:var(--fs-shadow-strong) !important;
}

.focus-upgrade-box h4{
    margin:0 0 10px 0 !important;
    color:var(--fs-text) !important;
    font-size:22px !important;
    font-weight:900 !important;
    line-height:1.2 !important;
}

.focus-upgrade-box p{
    margin:0 0 30px 0 !important;
    color:#9aa9b9 !important;
    font-size:15px !important;
    line-height:1.55 !important;
    font-weight:600 !important;
}

.focus-upgrade-qr{
    margin-bottom:25px !important;
}

.focus-upgrade-btn-wrap{
    max-width:280px !important;
    margin:0 auto !important;
}

/* =========================================================
   SIDEBAR AUTO-FIT 100VH
   ========================================================= */
.focus-sidebar .focus-header-card{
    flex:0 0 auto !important;
}

.focus-sidebar .sidebar-focus-container{
    flex:1 1 auto !important;
    min-height:0 !important;
    overflow:hidden !important;
}

.focus-sidebar .sidebar-focus-container{
    flex:1 1 auto !important;
    min-height:0 !important;
    height:100% !important;
    display:flex !important;
    flex-direction:column !important;
    overflow:hidden !important;
    gap:8px !important;
}

.sidebar-focus-top{
    flex:0 0 auto !important;
    display:flex !important;
    flex-direction:column !important;
    gap:4px !important;
}

.sidebar-focus-tools{
    flex:1 1 auto !important;
    min-height:0 !important;
    display:flex !important;
    flex-direction:column !important;
    gap:6px !important;
    overflow:hidden !important;
}

.focus-sidebar .sidebar-focus-container .sidebar-focus-group:last-child{
    margin-top:auto !important;
    flex:0 0 auto !important;
}

.focus-sidebar .sidebar-focus-container .sidebar-focus-group:last-child{
    margin-top:auto !important;
}

/* =========================================================
   RESPONSIVO
   ========================================================= */
@media (max-width:1024px){
    :root{
        --focus-sidebar-width:250px;
    }

    /* 🔥 SIDEBAR vira overlay */
    .focus-sidebar{
        transform: translateX(0) !important;
        transition:
            transform .12s ease-out,
            opacity .10s linear !important;
        will-change: transform, opacity !important;
    }

    body.focus-sidebar-hidden .focus-sidebar{
        transform: translateX(-100%) !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }

    html.focus-sidebar-prehidden .focus-sidebar{
        transform: translateX(-100%) !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }

    /* 🔥 CONTEÚDO NÃO É MAIS EMPURRADO */
    .focus-main-content{
        margin-left: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        transition: none !important;
    }

    body.focus-sidebar-hidden .focus-main-content{
        margin-left: 0 !important;
    }

    html.focus-sidebar-prehidden .focus-main-content{
        margin-left: 0 !important;
    }

    /* 🔥 HANDLE MAIS RÁPIDO */
    .focus-sidebar-handle{
        left:var(--focus-sidebar-width) !important;
        height:110px !important;
        width:28px !important;

        transition:
            left .12s ease-out,
            background .12s ease-out,
            border-color .12s ease-out,
            box-shadow .12s ease-out !important;
    }

    body.focus-sidebar-hidden .focus-sidebar-handle{
        left:0 !important;
    }

    html.focus-sidebar-prehidden .focus-sidebar-handle{
        left:0 !important;
    }
    .focus-sidebar-mini-title{
        margin:1px 0 2px 2px !important;
        color:#aeb9c8 !important;
        font-family:'Montserrat', Arial, Helvetica, sans-serif !important;
        font-size:10px !important;
        font-weight:800 !important;
        text-transform:uppercase !important;
        font-style:normal !important;
        text-decoration:none !important;
        line-height:1.2 !important;
        letter-spacing:1.5px !important;
        word-spacing:0 !important;
    }
    
    .focus-sidebar-mini-title-features{
        margin-top:8px !important;
        margin-bottom:2px !important;
    }
}
/* =========================================================
   MOBILE OVERLAY / BACKDROP SIDEBAR
   ========================================================= */
.focus-sidebar-backdrop{
    position:fixed !important;
    inset:0 !important;
    z-index:999998 !important;
    background:rgba(5,10,18,0.38) !important;
    backdrop-filter:blur(6px) !important;
    -webkit-backdrop-filter:blur(6px) !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    transition:
        opacity .12s ease-out,
        visibility .12s ease-out !important;
}

@media (max-width:1024px){
    body:not(.focus-sidebar-hidden) .focus-sidebar-backdrop{
        opacity:1 !important;
        visibility:visible !important;
        pointer-events:auto !important;
    }

    html.focus-sidebar-prehidden .focus-sidebar-backdrop{
        opacity:0 !important;
        visibility:hidden !important;
        pointer-events:none !important;
    }

    .focus-sidebar{
        z-index:999999 !important;
        transition:
            transform .12s ease-out,
            opacity .10s linear !important;
        will-change:transform, opacity !important;
    }

    .focus-main-content{
        margin-left:0 !important;
        width:100% !important;
        max-width:100% !important;
        transition:none !important;
    }

    body.focus-sidebar-hidden .focus-main-content{
        margin-left:0 !important;
    }

    html.focus-sidebar-prehidden .focus-main-content{
        margin-left:0 !important;
    }

    .focus-sidebar-handle{
        left:var(--focus-sidebar-width) !important;
        width:28px !important;
        height:110px !important;
        transition:
            left .12s ease-out,
            background .12s ease-out,
            border-color .12s ease-out,
            box-shadow .12s ease-out !important;
        will-change:left !important;
    }

    body.focus-sidebar-hidden .focus-sidebar-handle{
        left:0 !important;
    }

    html.focus-sidebar-prehidden .focus-sidebar-handle{
        left:0 !important;
    }
}

@media (max-width:991px){
    .focus-lic-banner,
    .focus-lic-urg{
        flex-direction:column !important;
        align-items:flex-start !important;
    }

    .focus-lic-urg .right{
        width:100% !important;
        justify-content:flex-start !important;
    }
}

@media (max-width:768px){
    .focus-header-card{
        max-width:100% !important;
    }

    .focus-header-top{
        align-items:center !important;
    }

    .focus-header-logo-wrap{
        width:88px !important;
        height:88px !important;
        flex:0 0 88px !important;
    }

    .focus-header-logo{
        width:88px !important;
        height:88px !important;
    }

    .btn-sidebar-focus{
        padding:11px 14px !important;
        font-size:13px !important;
    }

    .focus-lic-cta,
    .focus-lic-urg .cta{
        width:100% !important;
    }

    .focus-dashboard-shell{
        padding:22px !important;
        min-height:unset !important;
    }

    .focus-feature-title{
        font-size:20px !important;
    }
}

@media (max-width:520px){
    .focus-header-top{
        gap:9px !important;
    }

    .focus-header-title{
        font-size:12px !important;
    }

    .focus-header-meta{
        font-size:11.5px !important;
    }

    .focus-sub-line{
        font-size:11.5px !important;
    }

    .focus-logo-title{
        font-size:13px !important;
    }

    .focus-lic-title,
    .focus-lic-urg .title{
        font-size:12.5px !important;
    }

    .focus-lic-sub,
    .focus-lic-urg .sub{
        font-size:11.5px !important;
    }

    .focus-dashboard-shell{
        padding:18px !important;
        border-radius:14px !important;
    }

    .focus-feature-subtitle{
        font-size:14px !important;
    }

    .sidebar-focus-container .focus-context-switch{
        min-height:50px !important;
    }

    .sidebar-focus-container .focus-context-switch-option{
        min-height:38px !important;
        font-size:10px !important;
        padding:8px 6px !important;
    }

    .focus-dashboard-shell .focus-context-switch{
        max-width:100% !important;
        min-height:56px !important;
    }

    .focus-dashboard-shell .focus-context-switch-option{
        min-height:42px !important;
        font-size:13px !important;
        padding:10px 10px !important;
    }

    .focus-feature-actions{
        flex-direction:column !important;
    }

    .focus-chip-btn{
        width:100% !important;
    }
}

@media (max-height:900px){
    .focus-sidebar{
        padding-top:6px !important;
        padding-bottom:6px !important;
    }

    .focus-sidebar .focus-header-card{
        padding:10px !important;
    }

    .focus-sidebar .focus-header-logo-wrap{
        width:88px !important;
        height:88px !important;
        flex:0 0 88px !important;
    }

    .focus-sidebar .focus-header-logo{
        width:88px !important;
        height:88px !important;
    }

    .focus-sidebar .focus-header-title{
        font-size:11px !important;
    }

    .focus-sidebar .focus-header-company-line{
        font-size:13px !important;
    }

    .focus-sidebar .focus-context-switch{
        min-height:50px !important;
    }

    .focus-sidebar .focus-context-switch-option{
        min-height:38px !important;
        font-size:10px !important;
        padding:8px 6px !important;
    }

    .focus-sidebar .btn-sidebar-focus{
        min-height:40px !important;
        padding:10px 14px !important;
        font-size:12.5px !important;
    }

    .focus-sidebar .sidebar-group-title{
        margin-bottom:4px !important;
        font-size:10px !important;
    }

    .focus-sidebar .sidebar-focus-group{
        padding-top:10px !important;
        gap:5px !important;
    }
}

@media (max-height:760px){
    .focus-sidebar .focus-header-card{
        padding:8px !important;
    }

    .focus-sidebar .focus-header-logo-wrap{
        width:78px !important;
        height:78px !important;
        flex:0 0 78px !important;
    }

    .focus-sidebar .focus-header-logo{
        width:78px !important;
        height:78px !important;
    }

    .focus-sidebar .focus-header-title{
        font-size:10px !important;
    }

    .focus-sidebar .focus-header-company-line{
        font-size:12px !important;
    }

    .focus-sidebar .focus-header-actions{
        gap:6px !important;
    }

    .focus-sidebar .focus-header-action{
        font-size:11px !important;
    }

    .focus-sidebar .focus-sub-line{
        font-size:11px !important;
    }

    .focus-sidebar .focus-context-switch{
        min-height:46px !important;
        margin-bottom:6px !important;
    }

    .focus-sidebar .focus-context-switch-option{
        min-height:34px !important;
        font-size:9.5px !important;
    }

    .focus-sidebar .btn-sidebar-focus{
        min-height:36px !important;
        padding:8px 12px !important;
        font-size:11.5px !important;
        border-radius:9px !important;
    }

    .focus-sidebar .sidebar-group-title{
        font-size:9.5px !important;
        letter-spacing:1.2px !important;
    }

    .focus-sidebar .sidebar-focus-group{
        padding-top:8px !important;
        gap:4px !important;
    }
}