.qsd-app,.qsd-upload{font-family:system-ui,-apple-system,Segoe UI,sans-serif;border:1px solid #e5e7eb;border-radius:16px;padding:16px;background:#fff;color:#111827}.qsd-toolbar{display:flex;gap:8px;align-items:center;margin-bottom:14px;flex-wrap:wrap}.qsd-toolbar input{min-width:220px;flex:1;padding:9px 12px;border:1px solid #d1d5db;border-radius:10px}.qsd-toolbar button,.qsd-actions button,.qsd-actions a,.qsd-upload button{border:1px solid #d1d5db;background:#f9fafb;border-radius:10px;padding:8px 12px;cursor:pointer;text-decoration:none;color:#111827}.qsd-toolbar button:hover,.qsd-actions button:hover,.qsd-actions a:hover,.qsd-upload button:hover{background:#eef2ff}.qsd-status{color:#6b7280;margin:8px 0}.qsd-files.qsd-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}.qsd-files.qsd-list{display:flex;flex-direction:column;gap:8px}.qsd-file{display:flex;gap:12px;border:1px solid #e5e7eb;border-radius:14px;padding:12px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.04)}.qsd-file-icon{font-size:30px;line-height:1}.qsd-file-main{min-width:0;flex:1}.qsd-file-main strong{display:block;word-break:break-word}.qsd-file-main small{display:block;color:#6b7280;margin-top:4px}.qsd-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.qsd-modal{position:fixed;inset:0;background:rgba(0,0,0,.64);z-index:99999;padding:32px}.qsd-modal-box{position:relative;background:#fff;border-radius:18px;max-width:1100px;height:88vh;margin:0 auto;padding:18px}.qsd-close{position:absolute;right:14px;top:10px;border:0;background:#111827;color:#fff;border-radius:999px;width:32px;height:32px;font-size:20px;cursor:pointer}.qsd-preview{height:100%;padding-top:28px}.qsd-preview iframe{width:100%;height:100%;border:0}.qsd-preview img{max-width:100%;max-height:100%;display:block;margin:auto}.qsd-preview audio{width:100%;margin-top:20px}.qsd-upload{margin:16px 0}.qsd-upload input{margin-right:8px}.qsd-upload-status{margin-top:8px;color:#6b7280}@media(max-width:640px){.qsd-modal{padding:8px}.qsd-modal-box{height:94vh}.qsd-files.qsd-grid{grid-template-columns:1fr}}
.qsd-breadcrumb{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:10px 0;color:#64748b}.qsd-breadcrumb button{border:1px solid #e2e8f0;background:#fff;border-radius:8px;padding:6px 10px;cursor:pointer}.qsd-thumb{width:46px;height:46px;object-fit:cover;border-radius:10px;border:1px solid #e2e8f0}.qsd-admin-browser-note{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:12px;margin:14px 0}.qsd-alert{padding:12px 14px;border-radius:12px;margin:12px 0}.qsd-alert-error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}
.qsd-single{border:1px solid #e5e7eb;border-radius:16px;background:#fff;padding:16px;margin:16px 0}.qsd-single h3{margin:0 0 12px}.qsd-single iframe{width:100%;min-height:720px;border:1px solid #e5e7eb;border-radius:12px}.qsd-single audio,.qsd-single video{width:100%;border-radius:12px}.qsd-single-image{max-width:100%;height:auto;border-radius:12px;display:block}.qsd-download{display:inline-block;margin-top:8px;border:1px solid #cbd5e1;border-radius:10px;padding:8px 12px;text-decoration:none}.qsd-pdf iframe{background:#f8fafc}@media(max-width:768px){.qsd-single iframe{min-height:520px}}

/* Qnet Storage Drive 1.2.7 Smart Media Platform */
.qsd-toolbar select{border:1px solid #d8e0ec;border-radius:10px;padding:10px;background:#fff}
.qsd-thumb{width:100%;height:130px;object-fit:cover;border-radius:10px;background:#f1f5f9}
.qsd-type-audio .qsd-file-icon,.qsd-type-video .qsd-file-icon,.qsd-type-pdf .qsd-file-icon{background:#f8fafc;border-radius:12px;padding:22px;text-align:center}
.qsd-viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#111827;color:#fff;border-radius:14px 14px 0 0;padding:12px 14px}
.qsd-viewer-toolbar a,.qsd-viewer-toolbar button{color:#fff;border:1px solid rgba(255,255,255,.45);background:transparent;border-radius:8px;padding:8px 10px;text-decoration:none;cursor:pointer}
.qsd-pdf-wrap{position:relative;border:1px solid #e2e8f0;border-top:0;border-radius:0 0 14px 14px;overflow:hidden;background:#111827}
.qsd-pdf-wrap iframe{width:100%;height:760px;border:0;display:block;background:#222}
.qsd-watermark{position:absolute;inset:auto 20px 20px auto;z-index:2;font-size:24px;font-weight:800;color:rgba(0,0,0,.12);transform:rotate(-20deg);pointer-events:none;background:rgba(255,255,255,.15);padding:8px 12px;border-radius:8px}
.qsd-waveform{height:72px;border:1px solid #e2e8f0;border-radius:12px;background:linear-gradient(180deg,#f8fafc,#fff);display:flex;align-items:center;padding:10px;margin:10px 0}
.qsd-wave-bars{display:flex;gap:4px;align-items:center;width:100%;height:100%}.qsd-wave-bars span{flex:1;background:linear-gradient(180deg,#7c3aed,#4f46e5);border-radius:6px;opacity:.85;min-width:2px}
.qsd-audio audio,.qsd-video video{width:100%;border-radius:12px}.qsd-video video{background:#111827;max-height:720px}
.qsd-modal:not([hidden]){position:fixed;z-index:999999;inset:0;background:rgba(15,23,42,.75);display:flex;align-items:center;justify-content:center;padding:24px}
.qsd-modal-box{width:min(1180px,96vw);height:min(860px,94vh);background:#fff;border-radius:18px;padding:18px;overflow:auto;box-shadow:0 20px 70px rgba(0,0,0,.35)}
.qsd-modal-box iframe{width:100%;height:720px;border:0}.qsd-modal-box img{max-width:100%;height:auto}.qsd-modal-box audio,.qsd-modal-box video{width:100%}
.qsd-close,.qsd-fullscreen{float:right;margin-left:8px;border:1px solid #d6deea;background:#fff;border-radius:8px;padding:8px 12px;cursor:pointer}
.qsd-single:fullscreen,.qsd-modal-box:fullscreen{background:#fff;padding:24px;overflow:auto}.qsd-single:fullscreen iframe{height:calc(100vh - 120px)}


/* QSD 1.2.10 CRITICAL LAYOUT FIX */
.qsd-page * { box-sizing: border-box !important; }
.qsd-page .qsd-browser-grid,
.qsd-page #qsd-drive-browser .qsd-browser-grid,
#qsd-drive-browser .qsd-browser-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important;
  gap: 18px !important;
  align-items: stretch !important;
  width: 100% !important;
}
.qsd-page .qsd-file-card,
#qsd-drive-browser .qsd-file-card {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  overflow: hidden !important;
  padding: 14px !important;
  border: 1px solid #dfe7f1 !important;
  border-radius: 14px !important;
  background: #fff !important;
}
.qsd-page .qsd-file-card img,
#qsd-drive-browser .qsd-file-card img {
  width: 100% !important;
  height: 135px !important;
  object-fit: cover !important;
  border-radius: 10px !important;
  display: block !important;
}
.qsd-page .qsd-file-name,
#qsd-drive-browser .qsd-file-name,
.qsd-page .qsd-public-file strong,
.qsd-public-file strong {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  line-height: 1.35 !important;
  letter-spacing: normal !important;
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
  font-size: 14px !important;
}
.qsd-page .qsd-file-meta,
#qsd-drive-browser .qsd-file-meta {
  display: block !important;
  width: 100% !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  color: #64748b !important;
  font-size: 12px !important;
}
.qsd-page .qsd-file-actions,
#qsd-drive-browser .qsd-file-actions {
  margin-top: auto !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-items: center !important;
}
.qsd-page .qsd-file-actions .qsd-btn,
.qsd-page .qsd-file-actions button,
.qsd-page .qsd-file-actions a,
#qsd-drive-browser .qsd-file-actions .qsd-btn,
#qsd-drive-browser .qsd-file-actions button,
#qsd-drive-browser .qsd-file-actions a {
  display: inline-flex !important;
  width: auto !important;
  min-width: auto !important;
  max-width: none !important;
  white-space: nowrap !important;
  writing-mode: horizontal-tb !important;
  padding: 8px 10px !important;
  font-size: 12px !important;
}
.qsd-settings-panel .qsd-switch-line {
  display: block !important;
  margin: 12px 0 !important;
  font-size: 15px !important;
}
.qsd-success-box {
  background: #dcfce7 !important;
  border: 1px solid #86efac !important;
  color: #166534 !important;
  padding: 10px 12px !important;
  border-radius: 8px !important;
  margin: 12px 0 !important;
}
.qsd-input-small { max-width: 420px !important; }
@media(max-width:900px){
  .qsd-page .qsd-browser-grid,
  #qsd-drive-browser .qsd-browser-grid { grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)) !important; }
}
