@import url(
    'https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&display=swap'
);


/* ==========================================================
   FINSEARCH
   Shark Search Atlas-aligned research workspace
   ========================================================== */


:root {

    --fs-navy: #1E3A53;
    --fs-navy-deep: #152f44;

    --fs-background: #f4f7f8;
    --fs-white: #ffffff;

    --fs-text: #17232d;
    --fs-muted: #657581;

    --fs-border: #d8e0e5;
    --fs-border-strong: #c8d3da;

    --fs-soft: #eef3f5;
}


/* ----------------------------------------------------------
   PRODUCT SHELL
   ---------------------------------------------------------- */


body {

    font-family:
        "Manrope",
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;

    background:
        var(--fs-background);

    color:
        var(--fs-text);
}


.fs-shell-header {

    width: 100%;

    padding:
        0;

    background:
        var(--fs-navy);

    color:
        #ffffff;

    border-bottom:
        1px solid
        rgba(
            255,
            255,
            255,
            .08
        );
}


.fs-shell-header-inner {

    width:
        min(
            100%,
            1480px
        );

    min-height:
        82px;

    margin:
        0 auto;

    padding:
        18px
        34px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        34px;
}


.fs-brand-group {

    min-width:
        0;
}


.fs-brand-eyebrow {

    margin:
        0 0 3px;

    font-size:
        10px;

    line-height:
        1.2;

    font-weight:
        600;

    letter-spacing:
        .11em;

    text-transform:
        uppercase;

    color:
        rgba(
            255,
            255,
            255,
            .58
        );
}


.fs-brand {

    display:
        inline-block;

    margin:
        0;

    color:
        #ffffff;

    text-decoration:
        none;

    font-size:
        21px;

    line-height:
        1.2;

    font-weight:
        600;

    letter-spacing:
        -.02em;
}


.fs-brand:hover {

    color:
        #ffffff;
}


.fs-brand-description {

    margin:
        4px 0 0;

    font-size:
        12px;

    line-height:
        1.4;

    font-weight:
        400;

    color:
        rgba(
            255,
            255,
            255,
            .67
        );
}


.fs-shell-nav {

    margin:
        0;

    display:
        flex;

    align-items:
        center;

    justify-content:
        flex-end;

    gap:
        4px;
}


.fs-shell-nav a {

    margin:
        0;

    padding:
        10px
        12px;

    border-radius:
        5px;

    color:
        rgba(
            255,
            255,
            255,
            .76
        );

    text-decoration:
        none;

    font-size:
        12px;

    line-height:
        1;

    font-weight:
        500;

    transition:
        color 150ms ease,
        background-color 150ms ease;
}


.fs-shell-nav a:hover {

    color:
        #ffffff;

    background:
        rgba(
            255,
            255,
            255,
            .06
        );
}


/* ----------------------------------------------------------
   PAGE FRAME
   ---------------------------------------------------------- */


.fs-page {

    width:
        min(
            calc(
                100% - 48px
            ),
            1380px
        );

    margin:
        42px auto
        70px;
}


.fs-page-heading {

    margin-bottom:
        28px;

    display:
        flex;

    align-items:
        flex-end;

    justify-content:
        space-between;

    gap:
        32px;
}


.fs-heading-copy {

    max-width:
        780px;
}


.fs-eyebrow {

    margin:
        0 0 8px;

    color:
        var(--fs-navy);

    font-size:
        11px;

    line-height:
        1.2;

    font-weight:
        700;

    letter-spacing:
        .105em;

    text-transform:
        uppercase;
}


.fs-page-heading h1 {

    margin:
        0;

    color:
        var(--fs-text);

    font-size:
        clamp(
            30px,
            4vw,
            44px
        );

    line-height:
        1.08;

    font-weight:
        600;

    letter-spacing:
        -.035em;
}


.fs-page-heading p {

    margin:
        12px 0 0;

    max-width:
        690px;

    color:
        var(--fs-muted);

    font-size:
        14px;

    line-height:
        1.65;
}


/* ----------------------------------------------------------
   BUTTONS
   ---------------------------------------------------------- */


.fs-primary-action,
.fs-secondary-action {

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    min-height:
        42px;

    padding:
        0 17px;

    border-radius:
        5px;

    text-decoration:
        none;

    font-family:
        inherit;

    font-size:
        12px;

    line-height:
        1;

    font-weight:
        600;

    cursor:
        pointer;

    transition:
        background-color 150ms ease,
        border-color 150ms ease,
        color 150ms ease,
        transform 150ms ease;
}


.fs-primary-action {

    border:
        1px solid
        var(--fs-navy);

    background:
        var(--fs-navy);

    color:
        #ffffff;
}


.fs-primary-action:hover {

    background:
        var(--fs-navy-deep);

    border-color:
        var(--fs-navy-deep);

    color:
        #ffffff;
}


.fs-secondary-action {

    border:
        1px solid
        var(--fs-border-strong);

    background:
        #ffffff;

    color:
        var(--fs-navy);
}


.fs-secondary-action:hover {

    border-color:
        var(--fs-navy);

    color:
        var(--fs-navy);
}


/* ----------------------------------------------------------
   PANELS
   ---------------------------------------------------------- */


.fs-panel {

    background:
        #ffffff;

    border:
        1px solid
        var(--fs-border);

    border-radius:
        8px;
}


.fs-panel-header {

    padding:
        22px
        24px;

    border-bottom:
        1px solid
        var(--fs-border);

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        20px;
}


.fs-panel-header h2 {

    margin:
        0;

    font-size:
        15px;

    line-height:
        1.3;

    font-weight:
        600;

    color:
        var(--fs-text);
}


.fs-panel-header p {

    margin:
        4px 0 0;

    font-size:
        12px;

    line-height:
        1.45;

    color:
        var(--fs-muted);
}


/* ----------------------------------------------------------
   RESEARCH QUEUE
   ---------------------------------------------------------- */


.fs-queue-summary {

    display:
        flex;

    align-items:
        baseline;

    gap:
        9px;

    color:
        var(--fs-muted);

    font-size:
        12px;
}


.fs-queue-count {

    color:
        var(--fs-navy);

    font-size:
        22px;

    line-height:
        1;

    font-weight:
        600;
}


.fs-table-wrap {

    width:
        100%;

    overflow-x:
        auto;
}


.fs-queue-table {

    width:
        100%;

    border-collapse:
        collapse;

    background:
        #ffffff;
}


.fs-queue-table th {

    padding:
        12px
        18px;

    border-bottom:
        1px solid
        var(--fs-border);

    color:
        var(--fs-muted);

    background:
        #fafcfc;

    text-align:
        left;

    font-size:
        10px;

    line-height:
        1.2;

    font-weight:
        700;

    letter-spacing:
        .06em;

    text-transform:
        uppercase;
}


.fs-queue-table td {

    padding:
        16px
        18px;

    border-bottom:
        1px solid
        var(--fs-border);

    color:
        var(--fs-text);

    font-size:
        12px;

    line-height:
        1.45;

    vertical-align:
        middle;
}


.fs-queue-table tbody tr:last-child td {

    border-bottom:
        0;
}


.fs-case-id {

    color:
        var(--fs-navy);

    font-weight:
        600;
}


.fs-status {

    display:
        inline-flex;

    align-items:
        center;

    min-height:
        24px;

    padding:
        0 9px;

    border-radius:
        999px;

    background:
        var(--fs-soft);

    color:
        #50636f;

    font-size:
        10px;

    line-height:
        1;

    font-weight:
        600;
}


.fs-empty-state {

    min-height:
        210px;

    padding:
        48px
        24px;

    display:
        flex;

    flex-direction:
        column;

    align-items:
        center;

    justify-content:
        center;

    text-align:
        center;
}


.fs-empty-state h3 {

    margin:
        0;

    color:
        var(--fs-text);

    font-size:
        16px;

    font-weight:
        600;
}


.fs-empty-state p {

    margin:
        8px 0 0;

    max-width:
        500px;

    color:
        var(--fs-muted);

    font-size:
        13px;

    line-height:
        1.55;
}


/* ----------------------------------------------------------
   NEW ANALYSIS / UPLOAD
   ---------------------------------------------------------- */


.fs-upload-shell {

    max-width:
        980px;
}


.fs-upload-panel {

    overflow:
        hidden;
}


.fs-upload-intro {

    padding:
        28px
        30px
        24px;

    border-bottom:
        1px solid
        var(--fs-border);

    background:
        #ffffff;
}


.fs-upload-intro h2 {

    margin:
        0;

    color:
        var(--fs-text);

    font-size:
        20px;

    line-height:
        1.25;

    font-weight:
        600;

    letter-spacing:
        -.015em;
}


.fs-upload-intro p {

    margin:
        8px 0 0;

    max-width:
        670px;

    color:
        var(--fs-muted);

    font-size:
        13px;

    line-height:
        1.6;
}


.fs-research-form {

    margin:
        0;

    max-width:
        none;

    padding:
        0;

    border-radius:
        0;

    background:
        #ffffff;

    box-shadow:
        none;

    text-align:
        left;
}


.fs-form-section {

    padding:
        28px
        30px;

    border-bottom:
        1px solid
        var(--fs-border);
}


.fs-form-section:last-of-type {

    border-bottom:
        0;
}


.fs-section-label {

    margin:
        0 0 18px;

    color:
        var(--fs-navy);

    font-size:
        12px;

    line-height:
        1.2;

    font-weight:
        700;
}


.fs-field-grid {

    display:
        grid;

    grid-template-columns:
        repeat(
            2,
            minmax(
                0,
                1fr
            )
        );

    gap:
        20px;
}


.fs-field {

    min-width:
        0;
}


.fs-field-full {

    grid-column:
        1 / -1;
}


.fs-field label {

    margin:
        0 0 7px;

    color:
        var(--fs-text);

    font-size:
        11px;

    line-height:
        1.3;

    font-weight:
        600;
}


.fs-optional {

    margin-left:
        4px;

    color:
        var(--fs-muted);

    font-weight:
        400;
}


.fs-field input,
.fs-field select,
.fs-field textarea {

    width:
        100%;

    margin:
        0;

    padding:
        11px
        12px;

    border:
        1px solid
        var(--fs-border-strong);

    border-radius:
        5px;

    background:
        #ffffff;

    color:
        var(--fs-text);

    font-family:
        inherit;

    font-size:
        12px;

    line-height:
        1.4;

    outline:
        none;

    transition:
        border-color 140ms ease,
        box-shadow 140ms ease;
}


.fs-field input:focus,
.fs-field select:focus,
.fs-field textarea:focus {

    border-color:
        var(--fs-navy);

    box-shadow:
        0 0 0 3px
        rgba(
            30,
            58,
            83,
            .08
        );
}


.fs-field textarea {

    min-height:
        118px;

    resize:
        vertical;
}


.fs-help {

    margin:
        7px 0 0;

    color:
        var(--fs-muted);

    font-size:
        10px;

    line-height:
        1.5;
}


.fs-file-zone {

    padding:
        22px;

    border:
        1px dashed
        #aebdc7;

    border-radius:
        6px;

    background:
        #f9fbfc;
}


.fs-file-zone input[type="file"] {

    padding:
        0;

    border:
        0;

    box-shadow:
        none;

    background:
        transparent;
}


.fs-form-actions {

    padding:
        22px
        30px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        flex-end;

    gap:
        10px;

    border-top:
        1px solid
        var(--fs-border);

    background:
        #fafcfc;
}


.fs-form-actions button {

    width:
        auto;

    margin:
        0;
}


/* ----------------------------------------------------------
   RESPONSIVE
   ---------------------------------------------------------- */


@media (
    max-width: 820px
) {

    .fs-shell-header-inner {

        padding:
            17px
            20px;

        align-items:
            flex-start;

        flex-direction:
            column;

        gap:
            14px;
    }


    .fs-shell-nav {

        width:
            100%;

        justify-content:
            flex-start;

        overflow-x:
            auto;
    }


    .fs-page {

        width:
            min(
                calc(
                    100% - 28px
                ),
                1380px
            );

        margin-top:
            28px;
    }


    .fs-page-heading {

        align-items:
            flex-start;

        flex-direction:
            column;
    }


    .fs-field-grid {

        grid-template-columns:
            1fr;
    }


    .fs-field-full {

        grid-column:
            auto;
    }


    .fs-upload-intro,
    .fs-form-section {

        padding:
            22px
            20px;
    }


    .fs-form-actions {

        padding:
            18px
            20px;

        align-items:
            stretch;

        flex-direction:
            column-reverse;
    }


    .fs-form-actions a,
    .fs-form-actions button {

        width:
            100%;
    }

}
