body{background:#f6f8fb}
.hero{background:linear-gradient(135deg,#111827,#334155);color:#fff;padding:90px 0;border-radius:28px}
.card-soft{border:0;border-radius:22px;box-shadow:0 10px 30px rgba(15,23,42,.08)}
.folder-tile{display:flex;align-items:center;gap:1rem;padding:1rem;border:1px solid #e5e7eb;border-radius:18px;background:#fff;text-decoration:none;color:#111827}
.folder-icon{font-size:2rem;color:#f59e0b}
.preview-card img{height:220px;object-fit:cover;border-radius:16px}
.license-sheet{background:white;border:1px solid #ddd;box-shadow:0 10px 30px rgba(0,0,0,.08);max-width:900px;margin:auto;padding:40px}
.code-box{font-family:monospace;font-size:2rem;letter-spacing:4px;padding:20px;border:2px dashed #0d6efd;border-radius:18px;background:#f8fbff;text-align:center}
.circle-wrap{width:140px;height:140px;border-radius:50%;background:conic-gradient(#0d6efd var(--deg), #e9ecef 0)}
.circle-inner{width:106px;height:106px;background:white;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700}
.loader-screen{position:fixed;inset:0;background:rgba(15,23,42,.72);backdrop-filter: blur(3px);display:flex;align-items:center;justify-content:center;z-index:2000}
.loader-box{background:#fff;padding:32px;border-radius:24px;min-width:320px;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.watermark-note{font-size:.85rem;color:#6b7280}
.upload-status-card{border:1px solid #e5e7eb;border-radius:18px;background:#fff;padding:1rem}
.mini-progress{height:10px}.upload-log{max-height:260px;overflow:auto}.upload-row{display:flex;justify-content:space-between;gap:1rem;padding:.45rem 0;border-bottom:1px solid #f1f5f9}.upload-row:last-child{border-bottom:0}.status-chip{font-size:.75rem;padding:.2rem .55rem;border-radius:999px;background:#eef2ff;color:#3730a3}.hint-box{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:18px;padding:.9rem}.folder-tile.openable:hover{border-color:#cbd5e1;box-shadow:0 8px 20px rgba(15,23,42,.06)}
.modal .modal-body img{max-width:95vw;max-height:90vh;width:auto;height:auto;object-fit:contain;display:block;margin:auto}
