:root{--green:#7955B0;--ink:#173A61;--muted:#8295AA;--line:#DFE8F2}*{box-sizing:border-box}body{margin:0;background:#F3F6FA;color:var(--ink);font:14px Inter,"Microsoft YaHei",sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:hover{filter:brightness(.96)}[hidden]{display:none!important}aside{position:fixed;inset:0 auto 0 0;width:224px;background:#fff;border-right:1px solid var(--line);padding:30px 20px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;color:var(--ink);text-decoration:none;font-size:18px;font-weight:bold}.brand b{background:var(--green);color:#fff;border-radius:12px;padding:9px 12px;font-size:23px}.brand small{display:block;font-size:9px;letter-spacing:1.4px;color:#8A9CB1;margin-top:8px}.department{margin:38px 0 30px;padding:14px;background:#F4F8FC;border:1px solid var(--line);font-size:13px;border-radius:6px}.department span{float:right;color:#839AB3}.nav-label{font-size:10px;color:#8C9FB4;letter-spacing:2px;margin:0 14px 15px}nav{display:grid;gap:9px}nav button{border:0;background:none;text-align:left;color:#6D86A0;border-radius:6px;padding:14px 12px;font-size:13px}nav button.active{background:#E8F2FC;color:var(--green);font-weight:bold}nav b{float:right;font-size:10px;padding:2px 5px;background:#D3E6F9;border-radius:4px}.side-bottom{margin-top:auto;padding:12px 9px;font-size:11px;color:#5F7F9F}.side-bottom small{font-size:10px;line-height:1.9;color:#8B9FB3}.side-bottom button{background:none;border:0;padding:14px 5px 0 0;color:#6B8DAC;font-size:10px}.shell{margin-left:224px}header{height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 40px;font-size:11px;color:#8298B0}header span{margin:0 16px;color:#C9D7E6}header strong{font-weight:500;color:#436A90}.user{display:flex;align-items:center;gap:11px;color:#567B9E}.user small{font-size:10px;margin-right:15px;color:#8DA4BA}.user b{background:#EDF4FB;padding:10px;border-radius:50%;font-weight:400}main{padding:38px 40px 0;max-width:1650px;margin:auto}.heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px;gap:20px}.eyebrow{font-size:10px;color:#5E8EB8;letter-spacing:2px}h1{margin:9px 0 13px;font-size:28px;font-weight:650;letter-spacing:1px}.heading p{font-size:12px;color:var(--muted);margin:0}.actions{display:flex;gap:10px}.btn{background:#fff;border:1px solid #D6E3F1;border-radius:6px;padding:10px 16px;font-size:12px;color:#416F99}.primary{background:var(--green);color:white;border-color:var(--green)}.datebar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.datebar strong{font-size:14px;font-weight:500}.datebar span{font-size:10px;color:#7797B5;border-left:1px solid #D0DEED;padding-left:15px;margin-left:15px}input,select,textarea{border:1px solid #D7E4F1;padding:10px 11px;border-radius:5px;min-width:0;background:#fff;color:var(--ink)}input:focus,select:focus,textarea:focus{outline:2px solid #73A9DA;outline-offset:1px}#viewDate{font-size:12px;padding:8px 12px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px}.stat{background:white;border:1px solid var(--line);border-radius:9px;padding:22px;position:relative}.stat:first-child{background:#EEF6FD;border-color:#D5E6F7}.stat-title{font-size:12px;color:#6C88A4}.number{font-size:34px;font-weight:600;line-height:1;margin:17px 0 13px;letter-spacing:-1px}.number small{font-size:11px;font-weight:400;color:#8AA0B7;letter-spacing:0;margin-left:7px}.stat-note{font-size:10px;color:#91A4B8}.stat-icon{position:absolute;right:20px;top:20px;padding:9px;border-radius:7px;background:#EDF5FD;color:#4E86B8}.stat:nth-child(2) .stat-icon{background:#fff5e8;color:#c7a368}.stat:nth-child(3) .stat-icon{background:#edf3fa;color:#7798b9}.columns{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(270px,1fr);gap:22px;margin-bottom:24px}.panel{background:#fff;border:1px solid var(--line);border-radius:9px;overflow:hidden}.panel-head{padding:23px 24px;border-bottom:1px solid #EDF4FB;display:flex;justify-content:space-between;align-items:center;gap:10px}h2{font-size:15px;font-weight:600;margin:0}.panel-head p{font-size:11px;color:#8C9FB3;margin:9px 0 0}.link{border:0;background:none;color:#3378B4;font-size:11px;padding:5px}.day-row{display:grid;grid-template-columns:88px 1fr;min-height:105px;border-bottom:1px solid #EDF4FB}.day-row:last-child{border:0}.period{background:#FBFCFE;border-right:1px solid #EDF4FB;padding:24px;font-size:12px}.period small{display:block;margin-top:8px;font-size:10px;color:#8FA5BA}.day-items{display:flex;gap:8px;flex-wrap:wrap;padding:17px 20px;align-content:center}.chip{background:#F1F7FE;border:1px solid #D8E8F8;padding:9px 11px;border-radius:5px;font-size:11px;color:#3876AC;cursor:pointer}.chip.trip{background:#f0f5fc;border-color:#e0eaf7;color:#698cb0}.chip small{color:#8AA1B8;margin-left:9px}.empty-inline{color:#8FA6BC;font-size:12px}.pending-item{display:flex;align-items:center;gap:12px;padding:17px 24px;border-bottom:1px solid #EEF3F9;cursor:pointer}.person-avatar{width:34px;height:34px;background:#EAF3FC;border-radius:7px;display:grid;place-items:center;font-size:12px;color:#5D88AD}.pending-item strong{font-size:12px;font-weight:500}.pending-item p{font-size:10px;color:#8FA6BC;margin:7px 0 0}.pending-item .arrow{margin-left:auto;color:#91AAC1}.tip{margin:18px 20px;padding:14px 16px;border:1px solid #DEEBF8;background:#F1F7FD;border-radius:6px}.tip strong{font-size:11px;color:#567FA6;font-weight:500}.tip p{font-size:10px;color:#839DB6;line-height:1.8;margin:9px 0 0}.empty{padding:40px 20px;text-align:center;font-size:12px;color:#8FA4B9;line-height:2}.empty b{display:block;font-size:25px;font-weight:400;color:#B1C6DA}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;text-align:left}th{font-size:10px;font-weight:500;color:#7993AC;background:#FBFCFE;padding:13px 22px}td{border-top:1px solid #EDF2F8;padding:17px 22px;font-size:11px;color:#6986A0}td strong{font-weight:500;color:#325E86}.pill{display:inline-block;border-radius:4px;padding:4px 7px;background:#EEF6FD;color:#4285BA;font-size:10px}.pill.wait{background:#fbf4e4;color:#b89e5f}.pill.no{background:#f8eeee;color:#b1817b}.pill.cancel{background:#f0f2ee;color:#90A3B6}.type-dot{color:#c1a370}.type-dot.trip{color:#7e9fc1}.filters{padding:20px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.filters input{flex:1;min-width:190px}.filters select{font-size:12px}.filters small{color:#89A0B6;font-size:10px}.notice{background:#EBF4FD;border:1px solid #D4E6F8;border-radius:7px;padding:15px 20px;color:#577FA5;font-size:12px;margin-bottom:20px}.approval-card{padding:24px;background:#fff;border:1px solid var(--line);border-radius:8px;margin-bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:15px}.approval-card h3{font-size:14px;font-weight:500}.approval-card p{font-size:12px;color:#829AB2;line-height:1.8}.approval-card .actions{flex-shrink:0}footer{display:flex;justify-content:space-between;padding:26px 0;color:#93A9BD;font-size:10px;letter-spacing:1px}dialog{border:0;border-radius:12px;padding:0;width:620px;max-width:95vw;max-height:90vh;color:var(--ink);box-shadow:0 25px 100px #173A6130}dialog::backdrop{background:#0A2C5055;backdrop-filter:blur(3px)}.modal-head{padding:24px 28px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.modal-head h2{font-size:20px}.modal-head p{font-size:12px;color:#829AB2;margin:10px 0 0}.close{background:none;border:0;font-size:24px;color:#8AA0B4}.modal-foot .close{font-size:12px;border:1px solid var(--line)}.form-body{padding:24px 28px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.grid label{display:flex;flex-direction:column;gap:9px;font-size:12px;color:#557D9F}.wide{grid-column:1/-1}.segmented{display:flex;gap:5px;padding:5px;border-radius:6px;background:#EDF4FB;margin-bottom:24px}.segmented label{flex:1;text-align:center;padding:10px;cursor:pointer;border-radius:4px;font-size:13px}.segmented label:has(input:checked){background:#fff;box-shadow:0 1px 4px #1231;color:var(--green)}.segmented input{accent-color:var(--green)}.modal-foot{padding:18px 28px;background:#FBFCFE;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:10px}.hint{font-size:11px;color:#658BAC}.error{font-size:12px;color:#b46f60;line-height:1.7}.detail-body{padding:20px 28px;line-height:2;font-size:13px}.detail-body dt{font-size:11px;color:#86A0B8}.detail-body dd{margin:0 0 14px;white-space:pre-wrap;word-break:break-word}.review-comment{width:100%;margin-bottom:15px}#toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:#064E8B;color:#fff;border-radius:7px;padding:13px 24px;font-size:12px;opacity:0;pointer-events:none;z-index:99}#toast.show{opacity:1}.demo-note{font-size:10px;color:#879FB6;background:#F7FAFE;padding:10px 24px}@media(min-width:1500px){main{padding-top:45px}.stat{padding:26px}.day-row{min-height:115px}}@media(max-width:1100px){aside{width:190px;padding:25px 14px}.shell{margin-left:190px}main{padding:28px 24px 0}header{padding:0 24px}.columns{grid-template-columns:1fr}.stats{gap:10px}.stat{padding:18px 14px}.stat-icon{right:12px;top:15px}.user small{display:none}}@media(max-width:700px){aside{position:static;width:100%;padding:15px;display:block;border-bottom:1px solid var(--line)}.brand{font-size:16px}.brand b{font-size:18px}.department,.nav-label,.side-bottom,.brand small{display:none}nav{display:flex;margin-top:16px;gap:4px}nav button{flex:1;font-size:11px;padding:10px 4px}nav b{display:none}.shell{margin:0}header{height:54px;padding:0 18px}.user{font-size:0}main{padding:25px 16px 0}.heading{flex-direction:column;align-items:flex-start}.heading p{line-height:1.8}.stats{grid-template-columns:1fr 1fr}.number{font-size:29px}.datebar span{display:none}.datebar strong{font-size:12px}#viewDate{width:138px}.day-row{grid-template-columns:72px 1fr}.period{padding:22px 16px}.panel-head{padding:19px}.grid{gap:15px}.form-body{padding:20px}.approval-card{flex-direction:column;align-items:flex-start}.filters input{flex-basis:100%}.modal-head{padding:20px}}@media print{aside,header,.heading,.stats,.columns>.panel:last-child,#overview>.panel,footer,.link,#toast{display:none!important}.shell{margin:0}.columns{display:block}main{padding:0}.panel{border:1px solid #ccc}.datebar{margin:20px 0}}

.segmented{display:grid;grid-template-columns:repeat(4,1fr)}.segmented label{padding:11px 5px;font-size:12px}.pending-item{width:100%;background:#fff;border-left:0;border-right:0;border-top:0;text-align:left;color:var(--ink)}.pending-item small{display:block;font-size:10px;color:#8A9FB5;margin-top:7px}.chip.meeting{background:#E7F1FE;border-color:#BBD7F2;color:#7955B0}.chip.visitor{background:#F2F7FC;border-color:#CCDDED;color:#517BA1}.stat:nth-child(2) .stat-icon{background:#EDF5FD;color:#4288C2}.type-dot{color:#2584C9}button:disabled{cursor:wait;opacity:.65}.btn.primary:disabled{cursor:not-allowed}.grid input:disabled,.grid select:disabled{background:#F0F4F8;color:#91A4B8}@media(max-width:700px){.segmented{grid-template-columns:1fr 1fr}.segmented label{padding:11px 5px}.side-bottom{display:block;margin:10px 0 0;padding:0}.side-bottom p,.side-bottom small{display:none}.side-bottom button{padding-top:6px}.actions{flex-wrap:wrap}}
.report-settings{display:flex;align-items:center;flex-wrap:wrap;gap:16px;background:#fff;border:1px solid #D9E6F4;border-radius:8px;padding:16px 20px;margin-bottom:20px}.report-settings>div{margin-right:auto}.report-settings strong{font-size:12px;color:#23669D}.report-settings small{display:block;font-size:10px;color:#8CA2B8;margin-top:7px}.report-settings label{display:flex;gap:9px;align-items:center;font-size:11px;color:#7893AE}.report-settings input{font-size:12px;padding:8px}.report-settings>span{font-size:11px;color:#7F9BB4}@media(max-width:700px){.report-settings>div{width:100%}}@media print{.report-settings{display:none!important}}
.trip-people{padding:16px;border:1px solid #C8DDF1;border-radius:10px;background:#F3F8FE}.trip-people>small{display:block;margin:6px 0 12px;color:#647F99}#tripEmployeeList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:250px;overflow:auto}.trip-person{display:flex!important;align-items:center;gap:9px;padding:10px;background:white;border:1px solid #D5E4F2;border-radius:7px;cursor:pointer}.trip-person input{width:17px!important;height:17px;accent-color:#7955B0}.trip-person small{display:block;color:#7891AA;font-size:11px}.trip-person:has(input:checked){border-color:#7955B0;background:#E7F2FF}#tripSelected{font-size:12px;color:#7955B0;margin-bottom:0;line-height:1.7}@media(max-width:560px){#tripEmployeeList{grid-template-columns:1fr}}
/* 建行蓝科技风：纯色块、冰蓝细线与深海军蓝侧栏 */
aside{background:#081F3D;border-right:1px solid #153B64;color:#E7F4FF}.brand{color:#F3FAFF}.brand b{background:#7955B0;border:1px solid #2FAEE5;box-shadow:0 0 18px #7955B044}.brand small{color:#75A4C7}.department{background:#102F51;color:#D9EEFF;border-color:#24527A}.nav-label{color:#799FBE}nav button{color:#A5C2D9}nav button:hover{background:#123D63;color:white}nav button.active{background:#7955B0;color:#FFF;border-left:3px solid #43D8FF;border-radius:3px 8px 8px 3px;box-shadow:0 6px 18px #00152D55}.side-bottom{color:#A5BED4}.side-bottom small{color:#8CAAC3}.side-bottom button{background:#123A60;border-color:#28577E;color:#DDEFFF}.heading{border-left:4px solid #00A9E8;padding-left:18px}.eyebrow{color:#007FBF;letter-spacing:2px}header{border-bottom:2px solid #D7EAF7}.stat{position:relative;overflow:hidden;border:1px solid #D5E5F4;box-shadow:0 6px 20px #123C6A08}.stat:after{content:'';position:absolute;right:-16px;top:-14px;width:66px;height:66px;border:2px solid #D6EEFC;transform:rotate(35deg);pointer-events:none}.stat .number{color:#7955B0;font-variant-numeric:tabular-nums}.panel{border:1px solid #D4E4F3;box-shadow:0 8px 24px #143A6406}.panel-head{border-top:3px solid #7955B0;border-radius:8px 8px 0 0}.btn.primary{background:#7955B0;border-color:#7955B0;color:#FFF;box-shadow:0 4px 12px #7955B024}.btn.primary:hover{background:#004A91}.datebar{background:#0C3156;color:#E6F5FF;border:1px solid #20577F}.datebar span{color:#91BCD9}.datebar input{background:#16466F;border-color:#38698E;color:white;color-scheme:dark}.report-settings{border-left:3px solid #12AFE8;background:#F8FCFF}.modal-head{border-top:4px solid #7955B0;background:#F3F9FF}.modal-head h2{color:#064F8B}.modal-foot{background:#F4F9FE}input:focus,select:focus,textarea:focus{outline:2px solid #15AAE8;outline-offset:2px}.chip{border-color:#BDDDF4}.chip.trip{background:#E8F7FF;color:#00669A}.chip.meeting{background:#EAF0FF;color:#2852A1}.chip.visitor{background:#E2F4FC;color:#075D87}@media(max-width:800px){aside{border-bottom:2px solid #146794}.brand{color:#F3FAFF}nav button.active{border-left:0;border-bottom:2px solid #43D8FF}}@media print{aside{display:none}.heading{border-left:0}.datebar{background:white;color:#173A61}.stat:after{display:none}}

.export-file{padding:14px;border:1px solid #BAD7F2;background:#EDF6FF;color:#7955B0;font-weight:600;overflow-wrap:anywhere}.export-guide{line-height:1.9;color:#345C7F}.export-guide ol{padding-left:22px}.export-guide p{font-size:12px;color:#718CA6}kbd{display:inline-block;padding:1px 6px;border:1px solid #BCCFE1;border-bottom-width:2px;border-radius:4px;background:white;color:#7955B0}
/* 去掉无功能的滚动条箭头；弹窗开启时锁定背景滚动 */
html:has(dialog[open]),body:has(dialog[open]){overflow:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-button{display:none;width:0;height:0}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#9BB5CC;border:2px solid #F3F8FD;border-radius:8px}::-webkit-scrollbar-corner{background:transparent}

#clearData{display:block;width:100%;margin-top:12px;color:#FFD4D9;border:1px solid #AB6476;background:transparent;padding:9px;border-radius:7px;cursor:pointer}.btn.danger{background:#B73D5B;color:white;border-color:#B73D5B}#clearDataDialog{max-width:560px}#clearDataDialog .form-body p{line-height:1.8}
/* Phone workspace: touch controls, fixed navigation and readable record cards. */
#mobileTools{display:none}
@media(max-width:700px){
html{scroll-padding-bottom:90px}body{overflow-x:hidden}aside{padding:14px 16px;border-bottom:0;position:relative;min-height:68px}.brand{min-height:40px;padding-right:100px}.brand b{box-shadow:none}.brand small{display:block;font-size:8px;letter-spacing:1px;margin-top:5px}#mobileTools{display:block;position:absolute;right:16px;top:17px;background:#24435B;color:#fff;border:1px solid #567086;border-radius:9px;padding:10px 12px;min-height:40px;font-size:13px}.side-bottom{display:none;padding:10px 0 2px;margin:10px 0 0}.side-bottom.mobile-open{display:block}.side-bottom button{font-size:13px;min-height:44px;padding:10px 12px;border-radius:8px;margin:3px 4px 3px 0}.side-bottom #clearData{width:auto;display:inline-block;margin:3px 0}
nav{position:fixed;bottom:0;left:0;right:0;z-index:25;margin:0;padding:7px 10px calc(7px + env(safe-area-inset-bottom));gap:6px;background:#172D3C;border-top:1px solid #3E5362;box-shadow:0 -5px 24px #14283718}nav button{min-height:49px;text-align:center;font-size:14px;border-radius:10px;padding:12px 3px;white-space:nowrap;color:#D7E2E8}nav button.active{border:0;border-radius:10px;background:#7955B0;color:white;box-shadow:none}
header{height:43px;padding:0 16px;font-size:12px}.user{font-size:11px;gap:6px}.user b{padding:5px 8px}.shell{padding-bottom:calc(85px + env(safe-area-inset-bottom))}main{padding:22px 14px 0}h1{font-size:25px;margin:5px 0 10px}.heading{gap:18px;margin-bottom:20px;padding-left:12px}.heading p{font-size:13px}.eyebrow{font-size:9px}.actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px}.actions #newRecord{grid-column:1/-1;grid-row:1}.btn{font-size:14px;padding:12px 13px;min-height:44px;border-radius:9px}.link{font-size:13px;min-height:40px;padding:9px 5px}
.datebar{gap:8px;padding:12px;border-radius:10px}.datebar strong{font-size:12px}#viewDate{width:137px;font-size:13px;min-height:42px;padding:8px}.report-settings{padding:14px;gap:12px}.report-settings strong{font-size:13px}.report-settings small{font-size:12px;line-height:1.6}.report-settings label{flex:1;min-width:0;font-size:13px;flex-wrap:wrap}.report-settings input{max-width:100%;min-height:44px;font-size:16px}.report-settings>span{font-size:12px;width:100%}.report-settings .btn{width:100%}
.stats{gap:10px;margin-bottom:18px}.stat{padding:17px 12px;border-radius:12px}.stat-title{font-size:13px}.stat-note{font-size:11px;line-height:1.5}.number{font-size:32px;margin:14px 0 10px}.stat-icon{font-size:12px;right:10px;top:12px;padding:6px}.columns{gap:18px;margin-bottom:18px}.panel-head{padding:16px 14px}.panel-head p{font-size:12px;line-height:1.6}h2{font-size:16px}.day-row{grid-template-columns:61px 1fr}.period{padding:20px 10px;font-size:14px}.day-items{padding:12px;gap:8px}.chip{font-size:13px;min-height:44px;max-width:100%;white-space:normal;text-align:left;line-height:1.5}.chip small{font-size:12px}.tip{margin:14px;padding:14px}.tip strong{font-size:14px}.tip p{font-size:13px;line-height:1.8}.demo-note{font-size:11px;line-height:1.7;padding:12px 14px}
.filters{padding:14px;gap:10px}.filters input,.filters select{font-size:16px;min-height:44px;max-width:100%;min-width:0}.filters input{flex-basis:100%}.filters select{flex:1 1 40%}.filters small{font-size:12px;line-height:1.6;width:100%}.filters .btn{width:100%}
.table-wrap{overflow:visible;padding:0 12px 12px}table,tbody,tr,td{display:block;width:100%;white-space:normal}thead{display:none}tbody{display:grid;gap:10px}tr{padding:8px 12px;background:#F8FAFC;border:1px solid #E0E6EC;border-radius:10px}td{display:grid;grid-template-columns:73px minmax(0,1fr);gap:4px 8px;padding:7px 0;border:0;font-size:13px;line-height:1.6;overflow-wrap:anywhere}td::before{content:attr(data-label);grid-row:1/5;font-size:12px;color:#718398}td strong{font-size:15px}td br{display:none}td small{grid-column:2;font-size:12px}td .link{justify-self:start;padding:3px 0;min-height:34px}td .pill{justify-self:start;width:fit-content;font-size:12px}td .type-dot{display:none}td[data-label="事项"]{display:block;padding-left:81px;position:relative}td[data-label="事项"]::before{position:absolute;left:0}.empty{font-size:14px}footer{font-size:10px;gap:8px;line-height:1.5}
dialog{width:100%;max-width:100%;max-height:100dvh;height:100dvh;margin:0;border-radius:0;overflow-y:auto}dialog form{min-height:100%;display:flex;flex-direction:column}.modal-head{padding:18px 16px;align-items:flex-start}.modal-head h2{font-size:20px}.modal-head p{font-size:13px;line-height:1.6}.close{min-height:40px;min-width:40px}.form-body{padding:18px 16px;flex:1}.grid{grid-template-columns:minmax(0,1fr);gap:18px}.grid label{font-size:14px;gap:8px}.grid input,.grid select,.grid textarea{font-size:16px;min-height:46px;width:100%}.grid textarea{min-height:112px;line-height:1.6}.segmented{position:sticky;top:0;z-index:2;padding:5px;gap:5px;background:#EDF1F6}.segmented label{font-size:14px;min-height:46px;display:flex;align-items:center;justify-content:center;gap:5px;padding:10px 3px}.segmented input{width:16px;height:16px}.modal-foot{position:sticky;bottom:0;z-index:3;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:#F8FAFC;display:flex;gap:10px}.modal-foot .btn{flex:1;font-size:15px}.trip-people{padding:14px}.trip-people strong{font-size:14px}.trip-people>small{font-size:12px;line-height:1.6}#tripEmployeeList{max-height:35dvh;grid-template-columns:1fr}.trip-person{min-height:48px;font-size:15px!important}.trip-person input{width:21px!important;height:21px;flex:0 0 21px}.hint{font-size:12px;line-height:1.6}.detail-body{padding:18px 16px;font-size:15px}.detail-body dt{font-size:13px}#toast{bottom:calc(90px + env(safe-area-inset-bottom));max-width:90vw;width:max-content;font-size:13px;line-height:1.5;padding:12px 16px}.export-guide{font-size:14px}#clearDataDialog{max-width:100%}
}
@media(max-width:360px){main{padding-left:10px;padding-right:10px}.stat-note{font-size:10px}.datebar{flex-wrap:wrap}#viewDate{width:100%}nav button{font-size:12px}}
@media(max-width:700px){.grid .trip-person{flex-direction:row;justify-content:flex-start;align-items:center;text-align:left;gap:12px}.trip-person>span{flex:1}}
/* Multi-select people grid. */
#tripEmployeeList{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:700px){#tripEmployeeList{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;max-height:38dvh}.grid .trip-person{flex-direction:column;justify-content:flex-start;align-items:center;gap:6px;min-height:98px;padding:10px 5px;font-size:15px!important}.trip-person>span{width:100%;text-align:center;flex:0 1 auto}.trip-person small{font-size:10px;line-height:1.4;margin-top:4px;overflow-wrap:anywhere}.grid .trip-person input{width:19px!important;height:19px;min-height:19px;flex:0 0 19px;padding:0}}
@media(max-width:360px){#tripEmployeeList{grid-template-columns:repeat(2,minmax(0,1fr))}}

.stats{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:700px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stats .stat:last-child{grid-column:1/-1}}

#cloudGate{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;background:#11151df5;color:#fff;padding:28px;text-align:center}#cloudGate[hidden]{display:none}#cloudGate b{font-size:26px}#cloudGate p{color:#c6cbd4;margin:18px 0 24px}.cloud-busy button[type="submit"],.cloud-busy .modal-foot .primary,.cloud-busy [data-act],.cloud-busy [data-toggle],.cloud-busy #confirmClearData{pointer-events:none;opacity:.6}

.heading h1{line-height:1.35;overflow-wrap:anywhere}.qr-body{text-align:center}.qr-body img{display:block;width:100%;max-width:380px;margin:0 auto 16px}.qr-body a{font-weight:700;color:#6554a4}#mobileQrDialog{max-width:460px}.user #cloudSync{white-space:nowrap;font-size:12px}@media(max-width:600px){.heading h1{font-size:22px}.user #cloudSync{font-size:12px}}
