.app{min-height:100vh;background:linear-gradient(135deg,#f5f7fa 0%,#e4e8ec 100%)}.app-header{background:linear-gradient(135deg,#4a9d9a 0%,#3d8583 100%);color:#fff;padding:20px 30px;display:flex;align-items:center;gap:20px;box-shadow:0 2px 10px #0000001a}.app-header h1{margin:0;font-size:24px;font-weight:600}.header-subtitle{font-size:14px;opacity:.8;background:rgba(255,255,255,.2);padding:4px 12px;border-radius:20px}.app-main{max-width:1400px;margin:0 auto;padding:30px}.salary-manager{background:white;border-radius:12px;box-shadow:0 4px 20px #00000014;padding:24px}.message{padding:12px 16px;border-radius:8px;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between}.message-success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.message-error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.message-close{background:none;border:none;font-size:20px;cursor:pointer;opacity:.5;padding:0 4px}.message-close:hover{opacity:1}.tabs{display:flex;gap:8px;margin-bottom:24px;border-bottom:2px solid #eee;padding-bottom:8px}.tab-btn{padding:10px 24px;border:none;background:transparent;font-size:14px;font-weight:500;color:#666;cursor:pointer;border-radius:8px 8px 0 0;transition:all .2s}.tab-btn:hover{background:#f5f5f5;color:#333}.tab-btn.active{background:#4a9d9a;color:#fff}.toolbar{display:flex;align-items:center;gap:15px;margin-bottom:20px}.toolbar-left{display:flex;align-items:center;gap:15px}.toolbar-info{margin-left:15px;color:#666;font-size:14px}.btn{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary{background:#4a9d9a;color:#fff}.btn-primary:hover:not(:disabled){background:#3d8583}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:#e9ecef;color:#495057}.btn-secondary:hover{background:#dee2e6}.btn-danger{background:#dc3545;color:#fff}.btn-danger:hover{background:#c82333}.btn-sm{padding:6px 12px;font-size:12px}.table-container{overflow-x:auto;overflow-y:auto;max-height:calc(100vh - 260px);margin-top:20px}.table-container h5{margin:0 0 15px;color:#333;font-size:16px}table{width:100%;min-width:900px;border-collapse:separate;border-spacing:0;font-size:14px}thead th{position:sticky;top:0;background:#f8f9fa;z-index:2;border-bottom:2px solid #ddd}th,td{padding:12px 16px;text-align:left;border-bottom:1px solid #eee}.sticky-col{position:sticky;left:0;background:#fff;z-index:1}thead th.sticky-col{z-index:3;background:#f8f9fa}tbody tr:hover .sticky-col{background:#f8f9fa}th{font-weight:600;color:#495057;white-space:nowrap}tbody tr:hover{background:#f8f9fa}.empty-cell{text-align:center;color:#666;padding:30px}.badge{display:inline-block;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:500}.badge-info{background:#e3f2fd;color:#1976d2}.badge-warning{background:#fff3e0;color:#f57c00}.config-form{max-width:500px;padding:20px;background:#f8f9fa;border-radius:8px}.config-form h4{margin:0 0 20px;color:#333}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-weight:500;color:#495057;font-size:14px}.form-group input,.form-group select{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;transition:border-color .2s}.form-group input:focus,.form-group select:focus{outline:none;border-color:#4a9d9a}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-actions{display:flex;gap:10px;margin-top:20px}.upload-preview{margin-top:20px;padding:20px;background:#f8f9fa;border-radius:8px;border:1px dashed #ddd}.upload-preview h5{margin:0 0 10px;color:#333}.upload-preview p{margin:5px 0;color:#666;font-size:14px}.preview-table{max-height:200px;overflow:auto;margin-top:15px}.preview-actions{display:flex;gap:10px;margin-top:15px}.formula-info{margin-top:15px;padding:15px;background:#e3f2fd;border-radius:8px;font-size:13px}.formula-info ul{margin:8px 0 0 20px;padding:0}.formula-info li{margin:4px 0}.salary-summary{margin-top:15px;padding:15px;background:#f8f9fa;border-radius:8px;display:flex;flex-wrap:wrap;gap:20px;align-items:center}.salary-summary .total{font-weight:700}.text-primary{color:#007bff}.text-success{color:#28a745}.text-danger{color:#dc3545}.text-purple{color:#9333ea}.sub-info{display:block;font-size:10px;color:#999}.loading{text-align:center;padding:40px;color:#666}.month-picker{position:relative;display:inline-block}.month-picker-trigger{display:flex;align-items:center;gap:8px;padding:8px 12px;background:white;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:14px;color:#333;min-width:130px;justify-content:space-between}.month-picker-trigger:hover{border-color:#4a9d9a}.month-picker-trigger svg{color:#666}.month-picker-dropdown{position:absolute;top:calc(100% + 8px);left:0;z-index:1000;background:white;border-radius:12px;box-shadow:0 4px 20px #00000026;padding:16px;min-width:280px}.month-picker-dropdown:before{content:"";position:absolute;top:-8px;left:50%;transform:translate(-50%);border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid white}.month-picker-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding:0 8px}.month-picker-nav{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:50%;cursor:pointer;color:#666;transition:background-color .2s}.month-picker-nav:hover{background:#f0f0f0}.month-picker-year{font-size:16px;font-weight:600;color:#333;background:#f5f5f5;padding:6px 24px;border-radius:4px}.month-picker-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.month-picker-item{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px 8px;background:transparent;border:none;border-radius:50%;cursor:pointer;font-size:14px;color:#333;width:60px;height:60px;transition:all .2s}.month-picker-item:hover{background:#f0f0f0}.month-picker-item.selected{background:#4a9d9a;color:#fff;border:2px solid #3d8583}.month-picker-item.current .current-indicator{position:absolute;bottom:10px;width:16px;height:2px;background:#e74c3c;border-radius:1px}.month-picker-item.selected .current-indicator{background:white}@media (max-width: 768px){.app-header{padding:12px 16px;gap:10px}.app-header h1{font-size:18px}.header-subtitle,.btn-text-hide{display:none}.app-main{padding:12px}.salary-manager{padding:12px;border-radius:8px}.tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:4px;padding-bottom:6px;margin-bottom:16px}.tab-btn{padding:8px 12px;font-size:13px;white-space:nowrap;flex-shrink:0}.toolbar{flex-wrap:wrap;gap:10px}.toolbar-left{flex-wrap:wrap;gap:8px;width:100%}.toolbar-left label{font-size:13px}.toolbar-info{margin-left:0;font-size:13px}.btn{padding:8px 14px;font-size:13px}.btn-sm{padding:4px 8px;font-size:11px}.table-container{margin-top:12px}.table-container h5{font-size:14px;margin-bottom:10px}table{font-size:12px;min-width:600px}th,td{padding:8px 10px}.config-form{max-width:100%;padding:16px}.form-row{grid-template-columns:1fr}.formula-info{font-size:12px;padding:12px}.formula-info ul{margin-left:16px}.salary-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;padding:12px;font-size:13px}.month-picker-dropdown{min-width:240px;left:auto;right:0;padding:12px}.month-picker-dropdown:before{left:auto;right:20px;transform:none}.month-picker-item{width:50px;height:50px;font-size:13px}.message{padding:10px 12px;font-size:13px;margin-bottom:12px}}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#333;background:#f5f7fa}#root{min-height:100vh}
