/* v464.1 split from legacy style.css lines 1733-1960: Media/R2 library, tooltip, and related admin media rules. Preserve order via style.css imports. */
/* v53 — compact Media / R2 library UI */
.media-library-panel .media-title-row{margin-bottom:14px}
.media-r2-card{background:#fff;border:1px solid #ead6e8;border-radius:24px;padding:18px;box-shadow:0 18px 42px rgba(75,15,69,.06);display:grid;gap:16px;margin-bottom:18px}
.media-r2-head{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid #f0e2ee;padding-bottom:14px}
.media-r2-head strong{display:block;color:var(--purple-dark);font-size:17px;margin-bottom:2px}.media-r2-head p{margin:0}.media-save-btn{min-width:150px;white-space:nowrap}
.media-source-grid{display:grid;grid-template-columns:minmax(210px,280px) minmax(260px,1fr);gap:14px;align-items:stretch}
.media-dropzone{border:1.5px dashed #d8b8d5;background:linear-gradient(135deg,#fff,#fbf4fa);border-radius:20px;min-height:118px;padding:16px;display:grid;place-items:center;text-align:center;cursor:pointer;color:var(--purple-dark);transition:.18s;position:relative;overflow:hidden}
.media-dropzone:hover{border-color:var(--purple);box-shadow:0 0 0 4px rgba(121,25,111,.07);transform:translateY(-1px)}
.media-dropzone input{position:absolute;inset:0;opacity:0;cursor:pointer}.media-drop-icon{width:36px;height:36px;border-radius:12px;background:var(--purple-soft);display:grid;place-items:center;color:var(--purple);font-weight:950;font-size:18px}.media-drop-title{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:950;font-size:15px}.media-drop-help{color:var(--muted);font-size:12px;font-weight:700}.media-url-field{align-self:stretch}.media-url-field .input{min-height:48px}.media-url-field .small{margin:0}
.media-settings-grid{display:grid;grid-template-columns:170px minmax(220px,1fr) minmax(220px,1fr);gap:12px;align-items:end}.compact-field{gap:6px}.compact-field label{font-size:12px;letter-spacing:.02em}.compact-field .input,.compact-field .select{height:46px;border-radius:16px;padding:10px 12px}.media-key-field input{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px}
.media-folder-note{display:flex;flex-wrap:wrap;align-items:center;gap:8px;background:#fbf4fa;border:1px solid #efdced;border-radius:16px;padding:10px 12px;color:var(--muted);font-size:12px}.media-folder-note span{font-weight:950;color:var(--purple-dark)}.media-folder-note code{background:#fff;border:1px solid #ead6e8;border-radius:999px;padding:5px 8px;color:var(--purple-dark);font-size:11px;white-space:nowrap}.media-assets-list .table-wrap{border-radius:22px}.media-assets-list code{white-space:normal;word-break:break-all}
@media(max-width:980px){.media-source-grid,.media-settings-grid{grid-template-columns:1fr}.media-r2-head{align-items:stretch;flex-direction:column}.media-save-btn{width:100%}}


/* v54 — R2 folder-style media browser */
.media-browser{background:#fff;border:1px solid #ead6e8;border-radius:24px;padding:16px;box-shadow:0 16px 38px rgba(75,15,69,.05)}
.media-browser-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px;border-bottom:1px solid #f0e2ee;padding-bottom:12px}
.media-browser-head h4{margin:0 0 3px;color:var(--purple-dark);font-size:18px}.media-browser-head p{margin:0}.media-search{max-width:360px;min-height:44px;border-radius:16px}
.media-stat-row{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}.media-stat-row span{background:#fbf4fa;border:1px solid #ead6e8;border-radius:999px;padding:7px 10px;color:#6b4667;font-size:12px}.media-stat-row strong{color:var(--purple-dark)}
.media-folder-list{display:grid;gap:10px}.media-folder-card{border:1px solid #ead6e8;border-radius:18px;background:#fff;overflow:hidden}.media-folder-card[open]{box-shadow:0 12px 30px rgba(75,15,69,.05)}
.media-folder-card summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;cursor:pointer;background:linear-gradient(90deg,#fff,#fff7fd)}.media-folder-card summary::-webkit-details-marker{display:none}.media-folder-card summary:hover{background:#fbf4fa}
.media-folder-title{display:flex;align-items:center;gap:10px;min-width:0}.media-folder-title strong{display:block;color:var(--purple-dark);font-size:13px;max-width:620px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-folder-title small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.media-folder-icon{width:34px;height:34px;border-radius:12px;background:#f4e4f2;display:grid;place-items:center;flex:0 0 34px}
.media-folder-meta{display:flex;align-items:center;gap:8px;flex:0 0 auto}.media-folder-meta span{background:#fff;border:1px solid #ead6e8;border-radius:999px;padding:5px 8px;color:#6b4667;font-size:11px;font-weight:850;white-space:nowrap}
.media-folder-table-wrap{overflow:auto;border-top:1px solid #f0e2ee}.media-folder-table{width:100%;border-collapse:collapse;min-width:920px}.media-folder-table th{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#7b5576;background:#fbf7fb;text-align:left;padding:10px;border-bottom:1px solid #ead6e8}.media-folder-table td{padding:10px;border-bottom:1px solid #f1e4ef;vertical-align:middle;font-size:12px}.media-folder-table tr:last-child td{border-bottom:0}.media-folder-table code{font-size:11px;white-space:normal;word-break:break-all;color:#4b0f45}
.media-file-cell{display:flex;align-items:center;gap:10px;min-width:190px}.media-file-icon{width:32px;height:32px;border-radius:12px;background:#fbf4fa;display:grid;place-items:center;flex:0 0 32px}.media-file-cell strong{display:block;color:#251023;font-size:12px;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-file-cell small{display:block;color:var(--muted);font-size:10px;margin-top:2px}.media-actions{white-space:nowrap}.media-actions .btn{margin-right:4px}.media-empty{border-radius:20px;margin-top:12px}
@media(max-width:980px){.media-browser-head{display:block}.media-search{max-width:100%;margin-top:10px}.media-folder-card summary{align-items:flex-start;flex-direction:column}.media-folder-title strong{max-width:75vw}.media-folder-meta{width:100%;justify-content:flex-start}}

/* v55 — compact R2 media form with hover help instead of long explanations */
.title-with-help{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.title-with-help h3,.title-with-help strong{margin:0}.help-tip{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:999px;background:#f6e6f4;border:1px solid #e6c9e2;color:#79196f;font-size:11px;font-weight:950;line-height:1;cursor:help;vertical-align:middle}.help-tip:hover,.help-tip:focus{background:#79196f;color:#fff;outline:none;box-shadow:0 0 0 4px rgba(121,25,111,.1)}
.compact-media-card{gap:12px;padding:14px 16px}.compact-media-head{padding-bottom:10px}.compact-media-head strong{font-size:16px;margin:0}.media-compact-grid{display:grid;grid-template-columns:minmax(180px,1.1fr) minmax(240px,1.5fr) minmax(130px,.7fr) minmax(170px,1fr) minmax(190px,1fr);gap:10px;align-items:end}.media-compact-grid .field{margin:0}.media-compact-grid label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:900;color:#5b1554;margin-bottom:6px}.media-compact-grid .input,.media-compact-grid .select{height:44px;min-height:44px;border-radius:15px;padding:9px 11px}.media-file-pill{height:44px!important;margin:0!important;border:1px solid #ead6e8;background:#fff;border-radius:15px;padding:0 12px!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:9px;cursor:pointer;position:relative;overflow:hidden;color:#4b0f45}.media-file-pill input{position:absolute;inset:0;opacity:0;cursor:pointer}.media-file-pill .media-drop-icon{width:26px;height:26px;border-radius:9px;font-size:13px;flex:0 0 26px}.media-file-pill .media-drop-title{font-size:13px;max-width:160px}.media-title-row{margin-bottom:10px}.media-library-panel .panel-title{align-items:center}.media-url-field .input{min-height:44px}.media-key-field input{font-family:inherit!important;font-size:13px!important}.media-folder-note,.media-drop-help,.media-url-field .small{display:none!important}
@media(max-width:1180px){.media-compact-grid{grid-template-columns:1fr 1fr}.media-save-btn{min-width:120px}}@media(max-width:720px){.compact-media-head{align-items:stretch;flex-direction:column}.media-compact-grid{grid-template-columns:1fr}.media-save-btn{width:100%}.media-file-pill .media-drop-title{max-width:70vw}}
.media-save-stack{display:grid;gap:8px;min-width:180px}.upload-progress{width:100%;display:grid;gap:5px}.upload-progress[hidden]{display:none!important}.upload-progress-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#5b1554;font-size:12px;font-weight:800}.upload-progress-meta span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-progress-track{height:7px;border-radius:999px;background:#f1e3ef;overflow:hidden;border:1px solid #ead6e8}.upload-progress-track span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#79196f,#c7a45d);transition:width .18s ease}


/* v56 dashboard-wide tooltip polish */
.compact-help-title,
.panel-title.compact-help-title {
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
}
.title-with-help {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.title-with-help h3,
.title-with-help h4,
.title-with-help .studio-kicker {
  margin: 0;
}
.help-tip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background: #f8edf7;
  border: 1px solid rgba(121,25,111,.18);
  color: var(--purple, #79196f);
  font-size: 11px;
  font-weight: 900;
  cursor: help;
  flex: 0 0 auto;
  position: relative;
}
.help-tip:hover::after,
.help-tip:focus-visible::after {
  content: attr(data-tip);
  position: absolute;
  z-index: 1000;
  inset-inline-start: 50%;
  top: calc(100% + 8px);
  transform: translateX(-18%);
  width: min(320px, 80vw);
  padding: 10px 12px;
  border-radius: 14px;
  background: #2b0928;
  color: #fff;
  box-shadow: 0 16px 40px rgba(43,9,40,.22);
  font-size: 12px;
  line-height: 1.5;
  font-weight: 600;
  white-space: normal;
}
.help-tip:hover::before,
.help-tip:focus-visible::before {
  content: '';
  position: absolute;
  z-index: 1001;
  top: calc(100% + 3px);
  inset-inline-start: 50%;
  width: 10px;
  height: 10px;
  transform: rotate(45deg);
  background: #2b0928;
}
.studio-panel > p.muted,
.panel-title p.muted {
  margin: 0;
  font-size: 12px;
  line-height: 1.35;
}
.studio-panel,
.command-card,
.footer-columns-panel,
.footer-text-panel,
.contact-clean-panel {
  overflow: visible;
}
.clean-admin-form,
.compact-form {
  background: #fff;
  border: 1px solid rgba(121,25,111,.10);
  border-radius: 18px;
  padding: 12px;
  gap: 12px;
}
.clean-admin-form .field label,
.compact-form .field label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.neat-table-wrap {
  border-radius: 18px;
  border: 1px solid rgba(121,25,111,.10);
  overflow: auto;
  background: #fff;
}
.neat-table {
  border-collapse: collapse;
  font-size: 13px;
}
.neat-table th {
  position: sticky;
  top: 0;
  background: #fbf5fb;
  z-index: 1;
  font-size: 10px;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: rgba(75,15,69,.62);
}
.neat-table td,
.neat-table th {
  padding: 10px 12px;
  vertical-align: middle;
}
.neat-table td:last-child {
  white-space: nowrap;
}
.neat-table .btn {
  padding: 7px 10px;
  border-radius: 12px;
  margin: 2px;
}
.admin-subtabs,
.role-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 8px;
  border-radius: 18px;
  background: #fff7fd;
  border: 1px solid rgba(121,25,111,.08);
  margin-bottom: 12px;
}
.command-hero .title-with-help {
  margin-bottom: 8px;
}
.command-actions-grid {
  gap: 8px;
}
.compact-tipline {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-radius: 14px;
  padding: 8px 10px;
  background: #fff7fd;
  border: 1px solid rgba(121,25,111,.10);
  color: #4b0f45;
  margin: 8px 0 12px;
}
.template-browser h4 {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 10px 0;
}
.contact-admin-preview {
  margin-top: 12px;
  border-radius: 16px;
  background: #fff7fd;
  border: 1px solid rgba(121,25,111,.10);
  padding: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  align-items: center;
}
.contact-admin-preview a {
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(121,25,111,.12);
  padding: 7px 10px;
  text-decoration: none;
  color: var(--purple, #79196f);
  font-weight: 800;
}
@media (max-width: 900px) {
  .panel-title.compact-help-title,
  .compact-help-title {
    align-items: flex-start;
  }
  .panel-actions {
    width: 100%;
  }
  .neat-table td:last-child {
    white-space: normal;
  }
}


/* v57 portal, tooltip, R2, and connected curriculum polish */
