.database-view{padding:20px}.database-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;flex-wrap:wrap;gap:15px}.database-header h2{margin:0;color:#2c3e50}.database-actions{display:flex;gap:10px;flex-wrap:wrap}.btn{padding:10px 20px;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:#6c757d;color:#fff}.btn-info{background:#17a2b8;color:#fff}.btn-warning{background:#ffc107;color:#000}.btn-danger{background:#dc3545;color:#fff}.btn-sm{padding:6px 12px;font-size:12px}.alert{padding:15px;border-radius:6px;margin-bottom:20px}.alert-success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.alert-error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.database-stats{background:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 4px #0000001a}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.stat-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:25px;border-radius:12px;box-shadow:0 4px 6px #0000001a}.stat-card.success{background:linear-gradient(135deg,#11998e,#38ef7d)}.stat-card.failure{background:linear-gradient(135deg,#eb3349,#f45c43)}.stat-card.running{background:linear-gradient(135deg,#f093fb,#f5576c)}.stat-card h3{margin:0 0 10px;font-size:14px;font-weight:600;opacity:.9;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:36px;font-weight:700;margin:0}.stats-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.detail-section{background:#f8f9fa;padding:20px;border-radius:8px}.detail-section h3{margin:0 0 15px;color:#2c3e50;font-size:16px;border-bottom:2px solid #e9ecef;padding-bottom:10px}.detail-section p{margin:5px 0;color:#495057}.branch-list,.type-list{list-style:none;padding:0;margin:0}.branch-list li,.type-list li{display:flex;justify-content:space-between;padding:10px;margin-bottom:8px;background:#fff;border-radius:6px;border-left:4px solid #667eea}.branch-name,.type-name{font-weight:500;color:#2c3e50}.branch-count,.type-count{color:#6c757d;font-size:14px}.raw-data-section{margin-top:30px;background:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 4px #0000001a}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-header h3{margin:0;color:#2c3e50}.raw-data-table-container{overflow-x:auto;margin-top:15px}.raw-data-table{width:100%;border-collapse:collapse;font-size:14px}.raw-data-table thead{background:#f8f9fa;position:sticky;top:0}.raw-data-table th{padding:12px 8px;text-align:left;font-weight:600;color:#495057;border-bottom:2px solid #dee2e6;white-space:nowrap}.raw-data-table td{padding:10px 8px;border-bottom:1px solid #e9ecef;color:#212529}.raw-data-table tbody tr:hover{background:#f8f9fa}.status-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:600;text-transform:uppercase}.status-badge.success{background:#d4edda;color:#155724}.status-badge.failure{background:#f8d7da;color:#721c24}.status-badge.running{background:#fff3cd;color:#856404}.loading-state{text-align:center;padding:40px;color:#6c757d;font-size:16px}.login-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000d9;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease-in}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.login-container{width:100%;max-width:450px;padding:20px;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.login-card{background:linear-gradient(145deg,#2a2a2a,#1a1a1a);border:2px solid #444;border-radius:16px;padding:50px 40px;box-shadow:0 20px 60px #0009,0 0 0 1px #ffffff1a;text-align:center;position:relative}.close-btn{position:absolute;top:15px;right:15px;background:transparent;border:none;color:#999;font-size:28px;cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease;line-height:1}.close-btn:hover{background:#ffffff1a;color:#fff;transform:rotate(90deg)}.close-btn:active{transform:scale(.95) rotate(90deg)}.login-card h2{margin:0 0 15px;color:#fff;font-size:28px;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.3)}.login-card p{margin:0 0 35px;color:#bbb;font-size:15px;line-height:1.5}.form-group{margin-bottom:25px}.password-input{width:100%;padding:16px 18px;border:2px solid #555;border-radius:10px;font-size:16px;background-color:#2a2a2a;color:#fff;transition:all .3s ease;box-sizing:border-box;font-family:inherit}.password-input::placeholder{color:#777}.password-input:focus{outline:none;border-color:#4a9eff;background-color:#333;box-shadow:0 0 0 3px #4a9eff33}.password-input:disabled{opacity:.5;cursor:not-allowed}.error-message{background-color:#f44;color:#fff;padding:14px 18px;border-radius:8px;margin-bottom:25px;font-size:14px;font-weight:500;box-shadow:0 4px 12px #ff44444d;animation:shake .4s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.button-group{display:flex;gap:12px;width:100%}.cancel-btn{flex:1;padding:16px;background:transparent;color:#999;border:2px solid #555;border-radius:10px;font-size:17px;font-weight:700;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px}.cancel-btn:hover:not(:disabled){background:#ffffff0d;border-color:#777;color:#ccc}.cancel-btn:disabled{opacity:.5;cursor:not-allowed}.login-btn{flex:1;padding:16px;background:linear-gradient(135deg,#4a9eff,#3b7dcc);color:#fff;border:none;border-radius:10px;font-size:17px;font-weight:700;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 4px 15px #4a9eff4d}.login-btn:hover:not(:disabled){background:linear-gradient(135deg,#3b7dcc,#2a5fa8);transform:translateY(-2px);box-shadow:0 6px 20px #4a9eff66}.login-btn:active:not(:disabled){transform:translateY(0)}.login-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;padding:20px}.container{max-width:1400px;margin:0 auto;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;overflow:hidden}header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:30px;display:flex;justify-content:space-between;align-items:center}header h1{font-size:2rem;font-weight:600}.header-actions{display:flex;align-items:center;gap:15px}.last-update{font-size:.9rem;opacity:.9}.btn{padding:10px 20px;border:none;border-radius:6px;cursor:pointer;font-size:1rem;transition:all .3s}.btn-primary{background:#fff;color:#667eea;font-weight:600}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.btn-success{background:#28a745;color:#fff;font-weight:600}.btn-success:hover{background:#218838;transform:translateY(-2px);box-shadow:0 4px 12px #0003}.btn-secondary{background:#6c757d;color:#fff;font-weight:600}.btn-secondary:hover{background:#5a6268;transform:translateY(-2px);box-shadow:0 4px 12px #0003}.btn-warning{background:#ffc107;color:#212529;font-weight:600}.btn-warning:hover{background:#e0a800;transform:translateY(-2px);box-shadow:0 4px 12px #0003}.poll-message{background:#d4edda;color:#155724;padding:12px 30px;text-align:center;border-bottom:2px solid #c3e6cb;font-weight:500}.tabs{display:flex;background:#f8f9fa;border-bottom:2px solid #e9ecef}.tab-btn{flex:1;padding:15px 20px;background:transparent;border:none;cursor:pointer;font-size:1rem;font-weight:500;color:#6c757d;transition:all .3s}.tab-btn:hover{background:#e9ecef;color:#495057}.tab-btn.active{color:#667eea;background:#fff;border-bottom:3px solid #667eea}.tab-content{padding:30px}.tab-pane{display:none}.tab-pane.active{display:block}.controls{margin-bottom:20px;padding:15px;background:#f8f9fa;border-radius:8px;display:flex;align-items:center;gap:20px}.controls label{font-weight:500;color:#495057}.controls select{margin-left:10px;padding:8px 12px;border:1px solid #ced4da;border-radius:4px;font-size:.95rem}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.builds-container{display:grid;gap:15px}.build-card{background:#f8f9fa;border-radius:8px;padding:20px;border-left:4px solid #6c757d;transition:all .3s}.build-card:hover{transform:translate(5px);box-shadow:0 4px 12px #0000001a}.build-card.success{border-left-color:#28a745}.build-card.failure{border-left-color:#dc3545}.build-card.running{border-left-color:#007bff}.build-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:10px}.build-name{font-size:1.1rem;font-weight:600;color:#212529}.build-status{padding:4px 12px;border-radius:12px;font-size:.85rem;font-weight:600;text-transform:uppercase}.build-status.success{background:#d4edda;color:#155724}.build-status.failure{background:#f8d7da;color:#721c24}.build-status.running{background:#d1ecf1;color:#0c5460}.build-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-top:10px;font-size:.9rem;color:#6c757d}.build-info-item{display:flex;flex-direction:column}.build-info-label{font-weight:600;color:#495057;margin-bottom:2px}.ses-tickets{color:#667eea;font-weight:500;font-family:Courier New,monospace}.projects-container,.build-types-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.project-card,.build-type-card{background:#f8f9fa;border-radius:8px;padding:20px;border-top:4px solid #667eea;transition:all .3s}.project-card:hover,.build-type-card:hover{transform:translateY(-5px);box-shadow:0 8px 16px #0000001a}.project-name,.build-type-name{font-size:1.2rem;font-weight:600;color:#212529;margin-bottom:10px}.project-id,.build-type-id{font-size:.85rem;color:#6c757d;font-family:Courier New,monospace}.loading{text-align:center;padding:60px 20px}.loading.hidden,.error.hidden{display:none}.spinner{border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite;margin:0 auto 20px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error{background:#f8d7da;color:#721c24;padding:20px;margin:20px;border-radius:8px;border-left:4px solid #dc3545}.empty-state{text-align:center;padding:60px 20px;color:#6c757d}.empty-state h3{font-size:1.5rem;margin-bottom:10px}@media (max-width: 768px){header{flex-direction:column;gap:15px;text-align:center}.tabs{flex-direction:column}.build-info,.projects-container,.build-types-container{grid-template-columns:1fr}}
