/* CRM Kancelarii - global responsive system 20260526 */
:root {
    --sidebar-width: 248px;
    --sidebar-collapsed-width: 76px;
    --topbar-height: 72px;
    --page-max-width: 1720px;
    --page-wide-max-width: 2200px;
    --form-max-width: 1180px;
    --card-radius: 12px;
    --space-xs: clamp(4px, .35vw, 6px);
    --space-sm: clamp(8px, .7vw, 12px);
    --space-md: clamp(12px, 1vw, 18px);
    --space-lg: clamp(18px, 1.6vw, 28px);
    --space-xl: clamp(24px, 2.4vw, 44px);
    --font-size-xs: clamp(11px, .72vw, 12px);
    --font-size-sm: clamp(12px, .82vw, 14px);
    --font-size-base: clamp(14px, .9vw, 16px);
    --font-size-lg: clamp(17px, 1.1vw, 20px);
    --font-size-xl: clamp(20px, 1.55vw, 28px);
    --font-size-2xl: clamp(24px, 2.1vw, 40px);
}

html {
    min-width: 320px;
    overflow-x: hidden;
    text-size-adjust: 100%;
}

body {
    overflow-x: clip;
    font-size: var(--font-size-base);
}

img, video, canvas, svg, iframe {
    max-width: 100%;
}

button, input, select, textarea, .button {
    max-width: 100%;
}

button, .button, input, select {
    min-height: 44px;
}

textarea {
    min-height: clamp(120px, 18vh, 260px);
    max-width: 100%;
}

a, p, span, strong, small, td, th, dd, dt, label, input, textarea, select, button {
    overflow-wrap: anywhere;
}

:focus-visible {
    outline: 3px solid rgba(15, 117, 109, .42);
    outline-offset: 3px;
}

.app-shell {
    grid-template-columns: var(--sidebar-width) minmax(0, 1fr);
}

.workspace {
    width: 100%;
    max-width: var(--page-max-width);
    margin-inline: auto;
    padding: var(--space-lg);
}

body.view-dashboard .workspace,
body.view-mailbox .workspace,
body.view-cases .workspace {
    max-width: var(--page-wide-max-width);
}

.sidebar-toggle {
    display: none;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    padding: 8px 12px;
    border: 1px solid var(--line);
    border-radius: var(--card-radius);
    background: #fff;
    color: var(--ink);
    font-weight: 850;
}

.sidebar-backdrop {
    position: fixed;
    z-index: 80;
    inset: 0;
    background: rgba(15, 45, 50, .42);
}

.mobile-bottom-nav {
    display: none;
}

.topbar {
    grid-template-columns: auto minmax(160px, 1fr) minmax(220px, 520px) auto;
    min-height: var(--topbar-height);
}

.global-search,
.topbar-actions,
.section-heading,
.module-action-bar,
.table-actions,
.form-actions,
.quick-actions,
.filters,
.mailbox-command-bar,
.dashboard-toolbar {
    min-width: 0;
}

.topbar h1 {
    font-size: var(--font-size-2xl);
}

.panel,
.dashboard-widget,
.dashboard-app-tile,
.task-item,
.calendar-shell,
.generator-header {
    border-radius: var(--card-radius);
}

.grid,
.grid.two,
.grid.one,
.detail-grid,
.detail-grid.wide,
.form-row,
.filters,
.metrics,
.calendar-bottom-panels,
.case-command-center,
.dashboard-app-grid,
.mailbox-search-form {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
}

.form-stack,
.payment-form,
.template-editor,
.document-compose-form {
    max-width: var(--form-max-width);
}

.form-row > *,
.filters > *,
.detail-grid > *,
.detail-grid.wide > *,
.grid > *,
.metrics > *,
.case-command-center > * {
    min-width: 0;
}

table {
    min-width: 720px;
}

.panel:has(> table),
.case-section:has(table),
.detail-grid > div:has(table),
.detail-grid.wide > div:has(table),
.table-scroll {
    overflow-x: auto;
    overscroll-behavior-inline: contain;
}

.panel:has(> table)::after,
.case-section:has(table)::after {
    content: "";
    display: block;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(15, 117, 109, .18), transparent);
}

.dashboard-workspace,
.dashboard-widget,
.mailbox-dashboard-workspace,
.generator-page,
.generator-layout,
.case-preview,
.clients-layout,
.cases-layout,
.tasks-layout,
.calendar-shell {
    container-type: inline-size;
}

.dashboard-gridstack,
body.view-dashboard .dashboard-gridstack,
body.view-mailbox .mailbox-gridstack.dashboard-gridstack {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)) !important;
    gap: var(--space-md) !important;
    min-height: 0 !important;
}

.dashboard-gridstack .dashboard-widget,
body.view-dashboard .dashboard-gridstack .dashboard-widget,
body.view-mailbox .mailbox-gridstack.dashboard-gridstack .mailbox-widget {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: auto !important;
    height: auto !important;
    min-height: 190px !important;
    grid-column: span 1 !important;
}

.dashboard-gridstack .dashboard-widget[data-dashboard-size="S"] { min-height: 150px !important; }
.dashboard-gridstack .dashboard-widget[data-dashboard-size="L"] { grid-column: span 2 !important; min-height: 250px !important; }
.dashboard-gridstack .dashboard-widget[data-dashboard-size="XL"] { grid-column: span 3 !important; min-height: 320px !important; }

.dashboard-widget-body {
    height: auto !important;
    max-height: clamp(320px, 48vh, 680px);
    overflow: auto;
}

.dashboard-widget-actions [data-widget-up],
.dashboard-widget-actions [data-widget-down] {
    display: none;
}

.dashboard-workspace.is-editing .dashboard-widget-actions [data-widget-up],
.dashboard-workspace.is-editing .dashboard-widget-actions [data-widget-down],
.dashboard-workspace.is-editing .dashboard-widget-actions [data-widget-size],
.dashboard-workspace.is-editing .dashboard-widget-actions [data-widget-settings],
.dashboard-workspace.is-editing .dashboard-widget-actions [data-widget-hide] {
    display: inline-grid;
}

.dashboard-today-card,
.dashboard-control-card,
.dashboard-today-numbers {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr));
}

.case-preview {
    overflow: visible !important;
}

.case-preview .detail-grid,
.case-preview .detail-grid.wide,
body.view-cases .case-preview .detail-grid,
body.view-cases .case-preview .detail-grid.wide {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr)) !important;
}

.case-preview .key-values div,
body.view-cases .case-preview .key-values div {
    grid-template-columns: minmax(120px, 170px) minmax(0, 1fr) !important;
}

.task-list {
    display: grid;
    gap: var(--space-sm);
}

.task-item {
    grid-template-columns: minmax(0, 1fr);
}

.task-actions,
.mailbox-search-actions,
.compact-actions {
    flex-wrap: wrap;
}

.calendar-shell {
    overflow: hidden;
}

.calendar-grid {
    min-width: 0;
}

.calendar-event,
.calendar-list-item {
    min-width: 0;
}

.mailbox-hero {
    grid-template-columns: minmax(0, 1fr) auto !important;
}

.mailbox-command-bar {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.mail-row-open {
    grid-template-columns: minmax(120px, 170px) minmax(140px, .8fr) minmax(0, 1fr) minmax(100px, auto) !important;
}

.generator-layout,
.generator-wizard {
    grid-template-columns: minmax(170px, 230px) minmax(0, 1fr) minmax(260px, 360px);
}

.generator-sidebar,
.generator-status,
.generator-form-panel {
    min-width: 0;
}

.generator-actions {
    position: sticky;
    bottom: var(--space-sm);
    z-index: 15;
    flex-wrap: wrap;
    border: 1px solid var(--line);
    border-radius: var(--card-radius);
    padding: var(--space-sm);
    background: rgba(255, 255, 255, .96);
    box-shadow: var(--shadow-soft, 0 8px 24px rgba(15,45,50,.07));
}

.file-copy-case-scroll {
    max-height: min(330px, 46vh);
}

.legal-history-panel,
.mailbox-widget-pane,
.a4-preview,
.file-copy-preview {
    min-width: 0;
    max-width: 100%;
}

.dashboard-widget-library-panel,
.suggestion-panel,
.mail-quick-panel {
    max-width: min(760px, calc(100vw - 24px));
}

@container (max-width: 520px) {
    .dashboard-widget-head {
        grid-template-columns: 38px minmax(0, 1fr);
    }
    .dashboard-widget-actions {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }
    .case-preview .key-values div {
        grid-template-columns: 1fr !important;
        gap: 4px !important;
    }
    .mail-row-open {
        grid-template-columns: 1fr !important;
    }
}

@media (min-width: 1536px) {
    :root {
        --page-max-width: 1840px;
        --form-max-width: 1280px;
    }
    .dashboard-gridstack,
    body.view-dashboard .dashboard-gridstack,
    body.view-mailbox .mailbox-gridstack.dashboard-gridstack {
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) !important;
    }
}

@media (min-width: 1920px) {
    :root {
        --page-max-width: 2060px;
        --page-wide-max-width: 2440px;
        --topbar-height: 84px;
    }
    body {
        font-size: clamp(16px, .82vw, 18px);
    }
    .workspace {
        padding: var(--space-xl);
    }
    .dashboard-app-tile {
        min-height: 132px;
    }
    .panel {
        padding: clamp(18px, 1.2vw, 28px);
    }
}

@media (min-width: 2560px) {
    :root {
        --page-wide-max-width: 3040px;
    }
    .dashboard-gridstack,
    body.view-dashboard .dashboard-gridstack,
    body.view-mailbox .mailbox-gridstack.dashboard-gridstack {
        grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)) !important;
    }
}

@media (max-width: 1279px) {
    .topbar {
        grid-template-columns: auto minmax(0, 1fr);
    }
    .global-search {
        grid-column: 1 / -1;
        order: 3;
    }
    .topbar-actions {
        justify-content: flex-start;
    }
    .generator-layout,
    .generator-wizard {
        grid-template-columns: minmax(72px, 120px) minmax(0, 1fr);
    }
    .generator-status,
    .generator-status-panel {
        grid-column: 1 / -1;
    }
    .mail-row-open {
        grid-template-columns: minmax(130px, 180px) minmax(0, 1fr) minmax(110px, auto) !important;
    }
}

@media (max-width: 1023px) {
    .app-shell {
        display: block;
    }
    .sidebar-toggle {
        display: inline-flex;
    }
    .sidebar {
        position: fixed;
        z-index: 90;
        inset: 0 auto 0 0;
        width: min(86vw, 340px);
        max-width: 340px;
        transform: translateX(-104%);
        transition: transform .18s ease;
        overflow-y: auto;
    }
    body.sidebar-open .sidebar {
        transform: translateX(0);
    }
    .workspace {
        max-width: none;
        padding: var(--space-md);
        padding-bottom: 86px;
    }
    .topbar {
        position: sticky;
        top: 0;
        z-index: 40;
        margin: calc(var(--space-md) * -1) calc(var(--space-md) * -1) var(--space-md);
        padding: var(--space-sm) var(--space-md);
        border-bottom: 1px solid var(--line);
        background: rgba(246, 248, 247, .96);
        backdrop-filter: blur(14px);
    }
    .mobile-bottom-nav {
        position: fixed;
        z-index: 70;
        left: 0;
        right: 0;
        bottom: 0;
        display: grid;
        grid-template-columns: repeat(6, minmax(0, 1fr));
        gap: 2px;
        padding: 6px max(6px, env(safe-area-inset-left)) calc(6px + env(safe-area-inset-bottom)) max(6px, env(safe-area-inset-right));
        border-top: 1px solid var(--line);
        background: rgba(255, 255, 255, .97);
        box-shadow: 0 -10px 26px rgba(15, 45, 50, .08);
    }
    .mobile-bottom-nav a {
        display: grid;
        min-height: 48px;
        place-items: center;
        padding: 5px 3px;
        border-radius: 10px;
        color: var(--muted);
        font-size: 11px;
        font-weight: 800;
        text-align: center;
        text-decoration: none;
    }
    .mobile-bottom-nav a.active {
        background: #e6f2f1;
        color: var(--accent-strong);
    }
    .module-action-bar {
        display: grid;
        grid-template-columns: 1fr;
    }
    .mailbox-hero-graphic {
        display: none;
    }
}

@media (max-width: 767px) {
    :root {
        --card-radius: 10px;
        --topbar-height: auto;
    }
    .workspace {
        padding-inline: clamp(10px, 4vw, 16px);
    }
    .topbar {
        grid-template-columns: auto minmax(0, 1fr);
        gap: 8px;
    }
    .topbar-actions,
    .table-actions,
    .form-actions,
    .quick-actions,
    .dashboard-toolbar,
    .mailbox-command-bar {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
    }
    .topbar-actions > *,
    .table-actions > *,
    .form-actions > *,
    .quick-actions > *,
    .dashboard-toolbar > *,
    .mailbox-command-bar > * {
        width: 100%;
    }
    .dashboard-save-status,
    .dashboard-density-control {
        grid-column: 1 / -1;
        margin-left: 0;
    }
    .global-search {
        display: none;
    }
    .panel {
        padding: var(--space-md);
    }
    .form-row,
    .filters,
    .grid,
    .grid.two,
    .detail-grid,
    .detail-grid.wide,
    .metrics,
    .calendar-bottom-panels {
        grid-template-columns: 1fr !important;
    }
    table {
        min-width: 0;
        border-collapse: separate;
        border-spacing: 0;
    }
    table thead {
        display: none;
    }
    table,
    table tbody,
    table tr,
    table td {
        display: block;
        width: 100%;
    }
    table tr {
        margin: 0 0 var(--space-sm);
        padding: var(--space-sm);
        border: 1px solid var(--line);
        border-radius: var(--card-radius);
        background: #fff;
    }
    table td {
        display: grid;
        grid-template-columns: minmax(94px, 36%) minmax(0, 1fr);
        gap: 10px;
        padding: 8px 0;
        border-bottom: 1px solid rgba(219, 224, 220, .72);
    }
    table td:last-child {
        border-bottom: 0;
    }
    table td::before {
        content: attr(data-label);
        color: var(--muted);
        font-size: 11px;
        font-weight: 850;
        text-transform: uppercase;
    }
    .calendar-grid {
        display: grid;
        grid-template-columns: 1fr !important;
    }
    .calendar-weekday {
        display: none;
    }
    .calendar-day {
        min-height: 96px;
    }
    .calendar-day.is-muted:empty {
        display: none;
    }
    .mail-message-row {
        grid-template-columns: 28px minmax(0, 1fr);
    }
    .mail-row-open,
    .mail-preview-head {
        grid-template-columns: 1fr !important;
        display: grid;
    }
    .mail-row-open small {
        justify-self: start;
        text-align: left;
    }
    .generator-layout,
    .generator-wizard {
        display: grid !important;
        grid-template-columns: 1fr !important;
    }
    .generator-sidebar,
    .generator-steps {
        display: flex;
        gap: 8px;
        overflow-x: auto;
        padding-bottom: 4px;
        scroll-snap-type: x proximity;
    }
    .generator-sidebar > *,
    .generator-steps > * {
        flex: 0 0 min(78vw, 260px);
        scroll-snap-align: start;
    }
    .generator-status,
    .generator-status-panel {
        order: 3;
    }
    .generator-actions {
        left: 10px;
        right: 10px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .a4-preview {
        transform-origin: top left;
        overflow: auto;
    }
}

@media (max-width: 480px) {
    .topbar-actions,
    .table-actions,
    .form-actions,
    .quick-actions,
    .dashboard-toolbar,
    .mailbox-command-bar {
        grid-template-columns: 1fr;
    }
    .mobile-bottom-nav {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    table td {
        grid-template-columns: 1fr;
        gap: 3px;
    }
    .mailbox-command-bar a,
    .button,
    button.button {
        justify-content: center;
    }
    .dashboard-gridstack .dashboard-widget[data-dashboard-size],
    body.view-dashboard .dashboard-gridstack .dashboard-widget[data-dashboard-size],
    body.view-mailbox .mailbox-gridstack.dashboard-gridstack .mailbox-widget[data-dashboard-size] {
        grid-column: 1 / -1 !important;
    }
}

@media (min-width: 1024px) {
    body.sidebar-collapsed .app-shell {
        grid-template-columns: var(--sidebar-collapsed-width) minmax(0, 1fr);
    }
    body.sidebar-collapsed .sidebar {
        width: var(--sidebar-collapsed-width);
        padding-inline: 10px;
    }
    body.sidebar-collapsed .brand span,
    body.sidebar-collapsed .sidebar a,
    body.sidebar-collapsed .nav-section summary,
    body.sidebar-collapsed .nav-section-links,
    body.sidebar-collapsed .logout-form button {
        font-size: 0;
    }
    body.sidebar-collapsed .sidebar a::first-letter,
    body.sidebar-collapsed .nav-section summary::first-letter,
    body.sidebar-collapsed .logout-form button::first-letter {
        font-size: 15px;
    }
    body.sidebar-collapsed .nav-section summary::after {
        display: none;
    }
}

/* Case card redesign 20260526 */
:root {
    --color-primary: #0F3D39;
    --color-primary-2: #0EA37F;
    --color-accent: #14B8A6;
    --color-text: #0F172A;
    --color-muted: #64748B;
    --color-border: #E2E8F0;
    --color-bg: #F8FAFC;
    --color-card: #FFFFFF;
    --color-danger: #EF4444;
    --color-warning: #F59E0B;
    --color-success: #10B981;
    --color-blue: #3B82F6;
}

body.view-cases {
    background: var(--color-bg);
    color: var(--color-text);
}

@media (min-width: 1024px) {
    body.view-cases .sidebar {
        position: sticky;
        top: 0;
        height: 100vh;
        background-color: var(--color-primary);
        background-image: linear-gradient(170deg, #0F3D39 0%, #06312F 56%, #05262A 100%);
    }

    body.view-cases .app-shell {
        align-items: start;
    }
}

body.view-cases .workspace {
    width: 100%;
    max-width: min(100%, 1740px);
    padding: clamp(16px, 1.7vw, 28px);
    overflow-x: clip;
}

body.view-cases .topbar {
    align-items: center;
}

body.view-cases .sidebar a::before,
body.view-cases .nav-section summary::before,
body.view-cases .logout-form button::before {
    background-color: transparent !important;
    background-image: var(--sidebar-template-icon) !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: 25px 25px !important;
    -webkit-mask: none !important;
    mask: none !important;
}

body.view-cases .sidebar a[href="?view=dashboard"] { --sidebar-template-icon: url("template-icons/icon-home.png?v=20260526-slices-4"); }
body.view-cases .sidebar a[href="?view=alerts"] { --sidebar-template-icon: url("template-icons/icon-bell.png?v=20260526-slices-4"); }
body.view-cases .sidebar a[href="?view=generator"] { --sidebar-template-icon: url("template-icons/icon-file.png?v=20260526-slices-4"); }
body.view-cases .sidebar a[href="?view=contract_generator"] { --sidebar-template-icon: url("template-icons/action-document.png?v=20260526-slices-4"); }
body.view-cases .sidebar a[href="?view=rodo_generator"] { --sidebar-template-icon: url("template-icons/icon-file.png?v=20260526-slices-4"); }
body.view-cases .sidebar a[href="?view=contracts"] { --sidebar-template-icon: url("template-icons/icon-file.png?v=20260526-slices-4"); }
body.view-cases .sidebar a[href="?view=cases"] { --sidebar-template-icon: url("template-icons/icon-folder.png?v=20260526-slices-4"); }
body.view-cases .sidebar a[href="?view=clients"] { --sidebar-template-icon: url("template-icons/icon-users.png?v=20260526-slices-4"); }
body.view-cases .sidebar a[href="?view=deadlines"] { --sidebar-template-icon: url("template-icons/icon-calendar.png?v=20260526-slices-4"); }
body.view-cases .sidebar a[href="?view=tasks"] { --sidebar-template-icon: url("template-icons/icon-clipboard.png?v=20260526-slices-4"); }
body.view-cases .sidebar a[href="?view=mailbox"] { --sidebar-template-icon: url("template-icons/feather-mail.png?v=20260526-slices-4"); }
body.view-cases .sidebar a[href="?view=payment_new"] { --sidebar-template-icon: url("template-icons/action-billing.png?v=20260526-slices-4"); }
body.view-cases .sidebar a[href="?view=leads"] { --sidebar-template-icon: url("template-icons/icon-users.png?v=20260526-slices-4"); }
body.view-cases .sidebar a[href="?view=courts"] { --sidebar-template-icon: url("template-icons/icon-home.png?v=20260526-slices-4"); }
body.view-cases .sidebar a[href="?view=legal_articles"] { --sidebar-template-icon: url("template-icons/icon-file.png?v=20260526-slices-4"); }
body.view-cases .nav-section summary { --sidebar-template-icon: url("template-icons/icon-folder.png?v=20260526-slices-4"); }
body.view-cases .logout-form button { --sidebar-template-icon: url("template-icons/feather-logout.png?v=20260526-slices-4"); }

body.view-cases .mail-topbar-button .mail-icon {
    width: 22px;
    height: 22px;
    overflow: hidden;
    color: transparent;
    background: url("template-icons/feather-mail.png?v=20260526-slices-4") center / contain no-repeat;
}

body.view-cases .suggestion-toggle::before,
body.view-cases .user-chip::before {
    content: "";
    display: inline-block;
    width: 21px;
    height: 21px;
    margin-right: 8px;
    vertical-align: -4px;
    background: var(--topbar-template-icon) center / contain no-repeat;
}

body.view-cases .suggestion-toggle { --topbar-template-icon: url("template-icons/feather-help.png?v=20260526-slices-4"); }
body.view-cases .user-chip { --topbar-template-icon: url("template-icons/icon-users.png?v=20260526-slices-4"); }

body.view-cases .case-preview {
    width: 100% !important;
    max-width: 1520px !important;
    margin: 0 auto 24px !important;
    padding: clamp(16px, 1.7vw, 24px) !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
}

body.view-cases .case-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin-bottom: 8px;
    color: var(--color-muted);
    font-size: 13px;
    font-weight: 760;
}

body.view-cases .case-breadcrumb a {
    color: var(--color-muted);
    text-decoration: none;
}

body.view-cases .case-breadcrumb span:last-child {
    color: var(--color-primary);
}

body.view-cases .case-hero {
    display: flex;
    margin-bottom: 14px;
}

body.view-cases .case-hero h2 {
    margin: 0;
    color: var(--color-text);
    font-size: clamp(26px, 2.1vw, 36px);
    line-height: 1.12;
    letter-spacing: 0;
}

body.view-cases .case-action-bar {
    display: flex !important;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
    width: 100%;
    margin: 0 0 14px;
}

body.view-cases .case-action-bar .button,
body.view-cases .case-action-bar button {
    min-height: 44px;
    padding-inline: 14px;
    border-color: var(--color-border);
    border-radius: 8px;
    background: var(--color-card);
    color: var(--color-text);
    box-shadow: 0 8px 18px rgba(15, 23, 42, .04);
}

body.view-cases .case-action-bar .button::before,
body.view-cases .case-action-bar button::before,
body.view-cases .case-mobile-actions .button::before {
    content: "";
    display: inline-block;
    flex: 0 0 auto;
    width: 22px;
    height: 22px;
    margin-right: 8px;
    background: var(--case-action-icon) center / contain no-repeat;
}

body.view-cases .case-action-bar a[href*="edit_id"] { --case-action-icon: url("template-icons/feather-edit.png?v=20260526-slices-4"); }
body.view-cases .case-action-bar a[href*="view=deadlines"] { --case-action-icon: url("template-icons/feather-plus.png?v=20260526-slices-4"); }
body.view-cases .case-action-bar a[href*="view=tasks"] { --case-action-icon: url("template-icons/feather-plus.png?v=20260526-slices-4"); }
body.view-cases .case-action-bar a[href*="view=generator"] { --case-action-icon: url("template-icons/feather-file.png?v=20260526-slices-4"); }
body.view-cases .case-action-bar a[href*="view=documents"] { --case-action-icon: url("template-icons/feather-file.png?v=20260526-slices-4"); }
body.view-cases .case-action-bar a[href*="view=payment_new"] { --case-action-icon: url("template-icons/feather-plus.png?v=20260526-slices-4"); }
body.view-cases .case-action-bar form:first-of-type button { --case-action-icon: url("template-icons/feather-download.png?v=20260526-slices-4"); }
body.view-cases .case-action-bar form:last-child button { --case-action-icon: url("template-icons/feather-trash.png?v=20260526-slices-4"); }

body.view-cases .case-mobile-actions a[href*="edit_id"] { --case-action-icon: url("template-icons/feather-edit.png?v=20260526-slices-4"); }
body.view-cases .case-mobile-actions a[href*="view=generator"] { --case-action-icon: url("template-icons/feather-file.png?v=20260526-slices-4"); }

body.view-cases .button.primary,
body.view-cases button.button.primary {
    border-color: var(--color-primary);
    background: linear-gradient(135deg, var(--color-primary-2), var(--color-primary));
    color: #fff;
}

body.view-cases .button.danger,
body.view-cases button.button.danger,
body.view-cases .case-action-bar .button.danger,
body.view-cases .case-action-bar button.button.danger {
    border-color: rgba(239, 68, 68, .48);
    background: #fff;
    color: var(--color-danger);
}

body.view-cases .required-alert {
    position: relative;
    display: grid !important;
    width: 100% !important;
    max-width: none !important;
    gap: 6px;
    margin: 0 0 14px !important;
    padding: 18px 22px 18px 56px !important;
    border: 1px solid rgba(239, 68, 68, .78) !important;
    border-radius: 12px !important;
    background: linear-gradient(180deg, #FFF1F2 0%, #FFFFFF 100%) !important;
    color: #B91C1C !important;
    box-shadow: 0 12px 30px rgba(239, 68, 68, .08) !important;
}

body.view-cases .required-alert::before {
    content: "";
    position: absolute;
    left: 22px;
    top: 20px;
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border: 0;
    background: url("template-icons/icon-alert.png?v=20260526-slices-4") center / contain no-repeat;
}

body.view-cases .required-alert strong {
    color: #DC2626;
    font-size: 15px;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

body.view-cases .required-alert span,
body.view-cases .required-alert li {
    color: #B91C1C;
    font-weight: 760;
}

body.view-cases .case-command-center {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 14px !important;
    margin: 0 0 12px !important;
}

body.view-cases .case-command-center article {
    position: relative;
    min-height: 108px !important;
    padding: 18px 16px 16px 58px !important;
    border: 1px solid var(--color-border) !important;
    border-radius: 12px !important;
    background: var(--color-card) !important;
    box-shadow: 0 14px 34px rgba(15, 23, 42, .055) !important;
}

body.view-cases .case-command-center article::before {
    position: absolute;
    left: 18px;
    top: 20px;
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    color: #64748B;
    background: currentColor;
    border: 0;
    border-radius: 0;
    -webkit-mask: var(--case-kpi-icon) center / 36px 36px no-repeat;
    mask: var(--case-kpi-icon) center / 36px 36px no-repeat;
}

body.view-cases .case-kpi-deadline::before {
    content: "";
    --case-kpi-icon: url("template-icons/kpi-calendar.png?v=20260526-slices-4");
    color: var(--color-accent) !important;
}

body.view-cases .case-kpi-tasks::before {
    content: "";
    --case-kpi-icon: url("template-icons/kpi-task.png?v=20260526-slices-4");
    color: #64748B !important;
}

body.view-cases .case-kpi-documents::before {
    content: "";
    --case-kpi-icon: url("template-icons/kpi-file.png?v=20260526-slices-4");
    color: #64748B !important;
}

body.view-cases .case-kpi-payments::before {
    content: "";
    --case-kpi-icon: url("template-icons/kpi-money.png?v=20260526-slices-4");
    color: #059669 !important;
}

body.view-cases .case-kpi-participants::before {
    content: "";
    --case-kpi-icon: url("template-icons/kpi-users.png?v=20260526-slices-4");
    color: #64748B !important;
}

body.view-cases .case-command-center span,
body.view-cases .case-command-center small {
    color: var(--color-muted) !important;
    font-size: 13px;
}

body.view-cases .case-command-center strong {
    color: var(--color-text);
    font-size: 24px !important;
    line-height: 1.1;
}

body.view-cases .case-writing-data-card {
    display: grid;
    grid-template-columns: minmax(160px, 220px) minmax(0, 1fr) auto;
    gap: 16px;
    align-items: center;
    width: min(100%, 560px);
    min-height: 70px;
    margin: 0 0 14px;
    padding: 14px 18px;
    border: 1px solid rgba(239, 68, 68, .45);
    border-radius: 12px;
    background: linear-gradient(180deg, #FFF1F2 0%, #FFFFFF 100%);
    color: var(--color-text);
    text-decoration: none;
    box-shadow: 0 12px 26px rgba(239, 68, 68, .06);
}

body.view-cases .case-writing-data-card::before {
    content: "";
    width: 30px;
    height: 30px;
    background: url("template-icons/icon-alert.png?v=20260526-slices-4") center / contain no-repeat;
}

body.view-cases .case-writing-data-card {
    grid-template-columns: 30px minmax(160px, 220px) minmax(0, 1fr) auto;
}

body.view-cases .case-writing-data-card.is-complete {
    border-color: rgba(16, 185, 129, .34);
    background: #F0FDF4;
}

body.view-cases .case-writing-data-main {
    display: grid;
    gap: 4px;
    min-width: 0;
}

body.view-cases .case-writing-data-main span {
    color: var(--color-muted);
    font-size: 13px;
    font-weight: 760;
}

body.view-cases .case-writing-data-main strong {
    font-size: 24px;
    line-height: 1.1;
}

body.view-cases .case-writing-data-card p {
    margin: 0;
    min-width: 0;
    font-weight: 780;
}

body.view-cases .case-card-arrow {
    color: var(--color-primary);
    font-size: 30px;
    line-height: 1;
}

body.view-cases .case-summary-grid,
body.view-cases .case-content-grid,
body.view-cases .case-lower-grid {
    display: grid !important;
    gap: 14px !important;
    align-items: start;
    margin-top: 14px;
}

body.view-cases .case-summary-grid {
    grid-template-columns: 1.15fr 1fr 1fr !important;
}

body.view-cases .case-content-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

body.view-cases .case-lower-grid {
    grid-template-columns: 1.15fr 1fr 1fr !important;
}

body.view-cases .case-card,
body.view-cases .case-section,
body.view-cases .case-section-card {
    min-width: 0 !important;
    padding: 18px !important;
    border: 1px solid var(--color-border) !important;
    border-radius: 12px !important;
    background: var(--color-card) !important;
    box-shadow: 0 14px 34px rgba(15, 23, 42, .055) !important;
    overflow: hidden !important;
}

body.view-cases .case-card h3,
body.view-cases .case-card h4 {
    margin: 0 0 12px !important;
    color: var(--color-text);
}

body.view-cases .case-card h3 {
    font-size: 17px !important;
}

body.view-cases .case-card h4 {
    font-size: 14px !important;
}

body.view-cases .case-accordion > summary {
    display: flex;
    gap: 12px;
    align-items: center;
    justify-content: space-between;
    margin: -2px 0 12px;
    cursor: pointer;
    list-style: none;
}

body.view-cases .case-accordion > summary::-webkit-details-marker {
    display: none;
}

body.view-cases .case-accordion > summary::after {
    content: "⌄";
    flex: 0 0 auto;
    color: var(--color-muted);
    font-size: 20px;
    line-height: 1;
}

body.view-cases .case-accordion[open] > summary::after {
    transform: rotate(180deg);
}

body.view-cases .case-accordion > summary h3 {
    margin: 0 !important;
}

body.view-cases .key-values {
    display: grid !important;
    gap: 0 !important;
}

body.view-cases .key-values div {
    display: grid !important;
    grid-template-columns: minmax(128px, 42%) minmax(0, 1fr) !important;
    gap: 16px !important;
    min-width: 0 !important;
    padding: 10px 0 !important;
    border-bottom: 1px solid var(--color-border);
}

body.view-cases .key-values div:last-child {
    border-bottom: 0;
}

body.view-cases .key-values dt,
body.view-cases .key-values dd {
    min-width: 0 !important;
    margin: 0 !important;
    overflow-wrap: anywhere !important;
    white-space: normal !important;
    word-break: normal !important;
}

body.view-cases .key-values dt {
    color: var(--color-muted) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    text-transform: uppercase;
}

body.view-cases .key-values dd {
    color: var(--color-text) !important;
    font-size: 14px !important;
    font-weight: 620;
}

body.view-cases .required-documents {
    display: grid;
    gap: 12px;
}

body.view-cases .check-list {
    display: grid;
    gap: 8px;
    padding-left: 0;
    list-style: none;
}

body.view-cases .check-list li {
    padding: 10px 12px;
    border: 1px solid var(--color-border);
    border-radius: 10px;
    background: #FAFAFA;
}

body.view-cases .check-list li.warning {
    border-color: rgba(245, 158, 11, .42);
    background: #FFFBEB;
    color: #92400E;
}

body.view-cases .check-list li.ok {
    border-color: rgba(16, 185, 129, .34);
    background: #F0FDF4;
    color: #065F46;
}

body.view-cases .compact-upload-form,
body.view-cases .participant-form {
    max-width: none;
    margin-top: 12px;
    padding: 14px;
    border: 1px solid var(--color-border);
    border-radius: 12px;
    background: #FBFEFD;
}

body.view-cases .compact-upload-form .button,
body.view-cases .participant-form .button {
    width: 100%;
}

body.view-cases .compact-upload-form .button::before,
body.view-cases .participant-form .button::before,
body.view-cases .empty-state + p .button::before,
body.view-cases .mini-metrics .button::before {
    content: "";
    display: inline-block;
    width: 18px;
    height: 18px;
    margin-right: 8px;
    background: url("template-icons/feather-plus.png?v=20260526-slices-4") center / contain no-repeat;
}

body.view-cases input,
body.view-cases select,
body.view-cases textarea {
    border-color: var(--color-border);
    border-radius: 8px;
}

body.view-cases input[type="file"] {
    min-height: 44px;
    padding: 9px;
    background: #fff;
}

body.view-cases .empty-state {
    border: 1px solid #DDEAE7;
    border-radius: 10px;
    background: #F6FFFD;
    color: #0F766E;
}

body.view-cases .timeline {
    position: relative;
    gap: 0;
    padding-left: 10px;
}

body.view-cases .timeline li {
    position: relative;
    padding: 0 0 16px 24px;
    border-left: 2px solid #C9D5E1;
}

body.view-cases .timeline li::before {
    content: "";
    position: absolute;
    left: -6px;
    top: 2px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--color-primary-2);
}

body.view-cases .timeline li:last-child {
    padding-bottom: 0;
}

body.view-cases .timeline time {
    color: #64748B;
    font-size: 13px;
}

body.view-cases .timeline strong {
    color: var(--color-text);
}

body.view-cases .mini-metrics {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    gap: 10px;
    margin-bottom: 12px;
}

body.view-cases .mini-metrics span,
body.view-cases .mini-metrics .button {
    min-width: 0;
}

body.view-cases .case-stack {
    display: grid;
    gap: 16px;
}

body.view-cases .case-stack > div {
    min-width: 0;
}

body.view-cases .case-card table,
body.view-cases .case-section-card table {
    min-width: 720px !important;
}

body.view-cases .case-card:has(table),
body.view-cases .case-section-card:has(table),
body.view-cases .case-stack > div:has(table) {
    overflow-x: auto !important;
    overscroll-behavior-inline: contain;
}

body.view-cases .case-register-panel {
    margin-top: 14px;
}

body.view-cases .case-mobile-actions {
    display: none;
}

@media (min-width: 1536px) {
    body.view-cases .case-preview {
        max-width: 1680px !important;
    }

    body.view-cases .case-content-grid {
        grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) !important;
    }
}

@media (max-width: 1366px) {
    body.view-cases .case-command-center {
        grid-template-columns: repeat(5, minmax(150px, 1fr)) !important;
    }

    body.view-cases .case-content-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 1023px) {
    body.view-cases .workspace {
        padding: 16px;
        padding-bottom: 96px;
    }

    body.view-cases .case-preview {
        padding: 0 !important;
    }

    body.view-cases .case-action-bar {
        justify-content: flex-start;
    }

    body.view-cases .case-command-center {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    body.view-cases .case-summary-grid,
    body.view-cases .case-lower-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body.view-cases .case-content-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body.view-cases .case-writing-data-card {
        width: 100%;
    }
}

@media (min-width: 1024px) and (max-width: 1199px) {
    body.view-cases .app-shell {
        grid-template-columns: var(--sidebar-collapsed-width) minmax(0, 1fr) !important;
    }

    body.view-cases .sidebar {
        width: var(--sidebar-collapsed-width) !important;
        padding-inline: 10px !important;
    }

    body.view-cases .brand {
        justify-content: center;
        padding-inline: 6px;
    }

    body.view-cases .brand span,
    body.view-cases .nav-section-links,
    body.view-cases .nav-section summary::after {
        display: none !important;
    }

    body.view-cases .sidebar a,
    body.view-cases .nav-section summary,
    body.view-cases .logout-form button {
        display: flex !important;
        align-items: center;
        justify-content: center;
        padding-inline: 8px !important;
        font-size: 0 !important;
    }

    body.view-cases .sidebar a::first-letter,
    body.view-cases .nav-section summary::first-letter,
    body.view-cases .logout-form button::first-letter {
        font-size: 0 !important;
    }

    body.view-cases .case-command-center {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    body.view-cases .case-summary-grid,
    body.view-cases .case-lower-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 767px) {
    body.view-cases .workspace {
        padding-inline: 12px;
        padding-bottom: 104px;
    }

    body.view-cases .topbar {
        display: grid;
        grid-template-columns: 44px minmax(0, 1fr) auto;
        align-items: center;
        gap: 12px;
        min-height: 76px;
        margin: -12px -12px 18px;
        padding: 14px 16px;
        border-radius: 0 0 14px 14px;
        background: linear-gradient(135deg, #0F3D39 0%, #003D3C 100%);
        box-shadow: 0 12px 28px rgba(15, 61, 57, .16);
    }

    body.view-cases .topbar h1,
    body.view-cases .topbar .eyebrow,
    body.view-cases .topbar-actions .suggestion-toggle,
    body.view-cases .topbar-actions .user-chip {
        display: none;
    }

    body.view-cases .sidebar-toggle {
        display: inline-grid;
        width: 44px;
        min-width: 44px;
        height: 44px;
        padding: 0;
        border: 0;
        border-radius: 10px;
        background: rgba(255, 255, 255, .08);
        color: transparent;
        font-size: 0;
        box-shadow: none;
    }

    body.view-cases .sidebar-toggle::before {
        content: "";
        width: 24px;
        height: 18px;
        background:
            linear-gradient(#fff, #fff) 0 0 / 24px 2px no-repeat,
            linear-gradient(#fff, #fff) 0 8px / 24px 2px no-repeat,
            linear-gradient(#fff, #fff) 0 16px / 24px 2px no-repeat;
    }

    body.view-cases .topbar > div:not(.topbar-actions) {
        display: flex;
        min-width: 0;
        align-items: center;
        gap: 10px;
    }

    body.view-cases .topbar > div:not(.topbar-actions)::before {
        content: "";
        width: 42px;
        height: 42px;
        flex: 0 0 42px;
        border-radius: 50%;
        background: url("design-reference/crm-reference-brand-mark.png?v=20260526-reference-assets-4") center / cover no-repeat;
    }

    body.view-cases .topbar > div:not(.topbar-actions)::after {
        content: "CRM Kancelarii";
        min-width: 0;
        color: #fff;
        font-size: 18px;
        font-weight: 900;
        line-height: 1.1;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    body.view-cases .global-search {
        display: none;
    }

    body.view-cases .topbar-actions {
        display: flex;
        width: auto;
        margin-left: auto;
    }

    body.view-cases .mail-topbar-button {
        display: inline-grid;
        width: 44px;
        min-width: 44px;
        height: 44px;
        padding: 0;
        place-items: center;
        border: 0;
        border-radius: 10px;
        background: rgba(255, 255, 255, .08);
        box-shadow: none;
    }

    body.view-cases .mail-topbar-button .mail-label {
        display: none;
    }

    body.view-cases .mail-topbar-button .mail-icon {
        margin: 0;
        width: 24px;
        height: 24px;
        filter: brightness(0) invert(1);
    }

    body.view-cases .case-breadcrumb {
        display: none;
    }

    body.view-cases .case-hero h2 {
        font-size: clamp(28px, 8vw, 36px);
    }

    body.view-cases .case-action-bar {
        display: none !important;
    }

    body.view-cases .required-alert {
        padding: 18px 16px 18px 54px !important;
    }

    body.view-cases .case-command-center {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
    }

    body.view-cases .case-command-center article {
        min-height: 136px !important;
        padding: 60px 14px 14px !important;
    }

    body.view-cases .case-command-center article::before {
        left: 14px;
        top: 14px;
        width: 40px;
        height: 40px;
        -webkit-mask-size: 38px 38px;
        mask-size: 38px 38px;
    }

    body.view-cases .case-writing-data-card {
        grid-template-columns: 30px minmax(0, 1fr) auto;
        gap: 8px 12px;
        padding: 16px;
    }

    body.view-cases .case-writing-data-card p {
        grid-column: 2 / -1;
    }

    body.view-cases .case-writing-data-main strong {
        font-size: 26px;
    }

    body.view-cases .case-summary-grid,
    body.view-cases .case-content-grid,
    body.view-cases .case-lower-grid {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    body.view-cases .case-card,
    body.view-cases .case-section-card {
        padding: 16px !important;
        border-radius: 12px !important;
    }

    body.view-cases .key-values div {
        grid-template-columns: minmax(110px, 42%) minmax(0, 1fr) !important;
        gap: 10px !important;
    }

    body.view-cases .participant-form .form-row,
    body.view-cases .compact-upload-form .form-row {
        grid-template-columns: 1fr !important;
    }

    body.view-cases .case-card table,
    body.view-cases .case-section-card table {
        display: table !important;
        min-width: 680px !important;
    }

    body.view-cases .case-card table thead,
    body.view-cases .case-section-card table thead {
        display: table-header-group !important;
    }

    body.view-cases .case-card table tbody,
    body.view-cases .case-card table tr,
    body.view-cases .case-card table td,
    body.view-cases .case-section-card table tbody,
    body.view-cases .case-section-card table tr,
    body.view-cases .case-section-card table td {
        display: revert !important;
        width: auto !important;
    }

    body.view-cases .case-card table tr,
    body.view-cases .case-section-card table tr {
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
    }

    body.view-cases .case-card table td,
    body.view-cases .case-section-card table td {
        border-bottom: 1px solid var(--color-border) !important;
    }

    body.view-cases .case-card table td::before,
    body.view-cases .case-section-card table td::before {
        content: none !important;
    }

    body.view-cases .case-mobile-actions {
        position: fixed;
        z-index: 82;
        left: 0;
        right: 0;
        bottom: 0;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 10px;
        padding: 12px max(12px, env(safe-area-inset-left)) calc(12px + env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-right));
        border-top: 1px solid var(--color-border);
        background: rgba(255, 255, 255, .98);
        box-shadow: 0 -14px 28px rgba(15, 23, 42, .1);
    }

    body.view-cases .case-mobile-actions .button {
        min-height: 56px;
        border-radius: 10px;
        font-size: 15px;
    }

    body.view-cases .case-mobile-actions .button::before {
        width: 24px;
        height: 24px;
        margin-right: 10px;
    }

    body.view-cases .case-mobile-actions .button.primary::before {
        filter: brightness(0) invert(1);
        opacity: .96;
    }

    body.view-cases .mobile-bottom-nav {
        display: none;
    }
}

@media (max-width: 340px) {
    body.view-cases .case-command-center {
        grid-template-columns: 1fr !important;
    }

    body.view-cases .case-command-center article {
        min-height: 106px !important;
        padding: 16px 14px 14px 54px !important;
    }

    body.view-cases .key-values div {
        grid-template-columns: 1fr !important;
        gap: 3px !important;
    }

    body.view-cases .case-mobile-actions {
        grid-template-columns: 1fr;
    }
}

/* dashboard production guard 20260526 */
body.view-dashboard .dashboard-gridstack {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)) !important;
    gap: var(--space-md) !important;
    align-items: start !important;
    min-height: 0 !important;
}

body.view-dashboard .dashboard-gridstack .dashboard-widget {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    grid-column: span 1 !important;
}

body.view-dashboard .dashboard-gridstack .dashboard-widget[data-dashboard-size="S"] {
    grid-column: span 1 !important;
}

body.view-dashboard .dashboard-gridstack .dashboard-widget[data-dashboard-size="M"],
body.view-dashboard .dashboard-gridstack .dashboard-widget[data-dashboard-size="L"] {
    grid-column: span 2 !important;
}

body.view-dashboard .dashboard-gridstack .dashboard-widget[data-dashboard-size="XL"] {
    grid-column: span 3 !important;
}

@media (max-width: 1279px) {
    body.view-dashboard .dashboard-gridstack .dashboard-widget[data-dashboard-size] {
        grid-column: 1 / -1 !important;
    }
}

/* generator step label guard 20260526 */
body.view-generator .wizard-step {
    grid-template-columns: 32px minmax(0, 1fr) !important;
}

body.view-generator .wizard-step > span:first-child {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
}

body.view-generator .wizard-step > .wizard-step-label {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    background: transparent !important;
    border-radius: 0 !important;
    place-items: start !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    white-space: normal !important;
}

body.view-generator .wizard-step > .wizard-step-label small {
    display: block !important;
    margin-top: 2px !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
}

/* dashboard widget content wrapping 20260526 */
body.view-dashboard .dashboard-widget,
body.view-dashboard .dashboard-widget * {
    min-width: 0;
}

body.view-dashboard .dashboard-widget-body {
    font-size: clamp(13px, .9vw, 15px);
    overflow-x: hidden !important;
}

body.view-dashboard .dashboard-widget-body table {
    width: 100% !important;
    max-width: 100% !important;
    table-layout: fixed !important;
}

body.view-dashboard .dashboard-widget-body th,
body.view-dashboard .dashboard-widget-body td {
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    vertical-align: top !important;
}

body.view-dashboard .dashboard-widget-body a,
body.view-dashboard .dashboard-widget-body small,
body.view-dashboard .dashboard-widget-body strong,
body.view-dashboard .dashboard-widget-body span {
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: normal;
}

body.view-dashboard .dashboard-widget-body .pill {
    display: inline-flex;
    width: auto;
    max-width: 100%;
    min-width: 0;
    height: auto;
    min-height: 28px;
    white-space: normal;
    text-align: center;
    line-height: 1.2;
}

body.view-dashboard .dashboard-widget-body .mail-message-row {
    min-width: 0 !important;
    overflow: hidden !important;
}

body.view-dashboard .dashboard-widget-body .mail-row-open {
    display: grid !important;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1fr) minmax(0, 1.15fr) minmax(78px, .7fr) !important;
    gap: 8px !important;
    align-items: start !important;
    min-width: 0 !important;
}

body.view-dashboard .dashboard-widget-body .mail-row-open > * {
    min-width: 0 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
}

@container (max-width: 560px) {
    body.view-dashboard .dashboard-widget-body .mail-row-open {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

/* mailbox fixed work layout 20260526 */
body.view-mailbox .mailbox-dashboard-workspace {
    width: min(100%, 1540px) !important;
    margin: 0 auto 24px !important;
}

body.view-mailbox .mailbox-gridstack.dashboard-gridstack {
    display: grid !important;
    position: relative !important;
    height: auto !important;
    min-height: 0 !important;
    grid-template-columns: minmax(240px, 320px) minmax(0, 1fr) !important;
    grid-template-areas:
        "folders list"
        "preview preview"
        "rules rules" !important;
    gap: 16px !important;
    align-items: start !important;
}

body.view-mailbox .mailbox-gridstack.dashboard-gridstack .mailbox-widget,
body.view-mailbox .mailbox-gridstack.dashboard-gridstack .mailbox-widget[data-dashboard-widget] {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    transform: none !important;
    overflow: hidden !important;
}

body.view-mailbox #mailbox_folders {
    grid-area: folders !important;
}

body.view-mailbox #mailbox_list {
    grid-area: list !important;
}

body.view-mailbox #mailbox_preview {
    grid-area: preview !important;
}

body.view-mailbox #mailbox_rules {
    grid-area: rules !important;
}

body.view-mailbox #mailbox_list .dashboard-widget-body,
body.view-mailbox #mailbox_preview .dashboard-widget-body {
    height: auto !important;
    max-height: 760px !important;
    overflow: auto !important;
}

body.view-mailbox #mailbox_preview .mailbox-preview {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 420px !important;
}

body.view-mailbox #mailbox_rules {
    min-height: 0 !important;
}

body.view-mailbox #mailbox_rules .dashboard-widget-head {
    border-bottom: 0 !important;
}

body.view-mailbox #mailbox_rules .dashboard-widget-body {
    height: 0 !important;
    max-height: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    overflow: hidden !important;
}

body.view-mailbox .mailbox-dashboard-workspace.is-editing #mailbox_rules .dashboard-widget-body,
body.view-mailbox #mailbox_rules:focus-within .dashboard-widget-body {
    height: auto !important;
    max-height: 360px !important;
    padding-top: 16px !important;
    padding-bottom: 16px !important;
    overflow: auto !important;
}

@media (max-width: 900px) {
    body.view-mailbox .mailbox-gridstack.dashboard-gridstack {
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-areas:
            "folders"
            "list"
            "preview"
            "rules" !important;
    }
}

/* keep supplied menu SVG icons visible after responsive case-view overrides */
body .sidebar a::before,
body .nav-section summary::before {
    flex: 0 0 32px !important;
    width: 32px !important;
    height: 32px !important;
    background-image: none !important;
    background-color: currentColor !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    -webkit-mask: var(--module-icon) center / 30px 30px no-repeat !important;
    mask: var(--module-icon) center / 30px 30px no-repeat !important;
    opacity: 1 !important;
}
body .dashboard-app-icon {
    width: 56px !important;
    height: 56px !important;
    min-height: 56px !important;
}
body .dashboard-app-icon::before {
    inset: 7px !important;
    -webkit-mask: var(--module-icon) center / 40px 40px no-repeat !important;
    mask: var(--module-icon) center / 40px 40px no-repeat !important;
}
body .sidebar a[href="?view=contract_generator"],body .dashboard-app-tile[href="?view=contract_generator"]{--module-icon:url("crm-graphics/menu-custom/contract-generator.svg?v=20260526-menu-icons-2")!important;}
body .sidebar a[href="?view=contracts"],body .dashboard-app-tile[href="?view=contracts"]{--module-icon:url("crm-graphics/menu-custom/client-contracts.svg?v=20260526-menu-icons-2")!important;}
body .sidebar a[href="?view=payment_new"],body .dashboard-app-tile[href="?view=payment_new"]{--module-icon:url("crm-graphics/menu-custom/payment-new.svg?v=20260526-menu-icons-2")!important;}
body .sidebar a[href="?view=leads"],body .dashboard-app-tile[href="?view=leads"]{--module-icon:url("crm-graphics/menu-custom/leads.svg?v=20260526-menu-icons-2")!important;}
body .sidebar a[href="?view=courts"],body .dashboard-app-tile[href="?view=courts"]{--module-icon:url("crm-graphics/menu-custom/courts.svg?v=20260526-menu-icons-2")!important;}
body .sidebar a[href="?view=legal_articles"],body .dashboard-app-tile[href="?view=legal_articles"]{--module-icon:url("crm-graphics/menu-custom/legal-articles.svg?v=20260526-menu-icons-2")!important;}
body .sidebar a[href^="?view=rodo_generator"]{--module-icon:url("crm-graphics/dashboard-apps/rodo.svg?v=20260526-rodo-nav")!important;}

/* dashboard application graphics must win over responsive icon fallbacks */
body .dashboard-springboard .dashboard-app-icon {
    width: 72px !important;
    height: 72px !important;
    min-width: 72px !important;
    min-height: 72px !important;
    border-radius: 16px !important;
    background-color: transparent !important;
    background-image: var(--dashboard-app-graphic) !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
    box-shadow: none !important;
    color: transparent !important;
    font-size: 0 !important;
}
body .dashboard-springboard .dashboard-app-icon::before {
    content: "" !important;
    display: none !important;
}
body .dashboard-springboard .dashboard-app-icon img {
    display: block !important;
    width: 72px !important;
    height: 72px !important;
    max-width: 72px !important;
    max-height: 72px !important;
    object-fit: contain !important;
    opacity: 1 !important;
    visibility: visible !important;
    filter: none !important;
    transform: none !important;
}
body .dashboard-springboard .dashboard-app-tile:hover .dashboard-app-icon img,
body .dashboard-springboard .dashboard-app-tile:focus-visible .dashboard-app-icon img,
body .dashboard-springboard .dashboard-app-tile:active .dashboard-app-icon img {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    filter: none !important;
}

/* final sidebar icon audit fix 20260527
   This file loads after crm.css, so it must not restore old mask/folder fallbacks. */
body .app-shell .sidebar a::before,
body .app-shell .sidebar a.nav-primary::before,
body .app-shell .nav-section summary::before {
    content: "" !important;
    display: inline-flex !important;
    flex: 0 0 44px !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    border-radius: 14px !important;
    background-color: rgba(255,255,255,.055) !important;
    background-image: var(--menu-icon-graphic) !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 31px 31px !important;
    -webkit-mask: none !important;
    mask: none !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
    opacity: 1 !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.05) !important;
    filter: brightness(0) invert(1) !important;
    transform: none !important;
}

body .app-shell .sidebar .nav-section-links a::before {
    flex-basis: 38px !important;
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;
    border-radius: 12px !important;
    background-size: 27px 27px !important;
}

body .app-shell .sidebar a:is(:hover,:focus-visible,.active)::before,
body .app-shell .sidebar a.nav-primary:is(:hover,:focus-visible,.active)::before,
body .app-shell .nav-section summary:is(:hover,:focus-visible)::before,
body .app-shell .nav-section[open] > summary::before {
    background-color: rgba(19,196,184,.16) !important;
    border-color: rgba(45,212,191,.42) !important;
    box-shadow: inset 0 0 0 1px rgba(45,212,191,.20), 0 8px 18px rgba(0,0,0,.20) !important;
    filter: brightness(0) invert(1) !important;
    transform: translateY(-1px) !important;
}

/* hover visibility fix 20260527
   Keep the SVG itself white on hover/active; only the tile background changes. */
body .app-shell .sidebar a:is(:hover,:focus-visible,.active)::before,
body .app-shell .sidebar a.nav-primary:is(:hover,:focus-visible,.active)::before,
body .app-shell .nav-section summary:is(:hover,:focus-visible)::before,
body .app-shell .nav-section[open] > summary::before {
    background-image: var(--menu-icon-graphic) !important;
    background-color: rgba(19,196,184,.16) !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    -webkit-mask: none !important;
    mask: none !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
    opacity: 1 !important;
    filter: brightness(0) invert(1) !important;
}

/* sidebar scroll audit fix 20260528 */
html,
body {
    min-height: 100%;
}

body .app-shell {
    min-height: 100dvh !important;
    align-items: start !important;
}

body .app-shell > .sidebar {
    min-height: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    scrollbar-gutter: stable both-edges;
    -webkit-overflow-scrolling: touch;
}

body .app-shell > .sidebar nav {
    flex: 0 0 auto !important;
    min-height: 0 !important;
}

body .app-shell > .sidebar .logout-form {
    flex: 0 0 auto !important;
}

@media (min-width: 1024px) {
    body .app-shell > .sidebar,
    body.view-cases .app-shell > .sidebar,
    body.view-dashboard .app-shell > .sidebar,
    body.view-mailbox .app-shell > .sidebar,
    body.view-courts .app-shell > .sidebar,
    body.view-generator .app-shell > .sidebar,
    body.view-documents .app-shell > .sidebar,
    body.view-price_list .app-shell > .sidebar,
    body.view-legal_articles .app-shell > .sidebar {
        position: sticky !important;
        top: 0 !important;
        height: 100dvh !important;
        max-height: 100dvh !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
    }
}

@media (max-width: 1023px) {
    body .app-shell > .sidebar {
        height: 100dvh !important;
        max-height: 100dvh !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
    }
}

/* CRM menu icon pack 20260528 */
:root {
  --crm-nav-width: 282px;
  --crm-nav-icon: 54px;
  --crm-nav-icon-child: 46px;
  --crm-nav-accent: #65ffe0;
}
body .app-shell,
body.view-mailbox .app-shell {
  grid-template-columns: var(--crm-nav-width) minmax(0, 1fr) !important;
}
body .app-shell > .sidebar,
body.view-mailbox .app-shell > .sidebar {
  width: var(--crm-nav-width) !important;
  max-width: var(--crm-nav-width) !important;
  min-width: var(--crm-nav-width) !important;
  padding: 16px 12px 18px !important;
  gap: 14px !important;
  background: linear-gradient(180deg, #0f2530 0%, #0b202a 100%) !important;
  border-right: 1px solid rgba(180, 208, 218, .22) !important;
}
body .app-shell > .sidebar nav {
  display: grid !important;
  gap: 4px !important;
}
body .app-shell .sidebar a,
body .app-shell .nav-section summary {
  display: flex !important;
  align-items: center !important;
  gap: 11px !important;
  min-height: 68px !important;
  width: 100% !important;
  padding: 7px 10px !important;
  border: 1px solid transparent !important;
  border-radius: 12px !important;
  color: #f5fbfd !important;
  text-decoration: none !important;
  font: 650 16px/1.12 Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  cursor: pointer !important;
}
body .app-shell .nav-section summary {
  position: relative !important;
  list-style: none !important;
  padding-left: 28px !important;
}
body .app-shell .nav-section summary::-webkit-details-marker {
  display: none !important;
}
body .app-shell .nav-section summary::after {
  content: "" !important;
  position: absolute !important;
  left: 10px !important;
  top: 50% !important;
  width: 0 !important;
  height: 0 !important;
  border-top: 5px solid transparent !important;
  border-bottom: 5px solid transparent !important;
  border-left: 7px solid rgba(245, 251, 253, .74) !important;
  transform: translateY(-50%) rotate(0deg) !important;
  transition: transform .18s ease, border-left-color .18s ease !important;
}
body .app-shell .nav-section[open] > summary::after {
  transform: translateY(-50%) rotate(90deg) !important;
  border-left-color: #fff !important;
}
body .app-shell .sidebar a::before,
body .app-shell .sidebar a.nav-primary::before,
body .app-shell .nav-section summary::before {
  content: "" !important;
  display: inline-flex !important;
  flex: 0 0 var(--crm-nav-icon) !important;
  width: var(--crm-nav-icon) !important;
  height: var(--crm-nav-icon) !important;
  min-width: var(--crm-nav-icon) !important;
  min-height: var(--crm-nav-icon) !important;
  border-radius: 17px !important;
  border: 2px solid rgba(185, 205, 214, .20) !important;
  background-color: #21343f !important;
  background-image: var(--menu-icon-graphic) !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 34px 34px !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.05), 0 6px 16px rgba(0,0,0,.18) !important;
  filter: none !important;
  opacity: 1 !important;
  transform: none !important;
}
body .app-shell .nav-section-links {
  display: grid !important;
  gap: 2px !important;
  padding: 3px 0 10px 34px !important;
}
body .app-shell .nav-section-links a {
  min-height: 56px !important;
  padding: 6px 8px !important;
  font-size: 15px !important;
}
body .app-shell .nav-section-links a::before {
  flex-basis: var(--crm-nav-icon-child) !important;
  width: var(--crm-nav-icon-child) !important;
  height: var(--crm-nav-icon-child) !important;
  min-width: var(--crm-nav-icon-child) !important;
  min-height: var(--crm-nav-icon-child) !important;
  border-radius: 14px !important;
  background-size: 29px 29px !important;
}
body .app-shell .sidebar a:hover,
body .app-shell .sidebar a:focus-visible,
body .app-shell .sidebar a.active,
body .app-shell .nav-section summary:hover,
body .app-shell .nav-section summary:focus-visible,
body .app-shell .nav-section[open] > summary {
  background: rgba(39, 69, 82, .82) !important;
  border-color: rgba(148, 184, 198, .55) !important;
  box-shadow: 0 10px 26px rgba(0, 22, 31, .23), inset 0 0 0 1px rgba(255,255,255,.04) !important;
}
body .app-shell .sidebar a:hover::before,
body .app-shell .sidebar a:focus-visible::before,
body .app-shell .sidebar a.active::before,
body .app-shell .nav-section summary:hover::before,
body .app-shell .nav-section summary:focus-visible::before,
body .app-shell .nav-section[open] > summary::before {
  background-color: #344b57 !important;
  border-color: rgba(217, 232, 237, .58) !important;
  box-shadow: 0 0 26px rgba(101, 255, 224, .10), 0 10px 24px rgba(0,0,0,.22), inset 0 0 0 1px rgba(255,255,255,.07) !important;
  filter: none !important;
  transform: translateY(-1px) !important;
}
body .app-shell .sidebar a:focus-visible,
body .app-shell .nav-section summary:focus-visible {
  outline: 2px solid #aef8ea !important;
  outline-offset: 2px !important;
}
body.sidebar-collapsed .app-shell {
  grid-template-columns: var(--sidebar-collapsed-width) minmax(0, 1fr) !important;
}
body.sidebar-collapsed .app-shell > .sidebar {
  width: var(--sidebar-collapsed-width) !important;
  min-width: var(--sidebar-collapsed-width) !important;
  max-width: var(--sidebar-collapsed-width) !important;
  padding-inline: 8px !important;
}
body.sidebar-collapsed .app-shell .sidebar a,
body.sidebar-collapsed .app-shell .nav-section summary {
  justify-content: center !important;
  min-height: 64px !important;
  padding-inline: 4px !important;
  font-size: 0 !important;
}
body.sidebar-collapsed .app-shell .nav-section-links {
  display: none !important;
}
body.sidebar-collapsed .app-shell .nav-section summary::after {
  display: none !important;
}
@media (max-width: 1023px) {
  body .app-shell,
  body.view-mailbox .app-shell {
    grid-template-columns: 1fr !important;
  }
  body .app-shell > .sidebar,
  body.view-mailbox .app-shell > .sidebar {
    width: min(86vw, var(--crm-nav-width)) !important;
    min-width: 0 !important;
    max-width: min(86vw, var(--crm-nav-width)) !important;
  }
}

/* CRM menu pack followup 20260528 */
body .app-shell > .sidebar .nav-section .nav-section-links a::before,
body.view-mailbox .app-shell > .sidebar .nav-section .nav-section-links a::before {
  flex: 0 0 var(--crm-nav-icon-child) !important;
  width: var(--crm-nav-icon-child) !important;
  height: var(--crm-nav-icon-child) !important;
  min-width: var(--crm-nav-icon-child) !important;
  min-height: var(--crm-nav-icon-child) !important;
  border-radius: 14px !important;
  background-size: 29px 29px !important;
  filter: none !important;
}
body .app-shell > .sidebar a[href="?view=authorization_generator"]::before {
  background-image: url("/assets/crm-menu-icons/plain/pelnomocnictwa.svg?v=20260528-menu-pack-icons-2") !important;
}
body .app-shell > .sidebar a[href^="?view=rodo_generator&document_type=umowa_powierzenia"]::before {
  background-image: url("/assets/crm-menu-icons/plain/umowy-rodo.svg?v=20260528-menu-pack-icons-2") !important;
}
body .app-shell > .sidebar a[href="?view=rodo_register"]::before {
  background-image: url("/assets/crm-menu-icons/plain/rejestr-rodo.svg?v=20260528-menu-pack-icons-2") !important;
}
body .app-shell > .sidebar a[href="?view=document_settings"]::before {
  background-image: url("/assets/crm-menu-icons/plain/wyglad-dokumentow.svg?v=20260528-menu-pack-icons-2") !important;
}
body .app-shell > .sidebar a[href="?view=mail_templates"]::before {
  background-image: url("/assets/crm-menu-icons/plain/wzory-maili.svg?v=20260528-menu-pack-icons-2") !important;
}

/* CRM mobile sidebar hardening 20260529 */
@media (max-width: 1023px) {
  body .app-shell,
  body.view-mailbox .app-shell {
    display: block !important;
    grid-template-columns: 1fr !important;
  }

  body .hw-global-topbar {
    margin-top: 58px !important;
  }

  body .hw-menu-toggle[data-sidebar-toggle],
  body button.sidebar-toggle[data-sidebar-toggle] {
    position: fixed !important;
    top: max(10px, env(safe-area-inset-top)) !important;
    left: max(10px, env(safe-area-inset-left)) !important;
    z-index: 140 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 58px !important;
    height: 46px !important;
    padding: 0 14px !important;
    border-radius: 15px !important;
    border: 1px solid rgba(20, 184, 166, .34) !important;
    background: #ffffff !important;
    color: #0f172a !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    box-shadow: 0 10px 28px rgba(15, 23, 42, .16) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  body .app-shell > .sidebar,
  body.view-mailbox .app-shell > .sidebar {
    position: fixed !important;
    top: 0 !important;
    right: auto !important;
    bottom: 0 !important;
    left: 0 !important;
    z-index: 120 !important;
    width: min(92vw, 360px) !important;
    min-width: 0 !important;
    max-width: min(92vw, 360px) !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    padding-top: calc(66px + env(safe-area-inset-top)) !important;
    padding-bottom: calc(28px + env(safe-area-inset-bottom)) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    transition: transform .22s ease, visibility .22s ease !important;
  }

  body .app-shell > .sidebar nav,
  body.view-mailbox .app-shell > .sidebar nav {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  body .app-shell .sidebar a,
  body .app-shell .nav-section summary,
  body.view-mailbox .app-shell .sidebar a,
  body.view-mailbox .app-shell .nav-section summary {
    min-height: 58px !important;
    padding: 10px 14px !important;
    gap: 10px !important;
    font-size: 15px !important;
    line-height: 1.2 !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }

  body .app-shell .sidebar a::before,
  body .app-shell .nav-section summary::before,
  body.view-mailbox .app-shell .sidebar a::before,
  body.view-mailbox .app-shell .nav-section summary::before {
    flex-basis: 44px !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    border-radius: 14px !important;
    background-size: 26px 26px !important;
  }

  body .app-shell .nav-section summary,
  body.view-mailbox .app-shell .nav-section summary {
    padding-left: 32px !important;
  }

  body .app-shell .nav-section summary::after,
  body.view-mailbox .app-shell .nav-section summary::after {
    left: 12px !important;
  }

  body .app-shell .nav-section-links,
  body.view-mailbox .app-shell .nav-section-links {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 6px !important;
    padding: 6px 0 10px 18px !important;
  }

  body .app-shell .nav-section-links a,
  body.view-mailbox .app-shell .nav-section-links a {
    min-height: 50px !important;
    padding: 8px 10px !important;
    font-size: 14px !important;
  }

  body .app-shell .nav-section-links a::before,
  body.view-mailbox .app-shell .nav-section-links a::before {
    flex-basis: 38px !important;
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;
    border-radius: 12px !important;
    background-size: 22px 22px !important;
  }

  body:not(.sidebar-open) .app-shell > .sidebar,
  body:not(.sidebar-open).view-mailbox .app-shell > .sidebar {
    transform: translate3d(-110%, 0, 0) !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  body.sidebar-open .app-shell > .sidebar,
  body.sidebar-open.view-mailbox .app-shell > .sidebar {
    transform: translate3d(0, 0, 0) !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  body.sidebar-open {
    overflow: hidden !important;
  }

  body.sidebar-open .sidebar-backdrop {
    position: fixed !important;
    inset: 0 !important;
    z-index: 110 !important;
    display: block !important;
    background: rgba(15, 23, 42, .42) !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  body .sidebar-backdrop[hidden] {
    display: none !important;
  }
}

/* CRM dedicated mobile full menu button 20260529 */
.crm-mobile-menu-button {
  display: none !important;
}

@media (max-width: 1023px) {
  body .crm-mobile-menu-button[data-sidebar-toggle] {
    position: fixed !important;
    top: max(10px, env(safe-area-inset-top)) !important;
    right: auto !important;
    left: calc(100vw - 132px) !important;
    z-index: 180 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 76px !important;
    width: 120px !important;
    height: 46px !important;
    padding: 0 16px !important;
    border-radius: 16px !important;
    border: 1px solid rgba(20, 184, 166, .38) !important;
    background: #ffffff !important;
    color: #0f172a !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    box-shadow: 0 12px 32px rgba(15, 23, 42, .18) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  body.sidebar-open .crm-mobile-menu-button[data-sidebar-toggle] {
    background: #0f766e !important;
    color: #ffffff !important;
    border-color: #0f766e !important;
  }
}

/* CRM full mobile navigation and overflow audit fixes 20260529 */
@media (max-width: 720px) {
  body .mobile-bottom-nav {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
    overflow: visible !important;
    justify-content: stretch !important;
    align-items: stretch !important;
    scrollbar-width: none !important;
  }

  body .mobile-bottom-nav a,
  body .mobile-bottom-nav button.mobile-bottom-menu-trigger,
  body .mobile-bottom-nav .mobile-bottom-capture-form .required-upload-button {
    min-width: 0 !important;
    max-width: none !important;
    width: 100% !important;
    min-height: 58px !important;
    border: 0 !important;
    border-radius: 16px !important;
    background: #ffffff !important;
    color: #647080 !important;
    text-align: center !important;
    text-decoration: none !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 10px !important;
    box-sizing: border-box !important;
  }

  body .mobile-bottom-nav a.active,
  body .mobile-bottom-nav button.mobile-bottom-menu-trigger {
    background: #eaf7f4 !important;
    color: #0f172a !important;
  }

  body .mobile-bottom-nav button.mobile-bottom-menu-trigger {
    appearance: none !important;
    cursor: pointer !important;
  }

  body .mobile-bottom-nav .mobile-bottom-capture-form {
    grid-column: 1 / -1 !important;
    width: 100% !important;
  }

  body .mobile-bottom-nav a.mobile-bottom-capture-form {
    min-height: 64px !important;
    border-radius: 18px !important;
    background: linear-gradient(135deg, #0f766e, #19b394) !important;
    color: #ffffff !important;
    box-shadow: 0 14px 28px rgba(15, 118, 110, .26) !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    letter-spacing: .01em !important;
  }

  body .mobile-bottom-nav .mobile-bottom-capture-form .required-upload-button {
    min-height: 64px !important;
    border-radius: 18px !important;
    background: linear-gradient(135deg, #0f766e, #19b394) !important;
    color: #ffffff !important;
    box-shadow: 0 14px 28px rgba(15, 118, 110, .26) !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    letter-spacing: .01em !important;
  }

  body .mobile-bottom-nav .mobile-bottom-capture-form .required-upload-button input[type="file"] {
    display: none !important;
  }

  body .mobile-bottom-nav a.mobile-bottom-capture-form {
    position: fixed !important;
    z-index: 8998 !important;
    left: auto !important;
    right: 84px !important;
    bottom: calc(16px + env(safe-area-inset-bottom, 0px)) !important;
    grid-column: auto !important;
    display: grid !important;
    place-items: center !important;
    width: 58px !important;
    min-width: 58px !important;
    max-width: 58px !important;
    height: 58px !important;
    min-height: 58px !important;
    padding: 0 !important;
    overflow: visible !important;
    border: 1px solid rgba(255,255,255,.42) !important;
    border-radius: 50% !important;
    background: linear-gradient(135deg, #0f766e, #19b394) !important;
    box-shadow: 0 12px 28px rgba(15,118,110,.30) !important;
    color: #ffffff !important;
  }

  body .mobile-bottom-nav a.mobile-bottom-capture-form::before {
    content: none !important;
    display: none !important;
  }

  body .mobile-bottom-nav .mobile-bottom-capture-icon {
    display: block !important;
    width: 27px !important;
    height: 27px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.8 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
  }

  body .mobile-bottom-nav .mobile-bottom-capture-label {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
    white-space: nowrap !important;
  }

  body .crm-mobile-menu-button[data-sidebar-toggle] {
    position: fixed !important;
    top: calc(env(safe-area-inset-top, 0px) + 12px) !important;
    right: auto !important;
    left: calc(100vw - 132px) !important;
    z-index: 1200 !important;
    width: 120px !important;
    min-width: 76px !important;
    max-width: 120px !important;
  }

  body .workspace,
  body .hw-global-topbar,
  body .hw-topbar,
  body .panel,
  body .card,
  body .case-section,
  body .rbac-hero,
  body .rbac-editor,
  body .rbac-role-list,
  body .rbac-role-card,
  body .rbac-panel,
  body .rbac-users,
  body .rbac-main,
  body .clients-layout,
  body .calendar-shell,
  body .contract-generator-page,
  body .contract-generator-layout,
  body .authorization-generator,
  body .generator-page,
  body .generator-layout {
    max-width: 100% !important;
    min-width: 0 !important;
    width: auto !important;
    box-sizing: border-box !important;
  }

  body .rbac-role-card {
    grid-template-columns: 40px minmax(0, 1fr) !important;
  }

  body .rbac-role-card > span,
  body .rbac-role-card strong,
  body .rbac-role-card small,
  body .rbac-role-card em {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  body .rbac-hero,
  body .rbac-editor,
  body .rbac-role-list,
  body .rbac-permissions-grid,
  body .rbac-main,
  body .clients-layout,
  body .calendar-shell,
  body .contract-generator-layout,
  body .authorization-generator .grid,
  body .generator-layout {
    width: 100% !important;
    grid-template-columns: 1fr !important;
  }

  body .rbac-hero-actions,
  body .module-action-bar,
  body .form-actions,
  body .quick-actions,
  body .calendar-toolbar,
  body .contract-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    min-width: 0 !important;
  }

  body table,
  body .table-scroll table {
    min-width: 720px !important;
  }

  body .table-scroll,
  body .panel:has(table),
  body .case-section:has(table),
  body .rbac-editor,
  body .clients-table-wrap,
  body .calendar-list,
  body .contract-price-table {
    overflow-x: auto !important;
  }
}

/* Keep the desktop sidebar independent without changing its visual style. */
@media (min-width: 1024px) {
  body {
    --crm-sidebar-space: 282px;
  }

  body.sidebar-collapsed {
    --crm-sidebar-space: 90px;
  }

  .app-shell {
    display: block;
    min-height: 100vh;
  }

  .app-shell > .sidebar {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    z-index: 95;
    height: 100vh;
    overflow-y: auto;
  }

  .app-shell > .workspace {
    margin-left: var(--crm-sidebar-space);
    min-height: 100vh;
  }
}

/* Final desktop sidebar positioning override: behavior only, no visual restyle. */
@media (min-width: 1024px) {
  .app-shell > .sidebar {
    position: fixed !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    height: 100vh !important;
    overflow-y: auto !important;
  }

  .app-shell > .workspace {
    margin-left: var(--crm-sidebar-space) !important;
    width: auto !important;
    max-width: none !important;
  }
}

/* Match the existing sidebar specificity so fixed positioning wins on desktop. */
@media (min-width: 1024px) {
  body .app-shell > .sidebar {
    position: fixed !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    height: 100vh !important;
    overflow-y: auto !important;
  }

  body .app-shell > .workspace {
    margin-left: var(--crm-sidebar-space) !important;
    width: auto !important;
    max-width: none !important;
  }
}

/* Restore one-column admin/content grids after fixed sidebar layout. */
@media (min-width: 1024px) {
  body .workspace .grid.one,
  body .workspace .grid.one.users-admin-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body .workspace .grid.one > .panel,
  body .workspace .grid.one > .card,
  body .workspace .grid.one > details,
  body .workspace .grid.one > section {
    width: 100% !important;
    min-width: 0 !important;
  }

  body .workspace .panel:has(table),
  body .workspace .settings-group:has(table),
  body .workspace .module-group:has(table),
  body .workspace .rbac-matrix-wrap {
    max-width: 100% !important;
    overflow-x: auto !important;
  }
}

/* Final desktop shell alignment: fixed sidebar, workspace starts at top next to menu. */
@media (min-width: 1024px) {
  body {
    --crm-sidebar-space: 282px;
    --crm-workspace-pad-top: 12px;
    --crm-workspace-pad-x: 14px;
    --crm-workspace-pad-bottom: 28px;
  }

  body.sidebar-collapsed {
    --crm-sidebar-space: 90px;
  }

  body .app-shell {
    display: grid !important;
    grid-template-columns: var(--crm-sidebar-space) minmax(0, 1fr) !important;
    align-items: start !important;
    min-height: 100vh !important;
  }

  body .app-shell > .sidebar {
    grid-column: 1 !important;
    position: fixed !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: var(--crm-sidebar-space) !important;
    height: 100vh !important;
    overflow-y: auto !important;
  }

  body .app-shell > .workspace {
    grid-column: 2 !important;
    align-self: start !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: var(--crm-workspace-pad-top) var(--crm-workspace-pad-x) var(--crm-workspace-pad-bottom) var(--crm-workspace-pad-x) !important;
  }

  body .workspace .crm-module-frame,
  body .workspace .dashboard-shell,
  body .workspace .mailbox-dashboard-workspace,
  body .workspace .panel,
  body .workspace .card,
  body .workspace .case-section,
  body .workspace .calendar-shell {
    max-width: 100% !important;
  }
}

/* Stronger than view-specific sidebar rules: all desktop views share the same shell. */
@media (min-width: 1024px) {
  html body[class] .app-shell {
    display: grid !important;
    grid-template-columns: var(--crm-sidebar-space) minmax(0, 1fr) !important;
    align-items: start !important;
  }

  html body[class] .app-shell > .sidebar {
    position: fixed !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: var(--crm-sidebar-space) !important;
    height: 100vh !important;
    overflow-y: auto !important;
  }

  html body[class] .app-shell > .workspace {
    grid-column: 2 !important;
    align-self: start !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: var(--crm-workspace-pad-top) var(--crm-workspace-pad-x) var(--crm-workspace-pad-bottom) var(--crm-workspace-pad-x) !important;
  }
}

/* CRM light sidebar redesign 20260620 */
:root {
  --crm-sidebar-light-width: 264px;
  --crm-sidebar-light-collapsed-width: 76px;
  --crm-sidebar-light-bg: #ffffff;
  --crm-sidebar-light-ink: #111827;
  --crm-sidebar-light-muted: #64748b;
  --crm-sidebar-light-line: #e5e7eb;
  --crm-sidebar-light-hover: #f8fafc;
  --crm-sidebar-light-active: #eef7f4;
}

@media (min-width: 1024px) {
  body {
    --crm-sidebar-space: var(--crm-sidebar-light-width);
    --sidebar-collapsed-width: var(--crm-sidebar-light-collapsed-width);
  }

  body.sidebar-collapsed {
    --crm-sidebar-space: var(--crm-sidebar-light-collapsed-width);
  }

  html body[class] .app-shell,
  body .app-shell,
  body.view-mailbox .app-shell {
    grid-template-columns: var(--crm-sidebar-space) minmax(0, 1fr) !important;
  }

  html body[class] .app-shell > .sidebar,
  body .app-shell > .sidebar,
  body.view-mailbox .app-shell > .sidebar {
    width: var(--crm-sidebar-space) !important;
    min-width: var(--crm-sidebar-space) !important;
    max-width: var(--crm-sidebar-space) !important;
  }
}

html body[data-crm-shell] .app-shell > .sidebar,
html body[data-crm-shell].view-mailbox .app-shell > .sidebar {
  gap: 8px !important;
  padding: 12px 10px 16px !important;
  background: var(--crm-sidebar-light-bg) !important;
  background-image: none !important;
  border-right: 1px solid var(--crm-sidebar-light-line) !important;
  color: var(--crm-sidebar-light-ink) !important;
  box-shadow: 8px 0 30px rgba(15, 23, 42, .05) !important;
  scrollbar-gutter: auto !important;
}

html body[data-crm-shell] .sidebar::-webkit-scrollbar {
  width: 8px;
}

html body[data-crm-shell] .sidebar::-webkit-scrollbar-thumb {
  border: 2px solid #fff;
  border-radius: 999px;
  background: #cbd5e1;
}

html body[data-crm-shell] .app-shell .brand {
  min-height: 42px !important;
  height: 42px !important;
  gap: 9px !important;
  margin: 0 0 8px !important;
  padding: 0 8px !important;
  border-radius: 8px !important;
  background: transparent !important;
  box-shadow: none !important;
}

html body[data-crm-shell] .app-shell .brand::before {
  content: none !important;
}

html body[data-crm-shell] .app-shell .brand-logo {
  display: block !important;
  flex: 0 0 30px !important;
  width: 30px !important;
  height: 30px !important;
  min-width: 30px !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: transparent !important;
  box-shadow: none !important;
  object-fit: contain !important;
}

html body[data-crm-shell] .app-shell .brand span {
  color: var(--crm-sidebar-light-ink) !important;
  font: 800 13px/1.12 Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
}

html body[data-crm-shell] .app-shell > .sidebar nav {
  display: grid !important;
  gap: 3px !important;
}

html body[data-crm-shell] .app-shell .nav-section {
  gap: 3px !important;
  margin-top: 6px !important;
  padding-top: 6px !important;
  border-top: 1px solid #eef2f7 !important;
}

html body[data-crm-shell] .app-shell .sidebar a,
html body[data-crm-shell] .app-shell .nav-section summary,
html body[data-crm-shell] .app-shell .logout-form button,
html body[data-crm-shell].view-mailbox .app-shell .sidebar a,
html body[data-crm-shell].view-mailbox .app-shell .nav-section summary {
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  width: 100% !important;
  min-height: 40px !important;
  padding: 6px 9px !important;
  border: 1px solid transparent !important;
  border-radius: 8px !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #1f2937 !important;
  font: 680 13px/1.18 Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  text-decoration: none !important;
  text-transform: none !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}

html body[data-crm-shell] .app-shell .nav-section summary,
html body[data-crm-shell].view-mailbox .app-shell .nav-section summary {
  position: relative !important;
  min-height: 36px !important;
  color: #0f172a !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  list-style: none !important;
}

html body[data-crm-shell] .app-shell .nav-section summary::-webkit-details-marker {
  display: none !important;
}

html body[data-crm-shell] .app-shell .nav-section summary::after {
  content: "" !important;
  position: static !important;
  display: block !important;
  width: 7px !important;
  height: 7px !important;
  margin: 0 4px 0 auto !important;
  border-top: 1.8px solid #94a3b8 !important;
  border-right: 1.8px solid #94a3b8 !important;
  border-bottom: 0 !important;
  border-left: 0 !important;
  transform: rotate(45deg) !important;
  transition: transform .16s ease, border-color .16s ease !important;
}

html body[data-crm-shell] .app-shell .nav-section[open] > summary::after {
  border-color: var(--menu-color, #475569) !important;
  transform: rotate(135deg) !important;
}

html body[data-crm-shell] .app-shell .sidebar a::before,
html body[data-crm-shell] .app-shell .sidebar a.nav-primary::before,
html body[data-crm-shell] .app-shell .nav-section summary::before,
html body[data-crm-shell].view-mailbox .app-shell .sidebar a::before,
html body[data-crm-shell].view-mailbox .app-shell .nav-section summary::before {
  content: "" !important;
  display: inline-flex !important;
  flex: 0 0 24px !important;
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  min-height: 24px !important;
  border: 1px solid #e2e8f0 !important;
  border-color: color-mix(in srgb, var(--menu-color, #64748b) 24%, #ffffff) !important;
  border-radius: 7px !important;
  background-color: #f8fafc !important;
  background-color: color-mix(in srgb, var(--menu-color, #64748b) 12%, #ffffff) !important;
  background-image: var(--menu-icon-graphic) !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 15px 15px !important;
  box-shadow: none !important;
  filter: none !important;
  opacity: 1 !important;
  transform: none !important;
}

html body[data-crm-shell] .app-shell .nav-section-links,
html body[data-crm-shell].view-mailbox .app-shell .nav-section-links {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 2px !important;
  margin: 0 !important;
  padding: 2px 0 8px 20px !important;
  border-left: 0 !important;
}

html body[data-crm-shell] .app-shell .nav-section-links a,
html body[data-crm-shell].view-mailbox .app-shell .nav-section-links a {
  min-height: 34px !important;
  padding: 5px 8px !important;
  color: #334155 !important;
  font-size: 12.5px !important;
  font-weight: 620 !important;
}

html body[data-crm-shell] .app-shell .nav-section-links a::before,
html body[data-crm-shell].view-mailbox .app-shell .nav-section-links a::before {
  flex-basis: 20px !important;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  min-height: 20px !important;
  border-radius: 6px !important;
  background-size: 13px 13px !important;
}

html body[data-crm-shell] .app-shell .sidebar a:hover,
html body[data-crm-shell] .app-shell .sidebar a:focus-visible,
html body[data-crm-shell] .app-shell .nav-section summary:hover,
html body[data-crm-shell] .app-shell .nav-section summary:focus-visible,
html body[data-crm-shell] .app-shell .logout-form button:hover,
html body[data-crm-shell].view-mailbox .app-shell .sidebar a:hover,
html body[data-crm-shell].view-mailbox .app-shell .nav-section summary:hover {
  background: var(--crm-sidebar-light-hover) !important;
  border-color: #e2e8f0 !important;
  color: #0f172a !important;
  box-shadow: none !important;
}

html body[data-crm-shell] .app-shell .sidebar a:hover::before,
html body[data-crm-shell] .app-shell .sidebar a:focus-visible::before,
html body[data-crm-shell] .app-shell .nav-section summary:hover::before,
html body[data-crm-shell] .app-shell .nav-section summary:focus-visible::before,
html body[data-crm-shell].view-mailbox .app-shell .sidebar a:hover::before,
html body[data-crm-shell].view-mailbox .app-shell .nav-section summary:hover::before {
  border-color: color-mix(in srgb, var(--menu-color, #64748b) 38%, #ffffff) !important;
  background-color: color-mix(in srgb, var(--menu-color, #64748b) 16%, #ffffff) !important;
  box-shadow: none !important;
  filter: none !important;
  transform: none !important;
}

html body[data-crm-shell] .app-shell .sidebar a.active,
html body[data-crm-shell] .app-shell .sidebar a.nav-primary.active,
html body[data-crm-shell] .app-shell .nav-section[open] > summary,
html body[data-crm-shell].view-mailbox .app-shell .sidebar a.active,
html body[data-crm-shell].view-mailbox .app-shell .nav-section[open] > summary {
  background: var(--crm-sidebar-light-active) !important;
  background: color-mix(in srgb, var(--menu-color, #0f766e) 10%, #ffffff) !important;
  border-color: color-mix(in srgb, var(--menu-color, #0f766e) 26%, #ffffff) !important;
  color: #0f172a !important;
  box-shadow: inset 3px 0 0 var(--menu-color, #0f766e) !important;
}

html body[data-crm-shell] .app-shell .sidebar a.active::before,
html body[data-crm-shell] .app-shell .sidebar a.nav-primary.active::before,
html body[data-crm-shell] .app-shell .nav-section[open] > summary::before,
html body[data-crm-shell].view-mailbox .app-shell .sidebar a.active::before,
html body[data-crm-shell].view-mailbox .app-shell .nav-section[open] > summary::before {
  border-color: color-mix(in srgb, var(--menu-color, #0f766e) 40%, #ffffff) !important;
  background-color: color-mix(in srgb, var(--menu-color, #0f766e) 18%, #ffffff) !important;
  box-shadow: none !important;
  filter: none !important;
  transform: none !important;
}

html body[data-crm-shell] .logout-form {
  margin-top: 8px !important;
  padding-top: 8px !important;
  border-top: 1px solid #eef2f7 !important;
}

html body[data-crm-shell] .logout-form button {
  color: #be123c !important;
}

body.sidebar-collapsed .app-shell .brand {
  justify-content: center !important;
  padding: 0 !important;
}

body.sidebar-collapsed .app-shell .brand span,
body.sidebar-collapsed .app-shell .nav-section-links {
  display: none !important;
}

body.sidebar-collapsed .app-shell .sidebar a,
body.sidebar-collapsed .app-shell .nav-section summary,
body.sidebar-collapsed .app-shell .logout-form button {
  justify-content: center !important;
  min-height: 42px !important;
  padding: 6px 0 !important;
  gap: 0 !important;
  font-size: 0 !important;
}

body.sidebar-collapsed .app-shell .sidebar a::first-letter,
body.sidebar-collapsed .app-shell .nav-section summary::first-letter,
body.sidebar-collapsed .app-shell .logout-form button::first-letter {
  font-size: 0 !important;
}

body.sidebar-collapsed .app-shell .nav-section summary::after {
  display: none !important;
}

@media (max-width: 1023px) {
  html body[data-crm-shell] .app-shell > .sidebar,
  html body[data-crm-shell].view-mailbox .app-shell > .sidebar {
    width: min(88vw, 320px) !important;
    max-width: min(88vw, 320px) !important;
    padding: calc(66px + env(safe-area-inset-top)) 12px calc(28px + env(safe-area-inset-bottom)) !important;
  }

  html body[data-crm-shell] .app-shell .sidebar a,
  html body[data-crm-shell] .app-shell .nav-section summary,
  html body[data-crm-shell].view-mailbox .app-shell .sidebar a,
  html body[data-crm-shell].view-mailbox .app-shell .nav-section summary {
    min-height: 44px !important;
    padding: 8px 10px !important;
    font-size: 14px !important;
  }

  html body[data-crm-shell] .crm-mobile-menu-button[data-sidebar-toggle],
  html body[data-crm-shell] .hw-menu-toggle[data-sidebar-toggle],
  html body[data-crm-shell] button.sidebar-toggle[data-sidebar-toggle] {
    border-color: #cbd5e1 !important;
    background: #ffffff !important;
    color: #0f172a !important;
    box-shadow: 0 10px 28px rgba(15, 23, 42, .14) !important;
  }

  html body[data-crm-shell].sidebar-open .crm-mobile-menu-button[data-sidebar-toggle],
  html body[data-crm-shell].sidebar-open .hw-menu-toggle[data-sidebar-toggle],
  html body[data-crm-shell].sidebar-open button.sidebar-toggle[data-sidebar-toggle] {
    border-color: #0f766e !important;
    background: #0f766e !important;
    color: #ffffff !important;
  }
}

html body[data-crm-shell] .app-shell > .sidebar .nav-section .nav-section-links,
html body[data-crm-shell].view-mailbox .app-shell > .sidebar .nav-section .nav-section-links {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 2px !important;
  margin: 0 !important;
  padding: 2px 0 8px 20px !important;
  border-left: 0 !important;
}

html body[data-crm-shell] .app-shell > .sidebar .nav-section .nav-section-links a,
html body[data-crm-shell].view-mailbox .app-shell > .sidebar .nav-section .nav-section-links a {
  min-height: 34px !important;
  padding: 5px 8px !important;
  gap: 8px !important;
  color: #334155 !important;
  font-size: 12.5px !important;
  font-weight: 620 !important;
  line-height: 1.16 !important;
}

html body[data-crm-shell] .app-shell > .sidebar .nav-section .nav-section-links a::before,
html body[data-crm-shell].view-mailbox .app-shell > .sidebar .nav-section .nav-section-links a::before {
  flex: 0 0 20px !important;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  min-height: 20px !important;
  border-radius: 6px !important;
  background-size: 13px 13px !important;
  box-shadow: none !important;
  transform: none !important;
}

/* Final production mobile readability override: must load after crm.css */
@media (max-width: 820px) {
  body table.crm-responsive-table,
  body .crm-responsive-table table {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    table-layout: fixed !important;
    overflow: visible !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    box-sizing: border-box !important;
  }

  body table.crm-responsive-table thead,
  body .crm-responsive-table table thead {
    display: none !important;
  }

  body table.crm-responsive-table tbody,
  body .crm-responsive-table table tbody,
  body table.crm-responsive-table tr,
  body .crm-responsive-table table tr {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  body table.crm-responsive-table tr,
  body .crm-responsive-table table tr {
    margin: 0 0 12px !important;
    padding: 12px !important;
    border: 1px solid rgba(14, 92, 78, .16) !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 10px 22px rgba(15, 23, 42, .06) !important;
  }

  body table.crm-responsive-table td,
  body .crm-responsive-table table td {
    display: grid !important;
    grid-template-columns: minmax(96px, 36%) minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 8px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    padding: 10px 0 !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(14, 92, 78, .10) !important;
    box-sizing: border-box !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  body table.crm-responsive-table td:last-child,
  body .crm-responsive-table table td:last-child {
    border-bottom: 0 !important;
  }

  body table.crm-responsive-table td::before,
  body .crm-responsive-table table td::before {
    content: attr(data-label);
    color: var(--crm-muted, #64748b) !important;
    font-size: .72rem !important;
    font-weight: 900 !important;
    letter-spacing: .08em !important;
    line-height: 1.25 !important;
    text-transform: uppercase !important;
    white-space: normal !important;
  }

  body table.crm-responsive-table td > *,
  body .crm-responsive-table table td > *,
  body table.crm-responsive-table small,
  body table.crm-responsive-table strong,
  body table.crm-responsive-table .pill,
  body table.crm-responsive-table .badge {
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  body table.crm-responsive-table .table-actions,
  body table.crm-responsive-table .compact-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body table.crm-responsive-table .table-actions .button,
  body table.crm-responsive-table .table-actions button,
  body table.crm-responsive-table .table-actions form,
  body table.crm-responsive-table .compact-actions .button,
  body table.crm-responsive-table .compact-actions button,
  body table.crm-responsive-table .compact-actions form {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  body.view-clients .clreg-email,
  body.view-cases .cr-court {
    position: static !important;
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  body.view-deadlines .crm-calendar-v2,
  body.view-deadlines .crm-calendar-v2__body {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
}

/* Mobile client/case registries: turn desktop grid rows into readable clickable cards */
@media (max-width: 820px) {
  body.view-clients .clreg-table-wrap,
  body.view-cases .cr-table-wrap {
    overflow: visible !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body.view-clients .clreg-client-list,
  body.view-cases .cr-case-list {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    gap: 12px !important;
  }

  body.view-clients .clreg-client-row,
  body.view-cases .cr-case-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    gap: 7px !important;
    padding: 14px !important;
    border: 1px solid rgba(14, 92, 78, .16) !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 10px 22px rgba(15, 23, 42, .06) !important;
    box-sizing: border-box !important;
  }

  body.view-clients .clreg-client-row > *,
  body.view-cases .cr-case-row > * {
    position: static !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: visible !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    text-overflow: clip !important;
  }

  body.view-clients .clreg-client-row > *:first-child,
  body.view-cases .cr-case-row > *:first-child {
    font-size: 1rem !important;
    font-weight: 900 !important;
    color: var(--crm-ink, #0f172a) !important;
  }
}

/* Strongest mobile override for custom client/case registry grids */
@media (max-width: 820px) {
  html body.view-clients section.clreg-shell section.clreg-table-wrap .clreg-client-list a.clreg-client-row,
  html body.view-clients .clreg-client-list > a.clreg-client-row,
  html body.view-clients a.clreg-client-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
  }

  html body.view-cases section.cr-shell section.cr-table-wrap .cr-case-list a.cr-case-row,
  html body.view-cases .cr-case-list > a.cr-case-row,
  html body.view-cases a.cr-case-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
  }

  html body.view-clients a.clreg-client-row > *,
  html body.view-cases a.cr-case-row > * {
    grid-column: 1 / -1 !important;
    transform: none !important;
    position: static !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    text-overflow: clip !important;
  }
}

/* Camera capture is mobile-only. Hide every quick "Zrob zdjecie" trigger on laptop/desktop. */
@media (min-width: 821px) {
  body:not(.view-document_capture) .mobile-bottom-nav .mobile-bottom-capture-form,
  body:not(.view-document_capture) .quick-document-capture-form,
  body:not(.view-document_capture) .dashboard-capture-action,
  body:not(.view-document_capture) .hdash-capture-action,
  body:not(.view-document_capture) .cc-capture-inline,
  body:not(.view-document_capture) .cc-mobile-capture-form,
  body:not(.view-document_capture) .cc-mobile-capture-dock,
  body:not(.view-document_capture) .csc-capture-inline,
  body:not(.view-document_capture) .required-quick-upload-form .capture-upload-button,
  body:not(.view-document_capture) .capture-upload-button,
  body:not(.view-document_capture) .crm-btn-camera,
  body:not(.view-document_capture) .crm-doc-preview-workspace .crm-btn-camera,
  body:not(.view-document_capture) .crm-doc-preview-workspace [data-action="capture-document"],
  body:not(.view-document_capture) .crm-doc-preview-workspace [data-icon="camera"],
  body:not(.view-document_capture) .crm-doc-preview-header-actions [data-action="capture-document"],
  body:not(.view-document_capture) .crm-doc-preview-header-actions .crm-btn-camera,
  body:not(.view-document_capture) [data-action="capture-document"],
  body:not(.view-document_capture) [data-action="open-camera"],
  body:not(.view-document_capture) [data-action="take-photo"],
  body:not(.view-document_capture) [data-icon="camera"],
  body:not(.view-document_capture) [class*="capture-action"],
  body:not(.view-document_capture) [class*="capture-button"],
  body:not(.view-document_capture) [class*="camera-button"],
  body:not(.view-document_capture) a[href*="view=document_capture"],
  body:not(.view-document_capture) form[action*="document_capture"] {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
}

/* Globalne akcje mobilne są niezależne od stałego dolnego menu. */
.crm-scanner-launcher {
  display: none !important;
}

/* Skaner ma teraz czytelną pozycję „Skanuj dokument” w menu. Pływający skrót
   został wyłączony także na telefonie, bo zasłaniał przyciski i pola. */

@media (max-width: 760px) {
  body a.crm-scanner-launcher {
    display: none !important;
  }

  body a.crm-scanner-launcher .mobile-bottom-capture-icon {
    display: block !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 9px !important;
  }

  body a.crm-scanner-launcher .mobile-bottom-capture-label {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
  }
}
