.split-pdf-main .card-content {  padding: 1rem;  text-align: center; }

.split-pdf-main .title { font-size: 1.875rem; font-weight: 700; color: #1e293b; margin-bottom: 0.5rem; }
.split-pdf-main .subtitle { color: #64748b; margin-bottom: 2rem; }
.split-pdf-main #drop-zone svg { width: 5rem; height: 5rem; color: #94a3b8; }

.split-pdf-main #drop-zone { border: 2px dashed #cbd5e1; border-radius: 0.75rem; padding: 2.5rem; cursor: pointer; transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out; }
.split-pdf-main #drop-zone.drag-over { background-color: #e2e8f0; border-color: #94a3b8; }
.split-pdf-main #drop-zone:hover { background-color: #e2e8f0; border-color: #94a3b8; }
.split-pdf-main .drop-zone-content { display: flex; flex-direction: column; align-items: center; }
.split-pdf-main .drop-zone-icon { width: 4rem; height: 4rem; color: #94a3b8; margin-bottom: 1rem; }
.split-pdf-main p { margin-bottom: 5px; }
.split-pdf-main .drop-zone-text-main { font-size: 1.125rem; font-weight: 600; color: #334155; }
.split-pdf-main .drop-zone-text-sub { color: #64748b; margin-top: 0.25rem; }

.split-pdf-main .btn { border: none; cursor: pointer; border-radius: 0.5rem; font-weight: 600; transition: all 0.2s ease-in-out; padding: 0.5rem 1rem; }
.split-pdf-main .btn-primary { margin-top: 1rem; background-color: #2563eb; color: #ffffff; box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1); }
.split-pdf-main .btn-primary:hover { background-color: #1d4ed8; }
.split-pdf-main .btn-action { margin-top: 1.5rem; width: 100%; background-color: #16a34a; color: #ffffff; font-weight: 700; padding: 0.75rem 0; }
.split-pdf-main .btn-action:hover { background-color: #15803d; }
.split-pdf-main .btn-secondary { width: 100%; background-color: #e2e8f0; color: #334155; font-weight: 700; padding: 0.75rem 0; }
.split-pdf-main .btn-secondary:hover { background-color: #cbd5e1; }
.split-pdf-main .btn-add-range { background-color: #e2e8f0; color: #334155; }
.split-pdf-main .btn-add-range:hover { background-color: #cbd5e1; }
.split-pdf-main .btn-remove-range { background: none; color: #ef4444; font-size: 1.25rem; padding: 0.25rem; }
.split-pdf-main #download-zip-btn { width: 100%; background-color: #ea580c; color: white; margin-bottom: 1rem; padding: 0.75rem; }
.split-pdf-main #download-zip-btn:hover { background-color: #c2410c; }

.split-pdf-main #options-container { margin-top: 1.5rem; text-align: left; }
.split-pdf-main #file-info { margin-bottom: 1.5rem; background-color: #d4e7f9; padding: 1rem; border-radius: 0.5rem; }
.split-pdf-main #file-name { font-weight: 500; color: #1e293b; }
.split-pdf-main #page-count { font-size: 0.875rem; color: #475569; }

.split-pdf-main .mode-selection { display: flex; border: 1px solid #90b5d7; border-radius: 0.5rem; margin-bottom: 1.5rem; }
.split-pdf-main .mode-option { flex: 1; }
.split-pdf-main .mode-option label { display: block; padding: 1rem; cursor: pointer; text-align: center; border-radius: 0.5rem; font-weight: 500; color: #475569; }
.split-pdf-main .mode-option input:checked + label { background-color: #2563eb; color: white; }

.split-pdf-main .sub-option-container label { display: block; border-radius: 0.5rem; padding: 1rem; cursor: pointer; border: 2px solid #e2e8f0; transition: all 0.2s ease-in-out; margin-bottom: 0.5rem; }
.split-pdf-main .sub-option-container input:checked + label { border-color: #2563eb; background-color: #eff6ff; }
.split-pdf-main .sub-option-title { font-weight: 600; color: #334155; }
.split-pdf-main .sub-option-desc { display: block; font-size: 0.875rem; color: #64748b; }

.split-pdf-main #page-grid-container { display: grid; grid-template-columns: repeat(auto-fill, minmax(80px, 1fr)); gap: 1rem; margin-top: 1rem; max-height: 300px; overflow-y: auto; padding: 0.5rem; background-color: #f8fafc; border-radius: 0.5rem; }
.split-pdf-main .page-item { border: 2px solid #cbd5e1; border-radius: 0.5rem; padding: 0.5rem; cursor: pointer; text-align: center; background-color: white; }
.split-pdf-main .page-item.selected { border-color: #2563eb; background-color: #eff6ff; }
.split-pdf-main .page-item-number { font-weight: 600; }

.split-pdf-main .range-row { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.75rem; }
.split-pdf-main .range-row input { width: 60px; border: 1px solid #cbd5e1; border-radius: 0.5rem; padding: 0.5rem; text-align: center; }
.split-pdf-main #merge-ranges-container { margin-top: 1.5rem; display: flex; align-items: center; }
.split-pdf-main #merge-ranges-checkbox { width: 1rem; height: 1rem; margin-right: 0.5rem; }

.split-pdf-main .loader { border: 4px solid #f3f4f6; border-top: 4px solid #3b82f6; border-radius: 50%; width: 40px; height: 40px; animation: spin 1s linear infinite; }
@keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
.split-pdf-main .processing-state-content { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 16rem; }
.split-pdf-main .processing-state-text { font-size: 1.25rem; font-weight: 600; color: #334155; margin-top: 1.5rem; }

.split-pdf-main #download-links-container { margin: 1.5rem 0; max-height: 250px; overflow-y: auto; background-color: #f1f5f9; border-radius: 0.5rem; padding: 1rem; text-align: left; }
.split-pdf-main .download-link { display: block; padding: 0.5rem; color: #1d4ed8; text-decoration: none; border-radius: 0.25rem; }
.split-pdf-main .download-link:hover { background-color: #dbeafe; }

.split-pdf-main footer { text-align: center; margin-top: 0.5rem; font-size: 0.875rem; color: #94a3b8; }

.split-pdf-main .hidden { display: none !important; }
.split-pdf-main .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0; }
