:root{--brand-green: #2e7d5a;--brand-green-dark: #236246;--charcoal: #1f2226;--gray: #6b7177;--light-gray: #f2f4f6;--white: #ffffff;--border: #e5e7eb;--warning: #d97706;--danger: #dc2626;--slate: #475569;--surface: #fafbfc;--shadow: 0 18px 48px rgba(31, 34, 38, .12);--soft-shadow: 0 8px 22px rgba(31, 34, 38, .06);font-family:Inter,Pretendard Variable,Pretendard,Noto Sans KR,Apple SD Gothic Neo,Malgun Gothic,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--charcoal);background:var(--light-gray);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}.sr-only{clip:rect(0,0,0,0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}body{margin:0;min-width:0;overflow-x:hidden}html,#root{max-width:100%;overflow-x:hidden}button,input{font:inherit}.app-shell{min-height:100vh;background:radial-gradient(circle at 20% 0%,rgba(46,125,90,.08),transparent 32%),linear-gradient(180deg,#fafafa 0%,var(--light-gray) 100%);padding:24px}.app-frame{background:var(--white);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);margin:0 auto;max-width:1420px;min-height:calc(100vh - 48px);overflow:hidden}.brand-header{background:var(--white);border-bottom:1px solid var(--border)}.brand-inner{align-items:center;display:flex;justify-content:space-between;min-height:90px;padding:0 34px}.brand-lockup{align-items:center;display:flex;gap:16px;min-width:0}.brand-logo{display:block;height:38px;object-fit:contain;width:170px}.brand-divider{background:var(--border);display:block;height:36px;width:1px}.brand-copy{align-items:baseline;display:flex;gap:18px;min-width:0}.brand-copy strong{color:var(--charcoal);font-size:28px;letter-spacing:0;line-height:1;white-space:nowrap}.brand-copy span,.mobile-title p{color:var(--gray);font-size:14px}.help-button{align-items:center;background:transparent;border:0;color:var(--gray);cursor:pointer;display:inline-flex;font-weight:800;gap:7px;padding:8px}.help-button:before{align-items:center;border:1px solid #a7afb7;border-radius:999px;content:"?";display:inline-flex;font-size:12px;height:18px;justify-content:center;width:18px}.announcement-band{background:var(--white);padding:14px 36px 0}.announcement-banner{align-items:center;background:#edf8f2;border:1px solid #c9e6d7;border-radius:8px;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto auto;padding:10px 12px 10px 16px}.announcement-message{align-items:baseline;display:flex;gap:10px;margin:0;min-width:0}.announcement-message strong{color:var(--brand-green-dark);flex:0 0 auto;font-size:13px}.announcement-message span{font-size:14px;min-width:0;overflow-wrap:anywhere;word-break:keep-all}.announcement-link{border:1px solid rgba(46,125,90,.45);border-radius:7px;color:var(--brand-green-dark);font-size:13px;font-weight:800;padding:6px 10px;text-decoration:none;white-space:nowrap}.announcement-link:hover{border-color:var(--brand-green)}.announcement-link:focus-visible,.announcement-close:focus-visible{outline:3px solid rgba(46,125,90,.22);outline-offset:2px}.announcement-close{align-items:center;background:transparent;border:0;border-radius:6px;color:var(--gray);cursor:pointer;display:inline-flex;font-size:22px;height:30px;justify-content:center;line-height:1;padding:0;width:30px}.toolbar-band{background:var(--white);padding:20px 36px 18px}.search-panel{align-items:end;border:1px solid var(--border);border-radius:8px;box-shadow:inset 0 1px #1f222605;display:grid;gap:14px;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) 130px;padding:16px 20px}.field{display:grid;gap:7px}.field span{color:var(--gray);font-size:14px;font-weight:800}.field input{background:var(--white);border:1px solid #d7dce2;border-radius:8px;color:var(--charcoal);height:52px;outline:none;padding:0 16px;width:100%}.search-field{position:relative}.search-field input{padding-left:54px}.search-field:after{color:#8b949e;content:"⌕";font-size:29px;left:18px;line-height:1;position:absolute;top:40px}.model-field input{height:52px;max-width:520px}.field input:focus{border-color:var(--brand-green);box-shadow:0 0 0 3px #2e7d5a24}.filters{align-items:end;display:grid;gap:14px;grid-column:2 / 4;grid-template-columns:minmax(0,1fr) 130px}.reset-button{align-items:center;background:var(--white);border:1px solid #d7dce2;border-radius:8px;color:#343a40;display:flex;gap:8px;height:52px;padding:0;white-space:nowrap}.reset-button{background:var(--white);border-color:#2e7d5a8c;color:var(--brand-green-dark);cursor:pointer;font-weight:800;justify-content:center;padding:0 18px}.reset-button:hover:not(:disabled){border-color:var(--brand-green);color:var(--brand-green-dark)}.reset-button:disabled{border-color:#dfe3e7;color:#9aa1a8;cursor:default}.workspace{display:grid;gap:18px;grid-template-columns:minmax(380px,560px) minmax(0,1fr);padding:0 36px 34px}.desktop-detail-slot,.results-column{min-width:0}.section-heading{align-items:center;display:flex;justify-content:space-between;margin-bottom:14px}.section-heading h2{color:var(--charcoal);font-size:16px;margin:0}.section-heading select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--white);border:1px solid var(--border);border-radius:8px;color:var(--slate);font-weight:700;min-width:128px;padding:8px 32px 8px 14px}.result-list{display:grid;gap:14px;grid-template-columns:minmax(0,1fr);max-height:calc(100vh - 332px);min-width:0;overflow:auto;padding-right:4px;width:100%}.result-card{background:var(--white);border:1px solid var(--border);border-radius:8px;color:inherit;cursor:pointer;display:grid;gap:8px;max-width:100%;min-height:132px;min-width:0;overflow:hidden;padding:18px 22px;position:relative;text-align:left;width:100%}.result-card:before{background:transparent;border-radius:8px 0 0 8px;bottom:0;content:"";left:0;position:absolute;top:0;width:4px}.result-card:after{background:transparent;border:0;border-radius:999px;color:transparent;content:"선택됨";font-size:12px;font-weight:900;line-height:1;padding:6px 8px;pointer-events:none;position:absolute;right:18px;top:18px}.result-card:hover{box-shadow:var(--soft-shadow)}.result-card.selected{background:linear-gradient(180deg,#f2fbf6,#fff 76%);border-color:#2e7d5ab8;box-shadow:0 0 0 2px #2e7d5a29,0 16px 32px #2e7d5a1f}.result-card.selected:before{background:var(--brand-green);width:6px}.result-card.selected:after{background:#dff3e8;color:var(--brand-green-dark)}.result-card-header{align-items:center;display:flex;gap:10px;justify-content:space-between;min-width:0}.result-card-header>div{min-width:0}.result-card-header strong{color:var(--brand-green);display:block;font-size:24px;line-height:1.3}.service-guide-card .result-card-header strong{font-size:18px;line-height:1.4}.result-card.selected .result-card-header strong{color:var(--brand-green-dark)}.result-card.selected .result-card-header>span[aria-hidden=true]{opacity:0}.result-card-header span{color:var(--gray);display:block;font-size:15px;font-weight:700;white-space:nowrap}.result-card-header>div span{overflow-wrap:anywhere;white-space:normal}.result-card p{line-height:1.45;margin:0;max-width:100%;min-width:0;overflow-wrap:anywhere}.service-guide-summary{color:var(--charcoal);font-weight:650}.symptom-line{color:#2f353b;font-size:14px}.muted-line{color:var(--slate);display:-webkit-box;font-size:14px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.symptom-line span,.muted-line span{color:var(--brand-green-dark);font-weight:800;margin-right:6px}.badge-row{display:flex;flex-wrap:wrap;gap:6px}.badge{border-radius:999px;font-size:12px;font-weight:800;line-height:1;padding:6px 8px}.badge-ready{background:#e7f4ed;color:var(--brand-green-dark)}.badge-reference{background:#eef1f4;color:#47515c}.badge-danger{background:#fff7ed;color:var(--warning)}.badge-muted{background:#f4f1f7;color:#6b5d78}.detail-panel{background:var(--white);border:1px solid rgba(46,125,90,.34);border-radius:8px;box-shadow:inset 0 0 0 1px #2e7d5a14,0 18px 42px #1f222614;max-height:calc(100vh - 282px);min-width:0;overflow:auto;padding:22px;position:sticky;top:24px}.mobile-detail-page{display:none}.detail-panel.empty{border-color:var(--border);box-shadow:var(--soft-shadow);align-items:center;color:var(--gray);display:flex;justify-content:center}.detail-heading{align-items:start;display:flex;gap:16px;justify-content:space-between;margin-bottom:18px}.detail-heading h2{color:var(--brand-green);font-size:30px;line-height:1.05;margin:2px 0 6px}.service-guide-detail .detail-heading h2{font-size:22px;line-height:1.3}.detail-heading p{color:var(--gray);margin:0}.eyebrow{color:var(--brand-green);font-size:12px;font-weight:800}.detail-title-row{border-bottom:1px solid var(--border);margin-bottom:18px;padding-bottom:14px}.detail-title-actions{align-items:center;display:flex;gap:8px}.detail-copy-button{align-items:center;background:var(--white);border:1px solid var(--border);border-radius:8px;color:var(--gray);cursor:pointer;display:inline-flex;flex:0 0 40px;font-size:23px;height:40px;justify-content:center;line-height:1;padding:0;transition:background-color .14s ease,border-color .14s ease,color .14s ease;width:40px}.detail-copy-button:hover,.detail-copy-button:focus-visible{border-color:var(--brand-green);color:var(--brand-green-dark);outline:none}.detail-copy-button.copied{background:#e7f4ed;border-color:#2e7d5a75;color:var(--brand-green-dark);font-size:20px}.service-guide-group-title{border-top:1px solid var(--border);color:var(--brand-green-dark);font-size:15px;margin:18px 0 12px;padding-top:18px}.detail-block{background:transparent;border:0;border-radius:0;margin-bottom:10px;padding:0}.detail-block h3{color:var(--gray);font-size:14px;margin:0 0 8px}.detail-block p,.raw-text-box p{font-size:16px;line-height:1.58;margin:0;overflow-wrap:break-word;word-break:keep-all}.detail-block-content{display:grid;gap:8px}.action-block{padding-top:4px}.empty-results{background:var(--white);border:1px dashed #cbd5e1;border-radius:8px;color:var(--gray);display:grid;gap:8px;min-height:180px;place-content:center;padding:28px;text-align:center}.empty-results strong{color:var(--charcoal);font-size:18px}.empty-results span{color:var(--gray);font-size:14px}.empty-results-ready{background:linear-gradient(180deg,#fff,#fbfcfd);border-color:#d7dce2}.result-limit-note{color:var(--gray);font-size:14px;line-height:1.5;margin:2px 0 4px;padding:6px 4px;text-align:center}@media(max-width:1180px){.filters,.workspace{grid-template-columns:1fr}.app-shell{padding:0}.app-frame{border:0;border-radius:0;min-height:100vh;overflow:visible}.brand-divider,.help-button{display:none}.brand-header{position:sticky;top:0;z-index:40}.brand-inner{min-height:58px;padding:0 18px}.brand-lockup{align-items:center;display:flex;gap:10px;justify-content:space-between;width:100%}.brand-logo{height:29px;width:128px}.brand-copy{display:flex;margin-left:auto}.brand-copy strong{font-size:16px;line-height:1}.brand-copy span{display:none}.toolbar-band{border-bottom:1px solid var(--border);box-shadow:0 4px 12px #1f22260a;padding:10px 18px;position:sticky;top:58px;z-index:30}.search-panel{border:0;box-shadow:none;gap:8px;grid-template-columns:1fr;padding:0}.search-panel .field>span{clip:rect(0,0,0,0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.field input,.model-field input{font-size:16px;height:44px;max-width:none}.filters{gap:8px;grid-column:auto;grid-template-columns:minmax(0,1fr) auto}.reset-button{display:flex;height:44px;padding:0 14px}.search-field:after{top:12px}.workspace{padding-bottom:24px;padding-top:18px}.result-list{gap:10px;max-height:none;overflow:visible;padding-right:0}.result-card{gap:6px;min-height:0;padding:14px 16px}.result-card:after{display:none}.result-card.selected .result-card-header>span[aria-hidden=true]{opacity:1}.result-card-header strong{font-size:24px}.service-guide-card .result-card-header strong{font-size:18px}.result-card-header span{font-size:14px}.desktop-detail-slot{display:none}.detail-copy-button{flex-basis:44px;height:44px;width:44px}.mobile-detail-page{background:var(--white);border:0;border-radius:0;box-shadow:none;display:block;height:100dvh;top:0;right:0;bottom:0;left:0;max-height:none;overflow-y:auto;overscroll-behavior:contain;padding:0;position:fixed;width:100%;z-index:1000}.mobile-detail-toolbar{align-items:center;background:#fffffffa;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;min-height:60px;padding:max(8px,env(safe-area-inset-top)) 16px 8px;position:sticky;top:0;z-index:2}.mobile-detail-back{align-items:center;background:transparent;border:0;color:var(--charcoal);cursor:pointer;display:inline-flex;font-size:15px;font-weight:800;gap:5px;min-height:44px;padding:0 8px 0 0}.mobile-detail-back span{font-size:30px;font-weight:400;line-height:1}.mobile-detail-bottom-back{align-items:center;background:var(--white);border:1px solid rgba(46,125,90,.58);border-radius:8px;color:var(--brand-green-dark);cursor:pointer;display:flex;font-size:15px;font-weight:800;gap:6px;height:48px;justify-content:center;margin-top:28px;width:100%}.mobile-detail-bottom-back:focus-visible{outline:2px solid rgba(46,125,90,.34);outline-offset:2px}.mobile-detail-bottom-back span{font-size:26px;font-weight:400;line-height:1}.mobile-detail-content{padding:26px 20px max(32px,env(safe-area-inset-bottom))}.mobile-detail-page .detail-heading{border-bottom:1px solid var(--border);margin-bottom:0;padding-bottom:22px}.mobile-detail-page .detail-heading h2{font-size:30px}.mobile-detail-page.service-guide-detail .detail-heading h2{font-size:22px;line-height:1.3}.mobile-detail-page .detail-block{border-bottom:1px solid var(--border);margin:0;padding:22px 0}.mobile-detail-page .detail-block:last-of-type{border-bottom:0}.mobile-detail-page .detail-block h3{color:var(--brand-green-dark);font-size:15px;margin-bottom:10px}.mobile-detail-page .detail-block p{font-size:16px;line-height:1.65}}@media(max-width:640px){.brand-inner,.announcement-band,.toolbar-band,.workspace{padding-left:14px;padding-right:14px}.brand-logo{height:27px;width:120px}.announcement-band{padding-top:10px}.announcement-banner{align-items:start;gap:8px 10px;grid-template-columns:minmax(0,1fr) auto;padding:10px 10px 10px 12px}.announcement-message{align-items:flex-start;flex-direction:column;gap:3px}.announcement-link{grid-column:1;justify-self:start}.announcement-close{grid-column:2;grid-row:1}.toolbar-band{padding-bottom:10px;padding-top:10px}.result-card-header{align-items:start}.section-heading h2{font-size:15px}.section-heading select{min-width:116px;padding-left:12px}}
