@import url(https://cdn.rawgit.com/moonspam/NanumSquare/master/nanumsquare.css);body,html{font-family:NanumSquare,sans-serif}.login-page-container{align-items:flex-start;background-color:#fff;box-sizing:border-box;display:flex;justify-content:space-between;margin:0 auto;max-width:1280px;min-height:100vh;padding:2rem;position:relative;width:100%}.welcome-text{margin-bottom:2rem;text-align:left}.welcome-text p{margin:0}.signup-prompt-left{font-size:1rem;margin-top:2rem}.signup-prompt-left span{color:#555}.login-form-container{background-color:#fff;border-radius:20px;box-shadow:0 10px 25px #0000000d;max-width:420px;padding:3rem;width:100%}.login-form-container h2{color:#333;font-size:1.8rem;font-weight:700;margin-bottom:2rem;text-align:center}.forgot-password-link{color:#888;display:block;font-size:.875rem;margin-bottom:2rem;text-align:right;text-decoration:none}.login-button{background-color:#6d55ff;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;padding:1rem;width:100%}.signup-prompt-right{margin-top:1.5rem;text-align:center}.signup-prompt-right a{color:#555;font-size:.9rem;font-weight:500;text-decoration:none}.divider{align-items:center;color:#ccc;display:flex;margin:1.5rem 0;text-align:center}.divider:after,.divider:before{border-bottom:1px solid #e0e0e0;content:"";flex:1 1}.divider span{padding:0 1rem}.social-login-buttons{display:flex;gap:1.5rem;justify-content:center}.social-button{align-items:center;background-color:#fff;border:1px solid #e0e0e0;border-radius:50%;cursor:pointer;display:flex;height:50px;justify-content:center;width:50px}.social-button img{height:24px;width:24px}.error-message{color:red;font-size:.875rem;margin-top:1rem;text-align:center}.react-calendar{background:#fff;border:1px solid #a0a096;font-family:Arial,Helvetica,sans-serif;line-height:1.125em;max-width:100%;width:350px}.react-calendar--doubleView{width:700px}.react-calendar--doubleView .react-calendar__viewContainer{display:flex;margin:-.5em}.react-calendar--doubleView .react-calendar__viewContainer>*{margin:.5em;width:50%}.react-calendar,.react-calendar *,.react-calendar :after,.react-calendar :before{box-sizing:border-box}.react-calendar button{border:0;margin:0;outline:none}.react-calendar button:enabled:hover{cursor:pointer}.react-calendar__navigation{display:flex;height:44px;margin-bottom:1em}.react-calendar__navigation button{background:none;min-width:44px}.react-calendar__navigation button:disabled{background-color:#f0f0f0}.react-calendar__navigation button:enabled:focus,.react-calendar__navigation button:enabled:hover{background-color:#e6e6e6}.react-calendar__month-view__weekdays{font:inherit;font-size:.75em;font-weight:700;text-align:center;text-transform:uppercase}.react-calendar__month-view__weekdays__weekday{padding:.5em}.react-calendar__month-view__weekNumbers .react-calendar__tile{align-items:center;display:flex;font:inherit;font-size:.75em;font-weight:700;justify-content:center}.react-calendar__month-view__days__day--weekend{color:#d10000}.react-calendar__century-view__decades__decade--neighboringCentury,.react-calendar__decade-view__years__year--neighboringDecade,.react-calendar__month-view__days__day--neighboringMonth{color:#757575}.react-calendar__century-view .react-calendar__tile,.react-calendar__decade-view .react-calendar__tile,.react-calendar__year-view .react-calendar__tile{padding:2em .5em}.react-calendar__tile{background:none;font:inherit;font-size:.833em;max-width:100%;padding:10px 6.6667px;text-align:center}.react-calendar__tile:disabled{background-color:#f0f0f0;color:#ababab}.react-calendar__century-view__decades__decade--neighboringCentury:disabled,.react-calendar__decade-view__years__year--neighboringDecade:disabled,.react-calendar__month-view__days__day--neighboringMonth:disabled{color:#cdcdcd}.react-calendar__tile:enabled:focus,.react-calendar__tile:enabled:hover{background-color:#e6e6e6}.react-calendar__tile--now{background:#ffff76}.react-calendar__tile--now:enabled:focus,.react-calendar__tile--now:enabled:hover{background:#ffffa9}.react-calendar__tile--hasActive{background:#76baff}.react-calendar__tile--hasActive:enabled:focus,.react-calendar__tile--hasActive:enabled:hover{background:#a9d4ff}.react-calendar__tile--active{background:#006edc}.react-calendar__tile--active:enabled:focus,.react-calendar__tile--active:enabled:hover{background:#1087ff}.react-calendar--selectRange .react-calendar__tile--hover{background-color:#e6e6e6}.signup-page-container{align-items:flex-start;background-color:#fff;box-sizing:border-box;display:flex;font-family:Pretendard,sans-serif;justify-content:space-between;margin:0 auto;max-width:1280px;min-height:100vh;padding:2rem;position:relative;width:100%}.main-logo{left:2rem;position:absolute;top:2rem;width:110px;z-index:10}.left-panel{align-items:flex-start;display:flex;flex:1 1;flex-direction:column;justify-content:flex-start;min-height:calc(100vh - 4rem);padding-right:2rem;padding-top:8rem;position:relative}.welcome-text h1{color:#222;font-size:2.8rem;font-weight:700;margin:0 0 1rem}.welcome-text p{color:#555;font-size:1.25rem;margin:0 0 2rem}.signup-prompt-left a{color:#6d55ff;font-weight:600;margin-left:.5rem;text-decoration:none}.desk-illustration{bottom:400px;max-width:240px;position:absolute;right:100px;width:100%;z-index:5}.right-panel{align-items:center;display:flex;flex:0.8 1;justify-content:center;padding-top:2rem;z-index:10}.signup-form-container{background-color:#fff;border-radius:20px;box-shadow:0 10px 25px #0000000d;max-width:420px;padding:3rem;width:100%}.signup-form-container h2{color:#333;font-size:1.8rem;font-weight:700;margin-bottom:2rem;text-align:center}.input-group{margin-bottom:1.2rem;position:relative}.input-group.with-button{align-items:center;display:flex;gap:.5rem}.input-group.with-button .inline-button,.input-group.with-button input{height:48px}.input-group input{background-color:#f7f7f9;border:1px solid #e0e0e0;border-radius:10px;box-sizing:border-box;font-size:1rem;padding:1rem;width:100%}.input-group input:disabled{background-color:#ebebeb;color:#999}.inline-button{align-items:center;background-color:#fff;border:1px solid #6d55ff;border-radius:10px;color:#6d55ff;cursor:pointer;display:flex;flex-shrink:0;font-weight:600;justify-content:center;padding:0;white-space:nowrap;width:120px}.inline-button:disabled{background-color:#f0f0f0;border-color:#ccc;color:#aaa;cursor:not-allowed}.password-toggle-icon{color:#888;cursor:pointer;font-size:1.2rem;position:absolute;right:1rem;top:50%;transform:translateY(-50%)}.signup-button{background-color:#6d55ff;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;margin-top:2rem;padding:1rem;transition:background-color .2s;width:100%}.signup-button:disabled{background-color:#ccc;cursor:not-allowed}.signup-button:hover:not(:disabled){background-color:#5a45e0}.react-calendar{border:none;font-family:inherit}.react-calendar__tile--active{background:#007bff;border-radius:8px;color:#fff}.main-page-container{align-items:center;background-color:#f9fafb;display:flex;flex-direction:column;min-height:100vh}.main-content{box-sizing:border-box;max-width:1400px;padding:0 2rem;width:100%}.main-banner{align-items:center;background-image:url(/static/media/6240060.a92cb1d84c8ab5d2ce0a.jpg);background-position:center 25%;background-size:cover;border-radius:20px;display:flex;gap:2rem;justify-content:space-between;margin-bottom:2rem;margin-top:1rem;overflow:hidden;padding:6rem 4rem;position:relative}.main-banner:before{background-color:#00000080;bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:1}.banner-text{flex:1 1;position:relative;z-index:2}.banner-text h2{color:#fff;font-size:2.2rem;font-weight:700;margin-bottom:1rem;margin-top:0}.banner-text p{color:#e0e0e0;font-size:1.1rem;line-height:1.6;margin-bottom:2rem}.banner-text button{background-color:#e53e3e;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.8rem 1.5rem;transition:background-color .2s}.banner-text button:hover{background-color:#c53030}.card-section{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(3,1fr);margin-bottom:2rem}.info-card{background-color:#fff;border-radius:16px;box-shadow:0 4px 12px #0000000d;display:flex;flex-direction:column;padding:1.5rem 2rem}.card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.card-header h3{font-size:1.4rem;font-weight:700;margin:0}.card-header a{color:#888;font-size:.9rem;font-weight:500;text-decoration:none}.card-content{flex-grow:1}.policy-list,.savings-list{display:flex;flex-direction:column;gap:1.5rem;list-style:none;margin:0;padding:0}.policy-list li,.savings-list li{align-items:center;display:flex;gap:1rem;justify-content:space-between}.item-icon{align-items:center;background-color:#f4f2ff;border-radius:50%;color:#5844d1;display:flex;flex-shrink:0;font-size:1.5rem;height:48px;justify-content:center;width:48px}.item-details{display:flex;flex-direction:column;flex-grow:1;min-width:0}.item-title{color:#333;font-weight:600;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-source{color:#888;font-size:.85rem}.item-dday{color:#555;font-size:.9rem;font-weight:700}.item-dday.highlight{color:#e53e3e}.item-interest{align-items:flex-end;display:flex;flex-direction:column;text-align:right}.rate-label{color:#888;font-size:.8rem}.rate-value{color:#5844d1;font-size:1.2rem;font-weight:700}.rate-base{color:#aaa;font-size:.8rem}.chart-container{height:250px}.header-container{grid-area:header;padding:1.5rem 2rem}.app-header,.header-container{box-sizing:border-box;width:100%}.app-header{background-color:#fff;border-radius:16px;box-shadow:0 8px 25px #00000012;height:80px;justify-content:flex-start;margin:0;padding:1rem 2.5rem;position:relative}.app-header,.logo-container{align-items:center;display:flex}.logo-container{flex-shrink:0;left:2.5rem;position:absolute;top:50%;transform:translateY(-50%)}.header-logo{height:100px}.header-nav{align-items:center;display:flex;gap:4.5rem;margin:0 auto;padding-left:120px}.header-nav a{color:#333;font-size:1.3rem;font-weight:600;padding:.5rem 0;position:relative;text-decoration:none;transition:color .2s;white-space:nowrap}.header-nav a:after{background-color:#5844d1;bottom:-2px;content:"";height:3px;left:0;position:absolute;transform:scaleX(0);transition:transform .3s ease-in-out;width:100%}.header-nav a:hover{color:#5844d1}.header-nav a:hover:after{transform:scaleX(1)}.header-nav a.active{color:#5844d1}.header-nav a.active:after{transform:scaleX(1)}.header-nav.is-hovered a.active{color:#333}.header-nav.is-hovered a.active:after{transform:scaleX(0)}.user-info-container{align-items:center;background-color:#f4f2ff;border-radius:30px;display:flex;flex-shrink:0;padding:.5rem .6rem}.user-profile-link{align-items:center;cursor:pointer;display:flex;gap:.8rem;margin-right:.5rem}.user-avatar{border-radius:50%;height:36px;object-fit:cover;width:36px}.user-name{color:#333;font-size:.95rem;font-weight:600;white-space:nowrap}.notification-bell{align-items:center;background-color:#5844d1;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.4rem;height:38px;justify-content:center;width:38px}.notification-container{position:relative}.notification-badge{align-items:center;background-color:#ff4d4f;border:2px solid #fff;border-radius:50%;color:#fff;display:flex;font-size:.75rem;font-weight:700;height:20px;justify-content:center;position:absolute;right:-4px;top:-4px;width:20px}.notification-panel{background-color:#fff;border:1px solid #eee;border-radius:12px;box-shadow:0 8px 30px #0000001f;overflow-y:auto;position:absolute;right:0;top:120%;width:320px;z-index:100}.notification-item{font-size:.9rem;padding:1rem}.notification-item:last-child{border-bottom:none}.notification-item.unread{background-color:#fff;font-weight:600}.notification-item.read{background-color:#f5f5f5;color:#888}.notification-item:hover{background-color:#e9e7ff}@media (max-width:1200px){.app-header{padding:1rem 1.5rem}.header-nav{gap:2.5rem}}@media (max-width:992px){.header-logo{height:50px}.header-nav{gap:1.5rem}.header-nav a{font-size:1.1rem}.user-name{display:none}}@media (max-width:768px){.header-nav{display:none}}.notification-panel{display:flex;flex-direction:column;max-height:400px}.notification-list-popup{overflow-y:auto}.notification-footer{background-color:#f8f9fa;border-top:1px solid #f0f0f0;padding:.5rem}.view-all-btn{background:none;border:none;border-radius:8px;color:#5844d1;cursor:pointer;font-size:.9rem;font-weight:600;padding:.75rem;transition:background-color .2s;width:100%}.view-all-btn:hover{background-color:#e9e7ff}.modal-overlay{background-color:#00000080;height:100%;width:100%;z-index:1000}.modal-container{background-color:#fff;display:flex;flex-direction:column;max-width:600px;padding:2rem;width:90%}.modal-header{border-bottom:1px solid #eee;margin-bottom:1rem;padding-bottom:1rem}.modal-header h2{font-size:1.5rem;margin:0}.modal-close-btn{background:none;border:none;color:#888;cursor:pointer;font-size:2rem}.modal-content{overflow-y:auto}.paper-trading-container{background-color:#f9fafb;box-sizing:border-box;display:flex;flex-direction:column;height:900px;padding:1.5rem}.dashboard-header{align-items:center;display:flex;flex-shrink:0;justify-content:space-between;margin-bottom:1.2rem}.dashboard-header h2{font-size:1.8rem;margin:0}.header-actions{align-items:center;display:flex;gap:1rem}.stock-search{border:1px solid #ddd;border-radius:20px;font-size:.9rem;padding:.6rem 1rem}.dashboard-grid-three{grid-gap:1.2rem;flex-grow:1;grid-template-rows:1fr 1fr}.dashboard-grid-three,.row-grid{display:grid;gap:1.2rem;min-height:0}.row-grid{grid-gap:1.2rem;grid-template-columns:2fr 1fr 1fr}.widget{background-color:#fff;border-radius:12px;box-shadow:0 4px 12px #0000000d;display:flex;flex-direction:column;overflow:hidden;padding:1.2rem}.widget-header{flex-shrink:0;margin-bottom:.8rem}.widget-header.clickable{cursor:pointer}.widget-header h3{font-size:1.1rem;gap:.2rem}.add-button,.widget-header h3{align-items:center;display:flex}.add-button{background-color:#f0efff;border:none;border-radius:50%;color:#6e55ff;cursor:pointer;font-size:1.4rem;height:28px;justify-content:center;width:28px}.positive{color:#d93025}.negative{color:#0f9dff}.neutral{color:#888}.widget-header.market-selector{border-bottom:1px solid #f0f0f0;padding-bottom:.8rem}.market-buttons{align-items:center;display:flex;gap:.5rem}.market-buttons button{background:none;border:none;color:#888;cursor:pointer;font-size:1.2rem;font-weight:700;padding:.2rem}.market-buttons button.active{color:#333}.chart-tabs{gap:.5rem}.chart-tabs button{font-size:.85rem;padding:.2rem .6rem}.chart-widget{overflow:visible}.line-chart-container{cursor:crosshair;flex-grow:1;height:auto;overflow:visible!important;position:relative}.chart-summary{grid-gap:.4rem;color:#555;display:grid;font-size:.85rem;gap:.4rem;grid-template-columns:1fr 1fr;margin-top:.8rem}.chart-summary span{font-weight:600}.watchlist-list,.watchlist-modal-list{display:flex;flex-direction:column;gap:10px}.stock-item{align-items:center;background-color:#fafafa;border-radius:8px;display:flex;justify-content:space-between;padding:8px 10px;transition:background .2s ease}.stock-item:hover{background-color:#f0f0f5}.stock-logo-img{object-fit:contain}.stock-logo-fallback,.stock-logo-img{border-radius:8px;height:36px;margin-right:10px;width:36px}.stock-logo-fallback{align-items:center;background-color:#6e55ff;color:#fff;display:flex;font-size:16px;font-weight:600;justify-content:center}.stock-info{display:flex;flex:1 1;flex-direction:column}.stock-name{color:#222;font-size:15px;font-weight:600}.sector-name{color:#777;font-size:13px}.created-date{color:#aaa;font-size:12px}.ranking-list,.ranking-modal-list{display:flex;flex-direction:column;gap:.4rem;margin-top:.5rem}.ranking-item{border-bottom:1px solid #f0f0f0;display:flex;font-size:.9rem;justify-content:space-between;padding:.3rem 0}.ranking-item.top1{background-color:#fff6b3}.ranking-item.top2{background-color:#e5e5e5}.ranking-item.top3{background-color:#f5d0a9}.my-rank{border-top:1px solid #eee;font-weight:500;padding-top:8px;text-align:center}.holdings-widget{background:#fff;border-radius:12px;box-shadow:0 3px 10px #0000000a;padding:16px 18px}.holdings-widget .widget-header h3{color:#333;font-size:1rem;font-weight:700}.holdings-widget .holdings-summary{margin:4px 0 14px}.holdings-widget .holdings-summary h2{color:#111;font-size:28px;font-weight:800;margin:0 0 6px}.holdings-widget .holdings-summary p{font-size:16px;font-weight:700;margin:0}.holdings-widget .holdings-list{display:flex;flex-direction:column;gap:14px}.holdings-widget .holding-row{align-items:center;display:flex;justify-content:space-between}.holdings-widget .holding-left{align-items:center;display:flex;gap:10px}.holdings-widget .holding-logo,.holdings-widget .holding-logo-fallback,.holdings-widget .holding-logo-img{background-color:#fff;border-radius:50%;height:36px;object-fit:contain;width:36px}.holdings-widget .holding-logo-fallback{align-items:center;background:#eee;color:#777;display:flex;font-size:14px;font-weight:700;justify-content:center}.holdings-widget .holding-info{display:flex;flex-direction:column}.holdings-widget .holding-info .name{color:#222;font-size:15px;font-weight:700}.holdings-widget .holding-info .quantity{color:#999;font-size:13px;margin-top:3px}.holdings-widget .holding-right{text-align:right}.holdings-widget .holding-right .price{color:#333;display:block;font-size:15px;font-weight:700}.holdings-widget .holding-right .change{font-size:13px;font-weight:700;margin-top:4px}.holdings-widget .positive{color:#d93025}.holdings-widget .negative{color:#0f9dff}.holdings-widget .neutral{color:#888}.transaction-list{max-height:300px;overflow-y:auto;padding-right:6px}.transaction-item{align-items:center;border-bottom:1px solid #eee;display:flex;font-size:14px;justify-content:space-between;margin-bottom:.6rem;padding:10px 0}.tx-left{display:flex;flex-direction:column;gap:3px}.tx-date{color:#555;font-size:14px;font-weight:600}.tx-name{color:#222;font-size:15px;font-weight:500}.tx-subinfo{color:#999;font-size:13px}.tx-right{text-align:right}.tx-amount{font-size:15px;font-weight:700}.tx-amount.sell{color:#e53935}.tx-amount.buy{color:#1e88e5}.tx-price{color:#aaa;font-size:13px}.pie-chart-container{height:260px;overflow:visible!important;position:relative;z-index:10}.chart-center-label{left:50%;pointer-events:none;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%)}.chart-center-label span{color:#888;font-size:.9rem}.chart-center-label strong{color:#333;display:block;font-size:1.4rem;font-weight:700}.nivo-tooltip{display:none!important}.holdings-modal-list{border-top:1px solid #eee;display:flex;flex-direction:column;gap:10px;padding-top:10px}.holding-item{align-items:center;border-bottom:1px solid #f0f0f0;display:grid;font-size:.95rem;grid-template-columns:2fr 1fr 1fr 1fr 1.2fr;padding:.6rem 0}.holding-item .stock-name{color:#222;font-weight:600}.holding-item .quantity{color:#666;text-align:center}.holding-item .avg-price,.holding-item .current-price{font-family:Pretendard,sans-serif;text-align:right}.holding-item .avg-price{color:#777}.holding-item .current-price{color:#333;font-weight:600}.holding-item .profit{font-weight:600;text-align:right}.holding-item .positive{color:#d93025;font-weight:700}.holding-item .negative{color:#0f9dff;font-weight:700}.transaction-modal-list{border-top:1px solid #eee;display:flex;flex-direction:column;font-size:14px;gap:8px;padding-top:10px}.transaction-modal-list .transaction-item{align-items:center;border-bottom:1px solid #f3f3f3;display:grid;grid-template-columns:1.5fr 1fr .8fr .6fr 1fr 1fr;padding:6px 0;text-align:center}.transaction-modal-list .transaction-item span{white-space:nowrap}.transaction-modal-list .buy{color:#1e88e5;font-weight:600}.transaction-modal-list .sell{color:#e53935;font-weight:600}.transaction-modal-list .total-amount{font-size:13px;font-weight:700}.transaction-modal-list{max-height:400px;overflow-y:auto;scrollbar-width:thin}.transaction-modal-list::-webkit-scrollbar{width:6px}.transaction-modal-list::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.tx-balance{color:#aaa;font-size:.85rem;margin-top:2px}.layout-grid{display:grid;grid-template-areas:"header header" "sidebar main";grid-template-columns:240px 1fr;grid-template-rows:auto 1fr;height:100vh;overflow:hidden}.app-sidebar{background-color:#fff;border-right:1px solid #e9e9e9;box-sizing:border-box;grid-area:sidebar;overflow-y:auto;padding:2rem 1rem}.main-content{background-color:#f9fafb;grid-area:main;overflow-y:auto}.sidebar-title{color:#888;font-size:.875rem;margin-bottom:1rem;padding:0 1rem}.sidebar-nav ul{list-style:none;margin:0;padding:0}.sidebar-nav .sidebar-button,.sidebar-nav li a{background:none;border:none;border-radius:8px;color:#333;cursor:pointer;display:block;font-family:inherit;font-size:1rem;font-weight:500;padding:.8rem 1rem;text-align:left;text-decoration:none;transition:background-color .2s,color .2s;width:100%}.sidebar-nav .sidebar-button:hover,.sidebar-nav li a:hover{background-color:#f4f2ff}.sidebar-nav li a.active{background-color:#5844d1;color:#fff;font-weight:700}.app-sidebar{display:flex;flex-direction:column}.sidebar-content{flex-grow:1}.sidebar-footer{border-top:1px solid #e9e9e9;padding:1rem}.chatbot-trigger{align-items:center;background-color:#f4f2ff;border:1px solid #0000;border-radius:8px;color:#5844d1;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.8rem;justify-content:center;padding:.8rem;transition:all .2s;width:100%}.chatbot-trigger:hover{background-color:#e9e7ff;border-color:#5844d1}.chatbot-fab{align-items:center;background-color:#5844d1;border-radius:50%;bottom:2rem;box-shadow:0 4px 12px #0003;color:#fff;cursor:pointer;display:flex;font-size:1.8rem;height:60px;justify-content:center;position:fixed;right:2rem;transition:transform .2s ease-in-out;width:60px;z-index:999}.chatbot-fab:hover{transform:scale(1.1)}.chatbot-overlay{align-items:flex-end;background-color:#0000001a;box-sizing:border-box;display:flex;height:100%;justify-content:flex-end;left:0;padding:2rem;position:fixed;top:0;width:100%;z-index:1000}.chatbot-container{background-color:#fff;border-radius:16px;box-shadow:0 10px 30px #0003;display:flex;flex-direction:column;height:70vh;max-height:600px;max-width:400px;overflow:hidden;width:100%}.chatbot-header{background-color:#f7f7f7;border-bottom:1px solid #eee;flex-shrink:0;justify-content:space-between;padding:1rem 1.5rem}.chatbot-header,.header-info{align-items:center;display:flex}.header-info{gap:.8rem}.bot-avatar{font-size:1.5rem}.bot-avatar-img{border-radius:50%;height:40px;object-fit:cover;width:40px}.header-info h3{font-size:1.1rem;margin:0}.header-info span{color:#5cb85c;font-size:.8rem}.close-btn{color:#888;font-size:1.8rem}.chatbot-messages{display:flex;flex-direction:column;flex-grow:1;gap:.8rem;overflow-y:auto;padding:1rem}.message-bubble{border-radius:18px;line-height:1.6;max-width:80%;padding:.8rem 1rem;position:relative;white-space:pre-line}.message-bubble.bot{align-self:flex-start;background-color:#f1f3f5;border-bottom-left-radius:4px}.message-bubble.bot.loading{background-color:#f1f3f5;color:#666;font-style:italic}.message-bubble.user{align-self:flex-end;background-color:#e3f2fd;border-bottom-right-radius:4px}.chatbot-input-form{align-items:center;border-top:1px solid #eee;display:flex;gap:.5rem;padding:1rem}.chatbot-input-form input{background-color:#f1f3f5;border:none;border-radius:20px;flex-grow:1;font-size:1rem;padding:.8rem 1rem}.chatbot-input-form input:focus{box-shadow:0 0 0 2px #5844d140;outline:none}.send-btn{align-items:center;color:#5844d1;display:flex;font-size:1.5rem;padding:.5rem}.more-btn,.send-btn{background:none;border:none;cursor:pointer}.more-btn{color:#6e55ff;font-size:.9rem;font-weight:600;margin-top:6px;padding:0;text-align:left}.tutorial-overlay{background-color:#0009;height:100%;left:0;position:fixed;top:0;width:100%;z-index:2000}.highlight-box{background-color:initial;box-shadow:0 0 0 9999px #0009;z-index:2001}.highlight-box,.tooltip{border-radius:8px;position:absolute;transition:all .3s ease-in-out}.tooltip{background-color:#fff;box-shadow:0 4px 15px #0003;max-width:90vw;padding:1rem 1.5rem;transform:translateY(0);width:300px;z-index:2002}.tooltip p{font-size:.95rem;line-height:1.6;margin:0 0 1rem}.tooltip-footer{align-items:center;display:flex;justify-content:space-between}.tooltip-footer span{color:#888;font-size:.8rem}.tooltip-footer button{background-color:#5844d1;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:.5rem 1rem}.all-stocks-container{background-color:#f9fafb;padding:2rem}.stock-page-header{margin-bottom:2rem}.global-stock-search{border:1px solid #e0e0e0;border-radius:12px;box-sizing:border-box;font-size:1.1rem;padding:1rem;width:100%}.stock-list-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));margin-bottom:3rem}.stock-card{background-color:#fff;border-radius:12px;box-shadow:0 2px 6px #0000000f;cursor:pointer;padding:1rem;position:relative;text-align:center;transition:all .2s ease}.stock-card:hover{box-shadow:0 6px 12px #0000001a;transform:translateY(-4px)}.favorite-icon{cursor:pointer;position:absolute;right:10px;top:10px;z-index:5}.heart{font-size:1.3rem;transition:transform .2s ease}.heart:hover{transform:scale(1.15)}.heart.filled{color:#e63946}.heart.outline{color:#ccc}.stock-clickable{align-items:center;display:flex;flex-direction:column}.stock-logo{border-radius:50%;height:64px;margin-bottom:.5rem;object-fit:contain;width:64px}.stock-info h4{color:#333;font-size:1.1rem;margin:0}.stock-info p{color:#777;font-size:.85rem;margin:.3rem 0 0}.loading-text{color:#666;font-size:1rem;padding:2rem;text-align:center}.stock-detail-grid{grid-gap:1.5rem;align-items:stretch;display:grid;gap:1.5rem;grid-template-columns:2fr 1fr}.chart-section.widget{background-color:#fff;border-radius:12px;box-shadow:0 4px 12px #0000000d;height:auto;padding:1.5rem}.widget-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.stock-title-container{align-items:center;display:flex;gap:.75rem}.widget-header h3{font-size:1.5rem;margin:0}.favorite-toggle-btn{background:none;border:none;cursor:pointer;line-height:0;padding:0}.favorite-toggle-btn svg{color:#a0aec0;font-size:1.5rem;transition:transform .1s ease-out,color .2s ease}.favorite-toggle-btn svg.is-favorite{color:#d32f2f}.favorite-toggle-btn:hover svg{transform:scale(1.15)}.chart-tabs{display:flex;gap:.3rem}.chart-tabs button{background:none;border:none;border-radius:8px;color:#555;cursor:pointer;font-size:.9rem;font-weight:500;padding:.3rem .7rem;transition:background .15s ease,color .15s ease}.chart-tabs button.active{background-color:#f0efff;color:#6e55ff}.chart-info-header.detailed{display:flex;flex-wrap:wrap;font-size:.9rem;gap:.5rem 1rem;line-height:1.5;margin-bottom:1rem;padding-left:.5rem}.chart-info-header .positive{color:#d32f2f}.chart-info-header .negative{color:#1976d2}.chart-info-header .neutral{color:#333}.stock-tooltip{background-color:#fff;border:1px solid #ccc;border-radius:8px;box-shadow:0 2px 5px #00000026;font-size:.85rem;padding:.8rem 1rem;width:220px}.tooltip-row{display:flex;justify-content:space-between;line-height:1.8}.tooltip-row .label{color:#555}.tooltip-row .positive{color:#d32f2f}.tooltip-row .negative{color:#1976d2}.tooltip-row .neutral{color:#333}.order-panel{display:flex;flex-direction:column}.order-panel .widget{background-color:#fff;border-radius:12px;box-shadow:0 4px 12px #0000000d;flex-grow:1;height:100%;padding:1.5rem;position:-webkit-sticky;position:sticky;top:2rem}.order-title{font-size:1.2rem;margin-bottom:1rem}.stock-id{align-items:center;display:flex;font-weight:600;gap:.5rem;margin-bottom:1rem}.stock-logo-small{background-color:#f0f0f0;border-radius:50%;height:24px;width:24px}.order-tabs{display:grid;grid-template-columns:1fr 1fr;margin-bottom:1rem}.order-tabs button{background-color:#f7f7f7;border:none;cursor:pointer;font-size:1rem;font-weight:600;padding:.8rem;transition:all .15s ease}.order-tabs button.active{background-color:#fff;border-bottom:3px solid #6e55ff}.order-book{font-size:.9rem}.order-row{border-radius:4px;display:flex;justify-content:space-between;padding:.5rem}.order-row.sell{background-color:#e3f2fd}.order-row.buy{background-color:#ffebee}.order-book .divider{background-color:#eee;height:1px;margin:.5rem 0}.order-form{margin-top:1.5rem}.order-form .form-group{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.order-form .form-group label{font-weight:500;text-align:left;width:50px}.order-form .form-group input{border:1px solid #ddd;border-radius:6px;flex:1 1;font-size:14px;padding:6px 10px}.order-form input{border:1px solid #ddd;border-radius:4px;padding:.5rem;text-align:right;width:60%}.order-summary{border-top:1px solid #eee;font-weight:600;margin-top:1.5rem;padding-top:1.5rem}.total-amount{color:#d32f2f}.order-button{border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:700;margin-top:1rem;padding:1rem;transition:opacity .2s ease;width:100%}.order-button.buy{background-color:#d32f2f}.order-button.sell{background-color:#1976d2}.order-button:hover{opacity:.9}@media (max-width:1024px){.stock-detail-grid{grid-template-columns:1fr}.order-panel{position:static}}@media (max-width:600px){.stock-list-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.stock-card{padding:.8rem}.stock-logo{height:50px;width:50px}.widget-header h3{font-size:1.2rem}.chart-tabs button{font-size:.8rem}}.stock-logo-icon{background-color:#f5f5f5;border-radius:50%;height:28px;object-fit:contain;width:28px}.order-summary{align-items:center;display:flex;font-size:15px;justify-content:space-between;margin-top:12px}.order-summary span{display:inline-block}.order-summary .total-amount{color:#d32f2f;font-weight:700;margin-left:4px}.quiz-page-container{align-items:center;background-color:#f0f2f5;box-sizing:border-box;display:flex;height:100%;justify-content:center;padding:2rem;width:100%}.quiz-card,.quiz-result{background-color:#fff;border-radius:16px;box-shadow:0 8px 30px #00000014;box-sizing:border-box;max-width:800px;padding:3rem;width:100%}.quiz-header{margin-bottom:2rem;text-align:center}.quiz-header h1{color:#333;font-size:1.8rem}.quiz-question{font-size:1.5rem;font-weight:500;line-height:1.6;margin-bottom:3rem}.quiz-options{display:flex;flex-direction:column;gap:1rem}.option-btn{align-items:center;background-color:#f8f9fa;border:2px solid #f8f9fa;border-radius:12px;cursor:pointer;display:flex;font-size:1.1rem;gap:1.5rem;padding:1.2rem;text-align:left;transition:all .2s;width:100%}.option-btn:hover{border-color:#d1c4e9}.option-btn.selected{background-color:#f4f2ff;border-color:#673ab7;font-weight:600}.option-label{align-items:center;background-color:#e9ecef;border-radius:50%;display:flex;flex-shrink:0;font-weight:600;height:32px;justify-content:center;width:32px}.option-btn.selected .option-label{background-color:#673ab7;color:#fff}.quiz-footer{border-top:1px solid #eee;justify-content:space-between;margin-top:3rem;padding-top:2rem}.progress-bar,.quiz-footer{align-items:center;display:flex}.progress-bar{background-color:#e9ecef;border-radius:10px;height:20px;position:relative;width:50%}.progress{background-color:#4caf50;border-radius:10px;height:100%;transition:width .3s ease-in-out}.progress-bar span{color:#555;font-size:.8rem;font-weight:600;position:absolute;text-align:center;width:100%}.next-btn{background-color:#673ab7;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.8rem 2.5rem;transition:background-color .2s}.next-btn:disabled{background-color:#ccc;cursor:not-allowed}.next-btn:hover:not(:disabled){background-color:#512da8}.quiz-result{text-align:center}.quiz-result h2{font-size:2.5rem;margin-bottom:1.5rem}.quiz-result p{font-size:1.2rem;margin-bottom:2.5rem}.quiz-result button{background-color:#673ab7;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;padding:1rem 3rem}.option-btn.correct{background-color:#e8f5e9;border-color:#4caf50}.option-btn.correct .option-label{background-color:#4caf50;color:#fff}.option-btn.incorrect{background-color:#ffebee;border-color:#f44336}.option-btn.incorrect .option-label{background-color:#f44336;color:#fff}.answer-feedback{border-left:5px solid;border-radius:12px;margin-top:2rem;padding:1.5rem}.answer-feedback h3{font-size:1.2rem;margin:0 0 .5rem}.answer-feedback p{font-size:1rem;line-height:1.6;margin:0}.answer-feedback.correct{background-color:#e8f5e9;border-left-color:#4caf50}.answer-feedback.correct h3{color:#2e7d32}.answer-feedback.incorrect{background-color:#ffebee;border-left-color:#f44336}.answer-feedback.incorrect h3{color:#c62828}.portfolio-page-layout{align-items:center;background-color:#f9fafb;display:flex;flex-direction:column;min-height:100vh}.portfolio-content{box-sizing:border-box;max-width:1400px;padding:2rem;width:100%}.main-title-section{margin-bottom:2rem;width:100%}.main-title-section h2{font-size:2rem;font-weight:700;margin:0}.portfolio-columns{align-items:stretch;display:flex;gap:1.5rem;width:100%}.portfolio-left,.portfolio-right{display:flex;flex:1 1;flex-direction:column}.portfolio-right{gap:1rem;justify-content:flex-start}.title-section{margin-bottom:1rem;text-align:center}.title-section h3{color:#555;font-size:1.2rem;margin:0}.donut-chart-container{height:450px;margin-bottom:2rem}.summary-cards{display:flex;gap:1rem}.summary-card{background-color:#fff;border:1px solid #e9e9e9;border-radius:12px;display:flex;flex:1 1;flex-direction:column;padding:1.5rem}.card-title{align-items:baseline;display:flex;justify-content:space-between;margin-bottom:.5rem}.card-title .percentage{font-size:1.5rem;font-weight:700}.card-title span{color:#555;font-size:.9rem}.summary-card h4{font-size:1rem;margin:0 0 1rem}.summary-cards .summary-card:first-child{flex-grow:2}.summary-cards .summary-card:nth-child(2){flex-grow:1}.product-item{gap:.75rem;margin-bottom:1rem}.product-item,.product-logo{align-items:center;display:flex}.product-logo{background-color:#f0f0f0;border-radius:50%;color:#aaa;height:32px;justify-content:center;width:32px}.bank-logo{height:28px;object-fit:contain;width:28px}.product-details{display:flex;flex-direction:column}.product-details span{color:#888;font-size:.8rem}.product-details strong{font-size:1rem;white-space:nowrap}.product-rates{display:flex;font-size:.9rem;justify-content:space-between;margin-bottom:1.5rem}.product-rates strong{color:#5844d1}.more-link{color:#888;display:block;font-size:.85rem;margin-top:auto;padding-top:1rem;text-align:right;text-decoration:none}.pie-chart-container{height:450px}.llm-placeholder{align-items:center;background-color:#fff;border:1px solid #e9e9e9;border-radius:12px;box-sizing:border-box;color:#333;display:flex;flex:1 1;font-size:1rem;font-weight:500;height:100%;justify-content:flex-start;line-height:1.6;padding:1.5rem;text-align:left}.product-split-container{display:flex;gap:1rem;margin-bottom:1rem}.product-split-item{display:flex;flex:1 1;flex-direction:column}.product-split-item h5{color:#555;font-size:.9rem;font-weight:600;margin:0 0 .5rem}.product-split-item .product-rates{margin-bottom:0}.stock-scroll-container{border-top:1px solid #f1f1f1;margin-top:.5rem;padding-top:.5rem}.stock-scroll-list{display:flex;flex-direction:column;gap:8px;max-height:140px;overflow-y:auto;padding-right:4px;scroll-behavior:smooth}.stock-scroll-list::-webkit-scrollbar{width:6px}.stock-scroll-list::-webkit-scrollbar-thumb{background-color:#ccc;border-radius:3px}.stock-scroll-list::-webkit-scrollbar-thumb:hover{background-color:#999}.stock-scroll-list .product-item{border-bottom:1px solid #f3f3f3;margin-bottom:0;padding:6px 2px}.stock-scroll-list .product-item:last-child{border-bottom:none}.reason-text{color:#333;font-size:.95rem;line-height:1.6;padding:1rem;text-align:left;white-space:pre-wrap}.loading-overlay{align-items:center;background-color:#fffc;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:9999}.loading-spinner{animation:spin 1s linear infinite;border:8px solid #f3f3f3;border-radius:50%;border-top-color:#5844d1;height:60px;width:60px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.setting-page-layout{display:flex;flex-direction:column;height:100vh}.setting-content-wrapper{background-color:#f9fafb;display:flex;flex-grow:1}.setting-sidebar{background-color:#fff;border-right:1px solid #e9e9e9;box-sizing:border-box;flex-shrink:0;padding:2rem;width:260px}.sidebar-header{align-items:center;display:flex;gap:1rem;margin-bottom:3rem}.back-button{font-size:1.5rem}.sidebar-header h2{font-size:1.5rem;margin:0}.setting-nav ul{list-style:none;margin:0;padding:0}.setting-nav li a{align-items:center;border-radius:8px;color:#555;display:flex;font-weight:600;gap:.8rem;margin-bottom:.5rem;padding:1rem;text-decoration:none;transition:background-color .2s,color .2s}.setting-nav li a:hover{background-color:#f4f2ff}.setting-nav li a.active{background-color:#f4f2ff;color:#5844d1}.setting-main-content{flex-grow:1;overflow-y:auto;padding:3rem 4rem}.setting-main-content h1{font-size:2rem;margin-bottom:3rem;margin-top:0}.form-group{margin-bottom:2rem}.form-group label{color:#222;display:block;font-size:1rem;font-weight:600;margin-bottom:.8rem}.form-group input,.form-group select{border:1px solid #ddd;border-radius:8px;box-sizing:border-box;font-size:1rem;max-width:500px;padding:.8rem 1rem;width:100%}.view-mode-text{color:#888;font-size:1rem;margin:0;min-height:21.5px;padding:.8rem 0}.view-mode-text.disabled{color:#888}.form-actions{border-top:1px solid #e9e9e9;gap:1rem;justify-content:flex-start;margin-top:3rem;padding-top:2rem}.form-actions button{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;padding:.8rem 2rem}.cancel-button{background-color:#f0f0f0;color:#333}.edit-button,.save-button{background-color:#5844d1;color:#fff}.edit-button{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;max-width:500px;padding:.8rem 2rem;width:100%}.propensity-page-layout{align-items:center;background-color:#f9fafb;display:flex;flex-direction:column;min-height:100vh}.propensity-content{box-sizing:border-box;max-width:800px;padding:2rem;width:100%}.propensity-content h1{font-size:2rem;font-weight:700;margin-bottom:2rem;text-align:center}.question-container{background-color:#fff;border-radius:12px;box-shadow:0 4px 12px #0000000d;margin-bottom:1.5rem;padding:1.5rem 2rem}.question-container h3{font-size:1.2rem;margin-bottom:1.5rem;margin-top:0}.checkbox-group,.radio-group{display:flex;flex-wrap:wrap;gap:1rem}.option{align-items:center;display:flex}.option input{margin-right:.5rem}.option label{cursor:pointer;font-size:1rem}.checkbox-group{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(4,1fr)}.submit-button{background-color:#5844d1;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;margin-top:2rem;padding:1rem;width:100%}.result-container{background-color:#fff;border-radius:12px;box-shadow:0 4px 12px #0000000d;margin-top:3rem;padding:2rem;text-align:center}.result-container h2{font-size:1.5rem;margin-bottom:1rem}.result-container p{font-size:1.2rem}.section-title{border-bottom:1px solid #eee;font-size:1.5rem;font-weight:600;margin-bottom:1rem;padding-bottom:1rem}.setting-list{max-width:500px}.setting-item{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:1.2rem 0}.setting-item:first-child{border-top:1px solid #f0f0f0}.setting-item span{font-size:1rem;font-weight:500}.toggle-switch{display:inline-block;height:28px;position:relative;width:50px}.toggle-switch input{height:0;opacity:0;width:0}.slider{background-color:#ccc;border-radius:34px;bottom:0;cursor:pointer;left:0;right:0;top:0}.slider,.slider:before{position:absolute;transition:.4s}.slider:before{background-color:#fff;border-radius:50%;bottom:4px;content:"";height:20px;left:4px;width:20px}input:checked+.slider{background-color:#5844d1}input:checked+.slider:before{transform:translateX(22px)}.form-actions{display:flex;gap:.8rem;justify-content:flex-end;margin-top:2rem;max-width:500px}.form-actions .cancel-button,.form-actions .save-button{border:1px solid #ddd;border-radius:8px;cursor:pointer;font-weight:600;padding:.7rem 1.5rem}.form-actions .cancel-button{background-color:#f8f9fa}.form-actions .save-button{background-color:#5844d1;border-color:#5844d1;color:#fff}.account-settings{margin-top:4rem;max-width:500px}.action-button{background-color:#f8f9fa;border:1px solid #ddd;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:600;padding:.5rem 1.2rem;transition:background-color .2s}.action-button:hover{background-color:#f1f3f5}.action-button.delete{background-color:#ffebee;border-color:#f44336;color:#f44336}.action-button.delete:hover{background-color:#ffcdd2}.confirmation-modal-content p{font-size:1.1rem;line-height:1.6;margin:1rem 0 2rem;text-align:center}.modal-actions{display:flex;gap:.8rem;justify-content:flex-end}.modal-actions .cancel-button,.modal-actions .confirm-button{border:1px solid #ddd;border-radius:8px;cursor:pointer;font-weight:600;padding:.7rem 1.5rem}.modal-actions .cancel-button{background-color:#f8f9fa}.modal-actions .confirm-button{background-color:#5844d1;border:none;color:#fff}.modal-actions .confirm-button.delete{background-color:#f44336}.notification-list{display:flex;flex-direction:column}.notification-item{align-items:center;border-bottom:1px solid #f0f0f0;cursor:pointer;display:flex;gap:1.5rem;padding:1.5rem;position:relative;transition:background-color .2s}.notification-item:hover{background-color:#f8f9fa}.notification-item.read .notification-content p{color:#888}.notification-item.read .notification-content small{color:#aaa}.icon-wrapper{align-items:center;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:1.5rem;height:50px;justify-content:center;width:50px}.icon-wrapper.trade{background-color:#42a5f5}.icon-wrapper.dividend{background-color:#66bb6a}.icon-wrapper.ranking{background-color:#ffa726}.notification-content p{font-weight:500;margin:0 0 .3rem}.notification-content small{color:#888}.unread-dot{background-color:#5844d1;border-radius:50%;height:10px;position:absolute;right:1.5rem;top:50%;transform:translateY(-50%);width:10px}.savings-page-layout{align-items:center;background-color:#f9fafb;display:flex;flex-direction:column;min-height:100vh}.savings-content{box-sizing:border-box;max-width:940px;padding:0 2rem 2rem;width:100%}.page-title{font-size:2.5rem;margin-bottom:2rem}.filter-bar{align-items:center;background-color:#fff;border-radius:12px;box-shadow:0 4px 12px #0000000d;display:flex;gap:1rem;margin-bottom:2rem;padding:1.5rem}.search-box{border:1px solid #e0e0e0;padding:.7rem 1rem}.filter-button{background-color:#f7f7f9}.list-info-bar{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding:0 .5rem}.total-count{color:#555;font-size:.9rem}.savings-list-container{display:flex;flex-direction:column;gap:1rem}.savings-item{align-items:center;background-color:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;display:flex;justify-content:space-between;padding:1.5rem;transition:box-shadow .2s}.savings-item:hover{box-shadow:0 4px 16px #00000014}.item-left{gap:1.5rem}.bank-logo,.item-left{align-items:center;display:flex}.bank-logo{background-color:#f0f0f0;border-radius:50%;color:#aaa;font-size:1.5rem;height:48px;justify-content:center;width:48px}.product-info{display:flex;flex-direction:column}.product-name{font-size:1.1rem;font-weight:600;margin-bottom:.25rem}.bank-name{color:#888;font-size:.9rem;margin-bottom:.5rem}.tags{gap:.5rem}.tag{background-color:#f0f0f0;color:#777}.tag.highlight{background-color:#fff0f0;color:#e53e3e}.item-right{text-align:right}.rate-info{align-items:flex-end;display:flex;flex-direction:column}.rate-max{color:#5844d1;font-size:1.25rem;font-weight:700}.rate-base{color:#888;font-size:.9rem}.pagination{margin-top:3rem}.pagination a{border-radius:8px;color:#555;font-weight:500;padding:.5rem 1rem;text-decoration:none}.pagination a:hover{background-color:#f0f0f0}.pagination a.active{background-color:#5844d1;color:#fff}.sort-dropdown-container{display:inline-block;position:relative}.sort-dropdown-button{align-items:center;background-color:initial;border:none;color:#555;cursor:pointer;display:flex;font-size:1.2rem;font-weight:600;gap:.3rem}.sort-dropdown-menu{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 12px #0000001a;list-style:none;margin:.5rem 0 0;padding:.5rem 0;position:absolute;right:0;top:100%;width:120px;z-index:10}.sort-dropdown-menu li{cursor:pointer;font-size:.9rem;padding:.7rem 1rem}.sort-dropdown-menu li:hover{background-color:#f4f2ff}.filter-item-container{position:relative}.filter-panel{background-color:#fff;border:1px solid #e9e9e9;border-radius:12px;box-shadow:0 8px 30px #0000001a;display:flex;flex-direction:column;gap:1.5rem;left:0;padding:1.5rem;position:absolute;top:calc(100% + 10px);width:320px;z-index:50}.panel-section h4{font-size:1rem;margin:0 0 1rem}.amount-input-group{align-items:center;border:1px solid #ddd;border-radius:8px;display:flex;padding:.5rem 1rem}.amount-input-group input{-moz-appearance:textfield;border:none;font-size:1rem;outline:none;width:100%}.amount-input-group input::-webkit-inner-spin-button,.amount-input-group input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.amount-input-group span{color:#555;font-size:1rem}.period-button-group{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(2,1fr)}.period-button{background-color:#f7f7f9;border:1px solid #ccc;border-radius:8px;color:#555;cursor:pointer;font-size:.9rem;padding:.6rem}.period-button.active{background-color:#e0dfff;border-color:#5844d1;color:#5844d1;font-weight:600}.panel-actions{justify-content:space-between;padding-top:1rem}.panel-actions button{align-items:center;border:1px solid;border-radius:8px;cursor:pointer;display:flex;flex:1 1;font-size:.9rem;font-weight:600;gap:.5rem;justify-content:center;padding:.6rem 1rem}.apply-button{background-color:#5844d1;border-color:#5844d1;color:#fff}.product-type-button-group{display:flex;flex-direction:column}.filter-panel.large{width:400px}.benefit-button-group{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(3,1fr)}.panel-disclaimer{color:#999;font-size:.8rem;margin-bottom:0;margin-top:0;text-align:center}.savings-item-link{color:inherit;display:block;text-decoration:none}.product-type-button-group{grid-template-columns:repeat(3,1fr)}.product-bank-type-button-group{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(3,1fr)}.product-category-button-group,.product-type-button-group{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(2,1fr)}.bank-modal-body{display:flex;flex-direction:column;gap:1rem}.bank-modal-tabs{border-bottom:1px solid #e0e0e0;display:flex}.bank-modal-tab{background:none;border:none;border-bottom:2px solid #0000;color:#888;cursor:pointer;font-size:1rem;font-weight:500;margin-bottom:-1px;padding:.8rem 1.2rem}.bank-modal-tab.active{border-bottom-color:#333;color:#333;font-weight:700}.bank-modal-header{display:flex;justify-content:flex-end;padding:.5rem 0}.bank-modal-header label{align-items:center;cursor:pointer;display:flex;font-size:.9rem;gap:.5rem}.bank-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(5,1fr);max-height:40vh;overflow-y:auto;padding:.5rem}.bank-item{align-items:center;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;padding:1rem .5rem;position:relative;transition:all .2s}.bank-item.active,.bank-item:hover{border-color:#5844d1}.bank-item.active{background-color:#f4f2ff;font-weight:600}.bank-item-logo{height:40px;margin-bottom:.75rem;width:40px}.bank-item-logo img{border-radius:50%;height:100%;object-fit:contain;width:100%}.bank-item-name{font-size:.9rem;text-align:center}.bank-item-plus{color:#ccc;font-size:1.2rem;font-weight:300;position:absolute;right:8px;top:8px}.bank-item.active .bank-item-plus{color:#5844d1}.bank-modal-footer{border-top:1px solid #e0e0e0;display:flex;margin-top:1rem;padding-top:1rem}.bank-modal-footer .confirm-button{background-color:#5844d1;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;padding:1rem;width:100%}.savings-detail-layout{align-items:center;background-color:#f9fafb;display:flex;flex-direction:column;min-height:100vh}.savings-detail-content{box-sizing:border-box;max-width:800px;padding:2rem;width:100%}.product-summary-card-new{background-color:#fff;border-radius:16px;box-shadow:0 4px 20px #0000000f;margin-bottom:2.5rem;padding:2rem}.summary-header-new{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.product-name-new{font-size:2rem;font-weight:700;margin:0 0 .5rem}.bank-name-new{color:#888;font-size:1rem}.bank-logo-new{align-items:center;background-color:#eee;border-radius:50%;color:#888;display:flex;font-size:1.5rem;height:50px;justify-content:center;width:50px}.tags-new{display:flex;gap:.5rem;margin-bottom:1.5rem}.tags-new .tag{background-color:#f0f0f0;border-radius:6px;font-size:.8rem;padding:.3rem .6rem}.rates-new{border-bottom:1px solid #f0f0f0;border-top:1px solid #f0f0f0;display:flex;margin-bottom:1.5rem;padding:1.5rem 0}.rate-item{flex:1 1;text-align:center}.rate-item:first-child{border-right:1px solid #f0f0f0}.rate-item span{color:#888;font-size:.9rem}.rate-item strong{color:#5844d1;display:block;font-size:1.5rem;font-weight:700}.rate-item small{color:#aaa;font-size:.8rem}.action-buttons-new{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.action-buttons-new button{border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;padding:1rem}.contact-btn{background-color:#f0f2f5;border:none}.official-site-btn{background-color:#5844d1;border:none;color:#fff}.tab-navigation{border-bottom:2px solid #eee;display:flex;margin-bottom:2rem}.tab-navigation button{background:none;border:none;border-bottom:3px solid #0000;color:#888;cursor:pointer;font-size:1.1rem;font-weight:600;margin-bottom:-2px;margin-right:2rem;padding:1rem 0}.tab-navigation button.active{border-bottom-color:#5844d1;color:#5844d1}.tab-content{background-color:#fff;border-radius:16px;box-shadow:0 4px 20px #0000000f;padding:2rem}.product-info-grid{display:flex;flex-direction:column}.info-row{border-bottom:1px solid #f0f0f0;display:flex;padding:1.2rem 0}.info-row:last-child{border-bottom:none}.info-label{color:#888;flex-shrink:0;width:120px}.info-value{line-height:1.6}.info-row.notice .info-value{color:#e53e3e}.rate-calculator{border-bottom:1px solid #f0f0f0;margin-bottom:2rem;padding-bottom:2rem}.rate-calculator h4{margin-top:0}.amount-input-wrapper{margin-bottom:1.5rem;position:relative}.amount-input-wrapper input{border:none;border-bottom:2px solid #333;font-size:2rem;font-weight:700;padding-right:2rem;text-align:right;width:95%}.amount-input-wrapper span{bottom:.5rem;font-size:1.2rem;position:absolute;right:0}.rate-options{display:flex;gap:1rem;margin-bottom:2rem}.rate-option{border:1px solid #eee;border-radius:8px;cursor:pointer;flex:1 1;padding:1rem;text-align:center}.rate-option.active{background-color:#f4f2ff;border-color:#5844d1}.rate-option span{color:#888}.rate-option strong{display:block;font-size:1.3rem;margin-top:.3rem}.calculation-result{border-top:1px solid #f0f0f0;padding-top:1rem}.result-row{display:flex;justify-content:space-between;padding:.5rem 0}.result-row .interest{color:#5844d1}.result-row .tax{color:#e53e3e}.final-amount{align-items:baseline;display:flex;justify-content:space-between;margin-top:1.5rem}.final-amount span{font-weight:600}.final-amount strong{color:#5844d1;font-size:1.8rem;font-weight:700}.rate-details h4{font-size:1.2rem}.rate-table{border-collapse:collapse;margin-bottom:2rem;width:100%}.rate-table td,.rate-table th{border:1px solid #eee;padding:.8rem;text-align:center}.rate-table th{background-color:#f8f9fa}.condition-list{list-style:none;padding:0}.condition-list li{display:flex;gap:1rem;margin-bottom:1rem}.condition-list strong{align-items:center;background-color:#f0f2f5;border-radius:50%;display:flex;flex-shrink:0;height:24px;justify-content:center;width:24px}.condition-list span{display:block}.condition-list small{color:#888}.policy-page-layout{align-items:center;background-color:#f9fafb;display:flex;flex-direction:column;min-height:100vh}.policy-content{box-sizing:border-box;max-width:1200px;padding:0 2rem 2rem;width:100%}.page-title{color:#222;font-size:2.2rem;font-weight:700;margin:2rem 0;text-align:left}.policy-filter-container{margin-bottom:2rem;position:relative}.policy-filter-bar{gap:1rem}.policy-filter-bar,.search-box{align-items:center;display:flex}.search-box{background-color:#fff;border:1px solid #ddd;border-radius:8px;flex-grow:1;padding:.6rem 1rem}.search-box .search-icon{color:#888;margin-right:.5rem}.search-box input{border:none;font-size:1rem;outline:none;width:100%}.filter-button{align-items:center;background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;display:flex;font-size:.95rem;font-weight:500;gap:.5rem;padding:.7rem 1.2rem;transition:all .2s ease;white-space:nowrap}.filter-button:hover{background-color:#f4f2ff;border-color:#c6b7ff}.filter-button.active{background-color:#5844d1;border-color:#5844d1;color:#fff}.policy-filter-panel{background-color:#fff;border:1px solid #e9e9e9;border-radius:12px;box-shadow:0 8px 30px #0000001a;left:0;padding:2rem;position:absolute;right:0;top:calc(100% + 10px);z-index:50}.panel-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(5,1fr);margin-bottom:2rem}.panel-category{display:flex;flex-direction:column}.category-header{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;gap:.5rem;margin-bottom:1rem;padding-bottom:1rem}.category-header svg{color:#5844d1;font-size:1.2rem}.category-header h4{font-size:1.1rem;margin:0}.subcategory-list{display:flex;flex-direction:column;gap:.8rem}.subcategory-item{align-items:center;display:flex}.subcategory-item input{margin-right:.5rem}.subcategory-item label{color:#555;cursor:pointer;font-size:.95rem}.subcategory-item input:checked+label{color:#5844d1;font-weight:600}.panel-actions{border-top:1px solid #f0f0f0;display:flex;gap:1rem;justify-content:center;margin-top:1rem;padding-top:1.5rem}button{cursor:pointer;font-family:inherit;transition:all .2s ease}.pagination button,.reset-button,.search-button{align-items:center;border:1px solid;border-radius:25px;display:flex;font-size:.95rem;font-weight:600;gap:.4rem;justify-content:center;padding:.6rem 1.4rem}.search-button{background-color:#5844d1;border-color:#5844d1;color:#fff}.search-button:hover{background-color:#4531ba}.reset-button{background-color:#fff;border-color:#ccc;color:#555}.reset-button:hover{background-color:#f5f5f5}.policy-list-info-bar{align-items:center;color:#555;display:flex;font-size:.9rem;justify-content:space-between;margin-bottom:1.5rem}.policy-grid{grid-column-gap:1rem;grid-row-gap:1rem;align-items:stretch;column-gap:1rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));row-gap:1rem}.policy-card-link{color:inherit;display:block;height:100%;text-decoration:none}.policy-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;display:flex;flex-direction:column;height:340px;justify-content:space-between;padding:16px;transition:box-shadow .2s ease}.policy-card:hover{box-shadow:0 4px 12px #00000014}.card-top{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.5rem .75rem;justify-content:space-between;margin-bottom:1rem}.status-badge{background-color:#f0f0f0;border-radius:4px;color:#555;font-size:.8rem;font-weight:500;line-height:1.2;padding:.2rem .6rem}.tags{display:flex;flex-wrap:wrap;gap:.3rem .5rem}.tag{background-color:#f4f2ff;border-radius:4px;color:#5844d1;font-size:.75rem;line-height:1.2;padding:.2rem .5rem}.policy-title{color:#111;font-size:16px;font-weight:600;line-height:1.4;margin-bottom:8px}.policy-description{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:#444;display:-webkit-box;flex-grow:1;font-size:14px;height:72px;line-height:1.6;overflow:hidden;text-overflow:ellipsis}.card-footer{border-top:1px solid #eee;color:#666;display:flex;font-size:13px;justify-content:space-between;margin-top:auto;padding-top:12px}.period-info{align-items:center;display:flex;font-size:.85rem;gap:.5rem;white-space:nowrap}.period-label{color:#888;flex-shrink:0;font-weight:500;width:60px}.period-date{color:#333;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pagination{align-items:center;display:flex;gap:.5rem;justify-content:center;margin-top:4rem}.pagination button{background-color:#fff;border-color:#ddd;border-radius:8px;color:#555;min-width:40px;padding:.5rem 1rem}.pagination button:hover{background-color:#f4f2ff;border-color:#c6b7ff}.pagination button.active{background-color:#5844d1;border-color:#5844d1;color:#fff}.personal-info-panel{background:#fff;border:1px solid #e5e5e5;border-radius:12px;margin-top:12px;padding:24px}.personal-info-grid{display:flex;flex-direction:column;gap:18px}.filter-row{align-items:flex-start;border-bottom:1px dashed #e5e5e5;display:flex;flex-wrap:wrap;gap:24px;padding-bottom:16px}.filter-row:last-child{border-bottom:none;padding-bottom:0}.filter-group{align-items:center;display:flex;gap:10px}.filter-group label{font-size:15px;font-weight:600;white-space:nowrap}.region-select-box{align-items:center;display:flex;gap:6px}.region-select-box select{background:#fff;border:1px solid #ccc;border-radius:6px;font-size:14px;padding:6px 10px}.region-select-button{background:#4f46e5;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:6px 12px;transition:background .2s ease}.region-select-button:hover{background:#4338ca}.age-group{align-items:center;display:flex;gap:6px}.age-group input{border:1px solid #ccc;border-radius:6px;font-size:14px;padding:6px;text-align:center;width:60px}.income-group{align-items:center;display:flex;gap:6px}.income-group input{border:1px solid #ccc;border-radius:6px;font-size:14px;padding:6px;text-align:center;width:90px}.tag-group{display:flex;flex:1 1;flex-wrap:wrap;gap:8px}.tag-button{background:#fff;border:1px solid #ddd;border-radius:16px;cursor:pointer;font-size:13px;padding:6px 14px;transition:all .15s ease}.tag-button:hover{background:#f3f4f6}.tag-button.active{background:#4f46e5;border-color:#4f46e5;color:#fff}.modal-overlay{align-items:center;background:#0006;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:999}.modal-container{background:#fff;border-radius:12px;box-shadow:0 8px 24px #00000026;max-height:80vh;overflow-y:auto;padding:24px;width:700px}.modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.modal-header h3{font-size:20px;font-weight:600;margin:0}.close-btn{background:none;border:none;cursor:pointer;font-size:24px;line-height:1}.modal-body h4{font-size:16px;font-weight:600;margin:12px 0}.region-columns{border:1px solid #ddd;border-radius:8px;display:flex;gap:24px;height:250px;overflow-y:auto;padding:12px}.region-list,.region-sublist{border-right:1px solid #eee;flex:1 1;padding-right:12px}.region-sublist{border-right:none}.region-list div,.region-sublist div{border-radius:6px;cursor:pointer;font-size:14px;padding:6px 4px}.region-list div:hover,.region-sublist div:hover{background:#f3f4f6}.selected-region-list{background:#fafafa;border:1px dashed #ccc;border-radius:6px;color:#555;font-size:13px;margin-top:12px;min-height:40px;padding:8px}.modal-footer{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.modal-footer button{background:#fff;border:1px solid #ccc;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:6px 12px;transition:all .2s ease}.modal-footer button:hover{background:#f9fafb}.modal-footer button.apply{background:#4f46e5;border-color:#4f46e5;color:#fff}.modal-footer button.apply:hover{background:#4338ca}.modal-footer button.reset{align-items:center;display:flex;gap:4px}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.back-button{align-items:center;background:none;border:none;color:#555;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;margin-bottom:2rem}.policy-detail-layout{background-color:#f9fafb;min-height:100vh}.policy-detail-content{background-color:#fff;margin:0 auto;max-width:900px;padding:2rem;width:100%}.breadcrumb{align-items:center;color:#555;display:flex;font-size:.9rem;gap:.5rem;margin-bottom:1rem}.breadcrumb a{color:inherit;text-decoration:none}.breadcrumb a:hover{text-decoration:underline}.main-title{border-bottom:2px solid #333;font-size:2rem;font-weight:700;margin-bottom:2rem;padding-bottom:1.5rem}.policy-header{align-items:center;display:flex;justify-content:space-between}.policy-tags{display:flex;gap:.5rem}.policy-tags span{border:1px solid #ccc;border-radius:4px;font-size:.9rem;font-weight:500;padding:.3rem .8rem}.policy-tags span:first-child{border-color:#5844d1;color:#5844d1}.policy-actions{display:flex;font-size:1.2rem;gap:1rem}.policy-actions button{background:none;border:none;color:#888;cursor:pointer}.policy-title-main{font-size:1.8rem;margin:1rem 0}.policy-meta{border-bottom:1px dashed #ccc;color:#888;font-size:.9rem;margin-bottom:1.5rem;padding-bottom:1.5rem}.meta-divider{margin:0 .5rem}.hashtag-container span{border:1px solid #ddd;border-radius:20px;display:inline-block;font-size:.9rem;margin-bottom:2rem;padding:.5rem 1rem}.policy-summary-box{background-color:#f8f9fa;border-radius:8px;line-height:1.6;margin-bottom:3rem;padding:1.5rem}.policy-section{margin-bottom:3rem}.policy-section h3{border-bottom:2px solid #333;font-size:1.5rem;margin-bottom:0;padding-bottom:1rem}.info-grid{display:flex;flex-direction:column}.info-row-detail{border-bottom:1px solid #f0f0f0;display:flex;font-size:1rem;padding:1.2rem 0}.info-label-detail{color:#555;flex-shrink:0;font-weight:500;padding-left:1rem;position:relative;width:150px}.info-label-detail:before{content:"·";left:0;position:absolute;top:0}.info-value-detail{line-height:1.6;overflow-wrap:break-word;word-break:break-all}.info-value-detail a{color:#5844d1;text-decoration:none}.info-value-detail a:hover{text-decoration:underline}.change-history{margin-top:2rem}.change-history h4{font-size:1.2rem}.change-history table{border-collapse:collapse;margin-top:1rem;width:100%}.change-history td,.change-history th{border:1px solid #eee;padding:.8rem;text-align:left}.change-history th{background-color:#f8f9fa}
/*# sourceMappingURL=main.732756f3.css.map*/