* {
    box-sizing: border-box;
}


body {
    margin: 0;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        "Microsoft YaHei",
        Arial,
        sans-serif;

    background: #f6f7f9;

    color: #1f2937;
}


.container {
    width: 90%;

    max-width: 1000px;

    margin: 0 auto;
}


/* ==============================
   顶部导航
   ============================== */

header {
    padding: 28px 0;
}


.logo {
    color: #111827;

    text-decoration: none;

    font-weight: 700;

    font-size: 20px;
}


/* ==============================
   基础文字
   ============================== */

h1 {
    margin-top: 0;

    margin-bottom: 6px;

    color: #111827;
}


h2 {
    margin-top: 0;

    margin-bottom: 10px;

    font-size: 19px;

    color: #111827;
}


.subtitle {
    margin: 0;

    color: #6b7280;
}


.hint {
    margin-top: 4px;

    margin-bottom: 14px;

    color: #6b7280;

    font-size: 14px;

    line-height: 1.6;
}


/* ==============================
   页面顶部
   ============================== */

.page-header,
.stock-header {
    display: flex;

    justify-content: space-between;

    align-items: center;

    gap: 20px;

    margin-bottom: 28px;
}


/* ==============================
   通用按钮
   ============================== */

.button {
    display: inline-block;

    border: none;

    background: #111827;

    color: white;

    padding: 11px 18px;

    border-radius: 8px;

    text-decoration: none;

    cursor: pointer;

    font-size: 15px;

    font-family: inherit;
}


.button:hover {
    background: #374151;
}


/* ==============================
   首页观察名单
   ============================== */

.stock-list {
    display: flex;

    flex-direction: column;

    gap: 12px;
}


.stock-card {
    background: white;

    border-radius: 12px;

    padding: 20px;

    display: flex;

    justify-content: space-between;

    align-items: center;

    gap: 20px;

    color: inherit;

    text-decoration: none;

    border: 1px solid #e5e7eb;

    transition: 0.2s;
}


.stock-card:hover {
    border-color: #9ca3af;

    transform: translateY(-1px);
}


.stock-name {
    font-size: 18px;

    font-weight: 600;

    color: #111827;
}


.stock-symbol {
    color: #6b7280;

    font-size: 14px;

    margin-top: 4px;
}


.status {
    background: #f3f4f6;

    padding: 6px 10px;

    border-radius: 8px;

    font-size: 14px;

    white-space: nowrap;
}


.empty {
    background: white;

    padding: 50px;

    text-align: center;

    border-radius: 12px;

    color: #6b7280;

    border: 1px solid #e5e7eb;

    line-height: 1.8;
}


/* ==============================
   表单
   ============================== */

.form-page {
    background: white;

    padding: 30px;

    border-radius: 12px;

    border: 1px solid #e5e7eb;
}


label {
    display: block;

    margin-top: 18px;

    margin-bottom: 7px;

    font-weight: 600;

    color: #374151;
}


input,
textarea,
select {
    width: 100%;

    border: 1px solid #d1d5db;

    border-radius: 8px;

    padding: 12px;

    background: white;

    color: #111827;

    font-size: 15px;

    font-family: inherit;
}


textarea {
    resize: vertical;

    line-height: 1.6;

    min-height: 100px;
}


input:focus,
textarea:focus,
select:focus {
    outline: none;

    border-color: #111827;

    box-shadow: 0 0 0 2px rgba(17, 24, 39, 0.06);
}


.form-page .button {
    margin-top: 24px;
}


/* ==============================
   投资逻辑区域
   ============================== */

.section {
    background: white;

    padding: 24px;

    border-radius: 12px;

    margin-bottom: 18px;

    border: 1px solid #e5e7eb;
}


/* ==============================
   删除股票
   ============================== */

.delete-form {
    margin-top: 35px;

    margin-bottom: 50px;
}


.delete-button {
    background: none;

    border: none;

    color: #9ca3af;

    cursor: pointer;

    font-size: 14px;

    font-family: inherit;

    padding: 0;
}


.delete-button:hover {
    color: #b91c1c;
}


/* ==============================
   V0.2 市场数据
   ============================== */

.market-section {
    background: white;

    padding: 24px;

    border-radius: 12px;

    margin-bottom: 18px;

    border: 1px solid #e5e7eb;
}


.section-title-row {
    display: flex;

    justify-content: space-between;

    align-items: center;

    gap: 20px;

    margin-bottom: 20px;
}


.price-row {
    display: flex;

    align-items: flex-end;

    justify-content: space-between;

    gap: 20px;

    margin-bottom: 24px;
}


.price-label {
    color: #6b7280;

    font-size: 14px;

    margin-bottom: 5px;
}


.current-price {
    font-size: 34px;

    font-weight: 700;

    color: #111827;
}


.change {
    font-size: 18px;

    font-weight: 600;
}


/* ==============================
   数据卡片
   ============================== */

.data-grid {
    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 12px;
}


.data-card {
    background: #f9fafb;

    padding: 16px;

    border-radius: 10px;

    border: 1px solid #f3f4f6;
}


.data-name {
    font-size: 13px;

    color: #6b7280;

    margin-bottom: 8px;
}


.data-value {
    font-size: 19px;

    font-weight: 600;

    color: #111827;
}


.data-error {
    background: #f9fafb;

    padding: 16px;

    border-radius: 8px;

    color: #6b7280;

    border: 1px solid #e5e7eb;
}


/* ==============================
   V0.3 核心投资假设检查
   ============================== */

.condition-header {
    margin-bottom: 20px;
}


.condition-table {
    width: 100%;

    margin-bottom: 28px;

    overflow-x: auto;
}


/* 表格每一行 */

.condition-row {
    display: grid;

    grid-template-columns:
        minmax(130px, 1.7fr)
        minmax(55px, 0.7fr)
        minmax(80px, 1fr)
        minmax(80px, 1fr)
        minmax(100px, 1.1fr)
        minmax(55px, 0.7fr);

    align-items: center;

    gap: 12px;

    padding: 14px 10px;

    border-bottom: 1px solid #e5e7eb;
}


/* 第一行标题 */

.condition-title {
    background: #f9fafb;

    border-radius: 8px;

    color: #6b7280;

    font-size: 13px;

    font-weight: 600;
}


.condition-metric {
    font-weight: 600;

    color: #111827;
}


/* 条件结果 */

.condition-pass {
    display: inline-block;

    color: #15803d;

    font-weight: 600;

    white-space: nowrap;
}


.condition-fail {
    display: inline-block;

    color: #b91c1c;

    font-weight: 600;

    white-space: nowrap;
}


.condition-unknown {
    display: inline-block;

    color: #6b7280;

    white-space: nowrap;
}


/* 删除条件 */

.condition-delete {
    border: none;

    background: none;

    color: #9ca3af;

    cursor: pointer;

    font-family: inherit;

    font-size: 13px;
}


.condition-delete:hover {
    color: #b91c1c;
}


/* 没有投资条件时 */

.condition-empty {
    background: #f9fafb;

    padding: 18px;

    border-radius: 8px;

    color: #6b7280;

    margin-bottom: 24px;

    border: 1px solid #f3f4f6;
}


/* ==============================
   添加投资条件
   ============================== */

.condition-add-form {
    display: grid;

    grid-template-columns:
        2fr
        1fr
        1.5fr
        auto;

    gap: 12px;

    align-items: end;

    background: #f9fafb;

    padding: 18px;

    border-radius: 10px;

    border: 1px solid #f3f4f6;
}


.condition-add-form label {
    margin-top: 0;

    margin-bottom: 7px;
}


.condition-add-form input,
.condition-add-form select {
    height: 44px;
}


.condition-add-button {
    display: flex;

    align-items: flex-end;
}


.condition-add-button .button {
    height: 44px;

    white-space: nowrap;
}


/* ==============================
   手机和平板
   ============================== */

@media (max-width: 800px) {

    .container {
        width: 94%;
    }


    .page-header,
    .stock-header {
        align-items: flex-start;

        flex-direction: column;
    }


    .data-grid {
        grid-template-columns: repeat(2, 1fr);
    }


    .condition-table {
        overflow-x: auto;
    }


    .condition-row {
        min-width: 720px;
    }


    .condition-add-form {
        grid-template-columns: 1fr 1fr;
    }


    .condition-add-button {
        grid-column: 1 / -1;
    }


    .condition-add-button .button {
        width: 100%;
    }

}


@media (max-width: 500px) {

    .container {
        width: 94%;
    }


    header {
        padding: 20px 0;
    }


    .section,
    .market-section,
    .form-page {
        padding: 18px;
    }


    .data-grid {
        grid-template-columns: 1fr;
    }


    .price-row {
        align-items: flex-start;

        flex-direction: column;
    }


    .current-price {
        font-size: 30px;
    }


    .condition-add-form {
        grid-template-columns: 1fr;
    }


    .condition-add-button {
        grid-column: auto;
    }

}
/* =================================
   V0.4 图表
   ================================= */

.chart-section {

    background: white;

    padding: 24px;

    border-radius: 12px;

    margin-bottom: 18px;

    border: 1px solid #e5e7eb;
}


.chart-header {

    display: flex;

    justify-content: space-between;

    align-items: center;

    margin-bottom: 10px;
}


.chart-box {

    width: 100%;

    height: 380px;

    margin-top: 15px;
}


.chart-empty {

    background: #f9fafb;

    padding: 40px;

    border-radius: 10px;

    text-align: center;

    color: #6b7280;

    margin-top: 15px;
}


@media (max-width: 700px) {

    .chart-box {

        height: 300px;

    }

}
/* =========================================================
   V0.5 消息
   ========================================================= */

.flash-message {
    padding: 14px 18px;
    border-radius: 10px;
    margin-bottom: 18px;
    font-size: 14px;
}

.flash-success {
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    color: #166534;
}

.flash-error {
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #991b1b;
}


/* =========================================================
   V0.5 持仓
   ========================================================= */

.position-header {
    margin-bottom: 20px;
}


.position-grid {
    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap: 12px;
}


.position-card {
    background: #f9fafb;
    border: 1px solid #f3f4f6;
    border-radius: 10px;
    padding: 16px;
}


.position-value {
    font-size: 19px;
    font-weight: 700;
    margin-top: 8px;
}


.pnl-positive {
    color: #15803d;
}


.pnl-negative {
    color: #b91c1c;
}



/* =========================================================
   V0.5 交易录入
   ========================================================= */

.transaction-form {
    display: grid;

    grid-template-columns:
        1fr
        1fr
        1fr
        1.2fr;

    gap: 14px;

    align-items: end;
}


.transaction-form label {
    margin-top: 0;
}


.transaction-note {
    grid-column: 1 / 4;
}


.transaction-button {
    display: flex;
    align-items: flex-end;
}


.transaction-button .button {
    width: 100%;
}



/* =========================================================
   V0.5 交易记录
   ========================================================= */

.transaction-table {
    width: 100%;
    overflow-x: auto;
}


.transaction-row {
    display: grid;

    grid-template-columns:
        1.2fr
        0.8fr
        1fr
        1fr
        1.2fr
        1.8fr
        0.6fr;

    gap: 12px;

    align-items: center;

    padding: 14px 10px;

    border-bottom:
        1px solid #e5e7eb;
}


.transaction-title {
    background: #f9fafb;
    color: #6b7280;
    font-size: 13px;
    font-weight: 600;
    border-radius: 8px;
}


.trade-buy {
    color: #b91c1c;
    font-weight: 600;
}


.trade-sell {
    color: #15803d;
    font-weight: 600;
}


.transaction-note-text {
    color: #6b7280;
    font-size: 14px;
}



/* =========================================================
   V0.5 手机
   ========================================================= */

@media (max-width: 850px) {

    .position-grid {
        grid-template-columns:
            repeat(2, 1fr);
    }


    .transaction-form {
        grid-template-columns:
            1fr 1fr;
    }


    .transaction-note {
        grid-column:
            1 / -1;
    }


    .transaction-button {
        grid-column:
            1 / -1;
    }


    .transaction-row {
        min-width: 850px;
    }

}


@media (max-width: 500px) {

    .position-grid {
        grid-template-columns:
            1fr;
    }


    .transaction-form {
        grid-template-columns:
            1fr;
    }


    .transaction-note,
    .transaction-button {
        grid-column: auto;
    }

}
/* =========================================================
   V0.6 投资复盘
   ========================================================= */

.review-current,
.review-ready {
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    padding: 18px;
    margin-bottom: 18px;
}


.review-ready {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}


.review-ready-result {
    margin-top: 8px;
    font-weight: 600;
}


.review-history {
    margin-top: 28px;
}


.review-history h3 {
    margin-bottom: 12px;
}


.review-history-item {
    display: flex;
    justify-content: space-between;
    align-items: center;

    gap: 20px;

    padding: 16px 14px;

    border-bottom: 1px solid #e5e7eb;

    color: #111827;
    text-decoration: none;
}


.review-history-item:hover {
    background: #f9fafb;
}


.review-history-date {
    font-weight: 600;
}


.review-history-result {
    color: #6b7280;
    font-size: 14px;
    margin-top: 5px;
}



/* =========================================================
   V0.6 复盘页面
   ========================================================= */

.review-page-header {
    margin-bottom: 28px;
}


.back-link {
    display: inline-block;

    margin-bottom: 18px;

    color: #6b7280;

    text-decoration: none;
}


.back-link:hover {
    color: #111827;
}


.review-result-grid {
    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap: 12px;
}


.review-result-card {
    background: #f9fafb;

    border: 1px solid #f3f4f6;

    border-radius: 10px;

    padding: 16px;
}


.review-result-value {
    margin-top: 8px;

    font-size: 19px;

    font-weight: 700;
}


.review-result-note {
    margin-top: 18px;
}


.review-thesis-item {
    padding: 16px 0;

    border-bottom: 1px solid #e5e7eb;
}


.review-thesis-item:last-child {
    border-bottom: none;
}


.review-thesis-item p {
    margin-bottom: 0;

    line-height: 1.8;

    white-space: pre-wrap;
}



/* =========================================================
   单选
   ========================================================= */

.review-radio-group {
    display: flex;

    gap: 12px;

    flex-wrap: wrap;
}


.review-radio {
    display: flex;

    align-items: center;

    gap: 8px;

    margin: 0;

    padding: 12px 16px;

    background: #f9fafb;

    border: 1px solid #e5e7eb;

    border-radius: 8px;

    cursor: pointer;
}


.review-radio input {
    width: auto;
}



/* =========================================================
   多选
   ========================================================= */

.review-checkbox-grid {
    display: grid;

    grid-template-columns:
        repeat(2, 1fr);

    gap: 10px;
}


.review-checkbox {
    display: flex;

    align-items: center;

    gap: 8px;

    margin: 0;

    padding: 12px 14px;

    background: #f9fafb;

    border: 1px solid #e5e7eb;

    border-radius: 8px;
}


.review-checkbox input {
    width: auto;
}


.review-save-button {
    margin-bottom: 50px;
}



/* =========================================================
   历史复盘详情
   ========================================================= */

.review-answer-main {
    font-size: 24px;

    font-weight: 700;

    margin-bottom: 18px;
}


.review-tags {
    display: flex;

    flex-wrap: wrap;

    gap: 8px;
}


.review-tag {
    background: #f3f4f6;

    border-radius: 999px;

    padding: 7px 11px;

    font-size: 14px;
}


.review-text {
    line-height: 1.9;

    white-space: pre-wrap;
}



/* =========================================================
   手机适配
   ========================================================= */

@media (max-width: 700px) {

    .review-ready {
        flex-direction: column;
        align-items: flex-start;
    }


    .review-ready .button {
        width: 100%;

        text-align: center;
    }


    .review-result-grid {
        grid-template-columns:
            repeat(2, 1fr);
    }


    .review-checkbox-grid {
        grid-template-columns:
            1fr;
    }

}


@media (max-width: 450px) {

    .review-result-grid {
        grid-template-columns:
            1fr;
    }

}

/* =========================================================
   V0.7 AI研究助手
   ========================================================= */

.ai-page-header {
    margin-bottom: 28px;
}


.ai-description {
    max-width: 800px;
    line-height: 1.9;
}



/* =========================================================
   AI分析模式
   ========================================================= */

.ai-mode-grid {

    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap: 16px;

    margin-bottom: 18px;
}


.ai-mode-card {

    background: white;

    border: 1px solid #e5e7eb;

    border-radius: 12px;

    padding: 22px;

    display: flex;

    flex-direction: column;

    align-items: flex-start;
}


.ai-mode-name {

    font-size: 18px;

    font-weight: 700;

    color: #111827;

    margin-bottom: 10px;
}


.ai-mode-card p {

    color: #6b7280;

    line-height: 1.7;

    flex: 1;

    margin-top: 0;

    margin-bottom: 22px;
}


.ai-mode-card .button {

    width: 100%;

    text-align: center;
}



/* =========================================================
   自定义问题
   ========================================================= */

.ai-question-form textarea {

    margin-bottom: 14px;
}



/* =========================================================
   AI报告列表
   ========================================================= */

.ai-report-list {

    display: flex;

    flex-direction: column;

    gap: 12px;
}


.ai-report {

    border: 1px solid #e5e7eb;

    border-radius: 10px;

    overflow: hidden;
}


.ai-report-summary {

    padding: 18px;

    cursor: pointer;

    background: #f9fafb;
}


.ai-report-summary:hover {

    background: #f3f4f6;
}


.ai-report-title {

    font-weight: 700;

    color: #111827;
}


.ai-report-meta {

    color: #6b7280;

    font-size: 13px;

    margin-top: 5px;
}



/* =========================================================
   AI报告正文
   ========================================================= */

.ai-report-body {

    padding: 22px;
}


.ai-original-question {

    background: #f9fafb;

    padding: 16px;

    border-radius: 8px;

    margin-bottom: 20px;
}


.ai-original-question p {

    margin-bottom: 0;

    line-height: 1.7;
}


.ai-answer {

    white-space: pre-wrap;

    line-height: 1.9;

    color: #1f2937;
}


.ai-delete-form {

    margin-top: 30px;

    padding-top: 18px;

    border-top: 1px solid #e5e7eb;
}



/* =========================================================
   手机适配
   ========================================================= */

@media (max-width: 800px) {

    .ai-mode-grid {

        grid-template-columns: 1fr;

    }

}
/* =========================================================
   V0.8 顶部导航
   ========================================================= */

.header-row {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 20px;

}


.main-nav {

    display: flex;

    align-items: center;

    gap: 18px;

}


.nav-link {

    color: #6b7280;

    text-decoration: none;

    font-size: 14px;

}


.nav-link:hover {

    color: #111827;

}



/* =========================================================
   V0.8 投资组合总览
   ========================================================= */

.portfolio-summary-grid {

    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap: 14px;

    margin-bottom: 18px;

}


.portfolio-summary-card {

    background: white;

    border: 1px solid #e5e7eb;

    border-radius: 12px;

    padding: 20px;

}


.portfolio-summary-value {

    margin-top: 8px;

    font-size: 23px;

    font-weight: 700;

    color: #111827;

}



/* =========================================================
   组合风险
   ========================================================= */

.portfolio-risk-grid {

    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap: 12px;

}


.portfolio-risk-item {

    background: #f9fafb;

    border: 1px solid #f3f4f6;

    border-radius: 10px;

    padding: 16px;

}


.portfolio-risk-value {

    margin-top: 8px;

    font-size: 18px;

    font-weight: 700;

}


.portfolio-method-note {

    margin-top: 18px;

}



/* =========================================================
   风险提醒
   ========================================================= */

.portfolio-warning-list {

    display: flex;

    flex-direction: column;

    gap: 10px;

}


.portfolio-warning {

    background: #fffbeb;

    border: 1px solid #fde68a;

    border-radius: 8px;

    padding: 14px 16px;

    color: #92400e;

    line-height: 1.7;

}



/* =========================================================
   仓位图
   ========================================================= */

.portfolio-chart {

    width: 100%;

    height: 420px;

}



/* =========================================================
   持仓表
   ========================================================= */

.portfolio-table {

    width: 100%;

    overflow-x: auto;

}


.portfolio-row {

    display: grid;

    grid-template-columns:
        minmax(140px, 1.6fr)
        0.8fr
        1fr
        1fr
        1.2fr
        1.2fr
        1fr
        0.8fr;

    gap: 12px;

    align-items: center;

    min-width: 980px;

    padding: 14px 10px;

    border-bottom:
        1px solid #e5e7eb;

}


.portfolio-table-title {

    background: #f9fafb;

    color: #6b7280;

    font-size: 13px;

    font-weight: 600;

    border-radius: 8px;

}


.portfolio-stock-row {

    color: #374151;

    text-decoration: none;

}


.portfolio-stock-row:hover {

    background: #f9fafb;

}


.portfolio-stock-name {

    color: #111827;

    font-weight: 600;

}


.portfolio-stock-symbol {

    color: #6b7280;

    font-size: 13px;

    margin-top: 4px;

}



/* =========================================================
   V0.8 手机
   ========================================================= */

@media (max-width: 850px) {


    .portfolio-summary-grid {

        grid-template-columns:
            repeat(2, 1fr);

    }


    .portfolio-risk-grid {

        grid-template-columns:
            repeat(2, 1fr);

    }


}


@media (max-width: 550px) {


    .header-row {

        align-items:
            flex-start;

        flex-direction:
            column;

    }


    .portfolio-summary-grid {

        grid-template-columns:
            1fr;

    }


    .portfolio-risk-grid {

        grid-template-columns:
            1fr;

    }


    .portfolio-chart {

        height: 330px;

    }


}

/* =========================================================
   K线分析
   ========================================================= */

.kline-chart-box {

    width: 100%;

    height: 480px;

    margin-top: 18px;

}



/* =========================================================
   技术指标
   ========================================================= */

.technical-grid {

    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap: 12px;

    margin-top: 24px;

}


.technical-card {

    background: #f9fafb;

    border: 1px solid #f3f4f6;

    border-radius: 10px;

    padding: 16px;

}


.technical-value {

    margin-top: 8px;

    font-size: 19px;

    font-weight: 700;

    color: #111827;

}



/* =========================================================
   技术分析结果
   ========================================================= */

.technical-analysis-box {

    margin-top: 18px;

    background: #f9fafb;

    border: 1px solid #e5e7eb;

    border-radius: 10px;

    padding: 20px;

}


.technical-analysis-box h3 {

    margin-top: 0;

    margin-bottom: 16px;

}


.technical-analysis-row {

    display: flex;

    justify-content: space-between;

    align-items: center;

    gap: 20px;

    padding: 12px 0;

    border-bottom:
        1px solid #e5e7eb;

}


.technical-analysis-row:last-of-type {

    border-bottom: none;

}


.technical-analysis-row span {

    color: #6b7280;

}


.technical-note {

    margin-top: 18px;

    margin-bottom: 0;

}



/* =========================================================
   手机
   ========================================================= */

@media (max-width: 700px) {

    .kline-chart-box {

        height: 380px;

    }


    .technical-grid {

        grid-template-columns:
            repeat(2, 1fr);

    }

}


@media (max-width: 450px) {

    .technical-grid {

        grid-template-columns:
            1fr;

    }

}
/* =========================================================
   V0.9 监控中心
   ========================================================= */

.monitor-summary-grid {

    display: grid;

    grid-template-columns:
        repeat(5, 1fr);

    gap: 12px;

    margin-bottom: 18px;

}


.monitor-summary-card {

    background: white;

    border: 1px solid #e5e7eb;

    border-radius: 12px;

    padding: 18px;

}


.monitor-summary-value {

    margin-top: 8px;

    font-size: 26px;

    font-weight: 700;

}



/* =========================================================
   股票监控卡片
   ========================================================= */

.monitor-stock-list {

    display: flex;

    flex-direction: column;

    gap: 14px;

}


.monitor-stock-card {

    border: 1px solid #e5e7eb;

    border-radius: 12px;

    padding: 20px;

}


.monitor-card-attention {

    background: #fffdf7;

    border-color: #fde68a;

}


.monitor-stock-header {

    display: flex;

    align-items: flex-start;

    justify-content: space-between;

    gap: 20px;

    margin-bottom: 18px;

}


.monitor-stock-name {

    color: #111827;

    text-decoration: none;

    font-size: 19px;

    font-weight: 700;

}


.monitor-stock-name:hover {

    text-decoration: underline;

}


.monitor-symbol {

    color: #6b7280;

    font-size: 13px;

    margin-left: 6px;

}



/* =========================================================
   状态Badge
   ========================================================= */

.monitor-status-badge {

    border-radius: 999px;

    padding: 6px 10px;

    font-size: 13px;

    font-weight: 600;

}


.monitor-badge-attention {

    background: #fef3c7;

    color: #92400e;

}



/* =========================================================
   当前价格
   ========================================================= */

.monitor-price-row {

    display: flex;

    justify-content: space-between;

    align-items: center;

    gap: 20px;

    background: #f9fafb;

    border-radius: 8px;

    padding: 12px 14px;

    margin-bottom: 16px;

}


.monitor-price-row .data-name {

    margin-right: 10px;

}



/* =========================================================
   条件列表
   ========================================================= */

.monitor-condition-list {

    border-top: 1px solid #e5e7eb;

}


.monitor-condition-row {

    display: grid;

    grid-template-columns:
        2fr
        1fr
        1fr;

    gap: 16px;

    align-items: center;

    padding: 13px 0;

    border-bottom: 1px solid #e5e7eb;

}


.monitor-condition-rule {

    margin-top: 4px;

    color: #6b7280;

    font-size: 13px;

}


.monitor-summary-text {

    margin-top: 16px;

    font-weight: 600;

}



/* =========================================================
   简单列表
   ========================================================= */

.monitor-simple-row {

    display: flex;

    justify-content: space-between;

    align-items: center;

    gap: 20px;

    padding: 15px 10px;

    border-bottom: 1px solid #e5e7eb;

    text-decoration: none;

    color: #374151;

}


.monitor-simple-row:hover {

    background: #f9fafb;

}



/* =========================================================
   状态颜色
   ========================================================= */

.monitor-attention-text {

    color: #b45309;

}


.monitor-normal-text {

    color: #15803d;

}


.monitor-error-text {

    color: #b91c1c;

}



/* =========================================================
   手机
   ========================================================= */

@media (max-width: 850px) {


    .monitor-summary-grid {

        grid-template-columns:
            repeat(2, 1fr);

    }


}


@media (max-width: 600px) {


    .monitor-summary-grid {

        grid-template-columns:
            1fr;

    }


    .monitor-condition-row {

        grid-template-columns:
            1fr;

        gap: 7px;

    }


    .monitor-simple-row {

        align-items:
            flex-start;

        flex-direction:
            column;

    }


}
/* =========================================================
   V1.0 监控缓存
   ========================================================= */

.monitor-page-header {

    align-items: flex-start;

}


.monitor-refresh-time {

    margin-top: 8px;

    margin-bottom: 0;

    color: #9ca3af;

    font-size: 13px;

}


@media (max-width: 700px) {

    .monitor-page-header {

        flex-direction: column;

    }


    .monitor-page-header form {

        width: 100%;

    }


    .monitor-page-header .button {

        width: 100%;

    }

}
/* =========================================================
   V1.1 监控事件
   ========================================================= */

.monitor-event-header {

    display: flex;

    align-items: flex-start;

    justify-content: space-between;

    gap: 20px;

}



/* =========================================================
   事件列表
   ========================================================= */

.monitor-event-list {

    display: flex;

    flex-direction: column;

    gap: 10px;

}



/* =========================================================
   单个事件
   ========================================================= */

.monitor-event-card {

    display: flex;

    justify-content: space-between;

    align-items: center;

    gap: 24px;

    padding: 17px 18px;

    border: 1px solid #e5e7eb;

    border-radius: 10px;

    text-decoration: none;

    color: #374151;

    background: white;

}


.monitor-event-card:hover {

    background: #f9fafb;

}



/* =========================================================
   恶化事件
   ========================================================= */

.monitor-event-negative {

    border-left: 4px solid #dc2626;

}



/* =========================================================
   恢复事件
   ========================================================= */

.monitor-event-positive {

    border-left: 4px solid #16a34a;

}



/* =========================================================
   左侧主体
   ========================================================= */

.monitor-event-main {

    flex: 1;

}


.monitor-event-stock {

    font-size: 16px;

    font-weight: 700;

    color: #111827;

}


.monitor-event-message {

    margin-top: 8px;

    line-height: 1.7;

}


.monitor-event-icon {

    margin-right: 5px;

}


.monitor-event-rule {

    margin-top: 6px;

    color: #6b7280;

    font-size: 13px;

}



/* =========================================================
   右边状态
   ========================================================= */

.monitor-event-side {

    display: flex;

    flex-direction: column;

    align-items: flex-end;

    gap: 8px;

    flex-shrink: 0;

}


.monitor-event-status {

    border-radius: 999px;

    padding: 5px 9px;

    font-size: 12px;

    font-weight: 600;

}


.event-status-bad {

    background: #fee2e2;

    color: #b91c1c;

}


.event-status-good {

    background: #dcfce7;

    color: #15803d;

}


.monitor-event-time {

    color: #9ca3af;

    font-size: 12px;

}



/* =========================================================
   手机
   ========================================================= */

@media (max-width: 650px) {


    .monitor-event-card {

        flex-direction: column;

        align-items: flex-start;

    }


    .monitor-event-side {

        align-items: flex-start;

    }


}
/* =========================================================
   V1.2 顶部通知红点
   ========================================================= */

.notification-nav-link {

    display: inline-flex;

    align-items: center;

    gap: 6px;

}


.notification-nav-badge {

    min-width: 19px;

    height: 19px;

    padding: 0 5px;

    border-radius: 999px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    background: #dc2626;

    color: white;

    font-size: 11px;

    font-weight: 700;

}



/* =========================================================
   通知中心标题
   ========================================================= */

.notification-page-header {

    align-items: flex-start;

}



/* =========================================================
   统计
   ========================================================= */

.notification-summary {

    display: grid;

    grid-template-columns:
        repeat(2, 1fr);

    gap: 14px;

    margin-bottom: 18px;

}


.notification-summary > div {

    background: white;

    border: 1px solid #e5e7eb;

    border-radius: 12px;

    padding: 18px;

}


.notification-count-large {

    display: block;

    margin-top: 7px;

    font-size: 26px;

    color: #111827;

}



/* =========================================================
   通知列表
   ========================================================= */

.notification-list {

    display: flex;

    flex-direction: column;

    gap: 12px;

}



/* =========================================================
   单个通知
   ========================================================= */

.notification-card {

    display: flex;

    gap: 16px;

    padding: 20px;

    background: white;

    border: 1px solid #e5e7eb;

    border-radius: 12px;

}


.notification-unread {

    border-color: #bfdbfe;

    background: #f8fbff;

}



/* =========================================================
   图标
   ========================================================= */

.notification-icon {

    width: 38px;

    height: 38px;

    border-radius: 50%;

    display: flex;

    align-items: center;

    justify-content: center;

    flex-shrink: 0;

    font-weight: 800;

}


.notification-icon-warning {

    background: #fee2e2;

    color: #b91c1c;

}


.notification-icon-success {

    background: #dcfce7;

    color: #15803d;

}



/* =========================================================
   内容
   ========================================================= */

.notification-content {

    flex: 1;

}


.notification-title-row {

    display: flex;

    align-items: flex-start;

    justify-content: space-between;

    gap: 20px;

}


.notification-title {

    color: #111827;

    font-size: 17px;

    font-weight: 700;

}


.notification-new-badge {

    margin-left: 6px;

    border-radius: 4px;

    padding: 2px 5px;

    background: #2563eb;

    color: white;

    font-size: 10px;

    vertical-align: middle;

}


.notification-time {

    color: #9ca3af;

    font-size: 12px;

    white-space: nowrap;

}


.notification-message {

    margin-top: 9px;

    line-height: 1.7;

    color: #374151;

}


.notification-rule {

    margin-top: 7px;

    color: #6b7280;

    font-size: 13px;

}


.notification-actions {

    margin-top: 16px;

}



/* =========================================================
   次级按钮
   ========================================================= */

.secondary-button {

    background: #f3f4f6;

    color: #374151;

}



/* =========================================================
   手机
   ========================================================= */

@media (max-width: 650px) {


    .notification-summary {

        grid-template-columns:
            1fr;

    }


    .notification-page-header {

        flex-direction: column;

    }


    .notification-title-row {

        flex-direction: column;

        gap: 5px;

    }


    .notification-card {

        padding: 16px;

    }


}
/* =========================================================
   V1.3 投资时间线
   ========================================================= */


/* =========================================================
   返回
   ========================================================= */

.timeline-back {

    margin-bottom: 16px;

}


.back-link {

    color: #6b7280;

    text-decoration: none;

    font-size: 14px;

}


.back-link:hover {

    color: #111827;

}



/* =========================================================
   顶部统计
   ========================================================= */

.timeline-summary-grid {

    display: grid;

    grid-template-columns:
        repeat(5, 1fr);

    gap: 12px;

    margin-bottom: 18px;

}


.timeline-summary-card {

    background: white;

    border: 1px solid #e5e7eb;

    border-radius: 12px;

    padding: 18px;

}


.timeline-summary-value {

    margin-top: 8px;

    color: #111827;

    font-size: 25px;

    font-weight: 700;

}



/* =========================================================
   时间线主体
   ========================================================= */

.investment-timeline {

    margin-top: 24px;

}



/* =========================================================
   一个事件
   ========================================================= */

.timeline-item {

    display: grid;

    grid-template-columns:
        30px
        1fr;

    gap: 14px;

}



/* =========================================================
   左边时间轴
   ========================================================= */

.timeline-axis {

    position: relative;

    display: flex;

    align-items: center;

    flex-direction: column;

}


.timeline-dot {

    width: 14px;

    height: 14px;

    border-radius: 50%;

    margin-top: 21px;

    background: #9ca3af;

    flex-shrink: 0;

    z-index: 2;

}


.timeline-line {

    width: 2px;

    flex: 1;

    min-height: 45px;

    background: #e5e7eb;

}



/* =========================================================
   不同类型节点
   ========================================================= */

.timeline-dot-buy {

    background: #2563eb;

}


.timeline-dot-sell {

    background: #7c3aed;

}


.timeline-dot-warning {

    background: #dc2626;

}


.timeline-dot-success {

    background: #16a34a;

}


.timeline-dot-ai {

    background: #0891b2;

}


.timeline-dot-review {

    background: #d97706;

}


.timeline-dot-info {

    background: #4f46e5;

}


.timeline-dot-neutral {

    background: #9ca3af;

}



/* =========================================================
   事件卡片
   ========================================================= */

.timeline-card {

    background: white;

    border: 1px solid #e5e7eb;

    border-radius: 12px;

    padding: 18px;

    margin-bottom: 14px;

}


.timeline-card:hover {

    background: #fcfcfd;

}



/* =========================================================
   重要状态颜色
   ========================================================= */

.timeline-card-warning {

    border-left:
        4px solid #dc2626;

}


.timeline-card-success {

    border-left:
        4px solid #16a34a;

}



/* =========================================================
   卡片顶部
   ========================================================= */

.timeline-card-header {

    display: flex;

    align-items: flex-start;

    justify-content: space-between;

    gap: 20px;

}


.timeline-type {

    color: #9ca3af;

    font-size: 12px;

    font-weight: 600;

    margin-bottom: 5px;

}


.timeline-title {

    color: #111827;

    font-size: 17px;

    font-weight: 700;

}


.timeline-time {

    color: #9ca3af;

    font-size: 12px;

    white-space: nowrap;

}



/* =========================================================
   描述
   ========================================================= */

.timeline-description {

    margin-top: 10px;

    color: #4b5563;

    line-height: 1.8;

}



/* =========================================================
   操作
   ========================================================= */

.timeline-actions {

    margin-top: 13px;

}


.timeline-detail-link {

    color: #2563eb;

    text-decoration: none;

    font-size: 13px;

    font-weight: 600;

}


.timeline-detail-link:hover {

    text-decoration: underline;

}



/* =========================================================
   说明
   ========================================================= */

.timeline-info-box {

    margin-top: 18px;

}



/* =========================================================
   平板
   ========================================================= */

@media (max-width: 900px) {


    .timeline-summary-grid {

        grid-template-columns:
            repeat(3, 1fr);

    }


}



/* =========================================================
   手机
   ========================================================= */

@media (max-width: 650px) {


    .timeline-summary-grid {

        grid-template-columns:
            repeat(2, 1fr);

    }


    .timeline-card-header {

        flex-direction: column;

        gap: 7px;

    }


    .timeline-time {

        white-space: normal;

    }


}



/* =========================================================
   小屏手机
   ========================================================= */

@media (max-width: 420px) {


    .timeline-summary-grid {

        grid-template-columns:
            1fr;

    }


}
/* =========================================================
   V1.4 投资逻辑版本历史
   ========================================================= */

.thesis-history-summary {

    display: grid;

    grid-template-columns:
        repeat(2, 1fr);

    gap: 14px;

    margin-bottom: 18px;

}


.thesis-history-summary-card {

    background: white;

    border: 1px solid #e5e7eb;

    border-radius: 12px;

    padding: 18px;

}


.thesis-history-summary-value {

    margin-top: 8px;

    font-size: 26px;

    font-weight: 700;

    color: #111827;

}



/* =========================================================
   版本列表
   ========================================================= */

.thesis-version-list {

    display: flex;

    flex-direction: column;

    gap: 16px;

}



/* =========================================================
   版本卡片
   ========================================================= */

.thesis-version-card {

    background: white;

    border: 1px solid #e5e7eb;

    border-radius: 12px;

    padding: 20px;

}


.thesis-version-header {

    display: flex;

    align-items: flex-start;

    justify-content: space-between;

    gap: 20px;

}


.thesis-version-number {

    font-size: 20px;

    font-weight: 700;

    color: #111827;

}


.thesis-version-time {

    margin-top: 5px;

    color: #9ca3af;

    font-size: 12px;

}



/* =========================================================
   Badge
   ========================================================= */

.thesis-version-badge {

    background: #f3f4f6;

    color: #4b5563;

    border-radius: 999px;

    padding: 6px 10px;

    font-size: 12px;

    font-weight: 600;

}


.thesis-version-badge-change {

    background: #dbeafe;

    color: #1d4ed8;

}



/* =========================================================
   修改对比
   ========================================================= */

.thesis-change-list {

    display: flex;

    flex-direction: column;

    gap: 14px;

    margin-top: 20px;

}


.thesis-change-card {

    border-top: 1px solid #e5e7eb;

    padding-top: 16px;

}


.thesis-change-label {

    margin-bottom: 10px;

    font-weight: 700;

    color: #111827;

}


.thesis-change-grid {

    display: grid;

    grid-template-columns:
        repeat(2, 1fr);

    gap: 12px;

}


.thesis-change-old,
.thesis-change-new {

    border-radius: 8px;

    padding: 14px;

}


.thesis-change-old {

    background: #fef2f2;

}


.thesis-change-new {

    background: #f0fdf4;

}


.thesis-change-name {

    color: #6b7280;

    font-size: 12px;

    font-weight: 600;

    margin-bottom: 7px;

}


.thesis-change-content {

    color: #374151;

    line-height: 1.7;

    white-space: pre-wrap;

}



/* =========================================================
   初始版本
   ========================================================= */

.thesis-initial-description {

    margin-top: 18px;

    color: #6b7280;

}



/* =========================================================
   完整版本
   ========================================================= */

.thesis-version-details {

    margin-top: 20px;

    border-top: 1px solid #e5e7eb;

    padding-top: 16px;

}


.thesis-version-details summary {

    cursor: pointer;

    color: #2563eb;

    font-weight: 600;

}


.thesis-version-full {

    margin-top: 16px;

}


.thesis-version-field {

    padding: 14px 0;

    border-bottom: 1px solid #f3f4f6;

}


.thesis-version-field:last-child {

    border-bottom: none;

}


.thesis-version-field-name {

    color: #6b7280;

    font-size: 13px;

    margin-bottom: 6px;

}


.thesis-version-field-content {

    color: #1f2937;

    line-height: 1.8;

    white-space: pre-wrap;

}



/* =========================================================
   手机
   ========================================================= */

@media (max-width: 650px) {


    .thesis-history-summary {

        grid-template-columns:
            1fr;

    }


    .thesis-change-grid {

        grid-template-columns:
            1fr;

    }


    .thesis-version-header {

        flex-direction: column;

        gap: 10px;

    }


}
/* =========================================================
   V1.5 财务趋势分析
   ========================================================= */


/* =========================================================
   报告日期
   ========================================================= */

.financial-report-date {

    margin-top: 8px;

    color: #6b7280;

    font-size: 13px;

}



/* =========================================================
   财务指标卡片
   ========================================================= */

.financial-metric-grid {

    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap: 14px;

    margin-bottom: 18px;

}


.financial-metric-card {

    background: white;

    border: 1px solid #e5e7eb;

    border-radius: 12px;

    padding: 19px;

}


.financial-metric-good {

    border-top:
        3px solid #16a34a;

}


.financial-metric-warning {

    border-top:
        3px solid #dc2626;

}


.financial-metric-neutral {

    border-top:
        3px solid #9ca3af;

}


.financial-metric-value {

    margin-top: 8px;

    margin-bottom: 11px;

    font-size: 24px;

    font-weight: 700;

    color: #111827;

}


.financial-metric-detail {

    margin-top: 5px;

    color: #6b7280;

    font-size: 13px;

}



/* =========================================================
   趋势标签
   ========================================================= */

.financial-trend {

    display: inline-block;

    margin-top: 13px;

    border-radius: 999px;

    padding: 5px 9px;

    font-size: 12px;

    font-weight: 600;

}


.financial-trend-good {

    background: #dcfce7;

    color: #15803d;

}


.financial-trend-warning {

    background: #fee2e2;

    color: #b91c1c;

}


.financial-trend-neutral {

    background: #f3f4f6;

    color: #4b5563;

}



/* =========================================================
   财务观察
   ========================================================= */

.financial-observation-list {

    display: flex;

    flex-direction: column;

    gap: 10px;

}


.financial-observation {

    border-radius: 9px;

    padding: 14px 16px;

    line-height: 1.7;

}


.financial-observation-good {

    background: #f0fdf4;

    color: #166534;

}


.financial-observation-warning {

    background: #fff7ed;

    color: #9a3412;

}


.financial-observation-neutral {

    background: #f9fafb;

    color: #4b5563;

}


.financial-observation-icon {

    display: inline-block;

    width: 22px;

    font-weight: 700;

}



/* =========================================================
   财务历史表
   ========================================================= */

.financial-table-wrapper {

    overflow-x: auto;

}


.financial-table-row {

    display: grid;

    grid-template-columns:
        1.2fr
        1fr
        1.2fr
        1.2fr
        1.2fr;

    gap: 14px;

    min-width: 760px;

    padding: 13px 12px;

    align-items: center;

    border-bottom:
        1px solid #e5e7eb;

}


.financial-table-header {

    background: #f9fafb;

    border-radius: 8px;

    color: #6b7280;

    font-size: 13px;

    font-weight: 600;

}


.financial-table-date {

    color: #111827;

    font-weight: 600;

}



/* =========================================================
   指标解释
   ========================================================= */

.financial-explanation {

    line-height: 1.9;

    color: #4b5563;

}


.financial-explanation p {

    margin-top: 0;

    margin-bottom: 15px;

}


.financial-explanation p:last-child {

    margin-bottom: 0;

}



/* =========================================================
   平板
   ========================================================= */

@media (max-width: 900px) {


    .financial-metric-grid {

        grid-template-columns:
            repeat(2, 1fr);

    }


}



/* =========================================================
   手机
   ========================================================= */

@media (max-width: 550px) {


    .financial-metric-grid {

        grid-template-columns:
            1fr;

    }


}
/* =========================================================
   V1.6 历史估值
   ========================================================= */

.valuation-date {

    margin-top: 8px;

    color: #6b7280;

    font-size: 13px;

}



/* =========================================================
   顶部总览
   ========================================================= */

.valuation-overview-grid {

    display: grid;

    grid-template-columns:
        repeat(5, 1fr);

    gap: 12px;

    margin-bottom: 18px;

}


.valuation-overview-card {

    background: white;

    border: 1px solid #e5e7eb;

    border-radius: 12px;

    padding: 18px;

}


.valuation-big-value {

    margin-top: 8px;

    font-size: 24px;

    font-weight: 700;

    color: #111827;

}



/* =========================================================
   历史位置标签
   ========================================================= */

.valuation-zone {

    display: inline-block;

    margin-top: 10px;

    border-radius: 999px;

    padding: 5px 9px;

    font-size: 12px;

    font-weight: 600;

}


.valuation-zone-low {

    background: #dcfce7;

    color: #15803d;

}


.valuation-zone-medium {

    background: #f3f4f6;

    color: #4b5563;

}


.valuation-zone-high {

    background: #fee2e2;

    color: #b91c1c;

}


.valuation-zone-neutral {

    background: #f3f4f6;

    color: #6b7280;

}



/* =========================================================
   估值统计
   ========================================================= */

.valuation-stat-grid {

    display: grid;

    grid-template-columns:
        repeat(5, 1fr);

    gap: 12px;

}


.valuation-stat-item {

    background: #f9fafb;

    border: 1px solid #f3f4f6;

    border-radius: 9px;

    padding: 15px;

}


.valuation-stat-item span {

    display: block;

    color: #6b7280;

    font-size: 13px;

}


.valuation-stat-item strong {

    display: block;

    margin-top: 7px;

    color: #111827;

    font-size: 18px;

}


.valuation-sample-note {

    margin-top: 15px;

}



/* =========================================================
   历史图
   ========================================================= */

.valuation-chart {

    width: 100%;

    height: 430px;

}



/* =========================================================
   自动观察
   ========================================================= */

.valuation-observation-list {

    display: flex;

    flex-direction: column;

    gap: 10px;

}


.valuation-observation {

    padding: 14px 16px;

    border-radius: 9px;

    line-height: 1.7;

}


.valuation-observation-low {

    background: #f0fdf4;

    color: #166534;

}


.valuation-observation-medium {

    background: #f9fafb;

    color: #4b5563;

}


.valuation-observation-high,
.valuation-observation-warning {

    background: #fff7ed;

    color: #9a3412;

}


.valuation-observation-info {

    background: #eff6ff;

    color: #1e40af;

}


.valuation-observation-neutral {

    background: #f9fafb;

    color: #4b5563;

}



/* =========================================================
   平板
   ========================================================= */

@media (max-width: 950px) {


    .valuation-overview-grid {

        grid-template-columns:
            repeat(3, 1fr);

    }


    .valuation-stat-grid {

        grid-template-columns:
            repeat(3, 1fr);

    }


}



/* =========================================================
   手机
   ========================================================= */

@media (max-width: 650px) {


    .valuation-overview-grid {

        grid-template-columns:
            repeat(2, 1fr);

    }


    .valuation-stat-grid {

        grid-template-columns:
            repeat(2, 1fr);

    }


    .valuation-chart {

        height: 360px;

    }


}



/* =========================================================
   小屏手机
   ========================================================= */

@media (max-width: 420px) {


    .valuation-overview-grid {

        grid-template-columns:
            1fr;

    }


    .valuation-stat-grid {

        grid-template-columns:
            1fr;

    }


}
/* =========================================================
   V1.7 投资组合风险
   ========================================================= */


/* =========================================================
   顶部总览
   ========================================================= */

.risk-summary-grid {

    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap: 12px;

    margin-bottom: 18px;

}


.risk-summary-card {

    background: white;

    border: 1px solid #e5e7eb;

    border-radius: 12px;

    padding: 18px;

}


.risk-summary-value {

    margin-top: 8px;

    color: #111827;

    font-size: 22px;

    font-weight: 700;

}


.risk-summary-note {

    margin-top: 6px;

    color: #6b7280;

    font-size: 12px;

}



/* =========================================================
   风险提示
   ========================================================= */

.risk-warning-list {

    display: flex;

    flex-direction: column;

    gap: 10px;

}


.risk-warning {

    padding: 14px 16px;

    border-radius: 9px;

    background: #fff7ed;

    color: #9a3412;

    line-height: 1.7;

}



/* =========================================================
   数据异常提示
   ========================================================= */

.risk-data-warning-list {

    display: flex;

    flex-direction: column;

    gap: 9px;

}


.risk-data-warning {

    padding: 12px 14px;

    border-radius: 8px;

    background: #f9fafb;

    color: #6b7280;

}



/* =========================================================
   图
   ========================================================= */

.risk-chart {

    width: 100%;

    height: 430px;

}



/* =========================================================
   回测摘要
   ========================================================= */

.risk-backtest-summary {

    display: flex;

    gap: 30px;

    margin-top: 14px;

    margin-bottom: 10px;

    color: #4b5563;

}



/* =========================================================
   持仓风险表
   ========================================================= */

.risk-position-table {

    overflow-x: auto;

}


.risk-position-row {

    display: grid;

    grid-template-columns:
        1.5fr
        1.3fr
        1fr
        1.2fr
        1.1fr;

    gap: 14px;

    align-items: center;

    min-width: 760px;

    padding: 14px 12px;

    border-bottom:
        1px solid #e5e7eb;

}


.risk-position-header {

    background: #f9fafb;

    color: #6b7280;

    border-radius: 8px;

    font-size: 13px;

    font-weight: 600;

}


.risk-position-item {

    color: #374151;

    text-decoration: none;

}


.risk-position-item:hover {

    background: #f9fafb;

}



/* =========================================================
   相关性矩阵
   ========================================================= */

.correlation-table-wrapper {

    overflow-x: auto;

}


.correlation-table {

    width: 100%;

    min-width: 700px;

    border-collapse: collapse;

}


.correlation-table th,
.correlation-table td {

    padding: 12px;

    border-bottom:
        1px solid #e5e7eb;

    text-align: center;

}


.correlation-table thead th {

    background: #f9fafb;

    color: #6b7280;

    font-size: 13px;

}


.correlation-table tbody th {

    text-align: left;

    color: #111827;

}



/* =========================================================
   平板
   ========================================================= */

@media (max-width: 900px) {


    .risk-summary-grid {

        grid-template-columns:
            repeat(2, 1fr);

    }


}



/* =========================================================
   手机
   ========================================================= */

@media (max-width: 550px) {


    .risk-summary-grid {

        grid-template-columns:
            1fr;

    }


    .risk-chart {

        height: 360px;

    }


    .risk-backtest-summary {

        flex-direction: column;

        gap: 6px;

    }


}
/* =========================================================
   V1.8 投资决策分析
   ========================================================= */


/* =========================================================
   总览
   ========================================================= */

.decision-summary-grid {

    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap: 12px;

    margin-bottom: 18px;

}


.decision-summary-card {

    background: white;

    border: 1px solid #e5e7eb;

    border-radius: 12px;

    padding: 18px;

}


.decision-summary-value {

    margin-top: 8px;

    color: #111827;

    font-size: 24px;

    font-weight: 700;

}


.decision-positive {

    color: #15803d;

}


.decision-negative {

    color: #b91c1c;

}



/* =========================================================
   当前发现
   ========================================================= */

.decision-insight-list {

    display: flex;

    flex-direction: column;

    gap: 10px;

}


.decision-insight {

    padding: 14px 16px;

    border-radius: 9px;

    background: #eff6ff;

    color: #1e3a8a;

    line-height: 1.7;

}



/* =========================================================
   错误模式
   ========================================================= */

.decision-pattern-list {

    display: flex;

    flex-direction: column;

    gap: 14px;

}


.decision-pattern-card {

    border: 1px solid #e5e7eb;

    border-radius: 11px;

    padding: 18px;

    background: white;

}


.decision-pattern-header {

    display: flex;

    justify-content: space-between;

    align-items: flex-start;

    gap: 20px;

}


.decision-pattern-name {

    font-size: 17px;

    font-weight: 700;

    color: #111827;

}


.decision-pattern-count {

    margin-top: 5px;

    color: #6b7280;

    font-size: 13px;

}


.decision-pattern-return {

    color: #374151;

    font-weight: 600;

}


.decision-pattern-loss-rate {

    margin-top: 13px;

    color: #6b7280;

    font-size: 13px;

}


.decision-pattern-suggestion {

    margin-top: 14px;

    padding: 13px 14px;

    border-radius: 8px;

    background: #f9fafb;

    color: #4b5563;

    line-height: 1.7;

}



/* =========================================================
   图
   ========================================================= */

.decision-chart {

    width: 100%;

    height: 420px;

}



/* =========================================================
   投资逻辑结果
   ========================================================= */

.decision-thesis-grid {

    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap: 12px;

}


.decision-thesis-card {

    padding: 16px;

    border: 1px solid #e5e7eb;

    border-radius: 10px;

    background: #f9fafb;

}


.decision-thesis-value {

    margin-top: 7px;

    font-size: 22px;

    font-weight: 700;

    color: #111827;

}


.decision-thesis-percent {

    margin-top: 4px;

    color: #6b7280;

    font-size: 12px;

}



/* =========================================================
   最近复盘
   ========================================================= */

.decision-review-list {

    overflow-x: auto;

}


.decision-review-row {

    display: grid;

    grid-template-columns:
        1.5fr
        1.4fr
        1fr
        1fr;

    gap: 14px;

    min-width: 700px;

    align-items: center;

    padding: 14px 12px;

    border-bottom: 1px solid #e5e7eb;

    color: #374151;

    text-decoration: none;

}


.decision-review-row:hover {

    background: #f9fafb;

}



/* =========================================================
   平板
   ========================================================= */

@media (max-width: 900px) {


    .decision-summary-grid {

        grid-template-columns:
            repeat(2, 1fr);

    }


    .decision-thesis-grid {

        grid-template-columns:
            repeat(2, 1fr);

    }


}



/* =========================================================
   手机
   ========================================================= */

@media (max-width: 550px) {


    .decision-summary-grid {

        grid-template-columns:
            1fr;

    }


    .decision-thesis-grid {

        grid-template-columns:
            1fr;

    }


    .decision-pattern-header {

        flex-direction: column;

        gap: 8px;

    }


    .decision-chart {

        height: 350px;

    }


}
/* =========================================================
   V1.9 AI投资委员会
   ========================================================= */


/* =========================================================
   页面描述
   ========================================================= */

.committee-description {

    margin-top: 10px;

    color: #6b7280;

    line-height: 1.7;

}



/* =========================================================
   历史错误模式
   ========================================================= */

.committee-pattern-grid {

    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap: 12px;

}


.committee-pattern-card {

    padding: 15px;

    border: 1px solid #e5e7eb;

    border-radius: 10px;

    background: #f9fafb;

}


.committee-pattern-name {

    color: #111827;

    font-weight: 700;

}


.committee-pattern-count {

    margin-top: 6px;

    color: #6b7280;

    font-size: 13px;

}


.committee-pattern-return {

    margin-top: 5px;

    color: #6b7280;

    font-size: 13px;

}


.committee-no-pattern {

    padding: 14px;

    border-radius: 8px;

    background: #f9fafb;

    color: #6b7280;

}



/* =========================================================
   表单
   ========================================================= */

.committee-form {

    max-width: 850px;

}


.committee-form-grid {

    display: grid;

    grid-template-columns:
        repeat(2, 1fr);

    gap: 14px;

}


.committee-form .form-group {

    margin-bottom: 16px;

}


.committee-form label {

    display: block;

    margin-bottom: 7px;

    color: #374151;

    font-weight: 600;

}


.committee-form input,
.committee-form select,
.committee-form textarea {

    width: 100%;

    box-sizing: border-box;

    border: 1px solid #d1d5db;

    border-radius: 8px;

    padding: 11px 12px;

    font: inherit;

    background: white;

}


.committee-form textarea {

    resize: vertical;

}


.committee-submit {

    margin-top: 5px;

}



/* =========================================================
   本次报告
   ========================================================= */

.committee-result-section {

    border-top:
        3px solid #2563eb;

}


.committee-result-header {

    display: flex;

    justify-content: space-between;

    align-items: flex-start;

}


.committee-result-meta {

    margin-top: 4px;

    color: #9ca3af;

    font-size: 12px;

}


.committee-report {

    margin-top: 20px;

    padding: 20px;

    border-radius: 10px;

    background: #f9fafb;

    color: #1f2937;

    line-height: 1.9;

    white-space: pre-wrap;

}



/* =========================================================
   历史报告
   ========================================================= */

.committee-history-list {

    display: flex;

    flex-direction: column;

    gap: 10px;

}


.committee-history-card {

    border: 1px solid #e5e7eb;

    border-radius: 10px;

    background: white;

}


.committee-history-card summary {

    cursor: pointer;

    padding: 15px 17px;

    list-style-position: inside;

}


.committee-history-time {

    margin-top: 4px;

    margin-left: 20px;

    color: #9ca3af;

    font-size: 12px;

}


.committee-history-answer {

    padding: 0 18px 18px 18px;

    border-top: 1px solid #f3f4f6;

    padding-top: 16px;

    color: #374151;

    line-height: 1.8;

    white-space: pre-wrap;

}



/* =========================================================
   平板
   ========================================================= */

@media (max-width: 850px) {


    .committee-pattern-grid {

        grid-template-columns:
            repeat(2, 1fr);

    }


}



/* =========================================================
   手机
   ========================================================= */

@media (max-width: 550px) {


    .committee-pattern-grid {

        grid-template-columns:
            1fr;

    }


    .committee-form-grid {

        grid-template-columns:
            1fr;

    }


    .committee-report {

        padding: 15px;

    }


}
/* =========================================================
   V2.0
   登录、退出、错误页面
   ========================================================= */


/* =========================================================
   导航退出
   ========================================================= */

.logout-form {

    margin: 0;

    padding: 0;

}


.logout-link {

    border: none;

    background: transparent;

    font-family: inherit;

    cursor: pointer;

}



/* =========================================================
   登录页
   ========================================================= */

.login-body {

    margin: 0;

    min-height: 100vh;

    background: #f5f6f8;

}


.login-page {

    min-height: 100vh;

    display: flex;

    align-items: center;

    justify-content: center;

    padding: 24px;

    box-sizing: border-box;

}


.login-card {

    width: 100%;

    max-width: 420px;

    padding: 36px;

    box-sizing: border-box;

    background: white;

    border: 1px solid #e5e7eb;

    border-radius: 16px;

}


.login-logo {

    margin-bottom: 30px;

    color: #111827;

    font-size: 20px;

    font-weight: 700;

}


.login-card h1 {

    margin-top: 0;

    margin-bottom: 8px;

    color: #111827;

}


.login-description {

    margin-top: 0;

    margin-bottom: 25px;

    color: #6b7280;

    line-height: 1.7;

}


.login-error {

    margin-bottom: 18px;

    padding: 12px 14px;

    border-radius: 8px;

    background: #fef2f2;

    color: #b91c1c;

}


.login-form .form-group {

    margin-bottom: 18px;

}


.login-form label {

    display: block;

    margin-bottom: 7px;

    color: #374151;

    font-weight: 600;

}


.login-form input {

    width: 100%;

    padding: 11px 12px;

    box-sizing: border-box;

    border: 1px solid #d1d5db;

    border-radius: 8px;

    font: inherit;

}


.login-form input:focus {

    outline: none;

    border-color: #2563eb;

}


.login-button {

    width: 100%;

    margin-top: 5px;

}



/* =========================================================
   错误页面
   ========================================================= */

.error-page-body {

    margin: 0;

    min-height: 100vh;

    background: #f5f6f8;

}


.error-page {

    min-height: 100vh;

    display: flex;

    align-items: center;

    justify-content: center;

    padding: 24px;

    box-sizing: border-box;

}


.error-card {

    width: 100%;

    max-width: 520px;

    padding: 40px;

    box-sizing: border-box;

    text-align: center;

    background: white;

    border: 1px solid #e5e7eb;

    border-radius: 16px;

}


.error-code {

    color: #9ca3af;

    font-size: 56px;

    font-weight: 800;

}


.error-card h1 {

    margin-top: 10px;

    color: #111827;

}


.error-card p {

    margin-bottom: 25px;

    color: #6b7280;

    line-height: 1.8;

}



/* =========================================================
   手机
   ========================================================= */

@media (max-width: 550px) {


    .login-card {

        padding: 25px;

    }


    .error-card {

        padding: 28px 20px;

    }


}
/* =========================================================
   V2.1
   多用户
   ========================================================= */

.nav-user {

    padding-left: 8px;

    padding-right: 2px;

    color: #9ca3af;

    font-size: 13px;

}


.login-switch {

    margin-top: 22px;

    text-align: center;

    color: #6b7280;

    font-size: 14px;

}


.login-switch a {

    color: #2563eb;

    text-decoration: none;

    font-weight: 600;

}


.login-switch a:hover {

    text-decoration: underline;

}


.login-field-hint {

    margin-top: 6px;

    color: #9ca3af;

    font-size: 12px;

}