@charset "UTF-8";
/* Fixed card geometry from the reference. Every factory uses the same tokens. */
#wg-root.wg-samples.sw-root{padding:0;height:100dvh;overflow:hidden}
.sw-shell{--sample-card-width:248px;--sample-card-height:400px;--sample-card-gap:12px;--sample-chat-width:360px;--sw-ink:#112344;--sw-muted:#50668b;--sw-line:#e0e8f3;--sw-canvas:#f7faff;--sw-blue:#0057f9;container:sample-window / inline-size;position:relative;height:100%;display:flex;flex-direction:column;background:var(--sw-canvas);color:var(--sw-ink);font:13px/1.4 var(--font);isolation:isolate}
.sw-shell *{box-sizing:border-box;min-width:0}
.sw-shell [hidden]{display:none!important}
.sw-shell :is(h2,h3,h4,p){margin:0}
.sw-shell :is(button,a,input,textarea,select):focus-visible{outline:2px solid var(--sw-blue);outline-offset:2px}
.sw-shell button{font:inherit;cursor:pointer;white-space:normal}
.sw-shell button:disabled{cursor:default}
.sw-glyph{width:18px;height:18px;flex:none;display:block}
.sw-sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.sw-button,.sw-shell button.sw-button{padding:var(--space-2) var(--space-3);border:1px solid var(--sw-line);border-radius:6px;background:#fff;color:var(--sw-ink);font-weight:500}
.sw-primary,.sw-shell button.sw-primary{padding:var(--space-2) var(--space-3);border:1px solid var(--sw-blue);border-radius:6px;background:var(--sw-blue);color:#fff;font-weight:600}
.sw-icon,.sw-shell button.sw-icon{display:inline-flex;align-items:center;justify-content:center;flex:none;width:28px;height:28px;padding:0;background:transparent;color:var(--sw-muted);border:0;border-radius:5px;font-size:20px}
.sw-text-button,.sw-shell button.sw-text-button{padding:0;border:0;background:none;color:var(--sw-muted);text-align:left;text-decoration:none;font-size:12px}
.sw-shell button:hover:not(:disabled){filter:brightness(.96)}
.sw-shell .sw-icon:hover,.sw-shell .sw-text-button:hover{color:var(--sw-blue);filter:none}
.sw-header{flex:none;padding:var(--space-4) var(--space-5);background:#fff;border-bottom:1px solid var(--sw-line);display:flex;flex-direction:column;gap:var(--space-4)}
.sw-header-top,.sw-header-info,.sw-header-actions,.sw-heading{display:flex;align-items:center;gap:var(--space-3);justify-content:space-between}
.sw-heading{justify-content:flex-start;flex-wrap:wrap;gap:var(--space-2) var(--space-3)}
.sw-header h2{font-size:16px;font-weight:650;line-height:1.35;letter-spacing:-.2px}
.sw-header-pill{display:inline-flex;align-items:center;min-height:24px;padding:0 var(--space-3);border-radius:8px;background:#e6efff;color:#25497b;font-size:12px;white-space:nowrap}
.sw-header-actions{flex:0 1 auto;gap:var(--space-4);flex-wrap:wrap;justify-content:flex-end}
.sw-header-top{flex-wrap:wrap}
.sw-hosted .sw-header{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-2) var(--space-4);padding-top:var(--space-2)}
.sw-hosted .sw-heading{display:none}
.sw-hosted .sw-header-top{grid-column:2;grid-row:1;justify-content:flex-end}
.sw-hosted .sw-header-info{display:contents}
.sw-hosted .sw-client{grid-column:1;grid-row:1 / span 2}
.sw-hosted .sw-request-meta{grid-column:2;grid-row:2}
.sw-client{display:flex;flex-direction:column;gap:var(--space-1)}
.sw-client>strong{font-size:17px;letter-spacing:-.15px}
.sw-client-basis{display:flex;gap:var(--space-3);flex-wrap:wrap}
.sw-client-basis a{color:var(--sw-muted)}
.sw-client-basis a:hover{text-decoration:underline}
.sw-muted{color:var(--sw-muted);font-size:12px}
.sw-request-meta{display:flex;flex-direction:column;gap:var(--space-1);align-items:flex-end;flex:none}
.sw-request-meta>strong{font-weight:600}
.sw-body{flex:1;min-height:0;display:flex;overflow:hidden}
.sw-main{position:relative;flex:1;min-height:0;overflow:hidden}
.sw-list,.sw-details{height:100%;overflow:auto;overscroll-behavior:contain;padding:var(--space-3) var(--space-4) var(--space-5);scrollbar-gutter:stable}
.sw-factory+.sw-factory{margin-top:var(--space-5)}
.sw-factory-head{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;padding:0 0 var(--space-2)}
.sw-factory-title{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3)}
.sw-factory-title h3{font-size:14px;font-weight:650;max-width:240px;overflow-wrap:anywhere}
.sw-factory-symbol{color:#355580;flex:none}
.sw-factory-symbol .sw-glyph{width:28px;height:28px;stroke-width:1.3}
.sw-factory-count{border-left:1px solid #cedcf0;padding-left:var(--space-3);color:var(--sw-muted);font-size:13px}
.sw-factory-due{display:flex;align-items:baseline;gap:var(--space-2);flex:1;flex-wrap:wrap}
.sw-factory-due>.sw-muted{font-size:11px}
.sw-due-date{font-size:13px;color:#294774}
.sw-factory-head>.sw-icon{margin-left:auto}
.sw-factory-head>.sw-icon[aria-expanded=false] .sw-glyph{transform:rotate(180deg)}
.sw-factory-progress{display:flex;align-items:center;gap:var(--space-2) var(--space-4);flex-wrap:wrap;padding:0 0 var(--space-3);border-bottom:1px solid var(--sw-line);margin-bottom:var(--space-3)}
.sw-factory-progress:empty{padding:0}
.sw-steps{display:flex;align-items:center;flex:1;gap:var(--space-2);flex-wrap:wrap;list-style:none;padding:0;margin:0;font-size:11px;color:#6e81a1}
.sw-steps li{max-width:230px;display:flex;gap:var(--space-2);align-items:center}
.sw-steps li+li:before{content:'';width:24px;height:1px;flex:none;background:#c9d7eb}
.sw-steps li:after{content:'';flex:none;width:8px;height:8px;border:1px solid #bccbe0;border-radius:50%;order:-1}
.sw-steps li+li:before{order:-2}
.sw-steps .done{color:#3c637a}.sw-steps .done:after{background:#367dae;border-color:#367dae}
.sw-steps .current{color:var(--sw-blue)}.sw-steps .current:after{border-color:var(--sw-blue);background:var(--sw-blue);box-shadow:0 0 0 3px #e1ebff}
.sw-overdue{color:#b33343!important;font-size:12px}.sw-done{color:#15734f;font-size:12px}
.sw-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(0,var(--sample-card-width)));gap:var(--sample-card-gap);justify-content:start}
/* Six bounded rows + five 8px gaps + 24px padding + 2px border = 400px. */
.sw-card{height:var(--sample-card-height);width:100%;display:grid;grid-template-rows:22px 138px 34px 76px 26px 38px;gap:var(--space-2);padding:var(--space-3);background:#fff;border:1px solid var(--sw-line);border-radius:8px;transition:box-shadow .2s,border-color .2s;overflow:visible}
.sw-card:hover{border-color:#c6d7f0}
.sw-card-head{display:flex;align-items:center;gap:var(--space-2)}
.sw-card-head>.sw-icon{margin-left:auto;width:22px;height:22px}
.sw-card-number{font-size:11px;color:var(--sw-muted);flex:none}
.sw-status{display:inline-flex;align-items:center;gap:var(--space-1);height:24px;padding:0 var(--space-2);border-radius:7px;font-size:10px;line-height:1.2;max-width:162px}
.sw-status>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sw-status .sw-glyph{width:13px;height:13px}
.sw-status-neutral{color:#425b7e;background:#e9eef5}
.sw-status-working{color:#51439d;background:#ece5ff}
.sw-status-ready{color:#14613d;background:#cef2df}
.sw-status-late{color:#9d3041;background:#ffe7e9}
.sw-picture,.sw-shell button.sw-picture{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:0;border:1px solid #edf0f5;border-radius:5px;background:#f4f6f9;overflow:hidden;color:var(--sw-muted)}
.sw-shell button.sw-picture:disabled{opacity:1}
.sw-thumb{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:11px;color:#76839a;overflow:hidden}
.sw-thumb img{display:block;object-fit:contain;width:100%;height:100%}
.sw-no-photo{color:#a4b4cc}.sw-no-photo .sw-glyph{width:32px;height:32px;stroke-width:1.2}
.sw-picture-count{position:absolute;right:var(--space-2);bottom:var(--space-2);padding:0 var(--space-2);background:#fff;border:1px solid var(--sw-line);border-radius:5px;font-size:11px}
.sw-card-title,.sw-shell button.sw-card-title{padding:0;border:0;background:none;text-align:left;color:var(--sw-ink);font-size:14px;line-height:17px;font-weight:650;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sw-card-params{display:grid;grid-template-rows:repeat(4,19px);margin:0;font-size:12px;line-height:18px;color:var(--sw-muted)}
.sw-param{display:flex;align-items:center;gap:var(--space-2)}
.sw-param .sw-glyph{width:14px;height:14px;stroke-width:1.5}
.sw-param :is(dt,dd){margin:0}.sw-param dt:not(.sw-sr-only){flex:none}.sw-param dd{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sw-card-notes{font-size:11px;line-height:13px;color:var(--sw-muted);overflow:hidden}
.sw-note{display:flex;gap:var(--space-2);align-items:center}.sw-note>.sw-glyph{width:13px;height:13px}.sw-note>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sw-card-foot{display:flex;align-items:stretch;gap:var(--space-2)}
.sw-count-button,.sw-shell button.sw-count-button{display:inline-flex;align-items:center;justify-content:flex-start;gap:var(--space-2);min-width:64px;padding:0 var(--space-2);height:36px;border:1px solid var(--sw-line);border-radius:5px;background:#fff;color:#355580;font-size:12px}
.sw-more,.sw-shell button.sw-more{display:flex;align-items:center;justify-content:center;margin-left:auto;width:40px;flex:none;height:36px;padding:0;border:0;background:#edf3ff;color:var(--sw-blue);border-radius:5px}
.sw-highlight{border-color:#286aff;box-shadow:0 0 0 3px #286aff30}
.sw-side{flex:0 0 var(--sample-chat-width);width:var(--sample-chat-width);display:flex;flex-direction:column;min-height:0;border-left:1px solid var(--sw-line);background:#fff;z-index:3}
.sw-tabs{flex:none;display:flex;align-items:center;border-bottom:1px solid var(--sw-line);padding:0 var(--space-3);height:44px;gap:var(--space-2)}
.sw-shell .sw-tabs>.sw-button{flex:1;border:0;border-bottom:2px solid transparent;background:transparent;border-radius:0;padding:var(--space-2) var(--space-1);font-size:12px;align-self:stretch;white-space:nowrap;color:var(--sw-muted)}
.sw-shell .sw-tabs>[aria-selected=true]{border-bottom-color:var(--sw-blue);color:var(--sw-blue)}
.sw-chat{display:flex;flex-direction:column;flex:1;min-height:0;position:relative}
.sw-feed{flex:1;min-height:0;overflow:auto;padding:var(--space-3) var(--space-2);overscroll-behavior:contain}
.sw-message{display:grid;grid-template-columns:36px minmax(0,1fr);gap:var(--space-3);padding:var(--space-3) var(--space-2);background:#fff;border:1px solid transparent;border-radius:8px;font-size:12px;line-height:1.5;overflow-wrap:anywhere;color:#39527a}
.sw-feed>.sw-message+.sw-message{margin-top:var(--space-2)}
.sw-message.mine{background:#f4f8fd;border-color:#edf2f9}
.sw-avatar{display:flex;align-items:center;justify-content:center;flex:none;width:36px;height:36px;border-radius:50%;background:#e8e5fa;color:#414580;font-size:13px;font-weight:500;line-height:1}
.sw-message.mine .sw-avatar{background:#deebff;color:#284f8e}
.sw-message-author{display:flex;align-items:baseline;gap:var(--space-1) var(--space-2);flex-wrap:wrap}
.sw-message-author strong{font-size:11px;color:var(--sw-ink);font-weight:650}.sw-message-author time{font-size:10px;color:var(--sw-muted)}
.sw-message-content{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-1)}
.sw-message-content>.sw-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-1);margin-top:var(--space-1)}
.sw-shell .sw-message button.sw-photo{height:auto;aspect-ratio:1;border-radius:5px;overflow:hidden}.sw-message .sw-thumb img{object-fit:cover}
.sw-pre{white-space:pre-wrap;overflow-wrap:anywhere}
.sw-message-context,.sw-shell button.sw-message-context{padding:var(--space-1) var(--space-2);text-align:left;border:0;border-left:2px solid var(--sw-blue);border-radius:3px;background:#e9f0fe;color:#2856a0;font-size:12px}
.sw-composer{flex:none;margin:0;padding:var(--space-3);border-top:1px solid var(--sw-line);background:#fff;display:flex;flex-direction:column;gap:var(--space-2);max-height:55%;overflow:auto}
.sw-compose-line{display:flex;align-items:flex-end;gap:var(--space-2)}
.sw-composer textarea{flex:1;width:100%;resize:none;min-height:40px;max-height:128px;font:12px/18px var(--font);padding:var(--space-2);border:1px solid var(--sw-line);border-radius:5px;background:#fff;color:var(--sw-ink)}
.sw-composer textarea::placeholder{color:#7d91b2}
.sw-shell button.sw-compose-attach,.sw-shell button.sw-send{display:flex;align-items:center;justify-content:center;flex:none;width:36px;height:40px;padding:0;border:1px solid var(--sw-line);border-radius:5px;background:#fff;color:#355580}
.sw-shell button.sw-send{background:#e1ebff;border-color:#e1ebff;color:var(--sw-blue)}
.sw-shell button.sw-send:hover:not(:disabled){background:#cddfff;filter:none}
.sw-shell button.sw-send.is-busy>.sw-glyph{display:none}
.sw-shell button.sw-send.is-busy:after{content:'';width:16px;height:16px;border:2px solid #b1c8fa;border-top-color:var(--sw-blue);border-radius:50%;animation:sw-spin .8s linear infinite}
@keyframes sw-spin{to{transform:rotate(360deg)}}
.sw-compose-actions{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}
.sw-compose-actions select{flex:1;padding:var(--space-1);border:1px solid var(--sw-line);border-radius:5px;font:12px var(--font);color:var(--sw-muted);background:#fff}
.sw-feedback{color:#ae3840;font-size:12px}.sw-feedback:empty,.sw-context:empty,.sw-queued:empty{display:none}
.sw-context{display:flex;align-items:center;gap:var(--space-2);border-left:2px solid var(--sw-blue);background:#f1f5fc;padding:var(--space-2);color:#2b568f;font-size:12px}
.sw-context>.sw-thumb{width:32px;height:32px;flex:none}.sw-context>span{flex:1;overflow-wrap:anywhere}
.sw-queue-row{display:flex;gap:var(--space-2);align-items:center;font-size:11px;padding:var(--space-1) 0}.sw-queue-row>img{width:32px;height:32px;object-fit:contain}.sw-queue-row>span{overflow-wrap:anywhere;flex:1}
.sw-all-files{overflow:auto;flex:1;min-height:0;padding:var(--space-3)}
.sw-file-row{display:flex;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--sw-line)}.sw-file-row>div{flex:1}.sw-file-row .sw-text-button{overflow-wrap:anywhere}
.sw-file-thumb,.sw-shell button.sw-file-thumb{padding:0;width:52px;height:52px;flex:none;border:1px solid var(--sw-line);background:#f7f8fb;border-radius:5px}
.sw-new-messages{align-self:center;font-size:12px;padding:var(--space-1) var(--space-3);background:#eaf1ff;color:#2457b2;border:1px solid #cdddf8;border-radius:20px;margin:var(--space-1)}
.sw-details{background:#fff;display:flex;flex-direction:column;gap:14px}.sw-details>*{flex-shrink:0}.sw-details>.sw-button{align-self:flex-start}
.sw-detail-params{display:grid;grid-template-columns:130px minmax(0,1fr);gap:8px;margin:0}.sw-detail-params :is(dt,dd){margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.sw-detail-params dt{color:#64758f}
.sw-detail-section{border-top:1px solid #e2e7ef;padding-top:14px;display:flex;flex-direction:column;gap:8px;scroll-margin:16px}
.sw-detail-form,.sw-detail-fields{display:flex;flex-direction:column;gap:var(--space-4);min-width:0;margin:0;padding:0;border:0}
.sw-detail-field{display:flex;flex-direction:column;gap:var(--space-2);font-weight:500}
.sw-detail-field :is(input,textarea){box-sizing:border-box;width:100%;min-width:0;padding:var(--space-2) var(--space-3);border:1px solid var(--sw-line);border-radius:6px;background:#fff;color:var(--sw-ink);font:inherit;line-height:1.5}
.sw-detail-field textarea{resize:vertical}
.sw-detail-section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}
.sw-detail-queue{display:flex;flex-direction:column;gap:var(--space-2)}
.sw-detail-queued{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;padding:var(--space-2);background:var(--sw-canvas);border-radius:6px;overflow-wrap:anywhere}
.sw-detail-queued>span:first-child{flex:1;min-width:0}
.sw-detail-agreement{display:flex;align-items:flex-start;gap:var(--space-2)}
.sw-detail-agreement input{flex:none;width:auto;margin:var(--space-1) 0 0}
.sw-detail-actions{position:sticky;bottom:calc(-1 * var(--space-4));display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-3) 0;background:#fff;border-top:1px solid var(--sw-line);z-index:1}
.sw-detail-feedback{flex:1;min-width:180px;font-size:12px;line-height:1.5}
.sw-detail-form .sw-detail-section{padding-top:var(--space-3);gap:var(--space-2)}
.sw-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,110px);gap:8px}.sw-photo,.sw-shell button.sw-photo{height:100px;border:1px solid #e1e7ef;padding:0;border-radius:6px;background:#f5f6f8}
.sw-layer{position:absolute;inset:0;z-index:4;background:#fff;overflow:hidden}.sw-layer-content{display:flex;flex-direction:column;gap:14px;height:100%;overflow:auto;padding:20px}.sw-layer-content>button{align-self:flex-start;text-align:left}
.sw-editor-layer{display:flex;flex-direction:column;padding:12px;gap:8px}.sw-editor-bar{flex:none}.sw-editor-body{flex:1;min-height:0}.sw-editor-body .sr-manager-head{display:none}.sw-editor-body .sr-editor{overflow:hidden}.sw-editor-body .sr-workspace{grid-template-columns:210px minmax(0,1fr)}
.sw-menu{position:absolute;z-index:10;background:#fff;border:1px solid #d9e1ed;border-radius:8px;box-shadow:0 8px 28px #16274426;width:216px;padding:5px;display:flex;flex-direction:column;gap:2px}
.sw-menu>button{background:transparent;border:0;text-align:left;font-size:12px;padding:9px 8px}
.sw-gallery{position:absolute;inset:0;z-index:12;display:flex;flex-direction:column;background:#f7f9fc;padding:16px;gap:16px}
.sw-gallery-head{display:flex;gap:8px;align-items:center}.sw-gallery-head>span{flex:1;overflow-wrap:anywhere}.sw-gallery-content{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.sw-gallery-content>img{max-width:100%;max-height:90%;object-fit:contain}
.sw-empty{padding:24px 12px;text-align:center;color:#64758f;font-size:13px}.sw-error{color:#b92d39;padding:14px}
.sw-skeleton{background:linear-gradient(100deg,#f0f3f8 30%,#fafbfe 50%,#f0f3f8 70%);background-size:200% 100%;animation:sw-loading 1.7s linear infinite}
@keyframes sw-loading{to{background-position:-200% 0}}
.sw-chat-toggle,.sw-drawer-close{display:none!important}
@container sample-window (width < 1200px){
 .sw-side{position:absolute;right:0;top:0;bottom:0;box-shadow:-12px 0 40px #24395620;max-width:100%;display:none}
 .sw-chat-open .sw-side{display:flex}.sw-chat-toggle,.sw-drawer-close{display:inline-flex!important}
 .sw-header-actions{gap:var(--space-2)}.sw-header-top{align-items:flex-start}
}
@container sample-window (width < 740px){
 .sw-hosted .sw-header{display:flex}.sw-hosted .sw-header-info{display:flex}.sw-header-actions{flex-wrap:wrap}
 .sw-header{padding:var(--space-3)}.sw-header-top{flex-direction:column;gap:var(--space-2)}.sw-header-info{align-items:flex-start;gap:8px}.sw-header h2{font-size:15px}.sw-request-meta{font-size:12px}.sw-client>strong{font-size:14px}
 .sw-list,.sw-details{padding:12px}.sw-editor-body .sr-workspace{grid-template-columns:160px minmax(0,1fr)}.sw-editor-body .sr-position-editor{padding:10px}.sw-steps li{max-width:160px}
}
@container sample-window (width < 540px){
 .sw-grid{grid-template-columns:minmax(0,min(248px,100%))}.sw-header-info{flex-direction:column}.sw-request-meta{align-items:flex-start}.sw-header-actions{flex-wrap:wrap}.sw-factory-title{gap:var(--space-2)}.sw-factory-due{flex-basis:100%;order:2}.sw-factory-head{gap:var(--space-2)}
 .sw-editor-body .sr-workspace{display:flex;flex-direction:column}.sw-editor-body .sr-position-list{max-height:100px;flex:none;border-right:0;border-bottom:1px solid #dce3ee}.sw-editor-body .sr-position-editor{flex:1}.sw-detail-params{grid-template-columns:96px minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){.sw-shell *{animation:none!important;scroll-behavior:auto!important;transition:none!important}}

.sw-upload-progress{width:100%;height:5px;accent-color:var(--accent)}
