@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Noto+Sans+KR:wght@400;500;600;700;800&display=swap');
:root{--blue:#2563eb;--dark:#102c4b;--ink:#17243a;--muted:#64748b;--line:#dce5ef;--paper:#f4f7fb;--steel:#6366f1;--piping:#0891b2;--electrical:#d97706;--instrument:#059669;font-family:Inter,'Noto Sans KR','Malgun Gothic',sans-serif;color:var(--ink)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#eef3f8}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.skip{position:absolute;top:-70px;left:20px;background:#fff;padding:10px;z-index:30}.skip:focus{top:10px}.az-shell{max-width:1880px;min-height:100vh;margin:0 auto;background:#fff;border:1px solid #dbe4ee;box-shadow:0 15px 70px #21344e0a}.dash-header{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding:21px 31px;border-bottom:1px solid var(--line);background:white}.header-identity{display:flex;align-items:center;gap:16px;min-width:0}.header-icon{width:48px;height:48px;display:grid;place-items:center;flex:none;border-radius:12px;background:#2563eb;color:#fff;font-size:27px;font-weight:700;box-shadow:0 7px 15px #2563eb36}.title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.title-row h1{margin:0;font-size:19px;letter-spacing:-.03em;line-height:1.35}.revision{padding:4px 9px;border-radius:15px;background:#eff6ff;border:1px solid #bfdbfe;color:#2563eb;font-size:10px;font-weight:700}.header-identity p{margin:4px 0 0;font-size:11px;color:var(--muted)}.header-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.action{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 12px;border:1px solid #cbd5e1;border-radius:9px;background:white;color:#334155;font-size:11px;font-weight:700;white-space:nowrap}.action:hover{border-color:var(--blue);color:var(--blue)}.action.primary{background:var(--blue);border-color:var(--blue);color:white}.action.primary:hover{background:#1d4ed8}main{padding:30px 31px 65px}.summary-band{display:flex;justify-content:space-between;gap:32px;align-items:center;padding:29px 31px;border-radius:16px;background:linear-gradient(105deg,#123659,#0d2440 65%,#183d61);color:white}.summary-band .eyebrow{color:#8cc7e9;font-size:10px;letter-spacing:1.8px;font-weight:700}.summary-band h2{font-size:24px;line-height:1.4;margin:9px 0}.summary-band p{font-size:12px;line-height:1.75;color:#b9d5e5;max-width:780px;margin:0}.summary-counts{display:grid;grid-template-columns:repeat(4,80px);gap:5px;flex:none}.summary-counts div{border-left:1px solid #ffffff35;padding-left:12px}.summary-counts strong{display:block;font-size:28px;line-height:1.2}.summary-counts span{font-size:10px;color:#b8d3e5;white-space:nowrap}.controls{margin-top:26px}.search{height:47px;display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:#f8fafc;border-radius:11px;padding:0 14px;color:#94a3b8}.search>span{font-size:22px;line-height:1}.search input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font-size:12px}.search kbd{font-size:10px;border:1px solid #cbd5e1;border-radius:4px;padding:1px 5px}.tabs{display:flex;gap:4px;flex-wrap:wrap;width:max-content;max-width:100%;background:#f1f5f9;border-radius:12px;padding:4px;margin-top:18px}.tabs button{border:0;border-radius:8px;padding:9px 13px;background:transparent;color:#475569;font-size:11px;font-weight:600;white-space:nowrap}.tabs button[aria-selected=true]{background:white;color:var(--blue);box-shadow:0 1px 4px #172c4721;font-weight:800}.tabs button:hover{color:var(--blue)}.filters{display:grid;grid-template-columns:1fr 1.5fr auto;gap:23px;margin:25px 0 18px}.filter-label{display:block;font-size:10px;letter-spacing:1px;color:#8392a7;font-weight:800;margin-bottom:9px}.chip-row{display:flex;gap:6px;flex-wrap:wrap}.chip-row button{border:1px solid #d6e0ec;background:#f8fafc;border-radius:8px;padding:7px 11px;color:#40556f;font-size:11px;white-space:nowrap}.chip-row button[aria-pressed=true]{background:var(--blue);border-color:var(--blue);color:white;font-weight:700}.chip-row button:hover{border-color:var(--blue)}.chip-row [data-discipline=steel]{--disc:var(--steel)}.chip-row [data-discipline=piping]{--disc:var(--piping)}.chip-row [data-discipline=electrical]{--disc:var(--electrical)}.chip-row [data-discipline=instrument]{--disc:var(--instrument)}.chip-row button:not([aria-pressed=true])[data-discipline]{color:var(--disc)}.gate-filter label{display:flex;align-items:center;gap:7px;font-size:11px;color:#475569;white-space:nowrap;padding-top:6px}.gate-filter input{accent-color:var(--blue)}.result-line{display:flex;justify-content:space-between;gap:14px;align-items:center;border-bottom:1px solid #e8edf4;padding:12px 0;font-size:11px;color:#64748b}.result-line strong{display:inline-block;margin-left:6px;background:#dbeafe;color:#1d4ed8;padding:4px 9px;border-radius:20px}.result-line>span:last-child{color:#2563eb}.view{margin-top:23px;min-height:200px}.view-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:17px}.view-head h2{margin:0;font-size:17px;letter-spacing:-.02em}.view-head p{margin:5px 0 0;color:var(--muted);font-size:11px;line-height:1.6}.view-badge{font-size:10px;border:1px solid #d8e4ef;background:#f8fafc;border-radius:18px;padding:6px 10px;color:#475569;white-space:nowrap}.phase-block{border:1px solid var(--line);border-radius:14px;background:#f8fafc;padding:19px;margin-bottom:21px}.phase-head{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #dfe8f1;padding-bottom:15px;margin-bottom:15px}.phase-head h3{font-size:16px;margin:0}.phase-head p{font-size:11px;color:#64748b;margin:5px 0 0}.phase-head b{color:#2563eb;font-size:11px;white-space:nowrap}.lane-heads,.activity-grid{display:grid;grid-template-columns:repeat(var(--lane-count,4),minmax(0,1fr));gap:14px}.lane-head{background:#eaf0f7;border-radius:8px;padding:10px 12px;font-size:11px;font-weight:800;border-top:3px solid var(--disc);color:#28415c}.lane-head small{float:right;color:#607b92;font-weight:700}.stage-row{border-top:1px solid #e1e8f0;padding:15px 0}.stage-row:first-of-type{border-top:0}.row-top{display:flex;align-items:baseline;gap:10px;margin-bottom:10px}.row-top .stage-id{color:#2563eb;font-size:10px;font-weight:800}.row-top h4{font-size:12px;margin:0}.row-top .gate-tag{margin-left:auto;background:#fff7ed;color:#b45309;border:1px solid #fed7aa;border-radius:15px;padding:3px 7px;font-size:9px;font-weight:800}.activity-card{position:relative;min-width:0;min-height:128px;background:white;border:1px solid #d6e2ee;border-top:3px solid var(--disc);border-radius:11px;padding:13px 15px;text-align:left;display:flex;flex-direction:column;gap:8px;box-shadow:0 3px 9px #1e3a5d08;transition:transform .17s,box-shadow .17s,border-color .17s}.activity-card::before{content:'';position:absolute;left:-20px;top:18px;width:9px;height:9px;border:2px solid var(--disc);border-radius:50%;background:#fff;box-shadow:0 0 0 3px #f8fafc}.activity-card:hover,.activity-card:focus-visible{transform:translateY(-2px);box-shadow:0 9px 18px #1e3a5d18;border-color:var(--disc)}.card-meta{display:flex;gap:5px;flex-wrap:wrap}.card-meta span{font-size:9px;padding:3px 5px;border-radius:4px;background:#f1f5f9;color:#64748b}.card-meta .discipline-mark{background:color-mix(in srgb,var(--disc) 13%,white);color:var(--disc);font-weight:800}.activity-card strong{font-size:12px;color:#172f4d;line-height:1.45}.activity-card .card-copy{font-size:11px;line-height:1.55;color:#5d7187;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-foot{margin-top:auto;display:flex;justify-content:space-between;gap:4px;color:#8a9db1;font-size:9px}.card-foot i{font-style:normal;color:#2563eb}.steel{--disc:var(--steel)}.piping{--disc:var(--piping)}.electrical{--disc:var(--electrical)}.instrument{--disc:var(--instrument)}.tree-empty,.empty-view{padding:28px;border:1px dashed #cbd5e1;border-radius:12px;color:#64748b;font-size:12px}.flow-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.flow-card{border:1px solid #d9e3ee;border-left:4px solid var(--blue);border-radius:12px;background:#f8fafc;padding:20px;min-height:180px}.flow-card .flow-id{color:var(--blue);font-size:10px;letter-spacing:1px;font-weight:800}.flow-card h3{font-size:17px;margin:8px 0}.flow-card p,.flow-card li{font-size:11px;line-height:1.65;color:#64748b}.flow-card ul{padding-left:17px}.flow-card button,.overview-stage,.gate-card{cursor:pointer}.flow-card button{border:1px solid #bfdbfe;border-radius:7px;background:white;color:var(--blue);padding:7px 11px;font-size:10px;font-weight:800;margin-top:7px}.flow-arrow{text-align:center;color:#9bb4ca;font-size:24px}.overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.overview-phase{border:1px solid var(--line);border-radius:11px;padding:15px;background:#f8fafc}.overview-phase h3{margin:0 0 11px;font-size:13px;color:#23405d}.overview-stage{display:block;width:100%;background:#fff;border:1px solid #dce5ee;border-radius:8px;padding:10px 11px;margin:7px 0;text-align:left}.overview-stage:hover{border-color:#60a5fa;background:#eff6ff}.overview-stage b{font-size:10px;color:var(--blue);margin-right:5px}.overview-stage span{font-size:11px;font-weight:700}.overview-stage small{display:block;color:#718499;font-size:9px;margin:4px 0 0 26px}.matrix-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}.matrix{width:100%;min-width:1120px;border-collapse:collapse;font-size:11px}.matrix th,.matrix td{border-bottom:1px solid #e5edf4;border-right:1px solid #e5edf4;padding:12px;text-align:left;vertical-align:top;line-height:1.55}.matrix thead th{background:#eaf1f8;color:#31516f;font-weight:800;position:sticky;top:0}.matrix tbody th{color:var(--blue);white-space:nowrap}.matrix tbody tr:hover{background:#f1f7ff}.matrix button{border:0;background:none;color:#1e40af;padding:0;text-align:left;font-weight:700}.decision-options{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.decision-option{border:1px solid #d7e4ef;border-radius:11px;background:#f8fafc;padding:18px}.decision-option small{color:#2563eb;font-size:10px;font-weight:800}.decision-option h3{font-size:15px;margin:10px 0}.decision-option p,.decision-option li{font-size:11px;color:#5b7086;line-height:1.7}.decision-option ul{padding-left:17px}.gate-list{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:20px}.gate-card{border:1px solid #d8e5ef;border-left:3px solid #f59e0b;border-radius:8px;background:#fff;padding:12px 14px;text-align:left}.gate-card:hover{background:#fffbeb;border-color:#fbbf24}.gate-card b{font-size:11px;color:#a16207}.gate-card span{display:block;margin-top:6px;font-size:11px;color:#475569;line-height:1.55}.ei-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.ei-column{border:1px solid var(--line);border-radius:11px;overflow:hidden}.ei-column h3{font-size:14px;margin:0;padding:15px;background:#eef4fa;border-bottom:1px solid var(--line)}.ei-list{list-style:none;margin:0;padding:0}.ei-list li{display:grid;grid-template-columns:40px 44px 1fr;gap:9px;border-top:1px solid #edf1f6;padding:13px}.ei-list li:first-child{border-top:0}.ei-list b{color:var(--disc);font-size:10px}.ei-list .ei-stage{font-size:9px;color:#64748b}.ei-list h4{font-size:11px;margin:0 0 5px}.ei-list p{font-size:10px;line-height:1.55;color:#65778b;margin:0 0 5px}.ei-list small{color:#38618a;font-size:9px}.source-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.source-card{display:flex;flex-direction:column;gap:10px;border:1px solid #d8e4ee;border-radius:11px;padding:18px;background:#f8fafc}.source-card small{font-size:9px;color:#2563eb;font-weight:800;letter-spacing:1px}.source-card strong{font-size:14px}.source-card span{font-size:11px;line-height:1.6;color:#657991}.source-card:hover{border-color:var(--blue);background:#eff6ff}.standards{margin-top:25px;padding:18px;border-left:3px solid var(--blue);background:#eff6ff;border-radius:8px}.standards h3{font-size:13px;margin:0 0 7px}.standards p{font-size:11px;color:#506780;line-height:1.7}.standards-links{display:flex;gap:8px;flex-wrap:wrap}.standards a{font-size:10px;border:1px solid #b8d3ef;border-radius:16px;background:white;padding:6px 10px;color:#1d4ed8}.dash-footer{border-top:1px solid var(--line);padding:18px 31px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;color:#8a9aaa;font-size:10px}.detail-dialog{width:min(820px,calc(100vw - 25px));max-height:min(88vh,950px);border:1px solid #cad9e7;border-radius:15px;box-shadow:0 26px 80px #132c4d4d;padding:0;color:var(--ink)}.detail-dialog::backdrop{background:#0b203a9c;backdrop-filter:blur(3px)}.dialog-head{position:sticky;top:0;z-index:1;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:14px 22px;color:#2563eb;font-size:10px;font-weight:800;letter-spacing:.8px}.dialog-head button{border:0;background:none;font-size:26px;line-height:1;color:#64748b}.dialog-body{padding:24px}.dialog-body h2{font-size:25px;line-height:1.35;margin:0 0 8px}.dialog-body .lead{font-size:12px;color:#64748b;line-height:1.7}.dialog-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:20px 0}.dialog-box{background:#f8fafc;border:1px solid #e0e9f1;border-radius:9px;padding:15px}.dialog-box h3,.dialog-track h3{font-size:10px;color:#2563eb;letter-spacing:.6px;margin:0 0 8px}.dialog-box p,.dialog-track p{font-size:11px;line-height:1.7;color:#455b73;margin:0}.dialog-tracks{display:grid;grid-template-columns:1fr 1fr;gap:8px}.dialog-track{border:1px solid #dbe5ee;border-top:3px solid var(--disc);border-radius:8px;padding:13px}.dialog-track.selected{background:#eff6ff}.dialog-track h3{color:var(--disc)}.dialog-source{font-size:11px;line-height:1.6;background:#fefce8;border:1px solid #fde68a;border-radius:8px;padding:12px;margin-top:14px}.dialog-source a{color:#1d4ed8;font-weight:700}.dialog-ei{border-top:1px solid var(--line);margin-top:17px;padding-top:13px}.dialog-ei h3{font-size:12px}.dialog-ei li{font-size:11px;line-height:1.6;margin:6px 0;color:#536a80}body .version-switcher{top:auto;bottom:10px;right:10px;background:#fff;border-color:#cbd5e1;box-shadow:0 3px 14px #17324f2b;color:#64748b}body .version-switcher>a{color:#475569}body .version-switcher>a[aria-current]{background:#2563eb;color:#fff}
@media(max-width:1300px){.summary-counts{grid-template-columns:repeat(2,80px)}.filters{grid-template-columns:1fr 1fr}.gate-filter{grid-column:1/-1}.activity-grid,.lane-heads{gap:10px}}@media(max-width:950px){.dash-header{padding:18px}.header-actions{width:100%}main{padding:22px 18px 55px}.summary-band{display:block}.summary-counts{display:flex;margin-top:22px}.summary-counts div{min-width:70px}.activity-grid,.lane-heads{grid-template-columns:repeat(var(--lane-count,4),minmax(180px,1fr));overflow:auto;padding-left:7px}.activity-card::before{left:-11px}.flow-grid,.overview-grid,.source-grid{grid-template-columns:repeat(2,1fr)}.decision-options{grid-template-columns:1fr}.ei-grid{grid-template-columns:1fr}}@media(max-width:640px){.title-row h1{font-size:16px}.header-identity p{line-height:1.5}.summary-band{padding:22px}.summary-band h2{font-size:20px}.summary-counts{display:grid;grid-template-columns:repeat(2,1fr)}.filters{display:block}.filters>div{margin-bottom:16px}.result-line>span:last-child{display:none}.phase-block{padding:13px}.lane-heads{display:none}.activity-grid{display:grid;grid-template-columns:1fr;overflow:visible}.activity-card{min-height:0}.activity-card::before{left:-11px}.flow-grid,.overview-grid,.source-grid,.gate-list,.dialog-grid,.dialog-tracks{grid-template-columns:1fr}.ei-list li{grid-template-columns:33px 38px 1fr}.tabs{display:flex;overflow-x:auto;flex-wrap:nowrap}.dash-footer{padding:16px}.dialog-body{padding:17px}body .version-switcher{bottom:6px;right:6px;left:6px;margin-left:auto;width:max-content;max-width:calc(100vw - 12px);overflow:auto}body .version-switcher>a{font-size:8px;padding:5px 6px}}@media print{body{background:#fff}.dash-header,.controls,.dash-footer,.version-switcher,.detail-dialog{display:none!important}.az-shell{border:0;box-shadow:none}.summary-band{color:#000;background:#fff;border:1px solid #ccc}.summary-band p{color:#333}.view[hidden]{display:none!important}.phase-block,.activity-card,.overview-phase{break-inside:avoid}.activity-grid{overflow:visible!important}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.activity-card{min-height:110px}.activity-card strong{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.legacy-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:11px 0 18px;font-size:11px;color:#64748b}.legacy-toolbar>a{margin-left:auto;color:#2563eb;font-weight:700}.legacy-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:17px}.legacy-lane{min-width:0}.legacy-lane-head{display:flex;justify-content:space-between;gap:5px;padding:11px 12px;background:#eaf0f7;border-top:3px solid var(--disc);border-radius:8px;color:#25405e;font-size:11px}.legacy-lane-head span{color:var(--disc);font-weight:800}.legacy-track{position:relative;display:grid;align-content:start;gap:55px;padding:15px 0 15px 17px}.legacy-track::before{content:"";position:absolute;left:8px;top:0;bottom:0;width:2px;background:#cbd5e1}.legacy-card{position:relative;min-height:140px;display:flex;flex-direction:column;gap:10px;width:100%;border:1px solid #d5e1ee;border-radius:11px;background:white;padding:13px;text-align:left;box-shadow:0 3px 8px #1e3a5d0b}.legacy-card::before{content:"";position:absolute;left:-18px;top:18px;width:11px;height:11px;border:2px solid var(--disc);border-radius:50%;background:white;z-index:1}.legacy-card:hover{border-color:var(--disc);box-shadow:0 8px 18px #1e3a5d18}.legacy-badges{display:flex;gap:5px;flex-wrap:wrap}.legacy-badges i{font-style:normal;background:#f1f5f9;color:#64748b;font-size:9px;padding:3px 5px;border-radius:4px}.legacy-badges i:last-child{background:#ecfdf5;color:#047857}.legacy-card strong{font-size:11px;color:#173452;line-height:1.5}.legacy-dept{font-size:10px;color:#64748b;line-height:1.5}.legacy-id{display:flex;justify-content:space-between;margin-top:auto;color:#8294a8;font-size:9px}.legacy-id b{color:#2563eb}.legacy-empty{color:#94a3b8;font-size:10px}.legacy-lane.engineering{--disc:#2563eb}.legacy-lane.procurement{--disc:#d97706}.legacy-lane.construction{--disc:#059669}@media(max-width:1250px){.legacy-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:700px){.legacy-grid{grid-template-columns:1fr}.legacy-track{gap:11px}.legacy-card{min-height:0}.legacy-toolbar>a{margin-left:0}}
