@import '_content/Blazored.Modal/Blazored.Modal.bundle.scp.css';
@import '_content/Majorsoft.Blazor.Components.Notifications/Majorsoft.Blazor.Components.Notifications.bundle.scp.css';

/* /Pages/MissedNotificationsList.razor.rz.scp.css */
.notification-alert[b-5s7qbylsfz] {
    margin-bottom: 28px !important;
    padding: 16px !important;
    border-radius: 12px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06);
    background: #fafcff;
    max-width: 560px;
    margin-left: auto;
    margin-right: auto;
}

.notification-content[b-5s7qbylsfz] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    width: 100%;
}

.notification-info[b-5s7qbylsfz] {
    flex: 1 1 260px;
    min-width: 0;
    word-break: break-word;
}

.notification-date[b-5s7qbylsfz] {
    font-size: 1em;
    color: #5676a7;
    margin-bottom: 2px;
}

.notification-message[b-5s7qbylsfz] {
    font-size: 1.06em;
    color: #333;
    margin-top: 2px;
    word-break: break-word;
    white-space: pre-line;
}

.notification-actions[b-5s7qbylsfz] {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    height: 100%;
}

.notification-view-btn[b-5s7qbylsfz] {
    min-width: 70px;
    padding: 4px 10px;
    font-size: 0.97em;
}

@media (max-width: 600px) {
    .notification-alert[b-5s7qbylsfz] {
        max-width: 98vw;
        padding: 10px !important;
    }
    .notification-content[b-5s7qbylsfz] {
        flex-direction: column;
        gap: 12px;
    }
    .notification-actions[b-5s7qbylsfz] {
        align-items: stretch;
    }
}

.notification-alert-wrapper[b-5s7qbylsfz] {
    margin-bottom: 10px;
}
/* /Pages/ResultsPreview.razor.rz.scp.css */
.results-card[b-mp7kziipev] {
    position: relative;
    height: 100%;
    min-height: 60vh; /* ensure enough vertical space for centering when parent height is not set */
}

/* Center the empty state vertically and horizontally within the results card */
.centered-content[b-mp7kziipev] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    /* Use a viewport-based min-height so centering works even when parent has auto height */
    min-height: 60vh;
    text-align: center;
    gap: 8px;
    padding: 16px;
}

/* Optional: make the helper text a bit softer */
.centered-content .mud-typography.body1[b-mp7kziipev] {
    color: var(--mud-palette-text-secondary);
}

/* Ensure loading overlay centers content as well (if used) */
.loading-overlay[b-mp7kziipev] {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 8px;
    background: rgba(255,255,255,0.6);
}
/* /Pages/Settings/SettingsBase.razor.rz.scp.css */
.settings-root[b-u65pm1sh60] (.mud-grid.center-me){
    align-items: flex-start;   /* vertical alignment */
    margin: 0 auto;            /* center the whole grid container */
    max-width: 1200px;         /* optional: keep a nice readable width */
}
/* /Shared/Agent/AgentChat.razor.rz.scp.css */

.rz-dialog .rz-dialog-content[b-ni2h75n2vn]{
    display:flex;
    flex-direction:column;
    height:100%;
}

/* Chat layout */
.chat-root[b-ni2h75n2vn]{
    display:flex;
    flex-direction:column;
    height:100%;
    min-height:0;       /* allow child to shrink */
}

.chat-scroll[b-ni2h75n2vn]{
    flex:1 1 auto;
    min-height:0;
    overflow:auto;
    padding:.5rem;
}

/* Per-message alignment wrapper */
.bubble-row[b-ni2h75n2vn]{display:flex;}
.bubble-row.user[b-ni2h75n2vn]{justify-content:flex-end;}
.bubble-row.agent[b-ni2h75n2vn]{justify-content:flex-start;}

/* Stays snapped to bottom of dialog */
.chat-input-wrap[b-ni2h75n2vn]{
    position: sticky;
    bottom: 0;
    z-index: 2;
    padding:.5rem;
    border-top:1px solid #e0e0e0;
    backdrop-filter:saturate(160%) blur(6px);
    background-color:rgba(255,255,255,0.92);
}

.chat-bubble[b-ni2h75n2vn] {
    display: inline-block; /* shrink to fit text */
    max-width: 70%; /* keep it from being too wide */
    word-wrap: break-word; /* wrap long words */
    white-space: pre-wrap; /* preserve newlines and wrap text */
    border-radius: 1rem;
    padding: 0.5rem 0.75rem; /* spacing inside bubble */
}

/* Full-width content blocks (e.g., tables) */
.chat-full[b-ni2h75n2vn] {
    display: block;
    width: 100%;
    max-width: 100%;
    align-self: stretch; /* occupy full row */
    overflow-x: auto; /* allow horizontal scroll for wide tables */
    white-space: normal; /* normal wrapping */
    border-radius: 0.75rem; /* slight rounding to match cards */
}

.chat-full.agent[b-ni2h75n2vn] {
    align-self: stretch;
}

.chat-bubble.agent[b-ni2h75n2vn] {
    align-self: flex-start;
    margin-right: auto; /* force left side in a flex-column */
    background-color: var(--rz-secondary-lighter) !important;
    color: #000 !important;
}

.chat-bubble.user[b-ni2h75n2vn] {
    align-self: flex-end;
    margin-left: auto; /* force right side in a flex-column */
    background-color: #d4f3e1 !important; /* light greenish background for user messages */
    color: #0b4121 !important; /* dark green text for readability */
}

/* Increase specificity to override MudPaper surface backgrounds */
.mud-paper.chat-bubble.user[b-ni2h75n2vn],
.mud-paper.user-green[b-ni2h75n2vn],
.bubble-row.user > .mud-paper.chat-bubble.user[b-ni2h75n2vn] {
    background: #dff6e3 !important;
    background-color: #d4f3e1 !important;
    color: #0b4121 !important;
    box-shadow: none !important;
}

.user-green[b-ni2h75n2vn] {
    background: #dff6e3 !important;
    background-color: #d4f3e1 !important;
}

/* Ensure MudPaper bubbles do not stretch full-width */
.mud-paper.chat-bubble[b-ni2h75n2vn] {
    display: inline-block;
    width: auto;
}

/* Neutralize outer paper for user messages and style inner green bubble */
.bubble-row.user > .mud-paper.chat-full[b-ni2h75n2vn] {
    background: transparent !important;
    background-color: transparent !important;
    padding: 0 !important;
    box-shadow: none !important;
    border: none !important;
}

.user-bubble-inner[b-ni2h75n2vn]{
    display:inline-block;
    max-width:70%;
    word-wrap:break-word;
    white-space:pre-wrap;
    background:#dff6e3 !important;
    color:#0b4121 !important;
    border:1px solid #b7e4c7 !important;
    border-radius:1rem;
    padding:0.5rem 0.75rem;
}

/* Ensure tables and cards take full width inside full-width responses */
.chat-full .mud-table[b-ni2h75n2vn],
.chat-full table[b-ni2h75n2vn] {
    width: 100%;
}

.chat-full .mud-card[b-ni2h75n2vn],
.chat-full .mud-paper[b-ni2h75n2vn] {
    width: 100%;
}
/* /Shared/Dashboard/DashboardLayoutEditOptions.razor.rz.scp.css */
.dashboard-layout-edit-options[b-n08ynoe5bc] {
  /* Subtle glass-like surface that adapts to theme */
  background-color: rgba(255, 255, 255, 0.6);
  backdrop-filter: saturate(120%) blur(6px);
  -webkit-backdrop-filter: saturate(120%) blur(6px);
  border-radius: 8px;
  padding: 4px 6px;
}

/* Theme-aware overrides */
.mud-theme-dark .dashboard-layout-edit-options[b-n08ynoe5bc],
html[data-theme='dark'] .dashboard-layout-edit-options[b-n08ynoe5bc],
body.rz-theme-dark .dashboard-layout-edit-options[b-n08ynoe5bc] {
  background-color: rgba(28, 28, 28, 0.6);
}

/* Ensure icon contrast remains good in both themes */
.dashboard-layout-edit-options .mud-icon-button[b-n08ynoe5bc] {
  /* Let Mud apply colors, but remove unexpected backgrounds */
  background-color: transparent;
}
/* /Shared/Dock.razor.rz.scp.css */
.macos-dock-container[b-9nqckrk2gb] {
    position: fixed;
    bottom: -100px; /* Start hidden */
    left: 0;
    width: 100%;
    display: flex;
    justify-content: center;
    padding-bottom: 10px;
    z-index: 1000;
    transition: bottom 0.3s cubic-bezier(0.1, 0.9, 0.2, 1);
    /* Add a taller hit area to make it easier to keep the mouse over the dock */
    padding-top: 70px; /* Increased padding for better hit area */
    pointer-events: none; /* Makes the padding-top area not block mouse events for content underneath */
    /* Allow items to overflow the container vertically when they scale up */
    overflow: visible;
    /* Create a new stacking context */
    transform: translateZ(0);
    will-change: transform;
}

.macos-dock-container .dock-trigger-area[b-9nqckrk2gb]{
    position:absolute;
    left:0; right:0; bottom:0;
    height:15px !important;
    pointer-events:auto;
    z-index:5;
}

.macos-dock-container.visible[b-9nqckrk2gb] {
    bottom: 0;
    pointer-events:none;
}

.macos-dock-container.visible .dock-trigger-area[b-9nqckrk2gb],
.macos-dock-container.pinned  .dock-trigger-area[b-9nqckrk2gb]{
    pointer-events:none;
}

.macos-dock[b-9nqckrk2gb]                     { pointer-events:none; }
.macos-dock > .dock-item[b-9nqckrk2gb],
.macos-dock > .dock-pin-button[b-9nqckrk2gb]   { pointer-events:auto; }

.macos-dock-container[b-9nqckrk2gb]::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100px; /* Tall hit area */
    z-index: -1;
    pointer-events:none;
}

:root[b-9nqckrk2gb] {
    --dock-icon-size: 50px;
    --dock-icon-size-min: 38px;
    --dock-icon-size-max: 58px;
    --dock-gap: 10px;
    --dock-padding-x: 24px;
    --dock-padding-y: 6px;
    --dock-glass-bg: rgba(255, 255, 255, 0.75);
    --dock-border: rgba(255, 255, 255, 0.38);
    --dock-shadow: 0 12px 30px rgba(0,0,0,0.18);
    --dock-icon-bg: linear-gradient(180deg, rgba(255,255,255,0.85) 0%, rgba(245,245,245,0.85) 100%);
    --dock-icon-border: rgba(0,0,0,0.06);
    --dock-icon-ink: #1f2937;
}

.macos-dock[b-9nqckrk2gb] {
    display: flex;
    background: linear-gradient(180deg, rgba(255,255,255,0.50), rgba(255,255,255,0.28));
    backdrop-filter: blur(7px) saturate(140%) contrast(102%) brightness(98%);
    -webkit-backdrop-filter: blur(14px) saturate(140%) contrast(102%) brightness(98%);
    border-radius: 18px;
    padding: var(--dock-padding-y) var(--dock-padding-x) calc(var(--dock-padding-y) - 2px);
    box-shadow: 0 10px 30px rgba(6, 18, 33, 0.18), inset 0 1px 0 rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.32);
    overflow: visible !important; 
    max-width: 92vw;
    scrollbar-width: thin;
    scrollbar-color: rgba(0, 0, 0, 0.2) transparent;
    user-select: none;
    pointer-events:none;
    position: relative;
    z-index: 10;
    transform: translateZ(0); 
}

/* Enable horizontal scroll when needed */
.macos-dock.dock-scrollable[b-9nqckrk2gb] {
    overflow-x: auto !important;
    overflow-y: visible !important;
    pointer-events: auto; /* allow scroll */
    -webkit-overflow-scrolling: touch;
}

.macos-dock[b-9nqckrk2gb]::-webkit-scrollbar {
    height: 4px;
}

.macos-dock[b-9nqckrk2gb]::-webkit-scrollbar-thumb {
    background-color: rgba(0, 0, 0, 0.2);
    border-radius: 4px;
}

.macos-dock[b-9nqckrk2gb]::before {
    content: '';
    position: absolute;
    top: -100px;
    left: 0;
    width: 100%;
    height: calc(100% + 100px);
    z-index: -1;
    pointer-events: none;
}

.dock-item[b-9nqckrk2gb] {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0 5px;
    padding: 5px;
    transition: all 0.2s ease;
    position: relative;
    flex-shrink: 0;
    cursor: pointer;
    /* Make sure items can overflow their parent when they scale up */
    overflow: visible;
    /* Ensure icons can scale up outside the item container */
    transform-origin: center bottom;
    z-index: 5; /* Base z-index */
}

.dock-item:hover[b-9nqckrk2gb] {
    transform: scale(1.06) translateY(-6px);
    z-index: 20; /* Higher z-index when hovered */
}

.dock-icon[b-9nqckrk2gb] {
    width: var(--dock-icon-size);
    height: var(--dock-icon-size);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--dock-icon-bg);
    border: 1px solid var(--dock-icon-border);
    box-shadow: 0 6px 14px rgba(0, 0, 0, 0.12);
    transition: transform 0.18s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.2s ease;
    margin-bottom: 8px;
    position: relative; /* Important for proper stacking */
    z-index: 10; /* Higher than siblings to appear above them when scaling */
    overflow: visible; /* Allow its contents to overflow */
    /* Make sure the transform origin is centered */
    transform-origin: center center;
    /* Create space for magnification */
    transform-style: preserve-3d;
    /* Ensure clean edges during scaling */
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

/* neutralize any inline background colors */
.dock-icon[style][b-9nqckrk2gb] { background: var(--dock-icon-bg) !important; }

.dock-icon span[b-9nqckrk2gb] {
    font-size: calc(var(--dock-icon-size) * 0.48);
    color: var(--dock-icon-ink);
    /* Keep the icon contents crisp during transformation */
    transform: translateZ(0);
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

/* Dark theme glyph color */
.mud-theme-dark .dock-icon span[b-9nqckrk2gb],
html[data-theme='dark'] .dock-icon span[b-9nqckrk2gb],
body.rz-theme-dark .dock-icon span[b-9nqckrk2gb] {
    color: #eee;
}

.dock-item-name[b-9nqckrk2gb] {
    font-size: 11px !important;
    color: #333;
    text-align: center;
    max-width: 80px;

    /* allow wrapping only at spaces */
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;

    /* show overflow if a single word is too long */
    overflow: visible !important;
    text-overflow: clip !important;

    line-height: 1;
    position: relative;
    z-index: 5;
}


.dock-label[b-9nqckrk2gb] {
    position: absolute;
    top: -30px;
    background: rgba(50, 50, 50, 0.8);
    color: white;
    padding: 3px 8px;
    border-radius: 5px;
    font-size: 12px;
    opacity: 0;
    transform: translateY(5px);
    transition: all 0.2s ease;
    white-space: nowrap;
    z-index: 1010;
}

.dock-item:hover .dock-label[b-9nqckrk2gb] {
    opacity: 1;
    transform: translateY(0);
}

/* Add reflection effect */
.dock-icon[b-9nqckrk2gb]::after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 50%;
    transform: translateX(-50%) scaleY(0.3);
    width: 80%;
    height: 10px;
    background: radial-gradient(ellipse at center, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0) 70%);
    border-radius: 50%;
    z-index: 1; /* Below the icon */
    pointer-events: none;
}

/* Animation for bounce effect */
@keyframes bounce-b-9nqckrk2gb {
    0%, 20%, 50%, 80%, 100% { transform: translateY(0); }
    40% { transform: translateY(-10px); }
    60% { transform: translateY(-5px); }
}

.bounce-animation[b-9nqckrk2gb] {
    animation: bounce-b-9nqckrk2gb 0.5s ease;
}

/* Active state indicator dot below icon (macOS-style) */
.dock-item[b-9nqckrk2gb] { position: relative; }
.dock-item[b-9nqckrk2gb]::after {
    content: '';
    position: absolute;
    bottom: 2px;
    left: 50%;
    transform: translateX(-50%);
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: rgba(0,0,0,0.35);
    opacity: 0;
    transition: opacity 0.2s ease;
}
.mud-theme-dark .dock-item[b-9nqckrk2gb]::after,
html[data-theme='dark'] .dock-item[b-9nqckrk2gb]::after,
body.rz-theme-dark .dock-item[b-9nqckrk2gb]::after { background: rgba(255,255,255,0.6); }

.dock-item.active[b-9nqckrk2gb]::after { opacity: 1; }

.dock-item.active .dock-item-name[b-9nqckrk2gb] {
    font-weight: 600;
}

/* Style for the active dock */
.macos-dock.active[b-9nqckrk2gb] {
    cursor: grabbing;
}

/* Pin feature to keep dock always visible */
.macos-dock-container.pinned[b-9nqckrk2gb] {
    bottom: 0 !important; /* Force visible state when pinned */
}

/* Dock pin button container */
.dock-pin-button[b-9nqckrk2gb] {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0 5px;
    padding: 5px;
    transition: all 0.2s ease;
    position: relative;
    flex-shrink: 0;
    cursor: pointer;
    margin-left: 15px; /* Increased separation from other items */
    overflow: visible; /* Allow contents to overflow */
    transform-origin: center bottom;
    z-index: 5;
}

/* Create a divider line before the pin button */
.dock-pin-button[b-9nqckrk2gb]::before {
    content: '';
    position: absolute;
    left: -10px;
    top: 15%;
    height: 70%;
    width: 1px;
    background-color: rgba(0, 0, 0, 0.15);
    border-radius: 0.5px;
}

/* Style the pin button icon container */
.dock-pin-button .dock-icon[b-9nqckrk2gb] {
    width: 40px; /* Slightly smaller than regular dock icons */
    height: 40px;
    background: transparent !important; /* Remove the gray background */
    box-shadow: none; /* No shadow */
    margin-bottom: 5px;
    border-radius: 8px;
    position: relative;
    overflow: visible;
    display: flex;
    align-items: center;
    justify-content: center;
    transform-origin: center center;
}

/* Create a better background for the pin icon */
.dock-pin-button .dock-icon[b-9nqckrk2gb]::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, #e0e0e0, #f5f5f5);
    border-radius: 8px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
    z-index: -1;
    transition: all 0.2s ease;
}

/* Theme override for pin icon bg in explicit dark mode */
.mud-theme-dark .dock-pin-button .dock-icon[b-9nqckrk2gb]::before,
html[data-theme='dark'] .dock-pin-button .dock-icon[b-9nqckrk2gb]::before,
body.rz-theme-dark .dock-pin-button .dock-icon[b-9nqckrk2gb]::before {
    background: linear-gradient(135deg, #3a3a3a, #4a4a4a);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.35);
}

/* Style the material icon inside the pin button */
.dock-pin-button .dock-icon span[b-9nqckrk2gb] {
    font-size: 20px; /* Slightly smaller */
    color: #555; /* Darker color for better contrast */
    transition: all 0.2s ease;
    z-index: 2;
}

/* Improve the pin button name text */
.dock-pin-button .dock-item-name[b-9nqckrk2gb] {
    font-size: 10px;
    color: #666;
    font-weight: 500;
    margin-top: 2px;
}

/* Hover effect for pin button */
.dock-pin-button:hover[b-9nqckrk2gb] {
    transform: scale(1.15) translateY(-5px);
    z-index: 20;
}

/* Enhanced hover effect on the icon */
.dock-pin-button:hover .dock-icon[b-9nqckrk2gb]::before {
    background: linear-gradient(135deg, #d8f1de, #e8f7eb);
    box-shadow: 0 3px 8px rgba(46, 135, 65, 0.2);
}

/* Dark mode hover for pin */
.mud-theme-dark .dock-pin-button:hover .dock-icon[b-9nqckrk2gb]::before,
html[data-theme='dark'] .dock-pin-button:hover .dock-icon[b-9nqckrk2gb]::before,
body.rz-theme-dark .dock-pin-button:hover .dock-icon[b-9nqckrk2gb]::before {
    background: linear-gradient(135deg, #2b4a35, #3b6b46);
    box-shadow: 0 3px 8px rgba(0,0,0,0.35);
}

/* Change icon color on hover */
.dock-pin-button:hover .dock-icon span[b-9nqckrk2gb] {
    color: #2E8741; /* Match your primary green color */
}

/* Make sure the pin button doesn't have the background color from dock-icon */
.dock-pin-button:hover .dock-icon[b-9nqckrk2gb] {
    background-color: transparent !important;
}

/* Active (pinned) state styling */
.macos-dock-container.pinned .dock-pin-button .dock-icon[b-9nqckrk2gb]::before {
    background: linear-gradient(135deg, #c5e8d1, #e2f5e9);
    box-shadow: 0 2px 8px rgba(46, 135, 65, 0.25);
}

/* Dark mode pinned state */
.mud-theme-dark .macos-dock-container.pinned .dock-pin-button .dock-icon[b-9nqckrk2gb]::before,
html[data-theme='dark'] .macos-dock-container.pinned .dock-pin-button .dock-icon[b-9nqckrk2gb]::before,
body.rz-theme-dark .macos-dock-container.pinned .dock-pin-button .dock-icon[b-9nqckrk2gb]::before {
    background: linear-gradient(135deg, #2a4a33, #366342);
    box-shadow: 0 2px 8px rgba(0,0,0,0.35);
}

.macos-dock-container.pinned .dock-pin-button .dock-icon span[b-9nqckrk2gb] {
    color: #2E8741;
}

.macos-dock-container.pinned .dock-pin-button .dock-item-name[b-9nqckrk2gb] {
    font-weight: 600;
    color: #2E8741;
}

/* Fix reflection effect for pin button */
.dock-pin-button .dock-icon[b-9nqckrk2gb]::after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 50%;
    transform: translateX(-50%) scaleY(0.3);
    width: 80%;
    height: 10px;
    background: radial-gradient(ellipse at center, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0) 70%);
    border-radius: 50%;
    z-index: 1;
    pointer-events: none;
}

/* Pin animation styles */
@keyframes pinPulse-b-9nqckrk2gb {
    0% { transform: scale(1); }
    50% { transform: scale(1.2); }
    100% { transform: scale(1); }
}

.pin-animation[b-9nqckrk2gb] {
    animation: pinPulse-b-9nqckrk2gb 0.3s ease;
}

/* Dock feedback animation when pin state changes */
@keyframes dockPinFeedback-b-9nqckrk2gb {
    0% { transform: translateY(0); }
    20% { transform: translateY(-3px); }
    40% { transform: translateY(2px); }
    60% { transform: translateY(-1px); }
    80% { transform: translateY(1px); }
    100% { transform: translateY(0); }
}

.dock-pin-feedback[b-9nqckrk2gb] {
    animation: dockPinFeedback-b-9nqckrk2gb 0.5s ease;
}

.dock-trigger-area[b-9nqckrk2gb]
{
    position:absolute;
    left:0; right:0; bottom:0;
    height:15px !important;
    pointer-events:auto;
    z-index:5;
}

.macos-dock-container.visible + .dock-trigger-area[b-9nqckrk2gb]{
    pointer-events:none;
}

/* Dark mode support (system preference) */
@media (prefers-color-scheme: dark) {
    .macos-dock[b-9nqckrk2gb] {
        background: rgba(50, 50, 50, 0.7);
        border-color: rgba(80, 80, 80, 0.3);
    }

    .dock-item-name[b-9nqckrk2gb] {
        color: #fff;
    }

    .dock-pin-button[b-9nqckrk2gb]::before {
        background-color: rgba(255, 255, 255, 0.15);
    }

    .dock-pin-button .dock-icon[b-9nqckrk2gb]::before {
        background: linear-gradient(135deg, #444, #555);
    }

    .dock-pin-button .dock-icon span[b-9nqckrk2gb] {
        color: #eee;
    }

    .dock-pin-button .dock-item-name[b-9nqckrk2gb] {
        color: #ccc;
    }

    .dock-pin-button:hover .dock-icon[b-9nqckrk2gb]::before {
        background: linear-gradient(135deg, #264a30, #3a6e47);
    }

    .macos-dock-container.pinned .dock-pin-button .dock-icon[b-9nqckrk2gb]::before {
        background: linear-gradient(135deg, #264a30, #3d7049);
    }
}

/* Theme-aware dark mode (MudBlazor, Radzen, custom html[data-theme]) */
.mud-theme-dark .macos-dock[b-9nqckrk2gb],
html[data-theme='dark'] .macos-dock[b-9nqckrk2gb],
body.rz-theme-dark .macos-dock[b-9nqckrk2gb] {
    background: rgba(34, 34, 34, 0.78);
    border-color: rgba(255, 255, 255, 0.08);
}

.mud-theme-dark .dock-item-name[b-9nqckrk2gb],
html[data-theme='dark'] .dock-item-name[b-9nqckrk2gb],
body.rz-theme-dark .dock-item-name[b-9nqckrk2gb] {
    color: #ffffff;
}

.mud-theme-dark .dock-pin-button[b-9nqckrk2gb]::before,
html[data-theme='dark'] .dock-pin-button[b-9nqckrk2gb]::before,
body.rz-theme-dark .dock-pin-button[b-9nqckrk2gb]::before {
    background-color: rgba(255, 255, 255, 0.15);
}

.mud-theme-dark .dock-pin-button .dock-icon[b-9nqckrk2gb],
html[data-theme='dark'] .dock-pin-button .dock-icon[b-9nqckrk2gb],
body.rz-theme-dark .dock-pin-button .dock-icon[b-9nqckrk2gb] {
    background-color: #444 !important;
}

.mud-theme-dark .dock-pin-button .dock-icon .material-icons[b-9nqckrk2gb],
html[data-theme='dark'] .dock-pin-button .dock-icon .material-icons[b-9nqckrk2gb],
body.rz-theme-dark .dock-pin-button .dock-icon .material-icons[b-9nqckrk2gb] {
    color: #eee;
}

.mud-theme-dark .dock-pin-button:hover .dock-icon[b-9nqckrk2gb],
html[data-theme='dark'] .dock-pin-button:hover .dock-icon[b-9nqckrk2gb],
body.rz-theme-dark .dock-pin-button:hover .dock-icon[b-9nqckrk2gb] {
    background-color: #3a6e47 !important;
}

.mud-theme-dark .macos-dock-container.pinned .dock-pin-button .dock-icon[b-9nqckrk2gb],
html[data-theme='dark'] .macos-dock-container.pinned .dock-pin-button .dock-icon[b-9nqckrk2gb],
body.rz-theme-dark .macos-dock-container.pinned .dock-pin-button .dock-icon[b-9nqckrk2gb] {
    background-color: #3d7049 !important;
}

/* Animations for autohide */
@keyframes slideUp-b-9nqckrk2gb {
    from { transform: translateY(100%); }
    to { transform: translateY(0); }
}

.macos-dock-container.slide-up[b-9nqckrk2gb] {
    animation: slideUp-b-9nqckrk2gb 0.3s cubic-bezier(0.1, 0.9, 0.2, 1) forwards;
}

/* Make sure the entire dock container is visible */
body[b-9nqckrk2gb] {
    overflow-x: hidden; /* Prevent horizontal scrolling */
}

/* Enhanced CSS for the pin icon - focus on making the icon visible */
/* Updated dock pin button CSS to make it more visually distinct as a utility icon */
.dock-pin-button[b-9nqckrk2gb] {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0 5px;
    padding: 5px;
    transition: all 0.2s ease;
    position: relative;
    flex-shrink: 0;
    cursor: pointer;
    margin-left: 15px; /* Increased separation from other items */
    overflow: visible; /* Allow contents to overflow */
    transform-origin: center bottom;
    z-index: 5;
}

/* Create a divider line before the pin button */
.dock-pin-button[b-9nqckrk2gb]::before {
    content: '';
    position: absolute;
    left: -10px;
    top: 15%;
    height: 70%;
    width: 1px;
    background-color: rgba(0, 0, 0, 0.15);
    border-radius: 0.5px;
}

/* Style the pin button icon container */
.dock-pin-button .dock-icon[b-9nqckrk2gb] {
    width: 40px; /* Slightly smaller than regular dock icons */
    height: 40px;
    background-color: #f0f0f0 !important; /* Light gray background */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);
    margin-bottom: 5px;
    border-radius: 10px;
    position: relative;
    overflow: visible;
    display: flex;
    align-items: center;
    justify-content: center;
    transform-origin: center center;
}

/* Style the material icons inside the pin button */
.dock-pin-button .dock-icon .material-icons[b-9nqckrk2gb] {
    font-size: 22px; /* Slightly smaller */
    color: #555; /* Darker color for better contrast */
    transition: all 0.3s ease;
}

/* Improve the pin button name text */
.dock-pin-button .dock-item-name[b-9nqckrk2gb] {
    font-size: 10px;
    color: #666;
    font-weight: 500;
    margin-top: 2px;
}

/* Hover effect for pin button */
.dock-pin-button:hover[b-9nqckrk2gb] {
    transform: scale(1.15) translateY(-5px);
    z-index: 20;
}

/* Enhanced hover effect on the icon */
.dock-pin-button:hover .dock-icon[b-9nqckrk2gb] {
    background-color: #e8f7eb !important;
    box-shadow: 0 3px 8px rgba(46, 135, 65, 0.2);
}

/* Change icon color on hover */
.dock-pin-button:hover .dock-icon .material-icons[b-9nqckrk2gb] {
    color: #2E8741; /* Match your primary green color */
}

/* Active (pinned) state styling */
.macos-dock-container.pinned .dock-pin-button .dock-icon[b-9nqckrk2gb] {
    background-color: #e2f5e9 !important;
    box-shadow: 0 2px 8px rgba(46, 135, 65, 0.25);
}

.macos-dock-container.pinned .dock-pin-button .dock-icon .material-icons[b-9nqckrk2gb] {
    color: #2E8741;
}

.macos-dock-container.pinned .dock-pin-button .dock-item-name[b-9nqckrk2gb] {
    font-weight: 600;
    color: #2E8741;
}

/* Fix reflection effect for pin button */
.dock-pin-button .dock-icon[b-9nqckrk2gb]::after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 50%;
    transform: translateX(-50%) scaleY(0.3);
    width: 80%;
    height: 10px;
    background: radial-gradient(ellipse at center, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0) 70%);
    border-radius: 50%;
    z-index: 1;
    pointer-events: none;
}

/* Dark mode support for pin button */
@media (prefers-color-scheme: dark) {
    .dock-pin-button .dock-icon[b-9nqckrk2gb] {
        background-color: #444 !important;
    }

    .dock-pin-button .dock-icon .material-icons[b-9nqckrk2gb] {
        color: #eee;
    }

    .dock-pin-button:hover .dock-icon[b-9nqckrk2gb] {
        background-color: #3a6e47 !important;
    }

    .macos-dock-container.pinned .dock-pin-button .dock-icon[b-9nqckrk2gb] {
        background-color: #3d7049 !important;
    }
}

.dock-divider[b-9nqckrk2gb] {
    width: 1px;
    height: 38px;
    background: linear-gradient(to bottom, #ccc 0%, #fff 50%, #ccc 100%);
    margin: 0 14px;
    align-self: center;
    border-radius: 2px;
    opacity: 0.6;
}
@media (prefers-color-scheme: dark) {
    .dock-divider[b-9nqckrk2gb] {
        background: linear-gradient(to bottom, #444 0%, #222 50%, #444 100%);
    }
}


:root[b-9nqckrk2gb] {
    --dock-background: rgba(255,255,255,0.98);
    --dock-breakpoint: 1200px;
}

.dock-overlay[b-9nqckrk2gb] {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.28);
    z-index: 9998;
    display: flex;
    justify-content: center;
    align-items: center;
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
}
.dock-item[b-9nqckrk2gb] {
    width: 60px;
}
.dock-item .dock-item-name[b-9nqckrk2gb] {
    font-size: 13px;
    color: #222;
    margin-top: 3px;
}
@media (prefers-color-scheme: dark) {
    .macos-dock.mobile-overlay[b-9nqckrk2gb] {
        background: var(--dock-background, rgba(30,30,30,0.97));
    }
    .dock-item .dock-item-name[b-9nqckrk2gb] {
        color: #fff;
    }
}

@media (max-width: 1200px) {
    .macos-dock-container:not(.drawer-open)[b-9nqckrk2gb] {
        display: none !important;
    }
    .macos-dock-container.drawer-open[b-9nqckrk2gb] {
        display: flex !important;
    }

    .macos-dock[b-9nqckrk2gb] {
        padding: 8px 10px 3px;
    }

    .dock-icon[b-9nqckrk2gb] {
        width: 40px;
        height: 40px;
        margin-bottom: 5px;
    }

    .dock-icon span[b-9nqckrk2gb] {
        font-size: 20px;
    }

    .dock-item-name[b-9nqckrk2gb] {
        font-size: 10px;
    }

    /* Make the pin button even smaller on mobile */
    .dock-pin-button .dock-icon[b-9nqckrk2gb] {
        width: 36px;
        height: 36px;
    }

    .dock-pin-button .dock-icon span[b-9nqckrk2gb] {
        font-size: 18px;
    }
}

.dock-overlay[b-9nqckrk2gb] {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.35);
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
    display: flex !important;
    align-items: center;
    justify-content: center;
    z-index: 9998; /* below the card */
}

.macos-dock.mobile-overlay[b-9nqckrk2gb] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(60px, 1fr));
    gap: 22px 18px;
    justify-items: center;
    align-items: start;
    background: rgba(255,255,255,0.95);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid var(--dock-border);
    padding: 24px 18px 20px 18px;
    border-radius: 20px;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: min(720px, 92vw);
    max-height: 80vh;
    overflow-y: auto;
    box-shadow: 0 14px 40px rgba(0,0,0,0.30);
    z-index: 9999;
    animation: scaleFade-b-9nqckrk2gb 0.18s ease-out;
    min-height: auto;
}

@keyframes scaleFade-b-9nqckrk2gb {
    from { opacity: 0; transform: translate(-50%, -46%) scale(0.98); }
    to   { opacity: 1; transform: translate(-50%, -50%) scale(1); }
}

.dock-fab[b-9nqckrk2gb] {
    position: fixed;
    bottom: max(16px, env(safe-area-inset-bottom));
    right: max(16px, env(safe-area-inset-right));
    width: 56px;
    height: 56px;
    border-radius: 16px;
    background: var(--dock-glass-bg);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 10px 24px rgba(0,0,0,0.24);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 99999;
    border: 1px solid var(--dock-border);
    color: var(--dock-icon-ink);
    font-size: 26px;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    pointer-events:auto;
}
.dock-fab:hover[b-9nqckrk2gb] {
    transform: translateY(-2px);
    box-shadow: 0 14px 28px rgba(0,0,0,0.28);
}
.drawer-row[b-9nqckrk2gb] {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    gap: 18px;
    margin-bottom: 20px; /* space between groups */
    width: 100%;
}
.macos-dock.mobile-overlay .drawer-row .dock-item[b-9nqckrk2gb] {
    flex: 1 1 0;
    min-width: 68px;
    max-width: 88px;
}

.drawer-grid[b-9nqckrk2gb] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(80px, 1fr));
    gap: 18px 18px;
    width: 100%;
    padding: 8px 0;
}

.drawer-grid .dock-item[b-9nqckrk2gb] {
    margin: 0;
    padding: 0;
    min-width: 70px;
    max-width: 110px;
    justify-self: center;
}

body.dock-padded[b-9nqckrk2gb]{

}

:root[b-9nqckrk2gb]{ --dock-clearance:0px; }

.mud-main-content[b-9nqckrk2gb]{
    padding-bottom:var(--dock-clearance);
}

.macos-dock.mobile-overlay .dock-item[b-9nqckrk2gb],
.macos-dock.mobile-overlay .dock-pin-button[b-9nqckrk2gb] {
    pointer-events: auto;
}

.mobile-hidden[b-9nqckrk2gb] { display:none !important; }

.dock-trigger-area[b-9nqckrk2gb] {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    height: 15px !important;
    z-index: 9998;
    pointer-events: auto;
}

.macos-dock-container:not(.visible) .macos-dock[b-9nqckrk2gb] {
    background: rgb(222, 222, 222);
}

/* Theme-aware overrides for Dock (explicit dark mode via classes) */
.mud-theme-dark .macos-dock[b-9nqckrk2gb],
html[data-theme='dark'] .macos-dock[b-9nqckrk2gb],
body.rz-theme-dark .macos-dock[b-9nqckrk2gb] {
    background: rgba(24,24,24,0.72);
    border-color: rgba(255,255,255,0.10);
}

.mud-theme-dark .macos-dock.mobile-overlay[b-9nqckrk2gb],
html[data-theme='dark'] .macos-dock.mobile-overlay[b-9nqckrk2gb],
body.rz-theme-dark .macos-dock.mobile-overlay[b-9nqckrk2gb] {
    background: rgba(24,24,24,0.90);
    border-color: rgba(255,255,255,0.10);
}

.mud-theme-dark .dock-item .dock-item-name[b-9nqckrk2gb],
html[data-theme='dark'] .dock-item .dock-item-name[b-9nqckrk2gb],
body.rz-theme-dark .dock-item .dock-item-name[b-9nqckrk2gb] { color:#e5e7eb; }

/* Dark icon tiles */
.mud-theme-dark .dock-icon[b-9nqckrk2gb],
html[data-theme='dark'] .dock-icon[b-9nqckrk2gb],
body.rz-theme-dark .dock-icon[b-9nqckrk2gb] {
    /* Align all dock items with the same dark surface background used elsewhere (e.g., Authorise, Files) */
    background: var(--surface-card-bg) !important;
    border-color: rgba(255,255,255,0.08);
}
.mud-theme-dark .dock-icon span[b-9nqckrk2gb],
html[data-theme='dark'] .dock-icon span[b-9nqckrk2gb],
body.rz-theme-dark .dock-icon span[b-9nqckrk2gb] { color: #e5e7eb; }

.mud-theme-dark .dock-divider[b-9nqckrk2gb],
html[data-theme='dark'] .dock-divider[b-9nqckrk2gb],
body.rz-theme-dark .dock-divider[b-9nqckrk2gb] {
    background: linear-gradient(to bottom, #444 0%, #222 50%, #444 100%);
}

.mud-theme-dark .macos-dock-container:not(.visible) .macos-dock[b-9nqckrk2gb],
html[data-theme='dark'] .macos-dock-container:not(.visible) .macos-dock[b-9nqckrk2gb],
body.rz-theme-dark .macos-dock-container:not(.visible) .macos-dock[b-9nqckrk2gb] {
    background: rgb(60, 60, 60);
}


/* Fit assistance for 1200px screens: tighter padding and smaller min icon size */
@media (max-width: 1200px) {
    :root[b-9nqckrk2gb] {
        --dock-padding-x: 16px;
        --dock-icon-size-min: 32px;
    }
}
/* /Shared/Downloads/FileGrid.razor.rz.scp.css */
.hoverable[b-0ng1bmf5rj] {
    transition: transform 0.2s, box-shadow 0.2s;
}
.hoverable:hover[b-0ng1bmf5rj] {
    transform: translateY(-4px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}
.centered-message[b-0ng1bmf5rj] {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 200px;
}

/* File type icon color adapts to theme */
.filetype-icon[b-0ng1bmf5rj] {
    color: rgba(0,0,0,0.6);
}
.mud-theme-dark .filetype-icon[b-0ng1bmf5rj] {
    color: #cfcfcf;
}

.desktop-header[b-0ng1bmf5rj] {
    /* default is row layout */
}

.header-left[b-0ng1bmf5rj], .header-right[b-0ng1bmf5rj] {
    display: flex;
    align-items: center;
    gap: 1rem;
}

/* For mobile screens, stack header items vertically */
@media (max-width: 600px) {
    .desktop-header[b-0ng1bmf5rj] {
        flex-direction: column;
        gap: 1rem;
    }
    .header-left[b-0ng1bmf5rj], .header-right[b-0ng1bmf5rj] {
        flex-direction: column;
        align-items: stretch;
    }
}

:host[b-0ng1bmf5rj]{
    background: transparent;
}

.hoverable[b-0ng1bmf5rj] {
    transition: transform 0.2s, box-shadow 0.2s;
}
.hoverable:hover[b-0ng1bmf5rj] {
    transform: translateY(-4px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}
.centered-message[b-0ng1bmf5rj] {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 200px;
}

/* File type icon color adapts to theme */
.filetype-icon[b-0ng1bmf5rj] {
    color: rgba(0,0,0,0.6);
}
.mud-theme-dark .filetype-icon[b-0ng1bmf5rj] {
    color: #cfcfcf;
}

.desktop-header[b-0ng1bmf5rj] {
    /* default is row layout */
}

.header-left[b-0ng1bmf5rj], .header-right[b-0ng1bmf5rj] {
    display: flex;
    align-items: center;
    gap: 1rem;
}

/* For mobile screens, stack header items vertically */
@media (max-width: 600px) {
    .desktop-header[b-0ng1bmf5rj] {
        flex-direction: column;
        gap: 1rem;
    }
    .header-left[b-0ng1bmf5rj], .header-right[b-0ng1bmf5rj] {
        flex-direction: column;
        align-items: stretch;
    }
}

.filecard[b-0ng1bmf5rj] {
    background: var(--surface-card-top-bg) !important;
    border: 1px solid rgba(0,0,0,0.06);
}
/* Ensure content area matches the card top-surface background */
.filecard .mud-card-content[b-0ng1bmf5rj] {
    background: var(--surface-card-top-bg) !important;
}
.mud-theme-dark .filecard[b-0ng1bmf5rj] {
    background: var(--surface-card-top-bg) !important;
    border: 1px solid rgba(255,255,255,0.08);
}
.filecard.hoverable:hover[b-0ng1bmf5rj] {
    transform: translateY(-4px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25);
    border-color: rgba(0,0,0,0.12);
}
.mud-theme-dark .filecard.hoverable:hover[b-0ng1bmf5rj] {
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.45);
    border-color: rgba(255,255,255,0.15);
}

/* Cursor helpers */
.cursor-pointer[b-0ng1bmf5rj] { cursor: pointer; }
.cursor-default[b-0ng1bmf5rj] { cursor: default; }
/* /Shared/JobSheet/JobSheetHeader.razor.rz.scp.css */
.header-card-container[b-uru102bzlw] {
    container-type: inline-size;
    container-name: myCard;
    flex-grow: 1; /* Takes up remaining space in a flex container */
    display: flex; /* Enables flex layout for children */
    flex-direction: column; /* Stacks child elements vertically */
    height: calc(100% - 1px);
    box-sizing: border-box; /* Ensures padding is included in height calculation */

}

/* For >=300px, show large-col and hide small-col */
@container myCard (min-width: 320px) {
    .large-col[b-uru102bzlw] {
        display: block; /* Ensure it's visible in this size */
    }
    .small-col[b-uru102bzlw] {
        display: none; /* Ensure it's hidden in this size */
    }
}

/* For <300px, hide large-col and show small-col */
@container myCard (max-width: 319px) {
    .large-col[b-uru102bzlw] {
        display: none; /* Hide for smaller screens */
    }
    .small-col[b-uru102bzlw] {
        display: block; /* Show the smaller layout */
    }
}
/* /Shared/JobSheet/JobSheetLayoutEditOptions.razor.rz.scp.css */
.jobsheet-layout-edit-options[b-oxa1d0nu7k] {
  background-color: rgba(255, 255, 255, 0.6);
  backdrop-filter: saturate(120%) blur(6px);
  -webkit-backdrop-filter: saturate(120%) blur(6px);
  border-radius: 8px;
  padding: 4px 6px;
}

.mud-theme-dark .jobsheet-layout-edit-options[b-oxa1d0nu7k],
html[data-theme='dark'] .jobsheet-layout-edit-options[b-oxa1d0nu7k],
body.rz-theme-dark .jobsheet-layout-edit-options[b-oxa1d0nu7k] {
  background-color: rgba(28, 28, 28, 0.6);
}

.jobsheet-layout-edit-options .mud-icon-button[b-oxa1d0nu7k] {
  background-color: transparent;
}
/* /Shared/TopMenu.razor.rz.scp.css */
:root[b-nl67gcsrak]{
    --siri-pink:#ff375f;
    --siri-magenta:#ff2d55;
    --siri-purple:#af52de;
    --siri-indigo:#5856d6;
    --siri-blue:#0a84ff;
    --siri-cyan:#64d2ff;
    --siri-teal:#30d158;
}

/* size/centering so it matches MudIconButton */
.ai-core[b-nl67gcsrak] { width:40px; height:40px; border-radius:9999px; background:rgba(255,255,255,0.08); }
.ai-core .ai-gradient-icon[b-nl67gcsrak]{
    display:inline-flex; align-items:center; justify-content:center;
    width:100%; height:100%;
    font-size:24px;           /* typical Material icon size */
    line-height:1;
    /* make glyph transparent so gradient shows */
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;

    /* Siri-like animated gradient */
    background: linear-gradient(135deg,
    var(--siri-pink), var(--siri-magenta), var(--siri-purple),
    var(--siri-indigo), var(--siri-blue), var(--siri-cyan), var(--siri-teal));
    background-size:300% 300%;
    -webkit-background-clip:text; background-clip:text;
    animation: siri-gradient-shift-b-nl67gcsrak 6s ease infinite, siri-glow-b-nl67gcsrak 2.4s ease-in-out infinite alternate;
    filter: drop-shadow(0 0 6px rgba(128,160,255,.55));
}

@keyframes siri-gradient-shift-b-nl67gcsrak{
    0%{background-position:0% 50%}
    50%{background-position:100% 50%}
    100%{background-position:0% 50%}
}
@keyframes siri-glow-b-nl67gcsrak{
    from{filter:drop-shadow(0 0 4px rgba(128,160,255,.4))}
    to  {filter:drop-shadow(0 0 10px rgba(128,160,255,.85))}
}

/* optional hover */
.ai-button:hover .ai-gradient-icon[b-nl67gcsrak]{ filter: drop-shadow(0 0 12px rgba(128,160,255,.95)); }
