:root{font-family:"Yu Gothic",Meiryo,sans-serif;color:#213833;background:#f1f5f4;font-size:16px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;background:white;border:1px solid #a5bcb5;padding:10px 15px;border-radius:7px;color:#214d41}button:hover{background:#e3efeb}.primary{background:#176053;color:white;border-color:#176053}.primary:hover{background:#124b41}.danger{color:#a52b36;margin-left:auto}.app{max-width:1400px;margin:auto;padding:24px}nav{display:flex;gap:20px;flex-wrap:wrap;font-size:.9rem}nav a{color:#286557}nav span{font-weight:bold}header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:32px 0 20px}h1{font-size:2rem;margin:0}h2{font-size:1.2rem;margin-top:0}h3{font-size:1rem}.eyebrow{color:#54746a;margin:0 0 6px}.tabs{display:flex;gap:8px;flex-wrap:wrap}.tabs [aria-pressed=true]{background:#d2e7df;border-color:#176053}.hint{font-size:.875rem;line-height:1.65;color:#53675f}#message{min-height:1.5em;color:#8c2835}.workspace{display:grid;grid-template-columns:260px 1fr;gap:24px;margin-top:24px}.panel{background:white;border:1px solid #d1dfd9;border-radius:12px;padding:24px}aside{padding:12px 0}.invoice-row{display:block;text-align:left;width:100%;margin:0 0 10px;padding:14px;line-height:1.7}.invoice-row strong,.invoice-row small{display:block}.invoice-row[aria-current=true]{border:2px solid #176053;background:#e8f2ee}.invoice-row small{font-size:.875rem}.section-head{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap}.tag{font-size:.875rem;color:#356555}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}label{display:flex;flex-direction:column;gap:6px;font-size:.9rem}input,select,textarea{width:100%;padding:10px;border:1px solid #9cafaa;border-radius:6px;color:#213833;background:white}textarea{resize:vertical}.wide{margin-top:20px}.item-row{display:grid;grid-template-columns:minmax(140px,1fr) 115px 85px 90px auto;align-items:end;gap:10px;margin-bottom:12px}.line-total{padding-bottom:12px;text-align:right;white-space:nowrap}.totals{display:flex;gap:24px;flex-wrap:wrap;justify-content:flex-end;margin:24px 0;padding:20px 0;border-top:1px solid #d1dfd9}.totals span{display:flex;gap:12px;align-items:center}.grand{font-size:1.3rem}.actions{display:flex;gap:10px;flex-wrap:wrap}#settings{max-width:950px;margin:24px auto}#settings button{margin-top:20px}dialog{width:min(980px,96vw);max-width:96vw;max-height:95vh;border:0;border-radius:10px;padding:24px;background:#e5ece8}dialog::backdrop{background:#142820bb}.preview-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:20px}.preview-actions p{flex:1;font-size:.875rem}#paper{background:white;padding:18mm;color:#151f1c;line-height:1.6;overflow-wrap:anywhere}.invoice-head{display:flex;justify-content:space-between;align-items:start;gap:24px}.invoice-head h1{background:#b8dfcf;padding:8px 42px;letter-spacing:.3em;font-size:1.6rem}.invoice-meta{text-align:right}.parties{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:26px 0}.recipient{font-size:1.2rem;font-weight:bold;border-bottom:1px solid;padding-bottom:8px}.issuer{font-size:.875rem;white-space:pre-line}.bill-total{margin-top:20px;border-bottom:2px solid #176053;padding:12px 0}.bill-total strong{font-size:1.5rem;display:block;text-align:right}.paper-title{background:#b8dfcf;padding:5px 10px}.bill-table{width:100%;border-collapse:collapse;font-size:.9rem}.bill-table th,.bill-table td{border:1px solid #727d78;padding:8px;vertical-align:top}.bill-table th:nth-child(1){width:55%}.bill-table td:not(:first-child){text-align:right;white-space:nowrap}.bill-table tr{break-inside:avoid}.sum-table{margin:16px 0 16px auto;border-collapse:collapse;min-width:240px}.sum-table td,.sum-table th{padding:6px 14px;border-bottom:1px solid #aaa;text-align:right}.sum-table tr:last-child{font-size:1.15rem;font-weight:bold}.remarks,.bank{white-space:pre-wrap;border:1px solid #9baaa4;padding:12px;margin-top:18px;font-size:.9rem}.bank{break-inside:avoid}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b66e13;outline-offset:3px}[hidden]{display:none!important}@media(max-width:950px){.workspace{grid-template-columns:1fr}#invoiceList{display:flex;gap:10px;overflow:auto}.invoice-row{min-width:210px}.item-row{grid-template-columns:1fr 1fr}.item-row label:first-child{grid-column:1/-1}.line-total{text-align:left}.fields{grid-template-columns:1fr}.app{padding:16px}.panel{padding:16px}header{align-items:start}.parties{grid-template-columns:1fr}#paper{padding:20px}.invoice-head{flex-wrap:wrap}}@page{size:A4;margin:15mm}@media print{body{background:white}.app{max-width:none;padding:0}.app>:not(dialog){display:none!important}dialog{display:block!important;position:static!important;inset:auto!important;width:100%!important;max-width:none!important;max-height:none!important;height:auto!important;margin:0;padding:0;background:white;overflow:visible!important;border:0}dialog::backdrop{display:none}.preview-actions{display:none!important}#paper{padding:0;font-size:10pt;print-color-adjust:exact;-webkit-print-color-adjust:exact}.parties{grid-template-columns:1fr 1fr}.invoice-head{flex-wrap:nowrap}.bill-table{font-size:10pt}thead{display:table-header-group}}
:where(.table-wrap) td input,:where(.table-wrap) td select,:where(.table-wrap) td textarea{font-size:14px;min-width:110px;padding:7px;border-color:transparent;background:transparent}
:where(.table-wrap) td input:hover,:where(.table-wrap) td select:hover,:where(.table-wrap) td textarea:hover{border-color:#9cafaa;background:white}
:where(.table-wrap) td input:focus,:where(.table-wrap) td select:focus,:where(.table-wrap) td textarea:focus{background:white;border-color:#176053}
:where(.table-wrap) td input[type=date]{min-width:145px}
:where(.table-wrap) td.detail input,:where(.table-wrap) td.detail textarea{min-width:230px}
:is(select[data-field="status"],select#status)[data-status]{font-weight:700;border:1px solid var(--status-border);background:var(--status-bg);color:var(--status-ink);border-radius:8px}
select[data-status="未着手"]{--status-bg:#edf0f3;--status-ink:#424d5c;--status-border:#b5beca}
select[data-status="進行中"]{--status-bg:#e1efff;--status-ink:#164b87;--status-border:#8bb6e6}
select[data-status="内容確認中"]{--status-bg:#fff3c4;--status-ink:#715000;--status-border:#d4b342}
select[data-status="修正中"]{--status-bg:#ffe7d5;--status-ink:#8b3b09;--status-border:#dfa16e}
select[data-status="保留"]{--status-bg:#eee4fa;--status-ink:#64408a;--status-border:#b79acf}
select[data-status="完了"]{--status-bg:#dcf1e4;--status-ink:#1c623c;--status-border:#8abf9e}
select[data-status] option{background:#fff;color:#213833}

