:root{color:#1f2933;background:#eef1f4;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Yu Gothic,Yu Gothic UI,sans-serif;font-size:14px}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;overflow:hidden}body{margin:0}button,input{font:inherit}button{cursor:pointer}.app-shell{display:grid;grid-template-rows:56px minmax(0,1fr);min-width:1024px;position:fixed;inset:0;width:100%;height:100vh;min-height:0;overflow:hidden}.app-header{display:grid;grid-template-columns:210px minmax(0,1fr) auto;align-items:center;gap:18px;padding:0 16px;border-bottom:1px solid #d3d9df;background:#fff}.app-brand{min-width:0}.app-header h1{margin:0;color:#102a43;font-size:16px;font-weight:700;letter-spacing:0}.header-stats{display:flex;align-items:stretch;gap:0;min-width:0;margin:0}.header-stats div{display:grid;align-content:center;min-width:108px;padding:0 18px;border-left:1px solid #e1e6eb}.header-stats dt{color:#7a8998;font-size:10px;font-weight:700}.header-stats dd{margin:0;color:#102a43;font-size:15px;font-weight:800;line-height:1.15}.header-action-button{display:inline-flex;align-items:center;justify-content:center;height:32px;border:0;border-radius:6px;padding:0 14px;color:#fff;font-size:12px;font-weight:800;text-decoration:none;background:#1f73e8}.app-layout{display:grid;grid-template-columns:300px minmax(680px,1fr);min-height:0;overflow:hidden}.company-sidebar,.layer-panel{position:relative;min-height:0;height:100%;padding:14px;border-right:1px solid #d3d9df;background:#f7f9fc;overflow:hidden}.layer-panel{display:block;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}.company-list-view,.company-detail-view{height:100%;min-height:0}.layer-panel-view{min-height:100%}.company-list-view,.layer-panel-view{display:grid;grid-template-rows:auto auto auto;gap:12px;overflow:visible}.company-list-view[data-hidden=true],.layer-panel-view[data-hidden=true]{display:none}.search-section,.display-settings-section,.company-list-section{display:grid;gap:8px;min-height:0}.search-section h2,.display-settings-section h2,.company-list-section h2{margin:0;color:#25313d;font-size:12px;font-weight:700;letter-spacing:0}.search-field{display:grid;gap:5px}.search-field span{color:#617283;font-size:12px}.search-field input{width:100%;height:38px;border:1px solid #c9d2dc;border-radius:6px;padding:0 10px;color:#51606f;font-size:12px;background:#fff}.search-field input:disabled{opacity:1}.filter-panel{display:grid;gap:12px;padding:12px;border:1px solid #d7dde4;border-radius:8px;background:#fff}.filter-panel fieldset{min-width:0;margin:0;padding:0;border:0}.filter-panel legend{margin-bottom:7px;color:#50606f;font-size:12px;font-weight:800}.filter-options{display:grid;gap:6px}.filter-options-inline{grid-template-columns:repeat(5,minmax(0,1fr))}.filter-options label{display:flex;align-items:center;gap:5px;color:#25313d;font-size:12px;line-height:1.3}.filter-options input{margin:0}.company-list-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.company-list-section{grid-template-rows:auto auto auto;overflow:visible}.clear-nearby-button{border:1px solid #c9d2dc;border-radius:6px;padding:5px 8px;color:#25313d;font-size:12px;font-weight:700;background:#fff}.nearby-summary{margin:-4px 0 0;color:#50606f;font-size:12px;line-height:1.45}.company-list{display:grid;align-content:start;gap:8px;min-height:0;margin:0;padding:0;overflow:visible;overscroll-behavior:contain;list-style:none}.company-item{width:100%;display:grid;gap:4px;padding:10px 12px;border:1px solid #d7dde4;border-radius:8px;color:inherit;text-align:left;background:#fff;box-shadow:0 1px 2px #141f2b0a}.company-item[data-selected=true]{border-color:#2f6f9f;background:#edf6fb;box-shadow:inset 3px 0 #2f6f9f}.company-item strong{color:#1f2933;font-size:12px;line-height:1.45}.company-item span,.company-item small{color:#6b7c8f;font-size:11px;line-height:1.35}.company-list-message{margin:0;color:#50606f;font-weight:700}.company-list-error{color:#9f2f2f}.layer-accordion{display:grid;gap:0;padding:0 10px 10px;border:1px solid #d7dde4;border-radius:8px;background:#fff}.layer-accordion.is-disabled{opacity:.72}.layer-accordion-header{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:34px;padding-top:8px}.layer-accordion-trigger{display:inline-flex;align-items:center;gap:8px;border:0;padding:0;color:#25313d;font-size:12px;font-weight:800;background:transparent}.layer-accordion-caret{display:inline-flex;width:16px;color:#6b7c8f;transition:transform .16s ease}.layer-accordion-caret.is-expanded{transform:rotate(180deg)}.layer-toggle{display:inline-flex;align-items:center;gap:6px;color:#50606f;font-size:11px;font-weight:700}.layer-toggle input{margin:0}.layer-accordion-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .18s ease,opacity .18s ease;opacity:0}.layer-accordion-body.is-expanded{grid-template-rows:1fr;opacity:1}.layer-accordion-body-inner{min-height:0;overflow:hidden}.customer-layer-panel{display:grid;gap:10px;padding-top:10px}.layer-quick-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.layer-quick-presets button,.display-target-list label,.customer-nearby-grid button,.customer-nearby-meta button{border:1px solid #c9d2dc;border-radius:6px;padding:7px 8px;color:#25313d;font-size:11px;font-weight:700;background:#fff}.display-target-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.display-target-list label{position:relative;display:grid;place-items:center;align-items:center;min-height:26px;padding:4px;font-size:10px;line-height:1.1;white-space:nowrap}.display-target-list label:has(input:checked){border-color:#1f73e8;color:#1f73e8;background:#eef5ff}.display-target-list input{position:absolute;opacity:0;pointer-events:none}.customer-nearby-grid button.is-active{border-color:#c43030;color:#c43030;background:#faecec}.customer-filter-group{min-width:0;margin:0;padding:0;border:0}.customer-filter-group legend{margin-bottom:6px;color:#50606f;font-size:11px;font-weight:800}.customer-filter-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.customer-filter-stack{display:flex;flex-wrap:wrap;gap:5px}.customer-filter-grid label,.customer-filter-stack label{position:relative;display:flex;align-items:center;gap:5px;min-height:26px;padding:5px 7px;border:1px solid #d7dde4;border-radius:6px;color:#25313d;font-size:11px;font-weight:700;line-height:1.3;background:#fff}.customer-filter-grid label:has(input:checked),.customer-filter-stack label:has(input:checked){border-color:#1f73e8;color:#1f73e8;background:#eef5ff}.customer-filter-grid input,.customer-filter-stack input{position:absolute;opacity:0;pointer-events:none}.customer-nearby-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#50606f;font-size:11px}.customer-nearby-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.customer-nearby-summary{margin:0;color:#50606f;font-size:11px}.company-detail{display:grid;align-content:start;gap:20px;height:100%;min-height:0;overflow:auto;overscroll-behavior:contain}.detail-back-button{justify-self:start;border:1px solid #c9d2dc;border-radius:6px;padding:8px 11px;color:#25313d;font-weight:700;background:#fff}.detail-action-section{display:grid;gap:8px;justify-items:start}.nearby-search-button{border:1px solid #ba3535;border-radius:6px;padding:8px 12px;color:#fff;font-weight:800;background:#c43030}.nearby-search-button:disabled{cursor:not-allowed;opacity:.45}.nearby-radius-options{display:grid;grid-template-columns:repeat(4,auto);gap:6px}.nearby-radius-options button{border:1px solid #c9d2dc;border-radius:6px;padding:6px 8px;color:#25313d;font-size:12px;font-weight:700;background:#fff}.detail-section{display:grid;gap:10px}.detail-section h2{margin:0;color:#25313d;font-size:15px;font-weight:700;letter-spacing:0}.detail-list{display:grid;gap:10px;margin:0}.detail-list div{display:grid;gap:4px;padding-bottom:10px;border-bottom:1px solid #e1e6eb}.detail-list dt{color:#6b7c8f;font-size:12px;font-weight:700}.detail-list dd{min-width:0;margin:0;color:#1f2933;font-size:13px;line-height:1.45;overflow-wrap:anywhere}.detail-list a{color:#2f6f9f}.detail-inline-list{display:grid;gap:3px;margin:0;padding:0;list-style:none}.visit-history-list{display:grid;gap:10px;margin:0;padding:0;list-style:none;counter-reset:visit-history}.visit-history-list li{display:grid;gap:6px;padding:12px;border:1px solid #d7dde4;border-radius:10px;color:#1f2933;line-height:1.45;background:linear-gradient(180deg,#fff,#fbfcfd);position:relative}.visit-history-list time{color:#1f2933;font-weight:800;letter-spacing:.01em}.visit-history-list p{margin:0}.visit-history-label{color:#6b7c8f;font-size:12px;font-weight:800}.visit-history-staff-list{display:grid;gap:4px;margin:0;padding:0;list-style:none}.visit-history-staff-list li{padding:0;border:0;background:transparent}.visit-history-staff-list li:before{content:"";position:static;display:inline-block;width:0;height:auto;margin-right:0;border-radius:0;background:transparent;box-shadow:none}.visit-history-empty-value,.visit-history-next{color:#50606f}.detail-empty-message{margin:0;color:#50606f;font-weight:700}.map-panel{position:relative;display:grid;min-width:0;height:100%;min-height:0;background:#dce3ea;overflow:hidden}.map-canvas{grid-area:1 / 1;position:relative;width:100%;height:100%;min-height:0;background:transparent;z-index:0}.map-canvas>div,.map-canvas .gm-style{width:100%!important;height:100%!important}.map-status{grid-area:1 / 1;position:absolute;inset:0;display:grid;place-items:center;padding:24px;color:#394b59;font-size:15px;font-weight:700;text-align:center;background:#e7edf2;z-index:1;pointer-events:none}.map-status-error{color:#9f2f2f;background:#f5e7e7}.sales-marker{width:20px;height:20px;display:grid;place-items:center;border:2px solid rgba(255,255,255,.92);border-radius:50% 50% 50% 4px;background:#c43030e0;box-shadow:0 2px 7px #141f2b2e;transform:rotate(-45deg);transform-origin:center;transition:background-color .14s ease,box-shadow .14s ease,opacity .14s ease,transform .14s ease;opacity:.9}.sales-marker span{width:6px;height:6px;border-radius:50%;background:#ffffffeb}.sales-marker:hover,.sales-marker-selected{background:#f4be2cf5;box-shadow:0 6px 16px #141f2b4d;opacity:1;transform:rotate(-45deg) translateY(-2px) scale(1.08)}
