.config-selection { padding-top: 0; padding-left: 1rem; padding-right: 1rem; } @media (min-width: 768px) { .config-selection { padding-left: 1.5rem; padding-right: 1.5rem; } } .add-config-button { background: transparent; border: 2px dashed #3498db; border-radius: 12px; padding: 1.5rem 1rem; transition: transform 0.2s, box-shadow 0.2s, background-color 0.2s; display: flex; flex-direction: column; justify-content: center; align-items: center; cursor: pointer; min-height: 180px; position: relative; } .add-config-button:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(52, 152, 219, 0.3); background-color: rgba(52, 152, 219, 0.05); border-color: #2980b9; } .add-config-icon { font-size: 3rem; font-weight: bold; color: #3498db; margin-bottom: auto; display: flex; align-items: center; justify-content: center; flex: 1; line-height: 1; } .add-config-text { font-size: 1rem; font-weight: 500; color: #3498db; text-align: center; margin-top: auto; padding-top: 0.5rem; } .loading, .error-message { text-align: center; padding: 2rem; color: #666; } .error-message { color: #e74c3c; background-color: #f8d7da; border: 1px solid #f5c6cb; border-radius: 4px; } .empty-state { text-align: center; padding: 3rem; color: #666; } .configs-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 1rem; } .config-card { background: #3498db; border-radius: 12px; padding: 1.5rem 1rem; transition: transform 0.2s, box-shadow 0.2s; display: flex; flex-direction: column; justify-content: center; align-items: center; cursor: pointer; min-height: 180px; position: relative; } .card-menu-button { position: absolute; top: 0.5rem; right: 0; background: transparent; border: none; border-radius: 6px; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; cursor: pointer; font-size: 1.75rem; color: white; font-weight: bold; transition: all 0.2s; z-index: 10; padding: 0; line-height: 1; } .card-menu-button:hover { opacity: 0.8; transform: scale(1.1); } .config-card:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(52, 152, 219, 0.4); } .config-words-count { font-size: 2.5rem; font-weight: bold; color: white; margin-bottom: auto; display: flex; align-items: center; justify-content: center; flex: 1; } .config-max-cards { font-size: 1.5rem; font-weight: 500; color: rgba(255, 255, 255, 0.8); display: flex; align-items: center; justify-content: center; margin-top: -1rem; margin-bottom: auto; } .config-name { font-size: 1rem; font-weight: 500; color: white; text-align: center; margin-top: auto; padding-top: 0.5rem; } .config-modal-overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background-color: rgba(0, 0, 0, 0.5); display: flex; align-items: center; justify-content: center; z-index: 1000; } .config-modal { background: white; border-radius: 12px; padding: 0; max-width: 400px; width: 90%; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3); animation: modalSlideIn 0.2s ease-out; } @keyframes modalSlideIn { from { transform: translateY(-20px); opacity: 0; } to { transform: translateY(0); opacity: 1; } } .config-modal-header { display: flex; justify-content: center; align-items: center; padding: 1.5rem 1.5rem 0.5rem 1.5rem; position: relative; } .config-modal-header h3 { margin: 0; color: #2c3e50; font-size: 1.75rem; text-align: center; } .config-modal-close:hover { background-color: #f0f0f0; } .config-modal-actions { display: flex; flex-direction: column; gap: 0.75rem; padding: 0.5rem 1.5rem 1.5rem 1.5rem; } .config-modal-edit, .config-modal-delete { width: 100%; padding: 0.75rem 1.5rem; border: none; border-radius: 6px; font-size: 1rem; font-weight: 500; cursor: pointer; transition: all 0.2s; } .config-modal-edit { background-color: #3498db; color: white; } .config-modal-edit:hover { background-color: #2980b9; transform: translateY(-1px); } .config-modal-delete { background-color: #e74c3c; color: white; } .config-modal-delete:hover { background-color: #c0392b; transform: translateY(-1px); } .section-divider { margin: 0.5rem 0 1rem 0; padding-bottom: 0.75rem; border-bottom: 2px solid #e0e0e0; } .section-title { margin: 0; font-size: 1.25rem; font-weight: 600; color: #2c3e50; } .dictionaries-section { margin-top: 2rem; } .dictionary-card { background: white; border: 1px solid #ddd; border-radius: 12px; padding: 1.5rem 1rem; transition: transform 0.2s, box-shadow 0.2s; display: flex; flex-direction: column; justify-content: center; align-items: center; cursor: pointer; min-height: 180px; position: relative; } .dictionary-card .card-menu-button { background: transparent; color: #2c3e50; } .dictionary-card .card-menu-button:hover { opacity: 0.7; } .dictionary-card:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); } .dictionary-words-count { font-size: 2.5rem; font-weight: bold; color: #2c3e50; margin-bottom: auto; display: flex; align-items: center; justify-content: center; flex: 1; } .dictionary-name { font-size: 1rem; font-weight: 500; color: #2c3e50; text-align: center; margin-top: auto; padding-top: 0.5rem; } .add-dictionary-button { background: transparent; border: 2px dashed #2c3e50; border-radius: 12px; padding: 1.5rem 1rem; transition: transform 0.2s, box-shadow 0.2s, background-color 0.2s; display: flex; flex-direction: column; justify-content: center; align-items: center; cursor: pointer; min-height: 180px; position: relative; } .add-dictionary-button:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(44, 62, 80, 0.2); background-color: rgba(44, 62, 80, 0.05); border-color: #1a252f; } .add-dictionary-button .add-config-icon { color: #000000; } .add-dictionary-button .add-config-text { color: #000000; }