:root{--bg: #f4f5f7;--card: #fff;--text: #1f2937;--muted: #6b7280;--line: #e5e7eb;--primary: #1e4e8c;--primary-h: #173d6e;--danger: #b42318;font-family:Yu Gothic UI,Meiryo,Hiragino Sans,system-ui,sans-serif;color:var(--text)}*{box-sizing:border-box}body{margin:0;background:var(--bg)}main{padding:0}h1{font-size:20px;margin:0}h2{font-size:15px;margin:0 0 12px}code{background:#eef;padding:0 4px;border-radius:3px}.loading{padding:40px;text-align:center;color:var(--muted)}.topbar{display:flex;align-items:center;gap:20px;padding:0 20px;height:52px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.brand{font-weight:700;color:var(--primary)}.topbar nav{display:flex;gap:4px}.topbar nav a{padding:8px 12px;border-radius:6px;color:var(--text);text-decoration:none;font-size:14px}.topbar nav a.active{background:#e8eef7;color:var(--primary);font-weight:600}.spacer{flex:1}.user{font-size:13px;color:var(--muted)}.demo-badge{font-size:12px;background:#fff4d6;color:#8a5a00;padding:4px 10px;border-radius:99px}.page{max-width:1400px;margin:0 auto;padding:20px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}.head-actions,.row-actions,.bottom-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.bottom-actions{margin-top:16px}.ok{color:#067647;font-size:13px}.dirty{color:#b54708;font-size:13px}.error{color:var(--danger);background:#fef3f2;padding:8px 12px;border-radius:6px}.hint{color:var(--muted);font-size:12px}.empty{color:var(--muted);padding:40px;text-align:center;background:#fff;border-radius:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:8px 14px;border:1px solid #d0d5dd;background:#fff;color:var(--text);border-radius:6px;font-size:14px;cursor:pointer;text-decoration:none;white-space:nowrap;font-family:inherit}.btn:hover{background:#f9fafb}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary-h)}.btn.danger{color:var(--danger)}.btn.ghost{border-color:transparent}.btn.small{padding:4px 10px;font-size:13px}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:16px 18px;margin-bottom:16px}input,select,textarea{font:inherit;font-size:14px;padding:6px 8px;border:1px solid #d0d5dd;border-radius:5px;width:100%;background:#fff;color:var(--text)}input:focus,select:focus,textarea:focus{outline:2px solid #b6cdf0;border-color:var(--primary)}textarea{resize:vertical}label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}label.check{flex-direction:row;align-items:center;gap:8px;font-size:14px;color:var(--text)}label.check input{width:auto}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px 16px}.span2{grid-column:span 2}.span4{grid-column:span 4}@media (max-width: 800px){.grid{grid-template-columns:1fr 1fr}.span4{grid-column:span 2}}.toolbar{display:flex;gap:8px;margin-bottom:12px}.toolbar input{max-width:360px}.toolbar select{width:140px}table.list{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;font-size:14px}table.list th{text-align:left;background:#f9fafb;color:var(--muted);font-weight:600;font-size:12px;padding:10px;border-bottom:1px solid var(--line)}table.list td{padding:10px;border-bottom:1px solid var(--line)}table.list td:first-child,table.list td.r,table.list .status{white-space:nowrap}table.list tbody tr{cursor:pointer}table.list tbody tr:hover{background:#f8fafc}.r{text-align:right}.actions{white-space:nowrap;text-align:right}.actions .btn{margin-left:4px}.status{font-size:12px;padding:2px 8px;border-radius:99px;background:#eef2f6}.s-提出済{background:#e0ecff;color:#1849a9}.s-受注{background:#dcfae6;color:#067647}.s-失注{background:#f2f4f7;color:#667085}.s-作成中{background:#fff4d6;color:#8a5a00}.sec-head{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;margin-bottom:10px}.sec-head h2{margin:0 8px 8px 0;white-space:nowrap}.sec-head label{flex:1;min-width:140px}.sec-head label.narrow{flex:0 0 70px;min-width:70px}.sec-tools{display:flex;gap:4px}table.items{width:100%;border-collapse:collapse;font-size:13px}table.items th{font-size:12px;color:var(--muted);font-weight:600;text-align:left;padding:4px;border-bottom:1px solid var(--line)}table.items td{padding:2px;border-bottom:1px solid #f2f4f7}table.items input{padding:5px 6px;font-size:13px}table.items .idx{color:var(--muted);text-align:center}table.items .w-qty{width:90px}table.items .w-unit{width:70px}table.items .w-price{width:100px}table.items .w-amt,table.items .w-note{width:120px}table.items .w-ops{width:112px}table.items .amt{text-align:right;padding:5px 6px}table.items input.manual{background:#fffbeb}table.items tfoot td{padding-top:8px;border-bottom:none}.strong{font-weight:700}.ops{white-space:nowrap}.icon{border:none;background:none;cursor:pointer;padding:4px 6px;border-radius:4px;color:var(--muted);font-size:14px}.icon:hover{background:#f2f4f7;color:var(--text)}.icon.danger:hover{color:var(--danger)}.add-section{width:100%;margin-bottom:16px;border-style:dashed}.summary .sum-grid{max-width:640px;margin-left:auto}.sum-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #f2f4f7;gap:12px;font-size:14px}.sum-row span{display:flex;align-items:center;gap:6px}.sum-row b{font-variant-numeric:tabular-nums}.sum-row.sub{color:var(--muted);padding-left:16px}.sum-row.helper{color:var(--muted);font-size:13px}.sum-row.total{font-size:16px}.sum-row.total b{font-size:18px;color:var(--primary)}.sum-row .rate{width:64px;text-align:right}.sum-row .discount{width:130px}.sum-row .label-input{width:200px}.neg{color:var(--danger)}.login-wrap{min-height:100vh;display:grid;place-items:center}.login{width:340px;display:flex;flex-direction:column;gap:14px}.login h1{text-align:center;color:var(--primary)}.master-form{background:#f9fafb;padding:12px;border-radius:8px;margin-bottom:12px}.nowrap{white-space:nowrap}.pre{white-space:pre-line}.warn{color:#8a5a00;background:#fff8e6;border:1px solid #f3dca5;padding:8px 12px;border-radius:6px;margin:0 0 12px;font-size:13px}.empty-row{text-align:center;color:var(--muted);padding:24px}fieldset.plain{border:none;padding:0;margin:0;min-width:0}fieldset.plain:disabled input,fieldset.plain:disabled select,fieldset.plain:disabled textarea{background:#f9fafb;color:#374151}.span3{grid-column:span 3}.hint-cell{display:flex;align-items:flex-end;padding-bottom:8px}.with-pick{display:flex;gap:8px;align-items:flex-start}.with-pick select{width:220px;flex:none}.tabs{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:12px;border-bottom:1px solid var(--line)}.tabs a{padding:8px 12px;color:var(--muted);text-decoration:none;font-size:14px;border-bottom:2px solid transparent;margin-bottom:-1px}.tabs a.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.toolbar .spacer{flex:1}.status{white-space:nowrap}.s-引合受付,.s-現地調査{background:#f0e8ff;color:#5b21b6}.s-積算中{background:#fff4d6;color:#8a5a00}.s-社内承認,.s-承認待ち,.s-審査済,.s-申請中{background:#ffe9d6;color:#9a3412}.s-承認済,.s-承認{background:#dcfae6;color:#067647}.s-辞退,.s-旧版,.s-却下{background:#f2f4f7;color:#667085}.due.soon{color:#b54708;font-weight:600}.due.over{color:var(--danger);font-weight:700}.stepper{display:flex;list-style:none;padding:0;margin:0 0 16px;gap:4px;flex-wrap:wrap}.stepper li{flex:1;min-width:110px;display:flex;align-items:center;gap:8px;padding:10px 12px;background:#fff;border:1px solid var(--line);border-radius:8px;font-size:13px;color:var(--muted)}.stepper li.pick{cursor:pointer}.stepper li.pick:hover{border-color:var(--primary)}.stepper .dot{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#eef2f6;font-size:12px;flex:none}.stepper li.done{color:#067647}.stepper li.done .dot{background:#dcfae6}.stepper li.current{border-color:var(--primary);color:var(--primary);font-weight:700;background:#f3f7fd}.stepper li.current .dot{background:var(--primary);color:#fff}.stepper li.r-失注,.stepper li.r-辞退{border-color:#98a2b3;color:#475467;background:#f2f4f7}.stepper li.r-失注 .dot,.stepper li.r-辞退 .dot{background:#98a2b3}.approval{border-color:#c7d7f0}.approval-head{display:flex;align-items:center;gap:12px;margin-bottom:10px}.approval-head h2{margin:0}.stamps-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}.stamps-row div{border:1px solid var(--line);border-radius:6px;padding:8px 10px;display:flex;flex-direction:column;gap:2px}.stamps-row small{color:var(--muted);font-size:11px}.stamps-row b{font-size:14px}.flow{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:16px}.flow-item{position:relative;background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px;cursor:pointer}.flow-item:hover{border-color:var(--primary);box-shadow:0 1px 6px #1e4e8c1f}.flow-item:not(:last-child):after{content:"▶";position:absolute;right:-9px;top:38%;color:#b6c2d3;font-size:10px}.flow-no{font-size:11px;color:var(--muted)}.flow-title{font-weight:700;font-size:14px;margin:2px 0 6px}.flow-count{font-size:26px;font-weight:700;color:var(--primary)}.flow-count small{font-size:12px;margin-left:2px;color:var(--muted);font-weight:400}.flow-desc{font-size:11px;color:var(--muted);margin-top:4px;line-height:1.5}@media (max-width: 1100px){.flow{grid-template-columns:repeat(4,1fr)}.flow-item:after{display:none}}@media (max-width: 600px){.flow{grid-template-columns:repeat(2,1fr)}}.dash-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.dash-grid .card{margin:0}@media (max-width: 900px){.dash-grid{grid-template-columns:1fr}}table.list.compact td{padding:8px;font-size:13px}table.list .sub{font-size:11px;color:var(--muted)}.print-root{--ink: #000;--rule: #9a9a9a;background:#6b7280;padding:16px 0 40px;min-height:100vh}.print-toolbar{position:sticky;top:0;z-index:5;display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:#fff;padding:10px 16px;margin:-16px 0 16px;box-shadow:0 1px 4px #00000026}.print-toolbar .hint{color:#555;font-size:12px}.sheet{position:relative;width:297mm;height:210mm;margin:0 auto 16px;background:#fff;color:var(--ink);font-family:MS Mincho,ＭＳ 明朝,Yu Mincho,游明朝,Hiragino Mincho ProN,"Noto Serif JP",serif;font-size:10pt;box-shadow:0 2px 10px #0000004d;overflow:hidden;break-after:page;page-break-after:always}.sheet:last-child{break-after:auto;page-break-after:auto}.sheet>*{position:absolute}.cv-no{left:227mm;top:17mm;width:34mm;white-space:nowrap;border-bottom:.2mm solid var(--rule);font-size:10pt}.cv-no span,.t-no span{margin-left:6mm}.cv-title{left:0;right:0;top:19mm;text-align:center;font-size:28pt;letter-spacing:.1em}.cv-date{left:210mm;top:31.5mm;font-size:10.5pt}.cv-customer{left:30mm;top:40.5mm;width:94.5mm;padding:0 0 1mm 12mm;border-bottom:.2mm solid var(--rule);font-size:15pt;display:flex;box-sizing:border-box}.cv-customer .name{flex:1}.cv-customer .hon{margin-left:4mm;padding-right:5mm}.cv-company{left:210mm;top:40.5mm;width:52mm;font-size:10.5pt;line-height:4.6mm}.cv-company>*{position:relative;z-index:1}.cv-company .indent{padding-left:8.5mm}.cv-company .cname{font-size:13pt;margin-top:.6mm}.cv-company .seal{position:absolute;z-index:2;left:29mm;top:7mm;width:21mm;height:23mm;object-fit:contain;mix-blend-mode:multiply}.cv-staff{left:218mm;top:72mm;width:43.5mm;padding-left:1mm;box-sizing:border-box;border-bottom:.2mm solid var(--rule);font-size:10.5pt}.cv-staff span:first-child{margin-right:1.5mm}.cv-amount{left:90.7mm;top:81.5mm;width:110.3mm;height:9mm;border-bottom:.35mm dotted #000;display:flex;align-items:flex-end;padding-bottom:.8mm;box-sizing:border-box}.cv-amount .label{font-size:15pt;width:34mm;padding-left:1mm}.cv-amount .value{font-size:19pt;width:47mm;text-align:center;letter-spacing:.03em}.cv-amount .unit{font-size:15pt;margin-left:4mm}.cv-taxnote{right:96.5mm;top:93.5mm;font-size:10.5pt}.cv-stamps{left:208.6mm;top:81.3mm;display:flex;border:.3mm solid #000}.cv-stamps div{width:20.2mm;height:20.7mm}.cv-stamps div+div{border-left:.3mm solid #000}.cv-info{left:47.5mm;top:105mm;width:196.5mm;font-size:10.5pt}.cv-info .line{display:flex;align-items:flex-end;height:10.7mm;border-bottom:.35mm dotted #000;box-sizing:border-box;padding-bottom:1.3mm}.cv-info .k{width:32mm;white-space:nowrap;padding-left:.5mm;text-align:justify;text-align-last:justify}.cv-info .colon{width:9mm;text-align:center}.cv-info .v{flex:1;white-space:nowrap}.cv-info .line.notes{position:relative;height:auto;border-bottom:none;padding-bottom:0;margin-top:4.4mm;align-items:center}.cv-info .notes .v{display:flex;flex-direction:column}.cv-info .notes .nl{height:6.2mm;line-height:6.6mm}.cv-info .notes .nl:first-child{border-bottom:.35mm dotted #000}.cv-info .line.notes:after{content:"";position:absolute;left:0;right:-9mm;bottom:0;border-bottom:.35mm dotted #000}.cv-closing{left:47.5mm;top:176.8mm;font-size:10.5pt;line-height:6mm}.t-title{left:0;right:0;top:14mm;text-align:center;font-size:20pt}.t-no{left:233mm;top:25.5mm;width:40mm;white-space:nowrap;font-size:10pt}.t-table{left:13.2mm;top:29.6mm;width:265.6mm;border-collapse:collapse;table-layout:fixed;border:.45mm solid #000;font-size:9pt;letter-spacing:-.01em}.t-table col.c-blank{width:8.4mm}.t-table col.c-name{width:51.4mm}.t-table col.c-spec{width:59.9mm}.t-table col.c-qty,.t-table col.c-unit{width:17.1mm}.t-table col.c-price{width:25.8mm}.t-table col.c-amt{width:34mm}.t-table col.c-note{width:51.9mm}.t-table th{height:8.6mm;font-weight:400;font-size:10pt;vertical-align:bottom;padding:0 0 .6mm;border-bottom:.45mm solid #000;border-left:.15mm solid var(--rule)}.t-table td{height:8.6mm;padding:0 .8mm .5mm;vertical-align:bottom;white-space:nowrap;overflow:hidden;border-top:.15mm solid var(--rule);border-left:.15mm solid var(--rule);box-sizing:border-box}.t-table tr>:first-child{border-left:none}.t-table td.r{text-align:right}.t-table td.c{text-align:center}.t-table td.neg,.t-table td.discount{color:#e00}.t-table td.discount{text-align:center;letter-spacing:.1em}.t-table .total-label{text-align:center;padding-right:8mm}.t-table .welfare{display:inline-flex;gap:8mm;padding-left:1.5mm}.t-footer{left:0;right:0;top:198mm;text-align:center;font-weight:700;font-size:11pt;font-family:MS Gothic,ＭＳ ゴシック,Yu Gothic,sans-serif}.t-pageno{right:18.5mm;top:198mm;font-weight:700;font-size:10.5pt;font-family:MS Gothic,ＭＳ ゴシック,Yu Gothic,sans-serif}@media screen and (max-width: 1150px){.sheet{zoom:.6}}@page{size:A4 landscape;margin:0}@media print{html,body{background:#fff!important}.no-print,.topbar{display:none!important}main{padding:0!important}.print-root{background:none;padding:0;min-height:0}.sheet{margin:0;box-shadow:none;zoom:1}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.cv-stamps div{position:relative;display:grid;place-items:center}.hanko{width:15.5mm;height:15.5mm;border:.5mm solid #d0312d;border-radius:50%;color:#d0312d;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:MS Mincho,Yu Mincho,serif;line-height:1.05;transform:rotate(-4deg)}.hanko .hk-date{font-size:5.5pt;border-bottom:.3mm solid #d0312d;padding:0 .8mm .3mm;margin-bottom:.6mm}.hanko .hk-name{font-size:10pt;font-weight:700;letter-spacing:.05em}.print-toolbar .check{flex-direction:row;align-items:center;gap:6px;font-size:13px;color:#333}.print-toolbar .warn.small{font-size:12px;padding:4px 8px;margin:0}
