+32
-1
@@ -161,9 +161,39 @@
|
||||
cursor: pointer;
|
||||
}
|
||||
.icon-btn svg { width: 16px; height: 16px; }
|
||||
.icon-btn.edit:hover { color: var(--accent); border-color: var(--accent); background: rgba(74, 158, 255, 0.1); }
|
||||
.icon-btn.edit:hover, .icon-btn.map:hover { color: var(--accent); border-color: var(--accent); background: rgba(74, 158, 255, 0.1); }
|
||||
.icon-btn.delete { color: var(--danger); }
|
||||
.icon-btn.delete:hover { background: rgba(248, 81, 73, 0.12); border-color: var(--danger); }
|
||||
.icon-btn:disabled { opacity: 0.35; cursor: not-allowed; }
|
||||
.icon-btn:disabled:hover { color: var(--text-muted); border-color: var(--panel-border); background: transparent; }
|
||||
|
||||
.route-map {
|
||||
height: 220px;
|
||||
border-radius: 8px;
|
||||
border: 1px solid var(--panel-border);
|
||||
background: var(--field-bg);
|
||||
}
|
||||
/* Leaflet's own UI (zoom buttons, attribution) is deliberately left in its
|
||||
standard light styling - it sits on map tiles, not our page background. */
|
||||
|
||||
dialog.map-dialog {
|
||||
border: 1px solid var(--panel-border);
|
||||
border-radius: 10px;
|
||||
background: var(--panel);
|
||||
color: var(--text);
|
||||
padding: 1rem;
|
||||
width: min(560px, 92vw);
|
||||
}
|
||||
dialog.map-dialog::backdrop { background: rgba(0, 0, 0, 0.6); }
|
||||
.map-dialog-header {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
gap: 1rem;
|
||||
margin-bottom: 0.75rem;
|
||||
font-weight: 600;
|
||||
font-size: 0.95rem;
|
||||
}
|
||||
|
||||
.combo { position: relative; display: flex; flex-direction: column; }
|
||||
.combo-list {
|
||||
@@ -194,6 +224,7 @@
|
||||
.field-hint { font-size: 0.75rem; color: var(--text-muted); margin-top: 0.3rem; min-height: 1em; }
|
||||
.field-hint.matched { color: var(--success); }
|
||||
</style>
|
||||
{% block head %}{% endblock %}
|
||||
</head>
|
||||
<body>
|
||||
<header>
|
||||
|
||||
Reference in New Issue
Block a user