:root{color:#17212f;font-synthesis:none;text-rendering:optimizelegibility;--ink:#17212f;--muted:#687586;--line:#d9e1e6;--soft:#fff8fb;--accent:#d98aa5;--accent-dark:#8f4d64;--seal:#b72f2a;background:#edf2f4;font-family:-apple-system,BlinkMacSystemFont,Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif}*{box-sizing:border-box}body{margin:0}button,select{font:inherit}a{color:inherit}.app{min-height:100vh}.toolbar{z-index:2;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;justify-content:space-between;align-items:center;gap:20px;padding:12px 18px;display:flex;position:sticky;top:0;box-shadow:0 8px 24px #17212f0f}.toolbar h1{color:var(--ink);margin:2px 0 0;font-size:18px;line-height:1.25}.toolbarMeta{color:var(--muted);margin-top:3px;font-size:12px}.eyebrow{color:var(--accent);margin:0;font-size:12px;font-weight:700}.toolbarActions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.iconButton,.printButton,.recordSelect{height:38px;color:var(--ink);background:#fff;border:1px solid #cfd9df;border-radius:6px}.iconButton,.printButton{cursor:pointer}.iconButton{place-items:center;width:38px;transition:border-color .16s,color .16s,transform .16s;display:inline-grid}.iconButton:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.printButton{border-color:var(--accent-dark);background:var(--accent-dark);color:#fff;white-space:nowrap;align-items:center;gap:8px;padding:0 14px;font-weight:700;text-decoration:none;display:inline-flex;box-shadow:0 8px 18px #12303b29}.recordSelect{color:#2f3745;background:linear-gradient(45deg, transparent 50%, var(--muted) 50%) right 16px top 16px / 6px 6px no-repeat, linear-gradient(135deg, var(--muted) 50%, transparent 50%) right 10px top 16px / 6px 6px no-repeat, #fff;appearance:none;width:min(320px,46vw);min-width:220px;padding:0 34px 0 12px}.notice{color:#6f5400;background:#fff8de;border:1px solid #d7bf75;border-radius:6px;max-width:210mm;margin:14px auto 0;padding:10px 12px;font-size:13px}.stage{padding:28px 24px;overflow:auto}.paper{background:#fff;border:1px solid #e0e6ea;width:210mm;min-height:297mm;margin:0 auto;padding:15mm 17mm 16mm;position:relative;box-shadow:inset 0 1px #fffc,0 18px 42px #17212f24}.paper:before{background:var(--accent);content:"";height:4px;position:absolute;top:0;left:17mm;right:17mm}.invoiceHeader{border-bottom:1.5px solid var(--ink);grid-template-columns:minmax(0,1fr) 88mm;gap:11mm;padding:5mm 0 8mm;display:grid}.documentTitle{color:var(--ink);letter-spacing:0;margin-bottom:13mm;padding-left:6mm;font-size:34px;font-weight:850;position:relative}.documentTitle:before{background:var(--accent);content:"";width:2mm;position:absolute;top:3px;bottom:4px;left:0}.customerName{border-bottom:1.4px solid var(--ink);min-width:78mm;color:var(--ink);padding:0 2mm 5px 0;font-size:19px;font-weight:800;display:inline-block}.contact{color:#4f5968;margin-top:5mm}.issuerPanel{border:1px solid var(--line);background:var(--soft);color:#4f5968;padding:5mm;font-size:12px;line-height:1.62;position:relative}.brandRow{justify-content:space-between;align-items:flex-start;gap:5mm;min-height:34mm;display:flex}.logoMark{border:1.6px solid var(--ink);border-left:5px solid var(--accent);min-width:31mm;min-height:14mm;color:var(--ink);background:#fff;justify-content:center;align-items:center;padding:0 10px;line-height:1;display:inline-flex}.logoTextOnly{letter-spacing:0;font-size:18px;font-weight:900}.moonLogo{background:0 0;border:0;width:34mm;min-width:34mm;min-height:34mm;padding:0}.customLogo{background:0 0;border:0;width:34mm;min-width:34mm;min-height:24mm;padding:0}.moonLogoImage{object-fit:contain;width:auto;height:34mm;display:block}.customLogoImage{object-fit:contain;max-width:34mm;max-height:34mm;display:block}.seal{object-fit:contain;opacity:.94;width:27mm;height:27mm}.issuerName{color:var(--ink);font-size:15px;font-weight:800}.small{font-size:12px}.metaGrid{grid-template-columns:22mm 1fr;gap:2mm 4mm;margin:5mm 0 0;display:grid}.metaGrid dt{color:var(--muted)}.metaGrid dd{color:var(--ink);font-variant-numeric:tabular-nums;margin:0}.summaryRow{grid-template-columns:minmax(0,1fr) 66mm;align-items:start;gap:5mm 8mm;margin:9mm 0;display:grid}.summaryRow p{margin:0}.amountBox{background:var(--accent-dark);color:#fff;border:0;grid-row:span 2;padding:4.5mm}.amountBox span,.bankBox span{color:var(--muted);font-size:12px;font-weight:700;display:block}.amountBox span{color:#ffffffb8}.amountBox strong{color:#fff;text-align:right;font-variant-numeric:tabular-nums;margin-top:2mm;font-size:26px;line-height:1.1;display:block}.bankBox{border:1px solid var(--line);border-left:4px solid var(--accent);background:#fbfcfc;padding:3.5mm 4mm}.bankBox strong{margin-top:1.5mm;font-size:12px;line-height:1.55;display:block}.itemsTable,.miniTable{border-collapse:collapse;width:100%}.itemsTable th,.itemsTable td{border-bottom:1px solid var(--line);vertical-align:top;padding:3mm 2.5mm}.itemsTable th{background:var(--ink);color:#fff;text-align:left;font-size:12px}.itemsTable tbody tr:nth-child(2n){background:#fafcfc}.itemsTable th:not(:first-child),.itemsTable td:not(:first-child){white-space:nowrap}.num{text-align:right;font-variant-numeric:tabular-nums}.bottomGrid{grid-template-columns:1fr 1fr;gap:8mm;margin-top:8mm;display:grid}.bottomGrid>div,.invoiceFooter>div{border:1px solid var(--line);background:#fff;padding:4mm}.bottomGrid h2,.invoiceFooter h2{color:var(--accent);letter-spacing:0;margin:0 0 2.5mm;font-size:13px}.miniTable td{border-bottom:1px solid #edf1f3;padding:2mm 0}.miniTable tr:last-child td{border-bottom:0}.strongRow td{color:var(--ink);font-size:15px;font-weight:800}.invoiceFooter{grid-template-columns:1fr 1fr;gap:8mm;margin-top:8mm;display:grid}.invoiceFooter p{margin:0}.thankYou{color:#4f5968;background:var(--soft);place-items:center;font-weight:700;display:grid}.preline{white-space:pre-line}@media (width<=840px){.toolbar{flex-direction:column;align-items:flex-start;gap:12px}.toolbarActions{justify-content:flex-start;width:100%}.recordSelect{width:100%;min-width:0}.stage{padding:12px}.paper{width:100%;min-height:auto;padding:20px}.paper:before{left:20px;right:20px}.invoiceHeader,.summaryRow,.bottomGrid,.invoiceFooter{grid-template-columns:1fr}}@media print{:root,body{background:#fff}.toolbar,.notice{display:none}.stage{padding:0;overflow:visible}.paper{width:auto;min-height:auto;box-shadow:none;border:0;margin:0;padding:0}.paper:before{left:0;right:0}@page{size:A4;margin:13mm}}
