.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:12px;box-sizing:border-box}.modal-overlay.modal-overlay-top{z-index:10000}.modal{background:var(--bg-secondary);border-radius:4px;padding:12px 16px;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 4px 6px var(--shadow);box-sizing:border-box}.modal.modal-dialog{max-width:420px;width:min(420px,92vw);min-width:280px}.modal.modal-dialog .modal-body{margin-bottom:8px}.modal-dialog-message{font-size:13px;color:var(--text-secondary, #555);line-height:1.45;white-space:pre-wrap;word-break:break-word}.modal-alert-body{display:flex;gap:10px;align-items:flex-start}.modal-alert-icon{flex-shrink:0;font-size:18px;line-height:1.2}.modal.modal-roster-hr{max-width:min(1200px,98vw);width:98%;max-height:96vh;padding:10px 14px}.modal.modal-shipped-quality{max-width:min(1100px,96vw);width:96%;max-height:92vh;overflow-y:auto}.modal.modal-shipped-quality .modal-body,.modal.modal-shipped-quality .form-group{margin-bottom:6px}.modal.modal-shipped-quality textarea.form-input{min-height:44px;resize:vertical}@media (max-width: 900px){.shipped-quality-form-grid{grid-template-columns:1fr 1fr!important}}@media (max-width: 640px){.shipped-quality-form-grid{grid-template-columns:1fr!important}}.modal.modal-roster-hr .modal-header{margin-bottom:6px;padding-bottom:6px}.modal.modal-roster-hr .modal-title{font-size:1.05rem}.modal.modal-roster-hr .modal-body{margin-bottom:0}.modal.modal-roster-hr .form-group{margin-bottom:4px}.modal.modal-roster-hr .form-group label{display:block;font-size:12px;font-weight:500;margin-bottom:2px;color:var(--text-primary)}.modal.modal-roster-hr .form-group input,.modal.modal-roster-hr .form-group select{padding:4px 8px;font-size:13px;line-height:1.35}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--border-color)}.modal-title{font-size:var(--font-modal-title);font-weight:600;margin:0;color:var(--text-primary);line-height:1.3}.modal-close{background:none;border:none;font-size:22px;cursor:pointer;color:var(--text-muted-light);padding:0;width:22px;height:22px;display:flex;align-items:center;justify-content:center;line-height:1}.modal-close:hover{color:var(--text-primary)}.modal-body{margin-bottom:10px}.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding-top:8px;border-top:1px solid var(--border-color)}.modal .form-group{margin-bottom:10px}.modal .form-label,.modal label.form-label{display:block;margin-bottom:4px;font-size:13px;font-weight:500;color:var(--text-primary)}.modal .form-input,.modal .form-select,.modal .form-textarea,.modal input.form-input,.modal select.form-select,.modal textarea.form-textarea{width:100%;padding:6px 10px;border:1px solid var(--border-light);border-radius:4px;font-size:13px;font-family:inherit;background:var(--bg-secondary);color:var(--text-primary);line-height:1.4;box-sizing:border-box}.modal .form-input:focus,.modal .form-select:focus,.modal .form-textarea:focus{outline:none;border-color:#086c7b}.modal .form-textarea{resize:vertical;min-height:64px}.modal .form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-group{margin-bottom:10px}.form-label{display:block;margin-bottom:4px;font-size:13px;font-weight:500;color:var(--text-primary)}.form-input,.form-select,.form-textarea{width:100%;padding:6px 10px;border:1px solid var(--border-light);border-radius:4px;font-size:13px;font-family:inherit;background:var(--bg-secondary);color:var(--text-primary);line-height:1.4;box-sizing:border-box}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:#086c7b}.form-textarea{resize:vertical;min-height:64px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:8px;border-top:1px solid var(--border-color);margin-top:10px}.modal-footer .btn,.modal-actions .btn{padding:5px 12px;border:none;border-radius:4px;font-size:13px;cursor:pointer;line-height:1.3}.modal-footer .btn:disabled,.modal-actions .btn:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.2)}.modal-footer .btn-primary,.modal-actions .btn-primary{background-color:#086c7b;color:#fff}.modal-footer .btn-danger,.modal-actions .btn-danger{background-color:#e74c3c;color:#fff}.modal-footer .btn:not(.btn-primary):not(.btn-danger):not(.btn-secondary),.modal-actions .btn:not(.btn-primary):not(.btn-danger):not(.btn-secondary){background-color:#95a5a6;color:#fff}.modal-footer .btn-secondary,.modal-actions .btn-secondary{background-color:#95a5a6;color:#fff}@media (max-width: 768px){.form-row,.modal .form-row{grid-template-columns:1fr}}.toast-container{position:fixed;top:20px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:12px;pointer-events:none}.toast{display:flex;align-items:center;gap:14px;min-width:320px;max-width:500px;padding:16px 20px;background:#fff;border-radius:12px;box-shadow:0 8px 24px #0000001f,0 2px 8px #00000014;animation:slideInRight .4s cubic-bezier(.16,1,.3,1);pointer-events:auto;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.toast:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:currentColor;opacity:.8}.toast:hover{transform:translate(-6px) translateY(-2px);box-shadow:0 12px 32px #00000029,0 4px 12px #0000001a}@keyframes slideInRight{0%{transform:translate(calc(100% + 40px));opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOutRight{0%{transform:translate(0);opacity:1}to{transform:translate(calc(100% + 40px));opacity:0}}.toast-exiting{animation:slideOutRight .3s cubic-bezier(.7,0,.84,0) forwards}.toast-icon{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:16px;font-weight:700;color:#fff;box-shadow:0 2px 8px #00000026;transition:transform .2s ease}.toast:hover .toast-icon{transform:scale(1.1)}.toast-success .toast-icon{background:linear-gradient(135deg,#10b981,#059669)}.toast-error .toast-icon{background:linear-gradient(135deg,#ef4444,#dc2626)}.toast-warning .toast-icon{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.toast-info .toast-icon{background:linear-gradient(135deg,#3b82f6,#2563eb)}.toast-message{flex:1;font-size:14px;line-height:1.6;color:#333;font-weight:500}.toast-success{border-left:4px solid #10b981;background:linear-gradient(to right,#f0fdf4,#fff 8%)}.toast-error{border-left:4px solid #ef4444;background:linear-gradient(to right,#fef2f2,#fff 8%)}.toast-warning{border-left:4px solid #f59e0b;background:linear-gradient(to right,#fffbeb,#fff 8%)}.toast-info{border-left:4px solid #3b82f6;background:linear-gradient(to right,#eff6ff,#fff 8%)}.toast-close{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:none;background:#0000000d;color:#333;font-size:18px;line-height:1;cursor:pointer;padding:0;border-radius:6px;transition:all .2s ease}.toast-close:hover{background:#0000001a;color:#333;transform:rotate(90deg)}@media (max-width: 768px){.toast-container{top:10px;right:10px;left:10px}.toast{min-width:auto;max-width:100%}}.table-overflow-tip{position:fixed;z-index:12000;pointer-events:none;box-sizing:border-box;padding:8px 10px;border-radius:6px;border:1px solid #e5e7eb;background:#fff;color:#333;font-size:12px;line-height:1.45;white-space:pre-wrap;word-break:break-word;box-shadow:0 8px 24px #0f172a24}.table-overflow-tip--above{transform:translateY(-100%)}.wecom-auth-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 18% 18%,rgba(255,255,255,.18) 0,transparent 36%),linear-gradient(135deg,#1f5f8f,#2f7db8 48%,#4fa3d9);color:#333}.wecom-auth-card{width:min(420px,100%);background:#fffffff5;border-radius:16px;padding:28px 24px;box-shadow:0 14px 36px #0b2d5847;text-align:center}.wecom-auth-card h1{margin:0 0 8px;font-size:1.35rem}.wecom-auth-card p{margin:0 0 16px;color:#333;line-height:1.5;font-size:.95rem}.wecom-auth-error{color:#333;margin-bottom:12px;font-size:.9rem}.wecom-auth-input{width:100%;box-sizing:border-box;letter-spacing:.35em;text-align:center;font-size:1.4rem;padding:12px;border:1px solid #c9d7e6;border-radius:10px;margin-bottom:14px}.wecom-auth-btn{width:100%;border:0;border-radius:10px;padding:12px 16px;background:#215f9a;color:#fff;font-size:1rem;cursor:pointer}.wecom-auth-btn:disabled{opacity:.65;cursor:not-allowed}.wecom-auth-link{display:inline-block;margin-top:14px;color:#333;text-decoration:none;font-size:.9rem}:root{--bg-primary: #f5f5f5;--bg-secondary: #ffffff;--bg-tertiary: #f8f9fa;--text-primary: #333;--text-secondary: #555;--text-muted: #666;--text-muted-light: #999;--border-color: #e0e0e0;--border-light: #ddd;--header-bg: #f5f5f5;--sidebar-bg: #ffffff;--content-bg: #ffffff;--nav-active-bg: #086c7b;--nav-active-color: #ffffff;--nav-hover-bg: #f5f5f5;--color-secondary: #086c7b;--color-secondary-soft: #d0e8eb;--shadow: rgba(0, 0, 0, .1);--font-page-header: 18px;--font-modal-title: 16px;--font-drawer-title: 15px;--font-block-title: 16px;--font-subheading: 15px;--font-table-header: 13px;--font-sidebar-section: 13px;--font-topbar-brand: 17px;--table-border: #f0f0f0;--table-header-bg: #fafafa;--table-header-color: rgba(0, 0, 0, .88);--table-cell-color: rgba(0, 0, 0, .88);--table-row-even: transparent;--table-row-hover: #fafafa;--table-row-hover-bar: transparent}*{margin:0;padding:0;box-sizing:border-box}*,*:before,*:after{animation:none!important;animation-duration:0s!important;animation-delay:0s!important;transition:none!important;transition-duration:0s!important;transition-delay:0s!important;scroll-behavior:auto!important}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-primary);color:var(--text-primary)}#root{min-height:100vh}button{cursor:pointer;font-family:inherit}button:disabled,button[disabled]{cursor:not-allowed}input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.55}input[type=checkbox]:disabled{cursor:not-allowed;opacity:.4}input,select,textarea{font-family:inherit}table tbody tr:nth-child(2n){background-color:var(--table-row-even)}table tbody tr:hover>td{background-color:var(--table-row-hover)!important}
