:root {
    --premium-blue: #0f5bd8;
    --premium-cyan: #08c7f7;
    --premium-violet: #7a2ff2;
    --premium-dark: #07111f;
    --premium-soft: #eef4ff;
    --premium-border: #dbe4f0;
    --premium-card: rgba(255,255,255,.97);
    --premium-shadow: 0 18px 48px rgba(15, 23, 42, .10);
}

body {
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-weight: 400;
    letter-spacing: 0;
}

.premium-body { background: #f3f6fb; color: #172033; }
.premium-preloader { background: radial-gradient(circle at top right, rgba(21,84,209,.12), transparent 30%), #f8fbff; }
.premium-sidebar { background: linear-gradient(180deg, #07111f 0%, #0d2041 52%, #070b16 100%) !important; }
.premium-sidebar::before { content:""; position:absolute; inset:0; background: radial-gradient(circle at 80% 0%, rgba(16,184,255,.16), transparent 25%); pointer-events:none; }
.premium-brand { border-bottom: 1px solid rgba(255,255,255,.08) !important; background: rgba(255,255,255,.03); }
.premium-user-panel { border-bottom: 1px solid rgba(255,255,255,.08) !important; }
.premium-topbar { border-bottom: 1px solid rgba(15, 23, 42, .08); box-shadow: 0 8px 26px rgba(15,23,42,.07); backdrop-filter: blur(10px); min-height: 64px; }
.premium-content { background: radial-gradient(circle at top right, rgba(21,84,209,.08), transparent 28%), #f5f7fb; }
.brand-image { object-fit: cover; background: white; }
.brand-text { font-weight: 400 !important; letter-spacing: 0; }
.topbar-title { font-weight: 400; color: #334155 !important; }
.badge-lg { font-size: .85rem; padding: .55rem .85rem; border-radius: 999px; }
.nav-header { color: rgba(255,255,255,.48) !important; font-size: .72rem; letter-spacing: .06em; font-weight: 400; }
.sidebar .nav-link p { font-weight: 400; }
.sidebar .nav-link.active p { font-weight: 500; }

.premium-hero {
    background: linear-gradient(135deg, #07111f 0%, #113a7c 52%, #07111f 100%);
    color: #fff;
    padding: 32px 0 28px;
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid rgba(255,255,255,.10);
}
.premium-hero::after { content:""; position:absolute; width:560px; height:560px; right:-230px; top:-260px; border-radius:50%; background: radial-gradient(circle, rgba(8,199,247,.24), transparent 66%); }
.premium-hero::before { content:""; position:absolute; inset:0; background-image: linear-gradient(rgba(255,255,255,.028) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.028) 1px, transparent 1px); background-size: 34px 34px; mask-image: linear-gradient(90deg, rgba(0,0,0,.85), transparent 76%); pointer-events:none; }
.premium-hero .container-fluid { position: relative; z-index: 1; }
.hero-kicker {
    display:inline-flex;
    align-items:center;
    color: rgba(255,255,255,.76);
    font-weight: 400;
    font-size: .92rem;
    letter-spacing: .01em;
    margin-bottom: .35rem;
}
.hero-title {
    font-size: clamp(1.65rem, 2.75vw, 2.55rem);
    font-weight: 500;
    letter-spacing: -.02em;
    margin: 6px 0 10px;
    line-height: 1.15;
    text-shadow: 0 10px 28px rgba(0,0,0,.18);
}
.hero-subtitle { max-width: 860px; color: rgba(255,255,255,.80); font-size: 1.02rem; line-height: 1.6; font-weight: 400; }
.hero-actions { gap: .75rem; }
.hero-actions .btn {
    border-radius: 13px;
    font-weight: 500;
    box-shadow: 0 10px 24px rgba(0,0,0,.14);
    letter-spacing: 0;
}
.hero-actions .btn-outline-light { border-color: rgba(255,255,255,.36); color: rgba(255,255,255,.90); }
.hero-actions .btn-outline-light:hover { color:#07111f; background:#fff; }
.hero-status-line {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-lg-end;
    gap: .55rem;
    color: rgba(255,255,255,.78);
    font-size: .92rem;
}
.hero-status-line span {
    display: inline-flex;
    align-items: center;
    border: 1px solid rgba(255,255,255,.18);
    background: rgba(255,255,255,.08);
    border-radius: 999px;
    padding: .42rem .72rem;
    font-weight: 400;
}

.premium-card { border: 0; border-radius: 22px; box-shadow: var(--premium-shadow); overflow: hidden; background: var(--premium-card); }
.premium-card-titlebar { background: linear-gradient(90deg, #ffffff, #f7faff); padding: 1.15rem 1.35rem; }
.card-title { font-weight: 500; letter-spacing: 0; color: #172033; }
.premium-table-shell { border: 1px solid var(--premium-border); border-radius: 16px; padding: 8px; background: #fff; }
.premium-table thead th { border-top: 0; background: #f8fbff; color: #334155; text-transform: none; font-size: .84rem; letter-spacing: .01em; font-weight: 500; }
.premium-table tbody tr { transition: background .15s ease; }
.premium-table tbody tr:hover { background: #f8fbff; }
.premium-table tbody td { vertical-align: middle; font-weight: 400; color: #334155; }
.premium-table tbody tr td:first-child,
.premium-table tbody tr td:nth-child(2),
.reference-cell { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; color:#475569; font-weight: 400; }

.premium-box { border-radius: 18px; box-shadow: 0 16px 38px rgba(15,23,42,.11); overflow: hidden; color: #fff !important; border: 0; }
.premium-box .icon { opacity: .26; top: 15px; }
.premium-box .inner h3 { font-weight: 500; letter-spacing: -.015em; }
.premium-box .inner p { font-weight: 400; opacity: .94; }
.box-blue { background: linear-gradient(135deg, #1554d1, #10b8ff); }
.box-green { background: linear-gradient(135deg, #059669, #22c55e); }
.box-orange { background: linear-gradient(135deg, #d97706, #f59e0b); }
.box-purple { background: linear-gradient(135deg, #6d28d9, #a855f7); }

.product-thumb { width: 68px; height: 68px; object-fit: contain; background: white; border: 1px solid var(--premium-border); border-radius: 15px; padding: 5px; box-shadow: 0 8px 18px rgba(15,23,42,.07); }
.product-desc { min-width: 320px; max-width: 720px; white-space: normal; line-height: 1.42; color: #334155; font-weight: 400; }
.price-pill { display: inline-flex; align-items: center; justify-content: center; min-width: 110px; padding: .48rem .75rem; border-radius: 999px; background: #ecfdf5; color: #047857; font-weight: 500; box-shadow: inset 0 0 0 1px rgba(4,120,87,.12); }
.btn-facebook { background: linear-gradient(135deg, #1877f2, #0f5fd2); border-color: #1877f2; color: #fff !important; box-shadow: 0 8px 18px rgba(24,119,242,.20); border-radius: 999px; font-weight: 500; min-width: 96px; }
.btn-facebook:hover { background: #0f67da; border-color: #0f67da; color: #fff; }
.btn-info-soft { background: #e0f2fe; border-color: #bae6fd; color: #0369a1; font-weight: 500; border-radius: 999px; min-width: 96px; }
.btn-info-soft:hover { background: #bae6fd; color: #075985; }
.btn-premium-install { background: linear-gradient(135deg, #1554d1, #7c3aed); color: #fff; border: 0; border-radius: 999px; box-shadow: 0 10px 24px rgba(21,84,209,.20); font-weight: 500; }
.dataTables_wrapper .dataTables_filter input { border-radius: 999px; border: 1px solid var(--premium-border); padding: .4rem .9rem; min-width: 280px; font-weight: 400; }
.dataTables_wrapper .dataTables_length select { border-radius: 999px; font-weight: 400; }
.dataTables_processing { border-radius: 14px !important; box-shadow: 0 14px 38px rgba(15,23,42,.14); }
.premium-footer { border-top: 1px solid rgba(15,23,42,.08); background: #fff; font-weight: 400; }
.premium-footer strong { color:#0f5bd8; font-weight: 500; }

.premium-modal { border: 0; border-radius: 22px; box-shadow: 0 24px 70px rgba(15,23,42,.32); overflow: hidden; }
.premium-modal .modal-header { background: linear-gradient(90deg, #f8fbff, #ffffff); border-bottom: 1px solid var(--premium-border); }
.premium-modal .modal-title { font-weight: 500; color: #172033; }
.link-panel { background: linear-gradient(135deg, #f8fbff, #eef4ff); border: 1px solid var(--premium-border); border-radius: 20px; padding: 22px; }
.link-panel strong { font-weight: 500; }
.premium-copy-group input { border-radius: 14px 0 0 14px; font-weight: 400; }
.gap-actions { gap: .65rem; }
.product-image-stage { background: linear-gradient(135deg, #f8fbff, #e9f1ff); border: 1px solid var(--premium-border); border-radius: 22px; min-height: 420px; display: flex; align-items: center; justify-content: center; padding: 26px; }
.product-modal-img { width: 100%; max-height: 520px; object-fit: contain; filter: drop-shadow(0 18px 30px rgba(15,23,42,.10)); }
.product-detail-header h3 { font-weight: 500; color: var(--premium-dark); line-height: 1.25; letter-spacing: -.01em; }
.detail-box { background: #f8fafc; border: 1px solid var(--premium-border); border-radius: 16px; padding: 16px; margin-bottom: 12px; }
.detail-box span { display: block; color: #64748b; font-size: .78rem; letter-spacing: .02em; font-weight: 400; }
.detail-box strong { display: block; color: #0f172a; font-size: 1.1rem; margin-top: 4px; font-weight: 500; }
.observations-box { min-height: 100px; padding: 16px; background: #fff; border: 1px solid var(--premium-border); border-radius: 16px; color: #334155; font-weight: 400; }

.premium-login { min-height: 100vh; background: radial-gradient(circle at top left, rgba(21,84,209,.32), transparent 30%), linear-gradient(135deg, #050914, #102a55 55%, #060b16); overflow: hidden; }
.login-orb { position: fixed; border-radius: 999px; filter: blur(4px); opacity: .40; pointer-events: none; }
.orb-one { width: 300px; height:300px; left:-90px; bottom:-90px; background: #10b8ff; }
.orb-two { width: 220px; height:220px; right:-70px; top:80px; background: #7c3aed; }
.premium-login-box { width: 450px; max-width: 94vw; z-index: 2; }
.premium-login-card { border: 1px solid rgba(255,255,255,.15); border-radius: 26px; overflow: hidden; background: rgba(255,255,255,.94); backdrop-filter: blur(20px); }
.login-logo-img { width: 104px; height: 104px; object-fit: cover; border-radius: 26px; box-shadow: 0 18px 42px rgba(15,23,42,.20); }
.brand-title { font-size: 1.48rem; font-weight: 500; color: #0f172a; letter-spacing: -.01em; }
.premium-input .form-control, .premium-input .input-group-text { border-radius: 14px; font-weight: 400; }
.premium-input .form-control { border-top-right-radius: 0; border-bottom-right-radius: 0; }
.premium-input .input-group-text { border-top-left-radius: 0; border-bottom-left-radius: 0; }
.premium-login-btn { border-radius: 16px; background: linear-gradient(135deg, #1554d1, #7c3aed); border: 0; box-shadow: 0 12px 26px rgba(21,84,209,.22); font-weight: 500; }
.login-footer-note { text-align: center; color: #64748b; font-size: .86rem; font-weight: 400; }
.login-footer-note strong { font-weight: 500; }

.public-product-page { min-height: 100vh; background: radial-gradient(circle at top right, rgba(21,84,209,.14), transparent 28%), #eef4ff; color: #0f172a; }
.public-nav { background: linear-gradient(90deg, #0f172a, #17356f); color: white; padding: 14px 0; box-shadow: 0 12px 34px rgba(15,23,42,.20); }
.public-logo { width: 46px; height: 46px; object-fit: cover; border-radius: 14px; border: 2px solid rgba(255,255,255,.35); }
.public-brand-name { font-weight: 500; }
.public-product-card { background: rgba(255,255,255,.97); border: 1px solid rgba(219,228,240,.9); border-radius: 28px; overflow: hidden; }
.public-image-col { min-height: 560px; background: linear-gradient(135deg, #ffffff, #e9f1ff); display: flex; align-items: center; justify-content: center; padding: 30px; }
.public-product-img { width: 100%; height: 100%; max-height: 620px; object-fit: contain; filter: drop-shadow(0 22px 30px rgba(15,23,42,.12)); }
.public-product-title { font-weight: 500; letter-spacing: -.015em; line-height: 1.12; }
.public-price-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.public-price-grid div { background: #f8fafc; border: 1px solid var(--premium-border); border-radius: 18px; padding: 16px; }
.public-price-grid span { display: block; color: #64748b; font-size: .82rem; font-weight: 400; }
.public-price-grid strong { display: block; font-size: 1.38rem; color: #047857; font-weight: 500; }
.public-observations { background: #f8fafc; border: 1px solid var(--premium-border); border-radius: 16px; padding: 16px; min-height: 130px; }
.public-buy-btn { font-weight: 500; }
.public-buy-btn img { height: 28px; width: auto; margin-left: 6px; margin-right: 4px; vertical-align: middle; }
.public-buy-btn strong { font-weight: 500; }

.dark-premium-mode .premium-content { background: radial-gradient(circle at top right, rgba(21,84,209,.15), transparent 28%), #0b1220; }
.dark-premium-mode .premium-card,
.dark-premium-mode .premium-table-shell,
.dark-premium-mode .premium-footer { background: #111827; color: #e5e7eb; border-color: rgba(255,255,255,.08); }
.dark-premium-mode .premium-card-titlebar,
.dark-premium-mode .premium-table thead th { background: #0f172a; color: #e5e7eb; }
.dark-premium-mode .premium-table tbody tr:hover { background: #172033; }
.dark-premium-mode .premium-table tbody td { color: #d1d5db; }
.dark-premium-mode .product-desc { color: #d1d5db; }
.dark-premium-mode .premium-topbar { background: #111827 !important; border-color: rgba(255,255,255,.08); }
.dark-premium-mode .premium-topbar .nav-link { color: #e5e7eb !important; }
.dark-premium-mode .card-title { color: #e5e7eb; }

.content-wrapper .container-fluid { max-width: 1800px; }

@media (max-width: 991px) {
    .hero-status-line { justify-content: flex-start; }
}

@media (max-width: 767px) {
    .product-desc { min-width: 220px; }
    .public-image-col { min-height: 360px; }
    .public-price-grid { grid-template-columns: 1fr; }
    .dataTables_wrapper .dataTables_filter input { min-width: 180px; }
    .hero-actions .btn { width: 100%; }
}

/* v10 - Layout mais limpo e leitura profissional */
body,
.premium-body,
.premium-table,
.nav-sidebar .nav-link,
.btn,
.badge,
.form-control,
.input-group-text,
.modal-content,
.card,
.small-box,
.dataTables_wrapper {
    font-weight: 400;
}

strong,
b,
.font-weight-bold,
.text-bold {
    font-weight: 500 !important;
}

h1, h2, h3, h4, h5, h6,
.card-title,
.modal-title,
.brand-title,
.public-product-title,
.product-detail-header h3,
.public-brand-name,
.footer-company-name,
.login-company-name,
.public-company-name {
    font-weight: 450 !important;
    letter-spacing: 0;
}

.premium-content > .content {
    padding-top: 1.35rem !important;
}

.premium-box .inner h3 {
    font-weight: 450 !important;
    letter-spacing: -.01em;
}

.premium-box .inner p,
.premium-table thead th,
.price-pill,
.btn-facebook,
.btn-info-soft,
.btn-premium-install,
.premium-login-btn,
.public-buy-btn,
.public-price-grid strong,
.detail-box strong {
    font-weight: 450 !important;
}

.premium-table thead th {
    text-transform: none;
    color: #41506a;
}

.premium-table tbody td,
.product-desc,
.public-observations,
.observations-box {
    font-weight: 400 !important;
    color: #334155;
}

/* Rodapé institucional Litinfor - compacto e suave */
.company-footer {
    padding: .45rem 1rem;
    min-height: 54px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .8rem;
    background: rgba(255,255,255,.96);
    border-top: 1px solid rgba(15,23,42,.06);
    color: #64748b;
    box-shadow: 0 -6px 18px rgba(15,23,42,.025);
}

.footer-company-block {
    display: flex;
    align-items: center;
    gap: .65rem;
    min-width: 0;
}

.footer-logo-wrap {
    background: transparent;
    border: 0;
    border-radius: 0;
    padding: 0;
    box-shadow: none;
    flex: 0 0 auto;
    opacity: .88;
}

.footer-company-logo {
    height: 22px;
    width: auto;
    display: block;
}

.footer-company-info {
    min-width: 0;
}

.footer-company-name {
    color: #475569;
    font-size: .78rem;
    line-height: 1.2;
    font-weight: 400 !important;
    white-space: nowrap;
}

.footer-company-meta {
    margin-top: .1rem;
    display: flex;
    flex-wrap: wrap;
    gap: .25rem .55rem;
    color: #8a94a6;
    font-size: .72rem;
    line-height: 1.25;
    font-weight: 400 !important;
}

.footer-company-meta span {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
}

.footer-company-meta i {
    opacity: .55;
    font-size: .68rem;
}

.footer-system-info {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .45rem;
    color: #94a3b8;
    font-size: .72rem;
    line-height: 1.2;
    white-space: nowrap;
    font-weight: 400 !important;
}

.footer-system-info span:first-child {
    color: #64748b;
    font-weight: 400 !important;
}

.footer-system-info span + span::before {
    content: "•";
    margin-right: .45rem;
    color: #cbd5e1;
}

.login-company-card,
.login-company-logo,
.login-company-name,
.login-company-meta {
    display: none !important;
}

.public-company-footer {
    background: rgba(255,255,255,.97);
    border-top: 1px solid rgba(15,23,42,.06);
    padding: .55rem 0;
    color: #64748b;
    font-weight: 400 !important;
}

.public-company-logo {
    height: 24px;
    width: auto;
    background: transparent;
    border-radius: 0;
    opacity: .9;
}

.public-company-name {
    color: #475569;
    line-height: 1.2;
    font-size: .8rem;
    font-weight: 400 !important;
}

.public-company-meta,
.public-company-hours {
    color: #8a94a6;
    font-size: .74rem;
    line-height: 1.25;
    font-weight: 400 !important;
}

.dark-premium-mode .company-footer,
.dark-premium-mode .public-company-footer {
    background: rgba(15,23,42,.96);
    border-color: rgba(255,255,255,.06);
    box-shadow: none;
}

.dark-premium-mode .footer-company-name,
.dark-premium-mode .footer-system-info span:first-child,
.dark-premium-mode .public-company-name {
    color: #cbd5e1;
}

.dark-premium-mode .footer-company-meta,
.dark-premium-mode .footer-system-info,
.dark-premium-mode .public-company-meta,
.dark-premium-mode .public-company-hours {
    color: #94a3b8;
}

@media (max-width: 991px) {
    .company-footer {
        flex-direction: column;
        align-items: flex-start;
        gap: .35rem;
        padding: .55rem .85rem;
    }
    .footer-system-info {
        justify-content: flex-start;
        white-space: normal;
        flex-wrap: wrap;
    }
}

@media (max-width: 767px) {
    .footer-company-block {
        align-items: flex-start;
    }
    .footer-company-name {
        white-space: normal;
    }
    .footer-company-meta span {
        white-space: normal;
    }
    .footer-company-logo {
        height: 20px;
    }
    .public-company-footer .container {
        gap: .45rem !important;
    }
    .public-company-logo {
        height: 21px;
    }
}


/* v12 - interface sempre compacta, footer mais discreto */
.premium-body.text-sm .content-wrapper .container-fluid {
    max-width: 1840px;
}

.company-footer {
    min-height: 38px !important;
    padding: .22rem .75rem !important;
    gap: .45rem !important;
    background: rgba(255,255,255,.92) !important;
    box-shadow: 0 -3px 10px rgba(15,23,42,.018) !important;
}

.footer-company-block {
    gap: .42rem !important;
}

.footer-company-logo {
    height: 14px !important;
    max-width: 92px !important;
    opacity: .74 !important;
}

.footer-company-name {
    font-size: .68rem !important;
    line-height: 1.05 !important;
    color: #667085 !important;
}

.footer-company-meta {
    margin-top: 0 !important;
    gap: .15rem .38rem !important;
    font-size: .62rem !important;
    line-height: 1.12 !important;
    color: #98a2b3 !important;
}

.footer-company-meta i {
    font-size: .56rem !important;
    opacity: .42 !important;
}

.footer-system-info {
    display: none !important;
}

.public-company-footer {
    padding: .32rem 0 !important;
    background: rgba(255,255,255,.93) !important;
}

.public-company-logo {
    height: 15px !important;
    max-width: 96px !important;
    opacity: .76 !important;
}

.public-company-name {
    font-size: .68rem !important;
    line-height: 1.05 !important;
    color: #667085 !important;
}

.public-company-meta,
.public-company-hours {
    font-size: .62rem !important;
    line-height: 1.1 !important;
    color: #98a2b3 !important;
}

.dark-premium-mode .company-footer,
.dark-premium-mode .public-company-footer {
    background: rgba(15,23,42,.92) !important;
}

.dark-premium-mode .footer-company-name,
.dark-premium-mode .public-company-name {
    color: #cbd5e1 !important;
}

.dark-premium-mode .footer-company-meta,
.dark-premium-mode .public-company-meta,
.dark-premium-mode .public-company-hours {
    color: #94a3b8 !important;
}

@media (max-width: 991px) {
    .company-footer {
        padding: .28rem .65rem !important;
        gap: .18rem !important;
    }
}

@media (max-width: 767px) {
    .footer-company-logo,
    .public-company-logo {
        height: 13px !important;
    }
    .footer-company-meta {
        display: none !important;
    }
}
