:root{font-family:Inter,Yu Gothic UI,Noto Sans JP,sans-serif;color:#172126;background:#edf1f0;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:1080px}.topbar{height:72px;padding:0 28px;background:#102c2b;color:#fff;display:flex;align-items:center;justify-content:space-between;border-bottom:3px solid #d9b45b}.brand{display:flex;align-items:center;gap:12px}.mark{display:grid;place-items:center;width:38px;height:38px;border:1px solid #d9b45b;color:#d9b45b;font-family:Georgia,serif;font-size:23px}.brand h1{font-size:18px;letter-spacing:.08em;margin:0}.brand p{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#9eb0ad;margin:2px 0 0}.privacy{font-size:12px;color:#c7d3d1}.privacy span{display:inline-block;width:7px;height:7px;background:#74b995;border-radius:50%;margin-right:8px}main{padding:18px 22px 24px}.upload-card{min-height:82px;background:#fff;border:1px solid #d6ddda;padding:14px 18px;display:flex;align-items:center;gap:15px;box-shadow:0 3px 14px #14302c0d}.upload-card.drag{border-color:#247163;background:#f3faf7}.upload-icon{width:42px;height:48px;display:grid;place-items:center;border:1px solid #bdc9c5;color:#47615c;font-size:10px;font-weight:800}.upload-card strong{font-size:14px}.upload-card p{font-size:12px;color:#73817e;margin:4px 0}.upload-card .button{margin-left:auto}.button{border:0;padding:10px 17px;font:inherit;font-size:12px;font-weight:700;cursor:pointer;border-radius:2px}.primary{background:#b99137;color:#fff}.primary:hover{background:#a17b29}.primary:disabled{opacity:.4;cursor:not-allowed}.secondary{background:#e3eae7;color:#23423d}.message{margin-top:12px;padding:10px 14px;font-size:12px;border-left:3px solid}.message.info{background:#eef6f5;border-color:#498b80;color:#27584f}.message.success{background:#edf7f0;border-color:#4d9864;color:#28613a}.message.error{background:#fbefed;border-color:#b85d52;color:#7f342c}.hidden{display:none}.workspace{display:grid;grid-template-columns:minmax(390px,38%) minmax(650px,62%);gap:14px;height:calc(100vh - 202px);min-height:620px;margin-top:14px}.panel{background:#fff;border:1px solid #d6ddda;min-height:0;box-shadow:0 3px 14px #14302c0d}.panel-head{height:67px;padding:12px 16px;border-bottom:1px solid #dde4e1;display:flex;justify-content:space-between;align-items:center}.panel-head h2{font-family:Georgia,Yu Mincho,serif;font-size:18px;font-weight:500;margin:2px 0}.eyebrow{font-size:9px;letter-spacing:.16em;color:#a6802d;font-weight:800}.meta{font-size:11px;color:#73817e;max-width:55%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-panel{position:relative;display:flex;flex-direction:column}.preview-panel iframe{border:0;width:100%;flex:1;background:#525c5a}.empty{position:absolute;top:67px;right:0;bottom:0;left:0;display:grid;place-content:center;text-align:center;background:#f2f4f3;color:#89938f}.paper{margin:auto;width:76px;height:94px;border:1px solid #c7cfcc;display:grid;place-items:center;color:#a3aca9;font-size:12px;background:#fff}.empty p{font-size:12px}.data-panel{display:flex;flex-direction:column}.controls{padding:12px 14px;border-bottom:1px solid #dde4e1;display:flex;gap:9px;align-items:end;flex-wrap:wrap}.controls label{font-size:10px;color:#687773;display:flex;flex-direction:column;gap:4px;position:relative}.controls input,.controls select,td input{border:1px solid #cbd5d1;background:#fff;padding:7px 8px;font:inherit;font-size:12px;border-radius:2px}.controls input{width:130px}.controls label:nth-child(3) input{width:82px;padding-right:23px}.suffix{position:absolute;right:8px;bottom:8px}.table-actions{height:48px;padding:0 14px;display:flex;align-items:center;gap:16px;border-bottom:1px solid #dde4e1;font-size:11px;color:#65746f}.table-actions .primary{margin-left:auto}.check{display:flex;align-items:center;gap:6px}.table-wrap{overflow:auto;flex:1}table{border-collapse:collapse;width:100%;min-width:920px}th,td{padding:7px 6px;border-bottom:1px solid #e4e9e7;font-size:11px;text-align:right;white-space:nowrap}th{position:sticky;top:0;z-index:2;background:#f1f4f3;color:#61706c;font-weight:700}th:nth-child(3),td:nth-child(3){text-align:left}td input{width:74px;padding:5px}.name{width:230px}.unit{width:55px}tr.off{opacity:.38}.strong{font-weight:800;color:#173d37}.placeholder td{text-align:center;padding:70px 10px;color:#89938f}@media (max-width:1200px){body{min-width:0}.workspace{grid-template-columns:1fr;height:auto}.preview-panel{height:620px}.data-panel{height:720px}}@media (max-width:700px){main{padding:12px}.topbar{padding:0 14px}.privacy{display:none}.upload-card{align-items:flex-start;flex-wrap:wrap}.upload-card .button{margin-left:57px}.preview-panel{height:500px}}.pdf-pages{flex:1;min-height:0;overflow:auto;background:#4d5755;padding:18px}.pdf-page{position:relative;margin:0 auto 18px;max-width:100%;width:max-content;background:#fff;box-shadow:0 3px 16px #0005}.pdf-page canvas{display:block;width:auto;max-width:100%;height:auto;background:#fff}.pdf-page span{position:absolute;right:8px;top:8px;z-index:1;padding:3px 6px;background:#102c2bcc;color:#fff;font-size:9px;border-radius:2px}.preview-loading{height:100%;min-height:300px;display:grid;place-items:center;color:#e4ece9;font-size:12px}.error-text{color:#ffd1ca}.empty[hidden]{display:none!important}.party-badges{margin-left:auto;margin-right:14px;display:flex;gap:7px}.supplier-badge{padding:6px 10px;border-left:2px solid #b99137;background:#f5f1e7;min-width:135px}.supplier-badge span{display:block;color:#7b6a44;font-size:9px;letter-spacing:.08em}.supplier-badge strong{display:block;margin-top:2px;color:#173d37;font-size:12px}.supplier-badge.customer{border-left-color:#3d8175;background:#edf5f2}.totals{min-height:64px;display:flex;align-items:center;justify-content:flex-end;gap:24px;padding:9px 16px;border-top:1px solid #d6ddda;background:#f5f7f6}.totals>span{margin-right:auto;color:#65746f;font-size:11px}.totals div{min-width:110px;text-align:right}.totals small{display:block;color:#73817e;font-size:9px}.totals strong{display:block;margin-top:2px;color:#173d37;font-size:16px}.totals .grand{padding-left:20px;border-left:1px solid #c8d2ce}.totals .grand strong{color:#a17b29;font-size:20px}.supplier-master{border-top:1px solid #d6ddda;background:#fff}.supplier-master summary{padding:10px 14px;cursor:pointer;color:#274a44;font-size:11px;font-weight:700}.supplier-master summary span{margin-left:6px;color:#8a9692;font-weight:400}.supplier-table-wrap{max-height:170px;overflow:auto}.supplier-master table{min-width:1120px}.supplier-master td:first-child{text-align:left;font-weight:700}.master-table th,.master-table td{text-align:left}.customer-master summary{color:#376b62}.condition-source{align-self:end;margin-bottom:1px;padding:7px 9px;border-radius:2px;font-size:10px;font-weight:700;white-space:nowrap}.condition-source.manual{background:#edf0ef;color:#687773}.condition-source.customer{background:#e3f2ed;color:#27675b}.condition-source.supplier{background:#f4ecd9;color:#7d6126}.master-search{display:flex;align-items:center;gap:10px;padding:8px 14px;background:#f5f7f6;border-top:1px solid #e2e8e5}.master-search input{width:280px;border:1px solid #cbd5d1;padding:7px 9px;font:inherit;font-size:11px}.master-search span{color:#84908c;font-size:9px}.mini-button{border:0;padding:5px 8px;background:#e4ebe8;color:#284b44;cursor:pointer;font-size:10px;white-space:nowrap}.saved-quotes summary{color:#816426}.master-dialog{width:min(920px,92vw);max-height:88vh;padding:0;border:1px solid #cbd5d1;box-shadow:0 20px 60px #102c2b55}.master-dialog::backdrop{background:#102c2b88}.master-dialog form{padding:0}.dialog-head{display:flex;justify-content:space-between;align-items:center;padding:15px 18px;background:#102c2b;color:#fff}.dialog-head h2{margin:2px 0 0;font:500 19px Georgia,Yu Mincho,serif}.dialog-close{border:0;background:transparent;color:#fff;font-size:24px;cursor:pointer}.master-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:16px 18px 10px}.master-fields label,.dialog-label{display:flex;flex-direction:column;gap:4px;color:#687773;font-size:10px}.master-fields label.wide{grid-column:1/-1}.master-fields input,.dialog-label textarea,.condition-row input,.condition-row select{border:1px solid #cbd5d1;padding:8px;font:inherit;font-size:12px}.dialog-label{margin:0 18px 14px}.condition-editor-head{display:flex;justify-content:space-between;align-items:center;margin:0 18px 8px}.condition-rows{margin:0 18px;max-height:220px;overflow:auto}.condition-row{display:grid;grid-template-columns:1fr 1.2fr 1.2fr 90px 100px 30px;gap:6px;margin-bottom:6px}.remove-condition{border:0;background:#f5e6e3;color:#8f4038;cursor:pointer}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;padding:14px 18px;border-top:1px solid #dde4e1;margin-top:14px}
