/* B2B 云盘基础样式（配合 Tailwind CDN） */
html { -webkit-text-size-adjust: 100%; }

.flash-success { background: #ecfdf5; color: #047857; border:1px solid #a7f3d0; }
.flash-error   { background: #fef2f2; color: #b91c1c; border:1px solid #fecaca; }
.flash-info    { background: #eff6ff; color: #1d4ed8; border:1px solid #bfdbfe; }

.file-row:hover { background: #f8fafc; }
.file-row.selected { background: #eef2ff; }

.icon-btn { display:inline-flex; align-items:center; gap:4px; padding:4px 8px; font-size:13px; border-radius:6px; color:#475569; }
.icon-btn:hover { background:#f1f5f9; }

/* dialog 遮罩 */
.dialog-mask { position: fixed; inset: 0; background: rgba(15,23,42,.45); display:none; align-items:flex-start; justify-content:center; z-index:60; overflow:auto; padding: 6vh 16px; }
.dialog-mask.open { display:flex; }

/* toast */
#toast-zone { position: fixed; top: 16px; right: 16px; z-index: 80; display: flex; flex-direction: column; gap: 8px; }
.toast { padding: 10px 16px; border-radius: 8px; font-size: 14px; box-shadow: 0 6px 18px rgba(0,0,0,.15); display:flex; align-items:center; gap:8px; }
.toast-success { background:#065f46; color:#fff; }
.toast-error { background:#991b1b; color:#fff; }
.toast-info { background:#1e3a8a; color:#fff; }

/* 拖动高亮 */
body.drop-zone-active { outline: 4px dashed #6366f1; outline-offset: -4px; }

/* 进度条动画 */
@keyframes flow { from { background-position: 0 0; } to { background-position: 24px 0; } }
.progress-striped { background-image: linear-gradient(45deg, rgba(255,255,255,.25) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.25) 50%, rgba(255,255,255,.25) 75%, transparent 75%); background-size: 24px 24px; animation: flow 1s linear infinite; }

@media (max-width: 768px) {
  .hide-sm { display:none !important; }
}
