:root{--bg-base:#06080c;--bg-subtle:#0b0e14;--bg-panel:#0d1118b8;--bg-panel-solid:#0d1219;--bg-panel-hover:#141a26d9;--bg-input:#080b10d9;--bg-modal:#0a0e14f0;--bg-overlay:#030407d1;--glass-border:#ffffff14;--glass-border-hover:#ffffff29;--glass-border-bright:#ffffff3d;--glass-border-subtle:#ffffff0a;--glass-shine:inset 0 1px 0 #ffffff17;--glass-shadow:0 16px 40px -10px #000000a6;--glass-shadow-lg:0 24px 64px -12px #000000d9;--glass-backdrop:blur(24px) saturate(180%);--radius-none:0px;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#526075;--text-bright:#fff;--primary:#3b82f6;--primary-hover:#2563eb;--primary-glass:#3b82f61f;--primary-border:#3b82f666;--primary-glow:#3b82f640;--success:#10b981;--success-hover:#059669;--success-glass:#10b9811f;--success-border:#10b98159;--warning:#f59e0b;--warning-hover:#d97706;--warning-glass:#f59e0b1f;--warning-border:#f59e0b59;--danger:#ef4444;--danger-hover:#dc2626;--danger-glass:#ef44441f;--danger-border:#ef444459;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", "SF Mono", Menlo, Consolas, monospace}*,:before,:after{box-sizing:border-box;margin:0;padding:0;border-radius:var(--radius-none)!important}html{background-color:var(--bg-base);font-size:14px}body{font-family:var(--font-sans);background-color:var(--bg-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:radial-gradient(90% 60% at 50% -10%,#1e3a8a2e 0%,#0000 70%),radial-gradient(circle at 100% 100%,#0f172a4d 0%,#0000 40%),linear-gradient(#ffffff04 1px,#0000 1px),linear-gradient(90deg,#ffffff04 1px,#0000 1px);background-size:100% 100%,100% 100%,36px 36px,36px 36px;background-attachment:fixed;min-height:100vh;line-height:1.5}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#080b1099}::-webkit-scrollbar-thumb{background:#ffffff24}::-webkit-scrollbar-thumb:hover{background:#ffffff47}.admin-shell{flex-direction:column;min-height:100vh;display:flex}.admin-navbar{-webkit-backdrop-filter:var(--glass-backdrop);border-bottom:1px solid var(--glass-border);box-shadow:var(--glass-shine), 0 4px 20px #00000059;z-index:50;background:#0a0e14c7;justify-content:space-between;align-items:center;padding:.85rem 2rem;display:flex;position:sticky;top:0}.navbar-brand{align-items:center;gap:14px;display:flex}.brand-logo-mark{border:1px solid var(--glass-border-bright);width:36px;height:36px;box-shadow:var(--glass-shine);color:var(--text-bright);background:#ffffff0a;justify-content:center;align-items:center;display:flex}.brand-title-row{align-items:center;gap:8px;display:flex}.brand-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-bright);font-size:1.05rem;font-weight:700}.brand-badge-tag{font-size:.65rem;font-family:var(--font-mono);letter-spacing:.12em;background:var(--primary-glass);color:var(--primary);border:1px solid var(--primary-border);padding:1px 6px;font-weight:600}.brand-sub{color:var(--text-muted);letter-spacing:.02em;font-size:.75rem;display:block}.navbar-user-actions{align-items:center;gap:16px;display:flex}.admin-status-indicator{font-size:.72rem;font-family:var(--font-mono);letter-spacing:.08em;color:var(--text-secondary);border:1px solid var(--glass-border);box-shadow:var(--glass-shine);background:#ffffff08;align-items:center;gap:8px;padding:6px 12px;font-weight:600;display:flex}.indicator-live-dot{background:var(--success);width:6px;height:6px;box-shadow:0 0 8px var(--success)}.btn-logout{color:var(--text-secondary);border:1px solid var(--glass-border);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:#ffffff08;align-items:center;gap:7px;padding:6px 14px;font-size:.75rem;font-weight:600;transition:all .15s;display:inline-flex}.btn-logout:hover{background:var(--danger-glass);border-color:var(--danger-border);color:var(--danger)}.admin-main-content{flex:1;width:100%;max-width:1440px;margin:0 auto;padding:2rem 2rem 3.5rem}.btn{font-family:var(--font-sans);letter-spacing:.05em;text-transform:uppercase;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:7px;padding:8px 16px;font-size:.78rem;font-weight:600;transition:all .15s;display:inline-flex}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 2px 8px var(--primary-glow)}.btn-primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.btn-secondary{color:var(--text-primary);border-color:var(--glass-border);box-shadow:var(--glass-shine);background:#ffffff0a}.btn-secondary:hover:not(:disabled){border-color:var(--glass-border-hover);background:#ffffff14}.btn-success{background:var(--success-glass);color:var(--success);border-color:var(--success-border)}.btn-success:hover:not(:disabled){background:var(--success);color:#fff;border-color:var(--success)}.btn-warning{background:var(--warning-glass);color:var(--warning);border-color:var(--warning-border)}.btn-warning:hover:not(:disabled){background:var(--warning);color:#000;border-color:var(--warning)}.btn-danger{background:var(--danger-glass);color:var(--danger);border-color:var(--danger-border)}.btn-danger:hover:not(:disabled){background:var(--danger);color:#fff;border-color:var(--danger)}.btn-outline{color:var(--text-secondary);border-color:var(--glass-border);background:0 0}.btn-outline:hover:not(:disabled){color:var(--text-primary);border-color:var(--glass-border-hover);background:#ffffff0d}.btn-icon-only{justify-content:center;align-items:center;width:34px;min-width:34px;height:34px;padding:0;display:inline-flex}.btn-expand{color:var(--text-muted);letter-spacing:.06em;cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:6px;padding:6px 10px;font-size:.72rem;font-weight:600;transition:all .15s;display:inline-flex}.btn-expand:hover{color:var(--text-primary);border-color:var(--glass-border);background:#ffffff0a}.dashboard-stats-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:1.25rem;display:flex}.stats-group{background:var(--glass-border);border:1px solid var(--glass-border);box-shadow:var(--glass-shine), var(--glass-shadow);gap:1px;display:flex}.stat-card{background:var(--bg-panel);-webkit-backdrop-filter:var(--glass-backdrop);flex-direction:column;gap:4px;min-width:140px;padding:.85rem 1.6rem;display:flex}.stat-label{font-size:.68rem;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-weight:600}.stat-val{font-size:1.6rem;font-family:var(--font-mono);letter-spacing:-.03em;color:var(--text-bright);font-weight:700;line-height:1}.stat-success .stat-val{color:var(--success)}.stat-muted .stat-val{color:var(--text-secondary)}.stats-actions{align-items:center;gap:8px;display:flex}.dashboard-filter-bar{background:var(--bg-panel);-webkit-backdrop-filter:var(--glass-backdrop);border:1px solid var(--glass-border);box-shadow:var(--glass-shine);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:.5rem .75rem;display:flex}.search-input-wrapper{flex:1;align-items:center;min-width:260px;display:flex;position:relative}.search-icon{color:var(--text-muted);pointer-events:none;position:absolute;left:10px}.search-field{border:1px solid var(--glass-border);width:100%;color:var(--text-primary);font-family:var(--font-sans);background:#0006;padding:7px 32px 7px 34px;font-size:.82rem;transition:all .15s}.search-field:focus{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary);background:#0009;outline:none}.search-field::placeholder{color:var(--text-muted)}.search-clear-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:1.2rem;line-height:1;position:absolute;right:8px}.search-clear-btn:hover{color:var(--text-primary)}.filter-tabs{gap:4px;display:flex}.filter-tab{color:var(--text-secondary);font-family:var(--font-mono);letter-spacing:.06em;cursor:pointer;background:0 0;border:1px solid #0000;padding:6px 12px;font-size:.72rem;font-weight:600;transition:all .15s}.filter-tab:hover{color:var(--text-bright);background:#ffffff0a}.filter-tab.active{border-color:var(--glass-border-bright);color:var(--text-bright);box-shadow:var(--glass-shine);background:#ffffff14}.instances-grid{grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:1.25rem;display:grid}.instance-card{background:var(--bg-panel);-webkit-backdrop-filter:var(--glass-backdrop);border:1px solid var(--glass-border);box-shadow:var(--glass-shine), var(--glass-shadow);flex-direction:column;transition:border-color .2s,box-shadow .2s,background-color .2s;display:flex;position:relative}.instance-card:hover{border-color:var(--glass-border-hover);background:var(--bg-panel-hover);box-shadow:var(--glass-shine), 0 20px 48px -12px #000000bf}.instance-card:before{content:"";background:0 0;height:2px;position:absolute;top:0;left:0;right:0}.instance-card.status-running:before{background:var(--success);box-shadow:0 0 10px var(--success)}.instance-card.status-stopped:before{background:var(--glass-border-bright)}.instance-card.status-error:before{background:var(--danger);box-shadow:0 0 10px var(--danger)}.instance-card-header{border-bottom:1px solid var(--glass-border-subtle);justify-content:space-between;align-items:flex-start;gap:12px;padding:1.25rem 1.25rem 1rem;display:flex}.bot-profile-chip{flex:1;align-items:center;gap:14px;min-width:0;display:flex}.bot-avatar-frame{border:1px solid var(--glass-border-bright);width:52px;height:52px;box-shadow:var(--glass-shine);background:#00000080;flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.bot-avatar-frame img{object-fit:cover;width:100%;height:100%;display:block}.bot-avatar-fallback{color:var(--text-bright);font-size:1.25rem;font-weight:700;font-family:var(--font-mono)}.bot-title-meta{flex:1;min-width:0}.bot-name-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px;display:flex}.bot-name-row h4{letter-spacing:-.01em;color:var(--text-bright);white-space:nowrap;text-overflow:ellipsis;font-size:1rem;font-weight:700;overflow:hidden}.bot-age-tag{font-size:.65rem;font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-secondary);border:1px solid var(--glass-border);background:#ffffff0d;padding:1px 5px;font-weight:600}.bot-id-tag{font-size:.65rem;font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-muted);border:1px solid var(--glass-border-subtle);background:#00000059;padding:1px 5px;font-weight:500}.bot-submeta{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;font-size:.75rem;display:flex;overflow:hidden}.bot-separator{color:var(--text-muted)}.bot-username{font-family:var(--font-mono);color:var(--primary)}.status-badge{font-size:.68rem;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid #0000;align-items:center;gap:6px;padding:4px 10px;font-weight:700;display:inline-flex}.status-badge .status-dot{width:6px;height:6px}.status-badge.running{background:var(--success-glass);color:var(--success);border-color:var(--success-border)}.status-badge.running .status-dot{background:var(--success);box-shadow:0 0 8px var(--success)}.status-badge.stopped{color:var(--text-secondary);background:#64748b1f;border-color:#64748b4d}.status-badge.stopped .status-dot{background:var(--text-muted)}.status-badge.error{background:var(--danger-glass);color:var(--danger);border-color:var(--danger-border)}.status-badge.error .status-dot{background:var(--danger);box-shadow:0 0 8px var(--danger)}.instance-card-tags{background:#0003;flex-wrap:wrap;gap:6px;padding:.75rem 1.25rem;display:flex}.meta-tag{font-size:.68rem;font-family:var(--font-mono);letter-spacing:.05em;color:var(--text-secondary);border:1px solid var(--glass-border);background:#ffffff08;align-items:center;gap:5px;padding:3px 8px;font-weight:600;display:inline-flex}.meta-tag-k{color:var(--text-muted);font-weight:500}.expanded-details-pane{border-top:1px solid var(--glass-border);border-bottom:1px solid var(--glass-border);background:#00000059;flex-direction:column;gap:.85rem;padding:1rem 1.25rem;display:flex}.detail-photos-preview{flex-direction:column;gap:6px;display:flex}.detail-k{font-size:.66rem;font-family:var(--font-mono);letter-spacing:.08em;color:var(--text-muted);text-transform:uppercase;font-weight:600}.mini-photos-strip{gap:6px;padding-bottom:4px;display:flex;overflow-x:auto}.mini-photo-thumb{border:1px solid var(--glass-border);background:#00000080;flex-shrink:0;width:44px;height:44px;position:relative;overflow:hidden}.mini-photo-thumb img{object-fit:cover;width:100%;height:100%;display:block}.mini-photo-thumb.is-main{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.mini-star-mark{color:var(--warning);background:#000c;padding:2px;line-height:1;display:flex;position:absolute;top:2px;right:2px}.detail-grid{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.detail-row{flex-direction:column;gap:2px;display:flex}.detail-v{color:var(--text-primary);word-break:break-all;font-size:.75rem}.font-mono{font-family:var(--font-mono)}.detail-link{color:var(--primary);text-decoration:none}.detail-link:hover{text-decoration:underline}.detail-prompt{flex-direction:column;gap:4px;display:flex}.prompt-pre{border:1px solid var(--glass-border);font-family:var(--font-mono);color:var(--text-secondary);white-space:pre-wrap;word-break:break-all;background:#00000080;max-height:90px;padding:8px 10px;font-size:.7rem;overflow-y:auto}.instance-card-footer{border-top:1px solid var(--glass-border-subtle);justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding:.85rem 1.25rem;display:flex}.instance-btn-group{align-items:center;gap:6px;display:flex}.modal-backdrop{background:var(--bg-overlay);-webkit-backdrop-filter:blur(16px);z-index:1000;justify-content:center;align-items:center;padding:1.5rem;animation:.15s ease-out fadeIn;display:flex;position:fixed;inset:0}.instance-modal{background:var(--bg-modal);-webkit-backdrop-filter:var(--glass-backdrop);border:1px solid var(--glass-border-bright);box-shadow:var(--glass-shine), var(--glass-shadow-lg);flex-direction:column;width:100%;max-width:820px;max-height:90vh;animation:.2s cubic-bezier(.16,1,.3,1) scaleIn;display:flex;position:relative;overflow:hidden}.modal-progress-bar{z-index:30;background:#ffffff14;height:3px;position:absolute;top:0;left:0;right:0;overflow:hidden}.modal-progress-bar-inner{background:linear-gradient(90deg, var(--primary), #818cf8, var(--primary));background-size:200% 100%;height:100%;animation:1.4s linear infinite shimmerProgress}@keyframes shimmerProgress{0%{transform:translate(-100%)}to{transform:translate(100%)}}.modal-saving-overlay{-webkit-backdrop-filter:blur(14px);z-index:25;background:#080b10e0;justify-content:center;align-items:center;padding:2rem;animation:.15s fadeIn;display:flex;position:absolute;inset:0}.modal-saving-card{background:var(--bg-panel-solid);border:1px solid var(--glass-border-bright);box-shadow:var(--glass-shine), var(--glass-shadow-lg);text-align:center;flex-direction:column;align-items:center;gap:12px;width:100%;max-width:500px;padding:2.2rem 2.5rem;display:flex}.saving-spinner-ring{border:2px solid #ffffff1a;border-top-color:var(--primary);width:40px;height:40px;margin-bottom:6px;animation:.75s linear infinite spin}.saving-success-icon{background:var(--success-glass);border:1px solid var(--success-border);width:44px;height:44px;color:var(--success);justify-content:center;align-items:center;margin-bottom:6px;display:flex}.modal-saving-title{letter-spacing:.08em;color:var(--text-bright);text-transform:uppercase;font-size:1.05rem;font-weight:700}.modal-saving-desc{color:var(--text-secondary);margin-bottom:12px;font-size:.8rem;line-height:1.5}.modal-saving-steps{text-align:left;border-top:1px solid var(--glass-border);flex-direction:column;gap:6px;width:100%;padding-top:14px;display:flex}.modal-saving-step{font-size:.74rem;font-family:var(--font-mono);color:var(--text-muted);align-items:center;gap:10px;display:flex}.modal-saving-step.active{color:var(--primary)}.modal-saving-step.done{color:var(--success)}.modal-saving-step .step-icon{justify-content:center;width:16px;display:inline-flex}.modal-header{border-bottom:1px solid var(--glass-border);background:#00000040;justify-content:space-between;align-items:center;padding:1.25rem 1.75rem;display:flex}.modal-title-wrap{align-items:center;gap:14px;display:flex}.modal-avatar-preview{border:1px solid var(--glass-border-bright);width:44px;height:44px;box-shadow:var(--glass-shine);font-family:var(--font-mono);color:var(--text-bright);background:#00000080;justify-content:center;align-items:center;font-weight:700;display:flex;overflow:hidden}.modal-avatar-preview img{object-fit:cover;width:100%;height:100%}.modal-title-row{align-items:center;gap:8px;display:flex}.modal-title-row h3{letter-spacing:.06em;color:var(--text-bright);text-transform:uppercase;font-size:1.05rem;font-weight:700}.modal-id-badge{font-size:.68rem;font-family:var(--font-mono);color:var(--primary);background:var(--primary-glass);border:1px solid var(--primary-border);padding:1px 6px}.modal-subtitle{color:var(--text-muted);font-size:.76rem}.close-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:6px;transition:all .15s;display:flex}.close-btn:hover:not(:disabled){border-color:var(--glass-border);color:var(--text-bright);background:#ffffff0d}.tabs-nav{border-bottom:1px solid var(--glass-border);background:#00000059;gap:2px;padding:0 1.75rem;display:flex}.tab-btn{color:var(--text-secondary);font-family:var(--font-mono);letter-spacing:.06em;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:7px;padding:11px 16px;font-size:.74rem;font-weight:600;transition:all .15s;display:inline-flex}.tab-btn:hover:not(:disabled){color:var(--text-bright);background:#ffffff08}.tab-btn.active{color:var(--text-bright);border-bottom-color:var(--primary);background:#ffffff0d}.modal-form{flex:1;padding:1.5rem 1.75rem 1.75rem;overflow-y:auto}.tab-pane{flex-direction:column;gap:1.25rem;display:flex}.section-label h4{font-size:.8rem;font-family:var(--font-mono);letter-spacing:.08em;color:var(--text-primary);text-transform:uppercase;margin-bottom:4px;font-weight:700}.section-label p{color:var(--text-muted);font-size:.76rem}.form-row-2{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}.form-row-3{grid-template-columns:1fr 1fr 1fr;gap:1.25rem;display:grid}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{font-size:.7rem;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);font-weight:600}.form-group input,.form-group select,.form-group textarea{background:var(--bg-input);border:1px solid var(--glass-border);color:var(--text-bright);font-family:var(--font-sans);width:100%;padding:8px 12px;font-size:.84rem;transition:all .15s;box-shadow:inset 0 1px 2px #0006}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary);box-shadow:inset 0 1px 0 #ffffff0d, 0 0 0 1px var(--primary);background:#0c1018f2;outline:none}.form-group textarea{resize:vertical;font-family:var(--font-mono);font-size:.78rem;line-height:1.45}.field-hint{color:var(--text-muted);font-size:.68rem}.form-checkbox-card{border:1px solid var(--glass-border);cursor:pointer;background:#ffffff05;align-items:flex-start;gap:12px;padding:12px 14px;transition:all .15s;display:flex}.form-checkbox-card:hover{border-color:var(--glass-border-bright);background:#ffffff0a}.form-checkbox-card input[type=checkbox]{cursor:pointer;width:16px;height:16px;accent-color:var(--primary);flex-shrink:0;margin-top:2px}.form-checkbox-card-title{letter-spacing:.05em;color:var(--text-bright);margin-bottom:2px;font-size:.78rem;font-weight:700}.form-checkbox-card-desc{color:var(--text-secondary);font-size:.72rem;line-height:1.4}.modal-actions-footer{border-top:1px solid var(--glass-border);justify-content:flex-end;gap:10px;margin-top:1.75rem;padding-top:1.25rem;display:flex}.photo-gallery-manager{flex-direction:column;gap:1rem;display:flex}.photo-drop-zone{border:1px dashed var(--glass-border-bright);cursor:pointer;background:#00000040;padding:1.75rem 1.5rem;transition:all .15s}.photo-drop-zone:hover{border-color:var(--primary);background:#3b82f60a}.photo-drop-zone.dragging{border-color:var(--primary);background:var(--primary-glass)}.drop-zone-content{align-items:center;gap:16px;display:flex}.drop-zone-icon-box{border:1px solid var(--glass-border);width:44px;height:44px;color:var(--text-secondary);background:#ffffff08;flex-shrink:0;justify-content:center;align-items:center;display:flex}.drop-zone-text h4{font-size:.8rem;font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-bright);margin-bottom:2px;font-weight:700}.drop-zone-sub{color:var(--text-muted);font-size:.72rem}.url-add-row{gap:8px;display:flex}.url-add-row input{background:var(--bg-input);border:1px solid var(--glass-border);color:var(--text-bright);flex:1;padding:7px 12px;font-size:.82rem}.url-add-row input:focus{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary);outline:none}.gallery-header-bar{border-bottom:1px solid var(--glass-border-subtle);color:var(--text-muted);justify-content:space-between;align-items:center;padding-bottom:6px;font-size:.72rem;display:flex}.gallery-count{font-family:var(--font-mono);color:var(--text-secondary)}.gallery-hint{font-size:.68rem}.photos-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;display:grid}.photo-card{background:var(--bg-panel-solid);border:1px solid var(--glass-border);box-shadow:var(--glass-shine);flex-direction:column;transition:all .15s;display:flex;position:relative;overflow:hidden}.photo-card:hover{border-color:var(--glass-border-hover)}.photo-card.is-avatar{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.photo-thumb-wrap{aspect-ratio:1;background:#0009;width:100%;position:relative;overflow:hidden}.photo-thumb-wrap img{object-fit:cover;width:100%;height:100%;display:block}.avatar-tag-badge{color:#fff;font-size:.6rem;font-family:var(--font-mono);letter-spacing:.08em;background:#3b82f6e6;justify-content:center;align-items:center;gap:4px;padding:3px 6px;font-weight:700;display:flex;position:absolute;bottom:0;left:0;right:0}.photo-card-actions{border-top:1px solid var(--glass-border);background:#0006;justify-content:space-between;align-items:center;gap:4px;padding:6px;display:flex}.btn-set-avatar{border:1px solid var(--glass-border);color:var(--text-secondary);font-family:var(--font-mono);letter-spacing:.05em;cursor:pointer;background:0 0;flex:1;justify-content:center;align-items:center;gap:4px;padding:4px 6px;font-size:.64rem;font-weight:600;transition:all .15s;display:flex}.btn-set-avatar:hover{background:var(--primary-glass);border-color:var(--primary-border);color:var(--primary)}.avatar-active-label{font-family:var(--font-mono);letter-spacing:.06em;color:var(--primary);flex:1;justify-content:center;align-items:center;gap:4px;font-size:.64rem;font-weight:700;display:flex}.btn-delete-photo{color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:4px 6px;transition:all .15s;display:flex}.btn-delete-photo:hover{background:var(--danger-glass);border-color:var(--danger-border);color:var(--danger)}.no-photos-alert{border:1px solid var(--glass-border);color:var(--text-muted);background:#0000004d;align-items:center;gap:10px;padding:1.25rem;font-size:.75rem;display:flex}.alert-box{box-shadow:var(--glass-shine);border:1px solid #0000;align-items:center;gap:10px;margin-bottom:1.25rem;padding:.75rem 1.25rem;font-size:.76rem;display:flex}.alert-box.error{background:var(--danger-glass);border-color:var(--danger-border);color:#fca5a5}.alert-box.error span{flex:1}.alert-close-btn{color:inherit;cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:1.2rem;line-height:1}.loading-state,.empty-state-box{text-align:center;background:var(--bg-panel);-webkit-backdrop-filter:var(--glass-backdrop);border:1px solid var(--glass-border);box-shadow:var(--glass-shine);flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:4rem 2rem;display:flex}.empty-icon-mark{border:1px solid var(--glass-border-bright);width:56px;height:56px;box-shadow:var(--glass-shine);color:var(--text-muted);background:#ffffff08;justify-content:center;align-items:center;display:flex}.empty-state-box h3{letter-spacing:.08em;color:var(--text-bright);text-transform:uppercase;font-size:1rem;font-weight:700}.empty-state-box p{color:var(--text-muted);max-width:480px;font-size:.8rem;line-height:1.6}.spinner{border:2px solid #ffffff1a;border-top-color:var(--primary);width:32px;height:32px;animation:.75s linear infinite spin}.btn-spinner{border:2px solid #ffffff4d;border-top-color:#fff;width:14px;height:14px;animation:.75s linear infinite spin;display:inline-block}.auth-container{justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.auth-card{background:var(--bg-modal);-webkit-backdrop-filter:var(--glass-backdrop);border:1px solid var(--glass-border-bright);box-shadow:var(--glass-shine), var(--glass-shadow-lg);flex-direction:column;width:100%;max-width:440px;padding:2.75rem 2.5rem;display:flex}.auth-header-mark{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.auth-badge-icon{border:1px solid var(--glass-border-bright);width:42px;height:42px;box-shadow:var(--glass-shine);color:var(--primary);background:#ffffff0a;justify-content:center;align-items:center;display:flex}.auth-system-tag{font-size:.66rem;font-family:var(--font-mono);letter-spacing:.14em;color:var(--warning);background:var(--warning-glass);border:1px solid var(--warning-border);padding:2px 8px;font-weight:700}.auth-title{letter-spacing:.08em;color:var(--text-bright);text-transform:uppercase;margin-bottom:4px;font-size:1.15rem;font-weight:700}.auth-subtitle{color:var(--text-muted);margin-bottom:1.75rem;font-size:.78rem;line-height:1.5}.auth-form-body{flex-direction:column;gap:1.25rem;display:flex}.btn-block{letter-spacing:.08em;width:100%;padding:10px 16px;font-size:.8rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@media (width<=768px){.admin-navbar{padding:.75rem 1rem}.admin-main-content{padding:1rem 1rem 2rem}.instances-grid,.form-row-2,.form-row-3{grid-template-columns:1fr}.tabs-nav{padding:0 1rem;overflow-x:auto}.modal-header,.modal-form{padding:1rem}}.screenshot-modal{width:95%;max-width:1080px;max-height:94vh}.screenshot-browser-toolbar{border-bottom:1px solid var(--glass-border);background:#080b10e6;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1.5rem;display:flex}.browser-url-pill{border:1px solid var(--glass-border);font-family:var(--font-mono);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;background:#0009;align-items:center;gap:.5rem;max-width:520px;padding:.35rem .75rem;font-size:.8rem;display:flex;overflow:hidden}.url-protocol{color:var(--success);font-weight:600}.url-text{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.page-title-badge{background:var(--primary-glass);color:var(--primary);border:1px solid var(--primary-border);text-overflow:ellipsis;white-space:nowrap;max-width:180px;padding:.1rem .4rem;font-size:.7rem;font-weight:500;overflow:hidden}.screenshot-toolbar-actions{align-items:center;gap:.75rem;margin-left:auto;display:flex}.screenshot-timestamp{font-family:var(--font-mono);color:var(--text-muted);font-size:.75rem}.screenshot-timestamp strong{color:var(--text-primary)}.screenshot-auto-refresh-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;font-family:var(--font-mono);color:var(--text-secondary);border:1px solid var(--glass-border);background:#ffffff08;align-items:center;gap:.4rem;padding:.3rem .5rem;font-size:.75rem;transition:all .15s;display:flex}.screenshot-auto-refresh-toggle:hover{border-color:var(--glass-border-hover);color:var(--text-primary)}.screenshot-auto-refresh-toggle input[type=checkbox]{accent-color:var(--primary);cursor:pointer;width:13px;height:13px}.btn-sm{padding:.35rem .65rem;font-size:.75rem}.screenshot-viewport-container{background:#020305;justify-content:center;align-items:center;min-height:480px;max-height:calc(88vh - 170px);padding:1rem;display:flex;position:relative;overflow:auto}.screenshot-loading-box,.screenshot-error-box{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:3rem 1.5rem;display:flex}.screenshot-loading-box p{font-family:var(--font-mono);color:var(--text-secondary);letter-spacing:.05em;font-size:.85rem}.screenshot-loading-box .sub-hint{color:var(--text-muted);font-size:.75rem}.screenshot-error-box{color:var(--danger);max-width:500px}.screenshot-error-box h4{color:var(--text-primary);font-size:.95rem;font-family:var(--font-mono);margin:0}.screenshot-error-box p{color:var(--text-secondary);margin:0;font-size:.85rem;line-height:1.4}.screenshot-error-box .error-tip{color:var(--text-muted);border:1px solid var(--glass-border);border-left:2px solid var(--warning);text-align:left;background:#ffffff08;padding:.6rem .8rem;font-size:.8rem}.screenshot-image-frame{border:1px solid var(--glass-border);background:#000;justify-content:center;align-items:center;width:100%;max-height:100%;display:flex;box-shadow:0 8px 32px #000000b3}.screenshot-img{object-fit:contain;width:100%;height:auto;max-height:calc(85vh - 200px);display:block}.screenshot-footer{background:var(--bg-panel-solid);border-top:1px solid var(--glass-border);justify-content:space-between;align-items:center;padding:.75rem 1.5rem;display:flex}.screenshot-footer-info{font-family:var(--font-mono);color:var(--text-muted);font-size:.72rem}.icon-spin{animation:.8s linear infinite spin}.btn-sm{gap:5px;padding:5px 10px;font-size:.72rem}.prompt-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:4px;display:flex}.variables-editor-container{border:1px solid var(--glass-border);background:#00000059;flex-direction:column;gap:10px;margin-top:1rem;padding:1rem;display:flex}.variables-editor-header{flex-direction:column;gap:4px;display:flex}.variables-title{font-size:.72rem;font-family:var(--font-mono);letter-spacing:.06em;color:var(--primary);text-transform:uppercase;font-weight:700}.variables-list{grid-template-columns:max-content 1fr auto;align-items:center;gap:8px;display:grid}.variable-row{display:contents}.variable-key-badge{border:1px solid var(--primary-glow);color:var(--primary);-webkit-user-select:all;user-select:all;width:100%;min-width:var(--badge-width,max-content);box-sizing:border-box;white-space:nowrap;background:#00f0ff1f;align-items:center;padding:6px 10px;font-family:monospace;font-size:.74rem;display:inline-flex}.variable-val-input{background:var(--bg-input);border:1px solid var(--glass-border);width:100%;color:var(--text-bright);font-size:.8rem;font-family:var(--font-sans);box-sizing:border-box;padding:6px 10px}.variable-add-row{border-top:1px dashed var(--glass-border-subtle);align-items:center;gap:8px;margin-top:8px;padding-top:8px;display:flex}.variable-key-new{width:var(--badge-width,160px);background:var(--bg-input);border:1px solid var(--glass-border);min-width:140px;color:var(--text-bright);box-sizing:border-box;padding:6px 10px;font-family:monospace;font-size:.78rem}.variable-val-new{background:var(--bg-input);border:1px solid var(--glass-border);color:var(--text-bright);font-size:.8rem;font-family:var(--font-sans);box-sizing:border-box;flex:1;padding:6px 10px}.variable-chips-panel{border-top:1px dashed var(--glass-border-subtle);flex-direction:column;gap:6px;margin-top:6px;padding-top:8px;display:flex}.chips-hint{color:var(--text-muted);font-size:.68rem}.variable-chips-wrap{flex-wrap:wrap;gap:6px;display:flex}.variable-chip-btn{border:1px solid var(--glass-border);color:var(--text-secondary);cursor:pointer;background:#ffffff0a;padding:4px 8px;font-size:.7rem;transition:all .15s}.variable-chip-btn:hover{border-color:var(--primary);color:var(--text-bright);background:#00f0ff1f}.variable-chip-btn.chip-fn{color:var(--primary);background:#00f0ff0d;border-color:#00f0ff66}.variable-chip-btn.chip-fn:hover{background:#00f0ff33;box-shadow:0 0 8px #00f0ff66}.detail-variables-section{border-top:1px solid var(--glass-border-subtle);flex-direction:column;gap:6px;margin-top:6px;padding-top:8px;display:flex}.detail-variables-badges{flex-wrap:wrap;gap:6px;display:flex}.detail-var-tag{border:1px solid var(--glass-border);color:var(--text-secondary);font-size:.7rem;font-family:var(--font-mono);background:#ffffff0a;padding:3px 8px}.detail-var-tag strong{color:var(--primary)}.prompt-editor-component{flex-direction:column;gap:8px;width:100%;display:flex}.prompt-editor-toolbar{border:1px solid var(--glass-border-subtle);border-radius:var(--border-radius);background:#00000040;flex-direction:column;gap:6px;padding:8px 10px;display:flex}.toolbar-label{color:var(--text-muted);letter-spacing:.5px;font-size:.68rem;font-weight:700}.toolbar-chips{flex-wrap:wrap;gap:6px;display:flex}.prompt-chip-btn{border:1px solid var(--glass-border);color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff0a;border-radius:3px;padding:3px 8px;font-size:.72rem;transition:all .15s}.prompt-chip-btn.chip-var{color:#67e8f9;border-color:#00f0ff40}.prompt-chip-btn.chip-var:hover{border-color:var(--primary);color:var(--text-bright);background:#00f0ff26;box-shadow:0 0 6px #00f0ff4d}.prompt-chip-btn.chip-func{color:#fcd34d;background:#fbbf240f;border-color:#fbbf2459}.prompt-chip-btn.chip-func:hover{color:#fff;background:#fbbf2433;border-color:#fbbf24;box-shadow:0 0 8px #fbbf2466}.prompt-editor-box{border-radius:var(--border-radius);width:100%;min-height:240px;transition:border-color .2s,box-shadow .2s;position:relative;overflow:hidden;border:1px solid var(--glass-border)!important;background:#0a0f1df0!important}.prompt-editor-box:focus-within{border-color:var(--primary)!important;box-shadow:0 0 14px #00f0ff47!important}.prompt-editor-box,.prompt-syntax-backdrop,.prompt-syntax-backdrop *,.prompt-syntax-textarea,textarea.prompt-syntax-textarea,.form-group textarea.prompt-syntax-textarea,.prompt-editor-box textarea.prompt-syntax-textarea{letter-spacing:0!important;tab-size:2!important;box-sizing:border-box!important;white-space:pre-wrap!important;word-wrap:break-word!important;overflow-wrap:break-word!important;font-family:monospace!important;font-size:13px!important;line-height:20px!important}.prompt-syntax-backdrop,.form-group textarea.prompt-syntax-textarea,.prompt-editor-box textarea.prompt-syntax-textarea{margin:0!important;padding:12px 14px!important}.prompt-syntax-backdrop{color:#cbd5e1;pointer-events:none;z-index:1;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden;background:0 0!important;border:1px solid #0000!important}.form-group textarea.prompt-syntax-textarea,.prompt-editor-box textarea.prompt-syntax-textarea{resize:vertical;z-index:2;width:100%;min-height:240px;position:relative;overflow-y:auto;color:#0000!important;-webkit-text-fill-color:transparent!important;caret-color:#00f0ff!important;box-shadow:none!important;background:0 0!important;border:1px solid #0000!important;outline:none!important}.form-group textarea.prompt-syntax-textarea:focus,.prompt-editor-box textarea.prompt-syntax-textarea:focus{color:#0000!important;-webkit-text-fill-color:transparent!important;box-shadow:none!important;background:0 0!important;border:1px solid #0000!important;outline:none!important}.form-group textarea.prompt-syntax-textarea::selection,.prompt-editor-box textarea.prompt-syntax-textarea::selection{color:#0000!important;-webkit-text-fill-color:transparent!important;background:#00f0ff59!important}.token-expr{cursor:help;border-radius:3px;margin:0;padding:0;transition:background .15s,box-shadow .15s;display:inline;letter-spacing:0!important;font-family:monospace!important}.token-expr.token-var{background:#06b6d424;border-bottom:1px dotted #22d3eeb3}.token-expr.token-var:hover{background:#06b6d447;box-shadow:0 0 8px #22d3ee59}.token-expr.token-func{background:#f59e0b29;border-bottom:1px dotted #fbbf24cc}.token-expr.token-func:hover{background:#f59e0b52;box-shadow:0 0 10px #fbbf2466}.ide-brace{color:#94a3b8;font-weight:400;letter-spacing:0!important;font-family:monospace!important}.ide-fn-name{color:#fbbf24;text-shadow:0 0 8px #fbbf244d;font-weight:700;letter-spacing:0!important;font-family:monospace!important}.ide-paren{color:#cbd5e1;font-weight:600;letter-spacing:0!important;font-family:monospace!important}.ide-string{color:#34d399;font-weight:500;letter-spacing:0!important;font-family:monospace!important}.ide-arg-var{color:#38bdf8;font-weight:600;letter-spacing:0!important;font-family:monospace!important}.ide-var-name{color:#22d3ee;text-shadow:0 0 8px #22d3ee4d;font-weight:600;letter-spacing:0!important;font-family:monospace!important}.token-section{background:#c084fc1f;border-radius:3px;margin:0;padding:0;display:inline;letter-spacing:0!important;font-family:monospace!important}.ide-section-bracket{color:#c084fc;font-weight:700;letter-spacing:0!important;font-family:monospace!important}.ide-section-title{color:#f472b6;text-shadow:0 0 6px #f472b640;font-weight:800;letter-spacing:0!important;font-family:monospace!important}.token-step{color:#a78bfa;font-weight:700;letter-spacing:0!important;font-family:monospace!important}.prompt-token-tooltip{z-index:999999;pointer-events:auto;filter:drop-shadow(0 18px 40px #000000e6);min-width:320px;max-width:440px;animation:.15s cubic-bezier(.16,1,.3,1) tooltipFadeIn;position:fixed}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.tooltip-glass-card{-webkit-backdrop-filter:blur(24px)saturate(190%);color:var(--text-bright);background:#080c18f5;border:1px solid #00f0ff73;border-radius:8px;flex-direction:column;gap:8px;padding:12px 14px;display:flex;box-shadow:0 16px 45px #000000d9,0 0 30px #00f0ff2e,inset 0 1px #ffffff26}.tooltip-header{border-bottom:1px solid var(--glass-border-subtle);align-items:center;gap:8px;padding-bottom:6px;display:flex}.tooltip-badge{letter-spacing:.6px;text-transform:uppercase;border-radius:3px;padding:2px 6px;font-size:.65rem;font-weight:800}.tooltip-badge.badge-variable{color:#00f0ff;background:#00f0ff2e;border:1px solid #00f0ff73;box-shadow:0 0 8px #00f0ff40}.tooltip-badge.badge-function{color:#fbbf24;background:#fbbf2433;border:1px solid #fbbf248c;box-shadow:0 0 8px #fbbf244d}.tooltip-token-name{color:#fff;word-break:break-all;font-size:.82rem;font-weight:700}.tooltip-spinner{margin-left:auto;font-size:.78rem;animation:1s linear infinite spin}.tooltip-row{border:1px solid var(--glass-border-subtle);background:#ffffff08;border-radius:3px;align-items:baseline;gap:6px;padding:4px 6px;font-size:.72rem;display:flex}.tooltip-meta-label{color:var(--text-muted);letter-spacing:.5px;flex-shrink:0;font-size:.66rem;font-weight:700}.tooltip-meta-value{color:#93c5fd;word-break:break-all}.tooltip-desc{color:var(--text-secondary);font-size:.72rem;line-height:1.35}.tooltip-preview-section{flex-direction:column;gap:4px;margin-top:2px;display:flex}.tooltip-preview-header{justify-content:space-between;align-items:center;display:flex}.tooltip-preview-title{color:var(--text-muted);letter-spacing:.5px;font-size:.66rem;font-weight:700}.tooltip-char-count{color:var(--text-muted);font-size:.62rem}.tooltip-preview-container{background:#0000008c;border:1px solid #ffffff1a;border-radius:6px;max-height:200px;padding:8px 10px;overflow:auto}.tooltip-preview-container::-webkit-scrollbar{width:6px;height:6px}.tooltip-preview-container::-webkit-scrollbar-track{background:#0000004d;border-radius:3px}.tooltip-preview-container::-webkit-scrollbar-thumb{background:#00f0ff66;border-radius:3px}.tooltip-preview-container::-webkit-scrollbar-thumb:hover{background:#00f0ffb3}.tooltip-preview-code{color:#a7f3d0;white-space:pre-wrap;word-break:break-word;font-size:.78rem;line-height:1.45;font-family:var(--font-mono,monospace);-webkit-user-select:text;user-select:text;margin:0}.tooltip-loading-state{color:var(--text-secondary);align-items:center;gap:8px;padding:8px 4px;font-size:.74rem;display:flex}.loading-dot-pulse{background:var(--primary);width:8px;height:8px;box-shadow:0 0 10px var(--primary);border-radius:50%;animation:1s infinite alternate pulse;display:inline-block}.tooltip-footer{color:var(--text-muted);border-top:1px solid var(--glass-border-subtle);justify-content:space-between;align-items:center;margin-top:2px;padding-top:6px;font-size:.66rem;display:flex}.tooltip-source-tag strong{color:var(--text-secondary)}.tooltip-status-indicator.status-ready{color:#34d399;font-weight:600}.dashboard-global-ai-warning{color:#fca5a5;background:#ef44441f;border:1px solid #ef444466;border-radius:8px;align-items:center;gap:14px;margin-bottom:20px;padding:12px 18px;animation:.3s fadeIn;display:flex;box-shadow:0 4px 20px #ef444426}.ai-warning-icon-wrap{color:#ef4444;flex-shrink:0;justify-content:center;align-items:center;display:flex}.ai-warning-text-wrap{font-size:.82rem;line-height:1.45}.ai-warning-text-wrap strong{color:#fee2e2;margin-right:4px;display:inline-block}.stat-card.stat-error{background:#ef444414;border-color:#ef444466}.stat-card.stat-error .stat-val{color:#ef4444}.instance-ai-error-banner{background:#ef444414;border:1px solid #ef444459;border-radius:6px;flex-direction:column;gap:6px;margin:10px 0;padding:10px 12px;display:flex}.ai-error-banner-top{justify-content:space-between;align-items:center;display:flex}.ai-error-tag-group{color:#ef4444;align-items:center;gap:6px;display:flex}.ai-error-alert-icon{flex-shrink:0}.ai-error-title{letter-spacing:.6px;color:#f87171;font-size:.7rem;font-weight:800}.ai-error-time{color:var(--text-muted);font-size:.68rem}.ai-error-message{color:#fee2e2;word-break:break-word;background:#00000059;border-left:2px solid #ef4444;border-radius:4px;padding:6px 8px;font-size:.74rem;line-height:1.4}.ai-error-resolution{color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;font-size:.7rem;display:flex}.ai-error-fix-btn{color:#fca5a5;cursor:pointer;background:#ef44442e;border:1px solid #ef444459;border-radius:4px;align-items:center;gap:4px;padding:3px 8px;font-size:.68rem;font-weight:600;transition:all .2s;display:flex}.ai-error-fix-btn:hover{color:#fff;background:#ef4444;border-color:#ef4444}
/*# sourceMappingURL=admin.246e5554.css.map */
