:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#fff;background-color:#1a1a2e;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%;overflow:hidden}*{box-sizing:border-box}.app{display:flex;width:100vw;height:100vh;overflow:hidden}.main-content{flex:1;display:flex;flex-direction:column;position:relative}.map-wrapper{flex:1;position:relative}.map-loading,.map-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;background:#1a1a2e;color:#fff}.api-key-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;padding:2rem;text-align:center;background:#1a1a2e;color:#fff}.api-key-error pre{background:#333;padding:1rem;border-radius:4px;margin-top:1rem}.status-bar{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:#2196f3;color:#fff}.status-bar button{padding:.25rem .75rem;border:none;border-radius:4px;background:#fff3;color:#fff;cursor:pointer}.status-bar button:hover{background:#ffffff4d}.status-bar .hint{font-size:.85rem;opacity:.8}.fab-container{position:absolute;bottom:2rem;left:1rem;display:flex;flex-direction:column;gap:.5rem;z-index:100}.fab{width:56px;height:56px;border-radius:50%;border:none;background:#4caf50;color:#fff;font-size:1.5rem;cursor:pointer;box-shadow:0 4px 12px #0000004d;transition:transform .2s,box-shadow .2s}.fab:hover{transform:scale(1.1);box-shadow:0 6px 16px #0006}.company-panel{width:280px;background:#1a1a2e;color:#fff;display:flex;flex-direction:column;border-right:1px solid #333}.panel-header{padding:1rem;border-bottom:1px solid #333}.panel-header h2{margin:0;font-size:1.25rem}.company-list{flex:1;overflow-y:auto}.company-item{border-bottom:1px solid #333}.company-header{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;cursor:pointer;transition:background .2s}.company-header:hover{background:#2a2a3e}.company-color{width:12px;height:12px;border-radius:50%;flex-shrink:0}.company-name{flex:1;font-weight:500}.company-count{font-size:.8rem;color:#888;padding:.125rem .5rem;background:#333;border-radius:10px}.expand-icon{font-size:.7rem;color:#666;transition:transform .2s}.expand-icon.expanded{transform:rotate(90deg)}.asset-list{background:#151520;padding:.5rem}.no-assets{padding:.5rem 1rem;color:#666;font-size:.85rem;font-style:italic}.asset-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:4px;cursor:pointer;transition:background .2s}.asset-item:hover{background:#2a2a3e}.asset-item.selected{background:#2196f3}.asset-name{flex:1;font-size:.9rem}.asset-type{font-size:.75rem;color:#888;text-transform:uppercase}.asset-item.selected .asset-type{color:#ffffffb3}.delete-btn{width:20px;height:20px;padding:0;border:none;background:transparent;color:#666;font-size:1.2rem;line-height:1;cursor:pointer;opacity:0;transition:opacity .2s,color .2s}.asset-item:hover .delete-btn{opacity:1}.delete-btn:hover{color:#e53935}.add-asset-btn{width:100%;padding:.5rem;margin-top:.5rem;border:1px dashed #444;border-radius:4px;background:transparent;color:#888;font-size:.85rem;cursor:pointer;transition:border-color .2s,color .2s}.add-asset-btn:hover{border-color:#4caf50;color:#4caf50}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#1a1a2e;border-radius:8px;width:400px;max-width:90vw;color:#fff}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid #333}.modal-header h3{margin:0}.close-btn{background:none;border:none;color:#888;font-size:1.5rem;cursor:pointer}.close-btn:hover{color:#fff}.modal-content form{padding:1rem}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-size:.9rem;color:#aaa}.form-group input,.form-group select{width:100%;padding:.75rem;border:1px solid #444;border-radius:4px;background:#2a2a3e;color:#fff;font-size:1rem}.form-group input:focus,.form-group select:focus{outline:none;border-color:#2196f3}.form-info{padding:1rem;background:#2a2a3e;border-radius:4px;margin-bottom:1rem}.form-info p{margin:0 0 .5rem;font-size:.9rem;color:#aaa}.form-info p:last-child{margin-bottom:0}.modal-actions{display:flex;gap:.5rem;justify-content:flex-end;padding-top:.5rem}.btn-secondary{padding:.75rem 1.5rem;border:1px solid #444;border-radius:4px;background:transparent;color:#fff;cursor:pointer}.btn-secondary:hover{background:#333}.btn-primary{padding:.75rem 1.5rem;border:none;border-radius:4px;background:#4caf50;color:#fff;cursor:pointer}.btn-primary:hover{background:#43a047}.btn-primary:disabled{background:#333;color:#666;cursor:not-allowed}
