278 lines
11 KiB
CSS
278 lines
11 KiB
CSS
:root {
|
|
color-scheme: light;
|
|
}
|
|
body[data-theme="dark"] {
|
|
color-scheme: dark;
|
|
}
|
|
body { font-family: 'Inter', sans-serif; }
|
|
.font-mono { font-family: 'JetBrains Mono', monospace; }
|
|
.glass-panel {
|
|
background: rgba(255, 255, 255, 0.95);
|
|
backdrop-filter: blur(10px);
|
|
border: 1px solid rgba(255, 255, 255, 0.2);
|
|
}
|
|
.sidebar-item:hover {
|
|
background: linear-gradient(90deg, rgba(59, 130, 246, 0.1) 0%, transparent 100%);
|
|
}
|
|
.sql-keyword { color: #c678dd; }
|
|
.sql-string { color: #98c379; }
|
|
.sql-function { color: #61afef; }
|
|
.sql-comment { color: #5c6370; font-style: italic; }
|
|
|
|
/* Custom scrollbar */
|
|
::-webkit-scrollbar { width: 8px; height: 8px; }
|
|
::-webkit-scrollbar-track { background: #f1f5f9; }
|
|
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }
|
|
::-webkit-scrollbar-thumb:hover { background: #94a3b8; }
|
|
|
|
.fade-in { animation: fadeIn 0.3s ease-in; }
|
|
@keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
|
|
|
|
.loader {
|
|
border: 3px solid #f3f3f3;
|
|
border-top: 3px solid #3b82f6;
|
|
border-radius: 50%;
|
|
width: 24px;
|
|
height: 24px;
|
|
animation: spin 1s linear infinite;
|
|
}
|
|
@keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
|
|
body {
|
|
transition: background-color 0.25s ease, color 0.25s ease;
|
|
}
|
|
body[data-theme="dark"] .bg-white { background-color: #111827 !important; }
|
|
body[data-theme="dark"] .bg-slate-50 { background-color: #0f172a !important; }
|
|
body[data-theme="dark"] .bg-slate-100 { background-color: #1e293b !important; }
|
|
body[data-theme="dark"] .bg-slate-800 { background-color: #0f172a !important; }
|
|
body[data-theme="dark"] .bg-slate-900 { background-color: #020617 !important; }
|
|
body[data-theme="dark"] .bg-blue-50 { background-color: rgba(59, 130, 246, 0.16) !important; }
|
|
body[data-theme="dark"] .bg-green-50 { background-color: rgba(34, 197, 94, 0.16) !important; }
|
|
body[data-theme="dark"] .bg-red-50 { background-color: rgba(239, 68, 68, 0.16) !important; }
|
|
/* Улучшенная видимость текста в темной теме */
|
|
body[data-theme="dark"] .text-slate-800 { color: #f1f5f9 !important; }
|
|
body[data-theme="dark"] .text-slate-700 { color: #e2e8f0 !important; }
|
|
body[data-theme="dark"] .text-slate-600 { color: #cbd5e1 !important; }
|
|
body[data-theme="dark"] .text-slate-500 { color: #94a3b8 !important; }
|
|
body[data-theme="dark"] .text-slate-400 { color: #94a3b8 !important; }
|
|
body[data-theme="dark"] .text-slate-300 { color: #cbd5e1 !important; }
|
|
body[data-theme="dark"] .border-slate-200 { border-color: #1e293b !important; }
|
|
body[data-theme="dark"] .border-slate-300 { border-color: #334155 !important; }
|
|
body[data-theme="dark"] .border-slate-700 { border-color: #334155 !important; }
|
|
body[data-theme="dark"] .border-slate-800 { border-color: #1e293b !important; }
|
|
body[data-theme="dark"] input,
|
|
body[data-theme="dark"] textarea,
|
|
body[data-theme="dark"] select {
|
|
background-color: #0f172a !important;
|
|
color: #e2e8f0 !important;
|
|
border-color: #334155 !important;
|
|
}
|
|
body[data-theme="dark"] input::placeholder {
|
|
color: #64748b !important;
|
|
}
|
|
body[data-theme="dark"] .glass-panel {
|
|
background: rgba(15, 23, 42, 0.92);
|
|
border-color: rgba(148, 163, 184, 0.12);
|
|
}
|
|
body[data-theme="dark"] ::-webkit-scrollbar-track { background: #0f172a; }
|
|
body[data-theme="dark"] ::-webkit-scrollbar-thumb { background: #334155; }
|
|
|
|
/* Улучшенный заголовок в темной теме */
|
|
body[data-theme="dark"] #mainHeader {
|
|
background-color: #111827 !important;
|
|
border-color: #1e293b !important;
|
|
}
|
|
body[data-theme="dark"] #mainHeader button {
|
|
color: #e2e8f0 !important;
|
|
}
|
|
body[data-theme="dark"] table {
|
|
background-color: #111827 !important;
|
|
}
|
|
body[data-theme="dark"] table td,
|
|
body[data-theme="dark"] table th {
|
|
border-color: #1e293b !important;
|
|
color: #e2e8f0 !important;
|
|
}
|
|
body[data-theme="dark"] .hover\:bg-slate-50:hover {
|
|
background-color: #1e293b !important;
|
|
}
|
|
body[data-theme="dark"] .bg-slate-50 {
|
|
background-color: #0f172a !important;
|
|
}
|
|
body[data-theme="dark"] a {
|
|
color: #60a5fa !important;
|
|
}
|
|
body[data-theme="dark"] a:hover {
|
|
color: #93c5fd !important;
|
|
}
|
|
|
|
/* Hover эффекты на кнопки */
|
|
button {
|
|
transition: all 0.2s ease;
|
|
}
|
|
button:hover:not(:disabled) {
|
|
transform: translateY(-1px);
|
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
|
|
}
|
|
body[data-theme="dark"] button:hover:not(:disabled) {
|
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
|
|
}
|
|
|
|
/* Специфичные hover для цветных кнопок */
|
|
.bg-blue-600:hover { background-color: #1d4ed8 !important; }
|
|
.bg-blue-50:hover { background-color: #eff6ff !important; }
|
|
.bg-amber-600:hover { background-color: #b45309 !important; }
|
|
.bg-green-500:hover { background-color: #16a34a !important; }
|
|
.bg-red-600:hover { background-color: #dc2626 !important; }
|
|
.bg-slate-100:hover:not(:disabled) { background-color: #e2e8f0 !important; }
|
|
|
|
/* Для темной темы */
|
|
body[data-theme="dark"] .bg-blue-600:hover { background-color: #1e40af !important; }
|
|
body[data-theme="dark"] .bg-amber-600:hover { background-color: #92400e !important; }
|
|
body[data-theme="dark"] .bg-green-500:hover { background-color: #15803d !important; }
|
|
body[data-theme="dark"] .bg-red-600:hover { background-color: #991b1b !important; }
|
|
body[data-theme="dark"] .bg-slate-100:hover { background-color: #334155 !important; }
|
|
|
|
/* Логотип кликабельный */
|
|
.logo-header {
|
|
cursor: pointer;
|
|
transition: opacity 0.2s ease;
|
|
}
|
|
.logo-header:hover {
|
|
opacity: 0.8;
|
|
}
|
|
|
|
.sidebar-collapsible {
|
|
transition: max-height 0.24s ease;
|
|
}
|
|
.log-terminal {
|
|
min-height: 18rem;
|
|
max-height: 28rem;
|
|
white-space: pre-wrap;
|
|
word-break: break-word;
|
|
}
|
|
|
|
/* Улучшенные стили для кнопок в темной теме */
|
|
body[data-theme="dark"] button {
|
|
color: #e2e8f0 !important;
|
|
}
|
|
body[data-theme="dark"] #themeSelect {
|
|
background-color: #1e293b !important;
|
|
color: #e2e8f0 !important;
|
|
}
|
|
body[data-theme="dark"] .bg-slate-100 {
|
|
background-color: #1e293b !important;
|
|
}
|
|
body[data-theme="dark"] .bg-blue-50 {
|
|
background-color: rgba(59, 130, 246, 0.2) !important;
|
|
}
|
|
body[data-theme="dark"] .text-blue-600 {
|
|
color: #60a5fa !important;
|
|
}
|
|
body[data-theme="dark"] .bg-amber-50 {
|
|
background-color: rgba(217, 119, 6, 0.2) !important;
|
|
}
|
|
body[data-theme="dark"] .text-amber-700 {
|
|
color: #fbbf24 !important;
|
|
}
|
|
body[data-theme="dark"] .bg-red-50 {
|
|
background-color: rgba(239, 68, 68, 0.2) !important;
|
|
}
|
|
body[data-theme="dark"] .text-red-600 {
|
|
color: #f87171 !important;
|
|
}
|
|
body[data-theme="dark"] .text-green-500 {
|
|
background-color: #22c55e;
|
|
}
|
|
|
|
@media (max-width: 900px) {
|
|
#mobileBackdrop:not(.hidden) {
|
|
display: block;
|
|
}
|
|
#sidebar {
|
|
position: fixed;
|
|
inset: 0 auto 0 0;
|
|
z-index: 30;
|
|
width: min(88vw, 20rem);
|
|
transform: translateX(-100%);
|
|
transition: transform 0.25s ease;
|
|
}
|
|
#sidebar.sidebar-open {
|
|
transform: translateX(0);
|
|
}
|
|
#mainHeader {
|
|
padding-left: 1rem;
|
|
padding-right: 1rem;
|
|
}
|
|
#toolbar {
|
|
flex-direction: column;
|
|
align-items: stretch;
|
|
gap: 0.75rem;
|
|
}
|
|
#recordControls {
|
|
width: 100%;
|
|
flex-wrap: wrap;
|
|
}
|
|
#recordSearch {
|
|
width: 100%;
|
|
}
|
|
#contentArea {
|
|
padding: 1rem;
|
|
}
|
|
}
|
|
|
|
/* Адаптив для очень узких экранов (меньше 640px) */
|
|
@media (max-width: 640px) {
|
|
#mainHeader {
|
|
gap: 1rem;
|
|
padding: 0.75rem 1rem;
|
|
}
|
|
#mainHeader > div:first-child {
|
|
order: 1;
|
|
flex: 1;
|
|
}
|
|
#mainHeader > div:first-child .logo-header span {
|
|
display: none;
|
|
}
|
|
#mainHeader > div:first-child > div:nth-child(3) {
|
|
display: none;
|
|
}
|
|
#mainHeader > div:last-child {
|
|
order: 2;
|
|
width: 100%;
|
|
display: flex !important;
|
|
justify-content: flex-end;
|
|
gap: 0.5rem;
|
|
flex-wrap: wrap;
|
|
}
|
|
#mainHeader > div:last-child > select,
|
|
#mainHeader > div:last-child > button {
|
|
padding: 0.5rem 0.75rem;
|
|
font-size: 0.75rem;
|
|
}
|
|
#managementButton,
|
|
#logsButton {
|
|
display: none !important;
|
|
}
|
|
#mainHeader > div:last-child > :nth-child(4) {
|
|
display: none;
|
|
}
|
|
}
|
|
|
|
/* Адаптив для средних экранов (640px - 900px) */
|
|
@media (max-width: 900px) and (min-width: 641px) {
|
|
#mainHeader > div:first-child > div:nth-child(3) {
|
|
display: none;
|
|
}
|
|
#mainHeader > div:last-child > :nth-child(1) {
|
|
display: none;
|
|
}
|
|
#managementButton,
|
|
#logsButton {
|
|
display: inline-flex !important;
|
|
}
|
|
#managementButton span,
|
|
#logsButton span {
|
|
display: none;
|
|
}
|
|
}
|