:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;color:#1f2933;background-color:#f7fafc}*{box-sizing:border-box;margin:0;padding:0}body,html,#root{height:100%;width:100%}button{cursor:pointer;border:none;border-radius:6px;padding:.5rem .9rem;font-size:.95rem;font-weight:600;background-color:#2563eb;color:#fff;transition:background-color .18s ease}button:hover{background-color:#1d4ed8}button:disabled{cursor:not-allowed;background-color:#93c5fd}input[type=search]{width:100%;padding:.5rem .75rem;border-radius:6px;border:1px solid #d1d5db;font-size:.95rem}main{display:flex;height:100%}.jobs-panel{width:360px;max-width:100%;background-color:#fff;border-right:1px solid #e2e8f0;display:flex;flex-direction:column;padding:1rem;gap:1rem;overflow:hidden}.jobs-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem;padding-right:.25rem}.jobs-card{padding:.75rem;border:1px solid #e2e8f0;border-radius:8px;background-color:#f9fafb;transition:border-color .18s ease,background-color .18s ease}.jobs-card:hover,.jobs-card.active{border-color:#2563eb;background-color:#eff6ff}.jobs-card h3{font-size:1rem;margin-bottom:.35rem}.jobs-card address{font-style:normal;color:#4b5563;font-size:.9rem}.jobs-card a{color:#2563eb;font-weight:600;text-decoration:none}.map-container{flex:1;min-width:0;position:relative}#map{position:absolute;inset:0}.status-bar{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem}.status-bar span{color:#4b5563}.controls{display:flex;gap:.5rem;align-items:center}.todo-note{font-size:.78rem;color:#9ca3af}@media (max-width: 900px){main{flex-direction:column}.jobs-panel{width:100%;border-right:none;border-bottom:1px solid #e2e8f0}.map-container{height:400px}}.jobs-meta{margin-top:.5rem;display:flex;gap:.75rem;flex-wrap:wrap;font-size:.8rem;color:#6b7280}
