@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";
:root{--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--bg-primary:#0d1117;--bg-secondary:#161b22;--bg-tertiary:#21262d;--border-color:#30363d;--text-primary:#f0f6fc;--text-secondary:#8b949e;--text-muted:#484f58;--color-primary:#2f81f7;--color-primary-hover:#58a6ff;--color-success:#3fb950;--color-success-glow:#3fb95026;--color-warning:#d29922;--color-warning-glow:#d2992226;--color-danger:#f85149;--color-danger-glow:#f8514926;--sidebar-width:260px;--header-height:70px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh;display:flex;overflow:hidden}a{color:inherit;text-decoration:none}.app-container{width:100vw;height:100vh;display:flex;position:relative;overflow:hidden}.sidebar-wrapper{z-index:1000;height:100%;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar-wrapper.open{transform:translate(0)}.sidebar-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999;background-color:#0009;width:100vw;height:100vh;position:fixed;top:0;left:0}.sidebar{width:var(--sidebar-width);background-color:var(--bg-secondary);border-right:1px solid var(--border-color);z-index:1001;flex-direction:column;flex-shrink:0;height:100%;display:flex}.sidebar-brand{height:var(--header-height);color:var(--text-primary);border-bottom:1px solid var(--border-color);align-items:center;gap:.5rem;padding:0 1.5rem;font-size:1.25rem;font-weight:700;display:flex}.sidebar-brand span{color:var(--color-primary)}.sidebar-menu{flex-direction:column;flex:1;gap:.5rem;padding:1.5rem .75rem;list-style:none;display:flex}.sidebar-item a{color:var(--text-secondary);border-radius:6px;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.95rem;font-weight:500;transition:all .2s;display:flex}.sidebar-item a:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.sidebar-item.active a{color:var(--color-primary-hover);border-left:3px solid var(--color-primary);background-color:#2f81f726;border-radius:0 6px 6px 0;padding-left:calc(1rem - 3px)}.main-wrapper{flex-direction:column;flex:1;width:100%;height:100%;display:flex;overflow:hidden}.header{height:var(--header-height);background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;padding:0 1rem;display:flex}.hamburger-btn{color:var(--text-primary);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:.5rem;font-size:1.5rem;display:inline-flex}.hamburger-btn:hover{background-color:var(--bg-tertiary)}.header-title h1{white-space:nowrap;text-overflow:ellipsis;max-width:180px;font-size:1.1rem;font-weight:600;overflow:hidden}.header-actions{align-items:center;gap:1rem;display:flex}.content-body{flex:1;padding:1rem;overflow-y:auto}.hide-on-mobile{display:none!important}@media (min-width:992px){.sidebar-wrapper{z-index:auto;position:static;transform:none}.sidebar-backdrop,.hamburger-btn{display:none!important}.header{padding:0 2rem}.header-title h1{max-width:none;font-size:1.25rem}.content-body{padding:2rem}.hide-on-mobile{display:inline-flex!important}th.hide-on-mobile,td.hide-on-mobile{display:table-cell!important}}.card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;margin-bottom:1.5rem;padding:1.5rem}.card-title{justify-content:space-between;align-items:center;margin-bottom:1.25rem;font-size:1.1rem;font-weight:600;display:flex}.btn{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.9rem;font-weight:500;transition:all .2s;display:inline-flex}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover{background-color:var(--color-primary-hover)}.btn-secondary{background-color:var(--bg-tertiary);border-color:var(--border-color);color:var(--text-primary)}.btn-secondary:hover{background-color:var(--border-color)}.btn-danger{background-color:var(--color-danger);color:#fff}.btn-danger:hover{opacity:.9}.btn:disabled{opacity:.5;cursor:not-allowed}.form-group{flex-direction:column;gap:.5rem;margin-bottom:1.25rem;display:flex}.form-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;font-weight:600}.input,.select,.textarea{background-color:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-primary);font-family:var(--font-sans);border-radius:6px;width:100%;padding:.6rem .8rem;font-size:.95rem;transition:border-color .2s}.select{padding:.35rem .8rem}.input:focus,.select:focus,.textarea:focus{border-color:var(--color-primary);outline:none}.textarea{resize:vertical;min-height:100px}.table-container{border:1px solid var(--border-color);background-color:var(--bg-secondary);border-radius:8px;width:100%;max-width:100%;overflow-x:auto}.table{border-collapse:collapse;text-align:left;width:100%;font-size:.9rem}.table th{color:var(--text-secondary);border-bottom:1px solid var(--border-color);background-color:#161b22cc;padding:.75rem 1rem;font-weight:600}.table td{border-bottom:1px solid var(--border-color);color:var(--text-primary);vertical-align:middle;padding:.75rem 1rem}.table-valign-top td{vertical-align:top!important}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover{background-color:var(--bg-tertiary)}.badge{text-transform:uppercase;border-radius:9999px;align-items:center;padding:.25rem .6rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-live{background-color:var(--color-success-glow);color:var(--color-success);border:1px solid #3fb9504d}.badge-die{background-color:var(--color-danger-glow);color:var(--color-danger);border:1px solid #f851494d}.badge-checkpoint{background-color:var(--color-warning-glow);color:var(--color-warning);border:1px solid #d299224d}.badge-unknown{background-color:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-color)}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;margin-bottom:1.5rem;display:grid}.stat-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;flex-direction:column;gap:.5rem;padding:1.5rem;display:flex}.stat-label{color:var(--text-secondary);font-size:.85rem;font-weight:500}.stat-value{font-size:2rem;font-weight:700}.stat-value.success{color:var(--color-success)}.stat-value.danger{color:var(--color-danger)}.stat-value.warning{color:var(--color-warning)}.text-right{text-align:right}.flex-row{align-items:center;gap:1rem;display:flex}.flex-between{justify-content:space-between;align-items:center;display:flex}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mr-1{margin-right:.5rem}.responsive-grid-2-cols,.responsive-grid-split{grid-template-columns:1fr;gap:1.5rem;display:grid}@media (min-width:992px){.responsive-grid-2-cols{grid-template-columns:1fr 1fr}.responsive-grid-split.dashboard-layout{grid-template-columns:2fr 1fr}.responsive-grid-split.composer-layout{grid-template-columns:1.5fr 1fr}.responsive-grid-split.spam-layout{grid-template-columns:1.2fr 1fr}}.show-on-mobile{display:none!important}@media (max-width:991px){.show-on-mobile{display:block!important}.hide-on-mobile{display:none!important}.content-body{padding:.5rem}.card{border-radius:8px;margin-bottom:1rem;padding:.75rem}.card-title{margin-bottom:.75rem;font-size:.95rem}.table th,.table td{padding:.5rem .4rem;font-size:.8rem}.stat-card{padding:1rem}.stat-value{font-size:1.5rem}.flex-between,.flex-between span{font-size:.8rem}}.responsive-table-content{text-overflow:ellipsis;white-space:nowrap;max-width:120px;overflow:hidden}@media (min-width:992px){.responsive-table-content{max-width:250px}}.spam-target-form{flex-direction:column;gap:1rem;display:flex}.spam-target-form .form-group{width:100%;margin-bottom:0}.spam-target-form .form-submit-btn{width:100%;height:38px;margin-top:.5rem}@media (min-width:992px){.spam-target-form{flex-direction:row;align-items:flex-end}.spam-target-form .flex-1{flex:1}.spam-target-form .flex-2{flex:2}.spam-target-form .form-submit-btn{width:auto;margin-top:0}}
