.container { max-width: 1000px; margin: 0 auto; padding: 20px; } header { border-bottom: 1px solid #ccc; padding-bottom: 15px; margin-bottom: 20px; } header h1 { margin: 0 0 10px 0; font-size: 1.5rem; } nav { display: flex; gap: 15px; } nav a { text-decoration: none; color: #0066cc; font-size: 0.9rem; } nav a.active { font-weight: bold; text-decoration: underline; } main h2 { margin-bottom: 15px; } footer { margin-top: 40px; padding-top: 15px; border-top: 1px solid #ccc; font-size: 0.8rem; color: #666; } .status-card { background: #f5f5f5; padding: 20px; border-radius: 8px; border-left: 4px solid #00c467; margin-bottom: 15px; } .status-message { background: #e8f4fd; padding: 10px; border-radius: 4px; margin: 5px 0; } pre.code-block { background: #f5f5f5; padding: 15px; border-radius: 4px; overflow-x: auto; white-space: pre-wrap; word-break: break-word; } /* Tables */ .library-table { width: 100%; border-collapse: collapse; margin-top: 10px; } .library-table th, .library-table td { padding: 10px; text-align: left; border-bottom: 1px solid #ddd; } .library-table th { background: #f5f5f5; font-weight: bold; } /* Forms */ form input[type="text"], form textarea, form select { padding: 8px; border: 1px solid #ccc; border-radius: 4px; margin-right: 10px; margin-bottom: 10px; } button { background: #0066cc; color: white; border: none; padding: 10px 20px; border-radius: 4px; cursor: pointer; } button:hover { background: #0055aa; } /* Upload form */ .upload-form, .search-form, .sync-form { max-width: 600px; } /* Search results */ .results-count { background: #e8f4fd; padding: 10px; border-radius: 4px; margin-bottom: 15px; } .result-card { background: #fff; border: 1px solid #ddd; padding: 15px; margin: 10px 0; border-radius: 4px; } .result-card h3 { margin: 0 0 8px 0; } /* Results box */ .results-box { max-height: 600px; overflow-y: auto; } .results-box .new-search-link { display: block; text-align: center; margin-top: 15px; } /* Source cards */ .source-cards { display: grid; gap: 10px; } .source-card { background: #f5f5f5; padding: 15px; border-radius: 4px; border-left: 4px solid #666; } .status-message code { background: #333; color: #fff; padding: 2px 6px; border-radius: 3px; } .hint { color: #666; font-size: 0.85rem; margin-top: 15px; } .results-box .error { color: #cc0000; font-weight: bold; } .source-list, .source-cards, pre { white-space: normal; } /* Status cards grid */ .status-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 15px; margin-bottom: 20px; } .status-card h3 { margin: 0 0 8px 0; font-size: 0.9rem; color: #555; } .status-card p { margin: 0; font-size: 1.2rem; font-weight: bold; } /* Message box */ .message-box { background: #e8f4fd; padding: 12px; border-radius: 6px; margin-bottom: 20px; border-left: 4px solid #3b82f6; } /* Action buttons */ .action-buttons { display: flex; gap: 15px; margin-bottom: 20px; } .btn { padding: 10px 20px; border: none; border-radius: 4px; cursor: pointer; text-decoration: none; display: inline-block; font-size: 0.9rem; } .btn-primary { background: #00c467; color: white; } .btn-primary:hover { background: #00a855; } .btn-secondary { background: #2563eb; color: white; } .btn-secondary:hover { background: #1d4ed8; } /* Links section */ .links-section h2 { font-size: 1rem; margin-bottom: 10px; } .links-section a { color: #0066cc; text-decoration: none; padding: 5px 10px; } .links-section a:hover { text-decoration: underline; } /* Create library form */ .create-form { background: #f9f9f9; padding: 15px; border-radius: 6px; margin-bottom: 20px; border-left: 4px solid #00c467; } .create-form label { display: block; margin-bottom: 8px; font-weight: bold; color: #333; } .create-form input[type="text"] { width: 100%; padding: 8px; margin-bottom: 12px; border: 1px solid #ccc; border-radius: 4px; box-sizing: border-box; } /* Table actions column */ .actions { white-space: nowrap; } /* Button sizes */ .btn-sm { padding: 5px 12px; font-size: 0.8rem; } /* Additional action button colors */ .btn-info { background: #17a2b8; color: white; } .btn-info:hover { background: #138496; } .btn-warning { background: #ffc107; color: black; } .btn-warning:hover { background: #ffa000; } .btn-danger { background: #dc3545; color: white; } .btn-danger:hover { background: #c82333; } .btn-primary { background: #007bff; color: white; } .btn-primary:hover { background: #0056b3; } /* Highlight row for popular libraries */ tr.highlight { background: #f0fdf4; } /* Upload form specific styles */ #library_id, #files { width: 100%; padding: 8px; border: 1px solid #ccc; border-radius: 4px; margin-bottom: 12px; box-sizing: border-box; } #files { font-family: sans-serif; } /* Results box for upload */ .result-box { background: #fff; border: 1px solid #ddd; border-radius: 4px; padding: 10px; margin-top: 20px; min-height: 100px; } .result-box.error { border-color: #dc3545; background: #fff5f5; } /* Result items */ .result-item { padding: 6px; margin: 4px 0; border-radius: 3px; font-family: monospace; font-size: 0.85rem; word-break: break-word; } .result-item.success { background: #d4edda; border-left: 3px solid #28a745; color: #155724; } .result-item.error { background: #f8d7da; border-left: 3px solid #dc3545; color: #721c24; } .result-item.info { background: #d1ecf1; border-left: 3px solid #17a2b8; color: #0c5460; }