.dashboard_page{min-height:calc(100vh - 90px);padding:26px 28px 34px;box-sizing:border-box;background:#f2f5f9;color:#17233d}.dashboard_head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.dashboard_head h2{position:relative;margin:0 0 8px;padding-left:14px;font-size:20px;font-weight:700}.dashboard_head h2:before{content:"";position:absolute;left:0;top:4px;width:4px;height:20px;border-radius:4px;background:#f5a623}.dashboard_head p{margin:0;color:#8090a8}.primary_btn{height:36px;padding:0 18px;border:none;border-radius:6px;color:#fff;background:#1677ff;cursor:pointer;box-shadow:0 7px 14px rgba(22,119,255,.2)}.primary_btn.small{height:34px;padding:0 16px}.stat_grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-bottom:18px}.panel,.stat_card{background:#fff;border:1px solid #edf1f7;border-radius:8px;box-shadow:0 6px 14px rgba(20,35,63,.08)}.stat_card{min-height:124px;padding:18px 20px;box-sizing:border-box;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:all .2s}.stat_card:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(20,35,63,.12)}.stat_text{min-width:0}.stat_text span{display:block;margin-bottom:14px;color:#8a9ab2;font-size:15px}.stat_text strong{display:block;margin-bottom:12px;color:#111a35;font-size:32px;line-height:1;letter-spacing:0}.stat_text em{font-style:normal;font-size:13px}.stat_text em.green{color:#35b51f}.stat_text em.orange{color:#f5a623}.stat_text em.blue{color:#1677ff}.stat_text em.red{color:#ff4d4f}.stat_icon{width:58px;height:58px;display:flex;align-items:center;justify-content:center;border-radius:14px;background:#f4f7ff;flex-shrink:0}.stat_icon i{color:#cbd7f4;font-size:36px}.dashboard_body{display:grid;grid-template-columns:minmax(0,1fr) 344px;gap:18px;align-items:start}.dashboard_main,.dashboard_side{display:flex;flex-direction:column;gap:18px}.panel{padding:22px;box-sizing:border-box}.panel_head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.panel_head h3{margin:0;color:#17233d;font-size:18px;font-weight:700}.panel_head p{margin:8px 0 0;color:#8090a8;line-height:1.5}.panel_head.compact{margin-bottom:16px}.panel_head.compact h3{font-size:17px}.panel_head.no_margin{margin-bottom:16px}.quick_grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.quick_item{min-height:102px;padding:18px;box-sizing:border-box;display:flex;flex-direction:column;gap:10px;border:1px solid #e3e9f4;border-radius:8px;background:#f8fbff;cursor:pointer;transition:all .2s}.quick_item i{color:#1677ff;font-size:20px}.quick_item strong{color:#17233d;font-size:16px}.quick_item span{color:#8291a7;line-height:1.5}.quick_item:hover{border-color:#1677ff;background:#fff}.task_panel{padding-left:0;padding-right:0}.task_panel .panel_head{padding:0 22px}.task_table{width:100%;border-collapse:collapse;table-layout:fixed}.task_table td,.task_table th{padding:17px 0;text-align:left;border-top:1px solid #edf1f6;color:#3e4b60}.task_table th{color:#8b9ab1;font-weight:500;background:#fbfcfe}.task_table td:first-child,.task_table th:first-child{padding-left:22px;width:28%}.task_table td:last-child,.task_table th:last-child{padding-right:22px;text-align:right}.status_tag{display:inline-flex;min-width:58px;height:26px;align-items:center;justify-content:center;border-radius:6px;font-size:13px}.status_tag.doing{color:#1677ff;background:#eaf3ff}.status_tag.done{color:#35b51f;background:#ecfae9}.status_tag.todo{color:#f5a623;background:#fff6e6}.link_btn,.text_btn{border:none;background:transparent;color:#1677ff;cursor:pointer}.text_btn{margin-left:10px}.text_btn.danger{color:#ff4d4f}.link_btn{padding:0}.empty_cell{padding:30px 0!important;text-align:center!important;color:#9aa8bb!important}.activity_list,.notice_list{margin:0;padding:0;list-style:none}.activity_list li,.notice_list li{display:flex;gap:10px;margin-bottom:16px}.activity_list li:last-child,.notice_list li:last-child{margin-bottom:0}.activity_list li p,.notice_list li p{margin:0 0 5px;color:#344258;line-height:1.45}.activity_list li em,.notice_list li em{color:#8e9bb0;font-size:13px;font-style:normal}.dot{width:8px;height:8px;margin-top:7px;border-radius:50%;flex-shrink:0}.dot.green{background:#35b51f}.dot.blue{background:#1677ff}.dot.orange{background:#f5a623}.dot.purple{background:#7b61ff}.dot.red{background:#ff4d4f}.month_text{color:#8e9bb0}.progress_item{margin-bottom:18px}.progress_item:last-child{margin-bottom:0}.progress_item div{display:flex;justify-content:space-between;margin-bottom:8px;color:#3c4b62}.progress_item em{font-style:normal}.progress_item b{display:block;height:7px;overflow:hidden;border-radius:999px;background:#edf1f6}.progress_item b i{display:block;height:100%;border-radius:inherit}.notice_count{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#ff4d4f;color:#fff;font-size:13px}.scenic_list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.scenic_item{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid #edf1f6;border-radius:8px;background:#fbfcff;cursor:pointer;transition:all .2s}.scenic_item:hover{border-color:#1677ff;background:#fff}.scenic_item .scenic_placeholder,.scenic_item img{width:58px;height:44px;border-radius:6px;flex-shrink:0}.scenic_item img{-o-object-fit:cover;object-fit:cover}.scenic_placeholder{display:flex;align-items:center;justify-content:center;color:#1677ff;background:#eaf3ff;font-weight:700}.scenic_info{min-width:0}.scenic_info span,.scenic_info strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scenic_info strong{margin-bottom:6px;color:#17233d;font-size:14px}.scenic_info span{color:#8e9bb0;font-size:13px}.empty_line{display:block!important;margin:0!important;padding:14px 0!important;text-align:center;color:#9aa8bb}@media(max-width:1500px){.stat_grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard_body{grid-template-columns:1fr}.scenic_list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.dashboard_page{padding:18px}.quick_grid,.stat_grid{grid-template-columns:1fr}.dashboard_head{align-items:flex-start;flex-direction:column;gap:12px}.task_table{min-width:760px}.task_panel{overflow-x:auto}.scenic_list{grid-template-columns:1fr}}