/* Image Studio editor (staff). Ported from the approved mockup
   (specs/image-studio/mockup/editor.html); every rule is scoped to .studio-app
   because :app links every stylesheet on every page. */
.studio-app{--s9:#0f172a;--s8:#1e293b;--s7:#334155;--s6:#475569;--s5:#64748b;--s4:#94a3b8;--s3:#cbd5e1;--s2:#e2e8f0;--s1:#f1f5f9;--s0:#f8fafc;--em:#059669;--emb:#ecfdf5;--am:#b45309;--amb:#fffbeb;--rd:#b91c1c;--vi:#6d28d9;--vib:#f5f3ff;--bl:#2563eb}
.studio-app *{box-sizing:border-box}
.studio-app{margin:0;height:100%;font-family:Inter,system-ui,sans-serif;color:var(--s9);font-size:13px;background:#fff}
.studio-app button{font:inherit;color:inherit;cursor:pointer;white-space:nowrap}
.studio-app .app{display:grid;grid-template-rows:auto minmax(0,1fr);height:100vh;min-width:1180px;overflow:hidden}
.studio-app .top{display:flex;align-items:center;gap:10px;padding:0 14px;height:52px;border-bottom:1px solid var(--s2);background:#fff;z-index:5}
.studio-app .crumb{color:var(--s5);text-decoration:none;font-weight:500;display:flex;align-items:center;gap:6px;white-space:nowrap}
.studio-app .crumb:hover{color:var(--s9)}
.studio-app .crumbsep{color:var(--s3)}
.studio-app .title{height:34px;font-weight:600;font-size:14px;border:1px solid transparent;border-radius:6px;padding:0 8px;min-width:200px;outline:none;font-family:inherit}
.studio-app .title:hover{border-color:var(--s2)}
.studio-app .title:focus{border-color:var(--s4)}
.studio-app .pill{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border-radius:999px;border:1px solid var(--s2);background:var(--s0);font-weight:500;font-size:12px}
.studio-app .pill .dot{width:7px;height:7px;border-radius:50%;background:var(--s4)}
.studio-app .pill.review{background:var(--amb);border-color:#fde68a;color:#92400e}
.studio-app .pill.review .dot{background:#d97706}
.studio-app .pill.approved{background:var(--emb);border-color:#a7f3d0;color:#065f46}
.studio-app .pill.approved .dot{background:var(--em)}
.studio-app .tplbadge{font-size:11px;font-weight:700;letter-spacing:.05em;color:var(--vi);background:var(--vib);border:1px solid #ddd6fe;border-radius:4px;padding:3px 7px}
.studio-app .saved{color:var(--s5);font-size:12px;display:flex;align-items:center;gap:6px;white-space:nowrap}
.studio-app .grow{flex:1}
.studio-app .btn{height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;border-radius:6px;border:1px solid var(--s3);background:#fff;font-weight:500;font-size:13px}
.studio-app .btn:hover{background:var(--s0)}
.studio-app .btn.primary{background:var(--s9);border-color:var(--s9);color:#fff}
.studio-app .btn.primary:hover{background:var(--s8)}
.studio-app .btn.ghost{border-color:transparent;background:transparent}
.studio-app .btn.ghost:hover{background:var(--s1)}
.studio-app .btn.icon{width:34px;padding:0}
.studio-app .btn:disabled{opacity:.4;cursor:default}
.studio-app .btn.sm{height:28px;font-size:12px;padding:0 9px}
.studio-app .btn .ct{background:var(--s9);color:#fff;border-radius:999px;font-size:10.5px;padding:0 6px;line-height:16px}
.studio-app .sep{width:1px;height:22px;background:var(--s2)}
.studio-app .banner{display:block;padding:8px 16px;background:#eff6ff;border-bottom:1px solid #bfdbfe;color:#1e3a8a;font-size:12.5px}
.studio-app .banner a{color:#1d4ed8;font-weight:600}
.studio-app .banner.bn-tpl{background:var(--vib);border-color:#ddd6fe;color:#4c1d95}
.studio-app .body{display:grid;grid-template-columns:312px minmax(0,1fr) 304px;min-height:0;height:100%}
.studio-app .left{border-right:1px solid var(--s2);overflow-y:auto;overscroll-behavior:contain;background:#fff;min-height:0}
.studio-app .lefthd{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--s1);position:sticky;top:0;background:#fff;z-index:3}
.studio-app .lefthd b{flex:1;font-size:12px;color:var(--s5);font-weight:600}
.studio-app .lefthd button{border:0;background:transparent;color:var(--s6);font-size:12px;font-weight:500;padding:4px 6px;border-radius:4px}
.studio-app .lefthd button:hover{background:var(--s1)}
.studio-app .acc{border-bottom:1px solid var(--s1)}
.studio-app .acc-h{width:100%;display:flex;align-items:center;gap:10px;padding:11px 14px;border:0;background:#fff;text-align:left;font-weight:600;font-size:13px;position:sticky;top:41px;z-index:2}
.studio-app .acc-h:hover{background:var(--s0)}
.studio-app .acc-h svg.ic{width:17px;height:17px;color:var(--s6);flex:none}
.studio-app .acc-h .meta{margin-left:auto;font-weight:500;color:var(--s4);font-size:12px}
.studio-app .acc-h .chev{width:14px;height:14px;color:var(--s4);transition:transform .15s;flex:none}
.studio-app .acc.open .acc-h .chev{transform:rotate(90deg)}
.studio-app .acc-b{padding:2px 14px 16px;display:none}
.studio-app .acc.open .acc-b{display:block}
.studio-app .sub{color:var(--s5);font-size:12px;margin:0 0 10px;line-height:1.45}
.studio-app .sect{margin:14px 0 8px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--s5);display:flex;align-items:center;justify-content:space-between}
.studio-app .sect a{text-transform:none;letter-spacing:0;font-weight:500;color:var(--s6)}
.studio-app .tpls{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.studio-app .tpl{border:1px solid var(--s2);border-radius:8px;padding:6px;background:var(--s0);text-align:left}
.studio-app .tpl:hover{border-color:var(--s4)}
.studio-app .tpl .thumb{position:relative;border-radius:4px;overflow:hidden;margin:0 auto 6px}
.studio-app .tpl b{display:block;font-size:12px;white-space:normal}
.studio-app .tpl .own{display:inline-block;font-size:10px;font-weight:700;color:var(--vi);background:var(--vib);border-radius:3px;padding:0 4px;margin-bottom:3px}
.studio-app .addtext{display:block;width:100%;text-align:left;border:1px solid var(--s2);border-radius:8px;padding:9px 12px;margin-bottom:6px;background:#fff;white-space:normal}
.studio-app .addtext:hover{border-color:var(--s4);background:var(--s0)}
.studio-app .photos{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.studio-app .ph{position:relative;border-radius:6px;overflow:hidden;aspect-ratio:1;border:0;padding:0;background:var(--s1)}
.studio-app .ph img{width:100%;height:100%;object-fit:cover;display:block}
.studio-app .chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.studio-app .chip{height:26px;padding:0 10px;border-radius:999px;border:1px solid var(--s2);background:#fff;font-size:12px;display:inline-flex;align-items:center;gap:4px}
.studio-app .chip.on{background:var(--s9);color:#fff;border-color:var(--s9)}
.studio-app .chip .x{color:var(--s4);font-size:13px;line-height:1}
.studio-app .drop{border:1.5px dashed var(--s3);border-radius:8px;padding:10px;text-align:center;color:var(--s5);font-size:12px;margin-bottom:10px;background:var(--s0)}
.studio-app .hintbar{font-size:12px;color:var(--s6);background:var(--s1);border-radius:6px;padding:8px 10px;margin-bottom:10px;line-height:1.4}
.studio-app .logos{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.studio-app .logo-tile{border:1px solid var(--s2);border-radius:8px;padding:10px;display:flex;align-items:center;justify-content:center;height:64px;background:#fff}
.studio-app .logo-tile.dark{background:#1f2937}
.studio-app .logo-tile:hover{border-color:var(--s4)}
.studio-app .swrow{display:flex;flex-wrap:wrap;gap:6px}
.studio-app .sw{width:30px;height:30px;border-radius:6px;border:1px solid rgba(0,0,0,.12);position:relative;padding:0}
.studio-app .sw.on::after{content:"";position:absolute;inset:-4px;border:2px solid var(--s9);border-radius:8px}
.studio-app .sw.custom{background:conic-gradient(#f43f5e,#f59e0b,#84cc16,#06b6d4,#8b5cf6,#f43f5e)}
.studio-app .els{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.studio-app .el{border:1px solid var(--s2);border-radius:8px;height:64px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font-size:11px;color:var(--s6)}
.studio-app .el:hover{border-color:var(--s4)}
.studio-app .layers{display:flex;flex-direction:column;gap:2px}
.studio-app .lrow{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:6px;border:1px solid transparent;background:#fff;text-align:left;width:100%;cursor:pointer;user-select:none}
.studio-app .lrow:hover{background:var(--s0)}
.studio-app .lrow.on{border-color:var(--bl);background:#eff6ff}
.studio-app .lrow.child{margin-left:18px;width:calc(100% - 18px)}
.studio-app .lrow.grp{font-weight:600;color:var(--s7)}
.studio-app .lrow .k{width:22px;height:22px;border-radius:4px;background:var(--s1);display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--s6);flex:none}
.studio-app .lrow .n{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.studio-app .lrow .ib{width:24px;height:24px;border:0;background:transparent;border-radius:4px;color:var(--s5);font-size:12px;padding:0}
.studio-app .lrow .ib:hover{background:var(--s2)}
.studio-app .datacard{border:1px solid var(--s2);border-radius:8px;padding:9px 12px;margin-bottom:6px;display:block;width:100%;text-align:left;background:#fff;white-space:normal}
.studio-app .datacard.on{border-color:var(--s9);box-shadow:0 0 0 1px var(--s9)}
.studio-app .datacard b{display:block;font-size:13px}
.studio-app .datacard span{color:var(--s5);font-size:12px}
.studio-app .field{margin-bottom:12px}
.studio-app .field label{display:block;font-size:12px;font-weight:500;color:var(--s7);margin-bottom:5px}
.studio-app .field input[type=text],.studio-app .field select{width:100%;height:32px;border:1px solid var(--s3);border-radius:6px;padding:0 8px;font:inherit;background:#fff}
.studio-app .check{display:flex;align-items:center;gap:8px;font-size:12.5px;margin-bottom:6px}
.studio-app .check input{accent-color:var(--s9)}
.studio-app .center{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-width:0;min-height:0;background:#eef0f3}
.studio-app .stagebar{display:flex;align-items:center;gap:10px;padding:8px 14px;border-bottom:1px solid var(--s2);background:#f8f9fb;white-space:nowrap}
.studio-app .stagebar .lbl{font-size:12px;color:var(--s5)}
.studio-app .toggle{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--s6);cursor:pointer;user-select:none;white-space:nowrap}
.studio-app .toggle input{accent-color:var(--s9)}
.studio-app .seg{display:inline-flex;border:1px solid var(--s3);border-radius:6px;overflow:hidden;height:28px;background:#fff;flex:none}
.studio-app .seg button{border:0;background:transparent;padding:0 9px;font-size:12px;font-weight:500;color:var(--s6);height:100%}
.studio-app .seg button+button{border-left:1px solid var(--s2)}
.studio-app .seg button.on{background:var(--s9);color:#fff}
.studio-app .stage{position:relative;overflow:auto}
.studio-app .boards{display:flex;flex-wrap:wrap;gap:34px 30px;align-items:flex-start;justify-content:center;padding:34px 30px 40px;min-height:100%;align-content:center}
.studio-app .ab{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.studio-app .abh{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--s5);height:24px;width:100%;min-width:150px}
.studio-app .abh b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.studio-app .abh b{color:var(--s7);font-weight:600}
.studio-app .ab.active .abh b{color:var(--bl)}
.studio-app .abh .sp{flex:1}
.studio-app .abh button{border:0;background:transparent;color:var(--s5);height:24px;padding:0 6px;border-radius:4px;font-size:12px}
.studio-app .abh button:hover{background:var(--s2);color:var(--s9)}
.studio-app .abwrap{position:relative;box-shadow:0 1px 3px rgba(0,0,0,.08),0 10px 28px rgba(15,23,42,.12);outline:2px solid transparent;outline-offset:3px}
.studio-app .ab.active .abwrap{outline-color:rgba(37,99,235,.45)}
.studio-app .arthost{position:relative;overflow:hidden}
.studio-app .arthost .L{cursor:move}
.studio-app .ov{position:absolute;inset:0;pointer-events:none;z-index:20}
.studio-app .sel{position:absolute;border:1.5px solid var(--bl);pointer-events:none}
.studio-app .sel.multi{border-width:1px}
.studio-app .sel.bbox{border:1.5px dashed var(--bl)}
.studio-app .sel.linked{border:1px dashed rgba(37,99,235,.55)}
.studio-app .sel .h{position:absolute;width:11px;height:11px;background:#fff;border:1.5px solid var(--bl);border-radius:2px;pointer-events:auto}
.studio-app .sel .h.se{right:-6px;bottom:-6px;cursor:nwse-resize}
.studio-app .sel .h.e{right:-6px;top:50%;margin-top:-6px;cursor:ew-resize}
.studio-app .sel .tag{position:absolute;right:-1.5px;top:-22px;background:var(--bl);color:#fff;font-size:11px;padding:2px 6px;border-radius:4px 4px 0 0;white-space:nowrap;font-weight:500}
.studio-app .marq{position:absolute;border:1px solid var(--bl);background:rgba(37,99,235,.08)}
.studio-app .guide{position:absolute;background:#ec4899;pointer-events:none}
.studio-app .safe{position:absolute;inset:0;pointer-events:none;z-index:15}
.studio-app .safe .band{position:absolute;left:0;right:0;background:rgba(236,72,153,.16);display:flex;align-items:center;justify-content:center;color:#be185d;font-size:10px;font-weight:600;overflow:hidden}
.studio-app .safe .gridline{position:absolute;left:0;right:0;border-top:1.5px dashed #ec4899}
.studio-app .safe .bleed{position:absolute;border:1.5px dashed #ec4899}
.studio-app .editing{outline:2px solid var(--bl);cursor:text !important}
.studio-app .addsize{width:150px;height:150px;border:1.5px dashed var(--s3);border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--s6);background:rgba(255,255,255,.6);font-weight:500;margin-top:32px}
.studio-app .addsize:hover{border-color:var(--s5);color:var(--s9)}
.studio-app .strip{border-top:1px solid var(--s2);background:#fff;display:flex;align-items:stretch;gap:10px;padding:10px 14px;overflow-x:auto}
.studio-app .fcard{flex:none;border:1px solid var(--s2);border-radius:8px;padding:6px 8px;background:#fff;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:96px}
.studio-app .fcard:hover{border-color:var(--s4)}
.studio-app .fcard.on{border-color:var(--s9);box-shadow:0 0 0 1px var(--s9)}
.studio-app .fcard .tb{position:relative;overflow:hidden;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.06)}
.studio-app .fcard .lab{font-size:11px;font-weight:600}
.studio-app .fadd{flex:none;border:1.5px dashed var(--s3);border-radius:8px;min-width:110px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:var(--s0);color:var(--s6);font-weight:500}
.studio-app .menu{position:fixed;background:#fff;border:1px solid var(--s2);border-radius:8px;box-shadow:0 12px 30px rgba(15,23,42,.18);padding:4px;z-index:60;min-width:240px;max-width:300px}
.studio-app .menu button{display:block;width:100%;text-align:left;border:0;background:transparent;padding:8px 10px;border-radius:5px;font-size:13px;white-space:normal}
.studio-app .menu button:hover{background:var(--s1)}
.studio-app .menu button small{display:block;color:var(--s5);font-size:11.5px}
.studio-app .menu hr{border:0;border-top:1px solid var(--s1);margin:4px 0}
.studio-app .insp{border-left:1px solid var(--s2);overflow-y:auto;overscroll-behavior:contain;background:#fff;min-height:0}
.studio-app .isec{border-bottom:1px solid var(--s1)}
.studio-app .isec>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:6px;padding:11px 16px;font-size:12px;font-weight:600;color:var(--s7);position:sticky;top:0;background:#fff;z-index:1}
.studio-app .isec>summary::-webkit-details-marker{display:none}
.studio-app .isec>summary::after{content:"";margin-left:auto;width:7px;height:7px;border-right:1.5px solid var(--s4);border-bottom:1.5px solid var(--s4);transform:rotate(45deg);transition:transform .15s}
.studio-app .isec:not([open])>summary::after{transform:rotate(-45deg)}
.studio-app .isec>.ib2{padding:0 16px 14px}
.studio-app .fieldtok{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af;border-radius:4px;padding:1px 6px;margin:2px 4px 2px 0}
.studio-app .insp .hd{padding:14px 16px 10px;border-bottom:1px solid var(--s1);display:flex;align-items:center;gap:8px}
.studio-app .insp .hd b{font-size:14px;flex:1}
.studio-app .insp .grp{padding:12px 16px;border-bottom:1px solid var(--s1)}
.studio-app .insp label.f{display:block;font-size:12px;font-weight:500;color:var(--s7);margin-bottom:6px}
.studio-app .insp .row{display:flex;align-items:center;gap:8px}
.studio-app .insp select,.studio-app .insp textarea{width:100%;border:1px solid var(--s3);border-radius:6px;padding:6px 8px;font:inherit;background:#fff}
.studio-app .insp select{height:32px}
.studio-app .insp textarea{resize:vertical;min-height:60px;line-height:1.4}
.studio-app .insp textarea:disabled{background:var(--s0);color:var(--s5)}
.studio-app .insp input[type=range]{flex:1;accent-color:var(--s9)}
.studio-app .insp .val{width:42px;text-align:right;color:var(--s6);font-variant-numeric:tabular-nums;font-size:12px}
.studio-app .note{font-size:12px;color:var(--s5);line-height:1.45}
.studio-app .bindchip,.studio-app .ovchip,.studio-app .lockchip{display:flex;align-items:center;gap:8px;border-radius:6px;padding:7px 9px;font-size:12px;margin-bottom:10px}
.studio-app .bindchip{background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af}
.studio-app .ovchip{background:var(--amb);border:1px solid #fde68a;color:#92400e}
.studio-app .lockchip{background:var(--vib);border:1px solid #ddd6fe;color:#4c1d95}
.studio-app .bindchip button,.studio-app .ovchip button{margin-left:auto;border:0;background:transparent;font-weight:600;font-size:12px;color:inherit;text-decoration:underline}
.studio-app .warn{display:flex;gap:6px;align-items:flex-start;background:var(--amb);border:1px solid #fde68a;color:#92400e;border-radius:6px;padding:8px 10px;font-size:12px;line-height:1.4}
.studio-app .warn button{border:0;background:transparent;color:#92400e;font-weight:700;text-decoration:underline;padding:0;margin-left:4px}
.studio-app .ok{display:flex;gap:8px;align-items:center;background:var(--emb);border:1px solid #a7f3d0;color:#065f46;border-radius:6px;padding:7px 10px;font-size:12px}
.studio-app .focal{position:relative;border-radius:6px;overflow:hidden;cursor:crosshair}
.studio-app .focal img{width:100%;display:block}
.studio-app .focal .pt{position:absolute;width:18px;height:18px;margin:-9px 0 0 -9px;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px rgba(0,0,0,.4),0 0 0 4px rgba(37,99,235,.5);pointer-events:none}
.studio-app .arr{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}
.studio-app .arr button{height:30px;border:1px solid var(--s2);border-radius:6px;background:#fff;display:flex;align-items:center;justify-content:center}
.studio-app .arr button:hover{background:var(--s0)}
.studio-app .arr svg{width:16px;height:16px}
.studio-app .acts{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.studio-app .acts .btn{height:32px;font-size:12px}
.studio-app details.fine summary{cursor:pointer;font-size:12px;font-weight:500;color:var(--s6);list-style:none}
.studio-app details.fine summary::before{content:"▸ "}
.studio-app details.fine[open] summary::before{content:"▾ "}
.studio-app .kbd{font-family:ui-monospace,Menlo,monospace;font-size:11px;background:var(--s1);border:1px solid var(--s2);border-radius:4px;padding:0 4px}
.studio-app dialog{margin:auto;border:1px solid var(--s2);border-radius:10px;padding:0;box-shadow:0 25px 50px -12px rgba(15,23,42,.35);width:560px;max-width:92vw}
.studio-app dialog::backdrop{background:rgba(15,23,42,.4)}
.studio-app .dh{padding:16px 20px;border-bottom:1px solid var(--s1);display:flex;align-items:center}
.studio-app .dh b{font-size:15px;flex:1}
.studio-app .db{padding:16px 20px;max-height:62vh;overflow:auto}
.studio-app .df{padding:12px 20px;border-top:1px solid var(--s1);display:flex;justify-content:flex-end;gap:8px;align-items:center}
.studio-app .df .note{margin-right:auto}
.studio-app .opt{display:flex;gap:12px;align-items:center;border:1px solid var(--s2);border-radius:8px;padding:10px 12px;margin-bottom:8px;cursor:pointer}
.studio-app .opt:hover{border-color:var(--s4)}
.studio-app .opt.on{border-color:var(--s9);box-shadow:0 0 0 1px var(--s9)}
.studio-app .opt .t{flex:1}
.studio-app .opt .t b{display:block;font-size:13px}
.studio-app .opt .t span{color:var(--s5);font-size:12px}
.studio-app .opt input{accent-color:var(--s9)}
.studio-app .fmtgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.studio-app .addf{display:flex;align-items:center;gap:10px;border:1px solid var(--s2);border-radius:8px;padding:8px 10px;background:#fff;text-align:left}
.studio-app .addf:hover{border-color:var(--s4)}
.studio-app .addf .shape{border:1.5px solid var(--s5);border-radius:2px;flex:none}
.studio-app .addf b{display:block;font-size:12.5px}
.studio-app .addf span{font-size:11px;color:var(--s5)}
.studio-app .addf.have{opacity:.45;pointer-events:none}
.studio-app .ver{display:flex;gap:10px;padding:9px 0;border-bottom:1px solid var(--s1);align-items:flex-start}
.studio-app .ver .dotv{width:8px;height:8px;border-radius:50%;background:var(--s3);margin-top:5px;flex:none}
.studio-app .ver.cur .dotv{background:var(--em)}
.studio-app .ver b{font-size:13px;display:block}
.studio-app .ver span{font-size:12px;color:var(--s5)}
.studio-app .ver button{margin-left:auto}
.studio-app .task{border:1px solid var(--s2);border-radius:8px;padding:10px 12px;margin-bottom:8px}
.studio-app .task .tt{display:flex;align-items:center;gap:8px}
.studio-app .task .tt b{flex:1;font-size:13px}
.studio-app .task .tm{font-size:12px;color:var(--s5);margin-top:4px}
.studio-app .task .ta{display:flex;gap:6px;margin-top:10px}
.studio-app .av{width:22px;height:22px;border-radius:50%;background:#c7d2fe;color:#3730a3;font-size:10px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex:none}
.studio-app .studio-toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%) translateY(20px);background:var(--s9);color:#fff;padding:10px 16px;border-radius:8px;font-size:13px;opacity:0;transition:.2s;z-index:100;pointer-events:none;max-width:600px}
.studio-app .studio-toast.show{opacity:1;transform:translateX(-50%)}
@keyframes studio-spin{to{transform:rotate(360deg)}}
.studio-app .center{overflow:hidden}
.studio-app .stagebar{flex-wrap:wrap;row-gap:6px}
.studio-app .stagebar .grow{min-width:0}
.studio-app .opt{align-items:flex-start}
.studio-app .opt .t b{line-height:18px}
.studio-app .opt input{margin:2.5px 0 0;flex:none}
.studio-app .check{line-height:16px}
.studio-app .check input{margin:0;width:13px;height:13px;flex:none}
.studio-app .field label.check{display:flex;align-items:center;font-weight:400;font-size:12.5px;color:var(--s9);margin-bottom:6px}
/* Basecoat styles bare selects and .kbd app-wide; keep the editor on the mockup's look. */
.studio-app select{box-shadow:none}
.studio-app .kbd{height:auto;min-width:0;display:inline;line-height:inherit;box-shadow:none}
.studio-app .app.busy .stage,.studio-app .app.busy .left,.studio-app .app.busy .insp{cursor:progress}.studio-app .app.busy .boards{opacity:.6;transition:opacity .15s}
.studio-app .abh .fitwarn{color:#b45309;background:var(--amb);border:1px solid #fde68a;border-radius:999px;padding:0 6px;font-size:11px;line-height:16px;white-space:nowrap}
.studio-app .lrow .lname{flex:1;min-width:0;height:24px;border:1px solid var(--bl);border-radius:4px;padding:0 6px;font:inherit;font-size:13px}
.studio-app .studio-toast .toast-link{color:#fff;text-decoration:underline;margin-left:10px;pointer-events:auto;font-weight:600}
.studio-app .warn[hidden]{display:none}
