@page{size:A4 portrait;margin:8mm}.print-root{background:var(--canvas);min-height:100vh}.print-bar{position:sticky;top:0;z-index:2;display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:10px 16px;background:var(--panel);border-bottom:1px solid var(--line)}.sheets{display:flex;flex-direction:column;align-items:center;gap:16px;padding:16px}.blank{background:#fff;color:#000;width:194mm;border:1.5px solid #000;display:grid;grid-template-columns:1fr 70mm;grid-template-rows:1fr auto;gap:6mm 8mm;padding:8mm;font-family:Arial,Helvetica Neue,sans-serif;break-inside:avoid;page-break-inside:avoid}.fmt-a4 .blank{height:279mm}.fmt-a5 .blank{height:137mm;padding:5mm 6mm;gap:3mm 6mm;grid-template-columns:1fr 52mm}.b-main{min-width:0;display:flex;flex-direction:column;gap:2mm}.b-org{font-size:9pt;color:#333}.b-no{font-size:40pt;font-weight:700;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:.02em}.b-seq{font-size:16pt;font-weight:600}.b-design{font-size:22pt;font-weight:700;line-height:1.15;margin:3mm 0 2mm;overflow-wrap:anywhere}.b-fields{border-collapse:collapse;width:100%;font-size:13pt}.b-fields th{text-align:left;font-weight:400;color:#333;padding:1.6mm 4mm 1.6mm 0;white-space:nowrap;vertical-align:top;width:1%}.b-fields td{padding:1.6mm 0;border-bottom:.3mm solid #999;font-weight:600;overflow-wrap:anywhere}.b-fields td.big{font-size:18pt}.b-side{display:flex;flex-direction:column;align-items:center;gap:2mm}.b-qr{width:66mm;height:66mm}.b-qr svg{width:100%;height:100%;display:block}.b-code{font:700 15pt/1 Courier New,monospace;letter-spacing:.12em}.b-hint{font-size:9pt;color:#333}.b-photo{margin-top:4mm;width:100%;max-height:60mm;object-fit:contain;filter:grayscale(1);border:.3mm solid #999}.b-marks{grid-column:1 / -1;border-collapse:collapse;width:100%;font-size:10pt}.b-marks th{text-align:left;font-weight:600;border:.3mm solid #000;padding:1.5mm 2mm;background:#eee}.b-marks td{border:.3mm solid #000;height:11mm}.b-marks th:nth-child(1){width:18%}.b-marks th:nth-child(3){width:14%}.b-marks th:nth-child(4){width:20%}.fmt-a5 .b-no{font-size:28pt}.fmt-a5 .b-seq{font-size:12pt}.fmt-a5 .b-design{font-size:15pt;margin:1mm 0}.fmt-a5 .b-fields{font-size:10pt}.fmt-a5 .b-fields th,.fmt-a5 .b-fields td{padding:.8mm 3mm .8mm 0}.fmt-a5 .b-fields td.big{font-size:13pt}.fmt-a5 .b-qr{width:48mm;height:48mm}.fmt-a5 .b-code{font-size:11pt}.fmt-a5 .b-photo{display:none}.fmt-a5 .b-marks td{height:7mm}@media print{html,body,#root,.print-root{background:#fff!important}.no-print{display:none!important}.sheets{display:block;padding:0}.blank{margin:0 auto}.fmt-a4 .blank{break-after:page;page-break-after:always}.fmt-a4 .blank:last-child{break-after:auto;page-break-after:auto}.fmt-a5 .blank:nth-child(2n){break-after:page;page-break-after:always;margin-top:3mm}.fmt-a5 .blank:nth-child(odd){border-bottom-style:dashed}.fmt-a5 .blank:last-child{break-after:auto;page-break-after:auto}}:root{--canvas: #e3e3e0;--panel: #f4f4f2;--panel-2: #ebebe8;--panel-3: #dcdcd8;--line: #c7c7c2;--line-strong: #a5a59f;--text: #1f1f1d;--muted: #595954;--faint: #787872;--act: #3a3a37;--act-hover: #2a2a28;--act-text: #f4f4f2;--info: #2c5a85;--info-bg: #dbe4ee;--info-line: #9fb5cb;--alarm: #9e2a1f;--alarm-bg: #f2dcd7;--radius: 6px;--radius-sm: 4px;--font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--shadow: 0 1px 2px rgb(0 0 0 / .06), 0 4px 16px rgb(0 0 0 / .08)}*{box-sizing:border-box}html,body{margin:0;height:100%}body{background:var(--canvas);color:var(--text);font:15px/1.45 var(--font);-webkit-text-size-adjust:100%}#root{min-height:100%}button,input,select,textarea{font:inherit;color:inherit}.num{font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.faint{color:var(--faint)}h1,h2,h3{margin:0;font-weight:600}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:6px 14px;border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--panel);color:var(--text);cursor:pointer;white-space:nowrap;text-decoration:none}.btn:hover{background:var(--panel-2)}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--act);border-color:var(--act);color:var(--act-text)}.btn.primary:hover{background:var(--act-hover)}.btn.ghost{border-color:transparent;background:transparent}.btn.ghost:hover{background:var(--panel-2)}.btn.small{min-height:28px;padding:3px 10px;font-size:13px}.btn.big{min-height:48px;padding:10px 18px;font-size:16px}.btn .plus{font-size:18px;line-height:1}:focus-visible{outline:2px solid var(--focus, var(--info));outline-offset:2px}.field{display:flex;flex-direction:column;gap:4px;min-width:0}.field>span{font-size:12px;color:var(--muted)}.input,select.input,textarea.input{min-height:36px;padding:6px 10px;width:100%;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:#fff}textarea.input{min-height:80px;resize:vertical}.input:focus{outline:2px solid var(--info);outline-offset:-1px;border-color:var(--info)}.input.num{text-align:right}.hint{font-size:12px;color:var(--muted)}.hint.info{color:var(--info)}.msg{padding:8px 12px;border-radius:var(--radius-sm);font-size:14px}.msg.error{background:var(--alarm-bg);color:var(--alarm);border:1px solid var(--alarm)}.msg.error:before{content:"! ";font-weight:700}.msg.info{background:var(--info-bg);color:var(--info);border:1px solid var(--info-line)}.layout{display:grid;grid-template-rows:auto 1fr;height:100vh}.topbar{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--panel);border-bottom:1px solid var(--line)}.topbar .title{margin-left:auto;font-size:13px;color:var(--muted)}.body{display:grid;grid-template-columns:340px 1fr;min-height:0}.sidebar{background:var(--panel);border-right:1px solid var(--line);overflow:auto;min-height:0}.content{overflow:auto;min-height:0;padding:16px}.tree{list-style:none;margin:0;padding:6px 0}.tree ul{list-style:none;margin:0;padding:0}.trow{display:flex;align-items:center;gap:4px;min-height:32px;padding:2px 8px 2px 0;cursor:pointer;-webkit-user-select:none;user-select:none;border-left:3px solid transparent}.trow:hover{background:var(--panel-2)}.trow.sel{background:var(--info-bg);border-left-color:var(--info)}.trow .tog{width:22px;height:22px;flex:none;display:grid;place-items:center;border:0;background:none;cursor:pointer;color:var(--muted);padding:0;font-size:11px}.trow .tog.empty{visibility:hidden}.trow .tname{flex:1;min-width:0;overflow-wrap:anywhere;line-height:1.3;padding:4px 0}.trow.t-customer .tname{font-weight:600}.trow.t-order .tname{color:var(--muted)}.trow.t-design .tname:before{content:"▪ ";color:var(--faint)}.trow .tqty{font-size:12px;color:var(--muted);white-space:nowrap}.trow .tbadge{font-size:12px;color:var(--text);white-space:nowrap;min-width:26px;text-align:right}.trow.all{font-weight:600}.tree-empty{padding:16px;color:var(--muted);font-size:14px}.crumbs{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;font-size:13px;color:var(--muted);margin-bottom:4px}.crumbs b{color:var(--text);font-weight:600}.scope-head{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px}.scope-head h2{font-size:20px}.scope-head .actions{display:flex;gap:6px;margin-left:auto}.design-info{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:12px;margin-bottom:12px}.kv{display:grid;grid-template-columns:auto auto;gap:2px 12px;font-size:14px}.kv dt{color:var(--muted)}.kv dd{margin:0;font-variant-numeric:tabular-nums}.thumbs{display:flex;gap:10px}.thumb{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.thumb img,.thumb .ph{width:96px;height:72px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--panel-2)}.thumb .ph{display:grid;place-items:center;font-size:11px;color:var(--faint)}.chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.chip{display:inline-flex;gap:6px;align-items:center;min-height:32px;padding:4px 12px;border-radius:16px;border:1px solid var(--line-strong);background:var(--panel);cursor:pointer}.chip[aria-pressed=true]{background:var(--info-bg);border-color:var(--info);color:var(--info)}.chip .n{font-variant-numeric:tabular-nums;font-weight:600}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.card{display:flex;flex-direction:column;gap:6px;min-height:168px;padding:12px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);color:inherit;text-decoration:none;cursor:pointer}.card:hover{border-color:var(--line-strong);background:#fafaf8}.card.st-new{border-style:dashed}.card.st-done{background:var(--panel-2);color:var(--muted)}.card .top{display:flex;align-items:baseline;gap:8px}.card .no{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.02em;white-space:nowrap}.card .of{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.card .thumb-s{margin-left:auto;width:40px;height:40px;border-radius:var(--radius-sm);object-fit:cover;border:1px solid var(--line)}.card .dname{font-weight:600;font-size:16px;line-height:1.25;overflow-wrap:anywhere}.card .path{font-size:12px;color:var(--muted);line-height:1.35;overflow-wrap:anywhere}.card .meta{margin-top:auto;display:flex;flex-wrap:wrap;gap:4px 10px;font-size:13px}.card .st{font-size:13px}.empty-state{padding:32px 16px;text-align:center;color:var(--muted);border:1px dashed var(--line-strong);border-radius:var(--radius);background:var(--panel)}.overlay{position:fixed;inset:0;background:#1e1e1c59;display:grid;place-items:start center;padding:40px 12px;overflow:auto;z-index:50}.dialog{width:100%;max-width:640px;background:var(--panel);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--line);display:flex;flex-direction:column}.dialog.wide{max-width:1040px}.dialog>header{display:flex;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line)}.dialog>header h3{font-size:17px}.dialog>header .x{margin-left:auto}.dialog>.dbody{padding:16px;display:flex;flex-direction:column;gap:14px}.dialog>footer{display:flex;gap:8px;justify-content:flex-end;padding:12px 16px;border-top:1px solid var(--line);flex-wrap:wrap}.dialog>footer .left{margin-right:auto;align-self:center;font-size:13px;color:var(--muted)}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.section-title{font-size:13px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.combo{position:relative}.combo .list{position:absolute;z-index:5;left:0;right:0;top:calc(100% + 2px);max-height:240px;overflow:auto;background:#fff;border:1px solid var(--line-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow);list-style:none;margin:0;padding:4px 0}.combo .list li{padding:6px 10px;cursor:pointer}.combo .list li.active,.combo .list li:hover{background:var(--info-bg)}.combo .list li.new{color:var(--info);border-top:1px solid var(--line)}.drow{display:grid;grid-template-columns:minmax(0,1fr) 130px 200px 200px 36px;gap:8px;align-items:end;padding:10px;border:1px solid var(--line);border-radius:var(--radius);background:#fafaf8}.photo-btn{display:flex;flex-direction:column;gap:4px}.photo-btn>span{font-size:12px;color:var(--muted)}.photo-btn label.btn{position:relative;overflow:hidden}.photo-btn input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}.photo-btn .prev{width:36px;height:36px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--line)}.photo-btn .row{display:flex;gap:6px;align-items:center}.crow{padding:10px;border:1px solid var(--line);border-radius:var(--radius);background:#fafaf8;display:flex;flex-direction:column;gap:8px}.crow .sel4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) 36px;gap:8px;align-items:end}.crow .nums{display:grid;grid-template-columns:repeat(3,120px) minmax(0,1fr) 130px;gap:8px;align-items:start}.crow .calc{font-size:13px;color:var(--muted);padding-top:26px}.crow .calc b{color:var(--text)}.plist{max-height:50vh;overflow:auto;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.plist .grp{padding:6px 10px;background:var(--panel-2);font-size:13px;font-weight:600;position:sticky;top:0;display:flex;gap:8px;align-items:center}.plist label{display:flex;gap:10px;align-items:center;padding:6px 10px;border-top:1px solid var(--panel-2);font-size:14px;cursor:pointer}.plist label .r{margin-left:auto;color:var(--muted);font-size:12px}.login{min-height:100vh;display:grid;place-items:center;padding:16px}.login form{width:100%;max-width:340px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:24px;display:flex;flex-direction:column;gap:14px}.login .scope{font-size:13px;color:var(--muted)}.login .pin{font-size:28px;letter-spacing:.3em;text-align:center;font-variant-numeric:tabular-nums}.pp{max-width:720px;margin:0 auto;padding:12px 16px 48px;display:flex;flex-direction:column;gap:14px}.pp .nav{display:flex;align-items:center;gap:8px;font-size:14px}.pp .nav a{color:var(--info);text-decoration:none}.pp .head{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;gap:6px}.pp .head .no{font-size:28px;font-weight:700;font-variant-numeric:tabular-nums}.pp .head .dname{font-size:20px;font-weight:600}.pp .status{display:inline-flex;align-items:center;gap:8px;font-size:16px;font-weight:600;padding:6px 12px;border-radius:18px;border:1px solid var(--line-strong);align-self:flex-start;background:var(--panel-2)}.pp .status.st-new{border-style:dashed;font-weight:500}.pp .box{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;gap:10px}.pp .box h3{font-size:15px}.pp .kv{grid-template-columns:max-content 1fr;font-size:15px;gap:6px 16px}.pp .actions{display:flex;flex-wrap:wrap;gap:8px}.pp .photos{display:flex;gap:12px;flex-wrap:wrap}.pp .photos a img{width:140px;height:105px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--line);display:block}.events{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.events li{display:grid;grid-template-columns:20px 92px 1fr;gap:8px;padding:8px 0;border-top:1px solid var(--panel-3);font-size:14px}.events li:first-child{border-top:0}.events .ic{color:var(--muted);text-align:center}.events .t{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}.events .note{white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:900px){.crow .sel4{grid-template-columns:repeat(2,minmax(0,1fr))}.crow .sel4 .rm{grid-column:2;justify-self:end}.crow .nums{grid-template-columns:repeat(3,minmax(0,1fr))}.crow .calc{grid-column:1 / 3;padding-top:0}}@media(max-width:760px){.body{grid-template-columns:1fr;grid-template-rows:auto 1fr}.sidebar{max-height:38vh;border-right:0;border-bottom:1px solid var(--line)}.topbar .title{display:none}.grid3{grid-template-columns:1fr}.drow{grid-template-columns:1fr 1fr}.drow .dn{grid-column:1 / -1}.overlay{padding:0}.dialog{border-radius:0;min-height:100vh}.cards{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.card{padding:10px}.card .no{font-size:17px}.card .thumb-s{width:32px;height:32px}.card .top{flex-wrap:wrap}}
