.login-page{--login-navy: #0d2742;--login-blue: #176bda;min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:32px;overflow-x:hidden;background:radial-gradient(circle at 12% 10%,rgba(38,119,217,.12),transparent 30%),radial-gradient(circle at 88% 88%,rgba(17,160,148,.08),transparent 28%),#f2f6fa}.login-shell{width:min(1160px,100%);min-height:690px;display:grid;grid-template-columns:1.08fr .92fr;overflow:hidden;border:1px solid rgba(13,39,66,.08);border-radius:28px;background:#fff;box-shadow:0 30px 80px #1c344d26}.login-showcase{position:relative;isolation:isolate;overflow:hidden;color:#fff;background:linear-gradient(145deg,#103354fa,#07213cfa),var(--login-navy)}.login-showcase:before,.login-showcase:after{position:absolute;z-index:-1;content:"";pointer-events:none}.login-showcase:before{width:440px;height:440px;top:-170px;right:-180px;border:1px solid rgba(118,190,255,.22);border-radius:50%;box-shadow:0 0 0 70px #52a7f40d,0 0 0 145px #52a7f409}.login-showcase:after{top:0;right:0;bottom:0;left:0;opacity:.3;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 35%,#000);mask-image:linear-gradient(to bottom,transparent,#000 35%,#000)}.login-showcase-content{min-height:100%;display:flex;flex-direction:column;padding:54px 58px}.login-brand{display:flex;align-items:center;gap:14px}.login-brand-icon{width:46px;height:46px;display:grid;place-items:center;flex:none;border:1px solid rgba(255,255,255,.2);border-radius:14px;background:#ffffff1f;box-shadow:0 10px 24px #0000001f}.login-brand-icon img{width:30px;height:30px}.login-brand>span:last-child{display:flex;flex-direction:column;gap:2px}.login-brand strong{color:#fff;font-size:17px;font-weight:650;letter-spacing:.02em}.login-brand small{color:#daebfba8;font-size:11px;letter-spacing:.15em;text-transform:uppercase}.login-showcase-copy{max-width:470px;margin-top:92px}.login-eyebrow{display:inline-flex;align-items:center;min-height:30px;padding:0 13px;border:1px solid rgba(111,192,255,.3);border-radius:999px;color:#a9d8ff;background:#2a7fc921;font-size:13px;letter-spacing:.08em}.login-showcase h1{margin:24px 0 20px;color:#fff;font-size:clamp(38px,4vw,52px);font-weight:680;line-height:1.22;letter-spacing:-.04em}.login-showcase h1 span{display:block;color:#70c5ff}.login-showcase-copy p{max-width:440px;margin:0;color:#deedfabd;font-size:16px;line-height:1.9}.login-highlights{display:grid;gap:16px;margin:42px 0 48px;padding:0;list-style:none}.login-highlights li{display:flex;align-items:center;gap:12px;color:#f0f8ffe0;font-size:14px}.login-highlights .anticon{color:#57c6b5;font-size:16px}.login-security-note{display:flex;align-items:center;gap:12px;margin-top:auto;padding-top:22px;border-top:1px solid rgba(255,255,255,.1)}.login-security-note>.anticon{color:#79c7ff;font-size:25px}.login-security-note>span{display:flex;flex-direction:column;gap:2px}.login-security-note strong{color:#ffffffe6;font-size:13px;font-weight:600}.login-security-note small{color:#d7e8f68a;font-size:12px}.login-form-panel{display:grid;place-items:center;padding:54px 68px;background:#fff}.login-form-wrap{width:min(390px,100%)}.login-heading{margin-bottom:38px}.login-mobile-brand{display:none}.login-heading .ant-typography{margin:0}.login-heading h2.ant-typography{margin-bottom:10px;color:#142c45;font-size:32px;font-weight:680;letter-spacing:-.03em}.login-heading>span.ant-typography{color:#7b8a9a;font-size:14px}.login-form .ant-form-item{margin-bottom:23px}.login-form .ant-form-item-label{padding-bottom:8px}.login-form .ant-form-item-label>label{color:#334b63;font-size:14px;font-weight:600}.login-form .ant-input-affix-wrapper{min-height:50px;padding-inline:15px;border-color:#dce5ee;border-radius:11px;background:#fbfcfe;box-shadow:none;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}.login-form .ant-input-affix-wrapper:hover{border-color:#9dbfe6;background:#fff}.login-form .ant-input-affix-wrapper-focused{border-color:var(--login-blue);background:#fff;box-shadow:0 0 0 3px #176bda1a}.login-form .ant-input-prefix{margin-inline-end:10px;color:#8b9bad}.login-form .ant-input{background:transparent}.login-submit-item{margin-top:30px;margin-bottom:0!important}.login-submit{min-height:50px;border:0;border-radius:11px;background:linear-gradient(135deg,#1d74df,#1259bd);font-size:15px;font-weight:600;box-shadow:0 10px 22px #176bda38}.login-submit:not(:disabled):hover{background:linear-gradient(135deg,#2b80e7,#1766cc)!important;box-shadow:0 12px 26px #176bda4d;transform:translateY(-1px)}.login-form-wrap .ant-divider{margin:29px 0 22px;color:#9aa6b2;font-size:12px}.login-form-wrap .ant-divider:before,.login-form-wrap .ant-divider:after{border-color:#edf1f5}.login-feishu-button{min-height:48px;border-color:#dce5ee;border-radius:11px;color:#344e68;background:#fff;font-weight:500;box-shadow:0 3px 10px #142c450a}.login-feishu-button:not(:disabled):hover{border-color:#6e9ed3!important;color:var(--login-blue)!important;background:#f8fbff!important}.login-feishu-button .anticon{color:#3370ff}.login-policy{margin:25px 0 0;color:#a0abb7;font-size:12px;line-height:1.6;text-align:center}@media(max-width:900px){.login-page{padding:20px}.login-shell{width:min(540px,100%);min-height:auto;grid-template-columns:1fr}.login-showcase{display:none}.login-form-panel{padding:48px 42px 40px}.login-mobile-brand{display:flex;align-items:center;gap:10px;margin-bottom:38px;color:#203b56;font-size:15px;font-weight:650}.login-mobile-brand img{width:30px;height:30px}}@media(max-width:520px){.login-page{display:block;padding:0;background:#fff}.login-shell{min-height:100vh;min-height:100dvh;border:0;border-radius:0;box-shadow:none}.login-form-panel{align-items:start;padding:38px 24px 28px}.login-mobile-brand{margin-bottom:56px}.login-heading{margin-bottom:34px}.login-heading h2.ant-typography{font-size:28px}}@media(prefers-reduced-motion:reduce){.login-page *,.login-page *:before,.login-page *:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}::-webkit-scrollbar-track{background:transparent}.sidebar-menu-link{display:block;width:100%;color:inherit}.sidebar-menu-link:hover{color:inherit}.travel-purpose-search-hit>td{background:#fffbe6!important}.travel-purpose-search-hit>td:first-child{box-shadow:inset 3px 0 #faad14}html{min-width:0;overflow-x:hidden;background:#f3f6fa;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{min-width:0;overflow-x:hidden;color:#1f2937;background:#f3f6fa;overscroll-behavior-y:none}button,input,textarea,select{font:inherit}img,video,canvas,iframe{max-width:100%}.app-layout{min-height:100vh;min-height:100dvh;background:#f3f6fa}.app-sider{position:fixed!important;inset:0 auto 0 0;z-index:60;height:100vh;height:100dvh;overflow:auto;background:#001529!important;box-shadow:4px 0 18px #0015291f}.app-main-layout{min-width:0;min-height:100vh;min-height:100dvh;margin-left:220px;background:#f3f6fa}.app-content{min-width:0;min-height:280px;margin:24px;padding:24px;border:1px solid rgba(15,47,77,.06);border-radius:14px;background:#fff;box-shadow:0 5px 18px #1e37500d}.app-header{position:sticky;top:0;z-index:50;height:64px;display:flex;align-items:center;justify-content:flex-end;padding:0 24px;line-height:normal;background:#001529;box-shadow:0 2px 12px #00152929}.mobile-header-leading,.mobile-header-brand,.header-actions,.header-user-trigger{display:flex;align-items:center}.mobile-header-leading{min-width:0;gap:8px}.mobile-menu-button.ant-btn{width:42px;height:42px;flex:none;color:#fff;font-size:20px}.mobile-menu-button.ant-btn:hover,.mobile-menu-button.ant-btn:focus-visible{color:#fff!important;background:#ffffff1f!important}.mobile-header-brand{min-width:0;gap:9px;color:#fff;font-size:15px;font-weight:650;white-space:nowrap}.mobile-header-brand img{width:28px;height:28px;flex:none}.header-user-trigger{min-height:42px;gap:9px;padding:4px 7px;border:0;border-radius:10px;color:#fff;background:transparent;cursor:pointer}.header-user-trigger:hover,.header-user-trigger:focus-visible{outline:none;background:#ffffff1a}.header-user-trigger .ant-avatar{width:32px;height:32px;flex:none;background:#1677ff}.header-user-name.ant-typography{max-width:160px;overflow:hidden;color:#fff;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.app-sidebar-content{height:100%;display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom);background:#001529}.app-sidebar-brand{min-height:72px;display:flex;align-items:center;gap:11px;padding:0 18px;border-bottom:1px solid rgba(255,255,255,.09)}.app-sidebar-logo{width:36px;height:36px;display:grid;place-items:center;flex:none;border:1px solid rgba(255,255,255,.14);border-radius:10px;background:#ffffff14}.app-sidebar-logo img{width:24px;height:24px}.app-sidebar-title{min-width:0;display:flex;flex-direction:column;gap:2px}.app-sidebar-title strong{overflow:hidden;color:#fff;font-size:15px;font-weight:650;letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap}.app-sidebar-title small{color:#cce2f775;font-size:9px;letter-spacing:.13em}.app-sidebar-menu.ant-menu{flex:1;overflow-y:auto;border-inline-end:0;padding:10px 8px 18px;background:#001529}.app-sidebar-menu .ant-menu-item,.app-sidebar-menu .ant-menu-submenu-title{min-height:44px;line-height:44px;border-radius:8px}.app-sidebar-menu .ant-menu-item-selected{background:linear-gradient(135deg,#1677ff,#1164d0);box-shadow:0 6px 16px #1677ff38}.mobile-nav-drawer .ant-drawer-content,.mobile-nav-drawer .ant-drawer-body{overflow:hidden;background:#001529}.mobile-nav-drawer .ant-drawer-content-wrapper{max-width:86vw;box-shadow:12px 0 36px #00152947!important}.app-content .ant-card,.app-content .ant-table-wrapper,.app-content .ant-list,.app-content .ant-descriptions,.app-content .ant-space,.app-content .ant-form,.app-content .ant-input-search,.app-content .ant-picker,.app-content .ant-select,.app-content .ant-input-number,.app-content .ant-input-number-group-wrapper{max-width:100%}.app-content .ant-space.ant-space-wrap>.ant-space-item{max-width:100%}.apply-page-shell{min-height:calc(100vh - 160px);min-height:calc(100dvh - 160px);display:flex;flex-direction:column}.apply-page-toolbar{display:flex;align-items:center;margin-bottom:16px}.expense-item-field:before,.recognized-amount:before{display:none}@media(max-width:991.98px){.app-main-layout{margin-left:0}.app-header-compact{min-height:calc(60px + env(safe-area-inset-top));height:calc(60px + env(safe-area-inset-top));justify-content:space-between;gap:10px;padding:env(safe-area-inset-top) 14px 0 8px}.app-content{margin:12px;padding:18px;border-radius:14px}.apply-page-shell{min-height:calc(100dvh - 112px)}}@media(max-width:767.98px){.expense-items-header{display:none!important}.expense-item-row.ant-space{width:100%;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px!important;margin-bottom:14px!important;padding:14px;border:1px solid #dbe7f2;border-radius:12px;background:#f8fbfe;box-shadow:0 3px 10px #1f415f0a}.expense-item-row:before{content:"费用明细";grid-column:1 / -1;padding-bottom:9px;border-bottom:1px solid #e4edf5;color:#163a5c;font-size:14px;font-weight:650}.expense-item-row>.ant-space-item{width:100%;min-width:0}.expense-item-row .expense-item-field{width:100%!important;margin-bottom:0}.expense-item-field:before,.recognized-amount:before{display:block;margin-bottom:6px;color:#53677a;font-size:12px;font-weight:600;line-height:1.4}.expense-field-travel-category:before{content:"费用类别"}.expense-field-purchase-category:before{content:"费用大类"}.expense-field-subcategory:before{content:"明细分类"}.expense-field-description:before{content:"费用说明"}.expense-field-location:before{content:"费用地点"}.expense-field-actual-amount:before{content:"实报金额"}.expense-field-currency:before{content:"币别"}.expense-field-date:before{content:"费用发生日期"}.recognized-amount{width:100%!important;min-height:66px;height:auto!important;display:grid!important;grid-template-columns:auto minmax(0,1fr);align-content:center}.recognized-amount:before{content:"识别金额";grid-column:1 / -1}.expense-item-row .ant-select,.expense-item-row .ant-picker,.expense-item-row .ant-input-number,.expense-item-row .ant-btn{width:100%!important}.expense-item-row .ant-btn{min-height:40px}.expense-add-button.ant-btn{min-height:44px}}@media(max-width:575.98px){.app-header-compact{padding-inline:6px 10px}.mobile-header-leading{gap:2px}.mobile-header-brand{gap:7px;font-size:14px}.mobile-header-brand img{width:25px;height:25px}.header-user-name{display:none}.header-user-trigger{min-width:42px;justify-content:center;padding-inline:5px}.app-content{margin:8px;padding:14px 12px;border:0;border-radius:12px;box-shadow:none}.app-content h1.ant-typography{font-size:25px}.app-content h2.ant-typography{font-size:22px}.app-content h3.ant-typography,.app-content h4.ant-typography{font-size:18px}.app-content .ant-card-head{min-height:52px;padding-inline:14px}.app-content .ant-card-head-wrapper{align-items:flex-start;flex-wrap:wrap;gap:7px 10px;padding-block:12px}.app-content .ant-card-head-title,.app-content .ant-card-extra{max-width:100%;padding:0;white-space:normal}.app-content .ant-card-body{padding:16px 14px}.app-content .ant-card-small>.ant-card-head{padding-inline:12px}.app-content .ant-card-small>.ant-card-body{padding:13px 12px}.app-content .ant-divider{margin-block:22px}.app-content .ant-form-item{margin-bottom:18px}.app-content .ant-form-item-label{padding-bottom:6px}.app-content .ant-form-item-label>label{height:auto;white-space:normal}.app-content .ant-form>.ant-row>.ant-col{max-width:100%!important;flex:0 0 100%!important}.app-content .ant-input,.app-content .ant-input-affix-wrapper,.app-content .ant-input-number-input,.app-content .ant-picker-input>input,.app-content .ant-select-selection-item,.app-content .ant-select-selection-placeholder,.ant-modal .ant-input,.ant-modal .ant-input-affix-wrapper,.ant-modal .ant-input-number-input,.ant-modal .ant-picker-input>input,.ant-modal .ant-select-selection-item,.ant-modal .ant-select-selection-placeholder{font-size:16px}.app-content .ant-input-affix-wrapper,.app-content .ant-input-number,.app-content .ant-picker,.app-content .ant-select-single,.app-content .ant-btn:not(.ant-btn-sm){min-height:42px}.app-content .ant-select-single .ant-select-selector{min-height:42px;align-items:center}.app-content .ant-select-multiple .ant-select-selector{min-height:42px;padding-block:4px}.app-content .ant-space.ant-space-wrap{row-gap:8px!important}.app-content .ant-space:not(.ant-space-vertical){flex-wrap:wrap}.app-content .ant-space:not(.ant-space-vertical)>.ant-space-item{max-width:100%}.app-content .ant-input-search,.app-content .ant-select,.app-content .ant-picker,.app-content .ant-input-number-group-wrapper{min-width:0!important}.app-content .ant-table-wrapper{width:100%;overflow:hidden;border-radius:10px}.app-content .ant-table-content{overflow-x:auto!important;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.app-content .ant-table-content table{width:max-content!important;min-width:100%!important;table-layout:auto!important}.app-content .ant-table-cell{padding:11px 12px!important;white-space:nowrap}.app-content .ant-table-pagination.ant-pagination{justify-content:center;flex-wrap:wrap;gap:6px 0;margin-block:14px 4px}.app-content .ant-pagination-options{margin-inline-start:0}.app-content .ant-descriptions-view{overflow-x:auto;-webkit-overflow-scrolling:touch}.app-content .ant-descriptions-view table{min-width:560px}.app-content .ant-tabs-nav-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.app-content .ant-list-item{align-items:flex-start;flex-wrap:wrap;gap:10px}.app-content .ant-list-item-action{width:100%;margin-inline-start:0}.app-content .ant-alert,.app-content .ant-typography,.app-content .ant-list-item-meta-description{overflow-wrap:anywhere}.apply-page-toolbar{margin-bottom:12px}.apply-page-toolbar .ant-space{width:100%}.apply-page-toolbar .ant-space-item{flex:1 1 auto}.apply-page-toolbar .ant-btn{width:100%}.apply-form-card>.ant-card-head .ant-space{gap:3px!important}.apply-form-card>.ant-card-head .ant-space-item{width:100%}.travel-days-summary.ant-space,.travel-days-summary>.ant-space-item,.travel-allowance-days.ant-input-number{width:100%!important}.travel-days-summary>.ant-space-item{flex:1 1 100%}.travel-save-draft>.ant-form-item-row>.ant-form-item-label{display:none}.travel-save-draft .ant-btn,.apply-submit-actions,.apply-submit-actions>.ant-space-item:first-child,.apply-submit-actions>.ant-space-item:first-child .ant-btn{width:100%}.ant-modal{width:calc(100vw - 20px)!important;max-width:calc(100vw - 20px);margin:0 auto;top:calc(8px + env(safe-area-inset-top));padding-bottom:calc(8px + env(safe-area-inset-bottom))}.ant-modal .ant-modal-content{max-height:calc(100dvh - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom));display:flex;flex-direction:column;overflow:hidden;padding:18px 16px}.ant-modal .ant-modal-body{min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.ant-modal .ant-modal-footer{flex:none}.ant-select-dropdown{max-width:calc(100vw - 16px)!important}.ant-picker-dropdown{max-width:calc(100vw - 16px)}.ant-picker-dropdown .ant-picker-panel-container{max-width:calc(100vw - 16px);overflow-x:auto}.ant-message{max-width:calc(100vw - 24px)}.ant-message-notice-content{max-width:100%;white-space:normal}}@media(max-width:479.98px){.expense-item-row.ant-space{grid-template-columns:minmax(0,1fr)}.expense-item-row:before{grid-column:1}}@media(prefers-reduced-motion:reduce){.app-layout *,.mobile-nav-drawer *{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
