:root{font-family:Noto Sans JP,system-ui,sans-serif;color:#233443;background:#f3f6f8;font-synthesis:none;line-height:1.65}*{box-sizing:border-box}body{margin:0}main{max-width:1180px;margin:auto;padding:28px;min-width:0}h1{font-size:1.65rem;margin:4px 0 10px}h2{font-size:1.2rem;margin:0 0 14px}h3{font-size:1.05rem;margin:24px 0 10px}p{margin:8px 0 16px}button,input,select,textarea{font:inherit;font-size:16px}button,input:not([type=checkbox]):not([type=radio]),select{min-height:44px}button{border:1px solid #55758b;border-radius:6px;background:#fff;color:#244b62;padding:9px 16px;cursor:pointer;white-space:normal}button:hover{background:#e9f1f6}button:disabled{opacity:.5;cursor:default}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #42829b;outline-offset:3px}input,textarea,select{border:1px solid #8195a2;border-radius:5px;padding:8px;background:#fff;color:#233443;max-width:100%}textarea{width:100%;min-height:110px;resize:vertical}input[aria-invalid=true],textarea[aria-invalid=true]{border:2px solid #a22e49}label{display:block;font-weight:600;margin:8px 0}.intro,.section-head{display:flex;justify-content:space-between;gap:20px;align-items:start}.eyebrow,.date,small{color:#536978;font-size:.85rem}.date{white-space:nowrap;padding:12px 0}.panel,.guide{background:#fff;border:1px solid #d5dfe5;border-radius:9px;padding:24px;margin:20px 0}.guide{background:#eaf1f6;border-left:4px solid #39647d}.job-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.job-card{text-align:left;display:flex;flex-direction:column;gap:10px;align-items:start;overflow-wrap:anywhere}.job-card.chosen{border:2px solid #316079;background:#edf4f8}.badge{font-size:.8rem;color:#6c3946}.split{display:grid;grid-template-columns:1fr 1fr;gap:32px}dl{margin:12px 0}dl>div{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid #e1e7ec}dt{color:#4c606d}dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}.total{font-weight:700}.warning,.error{color:#9b2d49}.error{font-weight:600}.message{background:#e5f2ed;padding:14px;border-left:4px solid #3c7b63}.table-wrap{max-width:100%;overflow:auto}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{text-align:left;border-bottom:1px solid #d8e1e7;padding:13px 12px}th{background:#f2f6f8}td{white-space:nowrap;font-variant-numeric:tabular-nums}td.prose{white-space:normal;min-width:180px;max-width:340px;overflow-wrap:anywhere}.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.steps li{padding:14px;border-left:3px solid #547c92;background:#f1f5f8}.steps strong,.steps small{display:block}.steps span{font-size:.85rem;color:#476578}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.form-field{margin:16px 0}.preview{padding:20px;background:#eef3f7;margin-top:20px;border:1px solid #9eb5c4}.file{padding:8px 12px;border:1px solid #8a9ca8;border-radius:5px;margin:0;min-height:44px}.file input{display:block;max-width:260px}.csv-input{min-height:240px;font-family:monospace;font-size:16px;white-space:pre;overflow:auto}.schema{overflow-wrap:anywhere;font-size:.9rem}.plan-table input{width:160px}.plan-table th{min-width:180px}.plan-table small{display:block;white-space:normal}.plan-table select{min-width:110px}.gantt{margin:18px 0;overflow:auto}.gantt svg{width:100%;min-width:520px;display:block;background:#f5f8fa}.gantt text{font-family:inherit;font-size:12px;fill:#344b5a}.report-job{border-top:1px solid #bfcfd9;padding:12px 0;break-inside:avoid}.report-job p{overflow-wrap:anywhere}summary{cursor:pointer;min-height:44px;padding:12px 0}footer{font-size:.8rem;color:#536978;margin:30px 0}.warning-list{color:#8d344a}works-shell{min-width:0}@media(max-width:700px){main{padding:16px}.intro,.section-head,.date{display:block}.panel,.guide{padding:18px}.job-grid,.split,.steps{grid-template-columns:1fr}.split{gap:12px}.actions{align-items:stretch}.actions>button{flex:1 1 150px}h1{font-size:1.5rem}dd{overflow-wrap:anywhere}}@media print{body{background:#fff;font-size:10pt}main{padding:0;max-width:none}.intro,.no-print,.message{display:none!important}.panel{border:0;padding:0;margin:0}.report-job{break-inside:avoid}footer{font-size:8pt}@page{size:A4;margin:15mm}}.field-error{white-space:normal;max-width:190px;font-size:.85rem}.cost-table th{white-space:nowrap;min-width:6em}.cost-table td.prose{min-width:180px}
