/*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-duration:initial}}}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.top-1\/2{top:50%}.z-0{z-index:0}.z-10{z-index:10}.container{width:100%}.mx-auto{margin-inline:auto}.block{display:block}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.min-h-screen{min-height:100vh}.max-w-full{max-width:100%}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.rotate-45{rotate:45deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.resize{resize:both}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}:where(.-space-x-px>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(-1px*var(--tw-space-x-reverse));margin-inline-end:calc(-1px*calc(1 - var(--tw-space-x-reverse)))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.text-left{text-align:left}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.opacity-80{opacity:.8}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}@media (hover:hover){.hover\:underline:hover{text-decoration-line:underline}}.disabled\:opacity-50:disabled{opacity:.5}:root{--primary-color:#3b82f6;--primary-hover:#2563eb;--secondary-color:#64748b;--success-color:#10b981;--warning-color:#f59e0b;--danger-color:#ef4444;--background-color:#f8fafc;--surface-color:#fff;--border-color:#e2e8f0;--text-primary:#1e293b;--text-secondary:#64748b;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}*{box-sizing:border-box}body{background-color:var(--background-color);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.6}nav{background-color:var(--surface-color);border-bottom:1px solid var(--border-color);box-shadow:var(--shadow-sm);z-index:50;padding:1rem 2rem;position:sticky;top:0}nav .nav-container{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;display:flex}nav .nav-brand{color:var(--primary-color);font-size:1rem;font-weight:700;text-decoration:none}nav .nav-links{align-items:center;gap:2rem;display:flex}nav .nav-links a{color:var(--text-secondary);border-radius:.5rem;padding:.5rem;font-size:.8em;font-weight:500;text-decoration:none;transition:all .2s}nav .nav-links a:hover{color:var(--primary-color);background-color:#f1f5f9}nav .nav-links a.active{color:var(--primary-color);background-color:#eff6ff}.container{max-width:1200px;margin:0 auto;padding:2rem}.card{background-color:var(--surface-color);box-shadow:var(--shadow-md);border:1px solid var(--border-color);border-radius:.75rem;overflow:hidden}.card-header{border-bottom:1px solid var(--border-color);background-color:#f8fafc;padding:1.5rem}.card-title{color:var(--text-primary);margin:0;font-size:1.25rem;font-weight:600}.card-body{padding:1.5rem}.button{cursor:pointer;border:none;border-radius:.5rem;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}.button-primary{background-color:var(--primary-color);color:#fff}.button-primary:hover{background-color:var(--primary-hover);box-shadow:var(--shadow-lg);transform:translateY(-1px)}.button-secondary{color:var(--text-primary);border:1px solid var(--border-color);background-color:#f1f5f9}.button-secondary:hover{background-color:#e2e8f0}.button-success{background-color:var(--success-color);color:#fff}.button-danger{background-color:var(--danger-color);color:#fff}.button-sm{padding:.5rem 1rem;font-size:.75rem}.form-group{margin-bottom:1.5rem}.form-label{color:var(--text-primary);margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.form-input{border:1px solid var(--border-color);background-color:var(--surface-color);border-radius:.5rem;width:100%;padding:.75rem;font-size:.875rem;transition:all .2s}.form-input:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #3b82f61a}.form-select{border:1px solid var(--border-color);background-color:var(--surface-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;border-radius:.5rem;width:100%;padding:.75rem 2.5rem .75rem .75rem;font-size:.875rem;transition:all .2s}.form-select:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #3b82f61a}.form-date{border:1px solid var(--border-color);background-color:var(--surface-color);border-radius:.5rem;width:100%;padding:.75rem;font-size:.875rem;transition:all .2s;position:relative}.form-date:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #3b82f61a}.filters-section{background-color:var(--surface-color);box-shadow:var(--shadow-md);border:1px solid var(--border-color);border-radius:.75rem;margin-bottom:2rem}.filters-header{border-bottom:1px solid var(--border-color);background-color:#f8fafc;padding:1.5rem}.filters-title{color:var(--text-primary);align-items:center;gap:.5rem;margin:0;font-size:1.125rem;font-weight:600;display:flex}.filters-body{padding:1.5rem}.filters-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.filters-actions{justify-content:flex-end;align-items:center;gap:1rem;display:flex}.table{border-collapse:separate;border-spacing:0;background-color:var(--surface-color);width:100%;box-shadow:var(--shadow-sm);border:1px solid var(--border-color);border-radius:.75rem;overflow:hidden}.table th{text-align:left;color:var(--text-primary);border-bottom:1px solid var(--border-color);background-color:#f8fafc;padding:1rem;font-size:.875rem;font-weight:600;position:relative}.table th:not(:last-child):after{content:"";background-color:var(--border-color);width:1px;position:absolute;top:25%;bottom:25%;right:0}.table td{border-bottom:1px solid var(--border-color);color:var(--text-secondary);padding:1rem;font-size:.875rem;position:relative}.table td:not(:last-child):after{content:"";background-color:#f1f5f9;width:1px;position:absolute;top:25%;bottom:25%;right:0}.table tr:hover{background-color:#f8fafc}.table tr:hover td:not(:last-child):after{background-color:var(--border-color)}.table tr:last-child td{border-bottom:none}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.stat-card{background-color:var(--surface-color);box-shadow:var(--shadow-md);border:1px solid var(--border-color);border-radius:.75rem;padding:1.5rem}.stat-card .stat-value{color:var(--primary-color);margin-bottom:.5rem;font-size:2rem;font-weight:700}.stat-card .stat-label{color:var(--text-secondary);font-size:.875rem;font-weight:500}.alert{border:1px solid;border-radius:.5rem;margin-bottom:1rem;padding:1rem}.alert-success{color:#166534;background-color:#f0fdf4;border-color:#bbf7d0}.alert-error{color:#dc2626;background-color:#fef2f2;border-color:#fecaca}.alert-warning{color:#d97706;background-color:#fffbeb;border-color:#fed7aa}.badge{text-transform:uppercase;letter-spacing:.05em;border-radius:9999px;align-items:center;padding:.25rem .75rem;font-size:.75rem;font-weight:500;display:inline-flex}.badge-success{color:#166534;background-color:#dcfce7}.badge-warning{color:#d97706;background-color:#fef3c7}.badge-danger{color:#dc2626;background-color:#fee2e2}.badge-info{color:#1d4ed8;background-color:#dbeafe}.modal-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background-color:var(--surface-color);box-shadow:var(--shadow-lg);border-radius:.75rem;max-width:90vw;max-height:90vh;overflow:auto}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.modal-title{color:var(--text-primary);margin:0;font-size:1.25rem;font-weight:600}.modal-close{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:.25rem;padding:.25rem;font-size:1.5rem;transition:all .2s}.modal-close:hover{color:var(--text-primary);background-color:#f1f5f9}.modal-body{padding:1.5rem}.modal-footer{border-top:1px solid var(--border-color);justify-content:flex-end;gap:1rem;padding:1.5rem;display:flex}.bot-card{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:.75rem;height:-moz-fit-content;height:fit-content;padding:1.5rem;transition:all .2s;position:relative;overflow:hidden}.bot-card:hover{box-shadow:var(--shadow-md);border-color:#cbd5e1;transform:translateY(-2px)}.bot-card-safe{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-color:#bae6fd}.bot-card-safe:hover{border-color:#7dd3fc;box-shadow:0 4px 6px -1px #38bdf81a}.bot-card-dangerous{background:linear-gradient(135deg,#fef2f2,#fee2e2);border-color:#fecaca}.bot-card-dangerous:hover{border-color:#f87171;box-shadow:0 4px 6px -1px #f871711a}.bot-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.bot-card-title{color:var(--text-primary);margin:0;font-size:1.125rem;font-weight:700;transition:color .2s}.bot-card-safe .bot-card-title:hover{color:#0369a1}.bot-card-dangerous .bot-card-title:hover{color:#dc2626}.bot-delete-btn{color:#9ca3af;cursor:pointer;opacity:0;background:0 0;border:none;border-radius:.375rem;padding:.25rem .5rem;font-size:.875rem;font-weight:500;transition:all .2s;transform:translate(.5rem)}.bot-card:hover .bot-delete-btn{opacity:1;transform:translate(0)}.bot-delete-btn:hover{color:#dc2626;background-color:#fee2e2}.bot-pattern-block{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;margin-bottom:1rem;padding:1rem}.bot-pattern-label{color:#64748b;text-transform:uppercase;letter-spacing:.025em;margin-bottom:.75rem;font-size:.75rem;font-weight:600;display:block}.bot-pattern-code{color:var(--text-primary);word-break:break-all;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.875rem;line-height:1.4}.bot-description-block{background-color:#eff6ff;border:1px solid #dbeafe;border-radius:.5rem;margin-bottom:1rem;padding:1rem}.bot-description-label{color:#1e40af;text-transform:uppercase;letter-spacing:.025em;margin-bottom:.75rem;font-size:.75rem;font-weight:600;display:block}.bot-description-text{color:#374151;font-size:.875rem;line-height:1.4}.bot-card-dangerous .bot-description-block{background-color:#fef2f2;border-color:#fecaca}.bot-card-dangerous .bot-description-label{color:#dc2626}.bots-grid{grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem;margin-top:1rem;display:grid}.text-center{text-align:center}.text-right{text-align:right}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mt-4{margin-top:1rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.w-full{width:100%}.h-full{height:100%}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-4{gap:1rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.3s ease-out fadeIn}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}@media (max-width:768px){.container,nav{padding:1rem}nav .nav-links{gap:1rem}.stats-grid,.filters-grid{grid-template-columns:1fr}.filters-actions{flex-direction:column;align-items:stretch}.table{font-size:.75rem}.table th,.table td{padding:.5rem}.bots-grid{grid-template-columns:1fr;gap:1rem}.bot-card{padding:1rem}}.table th.sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding-right:2rem;transition:all .15s;position:relative}.table th.sortable:hover{color:var(--primary-color);background-color:#f8fafc}.table th.sortable:active{transform:translateY(.5px)}.sort-indicator{opacity:.4;border-left:4px solid #0000;border-right:4px solid #0000;width:0;height:0;transition:all .15s;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.sort-indicator.sort-none{opacity:0}.sort-indicator.sort-none:after{content:"";border:4px solid #94a3b8;border-color:#94a3b8 #0000;width:0;height:0;position:absolute;top:-2px;left:-4px}.sort-indicator.sort-asc{border-bottom:6px solid var(--primary-color);opacity:1}.sort-indicator.sort-desc{border-top:6px solid var(--primary-color);opacity:1}.table th.sortable.active{color:var(--primary-color);font-weight:600}.table th.sortable.active:after{content:"";background:linear-gradient(90deg,var(--primary-color)0%,transparent 100%);height:2px;position:absolute;bottom:0;left:0;right:0}.sort-info{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;margin-top:12px;padding:8px 12px}.sort-info-content{color:var(--text-secondary);align-items:center;gap:6px;font-size:13px;display:flex}.sort-info-field{color:var(--primary-color);font-weight:500}.sort-info-direction{color:var(--text-secondary);font-size:12px}.sort-reset-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;margin-left:auto;padding:2px 6px;font-size:11px;text-decoration:underline;transition:color .15s}.sort-reset-btn:hover{color:var(--primary-color)}.cleanup-option{border:1px solid var(--border-color);background-color:var(--surface-color);cursor:pointer;text-align:left;border-radius:.5rem;padding:1rem;transition:all .15s}.cleanup-option:hover{border-color:var(--primary-color);background-color:#f8fafc}.cleanup-option-active{border-color:var(--danger-color);color:var(--danger-color);background-color:#fef2f2}.warning-box{background-color:#fffbeb;border:1px solid #f59e0b;border-radius:.5rem;padding:1rem}.warning-content{color:#92400e;font-size:.875rem;line-height:1.5}.button-danger{background-color:var(--danger-color);color:#fff;cursor:pointer;border:none;border-radius:.5rem;padding:.75rem 1.5rem;font-weight:500;transition:all .15s}.button-danger:hover:not(:disabled){background-color:#dc2626;transform:translateY(-1px)}.button-danger:disabled{opacity:.5;cursor:not-allowed;transform:none}.message{border-radius:.5rem;padding:.75rem 1rem;font-size:.875rem;font-weight:500}.message-success{color:#065f46;background-color:#ecfdf5;border:1px solid #10b981}.message-error{color:#991b1b;background-color:#fef2f2;border:1px solid #ef4444}.stats-detail-card{border:1px solid var(--border-color);background-color:#f8fafc;border-radius:.5rem;padding:1.5rem}.stats-detail-title{color:var(--text-primary);margin-bottom:1rem;font-size:1rem;font-weight:600}.stats-detail-list{flex-direction:column;gap:.75rem;display:flex}.stats-detail-item{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:.5rem 0;display:flex}.stats-detail-item:last-child{border-bottom:none}.stats-detail-label{color:var(--text-secondary);flex:1;margin-right:1rem;font-size:.875rem}.stats-detail-value{color:var(--primary-color);text-align:right;min-width:2rem;font-size:.875rem;font-weight:600}@media (max-width:768px){.table th.sortable{padding-right:1.5rem}.sort-indicator{border-left-width:3px;border-right-width:3px;right:.5rem}.sort-indicator.sort-asc{border-bottom-width:5px}.sort-indicator.sort-desc{border-top-width:5px}.sort-info{padding:6px 8px}.sort-info-content{font-size:11px}.cleanup-option{padding:.75rem}.stats-detail-card{padding:1rem}.stats-detail-item{flex-direction:column;align-items:flex-start;gap:.25rem}.stats-detail-value{text-align:left;min-width:auto}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-duration{syntax:"*";inherits:false}
