:root{color-scheme:light;--ink: #111827;--sub: #6b7280;--line: #e5e7eb;--accent: #2563eb;--bad: #dc2626}*{box-sizing:border-box}html,body{background:#fff;color:var(--ink);margin:0}body{font-family:Noto Sans JP,Hiragino Sans,Yu Gothic UI,Meiryo,system-ui,sans-serif;font-size:14px;line-height:1.6}.page{max-width:1960px;margin:0 auto;padding:24px 28px 40px}header{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:14px}.eyebrow{font-size:12px;color:var(--sub);letter-spacing:.04em}h1{margin:2px 0;font-size:24px}h1 .co{font-size:14px;color:var(--sub);font-weight:500;margin-left:8px}.sub{color:var(--sub);font-size:13px}h2{font-size:16px;margin:24px 0 10px}h2 .count{background:#fee2e2;color:var(--bad);border-radius:10px;padding:1px 8px;font-size:12px;margin-left:6px}h2 .hint,.hint{font-size:12px;color:var(--sub);font-weight:400;margin-left:8px}.check{font-size:12px;border-radius:8px;padding:6px 10px}.check.ok{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.check.ng{background:#fef2f2;color:var(--bad);border:1px solid #fecaca}.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}.tile{border:1px solid var(--line);border-radius:10px;padding:10px 14px;background:#fff}.tile .k{font-size:12px;color:var(--sub)}.tile .v{font-size:26px;font-weight:700}.tile .v.sm{font-size:18px;padding-top:6px}.tile .v small{font-size:13px;font-weight:500;color:var(--sub);margin-left:2px}.tile.warn{border-color:#fecaca;background:#fff7f7}.tile.warn .v{color:var(--bad)}.tabs{display:flex;gap:6px;border-bottom:1px solid var(--line)}.tabs button{border:1px solid transparent;border-bottom:none;background:none;padding:9px 16px;font-size:14px;cursor:pointer;color:var(--sub);border-radius:8px 8px 0 0;font-family:inherit}.tabs button.on{border-color:var(--line);background:#fff;color:var(--ink);font-weight:700;margin-bottom:-1px}.alerts{display:grid;gap:8px}.alert{display:flex;gap:10px;align-items:flex-start;border:1px solid #fecaca;background:#fff7f7;border-radius:8px;padding:10px 12px;cursor:pointer}.alert .tag{flex:none;background:var(--bad);color:#fff;font-size:11px;border-radius:4px;padding:2px 6px;margin-top:2px}.gantt-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:8px;background:#fff}.legend{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.legend button{border:1px solid var(--line);background:#fff;border-radius:14px;padding:3px 10px;font-size:12px;cursor:pointer;font-family:inherit;color:var(--ink)}.legend button.on{border-color:var(--ink)}.legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px;vertical-align:-1px}table{border-collapse:collapse;width:100%;background:#fff;font-size:13px}th,td{border-bottom:1px solid var(--line);padding:6px 8px;text-align:left}th{background:#f9fafb;font-weight:600;color:#374151}.card{border:1px solid var(--line);border-radius:8px;padding:12px;margin-top:12px}.form{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;border:1px solid var(--line);border-radius:8px;padding:12px;background:#f9fafb}.form label{display:flex;flex-direction:column;font-size:12px;color:var(--sub);gap:4px}.form label.grow{flex:1;min-width:180px}.form select,.form input{font-family:inherit;font-size:14px;padding:6px 8px;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:var(--ink)}.form input[type=number]{width:90px}button.primary{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:9px 16px;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit}.note{color:var(--sub);font-size:12px}.impact{border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin:14px 0;display:grid;gap:8px}.impact .nums{display:flex;gap:18px;flex-wrap:wrap}.impact .nums b{font-size:20px}.impact .nums .bad b{color:var(--bad)}.diff tr.same td{color:#9ca3af}.chip{font-size:12px;border-radius:10px;padding:1px 8px;background:#f3f4f6}.chip.k-新たに遅れ,.chip.k-遅れが拡大{background:#fee2e2;color:var(--bad);font-weight:700}.chip.k-完了が遅くなる{background:#fef3c7;color:#92400e}.chip.k-早まる,.chip.k-遅れ解消,.chip.k-遅れが縮小{background:#dcfce7;color:#166534}td.late{color:var(--bad);font-weight:600}td.early{color:#166534}details.before{margin-top:14px}details.before summary{cursor:pointer;color:var(--accent)}footer{margin-top:32px;color:var(--sub);font-size:12px;border-top:1px solid var(--line);padding-top:12px}
