:root{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:#173045;background:#f4f7fb;font-size:18px}*{box-sizing:border-box}body{margin:0}header{background:#123f64;color:white;padding:16px 24px;display:flex;align-items:center;gap:22px;flex-wrap:wrap}header strong{font-size:23px}nav{display:flex;gap:8px;flex-wrap:wrap}nav a{color:white;text-decoration:none;font-weight:700;padding:10px;border-radius:8px}nav a:hover{background:#21577d}main{max-width:1220px;margin:27px auto;padding:0 18px}h1{font-size:30px;margin:0 0 22px}h2{font-size:23px}a{color:#075caa}button,.btn{background:#087c66;border:0;border-radius:9px;padding:12px 19px;color:white;text-decoration:none;cursor:pointer;font-size:18px;font-weight:bold;display:inline-block}.btn.alt,button.alt{background:#325674}.btn.light{background:#e4eff5;color:#173045}.btn.danger,button.danger{background:#ad3540}button:disabled{opacity:.45}input,select,textarea{font:inherit;border:1px solid #a9bacb;border-radius:8px;padding:12px;width:100%;background:white}input[type=checkbox]{width:auto}label{display:block;font-weight:700;margin:0 0 7px}.field{margin-bottom:18px}.panel{background:white;border:1px solid #e0e7ee;border-radius:13px;padding:24px;margin:18px 0;box-shadow:0 2px 10px #17304509}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.metric{font-size:28px;font-weight:800;margin-top:12px}.hint,.muted{color:#62768b;font-size:15px}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:12px 0 20px}.scroll{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{padding:13px 10px;text-align:left;border-bottom:1px solid #e2e8ef}th{background:#eff5fa;font-size:16px;white-space:nowrap}td.num,th.num{text-align:right;white-space:nowrap}.alert{padding:15px 18px;border-radius:10px;background:#fff1df;color:#773d05;margin-bottom:18px}.ok{background:#e5f5ef;color:#155b49}.login{max-width:460px;margin:70px auto}.item-row{display:grid;grid-template-columns:2.5fr .8fr .7fr 1fr .6fr auto;gap:9px;align-items:end;margin-bottom:10px}.item-row label{font-size:14px}.item-row input{padding:10px}.right{text-align:right}.invoice{background:white;border-radius:12px;padding:42px}.invoice-head{display:flex;justify-content:space-between;gap:30px}.print-total{font-size:26px;font-weight:bold}.bar{display:flex;align-items:center;gap:14px;margin:10px 0}.bar-track{height:21px;border-radius:7px;background:#e8eff5;flex:1;overflow:hidden}.bar-fill{height:100%;background:#168b78}.bar-name{width:85px}.bar-value{min-width:130px;text-align:right}@media(max-width:850px){.cards{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}.item-row{grid-template-columns:1fr 1fr}.item-row>div:first-child{grid-column:1/-1}header{gap:8px}.invoice{padding:15px}}@media print{header,.no-print,.actions,.btn,button{display:none!important}body{background:white}main{margin:0;max-width:100%;padding:0}.panel,.invoice{box-shadow:none;border:0;padding:0}.invoice{font-size:14px}h1{font-size:25px}th,td{padding:8px}}
/* v2: 大きい文字と動的金額 */
.item-row{display:block;background:#f8fbfd;border:1px solid #d6e2ec;border-radius:12px;padding:18px;margin:15px 0}
.item-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.item-row label{font-size:16px}
.item-row .field{margin-bottom:8px}
.line-total{display:block;font-size:22px;font-weight:800;padding:12px 4px;color:#087c66}
.row-delete{margin-top:10px}
.totals{margin:20px 0;padding:22px;background:#f0f7f5;border-radius:12px;max-width:620px;margin-left:auto}
.totals>div{display:flex;justify-content:space-between;padding:9px;border-bottom:1px solid #d8e9e4;font-size:21px}
.totals .grand{font-size:26px;color:#066b57;font-weight:800}
@media(max-width:900px){.item-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:540px){.item-fields{grid-template-columns:1fr}}

/* v3: master hub & classic quotation print */
.master-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.master-tile{background:white;padding:28px;border:1px solid #d9e4e8;border-radius:12px;display:flex;flex-direction:column;gap:12px;text-decoration:none}.master-tile strong{font-size:24px}.master-tile span{color:#607587}
.quote-sheet{color:#222;font-size:16px}.sheet-top{position:relative;text-align:center;min-height:42px}.sheet-top h1{color:#008c88;font-size:28px}.sheet-number{position:absolute;right:0;top:0;text-align:right;font-size:13px}.sheet-customer{font-size:23px;margin:10px 0 30px}.sheet-details{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}.sheet-terms p{margin:0;padding:8px 2px;border-bottom:1px solid #667}.sheet-total{font-size:24px;font-weight:800;color:#067d78;border-bottom:5px double #087f7d;margin-top:12px;padding-bottom:7px}.sheet-total small{font-size:13px;margin-left:8px}.sheet-sender{padding:0 2px}.sender-and-seal{display:flex;align-items:flex-start;gap:14px;justify-content:space-between}.sheet-sender strong{font-size:22px;letter-spacing:.08em}.seal-box{border:1px solid #888;min-width:70px;height:70px;display:grid;place-items:center;color:#999;font-size:14px}.sheet-message{font-size:13px;color:#168b86;margin-top:10px}.sheet-items{margin-top:22px;table-layout:fixed}.sheet-items th{background:white;color:#007d7a;border-top:3px solid #008783;border-bottom:3px solid #008783}.sheet-items td{border-bottom:1px dashed #098681;vertical-align:top}.sheet-items th:nth-child(1){width:44%}.sheet-items th:nth-child(2){width:8%}.sheet-items th:nth-child(3){width:8%}.sheet-items th:nth-child(4){width:12%}.sheet-items th:nth-child(5){width:14%}.sheet-items th:nth-child(6){width:14%}.sheet-items tfoot th{font-size:13px}.sheet-notes{border:1px solid #008b85;margin-top:22px;padding:12px;min-height:95px}.sheet-notes b{color:#007b76}
@media(max-width:700px){.master-grid,.sheet-details{grid-template-columns:1fr}.sheet-number{position:static}.sheet-items{font-size:12px}.sheet-items td,.sheet-items th{padding:4px}.sheet-customer{font-size:19px}}@media print{@page{size:A4;margin:12mm}.quote-sheet{font-size:11px;padding:0!important}.sheet-top h1{font-size:19px}.sheet-customer{font-size:16px;margin:4mm 0 11mm}.sheet-details{grid-template-columns:1fr 1fr;gap:15px}.sheet-terms p{padding:3px 0}.sheet-sender strong{font-size:15px}.sheet-total{font-size:16px}.sheet-total small{font-size:10px}.sheet-items{font-size:10px}.sheet-items th,.sheet-items td{padding:5px 3px}.sheet-notes{break-inside:avoid}.invoice{border:0}.sheet-items tr{break-inside:avoid}}
