:root{--bg-primary: #f8fafc;--bg-secondary: #ffffff;--bg-tertiary: #f1f5f9;--bg-glass: rgba(255, 255, 255, .75);--bg-glass-light: rgba(255, 255, 255, .3);--gradient-primary: linear-gradient(135deg, #0099ff 0%, #006ecb 100%);--gradient-secondary: linear-gradient(135deg, #ff9800 0%, #e65100 100%);--gradient-accent: linear-gradient(135deg, #6366f1 0%, #4f46e5 100%);--gradient-success: linear-gradient(135deg, #22c55e 0%, #16a34a 100%);--gradient-warning: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);--neon-blue: #0099ff;--amber: #ff9800;--purple-500: #a855f7;--text-primary: #1e293b;--text-secondary: #64748b;--text-tertiary: #94a3b8;--text-muted: #cbd5e1;--border-primary: rgba(0, 0, 0, .08);--border-secondary: rgba(0, 0, 0, .04);--border-accent: rgba(0, 153, 255, .2);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .1);--shadow-glow: 0 0 15px rgba(0, 153, 255, .15);--spacing-xs: .5rem;--spacing-sm: .75rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--radius-2xl: 2rem;--radius-full: 9999px;--font-primary: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-heading: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .35s cubic-bezier(.4, 0, .2, 1)}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;overflow-x:hidden}body{font-family:var(--font-primary);background:var(--bg-primary);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:1.2;color:var(--text-primary)}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}p{color:var(--text-secondary);margin-bottom:var(--spacing-md)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--purple-500)}.glass{background:var(--bg-glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border-primary)}.glass-light{background:var(--bg-glass-light);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-secondary)}.gradient-border{position:relative;background:var(--bg-secondary);border-radius:var(--radius-md)}.gradient-border:before{content:"";position:absolute;inset:0;border-radius:var(--radius-md);padding:1px;background:var(--gradient-primary);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude}.gradient-text{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes glow{0%,to{box-shadow:0 0 20px #667eea4d}50%{box-shadow:0 0 30px #667eea99}}.animate-fadeIn{animation:fadeIn var(--transition-base) ease-out}.animate-slideInLeft{animation:slideInLeft var(--transition-base) ease-out}.animate-slideInRight{animation:slideInRight var(--transition-base) ease-out}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-glow{animation:glow 2s ease-in-out infinite}.hover-lift{transition:transform var(--transition-base),box-shadow var(--transition-base)}.hover-lift:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.hover-glow{transition:box-shadow var(--transition-base)}.hover-glow:hover{box-shadow:var(--shadow-glow)}.spinner{width:20px;height:20px;border:2px solid var(--border-primary);border-top-color:var(--purple-500);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.container{max-width:1400px;margin:0 auto;padding:0 var(--spacing-lg)}.grid{display:grid;gap:var(--spacing-lg)}.grid-cols-1{grid-template-columns:repeat(1,1fr)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}@media(max-width:1024px){.grid-cols-4,.grid-cols-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.5rem}.grid-cols-4,.grid-cols-3,.grid-cols-2{grid-template-columns:1fr}}: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)}}.sidebar{position:fixed;left:0;top:0;height:100vh;width:300px;background:var(--bg-secondary);border-right:1px solid var(--border-primary);display:flex;flex-direction:column;transition:width var(--transition-base);z-index:100;box-shadow:4px 0 12px #00000005}.sidebar-collapsed{width:80px}.sidebar-header{position:relative;padding:var(--spacing-lg);padding-right:calc(var(--spacing-lg) + 32px + var(--spacing-md));display:flex;align-items:center;border-bottom:1px solid var(--border-secondary);min-height:80px;overflow:hidden}.sidebar-logo{display:flex;align-items:center;gap:var(--spacing-md);min-width:0;flex:1;overflow:hidden}.logo-icon{width:40px;height:40px;border-radius:var(--radius-md);object-fit:contain;flex-shrink:0}.logo-text{font-family:var(--font-heading);font-size:1.25rem;font-weight:700;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.sidebar-toggle{position:absolute;right:var(--spacing-lg);top:50%;transform:translateY(-50%);z-index:1;width:32px;height:32px;flex-shrink:0;background:var(--bg-glass-light);border:1px solid var(--border-primary);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-secondary);transition:all var(--transition-base)}.sidebar-toggle:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-accent)}.sidebar-nav{flex:1;padding:var(--spacing-lg) var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-xs);overflow-y:auto}.nav-item{position:relative;display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);border-radius:var(--radius-md);color:var(--text-secondary);text-decoration:none;transition:all var(--transition-base);cursor:pointer;background:transparent;border:none;width:100%;font-size:1rem;font-family:var(--font-primary)}.nav-item:hover{background:var(--bg-tertiary);color:var(--neon-blue)}.nav-item-active{background:#0099ff0d;color:var(--neon-blue);font-weight:600}.nav-item-active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:60%;background:var(--gradient-primary);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.nav-icon{display:flex;align-items:center;justify-content:center;min-width:20px}.nav-text{white-space:nowrap;font-weight:500}.nav-indicator{position:absolute;right:var(--spacing-md);width:6px;height:6px;background:var(--gradient-primary);border-radius:50%;animation:pulse 2s ease-in-out infinite}.sidebar-footer{padding:var(--spacing-lg) var(--spacing-md);border-top:1px solid var(--border-secondary)}.logout-btn{color:#f5576c}.logout-btn:hover{background:#f5576c1a;color:#f5576c}.sidebar-collapsed .logo-text,.sidebar-collapsed .nav-text{display:none}.sidebar-collapsed .sidebar-header{flex-direction:column;gap:var(--spacing-sm);justify-content:center;padding:var(--spacing-md) var(--spacing-xs)}.sidebar-collapsed .sidebar-toggle{position:static;transform:none}.sidebar-collapsed .sidebar-logo{justify-content:center;flex:none}.sidebar-collapsed .nav-item{justify-content:center}.sidebar-collapsed .nav-indicator{right:50%;transform:translate(50%);bottom:4px;top:auto}@media(max-width:768px){.sidebar{transform:translate(-100%)}.sidebar.sidebar-open{transform:translate(0)}}.header{position:fixed;top:0;left:300px;right:0;height:80px;padding:0 var(--spacing-xl);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-primary);z-index:90;transition:left var(--transition-base)}.header-left{flex:1;min-width:0;display:flex;align-items:center}.header-page-title{min-width:0;max-width:720px}.header-title{margin:0;font-size:1.375rem;font-weight:700;color:var(--text-primary);line-height:1.25;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-subtitle{margin:.2rem 0 0;font-size:.8125rem;color:var(--text-muted);line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-right{display:flex;align-items:center;gap:var(--spacing-lg)}.user-menu{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-xs) var(--spacing-md);background:var(--bg-glass-light);border:1px solid var(--border-secondary);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-base)}.user-menu:hover{background:var(--bg-glass);border-color:var(--border-accent)}.user-avatar{width:36px;height:36px;background:var(--gradient-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-primary)}.user-info{display:flex;flex-direction:column;gap:2px}.user-name{font-size:.875rem;font-weight:600;color:var(--text-primary);line-height:1}.user-role{font-size:.75rem;color:var(--text-muted);line-height:1}@media(max-width:768px){.header{left:0;padding:0 var(--spacing-md)}.user-info{display:none}.header-title{font-size:1.125rem}.header-subtitle{display:none}}.page-actions{display:flex;align-items:center;justify-content:flex-end;margin-bottom:var(--spacing-lg, 1.5rem)}.layout{display:flex;min-height:100vh;background:var(--bg-primary)}.layout-main{flex:1;margin-left:300px;transition:margin-left var(--transition-base)}.layout-content{margin-top:80px;padding:var(--spacing-xl);min-height:calc(100vh - 80px)}@media(max-width:768px){.layout-main{margin-left:0}.layout-content{padding:var(--spacing-md)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);font-family:var(--font-primary);font-weight:600;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);position:relative;overflow:hidden}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-sm{padding:var(--spacing-xs) var(--spacing-md);font-size:.875rem}.btn-md{padding:var(--spacing-sm) var(--spacing-lg);font-size:1rem}.btn-lg{padding:var(--spacing-md) var(--spacing-xl);font-size:1.125rem}.btn-primary{background:var(--gradient-primary);color:var(--text-primary);box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){box-shadow:var(--shadow-glow);transform:translateY(-2px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:var(--gradient-accent);color:var(--text-primary);box-shadow:var(--shadow-sm)}.btn-secondary:hover:not(:disabled){box-shadow:0 0 20px #4facfe66;transform:translateY(-2px)}.btn-outline{background:transparent;color:var(--purple-500);border:2px solid var(--purple-500)}.btn-outline:hover:not(:disabled){background:var(--gradient-primary);color:var(--text-primary);border-color:transparent}.btn-ghost{background:var(--bg-glass-light);color:var(--text-secondary);border:1px solid var(--border-primary)}.btn-ghost:hover:not(:disabled){background:var(--bg-glass);color:var(--text-primary);border-color:var(--border-accent)}.btn-icon{display:flex;align-items:center;justify-content:center}.input-wrapper{display:flex;flex-direction:column;gap:var(--spacing-xs);width:100%}.input-label{font-size:.875rem;font-weight:600;color:var(--text-secondary);margin-bottom:.25rem}.input-container{position:relative;width:100%}.input{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-glass);border:1px solid var(--border-primary);border-radius:var(--radius-md);color:var(--text-primary);font-size:1rem;font-family:var(--font-primary);transition:all var(--transition-base);outline:none}.input:focus{border-color:var(--purple-500);box-shadow:0 0 0 3px #667eea1a;background:var(--bg-glass-light)}.input::placeholder{color:var(--text-muted)}.input-error{border-color:#f5576c}.input-error:focus{box-shadow:0 0 0 3px #f5576c1a}.input-error-text{font-size:.875rem;color:#f5576c;margin-top:.25rem}.has-icon-left .input{padding-left:2.75rem}.has-icon-right .input{padding-right:2.75rem}.input-icon{position:absolute;top:50%;transform:translateY(-50%);color:var(--text-muted);display:flex;align-items:center;justify-content:center;pointer-events:none}.input-icon-left{left:var(--spacing-md)}.input-icon-right{right:var(--spacing-md)}.input:focus~.input-icon,.input-container:focus-within .input-icon{color:var(--purple-500)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:var(--spacing-lg)}.login-background{position:absolute;inset:0;background:var(--bg-primary);overflow:hidden}.gradient-orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.3;animation:float 20s ease-in-out infinite}.orb-1{width:400px;height:400px;background:var(--gradient-primary);top:-200px;left:-200px;animation-delay:0s}.orb-2{width:500px;height:500px;background:var(--gradient-accent);bottom:-250px;right:-250px;animation-delay:5s}.orb-3{width:300px;height:300px;background:var(--gradient-secondary);top:50%;left:50%;transform:translate(-50%,-50%);animation-delay:10s}@keyframes float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(50px,-50px) scale(1.1)}66%{transform:translate(-50px,50px) scale(.9)}}.login-container{position:relative;z-index:1;width:100%;max-width:450px}.login-card{padding:var(--spacing-2xl);border-radius:var(--radius-xl)}.login-header{text-align:center;margin-bottom:var(--spacing-xl)}.login-logo{display:flex;justify-content:center;margin-bottom:var(--spacing-lg)}.login-logo-img{height:72px;width:auto;object-fit:contain}.login-title{font-size:2rem;margin-bottom:var(--spacing-sm)}.login-subtitle{color:var(--text-secondary);font-size:.875rem;margin:0}.login-form{display:flex;flex-direction:column;gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.login-options{display:flex;align-items:center;justify-content:space-between;margin-top:calc(var(--spacing-lg) * -1)}.checkbox-label{display:flex;align-items:center;gap:var(--spacing-xs);font-size:.875rem;color:var(--text-secondary);cursor:pointer}.checkbox-label input[type=checkbox]{width:16px;height:16px;cursor:pointer}.forgot-password{font-size:.875rem;color:var(--purple-500);text-decoration:none;transition:color var(--transition-base)}.forgot-password:hover{color:var(--purple-600)}.login-button{width:100%;margin-top:var(--spacing-md)}.login-footer{text-align:center;padding-top:var(--spacing-lg);border-top:1px solid var(--border-secondary)}.login-footer p{font-size:.875rem;color:var(--text-secondary);margin:0}.login-footer a{color:var(--purple-500);text-decoration:none;font-weight:600;transition:color var(--transition-base)}.login-footer a:hover{color:var(--purple-600)}.login-setup-hint{font-size:.75rem!important;color:var(--text-secondary)!important;line-height:1.4;max-width:360px;margin:0 auto!important}.login-setup-hint code{background:var(--bg-secondary);padding:2px 6px;border-radius:var(--radius-sm);font-size:.7rem}@media(max-width:768px){.login-card{padding:var(--spacing-xl)}.login-title{font-size:1.75rem}}.dashboard-container{animation:fadeIn var(--transition-base) ease-out;max-width:1280px;margin:0 auto;padding-bottom:var(--spacing-2xl)}.dashboard-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100vh - 120px);gap:1rem}.dashboard-loading-icon{color:var(--neon-blue)}.dashboard-loading-text{font-size:.95rem;color:var(--text-secondary);margin:0}.dashboard-hero{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1.25rem;padding:1.5rem 1.75rem;margin-bottom:var(--spacing-xl);border-radius:var(--radius-xl);background:linear-gradient(135deg,#0099ff14,#a855f70f,#ffffff80);border:1px solid var(--border-primary);box-shadow:var(--shadow-md)}.dashboard-hero-kicker{font-size:.8rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;margin:0 0 .35rem}.dashboard-hero-title{font-size:clamp(1.65rem,3vw,2.1rem);font-weight:800;color:var(--text-primary);letter-spacing:-.03em;margin:0 0 .35rem;line-height:1.15}.dashboard-hero-sub{font-size:.95rem;color:var(--text-secondary);margin:0;max-width:36rem;line-height:1.45}.dashboard-hero-actions{display:flex;align-items:center;gap:.75rem;margin-left:auto}.dashboard-refresh-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem 1rem;font-size:.875rem;font-weight:600;color:var(--text-primary);background:#ffffffb3;border:1px solid var(--border-primary);border-radius:var(--radius-md);cursor:pointer;transition:background .15s,border-color .15s}.dashboard-refresh-btn:hover:not(:disabled){background:#fffffff2;border-color:var(--neon-blue)}.dashboard-refresh-btn:disabled{opacity:.65;cursor:not-allowed}.dashboard-hero-badge{width:48px;height:48px;border-radius:14px;background:linear-gradient(145deg,var(--neon-blue),#0088e6);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 8px 24px #0099ff59}.dashboard-banner-error{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.85rem 1rem;margin-bottom:var(--spacing-lg);border-radius:var(--radius-lg);background:#ef44441a;border:1px solid rgba(239,68,68,.25);color:#b91c1c;font-size:.9rem}.dashboard-banner-retry{padding:.35rem .75rem;font-weight:600;font-size:.85rem;border-radius:var(--radius-md);border:1px solid rgba(185,28,28,.4);background:#fff;cursor:pointer;color:#b91c1c}.glass-card{background:var(--bg-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-primary);box-shadow:var(--shadow-md);transition:box-shadow .2s,transform .2s}.hover-lift:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.dashboard-metrics{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}@media(max-width:1200px){.dashboard-metrics{grid-template-columns:repeat(3,1fr)}}@media(max-width:640px){.dashboard-metrics{grid-template-columns:repeat(2,1fr)}}.metric-tile{display:flex;flex-direction:row;align-items:flex-start;gap:.9rem;padding:1rem 1.1rem;border-radius:var(--radius-lg);text-align:left}.metric-tile-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.metric-tile-icon.blue{background:#0099ff1f;color:var(--neon-blue)}.metric-tile-icon.cyan{background:#06b6d41f;color:#0891b2}.metric-tile-icon.green{background:#22c55e1f;color:var(--green-500)}.metric-tile-icon.amber{background:#f59e0b24;color:var(--amber)}.metric-tile-icon.purple{background:#a855f71f;color:var(--purple-500)}.metric-tile-icon.rose{background:#f43f5e1a;color:#e11d48}.metric-tile-icon.teal{background:#14b8a61f;color:#0d9488}.metric-tile-icon.slate{background:#64748b1f;color:#64748b}.metric-tile-body{display:flex;flex-direction:column;gap:.15rem;min-width:0}.metric-tile-value{font-size:1.65rem;font-weight:800;line-height:1;color:var(--text-primary);letter-spacing:-.02em}.metric-tile-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary)}.metric-tile-hint{font-size:.72rem;color:var(--text-tertiary);margin-top:.1rem}.dashboard-status-section{padding:1.25rem 1.5rem;margin-bottom:var(--spacing-xl);border-radius:var(--radius-xl)}.dashboard-status-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem;margin-bottom:1rem}.dashboard-section-heading{font-size:1.1rem;font-weight:800;color:var(--text-primary);margin:0;letter-spacing:-.02em}.dashboard-status-caption{font-size:.8rem;color:var(--text-secondary)}.dashboard-status-bar{display:flex;height:10px;border-radius:999px;overflow:hidden;background:var(--bg-tertiary);margin-bottom:.75rem}.dashboard-status-segment{height:100%;min-width:4px;transition:width .4s ease}.dashboard-status-segment.seg-done{background:linear-gradient(90deg,#22c55e,#16a34a)}.dashboard-status-segment.seg-active{background:linear-gradient(90deg,#09f,#6366f1)}.dashboard-status-segment.seg-pending{background:linear-gradient(90deg,#f59e0b,#ea580c)}.dashboard-status-legend{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;list-style:none;margin:0;padding:0;font-size:.78rem;color:var(--text-secondary)}.dashboard-status-legend li{display:inline-flex;align-items:center;gap:.4rem}.dashboard-legend-dot{width:8px;height:8px;border-radius:99px}.dashboard-legend-dot.seg-done{background:#22c55e}.dashboard-legend-dot.seg-active{background:#09f}.dashboard-legend-dot.seg-pending{background:#f59e0b}.dashboard-panels{display:grid;grid-template-columns:minmax(280px,380px) 1fr;gap:var(--spacing-xl);align-items:start}@media(max-width:1024px){.dashboard-panels{grid-template-columns:1fr}}.dashboard-panel-lead{font-size:.85rem;color:var(--text-secondary);margin:-.25rem 0 1rem}.shortcut-grid{display:flex;flex-direction:column;gap:.65rem}.shortcut-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:1rem 2.5rem 1rem 1.1rem;border-radius:var(--radius-lg);border:1px solid var(--border-primary);cursor:pointer;background:#ffffff73;transition:border-color .15s,background .15s,transform .15s}.shortcut-card:hover{border-color:#0099ff73;background:#ffffffd9;transform:translate(4px)}.shortcut-card-wide{grid-column:1 / -1}.shortcut-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:.5rem;color:#fff}.shortcut-icon.blue{background:var(--neon-blue);box-shadow:0 4px 12px #0099ff40}.shortcut-icon.purple{background:var(--purple-500);box-shadow:0 4px 12px #a855f740}.shortcut-icon.green{background:var(--green-500);box-shadow:0 4px 12px #22c55e40}.shortcut-icon.slate{background:#64748b;box-shadow:0 4px 12px #64748b40}.shortcut-icon.teal{background:#0d9488;box-shadow:0 4px 12px #0d948840}.shortcut-title{font-weight:800;font-size:.95rem;color:var(--text-primary);margin:0}.shortcut-desc{font-size:.78rem;color:var(--text-secondary);margin:.15rem 0 0}.shortcut-arrow{position:absolute;right:1rem;top:50%;transform:translateY(-50%);color:var(--text-tertiary);opacity:.7}.shortcut-card:hover .shortcut-arrow{color:var(--neon-blue);opacity:1}.dashboard-map-nested{margin-top:var(--spacing-md)}.dashboard-map-card{padding:1.25rem 1.5rem;border-radius:var(--radius-xl)}.dashboard-map-card .map-card-header{display:flex;align-items:center;gap:.6rem;margin-bottom:1rem}.dashboard-map-card .map-card-header-icon{width:36px;height:36px;border-radius:10px;background:#0099ff1a;color:var(--neon-blue);display:flex;align-items:center;justify-content:center}.dashboard-map-card .map-card-header-title{font-size:1rem;font-weight:700;color:var(--text-primary)}.dashboard-map-card .map-card-dummy{min-height:180px;background:linear-gradient(135deg,var(--bg-tertiary) 0%,rgba(0,153,255,.04) 100%);border:2px dashed var(--border-primary);border-radius:var(--radius-lg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.65rem;padding:1.5rem;position:relative;overflow:hidden}.dashboard-map-card .map-card-dummy-icon{color:var(--neon-blue);opacity:.55}.dashboard-map-card .map-card-dummy-title{margin:0;font-size:.95rem;font-weight:600;color:var(--text-primary)}.dashboard-map-card .map-card-dummy-hint{margin:0;font-size:.8rem;color:var(--text-secondary);max-width:280px;text-align:center;line-height:1.4}.recent-panel-header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.view-all-link{display:inline-flex;align-items:center;gap:.35rem;font-size:.875rem;font-weight:700;color:var(--neon-blue);background:none;border:none;cursor:pointer;padding:.25rem 0}.view-all-link:hover{text-decoration:underline}.recent-jobs-list{border-radius:var(--radius-xl);overflow:hidden}.recent-jobs-ul{list-style:none;margin:0;padding:.35rem}.recent-job-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem .75rem;border:none;border-radius:var(--radius-md);background:transparent;cursor:pointer;text-align:left;transition:background .15s}.recent-job-row:hover{background:#0099ff0f}.recent-job-main{display:flex;align-items:center;gap:.85rem;min-width:0}.recent-job-avatar{width:42px;height:42px;border-radius:12px;background:linear-gradient(145deg,#0099ff1f,#a855f71a);color:var(--neon-blue);display:flex;align-items:center;justify-content:center;flex-shrink:0}.recent-job-text{display:flex;flex-direction:column;gap:.2rem;min-width:0}.recent-job-name{font-weight:800;font-size:.92rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent-job-meta{font-size:.75rem;color:var(--text-secondary)}.recent-job-dot{margin:0 .25rem}.recent-job-right{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem;flex-shrink:0}.recent-job-time{font-size:.72rem;color:var(--text-tertiary);font-weight:500}.status-pill{padding:.2rem .55rem;border-radius:999px;font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.status-pill--completed,.status-pill--synced{background:#22c55e1f;color:#15803d}.status-pill--active,.status-pill--in_progress{background:#0099ff1f;color:#0369a1}.status-pill--pending{background:#f59e0b24;color:#b45309}.status-pill--archived{background:#64748b26;color:#475569}.status-pill--default{background:var(--bg-tertiary);color:var(--text-secondary)}.dashboard-empty{padding:2.5rem 1.5rem;text-align:center}.dashboard-empty-icon{color:var(--text-tertiary);opacity:.5;margin-bottom:.75rem}.dashboard-empty-title{font-weight:800;font-size:1.05rem;color:var(--text-primary);margin:0 0 .35rem}.dashboard-empty-text{font-size:.88rem;color:var(--text-secondary);margin:0 0 1rem}.dashboard-empty-cta{padding:.5rem 1.25rem;font-weight:700;font-size:.88rem;color:#fff;background:var(--neon-blue);border:none;border-radius:var(--radius-md);cursor:pointer;box-shadow:0 4px 14px #0099ff59}.dashboard-empty-cta:hover{filter:brightness(1.05)}@media(max-width:768px){.dashboard-hero{flex-direction:column}.dashboard-hero-actions{margin-left:0;width:100%;justify-content:space-between}}.table-container{border-radius:var(--radius-lg);overflow:hidden}.table-wrapper{overflow-x:auto}.data-table{width:100%;border-collapse:collapse}.data-table thead{background:var(--bg-glass-light);border-bottom:1px solid var(--border-primary)}.data-table th{padding:var(--spacing-md) var(--spacing-lg);text-align:left;font-size:.875rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.data-table tbody tr{border-bottom:1px solid var(--border-secondary);transition:background var(--transition-base)}.data-table tbody tr:hover{background:var(--bg-glass-light)}.data-table tbody tr.clickable-row{cursor:pointer;transition:background var(--transition-base),transform var(--transition-base),box-shadow var(--transition-base)}.data-table tbody tr.clickable-row:hover{background:#3b82f624;transform:translateY(-1px);box-shadow:inset 0 0 0 1px #3b82f659}.data-table tbody tr:last-child{border-bottom:none}.data-table td{padding:var(--spacing-md) var(--spacing-lg);color:var(--text-primary);font-size:.875rem}.table-actions{display:flex;gap:var(--spacing-sm);align-items:center}.table-actions button{padding:var(--spacing-xs) var(--spacing-sm);font-size:.75rem}@media(max-width:768px){.data-table th,.data-table td{padding:var(--spacing-sm) var(--spacing-md);font-size:.75rem}}.modal-overlay{position:fixed;inset:0;background-color:#000000b3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:1000;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease-out}.modal-container{background:#1e293bf2;border:1px solid rgba(255,255,255,.1);box-shadow:0 25px 50px -12px #00000080;border-radius:16px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease-out;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.modal-title{font-size:1.25rem;font-weight:600;color:#f8fafc;margin:0}.modal-close{background:none;border:none;color:#94a3b8;cursor:pointer;padding:.5rem;border-radius:50%;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.modal-close:hover{color:#f8fafc;background:#ffffff1a}.modal-content{padding:1.5rem;color:#cbd5e1}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.users-page{margin:calc(-1 * var(--spacing-xl, 2rem)) calc(-1 * var(--spacing-xl, 2rem)) 0;padding:0 0 4.25rem;animation:fadeIn var(--transition-base) ease-out}.users-table-area{margin-bottom:.5rem;padding:0 var(--spacing-xl, 2rem)}.users-toolbar-sticky{position:sticky;top:80px;z-index:85;margin-bottom:.5rem;padding:.5rem var(--spacing-xl, 2rem) .625rem;background:#fff;border-bottom:1px solid #e2e8f0}.users-toolbar{margin-bottom:0;padding:0;border:none;border-radius:0;background:transparent;box-shadow:none}.users-toolbar-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.users-search-wrap{position:relative;flex:1;min-width:min(100%,240px);display:flex;align-items:center}.users-search-icon{position:absolute;left:.9rem;color:#94a3b8;pointer-events:none}.users-search-input{width:100%;min-height:42px;padding:.6rem 2.5rem .6rem 2.6rem;font-size:.9375rem;color:#0f172a;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.users-search-input::placeholder{color:#94a3b8}.users-search-input:hover{border-color:#cbd5e1;background:#fff}.users-search-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626;background:#fff}.users-search-clear{position:absolute;right:.4rem;display:inline-flex;align-items:center;justify-content:center;width:1.85rem;height:1.85rem;padding:0;border:none;border-radius:6px;background:transparent;color:#64748b;cursor:pointer;transition:color .15s,background .15s}.users-search-clear:hover{color:#0f172a;background:#f1f5f9}.users-toolbar-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0;flex-wrap:wrap}.users-toolbar .btn-outline{color:#334155;border:1px solid #e2e8f0;background:#fff}.users-toolbar .btn-outline:hover:not(:disabled){color:#0f172a;background:#f8fafc;border-color:#cbd5e1}.users-toolbar .btn-ghost{color:#64748b}.users-toolbar .btn-ghost:hover:not(:disabled){color:#0f172a;background:#f1f5f9}.users-toolbar .users-create-btn{flex-shrink:0;margin-left:.15rem}.users-filters-open-btn{position:relative}.users-filters-btn-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.125rem;height:1.125rem;margin-left:.35rem;padding:0 .3rem;font-size:.6875rem;font-weight:700;line-height:1;color:#fff;background:#2563eb;border-radius:999px}.users-toolbar-summary{margin:.5rem 0 0;padding-top:.5rem;border-top:1px solid #f1f5f9;font-size:.8125rem;color:#64748b}.users-toolbar-summary strong{color:#0f172a;font-weight:600}.users-toolbar-summary-muted{color:#94a3b8}.users-filters-modal{background:#fff!important;border:1px solid #e2e8f0;box-shadow:0 20px 40px #0f172a1f;backdrop-filter:none;-webkit-backdrop-filter:none;max-width:480px;width:calc(100% - 2rem)}.users-filters-modal .modal-header{border-bottom:1px solid #e2e8f0}.users-filters-modal .modal-title{color:#0f172a;font-size:1.125rem}.users-filters-modal .modal-close{color:#64748b}.users-filters-modal .modal-close:hover{color:#0f172a;background:#f1f5f9}.users-filters-modal-intro{margin:0 0 1.25rem;font-size:.875rem;line-height:1.5;color:#64748b}.users-filters-modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.15rem}@media(max-width:480px){.users-filters-modal-grid{grid-template-columns:1fr}}.users-modal-filter-field{display:flex;flex-direction:column;gap:.4rem;min-width:0}.users-modal-filter-label{font-size:.75rem;font-weight:600;color:#475569;letter-spacing:.01em}.users-modal-select{appearance:none;-webkit-appearance:none;width:100%;padding:.6rem 2.25rem .6rem .75rem;min-height:42px;font-size:.875rem;line-height:1.35;color:#0f172a;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right .7rem center;border:1px solid #cbd5e1;border-radius:8px;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.users-modal-select:hover{border-color:#94a3b8}.users-modal-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.users-filters-modal-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid #e2e8f0}.users-filters-modal-actions-right{display:flex;align-items:center;gap:.5rem;margin-left:auto}.users-footer-sticky{position:fixed;bottom:0;left:300px;right:0;z-index:40;padding:0;pointer-events:none;background:#fff;border-top:1px solid #e2e8f0}.users-footer-bar{width:100%;margin:0;padding:.65rem var(--spacing-xl, 2rem);pointer-events:auto;background:#fff}.users-footer-info{font-size:.875rem;color:#64748b}.users-footer-info strong{color:#0f172a;font-weight:600}.users-page .status-badge{display:inline-block;padding:.2rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600}.users-page .status-badge.active{background-color:#22c55e33;color:#16a34a}.users-page .status-badge.inactive{background-color:#94a3b840;color:#64748b}.role-badge{padding:4px 12px;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;text-transform:uppercase}.role-badge.admin{background:#667eea1a;color:var(--purple-500)}.role-badge.moderator{background:#4facfe1a;color:var(--cyan-500)}.role-badge.user{background:#a0a0b01a;color:var(--text-secondary)}.role-badge.worker{background:#22c55e1f;color:#16a34a}.users-modal{background:#fff!important;border:1px solid #ddd;box-shadow:0 8px 32px #0000001f;backdrop-filter:none;-webkit-backdrop-filter:none}.users-modal .modal-header{border-bottom:1px solid #e0e0e0}.users-modal .modal-title,.users-modal .modal-content,.users-modal .input-label,.users-modal .form-label{color:#333}.users-modal .modal-close{color:#666}.users-modal .modal-close:hover{color:#111;background:#eee}.users-modal .input{background:#fff;border:1px solid #ccc;color:#222}.users-modal .input:disabled{background:#f5f5f5;color:#777;cursor:not-allowed}.users-modal .input::placeholder{color:#999}.users-modal .input:focus,.users-modal .form-select:focus{border-color:#999;outline:none;box-shadow:none}.users-modal .form-label{font-weight:600}.users-modal .form-select{width:100%;padding:.75rem 1rem;background:#fff;border:1px solid #ccc;border-radius:8px;color:#222;font-size:1rem}.users-modal .users-select-field{position:relative}.users-modal .users-select-field:after{content:"";position:absolute;right:14px;top:50%;transform:translateY(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid #666;pointer-events:none}.users-modal .users-select{appearance:none;-webkit-appearance:none;padding:.7rem 2.5rem .7rem 1rem;min-height:46px;cursor:pointer;line-height:1.35;transition:border-color .15s ease,background-color .15s ease}.users-modal .users-select:hover{border-color:#aaa;background-color:#fafafa}.users-modal .users-select option{color:#222;padding:.5rem}.users-modal .users-edit-hint{margin:.35rem 0 0;font-size:.8125rem;color:#666}.users-modal .users-active-field{display:flex;align-items:flex-start;gap:.875rem;margin:0;padding:.875rem 1rem;border:1px solid #e0e0e0;border-radius:10px;background:#fafafa;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.users-modal .users-active-field:hover{border-color:#ccc;background:#f5f5f5}.users-modal .users-checkbox-slot{position:relative;width:22px;height:22px;flex-shrink:0;margin-top:2px}.users-modal .users-checkbox-native{position:absolute;inset:0;z-index:2;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.users-modal .users-checkbox-visual{position:absolute;inset:0;box-sizing:border-box;border:2px solid #b8b8b8;border-radius:6px;background:#fff;transition:border-color .15s ease,background-color .15s ease}.users-modal .users-active-field:hover .users-checkbox-visual{border-color:#888}.users-modal .users-checkbox-native:checked+.users-checkbox-visual{background:#333;border-color:#333}.users-modal .users-checkbox-native:checked+.users-checkbox-visual:after{content:"";position:absolute;left:50%;top:45%;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:translate(-50%,-50%) rotate(45deg)}.users-modal .users-checkbox-slot:focus-within .users-checkbox-visual{outline:2px solid #888;outline-offset:2px}.users-modal .users-checkbox-copy{display:flex;flex-direction:column;gap:.2rem;min-width:0}.users-modal .users-checkbox-title{font-size:.9375rem;font-weight:600;color:#222}.users-modal .users-checkbox-desc{font-size:.8125rem;line-height:1.35;color:#666}@media(max-width:768px){.users-page{margin-left:calc(-1 * var(--spacing-md, 1rem));margin-right:calc(-1 * var(--spacing-md, 1rem));padding-bottom:5.5rem}.users-toolbar-sticky{top:80px;padding-left:var(--spacing-md, 1rem);padding-right:var(--spacing-md, 1rem)}.users-table-area{padding-left:var(--spacing-md, 1rem);padding-right:var(--spacing-md, 1rem)}.users-toolbar-row{flex-direction:column;align-items:stretch}.users-toolbar-actions{justify-content:flex-start}.users-toolbar .users-create-btn{margin-left:auto}.users-footer-sticky{left:0}.users-footer-bar{padding-left:var(--spacing-md, 1rem);padding-right:var(--spacing-md, 1rem)}}.settings-page{animation:fadeIn var(--transition-base) ease-out}.settings-container{display:grid;grid-template-columns:250px 1fr;gap:var(--spacing-lg)}.settings-tabs{padding:var(--spacing-md);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:var(--spacing-xs);height:fit-content}.tab-btn{padding:var(--spacing-md);background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-secondary);font-size:.875rem;font-weight:600;text-align:left;cursor:pointer;transition:all var(--transition-base)}.tab-btn:hover{background:var(--bg-glass-light);color:var(--text-primary)}.tab-btn.active{background:var(--bg-glass-light);color:var(--text-primary);position:relative}.tab-btn.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:60%;background:var(--gradient-primary);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.settings-content{padding:var(--spacing-xl);border-radius:var(--radius-lg)}.settings-section{margin-bottom:var(--spacing-xl)}.settings-form{display:flex;flex-direction:column;gap:var(--spacing-lg);max-width:600px}.toggle-setting{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md);background:var(--bg-glass-light);border-radius:var(--radius-md);border:1px solid var(--border-secondary)}.toggle-info{display:flex;flex-direction:column;gap:4px}.toggle-label{font-size:.875rem;font-weight:600;color:var(--text-primary)}.toggle-description{font-size:.75rem;color:var(--text-muted)}.toggle-switch{position:relative;display:inline-block;width:48px;height:24px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background:var(--bg-tertiary);border:1px solid var(--border-primary);transition:var(--transition-base);border-radius:var(--radius-full)}.toggle-slider:before{position:absolute;content:"";height:16px;width:16px;left:3px;bottom:3px;background:var(--text-muted);transition:var(--transition-base);border-radius:50%}.toggle-switch input:checked+.toggle-slider{background:var(--gradient-primary);border-color:transparent}.toggle-switch input:checked+.toggle-slider:before{transform:translate(24px);background:#fff}.settings-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end;padding-top:var(--spacing-xl);border-top:1px solid var(--border-secondary)}@media(max-width:768px){.settings-container{grid-template-columns:1fr}.settings-tabs{flex-direction:row;overflow-x:auto}.tab-btn{white-space:nowrap}.toggle-setting{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}}.profile-page{animation:fadeIn var(--transition-base) ease-out}.profile-grid{display:grid;grid-template-columns:350px 1fr;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.profile-card{padding:var(--spacing-xl);border-radius:var(--radius-lg)}.profile-avatar-section{display:flex;flex-direction:column;align-items:center;text-align:center}.profile-avatar-large{width:120px;height:120px;background:var(--gradient-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:3rem;font-weight:700;color:var(--text-primary);margin-bottom:var(--spacing-lg);box-shadow:var(--shadow-glow);position:relative}.profile-avatar-large:after{content:"";position:absolute;inset:-4px;border-radius:50%;background:var(--gradient-primary);z-index:-1;opacity:.3;filter:blur(10px)}.profile-name{font-size:1.5rem;margin-bottom:var(--spacing-xs)}.profile-role{color:var(--text-secondary);margin-bottom:var(--spacing-xl)}.profile-stats{display:flex;align-items:center;gap:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--border-secondary);width:100%;justify-content:center}.stat-item{display:flex;flex-direction:column;align-items:center;gap:4px}.stat-value{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.stat-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase}.stat-divider{width:1px;height:40px;background:var(--border-secondary)}.profile-info{padding:var(--spacing-xl);border-radius:var(--radius-lg)}.info-title{font-size:1.25rem;margin-bottom:var(--spacing-lg)}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg)}.info-item{display:flex;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--bg-glass-light);border-radius:var(--radius-md);border:1px solid var(--border-secondary)}.info-icon{width:40px;height:40px;background:var(--bg-glass);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--purple-500);flex-shrink:0}.info-content{display:flex;flex-direction:column;gap:4px}.info-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase}.info-value{font-size:.875rem;color:var(--text-primary);font-weight:500}.activity-section{padding:var(--spacing-xl);border-radius:var(--radius-lg)}.activity-timeline{display:flex;flex-direction:column;gap:var(--spacing-lg);padding-left:var(--spacing-lg);border-left:2px solid var(--border-secondary);margin-top:var(--spacing-lg)}.timeline-item{display:flex;gap:var(--spacing-md);position:relative}.timeline-dot{position:absolute;left:calc(var(--spacing-lg) * -1 - 6px);top:4px;width:12px;height:12px;background:var(--gradient-primary);border-radius:50%;border:2px solid var(--bg-primary)}.timeline-content{display:flex;flex-direction:column;gap:4px}.timeline-title{color:var(--text-primary);font-size:.875rem;margin:0}.timeline-time{color:var(--text-muted);font-size:.75rem}@media(max-width:1024px){.profile-grid,.info-grid{grid-template-columns:1fr}}@media(max-width:768px){.page-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}}.jobs-page{margin:calc(-1 * var(--spacing-xl, 2rem)) calc(-1 * var(--spacing-xl, 2rem)) 0;padding:0 0 4.25rem;animation:fadeIn .5s ease-out}.jobs-table-area{margin-bottom:.5rem;padding:0 var(--spacing-xl, 2rem)}.jobs-toolbar-sticky{position:sticky;top:80px;z-index:85;margin-bottom:.5rem;padding:.5rem var(--spacing-xl, 2rem) .625rem;background:#fff;border-bottom:1px solid #e2e8f0}.jobs-toolbar{margin-bottom:0;padding:0;border:none;border-radius:0;background:transparent;box-shadow:none}.jobs-toolbar-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.jobs-search-wrap{position:relative;flex:1;min-width:min(100%,240px);display:flex;align-items:center}.jobs-search-icon{position:absolute;left:.9rem;color:#94a3b8;pointer-events:none}.jobs-search-input{width:100%;min-height:42px;padding:.6rem 2.5rem .6rem 2.6rem;font-size:.9375rem;color:#0f172a;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.jobs-search-input::placeholder{color:#94a3b8}.jobs-search-input:hover{border-color:#cbd5e1;background:#fff}.jobs-search-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626;background:#fff}.jobs-search-clear{position:absolute;right:.4rem;display:inline-flex;align-items:center;justify-content:center;width:1.85rem;height:1.85rem;padding:0;border:none;border-radius:6px;background:transparent;color:#64748b;cursor:pointer;transition:color .15s,background .15s}.jobs-search-clear:hover{color:#0f172a;background:#f1f5f9}.jobs-toolbar-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0;flex-wrap:wrap}.jobs-toolbar .btn-outline{color:#334155;border:1px solid #e2e8f0;background:#fff}.jobs-toolbar .btn-outline:hover:not(:disabled){color:#0f172a;background:#f8fafc;border-color:#cbd5e1}.jobs-toolbar .btn-ghost{color:#64748b}.jobs-toolbar .btn-ghost:hover:not(:disabled){color:#0f172a;background:#f1f5f9}.jobs-toolbar .jobs-create-btn{flex-shrink:0;margin-left:.15rem}.jobs-filters-open-btn{position:relative}.jobs-filters-btn-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.125rem;height:1.125rem;margin-left:.35rem;padding:0 .3rem;font-size:.6875rem;font-weight:700;line-height:1;color:#fff;background:#2563eb;border-radius:999px}.jobs-toolbar-summary{margin:.5rem 0 0;padding-top:.5rem;border-top:1px solid #f1f5f9;font-size:.8125rem;color:#64748b}.jobs-toolbar-summary strong{color:#0f172a;font-weight:600}.jobs-toolbar-summary-muted{color:#94a3b8}.jobs-filters-modal{background:#fff!important;border:1px solid #e2e8f0;box-shadow:0 20px 40px #0f172a1f;backdrop-filter:none;-webkit-backdrop-filter:none;max-width:520px;width:calc(100% - 2rem)}.jobs-filters-modal .modal-header{border-bottom:1px solid #e2e8f0}.jobs-filters-modal .modal-title{color:#0f172a;font-size:1.125rem}.jobs-filters-modal .modal-close{color:#64748b}.jobs-filters-modal .modal-close:hover{color:#0f172a;background:#f1f5f9}.jobs-filters-modal-intro{margin:0 0 1.25rem;font-size:.875rem;line-height:1.5;color:#64748b}.jobs-filters-modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.15rem}@media(max-width:480px){.jobs-filters-modal-grid{grid-template-columns:1fr}}.jobs-modal-filter-field{display:flex;flex-direction:column;gap:.4rem;min-width:0}.jobs-modal-filter-label{font-size:.75rem;font-weight:600;color:#475569;letter-spacing:.01em}.jobs-modal-select{appearance:none;-webkit-appearance:none;width:100%;padding:.6rem 2.25rem .6rem .75rem;min-height:42px;font-size:.875rem;line-height:1.35;color:#0f172a;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right .7rem center;border:1px solid #cbd5e1;border-radius:8px;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.jobs-modal-select:hover{border-color:#94a3b8}.jobs-modal-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.jobs-filters-modal-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid #e2e8f0}.jobs-filters-modal-actions-right{display:flex;align-items:center;gap:.5rem;margin-left:auto}.jobs-page .status-badge{display:inline-block;padding:.2rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:capitalize}.status-badge.active{background-color:#22c55e33;color:#4ade80}.status-badge.completed{background-color:#3b82f633;color:#60a5fa}.status-badge.pending{background-color:#f59e0b33;color:#fbbf24}.form-group{margin-bottom:1.5rem}.form-label{display:block;margin-bottom:.5rem;color:#94a3b8;font-size:.875rem}.form-select{width:100%;padding:.75rem 1rem;background:#0f172a99;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#f8fafc;font-size:1rem;transition:all .2s}.form-select:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f633}.form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem}.jobs-create-modal{background:#fff;border:1px solid #e2e8f0;box-shadow:0 24px 48px #0f172a26}.jobs-create-modal .modal-header{border-bottom:1px solid #e2e8f0}.jobs-create-modal .modal-title{color:#0f172a}.jobs-create-modal .modal-close{color:#64748b}.jobs-create-modal .modal-close:hover{color:#0f172a;background:#f1f5f9}.jobs-create-modal .modal-content,.jobs-create-modal .input-label{color:#334155}.jobs-create-modal .input{background:#fff;border:1px solid #cbd5e1;color:#0f172a}.jobs-create-modal .input::placeholder{color:#94a3b8}.jobs-create-modal .input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626;background:#fff}.jobs-create-modal .form-label{color:#334155;font-weight:600}.jobs-assign-hint{margin:0 0 .75rem;font-size:.8125rem;color:#64748b;line-height:1.4}.jobs-assign-empty{margin:0;font-size:.875rem;color:#64748b}.jobs-workers-loading{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#64748b}.jobs-worker-checklist{list-style:none;margin:0;padding:0;max-height:220px;overflow-y:auto;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc}.jobs-worker-checklist li{border-bottom:1px solid #e2e8f0}.jobs-worker-checklist li:last-child{border-bottom:none}.jobs-worker-check-label{display:flex;align-items:flex-start;gap:.75rem;padding:.65rem .75rem;cursor:pointer;font-size:.875rem;color:#0f172a}.jobs-worker-check-label:hover{background:#f1f5f9}.jobs-worker-check-label input{margin-top:.2rem;accent-color:#3b82f6}.jobs-worker-check-text{display:flex;flex-direction:column;gap:.15rem;min-width:0}.jobs-worker-name{font-weight:600}.jobs-worker-email{font-size:.8125rem;color:#64748b;word-break:break-all}.jobs-pagination-sticky{position:fixed;bottom:0;left:300px;right:0;z-index:40;padding:0;pointer-events:none;background:#fff;border-top:1px solid #e2e8f0}.jobs-pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;width:100%;margin:0;padding:.65rem var(--spacing-xl, 2rem);pointer-events:auto;background:#fff;border:none;border-radius:0;box-shadow:none}.jobs-pagination-info{font-size:.875rem;color:#64748b}.jobs-pagination-info strong{color:#0f172a;font-weight:600}.jobs-pagination-controls{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.jobs-pagination .page-btn{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;padding:0 .5rem;border-radius:6px;border:1px solid #e2e8f0;background:#fff;color:#475569;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.jobs-pagination .page-btn:hover:not(:disabled){background:#f8fafc;color:#0f172a;border-color:#cbd5e1}.jobs-pagination .page-btn.active{background:#2563eb;color:#fff;border-color:#2563eb;font-weight:600}.jobs-pagination .page-btn:disabled{opacity:.35;cursor:not-allowed}@media(max-width:768px){.jobs-page{margin-left:calc(-1 * var(--spacing-md, 1rem));margin-right:calc(-1 * var(--spacing-md, 1rem));padding-bottom:5.5rem}.jobs-toolbar-sticky{top:80px;padding-left:var(--spacing-md, 1rem);padding-right:var(--spacing-md, 1rem)}.jobs-table-area{padding-left:var(--spacing-md, 1rem);padding-right:var(--spacing-md, 1rem)}.jobs-toolbar-row{flex-direction:column;align-items:stretch}.jobs-toolbar-actions{justify-content:flex-start}.jobs-toolbar .jobs-create-btn{margin-left:auto}.jobs-pagination-sticky{left:0}.jobs-pagination{padding-left:var(--spacing-md, 1rem);padding-right:var(--spacing-md, 1rem)}}.job-details-page{padding:2rem;animation:fadeIn .5s ease-out;max-width:960px;margin:0 auto;color:var(--text-primary)}.job-details-page .back-to-jobs-btn{margin-bottom:1.5rem}.job-details-page.glass,.job-details-page .glass{background:var(--bg-secondary);border:1px solid var(--border-primary);box-shadow:var(--shadow-sm)}.job-overview-card{margin-bottom:2rem;border-radius:var(--radius-lg);border:1px solid var(--border-primary);box-shadow:var(--shadow-md);overflow:hidden;background:var(--bg-secondary)}.job-overview-body{padding:1.5rem 1.5rem 1.35rem}.job-overview-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem 1.25rem}.job-overview-identity{flex:1;min-width:min(100%,220px)}.job-overview-title{font-size:clamp(1.35rem,2.5vw,1.85rem);font-weight:700;margin:0 0 .65rem;color:var(--text-primary);letter-spacing:-.03em;line-height:1.25}.job-overview-badges{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.job-overview-id-pill{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .55rem;font-size:.75rem;font-weight:500;color:var(--text-secondary);font-family:ui-monospace,monospace;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-full)}.job-overview-pole-pill{display:inline-flex;align-items:center;padding:.2rem .65rem;font-size:.75rem;font-weight:600;color:var(--text-primary);background:#0099ff14;border:1px solid rgba(0,153,255,.2);border-radius:var(--radius-full)}.job-overview-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.job-overview-map-toggle{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:2.5rem;padding:0 .85rem;border-radius:var(--radius-md);border:1px solid var(--border-primary);background:var(--bg-tertiary);color:var(--text-secondary);font-size:.8125rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,color .15s,box-shadow .15s}.job-overview-map-toggle:hover{border-color:#0099ff59;color:var(--neon-blue);background:#0099ff0f}.job-overview-map-toggle--active{border-color:#0099ff73;color:var(--neon-blue);background:#0099ff1f;box-shadow:0 0 0 1px #0099ff1f}.job-overview-map-toggle-label{line-height:1}.job-overview-meta{display:flex;flex-wrap:wrap;align-items:stretch;justify-content:space-between;gap:1rem 1.25rem;margin-top:1.25rem;padding-top:1.15rem;border-top:1px solid var(--border-primary)}.job-overview-meta-left{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem 1.25rem;color:var(--text-secondary);font-size:.875rem;flex:1 1 360px}.job-overview-meta-item{display:inline-flex;align-items:center;gap:.4rem}.job-overview-creator{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem;text-align:right;min-width:min(100%,200px)}.job-overview-creator-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary)}.job-overview-creator-card{display:flex;align-items:center;gap:.65rem;padding:.45rem .65rem .45rem .45rem;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-md);text-align:left}.job-overview-creator-avatar{width:2.25rem;height:2.25rem;font-size:.9rem}.job-overview-creator-unavailable{margin:0;font-size:.875rem;color:var(--text-tertiary);font-style:italic}.job-overview-side-card{display:flex;flex-direction:column;gap:.45rem;padding:.7rem .8rem;border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-tertiary);min-width:min(100%,320px);max-width:380px}.job-overview-assigned-value{margin:0;font-size:.875rem;color:var(--text-primary);line-height:1.45}.job-overview-side-divider{width:100%;height:1px;background:var(--border-primary);margin:.15rem 0}.job-overview-people-inline{display:flex;flex-direction:column;gap:.3rem;min-width:min(100%,340px);max-width:480px;margin-left:auto}.job-overview-people-row{display:flex;align-items:baseline;gap:.55rem}.job-overview-people-key{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);min-width:112px;flex-shrink:0}.job-overview-people-value{font-size:.9rem;color:var(--text-primary);line-height:1.35}.job-overview-map{border-top:1px solid var(--border-primary);background:linear-gradient(180deg,var(--bg-tertiary) 0%,var(--bg-secondary) 40%)}.job-overview-map-inner{padding:1rem 1.5rem 1.35rem}.job-overview-map-heading{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.job-overview-map-heading-icon{width:32px;height:32px;border-radius:8px;background:#0099ff1f;color:var(--neon-blue);display:flex;align-items:center;justify-content:center}.job-overview-map-heading-title{font-size:.9375rem;font-weight:700;color:var(--text-primary);letter-spacing:-.01em}.job-overview-map-placeholder{min-height:200px}.job-overview-map-canvas{width:100%;height:340px;border:1px solid var(--border-primary);border-radius:var(--radius-lg);overflow:hidden}@media(max-width:640px){.job-overview-side-card{width:100%;min-width:0;max-width:none}.job-overview-people-inline{width:100%;min-width:0;max-width:none;margin-left:0}.job-overview-people-row{flex-direction:column;gap:.15rem}.job-overview-people-key{min-width:0}.job-overview-toolbar{width:100%}.job-overview-toolbar .btn{flex:1 1 calc(50% - .25rem);min-width:0}.job-overview-map-toggle{flex:1 1 calc(50% - .25rem);justify-content:center}}.job-title-section{flex:1;min-width:0}.job-details-title{font-size:1.75rem;font-weight:700;margin:0 0 .5rem;color:var(--text-primary);letter-spacing:-.02em;line-height:1.3}.job-meta-row{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.job-id-badge{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--text-secondary);font-family:ui-monospace,monospace}.job-meta{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;color:var(--text-secondary);align-items:center;font-size:.9rem}.job-header-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;flex-shrink:0}.meta-item{display:flex;align-items:center;gap:.5rem}.job-details-page .status-badge{padding:.25rem .6rem;border-radius:var(--radius-full);font-size:.8rem;font-weight:600}.job-details-page .status-badge.completed{background:#22c55e26;color:#16a34a}.job-details-page .status-badge.active{background:#0099ff26;color:var(--neon-blue)}.job-details-page .status-badge.pending{background:#f59e0b26;color:var(--amber)}.job-details-page .text-gray-400,.job-details-page .italic{color:var(--text-secondary)}.job-details-page .worker-item .text-white{color:var(--text-primary)}.job-details-page .worker-item .text-gray-400{color:var(--text-secondary)}.job-details-page .map-card-dummy{min-height:220px;background:linear-gradient(135deg,var(--bg-tertiary) 0%,rgba(0,153,255,.03) 100%);border:2px dashed var(--border-primary);border-radius:var(--radius-lg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:2rem;position:relative;overflow:hidden}.job-details-page .map-card-dummy:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(0,153,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(0,153,255,.04) 1px,transparent 1px);background-size:24px 24px;pointer-events:none}.job-details-page .map-card-dummy-icon{color:var(--neon-blue);opacity:.6;position:relative;z-index:1}.job-details-page .map-card-dummy-title{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary);position:relative;z-index:1}.job-details-page .map-card-dummy-hint{margin:0;font-size:.8rem;color:var(--text-secondary);max-width:280px;text-align:center;line-height:1.4;position:relative;z-index:1}.details-section{margin-bottom:2rem;padding:1.5rem;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.job-detail-tabs-card{padding:.5rem}.job-detail-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.job-detail-tab-btn{border:1px solid var(--border-primary);background:var(--bg-tertiary);color:var(--text-secondary);border-radius:var(--radius-md);padding:.65rem .9rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.job-detail-tab-btn:hover{background:var(--bg-glass-light);color:var(--text-primary)}.job-detail-tab-btn.is-active{background:#0099ff1f;border-color:#0099ff59;color:var(--neon-blue)}.section-title{font-size:1.25rem;font-weight:600;margin-bottom:1.5rem;color:var(--text-primary);display:flex;justify-content:space-between;align-items:center}.created-by-avatar{width:2.5rem;height:2.5rem;border-radius:50%;background:var(--neon-blue);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1rem}.created-by-info{display:flex;flex-direction:column;gap:.2rem}.created-by-name{font-weight:600;color:var(--text-primary);margin:0}.created-by-email{font-size:.9rem;color:var(--text-secondary);margin:0}.worker-list{display:flex;flex-direction:column;gap:1rem}.worker-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--bg-tertiary);border-radius:var(--radius-md);border:1px solid var(--border-primary)}.worker-item .font-semibold,.worker-item p{color:var(--text-primary)}.worker-item .text-gray-400,.worker-item .text-sm{color:var(--text-secondary)}.worker-info{display:flex;align-items:center;gap:1rem}.worker-avatar{width:40px;height:40px;border-radius:50%;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;font-weight:600;color:#fff}.poles-list{display:flex;flex-direction:column;gap:.75rem}.pole-item{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:var(--bg-tertiary);border-radius:var(--radius-md);border:1px solid var(--border-primary);transition:background var(--transition-fast)}.pole-item:hover{background:var(--bg-glass-light)}.pole-item-main{display:flex;flex-direction:column;gap:.25rem}.pole-id{font-weight:600;color:var(--text-primary);font-family:ui-monospace,monospace;word-break:break-all}.pole-photo-input-hidden{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.pole-upload-photos-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .75rem;font-size:.8rem;font-weight:500;color:var(--neon-blue);background:#0099ff14;border:1px solid rgba(0,153,255,.25);border-radius:var(--radius-md);cursor:pointer;transition:background .2s,border-color .2s}.pole-upload-photos-btn:hover:not(:disabled){background:#0099ff26;border-color:var(--neon-blue)}.pole-upload-photos-btn:disabled{opacity:.8;cursor:not-allowed}.pole-item-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.pole-edit-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .6rem;font-size:.78rem;font-weight:500;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);cursor:pointer;transition:background .2s,border-color .2s,color .2s}.pole-edit-btn:hover{color:var(--primary);border-color:var(--primary);background:#3b82f60f}.pole-edit-btn:disabled,.pole-delete-btn:disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.pole-delete-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .6rem;font-size:.78rem;font-weight:500;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);cursor:pointer;transition:background .2s,border-color .2s,color .2s}.pole-delete-btn:hover:not(:disabled){color:#b91c1c;border-color:#b91c1c73;background:#b91c1c0f}.pole-delete-spinner{animation:pole-delete-spin .65s linear infinite}@keyframes pole-delete-spin{to{transform:rotate(360deg)}}.pole-meta{font-size:.85rem;color:var(--text-secondary);display:flex;gap:1rem}.pole-count{color:var(--text-tertiary)}.job-info-card{margin-bottom:2rem}.info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem 2rem}.info-row{display:flex;flex-direction:column;gap:.2rem}.info-label{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.info-value{font-size:.95rem;color:var(--text-primary);font-weight:500}.full-detail-section{margin-top:0}.full-detail-section-titles{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1.5rem;margin-bottom:1.5rem}.full-detail-section-titles .section-title{margin-bottom:0;min-width:0;justify-content:flex-start}.full-detail-section .section-title{display:flex;align-items:center;gap:.5rem}.full-detail-tree{display:flex;flex-direction:column;gap:1rem}.full-detail-block{background:var(--bg-tertiary);border-radius:var(--radius-md);padding:1rem;border:1px solid var(--border-primary)}.full-detail-head{font-size:.85rem;font-weight:600;color:var(--text-secondary);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.05em}.full-detail-json{margin:0;font-size:.8rem;color:var(--text-primary);font-family:ui-monospace,monospace;white-space:pre-wrap;word-break:break-all;max-height:300px;overflow-y:auto}.full-detail-json-sm{max-height:180px;font-size:.75rem}.full-detail-pole{border:1px solid var(--border-primary);border-radius:var(--radius-md);overflow:visible}.full-detail-pole-header{display:flex;align-items:center;gap:.5rem}.full-detail-pole-header .full-detail-pole-trigger{flex:1}.full-detail-pole-menu-wrap{position:relative;flex-shrink:0;padding-right:.35rem}.full-detail-pole-menu-trigger{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border:1px solid transparent;background:var(--bg-tertiary, rgba(0, 0, 0, .04));border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:background .15s,border-color .15s,color .15s}.full-detail-pole-menu-trigger:hover:not(:disabled){background:var(--bg-glass-light);border-color:var(--border-primary);color:var(--text-primary)}.full-detail-pole-menu-trigger:disabled{opacity:.5;cursor:not-allowed}.full-detail-pole-menu{position:absolute;right:0;top:calc(100% + 4px);min-width:10rem;padding:.3rem 0;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:200}.full-detail-pole-menu-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .85rem;border:none;background:none;font-size:.8125rem;font-weight:500;text-align:left;cursor:pointer;color:var(--text-primary);transition:background .12s}.full-detail-pole-menu-item:hover:not(:disabled){background:var(--bg-tertiary)}.full-detail-pole-menu-item--danger{color:#b91c1c}.full-detail-pole-menu-item--danger:hover:not(:disabled){background:#b91c1c14}.full-detail-pole-menu-item:disabled{opacity:.55;cursor:not-allowed}.full-detail-pole-trigger{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--bg-tertiary);border:none;color:var(--text-primary);font-size:.95rem;cursor:pointer;text-align:left}.full-detail-pole-trigger:hover{background:var(--bg-glass-light)}.full-detail-pole-label{font-weight:600;color:var(--text-primary)}.full-detail-pole-counts{margin-left:auto;font-size:.8rem;font-weight:600;color:var(--text-secondary)}.entity-cards{display:flex;flex-direction:column;gap:1.25rem}.entity-group{background:var(--bg-tertiary);border-radius:var(--radius-md);padding:1rem;border:1px solid var(--border-primary)}.entity-group-title{font-size:.8rem;font-weight:600;color:var(--text-secondary);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.04em}.entity-card{margin-bottom:.75rem;padding:.75rem;background:var(--bg-secondary);border-radius:6px;border-left:3px solid var(--neon-blue)}.entity-card:last-child{margin-bottom:0}.entity-card-hoa-combined{margin-bottom:0}.pole-intelligent-decline-notes{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.entity-card.street-crossing-decline-card{border-left-color:#d97706;margin-bottom:.75rem}.entity-card.street-crossing-decline-card .entity-card-title{font-size:.8125rem;font-weight:600;color:var(--text-primary);margin-bottom:.35rem}.street-crossing-decline-text{margin:0;font-size:.875rem;line-height:1.45;color:var(--text-secondary);white-space:pre-wrap}.hoa-combined-attachments{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border-primary)}.hoa-combined-attachments-only{margin-top:0;padding-top:0;border-top:none}.hoa-combined-attachments-title{font-size:.75rem;font-weight:600;color:var(--text-secondary);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.03em}.entity-card-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.entity-card-head .entity-card-id{margin-bottom:0}.entity-edit-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.72rem;font-weight:500;color:var(--text-secondary);background:var(--bg-tertiary, rgba(0, 0, 0, .04));border:1px solid var(--border-primary);border-radius:6px;cursor:pointer;flex-shrink:0;transition:background .2s,border-color .2s,color .2s}.entity-edit-btn:hover{color:var(--primary);border-color:var(--primary);background:#3b82f614}.entity-edit-btn:disabled,.entity-delete-btn:disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.entity-delete-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.72rem;font-weight:500;color:var(--text-secondary);background:var(--bg-tertiary, rgba(0, 0, 0, .04));border:1px solid var(--border-primary);border-radius:6px;cursor:pointer;flex-shrink:0;transition:background .2s,border-color .2s,color .2s}.entity-delete-btn:hover:not(:disabled){color:#b91c1c;border-color:#b91c1c73;background:#b91c1c14}.entity-card-id{font-size:.75rem;color:var(--text-secondary);font-family:ui-monospace,monospace;display:block;margin-bottom:.5rem}.entity-card-title{font-size:.9rem;font-weight:700;color:var(--text-primary)}.entity-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.65rem 1rem}.entity-card-row{display:flex;flex-direction:column;gap:.25rem;padding:.55rem .65rem;border:1px solid var(--border-primary);border-radius:8px;background:var(--bg-tertiary)}.entity-card-row span{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.entity-card-row strong{font-size:.875rem;color:var(--text-primary);font-weight:600}.buried-entity-card{border-left-color:var(--amber, #f59e0b)}.buried-utility-block{margin-top:.85rem}.buried-utility-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.9rem}.buried-utility-card{border:1px solid var(--border-primary);background:var(--bg-secondary);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;gap:0;box-shadow:none}.buried-utility-card-header{display:flex;align-items:center;justify-content:space-between;padding:.7rem 1rem;background:var(--bg-tertiary);border-bottom:1px solid var(--border-primary)}.buried-utility-card-title{font-size:.7rem;font-weight:700;letter-spacing:.01em;text-transform:none;color:var(--text-primary);line-height:1.3}.buried-utility-card-body{display:grid;grid-template-columns:minmax(0,1fr) 102px;gap:.9rem;align-items:start;padding:.8rem 1rem .9rem}.buried-utility-fields{display:flex;flex-direction:column;gap:.55rem;min-width:0}.buried-utility-metric-badge{display:inline-flex;align-items:center;gap:.35rem;width:fit-content;border:1px solid var(--border-primary);background:var(--bg-tertiary);border-radius:10px;padding:.26rem .6rem;color:var(--text-secondary);white-space:nowrap;max-width:100%}.buried-utility-metric-badge strong{font-size:.66rem;font-weight:600;color:var(--text-primary)}.buried-utility-info-row{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:start;column-gap:.4rem;color:var(--text-secondary);min-width:0}.buried-utility-info-row svg,.buried-utility-metric-badge svg{color:var(--text-secondary);opacity:.9;width:13px;height:13px}.buried-utility-info-label{font-size:.66rem;text-transform:none;letter-spacing:0;font-weight:500;padding-top:.01rem}.buried-utility-info-value{font-size:.72rem;color:var(--text-primary);font-weight:600;line-height:1.35;word-break:normal;overflow-wrap:normal;white-space:normal}.buried-utility-photo-wrap{width:102px;height:82px;border-radius:14px;overflow:hidden;border:1px solid var(--border-primary);background:var(--bg-tertiary)}.buried-utility-photo-btn{display:block;width:100%;height:100%;border:none;background:none;padding:0;cursor:pointer}.buried-utility-photo{width:100%;height:100%;object-fit:cover;display:block}.buried-utility-photo-empty{width:100%;height:100%;display:flex;flex-direction:column;gap:.2rem;align-items:center;justify-content:center;color:var(--text-secondary)}.buried-utility-photo-empty span{font-size:.64rem;font-weight:600}@media(max-width:1100px){.buried-utility-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media(max-width:760px){.buried-utility-card-body{grid-template-columns:1fr}.buried-utility-photo-wrap{width:100%;height:140px}}.buried-lotlots-block{margin-top:.85rem}.buried-lotlots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.65rem}.buried-lotlots-item{border:1px solid var(--border-primary);background:var(--bg-tertiary);border-radius:10px;padding:.65rem .75rem;display:flex;flex-direction:column;gap:.35rem}.buried-lotlots-item-title{font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}.buried-lotlots-item-row{display:flex;flex-direction:column;gap:.15rem}.buried-lotlots-item-row span{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.buried-lotlots-item-row strong{font-size:.875rem;color:var(--text-primary);font-weight:600}@media(max-width:640px){.buried-utility-card-body{grid-template-columns:1fr}.buried-utility-photo-wrap{width:100%;height:140px}}.job-details-buried-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.job-details-buried-title{margin-bottom:0}.buried-empty-with-action{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem}.full-detail-buried-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.full-detail-buried-header .full-detail-pole-trigger{flex:1;min-width:0}.entity-payload-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.5rem 1.5rem}.entity-payload-grid .info-row{gap:.15rem}.entity-payload-grid .info-label{font-size:.7rem}.entity-payload-grid .info-value{font-size:.875rem;color:var(--text-primary)}.entity-card-empty{margin:0;font-size:.875rem;color:var(--text-secondary)}.anchor-dg-block{margin-top:.75rem;display:flex;flex-direction:column;gap:.35rem;min-width:0}.anchor-dg-list{margin:0;padding-left:1.35rem;color:var(--text-primary);font-size:.875rem;font-weight:500;line-height:1.45;list-style-type:decimal;list-style-position:outside}.anchor-dg-list li{margin-bottom:.35rem;white-space:normal;word-break:break-word;overflow-wrap:anywhere}.anchor-dg-list li:last-child{margin-bottom:0}.anchor-dg-container{margin-top:1rem;padding:.875rem 1rem;background:var(--bg-tertiary);border-radius:var(--radius-md);border:1px solid var(--border-primary);border-left:3px solid var(--amber, #f59e0b);min-width:0}.anchor-dg-container-title{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:.75rem}.anchor-dg-strands-list{display:flex;flex-direction:column;gap:.75rem}.anchor-dg-strand-card{padding:.75rem .875rem;background:var(--bg-secondary);border-radius:6px;border:1px solid var(--border-primary);border-left:3px solid rgba(245,158,11,.55);min-width:0}.anchor-dg-strand-card-header{font-size:.8125rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem;padding-bottom:.35rem;border-bottom:1px solid var(--border-primary)}.anchor-dg-strand-grid{margin-top:0}.pole-photos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.75rem}.pole-photos-grid-inline{grid-template-columns:repeat(auto-fill,minmax(88px,1fr))}.entity-card-photos{margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border-primary)}.entity-card-photos-label{display:block;font-size:.75rem;font-weight:600;color:var(--text-secondary);margin-bottom:.5rem}.pole-photo-card{background:var(--bg-tertiary);border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border-primary)}.pole-photo-img-btn{display:block;position:relative;width:100%;padding:0;border:none;background:none;cursor:pointer;overflow:hidden}.pole-photo-img{width:100%;height:110px;object-fit:cover;display:block;background:var(--bg-secondary);transition:transform .2s ease}.pole-photo-img-btn:hover .pole-photo-img{transform:scale(1.03)}.pole-photo-load-failed{display:none;width:100%;height:160px;align-items:center;justify-content:center;background:var(--bg-secondary);color:var(--text-secondary);font-size:.8rem}.pole-photo-load-failed.pole-photo-error-visible{display:flex}.pole-photo-placeholder{width:100%;height:110px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);color:var(--text-secondary);font-size:.8rem}.pole-photo-meta{padding:.5rem .75rem;font-size:.75rem;color:var(--text-secondary)}.pole-photo-meta .entity-card-id{margin-bottom:.15rem}.pole-photo-angle{display:block;font-size:.7rem;color:var(--text-tertiary, var(--text-secondary))}.full-detail-pole-body{padding:1rem;border-top:1px solid var(--border-primary);display:flex;flex-direction:column;gap:1rem;background:var(--bg-secondary);border-radius:0 0 var(--radius-md) var(--radius-md)}.full-detail-entity{margin-bottom:.75rem}.full-detail-entity:last-child{margin-bottom:0}.full-detail-entity-id{font-size:.75rem;color:var(--text-secondary);font-family:ui-monospace,monospace;display:block;margin-bottom:.25rem}.job-details-page .edit-job-form .form-group{margin-bottom:1.5rem}.job-details-page .edit-job-form .form-label{display:block;margin-bottom:.5rem;color:var(--text-secondary);font-size:.875rem}.job-details-page .edit-job-form .form-input,.job-details-page .edit-job-form .form-select{width:100%;padding:.75rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px;color:var(--text-primary);font-size:1rem}.job-details-page .edit-job-form .form-input:focus,.job-details-page .edit-job-form .form-select:focus,.job-details-page .edit-job-form .form-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #3b82f633}.job-details-page .edit-job-form .form-textarea{min-height:4rem;resize:vertical}.job-details-page .edit-job-form .form-input-error,.job-details-page .edit-job-form .form-select.form-input-error{border-color:var(--danger, #dc2626)}.job-details-page .edit-job-form .form-error-text{display:block;margin-top:.25rem;font-size:.8125rem;color:var(--danger, #dc2626)}.job-details-page .edit-job-form .form-image-picker{display:flex;flex-direction:column;gap:.75rem}.job-details-page .edit-job-form .form-image-preview-wrap{display:flex;align-items:flex-start;gap:.75rem}.job-details-page .edit-job-form .form-image-preview{max-width:120px;max-height:120px;object-fit:cover;border-radius:8px;border:1px solid var(--border-primary)}.job-details-page .edit-job-form .form-image-clear{padding:.35rem .75rem;font-size:.875rem;color:var(--danger, #dc2626);background:transparent;border:1px solid var(--danger, #dc2626);border-radius:6px;cursor:pointer}.job-details-page .edit-job-form .form-image-clear:hover{background:#dc262614}.job-details-page .edit-job-form .form-image-upload-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;color:var(--primary);background:var(--bg-secondary);border:1px dashed var(--border-primary);border-radius:8px;cursor:pointer}.job-details-page .edit-job-form .form-image-upload-btn input{position:absolute;width:0;height:0;opacity:0}.job-details-page .edit-job-form .form-group-photos{margin-top:.5rem;padding-top:1rem;border-top:1px solid var(--border-primary)}.job-details-page .edit-job-form .form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem}.job-details-light-modal{background:#fff;border:1px solid #e2e8f0;box-shadow:0 24px 48px #0f172a26}.job-details-light-modal .modal-header{border-bottom:1px solid #e2e8f0}.job-details-light-modal .modal-title{color:#0f172a}.job-details-light-modal .modal-close{color:#64748b}.job-details-light-modal .modal-close:hover{color:#0f172a;background:#f1f5f9}.job-details-light-modal .modal-content{color:#334155}.job-assign-workers-loading{display:inline-flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.875rem}.job-assign-worker-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.job-assign-worker-item{display:flex;gap:.6rem;align-items:flex-start;padding:.6rem .75rem;border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-tertiary);cursor:pointer}.job-assign-worker-text{display:flex;flex-direction:column;min-width:0}.job-assign-worker-name{color:var(--text-primary);font-weight:600;font-size:.9rem}.job-assign-worker-email{color:var(--text-secondary);font-size:.8rem}.image-preview-overlay{position:fixed;inset:0;z-index:1000;background:#000000d9;display:flex;align-items:center;justify-content:center;padding:2rem;animation:fadeIn .2s ease-out}.image-preview-close{position:absolute;top:1rem;right:1rem;width:44px;height:44px;border:none;border-radius:50%;background:#ffffff26;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.image-preview-close:hover{background:#ffffff40}.image-preview-content{max-width:95vw;max-height:90vh;display:flex;align-items:center;justify-content:center}.image-preview-img{max-width:100%;max-height:90vh;width:auto;height:auto;object-fit:contain;border-radius:var(--radius-md);box-shadow:0 8px 32px #00000080}.job-details-fnv-drawer-backdrop{position:fixed;inset:0;z-index:240;border:none;padding:0;margin:0;background:#0f172a59;cursor:pointer}.job-details-fnv-drawer{position:fixed;top:0;right:0;bottom:0;z-index:250;width:min(420px,100vw);display:flex;flex-direction:column;border-left:1px solid var(--border-primary);background:var(--bg-secondary);box-shadow:-8px 0 32px #0000001f;animation:fnvDrawerSlideIn .22s ease-out}@keyframes fnvDrawerSlideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.fnv-detail-panel-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-shrink:0;padding:1rem 1.15rem;border-bottom:1px solid var(--border-primary);background:var(--bg-secondary)}.fnv-detail-panel-title{margin:0;font-size:1rem;font-weight:600}.fnv-detail-panel-close{display:flex;align-items:center;justify-content:center;padding:.35rem;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer}.fnv-detail-panel-close:hover{background:#0000000f;color:var(--text-primary)}.fnv-detail-panel-empty{padding:1.5rem 1rem;color:var(--text-secondary);font-size:.9rem;text-align:center}.fnv-detail-panel-body{margin:0;border:none;border-radius:0;box-shadow:none;overflow-y:auto;flex:1;padding:1rem 1.15rem 1.5rem}.fnv-detail-panel-category{margin:0 0 .35rem;font-size:1.05rem;font-weight:700}.fnv-detail-panel-status{margin:0;font-size:.9rem}@media(max-width:768px){.job-details-fnv-drawer{width:100vw;max-width:100vw}}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.buried-job-form-modal.modal-container{width:min(560px,92vw);max-height:92vh;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column}.buried-job-form-modal .modal-header{flex-shrink:0}.buried-job-form-modal .modal-content{flex:0 0 auto;padding:1rem 1.5rem 1.5rem;color:#334155;overflow:visible}.buried-job-form-modal .buried-job-form{display:flex;flex-direction:column;gap:0;width:100%;box-sizing:border-box}.buried-job-form-modal .buried-form-scroll{overflow:visible;padding-right:4px;padding-bottom:.5rem}.buried-job-form-modal .buried-form-scroll .form-group,.buried-job-form-modal .buried-form-scroll .form-input,.buried-job-form-modal .buried-form-scroll .form-select{box-sizing:border-box;max-width:100%}.buried-job-form-modal .form-actions{flex-shrink:0;padding:1rem 0 .25rem;margin-top:.5rem;border-top:1px solid #e2e8f0;background:#fff}.buried-job-form-modal .form-image-upload-btn{position:relative;display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;color:var(--primary, #0099ff);background:var(--bg-secondary, #f8fafc);border:1px dashed var(--border-primary, #e2e8f0);border-radius:8px;cursor:pointer;min-height:40px}.buried-job-form-modal .form-image-upload-btn input[type=file]{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;opacity:0!important;cursor:pointer;font-size:0}.buried-form-section-title{font-size:.95rem;font-weight:600;margin:1rem 0 .5rem;color:var(--text-primary, #0f172a)}.buried-form-section-title:first-child{margin-top:0}.buried-form-gps-row{display:flex;gap:.5rem;align-items:stretch}.buried-form-gps-row .form-input{flex:1;min-width:0}.buried-form-loc-btn{display:inline-flex;align-items:center;justify-content:center;padding:0 .75rem;border-radius:8px;border:1px solid var(--border-color, #e2e8f0);background:var(--surface-2, #f8fafc);cursor:pointer;flex-shrink:0}.buried-form-loc-btn:disabled{opacity:.5;cursor:not-allowed}.buried-util-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}.buried-form-img-preview .form-image-preview{max-height:160px;object-fit:contain}.buried-wheel-row{margin-bottom:.75rem}.buried-wheel-row:last-of-type{margin-bottom:.5rem}.buried-form-locked-msg{padding:.75rem 1rem;margin-bottom:1rem;border-radius:8px;background:#fef3c7;color:#92400e;font-size:.9rem}.buried-lotlots-list{display:flex;flex-direction:column;gap:.75rem}.buried-lotlots-empty{margin:0;color:#64748b;font-size:.9rem}.buried-lotlots-item{border:1px solid #e2e8f0;border-radius:10px;padding:.75rem;background:#f8fafc}.buried-lotlots-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.buried-lotlots-footage-label{margin-top:.5rem}.buried-lotlots-add-btn{margin-top:.75rem;border:1px dashed #cbd5e1;background:#f8fafc;color:#0f172a;border-radius:8px;padding:.5rem .75rem;cursor:pointer;font-size:.875rem}.address-job-form-modal.modal-container{width:min(560px,92vw);max-height:92vh;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column}.address-job-form-modal .modal-header{flex-shrink:0}.address-job-form-modal .modal-content{flex:0 0 auto;padding:1rem 1.5rem 1.5rem;color:#334155;overflow:visible}.address-job-form-modal .address-job-form{display:flex;flex-direction:column;width:100%}.address-job-form-modal .address-form-scroll{overflow:visible;padding-right:4px;padding-bottom:.5rem}.address-job-form-modal .address-form-scroll .form-group,.address-job-form-modal .address-form-scroll .form-input,.address-job-form-modal .address-form-scroll .form-select{box-sizing:border-box;max-width:100%}.address-job-form-modal .form-image-upload-btn{position:relative;display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;color:var(--primary, #0099ff);background:var(--bg-secondary, #f8fafc);border:1px dashed var(--border-primary, #e2e8f0);border-radius:8px;cursor:pointer;min-height:40px}.address-job-form-modal .form-image-upload-btn input[type=file]{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;opacity:0!important;cursor:pointer;font-size:0}.address-form-section-title{font-size:.95rem;font-weight:600;margin:1rem 0 .5rem;color:var(--text-primary, #0f172a)}.address-form-gps-row{display:flex;gap:.5rem;align-items:stretch}.address-form-gps-row .form-input{flex:1;min-width:0}.address-form-loc-btn{display:inline-flex;align-items:center;justify-content:center;padding:0 .75rem;border-radius:8px;border:1px solid var(--border-color, #e2e8f0);background:var(--surface-2, #f8fafc);cursor:pointer;flex-shrink:0}.address-form-loc-btn:disabled{opacity:.5;cursor:not-allowed}.address-photo-row{margin-bottom:.75rem}.address-form-img-preview .form-image-preview{max-height:160px;object-fit:contain}.address-form-locked-msg{padding:.75rem 1rem;margin-bottom:1rem;border-radius:8px;background:#fef3c7;color:#92400e;font-size:.9rem}.poles-page{padding:2rem;animation:fadeIn .5s ease-out}.poles-filters{padding:1.5rem;margin-bottom:2rem;border-radius:12px}.poles-filters select{cursor:pointer}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.gap-4{gap:1rem}.hoa-attachment-item{margin-bottom:.75rem;padding:.65rem .75rem;border-radius:6px;background:var(--bg-tertiary, rgba(0, 0, 0, .04));border-left:3px solid rgba(0,153,255,.45);min-width:0}.hoa-attachment-item:last-child{margin-bottom:0}.hoa-attachment-item-title{font-size:.95rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem;line-height:1.35}.hoa-attachment-item-rows{display:flex;flex-direction:column;gap:.4rem;min-width:0}.hoa-attachment-item-rows .info-row{display:flex;flex-direction:row;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1rem;min-width:0}.hoa-attachment-item-rows .info-label{flex:0 0 auto;max-width:45%;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.hoa-attachment-item-rows .info-value{flex:1 1 auto;text-align:right;white-space:normal;word-break:break-word;overflow:visible;text-overflow:unset;font-size:.95rem;color:var(--text-primary);font-weight:500}.hoa-attachment-notes-block{display:flex;flex-direction:column;gap:.2rem;margin-top:.25rem;padding-top:.45rem;border-top:1px solid var(--border-primary)}.hoa-attachment-notes-block .info-label{max-width:none}.hoa-attachment-notes-value{text-align:left!important;font-weight:400;color:var(--text-secondary)}.pole-details-page{padding:2rem;animation:fadeIn .5s ease-out}.pole-header-card{padding:2rem;margin-bottom:2rem;display:flex;justify-content:space-between;align-items:flex-start}.pole-title-section h1{font-size:2rem;font-weight:700;margin-bottom:.5rem;color:#f8fafc}.pole-tabs{display:flex;gap:1rem;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:2rem}.tab-button{padding:1rem 1.5rem;color:#94a3b8;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s}.tab-button:hover{color:#f8fafc}.tab-button.active{color:#3b82f6;border-bottom-color:#3b82f6}.tab-content{animation:fadeIn .3s ease-out}.photos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem}.photo-card{border-radius:8px;overflow:hidden;position:relative;aspect-ratio:1}.photo-card img{width:100%;height:100%;object-fit:cover}.hoa-list,.equipment-list,.anchor-list,.span-list{display:flex;flex-direction:column;gap:1rem}.anchor-card{padding:1.25rem;background:#ffffff0a;border-radius:12px;border:1px solid rgba(255,255,255,.08)}.anchor-card-title{font-weight:600;color:#f8fafc;margin-bottom:.75rem;font-size:1rem}.anchor-card-grid,.anchor-strand-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem 1.25rem}.anchor-field{display:flex;flex-direction:column;gap:.25rem}.anchor-field-label{font-size:.75rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.02em}.anchor-field-value{color:#e2e8f0;font-size:.9375rem}.anchor-notes{margin-top:1rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.06)}.anchor-strands{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(59,130,246,.25)}.anchor-strands-title{font-size:.8rem;font-weight:600;color:#93c5fd;margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.04em}.anchor-strand{background:#ffffff08;border-radius:8px;padding:.75rem 1rem;margin-bottom:.75rem;border-left:3px solid #3b82f6}.anchor-strand-header{font-size:.875rem;font-weight:600;color:#cbd5e1;margin-bottom:.5rem}.detail-item{padding:1rem;background:#ffffff08;border-radius:8px;border:1px solid rgba(255,255,255,.05)}.hoa-combined-attachments-title{font-size:.75rem;font-weight:600;color:#94a3b8;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.03em}.chat-page-wrap{display:flex;flex-direction:column;gap:0;height:calc(100vh - 80px - 2 * var(--spacing-xl, 24px));min-height:0;overflow:hidden}.chat-page-container{display:flex;flex:1;min-height:0;gap:var(--spacing-lg);animation:fadeIn var(--transition-base) ease-out;overflow:hidden}.new-chat-section-horizontal{flex-shrink:0}.new-chat-horizontal-row{display:flex;align-items:flex-start;gap:0;flex-wrap:wrap}.new-chat-block{flex:1;min-width:200px;padding:0 var(--spacing-md)}.new-chat-block:first-child{padding-left:0}.new-chat-divider-vertical{width:1px;min-height:60px;background:var(--border-secondary);flex-shrink:0}.new-chat-section-horizontal .new-chat-by-worker,.new-chat-section-horizontal .new-chat-by-user{margin-bottom:0}.new-chat-section-horizontal .new-chat-group{margin-top:0}.new-chat-section-horizontal .new-chat-members-list{max-height:100px}.chat-sidebar{flex:0 0 320px;min-width:280px;min-height:0;display:flex;flex-direction:column;background:var(--bg-glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border-primary);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-md);position:sticky;left:0;align-self:stretch}.chat-sidebar-header{flex-shrink:0;padding:var(--spacing-lg);border-bottom:1px solid var(--border-secondary);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm)}.chat-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0}.new-chat-open-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;background:var(--neon-blue);color:#fff;border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:600;cursor:pointer;transition:background var(--transition-base)}.new-chat-open-btn:hover{background:#007acc}.new-chat-section{background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:var(--radius-lg);padding:var(--spacing-md)}.new-chat-label{display:block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);margin-bottom:var(--spacing-sm)}.new-chat-field-label{display:flex;align-items:center;gap:6px;font-size:.8rem;font-weight:600;color:var(--text-secondary);margin-bottom:6px}.new-chat-field-label svg{opacity:.8}.new-chat-by-worker{margin-bottom:var(--spacing-sm)}.new-chat-by-worker-row{display:flex;gap:8px}.worker-id-input{flex:1;padding:10px 12px;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-md);color:var(--text-primary);font-size:.875rem;outline:none;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.worker-id-input::placeholder{color:var(--text-tertiary)}.worker-id-input:focus{border-color:var(--neon-blue);box-shadow:0 0 0 2px #0099ff26}.start-chat-worker-btn{padding:10px 14px;background:var(--neon-blue);color:#fff;border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background var(--transition-base),transform .15s ease}.start-chat-worker-btn:hover:not(:disabled){background:#007acc}.start-chat-worker-btn:active:not(:disabled){transform:scale(.98)}.start-chat-worker-btn:disabled{opacity:.5;cursor:not-allowed}.new-chat-divider{display:flex;align-items:center;gap:10px;font-size:.75rem;font-weight:600;color:var(--text-tertiary);margin:var(--spacing-sm) 0}.new-chat-divider:before,.new-chat-divider:after{content:"";flex:1;height:1px;background:var(--border-secondary)}.new-chat-by-user{margin-top:var(--spacing-sm)}.new-chat-select{width:100%;padding:10px 36px 10px 12px;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-md);color:var(--text-primary);font-size:.875rem;outline:none;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.new-chat-select:hover{border-color:var(--border-primary)}.new-chat-select:focus{border-color:var(--neon-blue);box-shadow:0 0 0 2px #0099ff26}.new-chat-select option{padding:8px}.new-chat-group{margin-top:var(--spacing-sm)}.new-chat-group-name{margin-bottom:var(--spacing-sm)}.new-chat-members-label{display:block;font-size:.8rem;font-weight:600;color:var(--text-secondary);margin-bottom:6px}.new-chat-members-list{max-height:140px;overflow-y:auto;border:1px solid var(--border-secondary);border-radius:var(--radius-md);background:var(--bg-tertiary);padding:6px;margin-bottom:var(--spacing-sm)}.new-chat-member-item{display:flex;align-items:center;gap:10px;padding:8px 10px;cursor:pointer;border-radius:var(--radius-sm);font-size:.875rem;color:var(--text-primary)}.new-chat-member-item:hover{background:var(--bg-secondary)}.new-chat-member-item input[type=checkbox]{width:16px;height:16px;accent-color:var(--neon-blue);cursor:pointer}.new-chat-create-group-btn{width:100%;justify-content:center}.new-chat-modal-backdrop{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-lg)}.new-chat-modal{background:var(--bg-glass);border:1px solid var(--border-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);max-width:440px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.new-chat-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg);border-bottom:1px solid var(--border-secondary)}.new-chat-modal-title{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin:0}.new-chat-modal-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:background var(--transition-base),color var(--transition-base)}.new-chat-modal-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.new-chat-modal-body{padding:var(--spacing-lg);overflow-y:auto}.new-chat-modal-body .new-chat-section{margin:0}.new-chat-modal-body .new-chat-members-list{max-height:160px}.conversation-list{flex:1 1 0;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.conversation-item{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-secondary);cursor:pointer;transition:all var(--transition-base)}.conversation-item:hover{background:var(--bg-tertiary)}.conversation-item.active{background:#0099ff0d;border-left:4px solid var(--neon-blue)}.conversation-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.conversation-name{font-weight:700;color:var(--text-primary);font-size:.95rem}.conversation-time{font-size:.7rem;color:var(--text-tertiary)}.conversation-preview-row{display:flex;align-items:center;gap:8px;min-width:0}.conversation-preview{flex:1;font-size:.85rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}.conversation-unread-badge{flex-shrink:0;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--neon-blue);color:#fff;font-size:.7rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.chat-main{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;position:sticky;right:0;align-self:stretch;background:var(--bg-glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border-primary);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-md)}.chat-header{flex-shrink:0;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-secondary);display:flex;justify-content:space-between;align-items:center;background:#ffffff80}.chat-recipient-info h3{font-size:1.1rem;font-weight:700;color:var(--text-primary)}.message-list{flex:1;min-height:0;overflow-y:auto;padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md);background:#f8fafc80}.message-list-from-bottom{flex-direction:column-reverse}.message-row{display:flex;width:100%}.message-row.sent{justify-content:flex-end}.message-row.received{justify-content:flex-start}.message-bubble{max-width:75%;padding:var(--spacing-md);border-radius:var(--radius-lg);position:relative;box-shadow:var(--shadow-sm);line-height:1.5}.sent .message-bubble{background:var(--gradient-primary);color:#fff;border-bottom-right-radius:4px}.received .message-bubble{background:var(--bg-secondary);color:var(--text-primary);border-bottom-left-radius:4px;border:1px solid var(--border-primary)}.sender-name{font-size:.7rem;font-weight:700;margin-bottom:4px;opacity:.8}.message-text{font-size:.9rem}.message-time{font-size:.65rem;margin-top:4px;text-align:right;display:block;opacity:.7}.chat-input-container{flex-shrink:0;padding:var(--spacing-lg);background:var(--bg-secondary);border-top:1px solid var(--border-secondary)}.chat-input-form{display:flex;gap:var(--spacing-md)}.message-input{flex:1;padding:var(--spacing-md);background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-md);color:var(--text-primary);font-size:.9rem;outline:none;transition:all var(--transition-base)}.message-input:focus{background:var(--bg-secondary);border-color:var(--neon-blue);box-shadow:0 0 0 4px #0099ff1a}.send-button{width:48px;height:48px;background:var(--neon-blue);color:#fff;border:none;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-base);box-shadow:0 4px 12px #09f3}.send-button:hover:not(:disabled){background:#007acc;transform:translateY(-2px)}.send-button:disabled{opacity:.5;cursor:not-allowed}.chat-empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-tertiary);gap:var(--spacing-md)}.empty-icon-wrapper{width:80px;height:80px;background:var(--bg-tertiary);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}
