/* FDS extension: user project workbench; isolated from the editor and admin shell. */
.uw-page { background:var(--fds-bg-page); color:var(--fds-text-primary); }
.uw-shell { display:grid; grid-template-columns:220px minmax(0,1fr); min-height:100dvh; }
.uw-sidebar { position:sticky; top:0; align-self:start; height:100dvh; box-sizing:border-box; overflow:hidden; display:flex; flex-direction:column; gap:var(--fds-space-6); background:var(--fds-bg-panel); border-inline-end:1px solid var(--fds-border); padding:var(--fds-space-6) var(--fds-space-4); }
.uw-sidebar-scroll { display:flex; flex-direction:column; gap:var(--fds-space-6); flex:1; min-height:0; overflow-y:auto; }
.uw-brand { flex-shrink:0; display:flex; align-items:center; min-height:36px; padding-inline:var(--fds-space-2); }
.uw-brand img { width:158px; height:auto; max-width:100%; }
.uw-context { display:grid; gap:var(--fds-space-2); min-width:0; }
.uw-context > label,.uw-space-links > p { font-size:.75rem; color:var(--fds-text-secondary); }
.uw-context .fds-select { width:100%; font-size:var(--ssa-compact-input-font,.8125rem); padding-inline:var(--fds-space-2); }
.uw-navigation,.uw-space-links { display:grid; gap:var(--fds-space-1); }
.uw-space-links { padding-top:var(--fds-space-4); border-top:1px solid var(--fds-border); }
.uw-space-links > p { margin:0 0 var(--fds-space-2); padding-inline:var(--fds-space-3); }
.uw-nav-item { display:flex; align-items:center; gap:var(--fds-space-3); width:100%; min-height:40px; padding:var(--fds-space-2) var(--fds-space-3); border:0; border-radius:var(--fds-radius-sm); background:transparent; color:var(--fds-text-secondary); font:inherit; font-size:.8125rem; text-decoration:none; text-align:start; cursor:pointer; }
.uw-nav-item:hover,.uw-nav-item[aria-current=page] { background:var(--fds-bg-muted); color:var(--fds-text-primary); }
.uw-nav-item[aria-current=page] { font-weight:600; }
.uw-sidebar-foot { flex-shrink:0; display:grid; gap:var(--fds-space-3); margin-top:auto; padding-top:var(--fds-space-4); border-top:1px solid var(--fds-border); }
.uw-account { display:flex; gap:var(--fds-space-2); align-items:center; color:var(--fds-text-primary); text-decoration:none; padding:var(--fds-space-2); }
.uw-account > span:nth-child(2) { flex:1; min-width:0; overflow-wrap:anywhere; }
.uw-account strong { display:block; font-size:.8125rem; font-weight:550; }
.uw-account small { font-size:.6875rem; color:var(--fds-text-secondary); }
.uw-avatar { display:grid; place-items:center; flex:0 0 32px; height:32px; border-radius:var(--fds-radius-pill); background:var(--fds-bg-muted); font-size:.75rem; }
.uw-body { min-width:0; }
.uw-header { min-height:60px; display:flex; align-items:center; justify-content:space-between; gap:var(--fds-space-4); padding:var(--fds-space-3) var(--fds-space-8); border-bottom:1px solid var(--fds-border); background:var(--fds-bg-panel); }
.uw-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:var(--fds-space-3); font-size:.75rem; color:var(--fds-text-secondary); min-width:0; overflow-wrap:anywhere; }
.uw-breadcrumb strong { color:var(--fds-text-primary); font-weight:500; }
.uw-header-actions { flex-shrink:0; display:flex; align-items:center; gap:var(--fds-space-2); flex-wrap:wrap; justify-content:flex-end; }
.uw-mobile-link { display:none; }
.uw-header .ss-language { gap:var(--fds-space-2); }
.uw-header .ss-language label > span { position:absolute; width:1px; height:1px; padding:0; clip-path:inset(50%); overflow:hidden; }
.uw-header .ss-language .fds-select { width:auto; max-width:145px; font-size:var(--ssa-compact-input-font,.75rem); }
.uw-header .ss-language .fds-btn { font-size:var(--ssa-compact-font,.75rem); }
.uw-main { width:100%; max-width:1440px; margin-inline:auto; padding:var(--fds-space-8); }
.uw-page-heading { display:flex; justify-content:space-between; align-items:center; gap:var(--fds-space-4); margin-bottom:var(--fds-space-6); }
.uw-page-heading h1 { font-size:1.5rem; font-weight:600; margin:0; }
.uw-page-heading p { font-size:.8125rem; color:var(--fds-text-secondary); margin:var(--fds-space-2) 0 0; }
.uw-page-actions { display:flex; flex-wrap:wrap; gap:var(--fds-space-2); align-items:center; }
.uw-toolbar { display:flex; flex-wrap:wrap; gap:var(--fds-space-2); align-items:center; margin-bottom:var(--fds-space-4); }
.uw-search { display:flex; align-items:center; gap:var(--fds-space-2); flex:1 1 240px; min-width:0; border:1px solid var(--fds-border); border-radius:var(--fds-radius-sm); background:var(--fds-bg-panel); padding-inline:var(--fds-space-3); }
.uw-search .fds-input { border:0; background:transparent; padding-inline:0; min-width:0; width:100%; box-shadow:none; }
.uw-search:focus-within { outline:2px solid var(--fds-focus); outline-offset:2px; }
.uw-toolbar .fds-select { width:auto; max-width:100%; }
.uw-view-switch { display:flex; gap:var(--fds-space-1); padding:var(--fds-space-1); border:1px solid var(--fds-border); border-radius:var(--fds-radius-sm); background:var(--fds-bg-panel); }
.uw-view-switch button { min-height:var(--ssa-compact-control,30px); height:var(--ssa-compact-control,30px); padding:var(--fds-space-1) var(--fds-space-2); border:0; }
.uw-view-switch button[aria-pressed=true] { background:var(--fds-bg-muted); }
.uw-result { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:var(--fds-space-2); color:var(--fds-text-secondary); font-size:.75rem; margin-bottom:var(--fds-space-3); }
.uw-filter-note { color:var(--fds-text-secondary); font-size:.75rem; margin:0 0 var(--fds-space-4); }
.uw-project-grid,.uw-workspace-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--fds-space-5); align-items:start; }
.uw-project-card { border:1px solid var(--fds-border); border-radius:var(--fds-radius-md); background:var(--fds-bg-panel); min-width:0; }
.uw-project-preview { display:flex; align-items:center; justify-content:center; position:relative; height:170px; overflow:hidden; background:var(--fds-bg-muted); border-bottom:1px solid var(--fds-border); border-radius:var(--fds-radius-md) var(--fds-radius-md) 0 0; }
.uw-project-preview > .uw-preview-body { display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(0,1fr); place-items:center; width:100%; height:100%; box-sizing:border-box; padding:var(--fds-space-3) var(--fds-space-5); min-width:0; min-height:0; }
.uw-preview-placeholder { display:grid; place-items:center; gap:var(--fds-space-2); color:var(--fds-text-secondary); font-size:.75rem; text-align:center; }
.uw-preview-placeholder .ssa-icon { width:24px; height:24px; }
.uw-project-preview .uw-thumbnail { display:block; width:100%; height:100%; min-width:0; min-height:0; object-fit:contain; }
.uw-thumbnail .uw-plan-floor { fill:var(--fds-bg-panel); stroke:var(--fds-gray-500); }
.uw-thumbnail .uw-plan-showcase { fill:var(--fds-gray-300); stroke:var(--fds-gray-500); }
.uw-thumbnail .uw-plan-obstacle { fill:var(--fds-gray-400); }
.uw-thumbnail .uw-plan-door { stroke:var(--fds-gray-600); }
.uw-star { position:absolute; inset-block-start:var(--fds-space-3); inset-inline-end:var(--fds-space-3); width:var(--ssa-compact-control,30px); min-height:var(--ssa-compact-control,30px); height:var(--ssa-compact-control,30px); padding:var(--fds-space-1); background:var(--fds-bg-panel); }
.uw-star[aria-pressed=true] .ssa-icon { fill:currentColor; }
.uw-project-body { padding:var(--fds-space-4); }
.uw-project-title { display:flex; align-items:flex-start; justify-content:space-between; gap:var(--fds-space-2); }
.uw-project-title h2 { font-size:.9375rem; font-weight:550; line-height:1.5; overflow-wrap:anywhere; margin:0; min-width:0; }
.uw-project-title .fds-badge { flex-shrink:0; font-size:.6875rem; }
.uw-project-meta { display:flex; flex-wrap:wrap; gap:var(--fds-space-2); font-size:.75rem; color:var(--fds-text-secondary); margin:var(--fds-space-2) 0 0; overflow-wrap:anywhere; }
.uw-project-footer { display:flex; justify-content:space-between; flex-wrap:wrap; align-items:center; gap:var(--fds-space-2); margin-top:var(--fds-space-4); }
.uw-version { font-size:.75rem; color:var(--fds-text-secondary); font-variant-numeric:tabular-nums; }
.uw-project-actions { display:flex; gap:var(--fds-space-1); align-items:center; }
.uw-project-actions .fds-btn { font-size:var(--ssa-compact-font,.75rem); }
.uw-more-button { width:var(--ssa-compact-control,32px); padding-inline:var(--fds-space-1); }
.uw-project-details { border-top:1px solid var(--fds-border); padding:var(--fds-space-3) var(--fds-space-4); }
.uw-project-grid.is-list { grid-template-columns:minmax(0,1fr); gap:0; border:1px solid var(--fds-border); border-radius:var(--fds-radius-md); background:var(--fds-bg-panel); }
.uw-project-grid.is-list .uw-project-card { display:grid; grid-template-columns:112px minmax(0,1fr); border:0; border-bottom:1px solid var(--fds-border); border-radius:0; padding:var(--fds-space-4); }
.uw-project-grid.is-list .uw-project-card:last-child { border-bottom:0; }
.uw-project-grid.is-list .uw-project-preview { height:86px; border:1px solid var(--fds-border); border-radius:var(--fds-radius-sm); }
.uw-project-grid.is-list .uw-preview-body { padding:var(--fds-space-2); }
.uw-project-grid.is-list .uw-project-body { padding:0 0 0 var(--fds-space-5); }
[dir=rtl] .uw-project-grid.is-list .uw-project-body { padding:0 var(--fds-space-5) 0 0; }
.uw-project-grid.is-list .uw-project-details { grid-column:1/-1; margin-top:var(--fds-space-3); }
.uw-project-grid.is-list .uw-star { inset-block-start:var(--fds-space-1); inset-inline-end:var(--fds-space-1); }
.uw-empty { grid-column:1/-1; display:grid; place-items:center; gap:var(--fds-space-3); min-height:240px; padding:var(--fds-space-6); text-align:center; color:var(--fds-text-secondary); }
.uw-empty h2 { font-size:1rem; color:var(--fds-text-primary); margin:0; }
.uw-empty p { margin:0; max-width:440px; font-size:.8125rem; }
.uw-load-more { margin-top:var(--fds-space-5); display:flex; justify-content:center; }
.uw-page #personal-usage { display:flex; flex-wrap:wrap; gap:var(--fds-space-5); margin-top:var(--fds-space-6); padding-top:var(--fds-space-4); border-top:1px solid var(--fds-border); color:var(--fds-text-secondary); font-size:.75rem; }
.uw-page #personal-usage strong { color:var(--fds-text-primary); font-weight:500; }
.uw-page #personal-message:empty,.uw-page #business-message:empty { display:none; }
.uw-page #personal-message:not(:empty),.uw-page #business-message:not(:empty) { margin-bottom:var(--fds-space-5); }
.uw-scope-bar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:var(--fds-space-3); font-size:.75rem; color:var(--fds-text-secondary); margin-bottom:var(--fds-space-4); }
.uw-workspace-card { background:var(--fds-bg-panel); border:1px solid var(--fds-border); border-radius:var(--fds-radius-md); padding:var(--fds-space-5); display:grid; gap:var(--fds-space-3); min-width:0; }
.uw-workspace-card h2 { margin:0; font-size:1rem; overflow-wrap:anywhere; }
.uw-workspace-card p { margin:0; font-size:.8125rem; color:var(--fds-text-secondary); }
.uw-workspace-card .fds-btn { justify-self:start; }
.uw-workspace-form,.uw-settings-stack { display:grid; gap:var(--fds-space-5); }
.uw-sheet-description { color:var(--fds-text-secondary); font-size:.8125rem; }
.uw-history-list { display:grid; gap:var(--fds-space-2); }
.uw-history-row { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:var(--fds-space-3); padding:var(--fds-space-3) 0; border-bottom:1px solid var(--fds-border); }
.uw-history-row time { color:var(--fds-text-secondary); font-size:.75rem; }
.uw-history-row strong { display:block; font-size:.875rem; font-weight:550; }
.uw-toaster { position:fixed; inset-block-start:76px; inset-inline-start:50%; transform:translateX(-50%); z-index:150; max-width:calc(100% - 32px); padding:var(--fds-space-3) var(--fds-space-5); background:var(--fds-bg-panel); border:1px solid var(--fds-border); border-radius:var(--fds-radius-md); box-shadow:var(--fds-shadow-2); font-size:.8125rem; }
.uw-page .ssa-sheet .ss-platform-form { display:grid; gap:var(--fds-space-4); }
.uw-page .ssa-sheet .ss-platform-form label { display:grid; gap:var(--fds-space-2); font-size:var(--ssa-compact-font,.8125rem); }
.uw-page .ssa-sheet .ss-platform-form input,.uw-page .ssa-sheet .ss-platform-form select { width:100%; }
.uw-page .ssa-sheet .ss-template-preview { width:100%; height:190px; }
.uw-page .ssa-menu-item { white-space:normal; }
@media(max-width:1190px) { .uw-project-grid,.uw-workspace-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:900px) { .uw-shell { grid-template-columns:185px minmax(0,1fr); } .uw-main { padding:var(--fds-space-6); } .uw-header { padding-inline:var(--fds-space-6); } .uw-header .ss-language label > span { display:none; } }
@media(max-width:768px) { .uw-shell { grid-template-columns:minmax(0,1fr); } .uw-sidebar { padding:var(--fds-space-4); gap:var(--fds-space-3); border-inline-end:0; border-bottom:1px solid var(--fds-border); } .uw-brand,.uw-sidebar-foot { display:none; } .uw-context > label { display:none; } .uw-context .fds-select { font-size:var(--ssa-compact-input-font,1rem); min-height:var(--ssa-compact-control,44px); } .uw-navigation { display:flex; flex-wrap:wrap; } .uw-navigation .uw-nav-item { width:auto; flex:1; min-height:44px; justify-content:center; gap:var(--fds-space-2); white-space:nowrap; } .uw-space-links { display:flex; flex-wrap:wrap; border-top:0; padding:0; } .uw-space-links > p { display:none; } .uw-space-links .uw-nav-item { width:auto; padding-block:var(--fds-space-1); min-height:32px; font-size:.75rem; } .uw-header { padding:var(--fds-space-3) var(--fds-space-4); flex-wrap:wrap; min-height:56px; } .uw-main { padding:var(--fds-space-6) var(--fds-space-4); } .uw-toolbar .fds-select { flex:1; } .uw-search { flex-basis:100%; } .uw-search input,.uw-toolbar select,.uw-page .ssa-sheet input,.uw-page .ssa-sheet select { font-size:var(--ssa-compact-input-font,1rem); } .uw-page-heading { align-items:flex-start; } .uw-page-actions { justify-content:flex-end; } :where(body:not([data-ssa-controls="compact-v1"])).uw-page .fds-btn { min-height:44px; height:auto; } .uw-view-switch button { min-height:var(--ssa-compact-control,36px); } .uw-star { min-height:var(--ssa-compact-control,36px); width:var(--ssa-compact-control,36px); } :where(body:not([data-ssa-controls="compact-v1"])) .uw-star { min-height:36px!important; } .uw-context { min-width:0; } }
@media(max-width:480px) { .uw-project-grid,.uw-workspace-grid { grid-template-columns:minmax(0,1fr); } .uw-navigation .ssa-icon { display:none; } .uw-nav-item { padding-inline:var(--fds-space-2); } .uw-main { padding:var(--fds-space-5) var(--fds-space-3); } .uw-project-preview { height:170px; } .uw-header { gap:var(--fds-space-2); } .uw-header-actions { width:100%; } .uw-header .ss-language { justify-content:flex-end; } .uw-page-heading h1 { font-size:1.25rem; } .uw-page-heading { flex-wrap:wrap; } .uw-page-actions { justify-content:flex-start; } .uw-toolbar { gap:var(--fds-space-2); } .uw-project-grid.is-list .uw-project-card { grid-template-columns:72px minmax(0,1fr); padding:var(--fds-space-3); } .uw-project-grid.is-list .uw-project-body { padding-inline-start:var(--fds-space-3); } .uw-project-title { flex-wrap:wrap; } .uw-project-footer { gap:var(--fds-space-2); } .uw-project-grid.is-list .uw-project-preview { height:72px; } .uw-breadcrumb { font-size:.6875rem; } }
@media(pointer:coarse) { .uw-nav-item,.uw-more-button,.uw-star { min-height:var(--ssa-compact-control,44px); } .uw-star { width:var(--ssa-compact-control,44px); } }
@media(max-width:900px) { .uw-mobile-link { display:inline-flex; width:44px; min-height:44px; padding:var(--fds-space-2); } }
@media(prefers-reduced-motion:reduce) { .uw-page *, .uw-page *::before,.uw-page *::after { animation:none!important; transition:none!important; } }
.uw-preview-banner { padding: var(--fds-space-3) var(--fds-space-4); border: 1px solid var(--fds-border); border-radius: var(--fds-radius-sm); background: var(--fds-bg-panel); color: var(--fds-text-secondary); font-size: .8125rem; }

@media(max-width:768px) { .uw-sidebar { position:static; height:auto; overflow:visible; } .uw-sidebar-scroll { flex:none; overflow:visible; gap:var(--fds-space-3); } }

/* FDS extension: project content embedded in the company admin shell. */
.ss-admin-project-tabs { display:flex; flex-wrap:wrap; gap:var(--fds-space-2); margin-bottom:var(--fds-space-5); border-bottom:1px solid var(--fds-border); padding-bottom:var(--fds-space-3); }
.ss-admin-project-tabs [aria-current="page"] { background:var(--fds-bg-muted); font-weight:600; }
.ss-admin-projects .uw-main { max-width:var(--ssa-content-max); }
.ss-admin-projects .uw-page-actions > .fds-select { width:auto; max-width:260px; }
.ss-admin-projects .ssa-nav-link { text-decoration:none; }
@media(max-width:600px){.ss-admin-projects .uw-page-actions > .fds-select{width:100%;max-width:none}}

/* FDS extension: admin-only search and icon actions; normal directories retain their density. */
body.ss-admin-projects[data-ssa-controls="compact-v1"] .uw-search { border:0; padding-inline:0; background:transparent; }
body.ss-admin-projects[data-ssa-controls="compact-v1"] .uw-search .fds-input { padding-inline:var(--ssa-control-pad-x); }
body.ss-admin-projects[data-ssa-controls="compact-v1"] :is(.uw-star,.uw-more-button) { padding:0; min-width:var(--ssa-control); width:var(--ssa-control); }
