@import "https://fonts.googleapis.com/css2?family=Nunito:wght@900&display=swap";@import "https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;700&display=swap";:root{color:#333;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;background-color:#fff;font-weight:400;line-height:1.5}*,:before,:after{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;font-family:Noto Sans KR,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}a{color:#4a90e2;font-weight:500;text-decoration:none}:root{--header-height:60px}#root{width:100vw;height:100vh;overflow-x:hidden}.main-content{padding-top:var(--header-height);box-sizing:border-box;background-color:#fbfbfa;min-height:100vh}.global-header{height:var(--header-height);z-index:1000;background-color:#fff;align-items:center;gap:20px;padding:0 20px;display:flex;position:fixed;top:0;left:0;right:0}.logo-link{text-decoration:none}.logo{align-items:center;font-family:Nunito,sans-serif;font-size:2rem;font-weight:900;display:flex}.logo-main{background:linear-gradient(90deg,#4a90e2,#00c6ff);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.logo-separator{color:#aaa;margin:0 8px;font-size:1.5rem;font-weight:300}.logo-kt-img{height:24px}.hamburger-menu{cursor:pointer;z-index:1001;background:0 0;border:none;flex-direction:column;justify-content:space-around;width:30px;height:25px;padding:0;display:flex}.hamburger-menu span{background-color:#333;border-radius:5px;width:30px;height:3px;transition:all .3s linear}.hamburger-menu.open{z-index:2001}.hamburger-menu.open span:first-child{transform:rotate(45deg)translate(5px,5px)}.hamburger-menu.open span:nth-child(2){opacity:0}.hamburger-menu.open span:nth-child(3){transform:rotate(-45deg)translate(5px,-5px)}.nav-drawer{box-sizing:border-box;z-index:2000;background-color:#fff;border-right:1px solid #dbeafc;flex-direction:column;width:300px;height:100vh;padding:15px;transition:transform .3s ease-in-out;display:flex;position:fixed;top:0;left:0;transform:translate(-100%)}.nav-drawer.open{transform:translate(0)}.drawer-header{height:var(--header-height);border-bottom:1px solid #dbeafc;flex-shrink:0;justify-content:center;align-items:center;padding:0 20px;display:flex}.nav-menu{flex-direction:column;flex-grow:1;min-height:0;padding-top:15px;display:flex}.nav-menu ul{flex-direction:column;gap:5px;margin:0;padding:0;list-style:none;display:flex}.nav-menu li a{color:#333;border-radius:8px;padding:12px 15px;font-size:1rem;font-weight:500;text-decoration:none;transition:background-color .2s,color .2s;display:block}.nav-menu li a:hover{color:#333;background-color:#f0f0f0}.nav-menu li a.active{color:#0052d9;background:linear-gradient(90deg,#eef5ff,#e6f7ff);font-weight:700}.backdrop{z-index:1999;background-color:#0006;width:100vw;height:100vh;position:fixed;top:0;left:0}.home-container,.campaign-creation-container,.knowledge-list-container{width:100%;max-width:1400px;margin:0 auto}.nav-menu .static-menu{margin-bottom:10px}.new-chat-link{text-align:center;color:#333;border:1px solid #ddd;border-radius:8px;width:100%;margin-bottom:10px;padding:10px;font-size:.9rem;font-weight:500;text-decoration:none;transition:background-color .2s;display:block}.new-chat-link:hover{background-color:#f0f0f0}.menu-divider{border:none;border-top:1px solid #dbeafc;margin:15px 0}.history-title{color:#666;margin:0 0 10px 10px;font-size:.9rem;font-weight:700}.history-menu{flex-grow:1;min-height:0;padding-right:5px;overflow-y:auto}.history-menu::-webkit-scrollbar{width:8px}.history-menu::-webkit-scrollbar-track{background:#f1f1f1}.history-menu::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.history-menu::-webkit-scrollbar-thumb:hover{background:#a1a1a1}.chat-session-item{flex-wrap:nowrap;justify-content:flex-start;align-items:center;min-height:40px;display:flex}.chat-session-item .chat-link-text{color:#333;white-space:nowrap;text-overflow:ellipsis;border-radius:8px;flex-grow:1;justify-content:flex-start;align-items:center;max-width:100%;margin-right:0;padding:8px 6px;font-size:1rem;font-weight:500;line-height:1.2;text-decoration:none;transition:background-color .2s,color .2s;display:flex;overflow:hidden}.chat-session-item .chat-link-text:hover{color:#333;background-color:#f0f0f0}.chat-session-item .chat-link-text.active{color:#0052d9;background:linear-gradient(90deg,#eef5ff,#e6f7ff);font-weight:700}.chat-title{white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.9rem;overflow:hidden}.delete-session-btn{cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:2px;line-height:0;transition:background-color .2s;display:flex}.delete-session-btn:hover{background-color:#f0f0f0}.delete-session-btn svg{stroke:#888;width:16px;height:16px}.delete-session-btn:hover svg{stroke:#dc3545}.history-menu li a{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-size:1rem!important}.loading-indicator{text-align:center;color:#666;padding:10px}.show-more-btn{text-align:center;cursor:pointer;color:#333;background:0 0;border:1px solid #ddd;border-radius:8px;width:100%;margin-top:10px;padding:10px;font-size:.9rem}.show-more-btn:hover{background-color:#f0f0f0}body{color:#111827;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.landing-container{background-color:#fbfbfa;justify-content:center;align-items:center;min-height:100vh;padding:80px 40px;display:flex}.landing-container .landing-content{width:100%;max-width:900px}.landing-container .version-label{letter-spacing:1px;color:#6b7280;font-size:12px;font-weight:600}.landing-container .main-title{margin:20px 0 40px;font-size:56px;font-weight:800;line-height:1.1}.landing-container .checklist{margin:0 0 40px;padding:0;list-style:none}.landing-container .checklist li{color:#374151;margin-bottom:18px;padding-left:28px;font-size:16px;position:relative}.landing-container .checklist li:before{content:"✓";color:#111827;font-weight:700;position:absolute;top:0;left:0}.landing-container .start-button{color:#fff;cursor:pointer;background-color:#111827;border:none;border-radius:6px;padding:12px 24px;font-size:15px;font-weight:600;transition:opacity .2s}.landing-container .start-button:hover{opacity:.8}body{background-color:#fbfbfa;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.campaign-creation-container{background-color:#fbfbfa;justify-content:center;min-height:100vh;padding:60px 80px 80px;display:flex}.creation-content{width:100%;max-width:1200px;margin:0 auto}.page-label{letter-spacing:1px;color:#9ca3af;font-size:12px;font-weight:600}.page-title{color:#1f2937;margin:10px 0 50px;font-size:48px;font-weight:800}.creation-form{flex-direction:column;gap:50px;display:flex}.upload-section h3{color:#374151;margin-bottom:15px;font-size:18px;font-weight:700}.file-input{cursor:pointer;background-color:#f3f1ec;border:2px dashed #d6d3cd;border-radius:8px;width:100%;padding:18px;transition:border-color .2s,background-color .2s}.file-input:hover{background-color:#eeeae4;border-color:#c9c4bb}.file-name{color:#6b7280;margin-top:10px;font-size:14px}.primary-button{color:#fff;cursor:pointer;background-color:#1f2937;border:none;border-radius:6px;align-self:center;margin-top:-20px;padding:12px 28px;font-size:15px;font-weight:600;transition:opacity .2s}.primary-button:hover{opacity:.85}.primary-button:disabled{cursor:not-allowed;background-color:#9ca3af}.status-message{color:#374151;background-color:#eeedeb;border-radius:6px;margin-top:40px;padding:16px;font-size:14px}.upload-grid{grid-template-columns:1fr 1fr;gap:40px;margin-bottom:40px;display:grid}.upload-card{background-color:#f3f2ef;border-radius:20px;flex-direction:column;gap:22px;padding:28px;display:flex}.upload-card-header{align-items:center;gap:14px;display:flex}.upload-icon-circle{background-color:#ece9e3;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:18px;display:flex}.upload-card-header h3{color:#374151;margin:0;font-size:17px;font-weight:700}.upload-card-header p{color:#9ca3af;margin:4px 0 0;font-size:13px}.drop-zone{text-align:center;cursor:pointer;background-color:#faf9f6;border:2px dashed #d8d4cc;border-radius:18px;padding:65px 20px;transition:all .2s}.drop-zone.dragging{background-color:#f1efe9;border-color:#9ca3af}.drop-zone:hover{background-color:#f3efe8;border-color:#cfcac2}.drop-content{flex-direction:column;align-items:center;gap:14px;display:flex}.drop-icon{opacity:.6;font-size:24px}.drop-content p{color:#374151;margin:0;font-size:15px;font-weight:600}.browse-btn{color:#374151;background-color:#fff;border:1px solid #d6d2ca;border-radius:10px;margin-top:8px;padding:10px 22px;font-size:14px;font-weight:600}.file-preview{background-color:#edece8;border-radius:14px;align-items:center;gap:15px;padding:14px 18px;display:flex}.file-badge-pdf{color:#fff;background-color:#ef4444;border-radius:6px;padding:5px 9px;font-size:11px;font-weight:700}.file-badge-csv{color:#fff;background-color:#0f6912;border-radius:6px;padding:5px 9px;font-size:11px;font-weight:700}.file-info{flex-direction:column;font-size:13px;display:flex}.file-status{color:#6b7280;font-size:12px}.segment-result-container{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;max-width:1200px;margin:2rem auto;padding:2.5rem;box-shadow:0 8px 20px #0000001f}.segment-result-container h1{text-align:center;background:linear-gradient(90deg,#161718,#090b0b);-webkit-text-fill-color:transparent;-webkit-background-clip:text;border-bottom:3px solid #101316;margin-bottom:1.5rem;padding-bottom:.75rem;font-size:2rem;font-weight:700}.segment-actions{justify-content:flex-end;gap:1rem;margin-bottom:1.5rem;display:flex}.segment-actions button{cursor:pointer;border:none;border-radius:5px;padding:.6rem 1.4rem;font-size:1rem;font-weight:600;transition:all .25s}.csv-btn{color:#333;background-color:#f1f3f5;border:1px solid #ccc}.csv-btn:hover{background-color:#e2e6ea}.generate-btn{color:#fff;background:linear-gradient(90deg,#2d2a27,#3e454b);box-shadow:0 4px 12px #141e2966}.generate-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 18px #1c27328c}.generate-btn:disabled{opacity:.6;cursor:not-allowed}.segment-table-wrapper{border:1px solid #e0e0e0;border-radius:6px;overflow-x:auto}.segment-table{border-collapse:collapse;width:100%;font-size:.95rem}.segment-table thead{background-color:#f7f9fc}.segment-table th,.segment-table td{vertical-align:top;border-bottom:1px solid #e0e0e0;padding:.85rem .75rem}.segment-table th{text-align:left;color:#333;white-space:nowrap;font-weight:700}.segment-table tbody tr:hover{background-color:#f4f8fc}.segment-table .highlight{color:#0c090a;font-weight:700}.segment-page-status{text-align:center;color:#742323;margin:4rem auto;font-size:1.2rem;font-weight:600}.segment-page-status.error{color:#d32f2f}.message-result-container{max-width:1100px;margin:0 auto;padding:24px 32px}.message-result-container h1{margin-bottom:24px;font-size:24px;font-weight:700}.message-page-status{text-align:center;padding:40px;font-size:16px}.message-page-status.error{color:#d32f2f}.message-card{background-color:#fff;border:1px solid #e0e0e0;border-radius:10px;margin-bottom:20px;padding:20px}.message-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.message-header h3{margin:0;font-size:18px;font-weight:600}.message-index{color:#777;font-size:12px}.message-features{color:#555;margin:8px 0 14px;font-size:14px}.message-body{white-space:pre-wrap;background-color:#f8f9fa;border-radius:6px;padding:14px;font-size:15px;line-height:1.6}.message-actions{text-align:right;margin-top:14px}.message-actions button{color:#fff;cursor:pointer;background-color:#2d2a27;border:none;border-radius:6px;padding:6px 14px;font-size:13px}.message-actions button:hover{background-color:#3e454b}.message-top-actions{margin-bottom:16px}.segment-map-btn{color:#fff;cursor:pointer;background-color:#16a34a;border:none;border-radius:6px;padding:8px 14px;font-size:14px}.segment-map-btn:hover{background-color:#15803d}.message-edit-container{max-width:900px;margin:0 auto;padding:24px 32px}.message-edit-container h1{margin-bottom:20px;font-size:24px;font-weight:700}.message-edit-status{text-align:center;padding:40px;font-size:16px}.message-edit-status.error{color:#d32f2f}.edit-section{background-color:#fff;border:1px solid #e0e0e0;border-radius:10px;padding:24px}.edit-section h3{margin:0 0 6px;font-size:18px;font-weight:600}.target-features{color:#666;margin-bottom:14px;font-size:14px}.edit-section textarea{resize:vertical;box-sizing:border-box;border:1px solid #cfcfcf;border-radius:6px;width:100%;min-height:220px;padding:14px;font-size:15px;line-height:1.6}.edit-section textarea:focus{border-color:#1976d2;outline:none}.edit-actions{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.cancel-btn{color:#333;cursor:pointer;background-color:#fff;border:1px solid #bdbdbd;border-radius:6px;padding:8px 16px;font-size:14px}.cancel-btn:hover{background-color:#f2f2f2}.save-btn{color:#fff;cursor:pointer;background-color:#2d2a27;border:none;border-radius:6px;padding:8px 18px;font-size:14px}.save-btn:hover{background-color:#3e454b}.save-btn:disabled{cursor:not-allowed;background-color:#90caf9}.campaign-list-container{max-width:1000px;margin:0 auto;padding:24px 32px}.campaign-list-container h1{margin-bottom:20px;font-size:24px;font-weight:700}.campaign-list-status{text-align:center;padding:40px;font-size:16px}.campaign-table{border-collapse:collapse;background-color:#fff;width:100%}.campaign-table th,.campaign-table td{text-align:left;border-bottom:1px solid #e0e0e0;padding:12px 14px;font-size:14px}.campaign-table th{background-color:#f5f6f8;font-weight:600}.campaign-table tbody tr:hover{background-color:#fafafa}.campaign-table td:nth-child(2){font-weight:600}.campaign-table td:nth-child(2):before{content:"●";vertical-align:middle;margin-right:6px;font-size:10px}.campaign-table td:nth-child(2):contains("MESSAGE_GENERATED"){color:#2e7d32}.campaign-table td:nth-child(2):contains("SEGMENTED"){color:#f57c00}.campaign-table button{color:#fff;cursor:pointer;background-color:#2d2a27;border:none;border-radius:6px;padding:6px 14px;font-size:13px}.campaign-table button:hover{background-color:#155fa0}
