/* ============================================================
   Organic Sheets — Skin dark/tech para o legado (VBA License Plus)
   Mesma linguagem visual do membros.organicsheets.top.
   Verde elétrico #3CED28 + ardósia #494E56, Poppins, dark.
   Serve tanto as páginas públicas (.os-*) quanto sobrescreve
   o painel Bootstrap antigo (dashboard/admin).
   ============================================================ */

:root {
    --bg:         #0E1014;
    --bg-2:       #12151C;
    --surface:    #171B23;
    --surface-2:  #1E232D;
    --border:     rgba(255, 255, 255, 0.09);
    --border-2:   rgba(255, 255, 255, 0.16);
    --text:       #EAEEF1;
    --text-soft:  #9AA4AE;
    --text-faint: #667079;
    --green-700:  #1F9E16;
    --green-600:  #2CC71E;
    --green-500:  #3CED28;
    --green-400:  #6BF25B;
    --green-300:  #9CF791;
    --green-tint: rgba(60, 237, 40, 0.10);
    --green-line: rgba(60, 237, 40, 0.28);
    --green-glow: rgba(60, 237, 40, 0.35);
    --slate:      #494E56;
    --slate-2:    #33383F;
    --danger:     #FF5C4D;
    --warn:       #F5B942;
    --font-sans: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    --font-mono: 'JetBrains Mono', ui-monospace, 'SF Mono', 'Cascadia Code', Consolas, monospace;
    --fs-hero: clamp(2.4rem, 4.5vw + 1rem, 4.2rem);
    --fs-h1:   clamp(2rem, 3vw + 1rem, 3rem);
    --fs-h2:   clamp(1.5rem, 1.6vw + 1rem, 2.1rem);
    --fs-xs:   0.78rem;
    --sp-3: 1.25rem;
    --sp-4: 2rem;
    --sp-5: 3rem;
    --r-1: 10px;
    --r-2: 14px;
    --r-3: 22px;
    --r-pill: 999px;
    --shadow-md: 0 16px 40px -20px rgba(0, 0, 0, 0.7);
    --shadow-glow: 0 0 0 1px var(--green-line), 0 18px 50px -24px var(--green-glow);
    --container: 1160px;
}

/* ============================================================
   PÁGINAS PÚBLICAS  (classe .os-page no <body>)
   ============================================================ */
.os-page * , .os-page *::before, .os-page *::after { box-sizing: border-box; }
.os-page {
    margin: 0;
    font-family: var(--font-sans);
    font-size: 1rem;
    line-height: 1.6;
    color: var(--text);
    background-color: var(--bg);
    background-image:
        radial-gradient(1100px 520px at 78% -8%, var(--green-tint), transparent 60%),
        linear-gradient(to right,  rgba(255,255,255,0.028) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(255,255,255,0.028) 1px, transparent 1px);
    background-size: auto, 34px 34px, 34px 34px;
    background-attachment: fixed;
    -webkit-font-smoothing: antialiased;
    min-height: 100vh;
}
.os-page img { max-width: 100%; display: block; }
.os-page a { color: var(--green-400); text-decoration: none; transition: color .15s; }
.os-page a:hover { color: var(--green-300); }
.os-page h1, .os-page h2, .os-page h3, .os-page h4 { font-weight: 600; line-height: 1.1; letter-spacing: -0.02em; color: #fff; margin: 0; }
.os-container { width: 100%; max-width: var(--container); margin-inline: auto; padding-inline: var(--sp-3); }

.os-eyebrow { font-family: var(--font-mono); font-size: var(--fs-xs); font-weight: 500; letter-spacing: 0.06em; text-transform: uppercase; color: var(--green-500); }
.os-eyebrow::before { content: "// "; color: var(--slate); }

/* Cabeçalho público */
.os-header { position: sticky; top: 0; z-index: 50; background: color-mix(in srgb, var(--bg) 78%, transparent); backdrop-filter: saturate(1.3) blur(12px); border-bottom: 1px solid var(--border); }
.os-header-inner { display: flex; align-items: center; justify-content: space-between; height: 70px; max-width: var(--container); margin-inline: auto; padding-inline: var(--sp-3); }
.os-brand { display: inline-flex; align-items: center; gap: 0.6rem; color: #fff; }
.os-brand img { width: 34px; height: 34px; }
.os-brand b { font-size: 1.2rem; font-weight: 600; letter-spacing: -0.02em; color: #fff; }
.os-brand b span { color: var(--green-500); }
.os-nav { display: flex; align-items: center; gap: var(--sp-3); }
.os-nav a:not(.os-btn) { color: var(--text-soft); font-size: 0.9rem; font-weight: 500; }
.os-nav a:not(.os-btn):hover { color: #fff; }

/* Botões */
.os-btn { display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; font-family: var(--font-sans); font-weight: 600; font-size: 0.95rem; line-height: 1; padding: 0.8rem 1.4rem; border-radius: var(--r-pill); border: 1px solid transparent; cursor: pointer; transition: all .15s; white-space: nowrap; }
.os-btn:active { transform: translateY(1px); }
.os-btn-primary { background: var(--green-500); color: #08210A; box-shadow: 0 8px 24px -12px var(--green-glow); }
.os-btn-primary:hover { background: var(--green-400); color: #08210A; }
.os-btn-ghost { background: transparent; color: var(--text); border-color: var(--border-2); }
.os-btn-ghost:hover { background: var(--surface-2); border-color: var(--slate); color: #fff; }
/* Botões que são <a>: sobrepõem a cor verde herdada de `.os-page a` */
.os-page a.os-btn-primary, .os-page a.os-btn-primary:hover { color: #08210A; }
.os-page a.os-btn-ghost { color: var(--text); }
.os-page a.os-btn-ghost:hover { color: #fff; }
.os-btn-lg { padding: 1rem 1.9rem; font-size: 1.05rem; }
.os-btn-block { width: 100%; }

/* Pílulas / badges */
.os-pill { display: inline-flex; align-items: center; gap: 0.4rem; font-family: var(--font-mono); font-size: var(--fs-xs); padding: 0.3rem 0.7rem; border-radius: var(--r-pill); border: 1px solid var(--green-line); color: var(--green-400); background: var(--green-tint); }

/* Seções */
.os-section { padding: var(--sp-5) 0; }
.os-section-alt { background: var(--bg-2); border-block: 1px solid var(--border); }

/* Cartões */
.os-card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-2); padding: var(--sp-4); }

/* ---- Splitter (página divisória) ---- */
.os-split { min-height: calc(100vh - 70px); display: flex; align-items: center; padding: var(--sp-5) 0; }
.os-split-head { text-align: center; margin-bottom: var(--sp-5); }
.os-split-head h1 { font-size: var(--fs-hero); margin-bottom: 1rem; }
.os-split-head h1 span { color: transparent; background: linear-gradient(90deg, var(--green-500), var(--green-300)); -webkit-background-clip: text; background-clip: text; }
.os-split-head p { color: var(--text-soft); font-size: 1.15rem; max-width: 640px; margin: 0 auto; }
.os-split-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-4); max-width: 960px; margin: 0 auto; }
.os-choice { position: relative; display: flex; flex-direction: column; background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-3); padding: var(--sp-5) var(--sp-4); text-align: center; transition: transform .2s, border-color .2s, box-shadow .2s; overflow: hidden; }
.os-choice::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 3px; background: linear-gradient(90deg, transparent, var(--green-500), transparent); opacity: 0; transition: opacity .2s; }
.os-choice:hover { transform: translateY(-6px); border-color: var(--green-line); box-shadow: var(--shadow-glow); }
.os-choice:hover::before { opacity: 1; }
.os-choice-ico { width: 76px; height: 76px; margin: 0 auto 1.5rem; display: grid; place-items: center; border-radius: 20px; background: var(--green-tint); border: 1px solid var(--green-line); color: var(--green-500); font-size: 2rem; }
.os-choice h2 { font-size: 1.6rem; margin-bottom: 0.6rem; }
.os-choice p { color: var(--text-soft); margin-bottom: 1.6rem; flex: 1; }
.os-choice .os-btn { align-self: center; }
.os-choice-note { margin-top: 1rem; font-family: var(--font-mono); font-size: var(--fs-xs); color: var(--text-faint); }

/* ---- Hero (produto) ---- */
.os-hero { padding: var(--sp-6, 5rem) 0 var(--sp-5); }
.os-hero-grid { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: var(--sp-5); align-items: center; }
.os-hero h1 { font-size: var(--fs-hero); margin-bottom: 1.2rem; }
.os-hero h1 span { color: transparent; background: linear-gradient(90deg, var(--green-500), var(--green-300)); -webkit-background-clip: text; background-clip: text; }
.os-hero p.lead { color: var(--text-soft); font-size: 1.15rem; margin-bottom: 1.8rem; }
.os-hero-actions { display: flex; gap: 0.8rem; flex-wrap: wrap; }
.os-hero-visual { aspect-ratio: 4/3; border-radius: var(--r-3); border: 1px solid var(--border); background: linear-gradient(160deg, var(--surface-2), var(--surface)); display: grid; place-items: center; position: relative; overflow: hidden; }
.os-hero-visual > i { font-size: 7rem; color: var(--green-500); opacity: 0.18; }
.os-hero-chip { position: absolute; bottom: 1.4rem; left: 1.4rem; right: 1.4rem; background: rgba(14,16,20,0.85); backdrop-filter: blur(8px); border: 1px solid var(--border); border-radius: var(--r-1); padding: 0.9rem 1.1rem; display: flex; align-items: center; gap: 0.9rem; }
.os-hero-chip .dot { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; background: var(--green-tint); color: var(--green-500); }
.os-hero-chip small { color: var(--text-faint); display: block; font-size: 0.72rem; }
.os-hero-chip b { color: #fff; }

/* ---- Grade de features ---- */
.os-feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--sp-3); }
.os-feature { background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-2); padding: 1.6rem; transition: border-color .15s, transform .15s; }
.os-feature:hover { border-color: var(--green-line); transform: translateY(-3px); }
.os-feature > i { font-size: 1.5rem; color: var(--green-500); margin-bottom: 0.9rem; }
.os-feature h3 { font-size: 1.1rem; margin-bottom: 0.4rem; }
.os-feature p { color: var(--text-soft); font-size: 0.92rem; margin: 0; }

/* ---- Timeline (como funciona) ---- */
.os-timeline { max-width: 760px; margin: 0 auto; }
.os-step { display: flex; gap: 1.4rem; }
.os-step-rail { display: flex; flex-direction: column; align-items: center; }
.os-step-num { width: 48px; height: 48px; flex: none; border-radius: 50%; border: 2px solid var(--green-line); background: var(--green-tint); color: var(--green-500); display: grid; place-items: center; font-size: 1.1rem; }
.os-step-line { width: 2px; flex: 1; background: var(--border-2); margin: 0.4rem 0; }
.os-step-body { padding-bottom: 2.2rem; }
.os-step-body .k { color: var(--green-500); font-family: var(--font-mono); font-size: var(--fs-xs); text-transform: uppercase; }
.os-step-body h3 { font-size: 1.15rem; margin: 0.2rem 0 0.4rem; }
.os-step-body p { color: var(--text-soft); margin: 0; }

/* ---- Pricing ---- */
.os-price-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--sp-3); }
.os-price { position: relative; display: flex; flex-direction: column; background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-2); padding: 1.8rem 1.4rem; transition: transform .2s, border-color .2s; }
.os-price:hover { transform: translateY(-6px); border-color: var(--green-line); }
.os-price.is-top { border-color: var(--green-500); box-shadow: var(--shadow-glow); }
.os-price-tag { position: absolute; top: -0.75rem; left: 50%; transform: translateX(-50%); background: var(--green-500); color: #08210A; font-size: 0.68rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; padding: 0.25rem 0.7rem; border-radius: var(--r-pill); }
.os-price h3 { font-size: 1.15rem; margin-bottom: 0.8rem; }
.os-price .val { font-size: 2.2rem; font-weight: 800; color: var(--green-400); }
.os-price .per { color: var(--text-faint); font-size: 0.85rem; }
.os-price ul { list-style: none; padding: 0; margin: 1.2rem 0 1.6rem; display: grid; gap: 0.7rem; flex: 1; }
.os-price li { display: flex; gap: 0.6rem; color: var(--text-soft); font-size: 0.9rem; }
.os-price li i { color: var(--green-500); margin-top: 0.15rem; }

/* ---- Login / auth ---- */
.os-auth { min-height: 100vh; display: grid; place-items: center; padding: var(--sp-4); }
.os-auth-card { width: 100%; max-width: 420px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-3); padding: 2.4rem; box-shadow: var(--shadow-md); }
.os-auth-card .top { text-align: center; margin-bottom: 1.6rem; }
.os-auth-card .top img { height: 46px; margin: 0 auto 1rem; }
.os-auth-card h1 { font-size: 1.5rem; margin-bottom: 0.3rem; }
.os-auth-card .top p { color: var(--text-soft); font-size: 0.9rem; margin: 0; }
.os-field { margin-bottom: 1rem; }
.os-label { display: block; font-size: 0.82rem; color: var(--text-soft); margin-bottom: 0.4rem; }
.os-input { width: 100%; font-family: var(--font-sans); font-size: 1rem; color: var(--text); background: var(--bg-2); border: 1px solid var(--border-2); border-radius: var(--r-1); padding: 0.8rem 0.95rem; transition: border-color .15s, box-shadow .15s; }
.os-input::placeholder { color: var(--text-faint); }
.os-input:focus { outline: none; border-color: var(--green-500); box-shadow: 0 0 0 3px var(--green-tint); }
.os-auth-foot { text-align: center; margin-top: 1.4rem; font-size: 0.88rem; color: var(--text-soft); }
.os-alert { border-radius: var(--r-1); padding: 0.85rem 1rem; margin-bottom: 1.2rem; font-size: 0.9rem; border: 1px solid; }
.os-alert-success { background: var(--green-tint); color: var(--green-300); border-color: var(--green-line); }
.os-alert-danger { background: rgba(255,92,77,0.1); color: #FFB0A6; border-color: rgba(255,92,77,0.4); }

/* Footer público */
.os-footer { border-top: 1px solid var(--border); padding: var(--sp-4) 0; text-align: center; color: var(--text-faint); font-size: 0.85rem; }
.os-footer img { height: 22px; display: inline-block; vertical-align: middle; margin-right: 0.5rem; opacity: 0.8; }

@media (max-width: 900px) {
    .os-split-grid, .os-hero-grid, .os-feature-grid, .os-price-grid { grid-template-columns: 1fr; }
    .os-nav a:not(.os-btn) { display: none; }
    .os-hero-visual { display: none; }
}

/* ============================================================
   PAINEL BOOTSTRAP ANTIGO — sobrescreve o tema para dark/tech.
   Aplica-se a home.php e todos os includes (dashboard/admin).
   Usa .os-skin no <body> como gate para não vazar em outras libs.
   ============================================================ */
body.os-skin { background: var(--bg) !important; color: var(--text) !important; font-family: var(--font-sans) !important; }
body.os-skin .pcoded-main-container { background: transparent !important; }

/* Sidebar */
body.os-skin .pcoded-navbar { background: var(--surface) !important; box-shadow: 1px 0 0 var(--border) !important; }
body.os-skin .pcoded-navbar .pcoded-inner-navbar > li > a,
body.os-skin .pcoded-navbar .pcoded-mtext { color: var(--text-soft) !important; }
body.os-skin .pcoded-navbar .nav-item.active > a,
body.os-skin .pcoded-navbar .nav-item:hover > a { color: #fff !important; background: var(--surface-2) !important; }
body.os-skin .pcoded-navbar .nav-item.active > a .pcoded-micon i,
body.os-skin .pcoded-navbar .nav-item:hover > a .pcoded-micon i { color: var(--green-500) !important; }
body.os-skin .pcoded-navbar .pcoded-micon i { color: var(--text-faint) !important; }
body.os-skin .pcoded-navbar .pcoded-menu-caption { color: var(--text-faint) !important; }
body.os-skin .pcoded-navbar .nav-item.active > a::before { background: var(--green-500) !important; }

/* Header */
body.os-skin .pcoded-header { background: var(--surface) !important; box-shadow: 0 1px 0 var(--border) !important; color: var(--text) !important; }
body.os-skin .pcoded-header .b-brand .b-title { color: #fff !important; }
body.os-skin .pcoded-header a, body.os-skin .pcoded-header .dropdown-toggle { color: var(--text-soft) !important; }
body.os-skin .pcoded-header .main-search .search-close .input-group-text,
body.os-skin .pcoded-header i { color: var(--text-soft) !important; }

/* Page header / breadcrumb */
body.os-skin .page-header-title h5 { color: #fff !important; }
body.os-skin .breadcrumb, body.os-skin .breadcrumb-item, body.os-skin .breadcrumb-item a { color: var(--text-faint) !important; }

/* Cards */
body.os-skin .card { background: var(--surface) !important; border: 1px solid var(--border) !important; border-radius: var(--r-2) !important; box-shadow: none !important; color: var(--text) !important; }
body.os-skin .card .card-header { background: transparent !important; border-bottom: 1px solid var(--border) !important; }
body.os-skin .card .card-header h5, body.os-skin .card .card-header h2, body.os-skin .card-header * { color: #fff !important; }
body.os-skin h1, body.os-skin h2, body.os-skin h3, body.os-skin h4, body.os-skin h5, body.os-skin h6 { color: #fff !important; }
body.os-skin .text-muted, body.os-skin small.text-muted { color: var(--text-faint) !important; }

/* KPIs */
body.os-skin .card-body h5 { color: var(--green-400) !important; }

/* Botões */
body.os-skin .btn-primary { background: var(--green-500) !important; border-color: var(--green-500) !important; color: #08210A !important; font-weight: 600 !important; }
body.os-skin .btn-primary:hover { background: var(--green-400) !important; border-color: var(--green-400) !important; }
body.os-skin .btn-secondary { background: var(--surface-2) !important; border-color: var(--border-2) !important; color: var(--text) !important; }
body.os-skin .btn-success { background: var(--green-600) !important; border-color: var(--green-600) !important; color: #08210A !important; }
body.os-skin .btn-danger { background: var(--danger) !important; border-color: var(--danger) !important; }
body.os-skin .btn-info, body.os-skin .btn-warning { color: #08210A !important; }

/* Tabelas */
body.os-skin .table { color: var(--text) !important; }
body.os-skin .table thead th { color: var(--text-faint) !important; border-color: var(--border) !important; text-transform: uppercase; font-size: 0.75rem; letter-spacing: 0.03em; }
body.os-skin .table td, body.os-skin .table th { border-color: var(--border) !important; }
body.os-skin .table-hover tbody tr:hover { background: var(--surface-2) !important; }
body.os-skin .table-striped tbody tr:nth-of-type(odd) { background: rgba(255,255,255,0.02) !important; }

/* Formulários */
body.os-skin .form-control, body.os-skin .select2-container--default .select2-selection--single { background: var(--bg-2) !important; border: 1px solid var(--border-2) !important; color: var(--text) !important; border-radius: var(--r-1) !important; }
body.os-skin .form-control:focus { border-color: var(--green-500) !important; box-shadow: 0 0 0 3px var(--green-tint) !important; }
body.os-skin .form-control::placeholder { color: var(--text-faint) !important; }
body.os-skin label, body.os-skin .col-form-label { color: var(--text-soft) !important; }

/* Modais */
body.os-skin .modal-content { background: var(--surface) !important; border: 1px solid var(--border-2) !important; color: var(--text) !important; }
body.os-skin .modal-header, body.os-skin .modal-footer { border-color: var(--border) !important; }
body.os-skin .close, body.os-skin .modal-header .close { color: var(--text) !important; text-shadow: none !important; }

/* Alerts */
body.os-skin .alert-success { background: var(--green-tint) !important; color: var(--green-300) !important; border: 1px solid var(--green-line) !important; }
body.os-skin .alert-danger { background: rgba(255,92,77,0.1) !important; color: #FFB0A6 !important; border: 1px solid rgba(255,92,77,0.4) !important; }

/* Badges */
body.os-skin .badge-light-primary, body.os-skin .badge-primary { background: var(--green-tint) !important; color: var(--green-400) !important; }

/* Links de conteúdo */
body.os-skin a { color: var(--green-400); }
body.os-skin a:hover { color: var(--green-300); }
