/* Stable, compact header shared by the public site and the workbench. */
:root {--site-header-height:60px;}
body.site-public {padding-top:var(--site-header-height);}
.site-public .header {position:fixed;inset:0 0 auto;z-index:100;height:var(--site-header-height);background:#fff;border-bottom:1px solid var(--line);backdrop-filter:none;}
.site-public .header .header-inner {height:var(--site-header-height);gap:26px;}
.site-public .header .horizontal-logo {width:112px;}
.site-public .header .header-inner.wrap {width:calc(100% - 48px);max-width:none;}
.workbench-header .header-inner {display:flex;align-items:center;padding:0 24px;}
.workbench-header .brand {margin:0;padding:0;flex-shrink:0;}
.toolbar-dropdown {position:relative;min-width:0;}
.project-dropdown {padding-left:24px;border-left:1px solid var(--line);max-width:min(42vw,330px);}
.account-dropdown {margin-left:auto;max-width:300px;}
.site-public .toolbar-trigger {height:36px;display:flex;align-items:center;gap:9px;padding:0 10px;background:transparent;border:1px solid transparent;border-radius:8px;font-size:13px;color:var(--text-heading);min-width:0;max-width:100%;}
.toolbar-trigger>span {overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
.toolbar-trigger>svg {width:17px;height:17px;flex-shrink:0;color:var(--text-muted);}
.toolbar-trigger>svg:last-child {width:12px;transform:rotate(90deg);}
.site-public .toolbar-trigger:hover,.site-public .toolbar-trigger[aria-expanded="true"] {background:var(--bg);border-color:var(--line);}
.toolbar-trigger:focus-visible,.toolbar-panel a:focus-visible {outline:2px solid var(--brand);outline-offset:2px;}
.toolbar-panel {position:absolute;top:calc(100% + 12px);left:24px;width:300px;max-width:calc(100vw - 24px);padding:7px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 36px rgb(24 34 48 / 12%);color:var(--text-body);}
.toolbar-panel[hidden] {display:none;}
.account-dropdown .toolbar-panel {left:auto;right:0;width:280px;}
.toolbar-panel a {display:flex;align-items:center;gap:10px;min-height:40px;padding:10px;border-radius:7px;font-size:13px;}
.toolbar-panel a>span {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.toolbar-panel a svg {width:16px;height:16px;flex-shrink:0;}
.toolbar-panel a:hover {background:var(--bg);}
.toolbar-panel a[aria-current="true"] {background:var(--soft);color:var(--brand);}
.toolbar-panel a[aria-current="true"] svg {margin-left:auto;}
.toolbar-panel-label {padding:9px 10px;font-size:11px;color:var(--text-muted);}
.toolbar-project-list {max-height:min(360px,50dvh);overflow:auto;overscroll-behavior:contain;}
.toolbar-panel-actions {border-top:1px solid var(--line);margin-top:6px;padding-top:6px;}
.toolbar-empty {font-size:12px;padding:10px;line-height:1.7;margin:0;}
.toolbar-account-info {padding:12px 10px 16px;border-bottom:1px solid var(--line);margin-bottom:6px;overflow-wrap:anywhere;}
.toolbar-account-info small,.toolbar-account-info span {display:block;font-size:12px;color:var(--text-muted);}
.toolbar-account-info strong {display:block;margin:7px 0;font-size:16px;color:var(--text-heading);}
.account-panel {max-width:660px;padding:32px;}
.account-panel .field {margin:22px 0;}
.account-panel .muted {line-height:1.9;}
.account-panel .tiny-note {margin-top:18px;}
.invite-symbol {display:grid;place-items:center;width:52px;height:52px;background:var(--soft);color:var(--brand);border-radius:14px;margin-bottom:24px;}
.invite-symbol svg {width:24px;}
.flow-form-section {scroll-margin-top:calc(var(--site-header-height) + 20px);}

/* Image library: categories on the left, searchable gallery on the right. */
.library-heading {display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;}
.library-heading h1 {font-size:24px;line-height:1.4;margin:0;}
.library-heading>div:last-child {display:flex;gap:10px;flex-shrink:0;}
.library-heading .btn {font-size:13px;padding:10px 15px;min-height:40px;}
.library-layout {display:grid;grid-template-columns:190px minmax(0,1fr);gap:20px;align-items:start;}
.library-categories,.library-content {border:1px solid var(--line);border-radius:12px;background:#fff;min-width:0;}
.library-categories {padding:18px 10px;}
.library-categories h2 {font-size:15px;margin:0 10px 16px;}
.library-categories nav {display:flex;flex-direction:column;gap:7px;}
.library-categories nav a {display:flex;align-items:center;gap:8px;font-size:13px;padding:12px 10px;min-height:42px;border-radius:8px;color:var(--text-body);}
.library-categories nav a:hover {background:var(--bg);}
.library-categories nav a[aria-current="page"] {background:var(--soft);color:var(--brand);}
.library-categories nav a svg {width:16px;height:16px;flex-shrink:0;}
.library-categories nav a span {overflow-wrap:anywhere;}
.library-categories nav a small {margin-left:auto;font-size:11px;color:var(--text-muted);}
.library-categories>button {display:flex;align-items:center;gap:8px;font-size:13px;width:100%;padding:18px 10px 4px;border:0;border-top:1px solid var(--line);background:transparent;margin-top:18px;cursor:pointer;}
.library-categories>button svg {width:16px;}
.library-category-row {position:relative;min-width:0;}
.library-category-row>a {width:100%;}
.library-categories nav .library-category-row>a span {min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.library-category-actions {position:absolute;right:4px;top:50%;transform:translateY(-50%);display:flex;gap:2px;opacity:0;pointer-events:none;}
.library-category-actions button {display:grid;place-items:center;width:27px;height:30px;padding:0;border:0;border-radius:5px;background:transparent;color:var(--text-muted);cursor:pointer;}
.library-category-actions svg {width:15px;height:15px;}
.library-category-row:hover,.library-category-row:focus-within {background:var(--bg);border-radius:8px;}
.library-category-row:is(:hover,:focus-within) .library-category-actions {opacity:1;pointer-events:auto;}
.library-categories nav .is-custom:is(:hover,:focus-within)>a {padding-right:62px;}
.library-category-row.is-custom:is(:hover,:focus-within)>a small {visibility:hidden;}
.library-category-actions button:hover {background:var(--soft);color:var(--brand);}
.library-category-actions button[data-library="delete-category"]:hover {color:var(--status-error);background:#fef3f2;}
.library-category-actions button:focus-visible {outline:2px solid var(--brand);outline-offset:0;}
.library-delete-note {font-size:14px;line-height:1.9;color:var(--text-body);overflow-wrap:anywhere;}
.library-content {padding:24px;min-height:560px;position:relative;}
.library-toolbar {display:flex;align-items:start;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:24px;}
.library-toolbar h2 {display:flex;align-items:center;gap:9px;font-size:18px;margin:0 0 10px;}
.library-toolbar h2 .badge {font-size:11px;font-weight:400;}
.library-toolbar p {font-size:12px;color:var(--text-muted);margin:0;}
.library-filters {display:flex;gap:10px;flex:1;min-width:250px;max-width:480px;}
.library-search {display:flex;align-items:center;gap:8px;flex:1;min-width:100px;border:1px solid var(--line);border-radius:8px;padding:0 10px;}
.library-search:focus-within {border-color:var(--brand);box-shadow:0 0 0 3px rgb(53 104 232 / 12%);}
.library-search svg {width:17px;height:17px;color:var(--text-muted);flex-shrink:0;}
.site-public .library-search input {border:0;box-shadow:none;outline:none;background:transparent;min-width:0;width:100%;height:40px;padding:0;font-size:13px;color:var(--text-body);}
.library-filters>.ts-wrapper {width:126px;flex-shrink:0;}
.library-filters .ts-control {min-height:42px;font-size:13px;}
.library-filters>select {width:126px;}
.library-grid {display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:18px;}
.library-card {min-width:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;}
.library-thumbnail {border:0;padding:0;display:block;position:relative;width:100%;aspect-ratio:4/3;background:#f5f7fa;overflow:hidden;}
.library-thumbnail img {width:100%;height:100%;object-fit:contain;display:block;}
.library-preview-label {position:absolute;bottom:10px;left:50%;transform:translateX(-50%);padding:6px 10px;border-radius:6px;background:rgb(24 34 48 / 75%);color:#fff;font-size:11px;opacity:0;white-space:nowrap;}
.library-thumbnail:hover .library-preview-label,.library-thumbnail:focus-visible .library-preview-label {opacity:1;}
.library-card-info {padding:14px;}
.library-card h3 {font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0 0 8px;}
.library-card p {font-size:12px;color:var(--text-muted);line-height:1.6;height:38px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 10px;}
.library-card small {font-size:10px;color:var(--text-muted);}
.library-card-actions {display:flex;justify-content:space-between;gap:10px;padding-top:13px;margin-top:13px;border-top:1px solid var(--line);}
.library-card-actions button,#library-file-list button {font-size:11px;background:transparent;border:0;padding:0;cursor:pointer;}
.library-empty {display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:370px;text-align:center;}
.library-empty-symbol {display:grid;place-items:center;width:80px;height:80px;border-radius:24px;background:var(--soft);color:var(--brand);margin-bottom:24px;}
.library-empty-symbol svg {width:34px;height:34px;}
.library-empty h3 {font-size:17px;margin:0 0 12px;}
.library-empty p {color:var(--text-muted);font-size:13px;margin:0 0 24px;line-height:1.7;}
.library-empty .btn {font-size:13px;}
.library-drop-hint {display:none;}
.is-dragging .library-drop-hint {display:flex;position:absolute;inset:8px;align-items:center;justify-content:center;gap:12px;background:rgb(241 245 255 / 96%);border:2px dashed var(--brand);border-radius:8px;color:var(--brand);z-index:5;pointer-events:none;}
.library-format {margin:14px 0 26px;text-align:right;}
.library-file-picker {position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;padding:28px 16px;border:1px dashed #aebdd7;border-radius:10px;background:var(--bg);text-align:center;cursor:pointer;}
.library-file-picker svg {width:26px;height:26px;color:var(--brand);}
.library-file-picker strong {font-size:14px;}
.library-file-picker small {font-size:12px;color:var(--text-muted);}
.library-file-picker input {position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;}
.library-file-picker:focus-within,.is-dragging .library-file-picker {outline:2px solid var(--brand);outline-offset:2px;}
#library-file-list {margin:16px 0 22px;font-size:12px;max-height:180px;overflow:auto;}
#library-file-list>div {display:flex;align-items:center;gap:14px;justify-content:space-between;padding:8px 0;}
#library-file-list span {min-width:0;overflow-wrap:anywhere;}
#library-file-list small {color:var(--text-muted);white-space:nowrap;}
#library-upload-status {font-size:13px;color:var(--brand);line-height:1.8;}
.library-preview {background:var(--bg);border-radius:10px;margin-bottom:24px;display:flex;justify-content:center;}
.library-preview img {max-width:100%;max-height:300px;object-fit:contain;}
.flow-dialog:has(.library-preview) {width:760px;}
.flow-dialog select {width:100%;}

@media(max-width:1100px){
 .library-layout {grid-template-columns:160px minmax(0,1fr);gap:14px;}
 .library-content {padding:20px;}
 .library-filters {max-width:none;flex-basis:100%;}
 .library-heading {align-items:start;}
 .library-heading .btn {padding:9px 11px;}
}
@media(max-width:760px){
 :root {--site-header-height:54px;}
 .site-public .header .header-inner {height:54px;gap:10px;}
 .site-public .header .header-inner.wrap {width:calc(100% - 28px);}
 .site-public .header .horizontal-logo {width:98px;}
 .site-public .workbench-header .header-inner {padding:0 14px;}
 .project-dropdown {border:0;padding:0;max-width:none;flex:1;}
 .account-dropdown {max-width:126px;margin-left:0;flex:1;}
 .site-public .toolbar-trigger {height:36px;gap:5px;padding:0 5px;width:100%;font-size:12px;}
 .toolbar-trigger>svg:first-child {display:none;}
 .toolbar-trigger>svg:last-child {width:10px;margin-left:auto;}
 .toolbar-dropdown .toolbar-panel {position:fixed;top:60px;left:12px;right:12px;width:auto;max-width:none;}
 .toolbar-panel a {min-height:44px;font-size:14px;}
 .toolbar-panel-label {font-size:12px;}
 .flow-workspace .flow-topbar {display:none;}
 .mobile-workspace-bar {min-height:52px;}
 .account-panel {padding:22px 18px;}
 .library-heading {display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;}
 .library-heading h1 {font-size:21px;}
 .library-heading>div:last-child {margin-top:0;gap:7px;}
 .library-heading .btn {min-height:36px;padding:8px;font-size:12px;gap:5px;justify-content:center;}
 .library-heading .btn svg {width:15px;height:15px;}
 .library-layout {display:block;}
 .library-categories {padding:0;border:0;background:transparent;margin-bottom:16px;}
 .library-categories h2,.library-categories>button {display:none;}
 .library-categories nav {flex-direction:row;overflow-x:auto;gap:8px;padding:1px 1px 7px;scrollbar-width:thin;}
 .library-category-row {flex-shrink:0;}
 .library-categories nav .is-custom>a,.library-categories nav .is-custom:is(:hover,:focus-within)>a {padding-right:78px;}
 .library-categories nav .is-custom>a span {max-width:130px;}
 .library-categories nav .is-custom>a small {visibility:visible;}
 .library-category-actions {opacity:1;pointer-events:auto;right:3px;gap:0;}
 .library-category-actions button {width:32px;height:34px;}
 .library-categories nav a {white-space:nowrap;flex-shrink:0;min-height:38px;padding:9px 12px;font-size:12px;background:#fff;border:1px solid var(--line);gap:7px;}
 .library-categories nav a span {overflow-wrap:normal;}
 .library-categories nav a svg {display:none;}
 .library-categories nav a[aria-current="page"] {border-color:#cddafb;}
 .library-content {padding:18px 14px;min-height:400px;}
 .library-toolbar {gap:16px;margin-bottom:18px;}
 .library-toolbar h2 {font-size:16px;margin-bottom:7px;}
 .library-toolbar p {font-size:11px;}
 .library-filters {min-width:0;gap:8px;}
 .site-public .library-search input {font-size:16px;height:40px;}
 .library-search input::placeholder {font-size:12px;}
 .library-filters>.ts-wrapper {width:112px;}
 .library-filters .ts-control {font-size:12px;}
 .library-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
 .library-card-info {padding:10px;}
 .library-card h3 {font-size:12px;}
 .library-card small {font-size:10px;line-height:1.6;display:block;}
 .library-card-actions {flex-wrap:wrap;gap:8px;padding-top:8px;margin-top:8px;}
 .library-card-actions button {font-size:11px;min-height:30px;}
 .library-card-actions button:first-child {flex-basis:100%;text-align:left;}
 .library-empty {min-height:300px;}
 .library-empty-symbol {width:64px;height:64px;border-radius:20px;}
 .library-empty p {font-size:12px;}
 .library-file-picker {padding:24px 12px;}
 .library-file-picker strong {font-size:13px;}
 .library-file-picker small {font-size:11px;}
 .library-preview img {max-height:220px;}
 .flow-dialog .field input {font-size:16px;}
}
@media(hover:none){
 .library-category-actions {opacity:1;pointer-events:auto;}
 .library-categories nav .is-custom>a {padding-right:62px;}
}
