*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",Arial,sans-serif;background:#f5f7fb;color:#172033}button,a{cursor:pointer}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#eaf7ff,#fff5f8)}.login-card{width:390px;background:#fff;border-radius:24px;padding:34px;box-shadow:0 25px 80px rgba(25,45,80,.12)}.logo{font-weight:900;font-size:24px;color:#3b6cff}.login-card h1{margin:14px 0 6px}.login-card p{color:#667085}.login-card input,.form input,.form select,.form textarea,.toolbar input{width:100%;border:1px solid #dbe4f0;border-radius:14px;padding:13px 14px;margin:8px 0;background:#fff;font-size:14px}.form textarea{min-height:80px}button{border:0;background:#3b6cff;color:#fff;border-radius:14px;padding:12px 18px;font-weight:800;box-shadow:0 10px 22px rgba(59,108,255,.18)}button.small{padding:7px 10px;border-radius:10px;background:#64748b}.alert{background:#fff1f2;color:#e11d48;padding:12px;border-radius:12px;margin:12px 0}.layout{display:flex;min-height:100vh}.sidebar{width:236px;background:#fff;border-right:1px solid #e8edf5;padding:22px;position:sticky;top:0;height:100vh}.brand{font-size:22px;font-weight:900;color:#3157e8;margin-bottom:8px}.user{font-size:13px;color:#667085;margin-bottom:24px}.sidebar a{display:block;padding:13px 14px;border-radius:14px;color:#334155;text-decoration:none;margin-bottom:8px;font-weight:700}.sidebar a.active,.sidebar a:hover{background:#eef4ff;color:#3157e8}.main{flex:1;padding:28px;overflow:auto}h2{margin-top:0;font-size:28px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:18px}.card,.panel,.notice{background:#fff;border:1px solid #e8edf5;border-radius:20px;padding:20px;box-shadow:0 12px 32px rgba(15,23,42,.04)}.card span{color:#667085}.card b{display:block;font-size:34px;margin-top:8px;color:#3157e8}.grid2{display:grid;grid-template-columns:1.3fr 1fr;gap:16px}.panel{margin-bottom:18px}.notice{margin-bottom:12px}.notice b{font-size:17px}.notice p{color:#475569;line-height:1.7}.notice.big{padding:22px}table{width:100%;border-collapse:collapse}th,td{padding:12px;border-bottom:1px solid #edf2f7;text-align:left;font-size:14px}th{color:#64748b;background:#f8fafc}.form{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.form textarea,.form button{grid-column:1/-1}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:12px}.toolbar input{width:200px}@media(max-width:850px){.layout{display:block}.sidebar{width:100%;height:auto;position:relative}.main{padding:16px}.cards,.grid2,.form{grid-template-columns:1fr}table{font-size:12px;display:block;overflow:auto}.login-card{width:92vw}}

/* 任务中心日历文字样式 */
.calendar-text-grid{display:grid;grid-template-columns:repeat(7,minmax(90px,1fr));gap:8px;margin-top:12px}
.calendar-text-cell{border:1px solid #e5e7eb;border-radius:10px;padding:10px;background:#fff;min-height:72px}
.calendar-text-cell b{display:block;font-size:14px;margin-bottom:6px}
.calendar-text-cell span{display:block;font-weight:700;margin-bottom:4px}
.calendar-text-cell small{display:block;color:#666;font-size:12px;line-height:1.4}
@media(max-width:780px){.calendar-text-grid{grid-template-columns:repeat(2,minmax(120px,1fr))}}

/* 任务看板进度条 */
.task-progress-list{display:flex;flex-direction:column;gap:12px;margin:10px 0 16px;}
.task-progress-item{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:12px;box-shadow:0 6px 18px rgba(15,23,42,.04);}
.task-progress-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:8px;color:#0f172a;}
.task-progress-head span{font-size:13px;color:#475569;white-space:nowrap;}
.task-progress-bar{height:10px;background:#e5e7eb;border-radius:999px;overflow:hidden;}
.task-progress-bar i{display:block;height:100%;background:linear-gradient(90deg,#2563eb,#38bdf8);border-radius:999px;}
.identity-badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#eef2ff;color:#3730a3;font-size:13px;font-weight:700;margin-left:10px}
.leader-progress-panel{margin:12px 0 16px;border:1px solid #c7d2fe;background:#f8faff}


/* V4 任务看板美化：今日/昨日进度条 */
.task-board-shell{background:linear-gradient(180deg,#ffffff,#f8fbff);border:1px solid #dbeafe;border-radius:22px;padding:18px;margin:0 0 16px;box-shadow:0 14px 35px rgba(37,99,235,.08)}
.task-board-shell.yesterday{background:linear-gradient(180deg,#ffffff,#fbfbfc);border-color:#e5e7eb;box-shadow:0 12px 28px rgba(15,23,42,.05)}
.task-board-title{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}
.task-board-title h3{margin:0;font-size:19px;color:#0f172a}.task-board-title p{margin:5px 0 0;color:#64748b;font-size:13px}.task-board-title>span{min-width:58px;text-align:center;background:#2563eb;color:#fff;border-radius:999px;padding:7px 10px;font-weight:900;box-shadow:0 8px 20px rgba(37,99,235,.22)}
.task-board-shell.yesterday .task-board-title>span{background:#64748b;box-shadow:none}.task-board-total-bar{height:14px;background:#eaf1ff;border-radius:999px;overflow:hidden;margin-bottom:14px}.task-board-total-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#2563eb,#38bdf8)}
.task-progress-list{display:grid;grid-template-columns:repeat(2,minmax(240px,1fr));gap:12px;margin:10px 0 0}.task-progress-item{background:#fff;border:1px solid #e6eefb;border-radius:18px;padding:14px;box-shadow:0 8px 22px rgba(15,23,42,.04)}.task-progress-item.done{border-color:#c7d2fe;background:#fbfdff}.task-progress-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}.task-progress-head b{display:block;color:#0f172a;font-size:14px;line-height:1.35}.task-progress-head em{display:block;margin-top:4px;color:#64748b;font-style:normal;font-size:12px}.task-progress-head span{font-size:20px;color:#1d4ed8;font-weight:900;white-space:nowrap}.task-progress-bar{height:12px;background:#eef2f7;border-radius:999px;overflow:hidden}.task-progress-bar i{display:block;height:100%;background:linear-gradient(90deg,#2563eb,#06b6d4);border-radius:999px}.task-progress-foot{display:flex;justify-content:space-between;color:#64748b;font-size:12px;margin-top:8px;font-weight:700}.task-note{margin-top:8px}.task-record-panel{background:linear-gradient(180deg,#ffffff,#fafcff)}.calendar-text-grid{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:10px;margin-top:14px}.calendar-text-cell{border:1px solid #e2e8f0;border-radius:18px;padding:14px;background:#fff;min-height:90px;box-shadow:0 8px 22px rgba(15,23,42,.04)}.calendar-text-cell b{font-size:15px}.calendar-text-cell span{display:inline-flex;padding:5px 10px;border-radius:999px;background:#eef4ff;color:#1d4ed8;font-weight:900;margin:2px 0 8px}.calendar-text-cell small{color:#64748b}.identity-badge{display:inline-flex;align-items:center;padding:7px 12px;border-radius:999px;background:linear-gradient(90deg,#eef2ff,#e0f2fe);color:#3730a3;font-size:13px;font-weight:900;margin-left:10px;border:1px solid #c7d2fe}.leader-progress-panel{margin:12px 0 16px;border:1px solid #c7d2fe;background:#f8faff}.danger{background:#ef4444!important;color:#fff!important}
@media(max-width:900px){.task-progress-list{grid-template-columns:1fr}.calendar-text-grid{grid-template-columns:repeat(2,minmax(120px,1fr))}.task-board-title{align-items:flex-start}.task-board-title>span{min-width:auto}}

/* V5 任务看板仪表盘 UI：真正的进度条 + 卡片式看板 */
.task-dash{position:relative;overflow:hidden;border-radius:28px;padding:20px;margin:0 0 20px;background:radial-gradient(circle at 12% 0%,rgba(59,130,246,.18),transparent 34%),linear-gradient(135deg,#f8fbff 0%,#ffffff 48%,#f1f7ff 100%);border:1px solid rgba(147,197,253,.55);box-shadow:0 18px 45px rgba(30,64,175,.10)}
.task-dash:before{content:"";position:absolute;right:-70px;top:-70px;width:190px;height:190px;border-radius:50%;background:rgba(37,99,235,.08);pointer-events:none}.task-dash.yesterday{background:linear-gradient(135deg,#fafafa,#ffffff 52%,#f8fafc);border-color:#e2e8f0;box-shadow:0 14px 34px rgba(15,23,42,.06)}
.task-dash-hero{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.task-dash-kicker{display:inline-flex;align-items:center;border-radius:999px;background:#e0ecff;color:#1d4ed8;padding:5px 10px;font-size:12px;font-weight:900;margin-bottom:8px}.task-dash.yesterday .task-dash-kicker{background:#f1f5f9;color:#475569}.task-dash-hero h3{margin:0;color:#0f172a;font-size:22px;letter-spacing:-.02em}.task-dash-hero p{margin:7px 0 0;color:#64748b;font-size:13px}.task-dash-percent{flex:0 0 auto;min-width:94px;height:94px;border-radius:28px;background:linear-gradient(145deg,#2563eb,#06b6d4);color:#fff;display:flex;align-items:baseline;justify-content:center;box-shadow:0 16px 30px rgba(37,99,235,.25);padding-top:24px;box-sizing:border-box}.task-dash.yesterday .task-dash-percent{background:linear-gradient(145deg,#64748b,#94a3b8);box-shadow:0 12px 24px rgba(100,116,139,.15)}.task-dash-percent b{font-size:36px;line-height:1;font-weight:1000}.task-dash-percent small{font-weight:900;font-size:15px;margin-left:2px}.empty-hero .task-dash-percent{background:#e2e8f0;color:#475569;box-shadow:none;font-size:24px;font-weight:1000;padding-top:32px}
.task-dash-total{position:relative;background:rgba(255,255,255,.76);border:1px solid rgba(226,232,240,.9);border-radius:22px;padding:14px;backdrop-filter:blur(6px)}.task-dash-track{height:18px;border-radius:999px;background:#e8eef8;overflow:hidden;box-shadow:inset 0 1px 3px rgba(15,23,42,.08)}.task-dash-track i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#2563eb 0%,#38bdf8 55%,#22c55e 100%);box-shadow:0 4px 12px rgba(37,99,235,.22);transition:width .25s ease}.task-dash.yesterday .task-dash-track i{background:linear-gradient(90deg,#64748b,#94a3b8)}.task-dash-meta{display:flex;flex-wrap:wrap;gap:8px 14px;justify-content:space-between;margin-top:10px;color:#475569;font-size:13px;font-weight:800}.task-dash-stats{display:grid;grid-template-columns:repeat(5,minmax(80px,1fr));gap:10px;margin:14px 0 4px}.task-dash-stats div{background:rgba(255,255,255,.82);border:1px solid #e5edf8;border-radius:18px;padding:12px;text-align:center}.task-dash-stats b{display:block;color:#0f172a;font-size:22px;line-height:1;margin-bottom:4px}.task-dash-stats span{color:#64748b;font-size:12px;font-weight:800}.task-section-title{display:flex;align-items:center;justify-content:space-between;margin:18px 2px 10px}.task-section-title span{font-size:15px;font-weight:1000;color:#0f172a}.task-section-title em{font-style:normal;color:#64748b;background:#f1f5f9;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:900}.task-card-grid{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:12px}.task-card{background:#fff;border:1px solid #e5edf8;border-radius:22px;padding:15px;box-shadow:0 10px 24px rgba(15,23,42,.045);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.task-card:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(15,23,42,.075);border-color:#bfdbfe}.task-card.done{background:linear-gradient(180deg,#ffffff,#f7fffb);border-color:#bbf7d0}.task-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.task-platform{display:inline-flex;align-items:center;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:11px;font-weight:1000;padding:4px 8px;margin-bottom:8px}.task-card.done .task-platform{background:#dcfce7;color:#15803d}.task-card b{display:block;color:#0f172a;font-size:15px;line-height:1.35}.task-card p{margin:5px 0 0;color:#64748b;font-size:12px}.task-card strong{font-size:26px;color:#1d4ed8;line-height:1;font-weight:1000;white-space:nowrap}.task-card.done strong{color:#16a34a}.task-card strong small{font-size:13px;color:#94a3b8;margin-left:2px}.task-card-bar{height:12px;border-radius:999px;background:#edf2f7;overflow:hidden;margin:14px 0 8px}.task-card-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#2563eb,#38bdf8);transition:width .25s ease}.task-card.done .task-card-bar i{background:linear-gradient(90deg,#16a34a,#86efac)}.task-card-bottom{display:flex;align-items:center;justify-content:space-between;color:#64748b;font-size:12px;font-weight:900}.task-card-bottom em{font-style:normal}.task-card-note{margin-top:10px;border-radius:14px;background:#f8fafc;color:#64748b;font-size:12px;padding:8px 10px}.leader-progress-panel{border-radius:24px!important;background:linear-gradient(180deg,#ffffff,#f8fbff)!important;box-shadow:0 14px 34px rgba(30,64,175,.08)!important}
@media(max-width:980px){.task-dash-stats{grid-template-columns:repeat(3,1fr)}.task-card-grid{grid-template-columns:1fr}.task-dash-hero{align-items:flex-start}.task-dash-percent{min-width:80px;height:80px;border-radius:22px;padding-top:20px}.task-dash-percent b{font-size:30px}}
@media(max-width:560px){.task-dash{padding:15px;border-radius:22px}.task-dash-hero{flex-direction:column}.task-dash-percent{width:100%;height:64px;border-radius:18px;padding-top:14px}.task-dash-stats{grid-template-columns:repeat(2,1fr)}.task-dash-meta{display:grid;grid-template-columns:1fr}.task-card{border-radius:18px}}

/* V7 发单登记新增链接区域美化 + 商家下拉修复配套 */
.add-link-panel{position:relative;overflow:hidden;border-radius:26px!important;padding:0!important;background:linear-gradient(135deg,#ffffff 0%,#f8fbff 55%,#eef6ff 100%)!important;border:1px solid #dbeafe!important;box-shadow:0 18px 48px rgba(30,64,175,.09)!important}
.add-link-panel:before{content:"";position:absolute;right:-80px;top:-80px;width:210px;height:210px;border-radius:50%;background:rgba(37,99,235,.08);pointer-events:none}
.add-link-head{position:relative;display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:16px!important;padding:22px 22px 16px!important;border-bottom:1px solid rgba(219,234,254,.8)!important}
.add-link-kicker{display:inline-flex!important;padding:5px 10px!important;border-radius:999px!important;background:#dbeafe!important;color:#1d4ed8!important;font-size:12px!important;font-weight:1000!important;margin-bottom:8px!important}
.add-link-head h3{margin:0!important;font-size:22px!important;letter-spacing:-.02em!important;color:#0f172a!important}
.add-link-head p{margin:7px 0 0!important;color:#64748b!important;line-height:1.5!important}
.add-project-btn{background:#0f172a!important;color:#fff!important;box-shadow:0 10px 22px rgba(15,23,42,.16)!important}
.add-link-grid{position:relative;padding:18px 22px 4px!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:12px!important}
.add-link-grid label{background:rgba(255,255,255,.86)!important;border:1px solid #e5edf8!important;border-radius:18px!important;padding:10px!important;box-shadow:0 8px 20px rgba(15,23,42,.035)!important}
.add-link-grid label span,.add-link-two label span{font-weight:900!important;color:#334155!important;margin-bottom:2px!important}
.add-link-grid input,.add-link-grid select{border-radius:12px!important;background:#fff!important}
.add-link-two{position:relative;display:grid!important;grid-template-columns:1.4fr .8fr!important;gap:12px!important;padding:12px 22px!important}
.add-link-two label{background:rgba(255,255,255,.9)!important;border:1px solid #e5edf8!important;border-radius:18px!important;padding:12px!important;box-shadow:0 8px 20px rgba(15,23,42,.035)!important}
.link-main-field textarea{min-height:112px!important;border-radius:14px!important;background:#fff!important;font-size:14px!important;line-height:1.65!important}
.note-main-field textarea{min-height:112px!important;border-radius:14px!important;background:#fff!important;line-height:1.65!important}
.add-link-footer{position:relative;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;padding:4px 22px 22px!important}
.add-link-hint{flex:1!important;margin:0!important;background:rgba(239,246,255,.85)!important;border-color:#bfdbfe!important;color:#475569!important}
.add-submit-btn{min-width:150px!important;border-radius:16px!important;padding:14px 22px!important;background:linear-gradient(135deg,#2563eb,#38bdf8)!important;box-shadow:0 14px 28px rgba(37,99,235,.22)!important;font-size:15px!important}
#wt_project_id option:disabled,#project_id option:disabled{color:#94a3b8!important}
@media(max-width:1100px){.add-link-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.add-link-two{grid-template-columns:1fr!important}}
@media(max-width:640px){.add-link-head{flex-direction:column!important}.add-project-btn{width:100%!important}.add-link-grid{grid-template-columns:1fr!important;padding:14px!important}.add-link-two{padding:10px 14px!important}.add-link-footer{flex-direction:column!important;align-items:stretch!important;padding:4px 14px 16px!important}.add-submit-btn{width:100%!important}.add-link-panel{border-radius:20px!important}}

/* V2：发单登记任务概览与日历状态优化 */
.register-summary-panel{margin:0 0 16px;border:1px solid #cfe0ff;border-radius:24px;background:linear-gradient(135deg,#f8fbff,#ffffff 55%,#eef6ff);padding:16px;box-shadow:0 14px 34px rgba(30,64,175,.08)}
.register-summary-main{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:12px}
.register-summary-main>div{background:rgba(255,255,255,.86);border:1px solid #e5edf8;border-radius:18px;padding:13px;text-align:center}
.register-summary-main span{display:block;color:#64748b;font-size:12px;font-weight:900;margin-bottom:6px}
.register-summary-main b{display:block;color:#0f172a;font-size:26px;line-height:1;font-weight:1000}
.register-summary-main small{display:block;color:#64748b;font-size:12px;margin-top:6px}
.register-urgent{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;align-items:center;color:#475569;font-size:13px;font-weight:800}
.register-urgent b{color:#1d4ed8}.register-urgent span{display:inline-flex;border-radius:999px;background:#eff6ff;border:1px solid #dbeafe;color:#1d4ed8;padding:5px 9px}.register-urgent.ok span{background:#ecfdf5;border-color:#bbf7d0;color:#15803d}
.task-card-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.task-owner-tag{display:inline-flex;align-items:center;border-radius:999px;background:#f1f5f9;color:#475569;font-size:11px;font-weight:1000;padding:4px 8px}.task-card-warning{margin-top:10px;border-radius:14px;background:#fff7ed;border:1px solid #fed7aa;color:#c2410c;font-size:12px;font-weight:800;padding:8px 10px}.task-card.done .task-card-warning{display:none}
.calendar-text-cell.done{border-color:#bbf7d0;background:linear-gradient(180deg,#ffffff,#f0fdf4)}.calendar-text-cell.done span{background:#dcfce7;color:#15803d}.calendar-text-cell.miss{border-color:#fecaca;background:linear-gradient(180deg,#ffffff,#fff7f7)}.calendar-text-cell.miss span{background:#fee2e2;color:#b91c1c}.calendar-text-cell.rest{border-color:#e2e8f0;background:#f8fafc}.calendar-text-cell.rest span{background:#f1f5f9;color:#64748b}
@media(max-width:900px){.register-summary-main{grid-template-columns:repeat(2,minmax(120px,1fr))}}
@media(max-width:560px){.register-summary-main{grid-template-columns:1fr}.register-urgent{align-items:flex-start;flex-direction:column}}
.assist-badge{display:inline-flex;align-items:center;margin:0 2px;padding:2px 6px;border-radius:999px;background:#fff7ed;border:1px solid #fed7aa;color:#c2410c;font-size:11px;font-weight:900;vertical-align:middle}


/* 今日任务看板：助力标识 */
.task-assist-row{margin-top:10px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:9px 10px;border-radius:14px;background:linear-gradient(135deg,#fff7ed,#fff1f2);border:1px solid #fed7aa}
.task-assist-label{font-size:12px;font-weight:900;color:#9a3412;background:#ffedd5;border:1px solid #fdba74;border-radius:999px;padding:3px 8px;line-height:1}
.task-assist-chip{display:inline-flex;align-items:center;gap:4px;border-radius:999px;background:#fff;border:1px solid #fecaca;color:#9f1239;padding:5px 10px;font-size:12px;font-weight:800;box-shadow:0 6px 14px rgba(244,63,94,.08)}
.task-assist-chip b{color:#be123c;font-weight:1000}
.task-assist-chip em{font-style:normal;font-size:13px;color:#ea580c;font-weight:1000}

/* 20260604 功能优化补丁：临时发单/超额完成/任务看板细节 */
.task-card-warning.ok{background:#ecfdf5;border-color:#bbf7d0;color:#166534}
.task-card.done .task-card-bottom em{font-weight:800}
.anomaly-panel.has-problem{border:1px solid rgba(249,115,22,.22)}
.assist-badge{display:inline-flex;align-items:center;padding:2px 6px;border-radius:999px;background:#fff7ed;color:#c2410c;font-size:12px;font-weight:800;margin:0 2px}
.task-assist-chip em{font-style:normal;font-weight:900;color:#ea580c}

/* 20260604 任务多时折叠优化 */
.task-board-group{margin-top:14px}
.task-board-group-head{font-weight:800;color:#2f4770;margin:8px 0 10px;padding-left:4px}
.task-collapse,.task-more{margin-top:12px;border:1px solid rgba(88,121,178,.18);border-radius:14px;background:rgba(255,255,255,.78);overflow:hidden}
.task-collapse>summary,.task-more>summary{cursor:pointer;list-style:none;padding:12px 14px;font-weight:800;color:#40608f;background:linear-gradient(135deg,rgba(240,246,255,.96),rgba(255,255,255,.86))}
.task-collapse>summary::-webkit-details-marker,.task-more>summary::-webkit-details-marker{display:none}
.task-collapse>summary:before,.task-more>summary:before{content:'▶';display:inline-block;margin-right:8px;transition:.18s transform}
.task-collapse[open]>summary:before,.task-more[open]>summary:before{transform:rotate(90deg)}
.task-collapse .task-board-group,.task-more .task-card-grid{padding:12px}
.table-collapse{padding:0;background:#fff}
.table-collapse table{margin-top:0}
.work-task-table-wrap .hint-box{margin:8px 0}

/* 员工端：首页今日个人任务提醒卡片 */
.personal-task-card{background:linear-gradient(135deg,#fff7ed,#ffffff);border:1px solid #fed7aa;border-radius:18px;padding:16px;margin:14px 0 16px;box-shadow:0 10px 28px rgba(249,115,22,.10)}
.personal-task-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.personal-task-kicker{font-size:12px;font-weight:900;color:#ea580c;letter-spacing:.06em;margin-bottom:4px}
.personal-task-head h3{margin:0;color:#0f172a;font-size:18px}
.personal-task-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.personal-task-grid>div{background:rgba(255,255,255,.86);border:1px solid #ffedd5;border-radius:14px;padding:12px;min-height:76px}
.personal-task-grid span{display:block;color:#64748b;font-size:12px;font-weight:800;margin-bottom:4px}
.personal-task-grid b{display:block;color:#0f172a;font-size:24px;line-height:1.1}
.personal-task-grid small{display:block;color:#94a3b8;margin-top:5px;line-height:1.35}
.personal-task-alert{margin-top:12px;background:#fff7ed;border:1px dashed #fb923c;border-radius:12px;padding:10px 12px;color:#9a3412;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.personal-task-alert span{background:#fff;border:1px solid #fed7aa;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:800}
.personal-task-alert.ok{background:#f0fdf4;border-color:#86efac;color:#166534}
.personal-task-alert.ok span{border-color:#bbf7d0}

/* 工资页：异常明细解释 */
.salary-explain-panel{margin-bottom:16px;border:1px solid #e0e7ff;background:linear-gradient(135deg,#eef2ff,#ffffff)}
.salary-explain-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.salary-explain-cards>div{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:12px;min-height:82px}
.salary-explain-cards span{display:block;color:#64748b;font-size:12px;font-weight:900;margin-bottom:4px}
.salary-explain-cards b{display:block;color:#0f172a;font-size:22px;line-height:1.2}
.salary-explain-cards small{display:block;color:#64748b;margin-top:5px;line-height:1.4}
.salary-explain-list{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:12px;line-height:1.8;color:#334155;overflow:auto}
.salary-explain-list ul{margin:8px 0 0 18px;padding:0}
.salary-explain-list li{margin:2px 0}
.salary-explain-list.danger{border-color:#fecaca;background:#fff7f7}
.salary-explain-list.danger b{color:#b91c1c}
@media (max-width:900px){.personal-task-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.salary-explain-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.personal-task-grid,.salary-explain-cards{grid-template-columns:1fr}.personal-task-head{align-items:flex-start}.personal-task-card{padding:14px}}

/* 发单登记 UI 美化 - 20260605 */
.tasks-page-modern{margin-bottom:16px}.task-page-hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px 26px;border:1px solid rgba(191,219,254,.9);border-radius:28px;background:linear-gradient(135deg,#eff6ff 0%,#ffffff 48%,#fff7ed 100%);box-shadow:0 18px 45px rgba(30,64,175,.08)}.task-page-hero:before{content:"";position:absolute;right:-70px;top:-90px;width:210px;height:210px;border-radius:999px;background:rgba(59,130,246,.14)}.task-page-hero:after{content:"";position:absolute;right:110px;bottom:-80px;width:150px;height:150px;border-radius:999px;background:rgba(249,115,22,.10)}.task-page-hero>*{position:relative;z-index:1}.task-page-kicker{display:inline-flex;align-items:center;border-radius:999px;background:#dbeafe;color:#1d4ed8;padding:5px 11px;font-size:12px;font-weight:1000;letter-spacing:.08em;margin-bottom:10px}.task-page-hero h2{margin:0;color:#0f172a;font-size:30px;letter-spacing:-.03em}.task-page-hero p{margin:8px 0 0;color:#64748b;font-weight:700}.modern-add-link-panel{display:block!important;padding:0!important;overflow:hidden;border-radius:28px!important;border-color:#dbeafe!important;background:linear-gradient(180deg,#ffffff,#f8fbff)!important;box-shadow:0 18px 42px rgba(15,23,42,.07)!important}.modern-add-link-head{padding:20px 22px;margin:0;background:linear-gradient(135deg,#f8fbff,#ffffff);border-bottom:1px solid #e8eef8}.add-link-grid{padding:18px 22px 4px}.add-link-two{padding:0 22px}.add-link-footer{padding:16px 22px 22px;border-top:1px solid #eef2f7;background:#fbfdff}.add-link-grid label,.add-link-two label{background:#fff;border:1px solid #e7edf7;border-radius:18px;padding:10px 12px;box-shadow:0 8px 20px rgba(15,23,42,.035)}.add-link-grid label span,.add-link-two label span{display:block;color:#334155;font-size:12px;font-weight:1000;margin-bottom:2px}.add-link-grid input,.add-link-grid select,.add-link-two textarea{border:0!important;background:#f8fafc!important;margin:6px 0 0!important;border-radius:14px!important;box-shadow:none!important}.link-textarea{min-height:110px!important}.add-submit-btn{min-width:150px;background:linear-gradient(135deg,#2563eb,#06b6d4)!important;box-shadow:0 14px 26px rgba(37,99,235,.22)!important}.task-list-panel{padding:0!important;overflow:hidden;border-radius:28px!important;box-shadow:0 18px 42px rgba(15,23,42,.06)!important}.task-list-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px 22px;border-bottom:1px solid #e8eef8;background:linear-gradient(135deg,#ffffff,#f8fbff)}.task-list-head h3{margin:0;color:#0f172a;font-size:22px}.task-list-head p{margin:6px 0 0;color:#64748b;font-size:13px;font-weight:700}.ghost-btn{background:#fff!important;color:#1d4ed8!important;border:1px solid #bfdbfe!important;box-shadow:0 10px 22px rgba(37,99,235,.08)!important}.task-filter-bar{display:grid!important;grid-template-columns:2fr repeat(5,minmax(120px,1fr)) auto auto auto;gap:10px!important;padding:16px 18px;margin:0!important;background:#f8fafc;border-bottom:1px solid #e8eef8}.task-filter-bar input,.task-filter-bar select{width:100%!important;margin:0!important;border-radius:14px!important;background:#fff!important}.task-filter-bar button{white-space:nowrap}.soft-btn{background:#e0f2fe!important;color:#0369a1!important;box-shadow:none!important}.soft-danger{box-shadow:none!important}.task-table-wrap{margin:0!important;border-radius:0!important;border:0!important;overflow:auto}.task-table-wrap table{min-width:1080px}.task-table-wrap th{position:sticky;top:0;z-index:1;background:#f1f5f9!important;color:#475569!important;font-weight:1000}.task-table-wrap td{vertical-align:middle}.task-table-wrap tr:hover td{background:#f8fbff}.modern-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin:0;padding:16px 18px;background:#fff;border-top:1px solid #e8eef8;color:#475569}.modern-pagination button{box-shadow:none}.modern-pagination button:disabled{opacity:.45;cursor:not-allowed;background:#cbd5e1!important}@media(max-width:1180px){.task-filter-bar{grid-template-columns:1fr 1fr 1fr}.task-filter-bar .filter-keyword{grid-column:1/-1}}@media(max-width:720px){.task-page-hero,.task-list-head,.modern-add-link-head,.add-link-footer{flex-direction:column;align-items:flex-start}.task-filter-bar{grid-template-columns:1fr}.add-link-grid{grid-template-columns:1fr!important}.task-page-hero h2{font-size:26px}.ghost-btn,.add-submit-btn{width:100%}}

/* 20260605 发单任务看板：主要负责人高亮 + 助力跑步进度条 */
.principal-focus{margin-top:10px;display:inline-flex;align-items:center;gap:9px;max-width:100%;padding:8px 11px;border-radius:16px;background:linear-gradient(135deg,#fff7ed,#ffffff);border:1px solid #fdba74;box-shadow:0 10px 22px rgba(249,115,22,.14);color:#9a3412}
.principal-focus-icon{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#ffedd5;font-size:15px;box-shadow:inset 0 0 0 1px #fed7aa;flex:0 0 auto}
.principal-focus small{display:block;font-size:11px;font-weight:1000;letter-spacing:.08em;color:#ea580c;line-height:1;margin-bottom:3px}
.principal-focus b{display:block;font-size:15px;font-weight:1000;color:#7c2d12;line-height:1.2;white-space:normal;word-break:break-all}
.principal-focus.all{background:linear-gradient(135deg,#eff6ff,#ffffff);border-color:#bfdbfe;color:#1d4ed8;box-shadow:0 10px 22px rgba(37,99,235,.12)}
.principal-focus.all .principal-focus-icon{background:#dbeafe;box-shadow:inset 0 0 0 1px #bfdbfe}.principal-focus.all small{color:#2563eb}.principal-focus.all b{color:#1e3a8a}
.principal-focus.warn{background:linear-gradient(135deg,#fef2f2,#ffffff);border-color:#fecaca;box-shadow:0 10px 22px rgba(239,68,68,.12)}
.principal-focus.warn .principal-focus-icon{background:#fee2e2;box-shadow:inset 0 0 0 1px #fecaca}.principal-focus.warn small,.principal-focus.warn b{color:#b91c1c}
.task-card-bar.runner-bar{position:relative;overflow:visible;height:14px;margin-top:42px;border-radius:999px;background:#e2e8f0;box-shadow:inset 0 1px 2px rgba(15,23,42,.12)}
.task-card-bar.runner-bar>i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#2563eb,#06b6d4);box-shadow:0 8px 16px rgba(37,99,235,.18)}
.assist-runner-layer{position:absolute;left:0;right:0;top:0;height:0;pointer-events:none;z-index:3}
.assist-runner{position:absolute;top:-34px;transform:translateX(-50%);display:flex;align-items:center;gap:5px;animation:runnerBounce 1.2s ease-in-out infinite}
.runner-person{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#fff7ed;border:1px solid #fdba74;box-shadow:0 8px 18px rgba(234,88,12,.16);font-size:16px}
.runner-bubble{white-space:nowrap;padding:5px 8px;border-radius:999px;background:#fff;border:1px solid #fed7aa;color:#c2410c;font-size:12px;font-weight:1000;box-shadow:0 8px 18px rgba(234,88,12,.12)}
@keyframes runnerBounce{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-3px)}}
@media(max-width:720px){.principal-focus{width:100%;box-sizing:border-box}.task-card-bar.runner-bar{margin-top:50px}.runner-bubble{font-size:11px;max-width:120px;overflow:hidden;text-overflow:ellipsis}.assist-runner{gap:3px}.runner-person{width:26px;height:26px}}
