/* 99폼 사장님 계산기 (pro) — style.css 위에 얹는 전용 스타일 */
.pro-hero{margin:18px 0 14px}.pro-hero .eyebrow{font-size:11px;font-weight:800;letter-spacing:1.4px;color:var(--pri)}
.pro-hero h1{font-size:26px;margin:4px 0 6px;letter-spacing:-.4px}.pro-hero p{color:var(--mu);margin:0}
.pro-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;margin:14px 0}
.pro-mode{display:inline-flex;background:#eef1f6;border-radius:10px;padding:3px}
.pro-mode button{border:0;background:none;padding:7px 14px;border-radius:8px;font:inherit;font-size:.9em;font-weight:700;color:var(--mu);cursor:pointer}
.pro-mode button.on{background:#fff;color:var(--pri);box-shadow:0 1px 3px rgba(0,0,0,.08)}
.pro-save{font-size:.82em;color:var(--mu)}.pro-save button{border:1px solid var(--bd);background:#fff;border-radius:7px;padding:4px 10px;font:inherit;font-size:1em;cursor:pointer;margin-left:6px}
.pro-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:18px;align-items:start}
.pro-panel{background:var(--cd);border:1px solid var(--bd);border-radius:14px;padding:18px}
.pro-panel h2{font-size:1.02em;margin:0 0 12px}
.pf{margin-bottom:12px}.pf label{display:flex;justify-content:space-between;gap:8px;font-size:.88em;font-weight:700;margin-bottom:5px}
.pf label small{font-weight:500;color:var(--mu)}
.pf .row{display:flex;align-items:center;gap:6px}.pf input,.pf select{flex:1;min-width:0;padding:10px 11px;border:1px solid var(--bd);border-radius:9px;font:inherit;font-size:1em;background:#fff}
.pf input:focus,.pf select:focus{outline:2px solid #bfd3ff;border-color:var(--pri)}
.pf .u{font-size:.85em;color:var(--mu);white-space:nowrap}
.pf .help{font-size:.8em;color:var(--mu);margin-top:5px;line-height:1.55}
.pf .help b{color:#334155}
.pro-group{border-top:1px dashed var(--bd);margin-top:14px;padding-top:12px}.pro-group>h3{font-size:.84em;color:var(--mu);margin:0 0 10px;letter-spacing:.3px}
.adv{display:none}.mode-adv .adv{display:block}
.pro-best{background:linear-gradient(135deg,#1e3a8a,#1d4ed8);color:#fff;border-radius:14px;padding:16px 18px;margin-bottom:12px}
.pro-best small{opacity:.8;font-size:.8em}.pro-best b{display:block;font-size:1.5em;margin:2px 0}.pro-best span{font-size:.88em;opacity:.92}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}
.kpi{background:#f6f8fc;border:1px solid var(--bd);border-radius:11px;padding:10px 12px}.kpi span{font-size:.76em;color:var(--mu)}.kpi b{display:block;font-size:1.15em;margin-top:2px}
.ctable{width:100%;border-collapse:collapse;font-size:.9em;margin:6px 0 10px}
.ctable th,.ctable td{padding:8px 8px;border-bottom:1px solid var(--bd);text-align:right;white-space:nowrap}
.ctable th:first-child,.ctable td:first-child{text-align:left}.ctable thead th{font-size:.8em;color:var(--mu);font-weight:700}
.ctable tr.best td{background:#effaf5;font-weight:700}.ctable td.neg{color:#b91c1c}
.sig{display:inline-block;font-size:.72em;font-weight:800;padding:2px 7px;border-radius:999px;margin-left:4px;vertical-align:1px}
.sig.g{background:#dcfce7;color:#166534}.sig.y{background:#fef3c7;color:#92400e}.sig.r{background:#fee2e2;color:#991b1b}
.diag{list-style:none;padding:0;margin:8px 0}.diag li{padding:9px 12px;border-radius:9px;margin:6px 0;font-size:.9em;line-height:1.55}
.diag li.g{background:#f0fdf4}.diag li.y{background:#fffbeb}.diag li.r{background:#fef2f2}
.scen{width:100%;border-collapse:collapse;font-size:.88em}.scen th,.scen td{padding:7px 8px;border-bottom:1px solid var(--bd);text-align:right}.scen th:first-child,.scen td:first-child{text-align:left}
.scen td.up{color:#047857;font-weight:700}.scen td.down{color:#b91c1c}
.pro-sec{background:var(--cd);border:1px solid var(--bd);border-radius:14px;padding:16px 18px;margin-top:14px}.pro-sec h2{font-size:1em;margin:0 0 10px}
.docs{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px}
.docs a{display:block;padding:11px 12px;border:1px solid var(--bd);border-radius:10px;text-decoration:none;color:var(--tx);background:#fff}
.docs a em{font-style:normal;font-size:.72em;font-weight:800;color:var(--gr)}.docs a b{display:block;font-size:.9em;margin-top:2px}.docs a:hover{border-color:var(--pri)}
.src{font-size:.8em;color:var(--mu);line-height:1.7}.src a{color:var(--mu)}
.hist{width:100%;border-collapse:collapse;font-size:.86em}.hist th,.hist td{padding:6px 8px;border-bottom:1px solid var(--bd);text-align:right}.hist th:first-child,.hist td:first-child{text-align:left}
.bars{display:flex;flex-direction:column;gap:6px;margin:8px 0}.bars div{display:grid;grid-template-columns:86px 1fr 48px;gap:8px;align-items:center;font-size:.84em}
.bars i{display:block;height:10px;border-radius:5px;background:var(--pri)}.bars span{text-align:right;color:var(--mu)}
@media(max-width:820px){.pro-cols{grid-template-columns:1fr}.kpis{grid-template-columns:repeat(2,1fr)}.ctable{font-size:.82em}}

/* 결과 표가 넓어도 폼이 밀리지 않게: 칸이 줄어들 수 있게 하고 결과 패널만 가로 스크롤 */
.pro-cols>section{min-width:0}
#pro-out .pro-panel,#pro-out .kpis{overflow-x:auto}
.kpi b{overflow-wrap:anywhere}

/* 입력 상한 근처의 큰 숫자에도 화면이 넘치지 않게 */
.pro-panel,.pro-sec,#result,#report{overflow-x:auto;max-width:100%}
.pro-best b,.pro-best span,.kpi b{overflow-wrap:anywhere;word-break:break-all}
html,body{overflow-x:hidden}
