*{margin:0;padding:0;box-sizing:border-box}body{margin:0;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}a{text-decoration:none;color:inherit}button{font-family:inherit}.input-group{display:flex;flex-direction:column;margin-bottom:16px;width:100%}.input-label{font-size:14px;font-weight:600;color:#1e293b;margin-bottom:8px;display:block}.required-mark{color:#ef4444;margin-left:4px}.input-field{width:100%;padding:12px 16px;font-size:16px;border:2px solid #e2e8f0;border-radius:8px;background-color:#fff;color:#1e293b;transition:border-color .2s ease;box-sizing:border-box}.input-field:focus{outline:none;border-color:#2563eb}.input-field:disabled{background-color:#f8fafc;cursor:not-allowed;color:#94a3b8}.input-field::placeholder{color:#94a3b8}.input-field.input-error{border-color:#ef4444}.error-message{color:#ef4444;font-size:12px;margin-top:4px;display:block}@media (max-width: 768px){.input-field{font-size:14px;padding:10px 14px}.input-label{font-size:13px}}.btn{border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:16px;transition:all .2s ease;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:#2563eb;color:#fff}.btn-primary:hover:not(:disabled){background-color:#1d4ed8}.btn-primary:active:not(:disabled){background-color:#1e40af}.btn-secondary{background-color:#fff;color:#64748b;border:2px solid #64748b}.btn-secondary:hover:not(:disabled){background-color:#f8fafc;border-color:#475569;color:#475569}.btn-danger{background-color:#ef4444;color:#fff}.btn-danger:hover:not(:disabled){background-color:#dc2626}.btn-danger:active:not(:disabled){background-color:#b91c1c}.btn-success{background-color:#10b981;color:#fff}.btn-success:hover:not(:disabled){background-color:#059669}.btn-small{padding:8px 16px;font-size:14px;min-height:36px}.btn-medium{padding:12px 24px;font-size:16px}.btn-large{padding:16px 32px;font-size:18px;min-height:52px}.btn-full-width{width:100%}@media (max-width: 768px){.btn{font-size:14px}.btn-large{font-size:16px}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.login-card{background:#fff;border-radius:16px;padding:40px;box-shadow:0 10px 25px #0000001a;max-width:400px;width:100%}.login-header{text-align:center;margin-bottom:32px}.login-title{font-size:24px;font-weight:700;color:#1e293b;margin:0 0 8px}.login-subtitle{font-size:14px;color:#64748b;margin:0}.login-form{display:flex;flex-direction:column;gap:16px}.login-error{background-color:#fee2e2;color:#dc2626;padding:12px;border-radius:8px;font-size:14px;text-align:center}.login-help{margin-top:24px;padding-top:24px;border-top:1px solid #e2e8f0;text-align:center}.help-text{font-size:12px;color:#64748b;margin:0}@media (max-width: 768px){.login-card{padding:24px}.login-title{font-size:20px}}.header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background-color:#fff;box-shadow:0 2px 4px #0000001a;position:sticky;top:0;z-index:100;height:60px}.header-left,.header-right{flex:1;display:flex;align-items:center}.header-left{justify-content:flex-start}.header-right{justify-content:flex-end}.header-center{flex:2;display:flex;justify-content:center;align-items:center}.header-title{font-size:18px;font-weight:700;color:#1e293b;margin:0;text-align:center}.back-button{background:none;border:none;font-size:32px;color:#2563eb;cursor:pointer;padding:4px 12px;display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:8px;transition:background-color .2s ease}.back-button:hover{background-color:#f1f5f9}.back-button:active{background-color:#e2e8f0}@media (max-width: 768px){.header{padding:12px 16px;height:56px}.header-title{font-size:16px}.back-button{font-size:28px;padding:4px 8px}}.bottom-nav{position:fixed;bottom:0;left:0;right:0;background-color:#fff;display:flex;justify-content:space-around;align-items:center;padding:8px 0;box-shadow:0 -2px 4px #0000001a;z-index:100;height:60px}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;text-decoration:none;color:#64748b;transition:color .2s ease;padding:8px 4px;min-width:44px}.nav-item:hover,.nav-item-active{color:#2563eb}.nav-icon{font-size:24px;margin-bottom:4px}.nav-label{font-size:11px;font-weight:500}@media (max-width: 768px){.bottom-nav{height:56px}.nav-icon{font-size:20px}.nav-label{font-size:10px}}@media (min-width: 1024px){.bottom-nav{display:none}}.card{background-color:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000001a;transition:all .3s ease;margin-bottom:16px}.card-hoverable:hover{box-shadow:0 4px 6px #0000001a;transform:translateY(-2px)}.card-clickable{cursor:pointer}.card-clickable:active{transform:translateY(0);box-shadow:0 1px 2px #0000001a}@media (max-width: 768px){.card{padding:16px;border-radius:8px}}.home-container{min-height:100vh;background-color:#f8fafc;padding-bottom:80px}.home-content{padding:24px 20px}.home-header{margin-bottom:32px}.welcome-text{font-size:24px;font-weight:700;color:#1e293b;margin:0 0 8px}.current-date{font-size:14px;color:#64748b;margin:0}.menu-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.menu-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;min-height:120px;text-align:center}.menu-icon{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:32px;margin-bottom:12px;box-shadow:0 2px 8px #0000001a}.menu-title{font-size:16px;font-weight:600;color:#1e293b}@media (max-width: 768px){.home-content{padding:20px 16px}.welcome-text{font-size:20px}.menu-grid{gap:12px}.menu-card{padding:20px;min-height:100px}.menu-icon{width:50px;height:50px;font-size:28px}.menu-title{font-size:14px}}@media (min-width: 1024px){.home-content{max-width:1024px;margin:0 auto}.menu-grid{grid-template-columns:repeat(3,1fr);gap:20px}}.menu-container{min-height:100vh;background-color:#f8fafc;padding-bottom:80px}.menu-content{padding:24px 20px}.user-info-card{margin-bottom:24px}.user-info{display:flex;align-items:center;gap:16px}.user-avatar{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700}.user-details{flex:1}.user-name{font-size:20px;font-weight:700;color:#1e293b;margin:0 0 4px}.user-role{font-size:14px;color:#64748b;margin:0}.menu-section{margin-bottom:24px}.section-title{font-size:14px;font-weight:600;color:#64748b;margin:0 0 12px;text-transform:uppercase;letter-spacing:.5px}.app-info{font-size:14px;color:#64748b;margin:8px 0}@media (max-width: 768px){.menu-content{padding:20px 16px}.user-avatar{width:50px;height:50px;font-size:20px}.user-name{font-size:18px}}@media (min-width: 1024px){.menu-content{max-width:600px;margin:0 auto}}.report-select-container{min-height:100vh;background-color:#f8fafc;padding-bottom:80px}.report-select-content{padding:24px 20px}.select-title{font-size:18px;font-weight:600;color:#1e293b;margin:0 0 24px;text-align:center}.work-type-grid{display:grid;grid-template-columns:1fr;gap:16px;max-width:600px;margin:0 auto}.work-type-card{display:flex;align-items:center;padding:20px 24px;min-height:80px}.work-type-icon{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:28px;margin-right:20px;box-shadow:0 2px 8px #0000001a;flex-shrink:0}.work-type-title{font-size:18px;font-weight:600;color:#1e293b}@media (max-width: 768px){.report-select-content{padding:20px 16px}.select-title{font-size:16px}.work-type-card{padding:16px 20px;min-height:70px}.work-type-icon{width:44px;height:44px;font-size:24px;margin-right:16px}.work-type-title{font-size:16px}}@media (min-width: 1024px){.report-select-content{max-width:1024px;margin:0 auto}.work-type-grid{max-width:800px}}.select-group{display:flex;flex-direction:column;margin-bottom:16px;width:100%}.select-label{font-size:14px;font-weight:600;color:#1e293b;margin-bottom:8px;display:block}.select-field{width:100%;padding:12px 40px 12px 16px;font-size:16px;border:2px solid #e2e8f0;border-radius:8px;background-color:#fff;color:#1e293b;transition:border-color .2s ease;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 12px center;background-size:20px;box-sizing:border-box}.select-field:focus{outline:none;border-color:#2563eb}.select-field:disabled{background-color:#f8fafc;cursor:not-allowed;color:#94a3b8}.select-field.select-error{border-color:#ef4444}@media (max-width: 768px){.select-field{font-size:14px;padding:10px 38px 10px 14px}.select-label{font-size:13px}}.customer-work-report-container{min-height:100vh;background-color:#f8fafc;padding-bottom:80px}.customer-work-report-content{padding:24px 20px;max-width:800px;margin:0 auto}.report-form{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a}.form-group-with-icon{position:relative;margin-bottom:16px}.content-input{width:100%;padding:12px 16px;font-size:16px;border:2px solid #e2e8f0;border-radius:8px;margin-top:8px;box-sizing:border-box}.content-input:focus{outline:none;border-color:#2563eb}.time-group{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.work-hours{background-color:#f1f5f9;padding:12px 16px;border-radius:8px;margin-bottom:16px;display:flex;justify-content:space-between;align-items:center}.work-hours-label{font-size:14px;color:#64748b;font-weight:600}.work-hours-value{font-size:18px;color:#2563eb;font-weight:700}.companions-section{margin-bottom:24px}.companion-row{display:flex;gap:8px;margin-bottom:12px;align-items:flex-start}.companion-select{flex:1}.remove-companion-btn{min-width:44px;min-height:44px;background-color:#ef4444;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:20px;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease}.remove-companion-btn:hover{background-color:#dc2626}.form-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}.success-toast{position:fixed;top:80px;left:50%;transform:translate(-50%);background-color:#10b981;color:#fff;padding:16px 32px;border-radius:8px;box-shadow:0 4px 6px #0000001a;z-index:1000;font-weight:600;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translate(-50%) translateY(-20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media (max-width: 768px){.customer-work-report-content{padding:20px 16px}.report-form{padding:20px}.time-group{grid-template-columns:1fr;gap:0}.form-actions{grid-template-columns:1fr}.work-hours-value{font-size:16px}}.site-survey-report-container{min-height:100vh;background-color:#f8fafc;padding-bottom:80px}.site-survey-report-content{padding:24px 20px;max-width:800px;margin:0 auto}.survey-targets-section{margin-bottom:24px;padding:20px;background-color:#f8fafc;border-radius:8px}.checkbox-item{display:flex;align-items:center;margin-bottom:12px;padding:12px;background-color:#fff;border-radius:8px;border:2px solid #e2e8f0;transition:border-color .2s ease;cursor:pointer}.checkbox-item:hover{border-color:#cbd5e1}.checkbox-input{width:24px;height:24px;margin-right:12px;cursor:pointer;accent-color:#2563eb}.checkbox-label{font-size:16px;color:#1e293b;cursor:pointer;flex:1;margin:0}.next-section{margin-top:24px;padding-top:24px;border-top:2px solid #e2e8f0}@media (max-width: 768px){.site-survey-report-content{padding:20px 16px}.checkbox-input{width:20px;height:20px}.checkbox-label{font-size:14px}}.camera-equipment-container{min-height:100vh;background-color:#f8fafc;padding-bottom:80px}.camera-equipment-content{padding:24px 20px;max-width:800px;margin:0 auto}.equipment-form{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a}.radio-group{margin-bottom:24px}.radio-options{display:flex;gap:20px;margin-top:12px}.radio-option{display:flex;align-items:center;cursor:pointer;padding:12px 20px;background-color:#f8fafc;border:2px solid #e2e8f0;border-radius:8px;transition:all .2s ease}.radio-option:hover{border-color:#cbd5e1;background-color:#f1f5f9}.radio-option input[type=radio]{width:20px;height:20px;margin-right:10px;cursor:pointer;accent-color:#2563eb}.radio-label{font-size:16px;color:#1e293b;cursor:pointer}.section-title{font-size:18px;font-weight:700;color:#1e293b;margin:0 0 16px;padding-bottom:8px;border-bottom:2px solid #e2e8f0}.cameras-section{margin:24px 0}.camera-item{background-color:#f8fafc;padding:20px;border-radius:8px;margin-bottom:16px;border:2px solid #e2e8f0}.camera-number{font-size:16px;font-weight:700;color:#2563eb;margin:0 0 16px}.file-input-group{margin-bottom:16px}.file-label{font-size:14px;font-weight:600;color:#1e293b;margin-bottom:8px;display:block}.file-name{display:block;font-size:12px;color:#10b981;margin-top:4px;font-weight:400}.file-input{width:100%;padding:12px 16px;font-size:14px;border:2px solid #e2e8f0;border-radius:8px;background-color:#fff;cursor:pointer;transition:border-color .2s ease}.file-input:hover{border-color:#cbd5e1}.file-input:focus{outline:none;border-color:#2563eb}.other-photos-section{margin:24px 0}@media (max-width: 768px){.camera-equipment-content{padding:20px 16px}.equipment-form{padding:20px}.radio-options{flex-direction:column;gap:12px}.camera-item{padding:16px}.section-title{font-size:16px}}.customers-container{min-height:100vh;background-color:#f8fafc;padding-bottom:80px}.customers-content{padding:24px 20px 100px;max-width:1024px;margin:0 auto}.header-action-btn{min-width:44px;min-height:44px;background-color:#2563eb;color:#fff;border:none;border-radius:50%;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease}.header-action-btn:hover{background-color:#1d4ed8}.search-section{display:grid;grid-template-columns:2fr 1fr;gap:12px;margin-bottom:24px}.search-input input{font-size:16px}.filter-select{margin-bottom:0}.customers-list{display:flex;flex-direction:column;gap:12px}.customer-card{padding:20px;cursor:pointer}.customer-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.customer-name{font-size:18px;font-weight:700;color:#1e293b;margin:0}.project-badge{background-color:#2563eb;color:#fff;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600}.customer-address{font-size:14px;color:#64748b;margin:0 0 12px}.customer-contact{display:flex;gap:16px;flex-wrap:wrap}.contact-item{font-size:13px;color:#64748b}.no-results{text-align:center;padding:60px 20px}.no-results-icon{font-size:64px;margin:0 0 16px}.no-results-text{font-size:16px;color:#64748b;margin:0}.fab-container{position:fixed;bottom:100px;right:20px;z-index:50}.fab-button{border-radius:28px;padding:16px 24px;box-shadow:0 4px 12px #2563eb4d;font-size:16px;font-weight:700}@media (max-width: 768px){.customers-content{padding:20px 16px 100px}.search-section{grid-template-columns:1fr}.customer-name{font-size:16px}.customer-contact{flex-direction:column;gap:8px}.fab-container{right:16px;bottom:90px}.fab-button{font-size:14px;padding:14px 20px}}.customer-detail-container{min-height:100vh;background-color:#f8fafc;padding-bottom:80px}.customer-detail-content{padding:24px 20px;max-width:800px;margin:0 auto}.customer-form-card{padding:24px}.customer-form-card form{display:flex;flex-direction:column;gap:20px}.customer-info-card{margin-bottom:24px}.customer-title{font-size:22px;font-weight:700;color:#1e293b;margin:0 0 20px;padding-bottom:16px;border-bottom:2px solid #e2e8f0}.info-row{display:flex;margin-bottom:16px;align-items:flex-start}.info-label{font-size:14px;color:#64748b;font-weight:600;min-width:120px;flex-shrink:0}.info-value{font-size:14px;color:#1e293b;flex:1}.button-group{margin-top:20px;padding-top:16px;border-top:2px solid #e2e8f0;display:flex;gap:12px}.projects-section{margin-top:24px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-title{font-size:18px;font-weight:700;color:#1e293b;margin:0}.empty-icon{font-size:48px;margin:0 0 12px}.empty-text{font-size:14px;color:#64748b;margin:0}.project-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:12px}.project-name{font-size:16px;font-weight:700;color:#1e293b;margin:0;flex:1}.project-status{padding:4px 12px;border-radius:12px;font-size:11px;font-weight:600;color:#fff;white-space:nowrap}.project-property{font-size:14px;color:#475569;margin:0 0 4px}.project-address{font-size:13px;color:#64748b;margin:0 0 12px}.project-footer{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid #e2e8f0}.project-date{font-size:12px;color:#64748b}@media (max-width: 768px){.customer-detail-content,.customer-form-card{padding:20px 16px}.form-actions{flex-direction:column}.form-actions button{width:100%}.customer-title{font-size:20px}.info-row{flex-direction:column;gap:4px}.info-label{min-width:auto}.section-header{flex-direction:column;align-items:flex-start;gap:12px}.project-header{flex-direction:column;align-items:flex-start}.project-status{align-self:flex-start}}.projects-container{min-height:100vh;background-color:#f8fafc;padding-bottom:80px}.projects-content{padding-bottom:20px}.tabs-container{display:flex;overflow-x:auto;background-color:#fff;box-shadow:0 2px 4px #0000000d;position:sticky;top:60px;z-index:50;-webkit-overflow-scrolling:touch}.tabs-container::-webkit-scrollbar{display:none}.tab-button{flex:0 0 auto;padding:16px 20px;background:none;border:none;border-bottom:3px solid transparent;font-size:14px;font-weight:600;color:#64748b;cursor:pointer;transition:all .2s ease;white-space:nowrap}.tab-button:hover{color:#2563eb;background-color:#f8fafc}.tab-active{color:#2563eb;border-bottom-color:#2563eb}.tab-content{padding:24px 20px;max-width:1024px;margin:0 auto}.empty-projects{text-align:center;padding:60px 20px}.project-card{padding:20px;cursor:pointer}.project-header{margin-bottom:12px}.project-status-badge{display:inline-block;padding:6px 14px;border-radius:16px;font-size:12px;font-weight:600;color:#fff}.project-name{font-size:18px;font-weight:700;color:#1e293b;margin:12px 0}.project-customer,.project-property,.project-address,.project-equipment{font-size:14px;color:#64748b;margin:8px 0;line-height:1.5}.project-footer{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding-top:16px;border-top:1px solid #e2e8f0}.project-date{font-size:12px;color:#94a3b8}.invoice-badge{font-size:11px;color:#10b981;font-weight:600}@media (max-width: 768px){.tab-content{padding:20px 16px}.tab-button{padding:14px 16px;font-size:13px}.project-name{font-size:16px}.project-customer,.project-property,.project-address,.project-equipment{font-size:13px}}.project-detail-container{min-height:100vh;background-color:#f8fafc;padding-bottom:80px}.project-detail-content{padding:24px 20px;max-width:800px;margin:0 auto}.project-form-card{padding:24px}.project-form-card form{display:flex;flex-direction:column;gap:20px}.error-message-container{text-align:center;padding:60px 20px}.error-icon{font-size:64px;margin:0 0 16px}.error-text{font-size:16px;color:#64748b;margin:0}.project-info-card{margin-bottom:16px}.project-title-section{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;padding-bottom:16px;border-bottom:2px solid #e2e8f0;gap:12px}.project-title{font-size:20px;font-weight:700;color:#1e293b;margin:0;flex:1}.status-badge{padding:6px 14px;border-radius:16px;font-size:12px;font-weight:600;color:#fff;white-space:nowrap}.info-grid{display:flex;flex-direction:column;gap:12px}.info-item{display:flex;flex-direction:column;gap:4px}.section-title{font-size:16px;font-weight:700;color:#1e293b;margin:0 0 16px}.equipment-card{margin-bottom:16px}.equipment-text{font-size:14px;color:#475569;margin:0 0 16px;line-height:1.6}.history-card{margin-bottom:16px}.empty-history{font-size:14px;color:#94a3b8;text-align:center;padding:20px;margin:0}.history-item{background-color:#f8fafc;padding:12px 16px;border-radius:8px;border-left:4px solid #2563eb}.history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.history-date{font-size:13px;color:#64748b;font-weight:600}.history-hours{font-size:12px;color:#2563eb;font-weight:600;background-color:#dbeafe;padding:2px 8px;border-radius:4px}.history-employee{font-size:13px;color:#475569;margin-bottom:4px;font-weight:500}.history-content{font-size:14px;color:#1e293b}.invoice-card{margin-bottom:16px}.invoice-uploaded{display:flex;gap:16px;align-items:center;padding:16px;background-color:#f8fafc;border-radius:8px}.pdf-icon{font-size:48px}.pdf-info{flex:1}.pdf-name{font-size:14px;color:#1e293b;font-weight:600;margin-bottom:12px}.pdf-actions{display:flex;gap:8px}.invoice-upload{text-align:center;padding:20px}.upload-text{font-size:14px;color:#64748b;margin:0 0 16px}.upload-button{cursor:pointer}.negotiations-card{margin-bottom:16px}.negotiations-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.empty-negotiations{font-size:14px;color:#94a3b8;text-align:center;padding:20px;margin:0}.negotiations-list{display:flex;flex-direction:column;gap:12px}.negotiation-item{background-color:#fff;padding:16px;border-radius:8px;border:1px solid #e2e8f0;box-shadow:0 1px 2px #0000000d}.negotiation-header{margin-bottom:8px}.negotiation-datetime{font-size:14px;color:#64748b;font-weight:600}.negotiation-recorder{font-size:13px;color:#64748b;margin-bottom:12px}.negotiation-content{font-size:16px;color:#1e293b;line-height:1.6;margin-bottom:8px}.negotiation-attachments{margin-top:12px;padding-top:12px;border-top:1px solid #e2e8f0}.attachment-item{font-size:13px;color:#2563eb;padding:4px 0}.status-update-card{margin-bottom:16px}@media (max-width: 768px){.project-detail-content,.project-form-card{padding:20px 16px}.form-actions{flex-direction:column}.form-actions button{width:100%}.project-title-section{flex-direction:column;align-items:flex-start}.project-title{font-size:18px}.status-badge{align-self:flex-start}.invoice-uploaded{flex-direction:column;text-align:center}.pdf-actions{justify-content:center}}.attendance-container{min-height:100vh;background-color:#f8fafc;padding-bottom:80px}.attendance-content{padding:24px 20px;max-width:600px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.time-card{background:linear-gradient(135deg,#2563eb,#1e40af);color:#fff;padding:32px 24px}.time-display{text-align:center}.date-text{font-size:16px;font-weight:600;margin-bottom:12px;opacity:.95}.time-text{font-size:48px;font-weight:700;letter-spacing:2px;font-variant-numeric:tabular-nums}.gps-card{padding:24px}.card-title{font-size:16px;font-weight:700;color:#1e293b;margin:0 0 20px}.gps-idle,.gps-loading,.gps-success{text-align:center;padding:20px}.gps-icon{font-size:64px;margin:0 0 16px}.gps-icon.loading{animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.1)}}.gps-text{font-size:15px;color:#64748b;margin:0 0 20px}.gps-text.success{color:#10b981;font-weight:600}.coordinates{background-color:#f8fafc;padding:16px;border-radius:8px;margin-bottom:16px}.coordinates p{font-size:14px;color:#475569;margin:4px 0;font-family:Courier New,monospace}.location-card{padding:24px}.location-options{display:flex;gap:12px}.location-option{flex:1;display:flex;align-items:center;justify-content:center;padding:16px;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .2s ease}.location-option:hover{border-color:#2563eb;background-color:#f8fafc}.location-option input[type=radio]{display:none}.location-option input[type=radio]:checked+.location-label{color:#2563eb;font-weight:700}.location-option:has(input[type=radio]:checked){border-color:#2563eb;background-color:#eff6ff}.location-label{font-size:15px;color:#475569;font-weight:600;transition:all .2s ease}.history-card{padding:24px}.history-list{display:flex;flex-direction:column;gap:12px}.history-item{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background-color:#f8fafc;border-radius:8px;border-left:4px solid #64748b}.history-date{font-size:13px;color:#64748b;font-weight:600;flex:1}.history-time{font-size:16px;color:#1e293b;font-weight:700;font-variant-numeric:tabular-nums;flex:1;text-align:center}.history-location{font-size:13px;color:#64748b;font-weight:600;flex:1;text-align:right}.success-toast{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background-color:#10b981;color:#fff;padding:20px 32px;border-radius:12px;font-size:16px;font-weight:600;box-shadow:0 10px 25px #0003;z-index:1000;animation:fadeInOut 2s ease}@media (max-width: 768px){.attendance-content{padding:20px 16px}.time-card{padding:24px 20px}.time-text{font-size:40px}.date-text{font-size:14px}.gps-icon{font-size:56px}.location-options{flex-direction:column}.history-item{flex-direction:column;align-items:flex-start;gap:8px}.history-time,.history-location{text-align:left}}.admin-reports-container{min-height:100vh;background-color:#f8fafc;padding-bottom:80px}.admin-reports-content{padding:24px 20px;max-width:1024px;margin:0 auto}.reports-count{margin-bottom:16px;padding:12px 16px;background-color:#eff6ff;border-radius:8px;border-left:4px solid #2563eb}.empty-reports{text-align:center;padding:60px 20px}.reports-list{display:flex;flex-direction:column;gap:12px}.report-card{padding:20px;cursor:pointer}.report-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #e2e8f0;gap:12px}.report-date-section{display:flex;flex-direction:column;gap:6px;flex:1}.report-date{font-size:14px;color:#1e293b;font-weight:700}.report-hours{font-size:13px;color:#2563eb;font-weight:600}.work-type-badge{padding:6px 14px;border-radius:16px;font-size:12px;font-weight:600;color:#fff;white-space:nowrap}.report-body{display:flex;flex-direction:column;gap:12px}.report-info{display:flex;flex-direction:column;gap:4px}.info-value{font-size:14px;color:#1e293b;line-height:1.6}@media (max-width: 768px){.admin-reports-content,.filter-card{padding:20px 16px}.filter-row{grid-template-columns:1fr}.filter-actions{flex-direction:column}.filter-actions button{width:100%}.report-header{flex-direction:column;align-items:flex-start}.work-type-badge{align-self:flex-start}}.admin-invoices-container{min-height:100vh;background-color:#f8fafc;padding-bottom:80px}.admin-invoices-content{padding:24px 20px;max-width:1024px;margin:0 auto}.summary-card{margin-bottom:20px;padding:24px;background:linear-gradient(135deg,#2563eb,#1e40af);color:#fff}.summary-card .section-title{color:#fff;margin-bottom:20px}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.summary-item{text-align:center;padding:16px;background-color:#ffffff1a;border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.summary-label{font-size:13px;color:#ffffffe6;margin-bottom:8px;font-weight:600}.summary-value{font-size:24px;font-weight:700;color:#fff}.summary-value.amount{font-size:28px}.filter-card{margin-bottom:20px;padding:24px}.section-title{font-size:16px;font-weight:700;color:#1e293b;margin:0 0 20px}.filter-group{margin-bottom:16px}.filter-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.filter-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px;padding-top:20px;border-top:1px solid #e2e8f0}.invoices-count{margin-bottom:16px;padding:12px 16px;background-color:#eff6ff;border-radius:8px;border-left:4px solid #2563eb}.count-text{font-size:14px;color:#1e40af;font-weight:600}.empty-invoices{text-align:center;padding:60px 20px}.empty-icon{font-size:64px;margin:0 0 16px}.empty-text{font-size:16px;color:#64748b;margin:0}.invoices-list{display:flex;flex-direction:column;gap:12px}.invoice-card{padding:20px;cursor:pointer}.invoice-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid #e2e8f0;gap:12px}.invoice-title-section{flex:1;display:flex;flex-direction:column;gap:8px}.invoice-project-name{font-size:18px;font-weight:700;color:#1e293b;margin:0}.invoice-status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:11px;font-weight:600;color:#fff;align-self:flex-start}.project-status-badge{padding:6px 14px;border-radius:16px;font-size:12px;font-weight:600;color:#fff;white-space:nowrap}.invoice-body{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.invoice-info{display:flex;flex-direction:column;gap:4px}.info-label{font-size:13px;color:#64748b;font-weight:600}.info-value{font-size:14px;color:#1e293b}.info-value.amount{font-size:18px;font-weight:700;color:#2563eb}.invoice-uploaded-badge{display:inline-block;padding:8px 12px;background-color:#d1fae5;color:#065f46;border-radius:6px;font-size:12px;font-weight:600;align-self:flex-start}.invoice-footer{display:flex;justify-content:space-between;align-items:center;padding-top:16px;border-top:1px solid #e2e8f0}.invoice-date{font-size:12px;color:#94a3b8}@media (max-width: 768px){.admin-invoices-content,.summary-card,.filter-card{padding:20px 16px}.summary-grid{grid-template-columns:1fr;gap:12px}.summary-value{font-size:20px}.summary-value.amount{font-size:24px}.filter-row{grid-template-columns:1fr}.filter-actions{flex-direction:column}.filter-actions button{width:100%}.invoice-header{flex-direction:column;align-items:flex-start}.project-status-badge{align-self:flex-start}.invoice-project-name{font-size:16px}.invoice-footer{flex-direction:column;align-items:flex-start;gap:12px}.invoice-footer button{width:100%}}.admin-menu{min-height:100vh;background-color:#f8fafc;padding-bottom:20px}.admin-menu-content{padding:20px}.admin-menu-content h2{font-size:1.25rem;font-weight:600;color:#1e293b;margin-bottom:20px;padding:0 4px}.menu-cards{display:flex;flex-direction:column;gap:16px}.menu-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000001a;cursor:pointer;transition:all .2s ease-in-out;border:1px solid #e2e8f0}.menu-card:hover{box-shadow:0 4px 6px #00000026;transform:translateY(-2px);border-color:#cbd5e1}.menu-card:active{transform:translateY(0);box-shadow:0 2px 4px #0000001a}.menu-card-icon{font-size:2.5rem;margin-bottom:12px;line-height:1}.menu-card-title{font-size:1.125rem;font-weight:600;color:#1e293b;margin-bottom:8px}.menu-card-description{font-size:.875rem;color:#64748b;line-height:1.5;margin:0}@media (min-width: 768px){.admin-menu-content{padding:30px;max-width:1200px;margin:0 auto}.admin-menu-content h2{font-size:1.5rem;margin-bottom:24px}.menu-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.menu-card{padding:24px}.menu-card-icon{font-size:3rem;margin-bottom:16px}.menu-card-title{font-size:1.25rem;margin-bottom:10px}.menu-card-description{font-size:.9375rem}}@media (min-width: 1024px){.admin-menu-content{padding:40px}.menu-cards{grid-template-columns:repeat(3,1fr);gap:24px}.menu-card{padding:28px}.menu-card:hover{box-shadow:0 6px 12px #00000026;transform:translateY(-4px)}}.admin-projects-container{min-height:100vh;background-color:#f8fafc;padding-bottom:20px}.admin-projects-content{padding:16px}.csv-export-btn{background:none;border:none;color:#2563eb;font-size:.875rem;font-weight:600;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background-color .2s}.csv-export-btn:hover{background-color:#2563eb1a}.csv-export-btn:active{background-color:#2563eb33}.filter-card{margin-bottom:20px;padding:16px}.filter-title{font-size:1rem;font-weight:600;color:#1e293b;margin-bottom:16px}.filter-row{display:flex;flex-direction:column;gap:12px;margin-bottom:12px}.filter-group{display:flex;flex-direction:column;gap:6px}.filter-label{font-size:.875rem;font-weight:500;color:#64748b}.date-range{display:flex;align-items:center;gap:8px}.date-separator{color:#64748b;font-size:.875rem}.filter-actions{display:flex;justify-content:flex-end;margin-top:16px}.projects-result{margin-top:20px}.result-header{margin-bottom:16px;padding:0 4px}.result-title{font-size:1rem;font-weight:600;color:#1e293b}.result-count{color:#64748b;font-weight:400}.projects-list{display:flex;flex-direction:column;gap:12px}.project-card{padding:16px;cursor:pointer}.project-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.project-status-badge{display:inline-block;padding:4px 12px;border-radius:12px;color:#fff;font-size:.75rem;font-weight:600}.project-name{font-size:1.125rem;font-weight:600;color:#1e293b;margin-bottom:8px}.project-customer,.project-property,.project-address,.project-equipment{font-size:.875rem;color:#64748b;margin-bottom:6px;display:flex;align-items:center;gap:6px}.project-footer{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid #e2e8f0}.project-date{font-size:.75rem;color:#94a3b8}.invoice-badge{font-size:.75rem;color:#10b981;font-weight:500}.empty-projects{text-align:center;padding:40px 20px}.empty-icon{font-size:3rem;margin-bottom:12px}.empty-text{font-size:.875rem;color:#64748b}@media (min-width: 768px){.admin-projects-content{padding:24px;max-width:1200px;margin:0 auto}.filter-card{padding:24px}.filter-row{flex-direction:row;gap:16px}.filter-group{flex:1}.projects-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.project-card{padding:20px}}@media (min-width: 1024px){.admin-projects-content{padding:32px}.filter-card{padding:28px}.projects-list{grid-template-columns:repeat(3,1fr);gap:20px}.project-card{padding:24px}}.add-negotiation-container{min-height:100vh;background-color:#f8fafc;padding-bottom:80px}.add-negotiation-content{padding:24px 20px;max-width:800px;margin:0 auto}.negotiation-form-card{padding:24px}.negotiation-form-card form{display:flex;flex-direction:column;gap:24px}.form-group{display:flex;flex-direction:column;gap:8px}.form-label{font-size:14px;font-weight:600;color:#1e293b;display:flex;align-items:center;gap:4px}.required-mark{color:#ef4444;font-size:12px}.form-textarea{width:100%;padding:12px;border:1px solid #cbd5e1;border-radius:8px;font-size:14px;font-family:inherit;line-height:1.6;resize:vertical;transition:all .2s ease}.form-textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.form-textarea.error{border-color:#ef4444}.form-textarea.error:focus{box-shadow:0 0 0 3px #ef44441a}.error-message{font-size:13px;color:#ef4444;margin-top:-4px}.char-count{font-size:12px;color:#64748b;text-align:right}.readonly-input{background-color:#f1f5f9;cursor:not-allowed}.file-input{padding:8px;border:1px solid #cbd5e1;border-radius:8px;font-size:14px;cursor:pointer;transition:all .2s ease}.file-input:hover{border-color:#2563eb}.file-input::-webkit-file-upload-button{padding:8px 16px;margin-right:12px;background-color:#2563eb;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600;font-size:13px;transition:all .2s ease}.file-input::-webkit-file-upload-button:hover{background-color:#1e40af}.selected-files{margin-top:12px;padding:12px;background-color:#f8fafc;border-radius:6px;border:1px solid #e2e8f0}.selected-files-label{font-size:13px;color:#64748b;font-weight:600;margin-bottom:8px}.selected-file-item{font-size:13px;color:#1e293b;padding:4px 0}.form-actions{display:flex;gap:12px;margin-top:8px}.form-actions button{flex:1}.success-toast{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background-color:#10b981;color:#fff;padding:20px 32px;border-radius:12px;font-size:16px;font-weight:600;box-shadow:0 10px 25px #0003;z-index:1000;animation:fadeInOut 1.5s ease}@keyframes fadeInOut{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}20%{opacity:1;transform:translate(-50%,-50%) scale(1)}80%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.9)}}@media (max-width: 768px){.add-negotiation-content,.negotiation-form-card{padding:20px 16px}.form-actions{flex-direction:column}.form-actions button{width:100%}.form-textarea{font-size:16px}}.placeholder-container{min-height:100vh;background-color:#f8fafc;padding-bottom:80px}.placeholder-content{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.placeholder-icon{font-size:80px;margin-bottom:24px}.placeholder-title{font-size:24px;font-weight:700;color:#1e293b;margin:0 0 12px}.placeholder-text{font-size:16px;color:#64748b;margin:0}@media (max-width: 768px){.placeholder-icon{font-size:60px}.placeholder-title{font-size:20px}.placeholder-text{font-size:14px}}*{box-sizing:border-box}body{margin:0;padding:0;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:#f8fafc}#root{min-height:100vh}
