From ccda416945d3608c5945e7adc3ce5502abf9a707 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=92=D0=B8=D0=BA=D1=82=D0=BE=D1=80?= <78488229+viktor138irk@users.noreply.github.com> Date: Fri, 8 May 2026 21:31:42 +0900 Subject: [PATCH] =?UTF-8?q?=D0=90=D0=B4=D0=BC=D0=B8=D0=BD=D0=BA=D0=B0=20?= =?UTF-8?q?=D1=83=D0=BF=D0=BB=D0=BE=D1=82=D0=BD=D0=B5=D0=BD=D0=B0=20=D0=B4?= =?UTF-8?q?=D0=BB=D1=8F=20=D1=80=D0=B0=D0=B1=D0=BE=D1=87=D0=B5=D0=B3=D0=BE?= =?UTF-8?q?=20=D1=80=D0=B5=D0=B6=D0=B8=D0=BC=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- admin-panel/src/styles.css | 445 +++++++++++++++++++++++-------------- 1 file changed, 277 insertions(+), 168 deletions(-) diff --git a/admin-panel/src/styles.css b/admin-panel/src/styles.css index 38ca4d8..89f7196 100644 --- a/admin-panel/src/styles.css +++ b/admin-panel/src/styles.css @@ -4,9 +4,7 @@ background: #0b1220; } -* { - box-sizing: border-box; -} +* { box-sizing: border-box; } html, body, @@ -14,63 +12,69 @@ body, margin: 0; min-height: 100%; background: - radial-gradient(circle at top left, rgba(79,107,255,.18), transparent 28%), - radial-gradient(circle at bottom right, rgba(0,201,167,.12), transparent 24%), + radial-gradient(circle at top left, rgba(79,107,255,.14), transparent 24%), + radial-gradient(circle at bottom right, rgba(0,201,167,.09), transparent 22%), #0b1220; } -body { - color: #f3f7ff; -} +body { color: #f3f7ff; } .page { min-height: 100vh; - padding: 28px; + padding: 16px; + max-width: 1680px; + margin: 0 auto; } .hero, .panel, .stat-card { - background: rgba(16, 24, 40, 0.88); + background: rgba(16, 24, 40, 0.9); border: 1px solid rgba(255,255,255,.06); - backdrop-filter: blur(18px); - box-shadow: 0 20px 60px rgba(0,0,0,.32); + backdrop-filter: blur(14px); + box-shadow: 0 12px 36px rgba(0,0,0,.24); } .hero { display: flex; - align-items: flex-start; + align-items: center; justify-content: space-between; - gap: 24px; - padding: 32px; - border-radius: 30px; + gap: 16px; + padding: 18px 20px; + border-radius: 20px; } .eyebrow { - margin: 0 0 8px; + margin: 0 0 5px; color: #7f97ff; text-transform: uppercase; letter-spacing: .12em; - font-size: 11px; + font-size: 10px; font-weight: 800; } h1 { margin: 0; - font-size: clamp(36px, 6vw, 62px); - line-height: .92; + font-size: clamp(28px, 4vw, 42px); + line-height: .96; } h2 { margin: 0; - font-size: 20px; + font-size: 16px; +} + +h3 { + margin: 0; + font-size: 13px; } .lead { - max-width: 820px; - margin-top: 16px; + max-width: 920px; + margin: 8px 0 0; color: #9fb0cf; - line-height: 1.7; + line-height: 1.45; + font-size: 13px; } .button, @@ -79,13 +83,14 @@ h2 { display: inline-flex; align-items: center; justify-content: center; - gap: 10px; - border-radius: 18px; - padding: 14px 20px; - font-size: 14px; + gap: 7px; + border-radius: 12px; + padding: 9px 12px; + font-size: 12px; font-weight: 800; cursor: pointer; transition: .2s ease; + min-height: 38px; } .button { @@ -108,9 +113,7 @@ h2 { .button:hover, .secondary-button:hover, -.ghost-button:hover { - transform: translateY(-1px); -} +.ghost-button:hover { transform: translateY(-1px); } .button:disabled, .secondary-button:disabled, @@ -119,55 +122,41 @@ h2 { cursor: wait; } -.spin { - animation: spin 1s linear infinite; -} - -@keyframes spin { - from { transform: rotate(0deg); } - to { transform: rotate(360deg); } -} +.spin { animation: spin 1s linear infinite; } +@keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } .status-row { display: flex; flex-wrap: wrap; - gap: 12px; - margin-top: 18px; + gap: 7px; + margin-top: 10px; } .status-pill { display: inline-flex; align-items: center; - gap: 8px; - padding: 10px 14px; + gap: 6px; + padding: 6px 9px; border-radius: 999px; - font-size: 13px; + font-size: 11px; font-weight: 700; + white-space: nowrap; } -.status-pill.ok { - background: rgba(0, 201, 167, .14); - color: #62f5cf; -} - -.status-pill.bad { - background: rgba(255, 85, 85, .12); - color: #ff8b8b; -} - -.status-pill.muted { - background: rgba(255,255,255,.06); - color: #a9b5cb; -} +.status-pill.ok { background: rgba(0, 201, 167, .14); color: #62f5cf; } +.status-pill.bad { background: rgba(255, 85, 85, .12); color: #ff8b8b; } +.status-pill.muted { background: rgba(255,255,255,.06); color: #a9b5cb; } +.status-pill.warn { background: rgba(255, 187, 77, .12); color: #ffd18b; } .alert, .notice { display: flex; align-items: center; - gap: 10px; - margin-top: 18px; - padding: 16px 18px; - border-radius: 18px; + gap: 8px; + margin-top: 10px; + padding: 10px 12px; + border-radius: 14px; + font-size: 12px; } .alert { @@ -182,69 +171,68 @@ h2 { color: #81f4d7; } -.compact-alert { - margin-top: 12px; -} +.compact-alert { margin-top: 8px; } .stats-grid { display: grid; - grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); - gap: 18px; - margin-top: 22px; + grid-template-columns: repeat(5, minmax(130px, 1fr)); + gap: 10px; + margin-top: 12px; } .stat-card { display: flex; align-items: center; - gap: 14px; - padding: 22px; - border-radius: 24px; + gap: 10px; + padding: 13px; + border-radius: 16px; + min-height: 76px; } .stat-card p { - margin: 0 0 6px; + margin: 0 0 3px; color: #95a6c7; - font-size: 13px; + font-size: 11px; } -.stat-card strong { - font-size: 30px; -} +.stat-card strong { font-size: 22px; line-height: 1; } .stat-icon { - width: 48px; - height: 48px; - border-radius: 16px; + width: 38px; + height: 38px; + border-radius: 12px; display: grid; place-items: center; background: linear-gradient(135deg, rgba(79,107,255,.25), rgba(0,201,167,.18)); color: #90a5ff; + flex: 0 0 auto; } -.settings-grid { - margin-top: 22px; -} - -.settings-panel { - border-radius: 30px; -} +.settings-grid { margin-top: 12px; } +.settings-panel { border-radius: 18px; } .settings-form { display: grid; - grid-template-columns: repeat(2, minmax(0, 1fr)); - gap: 18px; + grid-template-columns: repeat(4, minmax(0, 1fr)); + gap: 10px; +} + +.compact-form { + grid-template-columns: 1.1fr 1.1fr auto; + align-items: end; + margin-bottom: 12px; } .field, .switch-field { display: flex; flex-direction: column; - gap: 10px; + gap: 6px; } .field span, .switch-field strong { - font-size: 13px; + font-size: 11px; font-weight: 700; color: #dce6ff; } @@ -252,90 +240,216 @@ h2 { .field small, .switch-field small { color: #8ea0c0; - line-height: 1.5; + line-height: 1.35; + font-size: 11px; } .field input, .field select { width: 100%; border: 1px solid rgba(255,255,255,.08); - border-radius: 16px; - padding: 14px 16px; + border-radius: 11px; + padding: 9px 11px; + min-height: 38px; background: rgba(255,255,255,.04); color: white; outline: none; + font-size: 12px; } -.field input::placeholder { - color: #7182a3; -} +.field input::placeholder { color: #7182a3; } .switch-field { flex-direction: row; align-items: flex-start; - gap: 14px; - padding: 18px; - border-radius: 20px; + gap: 10px; + padding: 10px; + border-radius: 13px; background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.05); } .switch-field input { - width: 22px; - height: 22px; - margin-top: 2px; + width: 18px; + height: 18px; + margin-top: 1px; } -.wide-field { - grid-column: 1 / -1; -} - -.form-actions { - display: flex; - flex-wrap: wrap; - gap: 14px; -} +.wide-field { grid-column: 1 / -1; } +.form-actions { display: flex; flex-wrap: wrap; gap: 8px; } +.align-end { align-self: end; } .content-grid { display: grid; - grid-template-columns: minmax(0, 2fr) minmax(320px, 420px); - gap: 20px; - margin-top: 22px; + grid-template-columns: minmax(0, 2.2fr) minmax(280px, 360px); + gap: 12px; + margin-top: 12px; } .panel { - border-radius: 28px; - padding: 24px; + border-radius: 18px; + padding: 14px; } .panel-head { display: flex; align-items: center; justify-content: space-between; - gap: 20px; - margin-bottom: 20px; + gap: 12px; + margin-bottom: 12px; } .counter { display: inline-grid; place-items: center; - min-width: 42px; - height: 42px; - border-radius: 14px; + min-width: 32px; + height: 32px; + border-radius: 10px; background: rgba(79,107,255,.18); color: #9db0ff; font-weight: 800; + font-size: 12px; +} + +.sites-panel { margin-top: 12px; } + +.site-list { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(360px, 1fr)); + gap: 10px; +} + +.site-card { + padding: 12px; + border-radius: 15px; + background: rgba(255,255,255,.035); + border: 1px solid rgba(255,255,255,.055); +} + +.site-card-head { + display: flex; + align-items: flex-start; + justify-content: space-between; + gap: 10px; + margin-bottom: 8px; +} + +.site-card-head strong { + display: block; + font-size: 14px; +} + +.site-card-head span:not(.status-pill) { + display: block; + margin-top: 3px; + color: #8ea0c0; + font-size: 12px; +} + +.mini-stats { + display: flex; + flex-wrap: wrap; + gap: 6px; + margin: 8px 0; +} + +.mini-stats span { + display: inline-flex; + align-items: center; + gap: 5px; + padding: 5px 7px; + border-radius: 9px; + background: rgba(255,255,255,.045); + color: #a9b5cb; + font-size: 11px; +} + +.embed-code { + margin: 8px 0; + max-height: 86px; + overflow: auto; + border-radius: 11px; + background: rgba(0,0,0,.28); + padding: 9px; + color: #cde1ff; + font-size: 11px; + line-height: 1.35; + white-space: pre-wrap; +} + +.operator-bindings { + margin-top: 10px; +} + +.operator-bindings h3 { + display: flex; + align-items: center; + gap: 7px; + margin-bottom: 7px; + color: #dce6ff; +} + +.operator-chip { + display: inline-flex; + align-items: center; + gap: 6px; + margin: 0 6px 6px 0; + padding: 7px 9px; + border-radius: 999px; + border: 1px solid rgba(255,255,255,.08); + background: rgba(255,255,255,.045); + color: #dce6ff; + font-size: 11px; + cursor: pointer; +} + +.operator-chip.linked { + background: rgba(0,201,167,.12); + border-color: rgba(0,201,167,.22); + color: #81f4d7; +} + +.operator-chip small { + opacity: .7; +} + +.muted-text { + margin: 0; + color: #8ea0c0; + font-size: 12px; +} + +.diagnostics-grid { + display: grid; + grid-template-columns: repeat(4, minmax(0, 1fr)); + gap: 8px; + margin-bottom: 12px; +} + +.diagnostics-grid span { + display: inline-flex; + align-items: center; + gap: 6px; + min-width: 0; + padding: 8px 9px; + border-radius: 11px; + background: rgba(255,255,255,.035); + color: #a9b5cb; + font-size: 11px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; } .message-list { - display: flex; - flex-direction: column; - gap: 14px; + display: grid; + grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); + gap: 9px; } .message-item { - padding: 18px; - border-radius: 22px; + padding: 11px; + border-radius: 14px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.05); } @@ -345,51 +459,51 @@ h2 { display: flex; align-items: center; justify-content: space-between; - gap: 12px; + gap: 10px; } .message-meta span, .message-item footer { color: #8ea0c0; - font-size: 12px; + font-size: 11px; } .message-item p { - margin: 14px 0; - line-height: 1.6; + margin: 9px 0; + line-height: 1.45; color: #eef4ff; + font-size: 12px; } .side-stack { - display: flex; - flex-direction: column; - gap: 20px; + display: grid; + grid-template-columns: 1fr; + gap: 10px; } .compact-panel { display: flex; flex-direction: column; - gap: 14px; -} - -.compact-panel svg { - color: #88a0ff; + gap: 9px; } +.compact-panel svg { color: #88a0ff; } .compact-panel p { margin: 0; color: #9fb0cf; - line-height: 1.7; + line-height: 1.45; + font-size: 12px; } .code-panel pre { margin: 0; + max-height: 240px; overflow: auto; - border-radius: 18px; + border-radius: 12px; background: rgba(0,0,0,.28); - padding: 16px; + padding: 10px; color: #cde1ff; - font-size: 12px; + font-size: 11px; } .empty-state { @@ -398,42 +512,37 @@ h2 { align-items: center; justify-content: center; text-align: center; - gap: 12px; - padding: 60px 20px; + gap: 8px; + padding: 28px 14px; color: #9fb0cf; + font-size: 12px; +} + +@media (max-width: 1280px) { + .stats-grid { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); } + .settings-form { grid-template-columns: repeat(2, minmax(0, 1fr)); } + .diagnostics-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } } @media (max-width: 1080px) { - .content-grid { - grid-template-columns: 1fr; - } - - .settings-form { - grid-template-columns: 1fr; - } + .content-grid { grid-template-columns: 1fr; } + .site-list { grid-template-columns: 1fr; } } @media (max-width: 720px) { - .page { - padding: 16px; - } - + .page { padding: 10px; } .hero { flex-direction: column; align-items: stretch; - padding: 22px; + padding: 14px; } - - h1 { - font-size: 42px; - } - + h1 { font-size: 30px; } .panel, - .stat-card { - border-radius: 22px; - } - - .form-actions { - flex-direction: column; - } + .stat-card { border-radius: 15px; } + .settings-form, + .compact-form, + .diagnostics-grid { grid-template-columns: 1fr; } + .form-actions { flex-direction: column; } + .site-list, + .message-list { grid-template-columns: 1fr; } }