:root{--nav:#082d59;--nav2:#061f40;--blue:#0d5bd7;--blue-soft:#eaf3ff;--ink:#13233a;--muted:#66758a;--line:#dce4ee;--green:#168442;--green-soft:#eaf7ed;--amber:#b85c00;--amber-soft:#fff4e6}*{box-sizing:border-box}html,body{margin:0;height:100%;font-family:Pretendard,"Noto Sans KR","Malgun Gothic",sans-serif;color:var(--ink);background:#fff}button,input,select{font:inherit}.app{min-height:100vh;display:grid;grid-template-columns:216px 1fr}.sidebar{height:100vh;position:sticky;top:0;background:linear-gradient(180deg,var(--nav),var(--nav2));color:#fff;padding:24px 11px;display:flex;flex-direction:column}.brand{display:flex;gap:13px;align-items:center;padding:2px 18px 32px;font-size:22px;line-height:1.3}.brand .mark{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:11px;background:linear-gradient(135deg,#6fb4ff,#2f7bef);color:#08213f;font-size:19px;box-shadow:0 4px 12px #00000040;flex-shrink:0}.nav{width:100%;border:0;background:transparent;color:#d7e5f6;border-radius:8px;padding:16px 15px;text-align:left;font-size:16px;font-weight:700;display:flex;gap:14px;cursor:pointer}.nav.active,.nav:hover{background:#15548f;color:#fff}.sync{margin-top:auto;border-top:1px solid #315276;padding:20px 10px 0;display:grid;gap:8px}.sync b{font-size:13px}.sync strong{color:#5ee183}.sync small{color:#a8bed6}main{min-width:0}header{height:92px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:22px;padding:0 26px}.search{height:54px;max-width:620px;flex:1;border:1px solid #bdcada;border-radius:9px;display:flex;align-items:center;padding:0 16px;gap:12px}.search:focus-within{border-color:#5a94e8;box-shadow:0 0 0 3px #e6f0ff}.search span{font-size:24px}.search input{border:0;outline:0;width:100%;font-size:16px}.status,.profile-button{height:52px;background:#fff;border:1px solid #d5dfeb;border-radius:9px;padding:0 18px;color:var(--ink);font-weight:700}.status{margin-left:auto;color:var(--green)}.content{height:calc(100vh - 92px);display:grid;grid-template-columns:minmax(680px,1fr) 390px}.explorer{min-width:0;display:flex;flex-direction:column}.filters{display:grid;grid-template-columns:repeat(5,minmax(112px,1fr)) auto;gap:12px;padding:19px 26px;border-bottom:1px solid var(--line)}.filters label{font-size:12px;font-weight:800}.filters select{display:block;width:100%;height:42px;margin-top:7px;border:1px solid #d2dce8;border-radius:7px;background:#fff;padding:0 11px}.filters button{align-self:end;height:42px;border:0;background:#fff;color:var(--muted);white-space:nowrap}.summary{height:58px;display:flex;align-items:center;gap:18px;padding:0 26px;border-bottom:1px solid var(--line)}.summary span{font-size:12px;color:var(--muted)}.table-wrap{flex:1;overflow:auto;position:relative}table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:13px}th,td{height:64px;padding:0 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}th{height:48px;position:sticky;top:0;z-index:2;background:#f8fafc;font-size:12px}th:nth-child(1){width:105px;text-align:center}th:nth-child(2){width:29%}th:nth-child(3){width:16%}th:nth-child(4){width:125px}th:nth-child(5){width:105px}th:nth-child(6){width:92px}th:nth-child(7){width:95px}td:first-child{text-align:center}tbody tr{cursor:pointer}tbody tr:hover{background:#f6faff}tbody tr.selected{background:var(--blue-soft);outline:1px solid #a8cbff;outline-offset:-1px}.score{display:inline-grid;place-items:center;width:46px;height:46px;border:2px solid var(--green);border-radius:50%;font-size:16px;font-weight:900;color:var(--green)}.title-cell strong{display:block;font-size:14px}.title-cell small{display:block;margin-top:6px;color:var(--muted)}.type-tag{display:inline-block;padding:7px 9px;border-radius:6px;background:#eef4fb;color:#245a98;font-weight:700}.type-tag.green{background:var(--green-soft);color:#2c7544}.type-tag.amber{background:var(--amber-soft);color:var(--amber)}.decision.good{color:var(--green);font-weight:800}.decision.conditional{color:var(--amber);font-weight:800}.deadline b{color:#e33d32}.empty{position:absolute;inset:0;display:grid;place-content:center;color:var(--muted)}footer{height:58px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 26px;font-size:12px;color:var(--muted)}
.footer-links a{color:var(--muted);text-decoration:none}
.footer-links a:hover{color:var(--blue);text-decoration:underline}.inspector{border-left:1px solid var(--line);overflow:auto;background:#fff;box-shadow:-8px 0 24px #1d416710}.inspector-head{height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;border-bottom:1px solid var(--line);font-size:19px}.inspector-head button{border:0;background:#fff;font-size:28px}.inspector-empty{height:70%;display:grid;place-content:center;text-align:center;color:var(--muted);line-height:1.8}#diagnosis{padding:22px}#diagnosis h2{font-size:17px;line-height:1.45;margin:0}.meta{font-size:12px;color:var(--muted)}.verdict{margin:18px 0;padding:15px;border:1px solid #58a36d;background:var(--green-soft);border-radius:8px;text-align:center;font-size:19px;font-weight:900;color:var(--green)}.verdict.conditional{border-color:#e1a55a;background:var(--amber-soft);color:var(--amber)}#diagnosis section{border:1px solid var(--line);border-radius:9px;padding:16px;margin:12px 0}#diagnosis h3{font-size:14px;margin:0 0 12px}#diagnosis ul,#diagnosis ol{margin:0;padding-left:22px}#diagnosis li{font-size:13px;line-height:1.55;margin:8px 0}.checks li::marker{color:var(--green)}.warnings li::marker{color:var(--amber)}.primary,.secondary,.next{width:100%;min-height:48px;border-radius:7px;font-weight:800;margin-top:10px}.primary{border:0;background:var(--blue);color:#fff}.secondary,.next{border:1px solid #d2dce8;background:#fff;color:var(--ink)}.next{margin-top:18px;text-align:left;padding:0 15px}.next span{float:right}.bid-copy-row{margin:2px 0 0}.bid-copy-hint{display:block;font-size:11.5px;color:var(--muted);margin-top:6px;line-height:1.5}#copyBidNo:disabled{opacity:.5;cursor:not-allowed}.bid-guide-box{margin:14px 0 0;border:1px solid #f0c98a;background:var(--amber-soft);border-radius:8px;padding:12px 14px}.bid-guide-box b{display:block;font-size:12.5px;color:var(--amber);margin-bottom:5px}.bid-guide-box span{display:block;font-size:11.5px;color:#7a4a12;line-height:1.6}.bid-guide-box a{display:inline-block;margin-top:8px;font-size:12px;font-weight:800;color:var(--blue);text-decoration:none}.bid-guide-box a:hover{text-decoration:underline}dialog{width:min(610px,90vw);border:0;border-radius:12px;padding:0;box-shadow:0 24px 70px #172c4860}dialog::backdrop{background:#12233d80}dialog form{padding:24px}.modal-head{display:flex;justify-content:space-between;align-items:center}.modal-head h2{margin:0}.modal-head button{border:0;background:#fff;font-size:27px}.modal-head+p{color:var(--muted);font-size:13px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:22px 0}.form-grid label{font-size:12px;font-weight:800}.form-grid input,.form-grid select{display:block;width:100%;height:44px;margin-top:7px;border:1px solid #cbd7e4;border-radius:7px;padding:0 11px}.toggles{display:grid;gap:12px;padding:17px;background:#f6f8fb;border-radius:8px;font-size:14px}menu{display:flex;justify-content:flex-end;gap:10px;padding:18px 0 0;margin:0}menu button{min-width:100px;height:43px;border:1px solid #ccd7e4;background:#fff;border-radius:7px}menu .primary{width:auto;margin:0;padding:0 18px}.toast{position:fixed;bottom:26px;left:50%;transform:translate(-50%,20px);background:#14283f;color:#fff;padding:12px 18px;border-radius:7px;opacity:0;transition:.2s;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%,0)}@media(max-width:1100px){.content{grid-template-columns:1fr}.inspector{position:fixed;right:0;top:92px;width:min(390px,92vw);height:calc(100vh - 92px);z-index:5;display:none}.inspector.open{display:block}.filters{grid-template-columns:repeat(3,1fr)}.status{display:none}}@media(max-width:760px){.app{grid-template-columns:68px 1fr}.brand strong,.nav span,.sync{display:none}.sidebar .account-box{display:none}.brand{padding:0 7px 28px}.nav{justify-content:center;font-size:20px}.filters{grid-template-columns:1fr 1fr;padding:14px}.filters button{display:none}.diag-profile{flex-wrap:wrap}.diag-profile button{width:100%}header{padding:0 12px}.profile-button{font-size:0}.profile-button::after{content:'⚙';font-size:18px}.summary span{display:none}.form-grid{grid-template-columns:1fr}th:nth-child(3),td:nth-child(3),th:nth-child(5),td:nth-child(5){display:none}}
a.brand{color:#fff;text-decoration:none;cursor:pointer}
.checklist{padding:28px 34px;max-width:900px;overflow:auto;height:calc(100vh - 92px)}
.checklist-head h2{margin:0 0 6px;font-size:20px}
.checklist-head p{margin:0 0 24px;color:var(--muted);font-size:13px}
.check-grid{display:grid;gap:16px}
.check-card{border:1px solid var(--line);border-radius:12px;padding:20px 22px;background:#fff}
.check-card.have{background:var(--green-soft);border-color:#bfe3c9}
.check-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}
.check-top h3{margin:0;font-size:15px}
.check-badge{white-space:nowrap;font-size:11px;font-weight:800;padding:4px 9px;border-radius:6px}
.check-badge.good{background:var(--green);color:#fff}
.check-badge.warn{background:var(--amber-soft);color:var(--amber)}
.check-note{margin:6px 0;font-size:13px}
.check-org,.check-docs,.check-hint{margin:4px 0;font-size:12.5px;color:var(--muted)}
.check-steps{display:grid;gap:10px;margin:10px 0}
.check-step{border-left:3px solid var(--blue);background:#f8fafc;border-radius:0 8px 8px 0;padding:9px 13px}
.check-step b{display:block;font-size:12.5px;margin-bottom:3px}
.check-step span{display:block;font-size:12px;color:var(--muted);line-height:1.6}
.check-cta{margin-top:12px;width:auto;padding:0 16px;height:40px}
.check-warn{border:1px solid #f0c98a;background:var(--amber-soft);border-radius:10px;padding:13px 16px;margin:12px 0}
.check-warn-title{display:block;font-size:12.5px;color:var(--amber);margin-bottom:8px}
.check-warn-list{margin:0;padding-left:18px}
.check-warn-list li{font-size:12.5px;line-height:1.65;color:#7a4a12;margin:7px 0}
.cert-diag{border:1.5px solid #a9c3e8;background:#f3f8ff;border-radius:10px;padding:16px 18px;margin:12px 0 16px}
.cert-diag-title{display:block;font-size:13.5px;color:var(--blue);margin-bottom:6px}
.cert-diag-lead{margin:0 0 12px;font-size:12.5px;color:var(--muted);line-height:1.6}
.cert-choices{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.cert-choice{border:1px solid #c3d3e8;background:#fff;color:var(--ink);border-radius:20px;padding:8px 14px;font-size:12px;font-weight:700;cursor:pointer}
.cert-choice:hover{background:#eef4fb}
.cert-choice.active{background:var(--blue);border-color:var(--blue);color:#fff}
.cert-result{border-radius:8px;padding:12px 14px;margin-bottom:12px}
.cert-result.good{background:var(--green-soft);border:1px solid #bfe3c9}
.cert-result.bad{background:#fde8e6;border:1px solid #f2b8b2}
.cert-result.warn{background:var(--amber-soft);border:1px solid #f0d9b8}
.cert-result-title{display:block;font-size:13px;margin-bottom:5px}
.cert-result.good .cert-result-title{color:var(--green)}
.cert-result.bad .cert-result-title{color:#c0392b}
.cert-result.warn .cert-result-title{color:var(--amber)}
.cert-result p{margin:0;font-size:12.5px;line-height:1.65;color:#3a4657}
.cert-submit-check{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:12.5px;font-weight:700;cursor:pointer}
.cert-status{margin-bottom:10px}
.cert-status-badge{display:inline-block;font-size:11.5px;font-weight:800;padding:5px 10px;border-radius:6px}
.cert-status-badge.good{background:var(--green);color:#fff}
.cert-status-badge.warn{background:var(--amber-soft);color:var(--amber)}
.cert-status-badge.bad{background:#fde8e6;color:#c0392b}
.cert-recommend{margin:0 0 10px;font-size:12.5px;line-height:1.65;background:#fff;border:1px dashed #a9c3e8;border-radius:8px;padding:10px 12px}
.cert-table-wrap{font-size:12.5px}
.cert-table-wrap summary{cursor:pointer;font-weight:700;color:var(--blue);margin-bottom:8px}
.cert-table{width:100%;border-collapse:collapse;margin-top:8px}
.cert-table th,.cert-table td{border:1px solid var(--line);padding:7px 9px;text-align:left;font-size:11.5px;vertical-align:top}
.cert-table th{background:#eef3fa}
.cert-table td.good{color:var(--green);font-weight:800}
.cert-table td.bad{color:#c0392b;font-weight:800}
.cert-table td.warn{color:var(--amber);font-weight:800}
.help-tip{position:relative;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:#dbe6f5;color:#3a6bb0;font-size:11px;font-weight:800;cursor:help;vertical-align:middle;margin-left:2px}
.help-tip::after{content:attr(data-tip);position:absolute;right:0;bottom:135%;width:230px;background:#14283f;color:#fff;font-size:11.5px;font-weight:400;line-height:1.6;padding:10px 12px;border-radius:8px;box-shadow:0 8px 20px #1d416740;opacity:0;pointer-events:none;transform:translateY(4px);transition:.15s;z-index:20}
.help-tip:hover::after,.help-tip:focus::after{opacity:1;transform:translateY(0)}
.office-hint{border:1px solid #bfe3c9;background:var(--green-soft);border-radius:10px;padding:13px 16px;margin:0 0 16px}
.office-hint-title{display:block;font-size:12.5px;color:var(--green);margin-bottom:6px}
.office-hint p{margin:4px 0;font-size:12.5px;line-height:1.65;color:#1f4a30}
.office-hint-note{color:#4a6b53!important;font-size:12px!important}
.diagnosisView{padding:28px 34px;max-width:900px;overflow:auto;height:calc(100vh - 92px)}
.diag-profile{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:12px;padding:16px 20px;margin-bottom:18px;background:#fafcff}
.diag-profile-info b{display:block;font-size:15px}
.diag-profile-info span{font-size:12.5px;color:var(--muted)}
.diag-profile button{width:auto;padding:0 16px;height:40px;margin:0}
.diag-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}
.diag-stat{border:1px solid var(--line);border-radius:10px;padding:14px;text-align:center;background:#fff;width:100%;cursor:pointer;appearance:none;-webkit-appearance:none;font-family:inherit}
.diag-stat:hover{background:#f6faff;border-color:#a8cbff}
.diag-stat b{display:block;font-size:24px}
.diag-stat span{font-size:11.5px;color:var(--muted)}
.diag-stat.good b{color:var(--green)}
.diag-stat.warn b{color:var(--amber)}
.score-info{border:1px solid var(--line);background:#fafcff;border-radius:10px;padding:16px 20px;margin-bottom:16px;font-size:13px;line-height:1.7}
.score-info-title{display:block;font-size:13.5px;margin:0 0 8px}
.score-info-title+p{margin-top:0}
.score-info ul,.score-info ol{margin:0 0 4px;padding-left:20px}
.score-info li{margin:5px 0}
.score-info button{margin-top:14px;width:auto;padding:0 16px;height:40px}
.diag-cta{border:1px solid var(--line);background:#fafcff;border-radius:10px;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:13px;color:var(--muted);margin-bottom:24px}
.diag-cta p{margin:0}
.diag-cta button{width:auto;padding:0 16px;height:40px;margin:0;white-space:nowrap}
.diag-bn{border:1px solid #f0d9b8;background:var(--amber-soft);border-radius:10px;padding:14px 18px;font-size:13.5px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}
.diag-bn.ok{border-color:#bfe3c9;background:var(--green-soft)}
.diag-bn button{width:auto;padding:0 14px;height:38px;margin:0;white-space:nowrap}
.diag-top h3{font-size:15px;margin:0 0 12px}
.diag-pick{display:flex;align-items:center;gap:14px;border:1px solid var(--line);border-radius:10px;padding:12px 16px;margin-bottom:8px;cursor:pointer;background:#fff}
.diag-pick:hover{background:#f6faff}
.diag-pick .score{display:inline-grid;place-items:center;width:38px;height:38px;border:2px solid var(--green);border-radius:50%;font-size:13px;font-weight:900;color:var(--green);flex:none}
.diag-pick b{display:block;font-size:13.5px}
.diag-pick small{color:var(--muted);font-size:11.5px}
@media(max-width:1100px){.checklist,.diagnosisView{padding:20px}.diag-stats{grid-template-columns:repeat(2,1fr)}}
.account-box{margin-top:14px;padding-top:14px;border-top:1px solid #315276;font-size:12px;color:#a8bed6;display:grid;gap:6px}
.account-box b{color:#fff;font-size:13px}
.account-box a{color:#8fc0ff;text-decoration:underline;justify-self:start}
.recommend-strip{padding:16px 26px 2px;border-bottom:1px solid var(--line)}
.recommend-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px}
.recommend-head b{font-size:13.5px}
.recommend-head span{font-size:11.5px;color:var(--muted)}
.recommend-scroll{display:flex;gap:12px;overflow-x:auto;padding-bottom:14px}
.recommend-card{flex:0 0 230px;border:1px solid var(--line);border-radius:12px;padding:14px 16px;cursor:pointer;background:#fafcff}
.recommend-card:hover{background:#f0f6ff;border-color:#a8cbff}
.recommend-card .score{display:inline-grid;place-items:center;width:34px;height:34px;border:2px solid var(--green);border-radius:50%;font-size:12px;font-weight:900;color:var(--green);margin-bottom:8px}
.recommend-card b{display:block;font-size:13px;line-height:1.4;margin-bottom:4px;font-weight:800}
.recommend-card small{display:block;color:var(--muted);font-size:11px}
.recommend-card.recommend-empty{flex:0 0 auto;min-width:260px;cursor:default;color:var(--muted);font-size:12.5px;line-height:1.6}
.recommend-card em{display:inline-block;margin-top:8px;font-style:normal;font-size:10.5px;font-weight:800;padding:2px 7px;border-radius:5px}
.recommend-card em.good{background:var(--green-soft);color:var(--green)}
.recommend-card em.warn{background:var(--amber-soft);color:var(--amber)}
@media(max-width:760px){.recommend-strip{padding:12px 14px 2px}.recommend-card{flex-basis:200px}}
