*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}@media screen and (max-width: 750px){html{font-size:calc(100vw / 37.5)}}@media screen and (min-width: 751px){html{font-size:20px}}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;width:100%;min-height:100%;height:auto;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;margin:0;padding:0}#root,.ant-layout{min-height:100vh;height:auto;width:100%;overflow-x:hidden}.ant-layout-content{width:100%;overflow:visible}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.app-container{min-height:100vh;display:flex;flex-direction:column;background-color:#f5f7fa;overflow-x:hidden;height:auto;touch-action:pan-y pinch-zoom}.header{background-color:#000;color:#fff;padding:0 12px;box-shadow:0 2px 8px #00000026;display:flex;align-items:center;height:56px;position:sticky;top:0;z-index:1000;min-height:56px;max-height:56px}.header-content{width:100%;display:flex;justify-content:space-between;align-items:center;gap:8px;overflow:hidden;position:relative}.header .logo{font-size:16px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0;text-align:left;display:flex;align-items:center;justify-content:flex-start;height:56px;line-height:56px;max-width:calc(100% - 200px)}@media (max-width: 768px){.header{height:52px;min-height:52px;max-height:52px}.header .logo{font-size:15px;height:52px;line-height:52px;max-width:calc(100% - 160px)}}@media (max-width: 480px){.header{height:50px;min-height:50px;max-height:50px}.header .logo{font-size:13px;height:50px;line-height:50px;max-width:calc(100% - 120px)}}.header-nav-container{flex-shrink:0;display:flex;align-items:center;min-width:140px;z-index:10;position:relative;margin-left:auto}@media (max-width: 768px){.header-nav-container{min-width:120px}}@media (max-width: 480px){.header-nav-container{min-width:100px}}.header-nav-tabs-wrapper{touch-action:none;overflow:visible;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.header-nav-tabs{background-color:transparent}.header-nav-tabs .ant-tabs-nav{margin:0;padding:0;background:transparent}.header-nav-tabs .ant-tabs-nav:before{border-bottom:none}.header-nav-tabs .ant-tabs-nav-list{touch-action:none;-webkit-overflow-scrolling:auto;overflow:visible}.header-nav-tabs .ant-tabs-nav-wrap{touch-action:none;overflow:visible}.header-nav-tabs .ant-tabs-tab{color:#ffffffd9;padding:6px 12px;font-size:13px;font-weight:500;border:none;margin:0;user-select:none;-webkit-user-select:none;touch-action:manipulation;pointer-events:auto;white-space:nowrap;flex-shrink:0}.header-nav-tabs .ant-tabs-tab:hover{color:#fff;background-color:#ffffff1a}.header-nav-tabs .ant-tabs-tab-active{color:#fff}.header-nav-tabs .ant-tabs-tab-active .ant-tabs-tab-btn{color:#fff;font-weight:600}.header-nav-tabs .ant-tabs-ink-bar{background:white;height:2px}.header-nav-tabs .ant-tabs-tab-btn{color:inherit;touch-action:manipulation}.header-nav-tabs .ant-tabs-content-holder{display:none}@media (max-width: 768px){.header{padding:0 8px;height:56px}.header .logo{font-size:15px;max-width:calc(100% - 160px)}.header-nav-tabs .ant-tabs-tab{padding:4px 8px;font-size:12px}.header-nav-tabs .ant-tabs-tab .anticon{font-size:14px;margin-right:2px}.header-nav-tabs .ant-tabs-tab span:not(.anticon){font-size:11px}}@media (max-width: 480px){.header{padding:0 6px}.header .logo{font-size:13px;max-width:calc(100% - 120px)}.header-nav-tabs .ant-tabs-tab{padding:4px 6px;font-size:11px}.header-nav-tabs .ant-tabs-tab .anticon{font-size:14px;margin-right:0}.header-nav-tabs .ant-tabs-tab span:not(.anticon){display:inline;font-size:10px}}.header h1{font-size:24px;margin:0;font-weight:600}.main-content{flex:1;padding:0;max-width:100%;margin:0;width:100%;background-color:#f5f5f9;overflow-y:auto;overflow-x:hidden;height:auto;touch-action:pan-y pinch-zoom;-webkit-overflow-scrolling:touch}.attendance-app{width:100%;min-width:320px;max-width:100vw;overflow-x:hidden;overflow-y:visible}.mobile-container{width:100%;max-width:100vw;overflow-x:hidden;position:relative;overflow-y:visible}.attendance-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #e8e8e8}.attendance-header h2{margin:0;color:#262626;font-size:20px}.date-selector{display:flex;align-items:center}.attendance-content{width:100%}.special-field-nav .ant-tabs-nav{margin-bottom:24px;background-color:#fafafa;padding:8px;border-radius:8px;box-shadow:0 2px 8px #0000000f}.special-field-nav .ant-tabs-tab{font-weight:500;padding:12px 24px;border-radius:6px;transition:all .3s ease}.special-field-nav .ant-tabs-tab:hover{background-color:#e6f7ff}.special-field-nav .ant-tabs-tab-active{background-color:#1890ff;color:#fff}.special-field-nav .ant-tabs-tab-active .ant-tabs-tab-btn{color:#fff}.attendance-card{margin-bottom:16px;padding:20px;border-radius:8px;box-shadow:0 2px 8px #00000014;transition:all .3s ease}.attendance-card:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.attendance-status .ant-radio-group{display:flex}.attendance-status .ant-radio-button-wrapper{margin-right:8px;border-radius:6px;transition:all .3s ease}.attendance-status .ant-radio-button-wrapper-checked{background-color:#1890ff;border-color:#1890ff}.photo-upload .ant-upload-wrapper{margin-top:16px}.photo-upload .ant-upload-select{border-radius:8px;border:2px dashed #d9d9d9;transition:all .3s ease}.photo-upload .ant-upload-select:hover{border-color:#1890ff;background-color:#f0f8ff}.photo-upload .ant-upload-list-item{border-radius:8px;overflow:hidden}.photo-upload .ant-upload-list-item-info{border-radius:8px}.substitute-form{margin-top:16px;padding:20px;background-color:#fafafa;border-radius:8px;border:1px solid #e8e8e8;transition:all .3s ease}.mobile-optimized{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.attendance-card{margin:12px 0;width:100%!important;max-width:100vw!important;box-sizing:border-box!important}.attendance-card .ant-card-body{padding:16px!important;width:100%!important;box-sizing:border-box!important}.ant-modal-root,.ant-select-dropdown{touch-action:manipulation}.special-field-nav .ant-tabs-nav-wrap{-webkit-overflow-scrolling:touch}html,body,.app-container{max-width:100vw;touch-action:pan-y pinch-zoom}img,video,svg{max-width:100%!important;height:auto!important}table{max-width:100%!important;word-break:break-word}@media (max-width: 640px){.attendance-header h2{width:100%;text-align:center;font-size:18px;line-height:1.3}.attendance-header .date-selector,.attendance-header .ant-space-item{width:100%}.attendance-header .ant-select,.attendance-header .ant-input{width:100%!important}.attendance-content{margin-top:8px}}@media (max-width: 768px){.header{padding:12px 16px;flex-direction:column;align-items:center;text-align:center;gap:12px;min-height:auto!important}.header .logo{float:none;font-size:18px;max-width:100%;width:100%;text-align:center;line-height:1.4;margin-bottom:12px}.header .ant-menu{float:none;width:100%;background:transparent}.header .ant-menu-item{padding:0 8px!important}.main-content{padding:12px;margin:0;border-radius:0;box-shadow:none;width:100%;max-width:100%;min-height:calc(100vh - 56px);overflow-y:auto}.attendance-header{flex-direction:column;align-items:flex-start;gap:16px}.date-selector,.date-selector .ant-select,.attendance-content,.ant-form-item,.ant-select,.ant-input,.ant-picker{width:100%}.special-field-nav .ant-tabs-nav{overflow-x:auto;padding:6px}.special-field-nav .ant-tabs-tab{padding:10px 16px;font-size:14px}.attendance-card{padding:16px;margin-bottom:12px;border-radius:10px;width:100%}.attendance-info{gap:6px}.attendance-name{font-size:16px}.attendance-unit,.attendance-task{font-size:13px}.attendance-status{flex-direction:column;gap:6px}.photo-upload .ant-upload-wrapper{margin-top:12px}.photo-preview{gap:12px;margin-top:12px}.photo-item{width:100px;height:100px}.substitute-form{padding:16px;margin-top:12px}.admin-header{flex-direction:column;align-items:flex-start;gap:16px}.export-buttons{width:100%;flex-direction:column}.export-buttons .ant-btn{width:100%;margin-bottom:8px}}@media (max-width: 480px){.header{padding:10px 12px}.header .logo{font-size:16px}.header .ant-menu-item{font-size:14px}.main-content{padding:10px;margin:0;border-radius:0}.attendance-card{padding:12px;margin-bottom:10px}.attendance-name{font-size:15px}.attendance-unit,.attendance-task{font-size:12px}.attendance-status .ant-radio-group{flex-direction:column;width:100%}.attendance-status .ant-radio-button-wrapper{margin-right:0;margin-bottom:6px;width:100%;padding:8px 12px;font-size:14px}.photo-item{width:80px;height:80px}.substitute-form{padding:12px}.footer{padding:12px 16px;font-size:12px}}@media (max-width: 375px){.header .logo{font-size:14px}.main-content{padding:10px;margin:0}.attendance-card{padding:12px}.special-field-nav .ant-tabs-tab{padding:8px 12px;font-size:13px}.photo-item{width:70px;height:70px}}@media (max-width: 768px){.ant-image-preview-root{touch-action:none}.ant-image-preview-img-wrapper{padding:20px}.ant-image-preview-operations{flex-wrap:wrap;justify-content:center}}@media (max-width: 768px){.ant-upload-list-picture-card-container{width:100%!important;height:auto!important;margin:0 0 12px!important}.ant-upload-list-picture-card .ant-upload-list-item{width:100%!important;height:200px!important;margin:0!important}.ant-upload-select-picture-card{width:100%!important;height:200px!important;margin:0 0 12px!important}}@media (max-width: 768px){.ant-modal{max-width:calc(100vw - 32px);margin:16px auto}.ant-modal-content{border-radius:12px}.ant-modal-body{padding:16px;max-height:calc(100vh - 200px);overflow-y:auto;-webkit-overflow-scrolling:touch}.ant-modal-footer,.ant-modal-header{padding:12px 16px}}@media (max-width: 768px){.ant-form-item{margin-bottom:16px}.ant-form-item-label{padding-bottom:4px}.ant-input,.ant-select-selector,.ant-picker{font-size:16px}}@media (max-width: 768px){.ant-btn{min-height:44px;font-size:16px}.ant-btn-icon-only{width:44px;height:44px}}@media (max-width: 768px){.loading-container{height:150px}.ant-spin-dot-item{width:12px;height:12px}.ant-spin-lg .ant-spin-dot-item{width:16px;height:16px}}@media (max-width: 768px){.ant-table{font-size:14px}.ant-table-cell{padding:12px 8px!important}.ant-table-thead>tr>th{padding:12px 8px!important;font-size:14px}.ant-table-tbody>tr>td{padding:12px 8px!important}}@media (max-width: 768px){.ant-message{top:60px!important;left:16px;right:16px}.ant-message-notice{padding:0;margin-bottom:8px}.ant-message-notice-content{padding:12px 16px;font-size:14px;border-radius:8px}.session-group{width:100%!important;max-width:100vw!important;box-sizing:border-box!important;padding:0 8px!important}.session-experts{width:100%!important;max-width:100vw!important;box-sizing:border-box!important}.attendance-content{width:100%!important;max-width:100vw!important;box-sizing:border-box!important;padding:0 8px!important}.attendance-cards{width:100%!important;max-width:100vw!important;box-sizing:border-box!important}}@media (max-width: 768px){.ant-select-dropdown{border-radius:12px 12px 0 0;max-height:50vh}.ant-picker-panel-container{border-radius:12px 12px 0 0}.ant-picker-dropdown{border-radius:12px}.ant-select-selector{height:40px!important;padding:8px 12px!important;max-width:100%!important;box-sizing:border-box!important}.ant-form-item{width:100%!important;max-width:100vw!important;box-sizing:border-box!important}.ant-input,.ant-input-password,.ant-select,.ant-picker{max-width:100%!important;box-sizing:border-box!important}.ant-space{width:100%!important;max-width:100vw!important;box-sizing:border-box!important}.ant-space-item{flex-shrink:0;max-width:100%!important;box-sizing:border-box!important}.ant-row,.ant-col{max-width:100vw!important;box-sizing:border-box!important}.ant-col{flex:0 0 auto!important;width:100%!important}html,body{overflow-x:hidden!important;max-width:100vw!important;position:relative!important}.session-title,.expert-name,.expert-unit{word-break:break-all!important;overflow-wrap:break-word!important;white-space:normal!important}.ant-btn{max-width:100%!important;white-space:normal!important;word-break:break-all!important;height:auto!important;min-height:32px!important;padding:4px 8px!important}}.footer{background-color:#f0f2f5;padding:16px 32px;text-align:center;border-top:1px solid #e8e8e8;margin-top:auto;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s ease}.footer:hover{background-color:#e6e8eb}.footer:active{background-color:#d9dce0}.special-field-nav,.special-field-nav .ant-tabs-nav{margin-bottom:24px}.attendance-card{margin-bottom:16px;padding:16px;border-radius:8px;box-shadow:0 2px 8px #00000014}.attendance-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.attendance-info{display:flex;flex-direction:column;gap:4px}.attendance-name{font-size:18px;font-weight:600}.attendance-unit{color:#666;font-size:14px}.attendance-task{color:#888;font-size:14px}.attendance-status{display:flex;gap:8px}.photo-upload{margin-top:16px}.photo-preview{margin-top:16px;display:flex;gap:16px;flex-wrap:wrap}.photo-item{width:120px;height:120px;border-radius:8px;overflow:hidden;border:1px solid #e8e8e8}.photo-item img{width:100%;height:100%;object-fit:cover}.substitute-form{margin-top:16px;padding:16px;background-color:#fafafa;border-radius:8px;border:1px solid #e8e8e8}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.export-buttons{display:flex;gap:12px}.loading-container{display:flex;justify-content:center;align-items:center;height:200px}.error-message{color:#ff4d4f;margin:16px 0;text-align:center}.attendance-app-v3{display:flex;flex-direction:column;min-height:calc(100vh - 133px);position:relative;background-color:#f5f5f9;width:100%;max-width:100vw;overflow-x:hidden;overflow-y:visible;height:100%}.app-top-bar{background:white;padding:12px 16px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e8e8e8;flex-shrink:0;box-shadow:0 1px 3px #0000000a;position:sticky;top:0;z-index:100;width:100%;box-sizing:border-box}@media (max-width: 768px){.app-top-bar{padding:10px 12px}}@media (max-width: 480px){.app-top-bar{padding:8px 10px}}.top-bar-left{flex:1;min-width:0;overflow:hidden;display:flex;align-items:center}.top-bar-right{flex-shrink:0;z-index:10;position:relative;margin-left:8px;width:auto;min-width:40px}.top-bar-right .ant-btn{display:flex!important;align-items:center!important;justify-content:center!important;min-width:40px!important;min-height:40px!important;width:40px!important;height:40px!important;flex-shrink:0!important;padding:0!important}.top-bar-right .ant-btn .anticon{font-size:16px;display:inline-block}@media (max-width: 768px){.top-bar-right{margin-left:6px;min-width:38px}.top-bar-right .ant-btn{min-width:38px!important;min-height:38px!important;width:38px!important;height:38px!important}.top-bar-right .ant-btn .anticon{font-size:16px}}@media (max-width: 480px){.top-bar-right{margin-left:4px;min-width:36px}.top-bar-right .ant-btn{min-width:36px!important;min-height:36px!important;width:36px!important;height:36px!important}.top-bar-right .ant-btn .anticon{font-size:15px}}.date-field-info{font-size:15px;color:#333;font-weight:500;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;min-width:0}@media (max-width: 768px){.date-field-info{font-size:14px}}@media (max-width: 480px){.date-field-info{font-size:13px}}.tabs-wrapper{background:white;border-bottom:1px solid #f0f0f0;flex-shrink:0;overflow-x:auto;-webkit-overflow-scrolling:touch}.special-field-tabs .ant-tabs-nav{margin:0!important;padding:0 8px}.special-field-tabs .ant-tabs-tab{padding:10px 14px;font-size:14px}@media (max-width: 768px){.special-field-tabs .ant-tabs-tab{padding:8px 12px;font-size:13px}}@media (max-width: 480px){.special-field-tabs .ant-tabs-tab{padding:6px 10px;font-size:12px}}.main-scroll-content{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding:12px;min-height:0;width:100%;box-sizing:border-box;background-color:#f5f5f9}@media (max-width: 768px){.main-scroll-content{padding:8px}}@media (max-width: 480px){.main-scroll-content{padding:6px}}.attendance-list-wrapper{width:100%;max-width:100%;box-sizing:border-box}.content-body-wrapper{width:100%;padding:12px;box-sizing:border-box}@media (max-width: 768px){.content-body-wrapper{padding:8px}}@media (max-width: 480px){.content-body-wrapper{padding:6px}}.session-group{margin-bottom:16px;background:white;border-radius:8px;overflow:hidden;box-shadow:0 1px 4px #0000000f}@media (max-width: 768px){.session-group{margin-bottom:12px}}@media (max-width: 480px){.session-group{margin-bottom:10px}}.session-header{padding:10px 14px;background:#1890ff;color:#fff;margin-bottom:0;border-radius:0;box-shadow:none;border-left:none}@media (max-width: 768px){.session-header{padding:8px 12px}}@media (max-width: 480px){.session-header{padding:8px 10px}}.session-title{font-size:15px;font-weight:600;color:#fff;display:flex;align-items:center;line-height:1.5}@media (max-width: 768px){.session-group{margin-bottom:16px;border-radius:6px}.session-header{padding:10px 14px}.session-title{font-size:14px}}@media (max-width: 480px){.session-group{margin-bottom:12px;border-radius:4px}.session-header{padding:8px 12px}.session-title{font-size:13px}}.experts-list{background:white;border-radius:0;overflow:hidden;box-shadow:none}.expert-row{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;border-bottom:1px solid #f0f0f0;transition:all .2s ease;background:white;gap:4px;min-height:56px;position:relative;width:100%;box-sizing:border-box}@media (max-width: 768px){.expert-row{padding:5px 6px;gap:3px;min-height:52px}.expert-row-left{gap:3px}.expert-avatar{width:32px!important;height:32px!important;min-width:32px;min-height:32px}.expert-name{font-size:12px;max-width:50px}.expert-unit,.task-info{font-size:8px}.session-tag{font-size:7px;padding:1px 2px}.status-tag{font-size:7px;padding:1px 4px}.sign-in-btn{min-width:44px;height:22px;font-size:8px;padding:0 4px}}@media (max-width: 480px){.expert-row{padding:4px 6px;gap:2px;min-height:48px}.expert-row-left{gap:2px}.expert-avatar{width:28px!important;height:28px!important;min-width:28px;min-height:28px}.expert-name{font-size:11px;max-width:45px}.expert-unit,.task-info{font-size:7px}.session-tag{font-size:6px;padding:0 2px}.status-tag{font-size:6px;padding:0 3px}.sign-in-btn{min-width:40px;height:20px;font-size:7px;padding:0 3px}}.expert-row:last-child{border-bottom:none}.expert-row:hover{background-color:#fafafa}.expert-row:active{background-color:#f0f0f0}.expert-row-left{display:flex;align-items:center;flex:1;min-width:0;gap:6px;overflow:hidden;flex-shrink:1}.expert-avatar{flex-shrink:0;box-shadow:0 1px 4px #0000001f;border:1px solid rgba(0,0,0,.06);width:36px!important;height:36px!important;min-width:36px;min-height:36px;border-radius:50%;overflow:hidden;background-size:cover;background-position:center;background-repeat:no-repeat}@media (max-width: 768px){.expert-row-left{gap:4px}.expert-avatar{width:36px!important;height:36px!important;min-width:36px;min-height:36px}}@media (max-width: 480px){.expert-row-left{gap:6px}.expert-avatar{width:36px!important;height:36px!important;min-width:36px;min-height:36px}}.expert-info{flex:1;min-width:0;overflow:hidden;width:100%}.expert-name-row{display:flex;align-items:center;gap:3px;margin-bottom:2px;flex-wrap:nowrap;overflow:hidden;width:100%}.expert-name{font-size:13px;font-weight:600;color:#262626;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2;flex-shrink:0;max-width:55px;margin-right:2px}.expert-unit{font-size:9px;color:#8c8c8c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0;display:inline-block;line-height:1.2;max-width:none}@media (max-width: 768px){.expert-name{font-size:14px;max-width:65px}.expert-unit{font-size:11px;flex:1;min-width:0;max-width:none}.task-info{font-size:11px}}@media (max-width: 480px){.expert-name{font-size:13px;max-width:60px}.expert-unit{font-size:10px;flex:1;min-width:0;max-width:none}.task-info{font-size:10px}}.expert-meta-row{display:flex;align-items:center;gap:3px;flex-wrap:nowrap;overflow:hidden;white-space:nowrap;width:100%}.session-tag{flex-shrink:0;font-size:10px;padding:1px 5px;border-radius:3px;background:#e6f7ff;color:#1890ff;border:1px solid #91d5ff}@media (max-width: 768px){.session-tag{font-size:9px;padding:1px 4px}}@media (max-width: 480px){.session-tag{font-size:8px;padding:1px 3px}}.task-info{font-size:9px;color:#595959;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0;max-width:none;line-height:1.2}@media (max-width: 768px){.task-info{font-size:11px;max-width:150px}.session-tag{font-size:10px;padding:1px 5px}}@media (max-width: 480px){.task-info{font-size:10px;max-width:120px}.session-tag{font-size:9px;padding:1px 4px}}.expert-row-right{display:flex;align-items:center;gap:3px;flex-shrink:0;margin-left:3px}@media (max-width: 768px){.expert-row-right{gap:4px;margin-left:4px}}@media (max-width: 480px){.expert-row-right{gap:3px;margin-left:3px}}.status-tag{font-size:8px;padding:1px 5px;border-radius:8px;white-space:nowrap;font-weight:500;border:none;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}@media (max-width: 768px){.status-tag{font-size:10px;padding:2px 6px}}@media (max-width: 480px){.status-tag{font-size:9px;padding:1px 5px}}@media (max-width: 768px){.expert-row-right{gap:5px;margin-left:6px}.status-tag{font-size:10px;padding:2px 8px}}@media (max-width: 480px){.expert-row-right{gap:4px;margin-left:4px}.status-tag{font-size:9px;padding:2px 6px}}.status-tag.ant-tag-success{background:#f6ffed;color:#52c41a;border:1px solid #b7eb8f}.status-tag.ant-tag-error{background:#fff2f0;color:#ff4d4f;border:1px solid #ffccc7}.status-tag.ant-tag-warning{background:#fffbe6;color:#faad14;border:1px solid #ffe58f}.sign-in-btn{white-space:nowrap;min-width:46px;height:24px;font-weight:500;border-radius:4px;box-shadow:0 1px 3px #1890ff33;font-size:9px;padding:0 5px;flex-shrink:0;transition:all .2s ease}@media (max-width: 768px){.sign-in-btn{min-width:52px;height:26px;font-size:11px;padding:0 6px}}@media (max-width: 480px){.sign-in-btn{min-width:48px;height:24px;font-size:10px;padding:0 5px}}.sign-in-btn:hover{box-shadow:0 2px 6px #1890ff4d}@media (max-width: 768px){.sign-in-btn{min-width:56px;height:28px;font-size:11px;padding:0 8px}}@media (max-width: 480px){.sign-in-btn{min-width:50px;height:26px;font-size:10px;padding:0 6px}}.empty-state{text-align:center;padding:40px 20px;color:#999;background:white;border-radius:8px}.filter-drawer .ant-drawer-body{overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;max-height:calc(100vh - 120px);padding:16px}.filter-drawer .ant-drawer-content-wrapper{touch-action:pan-y}body.ant-drawer-open{overflow:hidden!important;position:fixed!important;width:100%!important}.filter-section{margin-bottom:24px}.filter-label{font-size:14px;font-weight:500;color:#333;margin-bottom:8px;display:flex;align-items:center;gap:6px}.status-radio.present.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled){background:#52c41a;border-color:#52c41a;color:#fff}.status-radio.absent.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled){background:#ff4d4f;border-color:#ff4d4f;color:#fff}.status-radio.substitute.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled){background:#faad14;border-color:#faad14;color:#fff}.attendance-disabled-banner{background:#fff2e8;color:#d46b08;padding:12px 16px;text-align:center;font-size:14px;border-bottom:1px solid #ffd591}@media (max-width: 768px){.header{padding:0 8px;height:52px;min-height:52px;max-height:52px}.header-content{gap:4px}.header .logo{font-size:14px;max-width:calc(100% - 160px)}.header-nav-tabs .ant-tabs-tab{padding:4px 8px;font-size:12px}.header-nav-tabs .ant-tabs-tab .anticon{font-size:14px;margin-right:2px}.expert-row{padding:8px 10px;gap:6px;min-height:56px}.session-group{margin-bottom:16px;border-radius:6px}.session-header{padding:12px 14px}.session-title{font-size:14px}.expert-avatar{width:40px!important;height:40px!important;min-width:40px;min-height:40px;font-size:16px!important}.expert-name{font-size:14px;max-width:65px}.expert-unit{font-size:11px;flex:1;min-width:0;max-width:none;display:inline-block}.expert-name-row{gap:4px;white-space:nowrap}.task-info{font-size:11px;max-width:none;flex:1}.status-tag{font-size:11px;padding:3px 10px}.sign-in-btn{min-width:60px;height:30px;font-size:12px;padding:0 10px}.expert-meta-row{gap:4px}.session-tag{font-size:10px;padding:1px 4px}.expert-row-right{gap:4px;margin-left:8px}.status-tag{font-size:10px;padding:2px 6px}.sign-in-btn{min-width:50px;height:26px;padding:0 6px;font-size:11px}}@media (max-width: 480px){.header{padding:0 6px;height:50px;min-height:50px;max-height:50px}.header-content{gap:4px}.header .logo{font-size:13px;max-width:calc(100% - 120px)}.header-nav-tabs .ant-tabs-tab{padding:4px 6px;font-size:11px}.header-nav-tabs .ant-tabs-tab span:not(.anticon){display:inline;font-size:10px}.header-nav-tabs .ant-tabs-tab .anticon{font-size:14px;margin-right:2px}.app-top-bar{padding:10px 12px}.date-field-info{font-size:13px}.expert-row{padding:8px 10px;gap:4px;min-height:52px}.session-group{margin-bottom:12px;border-radius:4px}.session-header{padding:10px 12px}.session-title{font-size:13px}.expert-avatar{width:36px!important;height:36px!important;min-width:36px;min-height:36px;font-size:14px!important;line-height:36px!important}.expert-name{font-size:13px;max-width:60px}.expert-unit{font-size:10px;flex:1;min-width:0;max-width:none;display:inline-block}.expert-name-row,.expert-meta-row{gap:3px;white-space:nowrap}.session-tag{font-size:10px;padding:1px 6px}.status-tag{font-size:10px;padding:2px 8px}.sign-in-btn{min-width:56px;height:28px;font-size:11px;padding:0 8px}.task-info{font-size:10px;max-width:none;flex:1}.session-tag{font-size:9px;padding:1px 3px}.expert-row-right{gap:4px;margin-left:6px}.status-tag{font-size:9px;padding:1px 4px}.sign-in-btn{min-width:44px;height:24px;font-size:10px;padding:0 4px}}
