.leaflet-control-traccar{background:white;border-radius:4px;box-shadow:0 1px 5px rgba(0,0,0,0.4)}.leaflet-control-traccar-button{display:block;width:30px;height:30px;line-height:30px;text-align:center;text-decoration:none;font-size:18px;color:#333;cursor:pointer;transition:background-color 0.2s,color 0.2s}.leaflet-control-traccar-button:hover{background-color:#f4f4f4}.leaflet-control-traccar-button.state-connecting{animation:traccar-pulse 1.5s ease-in-out infinite;background-color:#fff3cd}.leaflet-control-traccar-button.state-connected{background-color:#4CAF50;color:white}.leaflet-control-traccar-button.state-connected:hover{background-color:#45a049}.leaflet-control-traccar-button.state-error{background-color:#f44336;color:white}.leaflet-control-traccar-button.state-error:hover{background-color:#da190b}@keyframes traccar-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:0.7;transform:scale(0.95)}}.traccar-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.6);display:flex;align-items:center;justify-content:center;z-index:10000;animation:traccar-fade-in 0.2s ease-out}@keyframes traccar-fade-in{from{opacity:0}to{opacity:1}}.traccar-modal{background:white;border-radius:8px;padding:28px;width:420px;max-width:90%;box-shadow:0 8px 24px rgba(0,0,0,0.4);position:relative;animation:traccar-slide-up 0.3s ease-out}@keyframes traccar-slide-up{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.traccar-modal h3{margin:0 0 24px 0;font-size:20px;font-weight:600;color:#333}.traccar-modal-close{position:absolute;top:16px;right:16px;background:none;border:none;font-size:32px;line-height:1;cursor:pointer;color:#999;width:32px;height:32px;padding:0;transition:color 0.2s}.traccar-modal-close:hover{color:#333}.traccar-form-group{margin-bottom:18px}.traccar-form-group label{display:block;margin-bottom:6px;font-weight:500;font-size:14px;color:#444}.traccar-form-group input{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:inherit;box-sizing:border-box;transition:border-color 0.2s,box-shadow 0.2s}.traccar-form-group input:focus{outline:none;border-color:#1976d2;box-shadow:0 0 0 3px rgba(25,118,210,0.1)}.traccar-form-group input::placeholder{color:#999}.traccar-error{background:#ffebee;color:#c62828;padding:12px;border-radius:4px;margin-bottom:18px;font-size:14px;border-left:4px solid #c62828}.traccar-buttons{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.traccar-btn{padding:10px 24px;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color 0.2s,transform 0.1s;font-family:inherit}.traccar-btn:active{transform:translateY(1px)}.traccar-btn-cancel{background:#f5f5f5;color:#333}.traccar-btn-cancel:hover:not(:disabled){background:#e0e0e0}.traccar-btn-connect{background:#1976d2;color:white}.traccar-btn-connect:hover:not(:disabled){background:#1565c0}.traccar-btn:disabled{background:#ccc;color:#666;cursor:not-allowed;opacity:0.6}.traccar-popup{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;min-width:220px}.traccar-popup-header{font-size:16px;font-weight:600;margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid #e0e0e0;color:#333}.traccar-icon{font-size:20px;margin-right:8px}.traccar-popup-body{font-size:13px;line-height:1.6}.traccar-popup-body div{margin-bottom:6px}.traccar-popup-body div:last-child{margin-bottom:0}.traccar-popup-body strong{font-weight:600;color:#555;display:inline-block;min-width:60px}.status-online{color:#4CAF50;font-weight:600}.status-offline{color:#9E9E9E;font-weight:600}.status-unknown{color:#FF9800;font-weight:600}@media (max-width:480px){.traccar-modal{width:90%;padding:20px}.traccar-modal h3{font-size:18px;margin-bottom:20px}.traccar-buttons{flex-direction:column-reverse}.traccar-btn{width:100%}}@media (prefers-color-scheme:dark){.traccar-modal{background:#2a2a2a;color:#e0e0e0}.traccar-modal h3{color:#e0e0e0}.traccar-form-group label{color:#d0d0d0}.traccar-form-group input{background:#3a3a3a;border-color:#555;color:#e0e0e0}.traccar-form-group input:focus{border-color:#64b5f6;box-shadow:0 0 0 3px rgba(100,181,246,0.2)}.traccar-modal-close{color:#999}.traccar-modal-close:hover{color:#e0e0e0}.traccar-btn-cancel{background:#3a3a3a;color:#e0e0e0}.traccar-btn-cancel:hover:not(:disabled){background:#4a4a4a}.traccar-error{background:#5d1f1f;color:#ffcdd2}}