:root{--primary-bg:#f8fafc;--text-primary:#1e293b;--text-secondary:#64748b;--office-to-office:#4caf5014;--office-to-client:#2196f314;--client-to-office:#ff980014;--client-to-client:#9c27b014;--personal:#f4433614;--unknown:#9e9e9e14}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8fafc;background-color:var(--primary-bg);color:#1e293b;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}*{scrollbar-color:#64748b #f8fafc;scrollbar-color:var(--text-secondary) var(--primary-bg);scrollbar-width:thin}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#f8fafc;background:var(--primary-bg);border-radius:4px}::-webkit-scrollbar-thumb{background:#64748b;background:var(--text-secondary);border-radius:4px;opacity:.5}::-webkit-scrollbar-thumb:hover{opacity:.8}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.header{background-color:#2c3e50;box-shadow:0 2px 4px #0000001a;padding:1rem 2rem}.header-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1400px}.header h1{color:#fff;font-size:1.5rem;font-weight:500;margin:0}.nav-brand{display:none}.nav-links{align-items:center;display:flex;flex:1 1;gap:2rem;justify-content:right}.nav-links a{color:#fffc;font-size:1rem;padding:.5rem 0;position:relative;text-decoration:none;transition:all .2s ease}.nav-links a:hover{color:#fff}.nav-links a:after{background-color:initial;bottom:0;content:"";height:2px;left:0;position:absolute;transition:background-color .2s ease;width:100%}.nav-links a.active:after,.nav-links a:hover:after{background-color:#3498db}@media (max-width:768px){.header-content{flex-direction:column;gap:1rem;text-align:center}.nav-links{gap:1rem}.logout-button{margin-top:.5rem}}.logout-button{background:#0000;border:1px solid #fffc;border-radius:4px;color:#fffc;cursor:pointer;font-size:1rem;padding:.5rem 1rem;transition:all .2s ease}.logout-button:hover{background-color:#ffffff1a;border-color:#fff;color:#fff}.profile-container{margin-left:2rem;position:relative}.avatar-button{align-items:center;background:linear-gradient(135deg,#3498db,#2980b9);border:2px solid #fff3;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.1rem;font-weight:500;height:40px;justify-content:center;transition:all .2s ease;width:40px}.avatar-button:hover{border-color:#fff6;transform:scale(1.05)}.dropdown-menu{background:#fff;border:1px solid #00000014;border-radius:12px;box-shadow:0 4px 20px #00000026;min-width:300px;position:absolute;right:0;top:calc(100% + 10px);z-index:1000}.profile-container .menu-header{background:#f8f9fa;border-radius:8px 8px 0 0;display:block;padding:1.25rem}.user-avatar-container{align-items:flex-start;display:flex;gap:1rem}.user-avatar{align-items:center;background:linear-gradient(135deg,#3498db,#2980b9);border-radius:50%;box-shadow:0 2px 8px #3498db33;color:#fff;display:flex;flex-shrink:0;font-size:1.2rem;font-weight:500;height:48px;justify-content:center;width:48px}.user-details{display:flex;flex-direction:column;gap:.35rem}.user-name-row{align-items:center;display:flex;gap:.5rem}.user-name{color:#2c3e50;font-size:1.1rem;font-weight:600;line-height:1.2}.user-email{color:#666;font-size:.85rem;line-height:1.2}.badge{align-items:center;border-radius:10px;font-size:.7rem;font-weight:500;line-height:1;padding:5px}.badge.verified{background:#28a745;color:#fff}.badge.unverified{background:#ffc107;color:#000}.user-title{color:#666;font-size:.9rem;margin-bottom:1rem}.user-info-grid{display:flex;flex-direction:column;gap:.75rem}.info-item{align-items:center;color:#666;display:flex;font-size:.85rem;padding:.25rem 0}.info-item i{color:#3498db;font-size:1rem;margin-right:12px;text-align:center;width:20px}.info-item span{line-height:1}.account-warning{background:#fff3cd;border:1px solid #ffeeba;border-radius:6px;display:flex;gap:1rem;margin-top:1rem;padding:1rem}.account-warning i{color:#ffc107;font-size:1.2rem}.account-warning strong{color:#856404;display:block;margin-bottom:.5rem}.account-warning p{color:#666;font-size:.9rem;margin:0 0 .5rem}.account-warning ul{color:#666;font-size:.85rem;margin:0;padding-left:1.2rem}.menu-items{padding:.5rem}.menu-item{align-items:center;background:none;border:none;color:#2c3e50;cursor:pointer;display:flex;font-size:1rem;padding:.25rem 0 .5rem 1.25rem;text-decoration:none;transition:background-color .2s;width:100%}.menu-item i{color:#666;font-size:1rem;margin-right:12px;text-align:center;width:20px}.menu-item:hover{background-color:#f8f9fa}.menu-divider{background:#eee;height:1px;margin:.5rem 0}@media (max-width:768px){.profile-container{margin-left:0;margin-top:1rem}.dropdown-menu{border-radius:12px 12px 0 0;bottom:0;left:0;position:fixed;right:0;top:auto;transform:translateY(0)}.dropdown-menu:before{display:none}}@keyframes slideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dropdown-menu{animation:slideIn .2s ease}.header-left{align-items:center;display:flex;gap:20px}.logo{color:#fff;font-size:1.5em;font-weight:700;text-decoration:none}.breadcrumb{align-items:center;color:#ffffffb3;display:flex}.separator{margin:0 10px}.current-feature{font-weight:500}.account-status-banner{animation:slideDown .3s ease;border-radius:8px;margin-bottom:1rem;padding:1rem;width:100%}.account-status-banner.warning{background-color:#fff3cd;border:1px solid #ffeeba}.account-status-banner.info{background-color:#cce5ff;border:1px solid #b8daff}.banner-content{align-items:center;display:flex;gap:1rem}.banner-icon{font-size:1.5rem}.banner-icon i{color:#856404}.account-status-banner.info .banner-icon i{color:#004085}.banner-message{flex:1 1}.banner-message strong{color:#856404;display:block;margin-bottom:.25rem}.account-status-banner.info .banner-message strong{color:#004085}.banner-message p{color:#666;font-size:.9rem;margin:0}.banner-actions{gap:1rem}.banner-actions,.btn-link{align-items:center;display:flex}.btn-link{background:none;border:none;color:#0056b3;cursor:pointer;font-size:.9rem;gap:.5rem;padding:.5rem;transition:color .2s}.btn-link:hover{color:#003d82}.btn-close{background:none;border:none;color:#666;cursor:pointer;padding:.5rem;transition:color .2s}.btn-close:hover{color:#333}:root{--primary:#2563eb;--primary-dark:#1d4ed8;--secondary:#64748b;--success:#22c55e;--warning:#f59e0b;--danger:#ef4444;--background:#f8fafc;--surface:#fff;--text:#1e293b;--text-light:#64748b;--border:#e2e8f0;--shadow-sm:0 1px 2px 0 #0000000d;--shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--radius-sm:0.375rem;--radius:0.5rem;--radius-lg:0.75rem;--office-to-office:#4caf5026;--office-to-client:#2196f326;--client-to-office:#ff980026;--client-to-client:#9c27b026;--personal:#f4433626;--unknown:#9e9e9e26}.btn{align-items:center;border-radius:.5rem;border-radius:var(--radius);display:inline-flex;gap:.5rem;justify-content:center;transition:all .2s}.btn-primary{background-color:#2563eb}.btn-primary:hover{background-color:#1d4ed8}.btn-secondary{background-color:#64748b;background-color:var(--secondary)}.btn-secondary:hover{filter:brightness(90%)}.card{background:#fff;background:var(--surface);border-radius:.5rem;border-radius:var(--radius);box-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;box-shadow:var(--shadow);padding:1.5rem;padding:var(--spacing-lg);transition:transform .2s,box-shadow .2s}.card:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;box-shadow:var(--shadow-md);transform:translateY(-2px)}.table-modern{margin:1rem 0;margin:var(--spacing-md) 0}.table-modern td,.table-modern th{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);padding:1rem;padding:var(--spacing-md)}.table-modern th{background:var(--background);color:#1e293b;color:var(--text)}.table-modern tr:hover td{background:#f8fafc;background:var(--background)}.select-modern{-webkit-appearance:none;appearance:none;background-color:var(--surface);background-image:url(data:image/svg+xml,...);background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:.5rem;border-radius:var(--radius);color:#1e293b;color:var(--text);cursor:pointer;font-size:.875rem;line-height:1.25rem;padding:.5rem 2rem .5rem .75rem}.select-modern:focus{outline:2px solid #2563eb;outline:2px solid var(--primary);outline-offset:2px}.loading{color:#64748b;color:var(--text-light);min-height:200px}.error{background-color:#fee2e2;border-radius:.5rem;border-radius:var(--radius);color:#ef4444;margin:var(--spacing-md) 0;padding:var(--spacing-md)}.no-vehicle-selected{align-items:center;display:flex;justify-content:center;min-height:60vh}.message-card,.no-vehicle-selected{padding:2rem;padding:var(--spacing-xl)}.message-card{background:#fff;background:var(--surface);border-radius:.5rem;border-radius:var(--radius);box-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;box-shadow:var(--shadow);max-width:400px;text-align:center;width:100%}.message-card h2{color:#1e293b;color:var(--text);margin-bottom:1rem;margin-bottom:var(--spacing-md)}.message-card p{color:#64748b;color:var(--text-light);margin-bottom:1.5rem;margin-bottom:var(--spacing-lg)}.trip-type{background-color:#9e9e9e26;background-color:var(--unknown);font-size:.9em;padding:4px 8px}.trip-type.OFFICE_TO_OFFICE{background-color:#4caf5026;background-color:var(--office-to-office)}.trip-type.OFFICE_TO_CLIENT{background-color:#2196f326;background-color:var(--office-to-client)}.trip-type.CLIENT_TO_OFFICE{background-color:#ff980026;background-color:var(--client-to-office)}.trip-type.CLIENT_TO_CLIENT{background-color:#9c27b026;background-color:var(--client-to-client)}.trip-type.PERSONAL{background-color:#f4433626;background-color:var(--personal)}.trip-type.UNKNOWN{background-color:#9e9e9e26;background-color:var(--unknown)}.vehicle-list{padding:var(--spacing-xl)}.page-title{color:var(--text);font-size:1.875rem;margin-bottom:5rem}.vehicle-grid{grid-gap:2.5rem 1.5rem;display:grid;gap:2.5rem 1.5rem;grid-template-columns:repeat(4,minmax(180px,1fr))}.vehicle-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);display:flex;flex-direction:column;height:100%;justify-content:space-between;min-height:150px;min-width:0;padding:1rem}.vehicle-info{margin-bottom:.5rem;overflow:hidden}.vehicle-info h3{font-size:1.125rem;margin-bottom:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vehicle-model{font-size:.875rem;margin-bottom:.25rem}.vehicle-color{align-items:center;color:var(--text-light);display:flex;gap:var(--spacing-sm)}.color-dot{border:1px solid var(--border);border-radius:50%;height:12px;width:12px}.vehicle-actions{display:flex;gap:.5rem;justify-content:center;margin-top:auto}@media (max-width:640px){.vehicle-grid{grid-template-columns:1fr}.vehicle-actions{flex-direction:column}}.trip-analysis{margin:0 auto;max-width:1400px;padding:2rem}.date-navigation{gap:2rem;margin-bottom:2rem}.date-navigation h2{margin:0;min-width:300px;text-align:center}.nav-button{padding:.75rem 1.25rem}.daily-summary{background:var(--surface);border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;gap:2rem;margin-bottom:2rem;padding:1.5rem}.summary-item{display:flex;flex-direction:column;gap:.5rem}.summary-item .label{color:var(--text-secondary);font-size:.875rem}.summary-item .value{color:var(--text-primary);font-size:1.5rem;font-weight:500}.trips-table{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.trips-table table{border-collapse:collapse;width:100%}.trips-table th{background:var(--background);color:var(--text-secondary);font-size:.875rem;font-weight:500;padding:1rem;text-align:left}.trips-table td{border-bottom:1px solid var(--border);padding:1rem}.trips-table tr:last-child td{border-bottom:none}.trip-type{background:var(--background)}.loading{align-items:center;display:flex;justify-content:center;min-height:400px}.error{background:var(--danger-light);border-radius:8px;color:var(--danger);margin:1rem}.trip-analysis h3{color:#333;margin-bottom:1rem;margin-top:2rem}.trip-type.merged{background-color:#e0e0e0;color:#666}.timesheet{margin:0 auto;max-width:1400px;padding:1rem}.page-title{color:var(--text-primary);font-size:1.5rem;font-weight:600;margin-bottom:1.5rem}.day-section,.timesheet-controls{margin-bottom:20px}.day-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.day-title{color:#333;margin:0 0 15px}.table-modern{border-collapse:collapse;margin-left:0;margin-top:10px}.table-modern th{text-align:left}.gap-period{background:#f8f9fa}.gap-info{gap:8px;padding:10px}.gap-header{color:#666;gap:8px}.gap-icon{font-size:1.1em}.gap-tickets{align-items:center;gap:10px}.ticket-list{gap:5px}.ticket-tag{background:#e9ecef;font-size:.9em;gap:5px;padding:2px 8px}.remove-ticket{color:#666;font-size:1.2em;padding:0 2px}.remove-ticket:hover{color:#dc3545}.add-ticket{flex:1 1}.input-modern{border:1px solid #ced4da;border-radius:4px;font-size:.9em;padding:8px 12px;width:100%}.input-modern.assigned{background-color:#f8fff9;border-color:#28a745}.select-modern{background-color:#fff;border:1px solid #ced4da;border-radius:4px;font-size:.9em;padding:8px 12px;width:100%}.select-modern.assigned{border-color:#28a745}.select-modern.assigned,tr.assigned{background-color:#f8fff9}.input-modern,.select-modern{background:var(--surface);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:.813rem;padding:.5rem;transition:all .2s ease;width:100%}.input-modern:hover,.select-modern:hover{border-color:#94a3b8}.input-modern:focus,.select-modern:focus{border-color:#60a5fa;box-shadow:0 0 0 2px #60a5fa1a;outline:none}.input-modern.assigned,.select-modern.assigned{background:#10b9810d;border-color:#10b981}.btn{transition:all .2s ease}.btn-primary{background:#3b82f6}.btn-primary:hover{background:#2563eb}.btn-secondary{background:#e2e8f0;color:#64748b}.btn-secondary:hover{background:#cbd5e1}.loading{color:var(--text-secondary);padding:2rem;text-align:center}.error{background:#fee2e2;border-radius:6px;color:#991b1b;font-size:.875rem;margin:1rem 0;padding:1rem}.gap-period{background:var(--surface);color:var(--text-secondary);font-size:.875rem}.gap-info{background:#00000005;border:1px solid var(--border);border-radius:8px;display:flex;flex-direction:column;gap:.75rem;margin:.5rem 1rem;padding:1rem}.gap-header{align-items:center;color:var(--text-primary);display:flex;font-weight:500;gap:.5rem}.gap-icon{color:#64748b;font-size:1.125rem}.gap-tickets{gap:.75rem;padding-left:1.75rem}.ticket-list{min-height:32px}.ticket-tag{border:1px solid #e2e8f0;border-radius:6px;box-shadow:0 1px 2px #0000000d;font-size:.813rem;gap:.5rem;padding:.375rem .75rem}.remove-ticket{color:#94a3b8;padding:0;transition:all .2s ease}.remove-ticket:hover{color:#ef4444}.add-ticket{max-width:300px;width:100%}.add-ticket .input-modern{background:#fff;border:1px solid #e2e8f0;border-radius:6px;font-size:.875rem;padding:.5rem .75rem;transition:all .2s ease}.add-ticket .input-modern:hover{border-color:#cbd5e1}.add-ticket .input-modern:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.ticket-list:empty:before{color:#94a3b8;content:"No tickets assigned";font-size:.875rem;font-style:italic;padding:.5rem 0}.table-modern tr:hover{background:#00000003}.table-modern tr.assigned{background:rgba(var(--color-success),.04)}.table-modern tr.gap-period:hover{background:#00000005}.gap-period td{padding:.25rem 1rem}.gap-info{color:#64748b;font-style:italic}.gap-tickets{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.ticket-list{display:flex;flex-wrap:wrap;gap:.5rem}.ticket-tag{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);display:inline-flex;font-size:.75rem;gap:.25rem;padding:.25rem .5rem}.remove-ticket{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:1rem;line-height:1;padding:0 .25rem}.remove-ticket:hover{color:var(--text-primary)}.add-ticket{width:200px}.add-ticket .input-modern{font-size:.75rem;padding:.375rem .5rem;width:100%}.processed{background-color:var(--background-alt)}.processed .engineer-name,.processed .ticket-number{opacity:.8}.filter-controls{align-items:center;display:flex;gap:1rem;margin-bottom:1rem}.processed .processed-info{color:var(--text-secondary);font-size:.875rem}.processed-details{align-items:center;display:flex;gap:.5rem}.status-badge{background:var(--success-light);border-radius:4px;color:var(--success);font-size:.75rem;font-weight:500;padding:.25rem .5rem}.ticket-info{color:var(--text-primary);font-weight:500}.processed-time{font-size:.75rem}tr.processed{background-color:rgba(var(--color-success),.04)}tr.processed:hover{background-color:rgba(var(--color-success),.08)}.timesheet-controls{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.processed{background-color:rgba(var(--color-success),.04)!important}.processed:hover{background-color:rgba(var(--color-success),.08)!important}.processed-entry{align-items:center;display:flex;gap:.5rem}.engineer-name{color:var(--text-primary);font-weight:500}.status-pill{background-color:#e2e8f0;border-radius:12px;color:#64748b;display:inline-block;font-size:.75rem;padding:.25rem .5rem}.status-pill.success{color:#15803d}.ticket-number{color:var(--text-primary)}.cw-ticket,.ticket-number{font-family:monospace;font-weight:500}.cw-ticket{color:#2563eb}.processed-time{color:var(--text-secondary);font-size:.813rem}.table-modern th{background:#f8fafc;border-bottom:2px solid #e2e8f0;color:#64748b;font-weight:500;padding:.75rem 1rem;white-space:nowrap}.table-modern td{border-bottom:1px solid #e2e8f0;padding:.75rem 1rem;vertical-align:middle}.trip-type{border-radius:4px;display:inline-block;font-size:.813rem;padding:.25rem .5rem}.trip-type.office_to_client{background-color:#dbeafe;color:#1e40af}.trip-type.client_to_office{background-color:#fef3c7;color:#92400e}.filter-toggle{align-items:center;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:.375rem;cursor:pointer;display:flex;gap:.5rem;padding:.5rem;-webkit-user-select:none;user-select:none}.filter-toggle:hover{background-color:#f1f5f9}.filter-toggle input[type=checkbox]{border:1px solid #cbd5e1;border-radius:.25rem;height:1rem;width:1rem}.processed{background-color:rgba(var(--color-success),.04)}.processed:hover{background-color:rgba(var(--color-success),.08)}.modal-content{padding:1.5rem;width:900px}.modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.modal-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(3,1fr);margin-bottom:1.5rem}.modal-column{gap:1rem}.detail-group,.modal-column{display:flex;flex-direction:column}.detail-group{gap:.25rem}.detail-group label{color:#6b7280;font-size:.875rem;font-weight:500}.detail-group span{color:#111827;font-size:1rem}.notes-group{flex-grow:1}.notes-content{background:#f9fafb;border-radius:.375rem;font-size:.875rem;max-height:80px;min-height:60px;overflow-y:auto;padding:.75rem}.cw-link{color:#2563eb;font-weight:500;text-decoration:none}.cw-link:hover{text-decoration:underline}.status-pill{align-self:flex-start;border-radius:9999px;display:inline-flex;font-size:.875rem;font-weight:500;padding:.25rem .75rem}.status-pill.success{background-color:#dcfce7;color:#166534}.modal-actions{border-top:1px solid #e5e7eb;gap:.75rem;padding-top:1rem}.btn{border:none;border-radius:7px;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem}.btn-secondary{background-color:#4b5563}.btn-danger{background-color:#dc2626;color:#fff}.btn:disabled{cursor:not-allowed;opacity:.5}.trip-type{background-color:#e0f2fe;border-radius:.375rem;color:#0369a1;display:inline-flex;font-size:.875rem;font-weight:500;padding:.25rem .75rem}.time-cell{padding-left:24px!important;position:relative}.time-cell.processed:before{color:#22c55e;content:"🔁";font-size:14px;font-weight:700;left:0;position:absolute;top:50%;transform:translateY(-50%)}tr.processed{background-color:#f8fafc}tr.processed:hover{background-color:#f1f5f9}tr.processed .ticket-number{color:#64748b}.user-select-wrapper{position:relative;width:100%}.user-select-input{background-color:#fff;border:1px solid #e2e8f0;border-radius:4px;font-size:14px;max-width:120px;padding:8px 12px;width:100%}.user-select-input.has-value{background-color:#10b9810d;border-color:#10b981}.user-select-input:focus{border-color:#60a5fa;box-shadow:0 0 0 2px #60a5fa1a;outline:none}.user-select-dropdown{background:#fff;border:1px solid #e2e8f0;border-radius:4px;box-shadow:0 4px 6px -1px #0000001a;left:0;margin-top:4px;max-height:200px;min-width:200px;overflow-y:auto;position:absolute;top:100%;width:max-content;z-index:1000}.user-option{border-bottom:1px solid #f0f0f0;cursor:pointer;display:block;padding:8px 12px;text-align:left;white-space:nowrap}.user-option:last-child{border-bottom:none}.user-option.highlighted{background-color:#f8fafc}.user-option.selected{background-color:#e0f2fe}.user-name{font-weight:500}.user-department{color:#64748b;font-size:.9em}tr.processed{cursor:pointer}tr.processed:hover{background-color:#00000005}.modal-content{max-height:90vh;max-width:800px;padding:20px}.timesheet-header{margin-bottom:2rem}.date-navigation{align-items:center;display:flex;gap:1rem;justify-content:center}.nav-button{background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);cursor:pointer;font-size:1.25rem;padding:.5rem 1rem;transition:all .2s}.nav-button:hover:not(:disabled){background:var(--background);border-color:var(--primary);color:var(--primary)}.nav-button:disabled{cursor:not-allowed;opacity:.5}.page-title{display:flex;flex-direction:column;gap:.5rem;margin:0;min-width:300px;text-align:center}.week-range{color:var(--text-secondary);font-size:1rem;font-weight:400}.ticket-container{align-items:center;display:flex;gap:.5rem}.btn-quick-copy{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;display:flex;justify-content:center;min-height:32px;min-width:32px;padding:.375rem;transition:all .2s ease}.btn-quick-copy:hover{background:var(--background);border-color:var(--primary);color:var(--primary)}.btn-quick-copy span{font-size:1rem;line-height:1}.search-input-container,.ticket-search{margin:0;min-width:0;padding:0;position:relative;width:100%}.ticket-search-input{border:1px solid var(--border);border-radius:4px;box-sizing:border-box;display:block;font-size:14px;min-width:0;padding:8px 32px 8px 12px;transition:border-color .2s ease;width:100%}.ticket-search-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px #1890ff1a;outline:none}.search-spinner{animation:spin 1s linear infinite;border:2px solid var(--border);border-radius:50%;border-top-color:var(--primary);height:16px;position:absolute;right:12px;top:50%;transform:translateY(-50%);width:16px}.ticket-results{background:#fff;border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 12px #00000026;left:0;max-height:400px;min-width:0;overflow-y:auto;position:absolute;right:0;top:calc(100% + 4px);width:116%;z-index:1000}.ticket-list{list-style:none;margin:0;padding:0}.ticket-item{border-bottom:1px solid var(--border);cursor:pointer;padding:12px 16px;transition:background-color .2s ease}.ticket-item:last-child{border-bottom:none}.ticket-item:hover{background-color:var(--hover)}.ticket-header{margin-bottom:6px}.ticket-number{color:var(--primary);font-size:14px;font-weight:600}.ticket-status{border-radius:12px;font-size:12px;font-weight:500;padding:2px 8px;text-transform:uppercase}.ticket-status.new{background-color:#e3f2fd;color:#1976d2}.ticket-status.open{background-color:#f1f8e9;color:#689f38}.ticket-status.closed{background-color:#f5f5f5;color:#616161}.ticket-summary{color:var(--text);font-size:14px;line-height:1.4;margin-bottom:8px}.ticket-details{align-items:center;color:var(--text-secondary);display:flex;font-size:12px;justify-content:space-between}.loading,.no-results{font-size:14px;padding:16px}.selected-ticket-tag{align-items:center;background:#4a90e2;background:var(--primary,#4a90e2);border-radius:4px;box-sizing:border-box;display:flex;justify-content:space-between;margin:0;max-width:100%;padding:4px 8px;width:100%}.selected-ticket-tag .ticket-number{color:#fff;font-weight:500;margin-right:8px}.remove-ticket-btn{align-items:center;background:none;border:none;color:#fff;cursor:pointer;display:flex;font-size:16px;line-height:1;opacity:.8;padding:0;transition:opacity .2s ease}.remove-ticket-btn:hover{opacity:1}.company-search{position:relative}.company-search-input{font-size:.875rem;padding:.5rem;width:100%}.company-results,.company-search-input{border:1px solid var(--border);border-radius:4px}.company-results{background:#fff;box-shadow:0 2px 4px #0000001a;left:0;margin-top:4px;max-height:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.company-list{list-style:none;margin:0;padding:0}.company-item{align-items:center;cursor:pointer;display:flex;gap:.5rem;justify-content:space-between;padding:.5rem;transition:background-color .2s}.company-item:hover{background-color:var(--background-hover)}.company-identifier{color:var(--text-secondary);font-size:.75rem;white-space:nowrap}.loading,.no-results{color:var(--text-secondary);padding:.5rem;text-align:center}.modal{background-color:#00000080;bottom:0;right:0}.modal-content{box-shadow:0 4px 6px #0000001a;width:100%}.modal-content h3{color:var(--text-primary);font-size:1.5rem;font-weight:600;margin:0 0 1.5rem}.form-group{margin-bottom:1.25rem}.form-group label{color:var(--text-primary);display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.form-group input,.form-group select{border:1px solid var(--border);border-radius:4px;font-size:.875rem;padding:.625rem;transition:border-color .2s,box-shadow .2s;width:100%}.form-group input:focus,.form-group select:focus{border-color:var(--primary);box-shadow:0 0 0 2px #3b82f61a;outline:none}.error-message{background-color:#ef44441a;border-radius:4px;color:var(--error);font-size:.875rem;margin-bottom:1rem;padding:.5rem}.modal-actions{margin-top:2rem}.modal-actions button{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;justify-content:center;min-width:120px;padding:.625rem 1.25rem;transition:all .2s}.btn-primary{background-color:var(--primary);color:#fff}.btn-primary:hover{background-color:var(--primary-dark)}.btn-primary:disabled{background-color:var(--primary-light);cursor:not-allowed}.btn-secondary{background-color:var(--background);border:1px solid var(--border);color:var(--text-primary)}.btn-secondary:hover{background-color:var(--background-hover);border-color:var(--border-dark)}.ticket-actions{display:flex;gap:.5rem;margin-top:.5rem}.btn-create-ticket,.btn-quick-copy{align-items:center;background-color:#fff;border:1px solid var(--border);border-radius:4px;color:var(--text-primary);cursor:pointer;display:inline-flex;justify-content:center;padding:.375rem;transition:all .2s ease}.btn-create-ticket:hover,.btn-quick-copy:hover{background-color:var(--background-hover);border-color:var(--border-dark)}.btn-create-ticket span,.btn-quick-copy span{font-size:1rem;line-height:1}.btn-create-ticket:hover,.btn-quick-copy:hover{box-shadow:0 2px 4px #0000000d}.btn-create-ticket:active,.btn-quick-copy:active{box-shadow:none;transform:translateY(1px)}.timesheet-review{margin:0 auto;max-width:1400px;padding:2rem}.review-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.review-header h2{color:var(--text-primary);font-size:1.75rem;margin:0}.review-summary{background:var(--background-alt);border-radius:20px;color:var(--text-secondary);font-size:.9rem;padding:.5rem 1rem}.review-controls{display:flex;gap:1rem;margin-bottom:2rem}.review-table-container{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.review-table{border-collapse:collapse;width:100%}.review-table th{background:var(--background-alt);color:var(--text-secondary);font-size:.875rem;font-weight:500;padding:1rem;text-align:left}.review-table td{border-bottom:1px solid var(--border);padding:1rem}.review-row:hover{background:var(--background-hover)}.duration-cell,.time-cell{white-space:nowrap}.time-range{align-items:center;display:flex;gap:.5rem}.time-separator{color:var(--text-secondary)}.location-range{align-items:center;display:flex;gap:.5rem}.location-arrow{color:var(--text-secondary);font-size:.75rem}.engineer-badge{background:var(--background-alt);gap:.5rem}.engineer-badge,.ticket-badge{align-items:center;border-radius:4px;display:inline-flex;font-size:.875rem;padding:.375rem .75rem}.ticket-badge{background:var(--primary-light);color:var(--primary);font-weight:500}.notes-input{border:1px solid var(--border);border-radius:4px;font-size:.875rem;min-height:60px;padding:.5rem;resize:vertical;width:100%}.notes-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light);outline:none}.remove-entry-btn{background:none;border:none;border-radius:4px;color:var(--danger);cursor:pointer;opacity:.6;padding:.5rem;transition:all .2s}.remove-entry-btn:hover{background:var(--danger-light);opacity:1}.entry-type{border-radius:4px;display:inline-block;font-size:.875rem;font-weight:500;padding:.25rem .5rem}.entry-type.travel{background:var(--primary-light);color:var(--primary)}.entry-type.gap{background:var(--warning-light);color:var(--warning)}.entry-type.work{background:var(--success-light);color:var(--success)}.work-type-select{background-color:#fff;border:1px solid var(--border);border-radius:4px;font-size:.875rem;padding:.5rem;width:100%}.work-type-select:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light);outline:none}.modal{align-items:center;background:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.modal-content{background:#fff;max-height:80vh;max-width:600px;overflow-y:auto}.results-container{margin:1rem 0}.result-item{border:1px solid #ddd;border-radius:4px;margin:.5rem 0;padding:1rem}.result-item.success{background-color:#f0fff4;border-color:#68d391}.result-item.error{background-color:#fff5f5;border-color:#fc8181}.ticket-info{align-items:center;display:flex;justify-content:space-between}.ticket-number{font-weight:700}.success-message{color:#38a169}.error-message{color:#e53e3e}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1rem}.processing-summary{background:#f7fafc;border-radius:4px;margin:1rem 0;padding:.5rem;text-align:center}.success-rate{color:#4a5568;font-weight:500}.ticket-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.ticket-status-toggle input[type=checkbox]{cursor:pointer;height:16px;margin:0;width:16px}.ticket-status-toggle span{-webkit-user-select:none;user-select:none}.ticket-update-options{background:var(--background-alt);border-radius:4px;margin-top:1rem;padding:.75rem}.ticket-update-options h4{color:var(--text-primary);font-size:1rem;margin:0 0 1rem}.status-select{background-color:#fff;border:1px solid var(--border);border-radius:4px;font-size:.875rem;padding:.5rem;width:100%}.status-select:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light);outline:none}.result-item .ticket-update-options{border-top:1px solid var(--border);margin-top:1rem;padding-top:1rem}.result-item .status-select{margin-bottom:.5rem}.result-item .status-notes{min-height:60px}.ticket-status-toggle{align-items:center;background:var(--background-alt);border-radius:4px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;padding:.25rem .5rem;transition:background-color .2s}.ticket-status-toggle:hover{background:var(--background-hover)}.status-select option{font-weight:500;padding:4px}.loading-modal{align-items:center;background:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.loading-content{background:#fff;border-radius:8px;padding:2rem;text-align:center}.spinner{animation:spin 1s ease infinite;border:4px solid #0000001a;border-left-color:#09f;height:36px;margin-bottom:1rem;width:36px}.App{background-color:var(--primary-bg);display:flex;flex-direction:column;min-height:100vh;text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.main-content{box-sizing:border-box;flex:1 1;margin:0 auto;max-width:1400px;padding:2rem;width:100%}.table-modern{border-collapse:initial;border-spacing:0;margin-top:1.5rem;width:100%}.table-modern th{border-bottom:2px solid var(--border);color:var(--text-secondary);font-size:.75rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.table-modern td,.table-modern th{background:var(--surface);padding:1rem}.table-modern td{color:var(--text-primary);font-size:.875rem}.table-modern tr{transition:all .2s ease}.trip-type-office-to-office{background-color:var(--office-to-office)}.trip-type-office-to-client{background-color:var(--office-to-client)}.trip-type-client-to-office{background-color:var(--client-to-office)}.trip-type-client-to-client{background-color:var(--client-to-client)}.trip-type-personal{background-color:var(--personal)}.trip-type-unknown{background-color:var(--unknown)}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{animation:modalFadeIn .3s ease-out;background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;max-width:500px;padding:2rem;position:relative;width:90%}.modal-content h2{color:#333;font-size:1.5rem;font-weight:600;margin-bottom:1rem}.modal-content p{color:#666;line-height:1.5;margin-bottom:1.5rem}.modal-content button{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:background-color .2s}.modal-content button:hover{background-color:#0056b3}.modal-content button:focus{box-shadow:0 0 0 2px #007bff40;outline:none}@keyframes modalFadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:600px){.modal-content{padding:1.5rem;width:95%}.modal-content h2{font-size:1.25rem}.modal-content p{font-size:.9rem}.modal-content button{padding:.6rem;width:100%}}.login-container{align-items:center;background:linear-gradient(160deg,#1e3a5f,#2d5a87 35%,#3d7ab5 70%,#5b9bd5);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:20px;position:relative}.login-container:before{background:radial-gradient(ellipse 80% 50% at 10% 20%,#ffffff1f 0,#0000 50%),radial-gradient(ellipse 60% 80% at 90% 80%,#ffffff14 0,#0000 50%),radial-gradient(circle at 50% 50%,#ffffff08 0,#0000 60%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.login-box{animation:slideUp .5s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-radius:12px;box-shadow:0 20px 60px #00000026,0 0 0 1px #fff3;max-width:420px;padding:48px 40px;position:relative;width:100%;z-index:1}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-header{margin-bottom:40px;text-align:center}.logo-container{display:flex;justify-content:center;margin-bottom:20px}.logo-icon{animation:float 3s ease-in-out infinite;color:#1e3a5f;font-size:56px}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.login-title{color:#1e3a5f;font-size:32px;font-weight:700;letter-spacing:-.02em;margin:0 0 8px}.login-subtitle{color:#475569;font-size:16px;font-weight:500;margin:0}.error-message{align-items:center;animation:shake .5s ease-in-out;background:linear-gradient(135deg,#fff5f5,#fed7d7);border:1px solid #fc8181;border-radius:12px;color:#c53030;display:flex;font-size:14px;gap:12px;margin-bottom:24px;padding:16px;text-align:left}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}.error-icon{color:#e53e3e;flex-shrink:0;height:20px;width:20px}@media (max-width:480px){.login-box{border-radius:12px;max-width:100%;padding:36px 24px}.login-title{font-size:28px}.login-subtitle{font-size:14px}.microsoft-login-button{font-size:15px;padding:14px 20px}}.login-content{margin-bottom:32px}.microsoft-login-button{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 4px #0000000d;color:#334155;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:12px;justify-content:center;overflow:hidden;padding:16px 24px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.microsoft-login-button:before{background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.microsoft-login-button:hover:before{left:100%}.microsoft-login-button:hover{background:#f7fafc;border-color:#cbd5e0;box-shadow:0 8px 16px #0000001a;transform:translateY(-2px)}.microsoft-login-button:active{box-shadow:0 2px 4px #0000001a;transform:translateY(0)}.microsoft-login-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.microsoft-icon,.spinner{flex-shrink:0;height:24px;width:24px}.spinner-circle{color:#1e3a5f}.config-error{background:#fff5f5;border:1px solid #feb2b2;border-radius:12px;padding:24px;text-align:center}.config-error p{color:#c53030;font-size:14px;margin:0 0 8px}.config-error-subtitle{color:#718096;font-size:12px}.login-footer{border-top:1px solid #e2e8f0;padding-top:24px;text-align:center}.footer-text{color:#64748b;font-size:12px;margin:0}.verification-sent-container{align-items:center;background-color:#f8f9fa;display:flex;justify-content:center;min-height:100vh}.verification-sent-box{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;max-width:500px;padding:2rem;text-align:center;width:90%}.verification-sent-box h2{color:#333;margin-bottom:1.5rem}.icon-container{color:#007bff;font-size:3rem;margin:2rem 0}.verification-sent-box p{color:#666;line-height:1.6;margin-bottom:1rem}.note{color:#888;font-size:.9rem;font-style:italic}.actions{margin-top:2rem}.btn-secondary{background-color:#6c757d;border-radius:7px;color:#fff;display:inline-block;padding:.75rem 1.5rem;text-decoration:none;transition:background-color .2s}.btn-secondary:hover{background-color:#5a6268;color:#fff;text-decoration:none}.email-verification-container{align-items:center;background-color:#f8f9fa;display:flex;justify-content:center;min-height:100vh}.email-verification-box{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;max-width:500px;padding:2rem;text-align:center;width:90%}.email-verification-box h2{color:#333;margin-bottom:1.5rem}.spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#007bff;height:40px;margin:2rem auto;width:40px}.success-icon{color:#28a745}.error-icon,.success-icon{font-size:3rem;margin:2rem 0}.error-icon{color:#dc3545}.email-verification-box p{color:#666;line-height:1.6;margin-bottom:1rem}.email-verification-box button{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;margin-top:1rem;padding:.75rem 1.5rem;transition:background-color .2s}.email-verification-box button:hover{background-color:#0056b3}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:600px){.email-verification-box{padding:1.5rem;width:95%}.email-verification-box h2{font-size:1.25rem}.email-verification-box p{font-size:.9rem}.spinner{height:30px;width:30px}}.ps-wrapper{background:#f8fafc;display:grid;font-family:Inter,system-ui,sans-serif;grid-template-columns:300px 1fr;min-height:calc(100vh - 64px)}.ps-sidebar{background:#fff;border-right:1px solid #e2e8f0;padding:2rem}.ps-user-profile{border-bottom:1px solid #e2e8f0;margin-bottom:2rem;padding-bottom:2rem;text-align:center}.ps-avatar{align-items:center;background:linear-gradient(135deg,#6366f1,#4f46e5);border-radius:50%;color:#fff;display:flex;font-size:3rem;font-weight:600;height:120px;justify-content:center;margin:0 auto 1.5rem;width:120px}.ps-name{color:#1e293b;font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.ps-role{color:#64748b;font-size:.875rem;margin:0 0 1rem}.ps-status-badge{border-radius:9999px;display:inline-block;font-size:.75rem;font-weight:500;padding:.25rem 1rem}.ps-status-badge.active{background:#dcfce7;color:#166534}.ps-status-badge.inactive{background:#fee2e2;color:#991b1b}.ps-nav{display:flex;flex-direction:column;gap:.5rem}.ps-nav-item{align-items:center;background:#0000;border:none;border-radius:8px;color:#64748b;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.75rem;padding:.75rem 1rem;text-align:left;transition:all .2s}.ps-nav-item:hover{background:#f1f5f9;color:#1e293b}.ps-nav-item.active{background:#eff6ff;color:#3b82f6}.ps-nav-item i{font-size:1rem}.ps-main{padding:2rem}.ps-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.ps-header h1{color:#1e293b;font-size:1.875rem;font-weight:600;margin:0}.ps-verification-alert{align-items:center;background:#fff7ed;border:1px solid #ffedd5;border-radius:6px;color:#c2410c;display:flex;font-size:.875rem;gap:.5rem;padding:.5rem 1rem}.ps-section{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:1.5rem;padding:1.5rem}.ps-section h3{color:#1e293b;font-size:1.25rem;font-weight:600;margin:0 0 1.5rem}.ps-info-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.ps-info-item{display:flex;flex-direction:column;gap:.5rem}.ps-info-item label{color:#64748b;font-size:.75rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.ps-info-value{align-items:center;display:flex;gap:1rem}.ps-verify-btn{background:#dbeafe;border:none;border-radius:6px;color:#1e40af;cursor:pointer;font-size:.75rem;font-weight:500;padding:.25rem .75rem;transition:all .2s}.ps-verify-btn:hover{background:#bfdbfe}.ps-contact-info{display:flex;flex-direction:column;gap:.5rem}.ps-contact-info span{align-items:center;color:#64748b;gap:.5rem}.ps-contact-info i{color:#94a3b8;width:16px}.ps-email-form{max-width:400px}.ps-form-group{width:100%}.ps-input{box-sizing:border-box}.ps-email-item{background:#f8fafc;border-radius:12px;grid-column:1/-1;padding:1.5rem;transition:all .3s ease}.ps-email-actions{display:flex;gap:.75rem;margin-top:1rem}.ps-action-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-weight:500;gap:.5rem;padding:.625rem 1rem;transition:all .2s}.ps-action-btn,.ps-action-btn i{font-size:.875rem}.ps-action-btn:disabled{cursor:not-allowed;opacity:.6}.ps-action-btn-primary{background:#3b82f6;color:#fff}.ps-action-btn-primary:hover:not(:disabled){background:#2563eb}.ps-action-btn-secondary{background:#fff;border:1px solid #e2e8f0;color:#64748b}.ps-action-btn-secondary:hover{background:#f8fafc;color:#1e293b}.ps-badge{border-radius:6px;display:inline-block;font-size:.75rem;font-weight:500;padding:.25rem .75rem}.ps-badge-warning{background:#fff7ed;border:1px solid #ffedd5;color:#c2410c}.ps-email-update-form{animation:slideDown .3s ease;border-top:1px solid #e2e8f0;margin-top:1rem;padding-top:1rem}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.ps-form-group{margin-bottom:1rem}.ps-input{background:#fff;border:1px solid #e2e8f0;border-radius:8px;font-size:.875rem;padding:.75rem 1rem;transition:all .2s;width:100%}.ps-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.ps-submit-btn{background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:all .2s;width:100%}.ps-submit-btn:hover:not(:disabled){background:#2563eb}.ps-submit-btn:disabled{cursor:not-allowed;opacity:.5}.ps-check-message{align-items:center;border-radius:6px;display:flex;font-size:.875rem;gap:.5rem;margin-top:.5rem;padding:.5rem}.ps-check-message.success{background:#f0fdf4;color:#166534}.ps-check-message.error{background:#fef2f2;color:#be123c}@media (max-width:768px){.ps-wrapper{grid-template-columns:1fr}.ps-sidebar{display:none}.ps-info-grid{grid-template-columns:1fr}}@media (max-width:640px){.ps-email-actions{flex-direction:column}.ps-action-btn{justify-content:center;width:100%}}.ps-message{align-items:center;animation:slideInDown .3s ease-out;border-radius:8px;display:flex;font-size:.875rem;gap:.75rem;margin-bottom:1rem;padding:1rem;position:relative}.ps-message i{font-size:1rem}.ps-message-success{background:#f0fdf4;border:1px solid #dcfce7;color:#166534}.ps-message-error{background:#fef2f2;border:1px solid #fee2e2;color:#991b1b}.ps-message-close{background:none;border:none;color:currentColor;cursor:pointer;opacity:.6;padding:.25rem;position:absolute;right:1rem;top:50%;transform:translateY(-50%);transition:opacity .2s}.ps-message-close:hover{opacity:1}@keyframes slideInDown{0%{opacity:0;transform:translateY(-1rem)}to{opacity:1;transform:translateY(0)}}.ps-message{animation:slideInDown .3s ease-out,fadeOut .3s ease-out 5s forwards}@keyframes fadeOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-1rem);visibility:hidden}}.reports-container,.schedule-container,.time-entries-container{padding:20px}.time-entries-table{border-collapse:collapse;margin-top:20px;width:100%}.time-entries-table td,.time-entries-table th{border-bottom:1px solid #ddd;padding:12px;text-align:left}.time-entries-table th{background-color:#f5f5f5;font-weight:600}.system-settings-container{padding:20px}.settings-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:20px}.setting-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.setting-card input{border:1px solid #ddd;border-radius:4px;margin-top:10px;padding:8px;width:100%}.admin-reports-container{padding:20px}.main-dashboard{margin:0 auto;max-width:1200px;padding:40px;text-align:center}.dashboard-subtitle{color:#666;margin-bottom:40px}.feature-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));padding:20px}.feature-card{background:#fff;border:2px solid #ddd;border:2px solid var(--card-color,#ddd);border-radius:12px;cursor:pointer;padding:30px;text-align:center;transition:transform .2s,box-shadow .2s}.feature-card:hover{box-shadow:0 10px 20px #0000001a;transform:translateY(-5px)}.feature-icon{font-size:3em;margin-bottom:20px}.feature-card h2,.feature-icon{color:#333;color:var(--card-color,#333)}.feature-card h2{margin-bottom:15px}.feature-card p{color:#666;line-height:1.5}.admin-layout{display:flex;height:calc(100vh - 64px)}.admin-sidebar{background:#f8f9fa;border-right:1px solid #e9ecef;overflow-y:auto;padding:20px 0;width:280px}.admin-content{flex:1 1;overflow-y:auto;padding:30px}.sidebar-menu-item{margin-bottom:4px}.menu-header{align-items:center;color:#495057;cursor:pointer;display:flex;justify-content:space-between;padding:12px 20px;transition:all .2s ease}.menu-header:hover{background:#e9ecef}.menu-header.active{background:#e9ecef;color:#2c3e50;font-weight:500}.menu-title{align-items:center;display:flex;gap:12px}.menu-title i{text-align:center;width:20px}.submenu{background:#fff;margin:4px 0}.submenu-item{color:#6c757d;cursor:pointer;padding:10px 20px 10px 52px;transition:all .2s ease}.submenu-item:hover{background:#f1f3f5}.submenu-item.active{background:#e9ecef;color:#2c3e50;font-weight:500}
/*# sourceMappingURL=main.56b9efbd.css.map*/