/* bundled from css/style.css — do not edit */
/* Design tokens and compatibility aliases */
:root {
    /* Color */
    /* Primary — umiarkowanie wzmocniony względem #3d87c4; nadal poniżej pełnego #0b74d1 */
    --cgo-color-primary: #2f7fc0;
    --cgo-color-primary-hover: #256ca6;
    --cgo-color-danger: #b85c5c;
    --cgo-color-danger-hover: #a34f4f;
    --cgo-color-success: #2e7d32;
    --cgo-color-warning: #f59e0b;
    --cgo-color-info: #5b8fd9;
    --cgo-status-danger-soft: #fecaca;
    --cgo-status-danger-text: #991b1b;
    --cgo-status-danger-border: transparent;
    --cgo-status-success-soft: #86efac;
    --cgo-status-success-text: #166534;
    --cgo-status-success-border: transparent;
    --cgo-status-warning-soft: #fcd34d;
    --cgo-status-warning-text: #92400e;
    --cgo-status-warning-border: transparent;
    --cgo-status-info-soft: #93c5fd;
    --cgo-status-info-text: #1d4ed8;
    --cgo-status-info-border: transparent;

    /* Surface, text, border */
    --cgo-surface-page: #f2f4f8;
    --cgo-surface-card: #fff;
    --cgo-surface-subtle: #f8f9fa;
    --cgo-surface-muted: #f1f3f5;
    --cgo-surface-overlay: rgba(15, 23, 42, 0.45);
    --cgo-text-strong: #2c3e50;
    --cgo-text-default: #212529;
    --cgo-text-secondary: #495057;
    --cgo-text-muted: #4b5563;
    --cgo-text-subtle: #6c757d;
    --cgo-text-inverse: #fff;
    --cgo-border-subtle: #e9ecef;
    --cgo-border-default: #ced4da;
    --cgo-border-muted: #dee2e6;
    --cgo-border-control: #d0d7de;
    --cgo-border-hover: #adb5bd;

    /* Radius */
    --cgo-radius-sm: 8px;
    --cgo-radius-md: 12px;
    --cgo-radius-lg: 16px;
    --cgo-radius-xl: 24px;
    --cgo-radius-2xl: 30px;
    --cgo-radius-pill: 999px;
    --cgo-radius-round: 50%;

    /* Shadow and focus */
    --cgo-elevation-0: none;
    --cgo-elevation-1: 0 2px 8px rgba(16, 24, 40, 0.08);
    --cgo-elevation-2: 0 6px 18px rgba(16, 24, 40, 0.1);
    --cgo-elevation-3: 0 12px 32px rgba(16, 24, 40, 0.14);
    --cgo-elevation-4: 0 18px 48px rgba(16, 24, 40, 0.18);
    --cgo-elevation-overlay: 0 24px 72px rgba(0, 0, 0, 0.34);
    --cgo-shadow-card: var(--cgo-elevation-2);
    --cgo-shadow-card-soft: var(--cgo-elevation-1);
    --cgo-shadow-card-hover: var(--cgo-elevation-3);
    --cgo-shadow-card-hover-strong: var(--cgo-elevation-4);
    --cgo-shadow-control: 0 1px 3px rgba(16, 24, 40, 0.08);
    --cgo-shadow-elevated: var(--cgo-elevation-4);
    --cgo-shadow-overlay: var(--cgo-elevation-overlay);
    --cgo-shadow-panel: var(--cgo-shadow-card);
    --cgo-shadow-dropdown: var(--cgo-elevation-3);
    --cgo-shadow-popover: var(--cgo-elevation-3);
    --cgo-shadow-modal: var(--cgo-shadow-overlay);
    --cgo-shadow-card-interactive: var(--cgo-shadow-card-hover-strong);
    /* Room for box-shadow paint inside overflow:auto/hidden parents (scroll panes, lists). */
    --cgo-shadow-gutter: var(--cgo-space-16);
    --cgo-shadow-chip: 0 1px 2px rgba(0, 0, 0, 0.12);
    --cgo-shadow-danger-soft: 0 2px 8px rgba(198, 40, 40, 0.08);
    --cgo-shadow-selected: 0 0 0 2px color-mix(in srgb, var(--cgo-primary) 35%, transparent), var(--cgo-elevation-2);
    --cgo-shadow-warning-selected: 0 0 0 2px color-mix(in srgb, var(--cgo-color-warning) 35%, transparent), var(--cgo-elevation-2);
    --cgo-shadow-switch-track: inset 0 1px 2px rgba(16, 24, 40, 0.08);
    --cgo-shadow-switch-thumb: 0 1px 4px rgba(16, 24, 40, 0.24);
    --cgo-shadow-switch-track-hover: var(--cgo-shadow-switch-track), var(--cgo-elevation-1);
    --cgo-shadow-focus: 0 0 0 3px rgba(26, 54, 93, 0.14);
    --cgo-focus-ring: 0 0 0 3px color-mix(in srgb, var(--cgo-color-primary) 28%, transparent);

    /* Checkbox */
    --cgo-checkbox-size: 1.125rem;
    --cgo-checkbox-border: var(--cgo-border-control);
    --cgo-checkbox-bg: var(--cgo-surface-card);
    --cgo-checkbox-checked: var(--cgo-color-primary);
    --cgo-checkbox-checked-hover: var(--cgo-color-primary-hover);

    /* Typography scale */
    --cgo-font-size-2xs: 0.72rem;
    --cgo-font-size-xs: 0.78rem;
    --cgo-font-size-sm: 0.82rem;
    --cgo-font-size-meta: 0.85rem;
    --cgo-font-size-md: 0.875rem;
    --cgo-font-size-body: 0.9375rem;
    --cgo-font-size-lg: 1.05rem;
    --cgo-font-size-xl: 1.2rem;
    --cgo-font-size-title: 1.5rem;
    --cgo-font-size-page-title: 2rem;
    --cgo-line-height-tight: 1.2;
    --cgo-line-height-normal: 1.4;
    --cgo-line-height-relaxed: 1.55;

    /* Motion and layering */
    --cgo-motion-fast: 120ms;
    --cgo-motion-base: 180ms;
    --cgo-motion-slow: 280ms;
    --cgo-ease-standard: ease;
    --cgo-z-content: 1;
    --cgo-z-sticky: 5;
    --cgo-z-dropdown: 1200;
    --cgo-z-backdrop: 1300;
    --cgo-z-modal: 1400;
    --cgo-z-toast: 2000;

    /* Compatibility aliases */
    --cgo-page-bg: var(--cgo-surface-page);
    --cgo-surface: var(--cgo-surface-card);
    --cgo-text-primary: var(--cgo-text-strong);
    --cgo-border-soft: var(--cgo-border-subtle);
    --cgo-border-input: var(--cgo-border-default);
    --cgo-overlay-bg: var(--cgo-surface-overlay);
    --cgo-card-shadow: var(--cgo-shadow-card);
    --cgo-table-radius: var(--cgo-radius-2xl);
    --cgo-calendar-radius: var(--cgo-table-radius);

    /* Mini calendar day states (Rozprawy, Wyroki, Doręczenia) */
    --cgo-calendar-day-bg: #fdfcfa;
    --cgo-calendar-day-bg-hover: #f8f6f2;
    --cgo-calendar-day-today-bg: #e8e6e3;
    --cgo-calendar-day-selected-bg: #fef9e0;
    --cgo-calendar-day-today-selected-bg: #f5edc8;

    --cgo-primary: var(--cgo-color-primary);
    --cgo-primary-hover: var(--cgo-color-primary-hover);
    --cgo-danger: var(--cgo-color-danger);
    --cgo-danger-hover: var(--cgo-color-danger-hover);
    /* Bright alarm mark for delivery indicator on browse tiles / filter chip */
    --cgo-delivered-mark: #ff2d55;
    /* USER_TO_USER direction mark on browse tiles / filter chip */
    --cgo-user-to-user-mark: #111111;

    /* Modal typography */
    --cgo-modal-title-font-size: 1.5rem;
    --cgo-modal-title-line-height: 1.3;
    --cgo-modal-subtitle-font-size: 0.9rem;
    --cgo-modal-subtitle-line-height: 1.45;
    --cgo-modal-subtitle-color: var(--cgo-text-subtle);
    --cgo-modal-body-font-size: 0.9375rem;
    --cgo-modal-body-line-height: 1.5;
    --cgo-modal-body-color: var(--cgo-text-muted, #4b5563);

    /* Status and label colors */
    --cgo-status-urgent-bg: #c45c5c;
    --cgo-status-urgent-bg-hover: #b85c5c;
    --cgo-status-success-bg: var(--cgo-color-success);
    --cgo-status-info-bg: var(--cgo-color-info);
    --cgo-status-warning-bg: #fde68a;
    --cgo-label-urgent-bg: var(--cgo-status-urgent-bg);
    --cgo-label-urgent-bg-hover: var(--cgo-status-urgent-bg-hover);
    --cgo-label-urgent-shadow: rgba(184, 92, 92, 0.22);
    --cgo-label-supervision-awaiting-legal-bg: var(--cgo-color-warning);
    --cgo-label-supervision-accepted-bg: var(--cgo-color-success);
    --cgo-label-supervision-accepted-shadow: rgba(46, 125, 50, 0.22);
    --cgo-label-obligation-bg: var(--cgo-status-info-bg);
    --cgo-label-obligation-bg-hover: #4a7fd4;
    --cgo-label-obligation-shadow: rgba(74, 127, 212, 0.22);
    --cgo-label-info-bg: var(--cgo-status-warning-bg);
    --cgo-label-info-bg-hover: #fcd34d;
    --cgo-label-info-fg: #171717;
    --cgo-label-info-shadow: rgba(245, 158, 11, 0.25);

    /* Pill badges — dokumenty, wyroki, raporty (mid-tone fill, dark fg, no border) */
    --cgo-pill-font-size: 0.8125rem;
    --cgo-pill-padding-y: var(--cgo-space-4);
    --cgo-pill-padding-x: var(--cgo-space-12);
    --cgo-pill-default-bg: #d0d7de;
    --cgo-pill-default-fg: var(--cgo-text-primary);
    --cgo-pill-protokol-bg: #c8e6c9;
    --cgo-pill-protokol-fg: #2e7d32;
    --cgo-pill-protokol-border: transparent;
    --cgo-pill-sentence-bg: #bbdefb;
    --cgo-pill-sentence-fg: #0d47a1;
    --cgo-pill-sentence-border: transparent;
    --cgo-pill-instance-first-bg: #c7d2fe;
    --cgo-pill-instance-first-fg: #3730a3;
    --cgo-pill-instance-first-border: transparent;
    --cgo-pill-instance-second-bg: #fed7aa;
    --cgo-pill-instance-second-fg: #9c4221;
    --cgo-pill-instance-second-border: transparent;
    --cgo-pill-status-ok-bg: #c8e6c9;
    --cgo-pill-status-ok-fg: #2e7d32;
    --cgo-pill-status-ok-border: transparent;
    --cgo-pill-status-review-bg: #ffe082;
    --cgo-pill-status-review-fg: #b45309;
    --cgo-pill-status-review-border: transparent;
    --cgo-pill-status-manual-review-bg: #ffecb5;
    --cgo-pill-status-manual-review-fg: #664d03;
    --cgo-pill-status-manual-review-border: transparent;
    --cgo-pill-status-error-bg: #ffcdd2;
    --cgo-pill-status-error-fg: #c62828;
    --cgo-pill-status-error-border: transparent;
    --cgo-pill-status-unprocessed-bg: #cfd8dc;
    --cgo-pill-status-unprocessed-fg: #546e7a;
    --cgo-pill-status-unprocessed-border: transparent;
    --cgo-pill-positive-bg: var(--cgo-pill-status-ok-bg);
    --cgo-pill-positive-fg: var(--cgo-pill-status-ok-fg);
    --cgo-pill-positive-border: var(--cgo-pill-status-ok-border);
    --cgo-pill-negative-bg: #f0b4b4;
    --cgo-pill-negative-fg: #8a1f1f;
    --cgo-pill-negative-border: transparent;
    --cgo-pill-warning-bg: #f0d9a8;
    --cgo-pill-warning-fg: #8a5a00;
    --cgo-pill-warning-border: transparent;
    --cgo-pill-neutral-bg: #dee2e6;
    --cgo-pill-neutral-fg: var(--cgo-text-secondary);
    --cgo-pill-neutral-border: transparent;
    --cgo-pill-info-bg: #cfd8dc;
    --cgo-pill-info-fg: var(--cgo-text-secondary);
    --cgo-pill-info-border: transparent;

    /* Chrome (sidebar + topbar) */
    --cgo-shell-bg: var(--cgo-surface);
    --cgo-app-sidebar-width: 200px;

    /*
     * Responsive breakpoints (documentation + JS).
     * @media queries must use literal px — custom properties are not valid in media features.
     * Phone: max-width 768px | Tablet: max-width 1024px
     */
    --cgo-bp-phone: 768px;
    --cgo-bp-tablet: 1024px;

    /* Button system — akcje: .btn + .btn-primary|secondary|danger;
       zaznaczenie w grupie: .btn.is-selected (lub aria-pressed/aria-selected);
       taby: .cgo-tabs; pille: .cgo-pill-* */
    --cgo-btn-font-size: 14px;
    --cgo-btn-font-weight: 500;
    --cgo-btn-min-height: 32px;
    --cgo-btn-padding-y: 6px;
    --cgo-btn-padding-x: var(--cgo-space-16);
    --cgo-btn-border-width: 1px;
    --cgo-btn-primary-shadow: 0 1px 3px rgba(47, 127, 192, 0.18);
    --cgo-btn-primary-shadow-hover: 0 4px 14px rgba(47, 127, 192, 0.26);
    --cgo-btn-secondary-bg: var(--cgo-surface);
    --cgo-btn-secondary-bg-hover: #eef1f6;
    --cgo-btn-secondary-border: #dde1e8;
    --cgo-btn-secondary-border-hover: #c0c8d4;
    --cgo-btn-secondary-shadow: var(--cgo-shadow-control);
    --cgo-btn-secondary-shadow-hover: 0 2px 8px rgba(16, 24, 40, 0.1);
    --cgo-btn-secondary-text: #000000;
    --cgo-btn-danger-bg: #f6eded;
    --cgo-btn-danger-bg-hover: #e8d6d6;
    --cgo-btn-danger-border: #e59999;
    --cgo-btn-danger-border-hover: #d64545;
    --cgo-btn-danger-shadow: 0 1px 3px rgba(184, 92, 92, 0.16);
    --cgo-btn-danger-shadow-hover: 0 2px 8px rgba(184, 92, 92, 0.18);
    --cgo-btn-danger-text: var(--cgo-danger);
    --cgo-btn-radius: var(--cgo-radius-lg);
    --cgo-notification-unread: #86efac;
    --cgo-notification-unread-glow: rgba(134, 239, 172, 0.45);
    --cgo-list-filter-tabs-width: 24rem;
    --cgo-list-filter-tabs-height: 2rem;
    --cgo-list-filter-count-bg: var(--cgo-border-subtle);
    --cgo-list-filter-divider: var(--cgo-border-subtle);
    --cgo-list-filter-section-gap: var(--cgo-space-20);
    --cgo-list-filter-row-gap: var(--cgo-space-24);
    --cgo-list-filter-column-gap: var(--cgo-space-12);

    /* Spacing scale — przerzedzona (~co 2.–3. krok). W kodzie używane są tylko te tokeny; dawniejsze środkowe wartości mapują się na: 3/5→4; 6/7/9→8; 10/11→12; 14/15→16; 18→20; 22→24; 30/34→32. */
    --cgo-space-2: 2px;
    --cgo-space-4: 4px;
    --cgo-space-6: 6px;
    --cgo-space-8: 8px;
    --cgo-space-10: 10px;
    --cgo-space-12: 12px;
    --cgo-space-16: 16px;
    --cgo-space-20: 20px;
    --cgo-space-24: 24px;
    --cgo-space-28: 28px;
    --cgo-space-32: 32px;
    --cgo-space-36: 36px;
    --cgo-space-40: 40px;
    --cgo-space-44: 44px;
    --cgo-space-60: 60px;
    --cgo-space-70: 70px;
    --cgo-space-80: 80px;
    --cgo-scroll-pane-inset: var(--cgo-shadow-gutter);

    /* Pulpit */
    --cgo-dashboard-tile-radius: 28px;
    --cgo-dashboard-metric-grid-radius: calc(var(--cgo-dashboard-tile-radius) - 10px);
    --cgo-dashboard-metric-value-compact: clamp(2.15rem, 2.9vw, 2.7rem);
    --cgo-dashboard-metric-value: clamp(2.25rem, 3.2vw, 3rem);
    --cgo-dashboard-breakdown-radius: var(--cgo-radius-lg);
    --cgo-shadow-focus-interactive: var(--cgo-shadow-focus), var(--cgo-shadow-card-interactive);
    --cgo-star-hover: var(--cgo-color-warning);

    /* PDF preview frame — ~A4 fit-to-width + wbudowany pasek narzędzi viewer */
    --cgo-pdf-a4-block-ratio: 1.52381; /* 320 / 210 */
    --cgo-pdf-frame-min-block: 16rem;
    --cgo-pdf-frame-max-block: min(85dvh, 70rem);

    /* Auth / login — pastel blue family */
    --cgo-auth-panel-radius: var(--cgo-table-radius);
    --cgo-font-sans: "Space Grotesk", system-ui, -apple-system, sans-serif;
    --cgo-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

/* Reset i podstawowe style */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Domyślna skala wszystkich natywnych przycisków (jak .btn); .btn / a.btn nadal jawnie używa tych samych tokenów */
button,
input[type="submit"],
input[type="button"],
input[type="reset"] {
    font-family: inherit;
    font-size: var(--cgo-btn-font-size);
    font-weight: var(--cgo-btn-font-weight);
    line-height: 1.5;
    min-height: var(--cgo-btn-min-height);
}

/* Vendor and dense controls keep their own sizing instead of inheriting the native button baseline. */
button.fc-button,
button.cgo-tab,
#letters-toolbar button,
#case-hub-note-toolbar button {
    font-size: unset;
    font-weight: unset;
    line-height: unset;
    min-height: unset;
}

body {
    font-family: var(--cgo-font-sans);
    line-height: 1.6;
    color: var(--cgo-text-primary);
    background:
        radial-gradient(120% 85% at 10% -8%, color-mix(in srgb, #60a5fa 8%, var(--cgo-page-bg)) 0%, transparent 52%),
        radial-gradient(95% 75% at 92% 108%, color-mix(in srgb, #60a5fa 8%, var(--cgo-page-bg)) 0%, transparent 48%),
        var(--cgo-page-bg);
    font-size: 14px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.container {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 var(--cgo-space-24);
}

.is-hidden {
    display: none !important;
}

.offscreen-copy {
    position: fixed;
    left: -9999px;
    top: 0;
    opacity: 0;
}

/* App shell */
.app-shell {
    min-height: 100vh;
    display: grid;
    grid-template-columns: var(--cgo-app-sidebar-width) minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
}

.app-shell__surface {
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

/* Pełna wysokość kolumny — tło i obramowanie jak sidebar, jednolite z chrome app shell */
.app-shell__sidebar-slot {
    grid-column: 1;
    grid-row: 1 / -1;
    align-self: stretch;
    min-width: 0;
    background: var(--cgo-shell-bg);
    border-right: 1px solid var(--cgo-border-soft);
}

.app-sidebar {
    background: transparent;
    color: var(--cgo-text-primary);
    padding: var(--cgo-space-4) var(--cgo-space-4) var(--cgo-space-8) var(--cgo-space-8);
    position: sticky;
    top: 0;
    height: 100vh;
    display: flex;
    flex-direction: column;
    gap: var(--cgo-space-16);
    font-weight: 500;
}

.app-sidebar__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--cgo-space-12);
}

.app-sidebar__brand {
    color: var(--cgo-primary);
    text-decoration: none;
    font-size: 1.65rem;
    font-weight: 600;
}

.app-sidebar__collapse-btn {
    width: 34px;
    height: 34px;
    padding: 0;
    border: none;
    border-radius: 10px;
    background: transparent;
    color: var(--cgo-text-primary);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.app-sidebar__collapse-btn:hover {
    color: var(--cgo-primary);
}

.app-topbar__menu-btn {
    width: 34px;
    height: 34px;
    padding: 0;
    border: var(--cgo-btn-border-width) solid var(--cgo-border-input);
    border-radius: 10px;
    background: var(--cgo-page-bg);
    color: var(--cgo-text-primary);
    cursor: pointer;
    display: none;
    align-items: center;
    justify-content: center;
}

.app-topbar__menu-btn:hover {
    background: var(--cgo-border-soft);
}

.app-sidebar__nav {
    overflow-y: auto;
    padding-right: var(--cgo-space-4);
}

.app-sidebar__group + .app-sidebar__group {
    margin-top: var(--cgo-space-16);
}

.app-sidebar__group-label {
    font-size: var(--cgo-font-size-2xs);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--cgo-text-muted);
    margin: 0 0 var(--cgo-space-8);
    padding: 0 var(--cgo-space-8);
    font-weight: 600;
}

.app-sidebar__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--cgo-space-2);
}

.app-sidebar__link {
    display: flex;
    align-items: center;
    gap: var(--cgo-space-12);
    color: var(--cgo-text-primary);
    text-decoration: none;
    padding: var(--cgo-space-8) var(--cgo-space-12);
    border-radius: var(--cgo-btn-radius);
    font-size: 0.9rem;
    transition: background 0.15s ease;
}

.app-sidebar__icon {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.app-sidebar__icon svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
}

.app-sidebar__label {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.app-sidebar__link:hover {
    background: var(--cgo-border-soft);
    color: var(--cgo-primary);
}

.app-sidebar__link--active {
    background: var(--cgo-primary);
    color: var(--cgo-text-inverse);
    font-weight: 700;
}

.app-topbar {
    min-height: 56px;
    background: var(--cgo-shell-bg);
    color: var(--cgo-text-primary);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--cgo-space-8) var(--cgo-space-20);
    gap: var(--cgo-space-12);
    border-bottom: 1px solid var(--cgo-border-soft);
    font-weight: 500;
}

.app-topbar__left {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: var(--cgo-space-12);
}

.app-topbar__party-filter {
    position: relative;
    width: min(46vw, 420px);
    max-width: min(46vw, 420px);
}

.app-topbar__party-filter-trigger {
    width: 100%;
    min-height: 54px;
    border: var(--cgo-btn-border-width) solid var(--cgo-border-input);
    background: var(--cgo-page-bg);
    color: var(--cgo-text-primary);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--cgo-space-8);
    text-align: left;
    cursor: pointer;
    padding: var(--cgo-space-8) var(--cgo-space-12);
}

.app-topbar__party-filter-trigger-lines {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: var(--cgo-space-2);
}

.app-topbar__party-filter-line {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.8rem;
    line-height: 1.15;
}

.app-topbar__party-filter-caret {
    font-size: 0.86rem;
    line-height: 1;
    color: var(--cgo-text-muted);
    transition: transform 0.12s ease;
}

.app-topbar__party-filter.is-open .app-topbar__party-filter-caret {
    transform: rotate(180deg);
}

.app-topbar__party-filter-panel {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 6px);
    z-index: 1200;
    border: 1px solid var(--cgo-border-soft);
    background: var(--cgo-surface);
    padding: var(--cgo-space-4);
    display: flex;
    flex-direction: column;
    gap: var(--cgo-space-4);
    box-shadow: var(--cgo-shadow-dropdown);
}

.app-topbar__party-filter-option {
    width: 100%;
    border: 0;
    background: transparent;
    color: var(--cgo-text-primary);
    text-align: left;
    padding: var(--cgo-space-8) var(--cgo-space-8);
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: var(--cgo-space-2);
}

.app-topbar__party-filter-option:hover,
.app-topbar__party-filter-option.is-selected {
    background: var(--cgo-page-bg);
}

.app-topbar__party-filter-option-line {
    white-space: nowrap;
}

.app-topbar__party-filter-option:focus-visible,
.app-topbar__party-filter-trigger:focus-visible {
    outline: 2px solid var(--cgo-primary);
    outline-offset: 1px;
}

.app-topbar__party-filter-panel[hidden] {
    display: none;
}

.app-topbar__party-filter-trigger,
.app-topbar__party-filter-panel,
.app-topbar__party-filter-option {
    border-radius: var(--cgo-table-radius);
}

.app-topbar__party-filter-trigger,
.app-topbar__party-filter-option {
    font-family: inherit;
    font-size: 0.8rem;
}

.app-topbar__right {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: var(--cgo-space-12);
}

.app-topbar__user-menu {
    position: relative;
    max-width: min(34vw, 320px);
}

.app-topbar__user-menu-trigger {
    min-height: 40px;
    max-width: 100%;
    border-radius: 10px;
    border: none;
    background: transparent;
    color: var(--cgo-text-primary);
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--cgo-space-8);
    padding: var(--cgo-space-8) var(--cgo-space-12);
    cursor: pointer;
    font-family: inherit;
    font-size: var(--cgo-font-size-lg);
    font-weight: 500;
}

.app-topbar__user-menu-trigger:hover,
.app-topbar__user-menu.is-open .app-topbar__user-menu-trigger {
    background: var(--cgo-page-bg);
}

.app-topbar__user-menu--active .app-topbar__user-menu-trigger {
    background: var(--cgo-primary);
    color: var(--cgo-text-inverse);
    font-weight: 700;
}

.app-topbar__user-menu--active .app-topbar__user-menu-trigger:hover {
    background: var(--cgo-primary);
    color: var(--cgo-text-inverse);
}

.app-topbar__user-menu-label {
    min-width: 0;
    color: var(--cgo-text-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.app-topbar__user-menu--active .app-topbar__user-menu-label {
    color: inherit;
}

.app-topbar__user-menu-caret {
    flex-shrink: 0;
    font-size: 1.1rem;
    line-height: 1;
    color: var(--cgo-text-muted);
    transition: transform 0.12s ease;
}

.app-topbar__user-menu--active .app-topbar__user-menu-caret {
    color: inherit;
}

.app-topbar__user-menu.is-open .app-topbar__user-menu-caret {
    transform: rotate(180deg);
}

.app-topbar__user-menu-panel {
    position: absolute;
    right: 0;
    top: calc(100% + 6px);
    z-index: 1200;
    min-width: 200px;
    border-radius: 10px;
    border: 1px solid var(--cgo-border-soft);
    background: var(--cgo-surface);
    padding: var(--cgo-space-4);
    display: flex;
    flex-direction: column;
    gap: var(--cgo-space-2);
    box-shadow: var(--cgo-shadow-dropdown);
}

.app-topbar__user-menu-panel[hidden] {
    display: none;
}

.app-topbar__user-menu-item {
    display: block;
    width: 100%;
    border: 0;
    border-radius: var(--cgo-radius-sm);
    background: transparent;
    color: var(--cgo-text-primary);
    text-align: left;
    padding: var(--cgo-space-8) var(--cgo-space-12);
    text-decoration: none;
    font-family: inherit;
    font-size: 0.95rem;
    cursor: pointer;
}

.app-topbar__user-menu-item:hover,
.app-topbar__user-menu-item--active {
    background: var(--cgo-page-bg);
    color: var(--cgo-primary);
}

.app-topbar__user-menu-trigger:focus-visible,
.app-topbar__user-menu-item:focus-visible {
    outline: 2px solid var(--cgo-primary);
    outline-offset: 1px;
}

.app-topbar__shell-nav {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    color: var(--cgo-text-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    text-decoration: none;
}

.app-topbar__shell-nav:hover {
    background: var(--cgo-page-bg);
    color: var(--cgo-primary);
}

.app-topbar__shell-nav--active {
    background: var(--cgo-primary);
    color: var(--cgo-text-inverse);
}

.app-topbar__notifications-wrap {
    position: relative;
    display: inline-flex;
}

.app-topbar__notifications {
    position: relative;
}

.app-topbar__notifications-badge {
    position: absolute;
    top: 2px;
    right: 2px;
    z-index: 1;
    min-width: 1.125rem;
    height: 1.125rem;
    padding: 0 0.25rem;
    border-radius: var(--cgo-radius-pill);
    background-color: #86efac;
    background-image: none;
    box-shadow: none;
    border: 1px solid #86efac;
    color: #14532d;
    font-size: 0.65rem;
    font-weight: 700;
    line-height: 1.125rem;
    text-align: center;
    pointer-events: none;
    box-sizing: border-box;
}

.app-topbar__shell-nav:hover .app-topbar__notifications-badge,
.app-topbar__shell-nav--active .app-topbar__notifications-badge,
.app-topbar__shell-nav:focus-visible .app-topbar__notifications-badge {
    background-color: #86efac;
    border-color: #86efac;
    color: #14532d;
}

.app-topbar__notifications-badge--hidden {
    display: none;
}

.app-topbar__shell-nav svg,
.app-sidebar__collapse-btn svg,
.app-topbar__menu-btn svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
}

.app-shell-main.container {
    width: 100%;
    max-width: 1600px;
    padding-top: var(--cgo-space-36);
    padding-bottom: var(--cgo-space-36);
    --shell-leave-duration: 400ms;
    --shell-enter-duration: 400ms;
}

.app-shell-main--leaving {
    transition: opacity var(--shell-leave-duration) ease;
    opacity: 0;
}

.app-shell-main--entering {
    transition: opacity var(--shell-enter-duration) ease;
    opacity: 0;
}

@media (prefers-reduced-motion: reduce) {
    .app-shell-main--leaving,
    .app-shell-main--entering {
        transition: none;
    }
}

.app-shell--collapsed {
    grid-template-columns: 72px minmax(0, 1fr);
}

.app-shell--collapsed .app-sidebar__group-label {
    overflow: hidden;
    white-space: nowrap;
    text-indent: -9999px;
    margin-bottom: var(--cgo-space-2);
}

.app-shell--collapsed .app-sidebar__header {
    justify-content: center;
}

.app-shell--collapsed .app-sidebar__brand {
    display: none;
}

.app-shell--collapsed .app-sidebar__link {
    justify-content: center;
    padding: var(--cgo-space-12) var(--cgo-space-8);
    gap: 0;
}

.app-shell--collapsed .app-sidebar__label {
    display: none;
}

.app-shell-backdrop {
    display: none;
}

/* Pasek marki przy wylogowaniu — tylko <header> jako bezpośrednie dziecko <body>.
   Nie stylować wszystkich <header> (np. .app-topbar). */
body > header {
    background: var(--cgo-primary);
    color: var(--cgo-text-inverse);
    padding: var(--cgo-space-2) 0;
    box-shadow: none;
    border-bottom: none;
}

body > header .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

body > header .header-brand {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--cgo-space-12) var(--cgo-space-16);
    min-width: 0;
}

body > header h1 {
    font-size: 2.4em;
    font-weight: 350;
    margin: 0;
    letter-spacing: -0.02em;
}

body > header h1 a.header-title-link {
    color: var(--cgo-text-inverse);
    text-decoration: none;
    transition: opacity 0.2s ease;
}

body > header h1 a.header-title-link:hover {
    opacity: 0.9;
}

/* Main content */
main {
    min-height: calc(100vh - 180px);
}

main.container {
    padding-top: var(--cgo-space-24);
}

/* Page header */
.page-header {
    margin-top: 0;
    margin-bottom: var(--cgo-space-24);
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: var(--cgo-space-16);
}

.page-header h1 {
    margin: 0;
    font-size: var(--cgo-font-size-page-title);
    font-weight: 700;
    color: var(--cgo-text-primary);
    letter-spacing: -0.02em;
    line-height: var(--cgo-line-height-tight);
}

.page-header .dashboard-greeting {
    margin: 0;
    font-size: var(--cgo-font-size-page-title);
    font-weight: 650;
    color: var(--cgo-text-primary);
    letter-spacing: -0.03em;
    line-height: var(--cgo-line-height-tight);
}

.page-header h2 {
    font-size: 1.85rem;
    font-weight: 700;
    color: var(--cgo-text-primary);
    margin: 0;
    letter-spacing: -0.02em;
    line-height: 1.25;
}

/* Nagłówek + opis w jednej kolumnie, ten sam odstęp na wszystkich podstronach */
.page-header-lead {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--cgo-space-12);
}

.page-header-lead__primary {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: var(--cgo-space-16);
    min-width: 0;
    width: 100%;
}

.page-header-nav-icon {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: var(--cgo-space-2);
    color: var(--cgo-primary);
}

.page-header-nav-icon svg {
    width: 44px;
    height: 44px;
    fill: none;
    stroke: currentColor;
}

.page-header-lead__titles {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
}

.page-header-lead__title-row {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: var(--cgo-space-8) var(--cgo-space-12);
}

.page-header-lead__title-date {
    white-space: nowrap;
}

.page-header-lead__titles > :is(h1, h2) {
    margin: 0;
}

.page-header-lead > p {
    margin: 0;
    color: var(--cgo-text-subtle);
    font-size: var(--cgo-font-size-body);
    font-weight: 400;
    line-height: 1.45;
    max-width: 52em;
}

.page-actions,
.page-header-actions {
    display: flex;
    gap: var(--cgo-space-12);
    align-items: center;
}

/* Shell and page responsive layout */
@media (max-width: 1024px) {
    .page-header {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--cgo-space-12);
    }

    .page-header-actions {
        width: 100%;
        flex-wrap: wrap;
    }
}

@media (max-width: 768px) {
    .app-shell {
        grid-template-columns: minmax(0, 1fr);
    }

    .app-shell__sidebar-slot {
        /* Slot no longer paints — drawer bg lives on .app-sidebar below. */
        display: contents;
    }

    .app-shell__surface {
        grid-column: 1 / -1;
        grid-row: 1;
    }

    .app-sidebar {
        position: fixed;
        top: 0;
        left: 0;
        width: min(82vw, 280px);
        z-index: 1400;
        transform: translateX(-102%);
        transition: transform 0.18s ease;
        background: var(--cgo-shell-bg);
        border-right: 1px solid var(--cgo-border-soft);
        box-shadow: var(--cgo-elevation-3);
    }

    .app-shell--drawer-open .app-sidebar {
        transform: translateX(0);
    }

    .app-topbar__menu-btn {
        display: inline-flex;
    }

    .app-topbar {
        gap: var(--cgo-space-8);
        padding-left: var(--cgo-space-12);
        padding-right: var(--cgo-space-12);
    }

    .app-topbar__party-filter {
        flex: 1 1 auto;
        width: auto;
        min-width: 0;
        max-width: none;
    }

    .app-topbar__user-menu {
        max-width: min(42vw, 10rem);
        min-width: 0;
    }

    .app-topbar__user-menu-trigger {
        font-size: 0.95rem;
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .app-shell-backdrop {
        position: fixed;
        inset: 0;
        z-index: 1300;
        background: rgba(15, 23, 42, 0.45);
    }

    .app-shell--drawer-open + .app-shell-backdrop {
        display: block;
    }

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

    .app-shell-main.container {
        padding-top: var(--cgo-space-24);
    }

    body > header .container {
        flex-direction: column;
        gap: var(--cgo-space-16);
        align-items: flex-start;
    }

    body > header .header-brand {
        width: 100%;
        align-items: flex-start;
    }

    .page-header {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* Shared button system: base button, variants, sizes, and simple modifiers. */
/* Buttons — primary, secondary, danger; stała skala (nie em od rodzica jak .task-card) */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: var(--cgo-btn-padding-y) var(--cgo-btn-padding-x);
    border-radius: var(--cgo-btn-radius);
    text-decoration: none;
    font-weight: var(--cgo-btn-font-weight);
    font-size: var(--cgo-btn-font-size);
    letter-spacing: 0.5px;
    min-width: 0;
    min-height: var(--cgo-btn-min-height);
    transition: all 0.2s ease;
    border: var(--cgo-btn-border-width) solid transparent;
    cursor: pointer;
    line-height: 1.5;
    white-space: nowrap;
    box-sizing: border-box;
}

/* .btn { display: inline-flex } overrides native [hidden] */
.btn[hidden] {
    display: none !important;
}

.btn-primary {
    background: var(--cgo-primary);
    color: var(--cgo-text-inverse);
    border-color: var(--cgo-primary);
    box-shadow: var(--cgo-btn-primary-shadow);
}

.btn-primary:hover,
.btn-secondary:hover,
.btn-danger:hover {
    transform: translateY(-1px);
}

.btn-primary:hover {
    background: var(--cgo-primary-hover);
    border-color: var(--cgo-primary-hover);
    box-shadow: var(--cgo-btn-primary-shadow-hover);
}

.modal-dialog--edit .modal-actions .btn-primary {
    background: var(--cgo-primary);
    border-color: var(--cgo-primary);
    color: var(--cgo-text-inverse);
}

.modal-dialog--edit .modal-actions .btn-primary:hover {
    background: var(--cgo-primary-hover);
    border-color: var(--cgo-primary-hover);
    box-shadow: var(--cgo-btn-primary-shadow-hover);
}

.btn-secondary {
    background: var(--cgo-btn-secondary-bg);
    color: var(--cgo-btn-secondary-text);
    border: var(--cgo-btn-border-width) solid var(--cgo-btn-secondary-border);
    box-shadow: var(--cgo-btn-secondary-shadow);
}

.btn-secondary:hover {
    background: var(--cgo-btn-secondary-bg-hover);
    color: var(--cgo-btn-secondary-text);
    border-color: var(--cgo-btn-secondary-border-hover);
    box-shadow: var(--cgo-btn-secondary-shadow-hover);
}

.btn-danger {
    background: var(--cgo-btn-danger-bg);
    color: var(--cgo-btn-danger-text);
    border: var(--cgo-btn-border-width) solid var(--cgo-btn-danger-border);
    box-shadow: var(--cgo-btn-danger-shadow);
}

.btn-danger:hover {
    background: var(--cgo-btn-danger-bg-hover);
    color: var(--cgo-danger-hover);
    border-color: var(--cgo-btn-danger-border-hover);
    box-shadow: var(--cgo-btn-danger-shadow-hover);
}

.btn-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: var(--cgo-space-8);
    min-width: var(--cgo-btn-min-height);
    width: var(--cgo-btn-min-height);
}

.btn-icon svg {
    width: 1.125rem;
    height: 1.125rem;
    flex-shrink: 0;
}

.btn--with-icon {
    gap: var(--cgo-space-8);
}

.btn--with-icon svg {
    width: 1.125rem;
    height: 1.125rem;
    flex-shrink: 0;
}

.btn-sm {
    padding: 0.2rem 0.5rem;
    font-size: 0.75rem;
    min-height: 28px;
}

.btn-full {
    width: 100%;
    justify-content: center;
}

/* Zaznaczony przycisk w grupie (toggle / switcher / segmented) — reuse globalnie. */
.btn.is-selected,
.btn[aria-pressed="true"],
.btn[aria-selected="true"] {
    background: var(--cgo-primary);
    color: var(--cgo-text-inverse);
    border-color: var(--cgo-primary);
    box-shadow: var(--cgo-btn-primary-shadow);
}

.btn.is-selected:hover,
.btn[aria-pressed="true"]:hover,
.btn[aria-selected="true"]:hover {
    background: var(--cgo-primary-hover);
    border-color: var(--cgo-primary-hover);
    color: var(--cgo-text-inverse);
    box-shadow: var(--cgo-btn-primary-shadow-hover);
    transform: translateY(-1px);
}

.btn.is-selected:disabled,
.btn.is-selected[disabled],
.btn[aria-pressed="true"]:disabled,
.btn[aria-selected="true"]:disabled {
    transform: none;
    opacity: 0.72;
    cursor: not-allowed;
}

/* Shared pill and badge primitives used by documents, reports, and compact statuses. */
/* Compact numeric/count pill used inside filters, tabs, and status controls. */
.cgo-count-pill,
.task-trash-view-count,
.to-pickup-supervision-count,
.cgo-tab__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.35em;
    padding: var(--cgo-space-2) var(--cgo-space-8);
    font-size: 0.78em;
    font-weight: 600;
    border-radius: var(--cgo-radius-pill);
    background: var(--cgo-list-filter-count-bg);
    color: var(--cgo-text-secondary);
}

/* Pill badges — wspólna baza (dokumenty, wyroki, raporty) */
.cgo-pill-badge,
.badge,
.document-source-badge,
.document-processing-badge,
.document-instance-badge,
.document-outcome-badge,
.document-signature-mismatch-badge {
    display: inline-flex;
    align-items: center;
    padding: var(--cgo-pill-padding-y) var(--cgo-pill-padding-x);
    font-size: var(--cgo-pill-font-size);
    font-weight: 600;
    line-height: 1.35;
    border: none;
    border-radius: var(--cgo-radius-pill);
    white-space: nowrap;
    letter-spacing: 0.02em;
}

.document-source-badge {
    text-transform: uppercase;
    letter-spacing: 0.04em;
    background: var(--cgo-pill-default-bg);
    color: var(--cgo-pill-default-fg);
}

.document-source-badge--protokol {
    background: var(--cgo-pill-protokol-bg);
    color: var(--cgo-pill-protokol-fg);
}

.document-source-badge--other {
    background: var(--cgo-pill-neutral-bg);
    color: var(--cgo-pill-neutral-fg);
}

.document-source-badge--sentence {
    background: var(--cgo-pill-sentence-bg);
    color: var(--cgo-pill-sentence-fg);
}

.document-source-badge--notice {
    background: var(--cgo-pill-info-bg);
    color: var(--cgo-pill-info-fg);
}

.document-source-badge--technical {
    background: var(--cgo-pill-status-review-bg);
    color: var(--cgo-pill-status-review-fg);
}

.document-source-badge--order {
    background: var(--cgo-pill-info-bg);
    color: var(--cgo-pill-info-fg);
}

.document-source-badge--transfer {
    background: var(--cgo-pill-neutral-bg);
    color: var(--cgo-pill-neutral-fg);
}

.document-source-badge--decision {
    background: var(--cgo-pill-info-bg);
    color: var(--cgo-pill-info-fg);
}

.document-source-badge--summons {
    background: var(--cgo-pill-status-unprocessed-bg);
    color: var(--cgo-pill-status-unprocessed-fg);
}

.document-source-badge--delivery {
    background: var(--cgo-pill-neutral-bg);
    color: var(--cgo-pill-neutral-fg);
}

.document-source-badge--justification {
    background: var(--cgo-pill-sentence-bg);
    color: var(--cgo-pill-sentence-fg);
}

.document-source-badge--complaint {
    background: var(--cgo-pill-status-review-bg);
    color: var(--cgo-pill-status-review-fg);
}

.document-source-badge--nakaz {
    background: var(--cgo-pill-info-bg);
    color: var(--cgo-pill-info-fg);
}

.document-source-badge--obligation {
    background: var(--cgo-pill-info-bg);
    color: var(--cgo-pill-info-fg);
}

.document-source-badge--general_writing {
    background: var(--cgo-pill-neutral-bg);
    color: var(--cgo-pill-neutral-fg);
}

.document-processing-badge--ok {
    background: var(--cgo-pill-status-ok-bg);
    color: var(--cgo-pill-status-ok-fg);
}

.document-processing-badge--manual_review {
    background: var(--cgo-pill-status-review-bg);
    color: var(--cgo-pill-status-review-fg);
}

.document-processing-badge--error {
    background: var(--cgo-pill-status-error-bg);
    color: var(--cgo-pill-status-error-fg);
}

.document-processing-badge--unprocessed {
    background: var(--cgo-pill-status-unprocessed-bg);
    color: var(--cgo-pill-status-unprocessed-fg);
}

.document-processing-badge--technical {
    background: var(--cgo-pill-status-review-bg);
    color: var(--cgo-pill-status-review-fg);
}

.document-processing-badge--skipped_openai,
.document-processing-badge--skipped_u2u {
    background: var(--cgo-pill-neutral-bg);
    color: var(--cgo-pill-neutral-fg);
}

.document-instance-badge--first,
.document-instance-badge--i {
    background: var(--cgo-pill-instance-first-bg);
    color: var(--cgo-pill-instance-first-fg);
}

.document-instance-badge--second,
.document-instance-badge--ii {
    background: var(--cgo-pill-instance-second-bg);
    color: var(--cgo-pill-instance-second-fg);
}

.document-instance-badge--unknown {
    background: var(--cgo-pill-neutral-bg);
    color: var(--cgo-pill-neutral-fg);
}

.document-outcome-badge--won {
    background: var(--cgo-pill-positive-bg);
    color: var(--cgo-pill-positive-fg);
}

.document-outcome-badge--lost {
    background: var(--cgo-pill-negative-bg);
    color: var(--cgo-pill-negative-fg);
}

.document-outcome-badge--other {
    background: var(--cgo-pill-neutral-bg);
    color: var(--cgo-pill-neutral-fg);
}

.document-signature-mismatch-badge {
    background: var(--cgo-pill-warning-bg);
    color: var(--cgo-pill-warning-fg);
}

.badge-success {
    background: var(--cgo-pill-positive-bg);
    color: var(--cgo-pill-positive-fg);
}

.badge-secondary {
    background: var(--cgo-pill-neutral-bg);
    color: var(--cgo-pill-neutral-fg);
}

.badge-info {
    background: var(--cgo-pill-info-bg);
    color: var(--cgo-pill-info-fg);
}

/* Shared form field components: wrapper, label, control + size/variant modifiers. */

.cgo-form-field {
    display: flex;
    flex-direction: column;
    gap: var(--cgo-space-4);
}

.cgo-form-label {
    font-size: var(--cgo-font-size-2xs);
    font-weight: 600;
    line-height: var(--cgo-line-height-tight);
    color: var(--cgo-text-subtle);
}

/* Default control — modals, calendar, letters, CRM */
.cgo-form-control {
    box-sizing: border-box;
    display: block;
    width: 100%;
    padding: var(--cgo-space-8) var(--cgo-space-12);
    border: 1px solid var(--cgo-border-control);
    border-radius: var(--cgo-btn-radius);
    font-family: inherit;
    font-size: 0.95rem;
    line-height: var(--cgo-line-height-tight);
    color: #2f3a45;
    background-color: var(--cgo-text-inverse);
    box-shadow: var(--cgo-shadow-control);
    transition:
        border-color var(--cgo-motion-fast) var(--cgo-ease-standard),
        box-shadow var(--cgo-motion-fast) var(--cgo-ease-standard),
        background-color var(--cgo-motion-fast) var(--cgo-ease-standard);
}

.cgo-form-control:hover {
    background-color: var(--cgo-surface-subtle);
    border-color: var(--cgo-border-hover);
}

.cgo-form-control:focus {
    outline: none;
    border-color: var(--cgo-primary);
    box-shadow: var(--cgo-shadow-focus);
    background-color: var(--cgo-text-inverse);
}

textarea.cgo-form-control {
    resize: vertical;
    min-height: 80px;
}

select.cgo-form-control {
    padding-right: var(--cgo-space-36);
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23495057' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.6rem center;
}

select.cgo-form-control:hover,
select.cgo-form-control:focus {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23495057' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.6rem center;
}

/* Compact — list filters, UQ bulk, searchbar, date-range display */
.cgo-form-control--sm {
    height: var(--cgo-btn-min-height);
    min-height: var(--cgo-btn-min-height);
    padding: 0 var(--cgo-space-8);
    border: 1px solid var(--cgo-border-input);
    font-size: var(--cgo-font-size-sm);
    font-weight: 500;
    line-height: var(--cgo-line-height-tight);
    color: var(--cgo-text-default);
    background-color: var(--cgo-surface);
    box-shadow: none;
}

.cgo-form-control--sm:hover {
    background-color: var(--cgo-surface-subtle);
    border-color: var(--cgo-border-hover);
}

select.cgo-form-control--sm {
    padding-right: 1.75rem;
}

.cgo-form-control--sm.cgo-date-range-display::placeholder {
    color: #868e96;
    font-weight: 400;
}

/* Settings / API keys — monospace single-line */
.cgo-form-control--mono {
    height: 2.5rem;
    min-height: unset;
    margin-top: var(--cgo-space-12);
    font-family: var(--cgo-font-mono);
    font-size: 12px;
    line-height: 1.35;
    white-space: nowrap;
    overflow-x: auto;
}

/* Wartość referencyjna do skopiowania (nie pole formularza) */
.cgo-confirm-value {
    display: block;
    box-sizing: border-box;
    margin-top: var(--cgo-space-12);
    padding: 0.65rem var(--cgo-space-12);
    min-height: 2.5rem;
    font-family: var(--cgo-font-mono);
    font-size: 12px;
    line-height: 1.35;
    word-break: break-all;
    color: var(--cgo-text, inherit);
    background: var(--cgo-surface-subtle, #f8fafc);
    border: 1px solid var(--cgo-border-soft, #dce4ee);
    border-radius: var(--cgo-table-radius);
    user-select: all;
}

/* Auth login */
.cgo-form-control--auth {
    padding: var(--cgo-space-12);
    border: 1px solid var(--cgo-border-input);
    font-size: 1em;
    color: var(--cgo-text-default);
    background-color: var(--cgo-surface);
    box-shadow: none;
}

/* Inline chip select in task cards */
.cgo-form-control--chip {
    width: auto;
    max-width: 11rem;
    min-height: var(--cgo-btn-min-height);
    padding: var(--cgo-btn-padding-y) calc(var(--cgo-space-24) + var(--cgo-space-4)) var(--cgo-btn-padding-y) var(--cgo-btn-padding-x);
    border: var(--cgo-btn-border-width) solid var(--cgo-btn-secondary-border);
    background-color: var(--cgo-btn-secondary-bg);
    color: var(--cgo-btn-secondary-text);
    font-size: var(--cgo-btn-font-size);
    font-weight: var(--cgo-btn-font-weight);
    letter-spacing: 0.5px;
    line-height: 1.5;
    box-shadow: none;
    transition: all 0.2s ease;
}

.cgo-form-control--chip:hover {
    background-color: var(--cgo-btn-secondary-bg-hover);
    border-color: var(--cgo-btn-secondary-border-hover);
    box-shadow: var(--cgo-btn-secondary-shadow-hover);
}

.cgo-form-control--chip:focus {
    background-color: var(--cgo-btn-secondary-bg-hover);
    border-color: var(--cgo-btn-secondary-border-hover);
    box-shadow: var(--cgo-btn-secondary-shadow-hover);
}

select.cgo-form-control--chip {
    background-image:
        linear-gradient(45deg, transparent 50%, #64748b 50%),
        linear-gradient(135deg, #64748b 50%, transparent 50%);
    background-position:
        calc(100% - 14px) calc(50% - 2px),
        calc(100% - 9px) calc(50% - 2px);
    background-size: 5px 5px, 5px 5px;
    background-repeat: no-repeat;
}

select.cgo-form-control--chip:hover,
select.cgo-form-control--chip:focus {
    background-image:
        linear-gradient(45deg, transparent 50%, #64748b 50%),
        linear-gradient(135deg, #64748b 50%, transparent 50%);
    background-position:
        calc(100% - 14px) calc(50% - 2px),
        calc(100% - 9px) calc(50% - 2px);
    background-size: 5px 5px, 5px 5px;
    background-repeat: no-repeat;
}

/* Global round checkbox — excludes toggle switches (task status, letter template active). */
:where(
    input[type="checkbox"]:not(.task-status-toggle-input):not(.case-letters-toggle-input)
) {
    appearance: none;
    -webkit-appearance: none;
    box-sizing: border-box;
    width: var(--cgo-checkbox-size);
    height: var(--cgo-checkbox-size);
    margin: 0;
    flex-shrink: 0;
    border: 2px solid var(--cgo-checkbox-border);
    border-radius: var(--cgo-radius-round);
    background-color: var(--cgo-checkbox-bg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 0.65em;
    cursor: pointer;
    vertical-align: middle;
    transition:
        background-color var(--cgo-motion-fast) var(--cgo-ease-standard),
        border-color var(--cgo-motion-fast) var(--cgo-ease-standard),
        box-shadow var(--cgo-motion-fast) var(--cgo-ease-standard);
}

:where(
    input[type="checkbox"]:not(.task-status-toggle-input):not(.case-letters-toggle-input)
):hover:not(:disabled):not(:checked):not(:indeterminate) {
    border-color: var(--cgo-border-hover);
}

:where(
    input[type="checkbox"]:not(.task-status-toggle-input):not(.case-letters-toggle-input)
):checked {
    border-color: var(--cgo-checkbox-checked);
    background-color: var(--cgo-checkbox-checked);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M2.5 6.2 5 8.7 9.5 3.8' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

:where(
    input[type="checkbox"]:not(.task-status-toggle-input):not(.case-letters-toggle-input)
):indeterminate {
    border-color: var(--cgo-checkbox-checked);
    background-color: var(--cgo-checkbox-checked);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M2.5 6h7' stroke='%23fff' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");
}

:where(
    input[type="checkbox"]:not(.task-status-toggle-input):not(.case-letters-toggle-input)
):checked:hover:not(:disabled),
:where(
    input[type="checkbox"]:not(.task-status-toggle-input):not(.case-letters-toggle-input)
):indeterminate:hover:not(:disabled) {
    border-color: var(--cgo-checkbox-checked-hover);
    background-color: var(--cgo-checkbox-checked-hover);
}

:where(
    input[type="checkbox"]:not(.task-status-toggle-input):not(.case-letters-toggle-input)
):focus-visible {
    outline: none;
    box-shadow: var(--cgo-focus-ring);
}

:where(
    input[type="checkbox"]:not(.task-status-toggle-input):not(.case-letters-toggle-input)
):disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

/* Shared list-filter chrome and pill-tab filters. */
/* removed: cgo-segmented-* → cgo-tabs (2026-07-24) */

.list-header-controls__search .cgo-searchbar {
    min-height: var(--cgo-list-filter-tabs-height);
    gap: var(--cgo-space-2);
    align-items: stretch;
    flex-wrap: nowrap;
}

.list-header-controls__search .cgo-searchbar-field {
    min-height: 0;
    flex: 1;
}

.list-header-controls__search .cgo-searchbar-input,
.list-header-controls__search .cgo-searchbar-submit {
    height: 100%;
    min-height: var(--cgo-list-filter-tabs-height);
    box-sizing: border-box;
}

.list-header-controls__search .cgo-searchbar-input {
    font-size: var(--cgo-font-size-sm);
    font-weight: 500;
    line-height: var(--cgo-line-height-tight);
    padding-top: 0;
    padding-bottom: 0;
    padding-left: var(--cgo-space-12);
    padding-right: var(--cgo-space-36);
    min-width: 0;
    width: 100%;
}

.list-header-controls__search .cgo-searchbar-submit {
    padding: var(--cgo-space-4) var(--cgo-space-8);
    font-size: var(--cgo-font-size-sm);
    font-weight: var(--cgo-btn-font-weight);
    line-height: var(--cgo-line-height-tight);
    border-radius: var(--cgo-btn-radius);
    flex-shrink: 0;
}

.list-header-controls .task-list-toolbar-filters {
    align-items: stretch;
    width: 100%;
}

.list-header-controls .task-list-segment-group,
.list-header-controls .task-list-toolbar-filters .task-list-filter-inner.task-list-segment-group {
    align-items: stretch;
    width: 100%;
}

.list-header-controls .task-list-filter-panel {
    width: 100%;
}

.list-header-controls .task-list-toolbar {
    width: 100%;
}

.task-status-filter-group {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--cgo-space-8);
    width: 100%;
    max-width: min(28rem, 100%);
}

.task-list-page .page-header {
    align-items: center;
}

.task-list-page .page-header-actions .task-status-filter-group {
    width: auto;
    max-width: none;
    flex-wrap: nowrap;
    justify-content: flex-end;
}

.task-status-filter-group .btn {
    gap: var(--cgo-space-8);
}

.task-status-filter-group .task-status-trash-tab-label,
.task-status-filter-group .task-trash-view-count {
    flex-shrink: 0;
}

.task-status-filter-group .btn-primary .task-trash-view-count {
    background: rgba(255, 255, 255, 0.22);
    color: var(--cgo-text-inverse);
}

.task-list-header-search-label {
    margin: 0;
}

.task-list-filter-panel {
    display: flex;
    flex-direction: column;
    width: 100%;
    box-sizing: border-box;
    background: var(--cgo-surface);
    border: 1px solid var(--cgo-border-soft);
    border-radius: 14px;
    padding: var(--cgo-space-20) var(--cgo-space-20);
    box-shadow: var(--cgo-shadow-panel);
}

.task-list-filter-panel.task-list-filter-panel--embedded {
    background: transparent;
    border: none;
    border-radius: 0;
    padding: 0;
    box-shadow: none;
}

.task-list-filter-panel-footer {
    display: flex;
    justify-content: flex-end;
    margin-top: var(--cgo-space-16);
    padding-top: var(--cgo-space-12);
    border-top: 1px solid var(--cgo-list-filter-divider);
}

.task-list-filter-panel-footer-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    gap: var(--cgo-space-12);
}

.task-trash-view-count:empty {
    display: none;
}

.cgo-filter-toolbar,
.task-list-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: space-between;
    gap: var(--cgo-space-16) var(--cgo-space-24);
    width: 100%;
}

.cgo-filter-toolbar__filters,
.task-list-toolbar-filters {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--cgo-space-4);
    flex: 1 1 0;
    min-width: 0;
}

.cgo-filter-segment-group,
.task-list-segment-group {
    display: flex;
    flex-direction: column;
    gap: var(--cgo-space-4);
    min-width: 0;
    width: 100%;
}

.cgo-pill-tabs {
    display: inline-flex;
    align-items: center;
    gap: var(--cgo-space-8);
    margin-top: var(--cgo-space-8);
}

.cgo-pill-tab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: var(--cgo-btn-border-width) solid var(--cgo-btn-secondary-border);
    border-radius: var(--cgo-radius-pill);
    padding: var(--cgo-space-8) var(--cgo-space-16);
    background: var(--cgo-surface);
    color: var(--cgo-text-secondary);
    text-decoration: none;
    font-size: 0.86rem;
    line-height: 1.15;
    font-weight: var(--cgo-btn-font-weight);
    cursor: pointer;
}

.cgo-pill-tab:hover {
    background: var(--cgo-surface-subtle);
    text-decoration: none;
}

.cgo-pill-tab--active {
    font-weight: 600;
}

.cgo-pill-tab--first.cgo-pill-tab--active {
    background: #eef2ff;
    border-color: #a5b4fc;
    color: #3730a3;
}

.cgo-pill-tab--second.cgo-pill-tab--active {
    background: #fff4e6;
    border-color: #f6ad55;
    color: #9c4221;
}

.cgo-pill-tab--all.cgo-pill-tab--active {
    background: #edf2f7;
    border-color: #cbd5e0;
    color: #2d3748;
}

@media (max-width: 1024px) {
    .list-header-controls,
    .cgo-filter-toolbar,
    .task-list-toolbar {
        flex-direction: column;
        align-items: stretch;
    }

    .list-header-controls__search,
    .cgo-filter-toolbar__search,
    .task-list-toolbar-search {
        width: 100%;
        max-width: none;
    }

    .cgo-filter-toolbar__filters,
    .task-list-toolbar-filters,
    .task-status-filter-group {
        max-width: none;
        width: 100%;
    }
}


/* Underline tabs — reusable tablist.
   Selectors use button.cgo-tab so they win over base.css button.cgo-tab { unset }. */

.cgo-tabs {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: var(--cgo-space-4) var(--cgo-space-24);
    width: 100%;
    margin: 0;
    padding: 0;
    border-bottom: 1px solid var(--cgo-border-default, #ced4da);
    background: transparent;
    box-sizing: border-box;
}

button.cgo-tab {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--cgo-space-8);
    margin: 0 0 -1px;
    padding: var(--cgo-space-12) var(--cgo-space-12);
    border: none;
    border-bottom: 3px solid transparent;
    border-radius: 0;
    background: transparent;
    color: var(--cgo-text-subtle);
    font-size: var(--cgo-font-size-lg);
    font-weight: 600;
    line-height: var(--cgo-line-height-tight, 1.25);
    cursor: pointer;
    transition: color 0.15s ease, border-color 0.15s ease;
}

button.cgo-tab:hover {
    color: var(--cgo-primary);
    border-bottom-color: color-mix(in srgb, var(--cgo-primary) 40%, transparent);
    background: transparent;
}

button.cgo-tab:focus-visible {
    outline: 2px solid color-mix(in srgb, var(--cgo-primary) 45%, transparent);
    outline-offset: 2px;
}

button.cgo-tab.cgo-tab--active {
    color: var(--cgo-primary);
    font-weight: 700;
    border-bottom-color: var(--cgo-primary);
}

button.cgo-tab.cgo-tab--active:hover {
    color: var(--cgo-primary-hover, var(--cgo-primary));
    border-bottom-color: var(--cgo-primary-hover, var(--cgo-primary));
}

button.cgo-tab .cgo-tab__count:empty {
    display: none;
}

.cgo-tabs--sm {
    gap: var(--cgo-space-4) var(--cgo-space-12);
}

.cgo-tabs--sm > button.cgo-tab {
    padding: var(--cgo-space-8) var(--cgo-space-8);
    border-bottom-width: 2px;
    font-size: var(--cgo-font-size-md);
}

/* Shared searchbar: input wrapper, clear affordance, and compact layout. */
/* Wspólny searchbar: pole + opcjonalny Szukaj + × (bez natywnego clear w WebKit) */
.cgo-searchbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--cgo-space-12);
    width: 100%;
    min-width: 0;
}

.cgo-searchbar-field {
    position: relative;
    flex: 1;
    min-width: 0;
}

.cgo-searchbar .cgo-searchbar-input {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    padding-right: var(--cgo-space-36);
}

.cgo-searchbar-input::-webkit-search-cancel-button,
.cgo-searchbar-input::-webkit-search-decoration {
    -webkit-appearance: none;
    appearance: none;
    display: none;
}

.cgo-searchbar-clear {
    position: absolute;
    top: 50%;
    right: 8px;
    transform: translateY(-50%);
    width: 22px;
    height: 22px;
    padding: 0;
    border: none;
    border-radius: 6px;
    background: transparent;
    color: #64748b;
    font-size: 1.15rem;
    line-height: 1;
    cursor: pointer;
    display: none;
    align-items: center;
    justify-content: center;
}

.cgo-searchbar--has-value .cgo-searchbar-clear {
    display: inline-flex;
}

.cgo-searchbar-clear:hover {
    color: var(--cgo-primary);
    background: rgba(26, 54, 93, 0.08);
}

.cgo-searchbar--compact {
    flex-wrap: nowrap;
}

.cgo-searchbar--compact .cgo-searchbar-submit {
    flex-shrink: 0;
}

/* Shared pagination controls. */
.pagination {
    margin-top: var(--cgo-space-24);
    display: flex;
    justify-content: center;
}

.pagination-inner {
    display: flex;
    gap: var(--cgo-space-8);
    flex-wrap: wrap;
    align-items: center;
}

.pagination-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    padding: var(--cgo-space-8) var(--cgo-space-12);
    border-radius: 10px;
    font-size: 0.9em;
    font-weight: 500;
    text-decoration: none;
    color: var(--cgo-text-secondary);
    background: var(--cgo-surface);
    border: 1px solid var(--cgo-border-muted);
    transition: all 0.2s ease;
}

.pagination-link:hover:not(.disabled):not(.active) {
    background: var(--cgo-surface-subtle);
    border-color: var(--cgo-border-hover);
    color: var(--cgo-text-primary);
}

.pagination-link.active {
    background: var(--cgo-primary);
    border-color: var(--cgo-primary);
    color: var(--cgo-text-inverse);
    cursor: default;
}

.pagination-link.disabled {
    opacity: 0.6;
    cursor: not-allowed;
    color: var(--cgo-modal-subtitle-color);
}

/* Shared empty, placeholder, muted states, and inline feedback banners. */

.cgo-feedback {
    margin: var(--cgo-space-12) 0 0;
    padding: var(--cgo-space-8) var(--cgo-space-12);
    border-radius: var(--cgo-radius-md);
    font-size: 0.9rem;
    line-height: 1.45;
    border: none;
}

/* Page-level banners (CRM status, etc.) sit above .page-header — keep a gap. */
main.container > .cgo-feedback:not([hidden]),
.case-hub-layout > .cgo-feedback:not([hidden]) {
    margin-bottom: var(--cgo-space-16);
}

.cgo-feedback--error {
    background: color-mix(in srgb, var(--cgo-danger) 8%, transparent);
    color: var(--cgo-danger);
}

.cgo-feedback--success {
    background: color-mix(in srgb, var(--cgo-color-success) 8%, transparent);
    color: var(--cgo-status-success-text);
}

.cgo-feedback--warning {
    background: color-mix(in srgb, var(--cgo-color-warning) 10%, transparent);
    color: var(--cgo-text-primary);
}

.cgo-feedback--neutral {
    background: var(--cgo-surface-subtle);
    color: var(--cgo-text-muted);
}

.cgo-feedback a {
    color: inherit;
    font-weight: 600;
    text-decoration: underline;
}

.cgo-field-error {
    font-size: 0.9rem;
    margin: var(--cgo-space-8) 0 0;
    color: var(--cgo-danger);
}

/* Empty state */
.empty-state,
.calendar-day-tasks-placeholder {
    padding: var(--cgo-space-24);
    background: var(--cgo-surface-subtle);
    border-radius: var(--cgo-radius-md);
    border: 1px solid var(--cgo-border-soft);
}

.empty-state p,
.calendar-day-tasks-placeholder p {
    font-size: 0.9em;
    color: var(--cgo-modal-subtitle-color);
    margin: 0;
}

.text-muted {
    color: var(--cgo-modal-subtitle-color);
    font-size: 0.9em;
}

/* Shared neutral card-like summary components. */
.cgo-card,
.stats-bar,
.document-tile {
    background: var(--cgo-surface);
    border: 1px solid var(--cgo-border-soft);
    border-radius: var(--cgo-radius-md);
    box-shadow: var(--cgo-shadow-card);
}

.cgo-card--interactive,
.task-card {
    background: var(--cgo-surface);
    border-radius: var(--cgo-radius-md);
    box-shadow: var(--cgo-shadow-card);
}

/* Stats bar - Profesjonalny */
.stats-bar {
    display: flex;
    gap: var(--cgo-space-24);
    margin-bottom: var(--cgo-space-24);
    padding: var(--cgo-space-20);
}

.stat-item {
    display: flex;
    flex-direction: column;
    gap: var(--cgo-space-4);
}

.stat-label {
    font-size: 0.85em;
    color: var(--cgo-modal-subtitle-color);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.stat-value {
    font-size: 1.75em;
    font-weight: 600;
    color: var(--cgo-text-primary);
    letter-spacing: -0.02em;
}

/* Shared card responsive adjustments. */
@media (max-width: 768px) {
    .stats-bar {
        flex-direction: column;
        gap: var(--cgo-space-16);
    }
}

/*
 * Panel responsive system.
 * Breakpoints (literals — see --cgo-bp-* in tokens.css):
 *   tablet: max-width 1024px — stack layouts, hide complex workflows
 *   phone:  max-width 768px  — drawer, card tables, full stack
 *
 * data-mobile-skip: hide complex desktop workflows on narrow viewports.
 * !important is intentional — explicit contract over local display rules.
 */

/* Desktop-only notices stay hidden until tablet breakpoint. */
[data-mobile-only] {
    display: none !important;
}

@media (max-width: 1024px) {
    [data-mobile-skip] {
        display: none !important;
    }

    [data-mobile-only] {
        display: block !important;
    }

    .cgo-mobile-desktop-only-notice {
        margin: 0 0 var(--cgo-space-16);
        padding: var(--cgo-space-16) var(--cgo-space-20);
        border: 1px solid var(--cgo-border-muted);
        border-radius: var(--cgo-radius-md);
        background: var(--cgo-surface-subtle);
        color: var(--cgo-text-secondary);
        font-size: var(--cgo-font-size-body);
        line-height: var(--cgo-line-height-relaxed);
    }
}

/* Shared card-table pattern (reuse contract from cases-list-table). */
@media (max-width: 768px) {
    .cgo-table--responsive-cards thead {
        display: none;
    }

    .cgo-table--responsive-cards tbody,
    .cgo-table--responsive-cards tfoot,
    .cgo-table--responsive-cards tr,
    .cgo-table--responsive-cards td {
        display: block;
        width: 100%;
    }

    .cgo-table--responsive-cards tr {
        margin-bottom: var(--cgo-space-12);
        border: 1px solid var(--cgo-border-soft, #dce4ee);
        border-radius: var(--cgo-radius-sm);
        background: var(--cgo-surface, #fff);
        overflow: hidden;
    }

    .cgo-table--responsive-cards tr:hover td {
        background: transparent;
    }

    .cgo-table--responsive-cards td {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: var(--cgo-space-4);
        padding: var(--cgo-space-8) var(--cgo-space-12);
        border-bottom: 1px solid var(--cgo-border-soft, #e5e7eb);
        white-space: normal;
    }

    .cgo-table--responsive-cards td:last-child {
        border-bottom: none;
    }

    .cgo-table--responsive-cards td::before {
        content: attr(data-label);
        font-size: 0.75rem;
        font-weight: 600;
        color: var(--cgo-text-muted, #6b7280);
        text-transform: uppercase;
        letter-spacing: 0.02em;
    }

    .cgo-table--responsive-cards td:not([data-label])::before,
    .cgo-table--responsive-cards td[data-label=""]::before {
        content: none;
    }
}

/* PDF iframe: out of flow so Chrome viewer cannot grow the page. */

.documents-browse-preview-frame-wrap,
.to-pickup-supervision-frame-shell .document-preview-frame-wrap {
    position: relative;
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
}

.documents-browse-preview-frame-wrap .document-preview-frame,
.to-pickup-supervision-frame-shell .document-preview-frame {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    min-height: 0;
    border: none;
    display: block;
    background: #fff;
}

.documents-browse-preview-frame-wrap .documents-browse-preview-unavailable,
.to-pickup-supervision-frame-shell .documents-browse-preview-unavailable {
    position: absolute;
    inset: 0;
    height: auto;
    min-height: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Dashboard and statistics feature styles. */
/* --- Pulpit --- */
body.page-dashboard {
    background:
        radial-gradient(120% 85% at 10% -8%, color-mix(in srgb, var(--cgo-primary) 7%, var(--cgo-page-bg)) 0%, transparent 52%),
        radial-gradient(95% 75% at 92% 108%, color-mix(in srgb, var(--cgo-primary) 5%, var(--cgo-page-bg)) 0%, transparent 48%),
        var(--cgo-page-bg);
}

body.page-dashboard .app-shell-main.container {
    padding-top: var(--cgo-space-44);
    padding-left: max(var(--cgo-space-24), env(safe-area-inset-left));
    padding-right: max(var(--cgo-space-24), env(safe-area-inset-right));
}

@media (min-width: 1024px) {
    body.page-dashboard .app-shell-main.container {
        padding-left: var(--cgo-space-32);
        padding-right: var(--cgo-space-32);
    }
}

body.page-dashboard .page-header {
    margin-bottom: var(--cgo-space-24);
}

.dashboard-whats-new {
    margin: var(--cgo-space-44) 0 0;
    padding: var(--cgo-space-20);
    background: var(--cgo-surface);
    border: 1px solid var(--cgo-border-soft);
    border-radius: var(--cgo-dashboard-tile-radius);
    box-shadow: var(--cgo-shadow-card-soft);
}

.dashboard-whats-new__title {
    margin: 0 0 var(--cgo-space-16);
    color: var(--cgo-text-muted);
    font-size: var(--cgo-font-size-md);
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: var(--cgo-line-height-tight);
}

.dashboard-whats-new__list {
    display: flex;
    flex-direction: column;
    gap: var(--cgo-space-16);
    margin: 0;
    padding: 0;
    list-style: none;
}

.dashboard-whats-new__entry {
    min-width: 0;
}

.dashboard-whats-new__entry + .dashboard-whats-new__entry {
    padding-top: var(--cgo-space-16);
    border-top: 1px solid var(--cgo-border-soft);
}

.dashboard-whats-new__entry-header {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: var(--cgo-space-8) var(--cgo-space-12);
}

.dashboard-whats-new__date {
    color: var(--cgo-text-subtle);
    font-size: var(--cgo-font-size-meta);
    font-weight: 400;
    letter-spacing: 0.01em;
    white-space: nowrap;
}

.dashboard-whats-new__entry-title {
    margin: 0;
    color: var(--cgo-text-primary);
    font-size: var(--cgo-font-size-md);
    font-weight: 600;
    letter-spacing: -0.01em;
    line-height: var(--cgo-line-height-tight);
    text-decoration: none;
}

a.dashboard-whats-new__entry-title:hover {
    color: var(--cgo-primary);
}

.dashboard-sections {
    display: flex;
    flex-direction: column;
    gap: var(--cgo-space-44);
}

.dashboard-board {
    display: flex;
    flex-direction: column;
    gap: var(--cgo-space-24);
    margin-top: 0;
    min-width: 0;
}

.dashboard-priority {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
    gap: var(--cgo-space-24);
    align-items: stretch;
    min-width: 0;
}

.dashboard-priority__metrics {
    display: flex;
    flex-direction: column;
    gap: var(--cgo-space-16);
    min-width: 0;
    padding: var(--cgo-space-20);
    background: var(--cgo-surface-subtle);
    border: 1px solid color-mix(in srgb, var(--cgo-primary) 8%, var(--cgo-border-soft));
    border-radius: var(--cgo-dashboard-tile-radius);
    box-shadow: none;
}

.dashboard-metric-section {
    min-width: 0;
    padding: var(--cgo-space-20);
    background: var(--cgo-surface);
    border: 1px solid var(--cgo-border-soft);
    border-radius: var(--cgo-dashboard-tile-radius);
    box-shadow: var(--cgo-shadow-card-soft);
}

.dashboard-metric-section--priority {
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.dashboard-metric-section--documents {
    width: 100%;
}

.dashboard-metric-section__title {
    display: flex;
    align-items: baseline;
    gap: var(--cgo-space-8);
    margin: 0 0 var(--cgo-space-16);
    color: var(--cgo-text-muted);
    font-size: var(--cgo-font-size-md);
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: var(--cgo-line-height-tight);
}

.dashboard-metric-section__hint {
    color: var(--cgo-text-subtle);
    font-size: var(--cgo-font-size-meta);
    font-weight: 400;
    letter-spacing: 0.01em;
}

.dashboard-metric-section--priority .dashboard-metric-section__title {
    margin-bottom: var(--cgo-space-12);
    font-size: var(--cgo-font-size-md);
}

.dashboard-metric-section__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--cgo-space-8);
    overflow: visible;
    background: transparent;
    border: 0;
}

.dashboard-metric-section__grid--cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.dashboard-metric-section__grid--cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.dashboard-metric-section__grid--dense {
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.dashboard-metric-card,
.dashboard-bulk-card {
    background: var(--cgo-surface);
    border: 1px solid var(--cgo-border-soft);
    border-radius: var(--cgo-dashboard-tile-radius);
    color: inherit;
    text-decoration: none;
    transition:
        box-shadow var(--cgo-motion-slow) cubic-bezier(0.25, 0.1, 0.25, 1),
        transform var(--cgo-motion-slow) cubic-bezier(0.25, 0.1, 0.25, 1),
        border-color var(--cgo-motion-slow) cubic-bezier(0.25, 0.1, 0.25, 1);
}

.dashboard-bulk-card {
    box-shadow: var(--cgo-shadow-card);
}

.dashboard-metric-card {
    --dashboard-metric-accent: var(--cgo-primary);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 0;
    padding: var(--cgo-space-12) var(--cgo-space-8);
    background: var(--cgo-surface);
    border: 1px solid color-mix(in srgb, var(--cgo-primary) 10%, var(--cgo-border-soft));
    border-radius: var(--cgo-btn-radius);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
    text-align: center;
}

.dashboard-metric-section__grid--dense .dashboard-metric-card {
    min-height: 0;
    padding: var(--cgo-space-8) var(--cgo-space-4);
}

.dashboard-metric-section__grid--dense .dashboard-metric-card__label {
    margin-top: var(--cgo-space-4);
    font-size: var(--cgo-font-size-sm);
}

.dashboard-metric-card__value {
    margin: 0;
    color: var(--dashboard-metric-accent);
    font-size: var(--cgo-dashboard-metric-value);
    font-weight: 450;
    line-height: 0.95;
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.04em;
}

.dashboard-metric-card__label {
    margin-top: var(--cgo-space-4);
    color: var(--cgo-text-muted);
    font-size: var(--cgo-font-size-md);
    font-weight: 500;
    line-height: 1.15;
    letter-spacing: 0;
}

span.dashboard-metric-card {
    border-color: var(--cgo-border-soft);
    box-shadow: none;
    cursor: default;
}

span.dashboard-metric-card .dashboard-metric-card__value,
span.dashboard-metric-card .dashboard-metric-card__label {
    color: var(--cgo-text-muted);
}

a.dashboard-metric-card--task-urgent,
a.dashboard-metric-card--unclassified,
a.dashboard-metric-card--deliveries-to-confirm-legal {
    --dashboard-metric-accent: var(--cgo-color-danger);
}

.dashboard-bulk-card {
    display: grid;
    grid-template-columns: 1fr;
    align-items: start;
    gap: var(--cgo-space-20);
    padding: var(--cgo-space-24);
    background: var(--cgo-surface);
    border-color: var(--cgo-border-soft);
}

.dashboard-bulk-card__lead {
    min-width: 0;
}

.dashboard-bulk-card__title {
    margin: 0;
    color: var(--cgo-text-primary);
    font-size: 1.4375rem;
    font-weight: 600;
    letter-spacing: -0.018em;
    line-height: 1.22;
    text-wrap: balance;
}

.dashboard-bulk-card__hint {
    margin: var(--cgo-space-8) 0 0;
    color: var(--cgo-text-muted);
    font-size: 0.84rem;
    font-weight: 400;
    line-height: 1.45;
    opacity: 0.92;
}

a.dashboard-metric-card:hover {
    transform: translateY(-1px);
    border-color: color-mix(in srgb, var(--cgo-primary) 18%, var(--cgo-border-soft));
    box-shadow: var(--cgo-shadow-card-soft);
}

.dashboard-bulk-card:hover {
    transform: translateY(-1px);
    box-shadow: var(--cgo-shadow-card-interactive);
}

a.dashboard-metric-card:focus-visible {
    outline: none;
    box-shadow: var(--cgo-focus-ring);
}

.dashboard-bulk-card:focus-visible {
    outline: none;
    box-shadow: var(--cgo-shadow-focus-interactive);
}

@media (prefers-reduced-motion: reduce) {
    .dashboard-metric-card,
    .dashboard-bulk-card {
        transition: none;
    }

    a.dashboard-metric-card:hover,
    .dashboard-bulk-card:hover {
        transform: none;
    }
}

.dashboard-bulk-preview-table-wrap {
    margin-top: 0;
    overflow-x: auto;
}

.dashboard-bulk-preview-table {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--cgo-font-size-meta);
}

.dashboard-bulk-preview-table th,
.dashboard-bulk-preview-table td {
    padding: var(--cgo-space-8) var(--cgo-space-12);
    text-align: left;
    border-bottom: 1px solid var(--cgo-border-soft);
}

.dashboard-bulk-preview-table th {
    color: var(--cgo-text-muted);
    font-weight: 500;
}

.dashboard-bulk-preview-table td:last-child,
.dashboard-bulk-preview-table th:last-child {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.dashboard-case-status-chart {
    display: flex;
    flex-direction: column;
    gap: var(--cgo-space-20);
    padding: var(--cgo-space-24);
    background: var(--cgo-surface);
    border: 1px solid var(--cgo-border-soft);
    border-radius: var(--cgo-dashboard-tile-radius);
    box-shadow: var(--cgo-shadow-card-soft);
}

.dashboard-case-status-chart__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--cgo-space-20);
}

.dashboard-case-status-chart__title {
    margin: 0;
    color: var(--cgo-text-primary);
    font-size: 1.4375rem;
    font-weight: 600;
    letter-spacing: -0.018em;
    line-height: 1.22;
}

.dashboard-case-status-chart__legend {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--cgo-space-12);
    margin: 0;
    padding: 0;
    list-style: none;
    color: var(--cgo-text-subtle);
    font-size: var(--cgo-font-size-meta);
    font-weight: 400;
    line-height: 1.35;
}

.dashboard-case-status-chart__legend li {
    display: inline-flex;
    align-items: center;
    gap: var(--cgo-space-6);
}

.dashboard-case-status-chart__legend-swatch {
    width: var(--cgo-space-12);
    height: var(--cgo-space-8);
    border-radius: var(--cgo-radius-pill);
}

.dashboard-case-status-chart__segment--finished {
    background: var(--cgo-primary);
}

.dashboard-case-status-chart__segment--unfinished {
    background: var(--cgo-color-warning);
}

.dashboard-case-status-chart__rows {
    display: flex;
    flex-direction: column;
    gap: var(--cgo-space-12);
}

.dashboard-case-status-chart__row {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: var(--cgo-space-4);
}

.dashboard-case-status-chart__account {
    min-width: 0;
    overflow: hidden;
    color: var(--cgo-text-primary);
    font-size: var(--cgo-font-size-md);
    font-weight: 700;
    line-height: 1.25;
    text-align: center;
    text-overflow: ellipsis;
}

.dashboard-case-status-chart__counts,
.dashboard-case-status-chart__empty {
    color: var(--cgo-text-muted);
    font-size: var(--cgo-font-size-meta);
    line-height: 1.35;
}

.dashboard-case-status-chart__counts {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr) minmax(0, 1fr);
    align-items: center;
    gap: var(--cgo-space-8);
    font-variant-numeric: tabular-nums;
}

.dashboard-case-status-chart__counts > :first-child {
    justify-self: start;
    white-space: nowrap;
}

.dashboard-case-status-chart__counts > :last-child {
    justify-self: end;
    white-space: nowrap;
    text-align: right;
}

.dashboard-case-status-chart__bar {
    display: flex;
    height: var(--cgo-space-12);
    overflow: hidden;
    background: var(--cgo-surface-muted);
    border: 0;
    border-radius: var(--cgo-radius-pill);
}

.dashboard-case-status-chart__svg {
    display: block;
    width: 100%;
    height: 100%;
}

.dashboard-case-status-chart__svg .dashboard-case-status-chart__segment--unfinished {
    fill: var(--cgo-color-warning);
}

.dashboard-case-status-chart__svg .dashboard-case-status-chart__segment--finished {
    fill: var(--cgo-primary);
}

.dashboard-case-status-chart__empty {
    margin: 0;
}

/* Statystyki — obciążenie zespołu */
body.page-statistics .page-header {
    margin-bottom: var(--cgo-space-24);
}

.statistics-overview-slot {
    margin-top: var(--cgo-space-8);
}

.statistics-team-workload {
    display: flex;
    flex-direction: column;
    gap: var(--cgo-space-12);
    padding: var(--cgo-space-24) var(--cgo-space-24) var(--cgo-space-20);
    background: var(--cgo-surface);
    border: 1px solid var(--cgo-border-soft);
    border-radius: var(--cgo-dashboard-tile-radius);
    box-shadow: var(--cgo-shadow-panel);
}

.statistics-team-workload__title {
    margin: 0;
    color: var(--cgo-text-primary);
    font-size: 1.4375rem;
    font-weight: 600;
    letter-spacing: -0.018em;
    line-height: 1.22;
}

.statistics-team-workload__hint {
    margin: var(--cgo-space-8) 0 0;
    color: var(--cgo-text-muted);
    font-size: 0.84rem;
    line-height: 1.45;
}

.statistics-team-workload__table-wrap {
    overflow-x: auto;
}

.statistics-team-workload__table {
    --statistics-team-workload-border: var(--cgo-border-soft);
    --statistics-team-workload-separator: var(--cgo-border-input);
    width: 100%;
    border-collapse: collapse;
    font-size: var(--cgo-font-size-md);
}

.statistics-team-workload__table th,
.statistics-team-workload__table td {
    padding: var(--cgo-space-12) var(--cgo-space-12);
    line-height: var(--cgo-line-height-normal);
    border-bottom: 1px solid var(--statistics-team-workload-border);
    font-variant-numeric: tabular-nums;
}

.statistics-team-workload__table th:first-child,
.statistics-team-workload__table td:first-child {
    text-align: left;
    padding-right: var(--cgo-space-24);
}

.statistics-team-workload__table thead th:not(:first-child),
.statistics-team-workload__table tbody td:not(:first-child),
.statistics-team-workload__table tfoot td:not(:first-child) {
    text-align: right;
    width: 1%;
    white-space: nowrap;
    padding-left: var(--cgo-space-8);
    padding-right: var(--cgo-space-8);
}

.statistics-team-workload__table thead th {
    font-weight: 600;
    color: var(--cgo-text-muted);
    font-size: 0.8rem;
}

.statistics-team-workload__table tbody tr:last-child :is(th, td) {
    border-bottom: none;
}

.statistics-team-workload__table tfoot :is(th, td) {
    border-top: 2px solid var(--statistics-team-workload-separator);
    border-bottom: none;
    font-weight: 600;
    color: var(--cgo-text-primary);
}

.statistics-team-workload__employee {
    font-weight: 600;
    color: var(--cgo-text-primary);
    text-align: left;
}

@media (max-width: 768px) {
    /* Matrix → cards: prefer readable stacks over tiny horizontal scroll. */
    .statistics-team-workload__table-wrap {
        overflow-x: visible;
    }

    .statistics-team-workload__table.cgo-table--responsive-cards thead th:not(:first-child),
    .statistics-team-workload__table.cgo-table--responsive-cards tbody td:not(:first-child),
    .statistics-team-workload__table.cgo-table--responsive-cards tfoot td:not(:first-child) {
        text-align: left;
        width: auto;
        white-space: normal;
    }

    .statistics-team-workload__table.cgo-table--responsive-cards tfoot tr {
        border: 1px solid var(--cgo-border-soft, #dce4ee);
        border-radius: var(--cgo-radius-sm);
        background: var(--cgo-surface-subtle, #f8f9fa);
    }
}

/* Dashboard responsive adjustments */
@media (max-width: 1024px) {
    .dashboard-priority {
        grid-template-columns: 1fr;
    }

    .dashboard-metric-section__grid--dense {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .dashboard-sections {
        gap: var(--cgo-space-32);
    }

    .dashboard-whats-new {
        margin-top: var(--cgo-space-32);
    }

    .dashboard-board {
        gap: var(--cgo-space-20);
    }

    .dashboard-priority {
        gap: var(--cgo-space-20);
    }

    body.page-dashboard .app-shell-main.container {
        padding-top: var(--cgo-space-32);
    }

    .dashboard-case-status-chart__header {
        flex-direction: column;
    }

    .dashboard-metric-section,
    .dashboard-priority__metrics,
    .dashboard-bulk-card,
    .dashboard-case-status-chart,
    .dashboard-whats-new {
        padding: var(--cgo-space-16);
    }

    .dashboard-metric-section--priority {
        padding: 0;
    }

    .dashboard-metric-section__grid--dense {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dashboard-bulk-preview-table-wrap {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}

/* Authentication and login feature styles. */
/* Subtelne animacje */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Formularz logowania i alerty */
.form-login {
    display: flex;
    flex-direction: column;
    gap: var(--cgo-space-16);
    margin-top: var(--cgo-space-16);
}

.form-login label {
    display: flex;
    flex-direction: column;
    font-weight: 500;
    color: var(--cgo-text-muted);
    gap: var(--cgo-space-8);
}

.alert {
    padding: var(--cgo-space-12) var(--cgo-space-16);
    border-radius: var(--cgo-btn-radius);
    margin-bottom: var(--cgo-space-16);
    font-size: 0.9em;
}

.alert-error {
    background: #fdecef;
    border: 1px solid #f5c2c7;
    color: #842029;
}

.alert-info {
    background: color-mix(in srgb, var(--cgo-primary) 8%, var(--cgo-surface));
    border: 1px solid color-mix(in srgb, var(--cgo-primary) 22%, var(--cgo-border-soft));
    color: var(--cgo-primary);
}

.alert-warning {
    background: #fff8e6;
    border: 1px solid #ffe08a;
    color: #7a5b00;
}

.auth-form-reload-btn {
    margin-top: var(--cgo-space-12);
}

.user-pill {
    background: rgba(255, 255, 255, 0.15);
    color: var(--cgo-text-inverse);
    padding: var(--cgo-space-8) var(--cgo-space-12);
    border-radius: 5px;
    font-size: 0.85em;
    display: inline-flex;
    align-items: center;
    gap: var(--cgo-space-8);
}

/* Widok logowania — split-screen */
.auth-layout {
    min-height: 100vh;
    background:
        radial-gradient(120% 85% at 10% -8%, color-mix(in srgb, var(--cgo-primary) 8%, var(--cgo-page-bg)) 0%, transparent 52%),
        radial-gradient(95% 75% at 92% 108%, color-mix(in srgb, var(--cgo-primary) 6%, var(--cgo-page-bg)) 0%, transparent 48%),
        var(--cgo-page-bg);
}

.auth-layout > header {
    display: none;
}

.auth-layout main.container {
    max-width: none;
    padding: 0 var(--cgo-space-24);
}

.login-wrapper {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    gap: var(--cgo-space-40);
    max-width: 1040px;
    margin: 0 auto;
    min-height: calc(100vh - var(--cgo-space-80));
    padding: var(--cgo-space-60) 0;
}

.login-info {
    padding: var(--cgo-space-8) var(--cgo-space-8) var(--cgo-space-8) 0;
}

.login-info__panel {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 0;
    border-radius: var(--cgo-auth-panel-radius);
    border: 1px solid color-mix(in srgb, var(--cgo-primary) 16%, var(--cgo-border-soft));
    background: linear-gradient(
        165deg,
        color-mix(in srgb, var(--cgo-primary) 14%, var(--cgo-surface)) 0%,
        color-mix(in srgb, var(--cgo-primary) 6%, var(--cgo-surface)) 55%,
        var(--cgo-surface) 100%
    );
    box-shadow: var(--cgo-shadow-card-soft);
    overflow: hidden;
}

.login-info__panel::before {
    content: "";
    position: absolute;
    top: -20%;
    right: -15%;
    width: 55%;
    height: 55%;
    border-radius: var(--cgo-radius-round);
    background: radial-gradient(
        circle,
        color-mix(in srgb, var(--cgo-primary) 8%, transparent) 0%,
        transparent 70%
    );
    pointer-events: none;
}

.login-info__brand-bar {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: var(--cgo-space-4);
    width: 100%;
    padding: var(--cgo-space-28) var(--cgo-space-28);
    background: var(--cgo-primary);
    border-radius: var(--cgo-auth-panel-radius) var(--cgo-auth-panel-radius) 0 0;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.login-info__body {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: var(--cgo-space-20);
    padding: var(--cgo-space-28);
}

.login-info__brand {
    margin: 0;
    color: var(--cgo-text-inverse);
    font-size: 3rem;
    font-weight: 300;
    letter-spacing: -0.03em;
    line-height: 1;
}

.login-info__kicker {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 400;
    letter-spacing: 0.02em;
    color: rgba(255, 255, 255, 0.92);
}

.login-info__title {
    margin: 0;
    font-size: 1.5625rem;
    font-weight: 700;
    letter-spacing: -0.042em;
    line-height: var(--cgo-line-height-tight);
    color: var(--cgo-text-primary);
}

.login-info__lead {
    margin: 0;
    max-width: 28rem;
    font-size: 0.92rem;
    line-height: var(--cgo-line-height-relaxed);
    color: var(--cgo-text-muted);
}

.login-info__features {
    list-style: none;
    margin: var(--cgo-space-8) 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--cgo-space-12);
}

.login-info__feature {
    display: flex;
    align-items: center;
    gap: var(--cgo-space-12);
    padding: var(--cgo-space-12) var(--cgo-space-16);
    border-radius: var(--cgo-dashboard-breakdown-radius);
    background: color-mix(in srgb, var(--cgo-primary) 6%, var(--cgo-surface));
    border: 1px solid color-mix(in srgb, var(--cgo-primary) 12%, var(--cgo-border-soft));
}

.login-info__feature-icon {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: var(--cgo-radius-round);
    background: color-mix(in srgb, var(--cgo-primary) 8%, var(--cgo-surface));
    color: var(--cgo-primary);
}

.login-info__feature-icon svg {
    width: 1.25rem;
    height: 1.25rem;
}

.login-info__feature-text {
    font-size: 0.92rem;
    font-weight: 500;
    color: var(--cgo-text-primary);
    line-height: var(--cgo-line-height-normal);
}

.login-card {
    width: 100%;
    padding: var(--cgo-space-40);
    background: var(--cgo-surface);
    border: 1px solid var(--cgo-border-soft);
    border-radius: var(--cgo-table-radius);
    box-shadow: var(--cgo-shadow-card-soft);
}

.login-card__header {
    margin-bottom: var(--cgo-space-8);
    text-align: center;
}

.login-card__title {
    margin: 0;
    font-size: var(--cgo-font-size-title);
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--cgo-text-primary);
}

.login-card__subtitle {
    margin: var(--cgo-space-8) 0 0;
    font-size: 0.92rem;
    color: var(--cgo-text-muted);
}

.login-hint {
    margin-top: var(--cgo-space-16);
    font-size: 0.85em;
    color: var(--cgo-text-muted);
    text-align: center;
}

.form-login-verify {
    margin-top: var(--cgo-space-20);
}

.remember-device-row {
    display: flex;
    align-items: center;
    flex-direction: row !important;
    gap: var(--cgo-space-10);
    color: var(--cgo-text);
    font-weight: 400 !important;
}

.login-verify-actions {
    margin-top: var(--cgo-space-16);
    display: grid;
    gap: var(--cgo-space-10);
}

@media (max-width: 768px) {
    .login-wrapper {
        grid-template-columns: minmax(0, 1fr);
        gap: var(--cgo-space-32);
        min-height: auto;
        padding: var(--cgo-space-32) 0 var(--cgo-space-40);
        padding-left: max(0px, env(safe-area-inset-left));
        padding-right: max(0px, env(safe-area-inset-right));
    }

    .login-info {
        padding: 0;
    }

    .login-info__panel {
        width: 100%;
    }

    .login-info__brand-bar {
        text-align: center;
    }

    .login-info__body {
        padding: var(--cgo-space-24);
        text-align: center;
        align-items: center;
    }

    .login-info__lead {
        max-width: none;
    }

    .login-info__features {
        width: 100%;
        text-align: left;
    }

    .login-card {
        padding: var(--cgo-space-32);
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    .login-card .btn,
    .login-verify-actions .btn,
    .auth-layout .btn {
        min-height: 44px;
    }

    .login-card .cgo-form-control,
    .auth-layout .cgo-form-control {
        min-height: 44px;
        font-size: 16px; /* iOS: avoid auto-zoom on focus */
    }
}

/* Primary na ekranie logowania – ten sam kolor co navbar */
.auth-layout .btn-primary {
    background: var(--cgo-primary);
    border-color: var(--cgo-primary);
}
.auth-layout .btn-primary:hover {
    background: var(--cgo-primary-hover);
    border-color: var(--cgo-primary-hover);
    transform: translateY(-1px);
    box-shadow: var(--cgo-btn-primary-shadow-hover);
}

.login-card .account-totp-enroll {
    margin-top: var(--cgo-space-8);
}

.login-card .account-totp-qr {
    align-items: center;
    width: 100%;
}

.login-card .account-totp-manual {
    width: 100%;
}

.login-card .account-totp-confirm-form {
    max-width: none;
    width: 100%;
}

/* Tasks, task cards, task filters, notifications, and trash feature styles. */
/* Tasks, task cards, task filters, notifications, and trash feature styles. */
/* Shared star toggle for tasks and cases. */
.star-toggle-btn {
    color: var(--cgo-text-muted);
}

.star-toggle-btn__icon {
    width: 18px;
    height: 18px;
    display: block;
    fill: transparent;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linejoin: round;
    transition:
        fill 0.15s ease,
        stroke 0.15s ease,
        transform 0.15s ease;
}

.star-toggle-btn:hover:not(:disabled),
.star-toggle-btn:focus-visible {
    color: var(--cgo-star-hover);
}

.star-toggle-btn--active {
    color: #e11d48;
}

.star-toggle-btn--active .star-toggle-btn__icon {
    fill: currentColor;
    stroke: currentColor;
}

.star-toggle-btn:active:not(:disabled) .star-toggle-btn__icon {
    transform: scale(0.92);
}

.star-toggle-btn:disabled {
    opacity: 0.65;
    cursor: wait;
}

/* Lista zadań: nagłówek (.page-header) nad kartą; w karcie status + filtry (grid areas) */
.task-list-header-card {
    width: 100%;
    box-sizing: border-box;
    margin-bottom: var(--cgo-space-24);
    padding: var(--cgo-space-20) var(--cgo-space-20);
    background: var(--cgo-surface);
    border: 1px solid var(--cgo-border-soft);
    border-radius: 14px;
    box-shadow: var(--cgo-shadow-panel);
}

.task-list-page .task-list-header-card,
.task-list-page .task-card,
.task-list-page .empty-state {
    border-radius: var(--cgo-table-radius);
}

.task-list-header-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, auto);
    grid-template-areas: "status filters";
    gap: var(--cgo-space-12) var(--cgo-space-28);
    align-items: start;
    width: 100%;
}

.page-header .page-header-lead__title-date {
    margin: 0;
    font-size: var(--cgo-font-size-page-title);
    font-weight: 700;
    color: var(--cgo-text-primary);
    letter-spacing: -0.02em;
    line-height: var(--cgo-line-height-tight);
}

.task-list-header-grid__status {
    grid-area: status;
}

.task-list-header-grid__filters {
    grid-area: filters;
    min-width: 0;
    align-self: start;
}

.list-header-controls {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: var(--cgo-space-4);
    width: var(--cgo-list-filter-tabs-width);
    max-width: 100%;
    min-width: 0;
}

.list-header-controls__body {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: var(--cgo-space-4);
    min-width: 0;
}

.list-header-controls .cgo-tabs,
.list-header-controls .cgo-searchbar {
    width: 100%;
    max-width: none;
}

.task-list-trash-actions {
    width: 100%;
    justify-content: flex-end;
    margin-bottom: var(--cgo-space-16);
}

.task-list-day-group {
    display: flex;
    flex-direction: column;
    gap: var(--cgo-space-12);
}

.task-list-day-heading {
    display: flex;
    align-items: center;
    gap: var(--cgo-space-12);
    margin-top: var(--cgo-space-4);
}

.task-list-day-group:first-child .task-list-day-heading {
    margin-top: 0;
}

.task-list-day-heading__line {
    flex: 1;
    min-width: 0;
    height: 2px;
    border-radius: 1px;
    background: var(--cgo-border-hover);
}

.task-list-day-heading__label {
    flex-shrink: 0;
    font-size: var(--cgo-font-size-md);
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: var(--cgo-text-secondary);
}

/* Paginacja */
/* Filtr statusu na stronie Lista zadań */
.task-list-filter {
    margin-bottom: var(--cgo-space-16);
}

.task-list-filter--header {
    margin-bottom: 0;
    align-self: flex-start;
    margin-top: var(--cgo-space-2);
    width: 100%;
}

#trash-purge-all-btn {
    white-space: nowrap;
}

.task-list-filter-inner {
    display: flex;
    gap: var(--cgo-space-4);
    flex-direction: column;
    align-items: flex-start;
}

.task-list-filter--header .task-list-filter-inner {
    justify-content: flex-start;
}

.task-list-filter--header .task-list-filter-inner .case-label {
    margin-right: 0;
    margin-bottom: 0;
    font-size: var(--cgo-font-size-xs);
    font-weight: 600;
    color: var(--cgo-text-subtle);
}

.list-header-controls .cgo-searchbar .cgo-form-control--sm {
    min-width: 280px;
}

@media (max-width: 1024px) {
    .task-list-header-card {
        padding: var(--cgo-space-16) var(--cgo-space-16);
    }

    .task-list-header-grid {
        grid-template-columns: 1fr;
        grid-template-areas:
            "status"
            "filters";
        gap: var(--cgo-space-16);
    }

    .task-list-filter-panel {
        padding: var(--cgo-space-16) var(--cgo-space-16);
    }

    .task-list-filter-panel.task-list-filter-panel--embedded {
        padding: 0;
    }

    .task-list-filter--header {
        width: 100%;
    }

    .task-list-filter--header .task-list-filter-inner {
        justify-content: flex-start;
        width: 100%;
    }

    .task-list-toolbar {
        flex-direction: column;
        align-items: stretch;
    }

    .task-status-filter-group {
        max-width: none;
        width: 100%;
    }

    .task-list-page .page-header-actions .task-status-filter-group {
        width: 100%;
        flex-wrap: wrap;
        justify-content: flex-start;
    }

    .list-header-controls {
        width: 100%;
        max-width: 100%;
    }

    .list-header-controls .cgo-searchbar .cgo-form-control--sm {
        min-width: 0;
        width: 100%;
    }

}

.task-card {
    border: 1px solid var(--cgo-border-muted);
    padding: var(--cgo-space-4);
    transition: box-shadow 0.2s ease, transform 0.2s ease;
    font-size: 15px;
}

.task-list-page .task-card[data-task-case-href] {
    cursor: pointer;
}

.task-card:hover {
    box-shadow: var(--cgo-shadow-card-interactive);
    transform: translateY(-2px);
}

.task-title {
    font-size: 1.25em;
    font-weight: 600;
    color: #333;
    margin: 0;
    flex: 1;
    line-height: 1.3;
}

.task-document-type {
    font-size: 0.85em;
    color: #666;
    font-weight: 500;
}

.task-document-type strong {
    color: #333;
    font-weight: 600;
}

/* Etykieta zadania na karcie — kolory semantyczne (niezależne od underline tabs) */
.task-label-line {
    flex-shrink: 0;
}

.task-label-value {
    display: inline-flex;
    align-items: center;
    padding: var(--cgo-space-4) var(--cgo-space-12);
    font-size: inherit;
    font-weight: 600;
    line-height: 1.35;
    border-radius: var(--cgo-radius-pill);
    color: var(--cgo-text-inverse);
    background: #6c757d;
    box-shadow: var(--cgo-shadow-chip);
}

.task-label-value strong {
    color: inherit;
    font-weight: 600;
}

.task-label-value[data-task-label-value="urgent"] {
    color: var(--cgo-text-inverse);
    background: var(--cgo-label-urgent-bg);
    box-shadow: 0 1px 2px var(--cgo-label-urgent-shadow);
}

.task-label-value[data-task-label-value="obligation"] {
    color: var(--cgo-text-inverse);
    background: var(--cgo-label-obligation-bg);
    box-shadow: 0 1px 2px var(--cgo-label-obligation-shadow);
}

.task-label-value[data-task-label-value="info"] {
    color: var(--cgo-label-info-fg);
    background: var(--cgo-label-info-bg);
    box-shadow: 0 1px 2px var(--cgo-label-info-shadow);
}

/* Kolor karty zależny wyłącznie od statusu */
.task-card-pending {
    background: #fefce8;
}

.task-card-completed {
    background: #e8f5e9;
}

/* Karta w dwóch kolumnach: sprawa | zadanie (strona Lista zadań) */
.task-card-split {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 45fr) minmax(0, 55fr);
    gap: var(--cgo-space-16);
    align-items: stretch;
    padding: var(--cgo-space-16);
}

/* Tylko split /tasks: kolumna zadania wypełnia wysokość karty */
.task-card-split > .task-card-task {
    display: flex;
    flex-direction: column;
    min-height: 0;
}

/* Linia zatwierdzenia przykleja się do dołu prawej kolumny */
.task-card-split .task-main {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

.task-card-case {
    padding-right: var(--cgo-space-16);
    border-right: 1px solid var(--cgo-border-soft);
}

.task-card-case .case-info-grid {
    margin-top: var(--cgo-space-8);
}

/* Karty zadań/wydarzeń na /calendar: meta po lewej, przyciski po prawej */
.task-top-info {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--cgo-space-12);
    margin-bottom: var(--cgo-space-16);
    padding-bottom: var(--cgo-space-12);
    border-bottom: 1px solid var(--cgo-border-subtle);
}

.task-top-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--cgo-space-12);
    min-width: 0;
    flex: 1 1 auto;
    font-size: 0.85em;
    line-height: 1.5;
    color: #666;
    font-weight: 500;
}

.task-top-meta .task-document-type,
.task-top-meta .task-download-date,
.task-top-meta .task-deadline,
.task-top-meta .task-event-date {
    font-size: 1em;
}

.task-top-info > .task-top-actions {
    color: #666;
    font-weight: 500;
    flex: 1 1 auto;
    min-width: min(100%, 16rem);
}

.task-top-info strong {
    color: #333;
}

.task-top-info .task-label-value,
.task-top-info .task-label-value strong,
.task-top-row .task-label-value,
.task-top-row .task-label-value strong {
    color: var(--cgo-text-inverse);
}

.task-top-info .task-label-value[data-task-label-value="info"],
.task-top-info .task-label-value[data-task-label-value="info"] strong,
.task-top-row .task-label-value[data-task-label-value="info"],
.task-top-row .task-label-value[data-task-label-value="info"] strong {
    color: var(--cgo-label-info-fg);
}

/* .task-main zawiera tytuł i treść zadania */

.task-main .task-title {
    margin-bottom: var(--cgo-space-8);
    margin-top: 0;
}

.task-main .task-subtitle {
    margin: 0 0 var(--cgo-space-8);
    font-size: 0.9rem;
    line-height: 1.45;
}

/* .task-title ma globalnie flex:1 (wiersz meta); w kolumnie split nie może rosnąć */
.task-card-split .task-main .task-title,
.task-card-split .task-main .task-subtitle {
    flex: 0 0 auto;
}

.task-top-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--cgo-space-12);
    margin-bottom: var(--cgo-space-12);
    padding-bottom: var(--cgo-space-12);
    border-bottom: 1px solid var(--cgo-border-subtle);
    font-size: inherit;
    color: #333;
}

.task-top-row-end {
    display: flex;
    align-items: center;
    gap: var(--cgo-space-12);
    flex-wrap: wrap;
    flex: 1 1 auto;
    min-width: min(100%, 16rem);
}

.task-top-row-end .task-top-actions {
    width: 100%;
}

.task-top-actions {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: var(--cgo-space-12);
    flex-wrap: wrap;
    width: 100%;
}

.task-status-toggle-wrap {
    --cgo-task-status-toggle-off-bg: #e5e7eb;
    --cgo-task-status-toggle-on: #28a745;
    --cgo-task-status-toggle-on-hover: #218838;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: calc(2 * var(--cgo-btn-min-height));
    min-height: var(--cgo-btn-min-height);
    cursor: pointer;
}

.task-status-toggle-input {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
}

.task-status-toggle-track {
    position: relative;
    display: inline-flex;
    align-items: center;
    width: calc(2 * var(--cgo-btn-min-height));
    height: var(--cgo-btn-min-height);
    border: 1px solid var(--cgo-border-input);
    border-radius: var(--cgo-btn-radius);
    background: var(--cgo-task-status-toggle-off-bg);
    box-shadow: var(--cgo-shadow-switch-track);
    flex-shrink: 0;
    transition:
        background-color 0.15s ease,
        border-color 0.15s ease,
        box-shadow 0.15s ease;
}

.task-status-toggle-track::after {
    content: "";
    position: absolute;
    left: 3px;
    width: calc(var(--cgo-btn-min-height) - 8px);
    height: calc(var(--cgo-btn-min-height) - 8px);
    border-radius: var(--cgo-radius-round);
    background: var(--cgo-surface);
    box-shadow: var(--cgo-shadow-switch-thumb);
    transition: transform 0.15s ease;
}

.task-status-toggle-wrap:hover .task-status-toggle-track {
    border-color: var(--cgo-primary);
    box-shadow: var(--cgo-shadow-switch-track-hover);
}

.task-status-toggle-input:checked + .task-status-toggle-track {
    border-color: var(--cgo-task-status-toggle-on);
    background: var(--cgo-task-status-toggle-on);
}

.task-status-toggle-wrap:hover .task-status-toggle-input:checked + .task-status-toggle-track {
    border-color: var(--cgo-task-status-toggle-on-hover);
    background: var(--cgo-task-status-toggle-on-hover);
}

.task-status-toggle-input:checked + .task-status-toggle-track::after {
    transform: translateX(var(--cgo-btn-min-height));
}

.task-status-toggle-input:focus-visible + .task-status-toggle-track {
    outline: 2px solid var(--cgo-primary);
    outline-offset: 2px;
}

.task-status-toggle-input:disabled + .task-status-toggle-track,
.task-status-toggle-wrap:has(.task-status-toggle-input:disabled) {
    cursor: not-allowed;
}

.task-status-toggle-wrap:has(.task-status-toggle-input:disabled) {
    opacity: 0.6;
}

.task-card--list-exiting,
.task-list-day-group--exiting {
    --cgo-task-list-exit-duration: 0.36s;
    --cgo-task-list-exit-ease: cubic-bezier(0.22, 1, 0.36, 1);
    box-sizing: border-box;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
    transition:
        opacity var(--cgo-task-list-exit-duration) var(--cgo-task-list-exit-ease),
        height var(--cgo-task-list-exit-duration) var(--cgo-task-list-exit-ease),
        transform var(--cgo-task-list-exit-duration) var(--cgo-task-list-exit-ease),
        margin var(--cgo-task-list-exit-duration) var(--cgo-task-list-exit-ease),
        padding var(--cgo-task-list-exit-duration) var(--cgo-task-list-exit-ease);
}

.task-list-anim-parent {
    position: relative;
}

.task-list--exit-busy {
    pointer-events: none;
}

.task-card--list-flip,
.task-list-day-group--list-flip {
    --cgo-task-list-exit-duration: 0.36s;
    --cgo-task-list-exit-ease: cubic-bezier(0.22, 1, 0.36, 1);
    will-change: transform;
}

@media (prefers-reduced-motion: reduce) {
    .task-card--list-exiting,
    .task-list-day-group--exiting,
    .task-card--list-flip,
    .task-list-day-group--list-flip {
        transition: none !important;
    }
}

.task-assignee-select-wrap {
    display: inline-flex;
    align-items: center;
    max-width: 11rem;
}

.task-assignee-select-sr {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
.task-no-doc {
    font-size: 0.85em;
    line-height: 1.5;
}

.task-deadline {
    font-size: 0.85em;
    color: #666;
    font-weight: 500;
}

.task-download-date {
    font-size: 0.85em;
    color: #666;
    font-weight: 500;
}

.task-deadline strong {
    color: #333;
    font-weight: 600;
}

.task-download-date strong {
    color: #333;
    font-weight: 600;
}

/* Termin wydarzenia — ten sam metryczny styl co .task-deadline (bez większego dziedziczenia z .task-top-row) */
.task-event-date {
    font-size: 0.85em;
    color: #666;
    font-weight: 500;
}

.task-event-date strong {
    color: #333;
    font-weight: 600;
}

.task-actions {
    border-top: 1px solid var(--cgo-border-subtle);
    padding-top: var(--cgo-space-16);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--cgo-space-12);
}

.task-card.task-card--pin-focus {
    outline: 2px solid var(--cgo-accent, #2563eb);
    outline-offset: 2px;
    transition: outline-color 0.3s ease;
}

@media (max-width: 768px) {
    .task-card-split {
        grid-template-columns: 1fr;
    }

    .task-card-case {
        padding-right: 0;
        border-right: none;
        border-bottom: 1px solid var(--cgo-border-soft);
        padding-bottom: var(--cgo-space-12);
        margin-bottom: var(--cgo-space-8);
    }

    .task-top-row {
        flex-direction: column;
        align-items: stretch;
    }

    .task-top-row-end {
        align-self: stretch;
        width: 100%;
    }

    .task-card {
        padding: var(--cgo-space-4);
        font-size: 14px;
    }

    .task-card.task-card-split {
        padding: var(--cgo-space-16);
    }

    .task-top-info {
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        gap: var(--cgo-space-8);
        margin-bottom: var(--cgo-space-12);
    }

    .task-top-info > .task-top-actions {
        align-self: stretch;
        width: 100%;
    }

    .task-top-actions {
        flex-wrap: wrap;
        gap: var(--cgo-space-8);
    }

    .task-top-actions .btn,
    .task-top-actions .btn-icon {
        min-height: 44px;
        min-width: 44px;
    }

    .task-title {
        font-size: 1.1em;
    }

    .task-deadline,
    .task-download-date,
    .task-event-date {
        font-size: 0.95em;
    }
}

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

.notifications-list__item {
    display: flex;
    align-items: center;
    gap: var(--cgo-space-16);
    padding: var(--cgo-space-12) 0;
    border-bottom: 1px solid var(--cgo-border-soft);
}

.notifications-list__status-slot {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 12px;
    align-self: stretch;
}

.notifications-list__unread-dot {
    display: block;
    width: 10px;
    height: 10px;
    border-radius: var(--cgo-radius-round);
    background: radial-gradient(
        circle at 35% 35%,
        color-mix(in srgb, var(--cgo-notification-unread) 70%, #fff) 0%,
        var(--cgo-notification-unread) 55%,
        #4ade80 100%
    );
    border: 1px solid var(--cgo-notification-unread);
    box-sizing: border-box;
    box-shadow:
        0 0 4px 1px color-mix(in srgb, var(--cgo-notification-unread) 90%, transparent),
        0 0 10px 3px var(--cgo-notification-unread-glow);
    animation: notifications-unread-dot-glow 2.4s ease-in-out infinite;
}

@keyframes notifications-unread-dot-glow {
    0%,
    100% {
        box-shadow:
            0 0 4px 1px color-mix(in srgb, var(--cgo-notification-unread) 85%, transparent),
            0 0 10px 3px color-mix(in srgb, var(--cgo-notification-unread-glow) 90%, transparent);
    }

    50% {
        box-shadow:
            0 0 6px 2px var(--cgo-notification-unread),
            0 0 16px 5px color-mix(in srgb, var(--cgo-notification-unread-glow) 120%, transparent);
    }
}

@media (prefers-reduced-motion: reduce) {
    .notifications-list__unread-dot {
        animation: none;
    }
}

.notifications-list__body {
    flex: 1;
    min-width: 0;
    color: inherit;
    text-decoration: none;
    display: flex;
    flex-direction: column;
    gap: var(--cgo-space-8);
}

.notifications-list__body:hover .notifications-list__title {
    color: var(--cgo-primary);
}

.notifications-list__item .notifications-mark-read-btn {
    flex-shrink: 0;
}

.notifications-list__item:last-child {
    border-bottom: none;
}

.notifications-list__title {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: var(--cgo-space-16);
}

.notifications-list__segment {
    display: inline-flex;
    align-items: baseline;
    gap: var(--cgo-space-4);
}

.notifications-list__meta {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: var(--cgo-space-16);
}

@media (max-width: 768px) {
    .notifications-list__item {
        align-items: flex-start;
        gap: var(--cgo-space-12);
        padding: var(--cgo-space-16) 0;
    }

    .notifications-list__item .notifications-mark-read-btn {
        min-width: 44px;
        min-height: 44px;
    }

    .notifications-list__title,
    .notifications-list__meta {
        gap: var(--cgo-space-8) var(--cgo-space-12);
    }
}

/* ---- Trash prototype (panel) ---- */

.task-trash-panel {
    margin-top: var(--cgo-space-4);
}

.trash-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--cgo-space-16);
    margin-bottom: var(--cgo-space-20);
    padding: var(--cgo-space-12) var(--cgo-space-16);
    background: var(--cgo-surface-subtle);
    border: 1px solid var(--cgo-border-soft);
    border-radius: 10px;
}

.task-card-trashed {
    background: var(--cgo-border-subtle);
    border: 1px solid var(--cgo-border-muted);
    opacity: 0.85;
}

.task-card-trashed:hover {
    opacity: 1;
}

/* Task supervision ribbons (no text) + approval line. */
.task-card--supervision-pending,
.task-card--supervision-awaiting-legal,
.task-card--supervision-accepted {
    position: relative;
    overflow: hidden;
}

.task-card--supervision-pending::after,
.task-card--supervision-awaiting-legal::after,
.task-card--supervision-accepted::after {
    content: "";
    position: absolute;
    right: -42px;
    bottom: 26px;
    width: 150px;
    height: 18px;
    padding: 0;
    transform: rotate(-45deg);
    box-shadow: 0 1px 2px var(--cgo-label-urgent-shadow);
    pointer-events: none;
    z-index: 5;
}

.task-card--supervision-pending::after {
    background: var(--cgo-label-urgent-bg);
    box-shadow: 0 1px 2px var(--cgo-label-urgent-shadow);
}

.task-card--supervision-awaiting-legal::after {
    background: var(--cgo-label-supervision-awaiting-legal-bg);
    box-shadow: 0 1px 2px var(--cgo-label-info-shadow);
}

.task-card--supervision-accepted::after {
    background: var(--cgo-label-supervision-accepted-bg);
    box-shadow: 0 1px 2px var(--cgo-label-supervision-accepted-shadow);
}

/* Case Hub compact cards: smaller corner ribbon. */
.case-hub-task-card.task-card--supervision-pending::after,
.case-hub-task-card.task-card--supervision-awaiting-legal::after,
.case-hub-task-card.task-card--supervision-accepted::after {
    right: -32px;
    bottom: 20px;
    width: 118px;
    height: 14px;
}

.task-supervision-approval {
    margin: auto 0 0;
    padding-top: var(--cgo-space-8);
    font-size: 0.9em;
}

@media (max-width: 768px) {
    .task-card:not(.task-card-split).task-card--supervision-pending::after,
    .task-card:not(.task-card-split).task-card--supervision-awaiting-legal::after,
    .task-card:not(.task-card-split).task-card--supervision-accepted::after {
        right: -36px;
        bottom: 22px;
        width: 128px;
        height: 16px;
    }

    .case-hub-task-card.task-card--supervision-pending::after,
    .case-hub-task-card.task-card--supervision-awaiting-legal::after,
    .case-hub-task-card.task-card--supervision-accepted::after {
        right: -32px;
        bottom: 20px;
        width: 118px;
        height: 14px;
    }
}


/* Do odbioru (/to-pickup) — kafelek: sygnatura + sąd | daty + CTA */
/* Scroll jak /tasks: body.task-list-page → .cases-panel { max-height: none } */

.to-pickup-page .to-pickup-card {
    border-radius: var(--cgo-table-radius);
    padding: var(--cgo-space-16);
    /* Soft orange „odbiór” — bliżej warning/żółtego tasków; świadomy kompromis */
    background: color-mix(in srgb, #ea580c 6%, var(--cgo-surface));
}

#to-pickup-supervision-open {
    display: inline-flex;
    align-items: center;
    gap: var(--cgo-space-8);
}

.to-pickup-supervision-count:empty {
    display: none;
}

/* Jak .task-card-completed — zielone tło dla doręczonych */
.to-pickup-page .to-pickup-card--closed {
    background: #e8f5e9;
}

/* Nadpisuje globalny .task-card:hover — lift tylko gdy jest sprawa w DB. */
.to-pickup-page .to-pickup-card:hover {
    box-shadow: var(--cgo-shadow-card);
    transform: none;
}

.to-pickup-page .to-pickup-card[data-to-pickup-case-href] {
    cursor: pointer;
}

.to-pickup-page .to-pickup-card[data-to-pickup-case-href]:hover {
    box-shadow: var(--cgo-shadow-card-interactive);
    transform: translateY(-2px);
}

.to-pickup-card__body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--cgo-space-16) var(--cgo-space-24);
    align-items: start;
}

.to-pickup-card__main {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: var(--cgo-space-8);
}

.to-pickup-card__signature {
    margin: 0;
    font-size: 1.35rem;
    font-weight: 700;
    line-height: 1.25;
    color: var(--cgo-text-primary);
    letter-spacing: -0.01em;
}

.to-pickup-card__court-block {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.to-pickup-card__court {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--cgo-text-primary);
    line-height: 1.35;
}

.to-pickup-card__department {
    font-size: 0.9rem;
    color: var(--cgo-text-secondary);
    line-height: 1.35;
}

.to-pickup-card__details {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 1rem;
    margin-top: 0.15rem;
    font-size: 0.85rem;
    line-height: 1.45;
    color: var(--cgo-text-muted);
}

.to-pickup-card__detail-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 1rem;
    width: 100%;
}

.to-pickup-card__detail strong {
    color: var(--cgo-text-primary);
    font-weight: 600;
}

.to-pickup-card__aside {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: var(--cgo-space-12);
    text-align: left;
    flex-shrink: 0;
}

.to-pickup-card__dates {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.75rem 1.25rem;
    justify-content: flex-end;
    align-items: flex-start;
}

.to-pickup-card__date {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    align-items: flex-start;
}

.to-pickup-card__date-label {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    color: var(--cgo-text-muted);
}

.to-pickup-card__date-value {
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--cgo-text-primary);
}

.to-pickup-card__closed-meta {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    align-items: flex-start;
}

.to-pickup-card__closed-meta-row {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.35rem;
    justify-content: flex-start;
    align-items: baseline;
    font-size: 0.85rem;
    line-height: 1.35;
}

.to-pickup-card__closed-meta-label {
    color: var(--cgo-text-muted);
}

.to-pickup-card__closed-meta-label::after {
    content: ":";
}

.to-pickup-card__closed-meta-value {
    font-weight: 500;
    color: var(--cgo-text-primary);
}

.to-pickup-card__actions {
    margin-top: 0;
}

.to-pickup-card__actions .btn {
    white-space: nowrap;
}

.to-pickup-badge {
    display: inline-flex;
    align-items: center;
    padding: var(--cgo-pill-padding-y) var(--cgo-pill-padding-x);
    border-radius: var(--cgo-radius-pill);
    font-size: var(--cgo-pill-font-size);
    font-weight: 600;
    line-height: 1.35;
    white-space: nowrap;
    letter-spacing: 0.02em;
}

.to-pickup-badge--delivered_now {
    background: var(--cgo-pill-status-ok-bg);
    color: var(--cgo-pill-status-ok-fg);
}

.to-pickup-badge--already_delivered {
    background: var(--cgo-pill-sentence-bg);
    color: var(--cgo-pill-sentence-fg);
}

.to-pickup-badge--synced_delivered_external {
    background: var(--cgo-pill-status-unprocessed-bg);
    color: var(--cgo-pill-status-unprocessed-fg);
}

.to-pickup-badge--synced_returned {
    background: var(--cgo-pill-status-review-bg);
    color: var(--cgo-pill-status-review-fg);
}

/* Status dziennego ingestu po odbiorze (ledger pisp_delivery_ingest) */
.to-pickup-ingest-badge--pending {
    background: var(--cgo-pill-status-unprocessed-bg);
    color: var(--cgo-pill-status-unprocessed-fg);
}

.to-pickup-ingest-badge--downloading {
    background: var(--cgo-pill-status-review-bg);
    color: var(--cgo-pill-status-review-fg);
}

.to-pickup-ingest-badge--done {
    background: var(--cgo-pill-status-ok-bg);
    color: var(--cgo-pill-status-ok-fg);
}

.to-pickup-ingest-badge--error {
    background: var(--cgo-pill-status-error-bg);
    color: var(--cgo-pill-status-error-fg);
}

.to-pickup-bulk-progress {
    margin: 0 0 var(--cgo-space-16, 1rem);
    padding: var(--cgo-space-12, 0.75rem) var(--cgo-space-16, 1rem);
    border: 1px solid var(--cgo-border-subtle, #dde1e6);
    border-radius: var(--cgo-radius-md, 8px);
    background: var(--cgo-surface-muted, #f6f7f9);
}

.to-pickup-bulk-progress__label {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--cgo-text-primary);
    margin-bottom: 0.5rem;
}

.to-pickup-bulk-progress__track {
    height: 0.5rem;
    border-radius: 999px;
    background: var(--cgo-border-subtle, #dde1e6);
    overflow: hidden;
}

.to-pickup-bulk-progress__bar {
    height: 100%;
    width: 0;
    border-radius: inherit;
    background: var(--cgo-color-primary, #2563eb);
    transition: width 0.2s ease;
}

.to-pickup-bulk-modal__fields {
    display: flex;
    flex-direction: column;
    gap: var(--cgo-space-16, 1rem);
    margin-bottom: var(--cgo-space-16, 1rem);
}

.to-pickup-bulk-modal__sort {
    border: 0;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.to-pickup-bulk-modal__radio {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.95rem;
}

@media (max-width: 768px) {
    .to-pickup-card__body {
        grid-template-columns: 1fr;
    }

    .to-pickup-card__aside {
        align-items: flex-start;
        width: 100%;
    }

    .to-pickup-card__dates {
        justify-content: flex-start;
    }
}

/* —— Nadzór (/to-pickup/supervision) —— */

body.to-pickup-supervision-page {
    --to-pickup-supervision-page-max-width: 1600px;
}

/* Override .reports-container { max-width: 720px } — PDF nadzoru jak browse. */
body.to-pickup-supervision-page .reports-container.to-pickup-supervision-page {
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    width: 100%;
    max-width: var(--to-pickup-supervision-page-max-width);
    min-height: 0;
}

body.to-pickup-supervision-page .reports-container.to-pickup-supervision-page > .cgo-slot[data-cgo-slot-id="controls"] {
    flex-shrink: 0;
}

body.to-pickup-supervision-page .reports-container.to-pickup-supervision-page > .cgo-slot[data-cgo-slot-id="results"],
body.to-pickup-supervision-page .reports-container.to-pickup-supervision-page > .cgo-slot[data-cgo-slot-id="results"] > .cgo-slot__content {
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.to-pickup-supervision-section {
    display: flex;
    flex-direction: column;
    gap: var(--cgo-space-16);
    min-height: 0;
}

.to-pickup-supervision-workspace {
    display: flex;
    flex-direction: column;
    gap: var(--cgo-space-16);
    /* Wysokość = PDF/zadania (A4); kontekst sprawy tuż pod spodem — bez pustej dziury. */
    height: auto;
    min-height: 0;
}

.to-pickup-supervision-case-context {
    flex-shrink: 0;
}

.to-pickup-supervision-case-context__col {
    align-content: start;
    display: grid;
    gap: var(--case-hub-block-gap);
    min-width: 0;
}

.to-pickup-supervision-case-context__col > .case-hub-section {
    min-width: 0;
}

body.to-pickup-supervision-page .case-hub-task-card:hover {
    box-shadow: var(--case-hub-inner-shadow);
    transform: none;
}

.to-pickup-supervision-context-doc--current td {
    background: color-mix(in srgb, var(--cgo-primary) 10%, var(--cgo-surface));
}

.to-pickup-supervision-context-doc--current td:first-child {
    box-shadow: inset 3px 0 0 var(--cgo-primary);
}

.to-pickup-supervision-context-doc--current:hover td {
    background: color-mix(in srgb, var(--cgo-primary) 16%, var(--cgo-surface));
}

.to-pickup-supervision-context-task--current {
    background: color-mix(in srgb, var(--cgo-primary) 10%, var(--cgo-surface));
    box-shadow: inset 3px 0 0 var(--cgo-primary);
}

.to-pickup-supervision-counter {
    margin: 0;
    white-space: nowrap;
}

.to-pickup-supervision-nav {
    display: inline-flex;
    align-items: center;
    gap: var(--cgo-space-8);
}

.to-pickup-supervision-meta {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-end;
    gap: var(--cgo-space-8) var(--cgo-space-16);
    padding: var(--cgo-space-12) var(--cgo-space-16);
    border: 1px solid var(--cgo-border-color, #e2e8f0);
    border-radius: var(--cgo-table-radius, 8px);
    background: var(--cgo-surface, #fff);
    flex-shrink: 0;
    overflow-x: auto;
}

.to-pickup-supervision-meta__filters {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-end;
    gap: var(--cgo-space-8) var(--cgo-space-12);
    min-width: 0;
    flex: 0 1 auto;
}

.to-pickup-supervision-meta__context {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--cgo-space-12);
    flex: 1 1 auto;
    min-width: 0;
    padding-bottom: 0.15rem;
}

.to-pickup-supervision-package-files {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--cgo-space-8);
    flex-shrink: 0;
    overflow-x: auto;
}

.to-pickup-supervision-package-file {
    flex-shrink: 0;
}

.to-pickup-supervision-meta__filters .cases-list-filter-field--date-range {
    flex: 0 1 12rem;
    min-width: 10rem;
    max-width: 14rem;
}

.to-pickup-supervision-meta__filters .cgo-form-label {
    font-size: var(--cgo-font-size-sm, 0.8rem);
    color: var(--cgo-text-muted, #6c757d);
}

.to-pickup-supervision-meta__filters .cgo-date-range-display,
.to-pickup-supervision-meta__filters input.flatpickr-input {
    min-width: 0;
    width: 100%;
}

.to-pickup-supervision-meta__row {
    font-size: var(--cgo-font-size-body, 0.95rem);
    white-space: nowrap;
    flex-shrink: 0;
}

.to-pickup-supervision-meta__actions {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: var(--cgo-space-12);
    margin-left: auto;
    flex-shrink: 0;
    padding-bottom: 0.15rem;
}

.to-pickup-supervision-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(260px, 0.9fr);
    gap: var(--cgo-space-16);
    align-items: stretch;
    flex: 0 1 auto;
    min-height: 0;
}

.to-pickup-supervision-preview {
    min-width: 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
    container-type: inline-size;
    container-name: to-pickup-supervision-preview;
}

/* Wysokość ≈ jedna karta A4; absolute iframe w components/pdf_preview_frame.css. */
.to-pickup-supervision-frame-shell {
    display: flex;
    flex-direction: column;
    flex: none;
    width: 100%;
    /* 100cqi = .to-pickup-supervision-preview */
    height: clamp(
        var(--cgo-pdf-frame-min-block),
        calc(100cqi * var(--cgo-pdf-a4-block-ratio)),
        var(--cgo-pdf-frame-max-block)
    );
    min-height: var(--cgo-pdf-frame-min-block);
    border: 1px solid var(--cgo-border-color, #e2e8f0);
    border-radius: var(--cgo-table-radius, 8px);
    background: var(--cgo-surface-muted, #f8f9fa);
    overflow: hidden;
}

.to-pickup-supervision-tasks {
    min-width: 0;
    min-height: 0;
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    border: 1px solid var(--cgo-border-color, #e2e8f0);
    border-radius: var(--cgo-table-radius, 8px);
    background: var(--cgo-surface, #fff);
    padding: var(--cgo-space-16);
    display: flex;
    flex-direction: column;
    gap: var(--cgo-space-12);
    box-sizing: border-box;
}

.to-pickup-supervision-tasks__header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--cgo-space-8);
    flex-shrink: 0;
}

.to-pickup-supervision-tasks__bulk {
    display: flex;
    flex-wrap: wrap;
    gap: var(--cgo-space-8);
}

.to-pickup-supervision-task-item__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--cgo-space-8);
    margin-top: var(--cgo-space-12);
}

.to-pickup-supervision-task-item__first-decision {
    min-width: 0;
    flex: 1;
    font-size: 0.85rem;
}

.to-pickup-supervision-task-item__actions-end {
    display: flex;
    align-items: center;
    gap: var(--cgo-space-8);
    margin-left: auto;
}

.to-pickup-supervision-btn--danger {
    color: var(--cgo-color-danger, #b91c1c);
    border-color: color-mix(in srgb, var(--cgo-color-danger, #b91c1c) 35%, var(--cgo-border-color, #e2e8f0));
}

.to-pickup-supervision-feedback {
    margin: 0;
    min-height: 1.25em;
    flex-shrink: 0;
}

.to-pickup-supervision-modify-feedback {
    margin: 0 0 var(--cgo-space-8);
    min-height: 1.25em;
}

.to-pickup-supervision-modify-checklist {
    display: flex;
    flex-direction: column;
    gap: var(--cgo-space-8);
    max-height: 20rem;
    overflow: auto;
    margin: var(--cgo-space-12) 0;
    padding: var(--cgo-space-8);
    border: 1px solid var(--cgo-border-color, #e2e8f0);
    border-radius: var(--cgo-table-radius, 8px);
}

.to-pickup-supervision-modify-check-item {
    display: flex;
    align-items: flex-start;
    gap: var(--cgo-space-8);
    cursor: pointer;
}

.to-pickup-supervision-tasks__title {
    margin: 0;
    font-size: 1.05rem;
}

.to-pickup-supervision-task-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--cgo-space-12);
}

.to-pickup-supervision-task-item {
    padding: var(--cgo-space-12);
    border: 1px solid var(--cgo-border-color, #e2e8f0);
    border-radius: var(--cgo-table-radius, 8px);
    background: var(--cgo-surface-muted, #f8f9fa);
}

.to-pickup-supervision-task-item__title {
    font-size: var(--cgo-font-size-lg);
    font-weight: 600;
}

.to-pickup-supervision-task-item__block {
    display: flex;
    flex-direction: column;
    gap: var(--cgo-space-4);
    margin-top: var(--cgo-space-8);
}

.to-pickup-supervision-task-item__code,
.to-pickup-supervision-task-item__subtitle,
.to-pickup-supervision-task-item__remarks {
    margin: 0;
    font-size: 0.9rem;
}

.to-pickup-supervision-task-item__remarks {
    padding-left: 1.1em;
}

.to-pickup-supervision-task-item__remarks li + li {
    margin-top: var(--cgo-space-2);
}

.to-pickup-supervision-task-item__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--cgo-space-8);
    margin-top: var(--cgo-space-4);
}

.to-pickup-supervision-task-item__deadline {
    font-size: 0.9rem;
    min-width: 0;
}

.to-pickup-supervision-task-item__meta .task-label-line {
    margin-left: auto;
    flex-shrink: 0;
}

.to-pickup-supervision-empty,
.to-pickup-supervision-tasks-empty {
    min-height: 160px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--cgo-table-radius);
}

.to-pickup-supervision-empty {
    min-height: 220px;
}

.to-pickup-supervision-empty p {
    margin: 0;
    font-size: var(--cgo-font-size-body, 1rem);
    font-weight: 600;
    color: var(--cgo-text-primary);
}

.to-pickup-supervision-frame-shell .documents-browse-pdf-open-tab {
    display: none;
}

@media (max-width: 1024px) {
    body.to-pickup-supervision-page {
        --cgo-pdf-frame-max-block: min(75dvh, 70rem);
        --cgo-pdf-frame-min-block: 14rem;
    }

    body.to-pickup-supervision-page .reports-container.to-pickup-supervision-page {
        max-width: 100%;
    }

    .to-pickup-supervision-layout {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .to-pickup-supervision-tasks {
        height: auto;
        max-height: min(50dvh, 28rem);
    }

    .to-pickup-supervision-frame-shell .documents-browse-pdf-open-tab {
        display: block;
        margin: 0;
        padding: var(--cgo-space-12) var(--cgo-space-16);
        text-align: center;
        border-top: 1px solid var(--cgo-border-color, #e2e8f0);
        background: var(--cgo-surface, #fff);
    }
}

/* Cases list and case tile feature styles. */
.cases-panel {
    min-width: 0;
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 180px);
}

/* Lista zadań – jedna kolumna, pełna wysokość */
.task-list-page .cases-panel {
    max-height: none;
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
}

body.cases-list-page .task-list-container,
body.cases-list-page .cases-panel {
    max-width: 1440px;
    width: 100%;
}

/* Cases list styles */
.cases-list,
.calendar-day-cases-list {
    display: flex;
    flex-direction: column;
    gap: var(--cgo-space-12);
}

.case-task-count {
    position: absolute;
    top: 8px;
    right: 8px;
    background: #f59e0b;
    color: var(--cgo-text-inverse);
    font-size: 14px;
    font-weight: bold;
    padding: var(--cgo-space-4) var(--cgo-space-8);
    border-radius: var(--cgo-radius-sm);
    min-width: 20px;
    text-align: center;
    z-index: 2;
}

.calendar-day-case-actions {
    position: absolute;
    top: 8px;
    right: 8px;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: var(--cgo-space-8);
}

.calendar-day-case-actions .case-task-count {
    position: static;
}

.calendar-day-case-tile .case-tile-section-title {
    padding-right: 160px;
}

.case-info-grid {
    display: flex;
    flex-direction: column;
}

.case-info-item {
    display: flex;
    align-items: baseline;
    gap: var(--cgo-space-4);
    min-height: 24px;
}

.case-label {
    font-weight: 600;
    color: #374151;
    font-size: 0.875em;
    white-space: nowrap;
    flex-shrink: 0;
}

.case-value {
    color: #1f2937;
    font-size: 0.875em;
    line-height: var(--cgo-line-height-normal);
    min-width: 0;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.case-search-suggestions {
    background: var(--cgo-surface);
    border: 1px solid var(--cgo-border-muted);
    border-radius: var(--cgo-radius-sm);
    margin-top: var(--cgo-space-4);
    box-shadow: var(--cgo-shadow-dropdown);
    max-height: 260px;
    overflow-y: auto;
    font-size: 0.9em;
}

.case-search-suggestions--dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 1000;
    display: none;
    margin-top: var(--cgo-space-4);
}

.case-search-suggestions--dropdown.is-open {
    display: block;
}

.case-search-suggestion-item {
    padding: var(--cgo-space-8) var(--cgo-space-12);
    cursor: pointer;
}

.case-search-suggestion-item:hover {
    background: var(--cgo-surface-subtle);
}

.case-search-suggestion-empty {
    color: var(--cgo-text-subtle);
    cursor: default;
}

.task-list-header-card.cases-list-filter-card {
    padding: var(--cgo-space-12) var(--cgo-space-16);
    margin-bottom: var(--cgo-space-16);
}

.cases-list-filter-card {
    width: 100%;
}

.cases-list-filter-card__inner {
    display: flex;
    flex-direction: column;
    gap: var(--cgo-list-filter-section-gap);
    width: 100%;
}

.cases-list-filter-pisp {
    display: flex;
    justify-content: flex-start;
    width: 100%;
}

.cases-list-filter-pisp .cgo-tabs {
    width: 100%;
    max-width: 100%;
}

.cases-list-filter-form {
    display: flex;
    flex-direction: column;
    gap: var(--cgo-list-filter-section-gap);
    width: 100%;
}

.cases-list-filter-fields {
    display: flex;
    flex-direction: column;
    gap: var(--cgo-list-filter-row-gap);
    width: 100%;
}

.cases-list-filter-row {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    column-gap: var(--cgo-list-filter-column-gap);
    row-gap: var(--cgo-list-filter-column-gap);
    width: 100%;
}

.cases-list-filter-field {
    display: flex;
    flex-direction: column;
    gap: var(--cgo-space-2);
    min-width: 0;
}

.cases-list-filter-footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: var(--cgo-space-8);
    width: 100%;
    padding-top: var(--cgo-space-4);
}

.cases-list-results-pagination {
    display: flex;
    justify-content: center;
    width: 100%;
    margin-top: var(--cgo-space-12);
    min-width: 0;
}

.cases-list-results-pagination .pagination {
    margin-top: 0;
}

.task-list-page [data-cgo-slot-id="results"].cgo-slot--loading .cgo-slot__content,
.cases-list-page [data-cgo-slot-id="results"].cgo-slot--loading .cgo-slot__content {
    opacity: 0.55;
    pointer-events: none;
    transition: opacity 0.15s ease;
}

@media (max-width: 1024px) {
    .cases-list-filter-row {
        grid-template-columns: 1fr;
        row-gap: var(--cgo-list-filter-column-gap);
    }
}

/* Tabela listy spraw na /cases */
.cases-list-results-card .cgo-table td {
    white-space: normal;
    vertical-align: middle;
}

.cases-list-results-card .cgo-table .cases-list-col-signature {
    white-space: nowrap;
}

.cases-list-results-card .cgo-table .cases-list-col-actions {
    white-space: normal;
}

.cases-list-results-card .cgo-table .cases-list-col-powod,
.cases-list-results-card .cgo-table .cases-list-col-pozwany {
    min-width: 10rem;
    max-width: 16rem;
    white-space: normal;
    word-break: break-word;
}

.cases-list-results-card .cgo-table .cases-list-cell-clamp {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.cases-list-row {
    cursor: pointer;
}

.cases-list-row:hover td {
    background: var(--cgo-surface-hover, #f8f9fa);
}

.cases-list-row:focus-visible {
    outline: 3px solid rgba(37, 99, 235, 0.45);
    outline-offset: -3px;
}

@media (min-width: 769px) {
    body.cases-list-page .cases-list-col-actions {
        width: 1%;
        white-space: nowrap;
        text-align: left;
        vertical-align: middle;
    }

    body.cases-list-page .cases-list-col-actions .cgo-table-actions {
        flex-wrap: nowrap;
        justify-content: flex-start;
    }
}

.case-tile-section-title {
    margin: 0 0 var(--cgo-space-8) 0;
    font-size: 0.95rem;
}

.case-show-tasks-btn {
    display: inline-flex;
    align-items: center;
    gap: var(--cgo-space-4);
    padding-inline: var(--cgo-space-8);
}

.case-show-tasks-btn svg {
    width: 1.125rem;
    height: 1.125rem;
    flex-shrink: 0;
}

.case-show-tasks-btn-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.35em;
    padding: var(--cgo-space-2) var(--cgo-space-8);
    font-size: 0.78em;
    font-weight: 700;
    line-height: 1;
    border-radius: var(--cgo-radius-pill);
    background: #f59e0b;
    color: var(--cgo-text-inverse);
}

.case-show-tasks-btn[disabled] {
    opacity: 0.6;
    cursor: not-allowed;
}

.cases-top-row {
    display: grid;
    grid-template-columns: 1fr 1.6fr;
    gap: var(--cgo-space-24);
    align-items: start;
    margin-top: calc(-1 * var(--cgo-space-24));
}

.cases-top-row-right {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: var(--cgo-space-12);
    min-width: 0;
}

.cases-top-row-right .cases-filter-hint {
    margin-bottom: 0;
}

.cases-filter-hint {
    display: flex;
    align-items: center;
    gap: var(--cgo-space-12);
    margin-bottom: var(--cgo-space-12);
    flex-wrap: wrap;
}

.cgo-scroll-pane {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    /* Padding keeps card shadows inside the clip rect; negative margin keeps column layout tight. */
    padding: var(--cgo-scroll-pane-inset);
    padding-right: calc(var(--cgo-scroll-pane-inset) + var(--cgo-space-4));
    margin-inline: calc(var(--cgo-scroll-pane-inset) * -1);
    margin-bottom: calc(var(--cgo-scroll-pane-inset) * -1);
}

@media (max-width: 1024px) {
    .cases-top-row {
        grid-template-columns: 1fr;
    }

    .cases-panel {
        max-height: none;
    }

    .case-info-grid {
        gap: var(--cgo-space-8);
    }

    .case-info-item {
        flex-direction: row;
        align-items: baseline;
        gap: var(--cgo-space-4);
    }

    .case-label {
        font-size: 0.8em;
    }

    .case-value {
        font-size: 0.85em;
    }
}

@media (max-width: 768px) {
    .cases-list-results-card .cgo-table--responsive-cards .cases-list-col-signature {
        white-space: normal;
    }

    .cases-list-col-actions .cgo-table-actions {
        width: 100%;
    }
}

/* Toolbar bulk actions na liście spraw */
.cases-list-table-toolbar {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--cgo-space-8, 8px);
    padding: var(--cgo-space-8, 8px) var(--cgo-space-16, 16px);
}

/* Kolumna checkboxów w tabeli spraw */
.cases-list-col-check {
    width: 2.5rem;
    text-align: center;
    padding-left: var(--cgo-space-8, 8px) !important;
    padding-right: var(--cgo-space-8, 8px) !important;
}

.cases-list-col-check input[type="checkbox"] {
    cursor: pointer;
}

/* Wiersz zaznaczony */
.cases-list-row:has(input[type="checkbox"][data-case-id]:checked) td {
    background: var(--cgo-surface-selected, rgba(37, 99, 235, 0.06));
}

/* Documents and sentences feature styles. */
/* Calendar hub — kafelki dokumentów/wyroków (/documents, /sentences) */
.documents-tiles-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: var(--cgo-space-16);
    margin-top: var(--cgo-space-16);
}

.document-tile {
    padding: var(--cgo-space-16) var(--cgo-space-16);
    font-size: var(--cgo-font-size-meta);
}

.document-tile--attention {
    background: #fff5f5;
    border-color: #fecaca;
    box-shadow: var(--cgo-shadow-danger-soft);
}

.document-tile-badges {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--cgo-space-8);
}

/* Documents / sentences hub — kalendarz po lewej, statystyki po prawej.
   Specyficzność musi bić .calendar-form-layout (importowany później w style.css)
   oraz jego media query align-items: stretch — inaczej karta kalendarza
   rozciąga się do wysokości statystyk przez height: 100% na .calendar-form-card. */
.calendar-form-layout.documents-controls-layout {
    max-width: 100%;
    align-items: flex-start;
}

.documents-controls-layout__stats {
    min-width: 0;
}

.documents-controls-layout__calendar .calendar-form-card {
    height: auto;
}

.documents-controls-layout .documents-day-stats-card {
    margin-top: 0;
}

@media (max-width: 1024px) {
    .calendar-form-layout.documents-controls-layout {
        align-items: flex-start;
    }
}

/* Documents day stats card */
.documents-day-stats-card {
    margin-top: var(--cgo-space-16);
}

.documents-day-stats-card .documents-list-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--cgo-space-12);
}

.documents-day-stats-card .documents-list-header h2 {
    flex: 1 1 auto;
}

.documents-day-stats-header-actions {
    display: inline-flex;
    align-items: center;
    gap: var(--cgo-space-8);
    flex: 0 0 auto;
}

.documents-day-stats-help,
.documents-ingest-debug-trigger {
    flex: 0 0 auto;
    margin-left: 0;
}

.modal-dialog.modal-dialog--ingest-debug {
    max-width: min(72rem, calc(100vw - var(--cgo-space-24)));
    width: min(96vw, 72rem);
    box-sizing: border-box;
    overflow-x: hidden;
}

.documents-ingest-debug-body {
    max-height: min(80vh, 44rem);
    max-width: 100%;
    min-width: 0;
    overflow-x: hidden;
    overflow-y: auto;
    display: grid;
    gap: var(--cgo-space-20);
}

.documents-ingest-debug-placeholder,
.documents-ingest-debug-empty {
    margin: 0;
    color: var(--cgo-text-muted);
}

.documents-ingest-debug-section-title,
.documents-ingest-debug-account__title,
.documents-ingest-debug-subsection-title {
    margin: 0 0 var(--cgo-space-8);
    font-size: 0.95rem;
    font-weight: 600;
    overflow-wrap: anywhere;
}

.documents-ingest-debug-day__layout {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
    gap: var(--cgo-space-16);
    align-items: start;
    min-width: 0;
}

.documents-ingest-debug-tiles {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--cgo-space-8);
    min-width: 0;
}

.documents-ingest-debug-tile {
    display: grid;
    gap: var(--cgo-space-4);
    min-width: 0;
    padding: var(--cgo-space-12);
    border: 1px solid var(--cgo-border-subtle, rgba(0, 0, 0, 0.08));
    border-radius: var(--cgo-radius-md, 0.5rem);
    background: var(--cgo-surface-muted, rgba(0, 0, 0, 0.02));
}

.documents-ingest-debug-tile__label {
    color: var(--cgo-text-muted);
    font-size: 0.75rem;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.documents-ingest-debug-tile__label code,
.documents-ingest-debug-kpi__label code,
.documents-ingest-debug-account__flags code,
.documents-ingest-debug-subsection-title code,
.documents-ingest-debug-table th code,
.documents-ingest-debug-table td code,
.documents-ingest-debug-run__meta dt code {
    font-size: 0.85em;
}

.documents-ingest-debug-tile__value {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.9rem;
    word-break: break-word;
    overflow-wrap: anywhere;
}

.documents-ingest-debug-run {
    min-width: 0;
    padding: var(--cgo-space-12);
    border: 1px solid var(--cgo-border-subtle, rgba(0, 0, 0, 0.08));
    border-radius: var(--cgo-radius-md, 0.5rem);
}

.documents-ingest-debug-run__meta {
    display: grid;
    gap: var(--cgo-space-8);
    margin: 0;
}

.documents-ingest-debug-run__meta > div {
    display: grid;
    gap: 0.15rem;
    min-width: 0;
}

.documents-ingest-debug-run__meta dt {
    margin: 0;
    color: var(--cgo-text-muted);
    font-size: 0.75rem;
    overflow-wrap: anywhere;
}

.documents-ingest-debug-run__meta dd {
    margin: 0;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.85rem;
    word-break: break-word;
    overflow-wrap: anywhere;
}

.documents-ingest-debug-accounts {
    display: grid;
    gap: var(--cgo-space-20);
    min-width: 0;
}

.documents-ingest-debug-account {
    border-top: 1px solid var(--cgo-border-subtle, rgba(0, 0, 0, 0.08));
    padding-top: var(--cgo-space-16);
    display: grid;
    gap: var(--cgo-space-12);
    min-width: 0;
}

.documents-ingest-debug-account__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--cgo-space-16);
    min-width: 0;
}

.documents-ingest-debug-account__identity {
    min-width: 0;
    flex: 1 1 auto;
}

.documents-ingest-debug-account__slug {
    margin-left: var(--cgo-space-8);
    font-weight: 500;
}

.documents-ingest-debug-account__flags {
    display: grid;
    gap: var(--cgo-space-4);
    margin: var(--cgo-space-8) 0 0;
    color: var(--cgo-text-muted);
    font-size: 0.85rem;
    line-height: 1.4;
    min-width: 0;
}

.documents-ingest-debug-account__flags > div {
    display: grid;
    grid-template-columns: minmax(0, 18rem) minmax(0, 1fr);
    gap: var(--cgo-space-8);
    align-items: baseline;
    min-width: 0;
}

.documents-ingest-debug-account__flags dt {
    margin: 0;
    overflow-wrap: anywhere;
}

.documents-ingest-debug-account__flags dd {
    margin: 0;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.documents-ingest-debug-account__aside {
    display: flex;
    align-items: flex-start;
    flex: 0 1 auto;
    max-width: 100%;
}

.documents-ingest-debug-kpi {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--cgo-space-8);
    min-width: 0;
}

.documents-ingest-debug-kpi__item {
    display: grid;
    gap: 0.25rem;
    min-width: 0;
    padding: var(--cgo-space-10) var(--cgo-space-12);
    border: 1px solid var(--cgo-border-subtle, rgba(0, 0, 0, 0.08));
    border-radius: var(--cgo-radius-md, 0.5rem);
}

.documents-ingest-debug-kpi__label {
    color: var(--cgo-text-muted);
    font-size: 0.75rem;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.documents-ingest-debug-kpi__value {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 1.15rem;
    font-weight: 600;
    line-height: 1.2;
}

.documents-ingest-debug-account__columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 20rem));
    gap: var(--cgo-space-20);
    align-items: start;
    min-width: 0;
}

.documents-ingest-debug-account__columns > div {
    min-width: 0;
    max-width: 20rem;
    overflow: hidden;
}

.documents-ingest-debug-table {
    width: 100%;
    max-width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.8rem;
}

.documents-ingest-debug-table th,
.documents-ingest-debug-table td {
    padding: 0.3rem 0.4rem;
    border-bottom: 1px solid var(--cgo-border-subtle, rgba(0, 0, 0, 0.08));
    text-align: left;
    vertical-align: top;
    overflow: hidden;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.documents-ingest-debug-table th {
    color: var(--cgo-text-muted);
    font-weight: 600;
    font-size: 0.72rem;
}

.documents-ingest-debug-table th:first-child,
.documents-ingest-debug-table td:first-child {
    width: auto;
}

.documents-ingest-debug-table td:last-child,
.documents-ingest-debug-table th:last-child {
    width: 3.25rem;
    text-align: right;
    white-space: nowrap;
}

.documents-ingest-debug-table code {
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.documents-ingest-debug-problems {
    max-width: 40rem;
    min-width: 0;
}

.documents-ingest-debug-problems .documents-ingest-debug-table td:last-child,
.documents-ingest-debug-problems .documents-ingest-debug-table th:last-child {
    width: auto;
    text-align: left;
    white-space: normal;
}

@media (max-width: 900px) {
    .documents-ingest-debug-day__layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .documents-ingest-debug-tiles,
    .documents-ingest-debug-kpi {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .documents-ingest-debug-account__flags > div {
        grid-template-columns: minmax(0, 1fr);
        gap: 0.1rem;
    }
}

@media (max-width: 768px) {
    .documents-ingest-debug-tiles,
    .documents-ingest-debug-kpi,
    .documents-ingest-debug-account__columns {
        grid-template-columns: minmax(0, 1fr);
    }

    .documents-ingest-debug-account__columns > div {
        max-width: none;
    }

    .documents-ingest-debug-account__header {
        flex-direction: column;
    }

    .documents-ingest-debug-account__aside {
        justify-items: start;
        text-align: left;
    }

    .documents-ingest-debug-problems {
        max-width: none;
    }
}

.documents-day-stats-direction-filter {
    display: flex;
    flex-wrap: wrap;
    gap: var(--cgo-space-8);
    margin-top: var(--cgo-space-12);
}

.documents-day-stats-direction-filter__link {
    display: inline-flex;
    align-items: center;
    min-height: 2rem;
    padding: 0.25rem 0.7rem;
    border: 1px solid var(--cgo-border-input);
    border-radius: var(--cgo-radius-pill);
    color: var(--cgo-text-primary);
    font-size: 0.86rem;
    font-weight: 600;
    text-decoration: none;
    background: var(--cgo-surface);
}

.documents-day-stats-direction-filter__link:hover,
.documents-day-stats-direction-filter__link:focus {
    text-decoration: none;
    border-color: var(--cgo-primary);
}

.documents-day-stats-direction-filter__link.is-active {
    color: var(--cgo-text-inverse);
    border-color: var(--cgo-primary);
    background: var(--cgo-primary);
}

.documents-day-stats-direction-filter__link.is-active:hover,
.documents-day-stats-direction-filter__link.is-active:focus {
    border-color: var(--cgo-primary-hover);
    background: var(--cgo-primary-hover);
}

.documents-day-stats-hero {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--cgo-space-16);
    margin-top: var(--cgo-space-16);
    padding: var(--cgo-space-16);
    border: 1px solid var(--cgo-border-subtle);
    border-radius: var(--cgo-radius-lg);
    background: var(--cgo-surface-subtle);
}

.documents-day-stats-hero + .documents-day-stats-section {
    margin-top: var(--cgo-space-28);
}

.documents-day-stats-status {
    display: inline-flex;
    align-items: center;
    margin: 0 0 var(--cgo-space-8);
    padding: 0.2rem 0.55rem;
    border: none;
    border-radius: var(--cgo-radius-pill);
    font-size: var(--cgo-font-size-xs);
    font-weight: 700;
    line-height: var(--cgo-line-height-tight);
}

.documents-day-stats-status--ready {
    background: var(--cgo-pill-status-ok-bg);
    color: var(--cgo-pill-status-ok-fg);
}

.documents-day-stats-status--review {
    background: var(--cgo-pill-status-manual-review-bg);
    color: var(--cgo-pill-status-manual-review-fg);
}

.documents-day-stats-status--attention {
    background: var(--cgo-pill-status-review-bg);
    color: var(--cgo-pill-status-review-fg);
}

.documents-day-stats-hero__value {
    margin: 0;
    font-size: clamp(2.1rem, 6vw, 3.4rem);
    line-height: 1;
    font-weight: 800;
    letter-spacing: -0.04em;
    color: var(--cgo-text-primary);
}

.documents-day-stats-hero__caption,
.documents-day-stats-hero__aside-label {
    margin: var(--cgo-space-4) 0 0;
    color: var(--cgo-text-muted);
    font-size: 0.9rem;
}

.documents-day-stats-hero__caption--secondary {
    margin-top: var(--cgo-space-2);
    font-size: 0.82rem;
}

.documents-day-stats-hero__aside {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    flex: 0 0 auto;
    gap: var(--cgo-space-12);
    text-align: right;
}

.documents-day-stats-hero__aside-metric {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: var(--cgo-space-8);
}

.sentences-day-stats-card .documents-day-stats-hero__aside {
    flex-direction: row;
    align-items: flex-end;
    gap: var(--cgo-space-20);
}

.documents-day-stats-hero__aside .documents-day-stats-status {
    margin-bottom: 0;
}

.documents-day-stats-hero__aside-value {
    display: block;
    font-size: 1.65rem;
    line-height: 1;
    font-weight: 800;
    color: var(--cgo-text-primary);
    font-variant-numeric: tabular-nums;
}

.documents-day-stats-card .documents-day-stats-section + .documents-day-stats-section {
    margin-top: var(--cgo-space-20);
    padding-top: var(--cgo-space-20);
    border-top: none;
}

.documents-day-stats-section-header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--cgo-space-12);
    flex-wrap: wrap;
}

.documents-day-stats-ingest-meta {
    display: inline-flex;
    align-items: center;
    gap: var(--cgo-space-8);
    flex-wrap: wrap;
}

.documents-day-stats-closure-badge {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.documents-day-stats-runbook-hint {
    margin-top: var(--cgo-space-8);
    color: var(--cgo-text-secondary);
    font-size: 0.9rem;
}

.documents-day-stats-attention-hint {
    margin: var(--cgo-space-16) 0 0;
    color: var(--cgo-status-attention-text, var(--cgo-text-primary));
    font-size: 0.95rem;
    font-weight: 600;
}

.documents-day-stats-section + .documents-day-stats-attention-hint {
    margin-top: var(--cgo-space-28);
}

.documents-day-stats-section-body.documents-day-stats-metric-diverge-hint {
    margin: var(--cgo-space-32) 0 0;
    color: var(--cgo-text-muted);
    font-size: 0.86rem;
    font-weight: 400;
    line-height: 1.35;
}

.documents-day-stats-metric-diverge-hint + .documents-day-stats-browse {
    margin-top: var(--cgo-space-16);
}

.documents-day-stats-card .documents-day-stats-section-title {
    margin: 0 0 var(--cgo-space-12);
    font-size: 1rem;
    font-weight: 700;
    color: var(--cgo-text-primary);
    text-transform: none;
    letter-spacing: -0.01em;
}

.documents-day-stats-section + .documents-day-stats-section {
    margin-top: var(--cgo-space-20);
    padding-top: var(--cgo-space-20);
    border-top: 1px solid var(--cgo-border-subtle);
}

.documents-day-stats-section-title {
    margin: 0 0 var(--cgo-space-4);
    font-size: var(--cgo-font-size-sm);
    font-weight: 600;
    color: var(--cgo-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.documents-day-stats-section-body {
    margin: 0;
    font-size: var(--cgo-font-size-meta);
    line-height: 1.25;
    color: var(--cgo-text-muted);
}

.documents-day-stats-breakdown {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: var(--cgo-space-16);
    row-gap: var(--cgo-space-8);
    margin: var(--cgo-space-8) 0 0;
    padding-inline-start: var(--cgo-space-20);
    list-style-position: inside;
    font-size: var(--cgo-font-size-meta);
    line-height: var(--cgo-line-height-normal);
    color: var(--cgo-text-muted);
}

.documents-day-stats-breakdown a {
    margin-left: var(--cgo-space-6);
    font-weight: 600;
}

.documents-day-stats-browse {
    display: inline-flex;
    margin-top: var(--cgo-space-20);
    width: 100%;
    justify-content: center;
}

.documents-day-stats-browse + .documents-day-stats-section,
.documents-day-stats-browse + .documents-day-stats-attention-hint {
    margin-top: var(--cgo-space-24);
}

.documents-day-stats-card .documents-day-stats-section + .documents-day-stats-section[aria-labelledby="documents-day-stats-tasks"],
.documents-day-stats-card .documents-day-stats-attention-hint + .documents-day-stats-section[aria-labelledby="documents-day-stats-tasks"],
.documents-day-stats-card .documents-day-stats-browse + .documents-day-stats-section[aria-labelledby="documents-day-stats-tasks"] {
    margin-top: var(--cgo-space-20);
    padding-top: 0;
    border-top: none;
}

.documents-day-stats-browse[aria-disabled="true"] {
    opacity: 0.55;
    pointer-events: none;
    cursor: not-allowed;
}

.documents-day-stats-lines {
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: var(--cgo-font-size-meta);
    line-height: 1.25;
}

.documents-day-stats-card .documents-day-stats-lines {
    font-size: 0.98rem;
    line-height: 1.5;
}

.documents-day-stats-lines li + li {
    margin-top: var(--cgo-space-4);
}

.documents-day-stats-card .documents-day-stats-lines li + li {
    margin-top: var(--cgo-space-14);
}

.documents-day-stats-card .documents-day-stats-line {
    display: flex;
    align-items: baseline;
    gap: var(--cgo-space-8);
}

.documents-day-stats-card .documents-day-stats-line__label {
    min-width: 0;
    color: var(--cgo-text-primary);
}

.documents-day-stats-card .documents-day-stats-line__leader {
    flex: 1 1 auto;
    min-width: var(--cgo-space-24);
    border-bottom: 2px dotted var(--cgo-border-input);
    transform: translateY(-0.25em);
}

.documents-day-stats-card .documents-day-stats-line__value {
    flex: 0 0 auto;
    min-width: 2ch;
    color: var(--cgo-text-primary);
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    text-align: right;
}

.documents-day-stats-details {
    margin-top: var(--cgo-space-20);
    padding-top: var(--cgo-space-20);
    border-top: 1px solid var(--cgo-border-subtle);
}

.documents-day-stats-card .documents-day-stats-details {
    border-top: none;
}

.documents-day-stats-details summary {
    cursor: pointer;
    font-weight: 700;
    color: var(--cgo-text-primary);
}

.documents-day-stats-details .documents-day-stats-lines {
    margin-top: var(--cgo-space-12);
}

@media (max-width: 768px) {
    .documents-day-stats-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .documents-day-stats-hero__aside {
        align-items: flex-start;
        text-align: left;
    }

    .sentences-day-stats-card .documents-day-stats-hero__aside {
        align-items: flex-start;
    }

    .sentences-day-stats-card .documents-day-stats-hero__aside-metric {
        align-items: flex-start;
    }

    .documents-day-stats-breakdown {
        grid-template-columns: 1fr;
    }

    .documents-tiles-grid {
        grid-template-columns: 1fr;
    }

    .documents-day-stats-card .documents-list-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .documents-day-stats-direction-filter__link {
        min-height: 44px;
    }
}

/* End documents day stats card */

.document-preview-tasks-wrap {
    width: 100%;
    margin-bottom: var(--cgo-space-16);
}

.document-preview-tasks {
    background: var(--cgo-surface);
    border: 1px solid var(--cgo-border-soft);
    border-radius: var(--cgo-radius-md);
    padding: var(--cgo-space-12) var(--cgo-space-16);
    font-size: var(--cgo-font-size-meta);
}

.document-preview-tasks .documents-day-stats-section {
    margin: 0;
}

.document-tile-meta {
    font-size: inherit;
    line-height: 1.25;
    margin-top: var(--cgo-space-4);
}

.document-tile-case {
    font-size: inherit;
    line-height: 1.25;
    margin-top: var(--cgo-space-4);
    word-break: break-word;
}

.document-preview-frame-wrap {
    width: 100%;
    min-height: calc(100vh - 320px);
    border: 1px solid var(--cgo-border-input, #ced4da);
    border-radius: 10px;
    overflow: hidden;
    background: #f8f9fa;
}

.document-preview-frame {
    width: 100%;
    height: calc(100vh - 320px);
    min-height: 480px;
    border: none;
}

.documents-list-header h2 {
    margin: 0 0 var(--cgo-space-8) 0;
    font-size: 1.60em;
    font-weight: 600;
    color: var(--cgo-text-primary);
    letter-spacing: -0.01em;
    line-height: 1.25;
}

.documents-signature-search {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--cgo-space-12);
    margin: var(--cgo-space-16) 0 var(--cgo-space-4);
}

.documents-signature-search .cgo-form-control {
    flex: 1;
    min-width: 180px;
}

/* Calendar day view, calendar form, and mini calendar feature styles. */
/* Calendar day view */
.calendar-day-view {
    display: flex;
    flex-direction: column;
    gap: var(--cgo-space-16);
    margin-top: var(--cgo-space-24);
}

.calendar-day-view .task-card,
.calendar-day-view .empty-state,
.calendar-day-view .calendar-day-tasks-placeholder {
    border-radius: var(--cgo-table-radius);
}

/* Day view: keep hover lift, drop elevated shadow (clips against column/scroll edges). */
.calendar-day-view .task-card:hover {
    box-shadow: var(--cgo-shadow-card);
    transform: translateY(-2px);
}

.calendar-day-view__header {
    margin-bottom: 0;
}

.calendar-day-view__search {
    align-self: flex-start;
}

.calendar-day-columns {
    display: grid;
    grid-template-columns: 1fr 1.6fr;
    gap: var(--cgo-space-24);
    align-items: start;
    min-height: 0;
}

.calendar-day-cases-column,
.calendar-day-tasks-column {
    min-width: 0;
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 280px);
    overflow: visible;
}

.calendar-day-tasks-column .calendar-day-tasks-panel {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    max-height: 100%;
    overflow: visible;
}

.calendar-day-tasks-container[hidden],
.calendar-day-tasks-placeholder[hidden] {
    display: none !important;
}

.calendar-day-view .task-card.calendar-day-case-tile {
    background: #f4f7fb;
    border-color: #dce4ee;
}

.calendar-day-view .task-card.calendar-day-case-tile.selected {
    background: #e8eef6;
    border-color: #6b8db5;
    border-left-color: #4a6d94;
    box-shadow: var(--cgo-shadow-selected);
}

.task-card.calendar-day-case-tile.case-suspended {
    background-color: #fefce8;
    border-color: #fbbf24;
}

.task-card.calendar-day-case-tile.case-suspended.selected {
    border-left-color: #fbbf24;
    background: #fef3c7;
    border-color: #f59e0b;
    box-shadow: var(--cgo-shadow-warning-selected);
}

/* Clip watermark only — keep card overflow visible so box-shadow is not cut. */
.calendar-day-case-tile__watermark {
    position: absolute;
    inset: 0;
    overflow: hidden;
    border-radius: inherit;
    pointer-events: none;
    z-index: 0;
}

.calendar-day-case-tile__watermark-label {
    position: absolute;
    left: 75%;
    top: 50%;
    transform: translate(-50%, -50%) rotate(-28deg);
    font-size: 28px;
    font-weight: bold;
    letter-spacing: 0.05em;
    color: rgba(245, 158, 11, 0.14);
    white-space: nowrap;
}

.task-card.calendar-day-case-tile.case-suspended .case-info-grid,
.task-card.calendar-day-case-tile.case-suspended .case-tile-section-title,
.task-card.calendar-day-case-tile.case-suspended .calendar-day-case-actions {
    position: relative;
    z-index: 1;
}

.calendar-day-view .tasks-cards-container {
    display: flex;
    flex-direction: column;
    gap: var(--cgo-space-12);
}

.calendar-day-view .tasks-cards-container .task-card {
    padding: var(--cgo-space-12);
}

.calendar-day-mobile-hint {
    display: none;
    margin: 0;
    font-size: var(--cgo-font-size-body);
}

.calendar-day-tasks-nav {
    display: none;
    align-items: center;
    gap: var(--cgo-space-12);
    margin-bottom: var(--cgo-space-12);
}

.calendar-day-tasks-nav__title {
    margin: 0;
    font-weight: 600;
    color: var(--cgo-text-primary);
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 1024px) {
    .calendar-day-columns {
        grid-template-columns: 1fr;
    }

    .calendar-day-cases-column,
    .calendar-day-tasks-column {
        max-height: none;
    }

    .calendar-day-cases-column .cgo-scroll-pane,
    .calendar-day-tasks-column .cgo-scroll-pane {
        overflow-y: visible;
        overflow-x: visible;
    }

    .calendar-day-mobile-hint {
        display: block;
    }

    .calendar-day-tasks-column {
        display: none;
    }

    .calendar-day-view--tasks-active .calendar-day-cases-column,
    .calendar-day-view--tasks-active .calendar-day-view__search,
    .calendar-day-view--tasks-active .calendar-day-mobile-hint {
        display: none;
    }

    .calendar-day-view--tasks-active .calendar-day-tasks-column {
        display: flex;
    }

    .calendar-day-view--tasks-active .calendar-day-tasks-nav:not([hidden]) {
        display: flex;
    }
}

@media (max-width: 768px) {
    .calendar-day-view .tasks-cards-container {
        gap: var(--cgo-space-12);
        padding: var(--cgo-space-12) 0;
    }

    .calendar-day-view .tasks-cards-container .task-card {
        padding: var(--cgo-space-12);
        font-size: 14px;
    }
}

/* Widok tylko z kalendarzem na stronie cases (bez listy spraw/zadań) */
.calendar-only {
    --cgo-calendar-track-width: calc(640px + 640px + var(--cgo-space-24));
    margin-top: var(--cgo-space-24);
}

.calendar-only--controls + * .calendar-only,
[data-cgo-slot-id="results"] .calendar-only {
    margin-top: 0;
}

.calendar-form-layout {
    display: flex;
    justify-content: center;
    align-items: stretch;
    gap: var(--cgo-space-24);
    width: 100%;
    max-width: var(--cgo-calendar-track-width);
    min-width: 0;
    margin: 0 auto;
}

.task-list-container .calendar-form-layout {
    max-width: 100%;
}

.calendar-only .page-header {
    width: 100%;
    max-width: var(--cgo-calendar-track-width);
    margin: 0 auto var(--cgo-space-24);
}

.calendar-form-column {
    flex: 1 1 0;
    min-width: 0;
    max-width: 640px;
}

.calendar-form-column--form {
    display: flex;
}

.calendar-form-layout .calendar-mini-wrap {
    width: 100%;
    min-width: 0;
    max-width: 640px;
    margin: 0 auto;
}

.calendar-form-layout .calendar-mini,
.calendar-form-card .calendar-mini {
    --cgo-calendar-vendor-btn-radius: var(--cgo-btn-radius);
    width: 100%;
}

.cases-calendar-label-toolbar,
.calendar-label-toolbar {
    width: 100%;
    max-width: var(--cgo-calendar-track-width, calc(640px + 640px + var(--cgo-space-24)));
    min-width: 0;
    margin: 0 auto var(--cgo-space-16);
    box-sizing: border-box;
}

.calendar-only--controls .calendar-label-toolbar {
    background: var(--cgo-surface);
    border: 1px solid var(--cgo-border-soft);
    border-radius: var(--cgo-calendar-radius);
    box-shadow: var(--cgo-shadow-panel);
    padding: var(--cgo-space-12) var(--cgo-space-16);
}

.cases-calendar-label-toolbar .cgo-tabs,
.calendar-label-toolbar .cgo-tabs {
    width: 100%;
    max-width: 100%;
}

.calendar-form-card {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    background: var(--cgo-surface);
    border-radius: var(--cgo-calendar-radius);
    border: 1px solid var(--cgo-border-soft);
    padding: var(--cgo-space-20) var(--cgo-space-24);
    box-shadow: var(--cgo-shadow-panel);
}

.calendar-form-header {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--cgo-space-4);
}

.calendar-form-header h2 {
    margin: 0;
    font-size: 1.2em;
    font-weight: 600;
    color: var(--cgo-text-primary);
}

.calendar-form-subtitle {
    margin: 0;
    font-size: 0.9em;
    color: var(--cgo-text-subtle);
    line-height: 1.45;
}

.calendar-form-body {
    margin-top: var(--cgo-space-16);
    flex: 1 1 auto;
}

.calendar-form-group {
    margin-bottom: var(--cgo-space-12);
}

.calendar-form-group .cgo-form-label {
    display: block;
    margin-bottom: var(--cgo-space-4);
    font-size: 0.9em;
    font-weight: 500;
    color: var(--cgo-text-secondary);
}

.calendar-form-actions {
    margin-top: var(--cgo-space-16);
    display: flex;
    justify-content: flex-end;
}

.calendar-form-card .btn-primary {
    background: var(--cgo-primary);
    border-color: var(--cgo-primary);
}

.calendar-form-card .btn-primary:hover {
    background: var(--cgo-primary-hover);
    border-color: var(--cgo-primary-hover);
    transform: translateY(-1px);
    box-shadow: var(--cgo-btn-primary-shadow-hover);
}

.calendar-form-hint {
    display: block;
    margin-top: var(--cgo-space-4);
    font-size: 0.8em;
    color: var(--cgo-text-muted);
}

@media (max-width: 1024px) {
    .calendar-form-layout {
        flex-direction: column;
        align-items: stretch;
        max-width: 1000px;
    }

    .calendar-form-column {
        flex: 1 1 auto;
        max-width: 100%;
    }
}

@media (max-width: 768px) {
    .calendar-only {
        margin-top: var(--cgo-space-16);
    }

    .calendar-form-layout {
        padding: 0 var(--cgo-space-8);
    }

    .cases-calendar-label-toolbar .cgo-tabs,
    .calendar-label-toolbar .cgo-tabs {
        flex-wrap: wrap;
    }

    .calendar-form-card .cgo-form-control,
    .calendar-form-actions .btn {
        min-height: 44px;
    }

    .calendar-form-actions .btn {
        width: 100%;
    }
}

/* FullCalendar ships strong button rules; scoped vendor overrides keep the app button scale. */
.calendar-mini .fc-prev-button,
.calendar-mini .fc-next-button,
.calendar-mini .fc-toolbar .fc-backButton-button,
.calendar-mini .fc-toolbar .fc-apiButton-button,
.calendar-mini .fc-toolbar .fc-showAllButton-button {
    background: var(--cgo-surface) !important;
    color: var(--cgo-text-secondary) !important;
    border: var(--cgo-btn-border-width) solid var(--cgo-border-muted) !important;
    border-radius: var(--cgo-calendar-vendor-btn-radius) !important;
    padding: var(--cgo-space-8) var(--cgo-space-12) !important;
    font-size: 0.875em !important;
    font-weight: var(--cgo-btn-font-weight);
    transition: background var(--cgo-motion-base) var(--cgo-ease-standard), border-color var(--cgo-motion-base) var(--cgo-ease-standard), box-shadow var(--cgo-motion-base) var(--cgo-ease-standard), transform var(--cgo-motion-base) var(--cgo-ease-standard);
    line-height: var(--cgo-line-height-normal);
    height: auto !important;
    min-height: auto !important;
    box-shadow: none !important;
    vertical-align: top;
    margin-top: 0;
}

.calendar-mini .fc-prev-button:hover,
.calendar-mini .fc-next-button:hover,
.calendar-mini .fc-toolbar .fc-backButton-button:hover,
.calendar-mini .fc-toolbar .fc-apiButton-button:hover,
.calendar-mini .fc-toolbar .fc-showAllButton-button:hover {
    background: var(--cgo-surface-subtle) !important;
    border-color: var(--cgo-border-hover) !important;
    transform: translateY(-1px);
    box-shadow: var(--cgo-shadow-card-interactive) !important;
}

/* Align calendar toolbar with other buttons */
.calendar-mini .fc-toolbar {
    align-items: flex-start !important;
}

/* Add spacing between calendar navigation arrows and custom buttons */
.calendar-mini .fc-toolbar-chunk:last-child .fc-prev-button {
    margin-right: var(--cgo-space-4);
}

.calendar-mini .fc-toolbar-chunk:last-child .fc-button[data-custom-button="backButton"] {
    margin-left: var(--cgo-space-8);
}

.calendar-mini .fc-toolbar .fc-backButton-button,
.calendar-mini .fc-toolbar .fc-apiButton-button,
.calendar-mini .fc-toolbar .fc-showAllButton-button {
    margin-left: var(--cgo-space-8);
}

/* FullCalendar state classes set day backgrounds; selected/today states keep vendor overrides. */
.calendar-mini .fc-daygrid-day {
    position: relative;
    background: var(--cgo-calendar-day-bg);
}
.calendar-mini .fc-daygrid-day:hover {
    background: var(--cgo-calendar-day-bg-hover);
}
.calendar-mini .fc-day-today {
    background: var(--cgo-calendar-day-today-bg) !important;
}
.calendar-mini .fc-daygrid-day.day-selected {
    background: var(--cgo-calendar-day-selected-bg) !important;
}
.calendar-mini .fc-day-today.day-selected {
    background: var(--cgo-calendar-day-today-selected-bg) !important;
}

/* Calendar day cell: day number (top) + task count badge (centered in full cell) */
.calendar-mini .fc-daygrid-day .fc-daygrid-day-frame {
    position: relative;
    height: 100%;
    min-height: 0.5em;
}

/* FC: domyślne position:relative na top/number daje wąski containing block dla dzieci; static — absolut .day-badges liczy się od .fc-daygrid-day-frame */
.calendar-mini .fc-daygrid-day-top,
.calendar-mini .fc-daygrid-day-number {
    position: static !important;
}

/* .day-cell-inner bez position:relative */
.calendar-mini .day-cell-inner {
    display: block;
    height: 100%;
    min-height: inherit;
    width: 100%;
}

.calendar-mini .day-number {
    display: block;
}

/* Odznaki z dayCellContent: CB = .fc-daygrid-day-frame po static na .fc-daygrid-day-top / .fc-daygrid-day-number */
.calendar-mini .day-cell-inner .day-badges {
    position: absolute;
    inset: 0;
    margin: auto;
    width: fit-content;
    height: fit-content;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--cgo-space-4);
}

.calendar-mini .day-cell-inner .day-badges .day-count-badge,
.calendar-mini .day-cell-inner > .day-count-badge {
    min-width: 26px;
    height: 26px;
    padding: 0 var(--cgo-space-4);
    border-radius: var(--cgo-radius-md);
    background: var(--cgo-primary);
    color: var(--cgo-text-inverse);
    font-size: var(--cgo-font-size-sm);
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

/* Pojedynczy badge bez opakowania .day-badges (fallback); ten sam CB co .day-badges */
.calendar-mini .day-cell-inner > .day-count-badge {
    position: absolute;
    inset: 0;
    margin: auto;
    width: fit-content;
    z-index: 1;
}

.calendar-mini .fc-toolbar-title {
    font-size: 1.60em;
    font-weight: 600;
    color: var(--cgo-text-primary);
    margin: 0;
    letter-spacing: -0.01em;
}

/* Calendar case tile primitive shared with day view. */
.task-card.calendar-day-case-tile {
    position: relative;
    cursor: pointer;
    padding: var(--cgo-space-12);
}

/* Reports — calendar on top, hearings grid below */

.page-reports .reports-container {
    max-width: 100%;
}

.reports-page-layout {
    display: flex;
    flex-direction: column;
    gap: var(--cgo-space-24);
    margin-top: var(--cgo-space-24);
}

.reports-calendar-section {
    width: 100%;
    max-width: 640px;
    margin: 0;
    align-self: flex-start;
}

.reports-hearings-section {
    width: 100%;
}

.reports-hearings-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(600px, 1fr));
    gap: var(--cgo-space-24);
}

.reports-calendar-card .calendar-mini-wrap {
    width: 100%;
    min-width: 0;
}

.reports-calendar-card .calendar-mini .fc-reportsDownload-button,
.reports-calendar-card .calendar-mini .fc-reportsDelete-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: var(--cgo-space-8) !important;
    min-width: var(--cgo-btn-min-height) !important;
    width: var(--cgo-btn-min-height) !important;
    height: auto !important;
    min-height: auto !important;
    border-radius: var(--cgo-btn-radius) !important;
    box-shadow: none !important;
    margin-left: var(--cgo-space-8) !important;
    transition: all 0.2s ease;
    font-size: 0 !important;
}

.reports-calendar-card .calendar-mini .fc-reportsDownload-button::after,
.reports-calendar-card .calendar-mini .fc-reportsDelete-button::after {
    content: "";
    display: block;
    width: 1.125rem;
    height: 1.125rem;
    flex-shrink: 0;
    background-color: currentColor;
    mask-position: center;
    mask-repeat: no-repeat;
    mask-size: contain;
    -webkit-mask-position: center;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: contain;
}

.reports-calendar-card .calendar-mini .fc-reportsDownload-button::after {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 15V3'/%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 15V3'/%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");
}

.reports-calendar-card .calendar-mini .fc-reportsDelete-button::after {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6'/%3E%3Cpath d='M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2'/%3E%3Cline x1='10' x2='10' y1='11' y2='17'/%3E%3Cline x1='14' x2='14' y1='11' y2='17'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6'/%3E%3Cpath d='M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2'/%3E%3Cline x1='10' x2='10' y1='11' y2='17'/%3E%3Cline x1='14' x2='14' y1='11' y2='17'/%3E%3C/svg%3E");
}

.reports-calendar-card .calendar-mini .fc-reportsDownload-button {
    background: var(--cgo-btn-secondary-bg) !important;
    color: var(--cgo-btn-secondary-text) !important;
    border: var(--cgo-btn-border-width) solid var(--cgo-btn-secondary-border) !important;
}

.reports-calendar-card .calendar-mini .fc-reportsDownload-button:hover {
    background: var(--cgo-btn-secondary-bg-hover) !important;
    color: var(--cgo-btn-secondary-text) !important;
    border-color: var(--cgo-btn-secondary-border-hover) !important;
    box-shadow: var(--cgo-btn-secondary-shadow-hover) !important;
}

.reports-calendar-card .calendar-mini .fc-reportsDelete-button {
    background: var(--cgo-btn-danger-bg) !important;
    color: var(--cgo-btn-danger-text) !important;
    border: var(--cgo-btn-border-width) solid var(--cgo-btn-danger-border) !important;
}

.reports-calendar-card .calendar-mini .fc-reportsDelete-button:hover {
    background: var(--cgo-btn-danger-bg-hover) !important;
    color: var(--cgo-danger-hover) !important;
    border-color: var(--cgo-btn-danger-border-hover) !important;
    box-shadow: var(--cgo-btn-danger-shadow-hover) !important;
}

.page-reports .hearing-card,
.page-reports .empty-state {
    border-radius: var(--cgo-table-radius);
}

.hearing-card {
    background: var(--cgo-surface);
    border: 1px solid var(--cgo-border-subtle);
    box-shadow: var(--cgo-shadow-card-soft);
    overflow: hidden;
    transition: all 0.2s ease;
}

.hearing-card:hover {
    box-shadow: var(--cgo-shadow-card-hover);
    border-color: var(--cgo-border-muted);
    transform: translateY(-2px);
}

.hearing-card-header {
    background: var(--cgo-primary);
    padding: var(--cgo-space-12) var(--cgo-space-16);
    border-bottom: none;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--cgo-space-16);
    color: var(--cgo-text-inverse);
}

.hearing-card-title h3 {
    margin: 0 0 var(--cgo-space-8) 0;
    font-size: 1.1em;
    font-weight: 700;
    color: var(--cgo-text-inverse);
    line-height: 1.4;
}

.hearing-card-actions {
    display: flex;
    align-items: center;
    gap: var(--cgo-space-8);
    flex-shrink: 0;
}

.hearing-card-body {
    padding: var(--cgo-space-12) var(--cgo-space-16);
}

.info-grid-top {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--cgo-space-24);
    margin-bottom: var(--cgo-space-24);
}

.info-grid-bottom {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--cgo-space-24);
}

.info-section {
    display: flex;
    flex-direction: column;
    gap: var(--cgo-space-12);
}

.info-section-title {
    font-size: 0.85em;
    font-weight: 700;
    color: var(--cgo-text-primary);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin: 0 0 var(--cgo-space-8) 0;
    padding-bottom: var(--cgo-space-8);
    border-bottom: 2px solid var(--cgo-btn-secondary-border);
}

.info-row {
    display: flex;
    flex-direction: column;
    gap: var(--cgo-space-4);
    padding: var(--cgo-space-8) 0;
}

.info-label {
    font-size: 0.85em;
    color: var(--cgo-text-muted);
    font-weight: 500;
}

.info-value {
    font-size: 0.95em;
    color: var(--cgo-text-primary);
    line-height: 1.5;
    word-wrap: break-word;
}

.text-muted-italic {
    color: var(--cgo-text-muted);
    font-style: italic;
}

.info-value .badge {
    display: inline-block;
    margin-top: var(--cgo-space-4);
}

@media (max-width: 1024px) {
    .reports-hearings-grid {
        grid-template-columns: 1fr;
    }

    .info-grid-top,
    .info-grid-bottom {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .reports-hearings-grid {
        grid-template-columns: 1fr;
    }

    .info-grid-top,
    .info-grid-bottom {
        grid-template-columns: 1fr;
    }
}

@media (min-width: 1025px) {
    .reports-hearings-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Reports, settings, account, and table feature styles. */
/* Reports, settings, account, and table feature styles. */
/* Reports grid - widok listy (pojedyncza kolumna) */
.reports-container {
    max-width: 720px;
    margin: 0 auto;
}

.reports-container.settings-page:has(.cgo-card > .cgo-table-wrap) {
    width: fit-content;
    max-width: 100%;
}

.reports-container.settings-page:has(.cgo-card > .cgo-table-wrap) .cgo-card {
    width: max-content;
    max-width: 100%;
}

body.settings-cases-export-page .reports-container {
    max-width: 1100px;
}

body.settings-cases-export-page .cgo-card > .cgo-tabs {
    margin: 0 0 var(--cgo-list-filter-section-gap);
}

body.settings-cases-export-page #cases-export-count:not([hidden]) {
    margin-top: var(--cgo-space-16);
}

body.settings-cases-export-page .cases-export-filter-actions,
body.settings-security-events-page .security-events-filter-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--cgo-space-8);
    align-items: center;
}

body.page-account .reports-container {
    max-width: 1040px;
}

.reports-container.reports-container--dashboard {
    max-width: 1180px;
    width: 100%;
}

body.settings-users-page .cgo-table-actions {
    flex-wrap: nowrap;
}

.task-list-container {
    max-width: 1100px;
    margin: 0 auto;
}

.modal-dialog--edit .form-group {
    margin-bottom: var(--cgo-space-20);
    width: 100%;
}

.cgo-card {
    background: var(--cgo-surface);
    border: 1px solid var(--cgo-border-soft);
    border-radius: var(--cgo-radius-md);
    box-shadow: var(--cgo-shadow-panel);
    padding: var(--cgo-space-20);
}

.settings-page .cgo-feedback:not([hidden]) {
    margin-bottom: var(--cgo-space-12);
}

.cgo-card:has(.cgo-table),
.cgo-card.settings-hub-tile,
.cgo-card.account-form-card,
.cgo-card.notifications-list-card,
.settings-page .cgo-card {
    border-radius: var(--cgo-table-radius);
}

.cgo-card__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--cgo-space-16);
    margin-bottom: var(--cgo-space-8);
}

.cgo-card__header h2 {
    margin: 0;
    font-size: var(--cgo-font-size-xl);
}

.cgo-card__header p {
    margin-top: var(--cgo-space-8);
    color: var(--cgo-text-muted);
}

.cgo-card__actions {
    display: flex;
    gap: var(--cgo-space-12);
    margin-left: auto;
}

.settings-inline-hint {
    margin: var(--cgo-space-12) 0 var(--cgo-space-16);
    color: var(--cgo-text-muted);
}

.sso-clients-list {
    display: flex;
    flex-direction: column;
    gap: var(--cgo-space-12);
}

.sso-clients-empty {
    margin: 0;
    padding: var(--cgo-space-16) 0;
}

.sso-client-card {
    border: 1px solid var(--cgo-border-soft);
    border-radius: var(--cgo-table-radius);
    padding: var(--cgo-space-16);
    background: var(--cgo-surface-subtle, #f8fafc);
}

.sso-client-card__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--cgo-space-12);
    flex-wrap: wrap;
    margin-bottom: var(--cgo-space-12);
}

.sso-client-card__title {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 600;
}

.sso-client-card__meta {
    display: grid;
    gap: var(--cgo-space-8);
    margin: 0;
}

.sso-client-card__meta-row {
    display: grid;
    grid-template-columns: minmax(7rem, 9rem) 1fr;
    gap: var(--cgo-space-8) var(--cgo-space-12);
    align-items: start;
}

.sso-client-card__meta dt {
    margin: 0;
    font-size: 0.85rem;
    color: var(--cgo-text-muted);
    font-weight: 500;
}

.sso-client-card__meta dd {
    margin: 0;
    font-size: 0.9rem;
    word-break: break-word;
}

.sso-client-card__meta dd code {
    word-break: break-all;
    white-space: normal;
}

.sso-client-card__uri {
    word-break: break-all;
    white-space: normal;
}

.cgo-table-wrap {
    overflow-x: auto;
}

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

.settings-page .cgo-card > .cgo-table-wrap {
    max-width: 100%;
}

.settings-page .cgo-card > .cgo-table-wrap .cgo-table {
    width: max-content;
}

.cgo-table th,
.cgo-table td {
    text-align: left;
    border-bottom: 1px solid var(--cgo-border-soft);
    padding: var(--cgo-space-12) var(--cgo-space-8);
    white-space: nowrap;
}

.cgo-table-actions {
    display: flex;
    align-items: center;
    gap: var(--cgo-space-8);
    flex-wrap: wrap;
}

.settings-form-grid {
    display: grid;
    gap: var(--cgo-space-12);
}

.settings-form-grid label {
    display: block;
    font-size: 0.9rem;
}

.settings-form-grid__field-label {
    display: block;
    font-size: 0.9rem;
}

.settings-role-checklist {
    display: flex;
    flex-direction: column;
    gap: var(--cgo-space-8);
    margin-top: var(--cgo-space-4);
}

.settings-role-check-item {
    display: flex;
    align-items: center;
    gap: var(--cgo-space-8);
    font-size: 0.95rem;
    cursor: pointer;
}

.settings-role-check-item input[type="checkbox"] {
    margin: 0;
}

.settings-hub-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: var(--cgo-space-12);
}

.settings-stack {
    display: flex;
    flex-direction: column;
    gap: var(--cgo-space-12);
}

.settings-hub-tile {
    display: block;
    text-decoration: none;
    color: inherit;
    cursor: pointer;
    background: var(--cgo-surface);
    border-color: #dce4ee;
    transition:
        box-shadow 0.2s ease,
        transform 0.2s ease;
}

.settings-hub-tile:hover {
    box-shadow: var(--cgo-shadow-card-interactive);
    transform: translateY(-2px);
}

.settings-hub-tile:focus-visible {
    outline: 3px solid rgba(37, 99, 235, 0.45);
    outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
    .settings-hub-tile {
        transition: none;
    }

    .settings-hub-tile:hover {
        transform: none;
    }
}

.settings-hub-tile__lead h2 {
    margin: 0;
    font-size: 1.1rem;
}

.settings-hub-tile__lead p {
    margin: var(--cgo-space-4) 0 0;
}

.settings-breadcrumb {
    margin: 0;
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--cgo-space-8);
    font-size: 1.35rem;
}

.settings-breadcrumb a {
    color: var(--cgo-text);
    text-decoration: none;
}

.settings-breadcrumb a:hover {
    text-decoration: underline;
}

.settings-breadcrumb span[aria-hidden="true"] {
    color: var(--cgo-text-muted);
}
.settings-task-assignments-lead {
    margin: var(--cgo-space-8) 0 0;
    font-size: 0.9rem;
}

.settings-task-assignments-summary {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--cgo-space-8);
}

.settings-task-assignments-modal-feedback {
    margin: 0 0 var(--cgo-space-12);
}

.settings-task-assignments-modal-fields {
    display: flex;
    flex-direction: column;
    gap: var(--cgo-space-12);
    margin: var(--cgo-space-12) 0 var(--cgo-space-16);
}

.settings-task-assignments-modal-row {
    display: grid;
    grid-template-columns: minmax(6rem, 9rem) minmax(10rem, 1fr);
    gap: var(--cgo-space-12);
    align-items: center;
}

.settings-task-assignments-modal-row__label {
    font-size: 0.95rem;
    font-weight: 600;
}

.settings-task-assignments-modal-select {
    width: 100%;
    max-width: 18rem;
}

.settings-task-assignments-checklist {
    display: flex;
    flex-direction: column;
    gap: var(--cgo-space-8);
    margin: var(--cgo-space-12) 0 var(--cgo-space-16);
}

.settings-task-assignments-check-item {
    display: flex;
    align-items: center;
    gap: var(--cgo-space-8);
    font-size: 0.95rem;
    cursor: pointer;
}

.settings-task-assignments-check-item input[type="radio"] {
    flex-shrink: 0;
    margin: 0;
    margin-top: 0.2em;
}

.settings-task-assignments-check-item input[type="checkbox"] {
    margin-top: 0.2em;
}

.settings-task-assignments-check-item:has(input:disabled) {
    cursor: not-allowed;
    opacity: 0.65;
}

.settings-task-assignments-owner-hint {
    color: var(--cgo-text-muted);
    font-size: var(--cgo-font-size-meta);
}

/* PISP accounts — tile list + detail modal tabs */
.pisp-accounts-caution {
    margin: 0 0 var(--cgo-space-16);
    padding: var(--cgo-space-12) var(--cgo-space-16);
    border: 1px solid #ffe58f;
    border-radius: var(--cgo-table-radius);
    background: #fffbe6;
    color: #ad6800;
    font-size: 0.95rem;
}

.pisp-accounts-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--cgo-space-12);
}

.pisp-accounts-list__empty {
    grid-column: 1 / -1;
}

.pisp-account-tile {
    display: block;
    width: 100%;
    margin: 0;
    padding: var(--cgo-space-16);
    text-align: left;
    font: inherit;
    color: inherit;
    cursor: pointer;
    background: var(--cgo-surface);
    border: 1px solid var(--cgo-border-soft);
    border-radius: var(--cgo-table-radius);
    transition:
        box-shadow 0.2s ease,
        transform 0.2s ease;
}

.pisp-account-tile:hover {
    box-shadow: var(--cgo-shadow-card-interactive);
    transform: translateY(-2px);
}

.pisp-account-tile:focus-visible {
    outline: 3px solid rgba(37, 99, 235, 0.45);
    outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
    .pisp-account-tile {
        transition: none;
    }

    .pisp-account-tile:hover {
        transform: none;
    }
}

.pisp-account-tile__main {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--cgo-space-16);
    width: 100%;
}

.pisp-account-tile__lead {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: var(--cgo-space-8);
}

.pisp-account-tile__lead h2 {
    margin: 0;
    font-size: 1.1rem;
}

.pisp-account-tile__flags {
    display: flex;
    flex-wrap: wrap;
    gap: var(--cgo-space-8);
}

.pisp-account-tile__flag {
    display: inline-flex;
    align-items: center;
    padding: var(--cgo-pill-padding-y) var(--cgo-pill-padding-x);
    border: none;
    border-radius: var(--cgo-radius-pill);
    font-size: var(--cgo-pill-font-size);
    font-weight: 500;
    line-height: 1.2;
}

.pisp-account-tile__flag--disabled {
    color: var(--cgo-pill-status-review-fg);
    background: var(--cgo-pill-status-review-bg);
}

.pisp-account-tile__flag--hidden {
    color: var(--cgo-pill-status-unprocessed-fg);
    background: var(--cgo-pill-status-unprocessed-bg);
}

.pisp-account-tile__hosts {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: var(--cgo-space-8);
    text-align: right;
}

.pisp-account-tile__meta {
    margin: 0;
    font-size: 0.9rem;
}

.pisp-account-detail__tabs {
    margin-bottom: var(--cgo-space-16);
}

.pisp-account-detail__panel {
    min-height: 0;
}

.pisp-account-detail__flags {
    display: flex;
    flex-direction: column;
    gap: var(--cgo-space-16);
    margin: var(--cgo-space-16) 0;
}

.pisp-account-detail__flag-hint {
    margin: var(--cgo-space-4) 0 0;
    padding-left: calc(1em + var(--cgo-space-8));
}

.pisp-account-detail__purge {
    margin: 0;
    padding: 0;
    border: 0;
}

.pisp-account-detail__purge-preview {
    margin: var(--cgo-space-12) 0 var(--cgo-space-16);
    padding: var(--cgo-space-16);
    border: 1px solid var(--cgo-border-soft, #dce4ee);
    border-radius: var(--cgo-table-radius);
    background: var(--cgo-surface-subtle, #f8fafc);
    color: var(--cgo-text, inherit);
}

.pisp-account-detail__purge-preview p {
    margin: 0 0 var(--cgo-space-8);
}

.pisp-account-detail__purge-preview p:last-child {
    margin-bottom: 0;
}

.pisp-account-detail__purge-counts {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: var(--cgo-space-8);
}

.pisp-account-detail__purge-counts li {
    display: flex;
    justify-content: space-between;
    gap: var(--cgo-space-16);
    margin: 0;
    padding: 0;
}

.pisp-account-hosts-table .pisp-account-hosts-table__flag,
.cgo-table.pisp-account-hosts-table .pisp-account-hosts-table__flag {
    text-align: center;
}

.cgo-table.pisp-account-hosts-table .pisp-account-hosts-table__flag .settings-role-check-item {
    justify-content: center;
}

.pisp-account-hosts-table .pisp-account-hosts-table__actions,
.cgo-table.pisp-account-hosts-table .pisp-account-hosts-table__actions {
    text-align: center;
    white-space: nowrap;
    width: 1%;
}

.pisp-account-detail__section-title {
    margin: 0 0 var(--cgo-space-8);
    font-size: 1rem;
}


.account-form-card {
    margin-top: var(--cgo-space-16);
}

.account-form-card__grid {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
    gap: var(--cgo-space-32);
    align-items: start;
}

.account-form-card__main {
    min-width: 0;
}

.account-form-card__security {
    display: flex;
    flex-direction: column;
    gap: var(--cgo-space-24);
    min-width: 0;
    padding-left: var(--cgo-space-32);
    border-left: 1px solid var(--cgo-border-soft);
}

.account-form__section-title {
    margin: 0 0 var(--cgo-space-12);
    font-size: var(--cgo-font-size-lg);
}

.account-form__section-title:not(:first-child) {
    margin-top: var(--cgo-space-24);
}

.account-form__hint {
    margin: 0 0 var(--cgo-space-12);
}

.account-form__hint--after-action {
    margin: var(--cgo-space-12) 0 0;
}

.account-form__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--cgo-space-12);
    margin-top: var(--cgo-space-24);
}

.account-security-block {
    display: flex;
    flex-direction: column;
    gap: var(--cgo-space-12);
    padding-bottom: var(--cgo-space-24);
    border-bottom: 1px solid var(--cgo-border-soft);
}

.account-security-block--last {
    padding-bottom: 0;
    border-bottom: none;
}

.account-security-block__title {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    color: var(--cgo-text-primary);
}

.account-security-form {
    display: flex;
    flex-direction: column;
    gap: var(--cgo-space-12);
    margin-top: var(--cgo-space-4);
}

.account-security-form label {
    display: flex;
    flex-direction: column;
    gap: var(--cgo-space-8);
    font-size: 0.9rem;
}

.account-security-form .btn {
    align-self: flex-start;
    margin-top: var(--cgo-space-4);
}

.account-trusted-devices {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--cgo-space-12);
}

.account-trusted-devices__item {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--cgo-space-8) var(--cgo-space-12);
    padding: var(--cgo-space-12) var(--cgo-space-16);
    border: 1px solid var(--cgo-border-soft);
    border-radius: var(--cgo-btn-radius);
    background: color-mix(in srgb, var(--cgo-primary) 4%, var(--cgo-surface));
    font-size: 0.9rem;
}

.account-trusted-devices__badge {
    display: inline-flex;
    align-items: center;
    padding: var(--cgo-space-4) var(--cgo-space-8);
    border-radius: var(--cgo-radius-sm);
    background: color-mix(in srgb, var(--cgo-primary) 12%, var(--cgo-surface));
    color: var(--cgo-primary);
    font-size: 0.8rem;
    font-weight: 600;
}

.account-session-revoke-form {
    margin: 0;
}

@media (max-width: 1024px) {
    .account-form-card__grid {
        grid-template-columns: minmax(0, 1fr);
        gap: var(--cgo-space-24);
    }

    .account-form-card__security {
        padding-left: 0;
        border-left: none;
        padding-top: var(--cgo-space-24);
        border-top: 1px solid var(--cgo-border-soft);
    }
}

.account-totp-enroll {
    display: flex;
    flex-direction: column;
    gap: var(--cgo-space-16);
}

.account-totp-steps {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: var(--cgo-space-24);
}

.account-totp-steps__item {
    display: flex;
    flex-direction: column;
    gap: var(--cgo-space-12);
}

.account-totp-steps__title {
    margin: 0;
    font-size: var(--cgo-font-size-lg);
    font-weight: 600;
    color: var(--cgo-text-primary);
}

.account-totp-steps__hint {
    margin: 0;
}

.account-totp-qr {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--cgo-space-12);
}

.account-totp-qr__frame {
    padding: var(--cgo-space-16);
    background: #fff;
    border: 1px solid var(--cgo-border-soft);
    border-radius: var(--cgo-btn-radius);
}

.account-totp-qr__image {
    display: block;
    width: 200px;
    height: 200px;
    max-width: 100%;
}

.account-totp-manual {
    margin: var(--cgo-space-8) 0 0;
    padding: var(--cgo-space-12) var(--cgo-space-16);
    border: 1px solid var(--cgo-border-soft);
    border-radius: var(--cgo-btn-radius);
    background: var(--cgo-surface);
}

.account-totp-manual summary {
    cursor: pointer;
    font-weight: 500;
    color: var(--cgo-text-primary);
}

.account-totp-manual__hint {
    margin: var(--cgo-space-12) 0 var(--cgo-space-8);
}

.account-totp-manual__secret {
    margin: 0;
}

.account-totp-manual__secret code {
    font-size: 0.95rem;
    letter-spacing: 0.04em;
    word-break: break-word;
}

.account-totp-confirm-form {
    display: flex;
    flex-direction: column;
    gap: var(--cgo-space-12);
    width: 100%;
    max-width: 24rem;
}

.account-totp-confirm-form__row {
    display: flex;
    align-items: center;
    gap: var(--cgo-space-12);
}

.account-totp-confirm-form__input.cgo-form-control {
    flex: 1;
    min-width: 0;
    height: var(--cgo-btn-min-height);
    min-height: var(--cgo-btn-min-height);
    margin-top: 0;
    padding-block: 0;
}

.account-totp-confirm-form__submit {
    flex-shrink: 0;
    white-space: nowrap;
}


