:root {
    --brand: #5b4cf0;
    --brand-dark: #4536d9;
    --brand-soft: #efedff;
    --ink: #202536;
    --muted: #6f7687;
    --line: #e2e5eb;
    --surface: #ffffff;
    --canvas: #f6f7f9;
    --success: #1f7a52;
    --danger: #b42318;
    --topbar-height: 4rem;
    --sidebar-width: 15rem;
    --sidebar-small: 4.5rem;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: var(--ink);
    background: var(--canvas);
}

* { box-sizing: border-box; }
body { margin: 0; min-width: 20rem; background: var(--canvas); }
a { color: var(--brand-dark); }
button, input, textarea, select { font: inherit; }

.app-shell { min-height: 100vh; padding: var(--topbar-height) 0 0 var(--sidebar-width); transition: padding-left .2s ease; }
.topbar { position: fixed; z-index: 20; inset: 0 0 auto 0; height: var(--topbar-height); display: flex; align-items: center; gap: 1rem; padding: 0 1.25rem; background: var(--surface); border-bottom: 1px solid var(--line); }
.brand { display: inline-flex; align-items: center; gap: .65rem; color: var(--ink); font-weight: 750; text-decoration: none; }
.brand-mark { display: grid; place-items: center; width: 2rem; height: 2rem; color: #fff; background: var(--brand); border-radius: .65rem; font-weight: 800; }
.icon-button, .text-button { border: 0; cursor: pointer; background: transparent; color: var(--muted); }
.icon-button { width: 2.5rem; height: 2.5rem; border-radius: .5rem; font-size: 1.25rem; }
.icon-button:hover { background: var(--canvas); color: var(--ink); }
.topbar-user { display: flex; align-items: center; gap: .65rem; margin-left: auto; }
.topbar-user form { margin: 0; }
.avatar { display: grid; place-items: center; width: 2rem; height: 2rem; color: var(--brand-dark); background: var(--brand-soft); border-radius: 50%; font-size: .8rem; font-weight: 800; }

.sidebar { position: fixed; z-index: 10; inset: var(--topbar-height) auto 0 0; width: var(--sidebar-width); padding: 1rem .75rem; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; background: #25283a; transition: width .2s ease; }
.sidebar { scrollbar-width: thin; scrollbar-color: #626880 #25283a; }
.sidebar::-webkit-scrollbar { width: .55rem; }
.sidebar::-webkit-scrollbar-track { background: #25283a; }
.sidebar::-webkit-scrollbar-thumb { background: #626880; border: 2px solid #25283a; border-radius: 999px; }
.sidebar::-webkit-scrollbar-thumb:hover { background: #7b829e; }
.sidebar nav { display: grid; gap: .35rem; }
.nav-item { display: flex; align-items: center; gap: .85rem; min-height: 2.75rem; padding: .6rem .75rem; color: #c9cddd; border-radius: .6rem; text-decoration: none; white-space: nowrap; }
.nav-item:hover, .nav-item.is-active { color: #fff; background: #393d54; }
.nav-item.is-active { box-shadow: inset 3px 0 var(--brand); }
.nav-icon { display: grid; place-items: center; flex: 0 0 1.5rem; font-weight: 750; }
.nav-module { padding: .25rem 0; }
.nav-module-title { display: flex; align-items: center; gap: .85rem; width: 100%; min-height: 2.4rem; padding: .45rem .75rem; color: #fff; border: 0; border-radius: .55rem; background: transparent; font: inherit; font-size: .78rem; font-weight: 750; text-align: left; text-transform: uppercase; white-space: nowrap; cursor: pointer; }
.nav-module-title:hover { background: #393d54; }
.nav-module-title:focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; }
.nav-module-title .nav-label { flex: 1; overflow: hidden; text-overflow: ellipsis; }
.nav-module-chevron { flex: 0 0 auto; font-size: 1rem; transition: transform .2s ease; }
.nav-module:not(.is-expanded) .nav-module-chevron { transform: rotate(-90deg); }
.nav-module-items { display: grid; gap: .15rem; max-height: 40rem; padding-left: 2.35rem; overflow: hidden; opacity: 1; transition: max-height .25s ease, opacity .18s ease; }
.nav-module:not(.is-expanded) .nav-module-items { max-height: 0; opacity: 0; }
.nav-subitem { padding: .45rem .6rem; color: #aeb4c8; border-radius: .45rem; font-size: .82rem; text-decoration: none; }
.nav-subitem:hover, .nav-subitem.is-active { color: #fff; background: #393d54; }
.sidebar-collapsed { padding-left: var(--sidebar-small); }
.sidebar-collapsed .sidebar { width: var(--sidebar-small); }
.sidebar-collapsed .nav-label, .sidebar-collapsed .nav-module-items, .sidebar-collapsed .nav-module-chevron { display: none; }

.main-content { width: min(100%, 90rem); margin: 0 auto; padding: 2.5rem clamp(1rem, 3vw, 3rem) 4rem; }
.page-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 1.5rem; margin-bottom: 2rem; }
.page-header h1 { margin: .25rem 0 .45rem; font-size: clamp(1.8rem, 3vw, 2.5rem); letter-spacing: -.035em; }
.page-header-actions { align-items: center; }
.eyebrow { margin: 0; color: var(--brand-dark); font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.page-description { margin: 0; color: var(--muted); line-height: 1.6; }
.back-link { display: inline-block; margin-bottom: .8rem; color: var(--muted); font-size: .9rem; text-decoration: none; }

.module-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr)); gap: 1rem; }
.module-card { display: flex; align-items: center; gap: 1rem; padding: 1.35rem; color: var(--ink); background: var(--surface); border: 1px solid var(--line); border-radius: .85rem; text-decoration: none; box-shadow: 0 1px 2px rgb(31 36 48 / 4%); }
.module-card:hover { border-color: #c4befd; box-shadow: 0 8px 25px rgb(31 36 48 / 8%); transform: translateY(-1px); }
.module-icon { display: grid; place-items: center; flex: 0 0 2.75rem; height: 2.75rem; color: var(--brand-dark); background: var(--brand-soft); border-radius: .7rem; font-weight: 800; }
.module-card strong, .module-card small { display: block; }
.module-card small { margin-top: .2rem; color: var(--muted); }
.module-arrow { margin-left: auto; color: var(--muted); }

.button { display: inline-flex; align-items: center; justify-content: center; min-height: 2.55rem; padding: .65rem 1rem; border: 1px solid transparent; border-radius: .55rem; font-weight: 700; text-decoration: none; cursor: pointer; }
.button-primary { color: #fff; background: var(--brand); }
.button-primary:hover { background: var(--brand-dark); }
.button-secondary { color: var(--ink); background: var(--surface); border-color: var(--line); }
.button-secondary:hover { border-color: #bac0cb; }
.button-block { width: 100%; }

.toolbar { display: flex; gap: .65rem; margin-bottom: 1rem; }
.toolbar input { width: min(100%, 25rem); }
.toolbar select { width: min(100%, 12rem); }
.toolbar-result-count { align-self: center; margin-left: .25rem; color: var(--muted); font-size: .88rem; font-weight: 700; white-space: nowrap; }
.table-card, .form-card, .detail-card { background: var(--surface); border: 1px solid var(--line); border-radius: .8rem; box-shadow: 0 1px 2px rgb(31 36 48 / 4%); }
.table-scroll { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: .9rem 1rem; border-bottom: 1px solid var(--line); text-align: left; white-space: nowrap; }
th { color: var(--muted); background: #fafbfc; font-size: .75rem; letter-spacing: .04em; text-transform: uppercase; }
tbody tr:last-child td { border-bottom: 0; }
tbody tr:hover { background: #fbfbfe; }
.table-title { color: var(--ink); font-weight: 700; text-decoration: none; }
.status { display: inline-flex; padding: .25rem .55rem; color: var(--muted); background: var(--canvas); border-radius: 1rem; font-size: .78rem; font-weight: 700; }
.status-active { color: var(--success); background: #eaf8f1; }
.status-warning, .status-pending { color: #8a5b00; background: #fff4d6; }
.status-danger, .status-error { color: var(--danger); background: #fff0ee; }
.status-success { color: var(--success); background: #eaf8f1; }
.status-list { display: flex; flex-wrap: wrap; gap: .3rem; }
.table-subtitle { display: block; margin-top: .25rem; color: var(--muted); font-size: .75rem; font-weight: 400; }
.table-actions { display: flex; gap: .35rem; }
.table-actions form { margin: 0; }
.button-compact { min-height: 2rem; padding: .4rem .6rem; font-size: .75rem; }
.section-title { margin: 2rem 0 .8rem; font-size: 1.15rem; }
.settings-layout { display: grid; grid-template-columns: minmax(0, 2fr) minmax(16rem, 1fr); gap: 1rem; align-items: start; }
.integration-status dl { display: grid; gap: 1.1rem; margin: 1.2rem 0; }
.integration-status dt { color: var(--muted); font-size: .75rem; font-weight: 750; text-transform: uppercase; }
.integration-status dd { margin: .3rem 0 0; overflow-wrap: anywhere; }
.kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; margin-bottom: 1rem; }
.kpi-card { display: grid; gap: .4rem; padding: 1rem; background: var(--surface); border: 1px solid var(--line); border-radius: .75rem; }
.kpi-card span { color: var(--muted); font-size: .75rem; font-weight: 750; text-transform: uppercase; }
.kpi-card strong { font-size: 1.25rem; }
.adjustment-filters { grid-template-columns: minmax(10rem, 1fr) minmax(18rem, 3fr); }
.adjustment-periods { margin-top: -.25rem; }
.adjustment-table th, .adjustment-table td { padding: .55rem .65rem; font-size: .78rem; }
.adjustment-table th { font-size: .68rem; }
.tree-parent td { background: #f7f8fb; border-top: 2px solid #d9dde6; }
.tree-child td:first-child { padding-left: 1.35rem; }
.tree-name { display: flex; align-items: center; gap: .5rem; min-width: 15rem; }
.tree-name strong, .tree-name small { display: block; }
.tree-name small { margin-top: .12rem; color: var(--muted); font-size: .65rem; font-weight: 400; }
.tree-branch { color: var(--muted); font-size: 1rem; }
.tree-campaign { display: grid; place-items: center; flex: 0 0 1.35rem; height: 1.35rem; color: #fff; background: var(--brand); border-radius: .3rem; font-size: .65rem; font-weight: 800; }
.budget-input-compact { width: 6.5rem; min-height: 2rem; padding: .3rem .45rem; }
.budget-form-inline { display: flex; align-items: center; gap: .3rem; margin: 0; }
.sync-loading { display: flex; align-items: center; gap: .75rem; margin-bottom: 1rem; padding: .8rem 1rem; color: #76520a; background: #fff8e6; border: 1px solid #f2dfaa; border-radius: .7rem; }
.sync-loading p { margin: .15rem 0 0; font-size: .78rem; }
.sync-spinner { width: 1.25rem; height: 1.25rem; border: 2px solid #e7ca7b; border-top-color: #8a5b00; border-radius: 50%; animation: spin .8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.row-actions { display: flex; gap: .3rem; }
.row-actions form { margin: 0; }
.button-danger-soft { color: var(--danger); background: #fff0ee; border-color: #ffd6d1; }
.button-danger { color: #fff; background: var(--danger); border-color: var(--danger); }
.section-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 2rem; }
.section-heading .section-title { margin: 0; }
.form-field-checkbox { display: grid; grid-template-columns: auto 1fr; align-items: center; justify-content: start; gap: .65rem; }
.form-field-checkbox input { width: auto; margin: 0; }
.automation-assignee { max-width: 32rem; margin: 1.25rem 0; }
.automation-rules-table { overflow: hidden; border: 1px solid var(--line); border-radius: 12px; }
.automation-rule-header,
.automation-rule-row { display: grid; grid-template-columns: 5.5rem minmax(22rem, 1fr) 11rem; align-items: center; }
.automation-rule-header { color: var(--muted); background: var(--canvas); font-size: .75rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.automation-rule-header span,
.automation-rule-row > * { padding: .75rem 1rem; }
.automation-rule-row { min-height: 4.5rem; border-top: 1px solid var(--line); }
.automation-rule-row > * + * { border-left: 1px solid var(--line); }
.automation-rule-toggle { display: flex; justify-content: center; }
.automation-rule-toggle input { width: 1.15rem; height: 1.15rem; margin: 0; }
.automation-rule-row > label,
.automation-rule-row > span { line-height: 1.45; }
.automation-rule-value { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: .5rem; }
.automation-rule-value input { min-width: 0; padding: .55rem .65rem; }
.automation-rule-value span,
.automation-no-value { color: var(--muted); font-size: .82rem; }
@media (max-width: 800px) {
  .automation-rules-table { overflow-x: auto; }
  .automation-rule-header,
  .automation-rule-row { min-width: 46rem; grid-template-columns: 5rem minmax(25rem, 1fr) 10rem; }
}
.settings-section { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--line); }
.template-current { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1rem; padding: 1rem; background: var(--canvas); border: 1px solid var(--line); border-radius: .75rem; }
.template-current p { margin: .25rem 0 0; color: var(--muted); }
.report-request-form { margin-bottom: 1rem; }
.report-logo-preview { display: grid; gap: .5rem; align-content: start; }
.report-logo-preview span { color: var(--muted); font-size: .82rem; font-weight: 700; }
.report-logo-preview img { display: block; width: 100%; max-width: 14rem; height: 5rem; padding: .5rem; object-fit: contain; object-position: left center; background: #fff; border: 1px solid var(--line); border-radius: .65rem; }
.status-queued, .status-collecting, .status-generating { color: #8a5700; background: #fff5d6; }
.status-ready { color: var(--success); background: #e8f7ef; }
@media (max-width: 650px) {
  .template-current { align-items: stretch; flex-direction: column; }
}
.button-success-soft { color: var(--success); background: #eaf8f1; border-color: #ccebdc; }
.period-tabs { display: flex; gap: .3rem; margin-bottom: 1rem; }
.report-filters { display: grid; grid-template-columns: repeat(4, minmax(9rem, 1fr)); gap: .8rem; }
.report-actions { display: flex; align-items: center; justify-content: flex-end; gap: .6rem; margin-bottom: .75rem; }
.report-actions span { margin-right: auto; color: var(--muted); font-size: .85rem; }
.report-table td:first-child, .report-table th:first-child { width: 2.5rem; padding-right: 0; }
.report-table input[type="checkbox"] { width: 1rem; min-height: 1rem; }
.log-detail-row td { padding: 0; background: #fafbfc; white-space: normal; }
.log-detail-row:hover { background: #fafbfc; }
.log-details summary { padding: .75rem 1rem; color: var(--brand-dark); font-size: .82rem; font-weight: 750; cursor: pointer; }
.log-details[open] summary { border-bottom: 1px solid var(--line); }
.log-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; padding: 1rem; }
.log-detail-grid section { min-width: 0; padding: 1rem; background: var(--surface); border: 1px solid var(--line); border-radius: .6rem; }
.log-detail-grid h3 { margin: 0 0 .7rem; font-size: .85rem; }
.log-detail-grid dl { display: grid; gap: .7rem; margin: 0; }
.log-detail-grid dt { color: var(--muted); font-size: .7rem; font-weight: 750; text-transform: uppercase; }
.log-detail-grid dd { margin: .2rem 0 0; overflow-wrap: anywhere; }
.log-detail-grid pre { max-height: 24rem; margin: 0; padding: .8rem; overflow: auto; color: #d9deea; background: #202331; border-radius: .45rem; font: .75rem/1.55 ui-monospace, SFMono-Regular, Consolas, monospace; white-space: pre-wrap; overflow-wrap: anywhere; }
.log-detail-wide { grid-column: 1 / -1; }
.empty-state { padding: 4rem 1rem; text-align: center; }
.empty-state p { color: var(--muted); }

.form-card { max-width: 55rem; padding: clamp(1.25rem, 3vw, 2rem); }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.2rem; }
.form-field { display: grid; align-content: start; gap: .4rem; }
.form-field-wide { grid-column: 1 / -1; }
.form-field:has(textarea), .form-field:has(input[type="checkbox"]) { grid-column: 1 / -1; }
.form-field label { font-size: .88rem; font-weight: 700; }
input, textarea, select { width: 100%; min-height: 2.65rem; padding: .65rem .75rem; color: var(--ink); background: #fff; border: 1px solid #cbd0d9; border-radius: .5rem; outline: none; }
textarea { resize: vertical; }
input[type="checkbox"] { width: 1.1rem; min-height: 1.1rem; accent-color: var(--brand); }
input:focus, textarea:focus, select:focus { border-color: var(--brand); box-shadow: 0 0 0 3px var(--brand-soft); }
.has-error input, .has-error textarea { border-color: var(--danger); }
.help-text { color: var(--muted); }
.field-error { color: var(--danger); }
.form-actions { display: flex; justify-content: flex-end; gap: .65rem; margin-top: 2rem; padding-top: 1.25rem; border-top: 1px solid var(--line); }
.client-notes { margin-top: 1rem; }
.section-heading { display: flex; align-items: start; justify-content: space-between; gap: 1rem; }
.section-heading { margin-bottom: 1rem; }
.section-heading h2, .section-heading p { margin: 0; }
.section-heading p { margin-top: .25rem; color: var(--muted); }

.detail-card { padding: clamp(1.25rem, 3vw, 2rem); }
.detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.75rem; margin: 0; }
.detail-grid div { min-width: 0; }
.detail-grid dt { margin-bottom: .35rem; color: var(--muted); font-size: .78rem; font-weight: 750; text-transform: uppercase; }
.detail-grid dd { margin: 0; line-height: 1.55; }
.detail-wide { grid-column: 1 / -1; }

.messages { display: grid; gap: .5rem; margin-bottom: 1rem; }
.message { padding: .8rem 1rem; border-radius: .55rem; background: #eaf8f1; color: var(--success); }
.message-error { color: var(--danger); background: #fff0ee; }
.auth-shell { display: grid; min-height: 100vh; place-items: center; padding: 1rem; background: linear-gradient(135deg, #f7f6ff, #f3f5f8 60%); }
.login-panel { width: min(100%, 27rem); padding: 2.25rem; background: var(--surface); border: 1px solid var(--line); border-radius: 1rem; box-shadow: 0 20px 60px rgb(31 36 48 / 10%); }
.login-brand { display: flex; align-items: center; gap: .7rem; margin-bottom: 2rem; }
.login-panel h1 { margin: .4rem 0 .5rem; font-size: 2rem; letter-spacing: -.035em; }
.stack-form { display: grid; gap: 1rem; margin-top: 1.5rem; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.auto-post-form ul { display: grid; gap: .45rem; margin: 0; padding: .75rem; list-style: none; background: var(--canvas); border: 1px solid var(--line); border-radius: .55rem; }
.auto-post-form li label { display: flex; align-items: center; gap: .55rem; font-weight: 500; }
.auto-post-form li input { width: 1rem; min-height: 1rem; }
.auto-post-status-pending, .auto-post-status-processing, .auto-post-status-waiting_media { color: #8a5700; background: #fff5d6; }
.auto-post-status-published, .auto-post-status-verified { color: var(--success); background: #e8f7ef; }
.auto-post-status-error { color: var(--danger); background: #fff0ee; }
.auto-post-error { display: block; max-width: 20rem; margin-top: .35rem; }

.tabs { display: flex; gap: .25rem; margin-bottom: 1.25rem; overflow-x: auto; border-bottom: 1px solid var(--line); }
.tab { padding: .75rem 1rem; color: var(--muted); border-bottom: 2px solid transparent; font-weight: 700; text-decoration: none; white-space: nowrap; }
.tab:hover, .tab.is-active { color: var(--brand-dark); border-bottom-color: var(--brand); }
.filter-card { margin-bottom: 1.25rem; padding: 1rem; background: var(--surface); border: 1px solid var(--line); border-radius: .8rem; }
.filter-grid { display: grid; grid-template-columns: 2fr 1.5fr 1fr 1fr; gap: .8rem; }
.filter-actions { display: flex; justify-content: flex-end; gap: .6rem; margin-top: 1rem; }
.task-list { display: grid; gap: .65rem; }
.task-row { display: flex; align-items: center; gap: .85rem; min-height: 4.5rem; padding: .8rem 1rem; background: var(--surface); border: 1px solid var(--line); border-radius: .7rem; }
.task-row:hover { border-color: #c9c4f7; box-shadow: 0 5px 18px rgb(31 36 48 / 6%); }
.task-row.is-overdue { border-left: 4px solid var(--danger); }
.task-sort-bar { display: flex; align-items: center; justify-content: flex-end; gap: .6rem; margin-bottom: 1rem; }
.task-sort-bar label { color: var(--muted); font-size: .8rem; font-weight: 700; }
.task-sort-bar select { width: auto; min-width: 13rem; }
.task-row form { margin: 0; }
.task-check { display: grid; place-items: center; flex: 0 0 1.45rem; width: 1.45rem; height: 1.45rem; padding: 0; color: #fff; background: #fff; border: 2px solid #adb4c1; border-radius: 50%; cursor: pointer; }
.task-row.is-completed .task-check, .checklist-row.is-completed .task-check { background: var(--success); border-color: var(--success); }
.task-row.is-completed .task-main strong, .checklist-row.is-completed span { color: var(--muted); text-decoration: line-through; }
.task-main { display: grid; min-width: 0; flex: 1; gap: .3rem; color: var(--ink); text-decoration: none; }
.task-main strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.task-meta { display: flex; flex-wrap: wrap; gap: .35rem .9rem; color: var(--muted); font-size: .8rem; }
.task-meta span + span::before { margin-right: .9rem; color: #c0c5ce; content: "•"; }
.task-status-in_progress { color: #8a5b00; background: #fff4d6; }
.task-status-completed { color: var(--success); background: #eaf8f1; }
.header-actions { display: flex; align-items: center; gap: .65rem; }
.header-actions form { margin: 0; }
.task-form { max-width: 64rem; }
.checklist-editor { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--line); }
.checklist-editor h2, .detail-card h2 { margin: 0 0 .35rem; font-size: 1.05rem; }
.checklist-editor p { margin: 0 0 1rem; color: var(--muted); }
.checklist-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.optional-label { display: inline-flex; margin-left: .4rem; padding: .2rem .45rem; color: var(--muted); background: var(--canvas); border-radius: 1rem; font-size: .65rem; font-weight: 700; vertical-align: middle; }
.checklist-empty { padding: 1.2rem; color: var(--muted); background: var(--canvas); border: 1px dashed #cbd0d9; border-radius: .55rem; text-align: center; }
.checklist-forms { display: grid; gap: .6rem; }
.checklist-form { display: flex; align-items: center; gap: .65rem; padding: .6rem; background: var(--canvas); border-radius: .55rem; }
.checklist-form .form-field { flex: 1; }
.checklist-number { display: grid; place-items: center; flex: 0 0 1.6rem; height: 1.6rem; color: var(--muted); background: #fff; border: 1px solid var(--line); border-radius: 50%; font-size: .72rem; font-weight: 800; }
.checklist-complete { display: flex; align-items: center; gap: .3rem; color: var(--muted); font-size: .8rem; white-space: nowrap; }
.checklist-complete input { width: 1rem; }
.checklist-remove { padding: .35rem; color: var(--danger); background: transparent; border: 0; cursor: pointer; font-size: .78rem; }
.delete-control { display: none; }
.task-detail-layout { display: grid; grid-template-columns: minmax(0, 2fr) minmax(15rem, 1fr); gap: 1rem; align-items: start; }
.task-description { color: #444b5a; line-height: 1.7; }
.task-checklist { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--line); }
.checklist-row { display: flex; align-items: center; gap: .7rem; padding: .65rem 0; border-bottom: 1px solid var(--line); }
.checklist-row:last-child { border-bottom: 0; }
.checklist-row .task-check:disabled { cursor: default; }
.task-facts dl { display: grid; gap: 1.25rem; margin: 0; }
.task-facts dt { margin-bottom: .25rem; color: var(--muted); font-size: .75rem; font-weight: 750; text-transform: uppercase; }
.task-facts dd { margin: 0; }
.calendar-toolbar { display: flex; align-items: center; justify-content: center; gap: 1rem; margin-bottom: 1rem; }
.calendar-arrow { display: grid; place-items: center; width: 2.35rem; height: 2.35rem; color: var(--ink); background: var(--surface); border: 1px solid var(--line); border-radius: .55rem; font-weight: 800; text-decoration: none; }
.calendar-arrow:hover { border-color: var(--brand); color: var(--brand); }
.week-calendar { display: grid; grid-template-columns: repeat(7, minmax(9rem, 1fr)); min-width: 63rem; background: var(--surface); border: 1px solid var(--line); border-radius: .8rem; overflow: hidden; }
.calendar-day { min-height: 28rem; border-right: 1px solid var(--line); }
.calendar-day:last-child { border-right: 0; }
.calendar-day > header { display: grid; place-items: center; gap: .15rem; padding: .75rem .4rem; background: #fafbfc; border-bottom: 1px solid var(--line); }
.calendar-day > header strong { display: grid; place-items: center; width: 2rem; height: 2rem; font-size: 1.15rem; }
.calendar-day > header span { color: var(--muted); font-size: .7rem; font-weight: 750; text-transform: uppercase; }
.calendar-day.is-today > header strong, .month-day.is-today .month-day-number { color: #fff; background: var(--brand); border-radius: 50%; }
.calendar-events, .month-events { display: grid; align-content: start; gap: .35rem; padding: .5rem; }
.calendar-task { display: block; padding: .45rem .5rem; color: var(--ink); border-left: 3px solid; border-radius: .35rem; font-size: .72rem; line-height: 1.3; text-decoration: none; overflow: hidden; }
.calendar-task strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.calendar-task small { display: block; margin-top: .2rem; opacity: .72; }
.task-color-internal { background: #fff0dc; border-color: #e67e22; }
.task-color-meeting { background: #f1eaff; border-color: #7c3aed; }
.task-color-overdue { background: #ffebe9; border-color: #d92d20; }
.task-color-client { background: #e9f2ff; border-color: #3274d9; }
.calendar-empty { padding: .6rem 0; color: #b1b6c0; font-size: .72rem; text-align: center; }
.month-calendar { display: grid; grid-template-columns: repeat(7, minmax(8rem, 1fr)); min-width: 56rem; background: var(--surface); border: 1px solid var(--line); border-radius: .8rem; overflow: hidden; }
.month-weekday { padding: .65rem .4rem; color: var(--muted); background: #fafbfc; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); font-size: .7rem; font-weight: 800; text-align: center; text-transform: uppercase; }
.month-day { min-height: 8rem; padding: .4rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.month-day:nth-child(7n) { border-right: 0; }
.month-day.outside-month { background: #fafbfc; opacity: .55; }
.month-day-number { display: grid; place-items: center; width: 1.65rem; height: 1.65rem; margin-left: auto; font-size: .75rem; font-weight: 750; }
.month-events { padding: .25rem 0 0; }
.month-events .calendar-task { padding: .3rem .4rem; font-size: .67rem; }
.calendar-legend { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: .8rem; color: var(--muted); font-size: .75rem; }
.calendar-legend span { display: inline-flex; align-items: center; gap: .35rem; }
.calendar-legend i { width: .75rem; height: .75rem; border-left: 3px solid; border-radius: .2rem; }

@media (max-width: 48rem) {
    .app-shell, .sidebar-collapsed { padding-left: var(--sidebar-small); }
    .sidebar { width: var(--sidebar-width); box-shadow: .75rem 0 2rem rgb(18 20 31 / 20%); }
    .sidebar-collapsed .sidebar { width: var(--sidebar-small); box-shadow: none; }
    .sidebar-collapsed .nav-label, .sidebar-collapsed .nav-module-items, .sidebar-collapsed .nav-module-chevron { display: none; }
    .brand-name, .user-name { display: none; }
    .main-content { padding-top: 1.5rem; }
    .page-header, .page-header-actions { align-items: stretch; flex-direction: column; }
    .form-grid, .detail-grid { grid-template-columns: 1fr; }
    .detail-wide { grid-column: auto; }
    .toolbar { align-items: stretch; flex-direction: column; }
    .toolbar input, .toolbar select { width: 100%; }
    .toolbar-result-count { align-self: start; margin: .15rem 0 0; }
    .filter-grid, .task-detail-layout, .settings-layout, .kpi-grid, .report-filters, .log-detail-grid { grid-template-columns: 1fr; }
    .log-detail-wide { grid-column: auto; }
    .report-actions { align-items: stretch; flex-direction: column; }
    .report-actions span { margin-right: 0; }
    .task-row { align-items: flex-start; }
    .task-row > .status { display: none; }
    .checklist-form { align-items: stretch; flex-direction: column; }
    .checklist-number { display: none; }
    .checklist-heading { align-items: stretch; flex-direction: column; }
    .header-actions { align-items: stretch; flex-direction: column; }
    .week-calendar, .month-calendar { overflow: visible; }
    .main-content:has(.week-calendar), .main-content:has(.month-calendar) { overflow-x: auto; }
}

/* Central de Leads */
.lead-account-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding:.75rem 1rem;background:#f0eefc;border:1px solid #ddd8fb;border-radius:.7rem}.lead-account-bar small,.lead-account-bar strong{display:block}.lead-account-bar small{color:var(--muted);font-size:.7rem;text-transform:uppercase;font-weight:750}.lead-account-bar select{min-width:14rem}.lead-kpis{margin-bottom:1rem}.lead-two-columns,.lead-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.lead-list-row{display:grid;grid-template-columns:5.5rem 1fr;gap:.75rem;padding:.75rem 0;color:var(--ink);border-bottom:1px solid var(--line);text-decoration:none}.lead-list-row:last-child{border-bottom:0}.lead-list-row time{color:var(--muted);font-size:.78rem}.lead-list-row span,.lead-list-row small{display:block}.lead-list-row small,.empty-copy{color:var(--muted);margin-top:.15rem}.clickable-row{cursor:pointer}.clickable-row:hover td{background:#faf9ff}.lead-actions{margin:1rem 0}.action-forms{display:flex;flex-wrap:wrap;gap:.65rem}.action-forms details{position:relative}.action-forms summary{list-style:none;cursor:pointer}.action-forms details[open] form{display:grid;gap:1rem;position:absolute;z-index:5;top:3rem;left:0;width:min(28rem,85vw);padding:1rem;background:#fff;border:1px solid var(--line);border-radius:.75rem;box-shadow:0 16px 45px rgb(31 36 48 / 18%)}.action-forms .form-grid{grid-template-columns:1fr}.inline-notice{display:flex;align-items:center;gap:.5rem;margin-top:1rem;padding:.75rem;background:#f5f7fb;border-radius:.6rem}.inline-notice form{margin:0}.timeline{display:grid;gap:0}.timeline>div{display:grid;grid-template-columns:8rem 1fr;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--line)}.timeline time{color:var(--muted);font-size:.78rem}.timeline p{margin:0}.compact-form{margin-top:1rem}.compact-form .form-actions{margin-top:1rem}.token-note,.privacy-note{padding:.75rem 1rem;color:var(--muted);background:#fff9e8;border:1px solid #f1e2ac;border-radius:.6rem}.small-value{font-size:1rem!important;word-break:break-all}.client-module-card{margin-top:1rem}@media(max-width:48rem){.lead-two-columns,.lead-detail-grid{grid-template-columns:1fr}.lead-account-bar{align-items:stretch;flex-direction:column}.lead-account-bar select{width:100%}.action-forms details[open] form{position:fixed;top:10%;left:5%;width:90%;max-height:80vh;overflow:auto}.inline-notice{align-items:stretch;flex-direction:column}.timeline>div{grid-template-columns:1fr;gap:.2rem}}

.table-secondary{display:block;margin-top:.2rem;color:var(--muted);font-size:.75rem}.settings-section .row-actions{flex-wrap:wrap}.settings-section .row-actions form{display:inline-flex}

/* Filtros avançados e painel gerencial da Central de Leads */
.lead-filter-panel{display:grid;gap:1rem}.lead-filter-primary{display:grid;grid-template-columns:minmax(18rem,2fr) minmax(12rem,1fr);gap:1rem}.advanced-filters{border-top:1px solid var(--line);padding-top:.9rem}.advanced-filters summary{display:flex;align-items:center;gap:.6rem;color:var(--brand-dark);font-weight:750;cursor:pointer}.filter-count{padding:.2rem .5rem;color:var(--brand);background:var(--brand-soft);border-radius:1rem;font-size:.68rem}.lead-date-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.lead-date-filters fieldset{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:0;padding:1rem;border:1px solid var(--line);border-radius:.7rem}.lead-date-filters legend{padding:0 .4rem;font-size:.78rem;font-weight:750}.lead-date-filters label{display:block;margin-bottom:.35rem;color:var(--muted);font-size:.72rem;font-weight:700}
.management-filters{position:sticky;z-index:4;top:4.4rem;box-shadow:0 8px 24px rgb(31 36 48 / 5%)}.management-filter-grid{display:grid;grid-template-columns:repeat(6,minmax(8.5rem,1fr));gap:.7rem}.management-filter-grid label{font-size:.72rem}.management-filters .filter-actions{margin-top:.75rem}.management-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) minmax(13rem,1.3fr);gap:.8rem;margin:1rem 0}.management-kpis article{position:relative;overflow:hidden;padding:1.1rem 1.2rem;background:linear-gradient(145deg,#fff,#fafaff);border:1px solid var(--line);border-radius:.85rem;box-shadow:0 8px 25px rgb(31 36 48 / 4%)}.management-kpis article::before{position:absolute;inset:0 auto 0 0;width:3px;background:var(--brand);content:""}.management-kpis span,.management-kpis small{display:block;color:var(--muted)}.management-kpis span{font-size:.72rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase}.management-kpis strong{display:block;margin:.35rem 0;font-size:clamp(1.45rem,2.3vw,2rem);letter-spacing:-.04em}.management-kpis small{font-size:.72rem}.management-kpis .revenue{color:#fff;background:linear-gradient(135deg,#2d235f,#6d5bd0);border:0}.management-kpis .revenue::before{background:#b5ffcf}.management-kpis .revenue span,.management-kpis .revenue small{color:#ddd7ff}.report-visual-grid{display:grid;grid-template-columns:minmax(21rem,.85fr) minmax(30rem,1.4fr);gap:1rem;margin-bottom:1rem}.management-card{padding:clamp(1rem,2.2vw,1.5rem);margin-bottom:1rem}.management-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.management-card-heading h2,.management-card-heading p{margin:0}.management-card-heading h2{font-size:1.12rem}.management-card-heading>span,.management-card-heading div>p:not(.eyebrow){color:var(--muted);font-size:.75rem}.eyebrow{margin:0 0 .3rem!important;color:var(--brand)!important;font-size:.67rem!important;font-weight:850;letter-spacing:.09em;text-transform:uppercase}.conversion-funnel{display:grid;gap:.35rem;justify-items:center;padding:0 1rem}.funnel-stage{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:.8rem;width:max(var(--funnel-width),35%);min-height:2.7rem;padding:.6rem 1rem;color:#fff;background:linear-gradient(100deg,#7666dc,#5d4bc5);clip-path:polygon(7% 0,93% 0,100% 100%,0 100%);transition:width .2s}.funnel-stage:nth-child(2){background:linear-gradient(100deg,#6757cc,#5140b7)}.funnel-stage:nth-child(3){background:linear-gradient(100deg,#5b4bbd,#44339f)}.funnel-stage:nth-child(4){background:linear-gradient(100deg,#4b3da4,#35267f)}.funnel-stage:nth-child(5){background:linear-gradient(100deg,#276c58,#1c5141)}.funnel-stage span{padding-left:.5rem;font-size:.76rem;font-weight:700}.funnel-stage strong{font-size:1.05rem}.funnel-stage small{min-width:3.2rem;padding:.2rem .35rem;background:rgb(255 255 255 / 17%);border-radius:1rem;font-size:.65rem;text-align:center}.funnel-caption{display:flex;justify-content:space-between;margin-top:.6rem;color:var(--muted);font-size:.65rem}.chart-legend{display:flex;flex-wrap:wrap;gap:.7rem;color:var(--muted);font-size:.67rem}.chart-legend span::before{display:inline-block;width:.55rem;height:.55rem;margin-right:.3rem;border-radius:2px;content:""}.legend-lead::before{background:#7564dc}.legend-appointment::before{background:#27a4a1}.legend-sale::before{background:#2d7a55}.daily-chart-scroll{overflow-x:auto}.daily-chart{display:flex;align-items:stretch;gap:.28rem;min-width:max-content;height:15.5rem;padding:.5rem 0 0;border-bottom:1px solid var(--line);background:repeating-linear-gradient(to bottom,transparent 0,transparent calc(25% - 1px),#edf0f5 25%)}.daily-column{display:grid;grid-template-rows:1fr auto;width:2.4rem;height:100%}.daily-bars{display:flex;align-items:flex-end;justify-content:center;gap:2px;height:100%;padding:0 2px}.daily-bars i{display:block;width:.38rem;min-height:2px;border-radius:.2rem .2rem 0 0}.bar-lead{background:#7564dc}.bar-appointment{background:#27a4a1}.bar-sale{background:#2d7a55}.daily-column time{padding:.4rem 0;color:var(--muted);font-size:.58rem;text-align:center;transform:rotate(-35deg)}.performance-table th:not(:first-child),.performance-table td:not(:first-child){text-align:center}.metric-bar{position:relative;min-width:7rem;height:1.25rem;overflow:hidden;background:#eceaf9;border-radius:1rem}.metric-bar i{display:block;height:100%;background:#7564dc;border-radius:inherit}.metric-bar span{position:absolute;inset:0;display:grid;place-items:center;color:#242033;font-size:.65rem;font-weight:800}.metric-success i{background:#55c493}.secretary-grid{display:grid;grid-template-columns:repeat(3,minmax(15rem,1fr));gap:.8rem}.secretary-card{padding:1rem;background:linear-gradient(145deg,#fbfbff,#f6f7fa);border:1px solid var(--line);border-radius:.8rem}.secretary-card header{display:flex;align-items:center;gap:.7rem;margin-bottom:1rem}.secretary-card header strong,.secretary-card header small{display:block}.secretary-card header small{margin-top:.18rem;color:var(--muted);font-size:.7rem}.secretary-card dl{display:grid;gap:.55rem;margin:0}.secretary-card dl div{display:flex;align-items:center;justify-content:space-between;gap:1rem}.secretary-card dt{color:var(--muted);font-size:.72rem}.secretary-card dd{margin:0;font-size:.82rem;font-weight:800}.conversion-strip{display:flex;gap:.2rem;height:.35rem;margin-top:1rem;overflow:hidden;background:#eceef3;border-radius:1rem}.conversion-strip i{display:block;height:100%;max-width:33.33%;background:#7564dc}.conversion-strip i:nth-child(2){background:#27a4a1}.conversion-strip i:nth-child(3){background:#2d7a55}
@media(max-width:75rem){.management-filter-grid{grid-template-columns:repeat(3,minmax(10rem,1fr))}.management-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.report-visual-grid{grid-template-columns:1fr}.secretary-grid{grid-template-columns:repeat(2,minmax(15rem,1fr))}}@media(max-width:48rem){.lead-filter-primary,.lead-date-filters,.management-filter-grid,.management-kpis,.secretary-grid{grid-template-columns:1fr}.lead-date-filters fieldset{grid-template-columns:1fr}.management-filters{position:static}.management-card-heading{flex-direction:column}.funnel-stage{width:max(var(--funnel-width),65%)}.daily-card{overflow:hidden}}

/* Escalas adaptativas dos gráficos gerenciais */
.conversion-funnel{width:100%;overflow-x:auto}.funnel-stage{grid-template-columns:minmax(9.5rem,1fr) minmax(2rem,auto) minmax(3.4rem,auto);width:var(--funnel-width);min-width:min(18rem,100%);max-width:100%;padding-inline:1.35rem;white-space:nowrap}.funnel-stage span{min-width:0;padding-left:.65rem;overflow:visible}.funnel-stage strong,.funnel-stage small{flex-shrink:0}.daily-chart-layout{display:grid;grid-template-columns:2rem minmax(0,1fr);height:17rem}.daily-y-axis{display:flex;flex-direction:column;justify-content:space-between;height:calc(100% - 2rem);padding:.15rem .35rem .1rem 0;color:var(--muted);font-size:.6rem;text-align:right}.daily-chart-scroll{width:100%;height:100%;overflow-x:auto;overflow-y:visible}.daily-chart{display:grid;grid-template-columns:repeat(var(--day-count),minmax(2rem,1fr));gap:clamp(.15rem,.45vw,.55rem);width:100%;min-width:max(100%,calc(var(--day-count) * 2.35rem));height:100%;padding-top:.5rem}.daily-column{display:grid;grid-template-rows:minmax(0,1fr) 2rem;width:auto;min-width:0;height:100%}.daily-bars{display:flex;align-items:flex-end;justify-content:stretch;gap:clamp(2px,.25vw,5px);height:100%;padding:0 clamp(1px,.2vw,4px)}.daily-bars i{position:relative;display:block;flex:1 1 0;width:auto;max-width:none;height:var(--bar-height);min-height:2px;transition:height .2s ease}.daily-bars i b{position:absolute;bottom:calc(100% + .18rem);left:50%;z-index:1;padding:.1rem .18rem;color:var(--ink);background:rgb(255 255 255 / 85%);border-radius:.2rem;font-size:.55rem;line-height:1;transform:translateX(-50%);opacity:0;transition:opacity .15s}.daily-bars i:hover b{opacity:1}.daily-column time{align-self:start;padding:.5rem 0 0;font-size:.58rem;transform:none;white-space:nowrap}@media(max-width:48rem){.funnel-stage{min-width:min(16rem,100%);grid-template-columns:minmax(8rem,1fr) auto auto}.daily-chart-layout{grid-template-columns:1.7rem minmax(0,1fr)}}

/* Funil contínuo: rótulo externo, volume central e percentual lateral */
.continuous-funnel{display:grid;gap:6px;width:100%;padding:.35rem 0}.continuous-funnel-row{display:grid;grid-template-columns:minmax(7.5rem,.72fr) minmax(15rem,1.65fr) minmax(4.5rem,.48fr);align-items:center;min-height:3.35rem}.continuous-funnel-label{padding-right:.9rem;color:#5f6878;font-size:.75rem;text-align:right;white-space:nowrap}.continuous-funnel-rate{padding-left:.9rem;color:#687386;font-size:.72rem;font-variant-numeric:tabular-nums;white-space:nowrap}.continuous-funnel-shape{display:grid;width:100%;height:3.35rem;place-items:center;color:#fff;background:linear-gradient(115deg,#7464e8,#5340cb);clip-path:polygon(var(--top-left) 0,var(--top-right) 0,var(--bottom-right) 100%,var(--bottom-left) 100%)}.continuous-funnel-shape strong{font-size:.88rem;font-variant-numeric:tabular-nums;text-shadow:0 1px 2px rgb(0 0 0 / 18%)}.continuous-funnel-row:nth-child(2) .continuous-funnel-shape{background:linear-gradient(115deg,#7770ed,#6155db)}.continuous-funnel-row:nth-child(3) .continuous-funnel-shape{background:linear-gradient(115deg,#716fe5,#535bd0)}.continuous-funnel-row:nth-child(4) .continuous-funnel-shape{background:linear-gradient(115deg,#438cca,#3178b7)}.continuous-funnel-row:nth-child(5) .continuous-funnel-shape{background:linear-gradient(115deg,#26765e,#195944)}.continuous-funnel-guide{display:grid;grid-template-columns:minmax(7.5rem,.72fr) minmax(15rem,1.65fr) minmax(4.5rem,.48fr);margin-top:.55rem;color:#9aa1ad;font-size:.58rem;text-transform:uppercase;letter-spacing:.04em}.continuous-funnel-guide span:first-child{text-align:right;padding-right:.9rem}.continuous-funnel-guide span:nth-child(2){text-align:center}.continuous-funnel-guide span:last-child{padding-left:.9rem}@media(max-width:48rem){.continuous-funnel{overflow-x:auto}.continuous-funnel-row,.continuous-funnel-guide{grid-template-columns:7rem minmax(13rem,1fr) 4.2rem;min-width:25rem}.continuous-funnel-label{font-size:.7rem}}

/* Espaço do rótulo e ausência real para barras de valor zero */
.daily-chart-layout{height:14rem}.daily-y-axis{height:calc(100% - 2rem);padding-top:1rem;box-sizing:border-box}.daily-chart{box-sizing:border-box;padding-top:0}.daily-bars{height:calc(100% - 1rem);margin-top:1rem}.daily-bars i{min-height:0}.daily-bars i[style*="--bar-height:0%"]{visibility:hidden}
