:root { --bg-dark: #121212; --text-dark: #f2f2f2; --primary-dark: #00bcd4; --accent-dark: #888; } .hidden { display: none !important; } body { background: var(--bg-dark); color: var(--text-dark); font-family: 'Segoe UI', sans-serif; margin: 0; } .navbar { display: flex; justify-content: space-between; align-items: center; padding: 1rem 2rem; background: #1f1f1f; border-bottom: 1px solid #333; } .logo { font-weight: bold; font-size: 1.2rem; color: var(--primary-dark); } .container { max-width: 900px; margin: 40px auto; padding: 20px; background: #1e1e1e; border-radius: 12px; box-shadow: 0 5px 20px rgba(255,255,255,0.05); } .info { display: flex; background: #2a2a2a; padding: 15px; border-radius: 6px; margin-bottom: 20px; } h2 { margin-top: 40px; border-bottom: 1px solid #444; padding-bottom: 10px; } button { padding: 12px 24px; margin: 10px 6px; font-size: 15px; border: none; border-radius: 10px; cursor: pointer; background: linear-gradient(135deg, #00b894, #00ffe0); color: white; transition: all 0.3s ease; box-shadow: 0 4px 10px rgba(0, 255, 224, 0.15); } button:hover { background: linear-gradient(135deg, #00a383, #00e6cb); transform: scale(1.03); } ul#history-list { list-style: none; padding: 0; margin-top: 20px; } ul#history-list li { background: #343944; margin: 10px 0; padding: 15px 20px; border-radius: 10px; display: flex; justify-content: space-between; align-items: center; border-left: 5px solid #00ffe0; } ul#history-list li:hover { background: #3f4552; } ul#history-list a { color: #00ffe0; text-decoration: none; font-weight: bold; } ul#history-list a:hover { text-decoration: underline; } .empty { font-style: italic; color: #888; text-align: center; padding: 20px; } .manual-btn::before { content: "📦 "; } .clear-btn::before { content: "🧹 "; } .pagination { text-align: center; margin-top: 25px; } .pagination button { background: #2c2c2c; margin: 0 5px; font-size: 14px; padding: 8px 14px; border-radius: 6px; border: 1px solid #444; color: white; } .pagination button:disabled { opacity: 0.5; cursor: not-allowed; } .form-input { width: calc(100% - 40px); padding: 12px 15px; margin-bottom: 15px; border-radius: 8px; border: 1px solid #3a3a3a; background: #2a2a2a; color: #f0f0f0; font-size: 14px; transition: all 0.3s ease; box-shadow: 0 2px 5px rgba(0,0,0,0.1); } .form-input:focus { outline: none; border-color: #00bcd4; box-shadow: 0 0 0 2px rgba(0,188,212,0.2); } .form-input::placeholder { color: #777; } .form-button { padding: 12px 24px; background: linear-gradient(135deg, #00b894, #00ffe0); color: white; border: none; border-radius: 8px; font-size: 14px; font-weight: 500; cursor: pointer; transition: all 0.3s ease; box-shadow: 0 2px 5px rgba(0,0,0,0.1); } .form-button:hover { background: linear-gradient(135deg, #00a383, #00e6cb); transform: translateY(-1px); box-shadow: 0 4px 8px rgba(0,0,0,0.15); } .password-toggle-container { position: relative; width: 100%; } .password-toggle-input { width: calc(100% - 70px); padding: 12px 45px 12px 15px; margin-bottom: 15px; border-radius: 8px; border: 1px solid #3a3a3a; background: #2a2a2a; color: #f0f0f0; font-size: 14px; transition: all 0.3s ease; box-shadow: 0 2px 5px rgba(0,0,0,0.1); font-family: monospace; } .password-toggle-btn { position: absolute; right: 20px; top: 10px; background: none; border: none; color: #777; cursor: pointer; padding: 0; margin: 0; font-size: 18px; } .password-toggle-btn:hover { color: #00bcd4; } #toast-container { position: fixed; bottom: 20px; left: 20px; z-index: 9999; } .toast { background-color: #2a2a2a; color: #fff; padding: 12px 18px; margin-bottom: 10px; border-left: 5px solid #00ffe0; border-radius: 8px; box-shadow: 0 4px 10px rgba(0, 255, 224, 0.15); font-size: 14px; animation: slideInFromLeft 0.4s ease, fadeOut 0.5s ease 4s forwards; } #connection-status { position: fixed; bottom: 20px; right: 20px; padding: 8px 16px; border-radius: 20px; background: #333; display: flex; align-items: center; gap: 8px; font-size: 14px; opacity: 0.9; transition: all 0.3s ease; } #connection-status.connected { background: #2e7d32; } #connection-status.disconnected { background: #c62828; } .webhook-status { margin-top: 10px; padding: 8px 12px; border-radius: 6px; font-size: 13px; display: inline-block; } .webhook-status.valid { background: rgba(46, 125, 50, 0.2); color: #69f0ae; } .webhook-status.invalid { background: rgba(198, 40, 40, 0.3); color: #ff8a80; border-left: 3px solid #ff5252; animation: shake 0.5s ease; } #test-webhook-btn { background: linear-gradient(135deg, #7289da, #5865F2) !important; margin-left: 10px !important; transition: all 0.3s ease !important; } #test-webhook-btn:hover { background: linear-gradient(135deg, #677bc4, #4752c4) !important; transform: translateY(-1px) !important; } #test-webhook-btn:disabled { opacity: 0.7 !important; cursor: not-allowed !important; transform: none !important; } #clear-schedule-btn { background: linear-gradient(135deg, #ff7675, #d63031) !important; margin-left: 10px !important; transition: all 0.3s ease !important; } #clear-schedule-btn:hover { background: linear-gradient(135deg, #e84393, #fd79a8) !important; transform: translateY(-1px) !important; } @keyframes shake { 0%, 100% { transform: translateX(0); } 20%, 60% { transform: translateX(-5px); } 40%, 80% { transform: translateX(5px); } } @keyframes slideInFromLeft { from { opacity: 0; transform: translateX(-50px); } to { opacity: 1; transform: translateX(0); } } @keyframes fadeOut { to { opacity: 0; transform: translateX(-50px); } } @media (max-width: 600px) { .container { padding: 20px; } ul#history-list li { flex-direction: column; align-items: flex-start; } ul#history-list li span, ul#history-list li a { margin-top: 5px; } }