.employee-day-drawer .ant-drawer-content-wrapper{width:min(520px,46vw)!important}.employee-day-drawer__close{width:34px;padding:0;font-size:22px;line-height:1}.drawer-day-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0;display:grid}.drawer-day-summary>div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;padding:10px 12px;display:flex}.drawer-day-summary strong{font-size:16px}.drawer-day-summary span{color:#64748b;font-size:12px}.drawer-entry-card{margin-bottom:8px}.drawer-entry-card .ant-card-body{padding:12px}.drawer-entry-card h5{margin:8px 0 4px!important}.drawer-entry-details{color:#64748b;margin:5px 0 8px}.drawer-entry-details summary{cursor:pointer;font-size:12px}.drawer-candidate-heading{color:#475569!important;margin:12px 0 8px!important}.month-calendar .month-calendar__day.month-calendar__day--unfilled{background:#fff1f2}.month-calendar .month-calendar__day.month-calendar__day--review{background:#fff7ed}.month-calendar .month-calendar__day.month-calendar__day--satisfied{background:#ecfdf5}.drawer-hours-reminder{margin-bottom:16px}@media (width<=640px){.employee-day-drawer .ant-drawer-content-wrapper{width:100vw!important}.employee-day-drawer .ant-drawer-content{border-radius:0}.drawer-day-summary{grid-template-columns:1fr 1fr 1fr}}.admin-day-drawer .ant-drawer-body{padding:24px;overflow:auto}.admin-day-drawer .drawer-heading h2,.admin-attendance-panel h4{margin:0}.admin-monthly-operations,.admin-monthly-operations__panel,.admin-attendance-panel{gap:16px;display:grid}.admin-monthly-operations{border-top:1px solid #e2e8f0;margin-top:24px;padding-top:20px}.admin-monthly-operations__panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:16px}.admin-attendance-panel__actions{background:#fff;border-top:1px solid #e2e8f0;margin:20px -24px -24px;padding:16px 24px;position:sticky;bottom:-24px}@media (width<=640px){.admin-day-drawer-root .ant-drawer-content-wrapper{max-width:100vw;width:100vw!important}}:root{color:#14213d;font-synthesis:none;text-rendering:optimizelegibility;background:#f4f7fb;font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 10% 0,#3469ff1a,#0000 34rem),#f4f7fb;min-width:320px;min-height:100vh;margin:0}.app-shell{background:0 0;min-height:100vh}.environment-banner{z-index:10;border-bottom:1px solid #d79b26;justify-content:center;font-weight:600;position:relative}.app-header{color:#fff;background:#14213d;border-bottom:1px solid #ffffff1f;height:auto;min-height:76px;padding:14px clamp(20px,4vw,64px)}.brand-kicker{color:#8facff;letter-spacing:.14em;font-size:11px;font-weight:700}.brand-title.ant-typography{color:#fff;margin:0}.app-content{width:min(1240px,100% - 32px);margin:0 auto;padding:48px 0 72px}.hero h1.ant-typography{color:#14213d;margin:14px 0 10px;font-size:clamp(32px,5vw,52px);line-height:1.08}.status-grid{margin-top:22px;margin-bottom:16px}.status-card,.calendar-card{border:1px solid #14213d14;box-shadow:0 12px 32px #14213d12}.status-card h4.ant-typography,.calendar-card h4.ant-typography{margin:8px 0 0}.status-dot{border-radius:50%;width:11px;height:11px;box-shadow:0 0 0 5px #8291aa24}.status-dot--ready{background:#2ca46f}.status-dot--pending{background:#d79b26}.calendar-card{margin-top:16px}.calendar-wrap{margin-top:28px}.calendar-day-summary{color:#394963;flex-direction:column;gap:2px;min-width:0;padding:3px 4px;line-height:1.25;display:flex}.calendar-day-summary__count,.calendar-day-summary__hours{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.calendar-day-summary__count{font-weight:650}.calendar-day-summary__hours{color:#66758d;opacity:.88;font-size:12px}.calendar-day-summary--empty{color:#8793a6;font-weight:400}.calendar-day-summary--below{color:#7a4f00;background:#fff6dc;border-left:3px solid #d79b26}.calendar-day-summary--target{color:#17633e;background:#eaf8f1;border-left:3px solid #2ca46f}.calendar-day-summary--above{color:#174ea6;background:#eaf1ff;border-left:3px solid #3469ff}.calendar-day-summary--team{color:#394963;background:#f2f5f8;border-left:3px solid #8793a6}.calendar-day-summary--below,.calendar-day-summary--target,.calendar-day-summary--above,.calendar-day-summary--team{border-radius:4px}.employee-filter{min-width:230px}.day-content{max-width:1040px}.day-heading{margin-bottom:24px}.day-heading h1.ant-typography{margin:8px 0 0}.entry-list{margin-top:32px}.entry-card,.manual-entry-card{border:1px solid #14213d14;margin-top:16px;box-shadow:0 8px 24px #14213d0d}.entry-meta{margin-bottom:18px}.linear-reference{margin-bottom:16px}.linear-reference--compact{width:min(720px,100%);margin:4px 0 0}.linear-reference-content,.recent-entry-description{width:100%}.linear-reference-description{white-space:pre-wrap;word-break:break-word;max-height:18rem;overflow:auto;margin-bottom:0!important}.manual-entry-card{margin-top:28px}.recent-content{max-width:1160px}.recent-heading{margin-bottom:26px}.recent-hero{margin-bottom:0}.recent-summary-grid{margin-top:20px}.recent-summary-card,.employee-report-card{border:1px solid #14213d14;box-shadow:0 10px 28px #14213d0f}.employee-report-toolbar{margin-top:34px;margin-bottom:16px}.employee-report-toolbar h3.ant-typography,.employee-report-title h3.ant-typography{margin:0}.employee-report-list{gap:18px;display:grid}.employee-report-title{max-width:650px}.employee-report-title p.ant-typography{color:#53627a;margin:0}.employee-highlights{background:#f7f9fd;border-radius:10px;margin-top:20px;padding:16px 18px}.employee-highlights .ant-list-item{padding-inline:0}.employee-days{background:0 0;margin-top:20px}.employee-days .ant-collapse-item{background:#fbfcfe}.profile-content{max-width:820px}.profile-hero{max-width:720px}.profile-card{border:1px solid #14213d14;box-shadow:0 12px 32px #14213d12}.profile-source-data{margin-bottom:26px}.profile-form{padding-top:4px}.dashboard-content{max-width:1180px}.dashboard-heading{margin-bottom:26px}.dashboard-hero{margin-bottom:0}.dashboard-actions{padding-top:12px}.dashboard-profile-alert{margin-bottom:18px}.dashboard-stat-grid{margin-bottom:20px}.dashboard-stat-card,.dashboard-card{border:1px solid #14213d14;height:100%;box-shadow:0 10px 28px #14213d0f}.dashboard-stat-card--attention{background:linear-gradient(145deg,#fff,#fffaf0);border-color:#d79b2659}.dashboard-main-grid{align-items:stretch}.dashboard-output-summary{color:#394963;line-height:1.7}.dashboard-highlights{margin-top:14px}.dashboard-highlights .ant-list-item{padding-inline:0}.dashboard-today-action{border-top:1px solid #eef1f6;padding-top:12px}.dashboard-recent-days{margin-top:20px}.dashboard-day-link{min-height:72px;color:inherit;background:#f7f9fd;border:1px solid #edf1f7;border-radius:10px;flex-direction:column;gap:5px;padding:14px 16px;transition:border-color .2s,transform .2s;display:flex}.dashboard-day-link:hover{border-color:#8facff;transform:translateY(-1px)}.fc{--fc-border-color:#e8edf5;--fc-button-bg-color:#14213d;--fc-button-border-color:#14213d;--fc-button-hover-bg-color:#263b66;--fc-button-hover-border-color:#263b66;--fc-button-active-bg-color:#3469ff;--fc-button-active-border-color:#3469ff;--fc-today-bg-color:#3469ff12}.fc .fc-toolbar-title{color:#14213d;font-size:20px}.fc .fc-col-header-cell-cushion,.fc .fc-daygrid-day-number{color:#394963}.fc .fc-daygrid-day-frame{cursor:pointer}.calendar-wrap--team .fc-daygrid-day-frame,.calendar-wrap--team .fc-daygrid-event{cursor:default}.fc .fc-daygrid-event{color:#394963;background:0 0;border:0;margin:3px 4px}@media (width<=640px){.app-header{padding-inline:16px}.app-content{width:min(100% - 20px,1240px);padding-top:30px}.fc .fc-toolbar{align-items:flex-start;gap:12px}.recent-heading .ant-space-align-end{align-items:flex-start}}.workbench-content{max-width:1320px;padding-top:36px}.workbench-intro p.ant-typography{color:#53627a;margin-bottom:0;font-size:16px}.workbench-calendar-card{border:1px solid #14213d14;box-shadow:0 14px 34px #14213d12}.calendar-toolbar h4.ant-typography{margin:0}.calendar-legend{color:#53627a;flex-wrap:wrap;gap:8px 14px;margin:22px 0 16px;font-size:13px;display:flex}.calendar-legend__item{align-items:center;gap:4px;display:inline-flex}.calendar-legend__item--submitted{color:#17633e}.calendar-legend__item--pending{color:#7a4f00}.calendar-legend__item--empty{color:#66758d}.calendar-legend__item--locked{color:#53627a}.calendar-legend__item--unfilled{color:#be123c}.calendar-legend__item--review{color:#c2410c}.calendar-legend__item--satisfied{color:#047857}.calendar-loading,.drawer-loading{min-height:360px}.month-calendar{background:#e4eaf3;border:1px solid #e4eaf3;border-radius:12px;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.month-calendar__weekday{color:#66758d;text-align:center;background:#f8faff;padding:10px 6px;font-size:12px;font-weight:700}.month-calendar__day{color:#394963;cursor:pointer;text-align:left;background:#fff;border:0;flex-direction:column;align-items:flex-start;gap:5px;min-width:0;min-height:114px;padding:11px;transition:background .16s,box-shadow .16s;display:flex}.month-calendar__day:focus-visible{z-index:1;outline-offset:-3px;outline:3px solid #3469ff;position:relative}.month-calendar__date{color:#1f2f4f;font-size:15px;font-weight:750}.month-calendar__status{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:13px;font-weight:650;overflow:hidden}.month-calendar__hours{color:#66758d;font-size:12px}.month-calendar__day--submitted .month-calendar__status{color:#17633e}.month-calendar__day--pending .month-calendar__status{color:#8b5b00}.month-calendar__day--candidate .month-calendar__status{color:#174ea6}.month-calendar__day--empty .month-calendar__status{color:#66758d}.month-calendar__day--locked .month-calendar__status{color:#53627a}.month-calendar__day--unfilled{background:#fff1f2}.month-calendar__day--review{background:#fff7ed}.month-calendar__day--satisfied{background:#ecfdf5}.month-calendar__day--unfilled .month-calendar__status{color:#be123c}.month-calendar__day--review .month-calendar__status{color:#c2410c}.month-calendar__day--satisfied .month-calendar__status{color:#047857}.month-calendar__day--rest{color:#9aa5b5;background:#fbfcfe}.month-calendar__day--rest .month-calendar__date,.month-calendar__day--rest .month-calendar__status{color:#9aa5b5}.admin-operational-summary{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.month-calendar__day--success .month-calendar__status{color:#17633e}.month-calendar__day--warning .month-calendar__status{color:#8b5b00}.month-calendar__day--danger .month-calendar__status{color:#b42318}.month-calendar__day--muted .month-calendar__status{color:#66758d}.admin-day-drawer .ant-drawer-body{padding:26px}.admin-day-drawer__content,.admin-exception-list{gap:14px;display:grid}.admin-monthly-operations{border-top:1px solid #e4eaf3;gap:12px;padding-top:18px;display:grid}.admin-monthly-operations h4.ant-typography,.admin-monthly-operations h5.ant-typography{margin:0}.admin-monthly-operations__steps{flex-wrap:wrap;gap:8px;display:flex}.admin-monthly-operations__panel{background:#fbfcfe;border:1px solid #e4eaf3;border-radius:10px;gap:10px;padding:14px;display:grid}.admin-exception-card{box-shadow:none;border-color:#e4eaf3}.admin-exception-card h5.ant-typography,.admin-exception-card p.ant-typography{margin:0}.employee-day-drawer .ant-drawer-body{padding:26px}.employee-day-drawer__content{gap:18px;min-height:100%;display:grid}.drawer-heading h2.ant-typography{color:#14213d;margin:0}.drawer-kicker{color:#3469ff;letter-spacing:.08em;font-size:12px;font-weight:750}.drawer-summary-card,.drawer-entry-card,.drawer-manual-form,.drawer-revision-form{box-shadow:none;border-color:#e4eaf3}.drawer-entry-list h4.ant-typography,.drawer-entry-card h5.ant-typography{margin:0 0 10px}.drawer-entry-list{gap:12px;display:grid}.drawer-preclose-notices{gap:10px;display:grid}.drawer-preclose-notices h4.ant-typography{margin:0}.drawer-preclose-card{background:#fffbf1;border-color:#f1d9a8}.drawer-entry-readonly{margin-top:12px}.drawer-action-bar{z-index:2;background:linear-gradient(#ffffffd1,#fff 34%);justify-content:space-between;gap:12px;padding:16px 0 26px;display:flex;position:sticky;bottom:-26px}@media (width<=720px){.workbench-content{padding-top:28px}.month-calendar__blank,.month-calendar__day{min-height:78px;padding:7px 5px}.month-calendar__weekday{padding:8px 2px}.month-calendar__status{font-size:11px}.month-calendar__hours{font-size:10px}.admin-day-drawer .ant-drawer-content-wrapper,.employee-day-drawer .ant-drawer-content-wrapper{max-width:100vw;width:100%!important}.admin-day-drawer .ant-drawer-body,.employee-day-drawer .ant-drawer-body{padding:20px 16px}.drawer-action-bar{padding-bottom:20px;bottom:-20px}}@media (prefers-reduced-motion:reduce){.month-calendar__day{transition:none}}:root{color:#020618;background:#f8fafc;font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif}body{color:#020618;background:#f8fafc}.workbench-header{z-index:15;color:#020618;background:#fff;border-bottom:1px solid #e2e8f0;min-height:64px;padding:0 24px;position:sticky;top:0}.workbench-header__inner{min-height:64px}.workbench-brand{color:#020618;white-space:nowrap;flex:none;font-size:16px;font-weight:700}.workbench-brand strong{color:#155dfc}.workbench-brand-link{color:inherit;flex:none;text-decoration:none}.workbench-nav{scrollbar-width:none;flex:1;justify-content:flex-end;gap:6px;min-width:0;display:flex;overflow-x:auto}.workbench-nav::-webkit-scrollbar{display:none}.workbench-nav__mobile-hint{display:none}.workbench-nav .ant-btn{min-height:36px;box-shadow:none;border-radius:6px;flex:none;padding-inline:12px}.workbench-nav .ant-btn-primary{background:#155dfc}.workbench-account{border-left:1px solid #e2e8f0;flex:none;padding-left:14px}.workbench-content{width:100%;max-width:none;padding:24px}.workbench-intro{max-width:760px;margin-bottom:24px}.workbench-eyebrow{color:#155dfc;font-size:12px;font-weight:700}.workbench-intro h1.ant-typography{color:#020618;margin:4px 0;font-size:24px;line-height:32px}.workbench-intro p.ant-typography{color:#62748e;font-size:14px}.workbench-calendar-card{box-shadow:none;border:1px solid #e2e8f0;border-radius:8px}.workbench-calendar-card>.ant-card-body{padding:0}.calendar-toolbar{border-bottom:1px solid #e2e8f0;padding:16px 20px}.calendar-legend{border-bottom:1px solid #e2e8f0;margin:0;padding:12px 20px}.month-calendar{background:#e2e8f0;border:0;border-radius:0 0 8px 8px;gap:1px}.month-calendar__weekday{background:#f8fafc}.month-calendar__blank{background:#fafbfc;min-height:clamp(88px,13vh,142px)}.month-calendar__day{color:#334155;background:#fff;min-height:clamp(88px,13vh,142px);transition:background .15s,box-shadow .15s}.month-calendar__day:hover{background:#f8fafc}.month-calendar__day.is-selected{background:#eff6ff;box-shadow:inset 0 0 0 2px #155dfc}.month-calendar__date{color:#020618}.month-calendar__day--submitted{background:#f0fdf4}.month-calendar__day--pending{background:#fffbeb}.month-calendar__day--candidate{background:#eff6ff}.month-calendar__day--locked{background:#f1f5f9}.month-calendar__day--rest{background:#fafbfc}.employee-day-drawer .ant-drawer-content,.admin-day-drawer .ant-drawer-content{border-radius:8px 0 0 8px;box-shadow:-8px 0 20px #00000014}.employee-day-drawer .ant-drawer-mask,.admin-day-drawer .ant-drawer-mask{background:#0206183d}.drawer-kicker{color:#155dfc;letter-spacing:0}.drawer-summary-card,.drawer-entry-card,.drawer-manual-form,.drawer-revision-form,.admin-monthly-operations__panel{border-color:#e2e8f0;border-radius:6px}.drawer-action-bar{background:linear-gradient(#ffffffd6,#fff 34%)}.app-content:not(.workbench-content){width:min(1180px,100% - 48px);padding:24px 0 56px}.hero{max-width:760px;margin-bottom:24px}.hero h1.ant-typography,.day-heading h1.ant-typography{color:#020618;margin:4px 0;font-size:24px;line-height:32px}.hero .ant-typography{color:#62748e;font-size:14px}.calendar-card,.status-card,.entry-card,.manual-entry-card,.recent-summary-card,.employee-report-card,.profile-card,.dashboard-stat-card,.dashboard-card{box-shadow:none;border:1px solid #e2e8f0;border-radius:8px}.employee-highlights,.employee-days .ant-collapse-item,.dashboard-day-link{background:#f8fafc;border-radius:6px}.employee-day-drawer .ant-drawer-content-wrapper,.admin-day-drawer .ant-drawer-content-wrapper{width:min(520px,46vw)!important}@media (width<=900px){.workbench-header{padding:10px 16px}.workbench-header__inner{min-height:44px}.workbench-nav{flex:0 0 100%;order:3;justify-content:flex-start;width:100%}.workbench-account{margin-left:auto}.workbench-content{padding:20px}.app-content:not(.workbench-content){width:calc(100% - 32px)}}.backup-form-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-bottom:18px;display:grid}.backup-form-grid label,.calendar-card>.ant-card-body>label{color:#394963;gap:7px;font-weight:600;display:grid}.backup-form-grid input,.backup-form-grid select,.calendar-card textarea{color:#14213d;width:100%;min-height:38px;font:inherit;background:#fff;border:1px solid #cbd4e2;border-radius:6px;padding:7px 10px}.calendar-card textarea{resize:vertical;min-height:88px}.backup-form-grid .backup-checkbox-label{align-self:end;align-items:center;gap:8px;min-height:38px;display:flex}.backup-form-grid .backup-checkbox-label input{flex:none;width:auto;min-height:0;margin:0}@media (width<=640px){.workbench-header__inner{align-items:flex-start}.workbench-nav{flex-wrap:wrap;order:4;overflow-x:visible}.workbench-nav__mobile-hint{color:#62748e;order:3;width:100%;font-size:12px;display:block}.workbench-content{padding:16px}.app-content:not(.workbench-content){width:calc(100% - 32px);padding-top:16px}.backup-form-grid{grid-template-columns:minmax(0,1fr)}.calendar-card .ant-card-body{padding:16px}.workbench-account .ant-typography{display:none}.calendar-toolbar{padding:14px 12px}.calendar-legend{padding:10px 12px}.month-calendar__blank,.month-calendar__day{min-height:58px}.month-calendar__day{gap:3px;padding:6px 4px}.month-calendar__status{white-space:nowrap;max-width:100%;font-size:10px}.employee-day-drawer .ant-drawer-content-wrapper,.admin-day-drawer .ant-drawer-content-wrapper{max-width:100vw;width:100%!important}}.hr-config-content{min-width:0;max-width:1180px}.hr-config-heading{min-width:0;margin-bottom:24px}.hr-config-heading>div,.hr-config-heading>.ant-space,.hr-config-table-card,.hr-config-table-card>.ant-card-body{min-width:0}.hr-config-heading>.ant-space{flex-wrap:wrap;max-width:100%}.hr-config-heading h1.ant-typography{margin:10px 0 8px}.hr-config-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.hr-config-card,.hr-config-table-card,.hr-import-card{border:1px solid #14213d14;box-shadow:0 10px 28px #14213d0f}.hr-config-loading{align-items:center;min-height:240px}.hr-import-card{margin-top:20px}.hr-config-toolbar,.hr-config-action-bar,.hr-config-draft-preview{margin-top:16px}.hr-config-action-bar{z-index:5;box-sizing:border-box;background:#fffffff5;border:1px solid #14213d1a;border-radius:10px;flex-wrap:wrap;align-items:center;gap:16px;width:100%;min-width:0;max-width:100%;padding:14px 16px;position:sticky;bottom:12px;box-shadow:0 8px 24px #14213d1a}.hr-import-card .ant-alert,.hr-import-card .ant-table-wrapper,.hr-import-actions,.hr-import-counts{margin-top:16px}@media (width<=720px){.hr-config-grid{grid-template-columns:minmax(0,1fr)}.hr-config-content .ant-steps,.hr-config-content .ant-table-wrapper{overflow-x:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
