.dashboard-hero{background:linear-gradient(135deg,#1f2937,#7f1d1d);color:white;border-radius:24px;padding:24px;box-shadow:var(--shadow);margin-bottom:16px}.dashboard-hero h2{margin:0 0 8px;font-size:28px}.dashboard-hero p{margin:0;color:#fee2e2}.quick-grid{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:12px;margin:16px 0}.quick-card{background:white;border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:var(--shadow);font-weight:900}.quick-card .icon{font-size:25px;margin-bottom:8px}.status-list{display:grid;gap:10px}.status-item{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:14px;background:#fff;padding:12px}.module-placeholder{border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,#fff,#fafafa);padding:24px}.module-placeholder h3{margin-top:0}.attendance-cell{min-width:68px}.att-select{min-width:70px;border:1px solid var(--line);border-radius:8px;padding:6px}.att-work{background:#ecfdf5}.att-off{background:#f3f4f6}.att-half{background:#fffbeb}.att-leave{background:#fef2f2}.mini-kpi{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.print-area{background:#fff;padding:20px;border-radius:16px;border:1px solid var(--line)}
@media(max-width:1200px){.quick-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.quick-grid{grid-template-columns:repeat(2,1fr)}}
/* 日常工作优化 */
.daily-fit{max-width:1120px}.daily-fit.narrow{max-width:880px}.daily-intro{display:flex;align-items:center;gap:14px;background:linear-gradient(135deg,#fff,#fff7ed);border:1px solid #fed7aa;border-radius:20px;padding:16px 18px;margin-bottom:16px;box-shadow:var(--shadow)}.daily-intro-icon{width:52px;height:52px;border-radius:16px;background:#fff1f2;display:grid;place-items:center;font-size:28px}.daily-intro h3{margin:0 0 4px;font-size:21px}.daily-intro p{margin:0;color:#6b7280;line-height:1.6}.daily-business-layout,.reservation-layout{display:grid;grid-template-columns:minmax(520px,760px) 320px;gap:16px;align-items:start}.daily-form-card{padding:18px;border-radius:22px}.form-row.full{grid-column:1/-1}.money-input{display:flex;align-items:center;border:1px solid var(--line);border-radius:13px;background:#fff;overflow:hidden}.money-input span{padding:0 12px;color:#991b1b;font-weight:950}.money-input .input{border:0;border-radius:0}.readonly-total{height:44px;border-radius:13px;background:#fff7ed;border:1px solid #fed7aa;display:flex;align-items:center;padding:0 14px;font-weight:950;font-size:20px;color:#9a3412}.daily-side-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:16px;box-shadow:var(--shadow)}.daily-side-card.tall{max-height:620px;overflow:auto}.side-title{font-weight:950;font-size:18px;margin-bottom:12px}.mini-stat{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:12px 0}.mini-stat span{color:#6b7280;font-weight:800}.mini-stat b{font-size:17px}.mini-stat.strong b{color:#b91c1c;font-size:22px}.small-note{margin-top:14px;line-height:1.6}.big-textarea{min-height:110px}.section-title-line{display:flex;align-items:center;justify-content:space-between;margin:18px 0 10px;font-weight:950}.section-title-line b{background:#fef2f2;color:#b91c1c;border-radius:999px;padding:4px 10px}.daily-list{display:grid;gap:12px}.record-card{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px 16px;box-shadow:var(--shadow)}.record-main{min-width:0}.record-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-weight:950}.record-title span{font-size:16px}.record-title em{font-style:normal}.record-meta{margin-top:6px;color:#6b7280;font-size:13px;font-weight:700}.record-note{margin-top:8px;background:#f9fafb;border-radius:12px;padding:9px;color:#374151;line-height:1.5}.day-group{display:grid;gap:10px}.day-title{font-size:18px;font-weight:950;padding:6px 2px}.compact-toolbar{max-width:760px}.month-small{width:auto;min-width:120px}.data-summary-row{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:12px;margin:14px 0}.summary-box{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:var(--shadow)}.summary-box span{display:block;color:#6b7280;font-weight:800}.summary-box b{display:block;margin-top:7px;font-size:24px}.summary-box.strong b{color:#b91c1c}.time-select{display:grid;grid-template-columns:1fr 1fr;gap:10px}.reservation-card{display:grid;grid-template-columns:1fr auto;gap:10px;border:1px solid var(--line);border-radius:18px;background:#fff;padding:13px;margin-bottom:10px}.reservation-card.done{background:#f0fdf4}.reservation-card b{font-size:16px}.reservation-card p{margin:5px 0 0;color:#6b7280;font-size:13px}.res-time{display:inline-flex;background:#111827;color:#fff;border-radius:999px;padding:4px 9px;font-weight:950;margin-bottom:8px}.res-actions{display:flex;flex-direction:column;gap:7px;align-items:flex-end}.reminder-card{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#fff;border:1px solid var(--line);border-left:6px solid #3b82f6;border-radius:18px;padding:15px;box-shadow:var(--shadow)}.reminder-card.warning{border-left-color:#f59e0b}.reminder-card.danger{border-left-color:#dc2626}.reminder-card.happy{border-left-color:#ec4899}.reminder-card p{margin:6px 0 0;color:#6b7280}@media(max-width:1100px){.daily-business-layout,.reservation-layout{grid-template-columns:1fr}.daily-side-card{max-width:760px}.data-summary-row{grid-template-columns:1fr}}@media(max-width:760px){.record-card,.reservation-card,.reminder-card{display:block}.record-card .btn,.res-actions{margin-top:10px}.res-actions{align-items:flex-start}.daily-intro{align-items:flex-start}.daily-intro-icon{width:44px;height:44px}.time-select{grid-template-columns:1fr 1fr}}

/* 输入页按钮靠近填写区 */
.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px;padding-top:14px;border-top:1px dashed var(--line)}
.form-actions .btn{min-width:128px;height:44px;font-size:15px}
.label-optional{font-size:12px;color:#9ca3af;font-weight:800;margin-left:4px}
.quick-choice-row{display:flex;gap:10px;margin-top:10px}.quick-choice-row .choice-btn{min-width:88px}
.choice-section{display:grid;gap:10px}.choice-label{font-weight:950;color:#374151;margin-top:2px}.choice-grid{display:flex;flex-wrap:wrap;gap:8px}.choice-btn{border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px 14px;font-weight:950;cursor:pointer;box-shadow:0 4px 12px rgba(15,23,42,.06)}.choice-btn:hover{border-color:#fb7185;background:#fff7ed}.choice-btn.active{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border-color:#dc2626;box-shadow:0 8px 18px rgba(220,38,38,.2)}.hour-grid .choice-btn{min-width:70px}.minute-grid .choice-btn{min-width:62px}.people-grid .choice-btn{min-width:64px}.reservation-form-card{max-width:760px}
@media(max-width:760px){.form-actions{justify-content:stretch}.form-actions .btn{flex:1}.choice-btn{padding:9px 11px}}

/* 2026-05 日常工作细节优化 */
.input:focus,.select:focus,.textarea:focus,.money-input:focus-within,.focus-input:focus{border-color:#ef4444!important;box-shadow:0 0 0 4px rgba(239,68,68,.14),0 10px 24px rgba(239,68,68,.08)!important;background:#fff7ed!important;outline:none!important;transition:.18s ease}
.money-input:focus-within span{background:#fee2e2;color:#b91c1c}
.input[disabled],.textarea[disabled],.select[disabled]{background:#f3f4f6!important;color:#6b7280!important;cursor:not-allowed}.choice-btn[disabled]{opacity:.55;cursor:not-allowed;box-shadow:none}.disabled-btn{background:#d1d5db!important;border-color:#d1d5db!important;color:#6b7280!important;cursor:not-allowed!important;box-shadow:none!important}.split-actions{justify-content:space-between}.split-actions>div{display:flex;gap:10px}.side-stack{display:grid;gap:14px}.compact-side .mini-stat{padding:9px 0}.refined-business{grid-template-columns:minmax(560px,780px) 300px}.star-choice{display:flex;gap:8px;flex-wrap:wrap}.star-btn{min-width:96px}.today-hint{display:inline-flex;align-items:center;margin-left:8px;padding:3px 8px;border-radius:999px;background:#fef2f2;color:#b91c1c;font-size:12px;font-weight:950}.reservation-refined{grid-template-columns:minmax(660px,760px) minmax(320px,360px)}.reservation-refined .daily-intro{margin-bottom:12px;padding:12px 14px}.compact-res-form{gap:10px}.small-res-note{min-height:58px}.always-visible{position:sticky;bottom:0;background:linear-gradient(180deg,rgba(255,255,255,.85),#fff);z-index:2;padding-bottom:2px}.reservation-side-stack .daily-side-card.tall{max-height:330px}.choice-grid.single-line{flex-wrap:nowrap;gap:6px}.choice-grid.single-line .choice-btn{min-width:54px;padding:9px 8px}.minute-grid .choice-btn,.people-grid .choice-btn{padding:9px 12px}.card-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.card-title-row .card-title{margin:0}.home-res-list{display:grid;gap:9px}.home-res-item{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:14px;background:#fff;padding:11px 12px}.home-res-item b{display:inline-flex;background:#111827;color:white;border-radius:999px;padding:4px 9px;margin-right:8px}.home-res-item span{font-weight:900}.home-res-item small{display:block;color:#6b7280;margin-top:5px}.home-res-card .empty{padding:18px}.date-field .date-mark{margin-left:8px;color:#b91c1c;font-size:12px;font-weight:950}
@media(max-width:1260px){.refined-business,.reservation-refined{grid-template-columns:1fr}.side-stack{grid-template-columns:repeat(2,minmax(240px,1fr))}.reservation-side-stack{grid-template-columns:1fr 1fr}.choice-grid.single-line{flex-wrap:wrap}.choice-grid.single-line .choice-btn{min-width:64px}}
@media(max-width:760px){.side-stack,.reservation-side-stack{grid-template-columns:1fr}.split-actions{display:flex}.star-btn{min-width:80px}.reservation-form-card{max-width:100%}}

/* 平台链接、营业数据、预订时间优化 */
.refined-business-wide{max-width:1500px;grid-template-columns:minmax(620px,820px) minmax(560px,660px)}
.side-stack-horizontal{grid-template-columns:repeat(2,minmax(260px,1fr));align-items:start}
.green-readonly{background:#ecfdf5!important;border-color:#86efac!important;color:#047857!important}
.green-total b,.green-text{color:#047857!important}
.form-row label{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.view-link-btn{height:28px;min-width:auto!important;padding:0 10px!important;font-size:12px!important;border-radius:999px!important}
.platform-link-form .field-tip{margin-top:6px;color:#9ca3af;font-weight:700;line-height:1.4}
.star-choice{display:flex!important;flex-wrap:nowrap!important;align-items:center}.star-choice .star-btn{min-width:96px;white-space:nowrap}
.hour-nowrap{flex-wrap:nowrap!important;overflow-x:auto;padding-bottom:4px}.hour-nowrap .choice-btn{min-width:58px;padding:9px 8px;white-space:nowrap}
.minute-pop{margin-top:10px;border:1px solid #fecaca;background:#fff7ed;border-radius:16px;padding:12px;box-shadow:0 10px 24px rgba(220,38,38,.10)}
.minute-pop.hidden{display:none}.selected-time-tip{margin-top:9px;color:#991b1b;font-weight:950;font-size:13px}.minute-grid{display:flex;gap:8px;flex-wrap:wrap}.minute-grid .choice-btn{min-width:58px}
@media(max-width:1320px){.refined-business-wide{grid-template-columns:1fr}.side-stack-horizontal{grid-template-columns:repeat(2,minmax(240px,1fr))}}
@media(max-width:760px){.side-stack-horizontal{grid-template-columns:1fr}.star-choice{flex-wrap:wrap!important}.hour-nowrap{flex-wrap:wrap!important;overflow:visible}.view-link-btn{margin-top:4px}}

/* 2026-05 营业数据一行一项 + 独立平台窗口优化 */
.business-row-form{display:grid;gap:14px}
.business-top-row{display:grid;grid-template-columns:minmax(260px,1fr) minmax(260px,1fr);gap:14px;align-items:end}
.business-row-list{display:grid;gap:11px}
.business-line{display:grid;grid-template-columns:190px 118px 1fr;align-items:center;gap:12px;border:1px solid var(--line);border-left:7px solid #ef4444;border-radius:18px;padding:12px 14px;background:#fff;box-shadow:0 8px 20px rgba(15,23,42,.05)}
.business-line:nth-child(even){background:#fffaf5}.business-line:nth-child(odd){background:#f8fbff}
.business-line.row-dine{border-left-color:#f97316;background:linear-gradient(90deg,#fff7ed,#fff)}
.business-line.row-mt{border-left-color:#ef4444;background:linear-gradient(90deg,#fef2f2,#fff)}
.business-line.row-tb{border-left-color:#0ea5e9;background:linear-gradient(90deg,#f0f9ff,#fff)}
.business-line.row-jd{border-left-color:#22c55e;background:linear-gradient(90deg,#f0fdf4,#fff)}
.business-line.row-star{border-left-color:#a855f7;background:linear-gradient(90deg,#faf5ff,#fff)}
.business-line-name{font-size:17px;font-weight:950;color:#111827;white-space:nowrap}.business-line-input{min-width:0}.business-line-input .money-input{height:46px;background:#fff}.business-line-input .input{height:46px;font-size:16px;font-weight:900}.big-total{height:52px;font-size:25px;justify-content:center}.big-view-btn,.business-line .view-link-btn{height:42px!important;min-width:104px!important;padding:0 18px!important;font-size:16px!important;border-radius:14px!important;background:linear-gradient(135deg,#111827,#374151)!important;color:#fff!important;border:0!important;box-shadow:0 8px 18px rgba(17,24,39,.18)!important}.business-line .view-link-btn:hover{transform:translateY(-1px);filter:brightness(1.08)}.business-line .view-link-btn:disabled{opacity:.65;cursor:wait}.star-line-input .star-choice{gap:10px}.star-line-input .star-btn{flex:1;min-width:92px;height:42px}
.reservation-side-stack{display:grid!important;grid-template-columns:1fr 1fr!important;gap:14px;align-items:start}.reservation-refined{grid-template-columns:minmax(560px,720px) minmax(640px,760px)!important;max-width:1520px}.reservation-side-stack .daily-side-card.tall{max-height:520px;overflow:auto}
@media(max-width:1280px){.reservation-refined{grid-template-columns:1fr!important}.reservation-side-stack{grid-template-columns:1fr 1fr!important}.business-line{grid-template-columns:170px 110px 1fr}}
@media(max-width:860px){.business-top-row{grid-template-columns:1fr}.business-line{grid-template-columns:1fr;gap:8px}.business-line .view-link-btn{width:100%;max-width:180px}.reservation-side-stack{grid-template-columns:1fr!important}.star-line-input .star-choice{flex-wrap:wrap!important}.star-line-input .star-btn{flex:0 0 auto}}

/* 2026-05-11 营业数据紧凑版：一行一项，保存按钮不需要滚动 */
.refined-business-wide{max-width:1380px;grid-template-columns:minmax(700px,860px) minmax(390px,1fr)!important;gap:14px!important}
.refined-business-wide .daily-intro{padding:10px 14px;margin-bottom:10px;border-radius:16px}
.refined-business-wide .daily-intro-icon{width:42px;height:42px;border-radius:13px;font-size:23px}
.refined-business-wide .daily-intro h3{font-size:18px;margin-bottom:2px}
.refined-business-wide .daily-intro p{font-size:13px;line-height:1.35}
.refined-business-wide .daily-form-card{padding:14px 16px;border-radius:20px}
.refined-business-wide .business-row-form{gap:9px}
.refined-business-wide .business-top-row{grid-template-columns:minmax(230px,1fr) minmax(240px,1fr);gap:10px}
.refined-business-wide .form-row.vertical label{margin-bottom:5px}
.refined-business-wide .date-field,.refined-business-wide .readonly-total.big-total{height:44px}
.refined-business-wide .business-row-list{gap:7px}
.refined-business-wide .business-line{grid-template-columns:178px 104px minmax(250px,1fr);padding:8px 11px;border-radius:15px;gap:10px;min-height:54px}
.refined-business-wide .business-line-name{font-size:16px}
.refined-business-wide .business-line .view-link-btn{height:38px!important;min-width:94px!important;border-radius:12px!important;font-size:15px!important}
.refined-business-wide .business-line-input .money-input{height:40px}
.refined-business-wide .business-line-input .input{height:40px;font-size:16px}
.refined-business-wide .star-line-input .star-choice{display:flex;flex-wrap:nowrap;gap:7px}
.refined-business-wide .star-line-input .star-btn{min-width:82px;height:38px;padding:8px 10px;font-size:14px}
.refined-business-wide textarea.textarea{min-height:58px}
.refined-business-wide .form-actions{margin-top:8px;padding-top:10px;position:sticky;bottom:0;background:linear-gradient(180deg,rgba(255,255,255,.85),#fff 45%);z-index:4;border-radius:0 0 18px 18px}
.refined-business-wide .form-actions .btn{height:40px;min-width:124px}
.refined-business-wide .side-stack-horizontal{grid-template-columns:1fr 1fr;gap:10px}
.refined-business-wide .daily-side-card{padding:12px;border-radius:18px}
.refined-business-wide .side-title{font-size:16px;margin-bottom:7px}
.refined-business-wide .mini-stat{padding:6px 0;font-size:13px}
.refined-business-wide .mini-stat b{font-size:14px}.refined-business-wide .mini-stat.strong b{font-size:18px}
@media(max-width:1420px){.refined-business-wide{grid-template-columns:1fr!important}.refined-business-wide .side-stack-horizontal{grid-template-columns:1fr 1fr}.refined-business-wide .business-line{grid-template-columns:170px 100px minmax(220px,1fr)}}
@media(max-width:860px){.refined-business-wide .business-line{grid-template-columns:1fr;gap:7px}.refined-business-wide .business-line .view-link-btn{width:150px}.refined-business-wide .side-stack-horizontal{grid-template-columns:1fr}.refined-business-wide .star-line-input .star-choice{flex-wrap:wrap}.refined-business-wide .business-top-row{grid-template-columns:1fr}}

/* 2026-05-11 平台图标美化 + 右侧数据卡片统一 */
.platform-label{display:flex;align-items:center;gap:10px;min-width:0}
.platform-logo{width:34px;height:34px;object-fit:cover;border-radius:10px;background:#fff;box-shadow:0 4px 10px rgba(15,23,42,.10);flex:0 0 34px}
.platform-label span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.business-line-name{display:flex;align-items:center;min-width:0}
.business-line.row-dine .platform-logo{background:#fff7ed}
.business-line.row-mt .platform-logo,.business-line.row-star .platform-logo{background:#fffbe6}
.business-line.row-tb .platform-logo{background:#f0f9ff}
.business-line.row-jd .platform-logo{background:#f3f4f6}
.platform-data-card .mini-stat span{display:flex;align-items:center;gap:8px;color:#374151;font-weight:900}
.mini-platform-logo{width:24px;height:24px;object-fit:cover;border-radius:7px;background:#fff;box-shadow:0 2px 7px rgba(15,23,42,.08);flex:0 0 24px}
.platform-data-card .mini-stat{border-bottom:1px dashed #e5e7eb}
.platform-data-card .mini-stat.strong span::before{content:'💰';font-size:20px;margin-right:2px}
.refined-business-wide .business-line{grid-template-columns:210px 100px minmax(220px,1fr)}
.refined-business-wide .business-line-name{font-size:16px}
.refined-business-wide .side-stack-horizontal .daily-side-card{min-width:0}
@media(max-width:1420px){.refined-business-wide .business-line{grid-template-columns:200px 96px minmax(200px,1fr)}}
@media(max-width:860px){.platform-label span:last-child{white-space:normal}.platform-logo{width:30px;height:30px}.refined-business-wide .business-line{grid-template-columns:1fr}.refined-business-wide .business-line .view-link-btn{width:150px}}
.remark-summary-card{margin-top:14px;padding:16px;border-radius:18px;background:#fff;box-shadow:0 10px 26px rgba(15,23,42,.08);border:1px solid var(--line)}
.remark-summary-card h3{margin:0 0 10px;font-size:20px}.note-cell{max-width:520px;white-space:normal;line-height:1.55}

/* v1 paste-recognition update */
.refined-business-wide .business-line.money-row{grid-template-columns:210px 96px 112px minmax(200px,1fr)}
.refined-business-wide .business-line.star-row{grid-template-columns:210px 96px minmax(330px,1fr)}
.paste-amount-btn{height:38px!important;min-width:106px!important;border-radius:12px!important;font-size:15px!important;font-weight:900!important;background:#fff!important;border:1px solid #cbd5e1!important;color:#0f172a!important;box-shadow:0 6px 14px rgba(15,23,42,.08)!important}
.paste-amount-btn:hover{background:#f8fafc!important;transform:translateY(-1px)}
.paste-help-box p{margin:0 0 12px;color:#475569;font-size:15px;line-height:1.7}.paste-help-box textarea{min-height:130px}
@media(max-width:1420px){.refined-business-wide .business-line.money-row{grid-template-columns:200px 92px 104px minmax(180px,1fr)}.refined-business-wide .business-line.star-row{grid-template-columns:200px 92px minmax(280px,1fr)}}
@media(max-width:980px){.refined-business-wide .business-line.money-row,.refined-business-wide .business-line.star-row{grid-template-columns:1fr}.paste-amount-btn,.refined-business-wide .business-line .view-link-btn{width:150px}}

/* 2026-05 修复：移除自动输入按钮，营业额行仅保留 查看 / 粘贴识别 / 输入框 */
.refined-business-wide .business-line.money-row{grid-template-columns:210px 92px 112px minmax(210px,1fr)!important}
@media(max-width:1420px){.refined-business-wide .business-line.money-row{grid-template-columns:190px 86px 106px minmax(190px,1fr)!important}}
@media(max-width:980px){.refined-business-wide .business-line.money-row{grid-template-columns:1fr!important}.paste-amount-btn,.refined-business-wide .business-line .view-link-btn{width:150px}}

/* 2026-05-12 AI智能预订 */
.ai-reservation-page{max-width:1520px;display:grid;grid-template-columns:minmax(680px,1fr) 420px;gap:16px;align-items:start}
.ai-reservation-main,.ai-reservation-side{display:grid;gap:14px}.ai-hero{display:grid;grid-template-columns:64px 1fr auto;gap:16px;align-items:center;background:linear-gradient(135deg,#fff,#fff7ed)}
.ai-hero-icon{width:64px;height:64px;border-radius:20px;background:#fee2e2;display:grid;place-items:center;font-size:34px;box-shadow:0 8px 20px rgba(220,38,38,.12)}
.ai-hero h3{margin:0 0 6px;font-size:22px}.ai-hero p{margin:0;color:#6b7280;line-height:1.65}.ai-card{padding:18px}.webhook-box{border:1px dashed #f59e0b;background:#fffbeb;border-radius:16px;padding:14px;overflow:auto}.webhook-box code{font-size:15px;font-weight:900;color:#92400e;white-space:nowrap}.ai-tip{margin-top:10px;color:#6b7280;font-weight:800;line-height:1.6}.ai-test-result{margin-top:12px}.ai-result-ok{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:14px;padding:12px}.ai-result-ok pre{white-space:pre-wrap;word-break:break-all;margin:8px 0 0;color:#166534}.ai-call-card{border:1px solid var(--line);border-radius:16px;background:#fff;padding:12px;margin-bottom:10px}.ai-call-card>div{display:flex;justify-content:space-between;gap:8px;align-items:center}.ai-call-card p{margin:8px 0;color:#374151;line-height:1.55}.ai-call-card em{font-style:normal;color:#9ca3af;font-size:12px}.ai-steps p{margin:8px 0;color:#374151;line-height:1.7;font-weight:750}
@media(max-width:1280px){.ai-reservation-page{grid-template-columns:1fr}.ai-reservation-side{grid-template-columns:1fr 1fr}.ai-steps{grid-column:1/-1}}
@media(max-width:820px){.ai-hero{grid-template-columns:1fr}.ai-reservation-side{grid-template-columns:1fr}.webhook-box code{white-space:normal}.ai-hero-icon{width:54px;height:54px}}

/* 2026-05-12 考勤排班重构：排班和月度考勤表分离 */
.attendance-panel{background:#fff;border:1px solid var(--line);border-radius:22px;padding:14px;box-shadow:var(--shadow)}
.schedule-toolbar{gap:10px;flex-wrap:wrap;margin-bottom:10px}.schedule-rule-card{background:linear-gradient(135deg,#fff7ed,#fff);border:1px solid #fed7aa;border-radius:14px;padding:8px 12px;margin-bottom:8px;line-height:1.55;color:#7c2d12;font-size:13px}
.schedule-wrap{height:calc(100vh - 255px);max-height:620px;overflow:hidden;border-radius:18px;border:1px solid #e5e7eb;background:#fff;box-shadow:0 10px 26px rgba(15,23,42,.06)}
.schedule-table{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0;background:#fff}.schedule-table th,.schedule-table td{padding:1px;text-align:center;vertical-align:middle}.schedule-table thead th{position:sticky;top:0;background:linear-gradient(180deg,#fff7ed,#fffaf5);z-index:3;border-bottom:2px solid #fed7aa;color:#7c2d12}.schedule-table thead .emp-sticky{z-index:5}.schedule-table thead .half-sticky{z-index:5}
.schedule-table .emp-sticky{width:88px;min-width:88px;background:#fff!important;z-index:4;box-shadow:2px 0 0 rgba(15,23,42,.05)}.schedule-table .half-sticky{width:54px;min-width:54px;background:#fffaf5!important;z-index:4;box-shadow:2px 0 0 rgba(15,23,42,.04);font-size:12px;font-weight:900;color:#92400e}.emp-name{font-size:13px;font-weight:950;white-space:nowrap;display:flex;gap:3px;align-items:center;justify-content:center}.small-text{font-size:10px}.day-head{height:32px;font-size:11px}.day-num{display:block;font-size:13px;font-weight:950;line-height:1}.day-week{display:block;font-size:10px;margin-top:2px}.weekend-day{background:linear-gradient(180deg,#fef2f2,#fff7ed)!important;color:#991b1b!important}.day-col{border-left:1px solid #edf2f7}.day-col:nth-child(2n+1){background:#fff}.dept-row td{height:22px;text-align:left!important;padding:3px 10px!important;font-weight:950;font-size:13px;border-top:2px solid #e5e7eb;border-bottom:1px solid #f1f5f9}.dept-kitchen td{background:linear-gradient(90deg,#fff7ed,#fff)}.dept-front td{background:linear-gradient(90deg,#eff6ff,#fff)}.emp-pair-top th,.emp-pair-top td{border-top:2px solid rgba(15,23,42,.08)}.emp-pair-bottom th,.emp-pair-bottom td{border-bottom:1px solid rgba(15,23,42,.08)}.half-am{border-bottom:1px dashed #e5e7eb!important}.schedule-cell{width:100%;height:25px;border:1px solid #e5e7eb;background:#fff;border-radius:8px;font-weight:950;font-size:12px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;line-height:1;box-shadow:inset 0 -1px 0 rgba(15,23,42,.04)}.schedule-cell:empty::after{content:''}.schedule-cell:hover{border-color:#ef4444;box-shadow:0 0 0 2px rgba(239,68,68,.10)}.schedule-cell.locked{background:#e0f2fe!important;color:#075985;border-color:#7dd3fc;cursor:not-allowed}.schedule-cell.locked::before{content:'🔒';font-size:9px;margin-right:1px}.schedule-cell:disabled{cursor:not-allowed;opacity:.95}.schedule-cell.sch-班{background:linear-gradient(135deg,#d1fae5,#ecfdf5);color:#047857;border-color:#86efac}.schedule-cell.sch-班::before{content:'✓';font-size:10px;margin-right:1px}.schedule-cell.sch-休{background:linear-gradient(135deg,#fef3c7,#fffbeb);color:#b45309;border-color:#fcd34d}.schedule-cell.sch-休::before{content:'☕';font-size:9px;margin-right:1px}.schedule-cell.sch-假{background:linear-gradient(135deg,#fee2e2,#fef2f2);color:#b91c1c;border-color:#fecaca}.schedule-cell.sch-假::before{content:'!';font-size:10px;margin-right:1px}.disabled-day{background:#f8fafc!important;color:#cbd5e1!important}.disabled-day .schedule-cell,.schedule-cell.disabled-day{opacity:.45;background:#f8fafc!important}.schedule-actions{position:sticky;bottom:0;background:#fff;z-index:6;margin-top:8px}.schedule-choice-grid{grid-template-columns:repeat(3,1fr);display:grid}.schedule-choice-grid .choice-btn{height:58px;font-size:20px}.month-att-wrap{overflow:auto}.month-att-table{min-width:1900px}.month-att-table th,.month-att-table td{text-align:center;padding:7px}.att-badge{display:inline-flex;align-items:center;justify-content:center;min-width:46px;min-height:28px;border-radius:10px;border:1px solid var(--line);font-size:13px;font-weight:950;background:#fff}.att-badge.att-work{background:#ecfdf5;color:#047857;border-color:#bbf7d0}.att-badge.att-off{background:#f3f4f6;color:#374151;border-color:#e5e7eb}.att-badge.att-half{background:#fffbeb;color:#b45309;border-color:#fde68a}.att-badge.att-leave{background:#fef2f2;color:#b91c1c;border-color:#fecaca}
.emp-tone-0{border-left:4px solid #f97316!important}.emp-tone-1{border-left:4px solid #22c55e!important}.emp-tone-2{border-left:4px solid #3b82f6!important}.emp-tone-3{border-left:4px solid #a855f7!important}.emp-tone-4{border-left:4px solid #ec4899!important}.emp-tone-5{border-left:4px solid #14b8a6!important}.emp-tone-6{border-left:4px solid #f59e0b!important}
@media(max-width:1300px){.schedule-wrap{height:calc(100vh - 235px)}.schedule-table .emp-sticky{width:78px;min-width:78px}.schedule-table .half-sticky{width:48px;min-width:48px}.schedule-cell{height:23px;font-size:11px;border-radius:7px}.emp-name{font-size:12px}.small-text{font-size:9px}.day-head{height:30px}.day-num{font-size:12px}.day-week{font-size:9px}.schedule-rule-card{font-size:12px;padding:7px 10px}.schedule-table th,.schedule-table td{padding:1px}}
@media(max-width:1050px){.schedule-cell{height:21px;font-size:10px}.schedule-table .emp-sticky{width:70px;min-width:70px}.schedule-table .half-sticky{width:42px;min-width:42px;font-size:10px}.emp-name{font-size:11px}.small-text{display:none}.day-num{font-size:11px}.day-week{font-size:8px}.schedule-rule-card{max-height:42px;overflow:hidden}.schedule-wrap{height:calc(100vh - 220px)}}.schedule-cell{width:52px}.half-sticky{left:104px}.emp-sticky{min-width:104px}.schedule-wrap{max-height:calc(100vh - 260px)}}


/* 2026-05-12 排班表干净版：去掉杂乱彩色单元格，改为清晰分组线条 */
.schedule-wrap{
  height:calc(100vh - 245px)!important;
  max-height:640px!important;
  overflow:hidden!important;
  border-radius:18px!important;
  border:1px solid #d9e2ec!important;
  background:#fff!important;
}
.schedule-table{font-size:12px!important;border-collapse:separate!important;border-spacing:0!important;background:#fff!important;}
.schedule-table th,.schedule-table td{padding:1px!important;}
.schedule-table thead th{background:#faf7f2!important;color:#4b5563!important;border-bottom:2px solid #d6d3d1!important;}
.schedule-table .emp-sticky{width:92px!important;min-width:92px!important;background:#fff!important;border-right:2px solid #d6d3d1!important;color:#111827!important;}
.schedule-table .half-sticky{width:46px!important;min-width:46px!important;background:#fafafa!important;border-right:1px solid #e5e7eb!important;color:#4b5563!important;font-size:11px!important;}
.emp-name{font-size:13px!important;font-weight:950!important;color:#111827!important;}
.small-text{font-size:9px!important;color:#9ca3af!important;}
.dept-row td{height:20px!important;background:#f8fafc!important;color:#374151!important;border-top:2px solid #cbd5e1!important;border-bottom:1px solid #e5e7eb!important;font-size:12px!important;letter-spacing:.04em;}
.dept-kitchen td,.dept-front td{background:#f8fafc!important;}
.emp-pair-top th,.emp-pair-top td{border-top:2px solid #cbd5e1!important;}
.emp-pair-bottom th,.emp-pair-bottom td{border-bottom:1px solid #e5e7eb!important;}
.emp-pair:nth-of-type(4n+2) td,.emp-pair:nth-of-type(4n+3) td{background:#fcfcfd!important;}
.emp-tone,.emp-tone-0,.emp-tone-1,.emp-tone-2,.emp-tone-3,.emp-tone-4,.emp-tone-5,.emp-tone-6{border-left:none!important;}
.day-head{height:30px!important;font-size:10px!important;}
.day-num{font-size:12px!important;color:#111827!important;}
.day-week{font-size:9px!important;color:#6b7280!important;}
.weekend-day{background:#fff7ed!important;color:#7c2d12!important;}
.day-col{border-left:1px solid #edf2f7!important;background:transparent!important;}
.day-col.day-1,.day-col.day-2,.day-col.day-3,.day-col.day-4,.day-col.day-5,.day-col.day-6,.day-col.day-7,.day-col.day-8,.day-col.day-9,.day-col.day-10,.day-col.day-11,.day-col.day-12,.day-col.day-13,.day-col.day-14,.day-col.day-15,.day-col.day-16,.day-col.day-17,.day-col.day-18,.day-col.day-19,.day-col.day-20,.day-col.day-21,.day-col.day-22,.day-col.day-23,.day-col.day-24,.day-col.day-25,.day-col.day-26,.day-col.day-27,.day-col.day-28,.day-col.day-29,.day-col.day-30,.day-col.day-31{border-left:1px solid #e5e7eb!important;}
.half-am .day-col{border-bottom:1px dotted #d1d5db!important;}
.schedule-cell{
  width:100%!important;
  height:23px!important;
  min-width:0!important;
  border:1px solid #e5e7eb!important;
  background:#fff!important;
  border-radius:5px!important;
  box-shadow:none!important;
  font-size:11px!important;
  font-weight:900!important;
  color:#374151!important;
}
.schedule-cell:hover{border-color:#991b1b!important;box-shadow:0 0 0 2px rgba(153,27,27,.08)!important;background:#fff!important;}
.schedule-cell.sch-班{background:#f8fafc!important;color:#166534!important;border-color:#cbd5e1!important;}
.schedule-cell.sch-班::before{content:'✓';font-size:9px;margin-right:1px;color:#166534;}
.schedule-cell.sch-休{background:#fff7ed!important;color:#9a3412!important;border-color:#fed7aa!important;}
.schedule-cell.sch-休::before{content:'●';font-size:8px;margin-right:2px;color:#9a3412;}
.schedule-cell.sch-假{background:#fef2f2!important;color:#991b1b!important;border-color:#fecaca!important;}
.schedule-cell.sch-假::before{content:'!';font-size:9px;margin-right:2px;color:#991b1b;}
.schedule-cell.locked{background:#f1f5f9!important;color:#475569!important;border-color:#cbd5e1!important;}
.schedule-cell.locked::before{content:'🔒';font-size:8px;margin-right:1px;}
.schedule-cell:empty::before{content:''!important;}
.schedule-cell:empty{background:#fff!important;}
.schedule-actions{padding-top:8px!important;border-top:1px solid #e5e7eb!important;}
@media(max-width:1300px){.schedule-table .emp-sticky{width:80px!important;min-width:80px!important}.schedule-table .half-sticky{width:40px!important;min-width:40px!important}.schedule-cell{height:21px!important;font-size:10px!important}.emp-name{font-size:12px!important}.small-text{display:none!important}.schedule-wrap{height:calc(100vh - 230px)!important}.day-head{height:27px!important}.day-num{font-size:11px!important}.day-week{font-size:8px!important}}

/* 2026-05-12 v3 排班表美观版：按员工浅色底图区分，日期压缩到一屏，周末变色 */
.schedule-wrap{
  height:calc(100vh - 235px)!important;
  max-height:none!important;
  overflow:hidden!important;
  border-radius:20px!important;
  border:1px solid #e2e8f0!important;
  background:#f8fafc!important;
  padding:6px!important;
  box-shadow:0 14px 34px rgba(15,23,42,.08)!important;
}
.schedule-table{
  width:100%!important;
  table-layout:fixed!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  background:#fff!important;
  border-radius:16px!important;
  overflow:hidden!important;
  font-size:12px!important;
}
.schedule-table th,.schedule-table td{
  padding:1px!important;
  text-align:center!important;
  vertical-align:middle!important;
}
.schedule-table thead th{
  height:34px!important;
  background:linear-gradient(180deg,#fff,#f8fafc)!important;
  color:#334155!important;
  border-bottom:2px solid #cbd5e1!important;
  font-weight:950!important;
}
.schedule-table thead .weekend-day{
  background:linear-gradient(180deg,#fee2e2,#fff7ed)!important;
  color:#b91c1c!important;
  box-shadow:inset 0 -3px 0 rgba(220,38,38,.18)!important;
}
.schedule-table .emp-sticky{
  width:82px!important;
  min-width:82px!important;
  border-right:2px solid rgba(100,116,139,.20)!important;
  color:#0f172a!important;
}
.schedule-table .half-sticky{
  width:38px!important;
  min-width:38px!important;
  border-right:1px solid rgba(100,116,139,.18)!important;
  color:#475569!important;
  font-size:10px!important;
  font-weight:950!important;
}
.day-head{height:34px!important;font-size:10px!important;}
.day-num{font-size:12px!important;line-height:1.05!important;}
.day-week{font-size:8px!important;margin-top:1px!important;}
.day-col{
  border-left:1px solid rgba(148,163,184,.16)!important;
}
.dept-row td{
  height:20px!important;
  padding:2px 10px!important;
  background:linear-gradient(90deg,#f8fafc,#fff)!important;
  color:#334155!important;
  border-top:1px solid #e2e8f0!important;
  border-bottom:1px solid #e2e8f0!important;
  font-size:12px!important;
}
.emp-pair-top th,.emp-pair-top td{
  border-top:7px solid #fff!important;
}
.emp-pair-bottom th,.emp-pair-bottom td{
  border-bottom:2px solid rgba(100,116,139,.16)!important;
}
.emp-name{
  font-size:12px!important;
  font-weight:950!important;
  gap:2px!important;
}
.small-text{font-size:9px!important;color:#64748b!important;}
.half-am .day-col{border-bottom:1px dashed rgba(100,116,139,.22)!important;}
.emp-0 th,.emp-0 td{background:#fff7ed!important;}
.emp-1 th,.emp-1 td{background:#f0fdf4!important;}
.emp-2 th,.emp-2 td{background:#eff6ff!important;}
.emp-3 th,.emp-3 td{background:#f5f3ff!important;}
.emp-4 th,.emp-4 td{background:#fdf2f8!important;}
.emp-5 th,.emp-5 td{background:#ecfeff!important;}
.emp-6 th,.emp-6 td{background:#fefce8!important;}
.emp-pair .emp-sticky{
  border-left:5px solid rgba(15,23,42,.18)!important;
}
.emp-0 .emp-sticky{border-left-color:#fb923c!important;}
.emp-1 .emp-sticky{border-left-color:#22c55e!important;}
.emp-2 .emp-sticky{border-left-color:#3b82f6!important;}
.emp-3 .emp-sticky{border-left-color:#8b5cf6!important;}
.emp-4 .emp-sticky{border-left-color:#ec4899!important;}
.emp-5 .emp-sticky{border-left-color:#06b6d4!important;}
.emp-6 .emp-sticky{border-left-color:#eab308!important;}
.schedule-cell{
  width:100%!important;
  height:28px!important;
  min-width:0!important;
  border-radius:9px!important;
  border:1px solid rgba(148,163,184,.30)!important;
  background:rgba(255,255,255,.72)!important;
  box-shadow:inset 0 -1px 0 rgba(15,23,42,.04)!important;
  font-size:11px!important;
  font-weight:950!important;
  color:#334155!important;
  padding:0!important;
}
.schedule-cell:hover{
  border-color:#dc2626!important;
  background:#fff!important;
  box-shadow:0 0 0 2px rgba(220,38,38,.10)!important;
}
.schedule-cell:empty,
.schedule-cell:empty:hover{
  background:rgba(255,255,255,.52)!important;
  color:transparent!important;
}
.schedule-cell:empty::before{content:''!important;}
.schedule-cell.sch-班{
  background:rgba(220,252,231,.88)!important;
  color:#166534!important;
  border-color:#86efac!important;
}
.schedule-cell.sch-班::before{content:'✓';font-size:9px;margin-right:1px;color:#166534;}
.schedule-cell.sch-休{
  background:rgba(255,247,237,.96)!important;
  color:#9a3412!important;
  border-color:#fdba74!important;
}
.schedule-cell.sch-休::before{content:'●';font-size:8px;margin-right:2px;color:#ea580c;}
.schedule-cell.sch-假{
  background:rgba(254,226,226,.95)!important;
  color:#991b1b!important;
  border-color:#fca5a5!important;
}
.schedule-cell.sch-假::before{content:'!';font-size:9px;margin-right:2px;color:#dc2626;}
.schedule-cell.locked{
  background:rgba(226,232,240,.95)!important;
  color:#475569!important;
  border-color:#cbd5e1!important;
}
.schedule-cell.locked::before{content:'🔒';font-size:8px;margin-right:1px;}
.schedule-actions{
  margin-top:8px!important;
  padding-top:8px!important;
  border-top:1px solid #e2e8f0!important;
}
@media(max-width:1300px){
  .schedule-wrap{height:calc(100vh - 220px)!important;padding:4px!important;}
  .schedule-table .emp-sticky{width:72px!important;min-width:72px!important;}
  .schedule-table .half-sticky{width:32px!important;min-width:32px!important;font-size:9px!important;}
  .emp-name{font-size:11px!important;}
  .small-text{display:none!important;}
  .schedule-cell{height:25px!important;border-radius:7px!important;font-size:10px!important;}
  .day-head{height:28px!important;}
  .day-num{font-size:10px!important;}
  .day-week{font-size:7px!important;}
  .emp-pair-top th,.emp-pair-top td{border-top-width:5px!important;}
}

/* 2026-05-12 v4 排班表整洁分组版：姓名和上午/下午合并，员工双色底，去掉多余图标 */
.schedule-wrap{
  height:calc(100vh - 230px)!important;
  max-height:none!important;
  overflow:hidden!important;
  border-radius:20px!important;
  border:1px solid #dbe4ee!important;
  background:#f8fafc!important;
  padding:6px!important;
}
.schedule-table{
  width:100%!important;
  table-layout:fixed!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  background:#fff!important;
  border-radius:16px!important;
  overflow:hidden!important;
}
.schedule-table th,.schedule-table td{padding:1px!important;box-sizing:border-box!important;}
.schedule-table thead th{
  height:34px!important;
  background:#ffffff!important;
  color:#111827!important;
  border-bottom:2px solid #cbd5e1!important;
  font-weight:950!important;
}
.schedule-table thead .weekend-day{
  background:linear-gradient(180deg,#fee2e2,#fff7ed)!important;
  color:#b91c1c!important;
  box-shadow:inset 0 -3px 0 rgba(220,38,38,.20)!important;
}
.schedule-table .emp-sticky{
  width:96px!important;
  min-width:96px!important;
  background:inherit!important;
  border-right:2px solid #cbd5e1!important;
  color:#111827!important;
  padding:3px 4px!important;
}
.schedule-table .half-sticky{display:none!important;width:0!important;min-width:0!important;padding:0!important;border:0!important;}
.emp-name{
  font-size:15px!important;
  line-height:1.15!important;
  font-weight:1000!important;
  color:#111827!important;
  letter-spacing:.02em!important;
  display:block!important;
  text-align:center!important;
}
.small-text{font-size:10px!important;color:#64748b!important;margin-top:3px!important;display:block!important;}
.half-in-name{
  display:grid!important;
  grid-template-rows:1fr 1fr!important;
  gap:2px!important;
  margin-top:6px!important;
  height:42px!important;
}
.half-in-name span{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
  border:1px solid rgba(100,116,139,.22)!important;
  background:rgba(255,255,255,.64)!important;
  color:#334155!important;
  font-size:11px!important;
  font-weight:950!important;
}
.dept-row td{
  height:22px!important;
  padding:3px 10px!important;
  background:#f1f5f9!important;
  color:#334155!important;
  border-top:1px solid #dbe4ee!important;
  border-bottom:1px solid #dbe4ee!important;
  font-size:12px!important;
  font-weight:950!important;
}
.emp-pair-top th,.emp-pair-top td{border-top:8px solid #fff!important;}
.emp-pair-bottom th,.emp-pair-bottom td{border-bottom:2px solid rgba(100,116,139,.16)!important;}
.emp-pair-top td,.emp-pair-bottom td{background:inherit!important;}
.emp-0 th,.emp-0 td,.emp-2 th,.emp-2 td,.emp-4 th,.emp-4 td,.emp-6 th,.emp-6 td{background:#ffffff!important;}
.emp-1 th,.emp-1 td,.emp-3 th,.emp-3 td,.emp-5 th,.emp-5 td{background:#eef6ff!important;}
.emp-pair .emp-sticky{border-left:0!important;}
.half-am .day-col{border-bottom:1px dashed rgba(100,116,139,.26)!important;}
.day-head{height:34px!important;font-size:10px!important;}
.day-num{font-size:13px!important;line-height:1.05!important;color:inherit!important;}
.day-week{font-size:9px!important;margin-top:1px!important;color:inherit!important;opacity:.74!important;}
.day-col{border-left:1px solid rgba(148,163,184,.18)!important;}
.schedule-cell{
  width:100%!important;
  height:30px!important;
  min-width:0!important;
  border-radius:8px!important;
  border:1px solid rgba(148,163,184,.28)!important;
  background:rgba(255,255,255,.58)!important;
  box-shadow:none!important;
  font-size:11px!important;
  font-weight:950!important;
  color:#334155!important;
  padding:0!important;
}
.schedule-cell:hover{border-color:#dc2626!important;background:#fff!important;box-shadow:0 0 0 2px rgba(220,38,38,.10)!important;}
.schedule-cell:empty,.schedule-cell:empty:hover{background:rgba(255,255,255,.42)!important;color:transparent!important;}
.schedule-cell:empty::before,.schedule-cell.sch-班::before,.schedule-cell.sch-休::before,.schedule-cell.sch-假::before{content:''!important;display:none!important;}
.schedule-cell.sch-班{background:#dcfce7!important;color:#166534!important;border-color:#86efac!important;}
.schedule-cell.sch-休{background:#ffedd5!important;color:#9a3412!important;border-color:#fdba74!important;}
.schedule-cell.sch-假{background:#fee2e2!important;color:#991b1b!important;border-color:#fca5a5!important;}
.schedule-cell.locked{background:#e2e8f0!important;color:#475569!important;border-color:#cbd5e1!important;}
.schedule-cell.locked::before{content:''!important;display:none!important;}
.schedule-actions{margin-top:8px!important;padding-top:8px!important;border-top:1px solid #e2e8f0!important;}
@media(max-width:1300px){
  .schedule-wrap{height:calc(100vh - 218px)!important;padding:4px!important;}
  .schedule-table .emp-sticky{width:86px!important;min-width:86px!important;}
  .emp-name{font-size:14px!important;}
  .small-text{font-size:9px!important;}
  .half-in-name{height:38px!important;margin-top:4px!important;}
  .half-in-name span{font-size:10px!important;}
  .schedule-cell{height:28px!important;border-radius:7px!important;font-size:10px!important;}
  .day-head{height:30px!important;}
  .day-num{font-size:11px!important;}
  .day-week{font-size:8px!important;}
  .emp-pair-top th,.emp-pair-top td{border-top-width:6px!important;}
}

/* ===== 2026-05-12 排班表左侧姓名/上午下午对齐美化版 ===== */
.schedule-wrap{
  height:calc(100vh - 225px)!important;
  max-height:none!important;
  overflow:hidden!important;
  padding:6px!important;
  background:#f8fafc!important;
}
.schedule-table{
  width:100%!important;
  table-layout:fixed!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  background:#fff!important;
}
.schedule-table th,.schedule-table td{
  padding:1px!important;
  box-sizing:border-box!important;
  vertical-align:middle!important;
}
.schedule-table thead th{
  height:32px!important;
  background:#ffffff!important;
  border-bottom:2px solid #cbd5e1!important;
  color:#111827!important;
  font-weight:950!important;
}
.schedule-table .emp-sticky{
  width:86px!important;
  min-width:86px!important;
  max-width:86px!important;
  position:sticky!important;
  left:0!important;
  z-index:7!important;
  border-right:1px solid #cbd5e1!important;
  box-shadow:none!important;
}
.schedule-table .half-sticky{
  display:table-cell!important;
  width:36px!important;
  min-width:36px!important;
  max-width:36px!important;
  position:sticky!important;
  left:86px!important;
  z-index:7!important;
  border-right:2px solid #cbd5e1!important;
  box-shadow:none!important;
  font-size:12px!important;
  font-weight:950!important;
  color:#334155!important;
  padding:0!important;
}
.schedule-table thead .emp-sticky,
.schedule-table thead .half-sticky{
  z-index:12!important;
  background:#fff!important;
}
.emp-name-cell{
  text-align:center!important;
  padding:4px 3px!important;
}
.emp-name{
  font-size:16px!important;
  line-height:1.12!important;
  font-weight:1000!important;
  color:#111827!important;
  letter-spacing:.01em!important;
  display:block!important;
  text-align:center!important;
  white-space:nowrap!important;
}
.small-text{
  display:block!important;
  margin-top:3px!important;
  font-size:10px!important;
  line-height:1.1!important;
  color:#64748b!important;
  font-weight:850!important;
}
.half-cell{
  text-align:center!important;
  writing-mode:horizontal-tb!important;
  line-height:1.05!important;
  letter-spacing:0!important;
}
.half-in-name{display:none!important;}
.dept-row td{
  height:22px!important;
  padding:3px 10px!important;
  background:#f1f5f9!important;
  border-top:1px solid #dbe4ee!important;
  border-bottom:1px solid #dbe4ee!important;
  color:#334155!important;
  font-size:12px!important;
  font-weight:950!important;
  text-align:left!important;
}
.emp-pair-top th,.emp-pair-top td{
  border-top:7px solid #ffffff!important;
}
.emp-pair-bottom th,.emp-pair-bottom td{
  border-bottom:2px solid rgba(100,116,139,.16)!important;
}
.emp-pair-top td.day-col{
  border-bottom:1px dashed rgba(100,116,139,.28)!important;
}
.emp-0 th,.emp-0 td{background:#ffffff!important;}
.emp-1 th,.emp-1 td{background:#eef6ff!important;}
.emp-0 .emp-name-cell{background:#ffffff!important;}
.emp-0 .half-cell{background:#f8fafc!important;}
.emp-1 .emp-name-cell{background:#eaf4ff!important;}
.emp-1 .half-cell{background:#dbeafe!important;}
.day-head{height:32px!important;font-size:10px!important;}
.day-num{display:block!important;font-size:13px!important;line-height:1.05!important;color:inherit!important;}
.day-week{display:block!important;font-size:9px!important;margin-top:1px!important;color:inherit!important;opacity:.78!important;}
.schedule-table thead .weekend-day{
  background:linear-gradient(180deg,#fee2e2,#fff7ed)!important;
  color:#b91c1c!important;
  box-shadow:inset 0 -3px 0 rgba(220,38,38,.20)!important;
}
.day-col{
  border-left:1px solid rgba(148,163,184,.18)!important;
  background:inherit!important;
}
.schedule-cell{
  width:100%!important;
  height:30px!important;
  min-width:0!important;
  border-radius:8px!important;
  border:1px solid rgba(148,163,184,.30)!important;
  background:rgba(255,255,255,.68)!important;
  color:#334155!important;
  font-size:11px!important;
  font-weight:950!important;
  padding:0!important;
  box-shadow:none!important;
}
.schedule-cell:empty,
.schedule-cell:empty:hover{
  background:rgba(255,255,255,.36)!important;
  color:transparent!important;
}
.schedule-cell:empty::before,
.schedule-cell.sch-班::before,
.schedule-cell.sch-休::before,
.schedule-cell.sch-假::before,
.schedule-cell.locked::before{
  content:''!important;
  display:none!important;
}
.schedule-cell.sch-班{background:#dbeafe!important;color:#1e3a8a!important;border-color:#bfdbfe!important;}
.schedule-cell.sch-休{background:#ffedd5!important;color:#9a3412!important;border-color:#fdba74!important;}
.schedule-cell.sch-假{background:#fee2e2!important;color:#991b1b!important;border-color:#fca5a5!important;}
.schedule-cell.locked{background:#e2e8f0!important;color:#475569!important;border-color:#cbd5e1!important;}
.schedule-cell:hover{border-color:#dc2626!important;background:#fff!important;box-shadow:0 0 0 2px rgba(220,38,38,.10)!important;}
.schedule-actions{margin-top:8px!important;padding-top:8px!important;border-top:1px solid #e2e8f0!important;}
@media(max-width:1300px){
  .schedule-wrap{height:calc(100vh - 215px)!important;padding:4px!important;}
  .schedule-table .emp-sticky{width:80px!important;min-width:80px!important;max-width:80px!important;}
  .schedule-table .half-sticky{width:32px!important;min-width:32px!important;max-width:32px!important;left:80px!important;font-size:10px!important;}
  .emp-name{font-size:14px!important;}
  .small-text{font-size:9px!important;}
  .schedule-cell{height:28px!important;border-radius:7px!important;font-size:10px!important;}
  .day-head{height:30px!important;}
  .day-num{font-size:11px!important;}
  .day-week{font-size:8px!important;}
  .emp-pair-top th,.emp-pair-top td{border-top-width:5px!important;}
}

/* 2026-05-12 排班表：姓名圆角色块 + 上午淡绿/下午灰色分区 */
.schedule-table{border-collapse:separate!important;border-spacing:0 6px!important;background:#fff}.schedule-table th,.schedule-table td{border-color:#e5e7eb!important}.schedule-table .emp-sticky{width:104px;min-width:104px;background:#fff!important;padding:4px 5px!important}.schedule-table .half-sticky{width:42px;min-width:42px;text-align:center!important;font-size:13px!important;font-weight:950!important;color:#334155!important;box-shadow:none!important}.emp-name-cell{background:transparent!important;border-right:1px solid #e5e7eb!important}.emp-name-card{height:100%;min-height:66px;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;box-shadow:0 6px 16px rgba(15,23,42,.06),inset 0 0 0 1px rgba(255,255,255,.72);border:1px solid rgba(148,163,184,.22);overflow:hidden}.emp-name{font-size:17px!important;font-weight:950!important;letter-spacing:.3px;color:#111827}.emp-position{font-size:11px;font-weight:850;color:#475569}.emp-theme-0 .emp-name-card{background:linear-gradient(135deg,#fff7ed,#fed7aa)}.emp-theme-1 .emp-name-card{background:linear-gradient(135deg,#eff6ff,#bfdbfe)}.emp-theme-2 .emp-name-card{background:linear-gradient(135deg,#ecfdf5,#bbf7d0)}.emp-theme-3 .emp-name-card{background:linear-gradient(135deg,#fdf2f8,#fbcfe8)}.emp-theme-4 .emp-name-card{background:linear-gradient(135deg,#f5f3ff,#ddd6fe)}.emp-theme-5 .emp-name-card{background:linear-gradient(135deg,#fefce8,#fde68a)}.emp-theme-6 .emp-name-card{background:linear-gradient(135deg,#f0fdfa,#99f6e4)}.half-am .half-cell,.half-am .day-col{background:#ecfdf5!important}.half-pm .half-cell,.half-pm .day-col{background:#f3f4f6!important}.half-am .half-cell{border-top-left-radius:12px;border-bottom-left-radius:4px;color:#047857!important}.half-pm .half-cell{border-top-left-radius:4px;border-bottom-left-radius:12px;color:#475569!important}.half-am .day-col,.half-pm .day-col{padding:3px 3px!important}.half-am td:last-child{border-top-right-radius:12px}.half-pm td:last-child{border-bottom-right-radius:12px}.emp-pair-top th,.emp-pair-top td{border-top:1px solid rgba(15,23,42,.08)!important}.emp-pair-bottom th,.emp-pair-bottom td{border-bottom:1px solid rgba(15,23,42,.08)!important}.half-am{border-bottom:none!important}.half-am th,.half-am td{border-bottom:1px dashed rgba(22,101,52,.18)!important}.half-pm th,.half-pm td{border-top:none!important}.schedule-cell{height:27px!important;min-width:30px;border-radius:10px!important;border:1px solid rgba(148,163,184,.36)!important;background:rgba(255,255,255,.48)!important;box-shadow:inset 0 -1px 0 rgba(15,23,42,.04)!important;font-size:12px!important}.schedule-cell.sch-班{background:#dbeafe!important;color:#1e3a8a!important;border-color:#bfdbfe!important}.schedule-cell.sch-休{background:#ffedd5!important;color:#9a3412!important;border-color:#fed7aa!important}.schedule-cell.sch-假{background:#fee2e2!important;color:#991b1b!important;border-color:#fecaca!important}.schedule-cell.sch-班::before,.schedule-cell.sch-休::before,.schedule-cell.sch-假::before{content:''!important;display:none!important}.schedule-cell.locked::before{content:'🔒'!important;display:inline!important;font-size:9px;margin-right:1px}.weekend-day{background:linear-gradient(180deg,#fee2e2,#fff7ed)!important;color:#991b1b!important;border-bottom:2px solid #fca5a5!important}.day-head{height:34px!important}.day-num{font-size:16px!important}.day-week{font-size:12px!important;color:inherit!important}.dept-row td{border-radius:12px!important;padding:5px 10px!important}.schedule-wrap{overflow:hidden!important}.schedule-table{width:100%!important;min-width:0!important;table-layout:fixed!important}.schedule-table .day-head{width:calc((100% - 146px)/31)!important;min-width:0!important}.schedule-table .day-col{width:calc((100% - 146px)/31)!important;min-width:0!important}

/* === 2026-05-12 营业数据：顾客遗忘物品一行输入 === */
.lost-item-inline{display:grid;grid-template-columns:128px minmax(160px,1fr) 120px 150px;gap:10px;align-items:center;margin:10px 0 12px;padding:10px 12px;border-radius:16px;background:#fff7ed;border:1px solid #fed7aa;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}
.lost-item-inline label{font-weight:900;color:#9a3412;white-space:nowrap}.lost-item-inline .input,.lost-item-inline .select{height:40px;border-radius:13px;background:#fff}
@media(max-width:900px){.lost-item-inline{grid-template-columns:1fr}.lost-item-inline label{margin-bottom:-4px}}

/* === 2026-05-12 排班表：干净输入框 + 员工色块 + 上午下午紧凑 === */
.schedule-wrap{background:#fff!important;border:0!important;box-shadow:none!important;padding:6px!important;overflow:auto!important;}
.schedule-table{border-collapse:separate!important;border-spacing:0 7px!important;background:#fff!important;min-width:1680px!important;font-size:12px!important;}
.schedule-table th,.schedule-table td{border:0!important;background:transparent!important;padding:1px 2px!important;box-shadow:none!important;}
.schedule-table thead th{border:0!important;background:#fff!important;color:#374151!important;height:36px!important;font-weight:950!important;}
.schedule-table thead .weekend-day{background:#fee2e2!important;color:#991b1b!important;border-radius:10px!important;}
.schedule-table thead .weekend-day .day-num,.schedule-table thead .weekend-day .day-week{color:#991b1b!important;}
.schedule-table .emp-sticky{width:92px!important;min-width:92px!important;max-width:92px!important;left:0!important;background:#fff!important;position:sticky!important;z-index:7!important;padding:0 4px!important;vertical-align:middle!important;}
.schedule-table .half-sticky{width:38px!important;min-width:38px!important;max-width:38px!important;left:92px!important;position:sticky!important;z-index:6!important;text-align:center!important;font-size:12px!important;font-weight:950!important;border-radius:10px!important;}
.schedule-table .half-am .half-sticky{background:#dcfce7!important;color:#166534!important;}
.schedule-table .half-pm .half-sticky{background:#f3f4f6!important;color:#374151!important;}
.schedule-table .emp-pair-top td,.schedule-table .emp-pair-bottom td{padding-top:0!important;padding-bottom:0!important;}
.schedule-table .emp-pair-top .half-sticky{border-bottom-left-radius:4px!important;border-bottom-right-radius:4px!important;}
.schedule-table .emp-pair-bottom .half-sticky{border-top-left-radius:4px!important;border-top-right-radius:4px!important;}
.emp-name-card{border-radius:15px!important;padding:10px 4px!important;min-height:58px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;border:1px solid rgba(15,23,42,.06)!important;box-shadow:0 5px 14px rgba(15,23,42,.06)!important;}
.emp-name{font-size:18px!important;font-weight:1000!important;line-height:1.1!important;color:#111827!important;letter-spacing:.02em!important;}
.emp-position{font-size:11px!important;font-weight:800!important;color:#374151!important;margin-top:5px!important;}
.emp-theme-0 .emp-name-card{background:#fed7aa!important}.emp-theme-1 .emp-name-card{background:#bfdbfe!important}.emp-theme-2 .emp-name-card{background:#bbf7d0!important}.emp-theme-3 .emp-name-card{background:#ddd6fe!important}.emp-theme-4 .emp-name-card{background:#fbcfe8!important}.emp-theme-5 .emp-name-card{background:#bae6fd!important}.emp-theme-6 .emp-name-card{background:#fde68a!important}
.schedule-cell{width:42px!important;min-width:42px!important;height:25px!important;border-radius:9px!important;border:1px solid rgba(15,23,42,.12)!important;background:#fff!important;color:#111827!important;font-size:12px!important;font-weight:950!important;box-shadow:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;line-height:1!important;padding:0!important;margin:1px 0!important;position:relative!important;overflow:visible!important;}
.schedule-cell:before,.schedule-cell:after{content:''!important;display:none!important;}
.schedule-cell:hover{border-color:#dc2626!important;box-shadow:0 0 0 2px rgba(220,38,38,.09)!important;background:#fff!important;}
.schedule-cell.emp-empty{color:transparent!important;border-color:rgba(15,23,42,.06)!important;}
.schedule-cell.emp-empty.emp-theme-0{background:rgba(254,215,170,.62)!important}.schedule-cell.emp-empty.emp-theme-1{background:rgba(191,219,254,.62)!important}.schedule-cell.emp-empty.emp-theme-2{background:rgba(187,247,208,.62)!important}.schedule-cell.emp-empty.emp-theme-3{background:rgba(221,214,254,.62)!important}.schedule-cell.emp-empty.emp-theme-4{background:rgba(251,207,232,.62)!important}.schedule-cell.emp-empty.emp-theme-5{background:rgba(186,230,253,.62)!important}.schedule-cell.emp-empty.emp-theme-6{background:rgba(253,230,138,.62)!important}
.schedule-cell.sch-班{background:#fff!important;color:#1e3a8a!important;border-color:#cbd5e1!important;}.schedule-cell.sch-休{background:#fff!important;color:#b91c1c!important;border-color:#fdba74!important;}.schedule-cell.sch-假{background:#fff!important;color:#7f1d1d!important;border-color:#fca5a5!important;}
.schedule-cell.locked{background:#f8fafc!important;color:#475569!important;border-color:#cbd5e1!important;}
.schedule-cell.merge-same{border-color:#cbd5e1!important;background:#fff!important;}
.schedule-cell.merge-top{border-bottom-left-radius:3px!important;border-bottom-right-radius:3px!important;margin-bottom:0!important;}
.schedule-cell.merge-bottom{border-top-left-radius:3px!important;border-top-right-radius:3px!important;margin-top:0!important;color:transparent!important;}
.schedule-cell.disabled-day{background:#f8fafc!important;color:transparent!important;border-color:#f1f5f9!important;opacity:.55!important;}
.dept-row td{background:#f8fafc!important;border-radius:12px!important;color:#374151!important;font-weight:1000!important;padding:7px 10px!important;}
.schedule-actions{background:#fff!important;border-top:0!important;box-shadow:0 -8px 24px rgba(255,255,255,.88)!important;}
.schedule-modal-emp{border-radius:18px;padding:16px;text-align:center;margin-bottom:14px;border:1px solid rgba(15,23,42,.08);box-shadow:0 6px 16px rgba(15,23,42,.06)}
.schedule-modal-emp.emp-theme-0{background:#fed7aa}.schedule-modal-emp.emp-theme-1{background:#bfdbfe}.schedule-modal-emp.emp-theme-2{background:#bbf7d0}.schedule-modal-emp.emp-theme-3{background:#ddd6fe}.schedule-modal-emp.emp-theme-4{background:#fbcfe8}.schedule-modal-emp.emp-theme-5{background:#bae6fd}.schedule-modal-emp.emp-theme-6{background:#fde68a}
.schedule-modal-name{font-size:24px;font-weight:1000;color:#111827}.schedule-modal-sub{font-size:14px;font-weight:900;color:#374151;margin-top:4px}.schedule-choice-clean .choice-btn{border-radius:16px!important;font-size:22px!important;font-weight:1000!important;height:62px!important}.schedule-choice-clean .choice-班.active{background:#dbeafe!important;color:#1e3a8a!important}.schedule-choice-clean .choice-休.active{background:#ffedd5!important;color:#9a3412!important}.schedule-choice-clean .choice-假.active{background:#fee2e2!important;color:#991b1b!important}
@media(max-width:1300px){.schedule-table{min-width:1460px!important}.schedule-table .emp-sticky{width:82px!important;min-width:82px!important;max-width:82px!important}.schedule-table .half-sticky{left:82px!important;width:34px!important;min-width:34px!important;max-width:34px!important}.schedule-cell{width:35px!important;min-width:35px!important;height:24px!important;font-size:11px!important}.emp-name{font-size:15px!important}.emp-position{font-size:10px!important}.schedule-table{border-spacing:0 5px!important}}

/* v6：排班表最终清爽样式 + 顾客遗忘物品独立页面 */
.schedule-wrap{background:#fff!important;border:0!important;box-shadow:none!important;padding:4px 6px!important;overflow:hidden!important;max-height:calc(100vh - 250px)!important;height:calc(100vh - 250px)!important;}
.schedule-table{width:100%!important;min-width:0!important;table-layout:fixed!important;border-collapse:separate!important;border-spacing:0!important;background:#fff!important;font-size:12px!important;}
.schedule-table th,.schedule-table td{border:0!important;background:#fff!important;padding:1px 2px!important;box-shadow:none!important;vertical-align:middle!important;position:relative!important;overflow:visible!important;}
.schedule-table thead th{height:34px!important;background:#fff!important;color:#111827!important;border-bottom:1px solid #e5e7eb!important;font-weight:950!important;}
.schedule-table thead .weekend-day{background:#fee2e2!important;color:#991b1b!important;border-radius:10px!important;border-bottom:2px solid #fca5a5!important;}
.schedule-table thead .weekend-day .day-num,.schedule-table thead .weekend-day .day-week{color:#991b1b!important;}
.schedule-table .emp-sticky{width:88px!important;min-width:88px!important;max-width:88px!important;left:0!important;position:sticky!important;z-index:7!important;background:#fff!important;padding:0 4px!important;}
.schedule-table .half-sticky{width:35px!important;min-width:35px!important;max-width:35px!important;left:88px!important;position:sticky!important;z-index:6!important;text-align:center!important;font-size:13px!important;font-weight:1000!important;background:#fff!important;color:#111827!important;padding:0 2px!important;}
.schedule-table .day-head{width:calc((100% - 123px)/31)!important;min-width:0!important;}
.schedule-table .day-col{width:calc((100% - 123px)/31)!important;min-width:0!important;background:#fff!important;}
.dept-row td{background:#fff!important;border:0!important;padding:5px 4px!important;color:#475569!important;font-weight:950!important;}
.emp-pair-top th,.emp-pair-top td,.emp-pair-bottom th,.emp-pair-bottom td{border:0!important;background:#fff!important;}
.emp-pair-top th,.emp-pair-top td{padding-top:3px!important;}
.emp-pair-bottom th,.emp-pair-bottom td{padding-bottom:9px!important;}
.emp-pair-top .half-sticky{border-radius:10px 10px 3px 3px!important;background:#dcfce7!important;color:#166534!important;}
.emp-pair-bottom .half-sticky{border-radius:3px 3px 10px 10px!important;background:#f3f4f6!important;color:#374151!important;}
.emp-name-card{height:62px!important;border-radius:16px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:2px!important;border:1px solid rgba(15,23,42,.08)!important;box-shadow:0 5px 14px rgba(15,23,42,.05)!important;overflow:hidden!important;}
.emp-name{font-size:18px!important;font-weight:1000!important;color:#111827!important;letter-spacing:.2px!important;}
.emp-position{font-size:11px!important;font-weight:900!important;color:#475569!important;}
.emp-theme-0 .emp-name-card{background:#fed7aa!important}.emp-theme-1 .emp-name-card{background:#bfdbfe!important}.emp-theme-2 .emp-name-card{background:#bbf7d0!important}.emp-theme-3 .emp-name-card{background:#ddd6fe!important}.emp-theme-4 .emp-name-card{background:#fbcfe8!important}.emp-theme-5 .emp-name-card{background:#bae6fd!important}.emp-theme-6 .emp-name-card{background:#fde68a!important}
.schedule-cell{width:100%!important;min-width:0!important;height:27px!important;border:1px solid rgba(15,23,42,.10)!important;background:#fff!important;color:#111827!important;font-size:12px!important;font-weight:1000!important;box-shadow:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;line-height:1!important;padding:0!important;margin:0!important;position:relative!important;overflow:visible!important;}
.schedule-cell:before,.schedule-cell:after,.schedule-cell.sch-班::before,.schedule-cell.sch-休::before,.schedule-cell.sch-假::before,.schedule-cell.locked::before{content:''!important;display:none!important;}
.schedule-cell:hover{border-color:#dc2626!important;box-shadow:0 0 0 2px rgba(220,38,38,.09)!important;background:#fff!important;}
.schedule-cell.emp-empty{color:transparent!important;border-color:rgba(15,23,42,.05)!important;}
.schedule-cell.emp-empty.emp-theme-0{background:rgba(254,215,170,.68)!important}.schedule-cell.emp-empty.emp-theme-1{background:rgba(191,219,254,.68)!important}.schedule-cell.emp-empty.emp-theme-2{background:rgba(187,247,208,.68)!important}.schedule-cell.emp-empty.emp-theme-3{background:rgba(221,214,254,.68)!important}.schedule-cell.emp-empty.emp-theme-4{background:rgba(251,207,232,.68)!important}.schedule-cell.emp-empty.emp-theme-5{background:rgba(186,230,253,.68)!important}.schedule-cell.emp-empty.emp-theme-6{background:rgba(253,230,138,.68)!important}
.schedule-cell.sch-班{background:#fff!important;color:#1e3a8a!important;border-color:#cbd5e1!important;}.schedule-cell.sch-休{background:#fff!important;color:#b91c1c!important;border-color:#fdba74!important;}.schedule-cell.sch-假{background:#fff!important;color:#7f1d1d!important;border-color:#fca5a5!important;}
.schedule-cell.half-am:not(.merge-same){border-radius:10px 10px 3px 3px!important;}
.schedule-cell.half-pm:not(.merge-same){border-radius:3px 3px 10px 10px!important;}
.schedule-cell.merge-top{position:absolute!important;left:2px!important;right:2px!important;top:1px!important;width:calc(100% - 4px)!important;height:55px!important;border-radius:12px!important;z-index:3!important;align-items:center!important;background:#fff!important;}
.schedule-cell.merge-bottom{visibility:hidden!important;pointer-events:none!important;}
.schedule-cell.disabled-day{background:#f8fafc!important;color:transparent!important;border-color:#f1f5f9!important;opacity:.45!important;}
.day-num{font-size:15px!important;line-height:1!important}.day-week{font-size:11px!important;color:inherit!important;margin-top:2px!important}.schedule-actions{background:#fff!important;border-top:0!important;box-shadow:0 -8px 24px rgba(255,255,255,.88)!important;}
.schedule-modal-emp{border-radius:18px!important;padding:17px!important;text-align:center!important;margin-bottom:14px!important;border:1px solid rgba(15,23,42,.08)!important;box-shadow:0 6px 16px rgba(15,23,42,.06)!important}.schedule-modal-name{font-size:28px!important;font-weight:1000!important;color:#111827!important}.schedule-modal-sub{font-size:18px!important;font-weight:950!important;color:#374151!important;margin-top:6px!important}.rest-conflict-text{font-size:20px!important;line-height:1.9!important;font-weight:850!important;color:#374151!important}.schedule-choice-clean .choice-btn{border-radius:16px!important;font-size:24px!important;font-weight:1000!important;height:64px!important}
@media(max-width:1300px){.schedule-wrap{height:calc(100vh - 228px)!important;max-height:calc(100vh - 228px)!important}.schedule-table .emp-sticky{width:78px!important;min-width:78px!important;max-width:78px!important}.schedule-table .half-sticky{left:78px!important;width:30px!important;min-width:30px!important;max-width:30px!important;font-size:11px!important}.schedule-table .day-head,.schedule-table .day-col{width:calc((100% - 108px)/31)!important}.schedule-cell{height:24px!important;font-size:10px!important}.schedule-cell.merge-top{height:49px!important}.emp-name{font-size:15px!important}.emp-position{font-size:9px!important}.day-num{font-size:12px!important}.day-week{font-size:9px!important}.schedule-rule-card{max-height:40px!important;overflow:hidden!important}}

.lost-items-layout{display:grid;grid-template-columns:minmax(420px,520px) 1fr;gap:16px;align-items:start}.lost-form-card h3,.lost-list-card h3{margin-top:0}.lost-inline-row{display:grid;grid-template-columns:170px 1fr;gap:12px}.lost-table-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.lost-table-btn{height:54px;border:1px solid #e5e7eb;background:#fff;border-radius:18px;cursor:pointer;font-weight:1000;color:#334155;box-shadow:0 4px 12px rgba(15,23,42,.04)}.lost-table-btn span{display:inline-flex;align-items:center;justify-content:center;width:34px;height:28px;border-radius:999px;background:#f8fafc}.lost-table-btn.active{background:#dcfce7;border-color:#86efac;color:#166534;box-shadow:0 0 0 3px rgba(34,197,94,.12)}.lost-storage-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.storage-choice{height:46px;border:1px solid #e5e7eb;background:#fff;border-radius:14px;font-size:15px;font-weight:950;cursor:pointer}.storage-choice.active{background:#fee2e2;border-color:#fca5a5;color:#991b1b;box-shadow:0 0 0 3px rgba(239,68,68,.10)}.lost-item-name-row{min-width:0}@media(max-width:1100px){.lost-items-layout{grid-template-columns:1fr}.lost-table-grid{grid-template-columns:repeat(4,1fr)}}

/* v7：排班休息天数 + 顾客遗忘物品外显选择美化 */
.schedule-table .emp-sticky{width:128px!important;min-width:128px!important;max-width:128px!important;}
.schedule-table .half-sticky{left:128px!important;}
.schedule-table .day-head,.schedule-table .day-col{width:calc((100% - 163px)/31)!important;}
.emp-name-wrap{display:flex!important;align-items:center!important;gap:6px!important;height:64px!important;}
.rest-count-box{width:32px!important;min-width:32px!important;height:50px!important;border-radius:14px!important;background:linear-gradient(180deg,#fff7ed,#ffedd5)!important;border:1px solid #fed7aa!important;color:#9a3412!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;font-weight:950!important;box-shadow:0 4px 10px rgba(154,52,18,.08)!important;line-height:1.05!important;}
.rest-count-box span{font-size:10px!important;}
.rest-count-box b{font-size:12px!important;margin-top:4px!important;white-space:nowrap!important;}
.emp-name-card{flex:1!important;min-width:0!important;height:62px!important;}
.schedule-table .emp-pair-top th,.schedule-table .emp-pair-top td,.schedule-table .emp-pair-bottom th,.schedule-table .emp-pair-bottom td{background:#fff!important;}
.schedule-cell{border-radius:10px!important;}
.schedule-cell.half-am:not(.merge-same){border-radius:11px 11px 3px 3px!important;}
.schedule-cell.half-pm:not(.merge-same){border-radius:3px 3px 11px 11px!important;}
.schedule-cell.merge-top{height:55px!important;border-radius:13px!important;display:flex!important;align-items:center!important;justify-content:center!important;}
.schedule-modal-sub{font-size:20px!important;font-weight:1000!important;color:#111827!important;}
.schedule-actions{display:flex!important;gap:10px!important;justify-content:flex-end!important;align-items:center!important;}
@media(max-width:1300px){.schedule-table .emp-sticky{width:112px!important;min-width:112px!important;max-width:112px!important}.schedule-table .half-sticky{left:112px!important}.schedule-table .day-head,.schedule-table .day-col{width:calc((100% - 142px)/31)!important}.rest-count-box{width:28px!important;min-width:28px!important}.emp-name-wrap{gap:4px!important}.rest-count-box b{font-size:10px!important}.rest-count-box span{font-size:9px!important}}

.lost-items-layout{grid-template-columns:minmax(520px,650px) 1fr!important;gap:18px!important;}
.lost-form-card{background:linear-gradient(180deg,#fff,#fff7ed)!important;border:1px solid #fed7aa!important;border-radius:20px!important;}
.lost-field-block{margin:14px 0!important;}
.lost-field-title{font-size:18px!important;font-weight:1000!important;color:#7c2d12!important;margin-bottom:10px!important;display:flex!important;align-items:center!important;gap:8px!important;}
.lost-big-input{height:48px!important;border-radius:15px!important;font-size:16px!important;font-weight:800!important;background:#fff!important;border:1px solid #fed7aa!important;}
.lost-employee-grid{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:10px!important;}
.lost-employee-card{height:46px!important;border:1px solid rgba(15,23,42,.08)!important;border-radius:16px!important;cursor:pointer!important;font-size:16px!important;font-weight:1000!important;color:#111827!important;box-shadow:0 5px 12px rgba(15,23,42,.05)!important;}
.lost-employee-card.emp-theme-0{background:#fed7aa}.lost-employee-card.emp-theme-1{background:#bfdbfe}.lost-employee-card.emp-theme-2{background:#bbf7d0}.lost-employee-card.emp-theme-3{background:#ddd6fe}.lost-employee-card.emp-theme-4{background:#fbcfe8}.lost-employee-card.emp-theme-5{background:#bae6fd}.lost-employee-card.emp-theme-6{background:#fde68a}
.lost-employee-card.active{outline:3px solid rgba(220,38,38,.25)!important;border-color:#dc2626!important;transform:translateY(-1px)!important;}
.lost-table-grid{grid-template-columns:repeat(6,1fr)!important;gap:12px!important;}
.lost-table-btn{height:58px!important;border-radius:18px!important;background:linear-gradient(180deg,#fff,#f8fafc)!important;border:1px solid #d6d3d1!important;position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;box-shadow:0 6px 12px rgba(15,23,42,.05)!important;overflow:hidden!important;}
.lost-table-btn .table-top{position:absolute!important;left:13px!important;right:13px!important;top:10px!important;height:26px!important;border-radius:50%!important;background:#fef3c7!important;border:2px solid #d97706!important;opacity:.7!important;}
.lost-table-btn b{position:relative!important;z-index:2!important;font-size:17px!important;color:#111827!important;}
.lost-table-btn .table-leg{position:absolute!important;bottom:8px!important;width:4px!important;height:13px!important;background:#a16207!important;border-radius:2px!important;opacity:.55!important;}
.lost-table-btn .table-leg.left{left:28px!important}.lost-table-btn .table-leg.right{right:28px!important}
.lost-table-btn.active{background:linear-gradient(180deg,#dcfce7,#bbf7d0)!important;border-color:#22c55e!important;box-shadow:0 0 0 3px rgba(34,197,94,.15)!important;}
.lost-storage-row{grid-template-columns:repeat(3,1fr)!important;gap:12px!important;}
.storage-choice{height:50px!important;border-radius:16px!important;font-size:17px!important;font-weight:1000!important;background:#fff!important;border:1px solid #fed7aa!important;color:#7c2d12!important;}
.storage-choice.active{background:#fee2e2!important;border-color:#ef4444!important;color:#991b1b!important;box-shadow:0 0 0 3px rgba(239,68,68,.12)!important;}
@media(max-width:1100px){.lost-items-layout{grid-template-columns:1fr!important}.lost-employee-grid{grid-template-columns:repeat(3,1fr)!important}.lost-table-grid{grid-template-columns:repeat(4,1fr)!important}}

/* v8：请假 / 调休 / 换休页面 */
.leave-page{display:flex;flex-direction:column;gap:14px!important;}
.leave-toolbar{background:#fff!important;border-radius:16px!important;padding:12px 14px!important;border:1px solid #e5e7eb!important;}
.leave-tabs{display:flex;gap:10px;background:#fff!important;border:1px solid #e5e7eb!important;border-radius:18px!important;padding:8px!important;width:max-content;box-shadow:0 8px 20px rgba(15,23,42,.04)!important;}
.leave-tabs button{border:0;background:#f8fafc;color:#334155;border-radius:14px;padding:12px 28px;font-weight:1000;font-size:16px;cursor:pointer;}
.leave-tabs button.active{background:linear-gradient(135deg,#dc2626,#b91c1c)!important;color:#fff!important;box-shadow:0 8px 16px rgba(220,38,38,.20)!important;}
.leave-layout{display:grid;grid-template-columns:minmax(520px,680px) 1fr;gap:16px;align-items:start;}
.leave-form-card,.leave-record-card{border-radius:22px!important;border:1px solid #e5e7eb!important;background:linear-gradient(180deg,#fff,#f8fafc)!important;}
.leave-section{display:none;}
.leave-section.active{display:block;}
.leave-section h3,.leave-record-card h3{margin-top:0!important;font-size:22px!important;}
.leave-label{display:block;font-size:15px;font-weight:1000;color:#334155;margin:14px 0 8px!important;}
.leave-employee-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
.leave-emp-card{height:58px;border:1px solid rgba(15,23,42,.08);border-radius:18px;cursor:pointer;color:#111827;box-shadow:0 6px 14px rgba(15,23,42,.05);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;}
.leave-emp-card b{font-size:17px;font-weight:1000;line-height:1;}
.leave-emp-card span{font-size:11px;font-weight:850;color:#475569;line-height:1;}
.leave-emp-card.emp-theme-0{background:#fed7aa}.leave-emp-card.emp-theme-1{background:#bfdbfe}.leave-emp-card.emp-theme-2{background:#bbf7d0}.leave-emp-card.emp-theme-3{background:#ddd6fe}.leave-emp-card.emp-theme-4{background:#fbcfe8}.leave-emp-card.emp-theme-5{background:#bae6fd}.leave-emp-card.emp-theme-6{background:#fde68a}
.leave-emp-card.active{outline:3px solid rgba(220,38,38,.28)!important;border-color:#dc2626!important;transform:translateY(-1px)!important;}
.leave-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start;}
.leave-date-input{height:48px!important;border-radius:15px!important;font-size:16px!important;font-weight:900!important;}
.leave-choice-row{display:flex;gap:10px;flex-wrap:wrap;}
.leave-choice{min-width:88px;height:48px;border:1px solid #e5e7eb;border-radius:16px;background:#fff;font-size:16px;font-weight:1000;color:#334155;cursor:pointer;box-shadow:0 5px 12px rgba(15,23,42,.04);}
.leave-choice.active{background:#fee2e2!important;border-color:#ef4444!important;color:#991b1b!important;box-shadow:0 0 0 3px rgba(239,68,68,.12)!important;}
.leave-agree{display:flex;align-items:center;gap:10px;margin:14px 0!important;font-size:16px!important;font-weight:950!important;color:#334155!important;background:#fff7ed!important;border:1px solid #fed7aa!important;border-radius:16px!important;padding:12px 14px!important;}
.leave-agree input{width:20px;height:20px;}
.leave-type-badge{display:inline-flex;align-items:center;justify-content:center;min-width:54px;height:28px;border-radius:999px;font-weight:1000;font-size:13px;}
.leave-type-badge.type-leave{background:#fee2e2;color:#991b1b}.leave-type-badge.type-adjust{background:#dbeafe;color:#1e3a8a}.leave-type-badge.type-swap{background:#dcfce7;color:#166534}
.leave-record-card .table th,.leave-record-card .table td{font-size:13px!important;}
@media(max-width:1200px){.leave-layout{grid-template-columns:1fr}.leave-employee-grid{grid-template-columns:repeat(3,1fr)}.leave-row{grid-template-columns:1fr}}

/* v9：请假/调休/换休右侧完整考勤预览 */
.leave-layout-with-preview{grid-template-columns:minmax(460px,560px) minmax(620px,1fr)!important;gap:16px!important;align-items:start!important;}
.leave-layout-with-preview .leave-record-card{grid-column:1 / -1!important;}
.leave-preview-card{border-radius:22px!important;border:1px solid #e5e7eb!important;background:linear-gradient(180deg,#fff,#f8fafc)!important;min-width:0!important;}
.leave-preview-title{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:12px!important;margin-bottom:8px!important;}
.leave-preview-title h3{margin:0!important;font-size:22px!important;font-weight:1000!important;color:#111827!important;}
.leave-preview-title span{font-size:13px!important;font-weight:900!important;color:#64748b!important;}
.leave-preview-legend{display:flex!important;gap:8px!important;flex-wrap:wrap!important;margin:6px 0 10px!important;}
.leave-preview-legend .lg{height:24px!important;padding:0 10px!important;border-radius:999px!important;display:inline-flex!important;align-items:center!important;font-size:12px!important;font-weight:950!important;border:1px solid transparent!important;}
.leave-preview-legend .old{background:#ffedd5!important;color:#9a3412!important;border-color:#fdba74!important}.leave-preview-legend .new{background:#dcfce7!important;color:#166534!important;border-color:#86efac!important}.leave-preview-legend .leave{background:#fee2e2!important;color:#991b1b!important;border-color:#fca5a5!important}.leave-preview-legend .a{background:#dbeafe!important;color:#1e3a8a!important;border-color:#93c5fd!important}.leave-preview-legend .b{background:#ede9fe!important;color:#5b21b6!important;border-color:#c4b5fd!important}
.leave-preview-wrap{max-height:calc(100vh - 305px)!important;overflow:auto!important;border-radius:18px!important;border:1px solid #e5e7eb!important;background:#fff!important;padding:6px!important;}
.leave-preview-table{width:100%!important;min-width:1120px!important;border-collapse:separate!important;border-spacing:0 3px!important;font-size:11px!important;table-layout:fixed!important;}
.leave-preview-table th,.leave-preview-table td{border:0!important;padding:1px!important;text-align:center!important;background:transparent!important;}
.leave-preview-table thead th{position:sticky!important;top:0!important;z-index:4!important;background:#fff!important;color:#374151!important;font-weight:1000!important;}
.preview-name-head{left:0!important;z-index:7!important;width:72px!important;min-width:72px!important;position:sticky!important;}
.preview-half-head{left:72px!important;z-index:7!important;width:34px!important;min-width:34px!important;position:sticky!important;}
.leave-preview-day{height:28px!important;border-radius:8px!important;}
.leave-preview-day b{display:block!important;font-size:13px!important;line-height:1!important;}.leave-preview-day span{display:block!important;font-size:10px!important;line-height:1!important;margin-top:2px!important;}
.leave-preview-day.weekend-day{background:#fee2e2!important;color:#991b1b!important;}
.preview-dept td{text-align:left!important;padding:4px 8px!important;background:#f8fafc!important;border-radius:10px!important;color:#475569!important;font-weight:1000!important;}
.preview-name{position:sticky!important;left:0!important;z-index:5!important;width:72px!important;min-width:72px!important;border-radius:12px!important;padding:4px!important;box-shadow:2px 0 0 rgba(15,23,42,.04)!important;}
.preview-name b{display:block!important;font-size:13px!important;line-height:1.1!important;font-weight:1000!important;color:#111827!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.preview-name span{display:block!important;font-size:9px!important;font-weight:850!important;color:#475569!important;margin-top:3px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.preview-name.emp-theme-0{background:#fed7aa!important}.preview-name.emp-theme-1{background:#bfdbfe!important}.preview-name.emp-theme-2{background:#bbf7d0!important}.preview-name.emp-theme-3{background:#ddd6fe!important}.preview-name.emp-theme-4{background:#fbcfe8!important}.preview-name.emp-theme-5{background:#bae6fd!important}.preview-name.emp-theme-6{background:#fde68a!important}
.preview-half{position:sticky!important;left:72px!important;z-index:5!important;width:34px!important;min-width:34px!important;border-radius:8px!important;font-size:11px!important;font-weight:1000!important;}
.preview-am .preview-half{background:#dcfce7!important;color:#166534!important}.preview-pm .preview-half{background:#f3f4f6!important;color:#374151!important}
.leave-preview-cell{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:23px!important;border-radius:8px!important;border:1px solid rgba(15,23,42,.08)!important;background:#fff!important;font-size:11px!important;font-weight:1000!important;line-height:1!important;box-sizing:border-box!important;}
.leave-preview-cell.pv-empty{color:transparent!important;background:#f8fafc!important;border-color:#f1f5f9!important;}.leave-preview-cell.pv-班{background:#dbeafe!important;color:#1e3a8a!important;border-color:#bfdbfe!important}.leave-preview-cell.pv-休{background:#ffedd5!important;color:#9a3412!important;border-color:#fdba74!important}.leave-preview-cell.pv-假{background:#fee2e2!important;color:#991b1b!important;border-color:#fca5a5!important}
.leave-preview-cell.preview-leave{outline:3px solid rgba(220,38,38,.45)!important;background:#fee2e2!important;color:#991b1b!important;box-shadow:0 0 0 3px rgba(220,38,38,.10)!important;}
.leave-preview-cell.preview-old{outline:3px solid rgba(249,115,22,.45)!important;background:#ffedd5!important;color:#9a3412!important;}
.leave-preview-cell.preview-new{outline:3px solid rgba(34,197,94,.45)!important;background:#dcfce7!important;color:#166534!important;}
.leave-preview-cell.preview-a{outline:3px solid rgba(59,130,246,.45)!important;background:#dbeafe!important;color:#1e3a8a!important;}
.leave-preview-cell.preview-b{outline:3px solid rgba(139,92,246,.45)!important;background:#ede9fe!important;color:#5b21b6!important;}
.leave-preview-cell.disabled-day{opacity:.28!important;color:transparent!important;background:#f8fafc!important;}
@media(max-width:1250px){.leave-layout-with-preview{grid-template-columns:1fr!important}.leave-preview-wrap{max-height:520px!important}.leave-layout-with-preview .leave-record-card{grid-column:auto!important}}

/* v10 请假/调休/换休：右侧预览点选 */
.leave-step-card{border-radius:22px!important;background:linear-gradient(180deg,#ffffff,#f8fafc)!important;border:1px solid #e5e7eb!important;padding:18px!important;box-shadow:0 10px 25px rgba(15,23,42,.06)!important;}
.leave-step-card h3{margin:0 0 8px!important;font-size:26px!important;font-weight:1000!important;color:#111827!important;letter-spacing:.02em!important;}
.leave-step-card p{margin:0 0 14px!important;font-size:15px!important;font-weight:900!important;line-height:1.55!important;color:#475569!important;background:#f1f5f9!important;border-radius:16px!important;padding:12px 14px!important;}
.selected-line{display:flex!important;align-items:center!important;gap:10px!important;margin:10px 0!important;font-size:16px!important;font-weight:1000!important;color:#334155!important;}
.selected-line>span:first-child{min-width:92px!important;color:#0f172a!important;}
.picked-chip{display:inline-flex!important;align-items:center!important;gap:9px!important;min-height:38px!important;padding:0 12px!important;border-radius:15px!important;border:2px solid #e5e7eb!important;background:#fff!important;box-shadow:0 6px 18px rgba(15,23,42,.06)!important;}
.picked-chip b{font-size:16px!important;color:#111827!important;}.picked-chip em{font-style:normal!important;font-size:14px!important;color:#475569!important;}.picked-chip strong{font-size:16px!important;color:#111827!important;background:#f8fafc!important;border-radius:10px!important;padding:4px 9px!important;}
.leave-preview-cell{cursor:pointer!important;transition:transform .12s ease, box-shadow .12s ease, outline .12s ease!important;}
.leave-preview-cell:hover{transform:translateY(-1px)!important;box-shadow:0 0 0 3px rgba(37,99,235,.15),0 6px 14px rgba(15,23,42,.10)!important;}
.leave-preview-cell.preview-leave,.leave-preview-cell.preview-old,.leave-preview-cell.preview-new,.leave-preview-cell.preview-a,.leave-preview-cell.preview-b{animation:jzPickBlink .9s infinite alternate!important;position:relative!important;z-index:2!important;}
@keyframes jzPickBlink{from{filter:brightness(1);transform:scale(1);}to{filter:brightness(1.08);transform:scale(1.08);}}
.leave-form-card{align-self:start!important;position:sticky!important;top:78px!important;}
@media(max-width:1250px){.leave-form-card{position:static!important}.selected-line{align-items:flex-start!important;flex-direction:column!important;gap:6px!important}.selected-line>span:first-child{min-width:0!important}}

/* v11 请假调休换休细化 + 排班部门完成按钮 */
.dept-done-btn{border-radius:14px!important;font-weight:1000!important;background:#fff!important;border:1px solid #e5e7eb!important;color:#334155!important;}
.dept-done-btn.done{background:#dcfce7!important;border-color:#86efac!important;color:#166534!important;box-shadow:0 0 0 3px rgba(34,197,94,.12)!important;}
.schedule-toolbar{gap:8px!important;flex-wrap:wrap!important;}

.leave-layout-with-preview{grid-template-columns:minmax(330px,390px) minmax(780px,1fr)!important;gap:14px!important;}
.leave-form-card{padding:12px!important;}
.leave-step-card.compact{padding:13px!important;border-radius:18px!important;}
.leave-step-card.compact h3{font-size:22px!important;margin-bottom:6px!important;}
.leave-step-card.compact p{font-size:13px!important;line-height:1.45!important;padding:9px 10px!important;margin-bottom:10px!important;border-radius:13px!important;}
.leave-step-card.compact .selected-line{font-size:14px!important;margin:7px 0!important;gap:6px!important;}
.leave-step-card.compact .selected-line>span:first-child{min-width:78px!important;}
.leave-step-card.compact .picked-chip{min-height:32px!important;padding:0 9px!important;border-radius:12px!important;gap:6px!important;}
.leave-step-card.compact .picked-chip b{font-size:14px!important;}.leave-step-card.compact .picked-chip em{font-size:12px!important;}.leave-step-card.compact .picked-chip strong{font-size:13px!important;padding:3px 7px!important;}
.leave-step-card.compact .leave-label{font-size:13px!important;margin-top:8px!important;margin-bottom:5px!important;}
.leave-step-card.compact .leave-choice{height:38px!important;min-width:74px!important;font-size:15px!important;border-radius:13px!important;}
.leave-step-card.compact .textarea{min-height:64px!important;border-radius:14px!important;}
.leave-row-single{grid-template-columns:1fr!important;}
.leave-warning{margin:8px 0 10px!important;padding:9px 10px!important;border-radius:13px!important;background:#fff7ed!important;border:1px solid #fed7aa!important;color:#9a3412!important;font-size:13px!important;font-weight:950!important;line-height:1.45!important;}

.leave-preview-cell.preview-leave,.leave-preview-cell.preview-old,.leave-preview-cell.preview-new,.leave-preview-cell.preview-a,.leave-preview-cell.preview-b{
  outline-width:5px!important;
  box-shadow:0 0 0 5px rgba(220,38,38,.16),0 12px 26px rgba(15,23,42,.22)!important;
  transform:scale(1.18)!important;
  z-index:5!important;
}
.leave-preview-cell.preview-old{box-shadow:0 0 0 5px rgba(249,115,22,.20),0 12px 26px rgba(15,23,42,.22)!important;}
.leave-preview-cell.preview-new{box-shadow:0 0 0 5px rgba(34,197,94,.20),0 12px 26px rgba(15,23,42,.22)!important;}
.leave-preview-cell.preview-a{box-shadow:0 0 0 5px rgba(59,130,246,.20),0 12px 26px rgba(15,23,42,.22)!important;}
.leave-preview-cell.preview-b{box-shadow:0 0 0 5px rgba(139,92,246,.20),0 12px 26px rgba(15,23,42,.22)!important;}
.preview-name.preview-name-picked{position:sticky!important;z-index:8!important;animation:jzNameGlow .85s infinite alternate!important;}
.preview-name.preview-name-picked.preview-leave{box-shadow:0 0 0 5px rgba(220,38,38,.25),0 0 24px rgba(220,38,38,.35)!important;}
.preview-name.preview-name-picked.preview-old{box-shadow:0 0 0 5px rgba(249,115,22,.25),0 0 24px rgba(249,115,22,.35)!important;}
.preview-name.preview-name-picked.preview-new{box-shadow:0 0 0 5px rgba(34,197,94,.25),0 0 24px rgba(34,197,94,.35)!important;}
.preview-name.preview-name-picked.preview-a{box-shadow:0 0 0 5px rgba(59,130,246,.25),0 0 24px rgba(59,130,246,.35)!important;}
.preview-name.preview-name-picked.preview-b{box-shadow:0 0 0 5px rgba(139,92,246,.25),0 0 24px rgba(139,92,246,.35)!important;}
@keyframes jzNameGlow{from{filter:brightness(1);transform:scale(1);}to{filter:brightness(1.08);transform:scale(1.05);}}
@keyframes jzPickBlink{from{filter:brightness(1);transform:scale(1.12);}to{filter:brightness(1.16);transform:scale(1.24);}}

@media(max-width:1250px){.leave-layout-with-preview{grid-template-columns:1fr!important}.leave-form-card{position:static!important}}

/* v12: 请假/调休/换休预览表可选范围提示 + 大字体弹窗 */
.leave-preview-cell.preview-allowed{
  background:#ecfdf5!important;
  color:#065f46!important;
  border:2px solid #22c55e!important;
  box-shadow:0 0 0 3px rgba(34,197,94,.20),0 8px 20px rgba(34,197,94,.20)!important;
  transform:scale(1.06)!important;
  position:relative!important;
  z-index:3!important;
  animation:jzAllowedPulse .85s infinite alternate!important;
}
.leave-preview-cell.preview-allowed::after{
  content:'可选';
  position:absolute;
  top:-12px;
  right:-8px;
  height:17px;
  line-height:17px;
  padding:0 5px;
  border-radius:999px;
  background:#16a34a;
  color:#fff;
  font-size:9px;
  font-weight:1000;
  box-shadow:0 3px 10px rgba(22,163,74,.25);
}
.leave-preview-cell.preview-blocked,
.leave-preview-cell.preview-blocked:disabled{
  background:#e5e7eb!important;
  color:transparent!important;
  border-color:#d1d5db!important;
  opacity:.42!important;
  filter:grayscale(1)!important;
  cursor:not-allowed!important;
  box-shadow:none!important;
}
.leave-preview-cell.preview-blocked:hover{transform:none!important;box-shadow:none!important;}
@keyframes jzAllowedPulse{from{box-shadow:0 0 0 3px rgba(34,197,94,.14),0 8px 18px rgba(34,197,94,.14)}to{box-shadow:0 0 0 7px rgba(34,197,94,.26),0 14px 28px rgba(34,197,94,.24)}}
.leave-preview-cell.preview-leave,
.leave-preview-cell.preview-old,
.leave-preview-cell.preview-new,
.leave-preview-cell.preview-a,
.leave-preview-cell.preview-b{
  transform:scale(1.18)!important;
  min-height:28px!important;
  font-size:13px!important;
  z-index:6!important;
}
.preview-name.preview-name-picked{transform:scale(1.04)!important;}
.modal{border-radius:26px!important;box-shadow:0 28px 90px rgba(15,23,42,.34)!important;}
.modal-title{font-size:24px!important;font-weight:1000!important;color:#991b1b!important;}
.modal-header{padding:20px 24px!important;background:linear-gradient(90deg,#fff7ed,#fff)!important;}
.modal-body{padding:24px!important;}
.modal-body p{font-size:22px!important;line-height:1.9!important;font-weight:900!important;color:#334155!important;}
.modal-footer{padding:18px 24px!important;gap:14px!important;}
.modal-footer .btn,.modal-header .btn{font-size:18px!important;font-weight:1000!important;border-radius:14px!important;padding:12px 20px!important;height:auto!important;}
.big-warning-box{border-radius:22px;background:linear-gradient(135deg,#fff7ed,#fef2f2);border:2px solid #fdba74;padding:22px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.55)}
.big-warning-box b{display:block;font-size:26px;line-height:1.45;color:#b91c1c;font-weight:1000;margin-bottom:10px;}
.big-warning-box p{margin:0!important;font-size:22px!important;line-height:1.8!important;color:#7c2d12!important;font-weight:950!important;}
.rest-conflict-text{font-size:24px!important;line-height:2!important;font-weight:1000!important;color:#b91c1c!important;background:#fff7ed!important;border:2px solid #fdba74!important;border-radius:22px!important;padding:22px!important;}
.toast{font-size:18px!important;line-height:1.5!important;padding:16px 22px!important;border-radius:18px!important;font-weight:1000!important;}

/* v13: 调休/换休软提醒：其他部门同一时段已有休息时仍可选择，只用黄色边框提醒 */
.leave-preview-cell.preview-soft-warning{
  box-shadow:0 0 0 3px rgba(245,158,11,.42), 0 0 18px rgba(245,158,11,.42) !important;
  border-color:#f59e0b !important;
  position:relative;
}
.leave-preview-cell.preview-soft-warning::after{
  content:'建议错开';
  position:absolute;
  left:50%;
  top:-18px;
  transform:translateX(-50%);
  font-size:11px;
  font-weight:900;
  color:#b45309;
  background:#fff7ed;
  border:1px solid rgba(245,158,11,.45);
  border-radius:999px;
  padding:1px 5px;
  white-space:nowrap;
  pointer-events:none;
}

/* v14: 填写排班按姓名聚焦，可选/不建议提示；去掉“厨师”显示 */
.schedule-emp-select{cursor:pointer!important;transition:transform .16s ease, box-shadow .16s ease, filter .16s ease!important;}
.schedule-emp-select:hover{transform:translateY(-1px) scale(1.02)!important;box-shadow:0 0 0 4px rgba(59,130,246,.14),0 12px 24px rgba(15,23,42,.12)!important;}
.schedule-emp-dim{opacity:.28!important;filter:grayscale(.3)!important;}
.schedule-emp-dim .schedule-cell{pointer-events:none!important;}
.schedule-emp-focus .emp-name-card,
.schedule-name-focus .emp-name-card{animation:jzScheduleNameGlow .85s infinite alternate!important;box-shadow:0 0 0 5px rgba(220,38,38,.20),0 0 24px rgba(220,38,38,.28)!important;}
@keyframes jzScheduleNameGlow{from{filter:brightness(1);transform:scale(1)}to{filter:brightness(1.08);transform:scale(1.04)}}
.schedule-cell.schedule-can-option,
.schedule-cell.schedule-soft-option{position:relative!important;z-index:2!important;box-shadow:0 0 0 3px rgba(34,197,94,.12)!important;}
.schedule-cell.schedule-can-option::after,
.schedule-cell.schedule-soft-option::after{position:absolute;left:50%;top:-14px;transform:translateX(-50%);height:16px;line-height:16px;padding:0 5px;border-radius:999px;font-size:9px;font-weight:1000;white-space:nowrap;pointer-events:none;box-shadow:0 3px 9px rgba(15,23,42,.12)!important;}
.schedule-cell.schedule-can-option::after{content:'可选';background:#16a34a;color:#fff;}
.schedule-cell.schedule-soft-option{border-color:#f59e0b!important;box-shadow:0 0 0 3px rgba(245,158,11,.20),0 0 15px rgba(245,158,11,.16)!important;}
.schedule-cell.schedule-soft-option::after{content:'不建议';background:#fff7ed;color:#b45309;border:1px solid rgba(245,158,11,.42);}
.schedule-cell.schedule-no-option{opacity:.38!important;filter:grayscale(1)!important;cursor:not-allowed!important;}
.schedule-cell.schedule-other-emp{opacity:.18!important;filter:grayscale(.6)!important;}
.schedule-cell.schedule-can-option:hover,
.schedule-cell.schedule-soft-option:hover{transform:scale(1.08)!important;box-shadow:0 0 0 5px rgba(34,197,94,.20),0 12px 24px rgba(15,23,42,.14)!important;}
.schedule-cell.schedule-soft-option:hover{box-shadow:0 0 0 5px rgba(245,158,11,.25),0 12px 24px rgba(15,23,42,.14)!important;}

/* v15: 填写排班改为先选姓名再点格子；提示文字按上午/下午分上下显示 */
.schedule-cell.schedule-can-option::after{content:'建议'!important;background:#16a34a!important;color:#fff!important;}
.schedule-cell.schedule-soft-option::after{content:'不建议'!important;background:#fff7ed!important;color:#b45309!important;border:1px solid rgba(245,158,11,.45)!important;}
.schedule-cell.schedule-can-option::after,
.schedule-cell.schedule-soft-option::after{font-size:10px!important;height:18px!important;line-height:18px!important;padding:0 7px!important;z-index:9!important;}
.schedule-cell.half-am.schedule-can-option::after,
.schedule-cell.half-am.schedule-soft-option::after{top:-18px!important;bottom:auto!important;}
.schedule-cell.half-pm.schedule-can-option::after,
.schedule-cell.half-pm.schedule-soft-option::after{top:auto!important;bottom:-18px!important;}
.schedule-focus-action-row td{background:transparent!important;border:0!important;padding:18px 10px 30px 0!important;overflow:visible!important;}
.schedule-focus-actions{position:sticky;left:250px;display:inline-flex;align-items:center;gap:12px;background:#fffdf7;border:2px solid #fed7aa;border-radius:18px;padding:10px 14px;box-shadow:0 10px 28px rgba(251,146,60,.22);margin-top:10px;z-index:8;}
.schedule-focus-actions span{font-size:16px;font-weight:1000;color:#7c2d12;}
.schedule-focus-actions .btn{min-height:40px;padding:0 24px;font-size:16px;border-radius:14px;}
.schedule-guide-box b{font-size:22px!important;color:#b91c1c!important;display:block;margin-bottom:8px;}
.schedule-guide-box p{font-size:16px!important;line-height:1.8!important;color:#7c2d12!important;}
.schedule-emp-dim{opacity:.38!important;filter:grayscale(.18)!important;}
.schedule-emp-dim .schedule-cell{pointer-events:none!important;}
.schedule-cell.schedule-can-option,
.schedule-cell.schedule-soft-option{overflow:visible!important;}

/* v16: 填写排班“建议/不建议”文字固定显示在格子上下方 */
.schedule-cell .schedule-cell-text{position:relative;z-index:3;display:inline-flex;align-items:center;justify-content:center;min-height:1em;}
.schedule-cell .schedule-advice-label{position:absolute;left:50%;transform:translateX(-50%);z-index:8;display:inline-flex;align-items:center;justify-content:center;height:17px;line-height:17px;padding:0 6px;border-radius:999px;font-size:10px;font-weight:1000;white-space:nowrap;pointer-events:none;box-shadow:0 2px 8px rgba(15,23,42,.13);letter-spacing:.5px;}
.schedule-cell.half-am .schedule-advice-label{top:-20px;}
.schedule-cell.half-pm .schedule-advice-label{bottom:-20px;}
.schedule-cell .schedule-advice-label.good{background:#e8fff1;color:#047857;border:1px solid rgba(16,185,129,.45);}
.schedule-cell .schedule-advice-label.soft{background:#fff1f2;color:#be123c;border:1px solid rgba(244,63,94,.42);}
.schedule-cell.schedule-can-option::after,.schedule-cell.schedule-soft-option::after{display:none!important;}
.schedule-cell.schedule-can-option,.schedule-cell.schedule-soft-option{overflow:visible!important;}
.day-col{overflow:visible!important;}


/* v18: 同部门已有人休时，不再显示“建议”，改为红色“不可休”；确认条再向左移动 */
.schedule-cell.schedule-block-option{position:relative!important;z-index:2!important;border-color:#ef4444!important;box-shadow:0 0 0 3px rgba(239,68,68,.16),0 0 15px rgba(239,68,68,.14)!important;overflow:visible!important;}
.schedule-cell.schedule-block-option:hover{transform:scale(1.04)!important;box-shadow:0 0 0 5px rgba(239,68,68,.20),0 12px 24px rgba(15,23,42,.12)!important;}
.schedule-cell .schedule-advice-label.block{background:#fee2e2!important;color:#b91c1c!important;border:1px solid rgba(239,68,68,.45)!important;}
.schedule-focus-actions{left:90px!important;margin-left:0!important;}

/* v19: 排班月份醒目、不可休淡化、请假调休操作提示优化 */
.schedule-month-badge{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  min-width:150px!important;height:48px!important;padding:0 22px!important;margin:0 8px!important;
  border-radius:18px!important;background:linear-gradient(135deg,#fff7ed,#fee2e2)!important;
  border:2px solid rgba(239,68,68,.25)!important;color:#991b1b!important;
  font-size:24px!important;font-weight:1000!important;letter-spacing:.04em!important;
  box-shadow:0 10px 24px rgba(239,68,68,.14)!important;
}
.schedule-cell.same-dept-no-rest,
.schedule-cell.schedule-no-option.same-dept-no-rest{
  opacity:.24!important;filter:grayscale(1)!important;background:#f8fafc!important;
  border-color:#e5e7eb!important;box-shadow:none!important;cursor:not-allowed!important;
}
.schedule-cell.same-dept-no-rest .schedule-cell-text{color:#94a3b8!important;}
.schedule-cell.same-dept-no-rest:hover{transform:none!important;box-shadow:none!important;}
.schedule-focus-actions{
  left:0!important;transform:translateX(-100px)!important;margin-left:0!important;
}
.leave-preview-title{align-items:center!important;margin-bottom:10px!important;}
.leave-preview-title h3{font-size:24px!important;}
.leave-operation-badge{
  display:flex!important;align-items:center!important;gap:10px!important;
  padding:10px 16px!important;border-radius:18px!important;border:2px solid rgba(239,68,68,.18)!important;
  background:linear-gradient(135deg,#fff7ed,#fff1f2)!important;box-shadow:0 10px 24px rgba(244,63,94,.12)!important;
}
.leave-operation-badge span{font-size:15px!important;font-weight:1000!important;color:#64748b!important;}
.leave-operation-badge b{font-size:26px!important;font-weight:1000!important;color:#be123c!important;letter-spacing:.04em!important;}
.leave-operation-badge em{font-style:normal!important;font-size:22px!important;font-weight:1000!important;color:#7c2d12!important;background:#fff!important;border-radius:12px!important;padding:4px 10px!important;border:1px solid #fed7aa!important;}
.leave-operation-badge.type-adjust{background:linear-gradient(135deg,#eff6ff,#ecfeff)!important;border-color:rgba(14,165,233,.24)!important;}
.leave-operation-badge.type-adjust b{color:#0369a1!important;}
.leave-operation-badge.type-swap{background:linear-gradient(135deg,#f5f3ff,#fdf2f8)!important;border-color:rgba(168,85,247,.24)!important;}
.leave-operation-badge.type-swap b{color:#7e22ce!important;}
.leave-big-guide{
  display:flex!important;flex-direction:column!important;gap:8px!important;margin:8px 0 14px!important;
  padding:14px 16px!important;border-radius:18px!important;border:2px solid rgba(15,23,42,.08)!important;
  box-shadow:0 8px 20px rgba(15,23,42,.06)!important;
}
.leave-big-guide b{font-size:20px!important;line-height:1.35!important;font-weight:1000!important;color:#111827!important;}
.leave-big-guide span{font-size:17px!important;line-height:1.55!important;font-weight:950!important;}
.leave-guide-leave{background:linear-gradient(135deg,#fff7ed,#fff1f2)!important;border-color:rgba(239,68,68,.20)!important;}
.leave-guide-leave span{color:#b91c1c!important;}
.leave-guide-adjust{background:linear-gradient(135deg,#eff6ff,#ecfeff)!important;border-color:rgba(14,165,233,.22)!important;}
.leave-guide-adjust span{color:#075985!important;}
.leave-guide-swap{background:linear-gradient(135deg,#f5f3ff,#fdf2f8)!important;border-color:rgba(168,85,247,.22)!important;}
.leave-guide-swap span{color:#6b21a8!important;}
.leave-step-card.compact p{display:none!important;}


/* v20: 请假/调休/换休预览标题居中显示，去掉步骤感 */
.leave-preview-title{
  position:relative!important;
  min-height:58px!important;
  justify-content:center!important;
  align-items:center!important;
}
.leave-preview-title h3{
  position:absolute!important;
  left:0!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  margin:0!important;
}
#leaveOperationBadge{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  z-index:3!important;
}
.leave-operation-badge{
  min-width:260px!important;
  justify-content:center!important;
}
.leave-big-guide b{font-size:21px!important;}

/* v21 公平排班 */
.fair-schedule-bar{margin:10px 0 12px 0;padding:14px 18px;border-radius:20px;background:linear-gradient(135deg,#ecfeff,#f0fdf4 55%,#fff7ed);border:2px solid rgba(14,165,233,.18);box-shadow:0 10px 26px rgba(15,23,42,.08);display:flex;align-items:center;justify-content:space-between;gap:16px;}
.fair-schedule-bar b{font-size:22px;color:#075985;margin-right:12px;}
.fair-schedule-bar span{font-size:18px;font-weight:1000;color:#14532d;}
.fair-schedule-bar.done{background:linear-gradient(135deg,#f0fdf4,#dcfce7);}
.fair-schedule-stats{font-size:15px;font-weight:900;color:#7c2d12;background:rgba(255,255,255,.78);border-radius:999px;padding:8px 13px;border:1px solid rgba(251,146,60,.22);white-space:nowrap;}
.fair-modal-note{border-radius:18px;background:linear-gradient(135deg,#fff7ed,#eff6ff);border:1px solid rgba(249,115,22,.18);padding:15px 18px;margin-bottom:14px;}
.fair-modal-note b{font-size:24px;color:#9a3412;}
.fair-modal-note p{font-size:16px;line-height:1.8;color:#374151;margin:6px 0 0;}
.fair-target-table td,.fair-target-table th{font-size:15px!important;}
.fair-turn-actions{border-color:#93c5fd!important;background:#eff6ff!important;box-shadow:0 12px 30px rgba(37,99,235,.18)!important;}
.fair-turn-actions span{color:#1e3a8a!important;}
.fair-turn-actions em{font-style:normal;font-size:13px;color:#b45309;background:#fffbeb;border:1px solid rgba(245,158,11,.28);border-radius:999px;padding:3px 8px;margin-left:6px;}

/* v22 不可休设置 + 公平排班确认优化 */
.no-rest-note{border-radius:20px;background:linear-gradient(135deg,#eff6ff,#f0fdf4 52%,#fff7ed);border:2px solid rgba(14,165,233,.16);padding:16px 20px;margin-bottom:14px;box-shadow:0 10px 26px rgba(15,23,42,.07)}
.no-rest-note b{display:block;font-size:25px;font-weight:1000;color:#075985;margin-bottom:6px}
.no-rest-note p{font-size:17px;line-height:1.8;font-weight:850;color:#334155;margin:0}
.no-rest-wrap{max-height:520px;overflow:auto!important;border-radius:16px;border:1px solid #e5e7eb;background:#fff}
.no-rest-table{min-width:980px!important;table-layout:fixed!important}
.no-rest-table th,.no-rest-table td{text-align:center!important;padding:6px!important;font-size:13px!important}
.no-rest-table thead th{background:#f8fafc!important;position:sticky;top:0;z-index:2}
.no-rest-table th:first-child{width:70px;position:sticky;left:0;z-index:3;background:#fff7ed!important;color:#92400e!important;font-weight:1000!important}
.no-rest-table thead th:first-child{z-index:4;background:#fff7ed!important}
.no-rest-table th b{display:block;font-size:15px;color:#111827}.no-rest-table th span{display:block;font-size:11px;color:#64748b;margin-top:2px}
.no-rest-toggle{width:100%;min-width:40px;height:34px;border-radius:12px;border:1px solid #bbf7d0;background:#f0fdf4;color:#047857;font-weight:950;font-size:12px;cursor:pointer;box-shadow:inset 0 -1px 0 rgba(15,23,42,.05)}
.no-rest-toggle.active{background:linear-gradient(135deg,#fee2e2,#fff7ed);border-color:#fca5a5;color:#b91c1c;box-shadow:0 0 0 2px rgba(239,68,68,.08)}
.no-rest-toggle:disabled{opacity:.35;cursor:not-allowed;background:#f1f5f9;color:#94a3b8;border-color:#e2e8f0}
.fair-turn-actions .btn[data-fair-next-turn]{font-size:16px!important;padding:9px 18px!important;border-radius:14px!important}

/* v23 公平排班/不可休/按钮布局细化 */
.no-rest-wrap{max-height:72vh!important;overflow:auto!important;border-radius:22px!important;}
.no-rest-table{min-width:1380px!important;table-layout:fixed!important;}
.no-rest-table th,.no-rest-table td{padding:8px 6px!important;font-size:15px!important;}
.no-rest-table th b{font-size:18px!important;}
.no-rest-table th span{font-size:13px!important;}
.no-rest-toggle{height:42px!important;min-width:54px!important;border-radius:14px!important;font-size:14px!important;}
.no-rest-note{padding:18px 24px!important;margin-bottom:16px!important;}
.no-rest-note b{font-size:30px!important;}
.no-rest-note p{font-size:19px!important;}
.schedule-main-actions{position:sticky!important;bottom:0!important;z-index:20!important;justify-content:center!important;align-items:center!important;gap:14px!important;padding:14px 10px 10px!important;margin-top:10px!important;background:linear-gradient(180deg,rgba(255,255,255,.88),#fff)!important;box-shadow:0 -10px 28px rgba(255,255,255,.92)!important;}
.dept-done-action,.fair-all-done-btn{min-width:168px!important;height:44px!important;border-radius:16px!important;font-size:16px!important;font-weight:1000!important;color:#fff!important;border:0!important;box-shadow:0 8px 18px rgba(15,23,42,.10)!important;}
.dept-done-action.kitchen{background:linear-gradient(135deg,#f97316,#ea580c)!important;}
.dept-done-action.front{background:linear-gradient(135deg,#3b82f6,#2563eb)!important;}
.fair-all-done-btn{min-width:220px!important;background:linear-gradient(135deg,#14b8a6,#16a34a)!important;}
.dept-done-action.done{background:#e5e7eb!important;color:#64748b!important;box-shadow:none!important;border:1px solid #d1d5db!important;}
.dept-done-action.done::after{content:' ✓';font-weight:1000;}
.schedule-main-actions #clearSchedule{order:1}.schedule-main-actions #kitchenDone{order:2}.schedule-main-actions #frontDone{order:3}.schedule-main-actions #fairAllDone{order:2}.schedule-main-actions #saveSchedule{order:8}.schedule-main-actions #finishSchedule{order:9}

/* v24 性能优化与公平排班弹窗紧凑化 */
.fair-modal-note.compact{padding:10px 14px!important;margin-bottom:8px!important;border-radius:14px!important;}
.fair-modal-note.compact b{font-size:20px!important;line-height:1.2!important;}
.fair-modal-note.compact p{font-size:13px!important;line-height:1.45!important;margin:2px 0 0!important;}
.fair-target-wrap{max-height:48vh!important;overflow:auto!important;border-radius:14px!important;}
.fair-target-table.compact th,.fair-target-table.compact td{padding:6px 8px!important;font-size:13px!important;line-height:1.25!important;}
.fair-target-table.compact .input{height:32px!important;min-height:32px!important;font-size:14px!important;padding:2px 6px!important;border-radius:10px!important;}
.fair-target-table.compact .muted{font-size:11px!important;line-height:1.2!important;}
.schedule-soft-warning{text-align:center!important;}
.schedule-soft-warning b{font-size:26px!important;color:#b45309!important;}
.soft-rest-name-card{display:inline-flex;align-items:center;justify-content:center;min-width:160px;max-width:100%;padding:12px 24px;margin:12px auto 12px;border-radius:22px;background:linear-gradient(135deg,#fff7ed,#ffedd5);border:2px solid #fb923c;box-shadow:0 12px 30px rgba(251,146,60,.25);font-size:30px;font-weight:1000;color:#9a3412;line-height:1.25;}
.schedule-soft-warning p{font-size:23px!important;font-weight:1000!important;color:#7c2d12!important;line-height:1.75!important;}
.schedule-cell .schedule-advice-label.good{background:#ecfdf5!important;color:#047857!important;border-color:rgba(16,185,129,.45)!important;}

/* v28 考勤规则设置 / 值班表 */
.rules-page-lite{display:flex;flex-direction:column;gap:18px}.rules-month-toolbar{position:sticky;top:0;z-index:5;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-radius:18px;padding:12px 14px!important}.rules-grid-lite{display:grid;grid-template-columns:repeat(2,minmax(320px,1fr));gap:16px}.rules-card{border:1px solid #e5e7eb;border-radius:22px;background:linear-gradient(180deg,#fff,#f8fafc);padding:18px 20px;box-shadow:0 12px 30px rgba(15,23,42,.06)}.rules-card.important{background:linear-gradient(135deg,#fff7ed,#fff,#f0fdf4)}.rules-card.wide{grid-column:1/-1}.rules-card h3{margin:0 0 10px;font-size:24px;font-weight:1000;color:#111827}.rules-card p{margin:0 0 12px;font-size:16px;line-height:1.65;color:#475569;font-weight:750}.emp-select-wrap{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.emp-select-pill{border:1px solid #dbeafe;background:#eff6ff;color:#1d4ed8;border-radius:999px;padding:9px 15px;font-size:16px;font-weight:1000;cursor:pointer}.emp-select-pill.active{background:linear-gradient(135deg,#fee2e2,#fff7ed);border-color:#fb7185;color:#be123c;box-shadow:0 0 0 3px rgba(244,63,94,.12)}.switch-row{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:950;color:#334155;margin:10px 0}.switch-row input{width:20px;height:20px}.compact-rule-form{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px;margin:12px 0}.compact-rule-form label{font-size:15px;font-weight:950;color:#475569}.compact-rule-form .input{margin-top:6px;width:100%;height:42px!important}.rules-history{margin-top:14px;border-top:1px dashed #e5e7eb;padding-top:12px}.rules-history h4{font-size:18px;margin:0 0 8px;color:#7c2d12}.rules-history-item{display:flex;gap:12px;align-items:center;padding:8px 10px;border-radius:12px;background:#fff;border:1px solid #f1f5f9;margin:6px 0}.rules-history-item b{color:#b91c1c}.rules-history-item span{font-weight:800;color:#64748b}.must-rules-card{margin:14px 0;border:2px solid rgba(245,158,11,.35);background:linear-gradient(135deg,#fff7ed,#fff);border-radius:20px;padding:14px 18px;display:flex;align-items:center;gap:14px;box-shadow:0 10px 24px rgba(245,158,11,.12)}.must-rules-card b{font-size:22px;color:#b45309}.must-rules-card span{font-size:16px;font-weight:850;color:#78350f;flex:1}.no-rest-table th em{display:block;margin-top:3px;font-style:normal;font-size:10px;color:#be123c;background:#ffe4e6;border-radius:8px;padding:1px 3px;font-weight:1000}.duty-layout{display:grid;grid-template-columns:1fr 1fr;gap:18px}.duty-chip{display:inline-flex;margin:3px 5px 3px 0;border-radius:999px;background:#e0f2fe;color:#075985;border:1px solid #bae6fd;padding:5px 10px;font-weight:950}.schedule-cell .schedule-advice-label.soft{background:#fff1f2!important;color:#be123c!important;border-color:rgba(244,63,94,.42)!important}
@media(max-width:1200px){.rules-grid-lite,.duty-layout{grid-template-columns:1fr}.compact-rule-form{grid-template-columns:1fr}}

/* v29 不可休设置、月份选择、值班表日历优化 */
.rules-month-toolbar{display:none!important;}
.rules-grid-lite{grid-template-columns:repeat(2,minmax(360px,520px))!important;align-items:start!important;}
.rules-card{max-width:520px!important;min-height:auto!important;}
.rules-card.wide{grid-column:auto!important;}
.fair-toggle-rule{min-width:160px!important;height:48px!important;border-radius:16px!important;font-size:18px!important;font-weight:1000!important;}
.fair-toggle-rule.on{background:linear-gradient(135deg,#dc2626,#be123c)!important;color:#fff!important;}
.fair-toggle-rule.off{background:#fff!important;color:#16a34a!important;border:2px solid #86efac!important;box-shadow:0 8px 18px rgba(22,163,74,.12)!important;}
.rules-history-item{width:100%;cursor:pointer;text-align:left;justify-content:flex-start;}
.month-picker-box{display:grid;gap:18px}.month-picker-box label{font-size:20px;font-weight:1000;color:#334155}.month-picker-box .year-spin{height:54px!important;font-size:28px!important;font-weight:1000;color:#b91c1c;text-align:center;margin-top:8px}.month-pick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.month-pick-btn{height:54px;border:1px solid #e5e7eb;background:#fff;border-radius:16px;font-size:19px;font-weight:1000;cursor:pointer}.month-pick-btn.active{background:linear-gradient(135deg,#fee2e2,#fff7ed);border-color:#fb7185;color:#be123c;box-shadow:0 0 0 3px rgba(244,63,94,.12)}
.no-rest-wrap{max-height:78vh!important;}
.no-rest-table th,.no-rest-table td{padding:10px 7px!important;}
.no-rest-table th b{font-size:23px!important;color:#111827!important;line-height:1.1}.no-rest-table th span{font-size:18px!important;color:#334155!important;font-weight:1000!important;line-height:1.2}.no-rest-table th em{font-size:15px!important;line-height:1.25!important;margin-top:5px!important;border-radius:12px!important;padding:3px 5px!important;display:inline-flex!important;gap:4px;align-items:center;justify-content:center;}.no-rest-table th em i{font-style:normal;background:#dc2626;color:#fff;border-radius:999px;padding:1px 5px;font-size:13px}.no-rest-toggle{height:48px!important;font-size:16px!important;border-radius:16px!important;}
.no-rest-note.upgraded{display:flex;align-items:center;justify-content:space-between;gap:16px;}
.schedule-month-badge{border:0;cursor:pointer;}
.duty-calendar{max-width:1500px;background:#fff;border:1px solid #e5e7eb;border-radius:24px;padding:16px;box-shadow:0 12px 30px rgba(15,23,42,.06)}
.duty-week-head{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:8px}.duty-week-head span{text-align:center;font-size:18px;font-weight:1000;color:#7f1d1d;background:#fff7ed;border-radius:14px;padding:10px;border:1px solid #fed7aa}.duty-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.duty-day{min-height:138px;border-radius:18px;border:1px solid #e5e7eb;background:linear-gradient(180deg,#fff,#f8fafc);padding:9px;display:flex;flex-direction:column;gap:7px}.duty-day.empty{background:transparent;border:0;box-shadow:none}.duty-date{display:flex;align-items:center;justify-content:space-between}.duty-date b{font-size:25px;color:#111827}.duty-date span{font-size:14px;font-weight:1000;color:#64748b}.duty-row{border-radius:14px;padding:6px;background:#f8fafc;border:1px solid #edf2f7}.duty-row em{display:block;font-style:normal;font-size:13px;font-weight:1000;color:#475569;margin-bottom:5px}.duty-row>div{display:grid;grid-template-columns:1fr 1fr;gap:4px}.duty-chip{display:inline-flex!important;align-items:center;justify-content:center;margin:0!important;border-radius:999px;padding:5px 8px!important;font-size:13px!important;font-weight:1000!important;min-width:0}.duty-chip.front{background:#fce7f3!important;color:#be185d!important;border-color:#fbcfe8!important}.duty-chip.kitchen{background:#dcfce7!important;color:#166534!important;border-color:#bbf7d0!important}
@media(max-width:1200px){.duty-calendar-grid,.duty-week-head{grid-template-columns:repeat(4,1fr)}.rules-grid-lite{grid-template-columns:1fr!important}.duty-row>div{grid-template-columns:1fr}}

/* v30 fine tuning */
/* 选中员工后，全天同状态的格子真正贯穿上午/下午，更像一整天 */
.schedule-emp-focus .schedule-cell.merge-same.merge-top{
  height:58px!important;
  min-height:58px!important;
  border-radius:16px!important;
  position:relative!important;
  z-index:12!important;
  margin-bottom:-32px!important;
  box-shadow:0 8px 18px rgba(15,23,42,.10)!important;
}
.schedule-emp-focus .schedule-cell.merge-same.merge-bottom{
  opacity:0!important;
  pointer-events:none!important;
}
/* 全员查看时，每个员工之间稍微拉开一点，分组更清楚 */
.schedule-table{border-spacing:0 10px!important;}
.schedule-table .emp-pair-top td,.schedule-table .emp-pair-top th{padding-top:4px!important;}
.schedule-table .emp-pair-bottom td,.schedule-table .emp-pair-bottom th{padding-bottom:6px!important;}
.emp-pair-top th,.emp-pair-top td{border-top:3px solid rgba(15,23,42,.08)!important;}
.emp-pair-bottom th,.emp-pair-bottom td{border-bottom:3px solid rgba(15,23,42,.05)!important;}

/* 值班规则输入框收窄，不再撑出卡片 */
.rules-card .compact-rule-form{grid-template-columns:repeat(3,120px)!important;align-items:end!important;gap:12px!important;}
.rules-card .compact-rule-form .input{width:92px!important;max-width:92px!important;height:36px!important;padding:4px 8px!important;font-size:16px!important;}
.rules-card .compact-rule-form label{max-width:130px!important;}
@media(max-width:900px){.rules-card .compact-rule-form{grid-template-columns:repeat(3,1fr)!important}.rules-card .compact-rule-form .input{width:100%!important;max-width:100%!important}}

/* 不可休日历月份选择改成大按钮 */
.no-rest-month-title{border:0;background:linear-gradient(135deg,#e0f2fe,#ecfeff);color:#155e75;border-radius:18px;padding:12px 18px;font-size:28px;font-weight:1000;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(14,116,144,.16);}
.no-rest-month-title:hover{box-shadow:0 0 0 4px rgba(14,116,144,.10),inset 0 0 0 1px rgba(14,116,144,.22)}
.no-rest-modal-body .no-rest-note.upgraded{align-items:center!important;}
.no-rest-wrap{max-height:58vh!important;}
.no-rest-table th{font-size:18px!important;}
.no-rest-table th b{font-size:26px!important;line-height:1!important;}
.no-rest-table th span{font-size:17px!important;font-weight:1000!important;color:#334155!important;}
.no-rest-table th em{font-size:15px!important;padding:4px 5px!important;margin-top:6px!important;}
.no-rest-toggle{min-height:54px!important;font-size:17px!important;border-radius:15px!important;}

/* 请假调休月份选择与排班月份一致 */
.leave-month-badge{font-size:22px!important;padding:10px 18px!important;}

/* 值班表一页更紧凑，周一到周日完整显示 */
.duty-calendar.compact{max-width:100%!important;padding:10px!important;border-radius:18px!important;}
.duty-calendar.compact .duty-week-head{gap:5px!important;margin-bottom:5px!important;}
.duty-calendar.compact .duty-week-head span{font-size:13px!important;padding:6px 4px!important;border-radius:10px!important;}
.duty-calendar.compact .duty-calendar-grid{gap:5px!important;}
.duty-calendar.compact .duty-day{min-height:92px!important;padding:5px!important;border-radius:12px!important;gap:3px!important;}
.duty-calendar.compact .duty-date b{font-size:18px!important;}
.duty-calendar.compact .duty-date span{font-size:11px!important;}
.duty-calendar.compact .duty-date em{font-style:normal;font-size:10px;font-weight:1000;color:#be123c;background:#ffe4e6;border-radius:999px;padding:1px 4px;white-space:nowrap;}
.duty-calendar.compact .duty-day.weekend{background:linear-gradient(180deg,#fff7ed,#fff)!important;}
.duty-calendar.compact .duty-row{padding:3px 4px!important;border-radius:9px!important;}
.duty-calendar.compact .duty-row em{font-size:10px!important;margin-bottom:2px!important;}
.duty-calendar.compact .duty-row>div{grid-template-columns:1fr 1fr!important;gap:2px!important;}
.duty-calendar.compact .duty-chip{font-size:10px!important;padding:2px 4px!important;border-radius:8px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.duty-empty{font-size:10px;color:#94a3b8;font-weight:800;}
.duty-bottom-layout{display:grid;grid-template-columns:2fr 1fr;gap:14px;margin-top:14px;}
.duty-stats-card,.duty-history-card{border-radius:18px!important;padding:14px!important;}
.duty-stat-block h3{margin:0 0 8px;font-size:18px;font-weight:1000;color:#111827;}
.duty-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin-bottom:12px;}
.duty-stat-card{border:1px solid #e5e7eb;background:#fff;border-radius:14px;padding:9px;display:flex;flex-direction:column;gap:3px;box-shadow:0 6px 14px rgba(15,23,42,.05);}
.duty-stat-card b{font-size:15px;color:#111827;}.duty-stat-card span{font-size:20px;font-weight:1000;color:#be123c;}.duty-stat-card em{font-style:normal;font-size:11px;color:#64748b;font-weight:850;}
@media(max-width:1200px){.duty-calendar.compact .duty-calendar-grid,.duty-calendar.compact .duty-week-head{grid-template-columns:repeat(7,1fr)!important}.duty-bottom-layout{grid-template-columns:1fr!important}}

/* v31 微调：排班合并框、不可填亮度、月度/值班布局 */
.schedule-cell.schedule-no-option{opacity:.54!important;filter:grayscale(.35)!important;cursor:not-allowed!important;background:#f8fafc!important;color:#64748b!important;border-color:#dbe2ea!important;}
.schedule-cell.schedule-other-emp{opacity:.26!important;filter:grayscale(.35)!important;}
.schedule-cell.same-dept-no-rest .schedule-cell-text{color:#64748b!important;}
.day-col.same-pair-cell{position:relative!important;overflow:visible!important;}
.schedule-cell.merge-top{position:absolute!important;left:2px!important;right:2px!important;top:0!important;width:calc(100% - 4px)!important;height:56px!important;min-height:56px!important;border-radius:14px!important;display:flex!important;align-items:center!important;justify-content:center!important;z-index:5!important;line-height:1!important;}
.schedule-cell.merge-top .schedule-cell-text{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:100%!important;line-height:1!important;}
.schedule-cell.merge-bottom{visibility:hidden!important;pointer-events:none!important;}
.schedule-cell.half-am:not(.merge-same){border-radius:12px 12px 4px 4px!important;margin-bottom:0!important;}
.schedule-cell.half-pm:not(.merge-same){border-radius:4px 4px 12px 12px!important;margin-top:0!important;}
.half-am .day-col,.half-pm .day-col{padding-top:1px!important;padding-bottom:1px!important;}
.emp-pair-top th,.emp-pair-top td{padding-top:5px!important;}
.emp-pair-bottom th,.emp-pair-bottom td{padding-bottom:8px!important;}
.schedule-table{border-spacing:0 8px!important;}

.no-rest-modal-body .no-rest-note .no-rest-month-title{font-size:29px!important;}
#saveNoRestRules{min-width:110px!important;}

.duty-main-layout{display:grid!important;grid-template-columns:minmax(760px,980px) minmax(260px,360px)!important;gap:16px!important;align-items:start!important;max-width:1360px!important;}
.duty-main-layout .duty-calendar.compact{width:100%!important;max-width:980px!important;margin:0!important;}
.duty-main-layout .duty-stats-card{width:100%!important;max-width:360px!important;margin:0!important;position:sticky!important;top:10px!important;}
.duty-bottom-layout{max-width:1360px!important;display:block!important;}
.duty-history-card{max-width:980px!important;margin-top:12px!important;}
.duty-calendar.compact .duty-day{min-height:84px!important;padding:4px!important;gap:2px!important;}
.duty-calendar.compact .duty-row{padding:2px 3px!important;}
.duty-calendar.compact .duty-row em{font-size:10px!important;margin-bottom:1px!important;}
.duty-calendar.compact .duty-chip{font-size:11px!important;font-weight:1000!important;padding:2px 4px!important;line-height:1.1!important;}
.duty-calendar.compact .duty-date b{font-size:17px!important;}
.duty-calendar.compact .duty-date span{font-size:10px!important;}
.duty-calendar.compact .duty-date em{font-size:9px!important;max-width:56px;overflow:hidden;text-overflow:ellipsis;}
.duty-stat-card b{font-size:17px!important;}
.duty-stat-card span{font-size:21px!important;}
.duty-stat-card em{font-size:12px!important;}
.duty-stat-grid{grid-template-columns:1fr!important;gap:6px!important;}
@media(max-width:1200px){.duty-main-layout{grid-template-columns:1fr!important}.duty-main-layout .duty-stats-card{position:static!important;max-width:980px!important}.duty-stat-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))!important}}

/* v32：排班月份入口、只读月度考勤、美化排班格和值班统计 */
.month-entry-card,.finalized-month-card{max-width:720px;margin:30px auto;padding:30px!important;text-align:center;border-radius:26px!important;background:linear-gradient(135deg,#fff,#fff7ed)!important;border:1px solid #fed7aa!important;box-shadow:0 18px 45px rgba(154,52,18,.10)!important;}
.month-entry-card h2,.finalized-month-card h2{font-size:34px;margin:0 0 10px;color:#7f1d1d;font-weight:1000;}
.month-entry-card p,.finalized-month-card p{font-size:18px;font-weight:850;color:#475569;line-height:1.7;margin:0 0 18px;}
.schedule-month-badge.big{font-size:34px!important;padding:16px 26px!important;border-radius:22px!important;background:linear-gradient(135deg,#fee2e2,#fff7ed)!important;color:#991b1b!important;box-shadow:0 0 0 3px rgba(239,68,68,.08)!important;}

/* 上午/下午分界线放到两个框正中间，全天合并框文字垂直居中 */
.schedule-table .half-am .day-col::after{content:'';position:absolute;left:4px;right:4px;bottom:-4px;border-bottom:1px dashed rgba(100,116,139,.34);z-index:2;pointer-events:none;}
.schedule-table .half-am .half-sticky::after{content:'';position:absolute;left:4px;right:4px;bottom:-4px;border-bottom:1px dashed rgba(100,116,139,.34);z-index:2;pointer-events:none;}
.schedule-table .half-am th,.schedule-table .half-am td,.schedule-table .half-pm th,.schedule-table .half-pm td{border-top:0!important;border-bottom:0!important;}
.schedule-cell.merge-top{top:1px!important;height:58px!important;min-height:58px!important;display:flex!important;align-items:center!important;justify-content:center!important;border-radius:16px!important;}
.schedule-cell.merge-top .schedule-cell-text{height:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;transform:translateY(0)!important;font-size:13px!important;}
.schedule-cell.merge-bottom{visibility:hidden!important;pointer-events:none!important;}
.schedule-cell.half-am:not(.merge-same){border-radius:12px 12px 5px 5px!important;}
.schedule-cell.half-pm:not(.merge-same){border-radius:5px 5px 12px 12px!important;}
.schedule-cell.schedule-no-option{opacity:.66!important;color:#475569!important;border-color:#cbd5e1!important;background:#f8fafc!important;}
.schedule-cell.schedule-other-emp{opacity:.34!important;}

/* 月度考勤表使用与填写排班一致的只读漂亮样式 */
.month-att-pretty .readonly-schedule-wrap{height:calc(100vh - 210px)!important;max-height:calc(100vh - 210px)!important;overflow:auto!important;}
.month-att-pretty .readonly-schedule-table .schedule-cell{cursor:default!important;pointer-events:none!important;}
.month-att-pretty .readonly-schedule-table .schedule-cell:hover{box-shadow:none!important;border-color:rgba(15,23,42,.10)!important;}
.month-att-pretty .readonly-schedule-table thead th em{display:block;margin-top:2px;font-size:9px;color:#be123c;background:#ffe4e6;border-radius:999px;padding:1px 4px;font-style:normal;white-space:nowrap;}

/* 值班表：左侧日历、右侧前厅/后厨统计两列显示，尽量一屏看完 */
.duty-main-layout{grid-template-columns:minmax(700px,860px) minmax(420px,520px)!important;max-width:1420px!important;align-items:start!important;}
.duty-main-layout .duty-calendar.compact{max-width:860px!important;}
.duty-main-layout .duty-stats-card{max-width:520px!important;position:sticky!important;top:8px!important;}
.duty-stats-card{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;}
.duty-stat-block h3{font-size:19px!important;margin-bottom:8px!important;}
.duty-stat-grid{display:grid!important;grid-template-columns:1fr!important;gap:7px!important;}
.duty-stat-card{padding:8px 9px!important;border-radius:13px!important;}
.duty-stat-card b{font-size:18px!important;}
.duty-stat-card span{font-size:22px!important;}
.duty-stat-card em{font-size:12px!important;line-height:1.35!important;}
.duty-calendar.compact .duty-day{min-height:92px!important;}
.duty-calendar.compact .duty-chip{font-size:12px!important;max-width:54px!important;}
@media(max-width:1250px){.duty-main-layout{grid-template-columns:1fr!important}.duty-main-layout .duty-stats-card{position:static!important;max-width:900px!important}.duty-stats-card{grid-template-columns:1fr 1fr!important}}


/* v33 duty workflow */
.duty-process-box{margin-top:14px;padding:14px 16px;border-radius:18px;border:1px solid rgba(160,120,80,.22);background:linear-gradient(135deg,#fffaf2,#fff);box-shadow:0 8px 18px rgba(120,80,40,.06)}
.duty-process-box h3{margin:0 0 8px;font-size:18px;color:#7f1d1d}.duty-process-box p{margin:0 0 8px;color:#6b7280;font-weight:700;line-height:1.55}.muted-box{color:#6b7280;background:#f8fafc}.duty-comp-row{display:grid;grid-template-columns:90px 1fr auto;gap:8px;align-items:center;margin:8px 0;padding:10px;border-radius:14px;background:#fff;border:1px solid rgba(200,120,80,.18)}.duty-comp-row b{font-size:16px;color:#111827}.duty-comp-row span{font-size:13px;color:#6b7280;font-weight:700}.duty-comp-row em{font-style:normal;color:#b91c1c;background:#fee2e2;border-radius:999px;padding:6px 10px;font-weight:900}.duty-comp-row.ok em{color:#166534;background:#dcfce7}.toolbar .btn[disabled]{opacity:.45;cursor:not-allowed;filter:grayscale(1)}

/* v34 duty/no-rest refinements */
.duty-main-layout{grid-template-columns:minmax(760px,1040px) minmax(360px,440px)!important;gap:14px!important;max-width:1500px!important;align-items:start!important;}
.duty-main-layout .duty-calendar.compact{max-width:1040px!important;}
.duty-main-layout .duty-stats-card{max-width:440px!important;position:sticky!important;top:8px!important;}
.duty-stats-card{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;align-content:start!important;}
.duty-process-box{grid-column:1/-1!important;margin-top:8px!important;padding:10px 12px!important;border-radius:15px!important;}
.duty-process-box h3{font-size:16px!important;margin-bottom:5px!important;}
.duty-process-box p{font-size:12px!important;line-height:1.45!important;margin-bottom:6px!important;}
.duty-stat-block h3{font-size:16px!important;margin-bottom:6px!important;}
.duty-stat-grid{gap:5px!important;}
.duty-stat-card{padding:6px 7px!important;border-radius:11px!important;gap:1px!important;}
.duty-stat-card b{font-size:14px!important;}
.duty-stat-card span{font-size:17px!important;line-height:1.1!important;}
.duty-stat-card em{font-size:10px!important;line-height:1.25!important;}
.duty-calendar.compact .duty-day{min-height:92px!important;}
.duty-calendar.compact .duty-chip{font-size:11px!important;max-width:62px!important;}
.duty-ledger{margin:6px 0 8px;padding:8px;border-radius:14px;background:#f8fafc;border:1px dashed #cbd5e1;}
.duty-ledger h4{margin:0 0 6px;font-size:14px;color:#334155;font-weight:1000;}
.duty-ledger-row,.duty-comp-row{grid-template-columns:76px 1fr auto!important;gap:6px!important;margin:5px 0!important;padding:7px 8px!important;border-radius:12px!important;}
.duty-ledger-row b,.duty-comp-row b{font-size:14px!important;}
.duty-ledger-row span,.duty-comp-row span{font-size:11px!important;line-height:1.35!important;}
.duty-ledger-row em,.duty-comp-row em{font-size:11px!important;padding:4px 7px!important;white-space:nowrap;}
.duty-ledger-row.done em{font-style:normal;color:#166534;background:#dcfce7;border-radius:999px;font-weight:1000;}
@media(max-width:1250px){.duty-main-layout{grid-template-columns:1fr!important}.duty-main-layout .duty-stats-card{position:static!important;max-width:1040px!important}}

/* v37 首页与奖金模块优化 */
.home-hero-new{padding:22px 26px;background:linear-gradient(135deg,#991b1b,#f97316)!important}
.home-quick-pretty{grid-template-columns:repeat(6,minmax(128px,1fr));gap:14px}
.home-quick-pretty .pretty-q{min-height:84px;border:0!important;border-radius:24px!important;color:#111827!important;display:flex!important;align-items:center!important;gap:12px!important;padding:14px!important;position:relative;overflow:hidden;box-shadow:0 12px 24px rgba(15,23,42,.10)!important;cursor:pointer;transition:.18s transform,.18s box-shadow}
.home-quick-pretty .pretty-q:hover{transform:translateY(-2px);box-shadow:0 16px 30px rgba(15,23,42,.16)!important}
.home-quick-pretty .pretty-q .icon{width:46px;height:46px;border-radius:16px;background:rgba(255,255,255,.65);display:grid;place-items:center;margin:0!important;font-size:24px!important}
.home-quick-pretty .pretty-q b{display:block;font-size:17px}.home-quick-pretty .pretty-q span{display:block;margin-top:4px;font-size:12px;color:#475569;font-weight:800}
.home-quick-pretty .q-0{background:linear-gradient(135deg,#fee2e2,#fff7ed)!important}.home-quick-pretty .q-1{background:linear-gradient(135deg,#dbeafe,#f0f9ff)!important}.home-quick-pretty .q-2{background:linear-gradient(135deg,#fef3c7,#fffbeb)!important}.home-quick-pretty .q-3{background:linear-gradient(135deg,#dcfce7,#f0fdf4)!important}.home-quick-pretty .q-4{background:linear-gradient(135deg,#fce7f3,#fff1f2)!important}.home-quick-pretty .q-5{background:linear-gradient(135deg,#ede9fe,#faf5ff)!important}
.home-main-grid{display:grid;grid-template-columns:minmax(380px,1fr) minmax(320px,440px);gap:16px;align-items:start}.home-left-stack{display:grid;gap:14px}.home-stars-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.home-star-card{border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow);padding:14px;display:flex;align-items:center;gap:13px;cursor:pointer;text-align:left}.home-star-card img{width:44px;height:44px;object-fit:contain;border-radius:12px;background:#fff}.home-star-card span{display:block;font-size:13px;color:#64748b;font-weight:900}.home-star-card b{display:block;font-size:28px;line-height:1.1;color:#991b1b}.home-star-card small{display:block;margin-top:2px;color:#64748b;font-weight:800}.home-star-card.empty b{font-size:22px;color:#94a3b8}.compact-home-res{max-width:440px;justify-self:start;background:linear-gradient(180deg,#fff,#f8fafc)!important;border-radius:24px!important}.home-res-mini{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:10px;border:1px solid #e5e7eb;border-radius:16px;background:#fff}.res-time-dot{background:#111827;color:#fff;font-weight:950;border-radius:999px;padding:6px 9px;white-space:nowrap}.res-mini-main b{display:block;font-size:16px}.res-mini-main span,.res-mini-main small{display:block;color:#64748b;font-size:12px;font-weight:800}.home-remind-card{grid-column:1/-1;max-width:900px}.home-overview-card{max-width:760px}

/* v37 遗忘物品清爽桌号 */
.lost-table-btn.simple-table-btn,.lost-table-btn.simple-table-btn:hover{height:50px!important;border-radius:16px!important;background:linear-gradient(180deg,#fff,#f8fafc)!important;border:1px solid #d6d3d1!important;box-shadow:0 5px 12px rgba(15,23,42,.04)!important;display:flex!important;align-items:center!important;justify-content:center!important;position:static!important;overflow:visible!important}.lost-table-btn.simple-table-btn b{font-size:17px!important;color:#111827!important}.lost-table-btn.simple-table-btn.active{background:linear-gradient(180deg,#dcfce7,#bbf7d0)!important;border-color:#22c55e!important;color:#166534!important}.lost-table-btn.simple-table-btn .table-top,.lost-table-btn.simple-table-btn .table-leg{display:none!important}.lost-custom-storage{margin-top:10px!important;height:44px!important;border-radius:14px!important;background:#fff!important}.lost-employee-card small{display:block;font-size:12px;color:#475569;margin-top:3px}

/* v37 奖金页面 */
.bonus-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}.bonus-toolbar span{font-weight:950;color:#334155}.bonus-month-btn{font-size:24px!important;padding:10px 22px!important;border-radius:18px!important;background:linear-gradient(135deg,#fee2e2,#fff7ed)!important;color:#991b1b!important;border:1px solid #fecaca!important;font-weight:1000!important}.bonus-kpi-grid{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:14px;margin-bottom:14px}.bonus-kpi{background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid #e5e7eb;border-radius:22px;box-shadow:var(--shadow);padding:16px}.bonus-kpi span{display:block;color:#64748b;font-weight:900}.bonus-kpi b{display:block;margin-top:6px;font-size:20px;color:#991b1b}.bonus-kpi small{display:block;margin-top:4px;color:#64748b;font-weight:800}.bonus-summary-card{border-radius:22px}.red-text{color:#b91c1c}.green-text{color:#15803d}

@media(max-width:1100px){.home-quick-pretty{grid-template-columns:repeat(3,1fr)}.home-main-grid{grid-template-columns:1fr}.compact-home-res{max-width:none}.home-stars-row{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.home-quick-pretty{grid-template-columns:1fr 1fr}.bonus-kpi-grid,.home-stars-row{grid-template-columns:1fr}.home-res-mini{grid-template-columns:1fr}.home-star-card b{font-size:24px}}


/* v38 首页与奖金优化 */
.home-stars-square-row{display:flex;gap:14px;margin:14px 0 18px 4px;align-items:center;justify-content:flex-start;}
.home-star-square{width:88px;height:88px;border-radius:24px;border:1px solid rgba(15,23,42,.08);background:linear-gradient(145deg,#fff,#f8fafc);box-shadow:0 12px 26px rgba(15,23,42,.10);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer;transition:.18s;}
.home-star-square:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 18px 34px rgba(15,23,42,.14);}
.home-star-square img{width:34px;height:34px;border-radius:10px;object-fit:contain;}
.home-star-square b{font-size:22px;color:#7f1d1d;line-height:1;}
.home-star-square.empty b{font-size:18px;color:#94a3b8;}
.home-main-grid-clean{grid-template-columns:minmax(330px,480px) minmax(320px,420px);align-items:start;}
.pretty-res-card{max-width:480px;justify-self:start;background:linear-gradient(145deg,#fff7ed,#fff);border:1px solid rgba(251,146,60,.22);}
.compact-home-res .home-res-list{max-height:280px;overflow:auto;}
.home-remind-card{max-width:420px;}
.home-stat-row .stat-card:nth-child(2){background:linear-gradient(135deg,#ecfeff,#fff);border-color:rgba(6,182,212,.18);}
.star-save-card{margin-top:14px;background:linear-gradient(145deg,#fff7ed,#fff);border:1px solid rgba(251,146,60,.22);box-shadow:0 10px 24px rgba(251,146,60,.08);}
.star-save-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px;}
.star-save-head b{font-size:20px;color:#7f1d1d;}.star-save-head span{font-size:13px;color:#64748b;}
.star-save-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}.star-actions{justify-content:flex-end;margin-top:10px;}
.pretty-bonus-page .bonus-toolbar{display:flex;align-items:center;gap:12px;}
.bonus-rule-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:14px;margin:14px 0;}
.bonus-rule-card{border-radius:24px;padding:18px;border:1px solid rgba(15,23,42,.08);box-shadow:0 14px 32px rgba(15,23,42,.08);background:#fff;min-height:160px;}
.bonus-rule-card.eff{background:linear-gradient(145deg,#ecfeff,#fff)}.bonus-rule-card.star{background:linear-gradient(145deg,#fff7ed,#fff)}.bonus-rule-card.sum{background:linear-gradient(145deg,#f0fdf4,#fff)}
.bonus-rule-icon{font-size:34px}.bonus-rule-card h3{margin:8px 0 6px;font-size:22px}.bonus-rule-card p{color:#475569;margin:0 0 8px;line-height:1.55}.bonus-rule-card b{display:block;color:#7f1d1d;font-size:17px;margin-bottom:6px}.bonus-rule-card span{color:#64748b;font-size:13px;line-height:1.5}.bonus-detail-card h3{font-size:22px}.bonus-table th,.bonus-table td{font-size:14px}.bonus-table td:first-child small{display:block;color:#64748b;margin-top:2px}.month-bonus-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.month-bonus-card{border-radius:24px;background:linear-gradient(145deg,#fff,#f8fafc);box-shadow:0 14px 32px rgba(15,23,42,.08);border:1px solid rgba(15,23,42,.08);padding:16px}.mb-name{display:flex;justify-content:space-between;gap:10px}.mb-name b{font-size:22px}.mb-name span{color:#64748b}.mb-money{font-size:28px;font-weight:900;color:#dc2626;margin:10px 0}.mb-line{display:flex;justify-content:space-between;border-top:1px dashed rgba(15,23,42,.10);padding:8px 0}.mb-note{background:#fff1f2;color:#9f1239;border-radius:14px;padding:8px 10px;margin:8px 0 0;font-weight:700}
.duty-main-layout{grid-template-columns:minmax(760px,1.3fr) minmax(340px,.7fr);align-items:start}.duty-stats-card{max-height:calc(100vh - 210px);overflow:auto}.duty-process-box{padding:10px 12px}.duty-comp-row,.duty-ledger-row{font-size:12px;gap:8px}.duty-comp-row b,.duty-ledger-row b{font-size:13px}.duty-comp-row span,.duty-ledger-row span{line-height:1.35}.duty-stat-grid{grid-template-columns:1fr 1fr;gap:8px}.duty-stat-card{padding:8px 10px}.duty-stat-card b{font-size:14px}.duty-stat-card span{font-size:18px}.duty-day{min-height:90px}.duty-chip{font-size:13px;padding:3px 6px}
@media(max-width:1200px){.bonus-rule-grid{grid-template-columns:1fr}.home-main-grid-clean{grid-template-columns:1fr}.duty-main-layout{grid-template-columns:1fr}.duty-stats-card{max-height:none}.star-save-grid{grid-template-columns:1fr}}

/* v39：营业数据填写紧凑版 + 弹出式评分 + 奖金页面重排 */
.refined-business-wide{grid-template-columns:minmax(620px,980px) minmax(260px,360px)!important;gap:14px!important;align-items:start;}
.refined-business-wide .daily-form-card{padding:14px!important;border-radius:20px!important;}
.refined-business-wide .daily-intro{padding:10px 14px!important;margin-bottom:10px!important;border-radius:18px!important;}
.refined-business-wide .daily-intro-icon{width:42px!important;height:42px!important;font-size:22px!important;border-radius:13px!important;}
.refined-business-wide .daily-intro h3{font-size:18px!important;}
.refined-business-wide .daily-intro p{font-size:12px!important;}
.refined-business-wide .business-top-row{display:grid!important;grid-template-columns:260px 1fr!important;gap:12px!important;margin-bottom:10px!important;}
.refined-business-wide .business-row-list{display:grid!important;gap:8px!important;}
.refined-business-wide .business-line.money-row{grid-template-columns:220px 170px 88px!important;gap:10px!important;min-height:48px!important;padding:8px 10px!important;border-radius:15px!important;align-items:center!important;}
.refined-business-wide .business-line.money-row .business-line-name{font-size:15px!important;}
.refined-business-wide .business-line.money-row .business-line-input{width:170px!important;}
.refined-business-wide .business-line.money-row .money-input{height:38px!important;border-radius:12px!important;}
.refined-business-wide .business-line.money-row .money-input span{padding:0 8px!important;}
.refined-business-wide .business-line.money-row .input{height:38px!important;font-size:15px!important;min-width:0!important;}
.refined-business-wide .business-line.money-row .view-link-btn{height:36px!important;min-width:78px!important;width:78px!important;border-radius:12px!important;font-size:14px!important;padding:0!important;}
.refined-business-wide .paste-amount-btn{display:none!important;}
.star-save-card-separated{margin-top:12px!important;padding:14px!important;border-radius:22px!important;background:linear-gradient(145deg,#fff7ed,#fff,#f8fafc)!important;}
.star-save-card-separated .star-save-head{margin-bottom:10px!important;}
.star-save-card-separated .star-save-head b{font-size:20px!important;color:#7f1d1d!important;}
.star-save-card-separated .star-save-head span{font-size:12px!important;color:#64748b!important;}
.star-save-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important;}
.star-platform-card{border-radius:18px;padding:12px;background:rgba(255,255,255,.82);border:1px solid rgba(15,23,42,.08);box-shadow:0 10px 22px rgba(15,23,42,.06);}
.star-platform-head{display:grid;grid-template-columns:1fr 78px;gap:10px;align-items:center;margin-bottom:10px;}
.star-platform-head .view-link-btn{height:34px!important;min-width:74px!important;border-radius:11px!important;font-size:13px!important;padding:0!important;}
.star-popup-btn{height:46px;width:100%;border-radius:15px;border:1px solid #e5e7eb;background:#fff;color:#64748b;font-weight:950;font-size:17px;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(255,255,255,.6);}
.star-popup-btn.selected{background:linear-gradient(135deg,#dc2626,#fb7185);color:#fff;border-color:#fecaca;box-shadow:0 10px 20px rgba(220,38,38,.18);}
.star-popup-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:4px;}
.star-popup-choice{height:62px;border-radius:18px;border:1px solid #e5e7eb;background:#fff;font-size:22px;font-weight:1000;cursor:pointer;color:#334155;}
.star-popup-choice.active,.star-popup-choice:hover{background:linear-gradient(135deg,#dc2626,#fb7185);color:#fff;border-color:#fecaca;}
.refined-business-wide .textarea{min-height:58px!important;}
.refined-business-wide .split-actions{margin-top:8px!important;}
.refined-business-wide .side-stack-horizontal{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;}
.refined-business-wide .daily-side-card{padding:12px!important;border-radius:18px!important;}
.refined-business-wide .mini-stat{padding:7px 0!important;}
.refined-business-wide .side-title{font-size:15px!important;margin-bottom:6px!important;}
@media(max-width:1180px){.refined-business-wide{grid-template-columns:1fr!important}.refined-business-wide .business-line.money-row{grid-template-columns:1fr 170px 88px!important}.star-save-grid{grid-template-columns:1fr!important}}
@media(max-width:760px){.refined-business-wide .business-top-row,.refined-business-wide .business-line.money-row{grid-template-columns:1fr!important}.refined-business-wide .business-line.money-row .business-line-input{width:100%!important}.refined-business-wide .business-line.money-row .view-link-btn{width:120px!important}.star-platform-head{grid-template-columns:1fr}}

.bonus-page.pretty-bonus-page{max-width:1280px;}
.bonus-rule-grid.compact-rules{grid-template-columns:repeat(2,minmax(260px,1fr))!important;margin:10px 0!important;}
.compact-rules .bonus-rule-card{min-height:128px!important;padding:14px!important;border-radius:20px!important;}
.compact-rules .bonus-rule-icon{font-size:28px!important}.compact-rules h3{font-size:20px!important;margin:4px 0!important}.compact-rules b{font-size:15px!important}.compact-rules span{font-size:13px!important;line-height:1.45!important;}
.bonus-top-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px;margin:12px 0;}
.bonus-kpi.pretty{border-radius:20px;background:linear-gradient(145deg,#fff,#f8fafc);border:1px solid rgba(15,23,42,.08);box-shadow:0 10px 24px rgba(15,23,42,.06);padding:14px;}
.bonus-emp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin:12px 0;}
.bonus-emp-card{border-radius:22px;background:linear-gradient(145deg,#fff,#f8fafc);border:1px solid rgba(15,23,42,.08);box-shadow:0 12px 26px rgba(15,23,42,.07);padding:14px;}
.bonus-emp-card.has-leave{background:linear-gradient(145deg,#fff1f2,#fff);}
.bonus-emp-head{display:flex;justify-content:space-between;gap:8px;align-items:center;}
.bonus-emp-head b{font-size:21px;color:#111827}.bonus-emp-head span{font-size:12px;color:#64748b;font-weight:800;}
.bonus-emp-money{font-size:26px;font-weight:1000;color:#dc2626;margin:8px 0;}
.bonus-emp-lines{display:grid;grid-template-columns:1fr;gap:5px;}
.bonus-emp-lines em{font-style:normal;background:#f8fafc;border:1px dashed rgba(15,23,42,.10);border-radius:12px;padding:6px 8px;color:#334155;font-weight:850;}
.bonus-emp-card p{margin:8px 0 0;background:#fff1f2;color:#9f1239;border-radius:12px;padding:7px 9px;font-size:12px;font-weight:800;line-height:1.45;}
.bonus-detail-card{border-radius:22px!important}.bonus-detail-card h3{font-size:20px!important}.bonus-table th,.bonus-table td{font-size:13px!important;white-space:nowrap}.bonus-table td:first-child small{display:block;color:#64748b;}
@media(max-width:900px){.bonus-rule-grid.compact-rules,.bonus-top-grid{grid-template-columns:1fr!important}}


/* v40 营业数据填写：营业额 / 评分 / 今日昨日数据三栏紧凑布局 */
.daily-business-board{
  display:grid;
  grid-template-columns:minmax(520px, 620px) 260px minmax(210px, 250px);
  align-items:start;
  gap:14px;
  max-width:1120px;
}
.daily-business-left{min-width:0;}
.daily-business-middle{min-width:0;}
.daily-business-side{display:flex; flex-direction:column; gap:10px;}
.compact-business-card{padding:14px 16px!important; max-width:620px;}
.compact-top-row{display:grid!important; grid-template-columns:1fr 200px; gap:12px; align-items:end; margin-bottom:10px;}
.compact-top-row .date-compact{margin:0!important;}
.compact-top-row .total-compact{margin:0!important;}
.compact-top-row .big-total{height:44px!important; font-size:22px!important; display:flex; align-items:center; justify-content:center;}
.compact-money-list{display:flex; flex-direction:column; gap:8px;}
.compact-money-list .business-line{
  display:grid!important;
  grid-template-columns:150px 150px 66px!important;
  gap:8px!important;
  align-items:center!important;
  min-height:44px!important;
  padding:7px 9px!important;
}
.compact-money-list .business-line-name{font-size:15px!important; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.compact-money-list .money-input{height:34px!important; max-width:150px!important; min-width:0!important;}
.compact-money-list .money-input input{width:112px!important; max-width:112px!important; padding:0 8px!important; font-size:15px!important;}
.compact-money-list .view-link-btn{height:34px!important; padding:0 14px!important; min-width:62px!important;}
.compact-note{height:52px!important; min-height:52px!important;}
.compact-business-actions{margin-top:10px!important;}
.star-vertical-card{padding:14px!important; width:260px; min-height:0;}
.star-vertical-card .star-save-head{display:flex; flex-direction:column; gap:2px; margin-bottom:10px;}
.star-vertical-card .star-save-head b{font-size:17px;}
.star-vertical-card .star-save-head span{font-size:12px;color:#9a6b6b;}
.vertical-star-grid{display:flex!important; flex-direction:column!important; gap:10px!important; grid-template-columns:none!important;}
.vertical-star-grid .star-platform-card{padding:10px!important; min-height:74px!important; border-radius:16px!important;}
.vertical-star-grid .star-platform-head{display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:8px;}
.vertical-star-grid .business-line-name{font-size:15px!important;}
.vertical-star-grid .view-link-btn{height:30px!important; padding:0 12px!important; font-size:13px!important;}
.vertical-star-grid .star-popup-btn{width:100%!important; height:36px!important; border-radius:13px!important; font-size:17px!important;}
.star-vertical-card .star-actions{margin-top:10px!important; justify-content:stretch!important;}
.star-vertical-card .star-actions .btn{width:100%; height:38px;}
.disabled-btn, .btn.disabled-btn{background:#d6d9df!important;color:#777!important;box-shadow:none!important;cursor:not-allowed!important;}
.platform-data-card.compact-side{width:230px!important; padding:12px!important;}
.platform-data-card .mini-stat{min-height:24px!important; font-size:13px!important;}
.platform-data-card .side-title{font-size:14px!important;}
@media (max-width: 1200px){
  .daily-business-board{grid-template-columns:minmax(500px, 580px) 250px; max-width:860px;}
  .daily-business-side{grid-column:1 / span 2; flex-direction:row;}
  .platform-data-card.compact-side{width:210px!important;}
}

/* v40 人效星级奖金页面：防止页面报错后留白，同时让内容更完整 */
.pretty-bonus-page{max-width:1180px;}
.bonus-toolbar.card{display:flex; align-items:center; gap:12px; flex-wrap:wrap; padding:12px 16px; margin-bottom:12px;}
.bonus-rule-grid{display:grid; grid-template-columns:repeat(2,minmax(260px,1fr)); gap:12px; margin-bottom:12px;}
.bonus-rule-card{padding:15px 16px; border-radius:18px; background:linear-gradient(135deg,#fff7e8,#fff); border:1px solid rgba(180,120,40,.14); box-shadow:0 10px 22px rgba(80,50,20,.06);}
.bonus-rule-card h3{margin:0 0 8px; font-size:18px; color:#7b2d2d;}
.bonus-rule-card p{margin:4px 0; color:#4b5563; font-weight:700;}
.bonus-top-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-bottom:12px;}
.bonus-kpi.pretty{padding:16px; border-radius:18px; background:#fff; border:1px solid #eee; box-shadow:0 10px 22px rgba(20,20,20,.05);}
.bonus-kpi.pretty span{display:block;color:#6b7280;font-weight:700;}
.bonus-kpi.pretty b{display:block;font-size:28px;color:#bd1233;margin:5px 0;}
.bonus-emp-grid{display:grid; grid-template-columns:repeat(4,minmax(160px,1fr)); gap:12px; margin:12px 0;}
.bonus-emp-card,.month-bonus-card{background:#fff;border:1px solid #eee;border-radius:18px;padding:13px 14px;box-shadow:0 10px 22px rgba(0,0,0,.05);}
.bonus-emp-head,.mb-name{display:flex;justify-content:space-between;gap:8px;align-items:center;}
.bonus-emp-head b,.mb-name b{font-size:18px;color:#172033;}
.bonus-emp-head span,.mb-name span{color:#64748b;font-size:12px;}
.bonus-emp-money,.mb-money{font-size:24px;color:#bd1233;font-weight:900;margin:8px 0;}
.bonus-emp-lines,.mb-line{display:flex;gap:6px;flex-wrap:wrap;color:#475569;font-size:12px;}
.bonus-emp-lines em{font-style:normal;background:#f8fafc;border-radius:999px;padding:4px 7px;}
.bonus-daily-table-wrap{background:#fff;border-radius:18px;border:1px solid #eee;padding:12px;overflow:auto;box-shadow:0 10px 22px rgba(0,0,0,.05);}
.bonus-daily-table{width:100%;border-collapse:separate;border-spacing:0 8px;font-size:13px;}
.bonus-daily-table th{color:#6b7280;text-align:left;padding:6px 8px;white-space:nowrap;}
.bonus-daily-table td{background:#f8fafc;padding:8px;border-top:1px solid #edf2f7;border-bottom:1px solid #edf2f7;white-space:nowrap;}
.bonus-daily-table td:first-child{border-radius:12px 0 0 12px;border-left:1px solid #edf2f7;}
.bonus-daily-table td:last-child{border-radius:0 12px 12px 0;border-right:1px solid #edf2f7;}
.bonus-daily-table small{display:block;color:#94a3b8;}
.pill.green{background:#dcfce7;color:#166534;border-radius:999px;padding:3px 8px;font-weight:800;}
.pill.yellow{background:#fef3c7;color:#92400e;border-radius:999px;padding:3px 8px;font-weight:800;}
.red-text{color:#bd1233;}
@media (max-width: 1200px){.bonus-emp-grid{grid-template-columns:repeat(3,1fr);} .bonus-rule-grid,.bonus-top-grid{grid-template-columns:1fr;}}


/* 工作填写：任务中心 + 周期提醒 */
.work-center-page .daily-intro{margin-bottom:14px}
.work-layout-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:16px;align-items:start;margin:14px 0 18px}
.work-form-card .card-title-row{margin-bottom:12px}
.work-summary-row .summary-box b{font-size:28px}
.work-task-columns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:12px 0 18px}
.work-group{border:1px solid #e5e7eb;border-radius:16px;background:#fff;overflow:hidden;min-height:160px}
.work-group-title{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;font-weight:800;background:#f8fafc}
.work-group-title b{font-size:18px}.work-group.danger .work-group-title{background:#fee2e2;color:#991b1b}.work-group.warning .work-group-title{background:#fef3c7;color:#92400e}.work-group.info .work-group-title{background:#e0f2fe;color:#075985}.work-group.success .work-group-title{background:#dcfce7;color:#166534}
.work-group-list{padding:10px;display:flex;flex-direction:column;gap:10px}.work-task-card{align-items:flex-start;gap:12px;border-left:4px solid #e5e7eb}.work-task-card.overdue{border-left-color:#ef4444;background:#fff7f7}.work-task-card.compact{padding:10px}.work-card-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;min-width:170px}.progress-log-latest{background:#f8fafc;border-radius:10px;padding:6px 8px}.work-cycle-mini-list{margin-top:12px;display:flex;flex-direction:column;gap:8px}.work-cycle-mini{display:flex;align-items:center;justify-content:space-between;border:1px solid #e5e7eb;border-radius:12px;padding:8px 10px;background:#f8fafc}.work-cycle-mini b{display:block}.work-cycle-mini span{display:block;color:#64748b;font-size:12px;margin-top:3px}.work-detail h3{margin:0 0 8px}.work-detail h4{margin:16px 0 8px}.work-log-list{display:flex;flex-direction:column;gap:8px}.work-log-item{border-left:3px solid #2563eb;background:#f8fafc;border-radius:10px;padding:8px 10px}.work-log-item b{font-size:12px;color:#64748b}.work-log-item p{margin:4px 0 0}.work-time-field{width:100%}
@media(max-width:1200px){.work-layout-grid{grid-template-columns:1fr}.work-task-columns{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.work-task-columns{grid-template-columns:1fr}.work-card-actions{justify-content:flex-start;min-width:0}}

/* v2 任务中心页面布局优化：全宽、删除顶部统计后重新排版 */
.work-center-page{max-width:none!important;width:100%!important;padding-right:8px;box-sizing:border-box;}
.work-center-page .daily-intro{background:linear-gradient(135deg,#fff7ed 0%,#fff 48%,#eff6ff 100%);border-color:#fed7aa;box-shadow:0 10px 28px rgba(15,23,42,.07);}
.work-center-page .daily-intro-icon{background:linear-gradient(135deg,#fee2e2,#fed7aa);box-shadow:inset 0 0 0 1px rgba(255,255,255,.75);}
.work-layout-grid{grid-template-columns:minmax(560px,1.15fr) minmax(480px,.95fr)!important;gap:18px!important;margin:12px 0 18px!important;width:100%;}
.work-form-card{min-width:0;background:linear-gradient(180deg,#fff,#fffafa);border:1px solid rgba(239,68,68,.10);box-shadow:0 10px 26px rgba(15,23,42,.06);}
.work-form-card .card-title-row{padding-bottom:8px;border-bottom:1px dashed #fee2e2;}
.work-form-card .card-title{display:flex;align-items:center;gap:8px;font-size:18px;color:#111827;}
.work-title-icon{width:30px;height:30px;border-radius:12px;display:inline-grid;place-items:center;background:linear-gradient(135deg,#fee2e2,#fff7ed);font-size:17px;}
.work-form-card .form-grid.two{display:grid!important;grid-template-columns:repeat(4,minmax(116px,1fr))!important;gap:10px!important;align-items:end;}
.work-task-form-card .form-row.full{grid-column:1/-1;}
.work-cycle-form-card .form-row.full{grid-column:1/-1;}
.work-form-card .big-textarea{min-height:72px!important;}
.work-form-card textarea.textarea{min-height:64px;}
.work-form-card .input,.work-form-card .select,.work-form-card .date-field{min-height:42px;}
.work-cycle-mini-list{max-height:118px;overflow:auto;padding-right:2px;}
.work-cycle-mini{background:linear-gradient(135deg,#f8fafc,#fff);border-color:#e2e8f0;}
.section-title-line{background:linear-gradient(90deg,#fff,#f8fafc);border:1px solid #e5e7eb;border-radius:16px;padding:10px 12px;margin-top:14px;}
.work-task-columns{grid-template-columns:repeat(4,minmax(240px,1fr))!important;gap:14px!important;width:100%;align-items:start;}
.work-group{min-width:0;border-radius:18px;box-shadow:0 8px 20px rgba(15,23,42,.045);}
.work-group-title{font-size:15px;padding:11px 13px;}
.work-group-title span{display:flex;align-items:center;gap:6px;}
.work-group.danger .work-group-title span::before{content:'⚠️';}
.work-group.warning .work-group-title span::before{content:'📅';}
.work-group.info .work-group-title span::before{content:'🔔';}
.work-group.success .work-group-title span::before{content:'✅';}
.work-group-list{padding:11px;gap:11px;}
.work-task-columns .record-card.work-task-card{display:block!important;padding:12px!important;border-radius:16px!important;min-width:0!important;}
.work-task-columns .record-main{min-width:0!important;width:100%!important;}
.work-task-columns .record-title{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;line-height:1.35!important;}
.work-task-columns .record-title span{font-size:15px!important;word-break:break-word!important;white-space:normal!important;}
.work-task-columns .record-meta{font-size:12px!important;line-height:1.55!important;white-space:normal!important;word-break:break-word!important;}
.work-task-columns .record-note{font-size:12px!important;line-height:1.45!important;max-height:72px;overflow:auto;}
.work-task-columns .work-card-actions{margin-top:9px;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px!important;min-width:0!important;width:100%;justify-content:stretch!important;}
.work-task-columns .work-card-actions .btn{width:100%;padding:7px 6px!important;font-size:12px!important;}
.work-all-list .work-task-card{border-left-width:5px;}
.work-all-list .record-main{flex:1;}
.work-card-actions .btn.small{border-radius:12px;}
@media(max-width:1450px){.work-layout-grid{grid-template-columns:1fr!important}.work-task-columns{grid-template-columns:repeat(2,minmax(260px,1fr))!important}.work-form-card .form-grid.two{grid-template-columns:repeat(4,minmax(120px,1fr))!important}}
@media(max-width:900px){.work-task-columns{grid-template-columns:1fr!important}.work-form-card .form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:620px){.work-form-card .form-grid.two{grid-template-columns:1fr!important}.work-card-actions{min-width:0!important}}

/* v3 任务中心细节优化：周期说明弹窗化、任务信息强调、工作记录分栏 */
.work-layout-grid{align-items:stretch!important;margin-bottom:10px!important;}
.work-form-card{height:100%;}
.work-cycle-form-card{display:flex;flex-direction:column;}
.work-cycle-form-card .form-grid.two{flex:0 0 auto;}
.cycle-actions-row{display:flex!important;justify-content:flex-end!important;align-items:center!important;gap:10px!important;margin-top:10px!important;}
.cycle-actions-row .btn.ghost{background:linear-gradient(135deg,#eff6ff,#fff)!important;border-color:#bfdbfe!important;color:#1d4ed8!important;font-weight:800!important;}
.work-cycle-mini-list{max-height:86px!important;margin-top:10px!important;}
.work-cycle-mini{padding:7px 10px!important;border-radius:11px!important;}
.work-cycle-mini span{font-size:11px!important;}
.work-task-columns{margin-top:10px!important;margin-bottom:12px!important;}
.work-group{min-height:135px!important;background:linear-gradient(180deg,#fff,#fbfdff)!important;}
.work-group-list{min-height:82px!important;}
.work-task-meta{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:7px!important;margin-top:7px!important;white-space:normal!important;word-break:normal!important;}
.work-task-meta span{display:inline-flex!important;align-items:center!important;border-radius:999px;padding:4px 8px;background:#f8fafc;border:1px solid #e5e7eb;line-height:1.2!important;}
.work-task-meta .work-meta-type{font-weight:700;color:#475569;background:#f8fafc;}
.work-task-meta .work-meta-owner{color:#075985;background:linear-gradient(135deg,#e0f2fe,#f0f9ff);border-color:#bae6fd;font-size:13px!important;}
.work-task-meta .work-meta-owner b{font-size:17px!important;color:#0369a1!important;margin-left:2px;letter-spacing:.5px;}
.work-task-meta .work-meta-deadline{color:#9a3412;background:linear-gradient(135deg,#ffedd5,#fff7ed);border-color:#fed7aa;font-size:13px!important;}
.work-task-meta .work-meta-deadline b{font-size:15px!important;color:#c2410c!important;margin-left:2px;}
.work-task-columns .work-task-meta{gap:6px!important;margin-top:8px!important;}
.work-task-columns .work-task-meta span{width:100%;justify-content:flex-start;padding:5px 8px!important;}
.work-task-columns .work-task-meta .work-meta-owner b{font-size:18px!important;}
.work-task-columns .work-task-meta .work-meta-deadline b{font-size:16px!important;}
.work-record-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start;margin-top:10px;}
.work-record-panel{border:1px solid #e5e7eb;border-radius:18px;background:#fff;box-shadow:0 8px 22px rgba(15,23,42,.045);overflow:hidden;min-width:0;}
.work-record-panel-title{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;font-weight:900;border-bottom:1px solid #e5e7eb;}
.work-record-panel-title span{display:flex;align-items:center;gap:7px;}
.work-record-panel.unfinished .work-record-panel-title{background:linear-gradient(135deg,#fff7ed,#fffbeb);color:#9a3412;}
.work-record-panel.unfinished .work-record-panel-title span::before{content:'📌';}
.work-record-panel.finished .work-record-panel-title{background:linear-gradient(135deg,#ecfdf5,#f0fdf4);color:#166534;}
.work-record-panel.finished .work-record-panel-title span::before{content:'✅';}
.work-record-panel .work-all-list{padding:12px;display:flex;flex-direction:column;gap:10px;max-height:420px;overflow:auto;}
.work-record-panel .record-card.work-task-card{display:flex!important;align-items:flex-start!important;gap:12px!important;border-radius:15px!important;background:linear-gradient(135deg,#fff,#fbfdff)!important;}
.work-record-panel .record-title span{font-size:16px!important;font-weight:900!important;}
.work-record-panel .work-card-actions{min-width:150px!important;}
@media(max-width:1450px){.work-cycle-mini-list{max-height:72px!important}.work-record-split{grid-template-columns:1fr!important}.work-record-panel .work-all-list{max-height:360px}}
@media(max-width:900px){.work-task-meta span{width:100%}.work-record-panel .record-card.work-task-card{display:block!important}.work-record-panel .work-card-actions{min-width:0!important;margin-top:8px}}

/* v4 今日提醒处理：全系统今日总提醒中心 */
.today-reminder-page{max-width:none!important;width:100%;box-sizing:border-box;padding-right:8px;}
.today-reminder-page .daily-intro{background:linear-gradient(135deg,#fff7ed 0%,#fff 45%,#eef2ff 100%);border-color:#fed7aa;box-shadow:0 12px 30px rgba(15,23,42,.07);}
.today-reminder-page .daily-intro-icon{background:linear-gradient(135deg,#fde68a,#fed7aa);box-shadow:inset 0 0 0 1px rgba(255,255,255,.8);}
.today-kpi-row{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:12px;margin:12px 0 12px;}
.today-kpi{border:0;border-radius:18px;padding:14px 14px;text-align:left;background:#fff;box-shadow:0 10px 24px rgba(15,23,42,.06);cursor:pointer;min-height:78px;position:relative;overflow:hidden;}
.today-kpi::after{content:'';position:absolute;right:-16px;top:-18px;width:72px;height:72px;border-radius:50%;background:rgba(255,255,255,.35)}
.today-kpi span{display:block;font-size:13px;font-weight:900;color:#475569;margin-bottom:5px;}
.today-kpi b{display:block;font-size:30px;line-height:1;color:#111827;}
.today-kpi.blue{background:linear-gradient(135deg,#eff6ff,#fff)}
.today-kpi.red{background:linear-gradient(135deg,#fee2e2,#fff5f5)}
.today-kpi.purple{background:linear-gradient(135deg,#f3e8ff,#fff)}
.today-kpi.orange{background:linear-gradient(135deg,#ffedd5,#fff7ed)}
.today-kpi.green{background:linear-gradient(135deg,#dcfce7,#f7fee7)}
.today-kpi.pink{background:linear-gradient(135deg,#fce7f3,#fff)}
.reminder-filter-bar{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 14px;background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:10px;box-shadow:0 8px 22px rgba(15,23,42,.04);}
.filter-chip{border:1px solid #e5e7eb;background:#f8fafc;border-radius:999px;padding:8px 14px;font-weight:900;color:#475569;cursor:pointer;}
.filter-chip.active{background:linear-gradient(135deg,#e11d48,#ef4444);color:#fff;border-color:#e11d48;box-shadow:0 8px 18px rgba(225,29,72,.20);}
.today-reminder-layout{display:grid;grid-template-columns:minmax(620px,1.55fr) minmax(360px,.9fr);gap:16px;align-items:start;}
.reminder-main-panel,.reminder-side-panel,.reminder-history-panel{border:1px solid #e5e7eb;border-radius:22px;background:#fff;box-shadow:0 10px 26px rgba(15,23,42,.055);overflow:hidden;min-width:0;}
.reminder-main-panel{background:linear-gradient(180deg,#fff,#fffafa)}
.reminder-side-panel{background:linear-gradient(180deg,#fff,#f8fbff)}
.reminder-panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid #e5e7eb;font-weight:950;background:linear-gradient(90deg,#fff7ed,#fff);}
.reminder-panel-title span{font-size:18px;color:#172033;}
.reminder-panel-title b{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:28px;border-radius:999px;background:#fee2e2;color:#991b1b;padding:0 10px;}
.reminder-card-list{display:grid;gap:12px;padding:14px;max-height:620px;overflow:auto;}
.reminder-card-list.side{max-height:620px;}
.today-reminder-card{border:1px solid #e5e7eb;border-left:6px solid #3b82f6;border-radius:18px;background:#fff;padding:13px 14px;box-shadow:0 8px 18px rgba(15,23,42,.045);}
.today-reminder-card.danger{border-left-color:#dc2626;background:linear-gradient(135deg,#fff,#fff5f5)}
.today-reminder-card.warning{border-left-color:#f59e0b;background:linear-gradient(135deg,#fff,#fffbeb)}
.today-reminder-card.purple{border-left-color:#8b5cf6;background:linear-gradient(135deg,#fff,#faf5ff)}
.today-reminder-card.info{border-left-color:#0ea5e9;background:linear-gradient(135deg,#fff,#f0f9ff)}
.today-reminder-card.happy{border-left-color:#ec4899;background:linear-gradient(135deg,#fff,#fdf2f8)}
.reminder-card-head{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;}
.reminder-icon{width:42px;height:42px;border-radius:15px;background:#f8fafc;display:grid;place-items:center;font-size:22px;box-shadow:inset 0 0 0 1px #e5e7eb;}
.reminder-title-wrap{min-width:0;}
.reminder-title-wrap b{display:block;font-size:18px;color:#111827;line-height:1.3;word-break:break-word;}
.reminder-title-wrap span{display:block;margin-top:3px;color:#64748b;font-size:12px;font-weight:800;}
.reminder-card-head em{font-style:normal;white-space:nowrap;border-radius:999px;padding:5px 9px;background:#f1f5f9;color:#334155;font-size:12px;font-weight:950;}
.today-reminder-card.danger .reminder-card-head em{background:#fee2e2;color:#991b1b;}
.today-reminder-card.warning .reminder-card-head em{background:#fef3c7;color:#92400e;}
.today-reminder-card.purple .reminder-card-head em{background:#f3e8ff;color:#6d28d9;}
.today-reminder-card.happy .reminder-card-head em{background:#fce7f3;color:#be185d;}
.reminder-desc{margin:10px 0;color:#475569;line-height:1.55;font-weight:700;}
.reminder-meta-row{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 10px;}
.reminder-meta-row span{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;background:#f8fafc;border:1px solid #e5e7eb;color:#475569;font-size:12px;font-weight:850;}
.reminder-meta-row b{font-size:16px;color:#0f172a;margin-left:3px;}
.meta-person{background:linear-gradient(135deg,#e0f2fe,#f0f9ff)!important;border-color:#bae6fd!important;color:#075985!important;}
.meta-time{background:linear-gradient(135deg,#ffedd5,#fff7ed)!important;border-color:#fed7aa!important;color:#9a3412!important;}
.meta-type{background:linear-gradient(135deg,#f1f5f9,#fff)!important;}
.reminder-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;border-top:1px dashed #e5e7eb;padding-top:10px;}
.today-reminder-card.compact .reminder-title-wrap b{font-size:16px;}
.today-reminder-card.compact .reminder-icon{width:38px;height:38px;font-size:20px;}
.today-reminder-card.compact .reminder-desc{font-size:13px;margin:8px 0;}
.today-reminder-card.compact .reminder-actions{justify-content:flex-start;}
.reminder-history-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px;}
.reminder-history-list{display:grid;gap:8px;padding:12px;max-height:220px;overflow:auto;}
.history-line{display:grid;grid-template-columns:58px 1fr auto;gap:10px;align-items:center;border:1px solid #e5e7eb;border-radius:14px;background:#f8fafc;padding:9px 10px;}
.history-line b{color:#64748b}.history-line span{font-weight:850;color:#172033}.history-line em{font-style:normal;border-radius:999px;background:#dcfce7;color:#166534;padding:4px 8px;font-size:12px;font-weight:900;}
.reminder-note-box{padding:16px;color:#475569;line-height:1.8;font-weight:800;background:linear-gradient(135deg,#fff,#f8fafc);min-height:82px;}
.snooze-box p{margin-top:0;color:#374151;line-height:1.6}.snooze-options{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;}
@media(max-width:1300px){.today-kpi-row{grid-template-columns:repeat(3,1fr)}.today-reminder-layout{grid-template-columns:1fr}.reminder-card-list,.reminder-card-list.side{max-height:none}.reminder-history-grid{grid-template-columns:1fr}}
@media(max-width:760px){.today-kpi-row{grid-template-columns:repeat(2,1fr)}.reminder-card-head{grid-template-columns:auto 1fr}.reminder-card-head em{grid-column:1/-1;justify-self:start}.history-line{grid-template-columns:1fr}.reminder-actions{justify-content:flex-start}.today-reminder-page{padding-right:0}}

/* 考勤打卡中心 */
.checkin-page{display:flex;flex-direction:column;gap:16px}.checkin-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px;border-radius:22px;background:linear-gradient(135deg,#fff7ed,#eef6ff 52%,#f5f3ff);box-shadow:0 12px 30px rgba(15,23,42,.08);border:1px solid rgba(251,146,60,.16)}.checkin-hero h3{margin:0 0 8px;font-size:22px}.checkin-hero p{margin:0;color:#64748b;line-height:1.8}.checkin-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.checkin-kpi{position:relative;min-height:92px;border-radius:20px;padding:14px 14px 12px;overflow:hidden;background:#fff;box-shadow:0 10px 26px rgba(15,23,42,.07);border:1px solid #eef2f7}.checkin-kpi:after{content:'';position:absolute;right:-22px;bottom:-26px;width:72px;height:72px;border-radius:50%;opacity:.18}.checkin-kpi i{font-style:normal;font-size:24px}.checkin-kpi span{display:block;margin-top:8px;color:#64748b;font-size:13px}.checkin-kpi b{display:block;margin-top:2px;font-size:30px;color:#0f172a}.checkin-kpi.blue:after{background:#3b82f6}.checkin-kpi.green:after{background:#22c55e}.checkin-kpi.gray:after{background:#64748b}.checkin-kpi.orange:after{background:#f97316}.checkin-kpi.red:after{background:#ef4444}.checkin-kpi.purple:after{background:#8b5cf6}.checkin-card{background:#fff;border:1px solid #eef2f7;border-radius:22px;padding:16px;box-shadow:0 12px 28px rgba(15,23,42,.06)}.checkin-card.full{width:100%}.section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.section-title h3{margin:0;font-size:18px}.section-title span{color:#64748b;font-size:13px}.checkin-table th,.checkin-table td{vertical-align:middle}.checkin-table td small,.checkin-table td em{display:block;color:#64748b;font-style:normal;font-size:12px;margin-top:3px}.checkin-emp-name{font-size:17px;color:#0f172a}.checkin-shift{display:inline-flex;border-radius:999px;padding:5px 10px;background:#eef6ff;color:#2563eb;font-weight:800}.checkin-status{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;font-size:13px;font-weight:900;white-space:nowrap}.checkin-status.ok{background:#dcfce7;color:#15803d}.checkin-status.warn{background:#ffedd5;color:#c2410c}.checkin-status.danger{background:#fee2e2;color:#b91c1c}.checkin-status.missing{background:#f1f5f9;color:#475569}.checkin-status.off{background:#f8fafc;color:#94a3b8;border:1px dashed #cbd5e1}.checkin-status.purple{background:#ede9fe;color:#6d28d9}.checkin-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:16px;align-items:start}.checkin-rule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.checkin-rule-grid label{font-weight:800;color:#334155;font-size:13px}.checkin-rule-grid .input{margin-top:6px}.checkin-switches{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.checkin-switches label{display:flex;align-items:center;gap:6px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;padding:8px 12px;font-size:13px;color:#334155}.repair-list,.bind-list{display:flex;flex-direction:column;gap:10px}.repair-card,.bind-row{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:12px;border-radius:16px;background:linear-gradient(135deg,#f8fafc,#fff);border:1px solid #e2e8f0}.repair-card b,.bind-row b{font-size:16px}.repair-card span,.repair-card p,.bind-row span,.bind-row em{display:block;color:#64748b;font-size:13px;font-style:normal;margin:2px 0}.mini-program-flow{display:grid;gap:10px}.mini-program-flow p{margin:0;padding:12px;border-radius:16px;background:#f8fafc;border:1px solid #e2e8f0;line-height:1.8;color:#475569}.mini-program-flow.large p{font-size:15px}.time-select-inline{display:flex;align-items:center;gap:8px}.time-select-inline .select{width:96px}.checkin-detail-list{display:grid;gap:10px}.checkin-detail-list>div{padding:12px;border-radius:16px;background:#f8fafc;border:1px solid #e2e8f0}.checkin-detail-list b{font-size:16px}.checkin-detail-list span,.checkin-detail-list em,.checkin-detail-list p{display:block;color:#64748b;font-style:normal;margin:3px 0}.bind-code-box{text-align:center;border-radius:20px;background:linear-gradient(135deg,#eef6ff,#f5f3ff);padding:20px;margin-bottom:14px}.bind-code-box span{display:block;color:#64748b}.bind-code-box b{display:block;font-size:34px;letter-spacing:4px;color:#2563eb;margin:8px 0}.bind-code-box p{margin:0;color:#64748b;line-height:1.7}@media(max-width:1200px){.checkin-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.checkin-layout{grid-template-columns:1fr}}@media(max-width:760px){.checkin-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.checkin-hero{flex-direction:column;align-items:flex-start}.checkin-rule-grid{grid-template-columns:1fr}}

/* v6 考勤规则设置：班次时间设置，保留原有规则板块 */
.rules-card.shift-rules-card{grid-column:1/-1!important;max-width:none!important;background:linear-gradient(135deg,#f0f9ff,#ffffff 48%,#fff7ed)!important;border-color:#dbeafe!important;}
.shift-rule-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:14px;margin:14px 0;}
.shift-rule-card{position:relative;overflow:hidden;border-radius:18px;border:1px solid #e2e8f0;background:#fff;padding:14px 16px;box-shadow:0 8px 20px rgba(15,23,42,.05);}
.shift-rule-card:after{content:'';position:absolute;right:-24px;bottom:-24px;width:82px;height:82px;border-radius:50%;opacity:.15;}
.shift-rule-card.morning:after{background:#f59e0b}.shift-rule-card.afternoon:after{background:#fb7185}.shift-rule-card.full:after{background:#3b82f6}
.shift-rule-top{display:flex;align-items:center;gap:10px;margin-bottom:12px;}
.shift-rule-top i{font-style:normal;font-size:24px}.shift-rule-top b{font-size:20px;color:#0f172a}.shift-rule-top span{margin-left:auto;border-radius:999px;background:#ecfeff;color:#0e7490;padding:4px 9px;font-weight:1000;font-size:13px;}
.shift-time-row{display:flex;align-items:center;gap:10px;margin:8px 0 10px;}
.shift-time-row em{font-style:normal;color:#64748b;font-weight:900}.shift-time-btn{border:0;border-radius:14px;background:linear-gradient(135deg,#2563eb,#60a5fa);color:#fff;font-size:24px;font-weight:1000;padding:8px 16px;cursor:pointer;box-shadow:0 8px 18px rgba(37,99,235,.18);}
.shift-rule-card p{font-size:14px!important;margin:0!important;color:#64748b!important}.shift-rule-card p strong{color:#dc2626;font-size:16px;}
.shift-time-picker .date-picker-selects{justify-content:center}.shift-time-picker .select.big{min-width:130px;font-size:22px;font-weight:1000;text-align:center;}
@media(max-width:900px){.shift-rule-grid{grid-template-columns:1fr}.shift-time-btn{font-size:20px}}

/* v7 智能排班规则与推荐原因优化 */
.smart-schedule-rules-card{background:linear-gradient(135deg,#fff7ed,#f8fafc)!important;border:1px solid rgba(251,146,60,.28)!important;box-shadow:0 10px 30px rgba(251,146,60,.08)!important;}
.smart-level-grid{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;margin:12px 0;}
.smart-level-card{border-radius:16px;padding:12px 12px;border:1px solid rgba(15,23,42,.08);box-shadow:0 6px 18px rgba(15,23,42,.06);display:grid;gap:5px;min-height:74px;}
.smart-level-card b{font-size:16px;font-weight:1000;color:#111827;}
.smart-level-card span{font-size:12px;font-weight:850;color:#475569;line-height:1.35;}
.smart-level-card.level-1{background:linear-gradient(135deg,#dcfce7,#f0fdf4);border-color:#86efac;}
.smart-level-card.level-2{background:linear-gradient(135deg,#dbeafe,#eff6ff);border-color:#93c5fd;}
.smart-level-card.level-3{background:linear-gradient(135deg,#fef3c7,#fff7ed);border-color:#fcd34d;}
.smart-level-card.level-4{background:linear-gradient(135deg,#ffedd5,#fff7ed);border-color:#fdba74;}
.schedule-focus-actions small{font-size:13px;font-weight:900;color:#9a3412;background:#fffbeb;border:1px dashed #fbbf24;border-radius:999px;padding:6px 10px;}
.schedule-emp-dim .schedule-cell{pointer-events:none!important;opacity:.92!important;filter:none!important;}
.schedule-cell.schedule-other-emp{opacity:.92!important;filter:none!important;}
.schedule-emp-dim .emp-name-card{opacity:.82!important;}
.schedule-cell.schedule-careful-option{position:relative!important;z-index:2!important;border-color:#fb923c!important;box-shadow:0 0 0 3px rgba(251,146,60,.18)!important;}
.schedule-cell.schedule-careful-option::after{content:'谨慎'!important;position:absolute;left:50%;top:-18px;transform:translateX(-50%);height:18px;line-height:18px;padding:0 7px;border-radius:999px;font-size:10px;font-weight:1000;white-space:nowrap;background:#fff7ed;color:#c2410c;border:1px solid rgba(251,146,60,.45);box-shadow:0 3px 9px rgba(15,23,42,.12)!important;z-index:9!important;}
.schedule-cell.half-pm.schedule-careful-option::after{top:auto!important;bottom:-18px!important;}
.schedule-advice-label{position:absolute;left:50%;transform:translateX(-50%);z-index:10;white-space:nowrap;border-radius:999px;padding:2px 6px;font-size:10px;line-height:14px;font-weight:1000;box-shadow:0 3px 10px rgba(15,23,42,.12);}
.schedule-cell.half-am .schedule-advice-label{top:-18px;}
.schedule-cell.half-pm .schedule-advice-label{bottom:-18px;}
.schedule-advice-label.good{background:#16a34a;color:#fff;}
.schedule-advice-label.soft{background:#fffbeb;color:#b45309;border:1px solid #fcd34d;}
.schedule-advice-label.careful{background:#fff7ed;color:#c2410c;border:1px solid #fdba74;}
.schedule-advice-label.bad{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5;}
.schedule-advice-card{border-radius:22px;padding:18px;border:1px solid rgba(15,23,42,.10);box-shadow:0 12px 32px rgba(15,23,42,.08);display:grid;gap:12px;}
.schedule-advice-card.advice-best{background:linear-gradient(135deg,#dcfce7,#f0fdf4);border-color:#86efac;}
.schedule-advice-card.advice-good{background:linear-gradient(135deg,#dbeafe,#eff6ff);border-color:#93c5fd;}
.schedule-advice-card.advice-warn{background:linear-gradient(135deg,#fef3c7,#fff7ed);border-color:#fcd34d;}
.schedule-advice-card.advice-careful{background:linear-gradient(135deg,#ffedd5,#fff7ed);border-color:#fdba74;}
.schedule-advice-card.advice-bad{background:linear-gradient(135deg,#fee2e2,#fff1f2);border-color:#fca5a5;}
.schedule-advice-head{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.schedule-advice-head b{font-size:26px;font-weight:1000;color:#111827;}
.schedule-advice-head span{border-radius:999px;padding:7px 12px;background:#fff;color:#374151;font-weight:1000;border:1px solid rgba(15,23,42,.08);}
.schedule-advice-card p{font-size:18px;line-height:1.75;font-weight:900;color:#374151;margin:0;}
.schedule-advice-mini{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.schedule-advice-mini>div{background:rgba(255,255,255,.72);border:1px solid rgba(15,23,42,.08);border-radius:16px;padding:12px;display:grid;gap:5px;}
.schedule-advice-mini span{font-size:15px;font-weight:950;color:#111827;}.schedule-advice-mini b{font-size:19px;color:#dc2626;}.schedule-advice-mini em{font-style:normal;color:#64748b;font-weight:850;}
@media(max-width:1200px){.smart-level-grid{grid-template-columns:repeat(2,1fr)}.schedule-advice-mini{grid-template-columns:1fr}}
.schedule-cell.schedule-can-option::after,.schedule-cell.schedule-soft-option::after{content:''!important;display:none!important;}

/* v8 智能排班规则可自定义条件 */
.smart-schedule-rules-card .all-dept-rest-rule{
  margin:12px 0 14px; padding:12px; border-radius:16px;
  background:linear-gradient(135deg,#fff7ed,#fff1f2); border:1px solid #fed7aa;
}
.smart-schedule-rules-card .weekday-chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;}
.weekday-chip,.smart-pair-chip{display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border-radius:999px;background:#f8fafc;border:1px solid #e2e8f0;color:#334155;font-size:12px;cursor:pointer;user-select:none;}
.weekday-chip input,.smart-pair-chip input{accent-color:#ef7c35;}
.weekday-chip:has(input:checked),.weekday-chip.active{background:#fff7ed;border-color:#fb923c;color:#9a3412;font-weight:800;}
.smart-level-editor-wrap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0;}
.smart-level-editor{padding:12px;border-radius:18px;border:1px solid #e2e8f0;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.06);}
.smart-level-editor.level-1{background:linear-gradient(135deg,#ecfdf5,#ffffff);border-color:#bbf7d0;}
.smart-level-editor.level-2{background:linear-gradient(135deg,#eff6ff,#ffffff);border-color:#bfdbfe;}
.smart-level-editor.level-3{background:linear-gradient(135deg,#fffbeb,#ffffff);border-color:#fde68a;}
.smart-level-editor.level-4{background:linear-gradient(135deg,#fff7ed,#ffffff);border-color:#fed7aa;}
.smart-level-editor-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;}
.smart-level-editor-head b{font-size:16px;color:#0f172a;}
.smart-level-editor-head label{display:flex;align-items:center;gap:6px;font-size:12px;color:#475569;white-space:nowrap;}
.mini-input{width:64px!important;min-width:64px!important;text-align:center;}
.smart-pair-grid{display:flex;flex-wrap:wrap;gap:7px;}
.smart-pair-chip:has(input:checked),.smart-pair-chip.active{background:#eef2ff;border-color:#818cf8;color:#3730a3;font-weight:800;}
.smart-level-editor p{margin:8px 0 0;color:#64748b;font-size:12px;}
@media (max-width:1100px){.smart-level-editor-wrap{grid-template-columns:1fr;}}


/* v9 考勤规则设置排版优化：充分利用宽屏，保留原有规则板块 */
.rules-page-lite{
  width:100%!important;
  max-width:none!important;
}
.rules-grid-lite{
  width:100%!important;
  max-width:none!important;
  display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  gap:18px!important;
  align-items:start!important;
}
.rules-grid-lite>.rules-card{
  max-width:none!important;
  width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  border-radius:24px!important;
  padding:20px 22px!important;
  box-shadow:0 14px 34px rgba(15,23,42,.07)!important;
}
.rules-grid-lite>.shift-rules-card{
  grid-column:1 / -1!important;
}
.rules-grid-lite>.smart-schedule-rules-card{
  grid-column:1 / -1!important;
  background:linear-gradient(135deg,#fff7ed 0%,#ffffff 46%,#eef6ff 100%)!important;
}
.rules-grid-lite>.no-rest-rules-card{
  grid-column:span 4!important;
  background:linear-gradient(135deg,#fff1f2 0%,#ffffff 56%,#f0fdf4 100%)!important;
}
.rules-grid-lite>.rules-card:not(.shift-rules-card):not(.smart-schedule-rules-card):not(.no-rest-rules-card){
  grid-column:span 4!important;
}
.rules-grid-lite .rules-card h3{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  font-size:23px!important;
  margin-bottom:8px!important;
}
.rules-grid-lite .rules-card p{
  font-size:15px!important;
  line-height:1.7!important;
}
.smart-schedule-rules-card>.compact-rule-form{
  grid-template-columns:repeat(3,minmax(180px,1fr))!important;
  gap:14px!important;
}
.smart-schedule-rules-card>.compact-rule-form label,
.rules-grid-lite .rules-card .compact-rule-form label{
  max-width:none!important;
  width:auto!important;
}
.smart-schedule-rules-card>.compact-rule-form .input,
.rules-grid-lite .rules-card .compact-rule-form .input{
  width:100%!important;
  max-width:none!important;
  height:42px!important;
  font-size:16px!important;
}
.smart-schedule-rules-card .all-dept-rest-rule{
  display:grid!important;
  grid-template-columns:minmax(260px,1fr) auto!important;
  gap:12px 18px!important;
  align-items:center!important;
  padding:15px 16px!important;
}
.smart-schedule-rules-card .all-dept-rest-rule .weekday-chip-row,
.smart-schedule-rules-card .all-dept-rest-rule .muted{
  grid-column:1 / -1!important;
}
.smart-level-editor-wrap{
  grid-template-columns:repeat(4,minmax(210px,1fr))!important;
  gap:14px!important;
}
.smart-level-editor{
  min-height:178px!important;
}
.smart-pair-grid{
  max-height:none!important;
}
.no-rest-rules-card .btn#openNoRestFromRules2{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:120px!important;
  height:44px!important;
  border-radius:14px!important;
  background:linear-gradient(135deg,#ef4444,#f97316)!important;
  box-shadow:0 10px 20px rgba(239,68,68,.18)!important;
}
.no-rest-rules-card .rules-history{
  background:rgba(255,255,255,.7)!important;
  border-radius:18px!important;
  padding:12px!important;
  border:1px dashed rgba(239,68,68,.18)!important;
}
.no-rest-rules-card .rules-history-item{
  justify-content:space-between!important;
}
.rules-grid-lite .fair-toggle-rule{
  min-width:130px!important;
}
@media(max-width:1400px){
  .smart-level-editor-wrap{grid-template-columns:repeat(2,minmax(260px,1fr))!important;}
  .rules-grid-lite>.no-rest-rules-card,
  .rules-grid-lite>.rules-card:not(.shift-rules-card):not(.smart-schedule-rules-card):not(.no-rest-rules-card){grid-column:span 6!important;}
}
@media(max-width:900px){
  .rules-grid-lite{grid-template-columns:1fr!important;}
  .rules-grid-lite>.rules-card,
  .rules-grid-lite>.no-rest-rules-card,
  .rules-grid-lite>.rules-card:not(.shift-rules-card):not(.smart-schedule-rules-card):not(.no-rest-rules-card){grid-column:1 / -1!important;}
  .smart-schedule-rules-card>.compact-rule-form{grid-template-columns:1fr!important;}
  .smart-schedule-rules-card .all-dept-rest-rule{grid-template-columns:1fr!important;}
  .smart-level-editor-wrap{grid-template-columns:1fr!important;}
}

/* v10 考勤规则设置整体美化与值班流程优化 */
.rules-page-pro{
  width:100%!important;
  max-width:1680px!important;
  margin:0 auto!important;
  display:flex!important;
  flex-direction:column!important;
  gap:18px!important;
  padding-bottom:28px!important;
}
.rules-hero-panel{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  border-radius:28px!important;
  padding:22px 26px!important;
  background:linear-gradient(135deg,#fff7ed 0%,#ffffff 40%,#eff6ff 100%)!important;
  border:1px solid rgba(251,146,60,.22)!important;
  box-shadow:0 18px 45px rgba(15,23,42,.07)!important;
}
.rules-hero-panel b{display:block!important;font-size:30px!important;color:#111827!important;font-weight:1000!important;letter-spacing:-.5px!important;}
.rules-hero-panel span{display:block!important;margin-top:6px!important;font-size:16px!important;color:#64748b!important;font-weight:800!important;}
.rules-flow-tags{display:flex!important;flex-wrap:wrap!important;gap:10px!important;justify-content:flex-end!important;}
.rules-flow-tags em{font-style:normal!important;border-radius:999px!important;padding:9px 14px!important;background:rgba(255,255,255,.85)!important;border:1px solid rgba(148,163,184,.24)!important;font-size:15px!important;font-weight:1000!important;color:#334155!important;box-shadow:0 8px 18px rgba(15,23,42,.05)!important;}
.rules-section-title{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:16px!important;margin-top:4px!important;padding:0 4px!important;}
.rules-section-title span{font-size:22px!important;font-weight:1000!important;color:#111827!important;}
.rules-section-title em{font-style:normal!important;font-size:14px!important;color:#64748b!important;font-weight:800!important;}
.rules-grid-pro{display:grid!important;gap:18px!important;width:100%!important;}
.rules-basic-grid{grid-template-columns:1.5fr .85fr .95fr!important;align-items:stretch!important;}
.rules-assist-grid{grid-template-columns:.7fr 1.3fr!important;align-items:stretch!important;}
.rules-card.pro-card,.rules-page-pro .rules-card{
  max-width:none!important;
  min-height:0!important;
  border-radius:26px!important;
  padding:22px 24px!important;
  border:1px solid rgba(226,232,240,.9)!important;
  background:linear-gradient(180deg,#ffffff,#f8fafc)!important;
  box-shadow:0 18px 40px rgba(15,23,42,.07)!important;
  overflow:hidden!important;
}
.rules-card.pro-card h3,.rules-page-pro .rules-card h3{font-size:25px!important;line-height:1.2!important;margin:0 0 10px!important;color:#0f172a!important;}
.rules-card.pro-card p,.rules-page-pro .rules-card p{font-size:15px!important;line-height:1.7!important;color:#64748b!important;font-weight:850!important;margin:0 0 14px!important;}
.rules-page-pro .shift-rules-card{grid-column:auto!important;background:linear-gradient(135deg,#eff6ff,#ffffff 48%,#fff7ed)!important;border-color:#bfdbfe!important;}
.rules-page-pro .no-rest-rules-card{background:linear-gradient(135deg,#fff1f2,#ffffff 55%,#f0fdf4)!important;border-color:rgba(244,63,94,.18)!important;}
.rules-page-pro .key-staff-card{background:linear-gradient(135deg,#f5f3ff,#ffffff 55%,#eff6ff)!important;border-color:rgba(139,92,246,.16)!important;}
.rules-page-pro .smart-schedule-rules-card{max-width:none!important;background:linear-gradient(135deg,#fff7ed,#ffffff 45%,#f8fafc)!important;border-color:rgba(251,146,60,.3)!important;}
.rules-page-pro .fair-rule-card{background:linear-gradient(135deg,#ecfdf5,#ffffff)!important;border-color:rgba(34,197,94,.18)!important;}
.rules-page-pro .duty-rule-card{background:linear-gradient(135deg,#eef2ff,#ffffff 50%,#fef3c7)!important;border-color:rgba(99,102,241,.18)!important;}
.rules-page-pro .shift-rule-grid{grid-template-columns:repeat(3,minmax(150px,1fr))!important;gap:14px!important;}
.rules-card-actions{display:flex!important;align-items:center!important;gap:12px!important;flex-wrap:wrap!important;margin-top:14px!important;}
.rules-card-actions span{font-size:13px!important;color:#64748b!important;font-weight:850!important;}
.rules-page-pro .compact-rule-form{grid-template-columns:repeat(3,minmax(160px,1fr))!important;gap:14px!important;align-items:end!important;}
.rules-page-pro .compact-rule-form label{max-width:none!important;font-size:14px!important;color:#475569!important;font-weight:1000!important;}
.rules-page-pro .compact-rule-form .input{width:100%!important;max-width:none!important;height:42px!important;border-radius:14px!important;font-size:16px!important;}
.smart-core-form{max-width:760px!important;}
.rules-page-pro .all-dept-rest-rule{display:grid!important;grid-template-columns:1.1fr .65fr 2fr!important;gap:12px!important;align-items:center!important;border-radius:20px!important;padding:14px 16px!important;background:rgba(255,255,255,.78)!important;border:1px dashed rgba(251,146,60,.3)!important;margin:14px 0!important;}
.rules-page-pro .all-dept-rest-rule .muted{grid-column:1 / -1!important;margin:0!important;}
.rules-page-pro .weekday-chip-row{display:flex!important;flex-wrap:wrap!important;gap:8px!important;}
.rules-inline-switches{display:grid!important;grid-template-columns:repeat(2,minmax(260px,1fr))!important;gap:10px!important;margin-top:14px!important;}
.rules-inline-switches .switch-row{background:rgba(255,255,255,.75)!important;border:1px solid rgba(226,232,240,.8)!important;border-radius:16px!important;padding:10px 12px!important;margin:0!important;}
.rules-page-pro .smart-level-editor-wrap{display:grid!important;grid-template-columns:repeat(4,minmax(220px,1fr))!important;gap:12px!important;margin-top:14px!important;}
.rules-page-pro .smart-level-card{min-height:0!important;border-radius:20px!important;box-shadow:0 8px 22px rgba(15,23,42,.05)!important;}
.rules-page-pro .rules-history{max-height:168px!important;overflow:auto!important;margin-top:12px!important;}
.rules-page-pro .rules-history-item{width:100%!important;justify-content:space-between!important;}
.rules-page-pro .emp-select-wrap{max-height:180px!important;overflow:auto!important;padding-right:4px!important;}
.duty-flow-box{display:flex!important;align-items:center!important;gap:12px!important;flex-wrap:wrap!important;margin:12px 0 16px!important;padding:12px 14px!important;border-radius:18px!important;background:rgba(255,255,255,.8)!important;border:1px solid rgba(99,102,241,.18)!important;}
.duty-flow-box span{border-radius:999px!important;padding:8px 12px!important;background:#eef2ff!important;color:#3730a3!important;font-size:15px!important;font-weight:1000!important;}
.duty-flow-box b{color:#94a3b8!important;font-size:18px!important;}
.rules-page-pro .fair-toggle-rule{height:46px!important;min-width:138px!important;border-radius:16px!important;}
.rules-page-pro .btn{border-radius:15px!important;font-weight:1000!important;}
@media(max-width:1450px){
  .rules-basic-grid{grid-template-columns:1fr!important;}
  .rules-assist-grid{grid-template-columns:1fr!important;}
  .rules-page-pro .smart-level-editor-wrap{grid-template-columns:repeat(2,minmax(240px,1fr))!important;}
  .rules-page-pro .all-dept-rest-rule{grid-template-columns:1fr!important;}
}
@media(max-width:900px){
  .rules-hero-panel,.rules-section-title{flex-direction:column!important;align-items:flex-start!important;}
  .rules-page-pro .shift-rule-grid,.rules-page-pro .compact-rule-form,.rules-inline-switches,.rules-page-pro .smart-level-editor-wrap{grid-template-columns:1fr!important;}
}

/* v11 考勤规则设置再次优化：班次完整显示、智能规则半屏、星期上午/下午分列 */
.rules-page-pro{
  max-width:1720px!important;
}
.rules-basic-grid{
  grid-template-columns:1.35fr .78fr .87fr!important;
}
.rules-page-pro .shift-rules-card{
  overflow:visible!important;
}
.rules-page-pro .shift-rule-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
}
.rules-page-pro .shift-rule-card{
  padding:13px 14px!important;
  overflow:hidden!important;
}
.rules-page-pro .shift-rule-top{
  margin-bottom:8px!important;
}
.rules-page-pro .shift-rule-top b{
  font-size:18px!important;
  white-space:nowrap!important;
}
.rules-page-pro .shift-rule-top i{
  font-size:20px!important;
}
.rules-page-pro .shift-time-row{
  gap:6px!important;
  flex-wrap:nowrap!important;
}
.rules-page-pro .shift-time-btn{
  flex:1 1 0!important;
  min-width:0!important;
  max-width:100%!important;
  font-size:21px!important;
  line-height:1.15!important;
  padding:9px 8px!important;
  border-radius:14px!important;
  white-space:nowrap!important;
  letter-spacing:-.4px!important;
}
.rules-page-pro .shift-time-row em{
  flex:0 0 auto!important;
  font-size:13px!important;
}
.rules-page-pro .shift-rule-card p strong{
  font-size:15px!important;
}
.rules-main-two-col{
  display:grid!important;
  grid-template-columns:minmax(680px,1.05fr) minmax(360px,.95fr)!important;
  gap:18px!important;
  align-items:start!important;
  width:100%!important;
}
.rules-assist-stack{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:18px!important;
  align-items:start!important;
}
.rules-main-two-col .smart-schedule-rules-card{
  width:100%!important;
  min-width:0!important;
}
.rules-main-two-col .smart-core-form{
  max-width:none!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.rules-main-two-col .all-dept-rest-rule{
  grid-template-columns:1fr!important;
  gap:10px!important;
}
.rules-main-two-col .weekday-chip-row{
  display:grid!important;
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
  gap:6px!important;
}
.rules-main-two-col .weekday-chip{
  justify-content:center!important;
  padding:6px 5px!important;
  font-size:12px!important;
}
.rules-main-two-col .smart-level-editor-wrap{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
}
.smart-level-editor-head{
  align-items:flex-start!important;
}
.smart-level-editor-head label{
  white-space:normal!important;
  justify-content:flex-end!important;
  text-align:right!important;
  line-height:1.35!important;
}
.smart-pair-grid.two-column{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
}
.smart-pair-column{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:6px!important;
  align-content:start!important;
}
.smart-pair-column strong{
  display:block!important;
  text-align:center!important;
  border-radius:10px!important;
  padding:5px 0!important;
  background:rgba(255,255,255,.78)!important;
  border:1px solid rgba(226,232,240,.9)!important;
  color:#334155!important;
  font-size:13px!important;
  font-weight:1000!important;
}
.smart-pair-column .smart-pair-chip{
  justify-content:center!important;
  width:100%!important;
  padding:6px 4px!important;
  font-size:12px!important;
  border-radius:12px!important;
  box-sizing:border-box!important;
}
.rules-main-two-col .rules-inline-switches{
  grid-template-columns:1fr!important;
}
.rules-assist-stack .duty-core-form{
  grid-template-columns:1fr!important;
}
.rules-assist-stack .rules-card{
  width:100%!important;
}
.rules-assist-stack .duty-flow-box{
  gap:8px!important;
}
.rules-assist-stack .duty-flow-box span{
  font-size:13px!important;
  padding:7px 9px!important;
}
@media(max-width:1500px){
  .rules-basic-grid{grid-template-columns:1fr!important;}
  .rules-main-two-col{grid-template-columns:1fr!important;}
  .rules-main-two-col .smart-level-editor-wrap{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:900px){
  .rules-main-two-col .smart-level-editor-wrap,.smart-pair-grid.two-column,.rules-main-two-col .weekday-chip-row{grid-template-columns:1fr!important;}
  .rules-page-pro .shift-time-btn{font-size:20px!important;}
}

/* 月度考勤汇总 */
.summary-page{display:flex;flex-direction:column;gap:16px;}
.summary-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px;border-radius:24px;background:linear-gradient(135deg,#fff7ed,#eef6ff 50%,#f5f3ff);box-shadow:0 14px 34px rgba(15,23,42,.08);border:1px solid rgba(251,146,60,.16);overflow:hidden;position:relative;}
.summary-hero:after{content:'';position:absolute;right:-50px;bottom:-70px;width:190px;height:190px;border-radius:50%;background:rgba(59,130,246,.12);}
.summary-hero h3{margin:0 0 8px;font-size:22px;color:#0f172a;}
.summary-hero p{margin:0;color:#64748b;line-height:1.8;max-width:760px;}
.summary-hero-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end;position:relative;z-index:1;}
.summary-status-strip{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 14px;border-radius:18px;background:#fff;border:1px solid #eef2f7;box-shadow:0 8px 22px rgba(15,23,42,.05);color:#64748b;font-weight:800;}
.summary-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;}
.summary-kpi{position:relative;min-height:108px;border-radius:22px;padding:15px 14px 12px;background:#fff;box-shadow:0 10px 28px rgba(15,23,42,.07);border:1px solid #eef2f7;overflow:hidden;}
.summary-kpi:after{content:'';position:absolute;right:-24px;bottom:-28px;width:84px;height:84px;border-radius:50%;opacity:.16;}
.summary-kpi i{font-style:normal;font-size:24px;}
.summary-kpi span{display:block;margin-top:8px;color:#64748b;font-size:13px;font-weight:900;}
.summary-kpi b{display:block;margin-top:2px;font-size:26px;color:#0f172a;line-height:1.15;}
.summary-kpi small{display:block;margin-top:4px;color:#94a3b8;font-size:12px;line-height:1.35;}
.summary-kpi.blue:after{background:#3b82f6}.summary-kpi.green:after{background:#22c55e}.summary-kpi.orange:after{background:#f97316}.summary-kpi.red:after{background:#ef4444}.summary-kpi.purple:after{background:#8b5cf6}.summary-kpi.gold:after{background:#eab308}
.summary-card{background:#fff;border:1px solid #eef2f7;border-radius:22px;padding:16px;box-shadow:0 12px 30px rgba(15,23,42,.06);}
.summary-card.full{width:100%;}
.summary-two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start;}
.summary-table th,.summary-table td{white-space:nowrap;vertical-align:middle;}
.summary-table tr.need-attention{background:linear-gradient(90deg,rgba(254,242,242,.7),rgba(255,255,255,0));}
.summary-emp{display:block;font-size:16px;color:#0f172a;}
.summary-table small{display:block;color:#64748b;margin-top:3px;}
.summary-alert-list{display:flex;flex-direction:column;gap:10px;max-height:430px;overflow:auto;padding-right:4px;}
.summary-alert-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 12px;border-radius:16px;background:linear-gradient(135deg,#fff7ed,#fff);border:1px solid #fed7aa;}
.summary-alert-item b{display:block;color:#9a3412;font-size:15px;}
.summary-alert-item span{display:block;color:#64748b;margin-top:4px;font-size:13px;line-height:1.45;}
.summary-bonus-head{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:center;margin-bottom:12px;}
.summary-bonus-head>div{padding:13px 14px;border-radius:18px;background:linear-gradient(135deg,#f8fafc,#fff);border:1px solid #e2e8f0;}
.summary-bonus-head b{display:block;font-size:16px;color:#0f172a;}
.summary-bonus-head span{display:block;color:#64748b;margin-top:4px;font-size:13px;}
@media(max-width:1280px){.summary-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr));}.summary-hero{align-items:flex-start;flex-direction:column}.summary-hero-actions{justify-content:flex-start}.summary-two-col,.summary-bonus-head{grid-template-columns:1fr;}}
@media(max-width:760px){.summary-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}

/* v16 员工证件上传与提醒 */
.employee-doc-upload-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:8px 0 12px}
.employee-doc-upload-card{border:1px solid rgba(148,163,184,.35);background:linear-gradient(135deg,#fff,#f8fafc);border-radius:18px;padding:12px;box-shadow:0 8px 22px rgba(15,23,42,.05)}
.emp-doc-thumb{height:160px;border:1px dashed rgba(148,163,184,.65);border-radius:14px;background:#f8fafc;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;margin-bottom:10px;flex-direction:column;gap:6px}
.emp-doc-thumb.has{border-style:solid;background:#fff}
.emp-doc-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.emp-doc-thumb .btn{position:absolute;right:8px;bottom:8px;background:rgba(255,255,255,.9)}
.emp-doc-thumb small{position:absolute;left:8px;top:8px;background:rgba(15,23,42,.72);color:white;border-radius:999px;padding:3px 8px;font-size:12px}
.emp-doc-thumb .doc-empty{font-size:14px;color:#64748b}
.file-btn{display:inline-flex;width:100%;justify-content:center;cursor:pointer}
.employee-reminder-layout{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(420px,1.1fr);gap:18px;align-items:start}
.check-line{display:flex;align-items:center;gap:8px;background:#f8fafc;border:1px solid rgba(148,163,184,.28);border-radius:14px;padding:11px 12px;font-size:14px}
.employee-reminder-list{display:flex;flex-direction:column;gap:10px;max-height:520px;overflow:auto;padding-right:4px}
.employee-reminder-item,.employee-home-reminder{display:flex;gap:10px;align-items:center;border:1px solid rgba(148,163,184,.25);border-left:5px solid #94a3b8;border-radius:14px;background:#fff;padding:10px 12px;box-shadow:0 6px 16px rgba(15,23,42,.04)}
.employee-reminder-item.red,.employee-home-reminder.red{border-left-color:#ef4444;background:linear-gradient(90deg,#fff1f2,#fff)}
.employee-reminder-item.yellow,.employee-home-reminder.yellow{border-left-color:#f59e0b;background:linear-gradient(90deg,#fffbeb,#fff)}
.employee-reminder-item.green,.employee-home-reminder.green{border-left-color:#22c55e;background:linear-gradient(90deg,#f0fdf4,#fff)}
.employee-reminder-item span,.emp-rem-icon{font-size:22px;flex:0 0 auto}
.employee-reminder-item b,.employee-home-reminder b{display:block;font-size:14px;color:#111827;margin-bottom:2px}
.employee-reminder-item small,.employee-home-reminder small{display:block;color:#64748b;font-size:12px}
.home-employee-reminder-card{grid-column:1/-1;background:linear-gradient(135deg,#fff,#f8fbff)}
.employee-home-reminders{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px}
.employee-home-reminder{padding:12px}.employee-home-reminder .btn{margin-left:auto}
.profile-doc-grid{width:100%;grid-template-columns:repeat(3,minmax(0,1fr))}.employee-profile-card .profile-line.full{grid-column:1/-1}
@media(max-width:900px){.employee-doc-upload-grid,.employee-reminder-layout,.profile-doc-grid{grid-template-columns:1fr}.emp-doc-thumb{height:220px}}


/* v17 首页顶部评分与员工提醒横向模块优化 */
.home-hero-with-stars{display:flex!important;align-items:center;justify-content:space-between;gap:18px;min-height:112px;}
.home-hero-with-stars h2{margin:0 0 8px;font-size:30px;letter-spacing:.5px;}
.home-hero-with-stars p{margin:0;color:rgba(255,255,255,.88)!important;font-weight:800;}
.hero-stars{margin:0!important;gap:12px!important;flex:0 0 auto;}
.hero-stars .home-star-square{width:76px;height:76px;border-radius:20px;background:rgba(255,255,255,.92);box-shadow:0 14px 32px rgba(69,10,10,.24);}
.hero-stars .home-star-square img{width:30px;height:30px}.hero-stars .home-star-square b{font-size:18px}
.home-reminder-strip{display:grid;grid-template-columns:repeat(6,minmax(128px,1fr));gap:14px;margin:12px 0 16px;align-items:stretch;}
.home-mini-reminder{min-height:104px;border-radius:24px;padding:13px 14px;border:1px solid rgba(15,23,42,.08);box-shadow:0 12px 24px rgba(15,23,42,.09);cursor:pointer;overflow:hidden;position:relative;transition:.18s transform,.18s box-shadow;}
.home-mini-reminder:hover{transform:translateY(-2px);box-shadow:0 16px 30px rgba(15,23,42,.14);}
.home-mini-reminder.birthday{background:linear-gradient(135deg,#fff1f2,#fce7f3);}
.home-mini-reminder.health{background:linear-gradient(135deg,#ecfeff,#dbeafe);}
.home-mini-head{display:flex;align-items:center;gap:8px;margin-bottom:8px;}
.home-mini-head span{width:32px;height:32px;border-radius:12px;background:rgba(255,255,255,.72);display:grid;place-items:center;font-size:19px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.45)}
.home-mini-head b{font-size:16px;color:#111827}.home-mini-head em{margin-left:auto;min-width:22px;height:22px;border-radius:999px;background:#b91c1c;color:#fff;font-style:normal;font-weight:950;font-size:12px;display:grid;place-items:center;}
.home-mini-body{display:grid;gap:6px}.home-mini-body strong{display:block;font-size:12px;color:#334155;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-mini-body small{display:block;font-size:11px;color:#64748b;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.home-mini-placeholder{min-height:1px;}
@media(max-width:1200px){.home-hero-with-stars{align-items:flex-start;flex-direction:column}.home-reminder-strip{grid-template-columns:repeat(3,1fr)}.hero-stars .home-star-square{width:82px;height:82px}}
@media(max-width:760px){.home-reminder-strip{grid-template-columns:1fr 1fr}.home-mini-placeholder{display:none}.home-hero-with-stars h2{font-size:24px}}

/* v18 首页提醒布局微调 */
.home-hero-with-stars{
  display:block!important;
  min-height:104px;
  padding:22px 26px!important;
}
.home-hero-title-line{
  display:flex;
  align-items:center;
  gap:0;
  min-width:0;
}
.home-hero-title-line h2{
  margin:0!important;
  flex:0 0 auto;
}
.home-hero-title-line .hero-stars{
  margin:0 0 0 50px!important;
  flex:0 0 auto;
}
.home-hero-with-stars>p{
  margin:8px 0 0!important;
}
.hero-stars .home-star-square{
  width:66px!important;
  height:66px!important;
  border-radius:18px!important;
  gap:4px!important;
}
.hero-stars .home-star-square img{width:27px!important;height:27px!important;}
.hero-stars .home-star-square b{font-size:17px!important;}
.home-reminder-strip{
  display:grid;
  grid-template-columns:repeat(6,minmax(128px,1fr));
  gap:14px;
  margin:12px 0 16px;
  align-items:start;
}
.home-mini-reminder{
  height:auto!important;
  min-height:116px!important;
  overflow:visible!important;
}
.home-mini-reminder.reservation{background:linear-gradient(135deg,#dcfce7,#f0fdf4);}
.home-mini-head b{font-size:17px!important;}
.big-mini-body{gap:8px!important;}
.home-mini-line{
  display:grid;
  grid-template-columns:1fr auto;
  gap:2px 8px;
  align-items:center;
  padding:6px 0;
  border-top:1px solid rgba(255,255,255,.55);
}
.home-mini-line:first-child{border-top:0;padding-top:0;}
.home-mini-line strong{
  font-size:16px!important;
  color:#111827!important;
  font-weight:950!important;
  line-height:1.2!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
.home-mini-line i{
  justify-self:end;
  color:#b91c1c;
  font-style:normal;
  font-weight:950;
  font-size:15px;
  line-height:1.2;
  background:rgba(255,255,255,.66);
  border-radius:999px;
  padding:3px 7px;
}
.home-mini-reminder.health .home-mini-line i{color:#0369a1;}
.home-mini-reminder.reservation .home-mini-line i{color:#047857;}
.home-mini-line small{
  grid-column:1/-1;
  font-size:12px!important;
  color:#64748b!important;
  font-weight:850!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  line-height:1.35;
}
.home-main-only-reminders{
  display:block!important;
  max-width:420px;
}
.home-main-only-reminders .home-remind-card{max-width:420px!important;}
@media(max-width:1200px){
  .home-hero-title-line{flex-wrap:wrap;gap:12px;}
  .home-hero-title-line .hero-stars{margin-left:0!important;}
  .home-reminder-strip{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:760px){
  .home-reminder-strip{grid-template-columns:1fr 1fr;}
  .home-mini-placeholder{display:none;}
  .home-mini-line{grid-template-columns:1fr;}
  .home-mini-line i{justify-self:start;}
}

/* v19 采购与库存中心 */
.pi-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:12px 0 18px}
.pi-stat{border-radius:18px;padding:18px 20px;box-shadow:0 14px 36px rgba(15,23,42,.08);background:#fff;border:1px solid rgba(15,23,42,.06);position:relative;overflow:hidden}
.pi-stat:after{content:"";position:absolute;right:-28px;bottom:-30px;width:90px;height:90px;border-radius:50%;opacity:.16;background:currentColor}
.pi-stat b{font-size:30px;display:block;color:#111827;line-height:1.1}.pi-stat span{color:#64748b;font-weight:700}.pi-stat.blue{color:#2563eb}.pi-stat.amber{color:#d97706}.pi-stat.green{color:#059669}.pi-stat.red{color:#dc2626}
.pi-card,.pi-pending-block,.pi-receive-card,.pi-supplier-card{background:rgba(255,255,255,.88);border:1px solid rgba(15,23,42,.08);border-radius:20px;padding:18px;box-shadow:0 16px 40px rgba(15,23,42,.07);margin-bottom:16px}
.pi-card.soft{background:linear-gradient(135deg,#fff7ed,#f8fafc)}.pi-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.pi-card h3,.pi-pending-block h3,.pi-supplier-card h3{margin:0 0 10px;color:#111827}.pi-flow{display:flex;flex-wrap:wrap;gap:10px}.pi-flow span{padding:10px 14px;border-radius:999px;background:#fff;border:1px solid rgba(15,23,42,.08);font-weight:800;color:#475569}
.pi-order-layout{display:grid;grid-template-columns:330px 1fr;gap:16px}.pi-employee-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pi-emp{border:1px solid rgba(220,38,38,.14);background:#fff;border-radius:14px;padding:12px 8px;font-weight:900;cursor:pointer;color:#334155}.pi-emp.active{background:linear-gradient(135deg,#e11d48,#f97316);color:#fff;box-shadow:0 10px 24px rgba(225,29,72,.25)}
.pi-product-pick{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pi-product-card{border:1px solid rgba(15,23,42,.08);background:linear-gradient(135deg,#ffffff,#f8fafc);border-radius:18px;padding:14px;display:flex;justify-content:space-between;gap:12px;align-items:center}.pi-product-card b{font-size:18px}.pi-product-card span,.pi-product-card em{display:block;color:#64748b;font-style:normal;margin-top:4px}.pi-qtys{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.pi-qtys button{border:0;border-radius:999px;padding:8px 12px;background:#fee2e2;color:#be123c;font-weight:900;cursor:pointer}.pi-order-table td{vertical-align:top}.pi-small-input{max-width:90px}.pi-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.pi-pending-block{min-height:210px}.pi-pending-block.red{background:linear-gradient(135deg,#fff1f2,#fff)}.pi-pending-block.purple{background:linear-gradient(135deg,#f5f3ff,#fff)}.pi-pending-block.blue{background:linear-gradient(135deg,#eff6ff,#fff)}.pi-pending-block.amber{background:linear-gradient(135deg,#fffbeb,#fff)}.pi-block-title{display:flex;justify-content:space-between;align-items:center}.pi-block-title span{background:#fff;border-radius:999px;padding:5px 10px;font-weight:900;color:#dc2626}.pi-order-card{border-radius:16px;background:#fff;border:1px solid rgba(15,23,42,.08);padding:14px;margin-top:12px}.pi-order-top{display:flex;justify-content:space-between;gap:10px}.pi-order-main{font-size:16px;font-weight:800;line-height:1.7;margin:8px 0}.pi-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.pi-receive-list{display:grid;gap:14px}.pi-receive-card{display:flex;justify-content:space-between;gap:20px;align-items:center}.pi-receive-card ul{margin:8px 0 0;padding-left:18px;line-height:1.8}.pi-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.pi-supplier-card{background:linear-gradient(135deg,#ffffff,#f8fafc)}.chip-grid{display:flex;flex-wrap:wrap;gap:8px}.check-chip{display:inline-flex;gap:6px;align-items:center;padding:9px 12px;border-radius:999px;background:#f8fafc;border:1px solid rgba(15,23,42,.08);font-weight:800}.pi-money{font-size:26px;color:#dc2626}
@media (max-width:1200px){.pi-order-layout,.pi-columns{grid-template-columns:1fr}.pi-product-pick,.pi-grid-3,.pi-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v20 采购下单立即处理优化 */
.pi-manual-grid{align-items:end}.pi-manual-btn{display:flex;align-items:flex-end}.pi-delivery-options{display:flex;gap:8px;flex-wrap:wrap}.pi-delivery-options button{border:1px solid #e2e8f0;background:#fff;border-radius:999px;padding:10px 16px;font-weight:900;color:#475569;cursor:pointer}.pi-delivery-options button.active{background:linear-gradient(135deg,#e11d48,#f97316);color:#fff;border-color:transparent;box-shadow:0 10px 22px rgba(225,29,72,.2)}.pi-submit-bar{margin-top:16px;padding:16px;border-radius:18px;background:linear-gradient(135deg,#fff7ed,#fef2f2);border:1px solid #fed7aa;display:flex;align-items:center;justify-content:space-between;gap:16px}.pi-submit-bar b{display:block;font-size:18px;color:#991b1b}.pi-submit-bar span{display:block;color:#64748b;margin-top:4px}.btn.big{font-size:17px;padding:13px 24px;border-radius:16px}.pi-process-modal{display:grid;gap:12px}.pi-process-card{border:1px solid #e2e8f0;border-radius:18px;background:linear-gradient(135deg,#fff,#f8fafc);padding:14px;display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.pi-process-card b{font-size:18px;margin-right:8px}.pi-process-card p{font-weight:800;color:#334155;line-height:1.8;margin:8px 0}.pi-process-card small{display:block;color:#64748b;line-height:1.7}.home-mini-reminder.purchase{background:linear-gradient(135deg,#fff7ed,#ffedd5);border-color:#fed7aa}.home-mini-reminder.purchase .home-mini-head span{background:#f97316;color:#fff}
@media(max-width:900px){.pi-submit-bar,.pi-process-card{flex-direction:column;align-items:stretch}.pi-manual-grid{grid-template-columns:1fr!important}}
.form-grid.grid-6{grid-template-columns:repeat(6,minmax(0,1fr));}
@media(max-width:1400px){.form-grid.grid-6{grid-template-columns:repeat(3,minmax(0,1fr));}}

/* v21 采购下单紧凑布局与供货商回传 */
.pi-order-layout.compact{grid-template-columns:330px minmax(0,1fr);align-items:start;margin-top:4px}
.pi-product-pick.compact{display:flex;flex-wrap:wrap;gap:7px;align-items:flex-start;max-height:360px;overflow:auto;padding:2px}
.pi-product-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(15,23,42,.08);border-radius:14px;background:linear-gradient(135deg,#fff,#f8fafc);padding:7px 8px;box-shadow:0 6px 14px rgba(15,23,42,.04)}
.pi-product-chip b{font-size:14px;color:#111827;white-space:nowrap;max-width:120px;overflow:hidden;text-overflow:ellipsis}.pi-qtys.compact{display:inline-flex;gap:4px;flex-wrap:nowrap}.pi-qtys.compact button{padding:5px 8px;font-size:12px;border-radius:999px;white-space:nowrap}
.pi-order-bottom-grid{display:grid;grid-template-columns:330px minmax(0,1fr);gap:16px;align-items:start}.pi-manual-compact{display:grid;grid-template-columns:1fr 86px 86px;gap:8px;align-items:end}.pi-manual-compact button{grid-column:1/-1}.pi-manual-compact label{font-weight:800;color:#334155;font-size:13px}.pi-card .table-wrap.compact{max-height:300px;overflow:auto}.pi-final-row{align-items:end;margin-top:12px}.pi-submit-mini{display:flex;align-items:flex-end;justify-content:flex-end}.pi-process-card.with-qr{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:flex-start}.pi-qr-box{display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px;border-radius:16px;background:#fff;border:1px solid #e2e8f0}.pi-qr-box img{width:128px;height:128px;image-rendering:pixelated}.pi-qr-box span{font-weight:900;color:#475569}.pi-link-line{font-size:12px;color:#64748b;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px;padding:8px;margin-top:8px;word-break:break-all}.supplier-mobile-page{max-width:620px;margin:0 auto}.supplier-order-head{border-radius:22px;background:linear-gradient(135deg,#fff7ed,#fef2f2);border:1px solid #fed7aa;padding:18px 20px;margin-bottom:14px}.supplier-order-head h2{margin:0 0 8px;color:#991b1b}.supplier-order-head p{margin:0;color:#64748b}.supplier-item-list{display:grid;gap:10px;margin-bottom:14px}.supplier-item-list>div{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:14px 16px}.supplier-item-list b{font-size:18px;color:#0f172a}.supplier-item-list span{font-size:18px;font-weight:1000;color:#dc2626}.small-text{font-size:12px}.danger{color:#b91c1c;font-weight:900}
@media(max-width:1100px){.pi-order-layout.compact,.pi-order-bottom-grid{grid-template-columns:1fr}.pi-manual-compact{grid-template-columns:1fr 1fr 1fr}.pi-process-card.with-qr{grid-template-columns:1fr}.pi-qr-box{align-items:flex-start}.pi-submit-mini{justify-content:flex-start}}
@media(max-width:760px){.pi-manual-compact{grid-template-columns:1fr}.pi-product-chip{width:100%;justify-content:space-between}.pi-qtys.compact{flex-wrap:wrap}.supplier-mobile-page{max-width:none}.supplier-item-list>div{align-items:flex-start;flex-direction:column}.supplier-item-list span{font-size:20px}}

/* v22 采购下单紧凑分组 + 打印机管理 */
.pi-order-layout.no-flow{margin-top:0}
.pi-product-pick.by-supplier{display:block;max-height:430px;overflow:auto;padding:4px 6px;background:linear-gradient(135deg,#fff,#fff7ed);border-radius:18px;border:1px solid rgba(249,115,22,.12)}
.pi-supplier-product-group{margin:0 0 10px;padding:8px;border-radius:16px;background:rgba(255,255,255,.78);border:1px solid rgba(15,23,42,.06)}
.pi-supplier-title{font-weight:1000;color:#991b1b;font-size:14px;margin:0 0 6px;display:flex;align-items:center;gap:6px}.pi-supplier-title:before{content:'📦'}
.pi-supplier-products{display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.pi-product-chip{cursor:pointer;transition:.16s}.pi-product-chip:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(220,38,38,.10);border-color:rgba(220,38,38,.25)}
.pi-product-chip b{max-width:96px}.pi-order-bottom-grid.tighter{grid-template-columns:330px minmax(0,1fr);margin-top:12px}.pi-manual-compact.narrow{grid-template-columns:1fr 76px 76px;gap:7px}.pi-manual-compact.narrow .btn{height:38px}.pi-selected-columns{column-count:2;column-gap:12px;max-height:340px;overflow:auto;padding:2px}.pi-selected-item{break-inside:avoid;display:inline-block;width:100%;box-sizing:border-box;background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid rgba(15,23,42,.08);border-radius:14px;padding:10px;margin:0 0 10px;box-shadow:0 6px 16px rgba(15,23,42,.04)}
.pi-selected-main{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.pi-selected-main b{font-size:15px;color:#111827}.pi-selected-main span{font-size:12px;color:#64748b;background:#f1f5f9;border-radius:999px;padding:3px 7px;white-space:nowrap}.pi-selected-edit{display:grid;grid-template-columns:90px 76px auto;gap:6px;align-items:center;margin-top:8px}.pi-selected-edit .btn{padding:7px 9px}.print-choice-grid{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:16px}.print-preview-box{height:480px;border:1px solid #e2e8f0;border-radius:18px;overflow:hidden;background:#f8fafc}.print-preview-frame{width:100%;height:100%;border:0;background:white}.print-actions-box{border-radius:18px;background:linear-gradient(135deg,#fff7ed,#fff);border:1px solid #fed7aa;padding:16px;display:flex;flex-direction:column;gap:10px}.supplier-public-mode .app-shell{grid-template-columns:1fr}.supplier-public-mode .sidebar,.supplier-public-mode .topbar{display:none!important}.supplier-public-mode .content{padding:14px;min-height:100vh;background:linear-gradient(135deg,#fff7ed,#fef2f2)}.supplier-public-mode .main-area{height:100vh}.supplier-public-mode .supplier-mobile-page{max-width:560px}.printer-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.printer-card{border-radius:26px;border:1px solid rgba(15,23,42,.08);padding:22px;background:#fff;box-shadow:0 14px 36px rgba(15,23,42,.06)}.printer-card.a4{background:linear-gradient(135deg,#eff6ff,#fff)}.printer-card.feie{background:linear-gradient(135deg,#ecfdf5,#fff)}.printer-icon{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;background:#fff;font-size:28px;box-shadow:0 8px 22px rgba(15,23,42,.08)}.printer-card h3{font-size:24px;margin:12px 0 8px}.printer-note{margin-top:12px;border-radius:14px;background:rgba(255,255,255,.75);border:1px dashed #cbd5e1;padding:12px;color:#475569;line-height:1.7}
@media(max-width:1100px){.pi-selected-columns{column-count:1}.print-choice-grid,.printer-layout{grid-template-columns:1fr}.print-preview-box{height:360px}}

/* v23 采购下单紧凑布局 */
.pi-product-pick.names-only{max-height:none;overflow:visible;padding:6px 2px}
.pi-product-pick.names-only .pi-supplier-product-group{border:1px solid rgba(15,23,42,.08);border-radius:14px;background:linear-gradient(135deg,#fff,#f8fafc);padding:8px;margin:0 0 8px}
.pi-product-pick.names-only .pi-supplier-title{font-size:13px;font-weight:900;color:#b91c1c;margin-bottom:6px;display:flex;align-items:center;gap:6px}
.pi-product-pick.names-only .pi-supplier-title:before{content:'📦'}
.pi-product-pick.names-only .pi-supplier-products{display:flex;flex-wrap:wrap;gap:5px}
.pi-product-name-pill{border:1px solid rgba(220,38,38,.18);background:#fff;border-radius:999px;padding:6px 10px;font-size:13px;font-weight:800;color:#334155;cursor:pointer;line-height:1.1;box-shadow:0 3px 9px rgba(15,23,42,.04)}
.pi-product-name-pill:hover{background:#fff7ed;border-color:#f97316;color:#991b1b;transform:translateY(-1px)}
.pi-selected-columns{display:flex!important;flex-wrap:wrap;gap:6px;column-count:auto!important;max-height:none!important;overflow:visible!important;padding:4px 0}
.pi-selected-mini{display:inline-flex;align-items:center;gap:4px;border:1px solid rgba(15,23,42,.10);border-radius:12px;background:linear-gradient(135deg,#fff,#f8fafc);padding:5px 6px;min-height:34px;box-shadow:0 4px 12px rgba(15,23,42,.035);max-width:100%}
.pi-selected-mini b{font-size:13px;color:#111827;white-space:nowrap;max-width:110px;overflow:hidden;text-overflow:ellipsis}
.pi-selected-qtys{display:inline-flex;gap:3px;flex-wrap:nowrap}
.pi-selected-qtys button{border:0;border-radius:999px;background:#fee2e2;color:#991b1b;font-weight:800;font-size:11px;padding:4px 6px;cursor:pointer;white-space:nowrap}
.pi-selected-qtys button:hover{background:#fecaca}
.pi-mini-qty{width:54px!important;height:28px!important;padding:3px 6px!important;font-size:13px!important;text-align:center}
.pi-mini-unit{width:58px!important;height:28px!important;padding:3px 5px!important;font-size:12px!important}
.pi-mini-del{width:24px;height:24px;border:0;border-radius:8px;background:#f1f5f9;color:#64748b;font-size:18px;line-height:20px;cursor:pointer;display:grid;place-items:center}
.pi-mini-del:hover{background:#fee2e2;color:#dc2626}
.pi-order-bottom-grid.tighter{grid-template-columns:330px minmax(0,1fr);align-items:start}
.pi-final-row{margin-top:10px}
.pi-qr-box img{image-rendering:auto;border-radius:8px;background:#fff;padding:4px}
@media(max-width:900px){.pi-order-bottom-grid.tighter{grid-template-columns:1fr}.pi-selected-mini{width:100%}.pi-selected-mini b{max-width:120px}.pi-selected-qtys{flex-wrap:wrap}}


/* v24 采购下单：已选商品按供应商分组，紧凑显示 */
.pi-selected-columns{display:block!important;max-height:none!important;overflow:visible!important;padding:2px 0!important}
.pi-selected-supplier-group{border:1px solid rgba(15,23,42,.08);background:linear-gradient(135deg,#fff,#f8fafc);border-radius:14px;padding:7px;margin:0 0 8px}
.pi-selected-supplier-title{font-size:13px;font-weight:1000;color:#991b1b;margin:0 0 6px;display:flex;align-items:center;gap:5px}
.pi-selected-supplier-title:before{content:'📦'}
.pi-selected-supplier-items{display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.pi-selected-mini{display:inline-flex!important;align-items:center;gap:4px;border:1px solid rgba(15,23,42,.10);border-radius:12px;background:#fff;padding:4px 5px;min-height:32px;box-shadow:0 3px 9px rgba(15,23,42,.03);max-width:100%}
.pi-selected-mini b{font-size:13px;color:#111827;white-space:nowrap;max-width:96px;overflow:hidden;text-overflow:ellipsis}
.pi-selected-mini.has-qty .pi-selected-qtys{display:none!important}
.pi-selected-qtys{display:inline-flex;gap:3px;flex-wrap:nowrap}
.pi-selected-qtys button{border:0;border-radius:999px;background:#fee2e2;color:#991b1b;font-weight:900;font-size:11px;padding:4px 6px;cursor:pointer;white-space:nowrap}
.pi-mini-qty{width:62px!important;min-width:62px!important;height:30px!important;padding:4px 7px!important;font-size:13px!important}
.pi-mini-unit{width:60px!important;min-width:60px!important;height:30px!important;padding:4px 6px!important;font-size:13px!important}
.pi-mini-del{width:28px;height:28px;border:0;border-radius:50%;background:#f1f5f9;color:#475569;font-size:18px;line-height:1;cursor:pointer}
.pi-mini-del:hover{background:#fee2e2;color:#b91c1c}
.pi-qr-box img{width:118px!important;height:118px!important;image-rendering:pixelated}
.supplier-mobile-page .file-btn{height:48px;font-size:17px;border-radius:16px}
@media(max-width:900px){.pi-selected-mini{width:auto!important}.pi-selected-supplier-items{gap:5px}.pi-mini-qty{width:58px!important}.pi-mini-unit{width:56px!important}}

/* v25 供应商回传后台页面 */
.supplier-return-dashboard{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 18px}
.supplier-return-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}
.supplier-return-section{border-radius:24px;background:rgba(255,255,255,.88);border:1px solid rgba(15,23,42,.08);box-shadow:0 16px 42px rgba(15,23,42,.06);padding:18px;min-height:220px}
.supplier-return-section .section-title{font-size:22px;font-weight:1000;color:#111827;margin-bottom:14px;display:flex;align-items:center;gap:8px}.supplier-return-section .section-title:before{content:'🧾'}
.supplier-return-card{border-radius:20px;background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid rgba(15,23,42,.08);padding:16px;margin-bottom:12px;box-shadow:0 10px 24px rgba(15,23,42,.04)}
.supplier-return-top{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.supplier-return-top h3{font-size:21px;margin:0 0 6px;color:#991b1b}.supplier-return-top p{margin:0;line-height:1.8;color:#334155;font-weight:700}
.supplier-return-meta{font-size:12px;color:#64748b;background:#f8fafc;border-radius:12px;padding:8px 10px;margin:10px 0;line-height:1.7}
.supplier-return-imgs{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.supplier-return-thumb{width:96px;border-radius:14px;overflow:hidden;background:#fff;border:1px solid #e2e8f0;text-decoration:none;color:#475569;box-shadow:0 8px 20px rgba(15,23,42,.06)}.supplier-return-thumb img{width:96px;height:76px;object-fit:cover;display:block}.supplier-return-thumb span{display:block;font-size:11px;padding:5px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:1000px){.supplier-return-dashboard,.supplier-return-layout{grid-template-columns:1fr}}
/* v26 飞鹅打印机设置按钮 */
.printer-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px;align-items:center}
.printer-actions .btn{min-width:132px}

/* v27 打印按钮反馈 */
.print-actions-box .btn,
.printer-actions .btn{
  background:linear-gradient(135deg,#dc2626,#ef4444)!important;
  color:#fff!important;
  border-color:transparent!important;
  box-shadow:0 10px 22px rgba(220,38,38,.16);
}
.print-actions-box .btn.printed,
.printer-actions .btn.printed{
  background:linear-gradient(135deg,#16a34a,#22c55e)!important;
  color:#fff!important;
}
.print-actions-box .btn:disabled,
.printer-actions .btn:disabled{opacity:.78;cursor:wait}

/* v31 采购二维码、供应商上传、商品分类、首页网购/快递模块优化 */
.pi-qr-box.is-loading{position:relative;background:linear-gradient(135deg,#fff,#f8fafc);}
.pi-qr-box.is-loading img{background:#fff;min-width:108px;min-height:108px;border-radius:10px;}
.pi-qr-box.is-loading::after{content:'二维码生成中';position:absolute;left:50%;top:48px;transform:translateX(-50%);font-size:12px;font-weight:950;color:#64748b;white-space:nowrap;}
.supplier-upload-success{margin-top:14px;border:2px solid #86efac;background:linear-gradient(135deg,#dcfce7,#f0fdf4);border-radius:18px;padding:18px 16px;text-align:center;box-shadow:0 12px 28px rgba(22,163,74,.14)}
.supplier-upload-success b{display:block;font-size:30px;line-height:1.15;color:#15803d;font-weight:950;margin-bottom:8px;}
.supplier-upload-success span{display:block;font-size:16px;color:#166534;font-weight:900;line-height:1.55;}
.category-manage-list{display:grid;gap:10px;margin:12px 0;}
.category-manage-row{display:grid;grid-template-columns:minmax(180px,1fr) 90px auto auto;gap:8px;align-items:center;border:1px solid #e5e7eb;border-radius:14px;background:#fff;padding:10px;}
.category-add-row{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:14px;border-top:1px dashed #e5e7eb;padding-top:14px;}
.danger-btn{color:#b91c1c!important;border-color:#fecaca!important;background:#fff5f5!important;}
.home-mini-reminder.express{background:linear-gradient(135deg,#e0f2fe,#f0f9ff);border-color:#bae6fd;}
.home-mini-reminder.express .home-mini-head span{background:#0284c7;color:#fff;}
.home-mini-reminder.express .home-mini-line i{color:#075985;}
.home-reminder-strip-v31{grid-template-columns:repeat(6,minmax(128px,1fr))!important;}
@media(max-width:1200px){.home-reminder-strip-v31{grid-template-columns:repeat(3,1fr)!important}.home-reminder-strip-v31 .home-mini-placeholder{display:none}}
@media(max-width:760px){.home-reminder-strip-v31{grid-template-columns:1fr 1fr!important}.supplier-upload-success b{font-size:26px}.category-manage-row{grid-template-columns:1fr}.category-add-row{grid-template-columns:1fr}}

/* v32 首页卡片、采购下单、网购待购买细节优化 */
.home-reminder-strip-v31{align-items:stretch!important;}
.home-reminder-strip-v31 .home-mini-reminder{
  height:148px!important;
  min-height:148px!important;
  max-height:148px!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
}
.home-reminder-strip-v31 .home-mini-head{flex:0 0 auto;margin-bottom:7px!important;}
.home-reminder-strip-v31 .big-mini-body{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding-right:4px;
  scrollbar-width:thin;
}
.home-reminder-strip-v31 .home-mini-line{padding:6px 0!important;}
.home-mini-reminder.reservation .home-mini-head span{background:#16a34a;color:#fff;}

.online-action-btn{
  min-height:46px!important;
  padding:12px 18px!important;
  border-radius:16px!important;
  font-size:16px!important;
  font-weight:1000!important;
}
.pi-receive-card .pi-actions .online-action-btn:first-child,
.pi-process-card .online-action-btn:first-child{
  background:#fff7ed!important;
  border-color:#fed7aa!important;
  color:#9a3412!important;
}
.pi-receive-card .pi-actions .online-action-btn:last-child,
.pi-process-card .online-action-btn:last-child{
  background:linear-gradient(135deg,#dc2626,#f97316)!important;
  color:#fff!important;
  border-color:transparent!important;
  box-shadow:0 10px 22px rgba(220,38,38,.18)!important;
}

.manual-name-cell{position:relative;}
.manual-suggest-box{position:relative;z-index:5;display:grid;gap:8px;margin-top:8px;}
.manual-suggest-item{border:1px solid #fed7aa;background:linear-gradient(135deg,#fff7ed,#fff);border-radius:14px;padding:10px 12px;cursor:pointer;box-shadow:0 8px 18px rgba(154,52,18,.07)}
.manual-suggest-item b{display:block;font-size:16px;color:#111827;font-weight:1000;}
.manual-suggest-item small{display:block;margin-top:4px;color:#64748b;font-weight:850;}
.manual-suggest-item em{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;font-style:normal;}
.manual-suggest-item em button,.manual-quick-qtys button{border:0;border-radius:999px;background:#fee2e2;color:#be123c;padding:7px 11px;font-weight:1000;cursor:pointer;}
.manual-quick-qtys{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0 2px;}
.manual-quick-qtys span{font-size:13px;color:#64748b;font-weight:950;}

.pi-process-submit-head{border:1px solid #fed7aa;background:linear-gradient(135deg,#fff7ed,#fff);border-radius:18px;padding:14px 16px;margin-bottom:12px;text-align:center;}
.pi-process-submit-head b{display:block;font-size:24px;color:#991b1b;font-weight:1000;line-height:1.25;}
.pi-process-submit-head span{display:block;margin-top:4px;color:#64748b;font-weight:850;}

@media(max-width:900px){
  .pi-employee-card.mobile-collapsed{padding:10px 14px!important;margin-bottom:8px!important;border-radius:18px!important;cursor:pointer;}
  .pi-employee-card.mobile-collapsed .pi-card-head h3{margin:0!important;font-size:18px!important;color:#991b1b!important;}
  .pi-employee-card.mobile-collapsed .pi-employee-grid,
  .pi-employee-card.mobile-collapsed #empHint{display:none!important;}
}
@media(max-width:760px){
  .home-reminder-strip-v31 .home-mini-reminder{height:154px!important;min-height:154px!important;max-height:154px!important;}
  .pi-process-submit-head{margin:0 0 10px;padding:13px 12px;}
  .pi-process-submit-head b{font-size:25px;}
  .pi-process-submit-head span{display:none;}
  .pi-process-modal{display:flex!important;grid-template-columns:none!important;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;-webkit-overflow-scrolling:touch;}
  .pi-process-modal .pi-process-card{min-width:86vw!important;scroll-snap-align:center;display:grid!important;grid-template-columns:1fr!important;}
  .pi-process-card .pi-process-info small,.pi-process-card .pi-link-line{display:none!important;}
  .pi-process-card .pi-process-info p{font-size:16px!important;line-height:1.6!important;max-height:74px;overflow:auto;margin:6px 0!important;}
  .pi-qr-box{align-items:center!important;}
  .pi-qr-box img{width:168px!important;height:168px!important;}
  .online-action-btn{width:100%;min-height:52px!important;font-size:17px!important;}
  .pi-receive-card{display:block!important;}
  .pi-receive-card .pi-actions{margin-top:12px;}
}

/* v33 手机采购下单提速：下单人常用商品 + 智能搜索 + 分类横滑 */
.pi-fast-order-layout{grid-template-columns:300px minmax(0,1fr)!important;align-items:start!important;}
.pi-fast-pick-card .pi-card-head h3:before{content:'⚡';margin-right:6px;}
.pi-fast-search-row{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:12px;align-items:end;margin-bottom:10px;}
.pi-fast-search-row label{font-weight:950;color:#334155;font-size:13px;display:block;margin-bottom:6px;}
.pi-fast-search-input{height:48px!important;font-size:17px!important;font-weight:900!important;border-radius:16px!important;}
.pi-fast-custom-row{display:grid;grid-template-columns:76px 86px 108px;gap:8px;align-items:end;}
.pi-fast-custom-row .btn{height:48px;border-radius:16px;font-weight:950;}
.pi-fast-product-area{border:1px solid rgba(249,115,22,.14);background:linear-gradient(135deg,#fff,#fff7ed);border-radius:18px;padding:10px;}
.pi-fast-tabs{display:flex;gap:8px;overflow-x:auto;white-space:nowrap;padding:2px 2px 10px;margin-bottom:8px;scrollbar-width:thin;-webkit-overflow-scrolling:touch;}
.pi-fast-tabs button{border:1px solid #e5e7eb;background:#fff;border-radius:999px;padding:9px 13px;font-weight:950;color:#475569;cursor:pointer;box-shadow:0 4px 10px rgba(15,23,42,.04);}
.pi-fast-tabs button.active{background:linear-gradient(135deg,#dc2626,#f97316);color:#fff;border-color:transparent;box-shadow:0 9px 18px rgba(220,38,38,.16);}
.pi-fast-product-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;max-height:380px;overflow:auto;padding-right:3px;}
.pi-fast-product-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;border:1px solid rgba(15,23,42,.08);background:linear-gradient(135deg,#fff,#f8fafc);border-radius:16px;padding:10px 10px;box-shadow:0 8px 18px rgba(15,23,42,.045);}
.pi-fast-product-name{border:0;background:transparent;text-align:left;padding:0;min-width:0;cursor:pointer;}
.pi-fast-product-name b{display:block;font-size:17px;line-height:1.25;color:#111827;font-weight:1000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pi-fast-product-name small{display:block;margin-top:4px;color:#64748b;font-size:12px;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pi-fast-qtys{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;min-width:74px;}
.pi-fast-qtys button{border:0;border-radius:999px;background:#fee2e2;color:#be123c;width:42px;min-height:38px;font-size:17px;font-weight:1000;cursor:pointer;box-shadow:0 4px 12px rgba(190,18,60,.08);}
.pi-fast-qtys button:active,.manual-suggest-item em button:active,.manual-quick-qtys button:active{transform:scale(.96);}
.pi-fast-more{width:100%;margin-top:10px;border:1px dashed #fb923c;background:#fff7ed;color:#9a3412;border-radius:14px;min-height:42px;font-size:15px;font-weight:950;cursor:pointer;}
.pi-fast-help{margin:10px 2px 0!important;}
.pi-fast-selected-wrap.single{grid-template-columns:1fr!important;}
.manual-quick-qtys small{font-size:12px;color:#64748b;font-weight:900;}
.manual-suggest-item em button[data-suggest-add],.manual-quick-qtys button{min-width:42px;min-height:38px;font-size:16px;}
.manual-suggest-item em button[data-fill-product]{background:#f1f5f9;color:#334155;}
@media(max-width:1100px){
  .pi-fast-order-layout{grid-template-columns:1fr!important;}
  .pi-fast-search-row{grid-template-columns:1fr;}
  .pi-fast-custom-row{grid-template-columns:1fr 1fr auto;}
  .pi-fast-product-list{grid-template-columns:1fr;}
}
@media(max-width:760px){
  .pi-fast-order-layout{gap:10px!important;}
  .pi-fast-pick-card{margin-top:4px!important;}
  .pi-fast-search-row{gap:8px;margin-bottom:8px;}
  .pi-fast-custom-row{grid-template-columns:1fr 92px 116px;gap:7px;align-items:end;}
  .pi-fast-custom-row label{font-size:12px;}
  .pi-fast-custom-row .btn{height:48px;font-size:15px;padding-left:8px!important;padding-right:8px!important;}
  .pi-fast-product-area{padding:8px;border-radius:16px;}
  .pi-fast-tabs{gap:7px;padding-bottom:8px;margin-bottom:7px;}
  .pi-fast-tabs button{padding:9px 12px;font-size:14px;}
  .pi-fast-product-list{max-height:330px;gap:8px;}
  .pi-fast-product-row{grid-template-columns:minmax(0,1fr) auto;padding:10px 9px;border-radius:15px;}
  .pi-fast-product-name b{font-size:17px;}
  .pi-fast-product-name small{font-size:11px;}
  .pi-fast-qtys{min-width:92px;gap:6px;}
  .pi-fast-qtys button{width:42px;min-height:40px;font-size:18px;}
  .manual-suggest-box{max-height:260px;overflow:auto;}
  .manual-suggest-item{padding:11px 12px;}
  .manual-suggest-item b{font-size:17px;}
  .manual-suggest-item em button,.manual-quick-qtys button{min-width:44px;min-height:40px;font-size:17px;}
}

/* v34 手机采购下单简洁版：语音文字输入 + 购物车 */
.pi-voice-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.pi-voice-head-actions label{font-size:13px;font-weight:1000;color:#991b1b;white-space:nowrap}
.pi-voice-head-actions .select{min-width:132px;height:42px;border-radius:14px;font-weight:950;background:#fff7ed;border-color:#fed7aa;color:#7f1d1d}
.pi-voice-order-page{display:grid;grid-template-columns:minmax(300px,.86fr) minmax(360px,1.14fr);gap:14px;align-items:start;margin-top:4px}
.pi-voice-input-card,.pi-voice-cart-card{border-radius:22px!important}
.pi-voice-input-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.pi-voice-input-head b{font-size:18px;color:#111827;font-weight:1000}
.pi-voice-input-head span,.cart-count-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:linear-gradient(135deg,#dc2626,#f97316);color:#fff;font-weight:1000;padding:6px 12px;white-space:nowrap;box-shadow:0 8px 18px rgba(220,38,38,.16)}
.cart-count-badge{font-size:14px;min-width:28px;height:28px;padding:0 8px;margin-left:6px;vertical-align:middle}
.pi-voice-textarea{min-height:138px!important;font-size:19px!important;line-height:1.55!important;font-weight:850!important;border-radius:18px!important;padding:14px 16px!important;background:linear-gradient(135deg,#fff,#fff7ed)!important;border:2px solid #fed7aa!important}
.pi-voice-textarea:focus{outline:none!important;border-color:#f97316!important;box-shadow:0 0 0 4px rgba(249,115,22,.14)!important;background:#fff!important}
.pi-voice-btn-row{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:10px;align-items:center}
.pi-voice-btn-row .btn.big{min-height:52px;font-size:18px;border-radius:16px}
.pi-voice-hint{margin-top:10px;color:#64748b;font-size:13px;font-weight:850;line-height:1.6;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:14px;padding:10px 12px}
.pi-voice-hint b{color:#dc2626;font-size:16px}
.pi-voice-cart{min-height:150px;max-height:48vh!important;overflow:auto!important;padding:2px!important}
.pi-voice-cart .empty{border:1px dashed #cbd5e1;border-radius:16px;background:#f8fafc;padding:22px;text-align:center;color:#64748b;font-weight:900}
.pi-voice-cart-item b{max-width:138px!important;font-size:15px!important}
.pi-voice-final-row{position:sticky;bottom:0;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-top:1px solid #e5e7eb;padding-top:12px;z-index:3}
@media(max-width:1100px){.pi-voice-order-page{grid-template-columns:1fr}.pi-voice-cart{max-height:none!important}.pi-voice-final-row{position:static}.pi-voice-head-actions{justify-content:flex-start}}
@media(max-width:760px){
  .pi-voice-head-actions{width:100%;display:grid;grid-template-columns:auto 1fr auto;gap:7px;align-items:center}
  .pi-voice-head-actions .select{min-width:0;width:100%;height:44px;font-size:16px}
  .pi-voice-head-actions .btn{height:44px;padding:8px 10px!important;border-radius:14px!important;font-size:14px!important}
  .pi-voice-order-page{gap:10px;margin-top:0}
  .pi-voice-input-card,.pi-voice-cart-card{padding:12px!important;border-radius:18px!important}
  .pi-voice-input-head{align-items:flex-start;gap:8px;margin-bottom:8px}
  .pi-voice-input-head b{font-size:17px;line-height:1.25}
  .pi-voice-input-head span{font-size:13px;padding:6px 9px}
  .pi-voice-textarea{min-height:118px!important;font-size:18px!important;padding:12px!important}
  .pi-voice-btn-row{grid-template-columns:1fr;gap:8px}
  .pi-voice-btn-row .btn{width:100%;min-height:50px!important;font-size:17px!important}
  .pi-voice-hint{font-size:12px;padding:8px 10px;margin-top:8px}
  .pi-voice-cart{max-height:38vh!important;overflow:auto!important}
  .pi-voice-cart .pi-selected-supplier-group{padding:7px!important;margin-bottom:7px!important}
  .pi-voice-cart .pi-selected-supplier-items{display:grid!important;grid-template-columns:1fr!important;gap:6px!important}
  .pi-voice-cart-item{width:100%!important;display:grid!important;grid-template-columns:minmax(0,1fr) 72px 64px 34px!important;gap:5px!important;padding:7px!important;align-items:center!important}
  .pi-voice-cart-item b{max-width:none!important;font-size:16px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .pi-voice-cart-item .pi-selected-qtys{display:none!important}
  .pi-voice-cart-item .pi-mini-qty{width:72px!important;min-width:72px!important;height:36px!important;font-size:16px!important;text-align:center!important}
  .pi-voice-cart-item .pi-mini-unit{width:64px!important;min-width:64px!important;height:36px!important;font-size:15px!important}
  .pi-voice-cart-item .pi-mini-del{width:34px!important;height:34px!important;font-size:22px!important}
  .pi-voice-final-row{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;position:sticky;bottom:0;background:#fff;padding:10px 0 0!important}
  .pi-voice-final-row .pi-submit-mini .btn{width:100%;min-height:54px;font-size:18px!important}
}

/* v35 mobile purchase compact checkout */
.pi-voice-order-page-simple{grid-template-columns:minmax(280px,.72fr) minmax(380px,1.28fr)!important;gap:10px!important;margin-top:-8px!important;align-items:start!important}
.pi-voice-input-card-simple,.pi-voice-cart-card-simple{padding:12px!important;border-radius:18px!important}
.pi-voice-input-card-simple .pi-card-head,.pi-voice-cart-card-simple .pi-card-head{margin-bottom:6px!important;min-height:0!important}
.pi-voice-input-card-simple .pi-card-head h3,.pi-voice-cart-card-simple .pi-card-head h3{font-size:18px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;width:100%!important}
.pi-voice-input-card-simple .pi-voice-textarea{min-height:92px!important;font-size:18px!important;line-height:1.45!important;padding:10px 12px!important;border-radius:14px!important}
.pi-voice-btn-row-simple{margin-top:7px!important;grid-template-columns:1fr!important}
.pi-voice-btn-row-simple .btn.big{min-height:46px!important;font-size:17px!important;border-radius:14px!important}
.pi-voice-hint-compact{margin-top:6px!important;padding:7px 9px!important;font-size:12px!important;line-height:1.4!important}
.pi-voice-cart-card-simple .pi-voice-cart{min-height:180px!important;max-height:calc(100vh - 260px)!important;overflow:auto!important;padding:0!important}
.pi-voice-cart-card-simple .pi-selected-supplier-group{padding:5px!important;margin:0 0 5px!important;border-radius:12px!important}
.pi-voice-cart-card-simple .pi-selected-supplier-title{font-size:12px!important;margin-bottom:4px!important}
.pi-voice-cart-card-simple .pi-selected-supplier-items{gap:4px!important}
.pi-voice-cart-card-simple .pi-voice-cart-item{min-height:34px!important;padding:4px 5px!important;border-radius:10px!important;gap:4px!important}
.pi-voice-cart-card-simple .pi-voice-cart-item b{font-size:14px!important;line-height:1.2!important}
.pi-voice-cart-card-simple .pi-mini-qty{height:32px!important;font-size:14px!important;padding:4px 5px!important}
.pi-voice-cart-card-simple .pi-mini-unit{height:32px!important;font-size:14px!important;padding:4px 5px!important}
.pi-voice-cart-card-simple .pi-mini-del{height:30px!important;width:30px!important;font-size:20px!important}
.pi-voice-final-row-simple{display:grid!important;grid-template-columns:1fr 1.2fr!important;gap:8px!important;position:sticky!important;bottom:0!important;background:rgba(255,255,255,.96)!important;backdrop-filter:blur(10px)!important;border-top:1px solid #e5e7eb!important;padding:8px 0 0!important;z-index:6!important}
.pi-voice-final-row-simple .btn{min-height:50px!important;font-size:18px!important;border-radius:15px!important}
.pi-voice-head-actions-compact{align-items:center!important;gap:8px!important}
.pi-voice-head-actions-compact label{font-size:14px!important}
.pi-voice-head-actions-compact .select{height:40px!important}

.pi-process-fullscreen-mask{align-items:stretch!important;justify-content:stretch!important;padding:0!important}
.pi-process-fullscreen-mask .modal{width:100vw!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}
.pi-process-fullscreen-mask .modal-header{padding:12px 16px!important;flex:0 0 auto!important}
.pi-process-fullscreen-mask .modal-title{font-size:26px!important;font-weight:1000!important;color:#991b1b!important}
.pi-process-fullscreen-mask .modal-body{flex:1 1 auto!important;min-height:0!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;padding:12px 16px!important}
.pi-process-fullscreen-mask .modal-footer{flex:0 0 auto!important;padding:12px 16px!important}
.pi-process-fullscreen-mask .modal-footer .btn{min-height:48px!important;font-size:18px!important;border-radius:15px!important}
.pi-process-fullscreen-mask .pi-process-submit-head{margin:0 0 10px!important;padding:12px 14px!important;border-radius:16px!important;flex:0 0 auto!important}
.pi-process-fullscreen-mask .pi-process-submit-head b{font-size:30px!important;line-height:1.15!important}
.pi-process-swipe-tip{display:block!important;margin-top:7px!important;border-radius:999px!important;background:#fee2e2!important;color:#991b1b!important;padding:8px 14px!important;font-size:18px!important;font-weight:1000!important}
.pi-process-date-row{display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;margin-top:10px!important;flex-wrap:wrap!important}
.pi-process-date-row label{font-weight:1000!important;color:#7c2d12!important}
.pi-process-date-row button{border:1px solid #fed7aa!important;background:#fff!important;border-radius:999px!important;padding:8px 16px!important;font-weight:1000!important;color:#9a3412!important}
.pi-process-date-row button.active{background:linear-gradient(135deg,#dc2626,#f97316)!important;color:#fff!important;border-color:#dc2626!important}
.pi-process-modal-swipe{flex:1 1 auto!important;min-height:0!important;display:flex!important;grid-template-columns:none!important;gap:12px!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory!important;-webkit-overflow-scrolling:touch!important;padding:0 0 10px!important}
.pi-process-modal-swipe .pi-process-card{min-width:min(720px,82vw)!important;max-width:min(720px,82vw)!important;scroll-snap-align:center!important;display:grid!important;grid-template-columns:190px minmax(0,1fr)!important;align-content:start!important;overflow:auto!important}
.pi-process-modal-swipe .pi-process-info small{display:none!important}
.pi-process-big-actions .btn{min-height:42px!important;font-size:15px!important;border-radius:13px!important;padding:9px 12px!important}
.print-actions-box-simple p{display:none!important}
.print-actions-box-simple .btn{width:100%!important;min-height:48px!important;font-size:17px!important;border-radius:14px!important;margin-bottom:8px!important}

@media(max-width:900px){
  .content:has(.pi-voice-order-page-simple){padding-top:8px!important}
  .pi-voice-head-actions-compact{width:100%!important;grid-template-columns:auto minmax(0,1fr) auto!important;gap:6px!important}
  .pi-voice-head-actions-compact .select{height:38px!important;font-size:15px!important}
  .pi-voice-head-actions-compact .btn{height:38px!important;font-size:13px!important;padding:6px 9px!important}
  .pi-voice-order-page-simple{grid-template-columns:1fr!important;gap:7px!important;margin-top:-8px!important}
  .pi-voice-input-card-simple,.pi-voice-cart-card-simple{padding:8px 9px!important;border-radius:15px!important}
  .pi-voice-input-card-simple .pi-card-head,.pi-voice-cart-card-simple .pi-card-head{margin-bottom:4px!important}
  .pi-voice-input-card-simple .pi-card-head h3,.pi-voice-cart-card-simple .pi-card-head h3{font-size:16px!important}
  .pi-voice-input-card-simple .cart-count-badge,.pi-voice-cart-card-simple .cart-count-badge{font-size:12px!important;padding:4px 8px!important}
  .pi-voice-input-card-simple .pi-voice-textarea{min-height:76px!important;font-size:16px!important;line-height:1.35!important;padding:8px 10px!important}
  .pi-voice-btn-row-simple{margin-top:5px!important}
  .pi-voice-btn-row-simple .btn.big{min-height:42px!important;font-size:16px!important}
  .pi-voice-cart-card-simple .pi-voice-cart{max-height:calc(100dvh - 265px)!important;min-height:220px!important}
  .pi-voice-cart-card-simple .pi-selected-supplier-group{padding:4px!important;margin-bottom:4px!important}
  .pi-voice-cart-card-simple .pi-selected-supplier-title{font-size:12px!important;margin-bottom:3px!important}
  .pi-voice-cart-card-simple .pi-selected-supplier-items{gap:3px!important}
  .pi-voice-cart-card-simple .pi-voice-cart-item{grid-template-columns:minmax(0,1fr) 60px 54px 28px!important;gap:3px!important;padding:3px 4px!important;min-height:30px!important;border-radius:9px!important}
  .pi-voice-cart-card-simple .pi-voice-cart-item b{font-size:14px!important}
  .pi-voice-cart-card-simple .pi-mini-qty{width:60px!important;min-width:60px!important;height:30px!important;font-size:14px!important;text-align:center!important}
  .pi-voice-cart-card-simple .pi-mini-unit{width:54px!important;min-width:54px!important;height:30px!important;font-size:13px!important}
  .pi-voice-cart-card-simple .pi-mini-del{width:28px!important;height:28px!important;font-size:19px!important}
  .pi-voice-final-row-simple{padding-top:6px!important;gap:6px!important}
  .pi-voice-final-row-simple .btn{min-height:46px!important;font-size:17px!important}
  .pi-process-fullscreen-mask .modal-header{padding:9px 10px!important}
  .pi-process-fullscreen-mask .modal-title{font-size:22px!important}
  .pi-process-fullscreen-mask .modal-body{padding:8px 10px!important}
  .pi-process-fullscreen-mask .modal-footer{padding:9px 10px!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
  .pi-process-fullscreen-mask .pi-process-submit-head{padding:10px!important;margin-bottom:8px!important}
  .pi-process-fullscreen-mask .pi-process-submit-head b{font-size:25px!important}
  .pi-process-swipe-tip{font-size:16px!important;padding:7px 10px!important}
  .pi-process-date-row{gap:6px!important;margin-top:8px!important}
  .pi-process-date-row button{padding:7px 13px!important}
  .pi-process-modal-swipe{gap:10px!important;padding-bottom:8px!important}
  .pi-process-modal-swipe .pi-process-card{min-width:88vw!important;max-width:88vw!important;grid-template-columns:1fr!important;padding:10px!important}
  .pi-process-modal-swipe .pi-qr-box{margin:auto!important}
  .pi-process-modal-swipe .pi-process-info p{max-height:86px!important;overflow:auto!important;font-size:16px!important;line-height:1.45!important}
  .pi-process-big-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important}
  .pi-process-big-actions .btn{width:100%!important;min-height:42px!important;font-size:14px!important}
}

/* v36 purchase mobile polish */
.pi-process-fullscreen-mask .modal-header{min-height:0!important;}
.pi-process-fullscreen-mask .modal-title:empty{display:none!important;}
.pi-process-fullscreen-mask .modal-title:empty + [data-close]{margin-left:auto!important;}
.pi-process-swipe-helper{flex:0 0 auto;display:flex;align-items:center;justify-content:center;gap:12px;margin:8px auto 0;padding:9px 16px;border-radius:999px;background:linear-gradient(135deg,#fff7ed,#fee2e2);border:1px solid #fed7aa;color:#991b1b;font-size:17px;font-weight:1000;box-shadow:0 8px 22px rgba(249,115,22,.12)}
.pi-swipe-anim{position:relative;display:inline-flex;align-items:center;gap:5px;min-width:76px;justify-content:center;color:#dc2626;font-weight:1000}
.pi-swipe-anim i{font-style:normal;font-size:24px;line-height:1;animation:piSwipePulse 1.05s infinite ease-in-out}
.pi-swipe-anim i:first-child{animation-delay:.15s}.pi-swipe-anim i:last-child{animation-delay:.45s}.pi-swipe-anim b{font-size:19px;animation:piSwipeMove 1.05s infinite ease-in-out}
@keyframes piSwipePulse{0%,100%{opacity:.38;transform:scale(.82)}50%{opacity:1;transform:scale(1.12)}}
@keyframes piSwipeMove{0%,100%{transform:translateX(-5px)}50%{transform:translateX(5px)}}
.share-image-fallback{display:grid;gap:12px;text-align:center}.share-image-fallback p{margin:0;color:#991b1b;font-weight:900;line-height:1.6}.share-image-fallback img{max-width:100%;border-radius:18px;border:1px solid #fed7aa;box-shadow:0 14px 34px rgba(15,23,42,.14)}

@media(max-width:900px){
  .content:has(.pi-voice-order-page-simple) .page-head h2{padding-left:46px!important;}
  .content:has(.pi-voice-order-page-simple) .page-head{gap:6px!important;align-items:center!important;}
  .pi-voice-final-row-simple{grid-template-columns:1fr 1fr!important;margin-left:58px!important;gap:6px!important;}
  .pi-voice-final-row-simple .btn{min-height:40px!important;font-size:15px!important;border-radius:13px!important;padding:8px 10px!important;}
  .pi-process-swipe-helper{margin-top:6px;padding:8px 10px;font-size:15px;gap:8px;}
  .pi-swipe-anim{min-width:58px}.pi-swipe-anim i{font-size:21px}.pi-swipe-anim b{font-size:17px}
}

/* v37 purchase share image + compact supplier page */
.pi-share-order-card{display:grid!important;grid-template-columns:minmax(0,1fr) 250px!important;gap:12px!important;align-items:start!important;background:linear-gradient(135deg,#fff,#fff7ed)!important;border-color:#fed7aa!important}
.pi-shareable-order-image-shell{position:relative;border-radius:22px;background:#fff;border:1px solid #fed7aa;padding:8px;box-shadow:0 14px 34px rgba(15,23,42,.10);-webkit-touch-callout:default;touch-action:manipulation}
.pi-shareable-order-img{display:block;width:100%;height:auto;max-height:calc(100dvh - 210px);object-fit:contain;border-radius:16px;background:#fff;-webkit-user-drag:auto;-webkit-touch-callout:default;user-select:auto}
.pi-longpress-tip{position:absolute;left:18px;right:18px;bottom:16px;border-radius:999px;background:rgba(153,27,27,.92);color:#fff;text-align:center;font-size:16px;font-weight:1000;padding:9px 12px;box-shadow:0 10px 24px rgba(153,27,27,.22);pointer-events:none}
.pi-process-tools-panel{border-radius:18px;border:1px solid #e2e8f0;background:#fff;padding:12px;display:grid;gap:10px;align-self:start}
.pi-process-tools-panel .pi-process-date-row{margin:0!important;justify-content:flex-start!important;gap:6px!important}
.pi-process-tools-panel .pi-process-date-row label{width:100%;font-size:14px;color:#7c2d12}
.pi-process-tools-panel .pi-process-date-row button{padding:7px 13px!important;font-size:14px!important}
.pi-process-tools-actions{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
.pi-process-tools-actions .btn{width:100%!important;min-height:42px!important;font-size:15px!important}
.pi-process-link-line{font-size:11px!important;max-height:48px!important;overflow:auto!important;margin-top:0!important}
.copy-link-box{display:grid;gap:10px}.copy-link-box p{margin:0;color:#64748b;font-weight:850}.copy-link-box input{font-size:14px!important}

.supplier-public-mode .main-area{height:auto!important;min-height:100dvh!important;overflow:visible!important}
.supplier-public-mode .content{height:auto!important;min-height:100dvh!important;overflow-y:auto!important;padding:10px!important;background:linear-gradient(135deg,#fff7ed,#fef2f2)!important}
.supplier-public-mode .page-head{display:none!important}
.supplier-public-mode .supplier-mobile-page.supplier-mobile-compact{max-width:620px!important;margin:0 auto!important;padding-bottom:80px!important}
.supplier-order-head-compact{padding:12px 14px!important;border-radius:18px!important;margin-bottom:8px!important}
.supplier-order-head-compact h2{font-size:26px!important;line-height:1.15!important;margin:0 0 6px!important;color:#991b1b!important}
.supplier-order-head-compact p{font-size:15px!important;line-height:1.35!important;color:#64748b!important}
.supplier-item-list-compact{display:grid!important;gap:6px!important;margin-bottom:10px!important;max-height:48dvh!important;overflow:auto!important;padding-right:2px!important}
.supplier-item-list-compact>div{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;border-radius:13px!important;padding:9px 12px!important;background:#fff!important;border:1px solid #e2e8f0!important;min-height:44px!important}
.supplier-item-list-compact b{font-size:17px!important;line-height:1.2!important;color:#111827!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.supplier-item-list-compact span{font-size:18px!important;line-height:1!important;font-weight:1000!important;color:#dc2626!important;white-space:nowrap!important}
.supplier-upload-card{padding:13px!important;border-radius:18px!important;margin-bottom:0!important}.supplier-upload-card h3{font-size:20px!important;margin:0 0 6px!important}.supplier-upload-card p{font-size:13px!important;line-height:1.45!important;margin:0 0 10px!important}.supplier-upload-card .file-btn{width:100%!important;min-height:48px!important;font-size:18px!important;border-radius:15px!important}

@media(max-width:900px){
  .content:has(.pi-voice-order-page-simple) .page-head h2{padding-left:72px!important;}
  .pi-voice-final-row-simple{grid-template-columns:1fr 1fr!important;margin-left:76px!important;gap:5px!important;}
  .pi-voice-final-row-simple .btn{min-height:36px!important;font-size:14px!important;border-radius:12px!important;padding:6px 8px!important;}
  .pi-voice-cart-card-simple .pi-voice-cart-item{grid-template-columns:minmax(0,1fr) 62px 56px 28px!important;min-height:34px!important;padding:4px 5px!important}
  .pi-voice-cart-card-simple .pi-voice-cart-item b{font-size:16px!important;font-weight:1000!important;}
  .pi-voice-cart-card-simple .pi-mini-qty{height:32px!important;font-size:15px!important}
  .pi-voice-cart-card-simple .pi-mini-unit{height:32px!important;font-size:14px!important}
  .pi-process-modal-swipe .pi-share-order-card{min-width:88vw!important;max-width:88vw!important;display:grid!important;grid-template-columns:1fr!important;padding:8px!important;gap:8px!important;overflow:auto!important}
  .pi-shareable-order-image-shell{padding:5px!important;border-radius:18px!important}
  .pi-shareable-order-img{max-height:calc(100dvh - 270px)!important;border-radius:14px!important}
  .pi-longpress-tip{font-size:14px!important;bottom:10px!important;left:12px!important;right:12px!important;padding:7px 10px!important}
  .pi-process-tools-panel{padding:9px!important;border-radius:15px!important;gap:8px!important}
  .pi-process-tools-panel .pi-process-date-row{display:grid!important;grid-template-columns:auto 1fr 1fr 1fr!important;align-items:center!important}
  .pi-process-tools-panel .pi-process-date-row label{width:auto!important;font-size:13px!important;white-space:nowrap!important}
  .pi-process-tools-panel .pi-process-date-row button{padding:6px 8px!important;font-size:13px!important}
  .pi-process-tools-actions{grid-template-columns:1fr 1fr!important;gap:6px!important}
  .pi-process-tools-actions .btn{min-height:38px!important;font-size:13px!important;padding:7px 8px!important}
  .pi-process-link-line{display:none!important}
  .supplier-public-mode .content{padding:8px!important}
  .supplier-order-head-compact{padding:10px 12px!important;margin-bottom:7px!important}
  .supplier-order-head-compact h2{font-size:24px!important}
  .supplier-order-head-compact p{font-size:14px!important}
  .supplier-item-list-compact{max-height:46dvh!important;gap:5px!important;margin-bottom:8px!important}
  .supplier-item-list-compact>div{padding:8px 10px!important;min-height:40px!important;border-radius:12px!important}
  .supplier-item-list-compact b{font-size:16px!important}.supplier-item-list-compact span{font-size:17px!important}
  .supplier-upload-card{padding:11px!important}.supplier-upload-card h3{font-size:19px!important}.supplier-upload-card p{font-size:12px!important}
}

/* v38 purchase image layout polish */
.pi-longpress-tip{display:none!important}
.pi-shareable-order-image-shell{overflow:visible!important}
.pi-process-tools-panel{margin-top:14px!important}
.pi-process-tools-panel .pi-process-date-row{margin-bottom:6px!important}
.pi-process-tools-actions .btn{min-height:46px!important;font-size:16px!important;font-weight:1000!important}

@media(max-width:900px){
  .content:has(.pi-voice-order-page-simple) .page-head h2{padding-left:96px!important;}
  .pi-voice-final-row-simple{grid-template-columns:1fr 1fr!important;margin-left:96px!important;gap:5px!important;}
  .pi-voice-final-row-simple .btn{min-height:52px!important;font-size:18px!important;border-radius:15px!important;padding:7px 8px!important;font-weight:1000!important;}
  .pi-voice-cart-card-simple .pi-voice-cart-item{grid-template-columns:minmax(0,1fr) 64px 58px 30px!important;min-height:38px!important;padding:5px 6px!important}
  .pi-voice-cart-card-simple .pi-voice-cart-item b{font-size:17px!important;font-weight:1000!important;}
  .pi-voice-cart-card-simple .pi-mini-qty{height:34px!important;font-size:16px!important}
  .pi-voice-cart-card-simple .pi-mini-unit{height:34px!important;font-size:15px!important}
  .pi-process-modal-swipe .pi-share-order-card{gap:12px!important;padding:9px!important;}
  .pi-shareable-order-image-shell{padding:4px!important;border-radius:18px!important;}
  .pi-shareable-order-img{max-height:calc(100dvh - 310px)!important;border-radius:14px!important;}
  .pi-process-tools-panel{margin-top:18px!important;padding:10px!important;border-radius:16px!important;gap:10px!important;}
  .pi-process-tools-panel .pi-process-date-row{margin-bottom:8px!important;}
  .pi-process-tools-panel .pi-process-date-row button{min-height:42px!important;font-size:15px!important;}
  .pi-process-tools-actions{grid-template-columns:1fr 1fr!important;gap:8px!important;}
  .pi-process-tools-actions .btn{min-height:44px!important;font-size:15px!important;padding:8px!important;}
}

/* v44 豆包语音识别正式版：手机采购下单极简语音布局 */
.pi-voice-order-page-asr{grid-template-columns:minmax(280px,.62fr) minmax(380px,1.38fr)!important;}
.pi-voice-input-card-asr .pi-card-head h3{font-size:17px!important;}
.pi-speech-provider-note{font-size:12px;font-weight:900;color:#7c2d12;background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;padding:7px 10px;margin-bottom:8px;line-height:1.45}
.pi-speech-provider-note b{color:#b91c1c}
.pi-speech-button-doubao{min-height:86px!important;background:linear-gradient(135deg,#fee2e2,#fff7ed)!important;border-color:#fecaca!important;box-shadow:0 10px 28px rgba(220,38,38,.12)!important}
.pi-speech-button-doubao.doubao-voice,.pi-speech-button-doubao.listening{background:linear-gradient(135deg,#dc2626,#f97316)!important;color:#fff!important;border-color:transparent!important;box-shadow:0 16px 34px rgba(220,38,38,.24)!important}
.pi-manual-voice-panel{margin-top:8px;padding:8px;border:1px dashed #fed7aa;background:#fffaf0;border-radius:14px}
.pi-manual-voice-panel .pi-voice-textarea{min-height:72px!important;margin-bottom:8px!important}
.pi-manual-voice-panel .btn{width:100%;min-height:42px!important;border-radius:13px!important;font-size:16px!important}
.pi-voice-cart-card-simple .pi-voice-cart{max-height:calc(100vh - 210px)!important;}
@media(max-width:760px){
  .pi-voice-order-page-asr{grid-template-columns:1fr!important;gap:6px!important;margin-top:-8px!important}
  .pi-voice-input-card-asr{padding:8px 9px!important}
  .pi-speech-provider-note{font-size:11px!important;padding:5px 8px!important;margin-bottom:6px!important}
  .pi-speech-button-doubao{min-height:76px!important;border-radius:18px!important}
  .pi-speech-button-doubao .pi-speech-icon{font-size:28px!important}
  .pi-speech-button-doubao b{font-size:20px!important}
  .pi-speech-button-doubao em{font-size:12px!important;line-height:1.25!important}
  .pi-manual-voice-panel{padding:6px!important;margin-top:6px!important}
  .pi-voice-cart-card-simple .pi-voice-cart{max-height:calc(100dvh - 245px)!important;min-height:240px!important}
}
