.employee-attendance-workspace{min-width:0;color:#17354a}.employee-attendance-workspace .page-head{margin-bottom:14px}.employee-attendance-workspace .page-title{font-size:24px}.employee-attendance-workspace .page-desc{max-width:820px}.attendance-topline{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 14px}.attendance-topline .small{margin-left:auto}.attendance-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}.attendance-metric{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0;text-align:left;padding:15px 17px;background:#fff;border:1px solid #e1e9ed;border-radius:11px;color:#284b61}.attendance-metric:hover{border-color:#00a991;background:#fbfffe}.attendance-metric:focus-visible,.employee-attendance-workspace button:focus-visible{outline:3px solid #5acfb8;outline-offset:2px}.attendance-metric .metric-label{font-size:12px;font-weight:600}.attendance-metric strong{font-size:24px;line-height:1.2;color:#17374f}.attendance-metric .metric-note{font-size:11px;color:#738594}.attendance-metric.attention strong{color:#ac6718}.attendance-metric.exception strong{color:#ba3e48}.attendance-metric.good strong{color:#13836f}.attendance-metric.active{border-color:#009f8d;box-shadow:0 0 0 1px #009f8d}.attendance-panel{padding:17px 19px}.attendance-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.attendance-panel-head h2,.attendance-panel-head h3{font-size:16px;margin:0}.attendance-panel-head p{margin:4px 0 0;font-size:12px;color:#708390}.attendance-toolbar{display:flex;align-items:flex-end;flex-wrap:wrap;gap:10px;margin:0 0 14px}.attendance-toolbar label,.attendance-fields label{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:12px;color:#456174}.attendance-toolbar label>span,.attendance-fields label>span{font-weight:600}.attendance-toolbar input,.attendance-toolbar select,.attendance-fields input,.attendance-fields select,.attendance-fields textarea{border:1px solid #d8e3e8;background:#fff;color:#24465d;border-radius:7px;min-height:35px;padding:7px 9px;max-width:100%;min-width:0;width:100%}.attendance-toolbar input:focus,.attendance-toolbar select:focus,.attendance-fields input:focus,.attendance-fields select:focus,.attendance-fields textarea:focus{outline:2px solid #00a99135;outline-offset:1px;border-color:#009f8d}.attendance-toolbar .attendance-company-filter{flex:1 1 195px;max-width:270px}.attendance-toolbar .attendance-employee-filter{flex:1 1 155px;max-width:235px}.attendance-toolbar .attendance-period-filter{flex:0 1 155px}.attendance-toolbar .attendance-mode-filter{flex:0 1 105px}.attendance-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}.attendance-fields .full{grid-column:1/-1}.attendance-fields textarea{resize:vertical;min-height:70px}.attendance-fields .attendance-checkbox,.attendance-checkbox{display:flex;flex-direction:row;align-items:flex-start;gap:8px;font-size:12px;line-height:1.6}.attendance-checkbox input[type=checkbox]{min-height:0;width:16px;height:16px;flex:none;margin:2px 0}.attendance-help{border:1px solid #d9e9e6;background:#f2faf7;border-radius:9px;padding:12px 14px;margin:12px 0;color:#406878;font-size:12px;line-height:1.7}.attendance-help.warning{border-color:#eadcc0;background:#fffcf4;color:#846120}.attendance-help p{margin:0 0 6px}.attendance-help p:last-child{margin-bottom:0}.attendance-help ol{padding-left:21px;margin:5px 0}.attendance-help code{overflow-wrap:anywhere;word-break:break-all}.attendance-table{width:100%;font-size:12px}.attendance-table th{font-weight:700;color:#38576c;white-space:nowrap}.attendance-table td{vertical-align:top;color:#2e4f63}.attendance-table .employee-name{font-weight:700;color:#1d3c53}.attendance-table .record-meta{margin-top:3px;font-size:11px;color:#7b8d9a;max-width:250px;overflow-wrap:anywhere}.attendance-table .attendance-time{white-space:nowrap;font-variant-numeric:tabular-nums}.attendance-table .attendance-row-actions{display:flex;gap:6px;align-items:center;white-space:nowrap}.attendance-pagination{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:12px;font-size:12px;color:#698194}.attendance-config-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:14px;align-items:start}.attendance-config-grid .attendance-panel{min-width:0}.attendance-config-dl,.attendance-detail-dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.attendance-config-dl>div,.attendance-detail-dl>div{min-width:0;padding:10px 11px;border:1px solid #e4ebef;background:#f8fafb;border-radius:8px}.attendance-config-dl dt,.attendance-detail-dl dt{font-size:11px;color:#758895;margin-bottom:5px}.attendance-config-dl dd,.attendance-detail-dl dd{margin:0;font-size:13px;color:#203e53;font-weight:600;overflow-wrap:anywhere}.attendance-config-dl .full,.attendance-detail-dl .full{grid-column:1/-1}.attendance-company-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:210px;overflow:auto;border:1px solid #e1e9ed;border-radius:8px;padding:10px}.attendance-history{margin-top:14px}.attendance-history .attendance-panel-head{margin-bottom:9px}.attendance-detail{min-width:0}.attendance-detail h3{font-size:15px;margin:15px 0 10px;color:#24465d}.attendance-detail .table-wrap{max-width:100%}.attendance-detail details{margin:12px 0}.attendance-detail summary{cursor:pointer;font-size:12px;font-weight:600;color:#325b74}.attendance-detail pre{max-height:280px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;background:#f5f8fa;border:1px solid #e1e9ed;border-radius:8px;padding:12px;font-size:11px;line-height:1.6;margin:10px 0}.attendance-source-id{font-family:ui-monospace,Consolas,monospace;font-size:11px;overflow-wrap:anywhere}.attendance-record-note{font-size:12px;line-height:1.7;color:#6c8393;margin:9px 0}.attendance-candidate-list{margin:12px 0;border:1px solid #e2e9ed;border-radius:8px;padding:10px}.attendance-candidate-list select{max-width:100%;width:100%;border:1px solid #d8e3e8;border-radius:6px;padding:8px;background:#fff}.attendance-candidate-list p{font-size:12px;margin:0 0 8px;color:#667f91}.attendance-empty{padding:25px 12px;text-align:center;color:#7a8e9a;font-size:13px}.employee-attendance-workspace .tabs{margin-bottom:0}.employee-attendance-workspace .tabs .tab{white-space:nowrap}.employee-attendance-workspace .table-wrap{max-width:100%;overflow:auto}.employee-attendance-workspace .form-footer{justify-content:flex-end;display:flex;gap:8px;flex-wrap:wrap}.attendance-detail .form-footer{display:flex;gap:8px;justify-content:flex-end}.attendance-inline-status{display:block;font-size:12px;line-height:1.7;overflow-wrap:anywhere;margin:10px 0}.attendance-connection-result{border:1px solid #dfebe7;border-radius:8px;background:#f4fbf7;padding:11px 12px}.attendance-connection-result.error{border-color:#f0d3d7;background:#fff6f7}.attendance-connection-result strong{display:block;font-size:12px;margin-bottom:4px}.attendance-connection-result p{font-size:12px;line-height:1.6;margin:0;overflow-wrap:anywhere}
.attendance-company-mapping{min-width:0;border:1px solid #e4ebef;border-radius:7px;padding:9px}.attendance-company-mapping>label+label{margin-top:9px}.attendance-company-mapping input:disabled{background:#f2f5f7;color:#8295a2}.attendance-connect-actions{margin-bottom:14px}.attendance-detail .form-section{max-width:100%}.attendance-detail [data-attendance-register]{min-width:0}.attendance-detail .form-footer{margin-top:14px}
.attendance-register-entry{font-weight:700;font-size:14px;min-height:42px;padding:10px 17px;box-shadow:0 4px 12px #009f8d25}.attendance-register-entry:focus-visible{outline:3px solid #5acfb8;outline-offset:3px}.attendance-register-link{margin:16px 0 12px}.attendance-register-link .attendance-register-entry{display:inline-flex;align-items:center;justify-content:center;text-align:center;white-space:normal;line-height:1.5}.attendance-register-help{background:#f7fafc;border:1px solid #dce8ee;border-radius:9px;padding:12px 14px}.attendance-register-help h3{font-size:14px;margin:0 0 10px}.attendance-register-steps{padding-left:22px;margin:0;font-size:12px;line-height:1.7;color:#32576e}.attendance-register-steps li{padding-left:3px;margin:0 0 8px}.attendance-register-steps li:last-child{margin-bottom:0}.attendance-register-steps b,.attendance-register-steps span{display:block}.attendance-register-steps b{color:#1c3e55}.attendance-register-warning{font-size:12px;line-height:1.7;background:#fff9ec;border-left:3px solid #c38920;padding:8px 10px;margin:12px 0 0;color:#805b1d}
.attendance-registration-recovery{margin:14px 0 8px}.attendance-connect-actions{align-items:center}.attendance-connect-actions .attendance-register-entry{flex:0 1 auto}
.attendance-association-note{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;border:1px solid #dce9e5;background:#f4faf7;border-radius:8px;padding:9px 12px;margin:0 0 12px;font-size:12px;line-height:1.6;color:#3e655b}.attendance-association-note.warning{border-color:#e9dcc3;background:#fffcf5;color:#806122}.attendance-association-note .btn{flex:none}.attendance-toolbar .attendance-status-filter{flex:0 1 175px}.employee-feishu-onboarding-tip{margin-top:12px;padding:10px 12px;font-size:13px;line-height:1.6}.employee-feishu-onboarding-tip p{margin:4px 0 0}
@media(max-width:1000px){.attendance-config-grid{grid-template-columns:1fr}.attendance-metric{padding:13px}.attendance-toolbar .attendance-company-filter,.attendance-toolbar .attendance-employee-filter{max-width:none}}
@media(max-width:680px){.employee-attendance-workspace .page-head{flex-direction:column;gap:11px}.employee-attendance-workspace .page-title{font-size:22px}.attendance-topline .small{margin-left:0;width:100%}.attendance-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.attendance-metric strong{font-size:22px}.attendance-panel{padding:14px 12px}.attendance-panel-head{align-items:flex-start;flex-wrap:wrap}.attendance-toolbar{gap:9px}.attendance-toolbar .attendance-company-filter,.attendance-toolbar .attendance-employee-filter{flex:1 1 145px}.attendance-toolbar .attendance-period-filter,.attendance-toolbar .attendance-mode-filter{flex:1 1 135px}.attendance-fields{grid-template-columns:1fr}.attendance-fields .full{grid-column:auto}.attendance-detail-dl,.attendance-config-dl{grid-template-columns:1fr}.attendance-detail-dl .full,.attendance-config-dl .full{grid-column:auto}.attendance-company-checks{grid-template-columns:1fr}.attendance-pagination{justify-content:space-between;gap:6px}.attendance-table td:first-child{min-width:100px}.employee-attendance-workspace .tabs{overflow:auto}.attendance-detail .form-footer .btn{flex:1}.attendance-checkbox{font-size:12px}}
.att-source-workspace,.att-source-detail{min-width:0;max-width:100%;color:#24475b}.att-source-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}.att-source-heading h2{font-size:18px;margin:0}.att-source-heading h3{font-size:15px;margin:0}.att-source-heading p,.att-source-card p{font-size:12px;line-height:1.7;overflow-wrap:anywhere}.att-source-card{min-width:0;padding:16px;margin:12px 0}.att-source-filter,.att-source-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end;margin:12px 0}.att-source-filter{display:flex;flex-wrap:wrap;gap:9px}.att-source-filter label{flex:1 1 150px;max-width:250px}.att-source-fields label,.att-source-filter label{display:flex;flex-direction:column;gap:6px;font-size:12px;min-width:0}.att-source-fields .full{grid-column:1/-1}.att-source-fields input,.att-source-fields select,.att-source-fields textarea,.att-source-filter input,.att-source-filter select{width:100%;min-width:0;max-width:100%;min-height:35px;padding:7px 8px;border:1px solid #d8e3e8;border-radius:7px;background:#fff;color:#24475b}.att-source-fields textarea{resize:vertical}.att-source-fields small,.att-source-table small,.att-source-metrics small{display:block;font-size:11px;line-height:1.65;color:#718591;margin-top:4px;overflow-wrap:anywhere}.att-source-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.att-source-table{font-size:12px}.att-source-table td{vertical-align:top;min-width:85px;overflow-wrap:anywhere}.att-source-table td:last-child{min-width:130px}.att-source-workspace .table-wrap{max-width:100%;overflow:auto}.att-source-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0}.att-source-metrics>p{padding:10px;background:#f5f9fa;border:1px solid #e2e9ed;border-radius:7px;margin:0;min-width:0}.att-source-metrics b{display:block;font-size:11px;color:#718591;margin-bottom:6px}.att-source-fold{border:1px solid #dfe8ed;border-radius:7px;padding:10px;margin:12px 0;font-size:12px;line-height:1.7}.att-source-fold summary{cursor:pointer;font-weight:600}.att-source-hash{overflow-wrap:anywhere;word-break:break-all;font-size:11px;color:#718591}.att-source-appeal{border-top:1px solid #e3eaed;padding:12px 0}.att-source-appeal:first-of-type{border-top:0}.att-source-appeal h4{font-size:13px;margin:0 0 8px}.att-source-statement{white-space:pre-wrap;overflow-wrap:anywhere}.att-source-detail{padding:14px 18px 0}.att-source-detail .form-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;margin:12px -18px 0}.att-source-fields [hidden],.att-source-detail [hidden]{display:none!important}.att-source-workspace button:focus-visible,.att-source-detail button:focus-visible{outline:3px solid #5acfb8;outline-offset:2px}.attendance-approval-list{margin:10px 0}.attendance-approval-list p{padding:8px 10px;border:1px solid #e2e9ed;border-radius:7px;font-size:12px;line-height:1.7;overflow-wrap:anywhere}
@media(max-width:680px){.att-source-card{padding:12px}.att-source-fields{grid-template-columns:1fr}.att-source-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.att-source-filter label{max-width:none;flex:1 1 135px}.att-source-detail{padding:12px 12px 0}.att-source-detail .form-footer{margin:12px -12px 0;padding:10px 12px}.att-source-detail .form-footer .btn{flex:1}.att-source-workspace .btn{white-space:normal}}
