body { font-family: 'Inter', sans-serif; background-color: #0F172A; }
.main-container { background-color: #1E293B; border: 1px solid #334155; }
.tool-card {
    background-color: #334155;
    transition: all 0.3s ease;
    border: 1px solid #475569;
    position: relative;
    overflow: hidden;
}
.tool-card:hover { transform: translateY(-5px); border-color: #7C3AED; }
.drop-zone { border: 2px dashed #475569; transition: all 0.3s; }
.drop-zone.drag-over { background-color: rgba(99, 102, 241, 0.2); border-color: #6366F1; }
.usage-counter { position: absolute; bottom: 0; right: 0; background-color: rgba(124, 58, 237, 0.8); color: white; padding: 2px 8px; border-top-left-radius: 0.5rem; font-size: 0.75rem; }
.progress-bar-container { height: 4px; background-color: #334155; border-radius: 9999px; overflow: hidden; }
.progress-bar { height: 100%; background-color: #6366F1; width: 0%; transition: width 0.3s ease; }
.progress-bar.processing {
    background-image: linear-gradient(
        45deg,
        rgba(255,255,255,.15) 25%,
        transparent 25%,
        transparent 50%,
        rgba(255,255,255,.15) 50%,
        rgba(255,255,255,.15) 75%,
        transparent 75%,
        transparent);
    background-size: 1rem 1rem;
    animation: progress-bar-stripes 1s linear infinite;
}
@keyframes progress-bar-stripes { from { background-position: 1rem 0; } to { background-position: 0 0; } }
.hidden { display: none !important; }

/* --- Styles for the new PDF Organizer --- */
.page-preview-container { touch-action: none; }
.page-preview { position: relative; transition: transform 0.2s; border: 3px solid transparent; border-radius: 0.375rem; }
.page-preview.dragging { opacity: 0.5; transform: scale(1.05); }
.page-preview.selected { border-color: #818cf8; background-color: #3730a3; }
.page-preview.deleted { opacity: 0.5; }
.page-preview.deleted .page-preview-img { filter: grayscale(80%); }
.page-preview.deleted::after { content: 'DELETED'; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%) rotate(-10deg); color: white; background: rgba(239, 68, 68, 0.7); padding: 0.25rem 0.75rem; border-radius: 0.25rem; font-weight: bold; font-size: 0.75rem; }
.page-preview-checkbox { position: absolute; top: 0.5rem; left: 0.5rem; width: 1.25rem; height: 1.25rem; }
.page-preview-img { transition: transform 0.3s ease; width: 100%; height: auto; display: block; }

/* Contextual Action Bar */
#organise-action-bar {
    transition: opacity 0.3s, transform 0.3s;
    transform: translateY(100%);
    opacity: 0;
    pointer-events: none;
}
#organise-action-bar.visible {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
}
.action-bar-btn {
    background-color: #4f46e5; color: white; font-weight: 600; padding: 0.75rem 1.25rem; border-radius: 0.5rem;
    display: inline-flex; align-items: center; gap: 0.5rem; transition: background-color 0.2s;
}
.action-bar-btn:hover { background-color: #4338ca; }
.action-bar-btn.delete { background-color: #be123c; }
.action-bar-btn.delete:hover { background-color: #9f1239; }