html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}@-ms-viewport{width:device-width}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{-webkit-text-decoration:underline dotted;text-decoration:underline;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{padding:.2em;background-color:#feffe6}:root,html[data-theme=light]{--app-bg: #f4f7fb;--app-surface: #ffffff;--app-surface-soft: #f8fafc;--app-surface-muted: #eef2f7;--app-header-bg: #ffffff;--app-sider-bg: #fbfcff;--app-sider-border: #dde5ef;--app-sider-text: #334155;--app-sider-text-strong: #111827;--app-sider-text-muted: #64748b;--app-sider-icon: #64748b;--app-sider-arrow: #94a3b8;--app-sider-hover-bg: #f3f7fc;--app-sider-hover-text: #0f172a;--app-sider-selected-bg: #eaf3ff;--app-sider-selected-text: #0b63ce;--app-sider-selected-icon: #1677ff;--app-sider-active-bg: #f6f8fb;--app-sider-sub-border: #e2e8f0;--app-sider-trigger-bg: #fbfcff;--app-sider-trigger-hover: #1677ff;--app-sider-selected-shadow: inset 0 0 0 1px rgb(22 119 255 / 10%), 0 6px 16px rgb(22 119 255 / 8%);--app-text: #111827;--app-text-secondary: #334155;--app-text-muted: #64748b;--app-border: #e5e7eb;--app-border-soft: #edf2f7;--app-shadow: 0 10px 30px rgb(15 23 42 / 6%)}html[data-theme=dark]{--app-bg: #0f141c;--app-surface: #181d26;--app-surface-soft: #1f2630;--app-surface-muted: #252d38;--app-header-bg: #171c24;--app-sider-bg: #0b1018;--app-sider-border: #1f2937;--app-sider-text: #cbd7e6;--app-sider-text-strong: #f8fafc;--app-sider-text-muted: #91a2b7;--app-sider-icon: #9cadc1;--app-sider-arrow: #8290a3;--app-sider-hover-bg: rgb(148 163 184 / 10%);--app-sider-hover-text: #e8f3ff;--app-sider-selected-bg: rgb(22 119 255 / 18%);--app-sider-selected-text: #93c5fd;--app-sider-selected-icon: #69b1ff;--app-sider-active-bg: rgb(148 163 184 / 8%);--app-sider-sub-border: #2f3b4c;--app-sider-trigger-bg: #0b1018;--app-sider-trigger-hover: #8ec5ff;--app-sider-selected-shadow: inset 0 0 0 1px rgb(105 177 255 / 12%);--app-text: #f8fafc;--app-text-secondary: #dbe4ef;--app-text-muted: #94a3b8;--app-border: #303846;--app-border-soft: #252d38;--app-shadow: 0 14px 34px rgb(0 0 0 / 28%)}:root{color:var(--app-text);background:var(--app-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{overflow-x:hidden;min-width:320px;margin:0;background:var(--app-bg);color:var(--app-text)}#app,.app-shell{min-height:100vh}.app-main{min-width:0;min-height:100vh;background:var(--app-bg)}.app-shell>.ant-layout{min-width:0}.app-sider{border-right:1px solid var(--app-sider-border);background:var(--app-sider-bg)!important}.mobile-menu-drawer .ant-drawer-content,.mobile-menu-drawer .ant-drawer-body,.mobile-menu-drawer .ant-menu{background:var(--app-sider-bg)}.brand{display:flex;align-items:center;gap:12px;height:84px;padding:18px 20px;border-bottom:1px solid var(--app-sider-border);color:var(--app-sider-text-strong)}.brand.collapsed{justify-content:center;padding:0}.brand-mark{display:grid;width:42px;height:42px;flex:0 0 42px;place-items:center;border-radius:10px;background:linear-gradient(135deg,#1677ff,#2f9cff);box-shadow:0 10px 22px #1677ff38;color:#fff;font-weight:800}.brand-copy{display:grid;line-height:1.15}.brand-copy span{margin-top:4px;color:var(--app-sider-text-muted);font-size:12px}.app-sider .ant-layout-sider-children,.mobile-menu-drawer .ant-drawer-body{background:var(--app-sider-bg)}.app-sider .ant-menu,.mobile-menu-drawer .ant-menu{padding:12px;border-inline-end:0!important;background:var(--app-sider-bg)!important}.app-sider .ant-menu .ant-menu-item,.app-sider .ant-menu .ant-menu-submenu-title,.mobile-menu-drawer .ant-menu .ant-menu-item,.mobile-menu-drawer .ant-menu .ant-menu-submenu-title{position:relative;height:40px;margin:2px 0;padding-inline:14px 14px!important;border-radius:8px;color:var(--app-sider-text);font-size:15px;line-height:40px;transition:background-color .18s ease,color .18s ease,box-shadow .18s ease}.app-sider .ant-menu .ant-menu-item .anticon,.app-sider .ant-menu .ant-menu-submenu-title .anticon,.mobile-menu-drawer .ant-menu .ant-menu-item .anticon,.mobile-menu-drawer .ant-menu .ant-menu-submenu-title .anticon{color:var(--app-sider-icon);font-size:15px;transition:color .18s ease}.app-sider .ant-menu .ant-menu-title-content,.mobile-menu-drawer .ant-menu .ant-menu-title-content{font-weight:500}.app-sider .ant-menu .ant-menu-submenu-arrow,.mobile-menu-drawer .ant-menu .ant-menu-submenu-arrow{color:var(--app-sider-arrow)}.app-sider .ant-menu .ant-menu-item:hover,.app-sider .ant-menu .ant-menu-submenu-title:hover,.mobile-menu-drawer .ant-menu .ant-menu-item:hover,.mobile-menu-drawer .ant-menu .ant-menu-submenu-title:hover{background:var(--app-sider-hover-bg)!important;color:var(--app-sider-hover-text)!important}.app-sider .ant-menu .ant-menu-item-selected,.mobile-menu-drawer .ant-menu .ant-menu-item-selected{background:var(--app-sider-selected-bg)!important;color:var(--app-sider-selected-text)!important;font-weight:600;box-shadow:var(--app-sider-selected-shadow)}.app-sider .ant-menu .ant-menu-item:after,.mobile-menu-drawer .ant-menu .ant-menu-item:after{display:none!important}.app-sider .ant-menu .ant-menu-item-selected:before,.mobile-menu-drawer .ant-menu .ant-menu-item-selected:before{position:absolute;top:10px;bottom:10px;left:6px;width:3px;border-radius:999px;background:var(--app-sider-selected-icon);content:""}.app-sider .ant-menu .ant-menu-item-selected .anticon,.mobile-menu-drawer .ant-menu .ant-menu-item-selected .anticon{color:var(--app-sider-selected-icon)!important}.app-sider .ant-menu .app-menu-group-active>.ant-menu-submenu-title,.mobile-menu-drawer .ant-menu .app-menu-group-active>.ant-menu-submenu-title{background:var(--app-sider-active-bg)!important;color:var(--app-sider-text-strong)!important;font-weight:600}.app-sider .ant-menu .app-menu-group-active>.ant-menu-submenu-title .anticon,.app-sider .ant-menu .app-menu-group-active>.ant-menu-submenu-title .ant-menu-submenu-arrow,.mobile-menu-drawer .ant-menu .app-menu-group-active>.ant-menu-submenu-title .anticon,.mobile-menu-drawer .ant-menu .app-menu-group-active>.ant-menu-submenu-title .ant-menu-submenu-arrow{color:var(--app-sider-selected-icon)!important}.app-sider .ant-menu .ant-menu-sub,.mobile-menu-drawer .ant-menu .ant-menu-sub{margin:2px 0 8px 18px;padding-left:10px;border-left:1px solid var(--app-sider-sub-border);background:transparent!important}.app-sider .ant-menu .ant-menu-sub .ant-menu-item,.mobile-menu-drawer .ant-menu .ant-menu-sub .ant-menu-item{height:36px;margin:2px 0;padding-inline-start:12px!important;padding-inline-end:12px!important;border-radius:7px;font-size:14px;line-height:36px}.app-sider.ant-layout-sider-collapsed .brand{height:76px}.app-sider.ant-layout-sider-collapsed .ant-menu{padding-right:8px;padding-left:8px}.app-sider .ant-layout-sider-trigger{border-top:1px solid var(--app-sider-border);background:var(--app-sider-trigger-bg)!important;color:var(--app-sider-text-muted)!important}.app-sider .ant-layout-sider-trigger:hover{color:var(--app-sider-trigger-hover)!important}.app-main>.app-header.ant-layout-header{display:flex;height:auto;min-height:72px;flex-shrink:0;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid var(--app-border);background:var(--app-header-bg)!important;line-height:1.4!important}.header-title-row{display:flex;min-width:0;align-items:center;gap:12px}.header-copy{min-width:0}.mobile-menu-button{display:none;flex:0 0 auto}.header-user{display:flex;flex:0 0 auto;align-items:center;gap:10px;max-width:100%}.theme-toggle-button{display:inline-flex;height:32px;flex:0 0 auto;align-items:center;border-color:var(--app-border)!important;background:var(--app-surface-soft)!important;color:var(--app-text-secondary)!important;font-weight:600}.theme-toggle-button:hover,.theme-toggle-button:focus{border-color:#1677ff!important;color:#1677ff!important;background:var(--app-surface-muted)!important}.app-header h1{margin:0;color:var(--app-text);font-size:20px;font-weight:650}.app-header p{margin:4px 0 0;color:var(--app-text-muted);font-size:13px}.user-name{max-width:120px;overflow:hidden;color:var(--app-text-secondary);text-overflow:ellipsis;white-space:nowrap}.app-content{min-height:calc(100vh - 72px);padding:24px}.page-panel{min-width:0;padding:20px;border:1px solid var(--app-border);border-radius:8px;background:var(--app-surface);box-shadow:var(--app-shadow)}.filter-bar{display:flex;min-width:0;flex-wrap:wrap;gap:20px;align-items:center;margin-bottom:16px}.filter-bar .ant-picker,.filter-bar .ant-input,.filter-bar .ant-input-affix-wrapper,.filter-bar .ant-input-group-wrapper,.filter-bar .ant-input-number,.filter-bar .ant-select{flex:0 0 300px;width:300px;max-width:100%;min-width:0}.filter-bar .ant-btn{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:6px;min-width:90px;padding-inline:8px;line-height:1}.filter-bar .ant-btn>span:not(.ant-btn-icon){min-width:0;overflow:hidden;text-overflow:ellipsis}.filter-bar .ant-btn .ant-btn-icon{display:inline-flex;flex:none;align-items:center;justify-content:center;line-height:0}.filter-bar .ant-btn .ant-btn-icon svg{display:block}.filter-bar .ant-checkbox-wrapper{min-width:0;height:32px;align-items:center;margin-inline-start:0}.toolbar{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.toolbar>.filter-bar{flex:1;margin-bottom:0}.page-panel .ant-table-wrapper{max-width:100%}.page-panel .ant-table{table-layout:fixed}.table-cell-ellipsis-cell{max-width:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.muted{color:var(--app-text-muted)}.text-nowrap{white-space:nowrap}.status-valid{color:#16a34a}.status-void{color:#dc2626}html[data-theme=dark] .ant-layout,html[data-theme=dark] .ant-layout-content,html[data-theme=dark] .ant-layout-header{background:var(--app-bg)}html[data-theme=dark] .ant-menu-dark,html[data-theme=dark] .ant-menu-dark .ant-menu-sub{background:var(--app-sider-bg)}html[data-theme=dark] .ant-menu-dark .ant-menu-item,html[data-theme=dark] .ant-menu-dark .ant-menu-submenu-title{color:var(--app-sider-text)}html[data-theme=dark] .ant-menu-dark .ant-menu-item-selected{color:var(--app-sider-selected-text)}html[data-theme=dark] .brand{border-bottom-color:var(--app-sider-border);color:var(--app-sider-text-strong)}html[data-theme=dark] .app-sider .ant-menu .ant-menu-item,html[data-theme=dark] .app-sider .ant-menu .ant-menu-submenu-title,html[data-theme=dark] .mobile-menu-drawer .ant-menu .ant-menu-item,html[data-theme=dark] .mobile-menu-drawer .ant-menu .ant-menu-submenu-title{color:var(--app-sider-text)}html[data-theme=dark] .app-sider .ant-menu .ant-menu-item .anticon,html[data-theme=dark] .app-sider .ant-menu .ant-menu-submenu-title .anticon,html[data-theme=dark] .mobile-menu-drawer .ant-menu .ant-menu-item .anticon,html[data-theme=dark] .mobile-menu-drawer .ant-menu .ant-menu-submenu-title .anticon,html[data-theme=dark] .app-sider .ant-menu .ant-menu-submenu-arrow,html[data-theme=dark] .mobile-menu-drawer .ant-menu .ant-menu-submenu-arrow{color:var(--app-sider-icon)}html[data-theme=dark] .app-sider .ant-layout-sider-trigger{border-top-color:var(--app-sider-border);background:var(--app-sider-trigger-bg)!important;color:var(--app-sider-text-muted)!important}html[data-theme=dark] .mobile-menu-drawer .ant-drawer-content,html[data-theme=dark] .mobile-menu-drawer .ant-drawer-body,html[data-theme=dark] .mobile-menu-drawer .ant-menu{background:var(--app-sider-bg)!important}html[data-theme=dark] .app-sider .ant-menu .ant-menu-item:hover,html[data-theme=dark] .app-sider .ant-menu .ant-menu-submenu-title:hover,html[data-theme=dark] .mobile-menu-drawer .ant-menu .ant-menu-item:hover,html[data-theme=dark] .mobile-menu-drawer .ant-menu .ant-menu-submenu-title:hover{background:var(--app-sider-hover-bg)!important;color:var(--app-sider-hover-text)!important}html[data-theme=dark] .app-sider .ant-menu .ant-menu-item-selected,html[data-theme=dark] .mobile-menu-drawer .ant-menu .ant-menu-item-selected{background:var(--app-sider-selected-bg)!important;color:var(--app-sider-selected-text)!important;box-shadow:var(--app-sider-selected-shadow)}html[data-theme=dark] .app-sider .ant-menu .app-menu-group-active>.ant-menu-submenu-title,html[data-theme=dark] .mobile-menu-drawer .ant-menu .app-menu-group-active>.ant-menu-submenu-title{background:var(--app-sider-active-bg)!important;color:var(--app-sider-text-strong)!important}html[data-theme=dark] .app-sider .ant-menu .ant-menu-item-selected .anticon,html[data-theme=dark] .mobile-menu-drawer .ant-menu .ant-menu-item-selected .anticon,html[data-theme=dark] .app-sider .ant-menu .app-menu-group-active>.ant-menu-submenu-title .anticon,html[data-theme=dark] .app-sider .ant-menu .app-menu-group-active>.ant-menu-submenu-title .ant-menu-submenu-arrow,html[data-theme=dark] .mobile-menu-drawer .ant-menu .app-menu-group-active>.ant-menu-submenu-title .anticon,html[data-theme=dark] .mobile-menu-drawer .ant-menu .app-menu-group-active>.ant-menu-submenu-title .ant-menu-submenu-arrow{color:var(--app-sider-selected-icon)!important}html[data-theme=dark] .app-sider .ant-menu .ant-menu-sub,html[data-theme=dark] .mobile-menu-drawer .ant-menu .ant-menu-sub{border-left-color:var(--app-sider-sub-border)}html[data-theme=dark] .ant-table,html[data-theme=dark] .ant-table-wrapper,html[data-theme=dark] .ant-table-container,html[data-theme=dark] .ant-table-content,html[data-theme=dark] .ant-table-thead>tr>th,html[data-theme=dark] .ant-table-tbody>tr>td,html[data-theme=dark] .ant-table-placeholder,html[data-theme=dark] .ant-modal-content,html[data-theme=dark] .ant-modal-header,html[data-theme=dark] .ant-drawer-content,html[data-theme=dark] .ant-drawer-header,html[data-theme=dark] .ant-card,html[data-theme=dark] .ant-list,html[data-theme=dark] .ant-popover-inner,html[data-theme=dark] .ant-dropdown-menu{border-color:var(--app-border);background:var(--app-surface);color:var(--app-text)}html[data-theme=dark] .ant-table-thead>tr>th,html[data-theme=dark] .ant-table-cell-row-hover,html[data-theme=dark] .ant-table-tbody>tr:hover>td,html[data-theme=dark] .ant-select-dropdown,html[data-theme=dark] .ant-picker-dropdown .ant-picker-panel-container{background:var(--app-surface-soft)!important}html[data-theme=dark] .ant-input,html[data-theme=dark] .ant-input-number,html[data-theme=dark] .ant-input-number-input,html[data-theme=dark] .ant-input-affix-wrapper,html[data-theme=dark] .ant-select-selector,html[data-theme=dark] .ant-picker,html[data-theme=dark] .ant-pagination-item,html[data-theme=dark] .ant-pagination-options .ant-select-selector,html[data-theme=dark] .ant-btn-default{border-color:var(--app-border)!important;background:var(--app-surface-soft)!important;color:var(--app-text)!important}html[data-theme=dark] .ant-input::placeholder,html[data-theme=dark] .ant-select-selection-placeholder,html[data-theme=dark] .ant-picker-input>input::placeholder,html[data-theme=dark] .ant-empty-description,html[data-theme=dark] .ant-form-item-label>label,html[data-theme=dark] .ant-statistic-title,html[data-theme=dark] .ant-table-thead>tr>th{color:var(--app-text-muted)!important}html[data-theme=dark] .ant-statistic-content,html[data-theme=dark] .ant-modal-title,html[data-theme=dark] .ant-drawer-title,html[data-theme=dark] .ant-table,html[data-theme=dark] .ant-picker-input>input,html[data-theme=dark] .ant-select-selection-item,html[data-theme=dark] .ant-pagination,html[data-theme=dark] .ant-btn-text{color:var(--app-text)!important}html[data-theme=dark] .submit-aside{border-left-color:var(--app-border)}html[data-theme=dark] .submit-aside ul,html[data-theme=dark] .section-title .muted{color:var(--app-text-muted)}html[data-theme=dark] .trend-track{background:var(--app-surface-muted)}html[data-theme=dark] .developer-summary,html[data-theme=dark] .developer-tags,html[data-theme=dark] .detail-body,html[data-theme=dark] .activity-item,html[data-theme=dark] .detail-time-record-panel{border-color:var(--app-border);background:var(--app-surface);color:var(--app-text)}@media(max-width:720px){.app-sider{display:none}.app-main>.app-header.ant-layout-header{height:auto;min-height:72px;align-items:stretch;flex-direction:column;gap:10px;padding:14px 16px}.header-title-row{width:100%}.mobile-menu-button{display:inline-flex}.header-user{flex-wrap:wrap;gap:8px}.app-content,.page-panel{padding:12px}.toolbar{align-items:stretch;flex-direction:column;gap:10px}.toolbar>.ant-btn,.toolbar>.filter-bar{width:100%}.filter-bar{gap:12px}.filter-bar .ant-picker,.filter-bar .ant-input,.filter-bar .ant-input-affix-wrapper,.filter-bar .ant-input-group-wrapper,.filter-bar .ant-input-number,.filter-bar .ant-select{flex-basis:100%;width:100%;min-width:0}.filter-bar .ant-btn{min-width:90px}.page-panel .ant-table-pagination.ant-pagination{justify-content:flex-start;flex-wrap:wrap;row-gap:8px}.page-panel .ant-pagination-options{margin-left:0}.ant-modal{max-width:calc(100vw - 16px);margin:8px auto}}
