:root {
    --bg: #f7efe7;
    --panel: #fffaf6;
    --line: rgba(43, 26, 18, 0.12);
    --text: #1f1713;
    --muted: #6a5a50;
    --green: #006d32;
    --green-soft: #dbf4e1;
    --red-soft: #fde0de;
    --red: #9f2828;
    --shadow: 0 24px 70px rgba(50, 27, 14, 0.12);
}

* { box-sizing: border-box; }
body {
    margin: 0;
    background: linear-gradient(180deg, #fff8f3 0%, var(--bg) 100%);
    color: var(--text);
    font-family: "Manrope", sans-serif;
}

.admin-shell {
    width: min(1380px, calc(100% - 24px));
    margin: 0 auto;
    padding: 24px 0 40px;
}

.admin-layout {
    display: grid;
    grid-template-columns: 292px minmax(0, 1fr);
    gap: 20px;
    align-items: start;
}

.admin-sidebar {
    position: sticky;
    top: 18px;
    padding: 24px 20px;
    background: linear-gradient(180deg, #1f1713 0%, #2c201a 100%);
    color: #fff6f0;
    border-radius: 30px;
    box-shadow: var(--shadow);
    display: grid;
    gap: 18px;
}

.sidebar-copy {
    margin: 0;
    color: rgba(255, 246, 240, 0.72);
    line-height: 1.7;
}

.sidebar-user {
    padding: 16px 18px;
    border-radius: 22px;
    background: rgba(255,255,255,0.08);
    display: grid;
    gap: 4px;
}

.sidebar-user span {
    color: rgba(255, 246, 240, 0.7);
    font-size: 0.92rem;
}

.sidebar-nav {
    display: grid;
    gap: 10px;
}

.sidebar-link {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 48px;
    padding: 0 16px;
    border-radius: 16px;
    color: rgba(255, 246, 240, 0.82);
    font-weight: 800;
    transition: background 180ms ease, transform 180ms ease;
}

.sidebar-link:hover,
.sidebar-link-active {
    background: linear-gradient(135deg, rgba(1, 187, 91, 0.26), rgba(1, 187, 91, 0.12));
    color: #fff;
    transform: translateX(2px);
}

.sidebar-link-settings,
.sidebar-link-users,
.sidebar-link-manuales {
    border: 1px solid rgba(255, 230, 186, 0.16);
}

.sidebar-link-settings {
    background: linear-gradient(135deg, rgba(166, 92, 39, 0.34), rgba(98, 45, 12, 0.2));
    color: #fff4df;
}

.sidebar-link-settings:hover,
.sidebar-link-settings.sidebar-link-active {
    background: linear-gradient(135deg, rgba(223, 131, 61, 0.5), rgba(133, 63, 20, 0.34));
}

.sidebar-link::after {
    content: attr(data-tooltip);
    position: absolute;
    left: calc(100% + 10px);
    top: 50%;
    width: 220px;
    padding: 12px 14px;
    border-radius: 16px;
    background: rgba(255, 248, 243, 0.96);
    color: var(--text);
    font-size: 0.82rem;
    font-weight: 700;
    line-height: 1.55;
    box-shadow: var(--shadow);
    opacity: 0;
    pointer-events: none;
    transform: translateY(-50%) translateX(-4px);
    transition: opacity 180ms ease, transform 180ms ease;
    z-index: 20;
}

.sidebar-link:hover::after,
.sidebar-link:focus-visible::after {
    opacity: 1;
    transform: translateY(-50%) translateX(0);
}

.sidebar-actions {
    display: grid;
    gap: 10px;
}

.admin-main {
    display: grid;
    gap: 18px;
}

.login-panel {
    width: min(560px, 100%);
    margin: 80px auto 0;
    padding: 28px;
    background: rgba(255, 250, 246, 0.9);
    border: 1px solid rgba(255,255,255,0.55);
    border-radius: 28px;
    box-shadow: var(--shadow);
}

.login-form {
    margin-top: 18px;
    display: grid;
    gap: 14px;
}

.login-links {
    margin-top: 18px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.login-form button {
    min-height: 48px;
    border: 0;
    border-radius: 999px;
    background: var(--green);
    color: #fff;
    font-weight: 800;
    cursor: pointer;
}

.admin-header,
.panel,
.flash,
.actions {
    background: rgba(255, 250, 246, 0.9);
    border: 1px solid rgba(255,255,255,0.55);
    border-radius: 28px;
    box-shadow: var(--shadow);
}

.admin-header {
    padding: 28px;
}

.header-help {
    margin-top: 18px;
    padding: 18px 20px;
    border-radius: 22px;
    background: rgba(0, 109, 50, 0.08);
}

.header-help strong {
    display: block;
    margin-bottom: 6px;
    color: var(--green);
    font-size: 0.82rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.header-help p {
    margin: 0;
    color: var(--muted);
    line-height: 1.7;
}

.admin-title {
    margin: 0;
    font-size: clamp(2.2rem, 4.6vw, 3.5rem);
}

.header-actions {
    display: grid;
    gap: 10px;
    justify-items: end;
}

.eyebrow {
    margin: 0 0 8px;
    color: var(--green);
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.18em;
}

h1, h2, h3 {
    font-family: "Cormorant Garamond", serif;
}

h1 {
    margin: 0;
    font-size: clamp(2.4rem, 5vw, 4rem);
    line-height: 0.95;
}

.lead {
    max-width: 720px;
    color: var(--muted);
    line-height: 1.7;
}

.session-user {
    margin: 12px 0 0;
    color: var(--muted);
}

.public-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 18px;
    border-radius: 999px;
    background: var(--green);
    color: #fff;
    font-weight: 800;
}

.logout-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 14px;
    border-radius: 999px;
    background: #fff;
    color: var(--text);
    font-weight: 800;
}

.sidebar-actions .logout-link,
.sidebar-actions .public-link {
    width: 100%;
}

.back-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 16px;
    border-radius: 999px;
    background: transparent;
    border: 1px solid var(--line);
    color: var(--text);
    font-weight: 800;
}

.db-status {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 0 14px;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.db-status-ok {
    background: var(--green-soft);
    color: var(--green);
}

.db-status-warn {
    background: #fff0cf;
    color: #8b6000;
}

.flash {
    margin-top: 18px;
    padding: 16px 18px;
    font-weight: 700;
}

.flash-ok { background: var(--green-soft); color: var(--green); }
.flash-error { background: var(--red-soft); color: var(--red); }

.admin-form {
    display: grid;
    gap: 18px;
}

.stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.stat-card {
    padding: 20px 22px;
    border-radius: 26px;
    box-shadow: var(--shadow);
    display: grid;
    gap: 8px;
}

.stat-card span {
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.12em;
}

.stat-card strong {
    font-size: 2.4rem;
    line-height: 1;
    font-family: "Cormorant Garamond", serif;
}

.stat-meta {
    color: currentColor;
    opacity: 0.8;
    font-size: 0.86rem;
    line-height: 1.55;
}

.stat-card-green { background: linear-gradient(145deg, #e8f8ed, #d5efdf); color: var(--green); }
.stat-card-amber { background: linear-gradient(145deg, #fff4d4, #ffe8ae); color: #8b6000; }
.stat-card-clay { background: linear-gradient(145deg, #fee8e0, #f9d2c4); color: #a44032; }
.stat-card-ink { background: linear-gradient(145deg, #f1ece8, #e4d9d2); color: #44352c; }

.quick-links-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
}

.quick-links-grid-wide {
    grid-template-columns: repeat(3, 1fr);
}

.quick-link-card {
    padding: 18px;
    border-radius: 22px;
    background: #fff;
    border: 1px solid rgba(43, 26, 18, 0.08);
    transition: transform 180ms ease, box-shadow 180ms ease;
}

.quick-link-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 36px rgba(50, 27, 14, 0.09);
}

.quick-link-card h3 {
    margin: 0 0 8px;
    font-size: 1.5rem;
}

.quick-link-card p {
    margin: 0;
    color: var(--muted);
    line-height: 1.6;
}

.dashboard-split {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

.dashboard-split-analytics {
    align-items: stretch;
}

.panel {
    padding: 24px;
}

.panel h2 {
    margin: 0 0 18px;
    font-size: 2rem;
}

.panel-heading {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: start;
    margin-bottom: 18px;
}

.chip-neutral,
.chip-status,
.inline-meta {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 12px;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.chip-neutral {
    background: #f1ebe5;
    color: #5a4d45;
}

.chip-status {
    background: linear-gradient(145deg, #def4e4, #cbebd7);
    color: var(--green);
}

.inline-meta {
    margin-top: 8px;
    background: #f5efe9;
    color: #6f5d51;
}

.grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}

.section-meta-grid {
    margin-bottom: 18px;
}

.grid-span-2 { grid-column: span 2; }
.grid-span-3 { grid-column: span 3; }

label {
    display: grid;
    gap: 8px;
}

label span {
    font-size: 0.82rem;
    font-weight: 800;
    color: var(--muted);
    text-transform: uppercase;
    letter-spacing: 0.12em;
}

input,
textarea,
select {
    width: 100%;
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 14px 16px;
    background: #fff;
    color: var(--text);
    font: inherit;
}

textarea { resize: vertical; }

.inventory-table-wrap {
    overflow-x: auto;
    border-radius: 24px;
    border: 1px solid rgba(43, 26, 18, 0.08);
    background: #fff;
}

.inventory-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 980px;
}

.inventory-table th,
.inventory-table td {
    padding: 14px 16px;
    border-bottom: 1px solid rgba(43, 26, 18, 0.08);
    text-align: left;
    vertical-align: top;
}

.inventory-table th {
    background: #f7efe7;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--muted);
}

.inventory-table td strong {
    display: block;
    margin-bottom: 4px;
}

.inventory-table td small {
    color: var(--muted);
}

.inventory-row-alert {
    background: linear-gradient(90deg, rgba(253, 224, 222, 0.72), rgba(255, 255, 255, 0.96));
}

.billing-actions {
    margin-top: 18px;
}

.billing-actions-double {
    justify-content: space-between;
    gap: 12px;
}

.invoice-preview {
    display: grid;
    gap: 16px;
}

.invoice-preview-head,
.invoice-preview-total,
.table-action-links,
.billing-day-group summary {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
}

.invoice-preview-head p {
    margin: 6px 0 0;
    color: var(--muted);
}

.invoice-preview-total {
    padding: 16px 18px;
    border-radius: 18px;
    background: #f7efe7;
}

.invoice-preview-total span {
    font-size: 1.4rem;
    font-weight: 800;
}

.billing-day-group summary {
    cursor: pointer;
    list-style: none;
}

.billing-day-group summary::-webkit-details-marker {
    display: none;
}

.preset-card summary {
    cursor: pointer;
    list-style: none;
}

.preset-card summary::-webkit-details-marker {
    display: none;
}

.preset-summary {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
    margin-bottom: 16px;
}

.preset-actions {
    margin-top: 16px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: end;
}

.preset-send-stack {
    margin-top: 18px;
}

.billing-preview-actions {
    margin-top: 18px;
}

.billing-calendar-layout {
    display: grid;
    grid-template-columns: 320px minmax(0, 1fr);
    gap: 18px;
}

.billing-month-strip {
    margin-top: 16px;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 10px;
}

.billing-month-chip {
    display: grid;
    gap: 4px;
    padding: 12px 10px;
    border-radius: 16px;
    background: #f7efe7;
    color: var(--text);
    text-align: center;
    border: 1px solid rgba(43, 26, 18, 0.08);
}

.billing-month-chip span {
    color: var(--muted);
    font-size: 0.8rem;
}

.billing-month-chip-active {
    background: linear-gradient(145deg, #7e3b25, #ab5f43);
    color: #fff;
}

.billing-month-chip-active span {
    color: rgba(255, 255, 255, 0.82);
}

.billing-calendar-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
}

.billing-calendar-day {
    display: grid;
    gap: 6px;
    padding: 14px 10px;
    border-radius: 18px;
    background: #f7efe7;
    color: var(--text);
    text-align: center;
    border: 1px solid rgba(43, 26, 18, 0.08);
}

.billing-calendar-day strong {
    font-size: 1.2rem;
    line-height: 1;
}

.billing-calendar-day span {
    color: var(--muted);
    font-size: 0.8rem;
    line-height: 1.4;
}

.billing-calendar-day-active {
    background: linear-gradient(145deg, #0b7a63, #085b4f);
    color: #fff;
}

.billing-calendar-day-active span {
    color: rgba(255, 255, 255, 0.82);
}

.table-action-links {
    justify-content: start;
    flex-wrap: wrap;
}

.table-action-links a {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 0 10px;
    border-radius: 999px;
    background: #f7efe7;
    font-size: 0.82rem;
    font-weight: 800;
    color: var(--text);
}

.stack {
    display: grid;
    gap: 16px;
}

.subpanel {
    padding: 18px;
    border-radius: 22px;
    background: #fff;
    border: 1px solid rgba(43, 26, 18, 0.06);
}

.subpanel h3 {
    margin: 0 0 14px;
    font-size: 1.6rem;
}

.manual-card {
    background: linear-gradient(145deg, rgba(255,255,255,0.96), rgba(245, 238, 232, 0.96));
}

.promo-editor-card {
    transition: opacity 180ms ease, filter 180ms ease, transform 180ms ease;
}

.promo-editor-card-inactive {
    opacity: 0.78;
    filter: grayscale(1);
}

.promo-editor-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 16px;
}

.toggle-chip {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 42px;
    padding: 0 14px;
    border-radius: 999px;
    background: #f6efe9;
    border: 1px solid rgba(43, 26, 18, 0.08);
}

.toggle-chip input {
    width: 18px;
    height: 18px;
    margin: 0;
}

.toggle-chip span {
    color: var(--text);
    font-size: 0.84rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: none;
}

.toggle-chip-danger {
    background: #fff1ef;
    border-color: rgba(159, 40, 40, 0.16);
}

.lead-top {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: baseline;
}

.lead-top span,
.empty-text {
    color: var(--muted);
}

.crm-toolbar {
    margin-top: 18px;
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
    padding: 18px 20px;
    border-radius: 22px;
    background: linear-gradient(145deg, rgba(255,255,255,0.96), rgba(243, 236, 230, 0.96));
}

.crm-toolbar-copy {
    display: grid;
    gap: 6px;
}

.crm-toolbar-copy strong {
    font-size: 0.86rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--green);
}

.crm-toolbar-copy p {
    margin: 0;
    color: var(--muted);
    line-height: 1.6;
}

.crm-toolbar-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.crm-toolbar-actions form {
    margin: 0;
}

.crm-shell {
    display: grid;
    gap: 18px;
}

.section-utility {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
    padding: 18px 20px;
    border-radius: 22px;
    background: rgba(255, 250, 246, 0.92);
    border: 1px solid rgba(43, 26, 18, 0.08);
    box-shadow: var(--shadow);
}

.section-utility-copy {
    display: grid;
    gap: 6px;
}

.section-utility-copy b {
    font-size: 0.86rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--green);
}

.section-utility-copy span {
    color: var(--muted);
    line-height: 1.6;
}

.crm-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}

.crm-head p {
    margin: 6px 0 0;
    color: var(--muted);
    line-height: 1.6;
}

.crm-search-hero {
    display: grid;
    gap: 14px;
}

.crm-search-hero h2 {
    margin: 0;
}

.crm-search-hero p {
    margin: 6px 0 0;
    color: var(--muted);
}

.crm-search-inline {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 10px;
    align-items: center;
}

.crm-search-inline button {
    min-height: 48px;
    padding: 0 18px;
    border: 0;
    border-radius: 999px;
    font-weight: 800;
    cursor: pointer;
    background: var(--green);
    color: #fff;
}

.crm-head-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: end;
}

.crm-head-pill,
.mini-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 14px;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 800;
    color: var(--text);
    background: #fff;
    border: 1px solid rgba(43, 26, 18, 0.1);
}

.crm-head-pill {
    background: #f6efe9;
}

.mini-btn {
    cursor: pointer;
    text-decoration: none;
}

.mini-btn-danger {
    background: #fff1ef;
    color: var(--red);
    border-color: rgba(159, 40, 40, 0.14);
}

.mini-btn-blue {
    background: #1182c4;
    color: #fff;
    border-color: #1182c4;
}

.mini-btn-orange {
    background: #f59e0b;
    color: #fff;
    border-color: #f59e0b;
}

.mini-btn-purple,
.mini-btn-vip {
    background: #6d3df2;
    color: #fff;
    border-color: #6d3df2;
}

.button-secondary,
.button-danger {
    min-height: 44px;
    padding: 0 18px;
    border: 0;
    border-radius: 999px;
    color: #fff;
    font-weight: 800;
    cursor: pointer;
}

.button-secondary { background: linear-gradient(135deg, #3d312b, #1f1713); }
.button-danger { background: linear-gradient(135deg, #c04f3b, #8c231d); }

.pipeline-board-header {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    align-items: center;
    padding: 26px 28px;
    border-radius: 32px;
    background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(248,250,252,0.94));
    border: 1px solid rgba(43, 26, 18, 0.06);
    box-shadow: 0 24px 60px rgba(50, 27, 14, 0.08);
}

.pipeline-board-title {
    display: grid;
    gap: 6px;
}

.pipeline-board-kicker {
    color: #4c46dd;
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.22em;
    text-transform: uppercase;
}

.pipeline-board-header h2 {
    margin: 0;
    font-size: clamp(2.1rem, 4vw, 3rem);
    text-transform: uppercase;
    line-height: 0.94;
}

.pipeline-board-header p {
    margin: 0;
    color: var(--muted);
    max-width: 720px;
    line-height: 1.65;
}

.pipeline-board-search {
    width: min(500px, 100%);
}

.pipeline-board-search input {
    min-height: 60px;
    border-radius: 22px;
    background: #eef3fb;
    border: 2px solid transparent;
    box-shadow: inset 0 1px 2px rgba(76, 70, 221, 0.04);
}

.pipeline-board-search input:focus {
    border-color: #4c46dd;
    background: #f6f7ff;
    outline: none;
}

.pipeline-board-actions {
    justify-content: flex-start;
    flex-wrap: wrap;
    margin-top: 10px;
}

.pipeline-board-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    margin-top: 24px;
}

.pipeline-column {
    min-height: 760px;
    padding: 14px;
    border-radius: 34px;
    background: linear-gradient(180deg, #eef3f9 0%, #f8fbff 100%);
    border: 1px solid rgba(43, 26, 18, 0.06);
    display: flex;
    flex-direction: column;
    gap: 16px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.7);
}

.pipeline-column-head {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: start;
    padding: 20px 20px 22px;
    border-radius: 26px;
    color: #fff;
    box-shadow: 0 18px 34px rgba(43, 26, 18, 0.08);
}

.pipeline-column-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    margin-bottom: 12px;
    border-radius: 999px;
    background: rgba(255,255,255,0.18);
    color: #fff;
    font-size: 1rem;
    font-weight: 900;
}

.pipeline-column-head h3 {
    margin: 0;
    font-size: 1.36rem;
    letter-spacing: 0.07em;
}

.pipeline-column-head small {
    display: block;
    margin-top: 6px;
    color: rgba(255,255,255,0.78);
    font-size: 0.86rem;
}

.pipeline-column-head em {
    display: block;
    margin-top: 10px;
    font-style: normal;
    color: rgba(255,255,255,0.88);
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.pipeline-column-head span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    height: 34px;
    padding: 0 10px;
    border-radius: 999px;
    background: rgba(255,255,255,0.18);
    font-weight: 800;
}

.pipeline-theme-possible .pipeline-column-head { background: linear-gradient(135deg, #3d7be8, #4d88ea); }
.pipeline-theme-client .pipeline-column-head { background: linear-gradient(135deg, #1ab27c, #1fbf8f); }
.pipeline-theme-recurrent .pipeline-column-head { background: linear-gradient(135deg, #4c46dd, #5d4be3); }
.pipeline-theme-vip .pipeline-column-head { background: linear-gradient(135deg, #f8a300, #ffb000); }

.pipeline-card-stack {
    display: grid;
    gap: 16px;
    align-content: start;
}

.pipeline-customer-card {
    padding: 18px 20px;
    border-radius: 24px;
    background: #fff;
    border: 1px solid rgba(43, 26, 18, 0.08);
    box-shadow: 0 12px 26px rgba(43, 26, 18, 0.06);
    transition: transform 180ms ease, box-shadow 180ms ease;
}

.pipeline-customer-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 20px 34px rgba(43, 26, 18, 0.1);
}

.pipeline-customer-card-demo {
    border-color: rgba(248, 163, 0, 0.28);
}

.pipeline-customer-head {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: start;
    margin-bottom: 8px;
}

.pipeline-customer-head strong {
    font-size: 1.22rem;
    line-height: 1.25;
}

.pipeline-card-tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 24px;
    padding: 0 10px;
    border-radius: 999px;
    background: #fff6da;
    color: #8b6000;
    font-size: 0.66rem;
    font-weight: 900;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.pipeline-customer-card p {
    margin: 0 0 6px;
    color: var(--muted);
    font-size: 0.92rem;
    line-height: 1.45;
}

.pipeline-card-email {
    color: #7284a2;
    font-weight: 700;
}

.pipeline-card-phone {
    color: #334155;
    font-weight: 800;
}

.pipeline-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.pipeline-card-meta span {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 0 10px;
    border-radius: 999px;
    background: #f4f7fb;
    color: #6d7f9f;
    font-size: 0.68rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.pipeline-card-move {
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px solid #eef2f8;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
}

.pipeline-arrow-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 14px;
    background: #f5f8fd;
    color: #7e95b9;
    font-size: 1.5rem;
    cursor: pointer;
    transition: background 180ms ease, color 180ms ease, transform 180ms ease;
}

.pipeline-arrow-btn:hover {
    background: #e9effa;
    color: #4c46dd;
    transform: translateY(-1px);
}

.pipeline-center-btn {
    flex: 1 1 auto;
    min-height: 42px;
    border: 0;
    border-radius: 14px;
    background: #f5f8fd;
    color: #8c9bb7;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background 180ms ease, color 180ms ease;
}

.pipeline-center-btn:hover {
    background: #eef2ff;
    color: #4c46dd;
}

.pipeline-empty-card {
    padding: 22px 18px;
    border-radius: 24px;
    border: 2px dashed rgba(125, 145, 170, 0.28);
    color: var(--muted);
    text-align: center;
    background: rgba(255,255,255,0.55);
}

.panel-head {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
}

.crm-lane {
    padding: 16px;
    border-radius: 24px;
    border: 1px solid rgba(43, 26, 18, 0.08);
    box-shadow: var(--shadow);
}

.crm-lane-posible_cliente { background: linear-gradient(180deg, #fff4d9, #fff9ec); }
.crm-lane-cliente { background: linear-gradient(180deg, #e4f7eb, #f4fff7); }
.crm-lane-recurrente { background: linear-gradient(180deg, #ffe6df, #fff5f2); }
.crm-lane-vip { background: linear-gradient(180deg, #ede7ff, #faf8ff); }

.crm-lane-head {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: start;
    margin-bottom: 14px;
}

.crm-lane-head h3 {
    margin: 8px 0 0;
    font-size: 1.5rem;
}

.crm-lane-head strong {
    font-size: 2rem;
    line-height: 1;
    font-family: "Cormorant Garamond", serif;
}

.crm-lane-stack {
    display: grid;
    gap: 12px;
}

.crm-mini-card {
    padding: 14px;
    border-radius: 18px;
    background: rgba(255,255,255,0.92);
    border: 1px solid rgba(43, 26, 18, 0.06);
}

.crm-mini-card-empty {
    min-height: 130px;
    display: grid;
    place-items: center;
    text-align: center;
}

.crm-mini-card-posible_cliente { border-left: 6px solid #e2ad1c; }
.crm-mini-card-cliente { border-left: 6px solid #01a156; }
.crm-mini-card-recurrente { border-left: 6px solid #cf7361; }
.crm-mini-card-vip { border-left: 6px solid #7c4dff; }

.crm-mini-top {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin-bottom: 8px;
}

.crm-mini-top h4 {
    margin: 0;
    font-size: 1.05rem;
}

.crm-mini-pill,
.crm-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.crm-mini-pill {
    background: #f1e8df;
    color: var(--text);
}

.crm-badge-possible { background: #fff0bf; color: #7a5900; }
.crm-badge-client { background: #ddf4e5; color: #0c6b38; }
.crm-badge-recurrent { background: #ffe2da; color: #9f2828; }
.crm-badge-vip { background: #ece4ff; color: #5d37c8; }
.crm-badge-manual { background: #ebe4dd; color: #4a382f; }

.crm-filter-grid {
    grid-template-columns: 1.3fr 0.9fr 0.9fr auto;
    gap: 14px;
    align-items: end;
}

.crm-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(280px, 0.8fr);
    gap: 16px;
}

.crm-form-grid {
    margin-top: 10px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.crm-form-grid .full {
    grid-column: 1 / -1;
}

.crm-form-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.crm-check {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 50px;
    padding: 0 14px;
    border-radius: 18px;
    background: #fff;
    border: 1px solid rgba(43, 26, 18, 0.08);
}

.crm-check span {
    font-size: 0.86rem;
    font-weight: 800;
    color: var(--text);
    letter-spacing: 0;
}

.crm-summary-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}


.metric-card {
    border: 1px solid rgba(43, 26, 18, 0.08);
    border-radius: 22px;
    background: #fff;
    padding: 16px;
}

.metric-card h3 {
    margin: 0;
    font-size: 1rem;
}

.metric-card .num {
    margin-top: 8px;
    font: 800 2rem/1 "Cormorant Garamond", serif;
}

.metric-card p {
    margin: 8px 0 0;
    color: var(--muted);
    font-size: 0.9rem;
    line-height: 1.5;
}

.crm-filters {
    margin-top: 10px;
    display: grid;
    grid-template-columns: 2fr repeat(2, minmax(0, 1fr)) auto;
    gap: 10px;
}

.crm-table-shell {
    margin-top: 18px;
    overflow-x: auto;
    border-radius: 24px;
    border: 1px solid rgba(43, 26, 18, 0.08);
    background: rgba(255,255,255,0.9);
}

.crm-table {
    width: 100%;
    min-width: 1180px;
    border-collapse: collapse;
}

.crm-table th,
.crm-table td {
    padding: 14px 16px;
    border-bottom: 1px solid rgba(43, 26, 18, 0.08);
    text-align: left;
    vertical-align: top;
}

.crm-table th {
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--muted);
    background: #f8f2ed;
}

.crm-row td:first-child {
    font-weight: 800;
    white-space: nowrap;
}

.crm-row-posible_cliente td:first-child { box-shadow: inset 6px 0 0 #e2ad1c; }
.crm-row-cliente td:first-child { box-shadow: inset 6px 0 0 #01a156; }
.crm-row-recurrente td:first-child { box-shadow: inset 6px 0 0 #cf7361; }
.crm-row-vip td:first-child { box-shadow: inset 6px 0 0 #7c4dff; }

.crm-row-stage-possible td:first-child { box-shadow: inset 6px 0 0 #e2ad1c; }
.crm-row-stage-client td:first-child { box-shadow: inset 6px 0 0 #01a156; }
.crm-row-stage-recurrent td:first-child { box-shadow: inset 6px 0 0 #cf7361; }
.crm-row-stage-vip td:first-child { box-shadow: inset 6px 0 0 #7c4dff; }

.crm-row-demo {
    background: linear-gradient(90deg, rgba(245, 239, 233, 0.95), rgba(255, 255, 255, 0.95));
}

.crm-cell-note {
    margin-top: 4px;
    color: var(--muted);
    font-size: 0.82rem;
}

.crm-action-links {
    min-width: 280px;
}

.crm-inline-form {
    display: inline-flex;
}

.table-button {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 0 10px;
    border: 0;
    border-radius: 999px;
    background: #f7efe7;
    font-size: 0.82rem;
    font-weight: 800;
    color: var(--text);
    cursor: pointer;
}

.table-button-danger {
    background: #fff1ef;
    color: var(--red);
}

.crm-action-disabled {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 0 10px;
    border-radius: 999px;
    background: #f0ebe7;
    color: var(--muted);
    font-size: 0.82rem;
    font-weight: 800;
}

.crm-sub {
    display: block;
    margin-top: 4px;
    color: var(--muted);
    font-size: 0.82rem;
    line-height: 1.45;
}

.crm-demo-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 24px;
    padding: 0 8px;
    margin-left: 8px;
    border-radius: 999px;
    background: #fff0bf;
    color: #7a5900;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.crm-status-dot {
    display: inline-block;
    width: 10px;
    height: 10px;
    margin-right: 8px;
    border-radius: 999px;
    background: #b7b7b7;
    vertical-align: middle;
}

.crm-status-dot-active {
    background: #16a34a;
}

.crm-modal {
    width: min(980px, calc(100% - 24px));
    border: 0;
    padding: 0;
    border-radius: 28px;
    background: #fffaf6;
    box-shadow: var(--shadow);
}

.crm-modal::backdrop {
    background: rgba(31, 23, 19, 0.62);
}

.crm-modal-shell,
.crm-modal-form {
    padding: 22px 24px;
}

.crm-modal-top {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: start;
}

.crm-modal-close {
    min-height: 42px;
    padding: 0 16px;
    border: 1px solid rgba(43, 26, 18, 0.12);
    border-radius: 999px;
    background: #fff;
    color: var(--text);
    font-weight: 800;
    cursor: pointer;
}

.role-detail {
    color: var(--muted);
    line-height: 1.7;
}

.stats-grid-owner {
    grid-template-columns: repeat(6, 1fr);
}

.metric-bars {
    display: grid;
    gap: 14px;
}

.metric-bar-card {
    padding: 18px;
    border-radius: 22px;
    background: #fff;
    border: 1px solid rgba(43, 26, 18, 0.08);
}

.metric-bar-top,
.business-unit-top {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: start;
}

.metric-bar-top h3,
.business-unit-top h3 {
    margin: 0 0 4px;
    font-size: 1.45rem;
}

.metric-bar-top p,
.metric-bar-meta,
.mini-metric-label {
    margin: 0;
    color: var(--muted);
    font-size: 0.88rem;
}

.metric-bar-top strong {
    font-size: 1.4rem;
    white-space: nowrap;
}

.metric-bar-track {
    height: 14px;
    margin-top: 12px;
    border-radius: 999px;
    background: #f3ece6;
    overflow: hidden;
}

.metric-bar-fill {
    display: block;
    height: 100%;
    border-radius: inherit;
}

.metric-bar-fill-green { background: linear-gradient(90deg, #01bb5b, #18ba79); }
.metric-bar-fill-amber { background: linear-gradient(90deg, #f2b233, #ffd77a); }
.metric-bar-fill-clay { background: linear-gradient(90deg, #a44032, #cf7361); }
.metric-bar-fill-ink { background: linear-gradient(90deg, #2f2420, #655148); }

.metric-bar-meta {
    margin-top: 10px;
    display: flex;
    justify-content: space-between;
    gap: 12px;
    line-height: 1.5;
}

.mini-metrics-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}

.mini-metric-card {
    display: grid;
    gap: 8px;
}

.mini-metric-card strong {
    font-size: 2rem;
    line-height: 1;
    font-family: "Cormorant Garamond", serif;
}

.mini-metric-card-green { background: linear-gradient(145deg, #e8f8ed, #d5efdf); }
.mini-metric-card-amber { background: linear-gradient(145deg, #fff4d4, #ffe8ae); }
.mini-metric-card-clay { background: linear-gradient(145deg, #fee8e0, #f9d2c4); }
.mini-metric-card-ink { background: linear-gradient(145deg, #f1ece8, #e4d9d2); }

.finance-summary-grid {
    margin-top: 18px;
}

.trend-chart {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    align-items: end;
    min-height: 260px;
}

.trend-group {
    display: grid;
    gap: 10px;
    justify-items: center;
}

.trend-group strong {
    font-size: 1rem;
}

.trend-group small {
    color: var(--muted);
    text-align: center;
    line-height: 1.4;
}

.trend-bars {
    width: 100%;
    min-height: 180px;
    display: flex;
    align-items: end;
    justify-content: center;
    gap: 8px;
    padding: 18px 14px;
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(255,255,255,0.96), rgba(241, 233, 226, 0.96));
    border: 1px solid rgba(43, 26, 18, 0.08);
}

.trend-bar {
    width: 24px;
    min-height: 18px;
    border-radius: 999px 999px 10px 10px;
}

.trend-bar-sales { background: linear-gradient(180deg, #01bb5b, #0d7f49); }
.trend-bar-costs { background: linear-gradient(180deg, #a44032, #cf7361); }
.trend-bar-net { background: linear-gradient(180deg, #f2b233, #ffdd8f); }

.business-unit-card {
    background: linear-gradient(145deg, rgba(255,255,255,0.98), rgba(244, 237, 231, 0.96));
}

.business-unit-sales {
    display: block;
    margin: 10px 0 8px;
    font-size: 2rem;
    line-height: 1;
    font-family: "Cormorant Garamond", serif;
}

.role-profile-card,
.role-user-card {
    background: linear-gradient(145deg, rgba(255,255,255,0.98), rgba(244, 237, 231, 0.96));
}

.role-profile-top {
    display: flex;
    gap: 14px;
    align-items: start;
    margin-bottom: 14px;
}

.role-avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 18px;
    background: linear-gradient(145deg, #0b7a63, #085b4f);
    color: #fff;
    font-size: 1.5rem;
    font-weight: 800;
    flex: 0 0 auto;
}

.role-avatar-photo {
    background: linear-gradient(145deg, #7e3b25, #ab5f43);
}

.role-list-title {
    margin: 12px 0 8px;
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--muted);
}

.role-list {
    margin: 0;
    padding-left: 18px;
    color: var(--text);
    line-height: 1.7;
}

.role-list-muted {
    color: var(--muted);
}

.marketing-strategy-grid {
    grid-template-columns: repeat(3, 1fr);
}

.feed-card {
    background: linear-gradient(145deg, rgba(255,255,255,0.98), rgba(247, 241, 236, 0.96));
}

.price-row {
    display: grid;
    grid-template-columns: 1.4fr 0.7fr;
    gap: 12px;
}

.actions {
    padding: 18px;
    display: flex;
    justify-content: end;
}

.actions-start {
    justify-content: start;
}

.actions button {
    min-height: 48px;
    padding: 0 22px;
    border: 0;
    border-radius: 999px;
    background: var(--green);
    color: #fff;
    font-weight: 800;
    cursor: pointer;
}

.actions .button-secondary,
.actions .button-danger {
    min-height: 48px;
}

.executive-dashboard {
    display: grid;
    gap: 18px;
}

.executive-topbar {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: start;
}

.executive-topbar .lead {
    margin-bottom: 0;
}

.executive-pill-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: end;
}

.executive-pill,
.filter-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 18px;
    border-radius: 12px;
    background: linear-gradient(180deg, #0b7a63, #085b4f);
    color: #ecfff7;
    font-size: 0.84rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.executive-main-grid {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}

.executive-filter-rail {
    display: grid;
    gap: 14px;
}

.filter-card {
    padding: 18px 16px;
    border-radius: 26px;
    background: linear-gradient(180deg, #413d3b 0%, #2f2a29 100%);
    color: #f8f1ea;
    box-shadow: var(--shadow);
}

.filter-card-note {
    background: linear-gradient(180deg, #204e45 0%, #173a34 100%);
}

.filter-card p:last-child {
    margin-bottom: 0;
    line-height: 1.65;
    color: rgba(248, 241, 234, 0.78);
}

.filter-label {
    margin: 0 0 12px;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: rgba(248, 241, 234, 0.74);
}

.filter-stack {
    display: grid;
    gap: 10px;
}

.filter-chip {
    justify-content: start;
    min-height: 40px;
    border-radius: 10px;
}

.executive-content {
    display: grid;
    gap: 18px;
}

.executive-kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.executive-kpi-card {
    padding: 20px 20px 18px;
    border-radius: 24px;
    background: rgba(255, 250, 246, 0.96);
    border: 1px solid rgba(43, 26, 18, 0.08);
    box-shadow: var(--shadow);
    display: grid;
    gap: 12px;
}

.executive-kpi-head,
.executive-kpi-foot,
.donut-legend-meta,
.horizontal-bar-row {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
}

.executive-kpi-head span:first-child {
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--muted);
}

.executive-kpi-icon {
    min-width: 42px;
    min-height: 42px;
    padding: 0 10px;
    border-radius: 14px;
    background: rgba(124, 31, 50, 0.1);
    color: #7c1f32;
    font-size: 0.86rem;
    font-weight: 900;
}

.executive-kpi-card strong {
    font-size: clamp(1.8rem, 3vw, 2.5rem);
    line-height: 1;
}

.executive-kpi-foot {
    font-size: 0.86rem;
    color: var(--muted);
}

.delta-positive,
.delta-negative {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 10px;
    border-radius: 999px;
    font-weight: 800;
}

.delta-positive {
    background: #d9f3e4;
    color: #0b7a63;
}

.delta-negative {
    background: #ffe6d8;
    color: #bb6b1f;
}

.executive-dual-grid,
.executive-bottom-grid,
.executive-info-grid {
    display: grid;
    gap: 16px;
}

.executive-dual-grid {
    grid-template-columns: 1.3fr 1fr;
}

.executive-bottom-grid {
    grid-template-columns: 1fr 1fr 1.1fr;
}

.executive-info-grid {
    grid-template-columns: 1fr 1.2fr;
}

.executive-chart-card,
.executive-compact-card {
    overflow: hidden;
}

.line-chart-shell {
    display: grid;
    grid-template-columns: 62px minmax(0, 1fr);
    gap: 14px;
    align-items: stretch;
}

.line-chart-y-axis {
    display: grid;
    align-content: stretch;
    justify-items: end;
    color: var(--muted);
    font-size: 0.78rem;
    font-weight: 700;
}

.line-chart-y-axis span {
    display: flex;
    align-items: end;
}

.line-chart-stage {
    position: relative;
    min-height: 260px;
    padding: 10px 0 34px;
}

.line-chart-gridlines {
    position: absolute;
    inset: 10px 0 34px;
    display: grid;
    grid-template-rows: repeat(5, 1fr);
}

.line-chart-gridlines span {
    border-top: 1px dashed rgba(43, 26, 18, 0.12);
}

.line-chart-svg {
    position: absolute;
    inset: 10px 0 34px;
    width: 100%;
    height: calc(100% - 44px);
    overflow: visible;
}

.line-chart-path {
    fill: none;
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.line-chart-path-sales { stroke: #0b7a63; }
.line-chart-path-costs { stroke: #c27b16; }
.line-chart-path-net { stroke: #7c1f32; }

.line-chart-x-axis {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    color: var(--muted);
    font-size: 0.78rem;
    font-weight: 800;
    text-align: center;
}

.chart-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 12px;
    color: var(--muted);
    font-size: 0.84rem;
    font-weight: 800;
}

.chart-legend span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.legend-dot {
    width: 12px;
    height: 12px;
    border-radius: 999px;
}

.legend-sales { background: #0b7a63; }
.legend-costs { background: #c27b16; }
.legend-net { background: #7c1f32; }

.donut-layout {
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr);
    gap: 16px;
    align-items: center;
}

.donut-card {
    display: grid;
    place-items: center;
}

.donut-chart {
    width: 220px;
    height: 220px;
    border-radius: 50%;
    display: grid;
    place-items: center;
}

.donut-center {
    width: 118px;
    height: 118px;
    border-radius: 50%;
    background: #fffaf6;
    display: grid;
    place-items: center;
    text-align: center;
    padding: 12px;
    box-shadow: inset 0 0 0 1px rgba(43, 26, 18, 0.08);
}

.donut-center strong {
    font-size: 1.5rem;
    line-height: 1;
}

.donut-center span {
    color: var(--muted);
    font-size: 0.8rem;
    line-height: 1.4;
}

.donut-legend-grid {
    display: grid;
    gap: 12px;
}

.donut-legend-card {
    padding: 14px 16px;
    border-radius: 18px;
    background: #fff;
    border: 1px solid rgba(43, 26, 18, 0.08);
}

.donut-legend-top {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
}

.legend-stick {
    width: 4px;
    height: 28px;
    border-radius: 999px;
}

.legend-stick-green { background: #0b7a63; }
.legend-stick-amber { background: #d58b12; }
.legend-stick-clay { background: #7c1f32; }
.legend-stick-ink { background: #204e7a; }

.donut-legend-card strong,
.horizontal-bar-copy strong {
    font-size: 1rem;
    font-family: "Manrope", sans-serif;
}

.donut-legend-meta,
.horizontal-bar-copy span,
.horizontal-bar-value,
.vertical-bar-item span {
    color: var(--muted);
    font-size: 0.84rem;
    font-weight: 700;
}

.vertical-bars {
    min-height: 280px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
    align-items: end;
}

.vertical-bar-item {
    display: grid;
    gap: 10px;
    justify-items: center;
}

.vertical-bar-item strong {
    font-size: 0.92rem;
    font-family: "Manrope", sans-serif;
}

.vertical-bar-track {
    width: 100%;
    min-height: 190px;
    display: flex;
    align-items: end;
    padding: 0 8px;
    border-radius: 18px;
    background: linear-gradient(180deg, #f5eee8 0%, #ede1d6 100%);
}

.vertical-bar-fill {
    display: block;
    width: 100%;
    border-radius: 12px 12px 0 0;
    background: linear-gradient(180deg, #d58b12, #b56d08);
}

.radar-shell {
    position: relative;
    min-height: 280px;
    display: grid;
    place-items: center;
}

.radar-svg {
    width: min(100%, 290px);
    max-width: 290px;
}

.radar-outline,
.radar-guide {
    fill: none;
    stroke: rgba(43, 26, 18, 0.16);
    stroke-width: 0.8;
}

.radar-outline-inner {
    stroke-dasharray: 2 2;
}

.radar-area {
    fill: rgba(11, 122, 99, 0.18);
    stroke: #0b7a63;
    stroke-width: 1.6;
}

.radar-labels span {
    position: absolute;
    width: 68px;
    text-align: center;
    font-size: 0.72rem;
    line-height: 1.35;
    color: var(--muted);
    font-weight: 800;
}

.horizontal-bars {
    display: grid;
    gap: 14px;
}

.horizontal-bar-row {
    display: grid;
    grid-template-columns: minmax(0, 180px) minmax(0, 1fr) 44px;
}

.horizontal-bar-copy {
    display: grid;
    gap: 4px;
}

.horizontal-bar-track {
    height: 16px;
    border-radius: 999px;
    background: #f3ece6;
    overflow: hidden;
}

.horizontal-bar-fill {
    display: block;
    height: 100%;
    border-radius: inherit;
}

.horizontal-bar-fill-green { background: linear-gradient(90deg, #0b7a63, #0aa27a); }
.horizontal-bar-fill-amber { background: linear-gradient(90deg, #d58b12, #efb857); }
.horizontal-bar-fill-clay { background: linear-gradient(90deg, #7c1f32, #b24962); }
.horizontal-bar-fill-ink { background: linear-gradient(90deg, #204e7a, #497eb1); }

@media (max-width: 860px) {
    .admin-layout { grid-template-columns: 1fr; }
    .admin-sidebar { position: static; }
    .sidebar-link::after { display: none; }
    .stats-grid,
    .quick-links-grid,
    .dashboard-split { grid-template-columns: 1fr; }
    .crm-pipeline-grid,
    .crm-filter-grid,
    .crm-grid,
    .crm-form-grid,
    .crm-filters,
    .crm-summary-cards { grid-template-columns: 1fr; }
    .crm-search-inline { grid-template-columns: 1fr; }
    .stats-grid-owner,
    .quick-links-grid-wide,
    .mini-metrics-grid,
    .marketing-strategy-grid,
    .trend-chart { grid-template-columns: 1fr; }
    .executive-topbar,
    .executive-main-grid,
    .executive-kpi-grid,
    .executive-dual-grid,
    .executive-bottom-grid,
    .executive-info-grid,
    .donut-layout {
        grid-template-columns: 1fr;
    }
    .executive-pill-row { justify-content: start; }
    .line-chart-shell { grid-template-columns: 1fr; }
    .line-chart-y-axis { display: none; }
    .vertical-bars { grid-template-columns: repeat(2, 1fr); }
    .horizontal-bar-row { grid-template-columns: 1fr; }
    .crm-toolbar,
    .crm-lane-head,
    .crm-mini-top,
    .section-utility,
    .crm-head {
        flex-direction: column;
        align-items: start;
    }
    .grid { grid-template-columns: 1fr; }
    .grid-span-2,
    .grid-span-3 { grid-column: auto; }
    .panel-heading,
    .metric-bar-top,
    .metric-bar-meta,
    .business-unit-top,
    .executive-kpi-head,
    .executive-kpi-foot,
    .donut-legend-meta { flex-direction: column; align-items: start; }
}
