/* Super admin — Digiknack / calendar tokens */

/* Viewport locked — flex chain + min-height:0 so inner panels scroll, not the window */
html.admin-html {
    height: 100dvh;
    max-height: 100dvh;
    overflow: hidden;
    overflow-x: hidden;
    color-scheme: dark;
}

body.admin-body {
    height: 100dvh;
    max-height: 100dvh;
    margin: 0;
    min-height: 0;
    overflow: hidden;
    overflow-x: hidden;
    display: flex;
    flex-direction: column;
    color-scheme: dark;
}

/* Title Case on button labels app-wide (first letter of each word) */
button,
input[type="submit"],
input[type="button"],
.btn-inquire,
.dk-btn {
    text-transform: capitalize;
}

/* Page inset: 60px sides, 32px top/bottom — table aligns with same horizontal inset */
.admin-app {
    --admin-page-padding-x: 60px;
    --admin-page-padding-y: 32px;
    --admin-nav-gap: 44px;
    /* Header mark (favicon in nav) — small; do not shrink marketing site logo */
    --admin-brand-size: 22px;
    /* Module title row rhythm (CRM / Calendar headings) */
    --admin-logo-size: 32px;
    --admin-nav-idle: #e3dbcc;
    /* Ai answer URLs (markdown links) — dark beige, distinct from accent pink elsewhere */
    --admin-ai-link-url: #e3dbcc;
    --admin-ai-link-url-hover: #f0eadc;
    --admin-nav-active: var(--cal-accent);
    /* Secondary surfaces (e.g. AI input bar) */
    --admin-color-secondary-surface: #202020;
    /* Ai user prompt bubble — beige accent edge */
    --admin-ai-user-accent: #c9b896;

    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    padding: var(--admin-page-padding-y) var(--admin-page-padding-x);
    flex: 1 1 auto;
    min-height: 0;
    height: auto;
    max-height: 100%;
    overflow: hidden;
}

.admin-app__header {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: clamp(12px, 3vw, 32px);
    flex-shrink: 0;
    width: 100%;
}

.admin-app__brand {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    line-height: 0;
    border-radius: 8px;
    outline: none;
}

.admin-app__brand:focus-visible {
    outline: 2px solid rgba(242, 19, 60, 0.45);
    outline-offset: 3px;
}

.admin-app__brand img {
    width: var(--admin-brand-size);
    height: var(--admin-brand-size);
    display: block;
    object-fit: contain;
}

.admin-app__nav {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px clamp(12px, 2vw, 22px);
    flex: 1 1 auto;
    min-width: 0;
    padding: 0;
    box-sizing: border-box;
}

.admin-nav-btn {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    width: auto;
    text-align: center;
    font-family: inherit;
    font-weight: 500;
    color: var(--admin-nav-idle);
    background: transparent;
    border: none;
    border-radius: 6px;
    padding: 6px 2px;
    cursor: pointer;
    transition: color 0.15s ease, opacity 0.15s ease;
    line-height: 1.2;
    text-decoration: none;
}

a.admin-nav-btn:visited {
    color: var(--admin-nav-idle);
}

a.admin-nav-btn.is-active:visited {
    color: var(--admin-nav-active);
}

.admin-nav-btn__label {
    display: block;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    white-space: nowrap;
}

.admin-nav-btn:hover:not(.is-active) {
    color: var(--cal-text);
}

.admin-nav-btn.is-active {
    color: var(--admin-nav-active);
    background: transparent;
}

.admin-nav-btn:focus-visible {
    outline: 2px solid rgba(242, 19, 60, 0.45);
    outline-offset: 3px;
}

/* CMS nav dropdown */
.admin-nav-dropdown {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.admin-nav-dropdown__trigger {
    gap: 4px;
}

.admin-nav-dropdown__caret {
    width: 12px;
    height: 12px;
    stroke: currentColor;
    opacity: 0.7;
}

.admin-nav-dropdown.is-open .admin-nav-dropdown__caret {
    transform: rotate(180deg);
}

.admin-nav-dropdown__menu {
    position: absolute;
    top: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%);
    min-width: 140px;
    padding: 6px;
    border-radius: 10px;
    border: 1px solid rgba(227, 219, 204, 0.14);
    background: #141414;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.45);
    z-index: 40;
}

.admin-nav-dropdown__item {
    display: block;
    width: 100%;
    box-sizing: border-box;
    text-align: left;
    padding: 8px 10px;
    border: none;
    border-radius: 7px;
    background: transparent;
    color: var(--cal-text, #e8e4dc);
    font-family: inherit;
    font-size: 0.78rem;
    font-weight: 500;
    cursor: pointer;
    text-decoration: none;
}

a.admin-nav-dropdown__item:visited {
    color: var(--cal-text, #e8e4dc);
}

.admin-nav-dropdown__item:hover,
.admin-nav-dropdown__item.is-active {
    background: rgba(242, 19, 60, 0.14);
    color: #fff;
}

a.admin-nav-dropdown__item.is-active:visited {
    color: #fff;
}

/*
 * Digiknack buttons — single source of truth for admin CTAs.
 *
 * Prefer for new UI:
 *   <button type="button" class="dk-btn dk-btn--ghost">
 *     <i data-lucide="search" class="dk-btn__icon" aria-hidden="true"></i>
 *     <span>Find Contacts</span>
 *   </button>
 *
 * Or from JS: DigiknackBtn.html({ icon: 'globe', label: 'Set As Website', variant: 'ghost', className: '…', attrs: '…' })
 *
 * Variants:
 *   (default)  Secondary text + accent icon (toolbar / form actions)
 *   --ghost    Smaller muted actions (Find Contacts, Set As…, Insert chips)
 *   --chevron  Submit-style (Save / Send) — pair with chevrons-right icon
 *   --primary  Brighter hover
 *
 * Labels: Title Case via text-transform: capitalize — do not hand-case in copy.
 *
 * Use DigiknackBtn.html in JS for dynamic buttons.
 */
.dk-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin: 0;
    padding: 0;
    border: none;
    background: transparent;
    color: var(--secondary-color, var(--cal-text, #e8e4dc));
    font-family: inherit;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.3;
    cursor: pointer;
    text-decoration: none;
    text-transform: capitalize;
    transition: color 0.15s ease, opacity 0.15s ease;
}

.dk-btn__icon,
.dk-btn svg.lucide {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
    color: var(--cal-accent, #f2133c);
    stroke: var(--cal-accent, #f2133c);
    transition: transform 0.3s ease;
}

.dk-btn:hover .dk-btn__icon,
.dk-btn:hover svg.lucide {
    transform: translateX(4px);
}

.dk-btn--primary:hover {
    color: #fff;
}

.dk-btn--ghost {
    font-size: 0.75rem;
    color: rgba(232, 228, 220, 0.72);
    gap: 5px;
}

.dk-btn--ghost .dk-btn__icon,
.dk-btn--ghost svg.lucide {
    width: 13px;
    height: 13px;
}

.dk-btn--ghost:hover {
    color: var(--cal-text, #e8e4dc);
}

.dk-btn--ghost:hover .dk-btn__icon,
.dk-btn--ghost:hover svg.lucide {
    transform: none;
}

.dk-btn:disabled,
.dk-btn[disabled] {
    opacity: 0.45;
    cursor: not-allowed;
}

.dk-btn--chevron {
    gap: 6px;
    font-size: 0.75rem;
    color: rgba(232, 228, 220, 0.72);
}

.dk-btn--chevron .dk-btn__icon,
.dk-btn--chevron svg.lucide {
    width: 14px;
    height: 14px;
}

.dk-btn--chevron:hover {
    color: var(--cal-text, #e8e4dc);
}

.admin-empty-hint {
    margin: 16px 4px;
    font-size: 0.875rem;
    color: rgba(232, 228, 220, 0.55);
}

.portfolio-admin-view .admin-app__top {
    margin-bottom: 12px;
}

.admin-status-pill {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 0.68rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.admin-status-pill--draft {
    background: rgba(255, 255, 255, 0.06);
    color: rgba(232, 228, 220, 0.7);
}

.admin-status-pill--published {
    background: rgba(72, 160, 110, 0.18);
    color: #9ee0b8;
}

.admin-status-pill--archived {
    background: rgba(242, 19, 60, 0.12);
    color: rgba(242, 19, 60, 0.9);
}

/* Search sits in the module nav and opens the spotlight overlay */
.admin-spotlight-trigger.admin-nav-btn {
    color: var(--admin-nav-idle);
}

.admin-spotlight-trigger.admin-nav-btn.is-active {
    color: var(--admin-nav-active);
}

/* Spotlight overlay */
.admin-spotlight {
    position: fixed;
    inset: 0;
    z-index: 500;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: min(16vh, 120px) 16px 24px;
}

.admin-spotlight[hidden] {
    display: none !important;
}

.admin-spotlight__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.admin-spotlight__panel {
    position: relative;
    width: min(560px, 100%);
    border-radius: 14px;
    border: 1px solid rgba(227, 219, 204, 0.12);
    background: rgba(16, 16, 16, 0.94);
    box-shadow: 0 24px 80px rgba(0, 0, 0, 0.55);
    overflow: hidden;
}

.admin-spotlight__input-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 16px;
    border-bottom: 1px solid rgba(227, 219, 204, 0.1);
}

.admin-spotlight__input-icon,
.admin-spotlight__input-icon svg {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    color: rgba(232, 228, 220, 0.45);
    stroke: rgba(232, 228, 220, 0.45);
}

.admin-spotlight__input {
    flex: 1 1 auto;
    min-width: 0;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 1rem;
    line-height: 1.4;
    color: var(--cal-text, #e8e4dc);
    outline: none;
}

.admin-spotlight__input::placeholder {
    color: rgba(232, 228, 220, 0.4);
}

.admin-spotlight__esc {
    flex-shrink: 0;
    font-family: inherit;
    font-size: 10px;
    padding: 4px 7px;
    border-radius: 6px;
    border: 1px solid rgba(227, 219, 204, 0.12);
    background: rgba(255, 255, 255, 0.04);
    color: rgba(232, 228, 220, 0.45);
}

.admin-spotlight__results {
    list-style: none;
    margin: 0;
    padding: 6px;
    max-height: min(52vh, 420px);
    overflow-y: auto;
}

.admin-spotlight__item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 10px;
    border-radius: 10px;
    cursor: pointer;
    transition: background 0.12s ease;
}

.admin-spotlight__item:hover,
.admin-spotlight__item.is-active {
    background: rgba(255, 255, 255, 0.08);
}

.admin-spotlight__group {
    list-style: none;
    margin: 8px 6px 4px;
    padding: 0 6px;
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(232, 228, 220, 0.4);
}

.admin-spotlight__group:first-child {
    margin-top: 2px;
}

.admin-spotlight__item-icon {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(227, 219, 204, 0.08);
    color: rgba(232, 228, 220, 0.78);
}

.admin-spotlight__item-icon svg,
.admin-spotlight__item-icon i {
    width: 16px;
    height: 16px;
}

.admin-spotlight__item-kind {
    flex-shrink: 0;
    font-size: 0.68rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    color: rgba(232, 228, 220, 0.42);
    padding-top: 0;
}

.admin-spotlight__item-main {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.admin-spotlight__item-title {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--cal-text, #e8e4dc);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-spotlight__item-sub {
    font-size: 0.75rem;
    color: rgba(232, 228, 220, 0.5);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-spotlight__empty {
    margin: 0;
    padding: 14px 16px 18px;
    font-size: 0.8125rem;
    color: rgba(232, 228, 220, 0.45);
}

.admin-app__user-wrap {
    flex: 0 0 auto;
    position: relative;
    z-index: 320;
}

.admin-user-menu {
    position: relative;
}

.admin-user-menu__trigger {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: none;
    background: none;
    cursor: pointer;
    border-radius: 50%;
    line-height: 0;
}

.admin-user-menu__trigger:focus-visible {
    outline: 2px solid rgba(242, 19, 60, 0.45);
    outline-offset: 3px;
}

/* Same beige token as nav idle; 22×22 circle + initial (CRM contextual menu sits alongside) */
.admin-user-menu__avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #e3dbcc;
    color: #060606;
    font-size: 10px;
    font-weight: 600;
    line-height: 1;
    font-family: inherit;
    letter-spacing: -0.02em;
}

/* Match .crm-row-menu (table row contextual menu) */
.admin-user-menu__dropdown {
    position: absolute;
    top: calc(100% + 4px);
    right: 0;
    z-index: 30;
    min-width: 240px;
    padding: 12px;
    margin: 0;
    list-style: none;
    border: 1px solid var(--cal-border);
    border-radius: 10px;
    background: rgba(24, 24, 24, 0.98);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.45);
}

.admin-user-menu__item {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 10px 4px;
    border: none;
    border-radius: 0;
    background: transparent;
    font-family: inherit;
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--cal-text);
    text-align: left;
    cursor: pointer;
    transition: color 0.12s ease;
    position: relative;
}

.admin-user-menu__item + .admin-user-menu__item {
    border-top: 1px solid rgba(227, 219, 204, 0.35);
}

.admin-user-menu__item .crm-row-menu__icon {
    flex-shrink: 0;
    color: var(--cal-accent, #f2133c);
    stroke: var(--cal-accent, #f2133c);
}

.admin-user-menu__item .crm-row-menu__icon svg {
    stroke: var(--cal-accent, #f2133c);
}

.admin-user-menu__item:hover,
.admin-user-menu__item:focus-visible {
    background: transparent;
    color: var(--cal-accent, #f2133c);
}

.admin-user-menu__item:focus-visible {
    outline: 2px solid rgba(242, 19, 60, 0.45);
    outline-offset: 0;
}

.admin-user-menu__prefs {
    margin: 8px 0 4px;
    padding: 10px 4px 6px;
    border-top: 1px solid rgba(227, 219, 204, 0.35);
    border-bottom: 1px solid rgba(227, 219, 204, 0.35);
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.admin-user-menu__pref {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 0 4px;
}

.admin-user-menu__pref-label {
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgba(227, 219, 204, 0.55);
}

.admin-user-menu__pref-select {
    width: 100%;
    box-sizing: border-box;
    margin: 0;
    padding: 8px 32px 8px 10px;
    border-radius: 8px;
    border: 1px solid rgba(227, 219, 204, 0.2);
    background-color: rgba(0, 0, 0, 0.35);
    color: var(--cal-text, #e3dbcc);
    font-family: inherit;
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1.2;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    color-scheme: dark;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23f2133c' stroke-width='2.25'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 12px;
}

.admin-user-menu__pref-select:focus-visible {
    outline: 2px solid rgba(242, 19, 60, 0.45);
    outline-offset: 1px;
}

.admin-app__main {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    padding: var(--admin-nav-gap) 0 0;
    margin: 0;
    min-width: 0;
    min-height: 0;
    flex: 1 1 auto;
    height: 100%;
    max-height: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    overscroll-behavior-y: contain;
}

/* Digiknack scrollbars — 2px × ~30px thumb (admin app-wide; see dk-scrollbar.css) */
.admin-body * {
    scrollbar-width: thin;
    scrollbar-color: var(--dk-scroll-thumb, #060606) transparent;
}

.admin-body *::-webkit-scrollbar {
    width: var(--dk-scroll-size, 2px);
    height: var(--dk-scroll-size, 2px);
}

.admin-body *::-webkit-scrollbar-track {
    background: transparent;
}

.admin-body *::-webkit-scrollbar-thumb {
    min-height: 30px;
    min-width: 30px;
    background: var(--dk-scroll-thumb, #060606);
    border-radius: 1px;
}

.admin-body *::-webkit-scrollbar-thumb:hover {
    background: var(--dk-scroll-thumb-accent, #f2133c);
}

.admin-app__top {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 100px;
    width: 100%;
    margin-bottom: 28px;
}

.admin-app__top--stack {
    flex-wrap: wrap;
    gap: 12px 32px;
    align-items: flex-start;
}

.admin-phone-layout {
    display: grid;
    grid-template-columns: 55fr 45fr;
    gap: 20px;
    align-items: stretch;
    width: 100%;
    box-sizing: border-box;
    padding: 0 0 32px;
    flex: 1 1 auto;
    min-height: 0;
    max-height: 100%;
    overflow: hidden;
}

@media (max-width: 960px) {
    .admin-phone-layout {
        grid-template-columns: 1fr;
        min-height: 0;
    }
}

.admin-phone-card {
    background-color: var(--secondary-color-bg, #202020);
    border-radius: 12px;
    padding: 20px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-width: 0;
    min-height: 0;
    height: 100%;
    max-height: 100%;
}

.admin-phone-card--feed {
    overflow: visible;
}

.admin-phone-card--composer {
    overflow: hidden;
}

.admin-phone-card__toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 40px;
    flex-shrink: 0;
}

.admin-phone-card__head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px 20px;
    flex-shrink: 0;
}

.admin-phone-card__title {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    color: var(--secondary-color, #e3dbcc);
}

.admin-phone-card__body {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.admin-phone-feed-menu {
    position: relative;
    z-index: 4;
}

.admin-phone-feed-menu .crm-sort-menu__dropdown {
    left: 0;
    right: auto;
}

.admin-phone-feed-menu .dk-btn__icon {
    color: var(--cal-accent, #f2133c);
    stroke: var(--cal-accent, #f2133c);
}

.admin-phone-seg {
    display: inline-flex;
    align-items: center;
    gap: 20px;
}

.admin-phone-seg--mode {
    gap: 24px;
}

.admin-phone-seg__btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    padding: 0;
    border: none;
    background: none;
    font-family: inherit;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.3;
    color: rgba(227, 219, 204, 0.42);
    cursor: pointer;
    transition: color 0.15s ease;
}

.admin-phone-seg__btn:hover {
    color: rgba(227, 219, 204, 0.72);
}

.admin-phone-seg__btn.is-active {
    color: var(--cal-accent, #f2133c);
}

.admin-phone-seg__btn.is-active .admin-phone-seg__icon {
    color: var(--cal-accent, #f2133c);
    stroke: var(--cal-accent, #f2133c);
}

.admin-phone-seg__icon {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
    color: rgba(227, 219, 204, 0.42);
    stroke: rgba(227, 219, 204, 0.42);
}

.admin-phone-feed__list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    overflow-y: auto;
    padding: 2px 4px 2px 0;
}

.admin-phone-feed-empty {
    margin: 0;
    font-size: 0.8125rem;
    color: rgba(227, 219, 204, 0.45);
    padding: 12px 0;
}

.admin-phone-feed-item {
    border: 1px solid rgba(227, 219, 204, 0.1);
    border-radius: 10px;
    padding: 12px 14px;
    background: rgba(0, 0, 0, 0.22);
}

.admin-phone-feed-item.is-new {
    border-color: rgba(242, 19, 60, 0.28);
    background: rgba(242, 19, 60, 0.04);
}

.admin-phone-feed-item__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 10px;
    margin-bottom: 8px;
}

.admin-phone-feed-item__peer {
    font-weight: 600;
    color: rgba(227, 219, 204, 0.88);
    font-size: 12px;
    line-height: 1.3;
}

.admin-phone-feed-item__when {
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgba(227, 219, 204, 0.36);
}

.admin-phone-feed-item__badge {
    display: inline-flex;
    align-items: center;
    margin-left: auto;
    padding: 3px 8px;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(242, 19, 60, 0.95);
    background: rgba(242, 19, 60, 0.12);
    border: 1px solid rgba(242, 19, 60, 0.22);
}

.admin-phone-feed-item__body {
    font-size: 11px;
    line-height: 1.5;
    color: rgba(227, 219, 204, 0.58);
    white-space: pre-wrap;
    word-break: break-word;
}

.admin-phone-feed-item__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-top: 10px;
}

.admin-phone-feed-item__code {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px 14px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.1em;
    color: #fff;
    background: rgba(242, 19, 60, 0.88);
}

.admin-phone-feed-item__copy {
    margin-top: 0;
    font-family: inherit;
    font-size: 11px;
    font-weight: 500;
    padding: 6px 12px;
    border-radius: 8px;
    border: 1px solid rgba(227, 219, 204, 0.16);
    background: transparent;
    color: rgba(227, 219, 204, 0.72);
    cursor: pointer;
}

.admin-phone-feed-item__copy:hover {
    border-color: rgba(242, 19, 60, 0.4);
    color: #fff;
}

.admin-phone-composer__body {
    gap: 12px;
}

.admin-phone-number {
    display: flex;
    align-items: stretch;
    gap: 0;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid rgba(227, 219, 204, 0.12);
    background: rgba(0, 0, 0, 0.25);
}

.admin-phone-number__cc {
    flex: 0 0 auto;
    width: auto;
    min-width: 120px;
    max-width: 50%;
    margin: 0;
    padding: 10px 28px 10px 12px;
    border: none;
    border-right: 1px solid rgba(227, 219, 204, 0.12);
    border-radius: 0;
    font-family: inherit;
    font-size: 11px;
    font-weight: 400;
    line-height: 1.3;
    color: var(--secondary-color, #e3dbcc);
    background-color: rgba(0, 0, 0, 0.35);
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23f2133c' stroke-width='2.25'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 12px;
    cursor: pointer;
}

.admin-phone-number__cc:focus,
.admin-phone-number__cc:focus-visible {
    outline: none;
    box-shadow: inset 0 0 0 2px rgba(242, 19, 60, 0.35);
}

.admin-phone-number__input {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
    padding: 10px 12px;
    border: none;
    border-radius: 0;
    font-size: 12px;
    font-variant-numeric: tabular-nums;
}

.admin-phone-number__input:focus,
.admin-phone-number__input:focus-visible {
    outline: none;
    box-shadow: inset 0 0 0 1px rgba(242, 19, 60, 0.35);
}

.admin-phone-composer__textarea {
    flex: 1 1 auto;
    width: 100%;
    min-height: 160px;
    box-sizing: border-box;
    resize: vertical;
    border: 1px solid rgba(227, 219, 204, 0.12);
    border-radius: 10px;
    padding: 12px 14px;
    font-size: 12px;
    background: rgba(0, 0, 0, 0.25);
}

.admin-phone-composer__textarea:focus,
.admin-phone-composer__textarea:focus-visible {
    outline: none;
    border-color: rgba(242, 19, 60, 0.35);
    box-shadow: none;
}

.admin-phone-composer__sms {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    min-height: 0;
    gap: 0.35rem;
}

.admin-phone-composer__route-hint {
    margin: 0;
    font-size: 0.75rem;
    line-height: 1.35;
    color: var(--admin-muted, #6b7280);
}

.admin-phone-composer__route-hint.is-warn {
    color: var(--admin-danger, #b91c1c);
}

.admin-phone-composer__footer {
    flex-shrink: 0;
}

.admin-phone-composer__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 12px 20px;
}

.admin-phone-composer__status {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
    margin-right: auto;
    text-align: left;
    font-size: 0.8125rem;
}

.admin-phone-composer__status:empty {
    display: none;
}

.admin-phone-composer__actions[hidden] {
    display: none !important;
}

.admin-phone-composer__actions--voice {
    justify-content: flex-end;
}

#admin-phone-send-sms[hidden],
#admin-twilio-call-end[hidden],
#admin-twilio-call-start[hidden] {
    display: none !important;
}

.admin-phone-end-call .dk-btn__icon {
    color: rgba(227, 219, 204, 0.72);
    stroke: rgba(227, 219, 204, 0.72);
}

.admin-phone-end-call:hover:not(:disabled) .dk-btn__icon {
    color: var(--cal-accent, #f2133c);
    stroke: var(--cal-accent, #f2133c);
}

.admin-phone-end-call:disabled {
    opacity: 0.35;
    cursor: not-allowed;
    pointer-events: none;
}

.admin-dialer__hint {
    margin: 0;
    font-size: 0.75rem;
    line-height: 1.45;
    color: rgba(227, 219, 204, 0.45);
}

.crm-lead-detail__dd--phone {
    min-width: 0;
}

.crm-lead-detail__phone-cell {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    width: 100%;
}

.crm-detail-phone-dialer {
    font-family: inherit;
    font-size: 0.75rem;
    font-weight: 500;
    padding: 0;
    border: none;
    background: none;
    color: var(--cal-accent, #f2133c);
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.crm-detail-phone-dialer:hover {
    color: #ff4d6d;
}

.admin-app__module-title {
    margin: 0;
    padding: 0;
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    min-height: var(--admin-logo-size);
    line-height: var(--admin-logo-size);
    display: flex;
    align-items: center;
    flex: 0 0 auto;
}

.admin-cta-add {
    flex-shrink: 0;
    font-size: 12px;
    line-height: 1.3;
}

.admin-cta-add .dk-btn__icon {
    width: 18px;
    height: 18px;
    color: var(--cal-accent);
}

/* Lucide inlines <i> → <svg>; class stays on svg, not a nested svg */
.admin-cta-add svg.dk-btn__icon,
.admin-cta-add svg.lucide {
    width: 18px;
    height: 18px;
    color: var(--cal-accent) !important;
    stroke: var(--cal-accent) !important;
}

.admin-panel--calendar .admin-cta-add svg.lucide path {
    stroke: var(--cal-accent) !important;
}

.admin-cta-add:hover .dk-btn__icon {
    transform: none;
}

/* CRM header: Sort + Add beside title (same gap as other modules), side by side */
.admin-app__top--crm {
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    gap: 100px;
}

.admin-crm-top__actions {
    display: inline-flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: 20px;
    flex: 0 0 auto;
}

.admin-crm-top__actions > .crm-sort-menu,
.admin-crm-top__actions > .admin-cta-add {
    flex: 0 0 auto;
}

.crm-sort-menu {
    position: relative;
    display: inline-flex;
    flex: 0 0 auto;
}

.crm-sort-menu__dropdown {
    right: 0;
    left: auto;
    min-width: 220px;
    padding: 0.4rem 0.35rem;
}

.crm-sort-menu__group {
    margin: 0.45rem 0.55rem 0.2rem;
    padding: 0;
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.38);
}

.crm-sort-menu__group:first-child {
    margin-top: 0.15rem;
}

#crm-sort-trigger {
    max-width: min(100%, 16.5rem);
}

#crm-sort-label {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.crm-sort-menu__dropdown .crm-row-menu__item[aria-checked='true'],
.crm-sort-menu__dropdown .crm-row-menu__item.is-active {
    color: var(--cal-accent);
    background: rgba(255, 255, 255, 0.06);
    border-radius: 0.45rem;
}

.admin-panel[hidden] {
    display: none !important;
}

.admin-panel:not([hidden]) {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    animation: adminFade 0.2s ease;
}

/* CRM / placeholders: scroll inside the module, not the whole viewport */
.admin-panel:not(.admin-panel--calendar):not(.admin-panel--phone):not(.admin-panel--ichat):not(.admin-panel--recording):not([hidden]) {
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

/* Calendar + Phone + Chat: fill main column; scroll only in inner lists */
.admin-panel.admin-panel--calendar:not([hidden]),
.admin-panel.admin-panel--phone:not([hidden]),
.admin-panel.admin-panel--ichat:not([hidden]) {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    flex: 1 1 auto;
    min-height: 0;
    height: 100%;
}

/* Recording: list scrolls like Meetings; play fills */
.admin-panel.admin-panel--recording:not([hidden]) {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
}

.admin-panel.admin-panel--recording.is-playing:not([hidden]) {
    overflow: hidden;
}

.admin-panel--calendar .admin-calendar-error,
.admin-panel--calendar #admin-cal-google-msg {
    flex-shrink: 0;
    margin: 0 0 8px;
}

.admin-calendar-layout {
    display: none; /* legacy */
}

/* —— Calendar 3-column —— */
.admin-cal3 {
    display: grid;
    grid-template-columns: 25% 35% minmax(0, 1fr);
    gap: 16px;
    width: 100%;
    min-width: 0;
    flex: 1 1 auto;
    min-height: 0;
    height: 100%;
    max-height: 100%;
    overflow: hidden;
}

.admin-cal3__panel {
    background: var(--cal-panel, #121212);
    border-radius: 16px;
    border: 1px solid var(--cal-border, rgba(227, 219, 204, 0.12));
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.admin-cal3__dates {
    position: relative;
    padding: 16px 10px 12px;
    min-height: 0;
}

.admin-cal3__month-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    gap: 8px;
    margin: 0 0 12px;
    padding: 0 4px;
    position: relative;
    width: 100%;
    box-sizing: border-box;
}

.admin-cal3__month-btn,
.admin-cal3__year-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: none;
    border: none;
    padding: 4px 8px;
    margin: 0;
    color: var(--cal-text, #e3dbcc);
    font: inherit;
    font-size: 1rem;
    font-weight: 500;
    cursor: pointer;
    flex: 0 0 auto;
}

.admin-cal3__month-btn {
    justify-self: start;
}

.admin-cal3__year-btn {
    margin-left: auto;
    justify-self: end;
}

.admin-cal3__month-chev {
    width: 16px;
    height: 16px;
    color: var(--cal-accent, #f2133c);
    stroke: var(--cal-accent, #f2133c);
}

.admin-cal3__month-menu,
.admin-cal3__year-menu {
    position: absolute;
    z-index: 5;
    left: 4px;
    top: calc(100% + 4px);
    min-width: 140px;
    max-height: 240px;
    overflow: auto;
    background: #0a0a0a;
    border: 1px solid var(--cal-border);
    border-radius: 10px;
    padding: 6px;
}

.admin-cal3__year-menu {
    left: auto;
    right: 4px;
    min-width: 100px;
}

.admin-cal3__month-menu[hidden],
.admin-cal3__year-menu[hidden] {
    display: none !important;
}

.admin-cal3__month-option {
    display: block;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    color: var(--cal-text);
    font: inherit;
    font-size: 0.875rem;
    padding: 8px 10px;
    border-radius: 6px;
    cursor: pointer;
}

.admin-cal3__month-option:hover,
.admin-cal3__month-option.is-active {
    color: var(--cal-accent);
    background: rgba(242, 19, 60, 0.08);
}

.admin-cal3__date-rail {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    scroll-snap-type: y proximity;
    padding-right: 4px;
}

.admin-cal3__date {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 8px 10px;
    width: 100%;
    padding: 10px 12px;
    border: none;
    border-radius: 10px;
    background: transparent;
    cursor: pointer;
    scroll-snap-align: start;
    color: rgba(227, 219, 204, 0.5);
    font: inherit;
    text-align: left;
}

.admin-cal3__date.is-active {
    background: rgba(0, 0, 0, 0.55);
    color: var(--cal-accent, #f2133c);
}

.admin-cal3__date-label {
    font-size: 0.95rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    white-space: nowrap;
}

.admin-cal3__date.is-active .admin-cal3__date-label {
    color: var(--cal-accent, #f2133c);
}

.admin-cal3__date-marks {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.admin-cal3__date-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    height: 22px;
    padding: 0 5px;
    box-sizing: border-box;
    border-radius: 7px;
    background: rgba(227, 219, 204, 0.12);
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1;
    color: rgba(227, 219, 204, 0.72);
    text-align: center;
}

.admin-cal3__date-count:empty {
    display: none;
}

.admin-cal3__date.is-active .admin-cal3__date-count {
    background: rgba(227, 219, 204, 0.16);
    color: rgba(227, 219, 204, 0.88);
}

.cal__dot--square {
    border-radius: 1px !important;
    width: 7px !important;
    height: 7px !important;
}

.admin-cal3__meetings {
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.admin-cal3__meet-list {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 4px 2px;
}

.admin-cal3__meet {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 14px 18px;
    align-items: baseline;
    padding: 14px 16px;
    border-radius: 12px;
    border: 1px solid rgba(227, 219, 204, 0.22);
    background: transparent;
    cursor: pointer;
    text-align: left;
    font: inherit;
    color: var(--cal-text);
}

.admin-cal3__meet.is-active {
    background: rgba(242, 19, 60, 0.04);
    border-width: 0.25px;
    border-style: solid;
    border-color: var(--cal-accent, #f2133c);
    box-shadow: 0 0 0 0.25px var(--cal-accent, #f2133c);
}

.admin-cal3__meet-time {
    color: var(--cal-accent, #f2133c);
    font-size: 0.875rem;
    white-space: nowrap;
}

.admin-cal3__meet-title {
    font-size: 0.95rem;
    font-weight: 400;
    margin: 0;
}

.admin-cal3__meet-empty,
.admin-cal3__detail-empty {
    padding: 24px 16px;
}

.admin-cal3__detail {
    padding: 18px 18px 14px;
}

.admin-cal3__detail-body {
    display: flex;
    flex-direction: column;
    min-height: 0;
    flex: 1 1 auto;
    gap: 0;
}

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

.admin-cal3__detail-title {
    margin: 0;
    font-size: 1.35rem;
    font-weight: 600;
    color: var(--cal-text);
    line-height: 1.25;
}

.admin-cal3__detail-menu-btn {
    background: none;
    border: none;
    padding: 4px;
    color: var(--cal-accent);
    cursor: pointer;
}

.admin-cal3__detail-menu-btn svg {
    width: 20px;
    height: 20px;
    stroke: var(--cal-accent);
}

.admin-cal3__detail-menu-wrap {
    position: relative;
}

.admin-cal3__detail-menu {
    right: 0;
    left: auto;
}

.admin-cal3__tabs {
    display: flex;
    gap: 20px;
    border-bottom: 1px solid var(--cal-border);
    margin-bottom: 16px;
    flex-shrink: 0;
}

.admin-cal3__tab {
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    padding: 8px 0;
    font: inherit;
    font-size: 0.9rem;
    color: rgba(227, 219, 204, 0.5);
    cursor: pointer;
}

.admin-cal3__tab.is-active {
    color: var(--cal-accent);
    border-bottom-color: var(--cal-accent);
}

.admin-cal3__tabpanels {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
}

.admin-cal3__tabpanel[hidden] {
    display: none !important;
}

.admin-cal3__kv {
    margin: 0;
}

.admin-cal3__kv-row {
    display: grid;
    grid-template-columns: 110px minmax(0, 1fr);
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid rgba(227, 219, 204, 0.08);
    font-size: 0.9rem;
}

.admin-cal3__kv-row dt {
    margin: 0;
    color: rgba(227, 219, 204, 0.5);
    font-weight: 400;
}

.admin-cal3__kv-row dd {
    margin: 0;
    color: var(--cal-text);
}

.admin-cal3__meet-link {
    display: inline-flex;
    align-items: center;
    gap: 12px;
}

.admin-cal3__join {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--cal-accent);
    text-decoration: none;
    font-weight: 500;
}

.admin-cal3__join svg,
.admin-cal3__copy-link svg {
    width: 16px;
    height: 16px;
    stroke: var(--cal-accent);
}

.admin-cal3__copy-link {
    background: none;
    border: none;
    padding: 2px;
    cursor: pointer;
    color: var(--cal-accent);
}

.admin-cal3__invite-card {
    margin: 0;
}

@media (max-width: 960px) {
    .admin-cal3 {
        grid-template-columns: 1fr;
        grid-template-rows: minmax(180px, 28vh) minmax(160px, 30vh) minmax(220px, 1fr);
        overflow-y: auto;
    }
}

.admin-calendar-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px 20px;
    flex-shrink: 0;
}

.admin-calendar-nav {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.admin-calendar-error {
    margin: 0;
    font-size: 0.875rem;
    color: var(--cal-accent);
    flex-shrink: 0;
}

.admin-calendar-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 320px);
    grid-template-rows: minmax(0, 1fr);
    gap: 24px;
    align-items: stretch;
    min-height: 0;
    flex: 1 1 auto;
    overflow: hidden;
}

/* Month grid: scroll inside this column if the grid is taller than space */
.admin-calendar-grid-wrap.cal__grid-wrap {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

@media (max-width: 900px) {
    .admin-calendar-shell {
        grid-template-columns: 1fr;
        grid-template-rows: auto minmax(0, 1fr);
    }
}

.admin-calendar-grid-col {
    min-width: 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.admin-calendar-grid-wrap .cal__day {
    min-height: 72px;
}

.admin-calendar-legend {
    margin-top: 12px;
    flex-shrink: 0;
}

.admin-calendar-side {
    display: flex;
    flex-direction: column;
    min-height: 0;
    max-height: 100%;
    align-self: stretch;
    padding: 16px 18px;
    border: 1px solid var(--cal-border);
    border-radius: 12px;
    background: rgba(18, 18, 18, 0.55);
}

.admin-calendar-side__title {
    margin: 0 0 6px;
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--cal-text);
    line-height: 1.25;
    flex-shrink: 0;
}

.admin-calendar-side__sub {
    margin: 0 0 14px;
    font-size: 0.8125rem;
    color: var(--cal-muted);
    flex-shrink: 0;
}

.admin-calendar-side__list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

/* --- Ai: web search (Groq) — scroll output only; floating input at bottom --- */
.admin-panel.admin-panel--ai:not([hidden]) {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    position: relative;
    padding: 0;
}

.admin-ai-output {
    box-sizing: border-box;
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 0 0 calc(32px + 72px + 180px);
    font-size: 0.9375rem;
    line-height: 1.55;
    color: var(--cal-text, #e3dbcc);
}

.admin-ai-output:empty::before {
    content: '';
    display: block;
    min-height: 1px;
}

.admin-ai-block {
    margin-bottom: 1.5rem;
}

.admin-ai-block:last-child {
    margin-bottom: 0;
}

/* User prompt: 3 rounded corners + sharp tail corner; beige leading edge */
.admin-ai-user-bubble {
    display: inline-block;
    max-width: min(100%, 42rem);
    margin: 0 0 14px;
    padding: 12px 16px 12px 18px;
    box-sizing: border-box;
    font-size: 0.9375rem;
    font-weight: 500;
    line-height: 1.45;
    letter-spacing: 0.01em;
    color: var(--cal-text, #e3dbcc);
    background: rgba(28, 28, 28, 0.98);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-left: 3px solid var(--admin-ai-user-accent);
    border-radius: 14px 14px 14px 0;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.35);
    word-break: break-word;
}

.admin-ai-block__answer {
    margin: 0;
    white-space: pre-wrap;
    word-break: break-word;
}

.admin-ai-block__answer.admin-ai-md {
    white-space: normal;
}

/* Rendered Markdown (GFM tables, fenced code) */
.admin-ai-md {
    font-size: 0.9375rem;
    line-height: 1.55;
    color: var(--cal-text, #e3dbcc);
}

.admin-ai-md > *:first-child {
    margin-top: 0;
}

.admin-ai-md > *:last-child {
    margin-bottom: 0;
}

.admin-ai-md p {
    margin: 0.65em 0;
}

.admin-ai-md h1,
.admin-ai-md h2,
.admin-ai-md h3,
.admin-ai-md h4 {
    margin: 1em 0 0.45em;
    font-weight: 600;
    line-height: 1.25;
    color: var(--cal-text, #e3dbcc);
}

.admin-ai-md h1 {
    font-size: 1.15rem;
}

.admin-ai-md h2 {
    font-size: 1.05rem;
}

.admin-ai-md h3,
.admin-ai-md h4 {
    font-size: 0.98rem;
}

.admin-ai-md ul,
.admin-ai-md ol {
    margin: 0.5em 0;
    padding-left: 1.35em;
}

.admin-ai-md li {
    margin: 0.25em 0;
}

.admin-ai-md a {
    color: var(--admin-ai-link-url, #e3dbcc);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.admin-ai-md a:hover {
    color: var(--admin-ai-link-url-hover, #f0eadc);
}

.admin-ai-md a.admin-ai-link--stripped {
    color: rgba(232, 228, 220, 0.55);
    text-decoration: line-through;
    text-decoration-color: rgba(255, 255, 255, 0.25);
    cursor: help;
}

/* Thought accordion sits beside the answer (not inside a reply bubble) */
.admin-ai-block > details.admin-ai-thought,
.admin-ai-md details.admin-ai-thought,
.admin-ai-md .admin-ai-thought {
    margin: 0 0 0.85rem;
    border: none;
    border-radius: 0;
    background: transparent;
    accent-color: #f2133c;
}

.admin-ai-block > details.admin-ai-thought:first-of-type,
.admin-ai-md details.admin-ai-thought:first-child,
.admin-ai-md > .admin-ai-thought:first-child {
    margin-top: 0;
}

.admin-ai-thought__summary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 2px 4px 2px 0;
    cursor: pointer;
    list-style: none;
    user-select: none;
    color: rgba(227, 219, 204, 0.62);
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1.35;
    border-radius: 8px;
}

.admin-ai-thought__summary:hover {
    color: rgba(227, 219, 204, 0.88);
}

.admin-ai-thought__summary::-webkit-details-marker,
.admin-ai-thought__summary::marker,
details.admin-ai-thought > summary::-webkit-details-marker,
details.admin-ai-thought > summary::marker {
    display: none !important;
    content: '' !important;
}

.admin-ai-thought__icon,
.admin-ai-thought__chevron {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    color: #f2133c;
}

.admin-ai-thought__icon svg,
.admin-ai-thought__chevron svg {
    width: 16px;
    height: 16px;
    stroke: #f2133c;
}

.admin-ai-thought__chevron {
    margin-left: 2px;
    transition: transform 0.2s ease;
}

.admin-ai-md details.admin-ai-thought[open] .admin-ai-thought__chevron,
.admin-ai-thought[open] .admin-ai-thought__chevron {
    transform: rotate(180deg);
}

.admin-ai-thought__title {
    flex: 0 1 auto;
    min-width: 0;
}

.admin-ai-thought__body {
    margin: 10px 0 0;
    padding: 0 0 0 14px;
    border-left: 2px solid rgba(255, 255, 255, 0.16);
    color: rgba(227, 219, 204, 0.55);
    font-size: 0.8125rem;
    line-height: 1.55;
}

.admin-ai-thought__section + .admin-ai-thought__section {
    margin-top: 0.85rem;
    padding-top: 0.85rem;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.admin-ai-thought__lead {
    margin: 0 0 0.35em;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: rgba(227, 219, 204, 0.45);
}

.admin-ai-thought__copy {
    margin: 0 0 0.65em;
    white-space: pre-wrap;
}

.admin-ai-thought__tool-list,
.admin-ai-thought__trace-list {
    margin: 0.2em 0 0.5em;
    padding-left: 1.1em;
}

.admin-ai-thought__tool-list li,
.admin-ai-thought__trace-list li {
    margin: 0.35em 0;
}

.admin-ai-thought__body > *:first-child {
    margin-top: 0;
}

.admin-ai-thought__body > *:last-child {
    margin-bottom: 0;
}

.admin-ai-thought__body p {
    margin: 0.45em 0;
}

.admin-ai-thought__body ul,
.admin-ai-thought__body ol {
    margin: 0.35em 0 0.5em;
    padding-left: 1.15em;
}

.admin-ai-thought--live {
    margin: 0 0 0.65rem;
    pointer-events: none;
}

.admin-ai-thought--live .admin-ai-thought__summary {
    cursor: default;
    padding: 2px 0;
}

.admin-ai-thought--live .admin-ai-thought__chevron {
    display: none;
}

/* Legacy planning details from older replies */
.admin-ai-md details:not(.admin-ai-thought) {
    margin: 0.75em 0;
    border: 1px solid rgba(227, 219, 204, 0.22);
    border-radius: 10px;
    background: rgba(0, 0, 0, 0.22);
}

.admin-ai-md details:not(.admin-ai-thought) summary {
    padding: 8px 12px;
    cursor: pointer;
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--admin-ai-link-url, #e3dbcc);
    list-style: none;
}

.admin-ai-md details:not(.admin-ai-thought) summary::-webkit-details-marker {
    display: none;
}

.admin-ai-md details:not(.admin-ai-thought)[open] summary {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.admin-ai-md details:not(.admin-ai-thought) > *:not(summary) {
    padding: 0 12px 10px;
    margin: 0;
}

.admin-ai-md details:not(.admin-ai-thought) > *:not(summary):last-child {
    padding-bottom: 12px;
}

.admin-ai-md blockquote {
    margin: 0.75em 0;
    padding: 8px 14px;
    border-left: 3px solid rgba(242, 19, 60, 0.45);
    background: rgba(255, 255, 255, 0.04);
    border-radius: 0 8px 8px 0;
}

.admin-ai-md hr {
    border: none;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    margin: 1rem 0;
}

.admin-ai-table-scroll {
    margin: 0.85em 0;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.admin-ai-md table {
    width: 100%;
    min-width: 320px;
    border-collapse: collapse;
    margin: 0;
    font-size: 0.875rem;
}

.admin-ai-md thead {
    background: rgba(255, 255, 255, 0.06);
}

.admin-ai-md th,
.admin-ai-md td {
    border: 1px solid rgba(255, 255, 255, 0.12);
    padding: 8px 10px;
    text-align: left;
    vertical-align: top;
}

.admin-ai-md th {
    font-weight: 600;
    color: rgba(227, 219, 204, 0.95);
    white-space: nowrap;
}

.admin-ai-md tbody tr:nth-child(even) {
    background: rgba(255, 255, 255, 0.02);
}

.admin-ai-md pre {
    margin: 0.85em 0;
    padding: 12px 14px;
    border-radius: 10px;
    background: rgba(0, 0, 0, 0.5);
    border: 1px solid rgba(255, 255, 255, 0.1);
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    font-size: 0.8125rem;
    line-height: 1.5;
}

.admin-ai-md pre code {
    font-family: ui-monospace,
    SFMono-Regular,
    Menlo,
    Monaco,
    Consolas,
    'Liberation Mono',
    'Courier New',
    monospace;
    font-size: inherit;
    background: none;
    padding: 0;
    border: none;
}

.admin-ai-md :not(pre) > code {
    font-family: ui-monospace,
    SFMono-Regular,
    Menlo,
    Monaco,
    Consolas,
    'Liberation Mono',
    'Courier New',
    monospace;
    font-size: 0.88em;
    padding: 2px 6px;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.dk-mermaid-wrap {
    margin: 16px 0 20px;
    padding: 12px 8px;
    overflow-x: auto;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.dk-mermaid-wrap pre.mermaid,
.dk-mermaid-wrap .mermaid {
    margin: 0;
    background: transparent;
    border: none;
    padding: 0;
}

.dk-mermaid-wrap svg {
    max-width: 100%;
    height: auto;
}

.documents-editor-quill__inner .dk-mermaid-wrap {
    margin: 1em 0;
}

.admin-ai-block--error .admin-ai-block__answer {
    color: var(--cal-accent, #f2133c);
}

.admin-ai-block--pending .admin-ai-block__answer {
    color: inherit;
}

/* Streaming: thinking / processing (before first token) */
.admin-ai-thinking {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 2px 0 6px;
    max-width: 100%;
}

.admin-ai-thinking__rails {
    height: 3px;
    border-radius: 999px;
    background: rgba(227, 219, 204, 0.12);
    overflow: hidden;
}

.admin-ai-thinking__bar {
    height: 100%;
    width: 42%;
    border-radius: 999px;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(242, 19, 60, 0.35),
        rgba(242, 19, 60, 0.65),
        rgba(242, 19, 60, 0.35),
        transparent
    );
    animation: admin-ai-thinking-shimmer 1.35s ease-in-out infinite;
}

@keyframes admin-ai-thinking-shimmer {
    0% {
        transform: translateX(-120%);
    }
    100% {
        transform: translateX(320%);
    }
}

.admin-ai-thinking__row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.admin-ai-thinking__dots {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.admin-ai-thinking__dots span {
    display: block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--cal-accent, #f2133c);
    opacity: 0.45;
    animation: admin-ai-thinking-dot 1.25s ease-in-out infinite;
}

.admin-ai-thinking__dots span:nth-child(2) {
    animation-delay: 0.18s;
}

.admin-ai-thinking__dots span:nth-child(3) {
    animation-delay: 0.36s;
}

@keyframes admin-ai-thinking-dot {
    0%,
    100% {
        opacity: 0.35;
        transform: scale(0.92);
    }
    50% {
        opacity: 1;
        transform: scale(1);
    }
}

.admin-ai-thinking__label {
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--cal-muted, rgba(227, 219, 204, 0.72));
    line-height: 1.35;
    transition: opacity 0.25s ease;
}

@media (prefers-reduced-motion: reduce) {
    .admin-ai-thinking__bar {
        animation: none;
        width: 100%;
        opacity: 0.5;
    }

    .admin-ai-thinking__dots span {
        animation: none;
        opacity: 0.75;
    }
}

/* Toast when saving AI table row to CRM */
.admin-ai-toast {
    position: fixed;
    left: 50%;
    transform: translateX(-50%);
    bottom: 118px;
    z-index: 45;
    max-width: min(90vw, 420px);
    padding: 10px 16px;
    border-radius: 10px;
    font-size: 0.875rem;
    line-height: 1.35;
    color: var(--cal-text, #e3dbcc);
    background: rgba(28, 28, 28, 0.96);
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.5);
    pointer-events: none;
}

.admin-ai-toast--error {
    border-color: rgba(242, 19, 60, 0.45);
    color: #ffc9d2;
}

/* CRM “add row” column — first column of AI tables (always visible; wide tables scroll horizontally) */
.admin-ai-crm-add-th {
    width: 52px;
    min-width: 52px;
    max-width: 52px;
    padding: 8px 6px;
    vertical-align: middle;
}

.admin-ai-crm-add-th-label {
    display: block;
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(227, 219, 204, 0.55);
    line-height: 1.2;
    text-align: center;
}

.admin-ai-crm-actions {
    width: 52px;
    min-width: 52px;
    max-width: 52px;
    vertical-align: middle;
    text-align: center;
    padding: 6px 6px;
}

.admin-ai-crm-add {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.06);
    color: var(--cal-accent, #f2133c);
    cursor: pointer;
    transition: background 0.15s ease, transform 0.1s ease;
}

.admin-ai-crm-add:hover:not(:disabled):not(.is-added):not(.is-in-crm) {
    background: rgba(242, 19, 60, 0.22);
}

.admin-ai-crm-add:disabled {
    cursor: default;
}

.admin-ai-crm-add.is-in-crm,
.admin-ai-crm-add.is-added {
    background: rgba(72, 160, 110, 0.2);
    color: #9ee0b8;
}

.admin-ai-crm-status-th {
    white-space: nowrap;
}

.admin-ai-crm-status {
    vertical-align: middle;
    white-space: nowrap;
}

.admin-ai-crm-status-pill {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1.2;
    padding: 3px 9px;
    border-radius: 999px;
    letter-spacing: 0.02em;
}

.admin-ai-crm-status-pill svg.lucide {
    width: 12px;
    height: 12px;
    stroke: currentColor;
}

.admin-ai-crm-status-pill--in {
    color: #c8f0d0;
    background: rgba(46, 160, 67, 0.42);
    border: 1px solid rgba(46, 160, 67, 0.65);
}

.admin-ai-crm-status-pill--new {
    color: #f5efe4;
    background: rgba(227, 219, 204, 0.28);
    border: 1px solid rgba(227, 219, 204, 0.45);
}

.admin-ai-crm-add__icon,
.admin-ai-crm-add svg.lucide {
    width: 18px;
    height: 18px;
    stroke: currentColor;
}

.admin-ai-bottom-dock {
    position: fixed;
    left: var(--admin-page-padding-x);
    right: var(--admin-page-padding-x);
    bottom: 32px;
    z-index: 40;
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: auto;
    max-width: none;
    margin: 0;
    pointer-events: none;
}

.admin-ai-bottom-dock > * {
    pointer-events: auto;
}

.admin-ai-compose {
    position: static;
    left: auto;
    right: auto;
    bottom: auto;
    z-index: auto;
    pointer-events: none;
}

.admin-ai-attach-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 8px;
    pointer-events: auto;
}

.admin-ai-attach-chips[hidden] {
    display: none !important;
}

.admin-ai-attach-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    max-width: min(280px, 70vw);
    padding: 5px 8px 5px 10px;
    border-radius: 999px;
    border: 1px solid rgba(227, 219, 204, 0.14);
    background: rgba(0, 0, 0, 0.45);
    color: rgba(232, 228, 220, 0.82);
    font-size: 0.75rem;
    line-height: 1.2;
}

.admin-ai-attach-chip__icon,
.admin-ai-attach-chip svg.lucide {
    width: 12px;
    height: 12px;
    flex-shrink: 0;
    color: var(--cal-accent, #f2133c);
    stroke: var(--cal-accent, #f2133c);
}

.admin-ai-attach-chip__name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-ai-attach-chip__remove {
    margin: 0;
    padding: 0 2px;
    border: none;
    background: transparent;
    color: rgba(232, 228, 220, 0.55);
    font-size: 1rem;
    line-height: 1;
    cursor: pointer;
}

.admin-ai-attach-chip__remove:hover {
    color: #fff;
}

.admin-ai-user-bubble__attach {
    display: block;
    margin-top: 6px;
    font-size: 0.75rem;
    color: rgba(232, 228, 220, 0.55);
}

.admin-ai-compose__bar {
    pointer-events: auto;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 10px 10px 10px 18px;
    border-radius: 999px;
    background: var(--admin-color-secondary-surface);
    border: 1px solid rgba(255, 255, 255, 0.06);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.45);
    flex-wrap: nowrap;
}

.admin-ai-compose__session {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 6px;
    flex: 0 1 auto;
    flex-shrink: 1;
    min-width: 0;
    max-width: min(520px, 62vw);
}

.admin-ai-model-select {
    flex: 0 1 auto;
    width: auto;
    min-width: 8.75rem;
    max-width: 12.5rem;
}

.admin-ai-chat-select {
    flex: 1 1 auto;
    min-width: 7rem;
    max-width: 18rem;
    overflow: hidden;
    text-overflow: ellipsis;
}

.admin-ai-session-select {
    flex: 0 1 auto;
    min-width: 0;
    max-width: none;
    margin: 0;
    padding: 8px 40px 8px 12px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.06);
    background-color: rgba(0, 0, 0, 0.35);
    color: var(--cal-text, #e3dbcc);
    font-family: inherit;
    font-size: 0.78rem;
    font-weight: 500;
    line-height: 1.2;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    color-scheme: dark;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23f2133c' stroke-width='2.25'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 12px;
}

.admin-ai-session-select:focus-visible {
    outline: 2px solid rgba(242, 19, 60, 0.45);
    outline-offset: 2px;
}

.admin-ai-session-select:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

.admin-ai-new-chat:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.admin-ai-new-chat {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: transparent;
    color: rgba(255, 255, 255, 0.5);
    cursor: pointer;
    transition: color 0.15s ease, background 0.15s ease;
}

.admin-ai-new-chat:hover {
    color: rgba(255, 255, 255, 0.95);
    background: rgba(255, 255, 255, 0.08);
}

.admin-ai-new-chat__icon,
.admin-ai-new-chat svg.lucide {
    width: 20px;
    height: 20px;
    stroke: rgba(255, 255, 255, 0.5);
}

.admin-ai-new-chat:hover .admin-ai-new-chat__icon,
.admin-ai-new-chat:hover svg.lucide {
    stroke: rgba(255, 255, 255, 0.95);
}

/* Text fills the bar; paperclip + send stay grouped on the right */
.admin-ai-compose__actions {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 2px;
    flex-shrink: 0;
    align-self: center;
}

.admin-ai-clear {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: transparent;
    color: rgba(255, 255, 255, 0.45);
    cursor: pointer;
    transition: color 0.15s ease, background 0.15s ease;
}

.admin-ai-clear:hover {
    color: rgba(255, 255, 255, 0.9);
    background: rgba(255, 255, 255, 0.08);
}

.admin-ai-clear__icon {
    width: 20px;
    height: 20px;
}

.admin-ai-clear__icon,
.admin-ai-clear svg.lucide {
    stroke: rgba(255, 255, 255, 0.45);
    color: rgba(255, 255, 255, 0.45);
}

.admin-ai-clear:hover .admin-ai-clear__icon,
.admin-ai-clear:hover svg.lucide {
    stroke: rgba(255, 255, 255, 0.9);
}

.admin-ai-attach {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: transparent;
    color: rgba(255, 255, 255, 0.5);
    cursor: pointer;
    transition: color 0.15s ease, background 0.15s ease;
}

.admin-ai-attach:hover {
    color: rgba(255, 255, 255, 0.9);
    background: rgba(255, 255, 255, 0.08);
}

.admin-ai-attach__icon {
    width: 20px;
    height: 20px;
}

.admin-ai-attach__icon,
.admin-ai-attach svg.lucide {
    stroke: rgba(255, 255, 255, 0.5);
    color: rgba(255, 255, 255, 0.5);
}

.admin-ai-attach:hover .admin-ai-attach__icon,
.admin-ai-attach:hover svg.lucide {
    stroke: rgba(255, 255, 255, 0.9);
}

.admin-ai-input-wrap {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
    display: flex;
    align-items: center;
    min-height: 40px;
}

.admin-ai-input {
    box-sizing: border-box;
    display: block;
    width: 100%;
    min-height: 40px;
    max-height: 120px;
    margin: 0;
    padding: 9px 0;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 0.9375rem;
    line-height: 1.45;
    color: var(--cal-text, #e3dbcc);
    resize: none;
    outline: none;
}

.admin-ai-input::placeholder {
    color: rgba(255, 255, 255, 0.5);
}

.admin-ai-send {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: #0a0a0a;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s ease, transform 0.1s ease;
}

/* Icon must contrast with #0a0a0a circle (disabled / empty was invisible before) */
.admin-ai-send__icon,
.admin-ai-send svg.lucide {
    width: 20px;
    height: 20px;
    stroke: rgba(255, 255, 255, 0.55);
    color: rgba(255, 255, 255, 0.55);
}

.admin-ai-send svg.lucide path,
.admin-ai-send svg.lucide line,
.admin-ai-send svg.lucide polyline,
.admin-ai-send svg.lucide circle {
    stroke: rgba(255, 255, 255, 0.55);
}

.admin-ai-send:not(:disabled):active {
    transform: scale(0.96);
}

.admin-ai-send:disabled {
    cursor: not-allowed;
    opacity: 0.92;
}

.admin-ai-send--ready:not(:disabled) {
    background: var(--cal-accent, #f2133c);
}

.admin-ai-send--ready:not(:disabled) .admin-ai-send__icon,
.admin-ai-send--ready:not(:disabled) svg.lucide,
.admin-ai-send--ready:not(:disabled) svg.lucide path,
.admin-ai-send--ready:not(:disabled) svg.lucide line,
.admin-ai-send--ready:not(:disabled) svg.lucide polyline {
    stroke: #0a0a0a;
    color: #0a0a0a;
}

.admin-ai-block__doc-actions {
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

/* Icon + text ghost actions (same Lucide language as send) */
.admin-ai-action-btn {
    appearance: none;
    font: inherit;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 8px 14px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    background: #0a0a0a;
    color: rgba(227, 219, 204, 0.92);
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.2;
    cursor: pointer;
    list-style: none;
    user-select: none;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease, transform 0.1s ease;
}

.admin-ai-action-btn:hover {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.22);
}

.admin-ai-action-btn:active {
    transform: scale(0.98);
}

.admin-ai-action-btn:disabled {
    opacity: 0.55;
    cursor: not-allowed;
    transform: none;
}

.admin-ai-action-btn__icon,
.admin-ai-action-btn svg.lucide {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    stroke: rgba(255, 255, 255, 0.7);
    color: rgba(255, 255, 255, 0.7);
}

.admin-ai-action-btn svg.lucide path,
.admin-ai-action-btn svg.lucide line,
.admin-ai-action-btn svg.lucide polyline,
.admin-ai-action-btn svg.lucide circle,
.admin-ai-action-btn svg.lucide rect {
    stroke: rgba(255, 255, 255, 0.7);
}

.admin-ai-action-btn--accent,
.admin-ai-action-btn.admin-ai-save-doc {
    color: var(--cal-accent, #f2133c);
    border-color: rgba(242, 19, 60, 0.45);
    background: rgba(242, 19, 60, 0.12);
}

.admin-ai-action-btn--accent:hover,
.admin-ai-action-btn.admin-ai-save-doc:hover {
    background: rgba(242, 19, 60, 0.2);
    border-color: rgba(242, 19, 60, 0.6);
}

.admin-ai-action-btn--accent .admin-ai-action-btn__icon,
.admin-ai-action-btn--accent svg.lucide,
.admin-ai-action-btn.admin-ai-save-doc .admin-ai-action-btn__icon,
.admin-ai-action-btn.admin-ai-save-doc svg.lucide {
    stroke: var(--cal-accent, #f2133c);
    color: var(--cal-accent, #f2133c);
}

.admin-ai-action-btn--accent svg.lucide path,
.admin-ai-action-btn--accent svg.lucide line,
.admin-ai-action-btn--accent svg.lucide polyline,
.admin-ai-action-btn.admin-ai-save-doc svg.lucide path,
.admin-ai-action-btn.admin-ai-save-doc svg.lucide line,
.admin-ai-action-btn.admin-ai-save-doc svg.lucide polyline {
    stroke: var(--cal-accent, #f2133c);
}

.admin-ai-add-crm:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

.admin-ai-crm-added-note {
    margin: 10px 0 0;
    padding: 10px 12px;
    border-radius: 8px;
    border: 1px solid rgba(100, 200, 140, 0.28);
    background: rgba(30, 60, 45, 0.22);
    font-size: 0.8125rem;
    line-height: 1.45;
    color: rgba(232, 228, 220, 0.9);
    white-space: pre-wrap;
}

.admin-ai-crm-added-note--exists {
    border-color: rgba(227, 219, 204, 0.22);
    background: rgba(40, 40, 40, 0.35);
    color: rgba(232, 228, 220, 0.75);
}

.admin-ai-export-sections {
    position: relative;
    font-size: 0.8125rem;
}

.admin-ai-export-sections > summary.admin-ai-action-btn {
    list-style: none;
}

.admin-ai-export-sections > summary.admin-ai-action-btn::-webkit-details-marker,
.admin-ai-export-sections > summary.admin-ai-action-btn::marker {
    display: none;
    content: '';
}

.admin-ai-export-sections > summary.admin-ai-action-btn::after {
    content: '';
    width: 12px;
    height: 12px;
    margin-left: 2px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23e3dbcc' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")
        center / contain no-repeat;
    opacity: 0.7;
}

.admin-ai-export-sections[open] > summary.admin-ai-action-btn::after {
    transform: rotate(180deg);
}

.admin-ai-export-sections__menu {
    position: absolute;
    left: 0;
    bottom: calc(100% + 6px);
    z-index: 20;
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 220px;
    max-width: min(320px, 88vw);
    max-height: min(280px, 50vh);
    overflow: auto;
    padding: 8px;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: #1c1c1c;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.45);
}

.admin-ai-export-section {
    appearance: none;
    font: inherit;
    font-size: 0.75rem;
    text-align: left;
    width: 100%;
    padding: 7px 10px;
    border-radius: 6px;
    border: 1px solid transparent;
    background: transparent;
    color: rgba(232, 228, 220, 0.88);
    cursor: pointer;
}

.admin-ai-export-section:hover {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.1);
}

.admin-ai-export-section[data-export-mode='all'] {
    font-weight: 600;
    color: var(--cal-accent, #f2133c);
    border-color: rgba(242, 19, 60, 0.2);
    margin-bottom: 4px;
}

/* Documents module: full-page list vs editor (no slideout) */
.admin-panel.admin-panel--documents:not([hidden]) {
    overflow: hidden;
}

.documents-list-view {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

.documents-editor-view:not([hidden]) {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.documents-editor-top {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-shrink: 0;
    width: 100%;
    margin-bottom: 8px;
}

.documents-editor-back {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    margin: 0;
    border: none;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.06);
    color: var(--cal-text, #e8e4dc);
    font: inherit;
    font-size: 0.8125rem;
    cursor: pointer;
}

.documents-editor-back:hover {
    background: rgba(255, 255, 255, 0.1);
}

.documents-editor-back__icon {
    width: 18px;
    height: 18px;
    color: var(--cal-accent, #f2133c);
}

.documents-editor-title {
    margin: 0;
    flex: 1 1 auto;
    min-width: 0;
    font-size: 1.25rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.2;
    text-align: center;
}

.documents-editor-save {
    flex-shrink: 0;
}

.documents-editor-msg {
    margin: 0 0 8px;
    flex-shrink: 0;
}

.documents-editor-form {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    gap: 12px;
}

.documents-editor-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: stretch;
    flex-shrink: 0;
}

.documents-editor-meta__title {
    flex: 1 1 200px;
    min-width: 0;
    margin: 0;
}

.documents-editor-meta__type {
    flex: 0 0 auto;
    min-width: 140px;
    margin: 0;
}

.documents-editor-quill {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.documents-editor-quill__inner {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

/* Quill rich text — full-page editor (dark) */
.admin-doc-quill-field {
    width: 100%;
}

.admin-doc-quill-wrap {
    width: 100%;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: #141414;
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

#documents-editor-view .documents-editor-quill__inner:not(.digiknack-quill-root--floating) .ql-toolbar.ql-snow {
    border: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    background: #242424;
    padding: 8px 10px;
    flex-shrink: 0;
}

#documents-editor-view .ql-container.ql-snow {
    border: none;
    font-family: inherit;
    font-size: 0.9375rem;
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

#documents-editor-view .ql-editor {
    flex: 1 1 auto;
    min-height: 12rem;
    max-height: none;
    overflow-y: auto;
    padding: 14px 16px 20px;
    color: #e8e4dc;
    line-height: 1.55;
    -webkit-overflow-scrolling: touch;
}

#documents-editor-view .ql-editor.ql-blank::before {
    color: rgba(255, 255, 255, 0.35);
    font-style: normal;
}

#documents-editor-view .ql-editor a {
    color: var(--cal-accent, #f2133c);
}

#documents-editor-view .ql-snow .ql-picker {
    color: #e0dcd4;
}

#documents-editor-view .ql-snow .ql-stroke {
    stroke: #c8c4bc;
}

#documents-editor-view .ql-snow .ql-fill {
    fill: #c8c4bc;
}

#documents-editor-view .ql-snow .ql-picker-options {
    background: #2c2c2c;
    border-color: rgba(255, 255, 255, 0.12);
}

#documents-editor-view .ql-snow.ql-toolbar button:hover,
#documents-editor-view .ql-snow.ql-toolbar button.ql-active {
    color: var(--cal-accent, #f2133c);
}

#documents-editor-view .ql-snow.ql-toolbar button:hover .ql-stroke,
#documents-editor-view .ql-snow.ql-toolbar button.ql-active .ql-stroke {
    stroke: var(--cal-accent, #f2133c);
}

#documents-editor-view .ql-snow.ql-toolbar button:hover .ql-fill,
#documents-editor-view .ql-snow.ql-toolbar button.ql-active .ql-fill {
    fill: var(--cal-accent, #f2133c);
}

@keyframes adminFade {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

.admin-card {
    border: 1px solid var(--cal-border);
    border-radius: 10px;
    padding: 20px 20px 22px;
    background: rgba(18, 18, 18, 0.55);
}

.admin-card__title {
    margin: 0 0 10px;
    font-size: 1rem;
    font-weight: 600;
    color: var(--cal-text);
}

.admin-card__body {
    margin: 0;
    font-size: 0.9375rem;
    color: var(--cal-muted);
    line-height: 1.55;
}

.admin-card__body a {
    color: var(--cal-accent);
    text-decoration: none;
}

.admin-card__body a:hover {
    text-decoration: underline;
}

.admin-actions {
    margin-top: 16px;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.admin-login-overlay .contact-panel {
    max-width: 400px;
}

/* Login: don’t stretch the card — avoids a tall empty gap above Sign in */
.admin-login-overlay .contact-form {
    flex: 0 1 auto;
}

.admin-login-overlay .contact-card {
    flex: 0 0 auto;
    min-height: unset;
    overflow: hidden;
}

.admin-login-overlay .contact-field {
    flex: 0 0 auto;
}

/* Inset hairline (16px gutters) — 1px padding keeps autofill inset from painting over it */
.admin-login-overlay .admin-login-password-field {
    padding-top: 1px;
}

/* Autofill paints a square inset — clip top corners to match the card radius */
.admin-login-overlay .contact-card > .contact-field:first-child .contact-input {
    border-radius: 11px 11px 0 0;
}

.admin-login-overlay .contact-input:-webkit-autofill,
.admin-login-overlay .contact-input:-webkit-autofill:hover,
.admin-login-overlay .contact-input:-webkit-autofill:focus,
.admin-login-overlay .contact-input:-webkit-autofill:active {
    -webkit-text-fill-color: var(--secondary-color) !important;
    box-shadow: 0 0 0 1000px var(--secondary-color-bg) inset !important;
    -webkit-box-shadow: 0 0 0 1000px var(--secondary-color-bg) inset !important;
    caret-color: var(--secondary-color) !important;
}

.admin-login-overlay .contact-card > .contact-field:first-child .contact-input:-webkit-autofill,
.admin-login-overlay .contact-card > .contact-field:first-child .contact-input:-webkit-autofill:hover,
.admin-login-overlay .contact-card > .contact-field:first-child .contact-input:-webkit-autofill:focus,
.admin-login-overlay .contact-card > .contact-field:first-child .contact-input:-webkit-autofill:active {
    border-radius: 11px 11px 0 0;
}

/* Default contact-actions uses margin-top: auto — stretches empty space in the card */
.admin-login-overlay .contact-actions {
    margin-top: 0;
    justify-content: space-between;
    width: 100%;
    box-sizing: border-box;
}

.admin-login-overlay .dk-btn[hidden],
.admin-login-overlay .contact-field[hidden],
.admin-login-overlay--forgot #admin-login-password-field {
    display: none !important;
}

.admin-login-overlay .contact-actions:has(#admin-login-forgot-open[hidden]),
.admin-login-overlay--forgot .contact-actions {
    justify-content: flex-end;
}

.admin-login-overlay .contact-input {
    padding: 8px 14px;
    line-height: 1.35;
}

.admin-login-hint {
    margin-bottom: 4px;
}

.admin-login-signup {
    margin: 10px 0 0;
    font-size: 0.86rem;
    font-weight: 300;
    line-height: 1.45;
    color: rgba(227, 219, 204, 0.62);
}

.admin-login-signup a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.admin-login-signup a:hover {
    color: var(--secondary-color);
}

.admin-login-overlay--forgot .admin-login-signup {
    display: none;
}

.admin-login-password-row {
    position: relative;
    display: flex;
    align-items: stretch;
    width: 100%;
}

.admin-login-password-input {
    flex: 1 1 auto;
    min-width: 0;
    padding-right: 42px;
}

.admin-login-password-toggle {
    position: absolute;
    right: 4px;
    top: 50%;
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0;
    border: none;
    border-radius: 8px;
    background: transparent;
    color: rgba(227, 219, 204, 0.65);
    cursor: pointer;
    transition: color 0.15s ease, background 0.15s ease;
}

.admin-login-password-toggle:hover {
    color: var(--cal-text);
    background: rgba(227, 219, 204, 0.08);
}

.admin-login-password-toggle:focus-visible {
    outline: 2px solid rgba(242, 19, 60, 0.45);
    outline-offset: 2px;
}

.admin-login-password-toggle__icon {
    width: 18px;
    height: 18px;
}

.admin-login-password-toggle__icon svg {
    width: 18px;
    height: 18px;
}

/* Admin surfaces: no focus ring / “active” border on fields */
.admin-login-overlay .contact-input:focus,
.admin-login-overlay .contact-input:focus-visible,
.admin-crm-overlay .contact-input:focus,
.admin-crm-overlay .contact-input:focus-visible,
.admin-crm-overlay .contact-textarea:focus,
.admin-crm-overlay .contact-textarea:focus-visible,
.admin-crm-add-overlay .contact-input:focus,
.admin-crm-add-overlay .contact-input:focus-visible,
.admin-crm-add-overlay .contact-textarea:focus,
.admin-crm-add-overlay .contact-textarea:focus-visible {
    outline: none;
    box-shadow: none;
}

.admin-cal-top__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 18px;
}

#admin-cal-google-msg:empty {
    display: none;
}

/*
 * Slideouts must sit above the header user avatar ( .admin-app__user-wrap { z-index: 320 } ).
 * Base .contact-overlay is only 210, so raise all admin overlays here (two-class beats one).
 * Glass panels are translucent — also hide nav chrome so avatar/bell don’t bleed through.
 */
.contact-overlay.admin-login-overlay,
.contact-overlay.admin-crm-overlay {
    z-index: 450;
}

.contact-overlay.admin-crm-add-overlay,
.contact-overlay.admin-cal-add-overlay {
    z-index: 451;
}

body:has(.contact-overlay.is-open) .admin-app__user-wrap,
body:has(.contact-overlay.is-open) .admin-notifications-wrap {
    visibility: hidden;
    pointer-events: none;
}

/* CRM / project / calendar slideouts — light backdrop so the table stays readable */
.contact-overlay.admin-crm-overlay .contact-backdrop,
.contact-overlay.admin-crm-add-overlay .contact-backdrop,
.contact-overlay.admin-cal-add-overlay .contact-backdrop {
    background: rgba(4, 4, 6, 0.18);
    backdrop-filter: blur(3px) saturate(120%);
    -webkit-backdrop-filter: blur(3px) saturate(120%);
}

.contact-overlay.admin-crm-overlay .contact-panel,
.contact-overlay.admin-crm-add-overlay .contact-panel,
.contact-overlay.admin-cal-add-overlay .contact-panel {
    background-color: rgba(32, 30, 28, 0.52);
    backdrop-filter: blur(20px) saturate(145%);
    -webkit-backdrop-filter: blur(20px) saturate(145%);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.5);
}

/*
 * Add event slideout icons: Lucide replaces <i class="dk-btn__icon"> with <svg class="… dk-btn__icon lucide">.
 * There is no nested `.dk-btn__icon svg`, so older rules never matched. Some browsers also need stroke on <path>.
 */
#admin-cal-add-overlay svg.lucide {
    color: #f2133c !important;
    stroke: #f2133c !important;
}

#admin-cal-add-overlay svg.lucide path,
#admin-cal-add-overlay svg.lucide line,
#admin-cal-add-overlay svg.lucide circle,
#admin-cal-add-overlay svg.lucide polyline,
#admin-cal-add-overlay svg.lucide rect {
    stroke: #f2133c !important;
}

#admin-cal-add-create-meet {
    padding-left: 0;
    margin: 0;
}

.admin-cal-add-meet {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.admin-cal-add-meet__actions {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px 8px;
}

.admin-cal-add-meet__copy {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 0;
    border: none;
    border-radius: 6px;
    background: transparent;
    color: var(--cal-accent, #f2133c);
    cursor: pointer;
    flex-shrink: 0;
}

.admin-cal-add-meet__copy[hidden] {
    display: none !important;
}

.admin-cal-add-meet__copy:hover {
    background: rgba(242, 19, 60, 0.1);
}

.admin-cal-add-meet__copy svg {
    width: 16px;
    height: 16px;
    stroke: var(--cal-accent, #f2133c);
}

.admin-cal-add-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px 14px;
}

.admin-cal-add-actions__status {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
    text-align: left;
}

.admin-cal-add-actions__status:empty {
    display: none;
}

.admin-cal-add-actions .dk-btn {
    flex: 0 0 auto;
    margin-left: auto;
}

.admin-table-wrap {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border: 1px solid var(--cal-border);
    border-radius: 10px;
    background: rgba(18, 18, 18, 0.35);
}

.admin-table {
    width: 100%;
    min-width: 880px;
    border-collapse: collapse;
    font-size: 0.8125rem;
    line-height: 1.3;
}

.admin-table thead {
    position: sticky;
    top: 0;
    z-index: 1;
    background: rgba(18, 18, 18, 0.95);
    box-shadow: 0 1px 0 var(--cal-border);
}

.admin-table th,
.admin-table td {
    padding: 6px 10px;
    text-align: left;
    vertical-align: middle;
    border-bottom: 1px solid var(--cal-border);
}

.admin-table th {
    font-weight: 600;
    font-size: 0.6875rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--cal-text);
    white-space: nowrap;
}

.admin-table__th--actions {
    width: 2.75rem;
    padding-left: 6px;
    padding-right: 6px;
}

.admin-table__actions {
    position: relative;
    text-align: right;
    vertical-align: middle;
    padding-left: 6px;
    padding-right: 6px;
}

/* Prefill “existing company” notice on add-lead form (from Ai extract) */
.crm-add-lead-existing {
    margin: 0 0 10px;
    padding: 10px 12px;
    border-radius: 10px;
    border: 1px solid rgba(227, 219, 204, 0.22);
    background: rgba(0, 0, 0, 0.2);
    font-size: 0.8125rem;
    line-height: 1.45;
    color: var(--cal-text, #e3dbcc);
}

.crm-add-lead-existing__intro {
    margin: 0 0 8px;
}

.crm-add-lead-existing__open {
    display: inline-flex;
    align-items: center;
    margin: 4px 8px 4px 0;
    padding: 6px 12px;
    font: inherit;
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--cal-accent, #f2133c);
    background: rgba(242, 19, 60, 0.1);
    border: 1px solid rgba(242, 19, 60, 0.35);
    border-radius: 8px;
    cursor: pointer;
}

.crm-add-lead-existing__open:hover {
    background: rgba(242, 19, 60, 0.18);
}

/* Email domain ↔ company matches (CRM link hints) */
.crm-add-lead-domain {
    margin: 0 0 10px;
    padding: 10px 12px;
    border-radius: 10px;
    border: 1px solid rgba(100, 180, 255, 0.28);
    background: rgba(30, 50, 70, 0.35);
    font-size: 0.8125rem;
    line-height: 1.45;
    color: var(--cal-text, #e3dbcc);
}

.crm-add-lead-domain__row {
    margin: 10px 0 0;
    padding-top: 10px;
    border-top: 1px solid rgba(227, 219, 204, 0.12);
}

.crm-add-lead-domain__row:first-of-type {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
}

.crm-add-lead-domain__meta {
    margin: 0 0 6px;
    font-size: 0.72rem;
    opacity: 0.82;
}

.crm-add-lead-domain__apply {
    display: inline-flex;
    align-items: center;
    margin: 6px 8px 0 0;
    padding: 6px 12px;
    font: inherit;
    font-size: 0.76rem;
    font-weight: 600;
    color: var(--cal-text, #e3dbcc);
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(227, 219, 204, 0.22);
    border-radius: 8px;
    cursor: pointer;
}

.crm-add-lead-domain__apply:hover {
    background: rgba(255, 255, 255, 0.1);
}

/* CRM lead detail slideout: back control vs row-style ⋮ menu */
.crm-slideout-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    flex-shrink: 0;
}

.crm-slideout-header .contact-back {
    align-self: center;
}

.crm-slideout-header__actions {
    flex-shrink: 0;
}

.crm-row-actions {
    position: relative;
    display: inline-flex;
    justify-content: flex-end;
}

.crm-row-actions__trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 0;
    border: none;
    border-radius: 6px;
    background: transparent;
    color: var(--cal-accent, #f2133c);
    cursor: pointer;
    transition: color 0.15s ease, background 0.15s ease;
}

.crm-row-actions__trigger:hover {
    color: var(--cal-accent, #f2133c);
    background: rgba(242, 19, 60, 0.1);
}

.crm-row-actions__trigger:focus-visible {
    outline: 2px solid rgba(242, 19, 60, 0.45);
    outline-offset: 2px;
}

.crm-row-actions__trigger-icon {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    color: var(--cal-accent, #f2133c);
    stroke: var(--cal-accent, #f2133c);
}

.crm-row-actions__trigger-icon svg {
    width: 16px;
    height: 16px;
    color: var(--cal-accent, #f2133c);
    stroke: var(--cal-accent, #f2133c);
}

.crm-row-menu {
    position: absolute;
    top: calc(100% + 4px);
    right: 0;
    z-index: 30;
    min-width: 148px;
    padding: 6px;
    margin: 0;
    list-style: none;
    border: 1px solid var(--cal-border);
    border-radius: 10px;
    background: rgba(24, 24, 24, 0.98);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.45);
}

.crm-row-menu__item {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 10px 12px;
    border: none;
    border-radius: 8px;
    background: transparent;
    font-family: inherit;
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--cal-text);
    text-align: left;
    cursor: pointer;
    transition: background 0.12s ease, color 0.12s ease;
}

.crm-row-menu__item:hover {
    background: rgba(242, 19, 60, 0.1);
    color: var(--cal-accent, #f2133c);
}

.crm-row-menu__item:focus-visible {
    outline: 2px solid rgba(242, 19, 60, 0.45);
    outline-offset: 0;
}

.crm-row-menu__item--danger {
    color: var(--cal-accent);
}

.crm-row-menu__item--danger:hover {
    background: rgba(242, 19, 60, 0.1);
}

.crm-row-menu__icon {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    color: var(--cal-accent, #f2133c);
    stroke: var(--cal-accent, #f2133c);
    opacity: 0.95;
}

.crm-row-menu__icon svg {
    width: 16px;
    height: 16px;
    stroke: var(--cal-accent, #f2133c);
}

.admin-table tbody tr {
    cursor: pointer;
    transition: background 0.12s ease;
}

.admin-table tbody tr:hover {
    background: rgba(242, 19, 60, 0.06);
}

.admin-table tbody tr:focus-visible {
    outline: 2px solid var(--cal-accent);
    outline-offset: -2px;
}

.admin-table__link {
    color: var(--cal-accent);
    text-decoration: none;
    font-weight: 500;
}

.admin-table__link:hover {
    text-decoration: underline;
}

/* CRM: sticky company column; scroll other columns horizontally */
.admin-table-wrap--crm {
    overflow-x: auto;
}

.admin-table--crm {
    min-width: 960px;
}

#crm-leads-table .admin-table__col--company {
    position: sticky;
    left: 0;
    z-index: 2;
    min-width: 10.5rem;
    max-width: 14rem;
    background: rgb(18, 18, 18);
    box-shadow: 4px 0 10px rgba(0, 0, 0, 0.4);
}

#crm-leads-table thead .admin-table__col--company {
    z-index: 4;
    background: rgba(18, 18, 18, 0.98);
}

#crm-leads-table tbody tr:hover .admin-table__col--company {
    background: rgb(22, 16, 17);
}

#crm-leads-table tbody tr:focus-visible .admin-table__col--company {
    background: rgb(22, 16, 17);
}

#org-users-table .admin-table__col--company {
    position: sticky;
    left: 0;
    z-index: 2;
    min-width: 10.5rem;
    max-width: 14rem;
    background: rgb(18, 18, 18);
    box-shadow: 4px 0 10px rgba(0, 0, 0, 0.4);
}

#org-users-table thead .admin-table__col--company {
    z-index: 4;
    background: rgba(18, 18, 18, 0.98);
}

#org-users-table tbody tr:hover .admin-table__col--company {
    background: rgb(22, 16, 17);
}

#org-users-table tbody tr:focus-visible .admin-table__col--company {
    background: rgb(22, 16, 17);
}

.crm-detail-extra-wrap {
    display: contents;
}

.crm-detail-extra-wrap[hidden] {
    display: none !important;
}

.crm-detail-extra-wrap .crm-lead-detail__row dt {
    color: var(--cal-muted);
}

.admin-table__empty {
    color: var(--cal-muted);
}

.permissions-hint {
    margin: 0 0 12px;
    max-width: 52rem;
}

.admin-table-wrap--permissions {
    overflow: auto;
}

.admin-table--permissions .permissions-th-module {
    font-size: 0.72rem;
    font-weight: 600;
    text-align: center;
    white-space: nowrap;
    padding-left: 8px;
    padding-right: 8px;
    min-width: 4.5rem;
}

.admin-table--permissions .permissions-td-module {
    text-align: center;
    vertical-align: middle;
}

.permissions-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    margin: 0;
}

.permissions-toggle input {
    position: absolute;
    opacity: 0;
    width: 1px;
    height: 1px;
    pointer-events: none;
}

.permissions-toggle__ui {
    display: inline-block;
    width: 34px;
    height: 20px;
    border-radius: 999px;
    background: rgba(227, 219, 204, 0.18);
    border: 1px solid rgba(227, 219, 204, 0.35);
    position: relative;
    transition: background 0.15s ease, border-color 0.15s ease;
}

.permissions-toggle__ui::after {
    content: '';
    position: absolute;
    top: 2px;
    left: 2px;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: rgba(227, 219, 204, 0.75);
    transition: transform 0.15s ease, background 0.15s ease;
}

.permissions-toggle input:checked + .permissions-toggle__ui {
    background: rgba(242, 19, 60, 0.28);
    border-color: rgba(242, 19, 60, 0.55);
}

.permissions-toggle input:checked + .permissions-toggle__ui::after {
    transform: translateX(14px);
    background: #f2133c;
}

.permissions-toggle input:disabled + .permissions-toggle__ui {
    opacity: 0.55;
}

.admin-table--permissions .admin-table__col--company {
    position: sticky;
    left: 0;
    z-index: 1;
    background: #0c0c0c;
}

#permissions-table tbody tr:hover .admin-table__col--company {
    background: rgb(22, 16, 17);
}

/* CRM status chip (table only — edit status in lead slideout) */
.crm-status-chip {
    display: inline-block;
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.3;
    padding: 2px 9px;
    border-radius: 999px;
    color: rgba(20, 18, 16, 0.92);
    background: rgba(227, 219, 204, 0.28);
    border: 1px solid rgba(227, 219, 204, 0.4);
}

.crm-status-chip--inactive,
.crm-status-chip--terminated {
    opacity: 0.88;
}

.crm-status-chip--invited {
    background: rgba(120, 150, 200, 0.22);
    border-color: rgba(120, 150, 200, 0.45);
}

/* Invoice status chips (Sent / Due / Paid) */
.invoice-status-chip {
    display: inline-block;
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.3;
    padding: 2px 9px;
    border-radius: 999px;
    color: rgba(20, 18, 16, 0.92);
    border: 1px solid rgba(227, 219, 204, 0.4);
    background: rgba(227, 219, 204, 0.22);
}

.invoice-status-chip--sent {
    background: rgba(120, 150, 200, 0.2);
    border-color: rgba(120, 150, 200, 0.45);
}

.invoice-status-chip--due {
    background: rgba(210, 165, 80, 0.22);
    border-color: rgba(200, 150, 70, 0.42);
}

.invoice-status-chip--paid {
    background: rgba(90, 150, 110, 0.2);
    border-color: rgba(70, 130, 90, 0.4);
}

.contact-feedback--compact {
    margin-top: 0;
    margin-bottom: 8px;
    font-size: 0.875rem;
}

/* CRM lead slideout — line tabs (active = 1.5px red bar on divider) */
.crm-lead-tabs {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0 20px;
    margin: 12px 0 0;
    padding: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.crm-lead-tabs__btn {
    margin: 0 0 -1px;
    padding: 8px 2px 11px;
    border: none;
    border-radius: 0;
    border-bottom: 1.5px solid transparent;
    background: transparent;
    color: rgba(255, 255, 255, 0.5);
    font-family: inherit;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0.02em;
    cursor: pointer;
    transition: color 0.15s ease, border-color 0.15s ease;
}

.crm-lead-tabs__btn:hover {
    color: var(--secondary-color);
}

.crm-lead-tabs__btn.is-active {
    color: var(--secondary-color);
    border-bottom-color: var(--cal-accent, #f2133c);
}

.crm-lead-tabs__btn[hidden] {
    display: none;
}

.crm-lead-tabpanels {
    min-height: 120px;
    padding-top: 16px;
}

.crm-lead-tabpanel {
    display: none;
}

.crm-lead-tabpanel.is-active {
    display: block;
}

/* Notes tab: fill remaining slideout height; composer docked at bottom */
#crm-lead-panel .contact-panel__main:has(#crm-tab-panel-notes.is-active) {
    overflow: hidden;
}

.crm-lead-tabpanels:has(#crm-tab-panel-notes.is-active) {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

#crm-tab-panel-notes.is-active {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

.crm-notes-wrap {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 4px;
    flex: 1 1 auto;
    min-height: 0;
}

.crm-research-wrap {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 4px;
}

.crm-research-shell.crm-email-ai {
    margin: 0;
    background: transparent;
    border-color: rgba(227, 219, 204, 0.14);
}

.crm-research-shell .crm-email-ai__compose.crm-research-compose {
    background: rgba(242, 19, 60, 0.08);
    border-color: rgba(242, 19, 60, 0.22);
}

.crm-research-meta {
    margin: 0 0 10px;
    font-size: 0.72rem;
    color: rgba(232, 228, 220, 0.5);
}

.crm-research-thread {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 0 0 12px;
    max-height: min(48vh, 420px);
    overflow: auto;
    padding-right: 2px;
}

.crm-research-msg {
    max-width: 96%;
    padding: 10px 12px;
    border-radius: 12px;
    font-size: 0.8125rem;
    line-height: 1.45;
    word-break: break-word;
}

.crm-research-msg--user {
    align-self: flex-end;
    background: rgba(242, 19, 60, 0.18);
    color: var(--cal-text, #e8e4dc);
    border-bottom-right-radius: 4px;
}

.crm-research-msg--assistant {
    align-self: flex-start;
    width: 100%;
    max-width: 100%;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(227, 219, 204, 0.12);
    border-bottom-left-radius: 4px;
    color: var(--cal-text, #e8e4dc);
}

.crm-research-msg__reply {
    margin: 0 0 8px;
    white-space: pre-wrap;
}

.crm-research-findings {
    display: grid;
    gap: 10px;
}

.crm-research-findings__block {
    margin: 0;
}

.crm-research-findings__title {
    margin: 0 0 4px;
    font-size: 0.7rem;
    font-weight: 650;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgba(232, 228, 220, 0.55);
}

.crm-research-findings ul {
    margin: 0;
    padding-left: 1.1rem;
}

.crm-research-findings li {
    margin: 0 0 4px;
}

.crm-research-findings__row {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 8px 10px;
    list-style: disc;
}

.crm-research-findings__main {
    flex: 1 1 12rem;
    min-width: 0;
}

.crm-research-apply,
.crm-email-ai__research {
    flex: 0 0 auto;
    margin: 0;
    padding: 0;
    border: none;
    border-radius: 0;
    background: transparent;
    letter-spacing: 0;
}

.crm-research-apply:disabled {
    opacity: 0.55;
    cursor: wait;
}

.crm-research-findings a {
    color: var(--cal-accent, #f2133c);
    text-decoration: none;
    word-break: break-all;
}

.crm-research-findings a:hover {
    text-decoration: underline;
}

.crm-research-empty {
    margin: 0 0 12px;
    font-size: 0.8125rem;
    line-height: 1.45;
    color: rgba(232, 228, 220, 0.55);
}

.crm-research-shell .crm-email-ai__bar {
    justify-content: flex-end;
}

.crm-research-shell .crm-email-ai__generate:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.crm-research-shell .crm-email-ai__generate.crm-research-send--ready:not(:disabled) {
    color: var(--cal-text, #e8e4dc);
}

.crm-research-text {
    display: none;
}

.crm-lead-detail--tab {
    margin-bottom: 16px;
}

.crm-lead-detail {
    display: grid;
    grid-template-columns: minmax(0, 7rem) 1fr;
    gap: 10px 16px;
    margin: 8px 0 0;
    font-size: 0.9375rem;
}

.crm-lead-detail__row {
    display: contents;
}

.crm-lead-detail dt {
    margin: 0;
    color: var(--cal-muted);
    font-weight: 500;
    align-self: start;
    padding-top: 2px;
}

.crm-lead-detail dd {
    margin: 0;
    min-width: 0;
    overflow-wrap: break-word;
    word-break: normal;
}

/* Status select — match editable field row height (contact-input uses 14px padding in forms) */
.crm-lead-detail dd select.contact-input {
    width: 100%;
    padding: 4px 40px 4px 6px;
    margin: -4px -6px;
    min-height: 0;
    line-height: 1.45;
    font-size: inherit;
    background-position: right 10px center;
}

.crm-lead-detail dt:has(+ dd > select.contact-input) {
    align-self: center;
    padding-top: 0;
}

.crm-lead-detail dd:has(> select.contact-input) {
    align-self: center;
}

.crm-detail-field {
    position: relative;
    border-radius: 8px;
    padding: 4px 6px;
    margin: -4px -6px;
    cursor: default;
    transition: background 0.12s ease, box-shadow 0.12s ease;
    outline: none;
}

@media (hover: hover) {
    .crm-detail-field:hover:not(.is-editing) {
        background: rgba(227, 219, 204, 0.06);
        cursor: text;
        box-shadow: inset 0 0 0 1px rgba(227, 219, 204, 0.14);
    }
}

.crm-detail-field:focus-visible:not(.is-editing) {
    box-shadow: 0 0 0 2px rgba(227, 219, 204, 0.28);
}

/* True inline edit: one short row (input + icons), not a tall card */
.crm-detail-field.is-editing {
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: nowrap;
    gap: 6px;
    padding: 1px 2px;
    margin: -1px -2px;
    background: rgba(227, 219, 204, 0.05);
    box-shadow: inset 0 0 0 1px rgba(227, 219, 204, 0.14);
    border-radius: 6px;
    cursor: default;
}

.crm-detail-field.is-editing .crm-detail-field__input {
    flex: 1;
    min-width: 0;
    width: auto;
}

.crm-detail-field.is-editing .crm-detail-field__loc-inputs {
    flex: 1;
    min-width: 0;
}

/* Slideout contact form uses 14px vertical padding — too tall for detail rows */
.admin-crm-overlay .crm-detail-field.is-editing .contact-input,
.admin-crm-overlay .crm-detail-field.is-editing .crm-detail-field__input {
    padding: 3px 8px;
    font-size: 0.9375rem;
    line-height: 1.35;
    min-height: 0;
    border-radius: 4px;
    background: rgba(10, 10, 10, 0.5);
}

.admin-crm-overlay .crm-detail-field.is-editing .contact-input:focus-visible,
.admin-crm-overlay .crm-detail-field.is-editing .crm-detail-field__input:focus-visible {
    outline: 1px solid rgba(227, 219, 204, 0.35);
    outline-offset: 1px;
}

.crm-detail-field__toolbar {
    display: none;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    gap: 4px;
    flex-shrink: 0;
}

.crm-detail-field.is-editing .crm-detail-field__toolbar {
    display: flex;
}

.crm-detail-field__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    padding: 0;
    border: 1px solid rgba(227, 219, 204, 0.18);
    border-radius: 6px;
    background: rgba(22, 22, 22, 0.95);
    color: rgba(227, 219, 204, 0.75);
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease, transform 0.1s ease;
}

.crm-detail-field__btn:hover {
    color: var(--cal-text);
    background: rgba(227, 219, 204, 0.08);
    border-color: rgba(227, 219, 204, 0.28);
}

.crm-detail-field__btn:active {
    transform: scale(0.96);
}

.crm-detail-field__btn--save {
    color: #9cceb0;
    border-color: rgba(120, 188, 150, 0.35);
}

.crm-detail-field__btn--save:hover {
    color: #c5e8d4;
    background: rgba(120, 188, 150, 0.12);
    border-color: rgba(120, 188, 150, 0.45);
}

.crm-detail-field__btn:focus-visible {
    outline: 2px solid rgba(242, 19, 60, 0.4);
    outline-offset: 1px;
}

.crm-detail-field__btn-icon {
    width: 15px;
    height: 15px;
    flex-shrink: 0;
}

.crm-detail-field__btn-icon svg {
    width: 15px;
    height: 15px;
    stroke-width: 2.25px;
}

.crm-detail-field__display {
    display: block;
    color: var(--cal-text);
    word-break: break-word;
}

/* JS sets hidden=true while editing; plain display:block would beat the UA [hidden] rule */
.crm-detail-field__display[hidden] {
    display: none !important;
}

.crm-detail-field__display a {
    color: var(--cal-accent);
    text-decoration: none;
}

.crm-detail-field__display a:hover {
    text-decoration: underline;
}

.crm-detail-field__input {
    width: 100%;
    box-sizing: border-box;
}

.crm-detail-field__loc-inputs {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.crm-detail-field__loc-inputs[hidden] {
    display: none !important;
}

.crm-detail-field.is-editing .crm-detail-field__loc-inputs {
    gap: 4px;
}

.crm-lead-notes {
    white-space: pre-wrap;
    word-break: break-word;
    font-size: 0.9375rem;
    line-height: 1.45;
    margin: 0;
}

.crm-lead-detail__notes-dd {
    min-width: 0;
}

.crm-notes-compose-card__sub {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 13px;
    line-height: 1.4;
    color: rgba(255, 255, 255, 0.45);
}

.crm-notes-compose-card .crm-detail-notes-input {
    min-height: 160px;
    resize: vertical;
}

.crm-notes-compose-card .contact-actions {
    padding-top: 8px;
    padding-bottom: 14px;
}

.crm-detail-notes-save.dk-btn {
    font-size: 14px;
    font-weight: 400;
    color: var(--secondary-color);
}

.crm-detail-notes-save.dk-btn .dk-btn__icon {
    width: 14px;
    height: 14px;
    color: var(--cal-accent, #f2133c);
    stroke: var(--cal-accent, #f2133c);
}

.crm-detail-notes-save.dk-btn:hover .dk-btn__icon {
    transform: translateX(4px);
}

.crm-lead-detail__url {
    overflow-wrap: anywhere;
    word-break: break-word;
}

.crm-lead-detail__row--sms dt {
    align-self: flex-start;
    padding-top: 4px;
}

.crm-notes-wrap {
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 0;
    flex: 1 1 auto;
    min-height: 0;
}

.crm-notes-empty {
    margin: 0;
    padding: 8px 6px;
    font-size: 0.8125rem;
    color: rgba(232, 228, 220, 0.55);
}

.crm-notes-thread {
    flex: 1 1 auto;
    min-height: 120px;
    max-height: none;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 8px;
    border-radius: 10px;
    border: 1px solid rgba(227, 219, 204, 0.12);
    background: rgba(255, 255, 255, 0.03);
}

.crm-notes-item {
    padding: 10px 12px;
    border-radius: 10px;
    font-size: 0.875rem;
    line-height: 1.45;
    white-space: pre-wrap;
    word-break: break-word;
    color: rgba(255, 255, 255, 0.78);
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(227, 219, 204, 0.16);
}

.crm-notes-item--child {
    margin-left: 18px;
    border-left: 2px solid rgba(242, 19, 60, 0.35);
    border-radius: 0 10px 10px 0;
    background: rgba(255, 255, 255, 0.03);
}

.crm-notes-item--depth-2 {
    margin-left: 36px;
}

.crm-notes-item--depth-3 {
    margin-left: 54px;
}

.crm-notes-item__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 6px;
}

.crm-notes-item__meta {
    display: block;
    font-size: 0.75rem;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.62);
    letter-spacing: 0.01em;
}

.crm-notes-item__reply {
    flex-shrink: 0;
    margin: 0;
    padding: 0;
    border: none;
    background: none;
    font-family: inherit;
    font-size: 0.6875rem;
    font-weight: 500;
    color: var(--cal-accent, #f2133c);
    cursor: pointer;
}

.crm-notes-item__reply:hover {
    text-decoration: underline;
}

.crm-notes-item__body {
    white-space: pre-wrap;
    word-break: break-word;
}

.crm-notes-compose-dock {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-top: 4px;
    border-top: 1px solid rgba(227, 219, 204, 0.12);
    margin-top: auto;
}

.crm-notes-reply-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 6px 10px;
    border-radius: 8px;
    background: rgba(242, 19, 60, 0.1);
    border: 1px solid rgba(242, 19, 60, 0.22);
}

.crm-notes-reply-bar[hidden] {
    display: none;
}

.crm-notes-reply-bar__label {
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.72);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.crm-notes-reply-bar__cancel {
    flex-shrink: 0;
    margin: 0;
    padding: 0;
    border: none;
    background: none;
    font-family: inherit;
    font-size: 0.75rem;
    color: var(--cal-accent, #f2133c);
    cursor: pointer;
}

.crm-notes-compose {
    width: 100%;
    resize: vertical;
    min-height: 64px;
    max-height: 160px;
}

.crm-notes-actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    padding: 0 2px 2px;
}

.crm-notes-actions__msg {
    margin: 0;
    margin-right: auto;
    min-height: 0;
    text-align: left;
}

.crm-notes-actions__msg:empty {
    display: none;
}

.crm-notes-add.dk-btn {
    font-size: 14px;
    font-weight: 400;
    color: var(--secondary-color);
}

.crm-notes-add.dk-btn .dk-btn__icon {
    width: 14px;
    height: 14px;
    color: var(--cal-accent, #f2133c);
    stroke: var(--cal-accent, #f2133c);
}

.crm-sms-wrap {
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 0;
}

.crm-sms-empty {
    margin: 0;
    padding: 8px 6px;
    font-size: 0.8125rem;
    color: rgba(0, 0, 0, 0.45);
}

.crm-sms-thread {
    max-height: 220px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 4px 2px;
    border-radius: 8px;
    background: rgba(0, 0, 0, 0.04);
}

.crm-sms-bubble {
    max-width: 92%;
    padding: 8px 10px;
    border-radius: 10px;
    font-size: 0.875rem;
    line-height: 1.4;
    white-space: pre-wrap;
    word-break: break-word;
}

.crm-sms-bubble--outbound {
    align-self: flex-end;
    background: var(--admin-accent, #2563eb);
    color: #fff;
}

.crm-sms-bubble--inbound {
    align-self: flex-start;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.08);
}

.crm-sms-bubble__meta {
    display: block;
    font-size: 0.6875rem;
    opacity: 0.85;
    margin-bottom: 4px;
}

.crm-sms-compose {
    width: 100%;
    resize: vertical;
    min-height: 52px;
}

.crm-sms-actions,
.crm-email-actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    padding: 8px 16px 14px;
}

.crm-email-actions__status {
    margin: 0;
    margin-right: auto;
    min-height: 0;
    text-align: left;
    font-size: 0.8125rem;
}

.crm-email-actions__status:empty {
    display: none;
}

/* Match Sign in button (dk-btn + chevrons-right) */
.crm-sms-send.dk-btn,
.crm-email-send.dk-btn {
    font-size: 14px;
    font-weight: 400;
    color: var(--secondary-color);
}

.crm-sms-send.dk-btn .dk-btn__icon,
.crm-email-send.dk-btn .dk-btn__icon {
    width: 14px;
    height: 14px;
    color: var(--cal-accent, #f2133c);
    stroke: var(--cal-accent, #f2133c);
}

.crm-sms-send.dk-btn:hover .dk-btn__icon,
.crm-email-send.dk-btn:hover .dk-btn__icon {
    transform: translateX(4px);
}

/* Inbox tab — override .admin-app__top (100px gap + title row) */
.admin-app__top.admin-inbox-top {
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px 32px;
    width: 100%;
    margin-bottom: 16px;
}

.admin-inbox-top__head {
    flex: 1 1 280px;
    min-width: 0;
}

.admin-inbox-top__head .admin-app__module-title {
    min-height: auto;
    line-height: 1.25;
}

.admin-inbox-top__sub {
    margin: 6px 0 0;
    font-size: 13px;
    line-height: 1.45;
    color: rgba(255, 255, 255, 0.55);
    max-width: 52rem;
}

.admin-inbox-top__actions {
    display: flex;
    flex: 0 1 auto;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    margin-left: auto;
    max-width: 100%;
}

.admin-inbox-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    flex-shrink: 0;
    white-space: nowrap;
    margin: 0;
    padding: 9px 16px;
    border: 1px solid rgba(227, 219, 204, 0.22);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.04);
    color: var(--secondary-color);
    font-family: inherit;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.3;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease;
}

.admin-inbox-btn:hover {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(227, 219, 204, 0.38);
}

.admin-inbox-btn--primary {
    color: var(--cal-accent);
    border-color: rgba(242, 19, 60, 0.4);
}

.admin-inbox-btn__icon,
.admin-inbox-btn--primary svg.lucide {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    stroke: var(--cal-accent);
    color: var(--cal-accent);
}

.admin-inbox-btn--primary:hover .admin-inbox-btn__icon {
    transform: none;
}

#panel-inbox #inbox-msg {
    width: 100%;
    margin: -4px 0 16px;
}

.admin-inbox-layout {
    display: grid;
    grid-template-columns: minmax(220px, 340px) 1fr;
    gap: 20px;
    min-height: 360px;
}

.admin-inbox-list-wrap {
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    overflow: auto;
    max-height: 70vh;
}

.admin-inbox-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.admin-inbox-list__item,
.admin-inbox-list__empty {
    padding: 12px 14px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    font-size: 13px;
    line-height: 1.4;
    list-style: none;
}

.admin-inbox-list__item {
    cursor: pointer;
}

.admin-inbox-list__empty {
    cursor: default;
    color: rgba(255, 255, 255, 0.5);
}

.admin-inbox-list__item:hover,
.admin-inbox-list__item.is-active {
    background: rgba(255, 255, 255, 0.06);
}

.admin-inbox-list__dir {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: rgba(255, 255, 255, 0.45);
    margin-right: 6px;
}

.admin-inbox-list__meta {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.5);
}

.admin-inbox-detail {
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    padding: 16px 18px;
    max-height: 70vh;
    overflow: auto;
}

.admin-inbox-detail__subject {
    margin: 0 0 6px;
    font-size: 18px;
}

.admin-inbox-detail__meta {
    margin: 0 0 14px;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.55);
}

.admin-inbox-detail__body {
    font-size: 14px;
    line-height: 1.55;
    margin-bottom: 16px;
    word-break: break-word;
}

.admin-inbox-compose-panel,
.admin-inbox-sig-panel {
    max-width: min(580px, calc(100vw - 24px));
}

.admin-inbox-sig-main {
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-height: 0;
}

.admin-inbox-sig-hint {
    margin: 0;
    font-size: 12px;
    line-height: 1.45;
    color: rgba(255, 255, 255, 0.5);
}

.admin-inbox-sig-form {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.admin-inbox-sig-card {
    background: rgba(255, 255, 255, 0.02);
}

.admin-inbox-sig-editor-field {
    position: relative;
}

.admin-inbox-sig-editor-field::before {
    content: '';
    position: absolute;
    top: 0;
    left: 16px;
    right: 16px;
    height: 1px;
    background: rgba(227, 219, 204, 0.35);
}

.admin-inbox-sig-quill-wrap {
    border: none;
    background: transparent;
}

.admin-inbox-sig-quill-host {
    min-height: 0;
}

#inbox-signatures-overlay .admin-inbox-sig-quill-wrap .ql-toolbar.ql-snow {
    border: none;
    border-bottom: 1px solid rgba(227, 219, 204, 0.2);
    background: rgba(0, 0, 0, 0.15);
    padding: 8px 10px;
    flex-wrap: wrap;
}

#inbox-signatures-overlay .admin-inbox-sig-quill-wrap .ql-container.ql-snow {
    border: none;
    font-family: inherit;
    font-size: 14px;
}

#inbox-signatures-overlay .admin-inbox-sig-quill-wrap .ql-editor {
    min-height: 140px;
    max-height: min(40vh, 280px);
    overflow-y: auto;
    padding: 12px 14px 16px;
    color: #e8e4dc;
    line-height: 1.5;
}

#inbox-signatures-overlay .admin-inbox-sig-quill-wrap .ql-editor.ql-blank::before {
    color: rgba(255, 255, 255, 0.4);
    font-style: normal;
}

#inbox-signatures-overlay .ql-snow .ql-picker {
    color: #e0dcd4;
}

#inbox-signatures-overlay .ql-snow .ql-stroke {
    stroke: #c8c4bc;
}

#inbox-signatures-overlay .ql-snow .ql-fill {
    fill: #c8c4bc;
}

#inbox-signatures-overlay .ql-snow .ql-picker-options {
    background: #2c2c2c;
    border-color: rgba(255, 255, 255, 0.12);
    max-height: 220px;
    overflow-y: auto;
}

#inbox-signatures-overlay .ql-snow.ql-toolbar button:hover,
#inbox-signatures-overlay .ql-snow.ql-toolbar button.ql-active {
    color: var(--cal-accent, #f2133c);
}

#inbox-signatures-overlay .ql-snow.ql-toolbar button:hover .ql-stroke,
#inbox-signatures-overlay .ql-snow.ql-toolbar button.ql-active .ql-stroke {
    stroke: var(--cal-accent, #f2133c);
}

#inbox-signatures-overlay .ql-snow.ql-toolbar button:hover .ql-fill,
#inbox-signatures-overlay .ql-snow.ql-toolbar button.ql-active .ql-fill {
    fill: var(--cal-accent, #f2133c);
}

#inbox-signatures-overlay .ql-editor img {
    max-width: 200px;
    height: auto;
}

/* Google font labels in Quill font picker */
#inbox-signatures-overlay .ql-snow .ql-picker.ql-font .ql-picker-label[data-value='Inter']::before,
#inbox-signatures-overlay .ql-snow .ql-picker.ql-font .ql-picker-item[data-value='Inter']::before {
    content: 'Inter';
    font-family: 'Inter', sans-serif;
}

#inbox-signatures-overlay .ql-snow .ql-picker.ql-font .ql-picker-label[data-value='Roboto']::before,
#inbox-signatures-overlay .ql-snow .ql-picker.ql-font .ql-picker-item[data-value='Roboto']::before {
    content: 'Roboto';
    font-family: 'Roboto', sans-serif;
}

#inbox-signatures-overlay .ql-snow .ql-picker.ql-font .ql-picker-label[data-value='Open Sans']::before,
#inbox-signatures-overlay .ql-snow .ql-picker.ql-font .ql-picker-item[data-value='Open Sans']::before {
    content: 'Open Sans';
    font-family: 'Open Sans', sans-serif;
}

#inbox-signatures-overlay .ql-snow .ql-picker.ql-font .ql-picker-label[data-value='Lato']::before,
#inbox-signatures-overlay .ql-snow .ql-picker.ql-font .ql-picker-item[data-value='Lato']::before {
    content: 'Lato';
    font-family: 'Lato', sans-serif;
}

#inbox-signatures-overlay .ql-snow .ql-picker.ql-font .ql-picker-label[data-value='Merriweather']::before,
#inbox-signatures-overlay .ql-snow .ql-picker.ql-font .ql-picker-item[data-value='Merriweather']::before {
    content: 'Merriweather';
    font-family: 'Merriweather', serif;
}

#inbox-signatures-overlay .ql-snow .ql-picker.ql-font .ql-picker-label[data-value='Playfair Display']::before,
#inbox-signatures-overlay .ql-snow .ql-picker.ql-font .ql-picker-item[data-value='Playfair Display']::before {
    content: 'Playfair Display';
    font-family: 'Playfair Display', serif;
}

#inbox-signatures-overlay .ql-snow .ql-picker.ql-font .ql-picker-label[data-value='Georgia']::before,
#inbox-signatures-overlay .ql-snow .ql-picker.ql-font .ql-picker-item[data-value='Georgia']::before {
    content: 'Georgia';
    font-family: Georgia, serif;
}

#inbox-signatures-overlay .ql-snow .ql-picker.ql-font .ql-picker-label[data-value='Times New Roman']::before,
#inbox-signatures-overlay .ql-snow .ql-picker.ql-font .ql-picker-item[data-value='Times New Roman']::before {
    content: 'Times New Roman';
    font-family: 'Times New Roman', serif;
}

#inbox-signatures-overlay .ql-snow .ql-picker.ql-font .ql-picker-label[data-value='Arial']::before,
#inbox-signatures-overlay .ql-snow .ql-picker.ql-font .ql-picker-item[data-value='Arial']::before {
    content: 'Arial';
    font-family: Arial, sans-serif;
}

#inbox-signatures-overlay .ql-snow .ql-picker.ql-font .ql-picker-label:not([data-value])::before,
#inbox-signatures-overlay .ql-snow .ql-picker.ql-font .ql-picker-item[data-value='']::before {
    content: 'Default';
}

.admin-inbox-sig-media {
    padding: 10px 16px 12px;
    position: relative;
}

.admin-inbox-sig-media::before {
    content: '';
    position: absolute;
    top: 0;
    left: 16px;
    right: 16px;
    height: 1px;
    background: rgba(227, 219, 204, 0.35);
}

.admin-inbox-sig-media__row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 10px;
    margin-bottom: 8px;
}

.admin-inbox-sig-media__row:last-child {
    margin-bottom: 0;
}

.admin-inbox-sig-url {
    flex: 1 1 180px;
    min-width: 0;
    padding: 10px 12px !important;
    font-size: 13px !important;
}

.admin-inbox-sig-media__status {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.45);
}

.admin-inbox-sig-preview-wrap {
    padding: 0 16px 12px;
}

.admin-inbox-sig-preview__label {
    margin: 0 0 8px;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.45);
}

.admin-inbox-sig-preview {
    min-height: 48px;
    padding: 10px 12px;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(0, 0, 0, 0.2);
    font-size: 13px;
    line-height: 1.45;
    color: rgba(255, 255, 255, 0.85);
    word-break: break-word;
}

.admin-inbox-sig-preview img {
    max-width: 200px;
    height: auto;
    display: block;
}

.admin-inbox-sig-preview__empty {
    color: rgba(255, 255, 255, 0.4);
    font-size: 12px;
}

.admin-inbox-sig-card .admin-inbox-sig-default {
    margin: 0;
    padding: 12px 16px;
    border-top: none;
    position: relative;
}

.admin-inbox-sig-card .admin-inbox-sig-default::before {
    content: '';
    position: absolute;
    top: 0;
    left: 16px;
    right: 16px;
    height: 1px;
    background: rgba(227, 219, 204, 0.35);
}

.admin-inbox-sig-actions {
    justify-content: flex-end;
    gap: 12px;
}

.admin-inbox-sig-delete {
    margin-right: auto;
    padding: 0;
    font-family: inherit;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.5);
    background: none;
    border: none;
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.admin-inbox-sig-delete:hover {
    color: var(--cal-accent, #f2133c);
}

.admin-inbox-sig-list__empty {
    padding: 8px 0;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.45);
    list-style: none;
}

.admin-inbox-compose-body {
    min-height: 140px;
    resize: vertical;
}

.admin-inbox-sig-list {
    list-style: none;
    margin: 0 0 16px;
    padding: 0;
}

.admin-inbox-sig-list__item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    font-size: 13px;
}

.admin-inbox-sig-default {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
}

/* CRM lead email */
.crm-email-wrap {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 4px;
}

.crm-email-compose-card {
    flex: 0 0 auto;
    background: rgba(255, 255, 255, 0.02);
    padding-bottom: 4px;
}

.crm-email-compose-card__row,
.crm-email-compose-card__to {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 16px;
    position: relative;
}

.crm-email-compose-card__row .contact-input,
.crm-email-compose-card__row select.contact-input {
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 0;
}

.crm-email-compose-card__row select.contact-input {
    padding-right: 28px;
    background-position: right 0 center;
}

.crm-email-compose-card__row::after,
.crm-email-compose-card__to::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 16px;
    right: 16px;
    height: 1px;
    background: rgba(227, 219, 204, 0.35);
}

.crm-email-compose-card__row .crm-email-from,
.crm-email-compose-card__row .crm-email-template-tools {
    flex: 1 1 auto;
    min-width: 0;
}

.crm-email-template-tools {
    display: flex;
    align-items: center;
    gap: 8px;
}

.crm-email-template-tools .crm-email-template {
    flex: 1 1 auto;
    min-width: 0;
}

.crm-email-template-action.dk-btn {
    flex-shrink: 0;
    font-size: 0.75rem;
    font-weight: 400;
    color: rgba(232, 228, 220, 0.65);
    gap: 5px;
}

.crm-email-template-action.dk-btn .dk-btn__icon {
    width: 13px;
    height: 13px;
    color: var(--cal-accent, #f2133c);
    stroke: var(--cal-accent, #f2133c);
    transform: none;
}

.crm-email-template-action.dk-btn:hover {
    color: var(--cal-text, #e8e4dc);
}

.crm-email-template-action.dk-btn:hover .dk-btn__icon {
    transform: none;
}

.crm-email-compose-card__field {
    padding: 0 16px;
}

.crm-email-compose-card__field:not(.contact-field--message) {
    padding: 8px 16px;
}

.crm-email-compose-card__field:not(.contact-field--message) .contact-input,
.crm-email-compose-card__field:not(.contact-field--message) select.contact-input {
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 0;
}

.crm-email-compose-card__field:not(.contact-field--message) select.contact-input {
    padding-right: 28px;
    background-position: right 0 center;
}

.crm-email-compose-card__field.contact-field--message {
    padding-bottom: 0;
    padding-top: 8px;
}

.crm-email-compose-card__field.contact-field--message .contact-input {
    padding-top: 0;
    padding-bottom: 8px;
    padding-left: 0;
    padding-right: 0;
}

.crm-email-insert {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 14px;
    margin: 0 0 8px;
    padding: 0;
    min-height: 28px;
}

.crm-email-insert[hidden] {
    display: none !important;
}

.crm-email-insert .dk-btn.is-disabled,
.crm-email-insert .dk-btn:disabled {
    opacity: 0.35;
    cursor: not-allowed;
}

.crm-email-insert__hint {
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(232, 228, 220, 0.4);
}

.crm-email-compose-card__label {
    flex-shrink: 0;
    width: 72px;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.5);
}

.crm-email-compose-card__address {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 14px;
    color: var(--cal-accent, #f2133c);
    word-break: break-all;
}

.crm-detail-field--inline {
    padding: 0;
    border-radius: 0;
    cursor: text;
}

.crm-detail-field--inline .crm-detail-field__display {
    font-size: 14px;
    color: var(--cal-accent, #f2133c);
}

.crm-detail-field--inline.is-editing .crm-detail-field__input {
    padding: 0;
}

.crm-email-compose-card .crm-email-compose {
    min-height: 120px;
    resize: vertical;
}

#crm-tab-panel-email .crm-email-compose-card .contact-actions:not(.crm-email-actions) {
    padding-top: 0;
    padding-bottom: 0;
}

.crm-email-compose-card .crm-email-actions {
    padding: 14px 16px 16px;
}

.crm-email-from {
    width: 100%;
}

.crm-email-subject,
.crm-email-signature,
.crm-email-template {
    width: 100%;
}

.crm-email-compose {
    min-height: 88px;
    resize: vertical;
}

.crm-email-hint {
    margin: 0;
    font-size: 12px;
    line-height: 1.4;
    color: rgba(255, 255, 255, 0.5);
}

/* CRM email tab — AI assistant below message */
.crm-email-ai {
    margin: 0 16px 12px;
    padding: 12px 14px;
    border-radius: 10px;
    border: 1px solid rgba(242, 19, 60, 0.22);
    background: rgba(242, 19, 60, 0.08);
}

.crm-email-ai__compose {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 10px;
    border-radius: 8px;
    background: rgba(32, 30, 28, 0.38);
    border: 1px solid rgba(227, 219, 204, 0.12);
}

.crm-email-ai__head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 10px;
}

.crm-email-ai__title {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--cal-text, #e8e4dc);
}

.crm-email-ai__title-icon,
.crm-email-ai__title-icon svg {
    width: 16px;
    height: 16px;
    color: var(--cal-accent, #f2133c);
    stroke: var(--cal-accent, #f2133c);
}

.crm-email-ai__client {
    margin: 0 0 10px;
    font-size: 0.75rem;
    line-height: 1.4;
    color: rgba(232, 228, 220, 0.65);
}

.crm-email-ai__draft-label {
    margin: 0 0 6px;
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: rgba(232, 228, 220, 0.5);
}

.crm-email-ai__background-text {
    margin: 0;
    font-size: 0.78rem;
    line-height: 1.45;
    color: var(--cal-text, #e8e4dc);
    white-space: pre-wrap;
}

.crm-email-ai textarea.contact-input.crm-email-ai__prompt,
.crm-email-ai .crm-email-ai__prompt {
    width: 100%;
    min-height: 56px;
    max-height: 120px;
    resize: vertical;
    font-size: 0.8125rem;
    line-height: 1.45;
    padding: 10px 12px;
    border-radius: 8px;
    border: 1px solid rgba(227, 219, 204, 0.18);
    background-color: rgba(32, 30, 28, 0.72);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.crm-email-ai textarea.contact-input.crm-email-ai__prompt:focus,
.crm-email-ai textarea.contact-input.crm-email-ai__prompt:focus-visible,
.crm-email-ai .crm-email-ai__prompt:focus,
.crm-email-ai .crm-email-ai__prompt:focus-visible {
    border-color: rgba(227, 219, 204, 0.32);
    background-color: rgba(32, 30, 28, 0.82);
    outline: none;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.crm-email-ai__bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.crm-email-ai__generate {
    flex: 0 0 auto;
    min-width: 0;
    margin-left: auto;
    justify-content: flex-end;
    padding: 0;
    font-size: 0.8125rem;
}

.crm-email-ai select.contact-input.crm-email-ai__tone,
.crm-email-ai .crm-email-ai__tone {
    flex: 0 1 auto;
    min-width: 120px;
    max-width: 160px;
    width: auto;
    height: auto;
    padding: 0 28px 0 0;
    font-size: 0.8125rem;
    border: none;
    border-radius: 0;
    background-color: transparent;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23f2133c' stroke-width='2.25'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0 center;
    background-size: 12px;
    box-shadow: none;
    cursor: pointer;
}

.crm-email-ai__draft {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid rgba(242, 19, 60, 0.16);
}

.crm-email-ai__draft-subject {
    margin: 0 0 8px;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--cal-accent, #f2133c);
    word-break: break-word;
}

.crm-email-ai__draft-body {
    margin: 0 0 10px;
    padding: 10px 12px;
    border-radius: 8px;
    background: rgba(242, 19, 60, 0.06);
    border: 1px solid rgba(242, 19, 60, 0.12);
    font-family: inherit;
    font-size: 0.78rem;
    line-height: 1.5;
    color: var(--cal-text, #e8e4dc);
    white-space: pre-wrap;
    word-break: break-word;
    max-height: 160px;
    overflow-y: auto;
}

.crm-email-ai__draft-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.crm-email-ai__draft-use {
    padding: 6px 12px;
    font-size: 0.75rem;
}

.crm-email-ai__draft-secondary {
    appearance: none;
    font: inherit;
    font-size: 0.75rem;
    color: rgba(232, 228, 220, 0.65);
    background: transparent;
    border: none;
    cursor: pointer;
    text-decoration: underline;
    padding: 4px 0;
}

.crm-email-ai__draft-secondary:hover {
    color: var(--cal-text, #e8e4dc);
}

.crm-email-ai__msg {
    margin: 10px 0 0;
    min-height: 0;
}

.crm-email-ai__msg.contact-feedback--error {
    color: var(--cal-accent, #f2133c);
}

.crm-email-ai__msg.contact-feedback--success {
    color: rgba(140, 220, 160, 0.95);
}

.crm-email-signatures-btn {
    background: none;
    border: none;
    padding: 0;
    font-family: inherit;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.55);
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.crm-email-signatures-btn:hover {
    color: var(--secondary-color);
}

/* CRM lead history — vertical timeline */
.crm-history-wrap {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 4px;
    min-height: 120px;
}

.crm-history-hint {
    margin: 0;
    font-size: 12px;
    line-height: 1.45;
    color: rgba(255, 255, 255, 0.5);
}

.crm-history-empty {
    margin: 0;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.45);
}

.crm-history-timeline {
    max-height: min(56vh, 480px);
    overflow-y: auto;
    padding: 4px 2px 8px 0;
}

.crm-history-timeline__list {
    list-style: none;
    margin: 0;
    padding: 0 4px 0 0;
}

.crm-history-date {
    list-style: none;
    margin: 0;
    padding: 14px 0 8px 40px;
}

.crm-history-date:first-child {
    padding-top: 4px;
}

.crm-history-date__label {
    display: inline-block;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.42);
}

.crm-history-event {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr);
    gap: 0 14px;
    align-items: stretch;
    margin: 0;
    padding: 0 0 16px;
}

.crm-history-event:last-child {
    padding-bottom: 4px;
}

.crm-history-event__track {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    min-height: 100%;
}

.crm-history-event__dot {
    position: relative;
    z-index: 1;
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 2px solid rgba(242, 19, 60, 0.45);
    background: rgba(242, 19, 60, 0.14);
    color: var(--cal-accent, #f2133c);
    box-shadow: 0 0 0 4px rgba(0, 0, 0, 0.35);
}

.crm-history-event__dot svg {
    width: 14px;
    height: 14px;
    stroke: currentColor;
}

.crm-history-event__line {
    flex: 1 1 auto;
    width: 2px;
    min-height: 12px;
    margin-top: 4px;
    background: linear-gradient(
        180deg,
        rgba(242, 19, 60, 0.55) 0%,
        rgba(227, 219, 204, 0.22) 100%
    );
    border-radius: 1px;
}

.crm-history-event:last-child .crm-history-event__line {
    display: none;
}

.crm-history-event--email_sent .crm-history-event__dot,
.crm-history-event--email_received .crm-history-event__dot {
    border-color: rgba(242, 19, 60, 0.5);
    background: rgba(242, 19, 60, 0.16);
}

.crm-history-event--sms_sent .crm-history-event__dot,
.crm-history-event--sms_received .crm-history-event__dot {
    border-color: rgba(120, 180, 255, 0.45);
    background: rgba(80, 140, 220, 0.14);
    color: rgba(140, 190, 255, 0.95);
}

.crm-history-event--lead_created .crm-history-event__dot {
    border-color: rgba(120, 220, 160, 0.45);
    background: rgba(80, 180, 120, 0.14);
    color: rgba(140, 230, 170, 0.95);
}

.crm-history-event--notes_updated .crm-history-event__dot,
.crm-history-event--field_updated .crm-history-event__dot,
.crm-history-event--status_changed .crm-history-event__dot {
    border-color: rgba(227, 219, 204, 0.35);
    background: rgba(255, 255, 255, 0.06);
    color: rgba(227, 219, 204, 0.85);
}

.crm-history-event__card {
    min-width: 0;
    padding: 10px 12px;
    border-radius: 10px;
    border: 1px solid rgba(227, 219, 204, 0.16);
    background: rgba(255, 255, 255, 0.03);
}

.crm-history-event__head {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 6px 12px;
    margin-bottom: 6px;
}

.crm-history-event__title {
    margin: 0;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.3;
    color: var(--secondary-color);
}

.crm-history-event__when {
    flex-shrink: 0;
    font-size: 11px;
    line-height: 1.3;
    color: rgba(255, 255, 255, 0.42);
    white-space: nowrap;
}

.crm-history-event__detail {
    margin: 0;
    font-size: 13px;
    line-height: 1.45;
    color: rgba(255, 255, 255, 0.78);
    word-break: break-word;
}

.crm-history-event__preview {
    margin: 6px 0 0;
    font-size: 12px;
    line-height: 1.4;
    color: rgba(255, 255, 255, 0.48);
    white-space: pre-wrap;
    word-break: break-word;
}

.crm-email-track {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin-top: 8px;
}

.crm-email-track__chip {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    max-width: 100%;
    padding: 3px 8px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    border: 1px solid transparent;
    white-space: nowrap;
}

.crm-email-track__icon {
    width: 11px;
    height: 11px;
    flex-shrink: 0;
}

.crm-email-track__icon svg {
    width: 11px;
    height: 11px;
    stroke-width: 2.25;
}

.crm-email-track__chip--unopened {
    color: rgba(255, 255, 255, 0.58);
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.12);
}

.crm-email-track__chip--opened {
    color: #bfdbfe;
    background: rgba(59, 130, 246, 0.12);
    border-color: rgba(96, 165, 250, 0.35);
}

.crm-email-track__chip--read {
    color: #bbf7d0;
    background: rgba(34, 197, 94, 0.12);
    border-color: rgba(74, 222, 128, 0.35);
}

.crm-email-track__chip--clicked {
    color: #fecdd3;
    background: rgba(242, 19, 60, 0.12);
    border-color: rgba(242, 19, 60, 0.38);
}

.crm-email-track__chip--delivery-accepted {
    color: rgba(255, 255, 255, 0.62);
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.14);
}

.crm-email-track__chip--delivery-delivered {
    color: #bbf7d0;
    background: rgba(34, 197, 94, 0.14);
    border-color: rgba(74, 222, 128, 0.4);
}

.crm-email-track__chip--delivery-bounced {
    color: #fecaca;
    background: rgba(239, 68, 68, 0.14);
    border-color: rgba(248, 113, 113, 0.4);
}

.crm-email-track__chip--delivery-blocked {
    color: #fdba74;
    background: rgba(234, 88, 12, 0.14);
    border-color: rgba(251, 146, 60, 0.42);
}

.crm-email-track__chip--delivery-deferred {
    color: #fde68a;
    background: rgba(202, 138, 4, 0.14);
    border-color: rgba(250, 204, 21, 0.4);
}

.crm-email-track__chip--meta {
    color: rgba(255, 255, 255, 0.5);
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(255, 255, 255, 0.1);
    text-transform: none;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0;
}

.crm-history-event--loading {
    grid-template-columns: 1fr;
    padding: 12px 0;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.5);
}

.crm-history-event--loading .crm-history-event__track,
.crm-history-event--loading .crm-history-event__card {
    display: none;
}

@media (max-width: 900px) {
    .admin-inbox-layout {
        grid-template-columns: 1fr;
    }

    .admin-inbox-top__actions {
        margin-left: 0;
        justify-content: flex-start;
        width: 100%;
    }
}

@media (max-width: 768px) {
    .admin-app {
        --admin-page-padding-x: 20px;
        --admin-page-padding-y: 24px;
        --admin-nav-gap: 32px;
    }

    .admin-app__header {
        flex-wrap: wrap;
    }

    .admin-app__nav {
        order: 3;
        flex-basis: 100%;
        justify-content: flex-start;
        gap: 6px 14px;
    }

    .admin-nav-btn__label {
        font-size: 11px;
    }

    .admin-app__main {
        padding-top: var(--admin-nav-gap);
    }

    .admin-app__top--projects {
        flex-wrap: wrap;
        gap: 16px 20px;
    }

    .admin-projects-top__actions {
        width: 100%;
        justify-content: space-between;
    }

    .admin-projects-filters {
        width: 100%;
        justify-content: flex-start;
    }

    .projects-kanban {
        grid-template-columns: 1fr;
    }
}

/* —— Projects header: same row rhythm as CRM (title · gap) + View dropdown + Add */
.admin-app__top--projects {
    flex-wrap: nowrap;
    align-items: center;
    gap: 100px;
    width: 100%;
}

/* Inbox module — 2-panel layout */
.admin-app__top--inbox {
    flex-wrap: nowrap;
    align-items: center;
}

.admin-inbox-top__actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

.inbox-shell {
    display: grid;
    grid-template-columns: minmax(260px, 340px) minmax(0, 1fr);
    gap: 14px;
    width: 100%;
    min-height: 0;
}

.inbox-left,
.inbox-right {
    border: 1px solid var(--cal-border);
    border-radius: 12px;
    background: rgba(18, 18, 18, 0.35);
    min-height: 0;
}

.inbox-left {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.inbox-left__bar {
    padding: 12px;
    border-bottom: 1px solid rgba(227, 219, 204, 0.12);
    background: rgba(18, 18, 18, 0.65);
}

.inbox-search {
    width: 100%;
}

.inbox-thread-list {
    list-style: none;
    margin: 0;
    padding: 8px;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.inbox-thread {
    padding: 10px 12px;
    border-radius: 10px;
    border: 1px solid rgba(227, 219, 204, 0.12);
    background: rgba(0, 0, 0, 0.18);
    cursor: pointer;
    transition: background 0.12s ease, border-color 0.12s ease;
    outline: none;
}

.inbox-thread:hover {
    border-color: rgba(242, 19, 60, 0.35);
    background: rgba(242, 19, 60, 0.06);
}

.inbox-thread:focus-visible {
    outline: 2px solid rgba(242, 19, 60, 0.45);
    outline-offset: 2px;
}

.inbox-thread.is-active {
    border-color: rgba(100, 180, 255, 0.35);
    background: rgba(30, 45, 60, 0.22);
}

.inbox-thread__top {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: baseline;
}

.inbox-thread__subject {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--cal-text, #e8e4dc);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.inbox-thread__when {
    flex-shrink: 0;
    font-size: 0.72rem;
    color: rgba(232, 228, 220, 0.55);
}

.inbox-thread__bot {
    margin-top: 6px;
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: center;
}

.inbox-thread__who {
    font-size: 0.75rem;
    color: rgba(232, 228, 220, 0.65);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.inbox-thread__count {
    flex-shrink: 0;
    font-size: 0.72rem;
    font-weight: 700;
    color: rgba(232, 228, 220, 0.85);
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.12);
    padding: 2px 8px;
    border-radius: 999px;
}

.inbox-empty {
    margin: 0;
    padding: 10px 12px;
    font-size: 0.8125rem;
    color: rgba(232, 228, 220, 0.55);
}

.inbox-right {
    display: flex;
    flex-direction: column;
    padding: 12px;
    overflow: hidden;
}

.inbox-thread-head {
    margin-bottom: 10px;
}

.inbox-thread-title {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.01em;
}

.inbox-thread-sub {
    margin: 6px 0 0;
    font-size: 0.75rem;
    color: rgba(232, 228, 220, 0.55);
}

.inbox-timeline-wrap {
    flex: 1 1 auto;
    min-height: 0;
}

.inbox-timeline-wrap .crm-history-timeline__list {
    padding-right: 6px;
}

.inbox-msg-meta {
    display: grid;
    grid-template-columns: 1fr;
    gap: 4px;
    margin-bottom: 8px;
    font-size: 0.75rem;
    color: rgba(232, 228, 220, 0.75);
}

.inbox-msg-meta__k {
    display: inline-block;
    min-width: 40px;
    color: rgba(232, 228, 220, 0.5);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-size: 0.68rem;
    margin-right: 6px;
}

.inbox-msg-body {
    margin-top: 10px;
}

.inbox-msg-body__sum {
    cursor: pointer;
    font-size: 0.75rem;
    color: rgba(232, 228, 220, 0.7);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.inbox-msg-body__sum:hover {
    color: var(--cal-text, #e8e4dc);
}

.inbox-msg-body__html {
    margin-top: 10px;
    padding: 12px;
    border-radius: 10px;
    border: 1px solid rgba(227, 219, 204, 0.12);
    background: rgba(0, 0, 0, 0.25);
    overflow: auto;
    max-height: 42vh;
}

.inbox-msg-body__html a {
    color: var(--cal-accent, #f2133c);
}

@media (max-width: 980px) {
    .inbox-shell {
        grid-template-columns: 1fr;
    }
}

.admin-projects-top__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 20px;
}

.admin-projects-add {
    position: relative;
    flex-shrink: 0;
}

.admin-projects-add .admin-cta-add {
    gap: 6px;
}

.admin-cta-add__caret {
    width: 14px;
    height: 14px;
    color: var(--cal-accent);
    stroke: var(--cal-accent);
    flex-shrink: 0;
}

.admin-projects-add__menu {
    right: 0;
    left: auto;
    min-width: 196px;
}

.admin-projects-filters {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 16px;
}

.admin-projects-view {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

/* Project name filter: slightly wider for long titles */
.admin-projects-view__select--filter {
    min-width: 200px;
    max-width: min(100%, 300px);
}

/* Typography matches .admin-cta-add (Add): 12px / 1.3, weight 400, --secondary-color */
.admin-projects-view__select {
    width: auto;
    min-width: 140px;
    max-width: 100%;
    height: 26px;
    max-height: 26px;
    box-sizing: border-box;
    margin: 0;
    padding: 0 40px 0 10px;
    border-radius: 6px;
    font-family: inherit;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.3;
    color: var(--secondary-color);
    cursor: pointer;
    background-color: rgba(0, 0, 0, 0.35);
    border: 1px solid rgba(227, 219, 204, 0.2);
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23f2133c' stroke-width='2.25'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 12px;
}

.admin-projects-view__select:hover {
    border-color: rgba(227, 219, 204, 0.32);
}

.admin-projects-view__select:focus,
.admin-projects-view__select:focus-visible {
    outline: none;
    border-color: rgba(242, 19, 60, 0.5);
    box-shadow: 0 0 0 2px rgba(242, 19, 60, 0.2);
}

.admin-panel--projects .projects-view {
    margin-top: 4px;
}

.projects-kanban {
    --kanban-cols: 4;
    display: grid;
    grid-template-columns: repeat(var(--kanban-cols, 4), minmax(0, 1fr));
    gap: 12px;
    align-items: start;
    min-height: 200px;
}

.projects-kanban__col {
    border-radius: 12px;
    border: 1px solid rgba(227, 219, 204, 0.14);
    background: rgba(0, 0, 0, 0.18);
    min-height: 140px;
    padding: 10px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.projects-kanban__col--dragover {
    outline: 2px dashed rgba(242, 19, 60, 0.45);
    outline-offset: 2px;
    border-radius: 12px;
}

.projects-kanban__head {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    min-height: 24px;
    margin: 0 0 2px;
}

.projects-kanban__head .projects-kanban__title {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: var(--cal-muted);
    margin: 0;
    flex: 1 1 auto;
    min-width: 0;
}

.projects-kanban__title {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: var(--cal-muted);
    margin: 0 0 2px;
}

.projects-kanban-add-head {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    margin: 0;
    padding: 0;
    border: none;
    background: transparent;
    color: var(--cal-accent, var(--accent-color));
    cursor: pointer;
    border-radius: 6px;
    flex-shrink: 0;
    box-sizing: border-box;
}

.projects-kanban-add-head:hover {
    background: rgba(242, 19, 60, 0.12);
}

.projects-kanban-add-head:focus-visible {
    outline: 2px solid rgba(242, 19, 60, 0.45);
    outline-offset: 1px;
}

.projects-kanban-add-head__icon {
    width: 18px;
    height: 18px;
    color: inherit;
    stroke: currentColor;
}

.projects-kanban__col--new {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    min-height: 140px;
    border-style: dashed;
    border-color: rgba(227, 219, 204, 0.28);
    background: rgba(0, 0, 0, 0.1);
    padding: 10px;
}

.projects-kanban__col--new .projects-kanban-new-section {
    width: 100%;
    box-sizing: border-box;
    justify-content: center;
    font-size: 0.8125rem;
    line-height: 1.3;
    margin: 0;
}

.projects-kanban__list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1 1 auto;
    min-height: 0;
}

.projects-kanban__project-label {
    grid-column: 1 / -1;
    font-size: 0.82rem;
    color: var(--cal-muted);
    margin: 0 0 2px;
}

.projects-kanban-card {
    border-radius: 10px;
    background: rgba(227, 219, 204, 0.07);
    border: 1px solid rgba(227, 219, 204, 0.16);
    padding: 10px 12px;
    cursor: grab;
    text-align: left;
    font: inherit;
    color: inherit;
    width: 100%;
    box-sizing: border-box;
}

.projects-kanban-card:active {
    cursor: grabbing;
}

.projects-kanban-card__title {
    font-weight: 600;
    font-size: 0.9rem;
    margin: 0 0 4px;
    line-height: 1.25;
}

.projects-kanban-card__assign {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--cal-accent, var(--admin-accent, #f2133c));
    margin: 0;
    line-height: 1.2;
}

.projects-kanban-card__desc {
    font-size: 0.78rem;
    color: rgba(227, 219, 204, 0.78);
    margin: 0 0 6px;
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.projects-kanban-card__client {
    font-size: 0.8125rem;
    color: var(--cal-muted);
    margin: 0 0 6px;
    line-height: 1.3;
}

.projects-kanban-card__row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 10px;
    margin-top: 2px;
}

.projects-kanban-card__due {
    font-size: 0.72rem;
    color: rgba(227, 219, 204, 0.62);
    flex: 1 1 auto;
    min-width: 0;
    text-align: right;
}

.projects-kanban-card__due:empty {
    display: none;
}

.projects-kanban-card__meta {
    font-size: 0.75rem;
    color: rgba(227, 219, 204, 0.62);
}

/* Project status chips (Active / Inactive / Terminated / Completed) — same pill language as CRM */
.project-status-chip {
    display: inline-block;
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.3;
    padding: 2px 9px;
    border-radius: 999px;
    color: #f2ebe0;
    background: rgba(227, 219, 204, 0.42);
    border: 1px solid rgba(227, 219, 204, 0.55);
}

.project-status-chip--active {
    color: #ffc9d2;
    background: rgba(242, 19, 60, 0.42);
    border-color: rgba(242, 19, 60, 0.65);
}

.project-status-chip--completed {
    color: #c8f0d0;
    background: rgba(46, 160, 67, 0.42);
    border-color: rgba(46, 160, 67, 0.65);
}

.project-status-chip--inactive,
.project-status-chip--terminated {
    opacity: 0.95;
    color: #e8e0d4;
    background: rgba(227, 219, 204, 0.28);
    border-color: rgba(227, 219, 204, 0.4);
}

.project-status-chip--custom {
    color: #ffe0e5;
    background: rgba(242, 19, 60, 0.38);
    border-color: rgba(242, 19, 60, 0.58);
}

.project-priority-chip {
    display: inline-block;
    font-size: 0.68rem;
    font-weight: 700;
    line-height: 1.2;
    padding: 2px 8px;
    border-radius: 6px;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #fff4e8;
    border: 1px solid transparent;
}

.project-priority-chip--critical {
    color: #ffd0d8;
    background: rgba(242, 19, 60, 0.55);
    border-color: rgba(242, 19, 60, 0.75);
}

.project-priority-chip--high {
    color: #ffe4c2;
    background: rgba(255, 159, 67, 0.55);
    border-color: rgba(255, 159, 67, 0.75);
}

.project-priority-chip--medium {
    color: #f5efe4;
    background: rgba(227, 219, 204, 0.4);
    border-color: rgba(227, 219, 204, 0.55);
}

.project-priority-chip--low {
    color: #e8e8ee;
    background: rgba(150, 150, 165, 0.45);
    border-color: rgba(180, 180, 195, 0.6);
}

/* Project card add / detail — scrollable fields area + compact stack */
.admin-project-overlay .contact-panel > .crm-slideout-header,
.admin-project-overlay .contact-panel > .contact-back {
    flex-shrink: 0;
}

.admin-project-overlay .contact-panel__main--project-form {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    padding-top: 10px;
    gap: 8px;
}

.admin-project-overlay .contact-panel__main--project-form > .contact-title,
.admin-project-overlay .contact-panel__main--project-form > .contact-feedback--compact {
    flex-shrink: 0;
}

.admin-project-overlay .contact-form--project-card {
    margin: 0;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    gap: 0;
}

.admin-project-overlay .contact-card--project-card {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 14px 16px;
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
}

.admin-project-overlay .contact-card--project-card .contact-field {
    margin-bottom: 0;
}

.admin-project-overlay .contact-card--project-card .contact-textarea {
    min-height: 72px;
    padding: 10px 12px;
    line-height: 1.4;
}

#project-add-description,
#project-detail-description {
    overflow-y: hidden;
    resize: none;
}

.admin-project-overlay .contact-card--project-card input[type='date'].contact-input {
    min-height: 40px;
    padding: 0 12px;
    color-scheme: dark;
    color: var(--secondary-color);
}

.admin-project-overlay .contact-card--project-card select.contact-input {
    min-height: 40px;
    padding-top: 0;
    padding-bottom: 0;
    border-radius: 8px;
    color-scheme: dark;
}

.admin-project-overlay .contact-form--project-card .contact-actions {
    flex-shrink: 0;
    margin-top: 12px;
}

.admin-project-overlay .contact-actions--split {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 14px;
}

.admin-project-overlay .dk-btn--ghost {
    background: transparent;
    border: 1px solid rgba(227, 219, 204, 0.25);
    color: rgba(227, 219, 204, 0.85);
}

.admin-project-overlay .dk-btn--ghost:hover {
    border-color: rgba(242, 19, 60, 0.45);
    color: var(--cal-text);
}

.admin-project-overlay .contact-form--project-card > .contact-feedback {
    flex-shrink: 0;
    margin-top: 8px;
}

.doc-share-pill {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    color: rgba(227, 219, 204, 0.62);
}

.doc-share-pill--public {
    background: rgba(100, 180, 255, 0.16);
    color: rgba(160, 210, 255, 0.95);
}

.admin-notifications-wrap {
    position: relative;
    flex-shrink: 0;
}

.admin-notifications-trigger {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.04);
    color: inherit;
    cursor: pointer;
}

.admin-notifications-trigger__icon {
    width: 18px;
    height: 18px;
}

.admin-notifications-trigger__badge {
    position: absolute;
    top: -4px;
    right: -4px;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    border-radius: 999px;
    background: var(--cal-accent, #f2133c);
    color: #fff;
    font-size: 0.625rem;
    font-weight: 700;
    line-height: 16px;
    text-align: center;
}

.admin-notifications-dropdown {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    z-index: 120;
    width: min(360px, calc(100vw - 24px));
    max-height: min(420px, 70vh);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: #1a1a1a;
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.55);
}

.admin-notifications-dropdown[hidden] {
    display: none !important;
}

.admin-notifications-dropdown__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 10px 12px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    font-size: 0.8125rem;
    font-weight: 600;
}

.admin-notifications-dropdown__read-all {
    border: none;
    background: none;
    color: rgba(160, 210, 255, 0.9);
    font-size: 0.75rem;
    cursor: pointer;
    padding: 4px 6px;
}

.admin-notifications-dropdown__list {
    list-style: none;
    margin: 0;
    padding: 6px 0;
    overflow-y: auto;
}

.admin-notifications-dropdown__item {
    padding: 10px 12px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    cursor: pointer;
}

.admin-notifications-dropdown__item:hover {
    background: rgba(255, 255, 255, 0.04);
}

.admin-notifications-dropdown__item--unread {
    border-left: 3px solid var(--cal-accent, #f2133c);
}

.admin-notifications-dropdown__type {
    display: block;
    font-size: 0.6875rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: rgba(227, 219, 204, 0.45);
    margin-bottom: 2px;
}

.admin-notifications-dropdown__title {
    display: block;
    font-size: 0.8125rem;
    margin-bottom: 4px;
}

.admin-notifications-dropdown__body {
    margin: 0 0 4px;
    font-size: 0.75rem;
    color: rgba(227, 219, 204, 0.62);
    line-height: 1.4;
}

.admin-notifications-dropdown__time {
    font-size: 0.6875rem;
    color: rgba(227, 219, 204, 0.4);
}

.admin-notifications-dropdown__empty {
    padding: 16px 12px;
    font-size: 0.8125rem;
    color: rgba(227, 219, 204, 0.5);
}

.admin-profile-tab[hidden] {
    display: none !important;
}

#admin-me-email[readonly] {
    opacity: 0.72;
    cursor: default;
}

/* Users / org management */
.admin-org__subtitle {
    margin: 0;
    font-size: 0.8125rem;
    color: rgba(232, 228, 220, 0.55);
}

.admin-org {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) minmax(180px, 1fr) minmax(320px, 2.2fr);
    gap: 16px;
    margin-top: 12px;
    align-items: start;
}

@media (max-width: 960px) {
    .admin-org {
        grid-template-columns: 1fr;
    }
}

.admin-org__col {
    min-width: 0;
    padding: 12px;
    border-radius: 12px;
    border: 1px solid rgba(227, 219, 204, 0.12);
    background: rgba(255, 255, 255, 0.03);
}

.admin-org__col-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 10px;
}

.admin-org__col-head h3 {
    margin: 0;
    font-size: 0.875rem;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.85);
}

.admin-org__hint,
.admin-org__empty {
    margin: 0;
    padding: 8px 4px;
    font-size: 0.8125rem;
    color: rgba(232, 228, 220, 0.45);
    list-style: none;
}

.admin-org__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
    max-height: 420px;
    overflow-y: auto;
}

.admin-org__item-btn,
.admin-org__item-row {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    padding: 10px 12px;
    border-radius: 10px;
    border: 1px solid transparent;
    background: rgba(255, 255, 255, 0.04);
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.admin-org__item-row {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    cursor: default;
}

.admin-org__item-btn span,
.admin-org__item-row span {
    font-size: 0.75rem;
    color: rgba(232, 228, 220, 0.5);
}

.admin-org__item.is-selected .admin-org__item-btn,
.admin-org__item-btn:hover {
    border-color: rgba(242, 19, 60, 0.35);
    background: rgba(242, 19, 60, 0.08);
}

.admin-org__link-btn {
    border: none;
    background: none;
    color: var(--cal-accent, #f2133c);
    font: inherit;
    font-size: 0.75rem;
    cursor: pointer;
    padding: 0;
}

.admin-org__form {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid rgba(227, 219, 204, 0.1);
}

.admin-org__form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

@media (max-width: 720px) {
    .admin-org__form-grid {
        grid-template-columns: 1fr;
    }
}

.admin-org__table {
    min-width: 640px;
}

/* ---- Internal team chat (Ai-style: thread + Project → Channel dropdown) ---- */
.admin-panel.admin-panel--ichat:not([hidden]) {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    position: relative;
    padding: 0;
    display: flex;
    flex-direction: column;
}

.ichat-output {
    box-sizing: border-box;
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 16px var(--admin-page-padding-x, 20px) calc(32px + 72px + 100px);
    font-size: 0.9375rem;
    line-height: 1.55;
    color: var(--cal-text, #e3dbcc);
}

.ichat-empty {
    margin: min(18vh, 120px) auto 0;
    width: 100%;
    max-width: min(920px, 100%);
    text-align: center;
    color: rgba(227, 219, 204, 0.55);
}

.ichat-empty p {
    margin: 0 0 8px;
}

.ichat-empty strong {
    color: rgba(227, 219, 204, 0.85);
    font-weight: 600;
}

.ichat-empty__hint {
    font-size: 0.875rem;
    color: rgba(227, 219, 204, 0.4);
}

.ichat-block {
    box-sizing: border-box;
    width: 100%;
    max-width: min(920px, 100%);
    margin: 0 auto 1.35rem;
    align-self: center;
}

.ichat-block--grouped {
    margin-top: -0.85rem;
    margin-bottom: 1rem;
}

.ichat-block__row {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 10px;
}

.ichat-block__avatar,
.ichat-block__avatar-spacer {
    flex: 0 0 auto;
    margin-top: 2px;
}

.ichat-block__avatar-spacer {
    width: 22px;
    height: 22px;
}

.ichat-block__main {
    min-width: 0;
    flex: 1 1 auto;
}

.ichat-block__meta {
    display: flex;
    align-items: baseline;
    gap: 10px;
    margin-bottom: 6px;
}

.ichat-block__meta strong {
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: var(--admin-ai-user-accent, #c9b896);
}

.ichat-block__meta time {
    font-size: 0.72rem;
    color: rgba(227, 219, 204, 0.4);
}

.ichat-block__body {
    box-sizing: border-box;
    width: fit-content;
    max-width: 100%;
    white-space: pre-wrap;
    word-break: break-word;
    padding: 12px 16px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(227, 219, 204, 0.08);
    color: var(--cal-text, #e3dbcc);
}

.ichat-toast {
    position: absolute;
    left: 50%;
    bottom: calc(88px + env(safe-area-inset-bottom, 0px));
    transform: translateX(-50%);
    z-index: 4;
    margin: 0;
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(20, 18, 16, 0.92);
    border: 1px solid rgba(227, 219, 204, 0.12);
    color: rgba(227, 219, 204, 0.9);
    font-size: 0.8125rem;
    pointer-events: none;
}

.ichat-toast--error {
    border-color: rgba(242, 19, 60, 0.35);
    color: #ffb4c0;
}

.ichat-toast[hidden] {
    display: none !important;
}

.ichat-bottom-dock {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 3;
    padding: 0 var(--admin-page-padding-x, 20px) calc(18px + env(safe-area-inset-bottom, 0px));
    pointer-events: none;
    background: linear-gradient(to top, rgba(6, 6, 6, 0.95) 40%, rgba(6, 6, 6, 0));
}

.ichat-bottom-dock > * {
    pointer-events: auto;
}

.ichat-compose {
    width: 100%;
    max-width: min(920px, 100%);
    margin: 0 auto;
}

.ichat-channel-select {
    flex: 1 1 auto;
    min-width: 8rem;
    max-width: 18rem;
}

.ichat-ref-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 10px;
    max-width: min(920px, 100%);
}

.ichat-ref-chips[hidden] {
    display: none !important;
}

.ichat-ref-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    max-width: 100%;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(227, 219, 204, 0.12);
    font-size: 0.75rem;
    color: rgba(227, 219, 204, 0.85);
}

.ichat-ref-chip__type {
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--cal-accent, #f2133c);
    font-weight: 600;
    font-size: 0.65rem;
}

.ichat-ref-chip__title {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 10rem;
}

.ichat-ref-chip__sub {
    color: rgba(227, 219, 204, 0.45);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 8rem;
}

.ichat-ref-chip__remove {
    border: 0;
    background: transparent;
    color: rgba(227, 219, 204, 0.5);
    cursor: pointer;
    font-size: 1rem;
    line-height: 1;
    padding: 0 2px;
}

.ichat-ref-chip__remove:hover {
    color: #fff;
}

.ichat-mention {
    position: relative;
    z-index: 5;
    margin: 0 0 10px;
    max-width: min(920px, 100%);
    border-radius: 14px;
    background: rgba(18, 16, 14, 0.96);
    border: 1px solid rgba(227, 219, 204, 0.12);
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45);
    overflow: hidden;
}

.ichat-mention[hidden] {
    display: none !important;
}

.ichat-mention__hint {
    margin: 0;
    padding: 10px 14px 6px;
    font-size: 0.7rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(227, 219, 204, 0.4);
}

.ichat-mention__list {
    list-style: none;
    margin: 0;
    padding: 4px 0 8px;
    max-height: 240px;
    overflow-y: auto;
}

.ichat-mention__item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 14px;
    cursor: pointer;
}

.ichat-mention__item:hover,
.ichat-mention__item.is-active {
    background: rgba(242, 19, 60, 0.1);
}

.ichat-mention__type {
    flex: 0 0 auto;
    margin-top: 2px;
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--cal-accent, #f2133c);
}

.ichat-mention__main {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.ichat-mention__title {
    font-size: 0.875rem;
    color: var(--cal-text, #e3dbcc);
}

.ichat-mention__sub {
    font-size: 0.75rem;
    color: rgba(227, 219, 204, 0.45);
}

.ichat-ref-cards {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 10px;
    max-width: 100%;
}

.ichat-ref-card {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 10px 12px;
    border-radius: 10px;
    background: rgba(242, 19, 60, 0.08);
    border: 1px solid rgba(242, 19, 60, 0.18);
    color: inherit;
    text-decoration: none;
}

a.ichat-ref-card:hover {
    border-color: rgba(242, 19, 60, 0.4);
}

.ichat-ref-card__type {
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--cal-accent, #f2133c);
}

.ichat-ref-card__title {
    font-size: 0.875rem;
    color: var(--cal-text, #e3dbcc);
}

.ichat-ref-card__sub {
    font-size: 0.75rem;
    color: rgba(227, 219, 204, 0.5);
}



/* Campaigns */
.admin-panel--campaigns {
  gap: 0.75rem;
}

.admin-app__top--campaigns-detail {
  gap: 0.75rem;
}

.campaigns-name-btn {
  appearance: none;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-weight: 600;
  padding: 0;
  cursor: pointer;
  text-align: left;
}

.campaigns-name-btn:hover {
  color: var(--cal-accent, #f2133c);
}

.campaigns-pills,
.campaigns-detail-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  align-items: center;
}

.campaigns-pill {
  display: inline-flex;
  align-items: center;
  padding: 0.15rem 0.45rem;
  border-radius: 0.35rem;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  background: rgba(255, 255, 255, 0.06);
  color: rgba(227, 219, 204, 0.75);
}

.campaigns-pill--linkedin {
  color: #7eb6ff;
}

.campaigns-pill--instagram {
  color: #f5a3c7;
}

.campaigns-pill--x {
  color: rgba(227, 219, 204, 0.9);
}

.campaigns-status {
  text-transform: capitalize;
  font-size: 0.8rem;
  color: rgba(227, 219, 204, 0.65);
}

.campaigns-status--active {
  color: #8fd49a;
}

.campaigns-status--draft {
  color: rgba(227, 219, 204, 0.55);
}

.campaigns-detail-goal {
  margin: 0 0 0.75rem;
  white-space: pre-wrap;
  color: rgba(227, 219, 204, 0.7);
  font-size: 0.9rem;
  line-height: 1.45;
  max-width: 52rem;
}

.campaigns-platform-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-bottom: 0.85rem;
}

.campaigns-filter-btn {
  appearance: none;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: transparent;
  color: rgba(227, 219, 204, 0.7);
  border-radius: 0.45rem;
  padding: 0.35rem 0.7rem;
  font: inherit;
  font-size: 0.8rem;
  cursor: pointer;
}

.campaigns-filter-btn.is-active,
.campaigns-filter-btn:hover {
  border-color: rgba(242, 19, 60, 0.45);
  color: var(--cal-text, #e3dbcc);
}

.campaigns-posts {
  display: grid;
  gap: 0.85rem;
  padding-bottom: 2rem;
}

.campaigns-post {
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 0.65rem;
  padding: 0.85rem 1rem;
  background: rgba(0, 0, 0, 0.2);
}

.campaigns-post__head {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
  margin-bottom: 0.65rem;
}

.campaigns-post__idea {
  flex: 1 1 10rem;
  font-weight: 600;
  color: var(--cal-text, #e3dbcc);
}

.campaigns-post__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  margin-left: auto;
}

.campaigns-post__caption,
.campaigns-post__hashtags {
  width: 100%;
  box-sizing: border-box;
  margin: 0 0 0.5rem;
  padding: 0.65rem 0.75rem;
  border-radius: 0.45rem;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(0, 0, 0, 0.35);
  color: var(--cal-text, #e3dbcc);
  font: inherit;
  line-height: 1.45;
  resize: vertical;
}

.campaigns-post__foot {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.campaigns-post__status {
  font-size: 0.75rem;
  text-transform: capitalize;
  color: rgba(227, 219, 204, 0.5);
}

.campaigns-empty {
  color: rgba(227, 219, 204, 0.55);
  margin: 1rem 0;
}

#campaigns-add-overlay .contact-card {
  overflow: hidden;
}

#campaigns-add-overlay .contact-field textarea.contact-input {
  min-height: 4.5rem;
  line-height: 1.45;
  resize: vertical;
}

.campaigns-platforms-field {
  display: block;
}

.campaigns-platforms-fieldset {
  border: 0;
  margin: 0;
  padding: 14px 16px 16px;
  min-width: 0;
}

.campaigns-platforms-legend {
  float: left;
  width: 100%;
  padding: 0;
  margin: 0 0 10px;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(227, 219, 204, 0.45);
}

.campaigns-platforms-options {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  clear: both;
}

.campaigns-check {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.2;
  color: rgba(227, 219, 204, 0.85);
  cursor: pointer;
}

.campaigns-check .contact-consent__checkbox {
  margin-top: 0;
  accent-color: #f2133c;
}

.campaigns-check:hover {
  color: var(--cal-text, #e3dbcc);
}

/* Digiknack Meetings — same full-bleed table wrap as CRM; detail below when open */
.admin-panel--meetings .admin-table-wrap {
  width: 100%;
}

.meetings-detail__invitees {
  margin-top: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: flex-start;
}

.meetings-detail__section-label {
  margin: 0;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(227, 219, 204, 0.55);
}

.meetings-detail__invitees-field {
  width: 100%;
  border: 1px solid rgba(227, 219, 204, 0.35);
  border-radius: 12px;
  overflow: hidden;
}

.meetings-detail__invitees-field .contact-input {
  min-height: 96px;
}

.meetings-detail__invitees-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  margin-top: 2px;
}

.meetings-detail__team {
  margin-top: 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: stretch;
  width: 100%;
}

.meetings-detail__team-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 12px;
  align-items: center;
  width: 100%;
}

.meetings-detail__team-row .contact-input {
  flex: 1 1 12rem;
  min-width: 0;
}

.meetings-detail__team-hint {
  margin: 0;
  font-size: 0.78rem;
  color: rgba(227, 219, 204, 0.5);
}

.meetings-transcript-view {
  margin: 0;
  width: 100%;
  max-height: 420px;
  overflow: auto;
  padding: 4px 0 8px;
  font-size: 0.9rem;
  font-weight: 300;
  line-height: 1.55;
  color: rgba(227, 219, 204, 0.9);
}

.meetings-transcript-view__line {
  margin: 0 0 12px;
}

.meetings-transcript-view__line strong {
  font-weight: 500;
  color: var(--secondary-color, #e3dbcc);
}

.meetings-transcript-view__line span {
  margin-left: 8px;
  font-size: 0.75rem;
  color: rgba(227, 219, 204, 0.45);
}

.meetings-detail-tabpanels {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  display: flex;
  flex-direction: column;
}

.meetings-detail-tabpanel {
  display: none;
}

.meetings-detail-tabpanel.is-active {
  display: block;
}

#meet-tab-panel-details.is-active {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
}

.meetings-detail__transcript-meta {
  margin: 10px 0 0;
  font-size: 13px;
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.55);
}

.meetings-detail__transcript-meta.is-empty {
  color: rgba(242, 19, 60, 0.85);
}

.meetings-invitees {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.meetings-invitees__trigger {
  appearance: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  color: inherit;
  font: inherit;
}

.meetings-invitees__chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: 1px solid rgba(227, 219, 204, 0.28);
  background: rgba(32, 32, 32, 0.95);
  font-size: 0.65rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: #e3dbcc;
}

.meetings-invitees__chip + .meetings-invitees__chip {
  margin-left: -6px;
}

.meetings-invitees__more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 26px;
  height: 26px;
  padding: 0 7px;
  margin-left: 2px;
  border-radius: 999px;
  border: 1px solid rgba(242, 19, 60, 0.35);
  background: rgba(242, 19, 60, 0.12);
  font-size: 0.7rem;
  font-weight: 500;
  color: #e3dbcc;
}

.meetings-invitees__menu {
  min-width: 200px;
  max-width: 280px;
  max-height: 240px;
  overflow: auto;
  padding: 6px 0;
}

.meetings-invitees__item {
  padding: 8px 14px;
  font-size: 0.82rem;
  line-height: 1.35;
  color: rgba(227, 219, 204, 0.88);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.admin-panel--meetings .admin-table {
  min-width: 820px;
}

#meet-tab-panel-details .crm-lead-detail {
  grid-template-columns: 8.5rem minmax(0, 1fr);
  margin: 0;
  gap: 6px 16px;
}

#meet-tab-panel-details .crm-lead-detail--tab {
  margin-bottom: 0;
}

#meet-tab-panel-details .crm-lead-detail dt {
  white-space: nowrap;
}

#meet-tab-panel-details .crm-detail-field--readonly {
  cursor: default;
}

@media (hover: hover) {
  #meet-tab-panel-details .crm-detail-field--readonly:hover:not(.is-editing) {
    background: transparent;
    box-shadow: none;
    cursor: default;
  }
}

.meetings-detail-form {
  display: flex;
  flex-direction: column;
  gap: 0;
  flex: 1 1 auto;
  min-height: 0;
}

.meetings-detail-form .cal-slideout-hint,
#meetings-detail-overlay .cal-slideout-hint {
  margin-bottom: 16px;
}

.meetings-detail__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 12px 18px;
  width: 100%;
  margin-top: auto;
  margin-left: auto;
  padding-top: 16px;
  flex-shrink: 0;
}

.meetings-detail__actions .dk-btn {
  text-decoration: none;
}

.meetings-detail__agents {
  margin-top: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: flex-start;
}

.meetings-detail__agents .dk-btn {
  padding: 0;
}

.meetings-detail__agents-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 22px;
  align-items: center;
}

.meetings-agent-out {
  margin: 0;
  width: 100%;
  max-height: 420px;
  overflow: auto;
  padding: 16px 18px 18px;
  border-radius: 12px;
  border: 1px solid rgba(227, 219, 204, 0.35);
  background: transparent;
  font-family: inherit;
  font-size: 0.9rem;
  font-weight: 300;
  line-height: 1.55;
  color: rgba(227, 219, 204, 0.9);
  box-sizing: border-box;
}

.meetings-agent-out__empty,
.meetings-agent-out__status {
  margin: 0;
  color: rgba(227, 219, 204, 0.62);
}

.meetings-agent-out__lede {
  margin: 0 0 14px;
}

.meetings-agent-out__heading {
  margin: 16px 0 6px;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(227, 219, 204, 0.5);
}

.meetings-agent-out__heading:first-child {
  margin-top: 0;
}

.meetings-agent-out__list {
  margin: 0;
  padding: 0 0 0 1.1em;
}

.meetings-agent-out__list li + li {
  margin-top: 4px;
}

.meetings-agent-out__meta {
  margin: 16px 0 0;
  font-size: 0.75rem;
  color: rgba(227, 219, 204, 0.45);
}

#meetings-detail-overlay .contact-panel__main {
  padding-top: 0;
  gap: 0;
  display: flex;
  flex-direction: column;
  min-height: 0;
  flex: 1 1 auto;
}

#meetings-detail-overlay .contact-panel__main:has(#meet-tab-panel-details.is-active) {
  overflow: hidden;
}

#meetings-detail-overlay .contact-title {
  margin: 0;
}

#meetings-detail-overlay .crm-lead-tabs {
  margin-top: 8px;
}

#meetings-detail-overlay .meetings-detail-tabpanels,
#meetings-detail-overlay .crm-lead-tabpanels {
  padding-top: 12px;
  flex: 1 1 auto;
  min-height: 0;
}

#meetings-detail-overlay .meetings-detail__actions.contact-actions {
  margin-top: auto;
  margin-left: auto;
  justify-content: flex-end;
  width: 100%;
  padding: 16px 0 4px;
}

#meetings-detail-overlay .meetings-detail__actions.contact-actions::before {
  content: none;
}

#meetings-add-when,
#meetings-detail-when {
  color-scheme: dark;
}

#meetings-detail-overlay .contact-panel {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding-top: 16px;
  padding-bottom: 16px;
}

.meetings-code {
  font-size: 0.78rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  color: rgba(227, 219, 204, 0.72);
}

.meetings-status {
  text-transform: capitalize;
  color: rgba(227, 219, 204, 0.72);
}

.meetings-status--live {
  color: #8fd49a;
}

.meetings-status--ended {
  color: rgba(227, 219, 204, 0.45);
}

.admin-panel--meetings .admin-table__actions {
  display: flex;
  justify-content: flex-end;
  white-space: nowrap;
}

.admin-panel--meetings .crm-row-menu__item,
#meetings-detail-actions-menu .crm-row-menu__item {
  text-decoration: none;
}

/* —— Communication → Recording —— */
.admin-panel--recording .admin-app__top {
  flex-shrink: 0;
  align-items: center;
}

.admin-app__top--recording-studio {
  gap: 12px;
}

.admin-app__top--recording-studio .admin-app__module-title {
  flex: 1 1 auto;
  min-width: 0;
}

#recordings-list-view {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
}

.admin-panel--recording.is-playing #recordings-list-view {
  display: none;
}

.admin-recording-play:not([hidden]) {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  gap: 12px;
}

.admin-recording-play__stage {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  border: 1px solid rgba(227, 219, 204, 0.12);
  background: #0a0a0a;
  padding: 12px;
}

.admin-recording-play__video {
  width: 100%;
  flex: 1 1 auto;
  min-height: 240px;
  max-height: 100%;
  object-fit: contain;
  background: #000;
}

.admin-panel--recording .admin-table-wrap {
  width: 100%;
}

.admin-recording__top-meta {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-left: auto;
  font-size: 0.85rem;
  color: rgba(227, 219, 204, 0.55);
}

.admin-recording__timer {
  font-variant-numeric: tabular-nums;
  color: rgba(227, 219, 204, 0.85);
  min-width: 3.2em;
  text-align: right;
}

.admin-panel--recording.is-recording .admin-recording__state,
.admin-panel--recording.is-recording .admin-recording__timer {
  color: var(--accent-color, #f2133c);
}

.admin-recording {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 280px);
  gap: 16px;
  flex: 1 1 auto;
  min-height: 0;
  margin-top: 8px;
}

.admin-panel--recording.is-studio .admin-recording {
  min-height: 0;
}

.admin-recording__stage {
  position: relative;
  min-height: 0;
  border: 1px solid rgba(227, 219, 204, 0.12);
  background:
    radial-gradient(ellipse 70% 55% at 50% 40%, rgba(242, 19, 60, 0.08), transparent 70%),
    #0a0a0a;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.admin-recording__video {
  display: block;
  width: 100%;
  height: 100%;
  max-height: 100%;
  object-fit: contain;
  background: #000;
}

.admin-recording__video[hidden] {
  display: none;
}

.admin-recording__studio {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 18px;
  padding: 32px;
  text-align: center;
  pointer-events: none;
}

.admin-recording__studio[hidden] {
  display: none;
}

.admin-recording__rec {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px;
  border: 1px solid rgba(242, 19, 60, 0.45);
  background: rgba(242, 19, 60, 0.1);
  color: var(--accent-color, #f2133c);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.14em;
}

.admin-recording__rec-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--accent-color, #f2133c);
  box-shadow: 0 0 0 0 rgba(242, 19, 60, 0.55);
  animation: adminRecordingPulse 1.4s ease-out infinite;
}

.admin-panel--recording.is-paused .admin-recording__rec-dot {
  animation: none;
  opacity: 0.45;
}

.admin-panel--recording.is-paused .admin-recording__rec {
  color: rgba(227, 219, 204, 0.7);
  border-color: rgba(227, 219, 204, 0.25);
  background: rgba(227, 219, 204, 0.06);
}

@keyframes adminRecordingPulse {
  0% {
    box-shadow: 0 0 0 0 rgba(242, 19, 60, 0.55);
  }
  70% {
    box-shadow: 0 0 0 12px rgba(242, 19, 60, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(242, 19, 60, 0);
  }
}

.admin-recording__studio-timer {
  margin: 0;
  font-size: clamp(2.4rem, 6vw, 3.6rem);
  font-weight: 300;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.04em;
  color: rgba(227, 219, 204, 0.95);
  line-height: 1;
}

.admin-panel--recording.is-recording .admin-recording__studio-timer {
  color: var(--accent-color, #f2133c);
}

.admin-recording__studio-hint {
  margin: 0;
  max-width: 28rem;
  font-size: 0.85rem;
  line-height: 1.45;
  color: rgba(227, 219, 204, 0.45);
}

.admin-recording__placeholder {
  position: absolute;
  inset: 0;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px 32px;
  text-align: center;
  font-size: 0.9rem;
  line-height: 1.45;
  color: rgba(227, 219, 204, 0.45);
  pointer-events: none;
}

.admin-recording__placeholder[hidden] {
  display: none;
}

.admin-recording__side {
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-height: 0;
  padding: 4px 0;
}

.admin-recording__opts {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.admin-recording__check {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.9rem;
  color: rgba(227, 219, 204, 0.75);
  cursor: pointer;
  user-select: none;
}

.admin-recording__check input {
  accent-color: var(--accent-color, #f2133c);
  width: 16px;
  height: 16px;
}

.admin-recording__field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.admin-recording__field-label {
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(227, 219, 204, 0.45);
}

.admin-recording__select {
  width: 100%;
}

.admin-recording__msg {
  min-height: 1.2em;
  margin: 0;
}

.admin-recording__actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: auto;
}

.admin-recording__btn {
  width: 100%;
  justify-content: center;
}

.admin-plans-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  align-items: stretch;
  padding-bottom: 24px;
}

.admin-plan-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 22px 22px 20px;
  border: 1px solid rgba(227, 219, 204, 0.22);
  border-radius: 12px;
  background: rgba(32, 32, 32, 0.55);
  box-sizing: border-box;
}

.admin-plan-card.is-featured {
  border-color: rgba(242, 19, 60, 0.45);
}

.admin-plan-card.is-selected {
  box-shadow: inset 0 0 0 1px rgba(242, 19, 60, 0.55);
}

.admin-plan-card__badge {
  position: absolute;
  top: 14px;
  right: 16px;
  margin: 0;
  font-size: 0.68rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--cal-accent, #f2133c);
}

.admin-plan-card__name {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 500;
  color: var(--secondary-color, #e3dbcc);
}

.admin-plan-card__price {
  margin: 0;
  display: flex;
  align-items: baseline;
  gap: 4px;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1;
  color: var(--secondary-color, #e3dbcc);
}

.admin-plan-card__period {
  font-size: 0.85rem;
  font-weight: 400;
  color: rgba(227, 219, 204, 0.5);
}

.admin-plan-card__features {
  margin: 4px 0 8px;
  padding: 0 0 0 1.1em;
  flex: 1 1 auto;
  font-size: 0.86rem;
  line-height: 1.5;
  color: rgba(227, 219, 204, 0.72);
}

.admin-plan-card__features li + li {
  margin-top: 4px;
}

.admin-plan-card .dk-btn {
  align-self: flex-start;
}

@media (max-width: 900px) {
  .admin-plans-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  .admin-recording {
    grid-template-columns: 1fr;
    grid-template-rows: minmax(220px, 1fr) auto;
  }

  .admin-recording__stage {
    min-height: 220px;
  }

  .admin-recording__actions {
    flex-direction: row;
    flex-wrap: wrap;
  }

  .admin-recording__btn {
    flex: 1 1 calc(50% - 4px);
    width: auto;
  }
}

