/* _content/Shoremem.BlazorUI/Components/MainLayout.razor.rz.scp.css */
.login-only-layout[b-73a7b6ygmm] {
    width: 100%;
    height: 100vh;
    margin: 0;
    padding: 0;
}

/* _content/Shoremem.BlazorUI/Components/MarkdownMessage.razor.rz.scp.css */
.markdown-content[b-fhszvq9lzw] {
    line-height: 1.6;
    color: #2c3e50;
}

.markdown-content[b-fhszvq9lzw]  h1,
.markdown-content[b-fhszvq9lzw]  h2,
.markdown-content[b-fhszvq9lzw]  h3,
.markdown-content[b-fhszvq9lzw]  h4,
.markdown-content[b-fhszvq9lzw]  h5,
.markdown-content[b-fhszvq9lzw]  h6 {
    margin-top: 1em;
    margin-bottom: 0.5em;
    font-weight: 600;
    line-height: 1.3;
}

.markdown-content[b-fhszvq9lzw]  h1 {
    font-size: 1.5em;
    border-bottom: 2px solid #e1e8ed;
    padding-bottom: 0.3em;
}

.markdown-content[b-fhszvq9lzw]  h2 {
    font-size: 1.3em;
    border-bottom: 1px solid #e1e8ed;
    padding-bottom: 0.3em;
}

.markdown-content[b-fhszvq9lzw]  h3 {
    font-size: 1.15em;
}

.markdown-content[b-fhszvq9lzw]  p {
    margin-bottom: 1em;
}

.markdown-content[b-fhszvq9lzw]  ul,
.markdown-content[b-fhszvq9lzw]  ol {
    margin-bottom: 1em;
    padding-left: 2em;
}

.markdown-content[b-fhszvq9lzw]  li {
    margin-bottom: 0.25em;
}

.markdown-content[b-fhszvq9lzw]  code {
    background-color: #f6f8fa;
    padding: 0.2em 0.4em;
    border-radius: 3px;
    font-family: 'Courier New', Courier, monospace;
    font-size: 0.9em;
    color: #e83e8c;
}

.markdown-content[b-fhszvq9lzw]  pre {
    background-color: #f6f8fa;
    padding: 1em;
    border-radius: 6px;
    overflow-x: auto;
    margin-bottom: 1em;
}

.markdown-content[b-fhszvq9lzw]  pre code {
    background-color: transparent;
    padding: 0;
    color: #24292e;
}

.markdown-content[b-fhszvq9lzw]  blockquote {
    border-left: 4px solid #dfe2e5;
    padding-left: 1em;
    margin-left: 0;
    margin-bottom: 1em;
    color: #6a737d;
}

.markdown-content[b-fhszvq9lzw]  table {
    border-collapse: collapse;
    width: 100%;
    margin-bottom: 1em;
}

.markdown-content[b-fhszvq9lzw]  th,
.markdown-content[b-fhszvq9lzw]  td {
    border: 1px solid #dfe2e5;
    padding: 0.5em 1em;
    text-align: left;
}

.markdown-content[b-fhszvq9lzw]  th {
    background-color: #f6f8fa;
    font-weight: 600;
}

.markdown-content[b-fhszvq9lzw]  tr:nth-child(even) {
    background-color: #f6f8fa;
}

.markdown-content[b-fhszvq9lzw]  a {
    color: #3498db;
    text-decoration: none;
}

.markdown-content[b-fhszvq9lzw]  a:hover {
    text-decoration: underline;
}

.markdown-content[b-fhszvq9lzw]  strong {
    font-weight: 600;
}

.markdown-content[b-fhszvq9lzw]  em {
    font-style: italic;
}

.markdown-content[b-fhszvq9lzw]  hr {
    border: none;
    border-top: 2px solid #e1e8ed;
    margin: 1.5em 0;
}
/* _content/Shoremem.BlazorUI/Components/OrgChartView.razor.rz.scp.css */
/* ============================================================
   OrgChartView scoped styles.

   IMPORTANT: class names are prefixed `shoremem-orgchart-` because
   the legacy wwwroot/css/organization-chart.css (still loaded in
   _Layout.cshtml for other pages) also defines `.org-chart-toolbar`
   et al. Blazor CSS isolation does NOT prevent the global rules
   from matching the raw class names on our elements — it only
   scopes our OWN rules. So we must avoid the names entirely.
   ============================================================ */

.shoremem-orgchart-wrapper[b-eqnh1bdoyh] {
    position: relative;
    width: 100%;
    /* Height strategy: fill available viewport space, but cap at 720px
       so short trees don't get dominated by empty canvas. The chart fit
       math runs against THIS height, so keeping it reasonable is what
       prevents the "tiny chart in huge empty box" effect. */
    height: min(calc(100vh - 280px), 720px);
    min-height: 480px;
    background: #eef2f7;
    border: 1px solid #cbd5e0;
    border-radius: 8px;
    overflow: hidden;
    user-select: none;
    -webkit-user-select: none;
    /* Visible blue dot-grid so the canvas is clearly distinct from the
       white page body — higher contrast than the previous subtle grid. */
    background-image: radial-gradient(circle, #a8b4c4 1.4px, transparent 1.6px);
    background-size: 24px 24px;
    background-position: 0 0;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.02);
}

.shoremem-orgchart-wrapper:fullscreen[b-eqnh1bdoyh] {
    height: 100vh;
    width: 100vw;
    border-radius: 0;
    border: none;
}

/* ---- Toolbar (top-right overlay) ---- */
.shoremem-orgchart-toolbar[b-eqnh1bdoyh] {
    position: absolute;
    top: 12px;
    right: 12px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    z-index: 10;
    background: #ffffff;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    padding: 4px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}

.shoremem-orgchart-btn[b-eqnh1bdoyh] {
    width: 40px;
    height: 40px;
    border: none;
    background: transparent;
    color: #495057;
    border-radius: 6px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    transition: background 0.15s, color 0.15s;
}

.shoremem-orgchart-btn:hover[b-eqnh1bdoyh] {
    background: #0d6efd;
    color: white;
}

.shoremem-orgchart-btn:active[b-eqnh1bdoyh] {
    transform: scale(0.95);
}

/* ---- Search (top-left overlay) ---- */
.shoremem-orgchart-search[b-eqnh1bdoyh] {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 10;
    background: #ffffff;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    padding: 8px 12px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
    display: flex;
    align-items: center;
    gap: 8px;
    width: 280px;
    max-width: calc(100% - 80px);
}

.shoremem-orgchart-search-results[b-eqnh1bdoyh] {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    background: white;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
    max-height: 320px;
    overflow-y: auto;
    z-index: 20;
}

.shoremem-orgchart-search-item[b-eqnh1bdoyh] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    cursor: pointer;
    border-bottom: 1px solid #f1f3f5;
}

.shoremem-orgchart-search-item:last-child[b-eqnh1bdoyh] {
    border-bottom: none;
}

.shoremem-orgchart-search-item:hover[b-eqnh1bdoyh] {
    background: #f8f9fa;
}

/* ---- Zoom indicator (bottom-right overlay) ---- */
.shoremem-orgchart-zoom-indicator[b-eqnh1bdoyh] {
    position: absolute;
    bottom: 12px;
    right: 12px;
    background: rgba(255, 255, 255, 0.95);
    border: 1px solid #dee2e6;
    padding: 4px 10px;
    border-radius: 12px;
    font-size: 12px;
    color: #495057;
    font-weight: 500;
    pointer-events: none;
    z-index: 10;
}

/* ---- Empty state ---- */
.shoremem-orgchart-empty[b-eqnh1bdoyh] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: #6c757d;
}

/* ---- Mobile ---- */
@media (max-width: 768px) {
    .shoremem-orgchart-wrapper[b-eqnh1bdoyh] {
        /* On mobile the page header + org selector wrap and take more
           vertical space. Cap is lower since mobile screens are smaller. */
        height: min(calc(100vh - 340px), 600px);
        min-height: 420px;
    }
    .shoremem-orgchart-toolbar[b-eqnh1bdoyh] {
        flex-direction: row;
        top: 8px;
        right: 8px;
        /* Smaller toolbar so it doesn't eat too much horizontal space
           next to the search bar on narrow phones. */
        padding: 2px;
        gap: 2px;
    }
    .shoremem-orgchart-search[b-eqnh1bdoyh] {
        /* Sit next to (not below) the toolbar. On phones the toolbar is
           ~230px wide (5 buttons × 44 + padding); search gets whatever
           is left minus margins. */
        top: 8px;
        left: 8px;
        right: auto;
        width: calc(100% - 260px);
        max-width: 240px;
        padding: 6px 10px;
    }
    .shoremem-orgchart-btn[b-eqnh1bdoyh] {
        width: 40px;     /* smaller so 5 buttons fit comfortably */
        height: 40px;
    }
    .shoremem-orgchart-zoom-indicator[b-eqnh1bdoyh] {
        bottom: 8px;
        right: 8px;
    }
}

/* ---- Very narrow phones (< 480px) ---- */
@media (max-width: 480px) {
    .shoremem-orgchart-search[b-eqnh1bdoyh] {
        /* Move search to a second row below the toolbar — at this
           width, side-by-side is too cramped even with compact sizing. */
        top: 58px;
        left: 8px;
        right: 8px;
        width: auto;
        max-width: none;
    }
}
/* _content/Shoremem.BlazorUI/Pages/Account/Login.razor.rz.scp.css */
/* Split-screen login design */
.login-container[b-9qbmvn1rbx] {
    min-height: 100vh;
    display: flex;
    flex-direction: row;
    margin: 0;
    padding: 0;
    width: 100%;
}

/* Left panel - Blue gradient (same as sidebar) */
.login-left-panel[b-9qbmvn1rbx] {
    width: 50%;
    min-height: 100vh;
    background: linear-gradient(180deg, #052767 0%, #3a0647 70%);
    position: fixed;
    left: 0;
    top: 0;
}

/* Right panel - White */
.login-card[b-9qbmvn1rbx] {
    width: 50%;
    min-height: 100vh;
    background: white;
    margin-left: 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 60px 80px;
    box-shadow: none;
    border-radius: 0;
}

/* Logo and header */
.login-header[b-9qbmvn1rbx] {
    text-align: center;
    margin-bottom: 40px;
    max-width: 400px;
    width: 100%;
}

.logo-container[b-9qbmvn1rbx] {
    margin-bottom: 24px;
}

.shoreless-logo[b-9qbmvn1rbx] {
    max-width: 280px;
    height: auto;
    display: block;
    margin: 0 auto;
}

.login-header h1[b-9qbmvn1rbx] {
    font-size: 2rem;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 8px;
}

.subtitle[b-9qbmvn1rbx] {
    font-size: 1rem;
    color: #666;
    font-weight: 400;
}

/* Form styling */
form[b-9qbmvn1rbx] {
    width: 100%;
    max-width: 400px;
}

.form-group[b-9qbmvn1rbx] {
    margin-bottom: 24px;
}

label[b-9qbmvn1rbx] {
    display: block;
    font-size: 0.9rem;
    font-weight: 600;
    color: #333;
    margin-bottom: 8px;
}

.form-control[b-9qbmvn1rbx] {
    width: 100%;
    padding: 12px 16px;
    font-size: 1rem;
    border: 1px solid #ddd;
    border-radius: 6px;
    transition: all 0.2s;
    background-color: #fff;
}

.form-control:focus[b-9qbmvn1rbx] {
    outline: none;
    border-color: #052767;
    box-shadow: 0 0 0 3px rgba(5, 39, 103, 0.1);
}

.form-control:disabled[b-9qbmvn1rbx] {
    background-color: #f5f5f5;
    cursor: not-allowed;
}

/* Button styling */
.btn-primary[b-9qbmvn1rbx] {
    width: 100%;
    padding: 14px 24px;
    font-size: 1rem;
    font-weight: 600;
    color: white;
    background: linear-gradient(135deg, #052767 0%, #3a0647 100%);
    border: none;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.3s;
    margin-top: 8px;
}

.btn-primary:hover:not(:disabled)[b-9qbmvn1rbx] {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(5, 39, 103, 0.3);
}

.btn-primary:active:not(:disabled)[b-9qbmvn1rbx] {
    transform: translateY(0);
}

.btn-primary:disabled[b-9qbmvn1rbx] {
    opacity: 0.6;
    cursor: not-allowed;
}

.btn-block[b-9qbmvn1rbx] {
    display: block;
    width: 100%;
}

/* Spinner */
.spinner-border[b-9qbmvn1rbx] {
    display: inline-block;
    width: 1rem;
    height: 1rem;
    vertical-align: text-bottom;
    border: 0.15em solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: spinner-border-b-9qbmvn1rbx 0.75s linear infinite;
}

.spinner-border-sm[b-9qbmvn1rbx] {
    width: 0.875rem;
    height: 0.875rem;
    border-width: 0.125em;
}

@keyframes spinner-border-b-9qbmvn1rbx {
    to {
        transform: rotate(360deg);
    }
}

/* Switch mode */
.switch-mode[b-9qbmvn1rbx] {
    text-align: center;
    margin-top: 24px;
    font-size: 0.9rem;
    color: #666;
    width: 100%;
    max-width: 400px;
}

.switch-mode p[b-9qbmvn1rbx] {
    margin: 0;
}

.switch-mode a[b-9qbmvn1rbx] {
    color: #052767;
    text-decoration: none;
    font-weight: 600;
}

.switch-mode a:hover[b-9qbmvn1rbx] {
    text-decoration: underline;
}

/* Alert styling */
.alert[b-9qbmvn1rbx] {
    padding: 12px 16px;
    border-radius: 6px;
    margin-bottom: 24px;
    font-size: 0.9rem;
    width: 100%;
    max-width: 400px;
}

.alert-danger[b-9qbmvn1rbx] {
    background-color: #fee;
    border: 1px solid #fcc;
    color: #c33;
}

/* Mobile responsive - Stack vertically */
@media (max-width: 991px) {
    .login-left-panel[b-9qbmvn1rbx] {
        display: none;
    }

    .login-card[b-9qbmvn1rbx] {
        margin-left: 0;
        width: 100%;
        padding: 40px 20px;
    }

    .login-header[b-9qbmvn1rbx] {
        max-width: 100%;
    }

    .shoreless-logo[b-9qbmvn1rbx] {
        max-width: 220px;
    }

    .login-header h1[b-9qbmvn1rbx] {
        font-size: 1.75rem;
    }

    form[b-9qbmvn1rbx] {
        max-width: 100%;
    }

    .switch-mode[b-9qbmvn1rbx] {
        max-width: 100%;
    }

    .alert[b-9qbmvn1rbx] {
        max-width: 100%;
    }
}

@media (max-width: 576px) {
    .login-card[b-9qbmvn1rbx] {
        padding: 30px 16px;
    }

    .shoreless-logo[b-9qbmvn1rbx] {
        max-width: 180px;
    }

    .login-header h1[b-9qbmvn1rbx] {
        font-size: 1.5rem;
    }

    .subtitle[b-9qbmvn1rbx] {
        font-size: 0.9rem;
    }

    .form-control[b-9qbmvn1rbx] {
        padding: 10px 14px;
        font-size: 0.95rem;
    }

    .btn-primary[b-9qbmvn1rbx] {
        padding: 12px 20px;
        font-size: 0.95rem;
    }
}

