:root{--color-primary:#4caf50;--color-primary-hover:#45a049;--color-primary-active:#388e3c;--color-accent:#1565c0;--color-accent-hover:#0d47a1;--color-danger:#c62828;--color-danger-hover:#b71c1c;--color-warning:#f57f17;--color-warning-light:#fff8e1;--text-primary:#333;--text-secondary:#666;--text-muted:#999;--text-white:#fff;--bg-dark:#282c34;--bg-page:#f5f5f5;--bg-card:#fff;--bg-alt:#f9f9f9;--bg-input:#fff;--border:#ddd;--border-alt:#dee2e6;--shadow-sm:0 1px 3px #00000014;--shadow-md:0 2px 10px #0000001a;--shadow-lg:0 4px 8px #00000026;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:20px;--space-xl:32px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-pill:16px;--font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--font-sm:12px;--font-base:14px;--font-md:16px;--font-lg:18px;--font-xl:24px}*,:after,:before{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#282c34;background-color:var(--bg-dark);color:#333;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-family:var(--font-family);font-size:14px;font-size:var(--font-base);margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}button{border:none;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-family:var(--font-family);outline:none}.profile-icon{cursor:pointer;height:40px;position:absolute;right:20px;top:20px;width:40px;z-index:1000}.profile-icon img{border-radius:50%;filter:brightness(0) saturate(100%) invert(38%) sepia(72%) saturate(500%) hue-rotate(90deg) brightness(95%) contrast(85%);height:100%;object-fit:cover;transition:box-shadow .2s ease;width:100%}.profile-icon img:hover{box-shadow:var(--shadow-lg)}.profile-background{padding:var(--space-sm);position:fixed;right:5vh;top:60px;z-index:1000}.profile-background,.profile-panel{align-items:center;display:flex;justify-content:center}.profile-panel{background-color:var(--color-primary);border-radius:var(--radius-lg);box-shadow:0 5px 15px #0000004d;flex-direction:column;min-width:180px;padding:var(--space-lg)}.admin-portal{bottom:20px;position:absolute;right:20px}.google-login-btn{background-color:#4285f4;border:none;border-radius:var(--radius-sm);color:var(--text-white);cursor:pointer;font-size:var(--font-base);padding:var(--space-sm) var(--space-md);position:absolute;right:10px;top:60px;transition:background-color .2s ease}.google-login-btn:hover{background-color:#3367d6}@media (max-width:500px){.profile-icon{height:30px;right:10px;top:10px;width:30px}}.Home{text-align:center}.Home-logo{filter:brightness(0) invert(1);height:auto;margin-bottom:3vh;max-width:100%;pointer-events:none;width:60vh}.Home-header{font-size:calc(10px + 2vmin);min-height:100vh}.Home-header,.center{align-items:center;display:flex;flex-direction:column;justify-content:center}.center{max-width:100%;width:60vh}.center .Home-logo{max-width:60vh}.Home-link{color:#61dafb}.industrial-button{background-color:#4a4a4a;border:2px solid #333;border-radius:var(--radius-sm);box-shadow:0 4px 6px #0006;color:var(--text-white);cursor:pointer;font-size:var(--font-md);font-weight:700;letter-spacing:1px;margin:var(--space-sm);padding:var(--space-sm) 12px;transition:background-color .2s ease,transform .2s ease;width:100%}.industrial-button:hover{background-color:#5c5c5c;transform:translateY(-2px)}.industrial-button:active{background-color:#333;box-shadow:0 2px 4px #0009;transform:translateY(0)}@media (max-width:500px){.Home-logo{width:150px}.industrial-button{max-width:200px}}.about-content{align-items:center;display:flex;flex-direction:column;min-height:100vh;padding:var(--space-lg);position:relative}.text-content{margin-bottom:var(--space-xl);max-width:800px;text-align:center}.bullet-points,.text-content h2,.text-content p{color:var(--text-white)}.image-gallery{display:flex;flex-wrap:wrap;gap:var(--space-sm);justify-content:space-around;width:80%}.image-gallery img{border-radius:var(--radius-sm);height:auto;object-fit:cover;width:calc(50% - 10px)}@media (max-width:500px){.image-gallery{align-items:center;flex-direction:column;width:100%}.image-gallery img{max-width:300px;width:100%}}.container{background-color:var(--bg-card);border-radius:var(--radius-md);box-shadow:var(--shadow-md);margin:40px auto;max-width:420px;padding:var(--space-xl);text-align:center}.header{color:var(--text-primary);font-size:var(--font-xl);font-weight:600;margin-bottom:var(--space-lg)}.container-form{display:flex;flex-direction:column;gap:var(--space-md)}.container-form input,.container-form textarea{background-color:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);box-sizing:border-box;color:var(--text-primary);font-size:var(--font-md);padding:12px var(--space-md);transition:border-color .2s ease;width:100%}.container-form input:focus,.container-form textarea:focus{border-color:var(--color-accent);outline:none}.container-form button{background-color:var(--color-accent);border:none;border-radius:var(--radius-sm);color:var(--text-white);cursor:pointer;font-size:var(--font-md);font-weight:600;padding:12px var(--space-md);transition:background-color .2s ease}.container-form button:hover{background-color:var(--color-accent-hover)}.container-form a{color:var(--color-accent);font-size:var(--font-base);margin-top:var(--space-sm);text-decoration:none}.container-form a:hover{text-decoration:underline}.container .error-message,.container p{color:var(--color-danger);font-size:var(--font-base);margin-top:var(--space-sm)}@media screen and (max-width:480px){.container{margin:var(--space-lg) var(--space-md);padding:var(--space-lg)}}.request-details{background-color:var(--bg-alt);border-radius:var(--radius-md);box-shadow:var(--shadow-md);margin:10vh auto var(--space-lg);max-width:800px;padding:var(--space-lg)}.request-details p{font-size:var(--font-md);margin:10px 0}.request-details p,.request-details strong{color:var(--text-primary)}.request-details h2{color:var(--color-primary);margin-top:0}.request-details h3{color:var(--color-primary);font-size:var(--font-lg);margin-top:var(--space-lg)}.request-details ul{list-style-type:none;padding:0}.request-details li{margin:10px 0}.request-details button{background-color:var(--color-primary);border:none;border-radius:var(--radius-sm);color:var(--text-white);cursor:pointer;font-size:var(--font-base);padding:10px 15px;transition:background-color .2s ease}.request-details button:hover{background-color:var(--color-primary-hover)}.no-files{color:var(--text-muted);font-size:var(--font-base)}@media screen and (max-width:768px){.request-details{margin:var(--space-lg) var(--space-sm);padding:var(--space-md)}.request-details h2,.request-details h3{font-size:var(--font-lg)}.request-details p{font-size:var(--font-base)}.request-details button{padding:8px 12px;width:100%}}.requests{background-color:var(--bg-alt);border-radius:var(--radius-md);box-shadow:var(--shadow-md);margin:var(--space-lg);padding:var(--space-lg)}.requests h2{color:var(--color-primary);font-size:var(--font-xl);margin-bottom:var(--space-lg);margin-top:0}.search-container{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-lg)}.search-input{background-color:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);flex:1 1 180px;font-size:var(--font-base);padding:9px 12px;transition:border-color .2s ease}.search-input:focus{border-color:var(--color-primary);outline:none}.search-button{background-color:var(--color-primary);border:none;border-radius:var(--radius-sm);color:var(--text-white);cursor:pointer;font-size:var(--font-base);font-weight:600;padding:9px 16px;transition:background-color .2s ease;white-space:nowrap}.search-button:hover{background-color:var(--color-primary-hover)}.search-button:active{background-color:var(--color-primary-active)}.requests-table{border-collapse:collapse;color:var(--text-primary);font-family:var(--font-family);margin-top:var(--space-sm);width:100%}.requests-table thead{background-color:var(--color-primary);color:var(--text-white)}.requests-table td,.requests-table th{border-bottom:1px solid var(--border);padding:12px 15px;text-align:left}.requests-table th{font-size:var(--font-base);font-weight:600}.requests-table tbody{background-color:var(--bg-card)}.requests-table tbody tr,.table-row{cursor:pointer;transition:background-color .2s ease}.requests-table tbody tr:hover,.table-row:hover{background-color:#f1f1f1}.requests-table td{font-size:var(--font-base)}.sortable{cursor:pointer;position:relative;-webkit-user-select:none;user-select:none}.sortable:after{content:"⬍";font-size:var(--font-sm);opacity:.7;position:absolute;right:10px;top:50%;transform:translateY(-50%)}.filterable{cursor:pointer}.filtered{color:var(--color-primary);font-weight:700}.star-button{background-color:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;font-size:var(--font-sm);font-weight:600;padding:5px 12px;transition:background-color .2s ease,border-color .2s ease;white-space:nowrap}.star-button:hover{background-color:var(--border)}@media screen and (max-width:768px){.requests{margin:var(--space-sm);padding:var(--space-md)}.requests-table{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto}.requests-table td,.requests-table th{font-size:var(--font-sm);padding:10px 8px}.search-container{align-items:stretch;flex-direction:column}.search-input{flex:1 1 auto;width:100%}.search-button{width:100%}}.job-page{font-family:var(--font-family);margin:0;padding:0}.top-bar{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-lg)}.top-bar-button{background-color:var(--color-primary);border:none;border-radius:var(--radius-sm);color:var(--text-white);cursor:pointer;font-size:var(--font-base);font-weight:600;padding:9px 16px;transition:background-color .2s ease;white-space:nowrap}.top-bar-button:hover{background-color:var(--color-primary-hover)}.top-bar-button:active{background-color:var(--color-primary-active)}.job-details{background-color:var(--bg-alt);border-radius:var(--radius-md);box-shadow:var(--shadow-md);margin:var(--space-lg) 0;padding:var(--space-lg)}.job-details h2{color:var(--color-primary);margin-bottom:var(--space-sm);margin-top:0}.job-details p{color:var(--text-primary);font-size:var(--font-base);margin:5px 0}.update-po-form{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-lg)}.po-input{background-color:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);flex:1 1 180px;font-size:var(--font-base);padding:10px 12px;transition:border-color .2s ease}.po-input:focus{border-color:var(--color-primary);outline:none}.po-button{background-color:var(--color-primary-active);border:none;border-radius:var(--radius-sm);color:var(--text-white);cursor:pointer;flex:0 0 auto;font-size:var(--font-base);font-weight:600;padding:10px 20px;transition:background-color .2s ease;white-space:nowrap}.po-button:hover{background-color:var(--color-primary-hover)}.po-button:active{background-color:var(--color-primary)}.job-notes-container{display:flex;gap:var(--space-lg);justify-content:space-between;margin:0 var(--space-sm)}.notes-section{background-color:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);flex:1 1;max-height:400px;overflow-y:auto;padding:var(--space-md)}.notes-section h3{color:var(--color-primary);margin-top:0}.notes-textarea{background-color:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);box-sizing:border-box;font-family:var(--font-family);font-size:var(--font-base);height:60px;margin-bottom:var(--space-sm);padding:var(--space-sm);resize:vertical;transition:border-color .2s ease;width:100%}.notes-textarea:focus{border-color:var(--color-primary);outline:none}.notes-button{background-color:var(--color-primary);border:none;border-radius:var(--radius-sm);color:var(--text-white);cursor:pointer;font-size:var(--font-base);font-weight:600;margin-bottom:var(--space-sm);padding:9px 16px;transition:background-color .2s ease}.notes-button:hover{background-color:var(--color-primary-hover)}.notes-list{list-style-type:none;margin:0;padding:0}.note-item{background-color:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:var(--space-sm);padding:var(--space-sm) var(--space-md)}.note-item p{color:var(--text-primary);font-size:var(--font-base);margin:4px 0}.centered-button-container{align-items:center;display:flex;justify-content:center}@media screen and (max-width:768px){.job-notes-container,.update-po-form{flex-direction:column}.po-button{width:100%}.notes-textarea{height:80px}.top-bar{flex-direction:column}.top-bar-button{width:100%}}.tasks-page{background-color:var(--bg-page);min-height:100vh}.tasks-table{background-color:var(--bg-card);border-collapse:collapse;box-shadow:var(--shadow-sm);width:100%}.tasks-table th{background-color:var(--bg-alt);border-bottom:2px solid var(--border-alt);font-size:var(--font-base);font-weight:600;padding:12px;text-align:left}.tasks-table td{border-bottom:1px solid var(--border-alt);padding:12px;vertical-align:top}.tasks-table tr:hover{background-color:var(--bg-alt)}.job-header-row{background-color:#e3f2fd!important;border-bottom:2px solid var(--border-alt)!important;cursor:pointer}.job-header-row:hover{background-color:#bbdefb!important}.collapse-icon{color:var(--text-primary)!important;font-size:var(--font-md);font-weight:700!important;transition:transform .2s ease;-webkit-user-select:none;user-select:none}.collapse-icon.collapsed{transform:rotate(-90deg)}.job-header-row .collapse-icon{color:#1976d2!important;font-weight:900!important;text-shadow:1px 1px 2px #0003}.job-header-row:hover .collapse-icon{color:#0d47a1!important}.task-row{border-bottom:1px solid var(--border-alt)}.task-row:hover{background-color:var(--bg-alt)}.task-cell-indented{padding-left:30px}.progress-bar{background-color:#e0e0e0;border-radius:10px;height:20px;overflow:hidden;position:relative}.progress-fill{border-radius:10px;height:100%;transition:width .3s ease}.progress-text{font-size:var(--font-sm);font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.task-action-btn{border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-sm);font-weight:600;margin:2px;padding:var(--space-xs) var(--space-sm);transition:background-color .2s ease}.complete-btn{background-color:var(--color-primary);color:var(--text-white)}.complete-btn:hover{background-color:var(--color-primary-hover)}.update-btn{background-color:var(--color-accent);color:var(--text-white)}.update-btn:hover{background-color:var(--color-accent-hover)}.view-job-btn{background-color:var(--color-warning);color:var(--text-white)}.view-job-btn:hover{background-color:#e65100}.job-action-btn{background-color:var(--color-warning);border:none;border-radius:var(--radius-sm);color:var(--text-white);cursor:pointer;font-size:var(--font-sm);font-weight:700;padding:6px 12px;transition:background-color .2s ease}.job-action-btn:hover{background-color:#e65100}.task-notes{border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-family);font-size:var(--font-sm);min-height:40px;padding:6px;resize:vertical;transition:border-color .2s ease;width:100%}.task-notes:focus{border-color:var(--color-primary);outline:none}.filters-container{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-md);margin-bottom:var(--space-lg)}.filter-input,.filter-select{background-color:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-base);padding:var(--space-sm) 12px;transition:border-color .2s ease}.filter-input:focus,.filter-select:focus{border-color:var(--color-primary);outline:none}.metrics-container{background-color:var(--bg-alt);border:1px solid var(--border-alt);border-radius:var(--radius-md);margin-bottom:var(--space-lg);padding:var(--space-lg)}.metric-bar{margin-bottom:var(--space-md)}.metric-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-xs)}.metric-label{font-size:var(--font-base);font-weight:700}.metric-value{color:var(--text-secondary);font-size:var(--font-sm)}.job-summary{font-size:var(--font-md);font-weight:700;margin-bottom:5px}.job-task-count{color:var(--text-muted);font-size:var(--font-sm)}@media (max-width:768px){.tasks-table{-webkit-overflow-scrolling:touch;display:block;font-size:var(--font-sm);overflow-x:auto}.tasks-table td,.tasks-table th{padding:var(--space-sm)}.filters-container{align-items:stretch;flex-direction:column}.filter-input,.filter-select{width:100%}.task-cell-indented{padding-left:20px}}
/*# sourceMappingURL=main.ab4e210c.css.map*/