/* Folder cards retain the same shared card material and typography. */
.catalog-folder-create{ margin-left:auto; }
.catalog-ui .catalog-folder-create + .catalog-order-toggle{ margin-left:0; }
.catalog-folder-icon{ --folder-preview-blue:var(--domain-brand-blue,#0066ff); --folder-preview-bg:color-mix(in srgb,var(--folder-preview-blue) 9%,var(--panel)); position:relative; box-sizing:border-box; width:40px; height:40px; flex:0 0 40px; padding:0; border-radius:12px; background:var(--folder-preview-bg); border:1px solid var(--border); }
.catalog-folder-icon > span{ position:absolute; display:flex; align-items:center; justify-content:center; width:13px; height:13px; border-radius:4px; background:var(--folder-preview-blue); color:#fff; }
.catalog-folder-icon > span:nth-child(1){ left:4px; top:4px; }
.catalog-folder-icon > span:nth-child(2){ right:4px; top:4px; }
.catalog-folder-icon > span:nth-child(3){ left:4px; bottom:4px; }
.catalog-folder-icon > span:nth-child(4){ right:4px; bottom:4px; }
.catalog-folder-icon[data-preview-count="1"] > span{ width:22px; height:22px; left:8px; top:8px; border-radius:8px; }
.catalog-folder-icon[data-preview-count="2"] > span{ width:18px; height:18px; border-radius:4px; }
.catalog-folder-icon[data-preview-count="2"] > span:nth-child(2){ top:auto; bottom:4px; box-shadow:0 0 0 1.5px var(--folder-preview-bg),0 2px 3px #18305018; }
.catalog-folder-icon[data-preview-count="3"] > span:nth-child(3){ left:12.5px; }
.catalog-folder-icon svg{ width:10px; height:10px; flex:none; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.catalog-folder-icon[data-preview-count="1"] svg{ width:15px; height:15px; }
.catalog-folder-icon[data-preview-count="2"] svg{ width:12px; height:12px; }
#panel .dashboard-sort-grid.is-ordering > .is-folder-candidate{ animation:none; rotate:0deg; outline:2px dashed var(--accent); outline-offset:2px; }
#panel .dashboard-sort-grid.is-ordering > .is-folder-ready{ outline-style:solid; box-shadow:0 0 0 6px color-mix(in srgb,var(--accent) 12%,transparent); }
.dashboard-sort-hint{ position:absolute; left:0; top:0; z-index:25; pointer-events:none; white-space:nowrap; border:1px solid var(--border); border-radius:8px; padding:6px 10px; background:var(--data-card-surface,var(--panel)); color:var(--accent); font-size:12px; box-shadow:0 6px 20px #182d4820; }
.catalog-folder-dialog{ --panel:var(--data-card-surface); --border:var(--data-card-border); width:min(960px,calc(100vw - 32px)); max-width:none; max-height:calc(100dvh - 48px); margin:auto; padding:0; border:1px solid var(--border); border-radius:16px; background:var(--panel); color:var(--text); box-shadow:0 24px 70px #18305030; }
.catalog-folder-dialog[open]{ display:flex; flex-direction:column; }
.catalog-folder-dialog::backdrop{ background:#16243b33; backdrop-filter:blur(5px); }
.catalog-folder-dialog > header{ display:flex; justify-content:space-between; align-items:center; gap:16px; padding:20px 22px; border-bottom:1px solid var(--border); flex-shrink:0; }
.catalog-folder-dialog > header > div:first-child{ min-width:0; }
.catalog-ui .catalog-folder-dialog h2{ font-size:18px; overflow-wrap:anywhere; }
.catalog-folder-dialog header p{ margin:4px 0 0; color:var(--text-2); font-size:12px; }
.catalog-folder-actions{ display:flex; gap:8px; flex-shrink:0; }
.catalog-folder-actions [data-folder-close]{ font-size:20px; line-height:1; min-width:32px; padding:4px 8px; }
.catalog-folder-body{ min-height:0; overflow:auto; overscroll-behavior:contain; padding:18px 22px 22px; }
.catalog-folder-toolbar{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; }
.catalog-folder-toolbar > span{ font-size:12px; color:var(--text-3); }
.catalog-domain-grid.catalog-folder-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.catalog-folder-remove{ display:block; align-self:flex-end; border:0; background:none; color:var(--text-3); padding:8px 0 0; font-size:12px; }
.catalog-folder-remove:hover{ color:var(--accent); }
.catalog-folder-rename{ display:flex; flex-wrap:wrap; align-items:center; gap:10px; padding-bottom:16px; }
.catalog-folder-rename label{ display:flex; align-items:center; gap:8px; flex:1; min-width:200px; }
.catalog-folder-rename input{ flex:1; width:100%; min-width:0; height:36px; border:1px solid var(--border); border-radius:8px; padding:0 10px; background:var(--input-bg); color:var(--text); }
.catalog-folder-rename [role=alert]{ flex-basis:100%; font-size:12px; color:var(--danger,#c83e4a); }
.catalog-folder-choices{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:16px 0; }
.catalog-folder-choices > label{ display:flex; align-items:center; gap:10px; border:1px solid var(--border); border-radius:12px; padding:12px; cursor:pointer; }
.catalog-folder-choices > label:has(:checked){ background:color-mix(in srgb,var(--accent) 7%,var(--panel)); border-color:var(--accent); }
.catalog-folder-choices input{ accent-color:var(--accent); }
.catalog-folder-choices small{ margin-left:auto; color:var(--text-3); white-space:nowrap; }
.catalog-folder-selection{ font-size:12px; color:var(--text-2); }
.catalog-folder-choose-actions{ display:flex; justify-content:flex-end; gap:10px; padding-top:16px; }
@media (max-width:900px) {
  .catalog-domain-grid.catalog-folder-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .catalog-folder-dialog > header{ align-items:flex-start; flex-wrap:wrap; padding:16px; }
  .catalog-folder-body{ padding:14px 16px 18px; }
}
@media (max-width:640px) {
  .catalog-domain-grid.catalog-folder-grid, .catalog-folder-choices{ grid-template-columns:1fr; }
  .catalog-folder-toolbar{ flex-wrap:wrap; }
  .catalog-folder-rename label{ flex-basis:100%; }
}
