:root{--ink:#15211d;--muted:#67716d;--line:#dfe4e1;--paper:#f4f6f3;--white:#fff;--green:#155f46;--green2:#dff0e7;--lime:#c8e064;--nav:#142820;--amber:#e69d35;--red:#c95e51;--blue:#477aa9;--shadow:0 18px 50px rgba(19,45,35,.08)}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Pretendard,"Noto Sans KR","Apple SD Gothic Neo",Arial,sans-serif;letter-spacing:-.02em}.shell{min-height:100vh;display:grid;grid-template-columns:232px 1fr}.sidebar{position:fixed;inset:0 auto 0 0;width:232px;background:var(--nav);color:#f7fbf9;padding:30px 20px 22px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:12px;padding:0 8px 32px}.brand-mark{width:38px;height:38px;border-radius:10px;background:var(--lime);color:#193026;display:grid;place-items:center;font-weight:900;font-size:13px}.brand strong,.brand small{display:block}.brand strong{font-size:17px}.brand small{font-size:11px;color:#9fb0a8;margin-top:2px;letter-spacing:.08em;text-transform:uppercase}.sidebar nav{display:grid;gap:6px}.nav-item{border:0;background:transparent;color:#a7b6af;padding:13px 12px;border-radius:9px;text-align:left;font:inherit;font-size:14px;cursor:pointer;display:flex;gap:13px;align-items:center}.nav-item span{font:700 10px/1 Arial;color:#65786f}.nav-item:hover,.nav-item.active{color:white;background:#244338}.nav-item.active span{color:var(--lime)}.side-note{margin-top:auto;background:#1c372d;border:1px solid #305044;border-radius:12px;padding:13px;display:flex;gap:10px;align-items:flex-start}.side-note b,.side-note small{display:block}.side-note b{font-size:12px}.side-note small{color:#91a39b;font-size:10px;margin-top:5px}.pulse{width:7px;height:7px;margin-top:4px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 4px rgba(200,224,100,.12)}.version{font-size:10px;color:#667a71;padding:14px 3px 0;margin:0}main{grid-column:2;min-width:0;padding:0 34px 60px;max-width:1580px;width:100%;margin:auto}.topbar{height:106px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);margin-bottom:28px}.eyebrow{margin:0 0 7px;color:var(--green);font:800 10px/1.2 Arial;letter-spacing:.16em}.topbar h1{font-size:24px;margin:0;letter-spacing:-.04em}.header-actions{display:flex;gap:9px}button{font-family:inherit}.primary,.ghost,.outline{border-radius:8px;padding:10px 15px;font-weight:700;font-size:12px;cursor:pointer}.primary{background:var(--green);border:1px solid var(--green);color:#fff}.primary:hover{background:#0e4e39}.ghost{background:#fff;border:1px solid var(--line);color:var(--ink)}.outline{background:transparent;border:1px solid #b9c5c0;color:var(--ink);width:100%}.text-btn{border:0;background:none;color:var(--green);font-weight:800;font-size:12px;cursor:pointer}.mobile-menu{display:none}.view{display:none}.view.active{display:block;animation:appear .2s ease}@keyframes appear{from{opacity:.5;transform:translateY(4px)}}.brief{background:linear-gradient(120deg,#ecf4ee,#f8faf6 70%);border:1px solid #dce7df;border-radius:16px;padding:30px 34px;display:flex;justify-content:space-between;align-items:center;min-height:210px}.badge{display:inline-flex;background:var(--green2);color:var(--green);border-radius:999px;padding:7px 11px;font-size:11px;font-weight:800}.brief h2{font-size:30px;line-height:1.3;letter-spacing:-.05em;margin:16px 0 10px}.brief p{font-size:13px;color:var(--muted);margin:0}.readiness{display:flex;align-items:center;gap:25px}.ring{width:134px;height:134px;border-radius:50%;display:grid;place-content:center;text-align:center;background:conic-gradient(var(--green) calc(var(--value)*1%),#dbe4dd 0);position:relative}.ring:after{content:"";position:absolute;inset:10px;border-radius:50%;background:#f4f8f4}.ring b,.ring span{position:relative;z-index:1}.ring b{font-size:26px}.ring span{font-size:10px;color:var(--muted);margin-top:2px}.readiness ul{list-style:none;margin:0;padding:0}.readiness li{display:flex;justify-content:space-between;gap:30px;padding:6px 0;font-size:12px;color:var(--muted)}.readiness li b{color:var(--ink)}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0}.metric-grid article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 20px}.metric-label{display:block;font-size:11px;color:var(--muted);font-weight:700}.metric-grid strong{font-size:27px;display:block;margin:8px 0}.metric-grid small{font-size:10px;color:#85908b}.metric-grid i{font-style:normal;font-weight:800;margin-right:4px}.up{color:var(--green)}.warn{color:var(--amber)}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr 320px;gap:12px}.panel{background:#fff;border:1px solid var(--line);border-radius:13px;padding:22px}.span2{grid-column:span 2}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.panel-head h3{font-size:15px;margin:0}.update{font-size:10px;color:#97a19d}.timeline{display:flex;justify-content:space-between;position:relative;padding-top:4px}.timeline:before{content:"";position:absolute;height:2px;background:#e0e5e2;left:25px;right:25px;top:18px}.stage{position:relative;z-index:1;display:grid;justify-items:center;text-align:center;gap:9px;min-width:90px}.stage>span{width:30px;height:30px;border:5px solid #fff;outline:1px solid #ccd5d1;border-radius:50%;display:grid;place-items:center;background:#eef1ef;color:#8d9792;font:bold 8px Arial}.stage.done>span{background:var(--green);outline-color:var(--green);color:#fff}.stage.current>span{background:var(--lime);outline-color:#9eb548;color:#1a2d25}.stage b,.stage small{display:block}.stage b{font-size:11px}.stage small{font-size:9px;color:#929b97;margin-top:3px}.decision{width:100%;display:grid;grid-template-columns:42px 1fr 12px;gap:8px;align-items:center;text-align:left;background:none;border:0;border-bottom:1px solid #edf0ee;padding:12px 0;cursor:pointer}.decision:last-child{border:0}.decision b,.decision small{display:block}.decision b{font-size:11px}.decision small{font-size:9px;color:#929b97;margin-top:4px}.decision em{font-size:22px;color:#9aa39f;font-style:normal}.priority{border-radius:6px;padding:5px 0;text-align:center;font-size:9px;font-weight:800}.high{background:#f8e3e0;color:#a94439}.mid{background:#fbedd5;color:#a96b16}.low{background:#e5eee9;color:#356a54}.coverage-list{display:grid;gap:13px}.coverage-list>div{display:grid;grid-template-columns:130px 1fr 40px;gap:12px;align-items:center;font-size:11px}.coverage-list b{text-align:right;font-size:10px}.bar{height:7px;background:#edf0ee;border-radius:99px;overflow:hidden}.bar i{display:block;height:100%;background:var(--green);border-radius:99px}.meeting-date{display:flex;align-items:center;gap:10px}.meeting-date b{font-size:38px}.meeting-date span{font-size:10px;line-height:1.5;color:var(--muted)}.meeting-card>p{font-size:11px;color:var(--muted);border-top:1px solid #edf0ee;padding-top:12px}.avatars{display:flex;margin:14px 0}.avatars span{width:39px;height:39px;border-radius:50%;background:#dfe8e3;border:3px solid white;margin-right:-6px;display:grid;place-items:center;font-size:8px;font-weight:800}.section-lead{display:flex;align-items:flex-end;justify-content:space-between;margin:8px 0 24px}.section-lead h2{margin:0;font-size:29px;letter-spacing:-.05em}.section-lead p:not(.eyebrow){margin:8px 0 0;color:var(--muted);font-size:12px}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:12px}.toolbar>span{margin-left:auto;font-size:11px;color:var(--muted)}.search-wrap{background:#fff;border:1px solid var(--line);border-radius:8px;padding:9px 12px;flex:1;max-width:380px;color:#87918c}.search-wrap input{border:0;outline:0;width:90%;font:inherit;font-size:11px}.toolbar select{border:1px solid var(--line);background:#fff;padding:9px 30px 9px 10px;border-radius:8px;font-size:11px}.table-wrap{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:auto}table{border-collapse:collapse;width:100%;min-width:780px}th{text-align:left;background:#f7f8f7;color:#75807b;font-size:10px;padding:13px 15px;border-bottom:1px solid var(--line)}td{padding:15px;border-bottom:1px solid #edf0ee;font-size:11px;vertical-align:middle}tbody tr:last-child td{border:0}.req-title b,.req-title small{display:block}.req-title small{margin-top:4px;color:#929b97}.status{display:inline-flex;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:800}.status.확정{background:#e2f0e8;color:#246148}.status.검토{background:#fbedd5;color:#93631f}.status.미결{background:#f7e2df;color:#a4483e}.row-action{border:0;background:none;cursor:pointer;color:var(--green);font-weight:800}.ax-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px}.ax-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:20px;display:flex;flex-direction:column;min-height:236px}.ax-card.recommended{border:2px solid var(--green);padding:19px}.ax-top{display:flex;justify-content:space-between}.ax-index{font:800 10px Arial;color:#93a09a}.ax-score{font-size:10px;font-weight:900;color:var(--green)}.ax-card h3{font-size:15px;margin:22px 0 8px}.ax-card p{font-size:11px;line-height:1.6;color:var(--muted);margin:0}.score-line{display:flex;align-items:center;gap:8px;margin-top:auto;padding-top:20px}.score-line span{font-size:9px;color:var(--muted);width:58px}.score-line .bar{flex:1}.score-line b{font-size:10px}.ax-state{margin-top:12px;border:0;border-radius:7px;padding:8px;font-size:10px;font-weight:800;cursor:pointer;background:#edf1ef;color:#486158}.ax-state.on{background:var(--green);color:#fff}.score-guide{margin-top:12px}.score-guide h3{margin:0 0 14px}.guide-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.guide-grid div{display:flex;gap:9px;align-items:center;background:#f6f8f6;border-radius:8px;padding:12px;font-size:10px}.guide-grid b{color:var(--green)}.weight-panel{display:flex;gap:20px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 22px;margin-bottom:12px}.weight-panel label{flex:1;font-size:11px;font-weight:700}.weight-panel b{float:right;color:var(--green)}input[type=range]{display:block;width:100%;accent-color:var(--green);margin-top:10px}.vendor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px}.vendor-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px}.vendor-card.winner{border-color:var(--green);box-shadow:0 0 0 1px var(--green)}.vendor-card>span{font-size:10px;color:var(--muted)}.vendor-card strong{font-size:30px;display:block;margin:8px 0}.vendor-card small{font-size:10px;color:var(--muted)}.vendor-card i{font-style:normal;float:right;background:var(--green2);color:var(--green);padding:4px 7px;border-radius:99px;font-size:9px}.score-table input{width:58px;padding:6px;border:1px solid var(--line);border-radius:6px}.risk-board{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px}.risk-column{background:#e9edea;border-radius:12px;padding:12px;min-height:250px}.risk-column h3{font-size:11px;margin:2px 4px 12px;display:flex;justify-content:space-between}.risk-column h3 span{background:white;border-radius:99px;padding:2px 7px}.risk-card{background:#fff;border-radius:9px;padding:14px;margin-bottom:9px;box-shadow:0 2px 8px rgba(25,48,39,.04)}.risk-card .risk-meta{display:flex;justify-content:space-between;font-size:9px;color:var(--muted)}.risk-card b{display:block;font-size:11px;line-height:1.5;margin:10px 0}.risk-card small{font-size:9px;color:var(--muted)}.agenda-panel{margin-top:12px}.agenda-panel ol{list-style:none;margin:0;padding:0}.agenda-panel li{display:flex;justify-content:space-between;padding:13px 0;border-top:1px solid #edf0ee;font-size:11px}.agenda-panel li span{font-size:10px;color:var(--muted)}.agenda-panel input{accent-color:var(--green)}dialog{border:0;border-radius:14px;padding:0;width:min(520px,calc(100vw - 30px));box-shadow:0 30px 90px rgba(0,0,0,.25)}dialog::backdrop{background:rgba(9,22,17,.55)}dialog form{padding:24px}.dialog-head{display:flex;justify-content:space-between;margin-bottom:20px}.dialog-head h3{margin:0;font-size:20px}.icon-btn{border:0;background:#edf0ee;border-radius:50%;width:30px;height:30px;font-size:19px;cursor:pointer}dialog label{display:block;font-size:10px;font-weight:800;color:var(--muted);margin-bottom:14px}dialog input,dialog textarea,dialog select{display:block;width:100%;border:1px solid var(--line);border-radius:8px;padding:10px;margin-top:6px;font:inherit;font-size:12px;color:var(--ink)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.toast{position:fixed;right:24px;bottom:24px;background:#152a22;color:white;padding:12px 16px;border-radius:9px;font-size:11px;opacity:0;pointer-events:none;transform:translateY(10px);transition:.2s;z-index:99}.toast.show{opacity:1;transform:none}@media(max-width:1050px){.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr 1fr}.meeting-card{grid-column:span 2}.ax-grid{grid-template-columns:1fr 1fr}.ax-card:last-child{grid-column:span 2}.risk-board{grid-template-columns:1fr}.vendor-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.shell{display:block}.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:none}.mobile-menu{display:block;border:0;background:none;font-size:20px;margin-right:10px}.topbar{height:90px}.topbar>div:first-of-type{margin-right:auto}.header-actions .ghost{display:none}main{padding:0 16px 40px}.brief{display:block;padding:24px}.brief h2{font-size:25px}.readiness{margin-top:24px;justify-content:space-between}.ring{width:110px;height:110px}.metric-grid{grid-template-columns:1fr 1fr}.dashboard-grid{display:block}.panel{margin-bottom:12px}.timeline{overflow:auto;gap:14px}.ax-grid,.vendor-grid,.guide-grid{grid-template-columns:1fr}.ax-card:last-child,.meeting-card{grid-column:auto}.section-lead{align-items:flex-start}.section-lead h2{font-size:25px}.section-lead>button{margin-left:10px}.weight-panel{display:block}.weight-panel label+label{display:block;margin-top:18px}.agenda-panel li{gap:12px;align-items:flex-start}.agenda-panel li span{white-space:nowrap}.header-actions .primary{padding:9px 10px;font-size:10px}}@media(max-width:450px){.metric-grid{grid-template-columns:1fr}.readiness ul{width:130px}.coverage-list>div{grid-template-columns:105px 1fr 34px}.topbar h1{font-size:19px}.topbar .eyebrow{display:none}}
