/* ═══ 챗봇 패널 ═══ */
.chat-panel,.chat-panel *,.chat-panel *::before,.chat-panel *::after{box-sizing:border-box}
.chat-panel{position:fixed;bottom:24px;right:24px;width:430px;height:calc(100vh - 100px);max-height:852px;background:#fff;border-radius:20px;box-shadow:0 12px 48px rgba(0,0,0,.12),0 0 0 1px rgba(0,0,0,.04);z-index:510;transform:translateY(20px) scale(.96);opacity:0;transition:transform .28s cubic-bezier(.4,0,.2,1),opacity .28s;display:flex;flex-direction:column;overflow:hidden;pointer-events:none}
.chat-panel.open{transform:translateY(0) scale(1);opacity:1;pointer-events:auto}

/* 헤더 */
.cp-header{min-height:60px;background:linear-gradient(135deg,#6366f1,#8b5cf6,#3b82f6);border-bottom:none;display:flex;align-items:center;justify-content:flex-end;padding:0 12px;flex-shrink:0;position:relative;border-radius:20px 20px 0 0;overflow:hidden}
.cp-header::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:cpShine 4s linear infinite;pointer-events:none}
@keyframes cpShine{0%{left:-100%}50%{left:100%}51%{left:100%}100%{left:-100%}}
.cp-hdr-btn{width:36px;height:36px;background:none;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;flex-shrink:0;color:rgba(255,255,255,.6)}
.cp-hdr-btn:hover{background:rgba(255,255,255,.12);color:#fff}
.cp-hdr-btn svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.cp-header-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:1px;pointer-events:none}
.cp-header-sub{font-size:11px;color:rgba(255,255,255,.5);font-weight:500;letter-spacing:.3px}
.cp-header-title{font-size:16px;font-weight:700;color:#fff;pointer-events:auto}

/* 최상위 탭 바 (AI케봇 | 원격상담) */
.cp-main-tabs{display:flex;background:#fff;border-bottom:1px solid #ECECEC;flex-shrink:0}
.cp-main-tab{flex:1;padding:12px 0;text-align:center;font-size:14px;font-weight:600;color:#9CA3AF;background:none;border:none;border-bottom:2.5px solid transparent;cursor:pointer;transition:all .15s;font-family:'Pretendard',-apple-system,BlinkMacSystemFont,'Noto Sans KR',sans-serif}
.cp-main-tab.active{color:#171717;border-bottom-color:#FF7A00}
.cp-main-tab:hover:not(.active){color:#6B7280;background:#FAFAFA}

/* 바디 */
.chat-body{flex:1;display:flex;flex-direction:column;overflow:hidden;background:#f8f8fa}

/* 환영 영역 */
.chat-welcome{display:flex;flex-direction:column;align-items:center;padding:28px 20px 8px;gap:6px}
.chat-welcome-avatar{width:74px;height:74px;display:flex;align-items:center;justify-content:center}
.chat-welcome-avatar .kebot-avatar{width:74px;height:74px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#8b5cf6,#3b82f6);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(99,102,241,.3)}
.chat-welcome-name{font-size:19px;font-weight:700;color:#171717;margin-top:10px;margin-bottom:20px;text-align:center;line-height:1.4}
.chat-welcome-time{display:none}

/* 메시지 */
.chat-messages{flex:1;overflow-y:auto;padding:8px 18px 14px;display:flex;flex-direction:column;gap:12px;scroll-behavior:smooth}
.chat-messages::-webkit-scrollbar{width:3px}
.chat-messages::-webkit-scrollbar-thumb{background:#C4C4C4;border-radius:3px}
.msg{display:flex;gap:0;max-width:82%;animation:msgIn .22s ease}
@keyframes msgIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.msg.assistant{align-self:flex-start}.msg.user{align-self:flex-end;flex-direction:row-reverse}
.msg-content{display:flex;flex-direction:column;gap:3px}
.msg-bubble{padding:12px 16px;font-size:15px;line-height:1.7;word-break:break-word}
.msg.assistant .msg-bubble{background:#fff;border-radius:4px 18px 18px 18px;color:#333;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.msg.user .msg-bubble{background:linear-gradient(135deg,#FF7A00,#FF8A1A);color:#fff;border-radius:18px 4px 18px 18px;box-shadow:0 2px 8px rgba(255,122,0,.2)}
.msg-time{font-size:12px;color:#C4C4C4}.msg.user .msg-time{text-align:right}
.msg-bubble strong{font-weight:700}
.msg-bubble .ref{display:block;margin-top:8px;padding:8px 10px;background:rgba(0,0,0,.03);border-radius:10px;font-size:14px;line-height:1.5}
.msg-bubble .ref-label{font-weight:600;color:#FF7A00;font-size:14px;margin-bottom:2px}
.msg-bubble .caution{display:block;margin-top:4px;color:#E52222;font-size:13px}
.msg-bubble .msg-ex{margin-top:4px;color:#666;font-size:13px;line-height:1.35}
.msg-bubble .msg-ex+.msg-ex{margin-top:3px}
.msg-bubble .msg-ex:first-of-type{margin-top:6px}

/* 선택지 버튼 */
.msg-choices{display:flex;gap:8px;flex-wrap:wrap;align-self:flex-start;padding:4px 0;animation:msgIn .22s ease}
.msg-choice-btn{padding:8px 18px;border:1.5px solid #E6E6E6;border-radius:20px;background:#fff;font-size:14px;font-weight:500;color:#666;cursor:pointer;transition:all .15s;font-family:'Pretendard',-apple-system,BlinkMacSystemFont,sans-serif}
.msg-choice-btn:hover{border-color:#FF8A1A;background:#FFF3E6;color:#FF7A00}
.msg-choice-btn.primary{border-color:#FF7A00;background:#FFF3E6;color:#FF7A00;font-weight:600}
.msg-choice-btn.agent-link{border-color:#E6E6E6;background:#fff;color:#666;font-weight:500}
.msg-choice-btn.agent-link:hover{border-color:#FF8A1A;background:#FFF3E6;color:#FF7A00}

/* 시스템 메시지 */
.msg-system{align-self:center;animation:msgIn .2s ease}
.msg-system-bubble{display:inline-block;padding:5px 14px;background:#ECECEC;border-radius:20px;font-size:12px;color:#666}
.msg-system-bubble .highlight{color:#FF7A00;font-weight:600}

/* 타이핑 인디케이터 */
.typing-indicator{display:none;align-self:flex-start;padding:12px 16px;min-height:49px;align-items:center;background:#fff;border-radius:4px 18px 18px 18px;gap:6px;margin-left:18px;margin-bottom:14px;box-shadow:0 1px 3px rgba(0,0,0,.04);box-sizing:border-box}
.typing-indicator.show{display:flex}
.typing-dot{width:7px;height:7px;background:#C4C4C4;border-radius:50%;animation:bounce 1.4s infinite ease-in-out}
.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}
@keyframes bounce{0%,60%,100%{transform:translateY(0)}30%{transform:translateY(-5px)}}
.typing-status{display:none;margin-left:8px;font-size:13px;color:#999;white-space:nowrap;transition:opacity .2s}
.typing-status.show{display:inline}

/* 하단 */
.chat-bottom{flex-shrink:0;background:#fff;border-top:1px solid #ECECEC;border-radius:0 0 20px 20px}

/* 카테고리 칩 */
.cat-chip{display:inline-flex;align-items:center;gap:3px;padding:10px 24px;margin:0;width:fit-content;border:1.5px solid #E6E6E6;border-radius:20px;cursor:pointer;background:#fff;transition:all .15s;font-size:14px;font-weight:500;color:#333;font-family:'Pretendard',-apple-system,BlinkMacSystemFont,sans-serif}
.cat-chip:hover{border-color:transparent;background:#FF8A1A;color:#fff}
.cat-chip-icon{font-size:12px;line-height:1}
.cat-strip-break{flex-basis:100%;height:0}
.cat-area{padding:4px 0 0;align-self:flex-start}
.cat-area .cat-strip-inner{display:flex;flex-wrap:wrap;column-gap:5px;row-gap:3px}

/* 입력 영역 */
.chat-input-area{padding:10px 16px 16px;transition:opacity .2s}
.chat-input-area.disabled{opacity:.4;pointer-events:none}
.chat-input-row{display:flex;align-items:center}
.chat-input-wrap{flex:1;position:relative;display:flex;align-items:center}
.chat-input{width:100%;padding:12px 48px 12px 16px;border:1.5px solid #E6E6E6;border-radius:24px;font-size:15px;outline:none;transition:border-color .15s;resize:none;overflow:hidden;min-height:44px;max-height:88px;line-height:1.5;background:#F9F9F9;font-family:'Pretendard',-apple-system,BlinkMacSystemFont,sans-serif}
.chat-input:focus{border-color:#FF7A00;background:#fff}
.chat-input::placeholder{color:#C4C4C4}
.chat-input:disabled{background:#F2F2F2;cursor:not-allowed}
.chat-input:disabled::placeholder{color:#E6E6E6}
.chat-send-btn{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:34px;height:34px;background:linear-gradient(135deg,#FF7A00,#FF8A1A);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;box-shadow:0 2px 8px rgba(255,122,0,.2)}
.chat-send-btn:hover{transform:translateY(-50%) scale(1.06);box-shadow:0 3px 12px rgba(255,122,0,.3)}
.chat-send-btn:disabled{background:#E6E6E6;cursor:default;transform:translateY(-50%);box-shadow:none}
.chat-send-btn svg{width:15px;height:15px;stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.chat-input-hint{margin-top:6px;font-size:12px;color:#999;text-align:left;padding:0 4px}

/* 플로팅 버튼 (채널톡 대체 FAB) */
.fab-wrap{position:fixed;bottom:24px;right:24px;z-index:509;transition:opacity .2s,transform .2s}
.fab-wrap.panel-active{opacity:0;pointer-events:none;transform:scale(.8)}
.kebot-float{position:relative;display:flex;align-items:center;gap:10px;background:linear-gradient(135deg,#6366f1,#8b5cf6,#3b82f6);border-radius:50px;padding:10px 20px 10px 10px;cursor:pointer;border:none;box-shadow:0 4px 20px rgba(99,102,241,.45);transition:transform .2s,box-shadow .2s;animation:kebotPulse 2s ease-in-out infinite}
.kebot-float:hover{transform:translateY(-4px);box-shadow:0 8px 30px rgba(99,102,241,.55)}
.kebot-float:active{transform:translateY(-2px)}
.kebot-float__icon{width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center}
.kebot-float__text{font-size:14px;font-weight:700;color:#fff;white-space:nowrap}
.kebot-float__badge{position:absolute;top:-3px;right:-3px;width:12px;height:12px;border-radius:50%;background:#ff4757;border:2px solid #fff}
@keyframes kebotPulse{0%,100%{box-shadow:0 4px 20px rgba(99,102,241,.45)}50%{box-shadow:0 4px 32px rgba(99,102,241,.75)}}

/* 선택된 카테고리 칩 */
.cat-chip.selected{border-color:#FF7A00;background:#FFF3E6;color:#FF7A00;font-weight:600;pointer-events:none}

/* 선택 완료된 카테고리 영역 (freeze) */
.cat-area.used{opacity:.5;pointer-events:none}
.cat-area.used .cat-chip.selected{opacity:1}

/* 종료 버튼 */
.msg-choice-btn.end-btn{border-color:#C4C4C4;color:#666;font-weight:500}
.msg-choice-btn.end-btn:hover{background:#F2F2F2;border-color:#999}

/* URL 링크 버튼 */
.msg-link-btn{display:inline-flex;align-items:center;gap:4px;padding:8px 18px;border:1.5px solid #E6E6E6;border-radius:20px;background:#fff;font-size:13px;font-weight:500;color:#666;cursor:pointer;transition:all .15s;text-decoration:none;margin-top:8px;font-family:'Pretendard',-apple-system,BlinkMacSystemFont,sans-serif}
.msg-link-btn:hover{border-color:#FF8A1A;background:#FFF3E6;color:#FF7A00}
.msg-link-btn svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}

/* 아바타 이미지 */
.chat-welcome-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}

/* 링크 모달 */
.chatbot-link-modal{display:none;position:fixed;inset:0;z-index:520;background:rgba(0,0,0,.45);align-items:center;justify-content:center}
.chatbot-link-modal.open{display:flex}
.chatbot-link-modal-dialog{width:90vw;max-width:900px;height:80vh;max-height:700px;background:#fff;border-radius:16px;box-shadow:0 16px 64px rgba(0,0,0,.2);display:flex;flex-direction:column;overflow:hidden;animation:chatModalIn .2s ease}
@keyframes chatModalIn{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}
.chatbot-link-modal-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #ECECEC;background:#FAFAFA;min-height:48px}
.chatbot-link-modal-title{font-size:14px;font-weight:600;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;margin-right:8px}
.chatbot-link-modal-actions{display:flex;gap:4px;flex-shrink:0}
.chatbot-link-modal-btn{width:32px;height:32px;background:none;border:none;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#999;transition:all .15s;text-decoration:none}
.chatbot-link-modal-btn:hover{background:#F2F2F2;color:#666}
.chatbot-link-modal-btn svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.chatbot-link-modal-body{flex:1;overflow-y:auto;padding:20px 24px;width:100%;font-size:14px;line-height:1.7;color:#333;word-break:keep-all}
.chatbot-link-modal-body img{max-width:100%;height:auto;border-radius:8px}

/* 피드백 버튼 */
.msg-feedback{display:flex;align-items:center;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid rgba(0,0,0,.06);animation:msgIn .22s ease}
.msg-feedback-label{font-size:12px;color:#AAA;flex:1}
.msg-feedback-btn{width:26px;height:26px;border:1.5px solid #E6E6E6;border-radius:50%;background:#F9F9F9;font-size:13px;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;padding:0;line-height:1;flex-shrink:0}
.msg-feedback-btn:hover{border-color:#FF8A1A;background:#FFF3E6}
.msg-feedback-btn.selected{border-color:#FF7A00;background:#FFF3E6;transform:scale(1.12)}
.msg-feedback-btn:disabled{cursor:default;opacity:.4}
.msg-feedback-btn.selected:disabled{opacity:1}

/* ═══ 메뉴바 ═══ */
.cp-menubar{display:flex;background:#fff;border-bottom:1px solid #ECECEC;position:relative;flex-shrink:0}
.cp-menu-item{flex:1;display:flex;align-items:center;justify-content:center;gap:4px;padding:10px 0;font-size:13px;font-weight:500;color:#999;cursor:pointer;border:none;background:none;font-family:'Pretendard',-apple-system,BlinkMacSystemFont,'Noto Sans KR',sans-serif;border-bottom:2.5px solid transparent;transition:all .12s;position:relative}
.cp-menu-item:hover{color:#333}
.cp-menu-item.active{color:#FF7A00;border-bottom-color:#FF7A00;font-weight:600}
.cp-menu-item .menu-icon{font-size:14px}
.cp-menu-item .menu-arrow{font-size:8px;opacity:.5;transition:transform .2s}
.cp-menu-item.dd-open .menu-arrow{transform:rotate(180deg);opacity:1}

/* 드롭다운 */
.cp-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid #ECECEC;box-shadow:0 4px 16px rgba(0,0,0,.08);z-index:25;max-height:0;overflow:hidden;transition:max-height .25s ease}
.cp-dropdown.open{max-height:300px}
.cp-dropdown-item{display:flex;align-items:center;gap:10px;padding:12px 20px;font-size:13px;color:#333;cursor:pointer;border:none;background:none;width:100%;text-align:left;font-family:'Pretendard',-apple-system,BlinkMacSystemFont,'Noto Sans KR',sans-serif;transition:background .1s}
.cp-dropdown-item:hover{background:#F9F9F9}
.cp-dropdown-item:not(:last-child){border-bottom:1px solid #F2F2F2}
.cp-dropdown-item .dd-icon{font-size:16px;width:24px;text-align:center;flex-shrink:0}
.cp-dropdown-item .dd-label{font-weight:500}
.dd-hint{font-weight:400;color:#C4C4C4;font-size:11px}

/* ═══ 계산기 공통 ═══ */
.calc-page{flex:1;display:flex;flex-direction:column;overflow:hidden;background:#f8f8fa}
.chat-panel .hidden{display:none!important}
.calc-scroll{flex:1;overflow-y:auto;padding:20px 18px 8px}
.calc-scroll::-webkit-scrollbar{width:3px}
.calc-scroll::-webkit-scrollbar-thumb{background:#C4C4C4;border-radius:3px}
.calc-title{font-size:17px;font-weight:700;color:#171717;display:inline}
.calc-year{font-size:12px;color:#FF7A00;font-weight:600;display:inline;margin-left:8px}
.calc-title-row{display:flex;align-items:baseline;margin-bottom:16px}
.calc-field{margin-bottom:14px}
.calc-label{display:block;font-size:12px;font-weight:600;color:#666;margin-bottom:5px}
.calc-input{width:100%;padding:10px 12px;border:1.5px solid #E6E6E6;border-radius:8px;font-size:14px;font-family:'Pretendard',-apple-system,BlinkMacSystemFont,'Noto Sans KR',sans-serif;outline:none;transition:border-color .15s;background:#fff}
.calc-input:focus{border-color:#FF7A00}
.calc-select{width:100%;padding:10px 12px;border:1.5px solid #E6E6E6;border-radius:8px;font-size:14px;font-family:'Pretendard',-apple-system,BlinkMacSystemFont,'Noto Sans KR',sans-serif;outline:none;background:#fff;cursor:pointer;appearance:auto}
.calc-select:focus{border-color:#FF7A00}
.calc-select.sm{width:auto;flex:1;padding:8px 10px;font-size:13px}
.calc-checks{display:flex;gap:14px;flex-wrap:wrap}
.calc-check{display:flex;align-items:center;gap:5px;font-size:13px;color:#333;cursor:pointer}
.calc-check input{display:inline-block!important;visibility:visible!important;opacity:1!important;-webkit-appearance:checkbox;appearance:checkbox;position:static;accent-color:#FF7A00;width:16px;height:16px}
.calc-section{margin-bottom:16px;padding:14px;background:#fff;border-radius:10px;border:1px solid #ECECEC}
.calc-section-title{font-size:12px;font-weight:600;color:#666;margin-bottom:10px}
.calc-row-group{display:flex;align-items:center;gap:6px;margin-bottom:6px}
.calc-row-group:last-child{margin-bottom:0}
.calc-row-label{font-size:12px;color:#999;font-weight:600;width:24px;flex-shrink:0}
.calc-unit{font-size:12px;color:#999;flex-shrink:0}
.calc-notice{font-size:11px;color:#999;line-height:1.5;padding:10px 12px;background:#FFFBE5;border-radius:8px;border:1px solid #FFEE99}
.calc-fixed-bottom{flex-shrink:0;padding:12px 18px 16px;background:#fff;border-top:1px solid #ECECEC;border-radius:0 0 20px 20px}
.calc-fixed-bottom.two{display:flex;gap:10px}
.calc-btn{width:100%;padding:14px;background:linear-gradient(135deg,#FF7A00,#FF8A1A);color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:700;font-family:'Pretendard',-apple-system,BlinkMacSystemFont,'Noto Sans KR',sans-serif;cursor:pointer;transition:all .15s;box-shadow:0 2px 8px rgba(255,122,0,.2)}
.calc-btn:hover{transform:translateY(-1px);box-shadow:0 4px 16px rgba(255,122,0,.3)}
.calc-btn:active{transform:scale(.98)}
.calc-btn-outline{width:100%;padding:14px;background:#fff;color:#666;border:1.5px solid #E6E6E6;border-radius:12px;font-size:15px;font-weight:600;font-family:'Pretendard',-apple-system,BlinkMacSystemFont,'Noto Sans KR',sans-serif;cursor:pointer;transition:all .15s}
.calc-btn-outline:hover{border-color:#999;background:#F9F9F9}

/* ═══ 계산 결과 ═══ */
.cr-header{padding:4px 0 16px;text-align:center}
.cr-name{font-size:20px;font-weight:700;color:#FF7A00;display:inline}
.cr-name-sub{font-size:20px;font-weight:700;color:#171717;display:inline}
.cr-section{padding:0 4px}
.cr-section-title{font-size:13px;font-weight:700;color:#171717;padding:0 4px;margin-bottom:10px}
.cr-row{display:flex;justify-content:space-between;align-items:center;padding:6px 4px}
.cr-label{font-size:13px;color:#999}
.cr-value{font-size:14px;font-weight:600;color:#171717}
.cr-value.cr-warn{color:#E52222}
.cr-divider{height:1px;background:#ECECEC;margin:14px 0}
.cr-detail-item{display:flex;justify-content:space-between;padding:5px 4px;font-size:13px}
.cr-detail-item .cr-dl{color:#333}
.cr-detail-item .cr-dr{color:#999;font-weight:500}
.cr-total-wrap{padding:16px;background:#FFF3E6;border-radius:12px;border:1.5px solid #FFE1C2;text-align:center}
.cr-total-label{font-size:13px;color:#666;margin-bottom:6px}
.cr-total-value{font-size:28px;font-weight:700;color:#FF7A00}

/* ═══ 수가표 ═══ */
.fee-card{background:#fff;border-radius:12px;border:1px solid #ECECEC;padding:14px;margin-bottom:14px}
.fee-card-title{font-size:14px;font-weight:700;color:#171717;margin-bottom:10px;display:flex;align-items:center;gap:6px}
.fee-group-label{font-size:13px;font-weight:700;color:#374151;margin-bottom:10px;padding-left:2px}
.fee-tbl{width:100%;border-collapse:collapse;font-size:12px}
.fee-tbl thead th{padding:8px 6px;background:#F9F9F9;color:#666;font-weight:600;text-align:center;border-bottom:1.5px solid #E6E6E6;font-size:11px;white-space:nowrap}
.fee-tbl tbody td{padding:8px 6px;text-align:center;border-bottom:1px solid #F2F2F2;color:#666;font-size:12px}
.fee-tbl th:first-child,.fee-tbl td:first-child{width:52px;min-width:52px;max-width:68px}
#panelMokyok .fee-tbl th:first-child,#panelMokyok .fee-tbl td:first-child{width:auto;min-width:60px;max-width:72px}
#panelMokyok .fee-tbl th:nth-child(n+2),#panelMokyok .fee-tbl td:nth-child(n+2){font-size:11px;padding:8px 4px}
.fee-tbl tbody td:nth-child(n+2){text-align:right;font-variant-numeric:tabular-nums}
.fee-tbl thead th{text-align:center}
.fee-tbl tbody tr:last-child td{border-bottom:none}
.fee-tbl tbody tr:hover{background:#FFF3E6}
.fee-amt{font-weight:600;color:#171717!important}
.fee-sub{font-size:10px;color:#C4C4C4;font-weight:400}
.fee-grade{display:inline-block;padding:2px 7px;border-radius:10px;font-size:11px;font-weight:500;color:#fff}
.fee-grade.g1{background:#E24B4A}.fee-grade.g2{background:#F97316}.fee-grade.g3{background:#EF9F27}.fee-grade.g4{background:#1D9E75}.fee-grade.g5{background:#378ADD}.fee-grade.g-cog{background:#8B5CF6}
.fee-tabs{display:flex;gap:0;margin-bottom:14px;background:#fff;border-radius:10px;border:1px solid #ECECEC;overflow:hidden}
.fee-tab{flex:1;padding:5px 0;border:none;background:none;font-family:'Pretendard',-apple-system,BlinkMacSystemFont,'Noto Sans KR',sans-serif;font-size:13px;font-weight:500;color:#999;cursor:pointer;transition:all .12s;text-align:center;border-right:1px solid #ECECEC}
.fee-tab:last-child{border-right:none}
.fee-tab:hover{background:#F9F9F9;color:#333}
.fee-tab.active{background:#FF7A00;color:#fff;font-weight:600}
.fee-panel.hidden{display:none!important}

/* ═══ OX퀴즈 ═══ */
.quiz-progress{height:6px;background:#F2F2F2;border-radius:3px;margin-bottom:6px;overflow:hidden}
.quiz-progress-bar{height:100%;background:linear-gradient(90deg,#FF7A00,#FF8A1A);border-radius:3px;transition:width .3s ease}
.quiz-counter{font-size:12px;color:#C4C4C4;text-align:right;margin-bottom:14px}
.quiz-card{background:#fff;border-radius:14px;border:1px solid #ECECEC;padding:24px 20px;text-align:center}
.quiz-q{font-size:16px;font-weight:600;color:#171717;line-height:1.6;margin-bottom:20px;min-height:60px;display:flex;align-items:center;justify-content:center}
.quiz-btns{display:flex;gap:16px;justify-content:center;margin-bottom:16px}
.quiz-btn{width:80px;height:80px;border-radius:50%;border:3px solid #ECECEC;background:#fff;font-size:32px;font-weight:700;cursor:pointer;transition:all .15s;font-family:'Pretendard',-apple-system,BlinkMacSystemFont,'Noto Sans KR',sans-serif}
.quiz-btn:hover{transform:scale(1.08)}
.quiz-o{color:#006CE2}.quiz-o:hover,.quiz-o.selected{border-color:#006CE2;background:#E8F3FF}
.quiz-x{color:#E52222}.quiz-x:hover,.quiz-x.selected{border-color:#E52222;background:#FFECEF}
.quiz-btn:disabled{opacity:.4;cursor:default;transform:none}
.quiz-btn.correct{border-color:#008A1E;background:#E8F7EE;animation:quizPop .3s ease}
.quiz-btn.wrong{border-color:#E52222;background:#FFECEF;animation:quizShake .3s ease}
@keyframes quizPop{0%{transform:scale(1)}50%{transform:scale(1.15)}100%{transform:scale(1)}}
@keyframes quizShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
.quiz-feedback{padding:12px;border-radius:10px;margin-top:4px}
.quiz-feedback-icon{font-size:24px;margin-bottom:4px}
.quiz-feedback-text{font-size:13px;line-height:1.6;color:#666}
.quiz-result{text-align:center;padding:20px 0}
.quiz-result-icon{font-size:48px;margin-bottom:12px}
.quiz-result-score{font-size:36px;font-weight:700;color:#FF7A00;margin-bottom:8px}
.quiz-result-msg{font-size:16px;font-weight:600;color:#171717;margin-bottom:16px}
.quiz-result-detail{text-align:left;font-size:12px;color:#666;line-height:1.7;padding:12px 14px;background:#F9F9F9;border-radius:10px}
.quiz-result-detail div{padding:4px 0;border-bottom:1px solid #F2F2F2}
.quiz-result-detail div:last-child{border-bottom:none}

/* ═══ 오늘의 운세 ═══ */
.fortune-ball{font-size:48px;animation:fortuneFloat 3s ease-in-out infinite}
@keyframes fortuneFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.fortune-date{font-size:12px;color:#C4C4C4;font-weight:500}
.fortune-card{background:#fff;border-radius:14px;border:1px solid #ECECEC;padding:16px;text-align:center;width:100%}
.fortune-category{font-size:11px;font-weight:600;color:#FF7A00;margin-bottom:6px;letter-spacing:1px}
.fortune-msg{font-size:13px;font-weight:500;color:#333;line-height:1.7;margin-bottom:12px;white-space:pre-line}
.fortune-lucky{display:flex;gap:12px;justify-content:center}
.fortune-lucky-item{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 12px;background:#F9F9F9;border-radius:8px;flex:1}
.fortune-lucky-label{font-size:10px;color:#C4C4C4}
.fortune-lucky-value{font-size:13px;font-weight:700;color:#171717}
.fortune-loading{text-align:center;padding:40px 0}
.fortune-loading.hidden{display:none!important}
.fortune-loading-dots{display:flex;justify-content:center;gap:8px;margin-bottom:12px}
.fortune-loading-dots span{width:12px;height:12px;border-radius:50%;background:#FF8A1A;animation:fortuneDot 1.4s infinite ease-in-out}
.fortune-loading-dots span:nth-child(2){animation-delay:.2s}
.fortune-loading-dots span:nth-child(3){animation-delay:.4s}
@keyframes fortuneDot{0%,80%,100%{transform:scale(.4);opacity:.3}40%{transform:scale(1);opacity:1}}
.fortune-loading-text{font-size:13px;color:#C4C4C4}

/* ═══ 급여 계산기 상세 ═══ */
.sal-detail-toggle{display:block;margin-top:6px;padding:0;border:none;background:none;font-family:'Pretendard',-apple-system,BlinkMacSystemFont,'Noto Sans KR',sans-serif;font-size:12px;color:#FF7A00;cursor:pointer;font-weight:500}
.sal-detail-toggle:hover{text-decoration:underline}
.sal-detail{margin-bottom:14px;padding:14px;background:#fff;border-radius:10px;border:1px solid #FFE1C2;display:flex;flex-direction:column;gap:10px}
.sal-detail.hidden{display:none!important}
.sal-detail-row{display:flex;align-items:center;justify-content:space-between;gap:8px}
.sal-detail-label{font-size:12px;color:#666;font-weight:500;flex-shrink:0}
.sal-detail .calc-input.sm{width:100px;padding:7px 10px;font-size:13px;text-align:right}
.sal-detail-sum{text-align:right;font-size:12px;font-weight:600;color:#FF7A00;padding-top:6px;border-top:1px solid #F2F2F2}
.sal-insurance-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sal-ins-item{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#fff;border:1.5px solid #ECECEC;border-radius:8px;cursor:pointer;transition:all .12s}
.sal-ins-item:has(input:checked){border-color:#FF7A00;background:#FFF3E6}
.sal-ins-item input{display:inline-block!important;visibility:visible!important;opacity:1!important;-webkit-appearance:checkbox;appearance:checkbox;position:static;accent-color:#FF7A00;width:16px;height:16px;flex-shrink:0}
.sal-ins-info{display:flex;flex-direction:column;gap:1px}
.sal-ins-name{font-size:13px;font-weight:500;color:#333}
.sal-ins-rate{font-size:11px;color:#C4C4C4}

/* 처음으로 버튼 */
.msg-choice-btn.restart-btn{border-color:#C4C4C4;color:#666;font-weight:500}
.msg-choice-btn.restart-btn:hover{background:#F2F2F2;border-color:#999}

/* ═══ 온보딩 슬라이드 ═══ */
.onboard-overlay{position:absolute;left:0;right:0;bottom:0;z-index:20;background:rgba(255,255,255,.97);display:flex;flex-direction:column;overflow:hidden;border-radius:0 0 20px 20px}
.onboard-overlay.hidden{display:none!important}
.onboard-slides{flex:1;position:relative;overflow:hidden}
.onboard-slide{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 32px;text-align:center;opacity:0;transition:opacity .4s ease;pointer-events:none}
.onboard-slide.active{opacity:1;pointer-events:auto}
.onboard-slide .onboard-inner{display:flex;flex-direction:column;align-items:center;gap:12px;opacity:0;transform:translateY(10px);transition:opacity .4s ease .15s,transform .4s ease .15s}
.onboard-slide .onboard-inner.show{opacity:1;transform:translateY(0)}
.onboard-icon{margin-bottom:4px;display:flex;align-items:center;justify-content:center}
.onboard-icon .kebot-avatar{border-radius:50%;background:linear-gradient(135deg,#6366f1,#8b5cf6,#3b82f6);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(99,102,241,.3)}
.onboard-title{font-size:20px;font-weight:700;color:#171717}
.onboard-desc{font-size:14px;color:#999;line-height:1.7}
.onboard-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:8px}
.onboard-tag{padding:6px 14px;background:#FFF3E6;border:1px solid #FFE1C2;border-radius:20px;font-size:12px;font-weight:500;color:#FF7A00}
.onboard-dots{display:flex;justify-content:center;gap:8px;padding:12px 0}
.onboard-dot{width:8px;height:8px;border-radius:50%;background:#ECECEC;transition:all .2s;cursor:pointer}
.onboard-dot.active{width:24px;border-radius:4px;background:#FF7A00}
.onboard-bottom{display:flex;justify-content:space-between;padding:16px 24px 24px;flex-shrink:0}
.onboard-skip{border:1.5px solid #E6E6E6;background:none;border-radius:10px;font-family:'Pretendard',-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;color:#999;cursor:pointer;padding:10px 24px;transition:all .15s}
.onboard-skip:hover{border-color:#C4C4C4;color:#666}
.onboard-next{padding:10px 32px;background:#FF7A00;color:#fff;border:none;border-radius:10px;font-family:'Pretendard',-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s}
.onboard-next:hover{background:#FF8A1A}

/* 모바일 반응형 */
@media(max-width:480px){
.chat-panel{width:100vw;height:100vh;max-height:100vh;bottom:0;right:0;border-radius:0}
.onboard-overlay{border-radius:0}
.fab-wrap{bottom:16px;right:16px}
.kebot-float{padding:8px 16px 8px 8px}
.kebot-float__icon{width:36px;height:36px}
.kebot-float__text{font-size:13px}
}

