File size: 2,158 Bytes
5a45328
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
/* AutoGEO Studio — additional styles */

/* Alpine.js cloaking */
[x-cloak] { display: none !important; }

/* Scrollbar styling */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: var(--bg); }
::-webkit-scrollbar-thumb { background: var(--border); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--text-muted); }

/* Sidebar form adjustments */
#sidebar .form-input {
    font-size: 0.8rem;
    padding: 0.45rem 0.6rem;
}
#sidebar .form-group {
    margin-bottom: 0.5rem;
}
#sidebar details summary {
    font-size: 0.8rem;
    padding: 0.3rem 0;
}

/* Card hover for clickable cards */
.card-clickable {
    cursor: pointer;
    transition: border-color 0.15s, transform 0.15s;
}
.card-clickable:hover {
    border-color: var(--accent);
    transform: translateY(-2px);
}

/* Loading spinner */
.spinner {
    display: inline-block;
    width: 1rem;
    height: 1rem;
    border: 2px solid transparent;
    border-top-color: currentColor;
    border-radius: 50%;
    animation: spin 0.6s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }

/* Responsive */
@media (max-width: 900px) {
    body { flex-direction: column; }
    #sidebar {
        width: 100%;
        min-width: 100%;
        height: auto;
        max-height: 300px;
        position: relative;
    }
    #main-content { padding: 1rem; }
    .grid-2, .grid-3 { grid-template-columns: 1fr; }
}

/* Toast animation */
.toast-enter { animation: slideIn 0.3s ease; }
.toast-leave { animation: slideOut 0.3s ease forwards; }
@keyframes slideOut { to { transform: translateX(100%); opacity: 0; } }

/* HTMX indicator */
.htmx-indicator { opacity: 0; transition: opacity 0.2s; }
.htmx-request .htmx-indicator { opacity: 1; }

/* Range slider */
input[type="range"] {
    -webkit-appearance: none;
    appearance: none;
    height: 6px;
    background: var(--bg-input);
    border-radius: 3px;
    outline: none;
}
input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: var(--accent);
    cursor: pointer;
}