:root{--navy:#071d2c;--navy2:#0a2d42;--ink:#102638;--muted:#6a8294;--line:#d8e5ed;--bg:#eef6fa;--card:#fff;--blue:#0d90df;--cyan:#28c9f5;--green:#22b58b;--amber:#f6a523;--red:#e65353;--shadow:0 12px 30px rgba(34,75,99,.09)}
*{box-sizing:border-box}html{font-family:"Microsoft YaHei UI","Microsoft YaHei","PingFang SC",Arial,sans-serif;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{margin:0;background:var(--bg);font-size:15px}.sidebar{position:fixed;left:0;top:0;bottom:0;width:250px;background:var(--navy);color:#fff;padding:26px 18px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:13px;padding:0 7px 25px}.brand-mark{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#13b7f0,#ff9b21);font-size:25px;font-weight:900;font-style:italic}.brand strong{display:block;font-size:20px}.brand small{display:block;color:#9ab1c0;margin-top:3px}.sidebar nav{display:grid;gap:6px}.sidebar nav a{display:flex;gap:12px;align-items:center;color:#c5d6e0;text-decoration:none;padding:13px 14px;border-radius:10px;font-size:16px}.sidebar nav a span{width:20px;text-align:center}.sidebar nav a:hover,.sidebar nav a.active{background:#0d405b;color:#fff}.sidebar nav a.active{box-shadow:inset 3px 0 #27c5f7}.sidebar-foot{margin-top:auto;padding:18px 12px 0;border-top:1px solid #1c4358;display:grid;grid-template-columns:1fr auto}.sidebar-foot strong,.sidebar-foot small{display:block}.sidebar-foot small{color:#88a1b0}.sidebar-foot form{grid-row:1/3;grid-column:2}.link-button{border:0;background:none;color:#b7c9d4;cursor:pointer;font:inherit}.shell{margin-left:250px;min-height:100vh}.topbar{height:74px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px;position:sticky;top:0;z-index:10}.topbar h1{display:inline;margin:0;font-size:24px}.topbar span,.topbar-time{color:#8195a4;margin-left:12px}.content{padding:26px 32px 44px;max-width:1900px;margin:0 auto}.flash{padding:13px 16px;border-radius:9px;margin-bottom:16px;border:1px solid}.flash.success{background:#e9faf4;color:#147b61;border-color:#a8e0cf}.flash.error{background:#fff0f0;color:#a62d2d;border-color:#efb9b9}.panel{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:22px;margin-bottom:20px}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.panel h2,.panel h3{margin:0 0 5px}.panel-head p,.muted{margin:0;color:var(--muted)}.toolbar{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-bottom:20px}.toolbar.compact{margin:0}.toolbar label,label{display:grid;gap:7px;color:#506b7d}.toolbar-spacer{flex:1}input,select,textarea{width:100%;border:1px solid #cbdbe4;border-radius:9px;background:#fff;color:var(--ink);font:inherit;padding:11px 13px;outline:none}input:focus,select:focus,textarea:focus{border-color:#39aee8;box-shadow:0 0 0 3px rgba(57,174,232,.13)}textarea{min-height:220px;resize:vertical;line-height:1.7}.button{border:0;border-radius:9px;padding:11px 17px;font:inherit;font-weight:700;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.button.primary{background:#108fd9;color:#fff}.button.secondary{background:#e9f4fa;color:#0d74ac}.button.warning{background:#fff2d7;color:#a46b00}.button.danger{background:#ffeaea;color:#b73131}.button.wide{width:100%}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.metric{background:#fff;border:1px solid var(--line);border-radius:14px;padding:19px;box-shadow:var(--shadow)}.metric small{color:var(--muted)}.metric strong{display:block;font-size:30px;margin-top:10px}.metric.accent{border-top:4px solid var(--blue)}.metric.warn{border-top:4px solid var(--amber)}.metric.danger{border-top:4px solid var(--red)}.metric.success{border-top:4px solid var(--green)}.table-wrap{overflow:auto;border:1px solid #e2ebf0;border-radius:11px}table{width:100%;border-collapse:collapse;white-space:nowrap}th,td{text-align:left;padding:13px 14px;border-bottom:1px solid #e5edf2}th{background:#f5f9fb;color:#597183;font-weight:700}tr:last-child td{border-bottom:0}.tag{display:inline-flex;padding:4px 9px;border-radius:99px;background:#e9f5fb;color:#1979aa;font-size:13px}.tag.amber{background:#fff1ca;color:#9b6900}.tag.red{background:#ffe3e3;color:#b63131}.tag.green{background:#dff6ee;color:#12785e}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.form-grid .span-2{grid-column:span 2}.form-grid .span-4{grid-column:1/-1}.split{display:grid;grid-template-columns:1fr 1fr;gap:20px}.card-grid{display:grid;grid-template-columns:repeat(4,minmax(260px,1fr));gap:18px}.zone-card{border:1px solid #c9dde8;border-radius:15px;overflow:hidden;background:#fff}.zone-card-head{background:#0b455e;color:#fff;padding:16px 18px;display:flex;justify-content:space-between}.zone-card-head h3{font-size:20px;margin:0}.zone-card-head small{color:#c4e8f5}.assignment{display:grid;grid-template-columns:48px 1fr auto;gap:11px;align-items:center;margin:12px 14px;padding:10px;background:#f3f7f9;border-radius:10px}.avatar{width:42px;height:42px;border-radius:10px;background:#d9f1fa;display:grid;place-items:center;color:#087cae;font-size:20px;font-weight:800}.assignment strong,.assignment small{display:block}.assignment small{color:var(--muted);margin-top:2px}.assignment .phone{font-size:12px;color:#c55e25;text-align:right}.empty{padding:28px;color:#8aa0ae;text-align:center}.login-body{min-height:100vh;display:grid;place-items:center;background:#eef5f8}.login-card{width:min(440px,calc(100vw - 34px));background:#fff;border:1px solid var(--line);border-radius:20px;padding:36px;box-shadow:0 25px 60px rgba(17,51,70,.15)}.login-brand{padding:0 0 28px}.login-card h1{margin:0 0 8px}.login-card p{color:var(--muted);margin:0 0 25px}.login-card form{display:grid;gap:17px}.login-note{display:block;color:#8397a5;margin-top:18px;text-align:center}
/* 驾驶舱保持深色；其他功能页统一浅色、无光晕。 */
body.dashboard-page{background:#061522}.dashboard-page .content{background:#061522;color:#eaf6ff}.dashboard-page .topbar{background:#f7fafc}.cockpit-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.eyebrow{color:#35bfea;font-size:12px;letter-spacing:2px;font-weight:800}.cockpit-head h2{font-size:27px;margin:8px 0 4px}.cockpit-head p{margin:0;color:#7f9bad}.dashboard-page .metric,.dark-panel{background:#091e2d;border-color:#16384d;box-shadow:none;color:#eef8ff}.dashboard-page .metric small,.dashboard-page .muted{color:#7995a8}.dashboard-page .metric strong{color:#fff}.dashboard-page .summary-grid{grid-template-columns:repeat(6,minmax(150px,1fr))}.dashboard-layout{display:grid;grid-template-columns:2.2fr 1fr;gap:16px}.dark-panel{border:1px solid #16384d;border-radius:14px;padding:20px}.chart{height:270px;display:flex;align-items:end;gap:7px;padding-top:30px;border-bottom:1px solid #234052}.bar-wrap{height:100%;flex:1;display:flex;align-items:end;position:relative}.bar{width:100%;min-height:3px;background:#1d9fe9}.bar.peak{background:#f5a62e}.bar-label{position:absolute;bottom:-23px;width:100%;text-align:center;color:#67879a;font-size:11px}.bar-value{position:absolute;bottom:calc(var(--h) + 6px);width:100%;text-align:center;color:#9bc5d9;font-size:10px}.dashboard-bottom{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:16px}.dark-list{display:grid;gap:10px}.dark-list-item{background:#0d2636;border-left:3px solid var(--amber);padding:11px 12px}.dark-list-item strong{display:block}.dark-list-item small{color:#7896a9}.progress{height:8px;background:#173549;border-radius:99px;overflow:hidden}.progress span{display:block;height:100%;background:#1ba4ee}.weather-big{font-size:28px;font-weight:800;margin:12px 0}
@media(max-width:1200px){.summary-grid,.dashboard-page .summary-grid{grid-template-columns:repeat(3,1fr)}.card-grid{grid-template-columns:repeat(2,1fr)}.dashboard-bottom{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.sidebar{width:78px;padding:18px 9px}.brand div,.sidebar nav a:not(.active){font-size:0}.sidebar nav a{justify-content:center}.sidebar nav a span{font-size:18px}.sidebar-foot{display:none}.shell{margin-left:78px}.topbar{padding:0 17px}.topbar span{display:none}.content{padding:18px}.summary-grid,.dashboard-page .summary-grid,.split,.dashboard-layout,.dashboard-bottom,.card-grid,.form-grid{grid-template-columns:1fr}.form-grid .span-2,.form-grid .span-4{grid-column:auto}}

/* 辰远站点管家品牌、天气和权限页 */
.brand{display:block;padding:0 7px 20px}.brand-logo{display:block;width:192px;height:58px;object-fit:contain;object-position:left center;margin-bottom:8px}.brand strong{font-size:21px;letter-spacing:2px}.sidebar-foot small a{color:#88a1b0;text-decoration:none}.login-card{width:min(460px,calc(100vw - 34px))}.login-brand-block{background:var(--navy);border-radius:15px;padding:20px;margin-bottom:27px}.login-brand-block img{display:block;width:100%;height:72px;object-fit:contain}.login-brand-block strong{display:block;color:#fff;font-size:25px;letter-spacing:3px;margin-top:8px}.login-brand-block small{color:#9ab7c8}.notice{display:flex;gap:12px;align-items:center;padding:14px 17px;border-radius:11px;border:1px solid;margin-bottom:20px}.notice strong{white-space:nowrap}.notice.warning{background:#fff7df;border-color:#f2d389;color:#885e00}.notice.success{background:#eaf9f4;border-color:#a9dfcf;color:#15765e}.weather-now{background:#0b354b;color:#fff;display:grid;grid-template-columns:1.1fr 2fr;gap:30px;border:0;box-shadow:none}.weather-now-main{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.weather-now-main .eyebrow{width:100%}.weather-now-main>strong{font-size:65px;line-height:1}.weather-now-main h2{font-size:26px}.weather-now-main p{color:#acd0df;margin:5px 0}.weather-now-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#245063;border:1px solid #245063;border-radius:12px;overflow:hidden}.weather-now-grid>div{background:#103f55;padding:15px}.weather-now-grid small,.weather-now-grid b,.weather-now-grid em{display:block}.weather-now-grid small{color:#9fc2d1}.weather-now-grid b{font-size:20px;margin-top:7px}.weather-now-grid b.small-value{font-size:16px}.weather-now-grid em{color:#7da6b8;font-size:12px;font-style:normal}.section-kicker{font-size:11px;letter-spacing:2px;color:#0d91d7;font-weight:800}.business-weather-grid{display:grid;grid-template-columns:repeat(3,minmax(280px,1fr));gap:14px}.business-weather-card{border:1px solid #d9e7ee;border-top:4px solid var(--green);border-radius:13px;padding:18px}.business-weather-card.risk-medium{border-top-color:var(--amber)}.business-weather-card.risk-high{border-top-color:var(--red)}.business-card-head{display:flex;justify-content:space-between}.business-card-head small{color:var(--muted)}.risk-score{font-size:28px;font-weight:800;color:#17384a}.risk-score small{display:block;font-size:10px;text-align:right}.weather-condition{display:flex;justify-content:space-between;margin:18px 0;font-size:18px}.business-weather-card dl{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0}.business-weather-card dl div{background:#f3f8fa;border-radius:9px;padding:10px}.business-weather-card dt{font-size:12px;color:var(--muted)}.business-weather-card dd{margin:4px 0 0;font-weight:800}.business-weather-card>p{margin:14px 0 0;color:#536e7f;line-height:1.6}.wide-empty{grid-column:1/-1}.source-link{color:#087db9;text-decoration:none;font-size:13px}.hourly-table .business-hour td{background:#eef9fe}.hourly-table .tag{margin-left:7px;padding:2px 6px;font-size:11px}.rain-prob.high{color:#c23b3b;font-weight:800}.password-panel{max-width:560px;margin:20px auto}.stack-form{display:grid;gap:16px}.section-label{margin:22px 0 12px}.permission-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.permission-item{grid-template-columns:20px 1fr;display:grid;align-items:start;background:#f4f8fa;padding:12px;border-radius:10px;cursor:pointer}.permission-item input,.switch-line input{width:auto}.permission-item strong,.permission-item small{display:block}.permission-item small{color:var(--muted);font-size:12px;line-height:1.45;margin-top:3px}.switch-line{display:flex;align-items:center;gap:8px;margin-top:15px}.form-actions{margin-top:18px}.account-layout{grid-template-columns:1.15fr .85fr}.account-form{grid-template-columns:1fr 1fr}.account-list{display:grid;gap:10px}.account-row{display:grid;grid-template-columns:46px 1fr auto auto;gap:12px;align-items:center;border:1px solid #e0eaf0;border-radius:11px;padding:12px}.account-row.disabled{opacity:.6}.account-avatar{width:42px;height:42px;border-radius:10px;background:#dff2fa;color:#087daa;font-size:20px;font-weight:800;display:grid;place-items:center}.account-row strong,.account-row small{display:block}.account-row small{color:var(--muted);margin-top:3px}
@media(max-width:1200px){.business-weather-grid{grid-template-columns:repeat(2,1fr)}.weather-now{grid-template-columns:1fr}.account-layout{grid-template-columns:1fr}}
@media(max-width:800px){.brand-logo{width:58px;height:45px;margin:0}.brand>div{display:none}.weather-now-grid,.business-weather-grid,.permission-grid{grid-template-columns:1fr}.weather-now-main>strong{font-size:50px}.account-form{grid-template-columns:1fr}.account-row{grid-template-columns:46px 1fr auto}.account-row .button{grid-column:1/-1}}

/* 2026-08 视觉升级：高端科技感、清晰排版、无发光与模糊。 */
:root{
  --navy:#061d2b;
  --navy2:#0a354b;
  --ink:#102c3f;
  --muted:#627b8b;
  --line:#d8e5ec;
  --bg:#f2f7fa;
  --card:#fff;
  --blue:#078fce;
  --cyan:#22bce9;
  --green:#159c7a;
  --amber:#f39b19;
  --red:#d84c4c;
  --shadow:0 9px 24px rgba(25,58,76,.075)
}
html{
  font-family:"Microsoft YaHei UI","PingFang SC","Microsoft YaHei","Noto Sans CJK SC",Arial,sans-serif;
  color:var(--ink);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:auto
}
body{font-size:15px;line-height:1.55;letter-spacing:0;background:var(--bg)}
body,button,input,select,textarea{font-family:inherit}
body *{text-shadow:none}
.sidebar{
  width:264px;
  padding:24px 18px 20px;
  background:#061d2b;
  border-right:1px solid #153848;
  box-shadow:none
}
.brand{padding:0 10px 23px;margin-bottom:8px;border-bottom:1px solid #173b4c}
.brand-logo{width:206px;height:59px;margin:0 0 11px;object-fit:contain;object-position:left center;filter:none}
.brand strong{font-size:22px;line-height:1.25;letter-spacing:3px;color:#fff}
.brand small{margin-top:5px;color:#91aabb;font-size:12px;letter-spacing:.4px}
.sidebar nav{gap:5px}
.sidebar nav a{
  min-height:47px;
  padding:11px 14px;
  border:1px solid transparent;
  border-radius:9px;
  color:#bed0da;
  font-size:15px;
  font-weight:500;
  transition:background-color .16s ease,color .16s ease,border-color .16s ease
}
.sidebar nav a span{color:#67c8ea;font-size:17px}
.sidebar nav a:hover{background:#0a3145;border-color:#17475d;color:#fff}
.sidebar nav a.active{
  background:#0b4059;
  border-color:#1b5870;
  color:#fff;
  box-shadow:inset 3px 0 #27bde8
}
.sidebar-foot{padding:17px 11px 0;border-color:#173b4c}
.sidebar-foot strong{font-size:14px;color:#f3f8fa}.sidebar-foot small,.sidebar-foot small a{color:#89a3b2}
.shell{margin-left:264px}
.topbar{
  height:76px;
  padding:0 34px;
  background:#fff;
  border-bottom:1px solid #d9e6ed;
  box-shadow:none
}
.topbar h1{font-size:24px;line-height:1.25;letter-spacing:.2px;color:#0c2c42}
.topbar span,.topbar-time{font-size:13px;color:#7c909d}
.content{padding:28px 34px 48px;max-width:1920px}
.panel{
  border:1px solid var(--line);
  border-radius:14px;
  padding:23px;
  box-shadow:var(--shadow)
}
.panel-head{padding-bottom:16px;margin-bottom:19px;border-bottom:1px solid #e6eef2}
.panel h2{font-size:21px;color:#0d2d41}.panel h3{color:#14374b}
.panel-head p,.muted{color:var(--muted)}
input,select,textarea{
  border-color:#c9d9e2;
  border-radius:8px;
  min-height:43px;
  color:#173447;
  background:#fff;
  box-shadow:none
}
input:focus,select:focus,textarea:focus{border-color:#168fc8;box-shadow:0 0 0 2px rgba(22,143,200,.12)}
.button{min-height:42px;border-radius:8px;box-shadow:none;transition:background-color .16s ease,border-color .16s ease}
.button.primary{background:#087fb8;color:#fff}.button.primary:hover{background:#086e9f}
.button.secondary{background:#edf6fa;color:#096e9d;border:1px solid #cde4ee}
.summary-grid{gap:15px}
.metric{
  position:relative;
  overflow:hidden;
  min-height:126px;
  border:1px solid var(--line);
  border-top:1px solid var(--line);
  border-radius:13px;
  padding:20px;
  box-shadow:var(--shadow)
}
.metric:before{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:#78a5bb}
.metric.accent:before{background:var(--blue)}.metric.warn:before{background:var(--amber)}
.metric.danger:before{background:var(--red)}.metric.success:before{background:var(--green)}
.metric.accent,.metric.warn,.metric.danger,.metric.success{border-top:1px solid var(--line)}
.metric small{color:#688090;font-size:13px}.metric strong{font-size:31px;line-height:1.2;color:#102f43}
.table-wrap{border-color:#dbe7ed;border-radius:10px;background:#fff}
th{background:#f4f8fa;color:#496778;font-size:13px;letter-spacing:.2px}
th,td{padding:13px 15px;border-color:#e6eef2}
tbody tr:hover td{background:#f8fbfc}
.zone-card{border-color:#cbdfe8;border-radius:13px;box-shadow:0 6px 18px rgba(28,67,87,.06)}
.zone-card-head{background:#0b4057;padding:16px 18px}.zone-card-head small{color:#a8d6e7}
.assignment{background:#f4f8fa;border:1px solid #e8f0f3}
.avatar{background:#dceff6;color:#0878a3}
.notice,.flash{box-shadow:none}
.login-body{background:#edf4f7}
.login-card{border-radius:16px;border-color:#d5e3ea;box-shadow:0 18px 46px rgba(12,45,62,.13)}
.login-brand-block{background:transparent;border:0;border-bottom:1px solid #dce7ec;border-radius:0;padding:4px 0 20px}
.login-brand-block img{height:72px;object-fit:contain;object-position:left center;filter:none;margin-bottom:13px}
.login-brand-block strong{font-size:24px;color:#0c2c42}.login-brand-block small{color:#6d8391}

/* 驾驶舱保留深色数据氛围，但不使用光晕。 */
body.dashboard-page{background:#071926}
.dashboard-page .content{background:#071926}
.dashboard-page .topbar{background:#fff;border-color:#d9e6ed}
.dashboard-page .metric,.dark-panel{background:#0a2231;border:1px solid #183b4e;box-shadow:none}
.dashboard-page .metric:before{height:3px}
.dark-panel{border-radius:13px}
.bar{background:#159bd6}.bar.peak{background:#f3a127}
.dark-list-item{background:#0d293a;border-left-color:#ef9c23}
.progress{background:#173a4d}.progress span{background:#179ed8}
.weather-now{background:#0a354b;border:1px solid #1c5168;border-radius:14px}
.weather-now-grid{background:#28586c;border-color:#28586c}.weather-now-grid>div{background:#104259}

@media(max-width:1200px){.sidebar{width:238px}.shell{margin-left:238px}.brand-logo{width:181px}}
@media(max-width:800px){
  .sidebar{width:76px;padding:18px 8px}.shell{margin-left:76px}.brand{padding:0 8px 17px}.brand-logo{width:52px;height:43px;margin:0}
  .topbar{height:68px;padding:0 17px}.topbar h1{font-size:21px}.content{padding:18px}
}

/* 人员档案中心：单页建档、导入预览与受控材料。 */
#employee-import,#employee-import-preview,#employee-form,#employee-documents,#employee-list{scroll-margin-top:94px}
.employee-page-nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  min-height:64px;
  margin-bottom:18px;
  padding:13px 18px;
  background:#fff;
  border:1px solid #d8e5ec;
  border-left:4px solid #128fc5;
  border-radius:12px;
  box-shadow:0 5px 16px rgba(25,58,76,.055)
}
.employee-page-nav>div:first-child{display:grid;gap:2px}
.employee-page-nav strong{font-size:16px;color:#123348}.employee-page-nav span{font-size:12px;color:#6f8491}
.employee-page-nav-links{display:flex;gap:5px;flex-wrap:wrap}
.employee-page-nav-links a{
  padding:8px 12px;
  border-radius:7px;
  color:#176f98;
  font-size:13px;
  font-weight:700;
  text-decoration:none
}
.employee-page-nav-links a:hover{background:#edf6fa;color:#075f8a}
.employee-page-nav-links .employee-entry-button{border:1px solid #bcdce9;background:#eef8fc}
.employee-page-nav-links .employee-entry-button.active{border-color:#108fd9;background:#108fd9;color:#fff}
.employee-summary .metric span{display:block;margin-top:6px;color:#79909d;font-size:12px}
.employee-panel-head{align-items:center}.employee-panel-head .section-kicker{display:block;margin-bottom:5px}
.employee-panel-head h2{margin-bottom:5px}.employee-panel-head p{max-width:940px;line-height:1.65}
.employee-import-form{display:grid;grid-template-columns:minmax(310px,.72fr) minmax(460px,1.28fr);gap:16px}
.employee-file-drop{
  min-height:244px;
  padding:25px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:8px;
  text-align:center;
  border:1px dashed #9bc6d9;
  border-radius:11px;
  background:#f5fafc;
  color:#1d4f67
}
.employee-file-drop:hover{border-color:#2c97c6;background:#f1f8fb}
.employee-file-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:10px;background:#dceff6;color:#087eae;font-size:27px;font-weight:700}
.employee-file-drop strong{font-size:18px;color:#12384e}.employee-file-drop small{color:#708895}
.employee-file-drop input[type=file]{margin-top:9px;padding:8px;min-height:40px;background:#fff;cursor:pointer}
.employee-paste-box{display:grid;grid-template-rows:auto 1fr}.employee-paste-box textarea{min-height:244px;font-family:"Microsoft YaHei UI","PingFang SC",sans-serif;font-size:14px;line-height:1.75}
.employee-import-note{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:start;
  gap:11px;
  padding:12px 14px;
  border:1px solid #d3e5ed;
  border-radius:9px;
  background:#f2f8fb;
  color:#557485;
  font-size:13px;
  line-height:1.65
}
.employee-import-note strong{color:#1178a4;white-space:nowrap}.employee-import-note.compact{margin-top:15px}
.employee-form-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;grid-column:1/-1;margin-top:2px}
.employee-preview-panel{border-top:3px solid #158dbf}.employee-preview-wrap{max-height:610px}
.employee-preview-table{min-width:2140px;white-space:normal}
.employee-preview-table th{position:sticky;top:0;z-index:2;white-space:nowrap}
.employee-preview-table td{vertical-align:top;min-width:154px;background:#fff}.employee-preview-table td:first-child{min-width:146px}
.employee-preview-table input,.employee-preview-table select{min-height:38px;padding:8px 9px;font-size:13px;margin-bottom:6px}
.employee-preview-table label{gap:3px;font-size:11px}.employee-preview-table label input{margin-top:1px}
.preview-action-cell{position:sticky;left:0;z-index:1;border-right:1px solid #dde8ed}.employee-preview-table thead th:first-child{left:0;z-index:3}
.matched-hint{display:block;margin-top:3px;color:#138267;font-size:11px}.preview-rate-cell{min-width:138px!important}
.match-label{display:block;margin-top:4px;color:#6d8491;font-size:11px;line-height:1.4}
.preview-notes{min-width:200px;min-height:112px!important;padding:8px!important;font-size:12px!important;line-height:1.5!important}
.parse-warning{display:block;margin-top:5px;color:#b36b00;line-height:1.45}
.preview-detail-cell{min-width:310px!important}.preview-more{margin-top:8px;border:1px solid #dce7ed;border-radius:7px;background:#f8fbfc}
.preview-more>summary{padding:8px 9px;color:#21769b;font-size:11px;font-weight:700;cursor:pointer}.preview-more>div{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:8px;border-top:1px solid #e2ebef}
.preview-more label{font-size:10px}.preview-more input{min-width:0;margin:0!important}
.employee-record-panel{padding-bottom:18px}
.employee-form-section{
  margin:0 0 12px;
  border:1px solid #dce7ed;
  border-radius:11px;
  background:#fff;
  overflow:hidden
}
.employee-form-section>summary{
  min-height:66px;
  padding:14px 17px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  list-style:none;
  background:#f6f9fb;
  cursor:pointer;
  user-select:none
}
.employee-form-section>summary::-webkit-details-marker{display:none}
.employee-form-section>summary:after{content:"＋";margin-left:auto;color:#568196;font-size:21px;font-weight:400}
.employee-form-section[open]>summary{border-bottom:1px solid #e1ebf0;background:#f4f8fa}
.employee-form-section[open]>summary:after{content:"−"}
.employee-form-section>summary>span:first-child{display:grid;grid-template-columns:35px auto;column-gap:10px;align-items:center}
.employee-form-section>summary b{grid-row:1/3;width:32px;height:32px;border-radius:8px;display:grid;place-items:center;background:#dceff6;color:#0d7ba8;font-size:12px;letter-spacing:.5px}
.employee-form-section>summary strong{font-size:16px;color:#14384c}.employee-form-section>summary small{color:#728995;font-size:12px}
.employee-form-grid{padding:18px}.employee-form-grid label{font-size:13px;color:#506d7d}
.employee-form-grid label em{color:#d84c4c;font-style:normal}.employee-form-grid input,.employee-form-grid select{margin-top:1px}
.employee-section-tip{margin:0 18px 18px;padding:10px 12px;border-left:3px solid #3b9cc5;background:#f2f8fa;color:#5b7888;font-size:12px;line-height:1.6}
.employee-sensitive-section{border-color:#eadbbf}.employee-sensitive-section>summary,.employee-sensitive-section[open]>summary{background:#fffaf0;border-color:#eee0c5}
.employee-sensitive-section>summary b{background:#fff0ca;color:#956100}
.employee-sensitive-note{display:grid;grid-template-columns:auto 1fr;gap:11px;margin:0 18px 18px;padding:11px 13px;border:1px solid #ead8a8;border-radius:8px;background:#fffbef;color:#705e34;font-size:12px;line-height:1.65}
.employee-sensitive-note strong{white-space:nowrap;color:#8d6300}
.employee-locked{margin:18px;padding:17px;display:grid;gap:3px;border:1px solid #dce7ec;border-radius:9px;background:#f5f8fa;color:#667d8a}
.employee-locked strong{color:#314f60}.employee-locked span{font-size:13px}
.employee-form-section>label{display:block;padding:18px}.employee-form-section>label textarea{min-height:118px}
.sticky-actions{position:sticky;bottom:12px;z-index:5;margin-top:17px;padding:12px;border:1px solid #dbe7ed;border-radius:10px;background:rgba(255,255,255,.97);box-shadow:0 7px 20px rgba(20,59,79,.1)}
.document-count{padding:7px 11px;border:1px solid #cae1eb;border-radius:99px;color:#167ca7;font-size:13px;white-space:nowrap}
.document-upload-form{margin-bottom:18px;padding:17px;border:1px solid #dce8ee;border-radius:10px;background:#f6f9fb}
.document-upload-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;align-items:end}
.document-upload-grid label{font-size:13px}.document-upload-grid .span-2{grid-column:span 2}
.document-file-field{grid-column:span 2}.document-file-field input{padding:7px}.document-file-field small{color:#7a909c;font-size:11px}
.document-upload-action{display:flex;justify-content:flex-end}.document-table{min-width:1150px;white-space:normal}
.document-table td{vertical-align:middle}.document-table td strong,.document-table td span,.document-table td small{display:block}.document-table td small{margin-top:3px;color:#778e9a;font-size:11px;line-height:1.4}
.document-name{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#284c60}
.table-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.table-actions form{display:inline-flex;margin:0}.button.small{min-height:34px;padding:7px 10px;border-radius:7px;font-size:12px}
.document-audit{margin-top:16px;border:1px solid #dce7ed;border-radius:9px;background:#fafcfd}
.document-audit>summary{padding:13px 15px;cursor:pointer;color:#315a6f;font-weight:700}.audit-list{border-top:1px solid #e3ebef}
.audit-list>div{display:grid;grid-template-columns:160px 110px 140px 1fr;gap:12px;padding:10px 15px;border-bottom:1px solid #e8eef1;color:#557181;font-size:12px}.audit-list>div:last-child{border-bottom:0}.audit-list strong{color:#183d51}.audit-list small{color:#718a97}
.employee-directory{min-width:1250px;white-space:normal}.employee-directory td{vertical-align:middle}.employee-directory td>strong,.employee-directory td>small,.employee-directory td>span+small{display:block}.employee-directory td>small{margin-top:3px;color:#778d99;font-size:11px}
.employee-name-cell{display:flex;align-items:center;gap:10px;min-width:145px}.employee-name-cell strong,.employee-name-cell small{display:block}.employee-name-cell small{margin-top:2px;color:#758b98;font-size:11px}
.employee-mini-avatar{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border-radius:9px;background:#deeff6;color:#0a7ca8;font-size:17px;font-weight:800}
.profile-score{display:grid;grid-template-columns:minmax(88px,1fr) auto;align-items:center;gap:8px;min-width:130px}.profile-score>div{height:7px;border-radius:99px;background:#e4edf1;overflow:hidden}.profile-score>div span{display:block;height:100%;max-width:100%;background:#168bbd}.profile-score b{color:#355b6e;font-size:12px}
.text-warning{color:#ac6e00!important}.text-danger{color:#bd3434!important}

@media(max-width:1350px){
  .employee-import-form{grid-template-columns:1fr 1.25fr}
  .document-upload-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:1050px){
  .employee-page-nav{align-items:flex-start;flex-direction:column}
  .employee-import-form{grid-template-columns:1fr}.employee-file-drop{min-height:190px}.employee-paste-box textarea{min-height:220px}
  .document-upload-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.document-file-field{grid-column:span 1}
}
@media(max-width:800px){
  .employee-page-nav{padding:13px}.employee-page-nav-links{width:100%}.employee-page-nav-links a{flex:1;text-align:center;background:#f0f7fa}
  .employee-summary{grid-template-columns:repeat(2,1fr)}.employee-summary .metric{min-height:116px;padding:16px}.employee-summary .metric strong{font-size:27px}
  .employee-panel-head{align-items:flex-start;flex-direction:column}.employee-panel-head .button{width:100%}
  .employee-import-panel,.employee-preview-panel,.employee-record-panel,.employee-documents-panel,.employee-list-panel{padding:16px}
  .employee-form-section>summary{padding:12px}.employee-form-section>summary>span:first-child{grid-template-columns:32px auto}.employee-form-section>summary small{max-width:210px}
  .employee-form-grid{padding:14px}.employee-sensitive-note{grid-template-columns:1fr;margin:0 14px 14px}
  .sticky-actions{bottom:7px}.sticky-actions .button{flex:1}
  .document-upload-grid{grid-template-columns:1fr}.document-upload-grid .span-2,.document-file-field{grid-column:auto}.document-upload-action .button{width:100%}
  .audit-list>div{grid-template-columns:1fr 1fr}.audit-list small{grid-column:1/-1}
}
@media(max-width:520px){
  .employee-summary{grid-template-columns:1fr 1fr;gap:9px}.employee-summary .metric{min-height:104px;padding:13px}.employee-summary .metric small{font-size:12px}.employee-summary .metric strong{font-size:24px;margin-top:6px}.employee-summary .metric span{font-size:10px}
  .employee-page-nav-links{display:grid;grid-template-columns:1fr}.employee-import-note{grid-template-columns:1fr}
  .employee-file-drop{padding:18px}.employee-form-section>summary small{display:none}.employee-form-section>summary:after{font-size:18px}
  .sticky-actions{display:grid;grid-template-columns:1fr 1fr}.audit-list>div{grid-template-columns:1fr}
}

/* 排班、考勤、工资结算 */
.schedule-editor-head{display:flex;align-items:center;gap:14px;margin-bottom:18px;padding:13px 16px;border:1px solid #d5e4eb;border-radius:11px;background:#fff}.schedule-editor-head>div{display:grid;gap:2px}.schedule-editor-head strong{font-size:18px;color:#14384c}.schedule-editor-head span{font-size:12px;color:#718894}
.schedule-entry-panel{border-top:3px solid #138fc4}.schedule-roster-rule,.schedule-live-note,.payroll-rule-note{display:flex;align-items:flex-start;gap:11px;margin:15px 0;padding:11px 13px;border:1px solid #d6e5ec;border-radius:8px;background:#f3f8fa;color:#587585;font-size:13px}.schedule-roster-rule strong,.payroll-rule-note strong{color:#1179a4;white-space:nowrap}.schedule-live-note{margin-top:0;border-color:#ead7a4;background:#fff9ea;color:#735f2c}
.attendance-generate-panel{display:flex;align-items:center;justify-content:space-between;gap:20px;border-left:4px solid #159c7a}.attendance-generate-panel h2{margin-bottom:5px}.attendance-generate-panel p{margin:0;color:#627b8b;max-width:980px}.attendance-generate-panel form{flex:0 0 auto}
.schedule-zone-grid{grid-template-columns:repeat(5,minmax(220px,1fr))}.schedule-building-grid{grid-template-columns:repeat(4,minmax(250px,1fr))}.schedule-zone-grid .zone-card-head h3,.schedule-building-grid .zone-card-head h3{color:#fff!important}.building-card .zone-card-head h3{font-size:18px}.compact-empty{padding:17px}
.schedule-person{margin:10px 11px;border:1px solid #e0eaef;border-radius:9px;background:#f7fafb;overflow:hidden}.schedule-person>summary{display:grid;grid-template-columns:48px 1fr auto;gap:9px;align-items:center;padding:9px;cursor:pointer;list-style:none}.schedule-person>summary::-webkit-details-marker{display:none}.schedule-person[open]>summary{border-bottom:1px solid #dfe9ee;background:#eef6f9}.schedule-person-main strong,.schedule-person-main small,.schedule-person .phone small{display:block}.schedule-person-main small,.schedule-person .phone small{color:#728895;font-size:11px}.schedule-person .phone{text-align:right;color:#b65e2c;font-size:12px}.shift-plan-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:10px}.shift-plan-actions label{font-size:11px}.shift-plan-actions input,.shift-plan-actions select{min-height:37px;padding:7px 9px;font-size:12px}.shift-plan-actions>div{grid-column:1/-1;display:flex;justify-content:flex-end;gap:6px}.schedule-person-readonly{padding:9px;color:#718a97;font-size:11px}
.building-add{border-top:1px solid #dce8ed;background:#f5fafc}.building-add>summary{padding:10px 13px;color:#1179a4;font-size:12px;font-weight:700;cursor:pointer}.building-add form{display:grid;gap:8px;padding:0 11px 11px}.building-add label{font-size:11px}.building-add input,.building-add select{min-height:36px;padding:7px 8px;font-size:12px}
.attendance-add-panel>summary{cursor:pointer;color:#1179a4;font-size:16px;font-weight:700}.attendance-add-panel[open]>summary{margin-bottom:17px;padding-bottom:14px;border-bottom:1px solid #e1ebef}.attendance-add-actions{display:flex;justify-content:flex-end}.attendance-table{min-width:1500px;white-space:normal}.attendance-table td{vertical-align:middle}.attendance-table td strong,.attendance-table td small{display:block}.attendance-table td small{margin-top:3px;color:#748a96;font-size:11px}.attendance-table .table-input{min-height:35px;padding:6px 8px;font-size:12px}.attendance-table .number-input{width:88px}.attendance-table .note-input{min-width:170px}.attendance-table td:last-child{min-width:135px}.attendance-table td:last-child form{display:inline-flex;margin:2px}.payroll-rule-note{margin-top:0;border-left:4px solid #168dbf}.payroll-rule-note+ .summary-grid{margin-top:17px}
.employee-type-nav{display:flex;gap:8px;flex-wrap:wrap;margin:-4px 0 18px}.employee-type-nav a{padding:9px 14px;border:1px solid #cfe0e8;border-radius:8px;background:#fff;color:#2d6279;text-decoration:none;font-weight:700;font-size:13px}.employee-type-nav a.active{border-color:#168fc8;background:#eaf6fb;color:#0875a6}.employee-type-guidance{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:0 18px 13px}.employee-type-guidance>div{display:grid;gap:2px;padding:10px 12px;border:1px solid #dbe8ed;border-radius:8px;background:#f5fafc}.employee-type-guidance strong{color:#176f98;font-size:13px}.employee-type-guidance span{color:#66808d;font-size:11px;line-height:1.5}
@media(max-width:1350px){.schedule-zone-grid{grid-template-columns:repeat(3,1fr)}.schedule-building-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1000px){.schedule-zone-grid,.schedule-building-grid{grid-template-columns:repeat(2,1fr)}.attendance-generate-panel{align-items:flex-start;flex-direction:column}.employee-type-guidance{grid-template-columns:1fr}}
@media(max-width:650px){.schedule-zone-grid,.schedule-building-grid{grid-template-columns:1fr}.schedule-editor-head{align-items:flex-start;flex-direction:column}.schedule-editor-head .button{width:100%}.shift-plan-actions{grid-template-columns:1fr}.attendance-add-form{grid-template-columns:1fr}.attendance-add-form .span-2,.attendance-add-form .span-4{grid-column:auto}.employee-type-nav{display:grid;grid-template-columns:1fr 1fr}}

/* 固定表式排班录入 */
.schedule-entry-panel{padding:0;overflow:hidden;scroll-margin-top:90px}.schedule-entry-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;cursor:pointer;list-style:none;background:#fff}.schedule-entry-summary::-webkit-details-marker{display:none}.schedule-entry-summary>span:first-child{display:grid;gap:3px}.schedule-entry-summary b{font-size:19px;color:#123b50}.schedule-entry-summary small{color:#6f8794;font-size:12px}.schedule-entry-panel[open]>.schedule-entry-summary{border-bottom:1px solid #dce8ee;background:#f8fbfc}.schedule-grid-form{padding:20px 22px 0}.schedule-entry-grid{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:18px}.schedule-smart-import{padding:18px;border:1px solid #d7e5ec;border-radius:12px;background:#f7fafc}.schedule-smart-copy{display:grid;grid-template-columns:1fr minmax(360px,.9fr);gap:20px;align-items:start;margin-bottom:13px}.schedule-smart-copy h3{font-size:19px;margin:4px 0}.schedule-smart-copy p{margin:0;color:#687f8c}.schedule-format-example{display:grid;gap:5px;padding:12px 14px;border-left:3px solid #1597ca;background:#fff}.schedule-format-example strong{color:#165e7d}.schedule-format-example code{font-family:"Microsoft YaHei UI","Microsoft YaHei",sans-serif;color:#173b4d;font-size:14px}.schedule-format-example span{font-size:12px;color:#718895}.schedule-smart-import textarea{min-height:170px;background:#fff;font-size:14px;line-height:1.65}.schedule-import-actions{margin-top:12px}.schedule-fixed-section{margin-top:20px}.schedule-fixed-table-wrap{overflow:auto;border:1px solid #d9e6ec;border-radius:12px;background:#fff}.schedule-fixed-table{min-width:920px;table-layout:fixed;white-space:normal}.schedule-fixed-table thead th{position:sticky;top:0;z-index:2;background:#edf5f8;color:#234f64;font-size:14px}.schedule-fixed-table th:first-child{width:180px}.schedule-fixed-table tbody>tr:not(.schedule-grid-divider)>th{background:#fbfdfe;color:#244d61}.schedule-fixed-table td,.schedule-fixed-table tbody>tr:not(.schedule-grid-divider)>th{padding:8px 11px}.schedule-grid-divider th{padding:9px 13px!important;background:#0d4a63!important;color:#fff!important;font-size:13px;letter-spacing:.8px}.schedule-row-index{display:inline-grid;place-items:center;width:24px;height:24px;margin-right:9px;border-radius:7px;background:#e4f2f7;color:#15789f;font-size:11px}.schedule-slot-input{min-height:39px;padding:8px 10px;border-color:#d4e2e8;background:#fff}.schedule-slot-input.is-filled{border-color:#72bfdc;background:#f2fbfe}.schedule-slot-input.has-placeholder{border-color:#e7aa4d;background:#fff9e8;color:#875a00}.schedule-recognition-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}.schedule-recognition-summary>div{padding:13px 15px;border:1px solid #dbe7ed;border-radius:10px;background:#f7fafc}.schedule-recognition-summary small,.schedule-recognition-summary strong{display:block}.schedule-recognition-summary small{color:#718793}.schedule-recognition-summary strong{margin-top:5px;color:#163f54;font-size:22px}.schedule-publish-bar{position:sticky;bottom:0;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:18px;margin:20px -22px 0;padding:15px 22px;border-top:1px solid #cfe0e8;background:#f7fbfd}.schedule-publish-bar>span{display:grid;gap:3px}.schedule-publish-bar b{color:#173e52}.schedule-publish-bar small{color:#708793}.schedule-preview-details{margin:0 22px 22px;border:1px solid #dbe7ed;border-radius:10px;overflow:hidden}.schedule-preview-details>summary{padding:12px 14px;background:#f5f9fb;color:#176f98;font-weight:700;cursor:pointer}.schedule-preview-details .table-wrap{border:0;border-top:1px solid #dbe7ed;border-radius:0}.schedule-entry-panel .notice.warning{margin:0 0 14px}.schedule-entry-panel .flash{margin:0 0 14px}
.schedule-step-guide{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.schedule-step-guide>div{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;padding:11px 13px;border:1px solid #d8e6ec;border-radius:9px;background:#fff}.schedule-step-guide b{display:inline-grid;place-items:center;min-width:58px;min-height:28px;border-radius:7px;background:#e6f4f9;color:#0d769f;font-size:12px}.schedule-step-guide span{color:#5f7887;font-size:12px;line-height:1.5}
.schedule-fixed-table td{vertical-align:top}.schedule-slot-hint{display:block;min-height:16px;margin-top:4px;color:#4d8a70;font-size:10px;line-height:1.4;white-space:normal}.schedule-slot-hint.warning{color:#9a6500}.schedule-publish-feedback{min-height:17px;color:#bd3c3c;font-size:12px;font-style:normal;font-weight:700}.schedule-publish-bar .button:disabled,.attendance-generate-panel .button:disabled{cursor:not-allowed;opacity:.48}.schedule-entry-panel.has-submit-error{border-top-color:#d74f4f}
.schedule-results{scroll-margin-top:92px;outline:0}.schedule-result-status{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px;padding:18px 20px;border:1px solid #d7e5eb;border-left:4px solid #e1a12d;border-radius:12px;background:#fffaf0}.schedule-result-status.has-data{border-left-color:#20a27e;background:#f1faf7}.schedule-result-status h2{margin:3px 0 4px;color:#12394e;font-size:22px}.schedule-result-status p{margin:0;color:#617b89}.schedule-results.just-saved .schedule-result-status{border-color:#87cdb8;box-shadow:0 0 0 3px rgba(32,162,126,.09)}.schedule-result-panel{padding-bottom:20px}.schedule-result-subhead{display:flex;align-items:center;justify-content:space-between;margin:22px 0 12px;padding:10px 13px;border-left:3px solid #168fc8;background:#f4f9fb}.schedule-result-subhead:first-of-type{margin-top:0}.schedule-result-subhead strong,.schedule-result-subhead small{display:block}.schedule-result-subhead strong{color:#173f53}.schedule-result-subhead small{margin-top:2px;color:#6c8390;font-size:11px}.schedule-active-building-grid{margin-bottom:12px}.schedule-active-building-grid .zone-card.has-assignment{border-color:#83c9dd}.schedule-result-empty{grid-column:1/-1;padding:24px;border:1px dashed #c9dce5;border-radius:11px;background:#f8fbfc;color:#718894;text-align:center}.schedule-empty-groups{margin-top:14px;border:1px solid #d9e6ec;border-radius:10px;background:#f8fbfc}.schedule-empty-groups>summary{padding:12px 14px;color:#31728e;font-size:13px;font-weight:700;cursor:pointer}.schedule-empty-groups[open]>summary{border-bottom:1px solid #d9e6ec}.schedule-empty-groups>.card-grid{padding:14px}.schedule-empty-groups .zone-card{box-shadow:none}.schedule-empty-groups .zone-card-head{background:#526d7b}
@media(max-width:1200px){.schedule-entry-grid{grid-template-columns:repeat(3,1fr)}.schedule-smart-copy{grid-template-columns:1fr}.schedule-recognition-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.schedule-entry-summary{align-items:flex-start}.schedule-grid-form{padding:15px 14px 0}.schedule-entry-grid{grid-template-columns:1fr 1fr}.schedule-step-guide{grid-template-columns:1fr}.schedule-publish-bar{position:static;display:grid;margin:17px -14px 0;padding:14px}.schedule-publish-bar .button{width:100%}.schedule-preview-details{margin:0 14px 16px}.schedule-fixed-table{min-width:760px}.schedule-smart-import{padding:14px}.schedule-smart-copy{gap:12px}.schedule-recognition-summary{grid-template-columns:1fr 1fr}.schedule-result-status{align-items:flex-start;flex-direction:column}.schedule-empty-groups>.card-grid{padding:10px}}

/* v4.3：排班历史、每日折叠考勤与人员生命周期 */
.schedule-date-step{min-width:96px}.schedule-history-panel{padding:0;overflow:hidden}.schedule-history-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 20px;cursor:pointer;list-style:none}.schedule-history-summary::-webkit-details-marker{display:none}.schedule-history-summary>span:first-child{display:grid;gap:3px}.schedule-history-summary b{font-size:17px;color:#173e52}.schedule-history-summary small{color:#6f8794}.schedule-history-panel[open]>.schedule-history-summary{border-bottom:1px solid #dbe7ed;background:#f7fafc}.schedule-history-body{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:18px}.schedule-history-title{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px}.schedule-history-title strong{color:#173e52}.schedule-history-title small{color:#758b97}.schedule-history-days,.schedule-batch-list{display:grid;gap:8px;max-height:430px;overflow:auto;padding-right:3px}.schedule-history-day{display:grid;grid-template-columns:1fr auto;gap:3px 12px;padding:11px 13px;border:1px solid #dbe7ed;border-radius:9px;background:#fff;color:#244c60;text-decoration:none}.schedule-history-day:hover,.schedule-history-day.active{border-color:#54afd1;background:#eef9fd}.schedule-history-day span{color:#327b98;font-size:12px;text-align:right}.schedule-history-day small{grid-column:1/-1;color:#718995}.schedule-batch-item{border:1px solid #dbe7ed;border-radius:9px;background:#fff;overflow:hidden}.schedule-batch-item>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;cursor:pointer}.schedule-batch-item>summary span:first-child{display:grid;gap:2px}.schedule-batch-item>summary small{color:#768b96;font-size:11px}.schedule-batch-copy>b{display:block;padding:9px 12px;border-top:1px solid #dbe7ed;background:#f4f8fa;color:#467085;font-size:11px}.schedule-batch-item pre{max-height:270px;overflow:auto;margin:0;padding:12px;background:#102c3b;color:#dceef6;font:12px/1.65 Consolas,"Microsoft YaHei UI",sans-serif;white-space:pre-wrap}.building-crew-link{margin:10px 11px 0;padding:9px 11px;border:1px dashed #80bfd4;border-radius:8px;background:#edf9fd}.building-crew-link>small{display:block;margin-bottom:6px;color:#41788e;font-weight:700}.building-crew-link>div{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.building-crew-link span{padding:4px 7px;border-radius:7px;background:#fff;color:#155e7b;font-size:11px;font-weight:700}.building-crew-link i{color:#1492c0;font-style:normal;font-weight:800}
.attendance-days-panel{padding:20px}.attendance-day-list{display:grid;gap:11px}.attendance-day-card{border:1px solid #d7e5eb;border-radius:11px;background:#fff;overflow:hidden}.attendance-day-card>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 17px;cursor:pointer;list-style:none;background:#f7fafc}.attendance-day-card>summary::-webkit-details-marker{display:none}.attendance-day-card[open]>summary{border-bottom:1px solid #d7e5eb;background:#eaf6fb}.attendance-day-card>summary>div:first-child{display:flex;align-items:baseline;gap:12px}.attendance-day-card>summary>div:first-child strong{font-size:18px;color:#153e53}.attendance-day-card>summary>div:first-child span{color:#6c8491;font-size:12px}.attendance-day-metrics{display:flex;align-items:center;gap:14px;color:#5f7886;font-size:12px}.attendance-day-metrics b{color:#167c5f;font-size:14px}.attendance-day-card .table-wrap{border:0;border-radius:0}.attendance-empty{border:1px dashed #c9dce5;border-radius:10px;background:#f8fbfc}
.employee-summary{grid-template-columns:repeat(5,minmax(0,1fr))}.employee-lifecycle-panel{border-top:4px solid #168fc8}.onboarding-checklist{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.onboarding-check{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid #e0c37e;border-radius:99px;background:#fff8e7;color:#8a6200;font-size:12px}.onboarding-check b{width:18px;height:18px;display:grid;place-items:center;border-radius:50%;background:#f2c45f;color:#fff}.onboarding-check.done{border-color:#9bd4c3;background:#edf9f5;color:#16745b}.onboarding-check.done b{background:#21a77f}.onboarding-check.optional{border-color:#d7e4ea;background:#f6f9fa;color:#69808c}.onboarding-check small{margin-left:2px;color:#8799a2}.employee-lifecycle-actions{display:grid;grid-template-columns:1fr 1fr;gap:14px}.lifecycle-action-card{padding:17px;border:1px solid #dbe7ed;border-radius:11px;background:#f8fbfc}.lifecycle-action-card>strong{font-size:17px;color:#173f53}.lifecycle-action-card>p{margin:6px 0 14px;color:#687f8c;line-height:1.6}.lifecycle-action-card form{display:grid;gap:10px}.lifecycle-action-card.offboard{border-color:#efd1d1;background:#fffafa}.directory-checks{display:flex;gap:4px;flex-wrap:wrap;max-width:290px;margin-top:6px}.directory-checks span{padding:3px 6px;border-radius:5px;background:#fff0d1;color:#946300;font-size:10px}.directory-checks span.done{background:#e2f6ef;color:#16775e}.employee-directory{min-width:1540px}
@media(max-width:1350px){.employee-summary{grid-template-columns:repeat(3,1fr)}.schedule-history-body{grid-template-columns:1fr}.schedule-history-days,.schedule-batch-list{max-height:340px}}
@media(max-width:800px){.employee-summary{grid-template-columns:repeat(2,1fr)}.employee-lifecycle-actions{grid-template-columns:1fr}.schedule-history-summary,.attendance-day-card>summary{align-items:flex-start;flex-direction:column}.attendance-day-metrics{width:100%;justify-content:space-between;gap:8px;flex-wrap:wrap}}

/* v4.3.1：排班草稿持久化与一键联系 */
.schedule-phone-call,.schedule-phone-missing{display:block;color:#b65e2c;text-decoration:none}.schedule-phone-call:hover{text-decoration:underline}.schedule-phone-call small{color:#1983ae!important}.schedule-phone-missing{color:#bd6e33}.schedule-phone-missing small{color:#a87958!important}
.schedule-contact-board{border-top:4px solid #1697c9}.schedule-contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.schedule-contact-grid article{overflow:hidden;border:1px solid #d7e6ed;border-radius:11px;background:#f9fcfd}.schedule-contact-grid h3{margin:0;padding:10px 12px;background:#0d4a63;color:#fff;font-size:15px}.schedule-contact-grid article>div{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:9px;padding:9px 11px;border-top:1px solid #e1ebf0}.schedule-contact-grid article>div:first-of-type{border-top:0}.schedule-contact-grid strong{color:#183e51}.schedule-contact-grid a{color:#0b82ba;font-size:12px;font-weight:700;text-decoration:none}.schedule-contact-grid a:hover{text-decoration:underline}.schedule-contact-grid a.missing{color:#b56a2d}.schedule-contact-empty{padding:24px;border:1px dashed #bdd4de;border-radius:10px;background:#f7fbfc;color:#6d8592;text-align:center}
.schedule-draft-restored{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px;padding:12px 14px;border:1px solid #8fcddd;border-radius:10px;background:#eefafe;color:#285f75}.schedule-draft-restored strong{white-space:nowrap;color:#13799e}.schedule-draft-restored span{font-size:12px;line-height:1.55}.schedule-draft-status{font-size:12px;font-style:normal;color:#5e8293}.schedule-draft-status[data-state="saving"],.schedule-draft-status[data-state="pending"]{color:#a06b00}.schedule-draft-status[data-state="saved"]{color:#168064}.schedule-draft-status[data-state="error"]{color:#b83232;font-weight:700}
@media(max-width:700px){.schedule-draft-restored{align-items:flex-start;flex-direction:column;gap:5px}}

/* v4.4：站点人员简化档案、列表快捷勾选与新人标签 */
.employee-simple-profile{border-top:4px solid #148fc1}.employee-simple-section{margin-bottom:15px;padding:17px;border:1px solid #d9e7ed;border-radius:11px;background:#f9fbfc}.employee-simple-title{display:flex;align-items:center;gap:11px;margin-bottom:15px}.employee-simple-title>b{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;background:#dff1f7;color:#087aa6;font-size:12px}.employee-simple-title strong,.employee-simple-title small{display:block}.employee-simple-title strong{color:#173e52;font-size:16px}.employee-simple-title small{margin-top:2px;color:#748b97;font-size:11px}.employee-simple-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.employee-simple-grid .span-3{grid-column:span 3}.employee-status-selects{grid-template-columns:repeat(5,minmax(0,1fr))}.employee-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.employee-photo-field{position:relative;min-height:112px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;padding:15px;border:1px dashed #94bed0;border-radius:10px;background:#fff;color:#526f7e;text-align:center;cursor:pointer}.employee-photo-field:hover{border-color:#168dbe;background:#f3fafc}.employee-photo-field.has-file{border-style:solid;border-color:#8bcbb8;background:#eff9f6}.employee-photo-field strong{color:#147eaa;font-size:13px}.employee-photo-field.has-file strong{color:#168064}.employee-photo-field input{width:100%;min-height:36px;padding:5px;font-size:11px}.health-expiry-row{margin-top:12px}.employee-ops-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(410px,1fr));gap:14px}.employee-ops-card{padding:16px;border:1px solid #d5e5ec;border-radius:12px;background:#fff;box-shadow:0 5px 15px rgba(21,61,80,.05)}.employee-ops-card.is-offboarded{opacity:.67}.employee-ops-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid #e5edf1}.employee-name-line{display:flex;align-items:center;gap:7px}.employee-name-line>strong{font-size:17px;color:#153c50}.employee-newcomer-tag{padding:3px 7px;border-radius:99px;background:#fff0c9;color:#9a6200;font-size:10px;font-weight:800}.employee-contact-line{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 1px 9px;color:#647d8a;font-size:12px}.employee-contact-line a{color:#087fab;font-weight:700;text-decoration:none}.employee-contact-line a:hover{text-decoration:underline}.employee-contact-line .missing{color:#c04747;font-weight:700}.employee-quick-statuses{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.employee-quick-toggle{margin:0}.employee-quick-toggle>label,.employee-quick-toggle>span+.employee-quick-toggle{cursor:pointer}.employee-quick-toggle label,.employee-quick-toggle:not(form){min-height:68px;display:flex;align-items:center;gap:7px;padding:8px;border:1px solid currentColor;border-radius:9px}.employee-quick-toggle input[type=checkbox]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.employee-toggle-box{width:22px;height:22px;flex:0 0 22px;display:grid;place-items:center;border-radius:6px;color:#fff;font-size:13px;font-weight:900}.employee-quick-toggle strong,.employee-quick-toggle small{display:block;line-height:1.25}.employee-quick-toggle strong{font-size:11px}.employee-quick-toggle small{margin-top:3px;font-size:10px;font-weight:800}.employee-quick-toggle.is-yes{color:#13775c}.employee-quick-toggle.is-yes label,.employee-quick-toggle.is-yes:not(form){background:#edf9f5}.employee-quick-toggle.is-yes .employee-toggle-box{background:#20a37c}.employee-quick-toggle.is-no{color:#b63b3b}.employee-quick-toggle.is-no label,.employee-quick-toggle.is-no:not(form){background:#fff3f3}.employee-quick-toggle.is-no .employee-toggle-box{background:#d65353}.employee-document-flags{display:flex;gap:7px;flex-wrap:wrap;margin-top:11px}.employee-document-flags span{padding:5px 8px;border-radius:6px;font-size:10px;font-weight:700}.employee-document-flags .ready{background:#e7f7f1;color:#16765d}.employee-document-flags .missing{background:#fff0f0;color:#b53c3c}.employee-ops-card>footer{min-height:37px;display:flex;align-items:center;justify-content:flex-end;gap:7px;margin-top:12px;padding-top:11px;border-top:1px solid #e7eef1}.employee-ops-card>footer form{margin:0}.employee-list-empty{grid-column:1/-1;padding:30px;border:1px dashed #bdd5df;border-radius:10px;background:#f8fbfc;color:#718895;text-align:center}
@media(max-width:1250px){.employee-status-selects{grid-template-columns:repeat(3,minmax(0,1fr))}.employee-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.employee-quick-statuses{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.employee-simple-grid,.employee-status-selects{grid-template-columns:1fr}.employee-simple-grid .span-3{grid-column:auto}.employee-photo-grid{grid-template-columns:1fr 1fr}.employee-ops-grid{grid-template-columns:1fr}.employee-quick-statuses{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.employee-photo-grid{grid-template-columns:1fr}.employee-ops-card{padding:13px}.employee-quick-statuses{grid-template-columns:1fr 1fr}}

/* v4.5：实时楼栋分布、催单处置与餐盒费检查 */
.ops-toolbar{margin-bottom:16px}.ops-summary-grid{grid-template-columns:repeat(auto-fit,minmax(185px,1fr))}.ops-time-value{font-size:20px!important}.ops-panel{border-top:4px solid #1593c3}.ops-data-table{min-width:1050px}.ops-data-table th{white-space:nowrap}.ops-data-table td>strong,.ops-data-table td>small{display:block}.ops-data-table td>small{margin-top:3px;color:#78909b}.ops-data-table a,.urge-order-card a{color:#087fab;font-weight:700;text-decoration:none}.ops-data-table a:hover,.urge-order-card a:hover{text-decoration:underline}.ops-number{color:#0c85b5;font-size:20px;font-weight:900}.ops-number.is-danger{color:#c33f3f}.ops-empty{display:grid;gap:7px;padding:34px;border:1px dashed #bfd5df;border-radius:11px;background:#f8fbfc;color:#718895;text-align:center}.ops-empty strong{color:#31586a;font-size:17px}
.urge-card-list{display:grid;gap:13px}.urge-order-card{overflow:hidden;border:1px solid #d5e5ec;border-left:4px solid #e6a43a;border-radius:12px;background:#fff;box-shadow:0 5px 16px rgba(18,62,82,.06)}.urge-order-card.is-critical{border-left-color:#d94f4f}.urge-order-card>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 16px;background:#f6fafc;border-bottom:1px solid #dce8ed}.urge-order-card>header>div:first-child{display:flex;align-items:center;gap:10px}.urge-order-card>header strong{color:#153d51}.urge-count{padding:5px 9px;border-radius:99px;background:#fff0cf;color:#946100;font-size:11px;font-weight:900}.urge-order-card.is-critical .urge-count{background:#ffe8e8;color:#b63636}.urge-time{display:flex;align-items:center;gap:14px;color:#6b8390;font-size:12px}.urge-time b{color:#ba4141}.urge-info-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr .85fr}.urge-info-grid>section{min-height:130px;padding:14px 16px;border-left:1px solid #e3ecef}.urge-info-grid>section:first-child{border-left:0}.urge-info-grid small,.urge-info-grid strong,.urge-info-grid em{display:block}.urge-info-grid small{margin-bottom:6px;color:#78909c;font-size:10px;text-transform:uppercase;letter-spacing:.5px}.urge-info-grid strong{color:#173f53;font-size:15px}.urge-info-grid p{margin:7px 0;color:#516f7e;font-size:12px;line-height:1.55}.urge-info-grid em{color:#738b97;font-size:11px;font-style:normal}.urge-discovery form{margin-top:10px}.urge-discovery .button{width:100%}.button.success{border-color:#1c9b76;background:#1c9b76;color:#fff}
.daily-cost-list{display:grid;gap:11px}.daily-cost-card{overflow:hidden;border:1px solid #d8e5eb;border-radius:11px;background:#fff}.daily-cost-card>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;cursor:pointer;list-style:none;background:#f7fafc}.daily-cost-card>summary::-webkit-details-marker{display:none}.daily-cost-card[open]>summary{border-bottom:1px solid #d8e5eb;background:#edf8fc}.daily-cost-card>summary>div{display:flex;align-items:center;gap:12px}.daily-cost-card>summary strong{color:#163f53;font-size:17px}.daily-cost-card>summary span{color:#69818e;font-size:12px}.daily-cost-card>summary b{font-size:13px}.daily-cost-card .table-wrap{border:0;border-radius:0}.is-positive{color:#168064!important}.is-negative{color:#c24141!important}
@media(max-width:1250px){.urge-info-grid{grid-template-columns:1fr 1fr}.urge-info-grid>section:nth-child(3){border-top:1px solid #e3ecef;border-left:0}.urge-info-grid>section:nth-child(4){border-top:1px solid #e3ecef}}
@media(max-width:760px){.ops-toolbar{align-items:stretch}.ops-toolbar,.ops-toolbar form{flex-direction:column}.ops-toolbar .button{width:100%}.urge-order-card>header,.urge-time,.daily-cost-card>summary,.daily-cost-card>summary>div{align-items:flex-start;flex-direction:column}.urge-info-grid{grid-template-columns:1fr}.urge-info-grid>section{border-top:1px solid #e3ecef;border-left:0}.urge-info-grid>section:first-child{border-top:0}}

/* v4.6：长安/太白、上午/下午非桶装水订单分布，一屏展示 1—23 号楼和外围 */
.order-distribution-page .content{padding:16px 22px 28px;max-width:none}
.distribution-toolbar{min-height:48px;display:flex;align-items:center;gap:12px;margin-bottom:10px;padding:7px 10px;border:1px solid #d8e6ed;border-radius:12px;background:#fff}
.campus-switch{display:flex;overflow:hidden;border:1px solid #b9d5e1;border-radius:9px;background:#edf6fa}
.campus-switch a{min-width:112px;padding:9px 16px;color:#3a6679;font-size:14px;font-weight:800;text-align:center;text-decoration:none}
.campus-switch a.active{background:#0b82bb;color:#fff}
.shift-switch{display:flex;overflow:hidden;border:1px solid #d2dfe5;border-radius:9px;background:#f5f8fa}.shift-switch a{min-width:58px;padding:9px 12px;color:#617b89;font-size:13px;font-weight:800;text-align:center;text-decoration:none}.shift-switch a.active{background:#123f55;color:#fff}
.distribution-date{display:flex;align-items:center;gap:8px;margin:0}.distribution-date label{display:block;color:#607b8a;font-size:12px;white-space:nowrap}.distribution-date input{width:146px;padding:8px 10px}
.distribution-freshness{margin-left:auto;color:#748a96;font-size:11px;white-space:nowrap}
.distribution-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:10px}
.distribution-summary article{min-height:78px;padding:10px 13px;border:1px solid #d9e6ec;border-left:4px solid #1694c8;border-radius:10px;background:#fff}
.distribution-summary span,.distribution-summary strong,.distribution-summary small{display:block}.distribution-summary span{color:#637d8b;font-size:11px}.distribution-summary strong{margin:3px 0 1px;color:#123d52;font-size:25px;line-height:1}.distribution-summary strong em{margin-left:3px;color:#6f8996;font-size:13px;font-style:normal}.distribution-summary small{overflow:hidden;color:#7d919c;font-size:10px;white-space:nowrap;text-overflow:ellipsis}
.distribution-panel{padding:12px;border:1px solid #d5e4eb;border-radius:13px;background:#fff;box-shadow:var(--shadow)}
.distribution-panel>header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:10px;padding:0 2px 9px;border-bottom:1px solid #e3edf1}.distribution-panel>header h2{margin:0;color:#123d52;font-size:18px}.distribution-panel>header p{margin:2px 0 0;color:#708793;font-size:11px}.distribution-panel>header>a{color:#0a82b8;font-size:11px;font-weight:800;text-decoration:none;white-space:nowrap}
.distribution-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.distribution-card{min-width:0;min-height:106px;padding:9px 10px 8px;border:1px solid #d9e7ed;border-top:3px solid #9bb7c3;border-radius:9px;background:#f8fbfc}
.distribution-card>header,.distribution-card>footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.distribution-card>header strong{color:#173f53;font-size:14px}.distribution-card>header span{color:#73909d;font-size:9px}.distribution-order-count{display:flex;align-items:baseline;gap:4px;margin:5px 0 2px}.distribution-order-count b{color:#153f55;font-size:28px;line-height:1}.distribution-order-count span{color:#6e8794;font-size:10px}.distribution-heat{height:4px;margin:5px 0 7px;overflow:hidden;border-radius:99px;background:#dfeaf0}.distribution-heat i{display:block;height:100%;background:#1b9ccc}.distribution-card>footer span{min-width:0;overflow:hidden;color:#708894;font-size:9px;white-space:nowrap;text-overflow:ellipsis}
.distribution-card.heat-1{border-top-color:#67b8d5;background:#f3fafc}.distribution-card.heat-2{border-top-color:#35a9d1;background:#edf8fc}.distribution-card.heat-3{border-top-color:#1596c5;background:#e7f5fa}.distribution-card.heat-4{border-top-color:#087dac;background:#e1f1f7}.distribution-card.heat-5{border-top-color:#f09c24;background:#fff8ea}.distribution-card.heat-5 .distribution-order-count b{color:#b66d00}.distribution-card.heat-5 .distribution-heat i{background:#ee9a21}.distribution-card.is-external{border-top-color:#705bb7}.distribution-card.is-external .distribution-heat i{background:#705bb7}
@media(max-width:1050px){.distribution-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.distribution-toolbar{flex-wrap:wrap}.distribution-freshness{order:4;width:100%;margin:0}.distribution-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.order-distribution-page .content{padding:10px}.distribution-toolbar{align-items:stretch;display:grid}.campus-switch a{width:50%;min-width:0}.shift-switch a{width:50%}.distribution-date{display:grid;grid-template-columns:auto 1fr}.distribution-date input{width:100%}.distribution-toolbar .button{width:100%}.distribution-summary{grid-template-columns:1fr 1fr}.distribution-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.distribution-panel>header{align-items:flex-start;flex-direction:column}.distribution-summary small{white-space:normal}}
.employee-recycle-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}.employee-recycle-card{overflow:hidden;border:1px solid #dce7ec;border-radius:14px;background:#fff}.employee-recycle-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 17px;border-bottom:1px solid #e5edf0}.employee-recycle-card dl{display:grid;gap:9px;margin:0;padding:14px 17px}.employee-recycle-card dl div{display:flex;justify-content:space-between;gap:16px}.employee-recycle-card dt{color:#718690;font-size:12px}.employee-recycle-card dd{margin:0;color:#234553;font-size:12px;text-align:right}.employee-recycle-card>footer{display:flex;justify-content:flex-end;padding:0 17px 16px}.employee-recycle-card>footer form{margin:0}

/* v4.8：官方气象预警档案 */
.official-alert-panel{border-top:4px solid #e0505e}.official-alert-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px}.official-alert-card{padding:15px 16px;border:1px solid #f0cdd1;border-left:5px solid #df5b68;border-radius:12px;background:linear-gradient(135deg,#fff7f8,#fff)}.official-alert-card header span,.official-alert-card header strong{display:block}.official-alert-card header span{margin-bottom:4px;color:#b33e4a;font-size:11px;font-weight:900;letter-spacing:.5px}.official-alert-card header strong{color:#5a2530;font-size:17px}.official-alert-card p{margin:10px 0;color:#75515a;font-size:12px;line-height:1.7}.official-alert-card footer{display:flex;justify-content:space-between;gap:12px;padding-top:9px;border-top:1px solid #f2dfe2;color:#8b666e;font-size:10px}.official-alert-card.severity-extreme,.official-alert-card.severity-severe{border-color:#e58b94;border-left-color:#c61d31;background:linear-gradient(135deg,#fff0f2,#fff8f9)}.official-alert-card.severity-moderate{border-left-color:#ef9b2c;background:linear-gradient(135deg,#fff9ef,#fff)}
@media(max-width:620px){.official-alert-grid{grid-template-columns:1fr}.official-alert-card footer{align-items:flex-start;flex-direction:column}}

/* v4.8.1：员工搜索与单班工资入口 */
.employee-search-bar{display:flex;align-items:end;gap:10px;margin:14px 0;padding:14px 16px;border:1px solid #d4e4eb;border-radius:12px;background:#fff}.employee-search-bar label{flex:1;margin:0}.employee-search-bar label span{display:block;margin-bottom:6px;color:#476676;font-size:12px;font-weight:800}.employee-search-bar input{width:100%;min-height:42px}.employee-wage-editor{display:grid;grid-template-columns:minmax(220px,320px) 1fr;gap:16px;align-items:end}.employee-wage-editor>div{padding:12px 14px;border-radius:10px;background:#eef8fb;color:#4e6a78}.employee-wage-editor>div strong,.employee-wage-editor>div span,.employee-wage-editor>div small{display:block}.employee-wage-editor>div strong{margin-bottom:4px;color:#176c8e}.employee-wage-editor>div small{margin-top:5px;color:#7b8f98}.employee-wage-line{display:flex;align-items:center;gap:9px;margin:0 0 11px;padding:8px 10px;border-radius:8px;background:#edf9f5;color:#176f58;font-size:11px}.employee-wage-line strong{font-size:13px}.employee-wage-line a{margin-left:auto;color:#087fab;font-weight:800;text-decoration:none}.employee-wage-line.is-missing{background:#fff3f3;color:#b53c3c}
@media(max-width:760px){.employee-search-bar{align-items:stretch;flex-wrap:wrap}.employee-search-bar label{flex-basis:100%}.employee-wage-editor{grid-template-columns:1fr}}

/* v4.8.2：证件上传状态和健康证有效期预警 */
.employee-document-flags .warning{background:#fff3cf;color:#926000}.health-expiry-row em{margin-left:5px;color:#bf3e46;font-size:10px;font-style:normal}.employee-photo-field.has-selection{border-style:solid;border-color:#2999c5;background:#eef9fd}.employee-photo-field.has-error{border-color:#d94d58;background:#fff1f2}.employee-photo-field.has-error strong{color:#bd303d}
