body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box}html{font-size:16px}@media (max-width:768px){html{font-size:14px}}@media (max-width:480px){html{font-size:13px}}.App{display:flex;flex-direction:column;min-height:100vh;text-align:center}.App-header{background-color:#282c34;color:#fff;padding:20px}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.header{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 10px #0000001a;color:#fff;padding:2rem 1rem}.header-content{margin:0 auto;max-width:1200px}.header h1{font-size:2.5rem;font-weight:700;margin:0 0 .5rem}.header p{font-size:1.1rem;margin:0;opacity:.9}.main-content{background-color:#f8f9fa;flex:1 1;padding:2rem 1rem}.container{margin:0 auto;max-width:1200px}.calculation-section,.upload-section{background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a;margin-bottom:2rem;padding:2rem}.calculation-section h2,.upload-section h2{color:#333;font-size:1.5rem;margin-bottom:1.5rem}.upload-success{background-color:#d4edda;border:1px solid #c3e6cb;border-radius:5px;color:#155724;margin-top:1rem;padding:1rem}.tax-calculation-section{background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a;margin-bottom:2rem;padding:2rem}.monthly-payroll-wrapper{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;padding:1.5rem}.backup-section-wrapper,.monthly-payroll-section{margin-bottom:2rem}@media (max-width:768px){.main-content{padding:1rem .5rem}.calculation-section,.tax-calculation-section,.upload-section{margin-bottom:1.5rem;padding:1.5rem}.calculation-section h2,.upload-section h2{font-size:1.25rem;margin-bottom:1rem}}@media (max-width:480px){.main-content{padding:1rem .25rem}.calculation-section,.tax-calculation-section,.upload-section{margin-bottom:1rem;padding:1rem}.calculation-section h2,.upload-section h2{font-size:1.1rem}}.file-upload{width:100%}.upload-area{background-color:#fafafa;border:2px dashed #ccc;border-radius:10px;cursor:pointer;padding:3rem 2rem;text-align:center;transition:all .3s ease}.upload-area:hover{background-color:#f0f2ff;border-color:#667eea;transform:translateY(-2px)}.upload-content{align-items:center;display:flex;flex-direction:column;gap:1rem}.upload-icon{font-size:3rem;opacity:.6}.upload-area p{color:#666;margin:0}.upload-note{font-size:.9rem;opacity:.8}@media (max-width:768px){.upload-area{padding:2rem 1rem}.upload-icon{font-size:2rem}.upload-area p{font-size:.9rem}.upload-note{font-size:.8rem}}.detail-table{background:#0000;margin-top:0;padding:0}.detail-table h2{color:#2c3e50;font-size:1.5rem;font-weight:600}.table-container{border:1px solid #e9ecef;border-radius:8px}.table-container-borderless{overflow-x:auto}.detail-table table{background:#fff;border-collapse:collapse;width:100%}.detail-table thead th{background:#f8f9fa;border-bottom:2px solid #dee2e6;color:#495057;font-size:.9rem;font-weight:600;padding:1rem;text-align:center}.detail-table thead th:first-child{border-top-left-radius:8px}.detail-table thead th:last-child{border-top-right-radius:8px}.category-header td{background:#e9ecef;border-bottom:1px solid #dee2e6;color:#495057;font-size:.95rem;font-weight:600;padding:.75rem 1rem}.data-row td{border-bottom:1px solid #f1f3f4;padding:1rem;vertical-align:middle}.data-row:hover{background-color:#f8f9fa}.data-row:last-child td{border-bottom:none}.item-name{color:#2c3e50;font-weight:500;padding-left:1.5rem;width:30%}.amount{font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,monospace;font-weight:500;min-width:20%;text-align:right}.amount.annual{color:#2c3e50}.amount.monthly,.note{color:#6c757d}.note{font-size:.875rem;font-style:italic;width:50%}.data-row.clickable{cursor:pointer;transition:background-color .2s ease}.data-row.clickable:hover{background-color:#e3f2fd!important}.data-row.expanded{background-color:#f5f5f5}.expand-icon{color:#007bff;font-size:12px;margin-left:8px;-webkit-user-select:none;user-select:none}.detail-row{background-color:#fafafa}.detail-row td{border-bottom:1px solid #e0e0e0;padding:0}.calculation-details{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-left:4px solid #007bff;padding:20px}.calculation-details h4{color:#495057;font-size:16px;font-weight:600;margin:0 0 16px}.detail-steps{display:flex;flex-direction:column;gap:12px}.detail-step{align-items:center;background:#fff;border-radius:6px;box-shadow:0 1px 3px #0000001a;display:flex;justify-content:space-between;padding:8px 12px}.step-label{color:#495057;flex-basis:30%;font-weight:500;min-width:120px}.step-value{color:#007bff;flex-basis:20%;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,monospace;font-weight:600;min-width:100px;text-align:right}.step-formula{color:#6c757d;flex:1 1;font-size:14px;font-style:italic;margin-left:16px}@media (max-width:768px){.detail-table{margin:1rem 0;padding:1rem}.detail-table table{font-size:.875rem}.category-header td,.data-row td,.detail-table thead th{padding:.75rem .5rem}.amount{min-width:100px}.note{font-size:.8rem}.calculation-details{padding:16px}.detail-step{align-items:flex-start;flex-direction:column;padding:12px}.step-formula,.step-label,.step-value{margin:2px 0;min-width:auto}.step-value{text-align:left}.step-formula{font-size:12px;margin-left:0}}.bonus-form{background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;margin:1rem 0;padding:1rem}.add-bonus-btn{background-color:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1rem}.add-bonus-btn:hover{background-color:#218838}.bonus-form-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1.5rem}.bonus-form-container h4{color:#333;font-size:1.1rem;margin:0 0 1rem}.form-row{margin-bottom:1rem}.form-row label{display:block;font-weight:700;margin-bottom:.5rem}.form-row select{border:1px solid #ccc;border-radius:4px;font-size:1rem;padding:.5rem;width:100px}.compact-form{width:100%}.form-inline{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.inline-field{color:#555;display:flex;flex-direction:column;font-size:.85rem;font-weight:700;min-width:80px}.inline-field input,.inline-field select{border:1px solid #ccc;border-radius:4px;font-size:.85rem;margin-top:.25rem;padding:.4rem;width:80px}.inline-field select{width:60px}.inline-field:first-child input{width:120px}.inline-field input:focus,.inline-field select:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.inline-actions{display:flex;gap:.5rem;margin-left:auto}.form-actions{display:flex;gap:.5rem;justify-content:flex-end}.submit-btn{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem}.submit-btn:hover{background-color:#0056b3}.cancel-btn{background-color:#6c757d;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem}.cancel-btn:hover{background-color:#545b62}.primary-btn{background-color:#007bff;color:#fff}.family-form{background-color:#fff;border:1px solid #e9ecef;border-radius:8px;margin-bottom:20px;margin-left:auto;margin-right:auto;max-width:600px;padding:20px}.form-section{align-items:flex-start;display:flex;gap:30px;margin-bottom:30px}.family-form h3{color:#495057;flex-shrink:0;font-size:18px;font-weight:600;margin:0;min-width:160px}.form-content{display:flex;flex:1 1;flex-direction:column;gap:15px}.form-group{align-items:center;display:flex;gap:15px}.form-group label{color:#495057;display:block;font-size:14px;font-weight:500;margin-bottom:0;min-width:150px;text-align:left}.checkbox-label{align-items:center;cursor:pointer;display:flex!important;margin-bottom:0;min-width:150px}.checkbox-label input[type=checkbox]{margin-bottom:0;margin-right:8px}.form-group input[type=number]{border:1px solid #ced4da;border-radius:4px;font-size:14px;padding:8px 12px;text-align:center;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:120px}.form-group input[type=number]:focus{border-color:#80bdff;box-shadow:0 0 0 2px #007bff40;outline:0}.form-group input[type=number]:disabled{background-color:#e9ecef;opacity:1}@media (max-width:768px){.form-section{flex-direction:column;gap:15px}.family-form h3{min-width:auto}.form-group{align-items:flex-start;flex-direction:column;gap:8px}.checkbox-label,.form-group label{min-width:auto}.form-group input[type=number]{width:120px}.family-form{padding:16px}}@media (max-width:480px){.form-content{gap:12px}.family-form{padding:12px}.family-form h3{font-size:16px}.form-section{margin-bottom:20px}}.monthly-payroll-container{background-color:initial;margin:0;padding:0}.table-header{margin-bottom:20px}.header-top{align-items:center;display:flex;gap:20px;justify-content:center;margin-bottom:16px}.section-title{color:#2c3e50;font-size:1.5rem;font-weight:600;margin:0}.year-selector{background-color:#fff;border:2px solid #007bff;border-radius:6px;color:#007bff;cursor:pointer;font-size:1.1em;font-weight:700;padding:8px 16px}.table-header h3{color:#333;font-size:1.4em;margin:0 0 15px}.legend{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:10px}.legend-item{align-items:center;display:flex;font-size:.9em;gap:5px}.legend-color{font-size:1.2em}.pdf-color{color:#000}.estimated-color{color:#6c757d}.edited-color{color:#007bff}.table-container{margin-bottom:20px;overflow-x:auto}.payroll-table{border-collapse:collapse;font-size:14px;min-width:800px;width:100%}.payroll-table td,.payroll-table th{border:1px solid #dee2e6;padding:8px 12px;text-align:right}.payroll-table th{background-color:#f8f9fa;font-weight:700;position:-webkit-sticky;position:sticky;text-align:center;top:0;z-index:1}.payroll-table td:first-child,.payroll-table th:first-child{background-color:#fff;left:0;position:-webkit-sticky;position:sticky;text-align:left;z-index:2}.payroll-table th:first-child{background-color:#f8f9fa;z-index:3}.payroll-table tbody tr:nth-child(2n){background-color:#f8f9fa}.payroll-table tbody tr:hover{background-color:#e9ecef}.total-row{background-color:#d4edda!important;border-top:2px solid #28a745}.total-row td{font-size:1.1em;font-weight:700}.total-row:hover{background-color:#c3e6cb!important}.editable-cell:hover:not(.disabled){background-color:#e3f2fd!important;cursor:pointer}.editing-cell{padding:4px!important}.editing-cell input{border:2px solid #007bff;border-radius:4px;font-size:14px;outline:none;padding:4px 8px;text-align:right;width:100%}.actions{border-top:2px solid #dee2e6;margin-top:20px;padding-top:20px}.action-buttons{align-items:flex-start;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:15px}.reset-buttons{display:flex;flex-wrap:wrap;gap:10px}.calculate-btn{background-color:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1.1em;font-weight:700;padding:12px 24px;transition:background-color .2s}.calculate-btn:hover:not(:disabled){background-color:#0056b3}.calculate-btn:disabled{background-color:#6c757d;cursor:not-allowed}.reset-btn{border:none;border-radius:4px;cursor:pointer;font-size:.9em;padding:8px 16px;transition:all .2s}.secondary-btn{background-color:#6c757d;color:#fff}.secondary-btn:hover{background-color:#5a6268}.warning-btn{background-color:#ffc107;border:1px solid #ffc107;color:#212529}.warning-btn:hover{background-color:#e0a800;border-color:#d39e00}.summary-info{text-align:right}.summary-info p{font-size:1.1em;margin:5px 0}.summary-info strong{color:#007bff}@media (max-width:768px){.monthly-payroll-container{margin:10px 0;padding:10px}.legend{gap:10px}.legend-item{font-size:.8em}.payroll-table{font-size:12px}.payroll-table td,.payroll-table th{padding:6px 8px}.action-buttons{align-items:stretch;flex-direction:column}.calculate-btn{margin-bottom:15px;width:100%}.reset-buttons{justify-content:center;margin-bottom:15px}.summary-info{text-align:center}}@media (max-width:480px){.table-header h3{font-size:1.2em}.payroll-table{font-size:11px;min-width:600px}.payroll-table td,.payroll-table th{padding:4px 6px}}.google-drive-backup{margin:0;padding:0}.backup-section{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;margin-bottom:20px;padding:1.5rem}.backup-title{align-items:center;color:#333;display:flex;flex-wrap:wrap;font-size:1.1em;font-weight:700;gap:8px;justify-content:space-between;margin:0 0 16px}.backup-subtitle{font-size:.9rem;opacity:.8}.backup-icon{font-size:1.2em}.backup-message{border-radius:4px;font-size:.9em;font-weight:500;margin-bottom:16px;padding:8px 12px}.backup-message-success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.backup-message-error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.backup-message-info{background-color:#d1ecf1;border:1px solid #bee5eb;color:#0c5460}.backup-status{margin-bottom:16px}.auth-status{align-items:center;border-radius:4px;display:flex;font-size:.9em;font-weight:500;gap:6px;margin-bottom:8px;padding:8px 12px}.auth-status-success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.auth-status-error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.user-email{color:#6c757d;font-size:.85em;font-weight:400}.backup-status-info{align-items:center;background-color:#e2f3ff;border:1px solid #b8daff;border-radius:4px;color:#004085;display:flex;font-size:.85em;gap:6px;padding:6px 12px}.backup-date{color:#6c757d;font-size:.8em;margin-left:6px}.status-icon{font-size:1em}.backup-controls{display:flex;flex-direction:column;gap:12px}.backup-actions{display:flex;flex-wrap:wrap;gap:8px}.backup-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;flex:1 1;font-size:.9em;font-weight:500;gap:6px;justify-content:center;min-width:120px;padding:8px 16px;text-decoration:none;transition:all .2s ease}.backup-btn:disabled{cursor:not-allowed;opacity:.6}.backup-btn-primary{background:linear-gradient(135deg,#007bff,#0056b3);border:1px solid #0056b3;color:#fff}.backup-btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#0056b3,#004085);box-shadow:0 4px 8px #007bff4d;transform:translateY(-1px)}.backup-btn-backup{background:linear-gradient(135deg,#28a745,#1e7e34);border:1px solid #1e7e34;color:#fff}.backup-btn-backup:hover:not(:disabled){background:linear-gradient(135deg,#1e7e34,#155724);box-shadow:0 4px 8px #28a7454d;transform:translateY(-1px)}.backup-btn-restore{background:linear-gradient(135deg,#17a2b8,#117a8b);border:1px solid #117a8b;color:#fff}.backup-btn-restore:hover:not(:disabled){background:linear-gradient(135deg,#117a8b,#0c5460);box-shadow:0 4px 8px #17a2b84d;transform:translateY(-1px)}.backup-btn-secondary{background:#0000;border:1px solid #dee2e6;color:#6c757d;font-size:.8em;padding:6px 12px}.backup-btn-secondary:hover:not(:disabled){background-color:#f8f9fa;border-color:#adb5bd;color:#495057}.backup-btn-small{align-self:flex-start;flex:none;min-width:auto}.btn-icon{font-size:1em}.loading-icon{animation:spin 1s linear infinite;font-size:1em}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:768px){.backup-actions{flex-direction:column}.backup-btn{flex:none;min-width:100%}.backup-title{font-size:1em}.backup-section{padding:12px}}@media (max-width:480px){.backup-section{padding:8px}.backup-btn{font-size:.85em;padding:10px 12px}}.footer{background-color:#333;color:#fff;margin-top:auto;padding:1.5rem 1rem}.footer-content{margin:0 auto;max-width:1200px;text-align:center}.footer-links{margin-bottom:1rem}.footer-link{border-radius:4px;color:#87ceeb;display:inline-block;font-size:.9rem;padding:.5rem 1rem;text-decoration:none;transition:all .3s ease}.footer-link:hover{background-color:#87ceeb33;color:#fff;text-decoration:underline}.footer p{margin:.5rem 0}.footer-note{font-size:.9rem;opacity:.8}.privacy-policy-page{background-color:#f8f9fa;min-height:100vh;padding:20px 0}.privacy-policy-container{background-color:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;margin:0 auto;max-width:800px;overflow:hidden}.privacy-policy-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:40px 30px;text-align:center}.privacy-policy-header h1{font-size:2.5rem;font-weight:600;margin:0 0 10px}.last-updated{font-size:.9rem;margin:0;opacity:.9}.privacy-policy-content{padding:40px 30px}.privacy-section{margin-bottom:40px}.privacy-section:last-child{margin-bottom:0}.privacy-section h2{border-bottom:2px solid #e2e8f0;color:#2d3748;font-size:1.5rem;font-weight:600;margin-bottom:15px;padding-bottom:8px}.privacy-section p{font-size:1rem}.privacy-section p,.privacy-section ul{color:#4a5568;line-height:1.7;margin-bottom:15px}.privacy-section ul{padding-left:20px}.privacy-section li{margin-bottom:8px}.contact-info{background-color:#f7fafc;border-left:4px solid #667eea;border-radius:8px;margin-top:15px;padding:20px}.contact-info p{color:#2d3748;margin:5px 0}.privacy-policy-actions{background-color:#f8f9fa;border-top:1px solid #e2e8f0;padding:30px;text-align:center}.back-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:25px;box-shadow:0 2px 4px #0000001a;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:12px 30px;transition:all .3s ease}.back-button:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.back-button:active{transform:translateY(0)}@media (max-width:768px){.privacy-policy-page{padding:10px}.privacy-policy-container{border-radius:8px;margin:0 10px}.privacy-policy-header{padding:30px 20px}.privacy-policy-header h1{font-size:2rem}.privacy-policy-content{padding:30px 20px}.privacy-section h2{font-size:1.3rem}.privacy-policy-actions{padding:20px}.contact-info{padding:15px}}@media (max-width:480px){.privacy-policy-header h1{font-size:1.8rem}.privacy-policy-content{padding:20px 15px}.privacy-section h2{font-size:1.2rem}.privacy-section p,.privacy-section ul{font-size:.9rem}}
/*# sourceMappingURL=main.7fd0e6e5.css.map*/