/* Product-specific styles. Keep shared framework overrides in style.css. */
.onboarding-panel {
    border-radius: 18px;
}

.onboarding-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    border-radius: 16px;
    background: #fff0dc;
    color: #c76d06;
    font-size: 24px;
}

.onboarding-highlight {
    outline: 3px solid #ff9418 !important;
    outline-offset: 4px;
    box-shadow: 0 0 0 7px rgba(255, 148, 24, 0.2) !important;
}

@media (prefers-reduced-motion: reduce) {
    #onboardingTour.fade,
    #onboardingTour .progress-bar {
        transition: none;
    }
}
.lc-returning-badge {
    color: #355540;
    background: #dcecdf;
}

.lc-returning-visitor {
    border-left: 3px solid #708673;
    padding-left: 10px;
    background: #f2f7f2;
}
.lc-popout-conversation .lc-agent-messages {
    height: max(260px, calc(100dvh - 430px));
}
.lc-conversation-list, .lc-visitor-list {
    max-height: 540px;
    overflow-y: auto;
}
.lc-conversation {
    display: block;
    width: 100%;
    padding: 12px;
    background: #fff;
    border: 0;
    border-bottom: 1px solid #e6ece6;
    text-align: left;
}
.lc-conversation.active {
    background: #fff3df;
    border-left: 3px solid #f7931e;
}
.lc-conversation small {
    display: block;
    color: #718075;
    margin-top: 4px;
}
.lc-agent-messages {
    height: 330px;
    overflow-y: auto;
    background: #f5f8f4;
    border-radius: 10px;
    padding: 12px;
}
.lc-agent-message {
    padding: 10px 12px;
    margin-bottom: 10px;
    border-radius: 10px;
    background: #fff;
    max-width: 94%;
    border: 1px solid #e2e9e1;
}
.lc-from-agent {
    margin-left: auto;
    background: #fff3df;
}
.lc-from-bot, .lc-from-system {
    background: #edf2ed;
}
.lc-message-body {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}
.lc-visitor {
    padding: 12px 0;
    border-bottom: 1px solid #e4eae3;
}
.lc-chart {
    display: flex;
    gap: 8px;
    min-height: 160px;
    align-items: flex-end;
    overflow-x: auto;
}
.lc-chart-bar {
    flex: 1;
    min-width: 28px;
    text-align: center;
    font-size: 10px;
}
.lc-chart-bar span {
    display: block;
    background: #f7a538;
    border-radius: 4px 4px 0 0;
}
.lc-chart-bar small {
    display: block;
    margin-top: 5px;
}
.bd-toast-container {
    position: fixed;
    z-index: 1090;
    top: 1rem;
    right: 1rem;
    display: flex;
    width: min(26rem, calc(100vw - 2rem));
    flex-direction: column;
    gap: .65rem;
}

.bd-toast {
    display: flex;
    align-items: flex-start;
    gap: .8rem;
    padding: .9rem 1rem;
    color: #202733;
    background: #fff;
    border: 1px solid #e6e9ee;
    border-left: 4px solid #537a62;
    border-radius: .65rem;
    box-shadow: 0 12px 32px rgba(24, 34, 48, .16);
}

.bd-toast-error {
    border-left-color: #c33d3d;
}

.bd-toast-success .bd-toast-icon {
    color: #537a62;
}

.bd-toast-error .bd-toast-icon {
    color: #c33d3d;
}

.bd-toast-icon {
    padding-top: .1rem;
}

.bd-toast-message {
    flex: 1;
    line-height: 1.45;
}

.bd-toast-close {
    padding: 0 .1rem;
    color: #687385;
    background: transparent;
    border: 0;
    font-size: 1rem;
}

.bd-toast-close:hover {
    color: #202733;
}

.auth-divider {
    display: flex;
    align-items: center;
    gap: .8rem;
    margin: 1.15rem 0;
    color: #7b8492;
    font-size: .85rem;
}

.auth-divider::before,
.auth-divider::after {
    flex: 1;
    height: 1px;
    background: #e6e9ee;
    content: "";
}

.google-auth-button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .7rem;
    min-height: 44px;
    background: #fff;
}

.border-dashed {
    border-style: dashed !important;
}

.project-file-dropzone {
    display: flex;
    min-height: 10rem;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: .35rem;
    padding: 1.5rem;
    border: 2px dashed #cdd3dc;
    border-radius: .75rem;
    background: #fafbfc;
    cursor: pointer;
    transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease;
}

.project-file-dropzone:hover,
.project-file-dropzone:focus,
.project-file-dropzone.is-dragging {
    border-color: #ff9418;
    outline: 0;
    background: #fff8ef;
    box-shadow: 0 0 0 .2rem rgba(255, 148, 24, .12);
}

.project-file-dropzone.has-file {
    border-color: #718779;
    background: #f6faf7;
}

.project-file-dropzone-icon {
    color: #ff9418;
    font-size: 2rem;
}

.project-file-card {
    position: relative;
    min-height: 10.5rem;
    padding: 1rem;
    overflow: hidden;
    border: 1px solid #e2e6eb;
    border-radius: .75rem;
    background: #fff;
    transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.project-file-card:hover {
    border-color: #cfd5dc;
    box-shadow: 0 8px 22px rgba(32, 39, 51, .1);
    transform: translateY(-2px);
}

.project-file-actions {
    position: absolute;
    z-index: 2;
    top: .55rem;
    right: .55rem;
    display: flex;
    gap: .2rem;
}

.project-file-actions form {
    margin: 0;
}

.project-file-action {
    display: inline-flex;
    width: 1.8rem;
    height: 1.8rem;
    align-items: center;
    justify-content: center;
    padding: 0;
    color: #687385;
    background: #fff;
    border: 0;
    border-radius: 50%;
    font-size: .75rem;
    text-decoration: none;
}

.project-file-action:hover {
    color: #ff9418;
    background: #f4f5f7;
}

.project-file-main {
    display: flex;
    align-items: center;
    flex-direction: column;
    padding: .85rem .25rem .6rem;
    gap: .7rem;
}

.project-file-icon {
    display: inline-flex;
    width: 2.25rem;
    height: 2.25rem;
    align-items: center;
    justify-content: center;
    border-radius: .8rem;
    background: #f3f5f7;
    font-size: 1.325rem;
}

.project-file-name,
.project-file-owner {
    display: block;
    width: 100%;
    overflow: hidden;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.project-file-name {
    font-size: .9rem;
    font-weight: 600;
}

.project-file-meta {
    display: flex;
    justify-content: space-between;
    gap: .4rem;
    color: #7b8492;
    font-size: .7rem;
}

.project-file-owner {
    margin-top: .3rem;
    color: #7b8492;
    font-size: .72rem;
}

.file-tone-pdf { color: #d54a45; background: #fff1f0; }
.file-tone-word { color: #3569b8; background: #eef5ff; }
.file-tone-excel { color: #39815b; background: #eef9f2; }
.file-tone-powerpoint { color: #cf6941; background: #fff3ed; }
.file-tone-image { color: #8862ad; background: #f7f0ff; }
.file-tone-archive { color: #8a6b35; background: #faf5e9; }
.file-tone-audio { color: #b84f8d; background: #fff0f8; }
.file-tone-video { color: #6555b5; background: #f2f0ff; }
.file-tone-code { color: #3e7185; background: #edf8fb; }
.file-tone-text,
.file-tone-default { color: #687385; background: #f3f5f7; }

.document-search-group {
    width: min(19rem, 100%);
}

.quick-search-control {
    width: min(19rem, 100%);
}

.dashboard-metric-icon { display:inline-flex;flex:0 0 2.5rem;width:2.5rem;height:2.5rem;align-items:center;justify-content:center;color:#f7931e;background:#fff4e7;border-radius:.65rem; }
.task-priority-badge { color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.45); }
.task-list-progress { width:6rem; }
.task-list-progress .progress { height:.32rem;background:#edf0f3; }
.task-number { color:#7a8492;font-size:.66rem;font-weight:700;letter-spacing:.03em; }
.app-confirm-modal .modal-content { border-radius:1rem; }
.app-confirm-icon { display:inline-flex;width:3rem;height:3rem;align-items:center;justify-content:center;color:#c2410c;background:#fff1e8;border-radius:50%;font-size:1.2rem; }
.project-card-actions form { margin:0; }
.project-card-action { display:inline-flex;width:2rem;height:2rem;align-items:center;justify-content:center;padding:0;color:#fff;background:#64748b;border:0;border-radius:50%;text-decoration:none;font-size:.72rem;line-height:1;transition:background-color .15s ease,transform .15s ease; }
.project-card-action:hover,.project-card-action:focus { color:#fff;background:#f7931e;transform:translateY(-1px); }
.project-card-action.is-danger { background:#dc3545; }
.project-card-action.is-danger:hover,.project-card-action.is-danger:focus { background:#b02a37; }
.dashboard-gantt-scroll { overflow-x:auto; }
.dashboard-gantt { min-width:52rem;overflow:hidden;border:1px solid #e6e9ee;border-radius:.7rem; }
.gantt-header,.gantt-row { display:grid;grid-template-columns:15rem minmax(36rem,1fr); }
.gantt-header { color:#687385;background:#f7f8fa;border-bottom:1px solid #e6e9ee;font-size:.72rem;font-weight:600; }
.gantt-header>div,.gantt-label { padding:.6rem .75rem; }
.gantt-header>div:last-child { display:flex;justify-content:space-between;border-left:1px solid #e6e9ee; }
.gantt-row { min-height:3rem;border-bottom:1px solid #eef0f3; }
.gantt-row:last-child { border-bottom:0; }
.gantt-board-group { display:flex;min-height:2.4rem;align-items:center;gap:.55rem;padding:.55rem .75rem;background:#f7f8fa;border-bottom:1px solid #e6e9ee;font-size:.78rem; }
.gantt-label { display:flex;overflow:hidden;flex-direction:column;justify-content:center; }
.gantt-label strong,.gantt-label small { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.gantt-label strong { font-size:.78rem; }.gantt-label small { color:#7a8492;font-size:.65rem; }
.gantt-task-link { color:inherit;text-decoration:none; }
.gantt-task-link:hover,.gantt-task-link:focus { color:#f7931e;text-decoration:underline; }
.gantt-track { position:relative;background-image:linear-gradient(to right,rgba(104,115,133,.1) 1px,transparent 1px);background-size:10% 100%;border-left:1px solid #e6e9ee; }
.gantt-bar { position:absolute;top:50%;height:1rem;min-width:.35rem;border-radius:999px;transform:translateY(-50%); }
.gantt-bar.project,.gantt-legend .project::before { background:#f7931e; }.gantt-bar.task,.gantt-legend .task::before { background:#64748b; }.gantt-bar.done,.gantt-legend .done::before { background:#4f8a63; }.gantt-bar.overdue,.gantt-legend .overdue::before { background:#c84d4d; }
.gantt-legend { display:flex;align-items:center;flex-wrap:wrap;gap:.4rem .8rem;font-size:.68rem; }.gantt-legend span::before { display:inline-block;width:.55rem;height:.55rem;margin-right:.3rem;border-radius:50%;content:''; }

.js-document-results {
    transition: opacity .15s ease;
}

.js-document-results.is-loading {
    opacity: .5;
    pointer-events: none;
}

.document-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.board-column-sorter {
    display: flex;
    align-items: stretch;
    gap: .75rem;
    padding: .25rem .15rem 1rem;
    overflow-x: auto;
}

.board-column-sort-item {
    flex: 0 0 14.5rem;
    max-width: 14.5rem;
}

.board-column-sort-item.is-dragging {
    opacity: .4;
    pointer-events: none;
}

.board-column-sorter.is-saving {
    opacity: .92;
}

.board-column-editor .form-label,
.board-column-editor .form-check-label,
.board-column-editor .small {
    font-size: .78rem;
}

.board-column-editor .form-control,
.board-column-editor .form-select {
    font-size: .82rem;
}

.board-column-drag-handle {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    margin: -.25rem 0 .65rem;
    color: #8a93a1;
    cursor: grab;
    font-size: .72rem;
    user-select: none;
}

.board-column-drag-handle:active {
    cursor: grabbing;
}

.is-sorting-board-columns,
.is-sorting-board-columns * {
    cursor: grabbing !important;
    user-select: none !important;
}

.board-heading-color {
    width: .7rem;
    height: 1.8rem;
    border-radius: .3rem;
}

.kanban-board {
    display: flex;
    align-items: flex-start;
    gap: .85rem;
    min-height: calc(100vh - 10rem);
    padding: .25rem .1rem 1rem;
    overflow-x: auto;
}

.kanban-column {
    flex: 0 0 17rem;
    width: 17rem;
    height: calc(100vh - 10rem);
    min-height: 34rem;
    overflow: hidden;
    background: #f4f5f7;
    border: 1px solid #e3e6ea;
    border-radius: .7rem;
}

.kanban-column-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    padding: .7rem .75rem;
    background: #fff;
    border-top: 3px solid #64748b;
    border-bottom: 1px solid #e3e6ea;
}

.kanban-column-title {
    overflow: hidden;
    font-size: .85rem;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.kanban-task-list {
    min-height: 8rem;
    height: calc(100% - 3.25rem);
    max-height: none;
    padding: .55rem;
    overflow-y: auto;
}

.kanban-task-card {
    margin-bottom: .4rem;
    padding: .5rem .55rem;
    background: #fff;
    border: 1px solid #dfe3e8;
    border-left: 3px solid #ff9418;
    border-radius: .55rem;
    box-shadow: 0 1px 2px rgba(30, 38, 50, .06);
}

.kanban-task-card.is-dragging {
    opacity: .42;
    pointer-events: none;
}

.kanban-task-title {
    font-size: .8rem;
    font-weight: 650;
    line-height: 1.35;
}

.kanban-task-grip {
    color: #9aa2ad;
    cursor: grab;
    touch-action: none;
}

.kanban-task-description {
    display: -webkit-box;
    margin: .3rem 0;
    overflow: hidden;
    color: #707987;
    font-size: .68rem;
    line-height: 1.25;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.kanban-task-meta {
    display: flex;
    justify-content: space-between;
    gap: .5rem;
    color: #737d8c;
    font-size: .64rem;
}

.kanban-task-assignees {
    margin-top: .25rem;
    overflow: hidden;
    color: #737d8c;
    font-size: .64rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.kanban-task-options {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .35rem .55rem;
    margin: .3rem 0;
}

.kanban-priority-badge {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    padding: .12rem .35rem;
    border-radius: 999px;
    font-size: .62rem;
    font-weight: 600;
}

.kanban-option-dots {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
}

.kanban-option-dot {
    display: inline-block;
    width: .55rem;
    height: .55rem;
    border: 1px solid rgba(0, 0, 0, .12);
    border-radius: 50%;
    cursor: help;
}

.kanban-tag-dot {
    border-radius: .18rem;
}

.task-option-checks {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem 1rem;
    max-height: 7rem;
    padding: .65rem;
    overflow-y: auto;
    background: #f8f9fa;
    border: 1px solid #e3e6ea;
    border-radius: .55rem;
}

.task-option-dot {
    display: inline-block;
    width: .6rem;
    height: .6rem;
    margin-right: .35rem;
    border-radius: 50%;
}

.task-modal-secondary {
    border-left: 1px solid #e5e8ec;
}

.task-modal-columns .form-label {
    margin-bottom: .3rem;
    font-size: .8rem;
}

@media (max-width: 767.98px) {
    .task-modal-secondary {
        padding-top: 1rem;
        border-top: 1px solid #e5e8ec;
        border-left: 0;
    }
}

.scrum-nav { display:flex; gap:.35rem; padding:.35rem; overflow-x:auto; background:#fff; border:1px solid #e7e9ec; border-radius:.7rem; }
.scrum-nav-link { display:inline-flex; flex:0 0 auto; align-items:center; gap:.45rem; padding:.55rem .75rem; color:#667080; border-radius:.5rem; font-size:.78rem; font-weight:600; text-decoration:none; }
.scrum-nav-link:hover { color:#dd7600; background:#fff7ed; }
.scrum-nav-link.active { color:#fff; background:#ff9418; }
.scrum-task-list { border:1px solid #edf0f2; border-radius:.55rem; overflow:hidden; }
.scrum-task-row { display:grid; grid-template-columns:5.5rem minmax(10rem,1fr) 7rem 4rem; align-items:center; gap:.7rem; padding:.62rem .75rem; color:#252a31; border-bottom:1px solid #edf0f2; font-size:.78rem; text-decoration:none; }
.scrum-task-row:last-child { border-bottom:0; }
.scrum-task-row:hover { background:#fff8ef; }
.scrum-task-row .task-number { font-size:.65rem; }
.scrum-points { text-align:right; white-space:nowrap; }
.scrum-empty { padding:1.4rem; color:#8a939f; text-align:center; font-size:.78rem; }
.scrum-selection-list { max-height:28rem; overflow-y:auto; border:1px solid #edf0f2; border-radius:.55rem; }
.scrum-select-task { display:flex; align-items:flex-start; gap:.65rem; padding:.65rem .75rem; border-bottom:1px solid #edf0f2; font-size:.78rem; cursor:pointer; }
.scrum-select-task:last-child { border-bottom:0; }
.scrum-select-task small { display:block; color:#77808c; }
.scrum-release-select { width:min(15rem,45vw); }
.scrum-chart { display:flex; flex-direction:column; gap:.7rem; margin-top:1rem; }
.scrum-chart-row { display:grid; grid-template-columns:6.5rem 1fr 3rem; align-items:center; gap:.75rem; font-size:.75rem; }
.scrum-chart-row > div { height:.7rem; overflow:hidden; background:#edf0f2; border-radius:999px; }
.scrum-chart-row i { display:block; height:100%; background:#ff9418; border-radius:inherit; }
.scrum-velocity { display:flex; min-height:13rem; align-items:flex-end; gap:.7rem; padding-top:1rem; overflow-x:auto; }
.scrum-velocity > div { display:grid; flex:1 0 3.5rem; justify-items:center; align-items:end; gap:.35rem; font-size:.68rem; }
.scrum-velocity strong { display:block; width:1.8rem; max-height:9.4rem; background:#ff9418; border-radius:.35rem .35rem 0 0; }
.scrum-velocity span { width:100%; overflow:hidden; text-align:center; text-overflow:ellipsis; white-space:nowrap; }
.scrum-board-summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem; color:#252a31; border:1px solid #e7e9ec; border-radius:.65rem; text-decoration:none; }
.scrum-board-summary:hover { border-color:#ffb45e; background:#fff8ef; }
.scrum-board-summary small { display:block; margin-top:.2rem; color:#77808c; }
@media (max-width: 767.98px) { .scrum-task-row { grid-template-columns:4.8rem 1fr 3.5rem; } .scrum-task-row > .text-secondary { display:none; } }

.custom-form-builder-field { display:flex; align-items:center; gap:.65rem; min-height:3.5rem; padding:.65rem .75rem; background:#f8f9fa; border:1px solid #e3e7eb; border-radius:.55rem; }
.custom-form-builder-field small { display:block; color:#7b8490; font-size:.68rem; }
.custom-form-drag { display:inline-flex; width:1.5rem; height:2rem; align-items:center; justify-content:center; color:#8a939f; cursor:grab; touch-action:none; }
.js-custom-form-field.is-dragging { z-index:5; opacity:.65; }
.custom-field-editor { padding:.75rem; background:#fff; border:1px solid #edf0f2; border-radius:.55rem; }
.custom-choice-list { display:flex; flex-wrap:wrap; gap:.35rem .8rem; padding:.45rem .55rem; background:#f8f9fa; border:1px solid #e3e7eb; border-radius:.4rem; }
.custom-choice-list .form-check { margin-bottom:0; font-size:.75rem; }
.custom-task-fields { padding-top:.75rem; border-top:1px solid #edf0f2; }

.settings-module-card { display:flex; min-height:7rem; align-items:center; gap:1rem; padding:1.15rem; color:#252a31; background:#fff; border:1px solid #e5e8ec; border-radius:.75rem; box-shadow:0 .15rem .65rem rgba(24,31,42,.06); text-decoration:none; }
.settings-module-card:hover { color:#252a31; border-color:#ffb45e; box-shadow:0 .3rem 1rem rgba(24,31,42,.1); }
.settings-module-icon { display:inline-flex; flex:0 0 2.75rem; width:2.75rem; height:2.75rem; align-items:center; justify-content:center; color:#dd7600; background:#fff3e3; border-radius:.65rem; }
.settings-module-card strong,.settings-module-card small { display:block; }
.settings-module-card small { margin-top:.25rem; color:#737d8b; font-size:.75rem; line-height:1.4; }
.settings-module-arrow { color:#a1a8b1; font-size:.75rem; }

.app-sidebar-group { line-height:1; }
.app-sidebar-group > .app-sidebar-link { background:transparent; }
.app-sidebar-group > .app-sidebar-link.active { background:var(--bd-button); }
.app-sidebar-submenu { min-width:11rem; margin-left:.45rem !important; padding:.4rem; border-color:#e3e7eb; box-shadow:0 .45rem 1.2rem rgba(24,31,42,.14); }
.app-sidebar-submenu-title { padding:.35rem .55rem .45rem; color:#8a939f; font-size:.65rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.app-sidebar-submenu .dropdown-item { display:flex; align-items:center; gap:.65rem; padding:.55rem .65rem; border-radius:.4rem; font-size:.78rem; }
.app-sidebar-submenu .dropdown-item i { width:1rem; color:#788290; text-align:center; }
.app-sidebar-submenu .dropdown-item.active { color:#fff; background:#ff9418; }
.app-sidebar-submenu .dropdown-item.active i { color:#fff; }
.support-member-checks { max-height:16rem; padding:.5rem; overflow-y:auto; border:1px solid #e3e7eb; border-radius:.5rem; }
.support-member-checks small { display:block; color:#7b8490; font-size:.65rem; }

.department-modal .support-member-checks {
    max-height: 10rem;
}
.ticket-conversation { display:flex; flex-direction:column; gap:.75rem; }
.ticket-message { padding:.85rem 1rem; background:#f7f8fa; border:1px solid #edf0f2; border-radius:.65rem; font-size:.82rem; }
.ticket-message.internal { background:#fff8e8; border-color:#f5d994; }
.ticket-action-button { display:inline-flex; align-items:center; justify-content:center; gap:.4rem; min-height:32px; padding:.35rem .7rem; line-height:1; white-space:nowrap; }
.ticket-status-chart { display:flex; flex-direction:column; gap:1rem; }
.ticket-status-row .progress { height:.45rem; background:#eef1f3; }
.ticket-status-row .progress-bar { background:#f7931e; border-radius:999px; }
.ticket-status-row .ticket-status-resolved,.ticket-status-row .ticket-status-closed { background:#738a7b; }
.ticket-status-row .ticket-status-pending_customer,.ticket-status-row .ticket-status-pending_internal { background:#d6a84d; }
.portal-theme-preview { background:var(--preview-bg); color:var(--preview-text); border-bottom:1px solid var(--preview-border); padding:1rem; min-height:140px; }
.portal-theme-preview-header { height:18px; width:55%; background:var(--preview-primary); border-radius:.35rem; margin-bottom:1rem; }
.portal-theme-preview-body { background:var(--preview-surface); border:1px solid var(--preview-border); border-radius:.5rem; padding:.8rem; }
.portal-theme-preview-body span { display:block; height:7px; background:var(--preview-secondary); opacity:.45; border-radius:999px; margin-bottom:.5rem; }
.portal-theme-preview-body span:nth-child(2) { width:72%; }
.portal-theme-preview-body button { border:0; border-radius:.35rem; background:var(--preview-primary); color:#fff; font-size:.7rem; padding:.3rem .6rem; }

.task-document-list {
    font-size: .78rem;
}

.task-section-tabs {
    overflow-x: auto;
    overflow-y: hidden;
}

.task-section-tabs .nav-tabs {
    min-width: max-content;
}

.task-section-tabs .nav-link {
    color: #697382;
    font-size: .82rem;
    white-space: nowrap;
}

.task-section-tabs .nav-link.active {
    color: #ff9418;
    font-weight: 600;
}

.task-workspace-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(16.5rem, 1fr));
    gap: .75rem;
    padding-bottom: .75rem;
    overflow-x: auto;
}

.task-workspace-column {
    height: auto;
    min-height: 0;
    overflow: visible;
}

.task-workspace-column > .card-body {
    height: auto;
    overflow: visible;
}

.task-workspace-column .form-label {
    margin-bottom: .2rem;
    font-size: .72rem;
    font-weight: 600;
}

.task-column-heading {
    display: flex;
    align-items: center;
    gap: .45rem;
    margin-bottom: .8rem;
    color: #697382;
}

.task-column-heading h2 {
    margin: 0;
    color: #252b34;
    font-size: .88rem;
    font-weight: 700;
}

.task-option-checks.compact {
    max-height: 5rem;
    padding: .45rem;
    gap: .25rem .7rem;
    font-size: .7rem;
}

.task-document-items,
.task-timeline-scroll {
    max-height: 32rem;
    overflow-y: auto;
}

.task-document-item {
    display: flex;
    align-items: center;
    gap: .55rem;
    padding: .55rem 0;
    border-bottom: 1px solid #eceef1;
}

.task-document-icon {
    display: inline-flex;
    flex: 0 0 1.8rem;
    width: 1.8rem;
    height: 1.8rem;
    align-items: center;
    justify-content: center;
    color: #ff9418;
    background: #fff4e7;
    border-radius: .4rem;
}

.task-document-name {
    overflow: hidden;
    font-size: .76rem;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.task-column-empty {
    display: flex;
    min-height: 8rem;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: .4rem;
    color: #939ba6;
    font-size: .75rem;
}

.task-comments {
    max-height: none;
    min-height: 0;
}

.task-comment time {
    font-size: .6rem;
}

.task-comments {
    max-height: 23rem;
    padding-right: .25rem;
    overflow-y: auto;
}

.task-comment {
    margin-bottom: .65rem;
    padding: .65rem .75rem;
    background: #f7f8fa;
    border-radius: .55rem;
    font-size: .8rem;
}

.task-comment-body {
    margin-top: .35rem;
    line-height: 1.45;
}

.task-timeline {
    position: relative;
    padding-left: .35rem;
}

.task-timeline::before {
    position: absolute;
    top: .9rem;
    bottom: .9rem;
    left: 1rem;
    width: 1px;
    background: #dfe3e8;
    content: '';
}

.task-timeline-item {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: flex-start;
    gap: .75rem;
    padding: .45rem 0;
    font-size: .8rem;
}

.task-timeline-dot {
    display: inline-flex;
    flex: 0 0 1.35rem;
    width: 1.35rem;
    height: 1.35rem;
    align-items: center;
    justify-content: center;
    color: #6f7885;
    background: #fff;
    border: 1px solid #dfe3e8;
    border-radius: 50%;
    font-size: .58rem;
}

.kanban-empty {
    padding: 1.25rem .5rem;
    color: #939ba6;
    text-align: center;
    border: 1px dashed #cdd3da;
    border-radius: .5rem;
    font-size: .75rem;
}

.is-sorting-board-tasks,
.is-sorting-board-tasks * {
    cursor: grabbing !important;
    user-select: none !important;
}

.task-option-editor {
    padding: .6rem;
    background: #f8f9fa;
    border: 1px solid #e7e9ec;
    border-radius: .55rem;
}

.task-option-weight {
    width: 4.25rem;
}

@media (max-width: 575.98px) {
    .document-pagination {
        align-items: flex-start;
        flex-direction: column;
    }
}

.app-icon-button {
    display: inline-flex;
    width: 2.25rem;
    height: 2.25rem;
    align-items: center;
    justify-content: center;
    padding: 0;
}

.app-icon-button i {
    font-size: .95rem;
}

.app-topbar .app-icon-button {
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 50%;
}

.app-topbar .app-icon-button i {
    font-size: .78rem;
}

.notification-count {
    position: absolute;
    top: -.4rem;
    right: -.45rem;
    min-width: 1.05rem;
    padding: .08rem .25rem;
    color: #fff;
    background: #dc3545;
    border: 2px solid #fff;
    border-radius: 999px;
    font-size: .55rem;
    font-weight: 700;
    line-height: .8rem;
}

.notification-menu {
    width: min(22rem, calc(100vw - 1.5rem));
    max-height: 28rem;
    overflow-y: auto;
}

.notification-menu-heading {
    position: sticky;
    z-index: 2;
    top: 0;
    padding: .7rem .85rem;
    background: #fff;
    border-bottom: 1px solid #eceef1;
    font-size: .8rem;
    font-weight: 700;
}

.notification-item {
    padding: .7rem .85rem;
    white-space: normal;
    border-bottom: 1px solid #f0f1f3;
    font-size: .75rem;
}

.notification-message {
    display: -webkit-box;
    overflow: hidden;
    color: #697382;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.auth-columns {
    align-items: stretch;
}

.auth-secondary-column {
    border-left: 1px solid #e6e9ee;
}

.auth-column-content {
    padding-left: .75rem;
}

@media (max-width: 767.98px) {
    .app-sidebar {
        flex-basis: 50px;
        width: 50px;
    }

    .app-sidebar-nav {
        padding-right: .3rem;
        padding-left: .3rem;
    }

    .app-sidebar-link {
        width: 38px;
        height: 38px;
    }

    .auth-secondary-column {
        border-top: 1px solid #e6e9ee;
        border-left: 0;
        padding-top: 1.25rem;
    }

    .auth-column-content {
        padding-left: 0;
    }
}
.email-template-editor .note-editor {
    border-color: #dee2e6;
    border-radius: 0.5rem;
}

.email-template-editor .note-toolbar {
    border-radius: 0.5rem 0.5rem 0 0;
    background: #f8f9fa;
}

.email-template-editor .note-editable {
    padding: 1rem;
    font-family: Arial, sans-serif;
    font-size: 14px;
}

.email-template-editor .note-codable {
    padding: 1rem;
    font-family: Consolas, monospace;
    line-height: 1.6;
    tab-size: 4;
}

.note-editor.fullscreen {
    z-index: 1100;
    background: #fff;
}

.note-modal {
    z-index: 1200;
}

.note-modal-backdrop {
    z-index: 1190;
}

.note-btn-primary {
    background-color: #ff9418;
    border-color: #ff9418;
    color: #fff;
}

.note-btn-primary:hover,
.note-btn-primary:focus {
    background-color: #e9810c;
    border-color: #e9810c;
    color: #fff;
}
.workspace-compact-card {
    border: 1px solid #eee7de;
    border-left: 3px solid #f7931e;
    border-radius: 0.7rem;
    background: linear-gradient(115deg, #fffaf3 0%, #fff 62%);
    box-shadow: 0 3px 12px rgba(112, 85, 47, 0.04);
}

.workspace-role-badge,
.workspace-status-badge {
    display: inline-block;
    flex-shrink: 0;
    border-radius: 1rem;
    padding: 0.2rem 0.55rem;
    font-size: 0.65rem;
    font-weight: 600;
    line-height: 1.3;
}

.workspace-role-badge {
    background: #eaf0eb;
    color: #4f6b58;
}

.workspace-status-badge.is-active {
    background: #e5f4ec;
    color: #246b48;
}

.workspace-status-badge.is-pending {
    background: #fff0d5;
    color: #925a0d;
}

.workspace-status-badge.is-expired {
    background: #fde9e6;
    color: #a33b31;
}

.workspace-compact-counts {
    display: flex;
    gap: 0.9rem;
    font-size: 0.75rem;
    color: #75897c;
}

.workspace-settings-link {
    padding: 0.25rem;
    color: #75897c;
    font-size: 0.85rem;
}

.workspace-summary-card {
    border-top: 3px solid #75897c !important;
}

.workspace-package-card {
    border-top: 3px solid #f7931e !important;
    background: linear-gradient(125deg, #fff7e9, #fff);
}

.workspace-module-card {
    border-top: 3px solid var(--module-accent) !important;
    background: linear-gradient(135deg, var(--module-tint), #fff 75%);
    border-radius: 0.7rem;
}

.workspace-module-card.module-orange {
    --module-accent: #e98713;
    --module-tint: #fff4e4;
}

.workspace-module-card.module-teal {
    --module-accent: #16897d;
    --module-tint: #e8f6f1;
}

.workspace-module-card.module-purple {
    --module-accent: #8965b5;
    --module-tint: #f3ecfa;
}

.workspace-module-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.6rem;
    height: 2.6rem;
    border-radius: 0.8rem;
    color: var(--module-accent);
    background: var(--module-tint);
    font-size: 1.1rem;
}

/* Knowledge Base reader and library themes. */
.kb-reader {
    --kb-accent: #f7931e;
    padding-bottom: 2rem;
}

.kb-hero {
    padding: clamp(1.5rem, 4vw, 3.5rem);
    margin-bottom: 1.5rem;
    border-radius: 1.25rem;
    overflow: hidden;
}

.kb-hero h1 {
    max-width: 850px;
    font-size: clamp(1.8rem, 3vw, 3rem);
    font-weight: 750;
    margin: .8rem 0 1rem;
}

.kb-hero p {
    max-width: 750px;
    margin-bottom: 0;
    opacity: .85;
}

.kb-eyebrow {
    font-size: .72rem;
    letter-spacing: .15em;
    font-weight: 700;
}

.kb-hero-atlas {
    background: linear-gradient(115deg, #253f3b, #456962);
    color: #fff;
    border-bottom: 5px solid var(--kb-accent);
}

.kb-hero-manual {
    background: #edf3f0;
    color: #254b42;
    border-left: 5px solid var(--kb-accent);
}

.kb-hero-academy {
    color: #3b3061;
    background: linear-gradient(120deg, #f5e5ce, #e9e2ff 65%, #dcefe9);
}

.kb-topic-card {
    display: block;
    height: 100%;
    padding: 1.5rem;
    color: #273b35;
    border: 1px solid #e2e9e6;
    border-radius: 1rem;
    background: #fff;
    text-decoration: none;
    transition: transform .15s, box-shadow .15s;
}

.kb-topic-card:hover {
    transform: translateY(-3px);
    color: #273b35;
    box-shadow: 0 10px 25px #243c3510;
    border-color: var(--kb-accent);
}

.kb-topic-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    color: var(--kb-accent);
    background: #faf1e6;
    margin-bottom: 1rem;
}

.kb-chapters {
    background: #fff;
    border: 1px solid #e4eae7;
    border-radius: 1rem;
    padding: 1.25rem;
    overflow-wrap: anywhere;
}

.kb-chapters a {
    color: #476057;
}

.kb-chapters a:hover {
    color: var(--kb-accent);
}

.kb-article-body {
    background: #fff;
    border: 1px solid #e4eae7;
    border-radius: 1.25rem;
    padding: clamp(1.25rem, 4vw, 3rem);
    overflow-wrap: anywhere;
}

.kb-prose {
    line-height: 1.8;
    color: #34443d;
    overflow-x: auto;
}

.kb-prose img {
    max-width: 100%;
    height: auto;
}

.kb-prose h2,
.kb-prose h3 {
    margin-top: 1.75rem;
}

.kb-prose table {
    width: 100%;
    border-collapse: collapse;
}

.kb-prose td,
.kb-prose th {
    padding: .65rem;
    border: 1px solid #e2e9e5;
}

.kb-academy-banner {
    padding: 1rem 1.5rem;
    border-radius: .85rem;
    background: #ede8f9;
    color: #58457f;
    font-weight: 600;
    margin-bottom: 1.5rem;
}

.kb-academy-grid .col-12:nth-child(3n + 1) .kb-topic-card {
    background: #fffcf5;
}

.kb-academy-grid .col-12:nth-child(3n + 2) .kb-topic-card {
    background: #f5faf7;
}

.kb-academy-grid .col-12:nth-child(3n) .kb-topic-card {
    background: #faf7ff;
}

/* Knowledge Base content editors and nested navigation. */
.kb-markdown-source {
    min-height: 28rem;
    tab-size: 4;
    font-family: Consolas, "Courier New", monospace;
    font-size: .88rem;
    line-height: 1.7;
}

.kb-markdown-preview {
    min-height: 28rem;
    max-height: 42rem;
    overflow: auto;
    padding: 1.25rem;
    border: 1px solid #dfe6e2;
    border-radius: .65rem;
    background: #fff;
}

.kb-prose pre {
    overflow-x: auto;
    padding: 1rem;
    border-radius: .65rem;
    background: #f1f5f3;
    border: 1px solid #dfe7e3;
}

.kb-prose code {
    font-family: Consolas, "Courier New", monospace;
}

.kb-faq-editor-row {
    padding: 1rem;
    background: #f8faf9;
    border: 1px solid #e2e9e5;
    border-radius: .75rem;
}

.kb-faq-item {
    margin-bottom: .85rem;
    border: 1px solid #e0e7e3;
    border-radius: .75rem;
    overflow: hidden;
}

.kb-faq-item summary {
    padding: 1rem 1.25rem;
    cursor: pointer;
    font-weight: 600;
    background: #f7faf8;
}

.kb-faq-item[open] summary {
    border-bottom: 1px solid #e0e7e3;
    color: var(--kb-accent, #c57416);
}

.kb-faq-answer {
    padding: 1rem 1.25rem;
    white-space: normal;
}

.kb-reader-navigation {
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: .88rem;
}

.kb-reader-navigation li > a {
    display: block;
    padding: .45rem 0;
    text-decoration: none;
    overflow-wrap: anywhere;
}

.kb-reader-navigation .kb-reader-navigation {
    padding-left: 1rem;
    border-left: 1px solid #e2e9e5;
    margin-left: .25rem;
}

.kb-reader-group {
    scroll-margin-top: 5rem;
}

.kb-reader-group-children {
    padding-left: 1.25rem;
    border-left: 2px solid #e5ece8;
}

.kb-nav-editor-list {
    list-style: none;
    padding: 0;
    margin: 0;
    min-height: .3rem;
}

.kb-nav-editor-children {
    margin-left: 1.5rem;
    border-left: 1px dashed #dbe5de;
    padding-left: .65rem;
}

.kb-nav-editor-row {
    display: flex;
    align-items: center;
    gap: .65rem;
    border: 1px solid #e0e7e3;
    border-radius: .65rem;
    padding: .65rem;
    margin-bottom: .55rem;
    background: #fff;
}

.kb-nav-drag {
    cursor: grab;
    touch-action: none;
}

.kb-nav-dragging > .kb-nav-editor-row {
    opacity: .45;
}

.kb-drop-before {
    border-top: 3px solid #eb941f !important;
}

.kb-drop-after {
    border-bottom: 3px solid #eb941f !important;
}

.kb-drop-inside {
    background: #fff5e6 !important;
    outline: 2px solid #eb941f;
}

.kb-nav-root-drop {
    padding: .9rem;
    text-align: center;
    color: #6c7b72;
    border: 1px dashed #cfdcd3;
    border-radius: .65rem;
    font-size: .85rem;
}

.js-kb-node-form {
    display: flex;
    flex-direction: column;
    min-height: 0;
    max-height: calc(100dvh - 3.5rem);
}

.js-kb-node-form .modal-body {
    overflow-y: auto;
}

.js-kb-node-form .modal-header,
.js-kb-node-form .modal-footer {
    flex-shrink: 0;
}

@media (max-width: 575px) {
    .kb-nav-editor-row {
        flex-wrap: wrap;
    }

    .kb-nav-editor-row .btn-group {
        margin-left: auto;
    }

    .kb-nav-editor-children {
        margin-left: .5rem;
        padding-left: .4rem;
    }
}

/* Local searchable select controls used inside navigation modals. */
.bd-searchable-combobox {
    min-width: 0;
}

.bd-combobox-options {
    margin-top: .3rem;
    max-height: 13rem;
    overflow-y: auto;
    overscroll-behavior: contain;
    border: 1px solid #d9e2dc;
    border-radius: .5rem;
    background: #fff;
    box-shadow: 0 5px 14px #253b3510;
}

.bd-combobox-option {
    padding: .55rem .75rem;
    cursor: pointer;
    font-size: .9rem;
    overflow-wrap: anywhere;
}

.bd-combobox-option:hover,
.bd-combobox-option.is-active {
    background: #fff2df;
    color: #6f4613;
}

.bd-combobox-option[aria-selected="true"] {
    font-weight: 600;
}

/* Sleek: compact book theme with top and left navigation. */
.kb-sleek {
    --sleek-border: #e5eae7;
    --sleek-muted: #738078;
    --sleek-ink: #283a31;
    background: #fff;
    border: 1px solid var(--sleek-border);
    border-radius: .8rem;
    color: var(--sleek-ink);
    box-shadow: 0 4px 20px #263c3105;
}

.kb-sleek-topbar {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    min-height: 3.4rem;
    padding: .6rem 1rem;
    border-bottom: 1px solid var(--sleek-border);
    background: #fff;
    border-radius: .8rem .8rem 0 0;
    position: sticky;
    top: 0;
    z-index: 5;
}

.kb-sleek-brand {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    flex: 0 1 15rem;
    min-width: 0;
    color: var(--sleek-ink);
    font-size: .9rem;
    font-weight: 700;
    text-decoration: none;
}

.kb-sleek-brand > span:last-child {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.kb-sleek-brand-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 1.9rem;
    height: 1.9rem;
    border-radius: .5rem;
    background: #faf1e5;
    color: var(--kb-accent);
}

.kb-sleek-topnav {
    display: flex;
    align-items: center;
    gap: .35rem;
    min-width: 0;
    overflow-x: auto;
    scrollbar-width: thin;
}

.kb-sleek-topnav a {
    display: block;
    padding: .35rem .6rem;
    border-radius: .4rem;
    font-size: .8rem;
    color: #637369;
    text-decoration: none;
    white-space: nowrap;
    max-width: 15rem;
    overflow: hidden;
    text-overflow: ellipsis;
    flex-shrink: 0;
}

.kb-sleek-topnav a:hover,
.kb-sleek-topnav a.is-current {
    color: var(--sleek-ink);
    background: #f2f6f3;
}

.kb-sleek-layout {
    display: grid;
    grid-template-columns: 225px minmax(0, 1fr);
    align-items: start;
}

.kb-sleek-sidebar {
    position: sticky;
    top: 3.9rem;
    padding: 1.15rem .85rem;
    min-width: 0;
    max-height: calc(100dvh - 10rem);
    overflow-y: auto;
    scrollbar-width: thin;
}

.kb-sleek-menu-caption {
    font-size: .64rem;
    letter-spacing: .11em;
    font-weight: 700;
    color: var(--sleek-muted);
    padding: 0 .5rem .65rem;
}

.kb-sleek-overview-link {
    display: block;
    padding: .45rem .5rem;
    margin-bottom: .35rem;
    font-size: .8rem;
    text-decoration: none;
    color: #5e7165;
    border-radius: .4rem;
}

.kb-sleek .kb-reader-navigation {
    font-size: .79rem;
}

.kb-sleek .kb-reader-navigation li > a {
    padding: .38rem .5rem;
    border-radius: .4rem;
    line-height: 1.45;
    color: #65746a;
}

.kb-sleek .kb-reader-navigation .kb-reader-navigation {
    padding-left: .65rem;
    margin-left: .55rem;
}

.kb-sleek .kb-reader-navigation li > a:hover,
.kb-sleek .kb-reader-navigation li > a.fw-bold,
.kb-sleek-overview-link:hover {
    background: #f3f6f3;
    color: var(--kb-accent);
}

.kb-sleek-content {
    padding: 1.15rem clamp(1rem, 3vw, 2.5rem) 2rem;
    min-width: 0;
    min-height: 28rem;
    border-left: 1px solid var(--sleek-border);
}

.kb-sleek-breadcrumb {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin-bottom: 1.6rem;
    font-size: .72rem;
    color: var(--sleek-muted);
    flex-wrap: wrap;
}

.kb-sleek-breadcrumb a {
    color: inherit;
    text-decoration: none;
}

.kb-sleek-article-meta {
    display: flex;
    gap: .8rem;
    flex-wrap: wrap;
    font-size: .7rem;
    color: var(--sleek-muted);
    margin-bottom: .55rem;
}

.kb-sleek h1 {
    font-size: clamp(1.45rem, 2.5vw, 2rem);
    letter-spacing: -.035em;
    font-weight: 700;
    line-height: 1.25;
    margin-bottom: .85rem;
}

.kb-sleek-introduction,
.kb-sleek-overview-heading p {
    color: var(--sleek-muted);
    font-size: .88rem;
    line-height: 1.65;
    margin-bottom: 1.5rem;
}

.kb-sleek .kb-prose {
    font-size: .88rem;
    line-height: 1.8;
    max-width: 900px;
}

.kb-sleek .kb-prose h2 {
    font-size: 1.2rem;
}

.kb-sleek .kb-prose h3 {
    font-size: 1.05rem;
}

.kb-sleek-eyebrow {
    display: block;
    font-size: .64rem;
    letter-spacing: .1em;
    font-weight: 700;
    color: var(--kb-accent);
    margin-bottom: .65rem;
}

.kb-sleek-overview-heading {
    margin-bottom: 1.6rem;
}

.kb-sleek .kb-topic-card {
    padding: .9rem 1rem;
    border-radius: .5rem;
    box-shadow: none;
}

.kb-sleek .kb-topic-card:hover {
    transform: none;
    border-color: #bdccc2;
    background: #fbfcfb;
}

.kb-sleek .kb-topic-card h2,
.kb-sleek .kb-reader-group > h2 {
    font-size: .95rem;
    margin-bottom: .4rem;
}

.kb-sleek .kb-reader-group.mb-4 {
    margin-bottom: .85rem !important;
}

.kb-sleek .kb-reader-group-children {
    padding-left: .85rem;
}

.kb-sleek .kb-topic-icon {
    width: 30px;
    height: 30px;
    border-radius: .4rem;
    font-size: .8rem;
    margin-bottom: .65rem;
}

.kb-sleek .kb-faq-item {
    border-radius: .45rem;
    margin-bottom: .65rem;
}

.kb-sleek .kb-faq-item summary,
.kb-sleek .kb-faq-answer {
    padding: .75rem .9rem;
}

.kb-sleek-mobile-toggle {
    display: none;
}

.kb-sleek a:focus-visible,
.kb-sleek-menu-toggle:focus-visible + .kb-sleek-mobile-toggle {
    outline: 2px solid var(--kb-accent);
    outline-offset: 2px;
}

@media (max-width: 767px) {
    .kb-sleek-topbar {
        position: static;
        flex-wrap: wrap;
        gap: .4rem;
        padding: .7rem;
    }

    .kb-sleek-brand {
        flex-basis: 100%;
    }

    .kb-sleek-topnav {
        width: 100%;
    }

    .kb-sleek-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .kb-sleek-sidebar {
        position: static;
        max-height: none;
        overflow: visible;
        padding: .65rem .85rem;
        border-bottom: 1px solid var(--sleek-border);
    }

    .kb-sleek-mobile-toggle {
        display: flex;
        align-items: center;
        justify-content: space-between;
        font-size: .82rem;
        cursor: pointer;
        padding: .2rem 0;
    }

    .kb-sleek-menu {
        display: none;
        margin-top: 1rem;
        padding-bottom: .3rem;
    }

    .kb-sleek-menu-toggle:checked ~ .kb-sleek-menu {
        display: block;
    }

    .kb-sleek-content {
        padding: 1rem;
        border-left: 0;
    }
}

/* Social content planning calendar. */
.social-calendar-wrap {
    overflow-x: auto;
}
.social-calendar {
    display: grid;
    grid-template-columns: repeat(7, minmax(100px, 1fr));
    min-width: 700px;
    gap: 1px;
    background: #e5e9e0;
    border: 1px solid #e5e9e0;
}
.social-calendar-heading {
    background: #f5f7f2;
    padding: .6rem;
    font-size: .75rem;
    font-weight: 600;
}
.social-calendar-day {
    min-height: 95px;
    background: #fff;
    padding: .6rem;
    font-size: .75rem;
}
.social-calendar-post {
    display: block;
    padding: .3rem .4rem;
    margin-top: .4rem;
    border-radius: .3rem;
    background: #fff0dc;
    color: #744c1c;
    overflow-wrap: anywhere;
}
.app-topbar .navbar-brand {
    padding-top: 0;
    padding-bottom: 0;
    line-height: 1;
}

.app-topbar-logo {
    display: block;
    width: auto;
    height: 36px;
    max-width: 100%;
    flex-shrink: 0;
    object-fit: contain;
}

.workspace-pricing-scroll {
    overflow-x: auto;
    border: 1px solid #e5e8e6;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 8px 30px rgba(51, 69, 56, 0.06);
}

.workspace-pricing-table {
    margin-bottom: 0;
    text-align: center;
}

.workspace-pricing-table > :not(caption) > * > * {
    padding: 16px 22px;
    border-color: #edf0ed;
    min-width: 250px;
}

.workspace-pricing-table thead th {
    vertical-align: top;
    background: linear-gradient(180deg, #fff5e8, #fff);
}

.workspace-pricing-table th:first-child {
    text-align: left;
    min-width: 200px;
}

.workspace-pricing-table tr > th:first-child:not([colspan]) {
    position: sticky;
    left: 0;
    z-index: 2;
    background: #fff;
    box-shadow: 3px 0 6px rgba(51, 69, 56, 0.06);
}

.workspace-pricing-table .pricing-plan {
    width: 280px;
    min-width: 280px;
}

.pricing-controls fieldset {
    min-width: 0;
}

@media (max-width: 575.98px) {
    .workspace-pricing-table tr > th:first-child:not([colspan]) {
        min-width: 120px;
        max-width: 140px;
        padding: 12px;
    }
}

.workspace-pricing-table tbody th {
    font-size: 0.9rem;
    font-weight: 500;
}

.workspace-pricing-table .pricing-section th {
    background: #eef3ef;
    color: #526c58;
    font-weight: 600;
}

.pricing-plan-heading {
    min-height: 100px;
}

.pricing-choice {
    padding: 10px;
    margin-top: 8px;
    border: 1px solid #e6e8e3;
    border-radius: 9px;
    background: #fff;
    font-size: 0.8rem;
    font-weight: 400;
    cursor: pointer;
}

.pricing-choice:has(input:checked) {
    border-color: #ff9418;
    background: #fff8ee;
}

/* Default customer portal error: application branding, independent of workspace. */
.portal-unavailable-page {
    min-height: 100vh;
    min-height: 100dvh;
    margin: 0;
    padding: 1.5rem;
    display: grid;
    place-items: center;
    background: #f7f8fa;
    color: #252a31;
}

.portal-unavailable-card {
    width: 100%;
    max-width: 32rem;
    padding: clamp(1.5rem, 5vw, 3rem);
    border: 1px solid #e7e9ec;
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 12px 36px rgba(37, 42, 49, 0.06);
    text-align: center;
}

.portal-unavailable-logo {
    display: block;
    width: auto;
    max-width: min(100%, 15rem);
    height: auto;
    max-height: 6rem;
    margin: 0 auto 1rem;
    object-fit: contain;
}

.portal-unavailable-brand {
    margin-bottom: 1.5rem;
    color: #d97912;
    font-weight: 600;
}
/* Conditional custom fields stay hidden even when Bootstrap sets display rules. */
[data-custom-field][hidden],
.js-field-logic-editor [hidden],
.js-conditional-fields .form-check[hidden] {
    display: none !important;
}
.kanban-task-card {
    cursor: grab;
}

.js-task-board.is-saving .kanban-task-card {
    cursor: progress;
}
