:root{font-family:"Segoe UI",Arial,sans-serif;color:#edf4ff;background:#02070d;--bg:#02070d;--panel:#050b12;--panel2:#091421;--line:#26384d;--green:#15d583;--gold:#ffbf24;--blue:#379cff;--red:#ff5c65;--muted:#9fb5cd}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg)}body{overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.terminal-shell{display:grid;grid-template-columns:224px minmax(0,1fr);min-height:100vh}.terminal-sidebar{position:sticky;top:0;height:100vh;padding:16px 13px;background:#07101a;border-right:2px solid #d7dde4;display:flex;flex-direction:column;gap:14px}.sidebar-brand{padding:8px 5px 13px;border-bottom:1px solid #213344}.sidebar-brand strong{display:block;color:var(--gold);font-size:1.05rem;letter-spacing:.05em}.sidebar-brand span{display:block;color:#92b7de;font-size:.72rem;letter-spacing:.18em;margin-top:3px}.terminal-nav{display:grid;gap:7px}.terminal-nav a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:9px 8px;border:1px solid var(--green);background:#0a1723;color:#2be698;font-weight:800;text-align:center;font-size:.88rem}.terminal-nav a:hover,.terminal-nav a.active{background:#112a3a;box-shadow:inset 4px 0 0 var(--gold);color:#fff}.sidebar-copy{margin-top:auto;color:#8ea8c4;font-size:.76rem;line-height:1.45}.terminal-workspace{min-width:0}.terminal-topbar{height:112px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 26px;background:#02070d;border-bottom:5px solid #d9dde2}.terminal-topbar h1{margin:0;color:var(--gold);font-size:1.62rem;text-shadow:0 0 6px #ffbf2455}.terminal-topbar h1 span{font-size:1.25rem}.terminal-topbar p{margin:6px 0 0;color:var(--blue);font-size:.87rem}.topbar-actions{display:flex;align-items:center;gap:15px}.topbar-actions form{margin:0}.topbar-actions a{color:#b9cde2}.ready-indicator{color:var(--green);font-weight:900}.signout-button{border:1px solid #347ce0;background:#2468cb;color:white;padding:9px 14px;border-radius:4px;font-weight:800;cursor:pointer}.terminal-main{padding:0}.stock-shell,.dashboard-terminal{min-height:calc(100vh - 112px);padding:20px 28px 28px;background:#02070d}.workstation-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:12px}.workstation-section-header h2{margin:0;color:var(--gold);font-size:1.58rem}.workstation-section-header p{margin:6px 0 0;color:var(--blue);font-size:.88rem}.section-status{color:var(--green);font-weight:900}.module-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.module-tabs a,.terminal-button{border:1px solid var(--green);background:#0a1723;color:#27df92;padding:9px 15px;font-weight:800;cursor:pointer;border-radius:2px}.module-tabs a:hover,.terminal-button:hover,.terminal-button.active{background:#123349;color:#fff}.terminal-button.primary-action{background:#0b2b25;color:#35f0a7}.terminal-button.danger{border-color:var(--red);color:#ff8c92;background:#2b1014}.terminal-button.small{padding:6px 11px;font-size:.78rem}.terminal-toolbar{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-bottom:13px}.scan-readout{color:#94b7d9;font-size:.84rem}.terminal-panel{background:#03080e;border:1px solid #263849;box-shadow:inset 0 0 0 1px #05090d;padding:14px}.results-panel{height:calc(100vh - 260px);min-height:470px}.panel-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:10px}.panel-title-row h3,.terminal-panel h3{margin:0;color:var(--gold);font-size:1.18rem}.panel-title-row p,.terminal-panel p{color:#8fb4d8;margin:5px 0 0;font-size:.82rem}.count-readout{color:var(--green);font-weight:900;font-size:.82rem}.terminal-table-wrap{overflow:auto;max-height:calc(100% - 52px);border:1px solid #2a3b4e}.terminal-table{width:100%;border-collapse:collapse;min-width:900px;background:#07111b}.terminal-table th{position:sticky;top:0;z-index:2;background:#09131e;color:var(--gold);font-size:.78rem;padding:11px 9px;text-align:left;border-right:1px solid #778493;border-bottom:2px solid #8b96a2}.terminal-table td{padding:9px;border-right:1px solid #273a4d;border-bottom:1px solid #273a4d;color:#e1ebf7;font-size:.82rem;vertical-align:top}.terminal-table tbody tr:nth-child(even){background:#0a1825}.terminal-table tbody tr:hover{background:#12314a}.ticker-link{color:#47a9ff;text-decoration:underline;font-weight:900}.eps-strip{display:flex;gap:5px;flex-wrap:wrap}.eps-strip span{background:#0d2235;border:1px solid #203b56;padding:3px 5px;font-size:.72rem}.terminal-badge{display:inline-block;border-radius:2px;padding:4px 7px;background:#243c50;color:#d8e8f5;font-size:.71rem;font-weight:800}.terminal-badge.positive{background:#0d4a35;color:#75f4bc}.terminal-badge.muted{background:#303943;color:#c7d0da}.empty-terminal{display:grid;place-items:center;gap:8px;min-height:260px;color:#90a7bd}.empty-terminal strong{color:#fff}.terminal-notice{padding:8px 12px;margin-bottom:12px;border-left:4px solid var(--green);background:#0b2e24;color:#a5f0d0}.watchlist-selector{display:flex;gap:8px;margin-bottom:12px}.watchlist-workstation{display:grid;grid-template-columns:minmax(0,2.4fr) minmax(280px,.8fr);gap:12px;height:calc(100vh - 245px);min-height:520px}.watchlist-workstation.company-view{grid-template-columns:1fr}.watchlist-list-panel{min-width:0;height:100%}.manual-add-panel{height:max-content}.manual-add-panel form p{margin:13px 0}.manual-add-panel label{display:block;color:#b5cbe0;margin-bottom:5px}.manual-add-panel input,.manual-add-panel textarea,.manual-add-panel select{width:100%;padding:10px;border:1px solid #536579;background:#06101a;color:#fff;border-radius:0}.manual-add-panel textarea{min-height:86px}.row-note{display:block;margin-top:4px;color:#83a0bc;font-size:.72rem}.admin-terminal-grid{display:grid;grid-template-columns:minmax(310px,.75fr) minmax(0,2fr);gap:12px}.history-panel{margin-top:12px}.terminal-table.compact td,.terminal-table.compact th{padding:7px 9px}.processing-banner{display:flex;align-items:center;gap:14px;padding:12px 15px;margin-bottom:12px;border:1px solid var(--gold);background:#241d06}.processing-banner[hidden]{display:none}.processing-pulse{width:14px;height:14px;border-radius:50%;background:var(--gold);animation:pulse 1.2s infinite}.processing-copy{display:grid;gap:5px;flex:1}.processing-copy span,.processing-copy small{color:#d7c783}.processing-track{height:8px;background:#4e431e}.processing-bar{height:100%;background:var(--gold)}@keyframes pulse{70%{box-shadow:0 0 0 10px transparent}100%{box-shadow:0 0 0 0 transparent}}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.terminal-module-card{min-height:210px;padding:20px;border:1px solid var(--green);background:#06101a;display:flex;flex-direction:column}.terminal-module-card.featured{border-color:var(--gold)}.terminal-module-card span{color:var(--blue);font-size:.74rem;letter-spacing:.12em;font-weight:900}.terminal-module-card h3{color:var(--gold);font-size:1.35rem;margin:10px 0}.terminal-module-card p{color:#9db4cb;line-height:1.55}.terminal-module-card strong{margin-top:auto;color:var(--green)}.auth-main{min-height:100vh;display:grid;place-items:center;background:#06101a;padding:24px}.login,.panel{width:min(460px,100%)}.login .panel{background:#091521;border:1px solid #2a4158;padding:24px}.login input{width:100%;padding:11px;background:#030b12;border:1px solid #4a6076;color:#fff}.login button{background:#136f4f;color:#fff;border:1px solid var(--green);padding:10px 16px;font-weight:800}.hero{padding:28px}.hero h1{color:var(--gold)}.hero p{color:#9db4cb}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;padding:0 28px 28px}.card{padding:18px;background:#07111b;border:1px solid #28425a}.card h2{color:var(--gold)}.card p{color:#9db4cb}@media(max-width:1000px){.terminal-shell{grid-template-columns:180px minmax(0,1fr)}.terminal-sidebar{padding:10px 8px}.terminal-topbar h1{font-size:1.25rem}.admin-terminal-grid,.watchlist-workstation{grid-template-columns:1fr;height:auto}.results-panel{height:auto}.dashboard-grid{grid-template-columns:1fr}}@media(max-width:720px){.terminal-shell{display:block}.terminal-sidebar{position:relative;height:auto}.terminal-nav{grid-template-columns:repeat(2,1fr)}.sidebar-copy{display:none}.terminal-topbar{height:auto;align-items:flex-start;flex-direction:column}.topbar-actions{width:100%;justify-content:space-between}.stock-shell,.dashboard-terminal{padding:15px}.dashboard-grid{grid-template-columns:1fr}}

/* Stock Sage v2 scan-parity audit */
.scan-audit { margin-top: .75rem; border: 1px solid rgba(51, 204, 153, .35); padding: .75rem 1rem; background: rgba(4, 16, 24, .72); }
.scan-audit summary { cursor: pointer; font-weight: 700; }
.audit-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: .55rem 1rem; margin-top: .75rem; }
.audit-grid span { display: flex; justify-content: space-between; gap: 1rem; }
.rejection-readout { margin-top: .75rem; overflow-wrap: anywhere; opacity: .9; }

/* ===== Stock Sage Company Report Layout ===== */

.stock-shell .panel {
    width: 100%;
    max-width: none;
}

.stock-shell .detail-grid {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(280px, .8fr);
    gap: 16px;
    margin-bottom: 16px;
}

.stock-shell .stack-panel {
    width: 100%;
    margin-bottom: 16px;
    padding: 20px;
    background: #050b12;
    border: 1px solid #26384d;
}


.stock-shell .table-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
    margin-bottom: 18px;
}

.stock-shell .table-heading h2 {
    margin: 0;
    color: var(--gold);
}

.company-report-section {
    margin-top: 24px;
}

.company-report-section h3 {
    margin: 0 0 10px;
    color: #edf4ff;
}

.company-report-table-wrap {
    overflow-x: auto;
    border: 1px solid #26384d;
}

.company-report-table {
    width: 100%;
    min-width: 760px;
    border-collapse: collapse;
    background: #07111b;
}

.company-report-table th,
.company-report-table td {
    padding: 11px 13px;
    border-right: 1px solid #273a4d;
    border-bottom: 1px solid #273a4d;
    white-space: nowrap;
}

.company-report-table thead th {
    background: #09131e;
    color: var(--gold);
    text-align: right;
}

.company-report-table thead th:first-child,
.company-report-table tbody th {
    text-align: left;
}

.company-report-table tbody th {
    background: #09131e;
    color: #dbe8f5;
    min-width: 190px;
}


.company-report-table td {
    text-align: right;
    color: #edf4ff;
}

.company-report-table tbody tr:nth-child(even) td {
    background: #0a1825;
}

.company-report-table tbody tr:hover td {
    background: #12314a;
}

.company-report-table tbody tr:hover th {
    background: #10263a;
}

.company-report-section + .company-report-section {
    margin-top: 30px;
}

.company-report-table th:first-child {
    position: sticky;
    left: 0;
    z-index: 1;
}

@media(max-width: 1000px) {
    .stock-shell .detail-grid {
        grid-template-columns: 1fr;
    }

    .company-report-table {
        min-width: 720px;
    }
}


/* ==========================================================
   Stock Sage Company Report - Final Wide White Report Layout
   ========================================================== */

/* Override the legacy global .panel 460px width */
.stock-shell > .panel,
.stock-shell .detail-grid > .panel {
    width: 100%;
    max-width: none;
}

/* Company Report container */
.stock-shell > .panel.stack-panel:has(.company-report-section) {
    width: 100%;
    max-width: none;
    background: #ffffff;
    color: #111111;
    border: 1px solid #c9c9c9;
    padding: 24px;
}

/* Company Report heading */
.stock-shell > .panel.stack-panel:has(.company-report-section) .table-heading h2 {
    color: #111111;
}

.stock-shell > .panel.stack-panel:has(.company-report-section) .table-heading p,
.stock-shell > .panel.stack-panel:has(.company-report-section) > p {
    color: #333333;
}

/* Section headings */
.stock-shell .company-report-section h3 {
    color: #111111;
    margin: 26px 0 10px;
}

/* Financial table */
.stock-shell .company-report-table-wrap {
    width: 100%;
    overflow-x: auto;
    border: 1px solid #b8b8b8;
    background: #ffffff;
}

.stock-shell .company-report-table {
    width: 100%;
    min-width: 760px;
    table-layout: fixed;
    border-collapse: collapse;
    background: #ffffff;
    color: #111111;
}

/* Metric column */
.stock-shell .company-report-table th:first-child {
    width: 22%;
}

/* Five fiscal-year columns */
.stock-shell .company-report-table th:not(:first-child),
.stock-shell .company-report-table td {
    width: 15.6%;
}

/* All cells */
.stock-shell .company-report-table th,
.stock-shell .company-report-table td {
    padding: 11px 14px;
    border-right: 1px solid #d4d4d4;
    border-bottom: 1px solid #d4d4d4;
    color: #111111;
    background: #ffffff;
    white-space: nowrap;
}

/* Header row */
.stock-shell .company-report-table thead th {
    background: #eeeeee;
    color: #111111;
    font-weight: 800;
    text-align: right;
}

/* Metric labels */
.stock-shell .company-report-table thead th:first-child,
.stock-shell .company-report-table tbody th {
    text-align: left;
}

.stock-shell .company-report-table tbody th {
    background: #f5f5f5;
    color: #111111;
    font-weight: 700;
}

/* Financial values */
.stock-shell .company-report-table tbody td {
    text-align: right;
}

/* Alternating rows */
.stock-shell .company-report-table tbody tr:nth-child(even) td {
    background: #fafafa;
}

.stock-shell .company-report-table tbody tr:nth-child(even) th {
    background: #eeeeee;
}

/* Hover */
.stock-shell .company-report-table tbody tr:hover td,
.stock-shell .company-report-table tbody tr:hover th {
    background: #e8f2fb;
}

/* Keep metric column visible during horizontal scrolling */
.stock-shell .company-report-table th:first-child {
    position: sticky;
    left: 0;
    z-index: 1;
}

/* Mobile/tablet */
@media (max-width: 1000px) {
    .stock-shell .company-report-table {
        min-width: 760px;
    }
}


/* =========================================================
   Stock Sage - Current Company Data Grid
   ========================================================= */

.verified-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    width: 100%;
    margin-top: 16px;
}

.verified-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding: 16px 18px;
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 8px;
}

.verified-card span {
    display: block;
    margin-bottom: 6px;
    font-size: 0.82rem;
    line-height: 1.25;
}

.verified-card strong {
    display: block;
    font-size: 1.05rem;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.verified-card small {
    display: block;
    margin-top: 5px;
}

/* Medium screens */
@media (max-width: 1000px) {
    .verified-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Phones */
@media (max-width: 600px) {
    .verified-grid {
        grid-template-columns: 1fr;
    }
}


/* ===== Options Sage Analysis Workspace ===== */

.options-analysis-workspace {
    margin-top: 16px;
}

.options-analysis-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    padding: 0 16px;
    border-bottom: 1px solid #526170;
}

.analysis-tab {
    background: #08131e;
    color: #f4f7fb;
    border: 1px solid #526170;
    border-bottom: none;
    padding: 10px 18px;
    cursor: pointer;
    font-weight: 700;
}

.analysis-tab:hover {
    color: #35e6a1;
}

.analysis-tab.active {
    background: #0d1d2c;
    color: #ffbd18;
    border-color: #35e6a1;
}

.options-analysis-display {
    min-height: 330px;
    margin: 0 16px 16px;
    padding: 22px;
    background: #050b12;
    border: 1px solid #526170;
}

.analysis-content {
    display: none;
}

.analysis-content.active {
    display: block;
}

.analysis-content h3 {
    margin-top: 0;
    color: #ffbd18;
}

.analysis-content p {
    color: #8fc9ff;
    line-height: 1.6;
}

.analysis-placeholder {
    min-height: 180px;
    margin-top: 18px;
    padding: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #263746;
    background: #07111b;
    color: #dbe8f4;
}

.analysis-risk-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 18px;
}

.analysis-risk-grid div {
    padding: 14px;
    border: 1px solid #263746;
    background: #07111b;
    color: #dbe8f4;
}

.trade-notes-box {
    width: 100%;
    min-height: 190px;
    box-sizing: border-box;
    resize: vertical;
    padding: 14px;
    background: #07111b;
    color: #f4f7fb;
    border: 1px solid #526170;
    font: inherit;
}

.analysis-note {
    font-size: 0.9rem;
}

@media (max-width: 800px) {
    .analysis-risk-grid {
        grid-template-columns: 1fr;
    }

    .analysis-tab {
        flex: 1 1 30%;
    }
}

/* ===== Independent desktop sidebar scrolling ===== */
@media (min-width: 721px) {
    .terminal-sidebar {
        overflow-y: auto;
        overflow-x: hidden;
        overscroll-behavior: contain;
    }
}


/* ==========================================================
   Sage Legal + Affiliate Page Spacing
   ========================================================== */

.sage-legal-page {
    width: auto;
    max-width: 1180px;
    margin: 0 auto;
    padding: 34px 42px 50px;
    box-sizing: border-box;
}

.sage-legal-page h1 {
    margin-top: 0;
}

.sage-legal-page h2 {
    margin-top: 30px;
    margin-bottom: 12px;
}

.sage-legal-page p {
    line-height: 1.7;
}


/* ==========================================================
   Affiliate Program
   ========================================================== */

.affiliate-hero {
    padding: 30px 34px;
    margin-bottom: 28px;
    border: 1px solid #334155;
    border-radius: 10px;
    background: rgba(15, 23, 42, 0.55);
}

.affiliate-eyebrow {
    margin-bottom: 10px;
    font-size: 0.85rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    color: #fbbf24;
}

.affiliate-hero h1 {
    max-width: 950px;
    margin: 0 0 18px;
    font-size: clamp(2rem, 3vw, 3.25rem);
    line-height: 1.08;
    color: #f8fafc;
}

.affiliate-lead {
    max-width: 900px;
    margin-bottom: 16px;
    font-size: 1.3rem;
    line-height: 1.6;
}

.affiliate-lead strong {
    color: #fbbf24;
    font-size: 1.12em;
}

.affiliate-info-box {
    padding: 24px 30px;
    margin-bottom: 32px;
    border: 1px solid #334155;
    border-radius: 10px;
}

.affiliate-info-box h2 {
    margin-top: 0;
}

.affiliate-apply-heading {
    padding-bottom: 10px;
    border-bottom: 1px solid #334155;
}


/* Affiliate application form */

.sage-legal-page form {
    max-width: 760px;
}

.sage-legal-page form input[type="text"],
.sage-legal-page form input[type="email"],
.sage-legal-page form input[type="url"],
.sage-legal-page form textarea {
    width: 100%;
    max-width: 620px;
    padding: 11px 12px;
    box-sizing: border-box;
    border: 1px solid #64748b;
    border-radius: 5px;
    font-size: 1rem;
}

.sage-legal-page form textarea {
    min-height: 150px;
    resize: vertical;
}

.sage-legal-acknowledgment {
    max-width: 720px;
    margin: 24px 0 18px;
    padding: 17px 18px;
    border: 1px solid #334155;
    border-radius: 7px;
}

.sage-legal-acknowledgment input {
    margin-right: 10px;
}

.sage-legal-page form button[type="submit"] {
    padding: 12px 22px;
    border: 1px solid #fbbf24;
    border-radius: 6px;
    background: #fbbf24;
    color: #07111c;
    font-size: 1rem;
    font-weight: 800;
    cursor: pointer;
}

.sage-legal-page form button[type="submit"]:hover {
    filter: brightness(1.08);
}


/* Smaller screens */

@media (max-width: 800px) {
    .sage-legal-page {
        padding: 24px 20px 40px;
    }

    .affiliate-hero {
        padding: 24px 20px;
    }

    .affiliate-info-box {
        padding: 20px;
    }

    .affiliate-hero h1 {
        font-size: 2rem;
    }

    .affiliate-lead {
        font-size: 1.1rem;
    }
}


/* ==========================================================
   Affiliate + Legal Page Definitive Content Margin
   ========================================================== */

/*
   Keep informational/legal content away from the edge of the
   main workstation panel.
*/
.affiliate-page-content,
.disclaimer-page-content {
    width: auto;
    max-width: 1240px;
    margin-left: 32px;
    margin-right: 32px;
    padding: 30px 24px 48px;
    box-sizing: border-box;
}

.affiliate-page-content {
    line-height: 1.65;
}

.affiliate-page-content .affiliate-hero {
    margin-top: 0;
}

@media (max-width: 800px) {
    .affiliate-page-content,
    .disclaimer-page-content {
        margin-left: 12px;
        margin-right: 12px;
        padding: 22px 12px 36px;
    }
}
