:root{--accent:#f60;--accent-weak:color-mix(in oklab, var(--accent) 12%, transparent);--accent-ink:color-mix(in oklab, var(--accent) 80%, black 20%);--ok:#3fa34d;--warn:#e08a1e;--bad:#d4453b;--purple:#8e44c4;--bg:#f3f4f6;--panel:#fff;--panel-2:#fafbfc;--sidebar:#15181e;--sidebar-ink:#c5cad3;--sidebar-ink-dim:#828a98;--ink:#1a1d23;--ink-2:#4a525e;--ink-3:#79828f;--line:#e4e7ec;--line-2:#eef1f4;--shadow:0 1px 2px #1016220f, 0 1px 3px #1016220a;--shadow-lg:0 6px 24px #1016221a;--radius:9px;--radius-sm:6px;--row-h:38px;--pad:20px;--gap:16px}[data-theme=dark]{--sidebar:#0a0c10;--sidebar-ink:#c5cad3;--sidebar-ink-dim:#6b7280}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:Segoe UI,system-ui,sans-serif;font-size:14px;line-height:1.45}.mono,.num{font-variant-numeric:tabular-nums}::selection{background:var(--accent-weak)}button{cursor:pointer;font-family:inherit}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:color-mix(in oklab, var(--ink-3) 40%, transparent);border:2px solid var(--panel);border-radius:8px}::-webkit-scrollbar-track{background:0 0}#root{min-height:100vh}.app{grid-template-columns:auto 1fr;min-height:100vh;display:grid}.sidebar{background:var(--sidebar);color:var(--sidebar-ink);flex-direction:column;width:232px;display:flex}.sb-brand{align-items:center;gap:11px;padding:16px;display:flex}.sb-logo{background:var(--accent);color:#fff;border-radius:8px;flex:none;place-items:center;width:32px;height:32px;font-weight:700;display:grid}.sb-brand-txt{white-space:nowrap;overflow:hidden}.sb-brand-txt b{color:#fff;letter-spacing:.2px;font-size:14px;display:block}.sb-brand-txt span{color:var(--sidebar-ink-dim);font-size:11.5px}.sb-scroll{flex:1;padding:6px 10px 16px;overflow-y:auto}.sb-group-label{text-transform:uppercase;letter-spacing:.9px;color:var(--sidebar-ink-dim);padding:14px 10px 6px;font-size:10.5px}.sb-item{color:var(--sidebar-ink);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;border-radius:7px;align-items:center;gap:11px;padding:8px 10px;text-decoration:none;display:flex;position:relative}.sb-item:hover{color:#fff;background:#ffffff0f}.sb-item.active{color:#fff;background:#ffffff1a}.sb-item.active:before{content:"";background:var(--accent);border-radius:0 3px 3px 0;width:3px;position:absolute;top:7px;bottom:7px;left:-10px}.sb-item svg{opacity:.9;flex:none;width:18px;height:18px}.sb-submenu{flex-direction:column;padding:2px 0 6px 30px;display:flex}.sb-subitem{color:var(--sidebar-ink-dim);white-space:nowrap;border-radius:7px;padding:7px 10px;font-size:12.5px;text-decoration:none;display:block}.sb-subitem:hover{color:#fff;background:#ffffff0f}.sb-subitem.active{color:#fff;background:#ffffff1a}.sb-subgroup-toggle{width:100%;color:var(--sidebar-ink-dim);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:7px;justify-content:space-between;align-items:center;padding:7px 10px;font-size:12.5px;display:flex}.sb-subgroup-toggle:hover{color:#fff;background:#ffffff0f}.sb-subgroup-arrow{font-size:10px;transition:transform .15s}.sb-subgroup-arrow--open{transform:rotate(90deg)}.sb-subgroup-body{flex-direction:column;padding-left:14px;display:flex}.sb-subgroup-body .sb-subitem{font-size:12px}.sb-foot{border-top:1px solid #ffffff14;align-items:center;gap:10px;padding:12px;display:flex}.sb-ava{color:#fff;background:linear-gradient(135deg,#f60,#ffa64d);border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-size:12px;font-weight:600;display:grid}.sb-foot-txt{white-space:nowrap;line-height:1.25;overflow:hidden}.sb-foot-txt b{color:#fff;font-size:12.5px;display:block}.sb-foot-txt span{color:var(--sidebar-ink-dim);font-size:11px}.main{flex-direction:column;min-width:0;display:flex}.topbar{background:var(--panel);border-bottom:1px solid var(--line);flex:none;align-items:center;gap:14px;height:58px;padding:0 20px;display:flex}.tb-title{flex-direction:column;line-height:1.15;display:flex}.tb-title b{font-size:15px;font-weight:600}.tb-title span{color:var(--ink-3);font-size:12px}.tb-spacer{flex:1}.tb-icon{border:1px solid var(--line);background:var(--panel);width:36px;height:36px;color:var(--ink-2);border-radius:8px;place-items:center;display:grid;position:relative}.tb-icon:hover{background:var(--panel-2)}.content{padding:var(--pad);flex:1;overflow-y:auto}.page{max-width:1480px;margin:0 auto}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card-h{border-bottom:1px solid var(--line-2);align-items:center;gap:10px;padding:14px 16px;display:flex}.card-h h3{margin:0;font-size:13.5px;font-weight:600}.card-h .sub{color:var(--ink-3);font-size:12px}.card-b{padding:16px}.grid{gap:var(--gap);display:grid}.row{align-items:center;gap:10px;display:flex}.between{justify-content:space-between;align-items:center;gap:10px;display:flex}.muted{color:var(--ink-3)}.dim{color:var(--ink-2)}h2.page-title{margin:0 0 2px;font-size:19px;font-weight:600}.btn{border:1px solid var(--line);background:var(--panel);height:34px;color:var(--ink);border-radius:8px;align-items:center;gap:7px;padding:0 13px;font-size:13px;font-weight:500;display:inline-flex}.btn:hover{background:var(--panel-2)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent-ink)}.btn.danger{background:var(--bad);border-color:var(--bad);color:#fff}.btn.danger:hover{background:color-mix(in oklab, var(--bad) 85%, black 15%)}.btn.sm{height:28px;padding:0 10px;font-size:12px}.btn:disabled{opacity:.55;cursor:not-allowed}.btn svg{width:15px;height:15px}.pill{white-space:nowrap;border-radius:20px;align-items:center;gap:6px;height:22px;padding:0 9px;font-size:11.5px;font-weight:500;display:inline-flex}.pill i{background:currentColor;border-radius:50%;width:6px;height:6px}.tbl{border-collapse:collapse;width:100%;font-size:13px}.tbl th{text-align:left;text-transform:uppercase;letter-spacing:.5px;color:var(--ink-3);border-bottom:1px solid var(--line);padding:0 14px 8px;font-size:11px;font-weight:500}.tbl td{height:var(--row-h);border-bottom:1px solid var(--line-2);padding:0 14px}.tbl tbody tr:hover{background:var(--panel-2)}.tbl .r{text-align:right}.tbl .clickable{cursor:pointer}.progress{background:var(--line);border-radius:6px;height:6px;overflow:hidden}.progress>i{background:var(--accent);border-radius:6px;height:100%;display:block}.seg{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;gap:2px;padding:2px;display:inline-flex}.seg button{color:var(--ink-2);background:0 0;border:none;border-radius:6px;height:28px;padding:0 12px;font-size:12.5px;font-weight:500}.seg button.active{background:var(--panel);color:var(--ink);box-shadow:var(--shadow)}.inp,.ta,.selbox{border:1px solid var(--line);background:var(--panel-2);width:100%;font:inherit;color:var(--ink);border-radius:8px;font-size:13px}.inp{height:38px;padding:0 12px}.ta{resize:vertical;min-height:92px;padding:10px 12px;line-height:1.5}.inp:focus,.ta:focus,.selbox:focus{border-color:var(--accent);background:var(--panel);box-shadow:0 0 0 3px var(--accent-weak);outline:none}.inp:disabled{color:var(--ink-3);background:var(--line-2)}.selwrap{position:relative}.selwrap select{appearance:none;cursor:pointer;height:38px;padding:0 34px 0 12px}.toastwrap{z-index:300;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%)}.toast{background:var(--sidebar);color:#fff;box-shadow:var(--shadow-lg);border-radius:9px;align-items:center;gap:10px;max-width:420px;padding:10px 15px;font-size:13px;animation:.2s toastin;display:flex}.toast.success{border-left:3px solid var(--ok)}.toast.error{border-left:3px solid var(--bad)}.toast.info{border-left:3px solid var(--accent)}@keyframes toastin{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.fade-in{animation:.25s fade}@keyframes fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.os-theme{--os-color-1:#172139;--os-color-2:#000;--os-color-3:#f60;--os-color-4:#fff;--os-color-5:#a5a5a5;--os-color-6:#dbdbdb;--os-color-7:#f4f4f4;--os-color-8:#282525;--os-color-9:#d9d9d9;--os-color-10:#aeaeae;--os-color-11:#ff5959;--os-color-12:#c4c4c4;--os-color-13:#efefef;--os-color-14:#ff4545;--os-color-15:#e1e1e1;--os-color-16:#f5f5f5;--os-color-17:#f44;--os-color-18:#457ed4;--os-color-19:#f9d969;--os-color-20:#44ca8a;--os-color-21:#eb5757;color:var(--os-color-1);--bg:var(--os-color-7);--panel:var(--os-color-4);--panel-2:var(--os-color-16);--ink:var(--os-color-1);--ink-2:var(--os-color-1);--ink-3:var(--os-color-10);--line:var(--os-color-15);--line-2:var(--os-color-13);--accent:var(--os-color-3);--accent-ink:var(--os-color-1);--accent-weak:color-mix(in oklab, var(--os-color-3) 12%, transparent);--ok:#2a9d62;--warn:#8a6d10;--bad:#d14b4b;--radius:4px;--radius-sm:4px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.os-card{border:1px solid var(--os-color-15);background:var(--os-color-4);border-radius:4px;flex-direction:column;gap:18px;margin-bottom:16px;padding:18px;display:flex}.os-card__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.os-card__title-wrap{flex-direction:column;gap:4px;min-width:0;display:flex}.os-card__backlink{color:#7b818c;align-items:center;gap:8px;font-size:13px;line-height:1.2;text-decoration:none;display:inline-flex}.os-card__backlink:hover,.os-card__backlink:focus-visible{color:var(--os-color-3)}.os-card__title-row{align-items:center;gap:12px;display:flex}.os-card__back-circle{background:var(--os-color-4);width:32px;height:32px;color:var(--os-color-3);border:1px solid #17213926;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:15px;text-decoration:none;display:inline-flex}.os-card__back-circle:hover,.os-card__back-circle:focus-visible{border-color:var(--os-color-3);background:color-mix(in oklab, var(--os-color-3) 8%, var(--os-color-4))}.os-required{color:var(--os-color-3);margin-left:2px}.os-card__title{word-break:break-word;color:var(--os-color-1);margin:0;font-size:20px;font-weight:600;line-height:1.15}.os-card__meta-id{color:#8c9099;margin:0;font-size:13px;line-height:1.2}.os-card__actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.os-action{white-space:nowrap;cursor:pointer;border-radius:4px;justify-content:center;align-items:center;min-height:40px;padding:0 16px;font-size:14px;line-height:1;transition:background-color .15s,color .15s,border-color .15s;display:inline-flex}.os-action--primary{border:1px solid var(--os-color-1);background:var(--os-color-4);color:var(--os-color-1)}.os-action--primary:hover:not(:disabled){background:var(--os-color-1);border-color:var(--os-color-1);color:var(--os-color-4)}.os-action--ghost{background:var(--os-color-4);color:var(--os-color-1);border:1px solid #1721392e}.os-action--ghost:hover:not(:disabled){background:#17213914;border-color:#1721393d}.os-action--danger{background:var(--os-color-4);color:#d14b4b;border:1px solid #eb575773}.os-action--danger:hover:not(:disabled){background:var(--os-color-21);border-color:var(--os-color-21);color:var(--os-color-4)}.os-action:disabled{opacity:.56;cursor:not-allowed}.os-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 16px;display:grid}.os-form-field{flex-direction:column;gap:8px;min-width:0;display:flex}.os-form-field--full{grid-column:1/-1}.os-form-field>span{color:#8c9099;font-size:13px;line-height:1.2}.os-form-field input,.os-form-field select,.os-form-field textarea{background:var(--os-color-4);width:100%;min-width:0;min-height:44px;color:var(--os-color-1);font:inherit;border:1px solid #1721391f;border-radius:4px;padding:0 14px;font-size:14px;line-height:1.35}.os-form-field textarea{resize:vertical;min-height:96px;padding:12px 14px}.os-form-field input:focus,.os-form-field select:focus,.os-form-field textarea:focus{border-color:#ff6600b3;outline:none;box-shadow:0 0 0 3px #ff660014}.os-form-field input:disabled,.os-form-field select:disabled,.os-form-field textarea:disabled{background:var(--os-color-7);color:var(--os-color-10)}.os-form-actions{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.os-status{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;min-height:30px;padding:5px 12px;font-size:13px;font-weight:600;line-height:1.1;display:inline-flex}.os-status--plain{color:var(--os-color-1);background:#17213914}.os-status--accent{color:var(--os-color-3);background:#ff66001f}.os-status--ok{color:#2a9d62;background:#44ca8a26}.os-status--warn{color:#8a6d10;background:#f9d96940}.os-status--bad{color:#d14b4b;background:#eb575724}.os-list{border:1px solid var(--os-color-15);background:var(--os-color-4);border-radius:4px;flex-direction:column;display:flex;overflow:hidden}.os-list__row{border-bottom:1px solid var(--os-color-15);min-height:48px;color:inherit;cursor:pointer;background:var(--os-color-4);align-items:center;gap:12px;padding:8px 16px;text-decoration:none;display:flex}.os-list__row:last-child{border-bottom:none}.os-list__row:hover{background:var(--os-color-16)}.os-list__row-title{color:var(--os-color-1);font-weight:600}.os-list__row-sub{color:#7b818c;font-size:12.5px}.os-list__empty{text-align:center;color:#8c9099;padding:24px 16px;font-size:13.5px}.os-tree,.os-tree__level{flex-direction:column;gap:4px;display:flex}.os-tree__children{padding-left:22px}.os-tree__row{cursor:pointer;background:0 0;border-bottom:1px dashed #17213924;border-radius:4px;align-items:center;gap:8px;min-height:38px;padding:6px 10px;display:flex}.os-tree__row:hover{background:#ff66000f}.os-tree__row--leaf{padding-left:28px}.os-tree__toggle{width:16px;height:16px;color:var(--os-color-3);cursor:pointer;background:0 0;border:none;flex:0 0 16px;justify-content:center;align-items:center;padding:0;display:inline-flex}.os-tree__toggle span{border-bottom:2px solid;border-right:2px solid;width:8px;height:8px;transition:transform .2s;display:block;transform:rotate(45deg)}.os-tree__toggle[aria-expanded=true] span{transform:rotate(225deg)}.os-tree__title{min-width:0;color:var(--os-color-1);text-overflow:ellipsis;white-space:nowrap;font-size:14.5px;font-weight:600;text-decoration:none;overflow:hidden}.os-tree__row:hover .os-tree__title{color:var(--os-color-3)}.os-tree__meta-chip{white-space:nowrap;color:#7b818c;background:#7b818c17;border-radius:999px;align-items:center;padding:3px 8px;font-size:11.5px;display:inline-flex}.os-tree__orphaned{border-top:1px dashed #d65b3d66;margin-top:12px;padding-top:10px}.os-tree__orphaned-title{color:#d65b3d;margin-bottom:6px;font-size:12px}.os-tree__row--drop-target{outline:1px dashed var(--os-color-3);background:#ff660029}.os-tree--drop-target{outline:1px dashed var(--os-color-3);outline-offset:2px;border-radius:4px}.os-table-toolbar{justify-content:flex-end;align-items:center;gap:10px;margin-bottom:12px;display:flex}.os-list-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.os-list-toolbar__creates{flex-wrap:wrap;gap:10px;display:flex}.os-list-toolbar__filters{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.os-action--create{background:var(--os-color-1);color:var(--os-color-4);text-transform:uppercase;letter-spacing:.02em;border:none;font-size:13px;font-weight:600;text-decoration:none}.os-action--create:hover:not(:disabled){background:var(--os-color-3)}.os-table-toolbar input{background:var(--os-color-4);min-width:220px;min-height:40px;color:var(--os-color-1);font:inherit;border:1px solid #1721391f;border-radius:4px;padding:0 14px;font-size:14px}.os-table-wrap{border:1px solid var(--os-color-15);background:var(--os-color-4);border-radius:4px;overflow-x:auto}.os-table{border-collapse:collapse;width:100%;font-size:13.5px}.os-table th{background:var(--os-color-7);color:var(--os-color-1);text-align:left;white-space:nowrap;border-bottom:1px solid var(--os-color-15);cursor:pointer;-webkit-user-select:none;user-select:none;padding:10px 14px;font-weight:600;position:sticky;top:0}.os-table th:hover{color:var(--os-color-3)}.os-table th .os-table__sort{color:var(--os-color-10);margin-left:6px;font-size:11px}.os-table th[aria-sort=ascending] .os-table__sort,.os-table th[aria-sort=descending] .os-table__sort{color:var(--os-color-3)}.os-table td{border-bottom:1px solid var(--os-color-15);color:var(--os-color-1);vertical-align:middle;white-space:nowrap;padding:10px 14px}.os-table tbody tr{cursor:pointer}.os-table tbody tr:hover{background:var(--os-color-16)}.os-table tbody tr:last-child td{border-bottom:none}.os-table td.os-table__dim{color:#8c9099}.os-table__empty{text-align:center;color:#8c9099;padding:24px 16px;font-size:13.5px}.os-asset-grid-wrap{border:1px solid var(--os-color-15);background:var(--os-color-4);border-radius:4px;position:relative;overflow:hidden}.os-asset-grid-body-scroller{scrollbar-width:thin;scrollbar-color:#17213933 #1721390a;min-width:0;padding-bottom:3px;overflow:auto visible}.os-asset-grid-body-scroller::-webkit-scrollbar{height:6px}.os-asset-grid-body-scroller::-webkit-scrollbar-track{background:#1721390b;border-radius:999px}.os-asset-grid-body-scroller::-webkit-scrollbar-thumb{background:#17213933;border-radius:999px}.os-asset-grid{min-width:100%;font-size:14px}.os-asset-grid-head-wrap{z-index:6;width:max-content;min-width:100%;position:sticky;top:0}.os-asset-grid__row{grid-template-columns:var(--os-asset-grid-columns);align-items:stretch;width:max-content;min-width:100%;display:grid}.os-asset-grid__header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;border-bottom:1px dotted #1721392e}.os-asset-grid__body{flex-direction:column;display:flex}.os-asset-grid__data-row{background:var(--os-color-4);border-bottom:1px solid var(--os-color-15);cursor:pointer}.os-asset-grid__data-row:hover{background:var(--os-color-16)}.os-asset-grid__data-row:last-child{border-bottom:none}.os-asset-grid__cell{min-width:0;color:var(--os-color-1);align-items:center;padding:8px 5px;display:flex;position:relative}.os-asset-grid__cell--checkbox{justify-content:center;padding-left:18px;padding-right:10px}.os-asset-grid__cell--id{padding-left:10px}.os-asset-grid__cell--photo{justify-content:center}.os-asset-grid__header .os-asset-grid__cell{min-height:52px;padding-top:10px;padding-bottom:10px}.os-asset-grid__header .os-asset-grid__cell:not(:first-child):before{content:"";border-left:1px dotted var(--os-color-12);position:absolute;top:16px;bottom:16px;left:0}.os-asset-grid__head-label{min-width:0;color:var(--os-color-1);align-items:center;gap:7px;font-size:14px;font-weight:600;line-height:1.15;display:inline-flex}.os-asset-grid__head-label span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.os-asset-grid__cell--head.os-asset-grid__sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.os-asset-grid__sort-indicator{color:var(--os-color-10);margin-left:6px;font-size:11px}.os-asset-grid__cell[aria-sort=ascending] .os-asset-grid__sort-indicator,.os-asset-grid__cell[aria-sort=descending] .os-asset-grid__sort-indicator{color:var(--os-color-3)}.os-asset-grid__th-row{align-items:center;gap:6px;min-width:0;display:flex}.os-asset-grid__col-search-toggle{cursor:pointer;color:var(--os-color-10);opacity:.7;background:0 0;border:none;flex:none;padding:0;font-size:12px;line-height:1}.os-asset-grid__col-search-toggle:hover,.os-asset-grid__col-search-toggle.active{opacity:1;color:var(--os-color-3)}.os-asset-grid__cell--search-open{background:color-mix(in oklab, var(--os-color-3) 8%, transparent);box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--os-color-3) 12%, transparent);border-radius:4px}.os-asset-grid__th-row--search{gap:8px;width:100%}.os-asset-grid__col-search-input{min-width:0;min-height:26px;color:var(--os-color-1);text-transform:none;background:0 0;border:none;flex:auto;padding:0 4px;font-size:13.5px;font-weight:600}.os-asset-grid__col-search-input:focus{outline:none}.os-asset-grid__resize-handle{z-index:2;cursor:col-resize;background:0 0;border:none;width:12px;padding:0;position:absolute;top:8px;bottom:8px;right:-6px}.os-asset-grid__resize-handle:after{content:"";background:color-mix(in oklab, var(--os-color-3) 15%, transparent);opacity:0;border-radius:999px;width:2px;transition:background-color .2s,opacity .2s;position:absolute;top:4px;bottom:4px;left:5px}.os-asset-grid__cell--head:hover .os-asset-grid__resize-handle:after,.os-asset-grid__cell--head.is-resizing .os-asset-grid__resize-handle:after{opacity:1;background:color-mix(in oklab, var(--os-color-3) 60%, transparent)}.os-asset-grid__id{color:var(--os-color-3);white-space:nowrap;border-bottom:1px solid;font-weight:400}.os-asset-grid__thumb-wrap{flex:none;justify-content:center;align-items:center;width:72px;height:54px;display:flex}.os-asset-grid__thumb{background:var(--os-color-4);object-fit:contain;object-position:center;border:1px solid #17213914;border-radius:4px;width:72px;height:54px;padding:4px;display:block}.os-asset-grid__thumb--empty{color:#c0c5cf;background:linear-gradient(#fbfbfc 0%,#f2f4f7 100%);justify-content:center;align-items:center;font-size:20px;display:inline-flex}.os-asset-grid__title,.os-asset-grid__text{min-width:0;color:var(--os-color-1);white-space:nowrap;text-overflow:ellipsis;font-size:14px;line-height:1.24;overflow:hidden}.os-asset-grid__title{font-weight:400}.os-asset-grid__text--strong{font-weight:600}.os-asset-grid__text--clamp{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.os-asset-grid__text.os-asset-grid__dim{color:#8c9099}.os-asset-grid-empty{text-align:center;color:#8c9099;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:48px 16px;display:flex}.os-asset-grid-empty__icon{opacity:.5;font-size:32px}.os-asset-grid-empty h3{color:var(--os-color-1);margin:0;font-size:15px;font-weight:700}.os-asset-grid-empty p{max-width:360px;margin:0;font-size:13px}.os-switch-field{border:1px solid var(--os-color-15);background:var(--os-color-4);border-radius:6px;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;display:flex}.os-switch-field__label{color:var(--os-color-1);font-size:13px;font-weight:700}.os-switch-field__hint{color:#8c9099;font-size:11.5px}.os-switch{cursor:pointer;flex:none;width:40px;height:22px;display:inline-block;position:relative}.os-switch input{opacity:0;width:0;height:0}.os-switch__track{background:#1721392e;border-radius:999px;transition:background-color .15s;position:absolute;inset:0}.os-switch__track:before{content:"";background:var(--os-color-4);border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:3px;left:3px}.os-switch input:checked+.os-switch__track{background:var(--os-color-3)}.os-switch input:checked+.os-switch__track:before{transform:translate(18px)}.os-modal-overlay{z-index:100;background:#17213973;justify-content:center;align-items:flex-start;padding:64px 16px;display:flex;position:fixed;inset:0}.os-modal{background:var(--os-color-4);border-radius:8px;width:100%;max-width:720px;padding:24px;box-shadow:0 20px 60px #17213947}.os-modal__header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.os-modal__title{color:var(--os-color-1);margin:0;font-size:18px;font-weight:700}.os-modal__close{background:var(--os-color-4);width:36px;height:36px;color:var(--os-color-1);cursor:pointer;border:1px solid #17213926;border-radius:4px;justify-content:center;align-items:center;font-size:14px;display:inline-flex}.os-modal__close:hover{border-color:var(--os-color-3);color:var(--os-color-3)}.os-table-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:12px;display:flex}.os-table-footer__pages{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.os-table-footer__page-btn{background:var(--os-color-4);min-width:34px;min-height:34px;color:var(--os-color-1);cursor:pointer;border:1px solid #17213926;border-radius:4px;padding:0 8px;font-size:13px}.os-table-footer__page-btn:hover:not(:disabled){border-color:var(--os-color-3);color:var(--os-color-3)}.os-table-footer__page-btn.active{background:var(--os-color-1);border-color:var(--os-color-1);color:var(--os-color-4)}.os-table-footer__page-btn:disabled{opacity:.5;cursor:not-allowed}.os-table-footer__options{color:var(--os-color-1);flex-wrap:wrap;align-items:center;gap:16px;font-size:13.5px;display:flex}.os-table-footer__checkbox{cursor:pointer;align-items:center;gap:6px;display:flex}.os-table-footer__view-toggle{border:1px solid #17213926;border-radius:4px;gap:2px;display:flex;overflow:hidden}.os-table-footer__view-btn{background:var(--os-color-4);width:34px;height:34px;color:var(--os-color-10);cursor:pointer;border:none;justify-content:center;align-items:center;font-size:14px;display:inline-flex}.os-table-footer__view-btn.active{background:var(--os-color-1);color:var(--os-color-4)}.os-table__thumb{object-fit:cover;border:1px solid var(--os-color-15);background:var(--os-color-7);border-radius:4px;width:40px;height:40px;display:block}.os-table__thumb-empty{border:1px solid var(--os-color-15);background:var(--os-color-7);border-radius:4px;width:40px;height:40px}.os-shell__main{background:var(--os-color-7);min-width:0;padding:24px}.os-shell__main .page{max-width:none;margin:0}.os-tabs{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.os-tabs__item{background:var(--os-color-4);min-height:38px;color:var(--os-color-1);border:1px solid #1721392e;border-radius:4px;align-items:center;padding:0 16px;font-size:14px;text-decoration:none;display:inline-flex}.os-tabs__item:hover{border-color:var(--os-color-3)}.os-tabs__item.active{background:var(--os-color-1);border-color:var(--os-color-1);color:var(--os-color-4)}.os-tabs__item--disabled{color:var(--os-color-10);cursor:not-allowed;border-style:dashed}.os-tabs__item--disabled:hover{border-color:#1721392e}.os-dropzone{border:2px dashed var(--os-color-15);background:var(--os-color-7);cursor:pointer;text-align:center;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:36px 16px;transition:border-color .15s,background-color .15s;display:flex}.os-dropzone:hover,.os-dropzone--active{border-color:var(--os-color-3);background:color-mix(in oklab, var(--os-color-3) 6%, var(--os-color-7))}.os-dropzone__title{color:var(--os-color-1);font-size:15px;font-weight:600}.os-dropzone__hint{color:#8c9099;font-size:12.5px}.os-defect-panel{border:1px solid var(--os-color-15);border-radius:6px;flex-direction:column;gap:14px;padding:14px 16px;display:flex}.os-defect-panel__toggle-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.os-defect-panel__body{grid-template-columns:120px minmax(0,1fr);align-items:stretch;gap:12px;display:grid}.os-defect-panel__dropzone{width:120px;height:100%;min-height:84px;padding:8px}.os-defect-panel__body textarea{min-height:84px}.os-dropzone__filename{color:var(--os-color-3);margin-top:8px;font-size:13px;font-weight:600}.qx-menu{background:var(--os-color-4);border-bottom:1px solid #1721391f;gap:4px;padding:8px 24px;display:flex}.qx-menu__top-wrap{position:relative}.qx-menu__top{color:var(--os-color-1);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;padding:8px 14px;font-size:14px;text-decoration:none;display:inline-flex}.qx-menu__top:hover,.qx-menu__top.active{background:#17213914}.qx-menu__dropdown{background:var(--os-color-4);z-index:20;border:1px solid #1721392e;border-radius:4px;min-width:260px;padding:4px;position:absolute;top:100%;left:0;box-shadow:0 8px 24px #1721392e}.qx-menu__item-wrap{position:relative}.qx-menu__item{text-align:left;width:100%;color:var(--os-color-1);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:space-between;align-items:center;padding:8px 10px;font-size:13.5px;display:flex}.qx-menu__item:hover{background:#17213914}.qx-menu__arrow{color:var(--os-color-10);font-size:12px}.qx-menu__item--parent{position:relative}.qx-menu__dropdown--nested{display:none;top:-4px;left:100%}.qx-menu__item--parent:hover>.qx-menu__dropdown--nested{display:block}
