:root{--gov-navy: #002D72;--gov-dark-gray: #212121;--gov-medium-gray: #5B616B;--gov-light-gray: #F5F5F5;--gov-red: #B51C30;--gov-white: #FFFFFF;--gov-border: #D6D6D6}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:1.5;color:#333;background:var(--gov-light-gray);-webkit-font-smoothing:none;-moz-osx-font-smoothing:auto}h1{font-family:Georgia,serif;font-size:28px;font-weight:400;color:var(--gov-navy);margin-bottom:16px}h2{font-family:Georgia,serif;font-size:24px;font-weight:400;color:var(--gov-dark-gray);margin-bottom:12px}h3{font-family:Arial,Helvetica,sans-serif;font-size:18px;font-weight:700;color:var(--gov-dark-gray);margin-bottom:8px}label{font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:400;color:#666;text-transform:uppercase;letter-spacing:.5px}.app{width:100vw;height:100vh;position:relative;overflow:hidden}.map-container{width:100%;height:100%;position:absolute;top:0;left:0}.search-bar{position:fixed;bottom:40px;bottom:calc(40px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);background:var(--gov-white);border-radius:0;height:48px;min-width:400px;max-width:600px;width:90%;z-index:1001;transition:none}.search-bar-content{display:flex;align-items:center;gap:8px;padding:0 12px;height:100%;box-shadow:none;border:2px solid var(--gov-navy);border-radius:0;background:var(--gov-white);transition:none}.search-bar-focused{top:50%;bottom:auto;left:50%;transform:translate(-50%,-50%);max-width:700px}.search-bar-focused .search-bar-content{box-shadow:none;border-color:var(--gov-navy);border-width:3px}.search-overlay{position:fixed;inset:0;background:#000000b3;backdrop-filter:none;z-index:1000;opacity:0;pointer-events:none;transition:none}.search-overlay.visible{opacity:1;pointer-events:auto}.search-bar-content:hover{box-shadow:none;border-color:var(--gov-dark-gray)}.search-bar-content:focus-within{box-shadow:none;outline:2px solid var(--gov-navy);outline-offset:0;border:2px solid var(--gov-navy);padding:0 12px}.search-icon{color:#666;flex-shrink:0}.search-input{flex:1;border:none;outline:none;font-size:16px;color:#333;background:transparent}.search-input::placeholder{color:#999}.clear-button{background:var(--gov-white);border:1px solid var(--gov-medium-gray);cursor:pointer;color:var(--gov-dark-gray);padding:6px 12px;min-width:auto;min-height:32px;display:flex;align-items:center;justify-content:center;border-radius:0;transition:none;flex-shrink:0;font-size:12px;font-weight:700;text-transform:uppercase}.clear-button:hover{background:var(--gov-navy);color:var(--gov-white);border-color:var(--gov-navy)}.tooltip{position:absolute;background:var(--gov-dark-gray);color:#fff;padding:8px 12px;border-radius:0;border:1px solid var(--gov-white);font-size:14px;pointer-events:none;transform:translate(-50%,-100%);margin-top:-10px;white-space:nowrap;z-index:100;box-shadow:none}.tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:#000000d9}@media (max-width: 375px){.drawer-content{max-width:100%;height:100vh;height:100dvh;padding:40px 16px env(safe-area-inset-bottom) 16px;margin:0}.drawer-close{display:none!important}.search-bar{min-width:260px;width:98%;bottom:50px;bottom:calc(50px + env(safe-area-inset-bottom));height:44px}.search-bar-content{padding:0 16px}.search-bar-content:focus-within{padding:0 15px}.search-bar-focused{top:50%;bottom:auto;left:50%;transform:translate(-50%,-50%) scale(1.02);width:98%;max-width:98%;box-shadow:0 6px 30px #0003}.search-input{font-size:16px}.clear-button{min-width:44px;min-height:44px}}.drawer-drag-handle{display:none;position:absolute;top:0;left:0;right:0;height:40px;cursor:grab;touch-action:none;z-index:1;-webkit-tap-highlight-color:transparent}.drawer-drag-handle:active{cursor:grabbing}.drawer-drag-handle:before{content:"";position:absolute;inset:-10px 0}.drag-handle-bar{width:48px;height:5px;background:var(--gov-medium-gray);border-radius:3px;margin:14px auto 0;opacity:.5;transition:opacity .2s ease,transform .2s ease,width .2s ease}.drawer-content.dragging .drag-handle-bar{opacity:.8;transform:scaleX(1.3);width:64px}@media (max-width: 768px){.drawer-drag-handle{display:block}.drawer-content{position:fixed;inset:auto 0 0;width:100%;max-width:100%;height:100vh;height:100dvh;max-height:100vh;border-radius:24px 24px 0 0;border-top:3px solid var(--gov-navy);transform:translateY(100%);transition:transform .4s cubic-bezier(.4,0,.2,1),opacity .3s ease;padding:40px 24px env(safe-area-inset-bottom) 24px;margin:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;will-change:transform;box-shadow:0 -4px 24px #00000040}.drawer-overlay.drawer-open .drawer-content{transform:translateY(0);animation:slideUpFromBottom .4s cubic-bezier(.4,0,.2,1)}.drawer-close{display:none!important}.search-bar{min-width:300px;bottom:60px;bottom:calc(60px + env(safe-area-inset-bottom));height:48px}.search-bar-content{padding:0 18px}.search-bar-content:focus-within{padding:0 17px}.search-bar-focused{top:50%;bottom:auto;left:50%;transform:translate(-50%,-50%) scale(1.02);max-width:95%;box-shadow:0 6px 30px #0003}.search-input{font-size:16px}}@media (max-width: 480px){.drawer-content{height:100vh;height:100dvh;padding:36px 16px env(safe-area-inset-bottom) 16px;margin:0}.drawer-close{display:none!important}.search-bar{min-width:280px;width:95%;bottom:50px;bottom:calc(50px + env(safe-area-inset-bottom));height:44px}.search-bar-content{padding:0 16px}.search-bar-content:focus-within{padding:0 15px}.search-bar-focused{top:50%;bottom:auto;left:50%;transform:translate(-50%,-50%) scale(1.02);width:95%;max-width:95%;box-shadow:0 6px 30px #0003}.search-input{font-size:14px}.search-icon{width:18px;height:18px}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--gov-light-gray);border-radius:0}::-webkit-scrollbar-thumb{background:var(--gov-medium-gray);border-radius:0}::-webkit-scrollbar-thumb:hover{background:#555}@keyframes slideInFromRight{0%{transform:translate(100%);opacity:.8}to{transform:translate(0);opacity:1}}@keyframes slideUpFromBottom{0%{transform:translateY(100%);opacity:.9}to{transform:translateY(0);opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.drawer-overlay{position:fixed;inset:0;background:#0000;pointer-events:none;transition:background .4s cubic-bezier(.25,.46,.45,.94);z-index:1002;will-change:background}.drawer-overlay.drawer-open{background:#0006;pointer-events:auto;animation:fadeIn .3s ease-out}.drawer-content{position:fixed;top:0;right:0;height:100vh;width:100%;max-width:420px;background:var(--gov-white);padding:24px;box-shadow:-4px 0 24px #0000001f;border-left:3px solid var(--gov-navy);transform:translate(100%);transition:transform .4s cubic-bezier(.25,.46,.45,.94),box-shadow .3s ease;overflow-y:auto;will-change:transform}.drawer-overlay.drawer-open .drawer-content{transform:translate(0);animation:slideInFromRight .4s cubic-bezier(.25,.46,.45,.94)}.drawer-close{position:absolute;top:16px;right:16px;background:var(--gov-white);border:2px solid var(--gov-dark-gray);cursor:pointer;color:var(--gov-dark-gray);padding:4px;min-width:32px;min-height:32px;border-radius:0;transition:none;display:flex;align-items:center;justify-content:center;z-index:10}.drawer-close:hover{background:var(--gov-navy);color:var(--gov-white);border-color:var(--gov-navy)}.drawer-content h2{margin:0 0 24px;color:#333;font-size:clamp(1.25rem,4vw,1.5rem);font-weight:600;padding-right:40px;padding-top:8px}.drawer-info{display:flex;flex-direction:column;gap:12px}.info-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #eee}.info-row:last-child{border-bottom:none}.info-label{color:#666;font-size:clamp(.875rem,2vw,.875rem);font-weight:500}.info-value{color:#333;font-size:clamp(.875rem,2.5vw,.9375rem);font-weight:600}.map-loading{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff}.loading-overlay{position:fixed;inset:0;background:#ffffffe6;backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:9999}.loading-spinner{display:none}.loading-text{color:var(--gov-dark-gray);font-size:16px;font-weight:700;text-transform:uppercase;letter-spacing:1px}.loading-text:after{content:"LOADING..."}.map-loading{background:var(--gov-white);border:2px solid var(--gov-navy);padding:20px;text-align:center}.map-loading p{margin-top:0;color:var(--gov-dark-gray);font-size:16px;font-weight:700;text-transform:uppercase}.shimmer{background:var(--gov-light-gray);border:1px solid var(--gov-border)}.shimmer-line{height:12px;border-radius:0;margin-bottom:8px;background:var(--gov-light-gray)}.shimmer-block{border-radius:0;background:var(--gov-light-gray)}.shimmer-container{padding:16px}.wage-section{margin-top:24px;padding-top:24px}.wage-section h3{color:#333;font-size:clamp(1rem,3vw,1.125rem);font-weight:600;margin-bottom:16px}.drawer-divider{width:100%;height:1px;background:#e0e0e0;margin:20px 0}.occupation-selector{position:relative;margin-bottom:20px}.selector-label{display:block;color:#666;font-size:14px;font-weight:500;margin-bottom:8px}.selector-input-wrapper{position:relative}.selector-input{width:100%;height:36px;padding:0 8px;border:1px solid var(--gov-medium-gray);border-radius:0;font-size:14px;color:#333;background:var(--gov-white);transition:none}.selector-input:focus{outline:2px solid var(--gov-navy);outline-offset:0;border-color:var(--gov-navy);box-shadow:none}.selector-loading{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--gov-dark-gray);font-size:11px;font-weight:700;text-transform:uppercase}.selector-loading:after{content:"LOADING"}.loading-spinner-small{display:none}.selector-dropdown{position:absolute;top:calc(100% + 2px);left:0;right:0;background:var(--gov-white);border:1px solid var(--gov-dark-gray);border-radius:0;box-shadow:none;max-height:300px;overflow-y:auto;z-index:100}.dropdown-header{padding:8px 12px;color:#666;font-size:12px;font-weight:600;text-transform:uppercase;border-bottom:1px solid #eee}.dropdown-list{list-style:none;margin:0;padding:0}.dropdown-item{padding:10px 12px;cursor:pointer;border-bottom:1px solid var(--gov-border);transition:none}.dropdown-item:hover{background:var(--gov-light-gray);color:var(--gov-navy)}.dropdown-item:last-child{border-bottom:none}.item-title{color:#333;font-size:14px;font-weight:500;margin-bottom:2px}.item-code{color:var(--gov-navy);font-size:12px;margin-bottom:4px;font-weight:700}.item-description{color:#999;font-size:12px;line-height:1.4}.wage-level-display{margin-top:20px}.wage-header{margin-bottom:20px}.wage-header h3{color:#333;font-size:18px;font-weight:600;margin:0 0 8px}.wage-subtitle{color:#666;font-size:14px;margin:0}.wage-levels-grid{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:20px}.wage-level-card{background:var(--gov-white);border:1px solid var(--gov-border);border-radius:0;border-left:4px solid;padding:16px;transition:none}.wage-level-card:hover{transform:none;box-shadow:none;background:#fafafa}.level-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.level-title{font-size:16px;font-weight:600}.level-description{color:#666;font-size:13px;font-weight:500}.wage-amount{margin-bottom:12px}.hourly-wage,.annual-wage{display:flex;justify-content:space-between;align-items:center;padding:4px 0}.wage-label{color:#666;font-size:13px}.wage-value{color:#333;font-size:16px;font-weight:600}.level-details{color:#999;font-size:12px;line-height:1.4;margin:0}.wage-average{background:var(--gov-light-gray);border:2px solid var(--gov-navy);border-radius:0;padding:12px;display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.average-label{color:#666;font-size:14px;font-weight:500}.average-values{text-align:right}.average-hourly{color:#333;font-size:16px;font-weight:600}.average-annual{color:#666;font-size:13px;margin-left:8px}.wage-note{background:#fffbf0;border:2px solid var(--gov-red);border-left:4px solid var(--gov-red);border-radius:0;padding:12px}.wage-note p{color:#666;font-size:12px;line-height:1.5;margin:0}.wage-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 0}.wage-loading p{margin-top:12px;color:#666;font-size:14px}.wage-error{background:#ffebee;border:1px solid #ff5252;border-radius:6px;padding:12px;margin-top:16px}.wage-error p{color:#d32f2f;font-size:14px;margin:0}.occupation-selector-optimized{position:relative;margin-bottom:20px}.selector-clear{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:#666;font-size:20px;cursor:pointer;padding:0 8px;line-height:1}.selector-clear:hover{color:#333}.virtual-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 4px 12px #0000001a;z-index:1000;overflow:hidden}.virtual-item{padding:10px 12px;cursor:pointer;border-bottom:1px solid #f5f5f5;transition:background .15s;display:flex;flex-direction:column;justify-content:center}.virtual-item:hover{background:#f8f9fa}.no-results{padding:20px;text-align:center;color:#666;font-size:14px}.db-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 0;color:#666}.db-loading p{margin-top:12px;font-size:14px}.virtual-item *{pointer-events:none}.virtual-dropdown>div{scrollbar-width:thin;scrollbar-color:#888 #f1f1f1}.virtual-dropdown>div::-webkit-scrollbar{width:6px}.virtual-dropdown>div::-webkit-scrollbar-track{background:#f1f1f1}.virtual-dropdown>div::-webkit-scrollbar-thumb{background:var(--gov-medium-gray);border-radius:0}.virtual-dropdown>div::-webkit-scrollbar-thumb:hover{background:#555}.search-suggestions{position:absolute;top:calc(100% + 2px);left:0;right:0;background:var(--gov-white);border:2px solid var(--gov-navy);border-radius:0;box-shadow:none;max-height:300px;overflow-y:auto;animation:none}.suggestion-item{padding:10px 12px;cursor:pointer;transition:none;border-bottom:1px solid var(--gov-border)}.suggestion-item:last-child{border-bottom:none}.suggestion-item:hover{background:var(--gov-light-gray)}.suggestion-item.selected{background:var(--gov-light-gray);border-left:3px solid var(--gov-navy);padding-left:9px}.suggestion-content{display:flex;align-items:center;justify-content:space-between}.suggestion-name{color:#333;font-size:15px;font-weight:500}.suggestion-highlight{background:#fff3cd;color:#000;font-weight:600}.suggestion-state{color:var(--gov-dark-gray);font-size:13px;font-weight:500;padding:2px 8px;background:var(--gov-light-gray);border:1px solid var(--gov-border);border-radius:0;margin-left:12px}.search-suggestions::-webkit-scrollbar{width:6px}.search-suggestions::-webkit-scrollbar-track{background:transparent}.search-suggestions::-webkit-scrollbar-thumb{background:var(--gov-medium-gray);border-radius:0}.search-suggestions::-webkit-scrollbar-thumb:hover{background:#bbb}.search-error-tooltip{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);background:var(--gov-red);color:#fff;padding:8px 16px;border-radius:0;border:1px solid var(--gov-white);font-size:13px;white-space:nowrap;box-shadow:none}.search-input:disabled{cursor:wait;opacity:.7}@media (hover: none) and (pointer: coarse){.search-bar-content:hover{box-shadow:0 4px 20px #0000001f}.dropdown-item:hover,.suggestion-item:hover,.virtual-item:hover{background:transparent}.dropdown-item:active,.suggestion-item:active,.virtual-item:active{background:#f8f9fa}.clear-button:hover,.selector-clear:hover{background:transparent}.clear-button:active,.selector-clear:active{background:#f0f0f0}}@media (min-width: 1024px){.search-bar{max-width:700px}.drawer-content{width:420px;max-width:420px}}@media (max-width: 320px){.drawer-content{padding:36px 12px env(safe-area-inset-bottom) 12px;height:100vh;height:100dvh;margin:0}.drawer-close{display:none!important}.drawer-content h2{font-size:1.125rem}.search-bar{min-width:calc(100vw - 20px);width:calc(100vw - 20px);bottom:40px;bottom:calc(40px + env(safe-area-inset-bottom))}.search-bar-content{padding:0 14px}.search-bar-content:focus-within{padding:0 13px}.search-bar-focused{top:50%;bottom:auto;left:50%;transform:translate(-50%,-50%) scale(1.01);width:calc(100vw - 20px);max-width:calc(100vw - 20px);box-shadow:0 6px 30px #0003}.dropdown-item,.suggestion-item,.virtual-item{min-height:44px}}@media (max-width: 768px){body{-webkit-text-size-adjust:100%}}.location-button-container{display:none;position:fixed;bottom:110px;right:20px;z-index:999}@media (max-width: 768px){.location-button-container{display:block}}.location-button{width:48px;height:48px;border-radius:0;background:var(--gov-white);border:2px solid var(--gov-navy);box-shadow:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:none;color:var(--gov-navy);position:relative}.location-button:hover:not(:disabled){transform:none;background:var(--gov-navy);color:var(--gov-white);box-shadow:none}.location-button:active:not(:disabled){transform:none;background:var(--gov-dark-gray)}.location-button.active{background:var(--gov-navy);color:var(--gov-white);border-color:var(--gov-navy)}.location-button.loading{pointer-events:none;opacity:.7}.location-button:disabled{cursor:not-allowed;opacity:.7}.location-icon{width:24px;height:24px}.location-icon.spinning{opacity:.5}.location-error-tooltip{position:absolute;bottom:70px;right:0;background:var(--gov-red);color:#fff;padding:10px 16px;border-radius:0;border:2px solid var(--gov-white);font-size:14px;white-space:nowrap;max-width:250px;box-shadow:none}@media (max-width: 768px){.search-bar{bottom:60px;bottom:calc(60px + env(safe-area-inset-bottom))}}
