@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#f6f7f7;--paper:#fff;--ink:#171d1b;--muted:#66716e;--line:#dfe5e3;--line-strong:#cbd5d2;--primary:#173f38;--primary-soft:#e8f1ef;--success:#177245;--warning:#8a5d0f;--danger:#a93232;--shadow:0 10px 28px #171d1b12;font-family:Geist Variable,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans,"Geist Variable", sans-serif);margin:0;line-height:1.5}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.65}.appShell{grid-template-rows:auto 1fr;min-height:100vh;display:grid}.topBar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;align-items:center;gap:14px;min-height:72px;padding:14px 22px;display:flex}.brandMark{color:#fff;background:var(--primary);border-radius:8px;place-items:center;width:42px;height:42px;font-size:13px;font-weight:800;display:grid}.topBar h1,.topBar p,.panelHeader h2,.panelHeader p,.fieldBlock h3,.sectionTitle h2,.sectionTitle p,.summaryBand h2,.summaryBand p,.emptyState h2,.emptyState p,.eventCard h3,.eventCard p,.adjacentCard h3{margin:0}.topBar h1{font-size:18px;font-weight:720}.topBar p{color:var(--muted);font-size:13px}.apiBadge{border:1px solid var(--line);color:var(--muted);white-space:nowrap;background:#fbfdfc;border-radius:999px;margin-left:auto;padding:6px 10px;font-size:12px}.workspace{grid-template-columns:minmax(0,1fr) 390px;min-height:0;display:grid}.reportPane{min-width:0;min-height:calc(100vh - 72px);padding:18px;overflow:auto}.sidePanel{border-left:1px solid var(--line);background:var(--paper);flex-direction:column;gap:16px;min-height:calc(100vh - 72px);padding:18px;display:flex}.panelHeader,.sectionTitle{align-items:flex-start;gap:10px;display:flex}.panelHeader .icon,.sectionTitle svg,.emptyState svg,.errorBanner svg,.tabs svg,.actions svg{flex:none;width:18px;height:18px}.panelHeader .icon,.sectionTitle svg{color:var(--primary)}.panelHeader h2,.sectionTitle h2{font-size:16px;font-weight:720}.panelHeader p,.sectionTitle p{color:var(--muted);font-size:13px}.fieldBlock{border:1px solid var(--line);background:#fbfdfc;border-radius:8px;padding:14px}.fieldBlock h3{margin-bottom:12px;font-size:13px;font-weight:760}.presetGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.presetGrid button{border:1px solid var(--line);min-height:42px;color:var(--ink);background:var(--paper);border-radius:8px;padding:8px;font-size:12px;font-weight:650}.presetGrid button:hover{border-color:var(--primary);background:var(--primary-soft)}.field{gap:6px;margin-bottom:13px;display:grid}.field:last-child{margin-bottom:0}.field>span{color:var(--muted);font-size:12px;font-weight:620}.field input,.field select,.field textarea{border:1px solid var(--line-strong);width:100%;min-height:38px;color:var(--ink);background:var(--paper);border-radius:8px;outline:none;padding:8px 10px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #173f381c}.field textarea{resize:vertical}.scenarioSelect{color:var(--ink)}.fieldHint{color:var(--muted);margin:8px 0 0;font-size:12px}.segmented{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.segmented button{border:1px solid var(--line);min-height:58px;color:var(--muted);background:var(--paper);text-align:left;border-radius:8px;padding:8px}.segmented button b,.segmented button span{display:block}.segmented button b{color:var(--ink);font-size:13px}.segmented button span{margin-top:2px;font-size:11px}.segmented button.active{border-color:var(--primary);color:var(--primary);background:var(--primary-soft);box-shadow:inset 0 0 0 1px var(--primary)}.actions{gap:8px;margin-top:0;display:grid}.primaryButton,.secondaryButton,.ghostButton{border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:40px;font-weight:720;display:inline-flex}.primaryButton{border:1px solid var(--primary);color:#fff;background:var(--primary)}.secondaryButton{border:1px solid var(--line-strong);color:var(--ink);background:#fbfdfc}.ghostButton{color:var(--muted);background:0 0;border:1px solid #0000}.primaryButton:hover{background:#0f302a}.secondaryButton:hover,.ghostButton:hover{background:var(--primary-soft)}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.emptyState{min-height:calc(100vh - 112px);color:var(--muted);text-align:center;align-content:center;place-items:center;gap:8px;display:grid}.emptyState.compact{min-height:420px}.emptyState svg{color:#b8c2bf;stroke-width:1.2px;width:48px;height:48px}.emptyState h2{color:var(--ink);font-size:18px;font-weight:720}.emptyState p{max-width:420px;font-size:14px}.errorBanner{color:var(--danger);background:#fff5f5;border:1px solid #a9323247;border-radius:8px;align-items:center;gap:8px;margin-bottom:12px;padding:10px 12px;font-size:14px;display:flex}.tabs{gap:8px;margin-bottom:14px;display:flex}.tabs button{border:1px solid var(--line);min-height:36px;color:var(--muted);background:var(--paper);border-radius:8px;align-items:center;gap:7px;padding:7px 11px;display:inline-flex}.tabs button.active{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.reportStack{gap:14px;display:grid}.summaryBand,.reportSection,.jsonPanel{border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow);border-radius:8px}.summaryBand{grid-template-columns:minmax(220px,.9fr) 1.6fr;gap:18px;padding:18px;display:grid}.eyebrow{color:var(--muted);text-transform:uppercase;margin-bottom:4px;font-size:11px;font-weight:760}.summaryBand h2{margin-bottom:6px;font-size:22px;line-height:1.2}.summaryBand p{color:var(--muted);font-size:13px}.summaryStats,.miniGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.statCard{border:1px solid var(--line);background:#fbfdfc;border-radius:8px;min-width:0;padding:8px 9px}.statCard span{color:var(--muted);margin-bottom:4px;font-size:11px;display:block}.statCard strong{overflow-wrap:anywhere;white-space:pre-line;font-size:13px;display:block}.reportSection{padding:16px}.sectionTitle{margin-bottom:14px}.tableWrap{border:1px solid var(--line);border-radius:8px;overflow-x:auto}table{border-collapse:collapse;background:#fff;width:100%;min-width:980px}th,td{border-bottom:1px solid var(--line);vertical-align:top;text-align:left;padding:11px 12px;font-size:13px}th{color:#fff;background:var(--primary);font-weight:720}tr:last-child td{border-bottom:0}td strong,td span,td small{display:block}td span{color:var(--muted);margin-top:4px}td small{color:var(--primary);margin-top:4px;font-weight:720}.eventGrid,.adjacentGrid,.aggregateStack,.recommendationGroups{gap:12px;display:grid}.recommendationGroup{border:1px solid var(--line);background:#fbfdfc;border-radius:8px}.recommendationGroup>summary{color:var(--primary);cursor:pointer;padding:14px 16px;font-size:17px;font-weight:800}.recommendationGroup>.eventGrid,.recommendationGroup>.aggregateStack,.recommendationGroup>.adjacentGrid,.recommendationGroup>.normList,.recommendationGroup>.tableWrap,.recommendationGroup>.emptyGroup{margin:0 14px 14px}.emptyGroup{border:1px dashed var(--line-strong);color:var(--muted);background:var(--paper);border-radius:8px;padding:12px;font-size:13px}.eventCard,.adjacentCard,.aggregateTextBlock{border:1px solid var(--line);background:#fbfdfc;border-radius:8px;padding:11px 12px}.aggregateTextBlock p{overflow-wrap:anywhere;color:#25302d;margin:0;font-size:13px}.aggregateTextBlock .denseList{padding-bottom:0}.eventTop{cursor:pointer;gap:9px;margin-bottom:9px;list-style:none;display:flex}.eventTop::-webkit-details-marker{display:none}.eventCard:not([open]) .eventTop{margin-bottom:0}.eventCardBody{border-top:1px solid var(--line);padding-top:9px}.eventTop>span{color:#fff;background:var(--primary);border-radius:8px;flex:none;place-items:center;width:26px;height:26px;font-size:13px;font-weight:800;display:grid}.eventTop h3{font-size:14px;line-height:1.32}.eventTop p{color:var(--muted);font-size:13px}.detailBlock{border:1px solid var(--line);background:#fff;border-radius:8px;margin-top:9px}.detailBlock summary{color:var(--primary);cursor:pointer;padding:9px 10px;font-size:13px;font-weight:760}.detailBlock p,.denseList{overflow-wrap:anywhere;color:#25302d;margin:0;padding:0 10px 10px;font-size:13px}.denseList{padding-left:28px}.denseList li{margin-bottom:6px}.contentTextBlock p{color:#25302d;margin:0;padding:0 10px 10px;font-size:13px}.contentSection h4{color:var(--primary);margin:12px 10px 8px;font-size:14px}.contentSection:first-child h4{margin-top:0}.equipmentListItem>strong,.equipmentListItem>span,.methodListItem>strong,.methodListItem>span{display:block}.methodGroup+.methodGroup,.methodGroup+.methodList{margin-top:14px}.methodGroup h4{color:var(--primary);margin:0 0 8px;font-size:14px;font-weight:780}.equipmentListItem span,.methodListItem span{color:var(--muted);margin-top:3px;font-size:12px}.methodListItem span{white-space:pre-line}.methodListItem span strong{color:inherit;font-weight:800;display:inline}.equipmentGroups{gap:10px;padding-bottom:10px;display:grid}.equipmentPurposeGroup>strong{color:var(--primary);padding:0 10px 4px;font-size:12px;display:block}.specialistRoleStack{gap:10px;padding-bottom:10px;display:grid}.specialistRole>strong{color:var(--primary);padding:0 10px 4px;font-size:12px;display:block}.serviceStandard{gap:10px;margin:0 14px 14px;display:grid}.standardSections{gap:8px;display:grid}.standardSection p{white-space:pre-wrap}.adjacentGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.adjacentCard h3{color:var(--primary);margin-bottom:10px;font-size:14px}.adjacentCard ul{margin:0;padding-left:18px}.adjacentCard li{margin-bottom:8px;font-size:13px}.roleGroup{border-top:1px solid var(--line);margin-top:10px;padding-top:10px}.roleGroup:first-of-type{border-top:0;margin-top:0;padding-top:0}.roleGroup strong{color:var(--primary);margin-bottom:7px;font-size:12px;font-weight:780;display:block}.normList{overflow-wrap:anywhere;color:#25302d;margin:0;padding-left:28px;font-size:13px}.normList li{margin-bottom:8px}.normTable{min-width:680px}.normIndexCol{text-align:center;white-space:nowrap;width:52px}.jsonPanel{max-height:calc(100vh - 142px);padding:14px;overflow:auto}.jsonPanel pre{color:#1d2a26;white-space:pre-wrap;margin:0;font-size:12px;line-height:1.55}.htmlFrame{border:1px solid var(--line);width:100%;min-height:calc(100vh - 142px);box-shadow:var(--shadow);background:#fff;border-radius:8px}@media (width<=1180px){.workspace{grid-template-columns:1fr}.reportPane{min-height:auto}.sidePanel{border-left:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);order:-1;min-height:auto}.emptyState{min-height:320px}}@media (width<=820px){.topBar{align-items:flex-start}.apiBadge{display:none}.reportPane,.sidePanel{padding:12px}.summaryBand,.summaryStats,.miniGrid,.adjacentGrid{grid-template-columns:1fr}.tabs{overflow-x:auto}.presetGrid,.segmented{grid-template-columns:1fr}}
