:root{color:#1a3550;--primary:#4a9fdb;--primary-strong:#2580c4;--primary-deep:#1565a0;--primary-soft:#c8e4f7;--primary-softer:#4a9fdb24;--success:#00b42a;--success-soft:#00b42a1f;--warning:#ff7d00;--warning-soft:#ff7d001f;--danger:#f53f3f;--danger-soft:#f53f3f1f;--purple:#722ed1;--purple-soft:#722ed11f;--surface:#ffffffc7;--surface-strong:#fffffff0;--surface-pure:#fff;--border:#2580c42e;--border-strong:#2580c452;--text-main:#1a3550;--text-secondary:#4a6a80;--text-muted:#8aa6b8;--shadow-xs:0 1px 2px #0f28460a;--shadow-sm:0 2px 8px #2580c40f;--shadow-md:0 4px 16px #2580c41a;--shadow-lg:0 8px 24px #2580c424;--shadow-xl:0 16px 48px #2580c433;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#d8ecfa;font-family:Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:17px;font-weight:400;line-height:1.6}*{box-sizing:border-box}html,body,#app{min-height:100vh;margin:0}body{background:radial-gradient(circle at 0 0,#fffffffa,#daf0ffe6 42%,#0000 72%),linear-gradient(#f3fbff 0%,#e6f5ff 100%)}button,a,input,select,textarea{font:inherit}button{cursor:pointer;background:0 0;border:0}a{color:inherit;text-decoration:none}h1,h2,p{margin:0}#app{width:100%}.crm-shell{background:#ffffff4d;grid-template-columns:244px minmax(0,1fr);min-height:100vh;display:grid}.workspace{min-width:0;padding:20px 24px 32px}.sidebar{border-right:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(#1a3d5c 0%,#214a6e 40%,#1a4264 100%);flex-direction:column;height:100vh;padding:18px 14px 24px;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}.brand-card{border-radius:var(--radius-lg);background:linear-gradient(135deg,#4a9fdb40,#2580c41a);border:1px solid #4a9fdb33;align-items:center;gap:12px;margin-bottom:20px;padding:14px;display:flex}.brand-mark{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--primary), #6cb8e8);color:#fff;flex-shrink:0;place-items:center;width:42px;height:42px;font-size:18px;font-weight:700;display:grid;box-shadow:0 4px 12px #4a9fdb66}.brand-card h1{letter-spacing:-.02em;color:#fff;font-size:17px;font-weight:600;line-height:1.2}.brand-card p{color:#ffffff8c;letter-spacing:.02em;margin-top:3px;font-size:11px}.sidebar-nav{flex-direction:column;flex:1;gap:18px;display:flex}.nav-group{flex-direction:column;gap:2px;display:flex}.nav-group-title{color:#ffffff59;text-transform:uppercase;letter-spacing:.1em;padding:0 12px 6px;font-size:10px;font-weight:600}.nav-link{border-radius:var(--radius-md);color:#ffffffa6;text-align:left;align-items:center;gap:10px;width:100%;padding:10px 12px;font-size:14px;font-weight:500;transition:all .18s;display:flex;position:relative}.nav-icon{opacity:.8;flex-shrink:0;place-items:center;width:20px;height:20px;font-size:14px;display:grid}.nav-label{flex:1}.nav-link:hover{color:#fff;background:#4a9fdb26}.nav-link.active{background:linear-gradient(135deg, var(--primary), #6cb8e8);color:#fff;font-weight:600;box-shadow:0 4px 14px #4a9fdb66}.nav-link.active .nav-icon{opacity:1}.workspace{min-width:0;padding:20px 24px 32px;overflow-x:hidden}.topbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:16px;padding-bottom:20px;display:flex}.topbar-left{flex-direction:column;gap:14px;display:flex}.page-head{flex-direction:column;gap:4px;display:flex}.page-head.compact{max-width:720px}.page-kicker{color:var(--text-muted);text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:600}.page-head h2{letter-spacing:-.03em;color:var(--text-main);margin:0;font-size:26px;font-weight:700}.page-head p{color:var(--text-secondary);font-size:14px}.action-group{flex-wrap:wrap;gap:10px;display:flex}.action-btn,.ghost-btn,.refresh-btn,.toolbar-select,.summary-card,.stage-card,.panel,.metric-box,.follow-card{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-xs)}.action-btn{border-radius:var(--radius-md);min-height:42px;color:var(--text-main);padding:0 18px;font-weight:500;transition:all .18s}.action-btn:hover,.ghost-btn:hover,.refresh-btn:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.action-btn.primary{background:linear-gradient(135deg, var(--primary-deep), var(--primary));color:#fff;border-color:#0000;font-weight:600;box-shadow:0 4px 14px #2580c44d}.action-btn.primary:hover{filter:brightness(1.06);box-shadow:0 8px 22px #2580c466}.toolbar{align-items:center;gap:10px;display:flex}.toolbar-select{border-radius:var(--radius-md);min-height:38px;color:var(--text-secondary);align-items:center;gap:8px;padding:0 14px;font-size:13px;display:flex}.toolbar-role{background:var(--primary-softer);border-color:var(--border-strong);gap:6px}.toolbar-role select{color:var(--text-main);cursor:pointer;background:0 0;border:0;outline:none;font-size:13px;font-weight:600}.toolbar-select strong{color:var(--text-main)}.refresh-btn{border-radius:var(--radius-md);width:38px;height:38px;color:var(--primary-deep);place-items:center;font-size:18px;transition:transform .3s;display:grid}.refresh-btn:hover{transform:rotate(180deg)}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:4px;display:grid}.summary-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.summary-card{border-radius:var(--radius-lg);flex-direction:column;gap:6px;min-height:108px;padding:18px 20px;transition:all .22s;display:flex;position:relative;overflow:hidden}.summary-card:before{content:"";background:linear-gradient(90deg, var(--primary), var(--primary-strong));opacity:.85;height:3px;position:absolute;top:0;left:0;right:0}.summary-card:after{content:"";background:var(--primary-softer);opacity:.4;border-radius:50%;width:80px;height:80px;position:absolute;bottom:-20px;right:-20px}.summary-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}.summary-card:first-child:before{background:linear-gradient(90deg, var(--primary), var(--primary-strong))}.summary-card:nth-child(2):before{background:linear-gradient(90deg, var(--warning), #ff9d40)}.summary-card:nth-child(3):before{background:linear-gradient(90deg, var(--success), #2faa6a)}.summary-card:nth-child(4):before{background:linear-gradient(90deg, var(--purple), #9259de)}.card-label,.stage-label,.footer-label{color:var(--text-secondary);font-size:13px;font-weight:500}.card-value{letter-spacing:-.03em;z-index:1;font-size:32px;font-weight:700;line-height:1.1}.card-note,.stage-note,.follow-meta,.empty-box,.order-meta{color:var(--text-muted);font-size:12px}.panel{border-radius:var(--radius-xl);padding:18px}.section-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;padding-bottom:12px;display:flex}.section-head.compact{margin-bottom:12px;padding-bottom:10px}.section-head h2{letter-spacing:-.01em;color:var(--text-main);font-size:17px;font-weight:700}.section-tip{color:var(--text-muted);font-size:12px;font-weight:500}.stage-strip{grid-template-columns:repeat(8,minmax(110px,1fr));gap:10px;padding-bottom:4px;display:grid;overflow-x:auto}.stage-card{border-radius:14px;flex-direction:column;gap:8px;min-height:104px;padding:14px 12px;display:flex}.stage-card.active{background:#dff2ffeb;border-color:#5eb6eb59}.stage-count{font-size:20px;line-height:1.1}.content-grid{grid-template-columns:minmax(0,1.35fr) minmax(420px,1fr);gap:12px;margin-top:12px;display:grid}.content-grid.form-expanded{grid-template-columns:1fr}.module-grid{align-items:start}.todo-panel{min-height:100%}.ghost-btn{border-radius:var(--radius-md);min-height:38px;color:var(--text-main);padding:0 16px;font-size:14px;font-weight:500}.compact-btn{border-radius:var(--radius-sm);min-height:32px;padding:0 12px;font-size:12px;font-weight:500;transition:all .18s}.compact-btn:hover{background:var(--primary-softer);border-color:var(--primary);color:var(--primary-deep)}.danger-btn{border-color:var(--danger);color:var(--danger)}.danger-btn:hover{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}.order-card{border:1px solid var(--border);background:linear-gradient(#fffffff5,#ebf7ffc7);border-radius:18px;padding:16px}.order-card-top{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.order-no-row{align-items:center;gap:8px;display:flex}.order-no{letter-spacing:-.01em;font-size:17px}.confirm-btn{background:linear-gradient(135deg, var(--primary-deep), var(--primary));color:#fff;border-radius:12px;min-width:90px;min-height:74px;padding:0 14px;font-size:16px;font-weight:600}.metric-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}.metric-box{border-radius:12px;flex-direction:column;gap:6px;min-height:74px;padding:12px;display:flex}.metric-box span{color:var(--text-secondary);font-size:13px}.metric-box strong{font-size:16px}.timeline-pills{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.status-pill{border:1px solid var(--border);min-height:26px;color:var(--text-main);white-space:nowrap;background:#ffffffd9;border-radius:999px;justify-content:center;align-items:center;padding:0 10px;font-size:12px;font-weight:500;display:inline-flex}.status-chip{white-space:nowrap;border-radius:3px;padding:2px 8px;font-size:12px;font-weight:500;display:inline-block}.status-chip.clickable{cursor:pointer}.status-pill.dark{background:linear-gradient(135deg, var(--primary-deep), var(--primary));color:#fff;border-color:#0000;font-weight:600}.status-pill.muted{background:var(--warning-soft);color:#b25c00;border-color:#ff7d0033}.status-pill.light{color:#6c8ba2;background:#f1fafff5}.status-pill.info{background:var(--primary-softer);color:var(--primary-deep);border-color:var(--border-strong)}.status-pill.success{background:var(--success-soft);color:var(--success);border-color:#00b42a33}.status-pill.error{background:var(--danger-soft);color:var(--danger);border-color:#f53f3f33}.status-pill.warning{background:var(--warning-soft);color:var(--warning);border-color:#ff7d0033}.order-footer{border-top:1px solid #5eb6eb29;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px;padding-top:16px;display:grid}.order-footer strong{margin-top:4px;font-size:15px;display:block}.side-stack{flex-direction:column;gap:12px;display:flex}.info-panel{min-height:188px}.empty-box{padding:14px 0 4px}.empty-hint{text-align:center;color:var(--text-tertiary);padding:16px;font-size:14px}.follow-list{flex-direction:column;gap:10px;display:flex}.follow-card{border-radius:16px;flex-direction:column;gap:12px;padding:14px;display:flex}.follow-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.toolbar-row{grid-template-columns:minmax(0,1fr) 180px;gap:12px;margin-bottom:12px;display:grid}.field{flex-direction:column;gap:8px;display:flex}.field span{color:var(--text-secondary);font-size:13px}.checkbox-field{border:1px solid var(--border);background:var(--surface-strong);border-radius:14px;flex-direction:row;align-items:center;gap:10px;min-height:48px;padding:0 14px}.checkbox-field input{width:16px;height:16px;margin:0}.field input,.field select,.field textarea{border-radius:var(--radius-md);border:1px solid var(--border);width:100%;color:var(--text-main);background:#ffffffe6;outline:none;padding:10px 14px;font-size:14px;transition:all .18s}.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--border-strong)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--primary);background:var(--surface-pure);box-shadow:0 0 0 3px #4a9fdb26}.field textarea{resize:vertical;min-height:88px}.field-inline{gap:6px}.field-select{min-width:0}.message-bar{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--primary-softer);color:var(--text-secondary);justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;padding:12px 16px;font-size:13px;display:flex}.message-bar strong{color:var(--primary-deep);font-weight:600}.record-list,.alert-list{flex-direction:column;gap:10px;max-height:520px;padding-right:4px;display:flex;overflow-y:auto}.record-list::-webkit-scrollbar{width:6px}.alert-list::-webkit-scrollbar{width:6px}.record-list::-webkit-scrollbar-track{background:0 0}.alert-list::-webkit-scrollbar-track{background:0 0}.record-list::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}.alert-list::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}.record-list::-webkit-scrollbar-thumb:hover{background:var(--primary)}.alert-list::-webkit-scrollbar-thumb:hover{background:var(--primary)}.clickable-row{cursor:pointer;transition:all .18s}.clickable-row:hover{box-shadow:var(--shadow-md);border-color:var(--primary)!important;background:var(--surface-pure)!important}.row-selected{box-shadow:0 0 0 2px var(--primary-soft);border-color:var(--primary)!important;background:var(--primary-softer)!important}.row-selected .record-title strong{color:var(--primary-deep)}.record-row,.alert-item{border-radius:var(--radius-lg);border:1px solid var(--border);background:#ffffffb8;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px;transition:all .2s;display:flex;position:relative}.record-row:hover,.alert-item:hover{background:var(--surface-pure);border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.record-row:hover .record-title strong{color:var(--primary-deep)}.record-main{flex-direction:column;gap:6px;min-width:0;display:flex}.record-title{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.record-side{white-space:nowrap;flex-direction:column;align-items:flex-end;gap:8px;display:flex}.record-owner{color:var(--text-secondary);font-size:13px}.inline-metrics{color:#6a8aa1;flex-wrap:wrap;gap:12px;font-size:13px;display:flex}.placeholder-points{flex-direction:column;gap:10px;display:flex}.placeholder-points span{border:1px solid var(--border);color:var(--text-main);background:#ffffffa3;border-radius:14px;padding:12px 14px}.placeholder-points.large{max-width:780px;margin-top:18px}.placeholder-panel{flex-direction:column;justify-content:center;min-height:320px;display:flex}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.field-full{grid-column:1/-1}.form-actions{justify-content:flex-end;gap:10px;display:flex}.split-actions{justify-content:space-between;align-items:center}.helper-text{color:#7a9ab0;font-size:12px}@media (width<=1180px){.summary-grid,.summary-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.content-grid{grid-template-columns:1fr}}@media (width<=900px){.crm-shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--border)}.sidebar-nav{grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.workspace{padding:14px}.topbar,.order-card-top{flex-direction:column;align-items:stretch}.toolbar-row,.form-grid{grid-template-columns:1fr}.message-bar,.split-actions{flex-direction:column;align-items:flex-start}.record-row,.alert-item{flex-direction:column}.record-side{white-space:normal;align-items:flex-start}}@media (width<=720px){.summary-grid,.summary-grid-3,.metric-row,.order-footer{grid-template-columns:1fr}.sidebar-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.brand-card h1{font-size:24px}}.order-row{flex-wrap:wrap}.approval-trail{border-top:1px dashed var(--border);flex-direction:column;flex-basis:100%;gap:6px;margin-top:8px;padding-top:10px;display:flex}.approval-trail .follow-meta{color:var(--text-secondary);font-size:13px}.approval-trail .inline-metrics{gap:10px;font-size:12px}.action-dropdown{position:relative}.action-dropdown .caret{opacity:.7;margin-left:4px;font-size:10px}.dropdown-menu{border:1px solid var(--border);z-index:200;background:#fff;border-radius:12px;min-width:160px;padding:6px;animation:.16s dropdownFadeIn;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 24px #2d89c729}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{text-align:left;width:100%;color:var(--text-main);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:10px 14px;font-size:14px;transition:background .14s;display:block}.dropdown-item:hover{background:var(--primary-soft);color:var(--primary-deep)}.modal-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:1000;background:#0f28466b;justify-content:center;align-items:center;animation:.18s overlayFade;display:flex;position:fixed;inset:0}@keyframes overlayFade{0%{opacity:0}to{opacity:1}}.modal-shell{background:#fff;border-radius:16px;flex-direction:column;width:90%;max-width:640px;max-height:85vh;animation:.22s modalRise;display:flex;overflow:hidden;box-shadow:0 20px 60px #0f284647}.detail-modal-shell{max-width:1080px}@keyframes modalRise{0%{opacity:0;transform:translateY(20px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-head{border-bottom:1px solid var(--border);background:linear-gradient(135deg, var(--primary-soft), #fff);justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.modal-head h2{color:var(--primary-deep);margin:0;font-size:20px;font-weight:700}.icon-btn{background:var(--primary-softer);width:34px;height:34px;color:var(--primary-deep);cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;font-size:16px;transition:background .15s;display:flex}.icon-btn:hover{background:var(--primary-soft)}.modal-body{flex:1;padding:22px 24px;overflow-y:auto}.detail-entity-bar{background:var(--primary-softer);border-left:4px solid var(--primary-strong);border-radius:10px;flex-direction:column;gap:4px;margin-bottom:18px;padding:12px 16px;display:flex}.detail-entity-bar strong{color:var(--primary-deep);font-size:16px}.detail-entity-bar span{color:var(--text-secondary);font-size:13px}.detail-table{border-collapse:collapse;width:100%;font-size:15px}.detail-table td{border:1px solid var(--border);padding:11px 14px}.detail-table td:first-child{background:var(--primary-softer);width:32%;color:var(--primary-deep);font-weight:600}.detail-table td:last-child{color:var(--text-main)}.approval-trail-section{margin-top:20px}.approval-trail-section h3{color:var(--primary-deep);margin:0 0 10px;font-size:16px;font-weight:700}.trail-table{border-collapse:collapse;width:100%;font-size:14px}.trail-table th,.trail-table td{border:1px solid var(--border);text-align:left;padding:9px 12px}.trail-table th{background:var(--primary-softer);color:var(--primary-deep);font-weight:600}.trail-table tbody tr:nth-child(2n){background:#4a9fdb0a}.modal-footer{border-top:1px solid var(--border);background:#fafcff;justify-content:flex-end;gap:12px;padding:16px 24px;display:flex}.modal-box{background:#fff;border-radius:16px;flex-direction:column;width:90%;max-width:640px;max-height:85vh;animation:.22s modalRise;display:flex;overflow:hidden;box-shadow:0 20px 60px #0f284647}.modal-head h3{color:var(--primary-deep);margin:0;font-size:18px;font-weight:700}.modal-foot{border-top:1px solid var(--border);background:#fafcff;justify-content:flex-end;gap:12px;padding:16px 24px;display:flex}.page-section{flex-direction:column;gap:4px;display:flex}.section-head .hint{color:var(--text-secondary);margin:4px 0 0;font-size:13px}.chart-card{border:1px solid var(--border);background:var(--surface);border-radius:18px;padding:16px 18px;box-shadow:inset 0 1px #ffffffbf}.chart-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.chart-head h3{letter-spacing:-.01em;color:var(--text-main);margin:0;font-size:16px}.chart-head .chart-tip{color:#7aa2bc;font-size:13px}.chart-body{height:220px;position:relative}.chart-tag{border:1px solid var(--border);min-height:30px;color:var(--text-secondary);cursor:pointer;background:#ffffffb3;border-radius:999px;align-items:center;padding:0 12px;font-size:13px;transition:background .18s,color .18s,border-color .18s;display:inline-flex}.chart-tag:hover{color:var(--primary-deep);border-color:#5eb6eb66}.chart-tag.active{background:linear-gradient(135deg, var(--primary-deep), var(--primary));color:#fff;border-color:#0000;box-shadow:0 6px 14px #5eb6eb38}.chart-tags{flex-wrap:wrap;gap:8px;display:inline-flex}.chart-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.chart-details>summary.chart-summary{cursor:pointer;color:var(--text-soft);-webkit-user-select:none;user-select:none;padding:6px 4px;font-size:14px;font-weight:600;list-style:none}.chart-details>summary.chart-summary::-webkit-details-marker{display:none}.chart-details>section{margin-top:8px}.chart-tooltip{z-index:50;color:var(--primary-deep);white-space:nowrap;pointer-events:none;opacity:0;background:#dff2fff5;border:1px solid #5eb6eb4d;border-radius:10px;padding:6px 10px;font-size:12px;transition:opacity .16s;position:absolute;box-shadow:0 4px 14px #2d89c729}.chart-tooltip.show{opacity:1}.bar-chart{justify-content:space-between;align-items:flex-end;gap:10px;height:100%;padding-top:18px;display:flex}.bar-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:6px;min-width:0;height:100%;display:flex}.bar-value{color:var(--text-secondary);font-size:12px;font-weight:600}.bar-fill{transform-origin:bottom;cursor:pointer;background:linear-gradient(#4a9fdb,#2580c4);border-radius:8px 8px 0 0;width:100%;max-width:42px;transition:filter .18s,transform .18s;animation:.6s both barGrow}.bar-fill:hover{filter:brightness(1.12)}.bar-label{color:#7a9ab0;font-size:12px}@keyframes barGrow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.donut-wrap{flex-wrap:wrap;justify-content:center;align-items:center;gap:22px;display:flex}.donut{background:conic-gradient(var(--primary-deep) 0 40%, var(--primary) 40% 68%, var(--primary-strong) 68% 86%, var(--primary-soft) 86% 100%);border-radius:50%;flex-shrink:0;width:150px;height:150px;position:relative}.donut:after{content:"";background:#fff;border-radius:50%;position:absolute;inset:22%;box-shadow:inset 0 2px 10px #2d89c71a}.donut-center{z-index:1;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.donut-center strong{letter-spacing:-.02em;color:var(--text-main);font-size:24px;line-height:1.1}.donut-center span{color:var(--text-secondary);font-size:12px}.donut-legend{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.donut-legend li{color:var(--text-main);align-items:center;gap:10px;font-size:13px;display:flex}.donut-legend .dot{border-radius:4px;flex-shrink:0;width:12px;height:12px}.donut-legend .legend-name{color:var(--text-secondary)}.donut-legend .legend-value{color:var(--text-main);margin-left:auto;font-weight:600}.trend-list{flex-direction:column;gap:14px;display:flex}.trend-row{align-items:center;gap:12px;display:flex}.trend-row .trend-label{min-width:84px;color:var(--text-secondary);font-size:13px}.trend-track{background:#5eb6eb24;border-radius:999px;flex:1;height:10px;position:relative;overflow:hidden}.trend-fill{background:linear-gradient(90deg, var(--primary), var(--primary-strong));border-radius:999px;height:100%;transition:width .5s}.trend-pct{text-align:right;min-width:44px;color:var(--primary-deep);font-size:13px;font-weight:600}.metric-enhanced{border:1px solid var(--border);background:var(--surface);border-radius:16px;flex-direction:column;gap:6px;min-height:92px;padding:14px 16px 14px 20px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffbf}.metric-enhanced:before{content:"";background:linear-gradient(180deg, var(--primary), var(--primary-deep));width:4px;position:absolute;top:0;bottom:0;left:0}.metric-enhanced.accent:before{background:linear-gradient(#4a9fdb,#1565a0)}.metric-enhanced .metric-title{color:var(--text-secondary);font-size:13px}.metric-enhanced .metric-num{letter-spacing:-.03em;color:var(--text-main);font-size:26px;line-height:1.1}.metric-trend{align-items:center;gap:4px;font-size:13px;font-weight:600;display:inline-flex}.metric-trend.up{color:#2faa6a}.metric-trend.down{color:#e0566b}@media (width<=900px){.chart-grid-2{grid-template-columns:1fr}.donut-wrap{flex-direction:column;gap:16px}}@media (width<=720px){.chart-head{flex-direction:column;align-items:flex-start}.bar-chart{gap:6px}.bar-fill{max-width:28px}.bar-value,.bar-label{font-size:11px}.trend-row .trend-label{min-width:64px}}.login-page{background:linear-gradient(135deg,#1a3d5c 0%,#214a6e 50%,#1565a0 100%);place-items:center;min-height:100vh;display:grid;position:relative;overflow:hidden}.login-bg{pointer-events:none;background:radial-gradient(circle at 20% 30%,#4a9fdb4d 0%,#0000 50%),radial-gradient(circle at 80% 70%,#6cb8e833 0%,#0000 50%);position:absolute;inset:0}.login-card{border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;width:420px;max-width:90vw;padding:40px 36px 32px;animation:.4s loginSlideUp;position:relative;box-shadow:0 24px 64px #0000004d}@keyframes loginSlideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.login-brand{text-align:center;margin-bottom:28px}.login-brand .brand-mark{border-radius:var(--radius-lg);width:56px;height:56px;margin:0 auto 12px;font-size:24px}.login-brand h1{letter-spacing:-.02em;color:var(--text-main);font-size:22px;font-weight:700}.login-brand p{color:var(--text-secondary);margin-top:6px;font-size:13px}.login-form{flex-direction:column;gap:16px;display:flex}.login-field{flex-direction:column;gap:6px;display:flex}.login-field span{color:var(--text-main);font-size:13px;font-weight:600}.login-field input{border-radius:var(--radius-md);border:1.5px solid var(--border);width:100%;color:var(--text-main);background:#ffffffe6;outline:none;padding:12px 16px;font-size:15px;transition:all .18s}.login-field input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4a9fdb26}.login-error{border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger);padding:10px 14px;font-size:13px;font-weight:500}.login-btn{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--primary-deep), var(--primary));color:#fff;letter-spacing:.05em;cursor:pointer;border:none;width:100%;margin-top:4px;padding:14px;font-size:16px;font-weight:600;transition:all .18s;box-shadow:0 4px 14px #2580c459}.login-btn:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 8px 24px #2580c473}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-hint{border-top:1px solid var(--border);margin-top:24px;padding-top:20px}.login-hint>p{color:var(--text-muted);margin-bottom:8px;font-size:12px}.login-accounts{flex-wrap:wrap;gap:6px;display:flex}.login-accounts span{background:var(--primary-softer);color:var(--primary-deep);border-radius:999px;padding:3px 10px;font-size:11px;font-weight:500}.login-tip{text-align:center;margin-top:10px}.login-tip strong{color:var(--primary-deep)}.role-badge{background:linear-gradient(135deg, var(--primary), var(--primary-strong));color:#fff;border-radius:999px;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.crm-shell[data-v-5b1ad3ae]{background:#f5f7fa;height:100vh;display:flex}.sidebar[data-v-5b1ad3ae]{color:#c0c8d4;z-index:10;background:#1e2a3a;flex-direction:column;flex-shrink:0;width:220px;display:flex;position:relative;overflow:visible!important}.brand-card[data-v-5b1ad3ae]{border-bottom:1px solid #ffffff14;align-items:center;gap:12px;padding:20px 16px;display:flex}.brand-mark[data-v-5b1ad3ae]{color:#fff;background:#2580c4;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;font-weight:700;display:flex}.brand-card h1[data-v-5b1ad3ae]{color:#fff;margin:0;font-size:15px;font-weight:600}.brand-card p[data-v-5b1ad3ae]{color:#89a;margin:4px 0 0;font-size:11px}.sidebar-nav[data-v-5b1ad3ae]{flex:1;padding:12px 0}.nav-link[data-v-5b1ad3ae]{cursor:pointer;color:#c0c8d4;text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:10px 16px;font-size:14px;transition:all .2s;display:flex}.nav-link[data-v-5b1ad3ae]:hover{color:#fff;background:#ffffff14}.nav-link.active[data-v-5b1ad3ae]{color:#fff;background:#2580c4}.nav-icon[data-v-5b1ad3ae]{text-align:center;width:20px;font-size:16px}.nav-label[data-v-5b1ad3ae]{flex:1}.workspace[data-v-5b1ad3ae]{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden auto}.workspace>.module-page[data-v-5b1ad3ae]{flex:none;overflow:visible}.topbar[data-v-5b1ad3ae]{z-index:30;background:#fff;border-bottom:1px solid #e8ecf1;justify-content:space-between;align-items:center;padding:16px 24px;display:flex;position:sticky;top:0}.topbar-left[data-v-5b1ad3ae]{align-items:center;gap:20px;display:flex}.page-head[data-v-5b1ad3ae]{flex-direction:column;gap:2px;display:flex}.page-kicker[data-v-5b1ad3ae]{color:#89a;text-transform:uppercase;letter-spacing:.5px;font-size:11px}.page-head h2[data-v-5b1ad3ae]{color:#1a2332;margin:0;font-size:18px;font-weight:600}.page-head p[data-v-5b1ad3ae]{color:#89a;margin:0;font-size:12px}.toolbar[data-v-5b1ad3ae]{align-items:center;gap:12px;display:flex}.role-switcher[data-v-5b1ad3ae]{background:#f0f4f8;border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:13px;display:flex}.role-user[data-v-5b1ad3ae]{color:#1a2332;font-weight:500}.role-tag[data-v-5b1ad3ae]{color:#fff;background:#2580c4;border-radius:4px;padding:2px 8px;font-size:11px}.compact-btn[data-v-5b1ad3ae]{cursor:pointer;color:#4e5969;background:#fff;border:1px solid #d5dce4;border-radius:6px;padding:6px 14px;font-size:13px;transition:all .15s}.compact-btn[data-v-5b1ad3ae]:hover{color:#2580c4;border-color:#2580c4}.refresh-btn[data-v-5b1ad3ae]{cursor:pointer;color:#4e5969;background:#fff;border:1px solid #d5dce4;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;display:flex}.refresh-btn[data-v-5b1ad3ae]:hover{color:#2580c4;border-color:#2580c4}.page-section[data-v-5b1ad3ae]{flex:1;padding:24px;overflow-y:auto}.section-head[data-v-5b1ad3ae]{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.section-head h2[data-v-5b1ad3ae]{color:#1a2332;margin:0;font-size:16px;font-weight:600}.panel[data-v-5b1ad3ae]{background:#fff;border-radius:8px;padding:16px;box-shadow:0 1px 3px #0000000f}.stat-card[data-v-5b1ad3ae]{padding:16px}.sort-bar[data-v-5b1ad3ae]{align-items:center;gap:8px;font-size:12px;display:flex}.sort-bar select[data-v-5b1ad3ae]{background:#fff;border:1px solid #d5dce4;border-radius:6px;padding:4px 8px;font-size:12px}.sort-bar button[data-v-5b1ad3ae]{cursor:pointer;background:#fff;border:1px solid #d5dce4;border-radius:6px;padding:4px 10px;font-size:12px}.queue-tab[data-v-5b1ad3ae]{cursor:pointer;color:#666;background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 16px;font-size:13px}.queue-tab[data-v-5b1ad3ae]:hover{color:#1a6fb5}.queue-tab.active[data-v-5b1ad3ae]{color:#1a6fb5;border-bottom-color:#1a6fb5;font-weight:600}.queue-badge[data-v-5b1ad3ae]{color:#fff;text-align:center;background:#e5392f;border-radius:9px;min-width:18px;margin-left:4px;padding:1px 6px;font-size:11px;display:inline-block}.field-error[data-v-5b1ad3ae]{color:#e5392f;margin-top:4px;font-size:12px;display:block}.image-preview-shell[data-v-5b1ad3ae]{background:#1f1f1f;max-width:800px}.image-preview-overlay[data-v-5b1ad3ae]{z-index:10050;background:#000000d9;flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex;position:fixed;inset:0}.image-preview-large[data-v-5b1ad3ae]{object-fit:contain;border-radius:8px;max-width:85vw;max-height:80vh;box-shadow:0 8px 32px #0006}.image-preview-close[data-v-5b1ad3ae]{color:#fff;cursor:pointer;background:#ffffff26;border:1px solid #ffffff4d;border-radius:8px;padding:8px 20px;font-size:14px}.image-preview-close[data-v-5b1ad3ae]:hover{background:#ffffff40}.image-preview-pdf[data-v-5b1ad3ae]{background:#fff;border:none;border-radius:8px;width:min(960px,92vw);height:85vh;box-shadow:0 8px 32px #0006}.attach-thumb[data-v-5b1ad3ae]{cursor:pointer;background:#f7f9fc;border:1px solid #d9dce1;border-radius:6px;flex:none;justify-content:center;align-items:center;width:56px;height:56px;display:flex;position:relative;overflow:hidden}.attach-thumb img[data-v-5b1ad3ae]{object-fit:cover;width:100%;height:100%}.attach-thumb .attach-file-label[data-v-5b1ad3ae]{color:#8c919a;font-size:12px}.attach-thumb .attach-eye[data-v-5b1ad3ae]{opacity:0;background:#00000073;justify-content:center;align-items:center;transition:opacity .15s;display:flex;position:absolute;inset:0}.attach-thumb:hover .attach-eye[data-v-5b1ad3ae]{opacity:1}.attach-thumb .attach-eye svg[data-v-5b1ad3ae]{fill:#fff;width:22px;height:22px}.clickable-img[data-v-5b1ad3ae]{cursor:pointer;transition:transform .15s}.clickable-img[data-v-5b1ad3ae]:hover{transform:scale(1.08)}.logistics-panel[data-v-5b1ad3ae]{background:linear-gradient(135deg,#f0f7ff,#f0fff4);border:1px solid #d6e8ff;border-radius:10px;margin-top:16px;padding:16px}.logistics-panel-head[data-v-5b1ad3ae]{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.logistics-panel-head h3[data-v-5b1ad3ae]{color:#1565a0;margin:0;font-size:16px}.logistics-route[data-v-5b1ad3ae]{margin-bottom:16px}.route-points[data-v-5b1ad3ae]{align-items:center;gap:8px;margin-bottom:12px;display:flex}.route-point[data-v-5b1ad3ae]{flex-direction:column;flex-shrink:0;align-items:center;display:flex}.route-dot[data-v-5b1ad3ae]{background:#00b42a;border-radius:50%;width:12px;height:12px}.route-point.end .route-dot[data-v-5b1ad3ae]{background:#f53f3f}.route-label[data-v-5b1ad3ae]{color:#86909c;margin-top:4px;font-size:11px}.route-city[data-v-5b1ad3ae]{color:#1d2129;font-size:12px;font-weight:600}.route-track[data-v-5b1ad3ae]{background:#e5e6eb;border-radius:3px;flex:1;height:6px;margin-bottom:24px;position:relative}.route-fill[data-v-5b1ad3ae]{background:linear-gradient(90deg,#00b42a,#1565a0);border-radius:3px;height:100%;transition:width .6s}.route-truck[data-v-5b1ad3ae]{font-size:20px;transition:left .6s;position:absolute;top:-10px;transform:translate(-50%)}.route-info[data-v-5b1ad3ae]{color:#4e5969;background:#fff;border-radius:8px;flex-wrap:wrap;gap:16px;padding:10px 14px;font-size:13px;display:flex}.logistics-timeline[data-v-5b1ad3ae]{background:#fff;border-radius:8px;padding:16px}.logistics-tl-item[data-v-5b1ad3ae]{margin-bottom:16px;display:flex}.logistics-tl-item[data-v-5b1ad3ae]:last-child{margin-bottom:0}.tl-left[data-v-5b1ad3ae]{flex-direction:column;flex-shrink:0;align-items:center;margin-right:12px;display:flex}.tl-dot[data-v-5b1ad3ae]{color:#e5e6eb;font-size:14px;line-height:1}.tl-dot.done[data-v-5b1ad3ae]{color:#00b42a}.logistics-tl-item.latest .tl-dot[data-v-5b1ad3ae]{color:#1565a0;font-size:18px}.tl-line[data-v-5b1ad3ae]{background:#e5e6eb;flex:1;width:2px;min-height:24px;margin-top:4px}.tl-content[data-v-5b1ad3ae]{flex:1;padding-bottom:4px}.tl-desc[data-v-5b1ad3ae]{color:#86909c;font-size:13px;display:block}.tl-desc.latest[data-v-5b1ad3ae]{color:#1d2129;font-size:14px;font-weight:600}.tl-meta[data-v-5b1ad3ae]{color:#c9cdd4;margin-top:2px;font-size:12px;display:block}.batch-row[data-v-5b1ad3ae]{flex-wrap:wrap}.clickable[data-v-5b1ad3ae]{cursor:pointer}.clickable:hover .record-title strong[data-v-5b1ad3ae]{color:var(--primary-deep)}.batch-detail[data-v-5b1ad3ae]{border-top:1px dashed var(--border);flex:100%;width:100%;margin-top:8px;padding-top:12px}.batch-detail .form-grid[data-v-5b1ad3ae]{grid-template-columns:repeat(2,minmax(0,1fr))}.batch-detail-readonly[data-v-5b1ad3ae]{color:#6a8aa1;flex-wrap:wrap;gap:12px;font-size:13px;display:flex}.batch-detail-readonly a[data-v-5b1ad3ae]{color:var(--primary);word-break:break-all}.batch-detail-readonly .field-full[data-v-5b1ad3ae]{flex:100%}.checkbox-row[data-v-5b1ad3ae]{cursor:pointer;align-items:flex-start;gap:8px;font-size:13px;display:flex}.checkbox-row input[type=checkbox][data-v-5b1ad3ae]{cursor:pointer;width:16px;height:16px;margin-top:2px}.checkbox-text[data-v-5b1ad3ae]{color:var(--text-soft,#5a6a80);line-height:1.5}.notification-icon[data-v-5b1ad3ae]{cursor:pointer;border-radius:8px;align-items:center;padding:4px 8px;transition:background .2s;display:flex;position:relative}.notification-icon[data-v-5b1ad3ae]:hover{background:var(--bg-hover,#f5f7fa)}.bell-icon[data-v-5b1ad3ae]{font-size:18px}.bell-badge[data-v-5b1ad3ae]{color:#fff;text-align:center;background:#f53f3f;border-radius:8px;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;line-height:16px;position:absolute;top:-2px;right:0}.notification-panel[data-v-5b1ad3ae]{z-index:999;background:#fff;border-radius:12px;flex-direction:column;width:400px;max-height:500px;margin-top:8px;display:flex;position:absolute;top:100%;right:0;overflow:hidden;box-shadow:0 8px 32px #00000029}.notification-header[data-v-5b1ad3ae]{border-bottom:1px solid #e8e8e8;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.notification-title[data-v-5b1ad3ae]{color:#1a3550;font-size:14px;font-weight:600}.notification-list[data-v-5b1ad3ae]{max-height:420px;overflow-y:auto}.notification-empty[data-v-5b1ad3ae]{text-align:center;color:#86909c;padding:40px 16px;font-size:13px}.notification-item[data-v-5b1ad3ae]{cursor:pointer;border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:flex-start;gap:8px;padding:10px 16px;transition:background .15s;display:flex}.notification-item[data-v-5b1ad3ae]:hover{background:#f5f7fa}.notification-item.unread[data-v-5b1ad3ae]{background:#2580c40a}.notification-item-left[data-v-5b1ad3ae]{flex:1;gap:8px;min-width:0;display:flex}.notification-type-tag[data-v-5b1ad3ae]{color:#fff;border-radius:4px;flex-shrink:0;height:fit-content;margin-top:2px;padding:2px 6px;font-size:11px}.notification-item-content[data-v-5b1ad3ae]{flex:1;min-width:0}.notification-item-title[data-v-5b1ad3ae]{color:#1a3550;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.notification-item-detail[data-v-5b1ad3ae]{color:#6a8aa1;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:2px;font-size:12px;line-height:1.4;display:-webkit-box;overflow:hidden}.notification-time[data-v-5b1ad3ae]{color:#86909c;flex-shrink:0;margin-top:2px;font-size:11px}.role-switcher[data-v-5b1ad3ae]{background:var(--bg-card,#fff);border:1px solid var(--border,#e8e8e8);border-radius:8px;align-items:center;gap:8px;padding:4px 12px;font-size:13px;display:flex}.role-user[data-v-5b1ad3ae]{color:var(--text-secondary,#86909c);white-space:nowrap}.role-select[data-v-5b1ad3ae]{color:var(--primary,#2580c4);background:var(--primary-soft,#2580c414);border:1px solid var(--primary,#2580c4);cursor:pointer;border-radius:6px;outline:none;padding:2px 8px;font-size:13px;font-weight:600}.role-select[data-v-5b1ad3ae]:hover{background:var(--primary,#2580c4);color:#fff}.role-tag[data-v-5b1ad3ae]{color:var(--primary,#2580c4);background:var(--primary-soft,#2580c414);border:1px solid var(--primary,#2580c4);white-space:nowrap;border-radius:6px;padding:2px 8px;font-size:13px;font-weight:600}.revenue-panel[data-v-5b1ad3ae]{margin-top:0}.revenue-detail[data-v-5b1ad3ae]{flex-direction:column;gap:8px;margin-top:4px;display:flex}.revenue-item[data-v-5b1ad3ae]{border:1px solid var(--border,#e8e8e8);background:#fff;border-radius:8px;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 14px;font-size:13px;display:flex}.revenue-company[data-v-5b1ad3ae]{color:var(--text-primary,#1d2129);font-weight:600}.revenue-order[data-v-5b1ad3ae]{color:var(--text-regular,#4e5969);font-size:12px}.revenue-amount[data-v-5b1ad3ae]{color:#00b42a;margin-left:auto;font-weight:700}.form-message[data-v-5b1ad3ae]{color:var(--primary,#2580c4);margin-left:12px;font-size:13px}.form-input[data-v-5b1ad3ae]{border-radius:var(--radius-md,8px);border:1px solid var(--border,#e5e6eb);width:100%;color:var(--text-main,#1d2129);box-sizing:border-box;background:#ffffffe6;outline:none;padding:9px 12px;font-size:14px;transition:all .18s}.form-input[data-v-5b1ad3ae]:hover{border-color:var(--border-strong,#c9cdd4)}.form-input[data-v-5b1ad3ae]:focus{border-color:var(--primary,#2580c4);box-shadow:0 0 0 3px #4a9fdb26}.filter-bar[data-v-5b1ad3ae]{padding:10px 12px}.order-doc[data-v-5b1ad3ae]{flex-direction:column;gap:14px;display:flex}.order-doc-head[data-v-5b1ad3ae]{border-bottom:2px solid var(--primary,#2580c4);justify-content:space-between;align-items:center;padding-bottom:10px;display:flex}.order-doc-head h3[data-v-5b1ad3ae]{color:var(--primary-deep,#1565a0);margin:0;font-size:17px}.order-doc-meta[data-v-5b1ad3ae]{color:var(--text-regular,#4e5969);grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;font-size:13px;display:grid}.order-doc-meta label[data-v-5b1ad3ae],.order-doc-foot label[data-v-5b1ad3ae]{color:var(--text-secondary,#86909c);margin-right:4px}.order-doc-section-title[data-v-5b1ad3ae]{color:var(--text-primary,#1d2129);border-left:3px solid var(--primary,#2580c4);margin-bottom:8px;padding-left:8px;font-size:14px;font-weight:600}.order-doc-table th[data-v-5b1ad3ae]{text-align:left}.order-doc-foot[data-v-5b1ad3ae]{border-top:1px dashed var(--border,#e5e6eb);color:var(--text-regular,#4e5969);flex-wrap:wrap;gap:10px 24px;padding-top:10px;font-size:13px;display:flex}.nav-menu-item[data-v-5b1ad3ae]{position:relative}.nav-menu-item .main-nav-item[data-v-5b1ad3ae]{cursor:pointer;color:#c0c8d4;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;padding:10px 16px;font-size:14px;transition:all .2s;display:flex}.nav-menu-item .main-nav-item[data-v-5b1ad3ae]:hover{color:#fff;background:#ffffff14}.nav-menu-item .main-nav-item.active[data-v-5b1ad3ae]{color:#fff;background:#2580c4}.nav-arrow[data-v-5b1ad3ae]{font-size:18px;transition:transform .2s}.nav-menu-item:hover .nav-arrow[data-v-5b1ad3ae]{transform:rotate(90deg)}.nav-badge[data-v-5b1ad3ae]{color:#fff;background:#e53935;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;margin-left:6px;padding:0 5px;font-size:11px;font-weight:600;line-height:1;display:inline-flex}.nav-dropdown[data-v-5b1ad3ae]{z-index:9999;background:#fff;border-radius:8px;min-width:180px;padding:8px 0;display:none;position:absolute;top:0;left:100%;box-shadow:0 4px 20px #00000026}.nav-menu-item:hover .nav-dropdown[data-v-5b1ad3ae]{display:block}.nav-dropdown .dropdown-item[data-v-5b1ad3ae]{cursor:pointer;color:#333;text-align:left;background:0 0;border:none;width:100%;padding:10px 20px;font-size:13px;transition:all .15s;display:block}.nav-dropdown .dropdown-item[data-v-5b1ad3ae]:hover{color:#2580c4;background:#f0f7ff}.nav-dropdown .dropdown-item.active[data-v-5b1ad3ae]{color:#2580c4;background:#e8f4ff;font-weight:600}.form-section[data-v-5b1ad3ae]{border-bottom:1px solid #e8ecf1;margin-bottom:20px;padding-bottom:16px}.form-section[data-v-5b1ad3ae]:last-child{border-bottom:none}.form-section-title[data-v-5b1ad3ae]{color:#1a2332;border-left:3px solid #2580c4;margin:0 0 12px;padding-left:8px;font-size:14px;font-weight:600}.form-row[data-v-5b1ad3ae]{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:12px;display:grid}.form-row[data-v-5b1ad3ae]:last-child{margin-bottom:0}.product-table-wrapper[data-v-5b1ad3ae]{margin:12px 0;overflow-x:auto}.product-table[data-v-5b1ad3ae]{border-collapse:collapse;width:100%;font-size:13px}.product-table th[data-v-5b1ad3ae]{text-align:left;color:#4e5969;background:#f5f7fa;border:1px solid #e8ecf1;padding:8px;font-weight:600;position:relative}.product-table td[data-v-5b1ad3ae]{border:1px solid #e8ecf1;padding:6px}.table-input[data-v-5b1ad3ae]{border:1px solid #d5dce4;border-radius:4px;width:100%;padding:6px 8px;font-size:13px}.table-input[data-v-5b1ad3ae]:focus{border-color:#2580c4;outline:none}.product-table-actions[data-v-5b1ad3ae]{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.icon-btn[data-v-5b1ad3ae]{cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:14px}.icon-btn[data-v-5b1ad3ae]:hover{background:#f0f4f8}.icon-btn.danger[data-v-5b1ad3ae]{color:#e53e3e}.icon-btn.danger[data-v-5b1ad3ae]:hover{background:#fee}.attachment-list[data-v-5b1ad3ae]{margin-top:8px}.attachment-item[data-v-5b1ad3ae]{background:#f5f7fa;border-radius:4px;justify-content:space-between;align-items:center;margin-bottom:4px;padding:6px 10px;font-size:13px;display:flex}.cc-selector[data-v-5b1ad3ae]{flex-wrap:wrap;gap:12px;display:flex}.cc-item[data-v-5b1ad3ae]{cursor:pointer;align-items:center;gap:6px;font-size:13px;display:flex}.cc-item input[type=checkbox][data-v-5b1ad3ae]{cursor:pointer}.form-actions[data-v-5b1ad3ae]{border-top:1px solid #e8ecf1;gap:12px;margin-top:20px;padding-top:16px;display:flex}.btn[data-v-5b1ad3ae]{cursor:pointer;background:#fff;border:1px solid #d5dce4;border-radius:6px;padding:10px 20px;font-size:14px;transition:all .15s}.btn[data-v-5b1ad3ae]:hover{color:#2580c4;border-color:#2580c4}.btn-primary[data-v-5b1ad3ae]{color:#fff;background:#2580c4;border-color:#2580c4}.btn-primary[data-v-5b1ad3ae]:hover{color:#fff;background:#1e6ba8}.module-page[data-v-5b1ad3ae]{flex-direction:column;flex:none;padding:0;display:flex}.module-page-header[data-v-5b1ad3ae]{background:#fff;border-bottom:1px solid #e8ecef;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.module-page-header h2[data-v-5b1ad3ae]{color:#1a2332;margin:0;font-size:18px;font-weight:600}.module-tabs[data-v-5b1ad3ae]{background:#fff;border-bottom:1px solid #e8ecef;gap:0;padding:0 24px;display:flex}.module-tab[data-v-5b1ad3ae]{color:#5a6577;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:12px 20px;font-size:14px;transition:all .15s}.module-tab[data-v-5b1ad3ae]:hover{color:#2580c4}.module-tab.active[data-v-5b1ad3ae]{color:#2580c4;border-bottom-color:#2580c4;font-weight:500}.module-toolbar[data-v-5b1ad3ae]{background:#fff;flex-wrap:wrap;align-items:center;gap:10px;padding:16px 24px;display:flex}.module-toolbar .btn-create[data-v-5b1ad3ae]{color:#fff;cursor:pointer;white-space:nowrap;background:#19be6b;border:none;border-radius:4px;align-items:center;gap:4px;padding:8px 20px;font-size:14px;display:flex}.module-toolbar .btn-create[data-v-5b1ad3ae]:hover{background:#15a35d}.module-toolbar .btn-batch[data-v-5b1ad3ae]{cursor:pointer;color:#5a6577;background:#fff;border:1px solid #d9d9d9;border-radius:4px;padding:8px 16px;font-size:14px}.module-toolbar .btn-batch[data-v-5b1ad3ae]:hover{color:#2580c4;border-color:#2580c4}.module-filter-row[data-v-5b1ad3ae]{background:#fff;border-bottom:1px solid #f0f2f5;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 24px;display:flex}.module-filter-row select[data-v-5b1ad3ae],.module-filter-row input[data-v-5b1ad3ae]{color:#333;background:#fff;border:1px solid #d9d9d9;border-radius:4px;min-width:120px;padding:6px 12px;font-size:13px}.module-filter-row select[data-v-5b1ad3ae]:focus,.module-filter-row input[data-v-5b1ad3ae]:focus{border-color:#2580c4;outline:none}.module-filter-row .filter-search[data-v-5b1ad3ae]{align-items:center;gap:6px;margin-left:auto;display:flex}.module-filter-row .search-input[data-v-5b1ad3ae]{border:1px solid #d9d9d9;border-radius:4px;width:200px;padding:6px 12px;font-size:13px}.module-data-table[data-v-5b1ad3ae]{border-collapse:collapse;background:#fff;width:100%}div[data-v-5b1ad3ae]:has(>.module-data-table){max-height:620px;overflow-y:auto}.sortable-th[data-v-5b1ad3ae]{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;transition:color .15s}.sortable-th[data-v-5b1ad3ae]:hover{color:#2580c4;background:#2580c40d}.sort-arrow[data-v-5b1ad3ae]{color:#2580c4;opacity:.5;margin-left:2px;font-size:11px;font-weight:400}.sortable-th:hover .sort-arrow[data-v-5b1ad3ae]{opacity:1}.module-data-table thead th[data-v-5b1ad3ae]{text-align:left;color:#8c919a;white-space:nowrap;z-index:5;background:#fafbfc;border-bottom:1px solid #e8ecef;border-right:1px solid #dfe5eb;padding:7px 10px;font-size:13px;font-weight:500;position:sticky;top:0}.module-data-table thead th[data-v-5b1ad3ae]:after,.product-table th[data-v-5b1ad3ae]:after{content:"";pointer-events:none;background:#c3ccd6;border-radius:2px;width:3px;height:56%;position:absolute;top:22%;right:-2px}.module-data-table thead th[data-v-5b1ad3ae]:hover:after,.product-table th[data-v-5b1ad3ae]:hover:after{background:#2580c4}.module-data-table tbody td[data-v-5b1ad3ae]{color:#333;vertical-align:middle;border-bottom:1px solid #f0f2f5;padding:12px 16px;font-size:13px}.table-pager[data-v-5b1ad3ae]{color:#8c919a;border-top:1px solid #f0f2f5;justify-content:center;align-items:center;gap:16px;padding:12px 24px;font-size:13px;display:flex}.table-pager .pager-btn[data-v-5b1ad3ae]{color:#1a2332;cursor:pointer;background:#fff;border:1px solid #d9d9d9;border-radius:4px;padding:5px 14px;font-size:13px;transition:all .15s}.table-pager .pager-btn[data-v-5b1ad3ae]:hover:not(:disabled){color:#1677ff;border-color:#1677ff}.table-pager .pager-btn[data-v-5b1ad3ae]:disabled{color:#c0c4cc;cursor:not-allowed;background:#f5f7fa}.module-data-table tbody tr[data-v-5b1ad3ae]:hover{background:#f5f8fa}.module-data-table .status-tag[data-v-5b1ad3ae]{border-radius:3px;padding:2px 8px;font-size:12px;font-weight:500;display:inline-block}.module-data-table .status-tag.green[data-v-5b1ad3ae]{color:#2e7d32;background:#e8f5e9}.module-data-table .status-tag.blue[data-v-5b1ad3ae]{color:#1565c0;background:#e3f2fd}.module-data-table .status-tag.orange[data-v-5b1ad3ae]{color:#e65100;background:#fff3e0}.module-data-table .status-tag.red[data-v-5b1ad3ae]{color:#c62828;background:#fce4ec}.module-data-table .status-tag.purple[data-v-5b1ad3ae]{color:#6a1b9a;background:#f3e5f5}.module-data-table .status-tag.gray[data-v-5b1ad3ae]{color:#757575;background:#f5f5f5}.module-data-table .action-link[data-v-5b1ad3ae]{color:#2580c4;cursor:pointer;background:0 0;border:none;margin-right:12px;padding:0;font-size:13px}.module-data-table .action-link[data-v-5b1ad3ae]:hover{color:#1e6ba8;text-decoration:underline}.module-data-table .action-link.danger[data-v-5b1ad3ae]{color:#e5392f}.module-data-table .action-link.danger[data-v-5b1ad3ae]:hover{color:#c62828}.module-data-table .cell-amount[data-v-5b1ad3ae]{color:#333;font-weight:600}.module-empty[data-v-5b1ad3ae]{text-align:center;color:#bbb;padding:60px 0;font-size:14px}.modal-overlay[data-v-5b1ad3ae]{z-index:10000;background:#00000073;justify-content:center;align-items:flex-start;padding-top:40px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-content[data-v-5b1ad3ae]{background:#fff;border-radius:10px;width:720px;max-width:95vw;max-height:calc(100vh - 80px);margin-bottom:40px;padding:24px 28px;overflow-y:auto;box-shadow:0 8px 40px #00000040}.modal-content h3[data-v-5b1ad3ae]{color:#1f2d3d;margin:0 0 16px;font-size:17px;font-weight:700}.modal-content .field[data-v-5b1ad3ae]{color:#556;flex-direction:column;gap:6px;font-size:13px;display:flex}.modal-content .field span[data-v-5b1ad3ae]{color:#334;font-weight:600}.modal-content .field input[data-v-5b1ad3ae],.modal-content .field select[data-v-5b1ad3ae],.modal-content .field textarea[data-v-5b1ad3ae]{color:#222;background:#fff;border:1px solid #d9d9d9;border-radius:6px;padding:8px 10px;font-size:13px}.modal-panel[data-v-5b1ad3ae]{resize:both;background:#fff;border-radius:8px;width:720px;min-width:520px;max-width:95vw;min-height:200px;max-height:calc(100vh - 80px);margin-bottom:40px;overflow:auto;box-shadow:0 8px 40px #0003}.modal-panel.wide[data-v-5b1ad3ae]{width:960px}.modal-panel.xwide[data-v-5b1ad3ae]{width:1280px;max-width:98vw}.modal-header[data-v-5b1ad3ae]{z-index:3;background:#fff;border-bottom:1px solid #e8ecef;justify-content:space-between;align-items:center;padding:16px 24px;display:flex;position:sticky;top:0}.modal-header h3[data-v-5b1ad3ae]{color:#1a2332;margin:0;font-size:16px;font-weight:600}.modal-close[data-v-5b1ad3ae]{color:#999;cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:20px}.modal-close[data-v-5b1ad3ae]:hover{color:#333}.modal-body[data-v-5b1ad3ae]{padding:24px}.modal-body .form-section[data-v-5b1ad3ae]{margin-bottom:24px}.modal-body .form-section-title[data-v-5b1ad3ae]{color:#1a2332;border-bottom:1px solid #f0f2f5;margin:0 0 12px;padding-bottom:8px;font-size:14px;font-weight:600}.modal-body .form-row[data-v-5b1ad3ae]{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:12px;display:grid}.modal-body .form-row.full[data-v-5b1ad3ae]{grid-template-columns:1fr}.modal-body .field-label[data-v-5b1ad3ae]{color:#5a6577;margin-bottom:4px;font-size:13px;display:block}.modal-body .field-label .required[data-v-5b1ad3ae]{color:#e5392f}.modal-body input[data-v-5b1ad3ae],.modal-body select[data-v-5b1ad3ae],.modal-body textarea[data-v-5b1ad3ae]{color:#333;box-sizing:border-box;border:1px solid #d9d9d9;border-radius:4px;width:100%;padding:8px 12px;font-size:13px}.modal-body input[data-v-5b1ad3ae]:focus,.modal-body select[data-v-5b1ad3ae]:focus,.modal-body textarea[data-v-5b1ad3ae]:focus{border-color:#2580c4;outline:none;box-shadow:0 0 0 2px #2580c41a}.modal-body input[readonly][data-v-5b1ad3ae]{color:#999;background:#f5f5f5}.modal-footer[data-v-5b1ad3ae]{z-index:3;background:#fff;border-top:1px solid #e8ecef;justify-content:flex-end;align-items:center;gap:10px;padding:16px 24px;display:flex;position:sticky;bottom:0}.modal-footer .btn-cancel[data-v-5b1ad3ae]{cursor:pointer;color:#5a6577;background:#fff;border:1px solid #d9d9d9;border-radius:4px;padding:8px 20px;font-size:14px}.modal-footer .btn-cancel[data-v-5b1ad3ae]:hover{color:#2580c4;border-color:#2580c4}.modal-footer .btn-submit[data-v-5b1ad3ae]{color:#fff;cursor:pointer;background:#2580c4;border:none;border-radius:4px;padding:8px 20px;font-size:14px}.modal-footer .btn-submit[data-v-5b1ad3ae]:hover{background:#1e6ba8}.modal-footer .btn-submit.green[data-v-5b1ad3ae]{background:#19be6b}.modal-footer .btn-submit.green[data-v-5b1ad3ae]:hover{background:#15a35d}.module-stat-cards[data-v-5b1ad3ae]{background:#f5f7fa;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;padding:16px 24px;display:grid}.module-stat-card[data-v-5b1ad3ae]{background:#fff;border-radius:8px;padding:16px 20px;box-shadow:0 1px 4px #0000000f}.module-stat-card .stat-label[data-v-5b1ad3ae]{color:#8c919a;font-size:13px}.module-stat-card .stat-value[data-v-5b1ad3ae]{color:#1a2332;margin:4px 0;font-size:24px;font-weight:600}.module-stat-card .stat-note[data-v-5b1ad3ae]{color:#bbb;font-size:12px}
