.workspace-import-dialog { width:min(600px,calc(100vw - 2rem)); max-width:none; max-height:calc(100dvh - 2rem); overflow:hidden; }
.workspace-import-dialog > .dialog-surface { display:flex; flex-direction:column; max-height:inherit; overflow:hidden; }
.workspace-import-header { display:flex; align-items:center; justify-content:space-between; flex-shrink:0; gap:1rem; padding:1rem 1.25rem; border-bottom:1px solid var(--line); }
.workspace-import-header h2 { margin:0; font-size:1.2rem; line-height:1.3; letter-spacing:-.025em; }
.workspace-import-header .dialog-close { position:static; flex-shrink:0; width:34px; height:34px; border-radius:.6rem; }
.workspace-import-dialog .modal-form { display:flex; flex-direction:column; min-height:0; gap:0; margin:0; overflow:hidden; }
.workspace-import-body { display:grid; grid-auto-rows:min-content; align-content:start; gap:1.1rem; min-height:0; padding:1.25rem; overflow:auto; scrollbar-width:thin; }
.workspace-import-upload { display:grid; gap:.65rem; min-width:0; }
.workspace-import-upload > label { margin:0; font-size:.8rem; }
.workspace-import-file-control { position:relative; display:flex; align-items:center; gap:.7rem; min-width:0; padding:.5rem; border:1px solid var(--line-strong); border-radius:.7rem; background:var(--surface-soft); color:var(--ink-soft); font-size:.8rem; line-height:1.5; }
.workspace-import-file-control input[type=file] { position:absolute; inset:0; z-index:1; width:100%; height:100%; min-width:0; min-height:0; margin:0; padding:0; opacity:0; cursor:pointer; }
.workspace-import-file-button { flex-shrink:0; padding:.45rem .65rem; border:1px solid #d6cffb; border-radius:.45rem; background:var(--primary-soft); color:var(--primary-dark); font-weight:600; }
.workspace-import-file-name { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.workspace-import-file-control:focus-within { outline:2px solid var(--primary); outline-offset:3px; }
.workspace-import-file-control:has(input:hover:not(:disabled)) .workspace-import-file-button { border-color:var(--primary); }
.workspace-import-file-control:has(input:disabled) .workspace-import-file-button { opacity:.65; }
.workspace-import-file-control input[type=file]:disabled { cursor:wait; }
.workspace-import-upload > small { display:block; color:var(--ink-soft); font-size:.75rem; line-height:1.6; }
.workspace-import-review { display:grid; gap:1rem; min-width:0; padding-top:1rem; border-top:1px solid var(--line); }
.workspace-import-note { margin:0; color:var(--ink-soft); font-size:.75rem; line-height:1.6; }
.workspace-import-footer { flex-shrink:0; margin:0; padding:.9rem 1.25rem; border-top:1px solid var(--line); background:#fff; }
.workspace-import-footer .button { min-height:40px; padding:.6rem .95rem; font-size:.8rem; }
.workspace-import-footer [data-workspace-import-submit] { min-width:108px; }
.workspace-import-status { display:flex; align-items:center; gap:.55rem; margin:0; color:var(--primary-dark); font-size:.8rem; }
.workspace-import-status::before { content:""; width:16px; height:16px; flex:0 0 16px; border:2px solid #d6cffb; border-top-color:var(--primary); border-radius:50%; animation:workspace-import-spin .8s linear infinite; }
.workspace-import-dialog :is(input,button,select):focus-visible { outline:2px solid var(--primary); outline-offset:3px; }
.workspace-import-dialog [hidden], .workspace-latest[hidden] { display:none !important; }
@keyframes workspace-import-spin { to { transform:rotate(360deg); } }
@media (max-width:540px) {
    .workspace-import-dialog { width:calc(100vw - 1.5rem); max-height:calc(100dvh - 1.5rem); }
    .workspace-import-header, .workspace-import-footer { padding:.85rem 1rem; }
    .workspace-import-body { padding:1rem; }
    .workspace-import-header h2 { font-size:1.1rem; }
    .workspace-import-footer .button { flex:1; }
}
@media (prefers-reduced-motion:reduce) { .workspace-import-status::before { animation:none; } }
.workspace-latest { display:flex; justify-content:space-between; align-items:center; gap:.75rem; background:#f1f5f9; padding:.65rem .8rem; border-radius:.5rem; margin-bottom:.7rem; font-size:.82rem; }
.workspace-latest-copy { display:grid; gap:.15rem; }
.workspace-latest-copy span { color:#64748b; }
.workspace-import-details { margin-top:.3rem; font-size:.76rem; color:#64748b; }
.workspace-import-details summary { cursor:pointer; width:fit-content; }
.workspace-import-details dl { display:grid; grid-template-columns:auto 1fr; gap:.25rem .7rem; margin:.4rem 0 0; overflow-wrap:anywhere; }
.workspace-import-details dt { font-weight:600; } .workspace-import-details dd { margin:0; white-space:pre-wrap; }
.workspace-import-details small { display:block; margin-top:.35rem; }
.workspace-model-switch { display:flex; align-items:center; gap:.55rem; min-width:0; }
.workspace-model-switch strong { font-size:1.05rem; overflow:hidden; text-overflow:ellipsis; }
.workspace-model-switch button { flex-shrink:0; }
.workspace-restore-notice { font-size:.8rem; color:#64748b; }
.studio-heading-model-select[hidden] { display:none !important; }
.workspace-import-dialog [data-workspace-import-error] { margin:0; white-space:pre-wrap; overflow-wrap:anywhere; font-size:.77rem; line-height:1.6; }
.workspace-import-dialog.has-associations { width:min(1180px,calc(100vw - 2rem)); }
.workspace-associations { display:grid; grid-auto-rows:min-content; gap:.85rem; min-width:0; }
.workspace-associations h3 { margin:0; font-size:.95rem; line-height:1.4; }
.workspace-associations-summary { margin:0; color:var(--ink); font-size:.85rem; font-weight:600; }
.workspace-associations-missing { margin:0; padding:.7rem .8rem; border:1px solid #eddbb4; border-radius:.6rem; background:#fff9ec; color:#775c22; font-size:.78rem; line-height:1.6; overflow-wrap:anywhere; }
.workspace-preview-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.5rem; }
.workspace-preview-summary { display:flex; flex-wrap:wrap; gap:.5rem; margin:0; }
.workspace-preview-summary > div { flex:1 0 105px; display:flex; align-items:center; justify-content:space-between; gap:.5rem; padding:.6rem .75rem; border:1px solid var(--line); border-radius:.6rem; background:var(--surface-soft); }
.workspace-preview-summary dt { color:var(--ink-soft); font-size:.72rem; }
.workspace-preview-summary dd { margin:0; color:var(--ink); font-size:1.05rem; font-weight:700; }
.workspace-preview-table-wrap { min-width:0; max-height:440px; border:1px solid var(--line); border-radius:.65rem; overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; }
.workspace-preview-table-wrap:focus-visible { outline:2px solid var(--primary); outline-offset:3px; }
.workspace-preview-table { width:100%; border-collapse:separate; border-spacing:0; table-layout:fixed; font-size:.78rem; }
.workspace-preview-table th, .workspace-preview-table td { width:205px; min-width:205px; padding:.7rem .75rem; border-right:1px solid var(--line); border-bottom:1px solid var(--line); text-align:left; vertical-align:top; overflow-wrap:anywhere; }
.workspace-preview-table tr > :last-child { border-right:0; }
.workspace-preview-table tbody tr:last-child > * { border-bottom:0; }
.workspace-preview-table thead th { position:sticky; top:0; z-index:2; padding:.2rem .75rem; background:#f4f5f8; font-weight:400; box-shadow:0 1px 0 var(--line); }
.workspace-preview-table tr > :first-child { position:sticky; left:0; z-index:1; width:135px; min-width:135px; background:#fff; box-shadow:1px 0 0 var(--line); }
.workspace-preview-table thead tr > :first-child { z-index:3; background:#f4f5f8; font-weight:600; }
.workspace-preview-column-name { display:block; margin-bottom:.1rem; color:var(--ink); font-size:.83rem; line-height:1.2; }
.workspace-preview-destination-label { display:block; margin-bottom:.1rem; color:var(--ink-soft); font-size:.68rem; line-height:1.2; }
.workspace-preview-table select { display:block; width:100%; min-width:0; height:24px; min-height:24px; margin:0; padding:.1rem .4rem; border:1px solid var(--line-strong); border-radius:.35rem; background:#fff; color:var(--ink); font:inherit; line-height:1.2; }
.workspace-preview-table td { color:var(--ink); white-space:pre-wrap; }
.workspace-preview-table .is-ignored { color:var(--ink-soft); background:#fafafa; }
.workspace-preview-table .is-ignored .workspace-preview-column-name { color:var(--ink-soft); }
.workspace-preview-badge { display:inline-flex; padding:.2rem .5rem; border-radius:.35rem; background:#f1f5f9; color:#475569; font-size:.71rem; font-weight:600; white-space:nowrap; }
.workspace-preview-badge.is-new { background:#e4f5ec; color:#176447; }
.workspace-preview-badge.is-updated { background:#e9edff; color:#44459e; }
.workspace-preview-badge.is-invalid { background:#fbe9eb; color:#ab2637; }
.workspace-preview-badge.is-undefined { background:#fff2d7; color:#80602a; }
.workspace-preview-errors { margin:.4rem 0 0; padding:0; list-style:none; color:#ab2637; font-size:.68rem; line-height:1.5; }
.workspace-preview-status { margin:0; color:var(--ink-soft); font-size:.72rem; }
.workspace-association-overwrite { display:flex; align-items:center; gap:.35rem; min-width:0; min-height:16px; margin:.1rem 0 0; padding:0; color:var(--ink-soft); cursor:pointer; }
.workspace-association-overwrite span { min-width:0; font-size:.68rem; font-weight:400; line-height:1.2; overflow-wrap:anywhere; }
.workspace-association-overwrite small { display:block; margin-top:.2rem; font-size:.68rem; }
.workspace-association-overwrite input[type=checkbox] { width:.75rem; height:.75rem; min-height:0; flex:0 0 .75rem; margin:0; padding:0; accent-color:var(--primary); }
.workspace-association-overwrite:has(input:checked) { color:var(--primary-dark); }
.workspace-new-field-dialog { width:min(450px,calc(100vw - 2rem)); max-height:calc(100dvh - 2rem); overflow:hidden; }
.workspace-new-field-dialog > .dialog-surface { display:flex; flex-direction:column; max-height:inherit; overflow:hidden; }
.workspace-new-field-dialog .modal-form { display:flex; flex-direction:column; min-height:0; gap:0; margin:0; overflow:hidden; }
.workspace-new-field-dialog .workspace-import-body { gap:.65rem; }
.workspace-new-field-dialog label { margin:0; font-size:.8rem; }
.workspace-new-field-dialog [data-workspace-new-field-error] { margin:0; font-size:.78rem; overflow-wrap:anywhere; }
.workspace-new-field-dialog [hidden] { display:none !important; }
@media (max-width:540px) {
    .workspace-import-dialog.has-associations { width:calc(100vw - 1.5rem); }
    .workspace-preview-summary > div { flex-basis:80px; padding:.45rem .55rem; }
    .workspace-preview-table-wrap { max-height:380px; }
    .workspace-preview-table tr > :first-child { width:105px; min-width:105px; }
}
