:root{--ground: #f7f7f5;--panel: #ffffff;--panel-sunken: #eef1f4;--border: #d7dbe0;--border-strong: #b9c0c8;--ink: #1f2328;--ink-soft: #565c64;--ink-faint: #7a8089;--accent: #1b5fbf;--accent-ink: #ffffff;--accent-soft: #e8f0fb;--success: #1e7b41;--success-bg: #e7f5ec;--warning: #875700;--warning-bg: #fcefd1;--danger: #b3261e;--danger-bg: #fbeae9;--font: "BIZ UDPGothic", "Noto Sans JP", system-ui, sans-serif;--fs-body: 1rem;--fs-label: .875rem;--fs-small: .8125rem;--fs-h1: 1.375rem;--fs-h2: 1.1875rem;--fs-money: 1.75rem;--fs-money-sub: 1.125rem;--lh: 1.7;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--radius: 6px;--tap-min: 44px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--font);font-size:var(--fs-body);line-height:var(--lh);-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0;text-wrap:balance}h1{font-size:var(--fs-h1);font-weight:700}h2{font-size:var(--fs-h2);font-weight:700}p{margin:0}::selection{background:var(--accent);color:var(--accent-ink)}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.app-shell{min-height:100%;display:flex;flex-direction:column}.app-header-sticky{position:sticky;top:0;z-index:20}.topbar{background:var(--panel);border-bottom:1px solid var(--border);padding:var(--space-3) var(--space-4);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.topbar .brand{display:flex;align-items:baseline;gap:var(--space-2)}.topbar .actions{display:flex;align-items:center;gap:var(--space-2)}.tabs{background:var(--panel-sunken);border-bottom:1px solid var(--border);padding:0 var(--space-4);display:flex;gap:var(--space-1)}.tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;font:inherit;font-size:var(--fs-body);font-weight:500;color:var(--ink-soft);padding:var(--space-3) var(--space-4);min-height:var(--tap-min);border-bottom:3px solid transparent;cursor:pointer}.tab[aria-selected=true]{color:var(--accent);border-bottom-color:var(--accent);font-weight:700}.tab:disabled{cursor:default}.main{flex:1;width:100%;max-width:1700px;margin:0 auto;padding:var(--space-5) var(--space-4) var(--space-6);display:flex;flex-direction:column;gap:var(--space-5)}.footer{border-top:1px solid var(--border);padding:var(--space-3) var(--space-4);color:var(--ink-faint);font-size:var(--fs-small);display:flex;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius)}.panel-pad{padding:var(--space-4)}.section-title{font-size:var(--fs-label);font-weight:700;letter-spacing:.02em;color:var(--ink-soft);margin:0 0 var(--space-3)}.field-grid{display:grid;gap:var(--space-3);grid-template-columns:1fr}@media (min-width: 640px){.field-grid.cols-2{grid-template-columns:1fr 1fr}.field-grid.cols-3{grid-template-columns:1fr 1fr 1fr}}.field{display:flex;flex-direction:column;gap:var(--space-1)}.field label,.field-label{font-size:var(--fs-label);font-weight:700;color:var(--ink-soft)}input[aria-invalid=true],select[aria-invalid=true]{border-color:var(--danger);box-shadow:0 0 0 1px var(--danger)}.field-error{color:var(--danger);font-size:var(--fs-small);line-height:1.3}.check-row{display:inline-flex;align-items:flex-start;gap:var(--space-2);max-width:100%;color:var(--ink);font-weight:600;line-height:1.5}.check-row input[type=checkbox]{flex:0 0 auto;width:1.25rem;height:1.25rem;margin:.12rem 0 0}input,select,textarea{font:inherit;font-size:var(--fs-body);color:var(--ink);background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--radius);padding:var(--space-2) var(--space-3);min-height:var(--tap-min)}input::placeholder{color:var(--ink-faint)}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--accent)}input:disabled,select:disabled{background:var(--panel-sunken);color:var(--ink-faint)}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;font-size:var(--fs-body);font-weight:700;border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--panel);color:var(--ink);padding:var(--space-2) var(--space-4);min-height:var(--tap-min);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2)}.btn:hover:not(:disabled){border-color:var(--ink-soft)}.btn:disabled{color:var(--ink-faint);cursor:default;background:var(--panel-sunken)}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn-primary:hover:not(:disabled){background:#164f9f;border-color:#164f9f}.btn-primary:disabled{background:var(--panel-sunken);border-color:var(--border);color:var(--ink-faint)}.btn-danger-text{background:transparent;border-color:transparent;color:var(--danger);padding-left:var(--space-2);padding-right:var(--space-2)}.btn-danger-text:hover:not(:disabled){background:var(--danger-bg)}.btn-row{display:flex;gap:var(--space-2);flex-wrap:wrap;align-items:center}.request-export-action{position:relative;display:inline-flex}.request-export-action:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius)}.request-export-tooltip{position:absolute;left:50%;bottom:calc(100% + var(--space-2));z-index:20;width:max-content;max-width:min(300px,80vw);padding:var(--space-2) var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--ink);color:var(--ground);box-shadow:0 4px 12px #0000002e;font-size:var(--fs-small);line-height:1.5;text-align:left;transform:translate(-50%);opacity:0;visibility:hidden;pointer-events:none}.request-export-action:hover .request-export-tooltip,.request-export-action:focus .request-export-tooltip,.request-export-action:focus-within .request-export-tooltip{opacity:1;visibility:visible}.notice{border-radius:var(--radius);padding:var(--space-3) var(--space-3);font-size:var(--fs-body);display:flex;gap:var(--space-2);align-items:flex-start;line-height:var(--lh)}.notice-icon{font-weight:900;flex:none}.notice-danger{background:var(--danger-bg);color:var(--danger)}.notice-warning{background:var(--warning-bg);color:var(--warning)}.notice-success{background:var(--success-bg);color:var(--success)}.badge-warning{display:inline-flex;align-items:center;gap:4px;background:var(--warning-bg);color:var(--warning);border-radius:999px;font-size:var(--fs-small);font-weight:700;padding:2px 9px}.badge-match{display:inline-flex;align-items:center;border-radius:999px;font-size:var(--fs-small);font-weight:700;padding:2px 9px;white-space:nowrap}.badge-match-auto{background:var(--success-bg);color:var(--success)}.badge-match-candidate{background:var(--warning-bg);color:var(--warning)}.badge-match-unresolved{background:var(--danger-bg);color:var(--danger)}.data-table{width:100%;border-collapse:collapse;font-size:var(--fs-body)}.data-table th{text-align:left;font-size:var(--fs-label);font-weight:700;color:var(--ink-soft);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);white-space:nowrap}.data-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);vertical-align:middle}.data-table tr:last-child td{border-bottom:none}.data-table .num{font-variant-numeric:tabular-nums;text-align:right}.data-table tr.is-stale{background:var(--warning-bg)}.data-table tr.is-pending-edit{background:var(--accent-soft)}.drag-handle{width:36px;min-height:36px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);color:var(--ink-soft);display:inline-flex;align-items:center;justify-content:center;cursor:grab;-webkit-user-select:none;user-select:none;font-weight:700}.drag-handle:active{cursor:grabbing}.drag-handle:focus-visible{outline:3px solid var(--focus);outline-offset:2px}@media (max-width: 639px){.drag-handle,.data-table.stack thead{display:none}.data-table.stack,.data-table.stack tbody,.data-table.stack tr,.data-table.stack td{display:block;width:100%}.data-table.stack tr{border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-3);margin-bottom:var(--space-3)}.data-table.stack tr.is-stale{border-color:var(--warning)}.data-table.stack tr.is-pending-edit{border-color:var(--accent)}.data-table.stack td{border-bottom:none;padding:var(--space-1) 0;display:flex;justify-content:space-between;gap:var(--space-3)}.data-table.stack td[data-label]:before{content:attr(data-label);font-size:var(--fs-label);font-weight:700;color:var(--ink-soft);flex:none}.data-table.stack .num{text-align:right}.data-table.stack td:has(select),.data-table.stack td:has(input){flex-direction:column;align-items:stretch;gap:var(--space-1)}.data-table.stack td select,.data-table.stack td input:not([type=checkbox]){width:100%;max-width:100%;box-sizing:border-box}}.money-summary{background:var(--panel);border:2px solid var(--ink);border-radius:var(--radius);padding:var(--space-4);display:flex;gap:var(--space-5);flex-wrap:wrap}.money-summary .item{flex:1;min-width:160px}.money-summary .k{font-size:var(--fs-label);font-weight:700;color:var(--ink-soft);margin:0 0 4px}.money-summary .v{font-size:var(--fs-money);font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.money-summary .v small{font-size:var(--fs-money-sub);font-weight:700}.money-summary .note{width:100%;font-size:var(--fs-small);color:var(--ink-faint);border-top:1px solid var(--border);padding-top:var(--space-2);margin-top:var(--space-1)}@media (min-width: 900px){.request-form-screen{padding-bottom:110px}.request-form-screen .request-bottom-bar{position:fixed;left:0;right:0;bottom:0;z-index:15;background:var(--ground);border-top:1px solid var(--border);box-shadow:0 -2px 8px #0000000f;padding:var(--space-2) var(--space-4);display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.request-form-screen .request-bottom-bar>.notice{width:100%;max-width:1700px;box-sizing:border-box}.request-form-screen .request-bottom-bar-actions{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--space-5)}.request-form-screen .request-bottom-bar-actions .money-summary,.request-form-screen .request-bottom-bar-actions .btn-row{max-width:1700px}.request-form-screen .request-bottom-bar-actions>.money-summary{flex:1 1 auto;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-5);border:none;padding:0;--fs-money: 1.375rem;--fs-money-sub: 1rem}.request-form-screen .request-bottom-bar-actions>.money-summary .item{flex:none;min-width:0}.request-form-screen .request-bottom-bar-actions>.money-summary .note{flex:1 0 100%;width:auto;border-top:none;padding-top:0;margin-top:0;font-size:var(--fs-small)}.request-form-screen .request-bottom-bar-actions>.btn-row{flex:none}}.empty-state{border:1px dashed var(--border-strong);border-radius:var(--radius);padding:var(--space-5);text-align:center;color:var(--ink-soft)}.empty-state p{margin:0 0 var(--space-2)}.empty-state p:last-child{margin:0}.help-panel{background:var(--accent-soft);border:1px solid var(--accent);border-radius:var(--radius);padding:var(--space-4)}.help-panel h3{font-size:var(--fs-body);margin:0 0 var(--space-2)}.help-panel ol{margin:0;padding-left:1.3em}.help-panel li{margin:0 0 var(--space-1)}.help-panel li:last-child{margin:0}.price-group-list{display:flex;flex-direction:column;gap:var(--space-3)}.price-group{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-sunken);padding:var(--space-3) var(--space-4)}.price-group[open]{background:var(--panel)}.price-group-summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);font-weight:700;list-style:none}.price-group-summary::-webkit-details-marker{display:none}.price-group-controls{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.price-group-name{font-size:var(--fs-body);display:flex;align-items:center;gap:var(--space-2)}.price-group-name:before{content:"▶";display:inline-block;font-size:.7em;color:var(--ink-faint);transition:transform .15s ease}.price-group[open]>.price-group-summary .price-group-name:before{transform:rotate(90deg)}.price-group-meta{font-size:var(--fs-small);font-weight:400;color:var(--ink-soft);white-space:nowrap}.login-shell{min-height:100%;display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.login-card{width:100%;max-width:360px;padding:var(--space-6) var(--space-5);text-align:center}.login-card h1{margin-bottom:var(--space-1)}.login-card .lede{color:var(--ink-soft);margin-bottom:var(--space-5)}.login-card form{display:flex;flex-direction:column;gap:var(--space-3);text-align:left}.loading-text{color:var(--ink-soft);padding:var(--space-5);text-align:center}:root{--quote-viewer-width: min(46vw, 640px)}.quote-viewer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100;padding:var(--space-4)}.quote-viewer-panel{background:var(--panel);width:min(1100px,100%);height:90vh;border-radius:var(--radius);display:flex;flex-direction:column;overflow:hidden}@media (min-width: 900px){.quote-viewer-overlay{background:transparent;justify-content:flex-end;align-items:stretch;padding:0;pointer-events:none}.quote-viewer-panel{width:var(--quote-viewer-width);height:100vh;border-radius:0;border-left:1px solid var(--border);box-shadow:-4px 0 16px #0000001f;pointer-events:auto}.price-list-screen.quote-viewer-open{margin-right:var(--quote-viewer-width)}}.quote-review-scroll{overflow:auto;max-height:55vh;border:1px solid var(--border);border-radius:var(--radius)}.quote-review-scroll table{margin:0}.quote-review-scroll thead th{position:sticky;top:0;z-index:1;background:var(--panel)}.history-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100;padding:var(--space-4)}.history-modal-panel{background:var(--panel);width:min(900px,100%);max-height:85vh;border-radius:var(--radius);display:flex;flex-direction:column;overflow:hidden}@media (max-width: 639px){.field-grid,.field-grid>.field{min-width:0}.field input[type=file]{display:block;width:100%;max-width:100%;min-width:0}.history-request-summary{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-1);min-width:0}.history-request-name,.history-request-meta{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.history-request-meta{padding-left:1.1em}.request-form-screen .data-table.stack,.request-form-screen .data-table.stack tbody,.request-form-screen .data-table.stack tr,.request-form-screen .data-table.stack td{min-width:0!important;max-width:100%!important}.request-form-screen .data-table.stack td[data-label=期間]{width:100%!important;min-width:0!important;max-width:100%!important}.request-form-screen .data-table.stack td[data-label=期間]>div{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1);width:100%!important;min-width:0!important;max-width:100%!important}.request-form-screen .data-table.stack td[data-label=期間] input[type=date]{display:block;box-sizing:border-box!important;width:17rem!important;max-width:100%!important;min-width:0!important;inline-size:17rem!important;max-inline-size:100%!important;min-inline-size:0!important}.request-form-screen .data-table.stack td[data-label=期間] input:not([type=date]){display:block;box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important}}
