:root {
    --primary: #6d28d9;
    --primary-dark: #4c1d95;
    --secondary: #14b8a6;
    --ink: #172033;
    --muted: #687086;
    --soft: #f6f4fb;
    --border: #e7e3ef;
    --warning-bg: #fff7df;
}

html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: #fff; font-family: "Manrope", sans-serif; -webkit-font-smoothing: antialiased; }
h1 { outline: none; }
a { color: var(--primary); }
.btn-primary { --bs-btn-bg: var(--primary); --bs-btn-border-color: var(--primary); --bs-btn-hover-bg: var(--primary-dark); --bs-btn-hover-border-color: var(--primary-dark); box-shadow: 0 8px 24px rgba(109,40,217,.16); }
.site-header { background: rgba(255,255,255,.9); backdrop-filter: blur(14px); border-bottom: 1px solid rgba(231,227,239,.8); }
.brand { color: var(--ink); font-size: 1.22rem; font-weight: 800; letter-spacing: -.04em; text-decoration: none; }
.brand-mark { width: 36px; height: 36px; display: grid; place-items: center; color: white; background: linear-gradient(135deg,var(--primary),#9f67ef); border-radius: 11px; box-shadow: 0 8px 18px rgba(109,40,217,.25); }
.navbar .nav-link { color: #4d5466; font-size: .92rem; font-weight: 600; }
.navbar .nav-link.active,.navbar .nav-link:hover { color: var(--primary); }
.account-button { max-width: 230px; border: 1px solid var(--border); border-radius: 999px; background: #fff; }
.account-name { max-width: 130px; }
.footer { background: #151125; }
.hero { min-height: 690px; display: flex; align-items: center; background: radial-gradient(circle at 85% 15%,rgba(20,184,166,.12),transparent 28%),radial-gradient(circle at 0 10%,rgba(109,40,217,.09),transparent 30%),#fff; }
.eyebrow { display: inline-flex; align-items: center; color: var(--primary); background: #eee8fb; border-radius: 999px; padding: .45rem .8rem; font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.eyebrow-light { color: #ddd0ff; background: rgba(255,255,255,.1); }
.hero-title { font-size: clamp(2.75rem,6vw,4.65rem); line-height: 1.03; letter-spacing: -.065em; font-weight: 800; }
.gradient-text { padding-right: .08em; color: transparent; background: linear-gradient(100deg,var(--primary),#a94fd8,var(--secondary)); background-clip: text; -webkit-background-clip: text; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.hero-lead { color: var(--muted); max-width: 620px; font-size: 1.15rem; line-height: 1.75; }
.hero-visual { position: relative; max-width: 500px; padding: 2rem; }
.visual-glow { position: absolute; inset: 8% 0; border-radius: 50%; background: linear-gradient(135deg,#ddd1fd,#b7f2e9); filter: blur(25px); opacity: .7; }
.hero-lotofacil-image { max-width: 590px; }
.official-lotofacil-image { display: block; width: 100%; height: auto; filter: drop-shadow(0 26px 28px rgba(31,24,58,.2)); }
.section-space { padding-top: 6rem; padding-bottom: 6rem; }
.bg-soft { background: var(--soft); }
.section-heading { max-width: 700px; }
.benefit-card { padding: 2rem; background: white; border: 1px solid var(--border); border-radius: 22px; box-shadow: 0 14px 35px rgba(32,25,56,.05); transition: transform .2s,box-shadow .2s; }
.benefit-card:hover { transform: translateY(-5px); box-shadow: 0 20px 45px rgba(32,25,56,.1); }
.benefit-card h3 { margin-top: 1.3rem; font-size: 1.18rem; font-weight: 800; }
.benefit-card p { color: var(--muted); line-height: 1.7; }
.feature-icon,.plan-icon { width: 52px; height: 52px; display: grid; place-items: center; color: var(--primary); background: #eee8fb; border-radius: 15px; font-size: 1.4rem; }
.feature-icon.coral { color: #d84b66; background: #ffebef; }.feature-icon.amber { color: #b36d00; background: #fff1d9; }
.cta-panel { padding: 5rem 2rem; border-radius: 32px; background: radial-gradient(circle at 90% 0,rgba(20,184,166,.35),transparent 28%),linear-gradient(135deg,#27164f,var(--primary)); box-shadow: 0 25px 60px rgba(76,29,149,.25); }
.cta-panel p { max-width: 620px; font-size: 1.05rem; }
.pricing-hero { padding: 3rem 0 5rem; background: linear-gradient(180deg,#f8f5fe,#fff); }
.pricing-hero .lead { max-width: 670px; }
.pricing-grid { margin-top: -3.5rem; }
.price-card { position: relative; padding: 2.1rem; border: 1px solid var(--border); border-radius: 24px; background: #fff; box-shadow: 0 15px 45px rgba(33,24,61,.08); }
.price-card.featured { border: 2px solid var(--primary); transform: translateY(-12px); box-shadow: 0 24px 60px rgba(109,40,217,.16); }
.current-plan-label { color: var(--primary); background: rgba(109,40,217,.08); border: 1px solid rgba(109,40,217,.2); text-align: center; font-weight: 700; }
.popular-badge { position: absolute; top: 1.25rem; right: 1.25rem; color: white; background: var(--primary); border-radius: 999px; padding: .35rem .65rem; font-size: .66rem; font-weight: 800; letter-spacing: .06em; }
.plan-icon.premium { color: #b36d00; background: #fff1d9; }.plan-name { margin: 1.4rem 0 .3rem; font-size: 1.15rem; font-weight: 800; }
.price { display: flex; align-items: baseline; margin-bottom: 1rem; }.price span { font-weight: 700; }.price strong { margin-left: .35rem; font-size: 2.7rem; letter-spacing: -.06em; }.price small { color: var(--muted); }
.plan-features { display: grid; gap: 1rem; margin: 1.8rem 0 0; padding: 1.5rem 0 0; border-top: 1px solid var(--border); list-style: none; font-size: .9rem; }
.plan-features li { display: flex; gap: .7rem; }.plan-features i { color: var(--secondary); }
.plan-features.compact { margin-top: 1rem; padding-top: 1rem; }
.subscription-modal { z-index: 1060; overflow-y: auto; }.subscription-modal + .modal-backdrop { z-index: 1055; }
.legal-modal { z-index: 1080; }.legal-backdrop { z-index: 1075; }
.terms-consent { display: flex; align-items: flex-start; gap: .75rem; padding: 1rem; border: 1px solid var(--border); border-radius: 12px; background: #f8f7fb; }
.terms-consent .form-check-input { flex: 0 0 auto; margin-top: .2rem; cursor: pointer; }
.link-button { display: inline; padding: 0; color: var(--primary); border: 0; background: none; font-weight: 700; text-decoration: underline; }
.legal-scroll { min-height: 0; overflow-y: auto; padding: 2rem clamp(1rem,5vw,5rem); }
.legal-document { max-width: 960px; margin: auto; color: #444; line-height: 1.75; }
.legal-document h1,.legal-document h2,.legal-document h3 { color: var(--ink); margin-top: 1.5rem; }
.legal-document .legal-warning { padding: 1.4rem; color: #6a4300; border: 2px solid #e3a008; border-radius: 14px; background: var(--warning-bg); }
.scroll-end-marker { display: grid; gap: .5rem; margin: 4rem auto 1rem; color: #137663; font-size: 1rem; }.scroll-end-marker i { font-size: 2rem; }
.generator-header { background: linear-gradient(180deg,#f7f4fd,#fff); }
.usage-summary { min-width: 340px; padding: 1.1rem 1.3rem; background: white; border: 1px solid var(--border); border-radius: 16px; box-shadow: 0 10px 30px rgba(33,24,61,.07); }
.plan-chip { color: var(--primary); font-size: .75rem; font-weight: 800; text-transform: uppercase; }.usage-line { display: flex; justify-content: space-between; font-size: .78rem; }.progress { height: 5px; margin-top: .4rem; background: #eeeaf5; }.progress-bar { background: var(--primary); }.progress-bar.secondary { background: var(--secondary); }
.disclaimer-alert { color: #694d00; padding: 1.3rem; border: 1px solid #f0d889; border-radius: 17px; background: var(--warning-bg); }
.form-card { padding: 1.6rem; border: 1px solid var(--border); border-radius: 20px; background: #fff; box-shadow: 0 10px 35px rgba(33,24,61,.055); }
.card-heading { display: flex; align-items: flex-start; gap: .9rem; margin-bottom: 1.4rem; }.card-heading h2 { margin: 0; font-size: 1.15rem; font-weight: 800; }.card-heading p { margin: .2rem 0 0; color: var(--muted); font-size: .85rem; }
.step-number { flex: 0 0 auto; width: 30px; height: 30px; display: grid; place-items: center; color: white; background: var(--primary); border-radius: 9px; font-weight: 800; font-size: .8rem; }
.rule-list { border-top: 1px solid var(--border); }.rule-item { display: flex; align-items: center; gap: 1rem; padding: 1rem .15rem; border-bottom: 1px solid var(--border); }.rule-item.locked { opacity: .72; }.form-switch .form-check-input { width: 2.5rem; height: 1.3rem; cursor: pointer; }.form-check-input:checked { background-color: var(--primary); border-color: var(--primary); }
.paid-badge { display: inline-flex; align-items: center; gap: .25rem; color: #8a5900; background: #fff0ce; border-radius: 999px; padding: .26rem .5rem; font-size: .62rem; font-weight: 800; text-decoration: none; white-space: nowrap; }
.form-control { border-color: var(--border); border-radius: 11px; }.form-control:focus { border-color: #9d75df; box-shadow: 0 0 0 .2rem rgba(109,40,217,.11); }
.stat-callout { display: flex; align-items: center; gap: .8rem; color: #4f3980; padding: .85rem 1rem; background: #f2edfc; border-radius: 11px; font-size: .85rem; }.stat-callout i { font-size: 1.2rem; }
.generation-panel { top: 105px; }.quantity-input { height: 62px; font-size: 1.55rem; font-weight: 800; text-align: center; }.available-note { color: var(--muted); font-size: .82rem; }.acceptance-box { padding: 1rem 1rem 1rem 2.7rem; border-radius: 12px; background: #f8f7fb; font-size: .84rem; }.tiny { font-size: .7rem; }
.results-section { padding: 2rem 0 4rem; }.sequence-card { height: 100%; padding: 1.2rem; border: 1px solid var(--border); border-radius: 16px; background: #fff; box-shadow: 0 8px 25px rgba(33,24,61,.05); }.sum-chip { color: #54706b; background: #e8f7f4; border-radius: 999px; padding: .25rem .55rem; font-size: .7rem; font-weight: 800; }
.lotofacil-board { display: grid; grid-template-columns: repeat(5,1fr); gap: .45rem; padding: .75rem; border: 1px solid #ebe7f2; border-radius: 14px; background: #faf9fd; }
.lotofacil-number { aspect-ratio: 1; display: grid; place-items: center; border-radius: 50%; font-size: .75rem; font-weight: 800; transition: transform .15s,box-shadow .15s; }
.lotofacil-number.selected { color: white; background: linear-gradient(135deg,var(--primary),#8f51e2); box-shadow: 0 4px 10px rgba(109,40,217,.22); }
.lotofacil-number.unselected { color: #9a93a8; border: 1px solid #dfdbe7; background: #fff; }
.board-legend { display: flex; flex-wrap: wrap; gap: .9rem; color: var(--muted); font-size: .65rem; }
.board-legend span { display: inline-flex; align-items: center; gap: .35rem; }.legend-dot { width: 10px; height: 10px; border: 1px solid #d3cddd; border-radius: 50%; background: white; }.legend-dot.selected { border-color: var(--primary); background: var(--primary); }
.batch-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.15rem; }
.batch-card { display: block; padding: 1.4rem; color: var(--ink); border: 1px solid var(--border); border-radius: 18px; background: white; box-shadow: 0 10px 30px rgba(33,24,61,.055); text-decoration: none; transition: transform .18s,box-shadow .18s,border-color .18s; }
.batch-card:hover { color: var(--ink); border-color: #bca8e2; transform: translateY(-3px); box-shadow: 0 16px 36px rgba(33,24,61,.1); }
.batch-icon,.empty-state-icon { width: 46px; height: 46px; display: grid; place-items: center; color: var(--primary); background: #eee8fb; border-radius: 13px; font-size: 1.15rem; }
.batch-arrow { color: #9a91aa; transition: transform .18s; }.batch-card:hover .batch-arrow { color: var(--primary); transform: translateX(3px); }
.batch-meta { padding-top: .8rem; color: #625677; border-top: 1px solid var(--border); font-size: .75rem; }
.empty-state { padding: 4rem 1.5rem; border: 1px dashed #d8d0e5; border-radius: 22px; background: #faf9fd; }.empty-state-icon { margin: auto; width: 58px; height: 58px; font-size: 1.45rem; }
.back-link { display: inline-flex; align-items: center; color: #5b526b; font-size: .88rem; font-weight: 700; text-decoration: none; }.back-link:hover { color: var(--primary); }
.validation-message { color: #b42318; font-size: .78rem; }

/* Sugestões */
.suggestion-container { max-width: 780px; }
.suggestion-card { padding: clamp(1.4rem,4vw,2.2rem); }
.suggestion-textarea { min-height: 220px; resize: vertical; line-height: 1.65; }
.suggestion-success { padding: 3.5rem 1.5rem; border: 1px solid var(--border); border-radius: 22px; background: #fff; box-shadow: 0 12px 36px rgba(33,24,61,.065); }
.suggestion-success-icon { width: 68px; height: 68px; display: grid; place-items: center; margin: auto; color: #137663; background: #e3f7f2; border-radius: 20px; font-size: 1.8rem; }

/* Verificação de sequência */
.sequence-check-header { background: radial-gradient(circle at 90% 0,rgba(20,184,166,.12),transparent 28%),linear-gradient(180deg,#faf8ff,#fff); }
.sequence-check-layout { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(340px,.92fr); gap: 1.5rem; align-items: start; }
.sequence-picker-card,.sequence-result-card { padding: 1.7rem; border: 1px solid var(--border); border-radius: 22px; background: #fff; box-shadow: 0 12px 36px rgba(33,24,61,.065); }
.selection-counter { display: inline-flex; align-items: baseline; gap: .3rem; padding: .5rem .8rem; color: #625677; background: #f2eef9; border-radius: 999px; font-size: .75rem; font-weight: 700; }
.selection-counter strong { color: var(--primary); font-size: 1rem; }
.selection-counter.complete { color: #116b5d; background: #e3f7f2; }.selection-counter.complete strong { color: #0b7b69; }
.sequence-number-grid { display: grid; grid-template-columns: repeat(5,58px); justify-content: center; gap: .75rem; padding: 1.2rem; border: 1px solid #e8e3f0; border-radius: 19px; background: #faf9fd; }
.sequence-number { width: 58px; height: 58px; min-width: 0; color: #5e566d; border: 1px solid #dcd6e6; border-radius: 50%; background: #fff; font-weight: 800; transition: transform .15s,box-shadow .15s,border-color .15s,background .15s; }
.sequence-number:hover:not(:disabled) { color: var(--primary); border-color: #9e7bd8; transform: translateY(-2px); box-shadow: 0 7px 16px rgba(76,29,149,.12); }
.sequence-number.selected { color: #fff; border-color: transparent; background: linear-gradient(135deg,var(--primary),#9154df); box-shadow: 0 7px 16px rgba(109,40,217,.25); }
.sequence-number:disabled:not(.selected) { opacity: .48; }
.sequence-picker-footer { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding-top: 1.1rem; border-top: 1px solid var(--border); }
.sequence-picker-footer > div { display: grid; }.sequence-picker-footer span { color: var(--muted); font-size: .7rem; }.sequence-picker-footer strong { font-size: 1.35rem; }
.sequence-result-card { position: sticky; top: 105px; min-height: 420px; }
.sequence-result-placeholder { min-height: 365px; display: grid; place-items: center; align-content: center; text-align: center; }
.sequence-result-placeholder p { max-width: 310px; }
.result-placeholder-icon,.result-heading-icon { width: 58px; height: 58px; display: grid; place-items: center; color: var(--primary); background: #eee8fb; border-radius: 17px; font-size: 1.45rem; }
.result-heading { display: flex; align-items: center; gap: 1rem; }
.selected-sequence { display: flex; flex-wrap: wrap; gap: .38rem; }
.selected-sequence span { width: 32px; height: 32px; display: grid; place-items: center; color: #fff; background: var(--primary); border-radius: 50%; font-size: .7rem; font-weight: 800; }
.sequence-findings { display: grid; gap: .8rem; }
.finding { display: flex; align-items: flex-start; gap: .8rem; padding: 1rem; border: 1px solid; border-radius: 15px; }
.finding > i { margin-top: .1rem; font-size: 1.15rem; }.finding > div { display: grid; gap: .2rem; }.finding strong { font-size: .84rem; }.finding span { font-size: .72rem; line-height: 1.5; }
.finding.success { color: #116b5d; border-color: #b9e5da; background: #edf9f6; }.finding.warning { color: #805400; border-color: #ead18a; background: #fff8e5; }.finding.neutral { color: #594078; border-color: #d9ccef; background: #f4f0fb; }
.finding .finding-sum { font-size: 1.35rem; font-weight: 800; line-height: 1.1; }

/* Assinaturas */
.subscription-page-grid { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(330px,.85fr); gap: 1.5rem; align-items: start; }
.subscription-overview-card,.subscription-detail-card { padding: 1.7rem; border: 1px solid var(--border); border-radius: 22px; background: #fff; box-shadow: 0 12px 36px rgba(33,24,61,.065); }
.subscription-plan-icon { flex: 0 0 auto; width: 54px; height: 54px; display: grid; place-items: center; color: var(--primary); background: #eee8fb; border-radius: 16px; font-size: 1.45rem; }
.subscription-status,.payment-status { display: inline-flex; align-items: center; gap: .4rem; padding: .4rem .7rem; border-radius: 999px; font-size: .72rem; font-weight: 800; }
.subscription-status.active,.payment-status.paid { color: #137663; background: #e3f7f2; }
.subscription-status.pending,.payment-status.pending { color: #946000; background: #fff2ce; }
.subscription-status.inactive,.payment-status.canceled,.payment-status.expired { color: #6e6679; background: #efedf3; }
.subscription-price { display: flex; align-items: baseline; min-height: 54px; }.subscription-price span { font-weight: 700; }.subscription-price strong { margin-left: .3rem; font-size: 2.35rem; letter-spacing: -.055em; }.subscription-price strong:first-child { margin-left: 0; }.subscription-price small { color: var(--muted); }
.subscription-limits { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .8rem; }
.subscription-limits > div { display: grid; gap: .25rem; padding: 1rem; border: 1px solid var(--border); border-radius: 14px; background: #faf9fd; }
.subscription-limits i { color: var(--primary); font-size: 1.15rem; }.subscription-limits span { color: var(--muted); font-size: .75rem; }.subscription-limits strong { font-size: .9rem; }
.pending-payment-alert { display: flex; align-items: flex-start; gap: .9rem; padding: 1.1rem 1.2rem; color: #704900; border: 1px solid #ecd27f; border-radius: 17px; background: var(--warning-bg); }
.pending-payment-alert > i { font-size: 1.3rem; }.pending-payment-alert p { margin-top: .2rem; font-size: .82rem; }
.cancellation-scheduled-alert { display: flex; align-items: flex-start; gap: .9rem; padding: 1.1rem 1.2rem; color: #694d00; border: 1px solid #e8ca72; border-radius: 17px; background: #fff8e5; }
.cancellation-scheduled-alert > i { font-size: 1.3rem; }.cancellation-scheduled-alert p { margin-top: .2rem; font-size: .82rem; }
.cancellation-warning { display: flex; align-items: flex-start; gap: .9rem; padding: 1rem; color: #842029; border: 1px solid #f1aeb5; border-radius: 14px; background: #f8d7da; }
.cancellation-warning > i { font-size: 1.25rem; }.cancellation-warning p { margin-top: .25rem; font-size: .82rem; }
.subscription-data-list { display: grid; margin: 0; }
.subscription-data-list > div { display: grid; grid-template-columns: minmax(120px,.8fr) minmax(0,1.2fr); gap: 1rem; padding: .8rem 0; border-bottom: 1px solid var(--border); }
.subscription-data-list > div:first-child { padding-top: 0; }.subscription-data-list > div:last-child { padding-bottom: 0; border-bottom: 0; }
.subscription-data-list dt { color: var(--muted); font-size: .78rem; font-weight: 600; }.subscription-data-list dd { margin: 0; font-size: .84rem; font-weight: 700; text-align: right; }
.subscription-reference { overflow-wrap: anywhere; font-family: monospace; font-size: .74rem !important; }
/* Área administrativa */
.admin-shell { min-height: 100vh; display: flex; background: #f7f8fc; }
.admin-sidebar { position: fixed; inset: 0 auto 0 0; z-index: 20; width: 270px; display: flex; flex-direction: column; padding: 1.5rem 1.1rem; color: #d8d4e8; background: #181329; box-shadow: 12px 0 35px rgba(24,19,41,.08); }
.admin-brand { display: flex; align-items: center; gap: .75rem; margin: 0 .55rem 2.4rem; color: white; font-size: 1.17rem; font-weight: 500; text-decoration: none; letter-spacing: -.035em; }
.admin-brand strong { color: #bba1f4; font-weight: 800; }
.admin-menu-label { margin: 0 .75rem .65rem; color: #817995; font-size: .66rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.admin-nav { display: grid; gap: .35rem; }
.admin-nav a,.admin-sidebar-footer a { display: flex; align-items: center; gap: .8rem; padding: .78rem .85rem; color: #bdb8cc; border-radius: 11px; font-size: .87rem; font-weight: 600; text-decoration: none; transition: color .15s,background .15s; }
.admin-nav a > i:first-child,.admin-sidebar-footer a > i { width: 21px; font-size: 1.05rem; text-align: center; }
.admin-nav a:hover,.admin-nav a.active,.admin-sidebar-footer a:hover { color: white; background: rgba(255,255,255,.08); }
.admin-nav a.active { background: linear-gradient(100deg,rgba(109,40,217,.9),rgba(125,65,209,.72)); box-shadow: 0 8px 18px rgba(0,0,0,.16); }
.admin-sidebar-footer { display: grid; gap: .2rem; margin-top: auto; padding-top: 1rem; border-top: 1px solid rgba(255,255,255,.08); }
.admin-content { width: calc(100% - 270px); min-width: 0; margin-left: 270px; }
.admin-topbar { height: 72px; display: flex; align-items: center; justify-content: flex-end; padding: 0 2.25rem; background: rgba(255,255,255,.9); border-bottom: 1px solid #ebe9f1; backdrop-filter: blur(10px); }
.admin-mobile-title { display: none; font-weight: 800; }
.owner-chip { display: inline-flex; align-items: center; gap: .4rem; padding: .42rem .72rem; color: #5c3a91; background: #f0eafd; border-radius: 999px; font-size: .72rem; font-weight: 800; }
.admin-main { max-width: 1450px; margin: auto; padding: 2.5rem; }
.admin-page-heading { margin-bottom: 2rem; }
.admin-page-heading h1 { margin: .65rem 0 .35rem; font-size: clamp(1.8rem,3vw,2.45rem); font-weight: 800; letter-spacing: -.045em; }
.admin-page-heading p { margin: 0; color: var(--muted); }
.admin-stats-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.2rem; }
.admin-stat-card { display: flex; align-items: center; gap: 1rem; min-height: 142px; padding: 1.4rem; border: 1px solid #ebe8f1; border-radius: 18px; background: white; box-shadow: 0 10px 28px rgba(31,24,58,.045); }
.admin-stat-icon { flex: 0 0 auto; width: 52px; height: 52px; display: grid; place-items: center; color: #6d28d9; background: #eee8fb; border-radius: 15px; font-size: 1.35rem; }
.admin-stat-icon.blue { color: #2563eb; background: #e8f0ff; }.admin-stat-icon.amber { color: #b46b00; background: #fff2d8; }.admin-stat-icon.teal { color: #087d70; background: #ddf7f2; }.admin-stat-icon.rose { color: #be3455; background: #ffebf0; }.admin-stat-icon.green { color: #238149; background: #e4f6eb; }
.admin-stat-value { font-size: 1.75rem; font-weight: 800; letter-spacing: -.04em; }
.admin-stat-label { color: var(--muted); font-size: .79rem; line-height: 1.4; }
.admin-loading { display: flex; align-items: center; gap: 1rem; color: var(--muted); padding: 3rem; }
.admin-panel { padding: 1.7rem; border: 1px solid #e9e6ef; border-radius: 19px; background: white; box-shadow: 0 10px 30px rgba(31,24,58,.045); }
.admin-panel h2 { font-size: 1.08rem; font-weight: 800; }
.upload-panel { max-width: 760px; text-align: center; }
.upload-icon { width: 60px; height: 60px; display: grid; place-items: center; margin: 0 auto 1rem; color: #16846f; background: #e1f7f1; border-radius: 17px; font-size: 1.65rem; }
.upload-panel > p { max-width: 580px; margin: .6rem auto 1.5rem; color: var(--muted); font-size: .88rem; line-height: 1.6; }
.upload-dropzone { display: grid; place-items: center; min-height: 205px; margin-bottom: 1.25rem; padding: 1.5rem; color: var(--muted); border: 2px dashed #d9d3e5; border-radius: 16px; background: #faf9fd; cursor: pointer; transition: border-color .15s,background .15s; }
.upload-dropzone:hover,.upload-dropzone.selected { border-color: #9e7bd8; background: #f7f3fe; }
.upload-dropzone input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.upload-dropzone i { color: var(--primary); font-size: 2.2rem; }
.upload-dropzone strong { color: var(--ink); font-size: .95rem; }.upload-dropzone span { font-size: .75rem; }
.draw-list { display: grid; gap: .45rem; max-height: 600px; overflow: auto; }
.draw-list button { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: .8rem; width: 100%; padding: .8rem .7rem; color: var(--ink); border: 0; border-bottom: 1px solid #eeebf2; background: white; text-align: left; }
.draw-list button:hover { background: #faf8fe; }.draw-list button span:first-child { display: grid; }.draw-list small { color: var(--muted); font-size: .7rem; }.draw-sum { color: #54706b; padding: .25rem .5rem; background: #e8f7f4; border-radius: 999px; font-size: .66rem; font-weight: 800; }

@media (max-width: 991.98px) {
    .hero { min-height: auto; }.hero-title { letter-spacing: -.05em; }.price-card.featured { transform: none; }.pricing-grid { margin-top: -2rem; }.usage-summary { width: 100%; min-width: 0; }.generation-panel { position: static !important; }.navbar-collapse { padding-top: 1rem; }.account-button { margin-top: .8rem; }.batch-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.subscription-page-grid,.sequence-check-layout { grid-template-columns: 1fr; }.sequence-result-card { position: static; }
}
@media (max-width: 1199.98px) { .admin-stats-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 767.98px) {
    .admin-shell { display: block; padding-bottom: 76px; }.admin-sidebar { inset: auto 0 0; width: 100%; height: 68px; display: block; padding: .45rem .6rem; }.admin-brand,.admin-menu-label,.admin-sidebar-footer { display: none; }.admin-nav { height: 100%; display: grid; grid-template-columns: repeat(5,1fr); gap: .2rem; }.admin-nav a { justify-content: center; gap: .25rem; padding: .35rem; font-size: .62rem; flex-direction: column; }.admin-nav a > i:first-child { font-size: 1.1rem; }.admin-nav a > i:last-child { display: none; }.admin-content { width: 100%; margin: 0; }.admin-topbar { height: 58px; justify-content: space-between; padding: 0 1rem; }.admin-mobile-title { display: inline; }.admin-main { padding: 1.4rem 1rem; }.admin-stats-grid { grid-template-columns: 1fr; }.admin-stat-card { min-height: 112px; }.admin-page-heading.d-flex { flex-direction: column; }.admin-page-heading.d-flex .btn { width: 100%; }
}
@media (max-width: 575.98px) { .hero-visual { padding: .5rem; }.section-space { padding-top: 4rem; padding-bottom: 4rem; }.form-card,.sequence-picker-card,.sequence-result-card { padding: 1.1rem; }.rule-item { align-items: flex-start; gap: .65rem; }.lotofacil-board { gap: .3rem; padding: .6rem; }.sequence-number-grid { grid-template-columns: repeat(5,46px); gap: .42rem; padding: .75rem; }.sequence-number { width: 46px; height: 46px; font-size: .78rem; }.batch-grid { grid-template-columns: 1fr; }.subscription-limits { grid-template-columns: 1fr; }.subscription-data-list > div { grid-template-columns: 1fr; gap: .25rem; }.subscription-data-list dd { text-align: left; } }

.webhook-filters { display: flex; flex-wrap: wrap; gap: .55rem; margin-bottom: 1rem; }
.webhook-filters .btn { min-width: 112px; border-radius: 999px; font-size: .82rem; font-weight: 700; }
.webhook-panel { padding: 0; overflow: hidden; }
.webhook-table th { padding: 1rem 1.1rem; color: #716b7d; background: #faf9fc; border-bottom-color: #ebe8f1; font-size: .7rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
.webhook-table td { padding: .95rem 1.1rem; border-bottom-color: #f0edf4; font-size: .82rem; white-space: nowrap; }
.webhook-table code { color: #5b5369; font-size: .74rem; }
.webhook-status { display: inline-flex; align-items: center; border-radius: 999px; padding: .35rem .65rem; font-size: .68rem; font-weight: 800; }
.webhook-status.pending { color: #8a5900; background: #fff0ce; }
.webhook-status.processed { color: #187443; background: #def5e8; }
.webhook-status.error { color: #b4233f; background: #ffe3e9; }
.webhook-error-row td { color: #a42b42; background: #fff8fa; font-size: .76rem; white-space: normal; }
.webhook-empty { min-height: 260px; display: grid; place-items: center; align-content: center; gap: .4rem; color: var(--muted); text-align: center; }
.webhook-empty i { margin-bottom: .4rem; color: #9b91aa; font-size: 2rem; }
.webhook-empty strong { color: #37303f; }
.webhook-payload-modal { z-index: 1080; }
.webhook-payload-modal + .modal-backdrop { z-index: 1075; }
.webhook-payload-body { padding: 0; background: #16131d; }
.webhook-payload-body pre { min-height: 100%; margin: 0; padding: 1.5rem; color: #e9e2f5; font-size: .82rem; line-height: 1.65; white-space: pre-wrap; overflow-wrap: anywhere; }
