*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.login-form{background:#fff;padding:2rem;border-radius:10px;box-shadow:0 10px 25px #0000001a;width:100%;max-width:400px}.login-form h1{text-align:center;margin-bottom:1rem;color:#333;font-size:1.5rem}.login-form p{text-align:center;margin-bottom:2rem;color:#666}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;color:#333;font-weight:500}.form-group input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:5px;font-size:1rem;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea33}.error-message{background:#fee;color:#c33;padding:.75rem;border-radius:5px;margin-bottom:1rem;border:1px solid #fcc}.login-button{width:100%;padding:.75rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:5px;font-size:1rem;cursor:pointer;transition:transform .2s}.login-button:hover{transform:translateY(-1px);box-shadow:0 5px 15px #0003}.backup-details{background:#fff;border-radius:8px;padding:24px;margin:16px 0;box-shadow:0 2px 8px #0000001a}.backup-details h3{color:#2c3e50;margin-bottom:20px;border-bottom:2px solid #3498db;padding-bottom:10px}.backup-summary{background:#f8f9fa;padding:16px;border-radius:6px;margin-bottom:24px}.backup-summary p{margin:0;color:#495057;font-weight:500}.database-selection h4{color:#2c3e50;margin-bottom:16px}.database-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-bottom:24px}.database-card{border:2px solid #dee2e6;border-radius:8px;padding:16px;cursor:pointer;transition:all .2s ease;background:#fff}.database-card:hover:not(.disabled){border-color:#3498db;transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.database-card.selected{border-color:#3498db;background:#e3f2fd}.database-card.disabled{opacity:.6;cursor:not-allowed;background:#f8f9fa}.database-card h5{color:#2c3e50;margin:0 0 12px;font-size:16px;font-weight:600}.backup-info p{margin:6px 0;font-size:14px;color:#6c757d}.backup-info strong{color:#495057}.selected-backup-info{background:#e8f5e8;border:1px solid #28a745;border-radius:8px;padding:20px;margin-top:24px}.selected-backup-info h4{color:#155724;margin-bottom:16px}.backup-details-card{background:#fff;padding:16px;border-radius:6px;margin-bottom:20px;border-left:4px solid #28a745}.backup-details-card p{margin:8px 0;color:#495057}.restore-action{text-align:center;margin:24px 0}.restore-button{background:#28a745;color:#fff;border:none;padding:14px 32px;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer;transition:background-color .2s}.restore-button:hover:not(:disabled){background:#218838}.restore-button:disabled{background:#6c757d;cursor:not-allowed}.warning-info{background:#fff3cd;border:1px solid #ffeaa7;border-radius:6px;padding:16px;margin-top:20px}.warning-info h5{color:#856404;margin-bottom:12px;font-size:14px}.warning-info ul{margin:0;padding-left:20px;color:#856404}.warning-info li{margin:6px 0;font-size:13px}.loading{text-align:center;padding:40px;color:#6c757d;font-style:italic}.error-message{background:#f8d7da;color:#721c24;padding:12px 16px;border-radius:6px;border:1px solid #f5c6cb;text-align:center}@media(max-width:768px){.database-grid{grid-template-columns:1fr}.backup-details{padding:16px;margin:12px 0}.restore-button{width:100%;padding:16px}}.restore-container{min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#c3cfe2)}.restore-header{background:#fff;padding:1rem 2rem;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;align-items:center}.restore-header h1{margin:0;color:#333;font-size:1.5rem}.logout-button{padding:.5rem 1rem;background:#dc3545;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:.9rem;transition:background-color .2s}.logout-button:hover{background:#c82333}.restore-form{max-width:600px;margin:2rem auto;padding:0 1rem}.form-section{background:#fff;margin-bottom:2rem;padding:1.5rem;border-radius:10px;box-shadow:0 2px 10px #0000001a}.form-section h2{margin:0 0 1rem;color:#333;font-size:1.2rem;border-bottom:2px solid #f0f0f0;padding-bottom:.5rem}.database-selection{display:grid;gap:.75rem}.database-option{display:flex;align-items:center;padding:.75rem;border:1px solid #ddd;border-radius:5px;cursor:pointer;transition:all .2s}.database-option:hover{background:#f8f9fa;border-color:#667eea}.database-option input[type=radio]{margin-right:.75rem;transform:scale(1.2)}.database-option input[type=radio]:checked+span{color:#667eea;font-weight:600}.date-select{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:5px;font-size:1rem;background:#fff}.date-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea33}.loading{text-align:center;padding:1rem;color:#666;font-style:italic}.message{padding:1rem;border-radius:5px;margin:1rem 0;border-left:4px solid}.message-success{background:#d4edda;color:#155724;border-left-color:#28a745}.message-error{background:#f8d7da;color:#721c24;border-left-color:#dc3545}.message-info{background:#d1ecf1;color:#0c5460;border-left-color:#17a2b8}.restore-button{width:100%;padding:1rem;font-size:1.1rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .3s;background:linear-gradient(135deg,#28a745,#20c997);color:#fff}.restore-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #28a7454d}.restore-button:disabled{background:#6c757d;cursor:not-allowed;transform:none;box-shadow:none}.restore-button.loading{background:#17a2b8;position:relative;overflow:hidden}.restore-button.loading:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:loading-wave 1.5s infinite}@keyframes loading-wave{0%{left:-100%}to{left:100%}}.info-section{background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;padding:1.5rem}.info-section h3{margin:0 0 1rem;color:#856404;font-size:1.1rem}.info-section ul{margin:0;color:#856404;line-height:1.6}.info-section li{margin-bottom:.5rem}@media(max-width:768px){.restore-header{flex-direction:column;gap:1rem;text-align:center}.restore-form{margin:1rem auto;padding:0 .5rem}.form-section{padding:1rem}}.App{min-height:100vh}
