:root{--color-bg:#F9F8F6;--color-surface:#FFFFFF;--color-surface-alt:#F3F2EF;--color-border:#E8E6E1;--color-border-strong:#D4D1CB;--color-text:#2D2B28;--color-text-secondary:#6B6966;--color-text-muted:#9C9A97;--color-primary:#C96442;--color-primary-hover:#B05636;--color-primary-light:#F8EDE8;--color-accent:#3B7AD9;--color-accent-hover:#2E63B5;--color-accent-light:#EBF2FC;--color-success:#2D8659;--color-success-hover:#24704A;--color-success-light:#E8F5EE;--color-danger:#C93B3B;--color-danger-hover:#A83030;--color-danger-light:#FCEAEA;--color-warning-light:#FFF8EB;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-mono:"SF Mono","Fira Code",monospace;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:18px;--shadow-sm:0 1px 2px rgba(0,0,0,0.04);--shadow-md:0 2px 8px rgba(0,0,0,0.06);--shadow-lg:0 4px 16px rgba(0,0,0,0.08);--shadow-xl:0 8px 32px rgba(0,0,0,0.1);--transition:150ms ease}*,:after,:before{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text);line-height:1.6;min-height:100vh;padding:0;margin:0}a{color:var(--color-accent);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--color-accent-hover);text-decoration:underline}h1,h2,h3,h4,h5,h6{line-height:1.3;color:var(--color-text);font-weight:600}h2{font-size:1.25rem;margin-top:.5rem}.admin-dashboard-container,.dashboard-container,.error-message-container,.signup-container{max-width:960px;width:100%;margin:2rem auto;padding:2.5rem;background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-md)}.admin-portal-container{padding:1.5rem}.timesheet-container{max-width:960px;width:100%;margin:2rem auto;padding:2.5rem;background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-md)}.header{text-align:center;margin-bottom:2rem}.admin-header{text-align:center;margin-bottom:1.5rem}.company-name{font-size:1.75rem;font-weight:700;color:var(--color-text);letter-spacing:-.02em}.company-tagline{font-size:.95rem;color:var(--color-text-secondary);margin-top:.25rem}.form-container{background-color:var(--color-surface);padding:2rem;border-radius:var(--radius-md);border:1px solid var(--color-border)}.form-fields{display:grid;grid-gap:1.5rem;gap:1.5rem;grid-template-columns:1fr 1fr}@media (max-width:640px){.form-fields{grid-template-columns:1fr}}.form-title{font-size:1.35rem;color:var(--color-text);margin-bottom:1.25rem;font-weight:600}.form-section{border:1px solid var(--color-border);padding:1.25rem;margin-bottom:1.25rem;border-radius:var(--radius-md);background-color:var(--color-surface-alt)}.form-section-title{margin-bottom:1rem;font-size:1.1rem;font-weight:600;color:var(--color-text)}.input-group{margin-bottom:1rem;text-align:left}.file-label,.form-label,.input-group label{display:block;font-size:.875rem;font-weight:500;color:var(--color-text-secondary);margin-bottom:.375rem}.file-input,.input-field,.modal-input{width:100%;padding:.625rem .875rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.9375rem;font-family:var(--font-sans);color:var(--color-text);background:var(--color-surface);transition:border-color var(--transition),box-shadow var(--transition);outline:none}.file-input:focus,.input-field:focus,.modal-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.input-group input,.input-group select,.input-group textarea{width:100%;padding:.625rem .875rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.9375rem;font-family:var(--font-sans);color:var(--color-text);background:var(--color-surface);transition:border-color var(--transition),box-shadow var(--transition);outline:none;margin-top:.25rem}.input-group input:focus,.input-group select:focus,.input-group textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.download-all-btn,.download-btn,.edit-btn,.edit-button,.export-btn,.manage-btn,.save-button,.submit-btn,.view-btn,.view-file-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;font-family:var(--font-sans);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition);text-decoration:none;line-height:1.4}.submit-btn{width:100%;padding:.75rem 1rem;background-color:var(--color-primary);color:white;font-size:.9375rem;font-weight:600;border-radius:var(--radius-md)}.submit-btn:hover{background-color:var(--color-primary-hover)}.export-btn{background-color:var(--color-success);color:white}.export-btn:hover{background-color:var(--color-success-hover)}.download-btn,.manage-btn,.view-btn,.view-file-btn{background-color:var(--color-accent);color:white}.download-btn:hover,.manage-btn:hover,.view-btn:hover,.view-file-btn:hover{background-color:var(--color-accent-hover)}.download-all-btn{padding:.625rem 1.25rem;background-color:var(--color-success);color:white;font-size:.9375rem;margin-bottom:1rem;border-radius:var(--radius-md)}.download-all-btn:hover{background-color:var(--color-success-hover)}.edit-button,.save-button{background-color:var(--color-accent);color:white}.edit-button:hover,.save-button:hover{background-color:var(--color-accent-hover)}.cancel-btn,.cancel-button,.delete-button{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;font-size:.875rem;font-weight:500;font-family:var(--font-sans);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition);background-color:var(--color-danger);color:white}.cancel-btn:hover,.cancel-button:hover,.delete-button:hover{background-color:var(--color-danger-hover)}.btn{display:inline-flex;align-items:center;gap:.4rem;font-weight:600;padding:.625rem 1.125rem;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:.9375rem;font-family:var(--font-sans);transition:all var(--transition)}.btn svg{margin-right:.25rem}.btn.blue{background-color:var(--color-accent);color:white}.btn.blue:hover{background-color:var(--color-accent-hover)}.btn.green{background-color:var(--color-success);color:white}.btn.green:hover{background-color:var(--color-success-hover)}.btn.red{background-color:var(--color-danger);color:white}.btn.red:hover{background-color:var(--color-danger-hover)}.button-group{display:flex;gap:.5rem}.action-buttons{display:flex;justify-content:center;gap:1rem;margin-top:2rem;flex-wrap:wrap}.table-wrapper{width:100%;overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--color-border)}.table-title{font-size:1.25rem;font-weight:600;margin-bottom:.75rem;color:var(--color-text)}.styled-table,.timesheet-table{width:100%;border-collapse:collapse;font-size:.875rem}.styled-table td,.styled-table th,.timesheet-table td,.timesheet-table th{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--color-border)}.styled-table th,.timesheet-table th{background-color:var(--color-surface-alt);font-weight:600;color:var(--color-text-secondary);font-size:.8125rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:2px solid var(--color-border);white-space:nowrap}.styled-table tbody tr,.timesheet-table tbody tr{transition:background-color var(--transition)}.styled-table tbody tr:hover,.timesheet-table tbody tr:hover{background-color:var(--color-surface-alt)}.styled-table tbody tr:last-child td,.timesheet-table tbody tr:last-child td{border-bottom:none}.document-section{background:var(--color-surface-alt);border:1px solid var(--color-border);padding:1.5rem;border-radius:var(--radius-md);margin-bottom:1.5rem;margin-top:1.5rem}.document-title{font-size:1.1rem;margin-bottom:1rem;color:var(--color-text);font-weight:600}.document-inputs{display:flex;gap:1.25rem;flex-wrap:wrap}.document-inputs .input-group{flex:1 1;min-width:200px}.drivers-list{margin-top:1.5rem}.driver-card{background-color:var(--color-surface);padding:1.25rem;border-radius:var(--radius-md);margin-bottom:1rem;border:1px solid var(--color-border);transition:box-shadow var(--transition)}.driver-card:hover{box-shadow:var(--shadow-md)}.document-item{margin-top:.625rem}.file-name{font-weight:600;color:var(--color-text)}.expiry-date{color:var(--color-accent);font-size:.875rem}.no-file{color:var(--color-danger);font-size:.875rem}.filter-section{display:flex;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.filter-input{padding:.5rem .75rem;font-size:.9375rem;font-family:var(--font-sans);border:1px solid var(--color-border);border-radius:var(--radius-sm);width:220px;transition:border-color var(--transition)}.filter-input:focus{border-color:var(--color-primary);outline:none}.edit-form{margin-top:1.25rem;padding:1.5rem;background-color:var(--color-surface-alt);border-radius:var(--radius-md);border:1px solid var(--color-border)}.message{margin-top:1rem;padding:.75rem 1rem;border-radius:var(--radius-sm);text-align:center;font-weight:500;font-size:.9375rem}.message.error{background-color:var(--color-danger-light);color:var(--color-danger);border:1px solid var(--color-danger)}.message.success{background-color:var(--color-success-light);color:var(--color-success);border:1px solid var(--color-success)}.error-message{text-align:center;color:var(--color-text-muted);font-size:.9375rem;padding:1rem}.modal-overlay{position:fixed;top:0;left:0;z-index:9999;width:100vw;height:100vh;background:rgba(0,0,0,.4);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center}.modal-content{background:var(--color-surface);padding:2rem;border-radius:var(--radius-lg);max-width:480px;width:90%;border:1px solid var(--color-border);box-shadow:var(--shadow-xl);animation:modalSlideIn .2s ease-out}@keyframes modalSlideIn{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.375rem;font-weight:500;font-size:.875rem;color:var(--color-text-secondary)}.modal-buttons{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1.5rem}.login-link{font-size:.9rem;margin-top:1.25rem;color:var(--color-text-secondary)}.login-text{color:var(--color-primary);text-decoration:none;font-weight:500}.login-text:hover{text-decoration:underline}.unauthorized-container{max-width:480px;margin:4rem auto;padding:2.5rem;text-align:center;background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-md)}.unauthorized-container h1{color:var(--color-danger);margin-bottom:.75rem;font-size:1.5rem}.unauthorized-container p{color:var(--color-text-secondary)}.footer{text-align:center;padding:1.25rem 0;margin-top:2rem;font-size:.8125rem;color:var(--color-text-muted);border-top:1px solid var(--color-border)}.footer .company-name{font-weight:600;color:var(--color-text-secondary);font-size:.8125rem}.custom-checkbox{width:18px;height:18px;-moz-appearance:none;appearance:none;-webkit-appearance:none;border:2px solid var(--color-border-strong);border-radius:4px;cursor:not-allowed;position:relative;background-color:var(--color-surface);transition:all var(--transition)}.custom-checkbox:checked{background-color:var(--color-success);border-color:var(--color-success)}.custom-checkbox:checked:after{content:"\2714";color:white;font-size:12px;position:absolute;top:0;left:2px}.loading{display:flex;align-items:center;justify-content:center;min-height:60vh;font-size:1rem;color:var(--color-text-muted)}.back-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.5rem 1rem;background-color:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;font-size:.875rem;font-weight:500;font-family:var(--font-sans);transition:all var(--transition);text-decoration:none;margin-bottom:1.5rem}.back-btn:hover{background-color:var(--color-surface-alt);border-color:var(--color-border-strong)}.stat-row{display:flex;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}.stat-card{flex:1 1;min-width:160px;padding:1rem 1.25rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);text-align:center}.stat-card .stat-label{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin-bottom:.25rem}.stat-card .stat-value{font-size:1.25rem;font-weight:700}.stat-value.revenue{color:var(--color-accent)}.stat-value.expense{color:var(--color-danger)}.stat-value.paid,.stat-value.profit{color:var(--color-success)}.stat-value.due{color:var(--color-danger)}.filter-bar{display:flex;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap}.filter-bar input,.filter-bar select{padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.9375rem;font-family:var(--font-sans);color:var(--color-text);background:var(--color-surface);outline:none;transition:border-color var(--transition)}.filter-bar input:focus,.filter-bar select:focus{border-color:var(--color-primary)}.filter-bar input{flex:1 1;min-width:200px}.page-title{font-size:1.5rem;font-weight:700;color:var(--color-text);margin-bottom:1.5rem;letter-spacing:-.01em}@media (max-width:768px){.admin-dashboard-container,.dashboard-container,.signup-container,.timesheet-container{margin:1rem;padding:1.5rem}.company-name{font-size:1.4rem}.filter-section{flex-direction:column}.filter-input{width:100%}.action-buttons{flex-direction:column;align-items:stretch}.styled-table td,.styled-table th{padding:.5rem .625rem;font-size:.8125rem}}@media (max-width:480px){.dashboard-container,.signup-container,.timesheet-container{margin:.5rem;padding:1rem;border-radius:var(--radius-md)}.modal-content{margin:.5rem;padding:1.25rem}}