/* Data Library — approved standalone 17 October design, local-mode delivery.
   This file changes no typography tokens, navigation or other module owners. */
.data-library-account-button { display:none; }
.data-library-account-button[hidden],
body[data-view="data"] #dataLibraryUploadCodeBtn[hidden] { display:none !important; }
body[data-view="data"] .data-library-account-button {
  display:flex; align-items:center; gap:12px; padding:0; min-width:176px; width:auto; margin-left:auto;
  color:#202020; background:transparent; border:0; font:inherit; text-align:left;
  cursor:pointer;
}
body[data-view="data"] .data-library-account-button > span:nth-child(2) { display:flex; flex-direction:column; gap:2px; }
body[data-view="data"] .data-library-account-button strong { font-size:14px; line-height:20px; }
body[data-view="data"] .data-library-account-button small { font-size:12px; line-height:18px; color:#666; }
body[data-view="data"] .data-library-avatar { display:grid; place-items:center; flex:0 0 36px; width:36px; height:36px; border-radius:50% !important; background:#ebebeb; color:#666; }
body[data-view="data"] .data-library-heading { min-height:44px; height:auto; margin-bottom:28px; padding:0; border:0; }
body[data-view="data"] .data-library-heading h3 { font-weight:600; }
body[data-view="data"] .data-library-add-trigger { width:136px; flex:0 0 136px; height:44px; min-height:44px; border:0; border-radius:8px !important; font:inherit; font-size:14px; font-weight:600; cursor:pointer; }
body[data-view="data"] .data-library-service-row { display:flex; align-items:center; gap:12px; min-height:44px; margin-bottom:28px; font-size:14px; line-height:20px; }
body[data-view="data"] .data-library-service-row > span { color:#666; }
body[data-view="data"] .data-library-service-row > img { flex:0 0 auto; }
body[data-view="data"] .data-library-service-row button { width:auto; flex:0 0 auto; margin-left:auto; min-height:44px; padding:0 16px; background:transparent; color:#202020; border:0; border-radius:8px !important; font:inherit; font-size:14px; font-weight:600; cursor:pointer; }
body[data-view="data"] .data-library-service-row button:hover { background:#f5f5f5; }
body[data-view="data"] .data-library-browser { grid-template-columns:minmax(240px,312px) minmax(0,1fr); }
body[data-view="data"] .data-library-list-heading { display:flex; align-items:baseline; justify-content:space-between; gap:12px; width:100%; font-size:14px; line-height:20px; }
body[data-view="data"] .data-library-list-heading > span { color:#666; font-size:12px; line-height:18px; text-align:right; }
body[data-view="data"] #datasetLibrarySearch { border-radius:8px !important; padding-left:40px; background:#f5f5f5 url("../assets/chart-library-neutral01/search.svg") no-repeat 12px center / 20px; }
body[data-view="data"] .dataset-library { gap:4px; max-height:max(120px,calc(100dvh - 368px)); }
body[data-view="data"] .dataset-row { min-height:0; padding:16px; border-radius:8px !important; }
body[data-view="data"] .dataset-name-cell strong { font-size:14px; line-height:20px; }
body[data-view="data"] .dataset-name-cell small { color:#666; }
body[data-view="data"] .dataset-period-badges > span { border-radius:8px !important; min-width:0; padding:4px 8px; color:#666; }
body[data-view="data"] .current-selection-panel { min-height:88px; margin-bottom:24px; }
body[data-view="data"] #currentDatasetMeta,
body[data-view="data"] #currentDatasetUpdated { color:#666; }
body[data-view="data"] .data-source-detail .section-title { margin-bottom:16px; }
body[data-view="data"] #dataSourceTableHost { max-height:max(240px,calc(100dvh - 432px)); overflow:auto; }
body[data-view="data"] .data-source-detail th,
body[data-view="data"] .data-source-detail td { height:44px; padding:12px 16px; white-space:nowrap; }
body[data-view="data"] .data-source-detail th { position:sticky; top:0; z-index:1; font-weight:500; }
body[data-view="data"] .data-source-detail td { border-bottom:1px solid #e2e2e2; }
body[data-view="data"] .data-library-import-status { margin:0 0 20px; color:#666; font-size:12px; line-height:18px; }
body[data-view="data"] .data-library-empty { display:flex; min-height:500px; padding:80px 24px; box-sizing:border-box; flex-direction:column; gap:24px; align-items:center; justify-content:center; text-align:center; }
body[data-view="data"] .data-library-empty h3 { margin:0; font-size:30px; line-height:40px; font-weight:600; }
body[data-view="data"] .data-library-empty p { max-width:520px; margin:0; font-size:14px; line-height:20px; color:#666; }
body[data-view="data"] .data-library-primary { width:auto; height:44px; min-height:44px; min-width:168px; padding:0 20px; border:0; border-radius:8px !important; background:#202020; color:#fff; font:inherit; font-size:14px; font-weight:600; cursor:pointer; }
body[data-view="data"] :is(#dataLibraryEmpty,#dataLibraryBrowser,#dataLibraryImportStatus)[hidden] { display:none !important; }

/* Native modal dialogs provide focus containment and inert background controls. */
body[data-view="data"] #manualUploadPage {
  box-sizing:border-box; position:fixed; inset:0; width:600px; max-width:calc(100vw - 32px);
  max-height:calc(100dvh - 48px); height:max-content; margin:auto; padding:32px;
  overflow:auto; border:1px solid #e2e2e2; border-radius:12px !important;
  background:#fff; color:#202020; box-shadow:0 16px 60px rgb(0 0 0 / 12%);
}
body[data-view="data"] #manualUploadPage:not([open]),
body[data-view="data"] #manualUploadPage[hidden],
body[data-view="data"] #dataLibraryAccountDialog:not([open]),
body[data-view="data"] #dataLibraryAccountDialog[hidden] { display:none !important; }
body[data-view="data"] :is(#manualUploadPage,#dataLibraryAccountDialog)::backdrop { background:rgb(0 0 0 / 18%); }
body[data-view="data"] #manualUploadPage .manual-upload-form { display:flex; width:100%; min-height:0; padding:0; gap:24px; border:0; border-radius:0 !important; }
body[data-view="data"] #manualUploadPage h3 { margin:0; font-size:20px; line-height:28px; font-weight:600; }
body[data-view="data"] #manualUploadHint { font-size:14px; line-height:20px; color:#666; margin:0; }
body[data-view="data"] #manualUploadPage .manual-upload-modes { height:44px; margin:0; border-radius:8px !important; gap:4px; }
body[data-view="data"] #manualUploadPage .manual-upload-modes button { width:auto; flex:1; padding:0 12px; font-size:13px; font-weight:500; white-space:nowrap; }
body[data-view="data"] #manualUploadPage .manual-upload-modes button[aria-pressed="true"] { background:#ebebeb; border-color:transparent; }
body[data-view="data"] .manual-upload-drop-zone { box-sizing:border-box; display:flex; flex-direction:column; align-items:center; gap:16px; padding:32px 20px; border:1px solid transparent; border-radius:12px !important; background:#f5f5f5; text-align:center; }
body[data-view="data"] .manual-upload-drop-zone.is-dragging { border-color:#666; background:#ebebeb; }
body[data-view="data"] #manualUploadPage .manual-upload-drop-zone h4 { margin:0; font-size:20px; line-height:28px; }
body[data-view="data"] .manual-upload-drop-zone p { margin:0; font-size:14px; line-height:20px; color:#666; }
body[data-view="data"] #manualUploadPage .manual-upload-primary { background:#202020; color:#fff; border-color:#202020; }
body[data-view="data"] #manualUploadSingleBrowseBtn { width:192px; }
body[data-view="data"] #manualUploadPage .manual-upload-footer { display:flex; flex-direction:column; gap:12px; width:100%; }
body[data-view="data"] #manualUploadPage .manual-upload-footer button { width:100%; }
body[data-view="data"] #manualUploadPage .manual-upload-slot { grid-template-columns:42px minmax(0,1fr) 80px; gap:12px; }
body[data-view="data"] #manualUploadPage .manual-upload-slot button { padding:0 8px; }
body[data-view="data"] #manualUploadPage #manualUploadStatus { margin:0; font-size:14px; line-height:20px; }
body[data-view="data"] .manual-upload-results { display:flex; flex-direction:column; gap:12px; margin:0; padding:0; list-style:none; font-size:12px; line-height:18px; }
body[data-view="data"] .manual-upload-results li { display:flex; flex-direction:column; gap:4px; overflow-wrap:anywhere; }
body[data-view="data"] .manual-upload-results strong { font-weight:600; color:#202020; }
body[data-view="data"] .manual-upload-results span { color:#666; }
body[data-view="data"] .manual-upload-results [data-upload-result="failed"] span { color:#b42318; }
body[data-view="data"] #manualUploadPage [hidden] { display:none !important; }
body[data-view="data"] #manualUploadPage button { cursor:pointer; }
body[data-view="data"] #manualUploadPage button:disabled { cursor:not-allowed; }

body[data-view="data"] #dataLibraryAccountDialog { box-sizing:border-box; position:fixed; inset:0 0 0 auto; margin:0; width:480px; max-width:100vw; height:100dvh; max-height:100dvh; padding:32px; overflow:auto; border:0; border-left:1px solid #e2e2e2; border-radius:0 !important; background:#fff; color:#202020; }
body[data-view="data"] .data-library-account-content { display:flex; flex-direction:column; gap:24px; min-height:100%; }
body[data-view="data"] .data-library-account-content header { display:flex; align-items:center; justify-content:space-between; gap:12px; }
body[data-view="data"] .data-library-account-content h3 { margin:0; font-size:20px; line-height:28px; }
body[data-view="data"] .data-library-account-content h4 { margin:0 0 12px; font-size:14px; line-height:20px; }
body[data-view="data"] .data-library-account-content p,
body[data-view="data"] .data-library-account-content li { font-size:14px; line-height:22px; color:#666; }
body[data-view="data"] .data-library-account-content p { margin:0; }
body[data-view="data"] .data-library-account-content ol { margin:0 0 16px; padding-left:20px; }
body[data-view="data"] .data-library-account-content li + li { margin-top:12px; }
body[data-view="data"] .data-library-account-content dl { display:grid; gap:20px; margin:0; padding:24px 0; border-block:1px solid #e2e2e2; font-size:14px; line-height:20px; }
body[data-view="data"] .data-library-account-content dl > div { display:flex; justify-content:space-between; gap:12px; }
body[data-view="data"] .data-library-account-content dt { font-weight:600; }
body[data-view="data"] .data-library-account-content dd { margin:0; color:#666; }
body[data-view="data"] .data-library-account-content button { min-height:44px; padding:0 16px; border:1px solid #e2e2e2; border-radius:8px !important; background:#fff; color:#202020; font:inherit; font-size:14px; font-weight:600; cursor:pointer; }
body[data-view="data"] .data-library-account-content header button { width:44px; padding:0; border:0; font-size:24px; font-weight:400; }
body[data-view="data"] .data-library-account-done { margin-top:auto; width:100%; }

@media (max-width:1100px) {
  body[data-view="data"] .data-library-account-button { min-width:44px; }
  body[data-view="data"] .data-library-account-button > span:not(:first-child) { display:none; }
}
@media (max-width:900px) {
  body[data-view="data"] .data-library-browser { grid-template-columns:minmax(210px,30%) minmax(0,1fr); gap:24px; }
}
@media (max-width:620px) {
  body[data-view="data"] .data-library-heading { flex-wrap:wrap; }
  body[data-view="data"] .data-library-heading h3 { font-size:24px; line-height:44px; }
  body[data-view="data"] .data-library-add-trigger { width:120px; flex-basis:120px; }
  body[data-view="data"] .data-library-browser { grid-template-columns:minmax(0,1fr); }
  body[data-view="data"] .dataset-library { max-height:280px; }
  body[data-view="data"] .data-library-service-row { gap:8px; flex-wrap:wrap; }
  body[data-view="data"] .data-library-service-row > span { flex:1; min-width:160px; }
  body[data-view="data"] .data-library-service-row button { padding:0; margin-left:28px; }
  body[data-view="data"] .data-library-empty { min-height:360px; padding:40px 8px; }
  body[data-view="data"] #manualUploadPage { max-height:calc(100dvh - 24px); padding:24px; }
  body[data-view="data"] .manual-upload-drop-zone { padding:24px 12px; }
  body[data-view="data"] #manualUploadPage .manual-upload-modes { height:auto; flex-wrap:wrap; }
  body[data-view="data"] #dataLibraryAccountDialog { padding:24px; }
}
