:root{font-family:system-ui,-apple-system,"Yu Gothic",Meiryo,sans-serif;color:#17383b;background:#f2f5f2;line-height:1.75;font-size:16px}*{box-sizing:border-box}body{margin:0}.demo-banner{padding:10px 20px;text-align:center;background:#163f42;color:#fff;font-size:.85rem;font-weight:700;letter-spacing:.08em}main{max-width:1080px;margin:auto;padding:40px 26px}header{padding:16px 0 24px}.eyebrow{color:#467266;font-size:.77rem;font-weight:800;letter-spacing:.13em;margin:0 0 8px}h1{font-size:clamp(1.9rem,4vw,3rem);line-height:1.4;letter-spacing:.02em;margin:0 0 18px}h2{font-size:1.4rem;line-height:1.5;margin:0 0 12px}h3{font-size:1.05rem;margin-bottom:0}.lead{color:#4d6260;margin:0}.boundary{background:#e6efea;border-left:4px solid #4d8874;padding:14px 18px;font-size:.85rem}.card{background:#fff;padding:30px;border:1px solid #d7e0da;border-radius:14px;box-shadow:0 8px 24px #163f4206}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}nav ol{list-style:none;padding:0;display:flex;gap:10px;margin:26px 0}nav li{flex:1;padding:12px;background:#e7ece6;border-radius:6px;font-size:.87rem;color:#53685f}nav li[aria-current]{background:#d5e7db;color:#164b37;font-weight:800}label,.label{display:block;font-weight:650;font-size:.85rem}.fields{display:grid;grid-template-columns:1fr 1fr;gap:22px}input,select{display:block;width:100%;padding:11px 12px;margin-top:6px;border:1px solid #a5bab0;border-radius:6px;font:inherit;color:inherit;background:#fff;min-width:0}input:focus,select:focus,button:focus-visible{outline:3px solid #86bca7;outline-offset:3px}.customer{margin:10px 0;font-size:1rem}.line{display:grid;grid-template-columns:minmax(160px,2.3fr) minmax(80px,1fr) minmax(110px,1.2fr) auto;gap:12px;padding:18px 0;border-bottom:1px solid #e4eae5;align-items:end}.hint{font-size:.8rem;color:#5a6f62;margin:6px 0}.assumption{background:#f7f5e9;padding:12px;font-size:.8rem;color:#605a35;margin-top:24px}button{font:inherit;font-weight:650;cursor:pointer;padding:11px 18px;border-radius:6px;border:1px solid #bacbc0;min-height:44px}.quiet{background:#fff;color:#285b48}.primary{background:#175e46;color:#fff;border-color:#175e46}.remove{padding:11px}.actions{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap;margin-top:26px}.totals{text-align:right;font-size:1rem;font-weight:750;margin-top:20px}.watermark{color:#986427;letter-spacing:.12em;font-size:.8rem;font-weight:800}.recipient{font-size:1.15rem;font-weight:700}table{border-collapse:collapse;width:100%;min-width:420px}caption{text-align:left;font-size:.8rem;color:#607366;padding:8px 0}th,td{padding:12px;border-bottom:1px solid #dbe5dd;text-align:right;white-space:nowrap}th{background:#e8f0e9;font-size:.85rem}th:first-child,td:first-child{text-align:left}.table-wrap{overflow-x:auto}.subtotal{text-align:right}.grand-total{border-top:2px solid #175e46;text-align:right;font-size:1.75rem;font-weight:800;padding-top:14px}footer{padding:30px 0 0;text-align:center;color:#627569;font-size:.75rem}#message:not(:empty){padding:14px;background:#fff0de;border:1px solid #c99550;margin:16px 0;color:#7e4219}[hidden]{display:none!important}button:disabled{opacity:.5;cursor:default}#invoice-dates{margin-top:20px}@media(max-width:640px){main{padding:24px 16px}.card{padding:20px 16px}.fields{grid-template-columns:1fr;gap:16px}.section-heading{align-items:flex-start;flex-direction:column}.line{grid-template-columns:1fr 1fr;gap:12px}.line>label:first-child{grid-column:1/-1}.remove{grid-column:2}nav ol{gap:5px}nav li{font-size:.75rem;padding:10px 7px}.actions>button{width:100%}.totals{text-align:left;font-size:.9rem}.grand-total{font-size:1.4rem}}
.staff-field{margin-top:22px;max-width:460px}.staff-name{font-size:.9rem;margin:4px 0 10px;overflow-wrap:anywhere}
.toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:32px 0 16px}.toolbar h2{margin:0}.list-card,#editor,#detail{margin-top:24px}.filters{margin-bottom:20px}.line{margin-bottom:15px}td:first-child div{white-space:normal;min-width:160px}#detail-meta p{margin:8px 0;overflow-wrap:anywhere}#delivery-lines input{width:110px;margin:0}#detail-title:focus,#edit-title:focus{outline:3px solid #86bca7;outline-offset:4px}#message.error{background:#fff0de;color:#7e4219}#message:not(:empty):not(.error){background:#e4f2e9;border-color:#82ad91;color:#174c34}#history{font-size:.9rem}caption{caption-side:top}td,th{font-variant-numeric:tabular-nums}input,select,button{min-height:44px}@media(max-width:640px){.toolbar{align-items:flex-start;flex-direction:column}.toolbar button{width:100%}h1 br{display:none}main{min-width:0}.filters{gap:16px}td,th{padding:10px 8px}.line>label:first-child{grid-column:1/-1}}
.document-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.9fr);gap:24px;align-items:start;break-inside:avoid}.document-heading p{overflow-wrap:anywhere}.issuer-block{justify-self:end;max-width:100%;text-align:right}.issuer-name{font-size:1.1rem;font-weight:750;margin:2px 0 10px;overflow-wrap:anywhere}.demo-seal{display:block;width:112px;height:112px;max-width:100%;object-fit:contain;margin-left:auto}.seal-caption{font-size:.72rem;margin:4px 0;color:#784040}.recipient{overflow-wrap:anywhere;word-break:break-word;border-bottom:1px solid #a6b9ae;padding:12px 0;margin-top:20px}.document-dates{overflow-wrap:anywhere}.document-heading>div{min-width:0}
@media(max-width:640px){.document-heading{grid-template-columns:1fr;gap:12px}.issuer-block{justify-self:start;text-align:left}.demo-seal{margin-left:0}.issuer-name{font-size:1rem}}
@media print{body{background:#fff;color:#000}.demo-banner{background:#fff;color:#000;border:2px solid #000}main{max-width:none;padding:0}header,main>aside,nav,#editor,#message,.actions,#invoice-dates,footer{display:none!important}.card{box-shadow:none;border:0;padding:5mm 0}.watermark{color:#000}.table-wrap{overflow:visible}table{min-width:0;table-layout:fixed}th,td{white-space:normal;overflow-wrap:anywhere;padding:8px;font-size:10pt}th:first-child{width:40%}.boundary,.assumption{background:#fff;color:#000;border:1px solid #555;break-inside:avoid}h2{font-size:18pt}.grand-total{font-size:20pt}tr{break-inside:avoid}.document-heading{grid-template-columns:minmax(0,1fr) minmax(60mm,75mm);gap:6mm;break-inside:avoid}.issuer-block{justify-self:end;text-align:right;break-inside:avoid}.issuer-name{font-size:12pt}.demo-seal{display:block;width:28mm;height:28mm;margin-left:auto}.seal-caption{color:#000;font-size:8pt}.recipient{font-size:13pt;overflow-wrap:anywhere;break-inside:avoid}@page{size:A4;margin:16mm}}
