:root{--bg:#f3f3f1;--panel:#fff;--ink:#161616;--muted:#747474;--line:#deded9;--accent:#111;--warn:#a45b00;--bad:#a02222;--good:#26734d}*{box-sizing:border-box}body{margin:0;font:14px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--ink)}button,input,select,textarea{font:inherit}button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px 11px;cursor:pointer}button:hover{border-color:#aaa}button.primary{background:#111;color:#fff;border-color:#111}.big{width:100%;padding:14px;font-weight:700}.ghost{background:transparent}.ts-app{min-height:100vh}.ts-header{height:64px;background:#111;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 24px}.ts-header strong{font-size:18px}.ts-header span{margin-left:12px;color:#bbb}.ts-header .ghost{color:#fff;border-color:#555}.message{margin:12px 20px;padding:12px;border-radius:8px}.message.error{background:#fee;color:#811}.ts-grid{display:grid;grid-template-columns:285px minmax(520px,1fr) 330px;gap:14px;padding:14px;min-height:calc(100vh - 64px)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:0 1px 3px #00000008}.tools-panel,.config-panel{padding:18px;overflow:auto;max-height:calc(100vh - 92px);position:sticky;top:14px}.panel h2{font-size:18px;margin:0 0 16px}.panel h3{font-size:13px;margin:0 0 9px}.tools-panel section,.config-panel section,.inspector{border-top:1px solid var(--line);padding-top:14px;margin-top:14px}.tool-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tools-panel label,.config-panel label{display:block;margin:8px 0;color:#444}.tools-panel textarea,.tools-panel input[type=number],.tools-panel select,.config-panel select,.config-panel textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:9px;background:#fff}.two{display:grid;grid-template-columns:1fr 1fr;gap:8px}.inline-checks{display:flex;gap:16px}.inline-checks label{display:flex;align-items:center;gap:6px}.element-actions{display:flex;gap:8px;margin-top:10px}.measure,.status,.small{font-size:12px;color:var(--muted);margin-top:8px}.layers-list{display:flex;flex-direction:column;gap:5px;max-height:170px;overflow:auto}.layer-item{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:7px;padding:7px}.layer-item.active{border-color:#111;background:#f3f3f3}.stage-panel{padding:14px;display:flex;flex-direction:column;min-width:0}.stage-toolbar{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.side-tabs,.zoom{display:flex;gap:6px}.side-tabs button.active{background:#111;color:#fff}.stage-wrap{flex:1;min-height:640px;display:grid;place-items:center;overflow:auto;padding:18px}.tshirt-stage{width:700px;height:700px;position:relative;transform-origin:center center}.shirt-svg{position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(0 14px 14px #0002)}#shirtBody{stroke:#0002;stroke-width:3}#shirtNeck{fill:#fff3}.print-area{position:absolute;border:1.5px dashed #7778;overflow:visible}.design-surface{position:absolute;inset:0;overflow:visible}.guide{position:absolute;background:#4d7cff;opacity:0;pointer-events:none;z-index:99}.guide-v{width:1px;height:100%;left:50%}.guide-h{height:1px;width:100%;top:50%}.print-area.guides .guide{opacity:.4}.design-element{position:absolute;touch-action:none;user-select:none;transform-origin:center center}.design-element.selected{outline:1.5px solid #1265e6}.design-element.text{min-width:50px;min-height:26px;padding:2px;white-space:pre-wrap;overflow:visible}.design-element.image img{width:100%;height:100%;display:block;object-fit:fill;pointer-events:none}.design-element.shape{background:#111}.handle{position:absolute;width:13px;height:13px;border-radius:50%;background:#fff;border:2px solid #1265e6;z-index:10}.handle.resize{right:-7px;bottom:-7px;cursor:nwse-resize}.handle.rotate{left:50%;top:-27px;transform:translateX(-50%);cursor:grab}.handle.rotate:after{content:"";position:absolute;width:1px;height:13px;background:#1265e6;left:4px;top:10px}.quality-bar{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:10px;color:var(--good)}.quality-bar.warn{color:var(--warn)}.quality-bar.bad{color:var(--bad)}.stage-note{text-align:center;color:var(--muted);font-size:12px;padding-bottom:6px}.swatches{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}.swatch{width:30px;height:30px;border-radius:50%;padding:0;border:2px solid #ddd;box-shadow:inset 0 0 0 1px #0001}.swatch.active{outline:2px solid #111;outline-offset:2px}.label{display:block;color:#444;margin-top:12px}.print-sides{display:flex;gap:20px;margin:14px 0}.print-sides label{display:flex;align-items:center;gap:6px}.section-head{display:flex;align-items:center;justify-content:space-between}.link-btn{padding:0;border:0;text-decoration:underline}.size-rows{display:flex;flex-direction:column;gap:6px}.size-row{display:grid;grid-template-columns:46px 34px 58px 34px;align-items:center;gap:5px}.size-row input{width:58px;text-align:center;border:1px solid var(--line);border-radius:7px;padding:7px}.size-row button{padding:6px}.total-row{display:flex;justify-content:space-between;margin-top:10px}.price-box{background:#f7f7f5;padding:14px;border-radius:10px;border:0!important}.price-box>div{display:flex;justify-content:space-between;margin:7px 0}.price-box .grand{font-size:18px}.price-box hr{border:0;border-top:1px solid #d5d5d0}.price-box small{display:block;color:var(--muted);margin-top:8px}dialog{border:0;border-radius:14px;box-shadow:0 20px 70px #0004;max-width:min(860px,94vw);padding:24px}dialog::backdrop{background:#0007}.dialog-close{float:right;border:0;font-size:24px;padding:0 6px}dialog table{border-collapse:collapse;width:100%}dialog th,dialog td{padding:9px;border-bottom:1px solid var(--line);text-align:left}.review-preview{display:grid;grid-template-columns:1fr 1fr;gap:10px}.review-preview>div{min-height:260px;background:#f3f3f1;border-radius:10px;display:grid;place-items:center}.review-preview svg{max-width:100%;max-height:300px}.review-summary{margin:15px 0;padding:12px;background:#f7f7f5;border-radius:8px}.warnings{color:var(--bad);margin:10px 0}.review-actions{display:flex;gap:10px;margin-top:16px}.review-actions button{flex:1}.approval{display:flex!important;align-items:flex-start;gap:8px;margin:8px 0!important}
@media(max-width:1180px){.ts-grid{grid-template-columns:240px minmax(450px,1fr) 290px}.tshirt-stage{width:620px;height:620px}.stage-wrap{min-height:580px}}@media(max-width:900px){.ts-grid{grid-template-columns:1fr}.tools-panel,.config-panel{position:static;max-height:none}.stage-panel{grid-row:1}.tools-panel{grid-row:2}.config-panel{grid-row:3}.stage-wrap{min-height:520px}.tshirt-stage{width:min(680px,90vw);height:min(680px,90vw)}}@media(max-width:560px){.ts-header{padding:0 12px}.ts-header span{display:none}.ts-grid{padding:7px;gap:7px}.panel{border-radius:10px}.stage-panel{padding:8px}.stage-wrap{padding:4px;min-height:420px}.stage-toolbar{display:block}.side-tabs,.zoom{overflow:auto;margin-bottom:6px}.tshirt-stage{width:94vw;height:94vw}.tool-buttons{grid-template-columns:1fr 1fr}.review-preview{grid-template-columns:1fr}.review-actions{flex-direction:column}}
