.app-shell__nav[data-v-d7e76c5c] .t-head-menu__inner .t-menu:first-child{margin-left:0}.app-shell__auth-placeholder[data-v-d7e76c5c]{min-height:calc(100vh - 120px)}.app-bootstrap-loading{background:#f5f7fa;place-items:center;min-height:100vh;display:grid}.app-bootstrap-loading__content{flex-direction:column;align-items:center;gap:18px;display:flex}.app-bootstrap-loading__image{width:300px;height:auto;display:block}.app-bootstrap-blank{background:#fff;min-height:100vh}.auth-failure-dialog__body{line-height:1.7}.auth-failure-dialog__message{color:#1f2329}.auth-failure-dialog__hint{color:#5f6b7c;margin-top:8px}.access-denied-dialog__body{line-height:1.7}.access-denied-dialog__message{color:#1f2329}.access-denied-dialog__hint{color:#5f6b7c;margin-top:8px}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#1f2329;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--app-max-width:1360px;--app-card-radius:8px;--app-card-shadow:0 18px 50px #0f386914;--app-border-color:#0f386914;--app-primary:#0052d9;--app-primary-soft:#0052d914;--app-danger-soft:#e7253c1f;--app-success-soft:#00a8701f;background:radial-gradient(circle at 0 0,#0052d924,#0000 32%),radial-gradient(circle at 100%,#2f80ed1f,#0000 28%),linear-gradient(#f4f7fb 0%,#edf2f9 100%);font-family:Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html,body,#app{min-height:100vh;margin:0}body{min-width:320px}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh}.app-shell__header{z-index:40;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;border-bottom:1px solid #0f386914;position:sticky;top:0;box-shadow:0 8px 24px #0f38690a}.app-shell__header-inner{max-width:var(--app-max-width);justify-content:space-between;align-items:center;gap:24px;width:96%;margin:0 auto;display:flex}.app-shell__nav{flex:1;min-width:0}.app-shell__header-inner--mobile{justify-content:flex-end}.app-shell__user-trigger{color:#1f2329;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:8px 12px;transition:background-color .2s;display:inline-flex}.app-shell__user-trigger:hover{background:#0f38690f}.app-shell__user-avatar{color:#fff;background:linear-gradient(135deg,#0052d9,#3a7bff);font-weight:700}.app-shell__user-name{white-space:nowrap;font-size:14px;font-weight:600}.app-shell__user-arrow{color:#5f6b7c;flex-shrink:0}.app-shell__user-menu{min-width:180px;padding:8px 0}.app-shell__user-menu-title{padding:0 16px;font-size:15px;font-weight:700}.app-shell__user-menu-subtitle{color:#5f6b7c;padding:6px 16px 10px;font-size:12px;line-height:1.5}.app-shell__logout-button{border-top:1px solid #0f386914;border-radius:0;justify-content:flex-start;height:40px;padding:0 16px}.app-shell__content{max-width:calc(var(--app-max-width));width:96%;margin:0 auto;padding-top:20px}.app-shell__content--with-mobile-tabs{padding-bottom:calc(76px + env(safe-area-inset-bottom))}.app-shell__content_inner{width:100%;min-width:0;max-width:100%}.page-stack{width:100%;min-width:0}.page-stack>*+*{margin-top:20px}.page-stack>.t-tabs{margin-top:0}.page-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.page-header__title{font-size:28px;font-weight:700}.page-header__subtitle{color:#5f6b7c;margin-top:6px;font-size:14px}.glass-card{border-radius:var(--app-card-radius);width:100%;min-width:0;box-shadow:var(--app-card-shadow);overflow:hidden}.hero-card{color:#fff;background:linear-gradient(135deg,#49607ef5,#7089a6e6),linear-gradient(#fff,#fff)}.hero-card__content{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:10px;padding:18px;display:grid}.hero-card__headline{font-size:22px;font-weight:700;line-height:1.2}.hero-card__meta{color:#ffffffdb;margin-top:12px;line-height:1.7}.hero-card__stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.hero-stat{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1f;border:1px solid #ffffff1a;border-radius:8px;padding:18px}.hero-stat__label{color:#fffc;font-size:13px}.hero-stat__value{margin-top:8px;font-size:28px;font-weight:700}.metric-grid{flex-wrap:wrap;align-items:stretch;gap:16px;display:flex}.metric-grid>*{flex:calc(20% - 12.8px);min-width:0}.metric-card{min-height:160px;position:relative}.metric-list{flex-direction:column;gap:12px;display:flex}.metric-card__header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.metric-card__pill{background:var(--app-primary-soft);color:var(--app-primary);border-radius:6px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.metric-card__pill--danger{color:#d54941;background:#feeceb}.metric-card__pill--success{color:#2ba471;background:#e9f8f0}.metric-card__pill--warning{color:#d9730d;background:#fff3e6}.metric-card__pill--primary{background:var(--app-primary-soft);color:var(--app-primary)}.metric-card__value{margin-top:18px;font-size:34px;font-weight:700;line-height:1}.metric-card__desc{color:#5f6b7c;margin-top:14px;font-size:13px;line-height:1.7}.metric-card--compact{min-height:0}.metric-card--compact .t-card__body{padding:0}.metric-card--grouped{width:100%;min-width:0;max-width:100%;display:block;overflow:hidden}.metric-card__compact{text-align:left;width:100%;color:inherit;background:0 0;border:0;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.metric-card__compact:disabled{cursor:default}.metric-card__compact--grouped+.metric-card__compact--grouped{border-top:1px solid #0f386914}.metric-card__grouped-header{justify-content:space-between;align-items:center;gap:12px;padding:14px 14px 0;display:flex}.metric-card__compact--grouped{width:100%;min-width:0}.metric-card__grouped-footer{border-top:1px solid #0f386914;align-items:center;padding:10px 14px;display:flex}.metric-card__compact-main{flex:1;min-width:0}.metric-card__compact-desc{color:#98a2b3;margin-top:8px;font-size:13px;line-height:1.5}.metric-card__compact-side{flex-shrink:0;align-items:center;gap:8px;display:flex}.metric-card__compact-value{color:#5f6b7c;text-align:right;white-space:nowrap;font-size:28px;font-weight:500;line-height:1.1}.metric-card__compact-chevron{color:#b5bdca;font-size:30px;line-height:1}.overview-mobile__footer-actions{justify-content:center;align-items:center;width:100%;display:flex}.overview-mobile__metrics,.overview-mobile__metrics .t-loading__parent{width:100%;min-width:0;max-width:100%}.overview-mobile__footer-actions .t-button{flex:1 1 0;height:32px;padding:0;font-size:14px;font-weight:600}.overview-mobile__footer-divider{background:#0f38691a;align-self:stretch;width:1px}.records-mobile__tabs{background:#eef1f5;border-radius:5px;padding:4px;display:flex;overflow:hidden;box-shadow:inset 0 0 0 1px #1f23290f}.records-mobile__tab{color:#1f2329;text-align:center;background:0 0;border:0;border-radius:6px;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;min-width:0;height:50px;padding:8px 4px 10px;transition:background-color .2s,color .2s,box-shadow .2s;display:flex;position:relative}.records-mobile__tab:after{content:"";background:#1f23291a;width:1px;height:calc(100% - 28px);position:absolute;top:14px;right:0}.records-mobile__tab:last-child:after,.records-mobile__tab--active:after{display:none}.records-mobile__tab--active{background:#fff;box-shadow:0 2px 8px #0f386914}.records-mobile__tab-label{color:#1f2329;white-space:nowrap;max-width:100%;font-size:11px;font-weight:500}.records-mobile__tab--active .records-mobile__tab-label{color:#0052d9}.records-mobile__tab-count{color:#1f2329;font-size:12px;font-weight:500}.filter-card__content{flex-direction:column;gap:16px;display:flex}.mobile-filter-shell{flex-direction:column;display:flex}.mobile-filter-card__header{justify-content:space-between;align-items:flex-start;display:flex}.mobile-filter-card__content{min-width:0}.mobile-filter-card__title-row{align-items:center;gap:8px;display:flex}.mobile-filter-card__title{min-width:0;font-size:18px;font-weight:700}.mobile-filter-card__summary{color:#5f6b7c;margin-top:8px;font-size:13px;line-height:1.6}.mobile-filter-card__actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.attendance-filter-drawer__footer{justify-content:flex-end;gap:12px;width:100%;display:flex}.attendance-filter-drawer .t-drawer__body,.attendance-filter-drawer .t-drawer__footer{padding-bottom:calc(16px + env(safe-area-inset-bottom))}.filter-card__header{justify-content:space-between;align-items:center;gap:16px;display:flex}.filter-card__title{min-width:0}.filter-form{grid-template-columns:repeat(var(--filter-field-count), minmax(0, 1fr)) auto;align-items:end;gap:16px;display:grid}.filter-field{min-width:0}.filter-form__actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.filter-card__actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:12px;display:flex}.filter-hint{color:#5f6b7c;margin-bottom:8px;font-size:13px}.filter-field :is(.t-input,.t-select,.t-date-picker){width:100%}.filter-note{color:#5f6b7c;font-size:13px;line-height:1.7}.table-card__header,.summary-card__header{justify-content:space-between;align-items:center;gap:12px;display:flex}.summary-badges{flex-wrap:wrap;gap:10px;display:flex}.summary-count-button--danger{color:#d54941!important}.summary-row-total-text{font-weight:700}.mobile-stack{flex-direction:column;gap:16px;width:100%;min-width:0;display:flex}.mobile-card{border-radius:8px}.mobile-card__header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.mobile-card__title{font-size:18px;font-weight:700}.mobile-card__meta{color:#5f6b7c;margin-top:4px;font-size:13px}.mobile-card__summary{margin-top:6px;font-size:14px;line-height:1.7}.mobile-card__footer{justify-content:flex-end;margin-top:6px;display:flex}.mobile-card__footer--split{justify-content:space-between}.mobile-card__title-button{height:auto!important;padding:0!important;font-size:18px!important;font-weight:700!important}.mobile-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.mobile-summary-item{background:#e8eaea;border-radius:8px;padding:14px}.mobile-summary-item--total{font-weight:700}.mobile-summary-item__value{margin-top:10px;font-size:22px;font-weight:700}.panel-note{color:#5f6b7c;font-size:13px;line-height:1.7}.detail-list{flex-direction:column;gap:12px;display:flex}.detail-list__row{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.detail-item{background:#f8fbff;border-radius:8px;padding:12px 14px}.detail-item__label{color:#5f6b7c;font-size:12px}.detail-item__value{word-break:break-word;margin-top:8px;font-weight:600}.leave-balance-value--zero{color:#98a2b3}.toolbar-inline{align-items:center;display:flex}.system-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 24px;display:grid}.system-filter-grid--compact{grid-template-columns:minmax(0,360px)}.system-filter-item{grid-template-columns:56px minmax(0,1fr);align-items:center;gap:12px;display:grid}.system-filter-item__label{color:#4b5565;white-space:nowrap;font-size:14px;line-height:22px}.system-filter-item__control{width:100%}.attendance-pagination{justify-content:flex-end;margin-top:16px;display:flex}.system-page{width:100%;overflow-x:auto}.system-layout{background:#ffffffeb;grid-template-columns:180px 1fr;align-items:stretch;width:100%;min-width:0;min-height:680px;display:grid}.system-layout__aside{background:#f8fbffb8;border-right:1px solid #0f386914;width:180px;padding:10px}.system-layout__menu{width:100%;max-width:100%;margin-top:0;overflow:hidden}.system-layout__menu.t-default-menu{max-width:100%;width:100%!important}.system-layout__main{min-width:0;padding:24px;overflow-x:auto}.table-scroll-x{width:100%;min-width:0;max-width:100%;overflow:hidden}.table-scroll-x .t-table{width:100%;min-width:0}.table-scroll-x .t-table__content{width:100%;max-width:100%;overflow-x:auto}.system-alert{margin-top:16px}.system-scope-drawer .t-drawer__body{flex-direction:column;min-height:0;display:flex}.system-drawer{flex-direction:column;gap:16px;height:100%;min-height:0;display:flex}.system-drawer__body{flex-direction:column;flex:1;width:100%;min-height:0;display:flex}.system-drawer__tree-wrap{flex-direction:column;flex:1;width:100%;min-height:0;display:flex;overflow:auto}.system-drawer__tree-wrap--compact{background:#fff;border:1px solid #0f38691f;border-radius:8px;flex:none;min-height:260px;max-height:320px;padding:8px 12px}.system-drawer__state{flex:1}.system-drawer__actions{flex-shrink:0;justify-content:flex-end;gap:12px;margin-top:auto;display:flex}.system-panel-note{margin-bottom:12px}.system-tree{width:100%;min-height:100%;padding:8px 0}.system-tree-select{width:100%}.system-tree-select-popup .t-popup__content,.system-tree-select-popup .t-tree{min-width:100%}.system-resource-groups{flex-direction:column;gap:16px;display:flex}.system-resource-group{background:#f8fbff;border:1px solid #0f386914;border-radius:8px;padding:14px 16px}.system-resource-group__header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.system-resource-group__title{font-weight:700}.system-resource-group__options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;display:grid}.empty-panel,.error-panel{border-radius:var(--app-card-radius);text-align:center;box-shadow:var(--app-card-shadow);background:#ffffffe0;padding:48px 24px}.error-panel{background:#fff8f8f2;border:1px solid #e7253c24}.status-danger{color:#d54941;font-weight:600}.status-success{color:#00a870;font-weight:600}.status-warning{color:#ed7b2f;font-weight:600}.status-muted{color:#5f6b7c}.app-shell__mobile-tabs{z-index:60;padding:6px 6px calc(6px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffffa;border-top:1px solid #0f38691a;align-items:stretch;gap:0;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -10px 28px #0f386914}.app-shell__mobile-tab{color:#5f6b7c;background:0 0;border:0;border-radius:10px;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;min-height:54px;padding:6px 4px;font-size:11px;font-weight:600;transition:color .2s,background-color .2s;display:inline-flex}.app-shell__mobile-tab--active{color:#0052d9}.app-shell__mobile-tab-icon{color:currentColor;margin-bottom:4px;font-size:22px}.app-shell__mobile-tab-label{white-space:nowrap;line-height:1.2}@media (width<=1100px){.metric-grid>*{flex-basis:calc(50% - 8px)}.hero-card__content{grid-template-columns:1fr}.filter-form{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-form__actions{grid-column:1/-1;justify-content:flex-start}}@media (width<=768px){html,body,#app,.app-shell,.app-shell__content{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}input,textarea,select,[contenteditable=true],.t-input,.t-input__inner,.t-input__wrap,.t-textarea__inner,.t-date-picker,.t-date-range-picker,.t-select,.t-select-input,.t-select-input__inner,.t-tree-select,.t-radio-group,.t-checkbox-group{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}:root{background:#fffcfc}html,body,#app,.app-shell,.app-shell__content{background:#fffcfc99}.glass-card,.glass-card.t-card{border:0!important}.t-card__body{padding:16px}a,button,[role=button]{touch-action:manipulation}.app-shell__header-inner--mobile{min-height:56px}.app-shell__content{width:94%}.app-shell__content--with-mobile-tabs{padding-bottom:calc(76px + env(safe-area-inset-bottom))}.app-shell__mobile-tabs{background:#fffcfcfa}.app-shell__user-trigger{padding:6px 8px}.app-shell__user-name{text-overflow:ellipsis;max-width:72px;overflow:hidden}.page-header{flex-direction:column;align-items:stretch}.page-header__title{font-size:18px}.metric-grid>*{flex-basis:100%}.filter-card__header{flex-direction:column;align-items:stretch}.filter-form,.detail-list__row,.system-resource-group__options,.system-filter-grid{grid-template-columns:1fr}.mobile-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-form__actions{justify-content:stretch}.filter-form__actions .t-button{width:100%}.filter-card__actions{justify-content:stretch;width:100%}.filter-card__actions .t-button{flex:1 1 0;min-width:0}.mobile-filter-card__header{flex-direction:column;align-items:stretch}.mobile-filter-card__title-row{flex-wrap:wrap}.mobile-filter-card__actions{width:100%}.mobile-filter-card__actions .t-button{flex:1 1 0}.attendance-filter-drawer__footer{justify-content:stretch;gap:8px}.attendance-filter-drawer__footer .t-button{flex:1 1 0}.attendance-filter-drawer .t-drawer__body,.attendance-filter-drawer .t-drawer__footer{padding-bottom:calc(12px + env(safe-area-inset-bottom))}.filter-field .t-radio-group{flex-wrap:wrap;gap:8px;display:flex}.filter-field :is(.t-input,.t-select,.t-date-picker) .t-input__inner,.filter-field :is(.t-input,.t-select,.t-date-picker) .t-input__wrap,.filter-field :is(.t-input,.t-select,.t-date-picker) .t-input__suffix,.filter-field :is(.t-input,.t-select,.t-date-picker) .t-input__prefix,.filter-field :is(.t-input,.t-select,.t-date-picker) .t-input,.filter-field :is(.t-input,.t-select,.t-date-picker){font-size:16px}.hero-card__headline{font-size:26px}.metric-card{min-height:0}.metric-card__value{font-size:28px}.metric-card__desc{font-size:12px;line-height:1.5}.metric-card__compact{gap:12px;padding:12px 14px}.metric-card__compact--grouped{padding:14px}.metric-card--grouped .metric-card__compact-desc,.metric-card--grouped .metric-card__compact-value{color:#1f2329}.metric-card__grouped-header{padding:14px 14px 0}.metric-card__grouped-footer{padding:10px 12px}.metric-card__compact .metric-card__pill{padding:5px 10px;font-size:14px}.metric-card__compact-desc{margin-top:6px;font-size:14px}.metric-card__compact-value,.metric-card__compact-chevron{font-size:24px}}
