:root{--bg:#f3f5fa;--card:#fff;--ink:#1f2733;--sub:#6b7785;--line:#e7ebf3;--primary:#3a6df0;--primary-d:#2752c4;--soft:#eef3ff;--green:#1fb574;--yellow:#f5a623;--red:#e8453c;--shadow:0 8px 24px rgba(31,39,51,.07)}*{box-sizing:border-box}body{font-family:-apple-system,PingFang SC,Microsoft YaHei,Segoe UI,sans-serif;background:var(--bg);color:var(--ink);line-height:1.5;margin:0}.section-title{font-size:14px;font-weight:700;color:var(--primary);margin:6px 0 12px;border-left:3px solid var(--primary);padding-left:8px}.muted{color:var(--sub);font-size:12px}.note{background:#fafbff;border:1px dashed var(--line);border-radius:9px;padding:8px 11px;font-size:12px;color:var(--sub);margin-bottom:12px}.kpi{background:#fafbff;border:1px solid var(--line);border-radius:12px;padding:14px}.kpi .v{font-size:22px;font-weight:700}.kpi .l{font-size:12px;color:var(--sub);margin-top:2px}.stat-row{display:flex;gap:14px;flex-wrap:wrap}.stat-row .kpi{flex:1;min-width:120px}.work-card{border:1px solid var(--line);border-radius:11px;padding:12px 14px;margin-bottom:10px;background:#fff}.work-card .top{display:flex;justify-content:space-between;align-items:center;gap:8px}.work-card .cat{font-size:12px;background:var(--soft);color:var(--primary);padding:2px 8px;border-radius:6px}.work-card .meta{font-size:12px;color:var(--sub);margin-top:6px}.chip{border:1px solid var(--line);border-radius:9px;padding:7px 11px;font-size:13px;background:#fff;cursor:pointer}.chip.on{background:var(--primary);color:#fff;border-color:var(--primary)}.dept-pick{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.light{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px;vertical-align:middle}.l-green{background:var(--green)}.l-yellow{background:var(--yellow)}.l-red{background:var(--red)}.el-card{border:none;border-radius:14px;box-shadow:var(--shadow)!important}.el-card__header{border-bottom:1px solid var(--line);padding:14px 20px}.el-card__body{padding:20px}.el-button{border-radius:10px;font-weight:500}.el-button--primary{--el-button-bg-color:var(--primary);--el-button-border-color:var(--primary);--el-button-hover-bg-color:var(--primary-d);--el-button-hover-border-color:var(--primary-d)}.btn.ghost,.el-button--primary.is-plain{background:var(--soft);color:var(--primary);border-color:transparent}.el-input__wrapper,.el-textarea__inner,.el-select__wrapper{border-radius:9px}.el-input-number .el-input-number__decrease,.el-input-number .el-input-number__increase{width:20px;font-size:10px}.el-input-number.is-controls-right .el-input__wrapper{padding-right:22px}.el-input__wrapper{box-shadow:0 0 0 1px var(--line) inset}.el-input__wrapper.is-focus{box-shadow:0 0 0 1px var(--primary) inset}.el-select__wrapper{box-shadow:0 0 0 1px var(--line) inset}.el-select__wrapper.is-focused{box-shadow:0 0 0 1px var(--primary) inset}.el-table{--el-table-header-bg-color:#fafbff;--el-table-header-text-color:var(--sub);--el-table-border-color:var(--line);font-size:13px}.el-table th.el-table__cell{font-weight:600}.el-table td.el-table__cell,.el-table th.el-table__cell{padding:10px 12px}.el-tag{border-radius:6px;border:none;font-weight:500}.el-tag--success{background:#e6f7f0;color:var(--green)}.el-tag--warning{background:#fdf3e0;color:#b9760a}.el-tag--danger{background:#fdecea;color:var(--red)}.el-tag--primary{background:#eef3ff;color:var(--primary)}.el-tag--info{background:#eef1f6;color:var(--sub)}.el-dialog{border-radius:14px}.entry-dialog .el-dialog__header{border-bottom:1px solid var(--line);padding:18px 22px 14px;margin-right:0}.entry-dialog .el-dialog__title{font-size:14px;font-weight:700;color:var(--primary);border-left:3px solid var(--primary);padding-left:8px;line-height:1.3}.entry-dialog .el-dialog__body{padding:16px 22px 4px}.entry-dialog .el-dialog__footer{border-top:1px solid var(--line);padding:12px 22px}@media (max-width:760px){.el-dialog{width:94%!important;margin-top:5vh!important}}.el-message{border-radius:10px;border:none;box-shadow:var(--shadow)}.el-alert{border-radius:11px}.el-popconfirm,.el-popper{border-radius:10px}.el-empty__description p{color:var(--sub);font-size:13px}.print-only{display:none}.report-head{border-bottom:2px solid var(--primary);padding-bottom:10px;margin-bottom:16px}.report-head h2{margin:0;font-size:19px;color:var(--primary)}.report-head .meta{font-size:12px;color:var(--sub);margin-top:4px;display:flex;gap:16px;flex-wrap:wrap}.report-toolbar{display:flex;gap:10px;align-items:center;margin-bottom:14px}table.rep{width:100%;border-collapse:collapse;font-size:12px;margin-bottom:14px}table.rep th,table.rep td{border:1px solid #d8dee9;padding:6px 8px;text-align:left}table.rep th{background:#f3f5fa;color:var(--sub);font-weight:600}.rep-kpi{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:14px}.rep-kpi .k{flex:1;min-width:110px;border:1px solid #d8dee9;border-radius:8px;padding:10px}.rep-kpi .k .v{font-size:18px;font-weight:700}.rep-kpi .k .l{font-size:11px;color:var(--sub)}.rep-sign{margin-top:22px;font-size:12px;color:var(--sub);display:flex;gap:40px}@media print{.topbar,.nav,.no-print{display:none!important}body{background:#fff}.wrap{max-width:none;padding:0}.card{box-shadow:none!important;border:none!important;padding:0!important;margin:0 0 12px!important}.print-only{display:block}tr,.kpi,.work-card,.rep-kpi .k{break-inside:avoid;page-break-inside:avoid}table.rep{page-break-inside:auto}.report-head{page-break-after:avoid}@page{margin:14mm}}html{-webkit-text-size-adjust:100%}body{-webkit-tap-highlight-color:transparent}.card,.el-card__body{overflow-x:auto;-webkit-overflow-scrolling:touch}.el-table{min-width:100%}.el-button{min-height:32px}.el-input__wrapper,.el-select__wrapper{min-height:34px}@media (max-width:760px){.wrap{padding:10px 10px calc(18px + env(safe-area-inset-bottom))!important}.card{border-radius:12px;padding:14px!important;margin-bottom:12px}.el-card__body{padding:14px!important}.section-title{font-size:13px;margin:4px 0 10px}.el-button{min-height:38px;padding-top:8px;padding-bottom:8px}.el-button--small{min-height:32px;padding-top:5px;padding-bottom:5px}.chip{padding:9px 13px}.el-input__inner,.el-textarea__inner,.el-select__wrapper{font-size:16px}.el-input__wrapper,.el-select__wrapper{min-height:40px}.el-table{font-size:12.5px}.el-table td.el-table__cell,.el-table th.el-table__cell{padding:8px 9px}.stat-row{gap:10px}.stat-row .kpi{flex:1 1 calc(50% - 5px);min-width:0;padding:11px}.kpi .v{font-size:19px}.work-card{padding:11px 12px}.work-card .top{flex-direction:column;align-items:flex-start;gap:6px}.work-card .top>span:last-child{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.report-head h2{font-size:16px}.rep-kpi{gap:10px}.rep-kpi .k{flex:1 1 calc(50% - 5px);min-width:0;padding:9px}.rep-kpi .k .v{font-size:16px}table.rep{display:block;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}.rep-sign{flex-direction:column;gap:8px}.el-dialog{border-radius:12px}.el-form-item{margin-bottom:14px}.el-form-item__label{font-size:13px}.el-message{max-width:92vw}table.stack,table.stack>tbody,table.stack>tfoot,table.stack>thead,table.stack tr,table.stack th,table.stack td{display:block}table.stack thead,table.stack th{display:none}table.stack tr{border:1px solid var(--line);border-radius:11px;background:#fff;padding:10px 12px;margin:0 0 10px}table.stack>tbody>tr:last-child{margin-bottom:0}table.stack td{border:0;padding:3px 0;white-space:normal;text-align:left;height:auto}table.stack [data-l]:not([data-l=""]):before{content:attr(data-l);display:inline-block;font-size:11px;color:var(--primary);background:var(--soft);border-radius:5px;padding:1px 6px;margin-right:6px}table.stack tfoot tr{border:0;background:#fafbff;padding:8px 10px;margin:0}.el-table.stack .el-table__header-wrapper{display:none}.el-table.stack .el-table__body,.el-table.stack .el-table__body tbody,.el-table.stack .el-table__body tr,.el-table.stack .el-table__body td{display:block}.el-table.stack .el-table__body tr{border:1px solid var(--line);border-radius:11px;background:#fff;padding:10px 12px;margin:0 0 10px}.el-table.stack .el-table__body tr:last-child{margin-bottom:0}.el-table.stack td.el-table__cell{display:flex;align-items:baseline;gap:6px;border:0;padding:3px 0;white-space:normal;height:auto}.el-table.stack td.el-table__cell>.cell{padding:0;flex:1;min-width:0;line-height:1.6}.el-table.stack td.mc:before{content:"";flex:0 0 auto;font-size:11px;color:var(--primary);background:var(--soft);border-radius:5px;padding:1px 6px}.el-table.stack .el-table__inner-wrapper:before{display:none}}
