TTW_Bot_GO/internal/webui/static/styles.css

414 lines
7.6 KiB
CSS
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/* ---------- БАЗОВЫЕ СТИЛИ И ТЕМЫ ---------- */
body {
font-family: Arial, sans-serif;
margin: 0;
padding: 0;
background: #f4f4f4;
color: #333;
transition: background 0.2s, color 0.2s;
}
nav {
background: #333;
color: white;
padding: 10px 20px;
display: flex;
justify-content: space-between;
align-items: center;
flex-wrap: wrap;
gap: 10px;
}
nav a {
color: white;
text-decoration: none;
margin-right: 20px;
}
nav a:hover {
text-decoration: underline;
}
.container {
padding: 20px;
}
.card {
background: white;
border-radius: 8px;
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
padding: 20px;
margin-bottom: 20px;
}
button, input[type="submit"] {
background: #007bff;
color: white;
border: none;
padding: 8px 16px;
border-radius: 4px;
cursor: pointer;
}
button:hover {
background: #0056b3;
}
input[type="text"], input[type="password"], textarea, select {
width: 100%;
padding: 8px;
margin: 8px 0;
border: 1px solid #ccc;
border-radius: 4px;
background: #fff;
color: #333;
box-sizing: border-box;
}
table {
width: 100%;
border-collapse: collapse;
}
th, td {
border: 1px solid #ddd;
padding: 8px;
text-align: left;
}
th {
background-color: #f2f2f2;
}
.status.online {
color: green;
}
.status.offline {
color: red;
}
.theme-switch {
cursor: pointer;
background: #555;
padding: 5px 10px;
border-radius: 20px;
font-size: 0.9em;
white-space: nowrap;
}
.modal {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0,0,0,0.7);
z-index: 1000;
align-items: center;
justify-content: center;
}
.modal-content {
background: white;
border-radius: 8px;
padding: 20px;
max-width: 600px;
width: 90%;
}
.modal-content pre {
background: #f0f0f0;
padding: 10px;
border-radius: 4px;
white-space: pre-wrap;
}
.provider-fields {
margin-top: 10px;
}
.provider-fields label {
display: block;
margin-top: 8px;
}
.test-result-block {
background: #f0f0f0;
color: #333;
border: 1px solid #ccc;
margin-top: 10px;
padding: 10px;
border-radius: 4px;
}
.action-item {
background: #f9f9f9;
margin-bottom: 10px;
padding: 10px;
border-radius: 4px;
border: 1px solid #ccc;
}
.action-fields {
margin-top: 10px;
margin-bottom: 10px;
}
.action-fields label {
display: block;
margin-top: 5px;
}
button.remove-action {
background: #d9534f;
margin-top: 5px;
}
#log-container {
background: #1e1e1e;
color: #d4d4d4;
font-family: monospace;
padding: 10px;
height: 70vh;
overflow-y: auto;
border-radius: 5px;
}
#notification {
position: fixed;
top: 20px;
right: 20px;
z-index: 1000;
background: #333;
color: white;
padding: 10px 20px;
border-radius: 5px;
display: none;
}
/* ---------- ТЁМНАЯ ТЕМА ---------- */
body.dark {
background: #1e1e1e;
color: #ddd;
}
body.dark nav {
background: #1e1e1e;
}
body.dark nav a {
color: #ddd;
}
body.dark nav a:hover {
color: white;
}
body.dark .card {
background: #2d2d2d;
box-shadow: 0 2px 4px rgba(0,0,0,0.5);
}
body.dark input, body.dark textarea, body.dark select {
background: #3c3c3c;
border-color: #555;
color: #eee;
}
body.dark table th {
background-color: #3c3c3c;
color: #ddd;
}
body.dark table td {
border-color: #444;
color: #ddd;
}
body.dark button {
background: #0d6efd;
}
body.dark .modal-content {
background: #2d2d2d;
color: #ddd;
}
body.dark .modal-content pre {
background: #1e1e1e;
color: #ddd;
border: 1px solid #555;
}
body.dark .test-result-block {
background: #1e1e1e;
color: #ddd;
border-color: #555;
}
body.dark .theme-switch {
background: #444;
color: #ddd;
}
body.dark table thead th,
body.dark table th {
background-color: #3c3c3c !important;
color: #eee !important;
border-color: #555 !important;
}
body.dark table tbody td {
background-color: #2d2d2d;
color: #ddd;
border-color: #555;
}
body.dark table {
background-color: #2d2d2d;
}
body.dark .action-item {
background: #2d2d2d;
border-color: #555;
}
body.dark #log-container {
background: #0a0a0a;
color: #d4d4d4;
}
body.dark #notification {
background: #444;
}
/* ---------- АДАПТИВНОСТЬ ---------- */
@media (max-width: 768px) {
nav {
flex-direction: column;
align-items: stretch;
}
nav div:first-child {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 10px;
}
nav a {
margin-right: 0;
padding: 5px 10px;
}
.container {
padding: 10px;
}
.card {
padding: 15px;
}
button, input[type="submit"] {
width: 100%;
margin-top: 5px;
padding: 10px;
}
table {
display: block;
overflow-x: auto;
white-space: nowrap;
}
th, td {
white-space: normal;
word-break: break-word;
}
.modal-content {
width: 95%;
padding: 15px;
}
.action-item button {
width: auto;
margin-right: 5px;
}
#notification {
left: 20px;
right: 20px;
text-align: center;
}
input, textarea, select {
font-size: 16px;
}
#users-table button {
margin: 2px;
padding: 4px 8px;
font-size: 0.75rem;
}
img {
max-width: 100%;
height: auto;
}
}
@media (max-width: 480px) {
nav div:first-child a {
font-size: 0.9rem;
padding: 4px 6px;
}
.card h2, .card h3 {
font-size: 1.2rem;
}
button {
font-size: 0.9rem;
}
}
/* Модальное окно */
.modal {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0,0,0,0.7);
z-index: 1000;
align-items: center;
justify-content: center;
}
.modal-content {
background: white;
border-radius: 8px;
padding: 20px;
max-width: 800px;
width: 90%;
max-height: 85vh;
overflow-y: auto;
box-shadow: 0 5px 15px rgba(0,0,0,0.3);
}
body.dark .modal-content {
background: #2d2d2d;
color: #ddd;
}
.modal-content h3, .modal-content h4 {
margin-top: 0;
}
.modal-content label {
display: block;
margin-top: 10px;
font-weight: bold;
}
.modal-content input[type="text"],
.modal-content input[type="number"],
.modal-content select,
.modal-content textarea {
width: 100%;
padding: 6px;
margin-top: 4px;
box-sizing: border-box;
}
.modal-content button {
margin-top: 10px;
}
.preview-box {
background: #f5f5f5;
border: 1px solid #ccc;
border-radius: 6px;
padding: 12px;
margin-top: 15px;
transition: all 0.2s;
}
body.dark .preview-box {
background: #1e1e1e;
border-color: #555;
}
.chat-preview {
font-family: Arial, sans-serif;
}
.alert-preview {
background: rgba(0,0,0,0.7);
color: white;
border-radius: 8px;
padding: 12px;
display: flex;
align-items: center;
gap: 12px;
}
.alert-preview img {
width: 48px;
height: 48px;
border-radius: 50%;
object-fit: cover;
}
.alert-preview .content {
flex: 1;
}
.alert-preview .title {
font-weight: bold;
font-size: 1.2em;
}
.action-item {
background: #f9f9f9;
margin-bottom: 10px;
padding: 10px;
border-radius: 4px;
border: 1px solid #ccc;
}
body.dark .action-item {
background: #2d2d2d;
border-color: #555;
}