main.withTab{padding-bottom:calc(78px + env(safe-area-inset-bottom))}.employee-nav{position:fixed;z-index:30;left:50%;right:auto;bottom:0;transform:translate(-50%);display:flex;align-items:flex-start;width:min(520px,100vw);height:calc(66px + env(safe-area-inset-bottom));padding:7px 8px env(safe-area-inset-bottom);box-sizing:border-box;border-top:1px solid #dde4e2;background:#fffffffa;box-shadow:0 -8px 26px #19302b14}.employee-nav a{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;flex:1 1 25%;width:25%;max-width:25%;min-width:0;height:52px;color:#8d9996;text-decoration:none;white-space:nowrap}.employee-nav i{font-style:normal;line-height:25px}.employee-nav .router-link-active{color:#247566;font-weight:800}.app-shell .filter-bar{display:flex;align-items:center;gap:10px;min-height:58px;margin:12px 0 16px;padding:8px 8px 8px 14px;border:1px solid #e4ece9;border-radius:17px;background:#fff;box-shadow:0 6px 20px #24594c12}.app-shell .filter-bar:before{content:"⌕";color:#4b8676;font-size:24px}.app-shell .filter-bar input{flex:1;min-width:0;height:40px;padding:0 4px;border:0;outline:0;background:transparent}.app-shell .filter-bar button{height:40px;min-width:68px;padding:0 17px;border:0;border-radius:12px;background:linear-gradient(135deg,#267d6c,#3b9783);color:#fff;font-weight:700}.app-shell{font-size:15px;font-weight:500}.app-shell h1,.app-shell h2,.app-shell h3,.app-shell b,.app-shell strong{font-weight:800}.app-shell .page-title h1{font-size:25px}.app-shell .page-title p{font-size:14px;font-weight:600}.app-shell .card-head h3{font-size:18px}.app-shell .card-head a,.app-shell .link{font-size:14px;font-weight:700}.app-shell .quick-grid a{font-size:13px;font-weight:700}.app-shell .metric span{font-size:13px;font-weight:650}.app-shell .task-top b{font-size:17px}.app-shell .task-meta,.app-shell .task-address{font-size:14px;font-weight:600}.app-shell .chip,.app-shell .status{font-size:12px;font-weight:700}.app-shell .field>span{font-size:14px;font-weight:750}.app-shell .field input,.app-shell .field textarea,.app-shell .field select{font-size:15px;font-weight:550}.app-shell .menu-list a,.app-shell .menu-list button{font-size:15px;font-weight:650}.employee-nav a{font-size:14px;font-weight:700}.employee-nav i{font-size:24px;font-weight:800}.home-top>a{display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(255,255,255,.28);border-radius:14px;background:#ffffff24;font-size:0!important}.home-top>a:before{content:"✉";color:#fff;font-size:23px;line-height:1}.home-top>a em{font-size:10px}.home-top h1{font-size:25px!important;font-weight:850}.home-top p,.home-top small{font-size:14px!important;font-weight:600}.home-task b{font-size:15px;font-weight:800}.home-task span{font-size:12px!important;font-weight:600}:root{font-family:PingFang SC,Microsoft YaHei,sans-serif;color:#183a34;background:#f3f7f5;font-synthesis:none;--green:#247566;--dark:#174f45;--mint:#e4f3ed;--orange:#f09a57;--red:#dd6256;--gray:#85938f}*{box-sizing:border-box}html,body,#app{margin:0;min-height:100%;background:#f3f7f5}body{min-width:320px;-webkit-tap-highlight-color:transparent}button,input,textarea,select{font:inherit}button{cursor:pointer}.app-shell{max-width:520px;min-height:100vh;margin:auto;background:#f3f7f5;position:relative;box-shadow:0 0 40px #244b4212}main.withTab{padding-bottom:84px}.sub-head{height:58px;padding:env(safe-area-inset-top) 16px 0;display:grid;grid-template-columns:42px 1fr 42px;align-items:center;background:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid #e8efec}.sub-head button{border:0;background:none;font-size:34px;color:#254c44}.sub-head b{text-align:center;font-size:17px}.tabbar{position:fixed;z-index:30;bottom:0;left:50%;transform:translate(-50%);width:min(520px,100%);height:66px;padding-bottom:env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border-top:1px solid #e1eae6}.tabbar a{text-decoration:none;color:#9aa6a2;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;font-size:11px}.tabbar i{font-style:normal;font-size:23px}.tabbar .router-link-active{color:var(--green);font-weight:700}.page{padding:16px}.page-title{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px}.page-title h1{font-size:22px;margin:0}.page-title p{font-size:12px;color:#87958f;margin:4px 0 0}.card{background:#fff;border-radius:16px;padding:16px;margin-bottom:14px;box-shadow:0 5px 18px #3067590b}.card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.card-head h3{margin:0;font-size:16px}.card-head a,.link{color:var(--green);font-size:12px;text-decoration:none}.primary,.secondary,.danger-btn{height:46px;border-radius:12px;border:0;padding:0 18px;font-weight:700}.primary{background:linear-gradient(135deg,#267d6c,#3b9783);color:#fff;box-shadow:0 8px 18px #267d6c35}.secondary{background:var(--mint);color:var(--green)}.danger-btn{background:#fff0ee;color:var(--red)}.block{width:100%}.field{display:block;margin-bottom:15px}.field>span{display:block;font-size:12px;font-weight:700;color:#4f6962;margin-bottom:7px}.field input,.field textarea,.field select{width:100%;border:1px solid #dce7e2;border-radius:11px;padding:12px 13px;background:#f9fbfa;outline:0}.field input:focus,.field textarea:focus{border-color:#4a9d89;box-shadow:0 0 0 3px #4a9d8915}.empty{text-align:center;padding:42px 10px;color:#99a5a1}.empty i{display:block;font-style:normal;font-size:42px;margin-bottom:8px}.status{display:inline-flex;padding:4px 9px;border-radius:20px;font-size:10px;background:#eef2f1;color:#73817d}.status.blue{background:#e9f1ff;color:#3f78c4}.status.orange{background:#fff1e4;color:#c87631}.status.green{background:#e4f5ed;color:#218163}.status.red{background:#ffebe8;color:#c75147}.status.gray{background:#eef1f0;color:#7e8986}.task-card{padding:0;overflow:hidden}.task-card>a{display:block;padding:16px;color:inherit;text-decoration:none}.task-top{display:flex;justify-content:space-between;align-items:center}.task-top b{font-size:16px}.task-meta{display:flex;gap:12px;margin:12px 0;color:#697a75;font-size:12px}.task-address{font-size:12px;color:#82908c;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{padding:6px 10px;border-radius:10px;background:#f0f6f3;color:#4b7469;font-size:11px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.metric{background:#fff;border-radius:14px;padding:15px}.metric span{font-size:11px;color:#87958f}.metric b{display:block;font-size:24px;margin-top:7px}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.quick-grid a{text-decoration:none;color:#314d46;text-align:center;font-size:11px}.quick-grid i{width:48px;height:48px;margin:0 auto 6px;display:grid;place-items:center;border-radius:15px;background:#e7f3ef;font-style:normal;font-size:23px}.filter-tabs{display:flex;gap:8px;overflow:auto;padding-bottom:4px;margin-bottom:13px}.filter-tabs button{white-space:nowrap;border:0;border-radius:20px;padding:8px 13px;background:#fff;color:#6e7e79}.filter-tabs button.active{background:var(--green);color:#fff}.toast{position:fixed;left:50%;top:18%;transform:translate(-50%);z-index:100;background:#263c37e8;color:#fff;padding:11px 18px;border-radius:10px;font-size:13px;max-width:80%;text-align:center}.toast.error{background:#b9443eea}.toast.success{background:#217763ea}.toast-enter-active,.toast-leave-active{transition:.2s}.toast-enter-from,.toast-leave-to{opacity:0;transform:translate(-50%,-8px)}.loading{padding:40px;text-align:center;color:#81908b}.avatar{width:56px;height:56px;border-radius:18px;object-fit:cover;background:#d8ebe4;display:grid;place-items:center;color:#247566;font-size:24px;font-weight:700}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.photo-box{aspect-ratio:1;border:1px dashed #9cbab1;border-radius:11px;overflow:hidden;display:grid;place-items:center;background:#f7faf9;color:#77948b;position:relative}.photo-box img{width:100%;height:100%;object-fit:cover}.photo-box input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0}.timeline{border-left:2px solid #dceae5;margin-left:7px;padding-left:20px}.timeline-item{position:relative;padding-bottom:20px}.timeline-item:before{content:"";position:absolute;left:-27px;top:3px;width:11px;height:11px;border-radius:50%;background:#b6ccc5;border:3px solid #fff}.timeline-item.done:before{background:var(--green)}.timeline-item b{font-size:13px}.timeline-item p{margin:4px 0 0;color:#87958f;font-size:11px}.detail-hero{background:linear-gradient(135deg,#1d695a,#3b9480);color:#fff;padding:20px 18px 34px}.detail-hero .status{float:right}.detail-hero h1{font-size:23px;margin:10px 0 5px}.detail-hero p{margin:0;color:#d9eee7;font-size:12px}.detail-body{margin-top:-18px;padding:0 14px 20px}.info-list div{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #edf2f0;font-size:12px}.info-list span{color:#82908c}.action-bar{position:sticky;bottom:0;background:#fff;padding:12px 14px calc(12px + env(safe-area-inset-bottom));display:flex;gap:9px;border-top:1px solid #e5ece9}.action-bar button{flex:1}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#112d2866;z-index:50;display:flex;align-items:flex-end;justify-content:center}.modal{width:min(520px,100%);background:#fff;border-radius:22px 22px 0 0;padding:20px 18px calc(20px + env(safe-area-inset-bottom));max-height:88vh;overflow:auto}.modal h2{font-size:19px;margin:0 0 6px}.modal>p{font-size:12px;color:#82908c;margin:0 0 18px}.modal-actions{display:flex;gap:10px;margin-top:18px}.modal-actions button{flex:1}.salary-hero{background:linear-gradient(135deg,#235f54,#378e7a);border-radius:18px;padding:22px;color:#fff;margin-bottom:14px}.salary-hero span{font-size:12px;color:#cae4dc}.salary-hero b{display:block;font-size:31px;margin:9px 0}.profile-head{background:linear-gradient(145deg,#226e5f,#4a9a87);color:#fff;padding:35px 20px 50px;display:flex;align-items:center;gap:14px}.profile-head p{margin:4px 0 0;color:#d6ebe4;font-size:12px}.profile-content{padding:0 14px;margin-top:-28px}.menu-list a,.menu-list button{width:100%;display:flex;align-items:center;gap:12px;text-decoration:none;color:#28443d;background:none;border:0;padding:14px 2px;border-bottom:1px solid #edf1ef;text-align:left}.menu-list i{font-style:normal;width:34px;height:34px;border-radius:10px;background:#eaf4f1;display:grid;place-items:center}.menu-list span{flex:1}.menu-list em{font-style:normal;color:#9aa6a2}@media (min-width:700px){body{padding:20px 0}.app-shell{border-radius:20px;overflow:hidden;min-height:calc(100vh - 40px)}.tabbar{bottom:20px;border-radius:0 0 20px 20px}}html{font-size:16px}body,button,input,textarea,select{font-size:15px;font-weight:500}.app-shell h1{font-size:25px!important;font-weight:850!important;line-height:1.35}.app-shell h2{font-size:21px!important;font-weight:850!important;line-height:1.4}.app-shell h3{font-size:18px!important;font-weight:800!important;line-height:1.45}.app-shell p{font-size:14px!important;font-weight:550;line-height:1.65}.app-shell small{font-size:12px!important;font-weight:600;line-height:1.5}.app-shell button,.app-shell input,.app-shell textarea,.app-shell select{font-size:14px!important;font-weight:600}.app-shell .page-title p,.app-shell .card>p,.app-shell .desc,.app-shell .note,.app-shell .message-content{font-size:14px!important}.app-shell .card-head a,.app-shell .link,.app-shell .schedule a{font-size:13px!important;font-weight:700}.app-shell .field>span,.app-shell .info-list,.app-shell .module-row,.app-shell .task-meta,.app-shell .task-address{font-size:14px!important}.app-shell .status,.app-shell .chip,.app-shell .filter-tabs button{font-size:12px!important;font-weight:700}.app-shell .quick-grid a,.app-shell .module-grid a,.app-shell .menu-list a,.app-shell .menu-list button{font-size:14px!important;font-weight:700}.app-shell .metric span,.app-shell .timeline-item b{font-size:13px!important;font-weight:700}.app-shell .timeline-item p,.app-shell .home-task span,.app-shell .messages p,.app-shell .messages time{font-size:12px!important;font-weight:600}@media (max-width: 360px){body,button,input,textarea,select{font-size:14px}.app-shell h1{font-size:23px!important}}
