@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap";:root{--bg-main:#09090b;--bg-card:#18181b;--bg-card-hover:#27272a;--bg-input:#18181b;--color-primary:#6366f1;--color-primary-hover:#4f46e5;--color-accent:#f59e0b;--text-main:#fafafa;--text-muted:#a1a1aa;--text-dim:#71717a;--border-color:#27272a;--border-color-hover:#3f3f46;--border-focus:#6366f1;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--shadow-glow:0 0 10px #6366f126;--border-radius-sm:6px;--border-radius-md:8px;--border-radius-lg:12px;--font-sans:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-main);color:var(--text-main);-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.5;overflow-x:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-main)}::-webkit-scrollbar-thumb{background:#27272a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#3f3f46}#root{flex-direction:column;min-height:100vh;display:flex}.app-container{z-index:10;width:100%;max-width:1200px;margin:0 auto;padding:24px;position:relative}.dashboard-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:32px;padding-bottom:16px;display:flex}.logo-container{align-items:center;gap:12px;display:flex}.logo-icon-wrapper{border-radius:var(--border-radius-sm);background:var(--color-primary);justify-content:center;align-items:center;width:36px;height:36px;display:flex;box-shadow:0 2px 4px #6366f133}.logo-icon-wrapper-large{border-radius:var(--border-radius-md);background:var(--color-primary);justify-content:center;align-items:center;width:48px;height:48px;display:flex;box-shadow:0 4px 6px #6366f133}.logo-text{letter-spacing:-.5px;color:var(--text-main);font-size:20px;font-weight:700}.logo-text-large{letter-spacing:-.5px;color:var(--text-main);font-size:26px;font-weight:700}.status-badge{color:#10b981;background:#10b9811a;border:1px solid #10b98133;border-radius:20px;align-items:center;gap:6px;padding:4px 10px;font-size:13px;font-weight:500;display:inline-flex}.status-badge.disconnected{color:#ef4444;background:#ef44441a;border:1px solid #ef444433}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm);padding:24px;transition:all .2s ease-in-out}.card:hover{border-color:var(--border-color-hover);box-shadow:var(--shadow-md)}.login-wrapper{justify-content:center;align-items:center;min-height:calc(100vh - 100px);display:flex}.login-card{border-radius:var(--border-radius-lg);width:100%;max-width:440px;padding:32px;animation:.3s ease-out slideIn}.login-card h2{color:var(--text-main);margin-top:16px;margin-bottom:8px;font-size:24px;font-weight:600}.login-card p{color:var(--text-muted);margin-bottom:24px;font-size:14px}.form-group{text-align:left;margin-bottom:18px}.form-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:6px;font-size:12px;font-weight:600;display:block}.form-input{background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);width:100%;color:var(--text-main);outline:none;padding:10px 14px;font-size:14px;transition:border-color .15s,box-shadow .15s}.form-input:focus{border-color:var(--border-focus);box-shadow:var(--shadow-glow)}.form-textarea{resize:vertical;min-height:90px}.form-help{color:var(--text-dim);marginTop:4px;font-size:11px;display:block}.btn{border-radius:var(--border-radius-sm);cursor:pointer;border:none;outline:none;justify-content:center;align-items:center;gap:8px;width:100%;padding:10px 18px;font-size:14px;font-weight:500;transition:all .15s ease-in-out;display:inline-flex}.btn-primary{background:var(--color-primary);color:#fff;box-shadow:0 1px 2px #0000000d}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{color:var(--text-main);border:1px solid var(--border-color);background:#27272a}.btn-secondary:hover{border-color:var(--border-color-hover);background:#3f3f46}.btn-danger{color:#f87171;background:#ef44441a;border:1px solid #ef444433}.btn-danger:hover{background:#ef444433}.btn-w-auto{width:auto}.btn-sm{padding:6px 12px;font-size:13px}.dashboard-grid{grid-template-columns:1fr;gap:24px;display:grid}@media (width>=900px){.dashboard-grid{grid-template-columns:2fr 1fr}}.section-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.section-title{font-size:18px;font-weight:600}.rules-list{flex-direction:column;gap:12px;display:flex}.rule-card{border-left:3px solid var(--color-primary);flex-direction:column;justify-content:space-between;gap:16px;padding:16px;display:flex;position:relative;overflow:hidden}@media (width>=600px){.rule-card{flex-direction:row;align-items:center}}.rule-info{flex:1}.rule-badges{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.badge{text-transform:uppercase;letter-spacing:.5px;border-radius:4px;padding:2px 6px;font-size:11px;font-weight:500}.badge-media{color:#818cf8;background:#6366f11a;border:1px solid #6366f133}.badge-keyword{color:#fbbf24;background:#f59e0b1a;border:1px solid #f59e0b33}.badge-global{color:#d4d4d8;background:#71717a1a;border:1px solid #71717a33}.rule-text-container{color:var(--text-main);border-radius:var(--border-radius-sm);border:1px solid var(--border-color);background:#09090b;padding:8px 12px;font-size:14px}.rule-text-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px;font-size:10px;font-weight:600;display:block}.rule-text-italic{color:#ec4899;font-style:italic}.rule-actions{gap:8px;display:flex}.sidebar-panel{flex-direction:column;gap:20px;display:flex}.info-item{align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.info-icon{color:var(--color-primary);flex-shrink:0;margin-top:2px}.info-title{margin-bottom:2px;font-size:13px;font-weight:600}.info-desc{color:var(--text-muted);font-size:12px}.sidebar-settings-card{border-left:3px solid var(--color-accent)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#000000b3;justify-content:center;align-items:center;padding:20px;animation:.15s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{border:1px solid var(--border-color);border-radius:var(--border-radius-lg);width:100%;max-width:500px;box-shadow:var(--shadow-lg);background:#18181b;padding:24px;animation:.15s ease-out scaleUp;position:relative}.modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;transition:color .1s;position:absolute;top:20px;right:20px}.modal-close:hover{color:var(--text-main)}.modal-title{margin-bottom:20px;font-size:18px;font-weight:600}.modal-footer{justify-content:flex-end;gap:12px;margin-top:24px;display:flex}.empty-state{text-align:center;color:var(--text-muted);padding:32px}.empty-icon{opacity:.4;color:var(--text-dim);margin-bottom:12px}.toast{color:#fafafa;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);box-shadow:var(--shadow-md);z-index:1000;background:#27272a;border-left:3px solid #10b981;align-items:center;padding:10px 18px;font-size:13px;font-weight:500;animation:.2s ease-out slideInRight;display:flex;position:fixed;bottom:20px;right:20px}.toast.toast-error{border-left-color:#ef4444}.animate-spin{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleUp{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.terminal-window{border-radius:var(--border-radius-md);width:100%;max-width:500px;box-shadow:var(--shadow-lg), 0 8px 32px #000c;font-family:var(--font-mono);background:#09090b;border:1px solid #27272a;animation:.25s ease-out slideIn;overflow:hidden}.terminal-header{background:#18181b;border-bottom:1px solid #27272a;align-items:center;padding:10px 16px;display:flex;position:relative}.terminal-buttons{gap:6px;display:flex}.terminal-btn{border-radius:50%;width:10px;height:10px}.terminal-btn-red{background:#ef4444}.terminal-btn-yellow{background:#f59e0b}.terminal-btn-green{background:#10b981}.terminal-title{color:var(--text-muted);white-space:nowrap;font-size:11px;font-weight:500;position:absolute;left:50%;transform:translate(-50%)}.terminal-body{color:#e4e4e7;text-align:left;padding:24px;font-size:14px;line-height:1.6}.terminal-output{color:var(--text-muted);white-space:pre-wrap;margin-bottom:16px}.terminal-line{margin-bottom:8px}.terminal-prompt{color:#10b981;align-items:center;gap:8px;display:flex}.terminal-prompt-prefix{color:#818cf8}.terminal-input-wrapper{align-items:center;width:100%;margin-top:4px;display:flex;position:relative}.terminal-input-prefix{color:var(--color-primary);margin-right:8px;font-weight:700}.terminal-input{color:#fafafa!important;font-family:var(--font-mono)!important;width:100%!important;box-shadow:none!important;background:0 0!important;border:none!important;outline:none!important;padding:0!important;font-size:14px!important}.ios-alert-overlay{-webkit-backdrop-filter:blur(12px);z-index:1100;background:#0006;justify-content:center;align-items:center;padding:20px;animation:.2s cubic-bezier(.16,1,.3,1) iosFadeIn;display:flex;position:fixed;inset:0}.ios-alert{-webkit-backdrop-filter:blur(20px);background:#1e1e1ed9;border:1px solid #ffffff1a;border-radius:14px;flex-direction:column;width:100%;max-width:280px;animation:.2s cubic-bezier(.16,1,.3,1) iosScaleUp;display:flex;overflow:hidden;box-shadow:0 8px 32px #00000080}.ios-alert-content{text-align:center;padding:20px 16px}.ios-alert-title{color:#fff;margin-bottom:6px;font-size:16px;font-weight:600}.ios-alert-message{color:#d1d5db;font-size:13px;line-height:1.4}.ios-alert-buttons{border-top:1px solid #ffffff1a;display:flex}.ios-alert-btn{font-size:15px;font-family:var(--font-sans);cursor:pointer;background:0 0;border:none;outline:none;flex:1;justify-content:center;align-items:center;padding:12px 8px;transition:background-color .1s;display:flex}.ios-alert-btn:hover{background-color:#ffffff0d}.ios-alert-btn:active{background-color:#ffffff1a}.ios-alert-btn-cancel{color:#007aff;border-right:1px solid #ffffff1a}.ios-alert-btn-confirm{color:#007aff;font-weight:600}.ios-alert-btn-destructive{color:#ff3b30;font-weight:600}@keyframes iosFadeIn{0%{opacity:0}to{opacity:1}}@keyframes iosScaleUp{0%{opacity:0;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}
