@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}*:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}*:focus:not(:focus-visible){outline:none}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}@media(max-width:768px){.page-header{flex-direction:column;align-items:flex-start}}.header-content h1{font-size:1.75rem;font-weight:600;color:var(--text-primary);margin:0 0 .25rem}.header-content p{color:var(--text-secondary);font-size:.9375rem;margin:0}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.25rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-md);font-size:.9375rem;font-weight:500;cursor:pointer;transition:background-color .2s,transform .1s}.btn-primary:hover{background-color:var(--primary-dark)}.btn-primary:active:not(:disabled){transform:scale(.97)}.btn-primary:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.btn-primary:disabled{background-color:var(--text-muted);opacity:.6;cursor:not-allowed}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.25rem;background-color:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .2s,transform .1s}.btn-secondary:hover{background-color:var(--border-color)}.btn-secondary:active:not(:disabled){transform:scale(.97)}.btn-secondary:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.btn-outline{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.25rem;background-color:transparent;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-outline:hover{background-color:var(--bg-secondary);color:var(--text-primary)}.btn-danger{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.25rem;background-color:var(--error-color);color:#fff;border:none;border-radius:var(--radius-md);font-size:.9375rem;font-weight:500;cursor:pointer;transition:background-color .2s,transform .1s}.btn-danger:hover{background-color:#b91c1c}.btn-danger:active:not(:disabled){transform:scale(.97)}.btn-danger:disabled{background-color:var(--text-muted);opacity:.6;cursor:not-allowed}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all .2s}.btn-icon:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.btn-icon:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.btn-icon.btn-danger{background-color:var(--error-bg);border-color:var(--error-border);color:var(--error-color)}.btn-icon.btn-danger:hover{background-color:var(--error-border)}.btn-icon-small{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .2s}.btn-icon-small:hover{background-color:#fff;color:var(--text-primary)}.btn-icon-small.btn-danger:hover{background-color:var(--error-bg);border-color:var(--error-border);color:var(--error-color)}.btn-close{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;padding:.25rem;transition:all .2s}.btn-close:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.btn-close:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.spinner{display:inline-block;width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.spinner-large{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 1rem}.modal-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease-out forwards}.modal,.modal-content{background:#fff;border-radius:var(--radius-lg);width:100%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideIn .2s ease}.modal-large{max-width:800px}.modal-small{max-width:400px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color);position:sticky;top:0;background:#fff;z-index:10}.modal-header h2,.modal-header h3{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.modal-body{padding:1.5rem}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.25rem 1.5rem;border-top:1px solid var(--border-color);background-color:var(--bg-secondary);position:sticky;bottom:0;border-radius:0 0 var(--radius-lg) var(--radius-lg)}.modal-confirm{max-width:400px;text-align:center;padding:2rem}.modal-confirm .confirm-icon{color:var(--warning-color);margin-bottom:1rem}.modal-confirm h3{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 .75rem}.modal-confirm p{color:var(--text-secondary);margin:0 0 .5rem}.modal-confirm .warning-text{color:var(--error-color);font-size:.875rem}.modal-confirm .confirm-actions{display:flex;justify-content:center;gap:.75rem;margin-top:1.5rem}.form-section{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-light)}.form-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.form-section h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem}.form-row{display:flex;gap:1rem;margin-bottom:1rem}.form-row:last-child{margin-bottom:0}@media(max-width:600px){.form-row{flex-direction:column}}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}@media(max-width:600px){.form-grid{grid-template-columns:1fr}}.form-group{flex:1;display:flex;flex-direction:column;gap:.375rem}.form-group.full-width{flex:100%}.form-group label{display:block;font-size:.8125rem;font-weight:500;color:var(--text-secondary);margin-bottom:.375rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.625rem .875rem;border:1px solid var(--border-color);border-radius:6px;font-size:.9375rem;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-bg)}.form-group input:disabled,.form-group input.readonly,.form-group select:disabled,.form-group select.readonly,.form-group textarea:disabled,.form-group textarea.readonly{background-color:var(--bg-secondary);color:var(--text-muted);cursor:not-allowed}.form-group input::placeholder,.form-group select::placeholder,.form-group textarea::placeholder{color:var(--text-muted)}.form-group textarea{resize:vertical;min-height:80px}.form-group select{cursor:pointer;background-color:#fff}.field-error{display:block;color:var(--error-color);font-size:.75rem;margin-top:.25rem}.table-wrapper{overflow-x:auto}.data-table,.work-orders-table,.users-table{width:100%;border-collapse:collapse}.data-table th,.data-table td,.work-orders-table th,.work-orders-table td,.users-table th,.users-table td{padding:1rem 1.25rem;text-align:left}.data-table th,.work-orders-table th,.users-table th{background-color:var(--bg-secondary);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);border-bottom:1px solid var(--border-color)}.data-table td,.work-orders-table td,.users-table td{border-bottom:1px solid var(--border-light);font-size:.9375rem;color:var(--text-primary)}.data-table tbody tr,.work-orders-table tbody tr,.users-table tbody tr{transition:background-color .15s ease}.data-table tbody tr:hover,.work-orders-table tbody tr:hover,.users-table tbody tr:hover{background-color:var(--bg-secondary)}.data-table tbody tr:last-child td,.work-orders-table tbody tr:last-child td,.users-table tbody tr:last-child td{border-bottom:none}.alert{display:block;width:100%;padding:1rem 1.25rem;border-radius:var(--radius-md);margin-bottom:1rem;font-size:.9375rem;border:none;text-align:left;cursor:pointer}.alert.alert-success{background-color:var(--success-bg);border:1px solid var(--success-border);color:var(--success-color)}.alert.alert-error{background-color:var(--error-bg);border:1px solid var(--error-border);color:var(--error-color)}.loading-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;color:var(--text-secondary)}.loading-state svg,.empty-state svg{color:#ccc;margin-bottom:1rem}.loading-state h3,.empty-state h3{font-size:1.25rem;color:var(--text-primary);margin:0 0 .5rem}.loading-state p,.empty-state p{margin:0}.cards-container{display:flex;flex-direction:column;gap:1rem;padding:1rem}.card-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid var(--border-light);background:var(--bg-secondary)}.card-body{padding:1rem}.card-actions{display:flex;justify-content:flex-end;gap:.5rem;padding:.75rem 1rem;background:var(--bg-secondary);border-top:1px solid var(--border-light)}.filters-bar{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap;background:#fff;padding:1rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}@media(max-width:768px){.filters-bar{flex-direction:column}}.filters-row{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}@media(max-width:768px){.filters-row{flex-direction:column;align-items:stretch}}.search-box{display:flex;align-items:center;gap:.75rem;background:var(--bg-secondary);padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:var(--radius-md);flex:1;min-width:200px}@media(max-width:768px){.search-box{min-width:100%}}.search-box svg{color:var(--text-muted);flex-shrink:0}.search-box input{border:none;background:transparent;outline:none;font-size:.9375rem;width:100%}.search-box input::placeholder{color:var(--text-muted)}:root{--primary-color: #0e903c;--primary-dark: #0a7030;--primary-light: #12b04a;--primary-bg: rgba(14, 144, 60, .1);--text-primary: #1a1a1a;--text-secondary: #666666;--text-muted: #9ca3af;--bg-primary: #ffffff;--bg-secondary: #f9fafb;--bg-tertiary: #f3f4f6;--border-color: #e5e7eb;--border-light: #f3f4f6;--success-color: #10b981;--success-bg: #ecfdf5;--success-border: #a7f3d0;--error-color: #dc2626;--error-bg: #fef2f2;--error-border: #fecaca;--warning-color: #f59e0b;--warning-bg: #fffbeb;--warning-border: #fde68a;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 9999px;--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .3s ease;--safe-area-inset-top: env(safe-area-inset-top, 0px);--safe-area-inset-bottom: env(safe-area-inset-bottom, 0px);--safe-area-inset-left: env(safe-area-inset-left, 0px);--safe-area-inset-right: env(safe-area-inset-right, 0px)}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:16px;line-height:1.5;color:var(--text-primary);background-color:var(--bg-secondary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--primary-color);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-dark)}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit;font-size:inherit}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.25;color:var(--text-primary)}h1{font-size:1.75rem}h2{font-size:1.5rem}h3{font-size:1.25rem}h4{font-size:1.125rem}h5{font-size:1rem}h6{font-size:.875rem}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-tertiary)}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:#a1a1a1}@media(max-width:768px){html{font-size:15px}button,a,input[type=button],input[type=submit],.btn-icon{min-height:44px;min-width:44px}body{-webkit-text-size-adjust:100%;text-size-adjust:100%}*{-webkit-tap-highlight-color:rgba(14,144,60,.1)}input,select,textarea{font-size:16px!important}}@supports (padding: max(0px)){.safe-area-padding{padding-left:max(1rem,var(--safe-area-inset-left));padding-right:max(1rem,var(--safe-area-inset-right));padding-bottom:max(1rem,var(--safe-area-inset-bottom))}}.touch-target{min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center}img{max-width:100%;height:auto}html,body{overflow-x:hidden}
