:root{
    --primary:#0f4c81;
    --primary-light:#e3f2fd;
    --accent:#ff7043;
    --accent-light:#fff3e0;
    --bg:#f9fbfd;
    --card:#ffffff;
    --text:#263238;
    --text-secondary:#455a64;
    --border:#e0e0e0;
    --success:#4caf50;
    --warning:#ff9800;
    --shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(8, 4, 4, 0.06);
    --shadow-lg:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    --radius:8px;
    --transition:all 0.3s ease;
}

/* 加载中状态样式 */
#loading {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.8);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
}

#loading div {
    text-align: center;
}

#loading i {
    margin-bottom: 20px;
}
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    scroll-behavior:smooth;
}
body{
    font-family:'Segoe UI','Microsoft YaHei',system-ui,sans-serif;
    line-height:1.6;
    color:var(--text);
    max-width:1000px;
    margin:0 auto;
    padding:20px;
    background:linear-gradient(135deg, var(--bg) 0%, #f0f4f8 100%);
}
h1,h2,h3,h4,h5,h6{
    font-weight:700;
    line-height:1.2;
    margin-bottom:1rem;
    color:var(--primary);
}
h1{
    font-size:2.5rem;
}
h2{
    font-size:1.8rem;
    margin-bottom:1.2rem;
    padding-bottom:0.8rem;
    border-bottom:3px solid var(--accent);
    position:relative;
}
h2:after{
    content:'';
    position:absolute;
    bottom:-3px;
    left:0;
    width:80px;
    height:3px;
    background:var(--primary);
}
h3{
    font-size:1.4rem;
    margin:1.5rem 0 1rem;
    color:var(--text);
}
h4{
    font-size:1.1rem;
    margin-bottom:0.8rem;
    color:var(--text);
}
p{
    margin-bottom:1rem;
    color:var(--text-secondary);
}
ul,ol{
    padding-left:1.5rem;
    margin:1rem 0;
}
ul li, ol li{
    margin-bottom:0.5rem;
    color:var(--text-secondary);
}
.print-button{
    position:fixed;
    top:20px;
    right:20px;
    background:linear-gradient(135deg, var(--accent), #ff9800);
    color:white;
    border:none;
    padding:10px 20px;
    border-radius:var(--radius);
    font-size:0.9rem;
    font-weight:600;
    cursor:pointer;
    z-index:1000;
    box-shadow:var(--shadow);
    transition:var(--transition);
}
.print-button:hover{
    transform:translateY(-2px);
    box-shadow:var(--shadow-lg);
}
.print-button:active{
    transform:translateY(0);
    box-shadow:var(--shadow);
}
.report-button{
    position:fixed;
    top:70px;
    right:20px;
    background:linear-gradient(135deg, var(--primary), #1565c0);
    color:white;
    border:none;
    padding:10px 20px;
    border-radius:var(--radius);
    font-size:0.9rem;
    font-weight:600;
    cursor:pointer;
    z-index:1000;
    box-shadow:var(--shadow);
    transition:var(--transition);
}
.report-button:hover{
    transform:translateY(-2px);
    box-shadow:var(--shadow-lg);
}
.report-button:active{
    transform:translateY(0);
    box-shadow:var(--shadow);
}
header{
    background:linear-gradient(135deg, var(--primary), #1565c0);
    color:white;
    padding:40px;
    text-align:center;
    margin-bottom:30px;
    border-radius:var(--radius);
    box-shadow:var(--shadow-lg);
    position:relative;
    overflow:hidden;
}
header::before{
    content:'';
    position:absolute;
    top:0;
    left:0;
    right:0;
    bottom:0;
    background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100"><circle cx="10" cy="10" r="2" fill="rgba(255,255,255,0.1)"/><circle cx="50" cy="50" r="2" fill="rgba(255,255,255,0.1)"/><circle cx="90" cy="90" r="2" fill="rgba(255,255,255,0.1)"/><circle cx="90" cy="10" r="2" fill="rgba(255,255,255,0.1)"/><circle cx="10" cy="90" r="2" fill="rgba(255,255,255,0.1)"/></svg>');
    opacity:0.3;
}
header h1{
    font-size:2.5rem;
    margin-bottom:1rem;
    color:white;
    position:relative;
    z-index:1;
}
header p{
    font-size:1.1rem;
    color:rgba(255,255,255,0.9);
    position:relative;
    z-index:1;
}
@media (max-width:480px){
    .print-button{display:none;}
    .report-button{display:none;}
    header{
        padding:25px;
    }
    header h1{
        font-size:2rem;
    }
}
/* 模态窗口样式 */
.modal{
    display:none;
    position:fixed;
    z-index:2000;
    left:0;
    top:0;
    width:100%;
    height:100%;
    overflow:auto;
    background-color:rgba(0,0,0,0.5);
}
.modal-content{
    background-color:var(--card);
    margin:10% auto;
    padding:30px;
    border-radius:var(--radius);
    box-shadow:var(--shadow-lg);
    width:80%;
    max-width:800px;
    max-height:80vh;
    overflow-y:auto;
    position:relative;
}
.close{
    color:var(--text-secondary);
    float:right;
    font-size:28px;
    font-weight:bold;
    cursor:pointer;
    position:absolute;
    top:15px;
    right:20px;
}
.close:hover,
.close:focus{
    color:var(--primary);
    text-decoration:none;
}
.modal h3{
    margin-top:0;
    color:var(--primary);
    border-bottom:2px solid var(--accent);
    padding-bottom:10px;
    margin-bottom:20px;
}
.report-list{
    list-style:none;
    padding:0;
    margin:0 0 20px 0;
}
.report-list li{
    padding:15px;
    border-bottom:1px solid var(--border);
    transition:var(--transition);
    cursor:pointer;
}
.report-list li:hover{
    background-color:var(--primary-light);
    transform:translateX(5px);
}

/* 报告表格样式 */
.report-table{
    width:100%;
    border-collapse:collapse;
    margin:20px 0;
    border-radius:var(--radius);
    overflow:hidden;
    box-shadow:var(--shadow);
}

.report-table th{
    background:linear-gradient(135deg, var(--primary), #1565c0);
    color:white;
    font-size:0.9rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:0.5px;
    padding:12px 15px;
    text-align:left;
}

.report-table td{
    padding:10px 15px;
    text-align:left;
    border-bottom:1px solid var(--border);
    color:var(--text-secondary);
}

.report-table tr:nth-child(even){
    background:var(--primary-light);
}

.report-table tr:hover{
    background:#e3f2fd;
    transform:translateX(2px);
    transition:var(--transition);
    cursor:pointer;
}

.report-link{
    color:var(--primary);
    text-decoration:none;
    font-weight:600;
    transition:var(--transition);
}

.report-link:hover{
    color:var(--accent);
    text-decoration:underline;
}
.report-list li:last-child{
    border-bottom:none;
}
.report-date{
    font-size:0.8rem;
    color:var(--text-secondary);
    margin-bottom:5px;
}
.report-title{
    font-weight:600;
    color:var(--primary);
    margin-bottom:5px;
}
.report-summary{
    font-size:0.9rem;
    color:var(--text-secondary);
}
.pagination{
    display:flex;
    justify-content:center;
    align-items:center;
    margin-top:20px;
    gap:10px;
}
.pagination button{
    background-color:var(--primary-light);
    border:1px solid var(--border);
    color:var(--primary);
    padding:8px 16px;
    border-radius:var(--radius);
    cursor:pointer;
    transition:var(--transition);
    font-weight:600;
}
.pagination button:hover:not(:disabled){
    background-color:var(--primary);
    color:white;
    transform:translateY(-2px);
}
.pagination button:disabled{
    opacity:0.5;
    cursor:not-allowed;
}
.pagination .page-info{
    color:var(--text-secondary);
    font-size:0.9rem;
}
.pagination .current-page{
    background-color:var(--primary);
    color:white;
    border-color:var(--primary);
}
section{
    background:var(--card);
    padding:25px;
    margin-bottom:25px;
    border-radius:var(--radius);
    box-shadow:var(--shadow);
    transition:var(--transition);
}
section:hover{
    box-shadow:var(--shadow-lg);
    transform:translateY(-2px);
}
.goal-list{
        display:grid;
        grid-template-columns:repeat(2, 1fr);
        gap:15px;
        margin:20px 0;
        width:100%;
    }
    .goal-item{
        background:var(--primary-light);
        padding:15px;
        border-radius:var(--radius);
        border-left:4px solid var(--accent);
        box-sizing:border-box;
    }
    .goal-item h4{
        color:var(--primary);
        margin-bottom:0.5rem;
        font-size:0.9rem;
    }
    .goal-item p{
        font-size:0.85rem;
        color:var(--text-secondary);
        line-height:1.4;
        margin-bottom:0;
    }
.goal-item{
    background:var(--primary-light);
    padding:20px;
    border-radius:var(--radius);
    border-left:4px solid var(--accent);
    transition:var(--transition);
}
.goal-item:hover{
    transform:translateX(5px);
    box-shadow:var(--shadow);
}
.goal-item h4{
    color:var(--primary);
    margin-bottom:0.8rem;
}
.goal-item p{
    font-size:0.95rem;
    color:var(--text-secondary);
    line-height:1.5;
}
.progress-tracker{
    display:flex;
    justify-content:space-between;
    margin:20px 0;
    padding:20px 0;
    background:var(--primary-light);
    border-radius:var(--radius);
    padding:20px;
}
.progress-step{
    flex:1;
    text-align:center;
    position:relative;
}
.progress-step:not(:last-child):after{
    content:'';
    position:absolute;
    top:20px;
    right:-50%;
    width:100%;
    height:2px;
    background:var(--accent);
    z-index:1;
}
.progress-circle{
    width:40px;
    height:40px;
    border-radius:50%;
    background:linear-gradient(135deg, var(--accent), #ff9800);
    color:white;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-bottom:10px;
    font-size:0.9rem;
    font-weight:700;
    box-shadow:var(--shadow);
    position:relative;
    z-index:2;
}
.progress-label{
    font-size:0.9rem;
    font-weight:600;
    color:var(--primary);
}
table{
    width:100%;
    border-collapse:collapse;
    margin:20px 0;
    border-radius:var(--radius);
    overflow:hidden;
    box-shadow:var(--shadow);
}
th,td{
    padding:12px 15px;
    text-align:left;
    border-bottom:1px solid var(--border);
}
th{
    background:linear-gradient(135deg, var(--primary), #1565c0);
    color:white;
    font-size:0.9rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:0.5px;
}
tr:nth-child(even){
    background:var(--primary-light);
}
tr:hover{
    background:#e3f2fd;
    transform:translateX(2px);
    transition:var(--transition);
}
.badge{
    display:inline-block;
    background:linear-gradient(135deg, var(--accent), #ff9800);
    color:white;
    padding:4px 12px;
    border-radius:20px;
    font-size:0.8rem;
    font-weight:600;
    margin-right:8px;
    margin-bottom:8px;
    box-shadow:var(--shadow);
    transition:var(--transition);
}
.badge:hover{
    transform:translateY(-2px);
    box-shadow:var(--shadow-lg);
    scale:1.05;
}
.note{
    background:var(--accent-light);
    padding:20px;
    border-radius:var(--radius);
    border-left:4px solid var(--accent);
    margin:20px 0;
    box-shadow:var(--shadow);
}
.note h4{
    color:var(--primary);
    margin-bottom:10px;
}
.flex-container{
    display:flex;
    flex-wrap:wrap;
    gap:15px;
    margin:20px 0;
}
.flex-item{
    flex:1;
    min-width:220px;
    background:var(--primary-light);
    padding:20px;
    border-radius:var(--radius);
    box-shadow:var(--shadow);
    transition:var(--transition);
}
.flex-item:hover{
    transform:translateY(-3px);
    box-shadow:var(--shadow-lg);
}
.flex-item h4{
    color:var(--primary);
    margin-bottom:10px;
    padding-bottom:8px;
    border-bottom:2px solid var(--accent);
}
.summary{
    background:linear-gradient(135deg, var(--primary-light), #e1f5fe);
    padding:25px;
    border-radius:var(--radius);
    margin-top:20px;
    box-shadow:var(--shadow);
    border-left:4px solid var(--primary);
}
.summary h4{
    color:var(--primary);
    margin-top:15px;
    margin-bottom:10px;
}
.summary ul{
    margin:10px 0;
}
.summary ul li{
    margin-bottom:8px;
}
.summary strong{
    color:var(--primary);
    font-weight:700;
}
.expected-outcomes-table{
    width:100%;
    border-collapse:collapse;
    margin:15px 0;
    border-radius:var(--radius);
    overflow:hidden;
    box-shadow:var(--shadow);
}
.expected-outcomes-table th{
    background:linear-gradient(135deg, var(--primary), #1565c0);
    color:white;
    font-size:0.9rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:0.5px;
    padding:12px 15px;
    text-align:left;
}
.expected-outcomes-table td{
    padding:10px 15px;
    text-align:left;
    border-bottom:1px solid var(--border);
    color:var(--text-secondary);
}
.expected-outcomes-table tr:nth-child(even){
    background:var(--primary-light);
}
.expected-outcomes-table tr:hover{
    background:#e3f2fd;
    transform:translateX(2px);
    transition:var(--transition);
}


/* 打印样式 */
@media print{

    /* 强制启用背景打印 */
    * {
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
        -moz-print-color-adjust: exact !important;
        -ms-print-color-adjust: exact !important;
    }
    
    /* 确保背景元素的样式 */
    header, th, .goal-item, .progress-tracker, .note, .flex-item, .summary {
        background: inherit !important;
        color: inherit !important;
    }

    /* 打印样式设置 */
    @page {
        size: A4;
        margin: 5mm;
    }

    .print-button{
        display:none;
    }
    .report-button{
        display:none;
    }
    .modal{
        display:none;
    }
    body{
        background:white;
        color:var(--text);
        padding:0 !important;
        margin:0 !important;
        width:100% !important;
        max-width:100% !important;
    }
    section{
        background:var(--card) !important;
        padding:15px !important;
        margin-bottom:15px !important;
        border-radius:var(--radius) !important;
        box-shadow:none !important;
        width:100% !important;
        max-width:100% !important;
        margin-left:0 !important;
        margin-right:0 !important;
    }
    .goal-list{
        width:100% !important;
        max-width:100% !important;
    }
    .progress-tracker{
        width:100% !important;
        max-width:100% !important;
    }
    .flex-container{
        width:100% !important;
        max-width:100% !important;
    }
    .summary{
        width:100% !important;
        max-width:100% !important;
    }
    /* 训练部分表格样式 - 已移至下方统一管理 */
    /* 表格样式 - 已移至下方统一管理 */
    header{
        background:linear-gradient(135deg, var(--primary), #1565c0) !important;
        color:white !important;
        padding:30px !important;
        text-align:center !important;
        margin-bottom:20px !important;
        border-radius:var(--radius) !important;
        position:relative !important;
        overflow:hidden !important;
    }
    header::before{
        display:none !important;
    }
    header h1, header p{
        color:white !important;
        position:relative !important;
        z-index:1 !important;
    }

    .goal-list{
        display:grid !important;
        grid-template-columns:repeat(2, 1fr) !important;
        gap:15px !important;
        margin:20px 0 !important;
        width:100% !important;
    }
    .goal-item{
        background:var(--primary-light) !important;
        padding:15px !important;
        border-radius:var(--radius) !important;
        border-left:4px solid var(--accent) !important;
        box-sizing:border-box !important;
        page-break-inside:avoid !important;
    }
    .goal-item h4{
        color:var(--primary) !important;
        margin-bottom:0.5rem !important;
        font-size:0.9rem !important;
    }
    .goal-item p{
        font-size:0.85rem !important;
        color:var(--text-secondary) !important;
        line-height:1.4 !important;
        margin-bottom:0 !important;
    }
    .progress-tracker{
        display:flex !important;
        flex-direction:row !important;
        justify-content:space-between !important;
        align-items:center !important;
        margin:15px 0 !important;
        padding:15px !important;
        background:var(--primary-light) !important;
        border-radius:var(--radius) !important;
        min-height:70px !important;
    }
    .progress-step{
        flex:1 !important;
        text-align:center !important;
        position:relative !important;
        display:flex !important;
        flex-direction:column !important;
        align-items:center !important;
    }
    .progress-step:not(:last-child):after{
        content:'' !important;
        position:absolute !important;
        top:20px !important;
        right:-50% !important;
        width:100% !important;
        height:2px !important;
        background:var(--accent) !important;
        z-index:1 !important;
    }
    .progress-circle{
        width:40px !important;
        height:40px !important;
        border-radius:50% !important;
        background:linear-gradient(135deg, var(--accent), #ff9800) !important;
        color:white !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        margin-bottom:5px !important;
        font-size:0.9rem !important;
        font-weight:700 !important;
        position:relative !important;
        z-index:2 !important;
    }
    .progress-label{
        font-size:0.75rem !important;
        font-weight:600 !important;
        color:var(--primary) !important;
        text-align:center !important;
        line-height:1.2 !important;
    }
    .badge{
        display:inline-block !important;
        background:linear-gradient(135deg, var(--accent), #ff9800) !important;
        color:white !important;
        padding:4px 12px !important;
        border-radius:20px !important;
        font-size:0.8rem !important;
        font-weight:600 !important;
        margin-right:8px !important;
        margin-bottom:8px !important;
    }
    .note{
        background:var(--accent-light) !important;
        padding:20px !important;
        border-radius:var(--radius) !important;
        border-left:4px solid var(--accent) !important;
        margin:20px 0 !important;
    }
    .note h4{
        color:var(--primary) !important;
        margin-bottom:10px !important;
    }
    .flex-container{
        display:flex !important;
        flex-wrap:wrap !important;
        gap:15px !important;
        margin:20px 0 !important;
        flex-direction:row !important;
        justify-content:space-between !important;
    }
    .flex-item{
        flex:0 0 calc(33.333% - 10px) !important;
        max-width:calc(33.333% - 10px) !important;
        min-width:calc(33.333% - 10px) !important;
        background:var(--primary-light) !important;
        padding:15px !important;
        border-radius:var(--radius) !important;
        page-break-inside:avoid !important;
    }
    .flex-item h4{
        color:var(--primary) !important;
        margin-bottom:10px !important;
        padding-bottom:8px !important;
        border-bottom:2px solid var(--accent) !important;
    }
    .summary{
        background:linear-gradient(135deg, var(--primary-light), #e1f5fe) !important;
        padding:25px !important;
        border-radius:var(--radius) !important;
        margin-top:20px !important;
        border-left:4px solid var(--primary) !important;
    }
    .summary h4{
        color:var(--primary) !important;
        margin-top:15px !important;
        margin-bottom:10px !important;
    }
    .summary ul{
        margin:10px 0 !important;
    }
    .summary ul li{
        margin-bottom:8px !important;
    }
    .summary strong{
        color:var(--primary) !important;
        font-weight:700 !important;
    }
    .expected-outcomes-table{
        width:100% !important;
        max-width:100% !important;
        border-collapse:collapse !important;
        margin:10px 0 !important;
        border-radius:var(--radius) !important;
        overflow:hidden !important;
        box-shadow:none !important;
        font-size:0.8rem !important;
    }
    .expected-outcomes-table th{
        background:linear-gradient(135deg, var(--primary), #1565c0) !important;
        color:white !important;
        font-size:0.75rem !important;
        font-weight:700 !important;
        text-transform:uppercase !important;
        letter-spacing:0.5px !important;
        padding:6px 8px !important;
        text-align:left !important;
    }
    .expected-outcomes-table td{
        padding:6px 8px !important;
        text-align:left !important;
        border-bottom:1px solid var(--border) !important;
        color:var(--text-secondary) !important;
        font-size:0.75rem !important;
        word-wrap:break-word !important;
    }
    .expected-outcomes-table tr:nth-child(even){
        background:var(--primary-light) !important;
    }
    section{
        background:var(--card) !important;
        padding:15px !important;
        margin-bottom:15px !important;
        border-radius:var(--radius) !important;
        box-shadow:none !important;
    }
    /* 表格样式 - 已移至下方统一管理 */
    /* === 统一表格样式管理 === */
    
    /* 通用表格样式 */
    table{
        font-size:0.8rem !important; /* 基础字体大小 */
        margin:10px 0 !important;   /* 表格上下间距 */
        border-radius:var(--radius) !important; /* 圆角边框 */
        overflow:hidden !important; /* 隐藏超出圆角的内容 */
        box-shadow:none !important;  /* 无阴影 */
        width:100% !important;   /* 表格宽度 */
        max-width:100% !important; /* 最大宽度 */
        table-layout:fixed !important; /* 自动调整列宽 */
        border-collapse:collapse !important; /* 合并边框 */
    }
    
    th, td{
        padding:6px 8px !important; /* 单元格内边距 */
        word-wrap:break-word !important; /* 自动换行 */
        font-size:0.75rem !important; /* 字体大小 */
    }
    
    th{
        background:linear-gradient(135deg, var(--primary), #1565c0) !important; /* 表头背景渐变 */
        color:white !important; /* 表头文字颜色 */
        font-size:0.8rem !important; /* 表头字体大小 */
        font-weight:700 !important; /* 表头字体粗细 */
        text-transform:uppercase !important; /* 表头文字大写 */
        letter-spacing:0.5px !important; /* 表头文字间距 */
    }
    
    td{
        border-bottom:1px solid var(--border) !important; /* 单元格底部边框 */
        color:var(--text-secondary) !important; /* 单元格文字颜色 */
    }
    
    tr:nth-child(even){
        background:var(--primary-light) !important; /* 偶数行背景颜色 */
    }
    
    /* 训练部分样式 */
    .training-section{
        margin-bottom:15px !important; /* 训练部分底部间距 */
        width:100% !important; /* 训练部分宽度 */
        max-width:100% !important; /* 最大宽度 */
    }
    
    .training-section table{
        margin:5px 0 !important; /* 训练表格上下间距 */
    }
    
    .training-section h3{
        margin:0 0 0 0 !important; /* 训练标题间距 */
        font-size:1rem !important; /* 训练标题字体大小 */
        line-height:1.2 !important; /* 训练标题行高 */
    }
    
    .training-section p{
        margin:0 0 0 0 !important; /* 训练段落间距 */
        font-size:0.85rem !important; /* 训练段落字体大小 */
        line-height:1.3 !important; /* 训练段落行高 */
        display:none !important; /* 初始隐藏段落 */
    }
    
    /* 饮食表格样式 */
    .diet-table{
        font-size:0.75rem !important;
    }
    
    .diet-table th, .diet-table td{
        padding:5px 7px !important;
        font-size:0.7rem !important;
        white-space:normal !important;
    }
    
    .diet-table th:last-child, .diet-table td:last-child{
        min-width:120px !important;
    }
    
    /* 预期成果表格样式 */
    .expected-outcomes-table{
        margin:10px 0 !important;
    }
    
    .expected-outcomes-table th{
        font-size:0.75rem !important;
        padding:6px 8px !important;
    }
    
    .expected-outcomes-table td{
        padding:6px 8px !important;
        font-size:0.75rem !important;
    }
    h1,h2,h3,h4,h5,h6{
        font-weight:700 !important;
        line-height:1.2 !important;
        margin-bottom:0.8rem !important;
        color:var(--primary) !important;
    }
    h1{
        font-size:1.6rem !important;
    }
    h2{
        font-size:1.3rem !important;
        margin-bottom:1rem !important;
        padding-bottom:0.6rem !important;
        border-bottom:3px solid var(--accent) !important;
        position:relative !important;
    }
    h3{
        font-size:1rem !important;
    }
    h4{
        font-size:0.9rem !important;
    }
    p{
        margin-bottom:1rem !important;
        color:var(--text-secondary) !important;
        font-size:0.85rem !important;
    }
    ul,ol{
        padding-left:1.5rem !important;
        margin:1rem 0 !important;
    }
    ul li, ol li{
        margin-bottom:0.5rem !important;
        color:var(--text-secondary) !important;
        font-size:0.8rem !important;
    }
    h2:after{
        content:'' !important;
        position:absolute !important;
        bottom:-3px !important;
        left:0 !important;
        width:80px !important;
        height:3px !important;
        background:var(--primary) !important;
    }
    /* 表格分页样式 */
    table{
        page-break-inside:auto !important;
    }
    tr{
        page-break-inside:avoid !important;
        page-break-after:auto !important;
    }
    thead{
        display:table-header-group !important;
    }
    tfoot{
        display:table-footer-group !important;
    }
    /* 防止容器内容被分页断开 */
    .no-break-container {
        page-break-inside: avoid !important;
        break-inside: avoid !important;
    }
    /* 确保图片和容器不超出页面 */
    img, svg{
        max-width:100% !important;
        height:auto !important;
    }
    /* 移除所有动画和过渡效果 */
    *{
        animation:none !important;
        transition:none !important;
    }
}




.training-section{
    margin-bottom:30px;
}
.training-section h3{
    display:flex;
    align-items:center;
    color:var(--primary);
}
.training-section h3:before{
    content:'';
    display:inline-block;
    width:12px;
    height:12px;
    background:var(--accent);
    border-radius:50%;
    margin-right:10px;
}
.diet-table th{
    text-align:center;
}
.diet-table td{
    text-align:center;
}
@media (max-width:768px){
    body{
        padding:15px;
    }
    header{
        padding:30px 20px;
    }
    header h1{
        font-size:2rem;
    }
    section{
        padding:20px;
    }
    .goal-list{
        grid-template-columns:1fr;
    }
    .goal-item{
        padding:15px;
    }
    .progress-tracker{
        flex-direction:column;
        gap:15px;
        padding:15px;
    }
    .progress-step:not(:last-child):after{
        display:none;
    }
    .flex-container{
        flex-direction:column;
    }
    .flex-item{
        min-width:100%;
        padding:15px;
    }
    table{
        font-size:0.8rem;
        overflow-x:auto;
        display:block;
    }
    th,td{
        padding:8px 10px;
        white-space:nowrap;
    }
    .training-section h3{
        font-size:1.2rem;
    }
    .nutrition-tags{
        display:flex;
        flex-wrap:wrap;
        gap:8px;
    }
    
    .report-table{
        font-size:0.8rem;
        overflow-x:auto;
        display:block;
    }
    
    .report-table th,
    .report-table td{
        padding:8px 10px;
        white-space:nowrap;
    }
    .badge{
        font-size:0.7rem;
        padding:3px 10px;
    }
    h2{
        font-size:1.5rem;
    }
    h2:after{
        width:60px;
    }
}

@media (max-width:480px){
    header h1{
        font-size:1.8rem;
    }
    header p{
        font-size:1rem;
    }
    section{
        padding:15px;
    }
    .goal-item h4,
    .flex-item h4{
        font-size:1rem;
    }
    .goal-item p,
    .flex-item p{
        font-size:0.9rem;
    }
    table{
        font-size:0.75rem;
    }
    th,td{
        padding:6px 8px;
    }
    .expected-outcomes-table{
        font-size:0.7rem;
        overflow-x:auto;
        display:block;
    }
    .expected-outcomes-table th,
    .expected-outcomes-table td{
        padding:5px 8px;
        white-space:nowrap;
        font-size:0.65rem;
    }
    .print-button{
        display:none;
    }
}
