:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#213547;background-color:#f5f7fb;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh;background:#f5f7fb}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#fff;color:#213547;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.channel-container{max-width:1200px;margin:0 auto;padding:2rem;font-family:Inter,system-ui,-apple-system,sans-serif;color:#e0e0e0}.header{margin-bottom:3rem;text-align:center}.header h1{font-size:2.5rem;margin-bottom:.5rem;background:linear-gradient(135deg,#646cff,#9f7aea);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.header p{color:#888;font-size:1.1rem}.content-wrapper{display:grid;grid-template-columns:1fr 1.5fr;gap:3rem;align-items:start}@media(max-width:900px){.content-wrapper{grid-template-columns:1fr}}.left-column{display:flex;flex-direction:column;gap:2rem}.form-section,.list-section,.usage-section{background:#1e1e1e;padding:2rem;border-radius:16px;box-shadow:0 4px 20px #0003;border:1px solid #333;min-width:0}h2,h3{margin-top:0;margin-bottom:1.5rem;font-size:1.5rem;color:#fff;border-bottom:1px solid #333;padding-bottom:1rem}h3{font-size:1.2rem;margin-bottom:1rem}.channel-form .form-group{margin-bottom:1.5rem}.channel-form label{display:block;margin-bottom:.5rem;font-weight:500;color:#aaa}.input-field{width:100%;padding:.8rem 1rem;border-radius:8px;border:1px solid #444;background:#2a2a2a;color:#fff;font-size:1rem;transition:all .2s;box-sizing:border-box}.input-field:focus{outline:none;border-color:#646cff;box-shadow:0 0 0 2px #646cff33}.input-field:disabled{opacity:.6;cursor:not-allowed}small{display:block;margin-top:.3rem;color:#666;font-size:.85rem}.button-group{display:flex;gap:1rem;margin-top:2rem}.submit-btn{flex:1;background:linear-gradient(135deg,#646cff,#535bf2);color:#fff;border:none;padding:.8rem;border-radius:8px;font-weight:600;cursor:pointer;transition:transform .1s,box-shadow .2s}.submit-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #646cff4d}.cancel-btn{padding:.8rem 1.5rem;background:transparent;border:1px solid #555;color:#aaa;border-radius:8px;cursor:pointer}.cancel-btn:hover{background:#333;color:#fff}.list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.list-header h2{margin-bottom:0;border-bottom:none;padding-bottom:0}.sort-select{padding:.5rem 1rem;border-radius:6px;border:1px solid #444;background:#2a2a2a;color:#fff;font-size:.9rem;cursor:pointer}.sort-select:focus{outline:none;border-color:#646cff}.channel-list{display:flex;flex-direction:column;gap:1rem}.channel-card{background:#2a2a2a;border-radius:12px;padding:1.5rem;border:1px solid #333;transition:transform .2s,border-color .2s;overflow:hidden}.channel-card:hover{transform:translateY(-2px);border-color:#555}.channel-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.channel-title h3{margin:0;font-size:1.2rem;color:#fff;border-bottom:none;padding-bottom:0}.channel-key{display:inline-block;background:#333;padding:.2rem .6rem;border-radius:4px;font-size:.8rem;color:#aaa;margin-top:.3rem;font-family:monospace}.actions{display:flex;gap:.5rem;flex-shrink:0}.icon-btn{background:transparent;border:none;cursor:pointer;font-size:1.2rem;padding:.4rem;border-radius:4px;transition:background .2s}.edit-btn:hover{background:#646cff33;color:#646cff}.message-btn:hover{background:#61afef33;color:#61afef}.delete-btn:hover{background:#ff464633;color:#ff4646}.channel-desc{color:#ccc;font-size:.95rem;margin-bottom:1rem;line-height:1.4}.url-container{background:#1a1a1a;padding:.8rem;border-radius:6px;overflow-x:auto;max-width:100%}.channel-url{color:#888;font-family:monospace;font-size:.85rem;white-space:nowrap;display:block}.loading,.empty{text-align:center;padding:2rem;color:#666}.usage-section p{color:#ccc;margin-bottom:1rem;line-height:1.5}.code-block{background:#111;border-radius:8px;border:1px solid #333;overflow:hidden;margin-bottom:1rem}.code-header{background:#222;padding:.5rem 1rem;font-family:monospace;font-size:.9rem;color:#888;border-bottom:1px solid #333}.code-block pre{margin:0;padding:1rem;color:#a5d6ff;font-family:Menlo,Monaco,Courier New,monospace;font-size:.9rem;line-height:1.5;overflow-x:auto}.usage-note{font-size:.9rem;color:#888;font-style:italic}.toast-container{position:fixed;bottom:24px;right:24px;z-index:1000;display:flex;flex-direction:column;gap:10px;pointer-events:none}.toast{display:flex;align-items:center;justify-content:space-between;min-width:300px;max-width:400px;padding:16px;border-radius:8px;background-color:#1e1e1e;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;color:#fff;font-size:14px;font-weight:500;pointer-events:auto;animation:toast-in .3s cubic-bezier(.4,0,.2,1) forwards;border-left:4px solid transparent}.toast.exiting{animation:toast-out .3s cubic-bezier(.4,0,1,1) forwards}.toast-success{border-left-color:#48bb78}.toast-success .toast-icon{color:#48bb78}.toast-error{border-left-color:#fc8181}.toast-error .toast-icon{color:#fc8181}.toast-info{border-left-color:#63b3ed}.toast-info .toast-icon{color:#63b3ed}.toast-content{display:flex;align-items:center;gap:12px;flex:1}.toast-icon{font-size:20px;display:flex;align-items:center;justify-content:center}.toast-close{background:transparent;border:none;color:#a0aec0;cursor:pointer;padding:4px;margin-left:12px;font-size:18px;line-height:1;border-radius:4px;transition:all .2s}.toast-close:hover{background-color:#ffffff1a;color:#fff}@keyframes toast-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes toast-out{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.github-container{--accent-color: #646cff;--accent-color-dark: #535bf2;--accent-color-alpha: rgba(100, 108, 255, .3);--accent-color-bg: rgba(100, 108, 255, .05);--code-color: #a5d6ff}.gitlab-container{--accent-color: #fc6d26;--accent-color-dark: #e24329;--accent-color-alpha: rgba(252, 109, 38, .3);--accent-color-bg: rgba(252, 109, 38, .05);--code-color: #fca326}.webhook-settings{max-width:1000px;margin:0 auto;padding:2rem;font-family:Inter,system-ui,-apple-system,sans-serif;color:#e0e0e0}.webhook-settings .header{margin-bottom:3rem;text-align:center}.webhook-settings .header h1{font-size:2.5rem;margin-bottom:.5rem;background:linear-gradient(135deg,var(--accent-color) 0%,var(--accent-color-dark) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.webhook-settings .header p{color:#888;font-size:1.1rem}.webhook-settings .content{display:flex;flex-direction:column;gap:2rem}.webhook-settings .settings-section,.webhook-settings .status-section,.webhook-settings .webhook-section,.webhook-settings .events-section{background:#1e1e1e;padding:2rem;border-radius:16px;box-shadow:0 4px 20px #0003;border:1px solid #333}.webhook-settings h2{margin-top:0;margin-bottom:1.5rem;font-size:1.5rem;color:#fff;border-bottom:1px solid #333;padding-bottom:1rem}.webhook-settings h3{margin-top:1.5rem;margin-bottom:1rem;font-size:1.2rem;color:#fff}.webhook-settings .form-group{margin-bottom:1.5rem}.webhook-settings .form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#aaa}.webhook-settings small{display:block;margin-top:.3rem;color:#666;font-size:.85rem}.webhook-settings .select-field,.webhook-settings .input-field{width:100%;padding:.8rem 1rem;border-radius:8px;border:1px solid #444;background:#2a2a2a;color:#fff;font-size:1rem;transition:all .2s;box-sizing:border-box}.webhook-settings .select-field{cursor:pointer}.webhook-settings .select-field:focus,.webhook-settings .input-field:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 2px var(--accent-color-alpha)}.webhook-settings .select-field:disabled,.webhook-settings .input-field:disabled{opacity:.5;cursor:not-allowed}.webhook-settings .select-field option{background:#2a2a2a;color:#fff}.webhook-settings .select-field.small{padding:.5rem .8rem;font-size:.9rem;min-width:150px;width:auto}.webhook-settings .toggle-wrapper{display:flex;align-items:center;gap:1rem}.webhook-settings .toggle{position:relative;display:inline-block;width:52px;height:28px}.webhook-settings .toggle input{opacity:0;width:0;height:0}.webhook-settings .toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#444;transition:.3s;border-radius:28px}.webhook-settings .toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:4px;bottom:4px;background-color:#fff;transition:.3s;border-radius:50%}.webhook-settings .toggle input:checked+.toggle-slider{background:linear-gradient(135deg,var(--accent-color) 0%,var(--accent-color-dark) 100%)}.webhook-settings .toggle input:checked+.toggle-slider:before{transform:translate(24px)}.webhook-settings .toggle.small{width:40px;height:22px}.webhook-settings .toggle.small .toggle-slider:before{height:16px;width:16px;left:3px;bottom:3px}.webhook-settings .toggle.small input:checked+.toggle-slider:before{transform:translate(18px)}.webhook-settings .toggle-label{color:#888;font-size:.95rem}.webhook-settings .save-btn{background:linear-gradient(135deg,var(--accent-color) 0%,var(--accent-color-dark) 100%);color:#fff;border:none;padding:.8rem 2rem;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:transform .1s,box-shadow .2s}.webhook-settings .save-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px var(--accent-color-alpha)}.webhook-settings .save-btn:disabled{opacity:.6;cursor:not-allowed}.webhook-settings .message{padding:1rem;border-radius:8px;margin-bottom:1.5rem;font-size:.95rem}.webhook-settings .message.success{background:#48bb7826;border:1px solid rgba(72,187,120,.3);color:#68d391}.webhook-settings .message.error{background:#f5656526;border:1px solid rgba(245,101,101,.3);color:#fc8181}.webhook-settings .section-description{color:#888;margin-bottom:1.5rem}.webhook-settings .events-list{display:flex;flex-direction:column;gap:.5rem}.webhook-settings .event-row{display:flex;align-items:center;gap:1rem;padding:1rem;background:#2a2a2a;border:1px solid #333;border-radius:8px;transition:all .2s}.webhook-settings .event-row.enabled{border-color:var(--accent-color-alpha);background:var(--accent-color-bg)}.webhook-settings .event-row.disabled{opacity:.5}.webhook-settings .event-toggle{flex-shrink:0}.webhook-settings .event-info{flex:1;display:flex;flex-direction:column;gap:.2rem}.webhook-settings .event-label{font-weight:600;color:#fff}.webhook-settings .event-description{font-size:.85rem;color:#888}.webhook-settings .event-channel{flex-shrink:0}.webhook-settings .status-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.webhook-settings .status-card{display:flex;align-items:center;gap:1rem;padding:1.2rem;background:#2a2a2a;border-radius:12px;border:1px solid #333}.webhook-settings .status-card.ok{border-color:#48bb784d}.webhook-settings .status-card.warning{border-color:#ecc94b4d}.webhook-settings .status-card.disabled{border-color:#444;opacity:.7}.webhook-settings .status-icon{font-size:1.8rem}.webhook-settings .status-info h4{margin:0 0 .3rem;font-size:.9rem;color:#888;font-weight:500}.webhook-settings .status-info p{margin:0;font-size:1rem;color:#fff}.webhook-settings .webhook-section p{color:#ccc;margin-bottom:1.5rem;line-height:1.5}.webhook-settings .webhook-info{background:#2a2a2a;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem}.webhook-settings .info-row{display:flex;justify-content:space-between;align-items:center;padding:.8rem 0;border-bottom:1px solid #333}.webhook-settings .info-row:last-child{border-bottom:none}.webhook-settings .info-label{color:#888;font-weight:500}.webhook-settings .info-value{background:#1a1a1a;padding:.4rem .8rem;border-radius:6px;font-family:Menlo,Monaco,Courier New,monospace;font-size:.9rem;color:var(--code-color)}.webhook-settings .setup-steps{background:#2a2a2a;border-radius:12px;padding:1.5rem}.webhook-settings .setup-steps h3{margin-top:0;color:#fff}.webhook-settings .setup-steps ol{margin:0;padding-left:1.5rem;color:#ccc;line-height:1.8}.webhook-settings .setup-steps li{margin-bottom:.5rem}.webhook-settings .setup-steps strong{color:#fff}.webhook-settings .setup-steps ul.trigger-list{margin:.5rem 0;padding-left:1.2rem;list-style-type:disc}.webhook-settings .setup-steps ul.trigger-list li{margin-bottom:.3rem;line-height:1.6}.webhook-settings .setup-steps p.note{color:#888;font-size:.9rem;margin:.5rem 0 1rem;padding:.5rem 1rem;background:var(--accent-color-bg);border-left:3px solid var(--accent-color);border-radius:4px}.webhook-settings .setup-steps code{background:#1a1a1a;padding:.15rem .4rem;border-radius:4px;font-family:Menlo,Monaco,Courier New,monospace;font-size:.85rem;color:var(--code-color)}.webhook-settings .loading{text-align:center;padding:4rem 2rem;color:#666}@media(max-width:768px){.webhook-settings .event-row{flex-wrap:wrap}.webhook-settings .event-channel{width:100%;margin-top:.5rem}.webhook-settings .select-field.small{width:100%}}@media(max-width:600px){.webhook-settings{padding:1rem}.webhook-settings .settings-section,.webhook-settings .status-section,.webhook-settings .webhook-section,.webhook-settings .events-section{padding:1.5rem}.webhook-settings .status-cards{grid-template-columns:1fr}.webhook-settings .info-row{flex-direction:column;align-items:flex-start;gap:.5rem}.webhook-settings .info-value{word-break:break-all}}.uptime-kuma-container{--accent-color: #38bdf8;--accent-color-dark: #0ea5e9;--accent-color-alpha: rgba(14, 165, 233, .28);--accent-color-bg: rgba(14, 165, 233, .08);--code-color: #0284c7}.messages-container{max-width:1200px;margin:0 auto;padding:2rem;font-family:Inter,system-ui,-apple-system,sans-serif;color:#e0e0e0}.messages-header{margin-bottom:2rem;display:flex;align-items:center;justify-content:space-between}.header-actions{display:flex;gap:1rem;align-items:center}.sort-select{background:#2a2a2a;color:#e0e0e0;border:1px solid #444;padding:.5rem 1rem;border-radius:6px;font-size:.9rem;cursor:pointer;outline:none}.sort-select:focus{border-color:#646cff}.back-btn{background:transparent;border:1px solid #444;color:#aaa;padding:.5rem 1rem;border-radius:6px;cursor:pointer;transition:all .2s;font-size:.9rem}.back-btn:hover{border-color:#666;color:#fff;background:#333}.messages-title h1{font-size:2rem;margin:0;background:linear-gradient(135deg,#646cff,#9f7aea);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.messages-title p{color:#888;margin:.5rem 0 0}.messages-list{display:flex;flex-direction:column;gap:1rem}.message-card{background:#2a2a2a;border-radius:12px;border:1px solid #333;padding:1.5rem}.message-card.failed{border-color:#e06c75;background:#e06c750d}.message-header{display:flex;justify-content:space-between;margin-bottom:1rem;font-size:.9rem}.message-time{color:#888}.status-badge{padding:.2rem .5rem;border-radius:4px;font-size:.8rem;font-weight:600;text-transform:uppercase}.status-badge.success{background:#98c37933;color:#98c379}.status-badge.failed{background:#e06c7533;color:#e06c75}.message-content{background:#1e1e1e;padding:1rem;border-radius:8px;color:#dcdfe4;font-family:monospace;white-space:pre-wrap;word-break:break-all}.empty-messages{text-align:center;padding:4rem;color:#666;background:#1e1e1e;border-radius:12px;border:1px dashed #333}.logs-container{max-width:1200px;margin:0 auto;padding:2rem;font-family:Inter,system-ui,-apple-system,sans-serif;color:#e0e0e0}.logs-container .header{margin-bottom:2rem;text-align:center}.logs-container .header h1{font-size:2.5rem;margin-bottom:.5rem;background:linear-gradient(135deg,#646cff,#9f7aea);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.logs-container .header p{color:#888;font-size:1.1rem}.logs-content{background:#1e1e1e;border-radius:16px;padding:1.5rem;border:1px solid #333}.filters{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap;align-items:center}.search-input{flex:1;min-width:200px;padding:.7rem 1rem;border-radius:8px;border:1px solid #444;background:#2a2a2a;color:#fff;font-size:.95rem}.search-input:focus{outline:none;border-color:#646cff}.source-filter{padding:.7rem 1rem;border-radius:8px;border:1px solid #444;background:#2a2a2a;color:#fff;font-size:.95rem;cursor:pointer}.refresh-btn{padding:.7rem 1.2rem;border-radius:8px;border:1px solid #444;background:#2a2a2a;color:#fff;font-size:.95rem;cursor:pointer;transition:background .2s}.refresh-btn:hover{background:#3a3a3a}.page-size-select{padding:.7rem 1rem;border-radius:8px;border:1px solid #444;background:#2a2a2a;color:#fff;font-size:.95rem;cursor:pointer}.log-count{color:#888;font-size:.9rem}.tag-filter-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.4rem .8rem;border-radius:16px;border:none;background:#646cff;color:#fff;font-size:.85rem;cursor:pointer;transition:background .2s}.tag-filter-badge:hover{background:#5558dd}.logs-table-wrapper{overflow-x:auto}.logs-table{width:100%;border-collapse:collapse;font-size:.9rem}.logs-table th,.logs-table td{padding:.8rem;text-align:left;border-bottom:1px solid #333}.logs-table th{background:#252525;font-weight:600;color:#aaa;white-space:nowrap}.logs-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.logs-table th.sortable:hover{color:#fff}.sort-icon{margin-left:.3rem;opacity:.3}.sort-icon.active{opacity:1;color:#646cff}.log-row{cursor:pointer;transition:background .15s}.log-row:hover,.log-row.expanded{background:#2a2a2a}.time{white-space:nowrap;color:#888;font-family:monospace}.source-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .6rem;border-radius:4px;font-size:.8rem;font-weight:500}.source-badge.github{background:#646cff33;color:#a5b4fc}.source-badge.gitlab{background:#fc6d2633;color:#fdba74}.source-badge.uptime-kuma{background:#38bdf833;color:#7dd3fc}.source-badge.n8n{background:#ea580c2e;color:#fb923c}.source-badge.attendance{background:#48bb7833;color:#68d391}.event-type{font-family:monospace;color:#a5d6ff}.project{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.channel{color:#888}.tags-cell{max-width:220px}.tag{display:inline-block;padding:.15rem .4rem;margin:.1rem;border-radius:4px;font-size:.75rem;font-family:monospace;cursor:pointer;transition:all .15s;white-space:nowrap}.tag:hover{filter:brightness(1.2)}.tag.active{outline:2px solid #fff;outline-offset:1px}.tag.github{background:#646cff40;color:#a5b4fc}.tag.gitlab{background:#fc6d2640;color:#fdba74}.tag.uptime-kuma{background:#38bdf840;color:#7dd3fc}.tag.n8n{background:#ea580c38;color:#fb923c}.tag.user{background:#48bb7840;color:#68d391}.tag.repo{background:#9f7aea40;color:#c4b5fd}.tag.event{background:#60a5fa40;color:#93c5fd}.tag.more{background:#a0aec033;color:#a0aec0;cursor:default}.status-badge{padding:.2rem .5rem;border-radius:4px;font-size:.8rem}.status-badge.sent{background:#48bb7833;color:#68d391}.status-badge.skipped{background:#a0aec033;color:#a0aec0}.message-row td{background:#1a1a1a;padding:0!important}.expanded-content{padding:1rem}.expanded-user{margin-bottom:.5rem;color:#68d391;font-size:.9rem}.expanded-tags{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid #333}.message-content{margin:0;font-family:Menlo,Monaco,monospace;font-size:.85rem;color:#ccc;white-space:pre-wrap;word-break:break-word;max-height:300px;overflow-y:auto}.empty{text-align:center;color:#666;padding:3rem!important}.loading{text-align:center;padding:4rem;color:#666}.pagination{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1.5rem;flex-wrap:wrap}.page-btn{padding:.5rem .8rem;border-radius:6px;border:1px solid #444;background:#2a2a2a;color:#fff;font-size:.9rem;cursor:pointer;transition:all .15s;min-width:40px}.page-btn:hover:not(:disabled){background:#3a3a3a;border-color:#555}.page-btn.active{background:#646cff;border-color:#646cff;font-weight:600}.page-btn:disabled{opacity:.4;cursor:not-allowed}.page-ellipsis{color:#666;padding:0 .3rem}.page-info{margin-left:1rem;color:#888;font-size:.9rem}@media(max-width:768px){.logs-container{padding:1rem}.filters{flex-direction:column}.search-input{width:100%}.logs-table{font-size:.8rem}.project{max-width:120px}.pagination{gap:.3rem}.page-btn{padding:.4rem .6rem;font-size:.85rem;min-width:35px}.page-info{width:100%;text-align:center;margin-top:.5rem;margin-left:0}}.api-docs-container{max-width:1200px;margin:0 auto;padding:2rem;font-family:Inter,system-ui,-apple-system,sans-serif;color:#e0e0e0}.docs-header{margin-bottom:3rem;text-align:center}.docs-header h1{font-size:2.5rem;margin-bottom:.5rem;background:linear-gradient(135deg,#646cff,#9f7aea);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.docs-header p{color:#888;font-size:1.1rem}.api-section{margin-bottom:3rem}.api-section h2{font-size:1.8rem;color:#fff;border-bottom:1px solid #333;padding-bottom:1rem;margin-bottom:2rem}.endpoint-card{background:#2a2a2a;border-radius:12px;border:1px solid #333;margin-bottom:1.5rem;overflow:hidden}.endpoint-header{display:flex;align-items:center;padding:1rem 1.5rem;background:#1e1e1e;border-bottom:1px solid #333;cursor:pointer;transition:background .2s}.endpoint-header:hover{background:#252525}.method{font-weight:700;padding:.3rem .6rem;border-radius:4px;margin-right:1rem;font-size:.9rem;min-width:60px;text-align:center}.method.get{background:#61afef33;color:#61afef}.method.post{background:#98c37933;color:#98c379}.method.put{background:#e5c07b33;color:#e5c07b}.method.delete{background:#e06c7533;color:#e06c75}.path{font-family:monospace;font-size:1.1rem;color:#dcdfe4;flex:1}.desc-short{color:#888;font-size:.9rem}.endpoint-body{padding:1.5rem;border-top:1px solid #333}.endpoint-desc{color:#ccc;margin-bottom:1.5rem;line-height:1.6}.param-table{width:100%;border-collapse:collapse;margin-bottom:1.5rem;font-size:.95rem}.param-table th,.param-table td{text-align:left;padding:.8rem;border-bottom:1px solid #333}.param-table th{color:#888;font-weight:500}.param-table td{color:#ccc}.param-name{color:#e5c07b;font-family:monospace}.param-type{color:#c678dd;font-family:monospace;font-size:.9rem}.required-badge{display:inline-block;font-size:.7rem;color:#e06c75;border:1px solid #e06c75;border-radius:3px;padding:.1rem .3rem;margin-left:.5rem}.code-example{margin-top:1rem}.code-title{font-size:.9rem;color:#888;margin-bottom:.5rem;display:block}.code-block{background:#111;border-radius:6px;padding:1rem;overflow-x:auto;border:1px solid #333}.code-block pre{margin:0;font-family:Menlo,Monaco,Courier New,monospace;font-size:.9rem;color:#a5d6ff;line-height:1.5}.expand-icon{font-size:1.2rem;color:#666;margin-left:1rem;transition:transform .2s}.endpoint-card.expanded .expand-icon{transform:rotate(180deg)}.api-runner{margin-top:1.5rem;padding:1.2rem;border:1px solid #333;border-radius:12px;background:#1e1e1e}.runner-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.runner-header h4{margin:0;color:#fff;font-size:1rem}.run-btn{padding:.55rem 1.1rem;border:none;border-radius:8px;background:linear-gradient(135deg,#646cff,#535bf2);color:#fff;font-weight:700;cursor:pointer}.run-btn:disabled{opacity:.65;cursor:not-allowed}.runner-label{display:block;margin-top:1rem;color:#aaa;font-size:.9rem;font-weight:600}.runner-input,.runner-textarea{width:100%;box-sizing:border-box;margin-top:.45rem;padding:.75rem;border:1px solid #444;border-radius:8px;background:#111;color:#dcdfe4;font-family:Menlo,Monaco,Courier New,monospace;font-size:.9rem}.runner-textarea{resize:vertical;line-height:1.5}.runner-result{margin-top:1rem;border:1px solid #444;border-radius:10px;overflow:hidden;background:#111}.runner-result.success{border-color:#48bb7873}.runner-result.warning{border-color:#e5c07b8c}.runner-result.error{border-color:#e06c758c}.runner-result-title{padding:.55rem .75rem;border-bottom:1px solid #333;color:#888;font-size:.85rem;font-weight:700}.runner-result pre{margin:0;padding:.9rem;color:#a5d6ff;white-space:pre-wrap;word-break:break-word;font-family:Menlo,Monaco,Courier New,monospace;font-size:.9rem}@media(max-width:480px){.api-docs-container{padding:1rem}.docs-header h1{font-size:1.8rem}.endpoint-header{flex-wrap:wrap;gap:.5rem;padding:.8rem}.method{margin-right:0;font-size:.8rem}.path{font-size:.95rem;min-width:0;word-break:break-all}.desc-short{display:none}.endpoint-body{padding:1rem}.params-section{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:1.5rem}.param-table{margin-bottom:0;min-width:500px;font-size:.85rem}.code-block{padding:.8rem}.code-block pre{font-size:.8rem}}.guide-container{max-width:1200px;margin:0 auto;padding:2rem;font-family:Inter,system-ui,-apple-system,sans-serif;color:#e0e0e0}.guide-header{margin-bottom:2rem;text-align:center}.guide-header .eyebrow{margin-bottom:.5rem;color:#8bd5ff;font-size:.85rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.guide-header h1{margin:0 0 .5rem;font-size:2.5rem;background:linear-gradient(135deg,#8bd5ff,#646cff 55%,#9f7aea);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.guide-header p{max-width:720px;margin:0 auto;color:#999;font-size:1.05rem;line-height:1.7}.guide-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:1.5rem;align-items:start}.guide-sidebar{position:sticky;top:108px;display:flex;flex-direction:column;gap:.75rem}.guide-menu-item{display:grid;grid-template-columns:auto 1fr;gap:.8rem;align-items:center;width:100%;padding:1rem;border:1px solid #333;border-radius:14px;background:#1e1e1e;color:#ccc;text-align:left;cursor:pointer;transition:transform .15s,border-color .2s,background .2s}.guide-menu-item:hover{transform:translateY(-1px);border-color:#555;background:#252525}.guide-menu-item.active{border-color:#646cffcc;background:linear-gradient(135deg,#646cff38,#222338);color:#fff}.guide-menu-icon{font-size:1.4rem}.guide-menu-item strong,.quick-card strong{display:block;margin-bottom:.25rem;color:#fff}.guide-menu-item small,.quick-card small{color:#888;line-height:1.4}.guide-panel{background:#1e1e1e;border:1px solid #333;border-radius:18px;padding:2rem;box-shadow:0 4px 24px #00000038}.guide-panel h2{margin-top:0;margin-bottom:1.5rem;color:#fff;font-size:1.6rem;border-bottom:1px solid #333;padding-bottom:1rem}.guide-panel h3{margin-top:2rem;margin-bottom:1rem;color:#fff;font-size:1.15rem}.guide-panel p,.guide-panel li{color:#c8c8c8;line-height:1.7}.guide-panel code{padding:.15rem .35rem;border-radius:5px;background:#111;color:#a5d6ff;font-family:Menlo,Monaco,Courier New,monospace}.lead{margin-top:-.5rem;margin-bottom:1.5rem;color:#bdbdbd}.step-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.step-card{display:grid;grid-template-columns:auto 1fr;gap:1rem;padding:1.2rem;border:1px solid #333;border-radius:14px;background:#252525}.step-card h3{margin:0 0 .35rem}.step-card p{margin:0}.step-number{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;background:linear-gradient(135deg,#646cff,#9f7aea);color:#fff;font-weight:700}.quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.quick-card{padding:1.2rem;border:1px solid #333;border-radius:14px;background:#252525;color:#ddd;text-align:left;cursor:pointer;transition:transform .15s,border-color .2s}.quick-card:hover{transform:translateY(-2px);border-color:#646cff}.quick-card span{display:block;margin-bottom:.6rem;font-size:1.5rem}.info-box{display:grid;grid-template-columns:140px minmax(0,1fr);gap:1rem;align-items:center;margin:1.5rem 0;padding:1rem;border:1px solid rgba(100,108,255,.45);border-radius:12px;background:#646cff14}.info-box span{color:#aaa;font-weight:700}.info-box code{overflow-wrap:anywhere}.guide-steps,.check-list{padding-left:1.4rem}.guide-steps li,.check-list li{margin-bottom:.7rem}.guide-code-block{margin:1rem 0 1.5rem;border:1px solid #333;border-radius:10px;background:#111;overflow-x:auto}.guide-code-block pre{margin:0;padding:1rem;color:#a5d6ff;font-family:Menlo,Monaco,Courier New,monospace;font-size:.9rem;line-height:1.55}.note{padding:1rem;border-left:4px solid #e5c07b;border-radius:8px;background:#e5c07b14}@media(max-width:900px){.guide-layout{grid-template-columns:1fr}.guide-sidebar{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.guide-container{padding:1rem}.guide-header h1{font-size:1.9rem}.guide-sidebar,.quick-grid{grid-template-columns:1fr}.guide-panel{padding:1.25rem}.info-box{grid-template-columns:1fr}}#root{width:100%;margin:0;padding:0}.App{min-height:100vh;background:#f5f7fb;color:#213547}.tab-nav{display:flex;justify-content:center;align-items:center;padding:1.5rem 1rem;background:#fffffff5;border-bottom:1px solid #e5e7eb;box-shadow:0 2px 14px #0f172a14;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:sticky;top:0;z-index:100}.tab-btn-group{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem}.tab-btn{display:flex;align-items:center;gap:.5rem;padding:.8rem 1.5rem;background:#fff;border:1px solid #d8dee8;border-radius:8px;color:#475569;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s}.tab-btn:hover{background:#f1f5f9;color:#1f2937;border-color:#aab4c3}.tab-btn.active{background:linear-gradient(135deg,#646cff,#535bf2);color:#fff;border-color:transparent}.tab-icon{font-size:1.1rem}.version-badge{position:absolute;right:1rem;padding:.3rem .6rem;background:#eef2ff;border-radius:4px;color:#4f46e5;font-size:.75rem;font-family:monospace}.tab-content{padding-top:1rem}.main-content{min-height:calc(100vh - 70px)}@media(max-width:480px){.tab-nav{padding:1rem .5rem}.tab-btn-group{gap:.25rem}.tab-btn{padding:.6rem;font-size:0;gap:0;min-width:44px;justify-content:center}.tab-icon{font-size:1.4rem;margin:0}.version-badge{display:none}}.App .channel-container,.App .messages-container,.App .logs-container,.App .api-docs-container,.App .webhook-settings,.App .guide-container{color:#213547}.App .header p,.App .docs-header p,.App .guide-header p,.App small,.App .toggle-label,.App .note,.App .empty,.App .time{color:#64748b}.App h2,.App h3,.App .webhook-settings h2,.App .webhook-settings h3,.App .api-section h2,.App .guide-panel h2,.App .guide-panel h3,.App .channel-title h3,.App .message-header h3{color:#0f172a;border-bottom-color:#e5e7eb}.App .form-section,.App .list-section,.App .usage-section,.App .settings-section,.App .status-section,.App .webhook-section,.App .events-section,.App .logs-content,.App .guide-panel{background:#fff;border-color:#e5e7eb;box-shadow:0 8px 28px #0f172a14}.App .channel-card,.App .message-card,.App .endpoint-card,.App .endpoint-header,.App .status-card,.App .event-card,.App .step-card,.App .quick-card,.App .guide-menu-item,.App .info-row,.App .filters{background:#f8fafc;border-color:#e5e7eb;color:#334155}.App .channel-card:hover,.App .endpoint-header:hover,.App .guide-menu-item:hover,.App .quick-card:hover{background:#f1f5f9;border-color:#cbd5e1}.App label,.App .webhook-settings .form-group label,.App .info-label,.App .param-table th,.App .code-title{color:#475569}.App .input-field,.App .select-field,.App .search-input,.App .source-filter,.App .page-size-select,.App .sort-select,.App .runner-input,.App .runner-textarea{background:#fff;border-color:#cbd5e1;color:#0f172a}.App .input-field:disabled,.App .select-field:disabled{background:#f1f5f9;color:#94a3b8}.App .code-block,.App .guide-code-block,.App .message-content,.App .info-value,.App .api-runner,.App .runner-result,.App .webhook-settings code,.App .guide-panel code{background:#f8fafc;border-color:#dbe3ef;color:#1d4ed8}.App .code-block pre,.App .guide-code-block pre{color:#1d4ed8}.App table,.App .logs-table{color:#334155}.App .logs-table th{background:#f1f5f9;color:#475569;border-bottom-color:#e5e7eb}.App .logs-table td,.App .param-table td,.App .param-table th{border-bottom-color:#e5e7eb}.App .log-row:hover,.App .log-row.expanded{background:#f8fafc}.App p,.App li,.App .lead,.App .channel-desc,.App .usage-section p,.App .webhook-section p,.App .setup-steps ol,.App .endpoint-desc,.App .param-table td,.App .message-content,.App .guide-panel p,.App .guide-panel li{color:#334155}.App strong,.App .guide-menu-item strong,.App .quick-card strong,.App .event-label,.App .status-info p,.App .setup-steps strong,.App .path,.App .project,.App .event-type{color:#0f172a}.App .guide-menu-item small,.App .quick-card small,.App .desc-short,.App .section-description,.App .event-description,.App .status-info h4,.App .message-time,.App .usage-note,.App .code-header,.App .runner-label,.App .runner-result-title,.App .expand-icon,.App .loading,.App .empty-messages{color:#64748b}.App .channel-key{background:#eef2ff;color:#4f46e5}.App .url-container,.App .webhook-info,.App .setup-steps,.App .message-row td,.App .empty-messages{background:#f8fafc;border-color:#e5e7eb}.App .channel-url{color:#475569}.App .event-row,.App .webhook-settings .status-card,.App .webhook-settings .webhook-info,.App .webhook-settings .setup-steps{background:#f8fafc;border-color:#e5e7eb}.App .webhook-settings .event-row.enabled{background:var(--accent-color-bg)}.App .webhook-settings .select-field option{background:#fff;color:#0f172a}.App .cancel-btn,.App .back-btn,.App .page-btn{background:#fff;border-color:#cbd5e1;color:#334155}.App .cancel-btn:hover,.App .back-btn:hover,.App .page-btn:hover:not(:disabled){background:#f1f5f9;color:#0f172a;border-color:#94a3b8}.App .page-btn.active{background:#646cff;color:#fff;border-color:#646cff}.App .message-content{background:#f8fafc;border:1px solid #dbe3ef}
