:root{--navy:#063266;--navy2:#021c3e;--blue:#1d70d6;--blue2:#3c91f7;--gold:#f7bd35;--ink:#17324e;--muted:#74869b;--line:#dfe8f1;--bg:#f3f7fb;--green:#15966d;--red:#d64d57;--orange:#e49424;--purple:#7455c5;font-family:"Microsoft YaHei","PingFang SC",Arial,sans-serif}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.muted{color:var(--muted)}
.login-page{min-height:100dvh;display:grid;grid-template-columns:1.15fr .85fr}.hero{position:relative;overflow:hidden;padding:42px 56px;color:#fff;background:radial-gradient(circle at 15% 10%,rgba(61,146,255,.35),transparent 34rem),linear-gradient(145deg,#0c4d9b,#07366d 52%,#021c3e)}.hero:before{content:"";position:absolute;inset:0;opacity:.12;background-image:linear-gradient(rgba(255,255,255,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.18) 1px,transparent 1px);background-size:48px 48px}.hero>*{position:relative}.hero-logo{width:300px}.hero-tag{position:absolute;right:55px;top:56px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.08);padding:9px 14px;font-size:11px}.hero-main{margin-top:120px;max-width:790px}.eyebrow{color:#ffd36c;letter-spacing:.16em;font-size:12px}.hero h1{font-size:58px;line-height:1.12;margin:28px 0 20px;letter-spacing:-.04em}.hero h1 em{font-style:normal;color:#ffc94e}.hero p{color:rgba(255,255,255,.68);line-height:2;font-size:15px}.hero-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:38px}.hero-card{border:1px solid rgba(255,255,255,.13);border-radius:17px;background:rgba(255,255,255,.065);padding:18px}.hero-card b{display:block;font-size:24px}.hero-card span{display:block;color:rgba(255,255,255,.52);font-size:11px;line-height:1.6;margin-top:6px}.hero-foot{position:absolute;left:56px;right:56px;bottom:30px;display:flex;justify-content:space-between;color:rgba(255,255,255,.35);font-size:10px}.login-side{display:grid;place-items:center;padding:38px;background:radial-gradient(circle at 100% 0,#d9eaff,transparent 30rem),#f5f8fc}.login-card{width:min(530px,100%);border:1px solid #dfe8f1;border-radius:28px;background:#fff;padding:32px;box-shadow:0 30px 90px rgba(22,61,105,.15)}.login-title{display:flex;gap:14px;align-items:center;margin-bottom:23px}.login-mark{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:#edf5ff;color:var(--blue);font-size:24px}.login-title h2{margin:0;font-size:24px}.login-title p{margin:6px 0 0;color:var(--muted);font-size:12px}.status-banner{border:1px solid #d5ecdf;border-radius:14px;background:#eef9f4;color:#27775c;padding:13px 14px;font-size:11px;line-height:1.6;margin-bottom:20px}.field{display:block;margin-bottom:15px}.field span{display:block;color:#566a80;font-size:11px;margin-bottom:7px}.field input,.field select,.field textarea{width:100%;border:1px solid #d8e3ee;border-radius:11px;background:#fff;outline:none;color:#29445f}.field input,.field select{height:46px;padding:0 13px}.field textarea{min-height:110px;padding:12px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:#6ca6eb;box-shadow:0 0 0 4px rgba(35,116,218,.08)}.remember{display:flex;align-items:center;gap:8px;color:#647990;font-size:11px;margin:2px 0 18px}.remember input{width:16px;height:16px}.btn{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;border-radius:11px;padding:0 16px;font-weight:700;font-size:12px}.btn.primary{color:#fff;background:linear-gradient(135deg,#3183ed,#175fc5);box-shadow:0 10px 24px rgba(31,108,210,.2)}.btn.secondary{background:#fff;color:#52677e;border-color:#d9e3ed}.btn.soft{background:#eef6ff;color:#1f67c5;border-color:#d7e9fc}.btn.danger{background:#fff3f3;color:#cc4650;border-color:#f0d3d5}.btn.block{width:100%}.login-note{text-align:center;color:#96a4b4;font-size:10px;line-height:1.6;margin-top:14px}
.shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100dvh}.sidebar{position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;color:#fff;background:radial-gradient(circle at 20% 0,rgba(53,137,246,.35),transparent 18rem),linear-gradient(180deg,#07376f,#052a58 65%,#021c3e)}.brand{padding:23px 20px;border-bottom:1px solid rgba(255,255,255,.1)}.brand img{width:190px}.brand small{display:block;color:rgba(255,255,255,.4);font-size:9px;margin-top:5px}.nav{padding:14px 12px}.nav button{width:100%;height:44px;border:0;border-radius:11px;background:transparent;color:rgba(255,255,255,.7);text-align:left;padding:0 14px;margin-bottom:5px}.nav button.active,.nav button:hover{color:#fff;background:linear-gradient(90deg,#3185ed,#2467c5)}.nav button i{display:inline-grid;width:25px;font-style:normal}.userbox{margin-top:auto;padding:14px;border-top:1px solid rgba(255,255,255,.1)}.usercard{display:flex;gap:10px;align-items:center;background:rgba(255,255,255,.065);border-radius:13px;padding:11px}.avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#2476df,#61a8f5);font-weight:800}.usercard div{min-width:0;flex:1}.usercard b,.usercard small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.usercard b{font-size:11px}.usercard small{font-size:9px;color:rgba(255,255,255,.45);margin-top:4px}.main{min-width:0}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:12px;min-height:70px;padding:0 25px;border-bottom:1px solid #dde7f0;background:rgba(249,251,254,.94);backdrop-filter:blur(12px)}.topbar-title{flex:1}.topbar h1{font-size:18px;margin:0}.topbar p{font-size:10px;color:var(--muted);margin:5px 0 0}.sync{display:flex;align-items:center;gap:7px;border:1px solid #dbe5ef;border-radius:999px;background:#fff;padding:8px 11px;color:#65798f;font-size:10px}.sync i{width:7px;height:7px;border-radius:50%;background:var(--green)}.content{padding:24px 25px 40px}.pagehead{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px}.pagehead h2{font-size:25px;margin:0}.pagehead p{font-size:11px;color:var(--muted);margin:7px 0 0}.actions{display:flex;gap:9px;flex-wrap:wrap}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stat{border:1px solid var(--line);border-radius:18px;background:#fff;padding:19px;box-shadow:0 8px 26px rgba(28,61,99,.08)}.stat label{color:#718399;font-size:10px}.stat strong{display:block;font-size:30px;margin-top:17px}.stat small{display:block;color:#95a3b2;font-size:9px;margin-top:7px}.panel{border:1px solid var(--line);border-radius:18px;background:#fff;padding:18px;box-shadow:0 8px 26px rgba(28,61,99,.08)}.grid2{display:grid;grid-template-columns:1.15fr .85fr;gap:15px;margin-top:15px}.panel h3{font-size:14px;margin:0}.panel-sub{font-size:9px;color:var(--muted);margin:5px 0 14px}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:13px}.toolbar input,.toolbar select{height:42px;border:1px solid #d9e3ed;border-radius:11px;background:#fff;padding:0 12px}.toolbar input{flex:1;min-width:240px}.tablewrap{overflow:auto;border:1px solid var(--line);border-radius:16px;background:#fff}table{width:100%;border-collapse:collapse;min-width:0}th{background:#f7f9fc;color:#708196;font-size:9px;text-align:left;padding:12px 13px;border-bottom:1px solid #e4ebf3}td{padding:13px;border-bottom:1px solid #edf1f5;font-size:10px}tbody tr:hover{background:#fbfdff}.badge{display:inline-flex;border-radius:999px;padding:5px 8px;font-size:8px;font-weight:800;background:#edf5ff;color:#2168c8}.badge.green{background:#eaf8f3;color:#0d8b64}.badge.red{background:#fff0f1;color:#c5454e}.badge.yellow{background:#fff7e8;color:#a46d12}.progress{width:120px}.progress-row{display:flex;justify-content:space-between;font-size:8px;color:#718399;margin-bottom:6px}.bar{height:8px;border-radius:99px;background:#edf2f7;overflow:hidden}.bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2b7ddd,#61a8f4)}.people{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.person{border:1px solid var(--line);border-radius:17px;background:#fff;padding:17px;box-shadow:0 8px 26px rgba(28,61,99,.08)}.person-top{display:flex;align-items:center;gap:12px}.person h3{font-size:13px;margin:0}.person p{font-size:9px;color:var(--muted);margin:5px 0}.person-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.person-actions{display:flex;gap:7px;margin-top:14px}.empty{text-align:center;color:#8797a9;padding:60px 20px}.empty b{display:block;color:#455d75;margin-bottom:7px}.activity{display:grid;gap:10px}.act{border-left:2px solid #5b9ce9;padding:3px 0 3px 11px}.act b{display:block;font-size:10px}.act small{display:block;color:#96a4b4;font-size:8px;margin-top:3px}
.backdrop{position:fixed;z-index:100;inset:0;display:grid;place-items:center;background:rgba(2,18,39,.55);padding:20px;backdrop-filter:blur(5px)}.modal{width:min(610px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:21px;padding:22px;box-shadow:0 35px 100px rgba(0,0,0,.25)}.modal.wide{width:min(850px,100%)}.modalhead{display:flex;justify-content:space-between;gap:15px;margin-bottom:18px}.modalhead h2{font-size:20px;margin:0}.modalhead p{font-size:10px;color:var(--muted);margin:6px 0}.close{border:0;border-radius:10px;width:34px;height:34px;background:#f0f4f8;font-size:18px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.formgrid .full{grid-column:1/-1}.modalfoot{display:flex;gap:9px;justify-content:flex-end;margin-top:18px}.range{display:flex;align-items:center;gap:12px}.range input{flex:1}.range output{display:grid;place-items:center;width:52px;height:36px;border-radius:10px;background:#eef5ff;color:#2169c9;font-size:10px;font-weight:800}#toast{position:fixed;z-index:200;left:50%;bottom:28px;transform:translate(-50%,20px);opacity:0;border-radius:12px;background:#092b57;color:#fff;padding:12px 17px;font-size:11px;transition:.2s;pointer-events:none}#toast.show{opacity:1;transform:translate(-50%,0)}.loading{position:fixed;z-index:150;inset:0;display:grid;place-items:center;background:rgba(245,248,252,.85)}.loading div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 20px;box-shadow:0 15px 50px rgba(28,61,99,.15);font-size:12px}
@media(max-width:1050px){.login-page{grid-template-columns:1fr}.hero{min-height:680px}.login-side{padding:40px 20px}.shell{grid-template-columns:220px 1fr}.stats{grid-template-columns:repeat(2,1fr)}.people{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.hero{min-height:auto;padding:28px 24px 48px}.hero-logo{width:230px}.hero-tag{position:static;display:inline-block;margin-top:22px}.hero-main{margin-top:60px}.hero h1{font-size:42px}.hero-grid{grid-template-columns:1fr}.hero-foot{position:static;margin-top:50px;display:block}.shell{display:block}.sidebar{position:static;height:auto}.nav{display:flex;overflow:auto}.nav button{min-width:115px}.userbox{display:none}.content{padding:18px 14px}.stats,.grid2,.people,.formgrid{grid-template-columns:1fr}.formgrid .full{grid-column:auto}.pagehead{align-items:flex-start;flex-direction:column}.sync span{display:none}}

/* V1.3 图片智能派发 */
.dispatch-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:15px}.ocr-upload{display:flex;align-items:center;justify-content:center;min-height:44px;border:1px dashed #80afe7;border-radius:12px;background:#f2f8ff;color:#1f68c5;font-size:11px;font-weight:800;cursor:pointer}.ocr-upload input{display:none}.ocr-preview-box{display:grid;place-items:center;min-height:255px;margin:12px 0;border:1px solid #e0e8f1;border-radius:14px;background:#f8fafc;overflow:hidden}.ocr-preview{display:block;max-width:100%;max-height:360px;object-fit:contain}.upload-placeholder{text-align:center;color:#8a99aa;padding:35px}.upload-placeholder b,.upload-placeholder span{display:block}.upload-placeholder b{color:#536a82;font-size:12px}.upload-placeholder span{font-size:9px;margin-top:7px;line-height:1.6}.ocr-progress{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;margin:11px 0}.ocr-progress>div{height:8px;border-radius:99px;background:#e9eff5;overflow:hidden}.ocr-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2b7ddd,#32bfd5);transition:width .2s}.ocr-progress b{font-size:9px;color:#708196}.ocr-tip{font-size:9px;color:#8d9cad;line-height:1.7;margin:10px 0 0}.ocr-text{width:100%;min-height:330px;border:1px solid #d8e3ee;border-radius:12px;padding:13px;resize:vertical;line-height:1.8;color:#29445f;outline:none}.ocr-text:focus{border-color:#6ca6eb;box-shadow:0 0 0 4px rgba(35,116,218,.08)}.ocr-help{margin-top:14px;border-radius:12px;background:#fff8e9;border:1px solid #f0dfb9;padding:12px;color:#806326}.ocr-help b,.ocr-help span{display:block}.ocr-help b{font-size:10px}.ocr-help span{font-size:9px;line-height:1.7;margin-top:5px}.ocr-summary{margin-top:14px;border:1px solid #cfe4d9;border-radius:12px;background:#eef9f3;padding:12px;color:#267656}.ocr-summary.warn{border-color:#efd5a4;background:#fff8e9;color:#86621e}.ocr-summary b,.ocr-summary span{display:block}.ocr-summary b{font-size:10px}.ocr-summary span{margin-top:5px;font-size:9px;line-height:1.7}.draft-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.draft-table{display:grid;gap:8px;overflow:auto}.draft-row{display:grid;grid-template-columns:minmax(210px,1.55fr) minmax(165px,1.15fr) minmax(135px,.9fr) 132px 80px 112px 34px;gap:8px;align-items:center;border:1px solid #e3eaf2;border-radius:12px;padding:9px;background:#fff}.draft-title{border:0;background:#f6f8fb;color:#73849a;font-size:9px}.draft-row input,.draft-row select,.draft-row textarea{width:100%;border:1px solid #dbe5ef;border-radius:9px;background:#fff;color:#334d68;font-size:9px;outline:none}.draft-row input,.draft-row select{height:36px;padding:0 9px}.draft-row textarea{grid-column:1/7;min-height:60px;padding:9px;resize:vertical}.draft-unmatched{border-color:#e4a34a;background:#fffaf1}.draft-unmatched select{border-color:#e4a34a;color:#9c6517}.draft-remove{width:32px;height:32px;border:0;border-radius:9px;background:#fff0f1;color:#c5454e;font-size:17px}.btn:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:1000px){.dispatch-grid{grid-template-columns:1fr}}@media(max-width:720px){.draft-head{flex-direction:column}.ocr-text{min-height:250px}.draft-table{overflow:visible}.draft-title{display:none}.draft-row{grid-template-columns:1fr!important;min-width:0!important;padding:12px}.draft-row>*{grid-column:1!important}.draft-row textarea{grid-column:1!important}.draft-row input,.draft-row select{height:46px;font-size:16px!important}.draft-row textarea{font-size:14px!important}.draft-remove{width:100%;height:42px;font-size:0}.draft-remove:after{content:"删除该项";font-size:11px;font-weight:800}}

/* V1.3.6 领导驾驶舱、完成情况与角色可见范围 */
.overview-strip{display:flex;align-items:center;gap:10px;margin-bottom:14px;border:1px solid #d7e7f7;border-radius:14px;background:linear-gradient(90deg,#eef6ff,#f8fbff);padding:11px 14px;color:#516b86;font-size:10px}.overview-strip span{border-radius:999px;background:#1f6fcf;color:#fff;padding:5px 9px;font-weight:800}.overview-strip b{color:#244969}.overview-strip small{margin-left:auto;color:#8a9bae}.scope-note{margin-bottom:13px;border-left:3px solid #2f7edc;border-radius:4px 11px 11px 4px;background:#f4f8fd;padding:10px 13px;color:#6f8297;font-size:10px}.scope-note b{color:#245d9f}.dashboard-section{margin-top:15px}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.section-head .panel-sub{margin-bottom:0}.text-link{border:0;background:transparent;color:#236bc8;font-size:10px;padding:4px 0}.dept-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:15px}.dept-summary{border:1px solid #e2eaf2;border-radius:14px;background:linear-gradient(160deg,#fff,#f8fbfe);padding:15px}.dept-summary-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}.dept-summary-head b,.dept-summary-head small{display:block}.dept-summary-head b{font-size:12px}.dept-summary-head small{margin-top:4px;color:#8a9aab;font-size:8px}.dept-summary-head strong{font-size:22px;color:#1f69c8}.dept-summary-kpis{display:flex;justify-content:space-between;gap:6px;margin-top:11px;color:#7d8fa2;font-size:8px}.dept-summary-kpis b{color:#354e68}.danger-text,.danger-text b{color:#c94650!important}.leadership-grid{grid-template-columns:1fr 1fr}.compact-list,.completion-list{display:grid;gap:8px;margin-top:14px}.compact-item,.completion-item{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid #e5ecf3;border-radius:12px;background:#fbfdff;padding:10px 11px}.compact-item b,.compact-item small,.completion-item b,.completion-item small{display:block}.compact-item b,.completion-item b{font-size:9px;line-height:1.5}.compact-item small,.completion-item small{margin-top:3px;color:#91a0b0;font-size:8px}.compact-icon,.completion-check{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;font-size:12px;font-weight:900}.compact-icon.warn{background:#fff4df;color:#c57b14}.completion-check{background:#e9f8f2;color:#0f9469}.completion-list.large{max-height:540px;overflow:auto}.empty.compact{padding:25px 15px;min-height:auto}.person-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:13px}.person-kpis>div{border-radius:10px;background:#f4f7fb;padding:9px;text-align:center}.person-kpis b,.person-kpis span{display:block}.person-kpis b{font-size:14px}.person-kpis span{margin-top:3px;color:#8b9aaa;font-size:8px}.member-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-top:14px}.member-summary{border:1px solid #e1e9f1;border-radius:14px;background:#fbfdff;padding:13px}.member-summary-name{display:flex;align-items:center;gap:9px}.avatar.mini{width:34px;height:34px;border-radius:10px;font-size:9px}.member-summary-name b,.member-summary-name small{display:block}.member-summary-name b{font-size:10px}.member-summary-name small{margin-top:3px;color:#8d9cad;font-size:8px}.member-summary-stats{display:flex;justify-content:space-between;gap:6px;margin:12px 0 9px;color:#7d8fa3;font-size:8px}.member-summary-stats b{color:#2d4b69}.toolbar select:disabled{background:#f1f4f7;color:#6e8093}.stat{position:relative;overflow:hidden}.stat:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;right:-32px;top:-42px;background:rgba(42,126,223,.06)}
@media(max-width:1100px){.dept-overview,.member-summary-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.overview-strip{align-items:flex-start;flex-wrap:wrap}.overview-strip small{width:100%;margin-left:0}.dept-overview,.member-summary-grid,.leadership-grid{grid-template-columns:1fr}.compact-item,.completion-item{grid-template-columns:30px minmax(0,1fr)}.compact-item>span:last-child,.completion-item>span:last-child{grid-column:2}}


/* V1.3.7 视觉排版与辰电侠交互动效 */
:root{--card-shadow:0 10px 32px rgba(22,57,96,.075);--card-hover:0 18px 42px rgba(22,57,96,.13);--soft-blue:#eef6ff;--cyan:#30d3f2}
body{background:linear-gradient(180deg,#f5f8fc 0,#eef4fa 100%)}
button,.stat,.panel,.person,.hero-card,.welcome-banner{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(31,108,210,.15)}.btn:active{transform:translateY(0) scale(.98)}
.panel:hover,.person:hover{border-color:#cadbec;box-shadow:var(--card-hover)}
.page-transition{animation:pageEnter .34s cubic-bezier(.2,.8,.2,1)}
@keyframes pageEnter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* 辰电侠 SVG */
.hc-mascot{overflow:visible;filter:drop-shadow(0 16px 18px rgba(0,30,70,.18))}.hc-mascot *{vector-effect:non-scaling-stroke}.bot-shadow{fill:rgba(1,21,49,.18)}.antenna path{fill:none;stroke:#f7bd35;stroke-width:5;stroke-linecap:round}.antenna circle{fill:#f7bd35}.helmet,.body-white,.limb-white{fill:#f7fbff;stroke:#d7e6f3;stroke-width:2}.helmet-blue,.body-blue,.limb-blue,.joint{fill:#176ed1;stroke:#0d54a7;stroke-width:2}.face{fill:#061d37;stroke:#2090e8;stroke-width:3}.face-glow{fill:none;stroke:#7ee7ff;stroke-width:2;opacity:.65}.eyes ellipse{fill:#4ee6ff;filter:drop-shadow(0 0 6px #23cfff)}.cheek{fill:#f5bd31}.chest-ring{fill:#1375dc;stroke:#0a4e9b;stroke-width:2}.chest-core,.hand,.foot{fill:#ffc943;stroke:#dc9219;stroke-width:2}.belt{fill:#0d5daf}.arm path,.leg path{fill:none;stroke-width:17;stroke-linecap:round}.arm .limb-white{stroke:#f5f9fc}.arm .limb-blue,.leg .limb-blue{stroke:#176ed1}.bot-sparkles{fill:none;stroke:#69dcff;stroke-width:3;stroke-linecap:round;opacity:.85}.bot-body{transform-origin:120px 190px;animation:botFloat 4s ease-in-out infinite}.eyes{transform-origin:center;animation:botBlink 5.2s infinite}.bot-sparkles{animation:sparkle 2.3s ease-in-out infinite}.pose-wave .arm-right{transform-origin:178px 164px;animation:botWave 1.7s ease-in-out infinite}.pose-success .arm-left{transform-origin:72px 164px;transform:rotate(28deg) translate(-12px,-12px)}.pose-success .arm-right{transform-origin:168px 164px;transform:rotate(-28deg) translate(12px,-12px)}.pose-alert .bot-body{animation:botAlert 2.2s ease-in-out infinite}.pose-work .arm-right{transform-origin:168px 164px;animation:botWork 1.2s ease-in-out infinite}.pose-search .head-shell{transform-origin:120px 110px;animation:botLook 2.4s ease-in-out infinite}
@keyframes botFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes botBlink{0%,44%,48%,100%{transform:scaleY(1)}46%{transform:scaleY(.08)}}@keyframes botWave{0%,100%{transform:rotate(0)}30%{transform:rotate(-32deg) translate(5px,-5px)}65%{transform:rotate(-12deg)}}@keyframes botAlert{0%,100%{transform:translateY(0) rotate(0)}45%{transform:translateY(-5px) rotate(-2deg)}55%{transform:translateY(-5px) rotate(2deg)}}@keyframes botWork{0%,100%{transform:rotate(0)}50%{transform:rotate(-12deg)}}@keyframes botLook{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(5deg)}}@keyframes sparkle{0%,100%{opacity:.35}50%{opacity:1}}

/* 登录页 */
.login-page{grid-template-columns:minmax(620px,1.2fr) minmax(420px,.8fr);background:#f3f7fb}.hero{min-height:100dvh;padding:38px 52px;background:radial-gradient(circle at 14% 12%,rgba(60,151,255,.38),transparent 32rem),radial-gradient(circle at 84% 78%,rgba(48,211,242,.18),transparent 25rem),linear-gradient(145deg,#0d4d98,#07366d 52%,#021c3e)}.hero:after{content:"";position:absolute;inset:auto -220px -310px auto;width:730px;height:730px;border:1px solid rgba(255,255,255,.08);border-radius:50%;box-shadow:0 0 0 85px rgba(255,255,255,.025),0 0 0 170px rgba(255,255,255,.015)}.hero-logo{width:280px}.hero-tag{display:flex;align-items:center;gap:8px}.hero-tag i{width:7px;height:7px;border-radius:50%;background:#5ce4a5;box-shadow:0 0 0 5px rgba(92,228,165,.12)}.hero-main{margin-top:100px;max-width:690px;z-index:3}.hero h1{font-size:56px}.hero-grid{max-width:680px}.hero-card:hover{transform:translateY(-5px);background:rgba(255,255,255,.1)}.hero-mascot-stage{position:absolute;right:4.2%;bottom:7.5%;width:280px;height:380px;z-index:2}.hero-bot{position:absolute;bottom:0;right:0;width:250px}.hero-bubble{position:absolute;right:145px;top:0;width:190px;border:1px solid rgba(255,255,255,.18);border-radius:18px 18px 4px 18px;background:rgba(255,255,255,.11);padding:13px 15px;color:rgba(255,255,255,.73);font-size:11px;line-height:1.7;backdrop-filter:blur(14px);animation:bubbleIn .7s .25s both}.hero-bubble b{color:#fff}.energy-ring{position:absolute;right:15px;bottom:8px;border:1px solid rgba(75,208,255,.25);border-radius:50%;animation:ringPulse 3s ease-out infinite}.energy-ring.r1{width:210px;height:55px}.energy-ring.r2{width:260px;height:75px;animation-delay:1.2s}@keyframes ringPulse{0%{transform:scale(.75);opacity:0}35%{opacity:1}100%{transform:scale(1.3);opacity:0}}@keyframes bubbleIn{from{opacity:0;transform:translate(14px,10px)}to{opacity:1;transform:none}}.login-side{padding:42px}.login-card{border-radius:26px;padding:31px;box-shadow:0 32px 90px rgba(22,61,105,.14);animation:cardIn .55s ease-out both}.login-card:hover{box-shadow:0 38px 100px rgba(22,61,105,.18)}@keyframes cardIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.status-banner{display:flex;gap:11px;align-items:center}.status-banner b,.status-banner small{display:block}.status-banner small{margin-top:3px}.status-dot{width:9px;height:9px;border-radius:50%;background:#21b77d;box-shadow:0 0 0 6px rgba(33,183,125,.12)}.login-submit{justify-content:space-between;padding:0 18px}.login-submit i{font-style:normal;font-size:18px;transition:transform .2s}.login-submit:hover i{transform:translateX(4px)}

/* 主框架 */
.shell{grid-template-columns:230px minmax(0,1fr)}.sidebar{background:radial-gradient(circle at 25% 0,rgba(57,145,255,.32),transparent 18rem),linear-gradient(180deg,#083a73,#052a58 65%,#021b3a)}.brand{padding:21px 18px}.brand img{width:180px}.nav{padding:13px 10px}.nav button{height:43px;padding:0 13px;margin-bottom:4px;position:relative}.nav button:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:3px;background:#ffd04b;transform:scaleY(0);transition:.2s}.nav button.active:before{transform:scaleY(1)}.nav button:hover{transform:translateX(3px)}.side-mascot{margin:auto 16px 10px;display:flex;align-items:center;gap:4px;color:rgba(255,255,255,.5);font-size:9px}.side-bot{width:68px}.userbox{padding:11px 13px}.content{padding:22px 24px 42px}.topbar{min-height:66px;padding:0 24px;box-shadow:0 1px 0 rgba(207,220,233,.65)}.sync.syncing i{animation:syncPulse .8s infinite}@keyframes syncPulse{50%{opacity:.25}}

/* 首页 */
.pagehead{margin-bottom:16px}.pagehead h2{font-size:24px}.welcome-banner{position:relative;display:flex;min-height:188px;align-items:center;overflow:hidden;border:1px solid #d5e5f4;border-radius:20px;background:radial-gradient(circle at 75% 30%,rgba(44,139,239,.18),transparent 20rem),linear-gradient(135deg,#fff,#f1f7ff);padding:24px 230px 24px 25px;box-shadow:var(--card-shadow);margin-bottom:15px}.welcome-banner:after{content:"";position:absolute;right:-95px;bottom:-145px;width:320px;height:320px;border:1px solid rgba(29,112,214,.1);border-radius:50%;box-shadow:0 0 0 55px rgba(29,112,214,.03)}.welcome-copy{position:relative;z-index:2}.welcome-label{display:inline-flex;border-radius:999px;background:#e9f3ff;color:#1a67bd;padding:6px 10px;font-size:9px;font-weight:700}.welcome-copy h2{font-size:25px;margin:14px 0 9px}.welcome-copy p{max-width:650px;color:#63788e;font-size:11px;line-height:1.8;margin:0}.welcome-copy p b{color:#d04a54}.welcome-actions{display:flex;gap:9px;margin-top:16px}.welcome-mascot{position:absolute;right:26px;bottom:-28px;width:195px;z-index:2}.welcome-bot{width:100%}.welcome-pulse{position:absolute;left:22px;right:22px;bottom:30px;height:28px;border:1px solid rgba(40,144,231,.2);border-radius:50%;animation:ringPulse 2.8s infinite}.stats{gap:12px}.stat{position:relative;overflow:hidden;border-radius:16px;padding:16px 17px;box-shadow:var(--card-shadow)}.stat:hover{transform:translateY(-4px);box-shadow:var(--card-hover)}.stat:after{content:"";position:absolute;right:-22px;top:-32px;width:82px;height:82px;border-radius:50%;background:rgba(41,126,221,.055)}.stat-top{display:flex;align-items:center;justify-content:space-between}.stat-top span{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:#eef6ff;color:#2070cf;font-size:13px;font-weight:800}.stat strong{font-size:28px;margin-top:13px}.dashboard-section{margin-top:13px}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.grid2{gap:13px;margin-top:13px}.panel{border-radius:16px;padding:16px;box-shadow:var(--card-shadow)}

/* 表格、成员、表单 */
.tablewrap{border-radius:14px;box-shadow:var(--card-shadow)}table{min-width:0}th{position:sticky;top:0;z-index:1;padding:11px 12px}td{padding:11px 12px}tbody tr{transition:background .18s,transform .18s}tbody tr:hover{background:#f5f9fe}.people{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.person{border-radius:15px;padding:14px;box-shadow:var(--card-shadow)}.person-top .avatar{width:38px;height:38px}.person h3{font-size:12px}.person-kpis{margin-top:12px}.person-actions{margin-top:11px}.toolbar{padding:10px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 6px 20px rgba(28,61,99,.05)}.toolbar input,.toolbar select{height:39px}.backdrop{animation:fadeIn .2s ease}.modal{padding:0;overflow:hidden;animation:modalIn .25s ease}.modalhead{padding:20px 21px 0}.modal form>.formgrid,.modal>.formgrid{padding:0 21px}.modalfoot{position:sticky;bottom:0;margin-top:18px;padding:13px 21px;background:rgba(255,255,255,.95);border-top:1px solid #e4ebf2;backdrop-filter:blur(12px);z-index:3}.field input,.field select{height:43px}.field textarea{min-height:96px}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes modalIn{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}

/* 空状态 */
.mascot-empty{display:flex;min-height:230px;align-items:center;justify-content:center;gap:18px;padding:30px}.mascot-empty .empty-bot{width:105px;flex:none}.mascot-empty b{font-size:13px}.mascot-empty span{display:block;margin-top:7px;font-size:9px}.empty.compact.mascot-empty{min-height:150px}.empty.compact .empty-bot{width:76px}

/* 辰电侠浮动助手 */
.assistant-wrap{position:fixed;right:22px;bottom:20px;z-index:75}.assistant-fab{position:relative;width:72px;height:72px;border:0;border-radius:24px;background:linear-gradient(145deg,#eff8ff,#dbeeff);box-shadow:0 14px 38px rgba(16,73,133,.22);padding:2px;transition:.25s}.assistant-fab:hover,.assistant-fab.active{transform:translateY(-6px) scale(1.04);box-shadow:0 20px 48px rgba(16,73,133,.28)}.fab-bot{position:relative;width:68px;height:78px;margin-top:-13px;z-index:2}.fab-ring{position:absolute;inset:8px;border:1px solid rgba(36,128,224,.2);border-radius:50%;animation:fabPulse 2s infinite}.assistant-fab i{position:absolute;right:-3px;top:-4px;display:grid;place-items:center;min-width:22px;height:22px;border-radius:999px;background:#df4b56;color:#fff;font-size:9px;font-style:normal;font-weight:800;border:3px solid #fff;z-index:3}@keyframes fabPulse{0%,100%{transform:scale(.8);opacity:.2}50%{transform:scale(1.15);opacity:.8}}.assistant-panel{position:absolute;right:0;bottom:86px;width:310px;border:1px solid #d9e6f2;border-radius:18px;background:rgba(255,255,255,.97);box-shadow:0 24px 70px rgba(19,62,107,.2);padding:16px;opacity:0;transform:translateY(12px) scale(.96);pointer-events:none;transform-origin:right bottom;transition:.22s;backdrop-filter:blur(14px)}.assistant-panel.open{opacity:1;transform:none;pointer-events:auto}.assistant-close{position:absolute;right:10px;top:9px;width:26px;height:26px;border:0;border-radius:8px;background:#f0f4f8;color:#687b90}.assistant-head{display:flex;align-items:center;gap:9px;padding-right:23px}.assistant-bot{width:72px;flex:none}.assistant-head b,.assistant-head span{display:block}.assistant-head b{font-size:12px}.assistant-head span{margin-top:5px;color:#74869b;font-size:9px;line-height:1.55}.assistant-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:11px 0}.assistant-kpis span{border-radius:10px;background:#f3f7fb;padding:8px;text-align:center;color:#7a8b9d;font-size:8px}.assistant-kpis b{display:block;color:#17324e;font-size:15px;margin-bottom:3px}.assistant-actions{display:flex;gap:6px}.assistant-actions button{flex:1;height:34px;border:1px solid #d9e5ef;border-radius:9px;background:#fff;color:#2b659e;font-size:9px}.assistant-actions button:hover{background:#edf6ff;border-color:#afd0f1}

/* Toast & loading */
#toast{display:flex;align-items:center;gap:10px;min-width:310px;max-width:min(470px,calc(100vw - 30px));padding:8px 14px 8px 7px;border:1px solid rgba(255,255,255,.13);border-radius:16px;box-shadow:0 20px 55px rgba(4,34,68,.25)}#toast.success{background:#073a6e}#toast.error{background:#842b35}.toast-bot{width:50px;height:50px;overflow:hidden;display:grid;place-items:center}.toast-mascot{width:58px}.toast-bot+span b,.toast-bot+span small{display:block}.toast-bot+span b{font-size:10px}.toast-bot+span small{margin-top:4px;color:rgba(255,255,255,.76);font-size:9px;line-height:1.45}.loading-card{position:relative;display:grid;place-items:center;min-width:235px;border:1px solid var(--line);border-radius:20px;background:#fff;padding:19px 25px 18px;box-shadow:0 25px 80px rgba(28,61,99,.18);overflow:hidden}.loading-bot{width:92px}.loading-card b,.loading-card small{position:relative;z-index:2}.loading-card b{font-size:11px;margin-top:-5px}.loading-card small{font-size:8px;color:#8a9aac;margin-top:5px}.loading-orbit{position:absolute;width:150px;height:55px;border:1px solid #cfe8ff;border-radius:50%;top:86px;animation:orbit 1.5s linear infinite}@keyframes orbit{to{transform:rotate(360deg)}}.warning-banner{margin-bottom:13px;background:#fff3f3;color:#9b3038;border-color:#f0c9cc}.warning-banner b,.warning-banner small{display:block}.warning-banner small{margin-top:4px}

@media(max-width:1250px){.hero-mascot-stage{opacity:.5;right:-25px}.hero-main{max-width:620px}.people{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1050px){.login-page{grid-template-columns:1fr}.hero{min-height:690px}.hero-mascot-stage{opacity:1;right:4%;width:240px}.hero-bubble{right:115px}.people{grid-template-columns:repeat(2,1fr)}.welcome-banner{padding-right:190px}.welcome-mascot{width:165px}}
@media(max-width:720px){.hero-mascot-stage{display:none}.hero-main{margin-top:65px}.hero h1{font-size:40px}.hero-grid{grid-template-columns:1fr}.assistant-wrap{right:13px;bottom:12px}.assistant-panel{width:min(310px,calc(100vw - 28px))}.assistant-fab{width:62px;height:62px}.fab-bot{width:60px}.welcome-banner{padding:20px;min-height:auto}.welcome-mascot{display:none}.welcome-copy h2{font-size:21px}.people{grid-template-columns:1fr}.side-mascot{display:none}.modalhead{padding:17px 17px 0}.modal form>.formgrid,.modal>.formgrid{padding:0 17px}.modalfoot{padding:12px 17px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}


/* ===== 官方辰电侠形象替换 V1.3.8 ===== */
.official-mascot{
  position:relative; display:inline-flex; align-items:flex-end; justify-content:center;
  overflow:visible; isolation:isolate; filter:drop-shadow(0 18px 28px rgba(24,74,146,.18));
}
.official-mascot .mascot-img{
  position:relative; z-index:2; display:block; width:100%; height:auto;
  transform-origin:50% 88%; user-select:none; -webkit-user-drag:none;
}
.official-mascot .mascot-floor{
  position:absolute; left:50%; bottom:3%; transform:translateX(-50%);
  width:68%; height:9%; border-radius:50%;
  background:radial-gradient(circle at center, rgba(13,57,116,.18) 0%, rgba(13,57,116,.08) 45%, rgba(13,57,116,0) 74%);
  z-index:1; filter:blur(4px);
}
.official-mascot .mascot-halo{
  position:absolute; inset:8% 12% 14%; z-index:0; border-radius:50%;
  background:radial-gradient(circle at 50% 38%, rgba(85,171,255,.28), rgba(85,171,255,.08) 45%, rgba(85,171,255,0) 72%);
  opacity:.8;
}
.official-mascot.pose-idle .mascot-img,
.official-mascot.pose-guide .mascot-img{animation:hcOfficialFloat 3.2s ease-in-out infinite;}
.official-mascot.pose-wave .mascot-img{animation:hcOfficialWave 2.8s ease-in-out infinite;}
.official-mascot.pose-alert .mascot-img{animation:hcOfficialAlert 1.8s ease-in-out infinite;}
.official-mascot.pose-loading .mascot-img{animation:hcOfficialBack 2.6s ease-in-out infinite;}
.official-mascot.pose-success .mascot-img{animation:hcOfficialSuccess 1.9s ease-in-out infinite;}
.official-mascot.pose-error .mascot-img{animation:hcOfficialError .8s ease-in-out 2;}
.official-mascot.pose-guide .mascot-halo,
.official-mascot.pose-wave .mascot-halo{animation:hcHaloBreath 3s ease-in-out infinite;}
.official-mascot.pose-alert::before,
.official-mascot.pose-alert::after{
  content:''; position:absolute; top:23%; width:14%; height:17%;
  background:linear-gradient(180deg,#ffd84d,#f7b500);
  clip-path:polygon(34% 0,100% 0,64% 44%,100% 44%,25% 100%,42% 58%,0 58%);
  z-index:3; opacity:.9; filter:drop-shadow(0 4px 10px rgba(255,193,7,.28));
  animation:hcBoltFlash 1.2s ease-in-out infinite;
}
.official-mascot.pose-alert::before{left:4%; transform:rotate(-8deg);}
.official-mascot.pose-alert::after{right:4%; transform:scaleX(-1) rotate(-8deg);}
@keyframes hcOfficialFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes hcOfficialWave{0%,100%{transform:translateY(0) rotate(0deg)}25%{transform:translateY(-4px) rotate(-2.4deg)}50%{transform:translateY(-8px) rotate(0deg)}75%{transform:translateY(-4px) rotate(2.4deg)}}
@keyframes hcOfficialAlert{0%,100%{transform:translateY(0)}25%{transform:translateY(-4px) rotate(-1.5deg)}50%{transform:translateY(-6px) rotate(1.5deg)}75%{transform:translateY(-4px) rotate(-1deg)}}
@keyframes hcOfficialBack{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px) rotate(-2deg)}}
@keyframes hcOfficialSuccess{0%,100%{transform:translateY(0) scale(1)}40%{transform:translateY(-7px) scale(1.02)}70%{transform:translateY(-3px) scale(.99)}}
@keyframes hcOfficialError{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
@keyframes hcHaloBreath{0%,100%{opacity:.48;transform:scale(.97)}50%{opacity:.9;transform:scale(1.04)}}
@keyframes hcBoltFlash{0%,100%{opacity:.28;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}
/* size tuning by scene */
.hero-bot{width:360px; max-width:min(39vw,380px)}
.welcome-bot{width:132px}
.side-bot{width:86px}
.mini-bot{width:92px}
.assistant-bot{width:136px}
.fab-bot{width:72px}
.toast-bot{width:46px}
.loading-bot{width:104px}
.empty-bot .official-mascot, .assistant-head .official-mascot, .welcome-mascot .official-mascot,
.hero-mascot-stage .official-mascot, .side-mascot .official-mascot, .toast-bot.official-mascot {display:flex}
.login-side .hero-mascot-stage{position:relative; min-height:360px; display:flex; align-items:center; justify-content:center}
.login-side .hero-mascot-stage .energy-orbit{
  position:absolute; inset:auto 18% 7% 18%; height:120px; border-radius:50%;
  background:radial-gradient(circle at center, rgba(255,211,66,.15), rgba(255,211,66,0) 68%);
  filter:blur(6px);
}
.welcome-mascot, .side-mascot, .empty-bot, .assistant-head .official-mascot, .fab-bot{transform:translateZ(0)}
.assistant-fab .official-mascot{pointer-events:none}
@media (max-width: 900px){
  .hero-bot{width:min(52vw,300px)}
  .assistant-bot{width:110px}
}
@media (prefers-reduced-motion: reduce){
  .official-mascot .mascot-img, .official-mascot .mascot-halo, .official-mascot::before, .official-mascot::after{animation:none !important}
}



/* ===== V1.4.0 专业交互与图标优化 ===== */
.hc-mascot,.official-mascot,.side-mascot,.assistant-wrap,.hero-mascot-stage,.welcome-mascot,.mascot-empty{display:none!important}
.ui-icon{width:18px;height:18px;display:inline-block;vertical-align:-3px;flex:none}
.btn{gap:7px}.btn .ui-icon{width:15px;height:15px}.text-link{display:inline-flex;align-items:center;gap:4px}.text-link .ui-icon{width:13px;height:13px}
.icon-button{display:inline-grid;place-items:center;width:34px;height:34px;border:1px solid #dbe5ef;border-radius:10px;background:#fff;color:#60758b;transition:.18s}.icon-button:hover{transform:translateY(-1px);border-color:#a9c8ea;color:#1768d4;background:#f4f9ff}.icon-button.blue{color:#1768d4;background:#eef6ff}.icon-button.red{color:#d34b55;background:#fff4f5;border-color:#f0d4d7}.icon-button .ui-icon{width:16px;height:16px}
/* 登录页 */
.workflow-visual{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:34px;max-width:760px}.workflow-step{position:relative;display:flex;align-items:center;gap:13px;min-height:82px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(255,255,255,.065);padding:16px 46px 16px 16px;backdrop-filter:blur(12px);transition:.2s}.workflow-step:hover{transform:translateY(-3px);background:rgba(255,255,255,.1)}.workflow-step>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:rgba(255,255,255,.12);color:#ffd25c}.workflow-step>span .ui-icon{width:22px;height:22px}.workflow-step b,.workflow-step small{display:block}.workflow-step b{font-size:12px}.workflow-step small{margin-top:5px;color:rgba(255,255,255,.55);font-size:9px;line-height:1.45}.workflow-step>i{position:absolute;right:14px;top:12px;color:rgba(255,255,255,.18);font-size:20px;font-style:normal;font-weight:900}.hero-foot span:last-child{display:flex;align-items:center;gap:6px}.hero-foot .ui-icon{width:13px;height:13px}.login-mark{display:grid!important;place-items:center}.login-mark .ui-icon{width:23px;height:23px}.status-banner{display:flex;align-items:flex-start}.status-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:rgba(15,159,114,.09);color:#0f9f72;flex:none}.status-icon .ui-icon{width:18px;height:18px}.input-with-icon{position:relative}.input-with-icon>.ui-icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:17px;height:17px;color:#90a1b3;z-index:2}.input-with-icon input{padding-left:42px!important}
/* 左侧导航与状态 */
.nav button{position:relative}.nav button i{display:grid;place-items:center}.nav button i .ui-icon{width:18px;height:18px}.nav button em{margin-left:auto;opacity:0;transform:translateX(-5px);transition:.18s}.nav button em .ui-icon{width:13px;height:13px}.nav button:hover em,.nav button.active em{opacity:.8;transform:none}.side-status{display:flex;align-items:center;gap:10px;margin:12px 14px 10px;border:1px solid rgba(255,255,255,.09);border-radius:13px;background:rgba(255,255,255,.055);padding:11px;color:#fff}.side-status>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:rgba(73,184,255,.13);color:#79dcff}.side-status b,.side-status small{display:block}.side-status b{font-size:9px}.side-status small{margin-top:4px;color:rgba(255,255,255,.42);font-size:8px}.usercard>.icon-button{border-color:rgba(255,255,255,.1);background:rgba(255,255,255,.07);color:rgba(255,255,255,.7)}
/* 总览 */
.welcome-banner{align-items:stretch}.welcome-label{display:inline-flex!important;align-items:center;gap:6px}.welcome-label .ui-icon{width:14px;height:14px}.focus-panel{min-width:300px;display:flex;align-items:center;gap:14px;border-left:1px solid rgba(22,95,172,.12);padding:8px 20px}.focus-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:18px;background:linear-gradient(145deg,#e9f4ff,#f7fbff);color:#1768d4;box-shadow:inset 0 0 0 1px #d7e8f8}.focus-icon .ui-icon{width:28px;height:28px}.focus-panel small,.focus-panel b,.focus-panel p{display:block}.focus-panel small{color:#7b8ca0;font-size:9px}.focus-panel b{margin-top:6px;font-size:16px}.focus-panel p{margin:5px 0 0;color:#8b9aac;font-size:9px}.section-head h3{display:flex;align-items:center;gap:7px}.section-head h3 .ui-icon{width:16px;height:16px;color:#2a76ce}.stat-top span{display:grid;place-items:center;width:35px;height:35px;border-radius:11px}.stat-top span .ui-icon{width:18px;height:18px}.tone-blue .stat-top span{background:#edf5ff;color:#246fcf}.tone-purple .stat-top span{background:#f2effd;color:#7256bd}.tone-green .stat-top span{background:#eaf8f3;color:#0f936b}.tone-red .stat-top span{background:#fff0f1;color:#d34d56}.empty.icon-empty{display:flex!important;min-height:170px;align-items:center;justify-content:center;gap:15px;text-align:left}.empty-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:#eff6fd;color:#4b86c7}.empty-icon .ui-icon{width:27px;height:27px}.empty.icon-empty b{font-size:12px}.empty.icon-empty span{display:block;margin-top:6px;font-size:9px}.compact-list .empty.icon-empty,.completion-list .empty.icon-empty{min-height:145px}.compact-icon .ui-icon,.completion-check .ui-icon{width:15px;height:15px}
/* 任务台账 */
.toolbar-search{position:relative;min-width:280px;flex:1}.toolbar-search>.ui-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#8fa0b3}.toolbar-search input{width:100%;padding-left:42px!important}.task-title-cell{display:flex;align-items:flex-start;gap:10px}.task-type-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#eef5fd;color:#2b74c8;flex:none}.task-type-icon .ui-icon{width:17px;height:17px}.task-title-cell .muted{font-size:8px;margin-top:4px}.owner-cell{display:flex;align-items:center;gap:8px}.avatar.tiny{width:30px;height:30px;border-radius:9px;font-size:9px}.owner-cell small{display:block;margin-top:3px;color:#8b9aab;font-size:8px}.date-cell{display:flex;align-items:center;gap:6px;color:#566c84;white-space:nowrap}.date-cell .ui-icon{width:14px;height:14px;color:#7f95ab}.status-with-icon{display:inline-flex;align-items:center;gap:5px;border-radius:999px;background:#edf5ff;color:#266cca;padding:6px 9px;font-size:8px;font-weight:800;white-space:nowrap}.status-with-icon.green{background:#eaf8f3;color:#0d8c66}.status-with-icon.red{background:#fff0f1;color:#c8454e}.status-with-icon .ui-icon{width:12px;height:12px}.row-actions{display:flex;gap:6px}
/* 部门分组人员页 */
.department-groups{display:grid;gap:17px}.department-group{border:1px solid #dfe8f1;border-radius:18px;background:#fff;padding:16px 16px 18px;box-shadow:var(--shadow-sm)}.department-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.department-head>div{display:flex;align-items:center;gap:10px}.department-head>div>span{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#eef6ff;color:#2676cf}.department-head h3,.department-head p{margin:0}.department-head h3{font-size:13px}.department-head p{margin-top:4px;color:#8b9bad;font-size:8px}.dept-count{display:grid;place-items:center;min-width:34px;height:28px;border-radius:999px;background:#f0f5fa;color:#5e738a;font-size:9px;font-weight:800}.person{padding:15px}.person-role{margin-left:auto;border-radius:999px;background:#eef5ff;color:#286ec8;padding:5px 8px;font-size:8px;font-weight:800}.person-top{align-items:center}.person-top p{margin-top:4px}.person-kpis>div{position:relative}.person-kpis>div>span{display:grid;place-items:center;width:24px;height:24px;margin:0 auto 5px;border-radius:8px;background:#eaf3fd;color:#2f75c7}.person-kpis>div>span .ui-icon{width:13px;height:13px}.person-kpis small{display:block;color:#8a99aa;font-size:8px}.person-progress{margin-top:13px}.person-actions .btn{min-height:34px;padding:0 11px}
/* Toast / loading */
#toast{gap:10px;padding:11px 15px}.toast-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:rgba(255,255,255,.13);flex:none}.toast-icon .ui-icon{width:18px;height:18px}.loading-card{gap:7px}.loading-spinner{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:#edf6ff;color:#2676d2}.loading-spinner .ui-icon{width:23px;height:23px;animation:uiSpin 1s linear infinite}@keyframes uiSpin{to{transform:rotate(360deg)}}
@media(max-width:1050px){.focus-panel{min-width:250px}.workflow-visual{grid-template-columns:1fr}.people{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.workflow-visual{grid-template-columns:1fr}.focus-panel{min-width:0;border-left:0;border-top:1px solid rgba(22,95,172,.12);padding:15px 0 0}.toolbar-search{min-width:100%}.department-group{padding:13px}.people{grid-template-columns:1fr}}


/* V1.4.1 协作工作与系统账号独立 */
.task-relation{display:inline-flex;align-items:center;gap:3px;margin-left:6px;border-radius:999px;padding:3px 6px;font-size:7px;font-weight:800;vertical-align:middle}
.task-relation .ui-icon{width:10px;height:10px}.task-relation.owner{background:#eaf3ff;color:#246bc5}.task-relation.collab{background:#f2edff;color:#6d4bc2}
.collab-row{background:linear-gradient(90deg,rgba(116,80,198,.035),transparent 38%)}.collab-row:hover{background:linear-gradient(90deg,rgba(116,80,198,.075),#f8fbff 42%)}
.badge.purple{background:#f2edff;color:#6d4bc2}.person-kpis.four{grid-template-columns:repeat(4,1fr)}
.system-account-group{border:1px dashed #d5dfeb;border-radius:18px;background:#f8fafc;padding:16px}.system-account-group .department-head{margin-bottom:12px}.system-account-group .department-head>div>span{background:#fff4df;color:#a46d12}
.system-accounts{display:grid;gap:9px}.system-account{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:11px;border:1px solid #e1e8f0;border-radius:13px;background:#fff;padding:11px 12px}.system-account b,.system-account small{display:block}.system-account b{font-size:10px}.system-account small{margin-top:4px;color:#8797a9;font-size:8px}.system-account .btn{min-height:33px;padding:0 11px}
@media(max-width:900px){.person-kpis.four{grid-template-columns:repeat(2,1fr)}.system-account{grid-template-columns:auto minmax(0,1fr) auto}.system-account .btn{grid-column:1/-1}}



/* V1.4.2 周/月工作分析 */
.analysis-mode-switch{display:flex;align-items:center;border:1px solid #d8e3ee;border-radius:11px;background:#f4f7fb;padding:3px}.analysis-mode-switch button{height:34px;border:0;border-radius:8px;background:transparent;color:#64788e;padding:0 15px;font-size:10px;font-weight:800}.analysis-mode-switch button.active{background:#fff;color:#1768d4;box-shadow:0 4px 14px rgba(31,103,188,.12)}
.analysis-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px;border:1px solid #dfe8f1;border-radius:14px;background:#fff;padding:10px 12px;box-shadow:0 6px 20px rgba(28,61,99,.05)}.period-nav{display:flex;align-items:center;gap:7px}.period-nav .flip-x{transform:scaleX(-1)}.period-current{min-width:170px;height:42px;border:0;border-radius:10px;background:#f3f7fb;color:#254767;padding:5px 16px}.period-current b,.period-current span{display:block}.period-current b{font-size:11px}.period-current span{margin-top:3px;color:#8192a4;font-size:8px}.analysis-scope{display:flex;align-items:center;gap:7px;color:#6c7f93;font-size:9px}.analysis-scope .ui-icon{width:15px;height:15px;color:#2c76cb}.analysis-scope b{color:#21496f}.analysis-scope>span{border-radius:999px;background:#f2edff;color:#6d4bc2;padding:5px 8px;font-weight:800}
.analysis-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:13px}.analysis-kpis article{display:flex;align-items:center;gap:13px;border:1px solid #dfe8f1;border-radius:15px;background:#fff;padding:15px 16px;box-shadow:var(--card-shadow)}.kpi-icon{display:grid;place-items:center;width:45px;height:45px;border-radius:13px;flex:none}.kpi-icon .ui-icon{width:22px;height:22px}.kpi-icon.blue{background:#edf5ff;color:#2672ce}.kpi-icon.green{background:#eaf8f3;color:#10936b}.kpi-icon.purple{background:#f2edff;color:#7051bd}.kpi-icon.red{background:#fff0f1;color:#d54c56}.analysis-kpis small,.analysis-kpis b,.analysis-kpis em{display:block}.analysis-kpis small{color:#7e90a4;font-size:9px}.analysis-kpis b{margin-top:4px;color:#193b5d;font-size:25px}.analysis-kpis em{margin-top:3px;color:#93a1b0;font-size:8px;font-style:normal}
.analysis-grid{display:grid;gap:13px;margin-top:13px}.analysis-grid.top{grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr)}.analysis-grid.bottom{grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr)}.analysis-grid.detail{grid-template-columns:1fr 1fr}.analysis-panel{margin:0}.chart-legend{display:flex;align-items:center;gap:12px;color:#708399;font-size:8px}.chart-legend span{display:flex;align-items:center;gap:5px}.chart-legend i{width:8px;height:8px;border-radius:3px}.chart-legend i.new{background:#4a91e7}.chart-legend i.done{background:#22ad7b}
.trend-chart{height:190px;display:flex;align-items:flex-end;gap:8px;border-bottom:1px solid #dce5ee;padding:14px 8px 0}.trend-column{height:100%;min-width:0;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end}.trend-bars{position:relative;height:130px;display:flex;align-items:flex-end;justify-content:center;gap:4px;width:100%}.trend-bars i{display:block;width:min(19px,34%);min-height:0;border-radius:6px 6px 2px 2px;transition:.25s}.trend-bars i.new{background:linear-gradient(180deg,#68aaf3,#3b83da)}.trend-bars i.done{background:linear-gradient(180deg,#53c99e,#1fa878)}.trend-value{position:absolute;top:0;color:#8596a8;font-size:7px}.trend-column>b{margin-top:8px;color:#4d637a;font-size:9px}.trend-column>small{margin-top:3px;color:#9aa7b4;font-size:7px}
.status-chart{display:flex;align-items:center;justify-content:center;gap:26px;min-height:190px}.donut{position:relative;width:142px;height:142px;border-radius:50%;display:grid;place-items:center}.donut:after{content:'';position:absolute;inset:23px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px #edf1f5}.donut>span{position:relative;z-index:2;text-align:center}.donut b,.donut small{display:block}.donut b{font-size:27px;color:#193b5d}.donut small{margin-top:3px;color:#8b9aab;font-size:8px}.status-legend{display:grid;gap:10px;min-width:115px}.status-legend>div{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:7px;color:#6e8196;font-size:9px}.status-legend i{width:9px;height:9px;border-radius:3px}.status-legend i.done{background:#18a879}.status-legend i.doing{background:#3d84df}.status-legend i.waiting{background:#a7b4c3}.status-legend i.late{background:#e2535d}.status-legend b{color:#294963;font-size:11px}
.dept-analysis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.dept-analysis article{border:1px solid #e1e9f1;border-radius:13px;background:#fbfdff;padding:13px}.dept-analysis-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.dept-analysis-title b,.dept-analysis-title small{display:block}.dept-analysis-title b{font-size:11px}.dept-analysis-title small{margin-top:5px;color:#8b9aab;font-size:8px;line-height:1.45}.dept-analysis-title strong{color:#216bc3;font-size:20px}.dept-bars{display:flex;align-items:center;gap:10px;margin-top:12px}.dept-bars>span{height:8px;border-radius:99px;background:#e9eff5;overflow:hidden;flex:1}.dept-bars>span i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#3f8de1,#60abea)}.dept-bars em{color:#788b9f;font-size:8px;font-style:normal;white-space:nowrap}
.workload-list{display:grid;gap:7px}.workload-list article{display:grid;grid-template-columns:24px 34px minmax(120px,1fr) minmax(110px,.75fr) auto;align-items:center;gap:9px;border-bottom:1px solid #edf1f5;padding:8px 2px}.workload-list article:last-child{border-bottom:0}.rank{display:grid;place-items:center;width:22px;height:22px;border-radius:7px;background:#eef3f8;color:#718398;font-size:8px;font-weight:900}.rank.top{background:#fff1d9;color:#a46c0b}.workload-list b,.workload-list small{display:block}.workload-list b{font-size:10px}.workload-list small{margin-top:3px;color:#8b9aab;font-size:8px}.workload-progress{display:flex;align-items:center;gap:7px}.workload-progress span{height:6px;border-radius:99px;background:#e9eff5;overflow:hidden;flex:1}.workload-progress i{display:block;height:100%;border-radius:99px;background:#458cdb}.workload-progress b{font-size:8px}.workload-list em{border-radius:999px;background:#fff0f1;color:#c94750;padding:4px 7px;font-size:7px;font-style:normal;white-space:nowrap}.workload-list em.ok{background:#eaf8f3;color:#0e8c65}
.insight-list{display:grid;gap:9px}.insight-list article{display:flex;align-items:flex-start;gap:10px;border:1px solid #e3eaf1;border-radius:12px;background:#fbfdff;padding:11px}.insight-list article>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#edf5ff;color:#2672cd;flex:none}.insight-list article>span .ui-icon{width:17px;height:17px}.insight-list b{font-size:10px}.insight-list p{margin:5px 0 0;color:#6f8296;font-size:8px;line-height:1.65}
.analysis-task-list{display:grid;gap:7px}.analysis-task-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;border-bottom:1px solid #edf1f5;padding:9px 1px}.analysis-task-item:last-child{border-bottom:0}.analysis-task-item>span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px}.analysis-task-item>span.done{background:#eaf8f3;color:#10936b}.analysis-task-item>span.risk{background:#fff0f1;color:#d44b55}.analysis-task-item>span .ui-icon{width:16px;height:16px}.analysis-task-item b,.analysis-task-item small{display:block}.analysis-task-item b{font-size:10px}.analysis-task-item small{margin-top:4px;color:#8b9aac;font-size:8px}.analysis-task-item em{color:#315d88;font-size:9px;font-style:normal;font-weight:800}
@media(max-width:1100px){.analysis-kpis{grid-template-columns:repeat(2,1fr)}.analysis-grid.top,.analysis-grid.bottom,.analysis-grid.detail{grid-template-columns:1fr}.dept-analysis{grid-template-columns:1fr}.analysis-toolbar{align-items:flex-start;flex-direction:column}.analysis-scope{flex-wrap:wrap}.workload-list article{grid-template-columns:24px 34px 1fr auto}.workload-progress{grid-column:3/-1}.workload-list em{grid-column:4}}
@media(max-width:650px){.analysis-kpis{grid-template-columns:1fr}.analysis-mode-switch{width:100%}.analysis-mode-switch button{flex:1}.period-nav{width:100%}.period-current{flex:1}.status-chart{flex-direction:column}.trend-chart{gap:3px}.trend-bars i{width:11px}.analysis-grid{margin-top:10px}}


/* V1.7.7 统一进度统计：不再采集工时 */
.status-stack{display:flex;align-items:flex-start;flex-direction:column;gap:5px}.kpi-icon.cyan{background:#e9f9fb;color:#158da0}.analysis-kpis{grid-template-columns:repeat(5,1fr)}.analysis-kpis article:nth-child(3) b{font-size:20px}.member-summary-stats{grid-template-columns:repeat(4,1fr)}.badge.blue{background:#edf5ff;color:#256bc5}
@media(max-width:1250px){.analysis-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.analysis-kpis{grid-template-columns:repeat(2,1fr)}.member-summary-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.analysis-kpis{grid-template-columns:1fr}}


/* ===== V1.4.4 负责人分组、我的任务、已发布任务编辑 ===== */
.scope-note{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.scope-note .view-switch{margin-left:auto}
.view-switch{display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid #dce7f2;border-radius:12px;background:#f5f8fc}
.view-switch button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:0 12px;border:0;border-radius:9px;background:transparent;color:#6d8096;font-size:10px;font-weight:700;cursor:pointer;transition:background .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}
.view-switch button:hover{color:#176ed1;background:#fff}
.view-switch button.active{background:#fff;color:#176ed1;box-shadow:0 5px 16px rgba(36,105,180,.12)}
.view-switch button:active{transform:scale(.98)}
.view-switch .ui-icon{width:15px;height:15px}
.owner-task-groups{display:grid;gap:18px}
.owner-task-group{overflow:hidden;border:1px solid #dbe6f1;border-radius:18px;background:#fff;box-shadow:0 10px 30px rgba(21,69,119,.055)}
.owner-group-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border-bottom:1px solid #e5edf5;background:linear-gradient(90deg,#f7faff,#fff)}
.owner-group-person{display:flex;align-items:center;gap:11px}
.owner-group-person .avatar{width:42px;height:42px;border-radius:13px}
.owner-group-person h3{margin:0;color:#173552;font-size:14px}
.owner-group-person p{margin:5px 0 0;color:#8292a4;font-size:9px}
.owner-group-kpis{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.owner-group-kpis span{min-width:76px;padding:7px 10px;border-radius:10px;background:#eef4fa;color:#78899b;font-size:8px;text-align:center}
.owner-group-kpis b{display:block;margin-bottom:2px;color:#173552;font-size:13px}
.owner-group-kpis .danger{background:#fff0f1;color:#b34a53}
.owner-group-kpis .danger b{color:#d64350}
.owner-task-group .tablewrap{border:0;border-radius:0;box-shadow:none}
.owner-task-group table thead{background:#fafcff}
.owner-task-group table tr:last-child td{border-bottom:0}
.icon-button.amber{color:#a76a00;border-color:#f0d49b;background:#fff9ec}
.icon-button.amber:hover{background:#ffefc8;border-color:#e7bd64}
.my-task-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:14px}
.my-task-stats article{display:flex;align-items:center;gap:11px;min-height:82px;padding:15px;border:1px solid #dde7f1;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(28,75,125,.045)}
.my-task-stats article>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;color:#1774d7;background:#eaf4ff}
.my-task-stats article:nth-child(3)>span{color:#7557c5;background:#f0ebff}
.my-task-stats article:nth-child(4)>span{color:#9a6b00;background:#fff5d9}
.my-task-stats article:nth-child(6)>span{color:#16865d;background:#e7f8f1}
.my-task-stats article.risk>span{color:#d64350;background:#ffebed}
.my-task-stats b{display:block;color:#173552;font-size:21px;line-height:1}
.my-task-stats small{display:block;margin-top:6px;color:#8494a7;font-size:9px}
.my-task-note{margin-bottom:14px}
.my-task-toolbar{justify-content:space-between}
.my-task-toolbar select{margin-left:auto;min-width:150px}
@media (max-width:1400px){.my-task-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:900px){
  .owner-group-head{align-items:flex-start;flex-direction:column}
  .owner-group-kpis{justify-content:flex-start}
  .scope-note .view-switch{margin-left:0;width:100%}
  .scope-note .view-switch button{flex:1}
  .my-task-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .my-task-toolbar{align-items:stretch;flex-direction:column}
  .my-task-toolbar .view-switch,.my-task-toolbar select{width:100%;margin-left:0}
  .my-task-toolbar .view-switch button{flex:1}
}


/* ===== V1.4.5 临时工作与日工作进度 ===== */
.rotate-180{transform:rotate(180deg)}
.temp-create-btn{background:linear-gradient(135deg,#1671dc,#0d5fc2)}
.temp-summary,.daily-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}
.temp-summary article,.daily-overview article{display:flex;align-items:center;gap:12px;min-height:88px;padding:16px;border:1px solid #dce7f2;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(28,75,125,.045)}
.temp-summary article>span,.daily-overview article>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;color:#176ed1;background:#eaf4ff;flex:none}
.temp-summary article:nth-child(1)>span,.daily-overview article:nth-child(6)>span{color:#b77800;background:#fff2cf}
.temp-summary article:nth-child(3)>span,.daily-overview article:nth-child(5)>span{color:#16865d;background:#e7f8f1}
.temp-summary article.risk>span,.daily-overview article.warning>span{color:#d64350;background:#ffebed}
.temp-summary b,.daily-overview b{display:block;color:#173552;font-size:23px;line-height:1}
.temp-summary small,.daily-overview small{display:block;margin-top:6px;color:#8494a7;font-size:9px}
.temp-tip{margin-bottom:14px;color:#6f7f92}.temp-tip>.ui-icon{color:#e2a500}
.daily-overview{grid-template-columns:repeat(6,minmax(0,1fr))}
.daily-date-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.daily-date-picker{display:flex;align-items:center;gap:8px;height:40px;padding:0 12px;border:1px solid #dce6f0;border-radius:10px;background:#fff;color:#176ed1}
.daily-date-picker .ui-icon{width:17px;height:17px}.daily-date-picker input{border:0;outline:0;background:transparent;color:#294862;font-size:10px}
.daily-scope{margin-bottom:15px}.daily-scope>span{color:#77899c}
.daily-scope select{margin-left:auto;min-width:150px;height:36px;border:1px solid #dce6f0;border-radius:9px;background:#fff;padding:0 10px;color:#425b72;font-size:10px}
.daily-departments{display:grid;gap:18px}
.daily-dept{overflow:hidden;border:1px solid #dbe6f1;border-radius:18px;background:#fff;box-shadow:0 10px 30px rgba(21,69,119,.05)}
.daily-dept-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 19px;border-bottom:1px solid #e6edf5;background:linear-gradient(90deg,#f5f9ff,#fff)}
.daily-dept-head h3{margin:0;color:#173552;font-size:15px}.daily-dept-head p{margin:5px 0 0;color:#8292a4;font-size:9px}
.daily-dept-kpis{display:flex;gap:8px}.daily-dept-kpis span{min-width:98px;padding:8px 10px;border-radius:10px;background:#edf4fb;color:#74879a;font-size:8px;text-align:center}
.daily-dept-kpis b{display:block;margin-bottom:2px;color:#176ed1;font-size:14px}
.daily-person-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;padding:14px}
.daily-person{min-width:0;border:1px solid #dfe8f1;border-radius:15px;background:#fff;padding:15px;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.daily-person.has-update{border-color:#cde2f7}.daily-person.has-update:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(25,89,155,.08)}
.daily-person.no-update{background:#fafbfd}
.daily-person-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.daily-person-name{display:flex;align-items:center;gap:10px;min-width:0}.daily-person-name .avatar{width:40px;height:40px;border-radius:12px}
.daily-person-name h3{margin:0;color:#173552;font-size:12px}.daily-person-name p{margin:4px 0 0;color:#8a99a8;font-size:8px}
.daily-state{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;padding:6px 9px;border-radius:999px;background:#e7f8f1;color:#16865d;font-size:8px;font-weight:700}
.daily-state.muted{background:#eef2f6;color:#8897a6}.daily-state .ui-icon{width:13px;height:13px}
.daily-person-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:12px 0}
.daily-person-kpis span{padding:8px 5px;border-radius:9px;background:#f3f7fb;color:#8696a6;font-size:7px;text-align:center}
.daily-person-kpis b{display:block;margin-bottom:3px;color:#294862;font-size:12px}
.daily-entry-list{display:grid;gap:6px}.daily-entry{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;border-radius:10px;background:#f8fafc}
.daily-entry-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#e9f3ff;color:#176ed1}
.daily-entry-icon.new{background:#fff2cf;color:#b77800}.daily-entry-icon.done{background:#e7f8f1;color:#16865d}.daily-entry-icon .ui-icon{width:14px;height:14px}
.daily-entry b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#294862;font-size:9px}
.daily-entry small{display:block;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#8797a8;font-size:7px}
.daily-source{padding:4px 6px;border-radius:7px;background:#edf3f8;color:#72869a;font-size:7px;white-space:nowrap}
.daily-source.temp{background:#fff2cf;color:#a56c00}
.daily-empty{display:flex;align-items:center;justify-content:center;gap:7px;min-height:66px;color:#9aa7b4;font-size:8px}.daily-empty .ui-icon{width:16px;height:16px}
@media (max-width:1500px){.daily-overview{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:1100px){.daily-person-grid{grid-template-columns:1fr}.temp-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:800px){
  .daily-date-actions{width:100%}.daily-date-actions .btn{flex:1}.daily-date-picker{flex:2}
  .daily-overview,.temp-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .daily-dept-head{align-items:flex-start;flex-direction:column}.daily-dept-kpis{width:100%}.daily-dept-kpis span{flex:1}
  .daily-person-kpis{grid-template-columns:repeat(2,1fr)}.daily-scope select{width:100%;margin-left:0}
}


/* ===== V1.4.6 全局可读性、文字日报与一键部门日报 ===== */
.shell{grid-template-columns:270px minmax(0,1fr)}
.brand{padding:25px 22px}.brand img{width:205px}.brand small{font-size:12px;margin-top:7px}
.nav{padding:16px 13px}.nav button{height:50px;border-radius:12px;padding:0 15px;font-size:16px;margin-bottom:6px}
.nav button i{width:31px}.nav button i .ui-icon{width:20px;height:20px}.nav button em .ui-icon{width:15px;height:15px}
.side-status{padding:13px}.side-status b{font-size:12px}.side-status small{font-size:10px;line-height:1.5}
.usercard b{font-size:13px}.usercard small{font-size:11px}
.topbar{min-height:78px;padding:0 30px}.topbar h1{font-size:23px}.topbar p{font-size:13px}
.sync{font-size:12px;padding:9px 13px}.content{padding:28px 30px 48px}
.pagehead{margin-bottom:22px}.pagehead h2{font-size:30px}.pagehead p{font-size:14px;line-height:1.65}
.btn{min-height:44px;padding:0 17px;font-size:14px}.icon-button{width:38px;height:38px}
.scope-note{padding:13px 15px;font-size:13px;line-height:1.65}
.panel{padding:20px}.panel h3{font-size:17px}.panel-sub{font-size:12px;line-height:1.6}
.stat label{font-size:13px}.stat strong{font-size:32px}.stat small{font-size:11px}
.toolbar input,.toolbar select{height:45px;font-size:14px}.toolbar-search>.ui-icon{width:18px;height:18px}
th{font-size:12px;padding:14px}td{font-size:13px;padding:14px}.badge{font-size:11px;padding:6px 10px}
.task-title-cell b{font-size:13px;line-height:1.55}.task-title-cell .muted{font-size:11px;line-height:1.5}
.owner-cell{font-size:13px}.owner-cell small{font-size:10px}.date-cell{font-size:12px}
.progress-row{font-size:11px}.status-with-icon{font-size:11px;padding:7px 10px}
.department-head h3{font-size:16px}.department-head p{font-size:11px}.dept-count{font-size:11px}
.person h3{font-size:15px}.person p{font-size:11px}.person-role{font-size:10px}
.person-kpis b{font-size:17px}.person-kpis small{font-size:10px}.person-progress .progress-row{font-size:11px}
.owner-group-person h3{font-size:16px}.owner-group-person p{font-size:11px}.owner-group-kpis span{font-size:10px}.owner-group-kpis b{font-size:15px}
.modalhead h2{font-size:23px}.modalhead p{font-size:13px;line-height:1.6}.field span{font-size:13px}.field input,.field select,.field textarea{font-size:14px}
.empty b{font-size:16px}.empty span{font-size:13px}

/* 日工作进度 */
.daily-overview article{min-height:98px;padding:18px}.daily-overview b{font-size:27px}.daily-overview small{font-size:12px}
.daily-date-picker{height:44px}.daily-date-picker input{font-size:13px}
.daily-scope select{height:40px;font-size:13px}
.daily-dept-head h3{font-size:19px}.daily-dept-head p{font-size:12px}
.daily-dept-kpis span{min-width:118px;font-size:11px}.daily-dept-kpis b{font-size:18px}
.daily-person-grid{grid-template-columns:1fr;gap:15px;padding:17px}
.daily-person{padding:19px;border-radius:17px}
.daily-person-name .avatar{width:46px;height:46px;font-size:13px}
.daily-person-name h3{font-size:17px}.daily-person-name p{font-size:12px}
.daily-state{padding:7px 11px;font-size:11px}
.daily-person-kpis{grid-template-columns:repeat(4,minmax(120px,1fr));gap:9px;margin:15px 0}
.daily-person-kpis span{padding:11px 8px;font-size:11px}.daily-person-kpis b{font-size:17px}
.daily-narrative{border:1px solid #dfeaf5;border-radius:13px;background:linear-gradient(135deg,#f7fbff,#fff);padding:15px 17px}
.daily-narrative-title{display:flex;align-items:center;gap:8px;color:#246bc2;margin-bottom:10px}
.daily-narrative-title .ui-icon{width:18px;height:18px}.daily-narrative-title b{font-size:14px}
.daily-narrative ol{margin:0;padding-left:24px}.daily-narrative li{padding:4px 0;color:#304c66;font-size:14px;line-height:1.85}
.daily-no-summary{margin:0;color:#8a99aa;font-size:14px;line-height:1.8}

/* 部门日报模块与弹窗 */
.daily-report-module{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:15px;margin-bottom:17px;padding:18px;border:1px solid #cfe1f4;border-radius:17px;background:linear-gradient(135deg,#edf6ff,#fff);box-shadow:0 8px 25px rgba(31,101,176,.06)}
.daily-report-module-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#176ed1;color:#fff}
.daily-report-module-icon .ui-icon{width:23px;height:23px}.daily-report-module h3{margin:0;font-size:17px}.daily-report-module p{margin:6px 0 0;color:#74869b;font-size:12px;line-height:1.65}
.daily-report-preview{padding:0 21px}.daily-report-meta{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.daily-report-meta span{display:inline-flex;align-items:center;gap:6px;border-radius:999px;background:#edf5ff;color:#286ec8;padding:7px 11px;font-size:12px}
.daily-report-meta .ui-icon{width:15px;height:15px}
.daily-report-text{width:100%;min-height:480px;border:1px solid #d7e3ee;border-radius:13px;background:#fbfdff;padding:17px;color:#294862;font:14px/1.9 "Microsoft YaHei","PingFang SC",sans-serif;resize:vertical;outline:none}
.daily-report-text:focus{border-color:#6da6e8;box-shadow:0 0 0 4px rgba(31,111,207,.08)}

@media(max-width:1100px){
  .shell{grid-template-columns:235px minmax(0,1fr)}
  .daily-overview{grid-template-columns:repeat(2,minmax(0,1fr))}
  .daily-report-module{grid-template-columns:auto minmax(0,1fr)}
  .daily-report-module .btn{grid-column:1/-1;width:100%}
}
@media(max-width:760px){
  .shell{display:block}.sidebar{position:relative;height:auto}.content{padding:20px 14px 35px}
  .daily-person-kpis{grid-template-columns:repeat(2,1fr)}
  .daily-report-module{grid-template-columns:1fr;text-align:center}.daily-report-module-icon{margin:auto}
  .pagehead h2{font-size:25px}.pagehead p{font-size:13px}
}


/* ===== V1.4.7 派发记录过滤与浏览器密码保存 ===== */
.remember-password{
  display:flex!important;align-items:flex-start!important;gap:10px!important;
  padding:12px 13px;border:1px solid #dce7f2;border-radius:11px;
  background:#f7faff;color:#39556f;cursor:pointer;
}
.remember-password input{
  width:17px;height:17px;margin-top:2px;accent-color:#176ed1;cursor:pointer;flex:none;
}
.remember-password>span{display:block}
.remember-password b{display:block;font-size:13px;line-height:1.35}
.remember-password small{display:block;margin-top:4px;color:#7e8fa1;font-size:11px;line-height:1.5}


/* ===== V1.4.9 职位层级、截止日期权限、分管领导驾驶舱 ===== */
.deadline-field.locked{padding:10px 12px;border:1px solid #f0d9a5;border-radius:11px;background:#fffaf0}
.deadline-field>span em{display:inline-flex;align-items:center;gap:5px;margin-left:7px;color:#a87314;font-size:11px;font-style:normal;font-weight:500}
.deadline-field>span em .ui-icon{width:13px;height:13px}
.deadline-field.locked input:disabled{background:#f3f5f7;color:#7f8c99;cursor:not-allowed}

.executive-account-group{border-color:#d9d2f5;background:linear-gradient(135deg,#faf8ff,#fff)}
.executive-account-group .department-head>div>span{background:#eee9ff;color:#7255bf}
.executive-avatar{background:linear-gradient(135deg,#6c50b9,#9375e2)!important;color:#fff!important}

.executive-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:18px;padding:25px 28px;border-radius:20px;background:linear-gradient(135deg,#073f7d,#0e64b5 58%,#1383c8);color:#fff;box-shadow:0 18px 42px rgba(6,65,126,.2)}
.executive-hero>div:first-child>span{display:inline-flex;align-items:center;gap:8px;color:#9ed7ff;font-size:11px;font-weight:800;letter-spacing:1.5px}
.executive-hero>div:first-child>span .ui-icon{width:17px;height:17px}
.executive-hero h2{margin:10px 0 6px;font-size:26px}.executive-hero p{margin:0;color:rgba(255,255,255,.75);font-size:13px}
.executive-period{background:rgba(255,255,255,.11);border-color:rgba(255,255,255,.18)}
.executive-period .period-current b,.executive-period .period-current span{color:#fff}
.executive-period .icon-button{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.16);color:#fff}

.executive-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px;margin-bottom:17px}
.executive-kpis article{display:flex;align-items:center;gap:13px;min-height:105px;padding:18px;border:1px solid #dce7f2;border-radius:17px;background:#fff;box-shadow:0 9px 25px rgba(23,69,115,.055)}
.executive-kpis article>span{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#eaf4ff;color:#176ed1;flex:none}
.executive-kpis article:nth-child(2)>span{background:#e7f8f1;color:#16865d}.executive-kpis article:nth-child(3)>span{background:#eef0ff;color:#6552bc}.executive-kpis article:nth-child(5)>span{background:#e7f8fb;color:#18849b}
.executive-kpis article.danger>span{background:#ffeaec;color:#d64350}
.executive-kpis small{display:block;color:#7e8fa1;font-size:11px}.executive-kpis b{display:block;margin:4px 0;color:#173552;font-size:25px}.executive-kpis em{color:#8998a8;font-size:10px;font-style:normal}

.executive-grid{display:grid;gap:17px;margin-bottom:17px}.executive-grid.top{grid-template-columns:minmax(0,1.65fr) minmax(330px,.65fr)}.executive-grid.bottom{grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr)}
.executive-panel{padding:21px}.executive-panel .section-head h3{font-size:17px}
.executive-legend{display:flex;gap:12px;color:#738599;font-size:10px}.executive-legend span{display:flex;align-items:center;gap:5px}.executive-legend i{width:8px;height:8px;border-radius:3px}.executive-legend i.new{background:#3a82dc}.executive-legend i.done{background:#18a879}.executive-legend i.risk{background:#e2535d}

.executive-trend{display:grid;grid-template-columns:repeat(7,minmax(42px,1fr));align-items:end;gap:8px;min-height:230px;padding:18px 5px 0}
.executive-trend-column{text-align:center;min-width:0}.executive-trend-bars{display:flex;align-items:flex-end;justify-content:center;gap:4px;height:160px;border-bottom:1px solid #dfe8f1}
.executive-trend-bars i{width:12px;min-height:0;border-radius:4px 4px 0 0}.executive-trend-bars .new{background:#3a82dc}.executive-trend-bars .done{background:#18a879}.executive-trend-bars .risk{background:#e2535d}
.executive-trend-column b{display:block;margin-top:8px;color:#405b73;font-size:10px}.executive-trend-column small{display:block;margin-top:3px;color:#94a0ad;font-size:8px}.executive-trend-column em{display:block;margin-top:4px;color:#6f8396;font-size:8px;font-style:normal}

.executive-status{display:flex;align-items:center;justify-content:center;gap:25px;min-height:250px}.executive-donut{width:156px;height:156px}
.executive-depts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.executive-depts article{padding:16px;border:1px solid #dfe8f1;border-radius:15px;background:#fbfdff}
.executive-dept-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.executive-dept-title>div{display:flex;align-items:center;gap:9px}.executive-dept-title>div>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#eaf4ff;color:#176ed1}
.executive-dept-title b{display:block;color:#193853;font-size:13px}.executive-dept-title small{display:block;margin-top:4px;color:#8998a8;font-size:9px}.executive-dept-title strong{font-size:20px;color:#176ed1}
.executive-dept-volume{display:flex;align-items:center;gap:10px;margin:14px 0}.executive-dept-volume>span{height:8px;flex:1;border-radius:999px;background:#eaf0f6;overflow:hidden}.executive-dept-volume i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#3c86dc,#52b4e3)}.executive-dept-volume em{font-size:9px;color:#788a9c;font-style:normal}
.executive-dept-kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.executive-dept-kpis span{padding:8px;border-radius:9px;background:#f1f5f9;color:#7c8d9e;font-size:8px;text-align:center}.executive-dept-kpis b{display:block;margin-bottom:3px;color:#294862;font-size:12px}.executive-dept-kpis .red b{color:#d64350}

.executive-people{display:grid;gap:7px}.executive-people article{display:grid;grid-template-columns:30px 38px minmax(0,1fr) 48px 68px;align-items:center;gap:9px;padding:9px 10px;border-radius:11px;background:#f7f9fc}
.executive-people article>div>b{font-size:11px;color:#294862}.executive-people article>div>small{display:block;margin:3px 0 6px;color:#8595a5;font-size:8px}.executive-people article>div>span{display:block;height:5px;border-radius:999px;background:#e5ebf2;overflow:hidden}.executive-people article>div>span i{display:block;height:100%;background:#3b83dc;border-radius:999px}
.executive-people article>strong{text-align:right;color:#275f9b;font-size:11px}.executive-people article>em{padding:5px;border-radius:7px;background:#ffebed;color:#c83c48;font-size:8px;font-style:normal;text-align:center}.executive-people article>em.ok{background:#e8f7f1;color:#16865d}

.executive-insights{display:grid;gap:9px}.executive-insights article{display:grid;grid-template-columns:27px 1fr;gap:10px;padding:11px;border:1px solid #e1e8ef;border-radius:11px;background:#fafcff}.executive-insights article>span{display:grid;place-items:center;width:27px;height:27px;border-radius:9px;background:#eaf4ff;color:#176ed1;font-size:10px;font-weight:800}.executive-insights p{margin:0;color:#50677d;font-size:11px;line-height:1.7}

.executive-risk-list{display:grid;gap:8px}.executive-risk-list article{display:grid;grid-template-columns:58px minmax(0,1fr) 52px;align-items:center;gap:12px;padding:12px;border-bottom:1px solid #edf1f5}.executive-risk-list article:last-child{border-bottom:0}.risk-level{padding:6px;border-radius:8px;background:#ffebed;color:#ca3c48;font-size:9px;text-align:center}.executive-risk-list b{font-size:12px;color:#294862}.executive-risk-list small{display:block;margin-top:5px;color:#8494a6;font-size:9px}.executive-risk-list strong{text-align:right;color:#d64350;font-size:13px}

@media(max-width:1450px){.executive-kpis{grid-template-columns:repeat(3,1fr)}.executive-grid.top,.executive-grid.bottom{grid-template-columns:1fr}.executive-depts{grid-template-columns:1fr}}
@media(max-width:850px){.executive-hero{align-items:flex-start;flex-direction:column}.executive-kpis{grid-template-columns:repeat(2,1fr)}.executive-trend{overflow-x:auto;grid-template-columns:repeat(7,72px)}.executive-status{flex-direction:column}.executive-people article{grid-template-columns:28px 36px minmax(0,1fr) 45px}.executive-people article>em{display:none}}


/* ===== V1.5.0 分管领导排版、全员任务进度与日工作进度 ===== */
.executive-hero{
  min-height:112px;
  padding:20px 24px;
  margin-bottom:14px;
  border-radius:17px;
}
.executive-hero h2{font-size:23px;margin:8px 0 5px}
.executive-hero p{font-size:12px}
.executive-kpis{gap:11px;margin-bottom:14px}
.executive-kpis article{min-height:90px;padding:14px 15px;border-radius:15px}
.executive-kpis article>span{width:40px;height:40px;border-radius:12px}
.executive-kpis b{font-size:22px}
.executive-grid{gap:14px;margin-bottom:14px}
.executive-grid.top{grid-template-columns:minmax(0,1.5fr) minmax(320px,.5fr)}
.executive-panel{padding:18px}
.executive-trend{min-height:180px;padding-top:10px}
.executive-trend-bars{height:120px}
.executive-status{min-height:205px;gap:20px}
.executive-donut{width:138px;height:138px}
.executive-depts{gap:11px}
.executive-depts article{padding:14px}
.executive-person-panel{margin-bottom:14px}
.executive-person-table{
  overflow:auto;
  border:1px solid #e0e8f0;
  border-radius:13px;
}
.executive-person-table-head,
.executive-person-table article{
  display:grid;
  grid-template-columns:minmax(150px,1.3fr) minmax(140px,1.15fr) 78px 78px 72px minmax(150px,1.25fr) 100px 82px;
  align-items:center;
  gap:10px;
  
}
.executive-person-table-head{
  padding:11px 13px;
  background:#f2f6fa;
  color:#708397;
  font-size:10px;
  font-weight:700;
}
.executive-person-table article{
  padding:11px 13px;
  border-top:1px solid #edf1f5;
  color:#425d74;
  font-size:10px;
  background:#fff;
}
.executive-person-table article:hover{background:#f8fbff}
.executive-person-identity{display:flex;align-items:center;gap:9px}
.executive-person-identity b{color:#244660;font-size:11px}
.executive-person-table article>span small{display:block;margin-top:3px;color:#8a99a8;font-size:8px}
.executive-person-table article>strong{text-align:center;color:#284a66;font-size:12px}
.executive-person-progress{display:flex;align-items:center;gap:8px}
.executive-person-progress>span{height:7px;flex:1;border-radius:999px;background:#e7edf3;overflow:hidden}
.executive-person-progress i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#347fd7,#51aee2)}
.executive-person-progress b{width:35px;color:#27619d;font-size:10px}
.executive-person-table em{
  padding:6px 7px;
  border-radius:8px;
  font-size:8px;
  font-style:normal;
  text-align:center;
}
.executive-person-table em.ok{background:#e8f7f1;color:#16865d}
.executive-person-table em.danger{background:#ffebed;color:#c83c48}

.executive-grid.bottom{grid-template-columns:minmax(0,1.4fr) minmax(340px,.6fr)}
.executive-daily-list{
  max-height:520px;
  overflow:auto;
  display:grid;
  gap:8px;
  padding-right:3px;
}
.executive-daily-list article{
  display:grid;
  grid-template-columns:180px minmax(0,1fr) 92px;
  align-items:start;
  gap:12px;
  padding:12px;
  border:1px solid #e3eaf1;
  border-radius:12px;
  background:#fbfdff;
}
.executive-daily-list article.quiet{background:#fafafa}
.executive-daily-person{display:flex;align-items:center;gap:9px}
.executive-daily-person b{display:block;color:#284862;font-size:11px}
.executive-daily-person small{display:block;margin-top:4px;color:#8796a6;font-size:8px}
.executive-daily-text p{
  margin:0 0 5px;
  color:#425d73;
  font-size:11px;
  line-height:1.65;
}
.executive-daily-text p:last-child{margin-bottom:0}
.executive-daily-list .daily-state{justify-self:end;margin-top:1px}
.text-link{
  display:inline-flex;
  align-items:center;
  gap:5px;
  border:0;
  background:transparent;
  color:#176ed1;
  font-size:10px;
  cursor:pointer;
}
.text-link .ui-icon{width:14px;height:14px}

@media(max-width:1450px){
  .executive-grid.bottom{grid-template-columns:1fr}
}
@media(max-width:1000px){
  .executive-daily-list article{grid-template-columns:1fr}
  .executive-daily-list .daily-state{justify-self:start}
}

/* =====================================================================
   V1.5.1 视觉与显示稳定性重构
   仅覆盖布局、字号、响应式和显示稳定性，不改变业务功能与权限逻辑
   ===================================================================== */
:root{
  --ui-sidebar:264px;
  --ui-radius-xl:20px;
  --ui-radius-lg:16px;
  --ui-radius-md:12px;
  --ui-shadow:0 10px 30px rgba(22,64,108,.07);
  --ui-shadow-hover:0 14px 34px rgba(22,64,108,.11);
  --ui-content-max:1920px;
  --ui-text:#173552;
  --ui-sub:#6f8296;
}
html{font-size:16px;scroll-behavior:smooth}
body{overflow-x:hidden;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,input,select,textarea{font-family:"Microsoft YaHei","PingFang SC","Noto Sans SC",Arial,sans-serif}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(43,125,221,.2);outline-offset:2px}
.ui-icon{display:inline-block;flex:none;vertical-align:middle}
.flip-x{transform:scaleX(-1)}
.rotate-180{transform:rotate(180deg)}

/* 主框架 */
.shell{grid-template-columns:var(--ui-sidebar) minmax(0,1fr);background:#f2f6fa}
.sidebar{z-index:30;min-width:0;overflow:hidden;box-shadow:8px 0 28px rgba(3,37,78,.08)}
.brand{flex:none;padding:22px 20px 18px}
.brand img{display:block;width:min(205px,100%);height:auto}
.brand small{font-size:11px;line-height:1.5;margin-top:8px}
.nav{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:14px 12px 10px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}
.nav::-webkit-scrollbar{width:5px}.nav::-webkit-scrollbar-thumb{border-radius:999px;background:rgba(255,255,255,.18)}
.nav button{position:relative;display:flex;align-items:center;gap:11px;width:100%;height:48px;margin:0 0 5px;padding:0 14px;border-radius:12px;font-size:15px;font-weight:600;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:transform .16s ease,background .16s ease,color .16s ease}
.nav button:hover{transform:translateX(2px)}
.nav button.active:before{content:"";position:absolute;left:6px;top:13px;bottom:13px;width:3px;border-radius:999px;background:#ffd143}
.nav button i{display:grid;place-items:center;width:22px;min-width:22px;height:22px}
.nav button i .ui-icon{width:19px;height:19px}
.nav button em{display:grid;place-items:center;margin-left:auto;font-style:normal;opacity:.75}
.userbox{flex:none;padding:12px 13px 14px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.08))}
.side-status{margin:0 0 10px;padding:11px 12px;border-radius:13px}
.side-status b{font-size:12px}.side-status small{font-size:10px;line-height:1.5}
.usercard{min-height:62px;padding:10px 11px;border:1px solid rgba(255,255,255,.08)}
.usercard .avatar{width:39px;height:39px;font-size:12px}.usercard b{font-size:13px}.usercard small{font-size:10px}
.main{width:100%;min-width:0}
.topbar{min-height:72px;padding:10px clamp(18px,2vw,34px);gap:12px}
.topbar-title{min-width:0}.topbar h1{font-size:21px;line-height:1.25}.topbar p{font-size:11px;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sync{flex:none;min-height:38px;padding:8px 12px;font-size:11px;white-space:nowrap}
.content{width:100%;max-width:var(--ui-content-max);margin:0 auto;padding:26px clamp(18px,2vw,34px) 48px}
.page-transition{min-width:0}

/* 标题、按钮、通用卡片 */
.pagehead{align-items:flex-start;margin-bottom:20px}
.pagehead>div:first-child{min-width:0;flex:1}.pagehead h2{font-size:28px;line-height:1.25;letter-spacing:-.02em}.pagehead p{max-width:980px;font-size:13px;line-height:1.65}
.actions{align-items:center;justify-content:flex-end;flex:none}
.btn{min-height:42px;padding:0 15px;border-radius:11px;font-size:13px;line-height:1;white-space:nowrap;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}
.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}
.btn .ui-icon{width:17px;height:17px}
.icon-button{display:inline-grid;place-items:center;width:38px;height:38px;min-width:38px;border-radius:11px}.icon-button .ui-icon{width:17px;height:17px}
.panel,.stat,.person,.owner-task-group,.department-group,.daily-dept,.daily-person,.system-account-group{border-color:#dce6ef;box-shadow:var(--ui-shadow)}
.panel{border-radius:var(--ui-radius-lg);padding:19px}.panel h3{font-size:16px;line-height:1.35}.panel-sub{font-size:11px;line-height:1.6;margin-top:5px}
.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;min-width:0}.section-head>div:first-child{min-width:0}
.scope-note{min-height:48px;padding:12px 15px;border-radius:12px;font-size:12px;line-height:1.6}
.stats{gap:13px}.stat{min-width:0;padding:18px;border-radius:16px}.stat label{font-size:11px}.stat strong{font-size:29px;line-height:1.1;margin-top:13px}.stat small{font-size:10px;line-height:1.5}
.grid2{gap:15px}

/* 工具栏 */
.toolbar{align-items:center;gap:9px;margin-bottom:14px}
.toolbar-search{display:flex;align-items:center;gap:9px;min-width:300px;flex:1;height:44px;padding:0 13px;border:1px solid #d6e1ec;border-radius:12px;background:#fff;transition:border-color .15s ease,box-shadow .15s ease}
.toolbar-search:focus-within{border-color:#6ca6e8;box-shadow:0 0 0 4px rgba(42,121,217,.08)}
.toolbar-search>.ui-icon{width:18px;height:18px;color:#8296aa}
.toolbar-search input{min-width:0!important;height:auto!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;font-size:13px!important}
.toolbar>select,.toolbar>input{height:44px;min-width:140px;padding:0 36px 0 12px;font-size:13px}
.view-switch{flex:none;min-height:40px}.view-switch button{min-height:34px;padding:0 13px;font-size:11px}

/* 表格与任务台账 */
.tablewrap{max-width:100%;overflow:auto;border-radius:14px;box-shadow:none;scrollbar-width:thin;scrollbar-color:#b7c6d6 #edf2f7}
.tablewrap::-webkit-scrollbar{height:9px;width:9px}.tablewrap::-webkit-scrollbar-thumb{border:2px solid #edf2f7;border-radius:999px;background:#aebfd0}
table{min-width:0;table-layout:auto}
thead{position:sticky;top:0;z-index:2}
th{padding:13px 14px;font-size:11px;line-height:1.3;white-space:nowrap}
td{padding:13px 14px;font-size:12px;line-height:1.55;vertical-align:middle}
tbody tr{transition:background .14s ease}tbody tr:hover{background:#f7fbff}
.task-title-cell{display:grid;grid-template-columns:38px minmax(250px,1fr);align-items:start;gap:10px;min-width:330px;max-width:560px}
.task-type-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;flex:none}
.task-title-cell b{display:block;color:#1e405e;font-size:12px;line-height:1.6;white-space:normal;overflow-wrap:anywhere;word-break:break-word}
.task-title-cell .muted{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:3px;font-size:10px;line-height:1.45}
.task-relation{margin-left:0}
.owner-cell{display:flex;align-items:center;gap:9px;min-width:135px;font-size:12px}.owner-cell>div{min-width:0}.owner-cell small{display:block;margin-top:3px;font-size:9px;line-height:1.45;white-space:normal;overflow-wrap:anywhere}
.date-cell{min-width:105px;font-size:11px;white-space:nowrap}.progress{width:150px}.progress-row{font-size:10px}.bar{height:7px}
.status-stack{display:grid;justify-items:start;gap:5px;min-width:82px}.status-with-icon{font-size:10px}
.row-actions{display:flex;align-items:center;gap:6px;min-width:max-content;white-space:nowrap}
.owner-task-groups{gap:16px}.owner-task-group{overflow:hidden;border-radius:16px}.owner-group-head{padding:14px 16px}.owner-group-person h3{font-size:15px}.owner-group-person p{font-size:10px}.owner-group-kpis{gap:7px}.owner-group-kpis span{min-width:74px;padding:7px 9px;font-size:9px}.owner-group-kpis b{font-size:14px}

/* 人员进度 */
.department-groups{display:grid;gap:17px}.department-group{padding:16px;border-radius:17px;background:#fff}
.department-head{align-items:center}.department-head h3{font-size:17px}.department-head p{font-size:11px}.dept-count{min-width:34px;height:30px;font-size:11px}
.people{grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:13px}
.person{min-width:0;padding:16px;border-radius:15px}.person-top{align-items:flex-start}.person h3{font-size:15px}.person p{font-size:10px;line-height:1.5}.person-role{font-size:9px}.person-meta{gap:5px}.person-kpis{gap:7px}.person-kpis b{font-size:16px}.person-kpis small{font-size:9px}.person-progress{margin-top:12px}.person-actions{flex-wrap:wrap}
.system-account{gap:11px}.system-account>div{min-width:0}.system-account b{font-size:13px}.system-account small{white-space:normal;overflow-wrap:anywhere}

/* 日工作进度 */
.daily-overview{gap:11px}.daily-overview article,.temp-summary article{min-width:0;min-height:94px;padding:15px;border-radius:15px}.daily-overview b,.temp-summary b{font-size:25px}.daily-overview small,.temp-summary small{font-size:10px}
.daily-date-actions{justify-content:flex-end}.daily-date-picker{min-width:150px;height:42px}.daily-date-picker input{width:118px;font-size:12px}
.daily-scope{align-items:center}.daily-scope select{min-width:155px}
.daily-report-module{grid-template-columns:auto minmax(0,1fr) auto;gap:14px;padding:16px;border-radius:15px}.daily-report-module h3{font-size:16px}.daily-report-module p{font-size:11px}
.daily-dept{border-radius:16px}.daily-dept-head{padding:15px 17px}.daily-dept-head h3{font-size:17px}.daily-dept-head p{font-size:10px}.daily-dept-kpis span{min-width:104px;font-size:9px}.daily-dept-kpis b{font-size:16px}
.daily-person-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:13px}
.daily-person{min-width:0;padding:16px;border-radius:14px}.daily-person-head{align-items:flex-start}.daily-person-name{min-width:0}.daily-person-name>div{min-width:0}.daily-person-name h3{font-size:15px}.daily-person-name p{font-size:10px;white-space:normal}.daily-state{font-size:9px}
.daily-person-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:12px 0}.daily-person-kpis span{min-width:0;padding:8px 4px;font-size:8px}.daily-person-kpis b{font-size:14px}
.daily-narrative{padding:12px 14px}.daily-narrative-title b{font-size:12px}.daily-narrative ol{padding-left:20px}.daily-narrative li,.daily-no-summary{font-size:12px;line-height:1.75;overflow-wrap:anywhere}
.daily-report-text{min-height:420px;font-size:13px;line-height:1.8}

/* 周月分析通用 */
.analysis-toolbar{gap:12px}.analysis-mode-switch button{font-size:11px}.period-current{min-width:190px}.period-current b{font-size:12px}.period-current span{font-size:9px}
.analysis-kpis{gap:11px}.analysis-kpis article{min-width:0;padding:15px;border-radius:15px}.analysis-kpis b{font-size:24px}.analysis-kpis small{font-size:10px}
.analysis-grid{gap:13px}.trend-chart{min-width:0}.trend-column b{font-size:10px}.trend-column small,.trend-column em{font-size:8px}
.dept-analysis{gap:10px}.dept-analysis article{min-width:0}.workload-list article{gap:9px}.workload-list b{font-size:11px}.workload-list small{font-size:8px}
.analysis-task-list article{gap:10px}.analysis-task-list b{font-size:11px;white-space:normal;overflow-wrap:anywhere}.analysis-task-list small{font-size:9px;line-height:1.5}

/* 分管领导驾驶舱 */
.executive-hero{min-height:108px;padding:20px 22px;border-radius:17px}.executive-hero>div:first-child{min-width:0}.executive-hero h2{font-size:23px;line-height:1.25;white-space:normal}.executive-hero p{font-size:11px;line-height:1.55}.executive-period{flex:none;min-width:300px}
.executive-kpis{grid-template-columns:repeat(5,minmax(0,1fr));gap:11px}.executive-kpis article{min-width:0;min-height:92px;padding:14px}.executive-kpis article>span{width:40px;height:40px}.executive-kpis small{font-size:10px}.executive-kpis b{font-size:22px;white-space:nowrap}.executive-kpis em{font-size:9px;line-height:1.4}
.executive-grid.top{grid-template-columns:minmax(0,1.45fr) minmax(340px,.55fr)}.executive-panel{min-width:0;padding:17px}.executive-panel .section-head h3{font-size:15px}
.executive-trend{grid-template-columns:repeat(7,minmax(62px,1fr));min-height:190px;gap:6px;overflow-x:auto;padding:10px 2px 2px}.executive-trend-bars{height:122px}.executive-trend-column{min-width:62px}.executive-trend-column b{font-size:9px}.executive-trend-column small,.executive-trend-column em{font-size:7px}
.executive-status{min-height:205px;gap:18px}.executive-donut{width:136px;height:136px;min-width:136px}.status-legend{min-width:128px}
.executive-depts{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.executive-depts article{min-width:0;padding:13px}.executive-dept-title{align-items:flex-start}.executive-dept-title>div{min-width:0}.executive-dept-title>div>div{min-width:0}.executive-dept-title b{font-size:12px}.executive-dept-title small{font-size:8px;white-space:normal}.executive-dept-title strong{font-size:18px}
.executive-person-table{max-width:100%}.executive-person-table-head,.executive-person-table article{grid-template-columns:minmax(140px,1.2fr) minmax(135px,1.05fr) 74px 74px 70px minmax(145px,1.15fr) 96px 82px;}.executive-person-table-head{font-size:9px}.executive-person-table article{font-size:10px}.executive-person-identity b{font-size:11px}
.executive-grid.bottom{grid-template-columns:minmax(0,1.32fr) minmax(350px,.68fr)}.executive-daily-list{max-height:480px}.executive-daily-list article{grid-template-columns:170px minmax(0,1fr) 88px}.executive-daily-text p{font-size:10px;line-height:1.65}
.executive-insights p{font-size:10px}.executive-risk-list b{font-size:11px}.executive-risk-list small{font-size:8px}

/* 弹窗 */
.backdrop{padding:18px;overflow:hidden}.modal{display:flex;flex-direction:column;width:min(660px,calc(100vw - 36px));max-height:calc(100dvh - 36px);padding:0;border-radius:18px;overflow:hidden}.modal.wide{width:min(980px,calc(100vw - 36px))}
.modalhead{position:sticky;top:0;z-index:4;flex:none;align-items:flex-start;margin:0;padding:20px 22px 14px;border-bottom:1px solid #e7edf3;background:#fff}.modalhead>div{min-width:0}.modalhead h2{font-size:20px;line-height:1.3}.modalhead p{font-size:11px;line-height:1.55}.close{flex:none}
.modal form{display:flex;flex-direction:column;min-height:0;overflow:hidden}.modal form>.formgrid,.modal>.formgrid,.modal>.detail,.modal>.ocr-preview,.modal>.daily-report-preview{overflow-y:auto;padding:17px 22px}.formgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px}.field{min-width:0;margin-bottom:0}.field span{font-size:12px;line-height:1.5}.field input,.field select{height:44px;font-size:13px}.field textarea{min-height:110px;font-size:13px;line-height:1.65}
.modalfoot{position:sticky;bottom:0;z-index:4;flex:none;margin:0;padding:13px 22px;border-top:1px solid #e7edf3;background:#fff;box-shadow:0 -10px 22px rgba(19,54,91,.04)}
.range output{font-size:11px}.ocr-text{font-size:13px;line-height:1.65}

/* 登录页 */
.login-page{grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr)}.hero{padding:36px clamp(34px,4vw,62px)}.hero-logo{width:min(290px,48%)}.hero-main{margin-top:clamp(70px,11vh,120px)}.hero h1{font-size:clamp(42px,4vw,58px)}.hero p{max-width:760px;font-size:14px}.hero-card span{font-size:10px}.login-side{padding:30px}.login-card{width:min(510px,100%);padding:30px;border-radius:24px}.login-title h2{font-size:23px}.login-title p{font-size:11px}.status-banner{font-size:11px}.login-note{font-size:10px}

/* 小屏与中屏 */
@media(max-width:1500px){
  :root{--ui-sidebar:246px}
  .content{padding-left:24px;padding-right:24px}
  .executive-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
  .executive-grid.top,.executive-grid.bottom{grid-template-columns:1fr}
  .executive-depts{grid-template-columns:repeat(3,minmax(0,1fr))}
  .daily-person-grid{grid-template-columns:1fr}
}
@media(max-width:1180px){
  :root{--ui-sidebar:226px}
  .brand{padding-left:16px;padding-right:16px}.brand img{width:185px}
  .nav button{padding-left:12px;padding-right:10px;font-size:14px}
  .pagehead{flex-direction:column}.actions{width:100%;justify-content:flex-start}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .people{grid-template-columns:repeat(2,minmax(0,1fr))}
  .analysis-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .executive-depts{grid-template-columns:1fr}
  .daily-overview,.temp-summary{grid-template-columns:repeat(3,minmax(0,1fr))}
  .login-page{grid-template-columns:1fr}.hero{min-height:620px}.login-side{padding:34px 20px}
}
@media(max-width:820px){
  .shell{display:block}.sidebar{position:relative;height:auto;overflow:visible}.brand{display:flex;align-items:center;justify-content:space-between}.brand small{display:none}
  .nav{display:flex;overflow-x:auto;overflow-y:hidden;padding:9px 10px 10px;scroll-snap-type:x proximity}.nav button{flex:0 0 auto;width:auto;min-width:126px;height:42px;margin:0 5px 0 0;padding:0 12px;scroll-snap-align:start}.nav button.active:before{left:10px;right:10px;top:auto;bottom:2px;width:auto;height:3px}
  .userbox{display:none}.topbar{position:sticky;min-height:64px;padding:8px 14px}.topbar h1{font-size:18px}.topbar p{font-size:10px}.sync span{display:none}
  .content{padding:18px 13px 34px}.pagehead h2{font-size:24px}.pagehead p{font-size:12px}
  .actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.actions .btn{width:100%}
  .toolbar{display:grid;grid-template-columns:1fr 1fr}.toolbar-search{grid-column:1/-1;min-width:0}.toolbar>select,.toolbar>input{width:100%;min-width:0}
  .stats,.daily-overview,.temp-summary,.analysis-kpis,.my-task-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .people{grid-template-columns:1fr}.grid2{grid-template-columns:1fr}
  .daily-report-module{grid-template-columns:1fr;text-align:left}.daily-report-module-icon{display:none}.daily-report-module .btn{width:100%}
  .daily-person-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.daily-dept-head{align-items:flex-start;flex-direction:column}.daily-dept-kpis{width:100%}.daily-dept-kpis span{flex:1}
  .executive-hero{align-items:flex-start;flex-direction:column}.executive-period{width:100%;min-width:0}.executive-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.executive-status{flex-direction:column}.executive-depts{grid-template-columns:1fr}
  .executive-daily-list article{grid-template-columns:1fr}.executive-daily-list .daily-state{justify-self:start}
  .formgrid{grid-template-columns:1fr}.formgrid .full{grid-column:auto}.modal{width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}.modal.wide{width:calc(100vw - 20px)}.modalhead,.modal form>.formgrid,.modal>.formgrid,.modal>.detail,.modal>.ocr-preview,.modal>.daily-report-preview,.modalfoot{padding-left:15px;padding-right:15px}
  .login-page{display:block}.hero{min-height:auto;padding:28px 22px 45px}.hero-logo{width:220px}.hero-tag{position:static;display:inline-block;margin-top:20px}.hero-main{margin-top:55px}.hero h1{font-size:40px}.hero-grid{grid-template-columns:1fr}.hero-foot{position:static;display:grid;gap:6px;margin-top:42px}.login-side{padding:25px 14px}.login-card{padding:24px 20px}
}
@media(max-width:520px){
  .topbar{flex-wrap:wrap}.topbar-title{min-width:calc(100% - 110px)}
  .pagehead h2{font-size:22px}.actions{grid-template-columns:1fr}
  .stats,.daily-overview,.temp-summary,.analysis-kpis,.my-task-stats,.executive-kpis{grid-template-columns:1fr}
  .toolbar{grid-template-columns:1fr}.toolbar-search{grid-column:auto}
  .owner-group-head{align-items:flex-start;flex-direction:column}.owner-group-kpis{width:100%;justify-content:flex-start}.owner-group-kpis span{flex:1;min-width:62px}
  .daily-date-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.daily-date-picker{grid-column:1/-1;justify-content:center}.daily-date-actions .btn{width:100%}
  .executive-trend{grid-template-columns:repeat(7,70px)}
  .modalfoot{display:grid;grid-template-columns:1fr 1fr}.modalfoot .btn{width:100%}.modalfoot .btn.primary:last-child{grid-column:1/-1}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}


/* ===== V1.5.2 运行稳定性与酷炫交互动效（纯视觉增强） ===== */
:root{--ui-ease:cubic-bezier(.2,.78,.22,1);--ui-ease-spring:cubic-bezier(.18,.89,.32,1.18)}
html{scroll-behavior:smooth}
body.modal-open{overflow:hidden}
button,input,select,textarea{font-family:inherit}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid rgba(48,134,232,.28);outline-offset:2px}

/* 页面与卡片入场 */
@keyframes uiPageIn{from{opacity:0;transform:translateY(8px);filter:blur(2px)}to{opacity:1;transform:none;filter:none}}
@keyframes uiRevealUp{from{opacity:0;transform:translateY(16px) scale(.985)}to{opacity:1;transform:none}}
.page-transition{animation:uiPageIn .38s var(--ui-ease) both}
.ui-reveal{opacity:0;animation:uiRevealUp .52s var(--ui-ease) forwards;animation-delay:var(--ui-delay,0ms)}
.ui-interactive-card{position:relative;transition:transform .24s var(--ui-ease),box-shadow .24s var(--ui-ease),border-color .24s ease,background .24s ease}
.ui-interactive-card:hover{transform:translateY(-3px);border-color:#c9def3;box-shadow:0 16px 38px rgba(20,73,128,.12)}

/* 按钮波纹与光带 */
.ui-ripple-host{position:relative;overflow:hidden;isolation:isolate}
.ui-ripple{position:absolute;z-index:0;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(255,255,255,.55) 0,rgba(255,255,255,.18) 45%,transparent 70%);transform:scale(0);animation:uiRipple .58s ease-out forwards}
@keyframes uiRipple{to{transform:scale(1);opacity:0}}
.ui-ripple-host>*{position:relative;z-index:1}
.btn:before{content:"";position:absolute;z-index:0;top:-120%;left:-35%;width:34%;height:340%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.34),transparent);transform:rotate(20deg);transition:left .55s var(--ui-ease)}
.btn:hover:before{left:115%}
.btn:hover{box-shadow:0 10px 24px rgba(32,96,168,.16)}
.btn.primary:hover{box-shadow:0 14px 30px rgba(28,103,207,.28)}
.icon-button:hover{transform:translateY(-2px) scale(1.04)}
.icon-button:active,.btn:active{transform:scale(.97)}

/* 侧边栏动态氛围 */
.sidebar{overflow:hidden}
.sidebar:after{content:"";position:absolute;z-index:0;inset:-35% -65%;pointer-events:none;background:conic-gradient(from 180deg,transparent,rgba(64,164,255,.16),transparent 28%,rgba(255,210,75,.08),transparent 62%);animation:uiSidebarAura 17s linear infinite}
.sidebar>*{position:relative;z-index:1}
@keyframes uiSidebarAura{to{transform:rotate(360deg)}}
.nav button:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(100deg,transparent 18%,rgba(255,255,255,.18) 50%,transparent 82%);transform:translateX(-125%);transition:transform .55s var(--ui-ease)}
.nav button:hover:after,.nav button.active:after{transform:translateX(125%)}
.nav button i{transition:transform .28s var(--ui-ease),filter .28s ease}
.nav button:hover i,.nav button.active i{transform:scale(1.12) rotate(-4deg);filter:drop-shadow(0 0 7px rgba(126,208,255,.65))}
.nav button.active{box-shadow:0 10px 22px rgba(4,27,62,.18),inset 0 0 0 1px rgba(255,255,255,.09)}

/* 顶栏、在线状态与欢迎区 */
.topbar:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,transparent,#3a8fe8 35%,#69c7ec 55%,transparent);opacity:.38;transform-origin:left;animation:uiTopline 5s ease-in-out infinite}
@keyframes uiTopline{0%,100%{transform:scaleX(.25);opacity:.18}50%{transform:scaleX(1);opacity:.5}}
.sync i{box-shadow:0 0 0 0 rgba(30,170,119,.48);animation:uiOnlinePulse 2.2s ease-out infinite}
@keyframes uiOnlinePulse{60%,100%{box-shadow:0 0 0 9px rgba(30,170,119,0)}}
.welcome-banner,.executive-hero{position:relative;overflow:hidden}
.welcome-banner:after,.executive-hero:after{content:"";position:absolute;inset:-70% -30%;pointer-events:none;background:linear-gradient(115deg,transparent 38%,rgba(255,255,255,.13) 50%,transparent 62%);transform:translateX(-55%) rotate(4deg);animation:uiHeroSheen 7s ease-in-out infinite}
@keyframes uiHeroSheen{0%,55%{transform:translateX(-65%) rotate(4deg)}100%{transform:translateX(65%) rotate(4deg)}}

/* KPI 图标与图表 */
.stat-top>span,.analysis-kpis article>span,.executive-kpis article>span,.daily-overview article>span,.temp-summary article>span{transition:transform .3s var(--ui-ease),box-shadow .3s ease}
.ui-interactive-card:hover .stat-top>span,.ui-interactive-card:hover>span:first-child{transform:translateY(-3px) rotate(-4deg) scale(1.06);box-shadow:0 9px 20px rgba(38,112,197,.17)}
.bar span,.dept-bars i,.workload-progress i,.executive-dept-volume i,.executive-person-progress i,.executive-people article>div>span i{position:relative;overflow:hidden;transition:width .9s var(--ui-ease)}
.bar span:after,.dept-bars i:after,.workload-progress i:after,.executive-dept-volume i:after,.executive-person-progress i:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);transform:translateX(-100%);animation:uiProgressShine 2.5s ease-in-out infinite}
@keyframes uiProgressShine{45%,100%{transform:translateX(100%)}}
.donut,.executive-donut{animation:uiDonutIn .72s var(--ui-ease-spring) both}
@keyframes uiDonutIn{from{opacity:0;transform:scale(.72) rotate(-25deg)}to{opacity:1;transform:none}}
.executive-trend-bars i,.trend-bars i{transform-origin:bottom;animation:uiBarGrow .68s var(--ui-ease) both}
@keyframes uiBarGrow{from{transform:scaleY(0)}to{transform:scaleY(1)}}

/* 表格与滚动区域 */
.tablewrap,.executive-person-table{position:relative;scrollbar-width:thin;scrollbar-color:#aac6e1 transparent}
.tablewrap::-webkit-scrollbar,.executive-person-table::-webkit-scrollbar{height:9px;width:9px}
.tablewrap::-webkit-scrollbar-thumb,.executive-person-table::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:999px;background-clip:padding-box;background:#aac6e1}
.tablewrap.is-scrollable:not(.scrolled-end):after,.executive-person-table.is-scrollable:not(.scrolled-end):after{content:"";position:sticky;z-index:4;display:block;float:right;right:0;bottom:0;width:38px;height:0;pointer-events:none;box-shadow:-17px 0 24px 13px rgba(21,65,111,.11)}
tbody tr{transition:background .18s ease,transform .18s var(--ui-ease),box-shadow .18s ease}
tbody tr:hover{background:#f5faff;box-shadow:inset 3px 0 0 #3785db}
tbody tr:hover .row-actions{transform:translateX(-2px)}
.row-actions{transition:transform .2s var(--ui-ease)}

/* 弹窗、提示与加载 */
@keyframes uiBackdropIn{from{opacity:0}to{opacity:1}}
@keyframes uiModalIn{from{opacity:0;transform:translateY(18px) scale(.94)}to{opacity:1;transform:none}}
.backdrop{animation:uiBackdropIn .22s ease both}
.modal{transform-origin:50% 42%;animation:uiModalIn .38s var(--ui-ease-spring) both}
.close{transition:transform .22s var(--ui-ease),background .22s ease,color .22s ease}
.close:hover{transform:rotate(90deg) scale(1.06);background:#e7f1fc;color:#176ed1}
#toast.show{animation:uiToastIn .38s var(--ui-ease-spring) both}
@keyframes uiToastIn{from{opacity:0;transform:translate(-50%,22px) scale(.9)}to{opacity:1;transform:translate(-50%,0) scale(1)}}
.loading-spinner{animation:uiLoadingFloat 1.35s ease-in-out infinite}
@keyframes uiLoadingFloat{50%{transform:translateY(-5px) rotate(8deg)}}
.empty-icon{animation:uiEmptyFloat 3s ease-in-out infinite}
@keyframes uiEmptyFloat{50%{transform:translateY(-6px)}}

/* 输入与选择 */
.field input,.field select,.field textarea,.toolbar input,.toolbar select{transition:border-color .2s ease,box-shadow .2s ease,transform .2s var(--ui-ease),background .2s ease}
.field input:hover,.field select:hover,.field textarea:hover,.toolbar input:hover,.toolbar select:hover{border-color:#b8cfe6;background:#fcfdff}
.field input:focus,.field select:focus,.field textarea:focus,.toolbar input:focus,.toolbar select:focus{transform:translateY(-1px)}
.range output{transition:transform .2s var(--ui-ease),box-shadow .2s ease}.range:focus-within output{transform:scale(1.06);box-shadow:0 8px 18px rgba(31,107,202,.15)}

@media(max-width:820px){
  .sidebar:after{animation-duration:25s}
  .ui-interactive-card:hover{transform:none}
  .topbar:after{display:none}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .ui-reveal{opacity:1!important;transform:none!important}
}


/* ===== V1.5.3 对齐与空状态精修 ===== */
/* 工具栏搜索框：彻底覆盖旧的绝对定位规则，防止图标与文字重叠 */
.toolbar-search{
  position:relative!important;
  display:grid!important;
  grid-template-columns:22px minmax(0,1fr)!important;
  align-items:center!important;
  column-gap:10px!important;
  min-width:300px;
  min-height:48px!important;
  height:48px!important;
  padding:0 15px!important;
  overflow:hidden;
}
.toolbar-search>.ui-icon{
  position:static!important;
  inset:auto!important;
  transform:none!important;
  display:block!important;
  width:19px!important;
  height:19px!important;
  color:#7890a7!important;
  pointer-events:none;
}
.toolbar-search input{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  height:46px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  line-height:46px!important;
  font-size:14px!important;
  color:#294862!important;
}
.toolbar-search input::placeholder{
  color:#8a98a8;
  opacity:1;
  line-height:normal;
}
.toolbar-search input:focus{transform:none!important}

/* 统计卡片：固定图标、标题和数字的视觉锚点 */
.stat{
  position:relative;
  display:grid;
  grid-template-rows:auto auto auto;
  align-content:start;
  min-height:174px;
  padding:20px 21px!important;
  overflow:hidden;
}
.stat:after{display:none!important}
.stat-top{
  position:relative;
  z-index:2;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  min-height:42px;
  gap:12px;
}
.stat-top label{
  display:block;
  margin:0!important;
  color:#6f8398!important;
  font-size:13px!important;
  line-height:1.45;
}
.stat-top>span{
  position:static!important;
  display:grid!important;
  place-items:center!important;
  width:42px!important;
  height:42px!important;
  min-width:42px;
  border-radius:13px!important;
  box-shadow:0 8px 18px rgba(38,112,197,.08);
}
.stat-top>span .ui-icon{width:20px!important;height:20px!important}
.stat strong{
  position:relative;
  z-index:2;
  margin:18px 0 0!important;
  font-size:34px!important;
  line-height:1!important;
}
.stat small{
  position:relative;
  z-index:2;
  margin-top:10px!important;
  color:#8a9aac!important;
  font-size:12px!important;
  line-height:1.5!important;
}

/* 总览双栏不再强制等高，避免空卡片被另一侧内容撑得过高 */
.leadership-grid{
  align-items:start!important;
  grid-auto-rows:auto!important;
}
.leadership-grid>.panel{
  align-self:start!important;
  width:100%;
  min-height:0!important;
}
.leadership-grid .section-head{
  min-height:58px;
  align-items:flex-start!important;
}
.leadership-grid .section-head h3{font-size:17px!important}
.leadership-grid .panel-sub{margin-bottom:0!important;font-size:12px!important}

/* 空状态统一为垂直居中，不再受旧横排样式影响 */
.empty.icon-empty{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:13px!important;
  width:100%;
  min-height:188px!important;
  padding:34px 24px!important;
  text-align:center!important;
  color:#8192a5;
}
.empty.icon-empty>.empty-icon{
  display:grid!important;
  place-items:center!important;
  width:66px!important;
  height:66px!important;
  min-width:66px;
  margin:0!important;
  border-radius:20px!important;
  background:linear-gradient(145deg,#eaf4ff,#f5f9fd)!important;
  color:#4785ca!important;
  box-shadow:inset 0 0 0 1px rgba(77,139,204,.08),0 10px 24px rgba(55,112,174,.08);
}
.empty.icon-empty>.empty-icon .ui-icon{width:30px!important;height:30px!important}
.empty.icon-empty>div{
  display:flex;
  flex-direction:column;
  align-items:center;
  max-width:620px;
  min-width:0;
}
.empty.icon-empty b{
  margin:0!important;
  color:#3f5871!important;
  font-size:15px!important;
  line-height:1.5!important;
}
.empty.icon-empty>div>span{
  display:block!important;
  margin:7px 0 0!important;
  color:#8797a8!important;
  font-size:12px!important;
  line-height:1.75!important;
  white-space:normal;
  overflow-wrap:anywhere;
}

/* 近期完成与风险区：空状态紧凑，内容区自然高度 */
.compact-list,.completion-list{
  min-height:0!important;
  margin-top:12px!important;
}
.compact-list .empty.icon-empty,
.completion-list .empty.icon-empty{
  min-height:220px!important;
  border:1px dashed #dbe7f2;
  border-radius:14px;
  background:linear-gradient(180deg,#fbfdff,#f7faff);
}

/* 图片智能派发的任务草稿空状态：独立居中容器 */
.draft-head + .empty.icon-empty{
  min-height:245px!important;
  margin-top:16px;
  border:1px dashed #d7e5f2;
  border-radius:15px;
  background:linear-gradient(180deg,#fbfdff,#f7faff);
}
.draft-head + .empty.icon-empty>div{max-width:720px}

/* 图片上传空状态也保持统一中心线 */
.ocr-preview-box .upload-placeholder{
  display:flex;
  min-height:215px;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:100%;
  padding:32px 24px!important;
  text-align:center;
}
.ocr-preview-box .upload-placeholder b{font-size:14px!important;line-height:1.5}
.ocr-preview-box .upload-placeholder span{max-width:460px;font-size:11px!important;line-height:1.75!important}

/* 标题栏与操作入口防止垂直错位 */
.section-head .text-link{
  flex:none;
  min-height:30px;
  align-items:center!important;
  margin-top:0;
  white-space:nowrap;
}
.section-head h3 .ui-icon{vertical-align:0!important}

/* 动画不能改变最终布局位置 */
.empty-icon{transform:translateZ(0)}
@keyframes uiEmptyFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}

@media(max-width:900px){
  .toolbar-search{min-width:0;width:100%}
  .stat{min-height:158px}
  .leadership-grid{grid-template-columns:1fr!important}
  .compact-list .empty.icon-empty,.completion-list .empty.icon-empty{min-height:190px!important}
}
@media(max-width:560px){
  .toolbar-search{min-height:46px!important;height:46px!important;padding:0 13px!important}
  .toolbar-search input{height:44px!important;line-height:44px!important;font-size:13px!important}
  .stat{min-height:150px;padding:17px!important}
  .stat strong{font-size:30px!important}
  .empty.icon-empty{min-height:166px!important;padding:28px 18px!important}
  .draft-head + .empty.icon-empty{min-height:205px!important}
}


/* ===== V1.5.4 周月分析平台与人员逐项进度 ===== */
.executive-switch{gap:4px;padding:4px;border-color:#cfe0f0;background:#eef5fc}
.executive-switch button{display:inline-flex;align-items:center;gap:6px;min-width:94px;height:38px;font-size:12px}
.executive-switch button .ui-icon{width:15px;height:15px}
.executive-switch button.active{background:linear-gradient(135deg,#176ed1,#0a5dbd);color:#fff;box-shadow:0 7px 18px rgba(20,102,194,.23)}

.digital-platform-hero{position:relative;overflow:hidden;background:linear-gradient(120deg,#063d79 0%,#0c68bd 58%,#1592cc 100%)}
.digital-platform-hero:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:32px 32px;mask-image:linear-gradient(90deg,#000,transparent 80%)}
.digital-platform-hero:after{content:"";position:absolute;width:330px;height:330px;right:-135px;top:-150px;border:1px solid rgba(255,255,255,.14);border-radius:50%;box-shadow:0 0 0 55px rgba(255,255,255,.035),0 0 0 110px rgba(255,255,255,.025)}
.executive-hero-copy,.executive-period{position:relative;z-index:1}
.executive-hero-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}
.executive-hero-tags span{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.08);color:rgba(255,255,255,.86);font-size:9px}
.executive-hero-tags i{width:7px;height:7px;border-radius:50%;background:#62f0b5;box-shadow:0 0 0 4px rgba(98,240,181,.14);animation:digitalPulse 1.8s ease-in-out infinite}
@keyframes digitalPulse{50%{opacity:.45;transform:scale(.82)}}

.executive-period{display:grid!important;grid-template-columns:48px minmax(210px,1fr) 48px;align-items:center;gap:7px;min-width:330px!important;padding:6px!important;border:1px solid rgba(255,255,255,.19)!important;border-radius:14px!important;background:rgba(3,47,91,.28)!important;backdrop-filter:blur(9px)}
.executive-period .icon-button{width:48px;height:48px;border:1px solid rgba(255,255,255,.2)!important;border-radius:11px!important;background:rgba(255,255,255,.12)!important;color:#fff!important;box-shadow:none!important}
.executive-period .icon-button:hover{background:rgba(255,255,255,.22)!important;transform:translateY(-1px)}
.executive-period .period-current{display:flex!important;align-items:center;justify-content:center;flex-direction:column;min-width:0!important;height:48px;padding:4px 14px;border:0!important;border-radius:11px!important;background:#fff!important;box-shadow:0 8px 22px rgba(3,38,77,.18)!important}
.executive-period .period-current b{color:#0b4f93!important;font-size:13px!important;line-height:1.3!important;text-shadow:none!important}
.executive-period .period-current span{color:#75899d!important;font-size:9px!important;line-height:1.25!important;text-shadow:none!important}

.executive-digital-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) auto;align-items:stretch;gap:9px;margin:-2px 0 14px;padding:10px;border:1px solid #d7e7f5;border-radius:15px;background:linear-gradient(135deg,#f7fbff,#eef7ff);box-shadow:0 8px 24px rgba(31,90,151,.05)}
.executive-digital-strip article{display:flex;align-items:center;gap:9px;min-width:0;padding:9px 11px;border-right:1px solid #dce9f4}
.executive-digital-strip article>span:not(.digital-live-dot){display:grid;place-items:center;width:30px;height:30px;flex:none;border-radius:9px;background:#e4f1ff;color:#176ed1}
.executive-digital-strip article>span .ui-icon{width:15px;height:15px}
.digital-live-dot{width:10px;height:10px;flex:none;border-radius:50%;background:#19b97c;box-shadow:0 0 0 5px rgba(25,185,124,.13);animation:digitalPulse 1.8s ease-in-out infinite}
.executive-digital-strip small{display:block;color:#7e91a4;font-size:8px;white-space:nowrap}
.executive-digital-strip b{display:block;margin-top:3px;color:#234967;font-size:11px;white-space:nowrap}
.executive-digital-strip>em{display:flex;align-items:center;justify-content:flex-end;padding:0 7px;color:#7890a5;font-size:8px;font-style:normal;white-space:nowrap}

.executive-readonly-badge{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border-radius:999px;background:#eaf4ff;color:#176ed1;font-size:9px;font-weight:700}
.executive-readonly-badge .ui-icon{width:13px;height:13px}
.executive-task-detail-panel{margin-bottom:14px}
.executive-task-matrix{display:grid;gap:14px}
.executive-task-dept{overflow:hidden;border:1px solid #dce7f1;border-radius:15px;background:#fbfdff}
.executive-task-dept-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;border-bottom:1px solid #e2eaf2;background:linear-gradient(90deg,#edf6ff,#f9fcff)}
.executive-task-dept-head>div{display:flex;align-items:center;gap:7px;color:#176ed1}.executive-task-dept-head .ui-icon{width:17px;height:17px}.executive-task-dept-head b{color:#244a68;font-size:13px}.executive-task-dept-head>span{color:#7e91a4;font-size:9px}
.executive-person-details{display:grid;gap:9px;padding:10px}
.executive-person-detail{overflow:hidden;border:1px solid #e1e9f1;border-radius:12px;background:#fff;transition:border-color .18s ease,box-shadow .18s ease}
.executive-person-detail[open]{border-color:#bcd8f2;box-shadow:0 8px 22px rgba(30,92,154,.07)}
.executive-person-detail summary{display:grid;grid-template-columns:minmax(220px,1.1fr) minmax(390px,1fr) 24px;align-items:center;gap:12px;padding:12px 14px;cursor:pointer;list-style:none;background:#fff}
.executive-person-detail summary::-webkit-details-marker{display:none}
.executive-person-detail summary:hover{background:#f8fbff}
.executive-detail-person{display:flex;align-items:center;gap:9px;min-width:0}.executive-detail-person>div{min-width:0}.executive-detail-person b{display:block;color:#244660;font-size:12px}.executive-detail-person small{display:block;margin-top:3px;color:#8495a5;font-size:8px;white-space:normal}
.executive-detail-summary{display:grid;grid-template-columns:repeat(3,minmax(75px,1fr)) minmax(84px,auto);align-items:center;gap:7px}.executive-detail-summary>span{padding:7px;border-radius:8px;background:#f1f6fa;color:#7b8c9e;font-size:8px;text-align:center}.executive-detail-summary>span b{display:block;margin-bottom:2px;color:#294b68;font-size:12px}.executive-detail-summary>em{padding:7px 8px;border-radius:8px;font-size:8px;font-style:normal;text-align:center}.executive-detail-summary>em.ok{background:#e8f7f1;color:#16865d}.executive-detail-summary>em.danger{background:#ffebed;color:#c83c48}
.detail-chevron{display:grid;place-items:center;color:#6c87a0;transition:transform .2s ease}.detail-chevron .ui-icon{width:16px;height:16px}.executive-person-detail[open] .detail-chevron{transform:rotate(90deg)}
.executive-person-task-list{overflow:auto;border-top:1px solid #e6edf4;background:#fbfdff}
.executive-task-row{display:grid;grid-template-columns:70px minmax(270px,1.9fr) 105px minmax(160px,1fr) 85px 75px;align-items:center;gap:10px;padding:10px 13px;border-bottom:1px solid #ebf0f5;color:#526a7f;font-size:9px}
.executive-task-row:last-child{border-bottom:0}.executive-task-row-head{position:sticky;top:0;z-index:2;background:#edf4fa;color:#708399;font-size:8px;font-weight:800}
.executive-task-name{min-width:0}.executive-task-name b{display:block;color:#294a65;font-size:10px;line-height:1.45;white-space:normal;overflow-wrap:anywhere}.executive-task-name small{display:block;margin-top:3px;color:#8c9aa9;font-size:7px;line-height:1.4}
.relation-badge,.task-status-pill,.task-risk-pill{display:inline-flex;align-items:center;justify-content:center;min-width:52px;padding:5px 7px;border-radius:7px;font-size:8px;font-style:normal;white-space:nowrap}.relation-badge.owner{background:#e7f2ff;color:#176ed1}.relation-badge.collab{background:#f0ebff;color:#7053bd}
.executive-task-progress{display:flex;align-items:center;gap:8px}.executive-task-progress>span{height:7px;flex:1;border-radius:999px;background:#e4ebf2;overflow:hidden}.executive-task-progress>span i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#2b79d4,#48b2e0)}.executive-task-progress>b{width:36px;color:#28649f;font-size:9px}
.task-status-pill.done{background:#e6f7ef;color:#16865d}.task-status-pill.doing{background:#e8f3ff;color:#176ed1}.task-status-pill.waiting{background:#edf1f5;color:#75889a}.task-status-pill.late{background:#ffeaec;color:#cf3e4a}.task-risk-pill.normal{background:#e8f7f1;color:#16865d}.task-risk-pill.warning{background:#fff4d8;color:#a66b00}.task-risk-pill.danger{background:#ffebed;color:#c83c48}
.executive-no-task{display:flex;align-items:center;justify-content:center;gap:7px;min-height:70px;color:#8b9aa9;font-size:9px}.executive-no-task .ui-icon{width:16px;height:16px}

@media(max-width:1500px){.executive-digital-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.executive-digital-strip article:nth-child(3){border-right:0}.executive-digital-strip>em{grid-column:1/-1;justify-content:flex-start;padding-left:10px}.executive-person-detail summary{grid-template-columns:minmax(200px,.8fr) minmax(390px,1.2fr) 24px}}
@media(max-width:980px){.executive-period{width:100%;min-width:0!important}.executive-digital-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.executive-digital-strip article{border-right:0}.executive-person-detail summary{grid-template-columns:1fr 24px}.executive-detail-summary{grid-column:1/-1;grid-row:2}.detail-chevron{grid-column:2;grid-row:1}}
@media(max-width:620px){.executive-period{grid-template-columns:44px minmax(0,1fr) 44px}.executive-period .icon-button,.executive-period .period-current{height:44px}.executive-digital-strip{grid-template-columns:1fr}.executive-detail-summary{grid-template-columns:repeat(2,1fr)}.executive-task-dept-head{align-items:flex-start;flex-direction:column}}


/* ===== V1.5.5 精简部门日报与最终进度 ===== */
.daily-report-text{min-height:430px;line-height:1.75}
.daily-report-preview{max-width:980px;margin:0 auto}


/* ===== V1.5.7 部门日报弹窗 UI 重构 ===== */
.daily-report-modal{
  width:min(1180px,calc(100vw - 44px))!important;
  height:min(820px,calc(100dvh - 38px));
  max-height:calc(100dvh - 38px)!important;
  border:1px solid rgba(171,198,226,.72);
  border-radius:22px!important;
  box-shadow:0 34px 100px rgba(5,37,76,.30)!important;
  background:#f7faff;
}
.daily-report-modal .daily-report-head{
  padding:21px 25px 17px;
  background:linear-gradient(135deg,#ffffff 0%,#f5f9ff 100%);
  border-bottom:1px solid #dfe9f3;
}
.daily-report-kicker{
  display:inline-flex;align-items:center;gap:7px;
  margin-bottom:7px;color:#2973ca;font-size:10px;font-weight:800;letter-spacing:1.25px;
}
.daily-report-kicker .ui-icon{width:15px;height:15px}
.daily-report-modal .daily-report-head h2{font-size:23px;color:#173a59}
.daily-report-modal .daily-report-head p{max-width:760px;margin-top:7px;font-size:12px;color:#75899d}
.daily-report-body{
  flex:1;min-height:0;overflow:auto;
  display:flex;flex-direction:column;gap:15px;
  width:100%;padding:18px 24px 20px;
  box-sizing:border-box;
}
.daily-report-overview{
  flex:none;padding:15px;border:1px solid #dce8f3;border-radius:16px;
  background:linear-gradient(135deg,#edf6ff 0%,#ffffff 72%);
  box-shadow:0 8px 24px rgba(31,93,156,.055);
}
.daily-report-meta{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:0 0 13px!important}
.daily-report-meta span{
  display:inline-flex;align-items:center;gap:7px;
  min-height:34px;padding:0 12px!important;border:1px solid #d4e5f6;
  border-radius:10px!important;background:#fff!important;color:#3378c5!important;
  font-size:11px!important;box-shadow:0 4px 12px rgba(35,98,164,.04)
}
.daily-report-meta span b{color:#275777;font-size:12px}
.daily-report-meta .ui-icon{width:16px!important;height:16px!important}
.daily-report-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}
.daily-report-summary article{
  display:flex;align-items:center;gap:10px;min-width:0;min-height:66px;padding:10px 11px;
  border:1px solid #dce7f1;border-radius:12px;background:rgba(255,255,255,.92)
}
.daily-report-summary article>span{
  display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:10px;
  background:#e8f3ff;color:#176ed1
}
.daily-report-summary article:nth-child(2)>span,.daily-report-summary article:nth-child(4)>span{background:#e7f8f1;color:#16865d}
.daily-report-summary article:nth-child(5)>span{background:#fff2cf;color:#ae7200}
.daily-report-summary article.warning>span{background:#ffebed;color:#d64350}
.daily-report-summary article>span .ui-icon{width:17px;height:17px}
.daily-report-summary article b{display:block;color:#173b59;font-size:20px;line-height:1}
.daily-report-summary article small{display:block;margin-top:5px;color:#7f91a2;font-size:9px;white-space:nowrap}
.daily-report-editor{
  flex:1;min-height:420px;display:flex;flex-direction:column;overflow:hidden;
  border:1px solid #d9e5f0;border-radius:16px;background:#fff;
  box-shadow:0 10px 28px rgba(26,79,133,.055)
}
.daily-report-editor-head{
  flex:none;display:flex;align-items:center;justify-content:space-between;gap:15px;
  padding:13px 16px;border-bottom:1px solid #e4ebf2;background:#fbfdff
}
.daily-report-editor-head h3{display:flex;align-items:center;gap:7px;margin:0;color:#244c6b;font-size:14px}
.daily-report-editor-head h3 .ui-icon{width:16px;height:16px;color:#2774cb}
.daily-report-editor-head p{margin:5px 0 0;color:#8a99a8;font-size:9px}
.daily-report-editor-head>span{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;background:#e8f7f1;color:#16865d;font-size:9px;white-space:nowrap}
.daily-report-editor-head>span .ui-icon{width:13px;height:13px}
.daily-report-modal .daily-report-text{
  flex:1;display:block;width:100%!important;max-width:none!important;min-width:0!important;
  min-height:390px!important;margin:0!important;padding:20px 22px!important;
  box-sizing:border-box;border:0!important;border-radius:0!important;background:#fff!important;
  color:#24445f;font:14px/1.95 "Microsoft YaHei","PingFang SC",sans-serif!important;
  resize:none!important;outline:none!important;overflow:auto
}
.daily-report-modal .daily-report-text:focus{box-shadow:inset 0 0 0 2px rgba(35,116,205,.13)!important}
.daily-report-actions{padding:14px 24px!important;background:rgba(255,255,255,.97)!important}
.daily-report-actions .btn{min-width:108px}
.daily-report-actions .btn.primary{min-width:126px}
@media(max-width:1100px){
  .daily-report-summary{grid-template-columns:repeat(3,minmax(0,1fr))}
  .daily-report-modal{width:calc(100vw - 24px)!important;height:calc(100dvh - 24px);max-height:calc(100dvh - 24px)!important}
}
@media(max-width:700px){
  .daily-report-body{padding:13px 14px 15px}.daily-report-overview{padding:12px}
  .daily-report-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .daily-report-summary article{min-height:60px}.daily-report-editor-head{align-items:flex-start;flex-direction:column}
  .daily-report-modal .daily-report-text{padding:16px!important;font-size:13px!important;line-height:1.85!important}
  .daily-report-actions{display:grid!important;grid-template-columns:1fr 1fr;padding:11px 14px!important}
  .daily-report-actions .btn:first-child{grid-column:1/-1;order:3}.daily-report-actions .btn{width:100%;min-width:0}
}


/* ===== V1.5.9 行政事务专属模块 ===== */
.admin-affair-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:15px;padding:20px 22px;border-radius:18px;background:linear-gradient(135deg,#073f7d,#0b67b7 58%,#1788c8);color:#fff;box-shadow:0 14px 34px rgba(5,70,133,.18)}
.admin-affair-hero>div:first-child{display:flex;align-items:center;gap:14px}.admin-affair-hero>div:first-child>span{display:grid;place-items:center;width:50px;height:50px;border-radius:15px;background:rgba(255,255,255,.13)}.admin-affair-hero>div:first-child>span .ui-icon{width:25px;height:25px}
.admin-affair-hero small{color:#9ed7ff;font-size:10px;letter-spacing:1.3px}.admin-affair-hero h3{margin:4px 0;font-size:21px}.admin-affair-hero p{margin:0;color:rgba(255,255,255,.76);font-size:12px}
.admin-affair-date-actions .btn{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.18);color:#fff}.admin-affair-date-actions .daily-date-picker{background:#fff}
.admin-affair-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:15px}.admin-affair-kpis article{display:flex;align-items:center;gap:12px;min-height:96px;padding:16px;border:1px solid #dce7f2;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(28,75,125,.045)}
.admin-affair-kpis article>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#eaf4ff;color:#176ed1}.admin-affair-kpis article:nth-child(4)>span{background:#e7f8f1;color:#16865d}.admin-affair-kpis article.danger>span{background:#ffebed;color:#d64350}
.admin-affair-kpis small{display:block;color:#7e8fa1;font-size:11px}.admin-affair-kpis b{display:block;margin:4px 0;color:#173552;font-size:24px}.admin-affair-kpis em{color:#8998a8;font-size:9px;font-style:normal}
.admin-template-panel{margin-bottom:15px;padding:18px;border:1px solid #dce7f2;border-radius:17px;background:#fff}.admin-template-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.admin-template-grid button{display:grid;grid-template-columns:36px minmax(0,1fr) 16px;align-items:center;gap:9px;min-height:70px;padding:10px 12px;border:1px solid #e0e8f1;border-radius:12px;background:#f8fbff;text-align:left;cursor:pointer;transition:.18s ease}.admin-template-grid button:hover{transform:translateY(-2px);border-color:#9cc7f1;background:#eef7ff;box-shadow:0 8px 20px rgba(31,104,177,.08)}
.admin-template-grid button>span{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#e5f2ff;color:#176ed1}.admin-template-grid b{display:block;color:#294862;font-size:11px}.admin-template-grid small{display:block;margin-top:4px;color:#8494a6;font-size:8px}.admin-template-grid button>.ui-icon{width:14px;height:14px;color:#8da1b5}
.admin-affair-toolbar{margin-bottom:10px}.admin-category-summary{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}.admin-category-summary span{display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border-radius:999px;background:#edf5ff;color:#57738e;font-size:9px}.admin-category-summary b{color:#176ed1;font-size:12px}
.admin-affair-list{display:grid;gap:9px}.admin-affair-item{display:grid;grid-template-columns:44px minmax(0,1fr) 135px auto;align-items:center;gap:12px;padding:14px 15px;border:1px solid #dfe8f1;border-radius:14px;background:#fff;transition:.18s ease}.admin-affair-item:hover{border-color:#b8d4ee;box-shadow:0 8px 22px rgba(28,77,127,.06);transform:translateY(-1px)}.admin-affair-item.follow-up{border-left:4px solid #df4e58;background:#fffafa}
.admin-affair-category-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#eaf4ff;color:#176ed1}.admin-affair-main{min-width:0}.admin-affair-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.admin-affair-title b{color:#294862;font-size:13px}.admin-affair-main p{margin:6px 0;color:#526a80;font-size:11px;line-height:1.6}.admin-affair-main small{color:#8998a8;font-size:9px}
.admin-affair-status{text-align:right}.admin-affair-status small{display:block;margin-top:6px;color:#95a1ad;font-size:8px}.admin-readonly{display:inline-flex;align-items:center;gap:5px;color:#8495a5;font-size:9px}.admin-readonly .ui-icon{width:14px;height:14px}
.admin-quantity-input{display:grid;grid-template-columns:1fr 90px;gap:8px}.admin-report-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:0 21px 12px}.admin-report-overview span{padding:12px;border-radius:11px;background:#edf5ff;color:#74869a;font-size:10px;text-align:center}.admin-report-overview b{display:block;margin-bottom:4px;color:#176ed1;font-size:16px}
@media(max-width:1300px){.admin-affair-kpis{grid-template-columns:repeat(3,1fr)}.admin-template-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.admin-affair-hero{align-items:flex-start;flex-direction:column}.admin-affair-item{grid-template-columns:42px minmax(0,1fr)}.admin-affair-status,.admin-affair-item .row-actions,.admin-readonly{grid-column:2;text-align:left;justify-self:start}.admin-affair-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.admin-affair-kpis,.admin-template-grid,.admin-report-overview{grid-template-columns:1fr}.admin-quantity-input{grid-template-columns:1fr 80px}}


/* ===== V1.6.0 人员周月任务明细平台 ===== */
.person-period-switch{min-width:260px}
.person-period-switch button{display:inline-flex;align-items:center;justify-content:center;gap:7px}
.person-period-switch .ui-icon{width:16px;height:16px}
.person-period-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px;padding:20px 22px;border-radius:18px;background:linear-gradient(135deg,#073f7d,#0c67b8 60%,#1787c8);color:#fff;box-shadow:0 14px 34px rgba(5,70,133,.18)}
.person-period-hero>div:first-child{display:flex;align-items:center;gap:14px}
.person-period-hero>div:first-child>span{display:grid;place-items:center;width:50px;height:50px;border-radius:15px;background:rgba(255,255,255,.13)}
.person-period-hero>div:first-child>span .ui-icon{width:25px;height:25px}
.person-period-hero small{color:#9ed7ff;font-size:10px;letter-spacing:1.25px}
.person-period-hero h3{margin:4px 0;font-size:22px}
.person-period-hero p{margin:0;color:rgba(255,255,255,.76);font-size:12px}
.person-period-nav{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);border-radius:13px;padding:4px}
.person-period-nav .icon-button{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.17);color:#fff}
.person-period-nav .period-current{min-width:185px;background:#fff;border-radius:10px}
.person-period-nav .period-current b{color:#173552}.person-period-nav .period-current span{color:#7d8fa2}
.person-period-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:11px;margin-bottom:14px}
.person-period-kpis article{display:flex;align-items:center;gap:11px;min-height:92px;padding:15px;border:1px solid #dce7f2;border-radius:15px;background:#fff;box-shadow:0 8px 22px rgba(27,75,125,.045)}
.person-period-kpis article>span{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#eaf4ff;color:#176ed1;flex:none}
.person-period-kpis article:nth-child(4)>span{background:#e7f8f1;color:#16865d}.person-period-kpis article.danger>span{background:#ffebed;color:#d64350}
.person-period-kpis small{display:block;color:#7f90a2;font-size:10px}.person-period-kpis b{display:block;margin:3px 0;color:#173552;font-size:21px}.person-period-kpis em{display:block;color:#909dab;font-size:8px;font-style:normal;line-height:1.45}
.person-period-filter{display:grid;grid-template-columns:minmax(300px,1fr) 165px 210px auto auto;align-items:center;gap:9px;margin-bottom:14px;padding:13px;border:1px solid #dce7f2;border-radius:15px;background:#fff}
.person-period-filter select{height:44px;border:1px solid #dce6f0;border-radius:10px;background:#fff;padding:0 11px;color:#425b72;font-size:12px;outline:none}
.person-period-filter select:focus{border-color:#75a9e3;box-shadow:0 0 0 3px rgba(31,111,207,.08)}
.person-period-groups{display:grid;gap:15px}
.person-period-department{overflow:hidden;border:1px solid #dbe6f1;border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(22,69,117,.05)}
.person-period-department>.department-head{padding:16px 18px;background:linear-gradient(90deg,#f3f8ff,#fff)}
.person-period-people{display:grid;gap:11px;padding:13px}
.person-period-person{overflow:hidden;border:1px solid #dfe8f1;border-radius:14px;background:#fff}
.person-period-person>summary{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(550px,1.6fr) 24px;align-items:center;gap:16px;padding:14px 16px;cursor:pointer;list-style:none;background:#fbfdff;transition:.18s ease}
.person-period-person>summary::-webkit-details-marker{display:none}
.person-period-person[open]>summary{background:linear-gradient(90deg,#eef6ff,#fff);border-bottom:1px solid #dfe8f1}
.person-period-person>summary:hover{background:#f2f8ff}
.person-period-person[open] .detail-chevron{transform:rotate(90deg)}
.person-period-person-name{display:flex;align-items:center;gap:11px}
.person-period-person-name .avatar{width:44px;height:44px;border-radius:12px}
.person-period-person-name h3{margin:0;color:#203f59;font-size:14px}
.person-period-person-name p{margin:4px 0 0;color:#8494a5;font-size:9px}
.person-period-summary-kpis{display:grid;grid-template-columns:repeat(6,minmax(72px,1fr));gap:7px}
.person-period-summary-kpis span{padding:8px 6px;border-radius:9px;background:#f0f5fa;color:#75889b;font-size:8px;text-align:center}
.person-period-summary-kpis span b{display:block;margin-bottom:3px;color:#244a68;font-size:13px}
.person-period-summary-kpis span.danger{background:#ffebed;color:#c4424d}.person-period-summary-kpis span.danger b{color:#c4424d}
.person-period-task-area{overflow:auto;padding:0 14px 14px}
.person-period-task-head,.person-period-task-row{display:grid;grid-template-columns:62px minmax(260px,1.8fr) minmax(190px,1.2fr) minmax(140px,.9fr) 105px 85px 75px 105px 44px;align-items:center;gap:10px;min-width:0}
.person-period-task-head{padding:10px 11px;color:#74879a;font-size:9px;font-weight:700;background:#f1f5f9;border-bottom:1px solid #dfe7ef}
.person-period-task-row{padding:11px;border-bottom:1px solid #edf1f5;color:#4a6278;font-size:9px}
.person-period-task-row:last-child{border-bottom:0}.person-period-task-row:hover{background:#f8fbff}
.person-period-task-name{min-width:0}.person-period-task-name b{display:block;color:#294862;font-size:11px;line-height:1.45}.person-period-task-name small{display:block;margin-top:3px;color:#8898a8;font-size:8px}
.person-period-task-name p{margin:5px 0 0;color:#587086;font-size:9px;line-height:1.5;white-space:normal}
.person-period-change{padding:8px 9px;border-radius:9px;background:#f1f5f9}.person-period-change b{display:block;color:#3e5c75;font-size:9px}.person-period-change small{display:block;margin-top:3px;color:#8a99a8;font-size:7px}
.person-period-change.up{background:#eaf7f1}.person-period-change.up b{color:#16865d}.person-period-change.down{background:#fff2df}.person-period-change.down b{color:#b77914}
.person-period-current{display:flex;align-items:center;gap:8px}.person-period-current>span{height:7px;flex:1;border-radius:999px;background:#e6edf4;overflow:hidden}
.person-period-current i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#347fd7,#52b3e2)}.person-period-current b{width:34px;color:#27619d;font-size:9px}
.person-period-date,.person-period-result{color:#5d7489;font-size:9px}
.executive-person-clickable{cursor:pointer;transition:.16s ease}.executive-person-clickable:hover{background:#eef6ff!important;transform:translateX(2px)}
@media(max-width:1500px){.person-period-kpis{grid-template-columns:repeat(3,1fr)}.person-period-filter{grid-template-columns:minmax(260px,1fr) 160px 190px auto}.person-period-person>summary{grid-template-columns:minmax(210px,.8fr) minmax(480px,1.5fr) 22px}}
@media(max-width:1100px){.person-period-hero{align-items:flex-start;flex-direction:column}.person-period-person>summary{grid-template-columns:1fr 24px}.person-period-summary-kpis{grid-column:1/-1;grid-template-columns:repeat(3,1fr)}.person-period-filter{grid-template-columns:1fr 1fr}.person-period-filter .toolbar-search{grid-column:1/-1}}
@media(max-width:700px){.person-period-kpis{grid-template-columns:repeat(2,1fr)}.person-period-filter{grid-template-columns:1fr}.person-period-summary-kpis{grid-template-columns:repeat(2,1fr)}.person-period-nav{width:100%;display:grid;grid-template-columns:44px 1fr 44px}.person-period-nav .period-current{min-width:0}}


/* ===== V1.6.1 手机专版适配 ===== */
.mobile-login-logo,
.mobile-bottom-nav,
.mobile-more-sheet,
.mobile-nav-overlay,
.mobile-filter-toggle{display:none}

/* 手机筛选抽屉：桌面保持原样 */
.mobile-filter-shell{margin-bottom:14px}
.mobile-filter-content{display:block}
.mobile-filter-content>.toolbar,
.mobile-filter-content>.person-period-filter{margin-bottom:0}

/* 触控设备优化 */
@media(hover:none) and (pointer:coarse){
  .btn,.icon-button,.nav button,.mobile-bottom-nav button{min-height:44px}
  button,select,input,textarea{-webkit-tap-highlight-color:transparent}
}

@media(max-width:820px){
  :root{--mobile-bottom-nav-height:72px}
  html{background:#eef3f8;scroll-padding-top:64px}
  body{min-width:0;background:#eef3f8;font-size:14px;padding-bottom:calc(var(--mobile-bottom-nav-height) + env(safe-area-inset-bottom))}
  body.mobile-menu-open{overflow:hidden}

  /* 登录手机专版 */
  .login-page{display:block;min-height:100dvh;background:linear-gradient(180deg,#07366d 0 138px,#eef4fa 138px)}
  .login-page .hero{display:none}
  .login-side{display:flex;min-height:100dvh;align-items:flex-start;justify-content:center;padding:34px 16px calc(34px + env(safe-area-inset-bottom))}
  .mobile-login-logo{display:block;width:220px;max-width:72vw;margin:2px auto 24px;filter:drop-shadow(0 10px 20px rgba(0,0,0,.13))}
  .login-card{width:100%;max-width:430px;border-radius:22px;padding:22px 18px;box-shadow:0 20px 60px rgba(7,51,102,.18)}
  .login-title h2{font-size:22px}.login-title p{font-size:12px}
  .login-card .field span{font-size:13px}
  .login-card .field input{height:50px;font-size:16px}
  .remember-password{padding:13px}
  .login-submit{min-height:50px;font-size:15px}

  /* 主框架 */
  .shell{display:block;min-height:100dvh}
  .sidebar{display:none!important}
  .main{min-width:0;width:100%}
  .topbar{position:sticky;top:0;z-index:45;min-height:58px;padding:8px 12px;border-bottom:1px solid rgba(201,215,228,.9);background:rgba(247,250,253,.93);backdrop-filter:blur(18px)}
  .topbar-title{min-width:0;flex:1}
  .topbar h1{font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .topbar p{display:none}
  .sync{width:38px;height:38px;justify-content:center;padding:0;border-radius:12px}
  .sync span{display:none!important}
  .topbar-sync-button{width:38px!important;min-width:38px!important;height:38px!important;padding:0!important;border-radius:12px}
  .topbar-sync-button span{display:none}
  .topbar-sync-button .ui-icon{width:18px;height:18px}
  .content{width:100%;max-width:none;padding:16px 12px calc(24px + var(--mobile-bottom-nav-height) + env(safe-area-inset-bottom))}
  .page-transition{min-width:0}
  .pagehead{display:block;margin-bottom:14px}
  .pagehead h2{font-size:23px;line-height:1.25}
  .pagehead p{margin-top:6px;font-size:12px;line-height:1.55}
  .pagehead .actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:13px}
  .pagehead .actions:empty{display:none}
  .pagehead .actions>.btn{width:100%;min-width:0;padding:0 10px}
  .pagehead .actions>.btn:only-child{grid-column:1/-1}
  .pagehead .actions .analysis-mode-switch,
  .pagehead .actions .daily-date-actions{grid-column:1/-1;width:100%}

  /* 底部固定导航 */
  .mobile-bottom-nav{position:fixed;z-index:80;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(5,1fr);height:calc(var(--mobile-bottom-nav-height) + env(safe-area-inset-bottom));padding:6px 6px env(safe-area-inset-bottom);border-top:1px solid rgba(197,211,224,.9);background:rgba(255,255,255,.94);box-shadow:0 -10px 30px rgba(23,65,108,.12);backdrop-filter:blur(20px)}
  .mobile-bottom-nav button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;border:0;border-radius:12px;background:transparent;color:#75889b;font-size:10px;line-height:1}
  .mobile-bottom-nav button i{display:grid;place-items:center;width:27px;height:27px;border-radius:9px}
  .mobile-bottom-nav button .ui-icon{width:20px;height:20px}
  .mobile-bottom-nav button span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .mobile-bottom-nav button.active{color:#176ed1;font-weight:800}
  .mobile-bottom-nav button.active i{background:#e8f3ff}
  .mobile-bottom-nav button.active:after{content:"";position:absolute;top:-6px;width:28px;height:3px;border-radius:0 0 4px 4px;background:#2b7edc}

  /* 更多功能底部抽屉 */
  .mobile-nav-overlay{position:fixed;z-index:89;inset:0;display:block;visibility:hidden;background:rgba(4,19,39,.45);opacity:0;backdrop-filter:blur(4px);transition:.22s ease}
  .mobile-nav-overlay.open{visibility:visible;opacity:1}
  .mobile-more-sheet{position:fixed;z-index:90;left:0;right:0;bottom:0;display:block;max-height:min(78dvh,700px);overflow:auto;padding:17px 15px calc(20px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;background:#fff;box-shadow:0 -24px 70px rgba(4,31,61,.25);transform:translateY(105%);transition:transform .32s cubic-bezier(.2,.8,.2,1)}
  .mobile-more-sheet.open{transform:translateY(0)}
  .mobile-more-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid #e7edf3}
  .mobile-more-user{display:flex;align-items:center;gap:10px;min-width:0}
  .mobile-more-user>div{min-width:0}.mobile-more-user b,.mobile-more-user small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .mobile-more-user b{font-size:14px}.mobile-more-user small{margin-top:4px;color:#8393a3;font-size:10px}
  .mobile-more-title{margin:16px 2px 10px;color:#75879a;font-size:11px;font-weight:800;letter-spacing:.7px}
  .mobile-more-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .mobile-more-grid button{display:grid;grid-template-columns:38px minmax(0,1fr) 16px;align-items:center;gap:9px;min-height:62px;padding:9px 11px;border:1px solid #e0e8f0;border-radius:14px;background:#f8fbff;color:#3e5870;text-align:left}
  .mobile-more-grid button>i{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#e8f3ff;color:#176ed1}
  .mobile-more-grid button>i .ui-icon{width:19px;height:19px}
  .mobile-more-grid button>span{font-size:12px;font-weight:700}
  .mobile-more-grid button>em{color:#90a2b4}
  .mobile-more-grid button.active{border-color:#8dbdea;background:#edf6ff;color:#176ed1}
  .mobile-more-empty{grid-column:1/-1;margin:0;padding:25px;color:#8797a8;text-align:center}
  .mobile-more-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:15px}

  /* 手机筛选抽屉 */
  .mobile-filter-shell{margin-bottom:13px;border:1px solid #dce7f1;border-radius:15px;background:#fff;overflow:hidden}
  .mobile-filter-toggle{display:flex;width:100%;min-height:48px;align-items:center;justify-content:space-between;gap:10px;padding:0 14px;border:0;background:linear-gradient(90deg,#f3f8ff,#fff);color:#35536d;text-align:left}
  .mobile-filter-toggle>span,.mobile-filter-toggle>em{display:flex;align-items:center;gap:7px}
  .mobile-filter-toggle>span .ui-icon{width:17px;height:17px;color:#176ed1}
  .mobile-filter-toggle b{font-size:13px}
  .mobile-filter-toggle em{color:#7c8fa2;font-size:10px;font-style:normal}
  .mobile-filter-toggle em .ui-icon{width:14px;height:14px;transition:.2s}
  .mobile-filter-shell.open .mobile-filter-toggle em .ui-icon{transform:rotate(90deg)}
  .mobile-filter-content{display:none;padding:11px;border-top:1px solid #e7edf3}
  .mobile-filter-shell.open .mobile-filter-content{display:block}
  .mobile-filter-content .toolbar,
  .mobile-filter-content .person-period-filter{display:grid!important;grid-template-columns:1fr!important;gap:9px!important;padding:0!important;border:0!important;margin:0!important;box-shadow:none!important}
  .mobile-filter-content .toolbar-search{grid-column:auto!important;width:100%;min-width:0}
  .mobile-filter-content select,
  .mobile-filter-content .btn,
  .mobile-filter-content .view-switch{width:100%;min-width:0}
  .mobile-filter-content .view-switch{display:grid;grid-template-columns:repeat(3,1fr)}
  .mobile-filter-content .view-switch button{min-width:0;padding:0 7px}

  /* KPI 横向滑动，减少纵向占用 */
  .stats,.analysis-kpis,.executive-kpis,.daily-overview,.admin-affair-kpis,.person-period-kpis,.temp-summary,.my-task-stats{
    display:flex!important;gap:10px!important;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:2px 2px 10px;margin-left:-2px;margin-right:-12px
  }
  .stats::-webkit-scrollbar,.analysis-kpis::-webkit-scrollbar,.executive-kpis::-webkit-scrollbar,.daily-overview::-webkit-scrollbar,.admin-affair-kpis::-webkit-scrollbar,.person-period-kpis::-webkit-scrollbar,.temp-summary::-webkit-scrollbar,.my-task-stats::-webkit-scrollbar{display:none}
  .stats>*,.analysis-kpis>*,.executive-kpis>*,.daily-overview>*,.admin-affair-kpis>*,.person-period-kpis>*,.temp-summary>*,.my-task-stats>*{
    flex:0 0 158px!important;min-width:158px!important;min-height:92px!important;scroll-snap-align:start;padding:14px!important;border-radius:15px!important
  }
  .stat strong{font-size:27px;margin-top:10px}
  .stat label,.analysis-kpis small,.executive-kpis small,.daily-overview small,.admin-affair-kpis small,.person-period-kpis small{font-size:11px!important}
  .analysis-kpis b,.executive-kpis b,.daily-overview b,.admin-affair-kpis b,.person-period-kpis b{font-size:22px!important}

  /* 通用信息块 */
  .scope-note{padding:11px 12px;font-size:12px;line-height:1.6}
  .panel{padding:15px;border-radius:16px}
  .panel h3,.section-head h3{font-size:15px}
  .panel-sub{font-size:11px;line-height:1.55}
  .grid2,.leadership-grid,.analysis-grid.top,.analysis-grid.bottom,.analysis-grid.detail,.executive-grid.top,.executive-grid.bottom{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
  .dept-overview,.executive-depts,.admin-template-grid{grid-template-columns:1fr!important}
  .dashboard-section{margin-top:12px}
  .section-head{gap:8px}
  .section-head .text-link{font-size:12px}

  /* 电脑任务表格改为手机卡片 */
  .tablewrap{overflow:visible!important;border:0!important;background:transparent!important}
  .tablewrap table{display:block;width:100%;min-width:0!important}
  .tablewrap thead{display:none}
  .tablewrap tbody{display:grid;gap:11px}
  .tablewrap tr{display:block;overflow:hidden;border:1px solid #dce7f1;border-radius:16px;background:#fff;box-shadow:0 7px 20px rgba(28,75,125,.055)}
  .tablewrap tr:hover{background:#fff}
  .tablewrap td{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;padding:9px 13px;border:0;border-bottom:1px solid #edf1f5;font-size:12px;text-align:right}
  .tablewrap td:last-child{border-bottom:0}
  .tablewrap td:before{content:attr(data-label);flex:0 0 70px;color:#8191a1;font-size:10px;font-weight:700;text-align:left}
  .tablewrap td.mobile-task-main{display:block;padding:14px 13px 12px;text-align:left}
  .tablewrap td.mobile-task-main:before{display:none}
  .task-title-cell{align-items:flex-start}.task-title-cell b{font-size:14px;line-height:1.5}.task-title-cell .muted{font-size:10px;line-height:1.55}
  .task-type-icon{width:38px;height:38px}
  .owner-cell{justify-content:flex-end;text-align:left}.owner-cell small{font-size:9px}
  .date-cell{justify-content:flex-end;font-size:12px}
  .progress{width:min(190px,62vw)}
  .progress-row{font-size:10px}
  .status-stack{align-items:flex-end}
  .status-with-icon{font-size:10px;padding:7px 10px}
  .mobile-task-actions{display:block!important;padding:10px 12px!important;background:#f8fbff}
  .mobile-task-actions:before{display:none}
  .row-actions{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;width:100%}
  .row-actions .icon-button{display:flex;width:100%!important;height:42px!important;align-items:center;justify-content:center;gap:5px;border-radius:10px;font-size:10px}
  .row-actions .icon-button:after{content:attr(data-mobile-label);white-space:nowrap}
  .owner-task-group{border-radius:17px;overflow:hidden}
  .owner-group-head{align-items:flex-start;flex-direction:column;gap:12px;padding:14px}
  .owner-group-kpis{display:grid;grid-template-columns:repeat(4,1fr);width:100%;gap:6px}
  .owner-group-kpis span{padding:8px 5px;text-align:center}
  .owner-group-kpis b{display:block}

  /* 人员周月任务：逐项卡片，不横向表格 */
  .person-period-switch{min-width:0;width:100%}
  .person-period-hero,.executive-hero,.admin-affair-hero{padding:16px;border-radius:17px}
  .person-period-hero>div:first-child>span,.admin-affair-hero>div:first-child>span{width:44px;height:44px}
  .person-period-hero h3,.executive-hero h2,.admin-affair-hero h3{font-size:19px}
  .person-period-hero p,.executive-hero p,.admin-affair-hero p{font-size:11px;line-height:1.55}
  .person-period-nav,.executive-period,.period-nav{width:100%;display:grid;grid-template-columns:44px minmax(0,1fr) 44px}
  .person-period-nav .period-current,.executive-period .period-current,.period-current{min-width:0}
  .person-period-person>summary{display:grid;grid-template-columns:1fr 22px;gap:10px;padding:13px}
  .person-period-summary-kpis{grid-column:1/-1;grid-template-columns:repeat(3,1fr);gap:6px}
  .person-period-summary-kpis span{font-size:9px}
  .person-period-summary-kpis span b{font-size:14px}
  .person-period-task-area{overflow:visible;padding:10px}
  .person-period-task-head{display:none}
  .person-period-task-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;min-width:0!important;margin-bottom:10px;padding:12px;border:1px solid #e0e8f0;border-radius:13px;background:#fff}
  .person-period-task-row:last-child{margin-bottom:0}
  .person-period-task-row>*{min-width:0}
  .person-period-task-row>*:not(.person-period-task-name):not(.person-period-detail-button){display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 8px;border-radius:9px;background:#f5f8fb;font-size:10px}
  .person-period-task-row>*:not(.person-period-task-name):not(.person-period-detail-button):before{content:attr(data-label);color:#8191a1;font-size:9px;font-weight:700}
  .person-period-task-name{grid-column:1/-1;padding-bottom:10px;border-bottom:1px solid #edf1f5}
  .person-period-task-name:before{content:attr(data-label);display:block;margin-bottom:6px;color:#8191a1;font-size:9px;font-weight:700}
  .person-period-task-name b{font-size:13px}.person-period-task-name small,.person-period-task-name p{font-size:9px}
  .person-period-change{display:block!important}.person-period-change:before{display:block!important;margin-bottom:5px}
  .person-period-current{display:block!important}.person-period-current:before{display:block!important;margin-bottom:6px}
  .person-period-current>span{display:block;width:100%;margin-bottom:5px}
  .person-period-current b{display:block;width:auto;text-align:right}
  .person-period-date,.person-period-result{font-size:10px}
  .person-period-detail-button{grid-column:1/-1;display:flex!important;width:100%!important;height:42px!important;gap:7px;border-radius:10px;color:#176ed1}
  .person-period-detail-button:after{content:"查看完整任务详情";font-size:11px;font-weight:700}

  /* 领导平台人员汇总转手机卡片 */
  .executive-person-table{overflow:visible;border:0}
  .executive-person-table-head{display:none}
  .executive-person-table article{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;min-width:0!important;margin-bottom:10px;padding:12px!important;border:1px solid #dfe8f1!important;border-radius:13px;background:#fff!important}
  .executive-person-identity{grid-column:1/-1;padding-bottom:9px;border-bottom:1px solid #edf1f5}
  .executive-person-table article>span,.executive-person-table article>strong,.executive-person-table article>em,.executive-person-progress{display:block;text-align:left}
  .executive-person-table article>span:nth-child(2):before{content:"部门 / 层级";display:block;color:#8797a7;font-size:8px}
  .executive-person-table article>strong:nth-child(3):before{content:"负责任务";display:block;color:#8797a7;font-size:8px}
  .executive-person-table article>strong:nth-child(4):before{content:"协作任务";display:block;color:#8797a7;font-size:8px}
  .executive-person-table article>strong:nth-child(5):before{content:"已完成";display:block;color:#8797a7;font-size:8px}
  .executive-person-progress:before{content:"平均进度";display:block;margin-bottom:6px;color:#8797a7;font-size:8px}
  .executive-person-table article>span:nth-child(7):before{content:"完成率";display:block;color:#8797a7;font-size:8px}
  .executive-person-table article>em:before{content:"风险状态";display:block;margin-bottom:4px;color:inherit;font-size:8px}

  /* 图表和趋势可滑动 */
  .trend-chart,.executive-trend{overflow-x:auto;display:grid!important;grid-template-columns:repeat(7,72px)!important;gap:7px!important;padding-bottom:8px;scroll-snap-type:x mandatory}
  .trend-column,.executive-trend-column{scroll-snap-align:start}
  .status-chart,.executive-status{flex-direction:column}
  .dept-analysis{grid-template-columns:1fr}
  .workload-list article{grid-template-columns:26px 38px minmax(0,1fr);gap:8px}
  .workload-progress{grid-column:2/-1}.workload-list em{grid-column:2/-1;justify-self:start}
  .executive-digital-strip{grid-template-columns:1fr!important}
  .executive-detail-summary{grid-template-columns:repeat(2,1fr)}

  /* 日工作进度 */
  .daily-date-actions{display:grid!important;grid-template-columns:1fr 1.4fr 1fr!important;gap:7px}
  .daily-date-actions .btn{padding:0 8px}.daily-date-actions .btn span{display:none}
  .daily-date-actions [data-daily-current]{display:none}
  .daily-scope{display:grid;grid-template-columns:auto 1fr;gap:7px 9px}
  .daily-scope select{grid-column:1/-1;width:100%}
  .daily-report-module{display:grid;grid-template-columns:42px minmax(0,1fr);gap:11px;padding:14px}
  .daily-report-module .btn{grid-column:1/-1;width:100%}
  .daily-dept-head{align-items:flex-start;flex-direction:column;gap:10px}
  .daily-dept-kpis{width:100%;display:grid;grid-template-columns:1fr 1fr}
  .daily-person{padding:14px}
  .daily-person-head{align-items:flex-start}
  .daily-person-kpis{grid-template-columns:repeat(2,1fr)}
  .daily-narrative li,.daily-no-summary{font-size:12px;line-height:1.75}

  /* 行政事务 */
  .admin-affair-date-actions{width:100%;display:grid;grid-template-columns:1fr 1.4fr 1fr}
  .admin-affair-date-actions [data-admin-affair-current]{display:none}
  .admin-affair-date-actions .btn span{display:none}
  .admin-template-grid{display:flex!important;overflow-x:auto;gap:9px;scroll-snap-type:x mandatory}
  .admin-template-grid button{flex:0 0 230px;scroll-snap-align:start}
  .admin-affair-item{grid-template-columns:42px minmax(0,1fr);padding:13px}
  .admin-affair-status,.admin-affair-item .row-actions,.admin-readonly{grid-column:2;justify-self:start;text-align:left}
  .admin-affair-item .row-actions{display:flex!important;width:auto}
  .admin-affair-item .row-actions .icon-button{width:74px!important}
  .admin-category-summary{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}
  .admin-category-summary span{flex:none}

  /* 图片智能派发 */
  .dispatch-grid{grid-template-columns:1fr}
  .ocr-upload{min-height:52px;font-size:14px}
  .ocr-preview-box{min-height:220px}
  .ocr-text{min-height:260px;font-size:13px;line-height:1.65}
  .draft-head{align-items:flex-start;flex-direction:column}
  .draft-head .actions{width:100%;display:grid;grid-template-columns:1fr}
  .draft-head .actions .btn{width:100%}

  /* 弹窗改为底部操作面板 */
  .backdrop{align-items:end;padding:0}
  .modal,.modal.wide{width:100%;max-width:none;max-height:94dvh;border-radius:22px 22px 0 0;animation:mobileSheetIn .3s cubic-bezier(.2,.8,.2,1) both}
  .modalhead{padding:17px 16px 13px}.modalhead h2{font-size:19px}.modalhead p{font-size:11px}
  .modal form>.formgrid,.modal>.formgrid,.modal>.detail,.modal>.ocr-preview,.modal>.daily-report-preview,.daily-report-body{padding-left:14px!important;padding-right:14px!important}
  .formgrid{grid-template-columns:1fr}.formgrid .full{grid-column:auto}
  .field input,.field select{height:48px;font-size:16px}.field textarea{font-size:15px}
  .modalfoot{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:11px 14px calc(11px + env(safe-area-inset-bottom))}
  .modalfoot .btn{width:100%;min-height:46px}
  .modalfoot .btn.primary:last-child{grid-column:1/-1}
  .daily-report-modal{height:94dvh}
  .daily-report-summary{display:flex!important;overflow-x:auto;gap:8px}
  .daily-report-summary article{flex:0 0 112px}
  .daily-report-text{min-height:46dvh;font-size:13px;line-height:1.8}
  #toast{bottom:calc(var(--mobile-bottom-nav-height) + 16px + env(safe-area-inset-bottom));max-width:calc(100vw - 28px);font-size:12px}

  /* 空状态与文字可读性 */
  .empty{padding:40px 16px}.empty b{font-size:15px}.empty span{font-size:12px;line-height:1.6}
  .badge{font-size:9px}
  .assistant-wrap{bottom:calc(var(--mobile-bottom-nav-height) + 12px + env(safe-area-inset-bottom))}
}

@media(max-width:390px){
  .content{padding-left:9px;padding-right:9px}
  .pagehead .actions{grid-template-columns:1fr}
  .pagehead .actions>*{grid-column:1!important}
  .stats>*,.analysis-kpis>*,.executive-kpis>*,.daily-overview>*,.admin-affair-kpis>*,.person-period-kpis>*,.temp-summary>*,.my-task-stats>*{flex-basis:148px!important;min-width:148px!important}
  .person-period-summary-kpis{grid-template-columns:repeat(2,1fr)}
  .person-period-task-row{grid-template-columns:1fr}
  .person-period-task-row>*{grid-column:1}
  .mobile-more-grid{grid-template-columns:1fr}
  .mobile-more-actions{grid-template-columns:1fr}
}

@keyframes mobileSheetIn{
  from{opacity:.7;transform:translateY(45px)}
  to{opacity:1;transform:translateY(0)}
}


/* ===== V1.6.2 手机端深度重构：稳定布局、无截断、无竖排 ===== */
@media(max-width:820px){
  :root{--mobile-bottom-nav-height:66px}
  body{font-size:14px;overflow-x:hidden}
  .content{padding:13px 12px calc(22px + var(--mobile-bottom-nav-height) + env(safe-area-inset-bottom))}

  /* 顶栏只承担应用级导航，避免与页面标题重复 */
  .topbar{min-height:54px;padding:7px 12px}
  .topbar-title h1{font-size:0!important}
  .topbar-title h1:after{content:'企管中心工作台';font-size:16px;line-height:1.2;color:#173552;font-weight:850}
  .pagehead{margin-bottom:12px}
  .pagehead h2{display:none!important}
  .pagehead p{margin:0;font-size:12px;line-height:1.6;color:#74869a}
  .pagehead .actions{margin-top:11px}

  /* 底部导航更紧凑，文字不会被挤压 */
  .mobile-bottom-nav{height:calc(var(--mobile-bottom-nav-height) + env(safe-area-inset-bottom));padding:5px 4px env(safe-area-inset-bottom)}
  .mobile-bottom-nav button{gap:2px;border-radius:10px;font-size:9.5px}
  .mobile-bottom-nav button i{width:25px;height:25px}
  .mobile-bottom-nav button .ui-icon{width:18px;height:18px}
  .mobile-bottom-nav button.active:after{top:-5px}

  /* 日期切换：上一日 | 日期 | 下一日，彻底取消三行错位 */
  .daily-date-actions,
  .admin-affair-date-actions{display:grid!important;grid-template-columns:46px minmax(0,1fr) 46px!important;gap:8px!important;width:100%!important;align-items:center}
  .daily-date-actions .daily-date-picker,
  .admin-affair-date-actions .daily-date-picker{grid-column:auto!important;min-width:0!important;width:100%!important;height:46px!important;justify-content:center!important;padding:0 10px!important}
  .daily-date-actions .daily-date-picker input,
  .admin-affair-date-actions .daily-date-picker input{width:100%!important;min-width:0!important;text-align:center;font-size:14px!important}
  .daily-date-actions .btn,
  .admin-affair-date-actions .btn{width:46px!important;min-width:46px!important;height:46px!important;padding:0!important;border-radius:12px!important}
  .daily-date-actions .btn span,
  .admin-affair-date-actions .btn span{display:none!important}
  .daily-date-actions [data-daily-current],
  .admin-affair-date-actions [data-admin-affair-current]{display:none!important}

  /* 数据概览不再露出半张卡片：固定双列 */
  .stats,.analysis-kpis,.executive-kpis,.daily-overview,.admin-affair-kpis,.person-period-kpis,.temp-summary,.my-task-stats{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;overflow:visible!important;
    margin-left:0!important;margin-right:0!important;padding:0!important;scroll-snap-type:none!important
  }
  .stats>*,.analysis-kpis>*,.executive-kpis>*,.daily-overview>*,.admin-affair-kpis>*,.person-period-kpis>*,.temp-summary>*,.my-task-stats>*{
    min-width:0!important;width:auto!important;min-height:92px!important;flex:none!important;padding:13px!important;border-radius:15px!important
  }
  .daily-overview article{display:flex!important;align-items:center!important;gap:10px!important}
  .daily-overview article>span{width:40px!important;height:40px!important;flex:0 0 40px!important}
  .daily-overview article b{font-size:23px!important}
  .daily-overview article small{font-size:10px!important;white-space:normal!important}

  /* 部门日报卡：图标、说明和按钮各占明确区域，禁止文字竖排 */
  .daily-report-module{
    display:grid!important;grid-template-columns:44px minmax(0,1fr)!important;align-items:center!important;gap:11px!important;
    min-height:0!important;margin-bottom:13px!important;padding:14px!important;text-align:left!important
  }
  .daily-report-module-icon{display:grid!important;width:44px!important;height:44px!important;margin:0!important;grid-column:1!important;grid-row:1!important}
  .daily-report-module>div:nth-child(2){grid-column:2!important;grid-row:1!important;min-width:0!important;width:100%!important}
  .daily-report-module h3{margin:0!important;font-size:16px!important;line-height:1.35!important;word-break:normal!important;white-space:normal!important}
  .daily-report-module p{margin:5px 0 0!important;font-size:11px!important;line-height:1.55!important;word-break:normal!important;white-space:normal!important}
  .daily-report-module .btn{grid-column:1/-1!important;grid-row:2!important;width:100%!important;min-height:46px!important;margin-top:2px!important}

  /* 查看范围卡更紧凑 */
  .daily-scope{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;gap:7px 9px!important;padding:12px!important}
  .daily-scope>.ui-icon{align-self:center}
  .daily-scope b{font-size:12px}
  .daily-scope span{min-width:0;font-size:11px;white-space:normal}
  .daily-scope select{grid-column:1/-1!important;width:100%!important;height:46px!important;margin-top:2px}

  /* 部门进度信息层级 */
  .daily-dept{border-radius:17px!important}
  .daily-dept-head{padding:14px!important}
  .daily-dept-head>div:first-child h3{font-size:17px!important}
  .daily-dept-kpis{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
  .daily-dept-kpis span{min-height:66px!important;padding:10px!important;border-radius:12px!important}
  .daily-person-grid{padding:10px!important;gap:10px!important}
  .daily-person{padding:13px!important;border-radius:14px!important}
  .daily-person-head{gap:8px!important}
  .daily-person-name{min-width:0}
  .daily-person-name h3{font-size:15px!important}
  .daily-state{flex:0 0 auto;font-size:9px!important;padding:7px 9px!important}
  .daily-person-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  .daily-person-kpis span{min-width:0!important;padding:10px 6px!important}

  /* 任务页面：更紧凑、更稳定 */
  .scope-note{border-radius:14px!important}
  .view-switch{min-height:46px}
  .owner-task-groups{gap:12px!important}
  .owner-task-group{border-radius:17px!important}
  .owner-group-head{padding:13px!important}
  .owner-group-person .avatar{width:46px!important;height:46px!important}
  .owner-group-person h3{font-size:16px!important}
  .owner-group-kpis{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  .owner-group-kpis span{min-width:0!important;min-height:58px!important;padding:9px 6px!important;border-radius:10px!important}
  .owner-group-kpis b{font-size:17px!important}
  .tablewrap tbody{gap:9px!important}
  .tablewrap tr{border-radius:15px!important}
  .tablewrap td{padding:9px 12px!important}
  .tablewrap td:before{flex-basis:64px!important}
  .tablewrap td.mobile-task-main{padding:13px 12px 11px!important}
  .task-title-cell b{font-size:13px!important}
  .task-title-cell .muted{font-size:9px!important}
  .progress{width:min(180px,58vw)!important}
  .row-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .row-actions .icon-button{min-height:42px!important}

  /* 页面动作按钮在小屏上不出现孤立第三按钮 */
  .pagehead .actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .pagehead .actions>.btn:nth-child(3):last-child{grid-column:1/-1!important}

  /* 行政事务保持双列摘要、单列事务卡 */
  .admin-affair-item{gap:10px!important}
  .admin-affair-main p{font-size:11px!important;line-height:1.6!important}
  .admin-template-grid button{flex-basis:210px!important}

  /* 手机筛选默认收起时只保留一条清晰工具栏 */
  .mobile-filter-shell{border-radius:14px!important;margin-bottom:12px!important}
  .mobile-filter-toggle{min-height:50px!important;padding:0 13px!important}
  .mobile-filter-content{padding:10px!important}

  /* 防止任何标题/说明被压成逐字竖排 */
  .content h1,.content h2,.content h3,.content h4,.content p,.content small,.content span,.content b{
    overflow-wrap:break-word;word-break:normal
  }
  .content [class*='title'],.content [class*='module']>div{min-width:0}
}

@media(max-width:390px){
  .content{padding-left:9px;padding-right:9px}
  .stats,.analysis-kpis,.executive-kpis,.daily-overview,.admin-affair-kpis,.person-period-kpis,.temp-summary,.my-task-stats{gap:7px!important}
  .stats>*,.analysis-kpis>*,.executive-kpis>*,.daily-overview>*,.admin-affair-kpis>*,.person-period-kpis>*,.temp-summary>*,.my-task-stats>*{padding:11px!important}
  .daily-report-module{grid-template-columns:40px minmax(0,1fr)!important;padding:12px!important}
  .daily-report-module-icon{width:40px!important;height:40px!important}
}


/* ===== V1.6.3 行政日报重构与手机端体检优化 ===== */
.admin-report-modal{
  width:min(1160px,calc(100vw - 44px))!important;
  height:min(820px,calc(100dvh - 38px));
  max-height:calc(100dvh - 38px)!important;
  display:flex!important;
  flex-direction:column;
  border:1px solid rgba(171,198,226,.72);
  border-radius:22px!important;
  background:#f7faff;
  box-shadow:0 34px 100px rgba(5,37,76,.30)!important;
}
.admin-report-modal .admin-report-head{
  flex:none;
  padding:21px 25px 17px;
  border-bottom:1px solid #dfe9f3;
  background:linear-gradient(135deg,#fff 0%,#f5f9ff 100%);
}
.admin-report-modal .admin-report-head h2{font-size:23px;color:#173a59}
.admin-report-modal .admin-report-head p{max-width:780px;margin-top:7px;color:#75899d;font-size:12px}
.admin-report-body{
  flex:1;
  min-height:0;
  overflow:auto;
  display:flex;
  flex-direction:column;
  gap:15px;
  width:100%;
  padding:18px 24px 20px;
  box-sizing:border-box;
}
.admin-report-overview-card{
  flex:none;
  padding:15px;
  border:1px solid #dce8f3;
  border-radius:16px;
  background:linear-gradient(135deg,#edf6ff 0%,#fff 72%);
  box-shadow:0 8px 24px rgba(31,93,156,.055);
}
.admin-report-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr)) minmax(210px,1.4fr);
  gap:9px;
}
.admin-report-summary article{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  min-height:68px;
  padding:10px 12px;
  border:1px solid #dce7f1;
  border-radius:12px;
  background:rgba(255,255,255,.94);
}
.admin-report-summary article>span{
  display:grid;
  place-items:center;
  flex:none;
  width:35px;
  height:35px;
  border-radius:10px;
  background:#e8f3ff;
  color:#176ed1;
}
.admin-report-summary article:nth-child(2)>span,
.admin-report-summary article:nth-child(4)>span{background:#e7f8f1;color:#16865d}
.admin-report-summary article.warning>span{background:#ffebed;color:#d64350}
.admin-report-summary article.service-card>span{background:#fff2cf;color:#ae7200}
.admin-report-summary article>span .ui-icon{width:17px;height:17px}
.admin-report-summary article b{
  display:block;
  max-width:100%;
  overflow:hidden;
  color:#173b59;
  font-size:20px;
  line-height:1.15;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.admin-report-summary article.service-card b{font-size:16px}
.admin-report-summary article small{display:block;margin-top:5px;color:#7f91a2;font-size:9px;white-space:nowrap}
.admin-report-editor{
  flex:1;
  min-height:430px;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid #d9e5f0;
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 28px rgba(26,79,133,.055);
}
.admin-report-text{
  flex:1;
  display:block;
  width:100%;
  min-width:0;
  min-height:400px;
  margin:0;
  padding:21px 24px;
  box-sizing:border-box;
  border:0;
  border-radius:0;
  background:#fff;
  color:#24445f;
  font:14px/1.95 "Microsoft YaHei","PingFang SC",sans-serif;
  resize:none;
  outline:none;
  overflow:auto;
  white-space:pre-wrap;
}
.admin-report-text:focus{box-shadow:inset 0 0 0 2px rgba(35,116,205,.13)}
.admin-report-actions{
  flex:none;
  padding:14px 24px!important;
  background:rgba(255,255,255,.97)!important;
}
.admin-report-actions .btn{min-width:108px}
.admin-report-actions .btn.primary{min-width:126px}

/* 手机端顶部显示当前页面名称，不使用固定“工作台”占位 */
@media(max-width:820px){
  .topbar-title h1{font-size:18px!important;color:#173552!important}
  .topbar-title h1:after{content:none!important}

  /* 防止 iOS/微信内置浏览器聚焦输入框时自动放大 */
  input,select,textarea,
  .toolbar input,.toolbar select,
  .mobile-filter-content input,.mobile-filter-content select,
  .daily-date-picker input{font-size:16px!important}

  /* 行政日报改成接近全屏的移动报告页 */
  .admin-report-modal{
    width:100%!important;
    height:94dvh!important;
    max-height:94dvh!important;
    border-radius:22px 22px 0 0!important;
  }
  .admin-report-modal .admin-report-head{padding:16px 15px 13px}
  .admin-report-modal .admin-report-head h2{font-size:19px}
  .admin-report-modal .admin-report-head p{font-size:11px;line-height:1.55}
  .admin-report-body{gap:11px;padding:12px 12px 14px}
  .admin-report-overview-card{padding:11px;border-radius:14px}
  .admin-report-overview-card .daily-report-meta{margin-bottom:10px!important}
  .admin-report-overview-card .daily-report-meta span{
    min-height:32px!important;
    padding:0 9px!important;
    font-size:10px!important;
  }
  .admin-report-summary{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  .admin-report-summary article{
    min-height:61px;
    padding:9px 10px;
  }
  .admin-report-summary article.service-card{grid-column:1/-1}
  .admin-report-summary article>span{width:32px;height:32px}
  .admin-report-summary article b{font-size:18px}
  .admin-report-summary article.service-card b{
    font-size:14px;
    white-space:normal;
    line-height:1.35;
  }
  .admin-report-editor{min-height:0;flex:1;border-radius:14px}
  .admin-report-editor .daily-report-editor-head{
    align-items:flex-start;
    flex-direction:column;
    gap:8px;
    padding:11px 12px;
  }
  .admin-report-editor .daily-report-editor-head>span{font-size:8px}
  .admin-report-text{
    min-height:0;
    flex:1;
    padding:15px 14px;
    font-size:15px!important;
    line-height:1.85;
    resize:none;
  }
  .admin-report-actions{
    position:sticky;
    bottom:0;
    z-index:3;
    display:grid!important;
    grid-template-columns:1fr 1fr;
    gap:8px;
    padding:10px 12px calc(10px + env(safe-area-inset-bottom))!important;
    border-top:1px solid #e2eaf2;
  }
  .admin-report-actions .btn{
    width:100%;
    min-width:0;
    min-height:46px;
  }
  .admin-report-actions .btn:first-child{
    grid-column:1/-1;
    order:3;
  }

  /* 手机上所有弹窗标题与内容保持完整，不出现横向溢出 */
  .modalhead>div{min-width:0}
  .modalhead h2,.modalhead p{max-width:100%;overflow-wrap:anywhere}
  .modal .close{flex:none}
  .modalfoot{box-sizing:border-box}

  /* 筛选展开后控件间距更稳定 */
  .mobile-filter-content .toolbar,
  .mobile-filter-content .person-period-filter{align-items:stretch!important}
  .mobile-filter-content input,
  .mobile-filter-content select{height:48px!important}

  /* 长任务标题、行政说明与日报正文强制在卡片内部换行 */
  .task-title-cell,
  .task-title-cell>div,
  .admin-affair-main,
  .daily-narrative,
  .daily-no-summary{min-width:0!important}
  .task-title-cell b,
  .admin-affair-main p,
  .daily-narrative li,
  .daily-no-summary{
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
  }

  /* 底部导航避免长页面滚动时产生抖动 */
  .mobile-bottom-nav{
    transform:translateZ(0);
    will-change:transform;
    contain:layout paint;
  }
}

@media(max-width:390px){
  .admin-report-summary{grid-template-columns:1fr 1fr}
  .admin-report-summary article{padding:8px}
  .admin-report-text{padding:13px 12px}
}


/* ===== V1.6.4 个人周月分析 ===== */
.personal-analysis-switch{min-width:250px}
.personal-analysis-switch button{display:inline-flex;align-items:center;justify-content:center;gap:7px}
.personal-analysis-hero{
  display:flex;align-items:center;justify-content:space-between;gap:22px;
  margin-bottom:14px;padding:22px 24px;border-radius:20px;
  background:linear-gradient(135deg,#073c78,#0b67b6 58%,#138dcc);
  color:#fff;box-shadow:0 16px 38px rgba(5,67,129,.20)
}
.personal-analysis-identity{display:flex;align-items:center;gap:15px;min-width:0}
.personal-analysis-identity>.avatar{
  width:58px;height:58px;flex:none;border:1px solid rgba(255,255,255,.25);
  background:rgba(255,255,255,.17);color:#fff;font-size:18px;
  box-shadow:inset 0 0 0 5px rgba(255,255,255,.06)
}
.personal-analysis-identity small{color:#a9dcff;font-size:9px;letter-spacing:1.35px}
.personal-analysis-identity h2{margin:5px 0 4px;font-size:23px;line-height:1.25}
.personal-analysis-identity p{margin:0;color:rgba(255,255,255,.75);font-size:11px}
.personal-analysis-controls{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}
.personal-person-selector{
  display:flex;align-items:center;gap:7px;height:43px;padding:0 11px;border:1px solid rgba(255,255,255,.2);
  border-radius:11px;background:rgba(255,255,255,.12);color:#fff
}
.personal-person-selector .ui-icon{width:17px;height:17px}
.personal-person-selector select{min-width:170px;border:0;background:transparent;color:#fff;outline:none;font-size:11px}
.personal-person-selector option{color:#294862;background:#fff}
.personal-self-badge{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border-radius:999px;background:rgba(255,255,255,.13);font-size:9px;color:#d8edff}
.personal-self-badge .ui-icon{width:13px;height:13px}
.personal-analysis-period{padding:4px;border:1px solid rgba(255,255,255,.18);border-radius:13px;background:rgba(255,255,255,.1)}
.personal-analysis-period .icon-button{color:#fff;background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.16)}
.personal-analysis-period .period-current{min-width:170px;background:#fff;border-radius:10px}
.personal-analysis-period .period-current b{color:#173552}.personal-analysis-period .period-current span{color:#7d8fa2}
.personal-copy-button{border-color:rgba(255,255,255,.22)!important;background:rgba(255,255,255,.14)!important;color:#fff!important}

.personal-analysis-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:11px;margin-bottom:14px}
.personal-analysis-kpis article{
  display:flex;align-items:center;gap:11px;min-width:0;min-height:94px;padding:15px;
  border:1px solid #dce7f2;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(27,75,125,.045)
}
.personal-analysis-kpis article>span{display:grid;place-items:center;flex:none;width:41px;height:41px;border-radius:12px;background:#e9f4ff;color:#176ed1}
.personal-analysis-kpis article:nth-child(3)>span{background:#e6f8f0;color:#16865d}
.personal-analysis-kpis article:nth-child(5)>span{background:#e7f7fa;color:#128499}
.personal-analysis-kpis article.danger>span{background:#ffebed;color:#d64350}
.personal-analysis-kpis small{display:block;color:#7e8fa1;font-size:9px}
.personal-analysis-kpis b{display:block;margin:4px 0;color:#173552;font-size:21px;white-space:nowrap}
.personal-analysis-kpis em{display:block;color:#8d9aa8;font-size:8px;font-style:normal;line-height:1.4}

.personal-analysis-grid{display:grid;gap:14px;margin-bottom:14px}
.personal-analysis-grid.top{grid-template-columns:minmax(0,1.55fr) minmax(330px,.75fr)}
.personal-analysis-grid.middle{grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr)}
.personal-analysis-grid.bottom{grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr)}
.personal-analysis-panel{min-width:0;overflow:hidden}
.personal-trend-chart{display:grid;grid-template-columns:repeat(7,minmax(64px,1fr));gap:8px;min-height:205px;padding:8px 5px 0}
.personal-trend-column{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;min-width:0}
.personal-trend-bars{position:relative;display:flex;align-items:flex-end;justify-content:center;gap:5px;width:100%;height:145px;border-bottom:1px solid #dfe7ef}
.personal-trend-bars>span{position:absolute;top:4px;color:#7d8fa1;font-size:7px}
.personal-trend-bars i{display:block;width:14px;min-height:0;border-radius:5px 5px 2px 2px;transition:.25s}
.personal-trend-bars i.personal-delta{background:linear-gradient(180deg,#62b6ee,#347fd7)}
.personal-trend-bars i.done{background:linear-gradient(180deg,#55c99f,#18a879)}
.personal-trend-column>b{margin-top:8px;color:#526b80;font-size:9px}
.personal-trend-column>small{margin-top:3px;color:#93a0ad;font-size:7px}
.chart-legend i.personal-delta{background:#3d87dd}
.personal-status-chart{display:flex;align-items:center;justify-content:center;gap:28px;min-height:215px}
.personal-status-chart .donut{width:145px;height:145px}
.personal-status-chart .status-legend{min-width:135px}

.personal-insights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.personal-insights article{display:flex;align-items:flex-start;gap:10px;min-height:92px;padding:12px;border:1px solid #e0e8f1;border-radius:13px;background:#f9fbfe}
.personal-insights article:last-child:nth-child(odd){grid-column:1/-1}
.personal-insights article>span{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:10px;background:#e8f3ff;color:#176ed1}
.personal-insights article b{display:block;color:#294862;font-size:11px}
.personal-insights article p{margin:5px 0 0;color:#687d90;font-size:9px;line-height:1.65}
.personal-category-list{display:grid;gap:9px}
.personal-category-list article{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(120px,1.4fr) 30px;align-items:center;gap:10px;padding:9px 10px;border-radius:11px;background:#f7faff}
.personal-category-list article b{display:block;color:#35536d;font-size:10px}
.personal-category-list article small{display:block;margin-top:3px;color:#8797a7;font-size:7px}
.personal-category-list article>span{height:8px;border-radius:999px;background:#e2eaf2;overflow:hidden}
.personal-category-list article>span i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#347fd7,#53b3e2)}
.personal-category-list article em{color:#176ed1;font-size:10px;font-style:normal;font-weight:800;text-align:right}

.personal-task-detail-panel{margin-bottom:14px}
.personal-task-count{padding:6px 9px;border-radius:999px;background:#edf5ff;color:#176ed1;font-size:9px}
.personal-task-table-head,.personal-task-row{
  display:grid;grid-template-columns:62px minmax(260px,1.7fr) minmax(190px,1.15fr) minmax(135px,.8fr) 100px 80px 70px 92px 42px;
  align-items:center;gap:9px;min-width:0
}
.personal-task-detail-panel{overflow:auto}
.personal-task-detail-panel>.section-head{position:sticky;left:0}
.personal-task-table-head{padding:10px 11px;background:#f1f5f9;color:#74879a;font-size:8px;font-weight:800}
.personal-task-list{min-width:0}
.personal-task-row{padding:11px;border-bottom:1px solid #edf1f5;color:#52697e;font-size:9px}
.personal-task-row:last-child{border-bottom:0}
.personal-task-row:hover{background:#f8fbff}
.personal-task-name b{display:block;color:#294862;font-size:11px;line-height:1.45}
.personal-task-name small{display:block;margin-top:3px;color:#8a99a8;font-size:7px}
.personal-task-name p{margin:5px 0 0;color:#5d7489;font-size:8px;line-height:1.5}
.personal-period-progress{padding:8px 9px;border-radius:9px;background:#eaf7f1}
.personal-period-progress b{display:block;color:#16865d;font-size:8px}
.personal-period-progress small{display:block;margin-top:3px;color:#779588;font-size:7px}
.personal-current-progress{display:flex;align-items:center;gap:7px}
.personal-current-progress>span{flex:1;height:7px;border-radius:999px;background:#e3ebf3;overflow:hidden}
.personal-current-progress i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#347fd7,#52b3e2)}
.personal-current-progress b{width:32px;color:#27619d;font-size:8px}
.personal-task-detail{color:#176ed1}

.personal-timeline{display:grid;gap:0;max-height:430px;overflow:auto;padding-right:5px}
.personal-timeline article{position:relative;display:grid;grid-template-columns:18px minmax(0,1fr);gap:9px;padding:0 0 16px}
.personal-timeline article:not(:last-child):before{content:"";position:absolute;left:6px;top:13px;bottom:0;width:2px;background:#dbe8f4}
.personal-timeline-dot{position:relative;z-index:1;width:13px;height:13px;margin-top:3px;border:3px solid #dcecff;border-radius:50%;background:#347fd7}
.personal-timeline b{display:block;color:#294862;font-size:11px}
.personal-timeline p{margin:5px 0;color:#61778b;font-size:9px;line-height:1.55}
.personal-timeline small{color:#8a99a8;font-size:8px}
.personal-summary-card{display:flex;flex-direction:column}
.personal-summary-copy{display:flex;align-items:flex-start;gap:12px;flex:1;padding:15px;border:1px solid #dce8f3;border-radius:14px;background:linear-gradient(135deg,#edf6ff,#fff)}
.personal-summary-copy>span{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:12px;background:#176ed1;color:#fff}
.personal-summary-copy p{margin:0;color:#426078;font-size:11px;line-height:1.85}
.personal-summary-card>.btn{width:100%;margin-top:10px}

@media(max-width:1450px){
  .personal-analysis-kpis{grid-template-columns:repeat(3,1fr)}
  .personal-analysis-grid.top,.personal-analysis-grid.middle,.personal-analysis-grid.bottom{grid-template-columns:1fr 1fr}
}
@media(max-width:1050px){
  .personal-analysis-hero{align-items:flex-start;flex-direction:column}
  .personal-analysis-controls{width:100%;justify-content:flex-start}
  .personal-analysis-grid.top,.personal-analysis-grid.middle,.personal-analysis-grid.bottom{grid-template-columns:1fr}
}
@media(max-width:820px){
  .personal-analysis-switch{width:100%;min-width:0}
  .personal-analysis-hero{gap:15px;padding:16px;border-radius:17px}
  .personal-analysis-identity>.avatar{width:50px;height:50px}
  .personal-analysis-identity h2{font-size:18px}
  .personal-analysis-identity p{font-size:10px;line-height:1.5}
  .personal-analysis-controls{display:grid;grid-template-columns:1fr;gap:8px}
  .personal-person-selector{width:100%;height:46px;box-sizing:border-box}
  .personal-person-selector select{width:100%;min-width:0;font-size:16px!important}
  .personal-analysis-period{display:grid;width:100%;grid-template-columns:44px minmax(0,1fr) 44px}
  .personal-analysis-period .period-current{min-width:0}
  .personal-copy-button{width:100%!important}
  .personal-analysis-kpis{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;overflow:visible!important;margin:0 0 13px!important;padding:0!important}
  .personal-analysis-kpis article{min-width:0!important;min-height:96px!important;padding:12px!important}
  .personal-analysis-kpis article>span{width:36px;height:36px}
  .personal-analysis-kpis b{font-size:19px}
  .personal-analysis-grid{margin-bottom:12px}
  .personal-trend-chart{display:flex;overflow-x:auto;gap:7px;min-height:200px;padding-bottom:8px;scroll-snap-type:x mandatory}
  .personal-trend-column{flex:0 0 66px;scroll-snap-align:start}
  .personal-status-chart{flex-direction:column;gap:18px}
  .personal-insights{grid-template-columns:1fr}
  .personal-insights article:last-child:nth-child(odd){grid-column:auto}
  .personal-category-list article{grid-template-columns:minmax(100px,1fr) 1fr 24px}
  .personal-task-detail-panel{overflow:visible}
  .personal-task-detail-panel>.section-head{position:static}
  .personal-task-table-head{display:none}
  .personal-task-list{display:grid;gap:10px;min-width:0}
  .personal-task-row{
    display:grid;grid-template-columns:1fr 1fr;gap:8px;min-width:0;padding:12px;
    border:1px solid #dfe8f1;border-radius:13px;background:#fff
  }
  .personal-task-row>*{min-width:0}
  .personal-task-row>*:not(.personal-task-name):not(.personal-task-detail){
    display:flex;align-items:center;justify-content:space-between;gap:8px;
    padding:7px 8px;border-radius:9px;background:#f5f8fb
  }
  .personal-task-row>*:not(.personal-task-name):not(.personal-task-detail):before{
    content:attr(data-label);color:#8191a1;font-size:9px;font-weight:800
  }
  .personal-task-name{grid-column:1/-1;padding-bottom:9px;border-bottom:1px solid #edf1f5}
  .personal-task-name:before{content:attr(data-label);display:block;margin-bottom:6px;color:#8191a1;font-size:9px;font-weight:800}
  .personal-task-name b{font-size:13px}.personal-task-name small,.personal-task-name p{font-size:9px}
  .personal-period-progress,.personal-current-progress{display:block!important}
  .personal-period-progress:before,.personal-current-progress:before{display:block!important;margin-bottom:6px}
  .personal-current-progress>span{display:block;width:100%;margin-bottom:5px}
  .personal-current-progress b{display:block;width:auto;text-align:right}
  .personal-task-detail{grid-column:1/-1;display:flex!important;width:100%!important;height:42px!important;align-items:center;justify-content:center;gap:7px;border-radius:10px;color:#176ed1}
  .personal-task-detail:after{content:"查看完整任务详情";font-size:11px;font-weight:800}
  .personal-timeline{max-height:none}
  .personal-summary-copy p{font-size:12px}
}
@media(max-width:390px){
  .personal-analysis-kpis{grid-template-columns:1fr 1fr!important;gap:7px!important}
  .personal-analysis-kpis article{display:block;min-height:100px!important}
  .personal-analysis-kpis article>span{margin-bottom:8px}
  .personal-task-row{grid-template-columns:1fr}
  .personal-task-row>*{grid-column:1}
}


/* ===== V1.6.5 华辰工作表精准识别 ===== */
.ocr-template-banner{
  display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:13px;
  margin-bottom:14px;padding:14px 16px;border:1px solid #cfe1f2;border-radius:15px;
  background:linear-gradient(90deg,#eef6ff,#fff);box-shadow:0 8px 22px rgba(28,79,132,.045)
}
.ocr-template-banner>span{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:#176ed1;color:#fff}
.ocr-template-banner>span .ui-icon{width:23px;height:23px}
.ocr-template-banner b{display:block;color:#21445f;font-size:13px}
.ocr-template-banner p{margin:5px 0 0;color:#74889b;font-size:10px;line-height:1.6}
.ocr-template-banner em{padding:7px 10px;border-radius:999px;background:#e7f3ff;color:#176ed1;font-size:9px;font-style:normal;font-weight:800}
.precision-dispatch-grid{grid-template-columns:minmax(390px,.85fr) minmax(500px,1.15fr)}
.ocr-image-stage{position:relative;display:grid;place-items:center;width:100%;height:100%}
.ocr-column-guides{position:absolute;inset:0;pointer-events:none}
.ocr-column-guides i{position:absolute;top:0;bottom:0;width:2px;background:rgba(24,125,215,.74);box-shadow:0 0 0 1px rgba(255,255,255,.75)}
.ocr-column-guides i.owner-start,.ocr-column-guides i.owner-end{background:rgba(220,76,83,.76)}
.ocr-column-guides span{position:absolute;top:7px;transform:translateX(-50%);padding:4px 7px;border-radius:999px;background:rgba(12,68,117,.88);color:#fff;font-size:8px;white-space:nowrap}
.ocr-column-guides .owner-label{background:rgba(187,52,62,.9)}
.precision-recognize-button{display:flex!important;align-items:center;justify-content:center;gap:8px;min-height:48px}
.ocr-precision-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:11px}
.ocr-precision-steps span{display:flex;align-items:center;gap:6px;padding:8px;border-radius:10px;background:#f3f7fb;color:#647b90;font-size:8px;line-height:1.4}
.ocr-precision-steps i{display:grid;place-items:center;flex:none;width:20px;height:20px;border-radius:7px;background:#e4f1ff;color:#176ed1;font-style:normal;font-weight:900}
.strict-help{background:#f4f8ff;border-color:#d9e7f5;color:#486984}
.ocr-precision-summary{margin-top:14px;padding:13px;border:1px solid #cfe5d9;border-radius:14px;background:#f0faf5}
.ocr-precision-summary.warn{border-color:#efd6a7;background:#fff9ec}
.ocr-template-result{display:flex;align-items:center;gap:10px}
.ocr-template-result>span{display:grid;place-items:center;width:35px;height:35px;border-radius:10px;background:#e4f1ff;color:#176ed1}
.ocr-template-result small,.ocr-template-result b{display:block}.ocr-template-result small{color:#8293a4;font-size:8px}.ocr-template-result b{margin-top:3px;color:#2e506b;font-size:10px}
.ocr-result-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-top:11px}
.ocr-result-kpis span{padding:9px 6px;border-radius:10px;background:#fff;color:#647a8e;text-align:center}
.ocr-result-kpis b,.ocr-result-kpis small{display:block}.ocr-result-kpis b{color:#294862;font-size:15px}.ocr-result-kpis small{margin-top:3px;font-size:7px}
.ocr-result-kpis span.good{background:#e8f8f0}.ocr-result-kpis span.good b{color:#16865d}
.ocr-result-kpis span.warning{background:#fff1d8}.ocr-result-kpis span.warning b{color:#ae7100}
.ocr-result-kpis span.danger{background:#ffebed}.ocr-result-kpis span.danger b{color:#cf414c}
.ocr-precision-summary>p{margin:10px 0 0;color:#697f92;font-size:9px;line-height:1.6}
.precision-draft-table{display:grid;gap:9px;margin-top:13px}
.precision-draft-head,.precision-draft-row{
  display:grid;grid-template-columns:minmax(300px,1.6fr) minmax(190px,1fr) minmax(160px,.85fr) 145px 145px 34px;
  gap:9px;align-items:start;min-width:0
}
.precision-draft-head{padding:0 10px;color:#75889b;font-size:9px;font-weight:800}
.precision-draft-panel{overflow:auto}
.precision-draft-row{padding:10px;border:1px solid #dce7f0;border-radius:13px;background:#fff}
.precision-draft-row.good{border-color:#cfe5d9}.precision-draft-row.warning{border-color:#edce92;background:#fffdf7}.precision-draft-row.danger{border-color:#e7aab0;background:#fff9fa}
.precision-draft-row label{display:block;min-width:0}
.precision-draft-row input,.precision-draft-row select,.precision-draft-row textarea{
  width:100%;box-sizing:border-box;border:1px solid #dbe5ef;border-radius:9px;background:#fff;color:#334d68;font-size:10px;outline:none
}
.precision-draft-row input,.precision-draft-row select{height:39px;padding:0 9px}
.precision-draft-row textarea{min-height:68px;padding:9px;resize:vertical;line-height:1.55}
.precision-draft-row label>small,.draft-validation>small{display:block;margin-top:5px;color:#8a99a8;font-size:7px;line-height:1.45;overflow-wrap:anywhere}
.draft-validation{padding-top:2px}
.draft-validation>span{display:flex;align-items:center;justify-content:center;gap:5px;min-height:38px;padding:0 8px;border-radius:9px;font-size:9px;font-weight:800}
.draft-validation>span .ui-icon{width:14px;height:14px}
.draft-validation>span.good{background:#e8f8f0;color:#16865d}
.draft-validation>span.warning{background:#fff1d8;color:#a66a00}
.draft-validation>span.danger{background:#ffebed;color:#c8424d}
.precision-draft-row .draft-description{grid-column:1/6;min-height:54px;background:#f8fafc;color:#60758a;font-size:8px}
.precision-draft-row .draft-remove{margin-top:3px}

@media(max-width:1200px){
  .precision-dispatch-grid{grid-template-columns:1fr}
}
@media(max-width:820px){
  .ocr-template-banner{grid-template-columns:40px minmax(0,1fr);padding:12px}
  .ocr-template-banner>span{width:40px;height:40px}
  .ocr-template-banner em{grid-column:1/-1;justify-self:start}
  .ocr-precision-steps{grid-template-columns:1fr}
  .ocr-result-kpis{grid-template-columns:repeat(2,1fr)}
  .ocr-result-kpis span:first-child{grid-column:1/-1}
  .precision-draft-panel{overflow:visible}
  .precision-draft-head{display:none}
  .precision-draft-row{display:grid;grid-template-columns:1fr;min-width:0;padding:12px}
  .precision-draft-row label,.precision-draft-row .draft-validation{display:block}
  .precision-draft-row label:before,.precision-draft-row .draft-validation:before{
    content:attr(data-label);display:block;margin-bottom:6px;color:#71869a;font-size:10px;font-weight:800
  }
  .precision-draft-row input,.precision-draft-row select{height:48px;font-size:16px!important}
  .precision-draft-row textarea{font-size:14px!important}
  .precision-draft-row .draft-description{grid-column:1}
  .precision-draft-row .draft-remove{width:100%;height:42px;margin:0;font-size:0}
  .precision-draft-row .draft-remove:after{content:"删除该项";font-size:11px;font-weight:800}
}


/* ===== V1.6.6 品牌传播数据自动联动 ===== */
.media-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px;padding:20px 22px;border-radius:19px;background:linear-gradient(135deg,#073c78,#0b65b4 55%,#118fca);color:#fff;box-shadow:0 16px 38px rgba(5,67,129,.18)}
.media-hero>div:first-child{display:flex;align-items:center;gap:14px}.media-hero>div:first-child>span{display:grid;place-items:center;width:52px;height:52px;border-radius:15px;background:rgba(255,255,255,.14)}.media-hero>div:first-child>span .ui-icon{width:25px;height:25px}.media-hero small{color:#a8dcff;font-size:9px;letter-spacing:1.25px}.media-hero h2{margin:4px 0;font-size:23px}.media-hero p{margin:0;color:rgba(255,255,255,.76);font-size:11px}.media-date-control{display:flex;align-items:center;gap:7px;padding:5px;border:1px solid rgba(255,255,255,.17);border-radius:13px;background:rgba(255,255,255,.1)}.media-date-control input{height:39px;min-width:145px;border:0;border-radius:9px;padding:0 10px;background:#fff;color:#294862;font-size:11px}.media-date-control .icon-button{color:#fff;background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.15)}.media-date-control .btn{height:39px;background:#fff!important;color:#176ed1!important}
.media-daily-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:14px}.media-daily-kpis article{display:flex;align-items:center;gap:10px;min-height:92px;padding:14px;border:1px solid #dce7f2;border-radius:15px;background:#fff;box-shadow:0 8px 22px rgba(27,75,125,.045)}.media-daily-kpis article>span{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:12px;background:#e8f3ff;color:#176ed1}.media-daily-kpis article:nth-child(3)>span{background:#fff3d8;color:#b27400}.media-daily-kpis article:nth-child(4)>span{background:#e8f8f0;color:#16865d}.media-daily-kpis small{display:block;color:#8191a2;font-size:9px}.media-daily-kpis b{display:block;margin:4px 0;color:#173552;font-size:20px}.media-daily-kpis em{display:block;color:#8d9baa;font-size:7px;font-style:normal}
.media-account-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}.media-account-card{padding:15px;border:1px solid #dce7f1;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(23,72,120,.045)}.media-account-card.connected{border-color:#c9e7d8}.media-account-card.unconfigured{border-color:#efcf99;background:#fffdf8}.media-account-head{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:10px}.media-platform-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:#10151d;color:#fff}.media-platform-icon.wechat_official{background:#21b866}.media-platform-icon.channels{background:linear-gradient(135deg,#efb600,#f17816)}.media-account-head h3{margin:0;color:#294862;font-size:14px}.media-account-head p{margin:4px 0 0;color:#8495a5;font-size:9px}.media-account-head em{padding:5px 8px;border-radius:999px;background:#e8f8f0;color:#16865d;font-size:8px;font-style:normal;font-weight:800}.media-account-card.waiting .media-account-head em{background:#fff1d8;color:#a96c00}.media-account-card.unconfigured .media-account-head em{background:#ffebed;color:#c8424d}.media-account-body{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:13px 0}.media-account-body span{padding:9px;border-radius:10px;background:#f4f8fc}.media-account-body small,.media-account-body b{display:block}.media-account-body small{color:#8b9aa9;font-size:7px}.media-account-body b{margin-top:4px;color:#526a7f;font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-account-actions{display:flex;justify-content:flex-end}.media-account-actions .btn{height:36px}.media-account-error{margin:0 0 9px;color:#c8424d;font-size:8px;line-height:1.5}.media-readonly-note{display:inline-flex;align-items:center;gap:5px;color:#8797a6;font-size:8px}.media-readonly-note .ui-icon{width:13px;height:13px}
.media-filter{display:grid;grid-template-columns:minmax(300px,1fr) 150px 170px;gap:9px}.media-filter select{height:44px;border:1px solid #dbe5ef;border-radius:10px;padding:0 10px;background:#fff;color:#405c75;font-size:11px}.media-content-panel{overflow:auto}.media-content-count{padding:6px 9px;border-radius:999px;background:#edf5ff;color:#176ed1;font-size:9px}.media-content-head,.media-content-row{display:grid;grid-template-columns:minmax(280px,1.55fr) minmax(180px,.9fr) 120px 120px minmax(160px,.85fr) 130px 120px 110px;align-items:center;gap:9px;min-width:0}.media-content-head{padding:10px;color:#74879a;background:#f1f5f9;font-size:8px;font-weight:800}.media-content-row{padding:11px;border-bottom:1px solid #edf1f5;color:#526a7f;font-size:9px}.media-content-row:last-child{border-bottom:0}.media-content-row.unlinked{background:#fffaf0}.media-content-main{display:flex;align-items:flex-start;gap:9px;min-width:0}.media-mini-platform{display:grid;place-items:center;flex:none;width:35px;height:35px;border-radius:10px;background:#111821;color:#fff}.media-mini-platform.wechat_official{background:#21b866}.media-mini-platform.channels{background:#ef9b14}.media-mini-platform .ui-icon{width:17px;height:17px}.media-content-main b{display:block;color:#294862;font-size:10px;line-height:1.45}.media-content-main small,.media-content-owner small,.media-sync-status small{display:block;margin-top:3px;color:#8a99a8;font-size:7px}.media-content-main a{display:inline-flex;align-items:center;gap:3px;margin-top:5px;color:#176ed1;font-size:7px;text-decoration:none}.media-content-main a .ui-icon{width:11px;height:11px}.media-content-owner b{display:block;color:#3c5971;font-size:9px}.media-day-value{color:#176ed1;font-size:15px}.media-interaction b{display:block;color:#395871;font-size:10px}.media-interaction small{display:block;margin-top:3px;color:#8898a8;font-size:7px}.media-sync-status{display:block}.media-sync-status>i{display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:50%;background:#19a879}.media-sync-status>i.error{background:#d94955}.media-row-actions .btn{height:34px;padding:0 9px;font-size:8px}.media-note-panel{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;margin-top:14px;padding:13px 15px;border:1px solid #d5e5f3;border-radius:14px;background:linear-gradient(90deg,#eff7ff,#fff)}.media-note-panel>span{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:#e4f1ff;color:#176ed1}.media-note-panel b{display:block;color:#31526d;font-size:11px}.media-note-panel p{margin:4px 0 0;color:#72879a;font-size:8px;line-height:1.6}.media-note-panel em{color:#8192a3;font-size:8px;font-style:normal}.media-loading-panel{display:flex;min-height:360px;align-items:center;justify-content:center;flex-direction:column}.media-loader{width:40px;height:40px;border:4px solid #dcecff;border-top-color:#176ed1;border-radius:50%;animation:spin 1s linear infinite}.media-loading-panel h3{margin:16px 0 5px}.media-loading-panel p{color:#8797a7;font-size:10px}.media-warning{margin-bottom:14px}
@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:1450px){.media-daily-kpis{grid-template-columns:repeat(3,1fr)}.media-account-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1050px){.media-account-grid{grid-template-columns:1fr}.media-hero{align-items:flex-start;flex-direction:column}.media-date-control{width:100%;box-sizing:border-box}.media-date-control input{flex:1}}
@media(max-width:820px){.media-hero{padding:16px;border-radius:17px}.media-hero h2{font-size:19px}.media-hero p{font-size:10px;line-height:1.55}.media-date-control{display:grid;grid-template-columns:42px minmax(0,1fr) 42px}.media-date-control .btn{grid-column:1/-1;width:100%}.media-daily-kpis{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;overflow:visible!important;margin:0 0 12px!important;padding:0!important}.media-daily-kpis article{min-width:0!important;min-height:94px!important;padding:12px!important}.media-daily-kpis b{font-size:18px}.media-filter{grid-template-columns:1fr}.media-content-panel{overflow:visible}.media-content-head{display:none}.media-content-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;min-width:0;margin-bottom:10px;padding:12px;border:1px solid #dfe8f1;border-radius:13px;background:#fff}.media-content-row>*{min-width:0}.media-content-row>*:not(.media-content-main):not(.media-row-actions){display:flex;align-items:center;justify-content:space-between;gap:7px;padding:7px 8px;border-radius:9px;background:#f5f8fb}.media-content-row>*:not(.media-content-main):not(.media-row-actions):before{content:attr(data-label);color:#8191a1;font-size:9px;font-weight:800}.media-content-main{grid-column:1/-1;padding-bottom:9px;border-bottom:1px solid #edf1f5}.media-content-main:before{content:attr(data-label);display:block;margin-right:2px;color:#8191a1;font-size:9px;font-weight:800}.media-content-main b{font-size:13px}.media-content-owner{display:block!important}.media-content-owner:before{display:block!important;margin-bottom:5px}.media-day-value{font-size:15px!important}.media-interaction{display:block!important}.media-interaction:before{display:block!important;margin-bottom:4px}.media-sync-status{display:block!important}.media-sync-status:before{display:block!important;margin-bottom:5px}.media-row-actions{grid-column:1/-1}.media-row-actions .btn{width:100%;height:42px;font-size:11px}.media-note-panel{grid-template-columns:38px minmax(0,1fr)}.media-note-panel em{grid-column:1/-1}.media-account-head{grid-template-columns:42px minmax(0,1fr) auto}}
@media(max-width:390px){.media-daily-kpis{grid-template-columns:1fr 1fr!important}.media-content-row{grid-template-columns:1fr}.media-content-row>*{grid-column:1}.media-account-body{grid-template-columns:1fr}}

.brand-media-mini{background:linear-gradient(135deg,#f5faff,#fff)}.brand-media-mini-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}.brand-media-mini-grid article{padding:13px;border-radius:12px;background:#f0f6fc}.brand-media-mini-grid small{display:block;color:#8092a4;font-size:8px}.brand-media-mini-grid b{display:block;margin-top:5px;color:#176ed1;font-size:18px}@media(max-width:820px){.brand-media-mini-grid{grid-template-columns:repeat(2,1fr)}.brand-media-mini-grid article:first-child{grid-column:1/-1}}


/* ===== V1.6.7 品牌传播月度手动分析 ===== */
.media-month-hero{
  display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px;padding:21px 23px;
  border-radius:20px;background:linear-gradient(135deg,#073d78,#096ab7 58%,#1592cd);color:#fff;
  box-shadow:0 16px 38px rgba(5,67,129,.18)
}
.media-month-hero>div:first-child{display:flex;align-items:center;gap:14px;min-width:0}
.media-month-hero>div:first-child>span{display:grid;place-items:center;width:50px;height:50px;flex:none;border-radius:14px;background:rgba(255,255,255,.14)}
.media-month-hero small{color:#a8dcff;font-size:8px;letter-spacing:1.25px}
.media-month-hero h2{margin:5px 0 4px;font-size:22px}.media-month-hero p{margin:0;color:rgba(255,255,255,.72);font-size:10px}
.media-month-control{display:grid;grid-template-columns:42px 160px 42px auto;align-items:center;gap:7px}
.media-month-control .icon-button{color:#fff;border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.12)}
.media-month-control input{height:42px;padding:0 12px;border:0;border-radius:11px;background:#fff;color:#294862;font-size:11px;text-align:center}
.media-month-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:14px}
.media-month-kpis article{display:flex;align-items:center;gap:10px;min-width:0;min-height:98px;padding:14px;border:1px solid #dce7f1;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(25,74,124,.045)}
.media-month-kpis article>span{display:grid;place-items:center;flex:none;width:39px;height:39px;border-radius:12px;background:#e8f3ff;color:#176ed1}
.media-month-kpis article:nth-child(3)>span{background:#e8f8f0;color:#16865d}
.media-month-kpis article:nth-child(4)>span{background:#fff2d8;color:#a66a00}
.media-month-kpis small,.media-month-kpis b,.media-month-kpis em{display:block}
.media-month-kpis small{color:#7e90a2;font-size:8px}.media-month-kpis b{margin:4px 0;color:#173552;font-size:20px}.media-month-kpis em{color:#8b99a7;font-size:7px;font-style:normal}
.media-month-growth{display:inline-flex!important;width:max-content;margin-top:4px;padding:3px 6px;border-radius:999px;font-size:7px!important;font-style:normal}
.media-month-growth.up{background:#e6f8ef;color:#16865d}.media-month-growth.down{background:#ffebed;color:#ce424d}.media-month-growth.neutral{background:#edf2f7;color:#7a8a99}
.media-month-platforms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-bottom:14px}
.media-month-platform-card{min-width:0;padding:17px;border:1px solid #dce7f1;border-radius:17px;background:#fff;box-shadow:0 9px 26px rgba(25,74,124,.05)}
.media-month-platform-card.douyin{border-top:4px solid #1d2939}.media-month-platform-card.channels{border-top:4px solid #16865d}.media-month-platform-card.wechat_official{border-top:4px solid #176ed1}
.media-month-platform-head{display:flex;align-items:center;gap:10px}
.media-month-platform-head>span:first-child{display:grid;place-items:center;width:39px;height:39px;flex:none;border-radius:11px;background:#eef4fa;color:#294862}
.media-month-platform-head>div{min-width:0;flex:1}.media-month-platform-head h3{margin:0;color:#24445f;font-size:14px}.media-month-platform-head p{margin:4px 0 0;color:#8998a7;font-size:8px}
.media-month-platform-main{margin:16px 0;padding:14px;border-radius:13px;background:linear-gradient(135deg,#edf6ff,#f9fcff)}
.media-month-platform-main small,.media-month-platform-main b,.media-month-platform-main em{display:block}
.media-month-platform-main small{color:#778b9e;font-size:8px}.media-month-platform-main b{margin:5px 0;color:#176ed1;font-size:27px}.media-month-platform-main em{color:#7d8fa1;font-size:8px;font-style:normal}
.media-month-platform-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.media-month-platform-grid span{padding:9px 6px;border-radius:10px;background:#f5f8fb;text-align:center}.media-month-platform-grid small,.media-month-platform-grid b{display:block}.media-month-platform-grid small{color:#8797a7;font-size:7px}.media-month-platform-grid b{margin-top:4px;color:#35536d;font-size:12px}
.media-month-platform-text{display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px 9px;margin-top:13px;padding-top:12px;border-top:1px solid #edf1f5}
.media-month-platform-text b{color:#71869a;font-size:8px}.media-month-platform-text p{margin:0;color:#4e687e;font-size:9px;line-height:1.55;overflow-wrap:anywhere}
.media-month-analysis-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);gap:14px;margin-bottom:14px}
.media-month-auto-text{padding:17px;border:1px solid #dce8f3;border-radius:14px;background:linear-gradient(135deg,#edf6ff,#fff);color:#3e5e77;font-size:11px;line-height:1.9}
.media-month-manual-card{display:grid;gap:12px}.media-month-manual-card>div{padding:13px;border-radius:12px;background:#f7faff}.media-month-manual-card h3{display:flex;align-items:center;gap:7px;margin:0 0 7px;color:#294862;font-size:11px}.media-month-manual-card p{margin:0;color:#61778b;font-size:10px;line-height:1.75;white-space:pre-wrap}.media-month-manual-card>small{color:#8a99a8;font-size:8px}
.media-month-history{display:flex;gap:9px;overflow-x:auto;padding-bottom:5px;scroll-snap-type:x mandatory}
.media-month-history button{flex:0 0 175px;display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:12px;border:1px solid #dce7f1;border-radius:12px;background:#f8fbff;color:#506b81;text-align:left;scroll-snap-align:start}
.media-month-history button.active{border-color:#70ace4;background:#eaf5ff;box-shadow:inset 0 0 0 1px #70ace4}.media-month-history b{color:#294862;font-size:11px}.media-month-history span,.media-month-history em{font-size:8px;font-style:normal}.media-month-history em{color:#176ed1}
.media-month-entry-modal{width:min(1180px,calc(100vw - 44px))!important;max-height:94vh!important}
.media-entry-body{display:grid;gap:13px;overflow:auto;padding:16px 20px 22px}
.media-entry-month{max-width:260px}
.media-entry-platform{padding:15px;border:1px solid #dce7f1;border-radius:15px;background:#fff}.media-entry-platform.douyin{border-left:4px solid #1d2939}.media-entry-platform.channels{border-left:4px solid #16865d}.media-entry-platform.wechat_official{border-left:4px solid #176ed1}
.media-entry-platform-title{display:flex;align-items:center;gap:10px;margin-bottom:12px}.media-entry-platform-title>span{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#eaf3fc;color:#176ed1}.media-entry-platform-title h3{margin:0;color:#294862;font-size:13px}.media-entry-platform-title p{margin:4px 0 0;color:#8495a5;font-size:8px}
.media-entry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.media-entry-grid .full{grid-column:1/-1}
.media-entry-summary{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.danger-soft{border-color:#f0c9cd!important;background:#fff4f5!important;color:#c8424d!important}

@media(max-width:1350px){
  .media-month-kpis{grid-template-columns:repeat(3,1fr)}
  .media-month-platforms{grid-template-columns:1fr 1fr}
  .media-month-platform-card:last-child{grid-column:1/-1}
}
@media(max-width:920px){
  .media-month-analysis-grid{grid-template-columns:1fr}
  .media-entry-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:820px){
  .media-month-hero{align-items:flex-start;flex-direction:column;padding:16px;border-radius:17px}
  .media-month-hero h2{font-size:19px}.media-month-control{width:100%;grid-template-columns:42px minmax(0,1fr) 42px}.media-month-control .btn{grid-column:1/-1;width:100%}
  .media-month-control input{font-size:16px!important}
  .media-month-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .media-month-kpis article{display:block;min-height:105px;padding:12px}.media-month-kpis article>span{margin-bottom:8px}
  .media-month-platforms{grid-template-columns:1fr}.media-month-platform-card:last-child{grid-column:auto}
  .media-month-platform-grid{grid-template-columns:repeat(2,1fr)}
  .media-month-platform-text{grid-template-columns:1fr}.media-month-platform-text b{margin-top:4px}
  .media-month-analysis-card .section-head{align-items:flex-start;flex-direction:column}.media-month-analysis-card .btn{width:100%}
  .media-month-entry-modal{width:100%!important;height:94dvh!important;border-radius:22px 22px 0 0!important}
  .media-entry-body{padding:13px}
  .media-entry-grid,.media-entry-summary{grid-template-columns:1fr}.media-entry-grid .full{grid-column:auto}
  .media-entry-month{max-width:none}
  .media-entry-platform{padding:12px}
  .manual-media-mini .brand-media-mini-grid{display:grid!important;grid-template-columns:repeat(2,1fr)!important;overflow:visible!important}
}
@media(max-width:390px){
  .media-month-kpis{grid-template-columns:1fr 1fr}
  .media-month-platform-grid{grid-template-columns:1fr 1fr}
}


/* ===== V1.6.8 平台运营表上传自动分析 ===== */
.media-upload-button{position:relative;overflow:hidden;cursor:pointer}.media-upload-button input{position:absolute;inset:0;opacity:0;cursor:pointer}
.media-dashboard-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px;padding:21px 23px;border-radius:20px;background:linear-gradient(135deg,#073d78,#096ab7 58%,#1592cd);color:#fff;box-shadow:0 16px 38px rgba(5,67,129,.18)}
.media-dashboard-hero>div:first-child{display:flex;align-items:center;gap:14px;min-width:0}.media-dashboard-hero>div:first-child>span{display:grid;place-items:center;width:50px;height:50px;flex:none;border-radius:14px;background:rgba(255,255,255,.14)}
.media-dashboard-hero small{color:#a8dcff;font-size:8px;letter-spacing:1.25px}.media-dashboard-hero h2{margin:5px 0 4px;font-size:22px}.media-dashboard-hero p{margin:0;color:rgba(255,255,255,.72);font-size:10px}
.media-dashboard-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:14px}.media-dashboard-kpis article{display:flex;align-items:center;gap:10px;min-width:0;min-height:98px;padding:14px;border:1px solid #dce7f1;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(25,74,124,.045)}
.media-dashboard-kpis article>span{display:grid;place-items:center;flex:none;width:39px;height:39px;border-radius:12px;background:#e8f3ff;color:#176ed1}.media-dashboard-kpis article:nth-child(3)>span{background:#e8f8f0;color:#16865d}.media-dashboard-kpis article:nth-child(4)>span{background:#fff2d8;color:#a66a00}
.media-dashboard-kpis small,.media-dashboard-kpis b,.media-dashboard-kpis em{display:block}.media-dashboard-kpis small{color:#7e90a2;font-size:8px}.media-dashboard-kpis b{margin:4px 0;color:#173552;font-size:20px}.media-dashboard-kpis em{color:#8b99a7;font-size:7px;font-style:normal}
.media-growth{display:inline-flex!important;width:max-content;margin-top:4px;padding:3px 6px;border-radius:999px;font-size:7px!important}.media-growth.up{background:#e6f8ef;color:#16865d}.media-growth.down{background:#ffebed;color:#ce424d}.media-growth.neutral{background:#edf2f7;color:#7a8a99}
.media-platform-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}.media-platform-overview>article{padding:16px;border:1px solid #dce7f1;border-radius:17px;background:#fff;box-shadow:0 9px 26px rgba(25,74,124,.05)}.media-platform-overview>article.douyin{border-top:4px solid #1d2939}.media-platform-overview>article.channels{border-top:4px solid #16865d}.media-platform-overview>article.wechat_official{border-top:4px solid #176ed1}
.media-platform-card-head{display:flex;align-items:center;gap:10px}.media-platform-card-head>span{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#eef4fa;color:#176ed1}.media-platform-card-head h3{margin:0;color:#24445f;font-size:13px}.media-platform-card-head p{margin:4px 0 0;color:#8998a7;font-size:8px}.media-platform-overview strong{display:block;margin:15px 0 4px;color:#176ed1;font-size:27px}.media-platform-overview>article>small{display:block;color:#7d8fa1;font-size:8px}.media-platform-overview>article>div:last-child{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:13px}.media-platform-overview>article>div:last-child span{padding:8px 5px;border-radius:9px;background:#f5f8fb;color:#8797a7;font-size:7px;text-align:center}.media-platform-overview>article>div:last-child b{display:block;margin-top:4px;color:#35536d;font-size:11px}
.media-dashboard-grid{display:grid;gap:13px;margin-bottom:14px}.media-dashboard-grid.top{grid-template-columns:1.35fr .8fr .85fr}.media-dashboard-grid.bottom{grid-template-columns:1.15fr .85fr}.media-chart-panel,.media-analysis-panel,.media-type-panel{min-width:0}
.media-month-bars{display:flex;align-items:flex-end;gap:10px;min-height:215px;overflow-x:auto;padding:10px 4px 0}.media-month-bars>div{display:flex;flex:1;min-width:60px;flex-direction:column;align-items:center}.media-month-bars>div>span{display:flex;align-items:flex-end;justify-content:center;width:100%;height:160px;border-bottom:1px solid #dce5ee}.media-month-bars i{display:block;width:26px;min-height:0;border-radius:7px 7px 2px 2px;background:linear-gradient(180deg,#61b8ef,#347fd7)}.media-month-bars b{margin-top:7px;color:#526b80;font-size:9px}.media-month-bars small{margin-top:3px;color:#8d9ba8;font-size:7px}
.media-donut-wrap{display:flex;align-items:center;justify-content:center;gap:22px;min-height:210px}.media-donut-wrap .donut{width:140px;height:140px}.media-donut-legend{display:grid;gap:10px;min-width:125px}.media-donut-legend span{display:grid;grid-template-columns:9px 1fr auto;align-items:center;gap:7px;color:#647a8e;font-size:8px}.media-donut-legend i{width:9px;height:9px;border-radius:3px}.media-donut-legend .tone-0{background:#347fd7}.media-donut-legend .tone-1{background:#18a879}.media-donut-legend .tone-2{background:#8b5ed7}.media-donut-legend em{font-style:normal}.media-donut-legend b{color:#294862}
.media-interaction-structure{display:grid;gap:13px;padding:15px 3px}.media-interaction-structure article>div{display:flex;justify-content:space-between;gap:10px;color:#667d91;font-size:9px}.media-interaction-structure article>div b{color:#294862}.media-interaction-structure article>i{display:block;height:10px;margin:7px 0 4px;border-radius:999px;background:#e6edf4;overflow:hidden}.media-interaction-structure article>i em{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#347fd7,#55b7e5)}.media-interaction-structure article small{color:#8998a7;font-size:7px}
.media-analysis-text{padding:17px;border:1px solid #dce8f3;border-radius:14px;background:linear-gradient(135deg,#edf6ff,#fff);color:#3e5e77;font-size:11px;line-height:1.9}.media-original-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:11px}.media-original-summary span{padding:10px;border-radius:10px;background:#f5f8fb}.media-original-summary small,.media-original-summary b{display:block}.media-original-summary small{color:#8797a7;font-size:7px}.media-original-summary b{margin-top:4px;color:#35536d;font-size:12px}
.media-type-list{display:grid;gap:9px}.media-type-list article{display:grid;grid-template-columns:minmax(130px,.9fr) minmax(120px,1.3fr) 55px;align-items:center;gap:10px;padding:9px 10px;border-radius:11px;background:#f7faff}.media-type-list b{display:block;color:#35536d;font-size:10px}.media-type-list small{display:block;margin-top:3px;color:#8797a7;font-size:7px}.media-type-list article>span{height:8px;border-radius:999px;background:#e2eaf2;overflow:hidden}.media-type-list article>span i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#347fd7,#53b3e2)}.media-type-list em{color:#176ed1;font-size:9px;font-style:normal;text-align:right}
.media-other-platforms>div:last-child{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.media-other-platforms article{display:flex;align-items:flex-start;gap:10px;padding:13px;border:1px solid #dfe8f1;border-radius:13px;background:#f9fbfe}.media-other-platforms article>span{display:grid;place-items:center;width:38px;height:38px;flex:none;border-radius:11px;background:#e8f3ff;color:#176ed1}.media-other-platforms b{display:block;color:#294862;font-size:11px}.media-other-platforms small{display:block;margin-top:4px;color:#6e8498;font-size:8px}.media-other-platforms p{margin:6px 0 0;color:#8797a7;font-size:8px;line-height:1.5}
.media-detail-filter{display:grid;grid-template-columns:minmax(260px,1fr) 150px 160px;gap:9px;margin-bottom:12px}.media-detail-filter select{height:43px;padding:0 10px;border:1px solid #dce6ef;border-radius:10px;background:#fff;color:#425d73;font-size:10px}
.media-detail-table{overflow:auto;border:1px solid #dfe7ef;border-radius:13px}.media-detail-head,.media-detail-table article{display:grid;grid-template-columns:110px minmax(310px,1.7fr) 95px 90px 70px 70px 70px 85px 70px;align-items:center;gap:9px;min-width:0}.media-detail-head{padding:10px 11px;background:#f1f5f9;color:#74879a;font-size:8px;font-weight:800}.media-detail-table article{padding:10px 11px;border-top:1px solid #edf1f5;color:#536b80;font-size:8px}.media-detail-table article:hover{background:#f8fbff}.media-detail-table article>span:first-child b,.media-detail-table article>span:first-child small{display:block}.media-detail-table article>span:first-child b{color:#294862;font-size:9px}.media-detail-table article>span:first-child small{margin-top:3px;color:#8998a7;font-size:7px}.media-detail-title{color:#294862!important;font-size:9px!important;line-height:1.5}.media-detail-table strong{color:#176ed1}.media-detail-table em{color:#16865d;font-style:normal}
.media-import-modal{width:min(1020px,calc(100vw - 40px))!important}.media-import-preview{display:grid;gap:13px;padding:16px 20px 20px}.media-import-file{display:flex;align-items:center;gap:12px;padding:13px;border:1px solid #dce7f1;border-radius:13px;background:#f7faff}.media-import-file>span{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#176ed1;color:#fff}.media-import-file b,.media-import-file small{display:block}.media-import-file b{color:#294862;font-size:12px}.media-import-file small{margin-top:4px;color:#7e90a2;font-size:8px;line-height:1.5}
.media-import-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.media-import-kpis article{padding:13px;border-radius:12px;background:#edf5ff;text-align:center}.media-import-kpis b,.media-import-kpis span{display:block}.media-import-kpis b{color:#176ed1;font-size:19px}.media-import-kpis span{margin-top:4px;color:#6e8396;font-size:8px}.media-import-months h3,.media-import-warnings h3{margin:0 0 9px;color:#294862;font-size:11px}.media-import-months>div{display:flex;gap:8px;overflow-x:auto}.media-import-months span{flex:0 0 165px;padding:10px;border:1px solid #dce7f1;border-radius:10px;background:#fff}.media-import-months b,.media-import-months small{display:block}.media-import-months b{color:#294862;font-size:10px}.media-import-months small{margin-top:4px;color:#7e90a2;font-size:7px}.media-import-warnings{padding:12px;border:1px solid #efd6a7;border-radius:12px;background:#fff9ec}.media-import-warnings h3{display:flex;align-items:center;gap:6px;color:#a66a00}.media-import-warnings p{margin:5px 0;color:#765d2f;font-size:8px}.media-import-rule{padding:12px;border-radius:12px;background:#f3f7fb}.media-import-rule b{display:block;color:#294862;font-size:10px}.media-import-rule p{margin:5px 0 0;color:#6b8195;font-size:8px;line-height:1.65}

@media(max-width:1350px){.media-dashboard-kpis{grid-template-columns:repeat(3,1fr)}.media-dashboard-grid.top{grid-template-columns:1fr 1fr}.media-dashboard-grid.top>.media-chart-panel:first-child{grid-column:1/-1}.media-other-platforms>div:last-child{grid-template-columns:1fr 1fr}.media-other-platforms article:last-child{grid-column:1/-1}}
@media(max-width:980px){.media-dashboard-grid.top,.media-dashboard-grid.bottom{grid-template-columns:1fr}.media-platform-overview{grid-template-columns:1fr}.media-other-platforms>div:last-child{grid-template-columns:1fr}.media-other-platforms article:last-child{grid-column:auto}}
@media(max-width:820px){
  .media-dashboard-hero{align-items:flex-start;flex-direction:column;padding:16px;border-radius:17px}.media-dashboard-hero h2{font-size:19px}.media-month-control{width:100%;grid-template-columns:42px minmax(0,1fr) 42px}.media-month-control .btn{grid-column:1/-1;width:100%}.media-month-control input{font-size:16px!important}
  .media-dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.media-dashboard-kpis article{display:block;min-height:105px;padding:12px}.media-dashboard-kpis article>span{margin-bottom:8px}
  .media-platform-overview>article>div:last-child{grid-template-columns:repeat(2,1fr)}.media-donut-wrap{flex-direction:column}.media-original-summary{grid-template-columns:repeat(2,1fr)}
  .media-detail-filter{grid-template-columns:1fr}.media-detail-filter select{height:48px;font-size:16px!important}.media-detail-table{overflow:visible;border:0}.media-detail-head{display:none}.media-detail-table article{display:grid;grid-template-columns:1fr 1fr;gap:8px;min-width:0;margin-bottom:10px;padding:12px;border:1px solid #dfe8f1;border-radius:13px;background:#fff}.media-detail-table article>*{display:flex;justify-content:space-between;gap:7px;padding:7px 8px;border-radius:9px;background:#f5f8fb}.media-detail-table article>*:before{content:attr(data-label);color:#8191a1;font-size:9px;font-weight:800}.media-detail-title{grid-column:1/-1;display:block!important;padding:0 0 9px!important;border-bottom:1px solid #edf1f5;border-radius:0!important;background:transparent!important}.media-detail-title:before{display:block;margin-bottom:6px}.media-import-modal{width:100%!important;height:94dvh!important;border-radius:22px 22px 0 0!important}.media-import-kpis{grid-template-columns:repeat(2,1fr)}.media-import-kpis article:first-child{grid-column:1/-1}.media-import-preview{padding:13px}
}
@media(max-width:390px){.media-dashboard-kpis{grid-template-columns:1fr 1fr}.media-detail-table article{grid-template-columns:1fr}.media-detail-table article>*{grid-column:1}.media-original-summary{grid-template-columns:1fr 1fr}}


/* ===== V1.6.9 AI标准表识别与多维传播驾驶舱 ===== */
.media-platform-overview>article{position:relative;overflow:hidden}
.media-platform-overview>article:after{content:"";position:absolute;right:-28px;top:-38px;width:105px;height:105px;border-radius:50%;background:linear-gradient(135deg,rgba(52,127,215,.10),transparent)}
.media-platform-overview .media-platform-metrics{display:grid!important;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:13px}
.media-platform-topline{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;margin:12px 0 0;padding:9px 10px;border-radius:10px;background:#f4f8fc;color:#577086;font-size:8px;line-height:1.5}
.media-platform-topline b{color:#176ed1}.media-platform-topline em{color:#176ed1;font-style:normal;font-weight:900}
.media-top-section{margin-bottom:14px}
.media-top-content-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.media-top-content-card{min-width:0;padding:16px;border:1px solid #dce7f1;border-radius:16px;background:linear-gradient(150deg,#fff,#f8fbff);box-shadow:0 8px 22px rgba(30,72,115,.045)}
.media-top-content-card.douyin{border-left:4px solid #1d2939}.media-top-content-card.channels{border-left:4px solid #18a879}.media-top-content-card.wechat_official{border-left:4px solid #347fd7}
.media-top-card-head{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px}.media-top-badge{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#eaf3fc;color:#176ed1}
.media-top-card-head small,.media-top-card-head b{display:block}.media-top-card-head small{color:#7c8fa1;font-size:8px}.media-top-card-head b{margin-top:4px;color:#176ed1;font-size:20px}.media-top-card-head>em{padding:4px 7px;border-radius:999px;background:#edf6ff;color:#176ed1;font-size:7px;font-style:normal}
.media-top-content-card h3{margin:13px 0 10px;color:#294862;font-size:11px;line-height:1.65}.media-top-meta{display:flex;flex-wrap:wrap;gap:6px}.media-top-meta span{padding:5px 7px;border-radius:999px;background:#f0f4f8;color:#6c8194;font-size:7px}
.media-visual-grid{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(320px,.96fr);gap:13px;margin-bottom:14px;align-items:stretch}.media-visual-grid>.media-type-panel,.media-visual-grid>.media-wide-chart{grid-column:1/-1}.media-title-icon{display:inline-grid;place-items:center;vertical-align:middle;width:28px;height:28px;margin-right:8px;border-radius:10px;background:linear-gradient(135deg,#e8f3ff,#f4f9ff);color:#176ed1;box-shadow:inset 0 0 0 1px rgba(23,110,209,.12)}.media-title-icon svg{width:15px;height:15px;vertical-align:0}.media-section-badge{display:inline-flex;align-items:center;justify-content:center;padding:7px 12px;border-radius:999px;background:linear-gradient(135deg,#eff6ff,#f8fbff);border:1px solid #d7e7f7;color:#176ed1;font-size:12px;font-weight:800}.media-contribution-panel{display:flex;flex-direction:column}.media-contribution-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:18px;align-items:center;flex:1}.media-contribution-main{display:grid;justify-items:center;gap:12px;padding:10px 4px}.media-donut-premium{width:176px!important;height:176px!important;box-shadow:inset 0 0 0 10px rgba(255,255,255,.8),0 12px 28px rgba(25,74,124,.08)}.media-donut-premium span b{font-size:28px}.media-donut-premium span small{font-size:12px}.media-contribution-caption{display:grid;gap:4px;justify-items:center;text-align:center}.media-contribution-caption b{color:#24445f;font-size:15px}.media-contribution-caption small{color:#7f92a4;font-size:12px;line-height:1.6}.media-contribution-list{display:grid;gap:12px}.media-contribution-list article{padding:14px 15px;border:1px solid #dbe8f3;border-radius:15px;background:linear-gradient(180deg,#fbfdff,#f6faff)}.media-contribution-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px}.media-contribution-badge{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;color:#fff}.media-contribution-badge svg{width:18px;height:18px}.media-contribution-badge.tone-0{background:linear-gradient(135deg,#347fd7,#63a9ee)}.media-contribution-badge.tone-1{background:linear-gradient(135deg,#18a879,#67c6a5)}.media-contribution-badge.tone-2{background:linear-gradient(135deg,#8b5ed7,#b58cf0)}.media-contribution-row b{display:block;color:#2b4a64;font-size:14px}.media-contribution-row small{display:block;margin-top:4px;color:#7f92a4;font-size:11px}.media-contribution-row strong{color:#176ed1;font-size:18px}.media-contribution-list article>i{display:block;height:9px;margin-top:10px;border-radius:999px;background:#e6eef6;overflow:hidden}.media-contribution-list article>i em{display:block;height:100%;border-radius:999px}.media-contribution-list article>i em.tone-0{background:linear-gradient(90deg,#347fd7,#62b8ef)}.media-contribution-list article>i em.tone-1{background:linear-gradient(90deg,#18a879,#68c89f)}.media-contribution-list article>i em.tone-2{background:linear-gradient(90deg,#8b5ed7,#bd9af2)}..media-analytics-grid{display:grid;gap:13px;margin-bottom:14px}.media-analytics-primary{grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr)}.media-analytics-secondary{grid-template-columns:1.15fr 1fr .8fr}.media-analytics-tertiary{grid-template-columns:1.35fr .85fr}
.media-svg-chart{min-height:255px}.media-svg-chart svg{display:block;width:100%;height:230px;overflow:visible}.media-svg-chart svg text{fill:#8293a3;font-size:10px}.media-svg-chart svg .grid{stroke:#e5edf4;stroke-width:1}
.media-chart-legend{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:7px;color:#647a8e;font-size:8px}.media-chart-legend span{display:flex;align-items:center;gap:6px}.media-chart-legend i{width:9px;height:9px;border-radius:3px}
.media-grouped-chart{min-height:225px}.media-grouped-scroll{display:flex;align-items:flex-end;gap:10px;min-height:170px;overflow-x:auto;padding:17px 3px 0;border-bottom:1px solid #dfe7ef}.media-group{display:flex;flex:1;min-width:62px;flex-direction:column;align-items:center}.media-group-bars{display:flex;align-items:flex-end;justify-content:center;gap:4px;height:145px}.media-group-bars span{position:relative;display:block;width:15px;min-height:0;border-radius:5px 5px 1px 1px}.media-group-bars em{display:none;position:absolute;left:50%;bottom:calc(100% + 4px);transform:translateX(-50%);padding:3px 5px;border-radius:5px;background:#233f59;color:#fff;font-size:6px;font-style:normal;white-space:nowrap}.media-group-bars span:hover em{display:block}.media-group>b{margin:7px 0 4px;color:#657c90;font-size:8px}
.media-efficiency-chart{display:grid;gap:13px;padding:8px 1px}.media-efficiency-chart article{padding:11px;border-radius:12px;background:#f7faff}.media-efficiency-chart article>div{display:flex;justify-content:space-between;gap:10px;margin-bottom:9px}.media-efficiency-chart span{color:#35536d;font-size:9px;font-weight:900}.media-efficiency-chart b{color:#176ed1;font-size:8px}.media-efficiency-chart label{display:grid;grid-template-columns:62px 1fr;align-items:center;gap:8px;margin:7px 0;color:#7b8ea0;font-size:7px}.media-efficiency-chart label>i{height:8px;border-radius:999px;background:#e3ebf2;overflow:hidden}.media-efficiency-chart label>i em{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#347fd7,#62b9e7)}.media-efficiency-chart label>i.green em{background:linear-gradient(90deg,#18a879,#68c89f)}
.media-quality-panel{min-width:0}.media-quality-kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.media-quality-kpis span{padding:11px;border-radius:11px;background:#f5f8fb}.media-quality-kpis small,.media-quality-kpis b{display:block}.media-quality-kpis small{color:#8192a2;font-size:7px}.media-quality-kpis b{margin-top:4px;color:#294862;font-size:15px}.media-quality-panel>p{margin:11px 0 0;padding:12px;border-radius:11px;background:#fff8e9;color:#806632;font-size:8px;line-height:1.7}
.media-top-archive{overflow:auto;border:1px solid #dfe7ef;border-radius:12px}.media-top-archive-head,.media-top-archive article{display:grid;grid-template-columns:90px repeat(3,minmax(210px,1fr));gap:8px;align-items:stretch;min-width:800px}.media-top-archive-head{padding:9px 10px;background:#f1f5f9;color:#74879a;font-size:8px;font-weight:900}.media-top-archive article{padding:9px 10px;border-top:1px solid #edf1f5}.media-top-archive article>b{display:flex;align-items:center;color:#294862;font-size:9px}.media-top-archive article>span{display:grid;grid-template-columns:62px 1fr;gap:7px;align-items:start;padding:8px;border-radius:9px;background:#f7faff}.media-top-archive strong{color:#176ed1;font-size:9px}.media-top-archive em{display:-webkit-box;overflow:hidden;color:#536c81;font-size:8px;font-style:normal;line-height:1.45;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.media-detail-table{max-height:680px}.media-detail-head{position:sticky;top:0;z-index:2}
@media(max-width:1400px){
  .media-analytics-secondary{grid-template-columns:1fr 1fr}.media-analytics-secondary>section:last-child{grid-column:1/-1}
  .media-analytics-tertiary{grid-template-columns:1fr 1fr}
}
@media(max-width:1100px){
  .media-top-content-grid{grid-template-columns:1fr}
  .media-visual-grid,.media-analytics-primary,.media-analytics-secondary,.media-analytics-tertiary{grid-template-columns:1fr}.media-analytics-secondary>section:last-child{grid-column:auto}
  .media-contribution-layout{grid-template-columns:1fr}
}
@media(max-width:820px){.media-title-icon{width:24px;height:24px;margin-right:6px;border-radius:8px}.media-section-badge{font-size:11px;padding:6px 10px}.media-contribution-layout{gap:14px}.media-donut-premium{width:158px!important;height:158px!important}.media-contribution-list article{padding:12px}.media-contribution-row{grid-template-columns:36px minmax(0,1fr) auto;gap:10px}.media-contribution-badge{width:36px;height:36px}.media-contribution-row b{font-size:13px}.media-contribution-row small{font-size:10px}.media-contribution-row strong{font-size:16px}}
@media(max-width:820px){
  .media-top-content-card{padding:13px}.media-top-card-head{grid-template-columns:38px minmax(0,1fr)}.media-top-card-head>em{grid-column:1/-1;width:max-content}.media-top-badge{width:38px;height:38px}
  .media-svg-chart{overflow-x:auto}.media-svg-chart svg{min-width:620px}
  .media-grouped-scroll{min-height:160px}.media-quality-kpis{grid-template-columns:1fr 1fr}
  .media-platform-topline{grid-template-columns:1fr}.media-platform-topline em{justify-self:start}
  .media-top-archive-head,.media-top-archive article{grid-template-columns:80px repeat(3,220px)}
}


/* ===== V1.7.0 系统统一精简与公务车数字化平台 ===== */
.unified-view{margin:0 0 13px}.unified-module-tabs{display:flex;align-items:center;gap:7px;padding:6px;border:1px solid #dbe6ef;border-radius:14px;background:#fff;box-shadow:0 6px 18px rgba(27,67,105,.04);overflow-x:auto}.unified-module-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:0 14px;border:0;border-radius:10px;background:transparent;color:#6b8193;font-size:10px;white-space:nowrap;cursor:pointer}.unified-module-tabs button .ui-icon{width:16px;height:16px}.unified-module-tabs button:hover{background:#f1f7fc;color:#245b8d}.unified-module-tabs button.active{background:linear-gradient(135deg,#1268ba,#1786cf);color:#fff;box-shadow:0 7px 16px rgba(15,108,186,.18)}
.vehicle-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:13px;padding:20px 22px;border-radius:19px;background:linear-gradient(135deg,#123d69,#17639c 58%,#1d83b6);color:#fff;box-shadow:0 16px 34px rgba(20,72,119,.18)}.vehicle-hero>div:first-child{display:flex;align-items:center;gap:14px;min-width:0}.vehicle-hero>div:first-child>span{display:grid;place-items:center;width:52px;height:52px;flex:none;border-radius:15px;background:rgba(255,255,255,.14)}.vehicle-hero>div:first-child>span .ui-icon{width:27px;height:27px}.vehicle-hero small{color:#b7dcf4;font-size:8px;letter-spacing:1.1px}.vehicle-hero h2{margin:5px 0 4px;font-size:21px;letter-spacing:.3px}.vehicle-hero p{margin:0;color:rgba(255,255,255,.74);font-size:9px;line-height:1.65}.vehicle-month-control{display:grid;grid-template-columns:42px 154px 42px auto;align-items:center;gap:7px}.vehicle-month-control .icon-button{color:#fff;border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.12)}.vehicle-month-control input{height:42px;padding:0 10px;border:0;border-radius:11px;background:#fff;color:#294862;text-align:center;font-size:11px}.vehicle-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.vehicle-toolbar .unified-module-tabs{flex:1;margin:0}.vehicle-toolbar>select{width:220px;height:42px;border:1px solid #d7e3ed;border-radius:11px;background:#fff;padding:0 12px;color:#405c73;font-size:10px}
.vehicle-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin-bottom:13px}.vehicle-kpis article{display:flex;align-items:center;gap:10px;min-height:95px;padding:13px;border:1px solid #dce7f0;border-radius:15px;background:#fff;box-shadow:0 8px 22px rgba(27,67,105,.045)}.vehicle-kpis article>span{display:grid;place-items:center;width:39px;height:39px;flex:none;border-radius:12px;background:#eaf4fd;color:#176db8}.vehicle-kpis article:nth-child(2)>span{background:#e8f8f0;color:#13875d}.vehicle-kpis article:nth-child(3)>span{background:#fff2db;color:#a66a00}.vehicle-kpis article:nth-child(4)>span{background:#f7eafd;color:#8052ac}.vehicle-kpis small,.vehicle-kpis b,.vehicle-kpis em{display:block}.vehicle-kpis small{color:#8191a0;font-size:8px}.vehicle-kpis b{margin:4px 0;color:#203f59;font-size:18px}.vehicle-kpis em{color:#8b99a6;font-size:7px;font-style:normal}
.vehicle-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr);gap:13px;margin-bottom:13px}.vehicle-dashboard-grid.bottom{grid-template-columns:1.1fr .8fr .8fr}.vehicle-chart-panel{min-width:0}.vehicle-svg-chart{width:100%;overflow:hidden}.vehicle-svg-chart svg{display:block;width:100%;height:auto;min-height:215px}.vehicle-svg-chart .grid{stroke:#e6edf3;stroke-width:1}.vehicle-svg-chart text{fill:#8192a1;font-size:9px}.vehicle-svg-chart .line{fill:none;stroke:#1875c2;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.vehicle-svg-chart circle{fill:#fff;stroke:#1875c2;stroke-width:3}.vehicle-svg-chart text.value{fill:#31546f;font-weight:700;font-size:8px}.vehicle-horizontal-bars{display:grid;gap:12px;padding-top:4px}.vehicle-horizontal-bars article>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.vehicle-horizontal-bars b{color:#34526a;font-size:10px}.vehicle-horizontal-bars span{color:#176db8;font-size:10px;font-weight:700}.vehicle-horizontal-bars i{display:block;height:8px;margin:6px 0 4px;border-radius:999px;background:#eef3f7;overflow:hidden}.vehicle-horizontal-bars em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1b70bd,#2e9dcc)}.vehicle-horizontal-bars small{color:#95a3af;font-size:7px}.vehicle-donut-wrap{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;gap:18px;min-height:218px}.vehicle-donut{display:grid;place-items:center;width:146px;height:146px;border-radius:50%;position:relative}.vehicle-donut:before{content:"";position:absolute;inset:27px;border-radius:50%;background:#fff}.vehicle-donut>span{position:relative;z-index:1;text-align:center}.vehicle-donut b,.vehicle-donut small{display:block}.vehicle-donut b{color:#23435d;font-size:16px}.vehicle-donut small{margin-top:4px;color:#8495a4;font-size:7px}.vehicle-donut-legend{display:grid;gap:8px}.vehicle-donut-legend span{display:grid;grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:7px}.vehicle-donut-legend i{width:9px;height:9px;border-radius:3px}.vehicle-donut-legend em{color:#667e92;font-size:8px;font-style:normal}.vehicle-donut-legend b{color:#344f65;font-size:8px}
.vehicle-reminder-list,.vehicle-recent-panel>div:last-child{display:grid;gap:8px}.vehicle-reminder-list article,.vehicle-recent-panel article{display:flex;align-items:center;gap:9px;padding:10px;border:1px solid #e3ebf2;border-radius:11px;background:#f9fbfd}.vehicle-reminder-list article>span,.vehicle-recent-panel article>span{display:grid;place-items:center;width:32px;height:32px;flex:none;border-radius:9px;background:#edf5fc;color:#176db8}.vehicle-reminder-list article>div,.vehicle-recent-panel article>div{min-width:0;flex:1}.vehicle-reminder-list b,.vehicle-reminder-list small,.vehicle-recent-panel b,.vehicle-recent-panel small{display:block}.vehicle-reminder-list b,.vehicle-recent-panel b{overflow:hidden;color:#35536b;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.vehicle-reminder-list small,.vehicle-recent-panel small{margin-top:3px;color:#8998a6;font-size:7px}.vehicle-reminder-list em,.vehicle-recent-panel em{font-size:8px;font-style:normal;font-weight:700}.vehicle-reminder-list article.overdue em{color:#ce3f4b}.vehicle-reminder-list article.danger em{color:#e36a22}.vehicle-reminder-list article.warning em{color:#aa7500}.vehicle-recent-panel em{color:#176db8}.vehicle-recent-panel em.done{color:#14865d}.vehicle-recent-panel em.using{color:#b27500}
.vehicle-archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.vehicle-card{min-width:0;padding:16px;border:1px solid #dce7f0;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(27,67,105,.05)}.vehicle-card-head{display:flex;align-items:center;gap:10px}.vehicle-card-head>span{display:grid;place-items:center;width:42px;height:42px;flex:none;border-radius:12px;background:#eaf4fd;color:#176db8}.vehicle-card-head>div{min-width:0;flex:1}.vehicle-card-head h3{margin:0;color:#294861;font-size:13px}.vehicle-card-head p{margin:4px 0 0;color:#8393a1;font-size:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vehicle-card-dates{display:grid;gap:7px;margin:14px 0}.vehicle-date-badge{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;border-radius:10px;background:#f3f7fa}.vehicle-date-badge small{color:#71869a;font-size:7px}.vehicle-date-badge b{font-size:8px}.vehicle-date-badge.normal b{color:#20805e}.vehicle-date-badge.warning{background:#fff8e8}.vehicle-date-badge.warning b{color:#a77300}.vehicle-date-badge.danger,.vehicle-date-badge.overdue{background:#fff0f1}.vehicle-date-badge.danger b,.vehicle-date-badge.overdue b{color:#c63d49}.vehicle-date-badge.empty b{color:#8e9aa5}.vehicle-card-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.vehicle-card-stats span{padding:9px 6px;border-radius:10px;background:#f6f9fb;text-align:center}.vehicle-card-stats small,.vehicle-card-stats b{display:block}.vehicle-card-stats small{color:#8b99a6;font-size:7px}.vehicle-card-stats b{margin-top:4px;color:#38556c;font-size:10px}.vehicle-card-note{margin:10px 0 0;padding:9px;border-radius:9px;background:#fbfcfd;color:#6b7f90;font-size:8px;line-height:1.6}.vehicle-card-actions{display:flex;align-items:center;gap:6px;margin-top:13px;padding-top:12px;border-top:1px solid #edf1f4}.vehicle-card-actions .btn{min-height:34px;padding:0 10px;font-size:8px}.vehicle-card-actions .icon-button{margin-left:auto}.vehicle-card-actions .icon-button+.icon-button{margin-left:0}.icon-button.danger{color:#cc4651}
.vehicle-record-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:13px}.vehicle-record-summary article{padding:14px;border:1px solid #dce7f0;border-radius:14px;background:#fff}.vehicle-record-summary small,.vehicle-record-summary b{display:block}.vehicle-record-summary small{color:#8091a0;font-size:8px}.vehicle-record-summary b{margin-top:5px;color:#294861;font-size:17px}.vehicle-table{min-width:800px}.vehicle-table-panel{overflow-x:auto}.vehicle-table-head,.vehicle-table article{display:grid;align-items:center;gap:8px;padding:10px 8px}.vehicle-table.fuel .vehicle-table-head,.vehicle-table.fuel article{grid-template-columns:90px 1.25fr 90px 75px 95px 1fr 90px 72px}.vehicle-table.dispatch .vehicle-table-head,.vehicle-table.dispatch article{grid-template-columns:1.05fr 1.2fr 1fr 1fr 1.35fr 90px 72px}.vehicle-table-head{border-bottom:1px solid #dce7f0;color:#75899b;font-size:8px}.vehicle-table article{border-bottom:1px solid #eef2f5;color:#536d81;font-size:9px}.vehicle-table article:hover{background:#f8fbfd}.vehicle-table article b,.vehicle-table article small{display:block}.vehicle-table article b{color:#34536b;font-size:9px}.vehicle-table article small{margin-top:3px;color:#8998a6;font-size:7px}.vehicle-table article strong{color:#176db8;font-size:10px}.vehicle-row-actions{display:flex;gap:4px}.vehicle-dispatch-state{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:7px;font-style:normal}.vehicle-dispatch-state.using{background:#fff3d8;color:#a66c00}.vehicle-dispatch-state.done{background:#e7f7ef;color:#17865d}
.vehicle-manager-admin{margin-bottom:13px;border-color:#b9d7ef;background:linear-gradient(135deg,#f0f8ff,#fff)}.vehicle-manager-row{display:grid;grid-template-columns:minmax(260px,1fr) minmax(280px,1fr) auto;align-items:end;gap:14px}.vehicle-manager-current{display:flex;align-items:center;gap:11px}.vehicle-manager-current>div{min-width:0}.vehicle-manager-current small,.vehicle-manager-current b,.vehicle-manager-current em{display:block}.vehicle-manager-current small{color:#7b8d9d;font-size:8px}.vehicle-manager-current b{margin:4px 0;color:#294861;font-size:13px}.vehicle-manager-current em{color:#8292a0;font-size:8px;font-style:normal}.vehicle-manager-row .field{margin:0}.vehicle-manager-row>.btn{height:42px}
.vehicle-detail-body{display:grid;gap:13px;padding:16px 20px 20px;overflow:auto}.vehicle-detail-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.vehicle-detail-summary span{padding:12px;border-radius:12px;background:#f4f8fb}.vehicle-detail-summary small,.vehicle-detail-summary b{display:block}.vehicle-detail-summary small{color:#8192a1;font-size:8px}.vehicle-detail-summary b{margin-top:5px;color:#294861;font-size:13px}.vehicle-card-dates.detail{grid-template-columns:repeat(3,1fr);margin:0}.vehicle-detail-records{display:grid;grid-template-columns:1fr 1fr;gap:12px}.vehicle-detail-records section{padding:14px;border:1px solid #dce7f0;border-radius:13px}.vehicle-detail-records h3{margin:0 0 8px;color:#294861;font-size:11px}.vehicle-detail-records p{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0;padding:8px 0;border-bottom:1px solid #eef2f5;color:#61798d;font-size:8px}.vehicle-detail-records p:last-child{border-bottom:0}.vehicle-detail-records p b{color:#3a576e}
.badge.gray{background:#edf1f4;color:#6e7e8c}
@media(max-width:1380px){.vehicle-kpis{grid-template-columns:repeat(3,1fr)}.vehicle-archive-grid{grid-template-columns:repeat(2,1fr)}.vehicle-dashboard-grid.bottom{grid-template-columns:1fr 1fr}.vehicle-dashboard-grid.bottom>section:first-child{grid-column:1/-1}}
@media(max-width:980px){.vehicle-dashboard-grid{grid-template-columns:1fr}.vehicle-dashboard-grid.bottom{grid-template-columns:1fr}.vehicle-dashboard-grid.bottom>section:first-child{grid-column:auto}.vehicle-manager-row{grid-template-columns:1fr 1fr}.vehicle-manager-row>.btn{grid-column:1/-1}.vehicle-archive-grid{grid-template-columns:1fr}.vehicle-detail-records{grid-template-columns:1fr}}
@media(max-width:820px){.unified-module-tabs{padding:5px}.unified-module-tabs button{flex:0 0 auto;min-height:36px;padding:0 11px}.vehicle-hero{align-items:flex-start;flex-direction:column;padding:16px}.vehicle-hero h2{font-size:18px}.vehicle-month-control{width:100%;grid-template-columns:42px minmax(0,1fr) 42px}.vehicle-month-control .btn{grid-column:1/-1;width:100%}.vehicle-month-control input{font-size:16px!important}.vehicle-toolbar{align-items:stretch;flex-direction:column}.vehicle-toolbar>select{width:100%;font-size:16px}.vehicle-kpis{grid-template-columns:repeat(2,1fr);gap:8px}.vehicle-kpis article{display:block;min-height:112px}.vehicle-kpis article>span{margin-bottom:8px}.vehicle-record-summary{grid-template-columns:repeat(2,1fr)}.vehicle-table{min-width:0}.vehicle-table-head{display:none}.vehicle-table article,.vehicle-table.fuel article,.vehicle-table.dispatch article{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:9px;padding:13px;border:1px solid #dfe8ef;border-radius:12px;background:#fff}.vehicle-table article>span,.vehicle-table article>strong{min-width:0}.vehicle-table article [data-label]:before{content:attr(data-label);display:block;margin-bottom:4px;color:#8b99a6;font-size:7px;font-weight:400}.vehicle-row-actions{justify-content:flex-end}.vehicle-manager-row{grid-template-columns:1fr}.vehicle-manager-row>.btn{grid-column:auto;width:100%}.vehicle-detail-summary{grid-template-columns:repeat(2,1fr)}.vehicle-card-dates.detail{grid-template-columns:1fr}.vehicle-donut-wrap{grid-template-columns:1fr;justify-items:center}.vehicle-donut-legend{width:100%}}
@media(max-width:420px){.vehicle-kpis{grid-template-columns:1fr 1fr}.vehicle-card-actions{flex-wrap:wrap}.vehicle-card-actions .btn{flex:1}.vehicle-card-actions .icon-button{margin-left:0}.vehicle-record-summary{grid-template-columns:1fr 1fr}.vehicle-table article,.vehicle-table.fuel article,.vehicle-table.dispatch article{grid-template-columns:1fr}.vehicle-detail-summary{grid-template-columns:1fr 1fr}}


/* ===== V1.7.2 一键工作报表中心与公车数据导出 ===== */
.quick-report-center{margin-bottom:14px;padding:18px;border:1px solid #cfe0ef;border-radius:18px;background:linear-gradient(135deg,#eef7ff 0%,#ffffff 52%,#f4fbf8 100%);box-shadow:0 10px 30px rgba(25,73,118,.06)}
.quick-report-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}
.quick-report-head>div{display:flex;align-items:center;gap:12px;min-width:0}.quick-report-head>div>span{display:grid;place-items:center;width:45px;height:45px;flex:none;border-radius:13px;background:linear-gradient(135deg,#176ed1,#0d91c5);color:#fff;box-shadow:0 8px 18px rgba(23,110,209,.2)}
.quick-report-head small{display:block;color:#2b77b8;font-size:8px;font-weight:800;letter-spacing:1.35px}.quick-report-head h2{margin:4px 0 3px;color:#20435f;font-size:17px;letter-spacing:.2px}.quick-report-head p{margin:0;color:#71869a;font-size:9px;line-height:1.65}
.quick-report-head>label{display:flex;align-items:center;gap:7px;flex:none;padding:6px 8px;border:1px solid #d5e3ee;border-radius:12px;background:#fff;color:#39729f}.quick-report-head>label input{height:35px;border:0;outline:0;background:transparent;color:#38536b;font-size:10px}
.quick-report-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.quick-report-grid>article{display:grid;grid-template-columns:minmax(190px,.8fr) minmax(220px,.9fr) minmax(330px,1.3fr);align-items:center;gap:13px;padding:14px;border:1px solid #dae6f0;border-radius:15px;background:rgba(255,255,255,.9)}
.quick-report-grid>article.department{border-left:4px solid #176ed1}.quick-report-grid>article.personal{border-left:4px solid #19a174}
.quick-report-card-title{display:flex;align-items:center;gap:10px;min-width:0}.quick-report-card-title>span{display:grid;place-items:center;width:39px;height:39px;flex:none;border-radius:11px;background:#e7f2fe;color:#176ed1}.quick-report-grid>article.personal .quick-report-card-title>span{background:#e7f8f0;color:#17875f}
.quick-report-card-title h3{margin:0;color:#294b66;font-size:12px;letter-spacing:.1px}.quick-report-card-title p{margin:4px 0 0;color:#8293a2;font-size:8px;line-height:1.5}
.quick-report-grid article>label>span{display:block;margin-bottom:5px;color:#74889a;font-size:8px;font-weight:700}.quick-report-grid select{width:100%;height:39px;padding:0 10px;border:1px solid #d8e4ee;border-radius:10px;background:#fff;color:#405c73;font-size:9px;outline:0}
.quick-report-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.quick-report-buttons .btn{justify-content:center;min-width:0;height:39px;padding:0 8px;font-size:8px;white-space:nowrap}.quick-report-buttons .btn .ui-icon{width:14px;height:14px}
.quick-report-modal{width:min(940px,calc(100vw - 40px))!important;max-height:92vh!important}.quick-report-modal-head{background:linear-gradient(135deg,#0b477f,#0d72b8);color:#fff}.quick-report-modal-head h2{color:#fff}.quick-report-modal-head p{color:rgba(255,255,255,.72)}.quick-report-modal-head .daily-report-kicker{color:#b9e3ff}.quick-report-modal-head .close{color:#fff}
.quick-report-modal-body{display:grid;gap:13px;padding:16px 20px 20px;overflow:auto}.quick-report-modal-meta{display:flex;flex-wrap:wrap;gap:8px}.quick-report-modal-meta span{display:flex;align-items:center;gap:6px;padding:8px 10px;border-radius:10px;background:#edf5fc;color:#5d758a;font-size:8px}.quick-report-modal-meta b{color:#355570}.quick-report-text{width:100%;min-height:430px;box-sizing:border-box;padding:17px;border:1px solid #d9e5ef;border-radius:13px;background:#fbfdff;color:#334f67;font-family:"Microsoft YaHei",sans-serif;font-size:11px;line-height:1.9;resize:vertical;outline:0;letter-spacing:.08px}
.vehicle-export-button{border-color:#b9d5ea!important;background:#edf7ff!important;color:#176db8!important}
@media(max-width:1380px){.quick-report-grid>article{grid-template-columns:minmax(170px,.7fr) minmax(190px,.8fr) 1.3fr}.quick-report-buttons{grid-template-columns:1fr}.quick-report-buttons .btn{height:34px}}
@media(max-width:980px){.quick-report-grid{grid-template-columns:1fr}.quick-report-grid>article{grid-template-columns:minmax(170px,.7fr) minmax(220px,.9fr) 1.3fr}.quick-report-buttons{grid-template-columns:repeat(3,1fr)} }
@media(max-width:820px){.quick-report-center{padding:13px;border-radius:16px}.quick-report-head{align-items:flex-start;flex-direction:column}.quick-report-head>label{width:100%;box-sizing:border-box}.quick-report-head>label input{width:100%;font-size:16px!important}.quick-report-grid>article{grid-template-columns:1fr;gap:11px;padding:13px}.quick-report-grid select{height:47px;font-size:16px!important}.quick-report-buttons{grid-template-columns:1fr}.quick-report-buttons .btn{height:44px;font-size:10px}.quick-report-modal{width:100%!important;height:94dvh!important;border-radius:22px 22px 0 0!important}.quick-report-modal-body{padding:13px}.quick-report-text{min-height:52vh;font-size:14px;line-height:1.8}.quick-report-modal-meta{display:grid;grid-template-columns:1fr}.vehicle-export-button{width:100%}}


/* ===== V1.7.3 年度分析入口与品牌年度分析 ===== */
.annual-tabs{margin-bottom:14px}.annual-control-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px;padding:20px 22px;border-radius:19px;background:linear-gradient(135deg,#123f70,#1768aa 58%,#168cbe);color:#fff;box-shadow:0 15px 36px rgba(14,76,131,.16)}
.annual-control-panel.brand{background:linear-gradient(135deg,#073f75,#0d6dab 56%,#1692bd)}.annual-control-panel>div:first-child{display:flex;align-items:center;gap:13px;min-width:0}.annual-control-panel>div:first-child>span{display:grid;place-items:center;width:48px;height:48px;flex:none;border-radius:14px;background:rgba(255,255,255,.14)}.annual-control-panel small{display:block;color:#afdfff;font-size:8px;font-weight:800;letter-spacing:1.35px}.annual-control-panel h2{margin:5px 0 4px;font-size:20px;letter-spacing:.2px}.annual-control-panel p{margin:0;color:rgba(255,255,255,.72);font-size:9px;line-height:1.65}
.annual-controls{display:flex;align-items:end;justify-content:flex-end;gap:8px;flex-wrap:wrap}.annual-controls label{display:grid;gap:5px}.annual-controls label>span{font-size:8px;color:rgba(255,255,255,.7);font-weight:700}.annual-controls select{height:40px;min-width:130px;padding:0 10px;border:0;border-radius:10px;background:#fff;color:#35536c;font-size:9px;outline:0}.annual-controls .btn{height:40px;white-space:nowrap}.annual-control-panel .btn.soft{border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.13);color:#fff}.annual-control-panel .btn.primary{background:#fff;color:#1766aa;box-shadow:none}
.annual-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:14px}.annual-kpis article{display:flex;align-items:center;gap:10px;min-width:0;min-height:96px;padding:14px;border:1px solid #dce7f1;border-radius:16px;background:#fff;box-shadow:0 8px 23px rgba(24,70,113,.045)}.annual-kpis article>span{display:grid;place-items:center;width:39px;height:39px;flex:none;border-radius:12px;background:#e7f2fe;color:#176ed1}.annual-kpis article:nth-child(2)>span{background:#e8f8f0;color:#16865d}.annual-kpis article:nth-child(3)>span{background:#f0eefe;color:#7556c7}.annual-kpis article:nth-child(4)>span{background:#fff3dd;color:#aa6c00}.annual-kpis article.risk>span{background:#ffebed;color:#d1424e}.annual-kpis small,.annual-kpis b,.annual-kpis em{display:block}.annual-kpis small{color:#7d8f9f;font-size:8px}.annual-kpis b{margin:4px 0;color:#1f415e;font-size:19px}.annual-kpis em{color:#8a9aa8;font-size:7px;font-style:normal}.annual-kpis.brand article:nth-child(5)>span{background:#edf3ff;color:#4b72bf}.annual-main-chart{margin-bottom:14px}.annual-two-column{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:14px;margin-bottom:14px}
.annual-ranking-list{display:grid;gap:9px}.annual-ranking-list article{display:grid;grid-template-columns:minmax(170px,.8fr) minmax(170px,1fr) auto;align-items:center;gap:12px;padding:11px 12px;border-radius:12px;background:#f7faff}.annual-ranking-list b{display:block;color:#294862;font-size:10px}.annual-ranking-list small{display:block;margin-top:4px;color:#8192a1;font-size:8px}.annual-ranking-list>article>span{height:7px;overflow:hidden;border-radius:999px;background:#e2eaf2}.annual-ranking-list>article>span i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#176ed1,#19a074)}.annual-ranking-list strong{color:#176ed1;font-size:10px;white-space:nowrap}.annual-analysis-card p{margin:0;padding:16px;border:1px solid #dce8f3;border-radius:13px;background:linear-gradient(135deg,#edf6ff,#fff);color:#3e5e77;font-size:10px;line-height:1.9}.annual-analysis-card.brand p{background:linear-gradient(135deg,#eef7ff,#f8fffc)}
.annual-people-panel,.annual-risk-panel{margin-bottom:14px}.annual-people-table{min-width:760px}.annual-people-head,.annual-people-table article{display:grid;grid-template-columns:1.25fr 1fr .72fr .72fr .72fr .72fr .9fr;gap:10px;align-items:center}.annual-people-head{padding:9px 12px;color:#8292a0;font-size:8px}.annual-people-table article{padding:11px 12px;border-top:1px solid #edf1f5;color:#506a7f;font-size:9px}.annual-people-table article:hover{background:#f8fbfe}.annual-people-table article b{display:block;color:#294862;font-size:10px}.annual-people-table article small{display:block;margin-top:3px;color:#8b9aa7;font-size:7px}.annual-people-table article strong{color:#176ed1;font-size:10px}.annual-risk-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}.annual-risk-list article{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:9px;padding:11px;border:1px solid #f0d7da;border-radius:12px;background:#fff9fa}.annual-risk-list .risk-dot{width:8px;height:8px;border-radius:50%;background:#d94b58}.annual-risk-list b{display:block;color:#553a42;font-size:9px}.annual-risk-list small{display:block;margin-top:4px;color:#9a7b82;font-size:7px}.annual-risk-list strong{color:#c8434f;font-size:10px}.annual-risk-list em{padding:3px 6px;border-radius:999px;background:#ffe8eb;color:#c8434f;font-size:7px;font-style:normal}
.annual-brand-platforms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-bottom:14px}.annual-brand-platforms>article{padding:17px;border:1px solid #dce7f1;border-top:4px solid #1d2939;border-radius:17px;background:#fff;box-shadow:0 9px 25px rgba(25,74,124,.05)}.annual-brand-platforms>article.channels{border-top-color:#16865d}.annual-brand-platforms>article.wechat_official{border-top-color:#176ed1}.annual-brand-platform-head{display:flex;align-items:center;gap:10px}.annual-brand-platform-head>span{display:grid;place-items:center;width:39px;height:39px;flex:none;border-radius:11px;background:#edf3f8;color:#294862}.annual-brand-platform-head h3{margin:0;color:#294862;font-size:13px}.annual-brand-platform-head p{margin:4px 0 0;color:#8596a5;font-size:8px}.annual-brand-platforms>article>strong{display:block;margin:15px 0 4px;color:#176ed1;font-size:27px}.annual-brand-platforms>article>small{display:block;color:#73889a;font-size:8px}.annual-brand-platform-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:13px 0}.annual-brand-platform-metrics span{padding:8px 4px;border-radius:9px;background:#f5f8fb;color:#8293a2;font-size:7px;text-align:center}.annual-brand-platform-metrics b{display:block;margin-top:4px;color:#405c73;font-size:10px}.annual-brand-top{padding-top:11px;border-top:1px solid #edf1f5}.annual-brand-top>b{color:#71869a;font-size:8px}.annual-brand-top p{margin:5px 0;color:#3f5d74;font-size:9px;line-height:1.5}.annual-brand-top em{color:#176ed1;font-size:8px;font-style:normal}.annual-quarter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.annual-quarter-grid article{padding:14px;border:1px solid #dce7f1;border-radius:14px;background:linear-gradient(135deg,#f6faff,#fff)}.annual-quarter-grid span,.annual-quarter-grid b,.annual-quarter-grid small,.annual-quarter-grid em{display:block}.annual-quarter-grid span{color:#6f8497;font-size:8px;font-weight:700}.annual-quarter-grid b{margin:7px 0 3px;color:#176ed1;font-size:20px}.annual-quarter-grid small{color:#60788e;font-size:8px}.annual-quarter-grid em{margin-top:6px;color:#8797a5;font-size:7px;font-style:normal}.annual-brand-charts{margin-bottom:14px}.annual-top-archive{margin-bottom:14px}
@media(max-width:1280px){.annual-kpis{grid-template-columns:repeat(3,1fr)}.annual-brand-platforms{grid-template-columns:1fr 1fr}.annual-brand-platforms>article:last-child{grid-column:1/-1}.annual-quarter-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.annual-control-panel{align-items:flex-start;flex-direction:column}.annual-controls{width:100%;justify-content:flex-start}.annual-two-column{grid-template-columns:1fr}.annual-risk-list{grid-template-columns:1fr}.annual-people-panel{overflow-x:auto}}
@media(max-width:820px){.annual-control-panel{padding:16px;border-radius:17px}.annual-control-panel h2{font-size:18px}.annual-controls{display:grid;grid-template-columns:1fr 1fr}.annual-controls label{min-width:0}.annual-controls select{width:100%;min-width:0;font-size:16px!important}.annual-controls .btn{grid-column:1/-1;width:100%}.annual-kpis{grid-template-columns:repeat(2,1fr);gap:8px}.annual-kpis article{display:block;min-height:104px;padding:12px}.annual-kpis article>span{margin-bottom:8px}.annual-brand-platforms{grid-template-columns:1fr}.annual-brand-platforms>article:last-child{grid-column:auto}.annual-brand-platform-metrics{grid-template-columns:repeat(2,1fr)}.annual-quarter-grid{grid-template-columns:1fr 1fr}.annual-ranking-list article{grid-template-columns:1fr}.annual-ranking-list strong{justify-self:start}.annual-people-table{min-width:0}.annual-people-head{display:none}.annual-people-table article{display:grid;grid-template-columns:1fr 1fr;border:1px solid #e1e9f0;border-radius:12px;margin-bottom:8px}.annual-people-table article span,.annual-people-table article strong{display:block}.annual-people-table article [data-label]::before{content:attr(data-label);display:block;margin-bottom:4px;color:#8998a5;font-size:7px;font-weight:400}}
@media(max-width:420px){.annual-kpis{grid-template-columns:1fr 1fr}.annual-quarter-grid{grid-template-columns:1fr}.annual-controls{grid-template-columns:1fr}.annual-brand-platform-metrics{grid-template-columns:1fr 1fr}}

.annual-control-panel.vehicle{background:linear-gradient(135deg,#123f70,#1768aa 58%,#168cbe)}


/* ===== V1.7.8 全系统排版与可读性优化 ===== */
:root{
  --hc-text:#263f57;
  --hc-muted:#6f8396;
  --hc-soft-line:#dce6ef;
  --hc-section-gap:18px;
}
body{font-size:14px;color:var(--hc-text)}
button,input,select,textarea{font-size:13px}
.content{width:100%;max-width:1800px;margin:0 auto;box-sizing:border-box}
.topbar h1{font-size:20px}.topbar p{font-size:12px;line-height:1.5}
.pagehead h2{font-size:27px;line-height:1.25}.pagehead p{font-size:13px;line-height:1.65}
.panel{padding:20px}.panel h3,.section-head h3{font-size:16px;line-height:1.4}.panel-sub{font-size:12px;line-height:1.65}
.btn{min-height:40px;font-size:13px;font-weight:700}.icon-button{width:36px;height:36px;min-width:36px}
.field>span,.field label>span{font-size:12px}.field input,.field select{font-size:14px}.field textarea{font-size:14px;line-height:1.7}
.badge,.task-relation{font-size:11px}.scope-note{font-size:12px;line-height:1.65}
.stat label{font-size:12px}.stat small{font-size:11px;line-height:1.55}.stat strong{font-size:30px}
.empty b{font-size:15px}.empty span{font-size:12px;line-height:1.65}

/* Sidebar grouping */
.nav{padding:12px 10px;overflow-y:auto}.nav-section+.nav-section{margin-top:13px;padding-top:11px;border-top:1px solid rgba(255,255,255,.09)}
.nav-section-label{padding:0 13px 7px;color:rgba(255,255,255,.42);font-size:10px;font-weight:800;letter-spacing:1.2px}
.nav button{height:44px;font-size:13px}.nav button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand small{font-size:11px}.usercard b{font-size:13px}.usercard small{font-size:11px}
.side-status b{font-size:11px}.side-status small{font-size:10px}

/* Desktop report center: never force a 1440px layout wider than the viewport */
.quick-report-grid{grid-template-columns:1fr!important}.quick-report-grid>article{grid-template-columns:minmax(170px,.75fr) minmax(180px,.75fr) minmax(0,1.35fr)!important}
.quick-report-head small{font-size:11px}.quick-report-head h2{font-size:19px}.quick-report-head p{font-size:12px}.quick-report-head>label input{font-size:13px}
.quick-report-card-title h3{font-size:14px}.quick-report-card-title p,.quick-report-grid article>label>span{font-size:11px}.quick-report-grid select{font-size:13px}.quick-report-buttons .btn{font-size:12px}
.quick-report-modal-meta span{font-size:11px}.quick-report-text{font-size:14px;line-height:1.85}
@media(min-width:0){.quick-report-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.quick-report-grid>article{grid-template-columns:minmax(150px,.7fr) minmax(160px,.7fr) minmax(0,1.25fr)!important}}

/* Task table: adaptive desktop layout without horizontal scroll */
.tablewrap{border-radius:15px;overflow-x:visible}.task-table-wrap{overflow-x:visible}
table{min-width:0;width:100%}th{padding:13px 12px;font-size:11px;letter-spacing:.2px}td{padding:14px 12px;font-size:13px;line-height:1.55;vertical-align:top}
.task-table{width:100%;table-layout:fixed;min-width:0}.task-table th:nth-child(1){width:31%}.task-table th:nth-child(2){width:16%}.task-table th:nth-child(3){width:12%}.task-table th:nth-child(4){width:14%}.task-table th:nth-child(5){width:12%}.task-table th:nth-child(6){width:15%}
.task-table th,.task-table td{word-break:break-word;overflow-wrap:anywhere}.task-title-cell{min-width:0}.task-title-cell b{display:block;font-size:13px;line-height:1.5}.task-title-cell>div{min-width:0}.task-meta-line{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:6px;color:#7b8d9e;font-size:11px;line-height:1.45}.task-meta-line>span:not(.task-relation):not(:last-child):after{content:'·';margin-left:6px;color:#b0bcc7}
.owner-cell{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:8px;font-size:13px}.owner-cell>div{min-width:0}.owner-cell small{display:block;font-size:11px;line-height:1.5;overflow-wrap:anywhere}.date-cell{font-size:12px}.progress{min-width:0}.progress-row{font-size:11px}.status-with-icon{font-size:11px}
.task-status-summary{display:flex;align-items:flex-start;gap:6px;flex-wrap:wrap}.task-risk-compact{display:inline-flex;padding:5px 7px;border-radius:999px;font-size:10px;font-weight:800}.task-risk-compact.warning{background:#fff5df;color:#9b6706}.task-risk-compact.danger{background:#ffeaec;color:#c43f4b}
.row-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;justify-items:stretch}.row-actions .icon-button{width:100%;height:36px;min-width:0}
@media(max-width:1600px){.task-table th:nth-child(1){width:29%}.task-table th:nth-child(2){width:15%}.task-table th:nth-child(3){width:12%}.task-table th:nth-child(4){width:14%}.task-table th:nth-child(5){width:12%}.task-table th:nth-child(6){width:18%}.task-type-icon{width:32px;height:32px}.task-title-cell{gap:8px}.task-title-cell b{font-size:12px}.task-meta-line{font-size:10px}.owner-cell{grid-template-columns:28px minmax(0,1fr);font-size:12px}.owner-cell small,.date-cell,.progress-row,.status-with-icon{font-size:10px}.task-risk-compact{font-size:9px;padding:4px 6px}.row-actions{gap:6px}.row-actions .icon-button{height:34px}}

/* Collapsible daily work */
.daily-departments{display:grid;gap:14px}.daily-dept{overflow:hidden;border:1px solid var(--hc-soft-line);border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(28,61,99,.05)}
.daily-dept>summary{list-style:none;cursor:pointer}.daily-dept>summary::-webkit-details-marker,.daily-person>summary::-webkit-details-marker{display:none}
.daily-dept-head{margin:0;padding:17px 18px;background:linear-gradient(90deg,#f4f9ff,#fff);border:0}.daily-dept[open]>.daily-dept-head{border-bottom:1px solid #e5edf4}.daily-dept .daily-person-grid{padding:14px}
.daily-dept .detail-chevron,.daily-person .detail-chevron{display:grid;place-items:center;transition:transform .2s}.daily-dept[open]>.daily-dept-head .detail-chevron,.daily-person[open]>.daily-person-head .detail-chevron{transform:rotate(90deg)}
.daily-person{display:block;padding:0;border:1px solid #e1e9f1;border-radius:15px;box-shadow:none}.daily-person-head{min-height:68px;padding:13px 14px;cursor:pointer}.daily-person[open]>.daily-person-head{border-bottom:1px solid #e8eef4}.daily-person-body{padding:14px}.daily-person-summary{display:flex;align-items:center;justify-content:flex-end;gap:10px}.daily-summary-progress{color:#71869a;font-size:11px;font-weight:700;white-space:nowrap}.daily-person-name h3{font-size:14px}.daily-person-name p{font-size:11px}.daily-person-kpis span{font-size:11px}.daily-person-kpis b{font-size:16px}.daily-narrative-title{font-size:12px}.daily-narrative li,.daily-no-summary{font-size:13px;line-height:1.75}

/* People task detail reduced from nine columns to six */
.person-period-task-head,.person-period-task-row{grid-template-columns:minmax(280px,1.5fr) minmax(190px,1fr) minmax(150px,.75fr) minmax(110px,.55fr) minmax(150px,.75fr) 44px!important;min-width:0!important}
.person-period-task-head{font-size:11px}.person-period-task-row{font-size:12px}.person-period-title-line{display:flex;align-items:flex-start;gap:8px}.person-period-task-name b{font-size:13px}.person-period-task-name small,.person-period-task-name p,.person-period-change small{font-size:11px;line-height:1.55}.person-period-change b{font-size:12px}.person-period-date{font-size:12px}.person-period-state{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.period-complete-pill{padding:4px 6px;border-radius:999px;background:#e8f7ef;color:#17845f;font-size:10px;font-style:normal;font-weight:800}
.person-period-summary-kpis span{font-size:11px}.person-period-summary-kpis span b{font-size:15px}

/* Grouped task form */
.task-form-sections{display:grid;gap:14px;padding:0 21px}.task-form-section{min-width:0;margin:0;padding:15px 16px 16px;border:1px solid #dce7f0;border-radius:15px;background:#fbfdff}.task-form-section legend{display:flex;align-items:center;gap:10px;padding:0 8px;color:#294b67}.task-form-section legend>span{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#e8f3ff;color:#176ed1;font-size:11px;font-weight:900}.task-form-section legend b,.task-form-section legend small{display:block}.task-form-section legend b{font-size:13px}.task-form-section legend small{margin-top:2px;color:#8192a2;font-size:10px;font-weight:400}.task-form-section .formgrid{padding:0!important}.task-form-section textarea{min-height:112px}
.settings-account-meta,.settings-data-meta{font-size:13px!important;line-height:1.9}.settings-last-sync{margin-top:12px;font-size:11px!important;line-height:1.6}

/* Raise legibility in dense analysis areas without altering charts */
[class*="annual-"] small,[class*="executive-"] small,[class*="person-period-"] small,[class*="admin-affair-"] small,[class*="vehicle-"] small,[class*="media-"] small{font-size:11px!important;line-height:1.5}
[class*="annual-"] p,[class*="executive-"] p,[class*="person-period-"] p,[class*="admin-affair-"] p,[class*="vehicle-"] p,[class*="media-"] p{line-height:1.65}

@media(max-width:1380px){
  .shell{grid-template-columns:220px minmax(0,1fr)}.content{padding-left:20px;padding-right:20px}
  .task-table th:nth-child(1){width:28%}.task-table th:nth-child(2){width:15%}.task-table th:nth-child(3){width:12%}.task-table th:nth-child(4){width:13%}.task-table th:nth-child(5){width:11%}.task-table th:nth-child(6){width:21%}.person-period-task-head,.person-period-task-row{min-width:0!important;grid-template-columns:minmax(250px,1.4fr) minmax(170px,.95fr) 135px 105px 145px 42px!important}
}
@media(max-width:1000px){
  .quick-report-grid>article{grid-template-columns:1fr!important}.quick-report-buttons{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:820px){
  .task-form-sections{padding:0 14px;gap:11px}.task-form-section{padding:13px 12px 14px}.task-form-section legend small{display:none}
  .tablewrap tbody{gap:9px}.tablewrap tr{border-radius:14px}.tablewrap td{min-height:38px;padding:7px 12px}.tablewrap td.mobile-task-main{padding:12px}.task-meta-line{font-size:10px}.owner-cell small{font-size:10px}
  .mobile-task-actions{padding:8px 10px!important}.row-actions .icon-button{height:40px!important}.daily-dept .daily-person-grid{padding:10px}.daily-person-head{min-height:62px;padding:11px}.daily-person-body{padding:11px}.daily-person-summary{gap:7px}.daily-summary-progress{display:none}
  .person-period-task-head{display:none}.person-period-task-row{grid-template-columns:1fr 1fr!important;min-width:0!important}.person-period-task-name{grid-column:1/-1}.person-period-state{display:flex!important}.person-period-state:before{content:attr(data-label);display:block;width:100%;color:#8191a1;font-size:9px;font-weight:700}.person-period-detail-button{grid-column:1/-1}
  [class*="annual-"] small,[class*="executive-"] small,[class*="person-period-"] small,[class*="admin-affair-"] small,[class*="vehicle-"] small,[class*="media-"] small{font-size:10px!important}
}


/* V1.7.8 final: personal analysis detail uses six adaptive columns */
.personal-task-detail-panel{overflow:hidden!important}
.personal-task-table-head,.personal-task-row{
  grid-template-columns:minmax(270px,1.45fr) minmax(180px,1fr) minmax(145px,.75fr) minmax(105px,.55fr) minmax(155px,.8fr) 44px!important;
  min-width:0!important;
}
.personal-task-list{min-width:0!important}
.personal-task-table-head{font-size:11px!important;padding:12px 14px!important}
.personal-task-row{font-size:12px!important;padding:13px 14px!important}
.personal-task-title-line{display:flex;align-items:flex-start;gap:8px;min-width:0}
.personal-task-title-line b{min-width:0}
.personal-task-name b{font-size:13px!important}
.personal-task-name small,.personal-task-name p{font-size:11px!important;line-height:1.55!important}
.personal-period-progress b{font-size:12px!important}.personal-period-progress small{font-size:10px!important}
.personal-current-progress b{font-size:11px!important}
.personal-task-date{font-size:12px}
.personal-task-state{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
@media(max-width:1250px){
  .personal-task-table-head,.personal-task-row{grid-template-columns:minmax(235px,1.35fr) minmax(160px,.9fr) minmax(130px,.7fr) 100px minmax(135px,.75fr) 40px!important;gap:7px}
}
@media(max-width:820px){
  .personal-task-detail-panel{overflow:visible!important}
  .personal-task-table-head{display:none!important}
  .personal-task-row{grid-template-columns:1fr 1fr!important;gap:8px!important;padding:12px!important;border:1px solid #e2eaf2!important;border-radius:14px!important;margin-bottom:9px!important;background:#fff}
  .personal-task-name{grid-column:1/-1}
  .personal-task-row>*:not(.personal-task-name):not(.personal-task-detail){display:block!important;padding:8px 9px!important;border-radius:9px!important;background:#f7faff}
  .personal-task-row>*:not(.personal-task-name):not(.personal-task-detail):before{content:attr(data-label);display:block;margin-bottom:5px;color:#8191a1;font-size:9px;font-weight:700}
  .personal-task-state{display:flex!important}
  .personal-task-state:before{width:100%}
  .personal-task-detail{grid-column:1/-1;width:100%!important;height:40px!important;border:1px solid #dbe6f0!important;border-radius:10px!important}
}

/* V1.8.3 Dormitory digital management platform */
.dorm-toolbar{margin-bottom:16px}.dorm-toolbar .unified-module-tabs{overflow-x:auto;scrollbar-width:thin}.dorm-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:16px;padding:24px 26px;border:1px solid #d5e6f5;border-radius:22px;background:linear-gradient(115deg,#edf7ff 0%,#fff 58%,#fff5e8 100%);box-shadow:0 12px 36px rgba(34,86,137,.08)}
.dorm-hero-main{display:flex;align-items:center;gap:16px}.dorm-hero-main>span{display:grid;place-items:center;width:58px;height:58px;border-radius:17px;background:linear-gradient(145deg,#176ed1,#4b9af1);color:#fff;box-shadow:0 10px 24px rgba(23,110,209,.2)}.dorm-hero-main>span .ui-icon{width:28px;height:28px}.dorm-hero-main small{color:#2f79bd;font-size:10px;font-weight:900;letter-spacing:1px}.dorm-hero-main h2{margin:5px 0 4px;color:#203f5d;font-size:24px}.dorm-hero-main p{margin:0;color:#6f8498;font-size:12px}.dorm-hero-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.dorm-hero-badges span{display:inline-flex;align-items:center;gap:6px;padding:8px 11px;border:1px solid #d6e7f5;border-radius:999px;background:rgba(255,255,255,.8);color:#52718d;font-size:11px;font-weight:700}.dorm-hero-badges .ui-icon{width:14px;height:14px;color:#f08b24}
.dorm-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:16px}.dorm-kpis article{display:flex;align-items:center;gap:12px;min-width:0;padding:16px;border:1px solid #dfe9f2;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(28,61,99,.045)}.dorm-kpis article>span{display:grid;place-items:center;width:38px;height:38px;flex:none;border-radius:12px;background:#edf6ff;color:#176ed1}.dorm-kpis article:nth-child(3n+2)>span{background:#fff3e5;color:#ed8a23}.dorm-kpis article:nth-child(3n)>span{background:#eaf8f2;color:#128863}.dorm-kpis small,.dorm-kpis b,.dorm-kpis em{display:block}.dorm-kpis small{color:#75899b;font-size:10px}.dorm-kpis b{margin:3px 0;color:#294a65;font-size:23px}.dorm-kpis em{overflow:hidden;color:#8a9aaa;font-size:9px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}
.dorm-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,.85fr);gap:16px;margin-bottom:16px}.dorm-dashboard-grid.bottom{grid-template-columns:repeat(3,minmax(0,1fr))}.dorm-chart-panel{min-width:0}.dorm-floor-bars{display:grid;gap:12px}.dorm-floor-bars article{display:grid;grid-template-columns:minmax(160px,1fr) minmax(220px,2fr) 52px;align-items:center;gap:12px}.dorm-floor-bars article>div b,.dorm-floor-bars article>div span{display:block}.dorm-floor-bars article>div b{color:#35546d;font-size:12px}.dorm-floor-bars article>div span{margin-top:3px;color:#8797a6;font-size:10px}.dorm-floor-bars article>i{height:10px;overflow:hidden;border-radius:999px;background:#edf2f6}.dorm-floor-bars article>i em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#176ed1,#58a6ef)}.dorm-floor-bars article>strong{color:#2d5475;font-size:12px;text-align:right}.dorm-gender-chart{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;gap:22px}.dorm-donut{display:grid;place-items:center;width:150px;height:150px;border-radius:50%;position:relative}.dorm-donut:after{content:'';position:absolute;inset:25px;border-radius:50%;background:#fff}.dorm-donut span{position:relative;z-index:1;text-align:center}.dorm-donut b,.dorm-donut small{display:block}.dorm-donut b{color:#294963;font-size:27px}.dorm-donut small{color:#8294a3;font-size:10px}.dorm-gender-chart>div:last-child{display:grid;gap:10px}.dorm-gender-chart p{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:8px;margin:0;padding:8px 0;border-bottom:1px solid #edf1f4;color:#667f93;font-size:11px}.dorm-gender-chart p i{width:9px;height:9px;border-radius:50%;background:#2476d5}.dorm-gender-chart p i.female{background:#f19a35}.dorm-gender-chart p i.temp{background:#7f8fa3}.dorm-gender-chart p b{color:#31516b;font-size:13px}
.dorm-status-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.dorm-status-grid article{display:flex;align-items:center;gap:10px;padding:13px;border-radius:13px;background:#f3f7fb}.dorm-status-grid article>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#fff;color:#5780a3}.dorm-status-grid article small,.dorm-status-grid article b{display:block}.dorm-status-grid article small{color:#7c8e9e;font-size:10px}.dorm-status-grid article b{margin-top:3px;color:#31536d;font-size:18px}.dorm-status-grid article.green>span{color:#15845f}.dorm-status-grid article.red>span{color:#d0525b}.dorm-status-grid article.blue>span{color:#176ed1}.dorm-mini-list{display:grid;gap:3px}.dorm-mini-list article{display:flex;align-items:center;gap:9px;padding:9px 0;border-bottom:1px solid #eef2f5}.dorm-mini-list article:last-child{border-bottom:0}.dorm-mini-list article>div{min-width:0;flex:1}.dorm-mini-list b,.dorm-mini-list small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dorm-mini-list b{color:#34536c;font-size:11px}.dorm-mini-list small{margin-top:3px;color:#8a99a7;font-size:9px}.dorm-mini-list em{color:#e1801b;font-size:9px;font-style:normal;white-space:nowrap}.dorm-mini-list.notices article>span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#edf6ff;color:#176ed1}
.dorm-section{margin-bottom:16px}.dorm-filter-row{display:grid;grid-template-columns:minmax(260px,1fr) 220px;gap:10px;margin-bottom:14px}.dorm-filter-row.single{grid-template-columns:220px;justify-content:end}.dorm-filter-row select,.dorm-month-input{height:42px;border:1px solid #d8e4ee;border-radius:11px;background:#fff;padding:0 12px;color:#4c667d;font-size:12px}.dorm-resident-list,.dorm-ledger-list,.dorm-meter-list{overflow:hidden;border:1px solid #e0e8ef;border-radius:15px}.dorm-resident-head,.dorm-resident-list article{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(120px,.7fr) minmax(145px,.8fr) minmax(180px,1fr) 90px 130px;align-items:center;gap:10px}.dorm-resident-head{padding:11px 13px;background:#f2f6fa;color:#73879a;font-size:10px;font-weight:800}.dorm-resident-list article{padding:13px;border-top:1px solid #edf1f4;color:#536d81;font-size:11px}.dorm-person{display:flex;align-items:center;gap:9px;min-width:0}.dorm-person>div{min-width:0}.dorm-person b,.dorm-resident-list article>div b{display:block;color:#2f506b;font-size:12px}.dorm-person small,.dorm-resident-list article>div small{display:block;margin-top:3px;color:#8999a7;font-size:9px;line-height:1.4}.dorm-status{display:inline-flex;align-items:center;justify-content:center;padding:5px 8px;border-radius:999px;background:#eef2f5;color:#708397;font-size:9px;font-style:normal;font-weight:800;white-space:nowrap}.dorm-status.green{background:#e7f7f0;color:#13845f}.dorm-status.orange{background:#fff1dc;color:#a96a09}.dorm-status.red{background:#ffebed;color:#c6404c}.dorm-status.blue{background:#eaf3ff;color:#176ed1}.dorm-row-actions{display:grid;grid-template-columns:repeat(2,34px);gap:5px;justify-content:start}.dorm-row-actions .icon-button{width:34px;height:34px;min-width:34px}
.dorm-room-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.dorm-room-card{padding:16px;border:1px solid #dce7ef;border-top:4px solid #3184d5;border-radius:16px;background:#fff;box-shadow:0 8px 22px rgba(28,61,99,.045)}.dorm-room-card.red{border-top-color:#d55760}.dorm-room-card.blue{border-top-color:#66a8e8}.dorm-room-card.gray{border-top-color:#8d9dad}.dorm-room-head{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px}.dorm-room-head>span{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#edf6ff;color:#176ed1}.dorm-room-head h3{margin:0;color:#274a66;font-size:17px}.dorm-room-head p{margin:3px 0 0;color:#8092a2;font-size:9px}.dorm-room-head>i{padding:4px 7px;border-radius:999px;background:#f0f4f7;color:#6f8293;font-size:8px;font-style:normal}.dorm-room-progress{margin:15px 0 12px}.dorm-room-progress>div{display:flex;justify-content:space-between;color:#73879a;font-size:10px}.dorm-room-progress>i{display:block;height:8px;margin-top:7px;overflow:hidden;border-radius:999px;background:#edf2f6}.dorm-room-progress>i em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#176ed1,#59a7ef)}.dorm-room-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.dorm-room-stats span{padding:9px;border-radius:10px;background:#f5f8fb;text-align:center}.dorm-room-stats small,.dorm-room-stats b{display:block}.dorm-room-stats small{color:#8494a2;font-size:8px}.dorm-room-stats b{margin-top:3px;color:#31516a;font-size:15px}.dorm-room-people{display:flex;align-items:center;min-height:31px;margin:12px 0}.dorm-room-people span,.dorm-room-people em{display:grid;place-items:center;width:28px;height:28px;margin-left:-5px;border:2px solid #fff;border-radius:50%;background:#dcecff;color:#176ed1;font-size:9px;font-style:normal;font-weight:800}.dorm-room-people span:first-child{margin-left:0}.dorm-room-people em{background:#fff0dd;color:#d57813}.dorm-room-note{min-height:32px;margin:0 0 10px;color:#7f91a1;font-size:9px;line-height:1.6}.dorm-room-actions{display:grid;grid-template-columns:1fr 36px 36px;gap:7px}.dorm-room-actions .btn{min-height:36px;font-size:10px}.dorm-room-actions .icon-button{width:36px;height:36px}
.dorm-ledger-head,.dorm-ledger-list article{display:grid;grid-template-columns:110px minmax(150px,1fr) 100px 130px 160px minmax(160px,1fr);align-items:center;gap:10px}.dorm-ledger-head{padding:11px 13px;background:#f2f6fa;color:#73879a;font-size:10px;font-weight:800}.dorm-ledger-list article{padding:13px;border-top:1px solid #edf1f4;color:#526b80;font-size:11px}.dorm-ledger-list b,.dorm-ledger-list small{display:block}.dorm-ledger-list b{color:#2f506b;font-size:11px}.dorm-ledger-list small{margin-top:3px;color:#8898a7;font-size:9px}.dorm-change{display:inline-flex;padding:5px 8px;border-radius:999px;background:#e7f7f0;color:#13845f;font-size:9px;font-style:normal;font-weight:800}.dorm-change.out{background:#eef1f4;color:#6e7f90}.dorm-change.move{background:#eaf3ff;color:#176ed1}.dorm-change.temp{background:#fff1dc;color:#a96a09}
.dorm-asset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dorm-asset-grid article{display:grid;grid-template-columns:38px minmax(0,1fr) auto auto minmax(110px,.7fr) 76px;align-items:center;gap:10px;padding:13px;border:1px solid #e0e8ef;border-radius:13px;background:#fff}.dorm-asset-grid article>span{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#edf6ff;color:#176ed1}.dorm-asset-grid b,.dorm-asset-grid small{display:block}.dorm-asset-grid b{color:#31516a;font-size:12px}.dorm-asset-grid small{margin-top:3px;color:#8797a5;font-size:9px}.dorm-asset-grid strong{color:#e18420;font-size:13px;white-space:nowrap}.dorm-asset-grid p{overflow:hidden;margin:0;color:#7c8f9f;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.dorm-asset-grid article>div:last-child{display:flex;gap:5px}.dorm-asset-grid .icon-button{width:34px;height:34px}
.dorm-meter-summary,.dorm-vacancy-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.dorm-meter-summary article,.dorm-vacancy-summary article{padding:14px 16px;border:1px solid #dfe8ef;border-radius:14px;background:#fff}.dorm-meter-summary small,.dorm-meter-summary b,.dorm-vacancy-summary small,.dorm-vacancy-summary b{display:block}.dorm-meter-summary small,.dorm-vacancy-summary small{color:#7d8f9f;font-size:10px}.dorm-meter-summary b,.dorm-vacancy-summary b{margin-top:5px;color:#2d4f69;font-size:20px}.dorm-meter-head,.dorm-meter-list article{display:grid;grid-template-columns:minmax(120px,1fr) 100px 110px 100px 110px minmax(130px,1fr) 80px;align-items:center;gap:10px}.dorm-meter-head{padding:11px 13px;background:#f2f6fa;color:#73879a;font-size:10px;font-weight:800}.dorm-meter-list article{padding:13px;border-top:1px solid #edf1f4;color:#536d81;font-size:11px}.dorm-meter-list b,.dorm-meter-list small{display:block}.dorm-meter-list b{color:#31516a}.dorm-meter-list small{margin-top:3px;color:#8898a7;font-size:9px}.dorm-meter-list strong{color:#176ed1}
.dorm-inspection-list{display:grid;gap:9px}.dorm-inspection-list article{display:grid;grid-template-columns:40px minmax(0,1fr) 90px 130px 78px;align-items:center;gap:11px;padding:13px;border:1px solid #e0e8ef;border-left:4px solid #56a0e7;border-radius:13px;background:#fff}.dorm-inspection-list article.warning{border-left-color:#eda13d}.dorm-inspection-list article.done{border-left-color:#20a176}.dorm-inspection-list article>span{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:#edf6ff;color:#176ed1}.dorm-inspection-list b{color:#31516a;font-size:12px}.dorm-inspection-list p{margin:4px 0;color:#536f84;font-size:11px;line-height:1.5}.dorm-inspection-list small{color:#8899a8;font-size:9px}.dorm-inspection-list em{color:#c2781e;font-size:9px;font-style:normal}.dorm-inspection-list article>div:last-child{display:flex;gap:5px}
.dorm-notice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dorm-notice-grid article{padding:16px;border:1px solid #dfe8ef;border-radius:15px;background:linear-gradient(145deg,#fff,#fbfdff)}.dorm-notice-head{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px}.dorm-notice-head>span{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#edf6ff;color:#176ed1}.dorm-notice-head small{color:#e18420;font-size:9px}.dorm-notice-head h3{margin:3px 0 0;color:#2e4f69;font-size:14px}.dorm-notice-grid article>p{display:-webkit-box;min-height:72px;overflow:hidden;margin:13px 0;color:#607a8f;font-size:11px;line-height:1.75;-webkit-box-orient:vertical;-webkit-line-clamp:4}.dorm-notice-grid footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:11px;border-top:1px solid #edf1f4;color:#8999a7;font-size:9px}.dorm-notice-grid footer>div{display:flex;gap:5px}.dorm-notice-grid .icon-button{width:34px;height:34px}
.dorm-vacancy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.dorm-vacancy-grid article{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;padding:14px;border:1px solid #dfe8ef;border-radius:14px;background:#fff}.dorm-vacancy-grid article>span{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#edf6ff;color:#176ed1}.dorm-vacancy-grid b,.dorm-vacancy-grid small{display:block}.dorm-vacancy-grid b{color:#31516a;font-size:14px}.dorm-vacancy-grid small{margin-top:3px;color:#8999a7;font-size:9px}.dorm-vacancy-grid strong{color:#e18420;font-size:22px;text-align:right}.dorm-vacancy-grid strong small{font-size:8px}.dorm-vacancy-grid .dorm-status{grid-column:1}.dorm-vacancy-grid p{grid-column:2/4;margin:0;color:#708698;font-size:10px}.dorm-vacancy-grid .btn{grid-column:1/4;min-height:36px;font-size:10px}.dorm-manager-admin{border-color:#cfe3f5;background:linear-gradient(110deg,#f2f8ff,#fff 65%,#fff8ef)}
@media(max-width:1500px){.dorm-kpis{grid-template-columns:repeat(3,1fr)}.dorm-room-grid,.dorm-vacancy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dorm-dashboard-grid.bottom{grid-template-columns:repeat(2,minmax(0,1fr))}.dorm-dashboard-grid.bottom>section:first-child{grid-column:1/-1}.dorm-resident-head,.dorm-resident-list article{grid-template-columns:minmax(200px,1.35fr) 110px 135px minmax(150px,.9fr) 80px 120px}.dorm-asset-grid article{grid-template-columns:36px minmax(0,1fr) auto auto 78px}.dorm-asset-grid article>p{display:none}}
@media(max-width:1100px){.dorm-hero{align-items:flex-start;flex-direction:column}.dorm-hero-badges{justify-content:flex-start}.dorm-dashboard-grid,.dorm-dashboard-grid.bottom{grid-template-columns:1fr}.dorm-dashboard-grid.bottom>section:first-child{grid-column:auto}.dorm-room-grid,.dorm-vacancy-grid,.dorm-notice-grid,.dorm-asset-grid{grid-template-columns:1fr}.dorm-resident-head{display:none}.dorm-resident-list{overflow:visible;border:0}.dorm-resident-list article{grid-template-columns:1fr 1fr;margin-bottom:10px;border:1px solid #dfe8ef;border-radius:13px}.dorm-person{grid-column:1/-1}.dorm-resident-list article>[data-label]:before{content:attr(data-label);display:block;margin-bottom:4px;color:#8999a7;font-size:8px}.dorm-row-actions{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr))}.dorm-row-actions .icon-button{width:100%}.dorm-ledger-head,.dorm-meter-head{display:none}.dorm-ledger-list,.dorm-meter-list{overflow:visible;border:0}.dorm-ledger-list article,.dorm-meter-list article{grid-template-columns:1fr 1fr;margin-bottom:9px;border:1px solid #dfe8ef;border-radius:13px}.dorm-ledger-list article>[data-label]:before,.dorm-meter-list article>[data-label]:before{content:attr(data-label);display:block;margin-bottom:4px;color:#8999a7;font-size:8px}.dorm-inspection-list article{grid-template-columns:40px minmax(0,1fr) auto}.dorm-inspection-list article>em{grid-column:2}.dorm-inspection-list article>div:last-child{grid-column:3;grid-row:1/3}}
@media(max-width:820px){.dorm-toolbar .unified-module-tabs{justify-content:flex-start}.dorm-hero{padding:17px}.dorm-hero-main{align-items:flex-start}.dorm-hero-main>span{width:46px;height:46px}.dorm-hero-main h2{font-size:19px}.dorm-hero-main p{font-size:10px;line-height:1.6}.dorm-hero-badges{display:none}.dorm-kpis{grid-template-columns:repeat(2,1fr);gap:8px}.dorm-kpis article{display:block;min-height:106px;padding:12px}.dorm-kpis article>span{margin-bottom:8px}.dorm-kpis b{font-size:20px}.dorm-floor-bars article{grid-template-columns:1fr 48px}.dorm-floor-bars article>i{grid-column:1/-1;grid-row:2}.dorm-floor-bars article>strong{grid-column:2;grid-row:1}.dorm-gender-chart{grid-template-columns:120px 1fr}.dorm-donut{width:120px;height:120px}.dorm-donut:after{inset:20px}.dorm-status-grid{grid-template-columns:1fr 1fr}.dorm-filter-row,.dorm-filter-row.single{grid-template-columns:1fr;justify-content:stretch}.dorm-room-grid,.dorm-vacancy-grid,.dorm-notice-grid,.dorm-asset-grid{grid-template-columns:1fr}.dorm-resident-list article,.dorm-ledger-list article,.dorm-meter-list article{grid-template-columns:1fr}.dorm-person{grid-column:auto}.dorm-row-actions{grid-column:auto;grid-template-columns:repeat(3,1fr)}.dorm-meter-summary,.dorm-vacancy-summary{grid-template-columns:repeat(2,1fr)}.dorm-asset-grid article{grid-template-columns:36px minmax(0,1fr) auto}.dorm-asset-grid article>.dorm-status{grid-column:2}.dorm-asset-grid article>div:last-child{grid-column:3;grid-row:1/3;flex-direction:column}.dorm-inspection-list article{grid-template-columns:36px minmax(0,1fr)}.dorm-inspection-list article>.dorm-status,.dorm-inspection-list article>em,.dorm-inspection-list article>div:last-child{grid-column:2;grid-row:auto}.dorm-vacancy-grid article{grid-template-columns:38px 1fr auto}.dorm-manager-admin .vehicle-manager-row{grid-template-columns:1fr}.dorm-manager-admin .vehicle-manager-row>.btn{width:100%}}
.dorm-toolbar{width:100%;max-width:100%;min-width:0;overflow:hidden}.dorm-toolbar .unified-module-tabs{width:100%;max-width:100%;min-width:0;box-sizing:border-box}
@media(max-width:820px){.dorm-toolbar{overflow:visible}.dorm-toolbar .unified-module-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;overflow:visible}.dorm-toolbar .unified-module-tabs button{width:100%;min-width:0;padding:0 5px;font-size:9px}.dorm-toolbar .unified-module-tabs button .ui-icon{width:14px;height:14px}}


/* V1.8.5 Room type options correction */
.dorm-roomtype-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0 0 15px}
.dorm-roomtype-summary article{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid #dce8f2;border-radius:13px;background:linear-gradient(135deg,#f7fbff,#fff)}
.dorm-roomtype-summary article>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#e8f3ff;color:#176ed1}
.dorm-roomtype-summary small,.dorm-roomtype-summary b{display:block}.dorm-roomtype-summary small{color:#74889b;font-size:11px}.dorm-roomtype-summary b{margin-top:2px;color:#274965;font-size:18px}.dorm-roomtype-summary b em{margin-left:3px;color:#8596a5;font-size:10px;font-style:normal;font-weight:600}
.dorm-room-title-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dorm-room-title-line h3{margin:0}.dorm-room-title-line>em{display:inline-flex;padding:4px 7px;border-radius:999px;background:#fff2dc;color:#a86b00;font-size:10px;font-style:normal;font-weight:800}
.dorm-room-stats{grid-template-columns:repeat(4,minmax(0,1fr))!important}.dorm-room-stats .room-type-value{font-size:12px!important;white-space:nowrap}
.field-help{display:block;margin-top:6px;color:#8192a2;font-size:10px;line-height:1.45}.field input.readonly{background:#f1f5f8;color:#526a7f;cursor:not-allowed}
@media(max-width:1200px){.dorm-roomtype-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.dorm-room-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:820px){.dorm-roomtype-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.dorm-roomtype-summary article{padding:10px}.dorm-roomtype-summary article:last-child{grid-column:1/-1}.dorm-room-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* V1.8.6 专项平台授权与领导汇总分析 */
.platform-access-badge{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:0 12px;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap}.platform-access-badge .ui-icon{width:15px;height:15px}.platform-access-badge.manage{background:#e9f7f1;color:#13835f;border:1px solid #ccebdc}.platform-access-badge.readonly{background:#edf5ff;color:#176ed1;border:1px solid #d2e5fb}
.dorm-readonly-mode [data-action^="new-dorm"],.dorm-readonly-mode [data-action^="edit-dorm"],.dorm-readonly-mode [data-action^="delete-dorm"],.dorm-readonly-mode [data-action^="move-dorm"],.dorm-readonly-mode [data-action^="checkout-dorm"]{display:none!important}

.platform-permission-admin{margin-bottom:18px;background:linear-gradient(135deg,#fbfdff 0,#f4f9ff 58%,#fffaf2 100%)}.platform-permission-legend{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}.platform-permission-legend span{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid #dce7f1;border-radius:999px;background:#fff;color:#667d91;font-size:11px}.platform-permission-legend .ui-icon{width:14px;height:14px;color:#2775cc}.platform-permission-list{display:grid;gap:11px}.platform-permission-row{display:grid;grid-template-columns:minmax(210px,.82fr) minmax(600px,2.4fr) 108px;align-items:center;gap:14px;padding:14px;border:1px solid #dce7f0;border-radius:15px;background:#fff;box-shadow:0 6px 18px rgba(34,69,105,.04)}.platform-permission-person{display:flex;align-items:center;gap:10px;min-width:0}.platform-permission-person>div{min-width:0}.platform-permission-person b,.platform-permission-person small,.platform-permission-person em{display:block}.platform-permission-person b{color:#294862;font-size:13px}.platform-permission-person small{margin-top:3px;color:#75899b;font-size:11px}.platform-permission-person em{margin-top:4px;color:#2880d6;font-size:10px;font-style:normal}.platform-permission-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.platform-permission-item{position:relative;min-width:0;cursor:pointer}.platform-permission-item input{position:absolute;opacity:0;pointer-events:none}.platform-permission-item>span{display:flex;min-height:72px;align-items:flex-start;flex-direction:column;gap:3px;padding:9px 9px 8px;border:1px solid #dfe8f1;border-radius:11px;background:#f8fafc;color:#597187;transition:.18s}.platform-permission-item>span>.ui-icon{width:16px;height:16px;color:#8ba0b3}.platform-permission-item b{font-size:11px;color:#3f5c73}.platform-permission-item small{font-size:9px;line-height:1.35;color:#8495a5}.platform-permission-item input:checked+span{border-color:#73adeb;background:#eaf4ff;box-shadow:inset 0 0 0 1px rgba(23,110,209,.08)}.platform-permission-item input:checked+span>.ui-icon,.platform-permission-item input:checked+span b{color:#176ed1}.platform-permission-row>.btn{width:100%;padding:0 10px}

.platform-analytics-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px;padding:23px 25px;border:1px solid #d5e5f3;border-radius:20px;background:linear-gradient(118deg,#edf6ff 0,#fff 56%,#fff6e8 100%);box-shadow:0 12px 34px rgba(39,87,131,.07)}.platform-analytics-hero>div:first-child{display:flex;align-items:center;gap:15px}.platform-analytics-hero>div:first-child>span{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:linear-gradient(145deg,#176ed1,#4e9cf0);color:#fff;box-shadow:0 10px 25px rgba(23,110,209,.22)}.platform-analytics-hero>div:first-child>span .ui-icon{width:25px;height:25px}.platform-analytics-hero small{display:block;color:#3b7fc3;font-size:10px;font-weight:900;letter-spacing:1.2px}.platform-analytics-hero h2{margin:5px 0 4px;color:#274761;font-size:24px}.platform-analytics-hero p{margin:0;color:#71869a;font-size:12px}.platform-analytics-tags{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.platform-analytics-tags span{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border-radius:999px;background:#fff;border:1px solid #dce7f0;color:#5f778c;font-size:10px;font-weight:700}.platform-analytics-tags .ui-icon{width:13px;height:13px;color:#1c76ce}
.platform-summary-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.platform-summary-cards article{position:relative;display:grid;grid-template-columns:45px minmax(0,1fr);gap:11px;min-height:142px;padding:17px;border:1px solid #dce7ef;border-radius:17px;background:#fff;overflow:hidden}.platform-summary-cards article:after{content:'';position:absolute;right:-25px;top:-32px;width:100px;height:100px;border-radius:50%;background:currentColor;opacity:.05}.platform-summary-cards article>span{display:grid;place-items:center;width:45px;height:45px;border-radius:13px;background:#eef5ff;color:#176ed1}.platform-summary-cards article>span .ui-icon{width:21px;height:21px}.platform-summary-cards small,.platform-summary-cards b,.platform-summary-cards em{display:block}.platform-summary-cards small{color:#75899a;font-size:11px}.platform-summary-cards b{margin-top:5px;color:#294862;font-size:22px;line-height:1.2}.platform-summary-cards em{margin-top:5px;color:#758a9c;font-size:10px;font-style:normal}.platform-summary-cards button,.platform-summary-cards article>i{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;align-self:end;margin-top:3px;padding:8px 9px;border:0;border-radius:9px;background:#f5f8fb;color:#527087;font-size:10px;font-style:normal}.platform-summary-cards button{cursor:pointer}.platform-summary-cards button:hover{background:#eaf4ff;color:#176ed1}.platform-summary-cards button .ui-icon{width:13px;height:13px}.platform-summary-cards article.orange>span{background:#fff2df;color:#d78318}.platform-summary-cards article.cyan>span{background:#e8f8fa;color:#18899a}.platform-summary-cards article.purple>span{background:#f1edff;color:#7959ca}
.platform-analysis-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:14px;margin-bottom:14px}.platform-analysis-panel{min-width:0}.platform-room-types,.platform-media-bars{display:grid;gap:11px}.platform-room-types article>div,.platform-media-bars article>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.platform-room-types b,.platform-media-bars b{color:#3b5a73;font-size:12px}.platform-room-types span,.platform-media-bars span{color:#7d8f9f;font-size:10px}.platform-room-types article>i,.platform-media-bars article>i{display:block;height:9px;margin-top:6px;border-radius:999px;background:#edf2f6;overflow:hidden}.platform-room-types article>i>em,.platform-media-bars article>i>em{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#176ed1,#55a2ef)}.platform-media-bars article:nth-child(2)>i>em{background:linear-gradient(90deg,#f09227,#f5ba63)}.platform-media-bars article:nth-child(3)>i>em{background:linear-gradient(90deg,#19a374,#55c49a)}.platform-mini-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:15px}.platform-mini-kpis span{padding:10px;border-radius:11px;background:#f5f8fb}.platform-mini-kpis small,.platform-mini-kpis b{display:block}.platform-mini-kpis small{color:#8191a1;font-size:9px}.platform-mini-kpis b{margin-top:4px;color:#2f536f;font-size:15px}.platform-vehicle-rank{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:8px}.platform-vehicle-rank span{display:grid;grid-template-columns:23px minmax(0,1fr) auto;align-items:center;gap:7px;padding:7px 8px;border-radius:9px;background:#f6f9fb}.platform-vehicle-rank i{display:grid;place-items:center;width:23px;height:23px;border-radius:7px;background:#e7f2ff;color:#176ed1;font-size:9px;font-style:normal;font-weight:900}.platform-vehicle-rank b{overflow:hidden;color:#48667d;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.platform-vehicle-rank em{color:#d17b15;font-size:10px;font-style:normal;font-weight:800}.platform-affair-status{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.platform-affair-status article{display:flex;align-items:center;gap:10px;min-height:88px;padding:13px;border-radius:13px;background:#f5f8fb}.platform-affair-status article>span{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#e7f2ff;color:#176ed1}.platform-affair-status article.warning>span{background:#fff1dc;color:#da8319}.platform-affair-status article.done>span{background:#e6f7ef;color:#168660}.platform-affair-status article.all>span{background:#f0ebff;color:#7758c7}.platform-affair-status small,.platform-affair-status b{display:block}.platform-affair-status small{color:#7f909f;font-size:10px}.platform-affair-status b{margin-top:4px;color:#2e506a;font-size:22px}.platform-insight-panel{margin-bottom:14px}.platform-insight-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.platform-insight-list article{display:flex;align-items:flex-start;gap:11px;padding:13px;border:1px solid #e0e8ef;border-radius:13px;background:#fbfdff}.platform-insight-list article>span{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:10px;background:#eaf4ff;color:#176ed1}.platform-insight-list b{display:block;color:#38566e;font-size:12px}.platform-insight-list p{margin:4px 0 0;color:#74889a;font-size:11px;line-height:1.65}

@media(max-width:1500px){.platform-permission-row{grid-template-columns:190px minmax(0,1fr) 96px}.platform-permission-options{grid-template-columns:repeat(3,minmax(0,1fr))}.platform-summary-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1100px){.platform-permission-row{grid-template-columns:1fr}.platform-permission-row>.btn{width:auto;justify-self:start}.platform-analysis-grid{grid-template-columns:1fr}.platform-analytics-hero{align-items:flex-start;flex-direction:column}.platform-analytics-tags{justify-content:flex-start}}
@media(max-width:820px){.platform-access-badge{min-height:34px}.platform-permission-options{grid-template-columns:1fr 1fr}.platform-permission-item>span{min-height:68px}.platform-summary-cards{grid-template-columns:1fr}.platform-analytics-hero{padding:17px}.platform-analytics-hero h2{font-size:20px}.platform-analytics-tags{gap:6px}.platform-mini-kpis{grid-template-columns:1fr 1fr}.platform-insight-list{grid-template-columns:1fr}.platform-vehicle-rank{grid-template-columns:1fr}.platform-affair-status{grid-template-columns:1fr 1fr}}

/* V1.9.0 leadership analytics and backup */
.topbar-tools{display:flex;align-items:center;justify-content:flex-end;gap:9px;margin-left:auto}.topbar-tool-button{height:38px;padding:0 12px}.topbar-tool-button .ui-icon{width:15px;height:15px}
.platform-period-control{display:flex;align-items:center;gap:12px;margin-bottom:15px;padding:11px 14px;border:1px solid #dce7ef;border-radius:15px;background:#fff}.platform-period-control .period-nav{display:flex;align-items:center;gap:8px}.platform-period-control label{display:flex;align-items:center;gap:9px;padding:0 11px;height:40px;border:1px solid #dbe6ef;border-radius:11px;background:#f8fbfd}.platform-period-control label small{color:#75899b;font-size:10px}.platform-period-control input{border:0;background:transparent;color:#31536c;font-size:13px;font-weight:800;outline:0}.platform-period-note{margin-left:auto;color:#71869a;font-size:11px}
.platform-summary-cards article{grid-template-columns:45px minmax(0,1fr);min-height:176px}.platform-change{display:inline-flex!important;align-items:center;width:max-content;max-width:100%;margin-top:8px!important;padding:4px 7px;border-radius:999px;background:#eef3f7;color:#6f8395!important;font-size:9px!important;font-weight:800;white-space:nowrap}.platform-change.good{background:#e9f7f0;color:#16845e!important}.platform-change.bad{background:#ffedef;color:#c54450!important}.platform-change.neutral{background:#eef3f7;color:#718394!important}.platform-card-actions{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;align-self:end}.platform-card-actions button,.platform-card-actions i{grid-column:auto!important;margin:0!important}.platform-card-actions i{justify-content:center!important}
.platform-mini-kpis.clickable button{min-width:0;padding:10px;border:0;border-radius:11px;background:#f5f8fb;text-align:left;cursor:pointer;transition:.2s}.platform-mini-kpis.clickable button:hover{background:#eaf4ff;transform:translateY(-1px)}.platform-mini-kpis.clickable small,.platform-mini-kpis.clickable b,.platform-mini-kpis.clickable em{display:block}.platform-mini-kpis.clickable small{color:#8191a1;font-size:9px}.platform-mini-kpis.clickable b{margin-top:4px;color:#2f536f;font-size:15px}.platform-mini-kpis.clickable em{margin-top:4px;color:#4181bd;font-size:9px;font-style:normal}
.platform-vehicle-rank button,.platform-media-bars button{width:100%;border:0;background:transparent;text-align:left;cursor:pointer}.platform-vehicle-rank button{display:grid;grid-template-columns:23px minmax(0,1fr) auto;align-items:center;gap:7px;padding:7px 8px;border-radius:9px;background:#f6f9fb}.platform-vehicle-rank button:hover,.platform-media-bars button:hover{background:#edf6ff}.platform-media-bars button{padding:8px;border-radius:10px}.platform-media-bars button>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.platform-media-bars button>i{display:block;height:9px;margin-top:6px;border-radius:999px;background:#edf2f6;overflow:hidden}.platform-media-bars button>i>em{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#176ed1,#55a2ef)}.platform-media-bars button:nth-child(2)>i>em{background:linear-gradient(90deg,#f09227,#f5ba63)}.platform-media-bars button:nth-child(3)>i>em{background:linear-gradient(90deg,#19a374,#55c49a)}
.platform-panel-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.platform-panel-actions .btn{min-height:36px;font-size:11px}
.platform-affair-status.clickable button{display:flex;align-items:center;gap:10px;min-height:88px;padding:13px;border:0;border-radius:13px;background:#f5f8fb;text-align:left;cursor:pointer}.platform-affair-status.clickable button:hover{background:#eaf4ff}.platform-affair-status.clickable button>span{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#e7f2ff;color:#176ed1}.platform-affair-status.clickable button.warning>span{background:#fff1dc;color:#da8319}.platform-affair-status.clickable button.done>span{background:#e6f7ef;color:#168660}.platform-affair-status.clickable small,.platform-affair-status.clickable b,.platform-affair-status.clickable em{display:block}.platform-affair-status.clickable small{color:#7f909f;font-size:10px}.platform-affair-status.clickable b{margin-top:4px;color:#2e506a;font-size:22px}.platform-affair-status.clickable em{margin-top:3px;color:#71879a;font-size:9px;font-style:normal}.platform-affair-status article.all em .platform-change{white-space:normal}
.platform-drilldown-body{display:grid;gap:8px;max-height:62vh;padding:18px 21px;overflow:auto}.platform-drilldown-body article{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px 12px;border:1px solid #e0e8ef;border-radius:12px;background:#fbfdff}.platform-drilldown-body article>span{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#eaf4ff;color:#176ed1}.platform-drilldown-body b{display:block;color:#34546d;font-size:12px}.platform-drilldown-body small{display:block;margin-top:3px;color:#8090a0;font-size:10px}.platform-drilldown-body em{color:#d17c18;font-size:11px;font-style:normal;font-weight:800;text-align:right}
.system-backup-panel{margin-top:16px}.backup-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:14px 0}.backup-summary-grid article,.backup-count-grid article{padding:13px;border:1px solid #dfe8ef;border-radius:12px;background:#f8fbfd}.backup-summary-grid small,.backup-summary-grid b,.backup-count-grid small,.backup-count-grid b,.backup-count-grid em{display:block}.backup-summary-grid small,.backup-count-grid small{color:#7c8f9f;font-size:10px}.backup-summary-grid b,.backup-count-grid b{margin-top:5px;color:#2e506b;font-size:20px}.backup-count-grid em{margin-top:3px;color:#8a99a7;font-size:9px;font-style:normal}.backup-actions{display:flex;gap:9px}.backup-note{margin:12px 0 0;color:#788c9e;font-size:11px;line-height:1.65}.backup-preview{padding:18px 21px}.backup-file-meta{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid #dce7ef;border-radius:14px;background:#f8fbfd}.backup-file-meta>span{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#e9f4ff;color:#176ed1}.backup-file-meta b,.backup-file-meta small{display:block}.backup-file-meta b{color:#31516a;font-size:13px}.backup-file-meta small{margin-top:4px;color:#7d8f9f;font-size:10px}.backup-count-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0}

@media(max-width:1100px){.topbar-tool-button span{display:none}.topbar-tool-button{width:38px;padding:0;justify-content:center}.platform-period-control{align-items:flex-start;flex-wrap:wrap}.platform-period-note{width:100%;margin-left:0}.backup-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.topbar-tools{gap:5px}.topbar .sync{display:none}.topbar-tool-button,.topbar-sync-button{width:36px!important;height:36px!important;padding:0!important;justify-content:center}.topbar-sync-button span{display:none}.platform-period-control{display:grid;grid-template-columns:1fr}.platform-period-control .period-nav{display:grid;grid-template-columns:38px minmax(0,1fr) 38px}.platform-period-control label{justify-content:space-between}.platform-period-control>.btn{width:100%}.platform-card-actions{grid-template-columns:1fr}.platform-mini-kpis.clickable{grid-template-columns:1fr 1fr}.platform-panel-actions{display:grid;grid-template-columns:1fr 1fr}.platform-drilldown-body{padding:13px}.platform-drilldown-body article{grid-template-columns:36px minmax(0,1fr)}.platform-drilldown-body article>em{grid-column:2;text-align:left}.backup-preview{padding:13px}.backup-summary-grid,.backup-count-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.backup-actions{display:grid;grid-template-columns:1fr}.backup-actions .btn{width:100%}}
.platform-analysis-panel,.platform-summary-cards article,.vehicle-svg-chart{contain:layout paint}.platform-analysis-panel{overflow:hidden}
@media(max-width:820px){html,body,#app,.shell,.main,.content,.page-transition{max-width:100vw;overflow-x:clip}}


/* V1.9.1 executive analysis redesign */
.executive-clean-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:16px;padding:22px 24px;border-radius:20px;background:linear-gradient(135deg,#0a3c77,#1167b7 62%,#18a1de);color:#fff;box-shadow:0 18px 42px rgba(6,65,126,.14)}
.executive-clean-copy small{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:800;letter-spacing:1.2px;color:#b8e3ff}.executive-clean-copy h2{margin:10px 0 6px;font-size:28px;line-height:1.2}.executive-clean-copy p{margin:0;color:rgba(255,255,255,.82);font-size:13px}.executive-clean-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.executive-clean-tags span{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.09);font-size:11px;color:#fff}
.executive-clean-period{min-width:290px;flex:none}
.executive-focus-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.executive-focus-strip article{padding:16px 18px;border:1px solid #deebf5;border-radius:18px;background:#fff;box-shadow:0 10px 26px rgba(16,64,109,.06)}.executive-focus-strip article small{display:block;color:#7b8d9f;font-size:12px}.executive-focus-strip article b{display:block;margin-top:8px;font-size:28px;line-height:1.1;color:#183b59}.executive-focus-strip article em{display:block;margin-top:8px;color:#6f8294;font-size:12px;font-style:normal}.executive-focus-strip article.red b{color:#cf4654}.executive-focus-strip article.green b{color:#17815f}.executive-focus-strip article.purple b{color:#6c58cb}
.executive-clean-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:16px;margin-bottom:16px}.executive-clean-panel{padding:20px}
.executive-alert-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px}.executive-alert-card{border:1px solid #e4edf5;border-radius:16px;padding:14px;background:#fbfdff}.executive-alert-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.executive-alert-title b{font-size:14px;color:#23405d}.executive-alert-title span{font-size:12px;color:#6f8294}.executive-alert-item{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:11px 0;border:0;border-top:1px dashed #e3ebf2;background:none;text-align:left}.executive-alert-item:first-of-type{border-top:0;padding-top:2px}.executive-alert-item b{display:block;font-size:13px;color:#1d3a57}.executive-alert-item small{display:block;margin-top:4px;color:#8091a2;font-size:11px;line-height:1.55}.executive-alert-item em{flex:none;padding:4px 8px;border-radius:999px;font-size:11px;font-style:normal;font-weight:800}.executive-alert-item em.warning{background:#fff4dd;color:#a06a07}.executive-alert-item em.danger{background:#ffeaec;color:#c63d49}.executive-alert-empty{padding:18px 12px;border:1px dashed #d9e6f0;border-radius:14px;background:#fff;text-align:center;color:#7d8e9f;font-size:12px}
.executive-dept-compact{display:grid;gap:12px}.executive-dept-compact article{padding:14px;border:1px solid #e3edf5;border-radius:15px;background:#fbfdff}.executive-dept-line{display:flex;align-items:center;justify-content:space-between;gap:8px}.executive-dept-line b{font-size:14px;color:#203d5a}.executive-dept-line span{font-size:12px;color:#7f90a1}.executive-dept-metrics{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px}.executive-dept-metrics span{font-size:12px;color:#6e8295}.executive-dept-metrics strong{font-size:13px;color:#21405e}.executive-dept-metrics .danger strong,.executive-dept-metrics .danger{color:#ca4350}.executive-dept-compact i{display:block;height:8px;margin-top:12px;border-radius:999px;background:#ecf2f8}.executive-dept-compact i em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1f6fd2,#39a0ec)}
.executive-work-browser{padding:20px}.executive-browser-toolbar{display:flex;align-items:flex-end;gap:12px;justify-content:space-between;flex-wrap:wrap;margin-bottom:14px}.executive-browser-toolbar label{display:grid;gap:6px}.executive-browser-toolbar label span{font-size:12px;color:#6f8294}.executive-browser-toolbar select{min-width:170px;height:40px;padding:0 12px;border:1px solid #d7e4ef;border-radius:12px;background:#fff;color:#28435d}.executive-browser-tips{display:flex;flex-wrap:wrap;gap:8px}.executive-browser-tips span{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;background:#f2f7fc;color:#60768d;font-size:12px}
.executive-browser-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:16px}.executive-browser-sidebar{display:grid;gap:10px;align-content:start;max-height:640px;overflow:auto;padding-right:4px}.executive-person-chip{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:12px 14px;border:1px solid #deebf5;border-radius:14px;background:#fff;text-align:left;transition:.2s}.executive-person-chip b{display:block;font-size:13px;color:#23415d}.executive-person-chip small{display:block;margin-top:4px;color:#7f90a2;font-size:11px;line-height:1.5}.executive-person-chip em{flex:none;padding:4px 8px;border-radius:999px;font-size:10px;font-style:normal;font-weight:800}.executive-person-chip em.ok{background:#e9f7ef;color:#167e5c}.executive-person-chip em.danger{background:#ffeaec;color:#c53f49}.executive-person-chip.active{border-color:#2d79d7;background:linear-gradient(180deg,#f7fbff,#eef6ff);box-shadow:0 10px 22px rgba(35,111,206,.12)}
.executive-browser-main{min-width:0}.executive-person-summary-card{padding:16px;border:1px solid #deebf5;border-radius:16px;background:linear-gradient(180deg,#fbfdff,#f6faff)}.executive-person-summary-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.executive-person-summary-head h4{margin:0;font-size:20px;color:#1e3a57}.executive-person-summary-head p{margin:6px 0 0;color:#7a8d9f;font-size:12px}.executive-person-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:14px}.executive-person-summary-grid article{padding:12px;border-radius:14px;background:#fff;border:1px solid #e2ebf4}.executive-person-summary-grid small{display:block;color:#7b8d9f;font-size:11px}.executive-person-summary-grid b{display:block;margin-top:8px;font-size:22px;color:#193b59}
.executive-task-list-simple{display:grid;gap:10px;margin-top:14px}.executive-task-list-simple article{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:14px;align-items:center;padding:14px 16px;border:1px solid #e0eaf3;border-radius:15px;background:#fff}.executive-task-topline{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.executive-task-topline b{font-size:14px;color:#203d5a}.executive-task-list-simple small{display:block;margin-top:6px;color:#7f91a3;font-size:11px;line-height:1.55}.executive-task-side{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px}.executive-mini-progress{display:flex;align-items:center;gap:8px}.executive-mini-progress span{flex:1;height:7px;border-radius:999px;background:#e9eff5;overflow:hidden}.executive-mini-progress span i{display:block;height:100%;background:linear-gradient(90deg,#2577d4,#3f9bea)}.executive-mini-progress b{font-size:12px;color:#21405d}.executive-update-list{display:grid;gap:12px}.executive-update-list article{padding:14px;border-radius:14px;border:1px solid #e2ebf4;background:#fbfdff}.executive-update-list b{font-size:13px;color:#1f3c59}.executive-update-list small{display:block;margin-top:4px;color:#7d90a2;font-size:11px}.executive-update-list p{margin:8px 0 0;color:#4c6176;font-size:12px;line-height:1.7}.executive-insight-compact{display:grid;gap:12px}.executive-insight-compact article{padding:14px;border-radius:14px;background:#fbfdff;border:1px solid #e3edf5}.executive-insight-compact b{display:block;font-size:13px;color:#22415d}.executive-insight-compact p{margin:6px 0 0;color:#4f6478;font-size:12px;line-height:1.75}
@media(max-width:1280px){.executive-focus-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.executive-clean-grid{grid-template-columns:1fr}.executive-browser-layout{grid-template-columns:1fr}.executive-browser-sidebar{max-height:none;grid-template-columns:repeat(2,minmax(0,1fr))}.executive-person-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.executive-task-list-simple article{grid-template-columns:1fr}.executive-task-side{grid-template-columns:1fr auto auto}}
@media(max-width:820px){.executive-clean-hero{padding:18px;flex-direction:column;align-items:flex-start}.executive-clean-copy h2{font-size:22px}.executive-focus-strip{grid-template-columns:1fr}.executive-alert-columns{grid-template-columns:1fr}.executive-browser-sidebar{grid-template-columns:1fr}.executive-person-summary-head{flex-direction:column}.executive-person-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.executive-browser-toolbar select{min-width:0;width:100%}.executive-task-side{grid-template-columns:1fr;justify-items:start}.executive-browser-tips{width:100%}}


/* V1.9.2 dormitory historical data import */
html,body{overflow-x:clip}.content,.page-transition{min-width:0;overflow-x:clip}

.dorm-import-preview{padding:18px 22px}.dorm-import-source{display:flex;align-items:center;gap:13px;padding:15px;border:1px solid #d9e7f3;border-radius:15px;background:linear-gradient(90deg,#f2f8ff,#fff)}.dorm-import-source>span{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#e6f2ff;color:#176ed1}.dorm-import-source b,.dorm-import-source small{display:block}.dorm-import-source b{font-size:14px;color:#24435f}.dorm-import-source small{margin-top:5px;color:#74889b;font-size:11px}.dorm-import-counts{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-top:14px}.dorm-import-counts article{padding:13px;border:1px solid #e0eaf3;border-radius:13px;background:#fff}.dorm-import-counts small,.dorm-import-counts b{display:block}.dorm-import-counts small{color:#778b9e;font-size:10px}.dorm-import-counts b{margin-top:7px;color:#1e4362;font-size:22px}.dorm-import-issues{margin-top:15px}.dorm-import-issues h3{font-size:14px;color:#294a66}.dorm-import-issues article{padding:10px 12px;border-left:3px solid #ef9d25;background:#fff8eb}.dorm-import-issues article+article{margin-top:7px}.dorm-import-issues b{font-size:12px;color:#80520b}.dorm-import-issues p{margin:4px 0 0;color:#725f3c;font-size:11px;line-height:1.6}
.dorm-resident-detail{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:18px 22px}.dorm-resident-detail section{padding:16px;border:1px solid #e0eaf3;border-radius:15px;background:#fbfdff}.dorm-resident-detail section.full{grid-column:1/-1}.dorm-resident-detail h3{margin:0 0 12px;font-size:14px;color:#264762}.dorm-resident-detail p{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin:8px 0;font-size:12px}.dorm-resident-detail p span{color:#7d90a2}.dorm-resident-detail p b{max-width:70%;text-align:right;color:#334f68;word-break:break-all}.dorm-resident-detail p.note{display:block;color:#455d73;line-height:1.75}.dorm-resident-detail small{display:block;margin-top:10px;color:#8b9aa8;font-size:10px}
.dorm-status.warning{background:#fff4df;color:#9a6506}
@media(max-width:1100px){.dorm-import-counts{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.dorm-import-counts{grid-template-columns:repeat(2,minmax(0,1fr))}.dorm-resident-detail{grid-template-columns:1fr;padding:14px}.dorm-resident-detail section.full{grid-column:auto}.dorm-resident-detail p{display:block}.dorm-resident-detail p b{display:block;max-width:none;margin-top:4px;text-align:left}}
.dorm-resident-list,.dorm-resident-list article,.dorm-resident-list article>*{min-width:0;max-width:100%}.dorm-resident-list article>div{overflow-wrap:anywhere;word-break:break-word}.dorm-row-actions{min-width:0}.modal>.dorm-resident-detail{min-width:0;overflow-y:auto}.dorm-resident-detail,.dorm-resident-detail>*{min-width:0;max-width:100%}


/* V1.9.3 宿舍平台精简 */
.dorm-kpis.compact{grid-template-columns:repeat(4,minmax(0,1fr))}.dorm-dashboard-grid.bottom.simplified{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.dorm-status-grid.simplified{grid-template-columns:repeat(2,minmax(0,1fr))}.dorm-roomtype-summary.overview{margin:0;grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1100px){.dorm-kpis.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.dorm-dashboard-grid.bottom.simplified{grid-template-columns:1fr}}
@media(max-width:820px){.dorm-kpis.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.dorm-roomtype-summary.overview{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* V1.9.4 dormitory utility billing */
.dorm-utility-rule{display:flex;align-items:flex-start;gap:13px;margin-bottom:14px;padding:15px 17px;border:1px solid #cfe2f5;border-radius:16px;background:linear-gradient(90deg,#eef7ff,#fffaf1)}.dorm-utility-rule>span{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:12px;background:#e1efff;color:#176ed1}.dorm-utility-rule b{display:block;color:#254762;font-size:14px}.dorm-utility-rule p{margin:5px 0 0;color:#657d91;font-size:12px;line-height:1.7}.dorm-meter-summary.utility{grid-template-columns:repeat(5,minmax(0,1fr))}.dorm-meter-summary.utility article.total{border-color:#f0d5aa;background:#fff9ef}.dorm-meter-summary article em{display:block;margin-top:4px;color:#8293a3;font-size:10px;font-style:normal}.dorm-utility-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.dorm-utility-room-list,.dorm-person-fee-list{overflow:hidden;border:1px solid #dfe9f1;border-radius:15px}.dorm-utility-room-head,.dorm-utility-room-list>article{display:grid;grid-template-columns:minmax(150px,1fr) minmax(170px,1.1fr) minmax(150px,1fr) 120px 95px 118px;align-items:center;gap:12px}.dorm-utility-room-head{padding:11px 13px;background:#f2f6fa;color:#74879a;font-size:10px;font-weight:800}.dorm-utility-room-list>article{padding:13px;border-top:1px solid #edf2f6;color:#536d81;font-size:11px}.dorm-utility-room-list b,.dorm-utility-room-list small,.dorm-utility-room-list strong{display:block}.dorm-utility-room-list b{color:#2a4b66;font-size:12px}.dorm-utility-room-list small{margin-top:3px;color:#8495a5;font-size:9px}.dorm-utility-room-list strong{margin-top:5px;color:#176ed1}.dorm-utility-total{color:#db8118;font-size:15px;font-weight:900}.dorm-person-fee-section{margin-top:15px}.dorm-person-fee-head,.dorm-person-fee-list>article{display:grid;grid-template-columns:minmax(150px,1fr) 80px minmax(150px,1fr) 90px 100px 100px 120px;align-items:center;gap:10px}.dorm-person-fee-head{padding:11px 13px;background:#f2f6fa;color:#74879a;font-size:10px;font-weight:800}.dorm-person-fee-list>article{padding:12px 13px;border-top:1px solid #edf2f6;color:#536d81;font-size:11px}.dorm-person-fee-list b,.dorm-person-fee-list small{display:block}.dorm-person-fee-list b{color:#2c4d68}.dorm-person-fee-list small{margin-top:3px;color:#8798a8;font-size:9px}.dorm-person-fee-list strong{color:#d87c14}.dorm-utility-detail-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:15px}.dorm-utility-detail-kpis article{padding:14px;border:1px solid #dfe9f1;border-radius:14px;background:#fff}.dorm-utility-detail-kpis article.total{background:#fff8ec}.dorm-utility-person-modal{overflow:hidden;border:1px solid #e0e9f1;border-radius:14px}.dorm-utility-person-head,.dorm-utility-person-modal article{display:grid;grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) 90px 100px 100px 120px;align-items:center;gap:10px}.dorm-utility-person-head{padding:10px 12px;background:#f2f6fa;color:#74879a;font-size:10px;font-weight:800}.dorm-utility-person-modal article{padding:12px;border-top:1px solid #edf2f5;color:#546d82;font-size:11px}.dorm-utility-import-preview{padding:0 20px}.dorm-meter-summary.utility-preview{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1200px){.dorm-meter-summary.utility{grid-template-columns:repeat(3,minmax(0,1fr))}.dorm-utility-room-head{display:none}.dorm-utility-room-list{overflow:visible;border:0}.dorm-utility-room-list>article{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:10px;border:1px solid #dfe8ef;border-radius:13px}.dorm-utility-room-list>article>[data-label]:before{content:attr(data-label);display:block;margin-bottom:5px;color:#8496a6;font-size:9px}.dorm-person-fee-list{overflow-x:auto}.dorm-person-fee-head,.dorm-person-fee-list>article{min-width:850px}}
@media(max-width:820px){.dorm-meter-summary.utility,.dorm-meter-summary.utility-preview{grid-template-columns:repeat(2,minmax(0,1fr))}.dorm-utility-actions{width:100%;justify-content:stretch}.dorm-utility-actions>*{flex:1 1 140px}.dorm-utility-room-list>article{grid-template-columns:1fr}.dorm-utility-detail-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dorm-utility-person-head{display:none}.dorm-utility-person-modal{overflow:visible;border:0}.dorm-utility-person-modal article{grid-template-columns:1fr 1fr;margin-bottom:9px;border:1px solid #dfe8ef;border-radius:12px}.dorm-person-fee-list{overflow:visible;border:0}.dorm-person-fee-head{display:none}.dorm-person-fee-list>article{grid-template-columns:1fr 1fr;min-width:0;margin-bottom:9px;border:1px solid #dfe8ef;border-radius:12px}.dorm-person-fee-list>article>[data-label]:before{content:attr(data-label);display:block;margin-bottom:4px;color:#8798a8;font-size:8px}}


/* V1.9.5 直接上传人力水电表 + 楼层/宿舍分组 */
.dorm-utility-actions select{height:40px;min-width:120px;padding:0 12px;border:1px solid #d7e4ef;border-radius:11px;background:#fff;color:#35536c;font-size:12px}
.dorm-import-months{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.dorm-import-months span{padding:6px 10px;border-radius:999px;background:#edf5ff;color:#176ed1;font-size:11px;font-weight:800}
.dorm-utility-floor-analysis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:15px}.dorm-utility-floor-analysis article{padding:14px 15px;border:1px solid #dfe9f2;border-radius:15px;background:#fff}.dorm-utility-floor-analysis article>div{display:flex;align-items:flex-end;justify-content:space-between;gap:8px}.dorm-utility-floor-analysis small{color:#768b9e;font-size:10px}.dorm-utility-floor-analysis b{color:#254864;font-size:16px}.dorm-utility-floor-analysis span{display:block;margin-top:7px;color:#7e90a1;font-size:10px}.dorm-utility-floor-analysis i{display:block;height:6px;margin-top:10px;border-radius:999px;background:#edf2f7;overflow:hidden}.dorm-utility-floor-analysis i em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1c70d0,#f19a28)}
.dorm-utility-floor-groups,.dorm-person-floor-groups{display:grid;gap:14px}.dorm-utility-floor-group{overflow:hidden;border:1px solid #dce8f2;border-radius:16px;background:#fff}.dorm-utility-floor-group>summary{display:grid;grid-template-columns:minmax(0,1fr) auto 26px;align-items:center;gap:14px;padding:14px 16px;cursor:pointer;list-style:none;background:linear-gradient(90deg,#f1f7ff,#fffaf2)}.dorm-utility-floor-group>summary::-webkit-details-marker,.dorm-person-room-group>summary::-webkit-details-marker{display:none}.dorm-utility-floor-group>summary>div:first-child{display:flex;align-items:center;gap:10px}.dorm-utility-floor-group>summary>div:first-child>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#e5f1ff;color:#176ed1}.dorm-utility-floor-group>summary b{display:block;color:#24445f;font-size:15px}.dorm-utility-floor-group>summary small{display:block;margin-top:3px;color:#7b8e9f;font-size:10px}.dorm-utility-floor-group>summary>div:nth-child(2){text-align:right}.dorm-utility-floor-group>summary strong{display:block;color:#dd8117;font-size:16px}.dorm-utility-floor-group>summary>i{transition:transform .2s}.dorm-utility-floor-group[open]>summary>i{transform:rotate(90deg)}.dorm-utility-floor-group .dorm-utility-room-list{border:0;border-top:1px solid #e3ebf3;border-radius:0}
.dorm-person-floor-group{overflow:hidden;border:1px solid #dfe9f2;border-radius:16px;background:#fff}.dorm-person-floor-title{display:grid;grid-template-columns:minmax(0,1fr) auto 24px;align-items:center;gap:12px;padding:13px 15px;cursor:pointer;list-style:none;background:#f4f8fc}.dorm-person-floor-title::-webkit-details-marker{display:none}.dorm-person-floor-title>div:first-child{display:flex;align-items:center;gap:9px;color:#28628f}.dorm-person-floor-title>div:first-child>span{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#e8f3ff;color:#176ed1}.dorm-person-floor-title b{display:block;font-size:14px;color:#24435e}.dorm-person-floor-title small{display:block;margin-top:3px;color:#7b8e9f;font-size:10px}.dorm-person-floor-title>div:nth-child(2){text-align:right}.dorm-person-floor-title strong{display:block;color:#d77a14;font-size:14px}.dorm-person-floor-title>i{transition:transform .2s}.dorm-person-floor-group[open]>.dorm-person-floor-title{border-bottom:1px solid #e4ecf3}.dorm-person-floor-group[open]>.dorm-person-floor-title>i{transform:rotate(90deg)}.dorm-person-room-groups{display:grid;gap:9px;padding:11px}.dorm-person-room-group{overflow:hidden;border:1px solid #e1eaf2;border-radius:13px;background:#fff}.dorm-person-room-group>summary{display:grid;grid-template-columns:minmax(0,1fr) auto 24px;align-items:center;gap:10px;padding:12px 13px;cursor:pointer;list-style:none}.dorm-person-room-group>summary>div{display:flex;align-items:center;gap:9px}.dorm-person-room-group>summary>div>span{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#eef5fc;color:#2772b8}.dorm-person-room-group>summary b{display:block;color:#27465f;font-size:13px}.dorm-person-room-group>summary small{display:block;margin-top:3px;color:#8192a2;font-size:9px}.dorm-person-room-group>summary strong{color:#d77a14;font-size:13px}.dorm-person-room-group>summary>i{transition:transform .2s}.dorm-person-room-group[open]>summary>i{transform:rotate(90deg)}.dorm-person-room-group .dorm-person-fee-list{border:0;border-top:1px solid #e8eef4;border-radius:0}.dorm-person-fee-head,.dorm-person-fee-list>article{grid-template-columns:minmax(145px,1fr) 70px minmax(135px,1fr) minmax(150px,1.1fr) 90px 90px 105px}
@media(max-width:1400px){.dorm-utility-floor-analysis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1000px){.dorm-utility-floor-analysis{grid-template-columns:repeat(2,minmax(0,1fr))}.dorm-utility-floor-group>summary{grid-template-columns:minmax(0,1fr) auto 22px}.dorm-person-fee-list{overflow-x:auto}.dorm-person-fee-head,.dorm-person-fee-list>article{min-width:850px}}
@media(max-width:820px){.dorm-utility-floor-analysis{grid-template-columns:1fr 1fr}.dorm-utility-floor-group>summary{grid-template-columns:minmax(0,1fr) 22px}.dorm-utility-floor-group>summary>div:nth-child(2){grid-column:1/-1;text-align:left;padding-left:44px}.dorm-person-floor-title{grid-template-columns:minmax(0,1fr) 22px}.dorm-person-floor-title>div:nth-child(2){grid-column:1/-1;text-align:left;padding-left:41px}.dorm-person-room-group>summary{grid-template-columns:minmax(0,1fr) 22px}.dorm-person-room-group>summary>strong{grid-column:1/-1;padding-left:39px}.dorm-person-room-group .dorm-person-fee-list{overflow:visible}.dorm-person-room-group .dorm-person-fee-head{display:none}.dorm-person-room-group .dorm-person-fee-list>article{grid-template-columns:1fr 1fr;min-width:0;margin:8px;border:1px solid #e1eaf2;border-radius:11px}.dorm-utility-actions select{flex:1 1 120px}}


.dorm-filter-row.split{grid-template-columns:minmax(0,1fr) 260px;align-items:end}
.dorm-room-group-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.dorm-room-group-kpis article{padding:12px 14px;border:1px solid #dce8f2;border-radius:14px;background:linear-gradient(135deg,#f7fbff,#fff)}
.dorm-room-group-kpis article.occupied{border-left:4px solid #2e82d5}.dorm-room-group-kpis article.vacant{border-left:4px solid #efb545}
.dorm-room-group-kpis small,.dorm-room-group-kpis b,.dorm-room-group-kpis span{display:block}.dorm-room-group-kpis small{color:#74889b;font-size:11px}.dorm-room-group-kpis b{margin-top:4px;color:#264763;font-size:24px;line-height:1.1}.dorm-room-group-kpis span{margin-top:5px;color:#8a99a7;font-size:10px;line-height:1.5}
.dorm-room-groups{display:grid;gap:18px;margin-top:14px}.dorm-room-block{padding:14px;border:1px solid #dce8f2;border-radius:18px;background:linear-gradient(180deg,#fbfdff,#fff)}.dorm-room-block.occupied{border-top:4px solid #3184d5}.dorm-room-block.vacant{border-top:4px solid #efb545}
.dorm-room-block-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;margin-bottom:12px}.dorm-room-block-head h4{display:flex;align-items:center;gap:8px;margin:0;color:#22425f;font-size:18px}.dorm-room-block-head h4 svg{width:17px;height:17px}.dorm-room-block-head p{grid-column:1/2;margin:2px 0 0;color:#7e90a0;font-size:11px}.dorm-room-block-head>span{padding:6px 10px;border-radius:999px;background:#edf4fb;color:#52708c;font-size:11px;font-weight:700}
.dorm-room-empty{padding:26px 14px;border:1px dashed #d7e4ef;border-radius:14px;background:#fff;color:#8395a4;font-size:12px;text-align:center}
.dorm-room-card.occupied .dorm-room-head>i{background:#eaf4ff;color:#176ed1}.dorm-room-card.vacant .dorm-room-head>i{background:#fff3dd;color:#bd7a0c}.dorm-room-card.vacant .dorm-room-progress>i em{background:linear-gradient(90deg,#efb545,#ffd374)}
.dorm-room-people strong{color:#8999a7;font-size:10px;font-weight:600}
@media(max-width:1100px){.dorm-filter-row.split{grid-template-columns:1fr}.dorm-room-group-kpis{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.dorm-room-group-kpis{grid-template-columns:1fr}.dorm-room-block-head{grid-template-columns:1fr}.dorm-room-block-head>span{justify-self:start}}


/* V1.9.7 宿舍水电人均应缴 */
.dorm-meter-summary.utility{grid-template-columns:repeat(6,minmax(0,1fr))}
.dorm-meter-summary.utility article.average{border-color:#d9d2f4;background:linear-gradient(135deg,#faf8ff,#fff)}
.dorm-meter-summary.utility article.average b{color:#6a55c7}
.dorm-utility-average{color:#6a55c7!important;font-size:13px!important}
.dorm-utility-detail-kpis{grid-template-columns:repeat(6,minmax(0,1fr))}
.dorm-utility-detail-kpis article.average{border-color:#d9d2f4;background:#faf8ff}
.dorm-utility-detail-kpis article.average b{color:#6a55c7}.dorm-utility-detail-kpis article.average em{display:block;margin-top:6px;color:#7d709f;font-size:9px;font-style:normal;line-height:1.5}
.dorm-person-room-group>summary>strong{display:block;text-align:right}.dorm-person-room-group>summary>strong em{display:block;margin-top:4px;color:#6a55c7;font-size:10px;font-style:normal;font-weight:700}
@media(max-width:1400px){.dorm-meter-summary.utility{grid-template-columns:repeat(3,minmax(0,1fr))}.dorm-utility-detail-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.dorm-meter-summary.utility,.dorm-utility-detail-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dorm-person-room-group>summary>strong{text-align:left}}


/* V1.9.8 dormitory simplification */
.dorm-hero-compact{padding:18px 24px;border:1px solid #deebf4;border-radius:20px;background:linear-gradient(180deg,#ffffff,#fbfdff);box-shadow:none}
.dorm-hero-main.compact{gap:14px}.dorm-hero-main.compact>span{width:58px;height:58px;border-radius:16px}.dorm-hero-main.compact h2{margin:0;font-size:34px;line-height:1.18;color:#1e3b58}.dorm-hero-main.compact p{margin:6px 0 0;color:#718698;font-size:13px}.dorm-hero-main.compact small{display:none}
.dorm-hero-summary{display:flex;flex-wrap:wrap;gap:10px;margin-left:auto}.dorm-hero-summary span{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:#f4f8fc;border:1px solid #dfe9f2;color:#4f6881;font-size:12px;font-weight:700}
.dorm-toolbar{padding:8px;border-radius:18px;background:#fff;border:1px solid #dfe9f2;box-shadow:none}.dorm-toolbar .module-tabs{gap:8px}.dorm-toolbar .module-tab{padding:12px 18px;border-radius:14px;font-size:14px;box-shadow:none}
.dorm-kpis.minimal{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.dorm-kpis.minimal article{padding:16px 18px;border:1px solid #e1ebf3;border-radius:16px;background:#fff;box-shadow:none}.dorm-kpis.minimal small{display:block;color:#7a8d9f;font-size:12px}.dorm-kpis.minimal b{display:block;margin-top:8px;color:#1f3c59;font-size:28px;line-height:1.05}.dorm-kpis.minimal em{display:block;margin-top:6px;color:#8a99a8;font-size:11px;font-style:normal}
.simple-overview{grid-template-columns:1.15fr .85fr;gap:14px}.dorm-simple-panel{padding:18px 20px;box-shadow:none}.dorm-floor-simple{display:grid;gap:10px}.dorm-floor-simple article{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;border:1px solid #e5edf4;border-radius:14px;background:#fbfdff}.dorm-floor-simple b{display:block;color:#1f3d5a;font-size:14px}.dorm-floor-simple small{display:block;margin-top:4px;color:#8797a6;font-size:11px}.dorm-floor-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.dorm-floor-meta span{font-size:12px;color:#60768b}.dorm-floor-meta strong{padding:5px 9px;border-radius:999px;background:#edf4fb;color:#2766a4;font-size:12px}
.dorm-overview-simple-list{display:grid;gap:10px}.dorm-overview-simple-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border-radius:14px;background:#fbfdff;border:1px solid #e5edf4}.dorm-overview-simple-list span{font-size:12px;color:#6f8396}.dorm-overview-simple-list b{font-size:13px;color:#244360;text-align:right;line-height:1.5}
.panel.dorm-section,.panel.dorm-simple-panel,.panel{box-shadow:none}
.dorm-roomtype-summary article,.dorm-status-grid article,.dorm-room-card,.dorm-kpis.compact article{box-shadow:none}
.dorm-room-card{border-radius:18px}.dorm-room-stats span{background:#f8fbfe}.dorm-room-actions .btn.soft{background:#f3f8fd}
@media(max-width:1100px){.dorm-kpis.minimal{grid-template-columns:repeat(2,minmax(0,1fr))}.simple-overview{grid-template-columns:1fr}.dorm-hero-compact{gap:14px}.dorm-hero-summary{margin-left:0}}
@media(max-width:720px){.dorm-kpis.minimal{grid-template-columns:1fr}.dorm-hero-main.compact h2{font-size:24px}.dorm-hero-summary span{font-size:11px;padding:7px 10px}.dorm-floor-simple article,.dorm-overview-simple-list article{grid-template-columns:1fr}.dorm-floor-meta{justify-content:flex-start}}


/* V1.9.9 resident room grouping + folded rooms */
.dorm-resident-room-groups{display:grid;gap:14px}.dorm-resident-room-group{border:1px solid #dde8f2;border-radius:18px;background:#fff;overflow:hidden}.dorm-resident-room-group>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid #edf3f8;background:#fbfdff}.dorm-resident-room-group>header h4{display:flex;align-items:center;gap:8px;margin:0;color:#244460;font-size:20px}.dorm-resident-room-group>header h4 svg{width:16px;height:16px}.dorm-resident-room-group>header p{margin:6px 0 0;color:#7d8f9e;font-size:12px}.dorm-resident-room-group>header>span{padding:6px 12px;border-radius:999px;background:#edf4fb;color:#53718c;font-size:12px;font-weight:700}
.dorm-resident-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px}.dorm-resident-cards article{padding:14px;border:1px solid #e6eef5;border-radius:16px;background:#fff}.dorm-resident-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}.dorm-resident-meta.secondary{grid-template-columns:1.3fr .7fr}.dorm-resident-meta span{padding:10px 12px;border-radius:12px;background:#f7fbfe}.dorm-resident-meta small{display:block;color:#7e8f9d;font-size:11px}.dorm-resident-meta b{display:block;margin-top:4px;color:#24415b;font-size:12px;line-height:1.45}
.dorm-fold-groups{display:grid;gap:14px;margin-top:14px}.dorm-fold-group,.dorm-floor-fold{border:1px solid #dde8f2;border-radius:18px;background:#fff;overflow:hidden}.dorm-fold-group>summary,.dorm-floor-fold>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px}.dorm-fold-group>summary::-webkit-details-marker,.dorm-floor-fold>summary::-webkit-details-marker{display:none}.dorm-fold-group>summary div,.dorm-floor-fold>summary div{min-width:0}.dorm-fold-group>summary h4{margin:0;color:#244460;font-size:20px}.dorm-fold-group>summary p,.dorm-floor-fold>summary small{margin:5px 0 0;color:#7e90a0;font-size:12px}.dorm-fold-group>summary span,.dorm-floor-fold>summary span{padding:6px 12px;border-radius:999px;background:#edf4fb;color:#53718c;font-size:12px;font-weight:700}.dorm-fold-group.vacant>summary{border-left:4px solid #efb545;background:#fffaf1}.dorm-fold-group.occupied>summary{border-left:4px solid #3184d5;background:#f7fbff}.dorm-floor-fold.vacant>summary{background:#fffdf7}.dorm-floor-fold.occupied>summary{background:#fbfdff}.dorm-fold-content{padding:12px 14px 14px}.dorm-floor-fold+.dorm-floor-fold{margin-top:12px}.dorm-floor-fold .dorm-room-grid{padding:0 12px 12px}
@media(max-width:1100px){.dorm-resident-cards{grid-template-columns:1fr}.dorm-resident-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.dorm-resident-meta.secondary{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.dorm-resident-room-group>header,.dorm-fold-group>summary,.dorm-floor-fold>summary{display:block}.dorm-resident-room-group>header>span,.dorm-fold-group>summary span,.dorm-floor-fold>summary span{display:inline-flex;margin-top:10px}.dorm-resident-meta,.dorm-resident-meta.secondary{grid-template-columns:1fr}}

/* V2.1.5 公务车台账化简洁重构 */
.vehicle-simple-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:12px;padding:16px 18px;border:1px solid #d9e6ef;border-radius:16px;background:linear-gradient(135deg,#f9fcff,#eef7fd 58%,#fff8ee)}
.vehicle-simple-hero>div:first-child{display:flex;align-items:center;gap:12px;min-width:0}.vehicle-simple-hero>div:first-child>span{display:grid;place-items:center;width:44px;height:44px;flex:none;border-radius:12px;background:#0b6386;color:#fff}.vehicle-simple-hero>div:first-child>span .ui-icon{width:23px;height:23px}.vehicle-simple-hero small{display:block;color:#6b8799;font-size:10px;letter-spacing:.7px}.vehicle-simple-hero h2{margin:3px 0;color:#173f58;font-size:20px}.vehicle-simple-hero p{margin:0;color:#6d8291;font-size:11px}.vehicle-simple-toolbar{position:sticky;top:0;z-index:8;padding:6px 0;background:rgba(247,250,253,.96);backdrop-filter:blur(8px)}
.vehicle-simple-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-bottom:12px}.vehicle-simple-kpis article{min-height:82px;padding:13px 14px;border:1px solid #dce7ef;border-radius:13px;background:#fff}.vehicle-simple-kpis small,.vehicle-simple-kpis b,.vehicle-simple-kpis em{display:block}.vehicle-simple-kpis small{color:#758b9b;font-size:10px}.vehicle-simple-kpis b{margin-top:7px;color:#173f58;font-size:22px;line-height:1}.vehicle-simple-kpis em{margin-top:5px;color:#8b99a5;font-size:9px;font-style:normal}.vehicle-simple-kpis .money{border-color:#f1dfc8;background:#fffaf4}.vehicle-simple-kpis .money b{color:#b96800;font-size:19px}
.vehicle-simple-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:10px;margin-bottom:10px}.vehicle-simple-panel{box-shadow:none!important}.vehicle-simple-panel .section-head{margin-bottom:10px}.vehicle-expense-bars{display:grid;gap:9px}.vehicle-expense-bars article>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.vehicle-expense-bars b{color:#39566b;font-size:10px}.vehicle-expense-bars span{color:#173f58;font-size:10px;font-weight:700}.vehicle-expense-bars i{display:block;height:6px;margin-top:5px;overflow:hidden;border-radius:999px;background:#edf3f7}.vehicle-expense-bars i em{display:block;height:100%;border-radius:inherit;background:#0b6f93}.vehicle-fund-strip{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid #edf1f4}.vehicle-fund-strip span{padding:9px 10px;border-radius:9px;background:#f6f9fb}.vehicle-fund-strip small,.vehicle-fund-strip b{display:block}.vehicle-fund-strip small{color:#8192a0;font-size:9px}.vehicle-fund-strip b{margin-top:3px;color:#35546b;font-size:12px}.vehicle-simple-reminders{display:grid;gap:6px}.vehicle-simple-reminders button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:9px 10px;border:0;border-radius:9px;background:#f7fafc;text-align:left;cursor:pointer}.vehicle-simple-reminders button:hover{background:#eef6fb}.vehicle-simple-reminders span b,.vehicle-simple-reminders span small{display:block}.vehicle-simple-reminders span b{color:#35546b;font-size:10px}.vehicle-simple-reminders span small{margin-top:2px;color:#8091a0;font-size:8px}.vehicle-simple-reminders em{flex:none;padding:4px 7px;border-radius:999px;background:#eef4f7;color:#657b8d;font-size:8px;font-style:normal}.vehicle-simple-reminders em.warning{background:#fff4da;color:#a56c00}.vehicle-simple-reminders em.danger{background:#fff0f1;color:#c7434e}
.vehicle-recent-expense{margin-bottom:10px}.vehicle-ledger-list{display:grid;grid-template-columns:110px 1.15fr 1fr 110px 100px;align-items:center;gap:10px;min-height:38px;padding:6px 8px;border-top:1px solid #eef2f5;color:#526d81;font-size:10px}.vehicle-ledger-list.header{min-height:32px;border-top:0;border-bottom:1px solid #dfe8ef;color:#8192a0;font-size:9px}.vehicle-ledger-list strong{color:#b96800}
.vehicle-ledger-panel{overflow:hidden;box-shadow:none!important}.vehicle-ledger-table{overflow:auto;border:1px solid #e1e9ef;border-radius:10px}.vehicle-ledger-row{display:grid;align-items:center;gap:8px;min-width:0;padding:9px 10px;border-top:1px solid #edf2f5;color:#536d80;font-size:10px}.vehicle-ledger-row:first-child{border-top:0}.vehicle-ledger-row:hover:not(.head){background:#f9fbfd}.vehicle-ledger-row.head{position:sticky;top:0;z-index:2;background:#eef5f9;color:#5d788b;font-size:9px;font-weight:700}.vehicle-base-table .vehicle-ledger-row{grid-template-columns:54px 110px 110px 120px 110px 105px 105px minmax(180px,1fr) 100px}.vehicle-expense-table .vehicle-ledger-row{grid-template-columns:54px 135px 105px 110px 110px 95px minmax(260px,1.6fr) 90px 90px 110px 80px;min-width:0}.vehicle-ledger-row span{min-width:0}.vehicle-ledger-row span b,.vehicle-ledger-row span small{display:block}.vehicle-ledger-row span b{color:#284c64;font-size:10px}.vehicle-ledger-row span small{margin-top:2px;color:#8495a2;font-size:8px}.vehicle-ledger-row .detail{white-space:pre-wrap;line-height:1.45}.vehicle-ledger-row strong{color:#b96800}.vehicle-record-summary.compact article{box-shadow:none}.vehicle-record-summary.compact small{font-size:9px}.vehicle-record-summary.compact b{font-size:14px}
.vehicle-oil-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}.vehicle-mini-ledger{display:grid;gap:2px;max-height:420px;overflow:auto}.vehicle-mini-ledger>div{display:grid;grid-template-columns:95px 1fr 100px 110px;align-items:center;gap:8px;min-height:34px;padding:6px 8px;border-bottom:1px solid #eef2f5;font-size:9px}.vehicle-mini-ledger b{color:#35546b}.vehicle-mini-ledger small{color:#7e91a0}.vehicle-card-distribution{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.vehicle-card-distribution article{padding:10px 11px;border:1px solid #e1e9ef;border-radius:10px;background:#fafcfd}.vehicle-card-distribution span,.vehicle-card-distribution b,.vehicle-card-distribution small{display:block}.vehicle-card-distribution span{color:#7a8e9d;font-size:8px}.vehicle-card-distribution b{margin-top:4px;color:#2f5269;font-size:10px;word-break:break-all}.vehicle-card-distribution small{margin-top:4px;color:#8092a0;font-size:8px;line-height:1.45}.vehicle-import-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin:12px 0}.vehicle-import-summary article{padding:12px;border:1px solid #dfe8ef;border-radius:11px;background:#f8fbfd}.vehicle-import-summary small,.vehicle-import-summary b,.vehicle-import-summary em{display:block}.vehicle-import-summary small{color:#778c9c;font-size:9px}.vehicle-import-summary b{margin-top:5px;color:#1d4d68;font-size:20px}.vehicle-import-summary em{margin-top:4px;color:#8999a5;font-size:8px;font-style:normal}.vehicle-import-note{padding:12px 14px;border-radius:10px;background:#fff8ed;color:#6d5d48}.vehicle-import-note b{font-size:10px}.vehicle-import-note p{margin:5px 0 0;font-size:9px;line-height:1.65}.vehicle-ledger-detail-info pre{margin:8px 0 14px;padding:10px;border-radius:9px;background:#f6f9fb;color:#4d697d;white-space:pre-wrap;font:10px/1.7 inherit}
@media(max-width:1200px){.vehicle-simple-kpis{grid-template-columns:repeat(3,1fr)}.vehicle-card-distribution{grid-template-columns:repeat(3,1fr)}.vehicle-import-summary{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){.vehicle-simple-hero{align-items:flex-start;flex-direction:column}.vehicle-simple-hero>div:first-child>span{width:40px;height:40px}.vehicle-simple-hero h2{font-size:18px}.vehicle-simple-grid,.vehicle-oil-grid{grid-template-columns:1fr}.vehicle-simple-kpis{grid-template-columns:repeat(2,1fr)}.vehicle-simple-kpis article{min-height:76px}.vehicle-ledger-list{grid-template-columns:90px 1fr 100px}.vehicle-ledger-list>:nth-child(3),.vehicle-ledger-list>:nth-child(5){display:none}.vehicle-card-distribution{grid-template-columns:repeat(2,1fr)}.vehicle-import-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.vehicle-card-distribution{grid-template-columns:1fr}.vehicle-import-summary{grid-template-columns:1fr 1fr}.vehicle-simple-kpis b{font-size:19px}}


/* V2.1.7 公务车台账导入弹窗交互与显示修复 */
.vehicle-import-modal-head{flex:none}
.vehicle-import-modal-body{flex:1;min-height:0;overflow:auto;padding:18px 22px 20px;background:#fff}
.vehicle-import-format{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding:11px 13px;border:1px solid #dce8ef;border-radius:12px;background:#f6fafc}
.vehicle-import-format>span{display:grid;place-items:center;width:30px;height:30px;flex:none;border-radius:9px;background:#e6f4ef;color:#16805d}
.vehicle-import-format>span .ui-icon{width:16px;height:16px}
.vehicle-import-format small,.vehicle-import-format b{display:block}
.vehicle-import-format small{color:#7d909e;font-size:10px}
.vehicle-import-format b{margin-top:2px;color:#284f67;font-size:12px}
.vehicle-import-modal-body .vehicle-import-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:0 0 12px}
.vehicle-import-modal-body .vehicle-import-summary article{display:flex;min-width:0;min-height:88px;box-sizing:border-box;flex-direction:column;justify-content:center;padding:13px 14px}
.vehicle-import-modal-body .vehicle-import-summary small{font-size:10px}
.vehicle-import-modal-body .vehicle-import-summary b{margin-top:7px;font-size:22px;line-height:1}
.vehicle-import-modal-body .vehicle-import-summary em{margin-top:7px;font-size:9px;line-height:1.45;overflow-wrap:anywhere}
.vehicle-import-modal-body .status-banner{margin:0 0 12px}
.vehicle-import-modal-body .vehicle-import-note{margin:0;padding:13px 14px}
.vehicle-import-modal-body .vehicle-import-note b{font-size:11px}
.vehicle-import-modal-body .vehicle-import-note p{font-size:10px;line-height:1.7}
.vehicle-import-modal-foot .btn{min-width:132px}
.vehicle-import-modal-foot .btn.primary{display:inline-flex;align-items:center;justify-content:center;gap:7px}
.vehicle-import-modal-foot .ui-icon{width:15px;height:15px}
@media(max-width:820px){.vehicle-import-modal-body{padding:14px 15px 16px}.vehicle-import-modal-body .vehicle-import-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.vehicle-import-modal-foot .btn{min-width:0}}
@media(max-width:480px){.vehicle-import-modal-body .vehicle-import-summary{grid-template-columns:1fr}.vehicle-import-modal-body .vehicle-import-summary article{min-height:72px}.vehicle-import-modal-body .vehicle-import-summary b{font-size:20px}}


/* ===== V2.1.9 手机端登录页专项修复 ===== */
/* 登录页使用独立 body 状态，避免手机端主系统底部导航预留空间污染登录页。 */
body.login-screen{padding-bottom:0!important;overflow-x:hidden}

@media(max-width:820px){
  html:has(body.login-screen){background:#eef4fa}
  body.login-screen{min-width:0;min-height:100dvh;background:#eef4fa;overflow:hidden}
  body.login-screen #app{width:100%;height:100dvh;min-height:100dvh;overflow:hidden}

  .login-page{
    display:block!important;
    width:100%;
    height:100dvh;
    min-height:100dvh;
    overflow:hidden;
    background:#eef4fa!important;
  }
  .login-page .hero{display:none!important}
  .login-side{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:100%;
    height:100dvh;
    min-height:0!important;
    box-sizing:border-box;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior-y:contain;
    -webkit-overflow-scrolling:touch;
    padding:calc(18px + env(safe-area-inset-top)) 16px calc(22px + env(safe-area-inset-bottom))!important;
    background:
      radial-gradient(circle at 88% 4%,rgba(82,177,255,.18),transparent 190px),
      linear-gradient(180deg,#07366d 0,#0a4b91 118px,#eef4fa 118px,#f5f8fc 100%)!important;
  }
  .mobile-login-logo{
    display:block!important;
    flex:none;
    width:min(206px,62vw)!important;
    max-width:none!important;
    height:auto;
    margin:2px auto 18px!important;
    filter:drop-shadow(0 8px 18px rgba(0,0,0,.16));
  }
  .login-card{
    flex:none;
    width:min(100%,430px)!important;
    max-width:430px!important;
    box-sizing:border-box;
    margin:0 auto;
    padding:20px 18px 18px!important;
    border:1px solid rgba(217,229,240,.96);
    border-radius:20px!important;
    box-shadow:0 16px 42px rgba(16,58,105,.14)!important;
    animation:none!important;
  }
  .login-card:hover{box-shadow:0 16px 42px rgba(16,58,105,.14)!important}
  .login-title{gap:11px;margin-bottom:16px}
  .login-mark{width:44px;height:44px;flex:none;border-radius:13px}
  .login-mark .ui-icon{width:20px;height:20px}
  .login-title>div{min-width:0}
  .login-title h2{font-size:20px!important;line-height:1.25;white-space:normal}
  .login-title p{margin-top:4px;font-size:11px!important;line-height:1.45}
  .login-card .status-banner{
    gap:9px;
    align-items:center;
    margin-bottom:15px;
    padding:10px 11px;
    border-radius:12px;
    font-size:10px!important;
    line-height:1.45;
  }
  .login-card .status-icon{width:30px;height:30px;border-radius:9px}
  .login-card .status-icon .ui-icon{width:16px;height:16px}
  .login-card .status-banner small{margin-top:2px;font-size:9px;line-height:1.4}
  .login-card form{width:100%;min-width:0}
  .login-card .field{width:100%;margin-bottom:12px}
  .login-card .field span{margin-bottom:6px;font-size:12px!important}
  .login-card .input-with-icon{width:100%;min-width:0}
  .login-card .field input{
    display:block;
    width:100%!important;
    min-width:0;
    height:48px!important;
    box-sizing:border-box;
    border-radius:11px;
    font-size:16px!important;
  }
  .login-card .input-with-icon>.ui-icon{left:14px;width:17px;height:17px}
  .login-card .input-with-icon input{padding-left:42px!important;padding-right:12px!important}
  .remember-password{
    width:100%;
    box-sizing:border-box;
    align-items:center;
    margin:1px 0 14px!important;
    padding:9px 10px!important;
    border-radius:11px;
    background:#f7fafc;
  }
  .remember-password input{width:18px;height:18px;flex:none;margin:0}
  .remember-password span{min-width:0}
  .remember-password b,.remember-password small{display:block}
  .remember-password b{font-size:11px}
  .remember-password small{margin-top:2px;font-size:9px;line-height:1.35}
  .login-submit{
    width:100%!important;
    min-height:48px!important;
    box-sizing:border-box;
    padding:0 16px!important;
    border-radius:12px;
    font-size:14px!important;
  }
  .login-note{margin:11px 2px 0!important;font-size:9px!important;line-height:1.55}
}

/* 超窄屏：防止 320/360px 设备出现卡片横向裁切。 */
@media(max-width:380px){
  .login-side{padding-left:12px!important;padding-right:12px!important}
  .mobile-login-logo{width:min(184px,58vw)!important;margin-bottom:14px!important}
  .login-card{padding:18px 15px 16px!important;border-radius:18px!important}
  .login-title{margin-bottom:14px}
  .login-title h2{font-size:19px!important}
  .login-card .status-banner{padding:9px 10px}
  .login-card .field input{height:46px!important}
  .login-submit{min-height:46px!important}
}

/* 横屏、键盘弹起或低高度设备：缩短非核心信息，保证账号/密码/登录按钮可滚动到达。 */
@media(max-width:820px) and (max-height:700px){
  .login-side{padding-top:calc(10px + env(safe-area-inset-top))!important;padding-bottom:calc(14px + env(safe-area-inset-bottom))!important}
  .mobile-login-logo{width:min(170px,52vw)!important;margin-bottom:10px!important}
  .login-card{padding-top:16px!important;padding-bottom:15px!important}
  .login-title{margin-bottom:12px}
  .login-card .status-banner{margin-bottom:11px;padding-top:8px;padding-bottom:8px}
  .login-card .field{margin-bottom:9px}
  .remember-password{margin-bottom:10px!important;padding-top:7px!important;padding-bottom:7px!important}
  .login-note{display:none}
}

@supports not (height:100dvh){
  @media(max-width:820px){
    body.login-screen #app,.login-page,.login-side{height:100dvh}
  }
}


/* ===== V2.4.4 品牌月度/季度总结与趋势明细标注 ===== */
.media-svg-chart svg text.value-label{font-size:8.5px;font-weight:900;paint-order:stroke;stroke:#fff;stroke-width:3.5px;stroke-linejoin:round;letter-spacing:.05px;pointer-events:none}
.media-chart-point circle{stroke:#fff;stroke-width:1.5px}
.media-grouped-scroll{padding-top:28px}.media-group{min-width:84px}.media-group-bars{gap:8px}.media-group-bars span{width:17px}.media-group-bars em{display:block;bottom:calc(100% + 5px);padding:0;background:transparent;color:#526b80;font-size:7px;font-weight:800;text-shadow:0 1px 0 #fff;pointer-events:none}.media-group-bars span:hover em{display:block}
.media-summary-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:13px;padding:20px 22px;border:1px solid #d6e7f6;border-radius:18px;background:linear-gradient(135deg,#edf7ff,#fff 58%,#f7fbff);box-shadow:0 8px 25px rgba(27,86,142,.05)}.media-summary-hero.quarter{background:linear-gradient(135deg,#eef6ff,#fff 58%,#f6f3ff)}.media-summary-hero small{color:#4d8fc8;font-size:8px;font-weight:800;letter-spacing:1.2px}.media-summary-hero h2{margin:5px 0;color:#203f59;font-size:20px}.media-summary-hero p{margin:0;color:#7c8f9f;font-size:9px}.media-summary-hero .btn{flex:none}
.media-summary-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:13px}.media-summary-kpis.quarter{grid-template-columns:repeat(5,minmax(0,1fr))}.media-summary-kpis article{min-height:96px;padding:14px 15px;border:1px solid #dce7f0;border-radius:15px;background:#fff;box-shadow:0 7px 20px rgba(27,67,105,.04)}.media-summary-kpis small,.media-summary-kpis b{display:block}.media-summary-kpis small{color:#8192a1;font-size:8px}.media-summary-kpis b{margin:5px 0;color:#203f59;font-size:21px}.media-summary-kpis .media-growth{margin-top:2px}
.media-summary-panel{margin-bottom:13px}.media-platform-compare-head,.media-platform-compare-list article{display:grid;grid-template-columns:180px repeat(5,minmax(105px,1fr));gap:8px;align-items:center;min-width:850px}.media-platform-compare-head{padding:9px 12px;border-radius:10px 10px 0 0;background:#f2f6fa;color:#7d8fa0;font-size:8px;font-weight:800}.media-platform-compare-list{overflow-x:auto}.media-platform-compare-list article{padding:12px;border-top:1px solid #edf1f5;background:#fff}.media-platform-compare-name{display:flex;align-items:center;gap:9px}.media-platform-compare-name>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#edf5fc;color:#2477ba}.media-platform-compare-name b,.media-platform-compare-name small{display:block}.media-platform-compare-name b{color:#2b4961;font-size:10px}.media-platform-compare-name small{margin-top:3px;color:#94a1ad;font-size:7px}.media-compare-metric b,.media-compare-metric small,.media-compare-metric em{display:block}.media-compare-metric b{color:#294862;font-size:12px}.media-compare-metric small{margin-top:3px;color:#96a3ae;font-size:7px}.media-compare-metric em{width:max-content;margin-top:4px;padding:2px 5px;border-radius:999px;font-size:7px;font-style:normal;font-weight:800}.media-compare-metric em.up{background:#e7f8ef;color:#16865d}.media-compare-metric em.down{background:#ffebed;color:#ce424d}.media-compare-metric em.neutral{background:#edf2f7;color:#768897}
.media-summary-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.media-summary-sections .panel{margin:0;padding:17px 18px}.media-summary-sections h3{margin:0 0 10px;color:#284862;font-size:12px}.media-summary-sections p{margin:7px 0;color:#61798d;font-size:9px;line-height:1.85}.media-summary-sections p b{color:#244a69}.media-summary-sections .media-summary-final{grid-column:1/-1;background:linear-gradient(135deg,#176fc0,#248fce);border-color:transparent}.media-summary-final small{color:#bfe3fa;font-size:8px;font-weight:800;letter-spacing:1px}.media-summary-final p{margin:7px 0 0;color:#fff;font-size:11px}.media-summary-next ol{display:grid;gap:7px;margin:0;padding-left:20px;color:#60788c;font-size:9px;line-height:1.6}.media-summary-tags{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.media-summary-tags span{display:grid;grid-template-columns:28px minmax(0,1fr);gap:3px 8px;padding:10px;border-radius:11px;background:#f5f9fd}.media-summary-tags i{grid-row:1/3;display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#e6f2fd;color:#2477ba;font-size:8px;font-style:normal;font-weight:900}.media-summary-tags b{color:#34546d;font-size:9px}.media-summary-tags em{color:#8a9aa8;font-size:7px;font-style:normal}.media-summary-top{margin-top:10px;padding:12px 13px;border:1px solid #dce8f2;border-radius:11px;background:#fbfdff}.media-summary-top small,.media-summary-top b,.media-summary-top em{display:block}.media-summary-top small{color:#7b91a3;font-size:7px}.media-summary-top b{margin:5px 0;color:#254b69;font-size:10px}.media-summary-top em{color:#2477ba;font-size:8px;font-style:normal}
.media-quarter-platform-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.media-quarter-platform-grid article{padding:14px;border:1px solid #dde7f0;border-radius:14px;background:#fbfdff}.media-quarter-platform-grid header{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:8px}.media-quarter-platform-grid header>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#edf5fc;color:#2477ba}.media-quarter-platform-grid header b,.media-quarter-platform-grid header small{display:block}.media-quarter-platform-grid header b{color:#2d4d66;font-size:10px}.media-quarter-platform-grid header small{margin-top:2px;color:#8b9aa7;font-size:7px}.media-quarter-platform-grid header strong{color:#176fc0;font-size:17px}.media-quarter-platform-grid article>div{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:11px}.media-quarter-platform-grid article>div span{padding:7px;border-radius:9px;background:#f2f7fb}.media-quarter-platform-grid article>div small,.media-quarter-platform-grid article>div b{display:block}.media-quarter-platform-grid article>div small{color:#8b9ba8;font-size:6.5px}.media-quarter-platform-grid article>div b{margin-top:3px;color:#34546d;font-size:9px}.media-quarter-platform-grid footer{margin-top:9px;color:#7d8f9f;font-size:7px}
.media-quarter-month-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.media-quarter-month-grid article{padding:13px;border-radius:12px;background:#f6f9fc}.media-quarter-month-grid small,.media-quarter-month-grid b,.media-quarter-month-grid span{display:block}.media-quarter-month-grid small{color:#7d91a2;font-size:7px}.media-quarter-month-grid b{margin:5px 0;color:#1f557f;font-size:18px}.media-quarter-month-grid span{color:#8193a2;font-size:7.5px}
@media(max-width:1250px){.media-summary-kpis.quarter{grid-template-columns:repeat(3,1fr)}.media-quarter-platform-grid{grid-template-columns:1fr}.media-platform-compare-head,.media-platform-compare-list article{grid-template-columns:160px repeat(5,110px)}}
@media(max-width:820px){.media-summary-hero{align-items:flex-start;flex-direction:column}.media-summary-hero .btn{width:100%}.media-summary-kpis,.media-summary-kpis.quarter{grid-template-columns:repeat(2,1fr)}.media-summary-sections{grid-template-columns:1fr}.media-summary-sections .media-summary-final{grid-column:auto}.media-summary-tags{grid-template-columns:1fr}.media-quarter-month-grid{grid-template-columns:1fr}.media-group{min-width:92px}.media-group-bars{gap:10px}}

/* V2.4.9 商务接待管理 */
.reception-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0 0 18px}
.reception-overview article{background:#fff;border:1px solid #dfe8f2;border-radius:20px;padding:20px 22px;min-height:122px;box-shadow:0 10px 28px rgba(31,74,117,.05);display:flex;flex-direction:column;gap:7px}
.reception-overview article small{font-size:13px;color:#7d91a6}.reception-overview article b{font-size:30px;line-height:1;color:#183b5c}.reception-overview article em{font-style:normal;font-size:12px;color:#8ca0b4}.reception-overview article.pending{border-color:#f0d49c;background:linear-gradient(145deg,#fff,#fffaf0)}.reception-overview article.pending b{color:#c98411}.reception-overview article.approved{border-color:#bae3d0}.reception-overview article.approved b{color:#15966c}.reception-overview article.returned{border-color:#f0c4c7}.reception-overview article.returned b{color:#d4515c}
.reception-list-panel{overflow:visible}.reception-list-tools{display:flex;gap:10px;align-items:center}.reception-list-tools .toolbar-search{min-width:300px}.reception-list-tools select{min-width:120px}
.reception-record-list{display:grid;gap:12px}.reception-record{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;padding:20px 22px;border:1px solid #e2eaf2;border-radius:18px;background:#fff;transition:.18s ease}.reception-record:hover{border-color:#b7d0eb;box-shadow:0 10px 28px rgba(36,84,128,.07);transform:translateY(-1px)}.reception-record.pending{border-left:4px solid #e3a43d}.reception-record.approved{border-left:4px solid #22a876}.reception-record.returned{border-left:4px solid #df6670}.reception-record-title{display:flex;align-items:center;gap:10px}.reception-record-title b{font-size:18px;color:#173957}.reception-record-title em{font-style:normal;background:#eef4fb;color:#637f9d;border-radius:999px;padding:4px 9px;font-size:12px}.reception-record-main>p{margin:9px 0 12px;color:#526b83;line-height:1.65}.reception-record-meta{display:flex;flex-wrap:wrap;gap:8px 18px;color:#71889e;font-size:13px}.reception-record-meta span{display:inline-flex;align-items:center;gap:5px}.reception-record-meta svg{width:15px;height:15px}.reception-record-support{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.reception-record-support span{background:#f3f7fb;border:1px solid #e2ebf4;color:#57728d;border-radius:999px;padding:5px 9px;font-size:12px}.reception-record-actions{display:flex;align-items:flex-end;justify-content:center;flex-direction:column;gap:8px;min-width:104px}.reception-record-actions small{color:#9aabbb;margin-bottom:auto}.reception-status{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:700;white-space:nowrap}.reception-status.pending{background:#fff3dc;color:#b7760b}.reception-status.approved{background:#e5f7ef;color:#13815f}.reception-status.returned{background:#ffeaec;color:#c8424e}.reception-inline-return{margin-top:12px;padding:10px 12px;border-radius:10px;background:#fff3f4;color:#ad3e48;font-size:13px}.danger-outline{color:#c74651!important;border-color:#e7b9bd!important;background:#fff!important}
.reception-report-form{width:min(1180px,96vw)}.reception-modal-head small,.reception-detail-head>div>small{display:block;color:#2e80dc;font-size:11px;font-weight:800;letter-spacing:1.5px;margin-bottom:7px}.reception-form-body{padding:22px 28px 10px;display:grid;gap:16px;max-height:calc(100dvh - 210px);overflow:auto;background:#f8fbfe}.reception-form-section{background:#fff;border:1px solid #e1eaf3;border-radius:18px;padding:20px}.reception-form-section>header{display:flex;align-items:center;gap:12px;margin-bottom:18px}.reception-form-section>header>span{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#eaf4ff;color:#2277d2;font-size:12px;font-weight:800}.reception-form-section>header b{display:block;color:#193b5b;font-size:16px}.reception-form-section>header small{display:block;margin-top:3px;color:#91a2b3}.reception-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 18px}.reception-form-grid .field.full{grid-column:1/-1}.reception-form-section .field>span{color:#58718a;font-size:13px}.reception-form-section input,.reception-form-section select,.reception-form-section textarea{width:100%;box-sizing:border-box}.reception-form-section textarea{resize:vertical}.reception-support-level{display:flex;align-items:end;gap:16px;padding:14px 16px;margin-bottom:14px;border-radius:14px;background:linear-gradient(135deg,#edf6ff,#f7fbff);border:1px solid #d8e9fa}.reception-support-level label{min-width:220px}.reception-support-level label>span{display:block;font-size:12px;color:#6a8299;margin-bottom:6px}.reception-support-level small{color:#8497aa;padding-bottom:12px}.reception-support-card{border:1px solid #e3ebf3;border-radius:15px;margin-top:12px;overflow:hidden}.support-card-switch{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;background:#fbfdff}.support-card-switch label,.support-card-switch>span{display:flex;align-items:center;gap:8px;font-weight:700;color:#244864}.support-card-switch label input{width:16px;height:16px}.support-card-switch svg{width:18px;height:18px;color:#2d82db}.support-card-switch small{color:#8b9dad;font-size:12px}.support-card-fields{display:grid;grid-template-columns:220px minmax(0,1fr);gap:14px;padding:15px 16px;border-top:1px solid #edf2f7;background:#fff}.support-card-fields.hidden{display:none}.support-card-fields.lodging{grid-template-columns:repeat(3,minmax(0,1fr))}.support-card-fields .wide{grid-column:span 2}.support-card-fields.lodging>.wide{grid-column:1/-1}.reception-vendor-info{display:flex;flex-direction:column;justify-content:center;gap:3px;padding:8px 12px;border-radius:10px;background:#f5f9fd;color:#5b738a;font-size:12px}.reception-vendor-info b{color:#244966}.reception-vendor-info em{font-style:normal;color:#6986a0}.reception-alcohol-options{display:flex;flex-wrap:wrap;gap:10px;padding:14px 16px;border-top:1px solid #edf2f7}.reception-alcohol-options label input{display:none}.reception-alcohol-options label span{display:inline-flex;padding:8px 13px;border:1px solid #dbe5ee;border-radius:999px;color:#637d95;cursor:pointer;background:#fff}.reception-alcohol-options label input:checked+span{background:#eaf4ff;border-color:#91c2f2;color:#1f73ca;font-weight:700}.reception-note{display:block;margin-top:16px}.reception-return-notice{padding:14px 16px;border:1px solid #efc2c6;border-radius:14px;background:#fff5f6;color:#a9434c}.reception-return-notice b{display:flex;align-items:center;gap:7px}.reception-return-notice p{margin:7px 0 0;line-height:1.55}.reception-form-foot{position:sticky;bottom:0;background:#fff;z-index:2}
.reception-detail-head{position:relative}.reception-detail-head>.reception-status{margin-left:auto;margin-right:42px}.reception-detail-body{padding:22px 28px;display:grid;gap:16px;background:#f8fbfe;max-height:calc(100dvh - 205px);overflow:auto}.reception-detail-body>section{background:#fff;border:1px solid #e1e9f2;border-radius:16px;padding:18px}.reception-detail-body h3{margin:0 0 14px;color:#1d4262}.reception-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.reception-detail-grid span{padding:11px 12px;border-radius:11px;background:#f5f9fd}.reception-detail-grid small{display:block;color:#8a9daf;font-size:11px}.reception-detail-grid b{display:block;margin-top:4px;color:#284a67}.reception-detail-text{margin-top:12px;padding:12px;border-top:1px solid #edf2f6}.reception-detail-text small{color:#8b9dae}.reception-detail-text p{margin:5px 0 0;color:#385974;line-height:1.6}.reception-logistics-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.reception-logistics-list article{padding:13px;border:1px solid #e6edf4;border-radius:12px}.reception-logistics-list article>b{color:#244b69}.reception-logistics-list p{margin:6px 0;color:#3e607a;font-weight:650}.reception-logistics-list small,.reception-logistics-list em{display:block;color:#8295a7;font-size:12px;line-height:1.55;font-style:normal}.reception-detail-foot{gap:8px}
.reception-role-admin{border-color:#d8e8f8}.reception-role-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.reception-role-grid>article{border:1px solid #e0e9f2;border-radius:16px;padding:16px;background:#fbfdff}.reception-role-current{display:flex;align-items:center;gap:12px;margin-bottom:14px}.reception-role-current small,.reception-role-current em{display:block;color:#8799aa;font-style:normal}.reception-role-current b{display:block;margin:3px 0;color:#254763}.reception-role-actions{display:flex;justify-content:flex-end;margin-top:14px}
@media(max-width:1000px){.reception-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.reception-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reception-role-grid{grid-template-columns:1fr}.reception-record{grid-template-columns:1fr}.reception-record-actions{flex-direction:row;align-items:center;justify-content:flex-start;flex-wrap:wrap}.reception-record-actions small{width:100%;margin:0}.reception-list-tools{width:100%}.reception-list-panel .section-head{align-items:flex-start;flex-direction:column}.reception-list-tools .toolbar-search{min-width:0;flex:1}.reception-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.reception-overview{grid-template-columns:1fr 1fr;gap:10px}.reception-overview article{padding:15px;min-height:102px}.reception-overview article b{font-size:25px}.reception-form-body,.reception-detail-body{padding:12px}.reception-form-section{padding:14px}.reception-form-grid,.support-card-fields,.support-card-fields.lodging,.reception-detail-grid,.reception-logistics-list{grid-template-columns:1fr}.support-card-fields .wide,.support-card-fields.lodging>.wide{grid-column:auto}.support-card-switch{align-items:flex-start;flex-direction:column}.reception-support-level{align-items:stretch;flex-direction:column}.reception-list-tools{flex-direction:column;align-items:stretch}.reception-record{padding:15px}.reception-record-meta{display:grid;gap:7px}.reception-detail-head>.reception-status{margin-right:36px}.reception-role-grid{grid-template-columns:1fr}}


/* V2.5.0 商务接待报备弹窗稳定布局：修复首屏被裁切、右侧溢出和底部空白 */
.modal.reception-report-modal{
  width:min(1240px,calc(100vw - 56px));
  max-height:calc(100dvh - 44px);
  height:min(900px,calc(100dvh - 44px));
  overflow:hidden;
  padding:0;
  display:flex;
  flex-direction:column;
}
.reception-report-modal .reception-report-form{
  width:100%;
  max-width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.reception-report-modal .reception-modal-head{
  flex:0 0 auto;
  position:relative;
  top:auto;
  padding:20px 26px 16px;
  margin:0;
  background:#fff;
  border-bottom:1px solid #e7eef5;
  box-shadow:none;
}
.reception-report-modal .reception-modal-head>div{min-width:0}
.reception-report-modal .reception-modal-head h2{font-size:22px;margin:0;line-height:1.25}
.reception-report-modal .reception-modal-head p{margin:6px 0 0;font-size:12px}
.reception-report-modal .reception-form-body{
  flex:1 1 auto;
  min-height:0;
  max-height:none;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  padding:18px 26px 20px;
  gap:16px;
  background:#f6f9fc;
}
.reception-report-modal .reception-form-section{
  min-width:0;
  padding:18px 20px;
  border-radius:16px;
}
.reception-report-modal .reception-form-section>header{margin-bottom:15px}
.reception-report-modal .reception-form-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px 16px;
  min-width:0;
}
.reception-report-modal .reception-form-grid .field,
.reception-report-modal .support-card-fields .field{min-width:0}
.reception-report-modal .reception-form-section input,
.reception-report-modal .reception-form-section select,
.reception-report-modal .reception-form-section textarea{
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
}
.reception-report-modal .reception-support-level{margin-bottom:12px}
.reception-report-modal .reception-support-card{margin-top:10px}
.reception-report-modal .reception-form-foot{
  flex:0 0 auto;
  position:relative;
  bottom:auto;
  margin:0;
  padding:13px 26px;
  background:#fff;
  border-top:1px solid #e7eef5;
  box-shadow:0 -8px 24px rgba(31,72,111,.05);
  z-index:5;
}
.reception-report-modal .reception-form-foot .btn{min-width:108px}
@media(max-width:1050px){
  .modal.reception-report-modal{width:min(960px,calc(100vw - 32px));height:calc(100dvh - 32px);max-height:calc(100dvh - 32px)}
  .reception-report-modal .reception-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .reception-report-modal .reception-form-grid .field.full{grid-column:1/-1}
  .reception-report-modal .support-card-fields.lodging{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .modal.reception-report-modal{width:100%;height:94dvh;max-height:94dvh;border-radius:22px 22px 0 0}
  .reception-report-modal .reception-modal-head{padding:16px 15px 13px}
  .reception-report-modal .reception-form-body{padding:12px 14px 16px}
  .reception-report-modal .reception-form-section{padding:14px}
  .reception-report-modal .reception-form-grid,
  .reception-report-modal .support-card-fields,
  .reception-report-modal .support-card-fields.lodging{grid-template-columns:1fr}
  .reception-report-modal .support-card-fields .wide,
  .reception-report-modal .support-card-fields.lodging>.wide{grid-column:auto}
  .reception-report-modal .reception-form-foot{padding:11px 14px calc(11px + env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr 1fr}
  .reception-report-modal .reception-form-foot .btn{width:100%;min-width:0}
}

/* ==================== V2.5.1 预算与费用中心 ==================== */
.budget-hero{
  display:flex;align-items:flex-end;justify-content:space-between;gap:24px;
  padding:26px 28px;margin-bottom:16px;border-radius:24px;
  background:linear-gradient(115deg,#0e4f94 0%,#2474c9 58%,#f0a13a 138%);color:#fff;
  box-shadow:0 14px 34px rgba(22,91,158,.13)
}
.budget-hero>div:first-child{min-width:0}.budget-hero small{display:block;font-size:12px;letter-spacing:.12em;opacity:.78}
.budget-hero h2{margin:6px 0 7px;font-size:27px;line-height:1.2}.budget-hero p{margin:0;max-width:720px;color:rgba(255,255,255,.82);font-size:14px}
.budget-hero-period{display:flex;align-items:flex-end;gap:10px;flex:0 0 auto}.budget-hero-period label{display:grid;gap:6px;font-size:12px;color:rgba(255,255,255,.8)}
.budget-hero-period input{width:155px;height:40px;border:1px solid rgba(255,255,255,.35);border-radius:12px;background:rgba(255,255,255,.98);color:#183954;padding:0 10px;font:inherit}
.budget-hero .btn.soft{background:rgba(255,255,255,.96);border-color:rgba(255,255,255,.3)}
.budget-kpis,.budget-hospitality-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:16px}
.budget-kpis article,.budget-hospitality-kpis article{min-width:0;padding:20px 18px;border:1px solid #dce8f3;background:#fff;border-radius:18px;box-shadow:0 6px 20px rgba(28,74,113,.035)}
.budget-kpis article small,.budget-hospitality-kpis article small{display:block;color:#6f879a;font-size:14px;font-weight:700}.budget-kpis article b,.budget-hospitality-kpis article b{display:block;margin:8px 0 6px;color:#193d5b;font-size:30px;line-height:1.16;white-space:normal;overflow:visible;text-overflow:clip;word-break:break-all}.budget-kpis article em,.budget-hospitality-kpis article em{display:block;color:#8da0b1;font-size:13px;font-style:normal;line-height:1.5}
.budget-kpis article.warning{border-color:#f0c67a;background:#fffbf2}.budget-kpis article.danger{border-color:#efaaaa;background:#fff7f7}.budget-kpis article.ok{border-color:#a7dbc5;background:#f7fcfa}
.budget-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.75fr);gap:16px;margin-bottom:16px;align-items:start}.budget-chart{min-width:0}.budget-chart .media-grouped-chart{margin-top:10px;min-height:208px}.budget-chart .section-head h3{font-size:28px;display:flex;align-items:center;gap:10px}.budget-chart .section-head h3 svg{width:24px;height:24px}.budget-chart .panel-sub{font-size:15px;line-height:1.55}.budget-chart .media-grouped-scroll{min-height:184px;padding:24px 8px 0;gap:16px}.budget-chart .media-group{min-width:98px}.budget-chart .media-group-bars{height:158px;gap:10px}.budget-chart .media-group-bars span{width:22px;border-radius:7px 7px 2px 2px}.budget-chart .media-group-bars em{font-size:10px;line-height:1.2;color:#4f677e}.budget-chart .media-group>b{margin:10px 0 6px;font-size:15px;font-weight:800;color:#4f6477}.budget-chart .media-chart-legend{font-size:13px;gap:18px;margin-top:12px}.budget-chart .media-chart-legend i{width:12px;height:12px;border-radius:4px}
.budget-risk-list{display:grid;gap:10px}.budget-risk-list article{display:grid;grid-template-columns:minmax(0,1fr) 84px;gap:10px;align-items:center;padding:11px 12px;border:1px solid #e3ebf3;border-radius:13px}.budget-risk-list article>div{min-width:0}.budget-risk-list article b{display:block;color:#28445d;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.budget-risk-list article small{display:block;margin-top:3px;color:#8ca0b2;font-size:11px}.budget-risk-list article strong{text-align:right;font-size:16px;color:#31536e}.budget-risk-list article.warning{border-color:#f2d296;background:#fffaf0}.budget-risk-list article.danger{border-color:#edb0b0;background:#fff8f8}
.budget-level-panel{margin-bottom:16px}.budget-level-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.budget-level-grid article{padding:13px;border:1px solid #e2ebf3;border-radius:14px;background:#fbfdff}.budget-level-grid article>header{display:flex;align-items:center;justify-content:space-between;gap:10px}.budget-level-grid b{font-size:13px;color:#294761}.budget-level-grid strong{font-size:13px;color:#1e5582}.budget-level-grid small{display:block;margin-top:8px;color:#7f94a7;font-size:11px}.budget-progress,.budget-rank-list article>span,.budget-dept-rank article>span{display:block;height:8px;margin-top:8px;border-radius:99px;background:#edf3f8;overflow:hidden}.budget-progress i,.budget-rank-list article>span i,.budget-dept-rank article>span i{display:block;height:100%;max-width:100%;border-radius:inherit;background:linear-gradient(90deg,#2e7ed6,#22a07d)}
.budget-risk-list article{grid-template-columns:32px minmax(0,1fr) 96px;padding:14px 14px}.budget-risk-list article i{width:28px;height:28px;display:grid;place-items:center;border-radius:999px;background:#eef5fb;color:#356384;font-style:normal;font-weight:800}.budget-risk-list article b{font-size:15px}.budget-risk-list article small{font-size:12px;line-height:1.5}.budget-risk-list article strong{font-size:24px}
.budget-level-panel .section-head h3,.budget-dashboard-grid .section-head h3{font-size:24px;display:flex;align-items:center;gap:10px}.budget-level-panel .section-head h3 svg,.budget-dashboard-grid .section-head h3 svg{width:22px;height:22px}.budget-level-panel .panel-sub,.budget-dashboard-grid .panel-sub{font-size:14px}.budget-level-grid article{padding:15px}.budget-level-grid b{font-size:15px}.budget-level-grid strong{font-size:16px}.budget-level-grid small{font-size:12px}.budget-level-grid footer{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;color:#758a9b;font-size:12px}
.budget-table{overflow:hidden;border:1px solid #e0e9f1;border-radius:16px}.budget-table-head,.budget-table>article{display:grid;grid-template-columns:1.1fr 1.25fr .8fr .85fr .9fr 1fr .6fr;align-items:center}.budget-table.editable .budget-table-head,.budget-table.editable>article{grid-template-columns:1.05fr 1.15fr .75fr .8fr .85fr .95fr .55fr .45fr}.budget-table-head{background:#f4f8fc;color:#758da1;font-size:11px;font-weight:700}.budget-table-head span,.budget-table>article>span{min-width:0;padding:11px 12px}.budget-table>article{border-top:1px solid #edf2f6;background:#fff;color:#4e6578;font-size:12px}.budget-table>article:hover{background:#fafcff}.budget-table>article b{color:#27465f}.budget-table>article small{display:block;color:#91a1af;margin-top:2px}.budget-rate{display:inline-flex;align-items:center;justify-content:center;min-width:54px;padding:4px 7px;border-radius:99px;font-style:normal;font-size:11px;font-weight:700;background:#eef5fb;color:#47708f}.budget-rate.warning{background:#fff0ce;color:#a36a00}.budget-rate.danger{background:#ffe3e3;color:#b34040}.budget-rate.ok{background:#e6f7ef;color:#17805d}
.budget-entry-panel{margin-bottom:16px}.budget-module-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.budget-module-chips button{border:1px solid #dce7f1;background:#fff;color:#587086;border-radius:11px;padding:9px 13px;font:inherit;font-size:12px;cursor:pointer}.budget-module-chips button.active{border-color:#3c8be0;background:#edf6ff;color:#1c6ebc;font-weight:700}.budget-entry-guide{display:flex;gap:11px;align-items:flex-start;margin-top:13px;padding:12px 14px;border-radius:14px;background:#f4f9fe;color:#2f5e84}.budget-entry-guide>span{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:#e6f3ff}.budget-entry-guide b{display:block;font-size:13px}.budget-entry-guide small{display:block;margin-top:3px;color:#7890a3;font-size:12px;line-height:1.55}
.budget-expense-list{display:grid;gap:9px}.budget-expense-list>article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:12px 14px;border:1px solid #e4ecf3;border-radius:14px;background:#fff}.budget-expense-list article>div:first-child{min-width:0}.budget-expense-list b{display:block;color:#29475f}.budget-expense-list small,.budget-expense-list em{display:block;margin-top:3px;color:#8799a9;font-size:11px;font-style:normal}.budget-expense-list strong{color:#1d4f77;font-size:16px;text-align:right}.budget-expense-list strong small{padding:2px 6px;border-radius:99px}.budget-expense-list strong small.ok{color:#18805f;background:#e8f7f0}.budget-expense-list strong small.warning{color:#a66c00;background:#fff1d0}
.budget-ledger-list{display:grid;border:1px solid #e2eaf1;border-radius:15px;overflow:hidden}.budget-ledger-list>article{display:grid;grid-template-columns:1.1fr .75fr 1.5fr .7fr;gap:10px;align-items:center;padding:11px 13px;border-top:1px solid #eef3f6}.budget-ledger-list>article:first-child{border-top:0}.budget-ledger-list b{display:block;color:#315069;font-size:12px}.budget-ledger-list small{display:block;color:#8a9eae;font-size:11px;margin-top:2px}.budget-ledger-list strong{text-align:right;color:#1b547f}.budget-ledger-list strong small{font-weight:500}
.budget-template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:8px}.budget-template-grid article{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px;border:1px solid #dfE8f0;border-radius:15px}.budget-template-grid article>span{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#eef7ff;color:#2f80d0}.budget-template-grid b{display:block;color:#28465e}.budget-template-grid small,.budget-template-grid em{display:block;margin-top:3px;color:#8195a7;font-size:11px;font-style:normal}.budget-template-grid em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.budget-import-preview{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:18px;align-items:center;margin-top:14px;padding:15px;border:1px solid #abd6c4;border-radius:15px;background:#f5fcf9}.budget-import-preview h3{margin:5px 0 2px;color:#285547}.budget-import-preview p{margin:0;color:#82978e;font-size:11px}.budget-import-preview-kpis{display:flex;gap:8px}.budget-import-preview-kpis span{min-width:80px;padding:8px 10px;border-radius:10px;background:#fff}.budget-import-preview-kpis small{display:block;color:#82958c;font-size:10px}.budget-import-preview-kpis b{font-size:17px;color:#25634e}
.budget-permission-admin{margin-bottom:16px}.budget-permission-list{display:grid;gap:12px}.budget-permission-list>article{padding:14px;border:1px solid #dfe9f1;border-radius:16px;background:#fbfdff}.budget-permission-person{display:flex;align-items:center;gap:10px;margin-bottom:12px}.budget-permission-person b{display:block;color:#29465e}.budget-permission-person small{display:block;color:#8498a8;font-size:11px}.budget-permission-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}.budget-permission-options label{display:flex;align-items:flex-start;gap:8px;padding:9px;border:1px solid #e5edf3;border-radius:11px;background:#fff;cursor:pointer}.budget-permission-options input{margin-top:2px}.budget-permission-options b{display:block;font-size:12px;color:#36546b}.budget-permission-options small{display:block;margin-top:2px;color:#8b9ca9;font-size:10px;line-height:1.35}
.budget-hospitality-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.budget-rank-list,.budget-dept-rank{display:grid;gap:9px}.budget-rank-list article>div,.budget-dept-rank article>div{display:flex;justify-content:space-between;gap:12px;align-items:center}.budget-rank-list b,.budget-dept-rank b{font-size:12px;color:#355268}.budget-rank-list small,.budget-dept-rank strong{font-size:12px;color:#2a6087}.budget-dept-rank{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}.budget-dept-rank article{padding:10px 12px;border-radius:12px;background:#fafcff;border:1px solid #e7eef4}
@media(max-width:1250px){.budget-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.budget-level-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.budget-permission-options{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){.budget-hero{align-items:flex-start;flex-direction:column}.budget-dashboard-grid{grid-template-columns:1fr}.budget-table-head{display:none}.budget-table>article,.budget-table.editable>article{grid-template-columns:repeat(2,minmax(0,1fr));padding:9px}.budget-table>article>span{padding:7px}.budget-table>article>span:before{content:attr(data-label);display:block;color:#91a2b0;font-size:10px;margin-bottom:2px}.budget-template-grid{grid-template-columns:1fr}.budget-import-preview{grid-template-columns:1fr}.budget-permission-options{grid-template-columns:1fr}}
@media(max-width:700px){.budget-hero{padding:19px;border-radius:18px}.budget-hero h2{font-size:22px}.budget-hero-period{width:100%;display:grid;grid-template-columns:1fr auto}.budget-hero-period input{width:100%}.budget-kpis,.budget-hospitality-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.budget-kpis article b,.budget-hospitality-kpis article b{font-size:20px}.budget-level-grid,.budget-dept-rank{grid-template-columns:1fr}.budget-expense-list>article{grid-template-columns:1fr}.budget-expense-list strong{text-align:left}.budget-ledger-list>article{grid-template-columns:1fr 1fr}.budget-ledger-list>article>span:nth-child(3){grid-column:1/-1}.budget-template-grid article{grid-template-columns:36px minmax(0,1fr)}.budget-template-grid article .btn{grid-column:1/-1}.budget-import-preview-kpis{flex-wrap:wrap}.budget-permission-list>article>.btn{width:100%}}
/* V2.5.1 budget component alignment corrections */
.budget-risk-list article{grid-template-columns:24px minmax(0,1fr) 64px}
.budget-risk-list article>i{width:24px;height:24px;display:grid;place-items:center;border-radius:8px;background:#edf5fc;color:#397bb5;font-size:11px;font-style:normal;font-weight:700}
.budget-level-grid article>header,.budget-level-grid article>footer{display:flex;align-items:center;justify-content:space-between;gap:8px}
.budget-level-grid article>header strong{font-size:12px}.budget-level-grid article>header strong.warning{color:#a66b00}.budget-level-grid article>header strong.danger{color:#b54343}.budget-level-grid article>header strong.ok{color:#17775a}
.budget-level-grid article>footer{margin-top:8px;flex-wrap:wrap;color:#8799a8;font-size:10px}
.budget-progress{position:relative}.budget-progress>i{display:block;width:100%;height:100%;background:transparent}.budget-progress>i>em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2e7ed6,#22a07d)}

/* V2.5.4 budget/reception/ledger stability + QA fixes */
.reception-budget-approval,.reception-settlement-body{padding:22px 28px;display:grid;gap:16px;background:#f8fbfe;max-height:calc(100dvh - 210px);overflow:auto}
.reception-budget-approval .viz-callout{margin:0}
.reception-budget-approval .viz-callout p{margin:6px 0 0;line-height:1.55}
.reception-budget-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.reception-budget-grid .field{min-width:0}.reception-budget-grid .field small{display:block;margin-top:5px;color:#8195a8;font-size:11px;line-height:1.4}
.reception-settlement-body>section{padding:16px;border:1px solid #e1eaf2;border-radius:15px;background:#fff}.reception-settlement-body>section>h3{margin:0 0 12px;color:#244760}
.reception-settlement-vendor{display:flex;flex-direction:column;justify-content:center;padding:11px 13px;border-radius:12px;background:#f4f8fc}.reception-settlement-vendor b{color:#31536d}.reception-settlement-vendor small{margin-top:4px;color:#8195a7}
.reception-alcohol-settlement{display:grid;gap:9px}.reception-alcohol-settlement article{display:grid;grid-template-columns:minmax(130px,1fr) 140px 180px;gap:12px;align-items:end;padding:10px 12px;border:1px solid #e5edf3;border-radius:12px;background:#fbfdff}.reception-alcohol-settlement article>b{align-self:center;color:#31536d}.reception-alcohol-settlement label>span{display:block;margin-bottom:5px;color:#6f8498;font-size:11px}
.reception-budget-status{display:inline-flex;align-items:center;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:700}.reception-budget-status.hold{background:#fff1d6;color:#9a6705}.reception-budget-status.done{background:#e4f7ef;color:#147b5a}
.budget-template-actions{display:flex;gap:7px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.budget-template-actions .btn{white-space:nowrap}
.budget-template-note{display:flex;gap:10px;align-items:flex-start;margin-top:14px;padding:12px 14px;border:1px solid #d8e8f7;border-radius:13px;background:#f6faff;color:#3a607e}.budget-template-note>span{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#e7f3ff;color:#2d78c8}.budget-template-note b{display:block;font-size:12px}.budget-template-note small{display:block;margin-top:3px;color:#748ca1;line-height:1.5}
.budget-import-preview{grid-template-columns:minmax(0,1fr) auto minmax(220px,.8fr) auto}.budget-import-preview-rule{font-size:11px;line-height:1.55;color:#667f72}.budget-import-preview-rule b{color:#315a4c}
@media(max-width:1000px){.reception-budget-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.budget-import-preview{grid-template-columns:1fr}.budget-template-actions{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:680px){.reception-budget-approval,.reception-settlement-body{padding:12px}.reception-budget-grid{grid-template-columns:1fr}.reception-alcohol-settlement article{grid-template-columns:1fr}.budget-template-actions{width:100%}.budget-template-actions .btn{flex:1}}

/* ==================== V2.5.5 预算总看板 · 工业数据驾驶舱 ==================== */
.budget-industrial-shell{
  --bi-navy:#143b5d;--bi-blue:#2e78c7;--bi-cyan:#3aa6b8;--bi-green:#25a47b;
  --bi-orange:#e79b39;--bi-red:#d85f62;--bi-purple:#7568d8;--bi-slate:#6e8295;
  position:relative;display:grid;gap:16px;padding:0 0 8px;
}
.budget-industrial-shell:before{
  content:"";position:absolute;inset:-8px -10px 0;z-index:-1;border-radius:28px;
  background:
    linear-gradient(rgba(34,82,119,.028) 1px,transparent 1px),
    linear-gradient(90deg,rgba(34,82,119,.028) 1px,transparent 1px),
    linear-gradient(180deg,#f5f8fb 0%,#eef3f7 100%);
  background-size:28px 28px,28px 28px,auto;
}
.budget-industrial-hero{
  position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:24px;
  min-height:136px;padding:24px 28px;border:1px solid #284f70;border-radius:18px;color:#fff;
  background:
    linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px),
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(112deg,#102f4b 0%,#174d78 56%,#1f607c 100%);
  background-size:30px 30px,30px 30px,auto;
  box-shadow:0 12px 30px rgba(20,58,90,.14)
}
.budget-industrial-hero:after{
  content:"";position:absolute;width:300px;height:300px;right:-70px;top:-120px;border:1px solid rgba(255,255,255,.12);border-radius:50%;
  box-shadow:0 0 0 34px rgba(255,255,255,.025),0 0 0 70px rgba(255,255,255,.02);pointer-events:none
}
.budget-industrial-hero-copy{position:relative;z-index:1;min-width:0}.budget-industrial-hero-copy small{display:block;color:#8fc5ea;font-size:11px;font-weight:800;letter-spacing:.18em}.budget-industrial-hero-copy h2{margin:7px 0 7px;font-size:30px;line-height:1.2;letter-spacing:.02em}.budget-industrial-hero-copy p{margin:0;color:#bad0df;font-size:13px;letter-spacing:.03em}
.budget-industrial-hero-actions{position:relative;z-index:1;display:flex;align-items:flex-end;gap:9px;flex:0 0 auto}.budget-industrial-hero-actions label{display:grid;gap:6px;color:#a9c7db;font-size:11px}.budget-industrial-hero-actions input{width:156px;height:40px;border:1px solid rgba(255,255,255,.2);border-radius:9px;background:#f8fbfd;color:#24475f;padding:0 10px;font:inherit}.budget-industrial-hero-actions .btn{height:40px;border-radius:9px}.budget-live-dot{height:40px;display:flex;align-items:center;gap:7px;padding:0 11px;border:1px solid rgba(104,204,174,.28);border-radius:9px;background:rgba(28,103,86,.24);color:#c9f2e4;font-size:11px;font-weight:700}.budget-live-dot i{width:7px;height:7px;border-radius:50%;background:#62d2ad;box-shadow:0 0 0 4px rgba(98,210,173,.12)}
.budget-industrial-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:14px}.budget-industrial-kpis article{position:relative;min-width:0;display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:start;padding:18px 16px 16px;border:1px solid #d8e3ec;border-radius:16px;background:#fff;box-shadow:0 5px 18px rgba(22,56,84,.05);overflow:hidden;min-height:124px}.budget-industrial-kpis article>div{min-width:0}.budget-industrial-kpis article:before{content:"";position:absolute;left:0;top:0;right:0;height:4px;background:var(--tone,#2e78c7)}.budget-industrial-kpis article.blue{--tone:#2e78c7}.budget-industrial-kpis article.cyan{--tone:#3aa6b8}.budget-industrial-kpis article.green,.budget-industrial-kpis article.ok{--tone:#25a47b}.budget-industrial-kpis article.orange,.budget-industrial-kpis article.warning{--tone:#e79b39}.budget-industrial-kpis article.danger{--tone:#d85f62}.budget-industrial-kpis article.slate{--tone:#657d93}.budget-kpi-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:color-mix(in srgb,var(--tone) 12%,white);color:var(--tone);margin-top:2px;flex-shrink:0}.budget-kpi-icon svg{width:22px;height:22px}.budget-industrial-kpis small{display:block;color:#6d8293;font-size:13px;font-weight:800;line-height:1.35}.budget-industrial-kpis b{display:block;margin:8px 0 6px;color:#1e405a;font-size:clamp(15px,1.15vw,22px);line-height:1.12;letter-spacing:-.02em;white-space:normal;word-break:break-all;overflow-wrap:anywhere}.budget-industrial-kpis em{display:block;color:#91a1ae;font-size:12px;font-style:normal;line-height:1.45;white-space:normal;overflow:visible;text-overflow:clip}
.budget-industrial-panel{min-width:0;padding:19px 20px;border:1px solid #d7e3ec;border-radius:16px;background:rgba(255,255,255,.98);box-shadow:0 5px 18px rgba(27,64,91,.045)}
.budget-industrial-main-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(360px,.78fr);gap:16px;align-items:stretch}.budget-industrial-secondary-grid{display:grid;grid-template-columns:minmax(380px,.8fr) minmax(0,1.2fr);gap:16px;align-items:stretch}
.budget-industrial-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.budget-industrial-section-head>div{min-width:0}.budget-industrial-section-head small{display:block;color:#8aa0b2;font-size:9px;font-weight:900;letter-spacing:.16em}.budget-industrial-section-head h3{display:flex;align-items:center;gap:9px;margin:5px 0 4px;color:#203f58;font-size:18px;line-height:1.25}.budget-industrial-section-head h3 svg{width:19px;height:19px;color:#2e78c7}.budget-industrial-section-head p{margin:0;color:#8497a7;font-size:11px;line-height:1.45}.industrial-badge{flex:0 0 auto;padding:6px 9px;border:1px solid #d7e6f1;border-radius:7px;background:#f5f9fc;color:#47728f;font-size:10px;font-weight:800;letter-spacing:.06em}
.budget-industrial-chart{position:relative;min-height:318px}.budget-industrial-chart svg{display:block;width:100%;height:auto;overflow:visible}.budget-industrial-chart .grid line{stroke:#e4ebf1;stroke-width:1}.budget-industrial-chart .grid text{fill:#8da0af;font-size:10px}.budget-industrial-chart rect.plan{fill:#347ed2}.budget-industrial-chart rect.actual{fill:#27a77e}.budget-industrial-chart text.value{font-size:8.5px;font-weight:800}.budget-industrial-chart text.plan-text{fill:#3b6f9c}.budget-industrial-chart text.actual-text{fill:#258a6b}.budget-industrial-chart text.month{fill:#647b8d;font-size:11px;font-weight:800}.budget-industrial-chart .hold-line polyline{fill:none;stroke:#e79b39;stroke-width:2}.budget-industrial-chart .hold-line circle{fill:#fff;stroke:#e79b39;stroke-width:2}.budget-chart-legend{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin:0 0 3px 60px;color:#657c8e;font-size:10px}.budget-chart-legend span{display:flex;align-items:center;gap:6px}.budget-chart-legend i{width:10px;height:10px;border-radius:3px}.budget-chart-legend i.plan{background:#347ed2}.budget-chart-legend i.actual{background:#27a77e}.budget-chart-legend i.hold{height:3px;border-radius:99px;background:#e79b39}.budget-chart-legend em{margin-left:auto;color:#8fa0ad;font-style:normal}
.budget-industrial-risk-list{display:grid;gap:8px}.budget-industrial-risk-list article{display:grid;grid-template-columns:28px minmax(0,1fr) 72px;gap:10px;align-items:center;padding:10px 11px;border:1px solid #e1e9ef;border-radius:11px;background:#fbfdff}.budget-industrial-risk-list .rank{width:26px;height:26px;display:grid;place-items:center;border-radius:8px;background:#edf3f8;color:#54758e;font-size:11px;font-weight:900}.budget-industrial-risk-list article.danger{border-color:#f0c8ca;background:#fff9f9}.budget-industrial-risk-list article.danger .rank{background:#ffe6e7;color:#c84c51}.budget-industrial-risk-list article.warning{border-color:#efd8ad;background:#fffdf8}.budget-industrial-risk-list article.warning .rank{background:#fff1d8;color:#b27a24}.budget-industrial-risk-list .risk-main{min-width:0}.budget-industrial-risk-list b{display:block;color:#2a465c;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.budget-industrial-risk-list small{display:block;margin-top:3px;color:#8a9aa7;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.budget-industrial-risk-list .risk-main>i{display:block;height:5px;margin-top:7px;border-radius:99px;background:#edf2f6;overflow:hidden}.budget-industrial-risk-list .risk-main>i>em{display:block;height:100%;border-radius:inherit;background:#32a57e}.budget-industrial-risk-list article.warning .risk-main>i>em{background:#e8a238}.budget-industrial-risk-list article.danger .risk-main>i>em{background:#dc6569}.budget-industrial-risk-list strong{text-align:right;color:#2f5d7a;font-size:15px}.budget-industrial-risk-list article.warning strong{color:#b07118}.budget-industrial-risk-list article.danger strong{color:#cb4d54}
.budget-industrial-donut-wrap{display:grid;grid-template-columns:190px minmax(0,1fr);gap:20px;align-items:center;min-height:255px}.budget-industrial-donut{width:178px;height:178px;border-radius:50%;display:grid;place-items:center;position:relative}.budget-industrial-donut:before{content:"";position:absolute;width:106px;height:106px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px #e5ebf0}.budget-industrial-donut>span{position:relative;z-index:1;text-align:center}.budget-industrial-donut small{display:block;color:#8798a6;font-size:10px}.budget-industrial-donut b{display:block;margin-top:4px;color:#26465e;font-size:15px}.budget-industrial-donut-legend{display:grid;gap:8px}.budget-industrial-donut-legend article{display:grid;grid-template-columns:9px minmax(0,1fr) 46px 88px;gap:7px;align-items:center;color:#62798a;font-size:10px}.budget-industrial-donut-legend article>i{width:8px;height:8px;border-radius:50%}.budget-industrial-donut-legend span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.budget-industrial-donut-legend b{text-align:right;color:#355c77;font-size:10px}.budget-industrial-donut-legend em{text-align:right;color:#8a9aa7;font-size:9px;font-style:normal}
.budget-execution-bars{position:relative;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;align-items:end;min-height:255px;padding:18px 4px 0}.budget-target-line{position:absolute;left:0;right:0;bottom:151px;height:1px;border-top:1px dashed #e29c45;pointer-events:none}.budget-target-line span{position:absolute;right:0;bottom:5px;color:#b17a31;font-size:9px;background:#fff;padding-left:6px}.budget-execution-bars article{min-width:0;text-align:center}.budget-execution-bars .bar-shell{position:relative;height:170px;display:flex;align-items:flex-end;justify-content:center;border-bottom:1px solid #dfe8ee}.budget-execution-bars .bar-shell i{display:block;width:28px;min-height:2px;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,#5fa0e7,#337cd0)}.budget-execution-bars article.warning .bar-shell i{background:linear-gradient(180deg,#efba61,#df9631)}.budget-execution-bars article.danger .bar-shell i{background:linear-gradient(180deg,#ef9195,#d95f64)}.budget-execution-bars .bar-shell strong{position:absolute;color:#2e5570;font-size:10px;white-space:nowrap}.budget-execution-bars article>b{display:block;margin-top:7px;color:#566f81;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.budget-execution-bars article>small{display:block;margin-top:3px;color:#93a1ad;font-size:8px;white-space:nowrap}
.insight-panel{padding-bottom:17px}.budget-industrial-insights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.budget-industrial-insights article{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:start;padding:14px;border:1px solid #e0e8ee;border-radius:12px;background:#fbfdff}.budget-industrial-insights article>span{width:42px;height:42px;display:grid;place-items:center;border-radius:10px;background:#edf4fb;color:#2e78c7}.budget-industrial-insights article>span svg{width:21px;height:21px}.budget-industrial-insights article.danger>span{background:#ffecee;color:#ce575c}.budget-industrial-insights article.warning>span{background:#fff3df;color:#bd7e24}.budget-industrial-insights article.ok>span{background:#e9f7f2;color:#258867}.budget-industrial-insights small{display:block;color:#74899a;font-size:10px;font-weight:800}.budget-industrial-insights b{display:block;margin:5px 0 4px;color:#224660;font-size:21px}.budget-industrial-insights p{margin:0;color:#8797a4;font-size:10px;line-height:1.5}
@media(max-width:1380px){.budget-industrial-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.budget-industrial-main-grid{grid-template-columns:minmax(0,1.35fr) minmax(340px,.8fr)}}
@media(max-width:1560px){.budget-industrial-kpis b{font-size:clamp(14px,1.05vw,20px)}}
@media(max-width:1080px){.budget-industrial-main-grid,.budget-industrial-secondary-grid{grid-template-columns:1fr}.budget-industrial-hero{align-items:flex-start;flex-direction:column}.budget-industrial-hero-actions{width:100%}.budget-industrial-donut-wrap{grid-template-columns:180px minmax(0,1fr)}}
@media(max-width:760px){.budget-industrial-hero{padding:18px}.budget-industrial-hero-copy h2{font-size:23px}.budget-industrial-hero-actions{display:grid;grid-template-columns:1fr auto}.budget-live-dot{grid-column:1/-1;width:max-content}.budget-industrial-hero-actions label{min-width:0}.budget-industrial-hero-actions input{width:100%}.budget-industrial-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.budget-industrial-kpis article{grid-template-columns:38px minmax(0,1fr);padding:16px 14px 14px;min-height:118px}.budget-kpi-icon{width:38px;height:38px}.budget-kpi-icon svg{width:20px;height:20px}.budget-industrial-kpis small{font-size:12px}.budget-industrial-kpis b{font-size:clamp(14px,5vw,20px)}.budget-industrial-kpis em{font-size:11px}.budget-industrial-panel{padding:15px}.budget-industrial-donut-wrap{grid-template-columns:1fr;justify-items:center}.budget-industrial-donut-legend{width:100%}.budget-execution-bars{gap:5px}.budget-execution-bars .bar-shell i{width:20px}.budget-industrial-insights{grid-template-columns:1fr}.budget-chart-legend{margin-left:0}.budget-industrial-chart text.value{display:none}.budget-industrial-donut-legend article{grid-template-columns:9px minmax(0,1fr) 42px 78px}}

/* ==================== V2.5.6 预算分析闭环 ==================== */
.budget-subject-link{border:0;background:transparent;padding:0;color:#245f8c;font:inherit;font-weight:800;text-align:left;cursor:pointer}.budget-subject-link:hover{color:#1683c7;text-decoration:underline;text-underline-offset:3px}.budget-risk-drill{display:block;margin:4px 0 0 auto;border:0;background:transparent;color:#68849a;font-size:9px;font-weight:800;cursor:pointer}.budget-risk-drill:hover{color:#1f77b4;text-decoration:underline}.budget-industrial-risk-list strong{display:block}.budget-industrial-risk-list strong .budget-risk-drill{font-size:9px}
.budget-analysis-hero,.budget-report-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px;padding:22px 24px;border:1px solid #cddbe6;border-radius:16px;background:linear-gradient(120deg,#0f3653 0%,#164e72 58%,#1e607b 100%);color:#fff;box-shadow:0 7px 24px rgba(16,55,83,.12);position:relative;overflow:hidden}.budget-analysis-hero:after,.budget-report-hero:after{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:22px 22px}.budget-analysis-hero>*,.budget-report-hero>*{position:relative;z-index:1}.budget-analysis-hero small,.budget-report-hero small{display:block;color:#8fc6e8;font-size:10px;font-weight:900;letter-spacing:.16em}.budget-analysis-hero h2,.budget-report-hero h2{margin:6px 0 5px;font-size:25px}.budget-analysis-hero p,.budget-report-hero p{margin:0;color:#c0d6e3;font-size:12px}.budget-analysis-hero label{display:grid;gap:6px;color:#b9d2df;font-size:11px;min-width:190px}.budget-analysis-hero select{height:40px;border:1px solid rgba(255,255,255,.24);border-radius:9px;background:#fff;color:#25475d;padding:0 10px;font:inherit}
.budget-forecast-kpis,.budget-report-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-bottom:14px}.budget-report-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}.budget-forecast-kpis article,.budget-report-kpis article{padding:16px 17px;border:1px solid #dbe5ed;border-radius:14px;background:#fff;box-shadow:0 5px 16px rgba(25,63,90,.04)}.budget-forecast-kpis article:before,.budget-report-kpis article:before{content:"";display:block;width:28px;height:3px;margin-bottom:11px;border-radius:99px;background:#2f7dcc}.budget-forecast-kpis article.warning:before{background:#e6a13d}.budget-forecast-kpis article.danger:before{background:#d85e63}.budget-forecast-kpis article.ok:before{background:#26a27c}.budget-forecast-kpis small,.budget-report-kpis small{display:block;color:#758a9b;font-size:11px;font-weight:800}.budget-forecast-kpis b,.budget-report-kpis b{display:block;margin:7px 0 5px;color:#21445e;font-size:23px;line-height:1.15}.budget-forecast-kpis em,.budget-report-kpis em{display:block;color:#91a1ad;font-size:10px;font-style:normal}
.budget-analysis-grid,.budget-report-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);gap:14px;margin-bottom:14px;align-items:start}.budget-report-grid.equal{grid-template-columns:1fr 1fr}.budget-analysis-grid>.panel,.budget-report-grid>.panel{margin:0}.budget-analysis-grid .budget-chart .media-grouped-chart,.budget-report-grid .budget-chart .media-grouped-chart{min-height:235px}
.budget-dimension-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px}.budget-dimension-toolbar label{display:grid;gap:5px;color:#6f8496;font-size:10px;font-weight:800}.budget-dimension-toolbar select{height:36px;min-width:145px;border:1px solid #d7e2ea;border-radius:8px;background:#fff;color:#2a4d66;padding:0 9px}.budget-dimension-toolbar>span{color:#94a3ae;font-size:9px;text-align:right}.budget-dimension-list{display:grid;gap:8px}.budget-dimension-list article{display:grid;grid-template-columns:25px minmax(0,1fr) 115px;gap:9px;align-items:center}.budget-dimension-list article>i{width:23px;height:23px;display:grid;place-items:center;border-radius:7px;background:#edf4f9;color:#4c7089;font-size:9px;font-style:normal;font-weight:900}.budget-dimension-list article>div{min-width:0}.budget-dimension-list article b{display:block;color:#35536a;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.budget-dimension-list article>div>span{display:block;height:6px;margin-top:5px;border-radius:99px;background:#edf2f6;overflow:hidden}.budget-dimension-list article>div>span em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2e78c7,#28a787)}.budget-dimension-list article>strong{text-align:right;color:#285978;font-size:11px}.budget-dimension-list article>strong small{display:block;color:#93a1ac;font-size:9px}.budget-analysis-note{margin:12px 0 0;padding:9px 10px;border-radius:8px;background:#f5f8fb;color:#7e919f;font-size:9px;line-height:1.55}
.budget-variance-panel{margin-bottom:14px}.budget-variance-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.budget-variance-list>article{padding:13px;border:1px solid #dfe8ee;border-radius:12px;background:#fbfdff}.budget-variance-list>article.warning{border-color:#edd7ae;background:#fffcf7}.budget-variance-list>article.danger{border-color:#efc6c8;background:#fff9f9}.budget-variance-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.budget-variance-head>div{min-width:0}.budget-variance-head .budget-subject-link{font-size:12px}.budget-variance-head small{display:block;margin-top:4px;color:#8497a5;font-size:9px;line-height:1.45}.budget-variance-head>strong{color:#315c77;font-size:17px;white-space:nowrap}.budget-variance-list>article.warning .budget-variance-head>strong{color:#b57922}.budget-variance-list>article.danger .budget-variance-head>strong{color:#c94d53}.budget-variance-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:10px}.budget-variance-metrics span{padding:7px 8px;border-radius:8px;background:#fff;border:1px solid #e8eef2}.budget-variance-metrics small{display:block;color:#91a0ab;font-size:8px}.budget-variance-metrics b{display:block;margin-top:3px;color:#35566d;font-size:10px}.budget-variance-note{display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px;margin:9px 0;padding:8px 9px;border-radius:8px;background:#eef5fa;color:#49677c;font-size:9px}.budget-variance-note b{color:#2d5976}.budget-variance-note em{grid-column:1/-1;color:#718796;font-style:normal}.budget-variance-note.empty{display:block;color:#95a3ad;background:#f4f7f9}.budget-variance-list>article>.btn{height:30px;padding:0 10px;font-size:9px}
.budget-report-top,.budget-report-risk{display:grid;gap:8px}.budget-report-top article{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:9px;align-items:center;padding:8px 9px;border-bottom:1px solid #edf2f5}.budget-report-top article i{width:22px;height:22px;display:grid;place-items:center;border-radius:7px;background:#edf4fa;color:#47718e;font-style:normal;font-size:9px;font-weight:900}.budget-report-top article strong{color:#245b7d;font-size:11px}.budget-report-risk article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;padding:9px 10px;border:1px solid #f0d1d2;border-radius:9px;background:#fff9f9}.budget-report-risk article b{color:#c84f55}.budget-report-risk article small{grid-column:1/-1;color:#899aa6;font-size:9px}.budget-report-text{width:100%;min-height:300px;resize:vertical;border:1px solid #dde7ed;border-radius:10px;background:#f9fbfc;color:#425d70;padding:12px;font:12px/1.75 "Microsoft YaHei",sans-serif}
.budget-drill-body{display:grid;gap:18px;padding:2px 0}.budget-drill-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.budget-drill-kpis span{padding:11px;border:1px solid #dfe8ee;border-radius:10px;background:#f9fbfd}.budget-drill-kpis small{display:block;color:#8496a3;font-size:9px}.budget-drill-kpis b{display:block;margin-top:5px;color:#254b64;font-size:14px}.budget-drill-body section>h3{margin:0 0 9px;color:#294c65;font-size:13px}.budget-drill-months{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.budget-drill-months article{position:relative;padding:10px;border:1px solid #e0e8ee;border-radius:9px;background:#fbfdff}.budget-drill-months article>b{display:block;margin-bottom:6px;color:#285776}.budget-drill-months article>span{display:block;margin-top:3px;color:#7d909e;font-size:9px}.budget-drill-months article>em{position:absolute;right:8px;top:8px;padding:3px 5px;border-radius:99px;background:#e7f5ef;color:#288063;font-size:8px;font-style:normal;font-weight:800}.budget-drill-months article>em.warning{background:#fff0d3;color:#a66d18}.budget-drill-months article>em.danger{background:#ffe5e6;color:#b94b50}.budget-drill-ledger{max-height:290px;overflow:auto;border:1px solid #e0e8ee;border-radius:10px}.budget-drill-ledger article{display:grid;grid-template-columns:minmax(0,1fr) 120px 90px;gap:10px;align-items:center;padding:10px 11px;border-top:1px solid #edf2f5}.budget-drill-ledger article:first-child{border-top:0}.budget-drill-ledger b{display:block;color:#35556b;font-size:10px}.budget-drill-ledger small{display:block;margin-top:3px;color:#8d9da8;font-size:9px}.budget-drill-ledger strong{text-align:right;color:#285e80;font-size:11px}.budget-drill-ledger em{text-align:right;color:#91a0aa;font-size:9px;font-style:normal}
@media(max-width:1180px){.budget-forecast-kpis{grid-template-columns:repeat(2,1fr)}.budget-report-kpis{grid-template-columns:repeat(3,1fr)}.budget-analysis-grid,.budget-report-grid,.budget-report-grid.equal{grid-template-columns:1fr}.budget-variance-list{grid-template-columns:1fr}}
@media(max-width:760px){.budget-analysis-hero,.budget-report-hero{align-items:flex-start;flex-direction:column;padding:17px}.budget-analysis-hero label{width:100%}.budget-analysis-hero select{width:100%}.budget-forecast-kpis,.budget-report-kpis{grid-template-columns:repeat(2,1fr)}.budget-variance-metrics{grid-template-columns:repeat(2,1fr)}.budget-drill-kpis{grid-template-columns:repeat(2,1fr)}.budget-drill-months{grid-template-columns:repeat(2,1fr)}.budget-drill-ledger article{grid-template-columns:minmax(0,1fr) auto}.budget-drill-ledger article>button,.budget-drill-ledger article>em{grid-column:1/-1;text-align:left}.budget-dimension-toolbar{align-items:stretch;flex-direction:column}.budget-dimension-toolbar>span{text-align:left}}

/* ==================== V2.6.1 预算分析层重构：月度主表唯一正式口径 ==================== */
.budget-v261-hero{
  position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;
  margin-bottom:16px;padding:24px 28px;border:1px solid #174d70;border-radius:20px;overflow:hidden;
  color:#fff;background:linear-gradient(118deg,#0e3550 0%,#174f72 58%,#1f6680 100%);
  box-shadow:0 10px 28px rgba(19,58,82,.12)
}
.budget-v261-hero:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.16;background-image:linear-gradient(rgba(255,255,255,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.18) 1px,transparent 1px);background-size:42px 42px}
.budget-v261-hero>div,.budget-v261-hero>.budget-v261-status{position:relative;z-index:1}
.budget-v261-hero small,.budget-v261-fill-head>div>small,.budget-v261-reconcile-head>div>small{display:block;margin-bottom:7px;font-size:11px;font-weight:800;letter-spacing:.12em;color:#9fd2e9}
.budget-v261-hero h2,.budget-v261-fill-head h2,.budget-v261-reconcile-head h2{margin:0;color:inherit;font-size:27px;line-height:1.25;letter-spacing:-.02em}
.budget-v261-hero p{margin:8px 0 0;color:#c7dce7;font-size:13px;line-height:1.65}
.budget-v261-status{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}
.budget-v261-status>span{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.09);font-size:12px;font-weight:700;white-space:nowrap}
.budget-v261-status>span.ok i{width:7px;height:7px;margin-right:7px;border-radius:50%;background:#4dd2a2;box-shadow:0 0 0 4px rgba(77,210,162,.12)}
.budget-v261-status>span.filling{color:#ffe1a7;border-color:rgba(255,189,79,.34);background:rgba(230,154,42,.12)}
.budget-v261-status .btn{border-color:rgba(255,255,255,.22);color:#173e58;background:#fff}

.budget-v261-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:16px}
.budget-v261-kpis article{position:relative;min-width:0;min-height:112px;padding:17px 16px 15px;border:1px solid #dce7ef;border-radius:16px;background:#fff;box-shadow:0 5px 18px rgba(26,61,84,.045);overflow:hidden}
.budget-v261-kpis article:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:#3e82c5}
.budget-v261-kpis article.ok:before{background:#25a37c}.budget-v261-kpis article.warning:before{background:#e7a13d}.budget-v261-kpis article.danger:before{background:#d96262}.budget-v261-kpis article.filling:before{background:#4aa8b8}
.budget-v261-kpis small{display:block;color:#718798;font-size:12px;font-weight:750;line-height:1.4}
.budget-v261-kpis b{display:block;min-width:0;margin:8px 0 6px;color:#173b57;font-size:clamp(17px,1.35vw,25px);line-height:1.08;letter-spacing:-.025em;white-space:normal;overflow-wrap:anywhere}
.budget-v261-kpis em{display:block;color:#91a2af;font-size:11px;font-style:normal;line-height:1.5}

.budget-v261-main{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(330px,.75fr);gap:16px;align-items:start;margin-bottom:16px}
.budget-v261-chart-panel,.budget-v261-risk,.budget-v261-categories,.budget-v261-reception-check{margin:0}
.budget-v261-chart-panel .section-head h3,.budget-v261-risk .section-head h3,.budget-v261-categories .section-head h3,.budget-v261-reception-check .section-head h3{display:flex;align-items:center;gap:8px;font-size:19px}
.budget-v261-chart-panel .section-head h3 svg,.budget-v261-risk .section-head h3 svg,.budget-v261-categories .section-head h3 svg,.budget-v261-reception-check .section-head h3 svg{width:19px;height:19px}
.budget-v261-chart{margin-top:6px}
.budget-v261-chart .legend{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:0 0 7px;color:#748a9b;font-size:11px}
.budget-v261-chart .legend span{display:inline-flex;align-items:center;gap:6px}
.budget-v261-chart .legend i{width:10px;height:10px;border-radius:3px;background:#3a80cb}.budget-v261-chart .legend i.actual{background:#22a47d}.budget-v261-chart .legend i.filling{background:#9ed4c2;border:1px dashed #36a783}
.budget-v261-chart svg{display:block;width:100%;height:auto;max-height:310px;overflow:visible}
.budget-v261-chart svg .grid line{stroke:#e8eef3;stroke-width:1}.budget-v261-chart svg .grid text{fill:#8ca0ae;font-size:10px}.budget-v261-chart svg rect.plan{fill:#3a80cb}.budget-v261-chart svg rect.actual{fill:#22a47d}.budget-v261-chart svg rect.actual.filling{fill:#9ed4c2;stroke:#2c9f79;stroke-width:1;stroke-dasharray:4 3}.budget-v261-chart svg text.actual-label{fill:#547086;font-size:9px;font-weight:700}.budget-v261-chart svg text.month{fill:#5d7487;font-size:10px;font-weight:700}

.budget-v261-risk>div:last-child{display:grid;gap:8px}
.risk-row{width:100%;display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 12px;border:1px solid #e2eaf0;border-radius:12px;background:#fbfdff;text-align:left;color:#23455d;cursor:pointer;transition:.16s ease}
.risk-row:hover{border-color:#aec8da;background:#f6fafc;transform:translateY(-1px)}
.risk-row>i{width:26px;height:26px;display:grid;place-items:center;border-radius:8px;background:#edf4f8;color:#537186;font-style:normal;font-size:11px;font-weight:800}
.risk-row span{min-width:0}.risk-row span b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.risk-row span small{display:block;margin-top:3px;color:#8a9eac;font-size:10px;line-height:1.4;white-space:normal}.risk-row>strong{font-size:17px;white-space:nowrap}
.risk-row.ok>strong{color:#188b6b}.risk-row.warning{border-color:#f1d8ac;background:#fffbf5}.risk-row.warning>strong{color:#c27d20}.risk-row.danger{border-color:#f1c6c6;background:#fff8f8}.risk-row.danger>strong{color:#c94d50}

.budget-v261-categories{margin-bottom:16px}
.budget-v261-categories .category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.budget-v261-categories .category-grid article{position:relative;padding:16px;border:1px solid #dfe8ef;border-radius:14px;background:#fbfdff;overflow:hidden}
.budget-v261-categories .category-grid article:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#3b80c7}.budget-v261-categories .category-grid article.project:before{background:#e29b38}.budget-v261-categories .category-grid article.brand:before{background:#24a37c}
.budget-v261-categories header{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.budget-v261-categories header b{color:#26475f;font-size:14px}.budget-v261-categories header strong{color:#173b57;font-size:21px}.budget-v261-categories .progress{height:8px;margin:12px 0;border-radius:999px;background:#e9eff3;overflow:hidden}.budget-v261-categories .progress i{display:block;height:100%;border-radius:inherit;background:#3b80c7}.budget-v261-categories .project .progress i{background:#e29b38}.budget-v261-categories .brand .progress i{background:#24a37c}.budget-v261-categories footer{display:flex;align-items:center;gap:14px;flex-wrap:wrap;color:#7c909f;font-size:11px}.budget-v261-categories footer b{color:#4d687b;font-size:inherit}

.budget-v261-current{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:18px 22px;border:1px solid #cae1e5;border-radius:16px;background:linear-gradient(90deg,#f0f8f9,#f8fbfc);margin-bottom:16px}
.budget-v261-current small{display:block;color:#2e8896;font-size:10px;font-weight:800;letter-spacing:.1em}.budget-v261-current h3{margin:5px 0 4px;color:#24475f;font-size:18px}.budget-v261-current p{margin:0;color:#6f8595;font-size:12px;line-height:1.55}

.budget-v261-fill-head,.budget-v261-reconcile-head{display:flex;align-items:center;gap:18px;margin-bottom:14px;padding:18px 20px;border:1px solid #dbe7ef;border-radius:16px;background:#fff}
.budget-v261-fill-head>div,.budget-v261-reconcile-head>div{min-width:0;flex:1}.budget-v261-fill-head>div>small,.budget-v261-reconcile-head>div>small{color:#3f7dab}.budget-v261-fill-head h2,.budget-v261-reconcile-head h2{color:#1c415d;font-size:21px}.budget-v261-fill-head p,.budget-v261-reconcile-head p{margin:5px 0 0;color:#7c909f;font-size:12px;line-height:1.55}
.budget-v261-fill-head .fill-progress{min-width:82px;text-align:center;padding:8px 13px;border-left:1px solid #e1e9ef;border-right:1px solid #e1e9ef}.budget-v261-fill-head .fill-progress strong{display:block;color:#1c4969;font-size:21px}.budget-v261-fill-head .fill-progress span{display:block;margin-top:2px;color:#8b9daa;font-size:10px}.budget-v261-reconcile-head>span{padding:7px 10px;border-radius:999px;background:#edf5f9;color:#4d7289;font-size:11px;font-weight:700;white-space:nowrap}

.budget-v261-fill-list{display:grid;gap:9px}
.budget-v261-fill-list>article{display:grid;grid-template-columns:minmax(250px,1.55fr) minmax(105px,.55fr) minmax(145px,.7fr) minmax(100px,.5fr) minmax(190px,.85fr);gap:12px;align-items:center;padding:13px 14px;border:1px solid #dfe8ef;border-radius:13px;background:#fff}
.budget-v261-fill-list>article.done{border-left:4px solid #27a47c}.budget-v261-fill-list>article.partial{border-left:4px solid #e8a03c}.budget-v261-fill-list>article.pending,.budget-v261-fill-list>article.unfilled{border-left:4px solid #9caebe}
.budget-v261-fill-list article>div{min-width:0}.budget-v261-fill-list .fill-main{display:flex;align-items:center;gap:10px}.budget-v261-fill-list .category{flex:0 0 auto;display:inline-grid;place-items:center;min-width:38px;height:24px;padding:0 7px;border-radius:6px;background:#edf4fa;color:#3874a2;font-size:10px;font-weight:800}.budget-v261-fill-list .category.项目{background:#fff4e6;color:#b87821}.budget-v261-fill-list .category.企宣{background:#eaf8f2;color:#178866}.budget-v261-fill-list .fill-main b{display:block;color:#2b4b61;font-size:13px;white-space:normal}.budget-v261-fill-list .fill-main small,.budget-v261-fill-list>article>div>small{display:block;margin-top:3px;color:#91a1ad;font-size:10px}.budget-v261-fill-list>article>div>b{color:#284b63;font-size:13px}.budget-v261-fill-list>article>div>em{display:block;margin-top:4px;color:#378c72;font-size:9px;font-style:normal;line-height:1.35}.budget-v261-fill-list .fill-state b{display:block;font-size:12px}.budget-v261-fill-list .fill-state.done b{color:#1b916e}.budget-v261-fill-list .fill-state.partial b{color:#c17c20}.budget-v261-fill-list .fill-state.pending b,.budget-v261-fill-list .fill-state.unfilled b{color:#718697}.budget-v261-fill-list .fill-actions{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap}.budget-v261-fill-list .fill-actions .btn{min-height:32px;padding:0 10px;font-size:11px}

.budget-v261-subjects{display:grid;gap:14px}
.budget-v261-subjects .subject-category{padding:0;border:1px solid #dfe8ef;border-radius:15px;background:#fff;overflow:hidden}
.budget-v261-subjects .subject-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;background:#f5f9fb;border-bottom:1px solid #e2eaf0}.budget-v261-subjects .subject-head h3{margin:0;color:#244961;font-size:15px}.budget-v261-subjects .subject-head span{color:#8195a4;font-size:11px}
.budget-v261-subjects .subject-row{width:100%;display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(130px,.75fr) repeat(3,minmax(100px,.55fr)) 76px;gap:10px;align-items:center;padding:11px 15px;border:0;border-bottom:1px solid #edf2f5;background:#fff;color:#365267;text-align:left;cursor:pointer}.budget-v261-subjects .subject-row:last-child{border-bottom:0}.budget-v261-subjects .subject-row:hover{background:#f7fafc}.budget-v261-subjects .subject-row b{font-size:12px}.budget-v261-subjects .subject-row small{color:#8a9eab;font-size:10px}.budget-v261-subjects .subject-row strong{font-size:12px}.budget-v261-subjects .subject-row em{font-style:normal;font-size:12px;font-weight:800}.budget-v261-subjects .subject-row em.ok{color:#188b6b}.budget-v261-subjects .subject-row em.warning{color:#c17b1e}.budget-v261-subjects .subject-row em.danger{color:#c94b50}

.budget-v261-reconcile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-bottom:16px}.budget-v261-reconcile-grid>article{padding:16px;border:1px solid #dfe8ef;border-radius:15px;background:#fff}.budget-v261-reconcile-grid>article.ok{border-top:3px solid #28a37c}.budget-v261-reconcile-grid>article.warning{border-top:3px solid #e39a36}.budget-v261-reconcile-grid>article.info{border-top:3px solid #3a7fc5}.budget-v261-reconcile-grid header{display:flex;align-items:center;gap:10px;margin-bottom:13px}.budget-v261-reconcile-grid header>span{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#edf5f9;color:#3a789f}.budget-v261-reconcile-grid header svg{width:18px;height:18px}.budget-v261-reconcile-grid header b{display:block;color:#284a62;font-size:14px}.budget-v261-reconcile-grid header small{display:block;margin-top:2px;color:#8c9da9;font-size:10px}.budget-v261-reconcile-grid dl{margin:0}.budget-v261-reconcile-grid dl>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid #edf2f5}.budget-v261-reconcile-grid dt{color:#728896;font-size:11px}.budget-v261-reconcile-grid dd{margin:0;color:#24475f;font-size:13px;font-weight:800}.budget-v261-reconcile-grid footer{margin-top:10px;padding-top:10px;border-top:1px dashed #e2e9ee;color:#788d9c;font-size:10px;line-height:1.55}
.budget-v261-reception-check .reception-check-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.budget-v261-reception-check .reception-check-row>span{padding:12px;border-radius:10px;background:#f5f9fb;color:#718797;font-size:11px}.budget-v261-reception-check .reception-check-row b{display:block;margin-top:4px;color:#294a61;font-size:15px}.budget-v261-reception-check .reception-check-row .ok b{color:#188c6a}.budget-v261-reception-check .reception-check-row .warning b{color:#c17b1d}

.budget-v261-detail{display:grid;gap:14px;padding:4px 0 8px}.budget-v261-detail .detail-kpis,.budget-v261-fill-modal .fill-modal-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.budget-v261-detail .detail-kpis article,.budget-v261-fill-modal .fill-modal-kpis article{padding:12px;border:1px solid #e0e9ef;border-radius:11px;background:#f8fbfc}.budget-v261-detail .detail-kpis small,.budget-v261-fill-modal .fill-modal-kpis small{display:block;color:#8498a7;font-size:10px}.budget-v261-detail .detail-kpis b,.budget-v261-fill-modal .fill-modal-kpis b{display:block;margin-top:5px;color:#254860;font-size:15px}.budget-v261-detail .detail-month-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.budget-v261-detail .detail-month-head h3{margin:0;color:#2a4b61;font-size:14px}.budget-v261-detail .detail-month-list{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}.budget-v261-detail .detail-month-list article{padding:9px;border:1px solid #e3ebf0;border-radius:9px;background:#fff}.budget-v261-detail .detail-month-list small{color:#8396a4;font-size:9px}.budget-v261-detail .detail-month-list b{display:block;margin:4px 0;color:#294b63;font-size:11px}.budget-v261-detail .detail-subject-list{display:grid;gap:6px}.budget-v261-detail .detail-subject-list article{display:grid;grid-template-columns:minmax(180px,1fr) minmax(120px,.7fr) minmax(100px,.55fr);gap:10px;padding:9px 10px;border-radius:8px;background:#f7fafc}.budget-v261-detail .detail-subject-list b{color:#34556b;font-size:11px}.budget-v261-detail .detail-subject-list span,.budget-v261-detail .detail-subject-list small{color:#8195a3;font-size:10px}.budget-v261-detail .detail-note{padding:11px 12px;border-left:3px solid #3d82c5;background:#f2f7fb;color:#637e90;font-size:11px;line-height:1.55}
.budget-v261-fill-modal{display:grid;gap:14px}.budget-v261-fill-modal .field textarea{min-height:78px}

@media(max-width:1500px){
  .budget-v261-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
  .budget-v261-fill-list>article{grid-template-columns:minmax(220px,1.45fr) minmax(100px,.55fr) minmax(130px,.7fr) minmax(100px,.55fr);}.budget-v261-fill-list .fill-actions{grid-column:1/-1;justify-content:flex-start;padding-left:48px}
}
@media(max-width:1100px){
  .budget-v261-main{grid-template-columns:1fr}.budget-v261-categories .category-grid,.budget-v261-reconcile-grid{grid-template-columns:1fr}.budget-v261-subjects .subject-row{grid-template-columns:minmax(200px,1.3fr) minmax(120px,.7fr) repeat(2,minmax(90px,.55fr));}.budget-v261-subjects .subject-row>*:nth-child(5){display:none}.budget-v261-detail .detail-month-list{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:780px){
  .budget-v261-hero,.budget-v261-fill-head,.budget-v261-reconcile-head,.budget-v261-current{align-items:flex-start;flex-direction:column;padding:16px}.budget-v261-status{justify-content:flex-start}.budget-v261-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.budget-v261-kpis article{min-height:102px;padding:14px 13px}.budget-v261-kpis b{font-size:clamp(15px,5vw,21px)}.budget-v261-fill-head .fill-progress{border:0;padding:0;text-align:left}.budget-v261-fill-list>article{grid-template-columns:1fr 1fr;padding:12px}.budget-v261-fill-list .fill-main,.budget-v261-fill-list .fill-actions{grid-column:1/-1}.budget-v261-fill-list .fill-actions{padding-left:0}.budget-v261-subjects .subject-row{grid-template-columns:1fr 82px}.budget-v261-subjects .subject-row>*:nth-child(n+3):not(:last-child){display:none}.budget-v261-reception-check .reception-check-row{grid-template-columns:1fr}.budget-v261-detail .detail-kpis,.budget-v261-fill-modal .fill-modal-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.budget-v261-detail .detail-month-list{grid-template-columns:repeat(3,minmax(0,1fr))}.budget-v261-detail .detail-subject-list article{grid-template-columns:1fr}.budget-v261-chart svg text.actual-label{display:none}
}
@media(max-width:480px){.budget-v261-kpis{grid-template-columns:1fr}.budget-v261-detail .detail-month-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
.budget-v261-fill-list>article.todo{border-left:4px solid #9caebe}.budget-v261-fill-list>article.check{border-left:4px solid #3d91bd;background:#fbfdff}.budget-v261-fill-list .fill-state.todo b{color:#718697}.budget-v261-fill-list .fill-state.check b{color:#27789e}.budget-v261-subjects .subject-category>h4{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0;padding:12px 15px;color:#244961;font-size:14px;background:#fff}.budget-v261-subjects .subject-category>h4 span{font-size:10px;color:#8397a5;font-weight:600}.budget-v261-detail .detail-subject-list article{grid-template-columns:minmax(180px,1.1fr) minmax(110px,.65fr) minmax(110px,.65fr) minmax(110px,.65fr) auto;align-items:center}.budget-v261-detail .detail-month-list article strong.filled{color:#188c6a}.budget-v261-detail .detail-month-list article strong.unfilled{color:#9aabb6}
@media(max-width:780px){.budget-v261-detail .detail-subject-list article{grid-template-columns:1fr 1fr}.budget-v261-detail .detail-subject-list article>span:first-child{grid-column:1/-1}.budget-v261-detail .detail-subject-list article .btn-link{grid-column:1/-1;justify-self:start}}
.budget-v261-breakdown{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:13px;border:1px solid #dbe7ef;border-radius:12px;background:#f7fafc}.budget-v261-breakdown .breakdown-head{grid-column:1/-1}.budget-v261-breakdown .breakdown-head b{display:block;color:#294b62;font-size:12px}.budget-v261-breakdown .breakdown-head small{display:block;margin-top:3px;color:#8195a4;font-size:10px;line-height:1.45}.budget-v261-breakdown .field{min-width:0}.budget-v261-breakdown .field span{font-size:10px}.budget-v261-breakdown .field input{width:100%;box-sizing:border-box}
@media(max-width:780px){.budget-v261-breakdown{grid-template-columns:1fr}}

/* V2.6.2 预算年月选择器 */
.budget-period-selector{display:grid;grid-template-columns:auto auto minmax(300px,1fr);align-items:center;gap:18px;margin:12px 0 16px;padding:14px 16px;border:1px solid #d9e5ee;border-radius:14px;background:linear-gradient(135deg,#fff 0%,#f7fbfe 100%);box-shadow:0 5px 18px rgba(31,72,105,.04)}
.budget-period-selector-main{display:flex;align-items:center;gap:11px;min-width:160px}.budget-period-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;background:#e9f3fd;color:#2878c7}.budget-period-icon svg{width:21px;height:21px}.budget-period-selector-main small{display:block;color:#8396a5;font-size:10px}.budget-period-selector-main b{display:block;margin-top:3px;color:#234b66;font-size:16px;white-space:nowrap}
.budget-period-controls{display:flex;align-items:end;gap:9px;flex-wrap:wrap}.budget-period-controls label{display:grid;gap:4px}.budget-period-controls label>span{color:#8295a4;font-size:9px;font-weight:700}.budget-period-controls select{height:36px;min-width:102px;padding:0 30px 0 11px;border:1px solid #d5e1e9;border-radius:9px;background:#fff;color:#294d65;font-size:12px;font-weight:700;outline:0}.budget-period-controls select:focus{border-color:#5b9bd5;box-shadow:0 0 0 3px rgba(61,130,197,.1)}
.budget-period-status{height:36px;display:inline-flex;align-items:center;gap:6px;padding:0 11px;border-radius:999px;font-size:10px;font-weight:800;white-space:nowrap}.budget-period-status i{width:7px;height:7px;border-radius:50%}.budget-period-status.settled{background:#eaf6f1;color:#238064}.budget-period-status.settled i{background:#24a47e}.budget-period-status.filling{background:#edf5fd;color:#2c72ad}.budget-period-status.filling i{background:#3a83ca;box-shadow:0 0 0 4px rgba(58,131,202,.12)}.budget-period-status.future{background:#f2f5f7;color:#788b99}.budget-period-status.future i{background:#98a9b5}
.budget-period-summary{display:grid;grid-template-columns:repeat(3,minmax(90px,1fr));gap:8px}.budget-period-summary>span{min-width:0;padding:8px 10px;border-left:1px solid #e2e9ee}.budget-period-summary small{display:block;color:#8a9ba8;font-size:9px}.budget-period-summary b{display:block;margin-top:3px;color:#2d5067;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.budget-period-selector>p{grid-column:1/-1;margin:-5px 0 0;padding-top:8px;border-top:1px solid #edf1f4;color:#8b9aa5;font-size:9px;line-height:1.5}.budget-month-readonly{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 11px;border-radius:8px;font-size:10px;font-weight:800}.budget-month-readonly.settled{background:#edf6f2;color:#31836a}.budget-month-readonly.future{background:#f2f5f7;color:#899aa6}.budget-v261-fill-list>article.future{opacity:.78}.budget-v261-fill-head.settled{border-left:4px solid #2ca078}.budget-v261-fill-head.future{border-left:4px solid #9aaab5}
@media(max-width:1180px){.budget-period-selector{grid-template-columns:1fr 1fr}.budget-period-summary{grid-column:1/-1}.budget-period-selector>p{grid-column:1/-1}}
@media(max-width:760px){.budget-period-selector{grid-template-columns:1fr;gap:12px;padding:13px}.budget-period-controls{align-items:stretch}.budget-period-controls label{flex:1;min-width:110px}.budget-period-controls select{width:100%;min-width:0}.budget-period-status{align-self:end}.budget-period-summary{grid-column:auto;grid-template-columns:repeat(3,1fr)}.budget-period-summary>span{padding:7px 8px}.budget-period-selector>p{grid-column:auto}.budget-period-selector-main b{font-size:15px}}
@media(max-width:480px){.budget-period-controls{display:grid;grid-template-columns:1fr 1fr}.budget-period-status{grid-column:1/-1;width:max-content}.budget-period-summary{grid-template-columns:1fr}.budget-period-summary>span{border-left:0;border-top:1px solid #edf1f4}.budget-period-summary>span:first-child{border-top:0}}

/* V2.6.3 月度填报排版重构 */
.budget-v263-fill-head{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:18px;margin-bottom:14px;padding:17px 18px;border:1px solid #dbe6ee;border-radius:15px;background:#fff;box-shadow:0 4px 14px rgba(31,71,101,.035)}
.budget-v263-fill-head.settled{border-left:4px solid #2ba079}.budget-v263-fill-head.filling{border-left:4px solid #3a82c8}.budget-v263-fill-head.future{border-left:4px solid #9aaab5}
.budget-v263-fill-head .fill-head-main{min-width:0}.budget-v263-fill-head .fill-head-main>small{display:block;color:#3c7bab;font-size:9px;font-weight:800;letter-spacing:.11em}.budget-v263-fill-head .fill-head-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:3px}.budget-v263-fill-head h2{margin:0;color:#1f435d;font-size:20px;line-height:1.25}.budget-v263-fill-head p{margin:5px 0 0;color:#7d909e;font-size:11px;line-height:1.55}
.budget-v263-fill-head .fill-head-metrics{display:grid;grid-template-columns:repeat(2,minmax(108px,1fr));gap:8px}.budget-v263-fill-head .fill-head-metrics>span{min-width:0;padding:8px 12px;border-left:1px solid #e3eaef}.budget-v263-fill-head .fill-head-metrics small{display:block;color:#8a9aa6;font-size:9px}.budget-v263-fill-head .fill-head-metrics b{display:block;margin-top:3px;color:#274b63;font-size:13px;white-space:nowrap}

.budget-fill-groups{display:grid;gap:13px}.budget-fill-group{overflow:hidden;border:1px solid #dde7ee;border-radius:15px;background:#fff}.budget-fill-group.admin{--budget-group:#367ec3;--budget-group-soft:#edf5fc}.budget-fill-group.project{--budget-group:#d99536;--budget-group-soft:#fff6e9}.budget-fill-group.brand{--budget-group:#269d79;--budget-group-soft:#eaf7f2}
.budget-fill-group-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;background:linear-gradient(90deg,var(--budget-group-soft),#fff);border-bottom:1px solid #e3ebf0}.budget-fill-group-head>div{display:flex;align-items:center;gap:10px;min-width:0}.budget-fill-group-head .group-category{height:25px;min-width:40px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;background:var(--budget-group);color:#fff;font-size:10px;font-weight:800}.budget-fill-group-head b{display:block;color:#294b61;font-size:13px}.budget-fill-group-head small{display:block;margin-top:2px;color:#8193a0;font-size:9px}.budget-fill-group-head>strong{min-width:46px;text-align:right;color:var(--budget-group);font-size:16px}
.budget-fill-column-head{display:grid;grid-template-columns:minmax(260px,1.45fr) minmax(120px,.55fr) minmax(155px,.68fr) minmax(120px,.52fr) minmax(165px,.7fr);gap:12px;padding:8px 14px;background:#f8fafc;border-bottom:1px solid #e9eff3;color:#8697a3;font-size:9px;font-weight:700}.budget-fill-column-head span:last-child{text-align:right;padding-right:4px}
.budget-fill-rows{display:grid}.budget-fill-row{position:relative;display:grid;grid-template-columns:minmax(260px,1.45fr) minmax(120px,.55fr) minmax(155px,.68fr) minmax(120px,.52fr) minmax(165px,.7fr);gap:12px;align-items:center;min-height:64px;padding:10px 14px;border-bottom:1px solid #edf2f5;background:#fff}.budget-fill-row:last-child{border-bottom:0}.budget-fill-row:hover{background:#fbfdff}.budget-fill-row:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:0 3px 3px 0;background:#a6b4be}.budget-fill-row.done:before{background:#27a47c}.budget-fill-row.check:before{background:#3d91bd}.budget-fill-row.partial:before{background:#e3a03d}.budget-fill-row.future{opacity:.82}
.budget-fill-row>div{min-width:0}.budget-fill-row .fill-project b{display:block;color:#2a4b61;font-size:12px;font-weight:800;line-height:1.35}.budget-fill-row .fill-project small{display:block;margin-top:3px;color:#8a9ca8;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.budget-fill-row .fill-number small{display:block;color:#899aa6;font-size:9px}.budget-fill-row .fill-number b{display:block;margin-top:3px;color:#284b62;font-size:12px;font-weight:800;white-space:nowrap}.budget-fill-row .fill-number.actual b{color:#1f6f5b}.budget-fill-row .fill-number em{display:inline-block;margin-top:4px;padding:2px 6px;border-radius:999px;background:#edf7f4;color:#29836b;font-size:8px;font-style:normal;white-space:nowrap}
.fill-state-cell{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.fill-status-pill{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;background:#f0f3f5;color:#718493;font-size:9px;font-weight:800;white-space:nowrap}.fill-status-pill.done{background:#e8f6f0;color:#1c8a69}.fill-status-pill.check{background:#eaf4fb;color:#287ca6}.fill-status-pill.partial{background:#fff3df;color:#b9771e}.fill-status-pill.todo{background:#f0f3f5;color:#728693}.fill-state-cell small{max-width:100%;color:#98a7b1;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.budget-fill-row .fill-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:nowrap}.budget-fill-row .fill-actions .btn.compact{min-height:30px;height:30px;padding:0 10px;border-radius:8px;font-size:10px;white-space:nowrap}.budget-fill-row .fill-actions .budget-month-readonly{min-height:30px;height:30px;font-size:9px}

/* 填报弹窗：减少纵向空白，强化金额录入层级 */
#modal .budget-v261-fill-modal{gap:12px;padding:2px 0 4px}.budget-v261-fill-modal .fill-modal-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.budget-v261-fill-modal .fill-modal-kpis article{padding:11px 12px}.budget-v261-fill-modal .fill-modal-kpis small{font-size:9px}.budget-v261-fill-modal .fill-modal-kpis b{font-size:14px}.budget-v261-fill-modal>.field{margin:0}.budget-v261-fill-modal .field>span{font-size:11px;font-weight:700;color:#48677b}.budget-v261-fill-modal .field input,.budget-v261-fill-modal .field select,.budget-v261-fill-modal .field textarea{min-height:42px}.budget-v261-fill-modal .field textarea{min-height:82px}.budget-v261-breakdown{padding:12px;gap:9px}.budget-v261-breakdown .breakdown-head{margin-bottom:2px}

@media(max-width:1450px){
  .budget-fill-column-head,.budget-fill-row{grid-template-columns:minmax(230px,1.35fr) minmax(110px,.55fr) minmax(140px,.65fr) minmax(105px,.5fr) minmax(150px,.68fr)}
  .budget-v263-fill-head{grid-template-columns:minmax(0,1fr) auto}.budget-v263-fill-head>.btn{grid-column:2}.budget-v263-fill-head .fill-head-metrics{grid-row:1/3;grid-column:2}.budget-v263-fill-head>.btn{grid-row:3;margin-left:auto}
}
@media(max-width:1180px){
  .budget-fill-column-head{display:none}.budget-fill-row{grid-template-columns:minmax(220px,1.3fr) minmax(110px,.6fr) minmax(135px,.7fr) minmax(110px,.55fr);padding:12px 14px}.budget-fill-row .fill-actions{grid-column:1/-1;justify-content:flex-start;padding-left:0}.budget-fill-row .fill-actions .btn.compact{min-width:86px}.budget-v263-fill-head{grid-template-columns:1fr}.budget-v263-fill-head .fill-head-metrics{grid-row:auto;grid-column:auto;width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}.budget-v263-fill-head>.btn{grid-row:auto;grid-column:auto;justify-self:start;margin-left:0}
}
@media(max-width:760px){
  .budget-v263-fill-head{padding:14px}.budget-v263-fill-head h2{font-size:17px}.budget-v263-fill-head .fill-head-title{align-items:flex-start}.budget-v263-fill-head .fill-head-metrics>span{border-left:0;border-top:1px solid #e8edf1;padding:8px 0}.budget-fill-group-head{align-items:flex-start}.budget-fill-group-head>div{align-items:flex-start}.budget-fill-row{grid-template-columns:1fr 1fr;gap:10px;padding:12px 13px}.budget-fill-row .fill-project{grid-column:1/-1}.budget-fill-row .fill-state-cell{align-items:flex-end}.budget-fill-row .fill-actions{grid-column:1/-1}.budget-fill-row .fill-actions .btn.compact{flex:1}.budget-v261-fill-modal .fill-modal-kpis{grid-template-columns:1fr 1fr}.budget-v261-fill-modal .fill-modal-kpis article:last-child{grid-column:1/-1}
}
@media(max-width:480px){
  .budget-v263-fill-head .fill-head-metrics{grid-template-columns:1fr}.budget-fill-row{grid-template-columns:1fr}.budget-fill-row .fill-project,.budget-fill-row .fill-actions{grid-column:auto}.budget-fill-row .fill-state-cell{align-items:flex-start}.budget-fill-row .fill-actions{display:grid;grid-template-columns:1fr 1fr}.budget-fill-group-head>strong{font-size:14px}
}

/* ==================== V2.6.4 领导默认全平台查看 ==================== */
.leadership-workspace-banner{
  display:flex;align-items:center;gap:12px;margin:0 0 14px;padding:12px 15px;
  border:1px solid #cfe0f0;border-radius:13px;background:linear-gradient(90deg,#f3f8fd,#f8fbfe);
  color:#315978;
}
.leadership-workspace-banner>.ui-icon,.leadership-workspace-banner>svg{flex:0 0 auto;width:21px;height:21px;color:#2f78c9}
.leadership-workspace-banner div{min-width:0;display:grid;gap:2px}
.leadership-workspace-banner b{font-size:13px;color:#244d6e}
.leadership-workspace-banner small{font-size:11px;line-height:1.6;color:#6e8497}
@media(max-width:760px){
  .leadership-workspace-banner{align-items:flex-start;padding:11px 12px;border-radius:12px}
  .leadership-workspace-banner b{font-size:12px}.leadership-workspace-banner small{font-size:10.5px}
}

/* ==================== V2.6.6 月度预算精细化填报 ==================== */
#modal:has(#budgetMonthlyFillForm) .modal{width:min(1120px,calc(100vw - 44px));max-height:92vh;overflow:hidden;border-radius:20px}
#budgetMonthlyFillForm{display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-height:92vh;background:#f8fafc}
#budgetMonthlyFillForm .modalhead{padding:18px 22px 15px;background:#fff;border-bottom:1px solid #e4ebf1}
#budgetMonthlyFillForm .modalhead h2{margin:3px 0 4px;font-size:21px;color:#1f435d}
#budgetMonthlyFillForm .modalhead p{margin:0;color:#7b8f9f;font-size:11px;line-height:1.55}
#budgetMonthlyFillForm .budget-v261-fill-modal.detailed{display:grid;gap:13px;overflow:auto;padding:15px 18px 18px;scrollbar-gutter:stable}
#budgetMonthlyFillForm .fill-modal-kpis{position:sticky;top:-15px;z-index:3;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:0 0 2px;background:#f8fafc}
#budgetMonthlyFillForm .fill-modal-kpis article{padding:11px 13px;border:1px solid #dce7ef;border-radius:12px;background:#fff}
#budgetMonthlyFillForm .fill-modal-kpis small{display:block;color:#899aa7;font-size:9px}
#budgetMonthlyFillForm .fill-modal-kpis b{display:block;margin-top:4px;color:#234961;font-size:15px}
.budget-fill-amount-section,.budget-fill-detail,.budget-fill-control-section{border:1px solid #dce6ed;border-radius:15px;background:#fff;overflow:hidden}
.budget-fill-section-title,.budget-fill-detail-title{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:11px 14px;border-bottom:1px solid #e6edf2;background:linear-gradient(90deg,#f2f7fb,#fff)}
.budget-fill-section-title b,.budget-fill-detail-title b{display:block;color:#2a526b;font-size:12px}
.budget-fill-section-title small,.budget-fill-detail-title small{display:block;margin-top:3px;color:#8495a2;font-size:9px;line-height:1.5}
.budget-fill-detail-title>span{align-self:center;flex:none;padding:5px 9px;border-radius:999px;background:#eaf4fb;color:#2a78a4;font-size:9px;font-weight:800}
.budget-fill-amount-section>.field,.budget-fill-amount-section>.budget-v261-breakdown{margin:12px 14px 14px}
.budget-main-amount{max-width:420px}.budget-main-amount>small{display:block;margin-top:5px;color:#93a1ab;font-size:8px;line-height:1.5}
.budget-fill-detail-section{padding:12px 14px 14px;border-bottom:1px dashed #e4ebf0}.budget-fill-detail-section:last-of-type{border-bottom:0}
.budget-fill-detail-section h4{margin:0 0 9px;color:#567084;font-size:10px;font-weight:800;letter-spacing:.04em}
.budget-fill-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px 10px}
.budget-fill-detail-grid .detail-field{min-width:0;margin:0}.budget-fill-detail-grid .detail-field.wide{grid-column:span 2}
.budget-fill-detail-grid .field>span{display:block;margin-bottom:5px;color:#496579;font-size:10px;font-weight:700}
.budget-fill-detail-grid input,.budget-fill-detail-grid select,.budget-fill-detail-grid textarea{width:100%;min-width:0;border:1px solid #d9e4ec;border-radius:9px;background:#fff;color:#2f5067;font-size:11px;outline:none}
.budget-fill-detail-grid input,.budget-fill-detail-grid select{height:39px;padding:0 10px}.budget-fill-detail-grid textarea{min-height:68px;padding:9px 10px;line-height:1.55;resize:vertical}
.budget-fill-detail-grid input:focus,.budget-fill-detail-grid select:focus,.budget-fill-detail-grid textarea:focus{border-color:#69a6d8;box-shadow:0 0 0 3px rgba(57,132,197,.08)}
.detail-input-wrap{position:relative}.detail-input-wrap input{padding-right:52px}.detail-input-wrap em{position:absolute;right:9px;top:50%;transform:translateY(-50%);color:#91a0aa;font-size:9px;font-style:normal;pointer-events:none}
.detail-field-hint{display:block;margin-top:4px;color:#b07b2c;font-size:8px}
.budget-fill-detail-check{display:grid;grid-template-columns:150px 150px minmax(0,1fr);align-items:center;gap:10px;padding:10px 14px;background:#f7fafc;border-top:1px solid #e6edf2}
.budget-fill-detail-check>span{padding-right:12px;border-right:1px solid #e2e9ee}.budget-fill-detail-check small{display:block;color:#8b9aa5;font-size:8px}.budget-fill-detail-check b{display:block;margin-top:3px;color:#274b63;font-size:12px}.budget-fill-detail-check b.ok{color:#1e8b69}.budget-fill-detail-check b.warning{color:#c47721}.budget-fill-detail-check>em{color:#8193a0;font-size:8.5px;font-style:normal;line-height:1.55}
.budget-fill-control-section .budget-fill-control-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px 10px;padding:12px 14px 14px}.budget-fill-control-grid .field{margin:0}.budget-fill-control-grid .field.full{grid-column:1/-1}.budget-fill-control-grid .field>span{display:block;margin-bottom:5px;color:#496579;font-size:10px;font-weight:700}.budget-fill-control-grid input,.budget-fill-control-grid select{height:39px}.budget-fill-control-grid textarea{min-height:78px}
.budget-detail-modal-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 18px;background:#fff;border-top:1px solid #dde7ee}.budget-detail-modal-foot>span{color:#8b9aa6;font-size:9px}.budget-detail-modal-foot>div{display:flex;gap:8px;flex:none}
.budget-v261-breakdown{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px 10px;padding:0!important;background:transparent!important;border:0!important}.budget-v261-breakdown .breakdown-head{grid-column:1/-1;padding:9px 10px;border-radius:9px;background:#f4f8fb}.budget-v261-breakdown .breakdown-head b{display:block;color:#385c73;font-size:10px}.budget-v261-breakdown .breakdown-head small{display:block;margin-top:3px;color:#8395a3;font-size:8px;line-height:1.5}.budget-v261-breakdown .field{margin:0!important}.budget-v261-breakdown .field>span{font-size:9px;line-height:1.45}.budget-v261-breakdown input{height:39px}
@media(max-width:980px){#modal:has(#budgetMonthlyFillForm) .modal{width:min(900px,calc(100vw - 24px))}.budget-fill-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.budget-v261-breakdown{grid-template-columns:repeat(2,minmax(0,1fr))}.budget-fill-detail-check{grid-template-columns:1fr 1fr}.budget-fill-detail-check>em{grid-column:1/-1}.budget-fill-detail-grid .detail-field.wide{grid-column:1/-1}}
@media(max-width:680px){#modal:has(#budgetMonthlyFillForm) .modal{width:100%;max-height:96dvh;border-radius:20px 20px 0 0}#budgetMonthlyFillForm{max-height:96dvh}#budgetMonthlyFillForm .modalhead{padding:14px 15px 12px}#budgetMonthlyFillForm .modalhead h2{font-size:18px}#budgetMonthlyFillForm .budget-v261-fill-modal.detailed{padding:11px 12px 14px;gap:10px}#budgetMonthlyFillForm .fill-modal-kpis{grid-template-columns:1fr 1fr;top:-11px}#budgetMonthlyFillForm .fill-modal-kpis article:last-child{grid-column:1/-1}.budget-fill-detail-grid,.budget-v261-breakdown,.budget-fill-control-section .budget-fill-control-grid{grid-template-columns:1fr}.budget-fill-detail-grid .detail-field.wide,.budget-fill-control-grid .field.full{grid-column:auto}.budget-fill-detail-check{grid-template-columns:1fr}.budget-fill-detail-check>span{border-right:0;border-bottom:1px solid #e4eaef;padding:0 0 8px}.budget-fill-detail-check>em{grid-column:auto}.budget-detail-modal-foot{align-items:stretch;flex-direction:column;padding:10px 12px}.budget-detail-modal-foot>div{display:grid;grid-template-columns:1fr 1fr}.budget-detail-modal-foot>div .btn.primary{grid-column:1/-1}.budget-detail-modal-foot>span{text-align:center}}
.budget-fill-reference{border:1px solid #dce6ed;border-radius:15px;background:#fff;overflow:hidden}.budget-fill-reference-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 14px 14px}.budget-fill-reference-grid article{min-width:0;padding:11px 12px;border:1px solid #dce7ef;border-radius:11px;background:#f8fbfe}.budget-fill-reference-grid article.actual{background:#f6fbf8}.budget-fill-reference-grid header{display:flex;align-items:center;gap:7px;color:#3a6380}.budget-fill-reference-grid header svg{width:15px;height:15px;color:#337fc0}.budget-fill-reference-grid article.actual header svg{color:#278a69}.budget-fill-reference-grid header b{font-size:10px}.budget-fill-reference-grid p{max-height:130px;overflow:auto;margin:8px 0 0;color:#657e90;font-size:9px;line-height:1.72;padding-right:4px}.budget-fill-detail-title b:before{content:"02 · ";color:#4b82aa}.budget-fill-control-section .budget-fill-section-title b:before{content:""}
@media(max-width:680px){.budget-fill-reference-grid{grid-template-columns:1fr}.budget-fill-reference-grid p{max-height:105px}}

/* ==================== V2.6.7 月度预算填报弹窗结构修复 ==================== */
/* V2.6.6 错误地作用于不存在的 .modalbox，本版直接约束真实 .modal 容器。 */
#modal:has(#budgetMonthlyFillForm) .backdrop{
  padding:18px;
  overflow:hidden;
}
#modal:has(#budgetMonthlyFillForm) .modal{
  width:min(1180px,calc(100vw - 36px));
  height:min(900px,calc(100dvh - 36px));
  max-height:calc(100dvh - 36px);
  padding:0;
  overflow:hidden;
  border-radius:20px;
}
#budgetMonthlyFillForm{
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  width:100%;
  height:100%;
  min-height:0;
  max-height:none;
  overflow:hidden;
  background:#f8fafc;
}
#budgetMonthlyFillForm .modalhead{
  flex:0 0 auto;
  margin:0;
  padding:17px 20px 14px;
  background:#fff;
  border-bottom:1px solid #e4ebf1;
}
#budgetMonthlyFillForm .modalhead>div{min-width:0}
#budgetMonthlyFillForm .modalhead small{font-size:10px;letter-spacing:.04em;color:#52738a}
#budgetMonthlyFillForm .modalhead h2{margin:3px 0 3px;font-size:21px;line-height:1.25;color:#1f435d}
#budgetMonthlyFillForm .modalhead p{margin:0;color:#7b8f9f;font-size:11px;line-height:1.45}

/* 关键修复：中间主体由 grid 改为纵向 flex，所有卡片按内容自然撑开，仅主体滚动。 */
#budgetMonthlyFillForm .budget-v261-fill-modal.detailed{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:12px;
  min-height:0;
  overflow-x:hidden;
  overflow-y:auto;
  padding:14px 16px 18px;
  scroll-padding:14px 0 22px;
  scrollbar-gutter:stable;
  overscroll-behavior:contain;
}
#budgetMonthlyFillForm .budget-v261-fill-modal.detailed>*{
  flex:0 0 auto;
  min-height:max-content;
}
#budgetMonthlyFillForm .fill-modal-kpis{
  position:static;
  top:auto;
  z-index:auto;
  flex:0 0 auto;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
  padding:0;
  background:transparent;
}
#budgetMonthlyFillForm .fill-modal-kpis article{
  min-width:0;
  min-height:66px;
  padding:10px 12px;
}
#budgetMonthlyFillForm .fill-modal-kpis b{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* 所有业务分区禁止被父级压缩或裁切。 */
#budgetMonthlyFillForm .budget-fill-reference,
#budgetMonthlyFillForm .budget-fill-amount-section,
#budgetMonthlyFillForm .budget-fill-detail,
#budgetMonthlyFillForm .budget-fill-control-section{
  flex:0 0 auto;
  min-height:max-content;
  overflow:visible;
}
#budgetMonthlyFillForm .budget-fill-reference,
#budgetMonthlyFillForm .budget-fill-amount-section,
#budgetMonthlyFillForm .budget-fill-detail,
#budgetMonthlyFillForm .budget-fill-control-section{
  border:1px solid #dce6ed;
  border-radius:14px;
  background:#fff;
}
#budgetMonthlyFillForm .budget-fill-section-title,
#budgetMonthlyFillForm .budget-fill-detail-title{
  border-radius:14px 14px 0 0;
}
#budgetMonthlyFillForm .budget-fill-detail-section{
  display:block;
  min-height:max-content;
  overflow:visible;
  padding:13px 14px 15px;
}
#budgetMonthlyFillForm .budget-fill-detail-grid{
  align-items:start;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 14px;
}
#budgetMonthlyFillForm .budget-fill-detail-grid .detail-field.wide{grid-column:1/-1}
#budgetMonthlyFillForm .budget-fill-detail-grid .field>span,
#budgetMonthlyFillForm .budget-fill-control-grid .field>span{
  font-size:11px;
  line-height:1.45;
}
#budgetMonthlyFillForm .budget-fill-detail-grid input,
#budgetMonthlyFillForm .budget-fill-detail-grid select,
#budgetMonthlyFillForm .budget-fill-control-grid input,
#budgetMonthlyFillForm .budget-fill-control-grid select{
  height:42px;
  font-size:12px;
}
#budgetMonthlyFillForm .budget-fill-detail-grid textarea,
#budgetMonthlyFillForm .budget-fill-control-grid textarea{
  min-height:82px;
  font-size:12px;
}
#budgetMonthlyFillForm .budget-main-amount{max-width:none;margin:13px 14px 15px}
#budgetMonthlyFillForm .budget-main-amount input{height:44px;font-size:13px}
#budgetMonthlyFillForm .budget-main-amount>small{font-size:9px}
#budgetMonthlyFillForm .budget-fill-reference-grid{padding:11px 13px 13px}
#budgetMonthlyFillForm .budget-fill-reference-grid p{max-height:110px}
#budgetMonthlyFillForm .budget-fill-detail-check{
  min-height:58px;
  border-radius:0 0 14px 14px;
}

/* 底部操作栏属于表单第三行，不再使用通用 sticky 规则，避免覆盖内容。 */
#budgetMonthlyFillForm .budget-detail-modal-foot{
  position:relative;
  bottom:auto;
  z-index:4;
  flex:0 0 auto;
  margin:0;
  padding:11px 16px;
  background:#fff;
  border-top:1px solid #dde7ee;
  box-shadow:0 -8px 24px rgba(36,72,96,.05);
}
#budgetMonthlyFillForm .budget-detail-modal-foot>div{display:flex;gap:8px;flex:none}
#budgetMonthlyFillForm .budget-detail-modal-foot .btn{min-height:40px}

@media(max-width:980px){
  #modal:has(#budgetMonthlyFillForm) .modal{
    width:min(920px,calc(100vw - 24px));
    height:min(900px,calc(100dvh - 24px));
    max-height:calc(100dvh - 24px);
  }
  #budgetMonthlyFillForm .budget-v261-fill-modal.detailed{padding:12px 13px 16px}
  #budgetMonthlyFillForm .budget-fill-detail-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  #modal:has(#budgetMonthlyFillForm) .backdrop{align-items:end;padding:0}
  #modal:has(#budgetMonthlyFillForm) .modal{
    width:100%;
    height:96dvh;
    max-height:96dvh;
    border-radius:20px 20px 0 0;
  }
  #budgetMonthlyFillForm{height:96dvh;max-height:96dvh}
  #budgetMonthlyFillForm .modalhead{padding:13px 14px 11px}
  #budgetMonthlyFillForm .modalhead h2{font-size:18px}
  #budgetMonthlyFillForm .budget-v261-fill-modal.detailed{padding:10px 11px 14px;gap:10px}
  #budgetMonthlyFillForm .fill-modal-kpis{grid-template-columns:1fr 1fr}
  #budgetMonthlyFillForm .fill-modal-kpis article:last-child{grid-column:1/-1}
  #budgetMonthlyFillForm .budget-fill-reference-grid,
  #budgetMonthlyFillForm .budget-fill-detail-grid,
  #budgetMonthlyFillForm .budget-v261-breakdown,
  #budgetMonthlyFillForm .budget-fill-control-section .budget-fill-control-grid{grid-template-columns:1fr}
  #budgetMonthlyFillForm .budget-fill-detail-grid .detail-field.wide,
  #budgetMonthlyFillForm .budget-fill-control-grid .field.full{grid-column:auto}
  #budgetMonthlyFillForm .budget-fill-detail-check{grid-template-columns:1fr}
  #budgetMonthlyFillForm .budget-fill-detail-check>span{border-right:0;border-bottom:1px solid #e4eaef;padding:0 0 8px}
  #budgetMonthlyFillForm .budget-fill-detail-check>em{grid-column:auto}
  #budgetMonthlyFillForm .budget-detail-modal-foot{align-items:stretch;flex-direction:column;padding:9px 11px}
  #budgetMonthlyFillForm .budget-detail-modal-foot>div{display:grid;grid-template-columns:1fr 1fr}
  #budgetMonthlyFillForm .budget-detail-modal-foot>div .btn.primary{grid-column:1/-1}
  #budgetMonthlyFillForm .budget-detail-modal-foot>span{text-align:center}
}


/* ===== V2.6.7.1 稳定版首页1000条中文暖心文案 ===== */
.welcome-warm-copy{display:flex;align-items:center;gap:10px;max-width:720px;margin-top:14px;padding:10px 13px;border:1px solid #dbe8f5;border-radius:13px;background:rgba(255,255,255,.68);backdrop-filter:blur(8px)}
.welcome-warm-copy>span{display:inline-flex;align-items:center;gap:5px;flex:none;color:#3177bd;font-size:11px;font-weight:800}.welcome-warm-copy>span svg{width:15px;height:15px}.welcome-warm-copy>b{min-width:0;color:#476278;font-size:12px;line-height:1.7;font-weight:700}
@media(max-width:820px){.welcome-warm-copy{align-items:flex-start;flex-direction:column;gap:5px}}

/* ===== V2.6.7.2 宿舍数字化 + 原表双向同步 ===== */
.occupancy-kpis{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin-bottom:14px}
.occupancy-kpis article{min-width:0;padding:15px 16px;border:1px solid #dfe9f2;border-radius:16px;background:#fff}
.occupancy-kpis article.full{border-top:3px solid #2f83d8}.occupancy-kpis article.partial{border-top:3px solid #e9a735}.occupancy-kpis article.empty{border-top:3px solid #9babb9}
.occupancy-kpis small,.occupancy-kpis b,.occupancy-kpis span{display:block}.occupancy-kpis small{color:#7b8e9f;font-size:11px}.occupancy-kpis b{margin-top:7px;color:#1f405d;font-size:27px;line-height:1.05}.occupancy-kpis b em{margin-left:3px;color:#73889b;font-size:11px;font-style:normal;font-weight:700}.occupancy-kpis span{margin-top:7px;color:#8999a8;font-size:10px;line-height:1.5}
.dorm-occupancy-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:14px;margin-bottom:14px}.dorm-occupancy-grid.recent{grid-template-columns:1fr 1fr}
.dorm-floor-occupancy-bars{display:grid;gap:11px}.dorm-floor-occupancy-bars article{display:grid;grid-template-columns:125px minmax(120px,1fr) 78px;gap:12px;align-items:center;padding:10px 12px;border:1px solid #e4ecf3;border-radius:13px;background:#fbfdff}.dorm-floor-occupancy-bars article>div b{display:block;color:#254863;font-size:13px}.dorm-floor-occupancy-bars article>div small{display:block;margin-top:3px;color:#8495a4;font-size:10px}.dorm-floor-occupancy-bars article>i{display:block;height:9px;border-radius:999px;background:#e9eff5;overflow:hidden}.dorm-floor-occupancy-bars article>i em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2577ca,#56a5e7)}.dorm-floor-occupancy-bars article>span{text-align:right}.dorm-floor-occupancy-bars article>span b{display:block;color:#1f6fb8;font-size:15px}.dorm-floor-occupancy-bars article>span small{display:block;margin-top:2px;color:#8495a4;font-size:9px}
.dorm-occupancy-status-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.dorm-occupancy-status-grid article{padding:16px 10px;border-radius:14px;text-align:center;background:#f6f9fc;border:1px solid #e2eaf1}.dorm-occupancy-status-grid article.full{background:#eef7ff;border-color:#cee3f6}.dorm-occupancy-status-grid article.partial{background:#fff8eb;border-color:#f2ddb6}.dorm-occupancy-status-grid article.empty{background:#f5f7f9}.dorm-occupancy-status-grid article.over{background:#fff0f1;border-color:#f1c9cd}.dorm-occupancy-status-grid b{display:block;color:#24455f;font-size:26px}.dorm-occupancy-status-grid span{display:block;margin-top:5px;color:#718699;font-size:11px;font-weight:800}.dorm-type-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}.dorm-type-chips span{padding:7px 10px;border-radius:999px;background:#f2f7fb;color:#5d7489;font-size:10px}.dorm-type-chips b{color:#1e6db3}
.dorm-occupancy-matrix-panel{margin-bottom:14px}.dorm-occupancy-floor-list{display:grid;gap:10px}.dorm-occupancy-floor{overflow:hidden;border:1px solid #dfe9f1;border-radius:15px;background:#fff}.dorm-occupancy-floor>summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 15px;cursor:pointer;list-style:none;background:#f6f9fc}.dorm-occupancy-floor>summary::-webkit-details-marker{display:none}.dorm-occupancy-floor>summary b{display:block;color:#274761;font-size:13px}.dorm-occupancy-floor>summary small{display:block;margin-top:3px;color:#8293a3;font-size:10px}.dorm-occupancy-floor>summary>span{display:flex;align-items:center;gap:8px}.dorm-occupancy-floor>summary strong{color:#1d6fba;font-size:15px}.dorm-occupancy-floor>summary svg{width:15px;transition:transform .2s}.dorm-occupancy-floor[open]>summary svg{transform:rotate(90deg)}
.dorm-room-matrix{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;padding:10px}.dorm-room-matrix-card{min-width:0;min-height:102px;padding:10px 11px;border:1px solid #dfe8ef;border-left:4px solid #9ba9b6;border-radius:12px;background:#fff;text-align:left;cursor:pointer}.dorm-room-matrix-card:hover{transform:translateY(-1px);border-color:#bcd3e6}.dorm-room-matrix-card.full{border-left-color:#287ac7}.dorm-room-matrix-card.partial{border-left-color:#e3a02e}.dorm-room-matrix-card.empty{border-left-color:#9aa9b6}.dorm-room-matrix-card.over{border-left-color:#dc5a62;background:#fff8f8}.dorm-room-matrix-card>div{display:flex;justify-content:space-between;gap:7px;align-items:center}.dorm-room-matrix-card>div b{color:#244560;font-size:14px}.dorm-room-matrix-card>div span{padding:3px 6px;border-radius:999px;background:#f0f5f9;color:#61778b;font-size:8px;font-weight:800}.dorm-room-matrix-card small{display:block;margin-top:8px;color:#708599;font-size:9px}.dorm-room-matrix-card em{display:-webkit-box;margin-top:7px;overflow:hidden;color:#526b80;font-size:9px;font-style:normal;line-height:1.5;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.dorm-recent-list{display:grid;gap:8px}.dorm-recent-list article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px 12px;border:1px solid #e5edf3;border-radius:12px;background:#fbfdff}.dorm-recent-list b{display:block;color:#294b66;font-size:12px}.dorm-recent-list small{display:block;margin-top:3px;color:#8596a5;font-size:9px}.dorm-recent-list>article>span{color:#2c70ad;font-size:10px;font-weight:800}.dorm-recent-list time{color:#7d8e9d;font-size:9px}.dorm-light-empty{margin:0;padding:18px;color:#8998a7;text-align:center;font-size:11px}

/* 入住登记严格对齐原表字段 */
.dorm-resident-original-form{display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-height:90vh}.dorm-original-form-body{display:grid;gap:12px;overflow:auto;padding:14px 18px 18px;background:#f7fafc}.dorm-form-section{overflow:hidden;border:1px solid #dfe9f1;border-radius:15px;background:#fff}.dorm-form-section>header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 14px;border-bottom:1px solid #e7eef4;background:#f5f9fc}.dorm-form-section>header b{color:#284b66;font-size:12px}.dorm-form-section>header span{color:#8495a4;font-size:9px}.dorm-form-section>.formgrid{padding:14px}.dorm-resident-original-form .field input[readonly]{background:#f3f6f9;color:#607487}.dorm-resident-original-form .field small{display:block;margin-top:4px;color:#8a99a7;font-size:9px;line-height:1.5}.dorm-system-extra{overflow:hidden;border:1px dashed #cedce8;border-radius:14px;background:#fff}.dorm-system-extra>summary{padding:11px 14px;cursor:pointer;color:#60788c;font-size:10px;font-weight:800}.dorm-system-extra>.formgrid{padding:0 14px 14px}

/* 原表同步 */
.dorm-template-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;margin-bottom:14px;padding:20px 22px;border:1px solid #d8e6f2;border-radius:19px;background:linear-gradient(135deg,#f4f9ff,#fffaf1)}.dorm-template-hero>div:first-child>small{color:#1e73bd;font-size:9px;font-weight:900;letter-spacing:1.5px}.dorm-template-hero h3{margin:6px 0 5px;color:#213f5b;font-size:23px}.dorm-template-hero p{margin:0;max-width:760px;color:#6e8396;font-size:11px;line-height:1.7}.dorm-template-status-stack{display:grid;gap:7px;min-width:280px}.dorm-template-chip{display:grid;grid-template-columns:22px minmax(0,1fr);gap:2px 8px;align-items:center;padding:9px 11px;border:1px solid #dce8f2;border-radius:12px;background:#fff}.dorm-template-chip svg{grid-row:1/3;width:15px}.dorm-template-chip.ready svg{color:#159a72}.dorm-template-chip.missing svg{color:#d78a1b}.dorm-template-chip b{color:#36556e;font-size:10px}.dorm-template-chip em{overflow:hidden;color:#8294a3;font-size:8px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.dorm-template-sync-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.dorm-template-card{display:grid;grid-template-columns:46px minmax(0,1fr);gap:13px;align-items:start}.dorm-template-card>span{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#edf6ff;color:#2073be}.dorm-template-card h3{margin:4px 0 5px;color:#294a64;font-size:15px}.dorm-template-card p{margin:0;color:#718698;font-size:10px;line-height:1.7}.dorm-template-actions{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}.dorm-template-note{margin-bottom:14px}.dorm-sync-rule-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.dorm-sync-rule-grid article{padding:12px 13px;border-radius:13px;background:#f6f9fc}.dorm-sync-rule-grid b{display:block;color:#31516b;font-size:11px}.dorm-sync-rule-grid p{margin:5px 0 0;color:#798b9b;font-size:9px;line-height:1.7}

/* 宿舍费用：电 + 水 + 管理费 */
.dorm-meter-summary.finance.six{grid-template-columns:repeat(6,minmax(0,1fr))}.dorm-meter-summary.finance.six article:nth-child(3){border-top:3px solid #8b62d1}.dorm-meter-summary.finance.six article:nth-child(4){border-top:3px solid #e59a25}.dorm-utility-detail-kpis{grid-template-columns:repeat(7,minmax(0,1fr))}.dorm-utility-detail-kpis article em{display:block;margin-top:5px;color:#8092a2;font-size:9px;font-style:normal}.dorm-utility-management-note{margin:0 0 13px;padding:11px 13px;border:1px solid #eadbbf;border-radius:12px;background:#fff9ef}.dorm-utility-management-note b{display:block;color:#9a6513;font-size:10px}.dorm-utility-management-note p{margin:4px 0 0;color:#7c6b50;font-size:9px;line-height:1.6}
.dorm-utility-person-head.management,.dorm-utility-person-modal article.management{grid-template-columns:minmax(130px,1fr) minmax(130px,1fr) 82px 88px 88px 88px 105px}.utility-room-kpis.management{grid-template-columns:repeat(4,minmax(0,1fr))}.utility-person-head.management,.utility-person-list article.management{grid-template-columns:minmax(135px,1fr) minmax(120px,1fr) 86px 86px 86px 105px}.dorm-person-fee-head.management,.dorm-person-fee-list>article.management{grid-template-columns:minmax(135px,1fr) 70px minmax(125px,1fr) minmax(135px,1.05fr) 80px 80px 80px 100px}.dorm-meter-summary.utility-preview.five{grid-template-columns:repeat(5,minmax(0,1fr))}

@media(max-width:1450px){.occupancy-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.dorm-room-matrix{grid-template-columns:repeat(4,minmax(0,1fr))}.dorm-meter-summary.finance.six{grid-template-columns:repeat(3,minmax(0,1fr))}.dorm-utility-detail-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1100px){.dorm-occupancy-grid{grid-template-columns:1fr}.dorm-room-matrix{grid-template-columns:repeat(3,minmax(0,1fr))}.dorm-template-hero{grid-template-columns:1fr}.dorm-template-status-stack{min-width:0;grid-template-columns:1fr 1fr}.dorm-template-sync-grid{grid-template-columns:1fr}.dorm-sync-rule-grid{grid-template-columns:1fr 1fr}.dorm-meter-summary.utility-preview.five{grid-template-columns:repeat(3,minmax(0,1fr))}.utility-person-list.management{overflow-x:auto}.utility-person-head.management,.utility-person-list article.management{min-width:760px}}
@media(max-width:820px){.occupancy-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dorm-floor-occupancy-bars article{grid-template-columns:95px minmax(80px,1fr) 60px}.dorm-room-matrix{grid-template-columns:repeat(2,minmax(0,1fr))}.dorm-occupancy-grid.recent{grid-template-columns:1fr}.dorm-template-status-stack{grid-template-columns:1fr}.dorm-sync-rule-grid{grid-template-columns:1fr}.dorm-meter-summary.finance.six,.dorm-meter-summary.utility-preview.five{grid-template-columns:repeat(2,minmax(0,1fr))}.dorm-utility-detail-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dorm-utility-person-head.management{display:none}.dorm-utility-person-modal article.management{grid-template-columns:1fr 1fr}.utility-room-kpis.management{grid-template-columns:repeat(2,minmax(0,1fr))}.dorm-person-fee-list>article.management{grid-template-columns:1fr 1fr;min-width:0}}
@media(max-width:560px){.occupancy-kpis{grid-template-columns:1fr 1fr}.dorm-room-matrix{grid-template-columns:1fr}.dorm-floor-occupancy-bars article{grid-template-columns:1fr auto}.dorm-floor-occupancy-bars article>i{grid-column:1/-1;grid-row:2}.dorm-template-hero{padding:16px}.dorm-template-actions{display:grid;grid-template-columns:1fr}.dorm-template-actions .btn{width:100%}}

/* 宿舍费用分层树状展示 */
.utility-floor-tree{display:grid;gap:12px}.utility-floor-finance{overflow:hidden;border:1px solid #dce7f0;border-radius:16px;background:#fff}.utility-floor-finance>summary{display:grid;grid-template-columns:minmax(0,1fr) auto 22px;align-items:center;gap:14px;padding:13px 15px;cursor:pointer;list-style:none;background:linear-gradient(90deg,#f4f9ff,#fffaf3)}.utility-floor-finance>summary::-webkit-details-marker,.utility-room-finance>summary::-webkit-details-marker{display:none}.utility-floor-finance>summary>div b{display:block;color:#244762;font-size:14px}.utility-floor-finance>summary>div small{display:block;margin-top:3px;color:#8294a4;font-size:10px}.utility-floor-finance>summary>span{text-align:right}.utility-floor-finance>summary>span strong{display:block;color:#cf7613;font-size:15px}.utility-floor-finance>summary>span em{display:block;margin-top:3px;color:#7b8d9d;font-size:9px;font-style:normal}.utility-floor-finance>summary>svg{width:15px;transition:transform .2s}.utility-floor-finance[open]>summary>svg{transform:rotate(90deg)}.utility-floor-finance>div{display:grid;gap:9px;padding:10px;background:#fbfdff}
.utility-room-finance{overflow:hidden;border:1px solid #e1e9f0;border-radius:13px;background:#fff}.utility-room-finance>summary{display:grid;grid-template-columns:minmax(0,1fr) auto 20px;align-items:center;gap:10px;padding:11px 13px;cursor:pointer;list-style:none}.utility-room-finance>summary>div b{display:block;color:#294963;font-size:12px}.utility-room-finance>summary>div small{display:block;margin-top:3px;color:#8192a2;font-size:9px}.utility-room-finance>summary>span{text-align:right}.utility-room-finance>summary strong{display:block;color:#1f6fae;font-size:13px}.utility-room-finance>summary em{display:block;margin-top:3px;color:#725bb8;font-size:9px;font-style:normal}.utility-room-finance>summary>svg{width:14px;transition:transform .2s}.utility-room-finance[open]>summary>svg{transform:rotate(90deg)}.utility-room-detail{padding:12px;border-top:1px solid #e8eef3;background:#fcfdff}.utility-room-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}.utility-room-kpis article{padding:10px 11px;border:1px solid #e3ebf2;border-radius:11px;background:#fff}.utility-room-kpis small,.utility-room-kpis b,.utility-room-kpis em{display:block}.utility-room-kpis small{color:#8394a3;font-size:9px}.utility-room-kpis b{margin-top:4px;color:#294b66;font-size:14px}.utility-room-kpis em{margin-top:3px;color:#8797a5;font-size:8px;font-style:normal}.utility-person-list{overflow:hidden;border:1px solid #e1e9f0;border-radius:11px;background:#fff}.utility-person-head,.utility-person-list>article{display:grid;grid-template-columns:minmax(140px,1fr) minmax(130px,1fr) 90px 90px 105px;align-items:center;gap:9px}.utility-person-head{padding:9px 11px;background:#f2f6fa;color:#77899a;font-size:9px;font-weight:800}.utility-person-list>article{padding:10px 11px;border-top:1px solid #edf2f6;color:#526b80;font-size:10px}.utility-person-list b,.utility-person-list small{display:block}.utility-person-list b{color:#2d4d66}.utility-person-list small{margin-top:2px;color:#8b99a6;font-size:8px}.utility-person-list strong{color:#d17a17}.utility-room-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:10px}.utility-sticky-head{align-items:center}
@media(max-width:900px){.utility-floor-finance>summary,.utility-room-finance>summary{grid-template-columns:minmax(0,1fr) 20px}.utility-floor-finance>summary>span,.utility-room-finance>summary>span{grid-column:1/-1;text-align:left}.utility-room-kpis.management{grid-template-columns:repeat(2,minmax(0,1fr))}.utility-room-actions{justify-content:stretch}.utility-room-actions .btn{flex:1}.utility-person-list.management{overflow-x:auto}}


/* ===== V2.6.7.3 领导专属暖心文案 ===== */
.executive-leader-warm{display:grid;gap:7px;margin-top:16px;max-width:780px;padding:14px 16px;border:1px solid rgba(255,243,225,.28);border-radius:16px;background:linear-gradient(135deg,rgba(255,243,229,.18),rgba(255,225,211,.12));box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 8px 24px rgba(12,52,96,.12);backdrop-filter:blur(8px)}
.executive-leader-warm span{display:flex;align-items:center;gap:7px;color:#ffe8be;font-size:11px;font-weight:800;letter-spacing:.45px}.executive-leader-warm span svg{width:14px;height:14px}.executive-leader-warm b{display:block;color:#fffdf8;font-size:15px;line-height:1.8;font-weight:650;letter-spacing:.15px;text-shadow:0 1px 0 rgba(0,0,0,.04)}
@media(max-width:820px){.executive-leader-warm{max-width:none;padding:12px 13px;border-radius:14px}.executive-leader-warm b{font-size:13px;line-height:1.75}}


/* V2.6.7.5 宿舍总览排版优化 */
.occupancy-kpis.refined{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:18px}
.occupancy-kpis.refined article{padding:18px 18px 16px;border-radius:18px;background:linear-gradient(180deg,#fff,#fbfdff);box-shadow:0 4px 12px rgba(31,64,93,.04)}
.occupancy-kpis.refined article.focus{border-top:4px solid #2f83d8}
.occupancy-kpis.refined article.status-summary{border-top:4px solid #e9a735}
.occupancy-kpis.refined small{font-size:12px;color:#6f8395;font-weight:700}
.occupancy-kpis.refined b{margin-top:10px;font-size:22px;color:#1f405d;line-height:1.1}
.occupancy-kpis.refined b em{font-size:12px;margin-left:4px}
.occupancy-kpis.refined span{margin-top:8px;font-size:12px;color:#8495a4;line-height:1.5}
.dorm-occupancy-grid.refined{grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr);gap:18px;margin-bottom:18px}
.dorm-floor-occupancy-bars.refined{gap:12px}
.dorm-floor-occupancy-bars.refined article{grid-template-columns:150px minmax(160px,1fr) 96px;padding:12px 14px;border-radius:14px}
.dorm-floor-occupancy-bars.refined article>div b{font-size:15px}
.dorm-floor-occupancy-bars.refined article>div small{font-size:11px}
.dorm-floor-occupancy-bars.refined article>i{height:10px}
.dorm-floor-occupancy-bars.refined article>span b{font-size:18px}
.dorm-floor-occupancy-bars.refined article>span small{font-size:10px}
.dorm-occupancy-status-grid.refined{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.dorm-occupancy-status-grid.refined article{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:102px;border-radius:18px;border:1px solid #e3ebf3;background:#fbfdff}
.dorm-occupancy-status-grid.refined article.full{background:#f4f9ff;border-color:#cfe0f5}
.dorm-occupancy-status-grid.refined article.partial{background:#fff8ea;border-color:#f4ddad}
.dorm-occupancy-status-grid.refined article.empty{background:#f7f9fb;border-color:#e0e8f0}
.dorm-occupancy-status-grid.refined article.over{background:#fff2f2;border-color:#f3cccc}
.dorm-occupancy-status-grid.refined article b{font-size:28px;color:#1f405d;line-height:1}
.dorm-occupancy-status-grid.refined article span{margin-top:8px;font-size:13px;color:#667b8d;font-weight:700}
.dorm-type-chips.refined{margin-top:14px;display:flex;flex-wrap:wrap;gap:10px}
.dorm-type-chips.refined span{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#f4f8fc;border:1px solid #dfe9f2;color:#5c7285;font-size:12px;font-weight:700}
.dorm-type-chips.refined span b{color:#2f83d8;font-size:12px}
.dorm-occupancy-matrix-panel.compact .section-head{margin-bottom:12px}
.dorm-occupancy-grid.recent.refined{grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:1450px){.occupancy-kpis.refined{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1100px){.dorm-occupancy-grid.refined,.dorm-occupancy-grid.recent.refined{grid-template-columns:1fr}.occupancy-kpis.refined{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.occupancy-kpis.refined{grid-template-columns:1fr}.dorm-floor-occupancy-bars.refined article{grid-template-columns:1fr auto}.dorm-floor-occupancy-bars.refined article>i{grid-column:1/-1;grid-row:2}.dorm-occupancy-status-grid.refined{grid-template-columns:1fr 1fr}}

/* ===== V2.6.24 办公用品管理：台账 + 出入库 ===== */
.office-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px 26px;margin-bottom:16px;border:1px solid #dfe8f2;border-radius:22px;background:linear-gradient(135deg,#f8fbff,#fff 56%,#fff8f0);box-shadow:0 10px 30px rgba(31,78,121,.06)}
.office-hero small{font-size:11px;letter-spacing:.12em;color:#6d89a5;font-weight:800}.office-hero h2{margin:5px 0 7px;font-size:25px;color:#173958}.office-hero p{margin:0;color:#73869a}.office-hero-actions{display:flex;gap:9px;flex-wrap:wrap}
.office-period-bar{display:flex;align-items:center;gap:18px;padding:12px 16px;margin-bottom:12px;border:1px solid #e3ebf3;border-radius:16px;background:#fff}.office-period-bar label{display:flex;align-items:center;gap:10px}.office-period-bar label span{font-size:12px;color:#7b8da0}.office-period-bar input{border:1px solid #dce6ef;border-radius:10px;padding:8px 10px;color:#24445f;background:#f8fafc}.office-period-bar div{display:flex;align-items:baseline;gap:10px}.office-period-bar b{font-size:14px;color:#23435e}.office-period-bar small{color:#8495a6}
.office-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:16px}.office-kpis article{padding:17px 18px;border:1px solid #e3eaf1;border-radius:16px;background:#fff;box-shadow:0 5px 18px rgba(31,78,121,.045)}.office-kpis small{display:block;color:#8798a8;font-size:12px}.office-kpis b{display:block;margin:8px 0 4px;font-size:23px;color:#24445f}.office-kpis em{font-style:normal;font-size:11px;color:#94a3b0}.office-kpis article.warning{background:#fffaf4;border-color:#f2dfc8}.office-kpis article.warning b{color:#d06f19}
.office-dashboard-grid{align-items:stretch}.office-dashboard-grid>.panel{min-height:260px}.office-panel .section-head{margin-bottom:14px}
.office-trend-legend{display:flex;align-items:center;gap:12px;font-size:11px;color:#7d8e9c}.office-trend-legend span{display:flex;align-items:center;gap:5px}.office-trend-legend i{width:8px;height:8px;border-radius:3px;display:block}.office-trend-legend i.in,.office-trend-bars i.in{background:#6aa7df}.office-trend-legend i.out,.office-trend-bars i.out{background:#ed9a52}.office-trend-chart{height:190px;display:grid;grid-template-columns:repeat(12,1fr);gap:7px;align-items:end;padding:10px 4px 0;border-bottom:1px solid #e9eef3}.office-trend-col{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:7px}.office-trend-bars{height:154px;width:100%;display:flex;align-items:flex-end;justify-content:center;gap:3px}.office-trend-bars i{display:block;width:min(12px,42%);min-height:0;border-radius:4px 4px 1px 1px;transition:height .2s ease}.office-trend-col small{font-size:10px;color:#8495a5;white-space:nowrap}
.office-alert-list article,.office-recent article{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid #edf1f5}.office-alert-list article:last-child,.office-recent article:last-child{border-bottom:0}.office-alert-list article>div,.office-recent article>div{flex:1;min-width:0}.office-alert-list b,.office-recent b{display:block;color:#2d4b62}.office-alert-list small,.office-recent small{display:block;color:#8a9aa8;margin-top:3px}.office-alert-list strong{font-size:18px;color:#38546a}.office-alert-list strong em{font-size:11px;font-style:normal;margin-left:3px;color:#8293a1}.office-recent>article>span:first-child{font-size:12px;color:#7f92a3;width:88px}.office-recent strong{font-size:13px;color:#36556d;white-space:nowrap}.office-recent-wide article{grid-template-columns:90px 1fr auto 120px}
.office-ranking article{display:grid;grid-template-columns:26px minmax(90px,180px) 1fr 58px;align-items:center;gap:10px;padding:8px 0}.office-ranking i{font-style:normal;width:24px;height:24px;border-radius:8px;background:#eef4f9;color:#4e6d85;display:grid;place-items:center;font-size:11px}.office-ranking b{font-size:13px;color:#354f63;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.office-ranking span{height:7px;border-radius:999px;background:#edf2f6;overflow:hidden}.office-ranking span em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#72a9dc,#4a8ed1)}.office-ranking strong{text-align:right;color:#3a5c76;font-size:12px}
.office-ops-tabs{display:flex;gap:7px;padding:5px;margin-bottom:14px;width:max-content;max-width:100%;overflow:auto;border:1px solid #e2e9f0;border-radius:13px;background:#f7f9fb}.office-ops-tabs button{border:0;background:transparent;border-radius:9px;padding:9px 16px;color:#6c8092;font-size:12px;font-weight:700;white-space:nowrap;cursor:pointer}.office-ops-tabs button.active{background:#fff;color:#2468a5;box-shadow:0 2px 8px rgba(42,79,112,.09)}
.office-toolbar,.office-ledger-toolbar{display:flex;align-items:center;gap:12px;justify-content:space-between;margin-bottom:13px}.office-toolbar .toolbar-search,.office-ledger-toolbar .toolbar-search{max-width:520px;flex:1}.office-ledger-toolbar select{border:1px solid #dce6ef;border-radius:10px;padding:9px 11px;background:#fff;color:#466176}.office-ledger-toolbar>span,.office-toolbar>span{font-size:12px;color:#8193a2;white-space:nowrap}
.office-table-wrap{width:100%;overflow:auto;border:1px solid #e5ebf0;border-radius:14px}.office-table{width:100%;border-collapse:collapse;min-width:0;background:#fff}.office-table th{position:sticky;top:0;z-index:1;padding:11px 10px;background:#f7fafc;color:#718394;font-size:11px;font-weight:700;border-bottom:1px solid #dde6ee;white-space:nowrap}.office-table td{padding:11px 10px;border-bottom:1px solid #edf1f4;color:#4e6475;font-size:12px;vertical-align:middle}.office-table tr:last-child td{border-bottom:0}.office-table td b{color:#284b64}.office-table td strong{color:#24629b;font-size:13px}.office-stock-table{min-width:0}.office-ledger-table{min-width:0}
.office-mini-warning{display:inline-block;margin-left:6px;padding:2px 5px;border-radius:5px;background:#fff1df;color:#c36b18;font-size:9px;font-weight:700}.office-history-mark{display:inline-block;margin-left:7px;padding:2px 5px;border-radius:5px;background:#f0f3f6;color:#7c8b97;font-size:9px}.office-row-actions{display:flex;gap:5px}.badge.gray{background:#eef2f5!important;color:#748492!important}
.office-transaction-list article{display:grid;grid-template-columns:100px 1fr 130px 130px;gap:14px;align-items:center;padding:13px 4px;border-bottom:1px solid #edf1f4}.office-transaction-list article:last-child{border-bottom:0}.office-transaction-list .office-date{font-size:12px;color:#788b9c}.office-transaction-list b{color:#2d4b62}.office-transaction-list small{display:block;color:#8a99a7;margin-top:3px}.office-transaction-list strong{color:#21845a}.office-transaction-list em{font-style:normal;color:#36576f;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.office-ledger-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;padding:13px 15px;border:1px solid #e4ebf1;border-radius:13px;background:#f8fafc}.office-ledger-footer div{display:flex;flex-direction:column;gap:3px}.office-ledger-footer b{font-size:12px;color:#365268}.office-ledger-footer small{font-size:11px;color:#8293a1}
.office-txn-box{margin:16px 0;padding:14px;border:1px solid #e2e9ef;border-radius:15px;background:#f8fafc}.office-txn-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.office-txn-head b{color:#34546c}.office-txn-row{position:relative;display:grid;grid-template-columns:minmax(220px,2fr) 110px 110px 120px 32px;gap:9px;align-items:end;padding:11px;margin-top:8px;border:1px solid #e3e9ef;border-radius:12px;background:#fff}.office-txn-row>label{display:flex;flex-direction:column;gap:5px}.office-txn-row>label>span{font-size:10px;color:#8394a2}.office-txn-row select,.office-txn-row input{width:100%;border:1px solid #dce5ed;border-radius:9px;padding:8px 9px;background:#fff;color:#3e596e}.office-txn-remove{width:30px;height:34px;border:0;border-radius:9px;background:#f6f1f1;color:#b36c6c;font-size:18px;cursor:pointer}.office-txn-stock{grid-column:1/-1;color:#7f91a0;font-size:10px;line-height:1.4}
.office-stock-init-list{max-height:52vh;overflow:auto;margin:14px 0;border:1px solid #e2e9ef;border-radius:14px}.office-stock-init-list label{display:grid;grid-template-columns:1fr 130px;align-items:center;gap:12px;padding:10px 13px;border-bottom:1px solid #edf1f4}.office-stock-init-list label:last-child{border-bottom:0}.office-stock-init-list label>span{display:flex;flex-direction:column;gap:2px}.office-stock-init-list b{font-size:12px;color:#345268}.office-stock-init-list small{font-size:10px;color:#8b9aa7}.office-stock-init-list input{border:1px solid #dce5ed;border-radius:9px;padding:8px 9px}.office-init-tip{padding:10px 12px;border-radius:11px;background:#f2f7fb;color:#62798b;font-size:11px}
@media(max-width:1300px){.office-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.office-kpis{grid-template-columns:repeat(2,1fr)}.office-hero{align-items:flex-start;flex-direction:column}.office-period-bar{align-items:flex-start;flex-direction:column}.office-trend-chart{gap:3px}.office-txn-row{grid-template-columns:1fr 1fr}.office-txn-row .office-txn-remove{position:absolute;right:7px;top:7px}.office-transaction-list article{grid-template-columns:90px 1fr}.office-transaction-list strong,.office-transaction-list em{text-align:left}.office-ledger-toolbar,.office-toolbar,.office-ledger-footer{align-items:stretch;flex-direction:column}.office-ledger-toolbar .toolbar-search,.office-toolbar .toolbar-search{max-width:none;width:100%}}

/* V2.6.25 办公用品台账智能识别 */
.office-recognize-panel{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(360px,1fr);gap:20px;align-items:center;margin-bottom:16px;padding:22px 24px;border:1px solid #dbe8f4;border-radius:20px;background:linear-gradient(135deg,#f7fbff,#fff 58%,#fff9f1);box-shadow:0 8px 26px rgba(38,79,112,.055)}
.office-recognize-copy{display:flex;align-items:flex-start;gap:14px}.office-recognize-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#eaf4fd;color:#2d75b3;flex:0 0 auto}.office-recognize-icon svg{width:22px;height:22px}.office-recognize-copy small{font-size:10px;letter-spacing:.14em;color:#7c95aa;font-weight:800}.office-recognize-copy h3{margin:4px 0 6px;font-size:20px;color:#234863}.office-recognize-copy p{margin:0;max-width:680px;color:#778b9d;font-size:12px;line-height:1.75}
.office-recognize-steps{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.office-recognize-steps>span{display:grid;grid-template-columns:30px 1fr;grid-template-rows:auto auto;column-gap:9px;padding:11px 12px;border:1px solid #e4ebf2;border-radius:13px;background:rgba(255,255,255,.78)}.office-recognize-steps i{grid-row:1/3;width:28px;height:28px;border-radius:9px;background:#edf4fa;color:#3f789f;display:grid;place-items:center;font-style:normal;font-size:11px;font-weight:800}.office-recognize-steps b{font-size:12px;color:#35546b}.office-recognize-steps small{font-size:10px;color:#8a9aa7;margin-top:2px}
.office-recognize-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:3px}.office-recognize-actions>div{display:flex;flex-direction:column;gap:3px}.office-recognize-actions b{font-size:12px;color:#36546a}.office-recognize-actions small{font-size:10px;color:#8697a6}
.office-recognition-modal{display:flex;flex-direction:column;gap:14px;padding:2px 0}.office-recognition-status{display:flex;align-items:center;gap:12px;padding:13px 15px;border:1px solid #dce8f2;border-radius:14px;background:#f7fbff}.office-recognition-status.matched{border-color:#d8eadf;background:#f7fcf9}.office-recognition-status>span{width:36px;height:36px;border-radius:12px;background:#e7f2fb;color:#3978a8;display:grid;place-items:center}.office-recognition-status.matched>span{background:#e7f5ec;color:#2d8b5d}.office-recognition-status b{display:block;color:#315169;font-size:13px}.office-recognition-status small{display:block;margin-top:3px;color:#8294a3;font-size:11px}
.office-recognition-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}.office-recognition-kpis article{padding:12px;border:1px solid #e4eaf0;border-radius:12px;background:#fff}.office-recognition-kpis small{display:block;color:#8a99a6;font-size:10px}.office-recognition-kpis b{display:block;margin:5px 0 2px;color:#2f536d;font-size:20px}.office-recognition-kpis em{font-style:normal;color:#95a3ae;font-size:9px}
.office-recognition-section{padding:14px 15px;border:1px solid #e4eaf0;border-radius:14px;background:#fff}.office-recognition-section .section-head{margin-bottom:10px}.office-recognition-section h3{font-size:13px;margin:0;color:#345269}.office-field-map{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.office-field-map>span{display:grid;grid-template-columns:28px 1fr;grid-template-rows:auto auto;column-gap:8px;padding:9px 10px;border:1px solid #e4ebf1;border-radius:10px;background:#f9fbfc}.office-field-map i{grid-row:1/3;width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:#edf3f8;color:#56748a;font-size:10px;font-style:normal;font-weight:800}.office-field-map span.ok i{background:#e8f5ec;color:#2f8a5e}.office-field-map span.miss i{background:#fff0e6;color:#c27336}.office-field-map b{font-size:11px;color:#405d72}.office-field-map small{font-size:9px;color:#8f9ca7;margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.office-recognition-facts{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.office-recognition-facts span{padding:8px 10px;border-radius:10px;background:#f7f9fb}.office-recognition-facts small{display:block;color:#8998a5;font-size:9px}.office-recognition-facts b{display:block;margin-top:3px;color:#39576d;font-size:14px}.office-recognition-warnings{display:flex;flex-direction:column;gap:6px;margin-top:10px}.office-recognition-warnings span{display:flex;align-items:center;gap:6px;padding:7px 9px;border-radius:9px;background:#fff8ef;color:#9e6a38;font-size:10px}.office-recognition-warnings svg{width:13px;height:13px;flex:0 0 auto}.office-recognition-clean{display:flex;align-items:center;gap:6px;margin-top:10px;padding:8px 10px;border-radius:9px;background:#f3faf6;color:#43825f;font-size:10px}.office-recognition-clean svg{width:13px;height:13px}.office-recognition-sample{min-width:820px}.office-recognition-sample th,.office-recognition-sample td{padding:8px 9px;font-size:10px}
@media(max-width:1100px){.office-recognize-panel{grid-template-columns:1fr}.office-recognition-kpis{grid-template-columns:repeat(3,1fr)}.office-field-map{grid-template-columns:repeat(2,1fr)}.office-recognition-facts{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.office-recognize-steps{grid-template-columns:1fr}.office-recognize-actions{align-items:stretch;flex-direction:column}.office-recognize-actions .btn{width:100%}.office-recognition-kpis,.office-field-map,.office-recognition-facts{grid-template-columns:repeat(2,1fr)}}

/* ===== V2.6.27 办公用品工作台重构 ===== */
.office-workspace-nav{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 16px;padding:7px 8px;border:1px solid #e1e9f1;border-radius:16px;background:#fff;box-shadow:0 5px 18px rgba(39,75,105,.035)}
.office-workspace-tabs{display:flex;align-items:center;gap:4px;min-width:0}.office-workspace-tabs button{display:flex;align-items:center;gap:7px;padding:9px 15px;border:0;border-radius:11px;background:transparent;color:#6d8193;font-size:12px;font-weight:750;cursor:pointer;transition:.18s ease}.office-workspace-tabs button svg{width:15px;height:15px}.office-workspace-tabs button:hover{background:#f5f8fb;color:#3a627f}.office-workspace-tabs button.active{background:#edf5fc;color:#236da8;box-shadow:inset 0 0 0 1px #d8e9f7}
.office-month-control{display:flex;align-items:center;gap:9px;padding-right:3px;color:#7a8d9e;font-size:11px}.office-month-control input{border:1px solid #dce6ef;border-radius:9px;padding:7px 9px;background:#f8fafc;color:#34536b}
.office-command-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:20px 22px;margin-bottom:14px;border:1px solid #dfe8f0;border-radius:18px;background:linear-gradient(135deg,#fbfdff,#fff 66%,#fffaf4);box-shadow:0 7px 24px rgba(39,75,105,.045)}
.office-command-copy small{display:block;font-size:9px;letter-spacing:.17em;font-weight:800;color:#7893aa}.office-command-copy h2{margin:4px 0 5px;font-size:21px;line-height:1.25;color:#23455e}.office-command-copy p{margin:0;color:#7b8d9d;font-size:11px;line-height:1.65}.office-command-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.office-command-actions .btn{min-height:35px;padding:8px 12px}
.office-health-line{grid-column:1/-1;display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding-top:12px;border-top:1px solid #edf1f5}.office-health-line>span{display:flex;align-items:center;gap:5px;padding:6px 9px;border-radius:9px;font-size:10px;font-weight:700}.office-health-line>span svg{width:13px;height:13px}.office-health-line>span.ok{background:#eff8f3;color:#3d805f}.office-health-line>span.attention{background:#fff7ed;color:#a96b2d}.office-health-line button{border:1px solid #e4eaf0;border-radius:9px;background:#fff;padding:6px 9px;color:#687f91;font-size:10px;cursor:pointer}.office-health-line button:hover{border-color:#cdddea;background:#f8fbfd}.office-health-line button b{margin-left:5px;color:#31566f}
.office-kpis-refined{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.office-kpis-refined article{padding:15px 16px;border-radius:14px;box-shadow:none}.office-kpis-refined b{font-size:22px;margin:6px 0 3px}
.office-dashboard-primary>.panel{min-height:278px}.office-empty-compact{padding:24px 8px;text-align:center;color:#97a5b0;font-size:11px}.office-recent-panel{margin-top:16px}
.office-stock-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-bottom:12px}.office-stock-summary button{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 13px;border:1px solid #e3eaf0;border-radius:12px;background:#fff;color:#667e91;cursor:pointer}.office-stock-summary button:hover{border-color:#cbdbe8;background:#f8fbfd}.office-stock-summary button.warn{background:#fffaf4;border-color:#efdfcc}.office-stock-summary small{font-size:10px}.office-stock-summary b{font-size:17px;color:#2f536d}.office-stock-summary .warn b{color:#c66f23}
.office-filterbar{display:flex;align-items:center;gap:9px;margin-bottom:12px}.office-filterbar .toolbar-search{flex:1;max-width:520px}.office-filterbar select{min-width:128px;border:1px solid #dce5ed;border-radius:9px;padding:8px 10px;background:#fff;color:#486176;font-size:11px}.office-filterbar>span{margin-left:auto;color:#8495a3;font-size:10px;white-space:nowrap}.office-unit-note{display:block;margin-top:3px;color:#8a9ba8;font-size:9px}.office-negative{color:#c94848!important}
.office-list-summary{display:flex;align-items:center;gap:18px;margin:-2px 0 10px;padding:8px 11px;border-radius:10px;background:#f8fafc;color:#7b8d9c;font-size:10px}.office-list-summary b{color:#35566f;font-size:12px}
.office-transaction-actions article{grid-template-columns:92px minmax(180px,1fr) 120px 120px 56px}.office-inline-action{border:0;background:transparent;padding:5px 6px;border-radius:7px;color:#55748b;font-size:10px;cursor:pointer}.office-inline-action:hover{background:#edf4f8}.office-inline-action.danger{color:#b06464}.office-inline-action.danger:hover{background:#fbefef;color:#a24f4f}
.office-pager{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 2px 0;color:#8393a0;font-size:10px}.office-pager>div{display:flex;gap:7px}.office-pager .btn{min-height:31px;padding:6px 11px;font-size:10px}.office-pager .btn:disabled{opacity:.45;cursor:not-allowed}
.office-ledger-syncbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px;padding:13px 15px;border:1px solid #dfe8ef;border-radius:14px;background:#f9fbfd}.office-ledger-syncbar>div:first-child{display:flex;align-items:center;gap:10px;min-width:0}.office-sync-icon{width:34px;height:34px;border-radius:10px;background:#eaf3fa;color:#3876a4;display:grid;place-items:center;flex:0 0 auto}.office-sync-icon svg{width:17px;height:17px}.office-ledger-syncbar b{display:block;color:#35546a;font-size:12px}.office-ledger-syncbar small{display:block;margin-top:2px;color:#8796a3;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:700px}.office-ledger-syncbar .actions{display:flex;gap:7px;flex:0 0 auto}
.office-ledger-note{display:flex;align-items:flex-start;gap:9px;margin-top:12px;padding:10px 12px;border-radius:10px;background:#f7f9fb;color:#718596}.office-ledger-note>span{color:#587a93;display:grid;place-items:center}.office-ledger-note svg{width:15px;height:15px}.office-ledger-note b{display:block;font-size:10px;color:#49677c}.office-ledger-note small{display:block;margin-top:2px;font-size:9px;line-height:1.5}
.office-form-note{display:flex;align-items:flex-start;gap:9px;margin-top:14px;padding:10px 12px;border-radius:10px;background:#f5f8fb;color:#718493;font-size:10px}.office-form-note b{color:#45647a;white-space:nowrap}.office-ops-tabs-refined{margin-bottom:12px;border-color:#e3eaf0;background:#f8fafc}.office-ops-tabs-refined button{padding:8px 15px}
.office-row-actions .icon-button{width:30px;height:30px}.office-row-actions .icon-button svg{width:14px;height:14px}
@media(max-width:1300px){.office-kpis-refined{grid-template-columns:repeat(3,1fr)}.office-stock-summary{grid-template-columns:repeat(3,1fr)}}
@media(max-width:950px){.office-workspace-nav{align-items:stretch;flex-direction:column}.office-workspace-tabs{overflow:auto}.office-month-control{justify-content:space-between}.office-command-card{grid-template-columns:1fr}.office-command-actions{justify-content:flex-start}.office-kpis-refined{grid-template-columns:repeat(2,1fr)}.office-stock-summary{grid-template-columns:repeat(2,1fr)}.office-filterbar{align-items:stretch;flex-direction:column}.office-filterbar .toolbar-search{max-width:none;width:100%}.office-filterbar select{width:100%}.office-filterbar>span{margin-left:0}.office-ledger-syncbar{align-items:stretch;flex-direction:column}.office-ledger-syncbar .actions{width:100%}.office-ledger-syncbar .actions .btn{flex:1}.office-transaction-actions article{grid-template-columns:88px 1fr 100px}.office-transaction-actions em{display:none}}
@media(max-width:620px){.office-kpis-refined,.office-stock-summary{grid-template-columns:1fr}.office-command-actions .btn{flex:1 1 calc(50% - 4px)}.office-health-line{align-items:stretch}.office-health-line button{flex:1 1 calc(50% - 4px)}.office-transaction-actions article{grid-template-columns:1fr}.office-transaction-actions .office-date{font-weight:700}.office-transaction-actions strong,.office-transaction-actions .office-inline-action{justify-self:start}.office-pager{align-items:stretch;flex-direction:column}.office-pager>div .btn{flex:1}.office-ledger-syncbar small{white-space:normal}}

/* ===== V2.6.30 办公用品：大类/型号 + 最小单位入库 + 滚动性能优化 ===== */
.view-officesupplies .topbar{backdrop-filter:none;-webkit-backdrop-filter:none;background:#f9fbfe}
.view-officesupplies .page-transition,.view-officesupplies .hc-lift,.view-officesupplies .office-workspace-nav button,.view-officesupplies .office-panel,.view-officesupplies .office-command-card{animation:none!important;transition:none!important;transform:none!important}
.view-officesupplies .panel,.view-officesupplies .office-command-card,.view-officesupplies .office-workspace-nav{box-shadow:0 2px 10px rgba(39,75,105,.035)}
.view-officesupplies .office-panel,.view-officesupplies .office-command-card,.view-officesupplies .office-stock-summary,.view-officesupplies .office-recent-panel{content-visibility:auto;contain-intrinsic-size:1px 320px;contain:layout paint style}
.view-officesupplies .office-table-wrap{contain:layout paint}
.office-stock-table-v2631 th:nth-child(1){min-width:115px}.office-stock-table-v2631 th:nth-child(2){min-width:145px}.office-stock-table-v2631 th:nth-child(3){min-width:82px}.office-stock-table-v2631 th:nth-child(4){min-width:135px}
.office-unit-simple{color:#8495a3}.office-mini-warning{display:inline-flex;margin-left:6px;padding:2px 5px;border-radius:6px;background:#fff2e7;color:#b56e2b;font-size:8px;font-weight:800}
.office-item-core{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.office-item-core .field{margin:0}.office-item-core .field small{display:block;margin-top:5px;color:#8a99a6;font-size:9px;line-height:1.45}
.office-conversion-input{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:center}.office-conversion-input em{min-width:58px;padding:10px 9px;border-radius:9px;background:#f3f6f9;color:#62798d;font-size:10px;font-style:normal;text-align:center}
.office-item-more,.office-inbound-more{margin-top:12px;border:1px solid #e3eaf0;border-radius:11px;background:#fafcfd}.office-item-more>summary,.office-inbound-more>summary{padding:10px 12px;cursor:pointer;color:#62798b;font-size:10px;font-weight:800}.office-item-more>.formgrid,.office-inbound-more>.formgrid{padding:0 12px 12px}
#modal:has(.office-inbound-form) .modal{width:min(1180px,calc(100vw - 34px));max-height:94vh}
.office-inbound-meta{display:grid;grid-template-columns:180px minmax(220px,1fr) 160px;gap:10px;align-items:end}.office-inbound-meta .field{margin:0}.office-inbound-operator{height:46px;padding:7px 12px;border:1px solid #e0e7ed;border-radius:10px;background:#f7f9fb}.office-inbound-operator small,.office-inbound-operator b{display:block}.office-inbound-operator small{color:#8a98a5;font-size:9px}.office-inbound-operator b{margin-top:3px;color:#38566d;font-size:12px}
.office-inbound-guide{display:flex;align-items:center;gap:9px;margin:12px 0;padding:9px 11px;border-radius:10px;background:#f2f8fd;color:#627b8e;font-size:10px}.office-inbound-guide span{padding:3px 6px;border-radius:6px;background:#dcecf8;color:#3573a2;font-weight:800}.office-inbound-guide b{color:#35566d}.office-inbound-guide em{font-style:normal;color:#7c8f9e}
.office-inbound-box{margin-top:0}.office-inbound-head,.office-inbound-row{display:grid;grid-template-columns:minmax(125px,1.15fr) minmax(120px,1.1fr) 82px 82px 118px 112px 110px 105px 32px;gap:7px;align-items:end}.office-inbound-head{padding:0 8px 7px;color:#8998a6;font-size:9px}.office-inbound-row{position:relative;padding:8px;border-top:1px solid #edf1f4;background:#fff}.office-inbound-row:first-child{border-top:0}.office-inbound-row label{margin:0}.office-inbound-row label>span{display:none}.office-inbound-row input{width:100%;height:38px;border:1px solid #dce5ec;border-radius:8px;padding:0 9px;color:#36546a;background:#fff;outline:none;font-size:10px}.office-inbound-row input:focus{border-color:#7faed3;box-shadow:0 0 0 3px rgba(52,123,176,.08)}
.office-inbound-convert{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px;align-items:center}.office-inbound-convert em{min-width:36px;padding:9px 5px;border-radius:7px;background:#f3f6f8;color:#6c8192;font-size:9px;font-style:normal;text-align:center}.office-inbound-result{height:38px;padding:6px 8px;border-radius:8px;background:#eef7f2;border:1px solid #dcece3}.office-inbound-result small,.office-inbound-result b{display:block}.office-inbound-result small{color:#80998a;font-size:8px}.office-inbound-result b{margin-top:1px;color:#31704e;font-size:11px;white-space:nowrap}.office-inbound-row .office-txn-remove{align-self:center;width:28px;height:28px;border:0;border-radius:8px;background:#f6f8fa;color:#9a6d6d;font-size:16px;cursor:pointer}.office-inbound-row .office-txn-remove:hover{background:#fff0f0;color:#bb5656}
@media(max-width:1050px){#modal:has(.office-inbound-form) .modal{width:min(960px,calc(100vw - 22px))}.office-inbound-head{display:none}.office-inbound-row{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start}.office-inbound-row label>span{display:block;margin-bottom:4px;color:#8495a3;font-size:9px}.office-inbound-result{margin-top:17px}.office-inbound-row .office-txn-remove{position:absolute;right:8px;top:8px}.office-inbound-meta{grid-template-columns:1fr 1fr}.office-inbound-operator{grid-column:1/-1}}
@media(max-width:700px){.office-item-core{grid-template-columns:1fr}.office-inbound-meta{grid-template-columns:1fr}.office-inbound-operator{grid-column:auto}.office-inbound-guide{align-items:flex-start;flex-direction:column}.office-inbound-row{grid-template-columns:1fr 1fr}.office-inbound-result{margin-top:0}.office-inbound-row .office-txn-remove{top:6px}}

/* V2.6.30 入库表单二次收口：卡片化，减少横向字段堆叠 */
.office-inbound-box .office-txn-head{align-items:center}.office-inbound-box .office-txn-head>div{display:grid;gap:2px}.office-inbound-box .office-txn-head small{color:#8a99a6;font-size:9px;font-weight:500}
.office-inbound-box .office-inbound-row{display:block;margin:9px 0;padding:12px;border:1px solid #e5ebf0;border-radius:12px;background:#fff;box-shadow:none}
.office-inbound-box .office-inbound-row:first-child{border-top:1px solid #e5ebf0}
.office-inbound-row-main{position:relative;display:grid;grid-template-columns:minmax(190px,.9fr) minmax(260px,1.35fr) 32px;gap:9px;align-items:end;padding-bottom:10px;border-bottom:1px solid #eef2f5}
.office-inbound-row-units{display:grid;grid-template-columns:minmax(105px,.65fr) minmax(105px,.65fr) minmax(210px,1.25fr) minmax(130px,.8fr) minmax(155px,.9fr);gap:9px;align-items:end;padding-top:10px}
.office-inbound-box .office-inbound-row label{display:block;margin:0}.office-inbound-box .office-inbound-row label>span{display:block;margin:0 0 5px;color:#7c8d9b;font-size:9px;font-weight:700}
.office-inbound-box .office-inbound-row input{height:40px;font-size:11px}
.office-inbound-row-main .office-txn-remove{position:static;align-self:end;width:32px;height:40px;margin:0;background:#f8fafb;color:#9e7474}
.office-inbound-equation{display:grid;grid-template-columns:auto minmax(70px,1fr) auto;gap:6px;align-items:center}.office-inbound-equation small{height:40px;display:flex;align-items:center;gap:4px;padding:0 8px;border-radius:8px;background:#f5f8fa;color:#63798a;font-size:10px;white-space:nowrap}.office-inbound-equation small b{color:#365b76}.office-inbound-equation em{height:40px;display:flex;align-items:center;padding:0 9px;border-radius:8px;background:#f5f8fa;color:#63798a;font-size:10px;font-style:normal;white-space:nowrap}
.office-inbound-box .office-inbound-result{height:40px;padding:5px 9px;border-radius:9px}.office-inbound-box .office-inbound-result small{font-size:8px}.office-inbound-box .office-inbound-result b{font-size:12px}.office-inbound-box .office-inbound-result em{display:block;color:#7d9386;font-size:7px;font-style:normal;line-height:1.1}
.office-inbound-price{margin-top:8px;width:max-content;max-width:220px}.office-inbound-price>summary{cursor:pointer;color:#7a8e9e;font-size:9px;font-weight:700;list-style:none}.office-inbound-price>summary::-webkit-details-marker{display:none}.office-inbound-price[open]{width:220px}.office-inbound-price label{margin-top:7px!important}.office-inbound-price input{height:36px!important}
.office-inbound-history article>strong{color:#2e7651}.office-inbound-history article>div small{white-space:normal}
@media(max-width:1050px){.office-inbound-row-main{grid-template-columns:1fr 1fr 32px}.office-inbound-row-units{grid-template-columns:repeat(2,minmax(0,1fr))}.office-inbound-row-units .office-inbound-convert,.office-inbound-row-units .office-inbound-result{grid-column:span 2}.office-inbound-result{margin-top:0!important}.office-inbound-row-main .office-txn-remove{position:static}}
@media(max-width:700px){.office-inbound-row-main{grid-template-columns:1fr 32px}.office-inbound-model-field{grid-column:1/-1;grid-row:2}.office-inbound-row-main .office-txn-remove{grid-column:2;grid-row:1;align-self:end}.office-inbound-row-units{grid-template-columns:1fr}.office-inbound-row-units .office-inbound-convert,.office-inbound-row-units .office-inbound-result{grid-column:auto}.office-inbound-equation{grid-template-columns:auto minmax(72px,1fr) auto}}

/* V2.6.31 办公用品档案编辑可用性 */
.office-item-more[open]{background:#fbfdff;border-color:#dbe6ef}.office-item-more>.formgrid .field small{display:block;margin-top:5px;color:#8496a5;font-size:9px;line-height:1.45}.office-item-more input:not([readonly]),.office-item-more select{background:#fff;cursor:text}.office-item-more select{cursor:pointer}.office-stock-readonly .office-stock-edit-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.office-stock-readonly input[readonly]{background:#f2f5f7;color:#60788b;cursor:not-allowed}.office-stock-edit-line .btn{height:42px;white-space:nowrap}.office-item-more input:focus,.office-item-more select:focus{border-color:#72abe7;box-shadow:0 0 0 3px rgba(45,126,214,.10);outline:0}@media(max-width:700px){.office-stock-readonly .office-stock-edit-line{grid-template-columns:1fr}.office-stock-edit-line .btn{width:100%}}

/* V2.6.36 办公用品计划性/临时领用 */
.office-issue-mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 14px}.office-issue-mode{appearance:none;border:1px solid #dce8f2;border-radius:15px;background:#fff;padding:15px 16px;display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease}.office-issue-mode:hover{border-color:#b9d4e9;background:#f8fbfe}.office-issue-mode>span{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#eef5fb;color:#3478ad}.office-issue-mode.planned>span{background:#eaf7ef;color:#2f8a5e}.office-issue-mode b{display:block;color:#294e68;font-size:13px}.office-issue-mode small{display:block;margin-top:4px;color:#8495a3;font-size:10px;line-height:1.45}.office-issue-mode em{font-style:normal;font-size:10px;font-weight:700;color:#4f748e;padding:6px 9px;border-radius:9px;background:#f0f5f8}.office-issue-mode.planned em{background:#edf8f1;color:#3d845f}.office-plan-table{min-width:0}.office-plan-table select{width:100%;min-width:210px;border:1px solid #dbe6ee;border-radius:8px;background:#fff;padding:7px 8px;color:#36566d;font-size:10px}.office-plan-table td small{display:block;margin-top:2px;color:#8998a5;font-size:9px}.office-plan-table .badge{white-space:nowrap}
@media(max-width:760px){.office-issue-mode-grid{grid-template-columns:1fr}.office-issue-mode{grid-template-columns:38px 1fr}.office-issue-mode em{grid-column:2;justify-self:start}.office-issue-mode>span{width:38px;height:38px}}


/* V2.6.36 计划性领用可编辑 / 可反复修改 */
.office-plan-editable-table input,.office-plan-editable-table select{min-width:0;width:100%;height:38px;border:1px solid #dbe6f2;border-radius:9px;background:#fff;padding:0 10px;color:#23415f;font:inherit;box-sizing:border-box}
.office-plan-editable-table input:focus,.office-plan-editable-table select:focus{outline:none;border-color:#6da9e8;box-shadow:0 0 0 3px rgba(72,142,218,.1)}
.office-plan-request-item,.office-plan-qty-unit{display:grid;gap:6px}.office-plan-request-item{grid-template-columns:minmax(110px,1fr) minmax(120px,1.15fr)}.office-plan-qty-unit{grid-template-columns:minmax(80px,.8fr) minmax(72px,.7fr)}
.office-record-actions{display:flex;align-items:center;gap:6px;justify-content:flex-end;flex-wrap:wrap}.office-inline-action:not(.danger){color:#1768b3;border-color:#cfe1f4;background:#f5faff}
.office-plan-edit-stock{margin:14px 0;padding:12px 14px;border:1px solid #dfe9f3;border-radius:12px;background:#f7fafc;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.office-plan-edit-stock span{color:#75889b}.office-plan-edit-stock b{color:#1f4c73;font-size:18px}.office-plan-edit-stock em{margin-left:auto;color:#58806a;font-style:normal}.office-plan-edit-stock em.danger{color:#c13e45;font-weight:700}
.office-plan-edit-history{margin:12px 0;border:1px solid #e0e9f2;border-radius:12px;background:#fbfdff;padding:10px 12px}.office-plan-edit-history summary{cursor:pointer;color:#48657e;font-weight:700}.office-plan-edit-history>div{display:grid;gap:8px;margin-top:10px}.office-plan-edit-history article{padding:9px 10px;border-radius:9px;background:#f3f7fb;display:grid;gap:4px}.office-plan-edit-history article b{font-size:12px;color:#46637c}.office-plan-edit-history article small{color:#718497;line-height:1.5}
@media(max-width:1100px){.office-plan-request-item,.office-plan-qty-unit{grid-template-columns:1fr}}


/* V2.6.58 领导总览日期控件稳定右上定位版 */
.executive-clean-hero{position:relative;overflow:hidden;isolation:isolate;display:block;min-height:362px;margin-bottom:18px;padding:32px 36px 30px;border-radius:24px;background:#083c79;box-shadow:0 18px 42px rgba(6,65,126,.14)}
.executive-hero-with-media{padding-right:36px}
.executive-clean-copy{position:relative;z-index:2;width:min(58%,760px);max-width:none;padding:0}
.executive-hero-topline{display:flex;align-items:center;justify-content:flex-start;gap:22px;margin-bottom:18px}
.executive-clean-copy>.executive-hero-topline>small{display:inline-flex;align-items:center;gap:8px;color:#b8e3ff;font-size:11px;font-weight:800;letter-spacing:1.2px;white-space:nowrap;padding-top:5px}
.executive-clean-copy h2{margin:0 0 10px;font-size:32px;line-height:1.16;letter-spacing:-.55px;max-width:640px}
.executive-clean-copy>p{margin:0;color:rgba(255,255,255,.86);font-size:13px;line-height:1.6}
.executive-clean-hero-bg{position:absolute;inset:0;pointer-events:none;z-index:0;display:block;width:100%;height:100%}
.executive-clean-hero-bg img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;object-position:center center;opacity:1;filter:saturate(1.03) brightness(.96) contrast(1.02)}
.executive-clean-hero-bg::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(8,60,121,.92) 0%,rgba(8,60,121,.88) 12%,rgba(8,60,121,.82) 24%,rgba(8,60,121,.72) 38%,rgba(8,60,121,.56) 52%,rgba(8,60,121,.34) 68%,rgba(8,60,121,.14) 84%,rgba(8,60,121,.02) 100%)}
.executive-clean-hero-bg::after{content:"";position:absolute;inset:0;z-index:1;background:radial-gradient(circle at 26% 38%,rgba(71,152,226,.12) 0%,rgba(71,152,226,0) 28%),linear-gradient(180deg,rgba(3,33,66,.14) 0%,rgba(3,33,66,.04) 38%,rgba(3,33,66,.18) 100%)}
.executive-clean-hero > :not(.executive-clean-hero-bg){position:relative;z-index:2}
.executive-period-floating{position:absolute;top:22px!important;right:34px!important;left:auto!important;z-index:4;transform:none!important}
.executive-period-compact{display:grid!important;grid-template-columns:30px minmax(132px,1fr) 30px!important;align-items:center;gap:6px;min-width:216px!important;width:236px;padding:6px 7px!important;border:1px solid rgba(222,242,255,.16)!important;border-radius:999px!important;background:linear-gradient(180deg,rgba(6,49,95,.34),rgba(7,45,87,.24))!important;box-shadow:0 14px 32px rgba(2,28,58,.22),inset 0 1px 0 rgba(255,255,255,.10)!important;backdrop-filter:blur(14px)}
.executive-period-compact .icon-button{width:30px!important;height:30px!important;border:1px solid rgba(255,255,255,.10)!important;border-radius:999px!important;background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.08))!important;color:#f4fbff!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.12)!important}
.executive-period-compact .icon-button:hover{background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.10))!important;border-color:rgba(255,255,255,.16)!important}
.executive-period-compact .period-current{height:38px!important;min-width:0!important;padding:3px 16px!important;border:1px solid rgba(255,255,255,.70)!important;border-radius:999px!important;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(242,248,255,.96))!important;box-shadow:0 4px 14px rgba(10,48,87,.10)!important}
.executive-period-compact .period-current b{font-size:10px!important;line-height:1.1!important;color:#0b4e90!important;font-weight:800!important;letter-spacing:.1px!important}
.executive-period-compact .period-current span{margin-top:1px!important;font-size:8px!important;line-height:1.1!important;color:#778ba0!important;letter-spacing:.08px!important}
.executive-leader-warm{display:grid;gap:6px;margin-top:22px;max-width:640px;padding:11px 0 11px 16px;border:0;border-left:2px solid rgba(255,216,145,.92);border-radius:0;background:linear-gradient(90deg,rgba(255,255,255,.10) 0%,rgba(255,255,255,.06) 48%,rgba(255,255,255,0) 100%);box-shadow:none;backdrop-filter:none}
.executive-leader-warm span{display:flex;align-items:center;gap:7px;color:#ffe3ac;font-size:10px;font-weight:800;letter-spacing:.45px}
.executive-leader-warm b{display:block;color:rgba(255,255,255,.97);font-size:14px;line-height:1.72;font-weight:600;letter-spacing:.05px;text-shadow:0 1px 2px rgba(0,0,0,.10)}
.executive-clean-tags{display:flex;flex-wrap:wrap;gap:14px;margin-top:22px}
.executive-clean-tags span{display:inline-flex;align-items:center;gap:6px;padding:0;border:0;background:transparent;color:rgba(255,255,255,.82);font-size:10px}
.executive-clean-tags span+span{position:relative;padding-left:14px}
.executive-clean-tags span+span::before{content:"";position:absolute;left:0;top:50%;width:3px;height:3px;border-radius:50%;background:rgba(255,255,255,.46);transform:translateY(-50%)}
@media(max-width:1280px){.executive-clean-hero{min-height:346px;padding:30px 32px 28px}.executive-clean-copy{width:min(62%,760px)}.executive-clean-copy h2{font-size:29px}.executive-period-floating{top:20px!important;right:28px!important;left:auto!important}.executive-clean-hero-bg::before{background:linear-gradient(90deg,rgba(8,60,121,.94) 0%,rgba(8,60,121,.90) 16%,rgba(8,60,121,.82) 30%,rgba(8,60,121,.68) 46%,rgba(8,60,121,.46) 64%,rgba(8,60,121,.20) 82%,rgba(8,60,121,.03) 100%)}}
@media(max-width:980px){.executive-clean-hero{min-height:430px;padding:26px 24px 154px}.executive-hero-with-media{padding-right:24px}.executive-clean-copy{width:100%;max-width:none}.executive-period-floating{position:relative;top:auto;right:auto;margin:0 0 14px;width:max-content;max-width:100%}.executive-clean-hero-bg img{object-position:center 42%}.executive-clean-hero-bg::before{background:linear-gradient(180deg,rgba(8,60,121,.94) 0%,rgba(8,60,121,.86) 32%,rgba(8,60,121,.72) 52%,rgba(8,60,121,.42) 74%,rgba(8,60,121,.10) 100%)}.executive-clean-copy h2{font-size:27px}.executive-leader-warm{max-width:none}.executive-clean-tags{gap:10px}}
@media(max-width:640px){.executive-clean-hero{min-height:448px;padding:22px 18px 150px;border-radius:18px}.executive-hero-topline{display:grid;gap:12px}.executive-period-floating{width:100%;max-width:320px}.executive-period-compact{width:100%;max-width:320px}.executive-clean-copy h2{font-size:24px}.executive-clean-copy>p{font-size:12px}.executive-leader-warm{margin-top:17px;padding-left:12px}.executive-leader-warm b{font-size:13px}.executive-clean-tags span+span{padding-left:10px}}


/* ===== V2.6.58 领导总览日期控件：强制锚定显示区右上角 =====
   说明：父级通用选择器曾以更高 specificity 将控件改回 relative，
   导致日期控件出现在左上内容流。此处使用父子选择器 + !important 明确覆盖。 */
@media (min-width:0){
  .executive-clean-hero > .executive-period-floating{
    position:absolute!important;
    top:24px!important;
    right:28px!important;
    bottom:auto!important;
    left:auto!important;
    margin:0!important;
    z-index:6!important;
    transform:none!important;
  }
}
@media (max-width:980px){
  .executive-clean-hero > .executive-period-floating{
    position:relative!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    margin:0 0 14px 0!important;
    z-index:4!important;
    transform:none!important;
  }
}

/* V2.6.72 多领导看板授权（保留月度工作双负责人逐项确认·协作人可选无） */
.monthly-template-lock{display:flex;align-items:center;gap:14px;margin:0 0 15px;padding:15px 18px;border:1px solid #cfe0f3;border-radius:16px;background:linear-gradient(135deg,#f5f9ff,#fbfdff);box-shadow:0 8px 24px rgba(24,72,120,.04)}
.monthly-template-lock>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#e8f2ff;color:#286fbd;flex:0 0 auto}.monthly-template-lock>span svg{width:19px;height:19px}.monthly-template-lock>div{min-width:0;flex:1}.monthly-template-lock b{display:block;color:#244663;font-size:14px}.monthly-template-lock p{margin:5px 0 0;color:#72869a;font-size:12px;line-height:1.7}.monthly-template-lock em{font-style:normal;font-size:10px;font-weight:800;letter-spacing:.08em;color:#5686b6;background:#fff;border:1px solid #dce8f4;border-radius:99px;padding:7px 10px;white-space:nowrap}
.monthly-upload-panel{margin-bottom:15px}.monthly-plan-upload{display:flex;align-items:center;justify-content:center;gap:12px;min-height:94px;border:1px dashed #8bb6e7;border-radius:15px;background:#f6faff;color:#2b6fb9;cursor:pointer;transition:.18s ease}.monthly-plan-upload:hover{border-color:#4e94df;background:#f0f7ff;transform:translateY(-1px)}.monthly-plan-upload>svg{width:25px;height:25px}.monthly-plan-upload span{display:flex;flex-direction:column;gap:4px}.monthly-plan-upload b{font-size:14px}.monthly-plan-upload small{font-size:11px;color:#8296aa}.monthly-plan-upload input{display:none}
.monthly-plan-filemeta{display:grid;grid-template-columns:2fr 1fr 1.2fr 1.2fr;gap:10px;margin-top:13px}.monthly-plan-filemeta>div{padding:12px 14px;border:1px solid #e2eaf2;border-radius:12px;background:#fff}.monthly-plan-filemeta small,.monthly-plan-filemeta b{display:block}.monthly-plan-filemeta small{color:#8a9bad;font-size:10px}.monthly-plan-filemeta b{margin-top:5px;color:#314e69;font-size:12px;line-height:1.45}
.monthly-plan-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:13px}.monthly-plan-summary article{padding:13px 14px;border:1px solid #e1eaf3;border-radius:12px;background:#fff}.monthly-plan-summary small,.monthly-plan-summary b,.monthly-plan-summary em{display:block}.monthly-plan-summary small{font-size:10px;color:#8798aa}.monthly-plan-summary b{margin:5px 0 2px;font-size:23px;line-height:1.1;color:#25455f}.monthly-plan-summary b.warning{color:#c27b18}.monthly-plan-summary b.danger{color:#c85757}.monthly-plan-summary em{font-style:normal;font-size:10px;color:#9aa8b6;line-height:1.35}
.monthly-preview-panel{overflow:hidden}.monthly-plan-table-wrap{margin-top:14px;border:1px solid #e1e9f1;border-radius:14px;overflow:auto;max-height:62vh;background:#fff}.monthly-plan-table{width:100%;min-width:0;border-collapse:collapse}.monthly-plan-table th{position:sticky;top:0;z-index:2;padding:11px 12px;background:#f7faff;border-bottom:1px solid #dfe8f1;color:#72869a;font-size:11px;text-align:left;white-space:nowrap}.monthly-plan-table td{padding:12px;border-bottom:1px solid #edf2f6;vertical-align:top;color:#405a72;font-size:12px}.monthly-plan-table tr:last-child td{border-bottom:0}.monthly-plan-table tr.needs-confirm{background:#fffdf7}.monthly-plan-table tr.has-error{background:#fff9f9}.monthly-plan-table tr.is-duplicate{background:#fafbfc;opacity:.78}.monthly-plan-table td>b,.monthly-plan-table td>small{display:block}.monthly-plan-table td>b{color:#294760;line-height:1.45}.monthly-plan-table td>small{margin-top:4px;color:#91a0af;font-size:10px;line-height:1.5;max-width:360px}.monthly-plan-table td:nth-child(3){min-width:350px}.monthly-plan-table td:nth-child(6){min-width:190px}.monthly-plan-table select{width:100%;min-width:170px;height:36px;border:1px solid #d6e2ed;border-radius:9px;background:#fff;padding:0 9px;color:#36516a}.monthly-key-mark{color:#a26d1d!important}.monthly-tbd{color:#b27620!important}.monthly-status{display:inline-flex;align-items:center;border-radius:99px;padding:5px 9px;font-size:10px;font-weight:800;background:#f1f4f7;color:#6f8294}.monthly-status.done{background:#ebf8f1;color:#25835d}.monthly-status.doing{background:#eef5ff;color:#3779c3}.monthly-status.danger{background:#fff0ef;color:#c45750}.monthly-owner-choice-btn,.monthly-owner-rechoose{border:0;background:none;color:#2c79c7;font:inherit;font-weight:800;cursor:pointer;padding:0}.monthly-owner-choice-btn{display:flex;align-items:center;gap:5px}.monthly-owner-choice-btn svg{width:14px;height:14px}.monthly-owner-rechoose{display:block;margin-top:5px;font-size:10px;font-weight:600}.monthly-validation{display:inline-flex;align-items:center;gap:5px;border-radius:99px;padding:6px 9px;font-size:10px;font-weight:800;white-space:nowrap}.monthly-validation svg{width:13px;height:13px}.monthly-validation.good{background:#eaf8f1;color:#24815c}.monthly-validation.warning{background:#fff6e6;color:#a66d15}.monthly-validation.danger{background:#fff0f0;color:#bd5151}.monthly-validation.muted{background:#f0f2f4;color:#778695}.monthly-plan-footer-note{display:flex;align-items:center;gap:7px;margin-top:12px;padding:11px 13px;border:1px solid #f0d7aa;border-radius:11px;background:#fff9ee;color:#8b6828;font-size:11px}.monthly-plan-footer-note.ready{border-color:#cde4d7;background:#f0faf4;color:#2a7758}.monthly-plan-footer-note svg{width:15px;height:15px}
.monthly-owner-choice-note{display:flex;align-items:center;gap:8px;padding:12px 14px;border:1px solid #d9e7f5;border-radius:11px;background:#f4f9ff;color:#58738d;font-size:12px}.monthly-owner-choice-note svg{width:17px;height:17px;color:#357ecb}.monthly-owner-candidates{display:grid;gap:10px;margin-top:14px}.monthly-owner-candidates label{display:grid;grid-template-columns:auto 38px 1fr auto;align-items:center;gap:11px;padding:12px 13px;border:1px solid #dfe8f1;border-radius:12px;background:#fff;cursor:pointer}.monthly-owner-candidates label:has(input:checked){border-color:#75ace5;background:#f4f9ff;box-shadow:0 0 0 3px rgba(46,124,205,.08)}.monthly-owner-candidates input{width:17px;height:17px}.monthly-owner-candidates .avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#e9f2fc;color:#3377bc;font-size:11px;font-weight:800}.monthly-owner-candidates b,.monthly-owner-candidates small{display:block}.monthly-owner-candidates b{color:#294963;font-size:13px}.monthly-owner-candidates small{margin-top:3px;color:#8a9cac;font-size:10px}.monthly-owner-candidates em{font-style:normal;font-size:10px;color:#6d8297}.monthly-owner-affected{margin-top:14px;padding:12px 14px;border:1px solid #edf1f5;border-radius:11px;background:#fbfcfd}.monthly-owner-affected>b,.monthly-owner-affected>span,.monthly-owner-affected>small{display:block}.monthly-owner-affected>b{margin-bottom:6px;color:#455f77;font-size:11px}.monthly-owner-affected>span{padding:3px 0;color:#6d8092;font-size:10px;line-height:1.4}.monthly-owner-affected>small{margin-top:5px;color:#9aa7b5;font-size:10px}
@media(max-width:1100px){.monthly-plan-filemeta{grid-template-columns:1fr 1fr}.monthly-plan-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.monthly-template-lock{align-items:flex-start;padding:13px}.monthly-template-lock em{display:none}.monthly-plan-filemeta,.monthly-plan-summary{grid-template-columns:1fr 1fr}.monthly-plan-upload{min-height:84px}.monthly-plan-table-wrap{max-height:65vh}.monthly-owner-candidates label{grid-template-columns:auto 34px 1fr}.monthly-owner-candidates em{grid-column:3}.monthly-preview-panel .draft-head{align-items:flex-start;gap:10px}.monthly-preview-panel .draft-head>.actions{width:100%}.monthly-preview-panel .draft-head .btn{width:100%}}

/* V2.6.72 月度工作自适应识别（功能保留） */
.monthly-template-lock.adaptive{border-color:#d7e3ef;background:linear-gradient(135deg,#f8fbff,#f4f8fc)}
.monthly-template-lock.adaptive>span{background:#edf4fb;color:#3976ad}
.monthly-adaptive-map{margin-top:14px;padding:15px;border:1px solid #e0e9f2;border-radius:14px;background:#fbfdff}
.monthly-adaptive-map.confirmed{border-color:#cfe4da;background:#fbfefc}
.monthly-adaptive-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:13px}
.monthly-adaptive-head>div{display:flex;align-items:flex-start;gap:10px;min-width:0}.monthly-adaptive-head>div>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#eaf3fc;color:#3478bb;flex:0 0 auto}.monthly-adaptive-head svg{width:17px;height:17px}.monthly-adaptive-head b{display:block;color:#294963;font-size:13px}.monthly-adaptive-head p{margin:4px 0 0;color:#8093a5;font-size:11px;line-height:1.6}.monthly-adaptive-head em{font-style:normal;white-space:nowrap;border-radius:99px;padding:6px 9px;background:#fff3df;color:#9a681d;font-size:10px;font-weight:800}.monthly-adaptive-map.confirmed .monthly-adaptive-head em{background:#eaf7f0;color:#29775a}
.monthly-map-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.monthly-map-field{display:flex;flex-direction:column;gap:6px;padding:10px;border:1px solid #e6edf4;border-radius:11px;background:#fff}.monthly-map-field>span{display:flex;align-items:center;gap:6px;color:#526c83;font-size:11px;font-weight:800}.monthly-map-field em{font-style:normal;border-radius:99px;padding:2px 5px;background:#fff1e8;color:#b45d28;font-size:9px}.monthly-map-field select{width:100%;height:35px;border:1px solid #d8e3ed;border-radius:8px;background:#fff;padding:0 8px;color:#38536b;font-size:11px}.monthly-map-field small{font-size:9px}.monthly-map-field small.confidence-high{color:#34815f}.monthly-map-field small.confidence-mid{color:#9b731f}.monthly-map-field small.confidence-low{color:#bd5b5b}
.monthly-map-actions{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:12px}.monthly-period-confirm{display:grid;grid-template-columns:auto 150px auto;align-items:center;gap:8px;min-width:0}.monthly-period-confirm>span{color:#60778d;font-size:11px;font-weight:800}.monthly-period-confirm input{height:36px;border:1px solid #d7e2ec;border-radius:9px;padding:0 9px;background:#fff;color:#38536b}.monthly-period-confirm small{grid-column:1/-1;color:#8da0b1;font-size:9px;line-height:1.45}.monthly-period-confirm.warning small{color:#aa7429}.monthly-period-confirm.ok small{color:#4d806a}.monthly-date-edit{width:145px;height:35px;border:1px solid #d7e2ec;border-radius:8px;padding:0 8px;background:#fff;color:#38536b}
@media(max-width:900px){.monthly-map-grid{grid-template-columns:1fr 1fr}.monthly-map-actions{align-items:stretch;flex-direction:column}.monthly-period-confirm{grid-template-columns:auto 1fr auto}.monthly-map-actions>.btn{width:100%}}
@media(max-width:620px){.monthly-map-grid{grid-template-columns:1fr}.monthly-period-confirm{grid-template-columns:1fr}.monthly-period-confirm small{grid-column:auto}.monthly-period-confirm .btn{width:100%}}

/* V2.6.72 任务明细：月份 / 周 / 部门组合筛选 */
.task-detail-filterbar{display:grid;grid-template-columns:minmax(175px,.72fr) minmax(230px,1fr) minmax(175px,.75fr) minmax(210px,1fr) auto;align-items:end;gap:10px;margin-bottom:14px;background:rgba(247,250,253,.96)}
.task-detail-filterbar>label{display:flex;flex-direction:column;gap:6px;min-width:0}.task-detail-filterbar>label>span{display:flex;align-items:center;gap:6px;color:#71859a;font-size:10px;font-weight:800}.task-detail-filterbar>label>span .ui-icon{width:14px;height:14px;color:#2c76cb}
.task-detail-filterbar input,.task-detail-filterbar select{width:100%;height:42px;border:1px solid #dce6f0;border-radius:10px;background:#fff;padding:0 11px;color:#284863;font-size:12px;outline:none}.task-detail-filterbar input:focus,.task-detail-filterbar select:focus{border-color:#75a9e3;box-shadow:0 0 0 3px rgba(31,111,207,.08)}.task-detail-filterbar select:disabled{background:#f3f6f9;color:#92a2b3;cursor:not-allowed}
.task-detail-period-summary{height:42px;display:flex;align-items:center;gap:8px;min-width:0;padding:0 12px;border:1px solid #e1e9f1;border-radius:10px;background:#f5f8fb;color:#567087}.task-detail-period-summary small{font-size:9px;color:#8496a8;white-space:nowrap}.task-detail-period-summary b{font-size:11px;color:#21496f;white-space:nowrap}.task-detail-period-summary span{font-size:9px;color:#8496a8;white-space:nowrap}.task-detail-count{align-self:center;white-space:nowrap}
@media(max-width:1250px){.task-detail-filterbar{grid-template-columns:repeat(3,minmax(0,1fr))}.task-detail-period-summary{grid-column:1/3}.task-detail-count{justify-self:end}}
@media(max-width:760px){.task-detail-filterbar{grid-template-columns:1fr!important;align-items:stretch}.task-detail-period-summary{grid-column:auto;height:auto;min-height:42px;flex-wrap:wrap}.task-detail-count{justify-self:start}.task-detail-filterbar>label>span{font-size:11px}.task-detail-filterbar input,.task-detail-filterbar select{height:44px}}

/* V2.6.72 人员分析：月份 / 周 / 部门 / 人员组合筛选 */
.person-detail-filterbar{display:grid;grid-template-columns:minmax(165px,.72fr) minmax(225px,1fr) minmax(165px,.72fr) minmax(210px,.92fr) minmax(280px,1.25fr) auto;align-items:end;gap:10px;margin-bottom:14px;padding:12px 13px;border:1px solid #dce7f2;border-radius:15px;background:rgba(247,250,253,.97);box-shadow:0 8px 24px rgba(42,79,118,.05)}
.person-detail-filterbar>label{display:flex;flex-direction:column;gap:6px;min-width:0}.person-detail-filterbar>label>span{display:flex;align-items:center;gap:6px;color:#71859a;font-size:10px;font-weight:800}.person-detail-filterbar>label>span .ui-icon{width:14px;height:14px;color:#2c76cb}
.person-detail-filterbar input,.person-detail-filterbar select{width:100%;height:42px;border:1px solid #dce6f0;border-radius:10px;background:#fff;padding:0 11px;color:#284863;font-size:12px;outline:none}.person-detail-filterbar input:focus,.person-detail-filterbar select:focus{border-color:#75a9e3;box-shadow:0 0 0 3px rgba(31,111,207,.08)}.person-detail-filterbar select:disabled{background:#f3f6f9;color:#92a2b3;cursor:not-allowed}
.person-detail-search input{padding-left:12px}.person-detail-filter-actions{display:flex;align-items:center;gap:8px;justify-content:flex-end}.person-detail-filter-actions .btn{height:42px;white-space:nowrap}
.person-period-hero-summary{min-width:210px;padding:12px 16px;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:rgba(0,34,74,.22);backdrop-filter:blur(8px);display:flex;flex-direction:column;gap:3px;text-align:right}.person-period-hero-summary small{color:#bfe2ff;letter-spacing:0}.person-period-hero-summary b{font-size:14px;color:#fff}.person-period-hero-summary span{font-size:11px;color:rgba(255,255,255,.76)}
@media(max-width:1500px){.person-detail-filterbar{grid-template-columns:repeat(3,minmax(0,1fr))}.person-detail-search{grid-column:1/3}.person-detail-filter-actions{justify-content:flex-end}}
@media(max-width:900px){.person-detail-filterbar{grid-template-columns:repeat(2,minmax(0,1fr))}.person-detail-search{grid-column:1/-1}.person-detail-filter-actions{grid-column:1/-1;justify-content:flex-start}.person-period-hero-summary{width:100%;text-align:left;min-width:0}}
@media(max-width:640px){.person-detail-filterbar{grid-template-columns:1fr!important;align-items:stretch}.person-detail-search,.person-detail-filter-actions{grid-column:auto}.person-detail-filter-actions{display:grid;grid-template-columns:1fr}.person-detail-filter-actions .btn{width:100%;justify-content:center}.person-detail-filterbar>label>span{font-size:11px}.person-detail-filterbar input,.person-detail-filterbar select{height:44px}}

/* V2.6.72 任务明细筛选区强化：月份 / 周 / 部门始终明确可见 */
.task-detail-filter-panel{margin-bottom:14px;padding:14px 15px 15px;border:1px solid #d8e5f2;background:linear-gradient(180deg,#fbfdff 0%,#f6faff 100%);box-shadow:0 10px 28px rgba(35,79,125,.055)}
.task-detail-filter-head{margin-bottom:12px}.task-detail-filter-head h3{display:flex;align-items:center;gap:7px}.task-detail-filter-head h3 .ui-icon{width:17px;height:17px;color:#2776cb}.task-detail-filter-head .btn{height:36px}
.task-detail-filter-panel .task-detail-filterbar{margin:0;padding:0;background:transparent;box-shadow:none;border:0}
.task-detail-result-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:2px 2px 10px;padding:0 2px}.task-detail-result-head>div{display:flex;align-items:baseline;gap:9px;min-width:0}.task-detail-result-head b{color:#214766;font-size:13px}.task-detail-result-head span{color:#8294a5;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-detail-result-head em{font-style:normal;color:#2473c8;background:#edf5ff;border:1px solid #d8e8fb;border-radius:999px;padding:5px 10px;font-size:10px;font-weight:800;white-space:nowrap}
@media(max-width:760px){.task-detail-filter-panel{padding:12px}.task-detail-filter-head{align-items:flex-start;gap:10px}.task-detail-filter-head .btn{width:100%}.task-detail-result-head>div{display:grid;gap:2px}.task-detail-result-head span{white-space:normal}}

/* V2.6.76 领导工作分析：默认保留领导总览，授权领导可切换“我的工作记录” */

/* V2.6.76 · 报表周期口径、任务状态与管理文案统一优化 */
/* V2.6.76 · 新建任务统一 0% 初始进度 */
.task-initial-progress{min-height:42px;border:1px solid #dbe5ef;border-radius:10px;background:#f6f9fc;display:flex;align-items:center;gap:10px;padding:0 12px}.task-initial-progress b{font-size:15px;color:#1f68c5}.task-initial-progress small{font-size:9px;color:#8192a5}


/* V2.6.80 · 品牌部首页节日 / 节气宣发提醒 */
.brand-poster-dashboard-card{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;margin:0 0 15px;padding:17px 18px;overflow:hidden;border:1px solid #d9e7f4;border-radius:18px;background:linear-gradient(135deg,#fff 0%,#f8fbff 55%,#fff8ee 100%);box-shadow:var(--card-shadow)}
.brand-poster-dashboard-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,#1671d9,#f0a33b)}
.brand-poster-dashboard-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:15px;background:linear-gradient(145deg,#eaf4ff,#fff5e7);color:#176fd0;box-shadow:inset 0 0 0 1px rgba(34,111,194,.10)}
.brand-poster-dashboard-icon .ui-icon{width:24px;height:24px}
.brand-poster-dashboard-main{min-width:0}.brand-poster-dashboard-eyebrow{display:flex;align-items:center;gap:9px;margin-bottom:5px}.brand-poster-dashboard-eyebrow b{color:#597186;font-size:9px;letter-spacing:.04em}.brand-poster-dashboard-eyebrow span{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border-radius:999px;background:#fff0dc;color:#a76709;font-size:9px;font-weight:800}.brand-poster-dashboard-main h3{margin:0;color:#173b5b;font-size:16px;line-height:1.35}.brand-poster-dashboard-main p{margin:5px 0 0;color:#768b9e;font-size:9px}.brand-poster-dashboard-flow{display:flex;align-items:center;gap:7px;margin-top:10px;color:#547087;font-size:8px;font-weight:700;white-space:nowrap}.brand-poster-dashboard-flow i{width:16px;height:1px;background:#cddbe7}.brand-poster-dashboard-side{display:grid;justify-items:end;gap:9px;min-width:170px}.brand-poster-dashboard-side small{color:#8899a8;font-size:8px}.brand-poster-dashboard-side .btn{min-height:36px}.brand-poster-dashboard-side .btn .ui-icon{width:14px;height:14px}
@media(max-width:820px){.brand-poster-dashboard-card{grid-template-columns:auto minmax(0,1fr);align-items:start;padding:15px}.brand-poster-dashboard-side{grid-column:1/-1;display:flex;width:100%;align-items:center;justify-content:space-between;justify-items:stretch;min-width:0;padding-left:66px}.brand-poster-dashboard-flow{overflow-x:auto;padding-bottom:2px}.brand-poster-dashboard-side .btn{flex:none}}
@media(max-width:520px){.brand-poster-dashboard-icon{width:44px;height:44px;border-radius:13px}.brand-poster-dashboard-main h3{font-size:14px}.brand-poster-dashboard-flow{gap:5px}.brand-poster-dashboard-flow i{width:10px}.brand-poster-dashboard-side{padding-left:0;display:grid;justify-items:stretch}.brand-poster-dashboard-side .btn{width:100%}}


/* V2.6.80 · 高频页面交互逻辑统一优化 */
.dashboard-drill{position:relative;width:100%;font:inherit;text-align:left;color:inherit;cursor:pointer;appearance:none;-webkit-appearance:none;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important}
.dashboard-drill:hover{border-color:#c6dbef!important}.dashboard-drill:focus-visible{outline:3px solid rgba(35,116,218,.18);outline-offset:2px}.stat-drill-hint{position:absolute;right:15px;bottom:14px;display:inline-flex;align-items:center;gap:4px;color:#7590aa;font-size:9px;font-style:normal;font-weight:800;opacity:.72}.stat-drill-hint .ui-icon{width:11px;height:11px}.dashboard-drill:hover .stat-drill-hint{color:#256fc5;opacity:1}
.task-filter-state{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;padding:10px 12px;border:1px solid #e0e9f2;border-radius:12px;background:#fbfcfe;color:#74889b}.task-filter-state.active{border-color:#cfe0f2;background:linear-gradient(90deg,#f4f9ff,#fbfdff)}.task-filter-state>div{display:flex;align-items:center;gap:7px;min-width:0;flex-wrap:wrap}.task-filter-state span{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:800;color:#617b94}.task-filter-state span .ui-icon{width:13px;height:13px;color:#2776ca}.task-filter-state b{display:inline-flex;align-items:center;min-height:26px;padding:0 9px;border:1px solid #d8e5f1;border-radius:999px;background:#fff;color:#315a80;font-size:9px}.task-filter-state em{font-style:normal;font-size:9px;color:#8ba0b3}.task-filter-state .btn{min-height:34px;padding:0 11px;font-size:10px;white-space:nowrap}
.my-task-note{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.my-task-priority-note{margin-left:auto;color:#7c90a3;font-size:9px}.my-task-completed-fold{margin-top:13px;border:1px solid #dce8e3;border-radius:15px;background:#fbfefd;overflow:hidden}.my-task-completed-fold>button{width:100%;min-height:54px;border:0;background:linear-gradient(90deg,#f4fbf7,#fbfefd);display:flex;align-items:center;justify-content:space-between;padding:0 15px;color:#37745e;cursor:pointer}.my-task-completed-fold>button>span{display:flex;align-items:center;gap:8px}.my-task-completed-fold>button>span>.ui-icon{width:17px;height:17px;color:#15906a}.my-task-completed-fold>button b{font-size:11px}.my-task-completed-fold>button small{color:#7e9a8e;font-size:9px}.my-task-completed-fold>button>.ui-icon{width:14px;height:14px;transition:transform .18s ease}.my-task-completed-body{padding:0 10px 10px}.my-task-completed-body .tablewrap{box-shadow:none}
.temp-toolbar{align-items:center}.temp-period-switch{flex:none}.temp-tip{display:flex;align-items:center;gap:6px}.temp-tip .ui-icon{width:14px;height:14px}
@media(max-width:760px){.task-filter-state{align-items:flex-start;flex-direction:column}.task-filter-state .btn{width:100%}.my-task-priority-note{width:100%;margin-left:0}.temp-toolbar{align-items:stretch}.temp-period-switch{width:100%}.temp-period-switch button{flex:1}.stat-drill-hint{position:static;margin-top:8px}}

/* V2.6.92 领导页主视觉与年度报告按钮统一优化 */
.executive-clean-hero-bg.hero-photo-bg{
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center center;
}
.executive-clean-hero-bg.hero-photo-bg img{
  display:block;
}
.executive-clean-hero{
  background:linear-gradient(135deg,#083c79 0%,#0d5ca7 54%,#1a7fc8 100%);
}
.executive-clean-hero-bg::before{
  background:linear-gradient(90deg,rgba(8,60,121,.90) 0%,rgba(8,60,121,.84) 16%,rgba(8,60,121,.72) 32%,rgba(8,60,121,.46) 52%,rgba(8,60,121,.16) 74%,rgba(8,60,121,.03) 100%);
}
.executive-clean-hero-bg::after{
  background:radial-gradient(circle at 22% 34%,rgba(88,170,242,.18) 0%,rgba(88,170,242,0) 28%),linear-gradient(180deg,rgba(3,33,66,.08) 0%,rgba(3,33,66,.03) 38%,rgba(3,33,66,.12) 100%);
}

/* 年度报告按钮恢复平台统一视觉：沿用此前白底蓝字主操作样式 */
.annual-control-panel .btn.primary{
  background:#fff;
  color:#1766aa;
  border:1px solid rgba(255,255,255,.46);
  box-shadow:0 8px 18px rgba(4,49,94,.14);
  font-weight:800;
}
.annual-control-panel .btn.primary .ui-icon,
.annual-control-panel .btn.primary svg{
  color:#1766aa;
  fill:none;
  stroke:currentColor;
}
.annual-control-panel .btn.primary:hover{
  background:#f4f9ff;
  color:#0f5ca6;
  border-color:rgba(255,255,255,.72);
  box-shadow:0 10px 22px rgba(4,49,94,.18);
}
.annual-control-panel .btn.primary:active{
  background:#eaf4ff;
  color:#0c559c;
}
.annual-control-panel .btn.soft{
  background:rgba(255,255,255,.16);
  border-color:rgba(255,255,255,.34);
  color:#fff;
}



/* V2.6.92 领导横幅图片内嵌稳定显示修复 */
.executive-clean-hero{position:relative;overflow:hidden;isolation:isolate;}
.executive-clean-hero-visual{position:absolute;inset:0 0 0 auto;width:46%;min-width:320px;z-index:1;pointer-events:none;overflow:hidden;border-radius:inherit;}
.executive-clean-hero-visual img{width:100%;height:100%;display:block;object-fit:cover;object-position:center center;filter:saturate(1.04) brightness(.98) contrast(1.02);}
.executive-clean-hero-visual::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(8,60,121,.88) 0%,rgba(8,60,121,.72) 12%,rgba(8,60,121,.48) 26%,rgba(8,60,121,.18) 46%,rgba(8,60,121,.04) 68%,rgba(8,60,121,0) 100%);}
.executive-clean-hero-bg.hero-photo-bg{background:linear-gradient(135deg,#083c79 0%,#0d5ca7 54%,#1a7fc8 100%)!important;}
.executive-clean-hero-bg.hero-photo-bg img{display:none!important;}
.executive-clean-copy{position:relative;z-index:3;width:min(56%,760px);}
.executive-period-floating{z-index:4!important;}
@media(max-width:1280px){.executive-clean-hero-visual{width:44%;min-width:280px}.executive-clean-copy{width:min(58%,720px)}}
@media(max-width:980px){.executive-clean-hero-visual{inset:auto 0 0 0;width:100%;height:46%;min-width:0}.executive-clean-hero-visual::before{background:linear-gradient(180deg,rgba(8,60,121,.92) 0%,rgba(8,60,121,.76) 18%,rgba(8,60,121,.50) 40%,rgba(8,60,121,.18) 72%,rgba(8,60,121,0) 100%)}.executive-clean-copy{width:100%;max-width:none}.executive-clean-hero{padding-bottom:164px}}


/* V2.6.92 领导横幅整图铺满式主视觉 */
.executive-clean-hero{
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
  min-height:362px!important;
  background:#083c79!important;
}
.executive-clean-hero-visual{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  z-index:0!important;
  pointer-events:none!important;
  overflow:hidden!important;
  border-radius:inherit!important;
}
.executive-clean-hero-visual img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:cover!important;
  object-position:center center!important;
  opacity:1!important;
  transform:none!important;
  filter:saturate(1.03) brightness(.92) contrast(1.04)!important;
}
.executive-clean-hero-visual::before{
  content:none!important;
}
.executive-clean-hero-bg.hero-photo-bg{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  z-index:1!important;
  pointer-events:none!important;
  background:
    linear-gradient(90deg,
      rgba(5,42,87,.94) 0%,
      rgba(6,53,107,.89) 18%,
      rgba(7,63,121,.78) 35%,
      rgba(8,66,126,.58) 52%,
      rgba(8,70,132,.30) 70%,
      rgba(8,70,132,.10) 86%,
      rgba(8,70,132,.04) 100%),
    linear-gradient(180deg,rgba(3,28,58,.10) 0%,rgba(3,28,58,.02) 46%,rgba(3,28,58,.24) 100%)!important;
}
.executive-clean-hero-bg.hero-photo-bg::before,
.executive-clean-hero-bg.hero-photo-bg::after{
  content:none!important;
}
.executive-clean-copy{
  position:relative!important;
  z-index:3!important;
  width:min(58%,780px)!important;
  max-width:780px!important;
}
.executive-period-floating{
  z-index:4!important;
}
.executive-leader-warm{
  background:linear-gradient(90deg,rgba(7,47,92,.30) 0%,rgba(7,47,92,.15) 58%,rgba(7,47,92,0) 100%)!important;
}

@media(max-width:1280px){
  .executive-clean-copy{width:min(62%,720px)!important;max-width:720px!important}
  .executive-clean-hero-visual img{object-position:center center!important}
}
@media(max-width:980px){
  .executive-clean-hero{min-height:430px!important;padding:26px 24px 34px!important}
  .executive-clean-hero-visual{inset:0!important;width:100%!important;height:100%!important}
  .executive-clean-hero-visual img{object-position:58% center!important}
  .executive-clean-hero-bg.hero-photo-bg{
    background:linear-gradient(180deg,rgba(5,42,87,.94) 0%,rgba(6,53,107,.86) 30%,rgba(7,63,121,.66) 55%,rgba(8,70,132,.34) 76%,rgba(8,70,132,.18) 100%)!important;
  }
  .executive-clean-copy{width:100%!important;max-width:none!important}
}
@media(max-width:640px){
  .executive-clean-hero{min-height:448px!important;padding:22px 18px 28px!important}
  .executive-clean-hero-visual img{object-position:62% center!important}
}

/* ===== V2.6.97 部门日报/周报/月报统一双区块模板 + 扩展行政/项目任务分类；过滤无进度/0%事项；页眉仅部门周期，无 Logo ===== */
.task-category-stack{display:grid;grid-template-columns:1fr;gap:8px}
.task-category-stack select,.task-category-stack input{width:100%}
.task-category-hint{display:block;margin-top:6px;color:#8293a4;font-size:10px;line-height:1.5}
.daily-report-summary.compact{grid-template-columns:repeat(3,minmax(0,1fr));max-width:660px}
.daily-report-category-panel{flex:none;border:1px solid #dce7f1;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(26,79,133,.045);overflow:hidden}
.daily-report-category-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px 16px 12px;background:linear-gradient(135deg,#f8fbff,#fff);border-bottom:1px solid #e7eef5}
.daily-report-category-head h3{display:flex;align-items:center;gap:7px;margin:0;color:#244c6b;font-size:14px}
.daily-report-category-head h3 .ui-icon{width:16px;height:16px;color:#2774cb}
.daily-report-category-head p{margin:5px 0 0;color:#8192a2;font-size:10px;line-height:1.6}
.daily-report-category-head>span{flex:none;padding:6px 9px;border-radius:999px;background:#eef6ff;color:#2b72c3;font-size:9px;font-weight:700}
.daily-report-category-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap;flex:none}
.daily-report-category-head-actions>span{padding:6px 9px;border-radius:999px;background:#eef6ff;color:#2b72c3;font-size:9px;font-weight:800;white-space:nowrap}
.daily-report-category-head-actions .btn{min-height:30px!important;padding:0 10px!important;border-radius:9px!important;font-size:9px!important}
.daily-report-category-list{display:grid;gap:0;max-height:245px;overflow:auto}
.daily-report-category-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,320px);gap:16px;align-items:center;padding:12px 15px;border-bottom:1px solid #edf2f7}
.daily-report-category-row:last-child{border-bottom:0}
.daily-report-category-task{display:flex;align-items:center;gap:10px;min-width:0}
.daily-report-include-toggle{display:inline-flex;align-items:center;gap:5px;flex:none;cursor:pointer;user-select:none;color:#4d6d88;font-size:9px;font-weight:800;white-space:nowrap}
.daily-report-include-toggle input{position:absolute;opacity:0;pointer-events:none}
.daily-report-include-toggle>span{display:grid;place-items:center;width:24px;height:24px;border:1px solid #bfcfdd;border-radius:8px;background:#fff;color:transparent;transition:.16s ease}
.daily-report-include-toggle>span .ui-icon{width:13px;height:13px}
.daily-report-include-toggle input:checked+span{border-color:#4f96dd;background:#eaf4ff;color:#1d72c9;box-shadow:0 0 0 3px rgba(43,120,203,.08)}
.daily-report-include-toggle em{font-style:normal}
.daily-report-category-row.is-excluded{background:#f7f9fb}
.daily-report-category-row.is-excluded .daily-report-category-task>div,.daily-report-category-row.is-excluded .daily-report-status{opacity:.45}
.daily-report-category-row.is-excluded .daily-report-include-toggle em{color:#9aa8b4}
.daily-report-category-task>div{min-width:0}
.daily-report-category-task b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#234662;font-size:12px}
.daily-report-category-task small{display:block;margin-top:5px;color:#8293a4;font-size:9px}
.daily-report-status{flex:none;display:inline-flex;align-items:center;justify-content:center;min-width:62px;height:28px;padding:0 8px;border-radius:9px;font-size:9px;font-weight:800}
.daily-report-status.done{background:#e7f6ef;color:#17845e}
.daily-report-status.ongoing{background:#eaf3ff;color:#2773c9}
.daily-report-category-choice{display:grid;grid-template-columns:1fr;gap:7px}
.daily-report-category-choice select,.daily-report-category-choice input{width:100%;min-height:36px;border:1px solid #d7e3ee;border-radius:10px;background:#fbfdff;color:#24445f;font-size:11px;padding:0 10px;outline:none}
.daily-report-category-choice select:focus,.daily-report-category-choice input:focus{border-color:#7fb1e6;box-shadow:0 0 0 3px rgba(50,124,205,.10)}
.daily-report-category-empty{padding:24px;text-align:center;color:#8a9aaa;font-size:11px}
.daily-report-template-modal .daily-report-editor{min-height:360px}
.daily-report-template-modal .daily-report-text{min-height:330px!important}
@media(max-width:820px){
  .daily-report-summary.compact{grid-template-columns:repeat(3,minmax(110px,1fr));max-width:none;overflow-x:auto}
  .daily-report-category-row{grid-template-columns:1fr;gap:10px}
  .daily-report-category-list{max-height:300px}
  .daily-report-category-head{flex-direction:column}
  .daily-report-category-head-actions{justify-content:flex-start;width:100%}
  .daily-report-category-task b{white-space:normal}
}


/* ===== V2.6.99 首页暖心体验：节气 / 节日小彩蛋 ===== */
.seasonal-easter-egg{display:flex;align-items:center;gap:10px;width:fit-content;max-width:min(720px,100%);margin-top:12px;padding:8px 11px;border:1px solid #dbe9f5;border-radius:12px;background:rgba(255,255,255,.74);box-shadow:0 6px 18px rgba(45,92,126,.045);backdrop-filter:blur(8px)}
.seasonal-easter-egg>span{display:inline-flex;align-items:center;gap:5px;flex:none;color:#3778b5}.seasonal-easter-egg>span .ui-icon{width:14px;height:14px}.seasonal-easter-egg>span small{font-size:9px;font-weight:800;color:#7d91a3}.seasonal-easter-egg>span b{font-size:11px;color:#2a628f}.seasonal-easter-egg>p{margin:0!important;color:#698095!important;font-size:10px!important;line-height:1.6!important}
.seasonal-easter-egg.term{border-color:#dce9df;background:linear-gradient(90deg,rgba(247,252,248,.9),rgba(255,255,255,.78))}.seasonal-easter-egg.term>span{color:#3f8b68}.seasonal-easter-egg.term>span b{color:#32785a}
.seasonal-easter-egg.traditional{border-color:#eadfcd;background:linear-gradient(90deg,rgba(255,250,241,.92),rgba(255,255,255,.8))}.seasonal-easter-egg.traditional>span{color:#b87929}.seasonal-easter-egg.traditional>span b{color:#9b641d}
.seasonal-easter-egg.festival{border-color:#dfe6f5;background:linear-gradient(90deg,rgba(247,249,255,.92),rgba(255,255,255,.8))}
@media(max-width:820px){.seasonal-easter-egg{align-items:flex-start;flex-direction:column;gap:4px;width:100%}.seasonal-easter-egg>p{padding-left:19px}}

/* ===== V2.6.101 明日工作计划 ===== */
.tomorrow-plan-strip{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:14px 0;padding:14px 16px;border:1px solid #dbe7f2;border-radius:16px;background:linear-gradient(135deg,#f7fbff 0%,#fffaf3 100%);box-shadow:0 8px 24px rgba(35,78,120,.06)}
.tomorrow-plan-strip>div{display:flex;align-items:center;gap:12px;min-width:0}.tomorrow-plan-strip>div>span{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#edf5ff;color:#176ed1;flex:0 0 auto}.tomorrow-plan-strip>div>span svg{width:20px;height:20px}.tomorrow-plan-strip small,.tomorrow-plan-strip em{display:block;font-style:normal;color:#758ba1}.tomorrow-plan-strip b{display:block;margin:2px 0 3px;font-size:15px;color:#173b5f}.tomorrow-plan-strip.has-plan{border-color:#cfe6dc;background:linear-gradient(135deg,#f4fbf8 0%,#fffaf3 100%)}.tomorrow-plan-strip.has-plan>div>span{background:#e9f7f1;color:#168866}
.tomorrow-plan-modal{width:min(96vw,70rem);max-width:calc(100vw - 24px)}.tomorrow-plan-head .daily-report-kicker{display:inline-flex;align-items:center;gap:7px}.tomorrow-plan-body{display:grid;gap:16px;padding:18px 20px 20px}.tomorrow-plan-rule,.tomorrow-plan-template-note{display:flex;gap:12px;align-items:flex-start;padding:13px 14px;border:1px solid #dce8f2;border-radius:14px;background:#f8fbfe}.tomorrow-plan-rule>span,.tomorrow-plan-template-note>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#eaf4ff;color:#176ed1;flex:0 0 auto}.tomorrow-plan-rule b,.tomorrow-plan-template-note b{display:block;color:#173b5f}.tomorrow-plan-rule p,.tomorrow-plan-template-note p{margin:4px 0 0;color:#71869a;font-size:13px;line-height:1.65}.tomorrow-plan-template-note{background:#fffaf3;border-color:#f2e1c6}.tomorrow-plan-template-note>span{background:#fff0d8;color:#c87808}
.tomorrow-plan-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.tomorrow-plan-summary article{padding:14px 15px;border:1px solid #e1e9f0;border-radius:14px;background:#fff}.tomorrow-plan-summary small,.tomorrow-plan-summary em{display:block;font-style:normal;color:#7d90a2}.tomorrow-plan-summary b{display:inline-block;margin:5px 5px 2px 0;font-size:22px;color:#163b60}
.tomorrow-plan-list-wrap{border:1px solid #dfe8f0;border-radius:16px;background:#fff;overflow:hidden}.tomorrow-plan-list-wrap .section-head{padding:14px 16px;border-bottom:1px solid #edf2f6}.tomorrow-plan-list{max-height:470px;overflow:auto;padding:8px 12px 12px}.tomorrow-plan-row{display:grid;grid-template-columns:42px minmax(0,1fr) 190px;gap:10px 12px;align-items:center;padding:14px 8px;border-bottom:1px solid #edf2f6;transition:border-color .15s ease,background .15s ease}.tomorrow-plan-row:last-child{border-bottom:0}.tomorrow-plan-row.selected{background:#f8fbff}.tomorrow-plan-check{display:grid;place-items:center;cursor:pointer}.tomorrow-plan-check input{position:absolute;opacity:0;pointer-events:none}.tomorrow-plan-check span{width:30px;height:30px;display:grid;place-items:center;border:1.5px solid #cbd9e6;border-radius:9px;color:transparent;background:#fff}.tomorrow-plan-check input:checked+span{background:#176ed1;border-color:#176ed1;color:#fff}.tomorrow-plan-check svg{width:16px;height:16px}.tomorrow-plan-task{min-width:0}.tomorrow-plan-task-head{display:flex;align-items:center;gap:8px;min-width:0}.tomorrow-plan-task-head b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#173b5f}.tomorrow-plan-task-head em{font-style:normal;font-size:12px;padding:3px 7px;border-radius:999px;background:#edf5ff;color:#3873ad;flex:0 0 auto}.tomorrow-plan-task small{display:block;margin-top:5px;color:#7b8fa3}.tomorrow-plan-target>span,.tomorrow-plan-description>span{display:block;margin-bottom:5px;font-size:12px;color:#74889c}.tomorrow-plan-target>div{display:flex;align-items:center;border:1px solid #d5e0e9;border-radius:10px;background:#fff;overflow:hidden}.tomorrow-plan-target input{width:100%;border:0!important;outline:0;padding:9px 10px;background:transparent;text-align:right;font-weight:700;color:#173b5f}.tomorrow-plan-target input:disabled{background:#f5f7f9;color:#9aa8b5}.tomorrow-plan-target b{padding:0 10px 0 0;color:#73879b}.tomorrow-plan-description{position:relative;grid-column:2 / 4;display:block}.tomorrow-plan-description>span em{margin-left:5px;font-style:normal;color:#d36d34}.tomorrow-plan-description textarea{box-sizing:border-box;width:100%;min-height:58px;resize:vertical;border:1px solid #d5e0e9;border-radius:10px;padding:9px 42px 9px 11px;background:#fff;color:#173b5f;font:inherit;line-height:1.55;outline:0;transition:border-color .15s ease,box-shadow .15s ease}.tomorrow-plan-description textarea:focus{border-color:#70a8df;box-shadow:0 0 0 3px rgba(23,110,209,.08)}.tomorrow-plan-description textarea:disabled{background:#f5f7f9;color:#9aa8b5;resize:none}.tomorrow-plan-description>small{position:absolute;right:10px;bottom:8px;color:#9aa8b5;font-size:11px}.tomorrow-plan-description>small b{font-weight:600;color:#73879b}.tomorrow-plan-actions{justify-content:flex-end}
@media (max-width:760px){.tomorrow-plan-strip{align-items:flex-start;flex-direction:column}.tomorrow-plan-summary{grid-template-columns:1fr}.tomorrow-plan-row{grid-template-columns:38px minmax(0,1fr)}.tomorrow-plan-target,.tomorrow-plan-description{grid-column:2}.tomorrow-plan-list-wrap .section-head{align-items:flex-start;gap:8px}.tomorrow-plan-list-wrap .badge{white-space:normal}}

/* ===== V2.6.105 明日工作计划入口与填写页优化 ===== */
.tomorrow-plan-entry{position:relative;display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:16px;margin:0 0 16px;padding:18px 20px;border:1px solid #d7e5f2;border-radius:18px;background:linear-gradient(112deg,#f8fbff 0%,#ffffff 58%,#fff8ed 100%);box-shadow:0 10px 30px rgba(30,79,122,.07);overflow:hidden}
.tomorrow-plan-entry:after{content:"";position:absolute;right:-70px;top:-80px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(245,154,36,.11),rgba(245,154,36,0) 70%);pointer-events:none}
.tomorrow-plan-entry.has-plan{border-color:#cfe4db;background:linear-gradient(112deg,#f5fbf8 0%,#fff 58%,#fff8ed 100%)}
.tomorrow-plan-entry-icon{position:relative;z-index:1;width:54px;height:54px;display:grid;place-items:center;border-radius:16px;background:linear-gradient(145deg,#e8f3ff,#f6fbff);color:#176ed1;box-shadow:inset 0 0 0 1px rgba(23,110,209,.07)}
.tomorrow-plan-entry.has-plan .tomorrow-plan-entry-icon{background:#e9f7f1;color:#168866}
.tomorrow-plan-entry-icon .ui-icon{width:25px;height:25px}
.tomorrow-plan-entry-main{position:relative;z-index:1;min-width:0}
.tomorrow-plan-entry-eyebrow{display:flex;align-items:center;gap:8px;margin-bottom:3px}.tomorrow-plan-entry-eyebrow span{font-size:10px;font-weight:800;letter-spacing:.8px;color:#6a86a0}.tomorrow-plan-entry-eyebrow em{font-style:normal;font-size:10px;color:#9a7b54;padding:3px 7px;border-radius:999px;background:#fff3e4}
.tomorrow-plan-entry h2{margin:0;color:#173b5f;font-size:19px;line-height:1.35}.tomorrow-plan-entry p{margin:5px 0 0;color:#71869a;font-size:12px;line-height:1.65}
.tomorrow-plan-entry-meta{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:10px}.tomorrow-plan-entry-meta span{display:inline-flex;align-items:center;gap:5px;color:#7890a4;font-size:10px}.tomorrow-plan-entry-meta .ui-icon{width:13px;height:13px}.tomorrow-plan-entry-meta b{color:#385b79}
.tomorrow-plan-entry-action{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-end;gap:6px}.tomorrow-plan-entry-action .btn{min-width:160px;justify-content:center;height:42px;box-shadow:0 8px 20px rgba(23,110,209,.16)}.tomorrow-plan-entry-action small{color:#8a9aaa;font-size:9px}
.tomorrow-plan-entry.reports{margin:0 0 18px;border-left:4px solid #f3a13c}.tomorrow-plan-entry.reports .tomorrow-plan-entry-eyebrow span:after{content:" · 报表快捷入口";color:#a27948;font-weight:700;letter-spacing:0}
.tomorrow-plan-head-action{box-shadow:0 7px 18px rgba(23,110,209,.16)}

.tomorrow-plan-modal{width:min(1180px,calc(100vw - 34px))!important;max-height:94vh!important}
.tomorrow-plan-head{background:linear-gradient(135deg,#0e4f89 0%,#0f73b7 62%,#2587c3 100%);color:#fff;padding-top:20px!important;padding-bottom:20px!important}
.tomorrow-plan-head h2{color:#fff!important;font-size:22px!important}.tomorrow-plan-head p{color:rgba(255,255,255,.75)!important}.tomorrow-plan-head .daily-report-kicker{color:#cdeaff!important}.tomorrow-plan-head .close{color:#fff!important}
.tomorrow-plan-body{gap:14px!important;background:#f7f9fc;padding:16px 18px 18px!important}
.tomorrow-plan-intro{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 16px;border:1px solid #dce7f1;border-radius:16px;background:#fff;box-shadow:0 5px 16px rgba(37,76,111,.04)}
.tomorrow-plan-intro-title{display:flex;align-items:center;gap:12px;min-width:0}.tomorrow-plan-intro-title>span{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#edf5ff;color:#176ed1;flex:0 0 auto}.tomorrow-plan-intro-title>span .ui-icon{width:21px;height:21px}.tomorrow-plan-intro-title small{display:block;color:#8aa0b2;font-size:9px;font-weight:800;letter-spacing:.8px}.tomorrow-plan-intro-title b{display:block;margin-top:2px;color:#173b5f;font-size:15px}.tomorrow-plan-intro-title p{margin:4px 0 0;color:#74899c;font-size:11px;line-height:1.55}
.tomorrow-plan-steps{display:flex;align-items:center;gap:7px;flex:0 0 auto}.tomorrow-plan-steps span{display:inline-flex;align-items:center;gap:5px;color:#5d7489;font-size:10px;font-weight:700;white-space:nowrap}.tomorrow-plan-steps span i{width:21px;height:21px;display:grid;place-items:center;border-radius:50%;background:#eaf3fd;color:#176ed1;font-style:normal;font-size:9px}.tomorrow-plan-steps>b{display:block;width:20px;height:1px;background:#d4e0eb}
.tomorrow-plan-summary{gap:10px!important}.tomorrow-plan-summary article{padding:11px 14px!important;background:#fff!important;border-radius:13px!important}.tomorrow-plan-summary article.selected-count{border-color:#d7e7f7;background:#f8fbff!important}.tomorrow-plan-summary small{font-size:10px}.tomorrow-plan-summary b{font-size:20px!important}.tomorrow-plan-summary em{font-size:10px}
.tomorrow-plan-rule{padding:10px 13px!important;background:#f8fbfe!important}.tomorrow-plan-rule>span{width:31px!important;height:31px!important}.tomorrow-plan-rule b{font-size:12px}.tomorrow-plan-rule p{font-size:10px!important;margin-top:2px!important}
.tomorrow-plan-list-wrap{border-color:#dce6ee!important;box-shadow:0 7px 20px rgba(35,78,120,.045)}
.tomorrow-plan-list-wrap .section-head{background:#fbfdff;padding:12px 15px!important}.tomorrow-plan-list-wrap .section-head h3{font-size:13px}.tomorrow-plan-list-wrap .panel-sub{font-size:10px!important}.tomorrow-plan-list{max-height:430px!important;padding:10px 12px 13px!important}
.tomorrow-plan-row{grid-template-columns:42px minmax(0,1fr) 200px!important;gap:10px 14px!important;margin:0 0 9px;padding:14px 12px!important;border:1px solid #e3eaf0!important;border-radius:13px;background:#fff;box-shadow:0 2px 8px rgba(39,72,104,.025)}.tomorrow-plan-row:last-child{margin-bottom:0}.tomorrow-plan-row.selected{border-color:#bcd7f0!important;background:linear-gradient(110deg,#f8fbff,#fff)!important;box-shadow:0 6px 16px rgba(23,110,209,.055)}
.tomorrow-plan-check span{width:32px!important;height:32px!important;border-radius:10px!important}.tomorrow-plan-task-head b{font-size:13px}.tomorrow-plan-task-head em{font-size:10px!important}.tomorrow-plan-task small{font-size:10px;margin-top:6px!important}
.tomorrow-plan-target>span,.tomorrow-plan-description>span{display:flex!important;align-items:center;gap:5px;font-size:10px!important;font-weight:700;color:#5d7489!important}.tomorrow-plan-target>span i,.tomorrow-plan-description>span i{width:18px;height:18px;display:inline-grid;place-items:center;border-radius:6px;background:#eef5fc;color:#176ed1;font-style:normal;font-size:9px}.tomorrow-plan-target>div{height:39px}.tomorrow-plan-target input{font-size:13px!important}.tomorrow-plan-description textarea{min-height:66px!important;padding-top:10px!important;background:#fcfdff!important}
.tomorrow-plan-template-note{padding:10px 13px!important}.tomorrow-plan-template-note b{font-size:12px}.tomorrow-plan-template-note p{font-size:10px!important;margin-top:2px!important}
.tomorrow-plan-actions{position:sticky;bottom:0;z-index:3;gap:9px!important;padding-top:12px!important;padding-bottom:12px!important;background:rgba(255,255,255,.96)!important;backdrop-filter:blur(10px);border-top:1px solid #e5edf3!important}.tomorrow-plan-actions .btn{min-width:126px;justify-content:center}.tomorrow-plan-save-tip{display:flex;align-items:center;gap:6px;margin-right:auto;color:#8193a3;font-size:10px}.tomorrow-plan-save-tip .ui-icon{width:14px;height:14px;color:#4d8cc3}

@media(max-width:900px){.tomorrow-plan-entry{grid-template-columns:50px minmax(0,1fr);padding:15px}.tomorrow-plan-entry-action{grid-column:1 / -1;align-items:stretch}.tomorrow-plan-entry-action .btn{width:100%}.tomorrow-plan-entry-action small{text-align:center}.tomorrow-plan-intro{align-items:flex-start;flex-direction:column}.tomorrow-plan-steps{width:100%;justify-content:space-between}.tomorrow-plan-steps>b{flex:1;min-width:8px}.tomorrow-plan-row{grid-template-columns:38px minmax(0,1fr)!important}.tomorrow-plan-target,.tomorrow-plan-description{grid-column:2!important}.tomorrow-plan-target{max-width:230px}.tomorrow-plan-save-tip{display:none}}
@media(max-width:620px){.tomorrow-plan-entry{grid-template-columns:1fr;gap:10px}.tomorrow-plan-entry-icon{width:45px;height:45px}.tomorrow-plan-entry h2{font-size:17px}.tomorrow-plan-entry-meta{display:grid;grid-template-columns:1fr}.tomorrow-plan-intro-title{align-items:flex-start}.tomorrow-plan-steps{display:grid;grid-template-columns:1fr}.tomorrow-plan-steps>b{display:none}.tomorrow-plan-summary{grid-template-columns:repeat(3,minmax(0,1fr))!important}.tomorrow-plan-summary article{padding:10px!important}.tomorrow-plan-summary b{font-size:17px!important}.tomorrow-plan-row{grid-template-columns:34px minmax(0,1fr)!important;padding:12px 8px!important}.tomorrow-plan-target,.tomorrow-plan-description{grid-column:1 / -1!important;margin-left:34px}.tomorrow-plan-actions{display:grid!important;grid-template-columns:1fr 1fr}.tomorrow-plan-actions .btn{min-width:0!important;width:100%}}


/* ===== V2.6.106 领导页：全员明日工作计划 + 小幅排版优化 ===== */
.executive-tomorrow-panel{margin-bottom:16px;padding:20px;overflow:hidden}.executive-tomorrow-panel>.section-head{align-items:flex-start;margin-bottom:15px}.executive-tomorrow-summary{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.executive-tomorrow-summary span{display:inline-flex;align-items:center;gap:4px;padding:7px 10px;border:1px solid #dde9f3;border-radius:999px;background:#f7fbff;color:#62788d;font-size:11px}.executive-tomorrow-summary span b{color:#1f5f9c;font-size:12px}.executive-tomorrow-summary span.warning{border-color:#f2dfbd;background:#fff9ed;color:#9a6b16}.executive-tomorrow-summary span.warning b{color:#a96d0b}.executive-tomorrow-summary span.ok{border-color:#d7ebdf;background:#f3fbf7;color:#25755c}.executive-tomorrow-depts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.executive-tomorrow-dept{min-width:0;padding:14px;border:1px solid #dfebf4;border-radius:16px;background:linear-gradient(180deg,#fcfdff,#f8fbfe)}.executive-tomorrow-dept>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-bottom:11px;border-bottom:1px solid #e9f0f6}.executive-tomorrow-dept>header>div{display:flex;align-items:center;gap:9px;min-width:0}.executive-tomorrow-dept>header>div>span{display:grid;place-items:center;width:33px;height:33px;border-radius:10px;background:#eaf4ff;color:#176ed1;flex:none}.executive-tomorrow-dept h4{margin:0;color:#1f3f5c;font-size:14px}.executive-tomorrow-dept header p{margin:4px 0 0;color:#7c8fa1;font-size:10px}.executive-tomorrow-dept header>em{flex:none;padding:4px 8px;border-radius:999px;font-size:9px;font-style:normal;font-weight:800}.executive-tomorrow-dept header>em.pending{background:#fff3df;color:#9a680f}.executive-tomorrow-dept header>em.complete{background:#eaf8f1;color:#1d7e5f}.executive-tomorrow-people{display:grid;gap:9px;margin-top:10px}.executive-tomorrow-person{padding:11px;border:1px solid #e5edf4;border-radius:13px;background:#fff}.executive-tomorrow-person-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.executive-tomorrow-person-head>div{display:flex;align-items:center;gap:8px;min-width:0}.executive-tomorrow-person-head b{display:block;color:#23415d;font-size:12px}.executive-tomorrow-person-head small{display:block;margin-top:2px;color:#8495a6;font-size:9px}.executive-tomorrow-person-head>em{padding:3px 7px;border-radius:999px;background:#eaf8f1;color:#1e7b5e;font-size:8px;font-style:normal;font-weight:800}.executive-tomorrow-items{display:grid;gap:7px;margin-top:9px}.executive-tomorrow-item{display:grid;grid-template-columns:minmax(0,1fr) 70px;gap:10px;align-items:center;padding:9px 10px;border-radius:11px;background:#f8fbfe}.executive-tomorrow-item>div:first-child{min-width:0}.executive-tomorrow-item>div:first-child>span{display:inline-block;margin-bottom:3px;padding:2px 5px;border-radius:5px;background:#eef5fc;color:#53718d;font-size:8px}.executive-tomorrow-item b{display:block;overflow:hidden;color:#24435f;font-size:11px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.executive-tomorrow-item p{margin:4px 0 0;color:#667c90;font-size:9px;line-height:1.55}.executive-tomorrow-progress{text-align:right}.executive-tomorrow-progress small{display:block;color:#91a0ae;font-size:8px}.executive-tomorrow-progress strong{display:block;margin-top:2px;color:#176ed1;font-size:17px;line-height:1.15}.executive-tomorrow-progress em{display:block;margin-top:2px;color:#6f8396;font-size:8px;font-style:normal}.executive-tomorrow-missing{margin-top:9px;padding:8px 10px;border:1px dashed #eadabf;border-radius:11px;background:#fffaf1}.executive-tomorrow-missing span{display:flex;align-items:center;gap:5px;color:#996b1d;font-size:9px;font-weight:800}.executive-tomorrow-missing span .ui-icon{width:12px;height:12px}.executive-tomorrow-missing p{margin:4px 0 0;color:#8c7a5a;font-size:9px;line-height:1.5}
/* 小幅优化领导工作分析页面的区块节奏，不改变原布局结构 */
.executive-clean-grid{align-items:start}.executive-work-browser{margin-bottom:16px}.executive-browser-toolbar{padding:11px 12px;border:1px solid #e3edf5;border-radius:14px;background:#f9fbfd}.executive-clean-panel>.section-head{margin-bottom:13px}
@media(max-width:1380px){.executive-tomorrow-depts{grid-template-columns:1fr}.executive-tomorrow-dept{padding:13px}.executive-tomorrow-people{grid-template-columns:repeat(2,minmax(0,1fr))}.executive-tomorrow-missing{grid-column:1/-1}}
@media(max-width:820px){.executive-tomorrow-panel{padding:16px}.executive-tomorrow-panel>.section-head{flex-direction:column}.executive-tomorrow-summary{justify-content:flex-start}.executive-tomorrow-people{grid-template-columns:1fr}.executive-tomorrow-dept>header{flex-direction:column}.executive-tomorrow-item{grid-template-columns:minmax(0,1fr) 64px}.executive-browser-toolbar{padding:10px}}


/* V2.6.108 明日工作计划：新增个人工作同步创建正式个人任务 */
.tomorrow-plan-custom-wrap{border:1px solid #dfe8f0;border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 7px 20px rgba(35,78,120,.045)}
.tomorrow-plan-custom-wrap>.section-head{padding:12px 15px;border-bottom:1px solid #edf2f6;background:linear-gradient(100deg,#fbfdff,#fffaf4)}
.tomorrow-plan-add-custom{white-space:nowrap;border-color:#bcd9f0!important;background:#f4f9ff!important;color:#176ed1!important;font-weight:700}
.tomorrow-plan-custom-list{display:grid;gap:10px;padding:12px}
.tomorrow-plan-custom-row{padding:13px 14px;border:1px solid #d8e6f2;border-left:3px solid #f3a13c;border-radius:14px;background:linear-gradient(110deg,#fbfdff 0%,#fff 58%,#fffaf3 100%);box-shadow:0 4px 12px rgba(35,78,120,.035)}
.tomorrow-plan-custom-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.tomorrow-plan-custom-head>div{display:flex;align-items:center;gap:9px}.tomorrow-plan-custom-head>div>span{width:31px;height:31px;display:grid;place-items:center;border-radius:9px;background:#fff1dd;color:#c87808}.tomorrow-plan-custom-head small{display:block;color:#9b8b76;font-size:8px;font-weight:800;letter-spacing:.8px}.tomorrow-plan-custom-head b{display:block;margin-top:1px;color:#173b5f;font-size:12px}.tomorrow-plan-custom-head .icon-button{width:30px;height:30px;color:#8b99a6}
.tomorrow-plan-custom-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(150px,.7fr) 180px;gap:10px 12px;align-items:end}.tomorrow-plan-custom-grid label>span{display:flex;align-items:center;gap:5px;margin-bottom:5px;font-size:10px;font-weight:700;color:#5d7489}.tomorrow-plan-custom-grid label>span em{font-style:normal;color:#d36d34}.tomorrow-plan-custom-grid input[type=text]{box-sizing:border-box;width:100%;height:39px;border:1px solid #d5e0e9;border-radius:10px;padding:0 10px;background:#fff;color:#173b5f;font:inherit;outline:0}.tomorrow-plan-custom-grid input[type=text]:focus{border-color:#70a8df;box-shadow:0 0 0 3px rgba(23,110,209,.08)}
.tomorrow-plan-custom-description{grid-column:1 / -1;position:relative}.tomorrow-plan-custom-description textarea{box-sizing:border-box;width:100%;min-height:64px;resize:vertical;border:1px solid #d5e0e9;border-radius:10px;padding:9px 42px 9px 11px;background:#fcfdff;color:#173b5f;font:inherit;line-height:1.55;outline:0}.tomorrow-plan-custom-description textarea:focus{border-color:#70a8df;box-shadow:0 0 0 3px rgba(23,110,209,.08)}.tomorrow-plan-custom-description>small{position:absolute;right:10px;bottom:8px;color:#9aa8b5;font-size:11px}.tomorrow-plan-custom-description>small b{font-weight:600;color:#73879b}
.tomorrow-plan-custom-empty{display:flex;align-items:center;gap:11px;margin:12px;padding:15px;border:1px dashed #cadcea;border-radius:13px;background:#f8fbfe;color:#74899c}.tomorrow-plan-custom-empty[hidden]{display:none}.tomorrow-plan-custom-empty>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#edf5ff;color:#176ed1;flex:0 0 auto}.tomorrow-plan-custom-empty b{display:block;color:#385b79;font-size:12px}.tomorrow-plan-custom-empty p{margin:3px 0 0;font-size:10px;line-height:1.55}
.executive-tomorrow-item.custom{border-left:3px solid #f3a13c;background:linear-gradient(105deg,#fffaf3,#fff)}
@media(max-width:900px){.tomorrow-plan-custom-grid{grid-template-columns:1fr 180px}.tomorrow-plan-custom-title{grid-column:1 / -1}.tomorrow-plan-custom-description{grid-column:1 / -1}}
@media(max-width:620px){.tomorrow-plan-custom-wrap>.section-head{align-items:stretch;flex-direction:column}.tomorrow-plan-add-custom{width:100%;justify-content:center}.tomorrow-plan-custom-grid{grid-template-columns:1fr}.tomorrow-plan-custom-title,.tomorrow-plan-custom-category,.tomorrow-plan-custom-grid .tomorrow-plan-target,.tomorrow-plan-custom-description{grid-column:1!important;margin-left:0!important}.tomorrow-plan-custom-row{padding:12px 10px}}


/* V2.6.108 新增个人工作与“新增个人任务”统一字段/逻辑 */
.tomorrow-plan-custom-head p{margin:3px 0 0;color:#7d8fa0;font-size:9px;line-height:1.45}
.tomorrow-personal-task-meta{display:flex;flex-wrap:wrap;gap:7px 14px;margin:-2px 0 11px;padding:8px 10px;border-radius:10px;background:#f7fafd;color:#6e8397;font-size:9px}.tomorrow-personal-task-meta span{display:inline-flex;align-items:center;gap:5px}.tomorrow-personal-task-meta .ui-icon{width:13px;height:13px;color:#4e83b3}
.tomorrow-plan-custom-grid{grid-template-columns:minmax(0,1.25fr) minmax(150px,.65fr) 120px 155px!important;align-items:start!important}
.tomorrow-plan-custom-grid input[type=date],.tomorrow-plan-custom-grid select{box-sizing:border-box;width:100%;height:39px;border:1px solid #d5e0e9;border-radius:10px;padding:0 9px;background:#fff;color:#173b5f;font:inherit;outline:0}.tomorrow-plan-custom-grid input[type=date]:focus,.tomorrow-plan-custom-grid select:focus{border-color:#70a8df;box-shadow:0 0 0 3px rgba(23,110,209,.08)}
.tomorrow-plan-custom-collaborator{grid-column:1 / 3}.tomorrow-plan-custom-task-description{grid-column:3 / -1}.tomorrow-plan-custom-task-description textarea{box-sizing:border-box;width:100%;min-height:64px;resize:vertical;border:1px solid #d5e0e9;border-radius:10px;padding:9px 11px;background:#fcfdff;color:#173b5f;font:inherit;line-height:1.55;outline:0}.tomorrow-plan-custom-task-description textarea:focus{border-color:#70a8df;box-shadow:0 0 0 3px rgba(23,110,209,.08)}
.tomorrow-plan-custom-target{grid-column:1}.tomorrow-plan-custom-description{grid-column:2 / -1!important}
@media(max-width:980px){.tomorrow-plan-custom-grid{grid-template-columns:1fr 1fr!important}.tomorrow-plan-custom-title,.tomorrow-plan-custom-collaborator,.tomorrow-plan-custom-task-description,.tomorrow-plan-custom-description{grid-column:1 / -1!important}.tomorrow-plan-custom-target{grid-column:1!important}}
@media(max-width:620px){.tomorrow-plan-custom-grid{grid-template-columns:1fr!important}.tomorrow-plan-custom-grid>*{grid-column:1!important}.tomorrow-personal-task-meta{display:grid;grid-template-columns:1fr 1fr}.tomorrow-plan-custom-description{margin-left:0!important}}

/* V2.6.112：行政工作专项平台取消后，专项分析中的品牌模块单列全宽展示。 */
.platform-analysis-grid.platform-analysis-grid-single{grid-template-columns:minmax(0,1fr)}

/* V2.6.113：明日工作计划多选显示修复。取消任务列表内部二次滚动，统一交由弹窗主滚动区承载，避免多选/长描述时下方内容被裁切。 */
.tomorrow-plan-modal .tomorrow-plan-list{
  max-height:none!important;
  overflow:visible!important;
  scrollbar-gutter:auto!important;
}
.tomorrow-plan-modal .tomorrow-plan-list-wrap{
  overflow:hidden!important;
}
.tomorrow-plan-modal .tomorrow-plan-row{
  scroll-margin-top:14px;
  scroll-margin-bottom:18px;
}
.tomorrow-plan-modal .tomorrow-plan-body{
  min-width:0!important;
  min-height:0!important;
  padding-bottom:24px!important;
}
#modal .tomorrow-plan-modal .modal-scroll-body{
  scroll-padding-top:12px;
  scroll-padding-bottom:20px;
}
@media(max-width:620px){
  .tomorrow-plan-modal .tomorrow-plan-body{padding-bottom:18px!important}
}


/* V2.6.114：明日工作计划多选显示二次修复。
   1) 明确 modal -> form -> scroll body 的高度链路，底部操作栏永远位于弹窗底部；
   2) 未勾选任务保持紧凑，只在勾选后展开“目标进度 + 完成描述”；
   3) 多选后所有展开内容统一在正文滚动区内滚动，不被底部操作栏遮挡。 */
#modal .tomorrow-plan-modal{
  height:min(900px,calc(100dvh - 36px))!important;
  max-height:calc(100dvh - 36px)!important;
  min-height:min(620px,calc(100dvh - 36px))!important;
}
#modal .tomorrow-plan-modal>#tomorrowPlanForm.modal-layout-root{
  display:flex!important;
  flex:1 1 100%!important;
  flex-direction:column!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  max-height:100%!important;
  overflow:hidden!important;
}
#modal .tomorrow-plan-modal>#tomorrowPlanForm>.modal-scroll-body{
  display:block!important;
  flex:1 1 0!important;
  width:100%!important;
  min-width:0!important;
  min-height:0!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  scrollbar-gutter:stable!important;
  scroll-padding-top:16px!important;
  scroll-padding-bottom:24px!important;
}
#modal .tomorrow-plan-modal>#tomorrowPlanForm>.tomorrow-plan-actions{
  position:relative!important;
  inset:auto!important;
  z-index:5!important;
  flex:0 0 auto!important;
  width:100%!important;
  box-sizing:border-box!important;
  margin:0!important;
  background:#fff!important;
  box-shadow:0 -8px 20px rgba(19,54,91,.06)!important;
}
#modal .tomorrow-plan-modal .tomorrow-plan-list{
  max-height:none!important;
  overflow:visible!important;
}
#modal .tomorrow-plan-modal .tomorrow-plan-row:not(.selected){
  grid-template-columns:42px minmax(0,1fr)!important;
  min-height:72px!important;
  align-items:center!important;
}
#modal .tomorrow-plan-modal .tomorrow-plan-row:not(.selected) .tomorrow-plan-target,
#modal .tomorrow-plan-modal .tomorrow-plan-row:not(.selected) .tomorrow-plan-description{
  display:none!important;
}
#modal .tomorrow-plan-modal .tomorrow-plan-row.selected{
  grid-template-columns:42px minmax(0,1fr) 200px!important;
  align-items:center!important;
}
#modal .tomorrow-plan-modal .tomorrow-plan-row.selected .tomorrow-plan-target,
#modal .tomorrow-plan-modal .tomorrow-plan-row.selected .tomorrow-plan-description{
  visibility:visible!important;
  opacity:1!important;
}
#modal .tomorrow-plan-modal .tomorrow-plan-row.selected .tomorrow-plan-description{
  grid-column:2 / 4!important;
}
#modal .tomorrow-plan-modal .tomorrow-plan-row{
  scroll-margin-top:18px!important;
  scroll-margin-bottom:24px!important;
}
@media(max-width:900px){
  #modal .tomorrow-plan-modal .tomorrow-plan-row:not(.selected),
  #modal .tomorrow-plan-modal .tomorrow-plan-row.selected{
    grid-template-columns:38px minmax(0,1fr)!important;
  }
  #modal .tomorrow-plan-modal .tomorrow-plan-row.selected .tomorrow-plan-target,
  #modal .tomorrow-plan-modal .tomorrow-plan-row.selected .tomorrow-plan-description{
    grid-column:2!important;
  }
  #modal .tomorrow-plan-modal .tomorrow-plan-row.selected .tomorrow-plan-target{max-width:240px!important}
}
@media(max-width:620px){
  #modal .tomorrow-plan-modal{
    height:calc(100dvh - 12px)!important;
    max-height:calc(100dvh - 12px)!important;
    min-height:0!important;
  }
  #modal .tomorrow-plan-modal>#tomorrowPlanForm>.modal-scroll-body{
    scrollbar-gutter:auto!important;
    scroll-padding-bottom:18px!important;
  }
  #modal .tomorrow-plan-modal .tomorrow-plan-row:not(.selected),
  #modal .tomorrow-plan-modal .tomorrow-plan-row.selected{
    grid-template-columns:34px minmax(0,1fr)!important;
  }
  #modal .tomorrow-plan-modal .tomorrow-plan-row.selected .tomorrow-plan-target,
  #modal .tomorrow-plan-modal .tomorrow-plan-row.selected .tomorrow-plan-description{
    grid-column:1 / -1!important;
    margin-left:34px!important;
  }
}

/* V2.6.115：明日工作计划弹窗显示根因修复。
   V2.6.114 虽然设置了 modal 固定高度，但 form 在部分浏览器/缩放比例下没有可靠填满 modal，
   导致底部操作栏停在正文后方，操作栏下方出现大片空白，同时可滚动正文高度被压缩。
   本版不再依赖百分比高度传递，直接让表单绝对铺满弹窗，并使用三行 Grid：标题 / 可滚动正文 / 固定底栏。 */
#modal .tomorrow-plan-modal{
  position:relative!important;
  height:min(900px,calc(100dvh - 36px))!important;
  min-height:min(620px,calc(100dvh - 36px))!important;
  max-height:calc(100dvh - 36px)!important;
  overflow:hidden!important;
}
#modal .tomorrow-plan-modal>#tomorrowPlanForm.modal-layout-root{
  position:absolute!important;
  inset:0!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr) auto!important;
  flex:none!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  max-width:none!important;
  max-height:none!important;
  overflow:hidden!important;
}
#modal .tomorrow-plan-modal>#tomorrowPlanForm>.modalhead{
  grid-row:1!important;
  min-width:0!important;
  margin:0!important;
}
#modal .tomorrow-plan-modal>#tomorrowPlanForm>.modal-scroll-body{
  grid-row:2!important;
  align-self:stretch!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  max-height:none!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  background:#f7f9fc!important;
  overscroll-behavior:contain!important;
  scrollbar-gutter:stable!important;
}
#modal .tomorrow-plan-modal>#tomorrowPlanForm>.tomorrow-plan-actions{
  grid-row:3!important;
  align-self:end!important;
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  margin:0!important;
  flex:none!important;
  z-index:8!important;
}
@media(max-width:620px){
  #modal .tomorrow-plan-modal{
    height:calc(100dvh - 12px)!important;
    min-height:0!important;
    max-height:calc(100dvh - 12px)!important;
  }
  #modal .tomorrow-plan-modal>#tomorrowPlanForm>.modal-scroll-body{
    scrollbar-gutter:auto!important;
  }
}


/* ===== V2.6.116 明日工作计划弹窗自适应布局最终修复 =====
   根因：弹窗固定高度时，中间 form 盒模型在部分 Chromium/Edge 缩放比例下会按内容高度收缩，
   导致操作栏停在正文后方、modal 底部出现大片空白。
   处理：让 .tomorrow-plan-modal 本身直接成为“标题 / 正文 / 底栏”三行 Grid，
   #tomorrowPlanForm 使用 display:contents，仅保留表单语义而不再参与高度计算。 */
#modal .tomorrow-plan-modal{
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr) auto!important;
  align-content:stretch!important;
  position:relative!important;
  height:min(900px,calc(100dvh - 36px))!important;
  min-height:min(620px,calc(100dvh - 36px))!important;
  max-height:calc(100dvh - 36px)!important;
  overflow:hidden!important;
}
#modal .tomorrow-plan-modal>#tomorrowPlanForm.modal-layout-root{
  display:contents!important;
  position:static!important;
  inset:auto!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  max-width:none!important;
  max-height:none!important;
  overflow:visible!important;
}
#modal .tomorrow-plan-modal>#tomorrowPlanForm>.modalhead{
  grid-row:1!important;
  position:relative!important;
  top:auto!important;
  align-self:stretch!important;
  width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  margin:0!important;
}
#modal .tomorrow-plan-modal>#tomorrowPlanForm>.modal-scroll-body{
  grid-row:2!important;
  align-self:stretch!important;
  width:100%!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  max-height:none!important;
  box-sizing:border-box!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  scrollbar-gutter:stable!important;
  scroll-padding-top:16px!important;
  scroll-padding-bottom:24px!important;
  background:#f7f9fc!important;
}
#modal .tomorrow-plan-modal>#tomorrowPlanForm>.tomorrow-plan-actions{
  grid-row:3!important;
  position:relative!important;
  inset:auto!important;
  align-self:stretch!important;
  width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  margin:0!important;
  z-index:8!important;
  background:#fff!important;
  box-shadow:0 -8px 20px rgba(19,54,91,.06)!important;
}
@media(max-width:620px){
  #modal .tomorrow-plan-modal{
    height:calc(100dvh - 12px)!important;
    min-height:0!important;
    max-height:calc(100dvh - 12px)!important;
  }
  #modal .tomorrow-plan-modal>#tomorrowPlanForm>.modal-scroll-body{
    scrollbar-gutter:auto!important;
    scroll-padding-bottom:18px!important;
  }
}


/* ===== V2.6.117 明日工作计划：勾选任务后大片空白根因修复 =====
   真实触发条件不是普通高度不足，而是勾选任务后 JS 的 scrollIntoView 会尝试滚动所有可滚动祖先。
   Chromium/Edge 中 overflow:hidden 的 modal 仍可被程序化修改 scrollTop，于是整个三行布局上移，
   底栏被带到中部，底部就显示为大面积白色空区。
   本版将该弹窗外层改为 overflow:clip，使其不再成为可滚动容器；实际滚动仅允许发生在 .modal-scroll-body。 */
#modal .tomorrow-plan-modal{
  overflow:clip!important;
  overscroll-behavior:none!important;
}
#modal .tomorrow-plan-modal>#tomorrowPlanForm.modal-layout-root{
  overflow:clip!important;
}
#modal .tomorrow-plan-modal>#tomorrowPlanForm>.modal-scroll-body{
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  overflow-anchor:none!important;
}

/* ===== V2.6.118 全站弹窗滚动隔离审计修复 =====
   全站 openModal 已统一生成“标题 / .modal-scroll-body / 操作栏”结构。
   因 overflow:hidden 的元素在 Chromium / Edge 中仍可能被 focus、Tab、scrollIntoView 等程序化修改 scrollTop，
   所以外层 backdrop / modal / modal-layout-root 统一改为 overflow:clip，彻底取消其滚动容器身份；
   唯一允许滚动的区域仍为 .modal-scroll-body。该规则同时覆盖日报、任务、预算、车辆、宿舍、办公用品、领导工作台等弹窗。 */
#modal .backdrop{
  overflow:clip!important;
  overscroll-behavior:none!important;
}
#modal .modal,
#modal .modal>.modal-layout-root,
#modal .modal>form.modal-layout-root,
#modal .modal.modal-layout-root{
  overflow:clip!important;
  overscroll-behavior:none!important;
}
#modal .modal-scroll-body{
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
}


/* V2.6.128 · 领导端信息架构重组：我的工作记录独立、企管中心工作全览分离 */
.leader-personal-workspace{display:grid;gap:14px}
.leader-personal-hero{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(360px,.9fr);gap:18px;align-items:center;padding:22px 24px;border:1px solid #d9e7f2;border-radius:20px;background:linear-gradient(135deg,#f7fbff 0%,#fff 58%,#f5f9fd 100%);box-shadow:0 12px 28px rgba(33,78,116,.06)}
.leader-personal-hero-copy small{display:flex;align-items:center;gap:7px;color:#5f86a6;font-size:8px;font-weight:800;letter-spacing:1.2px}
.leader-personal-hero-copy small .ui-icon{width:15px;height:15px}
.leader-personal-hero-copy h2{margin:7px 0 5px;color:#193f60;font-size:24px;line-height:1.25}
.leader-personal-hero-copy p{margin:0;max-width:720px;color:#70879a;font-size:10px;line-height:1.7}
.leader-personal-quick{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.leader-personal-quick button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:0 10px;border:1px solid #d8e6f0;border-radius:11px;background:#fff;color:#315f82;font:inherit;font-size:9px;font-weight:800;cursor:pointer}
.leader-personal-quick button:hover{border-color:#a8c7dd;background:#f4f9fd}
.leader-personal-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.leader-personal-kpis article{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:center;padding:14px 15px;border:1px solid #e0e9f0;border-radius:15px;background:#fff}
.leader-personal-kpis article>span{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#edf6fc;color:#2b75aa}
.leader-personal-kpis article.warning>span{background:#fff4df;color:#a8721e}
.leader-personal-kpis small,.leader-personal-kpis em{display:block;color:#8798a6;font-size:7.5px;font-style:normal}
.leader-personal-kpis b{display:block;margin:1px 0;color:#294f68;font-size:19px;line-height:1.05}
.leader-personal-primary-grid,.leader-personal-secondary-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);gap:12px}
.leader-personal-secondary-grid{grid-template-columns:1fr 1fr}
.leader-personal-focus-list,.leader-personal-decision-list{display:grid;gap:8px}
.leader-personal-growth-layout{display:grid;grid-template-columns:minmax(250px,.68fr) minmax(0,1.32fr);gap:12px;align-items:start}
.leader-personal-growth-layout .executive-growth-summary{margin:0}
.leader-personal-workspace .leader-work-item{box-shadow:none}
.leader-personal-workspace .panel{min-width:0}
.view-workanalysis .analysis-tabs-sticky{position:sticky;top:0;z-index:8;padding-top:2px;background:linear-gradient(#f6f9fc 72%,rgba(246,249,252,0))}
@media(max-width:1100px){
  .leader-personal-hero{grid-template-columns:1fr}
  .leader-personal-primary-grid,.leader-personal-secondary-grid{grid-template-columns:1fr}
  .leader-personal-growth-layout{grid-template-columns:1fr}
}

/* V2.6.129 · 领导默认进入企管中心工作全览；品牌部工作分类固定为视频拍剪/平面设计/公众号/工会工作/其他，品牌端取消自定义分类。 */

/* V2.6.130 · 延期申请审批登录优先提醒与首页审批入口由 modules/ui-v210.css 提供样式。 */

/* ===== V2.6.140 月度工作识别：日报基准日 + 逾期完成确认 ===== */
.monthly-completion-review{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:14px;align-items:center;margin-top:13px;padding:14px 16px;border:1px solid #d9e8f6;border-radius:14px;background:linear-gradient(135deg,#f7fbff 0%,#fff 72%)}
.monthly-completion-review-copy{display:flex;gap:11px;align-items:flex-start}.monthly-completion-review-copy>span{display:grid;place-items:center;width:34px;height:34px;flex:0 0 auto;border-radius:10px;background:#eaf4ff;color:#397bbd}.monthly-completion-review-copy svg{width:17px;height:17px}.monthly-completion-review-copy b{display:block;color:#294c69;font-size:13px}.monthly-completion-review-copy p{margin:4px 0 0;color:#71879b;font-size:11px;line-height:1.6}
.monthly-completion-review-date{padding:10px 12px;border:1px solid #dce7f1;border-radius:11px;background:#fff}.monthly-completion-review-date span,.monthly-completion-review-date small{display:block}.monthly-completion-review-date span{margin-bottom:6px;color:#607990;font-size:10px;font-weight:800}.monthly-completion-review-date input{width:100%;height:36px;border:1px solid #cfdeeb;border-radius:8px;padding:0 9px;color:#31516c;background:#fff}.monthly-completion-review-date small{margin-top:5px;color:#8294a5;font-size:10px}
.monthly-plan-table td:nth-child(8){min-width:165px}.monthly-completion-check{display:grid;grid-template-columns:24px 1fr;column-gap:7px;align-items:center;cursor:pointer}.monthly-completion-check input{position:absolute;opacity:0;pointer-events:none}.monthly-completion-check>span{grid-row:1/3;display:grid;place-items:center;width:22px;height:22px;border:1px solid #bfd0df;border-radius:7px;background:#fff;color:transparent;transition:.15s ease}.monthly-completion-check>span svg{width:13px;height:13px}.monthly-completion-check>b{color:#49647c;font-size:11px}.monthly-completion-check>small{color:#8a9aaa;font-size:9px;line-height:1.35}.monthly-completion-check.checked>span{border-color:#74b395;background:#eaf7f0;color:#23805a}.monthly-completion-check.checked>b{color:#25765a}.monthly-completion-fixed,.monthly-completion-na{display:inline-flex;align-items:center;gap:5px;border-radius:99px;padding:6px 9px;font-size:10px;font-weight:800;white-space:nowrap}.monthly-completion-fixed{background:#eaf8f1;color:#25805d}.monthly-completion-fixed svg{width:12px;height:12px}.monthly-completion-na{background:#f2f5f7;color:#8695a3}
@media(max-width:720px){.monthly-completion-review{grid-template-columns:1fr}.monthly-completion-review-date{width:100%}.monthly-plan-table td:nth-child(8){min-width:155px}}

/* V2.6.142 release notes */
.release-notes-modal{max-width:640px}
.release-notes-body{padding:22px 26px;color:#20384f;line-height:1.75}
.release-notes-intro{margin:0 0 18px;color:#557086}
.release-notes-body ol{margin:0;padding-left:24px}
.release-notes-body li{padding:0 0 16px 6px}
.release-notes-body li::marker{color:#1677c8;font-weight:700}
.release-notes-body li b{font-size:16px;color:#075a9c}
.release-notes-body li p{margin:5px 0 0;font-size:14px}
.release-notes-hint{background:#eaf5fc;border-radius:10px;padding:12px 14px;font-size:13px;margin:4px 0 0;color:#557086}
@media(max-width:600px){.release-notes-body{padding:16px}.release-notes-modal h2{font-size:18px}}
