* { box-sizing: border-box; }
:root { --ink: #1f2933; --muted: #66737f; --line: #dce2e7; --surface: #fff; --canvas: #f4f6f8; --primary: #216e52; --primary-soft: #e9f3ee; --blue: #3478b8; --amber: #b7791f; --danger: #b42318; }
body { margin: 0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", sans-serif; font-size: 16px; color: var(--ink); background: var(--canvas); }
a { color: var(--primary); text-decoration: none; }
.topbar { position: sticky; top: 0; z-index: 20; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 18px; align-items: center; min-height: 64px; padding: 8px 18px; background: #fff; border-bottom: 1px solid var(--line); box-shadow: 0 2px 10px rgba(31,41,51,.06); }
.brand { display: inline-flex; align-items: center; gap: 10px; min-width: 220px; color: var(--ink); }
.brand-mark { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; color: #fff; background: var(--primary); border-radius: 7px; font-size: 14px; font-weight: 800; }
.brand-copy { display: grid; line-height: 1.2; }
.brand-copy strong { font-size: 17px; letter-spacing: 0; }
.brand-copy small { margin-top: 3px; color: var(--muted); font-size: 12px; }
.main-nav { min-width: 0; font-size: 14px; }
.main-nav-flat { display: flex; flex-wrap: wrap; gap: 3px; }
.main-nav a { padding: 8px 9px; color: #495661; border-radius: 6px; font-weight: 600; white-space: nowrap; }
.main-nav a:hover { color: var(--primary); background: #f0f4f2; }
.main-nav a.active { color: #fff; background: var(--primary); }
.desktop-nav-groups { display: flex; align-items: center; justify-content: center; gap: 12px; min-width: 0; }
.nav-group { position: relative; }
.nav-group-trigger { min-width: 96px; padding: 12px 17px; color: #26333b; border-radius: 6px; text-align: center; font-size: 16px; font-weight: 700; cursor: pointer; white-space: nowrap; }
.nav-group-trigger:hover { color: var(--primary); background: #f0f4f2; }
.nav-group-trigger:focus-visible { outline: 3px solid rgba(52,120,184,.18); outline-offset: 1px; }
.nav-group.has-active > .nav-group-trigger, .nav-group[open] > .nav-group-trigger { color: #fff; background: var(--primary); }
.nav-group-menu { position: absolute; left: 50%; top: calc(100% + 14px); z-index: 60; display: grid; min-width: 180px; padding: 7px; background: #fff; border: 1px solid var(--line); border-radius: 8px; box-shadow: 0 12px 28px rgba(31,41,51,.14); transform: translateX(-50%); }
.nav-group:not([open]) .nav-group-menu { display: none; }
.nav-group-menu a { padding: 10px 12px; border-radius: 5px; font-size: 14px; font-weight: 600; }
.nav-group-menu a.active { padding-left: 13px; color: var(--primary); background: var(--primary-soft); border-left: 3px solid var(--primary); }
.mobile-nav-list { display: none; }
@media (min-width: 861px) {
  .nav-top-grouped .topbar { min-height: 72px; }
}

.wechat-robot-page{display:grid;gap:18px;max-width:1500px;margin:0 auto;padding:4px 0 28px;color:#18352b}
.wechat-robot-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:26px 28px;border:1px solid #cfe1d8;border-radius:18px;background:linear-gradient(135deg,#f4fbf7 0%,#eef7f3 55%,#f8fbfa 100%);box-shadow:0 12px 30px rgba(26,74,52,.07)}
.wechat-robot-hero h1{margin:3px 0 8px;font-size:32px;line-height:1.15}
.wechat-robot-hero p{max-width:760px;margin:0;color:#60756b}
.wechat-robot-eyebrow,.wechat-robot-kicker{color:#2d7c58!important;font-size:10px!important;font-weight:900;letter-spacing:.14em}
.wechat-robot-readiness,.wechat-robot-badge{display:inline-flex;align-items:center;width:max-content;padding:5px 9px;border-radius:999px;background:#edf2ef;color:#53655c;font-size:11px;font-weight:850;white-space:nowrap}
.wechat-robot-readiness.is-ready,.wechat-robot-badge.is-enabled{background:#e2f4e9;color:#17613e}
.wechat-robot-readiness.is-blocked,.wechat-robot-badge.is-disabled{background:#fff1df;color:#965818}
.wechat-robot-notice,.wechat-robot-readonly{padding:16px 18px;border:1px solid #ead9bd;border-radius:12px;background:#fff9ee;color:#714a19}
.wechat-robot-notice h2{margin:0 0 6px;font-size:19px}
.wechat-robot-notice p,.wechat-robot-readonly{line-height:1.65}
.wechat-robot-notice p{margin:4px 0}
.wechat-robot-section{min-width:0;padding:20px 22px;border:1px solid #dde8e2;border-radius:15px;background:#fff;box-shadow:0 8px 24px rgba(22,65,46,.05)}
.wechat-robot-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:15px}
.wechat-robot-section-heading h2{margin:3px 0 0;font-size:21px}
.wechat-robot-section-heading p{margin:0;color:#718078;font-size:12px}
.wechat-robot-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.wechat-robot-status-grid article{display:grid;gap:5px;min-width:0;padding:15px;border:1px solid #e0e9e4;border-radius:11px;background:#f8fbf9}
.wechat-robot-status-grid span,.wechat-robot-status-grid small{color:#718078;font-size:11px}
.wechat-robot-status-grid strong{color:#183d2e;font-size:25px}
.wechat-robot-table-wrap{max-width:100%;overflow:auto;border:1px solid #e0e8e4;border-radius:11px}
.wechat-robot-table{width:100%;min-width:880px;border-collapse:collapse;font-size:12px}
.wechat-robot-table th{padding:10px 12px;color:#607168;background:#f3f7f5;text-align:left;white-space:nowrap}
.wechat-robot-table td{padding:12px;border-top:1px solid #e5ece8;vertical-align:top}
.wechat-robot-table td>strong,.wechat-robot-table td>small{display:block}
.wechat-robot-table td>small{max-width:320px;margin-top:4px;color:#78877f;overflow-wrap:anywhere}
.wechat-robot-table pre{max-width:430px;margin:0;color:#374d43;font:inherit;white-space:pre-wrap;overflow-wrap:anywhere}
.wechat-robot-edit{position:relative;display:inline-block;margin-right:7px}
.wechat-robot-edit summary{display:inline-flex;align-items:center;min-height:35px;padding:0 11px;border:1px solid #cddbd4;border-radius:8px;background:#f7faf8;color:#265c43;font-weight:800;cursor:pointer}
.wechat-robot-edit form{position:absolute;z-index:20;top:42px;right:0;display:grid;gap:9px;width:360px;padding:14px;border:1px solid #cadbd2;border-radius:12px;background:#fff;box-shadow:0 18px 45px rgba(22,55,40,.18)}
.wechat-robot-form label{display:grid;gap:5px;color:#52675d;font-size:11px;font-weight:800}
.wechat-robot-form input,.wechat-robot-form select{width:100%;min-height:38px;padding:7px 9px;border:1px solid #cedbd4;border-radius:8px;background:#fff}
.wechat-robot-form button{width:auto;min-height:36px;padding:7px 13px;border:0;border-radius:8px;background:#1f7650;color:#fff;font-weight:850;cursor:pointer}
.wechat-robot-form button:disabled{cursor:wait;opacity:.55}
.wechat-robot-form button.is-danger{background:#fff0ee;color:#9b372f}
.wechat-robot-inline-action{display:inline-flex;align-items:center;gap:7px;margin:0}
.wechat-robot-inline-action input{width:170px}
.wechat-robot-preview-form{display:flex;align-items:flex-end;gap:10px;margin:0 0 12px}
.wechat-robot-preview-form label{width:min(360px,100%)}
.wechat-robot-preview-output{min-height:168px;margin:0;padding:16px;border:1px solid #dbe7e0;border-radius:11px;background:#14271f;color:#e8f8ef;font:13px/1.7 Consolas,monospace;white-space:pre-wrap}
.wechat-robot-empty{margin:0;padding:16px;border:1px dashed #d7e2dc;border-radius:10px;color:#728179;background:#fafcfb}
.wechat-robot-sender-grid{display:grid;grid-template-columns:repeat(3,minmax(320px,1fr));gap:12px;min-width:0}
.wechat-robot-sender-card{display:grid;align-content:start;gap:9px;min-width:0;min-height:148px;padding:16px;border:1px solid #dce7e1;border-radius:12px;background:#f9fcfa}
.wechat-robot-sender-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.wechat-robot-sender-card h3{min-width:0;margin:0;color:#173f2f;font-size:18px;overflow-wrap:anywhere}
.wechat-robot-sender-card.is-online{border-color:#b9dbc9;background:#f4fbf7}
.wechat-robot-sender-card.is-identity-conflict{border-color:#e9b9b4;background:#fff7f6}
.wechat-robot-sender-card.is-identity-unverified{border-color:#ead5a9;background:#fffaf0}
.wechat-robot-sender-computer{margin:0;color:#62766c;font-size:12px;overflow-wrap:anywhere}
.wechat-robot-sender-statuses{display:flex;flex-wrap:wrap;gap:6px}
.wechat-robot-sender-statuses span{display:inline-flex;align-items:center;min-height:26px;padding:4px 8px;border:1px solid #d9e5df;border-radius:999px;background:#fff;color:#52675d;font-size:11px;font-weight:750}
.wechat-robot-sender-card small{color:#78877f}
.wechat-robot-sender-alert{margin:0;color:#9d342d;font-size:12px;font-weight:800;line-height:1.5}
.wechat-robot-clients-table{min-width:960px}
.wechat-robot-route-editor{position:relative;display:inline-block;margin-left:7px}
.wechat-robot-route-editor>summary{display:inline-flex;align-items:center;min-height:35px;padding:0 11px;border:1px solid #cddbd4;border-radius:8px;background:#f7faf8;color:#265c43;font-weight:800;cursor:pointer}
.wechat-robot-route-editor[open]::before{content:"";position:fixed;inset:0;z-index:109;background:rgba(17,38,29,.48)}
.wechat-robot-route-editor>form{position:fixed;z-index:110;left:50%;top:50%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:min(760px,calc(100vw - 40px));max-height:calc(100vh - 40px);padding:20px;border:1px solid #cadbd2;border-radius:14px;background:#fff;box-shadow:0 24px 70px rgba(17,38,29,.28);overflow:auto;transform:translate(-50%,-50%)}
.wechat-robot-route-editor fieldset,.wechat-robot-route-list,.wechat-robot-route-editor form>p,.wechat-robot-route-editor [data-route-live],.wechat-robot-route-editor form>button{grid-column:1/-1}
.wechat-robot-route-editor fieldset{display:flex;gap:18px;margin:0;padding:12px;border:1px solid #dce7e1;border-radius:10px}
.wechat-robot-route-editor fieldset label{display:flex;grid-template-columns:none;align-items:center;gap:7px}
.wechat-robot-route-editor fieldset input{width:auto;min-height:0}
.wechat-robot-route-list{display:grid;gap:7px;max-height:272px;margin:0;padding:0;overflow:auto;list-style:none}
.wechat-robot-route-list li{display:grid;grid-template-columns:70px minmax(150px,1fr) auto auto auto;align-items:center;gap:7px;min-height:48px;padding:6px 8px;border:1px solid #dce7e1;border-radius:9px;background:#f8fbf9}
.wechat-robot-route-list li strong{min-width:0;overflow-wrap:anywhere}
.wechat-robot-route-rank{color:#2b6f51;font-size:11px;font-weight:900}
.wechat-robot-route-list button,.wechat-robot-route-add button{min-height:40px}
.wechat-robot-route-add{display:flex;align-items:flex-end;gap:8px}
.wechat-robot-route-add label{flex:1 1 auto}
.wechat-robot-route-editor input,.wechat-robot-route-editor select{min-height:40px}
.wechat-robot-route-editor form>p{margin:0;color:#65786e;font-size:12px;line-height:1.6}
.wechat-robot-section-heading [data-schedule-create]{min-height:40px;padding:8px 15px;border:0;border-radius:9px;background:#1f7650;color:#fff;font-weight:850;cursor:pointer}
.wechat-robot-plan-kind{display:inline-flex;margin:0 0 6px;padding:3px 7px;border:1px solid #d3e2da;border-radius:999px;background:#f3f8f5;color:#3f6c56;font-size:10px;font-weight:850}
.wechat-robot-schedule-editor>form textarea{width:100%;min-height:130px;padding:9px;border:1px solid #cedbd4;border-radius:8px;background:#fff;color:#183a2b;font:inherit;resize:vertical}
.wechat-robot-schedule-editor>form h3,.wechat-robot-schedule-editor>form>div,.wechat-robot-schedule-editor>form>button{grid-column:1/-1}
.wechat-robot-schedule-editor [data-time-list]{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}
.wechat-robot-schedule-editor [data-time-chip]{display:inline-flex;align-items:center;gap:5px;min-height:32px;padding:4px 7px 4px 10px;border:1px solid #cee0d7;border-radius:999px;background:#f2f8f5;color:#285d45;font-weight:800}
.wechat-robot-schedule-editor [data-time-chip] button{min-height:24px;padding:1px 7px;border-radius:999px;background:#dcebe3;color:#265c43}
.wechat-robot-schedule-editor [data-template-preview]{max-height:190px;margin:7px 0 0;padding:11px;border:1px solid #dce7e1;border-radius:9px;background:#f7faf8;white-space:pre-wrap;overflow:auto}
.wechat-robot-schedule-editor [data-schedule-live]{min-height:22px;color:#9a4e1f;font-size:12px;font-weight:800}
.wechat-robot-manual-layout{width:min(900px,100%);justify-self:start}
.wechat-robot-manual-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px}
.wechat-robot-manual-fields fieldset{display:flex;align-items:center;gap:16px;min-height:64px;margin:0;padding:11px 13px;border:1px solid #dce7e1;border-radius:10px}
.wechat-robot-manual-fields fieldset legend{padding:0 5px;color:#52675d;font-size:11px;font-weight:850}
.wechat-robot-manual-fields fieldset label{display:flex;grid-template-columns:none;align-items:center;gap:6px}
.wechat-robot-manual-fields fieldset input{width:auto;min-height:0}
.wechat-robot-manual-message{grid-column:1/-1}
.wechat-robot-manual-layout textarea,.wechat-robot-template-layout textarea,.wechat-robot-schedule-modal textarea{width:100%;padding:10px 11px;border:1px solid #cedbd4;border-radius:9px;background:#fff;color:#183a2b;font:inherit;line-height:1.6;resize:vertical}
.wechat-robot-manual-layout textarea{min-height:120px}
.wechat-robot-template-layout{width:min(960px,100%);justify-self:start}
.wechat-robot-template-layout>.wechat-robot-form{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);align-items:start;gap:14px}
.wechat-robot-template-layout>.wechat-robot-form>label{grid-row:1/span 2}
.wechat-robot-template-layout>.wechat-robot-form pre{min-height:190px;max-height:290px;margin:6px 0 0;padding:13px;border:1px solid #dce7e1;border-radius:9px;background:#f7faf8;color:#304a3d;white-space:pre-wrap;overflow:auto}
.wechat-robot-form-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px}
.wechat-robot-schedule-modal{display:grid;place-items:center;overflow:hidden}
.wechat-robot-schedule-modal[hidden]{display:none}
.wechat-robot-schedule-modal>.wechat-robot-form{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(760px,calc(100vw - 40px));max-height:calc(100vh - 40px);padding:0;border:1px solid #cadbd2;border-radius:14px;background:#fff;box-shadow:0 24px 70px rgba(17,38,29,.28);overflow:hidden}
.wechat-robot-schedule-modal header,.wechat-robot-schedule-modal footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;background:#fff}
.wechat-robot-schedule-modal header{border-bottom:1px solid #e2eae6}
.wechat-robot-schedule-modal header h3{margin:0;font-size:20px}
.wechat-robot-schedule-modal header [data-schedule-cancel]{min-width:40px;padding:5px 10px;background:#eff5f1;color:#315d49;font-size:20px}
.wechat-robot-schedule-modal-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:12px;padding:16px 18px;overflow-y:auto}
.wechat-robot-schedule-modal-body>fieldset,.wechat-robot-schedule-modal-body>[data-recurring-times],.wechat-robot-schedule-modal-body>[data-template-body-wrap],.wechat-robot-schedule-modal-body>[data-schedule-live]{grid-column:1/-1}
.wechat-robot-schedule-modal-body fieldset{margin:0;padding:11px 12px;border:1px solid #dce7e1;border-radius:10px}
.wechat-robot-schedule-modal-body fieldset legend{padding:0 5px;color:#52675d;font-size:11px;font-weight:850}
.wechat-robot-recurrence-fieldset{display:flex;align-items:center;flex-wrap:wrap;gap:9px 18px}
.wechat-robot-recurrence-fieldset label{display:flex;grid-template-columns:none;align-items:center;gap:6px}
.wechat-robot-recurrence-fieldset input{width:auto;min-height:0}
.wechat-robot-schedule-modal-body [data-weekdays],.wechat-robot-schedule-modal-body [data-month-days]{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}
.wechat-robot-schedule-modal-body [data-weekdays][hidden],.wechat-robot-schedule-modal-body [data-month-days][hidden]{display:none}
.wechat-robot-schedule-modal-body [data-weekdays] label,.wechat-robot-schedule-modal-body [data-month-days] label{display:flex;grid-template-columns:none;align-items:center;justify-content:center;gap:4px;min-height:36px;padding:5px;border:1px solid #e1e9e5;border-radius:7px;background:#fafcfb}
.wechat-robot-schedule-modal-body [data-weekdays] input,.wechat-robot-schedule-modal-body [data-month-days] input{width:auto;min-height:0}
.wechat-robot-schedule-modal-body [data-recurring-times]{display:grid;grid-template-columns:minmax(150px,220px) auto;align-items:end;gap:8px}
.wechat-robot-schedule-modal-body [data-recurring-times][hidden]{display:none}
.wechat-robot-schedule-modal-body [data-time-add]{min-height:40px}
.wechat-robot-schedule-modal-body [data-time-list]{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:7px}
.wechat-robot-schedule-modal-body [data-time-list]>span{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:4px 6px 4px 10px;border:1px solid #cee0d7;border-radius:999px;background:#f2f8f5;font-weight:800}
.wechat-robot-schedule-modal-body [data-time-list] button{min-height:26px;padding:2px 8px;border-radius:999px;background:#dcebe3;color:#265c43}
.wechat-robot-schedule-modal footer{position:sticky;bottom:0;border-top:1px solid #e2eae6}
.wechat-robot-schedule-modal footer button{min-width:96px}
.wechat-robot-page :is(button,summary,input,select):focus-visible{outline:3px solid rgba(52,120,184,.25);outline-offset:2px}

@media (max-width:1000px){
  .wechat-robot-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wechat-robot-sender-grid{grid-template-columns:repeat(2,minmax(280px,1fr))}
}

@media (max-width:700px){
  .wechat-robot-page{gap:12px;overflow-x:hidden}
  .wechat-robot-hero{align-items:flex-start;flex-direction:column;padding:18px}
  .wechat-robot-hero h1{font-size:27px}
  .wechat-robot-section{padding:16px}
  .wechat-robot-section-heading{align-items:flex-start;flex-direction:column;gap:5px}
  .wechat-robot-status-grid{grid-template-columns:1fr}
  .wechat-robot-sender-grid{grid-template-columns:1fr}
  .wechat-robot-table{min-width:760px}
  .wechat-robot-edit form{position:fixed;inset:auto 10px 10px;width:auto;max-height:calc(100vh - 20px);overflow:auto}
  .wechat-robot-route-editor>form{grid-template-columns:1fr;width:calc(100vw - 20px);max-height:calc(100vh - 20px);padding:14px}
  .wechat-robot-route-list li{grid-template-columns:58px minmax(120px,1fr);grid-auto-rows:auto}
  .wechat-robot-route-list li button{width:100%}
  .wechat-robot-route-add{align-items:stretch;flex-direction:column}
  .wechat-robot-preview-form{align-items:stretch;flex-direction:column}
  .wechat-robot-manual-fields,.wechat-robot-template-layout>.wechat-robot-form,.wechat-robot-schedule-modal-body{grid-template-columns:1fr}
  .wechat-robot-template-layout>.wechat-robot-form>label{grid-row:auto}
  .wechat-robot-schedule-modal{padding:10px}
  .wechat-robot-schedule-modal>.wechat-robot-form{width:calc(100vw - 20px);max-height:calc(100vh - 20px)}
  .wechat-robot-schedule-modal-body [data-weekdays],.wechat-robot-schedule-modal-body [data-month-days]{grid-template-columns:repeat(4,minmax(0,1fr))}
  .wechat-robot-schedule-modal-body [data-recurring-times]{grid-template-columns:minmax(0,1fr) auto}
  .wechat-robot-form-actions{justify-content:stretch}
  .wechat-robot-form-actions button{flex:1 1 0}
}

/* WeChat robot desktop operations workbench */
.wechat-robot-page{width:100%;max-width:1500px;gap:16px}
.wechat-robot-section{width:100%}
.wechat-robot-section-heading [data-schedule-create]{width:104px;min-width:104px;height:40px;padding:0 14px}
.wechat-robot-section-heading [data-template-create]{width:96px;min-width:96px;height:40px;padding:0 12px;border:0;border-radius:9px;background:#1f7650;color:#fff;font-weight:850;cursor:pointer}
.wechat-robot-template-title-actions{display:flex;align-items:center;gap:10px;min-width:0;margin-top:3px}
.wechat-robot-template-title-actions h2{margin:0}
.wechat-robot-template-title-actions [data-template-create]{flex:0 0 96px;white-space:nowrap}
.wechat-robot-sender-table{min-width:1080px}
.wechat-robot-sender-table td{vertical-align:middle}
.wechat-robot-client-history>summary{min-height:40px;color:#214d3a;font-size:17px;font-weight:850;cursor:pointer}
.wechat-robot-client-history>p{margin:8px 0 14px;color:#718078;font-size:12px}
.wechat-robot-manual-layout,.wechat-robot-template-layout{width:100%;justify-self:stretch}
.wechat-robot-manual-fields{display:grid;grid-template-columns:minmax(260px,1.4fr) minmax(220px,1fr) minmax(260px,1.1fr) 240px;align-items:end;gap:12px}
.wechat-robot-manual-fields>label,.wechat-robot-manual-fields>fieldset{min-width:0}
.wechat-robot-manual-fields input,.wechat-robot-manual-fields select,.wechat-robot-dialog input,.wechat-robot-dialog select{height:40px;min-height:40px}
.wechat-robot-manual-fields fieldset,.wechat-robot-segmented{display:flex;align-items:center;gap:14px;min-height:40px;height:40px;margin:0;padding:0 12px;border:1px solid #cedbd4;border-radius:8px;background:#fff}
.wechat-robot-manual-fields fieldset legend,.wechat-robot-segmented legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.wechat-robot-manual-fields fieldset label,.wechat-robot-segmented label{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.wechat-robot-manual-fields fieldset input,.wechat-robot-segmented input{width:auto;height:auto;min-height:0}
.wechat-robot-manual-fields>[data-manual-scheduled][hidden]{display:none!important}
.wechat-robot-manual-message{display:grid;margin-top:12px}
.wechat-robot-manual-layout textarea{min-height:112px}
.wechat-robot-manual-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:12px}
.wechat-robot-manual-footer p{margin:0;color:#6c7c74;font-size:12px;line-height:1.55}
.wechat-robot-manual-footer button{flex:0 0 132px;width:132px;height:40px}
.wechat-robot-table-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}
.wechat-robot-table-actions>button,.wechat-robot-table-actions>.wechat-robot-inline-action{flex:0 0 auto;width:auto;margin:0}
.wechat-robot-table-actions button{width:auto;min-width:64px;height:36px;min-height:36px;padding:6px 12px;white-space:nowrap}
.wechat-robot-table-actions [data-route-open]{width:120px;min-width:120px}
.wechat-robot-table-actions [data-plan-test-form] button{width:88px;min-width:88px}
.wechat-robot-template-table .wechat-robot-operation-column{width:240px}
.wechat-robot-schedule-table .wechat-robot-operation-column{width:440px}
.wechat-robot-table td:last-child{white-space:normal}
.wechat-robot-table td:last-child>button,.wechat-robot-table td:last-child>.wechat-robot-inline-action{margin:0 6px 6px 0}
.wechat-robot-muted{display:inline-flex;align-items:center;min-height:36px;color:#839087;font-size:11px}
.wechat-robot-dialog-backdrop{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:20px;background:rgba(17,38,29,.52);backdrop-filter:blur(3px)}
.wechat-robot-dialog-backdrop[hidden]{display:none!important}
.wechat-robot-dialog{width:min(760px,calc(100vw - 40px));max-height:calc(100vh - 40px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:0;border:1px solid #cadbd2;border-radius:14px;background:#fff;box-shadow:0 24px 70px rgba(17,38,29,.28);overflow:hidden}
.wechat-robot-dialog>header,.wechat-robot-dialog>footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;background:#fff}
.wechat-robot-dialog>header{border-bottom:1px solid #e2eae6}
.wechat-robot-dialog>header h3{margin:0;font-size:20px}
.wechat-robot-dialog>header button[aria-label="关闭"]{width:40px;min-width:40px;height:40px;padding:0;background:#eff5f1;color:#315d49;font-size:20px}
.wechat-robot-dialog-body{min-width:0;padding:16px 18px;overflow-x:hidden;overflow-y:auto}
.wechat-robot-dialog>footer{border-top:1px solid #e2eae6;justify-content:flex-end}
.wechat-robot-dialog>footer button{min-width:80px;height:40px}
.wechat-robot-dialog>footer button[type="submit"]{min-width:96px}
.wechat-robot-template-dialog-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.wechat-robot-template-dialog-body>.wechat-robot-template-editor{grid-column:1}
.wechat-robot-template-dialog-body>.wechat-robot-template-editor textarea{min-height:240px}
.wechat-robot-template-dialog-body>aside{grid-column:2;grid-row:2/span 2;min-width:0;padding:12px;border:1px solid #dce7e1;border-radius:10px;background:#f7faf8}
.wechat-robot-template-dialog-body>aside p{color:#61756b;font-size:12px;line-height:1.65;overflow-wrap:anywhere}
.wechat-robot-template-dialog-body pre,.wechat-robot-template-inline-preview pre{max-height:220px;margin:8px 0 0;padding:11px;border:1px solid #dce7e1;border-radius:9px;background:#fff;color:#304a3d;white-space:pre-wrap;overflow:auto}
.wechat-robot-template-dialog-body>[data-template-live]{grid-column:1/-1}
.wechat-robot-schedule-modal>.wechat-robot-dialog{width:min(760px,calc(100vw - 40px))}
.wechat-robot-schedule-modal-body>.wechat-robot-template-inline-preview{grid-column:1/-1}
.wechat-robot-time-editor{grid-template-columns:minmax(180px,240px) 80px!important}
.wechat-robot-time-editor [data-time-add]{width:80px;height:40px}
.wechat-robot-route-footer{justify-content:space-between!important}
.wechat-robot-route-footer>.wechat-robot-route-add{display:flex;flex:1 1 auto;align-items:center;gap:8px;min-width:0}
.wechat-robot-route-footer>.wechat-robot-route-add select{flex:1 1 auto;min-width:180px;height:40px}
.wechat-robot-route-footer>.wechat-robot-route-add button{flex:0 0 80px;width:80px;height:40px}
.wechat-robot-dialog-actions{display:flex;align-items:center;gap:8px}
.wechat-robot-dialog [data-route-list]{display:grid;gap:7px;max-height:288px;margin:12px 0 0;padding:0;overflow:auto;list-style:none}
.wechat-robot-dialog [data-route-item]{display:grid;grid-template-columns:64px minmax(0,1fr) 160px auto auto auto;align-items:center;gap:7px;min-height:48px;padding:4px 8px;border:1px solid #dce7e1;border-radius:9px;background:#f8fbf9}
.wechat-robot-dialog [data-route-item]>small{color:#718078;font-size:11px}
.wechat-robot-dialog [data-route-item]>button{min-height:36px;padding:6px 9px}
.wechat-robot-warning{padding:10px 12px;border:1px solid #ead5a9;border-radius:9px;background:#fffaf0;color:#8b5a16}
.wechat-robot-manual-compose{display:grid;grid-template-columns:minmax(0,1fr) 260px;align-items:stretch;gap:12px}
.wechat-robot-manual-compose>.wechat-robot-manual-fields{grid-column:1/-1}
.wechat-robot-manual-compose>.wechat-robot-manual-message{grid-column:1;margin-top:0}
.wechat-robot-manual-compose>.wechat-robot-manual-message textarea{min-height:96px}
.wechat-robot-manual-action-rail{grid-column:2;display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:10px;min-width:0;padding:12px;border:1px solid #dce7e1;border-radius:10px;background:#f7faf8}
.wechat-robot-manual-action-rail p{margin:0;color:#65786e;font-size:12px;line-height:1.55}
.wechat-robot-manual-action-rail button{flex:0 0 40px;width:132px;height:40px}
.wechat-robot-manual-action-rail [data-manual-send-result]{width:100%;min-height:18px;color:#8b5a16;font-size:12px;overflow-wrap:anywhere}
.wechat-robot-schedule-modal-body>[data-run-once]{grid-column:1/-1}
.wechat-robot-schedule-modal-body [data-run-once][hidden]{display:none!important}
.wechat-robot-time-row{display:grid;grid-template-columns:minmax(220px,280px) minmax(220px,240px);align-items:end;gap:12px;margin-top:6px}
.wechat-robot-time-row>input,.wechat-robot-time-row select{height:40px;min-height:40px}
.wechat-robot-time-row .jst-time-picker{margin-top:0}
.wechat-robot-schedule-modal-body [data-recurring-times]{grid-template-columns:minmax(0,280px) 96px!important;align-items:end;justify-content:start;gap:10px}
.wechat-robot-schedule-modal-body [data-recurring-times]>label{min-width:0}
.wechat-robot-schedule-modal-body [data-recurring-times] .jst-time-picker{height:40px;margin-top:0;white-space:nowrap}
.wechat-robot-schedule-modal-body [data-recurring-times] select{height:40px;min-height:40px}
.wechat-robot-time-editor [data-time-add]{width:96px;height:40px;min-height:40px;white-space:nowrap}
.wechat-robot-schedule-modal-body [data-time-list],.wechat-robot-schedule-modal-body [data-time-help]{grid-column:1/-1}
.wechat-robot-schedule-modal-body [data-time-help]{margin:0;color:#65786e;font-size:12px;line-height:1.5}
.wechat-robot-schedule-modal-body [data-schedule-group-message]{display:block;min-height:20px;line-height:20px;color:#65786e;font-size:11px;font-weight:500;white-space:nowrap}
.wechat-robot-removed-system-schedules{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 12px;padding:10px 12px;border:1px solid #dbe7e1;border-radius:10px;background:#f7faf8}
.wechat-robot-removed-system-schedules .wechat-robot-muted{margin-right:auto}
.wechat-robot-removed-system-schedules button{width:auto;min-height:36px}
.wechat-robot-jobs-title-row{display:flex;align-items:center;gap:10px;min-width:0}
.wechat-robot-jobs-title-row h2{margin:0}
.wechat-robot-jobs-title-row [data-manual-send-open]{flex:0 0 128px;width:128px;min-width:128px;height:40px;padding:0 14px;border:0;border-radius:9px;background:#1f7650;color:#fff;font-weight:850;white-space:nowrap;cursor:pointer}
.wechat-robot-jobs-title-row [data-manual-send-open]:disabled{background:#dce6e1;color:#74847c;cursor:not-allowed}
.wechat-robot-manual-send-modal>.wechat-robot-manual-send-form{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(760px,calc(100vw - 40px));max-height:calc(100vh - 40px);overflow:hidden}
.wechat-robot-manual-send-form>header,.wechat-robot-manual-send-form>footer{min-height:68px}
.wechat-robot-manual-send-form>.wechat-robot-dialog-body{min-width:0;overflow-x:hidden;overflow-y:auto}
.wechat-robot-manual-send-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px}
.wechat-robot-manual-send-grid>label{display:grid;gap:6px;min-width:0}
.wechat-robot-manual-send-grid input,.wechat-robot-manual-send-grid select,.wechat-robot-manual-send-grid fieldset{height:40px;min-height:40px}
.wechat-robot-manual-send-grid fieldset{align-self:end}
.wechat-robot-manual-send-grid:has(>[data-manual-scheduled][hidden])>fieldset{grid-column:1/-1}
.wechat-robot-manual-send-grid>[data-manual-scheduled][hidden]{display:none!important}
.wechat-robot-manual-send-grid>[data-manual-scheduled]:not([hidden]){grid-column:1/-1}
.wechat-robot-manual-scheduled-picker{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,240px);align-items:end;gap:12px;min-width:0}
.wechat-robot-manual-scheduled-picker>input,.wechat-robot-manual-scheduled-picker select{height:40px;min-height:40px}
.wechat-robot-manual-scheduled-picker .jst-time-picker{height:40px;margin-top:0;white-space:nowrap}
.wechat-robot-manual-send-message{grid-column:1/-1}
.wechat-robot-manual-send-message textarea{width:100%;min-height:112px;padding:10px 11px;border:1px solid #cedbd4;border-radius:9px;background:#fff;color:#183a2b;font:inherit;line-height:1.6;resize:vertical}
.wechat-robot-manual-send-modal [data-manual-confirm-panel] dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 14px}
.wechat-robot-manual-send-modal [data-manual-confirm-panel] dl>div{min-width:0;padding:10px 12px;border:1px solid #dce7e1;border-radius:9px;background:#f8fbf9}
.wechat-robot-manual-send-modal [data-manual-confirm-panel] dt{color:#718078;font-size:11px;font-weight:850}
.wechat-robot-manual-send-modal [data-manual-confirm-panel] dd{margin:5px 0 0;color:#173e2d;font-weight:800;overflow-wrap:anywhere}
.wechat-robot-manual-send-modal [data-manual-confirm-message]{display:block;max-height:210px;margin:0 0 12px;padding:11px;border:1px solid #dce7e1;border-radius:9px;background:#fff;color:#304a3d;white-space:pre-wrap;overflow:auto}
.wechat-robot-manual-send-footer{justify-content:flex-start!important;gap:12px}
.wechat-robot-manual-send-footer>[aria-live]{flex:1 1 auto;min-width:0;color:#8b5a16;font-size:12px;overflow-wrap:anywhere}
.wechat-robot-manual-send-footer-actions{display:flex;flex:0 0 auto;align-items:center;gap:10px;margin-left:auto}
.wechat-robot-manual-send-footer-actions button{width:auto;min-width:0;height:40px}
.wechat-robot-manual-send-footer-actions [data-manual-send-cancel]{flex:0 0 112px;width:112px;min-width:112px;height:40px;min-height:40px;padding:0 12px;white-space:nowrap;line-height:1.2}
.wechat-robot-manual-send-footer-actions [data-manual-send-next]{width:96px}
.wechat-robot-manual-send-footer-actions [data-manual-send-back]{width:96px}
.wechat-robot-manual-send-footer-actions [data-manual-send-submit]{width:112px}
.wechat-robot-manual-send-footer-actions [data-manual-view-task]{width:144px}
.wechat-robot-manual-send-modal[data-step="confirm"] [data-manual-confirm-panel],.wechat-robot-manual-send-modal[data-step="uncertain"] [data-manual-confirm-panel]{display:block}
.wechat-robot-manual-send-modal[data-step="uncertain"] .wechat-robot-warning{margin-bottom:0}
.wechat-robot-manual-send-modal [hidden]{display:none!important}

@media (min-width:1181px){
  .wechat-robot-manual-fields:has(>[data-manual-scheduled][hidden]){grid-template-columns:minmax(260px,1.4fr) minmax(220px,1fr) minmax(260px,1.1fr)}
  .wechat-robot-manual-send-grid:has(>[data-manual-scheduled][hidden]){grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:1180px){
  .wechat-robot-manual-fields{grid-template-columns:minmax(240px,1.2fr) minmax(200px,1fr) minmax(240px,1fr)}
  .wechat-robot-manual-fields>[data-manual-scheduled]{grid-column:1}
}

@media (max-width:700px){
  .wechat-robot-manual-compose{grid-template-columns:1fr}
  .wechat-robot-manual-compose>.wechat-robot-manual-fields,.wechat-robot-manual-compose>.wechat-robot-manual-message,.wechat-robot-manual-action-rail{grid-column:1}
  .wechat-robot-manual-action-rail{align-items:stretch}
  .wechat-robot-manual-action-rail button{align-self:flex-end}
  .wechat-robot-time-row{grid-template-columns:1fr}
  .wechat-robot-schedule-modal-body [data-recurring-times]{grid-template-columns:1fr!important}
  .wechat-robot-schedule-modal-body [data-time-add]{justify-self:start}
  .wechat-robot-schedule-modal-body [data-schedule-group-message]{white-space:normal}
  .wechat-robot-manual-scheduled-picker{grid-template-columns:1fr}
  .wechat-robot-removed-system-schedules{align-items:stretch;flex-direction:column}
  .wechat-robot-removed-system-schedules .wechat-robot-muted{margin-right:0}
  .wechat-robot-manual-fields,.wechat-robot-template-dialog-body{grid-template-columns:1fr}
  .wechat-robot-manual-fields>[data-manual-scheduled],.wechat-robot-template-dialog-body>.wechat-robot-template-editor,.wechat-robot-template-dialog-body>aside{grid-column:1;grid-row:auto}
  .wechat-robot-manual-footer,.wechat-robot-route-footer{align-items:stretch;flex-direction:column}
  .wechat-robot-manual-footer button{align-self:flex-end}
  .wechat-robot-dialog-backdrop{padding:10px}
  .wechat-robot-dialog,.wechat-robot-schedule-modal>.wechat-robot-dialog{width:calc(100vw - 20px);max-height:calc(100vh - 20px)}
  .wechat-robot-dialog [data-route-item]{grid-template-columns:54px minmax(120px,1fr);grid-auto-rows:auto}
  .wechat-robot-dialog [data-route-item]>small{grid-column:1/-1}
  .wechat-robot-dialog [data-route-item]>button{width:100%}
  .wechat-robot-route-footer>.wechat-robot-route-add{width:100%}
  .wechat-robot-manual-send-modal>.wechat-robot-manual-send-form{width:calc(100vw - 20px);max-height:calc(100vh - 20px)}
  .wechat-robot-manual-send-grid{grid-template-columns:1fr}
  .wechat-robot-manual-send-grid:has(>[data-manual-scheduled][hidden])>fieldset,.wechat-robot-manual-send-grid>fieldset,.wechat-robot-manual-send-message{grid-column:1}
  .wechat-robot-manual-send-modal [data-manual-confirm-panel] dl{grid-template-columns:1fr}
  .wechat-robot-manual-send-footer{flex-wrap:wrap}
  .wechat-robot-manual-send-footer>[aria-live]{flex-basis:100%}
  .wechat-robot-manual-send-footer-actions{margin-left:auto}
}

.price-controls-page{display:grid;gap:14px;min-width:0;width:100%;max-width:100%}
.price-controls-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;min-width:0;max-width:100%;flex-wrap:wrap}
.price-controls-head>div{flex:1 1 260px;min-width:0}
.price-controls-head .eyebrow{margin:0 0 4px;color:#2f7d5f;font-size:10px;font-weight:900;letter-spacing:.14em}
.price-controls-head h1{margin:0}
.price-controls-head .page-description{margin:6px 0 0;color:#65766e}
.price-controls-head>.btn-link{flex:0 0 auto;width:auto;max-width:100%}
.price-controls-summary{display:grid;grid-template-columns:180px 180px minmax(300px,1fr);min-width:0;width:100%;max-width:100%;border:1px solid #dce7e1;border-radius:10px;background:#fff;overflow:hidden}
.price-controls-summary article{display:grid;gap:4px;min-height:88px;padding:15px 17px;border-right:1px solid #e5ece8}
.price-controls-summary article:last-child{border-right:0}
.price-controls-summary span{color:#64766d;font-size:12px;font-weight:700}
.price-controls-summary strong{color:#1e4f3c;font-size:24px;line-height:1.1}
.price-controls-summary small{color:#839087;font-size:11px}
.price-controls-summary .price-controls-permission-note strong{font-size:17px}
.price-controls-list{min-width:0;width:100%;max-width:100%;padding:16px;border:1px solid #dce7e1;border-radius:10px;background:#fff;box-shadow:0 5px 18px rgba(34,65,50,.05)}
.price-controls-results-head{display:flex;align-items:center;justify-content:space-between;gap:16px}
.price-controls-results-head h2{margin:0;font-size:18px}
.price-control-modal{position:fixed;inset:0;z-index:120;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(17,38,29,.55);backdrop-filter:blur(3px)}
.price-control-modal[hidden]{display:none!important}
.price-control-modal [hidden]{display:none!important}
.price-control-dialog{width:min(920px,calc(100vw - 48px));max-width:100%;max-height:calc(100vh - 48px);overflow-x:hidden;overflow-y:auto;border:1px solid #d6e2dc;border-radius:14px;background:#fff;box-shadow:0 24px 70px rgba(17,38,29,.26)}
.price-control-dialog-head{position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:17px 20px;border-bottom:1px solid #e1e9e5;background:rgba(255,255,255,.97);backdrop-filter:blur(8px)}
.price-control-dialog-head .eyebrow{margin:0 0 4px;color:#2f7d5f;font-size:10px;font-weight:900;letter-spacing:.14em}
.price-control-dialog-head h2{margin:0;color:#204534;font-size:21px}
.price-control-dialog-head p:last-child{margin:5px 0 0;color:#687a71;font-size:12px}
.price-control-modal-close{flex:0 0 38px;width:38px;min-height:38px;padding:0;color:#51645a;border-color:#d7e1dc;background:#f4f7f5;font-size:22px;line-height:1}
.price-control-modal-body{min-width:0;padding:18px 20px 20px}
.price-control-candidate-search,.price-controls-filter{display:flex;align-items:end;gap:9px;min-width:0;max-width:100%;flex-wrap:wrap}
.price-control-candidate-search label,.price-controls-filter label{display:grid;flex:1 1 240px;min-width:min(100%,240px);gap:5px;max-width:560px;color:#52665d;font-size:12px;font-weight:700}
.price-control-candidate-search input,.price-controls-filter input,.price-controls-filter select{min-height:40px}
.price-control-candidate-search button,.price-controls-filter button{width:auto;min-height:40px}
.price-control-candidate-state{display:flex;align-items:center;gap:10px;min-height:64px;margin-top:14px;padding:13px 14px;color:#62756b;border:1px dashed #cfddd5;border-radius:9px;background:#f7faf8;font-size:13px}
.price-control-candidate-state.is-error{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;color:#9a392f;border-color:#ebc5bf;background:#fff5f3}
.price-control-candidate-state.is-error span{grid-column:1;color:#805d58;font-size:11px}
.price-control-candidate-state.is-error button{grid-column:2;grid-row:1/3;width:auto;min-width:72px}
.price-control-candidates{display:grid;grid-template-columns:minmax(0,1fr);min-width:0;max-width:100%;gap:7px;margin-top:14px}
.price-control-candidates article{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0;padding:10px 12px;border:1px solid #e0e8e3;border-radius:8px;background:#fff}
.price-control-candidates article>div{display:grid;flex:1 1 auto;min-width:0;gap:3px}
.price-control-candidates article>[data-price-control-select-candidate]{flex:0 0 auto;width:auto;white-space:nowrap}
.price-control-candidates article span{color:#718078;font-size:12px}
.price-control-editor{display:grid;gap:14px}
.price-control-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.price-control-editor-row{display:grid;grid-template-columns:1fr;gap:9px;min-width:0;margin:0;padding:12px;border:1px solid #dce7e1;border-radius:8px;background:#fff}
.price-control-editor-row legend{padding:0 5px;color:#214b3a;font-weight:800}
.price-control-editor-row label{display:grid;gap:5px;color:#576a60;font-size:12px;font-weight:700}
.price-control-editor-row select,.price-control-editor-row input{width:100%;min-height:40px}
.price-control-editor-row input:disabled{color:#8b9891;background:#eef2f0}
.price-control-editor-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding-top:12px;border-top:1px solid #e1e9e5}
.price-control-editor-actions span{margin-right:auto;color:#6d7c74;font-size:12px}
.price-control-editor-actions button{width:auto}
.price-controls-filter{min-width:0;max-width:100%;margin-bottom:15px;padding:11px;border:1px solid #e3eae6;border-radius:8px;background:#f7faf8;flex-wrap:wrap}
.price-controls-results-head{margin-bottom:9px}
.price-controls-results-head span{color:#64766d;font-size:12px}
.price-controls-table-wrap{min-width:0;width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;border:1px solid #dfe7e2;border-radius:8px}
.price-control-table{min-width:1120px;width:100%;font-size:13px}
.price-control-table th{padding:10px;background:#edf3ef;white-space:nowrap}
.price-control-table td{padding:11px 10px;vertical-align:middle}
.price-control-product{min-width:250px}
.price-control-product strong,.price-control-product span,.price-control-product small{display:block}
.price-control-product strong{color:#263f34}
.price-control-product span{margin-top:3px;color:#61736a;font-size:11px;font-family:Consolas,monospace}
.price-control-product small{margin-top:2px;color:#89958f}
.price-control-policy{display:inline-flex;align-items:center;min-height:27px;padding:4px 9px;border:1px solid #bfddcd;border-radius:999px;color:#176644;background:#ecf8f1;font-weight:800;white-space:nowrap}
.price-control-policy.prohibited{border-color:#f0c6c0;color:#a33b2c;background:#fff0ee}
.price-control-policy.unrestricted{border-color:#d3ddd8;color:#596b62;background:#f3f6f4}
.price-control-updated{color:#697a72;white-space:nowrap}
.price-control-regular-price{display:block;color:#244d3d;font-size:14px;white-space:nowrap}
.price-control-discount{margin-left:4px;color:#657a6f;font-size:11px;font-weight:800}
.price-control-candidate-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:6px;min-width:0;width:100%;max-width:100%;margin-top:10px;overflow-x:visible;overflow-y:visible}
.price-control-candidate-pagination button{width:auto;min-width:34px;min-height:32px;padding:5px 9px;color:#2e6d53;border-color:#cbdcd3;background:#fff}
.price-control-candidate-pagination button[aria-current=page]{color:#fff;border-color:#2f7d5f;background:#2f7d5f}
.price-control-pagination-ellipsis{display:inline-flex;align-items:center;justify-content:center;min-width:20px;min-height:32px;color:#718078;font-weight:800}
.price-control-pagination-summary{margin-left:4px;color:#687a71;font-size:12px;font-weight:700;white-space:nowrap}
.price-control-history-panel{display:grid;min-width:0;max-width:100%;gap:12px}
.price-control-history-list{display:grid;min-width:0;max-width:100%;gap:7px}
.price-control-history-item{display:grid;grid-template-columns:minmax(145px,.65fr) minmax(0,1fr) minmax(120px,.5fr);align-items:center;gap:16px;min-width:0;padding:11px 12px;border:1px solid #dfe8e3;border-radius:8px;background:#fbfdfc}
.price-control-history-item time{color:#718078;font-size:12px;white-space:nowrap}
.price-control-history-item strong{min-width:0;color:#28523f;overflow-wrap:anywhere}
.price-control-history-operator{min-width:0;color:#61736a;font-size:12px;overflow-wrap:anywhere}
.price-control-history-pagination{display:flex;margin-top:12px;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:6px;min-width:0;width:100%;max-width:100%;overflow-x:visible;overflow-y:visible}
.price-control-history-pagination button{width:auto;min-width:34px;min-height:32px;padding:5px 9px;color:#2e6d53;border-color:#cbdcd3;background:#fff}
.price-control-history-pagination button[aria-current=page]{color:#fff;border-color:#2f7d5f;background:#2f7d5f}
.price-control-feedback-panel form{display:grid;gap:13px}
.price-control-feedback-panel label{display:grid;gap:6px;color:#52665d;font-size:12px;font-weight:800}
.price-control-feedback-panel label small{color:#77877f;font-size:11px;font-weight:500}
.price-control-feedback-panel input[type=file]{width:100%;padding:9px;border:1px solid #d6e1db;border-radius:7px;background:#fbfdfc}
.price-control-feedback-panel textarea{min-height:118px;resize:vertical}
.price-control-feedback-context{padding:11px 12px;border:1px solid #dce7e1;border-radius:8px;color:#315746;background:#f5f9f7;font-size:13px}
.price-control-feedback-reporter,.price-control-feedback-message{margin:0;color:#52665d;font-size:13px;overflow-wrap:anywhere}
.price-control-feedback-reporter{font-weight:800}
.price-control-feedback-attachments{display:flex;flex-wrap:wrap;gap:8px;min-width:0}
.price-control-feedback-attachments:empty{display:none}
.price-control-feedback-attachments a{display:grid;width:96px;min-width:0;gap:4px;color:#3d6755;font-size:10px;text-decoration:none}
.price-control-feedback-attachments img{display:block;width:96px;height:72px;object-fit:cover;border:1px solid #d8e3dd;border-radius:7px;background:#f4f7f5}
.price-control-feedback-attachments span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.price-control-feedback-queue{min-width:0;width:100%;max-width:100%;padding:16px;border:1px solid #dce7e1;border-radius:10px;background:#fff;box-shadow:0 5px 18px rgba(34,65,50,.05)}
.price-control-feedback-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:10px 14px;min-width:0;max-width:100%;margin-bottom:10px}
.price-control-feedback-toolbar .price-controls-results-head{flex:0 1 auto;justify-content:flex-start;gap:10px;margin-bottom:0}
.price-control-feedback-filter{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:8px;min-width:0;margin:0}
.price-control-feedback-filter select,.price-control-feedback-filter button{width:auto;min-height:36px}
.price-control-feedback-list{display:grid;gap:8px}
.price-control-feedback-item{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:11px 12px;border:1px solid #e0e8e3;border-radius:8px;background:#fbfdfc}
.price-control-feedback-item>div{display:grid;min-width:0;gap:4px}
.price-control-feedback-item strong{color:#264c3d}
.price-control-feedback-item span,.price-control-feedback-item p{margin:0;color:#51665c;font-size:13px;overflow-wrap:anywhere}
.price-control-feedback-item small{color:#819087;font-size:11px}
.price-control-feedback-item>.link-button{flex:none;width:auto}
@media (max-width:760px){
  .price-controls-summary{grid-template-columns:1fr}
  .price-controls-summary article{border-right:0;border-bottom:1px solid #e5ece8}
  .price-controls-summary article:last-child{border-bottom:0}
  .price-control-modal{padding:10px}
  .price-control-dialog{width:100%;max-height:calc(100vh - 20px)}
  .price-control-dialog-head,.price-control-modal-body{padding:13px}
  .price-control-editor-grid{grid-template-columns:1fr}
  .price-control-history-item{grid-template-columns:1fr;gap:4px}
  .price-control-editor-actions,.price-control-feedback-item{align-items:stretch;flex-direction:column}
  .price-control-editor-actions span{margin-right:0}
  .price-control-feedback-item>.link-button{align-self:flex-start}
}

/* Private customer management: Gate 0A desktop workspace. */
.private-customers-page{--pc-ink:#173c2d;--pc-muted:#62756b;--pc-line:#dce7e1;--pc-soft:#f3f8f5;display:grid;gap:16px;max-width:100%;color:var(--pc-ink)}
.private-customers-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.private-customers-eyebrow{margin:0 0 7px;color:#2d7a59;font-size:11px;font-weight:900;letter-spacing:.15em}
.private-customers-hero h1{margin:0;font-size:30px;line-height:1.16}
.private-customers-hero>div>p:last-child{margin:8px 0 0;color:var(--pc-muted);font-size:14px}
.private-customers-coverage{display:grid;min-width:230px;gap:3px;padding:4px 2px;text-align:right}
.private-customers-coverage span,.private-customers-coverage small{color:var(--pc-muted);font-size:11px}
.private-customers-coverage strong{font-size:14px}
.private-customers-gate{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 15px;border:1px solid #eadab0;border-radius:10px;background:#fffaf0;box-shadow:0 4px 12px rgba(92,68,21,.05)}
.private-customers-gate strong{display:block;color:#7b5412;font-size:14px}
.private-customers-gate p{margin:3px 0 0;color:#7f6a43;font-size:12px}
.private-customers-gate.is-ready{border-color:#cfe4d8;background:#f2faf6}
.private-customers-gate.is-ready strong{color:#1e6a49}
.private-customers-status-badge{flex:none;padding:5px 8px;border-radius:999px;color:#795411;background:#f7e8bd;font-size:10px;font-weight:900;letter-spacing:.08em}
.private-customer-sync-panel{overflow:hidden;border:1px solid var(--pc-line);border-radius:11px;background:#fff;box-shadow:0 7px 20px rgba(24,61,45,.055)}
.private-customer-settings-modal[hidden]{display:none!important}
.modal-card.private-customer-settings-card{width:min(900px,calc(100vw - 48px));max-width:100%;max-height:calc(100vh - 48px);overflow:auto}
.private-customer-settings-card>.modal-head{position:sticky;top:0;z-index:3;background:#fff}
.private-customer-settings-card>.modal-head>div{min-width:0}
.private-customer-settings-card>.modal-head .private-customers-eyebrow{margin-bottom:4px}
.private-customer-settings-card>.modal-head h2{margin:0}
.private-customer-settings-card>.private-customer-sync-panel{border:0;border-radius:0;box-shadow:none}
.private-customer-sync-panel>header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;border-bottom:1px solid #e4ece7;background:linear-gradient(135deg,#f3faf6,#fff)}
.private-customer-sync-panel h2{margin:0;font-size:18px}.private-customer-sync-panel header p:last-child{margin:5px 0 0;color:var(--pc-muted);font-size:12px}
.private-customer-sync-state{flex:none;padding:5px 9px;border-radius:999px;color:#176b49;background:#dff3e8;font-size:10px;font-weight:900}.private-customer-sync-state.is-blocked{color:#795411;background:#f7e8bd}
.private-customer-sync-layout{display:grid;grid-template-columns:1fr;gap:0}.private-customer-sync-controls{min-width:0;padding:15px 16px;border-bottom:1px solid #e6ede9}
.private-customer-sync-form{display:grid;grid-template-columns:130px minmax(290px,1fr) 170px auto;gap:10px;align-items:end;min-width:0;margin:0}.private-customer-sync-form label{display:grid;gap:5px;color:#53675d;font-size:11px;font-weight:800}.private-customer-sync-form input,.private-customer-sync-form select,.private-customer-sync-form button{min-height:40px}.private-customer-sync-form button{width:auto;white-space:nowrap}.private-customer-sync-picker{display:grid;min-width:0}.private-customer-sync-picker>[hidden]{display:none!important}.private-customer-sync-custom{display:grid;grid-template-columns:repeat(2,minmax(135px,1fr));gap:10px}.private-customer-sync-range{display:grid;align-content:center;min-height:40px;gap:3px;padding:6px 10px;border:1px solid #dce7e1;border-radius:7px;background:#f7faf8}.private-customer-sync-range span{color:#718078;font-size:9px}.private-customer-sync-range strong{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.private-customer-sync-auto{display:flex;align-items:flex-start;gap:9px;margin-top:13px;padding:10px 11px;border:1px solid #e0ebe5;border-radius:8px;background:#f7faf8}.private-customer-sync-auto input{width:17px;height:17px;margin-top:1px}.private-customer-sync-auto span{display:grid;gap:2px}.private-customer-sync-auto strong{font-size:12px}.private-customer-sync-auto small{color:var(--pc-muted);font-size:10px}
.private-customer-sync-readonly{padding:12px;border:1px dashed #d7e2dc;border-radius:8px;background:#f8faf9}.private-customer-sync-readonly strong{font-size:13px}.private-customer-sync-readonly p{margin:5px 0 0;color:var(--pc-muted);font-size:11px}.private-customer-sync-feedback{min-height:18px;margin:9px 0 0;color:var(--pc-muted);font-size:11px}.private-customer-sync-feedback[data-state=success]{color:#176b49}.private-customer-sync-feedback[data-state=error]{color:#a23b32}
.private-customer-dashboard-range-form input,.private-customer-dashboard-range-form select,.private-customer-dashboard-range-form button{height:40px;min-height:40px;border-radius:7px}.private-customer-direct-progress{display:grid;gap:7px;margin-top:9px;padding:10px 11px;border:1px solid #dce7e1;border-radius:8px;background:#f7faf8}.private-customer-direct-progress[hidden]{display:none!important}.private-customer-direct-progress>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px}.private-customer-direct-progress strong{font-size:12px}.private-customer-direct-progress span,.private-customer-direct-progress small{color:var(--pc-muted);font-size:10px}.private-customer-direct-progress[data-state=success]{border-color:#bcdcca;background:#f1faf5}.private-customer-direct-progress[data-state=error]{border-color:#e9c4be;background:#fff4f2}.private-customer-progress-track{height:8px;overflow:hidden;border-radius:999px;background:#dfe8e3}.private-customer-progress-track>span{display:block;width:0;height:100%;border-radius:inherit;background:#237451;transition:width .18s ease}.private-customer-direct-progress[data-state=error] .private-customer-progress-track>span{background:#b44a40}
.private-customers-page .private-customer-date-picker{cursor:pointer}.private-customers-page .private-customer-date-picker input{cursor:pointer}.private-customers-page .private-customer-date-picker:focus-visible{outline:none}.private-customers-page .private-customer-date-picker:focus-visible input,.private-customers-page .private-customer-date-picker:focus-within input{border-radius:7px;outline:2px solid #2f7d5a;outline-offset:2px}
.private-customer-sync-progress{min-width:0;padding:14px 16px;background:#fbfdfc}.private-customer-sync-progress-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}.private-customer-sync-progress-head strong{font-size:13px}.private-customer-sync-progress-head span{color:var(--pc-muted);font-size:10px}.private-customer-sync-progress [data-private-customer-sync-runs]{display:grid;gap:7px;max-height:170px;overflow:auto}.private-customer-sync-progress article{display:grid;grid-template-columns:auto minmax(0,1fr);gap:3px 9px;padding:8px 9px;border:1px solid #e2ebe6;border-radius:7px;background:#fff}.private-customer-sync-progress article strong{font-size:11px}.private-customer-sync-progress article span{overflow:hidden;color:#63756b;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.private-customer-sync-progress article small,.private-customer-sync-progress article em{grid-column:1/-1;color:#74847c;font-size:9px;font-style:normal}.private-customer-sync-progress article em{color:#936115}.private-customer-sync-progress p{margin:8px 0;color:var(--pc-muted);font-size:11px}
@media(max-width:1100px){.private-customer-sync-form{grid-template-columns:130px minmax(280px,1fr) 160px auto}}
@media(max-width:700px){.private-customer-sync-form{min-width:850px}.private-customer-sync-panel{overflow:auto}}
.private-customers-metrics{display:grid;grid-template-columns:minmax(220px,1.35fr) repeat(4,minmax(130px,1fr));overflow:hidden;border:1px solid var(--pc-line);border-radius:11px;background:#fff;box-shadow:0 7px 20px rgba(24,61,45,.06)}
.private-customers-metric{display:grid;gap:5px;min-height:104px;padding:16px 17px;border-right:1px solid #e7eeea}
.private-customers-metric:last-child{border-right:0}
.private-customers-metric span,.private-customers-metric small{color:var(--pc-muted);font-size:11px}
.private-customers-metric strong{font-size:23px;line-height:1.1}
.private-customers-metric.is-primary{background:linear-gradient(135deg,#edf8f2 0%,#fff 82%)}
.private-customers-metric.is-primary strong{color:#176b49;font-size:28px}
.private-customers-panel,.private-customers-results{border:1px solid var(--pc-line);border-radius:11px;background:#fff;box-shadow:0 7px 20px rgba(24,61,45,.055)}
.private-customers-filters{margin:0;padding:14px 15px}
.private-customers-filter-grid{display:grid;grid-template-columns:130px 170px 170px 120px 280px auto;gap:10px;align-items:end}
.private-customers-filters label{display:grid;gap:5px;color:#53675d;font-size:11px;font-weight:700}
.private-customers-filters input,.private-customers-filters select{width:100%;min-height:38px}
.private-customers-keyword{width:280px;min-width:0;max-width:280px}
.private-customers-filter-actions{display:flex;gap:7px}
.private-customers-filter-actions button{width:auto;min-width:68px;min-height:38px}
.private-customers-custom-dates{display:grid;grid-template-columns:repeat(2,minmax(180px,240px));gap:10px;margin-top:11px;padding:11px;border:1px solid #dce8e1;border-radius:8px;background:#f6faf8}
.private-customers-custom-dates[hidden]{display:none!important}
.private-customers-advanced{margin-top:11px;border-top:1px solid #e8efeb}
.private-customers-advanced summary{width:max-content;padding:11px 0 0;color:#2c7254;font-size:12px;font-weight:800;cursor:pointer}
.private-customers-advanced>div{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,170px));justify-content:start;gap:10px;margin-top:11px}
.private-customers-results{min-width:0;overflow:hidden}
.private-customers-results-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 15px;border-bottom:1px solid #e5ede8}
.private-customers-results-head h2{margin:0;font-size:17px}
.private-customers-results-head p{margin:4px 0 0;color:var(--pc-muted);font-size:12px}
.private-customers-results-head>label{display:flex;align-items:center;gap:7px;color:var(--pc-muted);font-size:12px}
.private-customers-results-head select{width:74px;min-height:34px}
.private-customers-list-state{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 15px;border-bottom:1px solid #e4ebe7;color:#607168;background:#f7faf8;font-size:12px}.private-customers-list-state[hidden]{display:none!important}.private-customers-list-state[data-state=error]{color:#963a31;background:#fff4f2}.private-customers-list-state button{width:auto;min-height:32px;padding:5px 10px}
.private-customers-table-wrap{max-width:100%;overflow:auto;overscroll-behavior-inline:contain}
.private-customers-table{width:100%;min-width:1180px;border-collapse:separate;border-spacing:0}
.private-customers-table th,.private-customers-table td{padding:10px 11px;border-bottom:1px solid #e8eeeb;background:#fff;vertical-align:middle;font-size:12px;text-align:left}
.private-customers-table th{position:sticky;top:0;z-index:2;color:#5c6c64;background:#f6f9f7;font-size:11px;white-space:nowrap}
.private-customers-table th button{width:auto;min-height:0;padding:0;color:inherit;border:0;background:transparent;font:inherit}
.private-customers-table th[aria-sort="ascending"] button:after{content:" ↑";color:#217653}
.private-customers-table th[aria-sort="descending"] button:after{content:" ↓";color:#217653}
.private-customers-table .private-customers-sticky{position:sticky;left:0;z-index:1;min-width:168px;box-shadow:1px 0 0 #e0e9e4}
.private-customers-table th.private-customers-sticky{z-index:3;background:#f6f9f7}
.private-customers-table td.private-customers-sticky strong,.private-customers-table td.private-customers-sticky small{display:block}
.private-customers-table td.private-customers-sticky small{margin-top:3px;color:var(--pc-muted)}
.private-customers-table td.is-number{text-align:right;font-variant-numeric:tabular-nums}
.private-customers-table td button{width:auto;min-height:32px;padding:6px 9px}
.private-customers-blocked-cell,.private-customers-empty-cell{padding:34px!important;text-align:center!important}
.private-customers-blocked-cell strong,.private-customers-blocked-cell span{display:block}
.private-customers-blocked-cell strong{color:#795411;font-size:15px}
.private-customers-blocked-cell span{margin-top:6px;color:var(--pc-muted)}
.private-customers-pagination{display:flex;align-items:center;justify-content:flex-end;gap:9px;padding:11px 15px}
.private-customers-pagination button{width:auto;min-height:34px;padding:6px 10px}
.private-customers-pagination span{color:var(--pc-muted);font-size:12px}
.private-customers-live{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.private-customers-drawer-backdrop{position:fixed;z-index:110;inset:0;display:flex;justify-content:flex-end;background:rgba(16,34,26,.45);backdrop-filter:blur(2px)}
.private-customers-drawer-backdrop[hidden]{display:none!important}
.private-customers-drawer{width:min(800px,100vw);height:100%;overflow:auto;border-left:1px solid #d8e4dd;background:#fff;box-shadow:-22px 0 55px rgba(13,38,27,.22);outline:0}
.private-customers-drawer>header{position:sticky;top:0;z-index:4;display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,340px) 36px;align-items:center;gap:14px;padding:15px 18px;border-bottom:1px solid #dfe8e3;background:rgba(255,255,255,.97)}
.private-customers-drawer>header span{color:#2c7957;font-size:10px;font-weight:900;letter-spacing:.1em}
.private-customers-drawer>header h2{margin:4px 0 0;font-size:20px}
.private-customers-drawer>header button{width:36px;min-height:36px;padding:0}
.private-customers-drawer-tabs{position:sticky;top:68px;z-index:3;display:flex;gap:4px;padding:9px 18px;border-bottom:1px solid #e3ebe7;background:#f8faf9}
.private-customers-drawer-tabs button{width:auto;min-height:34px;padding:7px 12px;color:#50675c;border:1px solid transparent;background:transparent}
.private-customers-drawer-tabs button[aria-selected="true"]{color:#176d4b;border-color:#cfe2d8;background:#eaf5ef}
.private-customers-drawer-body{padding:18px}
.private-customers-drawer-body section{display:grid;gap:10px}
.private-customers-drawer-body section[hidden]{display:none}
.private-customers-drawer-body h3{margin:0 0 4px;font-size:16px}
.private-customers-drawer-body p,.private-customers-drawer-body details{margin:0;padding:10px 12px;border:1px solid #e0e9e4;border-radius:8px;background:#f8faf9;font-size:12px}
.private-customers-drawer-body details p{margin-top:8px;background:#fff}
.private-customers-reveal{width:auto;justify-self:start}
.private-customers-state{margin:0!important;padding:11px 12px!important;border:1px dashed #d6e2dc!important;border-radius:8px!important;color:#66786f!important;background:#f8faf9!important}.private-customers-state.is-error{color:#963a31!important;border-color:#e9c4be!important;background:#fff4f2!important}.private-customers-order-card{display:grid;gap:11px;padding:13px;border:1px solid #dce6e0;border-radius:10px;background:#fff;box-shadow:0 3px 12px rgba(24,61,45,.04)}.private-customers-order-card>header{display:grid;gap:4px}.private-customers-order-card>header strong{font-size:13px}.private-customers-order-card>header small{color:var(--pc-muted);font-size:10px}.private-customers-order-brands{display:flex;flex-wrap:wrap;gap:6px}.private-customers-order-brands span{padding:4px 8px;border:1px solid #cfe2d8;border-radius:999px;color:#1d6e4c;background:#edf8f2;font-size:10px;font-weight:800}.private-customers-order-brands small{color:var(--pc-muted)}.private-customers-order-items{display:grid;gap:8px}.private-customers-order-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.85fr);gap:14px;align-items:center;padding:10px 0;border-top:1px solid #e8efeb}.private-customers-order-item>div:first-child{display:grid;min-width:0;gap:4px}.private-customers-order-item>div:first-child strong{overflow-wrap:anywhere;font-size:12px}.private-customers-order-item>div:first-child small{color:var(--pc-muted);font-size:10px}.private-customers-item-amounts{display:grid;grid-template-columns:repeat(3,minmax(92px,1fr));gap:7px;text-align:right;font-variant-numeric:tabular-nums}.private-customers-item-amounts>span{display:grid;gap:3px}.private-customers-item-amounts small{color:var(--pc-muted);font-size:9px}.private-customers-item-amounts strong{font-size:11px}
.private-customers-profile-history{display:grid;gap:4px;margin-top:9px;padding:10px 11px;border:1px solid #dce7e1;border-radius:8px;background:#f8fbf9}.private-customers-profile-history strong{font-size:12px}.private-customers-profile-history small{color:var(--pc-muted);font-size:10px}.private-customers-profile-history p{margin:0!important;color:#52675d;font-size:11px;overflow-wrap:anywhere}
.private-customers-drawer-identity{min-width:0}.private-customers-all-channel{display:grid;grid-template-columns:minmax(166px,max-content) minmax(0,1fr);gap:6px 10px;align-items:center;min-width:0}.private-customers-drawer>header .private-customers-all-channel>button{width:auto;min-width:166px;min-height:40px;padding:8px 14px;border-radius:10px;white-space:nowrap}.private-customers-all-channel>small{min-width:0;color:var(--pc-muted);font-size:10px;line-height:1.35}.private-customers-all-channel-state{grid-column:1/-1;min-height:34px;padding:8px 10px;color:#326a51;border:1px solid #cde4d7;border-radius:7px;background:#eef8f3;font-size:10px;line-height:1.45}.private-customers-all-channel-state[data-tone="warning"],.private-customers-all-channel-state[data-tone="cooldown"]{color:#845d13;border-color:#ead8a8;background:#fff8df}.private-customers-all-channel-state[data-tone="error"]{color:#9b332d;border-color:#ecc5c1;background:#fff2f0}.private-customers-all-channel-state[data-tone="loading"]{color:#246347;background:#eaf7f0}.private-customers-store-distribution{display:flex!important;align-items:center;gap:7px}.private-customers-platform-badge{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;padding:3px 7px;border:1px solid #d8e1dc;border-radius:999px;color:#445950;background:#f0f4f2;font-size:10px;font-weight:900;white-space:nowrap}.private-customers-platform-badge.is-wx{color:#176044;border-color:#c5e1d2;background:#e7f5ed}.private-customers-platform-badge.is-dy-live{color:#fff;border-color:#18181b;background:#18181b}.private-customers-platform-badge.is-dy{color:#7b1d5d;border-color:#edc7df;background:#fcecf6}.private-customers-platform-badge.is-pdd{color:#a32924;border-color:#efc6c2;background:#fff0ef}.private-customers-platform-badge.is-jd{color:#a02d28;border-color:#efc9c6;background:#fff2f1}.private-customers-platform-badge.is-tb{color:#a9500d;border-color:#f2d0ad;background:#fff5e9}.private-customers-platform-badge.is-xy{color:#8a6814;border-color:#ead89c;background:#fff9db}.private-customers-platform-badge.is-other{color:#4f5f57;border-color:#d8e1dc;background:#f0f4f2}.private-customers-order-headline{display:flex;align-items:center;gap:7px;min-width:0}.private-customers-order-headline>span:last-child{overflow-wrap:anywhere}

@media (max-width:1200px){
  .private-customers-metrics{grid-template-columns:repeat(3,minmax(140px,1fr))}
  .private-customers-metric{border-bottom:1px solid #e7eeea}
  .private-customers-filter-grid{grid-template-columns:repeat(3,minmax(140px,1fr))}
  .private-customers-keyword{grid-column:span 2}
  .private-customers-advanced>div{grid-template-columns:repeat(3,minmax(130px,1fr))}
}

@media (max-width:700px){
  .private-customers-page{max-width:100%;overflow-x:hidden}
  .private-customers-hero,.private-customers-results-head{align-items:stretch;flex-direction:column}
  .private-customers-coverage{min-width:0;text-align:left}
  .private-customers-metrics,.private-customers-filter-grid,.private-customers-custom-dates,.private-customers-advanced>div{grid-template-columns:1fr}
  .private-customers-keyword{grid-column:auto;min-width:0;max-width:100%}
  .private-customers-filter-actions{align-items:stretch}
  .private-customers-drawer{width:100vw}
  .private-customers-order-item{grid-template-columns:1fr}
  .private-customers-drawer>header{grid-template-columns:minmax(0,1fr) 36px;align-items:start}.private-customers-all-channel{grid-column:1/-1;grid-row:2;width:100%;grid-template-columns:1fr}.private-customers-all-channel-state{grid-column:1}.private-customers-drawer>header>.icon-button{grid-column:2;grid-row:1}
}

.store-assets-page{--asset-green:#1d684c;--asset-green-soft:#eef8f3;--asset-red:#b93832;--asset-red-soft:#fff3f1}.store-assets-hero{min-height:0;margin-bottom:9px;padding:4px 0 12px}.store-assets-hero .eyebrow{margin-bottom:5px;color:#3478b8;font-size:12px}.store-assets-hero h1{margin-bottom:3px;font-size:28px}.store-assets-hero .page-description{margin-top:3px;font-size:14px}.store-assets-hero-actions{display:flex;gap:8px;align-items:center}.store-assets-hero-actions .btn-link{min-height:36px;padding:7px 11px}.store-assets-page .tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin:0 0 10px;padding:4px;border:1px solid #dce6e0;border-radius:10px;background:#eef3f0}.store-assets-page .tabs a{padding:8px 14px;border-radius:7px;color:#52655b;text-align:center;font-size:13px;font-weight:800}.store-assets-page .tabs a:hover{color:#175b42;background:#fff}.store-assets-page .tabs a.active{color:#fff;background:var(--asset-green);box-shadow:0 4px 12px rgba(29,104,76,.18)}
.store-assets-overview{display:grid;grid-template-columns:minmax(230px,.72fr) minmax(0,1.8fr);gap:0;min-height:122px;margin:0 0 10px;padding:0;overflow:hidden;border:1px solid #dce7e1;border-radius:12px;background:#fff;box-shadow:0 7px 22px rgba(31,70,52,.07)}.store-assets-primary-metric{display:flex;padding:20px 22px;color:#fff;background:linear-gradient(135deg,#185c43,#2b8060 68%,#337c72);flex-direction:column;justify-content:center}.store-assets-primary-metric span{color:rgba(255,255,255,.82);font-size:13px;font-weight:700}.store-assets-primary-metric strong{margin:7px 0 5px;overflow:hidden;font-size:clamp(28px,3vw,42px);line-height:1.05;letter-spacing:-.03em;text-overflow:ellipsis;white-space:nowrap}.store-assets-primary-metric small{color:rgba(255,255,255,.7);font-size:11px}.store-assets-secondary-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;padding:14px;background:linear-gradient(180deg,#fff,#f8fbf9)}.store-assets-secondary-metrics article,.store-assets-anomaly-strip{display:flex;min-width:0;padding:10px 12px;border-right:1px solid #e4ebe7;flex-direction:column;justify-content:center}.store-assets-secondary-metrics article span,.store-assets-anomaly-strip span{overflow:hidden;color:#6c7c73;font-size:11px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.store-assets-secondary-metrics article strong,.store-assets-anomaly-strip strong{display:block;overflow:hidden;margin:6px 0 3px;color:#173b2d;font-size:clamp(17px,1.55vw,23px);text-overflow:ellipsis;white-space:nowrap}.store-assets-secondary-metrics article small,.store-assets-anomaly-strip small{color:#87938d;font-size:10px;line-height:1.35}.store-assets-secondary-metrics article.frozen strong{color:var(--asset-red)}.store-assets-anomaly-strip{border-right:0;border-radius:8px}.store-assets-anomaly-strip.has-anomaly{margin-left:8px;color:#8f2d28;border:1px solid #efcfcc;background:var(--asset-red-soft)}.store-assets-anomaly-strip.has-anomaly span,.store-assets-anomaly-strip.has-anomaly small{color:#9c4c47}.store-assets-anomaly-strip.has-anomaly strong{color:var(--asset-red)}
.store-assets-filter-panel{margin:0 0 9px;padding:10px 12px;border:1px solid #dce6e0;border-radius:10px;background:#fff;box-shadow:0 4px 14px rgba(34,65,50,.04)}.store-assets-filter-grid{display:grid;grid-template-columns:145px 100px 108px 122px 118px minmax(150px,1fr) 70px;gap:8px;align-items:end}.store-assets-filter-grid label{gap:4px;min-width:0;color:#52665b;font-size:11px;font-weight:800}.store-assets-filter-grid input,.store-assets-filter-grid select,.store-assets-filter-grid button{min-width:0;min-height:36px;padding:6px 8px;font-size:13px}.store-assets-filter-secondary,.store-assets-filter-secondary-grid{display:contents}.store-assets-filter-secondary>summary{display:none}.store-assets-filter-actions{display:flex;align-items:end;gap:6px}.store-assets-filter-actions button{padding-inline:10px}.store-assets-mobile-actions{display:none}.store-assets-results-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:0 0 7px;padding:0 3px}.store-assets-results-head>div{display:flex;align-items:baseline;gap:8px}.store-assets-results-head span{color:#263e33;font-size:16px;font-weight:800}.store-assets-results-head strong{color:#1d684c;font-size:12px}.store-assets-results-head small{color:#718078;font-size:11px}.store-assets-page [data-store-assets-rows],.store-assets-page [data-store-assets-audit]{margin:0;padding:0;border:0;background:transparent;box-shadow:none}.store-assets-table-wrap{max-height:calc(100vh - 405px);min-height:180px;border:1px solid #dce5e0;border-radius:9px;background:#fff;box-shadow:0 5px 18px rgba(34,65,50,.05)}.store-assets-table{min-width:1420px;font-size:12px}.store-assets-table th{position:sticky;top:0;z-index:3;padding:9px 10px;color:#42554b;background:#edf3ef;white-space:nowrap}.store-assets-table td{padding:9px 10px;vertical-align:middle}.store-assets-table tbody tr:hover td{background:#f7fbf8}.store-assets-table th:first-child,.store-assets-table td:first-child{position:sticky;left:0;z-index:2;width:42px;min-width:42px;max-width:42px;background:#fff}.store-assets-table th:nth-child(2),.store-assets-table td:nth-child(2){position:sticky;left:42px;z-index:2;min-width:230px;background:#fff}.store-assets-table thead th:first-child,.store-assets-table thead th:nth-child(2){z-index:4;background:#edf3ef}.store-assets-store-cell{display:flex;align-items:center;gap:9px}.store-assets-store-cell>span:last-child{min-width:0}.store-assets-store-cell strong{display:block;max-width:175px;overflow:hidden;color:#24483a;text-overflow:ellipsis;white-space:nowrap}.store-assets-platform{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:38px;min-height:24px;padding:3px 6px;color:#315f82;border:1px solid #cbddea;border-radius:6px;background:#f2f7fb;font-size:10px;font-weight:900;letter-spacing:.03em}.store-assets-table small{display:block;margin-top:3px;color:#7a8981;font-size:10px;line-height:1.35}.store-assets-money{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.store-assets-table td.store-assets-money{color:#33473d;font-weight:700}.store-assets-table td.store-assets-money.total{color:#185c43;font-weight:900}.store-assets-table td.store-assets-money.frozen{color:var(--asset-red)}.store-assets-source strong{display:block;color:#40584c;text-transform:uppercase}.asset-state-badge{display:inline-flex;border-radius:999px;padding:4px 8px;background:#e2e8f0;color:#334155;font-size:10px;font-weight:800;white-space:nowrap}.asset-state-badge.normal{background:#dcfce7;color:#166534}.asset-state-badge.partial,.asset-state-badge.carried{background:#fef3c7;color:#92400e}.asset-state-badge.missing,.asset-state-badge.rejected{background:#fee2e2;color:#991b1b}.store-assets-mobile-cards{display:none}
.store-assets-sync-key-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 20px;align-items:center;margin:0 0 10px;padding:14px 16px;border:1px solid #d9e5df;border-radius:10px;background:#fff;box-shadow:0 4px 14px rgba(34,65,50,.04)}.store-assets-sync-key-heading{display:flex;align-items:center;gap:9px}.store-assets-sync-key-heading h2{margin:0;color:#24483a;font-size:15px}.store-assets-sync-key-copy p{margin:5px 0 0;color:#687970;font-size:12px}.store-assets-sync-key-copy>small{display:block;margin-top:4px;color:#88958f;font-size:10px}.store-assets-sync-key-status{display:inline-flex;padding:3px 8px;border-radius:999px;font-size:10px;font-weight:800}.store-assets-sync-key-status.is-configured{color:#166534;background:#dcfce7}.store-assets-sync-key-status.is-missing{color:#92400e;background:#fef3c7}.store-assets-sync-key-form{margin:0}.store-assets-sync-key-form button{min-width:128px}.store-assets-sync-key-reveal{grid-column:1/-1;padding:12px;border:1px solid #b9dcc9;border-radius:8px;background:#f2fbf6}.store-assets-sync-key-reveal>strong{color:#185c43;font-size:13px}.store-assets-sync-key-reveal>p{margin:4px 0 9px;color:#5d7066;font-size:11px}.store-assets-sync-key-reveal>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.store-assets-sync-key-reveal input{min-width:0;font-family:Consolas,"Courier New",monospace}.store-assets-sync-key-reveal>small{display:block;min-height:16px;margin-top:5px;color:#157347;font-size:11px}
.store-assets-table th.store-assets-sortable{padding:0}.store-assets-sort-link{display:flex;align-items:center;justify-content:flex-start;gap:5px;width:100%;min-height:38px;padding:9px 10px;color:inherit;border-radius:0;font-weight:800;text-decoration:none}.store-assets-sortable.store-assets-money .store-assets-sort-link{justify-content:flex-end}.store-assets-sort-link:hover,.store-assets-sort-link:focus-visible{color:var(--asset-green);background:#e4f0e9}.store-assets-sort-link:focus-visible{outline:2px solid #4d8d73;outline-offset:-2px}.store-assets-sort-link.is-active{color:var(--asset-green);background:#e7f2ec}.store-assets-sort-link .store-assets-sort-state{display:inline-flex;margin:0;padding:1px 4px;color:#718078;border:1px solid #cfdad4;border-radius:999px;background:#f7faf8;font-size:9px;font-weight:800;line-height:1.35}.store-assets-sort-link.is-active .store-assets-sort-state{color:#176346;border-color:#b8d8c8;background:#fff}.store-assets-status-cell{width:176px;min-width:176px;max-width:190px;white-space:normal}.store-assets-status-message{display:block;margin-top:5px;color:#687a72;font-size:10px;line-height:1.4;overflow-wrap:anywhere}.store-assets-page .asset-state-badge.normal{background:#dcfce7;color:#166534}.store-assets-page .asset-state-badge.manual{background:#dbeafe;color:#1d4f91}.store-assets-page .asset-state-badge.carried{background:#fef3c7;color:#92400e}.store-assets-page .asset-state-badge.partial{background:#ffedd5;color:#9a3412}.store-assets-page .asset-state-badge.missing{background:#fee2e2;color:#b42318}.store-assets-page .asset-state-badge.rejected{background:#fbd5d5;color:#7f1d1d}.store-assets-status-manual .store-assets-status-message{color:#315f91}.store-assets-status-carried .store-assets-status-message{color:#8a5a13}.store-assets-status-partial .store-assets-status-message{color:#9a3412}.store-assets-status-missing .store-assets-status-message{color:#a52b24}.store-assets-status-rejected .store-assets-status-message{color:#7f1d1d}
.store-assets-shop-deposit-negative,.store-assets-secondary-metrics strong.store-assets-shop-deposit-summary-negative{color:var(--asset-red)!important}.douyin-margin-negative{color:var(--danger)}
.store-assets-modal{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(20,35,28,.52);backdrop-filter:blur(3px)}.store-assets-modal[hidden]{display:none!important}.store-assets-modal-card{width:min(880px,100%);max-height:calc(100vh - 40px);margin:0;padding:0;overflow:auto;border:1px solid #d8e2dc;border-radius:13px}.store-assets-modal-card>header{position:sticky;top:0;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 18px;border-bottom:1px solid #e0e8e3;background:rgba(255,255,255,.96);backdrop-filter:blur(8px)}.store-assets-modal-card>header span{display:block;margin-bottom:3px;color:#3478b8;font-size:10px;font-weight:900;letter-spacing:.12em}.store-assets-modal-card>header h2{margin:0;font-size:20px}.store-assets-modal-card .modal-close{flex:0 0 36px;width:36px;min-height:36px;padding:0;color:#52665b;border-color:#d8e2dc;border-radius:9px;background:#f4f7f5;font-size:20px}.store-assets-modal-section{display:grid;grid-template-columns:180px minmax(0,1fr);gap:18px;margin:0;padding:17px 18px;border:0;border-bottom:1px solid #e6ece8;border-radius:0;background:#fff;box-shadow:none}.store-assets-modal-section:last-child{border-bottom:0}.store-assets-modal-section.primary{background:#f7fbf9}.store-assets-modal-section.danger-zone{background:#fff8f7}.store-assets-modal-section h3{margin:0 0 5px;color:#203e31;font-size:15px}.store-assets-modal-section p{margin:0;color:#718078;font-size:11px;line-height:1.5}.store-assets-modal-section form{display:grid;grid-template-columns:minmax(130px,.7fr) minmax(140px,.8fr) minmax(180px,1fr) auto;gap:8px;align-items:end;margin:0}.store-assets-modal-section form label{gap:4px;font-size:12px}.store-assets-modal-section form .reason{min-width:0}.store-assets-modal-section form textarea{min-height:38px;max-height:74px;padding:7px 8px;font-size:13px}.store-assets-modal-section form input,.store-assets-modal-section form select,.store-assets-modal-section form button{min-height:38px;font-size:13px}.store-assets-modal-section form button{width:auto;white-space:nowrap}.asset-settings{margin-top:16px}.asset-settings form{display:flex;align-items:end;gap:12px;flex-wrap:wrap;padding-top:12px}
@media(max-width:1100px){.store-assets-overview{grid-template-columns:minmax(210px,.62fr) minmax(0,1.38fr)}.store-assets-secondary-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.store-assets-secondary-metrics article,.store-assets-anomaly-strip{border:1px solid #e4ebe7;border-radius:8px}.store-assets-anomaly-strip.has-anomaly{margin-left:0}.store-assets-filter-grid{grid-template-columns:140px repeat(2,minmax(110px,1fr))}.store-assets-filter-secondary{display:contents}.store-assets-filter-secondary-grid{display:grid;grid-column:2/-1;grid-template-columns:repeat(4,minmax(105px,1fr));gap:8px}.store-assets-filter-query{grid-column:1/3}.store-assets-filter-actions{grid-column:3}.store-assets-table-wrap{max-height:calc(100vh - 470px)}}
@media(max-width:700px){.store-assets-hero{align-items:flex-start;margin-bottom:7px;padding:2px 0 8px}.store-assets-hero h1{font-size:24px}.store-assets-hero .page-description{font-size:12px}.store-assets-hero-actions{display:none}.store-assets-page .tabs{margin-bottom:8px}.store-assets-page .tabs a{min-height:40px;padding:7px 4px;font-size:12px}.store-assets-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;min-height:0;margin-bottom:8px;padding:8px;overflow:visible;border-radius:10px}.store-assets-primary-metric{min-width:0;min-height:76px;padding:11px 12px;border-radius:8px}.store-assets-primary-metric span{font-size:10px}.store-assets-primary-metric strong{margin:5px 0 2px;font-size:21px}.store-assets-primary-metric small{display:none}.store-assets-secondary-metrics{display:contents}.store-assets-secondary-metrics article{min-height:76px;padding:10px 11px;border:1px solid #e4ebe7;border-radius:8px}.store-assets-secondary-metrics article span{font-size:10px}.store-assets-secondary-metrics article strong{margin:5px 0 2px;font-size:18px}.store-assets-secondary-metrics article small{font-size:9px}.store-assets-anomaly-strip{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;min-height:44px;padding:8px 10px;border:1px solid #dce6e0;border-radius:8px}.store-assets-anomaly-strip strong{grid-column:2;grid-row:1/3;align-self:center;margin:0;font-size:17px}.store-assets-anomaly-strip small{grid-column:1}.store-assets-anomaly-strip.has-anomaly{margin:0}.store-assets-filter-panel{margin-bottom:7px;padding:8px}.store-assets-filter-grid{display:grid;grid-template-columns:118px minmax(0,1fr);gap:7px}.store-assets-filter-date{grid-column:1}.store-assets-filter-query{grid-column:2}.store-assets-filter-grid label{font-size:10px}.store-assets-filter-grid input,.store-assets-filter-grid select,.store-assets-filter-grid button{min-height:40px;font-size:13px}.store-assets-filter-secondary{display:block;grid-column:1/-1;grid-row:2}.store-assets-filter-secondary>summary{display:flex;align-items:center;justify-content:center;min-height:44px;padding:7px 10px;color:#315c49;border:1px solid #d8e4dd;border-radius:7px;background:#f3f8f5;font-size:12px;font-weight:800;cursor:pointer}.store-assets-filter-secondary[open]>summary{margin-bottom:7px;color:#fff;background:#39785f}.store-assets-filter-secondary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.store-assets-filter-actions{display:grid;grid-column:1/-1;grid-row:3;grid-template-columns:1fr 88px;gap:7px}.store-assets-filter-actions button,.store-assets-filter-actions .btn-link{min-height:44px}.store-assets-mobile-actions{display:inline-flex;align-items:center;justify-content:center}.store-assets-results-head{margin-bottom:5px}.store-assets-results-head span{font-size:14px}.store-assets-results-head small{display:none}.store-assets-table-wrap{display:none}.store-assets-mobile-cards{display:grid;gap:8px}.store-asset-card{margin:0;padding:12px;border:1px solid #dce5e0;border-radius:10px;background:#fff;box-shadow:0 4px 14px rgba(34,65,50,.05)}.store-asset-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-bottom:10px;border-bottom:1px solid #e7ece9}.store-asset-card header>div{min-width:0}.store-asset-card h3{margin:6px 0 3px;overflow:hidden;color:#203e31;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.store-asset-card header small{color:#718078;font-size:10px}.store-asset-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:7px 0}.store-asset-card dl div{display:flex;min-width:0;padding:7px 6px;border-bottom:1px solid #edf1ef;background:transparent;align-items:baseline;justify-content:space-between;gap:8px}.store-asset-card dl div.total{grid-column:1/-1;color:#185c43;background:#f3faf6}.store-asset-card dt{overflow:hidden;color:#718078;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.store-asset-card dd{margin:0;color:#2d4238;font-size:13px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}.store-asset-card footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:4px}.store-asset-card footer>span{min-width:0;overflow:hidden;color:#7a8981;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.store-asset-card footer button{width:auto;min-height:44px;padding:7px 11px}.store-assets-modal{align-items:flex-end;padding:0}.store-assets-modal-card{width:100%;max-height:calc(100dvh - 12px);margin:0;border-radius:16px 16px 0 0}.store-assets-modal-card>header{padding:13px 14px}.store-assets-modal-section{display:block;padding:13px 14px}.store-assets-modal-section>div{margin-bottom:9px}.store-assets-modal-section form{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.store-assets-modal-section form .reason{grid-column:1/-1}.store-assets-modal-section form button{grid-column:1/-1;width:100%;min-height:44px}.asset-settings{margin-top:12px}}
.account-menu { display: flex; align-items: center; gap: 8px; }
.account-link { display: flex; align-items: center; gap: 8px; padding: 5px 7px; color: var(--ink); border-radius: 6px; }
.account-link:hover, .account-link.active { background: #f0f4f2; }
.account-link > span:not(.account-avatar) { display: grid; line-height: 1.15; }
.account-link strong { max-width: 100px; overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.account-link small { margin-top: 3px; color: var(--muted); font-size: 11px; text-transform: uppercase; }
.account-avatar { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; color: #1c5b45; background: var(--primary-soft); border: 1px solid #cfe2d8; border-radius: 50%; font-size: 13px; font-weight: 800; }
.logout-form { margin: 0; }
.icon-button, .nav-toggle { width: 36px; min-height: 36px; padding: 0; color: #52606b; background: #fff; border-color: var(--line); font-size: 18px; }
.icon-button:hover, .nav-toggle:hover { color: var(--primary); background: var(--primary-soft); }
.nav-toggle { display: none; }
.container { max-width: 100%; margin: 0 auto; padding: 18px; }
.content-contained .container { max-width: 1440px; }
.nav-left { padding-left: 240px; }
.nav-left .topbar { position: fixed; inset: 0 auto 0 0; width: 240px; min-height: 100vh; padding: 18px 12px; display: flex; flex-direction: column; align-items: stretch; gap: 18px; border-right: 1px solid var(--line); border-bottom: 0; }
.nav-left .brand { min-width: 0; padding: 0 6px 14px; border-bottom: 1px solid var(--line); }
.nav-left .main-nav { display: flex; flex: 1; flex-direction: column; flex-wrap: nowrap; width: 100%; overflow-y: auto; }
.nav-left .main-nav a { width: 100%; padding: 10px 12px; }
.nav-left .account-menu { width: 100%; padding-top: 12px; justify-content: space-between; border-top: 1px solid var(--line); }
.nav-left .account-link { min-width: 0; }
.nav-left .account-link > span:not(.account-avatar) { min-width: 0; }
.login-card { width: min(420px, calc(100% - 32px)); margin: 10vh auto; padding: 32px; background: #fff; border: 1px solid var(--line); border-top: 4px solid var(--primary); border-radius: 8px; box-shadow: 0 18px 45px rgba(31,41,51,.1); }
.login-mark { display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 36px; margin-bottom: 18px; color: #fff; background: var(--primary); border-radius: 6px; font-size: 12px; font-weight: 800; }
.login-eyebrow { margin: 0 0 7px; color: var(--primary); font-size: 12px; font-weight: 800; }
.login-subtitle { margin: -8px 0 22px; color: var(--muted); font-size: 14px; }
.login-form { display: grid; gap: 16px; }
.login-remember { display: inline-flex; grid-template-columns: none; align-items: center; justify-self: start; gap: 8px; color: #52606b; font-size: 14px; cursor: pointer; }
.login-remember input { flex: 0 0 auto; width: 18px; min-height: 18px; margin: 0; padding: 0; accent-color: var(--primary); }
.login-form button { min-height: 48px; margin-top: 4px; }
h1 { margin: 0 0 18px; font-size: 26px; }
h2 { margin: 0 0 14px; font-size: 20px; }
section { margin-bottom: 20px; padding: 18px; background: #fff; border: 1px solid #dfe7df; border-radius: 8px; box-shadow: 0 8px 24px rgba(37, 61, 47, .04); }
.page-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 0; background: transparent; border: 0; }
.page-title-actions { display: flex; align-items: center; gap: 10px; }
.page-title-actions h1 { margin: 0; }
.app-page-hero { align-items: flex-end; min-height: 0; margin-bottom: 14px; padding: 4px 0 14px; border-bottom: 1px solid #e1e7e3; }
.app-page-hero .page-head-copy { min-width: 0; }
.app-page-hero .eyebrow { margin: 0 0 5px; color: #496157; font-size: 12px; font-weight: 800; letter-spacing: .08em; line-height: 1.2; }
.app-page-hero .page-title-actions { flex-wrap: wrap; }
.app-page-hero .page-title-actions h1 { color: #122b3f; font-size: 28px; line-height: 1.2; }
.app-page-hero .page-title-actions button, .app-page-hero .page-title-actions .button, .app-page-hero .page-title-actions .btn-link { width: auto; }
.app-page-hero .page-description { max-width: 760px; margin: 6px 0 0; color: #52655b; font-size: 14px; line-height: 1.5; }
.order-update-panel[hidden] { display: none; }
.grid { display: grid; grid-template-columns: minmax(360px, .9fr) minmax(420px, 1.1fr); gap: 20px; align-items: start; }
.grid > section { grid-column: 1 / -1; }
.metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 20px; }
.metrics div { padding: 18px; background: #fff; border: 1px solid var(--line); border-top: 3px solid var(--blue); border-radius: 8px; box-shadow: 0 5px 16px rgba(31,41,51,.05); }
.metrics div:nth-child(4n+2) { border-top-color: var(--primary); }
.metrics div:nth-child(4n+3) { border-top-color: var(--amber); }
.metrics div:nth-child(4n+4) { border-top-color: #9b4d67; }
.metrics span { display: block; margin-bottom: 8px; color: #64746b; font-size: 15px; }
.metrics strong { font-size: 28px; color: #18352a; }
.order-import-summary-title { margin: 0 0 8px; color: #405047; font-size: 15px; }
.metrics.order-import-summary { grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 8px; margin-bottom: 14px; }
.order-import-summary div { min-width: 0; padding: 12px; box-shadow: none; }
.order-import-summary span { margin-bottom: 5px; font-size: 13px; }
.order-import-summary strong { font-size: 20px; white-space: nowrap; }
form label { display: grid; gap: 6px; font-size: 15px; color: #405047; }
input, select, button { width: 100%; min-height: 40px; padding: 8px 10px; border: 1px solid #cbd4dc; border-radius: 6px; font: inherit; font-size: 16px; background: #fff; }
textarea { width: 100%; padding: 9px 10px; border: 1px solid #cbd4dc; border-radius: 6px; font: inherit; font-size: 16px; line-height: 1.5; resize: vertical; background: #fff; }
input:focus, select:focus, textarea:focus, button:focus-visible, a:focus-visible { outline: 3px solid rgba(52,120,184,.18); outline-offset: 1px; border-color: var(--blue); }
button { cursor: pointer; color: #fff; background: #2f7d5f; border-color: #2f7d5f; font-weight: 600; }
button.secondary { color: #2f7d5f; background: #e8f3ee; border-color: #cfe5d9; }
.date-range-input { cursor: pointer; background: #fff; }
.date-range-picker { position: absolute; z-index: 100; padding: 12px; background: #fff; border: 1px solid #d9ded9; border-radius: 8px; box-shadow: 0 18px 48px rgba(20, 35, 28, .18); }
.drp-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.drp-head button { width: 34px; min-height: 34px; padding: 0; color: #405047; background: #f5f7f5; border-color: #dfe7df; font-size: 22px; line-height: 1; }
.drp-head strong { color: #1d2a24; font-size: 16px; }
.drp-body { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.date-range-picker[data-mode="single"] .drp-body { grid-template-columns: 1fr; }
.date-range-picker[data-view="months"] .drp-body { grid-template-columns: 1fr; }
.date-range-picker[data-view="months"] { width: min(360px, calc(100vw - 16px)); }
.date-range-picker[data-view="weeks"] .drp-body { grid-template-columns: 1fr; }
.date-range-picker[data-view="weeks"] { width: min(360px, calc(100vw - 16px)); }
.app-week-select-source { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; clip-path: inset(50%) !important; white-space: nowrap !important; border: 0 !important; }
.app-week-select-trigger { display: flex; align-items: center; justify-content: flex-start; width: 100%; min-height: 40px; color: #23372e; background: #fff; border-color: #cbd9d1; font-weight: 500; text-align: left; white-space: nowrap; }
.app-week-select-trigger::after { content: "⌄"; margin-left: auto; color: #60736a; font-size: 16px; }
.drp-week-nav { display: grid; grid-template-columns: 34px 34px minmax(0, 1fr) 34px 34px; gap: 5px; }
.drp-week-nav .drp-week-title { text-align: center; }
.drp-week-picker { min-width: 0; }
.drp-week-header, .drp-week-row { display: grid; grid-template-columns: 42px repeat(7, minmax(0, 1fr)); align-items: center; }
.drp-week-header { margin-bottom: 4px; color: #738179; font-size: 13px; text-align: center; }
.drp-week-header span { padding: 5px 0; }
.drp-week-grid { display: grid; gap: 3px; }
.drp-week-row { width: 100%; min-height: 38px; padding: 0; color: #26352e; background: #fff; border: 1px solid transparent; border-radius: 6px; font-weight: 500; }
.drp-week-row:hover, .drp-week-row:focus-visible { color: #174a35; background: #e8f3ec; border-color: #9dc8ae; }
.drp-week-row.selected { color: #fff; background: #2f7d5a; border-color: #2f7d5a; }
.drp-week-row.disabled-week, .drp-week-row:disabled { color: #aeb8b3; background: #f3f5f4; border-color: transparent; cursor: not-allowed; opacity: 1; }
.drp-week-number { align-self: stretch; display: flex; align-items: center; justify-content: center; border-right: 1px solid rgba(109, 133, 120, .2); color: #5d7167; font-size: 12px; }
.drp-week-row.selected .drp-week-number { color: inherit; border-right-color: rgba(255, 255, 255, .28); }
.drp-week-day { display: flex; align-items: center; justify-content: center; min-width: 0; height: 32px; border-radius: 5px; }
.drp-week-day.is-outside-month { color: #b5bcb8; }
.drp-week-row.selected .drp-week-day.is-outside-month { color: rgba(255, 255, 255, .68); }
.drp-week-day.today { box-shadow: inset 0 0 0 1px #2f7d5a; }
.drp-week-row.selected .drp-week-day.today { box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .9); }
.drp-month-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.drp-month-option { min-height: 44px; padding: 8px 10px; color: #245c45; background: #f4f8f5; border-color: #d7e5dc; font-size: 14px; font-weight: 700; }
.drp-month-option:hover,.drp-month-option:focus-visible { color: #174a35; background: #e8f3ec; border-color: #9dc8ae; }
.drp-month-option.selected { color: #fff; background: #2f7d5a; border-color: #2f7d5a; }
.drp-month h3 { margin: 4px 0 10px; text-align: center; font-size: 16px; color: #1d2a24; }
.drp-week, .drp-days { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; }
.drp-week span { padding: 5px 0; text-align: center; color: #77827b; font-size: 14px; }
.drp-day { min-height: 34px; padding: 0; color: #26352e; background: #fff; border: 0; border-radius: 6px; font-weight: 500; }
.drp-day:hover { background: #e8f3ee; }
.drp-day.muted-day { color: #b5bcb8; }
.drp-day.disabled-day, .drp-day:disabled { color: #aeb8b3; background: #f1f4f2; cursor: not-allowed; opacity: 1; }
.drp-day.disabled-day:hover, .drp-day:disabled:hover { color: #aeb8b3; background: #f1f4f2; }
.drp-day.in-range { background: #e8f1ff; color: #1d4ed8; }
.drp-day.range-start, .drp-day.range-end { color: #fff; background: #2563eb; }
.drp-day.today { box-shadow: inset 0 0 0 1px #2563eb; }
.drp-actions { display: flex; justify-content: flex-end; margin-top: 10px; padding-top: 10px; border-top: 1px solid #edf1ed; }
.drp-open-ended { width: auto; min-height: 34px; padding: 6px 14px; color: #215f49; background: #e8f3ee; border-color: #c8ded2; }
.drp-open-ended:hover { background: #dceee5; }
.small { width: auto; min-height: 34px; padding: 5px 10px; font-size: 15px; }
.danger { background: #b42318; border-color: #b42318; }
.btn-link { display: inline-flex; align-items: center; justify-content: center; min-height: 34px; padding: 5px 10px; color: #2f7d5f; background: #e8f3ee; border-radius: 6px; font-size: 15px; font-weight: 600; }
.form-grid { display: grid; grid-template-columns: repeat(4, minmax(160px, 1fr)); gap: 14px; align-items: end; }
.form-grid .wide { grid-column: span 2; }
.form-grid .full { grid-column: 1 / -1; }
.navigation-settings { margin-top: 4px; padding-top: 14px; border-top: 1px solid #dfe7df; }
.navigation-settings-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.navigation-settings-title > div { display: flex; align-items: baseline; gap: 10px; }
.navigation-settings-title strong { color: #263c32; font-size: 16px; }
.navigation-settings-title span { color: var(--muted); font-size: 13px; }
.navigation-settings-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.navigation-settings-group { min-width: 0; overflow: hidden; border: 1px solid #dfe7e2; border-radius: 8px; background: #fff; }
.navigation-settings-group-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; padding: 9px 10px; background: #f3f8f5; border-bottom: 1px solid #dfe7e2; }
.navigation-settings-group-title h3 { margin: 0; color: #263c32; font-size: 15px; }
.navigation-settings-group-title span { flex: 0 0 auto; color: var(--muted); font-size: 12px; }
.navigation-settings-head, .navigation-settings-row { display: grid; grid-template-columns: 52px minmax(140px, .7fr) minmax(180px, 1fr) 84px; gap: 10px; align-items: center; }
.navigation-settings-head { padding: 0 10px 7px; color: #66756d; font-size: 12px; font-weight: 700; }
.navigation-settings-head span:last-child { text-align: center; }
.navigation-settings-row { min-height: 54px; padding: 7px 10px; border-top: 1px solid #e6ece8; }
.navigation-settings-row:nth-child(odd) { background: #fafcfb; }
.navigation-position { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; color: #2f6f56; background: #e8f3ee; border-radius: 50%; font-size: 13px; font-weight: 800; }
.navigation-original-name { color: #405047; font-size: 14px; }
.navigation-label-input { min-width: 0; }
.navigation-order-actions { display: flex; justify-content: center; gap: 6px; }
.navigation-order-button { width: 36px; min-height: 36px; font-size: 17px; }
.navigation-order-button:disabled { opacity: .35; cursor: not-allowed; }
.system-settings-save { width: auto; min-width: 150px; }
.order-search { grid-template-columns: minmax(220px, 360px) auto auto; justify-content: start; margin-bottom: 10px; }
.all-order-filter { grid-template-columns: minmax(220px, 1.6fr) repeat(5, minmax(120px, .7fr)) auto auto; width: 100%; }
.order-import-filter { grid-template-columns: minmax(220px, 1.6fr) repeat(3, minmax(120px, .7fr)) auto auto; width: 100%; }
.permission-box { display: grid; gap: 8px; }
.permission-box > span { color: #405047; font-size: 15px; }
.permission-options { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; }
.permission-options label { display: inline-flex; grid-template-columns: none; gap: 5px; align-items: center; color: #405047; font-size: 14px; }
.compact-permissions { margin-top: 7px; min-width: 260px; }
.person-access-fields { display: grid; gap: 7px; margin-top: 10px; padding-top: 10px; border-top: 1px solid #dfe7df; }
.person-access-fields > span { color: #405047; font-size: 13px; font-weight: 600; }
.person-access-picker { margin-top: 10px; border: 1px solid #cbd8cf; border-radius: 6px; background: #fff; }
.person-access-picker summary { display: flex; justify-content: space-between; gap: 12px; align-items: center; min-height: 38px; padding: 8px 10px; cursor: pointer; list-style: none; color: #405047; font-size: 14px; }
.person-access-picker summary::-webkit-details-marker { display: none; }
.person-access-picker summary::after { content: '▾'; color: #6b786f; transition: transform .15s ease; }
.person-access-picker[open] summary::after { transform: rotate(180deg); }
.person-access-picker summary strong { margin-left: auto; color: #2f7d5f; font-size: 13px; }
.person-access-panel { display: grid; gap: 10px; padding: 10px; border-top: 1px solid #e4ebe6; background: #f8faf8; }
.person-scope-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.person-scope-options label { display: flex; gap: 6px; align-items: center; min-height: 34px; padding: 6px 8px; border: 1px solid #d7e1da; border-radius: 6px; background: #fff; font-size: 13px; cursor: pointer; }
.person-checkbox-panel { display: grid; gap: 8px; }
.person-search { min-height: 34px; }
.person-checkbox-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; max-height: 210px; overflow: auto; }
.person-checkbox-grid label { display: flex; gap: 6px; align-items: center; min-width: 0; padding: 6px 8px; border-radius: 5px; background: #fff; font-size: 13px; cursor: pointer; }
.person-checkbox-grid label:hover { background: #eaf4ee; }
.system-management-page { min-width: 0; }
.system-management-tabs { display: flex; align-items: stretch; gap: 24px; margin: -4px 0 12px; padding: 0 4px; border-bottom: 1px solid var(--line); }
.system-management-tabs a { display: inline-flex; align-items: center; min-height: 42px; margin-bottom: -1px; padding: 0 2px; color: #53635b; border-bottom: 3px solid transparent; font-size: 15px; font-weight: 700; }
.system-management-tabs a:hover { color: var(--primary); }
.system-management-tabs a.active { color: var(--primary); border-bottom-color: var(--primary); }
.system-management-panel { margin: 0 0 20px; }
.system-management-panel > .section-heading:first-child { margin-bottom: 14px; }
.system-settings-form { display: grid; gap: 16px; }
.system-settings-basics { display: grid; grid-template-columns: repeat(4, minmax(160px, 1fr)); gap: 14px; align-items: end; }
.system-management-page .navigation-settings { margin-top: 0; }
.system-management-page .navigation-settings-row { min-height: 44px; padding-block: 4px; }
.system-management-page .navigation-position { width: 28px; height: 28px; }
.system-management-page .navigation-label-input { min-height: 36px; padding-block: 6px; font-size: 14px; }
.system-management-page .navigation-order-button { width: 34px; min-height: 34px; }
.system-management-actions { display: flex; justify-content: flex-end; padding-top: 2px; }
.system-management-actions button { width: auto; min-width: 168px; }
.system-account-heading { align-items: center; margin-bottom: 12px; }
.system-account-heading button { min-width: 96px; }
.account-create-panel { margin: 0 0 14px; padding: 14px; border: 1px solid #d6e2da; border-radius: 6px; background: #f8fbf9; }
.account-create-panel[hidden], .account-editor-row[hidden] { display: none; }
.account-create-form, .account-editor-form { display: grid; gap: 14px; }
.account-editor-basics { display: grid; grid-template-columns: repeat(4, minmax(150px, 1fr)); gap: 12px; align-items: end; }
.account-editor-basics label { font-size: 13px; }
.account-editor-basics input, .account-editor-basics select { min-height: 38px; font-size: 14px; }
.account-password-note { margin: -4px 0 0; font-size: 12px; }
.account-permission-group { min-width: 0; margin: 0; padding: 10px 12px 12px; border: 1px solid #dfe7e2; border-radius: 6px; }
.account-permission-group legend { padding: 0 5px; color: #344b40; font-size: 13px; font-weight: 700; }
.account-permission-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px 10px; }
.account-permission-grid label { display: flex; grid-template-columns: none; align-items: center; gap: 7px; min-width: 0; min-height: 32px; padding: 4px 6px; border-radius: 5px; color: #405047; font-size: 13px; cursor: pointer; }
.account-permission-grid label:hover { background: #edf5f0; }
.system-management-page .check { flex: 0 0 auto; width: 16px; min-height: 16px; margin: 0; padding: 0; accent-color: var(--primary); }
.account-risk-permissions { border-color: #ecd5d2; background: #fff8f7; }
.account-risk-permissions legend { color: #8f312b; }
.account-risk-permissions small { display: block; margin-top: 6px; color: #85534f; font-size: 11px; }
.account-person-access .person-access-picker { margin-top: 0; }
.account-editor-actions { display: flex; justify-content: flex-end; gap: 8px; }
.account-editor-actions button { width: auto; min-width: 96px; min-height: 38px; }
.account-management-table-wrap { border: 1px solid #dde5e0; border-radius: 6px; }
.account-management-table { width: 100%; table-layout: fixed; }
.account-management-table th { height: 38px; padding: 7px 9px; color: #405047; background: #f0f5f2; font-size: 13px; }
.account-management-table td { padding: 7px 9px; vertical-align: middle; font-size: 13px; }
.account-summary-row { height: 48px; }
.account-summary-row:hover td { background: #f8fbf9; }
.account-role-label { font-weight: 700; }
.account-permission-summary { color: #405e50; font-size: 12px; white-space: nowrap; }
.account-status-badge { display: inline-flex; align-items: center; justify-content: center; min-width: 48px; min-height: 24px; padding: 3px 8px; border-radius: 999px; font-size: 11px; font-weight: 700; }
.account-status-badge.is-active { color: #176346; background: #e5f3eb; }
.account-status-badge.is-disabled { color: #8b3c35; background: #fae9e7; }
.account-summary-actions { display: flex; align-items: center; gap: 6px; white-space: nowrap; }
.account-summary-actions form { margin: 0; }
.account-summary-actions button { min-height: 32px; padding: 4px 9px; font-size: 13px; }
.account-current-label { color: #66756d; font-size: 12px; }
.account-editor-row > td { padding: 0 !important; border-bottom: 1px solid #ccd9d1; white-space: normal !important; background: #f8fbf9; }
.account-editor-form { padding: 16px; }
.account-editor-footer { display: flex; align-items: center; gap: 12px; padding-top: 2px; }
.account-active-control { display: inline-flex; grid-template-columns: none; align-items: center; gap: 7px; min-height: 34px; white-space: nowrap; }
.account-editor-footer > .muted { margin-right: auto; font-size: 11px; }
.account-editor-footer .account-editor-actions { flex: 0 0 auto; }
.account-editor-footer button:disabled { opacity: .45; cursor: not-allowed; }
.jst-account-form { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(220px, 1fr) auto; gap: 12px; align-items: end; max-width: 980px; }
.jst-account-form button { width: auto; min-width: 180px; }
.integration-security-note { max-width: 1100px; margin: 10px 0 0; font-size: 12px; }
.integration-status-block { margin-top: 18px; padding-top: 16px; border-top: 1px solid #e2e8e4; }
.integration-status-block .section-heading { margin-bottom: 8px; }
.integration-status-block .jst-login-state { margin: 0; }
@media (min-width: 761px) and (max-width: 1399px) {
  .account-permission-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.inline { display: flex; gap: 10px; align-items: center; }
.store-detail-heading { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin-bottom: 10px; }
.store-detail-heading h2, .store-detail-heading .detail-date { margin: 0; }
.store-detail-heading .detail-date { margin-top: 4px; }
.store-detail-count { font-size: 14px; font-weight: 600; }
.detail-filter { justify-content: flex-end; align-items: end; margin: 0; }
.detail-filter label { width: min(170px, 100%); }
.toolbar-row { display: flex; justify-content: flex-end; gap: 8px; margin-bottom: 10px; }
.sales-rank-filter { justify-content: flex-end; margin: -4px 0 14px; }
.sales-rank-filter label { width: min(180px, 100%); }
.sales-rank-brand-filter { margin-left: 6px; font-size: 14px; font-weight: 600; }
.sales-rank-brand-filter .link-button { margin-left: 6px; font-size: 14px; }
.actual-cost-search { flex-wrap: nowrap; align-items: end; min-width: max-content; }
.actual-cost-search label { flex: 0 0 auto; width: 190px; }
.actual-cost-search button, .actual-cost-search .btn-link { flex: 0 0 auto; width: auto; min-width: 62px; white-space: nowrap; word-break: keep-all; }
.actual-cost-form { grid-template-columns: minmax(220px, 1.2fr) minmax(160px, .8fr) minmax(220px, 1.2fr) minmax(150px, .7fr); }
.actual-cost-rules-table input, .actual-cost-rules-table select { min-width: 120px; }
.actual-cost-head { display: flex; align-items: end; justify-content: space-between; gap: 12px; margin-bottom: 12px; overflow-x: auto; padding-bottom: 2px; }
.actual-cost-head h2 { flex: 0 0 auto; margin: 0; white-space: nowrap; }
.actual-cost-inventory-summary { margin-bottom: 18px; padding-bottom: 16px; border-bottom: 1px solid #e2e9e5; }
.actual-cost-inventory-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.actual-cost-inventory-heading h2 { margin: 0; }
.actual-cost-inventory-heading span { color: var(--muted); font-size: 13px; }
.actual-cost-inventory-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-bottom: 0; }
.actual-cost-inventory-metrics div { min-width: 0; padding: 14px 16px; box-shadow: none; }
.actual-cost-inventory-metrics span { margin-bottom: 5px; font-size: 13px; }
.actual-cost-inventory-metrics strong { display: block; overflow-wrap: anywhere; font-size: 24px; }
.actual-cost-inventory-metrics small { display: block; margin-top: 7px; color: #77857e; font-size: 12px; line-height: 1.4; }
.actual-cost-product-table { min-width: 1260px; }
.actual-cost-product-table th:nth-child(7), .actual-cost-product-table td:nth-child(7) { min-width: 280px; white-space: normal; }
.actual-cost-rule-summary-content { display: grid; gap: 4px; line-height: 1.45; }
.actual-cost-rule-summary-visible, .actual-cost-rule-summary-extra { display: grid; gap: 4px; }
.actual-cost-rule-summary-extra[hidden] { display: none; }
.actual-cost-rule-summary-toggle { justify-self: start; width: auto; min-height: 26px; margin-top: 2px; padding: 2px 0; color: #28745a; font-size: 13px; font-weight: 700; }
.actual-cost-actions-cell { min-width: 190px; }
.actual-cost-product-actions { display: flex; align-items: center; gap: 8px; flex-wrap: nowrap; white-space: nowrap; }
.actual-cost-product-actions form { display: block; margin: 0; }
.actual-cost-product-actions button { width: auto; min-height: 32px; margin: 0; padding: 5px 9px; white-space: nowrap; }
.actual-cost-sales-channels { min-width: 150px; white-space: normal; }
.actual-cost-sync-toggle { width: auto; }
.actual-cost-sync-fold { margin-bottom: 16px; overflow: hidden; border: 1px solid #d6e1db; border-radius: 9px; background: #fff; }
.actual-cost-sync-bar { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 54px; padding: 12px 16px; border-bottom: 1px solid #dbe6df; background: #f2f7f4; }
.actual-cost-sync-title { display: flex; align-items: baseline; gap: 12px; min-width: 0; }
.actual-cost-sync-title h2 { margin: 0; color: #174b39; font-size: 18px; }
.actual-cost-sync-title span { color: #708079; font-size: 14px; }
.actual-cost-sync-close { flex: 0 0 auto; }
.actual-cost-sync-intro { margin: 0; padding: 14px 16px 0; color: #63726b; line-height: 1.55; }
.actual-cost-sync-layout { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; padding: 16px; }
.actual-cost-sync-card { min-width: 0; padding: 16px 18px; border: 1px solid #d8e2dc; border-radius: 8px; background: #fff; }
.actual-cost-sync-card h3 { margin: 0 0 10px; color: #163f31; font-size: 18px; }
.actual-cost-sync-card > p { min-height: 48px; margin: 0 0 14px; color: #68776f; line-height: 1.55; }
.actual-cost-manual-form button, .actual-cost-auto-save { width: 100%; min-height: 42px; font-size: 15px; font-weight: 700; }
.actual-cost-sync-divider { height: 1px; margin: 16px 0 13px; background: #e0e8e3; }
.actual-cost-sync-card h4 { margin: 0 0 9px; color: #244c3d; font-size: 15px; }
.actual-cost-manual-result { display: grid; gap: 5px; padding: 12px; border: 1px solid #d7e3dc; border-radius: 7px; background: #f7faf8; }
.actual-cost-manual-result strong { color: #173f31; }
.actual-cost-manual-result span, .actual-cost-manual-result small { color: #68776f; overflow-wrap: anywhere; }
.actual-cost-auto-form { margin: 0; }
.actual-cost-auto-controls { display: grid; grid-template-columns: minmax(220px, 1.1fr) minmax(230px, .9fr); gap: 14px; margin-bottom: 12px; }
.actual-cost-auto-check { display: flex; align-items: center; gap: 8px; min-height: 104px; padding: 14px; border: 1px solid #cfdcd5; border-radius: 7px; background: #fff; }
.actual-cost-auto-check input { width: 18px; min-height: 18px; margin: 0; padding: 0; }
.actual-cost-auto-time > span { display: block; margin-bottom: 6px; color: #244c3d; font-weight: 700; }
.actual-cost-auto-time small { display: block; margin-top: 6px; color: #7a8981; }
.actual-cost-auto-time .jst-time-picker { margin-top: 0; }
.actual-cost-auto-time .jst-time-picker label { min-width: 0; }
.actual-cost-auto-time .jst-time-picker select { width: 100%; }
.actual-cost-auto-save { margin-bottom: 12px; }
.actual-cost-sync-status { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.actual-cost-sync-status div { min-width: 0; padding: 9px 10px; border-radius: 6px; background: #f0f5f2; }
.actual-cost-sync-status span, .actual-cost-sync-status strong { display: block; }
.actual-cost-sync-status span { margin-bottom: 3px; color: #6b786f; font-size: 13px; }
.actual-cost-sync-status strong { overflow-wrap: anywhere; font-size: 14px; }
.actual-cost-sync-note { margin: 0; padding: 0 16px 16px; color: #68776f; line-height: 1.5; }
.actual-cost-purchase-toggle { width: auto; }
.actual-cost-purchase-fold { border-color: #cfded6; }
.purchase-date-range, .purchase-auto-controls { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-bottom: 12px; }
.purchase-date-range label, .purchase-interval-input { min-width: 0; }
.purchase-interval-input { display: block; color: #244c3d; font-weight: 700; }
.purchase-interval-input input { margin-top: 6px; }
.purchase-auto-controls .actual-cost-auto-check { min-height: 78px; }
.purchase-job-list { display: grid; gap: 8px; }
.purchase-job-row { display: grid; gap: 3px; padding: 10px 11px; border-radius: 6px; background: #f3f7f5; }
.purchase-job-row strong { color: #244c3d; font-size: 14px; }
.purchase-job-row span, .purchase-job-row small { color: #6e7d75; overflow-wrap: anywhere; }
.purchase-import-section { margin-bottom: 18px; padding: 17px; border: 1px solid #d5e1da; border-radius: 9px; background: #fff; }
.purchase-import-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 13px; }
.purchase-import-heading h2 { margin: 0 0 4px; }
.purchase-import-heading p { margin: 0; color: #68776f; }
.purchase-search-form { display: flex; align-items: flex-end; flex-wrap: wrap; gap: 8px; margin-top: 11px; }
.purchase-search-form label { display: grid; grid-template-columns: auto minmax(280px, 430px); align-items: center; gap: 8px; margin: 0; color: #244c3d; font-weight: 700; }
.purchase-search-form input { min-width: 280px; margin: 0; }
.purchase-search-form button { width: auto; margin: 0; }
.purchase-bulk-toolbar { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.purchase-bulk-toolbar .checkbox { display: inline-flex; align-items: center; gap: 7px; width: auto; margin: 0 4px 0 0; white-space: nowrap; }
.purchase-bulk-toolbar .checkbox input { flex: 0 0 auto; width: 18px; min-height: 18px; margin: 0; padding: 0; }
.purchase-import-alert { margin-bottom: 12px; }
.purchase-import-list { display: grid; gap: 10px; }
.purchase-import-card { display: grid; grid-template-columns: 28px minmax(240px, .95fr) minmax(270px, 1.25fr) minmax(145px, .55fr) auto; align-items: center; gap: 12px; padding: 13px; border: 1px solid #dce5e0; border-radius: 8px; background: #fbfdfc; }
.purchase-item-check { align-self: stretch; display: flex; align-items: center; justify-content: center; }
.purchase-item-check input { width: 17px; min-height: 17px; margin: 0; padding: 0; }
.purchase-receipt-meta, .purchase-product-meta { display: grid; gap: 3px; min-width: 0; }
.purchase-receipt-meta strong, .purchase-product-meta strong { color: #244c3d; overflow-wrap: anywhere; }
.purchase-receipt-meta span, .purchase-product-meta span { color: #6d7a73; font-size: 13px; overflow-wrap: anywhere; }
.purchase-real-price { min-width: 0; color: #244c3d; font-weight: 700; }
.purchase-real-price input { margin-top: 5px; min-width: 0; }
.purchase-item-actions { display: flex; align-items: center; gap: 7px; white-space: nowrap; }
.purchase-item-actions form { margin: 0; }
.purchase-item-actions button { width: auto; margin: 0; }
.purchase-import-empty { padding: 24px; }
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
.actual-cost-modal-card { width: min(1180px, 100%); }
.actual-cost-rule-edit-table { table-layout: fixed; }
.actual-cost-rule-edit-table th, .actual-cost-rule-edit-table td { text-align: center; white-space: normal; }
.actual-cost-rule-edit-table th:nth-child(1), .actual-cost-rule-edit-table td:nth-child(1) { width: 18%; }
.actual-cost-rule-edit-table th:nth-child(6), .actual-cost-rule-edit-table td:nth-child(6) { width: 22%; }
.actual-cost-rule-edit-table input, .actual-cost-rule-edit-table select { width: 100%; min-width: 0; }
.actual-cost-rule-edit-table input:disabled { color: #8a948f; background: #edf1ef; border-color: #d6ddda; cursor: not-allowed; opacity: 1; }
.actual-cost-form-alert { margin: 0 0 10px; }
@media (max-width: 760px) {
  .actual-cost-inventory-heading { align-items: flex-start; flex-direction: column; gap: 4px; }
  .actual-cost-inventory-metrics { grid-template-columns: 1fr; }
  .actual-cost-sync-bar { align-items: flex-start; }
  .actual-cost-sync-title { align-items: flex-start; flex-direction: column; gap: 3px; }
  .actual-cost-sync-layout { grid-template-columns: 1fr; padding: 12px; }
  .actual-cost-sync-card { padding: 14px; }
  .actual-cost-sync-card > p { min-height: 0; }
  .actual-cost-auto-controls { grid-template-columns: 1fr; }
  .actual-cost-auto-check { min-height: 64px; }
  .actual-cost-sync-status { grid-template-columns: 1fr; }
  .actual-cost-product-actions { gap: 6px; }
  .purchase-date-range, .purchase-auto-controls { grid-template-columns: 1fr; }
  .purchase-import-heading { align-items: stretch; flex-direction: column; }
  .purchase-search-form { align-items: stretch; }
  .purchase-search-form label { grid-template-columns: 1fr; width: 100%; }
  .purchase-search-form input { width: 100%; min-width: 0; }
  .purchase-bulk-toolbar { justify-content: flex-start; }
  .purchase-import-card { grid-template-columns: 28px 1fr; align-items: start; }
  .purchase-receipt-meta, .purchase-product-meta, .purchase-real-price, .purchase-item-actions { grid-column: 2; }
  .purchase-item-actions { flex-wrap: wrap; }
}
.table-wrap { overflow: auto; }

/* Douyin multi-account funds */
.douyin-account-section, .douyin-funds-section { margin-bottom: 16px; padding: 16px; border: 1px solid #d8e2dc; border-radius: 9px; background: #fff; }
.douyin-disclosure { min-width: 0; }
.douyin-disclosure-summary { color: #244c3d; cursor: pointer; }
.douyin-disclosure-title { font-weight: 800; }
.douyin-disclosure-badge { display: inline-flex; align-items: center; padding: 3px 8px; color: #5d6f66; border-radius: 999px; background: #eef2ef; font-size: 12px; font-weight: 700; }
.douyin-disclosure-badge.is-success { color: #176544; background: #ddf2e7; }
.douyin-disclosure-badge.is-warning { color: #8c5a18; background: #fff0d8; }
.douyin-disclosure-meta { color: #6f7e76; font-size: 13px; font-weight: 500; }
.douyin-account-heading { align-items: flex-start; }
.douyin-account-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.douyin-account-heading p { margin: 8px 0 0; }
.douyin-account-table, .douyin-funds-table { min-width: 980px; }
.douyin-cell-note, .douyin-cell-error { display: block; margin-top: 4px; color: #718078; font-size: 12px; }
.douyin-cell-error { max-width: 320px; color: #9d342f; white-space: normal; }
.douyin-row-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.douyin-row-actions form { margin: 0; }
.douyin-row-actions button { width: auto; white-space: nowrap; }
.douyin-verification-form { min-width: 240px; margin-top: 8px; padding: 9px; border: 1px solid #cbded4; border-radius: 7px; background: #f4f8f6; }
.douyin-verification-fields { display: grid; grid-template-columns: minmax(110px, 1fr) auto; gap: 6px; margin-top: 7px; }
.douyin-verification-fields input { min-width: 0; }
.douyin-verification-fields button { width: auto; white-space: nowrap; }
.douyin-slider-challenge { width: min(500px, 72vw); margin-top: 8px; padding: 10px; border: 1px solid #d7c27e; border-radius: 8px; background: #fffaf0; white-space: normal; }
.douyin-slider-challenge > strong, .douyin-slider-challenge > small { display: block; }
.douyin-slider-stage { position: relative; margin-top: 8px; overflow: hidden; border: 1px solid #d7ddd9; border-radius: 7px; background: #eef2ef; }
.douyin-slider-image { display: block; width: 100%; height: auto; max-height: 520px; object-fit: contain; touch-action: none; cursor: grab; user-select: none; -webkit-user-drag: none; }
.douyin-slider-challenge[data-douyin-slider-accepts-input="0"] .douyin-slider-image { cursor: wait; opacity: .78; pointer-events: none; }
.douyin-slider-challenge[data-douyin-slider-dragging="1"] .douyin-slider-image { cursor: grabbing; }
.douyin-slider-stage > span { position: absolute; right: 8px; bottom: 8px; padding: 4px 7px; color: #fff; background: rgba(21, 48, 37, .78); border-radius: 5px; font-size: 12px; pointer-events: none; }
.status-pill { display: inline-flex; padding: 3px 8px; color: #506058; background: #eef2ef; border-radius: 999px; font-size: 12px; }
.status-ready, .status-success { color: #15623f; background: #dcf3e7; }
.status-failed, .status-expired { color: #8c2c27; background: #fde5e3; }
.status-waiting_verification { color: #805d12; background: #fff1c8; }
.douyin-sync-layout { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-bottom: 16px; }
.douyin-sync-card { min-width: 0; padding: 18px; border: 1px solid #d8e2dc; border-radius: 9px; background: #fff; }
.douyin-sync-card h2 { margin: 0 0 10px; color: #174b39; font-size: 20px; }
.douyin-sync-card > p { min-height: 48px; margin: 0 0 16px; color: #68776f; line-height: 1.55; }
.douyin-primary-action { width: 100%; background: #2f8668; }
.douyin-fund-progress { margin-top: 10px; padding: 10px 12px; border: 1px solid #dce7e1; border-radius: 7px; background: #f4f8f6; }
.douyin-fund-progress-bar { height: 8px; overflow: hidden; border-radius: 999px; background: #dce7e1; }
.douyin-fund-progress-bar span { display: block; height: 100%; border-radius: inherit; background: #2f8668; transition: width .25s ease; }
.douyin-fund-progress-copy { display: flex; justify-content: space-between; gap: 12px; margin-top: 7px; color: #5f7067; font-size: 13px; }
.douyin-fund-progress-copy strong { color: #244c3d; font-weight: 600; }
.douyin-margin-error { display: block; max-width: 220px; margin-top: 4px; color: #9d342f; font-size: 12px; line-height: 1.35; white-space: normal; }
.douyin-sync-divider { height: 1px; margin: 16px 0 13px; background: #e0e8e3; }
.douyin-sync-card h3 { margin: 0 0 8px; color: #244c3d; font-size: 15px; }
.douyin-recent-result { padding: 12px; background: #f4f8f6; border: 1px solid #dce7e1; border-radius: 7px; }
.douyin-recent-result strong, .douyin-recent-result span { display: block; }
.douyin-recent-result span { margin-top: 4px; color: #66766e; }
.douyin-auto-controls { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(280px, 1fr); gap: 12px; margin-bottom: 12px; }
.douyin-auto-toggle { display: flex; align-items: center; min-height: 88px; padding: 14px; border: 1px solid #d9e3dd; border-radius: 7px; }
.douyin-auto-toggle input[type="checkbox"] { width: auto; margin-right: 9px; }
.douyin-time-control strong, .douyin-time-control small { display: block; }
.douyin-time-control > div { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 8px; margin: 6px 0 4px; }
.douyin-shop-scope { min-width: 0; margin: 0 0 14px; padding: 12px; border: 1px solid #d9e3dd; border-radius: 8px; }
.douyin-shop-scope legend { padding: 0 6px; color: #244c3d; font-weight: 700; }
.douyin-shop-scope-modes { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 18px; }
.douyin-shop-scope-modes label { display: inline-flex; align-items: center; gap: 6px; }
.douyin-shop-scope-modes input { width: auto; }
.douyin-shop-scope-modes strong { margin-left: auto; color: #2f6e57; font-size: 13px; }
.douyin-shop-scope-panel { display: none; margin-top: 10px; }
.douyin-shop-scope.is-selected-mode .douyin-shop-scope-panel { display: block; }
.douyin-shop-scope-toolbar { display: grid; grid-template-columns: minmax(160px, 1fr) auto auto; gap: 8px; margin-bottom: 8px; }
.douyin-shop-scope-toolbar button { width: auto; white-space: nowrap; }
.douyin-shop-scope-list { max-height: 360px; overflow: auto; overscroll-behavior: contain; border: 1px solid #e1e9e4; border-radius: 7px; background: #fbfdfc; }
.douyin-shop-scope-group { margin: 0; border-top: 1px solid #e5ebe7; }
.douyin-shop-scope-group:first-child { border-top: 0; }
.douyin-shop-scope-group > summary { display: flex; justify-content: space-between; gap: 10px; padding: 9px 10px; color: #315646; cursor: pointer; font-weight: 600; }
.douyin-shop-scope-group > summary span { color: #78867f; font-size: 12px; font-weight: 400; }
.douyin-shop-scope-row { display: flex; align-items: flex-start; gap: 8px; padding: 8px 12px 8px 26px; border-top: 1px solid #edf1ef; cursor: pointer; }
.douyin-shop-scope-row:hover { background: #f1f7f4; }
.douyin-shop-scope-row input { width: auto; margin-top: 3px; }
.douyin-shop-scope-row span, .douyin-shop-scope-row strong, .douyin-shop-scope-row small { display: block; min-width: 0; }
.douyin-shop-scope-row small { margin-top: 2px; color: #718078; font-size: 12px; overflow-wrap: anywhere; }
.douyin-shop-scope-row.is-unavailable { color: #87928c; cursor: not-allowed; background: #f5f6f5; }
.douyin-sync-status { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 12px; }
.douyin-sync-status div { min-width: 0; padding: 10px; border-radius: 6px; background: #f0f5f2; }
.douyin-sync-status span, .douyin-sync-status strong { display: block; }
.douyin-sync-status span { margin-bottom: 3px; color: #6b786f; font-size: 13px; }
.douyin-sync-status strong { overflow-wrap: anywhere; font-size: 14px; }
.douyin-fund-searchbar { display: grid; gap: 10px; margin-bottom: 12px; }
.douyin-fund-searchbar label { min-width: 0; }
.douyin-fund-searchbar label > span { color: #52655b; font-size: 13px; font-weight: 700; }
.douyin-fund-searchbar input, .douyin-fund-searchbar select { min-width: 0; }
.douyin-fund-searchbar .btn-link { min-height: 40px; }
.douyin-funds-table td:not(:first-child):not(:last-child) { white-space: nowrap; }
.douyin-row-failed { background: #fff9f8; }

@media (min-width: 761px) {
  .douyin-page-head { margin-bottom: 14px; }
  .douyin-account-section.douyin-disclosure-shell { padding: 0; overflow: hidden; }
  .douyin-disclosure { margin-bottom: 16px; overflow: hidden; border: 1px solid #d8e2dc; border-radius: 9px; background: #fff; }
  .douyin-disclosure-shell .douyin-disclosure { margin: 0; border: 0; border-radius: inherit; }
  .douyin-disclosure-summary { display: list-item; min-height: 52px; padding: 15px; list-style-position: inside; }
  .douyin-disclosure-summary::marker { color: #4d7967; }
  .douyin-disclosure-summary > span { margin-left: 9px; vertical-align: middle; }
  .douyin-disclosure[open] > .douyin-disclosure-summary { border-bottom: 1px solid #e2e9e5; background: #fbfdfc; }
  .douyin-disclosure-summary:hover { background: #f5f9f7; }
  .douyin-disclosure-meta { float: right; margin: 1px 0 0 16px; text-align: right; }
  .douyin-disclosure-body { padding: 16px; }
  .douyin-account-heading { margin-bottom: 12px; }
  .douyin-account-heading > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px; width: 100%; }
  .douyin-account-toolbar { grid-column: 2; grid-row: 1; justify-content: flex-end; }
  .douyin-account-toolbar button { width: auto; }
  .douyin-account-heading p { grid-column: 1; grid-row: 1; margin: 0; }
  .douyin-sync-layout { margin-bottom: 0; }
  .douyin-fund-searchbar { grid-template-columns: minmax(220px, 1.8fr) minmax(150px, .8fr) minmax(150px, .8fr) auto auto; align-items: end; padding: 10px; border: 1px solid #dfe7e2; border-radius: 8px; background: #f8faf9; }
  .douyin-fund-searchbar button, .douyin-fund-searchbar .btn-link { width: auto; min-width: 76px; white-space: nowrap; }
}

@media (min-width: 761px) and (max-width: 900px) {
  .douyin-fund-searchbar { grid-template-columns: minmax(0, 1fr) repeat(2, minmax(145px, .7fr)) auto auto; }
  .douyin-search-query { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
  .douyin-disclosure-summary { display: none; }
  .douyin-disclosure-body { display: block; }
  .douyin-disclosure:not([open]) > .douyin-disclosure-body { display: block; }
  .douyin-sync-disclosure { margin: 0; border: 0; background: transparent; }
  .douyin-fund-searchbar { grid-template-columns: 1fr; }
  .douyin-fund-searchbar button, .douyin-fund-searchbar .btn-link { width: 100%; }
  .douyin-sync-layout { grid-template-columns: 1fr; }
  .douyin-sync-card { padding: 14px; }
  .douyin-sync-card > p { min-height: 0; }
  .douyin-auto-controls { grid-template-columns: 1fr; }
  .douyin-shop-scope-toolbar { grid-template-columns: 1fr; }
  .douyin-shop-scope-toolbar button { width: 100%; }
  .douyin-shop-scope-list { max-height: 300px; }
  .douyin-shop-scope-modes strong { width: 100%; margin-left: 0; }
  .douyin-sync-status { grid-template-columns: 1fr; }
  .douyin-account-section, .douyin-funds-section { padding: 12px; }
  .douyin-verification-fields { grid-template-columns: 1fr; }
  .douyin-verification-fields button { width: 100%; }
  .douyin-slider-challenge { width: min(500px, 82vw); }
}
.jst-status-metrics strong { font-size: 22px; overflow-wrap: anywhere; }
.jst-status-time { font-size: 17px !important; }
.metrics.jst-overview-metrics { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.jst-auth-card { border-left: 4px solid var(--amber); }
.jst-fetch-form { margin-top: 14px; }
.jst-fetch-progress { margin-top: 12px; padding: 12px; border: 1px solid #cbded3; border-radius: 8px; background: #f6faf8; }
.jst-fetch-progress-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: #1d4936; }
.jst-fetch-progress-track { height: 10px; margin-top: 9px; overflow: hidden; border-radius: 999px; background: #dfe9e3; }
.jst-fetch-progress-track span { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #2d6ea3, #2f7d57); transition: width .25s ease; }
.jst-fetch-progress p { margin: 8px 0 0; color: #607168; font-size: 13px; line-height: 1.5; }
.jst-fetch-progress.is-complete { border-color: #9fcbb2; background: #eef8f2; }
.jst-fetch-progress.is-error { border-color: #d9aaa4; background: #fff3f1; }
.jst-fetch-progress.is-error .jst-fetch-progress-head { color: #9b382d; }
.jst-chart-card { overflow: hidden; }
.jst-chart-wrap { position: relative; min-height: 330px; }
.jst-settings-card { width: min(1280px, 100%); }
.jst-settings-card > .section-heading h3 { margin: 0 0 4px; }
.jst-fetch-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 16px; }
.order-import-fold { margin-top: 12px; overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.order-import-fold > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 54px; padding: 12px 16px; color: #173b2d; cursor: pointer; list-style: none; user-select: none; }
.order-import-fold > summary::-webkit-details-marker { display: none; }
.order-import-fold > summary span { display: flex; align-items: baseline; gap: 10px; }
.order-import-fold > summary strong { font-size: 16px; }
.order-import-fold > summary small { color: var(--muted); font-size: 13px; }
.order-import-fold > summary::after { content: '展开 ▾'; color: #517064; font-size: 13px; white-space: nowrap; }
.order-import-fold[open] > summary { background: #f3f8f5; }
.order-import-fold[open] > summary::after { content: '收起 ▴'; }
.order-import-fold-body { padding: 16px; border-top: 1px solid var(--line); }
.order-import-fold-body > :first-child { margin-top: 0; }
.order-import-fold-body > :last-child { margin-bottom: 0; }
.order-import-history-fold { margin-top: 0; }
.all-order-heading { display: flex; align-items: center; justify-content: flex-start; gap: 12px; margin-bottom: 14px; }
.all-order-heading h2 { margin: 0; }
.manual-order-modal[hidden], [data-manual-shipment-field][hidden], [data-manual-return-field][hidden] { display: none !important; }
.manual-order-card { width: min(1040px, 100%); }
.manual-order-card .modal-head { align-items: flex-start; }
.manual-order-card .modal-head p { margin: 5px 0 0; color: var(--muted); font-size: 14px; }
.manual-order-form { grid-template-columns: repeat(4, minmax(150px, 1fr)); }
.jst-fetch-panel { margin: 0; padding: 16px; border: 1px solid var(--line); border-radius: 8px; background: #fbfdfc; box-shadow: none; }
.jst-fetch-panel h3 { margin: 0 0 5px; color: #18352a; }
.jst-order-job-section { margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--line); }
.jst-order-job-section h4 { margin: 0 0 10px; color: #294a3c; }
.jst-order-job-list { display: grid; gap: 9px; }
.jst-order-job { padding: 10px 11px; border: 1px solid #d9e3dd; border-radius: 7px; background: #fff; }
.jst-order-job-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: #264739; }
.jst-order-job-head span { color: #2f7657; font-size: 13px; font-weight: 700; white-space: nowrap; }
.jst-order-job.failed { border-color: #e2b7b1; background: #fff8f7; }
.jst-order-job.failed .jst-order-job-head span { color: #a13d31; }
.jst-order-job-progress { height: 7px; margin-top: 8px; overflow: hidden; border-radius: 999px; background: #e4ece7; }
.jst-order-job-progress span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #2d6ea3, #2f7d57); }
.jst-order-job p { margin: 7px 0 0; color: #56695f; font-size: 12px; line-height: 1.45; white-space: normal; }
.jst-order-job small { display: block; margin-top: 6px; color: #7a8881; }
.jst-login-state { margin: 12px 0 0; color: var(--muted); }
.jst-auto-form { grid-template-columns: repeat(2, minmax(150px, 1fr)); margin-top: 14px; }
.jst-auto-form .check-label { display: flex; align-items: center; align-self: stretch; gap: 8px; padding: 8px 10px; border: 1px solid #cbd4dc; border-radius: 6px; background: #fff; }
.jst-auto-form .check-label input { width: 18px; min-height: 18px; margin: 0; padding: 0; }
.jst-time-picker-label { min-width: 0; }
.jst-time-picker { display: grid; grid-template-columns: minmax(96px, 1fr) auto minmax(96px, 1fr); align-items: center; gap: 8px; margin-top: 6px; }
.jst-time-picker select { width: 100%; min-width: 0; font-variant-numeric: tabular-nums; }
.jst-time-picker strong { color: #476357; font-size: 20px; line-height: 1; }
.jst-time-picker-label small { display: block; margin-top: 5px; color: var(--muted); font-weight: 400; }
.jst-auto-status { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 14px 0; }
.jst-auto-status div { min-width: 0; padding: 9px 10px; border-radius: 6px; background: #f0f5f2; }
.jst-auto-status dt { margin-bottom: 3px; color: #6b786f; font-size: 13px; }
.jst-auto-status dd { margin: 0; color: #20382e; font-size: 14px; overflow-wrap: anywhere; }
.jst-auto-status .status-ok { color: #16734b; font-weight: 700; }
.jst-auto-status .status-warn { color: #9a6500; font-weight: 700; }
.jst-run-now-form button { width: auto; }
.jst-import-list { display: grid; gap: 14px; }
.jst-import-card { border: 1px solid var(--line); border-radius: 8px; background: #fbfdfc; overflow: hidden; }
.jst-import-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 14px 16px; border-bottom: 1px solid var(--line); }
.jst-import-head h3 { margin: 0 0 4px; }
.jst-import-head p, .jst-import-meta { margin: 0; color: var(--muted); }
.jst-import-card table { margin: 0; }
.jst-import-meta { padding: 10px 16px; border-top: 1px solid var(--line); font-size: 13px; }
.jst-summary-sheet .wide-fit { margin-top: 14px; }
.fit-table.jst-summary-table th:first-child, .fit-table.jst-summary-table td:first-child { width: 15%; }
.fit-table.jst-summary-table th:last-child, .fit-table.jst-summary-table td:last-child { width: 12%; }
.fit-table.jst-daily-table th:first-child, .fit-table.jst-daily-table td:first-child { width: 18%; }
.fit-table.jst-daily-table th:last-child, .fit-table.jst-daily-table td:last-child { width: 24%; }
.wide-fit { width: 100%; overflow: visible; }
table { width: 100%; border-collapse: collapse; font-size: 16px; background: #fff; }
th, td { padding: 10px 12px; border-bottom: 1px solid #edf1ed; text-align: left; white-space: nowrap; }
th { color: #506058; background: #f2f6f2; font-weight: 700; }
th a.client-sort-active::after { margin-left: 3px; color: #2f7d5f; font-weight: 700; }
th a.sort-asc::after { content: "^"; }
th a.sort-desc::after { content: "v"; }
.compact th, .compact td { padding: 7px 8px; border: 1px solid #d9ded9; }
.fit-table { width: 100%; table-layout: fixed; font-size: clamp(13px, .78vw, 14px); }
.fit-table th, .fit-table td { padding: 5px 3px; white-space: normal; overflow: visible; text-overflow: clip; overflow-wrap: anywhere; word-break: break-word; text-align: center; line-height: 1.25; }
.fit-table th:first-child, .fit-table td:first-child { width: 8%; }
.fit-table th:last-child, .fit-table td:last-child { width: 7%; }
.modal-table td:first-child { font-size: .92em; }
.detail-table td:nth-child(3), .detail-table th:nth-child(3), .modal-table td:first-child { white-space: nowrap; overflow: visible; text-overflow: clip; word-break: keep-all; font-size: clamp(11px, .68vw, 13px); }
.detail-table td:nth-child(3) .link-button { max-width: 100%; font-size: inherit; white-space: nowrap; }
.report-table { font-size: 14px; }
.report-table th, .report-table td { padding: 5px 2px; word-break: keep-all; overflow-wrap: normal; }
.report-table th:first-child, .report-table td:first-child { width: 7%; }
.report-table th:nth-child(n+2):nth-child(-n+13),
.report-table td:nth-child(n+2):nth-child(-n+13) { width: 5%; }
.report-table th:nth-child(n+14),
.report-table td:nth-child(n+14) { width: 5.5%; }
.sales-rank-block .fit-table th:nth-child(4), .sales-rank-block .fit-table td:nth-child(4) { width: 20%; }
.sales-rank-block .fit-table th:nth-child(6), .sales-rank-block .fit-table td:nth-child(6),
.sales-rank-block .fit-table th:nth-child(7), .sales-rank-block .fit-table td:nth-child(7) { width: 15%; }
.sales-product-table th:nth-child(4), .sales-product-table td:nth-child(4) { width: 30%; }
.compact input, .compact select { min-width: 92px; min-height: 32px; padding: 4px 6px; border-radius: 4px; }
.all-detail-wrap { overflow: auto; }
.all-detail-table { width: calc(100% - 6px); table-layout: fixed; }
.all-detail-table .col-date { width: 86px; }
.all-detail-table .col-owner { width: 54px; }
.all-detail-table .col-channel { width: 48px; }
.all-detail-table .col-store { width: 72px; }
.all-detail-table .col-order { width: 68px; }
.all-detail-table .col-code { width: 68px; }
.all-detail-table .col-brand { width: 46px; }
.all-detail-table .col-product { width: 88px; }
.all-detail-table .col-num { width: 45px; }
.all-detail-table .col-money { width: 62px; }
.all-detail-table .col-actions { width: 106px; }
.all-detail-table th, .all-detail-table td { padding: 6px 5px; white-space: normal; overflow-wrap: anywhere; word-break: break-word; line-height: 1.35; }
.all-detail-table th:first-child, .all-detail-table td:first-child { white-space: nowrap; word-break: keep-all; overflow-wrap: normal; }
.all-detail-table th:nth-child(5), .all-detail-table td:nth-child(5), .all-detail-table th:nth-child(7), .all-detail-table td:nth-child(7) { word-break: keep-all; overflow-wrap: normal; }
.all-detail-table input, .all-detail-table select { width: 100%; min-width: 0; font-size: inherit; }
.all-detail-table th:nth-child(2), .all-detail-table .owner-cell { text-align: center; }
.all-detail-table .actions { flex-direction: row; align-items: center; flex-wrap: nowrap; gap: 6px; white-space: nowrap; }
.all-detail-table .actions form { display: none; }
.all-detail-table td:last-child { min-width: 0; }
.all-detail-table .small { width: auto; min-height: 32px; padding: 5px 8px; }
#allOrderDetailList.is-loading { opacity: .65; pointer-events: none; }
.toast-stack { position: fixed; top: 18px; right: 18px; z-index: 200; display: grid; gap: 8px; max-width: min(360px, calc(100vw - 36px)); }
.toast { opacity: 0; transform: translateY(-6px); transition: opacity .18s ease, transform .18s ease; padding: 10px 12px; border-radius: 6px; box-shadow: 0 8px 24px rgba(18, 40, 30, .18); font-size: 14px; font-weight: 700; line-height: 1.35; }
.toast.show { opacity: 1; transform: translateY(0); }
.toast.ok { color: #0f5132; background: #d1e7dd; border: 1px solid #badbcc; }
.toast.error { color: #842029; background: #f8d7da; border: 1px solid #f5c2c7; }
.check { width: auto; min-height: auto; }
.edit-table td:last-child { min-width: 112px; }
.actions { display: flex; gap: 8px; align-items: center; }
.pager-info { margin-bottom: 8px; color: #6b786f; font-size: 14px; }
.pager { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0; }
.pager a { min-width: 34px; padding: 6px 10px; color: #2f7d5f; background: #eef7f1; border: 1px solid #d7e7dc; border-radius: 6px; text-align: center; font-size: 14px; font-weight: 700; }
.pager a.active { color: #fff; background: #2f7d5f; border-color: #2f7d5f; }
.link-button { width: auto; min-height: 0; padding: 0; border: 0; color: #207a59; background: transparent; font-weight: 700; text-decoration: underline; }
.staff-section { padding: 0; background: transparent; border: 0; box-shadow: none; }
.staff-section details { padding: 12px 14px; background: #fff; border: 1px solid #dfe7df; border-radius: 8px; }
.staff-section summary { cursor: pointer; color: #173b2d; font-weight: 700; }
.staff-section details[open] summary { margin-bottom: 12px; }
.hr-management-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin-top: 18px; padding: 0 2px; overflow: visible; border-bottom: 1px solid #d9e3dd; }
.hr-management-tabs button { min-width: 0; display: inline-flex; align-items: center; justify-content: center; gap: 3px; min-height: 43px; padding: 9px 12px; border: 0; border-bottom: 3px solid transparent; border-radius: 6px 6px 0 0; color: #53675e; background: transparent; white-space: nowrap; }
.hr-management-tabs button:hover { color: #1f634a; background: #f1f6f3; }
.hr-management-tabs button.is-active { color: #fff; background: #246f54; border-bottom-color: #246f54; }
.hr-management-tabs button.is-active .summary-count { color: #246f54; background: #fff; }
.hr-management-panel, [data-hr-panel] { min-width: 0; margin: 0 0 20px; padding: 18px; background: #fff; border: 1px solid #dfe7df; border-top: 0; border-radius: 0 0 8px 8px; }
.hr-management-panel[hidden] { display: none !important; }
[data-hr-panel][hidden] { display: none !important; }
.hr-management-panel-heading { margin-bottom: 14px; }
.hr-management-panel-heading h2 { margin-bottom: 3px; }
.hr-management-panel-heading p { margin: 0; color: #687970; font-size: 13px; }
.hr-management-panel .hr-account-management { margin-bottom: 16px; padding: 14px; border: 1px solid #dfe7df; border-radius: 8px; background: #f8faf9; }
.relation-admin-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; align-items: start; margin-bottom: 20px; }
.relation-admin-grid.has-open-panel { grid-template-columns: 1fr; }
.relation-admin-grid .staff-section { margin-bottom: 0; }
.relation-admin-grid .form-grid { grid-template-columns: minmax(150px, 1fr) minmax(150px, 1fr) minmax(180px, 1.2fr) auto; }
.summary-count { display: inline-flex; align-items: center; justify-content: center; min-width: 24px; height: 22px; margin-left: 5px; padding: 0 7px; color: #2f6f56; background: #e8f3ee; border-radius: 11px; font-size: 13px; }
.staff-birthday-summary { display: inline-flex; align-items: center; gap: 3px; min-height: 22px; margin-left: 6px; padding: 2px 7px; color: #805b0d; background: #fff1be; border-radius: 11px; font-size: 12px; }
.staff-birthday-summary[hidden] { display: none; }
.staff-deadline-summary { display: inline-flex; align-items: center; gap: 3px; min-height: 22px; margin-left: 6px; padding: 2px 7px; color: #8a451b; background: #ffeadf; border-radius: 11px; font-size: 12px; }
.staff-deadline-summary[hidden] { display: none; }
.department-staff-count { display: inline-flex; min-width: 44px; min-height: 28px; align-items: center; justify-content: center; padding: 3px 7px; color: #315c49; background: #eef6f2; border: 1px solid #d3e5dc; border-radius: 999px; font-size: 12px; font-weight: 700; white-space: nowrap; }
.department-create-form { grid-template-columns: 210px minmax(240px, 420px) 108px minmax(0, 1fr) !important; max-width: 980px; margin-inline: auto; justify-content: start; }
.department-create-form label { min-width: 0; }
.department-create-form .wide { grid-column: auto; }
.department-create-form button { width: 108px; justify-self: start; }
.department-section .table-wrap { max-width: 980px; margin-inline: auto; }
.department-section .hr-management-panel-heading { justify-content: center; text-align: center; }
.department-management-table { width: 100%; table-layout: fixed; min-width: 680px; }
.department-management-table th:nth-child(1), .department-management-table td:nth-child(1) { width: 190px; }
.department-management-table th:nth-child(2), .department-management-table td:nth-child(2) { width: auto; }
.department-management-table th:nth-child(3), .department-management-table td:nth-child(3) { width: 76px; }
.department-management-table th:nth-child(4), .department-management-table td:nth-child(4) { width: 92px; }
.department-management-table th:nth-child(5), .department-management-table td:nth-child(5) { width: 142px; }
.department-management-table input[name="name"] { max-width: 170px; }
.department-management-table input[name="remark"] { width: 100%; min-width: 0; }
.department-active-toggle { display: inline-flex; align-items: center; gap: 5px; color: #526159; font-size: 12px; font-weight: 700; white-space: nowrap; }
.department-active-toggle .check { width: 16px; height: 16px; margin: 0; }
.staff-batch-toolbar { display: flex; justify-content: flex-end; align-items: center; gap: 8px; margin-bottom: 10px; }
.staff-batch-toolbar .staff-save-status { margin-right: auto; }
.staff-search-control { display: grid; grid-template-columns: auto minmax(180px, 260px); align-items: center; gap: 7px; color: #536159; font-size: 13px; font-weight: 600; }
.staff-search-control input { min-height: 34px; }
.staff-search-count { color: #647269; font-size: 13px; white-space: nowrap; }
.staff-birthday-reminder { display: grid; grid-template-columns: minmax(190px, .7fr) minmax(0, 2fr); gap: 12px; align-items: center; margin-bottom: 12px; padding: 10px 12px; background: #f6f8f6; border: 1px solid #e0e6e1; border-left: 4px solid #9aa89f; border-radius: 7px; }
.staff-birthday-reminder.has-reminders { background: #fff9e9; border-color: #ead9a3; border-left-color: #d49822; }
.staff-birthday-heading { display: grid; gap: 2px; }
.staff-birthday-heading strong { color: #264b3c; font-size: 15px; }
.staff-birthday-heading span, .staff-birthday-empty { color: #6b786f; font-size: 13px; }
.staff-birthday-list { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; min-width: 0; }
.staff-birthday-open { display: inline-flex; width: auto; min-height: 32px; align-items: center; gap: 6px; padding: 5px 9px; color: #5f4712; background: #fff; border: 1px solid #e4cf92; border-radius: 6px; font-size: 13px; }
.staff-birthday-open b { color: #43320c; }
.staff-birthday-open em { padding: 2px 5px; color: #865e08; background: #fff3c8; border-radius: 4px; font-style: normal; font-weight: 700; }
.staff-deadline-reminder { display: grid; grid-template-columns: minmax(190px, .7fr) minmax(0, 2fr); gap: 12px; align-items: center; margin-bottom: 12px; padding: 10px 12px; background: #f7f8f7; border: 1px solid #e1e6e2; border-left: 4px solid #a7b2ab; border-radius: 7px; }
.staff-deadline-reminder.has-reminders { background: #fff8f2; border-color: #ecd6c7; border-left-color: #c86b32; }
.staff-deadline-heading { display: grid; gap: 2px; }
.staff-deadline-heading strong { color: #69401f; font-size: 15px; }
.staff-deadline-heading span, .staff-deadline-empty { color: #76685d; font-size: 13px; }
.staff-deadline-list { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; min-width: 0; }
.staff-deadline-item { display: inline-flex; min-width: 0; align-items: stretch; background: #fff; border: 1px solid #e5cbb9; border-radius: 6px; overflow: hidden; }
.staff-deadline-item.is-overdue { border-color: #e2aaa5; background: #fff5f4; }
.staff-deadline-open { display: inline-flex; width: auto; min-width: 0; min-height: 32px; align-items: center; gap: 6px; padding: 5px 8px; color: #65401e; background: transparent; border: 0; border-radius: 0; font-size: 13px; }
.staff-deadline-open b { color: #4f321b; }
.staff-deadline-open time { color: #70655c; }
.staff-deadline-open em { padding: 2px 5px; color: #9a4a1e; background: #ffeadc; border-radius: 4px; font-style: normal; font-weight: 700; }
.staff-deadline-item.is-overdue .staff-deadline-open em { color: #a0352d; background: #ffe1de; }
.staff-deadline-dismiss { width: auto; min-height: 32px; padding: 5px 8px; color: #8f3d31; background: #fff7f5; border: 0; border-left: 1px solid #ecd2cc; border-radius: 0; font-size: 12px; }
.birthday-profile-field { padding: 8px; background: #fff9e9; border: 1px solid #ead9a3; border-radius: 6px; }
.staff-save-status.is-saved { color: #21734f; font-weight: 600; }
.staff-row.is-new { background: #f5faf7; }
.staff-row.is-inactive-staff td { background: #f7f8f7; color: #6b756f; }
.staff-departure-column[hidden], .staff-departure-cell[hidden] { display: none !important; }
.staff-status-filter { display: inline-flex; gap: 3px; padding: 3px; background: #eef2ef; border-radius: 7px; }
.staff-filter-button { width: auto; min-height: 30px; padding: 4px 9px; color: #58675f; background: transparent; border: 0; font-size: 14px; font-weight: 600; }
.staff-filter-button b { display: inline-block; min-width: 18px; margin-left: 2px; color: inherit; font-size: 12px; }
.staff-filter-button.is-active { color: #fff; background: #2f7d5f; box-shadow: 0 1px 4px rgba(32, 81, 61, .18); }
.staff-stage-cell { min-width: 138px; }
.staff-stage-badge { display: inline-flex; min-width: 76px; justify-content: center; padding: 4px 8px; border: 1px solid transparent; border-radius: 999px; font-size: 13px; font-weight: 700; line-height: 1.2; white-space: nowrap; }
.staff-stage-badge.stage-probation, .staff-profile-stage-badge.stage-probation { color: #72510c; background: #fff6d8; border-color: #ead693; }
.staff-stage-badge.stage-probation.is-overdue, .staff-profile-stage-badge.stage-probation.is-overdue { color: #9a3028; background: #fff0ee; border-color: #edc1bc; }
.staff-stage-badge.stage-regular, .staff-profile-stage-badge.stage-regular { color: #1f6849; background: #e9f6ef; border-color: #c8e3d4; }
.staff-stage-badge.stage-unfilled, .staff-profile-stage-badge.stage-unfilled { color: #526159; background: #eef2ef; border-color: #d8e0da; }
.staff-stage-badge.stage-departed, .staff-profile-stage-badge.stage-departed { color: #6d5a52; background: #f2f0ef; border-color: #ddd7d4; }
.hr-attendance-section { margin-bottom: 18px; }
.hr-attendance-toolbar { display: flex; flex-wrap: wrap; align-items: end; gap: 8px; margin-bottom: 10px; }
.hr-attendance-toolbar label { display: grid; gap: 4px; min-width: 132px; color: #536159; font-size: 13px; font-weight: 700; }
.hr-attendance-search-control { min-width: 190px; }
.hr-attendance-status { min-height: 34px; align-self: end; display: inline-flex; align-items: center; max-width: 100%; padding: 6px 10px; color: #315c49; background: #eef6f2; border: 1px solid #cfe3d8; border-radius: 7px; font-size: 13px; font-weight: 700; overflow-wrap: anywhere; }
.hr-attendance-status.pending { color: #315c75; background: #eef6fb; border-color: #c9deeb; }
.hr-attendance-status.success { color: #16633f; background: #edf9f2; border-color: #bfe0cf; }
.hr-attendance-status.error { color: #9b302b; background: #fff4f3; border-color: #ebc4c1; }
.hr-attendance-scope-notice { align-self: end; max-width: 100%; padding: 6px 9px; color: #6b4a08; background: #fff8e3; border: 1px solid #e8d79e; border-radius: 7px; font-size: 13px; font-weight: 700; overflow-wrap: anywhere; }
.hr-attendance-scope-notice[hidden] { display: none; }
.hr-attendance-warning { align-self: end; max-width: 100%; padding: 6px 9px; color: #865a00; background: #fff7df; border: 1px solid #ecd99a; border-radius: 7px; font-size: 13px; font-weight: 700; overflow-wrap: anywhere; }
.hr-attendance-warning[hidden], .hr-attendance-submitted-meta[hidden] { display: none; }
.hr-attendance-submitted-meta { align-self: end; color: #58665f; font-size: 13px; white-space: nowrap; }
.hr-attendance-table-wrap { max-width: 100%; }
.hr-attendance-table { min-width: 860px; table-layout: fixed; }
.hr-attendance-table th, .hr-attendance-table td { vertical-align: middle; }
.hr-attendance-table td { min-width: 0; }
.hr-attendance-table th:nth-child(1), .hr-attendance-table td:nth-child(1) { width: 13%; }
.hr-attendance-table th:nth-child(2), .hr-attendance-table td:nth-child(2) { width: 12%; }
.hr-attendance-table th:nth-child(3), .hr-attendance-table td:nth-child(3) { width: 10%; }
.hr-attendance-table th:nth-child(4), .hr-attendance-table td:nth-child(4), .hr-attendance-table th:nth-child(5), .hr-attendance-table td:nth-child(5), .hr-attendance-table th:nth-child(6), .hr-attendance-table td:nth-child(6) { width: 12%; }
.hr-attendance-table input { width: 100%; min-width: 0; }
.hr-attendance-person-open { width: auto; min-height: 0; padding: 2px 0; color: #1f7658; background: transparent; border: 0; font-weight: 700; text-align: left; text-decoration: underline; text-underline-offset: 3px; }
.hr-attendance-person-open:hover { color: #14543e; background: transparent; }
.hr-rest-missing { color: #9a5d0b; font-weight: 700; }
.hr-attendance-row.has-warning td { background: #fffaf0; }
.hr-attendance-row.is-readonly td { background: #f7f8f7; color: #647269; }
.staff-status-badge { display: inline-flex; min-width: 44px; justify-content: center; padding: 3px 7px; color: #23704f; background: #e8f5ee; border: 1px solid #cce5d7; border-radius: 999px; font-size: 13px; font-weight: 700; }
.is-inactive-staff .staff-status-badge { color: #775b18; background: #fff7df; border-color: #ead89c; }
.store-section-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.store-section-head h2 { margin-bottom: 4px; }
.store-section-head p { margin: 0; color: #6b786f; font-size: 14px; }
.store-create-open { width: auto; min-width: 112px; }
.relation-filter-bar { display: grid; grid-template-columns: minmax(140px, .8fr) minmax(160px, .9fr) minmax(240px, 1.4fr) auto auto auto; gap: 10px; align-items: end; margin-bottom: 14px; padding: 12px; background: #f7faf7; border: 1px solid #dfe7df; border-radius: 8px; }
.relation-filter-bar .filter-count { align-self: center; white-space: nowrap; }
.owner-view-control { display: grid; gap: 6px; color: #536159; font-size: 13px; font-weight: 600; }
.owner-view-toggle { display: inline-flex; width: max-content; padding: 3px; background: #e8eee9; border: 1px solid #d7e1da; border-radius: 7px; }
.owner-view-toggle button { width: auto; min-height: 32px; padding: 5px 10px; color: #526159; background: transparent; border: 0; border-radius: 5px; font-size: 13px; white-space: nowrap; }
.owner-view-toggle button.is-active { color: #fff; background: #2f7d5f; box-shadow: 0 1px 3px rgba(28, 81, 59, .2); }
.store-manage-table td:first-child { width: 22%; }
.store-manage-table td:nth-child(2) { width: 38%; white-space: normal; }
.store-name-cell { display: grid; grid-template-columns: auto minmax(160px, 1fr); gap: 8px; align-items: center; }
.platform-badge { display: inline-flex; align-items: center; justify-content: center; min-width: 58px; padding: 4px 7px; color: #315044; background: #eef3ef; border: 1px solid #d9e3dc; border-radius: 999px; font-size: 14px; font-weight: 700; }
.platform-dy { color: #18543f; background: #e6f5ed; border-color: #c8e7d5; }
.platform-pdd { color: #7d251d; background: #fff0ed; border-color: #f3c7bd; }
.platform-tb { color: #75530d; background: #fff7df; border-color: #eedc99; }
.platform-wx { color: #2b5f6d; background: #e8f5f7; border-color: #c5e3e8; }
.platform-xy { color: #6d3f0e; background: #fff4e7; border-color: #efcfa5; }
.platform-jd { color: #8a1f2d; background: #fff0f3; border-color: #f1c4cd; }
.platform-other { color: #56615b; background: #f1f3f2; border-color: #dde2df; }
.owner-summary { display: flex; flex-wrap: wrap; gap: 6px; }
.owner-summary[hidden] { display: none; }
.owner-summary-latest > span { display: inline-flex; align-items: center; gap: 5px; max-width: 100%; padding: 4px 7px; color: #173b2d; background: #eef7f1; border: 1px solid #d7e7dc; border-radius: 6px; font-size: 14px; }
.owner-summary-latest b { color: #2f7d5f; }
.owner-summary-latest em { color: #6b786f; font-style: normal; }
.owner-history-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 8px; width: 100%; }
.owner-history-group { min-width: 0; padding: 8px; background: #f7f9f7; border-left: 3px solid #9fb5a7; border-radius: 0 6px 6px 0; }
.owner-history-head { display: flex; align-items: center; gap: 8px; margin-bottom: 5px; }
.owner-history-head b { color: #245f48; font-size: 13px; }
.owner-history-list { display: grid; gap: 4px; }
.owner-history-item { display: grid; grid-template-columns: minmax(64px, auto) minmax(0, 1fr); gap: 7px; align-items: center; padding: 5px 7px; color: #606b65; background: #fff; border: 1px solid #e2e7e3; border-radius: 5px; font-size: 13px; }
.owner-history-item strong { min-width: 0; color: #59635e; overflow-wrap: anywhere; }
.owner-history-item em { min-width: 0; color: #7b857f; font-style: normal; overflow-wrap: anywhere; }
.owner-history-item.is-latest { color: #173b2d; background: #eaf6ef; border-color: #c8e3d3; }
.owner-history-item.is-latest strong { color: #21694c; }
.owner-history-item.is-latest em { color: #526c5e; }
.owner-history-item[hidden] { display: none; }
.owner-history-expand { width: auto; margin-top: 6px; padding: 3px 0; color: #2f7258; background: transparent; border: 0; font-size: 12px; font-weight: 700; }
.owner-history-expand:hover { color: #184e39; background: transparent; }
.owner-modal-card { width: min(1100px, 100%); }
.modal-card.staff-profile-card { width: min(1040px, 100%); }
.staff-profile-card .modal-head { align-items: flex-start; }
.staff-profile-card .modal-head p { margin: 5px 0 0; color: #6b786f; font-size: 14px; }
.staff-profile-overview { display: grid; grid-template-columns: minmax(160px, .9fr) minmax(220px, 1.1fr) minmax(132px, auto) 110px; gap: 10px; align-items: end; margin-bottom: 12px; padding: 10px 12px; background: #f6f8f6; border: 1px solid #dfe6e0; border-radius: 7px; }
.staff-profile-overview > div, .staff-profile-overview > label { display: grid; gap: 5px; min-width: 0; margin: 0; color: #59675f; font-size: 12px; font-weight: 700; }
.staff-profile-overview-person strong { min-height: 36px; display: flex; align-items: center; color: #183f30; font-size: 16px; overflow-wrap: anywhere; }
.staff-profile-overview select, .staff-profile-overview input { min-height: 36px; }
.staff-profile-overview-stage strong { width: max-content; min-height: 36px; display: inline-flex; align-items: center; justify-content: center; padding: 4px 9px; border: 1px solid transparent; border-radius: 999px; font-size: 13px; white-space: nowrap; }
.staff-profile-overview-rest input { width: 88px; max-width: 100%; }
.staff-profile-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr); gap: 12px; }
.staff-profile-grid fieldset { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 14px; min-width: 0; margin: 0; padding: 14px; border: 1px solid #dfe7df; border-radius: 7px; }
.staff-profile-grid fieldset > label { min-width: 0; }
.staff-profile-grid legend { padding: 0 6px; color: #245c46; font-weight: 700; }
.staff-profile-grid .profile-basic,
.staff-profile-grid .profile-employment,
.staff-profile-grid .profile-id-cards,
.staff-profile-grid .profile-contract-files { grid-column: 1 / -1; }
.staff-profile-grid .profile-basic,
.staff-profile-grid .profile-employment { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.staff-profile-grid .profile-addresses { grid-column: 1; }
.staff-profile-grid .profile-notes { grid-column: 2; align-self: stretch; }
.staff-profile-grid .profile-wide { grid-column: 1 / -1; }
.staff-profile-grid .profile-span-2 { grid-column: span 2; }
.profile-period { display: grid; grid-template-columns: 124px repeat(2, minmax(0, 1fr)); gap: 8px; align-items: end; padding: 9px; background: #f6f9f7; border: 1px solid #dfe7e1; border-radius: 6px; }
.profile-period > span { align-self: center; color: #315746; font-weight: 700; white-space: nowrap; }
.profile-period label { min-width: 0; }
.profile-period.is-locked { background: #f0f3f1; border-color: #d5ddd8; }
.profile-period.is-locked > span::after { content: "已锁定"; display: inline-flex; margin-left: 6px; padding: 2px 5px; color: #59675f; background: #dde4df; border-radius: 4px; font-size: 11px; font-weight: 600; }
.regularization-date-field small { display: block; margin-top: 4px; color: #6b786f; font-size: 12px; font-weight: 400; }
.regularization-date-field.is-locked small { color: #2f7258; }
.regularization-date-field.is-locked small::before { content: "已转正，试用期已锁定。"; }
.regularization-date-field.is-locked small { font-size: 0; }
.regularization-date-field.is-locked small::before { font-size: 12px; }
.staff-profile-grid .profile-notes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.staff-profile-actions { position: sticky; bottom: -18px; display: flex; align-items: center; justify-content: flex-end; gap: 8px; margin-top: 14px; padding: 12px 0 0; background: #fff; border-top: 1px solid #edf1ed; }
.staff-profile-actions .staff-profile-status { margin-right: auto; }
.staff-profile-status.is-saved { color: #21734f; font-weight: 700; }
.staff-profile-status.is-error { color: #b42318; font-weight: 700; }
.staff-profile-status.is-partial { color: #8a5a00; font-weight: 700; }
.staff-profile-actions button { width: auto; min-width: 96px; }
.store-create-modal { display: grid; place-items: center; }
.store-create-modal[hidden] { display: none; }
.store-create-card { width: min(520px, 100%); }
.store-create-card .modal-head { align-items: flex-start; }
.store-create-card .modal-head p { margin: 5px 0 0; color: #6b786f; font-size: 14px; }
.store-create-form { display: grid; gap: 14px; }
.store-create-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 4px; padding-top: 14px; border-top: 1px solid #edf1ed; }
.store-create-actions button { width: auto; min-width: 96px; }
.secondary-button { color: #405047; background: #fff; border-color: #cbd8cf; }
.owner-modal-toolbar { position: sticky; top: -18px; z-index: 2; display: flex; justify-content: flex-end; gap: 8px; margin: 12px 0; padding: 10px 0; background: #fff; border-bottom: 1px solid #edf1ed; }
.owner-modal-toolbar .owner-save-status { margin-right: auto; }
.owner-save-status.is-saved { color: #21734f; font-weight: 700; }
.owner-modal-toolbar button[type="submit"] { background: #215f49; border-color: #215f49; }
.assignment-batch-table th, .assignment-batch-table td { text-align: center; }
.assignment-batch-table td:nth-child(5) { min-width: 160px; }
.salary-copy-form { grid-template-columns: minmax(220px, 320px) minmax(180px, 220px) auto; justify-content: start; }
.salary-table { display: block; width: 100%; min-width: 0; table-layout: auto; background: transparent; border-collapse: separate; font-size: 17px; }
.salary-table colgroup, .salary-table thead { display: none; }
.salary-table tbody, .salary-table tfoot { display: grid; gap: 10px; }
.salary-table tr { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 8px; align-items: stretch; }
.salary-table th, .salary-table td { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 8px; align-items: center; min-height: 38px; padding: 6px 8px; border: 1px solid #e3ebe5; border-radius: 6px; white-space: normal; text-align: left; vertical-align: middle; background: #fbfdfb; }
.salary-table td::before { content: attr(data-label); min-width: 64px; color: #65746c; font-size: 14px; font-weight: 700; line-height: 1.2; white-space: nowrap; }
.salary-person-row { margin-bottom: 0; padding: 10px; background: #fff; border: 1px solid #dce7df; border-left: 4px solid var(--salary-dept-accent, #2f7d5f); border-radius: 8px; box-shadow: 0 5px 16px rgba(37, 61, 47, .045); }
.salary-person-row[data-paid="1"] { background: #f7fbf8; border-color: #b9d8c5; box-shadow: 0 5px 16px rgba(28, 103, 69, .09); }
.salary-person-row[data-paid="1"] td { background: #f8fcf9; }
.salary-person-row[data-paid="1"] input:disabled, .salary-person-row[data-paid="1"] select:disabled, .salary-person-row[data-paid="1"] textarea:disabled { color: #41574b; background: #eef4f0; border-color: #d3dfd7; opacity: 1; cursor: not-allowed; }
.salary-person-row[hidden], .salary-search-empty-row[hidden] { display: none !important; }
.salary-search-empty-row { grid-template-columns: 1fr !important; }
.salary-search-empty-row td { display: block; padding: 22px; color: #65746c; background: #f7faf7; text-align: center; }
.salary-person-row td[data-label="姓名"] { grid-template-columns: 1fr; align-content: center; color: #173b2d; background: #eef7f1; border-color: #d2e6d9; font-size: 17px; font-weight: 800; }
.salary-person-row td[data-label="姓名"]::before { display: none; }
.salary-person-row td.salary-department-cell, .salary-person-row td.salary-name-cell { color: var(--salary-dept-text, #173b2d); background: var(--salary-dept-soft, #eef7f1); border-color: var(--salary-dept-border, #d2e6d9); }
.salary-person-row td.salary-name-cell { grid-template-columns: 1fr; align-content: center; font-size: 17px; font-weight: 800; }
.salary-person-row td.salary-name-cell::before { display: none; }
.salary-name-history { width: 100%; min-height: 32px; padding: 3px 6px; color: var(--salary-dept-text, #173b2d); background: transparent; border: 0; border-bottom: 1px dashed currentColor; border-radius: 0; font-size: inherit; font-weight: 800; text-align: center; cursor: pointer; }
.salary-name-history:hover { color: #0d4f37; background: rgba(255, 255, 255, .58); }
.salary-department { display: block; width: 100%; color: var(--salary-dept-text, #173b2d); font-weight: 700; text-align: center; }
.salary-person-row td[data-label="绩效奖金"], .salary-person-row .salary-bonus-column { grid-template-columns: auto minmax(0, 1fr); }
.salary-person-row td { text-align: center; }
.salary-person-row td[data-label="支付方式"], .salary-person-row td[data-label="备注"], .salary-person-row .salary-payment-cell, .salary-person-row .salary-remark-cell { grid-column: span 2; }
.salary-paid-cell { grid-template-columns: 1fr !important; }
.salary-paid-cell::before { display: none; }
.salary-paid-toggle { width: 100%; min-height: 34px; padding: 5px 8px; color: #53635a; background: #fff; border: 1px solid #cbd7cf; border-radius: 5px; font-weight: 700; white-space: nowrap; cursor: pointer; }
.salary-paid-toggle:hover { color: #174b38; background: #f0f7f3; border-color: #9fc4ad; }
.salary-paid-toggle.is-paid { color: #fff; background: #237451; border-color: #237451; }
.salary-paid-toggle.is-paid:hover { background: #1b6042; border-color: #1b6042; }
.salary-person-row[data-paid="1"] button:disabled { color: #7b8780; background: #e7ece9; border-color: #d4dcd7; opacity: 1; box-shadow: none; cursor: not-allowed; }
.salary-person-row[data-paid="1"] .salary-paid-toggle:disabled { color: #66736b; background: #dce4df; border-color: #cbd5ce; }
.salary-table input, .salary-table select { width: 100%; min-width: 0; min-height: 34px; padding: 5px 8px; font-size: 16px; text-align: center; }
.salary-table strong { display: block; width: 100%; white-space: nowrap; text-align: center; }
.salary-net-detail-open { display: block; width: 100%; min-height: 32px; padding: 4px 8px; color: #ba2435; background: #fff2f3; border: 1px solid #f0c5ca; border-radius: 5px; cursor: pointer; }
.salary-net-detail-open:hover { color: #971a29; background: #ffe8ea; border-color: #e8aeb5; }
.salary-inline-setting { display: block; width: 100%; min-height: 32px; padding: 4px 9px; color: #145c42; background: #eef7f1; border: 1px solid #d3e6da; border-radius: 5px; font-size: 16px; text-align: center; cursor: pointer; }
.salary-inline-setting:hover { color: #0f5138; background: #e3f2e8; border-color: #bcd8c7; }
.salary-inline-setting strong { display: block; width: 100%; text-align: center; }
.salary-bonus-cell { display: flex; gap: 8px; align-items: center; justify-content: space-between; width: 100%; min-width: 0; }
.salary-bonus-cell strong { min-width: 0; white-space: nowrap; overflow-wrap: normal; word-break: keep-all; text-align: center; }
.salary-bonus-cell button { width: auto; min-height: 30px; padding: 4px 10px; }
.salary-bonus-cell .salary-inline-setting { width: 100%; }
.salary-person-row td[data-label="绩效设置"],
.salary-person-row td[data-label="工资设置"],
.salary-person-row td[data-label="个人支出设置"],
.salary-person-row td[data-label="保存"],
.salary-person-row td[data-label="曲线图"],
.salary-person-row td[data-label="删除人员"] { grid-template-columns: 1fr; }
.salary-person-row td[data-label="绩效设置"]::before,
.salary-person-row td[data-label="工资设置"]::before,
.salary-person-row td[data-label="个人支出设置"]::before,
.salary-person-row td[data-label="保存"]::before,
.salary-person-row td[data-label="曲线图"]::before,
.salary-person-row td[data-label="删除人员"]::before { display: none; }
.salary-person-row td[data-label="绩效设置"] > button,
.salary-person-row td[data-label="工资设置"] > button,
.salary-person-row td[data-label="个人支出设置"] > button,
.salary-person-row td[data-label="保存"] > button,
.salary-person-row td[data-label="曲线图"] > button,
.salary-person-row td[data-label="删除人员"] > button { width: 100%; }
.salary-expense-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; width: 100%; min-width: 0; }
.salary-expense-actions button { width: 100%; min-width: 0; white-space: nowrap; }
.salary-person-row td[data-label="个人支出设置"] { grid-column: span 2; }
.modal-card.salary-previous-sections-card { width: min(640px, 100%); }
.salary-previous-section-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 14px; }
.salary-previous-section-options label { display: flex; gap: 10px; align-items: flex-start; min-width: 0; padding: 13px; border: 1px solid #d8e7dd; border-radius: 6px; background: #f7faf8; cursor: pointer; }
.salary-previous-section-options input { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 2px; }
.salary-previous-section-options span { display: grid; gap: 4px; min-width: 0; }
.salary-previous-section-options strong { color: #173b2d; font-size: 16px; }
.salary-previous-section-options small { color: #65746c; line-height: 1.45; }
.salary-previous-sections-note { margin: 12px 0 0; padding: 10px 12px; color: #5c675f; background: #f4f6f4; border-left: 3px solid #7f9d8c; }
.salary-previous-sections-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 16px; padding-top: 12px; border-top: 1px solid #e6ece8; }
.salary-previous-sections-actions button { width: auto; min-width: 110px; }
.salary-person-row td[data-label="绩效设置"] { grid-column: 1; }
.salary-table tfoot td, .salary-table tfoot span { text-align: center; }
@media (max-width: 720px) {
  .salary-previous-section-options { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
  .salary-person-row .salary-payment-cell, .salary-person-row .salary-remark-cell { grid-column: 1 / -1; }
}
.salary-rule-modal-card { width: min(1120px, 100%); }
.modal-head .salary-rule-modal-close, .modal-head .salary-wage-modal-close, .modal-head .salary-expense-modal-close, .modal-head .salary-previous-sections-close, .modal-head .salary-trend-close, .modal-head .salary-net-detail-close { width: auto; min-height: 28px; padding: 3px 8px; font-size: 14px; }
.salary-wage-modal-card { width: min(820px, 100%); }
.salary-wage-grid { grid-template-columns: repeat(2, minmax(180px, 1fr)); }
.salary-wage-summary { display: grid; grid-template-columns: auto minmax(120px, 1fr); gap: 4px 14px; align-items: center; margin-top: 14px; padding: 14px; color: #173b2d; background: #f2f8f4; border: 1px solid #d8e8dd; border-radius: 6px; }
.salary-wage-summary span { font-weight: 700; }
.salary-wage-summary strong { color: #145c42; font-size: 22px; text-align: center; }
.salary-wage-summary small { grid-column: 1 / -1; color: #65746c; }
.salary-rules { display: grid; gap: 10px; align-items: center; }
.salary-rule-title { color: #506058; font-weight: 700; }
.salary-rule-mode-row { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 12px; align-items: end; padding: 10px; background: #f3f8f5; border: 1px solid #d8e7dd; border-radius: 6px; }
.salary-rule-mode-row label { width: min(240px, 100%); }
.salary-rule-mode-row select { width: 100%; text-align: center; text-align-last: center; }
.salary-rule-total { display: grid; grid-template-columns: auto minmax(110px, auto); gap: 10px; align-items: center; color: #506058; font-weight: 700; }
.salary-rule-total strong { min-width: 110px; padding: 7px 10px; color: #145c42; background: #fff; border: 1px solid #cfe2d5; border-radius: 6px; font-size: 18px; text-align: center; }
.salary-rule-calculated-total strong { color: #355164; border-color: #d5e0e7; }
.salary-rule-deduction-total strong { color: #9c2f2f; background: #fff5f5; border-color: #efcaca; }
.salary-rule-threshold { display: grid; gap: 5px; color: #506058; font-weight: 700; }
.salary-rule-threshold-control { display: grid; grid-template-columns: auto minmax(110px, 1fr); gap: 7px; align-items: center; }
.salary-rule-threshold-control > span { color: #6b786f; font-weight: 600; }
.salary-rule-threshold-control input { width: 100%; min-width: 0; text-align: center; }
.salary-rule-head, .salary-rule-item { display: grid; grid-template-columns: minmax(120px, 1.05fr) minmax(140px, 1.2fr) 88px minmax(128px, .95fr) minmax(96px, .75fr) 118px 118px minmax(96px, .75fr) 60px; gap: 10px; align-items: center; width: 100%; }
.salary-rule-head { padding: 10px; color: #6b786f; border: 1px solid transparent; font-size: 14px; font-weight: 700; }
.salary-rule-head span { text-align: center; }
.salary-rule-head span:nth-child(6) { white-space: nowrap; }
.salary-rule-item { position: relative; padding: 10px; background: #f7faf7; border: 1px solid #dfe7df; border-radius: 6px; }
.salary-rule-item.salary-rule-winning { background: #edf8f1; border-color: #57a879; box-shadow: inset 4px 0 0 #2f7d5f; }
.salary-rule-item.salary-rule-winning .salary-rule-amount { color: #fff; background: #2f7d5f; border-color: #2f7d5f; }
.salary-rule-group-box { position: relative; display: grid; gap: 0; margin-top: 10px; padding: 14px 8px 6px; background: var(--salary-group-bg); border: 2px solid var(--salary-group-accent); border-radius: 6px; }
.salary-rule-group-box-label { position: absolute; top: -11px; left: 12px; z-index: 1; padding: 1px 9px; color: #fff; background: var(--salary-group-accent); border-radius: 4px; font-size: 12px; font-weight: 700; line-height: 18px; }
.salary-rule-group-box .salary-rule-item.salary-rule-grouped { margin: 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
.salary-rule-group-box .salary-rule-item.salary-rule-grouped + .salary-rule-item.salary-rule-grouped { border-top: 1px solid color-mix(in srgb, var(--salary-group-accent) 30%, transparent); }
.salary-rule-group-box .salary-rule-item.salary-rule-grouped.salary-rule-winning { background: rgba(255, 255, 255, .5); box-shadow: none; }
.salary-rule-group-box[data-group-tone="1"] { --salary-group-accent: #287a58; --salary-group-bg: #f1faf5; }
.salary-rule-group-box[data-group-tone="2"] { --salary-group-accent: #3569a8; --salary-group-bg: #f2f6fb; }
.salary-rule-group-box[data-group-tone="3"] { --salary-group-accent: #a35f12; --salary-group-bg: #fff8ee; }
.salary-rule-group-box[data-group-tone="4"] { --salary-group-accent: #7453a6; --salary-group-bg: #f7f3fb; }
.salary-rule-group-box[data-group-tone="5"] { --salary-group-accent: #247681; --salary-group-bg: #f0f8f9; }
.salary-rule-group-box[data-group-tone="6"] { --salary-group-accent: #a34762; --salary-group-bg: #fcf3f6; }
.salary-rule-item input, .salary-rule-item select { min-width: 0; width: 100%; }
.salary-rule-item.salary-rule-warehouse .salary-rule-scope,
.salary-rule-item.salary-rule-warehouse .salary-rule-sales-channel { color: #78847d; background: #edf1ee; opacity: .72; cursor: not-allowed; }
.salary-rule-item.salary-rule-custom-amount .salary-rule-source,
.salary-rule-item.salary-rule-custom-amount .salary-rule-scope,
.salary-rule-item.salary-rule-custom-amount .salary-rule-sales-channel { color: #78847d; background: #edf1ee; opacity: .72; cursor: not-allowed; }
.salary-rule-remove:disabled { color: #87928c; background: #edf1ee; border-color: #d9e0dc; opacity: .72; cursor: not-allowed; }
.salary-rule-item input, .salary-rule-item select, .salary-rule-value, .salary-rule-amount { text-align: center; }
.salary-rule-item select { text-align-last: center; }
.salary-rule-item .salary-rule-metric { padding-inline: 6px 24px; font-size: 15px; }
.salary-rule-value, .salary-rule-amount { min-height: 34px; padding: 7px 9px; color: #173b2d; background: #fff; border: 1px solid #dfe7df; border-radius: 6px; font-weight: 700; text-align: center; }
.salary-rule-amount { color: #145c42; background: #edf8f1; }
.salary-rule-add-actions { display: flex; gap: 8px; margin-top: 2px; }
.salary-rule-add-actions button { min-width: 132px; }
.salary-deduction-section { display: grid; gap: 10px; margin-top: 16px; padding-top: 14px; border-top: 1px solid #dfe7df; }
.salary-deduction-title { display: flex; justify-content: flex-start; gap: 10px; align-items: center; color: #6f2929; }
.salary-deduction-title strong { font-size: 15px; }
.salary-deduction-title span { display: block; width: max-content; max-width: 100%; padding: 4px 9px; color: #657169; background: #f3f6f4; border: 1px solid #e0e7e2; border-radius: 5px; font-size: 13px; line-height: 1.4; white-space: nowrap; }
.salary-deduction-items { display: grid; gap: 6px; }
.salary-deduction-head, .salary-deduction-item { display: grid; grid-template-columns: minmax(180px, 1.55fr) minmax(110px, .8fr) 86px 86px minmax(100px, .72fr) minmax(118px, .82fr) 64px; gap: 8px; align-items: center; }
.salary-deduction-head { padding: 0 10px; color: #66736b; font-size: 13px; font-weight: 700; text-align: center; }
.salary-deduction-item { padding: 10px; background: #fbfcfb; border: 1px solid #e0e7e2; border-radius: 6px; }
.salary-deduction-item input { width: 100%; min-width: 0; min-height: 38px; text-align: center; }
.salary-deduction-item span, .salary-deduction-item strong { display: flex; align-items: center; justify-content: center; min-height: 38px; padding: 7px 6px; background: #f4f7f5; border: 1px solid #dfe6e1; border-radius: 5px; text-align: center; }
.salary-deduction-item strong { color: #922f2f; background: #fff4f3; border-color: #edcfcb; }
.salary-deduction-item .salary-deduction-remove { width: 64px; min-width: 64px; padding-inline: 8px; }
.salary-deduction-add { justify-self: start; min-width: 156px; }
.salary-rule-actions { position: sticky; bottom: -18px; display: flex; justify-content: flex-end; gap: 8px; margin-top: 12px; padding: 12px 0 0; background: #fff; border-top: 1px solid #edf1ed; }
.salary-rule-actions .primary { width: auto; min-width: 120px; }
.salary-expense-items { display: grid; gap: 8px; margin-bottom: 10px; }
.salary-expense-head, .salary-expense-item { display: grid; grid-template-columns: minmax(180px, 1.3fr) minmax(130px, .8fr) auto; gap: 8px; align-items: center; }
.salary-expense-head { padding: 0 4px; color: #65746c; font-size: 14px; font-weight: 700; }
.salary-expense-item { padding: 8px; background: #f7faf7; border: 1px solid #dfe7df; border-radius: 6px; }
.salary-expense-item input { min-width: 0; }
.salary-personal-expense-input[readonly] { color: #173b2d; background: #f7faf7; cursor: help; font-weight: 700; }
.salary-toolbar { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; align-items: end; margin-bottom: 12px; padding: 12px; background: #f7faf7; border: 1px solid #dfe7df; border-radius: 8px; }
.salary-toolbar label { width: min(180px, 100%); }
.salary-person-add-form { display: flex; flex-wrap: wrap; gap: 10px; align-items: end; margin-bottom: 10px; padding: 12px; background: #f7faf7; border: 1px solid #dfe7df; border-radius: 8px; }
.salary-person-add-form[data-ledgered="1"] { background: #f0f3f1; border-color: #d8dfda; }
.salary-person-add-form[data-ledgered="1"] select:disabled, .salary-person-add-form[data-ledgered="1"] button:disabled { color: #7a857e; background: #e3e8e5; border-color: #d0d8d3; opacity: 1; cursor: not-allowed; }
.salary-person-add-form[data-ledgered="1"] .salary-person-add-hint { color: #6e7771; font-weight: 700; }
.salary-person-add-form label { width: min(300px, 100%); }
.salary-person-add-form button { min-width: 112px; }
.salary-person-add-form .muted { align-self: center; }
.salary-person-delete-form { display: none; }
.salary-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 12px; }
.salary-ledger-actions { display: flex; flex: 1; align-items: center; justify-content: flex-end; gap: 14px; min-width: 0; }
.salary-paid-summary { display: flex; align-items: center; justify-content: flex-end; gap: 12px; min-width: 0; color: #59685f; font-size: 14px; }
.salary-paid-summary span { white-space: nowrap; }
.salary-paid-summary strong { margin-left: 7px; color: #b52230; font-size: 19px; }
.salary-ledger-buttons { display: flex; align-items: center; gap: 8px; }
.salary-ledger-buttons button { width: auto; min-width: 112px; }
.salary-ledger-buttons button:disabled {
  color: #78827c;
  background: #e3e8e5;
  border-color: #d0d8d3;
  box-shadow: none;
  opacity: 1;
  cursor: not-allowed;
}
.salary-ledger-state { display: inline-flex; align-items: center; min-height: 34px; padding: 5px 10px; color: #1f684b; background: #eaf5ee; border: 1px solid #c5dfcf; border-radius: 5px; font-weight: 800; white-space: nowrap; }
.salary-ledger-state[hidden] { display: none; }
.modal-card.salary-paid-modal-card { width: min(560px, 100%); }
.salary-paid-modal-card .modal-head { align-items: flex-start; }
.salary-paid-modal-card .modal-head p { margin: 4px 0 0; }
.salary-paid-confirm-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.salary-paid-confirm-grid label { display: grid; gap: 6px; min-width: 0; color: #536158; font-size: 14px; font-weight: 700; }
.salary-paid-confirm-grid label:first-child { grid-column: 1 / -1; }
.salary-paid-confirm-grid input,
.salary-paid-confirm-grid select { width: 100%; min-width: 0; min-height: 40px; font-size: 16px; }
.salary-paid-account-hint { margin: 0; color: #7b5b1d; font-size: 12px; font-weight: 600; line-height: 1.45; }
.salary-paid-calculated { display: flex; align-items: baseline; justify-content: space-between; min-height: 48px; padding: 8px 12px; color: #647169; background: #f4f7f5; border: 1px solid #dce4df; border-radius: 6px; font-weight: 800; }
.salary-paid-calculated strong { color: #b52230; font-size: 26px; }
.salary-paid-difference { margin-top: 12px; padding: 9px 11px; border-radius: 5px; font-size: 14px; font-weight: 700; }
.salary-paid-difference[hidden] { display: none; }
.salary-paid-difference.is-more { color: #8a4d0a; background: #fff5e6; border: 1px solid #efd4a9; }
.salary-paid-difference.is-less { color: #a12631; background: #fff0f1; border: 1px solid #edc4c8; }
.salary-paid-modal-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 16px; padding-top: 14px; border-top: 1px solid #e6ece8; }
.salary-paid-modal-actions button { width: auto; min-width: 96px; }
.modal-card.salary-ledger-confirm-card { width: min(520px, 100%); }
.salary-ledger-confirm-message { margin: 0; padding: 14px; color: #33473d; background: #f5f8f6; border: 1px solid #dce5df; border-radius: 6px; font-size: 16px; font-weight: 700; line-height: 1.65; }
.salary-ledger-confirm-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 16px; padding-top: 14px; border-top: 1px solid #e6ece8; }
.salary-ledger-confirm-actions button { width: auto; min-width: 108px; }
.salary-table tfoot .total-row { padding: 12px; background: #fff5f5; border: 1px solid #ffd3d3; border-radius: 8px; font-weight: 700; }
.salary-search-label { width: min(280px, 100%); }
.salary-trend-card { width: min(1080px, 100%); }
.salary-trend-card canvas { width: 100%; }
.salary-trend-controls { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 12px; }
.salary-trend-controls label { display: inline-flex; align-items: center; gap: 7px; width: auto; min-height: 32px; padding: 5px 10px; color: #173b2d; background: #f7faf7; border: 1px solid #dfe7df; border-left: 4px solid var(--trend-color, #2f7d5f); border-radius: 6px; font-size: 14px; font-weight: 700; cursor: pointer; }
.salary-trend-controls input { width: auto; min-width: 0; min-height: 0; margin: 0; accent-color: var(--trend-color, #2f7d5f); }
.salary-trend-fallback { display: grid; place-items: center; width: 100%; min-height: 320px; padding: 20px; background: #fff; }
.salary-trend-fallback[hidden] { display: none !important; }
.salary-history-table-wrap { margin-top: 14px; overflow: auto; border: 1px solid #dfe7df; border-radius: 6px; }
.salary-history-table { width: 100%; min-width: 900px; margin: 0; font-size: 13px; }
.salary-history-table th, .salary-history-table td { padding: 8px 7px; text-align: center; white-space: nowrap; }
.salary-history-table th { color: #405047; background: #f2f7f3; }
.salary-history-table tbody tr:nth-child(even) { background: #fafcfb; }
.salary-history-table .salary-history-net { color: #ba2435; font-weight: 800; }
.salary-net-detail-card { width: min(720px, 100%); }
.salary-net-detail-meta { margin-bottom: 12px; padding: 10px 12px; color: #526159; background: #f4f8f5; border: 1px solid #dfe8e1; border-radius: 6px; font-size: 14px; text-align: center; }
.salary-net-detail-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid #e0e7e2; border-left: 1px solid #e0e7e2; }
.salary-net-detail-list > div { display: flex; justify-content: space-between; gap: 14px; padding: 10px 12px; border-right: 1px solid #e0e7e2; border-bottom: 1px solid #e0e7e2; }
.salary-net-detail-list span { color: #65746c; }
.salary-net-detail-list strong { color: #213a2e; white-space: nowrap; }
.salary-net-detail-list .salary-net-detail-final { color: #fff; background: #ba2435; }
.salary-net-detail-list .salary-net-detail-final span, .salary-net-detail-list .salary-net-detail-final strong { color: #fff; }
.salary-ranking { margin-top: 18px; padding-top: 18px; border-top: 2px solid #dce7df; }
.salary-ranking-head { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; margin-bottom: 14px; }
.salary-ranking-head h2 { margin: 0 0 4px; }
.salary-ranking-head p { margin: 0; }
.salary-ranking-head > strong { padding: 6px 10px; color: #43544a; background: #f3f7f4; border: 1px solid #dce6df; border-radius: 6px; font-size: 13px; white-space: nowrap; }
.salary-ranking-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 18px; }
.salary-ranking-item { display: grid; grid-template-columns: 34px minmax(105px, 145px) minmax(80px, 1fr) 96px; gap: 10px; align-items: center; min-width: 0; padding: 8px 10px; background: #fbfcfb; border: 1px solid #e1e8e3; border-radius: 6px; }
.salary-ranking-number { display: grid; place-items: center; width: 28px; height: 28px; color: #526159; background: #edf2ee; border-radius: 50%; font-size: 13px; font-weight: 800; }
.salary-ranking-person { display: grid; gap: 1px; min-width: 0; padding: 0; color: #20382d; background: transparent; border: 0; text-align: left; cursor: pointer; }
.salary-ranking-person strong, .salary-ranking-person small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.salary-ranking-person strong { font-size: 15px; }
.salary-ranking-person small { color: #748179; font-size: 11px; }
.salary-ranking-person:hover strong { color: #146044; text-decoration: underline; }
.salary-ranking-bar { display: block; height: 9px; overflow: hidden; background: #e7ece8; border-radius: 5px; }
.salary-ranking-bar i { display: block; height: 100%; background: #397b60; border-radius: inherit; }
.salary-ranking-amount { color: #ba2435; font-size: 15px; text-align: right; white-space: nowrap; }
.salary-ranking-top-1 { background: #fff7f7; border-color: #edc9ce; }
.salary-ranking-top-1 .salary-ranking-number { color: #fff; background: #ba2435; }
.salary-ranking-top-1 .salary-ranking-bar i { background: #ba2435; }
.salary-ranking-top-2 .salary-ranking-number { color: #fff; background: #3f6ea5; }
.salary-ranking-top-2 .salary-ranking-bar i { background: #3f6ea5; }
.salary-ranking-top-3 .salary-ranking-number { color: #fff; background: #a56b18; }
.salary-ranking-top-3 .salary-ranking-bar i { background: #a56b18; }
.salary-page-trend { margin-top: 18px; padding-top: 18px; border-top: 2px solid #dce7df; }
.salary-page-trend-head { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; margin-bottom: 12px; }
.salary-page-trend-head h2 { margin: 0 0 4px; }
.salary-page-trend-head p { margin: 0; }
.salary-page-trend-chart { position: relative; height: 340px; min-height: 0; overflow: hidden; }
.salary-page-trend-chart canvas { width: 100% !important; height: 100% !important; }
.modal-card.salary-print-modal-card { width: min(760px, 100%); }
.salary-print-modal-card .modal-head { align-items: flex-start; }
.salary-print-modal-card .modal-head h2 { margin-bottom: 4px; }
.salary-print-modal-card .modal-head p { margin: 0; font-size: 14px; }
.salary-print-toolbar,
.salary-print-modal-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.salary-print-toolbar { margin: 16px 0 10px; }
.salary-print-toolbar > div { display: flex; gap: 8px; }
.salary-print-toolbar strong { color: #1f684b; white-space: nowrap; }
.salary-print-person-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  max-height: min(52vh, 520px);
  padding: 10px;
  overflow-y: auto;
  overflow-x: hidden;
  background: #f6f8f7;
  border: 1px solid #dce4df;
  border-radius: 6px;
}
.salary-print-person-grid > .empty { grid-column: 1 / -1; }
.salary-print-person-check {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
  min-height: 54px;
  padding: 8px 10px;
  background: #fff;
  border: 1px solid #d7e0da;
  border-radius: 5px;
  cursor: pointer;
}
.salary-print-person-check:has(input:checked) { background: #edf7f1; border-color: #8ebba5; }
.salary-print-person-check input { flex: 0 0 auto; width: 17px; height: 17px; margin: 0; accent-color: #287f5f; }
.salary-print-person-check span { display: flex; flex: 1; min-width: 0; flex-direction: column; }
.salary-print-person-check strong,
.salary-print-person-check small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.salary-print-person-check strong { color: #193b2f; font-size: 15px; }
.salary-print-person-check small { margin-top: 2px; color: #718078; font-size: 12px; }
.salary-print-modal-actions { justify-content: flex-end; margin-top: 14px; }
.salary-print-modal-actions button { width: auto; min-width: 104px; }
.salary-print-sheet { display: none; }
@media (max-width: 640px) {
  .system-settings-basics { grid-template-columns: 1fr; }
  .navigation-settings,
  .navigation-settings-title,
  .navigation-settings-title > div { min-width: 0; }
  .navigation-settings-title span { overflow-wrap: anywhere; white-space: normal; }
  .navigation-settings-groups { grid-template-columns: 1fr; }
  .navigation-settings-head { display: none; }
  .navigation-settings-row { grid-template-columns: 38px minmax(0, 1fr) 82px; gap: 5px 8px; padding: 9px 4px; }
  .navigation-position { grid-column: 1; grid-row: 1 / span 2; }
  .navigation-original-name { grid-column: 2; grid-row: 1; }
  .navigation-label-input { grid-column: 2; grid-row: 2; min-height: 36px; }
  .navigation-order-actions { grid-column: 3; grid-row: 1 / span 2; }
  .navigation-settings-title > div { align-items: flex-start; flex-direction: column; gap: 2px; }
  .system-settings-save { width: 100%; }
  .salary-page-trend-head { align-items: stretch; flex-direction: column; }
  .salary-page-trend-head button { width: 100%; }
  .salary-ranking-head { align-items: stretch; flex-direction: column; }
  .salary-ranking-head > strong { align-self: flex-start; }
  .salary-ranking-list { grid-template-columns: 1fr; }
  .salary-ranking-item { grid-template-columns: 30px minmax(92px, 120px) minmax(60px, 1fr) 86px; gap: 7px; padding-inline: 7px; }
  .salary-ranking-amount { font-size: 13px; }
  .salary-net-detail-list { grid-template-columns: 1fr; }
  .salary-page-trend-chart { height: 280px; }
  .salary-history-table-wrap { overflow: visible; border: 0; }
  .salary-history-table { display: block; min-width: 0; }
  .salary-history-table thead { display: none; }
  .salary-history-table tbody { display: grid; gap: 10px; }
  .salary-history-table tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 8px; border: 1px solid #dfe7df; border-radius: 6px; background: #fff; }
  .salary-history-table td { display: grid; gap: 3px; padding: 7px; border: 0; white-space: normal; }
  .salary-history-table td::before { content: attr(data-label); color: #65746c; font-size: 12px; font-weight: 700; }
}
@page { size: A4 portrait; margin: 10mm; }
@media print {
  html, body { margin: 0 !important; padding: 0 !important; background: #fff !important; }
  body > * { display: none !important; }
  body > .container { display: block !important; width: auto !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
  body > .container > * { display: none !important; }
  body > .container > .salary-workspace { display: block !important; margin: 0 !important; padding: 0 !important; border: 0 !important; box-shadow: none !important; }
  body > .container > .salary-workspace > * { display: none !important; }
  body > .container > .salary-workspace > .salary-print-sheet { display: block !important; }
  .salary-print-sheet { position: static; display: block !important; width: 190mm; margin: 0; color: #111; background: #fff; font-family: "Microsoft YaHei", "PingFang SC", sans-serif; }
  .salary-print-sheet > h1 { display: none; }
  .salary-payslip-grid { display: grid; grid-template-columns: 1fr; gap: 4mm; }
  .salary-payslip { box-sizing: border-box; height: 49mm; overflow: hidden; padding: 1mm 0 2.5mm; border: 0; border-bottom: 1px dashed #555; break-inside: avoid; page-break-inside: avoid; }
  .salary-payslip:not(.is-print-selected) { display: none !important; }
  .salary-payslip.is-print-page-end { break-after: page; page-break-after: always; }
  .salary-payslip header { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 3mm; align-items: end; margin-bottom: 1mm; }
  .salary-payslip header > strong { font-family: SimSun, "Microsoft YaHei", sans-serif; font-size: 18px; line-height: 1.05; text-align: center; }
  .salary-payslip header > span { font-size: 10.5px; line-height: 1.1; white-space: nowrap; }
  .salary-payslip header > span:last-child { text-align: right; }
  .salary-payslip table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 9.5px; line-height: 1.12; }
  .salary-payslip th, .salary-payslip td { height: 7.5mm; padding: .45mm .2mm; border: 1px solid #555; overflow-wrap: anywhere; text-align: center; vertical-align: middle; }
  .salary-payslip th { background: #f3f3f3 !important; font-weight: 700; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .salary-payslip th[rowspan="2"] { width: 7%; }
  .salary-payslip th[rowspan="2"]:last-child { width: 8%; }
  .salary-payslip td:first-child { font-weight: 700; }
  .salary-payslip .salary-payslip-net { color: #b21f30; font-weight: 800; }
  .salary-payslip-signature { min-width: 14mm; }
  .salary-payslip-note { display: grid; grid-template-columns: 1fr 2fr; gap: 4mm; margin-top: 1mm; font-size: 9.5px; line-height: 1.15; }
  .salary-payslip-note span { min-width: 0; overflow-wrap: anywhere; }
}
.summary-sheet h2 { text-align: center; font-size: 28px; margin-bottom: 8px; }
.report-table th { text-align: center; color: #111; background: #d7eef9; }
.report-table td { text-align: center; }
.report-table tbody tr:hover, .detail-table tbody tr:hover, .mini-table tbody tr:hover { background: #f9fcf9; }
.summary-sheet th:first-child, .summary-sheet td:first-child { text-align: center; }
.summary-sheet a { font-weight: 700; }
.detail-panel th, .detail-panel td { text-align: center; }
.channel-商品卡 { background: #bce3b4 !important; }
.channel-直播 { background: #83d9d8 !important; }
.channel-私域 { background: #f5b7c1 !important; }
.total-head, .total-row th, .total-row td { background: #ffefef !important; font-weight: 700; }
.channel-rank-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.sales-rank-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; align-items: start; }
.sales-product-table th:nth-child(4), .sales-product-table td:nth-child(4) { width: 28%; white-space: normal; word-break: break-word; }
.rank-block { border-radius: 8px; overflow: hidden; border: 1px solid #d9ded9; }
.rank-block h3 { margin: 0; padding: 9px; text-align: center; color: #173b2d; background: #e8f3ee; border-bottom: 1px solid #d9ded9; }
.mini-table { width: 100%; table-layout: fixed; font-size: 14px; }
.mini-table th, .mini-table td { padding: 6px 4px; text-align: center; white-space: normal; overflow: visible; text-overflow: clip; overflow-wrap: anywhere; word-break: break-word; }
.mini-table th:first-child, .mini-table td:first-child { width: 18%; }
.mini-table th:nth-child(3), .mini-table td:nth-child(3),
.mini-table th:nth-child(4), .mini-table td:nth-child(4),
.mini-table th:nth-child(5), .mini-table td:nth-child(5) { width: 19%; }
.modal-summary { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin-bottom: 14px; }
.modal-summary div { padding: 10px; background: #f5faf7; border: 1px solid #dfe7df; border-radius: 8px; text-align: center; }
.modal-summary span { display: block; color: #64746b; font-size: 14px; }
.modal-summary strong { display: block; margin-top: 4px; font-size: 20px; color: #173b2d; }
.modal-backdrop { position: fixed; inset: 0; z-index: 50; padding: 22px; background: rgba(24, 37, 31, .45); }
.modal-card { width: min(1500px, 100%); max-height: calc(100vh - 44px); margin: 0 auto; padding: 18px; overflow: auto; background: #fff; border-radius: 8px; box-shadow: 0 20px 60px rgba(0,0,0,.22); }
@media (min-width: 761px) {
  .modal-card .modal-actions,
  .modal-card .form-actions:not(.store-information-form-actions) { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 10px; width: 100%; margin-top: 16px; padding-top: 16px; border-top: 1px solid #e5ebe7; }
  .modal-card .modal-actions > button,
  .modal-card .form-actions:not(.store-information-form-actions) > button { width: auto; min-width: 96px; }
  .modal-card .modal-actions > [role="status"],
  .modal-card .form-actions:not(.store-information-form-actions) > [data-form-status] { margin-right: auto; }
}
.modal-card.salary-rule-modal-card { width: min(1120px, 100%); }
.settings-card { width: min(760px, 100%); }
.product-order-detail-card { width: min(1500px, 100%); }
.product-order-detail-meta { margin: -4px 0 8px; }
.product-order-detail-summary { min-height: 24px; margin-bottom: 8px; color: #355046; font-weight: 700; }
.product-order-detail-table { min-width: 1260px; table-layout: auto; font-size: 13px; }
.product-order-detail-table th, .product-order-detail-table td { padding: 6px; white-space: nowrap; }
.product-order-detail-table th:nth-child(9), .product-order-detail-table td:nth-child(9) { min-width: 220px; white-space: normal; }
.product-order-detail-pager { justify-content: center; margin-bottom: 0; }
.modal-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.modal-head h2 { margin: 0; }
.modal-card h3 { margin: 14px 0 8px; }
.modal-table { font-size: clamp(14px, .86vw, 15px); }
.modal-chart { margin-top: 18px; padding-top: 14px; border-top: 1px solid #e5ebe5; min-height: 320px; }
.alert { margin-bottom: 14px; padding: 12px 14px; border-radius: 6px; }
.alert.error { color: #842029; background: #f8d7da; }
.alert.ok { color: #0f5132; background: #d1e7dd; }
.import-result-panel { border-left: 4px solid var(--primary); }
.import-result-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.import-result-head h2, .import-result-head p { margin: 0; }
.import-result-head p { margin-top: 4px; color: var(--muted); }
.import-result-metrics { display: grid; grid-template-columns: repeat(5, minmax(120px, 1fr)); gap: 8px; margin-bottom: 12px; }
.import-result-metrics span { padding: 10px 12px; color: #5c6b63; background: #f5faf7; border: 1px solid #dfe7df; border-radius: 6px; font-size: 13px; }
.import-result-metrics strong { display: block; margin-top: 4px; color: #173b2d; font-size: 20px; }
.import-exclusion-groups { display: grid; gap: 8px; }
.import-exclusion-groups details { padding: 10px 12px; background: #fff8f1; border: 1px solid #efd7bd; border-radius: 6px; }
.import-exclusion-groups summary { color: #70471b; font-weight: 700; cursor: pointer; }
.import-excluded-orders { display: flex; flex-wrap: wrap; gap: 6px; max-height: 180px; margin-top: 10px; overflow: auto; }
.import-excluded-orders span { padding: 4px 7px; color: #5a3a17; background: #fff; border: 1px solid #ead8c3; border-radius: 5px; font-size: 13px; }
.import-no-exclusions { margin: 0; color: #2f6f56; }
.order-anomaly-section { border-left: 4px solid #c2410c; }
.order-anomaly-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.order-anomaly-head h2, .order-anomaly-head p { margin: 0; }
.order-anomaly-head p { margin-top: 5px; color: var(--muted); }
.order-anomaly-count { display: inline-block; min-width: 26px; margin-left: 4px; padding: 2px 7px; color: #9a3412; background: #ffedd5; border-radius: 999px; font-size: 13px; text-align: center; vertical-align: middle; }
.order-anomaly-filter { display: flex; align-items: end; gap: 8px; margin-bottom: 10px; }
.order-anomaly-filter label { min-width: min(420px, 100%); }
.order-anomaly-filter select { min-width: 300px; }
.order-anomaly-toolbar { display: flex; align-items: center; gap: 12px; min-height: 36px; margin-bottom: 10px; padding: 7px 9px; background: #fff6ed; border: 1px solid #fed7aa; border-radius: 6px; }
.order-anomaly-toolbar > span { color: #6b5a4f; font-size: 13px; }
.order-anomaly-select-all { display: flex; align-items: center; gap: 5px; color: #7c2d12; font-weight: 700; white-space: nowrap; }
.order-anomaly-batch-form { display: flex; gap: 7px; margin: 0 0 0 auto; }
.order-anomaly-pager { margin: 8px 0; }
.order-anomaly-list { display: grid; gap: 10px; }
.order-anomaly-item { padding: 12px; border: 1px solid #fed7aa; border-radius: 8px; background: #fffaf5; }
.order-anomaly-title { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.order-anomaly-title label { display: flex; align-items: center; gap: 6px; }
.order-anomaly-title strong { color: #7c2d12; white-space: nowrap; }
.order-anomaly-title span { color: #9a3412; font-weight: 700; text-align: right; }
.order-anomaly-meta { display: flex; flex-wrap: wrap; gap: 6px 14px; margin-top: 7px; color: #6b5a4f; font-size: 13px; }
.order-anomaly-values { display: grid; grid-template-columns: repeat(7, minmax(90px, 1fr)); gap: 6px; margin-top: 10px; }
.order-anomaly-values > span, .order-anomaly-values > label { display: block; min-width: 0; padding: 7px 8px; color: #786557; background: #fff; border: 1px solid #f1dfd0; border-radius: 5px; font-size: 12px; }
.order-anomaly-values strong { display: block; margin-top: 3px; color: #35271f; font-size: 14px; }
.order-anomaly-values input { width: 100%; min-width: 0; margin-top: 3px; padding: 5px 6px; color: #35271f; background: #fff; font-size: 14px; font-weight: 700; }
.order-anomaly-product { margin: 8px 0 0; color: #5e5048; font-size: 13px; }
.order-anomaly-actions { display: flex; justify-content: flex-end; gap: 7px; margin-top: 10px; }
.order-anomaly-actions form { margin: 0; }
.order-anomaly-more { margin: 10px 0 0; }
.muted, .empty { color: #6b786f; }
.center { text-align: center; }
.neg { color: #b42318; font-weight: 700; }
canvas { max-height: 360px; }
.chart-unavailable { display: grid; place-items: center; min-height: 180px; padding: 20px; color: #76520f; background: #fff8e6; border: 1px solid #ecd79d; border-radius: 8px; text-align: center; }
.log-table .log-detail { min-width: 360px; white-space: normal; line-height: 1.5; }

.dashboard-page { --dashboard-accent: #216e52; --dashboard-accent-deep: #174d3b; }
.dashboard-page .page-title-actions { order: 1; }
.dashboard-page .page-head > .dashboard-scope-switch, .dashboard-page .page-head > .dashboard-actual-cost-link { order: 2; }
.dashboard-page .page-head > form { order: 3; margin-left: auto; }
.dashboard-page .dashboard-actual-cost-link { flex: 0 0 auto; white-space: nowrap; }
.dashboard-scope-switch { display: inline-flex; gap: 3px; padding: 3px; background: #e8efeb; border-radius: 8px; }
.dashboard-scope-switch a { display: inline-flex; align-items: center; justify-content: center; min-height: 34px; padding: 6px 13px; color: #53655d; border-radius: 6px; font-size: 14px; font-weight: 700; white-space: nowrap; }
.dashboard-scope-switch a.active { color: #fff; background: var(--dashboard-accent); box-shadow: 0 2px 7px rgba(33, 110, 82, .2); }
.dashboard-brief-view { display: none; }
.dashboard-brief-hero { overflow: hidden; padding: 0; color: var(--ink); border: 1px solid #e1e7e3; background: #fff; box-shadow: 0 7px 20px rgba(37, 61, 47, .05); }
.dashboard-brief-profit { display: grid; grid-template-columns: 1.35fr .65fr; gap: 0; align-items: end; padding: 0 16px; }
.dashboard-brief-profit > div, .dashboard-brief-support > div { min-width: 0; }
.dashboard-brief-profit > div { padding: 17px 0 16px; }
.dashboard-brief-profit > div + div { padding-left: 16px; border-left: 1px solid #e4e9e6; }
.dashboard-brief-profit span, .dashboard-brief-support span { display: block; margin-bottom: 5px; color: #66776e; font-size: 12px; font-weight: 700; }
.dashboard-brief-profit strong { display: block; overflow: hidden; color: var(--dashboard-accent); font-size: 25px; line-height: 1.1; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-brief-profit > div:first-child strong { font-size: clamp(35px, 10vw, 42px); letter-spacing: -.03em; }
.dashboard-brief-profit strong.neg { color: var(--danger); }
.dashboard-brief-support { display: grid; grid-template-columns: 1fr 1fr; margin: 0 16px; border-top: 1px solid #e4e9e6; background: #fff; }
.dashboard-brief-support > div { padding: 13px 0 15px; }
.dashboard-brief-support > div + div { padding-left: 16px; border-left: 1px solid #e4e9e6; }
.dashboard-brief-support strong { color: #223a30; font-size: 20px; white-space: nowrap; }
.dashboard-brief-section { padding: 15px; }
.dashboard-brief-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 13px; }
.dashboard-brief-heading h2 { margin: 0; color: #203c30; font-size: 17px; }
.dashboard-brief-heading > span { color: var(--muted); font-size: 12px; white-space: nowrap; }
.dashboard-channel-list { display: grid; gap: 12px; }
.dashboard-channel-row { display: grid; grid-template-columns: 50px minmax(70px, 1fr) auto 42px; gap: 8px; align-items: center; }
.dashboard-channel-row > strong { color: #31483e; font-size: 13px; }
.dashboard-channel-row > span:not(.dashboard-channel-track), .dashboard-channel-row > small { color: #31483e; font-size: 12px; text-align: right; white-space: nowrap; }
.dashboard-channel-row > small { color: var(--muted); }
.dashboard-channel-track { display: block; height: 8px; overflow: hidden; background: #e5eee9; border-radius: 999px; }
.dashboard-channel-track i { display: block; width: var(--share); height: 100%; background: linear-gradient(90deg, #5aa785, var(--dashboard-accent)); border-radius: inherit; }
.dashboard-brief-reminder { display: grid; gap: 5px; padding: 13px 15px; border-left: 4px solid var(--dashboard-accent); background: #eef6f2; }
.dashboard-brief-reminder span { color: #39705a; font-size: 12px; font-weight: 800; }
.dashboard-brief-reminder strong { color: #234b3b; font-size: 14px; line-height: 1.45; }
.dashboard-top-people { margin: 0; padding: 0; list-style: none; counter-reset: dashboard-rank; }
.dashboard-top-people li { counter-increment: dashboard-rank; border-top: 1px solid #edf1ef; }
.dashboard-top-people li:first-child { border-top: 0; }
.dashboard-top-people li button { display: grid; grid-template-columns: 26px minmax(52px, auto) minmax(58px, 1fr) auto; gap: 8px; align-items: center; width: 100%; min-height: 39px; text-align: left; text-decoration: none; }
.dashboard-top-people li button::before { content: counter(dashboard-rank); display: inline-flex; align-items: center; justify-content: center; width: 21px; height: 21px; color: #2a684f; background: #e7f2ec; border-radius: 50%; font-size: 11px; font-weight: 800; }
.dashboard-top-people li:first-child button::before { color: #775314; background: #fff0c7; }
.dashboard-top-people li button > span { overflow: hidden; color: #33473e; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-top-people .dashboard-person-profit-bar { display: block; height: 7px; background: #e6eeea; border-radius: 999px; }
.dashboard-top-people .dashboard-person-profit-bar i { display: block; width: var(--share); height: 100%; background: var(--dashboard-accent); border-radius: inherit; }
.dashboard-top-people li button > strong { color: #174d3b; white-space: nowrap; }
.dashboard-top-people li button > strong.neg { color: var(--danger); }
.dashboard-orientation-hint { display: grid; gap: 3px; margin: 4px 2px 0; padding: 12px; color: #567066; background: #eaf3ef; border: 1px solid #d3e5dc; border-radius: 7px; text-align: center; }
.dashboard-orientation-hint strong { color: #285b47; font-size: 13px; }
.dashboard-orientation-hint span { font-size: 11px; }
.dashboard-horizontal-hint { display: none; margin: 4px 0 8px; color: #63766d; font-size: 12px; text-align: right; }

@media (max-width: 1220px) {
  .relation-admin-grid { grid-template-columns: 1fr; }
  .topbar { gap: 10px; padding-inline: 12px; }
  .brand { min-width: 184px; }
  .brand-copy small { display: none; }
  .main-nav-flat { gap: 1px; }
  .main-nav-flat a { padding-inline: 7px; font-size: 13px; }
  .desktop-nav-groups { gap: 3px; }
  .nav-group-trigger { min-width: 76px; padding-inline: 10px; font-size: 14px; }
  .account-link > span:not(.account-avatar) { display: none; }
}

@media (max-width: 860px) {
  .nav-left { padding-left: 0; }
  .nav-left .topbar { position: relative; inset: auto; width: auto; min-height: 58px; padding: 8px 10px; display: grid; border-right: 0; border-bottom: 1px solid var(--line); }
  .nav-left .brand { padding: 0; border-bottom: 0; }
  .nav-left .main-nav { display: none; width: 100%; overflow: visible; }
  .nav-left.nav-open .main-nav { display: grid; }
  .nav-left .account-menu { width: auto; padding-top: 0; border-top: 0; }
  .relation-admin-grid { grid-template-columns: 1fr; }
  .relation-admin-grid .form-grid { grid-template-columns: 1fr; }
  .relation-admin-grid .form-grid .wide { grid-column: auto; }
  .department-create-form { grid-template-columns: 1fr !important; }
  .staff-batch-toolbar { flex-wrap: wrap; }
  .staff-batch-toolbar .staff-save-status { flex: 1 0 100%; }
  .staff-search-control { order: 1; grid-template-columns: 1fr; flex: 1 0 calc(100% - 90px); gap: 4px; }
  .staff-search-count { order: 1; }
  .staff-birthday-reminder { grid-template-columns: 1fr; }
  .staff-birthday-list { justify-content: flex-start; }
  .staff-deadline-reminder { grid-template-columns: 1fr; }
  .staff-deadline-list { justify-content: flex-start; }
  .staff-deadline-item { width: 100%; }
  .staff-deadline-open { flex: 1; flex-wrap: wrap; justify-content: flex-start; }
  .staff-status-filter { order: 2; flex: 1 0 100%; overflow-x: auto; }
  .staff-filter-button { flex: 0 0 auto; }
  .staff-profile-overview { grid-template-columns: 1fr; }
  .staff-profile-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .staff-profile-actions .staff-profile-status { grid-column: 1 / -1; margin-right: 0; }
  .staff-profile-actions button { width: 100%; min-width: 0; }
  .staff-profile-grid, .staff-profile-grid fieldset, .staff-profile-grid .profile-notes { grid-template-columns: 1fr; }
  .staff-profile-grid .profile-basic, .staff-profile-grid .profile-employment, .staff-profile-grid .profile-addresses, .staff-profile-grid .profile-notes, .staff-profile-grid .profile-id-cards, .staff-profile-grid .profile-contract-files { grid-column: 1; }
  .staff-profile-grid .profile-wide, .staff-profile-grid .profile-span-2 { grid-column: auto; }
  .profile-period { grid-template-columns: 1fr; }
  .hr-attendance-toolbar { align-items: stretch; }
  .hr-attendance-toolbar label, .hr-attendance-search-control, .hr-attendance-status, .hr-attendance-warning, .hr-attendance-submitted-meta, .hr-attendance-toolbar button { width: 100%; }
  .hr-attendance-table-wrap { overflow: visible; border: 0; }
  .hr-attendance-table { min-width: 0; border-collapse: separate; border-spacing: 0; }
  .hr-attendance-table thead { display: none; }
  .hr-attendance-table tbody { display: grid; gap: 9px; }
  .hr-attendance-table tr { display: grid; grid-template-columns: 1fr; gap: 7px; padding: 10px; border: 1px solid #dfe7df; border-radius: 8px; background: #fff; }
  .hr-attendance-table td { display: grid; grid-template-columns: minmax(74px, .35fr) minmax(0, 1fr); align-items: center; gap: 8px; min-width: 0; padding: 0; border: 0; }
  .hr-attendance-table td::before { content: attr(data-label); color: #65746b; font-size: 12px; font-weight: 700; }
  .hr-attendance-table td > * { min-width: 0; }
  .store-section-head { align-items: stretch; flex-direction: column; }
  .store-create-open { width: 100%; }
  .topbar { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; min-height: 58px; padding: 8px 10px; }
  .brand { grid-column: 1; grid-row: 1; min-width: 0; }
  .brand-mark { width: 34px; height: 34px; }
  .brand-copy strong { max-width: 42vw; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .nav-toggle { display: block; grid-column: 2; grid-row: 1; }
  .main-nav { display: none; grid-column: 1 / -1; grid-row: 2; width: 100%; padding: 8px 0 3px; border-top: 1px solid var(--line); }
  .nav-open .main-nav { display: block; }
  .main-nav-grouped .desktop-nav-groups { display: none; }
  .main-nav-grouped .mobile-nav-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3px; }
  .main-nav a { padding: 10px; font-size: 14px; text-align: center; }
  .account-menu { grid-column: 3; grid-row: 1; gap: 4px; }
  .account-link { padding: 2px; }
  .account-avatar { width: 34px; height: 34px; }
  .container { padding: 10px; }
  .grid, .metrics, .form-grid { grid-template-columns: 1fr; }
  .import-result-head { align-items: stretch; flex-direction: column; }
  .import-result-head .btn-link { width: 100%; }
  .import-result-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .order-anomaly-title { flex-direction: column; gap: 5px; }
  .order-anomaly-title span { text-align: left; }
  .order-anomaly-values { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .order-anomaly-filter, .order-anomaly-toolbar { align-items: stretch; flex-direction: column; }
  .order-anomaly-filter select { min-width: 0; width: 100%; }
  .order-anomaly-batch-form { width: 100%; margin-left: 0; }
  .order-anomaly-batch-form button { flex: 1; }
  .form-grid .wide { grid-column: auto; }
  .person-scope-options { grid-template-columns: 1fr; }
  .person-checkbox-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .relation-filter-bar, .store-name-cell { grid-template-columns: 1fr; }
  .relation-filter-bar .filter-count { white-space: normal; }
  .owner-history-grid { grid-template-columns: 1fr; }
  .owner-history-item { grid-template-columns: minmax(70px, .7fr) minmax(0, 1.3fr); }
  .page-head { align-items: stretch; flex-direction: column; }
  .app-page-hero { min-height: 0; padding: 10px 0 16px; }
  .app-page-hero .page-title-actions { align-items: flex-start; }
  .app-page-hero .page-title-actions h1 { font-size: 25px; }
  .app-page-hero .page-description { margin-top: 9px; font-size: 14px; }
  .store-detail-heading { align-items: stretch; flex-direction: column; gap: 10px; }
  .detail-filter { justify-content: stretch; margin: 0; }
  .detail-filter label, .sales-rank-filter label { width: 100%; }
  .sales-rank-filter { align-items: stretch; flex-direction: column; margin: 0 0 12px; }
  .date-range-picker { position: fixed; left: 8px !important; right: 8px; top: 72px !important; width: auto !important; max-height: calc(100vh - 88px); overflow: auto; }
  .drp-body { grid-template-columns: 1fr; }
  section { padding: 12px; border-radius: 8px; }
  th, td { padding: 9px 10px; }
  .summary-sheet h2 { font-size: 20px; }
  .wide-fit { overflow: visible; }
  .fit-table, .report-table, .detail-table, .modal-table, .relation-table, .mobile-card-table { table-layout: auto; min-width: 0; font-size: 14px; }
  .fit-table thead, .report-table thead, .detail-table thead, .modal-table thead, .relation-table thead, .mobile-card-table thead { display: none; }
  .fit-table tbody, .fit-table tr, .fit-table th, .fit-table td,
  .report-table tbody, .report-table tr, .report-table th, .report-table td,
  .detail-table tbody, .detail-table tr, .detail-table th, .detail-table td,
  .modal-table tbody, .modal-table tr, .modal-table th, .modal-table td,
  .relation-table tbody, .relation-table tr, .relation-table th, .relation-table td,
  .mobile-card-table tbody, .mobile-card-table tr, .mobile-card-table th, .mobile-card-table td { display: block; width: 100%; }
  .fit-table tr, .report-table tr, .detail-table tr, .modal-table tr, .relation-table tr, .mobile-card-table tr { margin-bottom: 10px; padding: 10px; background: #fff; border: 1px solid #dfe7df; border-radius: 8px; box-shadow: 0 4px 14px rgba(37, 61, 47, .05); }
  .fit-table th, .fit-table td, .report-table th, .report-table td, .detail-table th, .detail-table td, .modal-table th, .modal-table td, .relation-table th, .relation-table td, .mobile-card-table th, .mobile-card-table td { display: flex; justify-content: space-between; gap: 12px; padding: 6px 2px; border: 0; white-space: normal; overflow: visible; text-align: right; }
  .fit-table td::before, .report-table td::before, .detail-table td::before, .modal-table td::before, .relation-table td::before, .mobile-card-table td::before { content: attr(data-label); flex: 0 0 42%; color: #64746b; text-align: left; font-weight: 600; }
  .fit-table th:first-child, .report-table th:first-child, .detail-table th:first-child, .modal-table th:first-child, .relation-table th:first-child, .mobile-card-table th:first-child { justify-content: center; color: #173b2d; background: #eef7f1; border-radius: 6px; font-size: 15px; }
  .store-manage-table td:nth-child(n) { width: 100%; }
  .store-manage-table td[data-label="负责人"] { display: grid; grid-template-columns: 1fr; gap: 6px; text-align: left; }
  .store-manage-table td[data-label="负责人"]::before { display: block; flex: none; }
  .store-manage-table .owner-summary { width: 100%; min-width: 0; }
  .mobile-card-table td > input:not(.check), .mobile-card-table td > select { width: min(58%, 320px); min-width: 0; }
  .all-detail-table.mobile-card-table { display: block; width: 100%; }
  .all-detail-table.mobile-card-table td > input:not(.check), .all-detail-table.mobile-card-table td > select { width: min(58%, 320px); }
  .all-detail-table.mobile-card-table .owner-cell { text-align: right; }
  .mobile-card-table td[data-label="角色与权限"] { display: grid; grid-template-columns: 42% minmax(0, 1fr); align-items: start; text-align: left; }
  .mobile-card-table td[data-label="角色与权限"]::before { grid-row: 1 / span 2; }
  .mobile-card-table .compact-permissions { min-width: 0; margin-top: 8px; justify-content: flex-start; }
  .mobile-card-table .actions { flex-wrap: wrap; justify-content: flex-end; }
  .mobile-card-table .log-detail { min-width: 0; text-align: left; overflow-wrap: anywhere; }
  .channel-rank-grid, .sales-rank-grid { grid-template-columns: 1fr; }
  .modal-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .modal-backdrop { padding: 10px; }
  .modal-card { padding: 12px; max-height: calc(100vh - 20px); }
  .salary-rule-head { display: none; }
  .salary-rule-item { grid-template-columns: 1fr; }
  .salary-rule-group-box { padding: 14px 6px 6px; }
  .salary-deduction-title { align-items: flex-start; flex-direction: column; gap: 6px; }
  .salary-deduction-title span { width: max-content; max-width: 100%; padding-inline: 6px; font-size: 12px; }
  .salary-deduction-head { display: none; }
  .salary-deduction-item { grid-template-columns: 1fr; }
  .salary-deduction-item [data-prefix]::before { content: attr(data-prefix); color: #776b68; font-weight: 600; }
  .salary-deduction-item .salary-deduction-remove, .salary-deduction-add { width: 100%; }
  .salary-wage-grid { grid-template-columns: 1fr; }
  .metrics strong { font-size: 20px; }
  .metrics.jst-overview-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .jst-chart-wrap { min-height: 280px; }
  .jst-fetch-grid, .jst-auto-form, .jst-auto-status { grid-template-columns: 1fr; }
  .order-import-fold > summary { align-items: flex-start; padding: 11px 12px; }
  .order-import-fold > summary span { align-items: flex-start; flex-direction: column; gap: 2px; }
  .order-import-fold-body { padding: 12px; }
  .all-order-heading { align-items: stretch; flex-direction: column; }
  .all-order-heading button { width: 100%; }
  .manual-order-form { grid-template-columns: 1fr; }
  .jst-order-job-head { align-items: flex-start; flex-direction: column; gap: 3px; }
  .jst-fetch-panel { padding: 12px; }
  .jst-run-now-form button { width: 100%; }
  .jst-import-head { align-items: stretch; flex-direction: column; }
  .jst-import-head .button { text-align: center; }
}

@media (max-width: 860px) and (orientation: portrait) {
  .salary-actions, .salary-ledger-actions, .salary-paid-summary { align-items: stretch; flex-direction: column; }
  .salary-ledger-actions { width: 100%; }
  .salary-paid-summary { gap: 5px; }
  .salary-ledger-buttons { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
  .salary-ledger-buttons button, .salary-ledger-state { width: 100%; justify-content: center; }
  .salary-print-person-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .salary-paid-confirm-grid { grid-template-columns: 1fr; }
  .salary-paid-confirm-grid label:first-child { grid-column: auto; }
  .dashboard-page .dashboard-detail-only { display: none !important; }
  .dashboard-page .dashboard-brief-view { display: block; }
  .dashboard-page .page-head { gap: 10px; margin-bottom: 12px; }
  .dashboard-page .page-title-actions { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 7px; width: 100%; }
  .dashboard-page .page-title-actions h1 { margin: 0; font-size: 21px; }
  .dashboard-page .page-head > .dashboard-scope-switch { order: 3; width: 100%; }
  .dashboard-page .page-head > .dashboard-actual-cost-link { order: 3; align-self: flex-start; }
  .dashboard-page .dashboard-scope-switch a { flex: 1; min-height: 42px; }
  .dashboard-page .page-head > form { order: 2; margin-left: 0; }
  .dashboard-page .page-title-actions .small, .dashboard-page .page-title-actions .btn-link { min-height: 34px; padding-inline: 8px; font-size: 13px; }
  .dashboard-page .dashboard-range-form { display: grid; grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr) auto; gap: 7px; width: 100%; align-items: end; }
  .dashboard-page .dashboard-range-form label { min-width: 0; font-size: 12px; }
  .dashboard-page .dashboard-range-form select, .dashboard-page .dashboard-range-form input { width: 100%; min-width: 0; min-height: 38px; font-size: 14px; }
  .dashboard-page .dashboard-range-form button { min-height: 38px; }
  .dashboard-page .dashboard-brief-view section { margin-bottom: 10px; }
}

@media (orientation: landscape) and (min-width: 641px) and (max-width: 1000px) {
  .container { padding: 8px; }
  section { margin-bottom: 10px; padding: 10px; }
  .page-head { align-items: end; flex-direction: row; }
  .form-grid { grid-template-columns: repeat(4, minmax(130px, 1fr)); gap: 8px; }
  .form-grid .wide { grid-column: span 2; }
  .metrics { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-bottom: 10px; }
  .metrics.jst-overview-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .metrics div { padding: 10px; }
  .dashboard-page .dashboard-brief-view { display: none; }
  .dashboard-page .dashboard-detail-only { display: block; }
  .dashboard-page .metrics.dashboard-detail-only { display: grid; }
  .dashboard-page .page-head { gap: 8px; margin-bottom: 8px; }
  .dashboard-page .page-title-actions { gap: 6px; flex-wrap: nowrap; }
  .dashboard-page .page-title-actions h1 { font-size: 19px; white-space: nowrap; }
  .dashboard-page .dashboard-scope-switch a { min-height: 30px; padding: 4px 9px; font-size: 12px; }
  .dashboard-page .page-head > .dashboard-scope-switch, .dashboard-page .page-head > .dashboard-actual-cost-link { order: 2; }
  .dashboard-page .dashboard-actual-cost-link { min-height: 30px; padding: 4px 9px; font-size: 12px; }
  .dashboard-page .page-head > form { order: 3; margin-left: auto; }
  .dashboard-page .dashboard-range-form { gap: 6px; }
  .dashboard-page .dashboard-range-form label { gap: 3px; font-size: 11px; }
  .dashboard-page .dashboard-range-form input, .dashboard-page .dashboard-range-form select, .dashboard-page .dashboard-range-form button { min-height: 30px; font-size: 12px; }
  .dashboard-page .metrics div { padding: 7px 9px; }
  .dashboard-page .metrics span { margin-bottom: 3px; font-size: 11px; }
  .dashboard-page .metrics strong { font-size: 18px; white-space: nowrap; }
  .dashboard-page .summary-sheet h2 { margin-bottom: 4px; font-size: 18px; }
  .dashboard-page .summary-sheet { padding: 0; overflow: hidden; }
  .dashboard-page .summary-sheet h2 { margin: 0; padding: 8px 10px 3px; text-align: left; }
  .dashboard-page .summary-sheet > .muted { display: none; }
  .dashboard-page .summary-sheet .wide-fit { border-top: 1px solid var(--line); }
  .dashboard-page .dashboard-horizontal-hint { display: block; margin: 0; padding: 4px 10px; }
  input, select, button { min-height: 34px; padding: 5px 7px; font-size: 14px; }
  .table-wrap, .wide-fit { max-width: 100%; overflow: auto; }
  .fit-table, .report-table, .detail-table, .modal-table, .relation-table, .mobile-card-table { display: table; width: 100%; min-width: 760px; table-layout: auto; font-size: 12px; }
  .report-table { font-size: 14px; }
  .dashboard-page .report-table { min-width: 1420px; font-size: 12px; }
  .dashboard-page .report-table th:first-child, .dashboard-page .report-table td:first-child { position: sticky; left: 0; z-index: 2; min-width: 90px; background: #fff; box-shadow: 1px 0 0 #dce2e7; }
  .dashboard-page .report-table thead th:first-child { z-index: 4; background: #eef5f1; }
  .dashboard-page .report-table .total-row th:first-child { background: #edf6f1; }
  .fit-table thead, .report-table thead, .detail-table thead, .modal-table thead, .relation-table thead, .mobile-card-table thead { display: table-header-group; }
  .fit-table tbody, .report-table tbody, .detail-table tbody, .modal-table tbody, .relation-table tbody, .mobile-card-table tbody { display: table-row-group; }
  .fit-table tr, .report-table tr, .detail-table tr, .modal-table tr, .relation-table tr, .mobile-card-table tr { display: table-row; margin: 0; padding: 0; border: 0; box-shadow: none; }
  .fit-table th, .fit-table td, .report-table th, .report-table td, .detail-table th, .detail-table td, .modal-table th, .modal-table td, .relation-table th, .relation-table td, .mobile-card-table th, .mobile-card-table td { display: table-cell; width: auto; padding: 5px 6px; border-bottom: 1px solid #e5e9ed; white-space: nowrap; text-align: left; }
  .fit-table td::before, .report-table td::before, .detail-table td::before, .modal-table td::before, .relation-table td::before, .mobile-card-table td::before { display: none; content: none; }
  .account-management-table { min-width: 1120px; }
  .account-management-table th:nth-child(1), .account-management-table td:nth-child(1) { width: 13%; }
  .account-management-table th:nth-child(2), .account-management-table td:nth-child(2) { width: 11%; }
  .account-management-table th:nth-child(3), .account-management-table td:nth-child(3) { width: 9%; }
  .account-management-table th:nth-child(4), .account-management-table td:nth-child(4) { width: 24%; }
  .account-management-table th:nth-child(5), .account-management-table td:nth-child(5) { width: 15%; }
  .account-management-table th:nth-child(6), .account-management-table td:nth-child(6) { width: 8%; text-align: center; }
  .account-management-table th:nth-child(7), .account-management-table td:nth-child(7) { width: 20%; }
  .salary-table { display: table; width: 100%; min-width: 1500px; border-collapse: collapse; font-size: 12px; }
  .salary-table colgroup { display: table-column-group; }
  .salary-table thead { display: table-header-group; }
  .salary-table tbody { display: table-row-group; }
  .salary-table tfoot { display: table-footer-group; }
  .salary-table tr, .salary-person-row, .salary-table tfoot .total-row { display: table-row; margin: 0; padding: 0; background: #fff; border: 0; box-shadow: none; }
  .salary-table th, .salary-table td { display: table-cell; width: auto; min-height: 0; padding: 4px; border: 1px solid #e2e7eb; border-radius: 0; white-space: nowrap; font-size: 12px; }
  .salary-table td::before { display: none; content: none; }
  .salary-table input, .salary-table select { min-width: 58px; min-height: 28px; padding: 3px 4px; font-size: 12px; }
  .salary-table button { min-height: 28px; padding: 3px 6px; font-size: 12px; }
}

/* Phone asset management */
.phone-page { display: grid; min-width: 0; gap: 16px; }
.phone-page > *, .phone-page [data-phone-list] { min-width: 0; }
.phone-page-head { align-items: flex-end; }
.phone-page-head h1 { margin: 2px 0 4px; }
.phone-page-head .eyebrow { margin: 0; color: #6b7280; font-size: 11px; font-weight: 800; letter-spacing: .16em; }
.phone-head-actions { display: flex; align-items: center; gap: 8px; }
.phone-head-actions .button { display: inline-flex; align-items: center; justify-content: center; min-width: 80px; min-height: 38px; padding: 8px 13px; border-radius: 8px; background: #eef2f7; color: #1f2937; text-decoration: none; white-space: nowrap; }
.phone-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.phone-summary-card { min-width: 0; padding: 16px; border: 1px solid #e5e7eb; border-radius: 14px; background: linear-gradient(145deg, #fff, #f8fafc); box-shadow: 0 7px 20px rgba(15,23,42,.05); }
.phone-summary-card span { display: block; color: #64748b; font-size: 12px; }
.phone-summary-card strong { display: inline-block; margin-top: 6px; color: #0f172a; font-size: 30px; line-height: 1; }
.phone-summary-card small { margin-left: 4px; color: #94a3b8; }
.phone-summary-in_use { border-top: 3px solid #16a34a; }
.phone-summary-idle { border-top: 3px solid #3b82f6; }
.phone-summary-repairing { border-top: 3px solid #f59e0b; }
.phone-filter { display: grid; grid-template-columns: minmax(240px, 1.7fr) repeat(3, minmax(120px, 1fr)) auto; gap: 10px; align-items: end; padding: 14px; border: 1px solid #e5e7eb; border-radius: 12px; background: #fff; }
.phone-filter .filter-actions { display: flex; align-items: end; gap: 9px; padding-bottom: 1px; }
.phone-filter .filter-actions > * { min-height: 44px; }
.phone-filter .filter-actions .btn-link { min-width: 64px; min-height: 44px; white-space: nowrap; word-break: keep-all; }
.phone-number-filter { grid-template-columns: minmax(210px, 1.45fr) minmax(130px, .75fr) minmax(112px, .65fr) minmax(112px, .65fr) minmax(120px, .7fr) minmax(150px, .85fr) 148px; }
.phone-number-filter .filter-actions { display: grid; grid-template-columns: 76px 64px; gap: 8px; width: 148px; padding-bottom: 0; }
.phone-number-filter .filter-actions > * { width: 100%; min-width: 0; }
.phone-page-status { position: sticky; top: 8px; z-index: 16; padding: 10px 13px; border: 1px solid #86efac; border-radius: 9px; background: #f0fdf4; color: #166534; box-shadow: 0 8px 24px rgba(22,101,52,.12); }
.phone-page-status.error, .phone-form-status.error { border-color: #fecaca; background: #fef2f2; color: #b91c1c; }
.phone-module-tabs { display: flex; gap: 6px; overflow-x: auto; padding: 4px; border: 1px solid #dfe7e2; border-radius: 11px; background: #f7faf8; scrollbar-width: thin; }
.phone-module-tabs a { flex: 0 0 auto; min-width: 142px; padding: 9px 16px; border-radius: 8px; color: #52635a; text-align: center; text-decoration: none; font-weight: 700; }
.phone-module-tabs a:hover, .phone-module-tabs a:focus-visible { background: #e7f2eb; color: #175b42; outline: 2px solid #86bda5; outline-offset: 1px; }
.phone-module-tabs a.active { background: #217a58; color: #fff; box-shadow: 0 5px 13px rgba(33,122,88,.18); }
.phone-number-summary-grid .phone-summary-card:nth-child(1) { border-top: 3px solid #334155; }
.phone-number-summary-grid .phone-summary-card:nth-child(2) { border-top: 3px solid #16a34a; }
.phone-number-summary-grid .phone-summary-card:nth-child(3) { border-top: 3px solid #3b82f6; }
.phone-number-summary-grid .phone-summary-card:nth-child(4) { border-top: 3px solid #ef4444; }
.phone-number-summary-grid .phone-summary-card:nth-child(5) { border-top: 3px solid #8b5cf6; }
.phone-table-wrap { width: 100%; max-width: 100%; overflow-x: auto; border: 1px solid #e5e7eb; border-radius: 12px; background: #fff; }
.phone-table { min-width: 1120px; margin: 0; }
.phone-number-table { min-width: 1180px; }
.phone-table td { vertical-align: top; }
.phone-table td span, .phone-table td small { display: block; }
.phone-table td small { margin-top: 4px; color: #6b7280; }
.phone-status, .phone-verify { display: inline-flex !important; align-items: center; width: fit-content; padding: 4px 8px; border-radius: 999px; font-size: 12px; font-weight: 700; }
.phone-status-idle { background: #dbeafe; color: #1d4ed8; }
.phone-status-in_use { background: #dcfce7; color: #15803d; }
.phone-status-repairing { background: #fef3c7; color: #a16207; }
.phone-status-retired, .phone-status-voided { background: #e5e7eb; color: #4b5563; }
.phone-status-active { background: #dcfce7; color: #15803d; }
.phone-verify { background: #fee2e2; color: #b91c1c; }
.phone-verify.is-verified { background: #dcfce7; color: #15803d; }
.phone-row-actions { display: flex; flex-wrap: wrap; gap: 5px; min-width: 245px; }
.phone-row-actions .small { width: auto; min-height: 30px; padding: 5px 8px; }
.phone-row-actions .danger-outline { border: 1px solid #fca5a5; background: #fff; color: #b91c1c; }
.phone-row-actions .warning-outline { border: 1px solid #f6c453; background: #fffaf0; color: #9a5b00; }
.phone-form button.warning { border-color: #d97706; background: #d97706; color: #fff; }
.phone-row-actions .verify { background: #166534; color: #fff; }
.phone-number-row-actions { min-width: 210px; flex-wrap: nowrap; }
.phone-platform-matrix { min-width: 270px; }
.phone-platform-matrix > strong { display: block; margin-bottom: 6px; color: #334155; font-size: 12px; }
.phone-platform-matrix > div { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; }
.phone-platform-matrix span { min-width: 0; padding: 4px 5px; border: 1px solid #e2e8f0; border-radius: 7px; text-align: center; }
.phone-platform-matrix span b, .phone-platform-matrix span small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.phone-platform-matrix span b { font-size: 10px; }
.phone-platform-matrix span small { margin: 1px 0 0; font-size: 9px; }
.phone-platform-matrix .is-registered { border-color: #86bda5; background: #e7f5ee; color: #166534; }
.phone-platform-matrix .is-unregistered { background: #f8fafc; color: #94a3b8; }
.phone-pager { padding: 12px 4px 2px; }
.phone-modal { display: grid; place-items: center; position: fixed; inset: 0; z-index: 1100; padding: 16px; overflow: hidden; background: rgba(15,23,42,.5); }
.phone-modal[hidden] { display: none !important; }
body.modal-open { overflow: hidden; }
.phone-modal-card { position: relative; width: min(760px, 100%); max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); margin: 0; border-radius: 16px; }
.phone-modal-card > .modal-close, .phone-registration-modal-head > .modal-close { width: 34px; min-height: 34px; padding: 0; border: 1px solid #dbe3ea; border-radius: 999px; background: #f8fafc; color: #475569; font-size: 22px; line-height: 1; }
.phone-modal-card > .modal-close { position: absolute; top: 14px; right: 14px; z-index: 2; }
.phone-modal-card > h2 { margin-right: 48px; }
.phone-modal-card.compact-card { width: min(480px, 100%); }
.phone-number-modal-card { width: min(620px, 100%); }
.phone-registration-modal { width: min(1040px, 100%); padding-bottom: 0; overflow-x: hidden; }
.phone-registration-modal-head { position: sticky; top: -18px; z-index: 3; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 12px; margin: -18px -18px 14px; padding: 18px 18px 12px; border-bottom: 1px solid #e5e7eb; background: #fff; }
.phone-registration-modal-head-copy { min-width: 0; }
.phone-registration-modal-head > .modal-close { position: relative; z-index: 4; }
.phone-registration-modal-head h2 { margin: 0; }
.phone-registration-modal-head p { margin: 4px 0 0; color: #64748b; }
.phone-registration-workspace { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 14px; align-items: start; }
.phone-registration-tabs { display: grid; gap: 7px; padding: 7px; border: 1px solid #dfe7e2; border-radius: 12px; background: #f8faf9; }
.phone-registration-tabs button { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 8px; min-height: 58px; padding: 9px 10px; border: 1px solid transparent; border-radius: 9px; background: transparent; color: #334155; text-align: left; }
.phone-registration-tabs button strong { align-self: end; }
.phone-registration-tabs button small { align-self: end; color: #64748b; font-weight: 700; }
.phone-registration-tabs button span { grid-column: 1 / -1; min-width: 0; overflow: hidden; color: #64748b; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.phone-registration-tabs button.is-active { border-color: #7cc8a8; background: #eaf7f1; color: #14533c; box-shadow: 0 0 0 1px rgba(20, 83, 60, .08); }
.phone-registration-tabs button.is-pending small { color: #a16207; }
.phone-registration-tabs button.is-conflict { border-color: #dc2626; background: #fef2f2; box-shadow: inset 3px 0 #dc2626; }
.phone-registration-tabs button.is-conflict::after { content: "冲突"; margin-left: auto; color: #b91c1c; font-size: 11px; font-weight: 800; }
.phone-registration-panel { min-height: 430px; }
.phone-registration-fields { display: grid; gap: 12px; }
.phone-registration-fields > label { margin: 0; }
.phone-registration-target { display: flex; flex-wrap: wrap; gap: 9px 18px; margin: 0; padding: 11px 12px; border: 1px solid #dbe4df; border-radius: 10px; background: #fff; }
.phone-registration-target legend { padding: 0 5px; color: #475569; font-size: 12px; font-weight: 700; }
.phone-registration-target label { display: inline-flex; align-items: center; gap: 7px; margin: 0; min-height: 36px; }
.phone-registration-store-list { display: grid; gap: 7px; max-height: 250px; margin-top: 7px; overflow-y: auto; padding: 5px; border: 1px solid #dbe4df; border-radius: 10px; background: #fff; }
.phone-registration-store-list label { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: 8px; min-height: 48px; margin: 0; padding: 7px 8px; border-radius: 8px; cursor: pointer; }
.phone-registration-store-list [hidden] { display: none !important; }
.phone-registration-store-list label:hover { background: #f0f9f5; }
.phone-registration-store-list label:has(input:checked) { outline: 2px solid #2f7d5f; background: #ecfdf5; }
.phone-registration-store-list input { width: 18px; height: 18px; min-height: 18px; margin-top: 3px; padding: 0; accent-color: #2f7d5f; }
.phone-registration-store-list span, .phone-registration-store-list strong, .phone-registration-store-list small { display: block; min-width: 0; }
.phone-registration-store-list small { margin-top: 2px; color: #64748b; overflow-wrap: anywhere; }
.phone-registration-store-search { display: grid; gap: 5px; margin-top: 10px; }
.phone-registration-history-warning { margin: 8px 0; padding: 9px 10px; border-radius: 8px; background: #fff7ed; color: #9a3412; font-weight: 700; }
.phone-registration-sync-preview { margin: 0; padding: 9px 11px; border-left: 3px solid #22a06b; border-radius: 7px; background: #ecfdf5; color: #166534; font-size: 12px; }
.phone-registration-delete-note { padding: 9px 11px; border-radius: 8px; background: #fff1f2; color: #9f1239; }
.phone-registration-conflicts { width: 100%; min-width: 0; box-sizing: border-box; margin: 0 0 14px; scroll-margin-top: 84px; padding: 12px 14px; border: 1px solid #fecaca; border-left: 4px solid #dc2626; border-radius: 10px; background: #fff7f7; color: #991b1b; box-shadow: none; }
.phone-registration-conflicts:focus { outline: none; }
.phone-registration-conflicts:focus-visible { outline: 2px solid rgb(220 38 38 / 38%); outline-offset: 2px; }
.phone-registration-conflict-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.phone-registration-conflicts h3 { margin: 0; color: #991b1b; font-size: 16px; line-height: 24px; }
.phone-registration-conflict-head > span { flex: 0 0 auto; padding: 2px 8px; border-radius: 999px; background: #fee2e2; color: #991b1b; font-size: 12px; font-weight: 800; line-height: 20px; }
.phone-registration-conflicts ul { display: grid; gap: 6px; margin: 8px 0; padding: 0; list-style: none; }
.phone-registration-conflicts li { display: grid; grid-template-columns: minmax(160px, 200px) minmax(0, 1fr); align-items: center; gap: 10px; min-height: 44px; padding: 8px 10px; border: 1px solid #fee2e2; border-radius: 8px; background: #fff; }
.phone-registration-conflicts li strong, .phone-registration-conflicts li span { min-width: 0; overflow-wrap: anywhere; }
.phone-registration-conflicts li span { display: block; color: #b91c1c; font-size: 12px; }
.phone-registration-conflict-confirm { display: flex; align-items: center; gap: 8px; width: fit-content; max-width: 100%; min-height: 44px; box-sizing: border-box; padding-top: 8px; border-top: 1px solid #fecaca; font-size: 13px; font-weight: 700; line-height: 20px; cursor: pointer; }
.phone-registration-conflict-confirm input[type="checkbox"] { flex: 0 0 18px; width: 18px; height: 18px; min-width: 18px; min-height: 18px; margin: 0; padding: 0; accent-color: #b91c1c; }
.store-phone-binding-conflict { margin: 0 0 14px; padding: 13px 14px; border: 2px solid #dc2626; border-radius: 10px; background: #fef2f2; color: #991b1b; }
.store-phone-binding-conflict:focus { outline: 3px solid rgb(220 38 38 / 30%); outline-offset: 2px; }
.store-phone-binding-conflict h3, .store-phone-binding-conflict p { margin: 0 0 7px; }
.store-phone-binding-conflict label { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-weight: 700; }
.phone-registration-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.phone-registration-card { min-width: 0; padding: 14px; border: 1px solid #dfe7e2; border-radius: 12px; background: #f8faf9; }
.phone-registration-card header { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 10px; }
.phone-registration-card header h3 { margin: 0; color: #174b38; }
.phone-registration-card header span { padding: 3px 8px; border-radius: 999px; background: #dcfce7; color: #166534; font-size: 11px; font-weight: 700; }
.phone-registration-card.is-unregistered { border-style: dashed; background: #f8fafc; }
.phone-registration-card.is-unregistered header span { background: #e2e8f0; color: #64748b; }
.phone-registration-card.is-pending-delete { border-color: #fca5a5; background: #fff7f7; }
.phone-registration-card.is-pending-delete header span { background: #fee2e2; color: #b91c1c; }
.phone-registration-card label { display: block; margin-top: 10px; }
.phone-registration-fields > .danger-outline { width: 100%; min-height: 44px; border: 1px solid #fca5a5; background: #fff; color: #b91c1c; }
.phone-registration-fields > .danger-outline:hover { border-color: #ef4444; background: #fff1f2; color: #9f1239; }
.phone-registration-login { padding: 9px 10px; border-radius: 9px; background: #fff; }
.phone-registration-login small, .phone-registration-login strong { display: block; }
.phone-registration-password { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 7px; }
.phone-registration-password button, .phone-registration-card > button { min-height: 44px; }
.phone-registration-password-actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 7px; }
.phone-registration-legacy { margin-top: 10px; }
.phone-registration-legacy > small { display: block; margin-bottom: 4px; color: #64748b; }
.phone-registration-legacy > div, .phone-legacy-tags { display: flex; flex-wrap: wrap; gap: 4px; }
.phone-registration-legacy span, .phone-legacy-tags em { padding: 3px 7px; border-radius: 999px; background: #ede9fe; color: #6d28d9; font-size: 11px; font-style: normal; }
.phone-registration-actions { position: sticky; bottom: 0; z-index: 3; display: flex; justify-content: flex-end; gap: 8px; margin: 14px -18px 0; padding: 12px 18px; border-top: 1px solid #e5e7eb; background: #fff; }
.phone-number-more-modal { width: min(430px, 100%); }
.phone-number-more-actions { display: grid; gap: 8px; }
.phone-number-more-actions button { width: 100%; min-height: 42px; }
.phone-number-more-actions .danger-outline { border: 1px solid #fca5a5; background: #fff; color: #b91c1c; }
.phone-detail-account-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.phone-detail-account-list > div { min-width: 0; padding: 9px; border: 1px solid #e5e7eb; border-radius: 9px; background: #f8fafc; }
.phone-detail-account-list span, .phone-detail-account-list small { display: block; margin-top: 3px; overflow-wrap: anywhere; }
.phone-detail-card { width: min(920px, 100%); }
.phone-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.phone-number-edit-form .phone-number-owner-field,
.phone-number-edit-form .phone-number-role-field { min-width: 0; align-self: start; align-content: start; }
.phone-number-edit-form .phone-number-owner-field input,
.phone-number-edit-form .phone-number-role-field select { height: 44px; min-height: 44px; }
.phone-number-edit-form .phone-number-role-help { margin-top: 0; color: #718078; font-size: 12px; line-height: 1.35; text-align: center; }
.phone-form [data-transition-field][hidden] { display: none !important; }
.phone-form .wide { grid-column: 1 / -1; }
.phone-form-status { min-height: 22px; padding: 5px 0; color: #166534; }
.phone-form-status.error { padding: 8px; border: 1px solid; border-radius: 8px; }
@media (min-width: 601px) {
  .phone-transition-modal-card.is-compact-confirmation { width: min(440px, 100%); padding: 22px; overflow: hidden; }
  .phone-transition-modal-card.is-compact-confirmation > h2 { margin-top: 0; margin-bottom: 10px; }
  .phone-transition-modal-card.is-compact-confirmation .phone-transition-subject { margin: 0 48px 6px 0; color: #173b2d; font-size: 14px; font-weight: 700; line-height: 1.5; overflow-wrap: anywhere; }
  .phone-transition-modal-card.is-compact-confirmation [data-transition-help] { margin: 0; color: #65756d; line-height: 1.65; }
  .phone-transition-modal-card.is-compact-confirmation .phone-form { display: block; }
  .phone-transition-modal-card.is-compact-confirmation .phone-form-status:empty { display: none; }
  .phone-transition-modal-card.is-compact-confirmation .modal-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 20px; padding-top: 16px; border-top: 1px solid #e5ebe7; }
  .phone-transition-modal-card.is-compact-confirmation .modal-actions button { width: auto; min-width: 96px; }
}
.phone-detail-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; padding: 14px; border-radius: 12px; background: #f8fafc; }
.phone-detail-head h3 { margin: 2px 0 0; font-size: 24px; }
.phone-detail-head > div:last-child { display: flex; gap: 7px; }
.phone-detail-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; overflow: hidden; margin: 12px 0 18px; border: 1px solid #e5e7eb; border-radius: 12px; background: #e5e7eb; }
.phone-detail-grid div { min-width: 0; padding: 10px; background: #fff; }
.phone-detail-grid dt { color: #64748b; font-size: 11px; }
.phone-detail-grid dd { margin: 4px 0 0; overflow-wrap: anywhere; }
.phone-history-title { margin-top: 18px; }
.phone-history { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.phone-history > li { position: relative; padding: 13px 14px 13px 18px; border-left: 3px solid #cbd5e1; border-radius: 0 10px 10px 0; background: #f8fafc; }
.phone-history-meta { display: flex; justify-content: space-between; gap: 10px; }
.phone-history-meta span { color: #64748b; font-size: 12px; }
.phone-history p { margin: 7px 0; }
.phone-history ul { margin: 7px 0 0; padding-left: 18px; color: #475569; font-size: 12px; }

@media (max-width: 720px) {
  .phone-registration-workspace { grid-template-columns: 1fr; }
  .phone-registration-tabs { display: flex; overflow-x: auto; padding-bottom: 8px; scroll-snap-type: x proximity; }
  .phone-registration-tabs button { flex: 0 0 128px; scroll-snap-align: start; }
  .phone-registration-panel { min-height: 0; }
  .phone-registration-conflicts { padding: 10px; }
  .phone-registration-conflicts li { grid-template-columns: 1fr; gap: 4px; }
}

@media (max-width: 600px) {
  .phone-page { gap: 12px; }
  .phone-page-head { align-items: stretch; }
  .phone-head-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .phone-head-actions > * { width: 100%; }
  .phone-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .phone-summary-card { padding: 12px; }
  .phone-summary-card strong { font-size: 25px; }
  .phone-filter { grid-template-columns: 1fr; }
  .phone-filter .filter-actions { display: grid; grid-template-columns: minmax(0, 1fr) 64px; gap: 9px; width: 100%; }
  .phone-filter .filter-actions > * { width: 100%; }
  .phone-module-tabs { width: 100%; }
  .phone-number-summary-grid .phone-summary-card:first-child { grid-column: 1 / -1; }
  .phone-modal { padding: 8px; }
  .phone-modal-card { width: 100%; max-height: calc(100vh - 16px); max-height: calc(100dvh - 16px); padding: 14px; }
  .phone-form { grid-template-columns: 1fr; }
  .phone-registration-grid { grid-template-columns: 1fr; }
  .phone-registration-modal .phone-registration-modal-head { margin: -14px -14px 12px; padding: 14px 14px 10px; }
  .phone-registration-modal .phone-registration-actions { margin: 14px -14px 0; padding: 12px 14px; }
  .phone-detail-account-list { grid-template-columns: 1fr; }
  .phone-filter label:first-of-type, .phone-filter .filter-actions { grid-column: auto; }
  .phone-table { min-width: 0; }
  .phone-table thead { display: none; }
  .phone-table tbody, .phone-table tr, .phone-table td { display: block; width: 100%; }
  .phone-table tr { margin: 9px; width: calc(100% - 18px); overflow: hidden; border: 1px solid #e5e7eb; border-radius: 12px; }
  .phone-table td { display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: 9px; padding: 9px 11px; border-bottom: 1px solid #f1f5f9; }
  .phone-table td::before { content: attr(data-label); color: #64748b; font-size: 11px; font-weight: 700; }
  .phone-table td:last-child { border-bottom: 0; }
  .phone-row-actions { min-width: 0; }
  .phone-device-row-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; width: 100%; }
  .phone-device-row-actions .small { width: 100%; min-height: 44px; }
  .phone-number-row-actions { display: grid; grid-template-columns: 1fr auto; width: 100%; }
  .phone-number-row-actions .small { min-height: 44px; }
  .phone-platform-matrix { min-width: 0; }
  .phone-platform-matrix > div { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .phone-form { grid-template-columns: 1fr; }
  .phone-form .wide { grid-column: auto; }
  .phone-detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .phone-history-meta { align-items: flex-start; flex-direction: column; gap: 3px; }
}

@media (max-width: 900px) and (orientation: landscape) {
  .phone-summary-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
  .phone-summary-card { padding: 9px; }
  .phone-summary-card strong { font-size: 22px; }
  .phone-filter { grid-template-columns: repeat(3, minmax(120px, 1fr)); }
  .phone-table-wrap { overflow-x: auto; }
  .phone-table { display: table; min-width: 1080px; }
  .phone-table thead { display: table-header-group; }
  .phone-table tbody { display: table-row-group; }
  .phone-table tr { display: table-row; }
  .phone-table td { display: table-cell; width: auto; }
  .phone-table td::before { display: none; }
}

@media (max-width: 640px) {
  .actual-cost-page-head .page-title-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; width: 100%; }
  .actual-cost-page-head .page-title-actions h1 { flex: 1 0 100%; width: 100%; font-size: 23px; white-space: nowrap; }
  .actual-cost-page-head .page-title-actions .btn-link { flex: 0 0 auto; width: auto; min-height: 34px; padding: 6px 10px; white-space: nowrap; }
}

/* 公司资金日记账 */
.ledger-page-head { align-items: flex-end; }
.ledger-page-head h1 { margin-bottom: 6px; }
.ledger-eyebrow { margin: 0 0 5px; color: #3478b8; font-size: 12px; font-weight: 800; letter-spacing: .08em; }
.ledger-subtitle, .ledger-section-heading p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.5; }
.ledger-balance-panel { display: grid; grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr); gap: 0; overflow: hidden; margin-bottom: 14px; padding: 0; border: 1px solid #dce7e1; border-radius: 12px; background: #fff; box-shadow: 0 9px 28px rgba(31, 70, 52, .08); }
.ledger-balance-primary { display: flex; min-width: 0; padding: 25px 26px; color: #fff; background: linear-gradient(135deg, #185c43 0%, #2b8060 58%, #337c72 100%); flex-direction: column; justify-content: center; }
.ledger-balance-primary > span { margin-bottom: 7px; color: rgba(255, 255, 255, .8); font-size: 14px; font-weight: 700; letter-spacing: .03em; }
.ledger-balance-primary > strong { overflow: hidden; font-size: clamp(34px, 3.4vw, 54px); line-height: 1.08; letter-spacing: -.035em; text-overflow: ellipsis; white-space: nowrap; }
.ledger-balance-primary > small { margin-top: 9px; color: rgba(255, 255, 255, .72); font-size: 12px; }
.ledger-balance-change { align-self: flex-start; margin-top: 17px; padding: 6px 10px; border-radius: 999px; background: rgba(255, 255, 255, .13); font-size: 12px; font-weight: 700; }
.ledger-balance-change.positive { color: #d7f8e7; }
.ledger-balance-change.negative { color: #ffe0dc; }
.ledger-balance-detail { min-width: 0; padding: 22px 24px; background: linear-gradient(180deg, #fff 0%, #f8fbf9 100%); }
.ledger-balance-detail-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 17px; }
.ledger-balance-detail-head h2 { margin: 0 0 3px; font-size: 18px; }
.ledger-balance-detail-head p { margin: 0; color: var(--muted); font-size: 13px; }
.ledger-balance-detail-head > span { padding: 5px 9px; color: #4b695b; border: 1px solid #d8e6de; border-radius: 999px; background: #fff; font-size: 11px; white-space: nowrap; }
.ledger-balance-equation { display: grid; grid-template-columns: minmax(110px, 1fr) auto minmax(110px, 1fr) auto minmax(110px, 1fr) auto minmax(120px, 1fr); gap: 8px; align-items: center; }
.ledger-balance-equation > div { min-width: 0; padding: 12px; border: 1px solid #e0e8e3; border-radius: 8px; background: #fff; }
.ledger-balance-equation > div.income { border-color: #cce8d9; background: #f4fbf7; }
.ledger-balance-equation > div.expense { border-color: #efd8d5; background: #fff7f6; }
.ledger-balance-equation > div.result { color: #fff; border-color: #315f82; background: #315f82; }
.ledger-balance-equation span, .ledger-balance-equation small { display: block; overflow: hidden; color: var(--muted); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.ledger-balance-equation .result span { color: rgba(255, 255, 255, .74); }
.ledger-balance-equation strong { display: block; overflow: hidden; margin: 5px 0 2px; font-size: clamp(16px, 1.35vw, 21px); text-overflow: ellipsis; white-space: nowrap; }
.ledger-balance-equation .income strong { color: #19764b; }
.ledger-balance-equation .expense strong { color: #b93832; }
.ledger-balance-equation > b { color: #809188; font-size: 19px; text-align: center; }
.ledger-month-overview { margin-bottom: 14px; padding: 18px; border: 1px solid #dce6e0; border-radius: 11px; background: linear-gradient(180deg, #f8fbf9 0%, #fff 100%); box-shadow: 0 5px 18px rgba(34, 65, 50, .05); }
.ledger-month-overview-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin-bottom: 14px; }
.ledger-month-overview-head h2 { margin: 0 0 4px; font-size: 20px; }
.ledger-month-overview-head p:not(.ledger-eyebrow) { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
.ledger-month-picker { display: grid; grid-template-columns: auto 154px auto; gap: 7px; align-items: center; min-width: 0; margin: 0; }
.ledger-month-picker label { color: #52675c; font-size: 12px; font-weight: 800; white-space: nowrap; }
.ledger-month-picker input, .ledger-month-picker button { min-height: 36px; }
.ledger-month-picker button { padding: 7px 13px; white-space: nowrap; }
.ledger-month-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(310px, 1fr)); gap: 10px; }
.ledger-month-card { display: block; min-width: 0; overflow: hidden; color: #263e33; border: 1px solid #dce6e0; border-radius: 9px; background: #fff; box-shadow: 0 3px 11px rgba(33, 65, 50, .04); transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease; }
.ledger-month-card:hover, .ledger-month-card:focus-visible { color: #263e33; border-color: #8ab9a1; box-shadow: 0 7px 18px rgba(33, 94, 65, .11); transform: translateY(-1px); }
.ledger-month-card.active { color: #263e33; border-color: #3478b8; box-shadow: 0 0 0 2px rgba(52, 120, 184, .13), 0 7px 18px rgba(33, 94, 65, .08); }
.ledger-month-card-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 12px 8px; border-bottom: 1px solid #e8eeea; background: #f6f9f7; }
.ledger-month-card.active .ledger-month-card-head { color: #fff; border-bottom-color: #3478b8; background: #3478b8; }
.ledger-month-card-head strong { font-size: 16px; }
.ledger-month-card-head span { color: #6c7e74; font-size: 11px; white-space: nowrap; }
.ledger-month-card.active .ledger-month-card-head span { color: rgba(255, 255, 255, .82); }
.ledger-month-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ledger-month-metrics > div { min-width: 0; padding: 10px 9px; border-right: 1px solid #edf1ef; }
.ledger-month-metrics > div:last-child { border-right: 0; }
.ledger-month-metrics span, .ledger-month-metrics strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ledger-month-metrics span { margin-bottom: 4px; color: #7a8a82; font-size: 10px; }
.ledger-month-metrics strong { color: #315f82; font-size: 13px; }
.ledger-month-metrics .income strong { color: #19764b; }
.ledger-month-metrics .expense strong, .ledger-month-card.net-negative .net strong { color: #b93832; }
.ledger-month-card.net-positive .net strong { color: #19764b; }
.ledger-period-cards { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; margin-bottom: 20px; }
.ledger-period-cards article { position: relative; min-width: 0; margin: 0; padding: 13px 14px 12px; overflow: hidden; border: 1px solid #e0e7e3; border-radius: 9px; background: #fff; box-shadow: 0 4px 14px rgba(34, 65, 50, .05); }
.ledger-period-cards article::before { position: absolute; top: 0; right: 0; left: 0; height: 3px; content: ''; background: #778a80; }
.ledger-period-cards article.income::before { background: #23855a; }
.ledger-period-cards article.expense::before, .ledger-period-cards article.net-negative::before { background: #c2413b; }
.ledger-period-cards article.net-positive::before { background: #3478b8; }
.ledger-period-cards span, .ledger-period-cards small { display: block; color: var(--muted); font-size: 11px; }
.ledger-period-cards strong { display: block; overflow: hidden; margin: 6px 0 4px; font-size: clamp(16px, 1.45vw, 21px); line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
.ledger-period-cards .income strong, .ledger-period-cards .net-positive strong { color: #19764b; }
.ledger-period-cards .expense strong, .ledger-period-cards .net-negative strong { color: #b93832; }
.ledger-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; margin-bottom: 14px; }
.ledger-section-heading h2 { margin: 0 0 3px; }
.ledger-filter-form { grid-template-columns: repeat(4, minmax(145px, 1fr)); }
.ledger-check-label { display: flex; align-items: center; align-self: stretch; gap: 7px; padding: 8px 10px; border: 1px solid #dce2e7; border-radius: 6px; background: #f8faf9; }
.ledger-filter-actions { display: flex; gap: 8px; align-items: end; }
.ledger-filter-actions > * { flex: 1; }
.ledger-flow-summary-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-bottom: 20px; }
.ledger-flow-card { min-width: 0; margin: 0; padding: 0; overflow: hidden; border: 1px solid #dfe7e3; border-top: 4px solid #23855a; border-radius: 11px; background: #fff; box-shadow: 0 7px 22px rgba(34, 65, 50, .07); }
.ledger-flow-card.expense { border-top-color: #c2413b; }
.ledger-flow-card-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 112px; padding: 17px 18px; background: linear-gradient(135deg, #f3fbf7, #fff); }
.ledger-flow-card.expense .ledger-flow-card-head { background: linear-gradient(135deg, #fff5f4, #fff); }
.ledger-flow-kicker { display: block; margin-bottom: 3px; color: #23855a; font-size: 11px; font-weight: 800; letter-spacing: .06em; }
.ledger-flow-card.expense .ledger-flow-kicker { color: #b93832; }
.ledger-flow-card-head h2 { margin: 0; color: #183c2e; font-size: 27px; }
.ledger-flow-card.expense .ledger-flow-card-head h2 { color: #642c29; }
.ledger-flow-card-head p { margin: 4px 0 0; color: var(--muted); font-size: 12px; }
.ledger-flow-card-total { min-width: 160px; text-align: right; }
.ledger-flow-card-total span { display: block; margin-bottom: 5px; color: var(--muted); font-size: 12px; }
.ledger-flow-card-total strong { color: #19764b; font-size: clamp(22px, 2vw, 31px); line-height: 1.15; letter-spacing: -.025em; white-space: nowrap; }
.ledger-flow-card.expense .ledger-flow-card-total strong { color: #b93832; }
.ledger-flow-list { border-top: 1px solid #e4ebe7; }
.ledger-flow-row { display: grid; grid-template-columns: minmax(190px, 1fr) 62px 132px 100px; gap: 8px; align-items: center; }
.ledger-flow-list-head { padding: 8px 14px; color: #607269; background: #f4f7f5; font-size: 11px; font-weight: 800; }
.ledger-flow-list-head span:not(:first-child) { text-align: right; }
.ledger-flow-list-body { max-height: 560px; overflow-y: auto; scrollbar-gutter: stable; }
button.ledger-category-open { width: 100%; min-height: 58px; margin: 0; padding: 8px 14px; color: #203e31; border: 0; border-bottom: 1px solid #ebf0ed; border-radius: 0; background: #fff; box-shadow: none; font: inherit; text-align: left; transition: background .16s ease, box-shadow .16s ease, transform .16s ease; }
button.ledger-category-open:hover, button.ledger-category-open:focus-visible { z-index: 1; color: #173b2d; background: #f0faf5; box-shadow: inset 4px 0 #23855a; transform: none; }
.ledger-flow-card.expense button.ledger-category-open:hover, .ledger-flow-card.expense button.ledger-category-open:focus-visible { color: #592b28; background: #fff4f3; box-shadow: inset 4px 0 #c2413b; }
button.ledger-category-open.is-zero { color: #7b8982; background: #fbfcfb; }
button.ledger-category-open.is-zero:hover, button.ledger-category-open.is-zero:focus-visible { color: #50645a; }
.ledger-flow-name { min-width: 0; }
.ledger-flow-name b, .ledger-flow-name small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ledger-flow-name b { font-size: 14px; }
.ledger-flow-name small { margin-top: 3px; color: #86938c; font-size: 10px; font-weight: 500; }
.ledger-flow-count { color: #607269; font-size: 12px; text-align: right; white-space: nowrap; }
.ledger-flow-amount { color: #19764b; font-size: 14px; text-align: right; white-space: nowrap; }
.ledger-flow-card.expense .ledger-flow-amount { color: #b93832; }
.ledger-flow-share { min-width: 0; text-align: right; }
.ledger-flow-share > b { display: block; color: #52665b; font-size: 11px; white-space: nowrap; }
.ledger-flow-share > i { display: block; height: 4px; margin-top: 5px; overflow: hidden; border-radius: 99px; background: #e5ece8; }
.ledger-flow-share > i > span { display: block; height: 100%; border-radius: inherit; background: #23855a; }
.ledger-flow-card.expense .ledger-flow-share > i > span { background: #c2413b; }
.ledger-flow-list-total { padding: 11px 14px; color: #fff; background: #24684e; font-size: 13px; font-weight: 800; }
.ledger-flow-card.expense .ledger-flow-list-total { background: #9e3f3a; }
.ledger-flow-list-total > *:not(:first-child) { text-align: right; white-space: nowrap; }
.ledger-flow-tip { margin: 0; padding: 9px 14px 10px; color: #6f8178; background: #f8faf9; font-size: 11px; text-align: center; }
.ledger-category-modal { z-index: 80; }
.ledger-category-modal[hidden] { display: none; }
.ledger-category-modal-card { width: min(1240px, 100%); padding: 18px; }
.ledger-category-modal-head { position: sticky; top: -18px; z-index: 4; margin: -18px -18px 14px; padding: 16px 18px 13px; border-bottom: 1px solid #e2e9e5; background: rgba(255, 255, 255, .96); backdrop-filter: blur(8px); }
.ledger-category-modal-head > div { min-width: 0; }
.ledger-category-modal-head h2 { display: inline; margin-left: 8px; vertical-align: middle; }
.ledger-category-modal-head p { margin: 5px 0 0; font-size: 12px; }
.ledger-category-modal-status { display: grid; place-items: center; min-height: 240px; color: #53675c; border: 1px dashed #cdd9d2; border-radius: 9px; background: #f8faf9; font-weight: 700; }
.ledger-category-modal-status.error { color: #9f312c; border-color: #ebc5c2; background: #fff6f5; }
.ledger-category-modal-status[hidden], #ledgerCategoryModalContent[hidden] { display: none !important; }
.ledger-category-kpis { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin-bottom: 14px; }
.ledger-category-kpis > div { min-width: 0; padding: 12px 13px; border: 1px solid #dfe8e3; border-radius: 8px; background: #f7faf8; }
.ledger-category-kpis span { display: block; color: #6a7c72; font-size: 11px; }
.ledger-category-kpis strong { display: block; overflow: hidden; margin-top: 5px; color: #19764b; font-size: clamp(16px, 1.45vw, 21px); text-overflow: ellipsis; white-space: nowrap; }
.ledger-category-modal-card[data-direction="expense"] .ledger-category-kpis strong { color: #b93832; }
.ledger-category-kpis strong.period { color: #315f82 !important; font-size: 14px; }
.ledger-category-trend-panel, .ledger-category-detail-panel { margin: 0 0 14px; padding: 14px; border: 1px solid #e0e8e3; border-radius: 9px; background: #fff; }
.ledger-category-detail-panel { margin-bottom: 0; }
.ledger-category-panel-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.ledger-category-panel-head h3 { margin: 0; font-size: 17px; }
.ledger-category-panel-head span { color: var(--muted); font-size: 11px; }
.ledger-category-chart-wrap { position: relative; height: 280px; }
.ledger-category-table-wrap { max-height: 360px; border: 1px solid #e4e9e6; border-radius: 7px; }
.ledger-category-detail-table { width: 100%; min-width: 1000px; border-collapse: collapse; font-size: 12px; }
.ledger-category-detail-table th { position: sticky; top: 0; z-index: 2; padding: 8px; color: #42554b; background: #edf3ef; text-align: left; white-space: nowrap; }
.ledger-category-detail-table td { padding: 8px; border-bottom: 1px solid #e8edea; vertical-align: top; line-height: 1.45; }
.ledger-category-detail-table tbody tr:hover { background: #f8fbf9; }
.ledger-category-detail-table td:nth-child(1), .ledger-category-detail-table td:nth-child(2), .ledger-category-detail-table td:nth-child(3), .ledger-category-detail-table td:nth-child(7) { white-space: nowrap; }
.ledger-category-detail-table td:nth-child(4) { min-width: 125px; }
.ledger-category-detail-table td:nth-child(5) { min-width: 130px; }
.ledger-category-detail-remark { min-width: 230px; max-width: 360px; overflow-wrap: anywhere; }
.ledger-category-detail-remark small { display: block; margin-top: 3px; color: var(--muted); }
.ledger-chart-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(320px, .55fr); gap: 16px; margin-bottom: 20px; }
.ledger-chart-grid > section { min-width: 0; margin: 0; }
.ledger-chart-wrap { position: relative; height: 320px; }
.ledger-pie-wrap { height: 320px; }
.ledger-empty-chart { display: grid; place-items: center; height: 320px; color: var(--muted); background: #f8faf9; border: 1px dashed #cad5ce; border-radius: 8px; }
.ledger-segmented { display: inline-flex; padding: 3px; background: #eef2ef; border-radius: 7px; }
.ledger-segmented a { padding: 6px 10px; color: #52645a; border-radius: 5px; font-size: 13px; font-weight: 700; }
.ledger-segmented a.active { color: #fff; background: #3478b8; }
.ledger-entry-section { border-top: 4px solid #3478b8; }
.ledger-entry-section.is-editing { border-top-color: #b7791f; background: #fffdf7; }
.ledger-entry-status { margin: 0 0 12px; padding: 10px 12px; color: #315c49; border: 1px solid #cfe3d8; border-radius: 8px; background: #f3faf6; font-size: 13px; font-weight: 700; }
.ledger-entry-status[hidden] { display: none; }
.ledger-entry-status.saving { color: #315c75; border-color: #ccdfec; background: #f3f8fc; }
.ledger-entry-status.success { color: #16633f; border-color: #bfe0cf; background: #eef9f3; }
.ledger-entry-status.error { color: #9b302b; border-color: #ebc4c1; background: #fff4f3; }
.ledger-entry-just-saved > td { animation: ledger-entry-saved 2.8s ease-out; }
@keyframes ledger-entry-saved { 0%, 35% { background: #e7f7ee; box-shadow: inset 4px 0 #23855a; } 100% { background: transparent; box-shadow: none; } }
.ledger-field-hint { color: var(--muted); font-size: 12px; line-height: 1.4; }
.ledger-quick-entry-layout { display: grid; grid-template-columns: minmax(0, 1fr) 286px; gap: 18px; align-items: stretch; }
.ledger-quick-fields { min-width: 0; }
.ledger-quick-primary-grid { display: grid; grid-template-columns: minmax(150px, 1.1fr) minmax(160px, 1fr) minmax(180px, 1.25fr) minmax(135px, .9fr) minmax(135px, .9fr); gap: 11px; align-items: start; }
.ledger-quick-primary-grid > label, .ledger-direction-field { min-width: 0; }
.ledger-amount-field { color: #24483a; font-weight: 800; }
.ledger-money-input { position: relative; display: block; }
.ledger-money-input > b { position: absolute; top: 50%; left: 12px; z-index: 1; color: #3478b8; font-size: 19px; transform: translateY(-50%); pointer-events: none; }
.ledger-money-input input { padding-left: 31px; color: #173b2d; font-size: 19px; font-weight: 800; }
.ledger-direction-field { margin: 0; padding: 0; border: 0; }
.ledger-direction-field legend { margin-bottom: 5px; padding: 0; color: #263e33; font-size: 14px; font-weight: 600; }
.ledger-direction-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; padding: 4px; border: 1px solid #dbe4df; border-radius: 7px; background: #f1f5f2; }
.ledger-direction-options label { display: block; min-width: 0; margin: 0; cursor: pointer; }
.ledger-direction-options input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.ledger-direction-options span { display: flex; align-items: center; justify-content: center; gap: 3px; min-height: 34px; padding: 5px 7px; color: #64756c; border-radius: 5px; font-size: 13px; font-weight: 800; transition: color .15s ease, background .15s ease, box-shadow .15s ease; }
.ledger-direction-options span b { font-size: 17px; line-height: 1; }
.ledger-direction-options input:focus-visible + span { outline: 2px solid #3478b8; outline-offset: 2px; }
.ledger-direction-options .income input:checked + span { color: #17603d; background: #dff3e8; box-shadow: 0 2px 7px rgba(25, 118, 75, .12); }
.ledger-direction-options .expense input:checked + span { color: #9b2f2a; background: #fde7e5; box-shadow: 0 2px 7px rgba(194, 65, 59, .11); }
.ledger-remark-field { display: grid; margin-top: 11px; }
.ledger-remark-field > small { margin: 2px 0 5px; color: var(--muted); font-size: 11px; font-weight: 400; }
.ledger-remark-field textarea { min-height: 66px; resize: vertical; }
.ledger-entry-preview { display: flex; min-width: 0; padding: 16px; color: #314a3f; border: 1px solid #ead6d3; border-radius: 10px; background: linear-gradient(145deg, #fff8f7, #fff); flex-direction: column; justify-content: center; }
.ledger-entry-preview[data-direction="income"] { border-color: #cfe5d8; background: linear-gradient(145deg, #f4fbf7, #fff); }
.ledger-entry-preview-kicker { margin-bottom: 10px; color: #a24a44; font-size: 11px; font-weight: 800; letter-spacing: .06em; }
.ledger-entry-preview[data-direction="income"] .ledger-entry-preview-kicker { color: #287151; }
.ledger-entry-preview-current, .ledger-entry-preview-change, .ledger-entry-preview-after { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.ledger-entry-preview-current { padding-bottom: 9px; border-bottom: 1px solid #eadfdd; }
.ledger-entry-preview[data-direction="income"] .ledger-entry-preview-current { border-bottom-color: #dbe8e0; }
.ledger-entry-preview-change { padding: 11px 0; }
.ledger-entry-preview-after { padding-top: 10px; border-top: 1px dashed #dfcbc8; }
.ledger-entry-preview[data-direction="income"] .ledger-entry-preview-after { border-top-color: #cfe0d6; }
.ledger-entry-preview span { font-size: 11px; }
.ledger-entry-preview strong { color: #2f4f42; font-size: 14px; white-space: nowrap; }
.ledger-entry-preview-change strong { color: #b93832; font-size: 20px; }
.ledger-entry-preview[data-direction="income"] .ledger-entry-preview-change strong { color: #19764b; }
.ledger-entry-preview-after strong { color: #315f82; font-size: 18px; }
.ledger-entry-preview button { margin-top: 14px; background: #b64a43; border-color: #b64a43; }
.ledger-entry-preview[data-direction="income"] button { background: #247a56; border-color: #247a56; }
.ledger-entry-preview > small { margin-top: 7px; color: #7c8d84; font-size: 10px; text-align: center; }
.ledger-more-options { margin-top: 14px; border: 1px solid #dfe7e3; border-radius: 8px; background: #fafcfa; }
.ledger-more-options > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 13px; color: #334f42; cursor: pointer; list-style: none; user-select: none; }
.ledger-more-options > summary::-webkit-details-marker { display: none; }
.ledger-more-options > summary span { display: flex; align-items: baseline; gap: 9px; }
.ledger-more-options > summary b { font-size: 13px; }
.ledger-more-options > summary small { color: var(--muted); font-size: 11px; }
.ledger-more-toggle::after { padding: 3px 8px; color: #52675d; border: 1px solid #d4dfd9; border-radius: 999px; background: #fff; content: '展开'; font-size: 10px; font-style: normal; }
.ledger-more-options[open] .ledger-more-toggle::after { content: '收起'; }
.ledger-more-options[open] > summary { border-bottom: 1px solid #e2e9e5; background: #f2f7f4; }
.ledger-more-grid { grid-template-columns: repeat(4, minmax(150px, 1fr)); padding: 13px; }
.ledger-existing-files { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-top: 14px; padding: 12px; background: #f5f8f6; border: 1px solid #dce6df; border-radius: 7px; }
.ledger-existing-files > strong { flex: 1 0 100%; }
.ledger-existing-files label { display: inline-flex; grid-template-columns: none; flex-direction: row; gap: 5px; align-items: center; font-size: 13px; }
.ledger-table { min-width: 1280px; font-size: 13px; }
.ledger-table th, .ledger-table td { padding: 8px 7px; vertical-align: top; white-space: normal; line-height: 1.45; }
.ledger-table td > small, .ledger-table td > strong { display: block; }
.ledger-table td > small { margin-top: 3px; color: var(--muted); }
.ledger-table th:first-child, .ledger-table td:first-child { width: 88px; white-space: nowrap; }
.ledger-table th:nth-child(7), .ledger-table td:nth-child(7) { min-width: 230px; }
.ledger-direction-badge { display: inline-block; margin-bottom: 4px; padding: 2px 8px; border-radius: 999px; font-size: 12px; font-weight: 800; }
.ledger-direction-badge.income { color: #17603d; background: #dcf3e6; }
.ledger-direction-badge.expense { color: #9b2f2a; background: #fde7e5; }
.ledger-cash-amount { font-weight: 800; white-space: nowrap !important; }
.ledger-cash-amount.income { color: #19764b; }
.ledger-cash-amount.expense { color: #b93832; }
.ledger-cash-amount small { display: block; color: var(--muted); font-weight: 400; }
.ledger-running-balance { min-width: 116px; color: #315f82; white-space: nowrap !important; }
.ledger-running-balance strong { font-size: 14px; }
.ledger-running-balance small { color: var(--muted); font-weight: 400; }
.ledger-note-cell { max-width: 330px; overflow-wrap: anywhere; }
.ledger-file-links { display: grid; gap: 2px; margin-top: 5px; }
.ledger-file-links a { font-size: 12px; }
.ledger-delete-form { display: grid; gap: 5px; min-width: 130px; margin: 0; }
.ledger-delete-form input { min-height: 30px; padding: 4px 6px; font-size: 12px; }
.ledger-delete-audit { margin-top: 7px; padding: 7px; color: #7b3530; background: #fff0ef; border-radius: 5px; font-size: 12px; }
.ledger-row-deleted { opacity: .72; background: #f5f5f5; }
.ledger-deleted-label { color: #8b4b46; font-size: 12px; font-weight: 700; }
.salary-final-action-reason {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 4px 9px;
  border: 1px solid #f0d4a4;
  border-radius: 6px;
  color: #8a5b15;
  background: #fff8e9;
  font-size: 12px;
  font-weight: 700;
}
.salary-final-action-reason[hidden] { display: none; }
.salary-attendance-readonly input[readonly] {
  color: #355244;
  background: #f4f8f5;
  border-color: #c9ded2;
}
.salary-person-row[data-hr-attendance-waiting="1"] .salary-attendance-readonly input {
  color: #9a6a1a;
  background: #fff9ed;
  border-color: #efd7a7;
}
.salary-person-row[data-hr-attendance-waiting="1"] td[data-label="应出勤"] input {
  appearance: textfield;
  cursor: default;
}
.salary-person-row[data-hr-attendance-waiting="1"] td[data-label="应出勤"] input::-webkit-inner-spin-button,
.salary-person-row[data-hr-attendance-waiting="1"] td[data-label="应出勤"] input::-webkit-outer-spin-button {
  margin: 0;
  appearance: none;
}
.salary-person-row[data-hr-attendance-waiting="1"] td[data-label="应出勤"] input::placeholder {
  color: #946319;
  font-size: 12px;
  font-weight: 700;
  opacity: 1;
}

@media (max-width: 1120px) {
  .ledger-balance-panel, .ledger-flow-summary-grid, .ledger-chart-grid { grid-template-columns: 1fr; }
  .ledger-period-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ledger-filter-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ledger-quick-entry-layout { grid-template-columns: 1fr; }
  .ledger-entry-preview { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(150px, auto); gap: 8px 14px; align-items: end; }
  .ledger-entry-preview-kicker, .ledger-entry-preview > small { grid-column: 1 / -1; margin: 0; }
  .ledger-entry-preview-current, .ledger-entry-preview-change, .ledger-entry-preview-after { display: grid; gap: 2px; padding: 0; border: 0; }
  .ledger-entry-preview button { margin: 0; }
}

@media (max-width: 860px) {
  .ledger-page-head, .ledger-section-heading { align-items: stretch; flex-direction: column; }
  .ledger-page-head .btn-link { align-self: flex-start; }
  .ledger-balance-detail { padding: 18px; }
  .ledger-month-overview-head { align-items: stretch; flex-direction: column; }
  .ledger-month-picker { grid-template-columns: auto minmax(150px, 1fr) auto; }
  .ledger-balance-equation { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .ledger-balance-equation > b { display: none; }
  .ledger-period-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ledger-filter-form { grid-template-columns: 1fr; }
  .ledger-filter-form .wide { grid-column: auto; }
  .ledger-quick-primary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ledger-more-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ledger-entry-preview { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ledger-entry-preview-kicker, .ledger-entry-preview > small { grid-column: 1 / -1; }
  .ledger-entry-preview button { align-self: stretch; }
  .ledger-chart-wrap, .ledger-pie-wrap, .ledger-empty-chart { height: 280px; }
  .ledger-category-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ledger-category-kpis > div:last-child { grid-column: 1 / -1; }
  .ledger-category-modal-head { top: -12px; margin: -12px -12px 12px; padding: 13px 12px; }
  .ledger-category-chart-wrap { height: 250px; }
  .ledger-table { min-width: 0; }
  .ledger-table td { max-width: none; }
  .ledger-table .actions { justify-content: flex-end; }
}

@media (max-width: 520px) {
  .ledger-balance-primary { padding: 21px 18px; }
  .ledger-balance-primary > strong { font-size: 36px; }
  .ledger-balance-detail-head { align-items: flex-start; flex-direction: column; }
  .ledger-balance-equation { grid-template-columns: 1fr; }
  .ledger-balance-equation > div { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 10px 12px; }
  .ledger-balance-equation strong { margin: 0; font-size: 17px; }
  .ledger-balance-equation small { display: none; }
  .ledger-month-overview { padding: 14px; }
  .ledger-month-picker { grid-template-columns: 1fr auto; }
  .ledger-month-picker label { grid-column: 1 / -1; }
  .ledger-month-grid { grid-template-columns: 1fr; }
  .ledger-month-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ledger-month-metrics > div:nth-child(2) { border-right: 0; }
  .ledger-month-metrics > div:nth-child(-n+2) { border-bottom: 1px solid #edf1ef; }
  .ledger-period-cards { gap: 8px; }
  .ledger-period-cards article { padding: 12px 11px 10px; }
  .ledger-period-cards strong { font-size: 17px; }
  .ledger-flow-card-head { min-height: 98px; padding: 14px; }
  .ledger-flow-card-head h2 { font-size: 23px; }
  .ledger-flow-card-total { min-width: 130px; }
  .ledger-flow-card-total strong { font-size: 21px; }
  .ledger-flow-row { grid-template-columns: minmax(116px, 1fr) 43px 91px 66px; gap: 5px; }
  .ledger-flow-list-head, button.ledger-category-open, .ledger-flow-list-total { padding-right: 9px; padding-left: 9px; }
  .ledger-flow-name b, .ledger-flow-amount { font-size: 12px; }
  .ledger-flow-name small { display: none; }
  .ledger-flow-count, .ledger-flow-share > b, .ledger-flow-list-head { font-size: 10px; }
  .ledger-flow-share > i { display: none; }
  .ledger-category-modal { padding: 6px; }
  .ledger-category-modal-card { max-height: calc(100vh - 12px); padding: 10px; }
  .ledger-category-modal-head { top: -10px; margin: -10px -10px 10px; padding: 11px 10px; }
  .ledger-category-modal-head h2 { display: block; margin: 5px 0 0; font-size: 18px; }
  .ledger-category-kpis { gap: 7px; }
  .ledger-category-kpis > div { padding: 10px; }
  .ledger-category-chart-wrap { height: 230px; }
  .ledger-category-panel-head { align-items: flex-start; flex-direction: column; gap: 3px; }
  .ledger-quick-primary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ledger-amount-field, .ledger-direction-field, .ledger-category-field { grid-column: 1 / -1; }
  .ledger-more-grid { grid-template-columns: 1fr; }
  .ledger-entry-preview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ledger-entry-preview-kicker, .ledger-entry-preview-after, .ledger-entry-preview button, .ledger-entry-preview > small { grid-column: 1 / -1; }
  .ledger-more-options > summary span { align-items: flex-start; flex-direction: column; gap: 2px; }
}

@media (orientation: landscape) and (min-width: 641px) and (max-width: 1000px) {
  .ledger-page-head, .ledger-section-heading { align-items: flex-end; flex-direction: row; }
  .ledger-balance-panel { grid-template-columns: minmax(250px, .72fr) minmax(0, 1.28fr); }
  .ledger-balance-primary { padding: 18px; }
  .ledger-balance-detail { padding: 15px; }
  .ledger-balance-detail-head { margin-bottom: 10px; }
  .ledger-balance-equation { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 5px; }
  .ledger-period-cards { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 6px; }
  .ledger-period-cards article { padding: 11px 8px 9px; }
  .ledger-flow-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .ledger-flow-card-head { min-height: 84px; padding: 10px; }
  .ledger-flow-card-head h2 { font-size: 20px; }
  .ledger-flow-card-total { min-width: 110px; }
  .ledger-flow-card-total strong { font-size: 18px; }
  .ledger-flow-row { grid-template-columns: minmax(112px, 1fr) 39px 84px 55px; gap: 4px; }
  .ledger-flow-list-head, button.ledger-category-open, .ledger-flow-list-total { padding-right: 7px; padding-left: 7px; }
  button.ledger-category-open { min-height: 46px; }
  .ledger-flow-name b, .ledger-flow-amount { font-size: 11px; }
  .ledger-flow-name small, .ledger-flow-share > i { display: none; }
  .ledger-flow-count, .ledger-flow-share > b, .ledger-flow-list-head { font-size: 9px; }
  .ledger-flow-list-body { max-height: 380px; }
  .ledger-filter-form { grid-template-columns: repeat(4, minmax(130px, 1fr)); gap: 8px; }
  .ledger-filter-form .wide { grid-column: span 2; }
  .ledger-quick-entry-layout { grid-template-columns: minmax(0, 1fr) 235px; gap: 8px; }
  .ledger-quick-primary-grid, .ledger-more-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
  .ledger-entry-preview { display: flex; padding: 11px; }
  .ledger-entry-preview-kicker, .ledger-entry-preview > small { margin-top: 0; }
  .ledger-table { min-width: 1080px; }
}
/* Work reports */
.work-report-shell{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.8fr);gap:18px;align-items:start}.work-report-editor,.work-report-review-panel{background:#fff;border:1px solid #dce7e1;border-radius:8px;padding:20px}.work-report-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.work-report-tabs{display:flex;background:#eef5f1;border-radius:7px;padding:3px}.work-report-tabs a{padding:8px 22px;border-radius:5px;color:#456158;font-weight:700}.work-report-tabs a.is-active{background:#217a5d;color:#fff}.work-report-status{font-size:13px;font-weight:700;padding:5px 10px;border-radius:999px;background:#edf3f0;color:#456158}.work-report-status.status-returned{background:#fff0ec;color:#a43f2f}.work-report-status.status-read{background:#e6f5ed;color:#176d4e}.work-report-meta{display:flex;align-items:end;gap:14px;padding:12px 14px;margin-bottom:16px;background:#f5f8f6;border-radius:7px}.work-report-meta>strong{font-size:18px}.work-report-meta>span{color:#64766f;margin-right:auto}.work-report-meta label{max-width:190px}.work-report-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.work-report-fields label{display:flex;flex-direction:column;gap:6px;font-weight:700}.work-report-fields label.is-primary{grid-column:1/-1}.work-report-fields textarea,.work-report-review-card textarea{resize:vertical;min-height:78px}.work-report-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:16px}.work-report-save-status{margin-right:auto;color:#456158}.work-report-manager-comment{margin-top:16px;padding:12px 14px;border-left:3px solid #d79b2d;background:#fff9ed}.work-report-manager-comment p{margin:6px 0 0;white-space:normal}.work-week-daily-summary{margin-bottom:16px;border:1px solid #dce7e1;border-radius:7px;overflow:hidden}.work-week-daily-head{display:flex;justify-content:space-between;padding:10px 12px;background:#f3f7f5}.work-week-daily-summary article{display:grid;grid-template-columns:96px 1fr;gap:10px;padding:9px 12px;border-top:1px solid #edf2ef}.work-week-daily-summary article p{margin:0}.work-report-review-panel{max-height:calc(100vh - 105px);overflow:auto;position:sticky;top:84px}.work-report-review-list{display:grid;gap:12px}.work-report-review-card{border:1px solid #dce7e1;border-left:3px solid #d2a23b;border-radius:7px;padding:13px}.work-report-review-card.status-read{border-left-color:#21825f}.work-report-review-card.status-returned{border-left-color:#ba5545}.work-report-review-card header,.work-report-review-card footer{display:flex;justify-content:space-between;align-items:center;gap:10px}.work-report-review-card header>div{display:flex;align-items:center;gap:8px}.work-report-review-card header span,.work-report-review-card header time{color:#687a73;font-size:13px}.work-report-review-content{margin:12px 0;padding:10px;background:#f7f9f8;border-radius:6px;white-space:normal;max-height:190px;overflow:auto}.work-report-review-card label{display:grid;gap:5px}.work-report-review-card footer{margin-top:10px;justify-content:flex-end}.work-report-review-card footer span{margin-right:auto;color:#61736c}.hr-workbench{display:flex;align-items:center;justify-content:space-between;gap:18px}.hr-workbench-metrics{display:grid;grid-template-columns:repeat(5,minmax(94px,1fr));gap:8px;flex:1}.hr-workbench-metrics>div{padding:10px 12px;background:#f4f8f6;border-radius:7px}.hr-workbench-metrics span{display:block;font-size:13px;color:#64766f}.hr-workbench-metrics strong{display:block;font-size:22px;color:#183e32;margin-top:3px}.hr-workbench-metrics .has-warning{background:#fff4e5}.hr-account-actions{text-align:right}.hr-account-actions p{margin:0 0 8px;color:#64766f;font-size:13px}.hr-account-actions [data-hr-account-sync-status]{display:block;margin-top:6px}
@media (max-width: 980px){.work-report-shell{grid-template-columns:1fr}.work-report-review-panel{position:static;max-height:none}.hr-workbench{align-items:stretch;flex-direction:column}.hr-account-actions{text-align:left}}
@media (max-width: 760px){.work-report-editor,.work-report-review-panel{padding:14px}.work-report-meta{align-items:stretch;flex-direction:column}.work-report-meta>span{margin-right:0}.work-report-meta label{max-width:none}.work-report-fields{grid-template-columns:1fr}.work-report-fields label.is-primary{grid-column:auto}.work-report-actions{align-items:stretch;flex-wrap:wrap}.work-report-save-status{width:100%}.work-report-actions button{flex:1}.work-week-daily-summary article{grid-template-columns:1fr}.work-report-review-card header{align-items:flex-start}.work-report-review-card header>div{align-items:flex-start;flex-direction:column}.work-report-review-card footer{flex-wrap:wrap}.hr-workbench-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}

.hr-account-management{margin-top:12px;padding:16px 18px}.hr-account-management[hidden]{display:none}.hr-account-toolbar{display:flex;align-items:end;gap:10px;margin:12px 0}.hr-account-toolbar label{display:grid;gap:5px;min-width:240px}.hr-account-toolbar [data-account-provision-status]{margin-left:auto}.hr-account-toolbar .is-error{color:#a43f2f}.hr-account-table th:first-child,.hr-account-table td:first-child{width:60px}.hr-account-table .account-state{display:inline-flex;padding:4px 8px;border-radius:999px;background:#eef3f0;color:#4b635a;font-size:13px}.hr-account-table .account-state-ready{background:#e7f5ee;color:#176d4e}.hr-account-table .account-state-invalid_phone,.hr-account-table .account-state-missing_phone{background:#fff1eb;color:#9a3c2c}.department-supervisor-select{min-width:150px;max-width:210px}.department-supervisor-warning{display:block;margin-top:4px;color:#9a5a16;line-height:1.35}.department-management-table .department-staff-count{white-space:nowrap;padding:2px 7px;background:#eef4f1;border-radius:999px}.department-management-table th:nth-child(4),.department-management-table td:nth-child(4){width:80px}.department-management-table th:nth-child(5),.department-management-table td:nth-child(5){width:88px}
.hr-account-state-guide { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 12px 0; }
.hr-account-state-guide > div { min-width: 0; padding: 9px 10px; background: #f5f8f6; border: 1px solid #dfe7e2; border-radius: 7px; }
.hr-account-state-guide b { display: block; margin-bottom: 3px; color: #244f3e; font-size: 13px; }
.hr-account-state-guide span { color: #66766e; font-size: 12px; line-height: 1.45; }
.hr-account-toolbar { flex-wrap: wrap; }
.hr-account-toolbar label { flex: 0 1 240px; }
.hr-account-filters { display: inline-flex; gap: 3px; max-width: 100%; padding: 3px; overflow-x: auto; background: #eef2ef; border-radius: 7px; }
.hr-account-filter { flex: 0 0 auto; width: auto; min-height: 30px; padding: 4px 8px; color: #58675f; background: transparent; border: 0; font-size: 13px; font-weight: 700; white-space: nowrap; }
.hr-account-filter b { margin-left: 2px; font-size: 11px; }
.hr-account-filter.is-active { color: #fff; background: #2f7d5f; }
.hr-account-table td.actions { min-width: 220px; }
.hr-account-panel-close { flex: 0 0 auto; }
.hr-account-reset-password { color: #6f5210; }
.hr-account-table .account-state-not_provisioned { color: #75530d; background: #fff7df; }
.hr-account-table .account-state-account_disabled { color: #7a3e20; background: #fff0e7; }
.hr-account-table [data-account-action-note] { font-size: 12px; white-space: nowrap; }
@media (max-width:760px){.hr-account-toolbar{align-items:stretch;flex-direction:column}.hr-account-toolbar label{min-width:0;flex-basis:auto}.hr-account-toolbar [data-account-provision-status]{margin-left:0}.hr-account-state-guide{grid-template-columns:1fr}.hr-account-filters{width:100%}.hr-account-table tr{padding:10px}.department-supervisor-select{max-width:none;width:100%}}

.work-report-workbench{display:grid;gap:14px}.work-report-status-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #dce7e1;border-radius:8px;background:#fff;overflow:hidden}.work-report-status-strip button{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:66px;padding:12px 16px;border:0;border-right:1px solid #e5ece8;border-radius:0;background:#fff;color:#40564e;text-align:left}.work-report-status-strip button:last-child{border-right:0}.work-report-status-strip button:not(:disabled):hover{background:#f4f8f6}.work-report-status-strip button:disabled{cursor:not-allowed;color:#95a39e;background:#f7f9f8}.work-report-status-strip span{font-size:13px}.work-report-status-strip strong{font-size:19px;color:#174b3a}.work-report-status-strip button:disabled strong{color:#95a39e}.work-report-workspace-nav{display:flex;gap:4px;padding:4px;border-bottom:1px solid #dce7e1}.work-report-workspace-nav button{padding:9px 16px;border:0;border-radius:6px;background:transparent;color:#536861}.work-report-workspace-nav button.is-active{background:#e8f3ee;color:#176d4e}.work-report-workspace-nav b{margin-left:4px;padding:1px 6px;border-radius:999px;background:#fff;font-size:12px}.work-report-workspace[hidden]{display:none}.work-report-workspace .work-report-editor,.work-report-history-panel{padding:18px;background:#fff;border:1px solid #dce7e1;border-radius:8px}.work-report-period-nav{display:flex;align-items:center;gap:7px;margin-left:auto}.work-report-period-nav .icon-button{width:32px;height:32px}.work-report-period-nav strong{min-width:92px;text-align:center}.work-report-fields span em{color:#a43f2f;font-size:12px;font-style:normal}.work-report-disabled-reason{font-size:12px;color:#6c7c76}.work-report-actions button:disabled,.work-report-goals button:disabled,.work-report-review-card button:disabled{opacity:.52;cursor:not-allowed}.work-report-goals{margin-top:14px;padding:16px 18px;border:1px solid #dce7e1;border-radius:8px;background:#fff}.work-report-goals .section-heading{margin-bottom:12px}.work-report-goal-rows{display:grid;gap:8px}.work-report-goal-row{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(120px,.7fr) minmax(150px,.8fr) minmax(220px,1.5fr) 36px;align-items:end;gap:8px;padding:10px;background:#f5f8f6;border-radius:7px}.work-report-goal-row label{display:grid;gap:5px;font-size:13px;color:#52665f}.work-report-goal-row small{min-height:17px;color:#687a73}.work-report-goal-row .icon-button{margin-bottom:1px}.work-report-goal-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:10px}.work-report-goal-actions span{margin-right:auto;color:#52665f}.work-report-review-panel{position:static;max-height:none;overflow:visible;padding:18px;background:#fff;border:1px solid #dce7e1;border-radius:8px}.work-report-review-list{grid-template-columns:repeat(2,minmax(0,1fr))}.work-report-review-card details{margin:10px 0}.work-report-review-card details summary{cursor:pointer;color:#176d4e;font-weight:700}.work-report-review-card footer small{margin-right:auto;color:#7b6a4a}.work-report-history-filters{display:flex;align-items:end;gap:10px;margin:12px 0}.work-report-history-filters label{display:grid;gap:5px;min-width:150px}.work-report-history-filters label:last-child{min-width:260px}.work-report-history-table th:nth-child(1){width:110px}.work-report-history-table th:nth-child(2),.work-report-history-table th:nth-child(5),.work-report-history-table th:nth-child(7){width:86px}.work-report-detail-dialog{width:min(700px,calc(100vw - 28px));max-height:calc(100vh - 40px);overflow:auto}.work-report-detail-dialog article header{display:flex;justify-content:space-between;gap:12px}.report-detail-content{margin-top:14px;padding:14px;background:#f5f8f6;border-radius:7px;white-space:normal;line-height:1.75}.work-week-daily-summary>summary{display:flex;justify-content:space-between;padding:10px 12px;cursor:pointer;background:#f3f7f5}.work-report-status.status-missing{background:#f0f3f2;color:#687a73}.work-report-status.status-submitted{background:#fff6df;color:#866013}
@media (max-width:980px){.work-report-review-list{grid-template-columns:1fr}.work-report-goal-row{grid-template-columns:repeat(2,minmax(0,1fr))}.work-report-goal-row .goal-note{grid-column:1/-1}.work-report-goal-row .icon-button{grid-column:2;justify-self:end}}
@media (max-width:760px){.work-report-status-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.work-report-status-strip button:nth-child(2){border-right:0}.work-report-status-strip button:nth-child(-n+2){border-bottom:1px solid #e5ece8}.work-report-workspace-nav{overflow-x:auto}.work-report-workspace-nav button{white-space:nowrap}.work-report-workspace .work-report-editor,.work-report-history-panel,.work-report-goals,.work-report-review-panel{padding:13px}.work-report-heading{align-items:flex-start;flex-wrap:wrap}.work-report-period-nav{order:3;width:100%;justify-content:space-between}.work-report-period-nav strong{flex:1}.work-report-goal-row{grid-template-columns:1fr}.work-report-goal-row .goal-note,.work-report-goal-row .icon-button{grid-column:auto}.work-report-goal-row .icon-button{justify-self:end}.work-report-history-filters{align-items:stretch;flex-direction:column}.work-report-history-filters label,.work-report-history-filters label:last-child{min-width:0}.work-report-detail-dialog{max-height:calc(100vh - 20px)}.work-report-detail-dialog article header{flex-direction:column}.work-report-actions{position:sticky;bottom:0;margin:14px -13px -13px;padding:10px 13px;background:#fff;border-top:1px solid #dce7e1;z-index:3}.work-report-disabled-reason{width:100%}}
.profile-id-cards{grid-column:1/-1}.id-card-archive{display:grid;grid-template-columns:1fr 1fr;gap:14px}.id-card-slot{display:grid;gap:8px;padding:12px;border:1px solid #dce7e1;border-radius:7px;background:#f8faf9}.id-card-preview{display:flex;align-items:center;justify-content:center;aspect-ratio:1.58;padding:0;background:#edf3f0;border:0;border-radius:6px;overflow:hidden;color:#6b7d76}.id-card-preview:not(:disabled){cursor:zoom-in}.id-card-preview:disabled{opacity:1;cursor:default}.id-card-preview img{width:100%;height:100%;object-fit:contain;background:#fff}.id-card-actions{display:flex;gap:8px}.id-card-slot input[type=file]{font-size:13px}.profile-id-cards>small{display:block;margin-top:9px;color:#687a73}.profile-contract-files{grid-column:1/-1}.contract-file-archive{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);gap:14px;align-items:start}.contract-file-upload{display:grid;gap:8px;min-width:0;padding:12px;border:1px dashed #bdcec4;border-radius:7px;background:#f8faf9}.contract-file-upload input{min-width:0;font-size:13px}.contract-file-upload button{width:max-content}.contract-file-upload small{color:#687a73}.contract-file-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0}.contract-file-empty{margin:0;padding:12px;border:1px dashed #cfd9d3;border-radius:7px}.contract-file-item{display:grid;grid-template-columns:70px minmax(0,1fr);gap:8px;align-items:center;padding:8px;border:1px solid #dce7e1;border-radius:7px;background:#fff}.contract-file-thumb,.contract-file-pdf{width:70px;height:54px;display:flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:5px;overflow:hidden;background:#eef4f0}.contract-file-thumb{cursor:zoom-in}.contract-file-thumb img{width:100%;height:100%;object-fit:cover}.contract-file-pdf{color:#a43f2f;background:#fff0ee;font-size:12px;font-weight:700}.contract-file-details{min-width:0}.contract-file-details strong,.contract-file-details span{display:block;overflow-wrap:anywhere}.contract-file-details strong{color:#244c3d;font-size:13px}.contract-file-details span{margin-top:3px;color:#708077;font-size:12px}.contract-file-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:6px}.contract-file-actions .small{width:auto;min-width:0;padding:5px 8px;text-decoration:none}.staff-file-lightbox{z-index:70;display:flex;align-items:center;justify-content:center}.staff-file-lightbox-card{width:min(980px,100%);padding:14px}.staff-file-lightbox-card .modal-head{margin-bottom:10px}.staff-file-lightbox-card [data-file-lightbox-image]{display:block;width:100%;max-height:calc(100vh - 130px);object-fit:contain;background:#f4f7f5}@media (max-width:760px){.id-card-archive,.contract-file-archive,.contract-file-list{grid-template-columns:1fr}.contract-file-upload button{width:100%}.contract-file-item{grid-template-columns:62px minmax(0,1fr)}.contract-file-thumb,.contract-file-pdf{width:62px;height:50px}.staff-file-lightbox{padding:10px}.staff-file-lightbox-card{max-height:calc(100vh - 20px);padding:12px}.staff-file-lightbox-card [data-file-lightbox-image]{max-height:calc(100vh - 100px)}}

/* Store information hub */
.store-information-page { display: grid; gap: 18px; min-width: 0; }
.store-information-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.store-information-summary article { border: 1px solid var(--line, #d9e2dc); border-radius: 14px; background: #fff; padding: 16px; display: grid; gap: 4px; }
.store-information-summary strong { font-size: 26px; color: #173c2c; }
.store-information-summary span { color: #66756d; font-size: 13px; }
.store-information-tabs { display: flex; gap: 8px; border-bottom: 1px solid var(--line, #d9e2dc); }
.store-information-tabs button { border-radius: 10px 10px 0 0; background: #eef4f0; color: #4c6257; }
.store-information-tabs button.is-active { background: #173c2c; color: #fff; }
.store-information-panel { background: #fff; border: 1px solid var(--line, #d9e2dc); border-radius: 16px; padding: 18px; min-width: 0; }
.store-information-section-heading { margin-bottom: 14px; }
.store-information-section-heading > div { min-width: 0; }
.store-information-heading-title { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.store-information-heading-title h2 { margin: 0; }
.store-information-heading-title button { width: auto; min-height: 34px; padding: 5px 12px; font-size: 14px; }
.store-information-section-heading p { margin: 8px 0 0; color: #52655b; line-height: 1.55; }
.store-information-table-wrap { width: 100%; min-width: 0; overflow: visible; }
.store-information-table { width: 100%; min-width: 980px; border-collapse: collapse; }
.store-information-table th, .store-information-table td { padding: 10px 8px; border-bottom: 1px solid #e8eeea; vertical-align: top; text-align: left; }
.store-information-table th { color: #52635a; font-size: 12px; white-space: nowrap; }
.store-information-table td { font-size: 13px; }
.store-information-actions { display: flex; flex-wrap: wrap; gap: 6px; min-width: 170px; }
.store-information-actions a { text-decoration: none; }
.store-information-file-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.store-information-file-actions form { margin: 0; }
.store-information-primary { display: grid; gap: 3px; min-width: 130px; }
.store-information-primary strong { color: #173c2c; font-size: 14px; line-height: 1.35; }
.store-information-primary span, .store-information-meta { display: block; color: #718078; font-size: 12px; line-height: 1.5; }
.store-information-stack { display: grid; gap: 7px; }
.store-information-copy { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 6px; max-width: 100%; }
.store-information-copy [data-copy-value] { overflow-wrap: anywhere; color: #263a31; line-height: 1.45; }
.store-information-copy [data-copy-status] { color: #157347; font-size: 11px; }
.store-credential-stack { display: grid; gap: 7px; min-width: 190px; }
.store-credential-line { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 7px; align-items: center; min-width: 0; }
.store-credential-label { color: #74827b; font-size: 11px; font-weight: 700; line-height: 1.4; }
.store-credential-value { min-width: 0; }
.store-credential-value .store-information-copy,
.store-credential-value .store-secret { display: flex; width: 100%; align-items: center; }
.store-live-account-stack { display: grid; gap: 9px; min-width: 220px; }
.store-live-account-line { display: grid; grid-template-columns: 72px minmax(0,1fr); gap: 8px; align-items: start; padding-bottom: 8px; border-bottom: 1px solid #edf2ef; }
.store-live-account-line:last-child { padding-bottom: 0; border-bottom: 0; }
.store-live-account-values { display: grid; gap: 5px; min-width: 0; }
.store-live-account-values > span { overflow-wrap: anywhere; color: #263a31; }
.store-information-store-identity { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 5px 7px; min-width: 0; }
.store-information-store-identity .store-platform { margin-right: 0; }
.store-information-sync-badge { display: inline-flex; align-items: center; width: fit-content; max-width: 100%; padding: 2px 7px; border: 1px solid #c7ded2; border-radius: 999px; background: #f2f8f5; color: #3c7058; font-size: 10px; font-weight: 700; line-height: 1.3; vertical-align: middle; }
.store-information-sync-badge[hidden] { display: none; }
[data-douyin-sync-fields].is-disabled { opacity: .62; background: #f3f6f4; }
[data-douyin-sync-fields].is-disabled input:disabled { cursor: not-allowed; background: #edf1ef; color: #7a8780; }
[data-douyin-sync-fields] input:disabled { border-color: #d5dfda; background: #eef3f0; color: #617068; cursor: not-allowed; opacity: 1; }
.store-information-secret-field { display: grid; gap: 4px; min-width: 0; }
.store-information-secret-field .secret-clear { font-size: 12px; color: #687a73; }
.store-information-modal .checkbox-label { display: flex; align-items: center; gap: 8px; min-width: 0; color: #53675d; font-size: 13px; font-weight: 600; }
.store-information-modal .checkbox-label input[type="checkbox"] { flex: 0 0 16px; width: 16px; height: 16px; min-height: 0; margin: 0; padding: 0; }
.store-information-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.store-information-form-grid .full { grid-column: 1 / -1; }
.store-douyin-account-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.store-douyin-account-grid fieldset { display: grid; gap: 11px; min-width: 0; margin: 0; padding: 13px; border: 1px solid #d9e5de; border-radius: 11px; background: #f8fbf9; }
.store-douyin-account-grid legend { padding: 0 6px; color: #28513f; font-size: 13px; font-weight: 800; }
[data-douyin-account-fields].is-disabled { opacity: .58; }
.store-information-form-sections { display: grid; gap: 14px; }
.store-information-form-section { display: grid; gap: 13px; padding: 16px; border: 1px solid #dfe8e2; border-radius: 14px; background: linear-gradient(145deg,#fff 0%,#fbfdfc 100%); box-shadow: 0 5px 18px rgba(26,61,46,.04); }
.store-information-form-section > header { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding-bottom: 10px; border-bottom: 1px solid #edf2ef; }
.store-information-form-section > header h3 { margin: 0; color: #173c2c; font-size: 16px; letter-spacing: .01em; }
.store-information-form-section > header p { margin: 0; color: #718078; font-size: 12px; text-align: right; }
.store-information-section-note { display: grid; gap: 2px; justify-items: end; }
.store-information-section-note p { margin: 0; color: #718078; font-size: 12px; text-align: right; }
.store-information-date-pair { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.store-information-upload-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.store-information-upload-card { display: grid; align-content: start; gap: 10px; min-width: 0; padding: 14px; border: 1px dashed #b8ccc0; border-radius: 12px; background: #f7faf8; }
.store-information-upload-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; min-width: 0; }
.store-information-upload-card-head strong { color: #264d3d; font-size: 14px; }
.store-information-file-picker { display: grid; gap: 7px; min-width: 0; color: #52665c; font-size: 12px; }
.store-information-file-picker input { min-width: 0; width: 100%; padding: 9px; border: 1px solid #d6e2db; border-radius: 9px; background: #fff; font-size: 12px; }
.store-information-upload-card > small { color: #78877f; }
.store-information-existing-file { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 6px; min-width: 0; }
.store-information-existing-file a { max-width: 190px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #1d654b; font-size: 12px; }
.store-information-form-actions { position: sticky; bottom: -1px; z-index: 4; margin: 16px -2px -2px; padding: 13px 2px 2px; border-top: 1px solid #dfe8e2; background: rgba(255,255,255,.96); backdrop-filter: blur(8px); }
.store-information-form-actions [data-form-status] { margin-right: auto; font-size: 13px; }
.store-information-form-actions button { width: auto; min-width: 108px; }
.store-information-modal-eyebrow { margin: 0 0 4px; color: #4d826c; font-size: 10px; font-weight: 800; letter-spacing: .16em; }
.store-information-modal { width: min(900px, calc(100vw - 28px)); max-height: calc(100vh - 28px); overflow: auto; scrollbar-gutter: stable; }
.store-information-modal .modal-head { align-items: flex-start; }
.store-information-modal .modal-head > div { min-width: 0; }
.store-information-modal .modal-head p:not(.store-information-modal-eyebrow) { margin: 5px 0 0; color: #687a73; font-size: 13px; line-height: 1.55; }
.store-information-modal .modal-close { flex: 0 0 38px; width: 38px; min-height: 38px; padding: 0; border-color: #d6e2db; border-radius: 10px; background: #f3f7f5; color: #315646; font-size: 20px; line-height: 1; }
.store-information-modal .modal-close:hover { background: #e8f2ed; color: #173c2c; }
.store-information-modal > form { display: grid; min-width: 0; }
.store-information-modal.binding-modal { width: min(1120px, calc(100vw - 28px)); }
.store-secret { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 5px; }
.store-secret code { font-size: 12px; }
.binding-editor-row { display: grid; grid-template-columns: minmax(240px, 2fr) 1fr 1fr minmax(140px, 1fr) auto; gap: 8px; align-items: end; padding: 10px 0; border-bottom: 1px solid #e8eeea; }
.binding-row-actions { display: flex; align-items: center; justify-content: center; padding-bottom: 1px; }
.binding-row-actions .danger-button { min-width: 64px; color: #b42318; background: #fff; border-color: #efb0aa; }
.binding-row-actions .danger-button:hover { color: #8f1d14; background: #fff4f2; border-color: #dc8076; }
.store-platform { display: inline-block; margin-right: 6px; padding: 2px 6px; border-radius: 999px; background: #e8f2ec; color: #28533e; font-size: 11px; }
.owner-chip { display: inline-grid; margin: 0 4px 4px 0; padding: 3px 7px; border-radius: 8px; background: #f2f6f3; }
.owner-chip small { color: #77857e; }
.status-badge.expiring, .status-badge.warning { background: #fff1c2; color: #775900; }
.status-badge.expired { background: #ffe1de; color: #8e2820; }
.success-text { color: #157347; }
.error-text { color: #b42318; }

@media (max-width: 900px) {
  .store-information-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .binding-editor-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .binding-row-actions { grid-column: 1 / -1; }
}

@media (max-width: 640px) {
  .store-information-summary { grid-template-columns: 1fr 1fr; }
  .store-information-panel { padding: 12px; }
  .store-information-tabs { overflow-x: auto; }
  .store-information-tabs button { flex: 0 0 auto; }
  .store-information-table { min-width: 0; }
  .store-information-table thead { display: none; }
  .store-information-table tbody, .store-information-table tr, .store-information-table td { display: block; width: 100%; }
  .store-information-table tr { border: 1px solid #dfe7e2; border-radius: 12px; padding: 10px; margin-bottom: 10px; }
  .store-information-table td { display: grid; grid-template-columns: 105px minmax(0, 1fr); gap: 8px; border: 0; padding: 6px 0; }
  .store-information-table td::before { content: attr(data-label); color: #718078; font-size: 12px; }
  .store-information-actions { min-width: 0; }
  .store-information-modal { width: calc(100vw - 16px); max-height: calc(100vh - 16px); padding: 14px; }
  .store-information-form-section { padding: 13px; border-radius: 12px; }
  .store-information-form-section > header { display: grid; gap: 3px; }
  .store-information-form-section > header p { text-align: left; }
  .store-information-form-grid, .store-information-upload-grid, .store-information-date-pair, .store-douyin-account-grid, .binding-editor-row { grid-template-columns: 1fr; }
  .store-information-form-grid .full, .binding-row-actions { grid-column: auto; }
  .store-information-form-actions { margin: 14px -14px -14px; padding: 11px 14px; }
  .store-information-form-actions [data-form-status] { flex-basis: 100%; }
  .store-information-form-actions button { flex: 1 1 140px; width: 100%; }
  .store-information-existing-file a { max-width: 180px; }
}

@media (min-width: 641px) and (max-height: 500px) {
  .store-information-table-wrap { overflow-x: auto; overscroll-behavior-inline: contain; }
  .store-information-table { min-width: 1120px; }
  .store-information-modal { max-height: calc(100vh - 16px); }
  .store-information-form-actions { position: sticky; bottom: 0; }
}

/* Compact weekly goal editor */
.work-report-goals { padding: 0; overflow: hidden; }
.work-report-goals .section-heading { align-items: center; gap: 14px; margin: 0; padding: 14px 16px; border-bottom: 1px solid #dfe8e3; background: linear-gradient(135deg, #fbfdfc 0%, #f4f8f6 100%); }
.work-report-goals .section-heading h2 { margin-bottom: 3px; }
.work-report-goals .section-heading p { margin: 0; }
.work-report-goal-toolbar { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px; }
.work-report-goal-toolbar [data-goals-feedback] { color: #3f6556; font-size: 12px; }
.work-report-goal-toolbar button { white-space: nowrap; }
.work-report-goal-rows { gap: 10px; padding: 12px 14px 14px; }
.work-report-goal-row { grid-template-columns: minmax(145px, .85fr) minmax(125px, .7fr) minmax(145px, .8fr) minmax(135px, .72fr) minmax(210px, 1.25fr) 36px; align-items: end; gap: 10px; padding: 12px; border: 1px solid #dfe8e3; border-radius: 9px; background: #fff; box-shadow: 0 3px 12px rgba(25, 69, 52, .035); }
.work-report-goal-row label { min-width: 0; color: #52665f; font-size: 12px; font-weight: 650; }
.work-report-goal-row input, .work-report-goal-row select { min-width: 0; background: #fff; }
.work-report-goal-row .goal-actual small { min-height: 0; color: #71817a; font-size: 11px; line-height: 1.25; }
.work-report-goal-completion { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-content: end; gap: 7px 8px; min-width: 0; padding-bottom: 5px; }
.work-report-goal-completion > span { color: #52665f; font-size: 12px; font-weight: 650; }
.work-report-goal-completion > strong { color: #176d4e; font-size: 14px; line-height: 1; white-space: nowrap; }
.work-report-goal-progress { grid-column: 1 / -1; width: 100%; height: 7px; overflow: hidden; border: 0; border-radius: 999px; background: #dfeae5; accent-color: #2d8464; }
.work-report-goal-progress::-webkit-progress-bar { border-radius: 999px; background: #dfeae5; }
.work-report-goal-progress::-webkit-progress-value { border-radius: 999px; background: linear-gradient(90deg, #3c9a75, #217a5d); }
.work-report-goal-progress::-moz-progress-bar { border-radius: 999px; background: linear-gradient(90deg, #3c9a75, #217a5d); }
.work-report-goal-row .icon-button { align-self: end; margin-bottom: 4px; border-color: #ead8d3; background: #fff8f6; }
.work-report-goal-row .icon-button:hover { background: #fff0ec; }

@media (max-width: 1180px) {
  .work-report-goal-row { grid-template-columns: repeat(4, minmax(0, 1fr)) 36px; }
  .work-report-goal-row .goal-note { grid-column: 1 / -2; }
  .work-report-goal-row .icon-button { grid-column: 5; grid-row: 1; }
}

@media (max-width: 760px) {
  .work-report-goals .section-heading { align-items: stretch; padding: 13px; }
  .work-report-goal-toolbar { justify-content: stretch; }
  .work-report-goal-toolbar [data-goals-feedback] { order: 3; width: 100%; }
  .work-report-goal-toolbar button { flex: 1; }
  .work-report-goal-rows { padding: 10px; }
  .work-report-goal-row { grid-template-columns: 1fr; padding: 11px; }
  .work-report-goal-row .goal-note, .work-report-goal-row .icon-button { grid-column: auto; grid-row: auto; }
  .work-report-goal-row .icon-button { justify-self: end; }
}

/* Work report detail, attachment and owner views */
.work-report-section { display: grid; grid-template-columns: minmax(110px, .28fr) minmax(0, 1fr); gap: 12px; padding: 10px 0; border-bottom: 1px solid #e7eeea; }
.work-report-section:last-child { border-bottom: 0; }
.work-report-section h4, .work-report-detail-attachments h4 { margin: 0; color: #345d4d; font-size: 14px; }
.work-report-section p { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.work-report-feedback { margin-top: 12px; padding: 11px 13px; border-left: 3px solid #d2a23b; border-radius: 5px; background: #fff9ed; }
.work-report-feedback h4 { margin: 0 0 5px; }
.work-report-feedback p { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.work-report-feedback.is-returned { border-left-color: #c64035; color: #922f28; background: #fff0ee; }
.work-report-owner-feedback, .work-report-owner-comment { margin-top: 12px; padding: 11px 13px; border-left: 3px solid #516c96; border-radius: 5px; background: #f1f5fb; }
.work-report-owner-comment h4 { margin: 0 0 5px; color: #38577f; }
.work-report-owner-comment h4 em { margin-left: 7px; color: #6b7d98; font-size: 11px; font-style: normal; font-weight: 500; }
.work-report-owner-comment p { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.work-report-attachment-editor, .work-report-detail-attachments { margin-top: 14px; padding-top: 12px; border-top: 1px solid #e2ebe6; }
.work-report-attachment-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(118px, 1fr)); gap: 10px; margin-top: 9px; }
.work-report-attachment-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px; align-items: center; min-width: 0; padding: 7px; border: 1px solid #dce7e1; border-radius: 7px; background: #fff; }
.work-report-attachment-item .work-report-image-open { grid-column: 1 / -1; width: 100%; height: 94px; padding: 0; border: 0; border-radius: 5px; overflow: hidden; background: #eef3f0; cursor: zoom-in; }
.work-report-attachment-item img { width: 100%; height: 100%; object-fit: cover; }
.work-report-attachment-item > span { overflow: hidden; color: #5f726a; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.work-report-attachment-item .danger-text { min-width: 0; padding: 3px 6px; }
.work-report-review-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.work-report-owner-comment-input { padding: 9px; border: 1px dashed #b9c9dc; border-radius: 6px; background: #f6f8fc; }
.work-report-owner-comment-input small { color: #516c96; font-weight: 400; }
.staff-lifecycle-badge { display: inline-flex; padding: 3px 8px; border-radius: 999px; color: #52635c; background: #edf2ef; font-size: 12px; font-weight: 700; white-space: nowrap; }
.staff-lifecycle-badge.lifecycle-probation { color: #8a5b15; background: #fff4dd; }
.staff-lifecycle-badge.lifecycle-active { color: #176d4e; background: #e6f5ed; }
.staff-lifecycle-badge.lifecycle-resigned, .staff-lifecycle-badge.lifecycle-inactive { color: #8b3a33; background: #fbe9e7; }
.work-report-owner-overview { padding: 18px; background: #fff; border: 1px solid #dce7e1; border-radius: 8px; }
.work-report-owner-metrics { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 9px; }
.work-report-owner-metrics > div { padding: 12px; background: #f4f8f6; border-radius: 7px; }
.work-report-owner-metrics span { display: block; color: #64766f; font-size: 12px; }
.work-report-owner-metrics strong { display: block; margin-top: 4px; color: #183e32; font-size: 23px; }
.work-report-owner-filters { flex-wrap: wrap; }
.work-report-owner-filters label { min-width: 135px; }
.work-report-owner-filters label:first-child { min-width: 190px; }
.work-report-daily-roster + .work-report-details { margin-top: 20px; padding-top: 20px; border-top: 1px solid #dfe8e3; }
.work-report-details-filters { margin: 12px 0; border: 1px solid #e1e9e5; border-radius: 7px; background: #f8faf9; }
.work-report-details-filters > summary { padding: 10px 12px; color: #315f4d; font-weight: 700; cursor: pointer; }
.work-report-details-filters[open] > summary { border-bottom: 1px solid #e1e9e5; }
.work-report-details-filters .work-report-history-filters { margin: 0; padding: 12px; }
.work-report-daily-roster { display: grid; gap: 12px; }
.work-report-roster-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 13px 15px; border: 1px solid #dce7e1; border-radius: 8px; background: #f7faf8; }
.work-report-roster-toolbar > div:first-child { display: grid; gap: 3px; }
.work-report-roster-toolbar > div:first-child strong { color: #183e32; font-size: 16px; }
.work-report-roster-toolbar > div:first-child small { color: #718078; }
.work-report-roster-metrics { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 9px; }
.work-report-roster-metrics > div { padding: 11px 13px; border: 1px solid #e1ebe6; border-radius: 7px; background: #f6f9f7; }
.work-report-roster-metrics span { display: block; color: #667970; font-size: 12px; }
.work-report-roster-metrics strong { display: block; margin-top: 3px; color: #183e32; font-size: 22px; }
.work-report-roster-filters { display: flex; align-items: end; gap: 10px; flex-wrap: wrap; padding: 11px 13px; border: 1px solid #e1e9e5; border-radius: 7px; background: #fff; }
.work-report-roster-filters label { display: grid; gap: 5px; min-width: 155px; color: #53675f; font-size: 13px; }
.work-report-roster-filters > span { margin-left: auto; padding-bottom: 9px; color: #61736b; }
.work-report-roster-list { display: grid; gap: 8px; }
.work-report-roster-row { display: grid; grid-template-columns: minmax(145px,.7fr) 88px minmax(0,3fr) 104px; gap: 12px; align-items: center; min-width: 0; padding: 12px 13px; border: 1px solid #dce7e1; border-left: 4px solid #9aa9a2; border-radius: 7px; background: #fff; }
.work-report-roster-row.status-submitted { border-left-color: #d29a2b; }
.work-report-roster-row.status-returned { border-left-color: #c64035; background: #fffafa; }
.work-report-roster-row.status-read { border-left-color: #2c8b68; }
.work-report-roster-row.status-draft { border-left-color: #8c9d96; background: #fafbfa; }
.work-report-roster-row.status-missing { border-left-color: #c7cfcb; background: #f7f8f7; }
.work-report-roster-person { display: grid; gap: 4px; min-width: 0; }
.work-report-roster-person > strong { color: #193f32; }
.work-report-roster-person > span:not(.staff-lifecycle-badge) { overflow: hidden; color: #6c7d75; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.work-report-roster-person .staff-lifecycle-badge { width: max-content; }
.work-report-roster-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; min-width: 0; }
.work-report-roster-summary.is-unavailable { display: block; color: #8a9691; font-size: 13px; }
.work-report-roster-preview { position: relative; display: block; min-width: 0; min-height: 78px; padding: 9px 10px; border: 1px solid #e2ebe6; border-radius: 7px; background: #f8faf9; color: inherit; text-align: left; }
button.work-report-roster-preview { cursor: pointer; }
button.work-report-roster-preview:hover, button.work-report-roster-preview:focus-visible { border-color: #98b9aa; background: #f0f7f3; outline: none; box-shadow: 0 0 0 2px rgba(44,139,104,.12); }
.work-report-roster-preview.is-empty { color: #8a9691; }
.work-report-roster-preview > span { display: block; margin-bottom: 4px; color: #708078; font-size: 11px; }
.work-report-roster-preview > p { display: -webkit-box; margin: 0; overflow: hidden; color: #344b42; line-height: 1.55; overflow-wrap: anywhere; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.work-report-roster-preview > small { display: none; position: absolute; right: 8px; bottom: 5px; padding-left: 16px; color: #18704f; background: linear-gradient(90deg,transparent,#f8faf9 28%); font-size: 11px; }
.work-report-roster-preview.is-overflowing > small { display: block; }
button.work-report-roster-preview:hover > small, button.work-report-roster-preview:focus-visible > small { background: linear-gradient(90deg,transparent,#f0f7f3 28%); }
.work-report-roster-actions { display: flex; justify-content: flex-end; gap: 6px; flex-wrap: wrap; }
.work-report-image-dialog { position: relative; width: min(980px, calc(100vw - 28px)); padding: 14px; }
.work-report-image-dialog > .icon-button { position: absolute; top: 20px; right: 20px; z-index: 2; background: #fff; }
.work-report-image-dialog > img { display: block; width: 100%; max-height: calc(100vh - 70px); object-fit: contain; background: #f3f6f4; }
.work-report-review-content.is-direct { max-height: none; overflow: visible; padding: 14px; border: 1px solid #e1e9e5; background: #f8faf9; }
.work-report-review-content.is-direct .work-report-sections { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.work-report-review-content.is-direct .work-report-section { display: block; min-width: 0; padding: 11px 12px; border: 1px solid #e1e9e5; border-radius: 7px; background: #fff; }
.work-report-review-content.is-direct .work-report-section[data-section-key="completed_work"], .work-report-review-content.is-direct .work-report-section[data-section-key="next_plan"], .work-report-review-content.is-direct .work-report-section[data-section-key="weekly_summary"], .work-report-review-content.is-direct .work-report-section[data-section-key="next_week_plan"] { grid-column: 1 / -1; }
.work-report-review-content.is-direct .work-report-section h4 { margin-bottom: 7px; }
.work-report-period-nav input[type="date"], .work-report-period-nav input[type="week"] { width: auto; min-height: 34px; padding: 5px 8px; color: #244c3d; background: #fff; border-color: #c9d8d0; font-weight: 700; }
.work-report-week-range { color: #687a73; font-size: 12px; white-space: nowrap; }
.work-report-detail-dialog { width: min(780px, calc(100vw - 28px)); }
.work-report-detail-card { display: grid; gap: 16px; min-width: 0; }
.work-report-detail-header { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding-bottom: 13px; border-bottom: 1px solid #dfe8e3; }
.work-report-detail-header time { flex: 0 0 auto; color: #60736b; font-size: 13px; }
.work-report-detail-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; min-width: 0; }
.work-report-detail-meta > strong { margin-right: 3px; color: #183e32; font-size: 18px; overflow-wrap: anywhere; }
.work-report-detail-meta > span:not(.staff-lifecycle-badge):not(.work-report-status) { padding: 3px 8px; border-radius: 999px; color: #536861; background: #eef3f0; font-size: 12px; font-weight: 700; }
.work-report-detail-sections { min-width: 0; }
.work-report-detail-sections .work-report-sections { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.work-report-detail-sections .work-report-section { display: block; min-width: 0; padding: 12px; border: 1px solid #e1e9e5; border-radius: 7px; background: #f8faf9; }
.work-report-detail-sections .work-report-section[data-section-key="completed_work"], .work-report-detail-sections .work-report-section[data-section-key="next_plan"], .work-report-detail-sections .work-report-section[data-section-key="weekly_summary"], .work-report-detail-sections .work-report-section[data-section-key="next_week_plan"] { grid-column: 1 / -1; }
.work-report-detail-feedback { min-width: 0; }
.work-report-detail-feedback > :first-child { margin-top: 0; }
.work-report-history-owner-comment { display: -webkit-box; min-width: 160px; max-width: 300px; padding: 0; overflow: hidden; border: 0; background: transparent; color: #38577f; line-height: 1.55; text-align: left; overflow-wrap: anywhere; cursor: pointer; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.work-report-history-owner-comment > span { color: #18704f; font-size: 11px; white-space: nowrap; }
.work-report-history-filter-actions { display: flex; align-items: center; gap: 8px; padding-bottom: 1px; }
.work-report-history-search { flex: 1 1 260px; }
.work-report-history-pagination { display: flex; align-items: center; justify-content: flex-end; gap: 10px; margin-top: 12px; color: #5e7168; }
.work-report-records { display: grid; gap: 14px; min-width: 0; }
.work-report-records-filter { display: grid; grid-template-columns: repeat(6, minmax(120px, 1fr)); gap: 9px; align-items: end; padding: 13px; border: 1px solid #dce7e1; border-radius: 8px; background: #f8faf9; }
.work-report-records-filter label { display: grid; gap: 5px; min-width: 0; color: #53675f; font-size: 12px; font-weight: 700; }
.work-report-records-filter .work-report-history-search { grid-column: span 2; }
.work-report-records-hint { margin: -3px 0 0; padding: 9px 11px; border-radius: 6px; color: #765e2b; background: #fff8e7; font-size: 12px; }
.work-report-record-groups, .work-report-record-card-list { display: grid; gap: 12px; min-width: 0; }
.work-report-record-group { display: grid; gap: 10px; min-width: 0; }
.work-report-record-group-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 11px 13px; border: 1px solid #d7e5de; border-radius: 8px; background: #eef6f2; }
.work-report-record-group-head > div:first-child { display: flex; align-items: baseline; gap: 8px; flex: 0 0 auto; }
.work-report-record-group-head h3 { margin: 0; color: #173f31; font-size: 17px; }
.work-report-record-group-head > div:first-child > span { color: #6a7c74; font-size: 12px; }
.work-report-record-metrics { display: grid; grid-template-columns: repeat(5, minmax(92px, 1fr)); gap: 6px; width: min(620px, 100%); }
.work-report-record-metrics span { padding: 7px 9px; border-radius: 6px; color: #5c7067; background: rgba(255,255,255,.75); font-size: 12px; text-align: center; }
.work-report-record-metrics strong { margin-left: 3px; color: #163f31; font-size: 16px; }
.work-report-record-card { display: grid; grid-template-columns: minmax(150px, .42fr) minmax(0, 2.58fr); gap: 13px; min-width: 0; padding: 13px; border: 1px solid #dce7e1; border-radius: 8px; background: #fff; box-shadow: 0 5px 16px rgba(31,67,52,.04); }
.work-report-record-person { display: flex; align-content: flex-start; flex-direction: column; gap: 5px; min-width: 0; }
.work-report-record-person > div { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.work-report-record-person strong { color: #173f31; font-size: 16px; overflow-wrap: anywhere; }
.work-report-person-link { width: auto; min-height: 0; padding: 0; border: 0; border-radius: 3px; background: transparent; color: #176d4e; font-size: 16px; font-weight: 800; line-height: 1.35; text-align: left; text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 3px; overflow-wrap: anywhere; }
.work-report-person-link:hover { color: #0d573d; background: transparent; text-decoration-color: currentColor; }
.work-report-person-link:focus-visible { outline: 2px solid #4b9a7c; outline-offset: 3px; text-decoration-color: currentColor; }
.work-report-record-person > span:not(.staff-lifecycle-badge) { color: #6a7c74; font-size: 12px; }
.work-report-record-person .staff-lifecycle-badge { width: max-content; }
.work-report-history-only { padding: 2px 6px; border-radius: 999px; color: #6d5a2e; background: #fff3d5; font-size: 11px; font-weight: 700; }
.work-report-record-blocks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; min-width: 0; }
.work-report-record-blocks > :only-child { grid-column: 1 / -1; }
.work-report-record-block { display: grid; align-content: start; gap: 10px; min-width: 0; padding: 11px; border: 1px solid #e0e9e4; border-left: 4px solid #8fa69b; border-radius: 7px; background: #fafcfb; }
.work-report-record-block.type-weekly { border-left-color: #587aa4; background: #f8faff; }
.work-report-record-block.status-returned { border-left-color: #c64035; background: #fffafa; }
.work-report-record-block.status-missing, .work-report-record-block.status-draft { border-left-color: #aebbb5; background: #f7f8f7; }
.work-report-record-block > header { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-width: 0; }
.work-report-record-block > header > div { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; min-width: 0; }
.work-report-record-block > header time { color: #687a72; font-size: 11px; text-align: right; }
.work-report-daily-operating-metrics { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 5px; min-width: 0; }
.work-report-daily-operating-metrics > span { padding: 3px 6px; border: 1px solid #dce8e2; border-radius: 999px; color: #60736b; background: #fff; font-size: 11px; white-space: nowrap; }
.work-report-daily-operating-metrics strong { margin-left: 2px; color: #1a4938; font-size: 12px; }
.work-report-daily-operating-metrics strong.neg { color: #b23b32; }
.work-report-record-previews { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; min-width: 0; }
.work-report-record-unavailable { padding: 16px 10px; border-radius: 6px; color: #7d8b85; background: rgba(232,237,234,.65); text-align: center; }
.work-report-record-attachments { display: grid; gap: 6px; }
.work-report-record-attachments > span { color: #65776f; font-size: 11px; font-weight: 700; }
.work-report-record-attachments .work-report-attachment-list { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.work-report-record-feedback { min-width: 0; }
.work-report-record-feedback > :first-child { margin-top: 0; }
.work-report-record-actions { display: flex; justify-content: flex-end; gap: 7px; flex-wrap: wrap; }
.work-report-workbench, .work-report-workspace, .work-report-history-panel, .work-report-details, .work-report-records { min-width: 0; }
.work-report-details > .table-wrap { max-width: 100%; }
.work-report-person-metrics-dialog { width: min(760px, calc(100vw - 28px)); }
.work-report-person-metrics-dialog .modal-head { align-items: flex-start; padding-bottom: 12px; border-bottom: 1px solid #e2eae5; }
.work-report-person-metrics-dialog .modal-head > div { min-width: 0; }
.work-report-person-metrics-dialog .modal-head h2 { color: #173f31; }
.work-report-person-metrics-dialog .modal-head p { margin: 4px 0 0; color: #687a72; font-size: 13px; }
.work-report-person-metrics-identity { margin: 0 0 12px; color: #536a60; font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; }
.work-report-person-metrics-kpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; margin-bottom: 13px; }
.work-report-person-metrics-kpis > div { min-width: 0; padding: 12px; border: 1px solid #dce8e2; border-radius: 8px; background: #f3f8f5; }
.work-report-person-metrics-kpis span, .work-report-person-metrics-days span { display: block; color: #6a7c74; font-size: 11px; }
.work-report-person-metrics-kpis strong { display: block; margin-top: 5px; color: #174632; font-size: 20px; line-height: 1.25; overflow-wrap: anywhere; }
.work-report-person-metrics-kpis strong.neg, .work-report-person-metrics-days strong.neg { color: #b23b32; }
.work-report-person-metrics-days { display: grid; gap: 6px; min-width: 0; }
.work-report-person-metrics-days article { display: grid; grid-template-columns: 1.05fr .8fr 1.2fr 1.2fr; gap: 8px; min-width: 0; padding: 9px 11px; border: 1px solid #e1e9e5; border-radius: 7px; background: #fff; }
.work-report-person-metrics-days article > div { min-width: 0; }
.work-report-person-metrics-days strong { display: block; margin-top: 3px; color: #294b3e; font-size: 13px; overflow-wrap: anywhere; }
.work-report-person-metrics-note { display: block; margin-top: 11px; color: #718178; line-height: 1.5; }
.work-report-person-metrics-loading, .work-report-person-metrics-empty, .work-report-person-metrics-error { min-height: 120px; margin: 0; padding: 24px 14px; border: 1px dashed #ccd9d2; border-radius: 8px; color: #5d7168; background: #f8faf9; text-align: center; }
.work-report-person-metrics-error { color: #963b34; border-color: #e4c3bf; background: #fff8f7; }
.work-report-person-metrics-error p { margin: 0 0 12px; }

@media (max-width: 1180px) {
  .work-report-roster-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .work-report-records-filter { grid-template-columns: repeat(4, minmax(120px, 1fr)); }
  .work-report-record-previews { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .work-report-owner-overview { padding: 13px; }
  .work-report-owner-filters label, .work-report-owner-filters label:first-child { min-width: 0; }
  .work-report-review-fields, .work-report-owner-metrics { grid-template-columns: 1fr; }
  .work-report-roster-toolbar { align-items: stretch; flex-direction: column; }
  .work-report-roster-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .work-report-roster-filters { align-items: stretch; flex-direction: column; }
  .work-report-roster-filters label { width: 100%; min-width: 0; }
  .work-report-roster-filters > span { margin-left: 0; padding-bottom: 0; }
  .work-report-roster-row { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .work-report-roster-summary { grid-template-columns: minmax(0,1fr); }
  .work-report-roster-actions { justify-content: flex-start; }
  .work-report-section { grid-template-columns: 1fr; gap: 5px; }
  .work-report-attachment-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .work-report-review-content.is-direct .work-report-sections { grid-template-columns: 1fr; }
  .work-report-review-content.is-direct .work-report-section { grid-column: auto; }
  .work-report-detail-header { align-items: flex-start; flex-direction: column; }
  .work-report-detail-sections .work-report-sections { grid-template-columns: 1fr; }
  .work-report-detail-sections .work-report-section { grid-column: auto; }
  .work-report-history-owner-comment { min-width: 0; max-width: none; }
  .work-report-history-filter-actions { padding-bottom: 0; }
  .work-report-history-pagination { justify-content: space-between; }
  .work-report-daily-roster + .work-report-details { margin-top: 16px; padding-top: 16px; }
  .work-report-details-filters .work-report-history-filters { padding: 10px; }
  .work-report-period-nav { flex-wrap: wrap; }
  .work-report-period-nav input[type="week"] { flex: 1; min-width: 155px; }
  .work-report-week-range { order: 4; width: 100%; text-align: center; }
  .work-report-records-filter { grid-template-columns: minmax(0, 1fr); padding: 10px; }
  .work-report-records-filter .work-report-history-search { grid-column: auto; }
  .work-report-record-group-head { align-items: stretch; flex-direction: column; }
  .work-report-record-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
  .work-report-record-card { grid-template-columns: minmax(0, 1fr); }
  .work-report-record-blocks, .work-report-record-previews { grid-template-columns: minmax(0, 1fr); }
  .work-report-record-blocks > :only-child { grid-column: auto; }
  .work-report-record-block > header { align-items: flex-start; flex-direction: column; }
  .work-report-record-block > header time { text-align: left; }
  .work-report-daily-operating-metrics { width: 100%; }
  .work-report-daily-operating-metrics > span { flex: 1 1 auto; white-space: normal; }
  .work-report-record-attachments .work-report-attachment-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .work-report-record-actions { justify-content: flex-start; }
  .work-report-person-metrics-dialog { width: calc(100vw - 16px); max-height: calc(100vh - 16px); max-height: calc(100dvh - 16px); padding: 13px; }
  .work-report-person-metrics-kpis { grid-template-columns: minmax(0, 1fr); }
  .work-report-person-metrics-days article { grid-template-columns: minmax(0, 1fr); gap: 6px; padding: 11px; }
  .work-report-person-metrics-days article > div { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
  .work-report-person-metrics-days strong { margin-top: 0; text-align: right; }
}

.staff-file-lightbox-card [data-file-lightbox-image] { cursor: zoom-out; }
.staff-file-lightbox[hidden] { display: none !important; }
.staff-file-lightbox-card [data-file-lightbox-image][hidden] { display: none; }
.staff-file-lightbox-status { display: flex; min-height: min(360px, calc(100vh - 150px)); margin: 0; align-items: center; justify-content: center; padding: 24px; border-radius: 6px; background: #f4f7f5; color: #53675e; text-align: center; }
.staff-file-lightbox-status[hidden] { display: none; }

/* Keep HR tabs and contract attachments inside the profile viewport. */
.profile-contract-files .contract-file-archive,
.profile-id-cards .id-card-archive,
.profile-id-cards > small { grid-column: 1 / -1; width: 100%; }
.contract-file-archive { grid-template-columns: minmax(220px, 280px) minmax(0, 1fr); }
.contract-file-list { grid-template-columns: 1fr; }
.contract-file-item { grid-template-columns: 70px minmax(0, 1fr); align-items: start; }
.contract-file-thumb, .contract-file-pdf { grid-row: 1 / span 2; }
.contract-file-details { grid-column: 2; }
.contract-file-actions { grid-column: 2; justify-content: flex-start; flex-wrap: wrap; }

@media (max-width: 760px) {
  .hr-management-tabs { gap: 3px; padding-inline: 0; }
  .hr-management-tabs button { padding-inline: 6px; font-size: 13px; }
  .hr-management-tabs .staff-birthday-summary, .hr-management-tabs .staff-deadline-summary { display: none; }
  .contract-file-archive, .contract-file-list { grid-template-columns: 1fr; }
  .contract-file-item { grid-template-columns: 62px minmax(0, 1fr); }
  .contract-file-actions { grid-column: 2; }
}

/* Consolidated store management: desktop-only layout refinement. */
@media (min-width: 901px) {
  .store-information-legal-filter { width: min(420px, 100%); margin-bottom: 12px; }
  .store-information-legal-filter label { display: grid; gap: 5px; min-width: 0; }
  .store-information-legal-filter input { height: 40px; min-height: 40px; }
  .store-information-license-filter { display: grid; grid-template-columns: minmax(320px, 420px) 180px; gap: 10px; align-items: end; justify-content: start; width: min(610px, 100%); margin-bottom: 12px; }
  .store-information-license-filter label { display: grid; gap: 5px; min-width: 0; }
  .store-information-license-filter input,
  .store-information-license-filter select { width: 100%; min-width: 0; height: 40px; min-height: 40px; }
  .store-information-store-filters { grid-template-columns: 150px 170px minmax(260px, 1fr) auto auto auto; }
  .store-information-store-filters label { min-width: 0; }
  .store-information-store-filters input,
  .store-information-store-filters select { min-height: 38px; }
  .store-information-table.store-manage-table { min-width: 1380px; }
  .store-information-limited .store-information-table.store-manage-table { min-width: 1040px; table-layout: fixed; }
  .store-information-limited .store-information-table.store-manage-table th:nth-child(1) { width: 190px; }
  .store-information-limited .store-information-table.store-manage-table th:nth-child(2) { width: 320px; min-width: 0; }
  .store-information-limited .store-information-table.store-manage-table th:nth-last-child(2) { width: 72px; }
  .store-information-limited .store-information-table.store-manage-table th:last-child { width: 190px; }
  .store-information-limited .store-information-actions { min-width: 0; }
  .store-information-table-wrap { overflow-x: auto; scrollbar-gutter: stable; }
  .store-information-table.store-manage-table th:nth-child(1) { width: 180px; }
  .store-information-table.store-manage-table th:nth-child(2) { min-width: 330px; }
  .store-information-table.store-manage-table th:nth-child(4) { min-width: 240px; }
  .store-information-table.store-manage-table td { vertical-align: middle; }
  .owner-modal-card { width: min(1120px, calc(100vw - 40px)); max-height: calc(100vh - 40px); overflow: auto; }
  .binding-batch-table { width: 100%; min-width: 880px; table-layout: fixed; }
  .binding-batch-table .binding-editor-row { display: table-row; }
  .binding-batch-table th,
  .binding-batch-table td { padding: 9px 7px; vertical-align: middle; }
  .binding-batch-table th:first-child { width: 34%; }
  .binding-batch-table th:nth-child(2),
  .binding-batch-table th:nth-child(3) { width: 16%; }
  .binding-batch-table th:nth-child(4) { width: 24%; }
  .binding-batch-table th:last-child { width: 10%; }
  .binding-batch-table select,
  .binding-batch-table input { width: 100%; min-width: 0; }
  .binding-batch-table .binding-row-actions { padding: 9px 7px; text-align: center; }
  .binding-modal-toolbar { top: -18px; margin-top: 4px; }
  .binding-voided-history { margin-top: 14px; padding: 10px 12px; border: 1px solid #e2e9e5; border-radius: 8px; background: #f8faf9; }
  .binding-voided-history summary { color: #51655b; cursor: pointer; font-weight: 700; }
  .binding-voided-history p { margin: 8px 0 0; }
}
/* Spaced selector retained as an explicit design-contract hook. */
.store-assets-filter-secondary > summary{box-sizing:border-box}
@media (max-width: 700px){.store-assets-page{isolation:isolate}}
@media (min-width: 701px){
  .store-assets-page .store-assets-hero{min-height:76px;margin:0 0 10px;padding:4px 0 10px}
  .store-assets-filter-grid{grid-template-columns:145px minmax(448px,auto) minmax(150px,1fr) 145px}
  .store-assets-filter-secondary{display:block}
  .store-assets-filter-secondary-grid{display:grid;grid-template-columns:100px 108px 122px 118px;gap:8px}
  .store-assets-filter-actions{display:grid;grid-template-columns:1fr;align-items:end}
}

/* Store-assets fast ledger editor. */
.store-assets-filter-query{max-width:360px}
.platform-badge.platform-dy{color:#18543f;background:#e6f5ed;border-color:#c8e7d5}
.store-assets-list-tools{display:flex;align-items:center;justify-content:flex-end;gap:8px;max-width:100%;padding-right:8px;overflow-x:auto;flex-wrap:nowrap}
.store-assets-list-tools form{margin:0;flex:0 0 auto}
.store-assets-list-tools .btn-link,.store-assets-list-tools button{flex:0 0 auto;white-space:nowrap;word-break:keep-all}
.store-assets-export{min-height:40px;min-width:78px;margin-left:4px;color:#315c49!important;border-width:1px;border-style:solid;border-color:#cbd8cf;background:#fff!important;box-shadow:none}
.store-assets-export:hover{color:#185c43!important;background:#f5f8f6!important}
.store-assets-list-tools [data-store-assets-sync-status]{max-width:420px;color:#52665b;font-size:12px}
.store-assets-list-tools [data-store-assets-sync-status] a{color:inherit;text-decoration:underline}
.store-assets-pdd-progress{display:grid;gap:10px;margin:0 0 12px;padding:12px 14px;border:1px solid #d8e4dd;border-radius:10px;background:#f8fbf9}
.store-assets-pdd-progress[hidden]{display:none}
.store-assets-pdd-summary{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.store-assets-pdd-summary strong{color:#174b37}
.store-assets-pdd-summary span{color:#52665b;font-size:12px}
.store-assets-pdd-details{display:grid;gap:6px;max-height:260px;overflow:auto;color:#40584d;font-size:12px}
.store-assets-pdd-details>div{padding:7px 9px;border-radius:6px;background:#fff}
.store-assets-pdd-state-waiting_verification{color:#9a5a00}
.store-assets-pdd-state-failed,.store-assets-pdd-state-offline,.store-assets-pdd-state-binding_conflict,.store-assets-pdd-state-risk_blocked{color:#b42318}
.store-assets-pdd-state-success,.store-assets-pdd-state-reused_recent{color:#176247}
.store-assets-select-cell{width:34px;min-width:34px;padding-right:4px!important;padding-left:4px!important;text-align:center}
.store-assets-select-cell input{width:16px;height:16px;margin:0;accent-color:#247a59}
.store-assets-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;white-space:nowrap}
.store-assets-row-actions form{margin:0}
.store-assets-more{position:relative}
.store-assets-more>summary{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:5px 9px;color:#315c49;border:1px solid #d7e3dc;border-radius:6px;background:#f5f8f6;font-size:12px;font-weight:800;cursor:pointer;list-style:none}
.store-assets-more>summary::-webkit-details-marker{display:none}
.store-assets-more>div{position:absolute;z-index:12;top:calc(100% + 4px);right:0;display:grid;min-width:154px;padding:5px;border:1px solid #d9e3dd;border-radius:8px;background:#fff;box-shadow:0 10px 28px rgba(25,54,41,.16)}
.store-assets-more>div button{width:100%;min-height:34px;padding:6px 9px;text-align:left;color:#2d4c3e;border:0;background:transparent;font-size:12px}
.store-assets-more>div button:hover{background:#f0f6f2}
.store-assets-more>div .danger-link{color:#b42318}
.store-assets-locked td{background:#f7f8f7;color:#738079}
.store-assets-locked .store-assets-money{color:#66736c}
.store-assets-locked .store-assets-store-cell strong::after{content:'锁定';display:inline-flex;margin-left:6px;padding:2px 5px;color:#6a5740;border:1px solid #dfd1bc;border-radius:999px;background:#faf4e9;font-size:9px;vertical-align:middle}
.store-assets-editor{position:fixed;z-index:80;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(20,35,28,.52)}
.store-assets-editor[hidden]{display:none}
.store-assets-editor-sheet{width:min(760px,calc(100vw - 32px));max-height:calc(100vh - 40px);overflow:auto;border:1px solid #d7e1db;border-radius:12px;background:#fff;box-shadow:0 24px 60px rgba(18,44,31,.26)}
.store-assets-editor-sheet>header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid #e4ebe7;background:#f7faf8}
.store-assets-editor-sheet>header span{color:#47705e;font-size:10px;font-weight:900;letter-spacing:.1em}
.store-assets-editor-sheet>header h2{margin:3px 0 0;color:#1c3d2f;font-size:20px}
.store-assets-editor-sheet>header button{width:36px;min-height:36px;padding:0;color:#53645b;background:#fff;border:1px solid #d9e3dd;border-radius:7px;font-size:20px}
.store-assets-editor-sheet form{padding:16px 18px}
.store-assets-editor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:12px;row-gap:14px}
.store-assets-editor-field{display:grid;grid-template-rows:auto 42px;gap:5px;min-width:0;color:#52665b;font-size:12px;font-weight:800}
.store-assets-editor-label{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:20px}
.store-assets-editor-field input{box-sizing:border-box;width:100%;height:42px;min-height:42px;padding:0 12px;font-variant-numeric:tabular-nums}
.store-assets-editor-note{display:inline-flex;padding:2px 6px;color:#2e6b50;border:1px solid #bfd9ca;border-radius:999px;background:#f3faf6;font-size:9px;font-weight:700;line-height:1.35;white-space:nowrap}
.store-assets-editor-total{display:flex;align-items:baseline;justify-content:flex-end;gap:10px;margin-top:12px;padding:10px 12px;color:#53645b;border-radius:7px;background:#f3f7f5}
.store-assets-editor-total strong{color:#185c43;font-size:20px}
.store-assets-editor-sheet footer{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}
.store-assets-editor-sheet footer button{width:auto;min-width:94px;min-height:40px}

@media (min-width:701px){
  .store-assets-filter-grid{grid-template-columns:145px 448px minmax(280px,360px) 78px;justify-content:start}
  .store-assets-filter-secondary-grid{grid-template-columns:100px 108px 112px 104px}
  .store-assets-filter-actions{display:block}
  .store-assets-filter-actions button{width:78px}
}

@media (max-width:700px){
  .store-assets-results-head{align-items:center}
  .store-assets-list-tools{gap:5px}
  .store-assets-list-tools [data-store-assets-sync-status]{position:fixed;z-index:70;right:12px;bottom:12px;left:12px;max-width:none;padding:9px 11px;border-radius:7px;background:#1f4e3b;color:#fff;box-shadow:0 8px 24px rgba(20,50,37,.2)}
  .store-assets-list-tools [data-store-assets-sync-status]:empty{display:none}
  .store-assets-list-tools button,.store-assets-list-tools .btn-link{min-height:44px;padding:7px 9px;font-size:11px}
  .store-assets-row-actions{align-items:stretch}
  .store-assets-row-actions>form button,.store-assets-more>summary{min-height:44px}
  .store-assets-more>div{position:fixed;right:10px;bottom:10px;left:10px;top:auto;min-width:0;padding:8px;border-radius:12px}
  .store-assets-more>div button{min-height:44px;font-size:14px}
  .store-assets-editor{align-items:flex-end;padding:0}
  .store-assets-editor-sheet{width:100%;max-height:calc(100dvh - 10px);border-radius:16px 16px 0 0}
  .store-assets-editor-sheet>header{padding:13px 14px}
  .store-assets-editor-sheet form{padding:13px 14px}
  .store-assets-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .store-assets-editor-field input{min-height:44px}
  .store-assets-editor-sheet footer{display:grid;grid-template-columns:1fr 1fr;margin-top:12px}
  .store-assets-editor-sheet footer button{width:100%;min-height:44px}
  .store-assets-editor-sheet footer button:first-child{grid-column:1/-1;grid-row:2}
}

/* Private funds: desktop-first finance workspace. */
.private-funds-page{--private-funds-green:#176247;--private-funds-green-soft:#edf7f2;--private-funds-ink:#183c2e;--private-funds-line:#dbe6e0;min-width:0}
.private-funds-hero{min-height:0;margin-bottom:10px;padding:4px 0 12px}
.private-funds-hero .eyebrow{margin-bottom:5px;color:#3478b8;font-size:12px}
.private-funds-hero h1{margin-bottom:3px;font-size:28px}
.private-funds-hero .page-description{margin-top:3px;font-size:14px}
.private-funds-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:0 0 12px;padding:4px;border:1px solid var(--private-funds-line);border-radius:10px;background:#eef3f0}
.private-funds-tabs a{padding:9px 12px;border-radius:7px;color:#52655b;text-align:center;font-size:13px;font-weight:800}
.private-funds-tabs a:hover{color:var(--private-funds-green);background:#fff}
.private-funds-tabs a.active{color:#fff;background:var(--private-funds-green);box-shadow:0 4px 12px rgba(23,98,71,.18)}
.private-funds-workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;min-width:0}
.private-funds-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));overflow:hidden;border:1px solid var(--private-funds-line);border-radius:11px;background:#fff;box-shadow:0 5px 18px rgba(31,70,52,.05)}
.private-funds-summary article{display:flex;min-width:0;min-height:92px;padding:15px 16px;border-right:1px solid #e5ece8;flex-direction:column;justify-content:center}
.private-funds-summary article:last-child{border-right:0}
.private-funds-summary span{overflow:hidden;color:#687a71;font-size:11px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}
.private-funds-summary strong{display:block;margin-top:7px;overflow:hidden;color:var(--private-funds-ink);font-size:clamp(18px,1.7vw,25px);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}
.private-funds-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:3px 0 0}
.private-funds-section-head h2{margin:0;color:var(--private-funds-ink);font-size:18px}
.private-funds-section-head p{margin:4px 0 0;color:#718078;font-size:12px}
.private-funds-privileged-tools{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.private-funds-account-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;min-width:0}
.private-funds-account-card{display:grid;gap:13px;min-width:0;margin:0;padding:15px;border:1px solid var(--private-funds-line);border-radius:11px;background:#fff;box-shadow:0 5px 18px rgba(31,70,52,.05)}
.private-funds-account-card.is-inactive{background:#f6f8f7;color:#738079}
.private-funds-account-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.private-funds-account-card>header h3{margin:0;color:#204535;font-size:17px}
.private-funds-account-card>header span{display:block;margin-top:3px;color:#78877f;font-size:11px}
.private-funds-state{flex:0 0 auto;padding:4px 7px;border-radius:999px;color:#236349!important;background:#e7f3ed;font-size:10px!important;font-weight:800}
.private-funds-balance{padding:13px;border-radius:8px;background:linear-gradient(135deg,#eef8f3,#f8fbf9)}
.private-funds-balance span{display:block;color:#60736a;font-size:11px;font-weight:700}
.private-funds-balance strong{display:block;margin:5px 0;color:#155b40;font-size:27px;font-variant-numeric:tabular-nums;line-height:1.1}
.private-funds-balance small{color:#708078;font-size:10px}
.private-funds-account-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}
.private-funds-account-card dl>div{min-width:0;padding:8px;border:1px solid #e6ece8;border-radius:7px;background:#fafcfb}
.private-funds-account-card dt{color:#75847d;font-size:10px}
.private-funds-account-card dd{margin:3px 0 0;overflow:hidden;color:#314c40;font-size:13px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}
.private-funds-account-actions{display:grid;grid-template-columns:minmax(82px,.7fr) minmax(112px,1fr) minmax(82px,.7fr);gap:8px;align-items:stretch;min-height:40px;margin-top:auto}
.private-funds-account-actions .btn-link,.private-funds-account-actions button{display:inline-flex;align-items:center;justify-content:center;min-width:0;min-height:40px;padding:7px 10px;white-space:nowrap}
.private-funds-account-ledger{width:100%;color:#2f7d5f;border:1px solid #cfe5d9;background:#f3f8f5;text-decoration:none}
.private-funds-account-transfer{width:100%;font-weight:800}
.private-funds-account-status{margin:0}
.private-funds-account-status button{width:100%;color:#a3312b;border-color:#e6b7b2;background:#fff}
.private-funds-account-status button:hover{color:#8f241e;border-color:#d89089;background:#fff7f6}
.private-funds-entry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.private-funds-entry-grid--single{grid-template-columns:minmax(0,1fr)}
.private-funds-entry-grid--single>section{grid-column:1/-1}
.private-funds-entry-grid>section{min-width:0;margin:0;padding:15px;border:1px solid var(--private-funds-line);border-radius:10px;background:#fff;box-shadow:0 4px 14px rgba(31,70,52,.04)}
.private-funds-entry-grid h2{margin:0 0 6px;color:var(--private-funds-ink);font-size:17px}
.private-funds-entry-grid form{display:grid;gap:9px;margin-top:11px}
.private-funds-preregister-form{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:12px}
.private-funds-entry-grid .private-funds-preregister-form{gap:10px}
.private-funds-preregister-form>label{min-width:0}
.private-funds-preregister-form input,.private-funds-preregister-form select,.private-funds-preregister-form textarea{width:100%}
.private-funds-preregister-form input,.private-funds-preregister-form select{height:40px}
.private-funds-preregister-remark,.private-funds-preregister-feedback,.private-funds-preregister-actions{grid-column:1/-1}
.private-funds-preregister-date input,.private-funds-receipt-account select{width:168px;height:40px}
.private-funds-preregister-submit{min-height:40px}
.private-funds-preregister-feedback{min-height:20px;color:#52675d;font-size:12px;line-height:1.45}
.private-funds-preregister-feedback[data-state="matched"]{color:#176247}
.private-funds-preregister-feedback[data-state="pending"]{color:#77590d}
.private-funds-preregister-feedback[data-state="match_failed"],.private-funds-preregister-feedback[data-state="save_failed"]{color:#b42318}
.private-funds-field-error{display:block;color:#b42318;font-size:11px}
.private-funds-preregister-form [hidden],.private-funds-daily-confirm [hidden],.private-funds-daily-batch [hidden]{display:none!important}
.private-funds-preregistration-tools,.private-funds-account-manager-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:8px}
.private-funds-preregistration-tools form{margin:0}
.private-funds-preregister-heading-row{display:flex;align-items:center;justify-content:flex-start;column-gap:16px;row-gap:8px;flex-wrap:wrap;margin:3px 0 0}
.private-funds-preregister-heading-row h2{margin:0;color:var(--private-funds-ink);font-size:18px}
.private-funds-preregister-heading-row .private-funds-preregister-tools{justify-content:flex-start;gap:8px;flex-wrap:nowrap}
.private-funds-preregister-copy{margin:4px 0 0;color:#718078;font-size:12px;line-height:1.45}
.private-funds-preregister-tools{flex-wrap:nowrap}
.private-funds-preregister-tools button{width:auto;min-width:0;height:36px;min-height:36px;padding:6px 12px;white-space:nowrap}
.private-funds-preregister-open{font-weight:800}
.private-funds-preregistration-status{min-height:18px;margin:7px 0 0;color:#52675d;font-size:12px;line-height:1.45}
.private-funds-preregistration-status:empty{display:none}
.private-funds-preregistration-status[data-state="matched"]{color:#176247}
.private-funds-preregistration-status[data-state="save_failed"]{color:#b42318}
.private-funds-modal-card.private-funds-preregister-modal-card{width:min(680px,calc(100vw - 32px));max-height:calc(100dvh - 48px)}
.private-funds-preregister-modal-card .private-funds-preregister-form{grid-template-columns:minmax(0,1fr) 180px;gap:12px;padding:18px}
.private-funds-preregister-modal-card .private-funds-preregister-date input{width:100%}
.private-funds-preregister-modal-card [data-private-funds-receipt-account],.private-funds-preregister-modal-card [data-private-funds-source-store]{grid-column:1;max-width:320px}
.private-funds-preregister-actions{display:flex;justify-content:flex-end;gap:8px}
.private-funds-preregister-actions button{width:auto;min-width:96px;min-height:40px}
body.private-funds-modal-open{overflow:hidden}
.private-funds-account-manager-open{width:auto;min-height:40px;white-space:nowrap}
.private-funds-finance-account-maintenance{display:grid;gap:10px;min-width:0;padding:14px 16px 16px;background:#fff}
.private-funds-account-manager-toolbar{justify-content:space-between}
.private-funds-account-manager-toolbar p{margin:0;color:#687a71;font-size:12px}
.private-funds-account-manager-toolbar button{width:auto;min-width:96px;min-height:40px}
.private-funds-finance-account-feedback{min-height:20px;margin:0;color:#52675d;font-size:12px;line-height:1.45}
.private-funds-finance-account-feedback[data-state="success"]{color:#176247}
.private-funds-finance-account-feedback[data-state="error"]{color:#b42318}
.private-funds-finance-account-list{display:grid;gap:6px;min-width:0}
.private-funds-finance-account-list-head{display:grid;grid-template-columns:minmax(180px,1fr) 180px 72px 72px 160px;gap:10px;padding:0 10px;color:#718078;font-size:11px;font-weight:800}
.private-funds-finance-account-list>article{min-width:0;border:1px solid #e1e9e4;border-radius:9px;background:#f8faf9;overflow:hidden}
.private-funds-finance-account-summary{display:grid;grid-template-columns:minmax(180px,1fr) 180px 72px 72px 160px;gap:10px;align-items:center;min-height:54px;padding:6px 10px}
.private-funds-finance-account-summary>strong,.private-funds-finance-account-summary>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.private-funds-finance-account-row-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.private-funds-finance-account-row-actions button{width:100%;min-height:40px}
@media (max-width:900px){
  .private-funds-finance-account-list-head{display:none}
  .private-funds-finance-account-summary{grid-template-columns:repeat(2,minmax(0,1fr));align-items:center}
  .private-funds-finance-account-row-actions{grid-column:1/-1}
}
.private-funds-form-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.private-funds-preview{display:grid;gap:10px;min-width:0;padding:14px;border:1px solid #cfe1d7;border-radius:10px;background:#f6fbf8}
.private-funds-preview[hidden]{display:none}
.private-funds-preview table{min-width:780px}
.private-funds-filter{display:grid;grid-template-columns:repeat(2,minmax(130px,180px)) minmax(220px,1fr) auto;gap:8px;align-items:end;margin:0;padding:11px;border:1px solid var(--private-funds-line);border-radius:9px;background:#f8faf9}
.private-funds-filter label{min-width:0}
.private-funds-filter .grow{min-width:0}
.private-funds-filter input,.private-funds-filter select,.private-funds-filter button{min-height:38px}
.private-funds-t1-note{display:flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid #d9e7df;border-radius:8px;color:#52675d;background:#f2f8f5;font-size:12px}
.private-funds-t1-note strong{color:#185e43}
.private-funds-daily-range-note{margin:0;padding:0 2px;color:#6c7d74;font-size:12px;line-height:1.5}
.private-funds-daily-equation{display:grid;grid-template-columns:minmax(120px,1fr) auto minmax(120px,1fr) auto minmax(150px,1fr) auto minmax(150px,1fr) auto minmax(120px,1fr);gap:7px;align-items:stretch;min-width:0}
.private-funds-daily-equation article{display:flex;min-width:0;padding:13px;border:1px solid var(--private-funds-line);border-radius:9px;background:#fff;flex-direction:column;justify-content:center}
.private-funds-daily-equation article.review-adjustment{border-color:#d9e4f5;background:#f7faff}
.private-funds-reviewed-amount{display:block;margin-top:4px;color:#52675d;font-weight:700;white-space:nowrap}
.private-funds-daily-equation article.pending{border-color:#ead9b4;background:#fffaf0}
.private-funds-daily-equation span{color:#687a71;font-size:10px;font-weight:700}
.private-funds-daily-equation strong{margin-top:5px;color:var(--private-funds-ink);font-size:20px;font-variant-numeric:tabular-nums}
.private-funds-daily-equation b{align-self:center;color:#8a9891;font-size:18px}
.private-funds-daily-actions{display:grid;grid-template-columns:max-content max-content max-content;align-items:center;justify-content:start;gap:8px;padding:11px;border:1px solid var(--private-funds-line);border-radius:9px;background:#fff}
.private-funds-daily-actions form{display:flex;align-items:end;gap:7px;margin:0}
.private-funds-daily-actions button{width:auto;min-height:40px;white-space:nowrap}
.private-funds-daily-batch{align-items:center!important}
.private-funds-batch-method{display:grid;grid-template-columns:max-content 116px;align-items:center;gap:7px;min-width:0;white-space:nowrap}
.private-funds-batch-method select{width:116px;min-height:40px}
.private-funds-batch-finance-account{display:grid;grid-template-columns:max-content 168px;align-items:center;gap:7px;min-width:0;white-space:nowrap}
.private-funds-batch-finance-account select{width:168px;min-height:40px}
.private-funds-daily-list{display:grid;gap:9px;min-width:0}
.private-funds-daily-card{display:flex;min-width:0;padding:12px;border:1px solid var(--private-funds-line);border-radius:10px;background:#fff;box-shadow:0 4px 14px rgba(31,70,52,.04)}
.private-funds-daily-check{display:flex;align-items:flex-start;flex:0 0 28px;padding-top:3px}
.private-funds-daily-grid{display:grid;grid-template-columns:minmax(180px,1.1fr) minmax(120px,.55fr) minmax(190px,.9fr) minmax(330px,1.6fr);gap:12px;align-items:start;min-width:0;width:100%}
.private-funds-daily-grid>div{min-width:0}
.private-funds-daily-grid span,.private-funds-source-account span{display:block;color:#718078;font-size:10px;font-weight:700}
.private-funds-daily-grid strong{display:block;margin-top:3px;overflow-wrap:anywhere;color:var(--private-funds-ink);font-size:13px}
.private-funds-daily-order>strong,.private-funds-daily-amount>strong{font-size:15px}
.private-funds-daily-order small,.private-funds-posted-state{display:block;margin-top:4px;color:#65776e;font-size:11px}
.private-funds-daily-state .private-funds-status{margin-top:5px}
.private-funds-single-confirm{display:grid;grid-template-columns:minmax(116px,.7fr) minmax(138px,1fr) minmax(132px,.8fr) 118px;gap:8px;align-items:end;margin:0}
.private-funds-single-confirm label{min-width:0}
.private-funds-daily-finance-account{grid-column:2;grid-row:1}
.private-funds-daily-receipt-date{grid-column:3;grid-row:1}
.private-funds-daily-receipt-date input{width:100%;min-width:0;height:40px}
.private-funds-daily-receipt-help{grid-column:3/5;grid-row:2;align-self:center;min-width:0;margin:0;color:#718078;font-size:10px;line-height:1.35}
.private-funds-source-account{grid-column:1/3;grid-row:2;min-height:38px;padding:6px 9px;border:1px solid #dce6e1;border-radius:7px;background:#f4f8f6}
.private-funds-source-account[data-private-funds-source-account]{display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden}
.private-funds-source-account[data-private-funds-source-account] span{flex:0 0 auto;white-space:nowrap}
.private-funds-source-account[data-private-funds-source-account] strong{display:block;min-width:0;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.private-funds-source-account[hidden],.private-funds-mixed-fields[hidden]{display:none}
.private-funds-mixed-fields{grid-column:1/4;grid-row:3;display:grid;grid-template-columns:repeat(2,minmax(110px,1fr));gap:7px}
.private-funds-confirm-submit{grid-column:4;grid-row:1;flex:0 0 118px;width:118px;height:40px;min-height:40px;white-space:nowrap}
.private-funds-confirm-feedback{grid-column:1/-1;min-width:0;min-height:32px;max-height:52px;margin:0;padding:7px 10px;overflow:hidden;border:1px solid #cfe5d9;border-radius:7px;background:#eef8f3;color:#176247;font-size:12px;line-height:18px;overflow-wrap:anywhere}
.private-funds-confirm-feedback[hidden]{display:none!important}
.private-funds-confirm-feedback[data-state="saving"],.private-funds-confirm-feedback[data-state="uncertain"],.private-funds-confirm-feedback[data-state="confirmed"]{border-color:#cfe5d9;background:#eef8f3;color:#176247}
.private-funds-confirm-feedback[data-state="conflict"]{border-color:#ead9a6;background:#fff8df;color:#77590d}
.private-funds-confirm-feedback[data-state="failed"]{border-color:#efc6c2;background:#fff1ef;color:#a3312b}
.private-funds-row-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.private-funds-row-actions form{margin:0}
.private-funds-ledger-filter{grid-template-columns:160px 145px 145px 160px minmax(130px,1fr) minmax(130px,1fr) minmax(150px,1fr) auto auto}
.private-funds-ledger-table{min-width:1380px;font-size:12px}
.private-funds-ledger-table th{white-space:nowrap}
.private-funds-ledger-table td{vertical-align:middle}
.private-funds-ledger-table small{display:block;margin-top:3px;color:#7a8981;font-size:10px}
.private-funds-ledger-table .money{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.private-funds-ledger-table .credit{color:#176247;font-weight:800}
.private-funds-ledger-table .debit{color:#b33b33;font-weight:800}
.private-funds-status{display:inline-flex;padding:4px 7px;border-radius:999px;color:#4f6258;background:#eef2f0;font-size:10px;font-weight:800;white-space:nowrap}
.private-funds-status.status-matched_auto,.private-funds-status.status-matched_manual{color:#176247;background:#e8f5ef}
.private-funds-status.status-invalid,.private-funds-status.status-conflict,.private-funds-status.status-amount_mismatch,.private-funds-status.status-duplicate_conflict,.private-funds-status.status-store_conflict{color:#9c332e;background:#fff0ee}
.private-funds-modal{position:fixed;z-index:95;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(20,35,28,.54);backdrop-filter:blur(3px)}
.private-funds-modal[hidden]{display:none!important}
.private-funds-modal-card{width:min(720px,calc(100vw - 32px));max-height:calc(100vh - 40px);overflow:auto;border:1px solid #d8e2dc;border-radius:13px;background:#fff;box-shadow:0 24px 60px rgba(18,44,31,.26)}
.private-funds-modal-card>header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 17px;border-bottom:1px solid #e1e8e4;background:rgba(255,255,255,.97)}
.private-funds-modal-card>header span{color:#3478b8;font-size:10px;font-weight:900;letter-spacing:.08em}
.private-funds-modal-card>header h2{margin:3px 0 0;color:var(--private-funds-ink);font-size:20px}
.private-funds-modal-card>header button{width:36px;min-height:36px;padding:0;color:#53645b;border:1px solid #d9e3dd;border-radius:8px;background:#f5f8f6;font-size:20px}
.private-funds-modal-card>form{display:grid;gap:11px;margin:0;padding:16px 17px}
.private-funds-modal-card.private-funds-account-manager-card{width:min(940px,calc(100vw - 48px));max-height:calc(100vh - 64px)}
.private-funds-finance-account-modal-card{width:min(560px,calc(100vw - 48px));max-height:calc(100vh - 64px)}
.private-funds-finance-account-modal-form{display:grid;gap:14px!important;padding:20px 22px!important}
.private-funds-finance-account-modal-fields{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:14px;align-items:end}
.private-funds-finance-account-modal-fields label{gap:6px}
.private-funds-finance-account-modal-fields input,.private-funds-finance-account-modal-fields select,.private-funds-finance-account-modal-status input{width:100%;height:40px}
.private-funds-finance-account-modal-fields .private-funds-finance-account-sort{grid-column:1;max-width:96px}
.private-funds-finance-account-modal-fields [data-private-funds-account-reason]{grid-column:2}
.private-funds-finance-account-modal-status{display:grid;gap:14px}
.private-funds-finance-account-modal-status[hidden],.private-funds-finance-account-modal-fields[hidden]{display:none!important}
.private-funds-finance-account-modal-status dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}
.private-funds-finance-account-modal-status dl div{min-width:0;padding:10px;border:1px solid #e1e9e4;border-radius:8px;background:#f7faf8}
.private-funds-finance-account-modal-status dt{color:#718078;font-size:11px}
.private-funds-finance-account-modal-status dd{margin:4px 0 0;color:#254636;font-size:13px;font-weight:800;overflow-wrap:anywhere}
.private-funds-finance-account-modal-feedback{min-height:18px;margin:0;color:#52675d;font-size:12px}
.private-funds-finance-account-modal-feedback[data-state="error"]{color:#b42318}
.private-funds-finance-account-modal-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:2px}
.private-funds-finance-account-modal-actions button{width:auto;min-width:96px;min-height:40px}
.private-funds-selected-store{margin:0;padding:9px 11px;border-radius:7px;color:#185e43;background:#eef8f3;font-weight:800}
.private-funds-review-amount{display:grid!important;grid-template-columns:auto 92px;align-items:center;gap:6px!important;color:#52675d;font-size:11px;font-weight:800}
.private-funds-review-amount input{width:92px;min-height:34px;padding:6px 8px}
.private-funds-correction-editor{display:grid;gap:14px;min-width:0;padding:17px;border:1px solid #cfe1d7;border-radius:11px;background:#fff;box-shadow:0 6px 20px rgba(31,70,52,.06)}
.private-funds-correction-editor>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.private-funds-correction-editor>header span{color:#3478b8;font-size:10px;font-weight:900;letter-spacing:.08em}
.private-funds-correction-editor>header h2{margin:3px 0 0;color:var(--private-funds-ink,#183c2e);font-size:20px}
.private-funds-correction-editor>header p{margin:5px 0 0;color:#677970;font-size:12px}
.private-funds-correction-readonly{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.private-funds-correction-readonly>div{min-width:0;padding:10px 11px;border:1px solid #e0e9e4;border-radius:8px;background:#f7faf8}
.private-funds-correction-readonly span{display:block;color:#718078;font-size:10px;font-weight:800}
.private-funds-correction-readonly strong{display:block;margin-top:4px;overflow:hidden;color:#264b3a;font-size:13px;text-overflow:ellipsis;white-space:nowrap}
.private-funds-correction-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;min-width:0;margin:0}
.private-funds-correction-form>label{min-width:0}
.private-funds-correction-form input,.private-funds-correction-form select,.private-funds-correction-form textarea{width:100%}
.private-funds-correction-form input,.private-funds-correction-form select{min-height:40px}
.private-funds-correction-finance-account[hidden],.private-funds-correction-split label[hidden]{display:none!important}
.private-funds-correction-split{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.private-funds-correction-remark,.private-funds-correction-reason{grid-column:1/-1}
.private-funds-correction-feedback{grid-column:1/-1;min-height:20px;margin:0;color:#52675d;font-size:12px;line-height:1.5}
.private-funds-correction-feedback[data-state="success"]{color:#176247}
.private-funds-correction-feedback[data-state="validation"],.private-funds-correction-feedback[data-state="stale"],.private-funds-correction-feedback[data-state="error"]{color:#b42318}
.private-funds-correction-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:8px}
.private-funds-correction-actions button{width:auto;min-width:128px;min-height:40px}
.private-funds-correction-action{display:inline-flex;align-items:center;justify-content:center;color:#176247!important;border-color:#c9e2d6!important;background:#edf7f2!important;font-weight:800}

.ledger-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:nowrap}
.ledger-finance-account-open{width:auto;min-height:40px;padding-inline:14px;white-space:nowrap}
body.ledger-finance-account-modal-open{overflow:hidden}
.ledger-finance-account-manager-card{width:min(820px,calc(100vw - 48px));max-height:calc(100vh - 64px);overflow:auto}
.ledger-finance-account-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-bottom:1px solid #e2e9e5}
.ledger-finance-account-toolbar p{min-height:18px;margin:0;color:#52675d;font-size:12px}
.ledger-finance-account-toolbar button{width:auto;min-width:108px;min-height:40px;white-space:nowrap}
.ledger-finance-account-list{display:grid;gap:6px;padding:12px 18px 18px}
.ledger-finance-account-list article{display:grid;grid-template-columns:minmax(170px,1fr) 120px 110px 60px 150px;align-items:center;gap:10px;min-height:50px;padding:5px 9px;border:1px solid #e1e9e4;border-radius:8px;background:#f8faf9}
.ledger-finance-account-list article>strong,.ledger-finance-account-list article>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ledger-finance-account-list article>div{display:flex;justify-content:flex-end;gap:6px;white-space:nowrap}
.ledger-finance-account-list article button{width:auto;min-width:66px;min-height:36px}
.ledger-finance-account-editor-card{width:min(540px,calc(100vw - 48px));max-height:calc(100vh - 64px);overflow:auto}
.ledger-finance-account-editor form{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:12px;padding:18px}
.ledger-finance-account-editor form>label:first-of-type{grid-column:1}
.ledger-finance-account-editor form fieldset{grid-column:1/-1;display:flex;align-items:center;gap:18px;margin:0;padding:10px 12px;border:1px solid #dfe8e3;border-radius:8px}
.ledger-finance-account-editor form fieldset label{display:flex;align-items:center;gap:7px}
.ledger-finance-account-editor form fieldset input{width:auto}
.ledger-finance-account-editor form>label:last-of-type,.ledger-finance-account-editor form>p,.ledger-finance-account-editor-actions{grid-column:1/-1}
.ledger-finance-account-editor form input,.ledger-finance-account-editor form select{width:100%;min-height:40px}
.ledger-finance-account-editor form>p{min-height:18px;margin:0;color:#b42318;font-size:12px}
.ledger-finance-account-editor-actions{display:flex;justify-content:flex-end;gap:8px}
.ledger-finance-account-editor-actions button{width:auto;min-width:92px;min-height:40px}
.private-funds-preregister-mixed{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.private-funds-preregister-mixed[hidden]{display:none!important}
.private-funds-preregister-mixed input{width:100%}
.private-funds-row-actions{display:flex!important;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:nowrap!important;white-space:nowrap}
.private-funds-row-actions form{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;white-space:nowrap}
.private-funds-review-amount{display:flex;align-items:center;gap:5px;white-space:nowrap}
.private-funds-review-amount input{width:96px}
.private-funds-daily-filter{grid-template-columns:repeat(4,minmax(130px,180px)) minmax(180px,260px) max-content}
.private-funds-daily-query-status{grid-column:1/-1;min-width:0;color:#61756b;font-size:12px}
.private-funds-daily-query-status:empty{display:none}
.private-funds-daily-query-status[data-state="error"]{color:#b42318}
@media (min-width:761px){.private-funds-daily-filter>button{justify-self:start;width:auto;min-width:72px;padding-inline:16px;white-space:nowrap}}
.private-funds-daily-state{align-content:center}
.private-funds-daily-state>strong{display:inline-flex;align-items:center;max-width:100%;white-space:nowrap}
.private-funds-daily-confirm{display:flex;align-items:end;justify-content:flex-end;gap:8px;min-width:0}
.private-funds-daily-confirm .private-funds-correction-action{order:3;margin-left:auto;white-space:nowrap}
.private-funds-daily-resolved-store{grid-column:1/-1}
.private-funds-daily-resolved-store select{width:100%}
.private-funds-daily-card.is-readonly{border-color:#d7e1dc;background:#f9fbfa;box-shadow:none}
.private-funds-daily-readonly{display:flex;align-items:center;justify-content:flex-end;min-height:40px}
.private-funds-account-equation{display:grid;gap:8px;min-width:0;padding:10px;border:1px solid #dfe9e4;border-radius:8px;background:#f8fbf9}
.private-funds-account-formula{margin:0;color:#526b60;font-size:11px;font-weight:800;line-height:1.45}
.private-funds-account-components{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0}
.private-funds-account-formula-warning{margin:0;color:#b42318;font-size:11px;font-weight:800;line-height:1.45}
.private-funds-transfer-summary{display:grid;grid-template-columns:minmax(72px,1fr) auto minmax(72px,1fr) auto minmax(72px,1fr);gap:10px;align-items:stretch;min-width:0}
.private-funds-transfer-summary>div{display:grid;gap:4px;min-width:0;padding:9px 10px;border:1px solid #dce7e1;border-radius:8px;background:#f6faf8}
.private-funds-transfer-summary>div>span{color:#687a71;font-size:11px;font-weight:700}
.private-funds-transfer-summary>div>strong{overflow:hidden;color:#185e43;font-size:16px;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}
.private-funds-transfer-summary>[data-private-funds-transfer-operator]{align-self:center;color:#718078;font-size:17px;font-weight:800}
.private-funds-transfer-ledger-note{margin:0;padding:9px 11px;border-left:3px solid #8fb9a5;border-radius:6px;background:#f5f9f7;color:#5d7067;font-size:12px;line-height:1.5}
.private-funds-ledger-table th:last-child,.private-funds-ledger-table td:last-child{position:sticky;right:0;width:104px;min-width:104px;max-width:104px;box-sizing:border-box;border-left:1px solid #dce6e1;box-shadow:-8px 0 12px -12px rgba(30,62,48,.45)}
.private-funds-ledger-table th:nth-last-child(2),.private-funds-ledger-table td:nth-last-child(2){padding-right:112px}
.private-funds-ledger-table th:last-child{z-index:3;background:#f2f7f4}
.private-funds-ledger-table td:last-child{z-index:2;background:#fff}
.private-funds-ledger-table td:last-child form{display:flex;margin:0}
.private-funds-ledger-table td:last-child button{width:auto;min-width:72px;white-space:nowrap}

@media (max-width:1100px){
  .private-funds-summary{grid-template-columns:repeat(3,minmax(0,1fr))}
  .private-funds-summary article:nth-child(3){border-right:0}
  .private-funds-account-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .private-funds-entry-grid{grid-template-columns:1fr}
  .private-funds-ledger-filter{grid-template-columns:repeat(4,minmax(130px,1fr))}
  .private-funds-daily-grid{grid-template-columns:minmax(170px,1fr) minmax(120px,.65fr) minmax(180px,1fr)}
  .private-funds-daily-confirm{grid-column:1/-1}
}

@media (max-width:700px){
  .ledger-head-actions{align-items:stretch;flex-direction:column}
  .ledger-finance-account-manager,.ledger-finance-account-editor{align-items:flex-end;padding:0}
  .ledger-finance-account-manager-card,.ledger-finance-account-editor-card{width:100%;max-height:calc(100dvh - 10px);border-radius:15px 15px 0 0}
  .ledger-finance-account-list article{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ledger-finance-account-list article>div{grid-column:1/-1;justify-content:stretch}
  .ledger-finance-account-list article button{flex:1}
  .ledger-finance-account-editor form{grid-template-columns:1fr}
  .ledger-finance-account-editor form>*{grid-column:1!important}
  .private-funds-page{max-width:100%;overflow-x:hidden}
  .private-funds-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .private-funds-summary,.private-funds-account-grid{grid-template-columns:1fr}
  .private-funds-summary article{min-height:72px;border-right:0;border-bottom:1px solid #e5ece8}
  .private-funds-summary article:last-child{border-bottom:0}
  .private-funds-section-head{align-items:stretch;flex-direction:column}
  .private-funds-preregister-tools{align-self:flex-start;max-width:100%;flex-wrap:wrap}
  .private-funds-form-pair,.private-funds-filter,.private-funds-ledger-filter{grid-template-columns:1fr}
  .private-funds-daily-equation{grid-template-columns:1fr}
  .private-funds-daily-equation b{display:none}
  .private-funds-daily-actions{grid-template-columns:1fr}
  .private-funds-daily-actions,.private-funds-daily-actions form{align-items:stretch;flex-direction:column}
  .private-funds-daily-grid,.private-funds-single-confirm,.private-funds-mixed-fields,.private-funds-preregister-mixed{grid-template-columns:1fr}
  .private-funds-source-account,.private-funds-mixed-fields,.private-funds-daily-receipt-date,.private-funds-daily-receipt-help,.private-funds-confirm-submit{grid-column:auto;grid-row:auto}
  .private-funds-daily-confirm{grid-column:auto}
  .private-funds-page .table-wrap{max-width:100%;overflow-x:auto}
  .private-funds-modal{align-items:flex-end;padding:0}
  .private-funds-modal-card{width:100%;max-height:calc(100dvh - 10px);border-radius:15px 15px 0 0}
  .private-funds-preregister-modal{align-items:center;padding:8px}
  .private-funds-preregister-modal-card{width:100%;max-height:calc(100dvh - 16px);border-radius:13px}
  .private-funds-preregister-modal-card .private-funds-preregister-form{grid-template-columns:1fr;padding:16px}
  .private-funds-preregister-modal-card .private-funds-preregister-form>*{grid-column:1;max-width:none}
  .private-funds-finance-account-modal-form{padding:16px!important}
  .private-funds-finance-account-modal-fields{grid-template-columns:1fr}
  .private-funds-finance-account-modal-fields .private-funds-finance-account-sort,.private-funds-finance-account-modal-fields [data-private-funds-account-reason]{grid-column:auto;max-width:none}
  .private-funds-finance-account-modal-status dl{grid-template-columns:1fr}
  .private-funds-correction-readonly{grid-template-columns:repeat(2,minmax(0,1fr))}
  .private-funds-correction-form,.private-funds-correction-split{grid-template-columns:1fr}
  .private-funds-correction-split{grid-column:1}
  .private-funds-correction-remark,.private-funds-correction-reason,.private-funds-correction-feedback,.private-funds-correction-actions{grid-column:1}
}

/* Desktop scheduler controls shared by warehouse, product sync, and purchase fetch. */
.data-scheduler{display:grid;grid-template-columns:1fr;gap:0;margin-top:14px}
.data-scheduler-controls{display:grid;grid-template-columns:1fr;gap:10px;margin:0}
.data-scheduler-toggle,.data-scheduler-field{min-width:0;min-height:56px;margin:0;padding:10px 12px;border:1px solid #d5e1da;border-radius:8px;background:#fff}
.data-scheduler-toggle{display:flex;align-items:center;gap:8px}
.data-scheduler-toggle input{flex:0 0 auto;width:18px;min-height:18px;margin:0;padding:0}
.data-scheduler-field{display:block;color:#244c3d;font-weight:700}
.data-scheduler-field small{display:block;margin-top:5px;color:#7a8981;font-weight:400}
.data-scheduler .jst-time-picker{grid-template-columns:minmax(0,110px) auto minmax(0,110px);justify-content:start;margin-top:6px}
.data-scheduler .jst-time-picker select,.data-scheduler-controls--interval input[type="number"]{height:40px;min-height:40px}
.data-scheduler-controls--interval input[type="number"]{width:min(160px,100%);margin-top:6px}
.data-scheduler-actions{display:flex;justify-content:flex-end;margin:10px 0 12px}
.data-scheduler-save{width:150px!important;min-width:150px;min-height:40px!important;margin:0!important;white-space:nowrap}
.data-scheduler-status{display:grid;grid-template-columns:1fr;grid-auto-rows:1fr;align-items:stretch;gap:8px}
.data-scheduler-status>div{min-width:0;min-height:64px}
.dashboard-page .dashboard-actual-cost-link{margin-left:8px;color:#2f6f56;border:1px solid #cbdad2;background:#fff;box-shadow:none}
.dashboard-page .dashboard-actual-cost-link:hover{background:#f3f8f5}

@media (min-width:721px){
  .data-scheduler-controls{grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:12px;align-items:stretch}
  .data-scheduler-toggle,.data-scheduler-field{min-height:84px}
  .data-scheduler-status{grid-template-columns:repeat(2,minmax(0,1fr))}
  .data-scheduler-status>div{min-height:72px}
}

.featured-products-page{display:grid;gap:16px;max-width:100%;overflow-x:hidden}
.featured-products-head{align-items:center}
.featured-products-data-date{display:grid;gap:5px;min-width:190px;padding:14px 16px;border:1px solid #d9e6df;border-radius:10px;background:#f6faf8;text-align:right}
.featured-products-data-date span{color:#687b71;font-size:12px}
.featured-products-data-date strong{color:#194f3b;font-size:18px}
.featured-products-range-form,.featured-products-guide-filter{display:flex;align-items:end;gap:10px;flex-wrap:wrap;padding:14px 16px;border:1px solid #dfe8e3;border-radius:10px;background:#fff}
.featured-products-guide-filter{padding:12px 14px;border-color:#d5e5dd;background:#f8fbf9}
.featured-products-range-form{border-left:4px solid #77aa91}
.featured-products-range-form label,.featured-products-guide-filter label{display:grid;gap:5px;min-width:150px;color:#36584a;font-size:12px;font-weight:700}
.featured-products-range-form input,.featured-products-range-form select,.featured-products-guide-filter input,.featured-products-guide-filter select{min-height:40px}
.featured-products-range-form button,.featured-products-guide-filter button{width:auto;min-width:88px;min-height:40px}
.featured-products-rankings,.featured-products-guides{display:grid;gap:14px;padding:18px;border:1px solid #dfe8e3;border-radius:12px;background:#fff;box-shadow:0 8px 24px rgba(28,72,54,.045)}
.featured-products-guides{border-color:#cfe0d7;background:linear-gradient(180deg,#f6fbf8 0,#fff 150px)}
.featured-products-section-head{display:flex;align-items:end;justify-content:space-between;gap:18px}
.featured-products-section-head h2,.featured-products-section-head p{margin:0}
.featured-products-section-head>p{color:#687b71;font-size:13px;text-align:right}
.featured-products-ranking-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.featured-products-ranking-card{min-width:0;border:1px solid #e1e9e4;border-radius:10px;background:#fbfdfc;overflow:hidden}
.featured-products-ranking-title{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 14px 0}
.featured-products-ranking-title h3{margin:0;color:#234f3e;font-size:16px}
.featured-products-ranking-title span,.featured-products-ranking-card>p{color:#718178;font-size:12px}
.featured-products-ranking-card>p{margin:7px 14px 12px}
.featured-products-ranking-title button{width:auto;min-height:32px}
.featured-products-table-wrap{max-width:100%;overflow:auto;border-top:1px solid #e5ece8}
.featured-products-table-wrap table{width:100%;min-width:430px;margin:0;border:0;background:#fff}
.featured-products-ranking-card:nth-child(2) .featured-products-table-wrap table{min-width:720px}
.featured-products-table-wrap th,.featured-products-table-wrap td{padding:9px 10px;font-size:12px;vertical-align:middle}
.featured-products-ranking-card:first-child th:nth-child(n+3),.featured-products-ranking-card:first-child td:nth-child(n+3),.featured-products-ranking-card:nth-child(2) th:nth-child(5),.featured-products-ranking-card:nth-child(2) td:nth-child(5),.featured-products-ranking-card:nth-child(2) th:nth-child(6),.featured-products-ranking-card:nth-child(2) td:nth-child(6){text-align:right;font-variant-numeric:tabular-nums}
.featured-products-brand-button{width:auto;min-height:30px;padding:3px 8px;border:0;background:transparent;color:#176247;text-align:left;font-weight:800;box-shadow:none}
.featured-products-brand-button:hover{background:#eaf5ef}
.featured-products-guide-list{display:grid;gap:12px}
.featured-products-empty{padding:28px;border:1px dashed #cbdad2;border-radius:10px;color:#718178;text-align:center}
.featured-product-card{display:grid;grid-template-columns:minmax(200px,.8fr) minmax(250px,1fr) minmax(340px,1.45fr);gap:8px;align-items:start;padding:10px;border:1px solid #d4e3db;border-radius:12px;background:#fff;box-shadow:0 5px 16px rgba(30,77,58,.05)}
.featured-product-identity{min-width:0;padding-right:12px;border-right:1px solid #e3ece7}
.featured-product-identity h3{margin:4px 0 8px;color:#173f30;font-size:16px;overflow-wrap:anywhere}
.featured-product-status{display:inline-flex;padding:4px 9px;border-radius:999px;background:#e2f4ea;color:#176247;font-size:12px;font-weight:800}
.featured-product-status.paused{background:#f1f2f1;color:#66736d}
.featured-product-identity dl{display:grid;gap:7px;margin:0}
.featured-product-identity dl div{display:grid;grid-template-columns:42px minmax(0,1fr);gap:8px}
.featured-product-identity dt{color:#74837b;font-size:12px}
.featured-product-identity dd{margin:0;color:#3d564b;font-size:13px;overflow-wrap:anywhere}
.featured-product-data{display:grid;gap:6px;min-width:0}
.featured-product-metric,.featured-product-controls>div,.featured-product-sales{padding:7px 10px;border:1px solid #e0e9e4;border-radius:8px;background:#fff}
.featured-product-metric,.featured-product-controls>div,.featured-product-sales{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:36px}
.featured-product-metric span,.featured-product-controls span,.featured-product-sales>span{color:#718178;font-size:12px}
.featured-product-metric strong,.featured-product-controls strong{color:#204d3b;font-size:13px;text-align:right}
.featured-product-controls{display:grid;gap:7px}
.featured-product-sales{border-color:#bcd9ca;background:#edf7f2}
.featured-product-sales>strong{color:#116044;font-size:20px;line-height:1;text-align:right;font-variant-numeric:tabular-nums}
.featured-product-guide-copy{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;min-width:0}
.featured-product-guide-copy>div{min-height:100%;padding:7px 9px;border-left:3px solid #7bb49a;border-radius:0 8px 8px 0;background:#f9fcfa}
.featured-product-guide-copy h4{margin:0 0 3px;color:#244f3e;font-size:13px}
.featured-product-guide-copy p,.featured-product-guide-copy ul{margin:0;color:#3f574d;font-size:13px;line-height:1.35;overflow-wrap:anywhere}
.featured-product-guide-copy ul{padding-left:18px}
.featured-product-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;padding-top:0;border-top:1px solid #e4ece8}
.featured-product-actions form{margin:0}
.featured-product-actions button{width:auto;min-width:78px;min-height:32px}
body.featured-product-modal-open{overflow:hidden}
.featured-product-modal{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:24px;background:rgba(16,40,31,.52)}
.featured-product-modal[hidden]{display:none!important}
.featured-product-modal-card{width:min(760px,calc(100vw - 48px));max-height:calc(100vh - 56px);overflow:auto;border-radius:14px;background:#fff;box-shadow:0 24px 70px rgba(10,35,25,.3)}
.featured-product-modal-card [hidden]{display:none!important}
.featured-product-modal-card>header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid #e1e9e4;background:#fff}
.featured-product-modal-card>header h2{margin:0;color:#173f30;font-size:20px}
.featured-product-modal-card>header button{width:auto}
.featured-product-modal-card>section{display:grid;gap:12px;padding:18px}
.featured-product-candidate-search{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px}
.featured-product-candidate-search label{display:grid;gap:5px}
.featured-product-candidate-search input{min-height:42px}
.featured-product-candidate-search button{width:auto;min-width:88px;min-height:42px}
.featured-product-candidate-state{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:62px;padding:14px;border:1px dashed #cbdad2;border-radius:8px;color:#65776e}
.featured-product-candidate-state.error{color:#a7372c;border-color:#e5bcb7;background:#fff8f7}
.featured-product-candidate-list{display:grid;gap:8px}
.featured-product-candidate{display:grid;width:100%;min-height:0;padding:11px 12px;border:1px solid #dce7e1;border-radius:8px;background:#fff;color:#254d3d;text-align:left;box-shadow:none}
.featured-product-candidate:hover{border-color:#83b99f;background:#f3faf6}
.featured-product-candidate span,.featured-product-candidate small{margin-top:4px;color:#6c7d74;font-weight:400}
.featured-product-candidate-pager{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:12px}
.featured-product-candidate-pager button{width:auto}
.featured-product-selected{padding:12px;border-radius:8px;background:#edf7f2;color:#285642;font-size:13px;line-height:1.6}
.featured-product-modal-card [data-featured-editor-form]{display:grid;gap:12px}
.featured-product-modal-card [data-featured-editor-form] label{display:grid;gap:5px;color:#36584a;font-weight:700}
.featured-product-modal-card textarea{min-height:120px;resize:vertical}
.featured-product-editor-error{min-height:18px;margin:0;color:#b42318;font-size:12px}
.featured-product-editor-actions{display:flex;justify-content:flex-end;gap:8px}
.featured-product-editor-actions button{width:auto;min-width:110px}
@media (max-width:860px){
  .featured-products-ranking-grid,.featured-product-card{grid-template-columns:1fr}
  .featured-products-section-head,.featured-products-head{align-items:stretch;flex-direction:column}
  .featured-products-section-head>p,.featured-products-data-date{text-align:left}
  .featured-product-identity{padding-right:0;padding-bottom:12px;border-right:0;border-bottom:1px solid #e3ece7}
  .featured-product-guide-copy{grid-template-columns:1fr}
  .featured-product-actions{grid-column:1}
  .featured-products-page{max-width:100%;overflow-x:hidden}
  .featured-product-modal{place-items:end center;padding:0}
  .featured-product-modal-card{width:100%;max-height:calc(100dvh - 10px);border-radius:14px 14px 0 0}
}

.featured-products-page .featured-product-sensory{
  grid-column:3;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  min-width:0
}
.featured-products-page .featured-product-sensory>div{
  min-width:0;
  padding:8px 10px;
  border:1px solid #d9e8df;
  border-radius:9px;
  background:#f4faf7
}
.featured-products-page .featured-product-sensory span{
  display:block;
  margin-bottom:5px;
  color:#5d766a;
  font-size:11px;
  font-weight:800
}
.featured-products-page .featured-product-sensory p{
  margin:0;
  color:#345448;
  font-size:13px;
  line-height:1.5;
  overflow-wrap:anywhere
}
.featured-products-page .featured-product-guide-copy,
.featured-products-page .featured-product-more{
  grid-column:1/-1
}
.featured-products-page .featured-product-more{
  border:1px solid #d8e5de;
  border-radius:8px;
  background:#fbfdfc
}
.featured-products-page .featured-product-more summary{
  padding:6px 8px;
  color:#285642;
  font-size:12px;
  font-weight:800;
  cursor:pointer
}
.featured-products-page .featured-product-detail-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-auto-flow:dense;
  gap:4px;
  padding:6px 8px;
  border-top:1px solid #e4ece8
}
.featured-products-page .featured-product-more:not([open]) .featured-product-detail-grid{
  display:none
}
.featured-products-page .featured-product-detail-item{
  display:flex;
  align-items:baseline;
  gap:4px;
  min-width:0;
  padding:3px 5px;
  border-radius:6px;
  background:#f4f8f6
}
.featured-products-page .featured-product-detail-item.is-wide{
  grid-column:span 2
}
.featured-products-page .featured-product-detail-item.is-full{
  grid-column:1/-1
}
.featured-products-page .featured-product-detail-item strong{
  flex:0 0 auto;
  color:#60766b;
  font-size:10px
}
.featured-products-page .featured-product-detail-item p{
  margin:0;
  color:#345448;
  font-size:12px;
  line-height:1.35;
  overflow-wrap:anywhere
}
.featured-products-page .featured-product-actions [data-featured-product-remove]{
  border-color:#e3b8b3;
  color:#a4362c;
  background:#fff9f8
}
.featured-products-page .featured-product-order-mode{
  display:grid;
  gap:12px;
  padding:14px;
  border:1px solid #bcd8ca;
  border-radius:10px;
  background:#f5faf7
}
.featured-products-page .featured-product-order-mode[hidden]{display:none!important}
.featured-products-page .featured-product-order-list{display:grid;gap:8px}
.featured-products-page .featured-product-order-modal-card{
  width:min(900px,calc(100vw - 48px))
}
.featured-products-page .featured-product-order-modal .featured-product-order-mode{
  border:0;
  border-radius:0;
  background:#fff
}
.featured-products-page .featured-product-order-modal .featured-product-order-list{
  max-height:min(62vh,560px);
  overflow:auto;
  padding-right:4px
}
.featured-products-page .featured-product-order-item{
  display:grid;
  grid-template-columns:auto minmax(150px,.85fr) minmax(190px,1fr) auto auto;
  align-items:center;
  gap:10px;
  min-width:0;
  padding:10px 12px;
  border:1px solid #d6e4dc;
  border-radius:8px;
  background:#fff
}
.featured-products-page .featured-product-order-item:focus{
  outline:3px solid rgba(40,118,83,.2);
  border-color:#6fa78c
}
.featured-products-page .featured-product-order-item strong,
.featured-products-page .featured-product-order-item small{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap
}
.featured-products-page .featured-product-order-item small{color:#6b7d73}
.featured-products-page .featured-product-order-item button{
  width:auto;
  min-width:62px
}
.featured-products-page .featured-product-order-error{
  margin:0;
  color:#b42318
}
.featured-products-page .featured-product-modal-card fieldset{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  min-width:0;
  margin:0;
  padding:13px;
  border:1px solid #dce7e1;
  border-radius:9px
}
.featured-products-page .featured-product-modal-card legend{
  padding:0 7px;
  color:#285642;
  font-size:13px;
  font-weight:800
}
.featured-products-page .featured-product-modal-card fieldset label{min-width:0}
.featured-products-page .featured-product-modal-card fieldset textarea{min-height:92px}
@media (max-width:860px){
  .featured-products-page .featured-product-sensory,
  .featured-products-page .featured-product-guide-copy,
  .featured-products-page .featured-product-more{
    grid-column:1
  }
  .featured-products-page .featured-product-sensory,
  .featured-products-page .featured-product-detail-grid,
  .featured-products-page .featured-product-modal-card fieldset{
    grid-template-columns:1fr
  }
  .featured-products-page .featured-product-detail-item.is-wide,
  .featured-products-page .featured-product-detail-item.is-full{
    grid-column:1
  }
  .featured-products-page .featured-product-order-item{
    grid-template-columns:auto minmax(0,1fr) auto auto
  }
  .featured-products-page .featured-product-order-item small{
    grid-column:2/-1;
    grid-row:2
  }
}
@media (max-width:420px){
  .featured-products-page .featured-product-card,
  .featured-products-page .featured-products-guides,
  .featured-products-page .featured-products-rankings{min-width:0}
  .featured-products-page .featured-product-order-item{
    grid-template-columns:auto minmax(0,1fr)
  }
  .featured-products-page .featured-product-order-item button{
    grid-column:auto;
    width:100%
  }
}

.private-funds-confirmed-anomalies{display:grid;gap:10px;max-width:100%;margin:0 0 14px;padding:13px 14px;border:1px solid #efb9b3;border-left:4px solid #c3382b;border-radius:10px;background:#fff6f5;color:#6d241e}
.private-funds-confirmed-anomalies>header>div{display:flex;align-items:baseline;gap:10px;min-width:0;flex-wrap:wrap}
.private-funds-confirmed-anomalies>header strong{font-size:16px;color:#9f241a}
.private-funds-confirmed-anomalies>header span,.private-funds-confirmed-anomalies>small{color:#86504b;font-size:12px}
.private-funds-confirmed-anomalies ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}
.private-funds-source-anomaly-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;min-width:0;padding:10px 11px;border:1px solid #f0d1ce;border-radius:8px;background:#fff}
.private-funds-confirmed-anomalies li>div{min-width:0;display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.private-funds-confirmed-anomalies li p{grid-column:1/-1;min-width:0;margin:0;color:#5d3a36;font-size:12px;line-height:1.55;overflow-wrap:anywhere}
.private-funds-confirmed-anomalies li>a{align-self:start;color:#9f241a;font-size:12px;font-weight:700;white-space:nowrap}
.private-funds-source-anomaly-badge{max-width:100%;padding:2px 7px;border-radius:999px;background:#fde0dd;color:#a52b20;font-size:11px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.private-funds-source-anomaly-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}
.private-funds-source-anomaly-actions form{margin:0}
.private-funds-source-anomaly-actions button{min-width:72px}
.private-funds-source-anomaly-strong{display:block;margin-top:5px;color:#b42318!important;font-size:15px!important;font-weight:700!important;line-height:1.45;overflow-wrap:anywhere}
@media (max-width:720px){
  .private-funds-confirmed-anomalies ul{grid-template-columns:1fr}
  .private-funds-source-anomaly-item{grid-template-columns:minmax(0,1fr) auto}
}

.expense-page{min-width:0;max-width:100%;overflow-x:hidden}
.expense-page .section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.expense-page .section-heading h2{margin:2px 0 0;color:#173f30;font-size:20px}
.expense-page .section-heading .eyebrow{margin:0;color:#39765c;font-size:10px;font-weight:900;letter-spacing:.13em}
.expense-scope-note{display:flex;align-items:flex-start;gap:7px;max-width:100%;margin:0 0 14px;padding:11px 14px;border:1px solid #dfcda3;border-left:4px solid #c68a25;border-radius:8px;background:#fffaf0;color:#665230;font-size:13px;line-height:1.55}
.expense-scope-note strong{flex:0 0 auto;color:#725019}
.expense-scope-note span{color:#7c5e2f}
.expense-records-card{min-width:0}
.expense-records-heading{align-items:center}
.expense-records-title-group{display:flex;align-items:center;gap:12px;min-width:0}
.expense-records-add{flex:0 0 auto;width:auto;min-width:128px;height:40px;min-height:40px;padding:7px 14px;font-size:14px;white-space:nowrap}
.expense-summary{margin-left:auto}
.expense-dialog-open{scrollbar-gutter:stable}
html.expense-dialog-open,body.expense-dialog-open{overflow:hidden}
.expense-entry-dialog{width:min(880px,calc(100vw - 48px));max-width:none;max-height:calc(100dvh - 48px);padding:0;overflow:hidden;box-sizing:border-box;border:1px solid #d4dfd9;border-radius:14px;background:#fff;box-shadow:0 24px 70px rgba(18,45,34,.28)}
.expense-entry-dialog::backdrop{background:rgba(16,38,29,.5);backdrop-filter:blur(2px)}
.expense-entry-dialog-form{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-width:0;max-height:inherit;overflow:hidden}
.expense-dialog-header{display:flex;align-items:center;min-height:64px;padding:14px 18px;box-sizing:border-box;border-bottom:1px solid #e4ebe7}
.expense-dialog-header>div{min-width:0}
.expense-dialog-header .eyebrow{margin:0 0 3px;color:#39765c;font-size:10px;font-weight:900;letter-spacing:.13em}
.expense-dialog-header h2{margin:0;color:#173f30;font-size:20px;line-height:1.2}
.expense-dialog-close{flex:0 0 40px;width:40px;height:40px;min-height:40px;margin-left:auto}
.expense-dialog-body{min-height:0;padding:16px 18px;overflow-y:auto;overflow-x:hidden;box-sizing:border-box;overscroll-behavior:contain}
.expense-dialog-footer{display:flex;align-items:center;justify-content:flex-end;min-height:64px;padding:12px 18px;box-sizing:border-box;border-top:1px solid #e4ebe7;background:#fbfcfb}
.expense-dialog-actions,.expense-dialog-discard-prompt{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}
.expense-dialog-actions[hidden],.expense-dialog-discard-prompt[hidden]{display:none}
.expense-dialog-actions [data-expense-entry-cancel]{width:80px;min-width:80px;height:40px;min-height:40px}
.expense-dialog-actions button[type="submit"]{width:96px;min-width:96px;height:40px;min-height:40px}
.expense-dialog-discard-prompt>span{margin-right:4px;color:#8b4a22;font-size:13px;font-weight:800;white-space:nowrap}
.expense-dialog-discard-prompt button{width:auto;min-width:88px;height:40px;min-height:40px;padding:6px 10px;white-space:nowrap}
.expense-dialog-fields-scroll{max-width:100%;overflow-x:auto;overflow-y:visible;overscroll-behavior-inline:contain}
.expense-dialog-fields-scroll:focus-visible{outline:2px solid #2f8062;outline-offset:2px}
.expense-entry-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:14px;row-gap:12px;min-width:0}
.expense-entry-fields>label{display:grid;grid-template-rows:18px 40px 30px;align-content:start;row-gap:4px;height:96px;min-width:0;font-size:13px;font-weight:700}
.expense-entry-fields input,.expense-entry-fields select{min-width:0;height:40px;min-height:40px;font-size:14px}
.expense-entry-fields small{grid-row:3;height:30px;min-height:30px;overflow:hidden;font-size:12px;font-weight:400;line-height:16px}
.expense-entry-dialog>.date-range-picker{position:fixed;z-index:3}
.expense-entry-error{grid-column:1/-1;margin:0;padding:9px 11px;border:1px solid #e1aaa3;border-radius:7px;background:#fff4f2;color:#8c3026;font-size:13px}
.expense-entry-error[hidden]{display:none}
.expense-field-date,.expense-field-store,.expense-field-channel,.expense-field-category,.expense-field-amount,.expense-field-payment-mode,.expense-field-payment-account,.expense-remark-field{min-width:0}
.expense-money-input{display:grid;grid-template-columns:34px minmax(0,1fr);min-width:0;height:40px}
.expense-money-input>span{display:flex;align-items:center;justify-content:center;color:#446258;border:1px solid #cbd4dc;border-right:0;border-radius:6px 0 0 6px;background:#f3f7f5;font-weight:800}
.expense-money-input input{border-radius:0 6px 6px 0}
@media(max-width:600px){html.expense-dialog-open,body.expense-dialog-open{scrollbar-gutter:auto}.expense-entry-dialog{width:calc(100vw - 20px);inline-size:calc(100dvw - 20px);max-height:calc(100dvh - 20px)}.expense-entry-fields{min-width:520px}}
.expense-filter{display:grid;grid-template-columns:130px 130px 220px 150px 180px;grid-template-areas:"start end store channel category" "keyword keyword keyword actions .";align-items:start;gap:8px 12px;width:max-content;min-width:100%;max-width:100%;margin:0 0 14px;padding:12px;border:1px solid #dfe8e3;border-radius:8px;background:#f7faf8;overflow-x:auto;overscroll-behavior-inline:contain}
.expense-filter label{display:grid;grid-template-rows:16px 40px;align-content:start;row-gap:4px;min-width:0;font-size:12px;font-weight:700}
.expense-filter label:nth-of-type(1){grid-area:start}
.expense-filter label:nth-of-type(2){grid-area:end}
.expense-filter label:nth-of-type(3){grid-area:store}
.expense-filter label:nth-of-type(4){grid-area:channel}
.expense-filter label:nth-of-type(5){grid-area:category}
.expense-filter input,.expense-filter select{min-width:0;height:40px;min-height:40px;padding:6px 8px;font-size:13px}
.expense-filter-keyword{grid-area:keyword;min-width:0}
.expense-filter-actions{grid-area:actions;display:flex;gap:7px;align-items:flex-start;padding-top:20px}
.expense-filter-actions button,.expense-filter-actions .btn-link{width:auto;min-width:64px;min-height:40px;padding:6px 10px;font-size:13px;white-space:nowrap}
.expense-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.expense-summary span{padding:6px 9px;border:1px solid #dce7e1;border-radius:999px;background:#f6faf8;color:#61736a;font-size:12px;white-space:nowrap}
.expense-summary strong{color:#18563f;font-size:14px}
.expense-records-card>.table-wrap{max-width:100%;border:1px solid #dce5e0;border-radius:8px}
.expense-record-table{min-width:1180px;table-layout:fixed;margin:0;border:0;background:#fff}
.expense-record-table th:nth-child(1){width:110px}
.expense-record-table th:nth-child(2){width:180px}
.expense-record-table th:nth-child(3){width:150px}
.expense-record-table th:nth-child(4){width:120px}
.expense-record-table th:nth-child(5){width:180px}
.expense-record-table th:nth-child(6){width:220px}
.expense-record-table th:nth-child(7){width:150px}
.expense-record-table th:nth-child(8){width:120px}
.expense-record-table th{padding:8px 9px;background:#f4f8f6;color:#486157;font-size:12px;white-space:nowrap}
.expense-record-table td{padding:8px 9px;color:#31493f;font-size:12px;line-height:1.45;vertical-align:middle}
.expense-record-table td:nth-child(2),.expense-record-table td:nth-child(3),.expense-record-table td:nth-child(5),.expense-record-table td:nth-child(6),.expense-record-table td:nth-child(7){overflow-wrap:anywhere}
.expense-record-table td.num{text-align:right;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.expense-record-store strong,.expense-record-payment strong,.expense-record-creator strong,.expense-record-store small,.expense-record-payment small,.expense-record-creator small{display:block}
.expense-record-store strong,.expense-record-payment strong,.expense-record-creator strong{color:#29493c}
.expense-record-store small,.expense-record-payment small,.expense-record-creator small{margin-top:2px;color:#7a8981;font-size:11px}
.expense-record-table .actions{display:flex;align-items:center;gap:6px;white-space:nowrap}
.expense-record-table .actions .btn-link,.expense-record-table .actions button{min-width:52px;min-height:30px;padding:4px 8px;font-size:12px}
.expense-record-table .empty-state{padding:34px;color:#74847c;text-align:center}
.expense-pagination{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:12px;color:#61736a;font-size:13px}
.expense-pagination .btn-link{min-width:72px}
.expense-delete-dialog{width:min(560px,calc(100vw - 24px));max-width:100%;max-height:calc(100vh - 32px);padding:0;overflow:auto;border:1px solid #d4dfd9;border-radius:12px;background:#fff;box-shadow:0 24px 70px rgba(18,45,34,.28)}
.expense-delete-dialog::backdrop{background:rgba(16,38,29,.5);backdrop-filter:blur(2px)}
.expense-delete-dialog form{display:grid;gap:14px;padding:18px}
.expense-delete-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:12px;border-bottom:1px solid #e4ebe7}
.expense-delete-dialog-head .eyebrow{margin:0 0 4px;color:#a43a2e;font-size:10px;font-weight:900;letter-spacing:.13em}
.expense-delete-dialog-head h2{margin:0;color:#4b2925;font-size:20px}
.expense-delete-dialog-head .icon-button{flex:0 0 36px}
.expense-delete-dialog form>p{margin:0;color:#65766e;font-size:13px}
.expense-delete-snapshot{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}
.expense-delete-snapshot div{min-width:0;padding:9px 10px;border:1px solid #e4e9e6;border-radius:7px;background:#f8faf9}
.expense-delete-snapshot dt{margin-bottom:3px;color:#7b8982;font-size:11px}
.expense-delete-snapshot dd{margin:0;color:#334d42;font-size:13px;font-weight:700;overflow-wrap:anywhere}
.expense-delete-dialog label{font-size:13px;font-weight:700}
.expense-delete-dialog textarea{min-height:88px;font-size:14px}
.expense-delete-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:2px}
.expense-delete-actions button{width:auto;min-width:96px;font-size:14px}
.private-funds-pager{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:40px;margin:12px 0 0;padding:0 2px}
.private-funds-pager-summary{margin:0;color:#66786f;font-size:12px;white-space:nowrap}
.private-funds-pager-controls{display:flex;align-items:center;gap:6px;min-width:0}
.private-funds-pager-controls>a,.private-funds-pager-controls>span{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:40px;padding:6px 10px;border:1px solid #d7e1dc;border-radius:8px;background:#fff;color:#315548;text-decoration:none;white-space:nowrap}
.private-funds-pager-controls>span[aria-current="page"]{color:#fff;border-color:#247556;background:#247556;font-weight:800}
.private-funds-pager-controls>span[aria-disabled="true"]{color:#94a39c;background:#f5f7f6}
.private-funds-pager-controls>form{display:flex;align-items:center;margin:0}
.private-funds-pager-controls label{display:flex;align-items:center;gap:5px;color:#5d7167;font-size:12px;white-space:nowrap}
.private-funds-pager-controls select{width:auto;min-width:68px;height:40px;padding:6px 24px 6px 8px}
.private-funds-daily-scope-label{margin:12px 2px 8px;color:#66786f;font-size:12px;font-weight:700}
.private-funds-all-finance-scope{display:block;max-width:240px;color:#66786f;font-size:11px;line-height:1.35}
.private-funds-daily-date-group{overflow:hidden;border:1px solid #dce6e1;border-radius:10px;background:#fff}
.private-funds-daily-date-group+.private-funds-daily-date-group{margin-top:10px}
.private-funds-daily-date-header{min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;background:#f4f8f6}
.private-funds-daily-date-header>small{flex:0 1 auto;color:#687b71;font-size:11px;text-align:right}
.private-funds-daily-date-toggle{display:flex;align-items:center;justify-content:flex-start;gap:12px;width:auto;min-width:0;min-height:40px;padding:6px 10px;color:#294d3f;border:0;background:transparent}
.private-funds-daily-date-toggle time{font-size:15px;font-weight:900}
.private-funds-daily-date-toggle span{color:#5d7167;font-size:12px;white-space:nowrap}
.private-funds-daily-date-body{padding:10px 12px 12px}
.private-funds-daily-order-fragment{display:grid;gap:10px}
.private-funds-daily-group-footer{display:flex;align-items:center;justify-content:flex-start;gap:10px;min-height:40px;margin-top:10px}
.private-funds-daily-group-footer button{width:auto;min-width:96px;min-height:40px;white-space:nowrap}
.private-funds-daily-group-footer span{color:#687b71;font-size:12px}
@media(min-width:761px) and (max-width:1599px){
  .private-funds-daily-actions{grid-template-columns:minmax(0,1fr) max-content}
  .private-funds-daily-actions>form:first-child{grid-column:1/-1}
}
@media(max-width:600px){.private-funds-pager{align-items:flex-start;flex-wrap:wrap}.private-funds-pager-controls{max-width:100%;overflow-x:auto;padding-bottom:2px}.private-funds-daily-date-header{align-items:flex-start;flex-direction:column}.private-funds-daily-date-header>small{text-align:left}.private-funds-daily-date-toggle{max-width:100%;flex-wrap:wrap}.private-funds-daily-date-body{padding:8px}}
