:root {
  --ink: #17233f;
  --muted: #768199;
  --line: #e8ebf1;
  --panel: #ffffff;
  --canvas: #f5f7fb;
  --primary: #3458d4;
  --primary-soft: #eef2ff;
  --green: #19a974;
  --green-soft: #e9f8f2;
  --orange: #e9822a;
  --orange-soft: #fff3e7;
  --red: #dc4f5c;
  --red-soft: #fff0f1;
  --shadow: 0 12px 32px rgba(36, 52, 92, .08);
}
*{box-sizing:border-box}
body{margin:0;font-family:"DM Sans","Noto Sans SC",sans-serif;color:var(--ink);background:var(--canvas);font-size:14px}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.app-shell{display:flex;min-height:100vh}
.sidebar{position:fixed;inset:0 auto 0 0;width:236px;background:#172344;color:#fff;padding:28px 18px 20px;display:flex;flex-direction:column;z-index:10}
.brand{display:flex;align-items:center;gap:12px;padding:0 10px 32px}.brand-mark{width:38px;height:38px;background:linear-gradient(145deg,#6e8bff,#4161df);border-radius:12px;display:grid;place-items:center;font-weight:800;font-size:20px;box-shadow:0 8px 18px #0d1736}.brand strong,.brand span{display:block}.brand strong{font-size:17px}.brand span{font-size:11px;color:#9ca8c8;margin-top:2px;letter-spacing:.08em}
nav{display:flex;flex-direction:column;gap:7px}.nav-item{border:0;background:transparent;color:#aeb8d2;text-align:left;border-radius:10px;padding:12px 14px;display:flex;align-items:center;gap:13px;position:relative;transition:background-color .2s,color .2s}.nav-item span{width:20px;font-size:17px;text-align:center}.nav-item:hover,.nav-item.active{background:#29385f;color:#fff}.nav-item.active:before{content:"";position:absolute;left:-18px;width:3px;height:22px;background:#7890ff;border-radius:0 3px 3px 0}.nav-item i{margin-left:auto;background:#ed5d66;color:#fff;font-size:10px;font-style:normal;border-radius:12px;min-width:18px;height:18px;display:none;place-items:center}
.sidebar-foot{margin-top:auto}.rule-card{border:1px solid #33446c;background:#202e51;border-radius:12px;padding:14px;margin-bottom:12px}.rule-card span{display:block;font-size:11px;color:#94a1c2;margin-bottom:9px}.rule-card b{font-size:12px;margin-right:8px}.full{width:100%}
.main{margin-left:236px;width:calc(100% - 236px);min-height:100vh}.topbar{height:88px;background:rgba(255,255,255,.92);border-bottom:1px solid var(--line);padding:18px 34px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:8;backdrop-filter:blur(8px)}.topbar h1{font-size:21px;margin:0 0 4px}.topbar p{margin:0;color:var(--muted);font-size:12px}.top-actions{display:flex;align-items:center;gap:16px}.icon-button{border:1px solid var(--line);background:#fff;border-radius:10px;width:40px;height:40px;color:#56627c;position:relative}.icon-button span{display:none;position:absolute;right:-7px;top:-7px;min-width:20px;height:20px;padding:0 4px;border-radius:10px;background:#e34b56;color:#fff;font-size:10px;font-weight:700;align-items:center;justify-content:center;box-shadow:0 2px 6px #1c294026}.user-switcher{display:flex;align-items:center;gap:9px}.avatar{width:38px;height:38px;border-radius:11px;background:#e9edff;color:var(--primary);display:grid;place-items:center;font-weight:700}.user-switcher label span{display:block;font-size:10px;color:var(--muted);margin-bottom:1px}.user-switcher select{border:0;background:transparent;color:var(--ink);font-weight:600;outline:0;padding:0 18px 0 0}
.content{padding:28px 34px 44px;max-width:1500px;margin:auto}.hero{background:linear-gradient(120deg,#293e89,#4265dc);border-radius:18px;padding:26px 30px;color:#fff;position:relative;overflow:hidden;box-shadow:0 14px 30px rgba(52,88,212,.2)}.hero:after{content:"";position:absolute;width:220px;height:220px;border:42px solid rgba(255,255,255,.07);border-radius:50%;right:-50px;top:-80px}.hero p{margin:7px 0 18px;color:#dbe2ff}.hero h2{margin:0;font-size:24px}.hero button{position:relative;z-index:2}
.dashboard-welcome{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:16px}.dashboard-welcome h2{margin:0 0 5px;font-size:22px}.dashboard-welcome p{margin:0;color:var(--muted)}.dashboard-actions,.dashboard-period{display:flex;align-items:center;gap:9px}.dashboard-period{padding:6px 8px;background:#fff;border:1px solid var(--line);border-radius:11px}.dashboard-period .filter-select{border:0;padding:7px 9px;background:#f7f8fc}.dashboard-period #dashboardRange{display:flex;align-items:center;gap:7px}.dashboard-period #dashboardRange[hidden],.dashboard-period #dashboardMonth[hidden]{display:none!important}.period-separator{font-size:12px;color:var(--muted)}.dashboard-section{margin-bottom:18px}.table-scroll{overflow-x:auto}.data-table.compact th,.data-table.compact td{padding:11px 13px}.management-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:18px}.project-list,.review-list{display:flex;flex-direction:column}.project-row,.review-row{display:flex;align-items:center;gap:11px;padding:12px 0;border-bottom:1px solid var(--line)}.project-row:last-child,.review-row:last-child{border:0}.project-row>div,.review-row>div{flex:1;min-width:0}.project-row b,.project-row small,.review-row b,.review-row small{display:block}.project-row small,.review-row small{color:var(--muted);font-size:11px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-row>strong{font-size:12px}.small-empty{padding:34px 10px}.personal-commission{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:13px 17px;margin-bottom:18px}.personal-commission span,.personal-commission small{color:var(--muted);font-size:11px}.personal-commission b{font-size:16px;margin:0 8px}.subtle-note{color:var(--muted);font-size:12px}.commission-tools{margin-bottom:12px}
.team-stats{margin-top:0}.team-avatar{width:34px;height:34px;border-radius:10px;background:linear-gradient(145deg,#e9edff,#dbe3ff);color:var(--primary);display:grid;place-items:center;font-weight:700}.permission-tags{display:flex;flex-wrap:wrap;gap:5px}.permission-tags span{font-size:10px;padding:4px 7px;background:#f0f3fa;color:#59657d;border-radius:6px}.permission-tags small{color:var(--muted)}.row-actions{display:flex;gap:6px}.row-actions button{padding:7px 9px;font-size:11px;white-space:nowrap}.permission-checks{display:grid;grid-template-columns:1fr 1fr;gap:9px}.permission-checks label{display:flex;gap:9px;align-items:flex-start;border:1px solid var(--line);padding:11px;border-radius:9px;cursor:pointer}.permission-checks input{margin-top:3px;accent-color:var(--primary)}.permission-checks span,.permission-checks b,.permission-checks small{display:block}.permission-checks small{color:var(--muted);font-size:10px;margin-top:3px}
.primary-button,.secondary-button,.ghost-button,.danger-button{border:0;border-radius:9px;padding:9px 15px;font-weight:600}.primary-button{background:var(--primary);color:#fff;box-shadow:0 5px 12px rgba(52,88,212,.2)}.primary-button:hover{background:#294bc3}.secondary-button{background:var(--primary-soft);color:var(--primary)}.ghost-button{background:transparent;color:inherit;border:1px solid #dfe3ec}.sidebar .ghost-button{border-color:#39496d;color:#aeb8d2}.danger-button{background:var(--red-soft);color:var(--red)}.hero .primary-button{background:#fff;color:#2e4db3}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:20px 0}.stat-card,.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:0 4px 16px rgba(36,52,92,.035)}.stat-card{padding:20px}.stat-top{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:12px}.stat-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary);font-size:16px}.stat-card strong{display:block;font-size:25px;margin:11px 0 4px}.stat-card small{color:var(--muted)}.positive{color:var(--green)!important}.warning-text{color:var(--orange)!important}.danger-text{color:var(--red)!important}
.stat-card-action{width:100%;font:inherit;text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}.stat-card-action:hover,.stat-card-action:focus-visible{border-color:var(--primary);box-shadow:0 8px 24px rgba(56,89,190,.13);transform:translateY(-2px)}.stat-card-action:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.stat-card-hint{display:block;margin-top:9px;color:var(--primary);font-size:11px;font-weight:600}.dashboard-money-table{min-width:760px}.dashboard-money-table td:first-child{min-width:220px}.dashboard-money-table .subtext{display:block}
.dashboard-money-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-money-actions{display:flex;flex-wrap:wrap;align-items:center;gap:5px;min-width:190px}.dashboard-money-actions .link-button{white-space:nowrap;font-size:12px}.dashboard-money-table th:last-child,.dashboard-money-table td:last-child{min-width:190px}
.dashboard-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:18px}.panel{padding:20px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.panel-head h3{font-size:15px;margin:0}.panel-head p{margin:3px 0 0;color:var(--muted);font-size:11px}.link-button{border:0;background:transparent;color:var(--primary);font-size:12px}.funnel{display:flex;align-items:flex-end;justify-content:space-around;height:190px;padding-top:20px}.funnel-item{text-align:center;width:14%;height:100%;display:flex;flex-direction:column;justify-content:flex-end}.funnel-bar{border-radius:7px 7px 3px 3px;min-height:8px;background:linear-gradient(#6f89ee,#4763d2);transition:.2s}.funnel-item b{margin:8px 0 1px}.funnel-item span{font-size:11px;color:var(--muted)}
.activity-list,.reminder-list{display:flex;flex-direction:column}.activity,.reminder{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.activity:last-child,.reminder:last-child{border:0}.dot-avatar{flex:0 0 auto;width:34px;height:34px;border-radius:10px;background:#eef1f8;display:grid;place-items:center;color:#53607a;font-weight:700}.activity p,.reminder p{margin:0;line-height:1.5}.activity small,.reminder small{color:var(--muted)}
.reminder-center{display:grid;gap:18px}.reminder-section .reminder-body{flex:1;min-width:0}.reminder-section .reminder{align-items:center}.reminder-section .reminder p{overflow-wrap:anywhere}.reminder-section .reminder small{display:block;margin-top:3px}.reminder-section .empty{padding:18px 0}
@media(max-width:640px){.reminder-section .reminder{flex-wrap:wrap}.reminder-section .reminder-body{flex-basis:calc(100% - 50px)}.reminder-section .reminder>button{margin-left:46px}}
@media(max-width:480px){.top-actions .icon-button{display:block}}
.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:12px}.toolbar-left,.toolbar-right{display:flex;gap:10px;align-items:center}.search-box{position:relative}.search-box:before{content:"⌕";position:absolute;left:12px;top:7px;color:#929bb0;font-size:18px}.search-box input{width:260px;padding:9px 12px 9px 35px;border:1px solid var(--line);border-radius:9px;background:#fff;outline:0}.filter-select{padding:9px 28px 9px 11px;border:1px solid var(--line);border-radius:9px;background:#fff;color:#5d6880;outline:0}.month-filter{min-width:142px;padding-right:11px;font-variant-numeric:tabular-nums}
.table-panel{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.data-table{width:100%;border-collapse:collapse}.data-table th{background:#fafbfc;color:#7c869b;font-size:11px;text-align:left;padding:12px 15px;font-weight:600;border-bottom:1px solid var(--line)}.data-table td{padding:14px 15px;border-bottom:1px solid #eef0f4;vertical-align:middle}.data-table tr:last-child td{border:0}.data-table tbody tr:hover{background:#fafbff}.customer-name{font-weight:600}.subtext{display:block;font-size:11px;color:var(--muted);margin-top:3px}.tag{display:inline-flex;align-items:center;border-radius:20px;padding:4px 9px;font-size:11px;font-weight:600}.tag-a{background:#ffe9e7;color:#d9554f}.tag-b{background:#fff2dc;color:#ce791e}.tag-c{background:#edf0ff;color:#536bd2}.tag-d{background:#f0f1f4;color:#777f90}.tag-won{background:var(--green-soft);color:var(--green)}.tag-pending{background:var(--orange-soft);color:var(--orange)}.tag-confirmed{background:var(--green-soft);color:var(--green)}.tag-paid{background:var(--primary-soft);color:var(--primary)}.tag-overdue{background:var(--red-soft);color:var(--red)}.owner-cell{display:flex;align-items:center;gap:7px}.mini-avatar{width:26px;height:26px;border-radius:8px;background:#edf0f8;color:#58647d;display:grid;place-items:center;font-size:10px;font-weight:700}.action-menu{border:0;background:transparent;color:#8b94a8;padding:5px 8px}.pin-button{border:0;background:transparent;color:#aab1c1;font-size:19px;padding:4px;line-height:1}.pin-button:hover,.pin-button.active{color:#e4a12a}.money{font-weight:700;font-variant-numeric:tabular-nums}.empty{padding:70px 20px;text-align:center;color:var(--muted)}.empty b{display:block;color:var(--ink);font-size:16px;margin:10px}
.commission-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:18px}.commission-card{border-radius:15px;padding:20px;color:#fff;background:linear-gradient(130deg,#1c2b55,#3653ad)}.commission-card:nth-child(2){background:linear-gradient(130deg,#168467,#24b085)}.commission-card:nth-child(3){background:linear-gradient(130deg,#9b6127,#e49a43)}.commission-card span{font-size:12px;opacity:.8}.commission-card strong{display:block;font-size:25px;margin-top:8px}
.rules-hero{background:linear-gradient(120deg,#1c2b55,#3859bc);color:#fff;border-radius:17px;padding:25px 28px;margin-bottom:18px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 12px 28px rgba(40,63,139,.18)}.rules-hero h2{margin:0 0 7px;font-size:24px}.rules-hero p{margin:0;color:#dce3ff}.rules-back{border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.1);color:#fff;border-radius:9px;padding:9px 13px}.rules-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start}.rules-main{display:flex;flex-direction:column;gap:18px}.rule-table-wrap{overflow:auto}.rule-table{width:100%;border-collapse:collapse}.rule-table th{background:#24375f;color:#fff;padding:12px;border:1px solid #dce1eb}.rule-table td{text-align:center;padding:12px;border:1px solid #dce1eb}.rule-table tbody tr:nth-child(even){background:#f6f7fa}.muted-cell{color:var(--muted)}.formula{background:#eef3ff;color:#3552a5;border-radius:9px;padding:12px 14px;margin-top:14px;font-weight:600}.bonus-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.bonus-grid>div{background:#f7f8fb;border:1px solid var(--line);border-radius:10px;padding:13px}.bonus-grid span,.bonus-grid b{display:block}.bonus-grid span{font-size:11px;color:var(--muted);margin-bottom:7px}.bonus-grid b{font-size:17px;color:var(--primary)}.rule-footnote{color:var(--muted);font-size:11px;margin:13px 0 0;line-height:1.6}.process-line{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.process-line>div{position:relative;padding:4px 8px;text-align:center}.process-line>div:not(:last-child):after{content:"→";position:absolute;right:-9px;top:9px;color:#aab2c4}.process-line i{width:30px;height:30px;border-radius:50%;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;font-style:normal;font-weight:700;margin:0 auto 8px}.process-line b,.process-line span{display:block}.process-line b{font-size:12px}.process-line span{font-size:10px;color:var(--muted);line-height:1.45;margin-top:4px}.calculator{position:sticky;top:112px}.calculator .form-field{margin-bottom:13px}.calculator hr{border:0;border-top:1px solid var(--line);margin:18px 0}.calc-result{background:linear-gradient(130deg,#263a7e,#4867dc);color:#fff;border-radius:12px;padding:18px;margin-top:16px}.calc-result span,.calc-result small{display:block}.calc-result span{font-size:11px;color:#cbd5ff}.calc-result strong{display:block;font-size:27px;margin:6px 0}.calc-result small{color:#e0e6ff;line-height:1.5}.quarter-result{display:flex;justify-content:space-between;align-items:center;background:var(--green-soft);color:#167c59;border-radius:9px;padding:12px;margin-top:10px}.quarter-result b{font-size:18px}
.detail-overlay,.modal-overlay{position:fixed;inset:0;background:rgba(15,24,49,.38);z-index:20;display:flex;justify-content:flex-end;animation:fadeIn .16s}.detail-drawer{width:min(720px,92vw);height:100%;background:#fff;padding:26px;overflow:auto;box-shadow:-16px 0 40px rgba(17,29,59,.16);animation:slideIn .2s}.drawer-head{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:20px;border-bottom:1px solid var(--line)}.drawer-head h2{margin:0}.drawer-title{display:flex;align-items:center;gap:8px;margin-bottom:7px}.close-button{border:0;background:#f2f4f8;width:34px;height:34px;border-radius:9px;color:#68738a}.detail-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.meta-card{background:#f7f8fb;border-radius:10px;padding:12px}.meta-card small{display:block;color:var(--muted);margin-bottom:5px}.tabs{display:flex;border-bottom:1px solid var(--line);gap:22px;margin:20px 0;overflow-x:auto}.tab{border:0;background:transparent;padding:10px 1px;color:var(--muted);position:relative;white-space:nowrap}.tab.active{color:var(--primary);font-weight:600}.tab.active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--primary)}.section-head{display:flex;justify-content:space-between;align-items:center;margin:15px 0 10px}.section-head h4{margin:0}.contact-card,.opportunity-card{border:1px solid var(--line);border-radius:10px;padding:13px;margin-bottom:9px;display:flex;justify-content:space-between;align-items:center}.contact-card p,.opportunity-card p{margin:0}.contact-card small,.opportunity-card small{color:var(--muted)}.timeline{position:relative}.timeline:before{content:"";position:absolute;left:17px;top:16px;bottom:16px;width:1px;background:#e2e6ee}.followup-item{display:flex;gap:13px;position:relative;padding:7px 0 16px}.timeline-avatar{width:35px;height:35px;flex:0 0 auto;border-radius:10px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;font-weight:700;z-index:1}.followup-content{flex:1;border:1px solid var(--line);border-radius:11px;padding:13px;background:#fff}.followup-content p{margin:0;line-height:1.65}.followup-content>small{display:block;color:var(--primary);margin-top:8px}.followup-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px}.followup-head time{color:var(--muted);font-size:11px}.method-tag{font-size:10px;color:#68738d;background:#f0f2f6;border-radius:12px;padding:3px 7px;margin-left:7px}
.deal-card{border:1px solid var(--line);border-radius:12px;padding:15px;margin-bottom:11px;background:#fff}.deal-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:12px}.deal-head p{margin:0 0 7px}.deal-head>strong{font-size:18px}.deal-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;padding-top:12px}.deal-grid small,.deal-grid b{display:block}.deal-grid small{color:var(--muted);font-size:10px;margin-bottom:4px}.deal-grid b{font-size:12px}
.modal-overlay{justify-content:center;align-items:center;padding:20px}.modal{width:min(560px,95vw);max-height:92vh;overflow:auto;background:#fff;border-radius:16px;box-shadow:var(--shadow);animation:popIn .18s}.modal.wide{width:min(760px,96vw)}.modal-head,.modal-foot{padding:18px 22px;display:flex;justify-content:space-between;align-items:center}.modal-head{border-bottom:1px solid var(--line)}.modal-head h3{margin:0}.modal-body{padding:20px 22px}.modal-foot{border-top:1px solid var(--line);justify-content:flex-end;gap:9px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-field{display:flex;flex-direction:column;gap:6px}.form-field.full-row{grid-column:1/-1}.form-field label{font-size:12px;font-weight:600;color:#4e5a71}.form-field input,.form-field select,.form-field textarea{border:1px solid #dfe3eb;border-radius:9px;padding:10px 11px;outline:0;background:#fff}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#7990e7;box-shadow:0 0 0 3px #eff2ff}.form-field textarea{resize:vertical;min-height:72px}.checkboxes{display:flex;flex-wrap:wrap;gap:8px}.check-pill input{display:none}.check-pill span{display:block;border:1px solid var(--line);border-radius:8px;padding:7px 10px;color:#657087}.check-pill input:checked+span{border-color:#8195e5;background:var(--primary-soft);color:var(--primary)}.collision{background:var(--red-soft);border:1px solid #ffd6d9;border-radius:10px;padding:13px;color:#ad3943;margin-top:14px}.collision b{display:block;margin-bottom:4px}.info-note{background:#f2f5ff;color:#4e62ad;border-radius:9px;padding:11px;margin-bottom:15px;font-size:12px}
.toast-root{position:fixed;right:24px;bottom:24px;z-index:50;display:flex;flex-direction:column;gap:8px}.toast{background:#1c2946;color:#fff;border-radius:10px;padding:12px 16px;box-shadow:var(--shadow);animation:slideUp .2s}.toast.error{background:#b83f49}
@keyframes fadeIn{from{opacity:0}}@keyframes slideIn{from{transform:translateX(35px)}}@keyframes popIn{from{transform:scale(.96);opacity:.3}}@keyframes slideUp{from{transform:translateY(12px);opacity:.2}}
@media(max-width:1050px){.stats-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.sidebar{width:202px}.main{margin-left:202px;width:calc(100% - 202px)}.content{padding:24px}.topbar{padding:18px 24px}}
@media(max-width:1050px){.rules-layout,.management-grid{grid-template-columns:1fr}.calculator{position:static}.bonus-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.sidebar{width:72px;padding:22px 10px}.brand{padding:0 7px 28px}.brand>div:last-child{display:none}.nav-item:not(.active){font-size:0}.nav-item{justify-content:center;padding:12px 8px}.nav-item span{font-size:18px}.nav-item.active{font-size:0}.rule-card,.sidebar .ghost-button{display:none}.main{margin-left:72px;width:calc(100% - 72px)}.content{padding:16px}.topbar{padding:15px 17px}.topbar p{display:none}.stats-grid,.commission-summary{grid-template-columns:1fr 1fr}.toolbar{align-items:stretch;flex-direction:column}.toolbar-left{flex-wrap:wrap}.search-box{flex:1}.search-box input{width:100%}.table-panel{overflow-x:auto}.data-table{min-width:760px}.form-grid,.detail-meta{grid-template-columns:1fr}.user-switcher label span{display:none}}
@media(max-width:480px){.stats-grid,.commission-summary{grid-template-columns:1fr}.topbar h1{font-size:18px}.avatar,.icon-button{display:none}.hero{padding:22px}.funnel{height:155px}}
.commission-binding-status{display:flex;align-items:center;gap:10px;margin-top:9px;padding:9px 11px;border:1px solid #dbe2ff;background:#f5f7ff;border-radius:9px;color:#3e55ae;font-size:12px}.commission-binding-status .link-button{padding:0;margin-left:auto}.commission-binder-overlay{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:20px;background:rgba(18,29,61,.42)}.commission-binder{width:min(650px,96vw);max-height:92vh;overflow:auto;background:#fff;border-radius:16px;box-shadow:0 24px 65px rgba(18,29,61,.25)}.binding-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.binding-choice{display:flex;gap:9px;align-items:flex-start;padding:12px;border:1px solid #dfe3eb;border-radius:10px;cursor:pointer}.binding-choice:has(input:checked){border-color:#7289e5;background:#f4f6ff}.binding-choice input{margin-top:3px}.binding-choice b,.binding-choice small{display:block}.binding-choice small{margin-top:3px;color:#7a859b;font-size:12px}.commission-binding-fields{padding-top:3px}
.entity-picker{position:relative}.entity-picker-options{position:absolute;z-index:40;top:calc(100% + 4px);left:0;right:0;max-height:240px;overflow:auto;border:1px solid #dfe3eb;border-radius:9px;background:#fff;box-shadow:0 12px 28px rgba(23,38,75,.16)}.entity-picker-option{display:block;width:100%;border:0;background:#fff;text-align:left;padding:10px 11px;color:#202c45;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.entity-picker-option:hover,.entity-picker-option:focus{background:#f1f4ff;color:#4761cd}.entity-picker .picker-hint{display:block;margin-top:6px}
@media(max-width:600px){.dashboard-welcome{align-items:flex-start;flex-direction:column;gap:13px}.dashboard-actions,.dashboard-period{align-items:stretch;flex-direction:column;width:100%}.dashboard-period #dashboardRange{flex-wrap:wrap}.dashboard-welcome .primary-button{width:100%}.permission-checks{grid-template-columns:1fr}.rules-hero{align-items:flex-start;flex-direction:column;gap:14px}.rules-back{width:100%}.process-line{grid-template-columns:1fr}.process-line>div:not(:last-child):after{content:"↓";right:50%;top:auto;bottom:-9px}.bonus-grid,.deal-grid{grid-template-columns:1fr 1fr}.rule-table{min-width:620px}}

/* ==================== 系统配置 ==================== */
.config-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:18px;align-items:start}
.panel-foot{display:flex;gap:9px;margin-top:16px}
.guide-list{margin:0 0 16px;padding-left:18px;color:var(--muted);display:flex;flex-direction:column;gap:9px;font-size:12px;line-height:1.65}
.guide-list b{color:var(--ink)}
.copy-row{display:flex;gap:8px}.copy-row input{flex:1;border:1px solid #dfe3eb;border-radius:9px;padding:10px 11px;background:#f7f8fb;color:#5a6579;outline:0;font-size:12px}
.switch-line{display:flex;align-items:center;gap:9px;cursor:pointer;font-size:13px;font-weight:600;color:#4e5a71}
.switch-line input{accent-color:var(--primary);width:16px;height:16px}
.model-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.model-card{border:1px solid var(--line);border-radius:12px;padding:15px;display:flex;flex-direction:column;gap:9px;background:#fff}
.model-card:hover{border-color:#c9d4f2}
.model-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.model-card-head small{display:block;color:var(--muted);margin-top:3px;font-size:11px}
.model-url{margin:0;font-size:11px;color:#6b7690;background:#f6f8fc;border-radius:7px;padding:7px 9px;word-break:break-all}
.model-empty{grid-column:1/-1}
@media(max-width:900px){.config-grid,.model-grid{grid-template-columns:1fr}}
/* 系统配置兼容性：卡片操作按钮窄屏换行、面板底栏留白适配、图标按钮手型 */
.row-actions{flex-wrap:wrap}
.panel-foot{flex-wrap:wrap}
.icon-button{cursor:pointer;flex:0 0 auto;font-size:17px;line-height:1}
@media(max-width:600px){.panel-foot .primary-button,.panel-foot .ghost-button{flex:1 1 auto}.copy-row{flex-wrap:wrap}.copy-row .secondary-button{flex:0 0 auto}}

/* ==================== 登录页 ==================== */
.login-page{min-height:100vh;display:flex;background:var(--canvas)}
.login-aside{flex:1 1 46%;position:relative;overflow:hidden;background:linear-gradient(158deg,#101a40 0%,#1c3070 46%,#2b4cbb 100%);color:#fff;padding:38px 48px 28px;display:flex;flex-direction:column}
.login-glow{position:absolute;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(110,139,255,.45),transparent 62%);right:-160px;top:-170px;animation:loginFloat 9s ease-in-out infinite alternate}
.login-grid-bg{position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.13) 1px,transparent 1px);background-size:26px 26px;-webkit-mask-image:linear-gradient(160deg,rgba(0,0,0,.9),transparent 55%);mask-image:linear-gradient(160deg,rgba(0,0,0,.9),transparent 55%)}
@keyframes loginFloat{from{transform:translate(0,0)}to{transform:translate(-36px,26px)}}
.login-aside > *:not(.login-glow):not(.login-grid-bg){position:relative;z-index:1}
.login-brand{display:flex;align-items:center;gap:12px}
.login-brand strong,.login-brand span{display:block}
.login-brand strong{font-size:17px}.login-brand span{font-size:11px;color:#a7b3d8;letter-spacing:.08em;margin-top:2px}
.login-aside-body{margin:auto 0;padding:34px 0 24px}
.login-eyebrow{margin:0 0 14px;font-size:11px;letter-spacing:.34em;color:#8fa0d6;font-weight:600}
.login-aside h2{margin:0 0 22px;font-size:clamp(25px,2.3vw,33px);line-height:1.4;font-weight:700;letter-spacing:.02em}
.login-aside h2 em{font-style:normal;background:linear-gradient(90deg,#9db4ff,#dbe3ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.login-aside h2:after{content:"";display:block;width:58px;height:3px;border-radius:2px;background:linear-gradient(90deg,#6e8bff,rgba(110,139,255,0));margin-top:20px}
.login-points{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.login-points li{display:flex;gap:14px;align-items:center;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:10px 14px;transition:background-color .2s}
.login-points li:hover{background:rgba(255,255,255,.1)}
.login-points i{flex:0 0 auto;width:38px;height:38px;border-radius:11px;background:linear-gradient(145deg,rgba(122,146,255,.38),rgba(122,146,255,.12));border:1px solid rgba(255,255,255,.16);display:grid;place-items:center;font-style:normal;font-size:15px;color:#c3d0ff}
.login-points b{display:block;font-size:13px;margin-bottom:3px}
.login-points span{display:block;font-size:11.5px;color:#a9b6dd;line-height:1.55}
.login-quote{margin-top:22px;border-left:2px solid rgba(157,180,255,.6);padding:4px 0 4px 16px}
.login-quote p{margin:0;font-size:13px;color:#dfe6ff;line-height:1.7}
.login-quote span{display:block;margin-top:6px;font-size:11px;color:#8fa0d6}
.login-aside-foot{font-size:11px;color:#7e8dbb;letter-spacing:.04em}
.login-main{flex:1 1 54%;position:relative;display:grid;place-items:center;padding:32px 26px;background:radial-gradient(640px 420px at 88% -8%,rgba(110,139,255,.20),transparent 60%),radial-gradient(560px 420px at -6% 108%,rgba(52,88,212,.15),transparent 58%),linear-gradient(168deg,#edf1fb 0%,#f8fafe 46%,#ebf0fa 100%)}
.login-main:before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(52,88,212,.12) 1px,transparent 1px);background-size:24px 24px;-webkit-mask-image:linear-gradient(200deg,rgba(0,0,0,.7),transparent 55%);mask-image:linear-gradient(200deg,rgba(0,0,0,.7),transparent 55%);pointer-events:none}
.login-card{position:relative;z-index:1;width:min(410px,100%);background:var(--panel);border-radius:22px;box-shadow:0 26px 60px rgba(23,35,76,.14),0 2px 8px rgba(23,35,76,.05);padding:32px 34px 30px;animation:loginRise .45s ease both}
@keyframes loginRise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.login-badge{display:inline-flex;align-items:center;gap:7px;margin-bottom:16px;padding:5px 12px;border-radius:20px;background:var(--primary-soft);color:var(--primary);font-size:11px;font-weight:600;letter-spacing:.06em}
.login-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--primary)}
.login-title{margin:0 0 5px;font-size:23px}
.login-sub{margin:0 0 20px;color:var(--muted);font-size:12px}
.login-accounts{display:flex;flex-direction:column;gap:10px;margin:0 0 18px}
.login-account{display:flex;align-items:center;gap:13px;width:100%;padding:11px 14px;border:1px solid transparent;border-radius:14px;background:#f5f7fc;text-align:left;transition:background-color .15s,border-color .15s,box-shadow .15s,transform .15s}
.login-account:hover{background:#eef2fd;transform:translateY(-1px)}
.login-account.active{background:var(--primary-soft);border-color:#c2cefa;box-shadow:0 6px 16px rgba(52,88,212,.12)}
.acc-avatar{flex:0 0 auto;width:42px;height:42px;border-radius:13px;background:linear-gradient(145deg,#6e8bff,#4161df);color:#fff;display:grid;place-items:center;font-weight:700;font-size:16px;box-shadow:0 5px 12px rgba(65,97,223,.28)}
.acc-info{min-width:0}
.acc-info b{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.acc-info small{display:block;color:var(--muted);font-size:11px;margin-top:2px}
.acc-check{margin-left:auto;color:var(--primary);font-weight:700;opacity:0;transition:opacity .15s}
.login-account.active .acc-check{opacity:1}
.acc-arrow{margin-left:4px;color:#aeb8d2;font-size:18px;line-height:1;transition:color .15s,transform .15s}
.login-account.active .acc-arrow{color:var(--primary);transform:translateX(2px)}
.login-form{display:flex;flex-direction:column;gap:14px}
.login-field{display:flex;flex-direction:column;gap:6px}
.login-field span{font-size:12px;font-weight:600;color:#4e5a71}
.login-field input{border:1px solid #dfe3eb;border-radius:10px;padding:11px 13px;outline:0;background:#fff;transition:border-color .15s,box-shadow .15s}
.login-field input:focus{border-color:#7990e7;box-shadow:0 0 0 3px #eff2ff}
.login-submit{padding:12px;font-size:14px;letter-spacing:.14em;background:linear-gradient(135deg,#4161df,#3458d4);box-shadow:0 8px 18px rgba(52,88,212,.3);transition:transform .15s,box-shadow .15s}
.login-submit:hover{background:linear-gradient(135deg,#3a58d6,#2c4fc4);transform:translateY(-1px);box-shadow:0 10px 22px rgba(52,88,212,.34)}
.login-switch{display:block;margin:16px auto 0;border:0;background:transparent;color:var(--primary);font-size:12px;padding:4px}
.login-switch:hover{text-decoration:underline}
.login-feishu{width:100%;border:0;border-radius:11px;padding:13px;background:#3370ff;color:#fff;font-weight:700;display:flex;justify-content:center;align-items:center;gap:8px;box-shadow:0 8px 18px rgba(51,112,255,.28)}
.login-feishu:hover{background:#2a5fe0}
.login-feishu span{display:grid;place-items:center;width:22px;height:22px;border-radius:7px;background:rgba(255,255,255,.2);font-size:12px}
.login-divider{display:flex;align-items:center;gap:12px;color:#98a1b5;font-size:11px;margin:20px 0 14px}
.login-divider:before,.login-divider:after{content:"";height:1px;background:var(--line);flex:1}
.login-error{background:var(--red-soft);color:var(--red);border-radius:9px;padding:11px 13px;font-size:12px;line-height:1.6;margin-bottom:14px}
.login-working{padding:26px 0;text-align:center;color:var(--muted);font-size:13px}
@media(max-height:800px){.login-quote{display:none}.login-aside{padding:26px 44px 20px}.login-aside-body{padding:20px 0 14px}.login-aside h2{margin:0 0 16px}.login-aside h2:after{margin-top:12px}.login-points{gap:8px}.login-points li{padding:8px 13px}.login-card{padding:26px 30px 24px}}
@media(max-width:900px){.login-page{display:grid;place-items:center;padding:24px}.login-aside{display:none}}

.avatar img,.mini-avatar img,.team-avatar img,.timeline-avatar img{width:100%;height:100%;border-radius:inherit;object-fit:cover;display:block}
.user-switcher .avatar{cursor:pointer}.avatar-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:10px}.avatar-option{position:relative;cursor:pointer}.avatar-option input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}.avatar-option img,.avatar-option .avatar-none{width:52px;height:52px;border-radius:12px;display:block;object-fit:cover}.avatar-option .avatar-none{display:grid;place-items:center;background:#e9edff;color:var(--primary);font-size:11px;font-weight:600}.avatar-option:has(input:checked)::after{content:'';position:absolute;inset:-3px;border:2.5px solid var(--primary);border-radius:14px;pointer-events:none}
.user-switcher label b{display:block;font-size:13px;line-height:1.3;color:var(--ink)}.user-switcher label span{margin-bottom:0}.role-switch{display:flex;gap:10px}.role-switch label{position:relative;flex:1;cursor:pointer;border:1px solid var(--line);border-radius:10px;padding:10px 14px;display:flex;align-items:center;gap:8px;font-weight:600;color:var(--ink)}.role-switch label input{accent-color:var(--primary);margin:0}.role-switch label:has(input:checked){border-color:var(--primary);background:#eef2ff}
.role-switch{flex-wrap:wrap}.role-switch label{min-width:145px}#operationsRateField[hidden],#salesPermissionField[hidden],#salesParticipationField[hidden],#salesAdminPermissionNotice[hidden]{display:none!important}
/* Names are the primary identity in this CRM; remove decorative avatar controls. */
.avatar-picker,.avatar,.team-avatar,.mini-avatar,.timeline-avatar{display:none!important}

/* 提成规则页：不让冲刺档位在中等宽度下挤出容器，试算器改为业务条件组合区。 */
.rules-layout{display:block}
.rules-main{gap:18px}
.setting-tabs{display:inline-flex;align-items:center;gap:4px;padding:5px;background:#e8edf9;border:1px solid #d6deef;border-radius:12px;margin:0 0 18px}.setting-tabs button{border:0;background:transparent;color:#65718b;padding:11px 24px;border-radius:8px;font-weight:700;font-size:15px;cursor:pointer}.setting-tabs button.active{background:#fff;color:#3153bf;box-shadow:0 2px 8px rgba(39,64,138,.18)}.channel-settings{max-width:1000px}.channel-rule-block+.channel-rule-block{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}.channel-rule-block h4{margin:0 0 14px;font-size:15px;color:#24375f}
.library-mode-switch{margin-bottom:20px}.director-settings{max-width:1000px}.director-settings .formula{margin-top:18px}.director-settings .subtle-note{margin:12px 0 0}.director-ledger{margin-bottom:18px}.director-ledger .panel-head strong{font-size:20px;color:var(--primary)}.channel-tier-fields{max-width:740px}
.commission-filter-bar{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin-bottom:18px}.commission-filter-bar label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:12px;font-weight:600}.commission-filter-bar input,.commission-filter-bar select{min-height:40px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:7px 11px;color:var(--ink);font:inherit}.commission-filter-bar select{min-width:190px}.commission-filter-bar .ghost-button{min-height:40px}.commission-settings-button{margin-left:auto}.commission-management-panel .panel-head{gap:18px}.commission-management-panel .panel-head p{max-width:750px}.commission-management-totals{display:flex;gap:22px;white-space:nowrap}.commission-management-totals span{font-size:12px;color:var(--muted)}.commission-management-totals strong{display:block;font-size:20px;color:var(--primary)}.commission-management-panel .switch-line{margin-top:14px}.commission-table-wrap{overflow-x:auto}.commission-table-wrap .data-table{min-width:1050px}@media(max-width:760px){.commission-settings-button{margin-left:0}.commission-management-panel .panel-head{align-items:start;flex-direction:column}.commission-management-totals{gap:18px}}
.rules-main[hidden],.panel[hidden]{display:none!important}
.bonus-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));align-items:stretch}
.bonus-grid-edit{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.bonus-rule-edit{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 8px;align-items:center}
.bonus-rule-edit input{min-width:0;width:100%;box-sizing:border-box;border:1px solid #dfe3eb;border-radius:8px;padding:8px 9px;background:#fff;font:inherit}
.bonus-rule-edit span:nth-of-type(2){grid-column:1/-1}
.bonus-rule-edit input[data-field="bonus"]{grid-column:1/-1}
.bonus-rule-edit span:last-child{grid-column:1/-1}
.rule-input{width:64px;max-width:100%;box-sizing:border-box;border:1px solid #cfd6e6;border-radius:6px;padding:5px 6px;background:#fff;text-align:center;font:inherit}
.threshold-input{width:48px}
.rule-switch{margin-top:14px}
.calculator{position:static;margin-top:18px}
.calculator-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.calculator-form .form-field{margin:0}.calculator-form small{font-size:11px;line-height:1.45;color:var(--muted)}
.calc-breakdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;padding:0;overflow:hidden;background:#d8e0fb}
.calc-breakdown>div{padding:16px;background:linear-gradient(130deg,#263a7e,#4867dc)}
.calc-breakdown strong{font-size:21px;margin:6px 0 0;white-space:nowrap}
.calc-explain{margin-top:12px;padding:11px 13px;border-radius:9px;background:#f4f6fc;color:#52607a;font-size:12px;line-height:1.65}
@media(max-width:1050px){.calculator-form,.calc-breakdown{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.bonus-grid,.bonus-grid-edit,.calculator-form,.calc-breakdown{grid-template-columns:1fr}.rules-hero>div:last-child{width:100%;display:flex;gap:8px}.rules-hero .primary-button,.rules-hero .rules-back{width:auto;flex:1}.calc-breakdown strong{font-size:20px}}

/* 客户与机会阶段：每种业务状态使用独立色相，便于扫读。 */
.tag-won{background:#e8f7ef;color:#168457}
.tag-a{background:#fff0eb;color:#d75b45}
.tag-b{background:#fff5dc;color:#b67810}
.tag-c{background:#eaf0ff;color:#3f62c8}
.tag-d{background:#f0edff;color:#7053b7}
.tag-rejected{background:#fdebed;color:#c43f4b}

/* 销售日报 */
.report-hero{flex-wrap:wrap}.report-auto-settings-button{border:1px solid #ffffff60;border-radius:9px;padding:9px 12px;background:#ffffff14;color:#fff;font:inherit;font-size:12px;cursor:pointer;white-space:nowrap}
.report-compose-modal.modal.wide{width:min(920px,96vw)}.report-compose-modal .modal-body{padding:20px 26px}.report-compose-modal .modal-foot{flex-wrap:wrap}.report-compose-modal .modal-foot>.link-button{margin-right:auto}
.report-generation-panel{margin:18px 0}.report-generation-panel .section-head{margin-bottom:10px}.report-generation-panel h4,.report-ab-panel h4{margin:0;font-size:14px}.report-generation-panel small,.report-ab-panel .section-head>small{font-size:11px;color:var(--muted)}
.report-generation-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.report-generation-modes button{padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;text-align:left;cursor:pointer;font:inherit;color:var(--ink)}.report-generation-modes button[aria-pressed=true]{background:#f0f4ff;border-color:var(--primary);box-shadow:0 0 0 1px var(--primary) inset}.report-generation-modes b{display:flex;align-items:center;justify-content:space-between;gap:7px;font-size:14px}.report-generation-modes em{font-size:10px;font-style:normal;color:var(--primary);background:#fff;padding:1px 6px;border-radius:4px}.report-generation-modes small{display:block;margin-top:3px}.report-generation-modes button:disabled{opacity:.6;cursor:default}
.report-ab-panel{padding:16px;border:1px solid var(--line);border-radius:11px;background:#fbfcff;margin-bottom:14px}.report-ab-panel>.section-head{gap:10px;flex-wrap:wrap}.report-ab-counts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.report-ab-counts>span{padding:10px 12px;border-radius:8px;background:#eef2fb}.report-ab-counts small,.report-ab-counts b{display:block}.report-ab-counts small{font-size:11px;color:var(--muted)}.report-ab-counts b{font-size:18px;color:var(--primary);margin-top:3px}.report-ab-panel summary{cursor:pointer;color:var(--primary);font-size:12px}.report-ab-panel>p{font-size:11px;line-height:1.6;color:var(--muted);margin:10px 0 0}.report-ab-rows{display:grid;gap:10px;margin-top:12px}.report-ab-rows>div{border-top:1px solid var(--line);padding-top:12px}.report-ab-rows>div>div{display:flex;flex-wrap:wrap;align-items:center;gap:7px}.report-ab-rows b{font-size:13px}.report-ab-rows small{font-size:11px;color:var(--muted)}.report-ab-rows label{display:grid;gap:5px;font-size:11px;color:var(--muted);margin:8px 0}.report-ab-rows textarea{width:100%;min-height:60px;resize:vertical;border:1px solid var(--line);border-radius:7px;padding:9px 11px;background:#fff;color:var(--ink);font:inherit;font-size:12px;line-height:1.6}.report-ab-rows textarea:disabled{background:#f5f7fc;color:var(--muted)}
.report-source-stats{color:var(--muted);font-size:12px;margin:6px 0 14px}.report-regenerate-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:13px 0 18px}.report-regenerate-row small{font-size:11px;color:var(--muted);flex:1;min-width:160px}.report-warning{margin:10px 0;background:#fff7e6;color:#906319}.report-warning>div{display:flex;gap:8px;margin-top:10px}.report-setting-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 0;border-bottom:1px solid var(--line)}.report-setting-row b{font-size:13px}.report-setting-row small{display:block;font-size:11px;color:var(--muted);margin-top:4px;line-height:1.6}.report-setting-row>label{font-size:12px;white-space:nowrap}.report-setting-row select{min-width:130px;max-width:100%;border:1px solid var(--line);border-radius:8px;background:#fff;padding:8px;color:var(--ink);font:inherit;font-size:12px}.report-setting-detail{margin:16px 0;color:var(--muted);font-size:12px}.report-setting-detail summary{cursor:pointer;color:var(--ink)}.report-setting-detail p{line-height:1.8}.report-auto-rules{padding-left:20px;color:var(--muted);font-size:12px;line-height:1.9}.report-auto-rules li{margin:8px 0}#reportDeliveryPreview h4{margin:16px 0 10px}#reportDeliveryText{max-height:520px}#reportGeneratedMode{font-size:11px;padding:2px 7px;background:var(--primary-soft);color:var(--primary);border-radius:5px;margin-left:6px}
@media(max-width:600px){.report-compose-modal .modal-body{padding:16px}.report-generation-modes{gap:6px}.report-generation-modes button{padding:10px}.report-generation-modes b{flex-wrap:wrap;font-size:13px}.report-setting-row{flex-wrap:wrap;gap:10px}.report-ab-panel{padding:12px}.report-hero .report-auto-settings-button{width:100%}.report-compose-modal .modal-foot>.link-button{width:100%;text-align:left}}
.report-hero{display:flex;justify-content:space-between;gap:18px;align-items:center;background:linear-gradient(120deg,#263c7d,#4668d7);color:#fff;border-radius:16px;padding:22px 26px;margin-bottom:16px}.report-hero h2{margin:0 0 6px;font-size:22px}.report-hero p{margin:0;color:#dce5ff;font-size:13px}.report-hero .primary-button{white-space:nowrap;background:#fff;color:#3153bf;box-shadow:none}.report-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.report-summary>div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:15px 17px}.report-summary span,.report-summary b{display:block}.report-summary span{font-size:12px;color:var(--muted);margin-bottom:6px}.report-summary b{font-size:18px}.report-list{display:flex;flex-direction:column}.report-row{display:flex;justify-content:space-between;gap:18px;padding:18px;border-bottom:1px solid var(--line)}.report-row:last-child{border-bottom:0}.report-row>div{min-width:0;flex:1}.report-row-title{display:flex;align-items:center;gap:9px;margin-bottom:8px}.report-row-title>span:not(.tag){font-size:12px;color:var(--muted);padding-left:9px;border-left:1px solid var(--line)}.report-row p{margin:0;color:#34405a;font-size:13px;line-height:1.75}.report-row>div>small:not(.subtext){display:block;color:#5b6883;font-size:12px;margin-top:8px}.recipient-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.recipient-checks label{display:flex;align-items:flex-start;gap:8px;border:1px solid var(--line);border-radius:9px;padding:9px 10px;cursor:pointer}.recipient-checks input{margin-top:3px;accent-color:var(--primary)}.recipient-checks b,.recipient-checks small{display:block}.recipient-checks b{font-size:12px}.recipient-checks small{font-size:10px;color:var(--muted);margin-top:2px}
.report-editor-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}.report-editor-heading label{margin:0}.report-editor-tabs{display:inline-flex;gap:3px;padding:3px;border:1px solid var(--line);border-radius:9px;background:#f5f7fc}.report-editor-tabs button{border:0;border-radius:6px;background:transparent;color:#68758f;padding:6px 14px;cursor:pointer;font:inherit;font-size:12px}.report-editor-tabs button.active{background:#fff;color:var(--primary);box-shadow:0 1px 4px rgba(25,37,76,.12);font-weight:700}.report-text-preview,#dailyReportContent{box-sizing:border-box;width:100%;min-height:260px;max-height:420px;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:16px 18px;background:#fbfcff;color:var(--ink);font-size:13px;line-height:1.8}.report-text-preview{white-space:pre-wrap;overflow-wrap:anywhere}#dailyReportContent{background:#fff;resize:vertical}#dailyReportContent[hidden],#dailyReportPreview[hidden]{display:none!important}
.report-delivery-card{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:14px;padding:12px 14px;border:1px solid #dfe6fa;border-radius:10px;background:#f5f7ff}.report-delivery-card span,.report-delivery-card small{color:var(--muted);font-size:12px}.report-delivery-card b{color:var(--primary);font-size:13px}.report-delivery-card small{margin-left:auto}
@media(max-width:760px){.report-hero{align-items:flex-start;flex-direction:column}.report-hero .primary-button{width:100%}.report-summary{grid-template-columns:1fr 1fr}.report-row{flex-direction:column}.recipient-checks{grid-template-columns:1fr}}
.nav-section-label{margin:18px 12px 6px;padding:0 10px;color:#8290b7;font-size:10px;letter-spacing:.14em;font-weight:700}

/* 可组合的提成规则块 */
.rule-methods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.rule-method{min-height:112px;text-align:left;border:1px solid var(--line);background:#fff;border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:8px;color:var(--ink);cursor:pointer}.rule-method:hover{border-color:#7287ee;background:#f8f9ff}.rule-method.selected{border:2px solid #4b62d9;background:#f4f6ff;box-shadow:0 7px 18px rgba(67,85,190,.12)}.rule-method b{font-size:17px}.rule-method span{font-size:13px;line-height:1.55;color:var(--muted)}
@media(max-width:720px){.rule-methods{grid-template-columns:1fr}}
.bonus-grid-edit{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}
.bonus-grid>.sprint-tier-card{min-width:0;padding:16px;background:#f8faff}
.sprint-tier-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}
.sprint-tier-heading b{font-size:14px;color:var(--ink)}
.sprint-tier-remove{border:0;background:transparent;color:#b04b53;cursor:pointer;padding:5px 7px;white-space:nowrap}
.sprint-tier-remove:hover{background:#fff0f0;border-radius:6px}
.sprint-tier-card label{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 7px;align-items:center;color:var(--muted);font-size:12px;margin-top:10px}
.sprint-tier-card label input{grid-column:1;width:100%;box-sizing:border-box;min-width:0;border:1px solid #dfe3eb;border-radius:8px;padding:10px 11px;background:#fff;font-size:15px;color:var(--ink)}
.sprint-tier-card label span{grid-column:2;grid-row:2;margin:0}
.sprint-add-tile{display:flex;min-height:168px;align-items:center;justify-content:center;flex-direction:column;gap:5px;border:1px dashed #9aa9dc;border-radius:10px;background:#f9faff;color:var(--primary);font-weight:700;cursor:pointer}
.sprint-add-tile:hover{background:#eef2ff;border-color:var(--primary)}
.sprint-add-tile>span{font-size:26px;line-height:1}
.sprint-add-tile small{font-size:11px;color:var(--muted);font-weight:400}
.rule-active-status{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px;padding:6px 10px;border-radius:8px;background:rgba(255,255,255,.15);font-size:13px}.rule-active-status strong{color:#fff}.rule-active-status em{font-style:normal;color:#ffe7a4}.rule-method{position:relative}.rule-method-badge{position:absolute;top:12px;right:12px;padding:3px 7px;border-radius:6px;background:#e7ecff;color:#4058bd;font-size:11px}.rule-method-badge.draft{background:#fff1cf;color:#875c06}.rule-method b{padding-right:68px}.sprint-period-setting{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:4px 0 14px;color:var(--ink)}.sprint-period-setting label{display:flex;align-items:center;gap:8px;font-weight:700}.sprint-period-setting input{width:64px;border:1px solid var(--line);border-radius:8px;padding:7px;text-align:center;font:inherit}.sprint-period-setting small{color:var(--muted)}
#sprintTierGrid.bonus-grid-edit{display:flex;flex-direction:column;gap:7px}#sprintTierGrid .sprint-tier-card{display:grid;grid-template-columns:26px minmax(0,1fr) auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 12px;min-height:0;background:#f8faff}#sprintTierGrid .sprint-tier-index{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#e7ecff;color:var(--primary);font-size:12px}#sprintTierGrid .sprint-tier-card label{display:flex;align-items:center;gap:6px;min-width:0;margin:0;white-space:nowrap}#sprintTierGrid .sprint-tier-card label input{width:100%;min-width:0;padding:7px 9px;font-size:13px}#sprintTierGrid .sprint-tier-card label span{display:inline;margin:0}#sprintTierGrid .sprint-tier-arrow{margin:0;color:var(--muted);font-size:14px}#sprintTierGrid .sprint-add-tile{min-height:36px;display:flex;flex-direction:row;gap:7px;border-radius:8px;font-size:12px}#sprintTierGrid .sprint-add-tile>span{font-size:16px}#sprintTierGrid .sprint-add-tile small{display:none}
@media(max-width:680px){#sprintTierGrid .sprint-tier-card{grid-template-columns:24px 1fr auto;gap:7px}#sprintTierGrid .sprint-tier-card label{grid-column:2}#sprintTierGrid .sprint-tier-arrow{display:none}#sprintTierGrid .sprint-tier-remove{grid-column:3;grid-row:1/3}}
@media(max-width:760px){.rules-hero{gap:14px}.rules-hero>div:last-child{display:flex;flex-wrap:wrap;gap:8px}.setting-tabs{display:flex;width:100%;box-sizing:border-box;overflow-x:auto}.setting-tabs button{flex:1;min-width:max-content;padding:10px 12px;white-space:nowrap}.rule-table-wrap{max-width:100%;-webkit-overflow-scrolling:touch}.panel-head{gap:10px}.bonus-grid-edit{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr))}}
@media(max-width:480px){.bonus-grid-edit{grid-template-columns:1fr}.rules-hero{padding:20px}.rules-hero>div:last-child{width:100%}.rules-hero>div:last-child button{min-width:0}.rules-hero .primary-button,.rules-hero .rules-back{white-space:normal}.panel-head:has(#blockSprint){align-items:flex-start;flex-direction:column}}
.assignment-current{display:flex;flex-direction:column;gap:4px;padding:13px 16px;background:#f4f6ff;border-radius:10px;margin-bottom:12px}.assignment-current small{color:var(--muted)}.assignment-current b{color:var(--ink)}.assignment-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:10px;margin:16px 0}.assignment-option{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;padding:12px;cursor:pointer;min-width:0}.assignment-option:has(input:checked){border-color:var(--primary);background:#f4f6ff}.assignment-option input{accent-color:var(--primary);flex:0 0 auto}.assignment-option>span:last-child{min-width:0}.assignment-option b,.assignment-option small{display:block}.assignment-option small{color:var(--muted);font-size:11px;margin-top:2px}@media(max-width:600px){.assignment-options{grid-template-columns:1fr}}

/* 长表单仅滚动内容区，操作区始终保留在视口内。 */
.modal{overflow:hidden;display:flex;flex-direction:column}
.modal-head,.modal-foot{flex:0 0 auto;background:#fff}
.modal-body{overflow:auto;min-height:0}
.modal-foot{box-shadow:0 -8px 18px rgba(26,40,82,.04)}
.commission-rule-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 16px}.commission-rule-overview button{min-width:0;text-align:left;border:1px solid var(--line);border-radius:12px;background:#fff;padding:14px 16px;cursor:pointer;transition:border-color .15s,box-shadow .15s}.commission-rule-overview button:hover,.commission-rule-overview button:focus-visible{border-color:var(--primary);box-shadow:0 4px 15px rgba(58,78,170,.1)}.commission-rule-overview small,.commission-rule-overview strong,.commission-rule-overview span{display:block}.commission-rule-overview small{color:var(--muted);font-size:11px}.commission-rule-overview strong{margin:5px 0;color:var(--ink);font-size:15px}.commission-rule-overview span{color:#52617f;font-size:11px;line-height:1.55}.management-rule-list{border:1px solid var(--line);border-radius:11px;overflow:hidden}.management-rule-row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(120px,.55fr) minmax(180px,1fr);align-items:center;gap:18px;padding:16px;border-bottom:1px solid var(--line)}.management-rule-row:last-child{border-bottom:0}.management-rule-row:nth-child(even){background:#f8faff}.management-rule-row b,.management-rule-row small{display:block}.management-rule-row small{margin-top:4px;color:var(--muted);font-size:11px}.management-rule-row label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:11px;font-weight:600}.management-rule-row input,.management-rule-row select{width:100%;min-width:0;min-height:38px;box-sizing:border-box;border:1px solid var(--line);border-radius:8px;padding:7px 10px;background:#fff;color:var(--ink);font:inherit;font-size:13px}.management-auto-recipient{color:#52617f;font-size:12px;font-weight:600}@media(max-width:800px){.commission-rule-overview{grid-template-columns:1fr}.management-rule-row{grid-template-columns:1fr 1fr}.management-rule-row>div:first-child{grid-column:1/-1}}@media(max-width:480px){.management-rule-row{grid-template-columns:1fr}.management-rule-row>div:first-child{grid-column:auto}}
.commission-rule-overview button.selected{border-color:var(--primary);background:#f4f6ff;box-shadow:0 3px 12px rgba(58,78,170,.09)}
.commission-overview{padding:0;overflow:hidden;margin-bottom:16px}.commission-overview .panel-head{padding:18px 20px 12px}.commission-overview .panel-head p{margin-top:5px}.commission-overview-scroll{overflow-x:auto}.commission-overview-table{width:100%;border-collapse:collapse;table-layout:fixed}.commission-overview-table th,.commission-overview-table td{padding:12px 14px;text-align:left;vertical-align:middle;border-top:1px solid var(--line);font-size:12px;line-height:1.45}.commission-overview-table thead th{background:#f7f9ff;color:var(--muted);font-weight:600;white-space:nowrap}.commission-overview-table tbody th{font-weight:650;color:var(--ink)}.commission-overview-table th:nth-child(1){width:19%}.commission-overview-table th:nth-child(2){width:19%}.commission-overview-table th:nth-child(3){width:17%}.commission-overview-table th:nth-child(4){width:24%}.commission-overview-table th:nth-child(5){width:14%}.commission-overview-table th:nth-child(6){width:7%}.commission-overview-table select{width:100%;max-width:230px;min-height:36px;border:1px solid var(--line);border-radius:8px;padding:6px 8px;background:#fff;color:var(--ink);font-size:12px}.commission-binding-status{display:inline-block;color:#2b7f64;font-weight:600}.commission-binding-status.needs-attention{color:#b56b2d}.commission-configure-link{border:0;background:transparent;color:var(--primary);font-weight:650;cursor:pointer;white-space:nowrap}.commission-overview-draft{margin:0;padding:10px 20px;background:#fff8e9;color:#925e20;font-size:12px}.management-recipient-readonly{display:block;color:var(--ink);font-size:13px}.management-recipient-readonly small{margin-top:3px}@media(max-width:900px){.commission-overview-table{min-width:810px}}@media(max-width:600px){.commission-overview-table{min-width:0;display:block}.commission-overview-table thead{display:none}.commission-overview-table tbody{display:grid;gap:10px;padding:10px}.commission-overview-table tr{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;border:1px solid var(--line);border-radius:10px;padding:12px}.commission-overview-table th,.commission-overview-table td{width:auto!important;padding:0;border:0}.commission-overview-table tbody th{grid-column:1/-1;font-size:14px}.commission-overview-table td:before{content:attr(data-label);display:block;color:var(--muted);font-size:10px;margin-bottom:3px}.commission-overview-table td:nth-child(4){grid-column:1/-1}.commission-overview-table select{max-width:none}}
@media(max-width:1100px){.commission-overview-table{min-width:0;display:block}.commission-overview-table thead{display:none}.commission-overview-table tbody{display:grid;gap:10px;padding:10px}.commission-overview-table tr{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;border:1px solid var(--line);border-radius:10px;padding:12px}.commission-overview-table th,.commission-overview-table td{width:auto!important;padding:0;border:0}.commission-overview-table tbody th{grid-column:1/-1;font-size:14px}.commission-overview-table td:before{content:attr(data-label);display:block;color:var(--muted);font-size:10px;margin-bottom:3px}.commission-overview-table td:nth-child(4){grid-column:1/-1}.commission-overview-table select{max-width:none}}
.commission-overview .panel-head{gap:16px}.commission-overview .panel-head button{flex:none;white-space:nowrap}.commission-overview .primary-button:disabled{background:#e7ebf5;color:#77829a;box-shadow:none;cursor:not-allowed}.commission-binding-status{white-space:nowrap;font-size:11px}@media(max-width:600px){.commission-overview .panel-head{align-items:flex-start;flex-direction:column}.commission-overview .panel-head button{width:100%}}
.commission-overview-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;cursor:pointer;list-style:none}.commission-overview-summary::-webkit-details-marker{display:none}.commission-overview-summary strong,.commission-overview-summary small{display:block}.commission-overview-summary strong{font-size:16px;color:var(--ink)}.commission-overview-summary small{margin-top:5px;color:var(--muted);font-size:12px;line-height:1.45}.commission-overview-summary-actions{display:flex;align-items:center;gap:12px;flex:none}.commission-overview-pending{font-size:11px;color:#925e20;font-style:normal;white-space:nowrap}.commission-overview-chevron{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:#f3f5fb;color:var(--primary);font-size:22px;line-height:1;transition:transform .18s}.commission-overview[open] .commission-overview-chevron{transform:rotate(180deg)}.commission-overview-summary:hover,.commission-overview-summary:focus-visible{background:#f8faff}.commission-overview-summary:focus-visible{outline:2px solid var(--primary);outline-offset:-3px}.commission-overview-body{border-top:1px solid var(--line)}.commission-overview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px}.commission-overview-toolbar p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.commission-overview-toolbar button{flex:none;white-space:nowrap}@media(max-width:600px){.commission-overview-summary{align-items:flex-start}.commission-overview-summary small{max-width:36ch}.commission-overview-toolbar{align-items:stretch;flex-direction:column}.commission-overview-toolbar button{width:100%}}
.commission-plan-section{margin-bottom:18px}.commission-plan-section .panel-head{gap:16px}.commission-plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:12px}.commission-plan-card{display:flex;flex-direction:column;justify-content:space-between;gap:18px;border:1px solid var(--line);border-radius:12px;padding:18px;background:#fafbff;min-width:0}.commission-plan-card h4{margin:6px 0 8px;font-size:17px}.commission-plan-card p{margin:0 0 8px;line-height:1.5;font-size:12px}.commission-plan-card small,.commission-plan-kicker{color:var(--muted);font-size:11px}.commission-plan-actions{display:flex;flex-wrap:wrap;gap:7px}.commission-plan-table-wrap{overflow-x:auto}.commission-plan-table{width:100%;border-collapse:collapse}.commission-plan-table th,.commission-plan-table td{text-align:left;border-top:1px solid var(--line);padding:12px;font-size:12px}.commission-plan-table th{width:24%}.commission-plan-table td select{width:100%;max-width:340px;min-height:38px;border:1px solid var(--line);border-radius:8px;padding:7px;background:#fff}.commission-plan-form{display:grid;gap:18px}.commission-plan-form label{display:grid;gap:6px;font-size:12px;font-weight:600}.commission-plan-form input:not([type=checkbox]),.commission-plan-form select{width:100%;min-height:38px;border:1px solid var(--line);border-radius:8px;padding:7px 9px;background:#fff;color:var(--ink)}.commission-plan-form label:has(input[type=checkbox]){display:flex;align-items:center;gap:7px}.commission-plan-form-section{border:1px solid var(--line);border-radius:12px;padding:16px}.commission-plan-form-section h4{margin:0 0 12px}.commission-plan-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-bottom:12px}.commission-plan-rate-grid{display:grid;gap:8px}.commission-plan-rate-row{display:grid;grid-template-columns:130px repeat(3,minmax(90px,1fr));align-items:center;gap:10px}.commission-plan-tier{display:grid;grid-template-columns:1fr 1fr auto;gap:9px;align-items:end;margin-bottom:8px}@media(max-width:720px){.commission-plan-section .panel-head{align-items:flex-start;flex-direction:column}.commission-plan-section .panel-head button{width:100%}.commission-plan-rate-row{grid-template-columns:1fr 1fr}.commission-plan-rate-row b{grid-column:1/-1}.commission-plan-tier{grid-template-columns:1fr 1fr}.commission-plan-tier button{grid-column:1/-1}}
.picker-hint{display:block;margin-top:5px;color:var(--muted);font-size:11px;line-height:1.4}
.picker-hint.selected{color:#21875d}
.warning-note{background:#fff7e8;color:#a86b16;border:1px solid #f5d9a5}

/* 资料库是扫读型表格：长名称固定单行，完整内容通过原生悬停提示查看。 */
.library-table{table-layout:fixed;min-width:920px}
.library-table th:nth-child(1){width:39%}
.library-table th:nth-child(2){width:130px}
.library-table th:nth-child(3){width:auto}
.library-table th:nth-child(4){width:130px}
.library-table th:nth-child(5){width:92px}
.library-table td:nth-child(2) .tag{white-space:nowrap}
.library-filters{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:16px}.library-filters .search-box{flex:1 1 280px;max-width:420px}.library-filters .search-box input{width:100%;height:40px;box-sizing:border-box}.library-filters .filter-select,.library-filters .ghost-button{height:40px}.library-filters .filter-select{min-width:140px}.library-filters .ghost-button[hidden]{display:none}.library-result-count{margin-left:auto;color:var(--muted);font-size:12px;white-space:nowrap}@media(max-width:640px){.library-filters .search-box{flex-basis:100%;max-width:none}.library-filters .filter-select{flex:1 1 130px;min-width:0}.library-result-count{width:100%;margin-left:0}}
.report-filters{display:flex;align-items:end;flex-wrap:wrap;gap:10px;margin:0 0 16px}.report-filters label{display:grid;gap:5px;color:var(--muted);font-size:11px}.report-filters input{border:1px solid var(--line);border-radius:9px;padding:9px 11px;background:#fff;color:var(--ink);font:inherit;font-size:12px}.report-filters>button{min-height:37px}.report-member-list{display:grid;gap:6px;max-height:330px;overflow:auto;margin-top:14px}.report-member-option{border:1px solid var(--line);border-radius:9px;padding:11px 14px;text-align:left;background:#fff;color:var(--ink);cursor:pointer}.report-member-option:hover{background:var(--primary-soft);border-color:var(--primary)}.report-member-option[hidden]{display:none}
.library-title,.library-resource-link{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.library-match{background:#fff0a8;color:inherit;border-radius:3px;padding:0 1px}
.reminder-workspace{display:grid;grid-template-columns:190px minmax(0,1fr);gap:18px;align-items:start}.reminder-sidebar,.reminder-main{border:1px solid var(--line);border-radius:16px;background:#fff}.reminder-sidebar{padding:16px;display:grid;gap:5px}.reminder-sidebar>b{padding:8px 12px 12px}.reminder-sidebar>button{border:0;background:transparent;color:var(--ink);border-radius:9px;padding:11px 12px;text-align:left;cursor:pointer;display:flex;justify-content:space-between;font:inherit}.reminder-sidebar>button.active{background:var(--primary-soft);color:var(--primary);font-weight:700}.reminder-sidebar span{color:var(--muted)}.reminder-main{min-height:420px;padding:0 22px 20px}.reminder-main .panel-head h2{margin:0}.reminder-main .panel-head h2 small{font-size:14px;color:var(--muted);font-weight:400}.reminder-quick-add{display:flex;align-items:center;gap:8px;padding:11px;margin:12px 0 18px;border:1px solid var(--line);border-radius:12px}.reminder-quick-add>input[name=title]{flex:1;min-width:120px;border:0;outline:0;font:inherit}.reminder-quick-add input[type=date],.reminder-quick-add select{border:1px solid var(--line);border-radius:8px;padding:8px;max-width:170px}.reminder-quick-add label{white-space:nowrap;font-size:13px}.reminder-task-row{display:flex;align-items:center;gap:12px;padding:13px 7px;border-bottom:1px solid var(--line)}.reminder-check{border:0;background:none;color:var(--muted);font-size:27px;cursor:pointer;line-height:1}.reminder-task-title{flex:1;min-width:0;border:0;background:none;color:var(--ink);text-align:left;cursor:pointer;font:inherit}.reminder-task-title b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reminder-task-title small{display:block;color:var(--muted);margin-top:3px}.reminder-due{font-size:12px;color:var(--muted);white-space:nowrap}.reminder-task-row.completed{opacity:.65}.reminder-task-row.completed .reminder-task-title b{text-decoration:line-through}@media(max-width:800px){.reminder-workspace{grid-template-columns:1fr}.reminder-sidebar{display:flex;flex-wrap:wrap}.reminder-sidebar>b{width:100%}.reminder-quick-add{flex-wrap:wrap}.reminder-quick-add>input[name=title]{flex-basis:100%}.reminder-due{display:none}}
.library-resource-cell{display:flex;align-items:center;gap:7px;min-width:0;overflow:hidden;white-space:nowrap}
.library-resource-cell .library-resource-link{min-width:0;flex:1 1 auto}
.library-resource-cell .resource-separator{flex:0 0 auto;color:var(--muted)}

.type-manager-row{display:flex;gap:10px;align-items:center;margin-bottom:10px}
.type-manager-row input{flex:1;min-width:0}

.customer-contacts-field>.section-head{margin:0 0 10px}.customer-contacts-field>.section-head label{font-weight:600}.customer-contact-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) 32px;gap:10px;align-items:end;padding:12px;border:1px solid var(--line);border-radius:10px;margin-bottom:10px;background:#fafbfe}.customer-contact-row .form-field{min-width:0}.customer-contact-row .form-field label{font-size:11px}.contact-remove{width:32px;height:32px;border:0;border-radius:8px;background:#fff0f0;color:#c95151;font-size:20px;line-height:1;cursor:pointer}.contact-remove:hover{background:#ffe2e2}
.channel-invoice{border-top:1px solid var(--line);padding-top:14px}.channel-invoice summary{cursor:pointer;color:var(--ink);font-weight:600;font-size:13px}.channel-invoice summary span{font-size:11px;color:var(--muted);font-weight:400;margin-left:6px}.channel-invoice .form-grid{margin-top:15px}.channel-invoice[open] summary{margin-bottom:3px}.form-field[hidden]{display:none}
@media(max-width:900px){.customer-contact-row{grid-template-columns:1fr 1fr}.contact-remove{justify-self:end}}

/* Quick customer entry: essential fields first; optional information stays available. */
.customer-entry-modal.modal.wide{width:min(720px,96vw)}
.customer-entry-modal .modal-body{padding:18px 22px}
.customer-entry-intro{margin:0 0 18px;color:var(--muted);font-size:13px;line-height:1.5}
.customer-quick-form>.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.customer-quick-form .form-field{min-width:0}
.customer-quick-form input,.customer-quick-form select{width:100%;min-width:0;min-height:42px}
.customer-quick-form input[type=checkbox]{width:auto;min-height:0}
.customer-optional{font-size:11px;color:var(--muted);font-weight:400;margin-left:4px}
.customer-contacts-field>.section-head{margin:0 0 9px;gap:12px}
.customer-contacts-field>.section-head>span{font-size:13px;font-weight:600}
.customer-contacts-field>.section-head small{margin-left:7px;font-size:11px;color:var(--muted);font-weight:400}
.customer-contacts-field>.section-head .link-button{font-size:12px;white-space:nowrap}
.customer-quick-form .customer-contact-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 28px;gap:10px 12px;margin-bottom:10px;padding:14px;background:#f8faff}
.customer-quick-form .customer-contact-row:last-child{margin-bottom:0}
.customer-quick-form .contact-remove{align-self:end;margin-bottom:5px;width:28px;height:28px;background:transparent;color:var(--muted)}
.customer-quick-form .contact-remove:hover{background:var(--red-soft);color:#c95151}
.customer-contact-row:only-child>.contact-remove{visibility:hidden}
.customer-contact-extra{grid-column:1/-1}
.customer-contact-extra summary{font-size:12px;color:var(--muted);cursor:pointer;width:fit-content}
.customer-contact-extra>.form-grid{margin-top:12px;gap:12px}
.customer-extra-fields{grid-column:1/-1;border:1px solid var(--line);border-radius:10px;background:#fff}
.customer-extra-fields>summary{padding:13px 14px;cursor:pointer;font-size:13px;color:var(--ink)}
.customer-extra-fields>summary>span{font-weight:600}
.customer-extra-fields>summary>small{margin-left:10px;color:var(--muted);font-weight:400;font-size:11px}
.customer-extra-fields[open]>summary{border-bottom:1px solid var(--line)}
.customer-extra-fields>.form-grid{padding:16px 14px}
.customer-quick-form #collisionBox{grid-column:1/-1}
.customer-quick-form #collisionBox:empty{display:none}
.customer-quick-form #collisionBox .collision{margin-top:0}
.customer-risk-note{padding:14px 16px;border:1px solid #ebd5a7;border-radius:10px;background:#fffbf2;color:#6b4b18;font-size:13px;line-height:1.6}
.customer-risk-note.is-exact{background:#fff5f5;border-color:#edc9ce;color:#9e3546}
.customer-risk-note>p{margin:5px 0 10px;font-size:12px}.customer-risk-note>small{display:block;font-size:11px;opacity:.85}
.customer-risk-list{display:grid;gap:8px;max-height:260px;overflow:auto}.customer-risk-list>div{padding:10px 12px;border:1px solid #eddfc5;border-radius:8px;background:#fff}
.customer-risk-list strong,.customer-risk-list small{display:block;overflow-wrap:anywhere}.customer-risk-list small{font-size:11px;color:#7b6b52}
.customer-risk-note label{display:flex;align-items:flex-start;gap:8px;margin:8px 0 0;font-size:12px;font-weight:500;cursor:pointer}
.customer-risk-note input[type=checkbox]{flex:none;width:16px;height:16px;margin:2px 0;accent-color:var(--primary)}
.customer-risk-note .customer-risk-confirm{padding-top:9px;margin-top:10px;border-top:1px solid #eddfc5;font-weight:600}
.customer-risk-list details{margin-top:6px}.customer-risk-list summary{font-size:11px;cursor:pointer;color:#52617e}
.customer-related-summary{margin:0 0 18px;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:#f8faff;display:flex;flex-wrap:wrap;gap:10px 16px}
.customer-related-summary>div{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px}.customer-related-summary b{font-size:13px}.customer-related-summary .link-button{text-align:left;overflow-wrap:anywhere;font-size:12px}
#customerRelationForm{display:grid;grid-template-columns:1fr;gap:14px;margin:18px 0 24px}#customerRelationForm>.primary-button{justify-self:start}
.customer-relation-results{display:grid;gap:4px;max-height:200px;overflow:auto}.customer-relation-results:empty{display:none}
.customer-relation-results button{border:1px solid var(--line);border-radius:7px;padding:9px 12px;background:#fff;text-align:left;color:var(--ink);font:inherit;font-size:13px;cursor:pointer;overflow-wrap:anywhere}.customer-relation-results button:hover{background:var(--primary-soft);border-color:var(--primary)}.customer-relation-results small{font-size:12px;color:var(--muted)}
.customer-relation-list>div{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid var(--line)}.customer-relation-list>div>div{min-width:0}.customer-relation-list small{display:block;font-size:12px;color:var(--muted);margin-top:4px;overflow-wrap:anywhere}.customer-relation-list .link-button{text-align:left}.customer-relation-list>div>.link-button{flex:none;color:#a44e5a;font-size:12px}
.related-back{display:block;margin-bottom:12px;text-align:left;overflow-wrap:anywhere}
.customer-extra-fields .check-pill{position:relative}
.customer-extra-fields .check-pill input{display:block;position:absolute;width:1px;height:1px;opacity:0}
.customer-extra-fields .check-pill input:focus-visible+span{outline:2px solid var(--primary);outline-offset:2px}
@media(max-width:560px){.customer-entry-modal .modal-body{padding:16px}.customer-quick-form>.form-grid{grid-template-columns:1fr}.customer-quick-form .customer-contact-row{grid-template-columns:minmax(0,1fr) 28px}.customer-contact-row>.form-field{grid-column:1}.customer-quick-form .contact-remove{grid-column:2;grid-row:1}.customer-extra-fields>summary>small{display:block;margin:5px 0 0 16px}.customer-contact-extra>.form-grid{grid-template-columns:1fr}}

/* 客户筛选工具条：筛选优先，配置入口保持低强调且所有操作文案不换行。 */
.toolbar-left{min-width:0;flex-wrap:wrap}
.toolbar>.primary-button,.customer-type-manage{white-space:nowrap;flex:0 0 auto}
.customer-type-manage{padding:9px 11px;color:#53617d;background:#fff}
@media(min-width:761px){.toolbar>.primary-button{margin-left:auto}}

/* 客户筛选与表格使用稳定列宽，窄屏横向滚动，不再把标签或操作按钮挤成两行。 */
.customer-toolbar{align-items:start}
.customer-toolbar .toolbar-left{flex:1;display:grid;grid-template-columns:minmax(220px,1.5fr) repeat(5,minmax(132px,1fr));gap:10px;min-width:0}
.customer-toolbar .search-box,.customer-toolbar .search-box input,.customer-toolbar .filter-select{width:100%;min-width:0;box-sizing:border-box}
.customer-toolbar-actions{display:flex;gap:10px;align-items:center;flex:none}
.customer-toolbar-actions button{white-space:nowrap}
.customer-table-panel{overflow-x:auto}
.customer-table{min-width:1380px;table-layout:fixed}
.customer-table th,.customer-table td{box-sizing:border-box}
.customer-table th{white-space:nowrap}
.customer-table th:nth-child(1){width:60px}.customer-table th:nth-child(2){width:280px}.customer-table th:nth-child(3){width:150px}.customer-table th:nth-child(4){width:145px}.customer-table th:nth-child(5){width:155px}.customer-table th:nth-child(6){width:150px}.customer-table th:nth-child(7){width:160px}.customer-table th:nth-child(8){width:105px}.customer-table th:nth-child(9){width:105px}
.customer-table .tag,.customer-table .owner-cell,.customer-row-actions{white-space:nowrap}
.customer-table .owner-cell{min-width:0}.customer-table .owner-cell>span:last-child{overflow:hidden;text-overflow:ellipsis}
.customer-table td:nth-child(2) .customer-name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere;line-height:1.45}
.customer-table td:nth-child(7){font-variant-numeric:tabular-nums;white-space:nowrap}
.customer-row-actions{display:flex;align-items:center;gap:6px}.customer-row-actions button{padding:8px 10px}
/* 操作列固定在可视区域右侧，避免表格横向滚动时管理员入口完全消失。 */
.customer-table th:last-child,.customer-table td:last-child{position:sticky;right:0;z-index:2;background:#fff;box-shadow:-8px 0 14px -12px rgba(31,45,82,.35)}
.customer-table th:last-child{z-index:3;background:#fafbfc}
.customer-table tbody tr:hover td:last-child{background:#fafbff}
@media(max-width:1550px){.customer-toolbar .toolbar-left{grid-template-columns:repeat(3,minmax(160px,1fr))}.customer-toolbar .search-box{grid-column:span 1}}
@media(max-width:1050px){.customer-toolbar{flex-direction:column}.customer-toolbar .toolbar-left{width:100%}.customer-toolbar-actions{align-self:flex-end}}
@media(max-width:700px){.customer-toolbar .toolbar-left{grid-template-columns:repeat(2,minmax(0,1fr))}.customer-toolbar .search-box{grid-column:1/-1}}
@media(max-width:440px){.customer-toolbar .toolbar-left{grid-template-columns:1fr}}

.reminder-quick-add .entity-picker{flex:0 1 240px;min-width:190px}
.reminder-quick-add .entity-picker input{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:8px;padding:8px;font:inherit}
.reminder-quick-add .picker-hint{display:none}
@media(max-width:800px){.reminder-quick-add .entity-picker{flex:1 1 210px}}

/* 客户列表分页：默认十条，同时将密度选择和翻页控制收敛在表格底部。 */
.table-pagination{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}.pagination-controls{display:flex;align-items:center;gap:8px}.pagination-controls label{display:flex;align-items:center;gap:6px;white-space:nowrap}.pagination-controls select{height:32px;padding:0 26px 0 9px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text)}.pagination-button{padding:6px 10px;min-height:32px;font-size:13px}.pagination-button:disabled{opacity:.45;cursor:not-allowed}.pagination-current{min-width:42px;text-align:center;color:var(--text);font-variant-numeric:tabular-nums}@media(max-width:680px){.table-pagination{align-items:flex-start;flex-direction:column}.pagination-controls{width:100%;flex-wrap:wrap}.pagination-summary{white-space:nowrap}}

/* 跟进记录的编辑入口保持低强调，避免与“写跟进”主操作竞争。 */
.followup-actions{display:flex;align-items:center;gap:10px}.followup-edit{font-size:12px;padding:2px 0}@media(max-width:560px){.followup-actions{gap:6px}}

/* 提成方案：把计算方式、折扣区间及可叠加奖励组织成可顺读的规则积木。 */
.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}
.commission-builder-modal.modal.wide{width:min(1040px,96vw)}
.commission-builder-modal .modal-body{padding:22px 28px}
.commission-plan-builder{gap:0}.commission-builder-name{display:grid!important;grid-template-columns:120px minmax(0,1fr);align-items:center;gap:16px!important;font-size:14px!important}
.commission-builder-name input{font-size:16px}.commission-builder-intro{margin:12px 0 18px 136px;color:var(--muted);font-size:13px;line-height:1.6}
.commission-builder-block{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;position:relative;padding-bottom:18px}
.commission-builder-block:not(:last-child):before{content:"";position:absolute;top:40px;bottom:0;left:21px;width:1px;background:#d8e1ff}
.commission-builder-step{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--primary);color:#fff;font-size:17px;font-weight:700;position:relative;z-index:1}
.commission-builder-content{min-width:0;padding:18px 20px;border:1px solid var(--line);border-radius:12px;background:#fff}
.commission-builder-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 14px;margin-bottom:14px}.commission-builder-head h4{font-size:16px;margin:0}.commission-builder-head p{font-size:12px;color:var(--muted);margin:0;line-height:1.5}
.commission-method-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}
.commission-method-picker button{display:flex;flex-direction:column;align-items:flex-start;gap:5px;text-align:left;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);padding:12px 14px;cursor:pointer}
.commission-method-picker button.selected{border-color:var(--primary);background:#f3f6ff;box-shadow:0 0 0 1px var(--primary) inset}.commission-method-picker button small{color:var(--muted);font-size:11px}
.commission-builder-boundaries{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;margin-bottom:7px}.commission-builder-boundaries label{display:flex;align-items:center;gap:6px!important;font-size:13px}.commission-builder-boundaries input{width:74px!important;text-align:center;font-weight:700}
.commission-builder-hint{font-size:11px;color:var(--muted);margin:0 0 12px}.commission-builder-hint.invalid{color:#ae404d}
.commission-builder-table-wrap{overflow-x:auto}.commission-builder-table{width:100%;border-collapse:collapse;table-layout:fixed}.commission-builder-table th,.commission-builder-table td{border-bottom:1px solid var(--line);padding:9px 10px;text-align:left}.commission-builder-table thead th{background:#f7f9fe;color:#526078;font-size:12px}.commission-builder-table tbody th{font-size:13px;white-space:nowrap}.commission-builder-table td input{max-width:130px}.commission-builder-table td label{display:block}
.commission-builder-inline{display:flex;align-items:end;gap:18px;flex-wrap:wrap}.commission-builder-inline label{min-width:220px;max-width:280px}.commission-builder-inline span{font-size:12px;color:var(--muted);padding-bottom:8px}
#planTierFields[hidden],#planFixedFields[hidden]{display:none!important}
@media(max-width:720px){.commission-builder-modal .modal-body{padding:18px 16px}.commission-builder-name{display:grid!important;grid-template-columns:1fr}.commission-builder-intro{margin:10px 0 18px}.commission-builder-block{grid-template-columns:32px minmax(0,1fr);gap:8px}.commission-builder-step{width:32px;height:32px;font-size:14px}.commission-builder-block:not(:last-child):before{left:15px;top:32px}.commission-builder-content{padding:14px}.commission-method-picker{grid-template-columns:1fr}.commission-builder-table{min-width:560px}}
/* 日报文档：一张纸内编辑正文、客户盘点和补充备注 */
.report-compose-modal.modal.wide{width:min(960px,96vw);height:min(900px,92vh)}
.report-compose-modal .modal-body{padding:16px 22px;background:#f6f7fa;display:flex;flex-direction:column;overflow:hidden;min-height:0}
#reportEditorArea,#dailyReportForm{display:flex;flex-direction:column;flex:1;min-height:0}
#reportEditorArea[hidden],#reportDeliveryPreview[hidden]{display:none}
#reportDeliveryPreview{overflow:auto;min-height:0}
.report-compose-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.report-generation-modes{display:inline-flex;gap:2px;background:#e9edf5;border:1px solid #e2e6ee;border-radius:9px;padding:3px}
.report-generation-modes button{border:0;background:transparent;border-radius:6px;padding:6px 17px;font:inherit;font-size:12px;color:#61708b}
.report-generation-modes button[aria-pressed=true]{background:#fff;box-shadow:0 1px 4px #263c7d12;color:var(--primary);font-weight:600}
.report-generation-modes button:disabled{opacity:.6;cursor:default}
.report-document-status{font-size:11px;color:var(--muted);line-height:1.7;margin-bottom:12px}
.report-document-shell{border:1px solid #dfe3eb;border-radius:10px;overflow:hidden;background:#edf0f5;display:flex;flex-direction:column;flex:1;min-height:0}
.report-document-toolbar{display:flex;align-items:center;gap:3px;flex-wrap:wrap;padding:7px 12px;background:#fff;border-bottom:1px solid var(--line)}
.report-document-toolbar button{min-width:31px;height:29px;border:0;background:transparent;border-radius:5px;font:inherit;font-size:12px;color:#4b5870;padding:4px 8px}
.report-document-toolbar button:hover{background:#eef2fa;color:var(--primary)}
.report-document-toolbar button:focus-visible{outline:2px solid #8195e5;outline-offset:1px}
.report-document-toolbar i{height:17px;width:1px;background:var(--line);margin:0 6px}
.report-document-scroll{padding:20px 25px;flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}
.report-document{max-width:740px;min-height:490px;margin:0 auto;background:#fff;box-shadow:0 2px 9px #29385f0c;border:1px solid #e5e8ee;padding:34px 46px 42px;font-size:14px;line-height:1.9;overflow-wrap:anywhere;color:#263247;cursor:text}
.report-document header{margin-bottom:24px;padding-bottom:18px;border-bottom:1px solid #eff1f5;cursor:default}
.report-document header small{font-size:11px;color:var(--muted)}
.report-document h1{font-size:26px;letter-spacing:.05em;margin:5px 0 0;line-height:1.5}
.report-document h2{font-size:17px;line-height:1.6;margin:26px 0 12px;color:#17233f}
.report-document h3{font-size:14px;line-height:1.7;margin:17px 0 7px;color:#263247}
.report-document h3>span{font-weight:400;font-size:12px;color:var(--muted)}
.report-document h4{font-size:14px;line-height:1.8;margin:14px 0 2px}
.report-document p{margin:5px 0;white-space:pre-wrap}
.report-document p:has(>br:only-child){margin:0;line-height:8px}
.report-document ul,.report-document ol{padding-left:22px;margin:6px 0}
.report-document li{margin:3px 0}
.report-document [data-report-editable]{outline:none;min-height:30px;white-space:pre-wrap;border-radius:2px}
.report-document [data-report-editable]:focus-visible{box-shadow:-2px 0 #b7c5ef}
.report-document [data-report-editable]:has(>p:only-child>br:only-child):not(:focus):before{content:attr(data-placeholder);color:#a0a8b6;float:left;pointer-events:none}
.report-document .report-document-fact{font-size:10px;color:#8b94a5;line-height:1.7;margin:3px 0 9px;cursor:default}
.report-document-customer{margin-bottom:12px}
.report-document-bottom{display:flex;justify-content:space-between;gap:12px;padding:8px 13px;background:#fff;border-top:1px solid var(--line);font-size:10px;color:#8993a6}
.report-document-destination{font-size:11px;color:var(--muted);margin-top:10px;text-align:right}
#reportDeliveryText{white-space:normal;line-height:1.9;background:#fff}#reportDeliveryText p{white-space:pre-wrap;margin:7px 0}#reportDeliveryText h3{margin:18px 0 8px;font-size:14px}#reportDeliveryText ul{padding-left:22px}
.report-detail-body p{white-space:pre-wrap}.report-detail-body h3{font-size:14px;margin:18px 0 8px}.report-detail-body ul{padding-left:22px}
@media(max-width:600px){.report-compose-modal .modal-body{padding:12px}.report-compose-bar{gap:8px;flex-wrap:wrap}.report-generation-modes button{padding:6px 13px}.report-compose-bar>.secondary-button{font-size:11px;padding:8px 10px}.report-document-scroll{padding:10px 7px}.report-document{padding:22px 20px;min-height:400px;font-size:13px}.report-document h1{font-size:23px}.report-document-toolbar{gap:1px;padding:6px}.report-document-toolbar button{padding:4px 6px;font-size:11px}.report-document-bottom{font-size:9px}}
