/* static/css/main.css 公共全局样式 home.html / add.html 共用 */
html, body {
    height: 100%;
    margin: 0;
    background-color: #f7fbf7;
}
body{
    margin:0;
    font-size:x-large;
    font-family:"微软雅黑";
    padding:16px;
}
td {
  text-align: center;
}
a {
    text-decoration: none;
    color:#2c6e31;
    outline: none;
}
a:hover,
a:active,
a:focus {
    outline: none;
    box-shadow: none !important;
}
.func-card{
    background-color:#e8f5e9;
    border:1px solid #c8e6c9;
    border-radius:8px;
    text-align:center;
    padding:40px 10px;
    margin:8px;
    cursor:pointer;
    transition: background-color 0.2s;
}
.func-card:hover{
    background-color:#dceddc;
}
.card-wrap{
    display: flex;
    flex-wrap: wrap;
}
.card-item{
    flex:1 1 22%;
    min-width:140px;
}
.page-title{
    text-align:center;
    margin:24px 0;
    color:#245928;
}
.card-desc{
    font-size:0.65em;
    margin-top:8px;
    color:#447c48;
}

/* ========= add页面表单专属样式 ========= */
.form-wrap{
    max-width:600px;
    margin:0 auto;
    background-color:#e8f5e9;
    border:1px solid #c8e6c9;
    border-radius:8px;
    padding:24px 16px;
}
.form-item{
    margin-top:18px;
}
.form-item .form-control{
    width:100%;
}
.back-link{
    display:block;
    text-align:center;
    margin-bottom:16px;
}
.btn-submit{
    width:80%;
    margin-top:24px;
    background-color:#2c6e31;
    color:#fff;
    border:1px solid #245928;
    border-radius:6px;
    padding:10px;
    font-size:x-large;
}
.btn-submit:hover{
    background-color:#245928;
}

/* ========== list.html 列表页面表格样式 ========== */
.page-list {
    padding: 0 !important;   /* 让 body 在 list 页面没有外边距，表格贴边 */
}
.page-list .form-wrap {
    padding: 0 !important;
    max-width: 100% !important;  /* 可选：让容器也占满宽度 */
    border: none !important;     /* 可选：贴边后圆角边框可能不好看，可去掉 */
    border-radius: 0 !important; /* 可选 */
    background-color: transparent !important; /* 可选 */
}
.page-list table.table-bordered {
    width: 100%;
    table-layout: fixed;
    margin-bottom: 0 !important;
}
.page-list table.table-bordered td,
.page-list table.table-bordered th {
    white-space: normal;
    word-break: break-all;
}
/* 淡黄色收入行 */
.bg-yellow-row {
    background-color: #fff9cc !important;
}
.bg-yellow-row td {
    background-color: inherit !important;
}
/* list页面手机端适配 */
@media screen and (max-width:768px) {
    .page-list table.table-bordered td,
    .page-list table.table-bordered th {
        padding: 3px 3px;
    }
    .page-list table.table-bordered td a {
        display: inline-block;
        margin: 1px 1px;
    }
}

/* ========== analysis.html分析页面样式 ========== */
.page-analysis .form-wrap{
    max-width: 100% !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    background-color: transparent !important;
}
.analysis-block{
    margin-bottom:30px;
}
.analysis-title{
    font-size:18px;
    font-weight:bold;
    margin-bottom:10px;
    padding: 0 12px; /* 如果希望标题仍有间距，可保留；不需要可去掉 */
}
.page-analysis table.table-bordered{
    width:100%;
    table-layout:fixed;
    margin-bottom: 0 !important;
}
.page-analysis table.table-bordered td,
.page-analysis table.table-bordered th{
    white-space:normal;
    word-break:break-all;
}
/* 分类汇总行：鼠标手型 + 展开态提示 */
.type-summary-row { cursor: pointer; }
.type-summary-row:hover { background-color: #f5f5f5; }
.type-summary-row.expanded { background-color: #dbe9ff !important; }  /* 淡蓝，强制生效 */
.toggle-icon { display: inline-block; width: 16px; font-size: 12px; color: #999; }
/* 明细行：默认隐藏，展开后展示 */
.type-detail-row.hidden-row { display: none; }
.type-detail-row td { background-color: #fafafa; color: #555; font-size: 13px; }
.type-detail-row .detail-cell { border-top: 1px dashed #e0e0e0; }
.detail-date { font-family: monospace; }
.detail-flag {
display: inline-block; margin-left: 8px; padding: 0 6px;
font-size: 11px; border-radius: 3px;
}
.detail-flag.flag-in { color: #7a9a3b; background-color: #f1f8e9; }
.detail-flag.flag-out { color: #b0604a; background-color: #fdecea; }
