*{margin:0;padding:0;box-sizing:border-box}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:#213547;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}body{margin:0;padding:0;min-width:320px;min-height:100vh;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:none}#root{width:100%;min-height:100vh}@media(max-width:768px){button,a,input,select,textarea{min-height:44px}button,a{-webkit-tap-highlight-color:rgba(102,126,234,.2)}*{-webkit-overflow-scrolling:touch}}.forgot-password-modal-content{background:#fff;border-radius:12px;max-width:500px;width:90%;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 4px 20px #00000026;animation:slideIn .3s ease-out}.forgot-password-modal-body{padding:1.5rem;overflow-y:auto;flex:1}.modal-description{color:#666;margin-bottom:1.5rem;line-height:1.6}.form-group label{display:block;margin-bottom:.5rem;color:#333;font-weight:600}.form-group input{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:border-color .2s}.form-group input:focus{outline:none;border-color:#667eea}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem}.btn-primary,.btn-secondary{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary{background:#667eea;color:#fff}.btn-primary:hover:not(:disabled){background:#5568d3;transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.btn-primary:disabled{background:#ccc;cursor:not-allowed}.btn-secondary{background:#f5f5f5;color:#333}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.success-message{text-align:center;padding:2rem 1rem}.success-icon{font-size:4rem;margin-bottom:1rem;animation:scaleIn .5s ease-out}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.success-message h3{color:#4caf50;margin-bottom:1rem;font-size:1.5rem}.success-message p{color:#666;margin-bottom:1rem;line-height:1.6}.success-message .note{font-size:.9rem;color:#999;font-style:italic;margin-bottom:2rem}.success-message .btn-primary{min-width:150px}@media(max-width:768px){.forgot-password-modal-content{width:95%}.forgot-password-modal-body{padding:1rem}.modal-actions{flex-direction:column-reverse}.btn-primary,.btn-secondary{width:100%}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:1rem;background:#0d1b2a}.login-card{position:relative;z-index:1;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:3rem;border-radius:20px;box-shadow:0 20px 60px #0000004d;width:100%;max-width:450px;border:1px solid rgba(255,255,255,.3)}.login-title{font-size:2.2em;margin:0 0 .5rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-align:center;font-weight:700}.login-subtitle{margin:0 0 2.5rem;color:#555;text-align:center;font-size:1rem}.form-group label{display:block;margin-bottom:.5rem;color:#333;font-weight:600;font-size:.95rem}.form-group input{width:100%;padding:.875rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:all .3s ease;background:#fff;box-sizing:border-box}.form-group input::placeholder{color:#aaa}.error-message{background:#fee;color:#c33;padding:.875rem;border-radius:8px;margin-bottom:1rem;text-align:center;font-size:.9rem;border:1px solid #fcc}button[type=submit]{width:100%;padding:1rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1.05rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:.5rem}button[type=submit]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #667eea66}button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.login-footer{margin-top:2rem;text-align:center;color:#666;font-size:.9rem}.login-footer p{margin:.5rem 0}.login-footer a{color:#667eea;text-decoration:none;font-weight:600;transition:color .3s ease}.login-footer a:hover{color:#764ba2;text-decoration:underline}.forgot-password{margin-top:.75rem}@media(max-width:640px){.login-card{padding:2rem 1.5rem;margin:1rem;max-width:calc(100% - 2rem)}.login-title{font-size:1.8em}.form-group input{font-size:16px}.btn-primary{font-size:15px}}@media(max-width:480px){.login-card{padding:1.5rem 1rem}.login-title{font-size:1.5em}}.register-container{position:relative;min-height:100vh;display:flex;justify-content:center;align-items:center;background:#0d1b2a;overflow:hidden}#tsparticles{position:absolute;width:100%;height:100%;top:0;left:0;z-index:0}.register-card{position:relative;z-index:1;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:40px;width:100%;max-width:450px;box-shadow:0 20px 60px #0000004d;border:1px solid rgba(255,255,255,.2)}.register-card h1{margin:0 0 10px;font-size:32px;font-weight:700;text-align:center;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.register-subtitle{text-align:center;color:#666;margin-bottom:30px;font-size:14px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#333;font-size:14px}.form-group input{width:100%;padding:12px 16px;border:2px solid #e0e0e0;border-radius:10px;font-size:14px;transition:all .3s;background:#fff}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.btn-primary{width:100%;padding:14px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s;margin-top:10px}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #667eea66}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.register-footer{margin-top:25px;text-align:center}.register-footer p{color:#666;font-size:14px;margin-bottom:15px}.register-footer a{color:#667eea;text-decoration:none;font-weight:600;transition:color .3s}.register-footer a:hover{color:#764ba2;text-decoration:underline}.register-notice{background:#ff98001a;border-left:4px solid #ff9800;padding:12px 16px;border-radius:8px;margin-top:15px}.register-notice p{margin:0;color:#e65100;font-size:13px;line-height:1.5}@media(max-width:640px){.register-card{padding:30px 20px;margin:1rem;max-width:calc(100% - 2rem)}.register-card h1{font-size:28px}.form-group input{font-size:16px}.btn-primary{font-size:15px}}@media(max-width:480px){.register-card{padding:20px 15px}.register-card h1{font-size:24px}.register-subtitle{font-size:13px}}.modal-backdrop{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .2s ease-out}.modal-content{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 20px 60px #0000004d;min-width:400px;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-content h2{margin:0 0 1.5rem;font-size:1.5rem;color:#333}.modal-content .form-group{margin-bottom:1.5rem}.modal-content .form-group label{display:block;margin-bottom:.5rem;color:#333;font-weight:500}.modal-content .form-group input{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:6px;font-size:1rem;box-sizing:border-box;transition:border-color .2s}.modal-content .form-group input:focus{outline:none;border-color:#667eea}.modal-content .form-group select,.modal-content .form-group .account-mode-select{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:6px;font-size:1rem;box-sizing:border-box;transition:border-color .2s;background:#fff;cursor:pointer}.modal-content .form-group select:focus,.modal-content .form-group .account-mode-select:focus{outline:none;border-color:#667eea}.modal-buttons{display:flex;gap:1rem;justify-content:flex-end}.modal-buttons button{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s}.modal-buttons button:first-child{background:#f0f0f0;color:#333}.modal-buttons button:first-child:hover{background:#e0e0e0}.modal-buttons button:last-child{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.modal-buttons button:last-child:hover{transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}.duration-inputs{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.duration-summary{background:#f8f9fa;padding:1rem;border-radius:6px;text-align:center;font-weight:600;color:#667eea;margin-bottom:1.5rem;font-size:1rem}@media(max-width:480px){.modal-content{min-width:300px;padding:1.5rem}.duration-inputs{grid-template-columns:1fr}}.log-window{position:fixed;bottom:20px;right:20px;width:600px;max-height:500px;background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;display:flex;flex-direction:column;z-index:1000;transition:max-height .3s ease}.log-window.minimized{max-height:50px}.log-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #e0e0e0;background:#f5f5f5;border-radius:8px 8px 0 0}.log-header h3{margin:0;font-size:16px;font-weight:600;color:#333;display:flex;align-items:center;gap:10px}.generating-indicator{font-size:14px;color:#667eea;font-weight:500;animation:pulse 2s infinite}.log-actions{display:flex;gap:8px}.btn-icon{background:none;border:none;cursor:pointer;font-size:16px;padding:4px 8px;color:#666;border-radius:4px;transition:background .2s}.btn-icon:hover{background:#e0e0e0}.log-filters{display:flex;gap:8px;padding:12px 16px;border-bottom:1px solid #e0e0e0;background:#fafafa;overflow-x:auto}.log-filters button{padding:6px 12px;border:1px solid #ddd;background:#fff;border-radius:4px;cursor:pointer;font-size:13px;white-space:nowrap;transition:all .2s}.log-filters button:hover{background:#f0f0f0}.log-filters button.active{background:#667eea;color:#fff;border-color:#667eea}.log-content{flex:1;overflow-y:auto;padding:12px 16px;max-height:350px;font-family:Monaco,Menlo,Consolas,monospace;font-size:12px}.log-empty{text-align:center;padding:40px 20px;color:#999;font-size:14px}.log-entry{padding:6px 8px;margin-bottom:4px;border-radius:4px;display:flex;gap:12px;align-items:flex-start;line-height:1.4}.log-time{color:#999;font-size:11px;flex-shrink:0;min-width:80px}.log-info{background:#e3f2fd;color:#1976d2}.log-success{background:#e8f5e9;color:#388e3c}.log-warning{background:#fff3e0;color:#f57c00}.log-error{background:#ffebee;color:#d32f2f}.log-footer{display:flex;gap:8px;padding:12px 16px;border-top:1px solid #e0e0e0;background:#fafafa;border-radius:0 0 8px 8px}.log-footer button{flex:1}.confirm-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1001}.confirm-dialog{background:#fff;padding:24px;border-radius:8px;box-shadow:0 4px 20px #0000004d;max-width:400px;width:90%}.confirm-dialog h4{margin:0 0 12px;font-size:18px;color:#333}.confirm-dialog p{margin:0 0 20px;color:#666;font-size:14px}.confirm-actions{display:flex;gap:12px;justify-content:flex-end}.btn-danger{background:#f44336;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px;transition:background .2s}.btn-danger:hover{background:#d32f2f}@media(max-width:768px){.log-window{width:calc(100% - 40px);right:20px;left:20px}}.registered-bots-modal{max-width:700px;max-height:80vh;display:flex;flex-direction:column}.registered-bots-modal .modal-body{flex:1;overflow-y:auto;padding:1.5rem}.registered-bots-table{width:100%;overflow-x:auto}.registered-bots-table table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden}.registered-bots-table thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.registered-bots-table th{padding:12px 16px;text-align:left;font-weight:600;font-size:.9rem}.registered-bots-table th:first-child{width:50px;text-align:center}.registered-bots-table th:nth-child(3),.registered-bots-table th:nth-child(4){width:120px;text-align:center}.registered-bots-table tbody tr{border-bottom:1px solid #e5e7eb;transition:background-color .2s}.registered-bots-table tbody tr:hover{background-color:#f9fafb}.registered-bots-table tbody tr:last-child{border-bottom:none}.registered-bots-table td{padding:12px 16px;font-size:.9rem;color:#374151}.registered-bots-table td:first-child{text-align:center;color:#9ca3af;font-weight:500}.username-cell{font-weight:500}.username{color:#667eea}.status-cell{text-align:center}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:.8rem;font-weight:600}.status-badge.follower{background:#d1fae5;color:#065f46}.status-badge.no-follower{background:#fee2e2;color:#991b1b}.status-badge.vip{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;border:1px solid #fbbf24}.status-badge.no-vip{background:#f3f4f6;color:#6b7280}.empty-state{text-align:center;padding:3rem 1rem;color:#9ca3af}.empty-state p{font-size:1rem}@media(max-width:768px){.registered-bots-modal{max-width:95vw}.registered-bots-table th,.registered-bots-table td{padding:8px 12px;font-size:.85rem}.status-badge{padding:3px 8px;font-size:.75rem}}.auth-status-widget{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:20px;margin-bottom:20px}.auth-status-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.auth-status-header h3{margin:0;font-size:18px;color:#333}.refresh-btn{background:#4caf50;color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s}.refresh-btn:hover:not(:disabled){background:#45a049;transform:scale(1.05)}.auth-status-summary{display:flex;gap:15px;margin-bottom:15px;padding:15px;background:#f5f5f5;border-radius:6px}.auth-stat-item{flex:1;text-align:center;padding:10px;border-radius:4px;font-size:14px}.auth-stat-item.success{background:#e8f5e9;color:#2e7d32}.auth-stat-item.failed{background:#ffebee;color:#c62828}.auth-stat-item.total{background:#e3f2fd;color:#1565c0}.auth-stat-item strong{font-size:20px;display:block;margin-top:5px}.auth-status-filters{display:flex;gap:10px;margin-bottom:15px}.auth-status-filters button{flex:1;padding:8px 16px;border:2px solid #ddd;background:#fff;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s}.auth-status-filters button:hover{border-color:#4caf50;background:#f1f8f4}.auth-status-filters button.active{background:#4caf50;color:#fff;border-color:#4caf50}.auth-status-list{max-height:400px;overflow-y:auto;border:1px solid #ddd;border-radius:4px}.auth-status-loading,.auth-status-empty{padding:40px;text-align:center;color:#666}.auth-status-table{width:100%;border-collapse:collapse}.auth-status-table thead{position:sticky;top:0;background:#f5f5f5;z-index:1}.auth-status-table th{padding:12px;text-align:left;font-weight:600;font-size:13px;color:#555;border-bottom:2px solid #ddd}.auth-status-table td{padding:10px 12px;font-size:13px;border-bottom:1px solid #eee}.auth-status-table tbody tr:hover{background:#f9f9f9}.auth-status-table tbody tr.status-success{background:#f1f8f4}.auth-status-table tbody tr.status-failed{background:#fff5f5}.status-icon{font-size:18px;width:40px;text-align:center}.username{font-family:Courier New,monospace;font-weight:500;color:#333}.ip{font-family:Courier New,monospace;color:#666}.country-badge{display:inline-block;padding:3px 8px;background:#2196f3;color:#fff;border-radius:3px;font-size:11px;font-weight:600}.last-attempt{font-size:12px;color:#666;white-space:nowrap}.error-hint{margin-left:5px;cursor:help;color:#ff9800}.orchestrator-stats-widget{background:linear-gradient(135deg,#1e1e1efa,#28282dfa);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(76,175,80,.3);border-radius:12px;margin-bottom:1.5rem;overflow:hidden;transition:all .3s ease}.orchestrator-stats-widget:hover{border-color:#4caf5080;box-shadow:0 4px 20px #4caf5026}.widget-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s ease}.widget-header:hover{background:#ffffff08}.header-content{display:flex;align-items:center;gap:1rem}.widget-icon{font-size:1.75rem;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.header-info h3{margin:0 0 .25rem;font-size:1.1rem;font-weight:600;color:#fff}.status-badge{display:inline-block;padding:.15rem .6rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.active{background:#4caf5033;color:#4caf50;border:1px solid rgba(76,175,80,.4)}.quick-stats{display:flex;gap:1.5rem;align-items:center}.quick-stat{display:flex;flex-direction:column;gap:.15rem}.quick-stat .label{font-size:.7rem;color:#999;text-transform:uppercase;letter-spacing:.5px}.quick-stat .value{font-size:1rem;font-weight:700;color:#fff}.expand-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:.4rem .6rem;border-radius:6px;cursor:pointer;font-size:.75rem;transition:all .2s ease}.expand-btn:hover{background:#ffffff26;border-color:#4caf5066}.widget-details{padding:0 1.25rem 1.25rem;border-top:1px solid rgba(255,255,255,.1);animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.stats-section{margin-top:1rem}.stats-section h4{margin:0 0 .75rem;font-size:.9rem;font-weight:600;color:#aaa;display:flex;align-items:center;gap:.5rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem}.stat-item{display:flex;flex-direction:column;gap:.25rem;padding:.75rem;background:#ffffff08;border-radius:8px;border:1px solid rgba(255,255,255,.08);transition:all .2s ease}.stat-item:hover{background:#ffffff0d;border-color:#4caf504d;transform:translateY(-2px)}.stat-label{font-size:.75rem;color:#999;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:1.25rem;font-weight:700;color:#fff}.stat-value.success{color:#4caf50}.stat-value.warning{color:#ff9800}.stat-value.error{color:#f44336}@media(max-width:1024px){.quick-stats{display:none}}@media(max-width:768px){.widget-header{flex-direction:column;align-items:flex-start;gap:1rem}.stats-grid{grid-template-columns:repeat(2,1fr)}.stat-item{padding:.6rem}.stat-value{font-size:1.1rem}}@media(max-width:480px){.stats-grid{grid-template-columns:1fr}}.modal-backdrop{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-in}.failed-proxies-modal-content{background:#fff;border-radius:12px;max-width:800px;width:90%;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 4px 20px #00000026;animation:slideIn .3s ease-out}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e0e0e0}.modal-header h2{margin:0;color:#333;font-size:1.5rem}.header-actions{display:flex;gap:.5rem;align-items:center}.export-btn{padding:.5rem 1rem;border:none;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:600;transition:all .2s;display:flex;align-items:center;gap:.25rem}.export-btn:hover{transform:translateY(-1px);box-shadow:0 2px 8px #00000026}.export-json{background:#667eea;color:#fff}.export-json:hover{background:#5568d3}.export-txt{background:#4caf50;color:#fff}.export-txt:hover{background:#45a049}.modal-close{background:none;border:none;font-size:2rem;cursor:pointer;color:#999;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.failed-proxies-modal{padding:1.5rem;overflow-y:auto;flex:1}.no-failures{text-align:center;padding:2rem;color:#4caf50;font-size:1.1rem}.failures-summary{background:#f5f5f5;padding:1rem;border-radius:8px;margin-bottom:1rem}.failures-summary p{margin:.5rem 0;font-size:.95rem}.failures-summary strong{color:#ff4757;font-weight:600}.proxies-table-container{overflow-x:auto}.proxies-table{width:100%;border-collapse:collapse;margin-top:1rem}.proxies-table thead{background:#667eea;color:#fff}.proxies-table th,.proxies-table td{padding:.75rem;text-align:left;border-bottom:1px solid #ddd}.proxies-table th{font-weight:600;text-transform:uppercase;font-size:.85rem;letter-spacing:.5px}.proxies-table tbody tr:hover{background:#f9f9f9}.proxy-address{font-family:Courier New,monospace;font-size:.9rem;color:#333}.failure-count{text-align:center}.count-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-weight:600;font-size:.85rem}.count-badge.low{background:#fff3cd;color:#856404}.count-badge.medium{background:#f8d7da;color:#721c24}.count-badge.high{background:#ff4757;color:#fff}.last-failed{font-size:.85rem;color:#666}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:768px){.failed-proxies-modal-content{width:95%;max-height:90vh}.modal-header{padding:1rem;flex-wrap:wrap;gap:.5rem}.modal-header h2{font-size:1.25rem;width:100%}.header-actions{flex-wrap:wrap}.export-btn{padding:.4rem .75rem;font-size:.75rem}.failed-proxies-modal{padding:1rem}.proxies-table{font-size:.85rem}.proxies-table th,.proxies-table td{padding:.5rem}.proxy-address{font-size:.8rem}.failures-summary{padding:.75rem}}.dashboard{min-height:100vh;background:#f5f7fa;padding-bottom:env(safe-area-inset-bottom)}.dashboard-header{background:#fff;padding:1.5rem max(2rem,env(safe-area-inset-left)) 1.5rem max(2rem,env(safe-area-inset-right));box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.dashboard-header h1{margin:0;font-size:1.5rem;color:#333}.user-info{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.user-info span{color:#666;font-size:.9rem}.dashboard-content{padding:2rem;max-width:1400px;margin:0 auto}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 8px #0000001a;transition:all .3s ease}.stat-card.clickable-stat{cursor:pointer}.stat-card.clickable-stat:hover{transform:translateY(-4px);box-shadow:0 6px 16px #667eea4d}.stat-card.clickable-stat:active{transform:translateY(-2px)}.stat-card.admin-action-card{cursor:pointer;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;transition:all .3s ease}.stat-card.admin-action-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #667eea66;background:linear-gradient(135deg,#764ba2,#667eea)}.stat-card.admin-action-card:active{transform:translateY(-2px)}.stat-card.admin-action-card .stat-label{color:#ffffffe6;font-weight:600}.stat-card.admin-action-card .stat-value{color:#fff}.stat-label{color:#666;font-size:.9rem;margin-bottom:.5rem}.stat-value{font-size:2rem;font-weight:700;color:#667eea}.control-section,.config-section,.bots-section{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:2rem}.control-section h2,.config-section h2,.bots-section h2{margin:0 0 1.5rem;font-size:1.25rem;color:#333}.button-group{display:flex;gap:1rem;flex-wrap:wrap}.btn-primary,.btn-secondary,.btn-danger{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}.btn-secondary{background:#f0f0f0;color:#333}.btn-secondary:hover:not(:disabled){background:#e0e0e0}.btn-bookings{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;background:linear-gradient(135deg,#4caf50,#45a049);color:#fff}.btn-bookings:hover{transform:translateY(-2px);box-shadow:0 5px 15px #4caf5066}.btn-admin-bookings{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff}.btn-admin-bookings:hover{transform:translateY(-2px);box-shadow:0 5px 15px #ff980066}.btn-admin{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-admin:hover{transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}.btn-danger{background:#ff4757;color:#fff}.btn-danger:hover:not(:disabled){background:#ee3644}button:disabled{opacity:.5;cursor:not-allowed}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:#333;font-weight:500;font-size:.9rem}.input-with-clear{display:flex;gap:.5rem;align-items:stretch}.input-with-clear input{flex:1;min-width:0}.btn-clear{padding:.75rem 1rem;min-width:auto;width:auto;flex-shrink:0;background:#f0f0f0;color:#666;border:2px solid #e0e0e0;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.btn-clear:hover{background:#e0e0e0;color:#333}.form-group input,.form-group select{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:6px;font-size:1rem;box-sizing:border-box;min-width:0}.form-group input[type=text],.form-group input[type=url]{overflow:hidden;text-overflow:ellipsis}.checkbox-group label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.checkbox-group input[type=checkbox]{width:auto;cursor:pointer}.loading{display:flex;justify-content:center;align-items:center;height:100vh;font-size:1.2rem;color:#666}.bots-list{display:flex;flex-direction:column;gap:.5rem;max-height:400px;overflow-y:auto}.bot-item{display:grid;grid-template-columns:100px 1fr 1fr;gap:1rem;padding:.75rem 1rem;background:#f8f9fa;border-radius:6px;font-size:.9rem}.bot-item.more{display:block;text-align:center;color:#666;font-style:italic}.bot-id{font-weight:600;color:#667eea}.bot-time{color:#666}.bot-proxy{color:#999;font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:1024px){.dashboard-content{padding:1.5rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.stat-card{padding:1.25rem}.stat-value{font-size:1.75rem}.form-grid{grid-template-columns:1fr}}@media(max-width:768px){.dashboard{padding-top:90px}.dashboard-header{padding:.75rem max(1rem,env(safe-area-inset-left)) .75rem max(1rem,env(safe-area-inset-right))}.dashboard-header h1{font-size:1.1rem;width:100%}.user-info{width:100%;justify-content:space-between;flex-wrap:wrap}.user-info span{font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:45%}.dashboard-content{padding:.75rem max(.75rem,env(safe-area-inset-left)) .75rem max(.75rem,env(safe-area-inset-right))}.stats-grid{grid-template-columns:repeat(3,1fr)!important;gap:.25rem!important}.stat-card{padding:.3rem .25rem!important;min-height:auto!important}.stat-label{font-size:.5rem!important;margin-bottom:.1rem!important;line-height:1.2!important}.stat-value{font-size:.75rem!important;line-height:1.2!important}.control-section,.config-section,.bots-section{padding:1.25rem;margin-bottom:.75rem}.control-section h2,.config-section h2,.bots-section h2{font-size:1rem;margin-bottom:1rem}.button-group{flex-direction:column;gap:.6rem}.btn-primary,.btn-secondary,.btn-danger,.btn-admin{width:100%;text-align:center;padding:.65rem .875rem;font-size:.85rem}.form-group{margin-bottom:.875rem}.form-group label{font-size:.8rem;margin-bottom:.35rem}.form-group input,.form-group select{font-size:16px;padding:.65rem .75rem}.btn-clear{padding:.65rem .75rem;font-size:.85rem}.bot-item{grid-template-columns:1fr;gap:.4rem;padding:.65rem}.bot-id,.bot-time{font-size:.75rem}.bot-proxy{font-size:.7rem;max-width:100%;word-break:break-all}.logs-section{padding:1.25rem}.log-item{padding:.65rem .75rem;font-size:.75rem}}@media(max-width:480px){.dashboard{padding-top:85px}.dashboard-header{padding:.5rem max(.75rem,env(safe-area-inset-left)) .5rem max(.75rem,env(safe-area-inset-right));flex-direction:column;align-items:flex-start;gap:.5rem}.dashboard-header h1{font-size:1rem}.user-info{width:100%;flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:.4rem}.user-info span{font-size:.7rem;max-width:100%}.dashboard-content{padding:.5rem max(.5rem,env(safe-area-inset-left)) .5rem max(.5rem,env(safe-area-inset-right))}.stats-grid{grid-template-columns:repeat(3,1fr)!important;gap:.2rem!important}.stat-card{padding:.25rem .2rem!important;min-height:auto!important}.stat-label{font-size:.45rem!important;margin-bottom:.05rem!important;line-height:1.1!important}.stat-value{font-size:.65rem!important;line-height:1.1!important}.control-section,.config-section,.bots-section{padding:.875rem;margin-bottom:.5rem}.control-section h2,.config-section h2,.bots-section h2{font-size:.9rem;margin-bottom:.75rem}.button-group{gap:.5rem}.btn-primary,.btn-secondary,.btn-danger,.btn-admin{padding:.6rem .875rem;font-size:.8rem}.form-grid{gap:.75rem}.form-group{margin-bottom:.75rem}.form-group label{font-size:.75rem;margin-bottom:.3rem}.form-group input,.form-group select{padding:.6rem .65rem;font-size:16px}.form-group input[type=text],.form-group input[type=url]{font-size:.8rem}.btn-clear{padding:.6rem .7rem;font-size:.8rem}.bots-list{max-height:250px}.bot-item{padding:.5rem .65rem;font-size:.75rem;gap:.3rem}.bot-id,.bot-time{font-size:.7rem}.bot-proxy{font-size:.65rem}.logs-section{padding:.875rem}.log-item{padding:.5rem .65rem;font-size:.7rem}.floating-log-button{bottom:15px;right:15px;padding:10px 16px;font-size:12px}}.floating-log-button{position:fixed;bottom:20px;right:20px;background:#667eea;color:#fff;border:none;padding:12px 20px;border-radius:50px;cursor:pointer;font-size:14px;font-weight:600;box-shadow:0 4px 12px #667eea66;transition:all .3s;display:flex;align-items:center;gap:8px;z-index:999}.floating-log-button:hover{background:#5a67d8;box-shadow:0 6px 16px #667eea80;transform:translateY(-2px)}.disconnected-indicator{color:#ff4757;font-size:16px;animation:pulse 2s infinite}.orchestrator-control-widget{background:linear-gradient(135deg,#1e1e1efa,#28282dfa);border:1px solid rgba(76,175,80,.3);border-radius:12px;margin-bottom:1.5rem;padding:1.5rem}.orchestrator-control-widget .widget-header{margin-bottom:1.5rem}.orchestrator-control-widget h3{margin:0 0 .5rem;color:#fff;font-size:1.2rem}.widget-description{margin:0;color:#999;font-size:.9rem}.orchestrator-modes{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.mode-btn{background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:8px;padding:1rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:1rem;text-align:left}.mode-btn:hover{background:#ffffff14;border-color:#4caf5066;transform:translateY(-2px)}.mode-btn.active{background:#4caf5033;border-color:#4caf5099;box-shadow:0 4px 12px #4caf504d}.mode-btn.disabled{opacity:.4;cursor:not-allowed}.mode-btn.disabled:hover{transform:none;background:#ffffff0d}.mode-locked-warning{background:#ff98001a;border:1px solid rgba(255,152,0,.3);border-radius:6px;padding:.75rem;color:#ff9800;font-size:.9rem;text-align:center;margin-top:.5rem}.mode-icon{font-size:2rem}.mode-info{display:flex;flex-direction:column;gap:.25rem}.mode-info strong{color:#fff;font-size:1rem}.mode-info span{color:#999;font-size:.85rem}.phase3-benefits{background:#4caf501a;border:1px solid rgba(76,175,80,.3);border-radius:8px;padding:1rem;margin-top:1rem}.phase3-benefits h4{margin:0 0 .75rem;color:#4caf50;font-size:1rem}.phase3-benefits ul{margin:0;padding-left:1.5rem;list-style:none}.phase3-benefits li{color:#ccc;font-size:.9rem;margin-bottom:.5rem;position:relative;padding-left:.5rem}.phase3-benefits li:before{content:"";position:absolute;left:-1rem;top:.5rem;width:4px;height:4px;background:#4caf50;border-radius:50%}.bots-section.enhanced{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a;margin-bottom:2rem}.bots-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:1rem}.rotation-countdown{display:flex;align-items:center;gap:.5rem;background:#ff98001a;border:1px solid rgba(255,152,0,.3);border-radius:8px;padding:.5rem 1rem}.countdown-icon{font-size:1.2rem}.countdown-text{color:#ff9800;font-weight:600;font-size:.9rem}.bots-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:1rem;padding:1rem;background:#f8f9fa;border-radius:8px}.filter-controls{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.filter-controls label{font-weight:600;color:#555;font-size:.9rem}.filter-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.filter-btn{padding:.5rem 1rem;background:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:.85rem;transition:all .2s;white-space:nowrap}.filter-btn:hover{background:#f0f0f0}.filter-btn.active{background:#007bff;color:#fff;border-color:#007bff;font-weight:600}.sort-controls{display:flex;align-items:center;gap:.5rem}.sort-controls label{font-weight:600;color:#555;font-size:.9rem}.sort-controls select{padding:.5rem;border:1px solid #ddd;border-radius:6px;font-size:.9rem;cursor:pointer}.sort-order-btn{padding:.5rem 1rem;background:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:1.2rem;transition:all .2s}.sort-order-btn:hover{background:#f0f0f0}.view-controls{display:flex;gap:.5rem}.view-btn{padding:.5rem 1rem;background:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s}.view-btn:hover{background:#f0f0f0}.view-btn.active{background:#007bff;color:#fff;border-color:#007bff}.bots-list.enhanced{display:flex;flex-direction:column;gap:.5rem;max-height:600px;overflow-y:auto}.bots-list.enhanced::-webkit-scrollbar{width:8px}.bots-list.enhanced::-webkit-scrollbar-track{background:#f0f0f0;border-radius:4px}.bots-list.enhanced::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.bots-list.enhanced::-webkit-scrollbar-thumb:hover{background:#999}.bots-list-header{display:grid;grid-template-columns:1fr 60px 80px 80px 100px 70px 1fr;gap:.75rem;padding:.75rem 1rem;background:#f8f9fa;border-radius:6px;font-weight:600;color:#555;font-size:.85rem}.bot-item-enhanced{display:grid;grid-template-columns:1fr 60px 80px 80px 100px 70px 1fr;gap:.75rem;padding:.75rem 1rem;background:#fff;border:1px solid #e0e0e0;border-radius:6px;transition:all .2s;align-items:center}.bot-item-enhanced.registered{border-left:3px solid #4CAF50}.bot-item-enhanced:hover{background:#f8f9fa;border-color:#007bff}.bot-item-enhanced.will-rotate{background:#ff98000d;border-color:#ff98004d}.bot-item-enhanced.will-rotate:hover{background:#ff98001a}.type-badge{font-size:1.2rem;display:inline-block}.type-badge.registered{color:#4caf50}.type-badge.anonymous{color:#999}.bot-info{font-size:.8rem;color:#666;line-height:1.4}.info-details{text-align:left}.info-label{font-weight:600;color:#555}.info-simple{color:#999}.rotate-indicator{margin-right:.25rem;font-size:.9rem}.bot-memory{color:#42a5f5;font-weight:600}.bot-uptime{color:#66bb6a;font-weight:600}.bot-score{color:#ffa726;font-weight:700;font-size:1rem}.bot-time-left{color:#666;font-size:.9rem}.bots-chart{display:flex;flex-direction:column;gap:.75rem;max-height:600px;overflow-y:auto;padding-right:.5rem}.bots-chart::-webkit-scrollbar{width:8px}.bots-chart::-webkit-scrollbar-track{background:#f0f0f0;border-radius:4px}.bots-chart::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.bots-chart::-webkit-scrollbar-thumb:hover{background:#999}.chart-bar-container{display:grid;grid-template-columns:120px 1fr 150px;gap:1rem;align-items:center}.chart-label{font-weight:600;color:#333;font-size:.9rem}.chart-bar-wrapper{background:#f0f0f0;border-radius:6px;height:32px;overflow:hidden}.chart-bar{height:100%;background:linear-gradient(90deg,#007bff,#0056b3);display:flex;align-items:center;padding:0 .75rem;transition:width .3s ease;min-width:60px}.chart-bar.will-rotate{background:linear-gradient(90deg,#ff9800,#f57c00)}.chart-value{color:#fff;font-weight:700;font-size:.9rem}.chart-details{color:#666;font-size:.85rem}.chart-more{padding:1rem;text-align:center;color:#999;font-style:italic}.rotation-info{display:flex;align-items:center;gap:.5rem;padding:1rem;background:#4caf501a;border:1px solid rgba(76,175,80,.3);border-radius:8px;margin-top:1rem}.info-icon{font-size:1.2rem}.info-text{color:#4caf50;font-size:.9rem;font-weight:500}@media(max-width:768px){.bots-list-header,.bot-item-enhanced{grid-template-columns:1fr 80px 80px;font-size:.8rem}.bot-item-enhanced .bot-proxy,.bot-item-enhanced .bot-time-left,.bot-item-enhanced .bot-uptime,.bots-list-header span:nth-child(3),.bots-list-header span:nth-child(4),.bots-list-header span:nth-child(6){display:none}.chart-bar-container{grid-template-columns:100px 1fr}.chart-details{display:none}}.template-manager{padding:2rem;max-width:1400px;margin:0 auto;background:#fff;border-radius:12px;min-height:500px}.template-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.template-header h1{font-size:2rem;color:#667eea;margin:0}.create-template-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;transition:transform .2s}.create-template-btn:hover{transform:translateY(-2px)}.templates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.template-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 4px 6px #0000001a;border:2px solid #e0e0e0;transition:all .3s}.template-card:hover{box-shadow:0 8px 12px #667eea33;border-color:#667eea}.template-card.inactive{opacity:.6;border-color:#ccc}.template-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;border-bottom:2px solid #f0f0f0;padding-bottom:.5rem}.template-card-header h3{margin:0;color:#333;font-size:1.25rem}.template-actions{display:flex;gap:.5rem}.template-actions button{background:none;border:none;font-size:1.2rem;cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:background .2s}.template-actions button:hover{background:#f0f0f0}.toggle-btn.active{color:#4caf50}.toggle-btn.inactive{color:#f44336}.template-description{color:#666;font-style:italic;margin:.5rem 0 1rem}.template-info{margin:1rem 0}.info-row .label{font-weight:600;color:#666}.info-row .value{color:#333;font-family:monospace}.template-slots-preview{margin-top:1rem}.template-slots-preview h4{font-size:.9rem;color:#667eea;margin-bottom:.5rem}.slot-preview{display:flex;justify-content:space-between;align-items:center;padding:.5rem;background:#f8f9fa;border-radius:6px;margin-bottom:.5rem;font-size:.85rem}.slot-offset{color:#667eea!important;font-weight:600!important;min-width:60px}.slot-duration{color:#333!important;font-weight:600!important;min-width:80px;text-align:center}.slot-concurrency{color:#764ba2!important;font-weight:600!important;text-align:right}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;overflow-y:auto;padding:2rem}.modal-content{background:#fff;border-radius:12px;padding:2rem;max-width:800px;width:100%;max-height:90vh;overflow-y:auto}.modal-header h2{color:#667eea;margin:0}.modal-close-btn{background:none;border:none;font-size:2rem;color:#666;cursor:pointer;padding:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.template-modal h2{color:#667eea;margin-bottom:1.5rem}.form-group{margin-bottom:1rem}.form-group label{display:block;font-weight:600;margin-bottom:.5rem;color:#333}.form-group input,.form-group select{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus{outline:none;border-color:#667eea}.slots-section{margin-top:2rem;padding-top:1rem;border-top:2px solid #e0e0e0}.slots-section h3{color:#667eea;margin-bottom:1rem}.slots-hint{color:#666;font-size:.9rem;margin-bottom:1rem;padding:.75rem;background:#e3f2fd;border-left:4px solid #2196f3;border-radius:4px}.slot-form{background:#f8f9fa;padding:1rem;border-radius:8px;margin-bottom:1rem}.slot-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:.5rem}.add-slot-btn{width:100%;background:#667eea;color:#fff;border:none;padding:.75rem;border-radius:8px;cursor:pointer;font-weight:600;margin-top:.5rem;transition:background .2s}.add-slot-btn:hover{background:#5568d3}.slot-form-buttons{display:flex;gap:.5rem;margin-top:.5rem}.slot-form-buttons .add-slot-btn{flex:1;margin-top:0}.cancel-edit-btn{background:#e0e0e0;color:#333;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:600;transition:background .2s}.cancel-edit-btn:hover{background:#d0d0d0}.slots-list{margin-top:1rem}.slot-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#fff!important;border:2px solid #e0e0e0;border-radius:8px;margin-bottom:.5rem;transition:all .2s}.slot-item:hover{border-color:#667eea;box-shadow:0 2px 8px #667eea26;background:#f8f9ff!important}.slot-item.editing{border-color:orange;background:#fff8e1!important;box-shadow:0 2px 8px #ffa5004d}.slot-info{display:flex;gap:2rem;align-items:center;flex:1;cursor:pointer;transition:all .2s;color:#333!important}.slot-info:hover{color:#667eea!important;transform:translate(5px)}.slot-info *{color:#333!important}.slot-info:hover *{color:#667eea!important}.slot-main{display:flex;flex-direction:column;gap:.25rem;min-width:140px}.slot-details{display:flex;gap:1.5rem;align-items:center}.slot-number{font-weight:600!important;color:#667eea!important;font-size:1rem!important}.slot-time-range{font-size:.9rem!important;color:#555!important;font-weight:600!important}.slot-offset,.slot-duration,.slot-concurrency{color:#333!important;font-weight:600!important;font-size:.95rem!important}.slot-offset,.slot-duration{min-width:80px}.slot-concurrency{color:#764ba2!important}.remove-slot-btn{background:#f44336;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:1rem;transition:background .2s}.total-duration{margin-top:1rem;padding:1rem;background:#e3f2fd;border-left:4px solid #2196f3;border-radius:4px;font-weight:600;color:#1976d2}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:1rem;border-top:2px solid #e0e0e0}.error-message{background:#ffebee;color:#c62828;padding:1rem;border-radius:8px;margin-bottom:1rem;border-left:4px solid #f44336}.loading{text-align:center;padding:3rem;color:#666;font-size:1.2rem}.toast{position:fixed;bottom:2rem;right:2rem;padding:1rem 1.5rem;border-radius:8px;color:#fff;font-weight:600;box-shadow:0 4px 12px #00000026;animation:slideIn .3s ease-out;z-index:10000;max-width:400px}.toast-success{background:linear-gradient(135deg,#4caf50,#66bb6a)}.toast-error{background:linear-gradient(135deg,#f44336,#ef5350)}@keyframes slideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}.admin-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.admin-header h1{color:#fff;margin:0;font-size:2rem}.admin-tabs{display:flex;gap:.5rem;padding:0 2rem;margin-top:1rem;border-bottom:2px solid rgba(255,255,255,.2)}.tab-button{background:transparent;border:none;color:#ffffffb3;padding:1rem 1.5rem;font-size:1rem;font-weight:600;cursor:pointer;border-bottom:3px solid transparent;transition:all .2s;white-space:nowrap}.tab-button:hover{color:#fff;background:#ffffff1a}.tab-button.active{color:#fff;border-bottom-color:#fff}.admin-content{display:grid;grid-template-columns:1fr 350px;gap:2rem;align-items:start}.users-table-container{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 10px 40px #0003;overflow-x:auto}.users-summary{display:flex;gap:2rem;margin-bottom:1.5rem;padding:1rem;background:#f8f9fa;border-radius:8px}.summary-item{display:flex;flex-direction:column;gap:.25rem}.summary-label{font-size:.85rem;color:#6c757d;font-weight:500}.summary-value{font-size:1.5rem;font-weight:700;color:#667eea}.users-table{width:100%;border-collapse:collapse;font-size:.9rem}.users-table thead{background:#f8f9fa}.users-table th{padding:1rem;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #dee2e6;white-space:nowrap}.users-table td{padding:1rem;border-bottom:1px solid #e9ecef}.users-table tbody tr:hover{background:#f8f9fa}.pending-user{background:#fff3cd!important}.role-badge{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.role-badge.admin{background:#e3f2fd;color:#1976d2}.role-badge.user{background:#f3e5f5;color:#7b1fa2}.role-select{padding:.25rem .5rem;border:2px solid #dee2e6;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;background:#fff;text-transform:uppercase;letter-spacing:.5px;transition:border-color .2s}.role-select:focus{outline:none;border-color:#667eea}.role-select option{text-transform:uppercase}.status-badge{padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:600;white-space:nowrap}.status-badge.approved{background:#d4edda;color:#155724}.status-badge.pending{background:#fff3cd;color:#856404}.range-editor{display:flex;align-items:center;gap:.5rem}.range-input{width:70px;padding:.375rem .5rem;border:2px solid #dee2e6;border-radius:6px;font-size:.9rem;text-align:center}.range-input:focus{outline:none;border-color:#667eea}.proxy-input{width:100%;max-width:250px;padding:.375rem .5rem;border:2px solid #dee2e6;border-radius:6px;font-size:.85rem;font-family:monospace}.proxy-input:focus{outline:none;border-color:#667eea}.proxy-display{font-family:monospace;font-size:.8rem;color:#495057}.range-display{font-family:monospace;font-weight:600;color:#495057}.proxy-count{color:#6c757d;font-size:.85rem}.concurrency-stat{font-weight:700;color:#667eea;font-size:.95rem}.date-cell{color:#6c757d;font-size:.85rem}.action-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.action-buttons button{padding:.375rem .75rem;border:none;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-approve{background:#28a745;color:#fff}.btn-approve:hover{background:#218838}.btn-reject{background:#dc3545;color:#fff}.btn-reject:hover{background:#c82333}.btn-edit{background:#667eea;color:#fff}.btn-edit:hover{background:#5a67d8}.btn-save{background:#28a745;color:#fff}.btn-save:hover{background:#218838}.btn-cancel{background:#6c757d;color:#fff}.btn-cancel:hover{background:#5a6268}.btn-delete{background:#ff4757;color:#fff}.btn-delete:hover{background:#ee5a6f;transform:scale(1.05)}.btn-secondary{padding:.75rem 1.5rem;background:#fff;color:#667eea;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:#f8f9fa;transform:translateY(-2px)}.no-users{text-align:center;padding:3rem;color:#6c757d;font-size:1.1rem}.loading{text-align:center;padding:3rem;color:#fff;font-size:1.5rem}.info-panel{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 10px 40px #0003;position:sticky;top:2rem}.info-panel h3{margin:0 0 1rem;color:#333;font-size:1.1rem}.info-panel ul{margin:0;padding-left:1.25rem;line-height:1.8;color:#495057}.info-panel ul ul{margin-top:.5rem;margin-bottom:.5rem}.info-panel strong{color:#333}@media(max-width:1200px){.admin-content{grid-template-columns:1fr}.info-panel{position:static}.users-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width:768px){.admin-page{padding:.75rem max(.75rem,env(safe-area-inset-left)) .75rem max(.75rem,env(safe-area-inset-right))}.admin-header{flex-direction:column;gap:.75rem;align-items:stretch}.admin-header h1{font-size:1.3rem}.admin-tabs{padding:0 .75rem;overflow-x:auto}.tab-button{padding:.75rem 1rem;font-size:.85rem}.btn-secondary{padding:.45rem .875rem;font-size:.8rem}.users-table-container{padding:.875rem;overflow-x:auto}.users-summary{flex-direction:column;gap:.75rem;padding:.75rem}.summary-item{display:flex;flex-direction:row;justify-content:space-between;align-items:center}.summary-label{font-size:.75rem}.summary-value{font-size:1.15rem}.users-table{font-size:.75rem;min-width:800px}.users-table th,.users-table td{padding:.65rem .45rem;font-size:.55rem!important}.range-input{width:55px;font-size:.75rem;padding:.2rem .3rem}.action-buttons button{padding:.25rem .5rem;font-size:.55rem!important}.role-select{font-size:.55rem!important;padding:.15rem .3rem}.role-badge,.status-badge{font-size:.5rem!important;padding:.2rem .45rem}.info-panel{padding:.875rem}.info-panel h3{font-size:.95rem}.info-panel ul{font-size:.8rem}.info-panel ul li{padding:.4rem 0}}@media(max-width:480px){.admin-page{padding:.5rem max(.5rem,env(safe-area-inset-left)) .5rem max(.5rem,env(safe-area-inset-right))}.admin-header h1{font-size:1.1rem}.tab-button{font-size:.75rem;padding:.65rem .85rem}.btn-secondary{font-size:.75rem;padding:.45rem .875rem}.users-table-container{padding:.75rem;border-radius:8px}.users-summary{padding:.75rem}.users-table th,.users-table td{padding:.5rem .375rem;font-size:.5rem!important}.action-buttons button{font-size:.5rem!important;padding:.25rem .45rem}.role-badge,.status-badge{font-size:.45rem!important;padding:.2rem .4rem}.role-select{font-size:.5rem!important;padding:.15rem .25rem}.date-cell{font-size:.7em;padding:.2rem .5rem}.info-panel{padding:.875rem}.info-panel h3{font-size:.95rem;margin-bottom:.75rem}.info-panel ul{font-size:.85rem;line-height:1.6}}.sessions-content{padding:2rem;display:flex;flex-direction:column;gap:2rem}.sessions-panel{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 10px 40px #0003}.sessions-panel h2{margin:0 0 1.5rem;color:#333;font-size:1.3rem}.no-sessions{text-align:center;padding:3rem;color:#6c757d;font-size:1.1rem}.sessions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.session-card{background:#f8f9fa;border-radius:8px;padding:1.25rem;border-left:4px solid #667eea;transition:all .2s}.session-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.session-card.active{border-left-color:#28a745;background:linear-gradient(135deg,#f8f9fa,#e3f2e1)}.session-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid #dee2e6}.session-user{font-weight:700;color:#333;font-size:1.05rem}.session-status{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.session-status.status-active{background:#d4edda;color:#155724}.session-status.status-completed{background:#d1ecf1;color:#0c5460}.session-status.status-failed{background:#f8d7da;color:#721c24}.session-details{display:flex;flex-direction:column;gap:.5rem}.detail-row{display:flex;justify-content:space-between;align-items:center;font-size:.9rem}.detail-label{color:#6c757d;font-weight:500}.detail-value{color:#333;font-weight:600;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.btn-close-session{margin-top:1rem;width:100%;padding:.625rem 1rem;background:#dc3545;color:#fff;border:none;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.375rem}.btn-close-session:hover{background:#c82333;transform:translateY(-1px);box-shadow:0 2px 8px #dc35454d}.history-table{overflow-x:auto}.history-table table{width:100%;border-collapse:collapse;font-size:.9rem}.history-table thead{background:#f8f9fa}.history-table th{padding:1rem;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #dee2e6;white-space:nowrap}.history-table td{padding:.875rem 1rem;border-bottom:1px solid #e9ecef}.history-table tbody tr:hover{background:#f8f9fa}.url-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;color:#6c757d}@media(max-width:768px){.sessions-content{padding:1rem}.sessions-grid{grid-template-columns:1fr}.session-card{padding:1rem}.detail-value{max-width:150px}.history-table{overflow-x:auto}.history-table table{min-width:800px}.tab-button{padding:.75rem 1rem;font-size:.9rem}}@media(max-width:480px){.sessions-panel{padding:1rem}.sessions-panel h2{font-size:1.1rem}.session-header{flex-direction:column;align-items:flex-start;gap:.5rem}.detail-value{max-width:120px;font-size:.85rem}.history-table table{min-width:700px}.admin-tabs{padding:0 1rem;gap:.25rem}.tab-button{padding:.625rem .75rem;font-size:.85rem}}.unified-booking-calculator{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;padding:30px;margin:30px 0;color:#fff;box-shadow:0 10px 30px #667eea4d}.calculator-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.calculator-header h3{margin:0;font-size:1.5em;color:#fff}.calculator-badge{background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:8px 16px;border-radius:20px;font-size:.9em;font-weight:600}.calculation-grid{display:flex;flex-direction:column;gap:20px}.result-card.primary{background:#fff;color:#333;border-radius:12px;padding:25px;display:flex;align-items:center;gap:20px;box-shadow:0 4px 12px #0000001a}.result-icon{font-size:3em}.result-content{flex:1}.result-label{font-size:.9em;color:#666;margin-bottom:8px;font-weight:500}.result-value{font-size:3.5em;font-weight:700;color:#667eea;line-height:1;margin-bottom:5px}.result-info{font-size:.9em;color:#888}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:15px}.metric-item{background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:10px;padding:20px;text-align:center;transition:transform .2s}.metric-item:hover{transform:translateY(-2px);background:#fff3}.metric-label{font-size:.85em;opacity:.9;margin-bottom:10px;font-weight:500}.metric-value{font-size:2em;font-weight:700;margin-bottom:5px;line-height:1}.metric-sub{font-size:.8em;opacity:.8}.calculation-explanation{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;padding:20px;margin-top:20px}.calculation-explanation h4{margin:0 0 15px;font-size:1.1em}.calculation-explanation ol{margin:0;padding-left:20px;list-style:decimal}.calculation-explanation li{margin-bottom:12px;line-height:1.6}.calculation-explanation strong{font-weight:600}.note{display:block;font-size:.85em;opacity:.8;margin-top:4px;font-style:italic}.settings-display{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-top:20px;padding-top:20px;border-top:1px solid rgba(255,255,255,.2)}.setting-item{display:flex;justify-content:space-between;align-items:center;font-size:.9em}.setting-label{opacity:.9}.setting-value{font-weight:700;font-size:1.1em}@media(max-width:768px){.unified-booking-calculator{padding:1.25rem max(1.25rem,env(safe-area-inset-left)) 1.25rem max(1.25rem,env(safe-area-inset-right));margin:1.25rem 0}.calculator-header{flex-direction:column;gap:.5rem;align-items:flex-start;margin-bottom:1rem}.calculator-header h3{font-size:1.1em}.calculator-badge{padding:.4rem .8rem;font-size:.75em}.result-card.primary{flex-direction:column;text-align:center;padding:1.25rem}.result-icon{font-size:2.5em}.result-label{font-size:.75em}.result-value{font-size:2.5em}.result-info{font-size:.75em}.metrics-grid{grid-template-columns:1fr 1fr;gap:.75rem}.metric-item{padding:.875rem}.metric-label{font-size:.7rem;margin-bottom:.5rem}.metric-value{font-size:1.5em}.metric-sub{font-size:.65rem}.calculation-explanation{padding:1rem;margin-top:1rem}.calculation-explanation h4{font-size:.95em;margin-bottom:.75rem}.calculation-explanation li{font-size:.8em;margin-bottom:.65rem;line-height:1.5}.note{font-size:.75em}.settings-display{grid-template-columns:1fr;gap:.5rem;margin-top:1rem;padding-top:1rem}.setting-item{font-size:.75em}.setting-value{font-size:1em}}@media(max-width:480px){.unified-booking-calculator{padding:1rem max(1rem,env(safe-area-inset-left)) 1rem max(1rem,env(safe-area-inset-right));margin:1rem 0}.calculator-header h3{font-size:1rem}.calculator-badge{padding:.35rem .7rem;font-size:.7em}.result-card.primary{padding:1rem}.result-icon{font-size:2em}.result-label{font-size:.7em}.result-value{font-size:2em}.result-info{font-size:.7em}.metrics-grid{gap:.5rem}.metric-item{padding:.75rem}.metric-label{font-size:.65rem}.metric-value{font-size:1.3em}.metric-sub{font-size:.6rem}.calculation-explanation{padding:.875rem}.calculation-explanation h4{font-size:.9em}.calculation-explanation li{font-size:.75em;margin-bottom:.5rem}.note,.setting-item{font-size:.7em}.settings-display{grid-template-columns:1fr}}.unified-forecast-graph-container{background:#fff;border:2px solid #e0e0e0;border-radius:12px;padding:25px;margin:25px 0;box-shadow:0 4px 12px #0000000d}.graph-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:15px}.graph-title{display:flex;align-items:center;gap:12px}.graph-title h3{margin:0;color:#333;font-size:1.3em}.graph-legend{display:flex;gap:20px}.legend-item{display:flex;align-items:center;gap:10px;font-size:.9em;color:#666}.legend-line{width:40px;height:3px;border-radius:2px}.legend-line.forecast{background:#4caf50}.legend-line.actual{background:#2196f3}.unified-forecast-graph{width:100%;height:auto;display:block;margin:0 auto}.grid-lines line{stroke:#e0e0e0;stroke-width:1}.graph-summary{display:flex;justify-content:space-around;align-items:center;margin-top:20px;padding-top:20px;border-top:2px solid #f0f0f0;flex-wrap:wrap;gap:15px}.summary-item{display:flex;flex-direction:column;align-items:center;gap:5px}.summary-label{font-size:.85em;color:#888;font-weight:500}.summary-value{font-size:1.5em;font-weight:700;color:#333}.summary-item.success .summary-value{color:#4caf50}@media(max-width:768px){.unified-forecast-graph-container{padding:1rem max(1rem,env(safe-area-inset-left)) 1rem max(1rem,env(safe-area-inset-right));margin:1rem 0}.unified-forecast-graph-container svg{display:none!important}.graph-header{flex-direction:column;align-items:flex-start;gap:.75rem}.graph-title h3{font-size:1.1em}.live-badge{font-size:.65em;padding:3px 8px}.graph-legend{gap:12px}.legend-item{font-size:.75em;gap:6px}.legend-line{width:25px;height:2px}.graph-summary{gap:.25rem!important;margin-top:.5rem!important;padding-top:.5rem!important}.summary-item{flex-direction:row!important;justify-content:space-between!important;padding:.25rem .4rem!important;background:#f8f9fa;border-radius:4px;min-height:auto!important}.summary-label{font-size:.5rem!important;line-height:1.2!important}.summary-value{font-size:.7rem!important;line-height:1.2!important}}@media(max-width:480px){.unified-forecast-graph-container{padding:.75rem max(.75rem,env(safe-area-inset-left)) .75rem max(.75rem,env(safe-area-inset-right));margin:.75rem 0}.graph-title h3{font-size:1rem}.live-badge{font-size:.6em;padding:2px 6px}.graph-legend{gap:8px}.legend-item{font-size:.7em}.summary-item{padding:.2rem .3rem!important}.summary-label{font-size:.45rem!important;line-height:1.1!important}.summary-value{font-size:.6rem!important;line-height:1.1!important}}.booking-page{min-height:calc(100vh - 70px);background:linear-gradient(135deg,#f5f7fa,#c3cfe2);padding:2rem 1rem}.booking-container{max-width:1400px;margin:0 auto}.booking-header{text-align:center;margin-bottom:3rem}.booking-header h1{font-size:2.5rem;font-weight:800;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:.5rem}.subtitle{color:#666;font-size:1.1rem;font-weight:400}.booking-grid{display:grid;grid-template-columns:1fr 400px;gap:2rem;align-items:start}.booking-form-section{background:#fff;border-radius:20px;padding:2.5rem;box-shadow:0 10px 40px #0000001a}.section-title{font-size:1.4rem;font-weight:700;color:#333;margin-bottom:1.5rem;display:flex;align-items:center;gap:.5rem}.section-title:before{content:"";width:4px;height:24px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:2px}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#333;font-size:.95rem}.form-group input,.form-group select{width:100%;padding:.875rem 1rem;border:2px solid #e0e0e0;border-radius:12px;font-size:1rem;transition:all .3s;background:#f8f9fa}.form-group input:focus,.form-group select:focus{outline:none;border-color:#667eea;background:#fff;box-shadow:0 0 0 4px #667eea1a}.form-group small{display:block;margin-top:.5rem;color:#666;font-size:.85rem;line-height:1.4}.section-hint{background:linear-gradient(135deg,#667eea1a,#764ba21a);border-left:4px solid #667eea;padding:1rem 1.25rem;border-radius:10px;margin-bottom:1.5rem;font-size:.95rem;color:#555;line-height:1.6}.slots-section{margin:2rem 0}.slots-section h3{font-size:1.2rem;font-weight:700;color:#333;margin-bottom:1rem}.slot-card{background:linear-gradient(135deg,#f8f9fa,#fff);padding:1.5rem;border-radius:16px;margin-bottom:1.25rem;border:2px solid #e0e0e0;transition:all .3s;position:relative;overflow:hidden}.slot-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(135deg,#667eea,#764ba2)}.slot-card:hover{border-color:#667eea;box-shadow:0 8px 24px #667eea26;transform:translateY(-2px)}.slot-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.slot-header h4{margin:0;font-size:1.1rem;font-weight:700;color:#667eea}.remove-slot-btn{background:linear-gradient(135deg,#ff6b6b,#ee5a6f);color:#fff;border:none;width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;transition:all .3s;box-shadow:0 4px 12px #ee5a6f4d}.remove-slot-btn:hover{transform:scale(1.1) rotate(90deg);box-shadow:0 6px 20px #ee5a6f80}.slot-content{display:grid;gap:1rem}.slot-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.slot-duration-info{background:linear-gradient(135deg,#667eea15,#764ba215);padding:1rem 1.25rem;border-radius:12px;margin-top:1rem;font-size:.95rem;color:#555;border-left:4px solid #4CAF50;font-weight:600}.add-slot-btn{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;border:none;padding:1rem 2rem;border-radius:12px;cursor:pointer;font-size:1rem;font-weight:700;transition:all .3s;box-shadow:0 6px 20px #4caf504d;display:flex;align-items:center;gap:.5rem;margin:0 auto}.add-slot-btn:hover{transform:translateY(-3px);box-shadow:0 8px 28px #4caf5066}.submit-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:1.25rem 3rem;border-radius:14px;cursor:pointer;font-size:1.1rem;font-weight:700;margin-top:2rem;width:100%;transition:all .3s;box-shadow:0 8px 24px #667eea4d}.submit-btn:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 12px 32px #667eea66}.submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.form-note{display:block;text-align:center;margin-top:1rem;color:#666;font-size:.9rem}.error-message,.success-message{padding:1rem 1.25rem;border-radius:12px;margin:1rem 0;font-weight:500;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.error-message{background:#ffebee;color:#c62828;border-left:4px solid #c62828}.success-message{background:#e8f5e9;color:#2e7d32;border-left:4px solid #2e7d32}.booking-sidebar{position:sticky;top:90px}.info-card{background:#fff;border-radius:20px;padding:2rem;box-shadow:0 10px 40px #0000001a;margin-bottom:1.5rem}.info-card h3{font-size:1.2rem;font-weight:700;color:#333;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.info-list{list-style:none;padding:0;margin:0}.info-list li{padding:.75rem 0;border-bottom:1px solid #f0f0f0;font-size:.9rem;color:#666;display:flex;align-items:start;gap:.5rem}.info-list li:last-child{border-bottom:none}.info-list li:before{content:"✓";color:#4caf50;font-weight:700;font-size:1.1rem}.my-bookings{margin-top:3rem}.my-bookings h2{font-size:1.8rem;font-weight:700;color:#333;margin-bottom:1.5rem}.no-bookings{text-align:center;padding:3rem;color:#999;font-size:1.1rem}.bookings-list{display:grid;gap:1.5rem}.booking-card{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 4px 20px #00000014;transition:all .3s;border:2px solid transparent}.booking-card:hover{box-shadow:0 8px 32px #0000001f;transform:translateY(-4px);border-color:#667eea}.booking-header-card{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.booking-status{padding:.5rem 1rem;border-radius:20px;font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#fff}.booking-date{color:#999;font-size:.85rem}.booking-details p{margin:.5rem 0;color:#666;font-size:.95rem}.booking-details strong{color:#333}.booking-slots{margin-top:1rem;padding-top:1rem;border-top:2px solid #f0f0f0}.mini-slot{background:#f8f9fa;padding:.75rem 1rem;border-radius:10px;margin:.5rem 0;font-size:.9rem;color:#555;border-left:3px solid #667eea}.template-selector-section{margin:1.5rem 0;padding:1rem;background:linear-gradient(135deg,#e3f2fd,#f3e5f5);border-radius:12px;border:2px dashed #667eea}.template-selector-btn{width:100%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:1rem;border-radius:10px;cursor:pointer;font-size:1rem;font-weight:600;transition:transform .2s}.template-selector-btn:hover{transform:translateY(-2px)}.template-selector-modal{min-width:600px;max-width:90vw;width:800px;max-height:90vh;overflow-y:auto}.templates-list{display:grid;gap:1rem;margin-bottom:1.5rem;max-height:400px;overflow-y:auto;padding-right:.5rem}.template-option{padding:1.25rem;background:#fff;border:2px solid #e0e0e0;border-radius:10px;cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none}.template-option:hover{border-color:#667eea;background:#f8f9ff;transform:translateY(-2px);box-shadow:0 4px 12px #667eea26}.template-option.selected{background:linear-gradient(135deg,#e3f2fd,#f3e5f5);border-color:#667eea;border-width:3px;box-shadow:0 4px 16px #667eea40}.template-option-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.template-option-header h3{margin:0;color:#333!important;font-size:1.2rem!important;font-weight:600!important}.template-badge{background:#667eea;color:#fff!important;padding:.35rem .85rem;border-radius:20px;font-size:.85rem!important;font-weight:600!important}.template-option-desc{color:#666!important;font-style:italic;margin:.5rem 0;font-size:.95rem!important}.template-option-info{display:flex;gap:1rem;font-size:.9rem!important;color:#666!important;flex-wrap:wrap;margin-top:.75rem}.template-option-info span{background:#fffc;padding:.4rem .75rem;border-radius:6px;border:1px solid #e0e0e0;color:#555!important;font-weight:500}.template-start-config{background:#f8f9fa;padding:1.5rem;border-radius:10px;margin-bottom:1.5rem;border:2px solid #e0e0e0}.template-start-config h3{color:#667eea!important;margin-bottom:.75rem;font-size:1.1rem!important;font-weight:600!important}.template-start-config .hint{color:#666;font-size:.9rem;margin-bottom:1rem;font-style:italic}.start-time-inputs{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.template-preview-info{background:#fff;padding:1rem;border-radius:8px;margin-top:1rem;max-width:100%;overflow:hidden}.template-preview-info h4{color:#667eea!important;margin:0 0 .75rem;font-size:.95rem!important;font-weight:600!important}.preview-stats{display:grid;gap:.5rem}.stat{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:#f8f9fa;border-radius:6px;gap:.5rem}.stat-label{font-weight:600!important;color:#666!important;font-size:.85rem!important;white-space:nowrap}.stat-value{color:#333!important;font-family:monospace!important;font-size:.85rem!important;text-align:right;word-break:break-word;overflow-wrap:anywhere}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;padding-top:1rem;border-top:2px solid #e0e0e0}.modal-actions button{padding:.75rem 1.5rem;border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:all .2s}.modal-actions button.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.modal-actions button.primary:disabled{opacity:.5;cursor:not-allowed}.modal-actions button.primary:hover:not(:disabled){transform:translateY(-2px)}.modal-actions button:not(.primary){background:#e0e0e0;color:#333}.modal-actions button:not(.primary):hover{background:#d0d0d0}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:2rem}.modal-content{background:#fff;border-radius:12px;padding:2rem;max-height:90vh;overflow-y:auto;position:relative}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #e0e0e0}.modal-header h2{margin:0;color:#667eea}.modal-close-btn{background:none;border:none;font-size:1.5rem;color:#666;cursor:pointer;padding:.25rem .5rem;line-height:1;transition:all .2s;border-radius:4px}.modal-close-btn:hover{background:#f0f0f0;color:#333}@media(max-width:1200px){.booking-grid{grid-template-columns:1fr}.booking-sidebar{position:static}}@media(max-width:768px){.booking-page{padding:.75rem max(.5rem,env(safe-area-inset-left)) .75rem max(.5rem,env(safe-area-inset-right));min-height:calc(100vh - 90px)}.booking-header{margin-bottom:1.5rem}.booking-header h1{font-size:1.5rem}.subtitle{font-size:.9rem}.booking-form-section,.info-card{padding:1.25rem;border-radius:16px}.section-title{font-size:1.1rem}.section-title:before{height:20px}.form-group{margin-bottom:1rem}.form-group label{font-size:.85rem;margin-bottom:.4rem}.form-group input,.form-group select{font-size:16px;padding:.75rem .875rem}.form-group small{font-size:.75rem}.section-hint{font-size:.8rem;padding:.875rem 1rem}.slot-row{grid-template-columns:1fr;gap:.75rem}.slot-card{padding:1.25rem;border-radius:14px}.slot-header h4{font-size:.95rem}.remove-slot-btn{width:28px;height:28px;font-size:16px}.slot-duration-info{font-size:.85rem;padding:.875rem 1rem}.add-slot-btn{padding:.875rem 1.5rem;font-size:.9rem}.submit-btn{padding:.875rem 1.5rem;font-size:.95rem}.form-note{font-size:.8rem}.info-card h3{font-size:1rem}.info-list li{font-size:.8rem;padding:.6rem 0}.my-bookings h2{font-size:1.4rem}.booking-card{padding:1.25rem}.booking-status{font-size:.75rem;padding:.4rem .875rem}.mini-slot{font-size:.8rem;padding:.65rem .875rem}}@media(max-width:480px){.booking-page{padding:.5rem max(.5rem,env(safe-area-inset-left)) .5rem max(.5rem,env(safe-area-inset-right));min-height:calc(100vh - 85px)}.booking-header{margin-bottom:1rem}.booking-header h1{font-size:1.3rem}.subtitle{font-size:.8rem}.booking-form-section,.info-card{padding:1rem;border-radius:14px;margin-bottom:1rem}.section-title{font-size:1rem;margin-bottom:1rem}.section-title:before{height:18px;width:3px}.form-group{margin-bottom:.875rem}.form-group label{font-size:.8rem}.form-group input,.form-group select{padding:.65rem .75rem}.form-group small{font-size:.7rem}.section-hint{font-size:.75rem;padding:.75rem .875rem}.slot-card{padding:1rem;margin-bottom:1rem;border-radius:12px}.slot-header h4{font-size:.875rem}.remove-slot-btn{width:26px;height:26px;font-size:14px}.slot-duration-info{font-size:.8rem;padding:.75rem .875rem}.add-slot-btn{padding:.75rem 1.25rem;font-size:.85rem;margin-bottom:1rem}.submit-btn{padding:.75rem 1.25rem;font-size:.875rem;border-radius:12px;margin-top:1.5rem;margin-bottom:1.5rem;position:relative;z-index:10}.form-note{font-size:.75rem;margin-bottom:1.5rem;padding-bottom:max(1rem,env(safe-area-inset-bottom))}.info-card h3{font-size:.95rem}.info-list li{font-size:.75rem;padding:.5rem 0}.my-bookings{margin-top:2rem;padding-bottom:max(2rem,env(safe-area-inset-bottom))}.my-bookings h2{font-size:1.2rem;margin-bottom:1rem}.no-bookings{font-size:.95rem;padding:2rem}.booking-card{padding:1rem;border-radius:14px}.booking-status{font-size:.7rem;padding:.35rem .75rem}.booking-date{font-size:.75rem}.booking-details p{font-size:.85rem}.mini-slot{font-size:.75rem;padding:.6rem .75rem;border-radius:8px}}.admin-bookings-page{padding:20px;max-width:1600px;margin:0 auto}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.admin-header h1{margin:0;color:#333}.header-actions{display:flex;gap:10px}.refresh-btn{background:#2196f3;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;transition:background .2s}.refresh-btn:hover{background:#1976d2}.loading{text-align:center;padding:40px;color:#666}.no-bookings{text-align:center;padding:60px;background:#f5f5f5;border-radius:12px;color:#999}.bookings-grid{display:grid;gap:24px}.admin-booking-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:visible;border:1px solid #e0e0e0;transition:box-shadow .2s}.admin-booking-card:hover{box-shadow:0 4px 16px #00000026}.booking-card-header{background:#f8f9fa;padding:16px 20px;border-bottom:1px solid #e0e0e0}.user-info{display:flex;align-items:center;gap:12px;margin-bottom:8px}.view-dashboard-btn{background:#17a2b8;color:#fff;border:none;padding:6px 12px;border-radius:6px;cursor:pointer;font-size:12px;font-weight:600;transition:background .2s;margin-left:auto}.view-dashboard-btn:hover{background:#138496}.username{font-weight:600;font-size:16px;color:#333}.status-badge{padding:4px 12px;border-radius:12px;font-size:11px;font-weight:700;text-transform:uppercase;color:#fff}.created-date{font-size:13px;color:#666}.booking-card-body{padding:20px}.info-row{display:flex;gap:10px;margin-bottom:12px;align-items:flex-start}.info-row strong{min-width:120px;color:#555;font-size:14px}.info-row a{color:#2196f3;text-decoration:none;word-break:break-all}.info-row a:hover{text-decoration:underline}.mode-badge{background:#e3f2fd;color:#1976d2;padding:4px 12px;border-radius:4px;font-size:13px;font-weight:600}.slots-summary{margin-top:20px;padding-top:20px;border-top:1px solid #f0f0f0}.slots-summary h4{margin:0 0 15px;color:#444;font-size:15px}.slot-item{background:#f8f9fa;padding:12px 16px;border-radius:8px;margin-bottom:10px;border-left:3px solid #2196F3}.slot-main{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:8px}.slot-main span{font-size:14px;color:#555}.slot-date{font-weight:600;color:#333}.slot-details{display:flex;gap:15px;font-size:12px;color:#666}.ramp-info{background:#fff3e0;padding:2px 8px;border-radius:4px;font-weight:600;color:#f57c00}.stats-row{display:flex;gap:20px;margin-top:20px;padding-top:20px;border-top:1px solid #f0f0f0}.stat-item{display:flex;flex-direction:column;gap:4px}.stat-value{font-size:24px;font-weight:700;color:#2196f3}.booking-card-actions{padding:16px 20px;background:#fafafa;border-top:1px solid #e0e0e0;display:flex;gap:10px}.approve-btn{flex:1;background:#4caf50;color:#fff;border:none;padding:12px 24px;border-radius:6px;cursor:pointer;font-size:15px;font-weight:600;transition:background .2s}.approve-btn:hover{background:#45a049}.reject-btn{flex:1;background:#f44336;color:#fff;border:none;padding:12px 24px;border-radius:6px;cursor:pointer;font-size:15px;font-weight:600;transition:background .2s}.reject-btn:hover{background:#d32f2f}.reject-form{width:100%}.reject-form textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:14px;resize:vertical;margin-bottom:10px}.reject-actions{display:flex;gap:10px}.confirm-reject-btn{flex:1;background:#f44336;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;transition:background .2s}.confirm-reject-btn:hover{background:#d32f2f}.cancel-reject-btn{flex:1;background:#9e9e9e;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;transition:background .2s}.cancel-reject-btn:hover{background:#757575}.approved-notice{width:100%;text-align:center;padding:12px;background:#e8f5e9;color:#2e7d32;border-radius:6px;font-weight:600}.active-notice{width:100%;text-align:center;padding:12px;background:#e3f2fd;color:#1565c0;border-radius:6px;font-weight:600;animation:pulse-glow 2s ease-in-out infinite}@keyframes pulse-glow{0%,to{box-shadow:0 0 5px #1565c04d}50%{box-shadow:0 0 15px #1565c099}}.rejection-notes{width:100%;padding:12px;background:#ffebee;color:#c62828;border-radius:6px;font-size:13px}.edit-btn{background:#ff9800;color:#fff;border:none;padding:12px 24px;border-radius:6px;cursor:pointer;font-size:15px;font-weight:600;transition:background .2s}.edit-btn:hover{background:#f57c00}.delete-btn{background:#9c27b0;color:#fff;border:none;padding:12px 24px;border-radius:6px;cursor:pointer;font-size:15px;font-weight:600;transition:background .2s}.delete-btn:hover{background:#7b1fa2}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:12px;max-width:800px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e0e0e0}.modal-header h2{margin:0;font-size:20px;color:#333}.close-btn{background:none;border:none;font-size:24px;cursor:pointer;color:#666;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .2s}.close-btn:hover{background:#f0f0f0;color:#333}.modal-body{padding:24px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#555;font-size:14px}.form-group input,.form-group select{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;font-family:inherit;transition:border-color .2s}.form-group input:focus,.form-group select:focus{outline:none;border-color:#2196f3}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px}.slots-editor{margin-top:30px}.slots-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.slots-header h3{margin:0;font-size:18px;color:#333}.add-slot-btn{background:#4caf50;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;transition:background .2s}.add-slot-btn:hover{background:#45a049}.slot-editor{background:#f8f9fa;padding:20px;border-radius:8px;margin-bottom:20px;border:1px solid #e0e0e0}.slot-editor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.slot-editor-header h4{margin:0;color:#333;font-size:16px}.remove-slot-btn{background:#f44336;color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:13px;font-weight:600;transition:background .2s}.remove-slot-btn:hover{background:#d32f2f}.modal-footer{padding:16px 24px;border-top:1px solid #e0e0e0;display:flex;justify-content:flex-end;gap:12px;background:#fafafa}.modal-footer .cancel-btn{background:#9e9e9e;color:#fff;border:none;padding:10px 24px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;transition:background .2s}.modal-footer .cancel-btn:hover{background:#757575}.modal-footer .save-btn{background:#2196f3;color:#fff;border:none;padding:10px 24px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;transition:background .2s}.modal-footer .save-btn:hover{background:#1976d2}@media(max-width:768px){.admin-bookings-page{padding:10px;padding-bottom:max(20px,env(safe-area-inset-bottom))}.admin-header{flex-direction:column;align-items:flex-start;gap:15px}.admin-booking-card{margin-bottom:15px}.booking-card-body{padding:15px;max-height:none;overflow:visible}.slot-main{flex-direction:column;gap:8px}.stats-row{flex-direction:column;gap:15px}.booking-card-actions{flex-direction:column;gap:8px;padding:12px 15px;position:relative;z-index:10}.approve-btn,.reject-btn,.edit-btn,.delete-btn{width:100%;padding:10px 16px;font-size:14px}.modal-content{max-width:100%;max-height:100vh;border-radius:0}.form-row{grid-template-columns:1fr}}@media(max-width:480px){.admin-bookings-page{padding:8px}.booking-card-header,.booking-card-body,.booking-card-actions{padding:12px}.approve-btn,.reject-btn,.edit-btn,.delete-btn{padding:12px 14px;font-size:13px;min-height:44px}.user-info{flex-wrap:wrap}.slot-item{padding:10px 12px}}.realtime-session-monitor{background:#fff;border:3px solid #4CAF50;border-radius:12px;padding:25px;margin:25px 0;box-shadow:0 4px 20px #4caf5033}.monitor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:15px}.monitor-title{display:flex;align-items:center;gap:10px}.monitor-title h3{margin:0;color:#333;font-size:1.3em}.live-badge{background:#f44336;color:#fff;padding:4px 12px;border-radius:12px;font-size:.75em;font-weight:700;animation:pulse 2s infinite;letter-spacing:1px}.ended-badge{background:#9e9e9e;color:#fff;padding:4px 12px;border-radius:12px;font-size:.75em;font-weight:700;letter-spacing:1px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.monitor-status{display:flex;gap:20px;flex-wrap:wrap;font-size:.95em;color:#666}.status-item{display:flex;align-items:center;gap:5px}.status-item strong{color:#333;font-size:1.1em}.progress-container{margin:15px 0}.progress-bar{width:100%;height:24px;background:#e0e0e0;border-radius:12px;overflow:hidden;position:relative}.progress-fill{height:100%;background:linear-gradient(90deg,#4caf50,#8bc34a);transition:width .5s ease;position:relative}.progress-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}.progress-fill.completed:after{animation:none;background:none}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.progress-text{text-align:center;margin-top:8px;font-size:.9em;color:#666;font-weight:600}.current-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px;margin:20px 0}.stat-box{background:#f5f5f5;border:2px solid #e0e0e0;border-radius:10px;padding:15px;display:flex;align-items:center;gap:12px;transition:all .3s}.stat-box:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.stat-box.clickable{cursor:pointer;transition:all .3s}.stat-box.clickable:hover{transform:translateY(-4px);box-shadow:0 6px 16px #667eea4d;border-color:#667eea}.stat-box.clickable:active{transform:translateY(-2px)}.stat-box.success{background:#e8f5e9;border-color:#4caf50}.stat-box.error{background:#ffebee;border-color:#f44336}.stat-icon{font-size:2em}.stat-content{display:flex;flex-direction:column}.stat-value{font-size:1.8em;font-weight:700;color:#333;line-height:1}.stat-label{font-size:.85em;color:#666;margin-top:4px}.logs-section{margin-top:25px;background:#fafafa;border:2px solid #e0e0e0;border-radius:10px;overflow:hidden}.logs-header{display:flex;justify-content:space-between;align-items:center;padding:12px 15px;background:#f0f0f0;border-bottom:2px solid #e0e0e0}.logs-header h4{margin:0;color:#333;font-size:1em}.clear-logs-btn{padding:6px 12px;background:#ff9800;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.85em;font-weight:600;transition:background .2s}.clear-logs-btn:hover{background:#f57c00}.logs-container{height:300px;overflow-y:auto;padding:10px;font-family:Monaco,Menlo,Consolas,monospace;font-size:.9em;background:#1e1e1e;color:#d4d4d4;overflow-anchor:none;scroll-behavior:auto}.logs-container::-webkit-scrollbar-track{background:#2d2d2d}.logs-container::-webkit-scrollbar-thumb{background:#555;border-radius:4px}.logs-container::-webkit-scrollbar-thumb:hover{background:#777}.no-logs{display:flex;align-items:center;justify-content:center;height:100%;color:#888}.log-entry{display:flex;align-items:flex-start;gap:8px;padding:6px 8px;margin-bottom:2px;border-radius:4px;line-height:1.4;transition:background .2s}.log-entry:hover{background:#2d2d2d}.log-entry.info{border-left:3px solid #2196F3}.log-entry.warn{border-left:3px solid #FFC107;background:#ffc1070d}.log-entry.error{border-left:3px solid #f44336;background:#f443360d}.log-entry.success{border-left:3px solid #4CAF50;background:#4caf500d}.log-time{color:#888;font-size:.85em;min-width:80px;flex-shrink:0}.log-icon{flex-shrink:0}.log-message{flex:1;word-break:break-word}.graph-section{margin:20px 0;padding:20px;background:#f9f9f9;border-radius:8px;border:1px solid #e0e0e0}.graph-section h4{margin:0 0 15px;color:#333;font-size:1.1em}.graph-container{display:flex;justify-content:center;overflow-x:auto;padding:10px;background:#fff;border-radius:6px}.graph-svg{max-width:100%;height:auto}.graph-info{margin-top:10px;padding:10px;background:#fff3cd;border:1px solid #ffc107;border-radius:6px;font-size:.9em;color:#856404;text-align:center}.graph-info strong{color:#664d03}@media(max-width:768px){.realtime-session-monitor{padding:15px}.graph-section h4{font-size:.9rem!important}.graph-info{font-size:.65rem!important}.graph-container{overflow-x:auto;overflow-y:hidden}.graph-svg{min-width:100%;height:auto!important;max-height:200px!important}.current-stats-grid{grid-template-columns:1fr 1fr!important;gap:.5rem!important}.stat-box{padding:.5rem!important;gap:.4rem!important}.stat-icon{font-size:1rem!important}.stat-value{font-size:.9rem!important}.stat-label{font-size:.65rem!important}.monitor-header{flex-direction:column;align-items:flex-start}.monitor-status{width:100%;justify-content:space-between;font-size:.75rem!important}.logs-container{height:200px}}.booking-sessions-page{padding:2rem;max-width:1400px;margin:0 auto;overflow-anchor:none}.page-header{margin-bottom:2rem;display:flex;justify-content:space-between;align-items:flex-start;gap:2rem}.page-header h1{font-size:2rem;color:#fff;margin:0 0 .5rem}.page-subtitle{color:#aaa;font-size:.95rem;margin:0}.sync-btn{padding:.7rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;border-radius:8px;cursor:pointer;font-weight:600;font-size:.9rem;transition:all .2s;white-space:nowrap}.sync-btn:hover{transform:translateY(-2px);box-shadow:0 6px 12px #667eea66}.sync-btn:active{transform:translateY(0)}.filters{display:flex;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}.filter-btn{padding:.6rem 1.2rem;background:#2a2a2a;border:2px solid #444;color:#fff;border-radius:8px;cursor:pointer;font-weight:500;transition:all .2s}.filter-btn:hover{background:#333;border-color:#666}.filter-btn.active{background:#4caf50;border-color:#4caf50}.loading,.empty-state{text-align:center;padding:4rem 2rem;color:#aaa}.empty-state p{font-size:1.2rem;margin:.5rem 0}.empty-subtitle{font-size:.95rem;color:#777}.bookings-list{display:flex;flex-direction:column;gap:1.5rem}.booking-card{background:#2a2a2a;border:1px solid #444;border-radius:12px;padding:1.5rem;transition:all .2s}.booking-card:hover{border-color:#666;box-shadow:0 4px 12px #0000004d}.booking-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #444}.booking-info{flex:1}.booking-title{display:flex;align-items:center;gap:1rem;margin:0 0 .75rem;flex-wrap:wrap}.target-url{color:#4caf50;font-size:1.1rem;font-weight:600;word-break:break-all}.status-badge{padding:.35rem .8rem;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-active{background:#4caf50;color:#fff}.status-completed{background:#2196f3;color:#fff}.status-cancelled{background:#666;color:#fff}.status-approved{background:#ff9800;color:#fff}.status-default{background:#555;color:#fff}.booking-meta{display:flex;gap:1.5rem;flex-wrap:wrap;color:#aaa;font-size:.9rem}.booking-meta span{display:flex;align-items:center;gap:.3rem}.booking-details{display:flex;flex-direction:column;gap:1.5rem}.slots-summary h4,.execution-history h4{color:#fff;margin:0 0 1rem;font-size:1rem}.slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.slot-item{background:#1a1a1a;border:1px solid #333;border-radius:8px;padding:1rem}.slot-time{color:#4caf50;font-weight:600;margin-bottom:.5rem;font-size:.95rem}.slot-details{color:#aaa;font-size:.85rem}.execution-history{background:#1a1a1a;border:1px solid #333;border-radius:8px;padding:1.25rem}.execution-item{background:#222;border:1px solid #444;border-radius:8px;padding:1rem;margin-bottom:1rem}.execution-item:last-child{margin-bottom:0}.execution-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.execution-slot{color:#fff;font-weight:600;font-size:.95rem}.execution-status{padding:.25rem .6rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.execution-status.running{background:#ff9800;color:#fff}.execution-status.success{background:#4caf50;color:#fff}.execution-status.failed{background:#f44336;color:#fff}.execution-details{display:flex;flex-direction:column;gap:.75rem}.execution-time,.execution-stats{display:flex;gap:1.5rem;flex-wrap:wrap;font-size:.85rem;color:#aaa}.slot-bot-breakdown{display:flex;gap:1rem;align-items:center;padding:.75rem;background:#1a1a1a;border:1px solid #333;border-radius:6px;font-size:.85rem;margin-top:.5rem}.slot-bot-breakdown .breakdown-title{color:#4caf50;font-weight:600;margin-right:.5rem}.slot-bot-breakdown span:not(.breakdown-title){color:#aaa;display:flex;align-items:center;gap:.25rem}.execution-error{color:#f44336;font-size:.85rem;background:#f443361a;padding:.5rem;border-radius:4px;border-left:3px solid #f44336}.current-session{background:linear-gradient(135deg,#4caf501a,#4caf500d);border:1px solid rgba(76,175,80,.3);border-radius:8px;padding:1rem}.completed-session{background:linear-gradient(135deg,#2196f31a,#2196f30d);border:1px solid rgba(33,150,243,.3);border-radius:8px;padding:1rem;margin-top:1rem}.session-indicator{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;color:#4caf50;font-weight:600}.session-indicator.completed{color:#2196f3}.pulse-dot{width:10px;height:10px;background:#4caf50;border-radius:50%;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}.session-stats{display:flex;gap:1.5rem;flex-wrap:wrap;font-size:.9rem;color:#ccc;margin-bottom:1rem}.session-stats span{display:flex;align-items:center;gap:.3rem}.dashboard-link{margin:1rem 0;padding:1rem;background:linear-gradient(135deg,#667eea1a,#764ba21a);border:1px solid rgba(102,126,234,.3);border-radius:8px;display:flex;flex-direction:column;gap:.5rem}.view-dashboard-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;text-decoration:none;border-radius:6px;font-weight:600;font-size:.95rem;transition:all .2s;width:fit-content}.view-dashboard-btn:hover{transform:translateY(-2px);box-shadow:0 6px 12px #667eea66}.link-hint{color:#888;font-size:.85rem;font-style:italic}.admin-controls{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(76,175,80,.2)}.admin-btn{padding:.6rem 1rem;border:none;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.4rem}.admin-btn:hover{transform:translateY(-1px);box-shadow:0 4px 8px #0000004d}.admin-btn:active{transform:translateY(0)}.stop-btn{background:#f44336;color:#fff}.stop-btn:hover{background:#d32f2f}.adjust-btn{background:#2196f3;color:#fff}.adjust-btn:hover{background:#1976d2}.add-btn{background:#4caf50;color:#fff}.add-btn:hover{background:#388e3c}.remove-btn{background:#ff9800;color:#fff}.remove-btn:hover{background:#f57c00}.modal-overlay{position:fixed;inset:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:1rem}.modal-content{background:#2a2a2a;border:1px solid #444;border-radius:12px;padding:2rem;max-width:450px;width:100%;box-shadow:0 10px 40px #00000080}.modal-content h3{margin:0 0 1.5rem;color:#fff;font-size:1.3rem}.modal-content p{color:#ccc;margin:.5rem 0;font-size:.95rem}.modal-content .warning-text{color:#ff9800;font-weight:600;margin-top:1rem}.input-group{margin:1.5rem 0}.input-group label{display:block;color:#ccc;margin-bottom:.5rem;font-size:.9rem;font-weight:500}.input-group input{width:100%;padding:.75rem;background:#1a1a1a;border:2px solid #444;border-radius:6px;color:#fff;font-size:1rem;transition:border-color .2s}.input-group input:focus{outline:none;border-color:#667eea}.modal-actions button{flex:1;padding:.75rem 1.5rem;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s;font-size:.95rem}.btn-cancel{background:#444;color:#fff}.btn-cancel:hover{background:#555}.btn-confirm{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-confirm:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}@media(max-width:768px){.booking-sessions-page{padding:1rem max(1rem,env(safe-area-inset-left)) 1rem max(1rem,env(safe-area-inset-right))}.booking-sessions-page svg{display:none!important}.page-header{flex-direction:column;gap:1rem}.page-header h1{font-size:1.3rem}.page-subtitle{font-size:.8rem}.sync-btn{width:100%;padding:.6rem 1.2rem;font-size:.85rem}.filters{gap:.5rem}.filter-btn{padding:.5rem .9rem;font-size:.8rem}.booking-card{padding:1rem}.booking-header{flex-direction:column;gap:1rem}.booking-title{flex-direction:column;align-items:flex-start;gap:.5rem}.target-url{font-size:.95rem;word-break:break-all}.status-badge{padding:.3rem .7rem;font-size:.7rem}.booking-meta,.execution-time,.execution-stats,.session-stats{flex-direction:column;gap:.5rem;font-size:.75rem}.execution-stats span,.session-stats span{font-size:.75rem}.slots-grid{grid-template-columns:1fr;gap:.75rem}.slot-item{padding:.75rem}.slot-time{font-size:.85rem}.slot-details{font-size:.75rem}.execution-item{padding:.875rem}.execution-slot{font-size:.85rem}.execution-status{font-size:.7rem;padding:.2rem .5rem}.dashboard-link{padding:.75rem}.view-dashboard-btn{padding:.6rem 1.2rem;font-size:.85rem;width:100%;justify-content:center}.link-hint{font-size:.7rem}.session-controls{flex-direction:column;gap:.5rem}.session-controls button{width:100%;font-size:.8rem;padding:.5rem 1rem}}@media(max-width:480px){.booking-sessions-page{padding:.75rem max(.75rem,env(safe-area-inset-left)) .75rem max(.75rem,env(safe-area-inset-right))}.page-header h1{font-size:1.1rem}.sync-btn{font-size:.8rem;padding:.55rem 1rem}.filter-btn{padding:.45rem .8rem;font-size:.75rem}.booking-card{padding:.875rem}.target-url{font-size:.85rem}.booking-meta,.execution-time,.execution-stats,.session-stats{font-size:.7rem}.slot-time{font-size:.8rem}.slot-details{font-size:.7rem}.view-dashboard-btn{font-size:.8rem}.modal-content{padding:1.5rem;max-width:90%}.modal-content h3{font-size:1.1rem}.modal-actions{flex-direction:column}.modal-actions button{width:100%}}@media(max-width:480px){.modal-content{padding:1.25rem}.modal-content h3{font-size:1rem}.modal-content p,.input-group label{font-size:.85rem}.input-group input{padding:.65rem;font-size:.9rem}}.booking-dashboard{padding:2rem;max-width:1400px;margin:0 auto;background:#0a0a0a;min-height:100vh}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid #333}.dashboard-header h1{font-size:2rem;color:#fff;margin:0 0 .5rem}.session-info{color:#aaa;font-size:1rem;margin:.5rem 0}.session-mode{color:#888;font-size:.9rem;margin:0}.session-link{margin:.75rem 0 0}.main-dashboard-link{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;text-decoration:none;border-radius:6px;font-size:.9rem;font-weight:500;transition:all .2s;border:1px solid rgba(255,255,255,.1)}.main-dashboard-link:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66;border-color:#ffffff4d}.status-badge{padding:.75rem 1.5rem;border-radius:8px;font-weight:600;font-size:1.1rem}.status-badge[data-status=active]{background:#4caf5033;color:#4caf50;border:2px solid #4CAF50}.status-badge[data-status=completed],.status-badge[data-status=cancelled]{background:#80808033;color:#888;border:2px solid #555}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:linear-gradient(135deg,#1a1a1a,#2d2d2d);border:1px solid #333;border-radius:12px;padding:1.5rem;display:flex;align-items:center;gap:1rem;transition:transform .2s}.stat-card:hover{transform:translateY(-3px);border-color:#667eea}.stat-icon{font-size:2.5rem}.stat-content{flex:1}.stat-label{color:#888;font-size:.85rem;margin-bottom:.3rem}.stat-value{color:#fff;font-size:2rem;font-weight:700}.bot-types{background:#1a1a1a;border:1px solid #333;border-radius:12px;padding:1.5rem;margin-bottom:2rem}.bot-types h3{color:#fff;margin:0 0 1rem;font-size:1.2rem}.type-breakdown{display:flex;flex-direction:column;gap:1rem}.type-item{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:#222;border-radius:8px;border:1px solid #444}.type-label{color:#ccc;font-size:1rem;font-weight:500}.type-value{color:#fff;font-size:1.5rem;font-weight:700;margin-left:auto;margin-right:1rem}.type-percent{color:#667eea;font-size:1rem;font-weight:600;min-width:50px;text-align:right}.performance-section{background:#1a1a1a;border:1px solid #333;border-radius:12px;padding:1.5rem;margin-bottom:2rem}.performance-section h3{color:#fff;margin:0 0 1rem;font-size:1.2rem}.chart-container{background:#0f0f0f;border-radius:8px;padding:1rem}.logs-section{background:#1a1a1a;border:1px solid #333;border-radius:12px;padding:1.5rem;margin-bottom:2rem}.logs-section h3{color:#fff;margin:0 0 1rem;font-size:1.2rem}.logs-container{background:#0f0f0f;border-radius:8px;padding:1rem;max-height:400px;overflow-y:auto;overflow-anchor:none;font-family:Courier New,monospace;position:relative}.logs-container::-webkit-scrollbar{width:8px}.logs-container::-webkit-scrollbar-track{background:#1a1a1a;border-radius:4px}.logs-container::-webkit-scrollbar-thumb{background:#444;border-radius:4px}.logs-container::-webkit-scrollbar-thumb:hover{background:#555}.no-logs{color:#666;text-align:center;padding:2rem;font-style:italic}.log-entry{padding:.5rem;border-left:3px solid;margin-bottom:.5rem;display:flex;gap:1rem;font-size:.9rem}.log-info{border-color:#2196f3;background:#2196f31a}.log-success{border-color:#4caf50;background:#4caf501a}.log-warn{border-color:#ff9800;background:#ff98001a}.log-error{border-color:#f44336;background:#f443361a}.log-time{color:#888;white-space:nowrap}.log-message{color:#ccc;flex:1}.memory-section{background:#1a1a1a;border:1px solid #333;border-radius:12px;padding:1.5rem}.memory-section h3{color:#fff;margin:0 0 1rem;font-size:1.2rem}.memory-bar{width:100%;height:30px;background:#0f0f0f;border-radius:15px;overflow:hidden;margin-bottom:.5rem}.memory-fill{height:100%;background:linear-gradient(90deg,#4caf50,#8bc34a 50%,#ffc107,#ff5722);transition:width .3s ease}.memory-text{text-align:center;color:#aaa;font-size:.9rem}.loading,.error{text-align:center;padding:3rem;color:#888;font-size:1.2rem}.admin-monitor-page{padding:2rem;max-width:1400px;margin:0 auto}.monitor-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #e0e0e0}.monitor-header h1{margin:0;font-size:1.8rem;color:#333;flex:1;text-align:center}.control-buttons{display:flex;gap:.5rem;align-items:center}.control-buttons button{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;transition:all .2s;white-space:nowrap}.btn-primary{background:#28a745;color:#fff}.btn-primary:hover{background:#218838}.btn-warning{background:#ffc107;color:#333}.btn-warning:hover{background:#e0a800}.btn-info{background:#17a2b8;color:#fff}.btn-info:hover{background:#138496}.btn-danger{background:#dc3545;color:#fff}.btn-danger:hover{background:#c82333}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover{background:#5a6268}.back-btn{padding:.5rem 1rem;background:#6c757d;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background .2s}.back-btn:hover{background:#5a6268}.refresh-btn{padding:.5rem 1rem;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background .2s}.refresh-btn:hover{background:#0056b3}.monitor-content{display:flex;flex-direction:column;gap:2rem}.stats-section h2{margin-bottom:1rem;color:#333;font-size:1.3rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.stat-card{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;gap:.5rem}.stat-card.success{background:#d4edda;border-left:4px solid #28a745}.stat-card.error{background:#f8d7da;border-left:4px solid #dc3545}.stat-label{font-size:.85rem;color:#666;font-weight:500}.stat-value{font-size:2rem;font-weight:700;color:#333}.bots-section h2{margin-bottom:1rem;color:#333;font-size:1.3rem}.no-bots{padding:2rem;text-align:center;background:#f8f9fa;border-radius:8px;color:#666}.bots-table-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow-x:auto}.bots-table{width:100%;border-collapse:collapse}.bots-table thead{background:#f8f9fa}.bots-table th{padding:1rem;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #dee2e6}.bots-table td{padding:.75rem 1rem;border-bottom:1px solid #dee2e6}.bots-table tbody tr:hover{background:#f8f9fa}.session-id{font-family:monospace;font-size:.85rem;color:#666}.bot-status{padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:500}.bot-status.running{background:#d4edda;color:#155724}.bot-status.finished{background:#cce5ff;color:#004085}.bot-status.failed{background:#f8d7da;color:#721c24}.proxy-info{font-size:.85rem;color:#666;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.system-section h2{margin-bottom:1rem;color:#333;font-size:1.3rem}.system-info{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;gap:1rem}.info-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid #f0f0f0}.info-row:last-child{border-bottom:none}.info-label{font-weight:500;color:#666}.info-value{color:#333;font-weight:600}.info-value.active{color:#28a745}.info-value.inactive{color:#dc3545}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 4px 6px #0000001a;min-width:400px;max-width:500px}.modal-content h2{margin:0 0 1rem;color:#333}.modal-content p{margin:0 0 1rem;color:#666}.modal-input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;margin-bottom:1rem;box-sizing:border-box}.modal-actions{display:flex;gap:.5rem;justify-content:flex-end}.modal-actions button{padding:.75rem 1.5rem;border:none;border-radius:4px;cursor:pointer;font-size:1rem;transition:all .2s}.loading{text-align:center;padding:3rem;font-size:1.2rem;color:#666}.error-message{text-align:center;padding:3rem;background:#f8d7da;border-radius:8px;color:#721c24}.error-message h2{margin-bottom:1rem}.error-message button{margin-top:1rem;padding:.5rem 1.5rem;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer}.error-message button:hover{background:#0056b3}@media(max-width:768px){.admin-monitor-page{padding:1rem}.monitor-header{flex-direction:column;gap:1rem;align-items:stretch}.monitor-header h1{font-size:1.4rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.bots-table{font-size:.85rem}.bots-table th,.bots-table td{padding:.5rem}}.admin-system-monitor{padding:2rem;max-width:1400px;margin:0 auto}.monitor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #e2e8f0}.monitor-header h1{margin:0;font-size:2rem;color:#1a202c}.monitor-controls{display:flex;gap:1rem;align-items:center}.monitor-controls label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.monitor-controls select{padding:.5rem;border:1px solid #cbd5e0;border-radius:4px;background:#fff}.btn-refresh{padding:.5rem 1rem;background:#4299e1;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background .2s}.btn-refresh:hover{background:#3182ce}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.stat-card.full-width{grid-column:1 / -1}.stat-card h3{margin:0 0 1rem;font-size:1.25rem;color:#2d3748;border-bottom:2px solid #e2e8f0;padding-bottom:.5rem}.stat-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid #f7fafc}.stat-row:last-child{border-bottom:none}.stat-row span{color:#718096}.stat-row strong{color:#2d3748}.progress-container{margin-bottom:1rem}.progress-label{display:flex;justify-content:space-between;margin-bottom:.5rem}.progress-bar{height:24px;background:#e2e8f0;border-radius:12px;overflow:hidden;position:relative}.progress-fill{height:100%;transition:width .3s ease;display:flex;align-items:center;justify-content:flex-end;padding-right:8px;color:#fff;font-weight:700;font-size:.875rem}.progress-fill.status-healthy{background:linear-gradient(90deg,#48bb78,#38a169)}.progress-fill.status-warning{background:linear-gradient(90deg,#ed8936,#dd6b20)}.progress-fill.status-critical{background:linear-gradient(90deg,#f56565,#e53e3e)}.progress-details{margin-top:.25rem;font-size:.875rem;color:#718096;text-align:center}.status-healthy{color:#38a169!important}.status-warning{color:#dd6b20!important}.status-critical{color:#e53e3e!important}.status-green{color:#38a169!important}.status-red{color:#e53e3e!important}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:700;text-transform:uppercase}.status-badge.status-green{background:#c6f6d5;color:#22543d}.status-badge.status-yellow{background:#feebc8;color:#744210}.status-badge.status-red{background:#fed7d7;color:#742a2a}.limits-editor{display:flex;flex-direction:column;gap:1rem}.input-group{display:flex;flex-direction:column;gap:.25rem}.input-group label{font-size:.875rem;color:#4a5568;font-weight:500}.input-group input{padding:.5rem;border:1px solid #cbd5e0;border-radius:4px;font-size:1rem}.button-group{display:flex;gap:.5rem;margin-top:.5rem}.btn-edit,.btn-save,.btn-cancel{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;transition:all .2s;font-weight:500}.btn-edit{background:#4299e1;color:#fff;width:100%;margin-top:1rem}.btn-edit:hover{background:#3182ce}.btn-save{flex:1;background:#48bb78;color:#fff}.btn-save:hover{background:#38a169}.btn-cancel{flex:1;background:#e2e8f0;color:#4a5568}.btn-cancel:hover{background:#cbd5e0}.managers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.manager-card{background:#f7fafc;border-radius:8px;padding:1rem;border:1px solid #e2e8f0}.manager-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid #e2e8f0}.manager-header h4{margin:0;font-size:1.125rem;color:#2d3748}.status-dot{width:12px;height:12px;border-radius:50%;display:inline-block}.status-dot.running{background:#48bb78;box-shadow:0 0 8px #48bb7899;animation:pulse 2s infinite}.status-dot.stopped{background:#cbd5e0}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.manager-stats{margin-bottom:.75rem}.manager-stats .stat-row{padding:.25rem 0;font-size:.875rem}.resource-status{background:#fff;border-radius:6px;padding:.75rem;margin-top:.75rem}.status-header{margin-bottom:.5rem;text-align:center}.recommendation{margin-top:.75rem;padding:.5rem;border-radius:4px;font-size:.75rem;line-height:1.4}.recommendation-ok{background:#c6f6d5;color:#22543d}.recommendation-warning{background:#feebc8;color:#744210}.recommendation-critical{background:#fed7d7;color:#742a2a}.monitor-footer{display:flex;justify-content:space-between;padding-top:1rem;border-top:1px solid #e2e8f0;color:#718096;font-size:.875rem}.loading,.error,.no-data{text-align:center;padding:2rem;color:#718096}.error{color:#e53e3e}@media(max-width:768px){.admin-system-monitor{padding:1rem}.monitor-header{flex-direction:column;align-items:flex-start;gap:1rem}.stats-grid,.managers-grid{grid-template-columns:1fr}.monitor-footer{flex-direction:column;gap:.5rem}}.chaturbate-proxy-page{padding:20px;height:calc(100vh - 60px);display:flex;flex-direction:column;align-items:center;justify-content:center}.proxy-loading{text-align:center;padding:40px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;box-shadow:0 8px 16px #0003}.proxy-loading h2{margin:0 0 15px;font-size:28px}.proxy-loading p{margin:0;font-size:16px;opacity:.9}.banned-accounts-page{padding:20px;max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.page-header h1{margin:0;font-size:28px;color:#333}.refresh-btn{padding:10px 20px;background:#4caf50;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:14px;transition:background .3s}.refresh-btn:hover:not(:disabled){background:#45a049}.refresh-btn:disabled{opacity:.6;cursor:not-allowed}.error-banner{padding:15px;background:#ffebee;color:#c62828;border-radius:5px;margin-bottom:20px;border-left:4px solid #c62828}.stats-bar{display:flex;gap:15px;margin-bottom:20px;flex-wrap:wrap}.stat-item{background:#fff;padding:15px 20px;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;gap:5px}.stat-label{font-size:12px;color:#666;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:24px;font-weight:700;color:#333}.actions-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:15px;flex-wrap:wrap}.search-input{flex:1;min-width:250px;padding:10px 15px;border:1px solid #ddd;border-radius:5px;font-size:14px}.download-buttons{display:flex;gap:10px}.download-btn{padding:10px 15px;background:#2196f3;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:14px;transition:background .3s}.download-btn:hover:not(:disabled){background:#1976d2}.download-btn:disabled{opacity:.5;cursor:not-allowed}.loading-spinner{text-align:center;padding:40px;font-size:18px;color:#666}.empty-state{text-align:center;padding:60px 20px;background:#fff;border-radius:8px;font-size:18px;color:#4caf50;box-shadow:0 2px 4px #0000001a}.banned-accounts-table{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.banned-accounts-table table{width:100%;border-collapse:collapse}.banned-accounts-table thead{background:#f5f5f5}.banned-accounts-table th{padding:12px 15px;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #ddd;font-size:13px;text-transform:uppercase;letter-spacing:.5px}.banned-accounts-table tbody tr{border-bottom:1px solid #eee;transition:background .2s}.banned-accounts-table tbody tr:hover{background:#fafafa}.banned-accounts-table td{padding:12px 15px;font-size:14px;color:#666}.username-cell strong{color:#333;font-size:15px}.date-cell{color:#777;font-size:13px}.reason-cell{max-width:300px;color:#d32f2f;font-size:13px}.source-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;text-transform:capitalize}.source-badge.bot_manager{background:#e3f2fd;color:#1976d2}.source-badge.database_logs{background:#fff3e0;color:#f57c00}.source-badge.session_file{background:#f3e5f5;color:#7b1fa2}.unban-btn{padding:6px 16px;background:#4caf50;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:600;transition:all .2s}.unban-btn:hover:not(:disabled){background:#45a049;transform:translateY(-1px);box-shadow:0 2px 4px #0003}.unban-btn:disabled{opacity:.6;cursor:not-allowed}.no-results{text-align:center;padding:40px;color:#999;font-style:italic}@media(max-width:1200px){.banned-accounts-table{overflow-x:auto}.banned-accounts-table table{min-width:900px}}@media(max-width:768px){.page-header{flex-direction:column;align-items:flex-start;gap:10px}.actions-bar{flex-direction:column;align-items:stretch}.search-input{width:100%}.download-buttons{width:100%;flex-direction:column}.download-btn{width:100%}}.modal-overlay{position:fixed;inset:0;background:#000000b3;z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center}.password-modal{position:relative;top:auto;left:auto;transform:none;background:#fff;border-radius:16px;padding:2rem;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;z-index:10001;box-shadow:0 20px 60px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.modal-header h2{margin:0;font-size:1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.modal-close{background:none;border:none;font-size:2rem;cursor:pointer;color:#999;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s}.modal-close:hover{background:#f0f0f0;color:#333}.password-form .form-group{margin-bottom:1.25rem}.password-form label{display:block;margin-bottom:.5rem;font-weight:600;color:#333;font-size:.9rem}.password-form input{width:100%;padding:.75rem 1rem;border:2px solid #e0e0e0;border-radius:10px;font-size:14px;transition:all .3s}.password-form input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.modal-actions{display:flex;gap:1rem;margin-top:2rem}.btn-cancel,.btn-submit{flex:1;padding:.75rem 1.5rem;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s;border:none}.btn-cancel{background:#f0f0f0;color:#666}.btn-cancel:hover{background:#e0e0e0}.btn-submit{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #667eea66}.btn-submit:disabled{opacity:.6;cursor:not-allowed}@media(max-width:640px){.password-modal{padding:1.5rem}.modal-actions{flex-direction:column}}.navbar{position:fixed;top:0;left:0;right:0;background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 10px #0000001a;z-index:1000;height:70px;padding-top:env(safe-area-inset-top)}.navbar-container{max-width:1400px;margin:0 auto;padding:0 max(2rem,env(safe-area-inset-left)) 0 max(2rem,env(safe-area-inset-right));height:100%;display:flex;align-items:center;justify-content:space-between}.navbar-container>div:first-child{display:flex;align-items:center;gap:2rem}.navbar-logo{font-size:1.5rem;font-weight:700;color:#fff;text-decoration:none;display:flex;align-items:center;gap:.5rem}.navbar-menu{display:flex;gap:2rem;align-items:center;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.navbar-menu::-webkit-scrollbar{display:none}.nav-link{color:#ffffffe6;text-decoration:none;font-weight:500;transition:all .3s ease;position:relative}.nav-link:hover{color:#fff}.nav-link:after{content:"";position:absolute;bottom:-5px;left:0;width:0;height:2px;background:#fff;transition:width .3s ease}.nav-link:hover:after{width:100%}.nav-link-primary{background:#fff;color:#667eea;padding:.5rem 1.25rem;border-radius:8px;text-decoration:none;font-weight:600;transition:all .3s ease}.nav-link-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.navbar-user{display:flex;align-items:center;gap:1rem;position:relative}.user-info{display:flex;flex-direction:column;align-items:flex-end;color:#fff}.user-name{font-weight:600;font-size:.95rem}.user-role{font-size:.75rem;opacity:.8;text-transform:uppercase;letter-spacing:.5px}.avatar{width:40px;height:40px;border-radius:50%;background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid white;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;font-size:.9rem;cursor:pointer;transition:all .3s ease}.avatar:hover{background:#ffffff4d;transform:scale(1.1)}.profile-dropdown{position:absolute;top:calc(100% + 1rem);right:0;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;min-width:280px;overflow:hidden;z-index:1000}.dropdown-header{padding:1.25rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;gap:1rem;align-items:center}.dropdown-avatar{width:50px;height:50px;border-radius:50%;background:#fff3;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;border:2px solid rgba(255,255,255,.5)}.dropdown-info{flex:1}.dropdown-name{font-weight:700;font-size:1.1rem;margin-bottom:.25rem}.dropdown-email{font-size:.85rem;opacity:.9;margin-bottom:.5rem}.dropdown-role-badge{display:inline-block;background:#fff3;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;border:1px solid rgba(255,255,255,.3)}.dropdown-divider{height:1px;background:#e0e0e0}.dropdown-item{width:100%;padding:.875rem 1.25rem;background:none;border:none;text-align:left;cursor:pointer;font-size:.95rem;color:#333;display:flex;align-items:center;gap:.75rem;transition:all .2s}.dropdown-item:hover{background:#f5f5f5}.dropdown-icon{font-size:1.2rem}.logout-item{color:#d32f2f}.logout-item:hover{background:#ffebee}.logout-btn{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-weight:500;transition:all .3s ease;display:none}.logout-btn:hover{background:#ffffff4d;transform:translateY(-2px)}body{padding-top:calc(70px + env(safe-area-inset-top))}@media(max-width:768px){.navbar{height:auto;min-height:90px}body{padding-top:calc(90px + env(safe-area-inset-top))}.navbar-container{padding:.5rem max(1rem,env(safe-area-inset-left)) .5rem max(1rem,env(safe-area-inset-right));flex-direction:column;gap:.5rem}.navbar-container>div:first-child{width:100%;display:flex;justify-content:space-between;align-items:center}.navbar-menu{width:100%;justify-content:flex-start;gap:.5rem;padding-bottom:.5rem;padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right));flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scroll-behavior:auto;position:relative;-webkit-user-select:none;user-select:none;scrollbar-width:none;-ms-overflow-style:none}.navbar-menu::-webkit-scrollbar{display:none}.navbar-menu>div{display:inline-block}.nav-link,.nav-link-primary{font-size:.75rem;padding:.4rem .7rem;white-space:nowrap;flex-shrink:0}.user-info{display:none}.navbar-logo{font-size:1rem}.avatar{width:34px;height:34px;font-size:.8rem}.navbar-menu:after{width:30px;background:linear-gradient(to right,transparent,rgba(102,126,234,.4))}}@supports (padding-top: env(safe-area-inset-top)){body{padding-top:calc(85px + env(safe-area-inset-top))}.navbar-container{padding:.4rem max(.5rem,env(safe-area-inset-left)) .4rem max(.5rem,env(safe-area-inset-right))}.navbar-menu{gap:.3rem;flex-wrap:nowrap;padding-left:max(.5rem,env(safe-area-inset-left));padding-right:max(.5rem,env(safe-area-inset-right))}.nav-link,.nav-link-primary{font-size:.65rem;padding:.3rem .5rem;white-space:nowrap;flex-shrink:0}.navbar-logo{font-size:.85rem}.avatar{width:30px;height:30px;font-size:.7rem}.role-badge{font-size:.6rem;padding:.1rem .35rem}.logout-btn{display:none}.profile-dropdown{right:max(.5rem,env(safe-area-inset-right));width:calc(100vw - max(1rem,env(safe-area-inset-left)) - max(1rem,env(safe-area-inset-right)));max-width:280px}.dropdown-header{padding:.875rem}.dropdown-item{padding:.65rem .875rem;font-size:.85rem}}
