:root{--bg:#f4f4f5;--bg-accent:#ececee;--text:#18181b;--muted:#71717a;--accent:#475569;--accent-soft:#f1f5f9;--font-mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--surface:#fff;--surface-muted:#fafafa;--surface-border:#18181b14;--surface-shadow:0 8px 24px #18181b0f;--radius:8px;--radius-sm:6px;--radius-pill:999px;--focus-ring:0 0 0 3px #4755692e;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Segoe UI,PingFang SC,Hiragino Sans GB,Noto Sans SC,Microsoft YaHei,sans-serif;line-height:1.5}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{color:var(--text);background:linear-gradient(#f6f6f7 0%,#f0f0f2 100%) fixed}code,.mono{font-family:var(--font-mono)}.ant-select-dropdown,.ant-dropdown,.ant-picker-dropdown,.ant-cascader-dropdown,.ant-drawer-content,.ant-modal-content,.ant-popover-inner,.ant-tooltip-inner{-webkit-backdrop-filter:none!important;border-radius:var(--radius-sm)!important;background:#fff!important}.ant-btn:focus-visible,.ant-input:focus-visible,.ant-input-affix-wrapper:focus-within,.ant-select-focused .ant-select-selector{box-shadow:var(--focus-ring)!important}.ant-btn{transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s}.ops-tool-actions .ant-btn{box-shadow:none;border-radius:8px}.ops-tool-actions .ant-btn-default:not(.ant-btn-dangerous){color:#3f3f46;background:#fff;border-color:#e4e4e7}.ops-tool-actions .ant-btn-default:not(.ant-btn-dangerous):hover{color:#18181b!important;background:#fafafa!important;border-color:#a1a1aa!important}.ops-tool-actions .ant-btn-primary{color:#3f3f46!important;box-shadow:none!important;background:#fff!important;border:1px solid #e4e4e7!important}.ops-tool-actions .ant-btn-primary:hover{color:#18181b!important;background:#fafafa!important;border-color:#a1a1aa!important}.ops-tool-actions .ant-btn-dangerous{background:#fff!important}.poolable-image{cursor:grab;vertical-align:top;max-width:100%;display:inline-block}.poolable-image:active{cursor:grabbing}.poolable-image:has(.media-thumb-btn){width:100%;display:block}.poolable-image img{-webkit-user-drag:none}.users-layout{min-width:0;height:calc(100vh - var(--page-chrome,100px));max-height:calc(100vh - var(--page-chrome,100px));flex-direction:column;display:flex;overflow:hidden}.users-workbench{flex:1;align-items:stretch;gap:16px;min-width:0;min-height:0;display:flex;overflow:hidden}.users-list-pane{border:1px solid var(--surface-border);background:#fff;border-radius:8px;flex-direction:column;flex-shrink:0;width:340px;min-width:0;min-height:0;padding:12px;display:flex;overflow:hidden}.users-list{flex:1;min-height:0;overflow:auto}.users-list-empty{place-items:center;min-height:160px;display:grid}.users-list-item{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;border:0;border-radius:8px;flex-direction:column;gap:4px;margin:0 0 4px;padding:8px 10px;display:flex}.users-list-item:hover,.users-list-item.is-active{background:#f4f4f5}.users-list-name{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;line-height:1.3;overflow:hidden}.users-list-meta{min-width:0;color:var(--muted);gap:8px;font-size:12px;line-height:1.3;display:flex}.users-list-id{font-family:var(--font-mono);white-space:nowrap;flex-shrink:0}.users-list-meta span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.users-detail-pane{border:1px solid var(--surface-border);background:#fff;border-radius:8px;flex:1;min-width:0;min-height:0;padding:16px;overflow:auto}.users-detail-back{margin-bottom:12px}.user-detail-meta{min-width:0}.user-detail-meta .ant-typography code{white-space:nowrap}@media (width<=768px){.users-workbench.is-list .users-detail-pane,.users-workbench.is-detail .users-list-pane{display:none}.users-list-pane,.users-detail-pane{width:100%}}.media-thumb-btn{aspect-ratio:3/4;cursor:pointer;background:#f4f4f5;border:0;width:100%;padding:0;display:block;overflow:hidden}.media-thumb-btn img{object-fit:cover;width:100%;height:100%;display:block}.media-missing{aspect-ratio:3/4;color:#71717a;background:#f4f4f5;place-items:center;font-size:12px;display:grid}.task-pipeline-step .ant-card-body{overflow:hidden}.task-step-media-grid{flex-wrap:wrap;gap:12px;display:flex}.task-step-media{width:168px;max-width:100%}.task-step-image-frame{background:#f6f7f9;border:1px solid #e5e7eb;border-radius:6px;width:168px;max-width:100%;height:224px;overflow:hidden}.task-step-image-frame .ant-image,.task-step-image-frame .ant-image-img{width:100%;height:100%;display:block}.task-step-image-frame .ant-image-img{object-fit:contain}.task-step-media-label{margin-top:4px;font-size:12px;display:block}.task-node-content{align-items:center;gap:8px;min-width:0;display:flex}.task-node-content-thumbs{flex-shrink:0;gap:6px;display:flex}.task-node-content-thumb{background:#f6f7f9;border:1px solid #e5e7eb;border-radius:4px;width:48px;height:64px;overflow:hidden}.task-node-content-thumb .poolable-image,.task-node-content-thumb .ant-image,.task-node-content-thumb .ant-image-img{width:100%;height:100%;display:block}.task-node-content-thumb .ant-image-img{object-fit:cover}.task-node-content-thumb .ant-image-error,.task-node-content-thumb .ant-image-error img{object-fit:cover;width:100%;height:100%;display:block}.task-node-content-copy{min-width:0;font-size:13px}.task-outfit-content{flex-direction:column;gap:12px;display:flex}.task-outfit-items{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;display:grid}.task-outfit-item{background:#fafafa;border:1px solid #e5e7eb;border-radius:6px;grid-template-columns:64px minmax(0,1fr);gap:10px;min-height:88px;padding:8px;display:grid}.task-outfit-item-image{background:#f3f4f6;border-radius:4px;width:64px;height:80px;overflow:hidden}.task-outfit-item-image.ant-image,.task-outfit-item-image .ant-image,.task-outfit-item-image .ant-image-img{width:100%;height:100%;display:block}.task-outfit-item-image .ant-image-img{object-fit:contain}.task-outfit-item-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.task-step-video-wrap{width:240px;max-width:100%}.task-step-video{aspect-ratio:9/16;object-fit:contain;background:#111827;border-radius:6px;width:100%;max-height:360px;display:block}.closet-card{position:relative}.closet-card-check{z-index:2;background:#ffffffeb;border-radius:4px;padding:2px 4px;line-height:1;position:absolute;top:8px;left:8px}.user-memory-card{min-width:0}.user-memory-loading{place-items:center;min-height:72px;display:grid}.user-memory-item{border:1px solid var(--surface-border);background:#fafafa;border-radius:6px;justify-content:space-between;align-items:flex-start;gap:8px;min-width:0;padding:8px 10px;display:flex}.user-memory-item-main{flex:1;min-width:0}.user-memory-fact-id{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}.user-memory-item-actions{flex-shrink:0}@media (width<=768px){.user-memory-item{flex-direction:column}.user-memory-item-actions{align-self:flex-end}}.filter-bar{flex-direction:column;gap:8px;min-width:0;margin-bottom:12px;display:flex}.filter-bar-row,.filter-bar-time{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.filter-bar-chips{flex-wrap:wrap;gap:4px;min-width:0;display:flex}.filter-bar .ant-input,.filter-bar .ant-select{min-width:0}.wardrobe-cat-page{flex-direction:column;gap:12px;min-width:0;display:flex}.wardrobe-cat-alert{margin-bottom:0}.wardrobe-cat-source{margin-bottom:0!important}.wardrobe-cat-loading{justify-content:center;padding:48px 0;display:flex}.wardrobe-cat-summary{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;display:grid}.wardrobe-cat-stat{border:1px solid var(--surface-border);background:#fff;border-radius:8px;min-width:0;padding:12px 14px}.wardrobe-cat-stat-wide{grid-column:span 1}.wardrobe-cat-stat-label{color:#00000073;margin-bottom:6px;font-size:12px}.wardrobe-cat-stat-value{word-break:break-word;font-size:22px;font-weight:600;line-height:1.2}.wardrobe-cat-stat-time{font-size:16px;font-weight:500}.wardrobe-cat-stat-sub{color:#00000073;margin-left:4px;font-size:13px;font-weight:500}.wardrobe-cat-table{background:#fff}.wardrobe-cat-root-name{font-weight:600}.wardrobe-cat-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}.wardrobe-cat-def{color:#000000e0}.wardrobe-cat-def-missing{color:#00000073;font-style:italic}@media (width<=720px){.wardrobe-cat-stat-value{font-size:18px}}.monitoring-page{min-height:calc(100vh - var(--page-chrome));flex-direction:column;gap:12px;display:flex}.monitoring-tabs{align-self:flex-start}.monitoring-state{border:1px solid var(--surface-border);background:#fff;border-radius:8px;flex:1;place-content:center;justify-items:center;gap:12px;min-height:240px;display:grid}.monitoring-iframe{width:100%;min-height:min(72vh, calc(100vh - var(--page-chrome) - 120px));border:1px solid var(--surface-border);background:#fff;border-radius:8px;flex:auto}.app-shell{min-height:100vh;background:0 0!important}.app-shell>.ant-layout{min-width:0;background:0 0!important}.app-sider{flex-direction:column;height:100vh;display:flex;top:0;overflow:hidden;box-shadow:4px 0 20px #18181b08;border-inline-end:1px solid var(--surface-border)!important;background:#fff!important;position:sticky!important}.app-sider .ant-layout-sider-children{flex-direction:column;height:100%;min-height:0;padding:14px 10px;display:flex}.sidebar-nav{overscroll-behavior:contain;flex:auto;min-height:0;overflow:hidden auto}.app-sider .ant-menu{background:0 0!important}.app-sider .ant-menu-item{transition:background-color .15s,color .15s;border-radius:8px!important;width:100%!important;margin-inline:0!important}.app-sider .ant-menu-item-group-title{letter-spacing:.04em;font-weight:600;color:var(--muted)!important;padding:16px 12px 6px!important;font-size:11px!important}.app-sider .ant-menu-item-selected{font-weight:600}.sidebar-brand{border-bottom:1px solid var(--surface-border);flex-shrink:0;align-items:center;gap:10px;margin-bottom:6px;padding:8px 12px 16px;display:flex}.sidebar-logo{border-radius:10px;flex-shrink:0;width:36px;height:36px;display:block;overflow:hidden;box-shadow:0 2px 8px #18181b14}.sidebar-brand-text{flex-direction:column;min-width:0;line-height:1.25;display:flex}.sidebar-footer{border-top:1px solid var(--surface-border);flex-direction:column;flex-shrink:0;gap:8px;margin-top:auto;padding-top:12px;display:flex}.user-chip{background:var(--surface-muted);border:1px solid var(--surface-border);border-radius:10px;align-items:center;gap:8px;min-width:0;padding:8px 10px;display:flex}.app-header{border-bottom:1px solid var(--surface-border);z-index:20;justify-content:space-between;align-items:center;gap:16px;display:flex;position:sticky;top:0;background:#f4f4f5!important;height:56px!important;padding:0 24px!important;line-height:56px!important}.app-header-left,.app-header-right{align-items:center;min-width:0;display:flex}.app-header-right{flex-shrink:0}.app-content{min-width:0;min-height:0;background:0 0!important}.app-content .ant-card{box-shadow:none;border-color:var(--surface-border)!important;border-radius:8px!important}.app-content .ant-table-wrapper .ant-table-container,.app-content .ant-table-container{border:1px solid var(--surface-border);box-shadow:none;background:#fff;border-radius:8px;overflow:hidden}.app-content .ant-input,.app-content .ant-input-affix-wrapper,.app-content .ant-select-selector,.app-content .ant-picker{border-radius:8px!important}.page-frame{--page-chrome:100px;width:min(1280px,100%);min-width:0;margin:0 auto;padding:20px 24px 24px}.auth-screen{background:linear-gradient(#f6f6f7 0%,#f0f0f2 100%);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{border:1px solid var(--surface-border);text-align:center;width:min(400px,100vw - 40px);box-shadow:var(--surface-shadow);background:#fff;border-radius:16px;padding:36px 32px}.auth-logo{border-radius:12px;width:52px;height:52px;margin:0 auto 18px;overflow:hidden;box-shadow:0 4px 12px #18181b1a}.auth-logo svg{width:100%;height:100%;display:block}@media (width<=900px){.page-frame{--page-chrome:88px;padding:16px}}@media (width<=992px){.app-sider.ant-layout-sider-collapsed{border-inline-end-width:0!important;flex:0 0 0!important;width:0!important;min-width:0!important;max-width:0!important;overflow:hidden!important}.app-sider.ant-layout-sider-collapsed .ant-layout-sider-children{display:none;width:0!important;min-width:0!important;max-width:0!important;padding:0!important;overflow:hidden!important}}
