@import '_content/Blazored.Modal/Blazored.Modal.bundle.scp.css';
@import '_content/Havit.Blazor.Components.Web.Bootstrap.SoftLider/Havit.Blazor.Components.Web.Bootstrap.SoftLider.1cx08amnys.bundle.scp.css';

/* _content/iDocs.Server/Components/Timeline/Timeline.razor.rz.scp.css */
/* ================================================================
  Timeline Component CSS - Corrected for Sticky Column Behavior
  ================================================================
  Key Fix: 
  - 'overflow: auto' has been moved from '.timeline-vp' to '::deep .timeline-grid'.
  - This makes the grid container the direct scrolling parent of the sticky 
    elements, resolving the issue where they would "unstick" during scroll.
  - The framework-specific '::deep' selectors have been restored as requested.
  ================================================================
*/

/* ===== Variables & Viewport ===== */
.timeline[b-e6a5c9qj78] {
    --header-height: 3rem;
    --row-height: 1.75rem;
    --record-height: 1rem;
    --row-label-width: 7rem; /* sticky left column width */
    --col-min: 2rem; /* default min width for time columns */
}

    /* ===== Responsive min widths per timespan ===== */
    .timeline.year[b-e6a5c9qj78],
    .timeline.rollingyear[b-e6a5c9qj78] {
        --col-min: 5rem;
    }

    .timeline.rollingquarter[b-e6a5c9qj78] {
        --col-min: 4rem;
    }

    .timeline.month[b-e6a5c9qj78],
    .timeline.rolling28days[b-e6a5c9qj78],
    .timeline.rolling14days[b-e6a5c9qj78] {
        --col-min: 2rem;
    }

    .timeline.week[b-e6a5c9qj78] {
        --col-min: 3rem;
    }

/* The main viewport container. 
  - Its 'overflow' is removed. Its job is to define the boundaries.
  - You should control its size, for example: height: 80vh;
*/
.timeline-vp[b-e6a5c9qj78] {
    position: relative;
    max-width: 100%;
}

/* ===== The Grid - KEY FIX APPLIED HERE ===== 
  - This is now the scrolling container.
  - The sticky elements are direct children of this scroller, which is ideal.
*/
[b-e6a5c9qj78] .timeline-grid {
    position: relative; /* containing block for sticky layers */
    display: grid;
    grid-template-rows: var(--header-height); /* header row height */
    grid-auto-rows: var(--row-height); /* each subsequent row height */
    /* --- THE FIX --- */
    overflow: auto;
    height: 100%; /* Fills the .timeline-vp to establish a scrolling area */
}

/* ===== Generic cell & utilities ===== */
[b-e6a5c9qj78] .tl-cell {
    background: var(--bs-body-bg);
}

[b-e6a5c9qj78] .flex-center {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* ===== Sticky behavior (No changes needed, but will now work correctly) ===== */
[b-e6a5c9qj78] .tl-sticky.top {
    position: sticky;
    top: 0;
    z-index: 7;
}

[b-e6a5c9qj78] .tl-sticky.left {
    position: sticky;
    left: 0;
    z-index: 5;
    background: var(--bs-body-bg);
}

[b-e6a5c9qj78] .tl-sticky.both {
    position: sticky;
    top: 0;
    left: 0;
    z-index: 10;
    background: var(--bs-body-bg);
}

/* ===== Corner & headers ===== */
[b-e6a5c9qj78] .tl-corner {
    height: var(--header-height);
    display: flex;
    align-items: center;
    padding: .25rem .5rem;
}

/* Header cells: draw horizontal borders and vertical separators between them */
[b-e6a5c9qj78] .tl-hcell {
    height: var(--header-height);
    display: grid;
    grid-template-rows: 1fr 1fr; /* top/bottom text lines for days/weeks */
    border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);
    border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);
    background: var(--bs-body-bg);
}

    [b-e6a5c9qj78] .tl-hcell + .tl-hcell {
        border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);
    }

    /* The first time header next to corner: do not add left border */
    [b-e6a5c9qj78] .tl-hcell:first-of-type {
        border-left: 0;
    }

/* ===== Left labels (sticky left, no right border to avoid double lines) ===== */
[b-e6a5c9qj78] .tl-left {
    grid-column: 1;
    position: sticky;
    left: 0;
    z-index: 5;
    background: var(--bs-body-bg);
    display: flex;
    align-items: center;
    min-height: var(--row-height);
    padding: 0 .5rem;
    border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);
    border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);
    border-right: 0; /* Critical to avoid a double line with .tl-records */

    overflow: visible;
    white-space: nowrap;
}

/* ===== Records area =====
  - Spans time columns (2..end)
  - Draws per-column vertical lines with a repeating gradient
  - Provides right & bottom outer borders
*/
[b-e6a5c9qj78] .tl-records {
    grid-column: 2 / -1;
    position: relative;
    min-height: var(--row-height);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    /* one vertical 1px line at every column boundary, including left edge (x=0) */
    background-image: repeating-linear-gradient( to right, var(--bs-border-color) 0, var(--bs-border-color) 1px, transparent 1px, transparent calc(100% / var(--col-count)) );
    border-left: 0; /* avoid double border against .tl-left */
    border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);
    border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);
}

/* ===== Group header rows spanning all columns ===== */
[b-e6a5c9qj78] .tl-group-row {
    background: var(--bs-tertiary-bg);
    padding: .25rem .5rem;
    border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);
    border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);
}

/* Group �row� look + keep sticky-left behavior */
[b-e6a5c9qj78] .tl-group-left {
    background: var(--bs-tertiary-bg);
    border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);
    border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);
    border-right: 0; /* avoid double line against .tl-group-records */
    font-weight: 600;
}

[b-e6a5c9qj78] .tl-group-records {
    background: var(--bs-tertiary-bg);
    border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);
    border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);
    min-height: var(--row-height);
}

/* ===== Records ===== */
[b-e6a5c9qj78] .timeline-record {
    height: var(--record-height);
}

/* ===== "Now" line ===== */
[b-e6a5c9qj78] .timeline-now {
    width: 1px;
}

/* ===== Day/holiday styles (header & today highlight) ===== */
[b-e6a5c9qj78] .timeline-day-off {
    background: var(--bs-gray-100);
}

[b-e6a5c9qj78] .timeline-holiday {
    background: #fff0f4;
}

[b-e6a5c9qj78] .timeline-today {
    background-color: rgba(var(--bs-primary-rgb), .1);
}

/* ===== Rounded corners for header edges ===== */
[b-e6a5c9qj78] .rounded-topleft {
    border-top-left-radius: var(--bs-border-radius) !important;
}

[b-e6a5c9qj78] .rounded-topright {
    border-top-right-radius: var(--bs-border-radius) !important;
}
/* _content/iDocs.Server/Components/Timeline/TimelineLegendItem.razor.rz.scp.css */
.item-indicator[b-c79b5t61gc] {
    width: 1rem;
    height: 1rem;
}
/* _content/iDocs.Server/Shared/AnonymousLayout.razor.rz.scp.css */
#blazor-error-ui[b-qi9ozbx7ku] {
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-qi9ozbx7ku] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* _content/iDocs.Server/Shared/MainLayout.razor.rz.scp.css */
#blazor-error-ui[b-60b9e0j0m9] {
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-60b9e0j0m9] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* _content/iDocs.Server/Shared/Sidebar.razor.rz.scp.css */
@media (min-width: 768px) {
    .user-email[b-zag26od1f6] {
        max-width: 160px;
        overflow: hidden;
    }
}

[b-zag26od1f6] .logout-button {
    margin-left: auto;
    position: relative;
}

    [b-zag26od1f6] .logout-button::before {
        content: "";
        position: absolute;
        top: 0px;
        left: calc(-3rem - 1px);
        width: 3rem;
        height: 2rem;
        background: linear-gradient(to right, rgba(221, 221, 221, 0.001), var(--bs-body-bg));
        pointer-events: none;
    }
