:root {
    --bg: #f6f7fb;
    --card: #ffffff;
    --text: #1d2330;
    --muted: #697386;
    --primary: #6d3df5;
    --border: #e6e8ef;
    --success: #137a4b;
    --danger: #b42318;
}
* { box-sizing: border-box; }
body {
    margin: 0; font-family: Inter, Arial, sans-serif;
    background: var(--bg); color: var(--text);
}
.container { max-width: 1100px; margin: 0 auto; padding: 24px; }
.topbar {
    background: linear-gradient(135deg, #5e2be9, #d9328b);
    color: white; padding: 22px 0;
}
.topbar a { color: white; text-decoration: none; }
.card {
    background: var(--card); border: 1px solid var(--border);
    border-radius: 16px; padding: 22px; margin: 18px 0;
    box-shadow: 0 10px 35px rgba(30, 35, 60, .06);
}
.grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
label { display: block; font-weight: 700; margin-bottom: 6px; }
input, select {
    width: 100%; padding: 12px 13px; border: 1px solid var(--border);
    border-radius: 10px; font-size: 15px; background: white;
}
input[type=checkbox] { width: auto; }
button, .button {
    display: inline-block; border: 0; border-radius: 10px; padding: 12px 18px;
    background: var(--primary); color: white; font-weight: 800;
    cursor: pointer; text-decoration: none;
}
.button.secondary { background: #ece8ff; color: #4e2bbd; }
.button.danger { background: var(--danger); }
table { width: 100%; border-collapse: collapse; }
th, td { padding: 11px; border-bottom: 1px solid var(--border); text-align: left; }
.badge { padding: 5px 9px; border-radius: 999px; font-size: 12px; font-weight: 800; }
.badge.valid { background: #dff7ea; color: var(--success); }
.badge.invalid { background: #fee4e2; color: var(--danger); }
.muted { color: var(--muted); }
.alert { padding: 13px 15px; border-radius: 10px; background: #fff5d6; margin: 14px 0; }
.winner {
    padding: 18px; border: 2px solid #dbcfff; border-radius: 14px;
    margin: 12px 0; background: #faf8ff;
}
@media (max-width: 720px) {
    .grid { grid-template-columns: 1fr; }
    .container { padding: 14px; }
    table { font-size: 13px; }
}

/* Atualização 01 — Login administrativo */
.auth-wrap { max-width: 520px; }
.auth-card { margin-top: 48px; }
.error-alert { background: #fee4e2; color: var(--danger); }
.success-alert { background: #dff7ea; color: var(--success); }
.admin-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.admin-header h1 { margin-bottom: 4px; }
.admin-header small { opacity: .9; }
.logout-button { background: rgba(255,255,255,.18); border: 1px solid rgba(255,255,255,.35); }
@media (max-width: 560px) {
    .admin-header { align-items: flex-start; }
}

/* Atualização 02.1 — painel profissional autocontido */
.admin-body { background: #f4f6fb; }
.admin-shell { min-height: 100vh; display: flex; }
.sidebar { position: fixed; inset: 0 auto 0 0; width: 250px; padding: 24px 18px; background: #19152f; color: #fff; display: flex; flex-direction: column; z-index: 30; box-shadow: 8px 0 30px rgba(24, 20, 48, .14); }
.brand { display: flex; align-items: center; gap: 12px; padding: 4px 8px 28px; }
.brand-mark { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; font-weight: 900; background: linear-gradient(135deg, #7a45ff, #e03692); }
.brand strong, .brand small { display: block; }.brand small { color: #aaa4c5; margin-top: 2px; }
.sidebar-nav { display: grid; gap: 7px; }
.nav-link { display: flex; align-items: center; gap: 12px; padding: 11px 12px; border-radius: 11px; color: #c9c4dc; text-decoration: none; font-weight: 700; }
.nav-link:hover, .nav-link.active { background: rgba(124, 76, 255, .18); color: #fff; }
.nav-icon { flex: 0 0 30px; height: 30px; display: grid; place-items: center; border-radius: 9px; background: rgba(255,255,255,.08); font-size: 14px; }
.nav-link.active .nav-icon { background: #7543f5; }
.sidebar-user { margin-top: auto; display: flex; align-items: center; gap: 10px; padding: 16px 8px; border-top: 1px solid rgba(255,255,255,.09); }
.user-avatar { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; background: #7543f5; font-weight: 900; }
.user-meta { min-width: 0; }.user-meta strong, .user-meta small { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }.user-meta small { color: #aaa4c5; margin-top: 2px; }
.logout-link { margin-top: 2px; }.admin-main { width: 100%; margin-left: 250px; }
.mobile-topbar { display: none; height: 64px; background: #fff; border-bottom: 1px solid #e8e9f0; align-items: center; gap: 12px; padding: 0 18px; position: sticky; top: 0; z-index: 20; }
.menu-button { width: 40px; height: 40px; padding: 0; border-radius: 10px; }
.admin-content { width: 100%; max-width: 1350px; padding: 34px; margin: 0 auto; }
.page-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 18px; margin-bottom: 24px; }
.page-heading h1 { margin: 3px 0 0; font-size: clamp(28px, 4vw, 38px); }.eyebrow { margin: 0; color: #7850dd; text-transform: uppercase; letter-spacing: .09em; font-size: 12px; font-weight: 900; }
.welcome-card { display: flex; justify-content: space-between; align-items: center; gap: 22px; padding: 28px; border-radius: 20px; color: #fff; background: linear-gradient(135deg, #6b3df0, #c22f96); box-shadow: 0 18px 45px rgba(108, 61, 240, .2); }
.welcome-card h2 { margin: 10px 0 8px; font-size: 27px; }.welcome-card p { margin: 0; color: rgba(255,255,255,.86); }.welcome-badge { padding: 6px 10px; border-radius: 999px; background: rgba(255,255,255,.16); font-size: 12px; font-weight: 800; }
.button-light { background: #fff; color: #5c31d4; white-space: nowrap; }.button-light:hover { background: #f7f3ff; }
.stats-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 22px 0; }
.stat-card { display: flex; gap: 14px; min-height: 145px; padding: 22px; border: 1px solid #e7e8ef; border-radius: 18px; background: #fff; box-shadow: 0 8px 28px rgba(32, 28, 55, .06); }
.stat-icon { flex: 0 0 44px; height: 44px; display: grid; place-items: center; border-radius: 13px; color: #6338dc; background: #eee8ff; font-weight: 900; }.stat-card small, .stat-card strong, .stat-card p { display: block; }.stat-card small { color: #73788a; font-weight: 700; }.stat-card strong { margin-top: 7px; font-size: 29px; }.stat-card p { margin: 5px 0 0; color: #9a9eaa; font-size: 13px; }
.panel-card { background: #fff; border: 1px solid #e6e8ef; border-radius: 18px; padding: 24px; margin: 18px 0; box-shadow: 0 10px 34px rgba(30, 35, 60, .055); }
.panel-header { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 18px; }.panel-header h2 { margin: 4px 0 0; }.panel-header p:not(.eyebrow) { color: #777d8e; margin: 6px 0 0; }.panel-header > a { font-weight: 800; color: #6840d7; text-decoration: none; }
.admin-table th { color: #777d8e; font-size: 12px; text-transform: uppercase; letter-spacing: .04em; }.admin-table td { vertical-align: middle; }.admin-table td strong, .admin-table td small { display: block; }.admin-table td small { color: #9297a4; margin-top: 4px; }.table-action { display: inline-block; padding: 8px 12px; border-radius: 9px; background: #eee8ff; color: #5e35cf; text-decoration: none; font-weight: 800; }
.status { display: inline-block; padding: 6px 9px; border-radius: 999px; font-size: 12px; font-weight: 900; text-transform: capitalize; }.status-draft { background: #eef0f4; color: #5d6472; }.status-ready { background: #dcf7e9; color: #14754a; }.status-drawn { background: #eee8ff; color: #6037d4; }.status-invalid { background: #fee4e2; color: #a92c23; }
.empty-state { padding: 44px 20px; text-align: center; border: 1px dashed #d8d9e1; border-radius: 15px; background: #fafaff; }.empty-state strong { font-size: 18px; }.empty-state p { color: #818696; }
.form-card { max-width: 980px; }.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; }.field-full { grid-column: 1/-1; }.field label { margin-bottom: 7px; }.field small { display: block; margin-top: 6px; color: #8b8f9c; }.field input { min-height: 48px; }
.check-card { display: flex; gap: 12px; padding: 16px; margin: 20px 0; border: 1px solid #e1d9fb; border-radius: 13px; background: #faf8ff; cursor: pointer; }.check-card input { margin-top: 3px; }.check-card strong, .check-card small { display: block; }.check-card small { color: #797e8d; margin-top: 4px; font-weight: 400; }.form-actions { display: flex; justify-content: flex-end; gap: 10px; padding-top: 8px; }.button-secondary { background: #eef0f4; color: #4e5563; }
.summary-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }.summary-card { padding: 18px; border: 1px solid #e5e7ee; border-radius: 15px; background: #fff; }.summary-card small, .summary-card strong { display: block; }.summary-card small { color: #777d8e; }.summary-card strong { margin-top: 8px; font-size: 23px; }
.details-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }.details-grid > div { padding: 15px; border-radius: 13px; background: #f8f8fb; }.details-grid small, .details-grid strong, .details-grid a { display: block; }.details-grid small { color: #777d8e; margin-bottom: 5px; }.details-grid a { color: #6138d5; font-weight: 800; text-decoration: none; }
.two-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }.two-columns .panel-card { margin: 0; }.file-box { display: grid; gap: 4px; padding: 18px; margin: 16px 0; border: 1px dashed #bcb3dc; border-radius: 13px; background: #faf8ff; }.file-box input { margin-bottom: 8px; }.file-box span { font-weight: 800; }.file-box small { color: #7d8290; }.draw-card { background: linear-gradient(145deg,#fff,#fbf8ff); }.button-danger { background: #c92c43; }.button-danger:disabled { opacity: .45; cursor: not-allowed; }
.winners-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }.winner { margin: 0; }.winner span, .winner strong { display: block; }.winner span { color: #6940d8; font-weight: 900; font-size: 12px; text-transform: uppercase; }.winner strong { margin-top: 7px; font-size: 21px; }.winner small { word-break: break-all; color: #8b8f9c; }
@media (max-width: 1050px) { .stats-grid, .summary-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 860px) { .sidebar { transform: translateX(-105%); transition: transform .2s ease; }.sidebar.open { transform: translateX(0); }.admin-main { margin-left: 0; }.mobile-topbar { display: flex; }.admin-content { padding: 22px 16px; }.welcome-card { align-items: flex-start; flex-direction: column; }.page-heading { align-items: flex-start; }.two-columns { grid-template-columns: 1fr; } }
@media (max-width: 620px) { .stats-grid, .summary-grid, .form-grid, .details-grid, .winners-grid { grid-template-columns: 1fr; }.field-full { grid-column: auto; }.page-heading { flex-direction: column; }.page-heading .button { width: 100%; text-align: center; }.panel-card { padding: 18px; }.admin-content { padding: 18px 12px; }.form-actions { flex-direction: column-reverse; }.form-actions .button, .form-actions button { width: 100%; text-align: center; }.table-wrap { overflow-x: auto; } }

/* Atualização 02.2 — Dashboard premium */
.dashboard-hero { display: grid; grid-template-columns: minmax(0,1.7fr) minmax(240px,.7fr); gap: 24px; padding: 30px; border-radius: 22px; color: #fff; background: radial-gradient(circle at 92% 12%, rgba(255,255,255,.18), transparent 26%), linear-gradient(135deg,#6534e9,#b52c9b); box-shadow: 0 22px 54px rgba(101,52,233,.22); overflow: hidden; }
.dashboard-hero h2 { margin: 12px 0 8px; font-size: 30px; }.dashboard-hero p { margin: 0; color: rgba(255,255,255,.84); }.hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }.button-ghost-light { background: rgba(255,255,255,.11); color: #fff; border: 1px solid rgba(255,255,255,.28); }.button-ghost-light:hover { background: rgba(255,255,255,.18); }
.hero-metric { align-self: stretch; min-height: 170px; display: flex; flex-direction: column; justify-content: center; padding: 22px; border-radius: 18px; background: rgba(20,12,57,.22); border: 1px solid rgba(255,255,255,.16); backdrop-filter: blur(8px); }.hero-metric span { color: rgba(255,255,255,.76); font-size: 13px; font-weight: 800; }.hero-metric strong { margin-top: 7px; font-size: 42px; }.hero-metric small { margin-top: 2px; color: rgba(255,255,255,.72); }.metric-progress { height: 8px; margin-top: 17px; border-radius: 999px; background: rgba(255,255,255,.18); overflow: hidden; }.metric-progress i { display: block; height: 100%; border-radius: inherit; background: #fff; }
.stats-grid-premium .stat-card { position: relative; overflow: hidden; transition: transform .18s ease, box-shadow .18s ease; }.stats-grid-premium .stat-card:hover { transform: translateY(-3px); box-shadow: 0 16px 35px rgba(32,28,55,.10); }.stats-grid-premium .stat-card::after { content: ''; position: absolute; width: 80px; height: 80px; right: -26px; top: -28px; border-radius: 50%; opacity: .11; background: currentColor; }.stat-card-purple { color: #6338dc; }.stat-card-green { color: #168657; }.stat-card-blue { color: #2676d9; }.stat-card-orange { color: #c96a17; }.stats-grid-premium .stat-card small,.stats-grid-premium .stat-card strong,.stats-grid-premium .stat-card p { color: initial; }.stats-grid-premium .stat-icon { color: currentColor; background: color-mix(in srgb, currentColor 12%, white); }
.dashboard-grid { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(310px,.75fr); gap: 18px; }.dashboard-grid .panel-card { margin: 0; }.status-overview { display: grid; grid-template-columns: 190px 1fr; gap: 26px; align-items: center; padding: 10px 0 18px; }.donut { --done:0; --ready:0; width: 168px; aspect-ratio: 1; border-radius: 50%; display: grid; place-items: center; background: conic-gradient(#7543f5 0 calc(var(--done)*1%), #2fc184 calc(var(--done)*1%) calc(var(--ready)*1%), #e9eaf0 calc(var(--ready)*1%) 100%); position: relative; }.donut::after { content:''; width: 112px; aspect-ratio:1; border-radius:50%; background:#fff; position:absolute; }.donut div { position: relative; z-index:1; text-align:center; }.donut strong,.donut span { display:block; }.donut strong { font-size:31px; }.donut span { color:#888d9b; font-size:12px; margin-top:2px; }.status-legend { display:grid; gap:11px; }.status-legend > div { display:grid; grid-template-columns: 12px 1fr auto; gap:10px; align-items:center; padding:10px 12px; border-radius:11px; background:#f8f8fb; }.status-legend b { font-size:18px; }.legend-dot { width:10px; height:10px; border-radius:50%; }.legend-drawn { background:#7543f5; }.legend-ready { background:#2fc184; }.legend-draft { background:#d7d9e2; }.quality-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; padding-top:16px; border-top:1px solid #ececf2; }.quality-row > div { padding:12px; border-radius:12px; background:#fafaff; }.quality-row span,.quality-row strong { display:block; }.quality-row span { color:#858a98; font-size:12px; }.quality-row strong { margin-top:5px; font-size:20px; }
.quick-card { display:flex; flex-direction:column; }.quick-action { display:grid; grid-template-columns:42px 1fr auto; gap:12px; align-items:center; padding:14px 0; color:#252938; text-decoration:none; border-bottom:1px solid #ececf2; }.quick-action > span { width:42px; height:42px; display:grid; place-items:center; border-radius:12px; background:#eee8ff; color:#673bd9; font-weight:900; }.quick-action strong,.quick-action small { display:block; }.quick-action small { margin-top:4px; color:#888d9b; }.quick-action b { color:#8b8f9d; font-size:25px; }.quick-action:hover strong { color:#673bd9; }.quick-notice { margin-top:auto; padding:15px; border-radius:13px; background:#fff5db; color:#7d5715; }.quick-notice strong,.quick-notice span { display:block; }.quick-notice span { margin-top:4px; font-size:13px; }.quick-notice.neutral { background:#e9f8f1; color:#176947; }
@supports not (background: color-mix(in srgb, red 10%, white)) { .stats-grid-premium .stat-icon { background:#eee8ff; } }
@media (max-width: 1050px) { .dashboard-grid { grid-template-columns:1fr; }.quick-notice { margin-top:18px; } }
@media (max-width: 760px) { .dashboard-hero { grid-template-columns:1fr; padding:24px; }.hero-metric { min-height:auto; }.status-overview { grid-template-columns:1fr; justify-items:center; width:100%; }.status-legend { width:100%; }.quality-row { grid-template-columns:1fr; } }
@media (max-width: 520px) { .hero-actions { flex-direction:column; }.hero-actions .button { width:100%; text-align:center; } }

/* v0.5.0 — fluxo profissional e gerenciamento */
.sidebar-backdrop { display:none; }
.creation-shell { max-width: 1040px; margin: 0 auto; }
.creation-steps { display:grid; grid-template-columns:auto 1fr auto 1fr auto; align-items:center; gap:16px; margin: 0 0 20px; padding:18px 22px; border:1px solid #e6e6ee; border-radius:18px; background:#fff; box-shadow:0 10px 26px rgba(31,27,55,.05); }
.creation-steps > i { height:2px; background:#e5e1ef; }
.creation-step { display:flex; align-items:center; gap:10px; padding:0; color:#969aa8; background:none; box-shadow:none; text-align:left; }
.creation-step:hover { transform:none; box-shadow:none; }
.creation-step > span { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; background:#eef0f4; color:#757b89; font-weight:900; }
.creation-step strong,.creation-step small { display:block; }.creation-step small { margin-top:2px; font-size:11px; font-weight:600; }
.creation-step.active { color:#5f36d5; }.creation-step.active > span { background:#6e3ee8; color:#fff; box-shadow:0 7px 15px rgba(110,62,232,.25); }.creation-step.complete > span { background:#dff7eb; color:#168657; }
.creation-form { padding:30px; border:1px solid #e5e6ed; border-radius:20px; background:#fff; box-shadow:0 18px 42px rgba(31,27,55,.07); }
.wizard-panel { display:none; }.wizard-panel.active { display:block; animation:wizardIn .24s ease; }
@keyframes wizardIn { from { opacity:0; transform:translateY(7px); } to { opacity:1; transform:none; } }
.wizard-copy { max-width:690px; margin-bottom:25px; }.wizard-copy h2 { margin:4px 0 7px; font-size:28px; }.wizard-copy p:not(.eyebrow) { margin:0; color:#777d8e; }
.instagram-link-card { display:flex; gap:16px; align-items:center; padding:20px; border:1px solid #dfd7f8; border-radius:16px; background:linear-gradient(145deg,#fbf9ff,#fff); }
.instagram-app-mark { flex:0 0 auto; width:54px; height:54px; display:grid; place-items:center; border-radius:16px; color:#fff; background:linear-gradient(135deg,#7041ee,#d5329e); font-size:28px; font-weight:900; box-shadow:0 12px 24px rgba(112,65,238,.22); }.instagram-app-mark.small { width:43px; height:43px; border-radius:13px; font-size:22px; }
.field-grow { flex:1; }.valid-feedback { color:#188458 !important; font-weight:700; }
.publication-preview { display:grid; grid-template-columns:64px 1fr auto; gap:15px; align-items:center; padding:15px; margin-top:14px; border-radius:15px; background:#effaf5; border:1px solid #d7f0e4; }.publication-preview[hidden] { display:none; }.preview-visual { width:64px; height:64px; display:grid; place-items:center; border-radius:14px; color:#7041ee; background:#fff; font-weight:900; }.publication-preview small,.publication-preview strong,.publication-preview p { display:block; margin:0; }.publication-preview small { color:#6b7d73; }.publication-preview p { margin-top:3px; color:#7d8e84; font-size:12px; }.verified-chip { padding:7px 10px; border-radius:999px; color:#18784f; background:#d9f4e7; font-size:12px; font-weight:900; }
.compact-grid { margin-top:22px; }.wizard-actions { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:28px; padding-top:22px; border-top:1px solid #ededf2; }.wizard-actions-end { justify-content:flex-end; }.wizard-actions button span { margin-left:8px; }
.rule-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }.rule-card { position:relative; display:flex; gap:14px; align-items:flex-start; min-height:145px; padding:19px; border:1px solid #e5e4ec; border-radius:16px; background:#fbfbfd; }.rule-card strong,.rule-card small { display:block; }.rule-card small { margin-top:5px; color:#7f8492; line-height:1.45; }.rule-icon { flex:0 0 auto; width:40px; height:40px; display:grid; place-items:center; border-radius:12px; color:#6439d9; background:#eee8ff; font-weight:900; }.rule-content { flex:1; }.rule-content input { margin-top:14px; background:#fff; }.rule-card-switch { cursor:pointer; }.rule-card-switch > input { position:absolute; opacity:0; pointer-events:none; }.rule-switch { position:absolute; top:18px; right:18px; width:43px; height:24px; border-radius:999px; background:#d7d9e2; transition:.2s; }.rule-switch::after { content:''; position:absolute; width:18px; height:18px; top:3px; left:3px; border-radius:50%; background:#fff; box-shadow:0 2px 5px rgba(0,0,0,.18); transition:.2s; }.rule-card-switch > input:checked + .rule-switch { background:#6d3de8; }.rule-card-switch > input:checked + .rule-switch::after { transform:translateX(19px); }.rule-card-info { background:#f2faf6; border-color:#dcefe5; }.rule-card-info .rule-icon { color:#178457; background:#dff5ea; }
.number-control { display:grid; grid-template-columns:42px 1fr 42px; gap:6px; margin-top:14px; }.number-control input { margin:0; text-align:center; }.number-control button { padding:0; min-height:42px; border-radius:10px; color:#6439d9; background:#eee8ff; font-size:22px; }.number-control button:hover { transform:none; box-shadow:none; background:#e3dbff; }
.review-card { border:1px solid #e5e5ec; border-radius:17px; overflow:hidden; }.review-head { display:grid; grid-template-columns:43px 1fr auto; gap:13px; align-items:center; padding:18px; background:#faf9fd; border-bottom:1px solid #ecebf1; }.review-head small,.review-head strong { display:block; }.review-head small { color:#858a97; }.review-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; }.review-grid > div { min-height:91px; padding:18px; border-right:1px solid #eeeeF3; border-bottom:1px solid #eeeef3; }.review-grid > div:nth-child(3n) { border-right:0; }.review-grid small,.review-grid strong { display:block; }.review-grid small { color:#858a97; margin-bottom:7px; }.review-grid strong { word-break:break-word; }
.next-phase-note { display:flex; gap:12px; align-items:flex-start; margin-top:17px; padding:15px; border-radius:13px; background:#f0ebff; color:#5632bb; }.next-phase-note > span { width:27px; height:27px; display:grid; place-items:center; border-radius:50%; background:#6d3de8; color:#fff; font-weight:900; }.next-phase-note p { margin:4px 0 0; color:#755fc1; }
.manager-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin:20px 0; }.search-box { flex:1; min-width:260px; display:flex; align-items:center; gap:10px; padding:0 13px; border:1px solid #e0e2e9; border-radius:11px; background:#fff; }.search-box input { border:0; box-shadow:none; padding-left:0; }.search-box input:focus { box-shadow:none; }.manager-toolbar select { width:auto; min-width:190px; }.clear-filter { color:#6d3de8; font-weight:800; text-decoration:none; }
.campaign-list { display:grid; gap:12px; }.campaign-row { display:grid; grid-template-columns:54px minmax(0,1fr) auto; gap:15px; align-items:center; padding:16px; border:1px solid #e7e7ee; border-radius:15px; background:#fff; transition:.18s; }.campaign-row:hover { border-color:#d8cdfa; box-shadow:0 10px 24px rgba(51,43,85,.07); transform:translateY(-1px); }.campaign-mark { width:54px; height:54px; display:grid; place-items:center; border-radius:15px; color:#6439d9; background:#eee8ff; font-size:21px; font-weight:900; }.campaign-title-line { display:flex; align-items:center; flex-wrap:wrap; gap:9px; }.campaign-main > p { margin:5px 0 9px; color:#858a98; font-size:13px; }.campaign-metrics { display:flex; flex-wrap:wrap; gap:15px; color:#737887; font-size:12px; }.campaign-metrics b { color:#292d39; }.campaign-actions { display:flex; align-items:center; gap:7px; }.campaign-actions form { margin:0; }.icon-action { width:37px; height:37px; display:grid; place-items:center; padding:0; border:1px solid #e1e2e8; border-radius:10px; color:#5d6370; background:#fff; text-decoration:none; font-size:18px; font-weight:900; box-shadow:none; }.icon-action:hover { color:#6439d9; background:#f3efff; transform:none; box-shadow:none; }.danger-icon:hover { color:#aa293b; background:#fff0f2; }
.campaign-hero { display:flex; justify-content:space-between; gap:24px; align-items:center; padding:25px; border-radius:20px; color:#fff; background:radial-gradient(circle at 92% 15%,rgba(255,255,255,.17),transparent 28%),linear-gradient(135deg,#6033df,#b32b99); box-shadow:0 20px 42px rgba(96,51,223,.19); }.campaign-platform { display:flex; align-items:center; gap:11px; }.campaign-platform > span { width:39px; height:39px; display:grid; place-items:center; border-radius:11px; background:rgba(255,255,255,.16); font-size:22px; }.campaign-platform small,.campaign-platform a { display:block; }.campaign-platform small { color:rgba(255,255,255,.72); }.campaign-platform a { margin-top:2px; color:#fff; font-weight:800; text-decoration:none; }.campaign-hero h2 { margin:18px 0 11px; font-size:29px; }.campaign-tags { display:flex; flex-wrap:wrap; gap:9px; align-items:center; }.campaign-tags > span:not(.status) { padding:6px 9px; border-radius:999px; color:rgba(255,255,255,.83); background:rgba(255,255,255,.11); font-size:12px; }.campaign-hero-actions { display:flex; flex-wrap:wrap; gap:9px; }.campaign-hero-actions .button-secondary { background:#fff; color:#6033d2; }
.process-card { margin-top:18px; padding:22px; border:1px solid #e5e6ed; border-radius:17px; background:#fff; }.process-head { display:flex; justify-content:space-between; gap:15px; align-items:flex-end; }.process-head h2 { margin:3px 0 0; }.process-head > strong { color:#693bdc; font-size:25px; }.process-line { height:8px; margin:17px 0; border-radius:999px; background:#ececf2; overflow:hidden; }.process-line i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#6b3ce5,#be35a3); }.process-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }.process-steps span { display:flex; align-items:center; gap:8px; color:#9a9eaa; font-size:12px; font-weight:800; }.process-steps b { width:25px; height:25px; display:grid; place-items:center; border-radius:50%; background:#eceef2; }.process-steps .done { color:#188258; }.process-steps .done b { color:#fff; background:#24a76e; }
.summary-grid-five { grid-template-columns:repeat(5,minmax(0,1fr)); }.details-and-rules { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:18px; }.details-and-rules .panel-card { margin:0; }.active-rules { display:grid; gap:10px; }.active-rules > div { display:grid; grid-template-columns:38px 1fr; gap:12px; align-items:center; padding:11px; border-radius:12px; background:#f8f8fb; }.active-rules > div > span { width:38px; height:38px; display:grid; place-items:center; border-radius:11px; color:#6037d4; background:#ece6ff; font-weight:900; }.active-rules p,.active-rules small,.active-rules strong { display:block; margin:0; }.active-rules small { margin-top:3px; color:#858a98; }.drop-zone { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:176px; padding:20px; margin:16px 0; border:1px dashed #bdb2e0; border-radius:15px; background:#faf8ff; text-align:center; cursor:pointer; }.drop-zone input { max-width:100%; margin-bottom:10px; }.drop-zone strong,.drop-zone small { display:block; }.drop-zone small { margin-top:5px; color:#858a98; }.drop-icon { width:42px; height:42px; display:grid; place-items:center; margin-bottom:9px; border-radius:12px; color:#6339d7; background:#eee7ff; font-size:22px; }.button-wide { width:100%; }.result-ready-card { display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; background:linear-gradient(145deg,#fff,#faf7ff); }.result-ready-card > span { width:54px; height:54px; display:grid; place-items:center; border-radius:16px; color:#fff; background:linear-gradient(135deg,#6b3ce5,#bd35a3); font-size:24px; }.result-ready-card h2 { margin:13px 0 4px; }.result-ready-card p { color:#858a98; }
.draw-stage { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-top:18px; padding:25px; border:1px solid #e5e6ed; border-radius:18px; background:#f8f8fb; }.draw-stage.ready { color:#fff; border:0; background:linear-gradient(135deg,#22203d,#4b2ea0); box-shadow:0 18px 40px rgba(44,34,91,.17); }.draw-stage h2 { margin:4px 0 6px; }.draw-stage p:not(.eyebrow) { margin:0; color:#858a98; }.draw-stage.ready p:not(.eyebrow) { color:rgba(255,255,255,.72); }.draw-stage.ready .eyebrow { color:#d8cbff; }.draw-button { min-width:205px; padding:16px 22px; border-radius:13px; background:linear-gradient(135deg,#7c4bf2,#ce3aaa); font-size:16px; }.draw-button:disabled { opacity:.4; cursor:not-allowed; }.draw-button span { margin-right:6px; }.winner-premium { border:1px solid #dfd5fb; background:linear-gradient(145deg,#fff,#faf7ff); }.compact-empty { padding:28px 15px; }
@media (max-width:1100px) { .summary-grid-five { grid-template-columns:repeat(3,minmax(0,1fr)); } .details-and-rules { grid-template-columns:1fr; } }
@media (max-width:860px) { .sidebar-backdrop.show { display:block; position:fixed; inset:0; z-index:39; background:rgba(12,10,28,.46); }.creation-steps { grid-template-columns:1fr; }.creation-steps > i { display:none; }.creation-step { width:100%; }.campaign-row { grid-template-columns:48px minmax(0,1fr); }.campaign-actions { grid-column:1/-1; justify-content:flex-end; }.campaign-hero,.draw-stage { align-items:flex-start; flex-direction:column; }.campaign-hero-actions { width:100%; }.campaign-hero-actions .button { flex:1; text-align:center; }.draw-stage form,.draw-button { width:100%; }.review-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.review-grid > div:nth-child(3n) { border-right:1px solid #eeeef3; }.review-grid > div:nth-child(2n) { border-right:0; } }
@media (max-width:650px) { .creation-form { padding:20px 16px; }.rule-grid,.review-grid,.summary-grid-five { grid-template-columns:1fr; }.review-grid > div { border-right:0 !important; }.instagram-link-card { align-items:flex-start; }.publication-preview { grid-template-columns:52px 1fr; }.preview-visual { width:52px; height:52px; }.verified-chip { grid-column:1/-1; justify-self:start; }.manager-toolbar > * { width:100% !important; }.campaign-row { grid-template-columns:1fr; }.campaign-mark { width:45px; height:45px; }.campaign-actions { justify-content:flex-start; flex-wrap:wrap; }.process-steps { grid-template-columns:1fr; }.campaign-hero-actions { flex-direction:column; }.campaign-hero-actions .button { width:100%; }.wizard-actions { flex-direction:column-reverse; }.wizard-actions button,.wizard-actions .button { width:100%; text-align:center; } }

/* v0.6.0 — Integração Instagram */
.integration-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px;border-radius:22px;background:linear-gradient(135deg,#6d35ef,#c536aa);color:#fff;margin-bottom:18px;box-shadow:0 18px 45px rgba(105,51,235,.22)}
.integration-hero h2{font-size:26px;margin:4px 0 8px}.integration-hero p{max-width:720px;margin:0;opacity:.9;line-height:1.55}.integration-hero .eyebrow{color:#fff;opacity:.72}.integration-state{padding:10px 14px;border-radius:999px;font-weight:800;white-space:nowrap}.integration-state.online{background:#dff9eb;color:#087a48}.integration-state.offline{background:rgba(255,255,255,.16);color:#fff;border:1px solid rgba(255,255,255,.22)}
.settings-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;margin-bottom:18px}.settings-form{display:grid;gap:14px}.settings-form label{display:grid;gap:7px;font-weight:800}.settings-form input{width:100%;padding:13px 14px;border:1px solid #dfe2ec;border-radius:11px;background:#fff}.settings-form input[readonly]{background:#f3f4f8;color:#555e73}.form-help{font-size:13px;color:#727a90;margin:-4px 0 0}.connection-card{display:flex;flex-direction:column}.connection-card>p{color:#697186;line-height:1.55}.connected-profile{display:flex;align-items:center;gap:14px;padding:18px;background:#f7f5ff;border:1px solid #ebe6ff;border-radius:16px;margin:4px 0 18px}.connected-profile>span{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#7439ef,#d437a3);color:#fff;font-size:20px;font-weight:900}.connected-profile div{display:grid;gap:2px}.connected-profile small{color:#747b8e}.automation-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.automation-steps>div{display:flex;gap:12px;padding:16px;background:#f8f7fc;border-radius:14px}.automation-steps b{width:30px;height:30px;flex:0 0 30px;border-radius:10px;display:grid;place-items:center;background:#7040ed;color:#fff}.automation-steps span{display:grid;gap:4px}.automation-steps small{color:#70778a;line-height:1.4}
.auto-import-box{display:flex;align-items:center;gap:13px;padding:15px;border-radius:14px;background:#effcf5;border:1px solid #c8f2dc;margin-bottom:12px}.auto-import-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(135deg,#6f3cee,#d238a3);color:#fff;font-weight:900}.auto-import-box div{display:grid;gap:3px}.auto-import-box small{color:#65726d;line-height:1.4}.auto-import-button{font-size:14px}.auto-import-button span{font-size:18px;margin-right:5px}.connection-required{display:flex;gap:14px;padding:16px;border:1px solid #f0dca7;background:#fff9e9;border-radius:14px}.connection-required>span{width:34px;height:34px;flex:0 0 34px;border-radius:10px;background:#ffb020;color:#fff;display:grid;place-items:center;font-weight:900}.connection-required p{color:#766d58;margin:5px 0 12px;line-height:1.45}.manual-import{margin-top:14px;border-top:1px solid #eceef4;padding-top:12px}.manual-import summary{cursor:pointer;font-weight:800;color:#6e3ce9;list-style:none}.manual-import summary::-webkit-details-marker{display:none}.manual-import form{margin-top:12px}.button[disabled],button[disabled]{opacity:.45;cursor:not-allowed}
@media(max-width:900px){.settings-grid{grid-template-columns:1fr}.automation-steps{grid-template-columns:1fr}.integration-hero{align-items:flex-start;flex-direction:column}}

/* v0.7.0 — Meta OAuth, diagnóstico e páginas legais */
.meta-checklist{margin-bottom:18px}.meta-url-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.meta-url-list label{display:grid;gap:7px;font-weight:800}.meta-url-list input{width:100%;padding:12px 13px;border:1px solid #dfe2ec;border-radius:11px;background:#f4f5f8;color:#4d566b}.connection-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.connection-actions form:last-child{grid-column:1/-1}.connection-actions .button{width:100%}.button-danger-soft{background:#fff0f2;color:#a6293b}.diagnostic-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.diagnostic-list>div{display:flex;gap:12px;padding:16px;border:1px solid #e5e7ef;border-radius:15px;background:#fafaff}.diagnostic-list b{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:11px;background:#eceef3;color:#72798c}.diagnostic-list .ok{border-color:#ccefdc;background:#f3fcf7}.diagnostic-list .ok b{background:#27aa70;color:#fff}.diagnostic-list span{display:grid;gap:4px}.diagnostic-list small{color:#737b8f;line-height:1.4}.legal-body{margin:0;background:#f4f5fa;color:#202536}.legal-shell{width:min(920px,calc(100% - 28px));margin:0 auto;padding:38px 0 60px}.legal-back{display:inline-block;margin-bottom:16px;color:#6339d7;text-decoration:none;font-weight:800}.legal-card{padding:clamp(24px,5vw,48px);border:1px solid #e4e6ee;border-radius:22px;background:#fff;box-shadow:0 16px 48px rgba(31,35,60,.08)}.legal-card h1{font-size:clamp(30px,5vw,44px);margin:6px 0}.legal-card h2{margin:30px 0 8px;font-size:20px}.legal-card p,.legal-card li{color:#5f677a;line-height:1.75}.legal-card a{color:#6339d7;font-weight:700}.legal-updated{margin-top:0}.legal-steps{padding-left:22px}.legal-note{margin-top:24px;padding:16px;border:1px solid #ded5fb;border-radius:14px;background:#faf8ff;color:#535b70;line-height:1.55}@media(max-width:900px){.meta-url-list,.diagnostic-list{grid-template-columns:1fr}.connection-actions{grid-template-columns:1fr}.connection-actions form:last-child{grid-column:auto}}

/* v0.8.0 — conta e publicações Instagram */
.compact-integration-hero { align-items: center; }
.profile-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin: 0 0 18px;
}
.profile-summary-card {
    background: #fff;
    border: 1px solid #e3e6f0;
    border-radius: 16px;
    padding: 18px;
    box-shadow: 0 10px 28px rgba(31, 25, 63, .05);
}
.profile-summary-card span { display: block; color: #72758a; font-size: 12px; margin-bottom: 8px; }
.profile-summary-card strong { display: block; color: #17132d; font-size: 20px; overflow-wrap: anywhere; }
.instagram-media-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}
.instagram-media-card {
    background: #fff;
    border: 1px solid #e3e6f0;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 12px 30px rgba(31, 25, 63, .06);
}
.instagram-media-preview {
    position: relative;
    aspect-ratio: 1 / 1;
    background: linear-gradient(145deg, #f0ebff, #f7eafb);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #77708f;
    overflow: hidden;
}
.instagram-media-preview img { width: 100%; height: 100%; object-fit: cover; display: block; }
.instagram-media-preview b {
    position: absolute;
    top: 12px;
    right: 12px;
    background: rgba(23, 19, 45, .8);
    color: #fff;
    border-radius: 999px;
    padding: 6px 9px;
    font-size: 10px;
}
.instagram-media-body { padding: 15px; }
.instagram-media-body small { color: #7a7e90; }
.instagram-media-body p { min-height: 62px; margin: 9px 0 12px; line-height: 1.45; }
.instagram-media-meta { color: #6f3ff5; font-weight: 800; font-size: 12px; margin-bottom: 13px; }
.button-small { padding: 9px 12px; font-size: 12px; }
.compact-empty-state { padding: 34px 20px; }
@media (max-width: 980px) {
    .profile-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .instagram-media-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
    .profile-summary-grid, .instagram-media-grid { grid-template-columns: 1fr; }
    .compact-integration-hero { align-items: flex-start; }
}
