.status-badge.needs-ordering{background-color:#ffe5e5;color:#b40000;border:1px solid #ff8a8a;padding:4px 10px;border-radius:6px;font-weight:600;display:inline-block}.status-text{color:var(--text-dark, #1f2933);font-weight:500}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:var(--text, #1f2933);background-color:var(--app-bg, #f5f6fa);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:var(--accent, #f58220);text-decoration:inherit}a:hover{color:var(--accent-hover, #d76c17)}body{margin:0;min-width:320px;min-height:100vh;background:var(--app-bg, #f5f6fa)}:root{--toastify-color-light: #fff;--toastify-color-dark: #121212;--toastify-color-info: #3498db;--toastify-color-success: #07bc0c;--toastify-color-warning: #f1c40f;--toastify-color-error: hsl(6, 78%, 57%);--toastify-color-transparent: rgba(255, 255, 255, .7);--toastify-icon-color-info: var(--toastify-color-info);--toastify-icon-color-success: var(--toastify-color-success);--toastify-icon-color-warning: var(--toastify-color-warning);--toastify-icon-color-error: var(--toastify-color-error);--toastify-container-width: fit-content;--toastify-toast-width: 320px;--toastify-toast-offset: 16px;--toastify-toast-top: max(var(--toastify-toast-offset), env(safe-area-inset-top));--toastify-toast-right: max(var(--toastify-toast-offset), env(safe-area-inset-right));--toastify-toast-left: max(var(--toastify-toast-offset), env(safe-area-inset-left));--toastify-toast-bottom: max(var(--toastify-toast-offset), env(safe-area-inset-bottom));--toastify-toast-background: #fff;--toastify-toast-padding: 14px;--toastify-toast-min-height: 64px;--toastify-toast-max-height: 800px;--toastify-toast-bd-radius: 6px;--toastify-toast-shadow: 0px 4px 12px rgba(0, 0, 0, .1);--toastify-font-family: sans-serif;--toastify-z-index: 9999;--toastify-text-color-light: #757575;--toastify-text-color-dark: #fff;--toastify-text-color-info: #fff;--toastify-text-color-success: #fff;--toastify-text-color-warning: #fff;--toastify-text-color-error: #fff;--toastify-spinner-color: #616161;--toastify-spinner-color-empty-area: #e0e0e0;--toastify-color-progress-light: linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55);--toastify-color-progress-dark: #bb86fc;--toastify-color-progress-info: var(--toastify-color-info);--toastify-color-progress-success: var(--toastify-color-success);--toastify-color-progress-warning: var(--toastify-color-warning);--toastify-color-progress-error: var(--toastify-color-error);--toastify-color-progress-bgo: .2}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translate3d(0,0,var(--toastify-z-index));position:fixed;width:var(--toastify-container-width);box-sizing:border-box;color:#fff;display:flex;flex-direction:column}.Toastify__toast-container--top-left{top:var(--toastify-toast-top);left:var(--toastify-toast-left)}.Toastify__toast-container--top-center{top:var(--toastify-toast-top);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--top-right{top:var(--toastify-toast-top);right:var(--toastify-toast-right);align-items:end}.Toastify__toast-container--bottom-left{bottom:var(--toastify-toast-bottom);left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{bottom:var(--toastify-toast-bottom);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--bottom-right{bottom:var(--toastify-toast-bottom);right:var(--toastify-toast-right);align-items:end}.Toastify__toast{--y: 0;position:relative;touch-action:none;width:var(--toastify-toast-width);min-height:var(--toastify-toast-min-height);box-sizing:border-box;margin-bottom:1rem;padding:var(--toastify-toast-padding);border-radius:var(--toastify-toast-bd-radius);box-shadow:var(--toastify-toast-shadow);max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);z-index:0;display:flex;flex:1 auto;align-items:center;word-break:break-word}@media only screen and (max-width:480px){.Toastify__toast-container{width:100vw;left:env(safe-area-inset-left);margin:0}.Toastify__toast-container--top-left,.Toastify__toast-container--top-center,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translate(0)}.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translate(0)}.Toastify__toast-container--rtl{right:env(safe-area-inset-right);left:initial}.Toastify__toast{--toastify-toast-width: 100%;margin-bottom:0;border-radius:0}}.Toastify__toast-container[data-stacked=true]{width:var(--toastify-toast-width)}.Toastify__toast--stacked{position:absolute;width:100%;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s}.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body,.Toastify__toast--stacked[data-collapsed] .Toastify__close-button{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{content:"";position:absolute;left:0;right:0;height:calc(var(--g) * 1px);bottom:100%}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{content:"";position:absolute;left:0;right:0;bottom:0;height:100%;transform:scaleY(3);z-index:-1}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-icon{margin-inline-end:10px;width:22px;flex-shrink:0;display:flex}.Toastify--animate{animation-fill-mode:both;animation-duration:.5s}.Toastify--animate-icon{animation-fill-mode:both;animation-duration:.3s}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--light,.Toastify__toast-theme--colored.Toastify__toast--default{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;position:absolute;top:6px;right:6px;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;z-index:1}.Toastify__toast--rtl .Toastify__close-button{left:6px;right:unset}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:100%;z-index:1;opacity:.7;transform-origin:left}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:initial;transform-origin:right;border-bottom-left-radius:initial}.Toastify__progress-bar--wrp{position:absolute;overflow:hidden;bottom:0;left:0;width:100%;height:5px;border-bottom-left-radius:var(--toastify-toast-bd-radius);border-bottom-right-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{opacity:var(--toastify-color-progress-bgo);width:100%;height:100%}.Toastify__spinner{width:20px;height:20px;box-sizing:border-box;border:2px solid;border-radius:100%;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);animation:Toastify__spin .65s linear infinite}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--top-left,.Toastify__bounce-enter--bottom-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--top-right,.Toastify__bounce-enter--bottom-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--top-left,.Toastify__bounce-exit--bottom-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--top-right,.Toastify__bounce-exit--bottom-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0) scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0) perspective(400px)}30%{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(-20deg);opacity:1}to{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(110%,var(--y),0)}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(-110%,var(--y),0)}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.Toastify__slide-enter--top-left,.Toastify__slide-enter--bottom-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--top-right,.Toastify__slide-enter--bottom-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--top-left,.Toastify__slide-exit--bottom-left{animation-name:Toastify__slideOutLeft;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-right,.Toastify__slide-exit--bottom-right{animation-name:Toastify__slideOutRight;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown;animation-timing-function:ease-in;animation-duration:.3s}@keyframes Toastify__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:root{--accent: #f58220;--accent-hover: #d76c17;--accent-surface: #fff4e6;--accent-outline: rgba(245, 130, 32, .24);--accent-soft: rgba(245, 130, 32, .12);--app-bg: #f5f6fa;--bg: #ffffff;--bg-muted: #f0f2f5;--text: #1f2933;--text-light: #667085;--border: #d0d5dd;--error: #dc3545;--error-hover: #b52a37;--error-soft: rgba(220, 53, 69, .12);--success: #198754;--success-hover: #157347;--success-soft: rgba(25, 135, 84, .12);--info: #0d6efd;--info-hover: #0b5ed7;--info-soft: rgba(13, 110, 253, .12);--neutral: #6c757d;--neutral-hover: #5c636a;--neutral-soft: rgba(108, 117, 125, .12);--radius: 10px;--radius-sm: 6px;--shadow: 0 6px 18px rgba(15, 23, 42, .08);--shadow-sm: 0 2px 8px rgba(15, 23, 42, .08);--shadow-xs: 0 1px 3px rgba(15, 23, 42, .08);--transition: all .2s ease}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,Arial,sans-serif;background:var(--app-bg);color:var(--text);transition:var(--transition)}.text-blue-500{color:#0ea5e9}.text-yellow-500{color:#f59e0b}.text-orange-500{color:#f97316}.text-green-500{color:#10b981}.text-gray-500{color:#6b7280}.text-gray-400{color:#9ca3af}.text-red-500{color:#ef4444}.page-container{max-width:1200px;margin:0 auto;padding:20px 5%;background:var(--bg);border-radius:var(--radius);box-shadow:var(--shadow)}.page-title{border-bottom:3px solid var(--accent);padding-bottom:6px;margin-bottom:20px;color:var(--text);font-size:1.4rem;font-weight:600}.table-wrapper{overflow-x:auto;width:100%}table{width:100%;border-collapse:collapse;font-size:14px}th,td{padding:10px;text-align:left;border-bottom:1px solid var(--border)}th{background-color:var(--accent);color:#fff;font-weight:700}.empty-row{text-align:center;color:var(--text-light);padding:20px}button{font-family:inherit;cursor:pointer;border-radius:var(--radius-sm);transition:var(--transition)}button:hover{filter:brightness(.9)}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.google-signin-button{display:inline-flex;align-items:center;gap:12px;padding:12px 26px;background:#fff;color:#3c4043;font-weight:600;border-radius:999px;border:1px solid rgba(60,64,67,.3);box-shadow:0 1px 2px #0003,0 1px 3px #0000001a;filter:none}.google-signin-button:hover{background:#f7f8f9;border-color:#3c404380;box-shadow:0 2px 4px #0000003d,0 4px 6px #0000001f;filter:none}.google-signin-button:focus-visible{outline:2px solid #4285f4;outline-offset:4px}.google-signin-button .google-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px}.google-signin-button .google-label{font-size:.95rem}input,textarea,select{border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px;font-size:14px;width:100%;background:var(--bg);color:var(--text)}input:focus,textarea:focus,select:focus{outline:2px solid var(--accent)}@media(max-width:768px){.page-container{padding:15px}th,td{padding:8px;font-size:13px}}.navbar{display:flex;justify-content:space-between;align-items:center;width:100%;background:var(--accent);color:#fff;padding:12px 40px;box-sizing:border-box;position:sticky;top:0;z-index:1000;box-shadow:var(--shadow-sm);border-bottom:1px solid rgba(255,255,255,.25);transition:var(--transition)}.navbar-logo{display:flex;align-items:center;gap:10px}.navbar-logo img{height:45px;border-radius:8px}.navbar-logo h1{font-size:18px;margin:0;color:#fff}.navbar-logo p{font-size:13px;margin:0;color:#ffffffbf}.navbar-links{display:flex;gap:22px;flex-wrap:wrap}.navbar-links a{color:#fff;text-decoration:none;font-weight:600;font-size:15px;transition:color .2s ease,border-bottom .2s ease;padding-bottom:2px}.navbar-links a:hover{color:#ffffffd9}.navbar-links a:focus-visible{outline:2px solid #fff;outline-offset:4px;border-radius:4px}.navbar-links a.active{color:#fff;border-bottom:2px solid rgba(255,255,255,.85)}.navbar-actions{display:flex;align-items:center;gap:12px}.user-info{display:flex;align-items:center;font-weight:600;color:#fff;font-size:14px}.user-name{display:flex;align-items:center;gap:6px}.role-badge{display:inline-block;padding:2px 8px;margin-left:4px;border-radius:6px;font-size:.75rem;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.5px}.role-badge.admin{background-color:var(--error)}.role-badge.mechanic{background-color:var(--info)}.signout-btn{border:none;border-radius:6px;padding:6px 12px;font-weight:600;cursor:pointer;transition:all .2s ease}.signout-btn{background:var(--error);color:#fff}.signout-btn:hover{background:var(--error-hover)}.signout-btn:focus-visible{outline:2px solid #fff;outline-offset:2px}.nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;padding:2px 8px;margin-left:6px;border-radius:999px;background:var(--error);color:#fff;font-size:.75rem;font-weight:700;line-height:1;box-shadow:var(--shadow-xs)}@media(max-width:1024px){.navbar{padding:10px 24px}.navbar-links{gap:16px}}@media(max-width:768px){.navbar{flex-direction:column;align-items:flex-start;padding:10px 16px}.navbar-links{flex-wrap:wrap;gap:10px;margin-top:8px}.navbar-actions{margin-top:10px;flex-wrap:wrap}.navbar-links a{font-size:14px}.user-info{margin-bottom:6px}}@media(max-width:480px){.navbar-logo img{height:40px}.navbar-logo h1{font-size:16px}.navbar-logo p{font-size:12px}.user-info{font-size:13px}.role-badge{font-size:.7rem;padding:1px 6px}}.layout-wrapper{display:flex;justify-content:center;width:100%;min-height:100vh;background:var(--app-bg);padding:40px 60px;box-sizing:border-box}.layout-content{width:100%;max-width:1200px;background:var(--bg);border-radius:12px;box-shadow:var(--shadow);padding:32px;box-sizing:border-box;transition:all .3s ease}.layout-content h1,.layout-content h2,.layout-content h3{color:var(--text);margin-top:0}.layout-content input,.layout-content textarea,.layout-content select,.layout-content button{font-family:inherit}@media(max-width:1200px){.layout-wrapper{padding:30px 40px}}@media(max-width:1024px){.layout-wrapper{padding:25px 30px}.layout-content{padding:24px;max-width:95%}}@media(max-width:768px){.layout-wrapper{padding:15px}.layout-content{padding:18px;max-width:100%;border-radius:10px}}@media(max-width:480px){.layout-content{padding:14px;border-radius:8px}.layout-content h2{font-size:1.2rem}.layout-content button{width:100%;margin-top:10px}input,textarea,select{font-size:14px}}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:15px;margin-bottom:25px}.metric-card{background:var(--bg, #fff);border:1px solid var(--border, #ddd);border-radius:var(--radius, 8px);padding:16px;text-align:center;box-shadow:var(--shadow, 0 2px 6px rgba(0, 0, 0, .05))}.metric-title{font-size:13px;color:var(--text-light, #666)}.metric-value{font-size:22px;font-weight:700}.time-controls{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px;align-items:center}.job-input,.note-input{padding:10px 12px;border:1px solid var(--border, #ccc);border-radius:var(--radius, 8px);background:var(--bg, #fff);color:var(--text, #333);min-width:200px;flex:1;font-size:14px;box-sizing:border-box}.btn{border:none;border-radius:var(--radius, 8px);color:#fff;font-weight:600;cursor:pointer;padding:10px 18px;transition:var(--transition, all .2s ease);box-shadow:var(--shadow-sm, 0 2px 4px rgba(0, 0, 0, .1))}.btn.orange{background:var(--accent, #f58220)}.btn:hover{filter:brightness(.9)}.time-divider{border:none;border-top:3px solid #ff7b00;margin:1.25rem 0;width:100%}.time-table{width:100%;border-collapse:collapse;font-size:14px;border-radius:var(--radius, 8px);overflow:hidden;box-shadow:var(--shadow, 0 2px 6px rgba(0, 0, 0, .05))}.time-table th,.time-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border, #ddd)}.time-table th{background:var(--accent, #f58220);color:#fff;font-weight:600;white-space:nowrap}.empty-row{text-align:center;color:var(--text-light, #777);padding:24px 10px;font-size:14px}@media(max-width:1024px){.time-controls{gap:8px}}@media(max-width:768px){.metric-card{padding:12px}.btn{width:100%}.time-table th,.time-table td{padding:8px;font-size:13px}.time-controls{flex-direction:column;align-items:stretch}}.modal-backdrop{position:fixed;inset:0;background:#0006;display:flex;justify-content:center;align-items:center}.modal{background:#fff;padding:1.5rem;border-radius:10px;width:400px;box-shadow:0 4px 10px #0000004d}.modal-actions{margin-top:1rem;display:flex;justify-content:space-between}.modal label{display:block;margin-top:.5rem}.parts-container{display:grid;grid-template-columns:260px 1fr;min-height:calc(100vh - 120px);background:var(--app-bg);gap:0}.parts-sidebar{background:var(--bg);border-right:1px solid var(--border);padding:24px 20px;position:sticky;top:0;align-self:start;height:100%}.parts-sidebar-header h1{margin:0 0 6px;font-size:22px;color:var(--text)}.parts-sidebar-header p{margin:0 0 18px;color:var(--text-light);font-size:14px;line-height:1.4}.parts-nav-links{display:flex;flex-direction:column;gap:10px}.parts-nav-link{display:block;border:1px solid var(--border);border-radius:10px;padding:12px 14px;font-weight:600;color:var(--text);text-decoration:none;background:var(--bg);transition:background .2s ease,color .2s ease,border-color .2s ease}.parts-nav-link:hover{background:var(--bg-muted)}.parts-nav-link.active{background:var(--accent-surface);border-color:var(--accent);color:var(--accent-hover)}.parts-main{padding:28px 32px}.parts-bottom-nav{position:sticky;bottom:0;display:none;gap:12px;background:var(--bg);border-top:1px solid var(--border);padding:12px 16px;z-index:10}.parts-bottom-link{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;text-decoration:none;color:var(--text);background:var(--bg-muted);border:1px solid var(--border);border-radius:999px;padding:10px 14px;transition:background .2s ease,color .2s ease,border-color .2s ease}.parts-bottom-link.active{background:var(--accent-surface);border-color:var(--accent);color:var(--accent-hover)}.parts-panel{background:var(--bg);border-radius:14px;box-shadow:0 12px 30px #0f172a14;padding:28px;border:1px solid var(--border)}@media(max-width:1024px){.parts-container{grid-template-columns:220px 1fr}.parts-main{padding:24px}}@media(max-width:768px){.parts-container{grid-template-columns:1fr}.parts-sidebar{position:relative;border-right:none;border-bottom:1px solid var(--border);padding-bottom:18px}.parts-main,.parts-panel{padding:20px}.parts-bottom-nav{display:flex}}.add-job-form{background:var(--bg);padding:24px;border-radius:12px;max-width:650px;margin:20px auto;display:flex;flex-direction:column;gap:14px;box-shadow:0 0 10px #0000000d}.add-job-form h2{font-size:22px;font-weight:700;color:var(--text);margin-bottom:8px}.add-job-form label{font-weight:600;color:var(--text)}.add-job-form input,.add-job-form select,.add-job-form textarea{border:1px solid var(--border);border-radius:8px;padding:8px 10px;font-size:15px;color:var(--text);background:var(--bg-muted);width:100%;box-sizing:border-box}.add-job-form input:focus,.add-job-form textarea:focus,.add-job-form select:focus{outline:none;border-color:var(--accent);background:var(--bg)}.add-job-form select:disabled{opacity:.6;cursor:not-allowed}.add-job-form .btn.blue{background:var(--accent);color:#fff;font-weight:700;border:none;border-radius:8px;padding:10px;margin-top:16px;cursor:pointer;transition:background .2s ease}.add-job-form .btn.blue:hover{background:var(--accent-hover)}.add-job-form .btn.blue:disabled{opacity:.7;cursor:not-allowed}.customer-lookup-wrapper{display:flex;align-items:center;gap:8px}.customer-lookup-wrapper input{flex:1}.customer-name-lookup{display:flex;gap:8px;align-items:flex-start;position:relative}.customer-input-wrapper{position:relative;flex:1}.customer-suggestions{position:absolute;background:#fff;border:1px solid #ccc;width:100%;max-height:150px;overflow-y:auto;z-index:20;border-radius:6px;list-style:none;margin-top:2px;padding:0}.customer-suggestions li{padding:8px;cursor:pointer}.customer-suggestions li:hover{background-color:#f2f2f2}.lookup-btn{background-color:#007bff;color:#fff;border:none;padding:8px 12px;border-radius:6px;cursor:pointer}.lookup-btn:hover{background-color:#0056b3}.autocomplete-wrapper{position:relative;width:100%}.suggestions-list{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #ddd;border-radius:8px;list-style:none;margin:4px 0 0;padding:0;z-index:999;max-height:220px;overflow-y:auto;box-shadow:0 2px 10px #00000014}.suggestions-list li{padding:10px 12px;cursor:pointer}.suggestions-list li:hover{background:#f0f4ff}.suggestions-list .dim,.dim{color:#777;font-style:italic}.modal-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal{background:#fff;border-radius:12px;width:90%;max-width:500px;padding:1.5rem 1.5rem 1.2rem;box-shadow:0 6px 20px #00000026;position:relative;animation:fadeIn .25s ease}.modal h3{font-size:1.2rem;font-weight:700;margin-bottom:.8rem;color:#222}.modal input[type=text],.modal textarea,.modal select{width:100%;padding:10px 12px;border:1px solid #ccc;border-radius:6px;font-size:15px;outline:none;transition:border-color .2s ease}.modal input[type=text]:focus{border-color:#f80}.customer-list{list-style:none;padding:0;margin:0;max-height:300px;overflow-y:auto}.customer-list li{padding:10px 14px;border-bottom:1px solid #eee;cursor:pointer;transition:background-color .15s ease}.customer-list li:hover{background-color:#f8f8f8}.modal button.btn-danger{background-color:#d9534f;border:none;color:#fff;padding:8px 16px;border-radius:6px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.modal button.btn-danger:hover{background-color:#c9302c}.lookup-btn{background-color:#f80;color:#fff;font-weight:600;border:none;border-radius:6px;padding:0 14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease}.lookup-btn:hover{background-color:#e57700}@keyframes fadeIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.summary-cards{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:24px;justify-content:flex-start}.report-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:flex-start;margin-bottom:20px}.report-controls label{font-weight:600;color:var(--text)}.report-controls input,.report-controls select,.filter-select,.search-input{padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius, 8px);background:var(--bg);color:var(--text);font-size:14px;box-sizing:border-box;transition:border-color .2s ease,box-shadow .2s ease}.filter-select{min-width:180px;cursor:pointer}.filter-select:hover,.filter-select:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-outline)}.search-input{flex:2;min-width:240px}.search-input::placeholder{color:var(--text-light)}.search-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-outline)}.export-btn{background:var(--accent);color:#fff;border:none;border-radius:var(--radius, 8px);padding:10px 18px;font-weight:600;cursor:pointer;transition:var(--transition, all .2s ease);box-shadow:var(--shadow-sm)}.export-btn:hover{background:var(--accent-hover)}.reports-table{width:100%;border-collapse:collapse;font-size:14px;border-radius:var(--radius, 8px);overflow:hidden;box-shadow:var(--shadow);background:var(--bg)}.reports-table th,.reports-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border);vertical-align:middle}.reports-table th{background:var(--accent);color:#fff;font-weight:600;white-space:nowrap}.reports-table tr:hover{background-color:var(--accent-soft)}.status-pending{color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent);padding:2px 8px;border-radius:6px;font-weight:600;font-size:.85rem;text-transform:capitalize}.status-approved{color:var(--success);background:var(--success-soft);border:1px solid var(--success);padding:2px 8px;border-radius:6px;font-weight:600;font-size:.85rem;text-transform:capitalize}.status-denied{color:var(--error);background:var(--error-soft);border:1px solid var(--error);padding:2px 8px;border-radius:6px;font-weight:600;font-size:.85rem;text-transform:capitalize}.status-ordered{color:var(--info);background:var(--info-soft);border:1px solid var(--info);padding:2px 8px;border-radius:6px;font-weight:600;font-size:.85rem;text-transform:capitalize}.btn{display:inline-block;border:none;border-radius:6px;padding:6px 10px;font-size:13px;cursor:pointer;font-weight:500;transition:background-color .2s ease,transform .1s ease;box-shadow:var(--shadow-xs, 0 1px 3px rgba(0, 0, 0, .1))}.btn:hover{transform:translateY(-1px)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn.red{background:var(--error);color:#fff}.btn.red:hover{background:var(--error-hover)}.btn.green{background:var(--success);color:#fff}.btn.green:hover{background:var(--success-hover)}.btn.gray{background:var(--neutral);color:#fff}.btn.gray:hover{background:var(--neutral-hover)}.btn.blue{background:var(--info);color:#fff}.btn.blue:hover{background:var(--info-hover)}.btn.orange{background:var(--accent);color:#fff}.btn.orange:hover{background:var(--accent-hover)}.action-buttons{display:flex;flex-wrap:wrap;gap:8px}.action-buttons .btn{flex:1 0 auto}.editing-row{background-color:var(--accent-soft)}.inline-input{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius, 8px);font-size:14px;box-sizing:border-box;background:var(--bg);color:var(--text);transition:border-color .2s ease,box-shadow .2s ease}.inline-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-outline);outline:none}select.inline-input{appearance:none}.edit-details-row td{background:var(--bg);padding:16px}.inline-textarea-label{display:flex;flex-direction:column;gap:8px;color:var(--text);font-weight:500}.inline-textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius, 8px);background:var(--bg);color:var(--text);font-size:14px;resize:vertical;min-height:80px;transition:border-color .2s ease,box-shadow .2s ease}.inline-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-outline);outline:none}.admin-notes-display{white-space:pre-wrap;color:var(--text);font-size:.9rem}.request-primary{font-weight:600;color:var(--text)}.request-meta{font-size:.85rem;color:var(--text-light);margin-top:4px}.request-label{font-weight:600;color:var(--text);margin-right:4px}.reports-table textarea{width:100%;min-height:40px;border-radius:6px;border:1px solid var(--border);resize:vertical;font-family:inherit;font-size:13px;padding:4px 6px;color:var(--text);background:var(--bg)}.reports-table textarea:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-outline)}@media(max-width:1024px){.summary-cards{gap:12px}}@media(max-width:768px){.report-controls{flex-direction:column;align-items:stretch;gap:12px}.reports-table th,.reports-table td{padding:8px;font-size:13px}.export-btn,.btn,.filter-select,.search-input{width:100%;text-align:center}}.modal-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;padding:20px;z-index:1000}.modal-card{background:var(--bg, #fff);color:var(--text);width:min(900px,95vw);border-radius:var(--radius, 12px);box-shadow:var(--shadow-lg, 0 20px 40px rgba(0, 0, 0, .2));padding:24px;display:flex;flex-direction:column;gap:16px}.modal-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.modal-field{display:flex;flex-direction:column;gap:6px;color:var(--text);font-weight:500}.modal-field--full{grid-column:1 / -1}.modal-field input,.modal-field textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius, 8px);background:var(--bg);color:var(--text);font-size:14px;resize:vertical}.modal-field input:focus,.modal-field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-outline);outline:none}.modal-meta{display:flex;flex-direction:column;gap:4px;font-size:.85rem;color:var(--text-light)}.modal-meta__row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}.modal-meta__customer{margin-top:8px;padding:10px 12px;border-radius:10px;border:1px dashed rgba(148,163,184,.6);background:#94a3b81f;display:flex;flex-direction:column;gap:4px;transition:border-color .2s ease,background .2s ease}.modal-meta__customer.is-linked{border-style:solid;border-color:#22c55e66;background:#22c55e1f}.modal-meta__customer-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:#0f172a99}.modal-meta__customer-value{font-size:.95rem;color:var(--text)}.modal-meta__customer.is-placeholder .modal-meta__customer-value{color:var(--text-light);font-style:italic}.modal-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.modal-actions .btn{flex:1 0 140px}.status-pill{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-weight:600;font-size:.85rem;text-transform:capitalize;background:#0f172a0d}.status-pill.text-blue-500{background:#0ea5e91f}.status-pill.text-yellow-500{background:#f59e0b1f}.status-pill.text-orange-500{background:#f973161f}.status-pill.text-green-500{background:#10b9811f}.status-pill.text-gray-500,.status-pill.text-gray-400{background:#6b72801f}.status-pill.text-red-500{background:#ef44441f}@media(max-width:900px){.modal-fields{grid-template-columns:repeat(1,minmax(0,1fr))}}@media(max-width:600px){.modal-card{width:100%;padding:20px}.modal-actions .btn{flex:1 0 120px}}.admin-container{display:grid;grid-template-columns:260px 1fr;min-height:calc(100vh - 120px);background:var(--app-bg);gap:0}.admin-sidebar{background:var(--bg);border-right:1px solid var(--border);padding:24px 20px;position:sticky;top:0;align-self:start;height:100%}.admin-sidebar h2{margin:0 0 8px;font-size:22px;color:var(--text);font-weight:700}.admin-sidebar .welcome{margin:0 0 18px;color:var(--text-light);font-size:14px;line-height:1.4}.admin-subnav{display:flex;flex-direction:column;gap:10px}.admin-subnav button{display:flex;align-items:center;gap:10px;text-align:left;border:1px solid var(--border);border-radius:10px;padding:12px 14px;background:var(--bg);color:var(--text);cursor:pointer;font-weight:600;font-size:16px;font-family:Inter,sans-serif;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}.admin-subnav button:hover{background:var(--bg-muted);transform:translateY(-1px)}.admin-subnav button.active{background:var(--accent-surface);border-color:var(--accent);color:var(--accent-hover)}.nav-icon{font-size:18px;line-height:1}.nav-label{flex:1}.nav-count{margin-left:auto;background:var(--error);color:#fff;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700;line-height:1}.admin-main{padding:20px 24px}.placeholder-card{background:var(--bg-muted);border:1px solid var(--border);padding:20px;border-radius:10px;margin-top:16px}.report-controls{display:flex;gap:10px;align-items:center;margin-bottom:16px;flex-wrap:wrap}.filter-row{display:flex;align-items:center;gap:8px;margin-bottom:12px}.filter-row button,.report-controls .filter-select,.report-controls input[type=date]{border:1px solid var(--border);border-radius:8px;padding:8px 10px;background:var(--bg);color:var(--text)}.filter-row button{cursor:pointer;font-weight:600;color:var(--text)}.filter-row button.active{background:var(--accent-surface);border-color:var(--accent);color:var(--accent-hover)}.reports-table{width:100%;border-collapse:collapse;background:var(--bg);border-radius:10px;overflow:hidden;box-shadow:0 2px 6px #0000000d}.reports-table th,.reports-table td{padding:10px 12px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.reports-table th{background:var(--accent);color:#fff;font-weight:600;font-size:14px}textarea{width:100%;min-width:180px;border:1px solid var(--border);border-radius:6px;padding:6px;font-size:14px;resize:vertical;margin-bottom:4px;background:var(--bg);color:var(--text)}textarea:focus{border-color:var(--accent);outline:2px solid var(--accent);box-shadow:0 0 0 3px var(--accent-outline)}.btn{display:inline-block;border:none;border-radius:8px;padding:6px 10px;font-size:13px;cursor:pointer;font-weight:600;color:#fff;margin-right:6px;transition:all .2s ease}.btn.green{background:var(--success)}.btn.red{background:var(--error)}.btn.blue{background:var(--info)}.btn.orange{background:var(--accent)}.btn.gray{background:var(--neutral)}.btn:hover{opacity:.9;transform:translateY(-1px)}.empty-row{text-align:center;color:var(--text-light);padding:20px 0;font-style:italic}.page-title{margin:0 0 12px;color:var(--text);font-size:22px;font-weight:700}.calendar-tab{display:flex;flex-direction:column;gap:16px}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.calendar-subtitle{margin:4px 0 0;color:var(--text-light);font-size:.9rem}.calendar-toolbar-controls{display:flex;align-items:center;gap:10px}.calendar-range-label{font-weight:600;color:var(--text)}.calendar-range-select{border:1px solid var(--border);border-radius:8px;padding:8px 12px;background:var(--bg);color:var(--text);font-weight:600}.calendar-context{margin:0;color:var(--text-light);font-size:.95rem}.calendar-status-row{display:flex;gap:12px;flex-wrap:wrap;color:var(--text-light);font-size:.9rem}.calendar-status{display:inline-flex;align-items:center;gap:6px}.calendar-error{border:1px solid var(--error);background:#dc262614;color:var(--error);padding:12px 16px;border-radius:10px;line-height:1.5}.calendar-error p{margin:4px 0;color:inherit}.calendar-error-hint{font-size:.9rem;opacity:.85}.calendar-empty{border:1px dashed var(--border);background:var(--bg-muted);padding:24px;border-radius:12px;text-align:center;color:var(--text-light)}.calendar-filter-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}.calendar-filter-controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.calendar-legend{display:flex;align-items:center;flex-wrap:wrap;gap:14px}.calendar-legend-item{display:inline-flex;align-items:center;gap:8px;font-size:.85rem;color:var(--text-light)}.calendar-legend-dot{width:12px;height:12px;border-radius:50%;box-shadow:var(--shadow-xs, 0 1px 3px rgba(15, 23, 42, .08))}.calendar-legend-label{font-weight:600;color:var(--text)}.calendar-event-list{display:flex;flex-direction:column;gap:16px}.calendar-event-card{border-left:4px solid var(--accent);border-radius:14px;transition:var(--transition);box-shadow:var(--shadow-xs, 0 1px 3px rgba(15, 23, 42, .08));will-change:transform,box-shadow}.calendar-event-card:hover{transform:translateY(-2px) scale(1.01);box-shadow:var(--shadow, 0 6px 18px rgba(15, 23, 42, .08))}.calendar-event-card-content{gap:.75rem}.calendar-event-card-header{padding-bottom:4px;border-bottom:1px solid rgba(15,23,42,.06);display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.calendar-event-title-group{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.calendar-event-title{margin:0;font-size:1.05rem;font-weight:600;color:var(--text)}.calendar-event-link{font-weight:600;color:var(--accent);text-decoration:none;font-size:.9rem}.calendar-event-link:hover{text-decoration:underline}.calendar-event-datetime{display:flex;flex-wrap:wrap;gap:12px;font-size:.9rem;color:var(--text-light)}.calendar-event-date{font-weight:600;color:var(--text)}.calendar-event-time{color:var(--text-light)}.calendar-event-location,.calendar-event-description{margin:0;color:var(--text-light);font-size:.9rem}.calendar-event-location{display:inline-flex;align-items:center;gap:6px}.calendar-event-description{white-space:pre-wrap}.calendar-event-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.calendar-event-badges{display:flex;flex-wrap:wrap;gap:8px}.calendar-event-pill{text-transform:none}.calendar-event-pill--mechanic{background:#f973161f;color:#f97316}.calendar-event-source-badge{text-transform:none;letter-spacing:0}@media(max-width:900px){.admin-container{grid-template-columns:1fr}.admin-sidebar{position:relative;top:auto}.calendar-toolbar{flex-direction:column;align-items:flex-start}.calendar-toolbar-controls{width:100%;justify-content:flex-start}.calendar-filter-row{flex-direction:column;align-items:flex-start}.calendar-filter-controls{width:100%}.calendar-legend{justify-content:flex-start}}.summary-bar{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:12px;margin-bottom:16px}.summary-card{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:14px 16px;box-shadow:0 1px 2px #00000008;transition:all .2s ease}.summary-card:hover{transform:translateY(-2px);box-shadow:0 3px 6px #00000014}.summary-card-label{color:var(--text-light);font-weight:600;font-size:12px;margin-bottom:6px}.summary-card-value{font-size:22px;font-weight:800}.charts-grid{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:16px}.chart-card{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:14px 16px;transition:all .2s ease-in-out}.chart-card:hover{box-shadow:0 2px 8px #00000012}.chart-title{margin:0 0 8px;color:var(--text);font-size:16px;font-weight:700}.export-btn{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:10px 14px;font-weight:700;cursor:pointer;transition:background .2s ease,transform .2s ease}.export-btn:hover{background:var(--accent-hover);transform:translateY(-1px)}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-top:10px;margin-bottom:20px}.summary-card.orange{background:var(--accent-soft);border-left:6px solid var(--accent)}.summary-card.green{background:var(--success-soft);border-left:6px solid var(--success)}.summary-card.blue{background:var(--info-soft);border-left:6px solid var(--info)}.summary-card.red{background:var(--error-soft);border-left:6px solid var(--error)}.summary-card.gray{background:var(--neutral-soft);border-left:6px solid var(--neutral)}.summary-card.active{outline:3px solid var(--accent);box-shadow:0 0 0 3px var(--accent-outline);transform:translateY(-3px)}.summary-card h3{margin:0;font-size:14px;font-weight:600;color:var(--text)}.summary-card p{margin:4px 0 0;font-size:22px;font-weight:800;color:var(--text)}@media(max-width:1100px){.charts-grid{grid-template-columns:1fr}}@media(max-width:860px){.admin-container{grid-template-columns:1fr}.admin-sidebar{position:static;border-right:none;border-bottom:1px solid var(--border)}.summary-bar{grid-template-columns:repeat(2,1fr)}}.ai-cards-container{padding:1.5rem;background:#fafafa;border-radius:12px}.ai-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.2rem;margin-top:1rem}.ai-card{background:#fff;border-radius:10px;padding:1rem 1.2rem;box-shadow:0 1px 4px #0000001a;transition:transform .15s ease,box-shadow .15s ease}.ai-card:hover{transform:translateY(-3px);box-shadow:0 3px 10px #0000001f}.ai-card h3{margin-bottom:.5rem;color:#333}.ai-card p{margin:.3rem 0;color:#444}.ui-button{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.55rem 1.1rem;border-radius:var(--radius-sm, 6px);border:1px solid transparent;background:var(--accent, #f97316);color:#fff;font-size:.95rem;font-weight:600;line-height:1.1;cursor:pointer;transition:var(--transition, all .2s ease);box-shadow:var(--shadow-xs, 0 1px 3px rgba(15, 23, 42, .08))}.ui-button--outline{background:transparent;color:var(--accent, #f97316);border-color:currentColor;box-shadow:none}.ui-button--ghost{background:transparent;color:var(--text, #1f2933);border-color:transparent;box-shadow:none}.ui-button:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.ui-button:not(:disabled):hover{filter:brightness(.96);transform:translateY(-1px)}.ui-select{display:inline-flex;align-items:center;border-radius:var(--radius-sm, 6px);border:1px solid var(--border, #d0d5dd);background:var(--bg, #ffffff);color:var(--text, #1f2933);font-size:.95rem;padding:.55rem 2.4rem .55rem .85rem;min-width:220px;appearance:none;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 1.25rem) calc(50% - 4px),calc(100% - 1rem) calc(50% - 4px);background-size:6px 6px,6px 6px;background-repeat:no-repeat;transition:var(--transition, all .2s ease)}.ui-select:focus{outline:2px solid var(--accent, #f97316);outline-offset:2px}.ui-card{background:var(--bg, #ffffff);border-radius:var(--radius, 10px);border:1px solid rgba(15,23,42,.08);box-shadow:var(--shadow-xs, 0 1px 3px rgba(15, 23, 42, .08));transition:var(--transition, all .2s ease);overflow:hidden}.ui-card__content{padding:1rem;display:flex;flex-direction:column;gap:.75rem}.ui-badge{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;border-radius:999px;font-size:.75rem;font-weight:600;padding:.25rem .65rem;text-transform:none;letter-spacing:.01em}.ui-badge--solid{background:var(--accent, #f97316);color:#fff}.ui-badge--soft{background:var(--accent-soft, rgba(249, 115, 22, .15));color:var(--accent, #f97316)}.ui-badge--outline{background:transparent;border:1px solid var(--border, #d0d5dd);color:var(--text-light, #667085)}.jobs-list-page{display:flex;flex-direction:column;gap:24px;padding:24px 32px}.jobs-list-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.jobs-header-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.jobs-list-header h1{margin:0 0 6px;font-size:28px;color:var(--text, #0f172a)}.jobs-list-header p{margin:0;color:var(--text-light, #64748b);font-size:15px}.jobs-primary-action{display:inline-flex;align-items:center;gap:8px;background:var(--accent, #f97316);color:#fff;padding:10px 18px;border-radius:8px;text-decoration:none;font-weight:600;transition:transform .15s ease,box-shadow .15s ease}.jobs-primary-action:hover{transform:translateY(-1px);box-shadow:0 8px 20px #f9731659}.jobs-secondary-link{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:8px;border:1px solid var(--border, #e2e8f0);color:var(--accent, #f97316);background:transparent;text-decoration:none;font-weight:600;transition:border-color .15s ease,color .15s ease}.jobs-secondary-link:hover{border-color:currentColor;color:var(--accent-strong, #ea580c)}.jobs-table-card{background:var(--bg, #fff);border-radius:14px;border:1px solid var(--border, #e2e8f0);box-shadow:0 12px 30px #0f172a14;overflow:hidden}.jobs-table-wrapper{width:100%;overflow-x:auto}.jobs-table{width:100%;border-collapse:collapse;min-width:760px}.jobs-table thead{background:var(--bg-muted, #f8fafc)}.jobs-table th,.jobs-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--border, #e2e8f0);font-size:14px}.jobs-table th{text-transform:uppercase;letter-spacing:.04em;font-size:12px;color:var(--text-light, #64748b);font-weight:600}.jobs-table tbody tr:hover{background:#0f172a08}.jobs-description{max-width:340px;color:var(--text, #1f2937)}.jobs-secondary-action{display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;border-radius:8px;border:1px solid var(--border, #e2e8f0);background:transparent;text-decoration:none;font-weight:600;color:var(--accent, #f97316);cursor:pointer}.jobs-secondary-action:hover{border-color:currentColor}.jobs-table-actions{text-align:right;white-space:nowrap}.jobs-error{background:#ef44441f;color:#b91c1c;padding:12px 16px;border-radius:10px;border:1px solid rgba(239,68,68,.3)}.jobs-empty{padding:40px;text-align:center;color:var(--text-light, #64748b);font-size:15px}@media(max-width:768px){.jobs-list-page{padding:20px}.jobs-table{min-width:640px}}.jobs-filter-bar{display:flex;align-items:center;margin-bottom:1rem;gap:.5rem}.jobs-filter-bar select{padding:6px 10px;border-radius:6px;border:1px solid #ccc}.status-pill{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:600}.status-open{background:#eef2ff;color:#1e3a8a}.status-in-progress{background:#fff7ed;color:#9a3412}.status-waiting{background:#fef3c7;color:#92400e}.status-scheduled{background:#e0f2fe;color:#0369a1}.status-onhold{background:#f3f4f6;color:#374151}.status-complete{background:#ecfdf5;color:#065f46}.status-closed{background:#fee2e2;color:#991b1b}.status-cancelled{background:#fee2f2;color:#be123c}.container{max-width:1100px;margin:0 auto;padding:16px}.card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000f;padding:16px;margin:12px 0}.title{font-size:22px;margin:0 0 8px}.meta{display:flex;gap:16px;flex-wrap:wrap;color:#4b5563}.meta-sm{margin-top:8px;color:#4b5563}.job-header{display:flex;justify-content:space-between;gap:24px}.job-header__left{flex:2}.job-header__right{flex:1;display:flex;flex-direction:column;align-items:flex-end;gap:12px}.job-header__right .totals{display:flex;gap:12px}.job-header__right .totals>div{background:#f9fafb;border-radius:8px;padding:8px 10px;text-align:center}.pre{white-space:pre-wrap;font-family:inherit}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.tabs{margin-top:12px}.tabs input{display:none}.tabs label{margin-right:8px;padding:8px 12px;border-radius:8px;background:#f3f4f6;cursor:pointer;font-weight:600;color:#374151}.tabs input:checked+label{background:#e5e7eb}.tab-content{margin-top:12px}.tab-panel{display:none}#tabOverview:checked~.tab-content #panelOverview,#tabParts:checked~.tab-content #panelParts,#tabTime:checked~.tab-content #panelTime{display:block}.table-wrapper{overflow-x:auto;margin-top:12px}.job-subtable{width:100%;border-collapse:collapse;font-size:14px}.job-subtable th,.job-subtable td{text-align:left;padding:8px 10px;border-bottom:1px solid #e5e7eb}.job-subtable th{background:#f9fafb;font-weight:600;color:#1f2937}.tab-total{margin-top:12px;font-weight:600;color:#1f2937}.btn-link{background:none;border:none;color:#1e3a8a;cursor:pointer;font-weight:600;padding:0}.btn-link:hover{text-decoration:underline}.job-detail-page{max-width:1100px;margin:0 auto;padding:24px;display:flex;flex-direction:column;gap:24px}.job-detail__back{background:none;border:none;color:#1e40af;cursor:pointer;font-weight:600;align-self:flex-start;padding:0}.job-detail__back:hover{text-decoration:underline}.job-detail__header-card{background:#fff;border-radius:16px;box-shadow:0 10px 30px #0f172a14;padding:24px;display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.job-detail__header-left{display:flex;flex-direction:column;gap:12px}.job-detail__title-row{display:flex;align-items:center;gap:12px}.job-detail__title-row h1{font-size:24px;font-weight:700;margin:0;color:#0f172a}.job-detail__description{margin:0;color:#64748b}.job-detail__meta{display:flex;flex-wrap:wrap;gap:16px;color:#475569;font-size:14px}.job-detail__invoice-btn{background:#1e40af;color:#fff;border:none;border-radius:999px;padding:12px 20px;font-weight:600;cursor:pointer;white-space:nowrap}.job-detail__invoice-btn:disabled{opacity:.6;cursor:not-allowed}.job-detail__totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px}.job-detail__total-card{background:#fff;border-radius:16px;box-shadow:0 12px 24px #0f172a0f;padding:20px;display:flex;flex-direction:column;gap:8px;color:#0f172a;text-transform:uppercase;letter-spacing:.04em;font-size:12px}.job-detail__total-card strong{font-size:20px;letter-spacing:normal}.job-detail__tabs{display:flex;gap:12px}.job-detail__tab-btn{border:none;background:#e2e8f0;color:#1f2937;padding:10px 18px;border-radius:12px;font-weight:600;cursor:pointer}.job-detail__tab-btn.is-active{background:#1e40af;color:#fff}.job-detail__card{background:#fff;border-radius:18px;box-shadow:0 12px 32px #0f172a14;padding:24px;display:flex;flex-direction:column;gap:24px}.job-detail__form{display:flex;flex-direction:column;gap:24px}.job-detail__form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.job-detail__field{display:flex;flex-direction:column;gap:6px;font-size:14px;color:#1f2937}.job-detail__field span{font-weight:600;color:#475569}.job-detail__field input,.job-detail__field select,.job-detail__field textarea{border:1px solid #e2e8f0;border-radius:10px;padding:10px 12px;font-size:14px;font-family:inherit;color:#0f172a}.job-detail__field input:disabled,.job-detail__field textarea:disabled{background:#f8fafc;color:#94a3b8}.job-detail__field--full{grid-column:1 / -1}.job-detail__info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;color:#334155}.job-detail__info-label{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8;margin-bottom:4px}.job-detail__work-card{background:#f8fafc;border-radius:12px;padding:16px;color:#1f2937}.job-detail__work-card h3{margin-top:0;margin-bottom:8px;font-size:16px}.job-detail__form-actions{display:flex;justify-content:flex-end}.job-detail__save{background:#1e40af;color:#fff;border:none;border-radius:999px;padding:10px 24px;font-weight:600;cursor:pointer}.job-detail__save:disabled{opacity:.6;cursor:not-allowed}.job-detail__section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.job-detail__section-heading h2{margin:0;font-size:20px}.job-detail__section-total{font-weight:600;color:#1f2937}.job-detail__stack{display:flex;flex-direction:column;gap:16px}.job-detail__item{border:1px solid #e2e8f0;border-radius:12px;padding:16px;background:#f8fafc;display:flex;flex-direction:column;gap:16px}.job-detail__item-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.job-detail__item-head h4{margin:0;font-size:16px}.job-detail__item-head p{margin:4px 0 0;color:#64748b;font-size:13px}.job-detail__item-amount{font-weight:700;color:#0f172a;font-size:16px}.job-detail__item-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;align-items:flex-end}.job-detail__item-meta{background:#fff;border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:4px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8}.job-detail__item-meta strong{font-size:16px;color:#0f172a}.job-detail__item-actions{display:flex;gap:8px}.job-detail__remove{background:none;border:1px solid #dc2626;color:#dc2626;border-radius:999px;padding:6px 16px;font-weight:600;cursor:pointer}.job-detail__inline-form{border-top:1px solid #e2e8f0;padding-top:16px;display:flex;flex-direction:column;gap:16px}.job-detail__inline-form h3{margin:0;font-size:18px}.job-detail__inline-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}@media(max-width:768px){.job-detail-page{padding:16px}.job-detail__header-card{flex-direction:column;align-items:stretch}.job-detail__invoice-btn{width:100%;justify-content:center}.job-detail__tabs{flex-wrap:wrap}.job-detail__tab-btn{flex:1 1 auto;text-align:center}}.job-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin:16px 0}.job-totals{display:flex;flex-wrap:wrap;gap:16px}.job-totals>div{min-width:140px;background:#f9fafb;border-radius:10px;padding:12px 16px;display:flex;flex-direction:column;gap:4px}.job-totals span{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#6b7280}.job-totals strong{font-size:16px;color:#111827}.overview-form .card{margin-bottom:12px}.field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px;font-size:14px;color:#374151}.field input,.field select,.field textarea,.job-subtable input,.job-subtable select,.job-subtable textarea{width:100%;border:1px solid #d1d5db;border-radius:8px;background:#fff;padding:8px 10px;font-family:inherit;font-size:14px}.job-subtable textarea{resize:vertical;min-height:44px}.stack{display:flex;flex-direction:column;gap:12px}.list-row{margin:0}.list-row__header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.list-row__header h4{margin:0;font-size:16px;color:#111827}.list-row__meta{margin:4px 0 0;font-size:13px;color:#6b7280}.list-row__amount{font-weight:600;font-size:16px;color:#111827}.list-row__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-top:12px}.list-row__meta-block{background:#f9fafb;border-radius:8px;padding:10px;display:flex;flex-direction:column;gap:4px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#6b7280}.list-row__meta-block strong{font-size:16px;color:#111827;letter-spacing:normal;text-transform:none}.list-row__actions{display:flex;gap:8px}.ghost{border:1px solid #d1d5db;border-radius:8px;background:transparent;color:#1f2937;font-weight:600;padding:6px 12px;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}.ghost:hover{background:#f3f4f6}.ghost.danger{border-color:#fca5a5;color:#b91c1c}.ghost.danger:hover{background:#fee2e2}.field input:focus,.field select:focus,.field textarea:focus,.job-subtable input:focus,.job-subtable select:focus,.job-subtable textarea:focus{outline:2px solid rgba(37,99,235,.25);border-color:#2563eb}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:12px}.primary{background:#1e40af;color:#fff;border:none;border-radius:999px;padding:8px 18px;font-weight:600;cursor:pointer;transition:background .2s ease}.primary:hover:not(:disabled){background:#1d4ed8}.primary:disabled{opacity:.6;cursor:not-allowed}.inline-form{margin-top:24px;background:#fff;border-radius:12px;box-shadow:0 1px 2px #0000000d;padding:16px}.inline-form h3{margin:0 0 12px;font-size:16px}.inline-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.field-wide{grid-column:1 / -1}.overview-hint{margin-top:12px;background:#f9fafb;border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:4px;font-size:14px;color:#374151}.job-toolbar .job-invoice-btn{align-self:flex-end}@media(max-width:900px){.job-toolbar{flex-direction:column;align-items:stretch}.job-toolbar .job-invoice-btn{width:100%;text-align:center}}@media(max-width:768px){.job-header{flex-direction:column}.job-header__right{align-items:flex-start}.job-header__right .totals{width:100%;justify-content:space-between}}.customer-modal__backdrop{position:fixed;inset:0;background:#0f172a8c;display:flex;align-items:center;justify-content:center;z-index:1200;padding:24px}.customer-modal{width:min(720px,100%);background:var(--bg, #ffffff);border-radius:16px;box-shadow:0 20px 45px #0f172a40;border:1px solid rgba(148,163,184,.3);max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.customer-modal__header{display:flex;align-items:center;justify-content:space-between;padding:20px 28px;border-bottom:1px solid rgba(148,163,184,.3)}.customer-modal__header h2{margin:0;font-size:1.4rem;color:var(--text, #111827)}.customer-modal__close{background:transparent;border:none;font-size:1.8rem;line-height:1;cursor:pointer;color:var(--text-light, #475569);transition:color .2s ease}.customer-modal__close:hover{color:var(--accent, #f97316)}.customer-modal__form{padding:0 28px 28px;overflow-y:auto}.customer-modal__error{background:#dc354514;border:1px solid #dc3545;border-radius:12px;color:#a71d2a;font-weight:600;margin-bottom:18px;padding:12px 16px}.customer-modal__grid{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.customer-modal__grid label{display:flex;flex-direction:column;gap:8px;font-size:.9rem;color:var(--text, #111827)}.customer-modal__grid input,.customer-modal__grid textarea,.customer-modal__grid select,.customer-modal__grid .ui-select{width:100%;border-radius:10px;border:1px solid var(--border, #d0d5dd);padding:10px 12px;font-size:.95rem;background:var(--bg, #ffffff);color:var(--text, #111827);transition:border-color .2s ease,box-shadow .2s ease}.customer-modal__grid input:focus,.customer-modal__grid textarea:focus,.customer-modal__grid select:focus{outline:none;border-color:var(--accent, #f97316);box-shadow:0 0 0 3px #f9731626}.customer-modal__notes{grid-column:span 2}.customer-modal__notes textarea{min-height:120px;resize:vertical}.customer-modal__address{grid-column:span 2}.customer-modal__checkbox{display:inline-flex!important;flex-direction:row!important;align-items:center;gap:10px!important;padding-top:6px}.customer-modal__checkbox input{width:auto;accent-color:var(--accent, #f97316)}.customer-modal__footer{margin-top:28px;display:flex;justify-content:flex-end;gap:12px;padding-top:20px;border-top:1px solid rgba(148,163,184,.25)}@media(max-width:640px){.customer-modal__grid{grid-template-columns:1fr}.customer-modal__notes,.customer-modal__address{grid-column:span 1}.customer-modal__form{padding:0 18px 22px}.customer-modal__header{padding:18px 18px 16px}}.job-view-container{display:flex;flex-direction:column;gap:24px;padding:24px 32px}.job-card{background:var(--bg, #fff);border-radius:16px;border:1px solid var(--border, #e2e8f0);box-shadow:0 12px 30px #0f172a14;padding:24px}.job-error{color:#b91c1c;background:#ef44441f;border-color:#ef444459}.job-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.job-header-actions{display:flex;align-items:center;gap:12px}.job-status-pill{display:inline-flex;align-items:center;padding:6px 12px;border-radius:999px;font-weight:600;background:#0f172a0d}.job-header h1{margin:4px 0;font-size:28px;color:var(--text, #0f172a)}.job-header p{margin:4px 0 0;color:var(--text-light, #64748b)}.job-back{display:inline-flex;align-items:center;color:var(--accent, #f97316);text-decoration:none;font-weight:600}.job-invoice-btn{background:var(--accent, #f97316);color:#fff;border:none;border-radius:10px;padding:12px 18px;font-weight:600;cursor:pointer;min-width:220px;transition:transform .15s ease,box-shadow .15s ease}.job-invoice-btn:disabled{opacity:.65;cursor:not-allowed;transform:none;box-shadow:none}.job-invoice-btn:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 12px 24px #f9731659}.job-controls{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 16px}.job-controls input[type=text]{flex:1 1 260px;min-width:220px;border:1px solid var(--border, #e2e8f0);border-radius:10px;padding:10px 14px;font-size:14px;background:var(--bg, #fff);color:var(--text, #0f172a)}.job-filters{display:flex;flex-wrap:wrap;gap:12px}.job-filters select{border:1px solid var(--border, #e2e8f0);border-radius:10px;padding:10px 14px;font-size:14px;background:var(--bg, #fff);color:var(--text, #0f172a);min-width:160px}.job-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;padding:18px 24px;background:var(--bg, #fff);border-radius:16px;border:1px solid var(--border, #e2e8f0);box-shadow:inset 0 1px #0f172a08}.job-totals-label{display:block;color:var(--text-light, #64748b);font-size:12px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.job-totals-value{font-size:20px;font-weight:700;color:var(--text, #0f172a)}.job-tabs{display:inline-flex;gap:12px;background:var(--bg, #fff);padding:8px;border-radius:999px;border:1px solid var(--border, #e2e8f0);align-self:flex-start}.job-tab{border:none;background:transparent;padding:10px 18px;border-radius:999px;font-weight:600;color:var(--text-light, #64748b);cursor:pointer;transition:background .2s ease,color .2s ease}.job-tab.active{background:var(--accent-surface, rgba(249, 115, 22, .12));color:var(--accent, #f97316)}.job-form{display:flex;flex-direction:column;gap:18px}.job-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.job-form label,.job-inline-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--text-light, #64748b);font-weight:600}.job-form input,.job-form select,.job-inline-form input,.job-inline-form select,.job-form textarea,.job-inline-form textarea{border:1px solid var(--border, #e2e8f0);border-radius:10px;padding:10px 12px;font-size:14px;background:var(--bg, #fff);color:var(--text, #0f172a)}.job-form textarea,.job-inline-form textarea{resize:vertical}.job-form-notes textarea,.job-form-notes input,.job-form-notes select{min-height:120px}.job-form-actions{display:flex;justify-content:flex-end;gap:12px}.job-save-btn{background:var(--accent, #f97316);color:#fff;border:none;border-radius:10px;padding:10px 18px;font-weight:600;cursor:pointer;min-width:140px}.job-save-btn:disabled{opacity:.7;cursor:not-allowed}.job-cancel-btn{border:1px solid var(--border, #e2e8f0);background:transparent;color:var(--text, #0f172a);border-radius:10px;padding:10px 18px;font-weight:600;cursor:pointer;min-width:120px}.job-actions{display:inline-flex;gap:8px}.job-view-btn,.job-edit-btn{border:none;background:transparent;color:var(--accent, #f97316);font-weight:600;cursor:pointer}.job-view-btn{color:#1e3a8a}.job-edit-panel{position:sticky;bottom:0;z-index:10}.job-edit-subtitle{margin:8px 0 16px;color:var(--text-light, #64748b)}.job-edit-error{margin-bottom:16px;padding:10px 14px;border-radius:10px;background:#ef44441f;color:#991b1b;border:1px solid rgba(239,68,68,.35)}.jobs-description{max-width:320px}.job-photo-pill{display:inline-flex;align-items:center;gap:.25rem;padding:.1rem .6rem;border-radius:9999px;background:#eff6ff;color:#1d4ed8;font-size:.75rem;font-weight:600}.job-table-wrapper{width:100%;overflow-x:auto;margin-bottom:16px}.job-table{width:100%;border-collapse:collapse;min-width:720px}.job-table th,.job-table td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--border, #e2e8f0);font-size:14px}.job-table th{background:var(--bg-muted, #f8fafc);text-transform:uppercase;letter-spacing:.04em;font-size:12px;color:var(--text-light, #64748b)}.job-empty{text-align:center;padding:24px;color:var(--text-light, #64748b)}.job-status-cell{text-transform:capitalize}.job-inline-form{margin-top:24px;display:flex;flex-direction:column;gap:18px}.job-inline-form h3{margin:0;font-size:18px;color:var(--text, #0f172a)}.job-notes-cell{max-width:280px}@media(max-width:768px){.job-view-container{padding:20px}.job-header{flex-direction:column}.job-invoice-btn{width:100%}.job-tabs{align-self:stretch;justify-content:space-between}}.invoice-preview-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:1200}.invoice-preview-modal__backdrop{position:absolute;inset:0;background:#111928a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.invoice-preview-modal__content{position:relative;width:90vw;max-width:900px;height:90vh;max-height:720px;background:#fff;border-radius:16px;box-shadow:0 24px 60px #0f172a40;display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(15,23,42,.08);animation:invoice-modal-fade .16s ease-out}.invoice-preview-modal__header{padding:20px 28px 12px;border-bottom:1px solid rgba(15,23,42,.08)}.invoice-preview-modal__header h2{margin:0 0 6px;font-size:1.4rem;font-weight:600;color:#0f172a}.invoice-preview-modal__header p{margin:0;color:#475569;font-size:.95rem}.invoice-preview-modal__body{flex:1;background:#f8fafc;padding:16px;display:flex}.invoice-preview-modal__frame{width:100%;height:100%;border:none;border-radius:12px;box-shadow:inset 0 0 0 1px #0f172a14;background:#fff}.invoice-preview-modal__empty{margin:auto;color:#64748b;font-size:1rem}.invoice-preview-modal__footer{padding:16px 28px;border-top:1px solid rgba(15,23,42,.08);display:flex;justify-content:flex-end;gap:12px}.invoice-preview-modal__cancel,.invoice-preview-modal__send{min-width:120px;height:44px;padding:0 20px;border-radius:999px;border:none;font-size:.95rem;font-weight:600;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,background-color .12s ease}.invoice-preview-modal__cancel{background:#e2e8f0;color:#0f172a}.invoice-preview-modal__cancel:hover:not(:disabled){background:#cbd5f5}.invoice-preview-modal__send{background:#2563eb;color:#fff;box-shadow:0 6px 14px #2563eb40}.invoice-preview-modal__send:hover:not(:disabled){background:#1d4ed8;transform:translateY(-1px);box-shadow:0 12px 24px #2563eb33}.invoice-preview-modal__send:disabled,.invoice-preview-modal__cancel:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}@keyframes invoice-modal-fade{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.job-photos{margin-top:1.5rem}.job-photos__header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.job-photos__header h2{margin:0}.job-photos__header p{margin:.25rem 0 0;color:#4b5563}.job-photos__actions{display:flex;align-items:center;gap:.75rem;margin-left:auto}.job-photos__count{display:flex;align-items:center;gap:.25rem;font-size:.875rem;color:#6b7280}.job-photos__icon{font-size:1rem}.job-photos__add-btn{background:#2563eb;color:#fff;border:none;border-radius:9999px;padding:.6rem 1.5rem;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;box-shadow:0 8px 16px #2563eb40}.job-photos__add-btn:hover:not(:disabled){background:#1d4ed8;transform:translateY(-1px)}.job-photos__add-btn:disabled{opacity:.6;cursor:not-allowed}.job-photos__upload-status{font-size:.9rem;color:#1f2937;margin-bottom:.5rem}.job-photos__error{margin:.5rem 0;color:#b91c1c;font-size:.875rem}.job-photos__error--inline{margin-top:0}.job-photos__empty{padding:1.5rem 0;color:#6b7280}.job-photos__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem}.job-photos__item{background:#f9fafb;border-radius:.75rem;padding:.75rem;display:flex;flex-direction:column;gap:.25rem;cursor:grab}.job-photos__thumbnail-btn{border:none;padding:0;background:transparent;cursor:pointer}.job-photos__thumbnail{width:100%;height:140px;object-fit:cover;border-radius:.5rem}.job-photos__meta{font-size:.75rem;color:#4b5563}.job-photos__meta-line{display:flex;justify-content:space-between;gap:.25rem}.job-photos__comment-preview{margin-top:.25rem;font-size:.75rem;color:#374151}.job-photos__delete-btn{align-self:flex-end;margin-top:.25rem;border:none;border-radius:9999px;padding:.25rem .75rem;font-size:.75rem;background:#fee2e2;color:#b91c1c;cursor:pointer}.job-photos__delete-btn:hover{background:#fecaca}.job-photos__modal-backdrop{position:fixed;inset:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:50}.job-photos__modal{background:#fff;border-radius:.75rem;max-width:720px;width:100%;max-height:90vh;display:flex;flex-direction:column}.job-photos__modal-header,.job-photos__modal-footer{padding:.75rem 1rem;border-bottom:1px solid #e5e7eb}.job-photos__modal-footer{border-top:1px solid #e5e7eb;border-bottom:none}.job-photos__modal-body{padding:.75rem 1rem 1rem;overflow-y:auto}.job-photos__modal-image{width:100%;border-radius:.5rem;margin-bottom:.75rem}.job-photos__comment-field textarea{width:100%;margin-top:.25rem}.job-photos__close-btn{background:transparent;border:none;font-size:1.2rem;cursor:pointer}.job-photos__uploader-backdrop{position:fixed;inset:0;background:#0f172a99;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:60}.job-photos__uploader-panel{background:#fff;border-radius:1rem;width:100%;max-width:640px;display:flex;flex-direction:column;box-shadow:0 25px 50px #0f172a40;transform:translateY(10px);animation:job-photos__panel-in .25s ease forwards}@keyframes job-photos__panel-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.job-photos__uploader-header{padding:1rem 1.25rem;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center}.job-photos__uploader-body{padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.job-photos__drop-zone{position:relative;border:2px dashed #93c5fd;border-radius:1rem;padding:2.5rem 1.25rem;text-align:center;color:#1e3a8a;background:#eff6ff;cursor:pointer;transition:border-color .2s ease,background .2s ease,transform .2s ease;display:flex;align-items:center;justify-content:center}.job-photos__drop-zone:hover{border-color:#2563eb;background:#dbeafe;transform:translateY(-1px)}.job-photos__drop-zone input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}.job-photos__drop-title{font-size:1.125rem;font-weight:600;margin-bottom:.25rem}.job-photos__drop-subtitle{margin:0;font-size:.9rem;color:#1f2937}.job-photos__uploader-hint{margin:0;font-size:.875rem;color:#4b5563;line-height:1.4}@media(max-width:640px){.job-photos__header{flex-direction:column}.job-photos__actions{width:100%;justify-content:space-between}.job-photos__add-btn{flex:none;width:auto}.job-photos__uploader-panel{max-width:100%}.job-photos__drop-zone{padding:2rem 1rem}}.job-invoice-wrapper{margin-top:32px}.job-invoice-document{background:#fff;color:#0f172a;padding:32px 40px;border-radius:20px;border:1px solid rgba(15,23,42,.08);box-shadow:0 20px 45px #0f172a14;font-family:Inter,Segoe UI,sans-serif;line-height:1.6}.job-invoice-document__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:28px;gap:24px}.job-invoice-document__brand h2{margin:0;font-size:1.75rem;font-weight:700;letter-spacing:.02em;color:#1e293b}.job-invoice-document__brand p{margin:4px 0 0;color:#475569;font-size:.95rem}.job-invoice-document__meta{text-align:right}.job-invoice-document__meta h3{margin:0 0 8px;font-size:1.5rem;font-weight:600}.job-invoice-document__meta span{display:block;color:#475569;font-size:.95rem}.job-invoice-document__info{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:28px}.job-invoice-document__info-card{padding:18px;border-radius:16px;border:1px solid rgba(15,23,42,.08);background-color:#f8fbff;background-image:linear-gradient(145deg,#3b82f614,#3b82f600);background-repeat:no-repeat;flex:1 1 220px;min-width:220px}.job-invoice-document__info-card h4{margin:0 0 10px;font-size:.9rem;letter-spacing:.08em;text-transform:uppercase;color:#2563eb}.job-invoice-document__info-card p{margin:0;color:#1e293b;font-size:.98rem;font-weight:500;white-space:pre-line}.job-invoice-table{width:100%;border-collapse:collapse;margin-bottom:28px;font-size:.95rem}.job-invoice-table thead th{text-align:left;padding:12px 14px;background:#2563eb1f;color:#1e3a8a;font-weight:600;border-bottom:1px solid rgba(15,23,42,.08)}.job-invoice-table tbody tr:nth-child(2n){background:#94a3b814}.job-invoice-table tbody td{padding:12px 14px;vertical-align:top;border-bottom:1px solid rgba(148,163,184,.25)}.job-invoice-table tbody td:last-child,.job-invoice-table thead th:last-child{text-align:right}.job-invoice-table tbody td:nth-child(3),.job-invoice-table tbody td:nth-child(4){text-align:right}.job-invoice-document__summary{display:flex;justify-content:flex-end;margin-top:12px}.job-invoice-document__summary table{width:320px;border-collapse:collapse}.job-invoice-document__summary td{padding:8px 12px;font-size:.98rem}.job-invoice-document__summary tr:last-child td{font-weight:700;font-size:1.1rem;border-top:2px solid rgba(15,23,42,.12)}.job-invoice-document__notes{margin-top:24px;padding-top:16px;border-top:1px solid rgba(148,163,184,.4)}.job-invoice-document__notes h4{margin:0 0 8px;font-size:1rem;font-weight:600;color:#1f2937}.job-invoice-document__notes p{margin:0;color:#475569;white-space:pre-line}@media(max-width:768px){.job-invoice-document{padding:24px}.job-invoice-document__header{flex-direction:column;align-items:flex-start;gap:12px}.job-invoice-document__meta{text-align:left}}.customers-page{display:flex;flex-direction:column;gap:24px}.customers-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.customers-header h1{margin:0;font-size:2rem;color:var(--text, #111827)}.customers-header p{margin:6px 0 0;color:var(--text-light, #475569);font-size:.95rem}.customers-toolbar{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;background:var(--bg, #ffffff);padding:16px 20px;border-radius:14px;border:1px solid rgba(148,163,184,.25);box-shadow:0 10px 30px #0f172a0f}.customers-search{display:inline-flex;align-items:center;gap:10px;background:#f8fafce6;border-radius:999px;padding:10px 16px;border:1px solid rgba(148,163,184,.3);min-width:260px}.customers-search input{border:none;background:transparent;outline:none;font-size:.95rem;color:var(--text, #0f172a);width:100%}.customers-filters{display:inline-flex;gap:8px;background:#f8fafcbf;border-radius:999px;padding:6px}.customers-filter{border:none;border-radius:999px;padding:8px 16px;background:transparent;color:var(--text-light, #475569);font-weight:600;cursor:pointer;transition:all .2s ease}.customers-filter.is-active{background:var(--accent, #f97316);color:#fff;box-shadow:0 8px 18px #f9731640}.customers-meta{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}.customers-count{display:inline-flex;align-items:baseline;gap:12px;background:#f0f9ffbf;border-radius:12px;padding:10px 16px;border:1px solid rgba(56,189,248,.35)}.customers-count .count-label{font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:#0e7490e6}.customers-count .count-value{font-size:1.4rem;font-weight:700;color:#0ea5e9}.customers-status{font-size:.9rem;color:var(--text-light, #64748b)}.customers-status--error{color:var(--error, #dc2626);font-weight:600}.customers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.customer-card{height:100%;display:flex;flex-direction:column}.customer-card__header{display:flex;align-items:center;justify-content:space-between;gap:12px}.customer-card__header h3{margin:0;font-size:1.25rem;color:var(--text, #111827)}.customer-card__header p{margin:4px 0 0;font-size:.9rem;color:var(--text-light, #64748b)}.customer-card__status.is-active{background:#22c55e2e;color:#15803d}.customer-card__status.is-inactive{background:#94a3b83d;color:#475569}.customer-card__details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}.customer-card__details .label{display:block;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:#0f172a80;margin-bottom:4px}.customer-card__notes,.customer-card__full{grid-column:span 2}.customer-card__footer{margin-top:18px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid rgba(226,232,240,.7);padding-top:14px}.customer-card__meta{display:flex;flex-direction:column;gap:6px;font-size:.9rem;color:var(--text-light, #64748b)}.customer-card__actions{display:flex;gap:10px}.customer-card__actions .ui-button{padding:.45rem .75rem;font-size:.85rem}.customers-empty{grid-column:1 / -1;text-align:center;background:#f8fafccc;border-radius:16px;padding:48px 32px;border:1px dashed rgba(148,163,184,.4);display:flex;flex-direction:column;gap:12px;align-items:center}.customers-empty h3{margin:0;font-size:1.4rem;color:var(--text, #0f172a)}.customers-empty p{margin:0;max-width:420px;color:var(--text-light, #475569)}@media(max-width:768px){.customers-header{flex-direction:column;align-items:flex-start}.customers-toolbar{flex-direction:column;align-items:stretch}.customers-filters{justify-content:space-between}.customers-count{width:100%;justify-content:space-between}.customer-card__details{grid-template-columns:1fr}.customer-card__notes{grid-column:span 1}}
