:root{--navy: #1e3a8a;--navy-light: #3b82f6;--navy-dark: #1e40af;--aluminum: #94a3b8;--aluminum-light: #cbd5e1;--aluminum-dark: #64748b;--warm-wood: #d4a574;--warm-wood-light: #e5c8a0;--warm-wood-dark: #b8864f;--bg-primary: #f8fafc;--bg-secondary: #ffffff;--text-primary: #0f172a;--text-secondary: #475569;--border: #e2e8f0;--success: #10b981;--warning: #f59e0b;--error: #ef4444;--shadow: 0 1px 3px 0 rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.6}.screen{min-height:100vh}.hidden{display:none!important}#auth-screen{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--navy) 0%,var(--navy-dark) 100%)}.auth-container{width:100%;max-width:400px;padding:20px}.brand{text-align:center;color:#fff;margin-bottom:30px}.brand h1{font-size:2rem;margin-bottom:8px}.brand p{color:var(--aluminum-light);font-size:.95rem}.auth-box{background:#fff;border-radius:8px;padding:30px;box-shadow:var(--shadow-lg)}.tabs{display:flex;gap:10px;margin-bottom:25px;border-bottom:2px solid var(--border)}.tab{flex:1;padding:10px;background:none;border:none;border-bottom:3px solid transparent;color:var(--text-secondary);font-size:.95rem;cursor:pointer;transition:all .2s}.tab.active{color:var(--navy);border-bottom-color:var(--navy);font-weight:600}.auth-form input{width:100%;padding:12px;margin-bottom:15px;border:2px solid var(--border);border-radius:6px;font-size:.95rem;transition:border-color .2s}.auth-form input:focus{outline:none;border-color:var(--navy-light)}.btn-primary{width:100%;padding:12px;background:var(--navy);color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}.btn-primary:hover{background:var(--navy-dark)}.btn-secondary{padding:8px 16px;background:var(--aluminum);color:#fff;border:none;border-radius:6px;font-size:.9rem;cursor:pointer;transition:background .2s}.btn-secondary:hover{background:var(--aluminum-dark)}.error{color:var(--error);padding:10px;background:#fee;border-radius:6px;margin-top:15px;font-size:.9rem}.navbar{background:#fff;border-bottom:2px solid var(--border);padding:0 20px;display:flex;align-items:center;gap:30px;box-shadow:var(--shadow)}.navbar-brand h1{font-size:1.3rem;color:var(--navy);padding:15px 0}.navbar-nav{display:flex;gap:5px;flex:1}.nav-link{padding:15px 20px;background:none;border:none;border-bottom:3px solid transparent;color:var(--text-secondary);font-size:.95rem;cursor:pointer;transition:all .2s}.nav-link.active{color:var(--navy);border-bottom-color:var(--navy);font-weight:600}.nav-link:hover{color:var(--navy-light)}.navbar-user{display:flex;align-items:center;gap:15px}.navbar-user span{color:var(--text-secondary);font-size:.9rem}.main-content{padding:30px;max-width:1400px;margin:0 auto}.view-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.view-header h2{font-size:1.8rem;color:var(--navy)}.controls{display:flex;gap:10px;align-items:center}.date-input,.select-input{padding:8px 12px;border:2px solid var(--border);border-radius:6px;font-size:.9rem}.date-input:focus,.select-input:focus{outline:none;border-color:var(--navy-light)}.dayboard-layout{background:#fff;border-radius:8px;padding:20px;box-shadow:var(--shadow)}.view-toggle{display:flex;gap:10px;margin-bottom:20px;border-bottom:2px solid var(--border);padding-bottom:10px}.toggle-btn{padding:8px 16px;background:none;border:none;border-radius:6px;color:var(--text-secondary);font-size:.9rem;cursor:pointer;transition:all .2s}.toggle-btn.active{background:var(--navy);color:#fff}.tech-column{margin-bottom:25px;border:2px solid var(--border);border-radius:8px;overflow:hidden}.tech-header{padding:15px;font-weight:600;color:#fff;display:flex;justify-content:space-between;align-items:center}.tech-name{font-size:1.1rem}.tech-jobs{padding:10px;background:var(--bg-primary);min-height:80px}.job-card{background:#fff;border:2px solid var(--border);border-radius:6px;padding:15px;margin-bottom:10px;cursor:pointer;transition:all .2s}.job-card:hover{border-color:var(--navy-light);box-shadow:var(--shadow);transform:translateY(-1px)}.job-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.job-customer{font-weight:600;font-size:1.05rem;color:var(--navy)}.job-status{padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.job-status.scheduled{background:var(--aluminum-light);color:var(--aluminum-dark)}.job-status.en_route{background:#dbeafe;color:#1e40af}.job-status.on_site{background:#fef3c7;color:#d97706}.job-status.done{background:#d1fae5;color:#059669}.job-status.canceled{background:#fee2e2;color:#dc2626}.job-time{color:var(--text-secondary);font-size:.9rem;margin-bottom:5px}.job-address{color:var(--text-secondary);font-size:.85rem;margin-bottom:5px}.job-notes{color:var(--text-secondary);font-size:.85rem;font-style:italic}.time-slot{margin-bottom:25px}.time-slot-header{font-size:1.1rem;font-weight:600;color:var(--navy);margin-bottom:10px;padding-bottom:5px;border-bottom:2px solid var(--border)}.time-slot-jobs{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:15px}.list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.tech-card{background:#fff;border:2px solid var(--border);border-radius:8px;padding:20px;transition:all .2s}.tech-card:hover{border-color:var(--navy-light);box-shadow:var(--shadow)}.tech-card-header{display:flex;align-items:center;gap:15px;margin-bottom:15px}.tech-color-badge{width:40px;height:40px;border-radius:50%;flex-shrink:0}.tech-info h3{font-size:1.2rem;color:var(--navy);margin-bottom:3px}.tech-phone{color:var(--text-secondary);font-size:.9rem}.tech-actions{display:flex;gap:10px;margin-top:15px}.btn-small{padding:6px 12px;font-size:.85rem;border-radius:4px;border:none;cursor:pointer;transition:all .2s}.btn-edit{background:var(--navy-light);color:#fff}.btn-edit:hover{background:var(--navy)}.btn-delete{background:var(--error);color:#fff}.btn-delete:hover{background:#dc2626}.badge-active{display:inline-block;padding:4px 10px;background:var(--success);color:#fff;border-radius:12px;font-size:.75rem;font-weight:600}.badge-inactive{display:inline-block;padding:4px 10px;background:var(--aluminum);color:#fff;border-radius:12px;font-size:.75rem;font-weight:600}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:8px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:2px solid var(--border)}.modal-header h3{font-size:1.4rem;color:var(--navy)}.modal-close{background:none;border:none;font-size:1.8rem;color:var(--aluminum);cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.modal-close:hover{color:var(--text-primary)}.modal-body{padding:20px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:6px;font-weight:600;color:var(--text-primary)}.form-group input,.form-group textarea,.form-group select{width:100%;padding:10px;border:2px solid var(--border);border-radius:6px;font-size:.95rem;font-family:inherit}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--navy-light)}.form-group textarea{min-height:80px;resize:vertical}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:25px}.btn-cancel{padding:10px 20px;background:var(--aluminum);color:#fff;border:none;border-radius:6px;cursor:pointer;transition:background .2s}.btn-cancel:hover{background:var(--aluminum-dark)}.color-picker-group{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.color-option{width:100%;aspect-ratio:1;border-radius:8px;border:3px solid transparent;cursor:pointer;transition:all .2s}.color-option:hover{transform:scale(1.1)}.color-option.selected{border-color:var(--navy);box-shadow:0 0 0 2px #fff,0 0 0 4px var(--navy)}.empty-state{text-align:center;padding:60px 20px;color:var(--text-secondary)}.empty-state h3{font-size:1.3rem;margin-bottom:10px}@media (max-width: 768px){.navbar{flex-wrap:wrap;gap:10px}.navbar-nav{width:100%;order:3;border-top:1px solid var(--border);padding-top:5px}.main-content{padding:15px}.view-header{flex-direction:column;align-items:flex-start;gap:15px}.controls{width:100%;flex-direction:column}.controls>*{width:100%}.list,.time-slot-jobs{grid-template-columns:1fr}}
