:root{--bg: #1b1e24;--bg2: #20242c;--panel: #262a33;--line: #323744;--line2: #3a4050;--text: #e8e8ec;--muted: #9aa3b5;--accent: #3a5bdc;--accent2: #4a6bef;--danger: #b8402f;--ok: #3fa56b;--warn: #e0a83f}*{box-sizing:border-box}html,body{margin:0;height:100%;font-family:-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}#app{display:flex;flex-direction:column;height:100vh}a{color:#8fb0ff;text-decoration:none}a:hover{text-decoration:underline}.topbar{display:flex;align-items:center;gap:18px;padding:0 16px;height:50px;min-height:50px;background:#15181d;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:baseline;gap:10px;color:var(--text);text-decoration:none!important}.brand .logo{font-weight:800;letter-spacing:.12em;font-size:15px;color:#fff}.brand .sub{font-size:12px;color:var(--muted)}.topbar nav{display:flex;gap:4px;flex-wrap:wrap}.topbar nav a{color:var(--muted);padding:6px 10px;border-radius:6px;font-size:13px;text-decoration:none}.topbar nav a:hover{background:var(--panel);color:var(--text)}.topbar nav a.active{background:var(--panel);color:#fff}.topbar .right{margin-left:auto;display:flex;align-items:center;gap:10px}.topbar .who{font-size:12px;color:var(--muted);max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar select.lang{width:auto;padding:4px 6px}.content{flex:1;min-height:0}.content.page{overflow-y:auto;padding:22px}.content.full{display:flex;overflow:hidden}h1{font-size:20px;margin:0 0 12px}h3{font-size:14px;margin:18px 0 8px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:16px 18px;margin-bottom:14px}.card.err{border-color:var(--danger)}.card.narrow{max-width:520px}.page-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}.page-head h1{margin:0;flex:1}.muted{color:var(--muted)}.small{font-size:11px}.hidden{display:none!important}.r{text-align:right}.nowrap{white-space:nowrap}label{display:flex;flex-direction:column;font-size:11px;color:var(--muted);gap:3px;margin-bottom:6px}label.check{flex-direction:row;align-items:center;gap:6px;font-size:12px;color:var(--text)}label.check input{width:auto}input,select,textarea{background:var(--bg);border:1px solid var(--line2);color:var(--text);border-radius:5px;padding:6px 7px;font-size:13px;width:100%;font-family:inherit;resize:vertical}input:focus,select:focus,textarea:focus{outline:1px solid #5b8cff}input:disabled,select:disabled,textarea:disabled{opacity:.65}button,.btn{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:8px 12px;font-size:13px;cursor:pointer;display:inline-block;text-decoration:none!important;white-space:nowrap}button:hover,.btn:hover{background:var(--accent2)}button.secondary,.btn.secondary{background:var(--line2)}button.secondary:hover,.btn.secondary:hover{background:#454c60}button.small,.btn.small{padding:4px 9px;font-size:11px}button.danger{background:var(--danger)}button:disabled{background:#2a2e38;color:#666c7a;cursor:not-allowed}.row{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.row input{flex:1;min-width:120px}.grid4{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:6px 12px}.msg{font-size:12px;margin-top:6px;min-height:1em}.msg.ok{color:var(--ok)}.msg.err{color:#ff7a66}.pill{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;background:var(--line2);color:var(--text)}.status-draft{background:#3a4050}.status-submitted{background:#2f4f9e}.status-confirmed{background:#2c7a50}.status-shipped{background:#5b3f9e}.status-cancelled{background:#7a2f2f}.swatch{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:middle;flex:none}table.grid{width:100%;border-collapse:collapse;background:var(--panel);border:1px solid var(--line);border-radius:8px;overflow:hidden;font-size:13px}table.grid th,table.grid td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}table.grid th{background:var(--bg2);color:var(--muted);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.03em}table.grid th.r,table.grid td.r{text-align:right}table.grid.small td,table.grid.small th{padding:5px 8px;font-size:12px}table.grid td input,table.grid td select{padding:4px 6px;font-size:12px}table.grid tr:hover td{background:#2a2f39}.login{max-width:380px;margin:60px auto}.login button{width:100%;margin-top:6px}.form h3{margin-top:16px}.loader{display:flex;flex:1;min-width:0;height:100%}.ld-sidebar{width:390px;min-width:390px;background:var(--bg2);border-right:1px solid var(--line);padding:12px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:10px 12px}.panel h2{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 8px}.banner{padding:8px 12px;border-radius:8px;font-size:13px;font-weight:600}.loader.read-only .edit-only{display:none!important}.chips{display:flex;flex-wrap:wrap;gap:5px;margin:6px 0}.chip{padding:3px 9px;border-radius:12px;background:var(--bg);border:1px solid var(--line2);font-size:11px;cursor:pointer;color:#c3c9d6}.chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.product-list{max-height:280px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.product-row{display:flex;align-items:flex-start;gap:6px;padding:6px 7px;background:var(--bg);border-radius:6px;border:1px solid #2c313d;cursor:grab;touch-action:none}.loader.read-only .product-row{cursor:default}.product-row .swatch{margin-top:4px}.product-row .info{flex:1;min-width:0}.product-row .name{font-size:12px;line-height:1.3}.product-row .meta{font-size:10px;color:#8890a0;line-height:1.3}.product-row .price{display:block;font-size:11px;color:#9fd3a8;margin-top:2px}.product-row .price.none{color:var(--warn)}.product-row input[type=number]{width:52px;padding:4px;font-size:12px;flex:none}.product-row button{padding:5px 8px;font-size:11px;flex:none}.load-list{display:flex;flex-direction:column;gap:5px;max-height:240px;overflow-y:auto;margin-bottom:8px}.load-row{display:flex;align-items:flex-start;gap:6px;padding:6px 7px;background:var(--bg);border-radius:6px;border:1px solid #2c313d;font-size:12px;flex-wrap:wrap}.load-row .swatch{margin-top:3px}.load-row .name{flex:1;min-width:120px;line-height:1.3}.load-row input[type=number]{width:48px;padding:3px;font-size:11px;flex:none}.load-row .rm{background:none;color:var(--danger);padding:2px 6px;font-size:14px;flex:none}.warn{color:var(--warn);font-size:11px;flex-basis:100%}details{margin-top:6px;font-size:12px;color:var(--muted)}summary{cursor:pointer;padding:4px 0}.custom-form{display:flex;flex-direction:column;gap:6px;margin-top:6px}#stats{font-size:12px;display:flex;flex-direction:column;gap:8px}.stat-row{display:flex;justify-content:space-between;margin-bottom:2px}.bar{height:7px;border-radius:4px;background:var(--bg);overflow:hidden}.bar>div{height:100%;background:var(--accent)}.bar.over>div{background:var(--danger)}.price-table{width:100%;border-collapse:collapse;font-size:11px;margin-top:8px}.price-table th{color:var(--muted);font-weight:600;text-align:left;padding:3px 4px;border-bottom:1px solid var(--line2)}.price-table td{padding:4px;border-bottom:1px solid #2c313d;vertical-align:top}.price-table .r{text-align:right;white-space:nowrap}.totals{margin-top:8px;font-size:12px;display:flex;flex-direction:column;gap:3px}.totals>div{display:flex;justify-content:space-between;gap:10px}.totals .strong{font-weight:700}.totals .big{font-size:14px;color:#fff;border-top:1px solid var(--line2);padding-top:4px;margin-top:2px}.ld-viewport{flex:1;position:relative;display:flex;flex-direction:column;min-width:0}.ld-toolbar{display:flex;align-items:center;gap:10px;padding:8px 14px;background:var(--bg2);border-bottom:1px solid var(--line);font-size:12px;min-height:40px;flex-wrap:wrap}#selectedActions{display:flex;gap:6px;flex-wrap:wrap}#selectedActions button{font-size:11px;padding:5px 9px}#snapControl{margin-left:auto;display:flex;align-items:center;gap:6px;color:var(--muted);font-size:11px}#snapControl label.switch{display:flex;flex-direction:row;align-items:center;gap:5px;cursor:pointer;margin:0}#snapControl input[type=checkbox]{width:auto}#snapControl input[type=number]{width:44px;padding:3px 5px;font-size:11px}.canvas-host{flex:1;position:relative;min-height:0}.canvas-host canvas{display:block;width:100%;height:100%}.legend{position:absolute;right:14px;bottom:14px;background:#20242ceb;border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:11px;display:flex;flex-direction:column;gap:4px;max-width:260px;max-height:40%;overflow-y:auto}.legend-item{display:flex;align-items:center;gap:6px}.lasso-box{position:fixed;border:1px solid #5b8cff;background:#5b8cff26;pointer-events:none;z-index:9999}@media (max-width: 900px){.topbar{flex-wrap:wrap;height:auto;padding:8px 12px;gap:8px}.topbar .who{display:none}.content.page{padding:14px}.content.full{overflow-y:auto}.loader{flex-direction:column-reverse;height:auto}.ld-sidebar{width:100%;min-width:0;border-right:0}.ld-viewport{height:60vh;min-height:360px}.grid3{grid-template-columns:1fr}table.grid{display:block;overflow-x:auto}}
