/*
 * Organiza Casa — Design System 2026
 * Camada visual global. Mantém o CSS funcional legado e centraliza a direção
 * premium do produto para administração, portais e PWA.
 */

:root {
    color-scheme: only light;
    --oc-bg: #f6f4ef;
    --oc-bg-soft: #fbfaf7;
    --oc-surface: #fffefb;
    --oc-surface-muted: #f2efe8;
    --oc-sidebar: #111210;
    --oc-sidebar-soft: #1b1c19;
    --oc-ink: #181916;
    --oc-ink-soft: #66675f;
    --oc-ink-faint: #8b8a82;
    --oc-gold: #b8923e;
    --oc-gold-strong: #967126;
    --oc-gold-soft: #f5ecd7;
    --oc-border: #e5e1d8;
    --oc-border-strong: #d7d1c5;
    --oc-success: #4f8e48;
    --oc-success-soft: #edf6e9;
    --oc-warning: #b8872d;
    --oc-warning-soft: #fbf3df;
    --oc-danger: #bd4c4c;
    --oc-danger-soft: #fbe9e9;
    --oc-info: #527ea4;
    --oc-info-soft: #eaf2f8;
    --oc-radius-xs: 8px;
    --oc-radius-sm: 11px;
    --oc-radius-md: 16px;
    --oc-radius-lg: 22px;
    --oc-shadow-xs: 0 1px 2px rgb(24 25 22 / 3%);
    --oc-shadow-sm: 0 10px 30px rgb(24 25 22 / 5%);
    --oc-shadow-md: 0 22px 55px rgb(24 25 22 / 7%);
    --oc-control-height: 44px;
    --oc-sidebar-width: 252px;
    --oc-content-max: 1600px;
    --color-black: var(--oc-ink);
    --color-graphite: var(--oc-sidebar-soft);
    --color-gold: var(--oc-gold);
    --color-gold-dark: var(--oc-gold-strong);
    --color-ivory: var(--oc-bg);
    --color-white: var(--oc-surface);
    --color-gray-light: var(--oc-border);
    --color-text-reference: var(--oc-ink-faint);
    --color-text: var(--oc-ink-soft);
    --color-success: var(--oc-success);
    --color-warning: var(--oc-warning);
    --color-danger: var(--oc-danger);
    --sidebar-width: var(--oc-sidebar-width);
    --radius-sm: var(--oc-radius-sm);
    --radius-md: var(--oc-radius-md);
    --radius-lg: var(--oc-radius-lg);
    --shadow-soft: var(--oc-shadow-md);
}

/* Governance diagnostics -------------------------------------------------- */
.diagnostics-index-page{display:grid;gap:32px}.diagnostics-index-heading{display:flex;align-items:center;justify-content:space-between;gap:32px;min-height:116px}.diagnostics-index-heading>div{min-width:0}.diagnostics-index-heading h1{margin:8px 0 6px;color:var(--oc-ink);font-size:clamp(2.65rem,4vw,4.3rem);font-weight:520;letter-spacing:-.06em;line-height:.98}.diagnostics-index-heading p{margin:0;color:var(--oc-ink-soft);font-size:.86rem}.diagnostics-index-heading .diagnostics-index-heading__action{flex:0 0 auto;min-width:205px;min-height:52px;border-radius:12px}.diagnostics-index-heading__action>span{color:#fff;font-size:1.45rem;font-weight:300;line-height:1}
.diagnostic-kpis{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:14px}.diagnostic-kpi-card{display:grid;align-content:start;min-width:0;min-height:150px;padding:20px 22px;border:1px solid var(--oc-border);border-radius:13px;background:rgb(255 254 251 / 96%);box-shadow:var(--oc-shadow-xs),0 10px 24px rgb(24 25 22 / 4%)}.diagnostic-kpi-card__accent{width:38px;height:2px;margin:0 0 20px;background:var(--oc-gold-strong)}.diagnostic-kpi-card strong{margin:0 0 12px;color:var(--oc-ink);font-size:2.15rem;font-weight:520;letter-spacing:-.055em;line-height:1}.diagnostic-kpi-card>span:last-child{color:#30312d;font-size:.8rem;font-weight:520;line-height:1.28}
.diagnostic-filters{display:grid;grid-template-columns:minmax(210px,1.3fr) repeat(3,minmax(145px,1fr)) repeat(2,minmax(130px,.8fr)) auto;align-items:end;gap:18px;padding:22px;border:1px solid var(--oc-border);border-radius:15px;background:rgb(255 254 251 / 96%);box-shadow:var(--oc-shadow-xs),0 12px 28px rgb(24 25 22 / 4%)}.diagnostic-filter{display:grid;min-width:0;gap:9px}.diagnostic-filter>span:first-child{color:#353631;font-size:.72rem;font-weight:600;letter-spacing:0}.diagnostic-filter input,.diagnostic-filter select{width:100%;min-height:48px;padding:0 14px;border:1px solid var(--oc-border-strong);border-radius:9px;background:var(--oc-surface);color:var(--oc-ink);font-size:.8rem;box-shadow:inset 0 1px 1px rgb(24 25 22 / 2%)}.diagnostic-filter input:hover,.diagnostic-filter select:hover{border-color:#c9c1b3}.diagnostic-filter input:focus,.diagnostic-filter select:focus{border-color:var(--oc-gold);outline:0;box-shadow:0 0 0 3px rgb(184 146 62 / 12%)}.diagnostic-search-control{position:relative;display:block}.diagnostic-search-control input{padding-right:43px}.diagnostic-search-control>span{position:absolute;top:50%;right:13px;display:grid;place-items:center;width:20px;height:20px;color:#7d7c75;pointer-events:none;transform:translateY(-50%)}.diagnostic-search-control svg{width:17px;height:17px}.diagnostic-filters .diagnostic-filters__submit{min-width:86px;min-height:48px;border-color:var(--oc-gold);border-radius:10px;color:var(--oc-gold-strong)}
.diagnostics-history{padding:24px 28px 28px;border:1px solid var(--oc-border);border-radius:15px;background:rgb(255 254 251 / 96%);box-shadow:var(--oc-shadow-xs),0 12px 28px rgb(24 25 22 / 4%)}.diagnostics-history__heading{display:grid;gap:5px;margin-bottom:22px}.diagnostics-history__heading>span{color:var(--oc-gold-strong);font-size:.74rem;font-weight:580}.diagnostics-history__heading h2{margin:0;color:var(--oc-ink);font-size:clamp(1.9rem,3vw,2.7rem);font-weight:520;letter-spacing:-.05em;line-height:1.08}.diagnostics-empty{display:grid;place-items:center;min-height:185px;padding:35px 24px;border:1px dashed #ddd4c4;border-radius:10px;text-align:center}.diagnostics-empty__accent{width:38px;height:2px;margin-bottom:14px;background:var(--oc-gold)}.diagnostics-empty h3{margin:0 0 8px;color:var(--oc-ink);font-size:1.18rem;font-weight:560;letter-spacing:-.025em}.diagnostics-empty p{margin:0;color:var(--oc-ink-faint);font-size:.8rem}.diagnostics-history__table{margin:0 -8px -8px}.diagnostics-history__table table{min-width:1000px}.diagnostics-history__table th{padding-top:12px;padding-bottom:12px}.diagnostics-history__table td{padding-top:16px;padding-bottom:16px}.diagnostics-history__table td>strong,.diagnostics-history__table td>small{display:block}.diagnostics-history__table td>small{margin-top:3px;color:var(--oc-ink-faint)}
.diagnostic-create{display:grid;gap:26px}.diagnostic-open-warning{padding:20px;border:1px solid color-mix(in srgb,var(--color-gold,#bd9137) 38%,transparent);border-radius:16px;background:#fffaf0}.diagnostic-open-warning>p{margin:6px 0 14px;color:var(--color-text-muted,#6f6b63)}.diagnostic-open-warning .choice-card{max-width:max-content}.diagnostic-open-warning .field{margin-top:16px}
.diagnostic-heading{margin-bottom:24px}.diagnostic-wizard{display:grid;grid-template-columns:230px minmax(0,1fr) 245px;gap:22px;align-items:start}.diagnostic-stepper,.diagnostic-interview-summary{position:sticky;top:104px;background:var(--color-surface,#fff);border:1px solid var(--color-border,#e3ded4);border-radius:18px;box-shadow:0 10px 30px rgba(38,31,21,.04)}.diagnostic-stepper{padding:18px 12px}.diagnostic-stepper__progress{padding:4px 8px 16px;display:grid;grid-template-columns:1fr auto;gap:7px;font-size:.76rem;color:var(--color-text-muted,#6f6b63)}.diagnostic-stepper__progress strong{color:var(--color-text,#171714)}.diagnostic-stepper__progress>div,.diagnostic-summary-progress>div,.diagnostic-progress{height:5px;border-radius:999px;background:#eeeae2;overflow:hidden;grid-column:1/-1}.diagnostic-stepper__progress i,.diagnostic-summary-progress i,.diagnostic-progress i{display:block;height:100%;border-radius:inherit;background:var(--color-gold,#bd9137)}.diagnostic-stepper ol{list-style:none;margin:0;padding:0;display:grid;gap:3px}.diagnostic-stepper li>a,.diagnostic-stepper li>span{display:grid;grid-template-columns:28px 1fr;gap:9px;align-items:center;padding:7px 8px;border-radius:10px;color:var(--color-text-muted,#706d66);text-decoration:none;font-size:.77rem}.diagnostic-stepper li span span,.diagnostic-stepper li span i,.diagnostic-stepper li a span{display:grid;place-items:center;width:26px;height:26px;border:1px solid var(--color-border,#ddd6ca);border-radius:50%;font-style:normal;font-weight:700;font-size:.7rem}.diagnostic-stepper li b{font-weight:600}.diagnostic-stepper li.is-current>a{background:#f5efe1;color:var(--color-text,#171714)}.diagnostic-stepper li.is-current a span{border-color:var(--color-gold,#bd9137);background:var(--color-gold,#bd9137);color:#fff}.diagnostic-stepper li.is-complete a span{background:#edf6ed;border-color:#4f9558;color:#397840}
.diagnostic-wizard__main{min-width:0}.diagnostic-form,.diagnostic-result-hero,.diagnostic-result-grid+.diagnostic-section,.diagnostic-wizard__main>.diagnostic-section{background:var(--color-surface,#fff);border:1px solid var(--color-border,#e3ded4);border-radius:18px;box-shadow:0 12px 34px rgba(38,31,21,.045)}.diagnostic-form{padding:clamp(20px,3vw,36px)}.diagnostic-form__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:20px;border-bottom:1px solid var(--color-border,#e8e3db);margin-bottom:22px}.diagnostic-form__header h2{margin:4px 0 0;font-size:clamp(1.6rem,2.4vw,2.25rem)}.diagnostic-save-state{font-size:.76rem;color:#478150;padding:7px 11px;border-radius:999px;background:#eef7ed}.diagnostic-save-state.is-saving{color:#9a701c;background:#fff7e2}.diagnostic-save-state.is-error{color:#a13c36;background:#fff0ee}
.diagnostic-section,.diagnostic-question{padding:20px 0;border-bottom:1px solid var(--color-border,#e8e3db)}.diagnostic-section:first-of-type,.diagnostic-question:first-of-type{padding-top:0}.diagnostic-section:last-of-type,.diagnostic-question:last-of-type{border-bottom:0}.diagnostic-question>h3,.diagnostic-section h3{font-size:1.02rem;line-height:1.45;margin:0 0 14px}.diagnostic-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.diagnostic-choice-grid--checks{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-card{position:relative;display:flex;align-items:center;gap:10px;min-height:48px;padding:11px 13px;border:1px solid var(--color-border,#ded8cf);border-radius:12px;background:#fff;cursor:pointer;transition:border-color .18s,background .18s,box-shadow .18s}.choice-card:hover{border-color:#cdbb96}.choice-card:has(input:checked){border-color:var(--color-gold,#bd9137);background:#fffaf0;box-shadow:0 0 0 2px rgba(189,145,55,.09)}.choice-card input{width:17px;height:17px;accent-color:var(--color-gold,#bd9137);flex:0 0 auto}.choice-card span{font-size:.88rem;line-height:1.35}.conditional-field[hidden]{display:none!important}.conditional-field{margin-top:16px}.check-line{display:flex;align-items:center;gap:9px}.check-line input{width:17px;height:17px;accent-color:var(--color-gold,#bd9137)}
.diagnostic-form__actions{display:flex;justify-content:space-between;align-items:center;gap:15px;padding-top:24px}.diagnostic-form__actions>div{display:flex;gap:10px}.button--ghost{background:transparent;border-color:transparent;color:var(--color-text-muted,#615e58)}.button--small{min-height:36px;padding:7px 12px;font-size:.78rem}.repeatable-list{display:grid;gap:12px;margin:12px 0}.repeatable-row{display:grid;grid-template-columns:1fr auto;gap:8px}.repeatable-card{position:relative;border:1px solid var(--color-border,#e1dacf);border-radius:14px;padding:16px;background:#fbfaf7}.repeatable-card legend{padding:0 7px;font-weight:700;font-size:.78rem;letter-spacing:.05em;text-transform:uppercase}.icon-button{width:42px;height:42px;border-radius:10px;border:1px solid var(--color-border,#ddd6cc);background:#fff;font-size:1.25rem;cursor:pointer}.diagnostic-option-group+ .diagnostic-option-group{margin-top:18px}.diagnostic-option-group h4{margin:0 0 9px;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#9b762c}
.diagnostic-assessment-list{display:grid;gap:9px}.diagnostic-assessment{border:1px solid var(--color-border,#e2ddd4);border-radius:12px;padding:13px 15px}.diagnostic-assessment__details{display:grid;grid-template-columns:minmax(190px,.8fr) minmax(240px,1.4fr);gap:12px;padding:14px 0 2px}.diagnostic-assessment__details[hidden]{display:none}.diagnostic-assessment__details .field{margin:0}
.diagnostic-interview-summary{padding:20px}.diagnostic-interview-summary dl{display:grid;gap:14px;margin:18px 0}.diagnostic-interview-summary dl div{display:grid;gap:3px}.diagnostic-interview-summary dt,.diagnostic-summary-progress>span{font-size:.67rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted,#77736c)}.diagnostic-interview-summary dd{margin:0;font-size:.85rem;font-weight:650;line-height:1.35}.diagnostic-summary-progress{display:grid;grid-template-columns:1fr auto;gap:7px;align-items:center}.diagnostic-summary-progress strong{font-size:.85rem}.diagnostic-live-scores{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:16px}.diagnostic-live-scores span{display:grid;gap:2px;text-align:center;padding:9px 5px;background:#f7f4ee;border-radius:9px;font-size:.68rem;color:#777}.diagnostic-live-scores b{font-size:1rem;color:#181816}
.diagnostic-result-hero{padding:clamp(24px,4vw,42px);margin-bottom:16px}.diagnostic-result-hero h2{font-family:var(--font-display,inherit);font-size:clamp(2rem,4vw,3.35rem);line-height:1.08;margin:8px 0 10px}.diagnostic-result-hero>p{color:var(--color-text-muted,#706c65);max-width:760px}.diagnostic-result-grid{display:grid;grid-template-columns:repeat(3,1fr) 1.4fr;gap:12px;margin-bottom:16px}.diagnostic-score-card,.diagnostic-complexity-card{background:#fff;border:1px solid var(--color-border,#e3ded4);border-radius:15px;padding:18px}.diagnostic-score-card>span,.diagnostic-complexity-card>span{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:#777}.diagnostic-score-card strong,.diagnostic-complexity-card strong{display:block;font-size:1.65rem;margin:9px 0}.diagnostic-score-card>div,.diagnostic-complexity-card>div{height:6px;border-radius:99px;background:#eeeae3;overflow:hidden}.diagnostic-score-card i,.diagnostic-complexity-card i{display:block;height:100%;background:var(--color-gold,#bd9137);border-radius:inherit}.diagnostic-complexity-card p{margin:-4px 0 10px;font-size:.82rem;color:#6d6961}.diagnostic-wizard__main>.diagnostic-section{padding:24px;margin-bottom:16px}.diagnostic-indicator-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 28px;padding:0;list-style:none}.diagnostic-indicator-list li{position:relative;padding-left:18px;font-size:.88rem}.diagnostic-indicator-list li:before{content:"";position:absolute;left:0;top:.55em;width:7px;height:7px;border-radius:50%;background:var(--color-gold,#bd9137)}.diagnostic-service-list{display:grid;gap:9px}.diagnostic-service{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:14px;border:1px solid var(--color-border,#e3ded4);border-radius:12px}.diagnostic-service:has(input:checked){border-color:#cfb16d;background:#fffcf5}.diagnostic-service input{width:18px;height:18px;accent-color:var(--color-gold,#bd9137)}.diagnostic-service span{display:grid;gap:3px}.diagnostic-service small{color:#777}.diagnostic-service em{font-size:.67rem;font-style:normal;text-transform:uppercase;letter-spacing:.08em;color:#9a701c}.diagnostic-result-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin-top:22px}.diagnostic-validation-fields{margin-top:28px;padding-top:24px;border-top:1px solid var(--color-border,#e3ded4)}.field--internal{border:1px solid #d5bd86!important;background:#fffcf4!important;padding:16px!important;border-radius:12px}.field--internal label span{font-size:.64rem;text-transform:uppercase;letter-spacing:.08em;color:#956e1f;margin-left:7px}.diagnostic-secondary-action{margin-top:16px;border:1px solid var(--color-border,#e3ded4);border-radius:14px;background:#fff}.diagnostic-secondary-action summary{padding:16px 18px;font-weight:700;cursor:pointer}.diagnostic-secondary-action form{padding:0 18px 18px}.diagnostic-secondary-action--danger{border-color:#edc7c3}
.opportunity-diagnostics{margin:24px 0}.table-actions{display:flex;flex-wrap:wrap;gap:10px}.diagnostic-executive-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:14px;margin-bottom:20px}.diagnostic-executive-grid>article{background:#fff;border:1px solid var(--color-border,#e3ded4);border-radius:16px;padding:22px;display:grid;gap:7px}.diagnostic-executive-grid article>span{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:#8e6c29}.diagnostic-executive-grid article>strong{font-size:1.25rem;line-height:1.3}.diagnostic-executive-grid article>small{color:#777}.diagnostic-executive-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}.diagnostic-result-list,.diagnostic-plain-list{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:9px}.diagnostic-result-list li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--color-border,#ebe6de)}.diagnostic-result-list small{color:#44804c}.diagnostic-full-answers{background:#fff;border:1px solid var(--color-border,#e3ded4);border-radius:16px;margin:16px 0}.diagnostic-full-answers>summary{padding:20px 22px;font-weight:750;cursor:pointer}.diagnostic-answer-content{padding:0 22px 22px;display:grid;gap:20px}
.diagnostic-pdf-attachments{margin-top:16px}.diagnostic-pdf-attachments .diagnostic-result-list li>span{display:grid;gap:3px}.diagnostic-pdf-attachments .diagnostic-result-list small{color:var(--color-text-muted,#777)}
@media(max-width:1280px){.diagnostic-wizard{grid-template-columns:205px minmax(0,1fr)}.diagnostic-interview-summary{display:none}.diagnostic-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.diagnostic-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.diagnostic-result-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:860px){.diagnostic-wizard{display:block}.diagnostic-stepper{position:static;margin-bottom:14px;padding:14px}.diagnostic-stepper ol{display:flex;overflow-x:auto;gap:7px;padding-bottom:4px}.diagnostic-stepper li{min-width:max-content}.diagnostic-stepper li>a,.diagnostic-stepper li>span{grid-template-columns:26px auto}.diagnostic-stepper__progress{padding-bottom:10px}.diagnostic-choice-grid,.diagnostic-choice-grid--checks{grid-template-columns:1fr}.diagnostic-assessment__details{grid-template-columns:1fr}.diagnostic-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.diagnostic-filters .filter-search{grid-column:1/-1}.diagnostic-executive-grid,.diagnostic-executive-columns{grid-template-columns:1fr}.diagnostic-indicator-list{grid-template-columns:1fr}}
@media(max-width:560px){.diagnostic-form{padding:18px}.diagnostic-kpis{grid-template-columns:repeat(2,minmax(135px,1fr))}.diagnostic-filters{grid-template-columns:1fr}.diagnostic-filters .filter-search{grid-column:auto}.diagnostic-form__actions{align-items:stretch}.diagnostic-form__actions,.diagnostic-form__actions>div{display:grid}.diagnostic-result-grid{grid-template-columns:1fr}.diagnostic-service{grid-template-columns:auto 1fr}.diagnostic-service em{grid-column:2}.diagnostic-result-actions>*{width:100%}}
@media(max-width:860px){.diagnostics-index-page{gap:22px}.diagnostics-index-heading{align-items:flex-start;flex-direction:column;min-height:0}.diagnostics-index-heading__action{min-width:auto}.diagnostic-filter--search{grid-column:1/-1}.diagnostics-history{padding:22px}.diagnostics-history__table{margin-right:-2px;margin-left:-2px}}
@media(max-width:560px){.diagnostics-index-heading{flex-direction:column;gap:20px}.diagnostics-index-heading h1{font-size:clamp(2.7rem,14vw,3.5rem)}.diagnostics-index-heading__action{width:100%}.diagnostic-kpi-card{min-height:132px;padding:18px}.diagnostic-kpi-card__accent{margin-bottom:17px}.diagnostic-filters{gap:14px;padding:18px}.diagnostic-filter--search{grid-column:auto}.diagnostic-filters__submit{width:100%}.diagnostics-history{padding:19px 16px}.diagnostics-empty{min-height:170px;padding:30px 16px}}
@media(max-width:1080px) and (min-width:861px){.diagnostics-index-heading{align-items:flex-start;flex-direction:column;gap:20px}.diagnostics-index-heading__action{min-width:205px}.diagnostic-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}

html {
    background: var(--oc-bg);
    color: var(--oc-ink);
}

body {
    min-width: 320px;
    background:
        radial-gradient(circle at 76% -15%, rgb(184 146 62 / 5%), transparent 28rem),
        var(--oc-bg);
    color: var(--oc-ink);
    font-size: 15px;
    line-height: 1.55;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

::selection { background: rgb(184 146 62 / 24%); color: var(--oc-ink); }

:where(button, input, select, textarea) { font-family: inherit; }

:where(a, button, input, select, textarea, summary):focus-visible {
    outline: 3px solid rgb(184 146 62 / 28%);
    outline-offset: 2px;
}

/* Layout global */
.app-shell,
.workspace {
    background: var(--oc-bg);
    color: var(--oc-ink);
}

.sidebar {
    width: var(--oc-sidebar-width);
    padding: 24px 18px 18px;
    background:
        radial-gradient(circle at 4% 100%, rgb(184 146 62 / 11%), transparent 32%),
        linear-gradient(180deg, #10110f 0%, #141512 100%);
    border-right: 1px solid rgb(255 255 255 / 4%);
    box-shadow: 12px 0 38px rgb(24 25 22 / 5%);
}

.sidebar .brand { min-height: 42px; padding: 0 8px; }
.sidebar-menu-toggle { display: none; }
.sidebar .brand img { width: 35px; height: 35px; }
.brand { gap: 11px; letter-spacing: .15em; }
.brand strong { font-size: .82rem; font-weight: 700; }
.brand small { margin-top: 3px; font-size: .55rem; letter-spacing: .38em; }

.sidebar__nav { margin: 38px -4px 16px; padding: 0 4px; }
.nav-section + .nav-section { margin-top: 25px; }
.nav-section__title {
    margin: 0 0 8px;
    padding: 0 11px;
    color: #c5a95f;
    font-size: .57rem;
    font-weight: 700;
    letter-spacing: .115em;
}
.nav-section__items { gap: 3px; }

.nav-item,
.nav-group__toggle {
    position: relative;
    min-height: 42px;
    gap: 10px;
    padding: 10px 11px;
    border: 1px solid transparent;
    border-radius: 10px;
    color: #bdbeb8;
    font-size: .79rem;
    font-weight: 500;
    transition: color .16s ease, background-color .16s ease, border-color .16s ease, transform .16s ease;
}
.nav-item:hover,
.nav-group__toggle:hover {
    background: rgb(255 255 255 / 4%);
    color: #fff;
    transform: translateX(1px);
}
.nav-item__icon,
.nav-group__icon {
    display: inline-grid;
    flex: 0 0 18px;
    place-items: center;
    width: 18px;
    height: 18px;
    color: #aaa99f;
}
.nav-item__icon svg,
.nav-group__icon svg { width: 18px; height: 18px; stroke-width: 1.65; }
.nav-item__label,
.nav-group__label { min-width: 0; flex: 1; }
.nav-item__mark { display: none !important; }
.nav-item--active,
.nav-group--active > .nav-group__toggle {
    border-color: rgb(184 146 62 / 12%);
    background: linear-gradient(90deg, rgb(184 146 62 / 17%), rgb(255 255 255 / 5%));
    color: #fff;
    box-shadow: inset 0 0 22px rgb(184 146 62 / 5%);
}
.nav-item--active::after,
.nav-group--active > .nav-group__toggle::after {
    position: absolute;
    top: 8px;
    right: -5px;
    bottom: 8px;
    width: 2px;
    border-radius: 4px;
    background: var(--oc-gold);
    content: "";
}
.nav-item--active .nav-item__icon,
.nav-group--active > .nav-group__toggle .nav-group__icon { color: #d1b465; }
.nav-group__chevron { font-size: .85rem; }
.nav-group__items {
    gap: 1px;
    margin: 3px 0 8px 19px;
    padding: 3px 0 3px 10px;
    border-left-color: rgb(184 146 62 / 24%);
}
.nav-item--child { min-height: 35px; padding: 7px 9px; font-size: .73rem; }
.nav-item--child::before {
    flex: 0 0 4px;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #6f706a;
    content: "";
}
.nav-item--child.nav-item--active::before { background: var(--oc-gold); }

.sidebar__footer {
    padding: 12px;
    border: 1px solid rgb(255 255 255 / 8%);
    border-radius: 13px;
    background: rgb(255 255 255 / 2%);
}
.sidebar-user { display: grid; grid-template-columns: 35px minmax(0, 1fr); align-items: center; gap: 9px; }
.sidebar-user__avatar {
    display: grid;
    place-items: center;
    width: 35px;
    height: 35px;
    border: 1px solid rgb(184 146 62 / 55%);
    border-radius: 50%;
    color: #d5b968;
    font-size: .65rem;
    font-weight: 700;
}
.sidebar-user__copy { display: grid; min-width: 0; }
.sidebar-user__copy strong { overflow: hidden; color: #d9d9d4; font-size: .69rem; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.sidebar-user__copy small { color: #777873; font-size: .58rem; }
.sidebar__footer form { margin: 10px 0 0 44px; }
.sidebar__footer .text-button { font-size: .64rem; text-decoration: none; }

.workspace { margin-left: var(--oc-sidebar-width); }
.topbar {
    position: sticky;
    z-index: 20;
    top: 0;
    min-height: 74px;
    padding: 15px clamp(24px, 3vw, 48px);
    border-color: var(--oc-border);
    background: rgb(250 249 246 / 88%);
    box-shadow: 0 1px 0 rgb(24 25 22 / 2%);
    backdrop-filter: blur(18px) saturate(130%);
}
.topbar__context { display: grid; gap: 2px; }
.topbar__context .eyebrow { color: var(--oc-ink-faint); font-size: .58rem; }
.topbar__context strong { font-size: .73rem; font-weight: 650; }
.topbar__context strong span { color: var(--oc-gold-strong); }
.topbar__actions { display: flex; align-items: center; gap: 10px; }
.topbar__user { display: grid; justify-items: end; }
.topbar__user strong { font-size: .7rem; font-weight: 650; }
.topbar__user small { color: var(--oc-ink-faint); font-size: .59rem; }
.status-pill { padding: 6px 10px; border-color: var(--oc-border); background: var(--oc-surface); box-shadow: var(--oc-shadow-xs); font-size: .64rem; }
.status-pill span { width: 6px; height: 6px; }

.content {
    width: min(100%, var(--oc-content-max));
    margin: 0 auto;
    padding: clamp(28px, 3.2vw, 52px);
    color: var(--oc-ink);
}

/* Tipografia e cabeçalhos */
.eyebrow {
    color: var(--oc-ink-faint);
    font-size: .62rem;
    font-weight: 750;
    letter-spacing: .135em;
    line-height: 1.4;
    text-transform: uppercase;
}
.eyebrow--gold { color: var(--oc-gold-strong); }
.page-heading,
.dashboard-welcome { align-items: flex-end; margin-bottom: 27px; }
.page-heading > div:first-child,
.dashboard-welcome > div:first-child { max-width: 850px; }
.page-heading h1,
.dashboard-welcome h1 {
    margin: 8px 0 7px;
    color: var(--oc-ink);
    font-size: clamp(2.35rem, 4vw, 4.25rem);
    font-weight: 520;
    letter-spacing: -.055em;
    line-height: 1.03;
}
.page-heading p,
.dashboard-welcome p { max-width: 760px; color: var(--oc-ink-soft); font-size: .86rem; }
.section-heading h2,
.dashboard-insights h2 { color: var(--oc-ink); font-size: clamp(1.65rem, 2.4vw, 2.4rem); font-weight: 540; letter-spacing: -.035em; }
.section-heading p { color: var(--oc-ink-soft); }
.page-actions { align-items: center; flex-wrap: wrap; }

/* Botões */
.button {
    min-height: 42px;
    gap: 8px;
    padding: 0 17px;
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: -.005em;
    box-shadow: none;
    cursor: pointer;
    transition: transform .16s ease, box-shadow .16s ease, background-color .16s ease, border-color .16s ease, color .16s ease;
}
.button:hover { transform: translateY(-1px); }
.button--gold,
.button--dark {
    border-color: var(--oc-sidebar);
    background: linear-gradient(180deg, #22231f, #111210);
    color: #fff;
    box-shadow: 0 7px 18px rgb(17 18 16 / 12%);
}
.button--gold:hover,
.button--dark:hover { background: #252620; box-shadow: 0 9px 22px rgb(17 18 16 / 16%); }
.button--gold::before { width: 5px; height: 5px; border-radius: 50%; background: var(--oc-gold); content: ""; }
.button--outline {
    border-color: var(--oc-border-strong);
    background: var(--oc-surface);
    color: var(--oc-ink);
}
.button--outline:hover { border-color: #bdb6aa; background: var(--oc-bg-soft); }
.button--ghost { border-color: rgb(255 255 255 / 25%); background: transparent; }
.button--danger { border-color: rgb(189 76 76 / 42%); background: var(--oc-surface); color: #a43e3e; }
.button--small { min-height: 34px; padding: 0 12px; font-size: .66rem; }
.text-button { color: var(--oc-gold-strong); font-size: .74rem; font-weight: 700; text-decoration: underline; text-decoration-color: rgb(150 113 38 / 24%); text-underline-offset: 3px; }

/* Superfícies e cards */
:where(.table-card, .form-card, .danger-zone, .action-zone, .metric-card, .detail-card, .role-card, .pwa-section, .journey-phase, .journey-overview article, .journey-detail, .opportunity-card, .activity-card, .asset-grid article, .maintenance-summary article, .attachment-card, .client-document-card) {
    border-color: var(--oc-border);
    background: var(--oc-surface);
    color: var(--oc-ink);
    box-shadow: var(--oc-shadow-xs), var(--oc-shadow-sm);
}
.table-card,
.form-card,
.danger-zone,
.action-zone { border-radius: var(--oc-radius-md); }
.form-card { padding: clamp(22px, 3vw, 34px); }
.section-block { padding-top: 42px; }
.content-stack,
.section-stack {
    display: grid;
    gap: 18px;
}
.section-block > :not(.section-heading) + :where(
    .table-card,
    .form-card,
    .detail-card,
    .empty-state,
    .method-structure,
    .structure-grid,
    .purchase-events,
    .protocol-steps,
    .asset-grid,
    .maintenance-summary,
    .financial-summary,
    .notification-layout,
    .report-generator,
    .action-zone,
    .danger-zone
) {
    margin-top: 18px;
}
.empty-state { padding: clamp(48px, 7vw, 78px) 24px; }
.empty-state h2 { margin: 0 0 8px; font-size: 1.7rem; font-weight: 550; letter-spacing: -.03em; }
.empty-state p { color: var(--oc-ink-soft); }

/* KPIs */
.metric-grid { gap: 12px; }
.metric-card {
    min-height: 168px;
    padding: 20px;
    border-radius: var(--oc-radius-md);
    color: inherit;
    text-decoration: none;
    transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}
.metric-card:hover { transform: translateY(-2px); border-color: #d7c9a8; box-shadow: var(--oc-shadow-md); }
.metric-card__icon {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 12px;
    background: var(--oc-gold-soft);
    color: var(--oc-gold-strong);
}
.metric-card__icon svg { width: 19px; height: 19px; }
.metric-card--number strong { margin: 17px 0 2px; font-size: 2.5rem; font-weight: 590; letter-spacing: -.055em; line-height: 1; }
.metric-card p { font-size: .72rem; }
.metric-card .eyebrow { margin-top: 11px; }
.dashboard-metrics { grid-template-columns: repeat(4, minmax(0, 1fr)); }

/* Formulários e filtros */
.form-stack {
    display: grid;
    gap: 12px;
}
.form-section,
.form-card {
    border: 1px solid var(--oc-border);
    border-radius: var(--oc-radius-md);
    background: rgb(255 254 251 / 96%);
    box-shadow: var(--oc-shadow-xs), 0 8px 24px rgb(24 25 22 / 3%);
}
.form-section { padding: clamp(20px, 2.2vw, 26px); }
form.form-card { display: flow-root; }
form.form-card > :where(h2, h3):first-of-type {
    margin: 0 0 4px;
    color: var(--oc-ink);
    font-family: inherit;
    font-size: 1rem;
    font-weight: 680;
    letter-spacing: -.025em;
}
form.form-card:not(.journey-filter):not(.filter-grid):not(.filter-bar) > .button:last-child {
    float: right;
    min-width: min(100%, 220px);
}
.form-section__header {
    display: grid;
    gap: 3px;
    margin: 0 0 14px;
}
.form-section__title,
.form-section__header h2,
.form-section__header h3 {
    margin: 0;
    color: var(--oc-ink);
    font-size: 1rem;
    font-weight: 680;
    letter-spacing: -.025em;
    line-height: 1.25;
}
.form-section__description,
.form-section__header p {
    margin: 0;
    color: var(--oc-ink-soft);
    font-size: .68rem;
    line-height: 1.45;
}
.form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 20px;
}
.form-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.form-grid--1 { grid-template-columns: minmax(0, 1fr); }
.field--wide,
.field--full { grid-column: 1 / -1; }
.field { min-width: 0; gap: 6px; margin-bottom: 14px; }
.form-grid > .field:last-child,
.form-grid > .field:nth-last-child(2):nth-child(odd) { margin-bottom: 0; }
.field > span,
.field label,
.profile-upload > label,
.filter-bar label,
.filter-grid label,
.audit-filters label {
    color: #4f504a;
    font-size: .67rem;
    font-weight: 700;
    letter-spacing: .01em;
}
:where(form input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]), form select, form textarea) {
    max-width: 100%;
    color: var(--oc-ink);
    font-family: inherit;
}
:where(
    .field input,
    .field select,
    .field textarea,
    .filter-bar input,
    .filter-bar select,
    .filter-grid input,
    .filter-grid select,
    .audit-filters input,
    .audit-filters select,
    .report-generator input,
    .report-generator select,
    .compact-form input,
    .compact-form select,
    .compact-form textarea
) {
    width: 100%;
    min-height: var(--oc-control-height);
    padding: 0 13px;
    border: 1px solid var(--oc-border-strong);
    border-radius: var(--oc-radius-sm);
    background: var(--oc-surface);
    color: var(--oc-ink);
    font-size: .78rem;
    box-shadow: inset 0 1px 1px rgb(24 25 22 / 2%);
    transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}
:where(.field input, .field select, .field textarea)[aria-invalid="true"],
.field--error :where(input, select, textarea) {
    border-color: var(--oc-danger);
    background: linear-gradient(0deg, rgb(189 76 76 / 2%), rgb(189 76 76 / 2%)), var(--oc-surface);
    box-shadow: 0 0 0 3px rgb(189 76 76 / 8%);
}
:where(.field input, .field select, .field textarea):disabled {
    border-color: #e3dfd7;
    background: #f1efe9;
    color: #85847d;
    cursor: not-allowed;
    opacity: 1;
}
:where(.field input, .field select, .field textarea):read-only:not(select) { background: #f8f6f1; }
:where(.field textarea, .compact-form textarea) { min-height: 108px; padding-top: 11px; padding-bottom: 11px; line-height: 1.55; }
:where(.field input, .field select, .field textarea, .filter-bar input, .filter-bar select, .filter-grid input, .filter-grid select, .audit-filters input, .audit-filters select):hover { border-color: #c9c1b3; }
:where(.field input, .field select, .field textarea, .filter-bar input, .filter-bar select, .filter-grid input, .filter-grid select, .audit-filters input, .audit-filters select):focus {
    border-color: var(--oc-gold);
    outline: 0;
    box-shadow: 0 0 0 3px rgb(184 146 62 / 14%);
}
:where(input, textarea)::placeholder { color: #a19f97; opacity: 1; }
select { color-scheme: light; }
input[type="file"] { padding: 5px; }
input[type="file"]::file-selector-button {
    margin-right: 10px;
    padding: 8px 11px;
    border: 0;
    border-radius: 8px;
    background: var(--oc-sidebar-soft);
    color: #fff;
    font: inherit;
    font-size: .69rem;
    font-weight: 700;
    cursor: pointer;
}
input[type="checkbox"],
input[type="radio"] {
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
    margin: 1px 0 0;
    accent-color: var(--oc-gold-strong);
}
.field__error { color: var(--oc-danger); font-size: .66rem; font-weight: 650; }
.form-help,
.fieldset-help,
.field > small:not(.field__error) { color: var(--oc-ink-faint); font-size: .65rem; }
.lead-address-grid .field--span-2 { grid-column: span 2; }
.lead-cep-status {
    display: flex;
    align-items: center;
    gap: 6px;
    min-height: 16px;
    transition: color .15s ease;
}
.lead-cep-status.is-loading { color: var(--oc-gold-strong) !important; }
.lead-cep-status.is-success { color: var(--oc-success) !important; }
.lead-cep-status.is-error { color: var(--oc-danger) !important; }
.lead-cep-status.is-loading::before {
    width: 9px;
    height: 9px;
    border: 1px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    content: "";
    animation: lead-cep-spin .7s linear infinite;
}
@keyframes lead-cep-spin { to { transform: rotate(360deg); } }
.filter-bar,
.filter-grid,
.audit-filters,
.journey-filter {
    padding: 13px;
    border: 1px solid var(--oc-border);
    border-radius: var(--oc-radius-md);
    background: rgb(255 254 251 / 85%);
    box-shadow: var(--oc-shadow-xs);
}
.filter-bar,
.filter-grid,
.audit-filters { margin-bottom: 16px; }
.journey-filter.form-card { padding: 13px; }

/* Primitivos reutilizáveis de seleção e conclusão de formulários */
:where(.role-picker, .task-fieldset, .protocol-editor, .financial-allocations, .client-financial-sharing, .purchase-items, .quality-template-items) {
    margin: 0;
    padding: clamp(20px, 2.2vw, 26px);
    border: 1px solid var(--oc-border);
    border-radius: var(--oc-radius-md);
    background: rgb(255 254 251 / 96%);
    box-shadow: var(--oc-shadow-xs), 0 8px 24px rgb(24 25 22 / 3%);
}
:where(.role-picker, .task-fieldset, .protocol-editor, .financial-allocations, .client-financial-sharing, .purchase-items, .quality-template-items) > legend {
    max-width: calc(100% - 26px);
    margin-left: -7px;
    padding: 0 7px;
    color: var(--oc-ink);
    font-family: inherit;
    font-size: 1rem;
    font-weight: 680;
    letter-spacing: -.025em;
}
.role-picker > div { gap: 8px; }
.role-picker label,
.check-card {
    align-items: flex-start;
    border: 1px solid var(--oc-border);
    border-radius: var(--oc-radius-sm);
    background: var(--oc-bg-soft);
    transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease;
}
.role-picker label:hover,
.check-card:hover { border-color: #ccb978; background: var(--oc-surface); }
.role-picker label:has(input:checked),
.check-card:has(input:checked) {
    border-color: rgb(184 146 62 / 55%);
    background: var(--oc-gold-soft);
    box-shadow: 0 0 0 2px rgb(184 146 62 / 8%);
}
.form-conclusion {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 1fr);
    gap: 12px;
    margin-top: 12px;
}
.form-actions-card,
.form-stack > .form-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    min-height: 78px;
    padding: 16px 20px;
    border: 1px solid var(--oc-border);
    border-radius: var(--oc-radius-md);
    background: rgb(255 254 251 / 96%);
    box-shadow: var(--oc-shadow-xs), 0 8px 24px rgb(24 25 22 / 3%);
}
.form-actions-card .button,
.form-stack > .form-actions .button { min-width: min(100%, 260px); }
.form-actions-card--full { grid-column: 1 / -1; }
.form-conclusion .danger-zone,
.form-conclusion .action-zone { margin-top: 0; }
.danger-zone,
.action-zone {
    min-height: 78px;
    border-radius: var(--oc-radius-md);
    box-shadow: none;
}
.danger-zone { border-color: rgb(189 76 76 / 28%); background: rgb(255 254 251 / 92%); }
.action-zone { border-color: rgb(79 142 72 / 25%); background: rgb(255 254 251 / 92%); }
.danger-zone strong { color: #a43e3e; }
.profile-upload,
.attachment-upload__fields {
    display: grid;
    gap: 12px;
}
.profile-upload {
    padding: 18px;
    border: 1px dashed var(--oc-border-strong);
    border-radius: var(--oc-radius-md);
    background: var(--oc-bg-soft);
}
.profile-upload > small { color: var(--oc-ink-faint); font-size: .65rem; }

@media (max-width: 980px) {
    .form-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
    .content-stack,
    .section-stack { gap: 14px; }
    .section-block > :not(.section-heading) + :where(
        .table-card,
        .form-card,
        .detail-card,
        .empty-state,
        .method-structure,
        .structure-grid,
        .purchase-events,
        .protocol-steps,
        .asset-grid,
        .maintenance-summary,
        .financial-summary,
        .notification-layout,
        .report-generator,
        .action-zone,
        .danger-zone
    ) { margin-top: 14px; }
    .form-stack { gap: 10px; }
    .form-section { padding: 18px 15px; }
    .form-grid,
    .form-grid--3,
    .form-conclusion { grid-template-columns: minmax(0, 1fr); }
    .lead-address-grid .field--span-2 { grid-column: auto; }
    .field,
    .form-grid > .field:nth-last-child(2):nth-child(odd) { margin-bottom: 13px; }
    .form-grid > .field:last-child { margin-bottom: 0; }
    .form-actions-card,
    .form-stack > .form-actions { padding: 12px; }
    .form-actions-card .button,
    .form-stack > .form-actions .button { width: 100%; min-width: 0; }
}

/* Tabelas */
.table-card { overflow: hidden; }
.table-scroll { scrollbar-width: thin; scrollbar-color: #cfc8bc transparent; }
table { border-collapse: separate; border-spacing: 0; }
th,
td { padding: 15px 18px; border-bottom-color: #eeebe4; font-size: .76rem; vertical-align: middle; }
th {
    background: #fbfaf7;
    color: var(--oc-ink-faint);
    font-size: .59rem;
    font-weight: 750;
    letter-spacing: .075em;
    white-space: nowrap;
}
tbody tr { transition: background-color .14s ease; }
tbody tr:hover { background: #fbfaf6; }
tbody tr:last-child td { border-bottom: 0; }
td strong { color: #2c2d29; font-weight: 650; }
td small { color: var(--oc-ink-faint); font-size: .66rem; }
.table-link { color: var(--oc-gold-strong); }
.pagination { flex-wrap: wrap; gap: 6px; }
.pagination a { width: 36px; height: 36px; border-color: var(--oc-border-strong); border-radius: 9px; background: var(--oc-surface); font-size: .7rem; }
.pagination a.is-active { border-color: var(--oc-sidebar); background: var(--oc-sidebar); }

/* Status, badges e alertas */
.badge,
.journey-status,
[class*="-status--"] {
    box-shadow: inset 0 0 0 1px rgb(255 255 255 / 30%);
}
.badge { padding: 5px 9px; font-size: .63rem; font-weight: 700; }
.badge--state-success,
.journey-status--completed { border-color: #cde3c7; background: var(--oc-success-soft); color: #3f7939; }
.badge--state-warning,
.journey-status--in_progress,
.journey-status--waiting_client { border-color: #e7d4a7; background: var(--oc-warning-soft); color: #805e1f; }
.badge--state-danger,
.journey-status--late,
.journey-status--blocked { border-color: #ecc7c7; background: var(--oc-danger-soft); color: #9c3e3e; }
.badge--state-neutral { border-color: var(--oc-border); background: var(--oc-surface-muted); color: #64655f; }
.alert { padding: 12px 14px; border-radius: var(--oc-radius-sm); font-size: .74rem; }
.alert--success { border-color: #cde3c7; background: var(--oc-success-soft); color: #376d33; }
.alert--warning { border-color: #e7d4a7; background: var(--oc-warning-soft); color: #74541b; }
.alert--danger { border-color: #ecc7c7; background: var(--oc-danger-soft); color: #933939; }

/* Dashboard */
.dashboard-insights { margin-top: 28px; }
.dashboard-insights > header { margin-bottom: 14px; }
.dashboard-chart-grid { gap: 12px; }
.dashboard-chart,
.dashboard-shortcuts a { border-color: var(--oc-border); background: var(--oc-surface); box-shadow: var(--oc-shadow-sm); }
.dashboard-chart { border-radius: var(--oc-radius-md); }
.dashboard-shortcuts { gap: 12px; }
.dashboard-shortcuts a { border-radius: var(--oc-radius-md); }

/* Jornada — leitura executiva em cards e linha do tempo */
.journey-counters {
    gap: 0;
    overflow: hidden;
    padding: 7px;
    border: 1px solid var(--oc-border);
    border-radius: var(--oc-radius-md);
    background: var(--oc-surface);
    box-shadow: var(--oc-shadow-sm);
}
.journey-counter {
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: center;
    gap: 2px 11px;
    min-height: 94px;
    padding: 13px 15px;
    border: 0;
    border-right: 1px solid var(--oc-border);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.journey-counter:last-child { border-right: 0; }
.journey-counter:hover,
.journey-counter.is-active { transform: none; border-color: var(--oc-border); background: #faf8f2; box-shadow: none; }
.journey-counter__icon {
    grid-row: 1 / 4;
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--oc-gold-soft);
    color: var(--oc-gold-strong);
}
.journey-counter__icon svg { width: 19px; height: 19px; }
.journey-counter--waiting_client .journey-counter__icon { background: var(--oc-info-soft); color: var(--oc-info); }
.journey-counter--late .journey-counter__icon { background: #fbe5e8; color: #c14757; }
.journey-counter--blocked .journey-counter__icon { background: #faeae5; color: #bd5b42; }
.journey-counter--completed .journey-counter__icon { background: var(--oc-success-soft); color: var(--oc-success); }
.journey-counter span { font-size: .62rem; }
.journey-counter strong { grid-column: 2; grid-row: 1; font-size: 1.8rem; font-weight: 600; }
.journey-counter small { grid-column: 2; font-size: .59rem; }
.journey-list { display: grid; gap: 13px; overflow: visible; border: 0; background: transparent; box-shadow: none; }
.journey-list-card {
    padding: 18px;
    border: 1px solid var(--oc-border);
    border-radius: var(--oc-radius-md);
    background: var(--oc-surface);
    box-shadow: var(--oc-shadow-sm);
}
.journey-list-card__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding-bottom: 16px; }
.journey-list-card__identity { display: grid; grid-template-columns: 46px minmax(0, 1fr); align-items: center; gap: 12px; }
.journey-list-card__mark { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 12px; background: var(--oc-gold-soft); color: var(--oc-gold-strong); }
.journey-list-card__mark svg { width: 21px; height: 21px; }
.journey-list-card__identity h2 { margin: 0; font-size: 1.35rem; font-weight: 600; letter-spacing: -.025em; }
.journey-list-card__identity p { margin: 2px 0 0; color: var(--oc-ink-soft); font-size: .69rem; }
.journey-list-card__facts { display: grid; grid-template-columns: 1fr .8fr 1.15fr .8fr; border-top: 1px solid var(--oc-border); border-bottom: 1px solid var(--oc-border); }
.journey-list-card__fact { min-width: 0; padding: 15px; border-right: 1px solid var(--oc-border); }
.journey-list-card__fact:last-child { border-right: 0; }
.journey-list-card__fact > span { display: block; margin-bottom: 7px; color: var(--oc-gold-strong); font-size: .57rem; font-weight: 750; letter-spacing: .07em; text-transform: uppercase; }
.journey-list-card__fact strong { display: block; overflow-wrap: anywhere; font-size: .74rem; }
.journey-list-card__fact small { display: block; margin-top: 4px; color: var(--oc-ink-faint); font-size: .61rem; }
.journey-list-card .journey-timeline { margin: 17px 0 0; gap: 13px; }
.journey-list-card .journey-phase { padding: 13px 0 0; border: 0; border-radius: 0; box-shadow: none; }
.journey-list-card .journey-phase__heading { margin-bottom: 14px; }
.journey-list-card .journey-phase__heading small { display: none; }
.journey-list-card .journey-node strong { font-size: .61rem; }
.journey-list-card .journey-node__marker { width: 28px; height: 28px; }
.journey-list-card .journey-track::before { top: 13px; }
.journey-list-card .journey-node { grid-template-rows: 28px auto; gap: 7px; }
.journey-overview { gap: 10px; }
.journey-overview article { min-height: 112px; padding: 17px; }
.journey-phase { padding: 19px; border-radius: var(--oc-radius-md); }
.journey-detail { padding: 23px; border-radius: var(--oc-radius-md); }
.journey-detail__copy h2 { font-size: 1.85rem; font-weight: 580; letter-spacing: -.035em; }
.journey-checklist { background: var(--oc-surface-muted); }

/* Kanban e componentes operacionais */
.kanban-column { border-color: var(--oc-border); background: #efede7; }
.opportunity-card { border-radius: 13px; }
.opportunity-card h2 { font-weight: 600; letter-spacing: -.02em; }
.opportunity-card__heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.opportunity-card__heading > div { min-width: 0; }
.opportunity-card__quick-actions { display: grid; flex: 0 0 auto; gap: 7px; }
.opportunity-card__calendar {
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    width: 38px;
    height: 38px;
    padding: 0;
    border: 1px solid #decfa9;
    border-radius: 11px;
    background: var(--oc-gold-soft);
    color: var(--oc-gold-strong);
    cursor: pointer;
    transition: transform .16s ease, border-color .16s ease, background-color .16s ease;
}
.opportunity-card__calendar:hover { transform: translateY(-1px); border-color: var(--oc-gold); background: #f7ecd2; }
.opportunity-card__calendar:focus-visible { outline: 3px solid rgb(181 138 48 / 22%); outline-offset: 2px; }
.opportunity-card__calendar .ui-icon { width: 18px; height: 18px; }
.opportunity-card__diagnostic { background: var(--oc-surface); }
.opportunity-card .schedule-modal { width: min(680px, calc(100% - 32px)); }
.opportunity-card .schedule-modal > form { display: block; margin: 0; padding: 0; border: 0; }
.schedule-modal .modal__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.schedule-modal .modal__header p { margin: 6px 0 0; color: var(--oc-ink-soft); font-size: .78rem; }
.schedule-modal__close {
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    width: 34px;
    height: 34px;
    padding: 0;
    border: 1px solid var(--oc-border);
    border-radius: 50%;
    background: var(--oc-surface);
    color: var(--oc-ink-soft);
    font: inherit;
    font-size: 1.35rem;
    line-height: 1;
    cursor: pointer;
}
.schedule-modal .modal__body { max-height: min(62vh, 600px); overflow-y: auto; }
.schedule-modal__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 17px; }
.opportunity-card .schedule-modal .field { display: grid; gap: 7px; margin: 0; color: var(--oc-ink); font-size: .72rem; }
.opportunity-card .schedule-modal :is(input, select, textarea) { width: 100%; min-height: 48px; padding: 11px 13px; border: 1px solid var(--oc-border-strong); border-radius: 11px; background: var(--oc-surface); color: var(--oc-ink); font: inherit; font-size: .82rem; }
.opportunity-card .schedule-modal textarea { min-height: 96px; resize: vertical; }
.schedule-modal__subject,
.schedule-modal__notes { grid-column: 1 / -1; }
.schedule-modal .modal__footer { display: flex; }
.opportunity-card .schedule-modal .modal__footer .button { margin: 0; }
.diagnostic-launch-modal { width: min(560px, calc(100% - 32px)) !important; }
.diagnostic-launch-modal .modal__body > p { margin: 0; color: var(--oc-ink-soft); line-height: 1.65; }
.diagnostic-launch-modal__notice { padding: 16px; border: 1px solid #decfa9; border-radius: 12px; background: var(--oc-gold-soft); }
.diagnostic-launch-modal__notice p { margin: 6px 0 0; color: var(--oc-ink-soft); font-size: .82rem; line-height: 1.55; }
.activity-card { border-radius: 14px; }
progress { accent-color: var(--oc-gold-strong); }

/* Agenda comercial */
.appointments-heading .button .ui-icon { width: 17px; height: 17px; }
.appointments-filters {
    display: grid;
    grid-template-columns: minmax(160px, .8fr) repeat(3, minmax(170px, 1fr)) auto;
    align-items: end;
    gap: 11px;
    margin-bottom: 18px;
    padding: 15px;
    border: 1px solid var(--oc-border);
    border-radius: var(--oc-radius-md);
    background: var(--oc-surface);
    box-shadow: var(--oc-shadow-xs);
}
.appointments-filters .field { display: grid; gap: 6px; margin: 0; }
.appointments-filters .field > span { color: var(--oc-ink-soft); font-size: .65rem; font-weight: 700; }
.appointments-filters :is(input, select) { width: 100%; min-height: 44px; padding: 0 12px; border: 1px solid var(--oc-border-strong); border-radius: 10px; background: var(--oc-surface); color: var(--oc-ink); font: inherit; font-size: .78rem; }
.appointments-calendar-card { overflow: hidden; border: 1px solid var(--oc-border); border-radius: var(--oc-radius-lg); background: var(--oc-surface); box-shadow: var(--oc-shadow-xs), var(--oc-shadow-sm); }
.appointments-calendar-card__header { display: grid; grid-template-columns: 42px 1fr 42px; align-items: center; gap: 16px; padding: 20px 22px; border-bottom: 1px solid var(--oc-border); text-align: center; }
.appointments-calendar-card__header h2 { margin: 4px 0 0; font-size: clamp(1.45rem, 2.4vw, 2rem); font-weight: 580; letter-spacing: -.035em; }
.appointments-month-button { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid var(--oc-border-strong); border-radius: 50%; background: var(--oc-surface); color: var(--oc-ink); font-size: 1.65rem; line-height: 1; text-decoration: none; }
.appointments-month-button:hover { border-color: var(--oc-gold); background: var(--oc-gold-soft); color: var(--oc-gold-strong); }
.appointments-weekdays,
.appointments-calendar { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.appointments-weekdays { border-bottom: 1px solid var(--oc-border); background: var(--oc-bg-soft); }
.appointments-weekdays span { padding: 10px; color: var(--oc-ink-faint); font-size: .6rem; font-weight: 750; letter-spacing: .08em; text-align: center; text-transform: uppercase; }
.appointments-day { min-width: 0; min-height: 154px; padding: 10px; border-right: 1px solid var(--oc-border); border-bottom: 1px solid var(--oc-border); background: var(--oc-surface); }
.appointments-day:nth-child(7n) { border-right: 0; }
.appointments-day:nth-last-child(-n + 7) { border-bottom: 0; }
.appointments-day.is-outside { background: #f6f4ef; }
.appointments-day > header { display: flex; align-items: center; justify-content: space-between; min-height: 27px; margin-bottom: 7px; }
.appointments-day > header time { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 50%; color: var(--oc-ink-soft); font-size: .72rem; font-weight: 700; }
.appointments-day > header span { display: none; color: var(--oc-ink-faint); font-size: .66rem; }
.appointments-day.is-outside > header time { color: #aaa69e; }
.appointments-day.is-today > header time { background: var(--oc-sidebar); color: #fff; }
.appointments-day__events { display: grid; gap: 5px; }
.appointment-event { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 1px 6px; padding: 7px 8px; overflow: hidden; border: 1px solid #dfcfaa; border-radius: 8px; background: #fbf3df; color: var(--oc-ink); text-decoration: none; }
.appointment-event time { grid-row: span 2; color: var(--oc-gold-strong); font-size: .62rem; font-weight: 800; }
.appointment-event strong { overflow: hidden; font-size: .65rem; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.appointment-event small { overflow: hidden; color: var(--oc-ink-soft); font-size: .57rem; text-overflow: ellipsis; white-space: nowrap; }
.appointment-event--call { border-color: #c9d9e9; background: #edf5fc; }
.appointment-event--visit { border-color: #c9ddcf; background: #eef8f0; }
.appointment-event--follow_up { border-color: #d8d2e5; background: #f4f0fa; }
.appointment-event--task { border-color: #d9d7d1; background: #f2f1ee; }
.appointment-event.is-completed { opacity: .62; }
.appointment-event:hover { border-color: var(--oc-gold); box-shadow: 0 5px 14px rgb(24 25 22 / 7%); }
.appointments-empty { display: grid; justify-items: center; gap: 6px; padding: 35px 20px 28px; border-bottom: 1px solid var(--oc-border); text-align: center; }
.appointments-empty > span { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 14px; background: var(--oc-gold-soft); color: var(--oc-gold-strong); }
.appointments-empty .ui-icon { width: 20px; height: 20px; }
.appointments-empty small { color: var(--oc-ink-soft); }

/* Diálogos — padrão disponível para qualquer fluxo futuro */
dialog,
.modal {
    width: min(620px, calc(100% - 32px));
    padding: 0;
    overflow: hidden;
    border: 1px solid var(--oc-border);
    border-radius: var(--oc-radius-lg);
    background: var(--oc-surface);
    color: var(--oc-ink);
    box-shadow: 0 32px 90px rgb(17 18 16 / 24%);
}
dialog::backdrop,
.modal-backdrop { background: rgb(17 18 16 / 52%); backdrop-filter: blur(4px); }
.modal__header,
.modal__body,
.modal__footer { padding: 20px 24px; }
.modal__header { border-bottom: 1px solid var(--oc-border); }
.modal__header h2 { margin: 0; font-size: 1.4rem; }
.modal__body { color: var(--oc-ink-soft); }
.modal__footer { display: flex; justify-content: flex-end; gap: 8px; border-top: 1px solid var(--oc-border); background: var(--oc-bg-soft); }

/* PWA e portais — mesma identidade, densidade adaptada ao toque */
.pwa-body { background: var(--oc-bg); }
.pwa-header { background: rgb(17 18 16 / 96%); }
.pwa-hero { background: linear-gradient(135deg, #111210, #25251f); }
.pwa-section { border-radius: var(--oc-radius-md); }
.pwa-bottom { background: rgb(17 18 16 / 98%); }
.pwa-bottom a[aria-current="page"] { color: #d4b766; }
.auth-form-panel { background: var(--oc-bg); }
.auth-brand-panel { background: radial-gradient(circle at 20% 80%, rgb(184 146 62 / 16%), transparent 38%), var(--oc-sidebar); }

/* Responsividade */
@media (max-width: 1240px) {
    .dashboard-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .journey-list-card__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .journey-list-card__fact:nth-child(2) { border-right: 0; }
    .journey-list-card__fact:nth-child(-n + 2) { border-bottom: 1px solid var(--oc-border); }
}

@media (max-width: 980px) {
    :root { --oc-sidebar-width: 226px; }
    .sidebar { padding-inline: 13px; }
    .content { padding: 30px 25px; }
    .dashboard-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .journey-counters { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .journey-counter:nth-child(3) { border-right: 0; }
    .journey-counter:nth-child(-n + 3) { border-bottom: 1px solid var(--oc-border); }
    .appointments-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .appointments-filters .button { grid-column: 1 / -1; }
}

@media (max-width: 780px) {
    body { font-size: 14px; }
    .sidebar { position: static; display: grid; grid-template-columns: minmax(0, 1fr) auto; width: 100%; padding: 14px 16px; box-shadow: none; }
    .sidebar .brand { padding: 0 3px; }
    .sidebar-menu-toggle {
        display: inline-flex;
        align-items: center;
        align-self: center;
        gap: 7px;
        min-height: 38px;
        padding: 0 12px;
        border: 1px solid rgb(255 255 255 / 10%);
        border-radius: 10px;
        background: rgb(255 255 255 / 4%);
        color: #d5d5cf;
        font: inherit;
        font-size: .7rem;
        font-weight: 650;
    }
    .sidebar-menu-toggle svg { width: 16px; height: 16px; color: var(--oc-gold); }
    .sidebar__nav {
        display: none;
        grid-column: 1 / -1;
        max-height: min(64vh, 560px);
        margin: 14px -2px 0;
        padding: 10px 2px 6px;
        overflow-x: hidden;
        overflow-y: auto;
        border-top: 1px solid rgb(255 255 255 / 8%);
    }
    .sidebar--menu-open .sidebar__nav { display: grid; }
    .sidebar__nav .nav-section { width: 100%; padding: 0; }
    .sidebar__nav .nav-section + .nav-section { margin-top: 20px; }
    .nav-section__title { position: static; width: auto; padding-left: 8px; white-space: normal; }
    .nav-section__items { display: grid; gap: 3px; }
    .nav-item,
    .nav-group__toggle { width: 100%; min-height: 39px; padding: 8px 10px; white-space: normal; }
    .sidebar__nav .nav-item,
    .sidebar__nav .nav-group { width: 100%; white-space: normal; }
    .nav-group__items { margin-left: 18px; }
    .nav-item--active::after,
    .nav-group--active > .nav-group__toggle::after { display: none; }
    .sidebar__footer { display: none; }
    .workspace { margin-left: 0; }
    .topbar { position: static; min-height: 64px; padding: 12px 18px; }
    .topbar__user { display: none; }
    .content { padding: 26px 18px 42px; }
    .page-heading,
    .dashboard-welcome { align-items: flex-start; margin-bottom: 22px; }
    .page-heading h1,
    .dashboard-welcome h1 { font-size: clamp(2.05rem, 10vw, 3rem); }
    .page-actions,
    .page-actions .button { width: 100%; }
    .page-actions { display: grid; grid-template-columns: 1fr; }
    .dashboard-metrics { grid-template-columns: 1fr; }
    .metric-card { min-height: 145px; }
    .filter-bar,
    .filter-grid,
    .audit-filters,
    .journey-filter { padding: 11px; }
    th,
    td { padding: 13px 15px; }
    .journey-counters { grid-template-columns: 1fr; }
    .journey-counter,
    .journey-counter:nth-child(3) { min-height: 78px; border-right: 0; border-bottom: 1px solid var(--oc-border); }
    .journey-counter:last-child { border-bottom: 0; }
    .journey-list-card { padding: 15px; }
    .journey-list-card__header { flex-direction: column; }
    .journey-list-card__header .button { width: 100%; }
    .journey-list-card__facts { grid-template-columns: 1fr; }
    .journey-list-card__fact,
    .journey-list-card__fact:nth-child(2) { border-right: 0; border-bottom: 1px solid var(--oc-border); }
    .journey-list-card__fact:last-child { border-bottom: 0; }
    .journey-list-card .journey-node { grid-template-columns: 28px minmax(0, 1fr); grid-template-rows: auto; }
    .journey-list-card .journey-track::before { top: 14px; left: 13px; }
    .modal__header,
    .modal__body,
    .modal__footer { padding: 17px; }
    .modal__footer { flex-direction: column-reverse; }
    .modal__footer .button { width: 100%; }
    .schedule-modal__grid { grid-template-columns: 1fr; }
    .schedule-modal__subject,
    .schedule-modal__notes { grid-column: auto; }
    .appointments-filters { grid-template-columns: 1fr; padding: 13px; }
    .appointments-filters .button { grid-column: auto; width: 100%; }
    .appointments-calendar-card__header { grid-template-columns: 38px 1fr 38px; gap: 8px; padding: 17px 13px; }
    .appointments-month-button { width: 38px; height: 38px; }
    .appointments-weekdays { display: none; }
    .appointments-calendar { display: grid; grid-template-columns: 1fr; gap: 9px; padding: 12px; background: var(--oc-bg-soft); }
    .appointments-day { display: none; min-height: auto; padding: 13px; border: 1px solid var(--oc-border); border-radius: 12px; }
    .appointments-day.has-events { display: block; }
    .appointments-day.is-outside { background: var(--oc-surface); }
    .appointments-day > header { margin-bottom: 9px; }
    .appointments-day > header span { display: inline; }
    .appointment-event { padding: 10px; }
    .appointment-event strong { font-size: .72rem; }
    .appointment-event small { font-size: .64rem; }
}

@media (max-width: 480px) {
    .content { padding-inline: 14px; }
    .topbar__context .eyebrow { max-width: 170px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .status-pill { padding: 5px 8px; font-size: .58rem; }
    .form-card { padding: 18px 15px; }
}

@media (prefers-reduced-motion: reduce) {
    .nav-item,
    .nav-group__toggle,
    .button,
    .metric-card,
    .journey-counter { transition: none; }
}

/* Dashboard executivo — composição fiel à direção visual aprovada */
.admin-dashboard {
    --oc-sidebar-width: 218px;
    background: #faf9f6;
}
.admin-dashboard .sidebar {
    width: var(--oc-sidebar-width);
    padding: 26px 22px 18px;
    background:
        radial-gradient(circle at 4% 96%, rgb(184 146 62 / 8%), transparent 29%),
        linear-gradient(180deg, #101210 0%, #131512 100%);
}
.admin-dashboard .sidebar .brand { padding: 0; }
.admin-dashboard .sidebar .brand img { width: 38px; height: 38px; }
.admin-dashboard .sidebar__nav { margin: 48px -7px 14px; padding: 0 7px; }
.admin-dashboard .nav-section + .nav-section { margin-top: 28px; }
.admin-dashboard .nav-section__title { padding-inline: 8px; font-size: .53rem; }
.admin-dashboard .nav-item,
.admin-dashboard .nav-group__toggle { min-height: 39px; padding: 8px 8px; font-size: .72rem; }
.admin-dashboard .nav-item__icon,
.admin-dashboard .nav-group__icon { flex-basis: 17px; width: 17px; height: 17px; }
.admin-dashboard .nav-item__icon svg,
.admin-dashboard .nav-group__icon svg { width: 17px; height: 17px; }
.admin-dashboard .nav-item--active::after,
.admin-dashboard .nav-group--active > .nav-group__toggle::after { right: -8px; }
.admin-dashboard .sidebar__footer { margin-inline: -7px; padding: 10px; }
.admin-dashboard .sidebar-user { grid-template-columns: 33px minmax(0, 1fr); }
.admin-dashboard .sidebar-user__avatar { width: 33px; height: 33px; }
.admin-dashboard .sidebar__footer form { margin-left: 42px; }
.admin-dashboard .workspace { margin-left: var(--oc-sidebar-width); }
.admin-dashboard .content {
    width: 100%;
    max-width: none;
    padding: 34px clamp(30px, 3vw, 40px) 50px;
}
.topbar--dashboard {
    min-height: 70px;
    padding: 0 clamp(30px, 3vw, 40px);
    background: rgb(255 254 251 / 94%);
}
.topbar--dashboard > .dashboard-topbar__left,
.topbar--dashboard > .dashboard-topbar__right { display: flex; align-items: center; }
.dashboard-topbar__left { gap: 23px; }
.dashboard-sidebar-toggle,
.dashboard-topbar__notification {
    display: inline-grid;
    place-items: center;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--oc-ink);
    cursor: pointer;
}
.dashboard-sidebar-toggle svg { width: 20px; height: 20px; stroke-width: 2; }
.dashboard-topbar__notification svg { width: 17px; height: 17px; stroke-width: 1.8; }
.dashboard-topbar__divider { width: 1px; height: 32px; background: var(--oc-border); }
.dashboard-topbar__environment { display: grid; gap: 0; line-height: 1.25; }
.dashboard-topbar__environment small { color: var(--oc-ink-soft); font-size: .66rem; }
.dashboard-topbar__environment strong { font-size: .7rem; font-weight: 700; }
.dashboard-topbar__environment strong span { margin-left: 4px; color: var(--oc-gold); }
.dashboard-topbar__right { gap: 11px; }
.dashboard-topbar__avatar {
    display: grid;
    place-items: center;
    width: 35px;
    height: 35px;
    border-radius: 50%;
    background: linear-gradient(145deg, #dcb45f, #bd8730);
    color: #fff;
    font-size: .66rem;
    font-weight: 650;
}
.dashboard-topbar__right > strong { font-size: .7rem; font-weight: 620; }
.dashboard-topbar__chevron { color: var(--oc-gold); font-size: .8rem; }

.dashboard-reference { width: 100%; }
.dashboard-reference__heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 28px;
    margin-bottom: 24px;
    padding: 0 3px;
}
.dashboard-reference__heading h1 {
    margin: 7px 0 4px;
    font-size: clamp(2.55rem, 3.2vw, 3rem);
    font-weight: 520;
    letter-spacing: -.055em;
    line-height: 1;
}
.dashboard-reference__heading p { margin: 0; color: var(--oc-ink-soft); font-size: .78rem; }
.dashboard-notifications {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 35px;
    padding: 0 14px;
    border: 1px solid #d9b66f;
    border-radius: 999px;
    background: rgb(255 254 251 / 86%);
    color: #a47323;
    font-size: .65rem;
    text-decoration: none;
    white-space: nowrap;
}

.admin-dashboard .dashboard-metrics { gap: 12px; }
.admin-dashboard .metric-card {
    position: relative;
    min-height: 193px;
    overflow: hidden;
    padding: 25px 25px 20px;
    border: 1px solid #e4dfd6;
    border-radius: 14px;
    background: rgb(255 255 253 / 88%);
    box-shadow: 0 8px 25px rgb(31 27 19 / 3.5%);
}
.admin-dashboard .metric-card--highlighted { border-color: #cc9a3b; }
.admin-dashboard .metric-card__icon { width: 40px; height: 40px; border-radius: 11px; }
.admin-dashboard .metric-card__icon svg { width: 20px; height: 20px; stroke-width: 1.65; }
.admin-dashboard .metric-card__watermark {
    position: absolute;
    right: 17px;
    bottom: 19px;
    color: #eeeae2;
    pointer-events: none;
}
.admin-dashboard .metric-card__watermark svg { width: 52px; height: 52px; stroke-width: 1.2; }
.admin-dashboard .metric-card .eyebrow { margin-top: 13px; font-size: .58rem; }
.admin-dashboard .metric-card--number > strong {
    position: relative;
    z-index: 1;
    margin: 15px 0 3px;
    font-size: 2.45rem;
    font-weight: 500;
}
.admin-dashboard .metric-card p { position: relative; z-index: 1; font-size: .67rem; }

.dashboard-financial {
    margin-top: 16px;
    padding: 24px 26px 22px;
    border: 1px solid var(--oc-border);
    border-radius: 14px;
    background: rgb(255 255 253 / 90%);
    box-shadow: 0 8px 25px rgb(31 27 19 / 3.5%);
}
.dashboard-financial__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.dashboard-financial__header h2,
.dashboard-task-summary h2 { margin: 0; font-size: 1.12rem; font-weight: 580; letter-spacing: -.025em; }
.dashboard-financial__header p {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 6px 0 0;
    color: var(--oc-ink-soft);
    font-size: .65rem;
}
.dashboard-financial__header p svg { width: 14px; height: 14px; }
.dashboard-financial__legend { display: flex; gap: 22px; padding-top: 4px; color: var(--oc-ink-soft); font-size: .65rem; }
.dashboard-financial__legend span { display: inline-flex; align-items: center; gap: 7px; }
.dashboard-financial__legend i { width: 14px; height: 9px; border-radius: 999px; }
.dashboard-financial__legend .is-income { background: #ecd59f; }
.dashboard-financial__legend .is-expense { background: #ddd9d0; }
.dashboard-financial__columns,
.dashboard-financial__row { display: grid; grid-template-columns: 102px minmax(0, 1fr) minmax(0, 1fr); column-gap: 38px; }
.dashboard-financial__columns { margin-top: 12px; color: var(--oc-ink-soft); font-size: .62rem; }
.dashboard-financial__columns strong { font-weight: 520; }
.dashboard-financial__row { align-items: center; min-height: 31px; }
.dashboard-financial__month { display: flex; align-items: center; gap: 8px; color: #42433e; font-size: .67rem; }
.dashboard-financial__month svg { width: 13px; height: 13px; }
.dashboard-financial__row label {
    position: relative;
    display: grid;
    grid-template-columns: minmax(80px, 1fr) 65px;
    align-items: center;
    gap: 14px;
}
.dashboard-financial__row label + label::before {
    position: absolute;
    top: -7px;
    bottom: -7px;
    left: -20px;
    width: 1px;
    background: var(--oc-border);
    content: "";
}
.dashboard-financial__row strong { font-size: .62rem; font-weight: 650; text-align: right; }
.dashboard-financial progress {
    width: 100%;
    height: 10px;
    overflow: hidden;
    border: 0;
    border-radius: 999px;
    background: #efede8;
}
.dashboard-financial progress::-webkit-progress-bar { border-radius: 999px; background: #efede8; }
.dashboard-financial progress.is-income { accent-color: #e8cd8b; }
.dashboard-financial progress.is-expense { accent-color: #d9d4c9; }
.dashboard-financial progress.is-income::-webkit-progress-value { border-radius: 999px; background: #e8cd8b; }
.dashboard-financial progress.is-expense::-webkit-progress-value { border-radius: 999px; background: #d9d4c9; }
.dashboard-financial progress.is-income::-moz-progress-bar { background: #e8cd8b; }
.dashboard-financial progress.is-expense::-moz-progress-bar { background: #d9d4c9; }

.dashboard-task-summary { margin-top: 16px; padding: 24px 26px; }
.dashboard-task-summary .dashboard-bars { margin-top: 16px; }
.admin-dashboard .dashboard-shortcuts { gap: 16px; margin-top: 16px; }
.admin-dashboard .dashboard-shortcuts a {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) 20px;
    align-items: center;
    gap: 18px;
    min-height: 105px;
    padding: 20px 25px;
    border-radius: 14px;
    background: rgb(255 255 253 / 90%);
}
.dashboard-shortcut__icon {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background: var(--oc-gold-soft);
    color: var(--oc-gold-strong) !important;
}
.dashboard-shortcut__icon svg { width: 22px; height: 22px; }
.dashboard-shortcut__copy { display: grid; gap: 6px; color: inherit !important; }
.dashboard-shortcut__copy strong { font-size: .96rem; font-weight: 570; }
.dashboard-shortcut__copy small { color: var(--oc-ink-soft); font-size: .72rem; }
.dashboard-shortcut__chevron { color: #c9922c !important; font-size: 2rem; font-weight: 260; line-height: 1; }

@media (min-width: 781px) {
    .admin-dashboard--sidebar-collapsed { --oc-sidebar-width: 78px; }
    .admin-dashboard--sidebar-collapsed .sidebar { padding-inline: 13px; }
    .admin-dashboard--sidebar-collapsed .brand { justify-content: center; }
    .admin-dashboard--sidebar-collapsed .brand span,
    .admin-dashboard--sidebar-collapsed .nav-section__title,
    .admin-dashboard--sidebar-collapsed .nav-item__label,
    .admin-dashboard--sidebar-collapsed .nav-group__label,
    .admin-dashboard--sidebar-collapsed .nav-group__chevron,
    .admin-dashboard--sidebar-collapsed .sidebar__footer { display: none; }
    .admin-dashboard--sidebar-collapsed .sidebar__nav { margin-top: 48px; }
    .admin-dashboard--sidebar-collapsed .nav-item,
    .admin-dashboard--sidebar-collapsed .nav-group__toggle { justify-content: center; }
}

@media (max-width: 1160px) {
    .admin-dashboard .dashboard-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 780px) {
    .admin-dashboard { --oc-sidebar-width: 100%; }
    .admin-dashboard .sidebar { width: 100%; padding: 14px 16px; }
    .admin-dashboard .sidebar__nav { margin: 14px -2px 0; }
    .admin-dashboard .workspace { margin-left: 0; }
    .admin-dashboard .content { padding: 26px 18px 40px; }
    .topbar--dashboard { min-height: 62px; padding: 0 17px; }
    .dashboard-sidebar-toggle,
    .dashboard-topbar__divider { display: none; }
    .dashboard-topbar__left { gap: 0; }
    .dashboard-topbar__right > strong,
    .dashboard-topbar__chevron { display: none; }
    .dashboard-reference__heading { align-items: flex-start; flex-direction: column; gap: 18px; }
    .dashboard-reference__heading h1 { font-size: clamp(2.35rem, 12vw, 3.2rem); }
    .dashboard-notifications { align-self: flex-start; }
    .admin-dashboard .dashboard-metrics { grid-template-columns: 1fr; }
    .admin-dashboard .metric-card { min-height: 174px; }
    .dashboard-financial { padding: 20px 17px; }
    .dashboard-financial__header { flex-direction: column; }
    .dashboard-financial__columns { display: none; }
    .dashboard-financial__rows { display: grid; gap: 14px; margin-top: 18px; }
    .dashboard-financial__row { grid-template-columns: 1fr; gap: 8px; padding-bottom: 14px; border-bottom: 1px solid var(--oc-border); }
    .dashboard-financial__row:last-child { padding-bottom: 0; border-bottom: 0; }
    .dashboard-financial__month { font-weight: 650; }
    .dashboard-financial__row label + label::before { display: none; }
    .admin-dashboard .dashboard-shortcuts { grid-template-columns: 1fr; }
    .admin-dashboard .dashboard-shortcuts a { min-height: 96px; padding: 18px; }
}

@media (max-width: 420px) {
    .admin-dashboard .content { padding-inline: 14px; }
    .dashboard-topbar__notification { display: none; }
    .dashboard-financial__legend { flex-wrap: wrap; gap: 9px 16px; }
    .admin-dashboard .dashboard-shortcuts a { grid-template-columns: 42px minmax(0, 1fr) 16px; gap: 12px; }
    .dashboard-shortcut__icon { width: 42px; height: 42px; }
}

/* Jornadas de implantação — dashboard ponta a ponta */
.admin-journeys-index { --oc-sidebar-width: 266px; }
.admin-journeys-index .content {
    width: 100%;
    max-width: none;
    padding: 43px clamp(34px, 3vw, 48px) 58px;
}
.admin-journeys-index .topbar { min-height: 80px; padding-inline: clamp(34px, 3vw, 48px); }
.admin-journeys-index .topbar__user { display: none; }
.admin-journeys-index .topbar > .topbar__actions { display: flex; }
.admin-journeys-index .journey-page-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    min-height: 122px;
    margin: 0 0 20px;
    padding: 0 5px;
}
.admin-journeys-index .journey-page-heading > div:first-child { max-width: 820px; }
.admin-journeys-index .journey-page-heading h1 {
    margin: 8px 0 5px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(3.35rem, 4vw, 4rem);
    font-weight: 400;
    letter-spacing: -.045em;
    line-height: .98;
}
.admin-journeys-index .journey-page-heading p { font-size: .82rem; }
.journey-page-heading__illustration {
    flex: 0 1 330px;
    width: min(330px, 27vw);
    color: #c99d49;
    opacity: .82;
    stroke-width: 1.15;
}

.admin-journeys-index .journey-counters {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    min-height: 116px;
    margin: 0 0 18px;
    padding: 8px;
    border-radius: 18px;
}
.admin-journeys-index .journey-counter {
    display: grid;
    grid-template-columns: 57px minmax(0, 1fr);
    align-items: center;
    gap: 14px;
    min-height: 98px;
    padding: 14px 20px;
}
.admin-journeys-index .journey-counter__icon {
    grid-row: auto;
    width: 57px;
    height: 57px;
    border-radius: 50%;
}
.admin-journeys-index .journey-counter__icon svg { width: 25px; height: 25px; }
.admin-journeys-index .journey-counter__copy { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: baseline; gap: 1px 8px; min-width: 0; }
.admin-journeys-index .journey-counter span.journey-counter__copy { font-weight: inherit; letter-spacing: normal; text-transform: none; }
.admin-journeys-index .journey-counter__copy strong {
    grid-column: 1;
    grid-row: 1;
    color: var(--oc-ink);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.85rem;
    font-weight: 400;
}
.admin-journeys-index .journey-counter__copy b { grid-column: 2; color: var(--oc-ink); font-size: .66rem; font-weight: 750; }
.admin-journeys-index .journey-counter__copy small { grid-column: 1 / -1; color: var(--oc-ink-faint); font-size: .59rem; }
.admin-journeys-index .journey-counter:hover,
.admin-journeys-index .journey-counter.is-active { background: #fbf8f0; }

.admin-journeys-index .journey-filter {
    display: grid;
    grid-template-columns: minmax(240px, 1.35fr) minmax(170px, 1fr) minmax(170px, 1fr) minmax(170px, 1fr) auto;
    align-items: center;
    gap: 15px;
    min-height: 94px;
    margin: 0 0 18px;
    padding: 23px;
    border-radius: 18px;
    box-shadow: var(--oc-shadow-sm);
}
.admin-journeys-index .journey-filter .field { position: relative; margin: 0; }
.admin-journeys-index .journey-filter .field > span {
    position: absolute;
    z-index: 2;
    top: -8px;
    left: 13px;
    padding: 0 5px;
    background: var(--oc-surface);
    color: var(--oc-ink-soft);
    font-size: .59rem;
    font-weight: 500;
}
.admin-journeys-index .journey-filter :where(input, select) { min-height: 47px; border-radius: 10px; background-color: var(--oc-surface); }
.admin-journeys-index .journey-filter__search input {
    border: 1px solid var(--oc-border-strong);
    color: var(--oc-ink);
    font: inherit;
    font-size: .72rem;
}
.journey-filter__search { position: relative; display: block; }
.journey-filter__search svg {
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 15px;
    width: 18px;
    height: 18px;
    color: var(--oc-ink);
    transform: translateY(-50%);
}
.admin-journeys-index .journey-filter__search input { width: 100%; padding-left: 45px; }
.admin-journeys-index .journey-filter__new {
    min-width: 154px;
    min-height: 47px;
    justify-content: center;
    white-space: nowrap;
}
.admin-journeys-index .journey-filter__new::before { display: none; }
.admin-journeys-index .journey-filter__new > span { color: var(--oc-gold); font-size: 1.15rem; font-weight: 400; }

.admin-journeys-index .journey-list { gap: 18px; }
.admin-journeys-index .journey-list-card {
    min-height: 385px;
    padding: 24px;
    border-radius: 18px;
    box-shadow: 0 12px 35px rgb(24 25 22 / 5%);
}
.admin-journeys-index .journey-list-card__header { align-items: center; padding-bottom: 12px; }
.admin-journeys-index .journey-list-card__identity { grid-template-columns: 64px minmax(0, 1fr); gap: 18px; }
.admin-journeys-index .journey-list-card__mark { width: 64px; height: 64px; border-radius: 12px; }
.admin-journeys-index .journey-list-card__mark svg { width: 28px; height: 28px; }
.admin-journeys-index .journey-list-card__identity h2 {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.65rem;
    font-weight: 400;
}
.admin-journeys-index .journey-list-card__identity p { font-size: .72rem; }
.admin-journeys-index .journey-list-card__header .button { gap: 18px; min-width: 142px; justify-content: center; color: var(--oc-gold-strong); }
.admin-journeys-index .journey-list-card__header .button span { font-size: 1.2rem; }
.admin-journeys-index .journey-list-card__facts {
    grid-template-columns: 1fr .9fr 1.35fr 1fr .82fr;
    margin-left: 82px;
    border: 0;
}
.admin-journeys-index .journey-list-card__fact { min-height: 92px; padding: 9px 20px; }
.admin-journeys-index .journey-list-card__fact:first-child { padding-left: 0; }
.admin-journeys-index .journey-list-card__fact > span { margin-bottom: 8px; }
.admin-journeys-index .journey-list-card__fact > strong:not(.journey-status) { font-size: .71rem; font-weight: 570; line-height: 1.55; }
.admin-journeys-index .journey-list-card__fact > strong > small { display: inline; color: var(--oc-ink-faint); font-size: .6rem; font-weight: 400; }
.admin-journeys-index .journey-status { gap: 6px; padding: 5px 10px; border: 0; text-transform: none; letter-spacing: 0; }
.admin-journeys-index .journey-status--in_progress { background: var(--oc-success-soft); color: var(--oc-success); }
.admin-journeys-index .journey-status i { width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.admin-journeys-index .journey-progress { height: 8px; margin-top: 10px; }
.admin-journeys-index .journey-list-card__responsible > div { display: grid; grid-template-columns: 38px minmax(0, 1fr); align-items: center; gap: 10px; }
.admin-journeys-index .journey-list-card__responsible i {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: var(--oc-gold-soft);
    color: var(--oc-gold-strong);
    font-size: .65rem;
    font-style: normal;
}
.admin-journeys-index .journey-list-card__responsible strong { font-size: .66rem; line-height: 1.45; }
.admin-journeys-index .journey-list-card__deadline strong { display: flex !important; align-items: center; gap: 8px; }
.admin-journeys-index .journey-list-card__deadline svg { width: 16px; height: 16px; }

.admin-journeys-index .journey-timeline--compact {
    margin: 10px 0 0;
    padding-top: 20px;
    border-top: 1px solid var(--oc-border);
}
.admin-journeys-index .journey-timeline--compact .journey-phase { padding: 0; }
.admin-journeys-index .journey-timeline--compact .journey-phase__heading { margin: 0 0 16px; }
.admin-journeys-index .journey-timeline--compact .journey-phase__heading span { font-size: .59rem; }
.admin-journeys-index .journey-timeline--compact .journey-track { grid-template-columns: repeat(10, minmax(0, 1fr)); gap: 0; }
.admin-journeys-index .journey-timeline--compact .journey-track::before {
    top: 17px;
    right: 4%;
    left: 4%;
    height: 2px;
    background: linear-gradient(90deg, #67a85e 0 var(--journey-progress), #d8d8d4 var(--journey-progress) 100%);
}
.admin-journeys-index .journey-timeline--compact .journey-node { grid-template-rows: 36px auto auto; gap: 7px; }
.admin-journeys-index .journey-timeline--compact .journey-node__marker {
    width: 36px;
    height: 36px;
    border: 1px solid #c9c9c5;
    background: linear-gradient(180deg, #e9e9e7, #d8d8d5);
    color: #2d2e2a;
    font-size: .7rem;
    box-shadow: inset 0 1px 2px rgb(24 25 22 / 8%);
}
.admin-journeys-index .journey-timeline--compact .journey-node--completed .journey-node__marker {
    border: 3px solid #dcefd8;
    background: #57a34e;
    color: #fff;
    box-shadow: 0 0 0 1px #57a34e;
}
.admin-journeys-index .journey-timeline--compact .journey-node--current .journey-node__marker {
    border: 6px solid #f5ead0;
    background: #b98c31;
    color: #fff;
    box-shadow: 0 0 0 1px #b98c31;
}
.admin-journeys-index .journey-timeline--compact .journey-node strong { max-width: 110px; font-size: .61rem; line-height: 1.35; }
.admin-journeys-index .journey-timeline--compact .journey-node small { color: var(--oc-ink-faint); font-size: .55rem; }
.admin-journeys-index .journey-timeline--compact .journey-node--completed small { color: var(--oc-success); }
.admin-journeys-index .journey-timeline--compact .journey-node--current small { color: var(--oc-gold-strong); }

@media (max-width: 1350px) {
    .admin-journeys-index .journey-counters { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .admin-journeys-index .journey-counter:nth-child(3) { border-right: 0; }
    .admin-journeys-index .journey-counter:nth-child(-n + 3) { border-bottom: 1px solid var(--oc-border); }
    .admin-journeys-index .journey-filter { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .admin-journeys-index .journey-filter__new { width: 100%; }
    .admin-journeys-index .journey-list-card__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-left: 0; }
    .admin-journeys-index .journey-list-card__fact { border-bottom: 1px solid var(--oc-border); }
    .admin-journeys-index .journey-list-card__fact:nth-child(2n) { border-right: 0; }
    .admin-journeys-index .journey-list-card__deadline { border-bottom: 0; }
    .admin-journeys-index .journey-timeline--compact { overflow-x: auto; }
    .admin-journeys-index .journey-timeline--compact .journey-track { min-width: 940px; }
}

@media (max-width: 780px) {
    .admin-journeys-index { --oc-sidebar-width: 100%; }
    .admin-journeys-index .content { padding: 28px 16px 42px; }
    .admin-journeys-index .topbar { min-height: 64px; padding-inline: 18px; }
    .admin-journeys-index .journey-page-heading { align-items: flex-start; min-height: 0; margin-bottom: 26px; }
    .admin-journeys-index .journey-page-heading h1 { font-size: clamp(2.65rem, 13vw, 3.55rem); }
    .journey-page-heading__illustration { display: none; }
    .admin-journeys-index .journey-counters,
    .admin-journeys-index .journey-filter { grid-template-columns: 1fr; }
    .admin-journeys-index .journey-counter,
    .admin-journeys-index .journey-counter:nth-child(3) { min-height: 82px; border-right: 0; border-bottom: 1px solid var(--oc-border); }
    .admin-journeys-index .journey-counter:last-child { border-bottom: 0; }
    .admin-journeys-index .journey-filter { padding: 16px; }
    .admin-journeys-index .journey-list-card { padding: 18px; }
    .admin-journeys-index .journey-list-card__header { align-items: flex-start; }
    .admin-journeys-index .journey-list-card__header .button { width: 100%; }
    .admin-journeys-index .journey-list-card__identity { grid-template-columns: 52px minmax(0, 1fr); }
    .admin-journeys-index .journey-list-card__mark { width: 52px; height: 52px; }
    .admin-journeys-index .journey-list-card__facts { grid-template-columns: 1fr; }
    .admin-journeys-index .journey-list-card__fact,
    .admin-journeys-index .journey-list-card__fact:first-child { min-height: 0; padding: 14px 0; border-right: 0; border-bottom: 1px solid var(--oc-border); }
    .admin-journeys-index .journey-list-card__fact:last-child { border-bottom: 0; }
    .admin-journeys-index .journey-timeline--compact .journey-phase { min-width: 0; }
    .admin-journeys-index .journey-timeline--compact .journey-track { display: grid; min-width: 0; grid-template-columns: 1fr; }
    .admin-journeys-index .journey-timeline--compact .journey-track::before { top: 18px; bottom: 18px; left: 17px; width: 2px; height: auto; background: #d8d8d4; }
    .admin-journeys-index .journey-timeline--compact .journey-node { grid-template-columns: 36px minmax(0, 1fr); grid-template-rows: auto auto; align-items: center; justify-items: start; min-height: 66px; gap: 2px 14px; text-align: left; }
    .admin-journeys-index .journey-timeline--compact .journey-node__marker { grid-row: 1 / 3; }
    .admin-journeys-index .journey-timeline--compact .journey-node strong { max-width: none; font-size: .67rem; }
}

/* Detalhe da implantação: o escopo preserva integralmente sidebar e header globais. */
.admin-onboarding-show .content {
    width: min(100%, 1600px);
    padding: clamp(34px, 3vw, 52px);
}
.admin-onboarding-show .onboarding-page-heading {
    align-items: center;
    min-height: 118px;
    margin: 0 0 26px;
}
.admin-onboarding-show .onboarding-page-heading h1 {
    margin: 8px 0 5px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(3.1rem, 4.6vw, 4.85rem);
    font-weight: 400;
    letter-spacing: -.045em;
    line-height: .98;
}
.admin-onboarding-show .onboarding-page-heading p {
    margin: 0;
    color: var(--oc-ink-soft);
    font-size: .78rem;
}
.admin-onboarding-show .onboarding-page-heading .button,
.admin-onboarding-show .journey-context .section-heading .button {
    min-width: 98px;
    min-height: 44px;
    justify-content: center;
    border-color: color-mix(in srgb, var(--oc-gold) 68%, var(--oc-border));
    border-radius: 8px;
}
.admin-onboarding-show .onboarding-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    margin: 0 0 42px;
}
.admin-onboarding-show .onboarding-summary-card {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr);
    align-items: center;
    gap: 17px;
    min-height: 146px;
    padding: 24px;
    border-radius: 13px;
    box-shadow: 0 10px 30px rgb(24 25 22 / 4%);
}
.admin-onboarding-show .onboarding-summary-card__icon {
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    border: 1px solid var(--oc-border);
    border-radius: 50%;
    background: var(--oc-surface-subtle);
    color: var(--oc-gold-strong);
}
.admin-onboarding-show .onboarding-summary-card__icon svg { width: 23px; height: 23px; }
.admin-onboarding-show .onboarding-summary-card > div { min-width: 0; }
.admin-onboarding-show .onboarding-summary-card strong {
    display: block;
    margin: 7px 0 0;
    overflow-wrap: anywhere;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.35rem, 2vw, 1.7rem);
    font-weight: 400;
    line-height: 1.1;
}
.admin-onboarding-show .onboarding-summary-card small {
    display: block;
    margin-top: 6px;
    color: var(--oc-ink-soft);
    font-size: .66rem;
}
.admin-onboarding-show .eyebrow--gold { color: var(--oc-gold-strong); }

.admin-onboarding-show .journey-context {
    margin: 0 0 26px;
    padding: 0;
}
.admin-onboarding-show .journey-context > .section-heading {
    align-items: end;
    margin: 0 0 21px;
}
.admin-onboarding-show .journey-context .section-heading h2 {
    margin: 7px 0 3px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.9rem, 2.8vw, 2.35rem);
    font-weight: 400;
    letter-spacing: -.035em;
}
.admin-onboarding-show .journey-context .section-heading p { color: var(--oc-ink-soft); font-size: .76rem; }
.admin-onboarding-show .journey-context .section-heading .button { min-width: 166px; }
.admin-onboarding-show .journey-timeline--compact {
    margin: 0;
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.admin-onboarding-show .journey-timeline--compact::-webkit-scrollbar { display: none; width: 0; height: 0; }
.admin-onboarding-show .journey-timeline--compact .journey-phase {
    min-width: 1040px;
    padding: 42px 24px 40px;
    border: 1px solid var(--oc-border);
    border-radius: 13px;
    background: var(--oc-surface);
    box-shadow: 0 10px 30px rgb(24 25 22 / 4%);
}
.admin-onboarding-show .journey-timeline--compact .journey-phase__heading { display: none; }
.admin-onboarding-show .journey-timeline--compact .journey-track {
    grid-template-columns: repeat(10, minmax(0, 1fr));
    gap: 0;
}
.admin-onboarding-show .journey-timeline--compact .journey-track::before {
    top: 17px;
    right: 4%;
    left: 4%;
    height: 2px;
    background: linear-gradient(90deg, #438c59 0 var(--journey-progress), #dadad6 var(--journey-progress) 100%);
}
.admin-onboarding-show .journey-timeline--compact .journey-node {
    grid-template-rows: 36px minmax(34px, auto) auto;
    gap: 8px;
}
.admin-onboarding-show .journey-timeline--compact .journey-node__marker {
    width: 36px;
    height: 36px;
    border: 1px solid #c9c9c5;
    background: linear-gradient(180deg, #eeeeec, #dddeda);
    color: #30312d;
    font-size: .72rem;
    font-weight: 700;
    box-shadow: inset 0 1px 2px rgb(24 25 22 / 8%);
}
.admin-onboarding-show .journey-timeline--compact .journey-node--completed .journey-node__marker {
    border-color: #438c59;
    background: #438c59;
    color: #fff;
    box-shadow: 0 0 0 4px #eaf3ec;
}
.admin-onboarding-show .journey-timeline--compact .journey-node--current .journey-node__marker {
    border: 2px solid #b4872c;
    background: #fbf5e7;
    color: #9b711e;
    box-shadow: 0 0 0 4px #f6edd9;
}
.admin-onboarding-show .journey-timeline--compact .journey-node strong {
    max-width: 116px;
    font-size: .63rem;
    font-weight: 600;
    line-height: 1.35;
}
.admin-onboarding-show .journey-timeline--compact .journey-node small { color: var(--oc-ink-faint); font-size: .58rem; }
.admin-onboarding-show .journey-timeline--compact .journey-node--completed small { color: var(--oc-success); }
.admin-onboarding-show .journey-timeline--compact .journey-node--current small { color: var(--oc-gold-strong); }

.admin-onboarding-show .onboarding-transition {
    margin: 0 0 22px;
    padding: 27px 32px 23px;
    border-radius: 13px;
    box-shadow: 0 10px 30px rgb(24 25 22 / 4%);
}
.admin-onboarding-show .onboarding-transition .form-grid {
    grid-template-columns: minmax(260px, 1fr) minmax(0, 1fr);
    gap: 12px 20px;
}
.admin-onboarding-show .onboarding-transition .field:first-child { grid-column: 1; }
.admin-onboarding-show .onboarding-transition .field--wide { grid-column: 1 / -1; }
.admin-onboarding-show .onboarding-transition .button {
    min-width: 190px;
    min-height: 42px;
    margin: 13px 0 0 auto;
    border-radius: 8px;
}
.admin-onboarding-show .onboarding-board { gap: 18px; }
.admin-onboarding-show .onboarding-step {
    padding: 23px 27px;
    border-radius: 13px;
    box-shadow: 0 10px 30px rgb(24 25 22 / 4%);
}
.admin-onboarding-show .onboarding-step > header { align-items: center; }
.admin-onboarding-show .onboarding-step h2 {
    margin: 5px 0 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.45rem;
    font-weight: 400;
    letter-spacing: -.025em;
}
.admin-onboarding-show .onboarding-step__status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 76px;
    min-height: 36px;
    padding: 7px 12px;
    border-radius: 999px;
    text-transform: none;
    letter-spacing: 0;
}
.admin-onboarding-show .checklist-stack { gap: 8px; margin: 18px 0 13px; }
.admin-onboarding-show .checklist-button {
    min-height: 42px;
    padding: 9px 13px;
    border-radius: 8px;
    background: var(--oc-surface);
    font-size: .72rem;
}
.admin-onboarding-show .onboarding-step > form:last-child .button {
    min-height: 38px;
    padding-inline: 15px;
    border-color: color-mix(in srgb, var(--oc-gold) 68%, var(--oc-border));
    border-radius: 8px;
}

@media (max-width: 1100px) {
    .admin-onboarding-show .onboarding-summary-grid { grid-template-columns: 1fr; }
    .admin-onboarding-show .onboarding-summary-card { min-height: 118px; }
}

@media (max-width: 780px) {
    .admin-onboarding-show .content { padding: 28px 16px 42px; }
    .admin-onboarding-show .onboarding-page-heading { align-items: flex-start; min-height: 0; }
    .admin-onboarding-show .onboarding-page-heading h1 { font-size: clamp(2.6rem, 13vw, 3.5rem); }
    .admin-onboarding-show .onboarding-page-heading .button { margin-top: 17px; }
    .admin-onboarding-show .onboarding-summary-grid { gap: 12px; margin-bottom: 34px; }
    .admin-onboarding-show .onboarding-summary-card { min-height: 106px; padding: 18px; }
    .admin-onboarding-show .journey-context > .section-heading { align-items: flex-start; }
    .admin-onboarding-show .journey-context .section-heading .button { width: 100%; }
    .admin-onboarding-show .journey-timeline--compact { overflow: visible; }
    .admin-onboarding-show .journey-timeline--compact .journey-phase { min-width: 0; padding: 22px 20px; }
    .admin-onboarding-show .journey-timeline--compact .journey-track {
        display: grid;
        min-width: 0;
        grid-template-columns: 1fr;
    }
    .admin-onboarding-show .journey-timeline--compact .journey-track::before {
        top: 18px;
        bottom: 18px;
        left: 17px;
        width: 2px;
        height: auto;
        background: #dadad6;
    }
    .admin-onboarding-show .journey-timeline--compact .journey-node {
        grid-template-columns: 36px minmax(0, 1fr);
        grid-template-rows: auto auto;
        align-items: center;
        justify-items: start;
        min-height: 66px;
        gap: 2px 14px;
        text-align: left;
    }
    .admin-onboarding-show .journey-timeline--compact .journey-node__marker { grid-row: 1 / 3; }
    .admin-onboarding-show .journey-timeline--compact .journey-node strong { max-width: none; font-size: .68rem; }
    .admin-onboarding-show .onboarding-transition { padding: 22px 18px; }
    .admin-onboarding-show .onboarding-transition .form-grid { grid-template-columns: 1fr; }
    .admin-onboarding-show .onboarding-transition .field:first-child,
    .admin-onboarding-show .onboarding-transition .field--wide { grid-column: auto; }
    .admin-onboarding-show .onboarding-transition .button { width: 100%; }
    .admin-onboarding-show .onboarding-step { padding: 20px 17px; }
}

/* Configurações master e execução segura de migrations ------------------ */
.master-settings-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 18px;
    margin-top: 18px;
    padding: 22px 24px;
    border: 1px solid color-mix(in srgb, var(--oc-gold) 32%, var(--oc-border));
    border-radius: var(--oc-radius-md);
    background: linear-gradient(110deg, rgb(245 236 215 / 45%), rgb(255 254 251 / 96%) 42%);
    box-shadow: var(--oc-shadow-xs), var(--oc-shadow-sm);
}
.master-settings-card__icon {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: var(--oc-gold-soft);
    color: var(--oc-gold-strong);
}
.master-settings-card__icon svg { width: 22px; height: 22px; }
.master-settings-card h2 { margin: 3px 0 2px; font-size: 1.08rem; font-weight: 680; letter-spacing: -.025em; }
.master-settings-card p { margin: 0; color: var(--oc-ink-soft); font-size: .73rem; }

.migration-page-heading { align-items: center; }
.migration-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 18px;
}
.migration-summary article {
    display: grid;
    align-content: start;
    min-height: 145px;
    padding: 20px;
    border: 1px solid var(--oc-border);
    border-radius: var(--oc-radius-md);
    background: var(--oc-surface);
    box-shadow: var(--oc-shadow-xs), var(--oc-shadow-sm);
}
.migration-summary article > span {
    color: var(--oc-ink-faint);
    font-size: .62rem;
    font-weight: 750;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.migration-summary article > strong {
    margin: 17px 0 4px;
    overflow-wrap: anywhere;
    color: var(--oc-ink);
    font-size: clamp(1.35rem, 2vw, 2rem);
    font-weight: 590;
    letter-spacing: -.04em;
    line-height: 1.1;
}
.migration-summary article > small { color: var(--oc-ink-soft); font-size: .67rem; }
.migration-summary article.has-pending { border-color: rgb(184 135 45 / 48%); background: var(--oc-warning-soft); }
.migration-summary article.is-current { border-color: rgb(79 142 72 / 32%); }
.migration-summary article.is-current > strong { color: var(--oc-success); }
.migration-layout { display: grid; gap: 18px; }
.migration-panel,
.migration-result {
    padding: clamp(22px, 3vw, 30px);
    border: 1px solid var(--oc-border);
    border-radius: var(--oc-radius-md);
    background: var(--oc-surface);
    box-shadow: var(--oc-shadow-xs), var(--oc-shadow-sm);
}
.migration-panel > header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 20px;
}
.migration-panel h2,
.migration-result h2 { margin: 4px 0 0; color: var(--oc-ink); font-size: 1.25rem; font-weight: 670; letter-spacing: -.03em; }
.migration-empty {
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 92px;
    padding: 18px;
    border: 1px dashed rgb(79 142 72 / 36%);
    border-radius: var(--oc-radius-sm);
    background: var(--oc-success-soft);
}
.migration-empty > span {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    border-radius: 50%;
    background: var(--oc-success);
    color: #fff;
    font-weight: 800;
}
.migration-empty strong { font-size: .86rem; }
.migration-empty p { margin: 2px 0 0; color: var(--oc-ink-soft); font-size: .72rem; }
.migration-pending-list {
    margin: 0 0 20px;
    padding: 0;
    list-style: none;
}
.migration-pending-list li {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 11px;
    padding: 12px 4px;
    border-bottom: 1px solid var(--oc-border);
}
.migration-pending-list li > span { width: 8px; height: 8px; border-radius: 50%; background: var(--oc-warning); }
.migration-pending-list code,
.migration-history code,
.migration-result li { overflow-wrap: anywhere; color: #3e3d38; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .72rem; }
.migration-run-form { display: grid; gap: 14px; padding-top: 4px; }
.migration-warning { padding: 15px 17px; border-left: 3px solid var(--oc-warning); border-radius: 0 10px 10px 0; background: var(--oc-warning-soft); }
.migration-warning strong { font-size: .78rem; }
.migration-warning p { margin: 3px 0 0; color: var(--oc-ink-soft); font-size: .7rem; }
.migration-run-form .check-card { margin: 0; padding: 14px; font-size: .73rem; }
.migration-run-form .button { justify-self: end; min-width: 245px; }
.migration-result { margin-bottom: 18px; border-color: rgb(79 142 72 / 30%); }
.migration-result ul { display: grid; gap: 7px; margin: 15px 0 0; padding-left: 20px; }
.migration-history .table-scroll { max-height: 520px; }
.migration-history table { min-width: 720px; }
.migration-history td:first-child { width: 68%; }

@media (max-width: 900px) {
    .migration-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
    .master-settings-card { grid-template-columns: auto minmax(0, 1fr); padding: 19px; }
    .master-settings-card .button { grid-column: 1 / -1; width: 100%; }
    .migration-summary { grid-template-columns: 1fr; }
    .migration-summary article { min-height: 120px; }
    .migration-panel > header { align-items: flex-start; flex-direction: column; }
    .migration-run-form .button { width: 100%; min-width: 0; }
}

/* Visão executiva do diagnóstico ---------------------------------------- */
.diagnostic-show-page {
    display: grid;
    gap: 18px;
    color: var(--oc-ink);
}
.diagnostic-show-page > * { min-width: 0; }
.diagnostic-show-heading {
    align-items: center;
    margin-bottom: 2px;
    padding: 8px 0 10px;
}
.diagnostic-show-heading > div:first-child { max-width: 760px; }
.diagnostic-show-heading h1 {
    margin: 10px 0 7px;
    color: var(--oc-ink);
    font-size: clamp(2.65rem, 4.7vw, 4.8rem);
    font-weight: 520;
    letter-spacing: -.06em;
    line-height: .98;
}
.diagnostic-show-heading p { color: var(--oc-ink-soft); font-size: .82rem; }
.diagnostic-show-heading__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 9px;
    max-width: 520px;
}
.diagnostic-show-heading__actions .button { min-height: 43px; padding-inline: 19px; }
.diagnostic-show-page .action-zone { margin: 0; }

.diagnostic-show-page .diagnostic-executive-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin: 0;
}
.diagnostic-show-page .diagnostic-overview-card {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    align-items: start;
    align-content: start;
    gap: 15px;
    min-height: 174px;
    padding: 22px;
    border: 1px solid var(--oc-border);
    border-radius: var(--oc-radius-md);
    background: rgb(255 254 251 / 96%);
    box-shadow: var(--oc-shadow-xs), var(--oc-shadow-sm);
}
.diagnostic-overview-card__icon {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: var(--oc-gold-soft);
    color: var(--oc-gold-strong);
}
.diagnostic-overview-card__icon svg { width: 22px; height: 22px; }
.diagnostic-overview-card__copy { display: grid; align-content: start; min-width: 0; }
.diagnostic-overview-card__copy > span {
    color: var(--oc-gold-strong);
    font-size: .61rem;
    font-weight: 750;
    letter-spacing: .105em;
    text-transform: uppercase;
}
.diagnostic-show-page .diagnostic-overview-card__copy > strong {
    display: block;
    margin: 15px 0 6px;
    overflow-wrap: anywhere;
    color: var(--oc-ink);
    font-size: clamp(1.3rem, 2.05vw, 1.85rem);
    font-style: normal;
    font-weight: 560;
    letter-spacing: -.04em;
    line-height: 1.12;
}
.diagnostic-overview-card__copy > strong em { color: var(--oc-ink-faint); font-size: .65em; font-style: normal; font-weight: 500; }
.diagnostic-show-page .diagnostic-overview-card__copy > small {
    color: var(--oc-ink-soft);
    font-size: .7rem;
    line-height: 1.45;
}
.diagnostic-show-page .diagnostic-progress {
    width: 100%;
    height: 5px;
    margin-top: 15px;
    grid-column: auto;
    border-radius: 999px;
    background: #ece8df;
}
.diagnostic-show-page .diagnostic-progress i { justify-self: start; min-width: 0; background: linear-gradient(90deg, var(--oc-gold-strong), var(--oc-gold)); }

.diagnostic-show-page .diagnostic-executive-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin: 0;
}
.diagnostic-show-page .diagnostic-detail-card {
    min-width: 0;
    padding: clamp(22px, 2.5vw, 30px);
    border: 1px solid var(--oc-border);
    border-radius: var(--oc-radius-md);
    background: rgb(255 254 251 / 96%);
    box-shadow: var(--oc-shadow-xs), var(--oc-shadow-sm);
}
.diagnostic-show-page .diagnostic-detail-card > h2 {
    margin: 7px 0 17px;
    color: var(--oc-ink);
    font-size: clamp(1.35rem, 2vw, 1.8rem);
    font-weight: 560;
    letter-spacing: -.04em;
}
.diagnostic-show-page .diagnostic-detail-card > p { color: var(--oc-ink-soft); font-size: .78rem; line-height: 1.65; }
.diagnostic-empty-copy {
    min-height: 78px;
    margin: 0 !important;
    padding: 18px;
    border: 1px dashed var(--oc-border-strong);
    border-radius: 11px;
    background: var(--oc-bg-soft);
}
.diagnostic-show-page .diagnostic-result-list { margin-top: 4px; }
.diagnostic-show-page .diagnostic-result-list li { align-items: center; padding: 12px 0; }
.diagnostic-show-page .diagnostic-result-list li > span { min-width: 0; color: var(--oc-ink); font-size: .79rem; }
.diagnostic-show-page .diagnostic-result-list li > small {
    flex: 0 0 auto;
    padding: 4px 8px;
    border-radius: 999px;
    background: var(--oc-success-soft);
    color: var(--oc-success);
    font-size: .6rem;
    font-weight: 700;
}
.diagnostic-show-page .diagnostic-indicator-list { margin: 4px 0 0; }
.diagnostic-show-page .diagnostic-indicator-list li { color: var(--oc-ink-soft); font-size: .78rem; line-height: 1.5; }
.diagnostic-show-page .diagnostic-plain-list { gap: 0; margin-top: 18px; }
.diagnostic-show-page .diagnostic-plain-list li {
    position: relative;
    padding: 10px 0 10px 18px;
    border-top: 1px solid var(--oc-border);
    color: var(--oc-ink-soft);
    font-size: .77rem;
}
.diagnostic-show-page .diagnostic-plain-list li::before {
    position: absolute;
    top: 16px;
    left: 2px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--oc-gold);
    content: "";
}
.diagnostic-consultant-notes { display: grid; gap: 0; }
.diagnostic-consultant-notes > div { padding: 13px 0; border-top: 1px solid var(--oc-border); }
.diagnostic-consultant-notes > div:first-child { border-top: 0; padding-top: 0; }
.diagnostic-consultant-notes strong { color: var(--oc-ink); font-size: .72rem; font-weight: 700; }
.diagnostic-consultant-notes p { margin: 4px 0 0; color: var(--oc-ink-soft); font-size: .76rem; line-height: 1.55; }

.diagnostic-show-page .diagnostic-full-answers {
    overflow: hidden;
    margin: 0;
    border: 1px solid var(--oc-border);
    border-radius: var(--oc-radius-md);
    background: var(--oc-surface);
    box-shadow: var(--oc-shadow-xs), var(--oc-shadow-sm);
}
.diagnostic-show-page .diagnostic-full-answers > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    min-height: 72px;
    padding: 18px 24px;
    color: var(--oc-ink);
    font-size: .9rem;
    font-weight: 680;
}
.diagnostic-show-page .diagnostic-full-answers > summary small { color: var(--oc-ink-faint); font-size: .68rem; font-weight: 500; }
.diagnostic-show-page .diagnostic-full-answers[open] > summary { border-bottom: 1px solid var(--oc-border); }
.diagnostic-show-page .diagnostic-answer-content { padding: 24px; }
.diagnostic-show-page .diagnostic-secondary-action { margin-top: 0; }

@media (max-width: 1180px) {
    .diagnostic-show-page .diagnostic-overview-card { grid-template-columns: 42px minmax(0, 1fr); padding: 19px; }
    .diagnostic-overview-card__icon { width: 42px; height: 42px; border-radius: 12px; }
}
@media (max-width: 960px) {
    .diagnostic-show-heading { align-items: flex-start; flex-direction: column; }
    .diagnostic-show-heading__actions { justify-content: flex-start; max-width: none; }
    .diagnostic-show-page .diagnostic-executive-grid { grid-template-columns: 1fr; }
    .diagnostic-show-page .diagnostic-overview-card { min-height: 0; }
}
@media (max-width: 720px) {
    .diagnostic-show-page { gap: 14px; }
    .diagnostic-show-heading h1 { font-size: clamp(2.35rem, 13vw, 3.45rem); }
    .diagnostic-show-heading__actions { display: grid; width: 100%; grid-template-columns: 1fr; }
    .diagnostic-show-heading__actions .button { width: 100%; }
    .diagnostic-show-page .diagnostic-executive-columns { grid-template-columns: 1fr; }
    .diagnostic-show-page .diagnostic-full-answers > summary { align-items: flex-start; flex-direction: column; gap: 3px; }
    .diagnostic-show-page .diagnostic-answer-content { padding: 18px; }
}
