*{box-sizing:border-box;margin:0;padding:0}body{background-color:#f8f9fa;color:#333;font-family:Noto Sans KR,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}ul{list-style:none}.site-container{margin:0 auto;max-width:1200px;padding:0 20px}.site-header{background-color:#fff;border-bottom:2px solid #0284c7;box-shadow:0 4px 20px #0284c714;position:-webkit-sticky;position:sticky;top:0;z-index:1000}.site-nav{height:70px;justify-content:space-between;position:relative}.site-logo,.site-nav{align-items:center;display:flex}.site-logo{cursor:pointer}.logo-img{height:54px;object-fit:contain;width:auto}.desktop-grouped-nav{align-items:center;display:flex;gap:12px}.nav-item-link{align-items:center;border-radius:10px;color:#0f172a;display:inline-flex;font-size:.9rem;font-weight:700;gap:5px;padding:7px 12px;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);white-space:nowrap}.nav-item-link:hover{background-color:#e0f2fe;color:#0284c7;transform:translateY(-1px)}.nav-item-link.active{background:linear-gradient(135deg,#0284c7,#0369a1);box-shadow:0 4px 12px #0284c740;color:#fff!important}.nav-group-item{position:relative}.nav-group-btn{align-items:center;background:none;border:none;border-radius:10px;color:#0f172a;cursor:pointer;display:flex;font-size:.9rem;font-weight:700;gap:5px;padding:7px 12px;transition:all .2s cubic-bezier(.4,0,.2,1)}.stock-btn-link{text-decoration:none}.nav-group-btn:hover,.nav-group-item.active .nav-group-btn{background-color:#e0f2fe;color:#0284c7}.group-icon{font-size:1.15rem}.dropdown-arrow{color:#94a3b8;font-size:.8rem;transition:transform .2s}.nav-group-item.active .dropdown-arrow{transform:rotate(180deg)}.highlight-badge{background:linear-gradient(135deg,#0284c7,#0369a1);border-radius:12px;color:#fff;font-size:.72rem;font-weight:700;padding:2px 7px}.dropdown-menu{background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 12px 30px #0000001f;display:none;left:0;opacity:0;padding:16px;position:absolute;top:100%;transform:translateY(8px);transition:all .2s ease;z-index:1100}.fishing-dropdown{width:520px}.board-dropdown{width:500px}.manage-dropdown{left:auto;right:0;width:280px}.vertical-menu-list{display:flex;flex-direction:column;gap:6px}.vertical-menu-item{border-radius:8px;display:flex;flex-direction:column;padding:10px 14px;text-decoration:none;transition:background .15s ease}.vertical-menu-item:hover{background-color:#f1f5f9}.vertical-menu-item .item-title{color:#0f172a;font-size:.92rem;font-weight:700}.vertical-menu-item.partner:hover .item-title{color:#16a34a}.vertical-menu-item.captain:hover .item-title{color:#0284c7}.vertical-menu-item.admin:hover .item-title{color:#d97706}.vertical-menu-item .item-desc{color:#64748b;font-size:.76rem;margin-top:2px}.mobile-link-column{display:flex;flex-direction:column;gap:8px}.mobile-column-item{align-items:center;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;color:#0f172a;display:flex;font-size:.9rem;font-weight:700;padding:12px 16px;text-decoration:none;transition:all .2s ease}.mobile-column-item.partner{border-left:4px solid #16a34a}.mobile-column-item.captain{border-left:4px solid #0284c7}.mobile-column-item.admin{border-left:4px solid #d97706}.nav-group-item.active .dropdown-menu,.nav-group-item:hover .dropdown-menu{display:block;opacity:1;transform:translateY(0)}.dropdown-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,1fr)}.dropdown-link{border-radius:8px;display:flex;flex-direction:column;padding:10px 12px;transition:background .15s ease}.dropdown-link.single{width:100%}.dropdown-link:hover{background-color:#f8fafc}.link-title{color:#0f172a;font-size:.92rem;font-weight:700}.dropdown-link:hover .link-title{color:#0284c7}.link-desc{color:#64748b;font-size:.76rem;margin-top:2px}.site-user-menu{align-items:center;display:flex;flex-shrink:0;font-size:.9rem;gap:12px;white-space:nowrap}.home-icon-link{align-items:center;border-radius:50%;color:#475569;display:flex;padding:6px;transition:background .2s}.home-icon-link:hover{background-color:#f1f5f9;color:#0284c7}.admin-nav-link,.logout-link,.partner-nav-link,.user-nav-link{color:#475569;font-weight:600;transition:color .2s}.admin-nav-link:hover,.logout-link:hover,.partner-nav-link:hover,.user-nav-link:hover{color:#0284c7}.login-btn-link{align-items:center;background:linear-gradient(135deg,#0284c7,#0d9488);border:none;border-radius:20px;box-shadow:0 4px 14px #0284c74d;color:#fff;display:inline-flex;font-size:.88rem;font-weight:800;justify-content:center;line-height:1.2;padding:8px 18px;transition:all .2s ease;white-space:nowrap}.login-btn-link:hover{background:linear-gradient(135deg,#0369a1,#0f766e);box-shadow:0 6px 16px #0284c766;color:#fff;transform:translateY(-1px)}.mobile-hamburger-btn{background:none;border:none;color:#0f172a;cursor:pointer;display:none;padding:6px}.mobile-hamburger-btn .material-icons{font-size:30px}.mobile-nav-drawer{background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 10px 25px #00000026;display:none;flex-direction:column;gap:20px;left:0;max-height:calc(100vh - 70px);overflow-y:auto;padding:20px;position:absolute;right:0;top:70px;z-index:1050}.mobile-section{display:flex;flex-direction:column;gap:10px}.mobile-section-title{border-bottom:2px solid #e2e8f0;color:#0f172a;font-size:.95rem;font-weight:800;padding-bottom:6px}.mobile-link-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,1fr)}.mobile-grid-item{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#334155;font-size:.88rem;font-weight:600;padding:10px 12px;text-align:center;transition:background .15s}.mobile-grid-item:active,.mobile-grid-item:hover{background-color:#e0f2fe;border-color:#38bdf8;color:#0284c7}.mobile-stock-banner{align-items:center;background:linear-gradient(135deg,#0f172a,#0284c7);border-radius:10px;box-shadow:0 4px 12px #0284c740;color:#fff;display:flex;font-size:.92rem;font-weight:700;justify-content:space-between;padding:12px 16px}.mini-hot-badge{background-color:#ef4444;border-radius:10px;color:#fff;font-size:.7rem;font-weight:800;padding:2px 6px}.mobile-user-actions{display:flex;flex-wrap:wrap;gap:8px}.mobile-user-btn{background-color:#f1f5f9;border:1px solid #cbd5e1;border-radius:8px;color:#334155;flex:1 1;font-size:.88rem;font-weight:700;min-width:100px;padding:10px 14px;text-align:center}.mobile-user-btn.login{background-color:#0284c7;border-color:#0284c7;color:#fff}.mobile-user-btn.logout{background-color:#fef2f2;border-color:#fecaca;color:#dc2626;cursor:pointer}.mobile-user-btn.admin{background-color:#fef3c7;border-color:#fde68a;color:#b45309}.mobile-user-btn.partner{background-color:#f0fdf4;border-color:#bbf7d0;color:#15803d}@media (max-width:900px){.desktop-grouped-nav{display:none}.desktop-only{display:none!important}.mobile-hamburger-btn{align-items:center;display:flex;justify-content:center}.login-btn-link{font-size:.82rem;padding:6px 14px}.mobile-nav-drawer.open{display:flex}}:root{--swiper-theme-color:#007aff}:host{display:block;margin-left:auto;margin-right:auto;position:relative;z-index:1}.swiper{display:block;list-style:none;margin-left:auto;margin-right:auto;overflow:hidden;padding:0;position:relative;z-index:1}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{box-sizing:initial;display:flex;height:100%;position:relative;transition-property:transform;transition-timing-function:ease;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);width:100%;z-index:1}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{display:block;flex-shrink:0;height:100%;position:relative;transition-property:transform;width:100%}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translateZ(0)}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px;.swiper-cube-shadow,.swiper-slide{transform-style:preserve-3d}}.swiper-css-mode{>.swiper-wrapper{-ms-overflow-style:none;overflow:auto;scrollbar-width:none;&::-webkit-scrollbar{display:none}}>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}&.swiper-horizontal{>.swiper-wrapper{scroll-snap-type:x mandatory}>.swiper-wrapper>.swiper-slide:first-child{-webkit-margin-start:var(--swiper-slides-offset-before);margin-inline-start:var(--swiper-slides-offset-before);scroll-margin-inline-start:var(--swiper-slides-offset-before)}>.swiper-wrapper>.swiper-slide:last-child{-webkit-margin-end:var(--swiper-slides-offset-after);margin-inline-end:var(--swiper-slides-offset-after)}}&.swiper-vertical{>.swiper-wrapper{scroll-snap-type:y mandatory}>.swiper-wrapper>.swiper-slide:first-child{-webkit-margin-before:var(--swiper-slides-offset-before);margin-block-start:var(--swiper-slides-offset-before);scroll-margin-block-start:var(--swiper-slides-offset-before)}>.swiper-wrapper>.swiper-slide:last-child{-webkit-margin-after:var(--swiper-slides-offset-after);margin-block-end:var(--swiper-slides-offset-after)}}&.swiper-free-mode{>.swiper-wrapper{scroll-snap-type:none}>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}}&.swiper-centered{>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}}&.swiper-centered.swiper-horizontal{>.swiper-wrapper>.swiper-slide:first-child{-webkit-margin-start:var(--swiper-centered-offset-before);margin-inline-start:var(--swiper-centered-offset-before)}>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}}&.swiper-centered.swiper-vertical{>.swiper-wrapper>.swiper-slide:first-child{-webkit-margin-before:var(--swiper-centered-offset-before);margin-block-start:var(--swiper-centered-offset-before)}>.swiper-wrapper:before{height:var(--swiper-centered-offset-after);min-width:1px;width:100%}}}.swiper-3d{.swiper-slide-shadow,.swiper-slide-shadow-bottom,.swiper-slide-shadow-left,.swiper-slide-shadow-right,.swiper-slide-shadow-top{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:10}.swiper-slide-shadow{background:#00000026}.swiper-slide-shadow-left{background-image:linear-gradient(270deg,#00000080,#0000)}.swiper-slide-shadow-right{background-image:linear-gradient(90deg,#00000080,#0000)}.swiper-slide-shadow-top{background-image:linear-gradient(0deg,#00000080,#0000)}.swiper-slide-shadow-bottom{background-image:linear-gradient(180deg,#00000080,#0000)}}.swiper-lazy-preloader{border:4px solid #007aff;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top:4px solid #0000;box-sizing:border-box;height:42px;left:50%;margin-left:-21px;margin-top:-21px;position:absolute;top:50%;transform-origin:50%;width:42px;z-index:10}.swiper-watch-progress .swiper-slide-visible,.swiper:not(.swiper-watch-progress){.swiper-lazy-preloader{animation:swiper-preloader-spin 1s linear infinite}}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{align-items:center;color:var(--swiper-theme-color);color:var(--swiper-navigation-color,var(--swiper-theme-color));cursor:pointer;display:flex;height:44px;height:var(--swiper-navigation-size);justify-content:center;position:absolute;width:44px;width:var(--swiper-navigation-size);z-index:10;&.swiper-button-disabled{cursor:auto;opacity:.35;pointer-events:none}&.swiper-button-hidden{cursor:auto;opacity:0;pointer-events:none}.swiper-navigation-disabled &{display:none!important}::slotted(svg),svg{fill:currentColor;height:100%;object-fit:contain;pointer-events:none;transform-origin:center;width:100%}}.swiper-button-lock{display:none}.swiper-button-next,.swiper-button-prev{margin-top:-22px;margin-top:calc(0px - var(--swiper-navigation-size)/2);top:50%;top:var(--swiper-navigation-top-offset,50%)}.swiper-button-prev{left:4px;left:var(--swiper-navigation-sides-offset,4px);right:auto;.swiper-navigation-icon,::slotted(.swiper-navigation-icon){transform:rotate(180deg)}}.swiper-button-next{left:auto;right:4px;right:var(--swiper-navigation-sides-offset,4px)}.swiper-horizontal{.swiper-button-next,.swiper-button-prev,~.swiper-button-next,~.swiper-button-prev{margin-left:0;margin-top:-22px;margin-top:calc(0px - var(--swiper-navigation-size)/2);top:50%;top:var(--swiper-navigation-top-offset,50%)}&.swiper-rtl .swiper-button-next,&.swiper-rtl~.swiper-button-next,&~.swiper-button-prev,.swiper-button-prev{left:4px;left:var(--swiper-navigation-sides-offset,4px);right:auto}&.swiper-rtl .swiper-button-prev,&.swiper-rtl~.swiper-button-prev,&~.swiper-button-next,.swiper-button-next{left:auto;right:4px;right:var(--swiper-navigation-sides-offset,4px)}&.swiper-rtl .swiper-button-next,&.swiper-rtl~.swiper-button-next,&~.swiper-button-prev,.swiper-button-prev{.swiper-navigation-icon,::slotted(.swiper-navigation-icon){transform:rotate(180deg)}}&.swiper-rtl .swiper-button-prev,&.swiper-rtl~.swiper-button-prev{.swiper-navigation-icon,::slotted(.swiper-navigation-icon){transform:rotate(0deg)}}}.swiper-vertical{.swiper-button-next,.swiper-button-prev,~.swiper-button-next,~.swiper-button-prev{left:50%;left:var(--swiper-navigation-top-offset,50%);margin-left:-22px;margin-left:calc(0px - var(--swiper-navigation-size)/2);margin-top:0;right:auto}.swiper-button-prev,~.swiper-button-prev{bottom:auto;top:4px;top:var(--swiper-navigation-sides-offset,4px);.swiper-navigation-icon,::slotted(.swiper-navigation-icon){transform:rotate(-90deg)}}.swiper-button-next,~.swiper-button-next{bottom:4px;bottom:var(--swiper-navigation-sides-offset,4px);top:auto;.swiper-navigation-icon,::slotted(.swiper-navigation-icon){transform:rotate(90deg)}}}.swiper-pagination{position:absolute;text-align:center;transform:translateZ(0);transition:opacity .3s;z-index:10;&.swiper-pagination-hidden{opacity:0}&.swiper-pagination-disabled,.swiper-pagination-disabled>&{display:none!important}}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:8px;bottom:var(--swiper-pagination-bottom,8px);left:0;top:auto;top:var(--swiper-pagination-top,auto);width:100%}.swiper-pagination-bullets-dynamic{font-size:0;overflow:hidden;.swiper-pagination-bullet{position:relative;transform:scale(.33)}.swiper-pagination-bullet-active,.swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullet-active-next-next{transform:scale(.33)}}.swiper-pagination-bullet{background:#000;background:var(--swiper-pagination-bullet-inactive-color,#000);border-radius:50%;border-radius:var(--swiper-pagination-bullet-border-radius,50%);display:inline-block;height:8px;height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));opacity:.2;opacity:var(--swiper-pagination-bullet-inactive-opacity,.2);width:8px;width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));button&{-webkit-appearance:none;appearance:none;border:none;box-shadow:none;margin:0;padding:0}.swiper-pagination-clickable &{cursor:pointer}&:only-child{display:none!important}}.swiper-pagination-bullet-active{background:var(--swiper-theme-color);background:var(--swiper-pagination-color,var(--swiper-theme-color));opacity:1;opacity:var(--swiper-pagination-bullet-opacity,1)}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{left:auto;left:var(--swiper-pagination-left,auto);right:8px;right:var(--swiper-pagination-right,8px);top:50%;transform:translate3d(0,-50%,0);.swiper-pagination-bullet{display:block;margin:6px 0;margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0}&.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px;.swiper-pagination-bullet{display:inline-block;transition:transform .2s,top .2s}}}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets{.swiper-pagination-bullet{margin:0 4px;margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}&.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap;.swiper-pagination-bullet{transition:transform .2s,left .2s}}}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:transform .2s,right .2s}.swiper-pagination-fraction{color:inherit;color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:#00000040;background:var(--swiper-pagination-progressbar-bg-color,#00000040);position:absolute;.swiper-pagination-progressbar-fill{background:var(--swiper-theme-color);background:var(--swiper-pagination-color,var(--swiper-theme-color));height:100%;left:0;position:absolute;top:0;transform:scale(0);transform-origin:left top;width:100%}.swiper-rtl & .swiper-pagination-progressbar-fill{transform-origin:right top}&.swiper-pagination-horizontal,&.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-horizontal>&,.swiper-vertical>&.swiper-pagination-progressbar-opposite{height:4px;height:var(--swiper-pagination-progressbar-size,4px);left:0;top:0;width:100%}&.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,&.swiper-pagination-vertical,.swiper-horizontal>&.swiper-pagination-progressbar-opposite,.swiper-vertical>&{height:100%;left:0;top:0;width:4px;width:var(--swiper-pagination-progressbar-size,4px)}}.swiper-pagination-lock{display:none}.search-refine-bar{border-bottom:1px solid #e2e8f0;box-shadow:0 2px 8px #0000000a;padding:14px 0;position:-webkit-sticky;position:sticky;top:70px;z-index:900}.refine-search-box,.search-refine-bar{background-color:#fff;box-sizing:border-box;width:100%}.refine-search-box{align-items:flex-end;display:flex;gap:12px}.refine-input-group{box-sizing:border-box;display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:0}.refine-group-personnel{flex:0 0 90px;max-width:90px}.refine-label{color:#64748b;font-size:.78rem;font-weight:700;margin:0;padding-left:2px}.refine-input{background-color:#fff;border:1px solid #cbd5e1;border-radius:8px;box-sizing:border-box;color:#1e293b;font-size:.92rem;height:42px;margin:0;outline:none;padding:0 12px;transition:all .2s ease;width:100%}.refine-input:focus{border-color:#0284c7;box-shadow:0 0 0 3px #0284c726}.refine-search-btn{align-items:center;align-self:flex-end;background:linear-gradient(135deg,#0284c7,#0369a1);border:none;border-radius:8px;box-shadow:0 2px 4px #0284c733;box-sizing:border-box;color:#fff;cursor:pointer;display:inline-flex;flex:0 0 auto;font-size:.95rem;font-weight:700;height:42px;justify-content:center;margin:0;padding:0 24px;transition:all .2s ease;white-space:nowrap}.refine-search-btn:hover{background:linear-gradient(135deg,#0369a1,#075985);box-shadow:0 4px 8px #0284c74d;transform:translateY(-1px)}.refine-search-btn:active{transform:translateY(0)}@media (max-width:768px){.search-refine-bar{padding:12px 15px;position:static;top:0}.refine-search-box{flex-wrap:wrap;gap:10px}.refine-input-group{min-width:calc(50% - 5px)}.refine-group-personnel,.refine-input-group{flex-basis:calc(50% - 5px);flex-grow:1;flex-shrink:1}.refine-group-personnel{max-width:none}.refine-search-btn{flex:1 1 100%;margin-top:4px;width:100%}}.login-page-wrapper{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:20px}.login-wrapper{background-color:#fff;border-radius:15px;box-shadow:0 10px 30px #0000001a;max-width:450px;padding:50px 40px;width:100%}.login-header{margin-bottom:40px;text-align:center}.logo{color:#0056b3;display:inline-block;font-size:2.5rem;margin-bottom:10px}.login-title{color:#666;font-size:1.1rem}.input-group{margin-bottom:15px}.input-field{border:1px solid #ddd;border-radius:8px;font-family:Noto Sans KR,sans-serif;font-size:1rem;padding:15px 20px;transition:border-color .3s,box-shadow .3s;width:100%}.input-field:focus{border-color:#0056b3;box-shadow:0 0 0 3px #0056b333;outline:none}.login-options{color:#666;display:flex;font-size:.9rem;justify-content:flex-start;margin-bottom:20px}.checkbox-label input{margin-right:8px}.login-btn{background-color:#0056b3;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:700;padding:15px;transition:background-color .3s;width:100%}.login-btn:hover{background-color:#004494}.login-helpers{color:#999;display:flex;font-size:.9rem;justify-content:center;margin-top:20px}.login-helpers a{margin:0 15px;transition:color .3s}.login-helpers a:hover{color:#333}.helper-divider{color:#eee}.divider{align-items:center;color:#999;display:flex;font-size:.9rem;margin:40px 0 25px;text-align:center}.divider:after,.divider:before{border-bottom:1px solid #eee;content:"";flex:1 1}.divider:before{margin-right:15px}.divider:after{margin-left:15px}.social-login{display:flex;flex-direction:column;gap:12px}.social-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:1rem;font-weight:500;justify-content:center;padding:12px;transition:opacity .3s}.social-btn:hover{opacity:.9}.kakao-btn{background-color:#fee500;color:#191919}.naver-btn{background-color:#03c75a;color:#fff}.icon{height:20px;margin-right:10px;width:20px}@media (max-width:480px){.login-wrapper{padding:40px 25px}.logo{font-size:2.2rem}}.test-accounts-box{background-color:#f8f9fa;border:1px dashed #0056b3;border-radius:10px;margin-top:25px;padding:16px;text-align:center}.test-accounts-title{color:#0056b3;font-size:.9rem;font-weight:700;margin-bottom:12px}.test-btn-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr}.test-login-btn{background-color:#fff;border:1px solid #ced4da;border-radius:6px;color:#333;cursor:pointer;font-size:.88rem;font-weight:600;padding:10px 8px;transition:all .2s ease-in-out}.test-login-btn:hover{background-color:#e9ecef;border-color:#adb5bd}.test-login-btn.active{background-color:#e7f1ff;border-color:#0056b3;box-shadow:0 0 0 2px #0056b340}.test-login-btn.admin.active,.test-login-btn.admin:hover{background-color:#fff3cd;border-color:#ffc107;color:#856404}.test-login-btn.partner.active,.test-login-btn.partner:hover{background-color:#d1ecf1;border-color:#17a2b8;color:#0c5460}.test-login-btn.captain.active,.test-login-btn.captain:hover{background-color:#d4edda;border-color:#28a745;color:#155724}.test-login-btn.user.active,.test-login-btn.user:hover{background-color:#e2e3e5;border-color:#6c757d;color:#383d41}.test-quick-login-row{align-items:center;border-top:1px dashed #dee2e6;display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:14px;padding-top:10px}.quick-label{color:#495057;font-size:.8rem;font-weight:700}.quick-chip{border:none;border-radius:12px;cursor:pointer;font-size:.78rem;font-weight:600;padding:4px 10px;transition:all .2s ease-in-out}.quick-chip.admin{background-color:#ffc107;color:#212529}.quick-chip.partner{background-color:#17a2b8;color:#fff}.quick-chip.captain{background-color:#28a745;color:#fff}.quick-chip.user{background-color:#6c757d;color:#fff}.quick-chip:hover{opacity:.9;transform:scale(1.05)}.fish-modal-overlay{align-items:center;animation:fadeIn .25s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#0f172abf;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:9999}.fish-modal-content{background:#fff;border-radius:16px;box-shadow:0 20px 25px -5px #0003,0 10px 10px -5px #0000001a;max-height:90vh;max-width:680px;overflow-y:auto;position:relative;width:100%}.fish-modal-close{align-items:center;background:#0006;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:24px;height:34px;justify-content:center;position:absolute;right:16px;top:14px;transition:background .2s;width:34px;z-index:10}.fish-modal-close:hover{background:#000000b3}.fish-modal-error,.fish-modal-loading{padding:40px;text-align:center}.fish-modal-header-banner{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-bottom:1px solid #e2e8f0;display:flex;flex-direction:column;gap:16px;padding:20px}@media (min-width:576px){.fish-modal-header-banner{align-items:center;flex-direction:row}}.fish-image-wrapper{background-color:#fff;border:1px solid #cbd5e1;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;flex-shrink:0;height:150px;margin:0 auto;max-width:220px;overflow:hidden;padding:6px;width:100%}.fish-main-image{border-radius:8px;height:100%;object-fit:contain;width:100%}.fish-title-meta{flex:1 1}.fish-badge-group{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.fish-tag{border-radius:20px;font-size:.75rem;font-weight:600;padding:4px 8px}.fish-tag.water-9100{background-color:#0284c7;color:#fff}.fish-tag.water-9200{background-color:#059669;color:#fff}.fish-tag.category{background-color:#e2e8f0;color:#334155}.fish-tag.season{background-color:#fef08a;color:#854d0e}.fish-name{color:#0f172a;font-size:1.5rem;margin:4px 0}.fish-scientific-name{color:#64748b;font-size:.875rem;margin-bottom:6px}.fish-size-info{color:#1e293b;font-size:.95rem}.fish-alert-box{align-items:flex-start;background-color:#fff1f2;border:1px solid #fecdd3;border-left:5px solid #e11d48;border-radius:8px;display:flex;gap:12px;margin:16px 20px 0;padding:12px 16px}.fish-alert-icon{font-size:1.3rem}.fish-alert-text strong{color:#be123c;display:block;font-size:.9rem;margin-bottom:2px}.fish-alert-text p{color:#881337;font-size:.875rem;margin:0}.fish-details-section{display:flex;flex-direction:column;gap:16px;padding:20px}.fish-detail-item h3{align-items:center;color:#0369a1;display:flex;font-size:1.05rem;font-weight:700;gap:6px;margin-bottom:6px}.fish-detail-item p{color:#334155;font-size:.95rem;line-height:1.6;margin:0}.fish-detail-item .highlight-text{background-color:#f0f9ff;border-left:3px solid #0284c7;border-radius:8px;padding:10px 14px}.fish-description{white-space:pre-line}.fish-modal-footer{background-color:#f8fafc;border-top:1px solid #e2e8f0;display:flex;gap:10px;justify-content:flex-end;padding:16px 20px}.btn-search-products{background:linear-gradient(135deg,#0284c7,#0369a1);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 18px;transition:opacity .2s}.btn-search-products:hover{opacity:.9}.btn-close-modal{background:#e2e8f0;border:none;border-radius:8px;color:#334155;cursor:pointer;font-weight:600;padding:10px 18px}.btn-close-modal:hover{background:#cbd5e1}@keyframes fadeIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}

/*!
 * Quill Editor v1.3.7
 * https://quilljs.com/
 * Copyright (c) 2014, Jason Chen
 * Copyright (c) 2013, salesforce.com
 */.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container.ql-disabled .ql-editor ul[data-checked]>li:before{pointer-events:none}.ql-clipboard{height:1px;left:-100000px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{word-wrap:break-word;box-sizing:border-box;height:100%;line-height:1.42;outline:none;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap}.ql-editor>*{cursor:text}.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6,.ql-editor ol,.ql-editor p,.ql-editor pre,.ql-editor ul{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;margin:0;padding:0}.ql-editor ol,.ql-editor ul{padding-left:1.5em}.ql-editor ol>li,.ql-editor ul>li{list-style-type:none}.ql-editor ul>li:before{content:"\2022"}.ql-editor ul[data-checked=false],.ql-editor ul[data-checked=true]{pointer-events:none}.ql-editor ul[data-checked=false]>li *,.ql-editor ul[data-checked=true]>li *{pointer-events:all}.ql-editor ul[data-checked=false]>li:before,.ql-editor ul[data-checked=true]>li:before{color:#777;cursor:pointer;pointer-events:all}.ql-editor ul[data-checked=true]>li:before{content:"\2611"}.ql-editor ul[data-checked=false]>li:before{content:"\2610"}.ql-editor li:before{display:inline-block;white-space:nowrap;width:1.2em}.ql-editor li:not(.ql-direction-rtl):before{margin-left:-1.5em;margin-right:.3em;text-align:right}.ql-editor li.ql-direction-rtl:before{margin-left:.3em;margin-right:-1.5em}.ql-editor ol li:not(.ql-direction-rtl),.ql-editor ul li:not(.ql-direction-rtl){padding-left:1.5em}.ql-editor ol li.ql-direction-rtl,.ql-editor ul li.ql-direction-rtl{padding-right:1.5em}.ql-editor ol li{counter-increment:list-0;counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li:before{content:counter(list-0,decimal) ". "}.ql-editor ol li.ql-indent-1{counter-increment:list-1}.ql-editor ol li.ql-indent-1:before{content:counter(list-1,lower-alpha) ". "}.ql-editor ol li.ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-2{counter-increment:list-2}.ql-editor ol li.ql-indent-2:before{content:counter(list-2,lower-roman) ". "}.ql-editor ol li.ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-3{counter-increment:list-3}.ql-editor ol li.ql-indent-3:before{content:counter(list-3,decimal) ". "}.ql-editor ol li.ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-4{counter-increment:list-4}.ql-editor ol li.ql-indent-4:before{content:counter(list-4,lower-alpha) ". "}.ql-editor ol li.ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-5{counter-increment:list-5}.ql-editor ol li.ql-indent-5:before{content:counter(list-5,lower-roman) ". "}.ql-editor ol li.ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-6{counter-increment:list-6}.ql-editor ol li.ql-indent-6:before{content:counter(list-6,decimal) ". "}.ql-editor ol li.ql-indent-6{counter-reset:list-7 list-8 list-9}.ql-editor ol li.ql-indent-7{counter-increment:list-7}.ql-editor ol li.ql-indent-7:before{content:counter(list-7,lower-alpha) ". "}.ql-editor ol li.ql-indent-7{counter-reset:list-8 list-9}.ql-editor ol li.ql-indent-8{counter-increment:list-8}.ql-editor ol li.ql-indent-8:before{content:counter(list-8,lower-roman) ". "}.ql-editor ol li.ql-indent-8{counter-reset:list-9}.ql-editor ol li.ql-indent-9{counter-increment:list-9}.ql-editor ol li.ql-indent-9:before{content:counter(list-9,decimal) ". "}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow .ql-toolbar:after,.ql-snow.ql-toolbar:after{clear:both;content:"";display:table}.ql-snow .ql-toolbar button,.ql-snow.ql-toolbar button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow .ql-toolbar button svg,.ql-snow.ql-toolbar button svg{float:left;height:100%}.ql-snow .ql-toolbar button:active:hover,.ql-snow.ql-toolbar button:active:hover{outline:none}.ql-snow .ql-toolbar input.ql-image[type=file],.ql-snow.ql-toolbar input.ql-image[type=file]{display:none}.ql-snow .ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar button.ql-active,.ql-snow .ql-toolbar button:focus,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar button.ql-active,.ql-snow.ql-toolbar button:focus,.ql-snow.ql-toolbar button:hover{color:#06c}.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill{fill:#06c}.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter{stroke:#06c}@media (pointer:coarse){.ql-snow .ql-toolbar button:hover:not(.ql-active),.ql-snow.ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:"";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-stroke.ql-thin,.ql-snow .ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor pre{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor pre{margin-bottom:5px;margin-top:5px;padding:5px 10px;white-space:pre-wrap}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor pre.ql-syntax{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label:before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;padding:2px 4px;width:24px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid #0000;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{margin-top:-9px;position:absolute;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=""]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-item:before,.ql-snow .ql-picker.ql-header .ql-picker-label:before{content:"Normal"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]:before{content:"Heading 1"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]:before{content:"Heading 2"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]:before{content:"Heading 3"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]:before{content:"Heading 4"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]:before{content:"Heading 5"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]:before{content:"Heading 6"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-item:before,.ql-snow .ql-picker.ql-font .ql-picker-label:before{content:"Sans Serif"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before{content:"Serif"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before{content:"Monospace"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-item:before,.ql-snow .ql-picker.ql-size .ql-picker-label:before{content:"Normal"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before{content:"Small"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before{content:"Large"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before{content:"Huge"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid #0000}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid #0000;box-shadow:0 2px 8px #0003}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip:before{content:"Visit URL:";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{border:1px solid #ccc;display:none;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action:after{border-right:1px solid #ccc;content:"Edit";margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:"Remove";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{border-right:0;content:"Save";padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:"Enter link:"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:"Enter formula:"}.ql-snow .ql-tooltip[data-mode=video]:before{content:"Enter video:"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}.admin-settlement-container{background-color:#f8fafc;min-height:100vh;padding:24px}.admin-settlement-content{display:flex;flex-direction:column;gap:20px;margin:0 auto;max-width:1300px}.alert-banner{align-items:center;border-radius:8px;display:flex;font-size:.92rem;font-weight:700;justify-content:space-between;padding:12px 18px}.alert-banner.success{background-color:#f0fdf4;border:1px solid #bbf7d0;color:#15803d}.alert-banner.error{background-color:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.alert-banner button{background:none;border:none;color:inherit;cursor:pointer;font-weight:700}.settlement-kpi-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr)}.kpi-card{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 4px 12px #0000000d;display:flex;gap:16px;padding:20px;transition:transform .2s ease}.kpi-card:hover{transform:translateY(-2px)}.kpi-icon{align-items:center;display:flex;justify-content:center}.kpi-title{color:#64748b;font-size:.82rem;font-weight:700;text-transform:uppercase}.kpi-value{font-size:1.35rem;margin-top:4px}.kpi-value.highlight{color:#0284c7}.pending-text{color:#d97706;font-size:.95rem}.settlement-action-bar{background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 4px 12px #00000008;gap:16px;justify-content:space-between;padding:16px 20px}.action-left,.settlement-action-bar{align-items:center;display:flex;flex-wrap:wrap}.action-left{gap:12px}.search-box{align-items:center;display:flex;position:relative}.search-box input{border:1px solid #cbd5e1;border-radius:8px;font-size:.9rem;outline:none;padding:9px 36px;width:260px}.search-box input:focus{border-color:#0284c7}.search-box .search-icon{font-size:.9rem;left:10px;position:absolute}.search-box .clear-btn{background:none;border:none;color:#94a3b8;cursor:pointer;position:absolute;right:10px}.filter-select{background-color:#fff;border:1px solid #cbd5e1;border-radius:8px;font-size:.9rem;font-weight:600;outline:none;padding:9px 12px}.date-filter-tabs{background-color:#f1f5f9;border-radius:8px;display:flex;gap:2px;padding:3px}.tab-btn{background:none;border-radius:6px;font-size:.84rem;padding:6px 12px}.tab-btn.active{box-shadow:0 2px 4px #00000014}.action-right{align-items:center;display:flex;gap:10px}.batch-exec-btn{background:linear-gradient(135deg,#0284c7,#0369a1);border:none;border-radius:8px;box-shadow:0 4px 10px #0284c740;color:#fff;cursor:pointer;font-size:.9rem;font-weight:700;padding:10px 18px;transition:all .2s}.batch-exec-btn:hover{background:linear-gradient(135deg,#0369a1,#075985);transform:translateY(-1px)}.batch-exec-btn:disabled{cursor:not-allowed;opacity:.6}.export-btn{background-color:#16a34a;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:700;padding:10px 16px;transition:background .2s}.export-btn:hover{background-color:#15803d}.settlement-table-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 4px 12px #0000000a;overflow:hidden}.settlement-table{border-collapse:collapse;font-size:.88rem;text-align:left;width:100%}.settlement-table th{background-color:#f1f5f9;border-bottom:2px solid #e2e8f0;color:#475569;font-weight:700;padding:14px 16px;white-space:nowrap}.settlement-table td{border-bottom:1px solid #e2e8f0;color:#334155;padding:14px 16px;vertical-align:middle}.settlement-table tr:hover{background-color:#f8fafc}.partner-name{color:#0f172a}.biz-num{color:#64748b;font-family:monospace}.account-info{display:flex;flex-direction:column;font-size:.82rem}.account-info .bank{color:#0284c7;font-weight:700}.account-info .acc-num{font-family:monospace}.account-info .holder{color:#64748b}.product-name{max-width:180px;overflow:hidden;text-overflow:ellipsis}.amount,.product-name{white-space:nowrap}.amount.sales{color:#475569}.amount.comm{color:#d97706;font-weight:600}.amount.net{color:#16a34a}.status-badge{display:inline-block;font-size:.76rem;font-weight:800;padding:4px 10px}.status-badge.completed{background-color:#dcfce7;color:#15803d}.status-badge.pending{background-color:#fef3c7;color:#b45309}@media (max-width:1024px){.settlement-kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.settlement-kpi-grid{grid-template-columns:1fr}.settlement-action-bar{align-items:stretch;flex-direction:column}.action-left,.action-right{flex-direction:column;width:100%}.search-box input{width:100%}}.admin-analytics-container{background-color:#f8fafc;min-height:100vh;padding:24px}.admin-analytics-content{display:flex;flex-direction:column;gap:24px;margin:0 auto;max-width:1300px}.loading-box{color:#64748b;font-size:1.1rem;font-weight:700;padding:80px;text-align:center}.analytics-control-bar{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 4px 12px #00000008;display:flex;justify-content:space-between;padding:16px 24px}.range-selector{align-items:center;display:flex;gap:8px}.control-label{font-size:.9rem;margin-right:4px}.control-label,.range-btn{color:#475569;font-weight:700}.range-btn{background:#f1f5f9;border:1px solid #cbd5e1;border-radius:8px;cursor:pointer;font-size:.85rem;padding:7px 14px;transition:all .2s}.range-btn.active{background-color:#0284c7;border-color:#0284c7;box-shadow:0 2px 6px #0284c740;color:#fff}.download-report-btn{background-color:#16a34a;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.88rem;font-weight:700;padding:9px 18px;transition:background .2s}.download-report-btn:hover{background-color:#15803d}.analytics-kpi-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr)}.analytics-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 4px 12px #0000000a;display:flex;flex-direction:column;padding:22px;transition:transform .2s ease}.analytics-card:hover{transform:translateY(-2px)}.card-label{color:#64748b;font-size:.82rem;font-weight:700;text-transform:uppercase}.growth-badge.positive{background-color:#dcfce7;color:#15803d}.badge-blue,.growth-badge.positive{border-radius:10px;font-size:.76rem;font-weight:800;padding:2px 8px}.badge-blue{background-color:#e0f2fe;color:#0284c7}.badge-gray{background-color:#f1f5f9;color:#475569}.badge-gray,.badge-green{border-radius:10px;font-size:.76rem;font-weight:800;padding:2px 8px}.badge-green{background-color:#f0fdf4;color:#16a34a}.card-number{color:#0f172a;font-size:1.6rem;font-weight:800;margin-top:10px}.card-number .unit{color:#64748b;font-size:1rem;font-weight:600}.card-subtext{color:#94a3b8;font-size:.78rem;margin-top:6px}.analytics-main-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:2fr 1fr}.chart-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 4px 12px #0000000a;display:flex;flex-direction:column;padding:22px}.card-header-bar{margin-bottom:20px}.card-header-bar h4{color:#0f172a;font-size:1.05rem;font-weight:800}.bar-chart-container{align-items:flex-end;border-bottom:2px solid #e2e8f0;display:flex;height:220px;justify-content:space-around;padding:20px 10px 10px}.bar-column{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:flex-end;width:14%}.bar-value{color:#0284c7;font-size:.75rem;font-weight:700;margin-bottom:6px}.bar-wrapper{align-items:flex-end;background-color:#f1f5f9;border-radius:8px 8px 0 0;display:flex;height:80%;overflow:hidden;width:32px}.bar-fill.sales{background:linear-gradient(180deg,#38bdf8,#0284c7);border-radius:8px 8px 0 0;position:relative;transition:height .5s ease;width:100%}.bar-fill.comm{background-color:#f59e0b;bottom:0;position:absolute;width:100%}.bar-label{color:#475569;font-size:.8rem;font-weight:700;margin-top:8px}.bar-sublabel{color:#94a3b8;font-size:.72rem}.chart-legend{color:#64748b;display:flex;font-size:.82rem;font-weight:600;gap:20px;justify-content:center;margin-top:16px}.legend-item{align-items:center;display:flex;gap:6px}.legend-box{border-radius:3px;height:12px;width:12px}.legend-box.sales{background-color:#0284c7}.legend-box.comm{background-color:#f59e0b}.region-list{gap:16px}.region-item,.region-list{display:flex;flex-direction:column}.region-item{gap:6px}.region-info-top{color:#334155;display:flex;font-size:.9rem;justify-content:space-between}.region-name{font-weight:700}.region-stats{color:#64748b}.progress-track{background-color:#f1f5f9;border-radius:5px;height:10px;overflow:hidden;width:100%}.progress-fill{background:linear-gradient(90deg,#0284c7,#38bdf8);border-radius:5px;height:100%}.region-sales-text{color:#94a3b8;font-size:.76rem;text-align:right}.analytics-sub-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:2fr 1fr}.species-card,.table-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 4px 12px #0000000a;padding:22px}.table-wrapper{overflow-x:auto}.analytics-table{border-collapse:collapse;font-size:.88rem;text-align:left;width:100%}.analytics-table th{background-color:#f8fafc;border-bottom:2px solid #e2e8f0;color:#475569;font-weight:700;padding:12px 14px}.analytics-table td{border-bottom:1px solid #e2e8f0;color:#334155;padding:12px 14px}.rank-td{text-align:center;width:50px}.rank-badge{align-items:center;background-color:#e2e8f0;border-radius:50%;color:#475569;display:inline-flex;font-size:.78rem;font-weight:800;height:24px;justify-content:center;width:24px}.rank-badge.rank-1{background-color:#fef08a;color:#854d0e}.rank-badge.rank-2{background-color:#e2e8f0;color:#334155}.rank-badge.rank-3{background-color:#ffedd5;color:#9a3412}.product-td{color:#0f172a}.bold,.product-td{font-weight:700}.revenue-td{color:#16a34a;font-weight:800}.species-list{gap:16px}.species-item,.species-list{display:flex;flex-direction:column}.species-item{gap:6px}.species-top{color:#0f172a;display:flex;font-size:.9rem;font-weight:700;justify-content:space-between}.species-pct{color:#0284c7}.species-progress-bar{background-color:#f1f5f9;border-radius:4px;height:8px;overflow:hidden;width:100%}.species-fill{background:linear-gradient(90deg,#10b981,#34d399);border-radius:4px;height:100%}@media (max-width:1024px){.analytics-kpi-grid{grid-template-columns:repeat(2,1fr)}.analytics-main-grid,.analytics-sub-grid{grid-template-columns:1fr}}@media (max-width:640px){.analytics-kpi-grid{grid-template-columns:1fr}.analytics-control-bar{align-items:stretch;flex-direction:column;gap:12px}}.admin-support-container{background-color:#f8fafc;min-height:100vh;padding:24px}.admin-support-content{display:flex;flex-direction:column;gap:20px;margin:0 auto;max-width:1300px}.cs-toast{align-items:center;background-color:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;color:#15803d;display:flex;font-size:.92rem;font-weight:700;justify-content:space-between;padding:12px 18px}.cs-toast button{background:none;border:none;color:inherit;cursor:pointer;font-weight:700}.cs-kpi-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr)}.cs-kpi-card{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 4px 12px #0000000a;display:flex;gap:16px;padding:20px;transition:transform .2s ease}.cs-kpi-card:hover{transform:translateY(-2px)}.cs-kpi-card.pending{border-left:5px solid #ef4444}.cs-kpi-card.completed{border-left:5px solid #10b981}.kpi-icon{background-color:#f1f5f9;border-radius:12px;font-size:2rem;padding:12px}.kpi-body{display:flex;flex-direction:column}.kpi-label{color:#64748b;font-size:.82rem}.kpi-num{color:#0f172a;font-size:1.4rem;font-weight:800;margin-top:2px}.pending-color{color:#ef4444}.completed-color{color:#10b981}.cs-control-bar{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 4px 12px #00000008;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding:16px 20px}.filter-tabs{display:flex;gap:8px}.tab-btn{background:#f1f5f9;border:1px solid #cbd5e1;color:#475569;font-size:.88rem;font-weight:700}.tab-btn.active{background-color:#0284c7;border-color:#0284c7;box-shadow:0 2px 6px #0284c740;color:#fff}.tab-btn.pending.active{background-color:#ef4444;border-color:#ef4444}.tab-btn.completed.active{background-color:#10b981;border-color:#10b981}.search-wrapper{align-items:center;display:flex;position:relative}.search-wrapper input{border:1px solid #cbd5e1;border-radius:8px;font-size:.9rem;outline:none;padding:9px 36px;width:280px}.search-wrapper .search-icon{left:10px;position:absolute}.search-wrapper .clear-btn{background:none;border:none;color:#94a3b8;cursor:pointer;position:absolute;right:10px}.cs-table-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 4px 12px #0000000a;overflow:hidden}.card-header{background-color:#f8fafc;border-bottom:1px solid #e2e8f0;padding:18px 24px}.card-header h4{color:#0f172a;font-size:1.05rem;font-weight:800}.empty-state,.loading-state{color:#64748b;font-weight:600;padding:50px;text-align:center}.empty-icon{margin-bottom:10px}.cs-table{border-collapse:collapse;font-size:.88rem;text-align:left;width:100%}.cs-table th{background-color:#f1f5f9;border-bottom:2px solid #e2e8f0;color:#475569;font-weight:700;padding:14px 16px;white-space:nowrap}.cs-table td{border-bottom:1px solid #e2e8f0;padding:14px 16px;vertical-align:middle}.cs-table tr.pending-row{background-color:#fffdf5}.status-pill{border-radius:12px;font-size:.76rem;font-weight:800;padding:4px 10px}.status-pill.pending{background-color:#fef2f2;color:#ef4444}.status-pill.completed{background-color:#dcfce7;color:#15803d}.title-link-btn{background:none;border:none;color:#0f172a;cursor:pointer;font-size:.9rem;font-weight:700;text-align:left}.title-link-btn:hover{color:#0284c7;text-decoration:underline}.user-td{display:flex;flex-direction:column}.email-sub{color:#64748b;font-size:.78rem}.action-td{white-space:nowrap}.reply-btn{background-color:#0284c7;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.8rem;font-weight:700;margin-right:6px;padding:6px 12px}.reply-btn:hover{background-color:#0369a1}.delete-btn{background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;cursor:pointer;font-size:.8rem;font-weight:700;padding:6px 10px}.cs-modal-overlay{align-items:center;background-color:#0f172a99;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:2000}.cs-modal-card{background:#fff;border-radius:16px;box-shadow:0 20px 40px #0003;display:flex;flex-direction:column;max-height:90vh;max-width:680px;overflow:hidden;width:100%}.modal-header{background-color:#1e293b;color:#fff;padding:18px 24px}.modal-header h3{font-size:1.1rem;font-weight:700}.modal-header .close-btn{background:none;border:none;color:#fff;cursor:pointer;font-size:1.2rem}.modal-body{gap:18px;overflow-y:auto;padding:24px}.inquiry-info-box{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;display:flex;flex-direction:column;font-size:.88rem;gap:8px;padding:16px}.info-row{gap:8px}.info-label{color:#64748b;font-weight:700;min-width:80px}.info-val.title{color:#0f172a;font-weight:800}.info-content-box{border-top:1px solid #e2e8f0;margin-top:8px;padding-top:8px}.content-label{color:#475569;display:block;font-weight:700;margin-bottom:4px}.content-text{color:#1e293b;line-height:1.5;white-space:pre-wrap}.template-section{display:flex;flex-direction:column;gap:8px}.template-title{color:#0284c7;font-size:.84rem;font-weight:800}.template-btn-group{display:flex;flex-wrap:wrap;gap:6px}.tmpl-btn{background-color:#f0f9ff;border:1px solid #bae6fd;border-radius:6px;color:#0369a1;cursor:pointer;font-size:.78rem;font-weight:700;padding:6px 10px;transition:all .15s}.tmpl-btn:hover{background-color:#e0f2fe}.answer-form-group{display:flex;flex-direction:column;gap:8px}.answer-label{color:#0f172a;font-size:.9rem;font-weight:800}.answer-textarea{border:1px solid #cbd5e1;border-radius:10px;box-sizing:border-box;font-size:.9rem;line-height:1.5;outline:none;padding:12px;resize:vertical;width:100%}.answer-textarea:focus{border-color:#0284c7;box-shadow:0 0 0 3px #0284c726}.modal-footer{background-color:#f8fafc;padding:16px 24px}.cancel-btn{background-color:#e2e8f0;color:#475569;padding:9px 18px}.cancel-btn,.submit-btn{border:none;border-radius:8px;cursor:pointer;font-size:.88rem;font-weight:700}.submit-btn{background-color:#0284c7;color:#fff;padding:9px 20px}.submit-btn:hover{background-color:#0369a1}@media (max-width:1024px){.cs-kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.cs-kpi-grid{grid-template-columns:1fr}.cs-control-bar{align-items:stretch;flex-direction:column}.search-wrapper input{width:100%}}.sidebar{background-color:#263238;color:#eceff1;flex-shrink:0;height:100%;overflow-y:auto;position:fixed;width:250px}.sidebar-header{border-bottom:1px solid #37474f;padding:25px;text-align:center}.logo{color:#fff;font-size:1.8rem;font-weight:700}.logo-subtext{color:#90a4ae;font-size:.9rem;margin-top:5px}.nav-menu{padding:20px 0}.nav-item{align-items:center;color:#b0bec5;display:flex;font-size:1rem;padding:15px 25px;transition:background-color .3s,color .3s}.nav-item:hover{background-color:#37474f;color:#fff}.nav-item.active{background-color:#0056b3;border-left:4px solid #4fc3f7;color:#fff;font-weight:500;padding-left:21px}.nav-icon{font-size:20px;margin-right:12px}.menu-group-title{color:#4fc3f7;font-size:.8rem;font-weight:700;letter-spacing:.5px;padding:12px 25px 4px;text-transform:uppercase}.nav-divider{background-color:#37474f;height:1px;margin:15px 0}@media (max-width:768px){.sidebar{display:none}}.wishlist-empty-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 12px #00000008;padding:60px 20px;text-align:center}.empty-heart-icon{display:block;font-size:3.5rem;margin-bottom:12px}.wishlist-empty-card h3{color:#0f172a;font-size:1.2rem;font-weight:800;margin-bottom:8px}.wishlist-empty-card p{color:#64748b;font-size:.9rem;margin-bottom:24px}.go-boat-btn{align-items:center;background-color:#0284c7;border-radius:10px;box-shadow:0 4px 12px #0284c740;color:#fff;display:inline-flex;font-size:.95rem;font-weight:700;gap:8px;padding:12px 24px;text-decoration:none;transition:all .2s}.go-boat-btn:hover{background-color:#0369a1;transform:translateY(-1px)}.wishlist-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr)}.wish-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 4px 12px #0000000a;display:flex;flex-direction:column;overflow:hidden;transition:transform .2s,box-shadow .2s}.wish-card:hover{box-shadow:0 8px 20px #00000014;transform:translateY(-2px)}.wish-card-img-wrapper{background-color:#f1f5f9;height:180px;overflow:hidden;position:relative;width:100%}.wish-card-img{height:100%;object-fit:cover;transition:transform .3s;width:100%}.wish-card:hover .wish-card-img{transform:scale(1.03)}.wish-region-badge{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#0f172abf;border-radius:12px;color:#fff;font-size:.76rem;font-weight:700;left:12px;padding:4px 10px;position:absolute;top:12px}.remove-wish-btn{align-items:center;background:#ffffffe6;border:none;border-radius:50%;box-shadow:0 2px 8px #00000026;cursor:pointer;display:flex;font-size:1.1rem;height:34px;justify-content:center;position:absolute;right:10px;top:10px;transition:transform .15s;width:34px}.remove-wish-btn:hover{transform:scale(1.15)}.wish-card-body{display:flex;flex:1 1;flex-direction:column;justify-content:space-between;padding:16px}.wish-partner-info{align-items:center;color:#64748b;display:flex;font-size:.8rem;gap:10px;margin-bottom:6px}.wish-partner-info .partner-name{color:#0284c7;font-weight:700}.wish-product-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#0f172a;display:-webkit-box;font-size:1rem;font-weight:800;line-height:1.4;margin-bottom:14px;overflow:hidden}.wish-card-footer{align-items:flex-end;border-top:1px solid #f1f5f9;display:flex;justify-content:space-between;padding-top:12px}.price-tag{display:flex;flex-direction:column}.price-label{color:#94a3b8;font-size:.74rem}.price-val{color:#0f172a;font-size:1.1rem;font-weight:800}.reserve-btn{background-color:#0284c7;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:700;padding:8px 14px;transition:background .2s}.reserve-btn:hover{background-color:#0369a1}@media (max-width:768px){.wishlist-grid{grid-template-columns:1fr}}.bookmark-container{padding:20px 0}.bookmark-tabs{border-bottom:2px solid #e2e8f0;display:flex;gap:10px;margin-bottom:20px;overflow-x:auto;padding-bottom:10px}.bookmark-tab-btn{background:#f8fafc;border:1px solid #cbd5e1;border-radius:20px;color:#475569;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:all .2s ease;white-space:nowrap}.bookmark-tab-btn:hover{background:#e2e8f0;color:#0f172a}.bookmark-tab-btn.active{background:#0284c7;border-color:#0284c7;box-shadow:0 2px 4px #0284c733;color:#fff}.bookmark-header-actions{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.view-mode-toggle{background:#f1f5f9;border-radius:8px;display:flex;gap:4px;padding:3px}.view-mode-btn{background:#0000;border:none;border-radius:6px;color:#64748b;cursor:pointer;font-size:13px;font-weight:600;padding:6px 12px}.view-mode-btn.active{background:#fff;box-shadow:0 1px 3px #0000001a;color:#0f172a}.bookmark-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.bookmark-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 8px #0000000a;display:flex;flex-direction:column;overflow:hidden;position:relative;transition:transform .2s ease,box-shadow .2s ease}.bookmark-card:hover{box-shadow:0 6px 16px #00000014;transform:translateY(-3px)}.bookmark-img-wrapper{background:#f1f5f9;height:160px;overflow:hidden;position:relative;width:100%}.bookmark-img{height:100%;object-fit:cover;width:100%}.bookmark-no-img{align-items:center;background:linear-gradient(135deg,#e0f2fe,#bae6fd);color:#0284c7;display:flex;font-size:40px;height:100%;justify-content:center;width:100%}.bookmark-type-badge{border-radius:12px;box-shadow:0 2px 4px #0003;color:#fff;font-size:11px;font-weight:700;left:10px;padding:4px 10px;position:absolute;top:10px}.type-marine{background:#0284c7}.type-product{background:#16a34a}.type-post{background:#8b5cf6}.type-news{background:#f59e0b}.remove-bookmark-btn{align-items:center;background:#ffffffe6;border:none;border-radius:50%;box-shadow:0 2px 4px #00000026;cursor:pointer;display:flex;font-size:16px;height:32px;justify-content:center;position:absolute;right:10px;top:10px;transition:transform .2s ease;width:32px}.remove-bookmark-btn:hover{background:#fff;transform:scale(1.1)}.bookmark-card-body{display:flex;flex:1 1;flex-direction:column;padding:16px}.bookmark-category{color:#64748b;font-size:12px;margin-bottom:4px}.bookmark-title{color:#1e293b;font-size:16px;font-weight:700;line-height:1.4;margin-bottom:8px}.bookmark-summary,.bookmark-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.bookmark-summary{color:#475569;flex:1 1;font-size:13px;line-height:1.5;margin-bottom:12px}.bookmark-card-footer{align-items:center;border-top:1px solid #f1f5f9;display:flex;justify-content:space-between;margin-top:auto;padding-top:12px}.bookmark-go-btn{background:#e0f2fe;border:none;border-radius:6px;color:#0284c7;cursor:pointer;font-size:13px;font-weight:700;padding:8px 12px;text-align:center;transition:background .2s ease;width:100%}.bookmark-go-btn:hover{background:#0284c7;color:#fff}.bookmark-map-wrapper{border:1px solid #cbd5e1;border-radius:12px;box-shadow:0 4px 12px #00000014;height:500px;overflow:hidden;width:100%}.bookmark-empty-card{background:#fff;border:1px dashed #cbd5e1;border-radius:12px;padding:60px 20px;text-align:center}.bookmark-empty-icon{display:inline-block;font-size:48px;margin-bottom:12px}.inquiry-header-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:20px}.new-inquiry-btn{background-color:#0284c7;border:none;border-radius:10px;box-shadow:0 4px 12px #0284c740;color:#fff;cursor:pointer;font-size:.88rem;font-weight:700;padding:10px 18px;transition:all .2s}.new-inquiry-btn:hover{background-color:#0369a1;transform:translateY(-1px)}.inquiry-empty-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 12px #00000008;padding:60px 20px;text-align:center}.empty-cs-icon{display:block;font-size:3.5rem;margin-bottom:12px}.inquiry-empty-card h3{color:#0f172a;font-size:1.2rem;font-weight:800;margin-bottom:8px}.inquiry-empty-card p{color:#64748b;font-size:.9rem;margin-bottom:24px}.inquiry-accordion-list{display:flex;flex-direction:column;gap:12px}.inquiry-accordion-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 8px #00000008;overflow:hidden;transition:border-color .2s}.inquiry-accordion-card.expanded{border-color:#0284c7;box-shadow:0 4px 12px #0284c71f}.card-summary{cursor:pointer;justify-content:space-between;padding:18px 20px;-webkit-user-select:none;user-select:none}.card-summary,.summary-left{align-items:center;display:flex}.summary-left{gap:12px}.cs-status-badge{border-radius:12px;font-size:.76rem;font-weight:800;padding:4px 10px;white-space:nowrap}.cs-status-badge.pending{background-color:#fef2f2;color:#ef4444}.cs-status-badge.completed{background-color:#dcfce7;color:#15803d}.inquiry-title{color:#0f172a;font-size:.98rem;font-weight:700}.summary-right{align-items:center;display:flex;gap:12px}.inquiry-date{color:#94a3b8;font-size:.82rem}.item-delete-btn{background:none;border:none;color:#cbd5e1;cursor:pointer;font-size:1rem;transition:color .15s}.item-delete-btn:hover{color:#ef4444}.expand-arrow{color:#64748b;font-size:.8rem}.card-detail-body{background-color:#f8fafc;border-top:1px solid #e2e8f0;display:flex;flex-direction:column;gap:16px;padding:20px}.question-box{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:16px}.q-label{color:#0284c7;display:block;font-size:.82rem;font-weight:800;margin-bottom:6px}.q-content{color:#1e293b;font-size:.92rem;line-height:1.5;white-space:pre-wrap}.answer-box{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;padding:16px}.a-header{display:flex;justify-content:space-between;margin-bottom:6px}.a-label{color:#15803d;font-size:.82rem;font-weight:800}.a-date{color:#86efac;font-size:.76rem}.a-content{color:#14532d;font-size:.92rem;line-height:1.5;white-space:pre-wrap}.pending-notice{background-color:#fefce8;border:1px solid #fef08a;border-radius:10px;color:#ca8a04;font-size:.86rem;font-weight:600;padding:14px}.new-inquiry-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 12px #00000008;padding:30px}.card-top-title h2{color:#0f172a;font-size:1.25rem;font-weight:800}.card-top-title p{color:#64748b;font-size:.88rem;margin-bottom:24px;margin-top:4px}.user-inquiry-form{display:flex;flex-direction:column;gap:20px}.form-group{gap:8px}.form-label{color:#334155;font-size:.88rem;font-weight:700}.category-btn-group{display:flex;flex-wrap:wrap;gap:8px}.cat-btn{background:#f1f5f9;border:1px solid #cbd5e1;border-radius:8px;color:#475569;cursor:pointer;font-size:.85rem;font-weight:700;padding:8px 14px;transition:all .15s}.cat-btn.active{background-color:#0284c7;border-color:#0284c7;box-shadow:0 2px 6px #0284c740;color:#fff}.form-input,.form-textarea{border:1px solid #cbd5e1;border-radius:10px;box-sizing:border-box;font-size:.9rem;outline:none;padding:12px;width:100%}.form-input:focus,.form-textarea:focus{border-color:#0284c7;box-shadow:0 0 0 3px #0284c726}.checkbox-row{margin-top:4px}.checkbox-label{color:#475569;font-size:.86rem;font-weight:600}.form-actions-bar{display:flex;gap:10px;justify-content:flex-end;margin-top:10px}.form-actions-bar .cancel-btn{background-color:#e2e8f0;color:#475569;padding:10px 20px}.form-actions-bar .cancel-btn,.form-actions-bar .submit-btn{border:none;border-radius:10px;cursor:pointer;font-size:.9rem;font-weight:700}.form-actions-bar .submit-btn{background-color:#0284c7;color:#fff;padding:10px 24px}.form-actions-bar .submit-btn:hover{background-color:#0369a1}@media (max-width:640px){.card-summary{align-items:flex-start;flex-direction:column;gap:10px}.summary-right{justify-content:space-between;width:100%}}.policy-header,.terms-header{border-bottom:1px solid #eee;padding:20px 40px}.policy-header .logo,.terms-header .logo{color:#333;font-size:1.5rem;font-weight:700;text-decoration:none}.policy-container,.terms-container{line-height:1.8;margin:40px auto;max-width:960px;padding:20px}.policy-title,.terms-title{border-bottom:2px solid #333;font-size:2rem;font-weight:700;margin-bottom:30px;padding-bottom:15px}.policy-container h2,.terms-container h2{font-size:1.5rem;margin-bottom:15px;margin-top:40px}.policy-container h3,.terms-container h3{font-size:1.2rem;margin-bottom:10px;margin-top:25px}.policy-container p,.terms-container p{margin-bottom:15px}.policy-container ol,.policy-container ul,.terms-container ol,.terms-container ul{padding-left:25px}.policy-table,.privacy-table,.refund-table{border:1px solid #ddd;border-collapse:collapse;margin:20px 0;width:100%}.policy-table td,.policy-table th,.privacy-table td,.privacy-table th,.refund-table td,.refund-table th{border:1px solid #ddd;padding:12px 15px;text-align:left}.policy-table th,.privacy-table th,.refund-table th{background-color:#f8f9fa;font-weight:600}.partner-inquiry-page{background-color:#f8f9fa;display:flex;justify-content:center;padding:60px 20px}.inquiry-container{background-color:#fff;border-radius:16px;box-shadow:0 8px 25px #0000001a;max-width:768px;padding:40px 50px;width:100%}.inquiry-header{margin-bottom:40px;text-align:center}.inquiry-header h1{font-size:2.2rem;font-weight:700;margin-bottom:10px}.inquiry-header p{color:#6c757d;font-size:1.1rem}.status-display{align-items:center;background-color:#f8f9fa;border-radius:8px;display:flex;gap:10px;justify-content:center;margin-top:20px;padding:12px 20px}.status-label{font-weight:600}.status-badge{border-radius:20px;color:#fff;font-size:.9rem;font-weight:700;padding:5px 12px}.status-pending{background-color:#ffc107}.status-approved{background-color:#28a745}.status-rejected{background-color:#dc3545}.inquiry-form .form-row{display:flex;gap:20px;margin-bottom:20px}.inquiry-form .form-group{display:flex;flex:1 1;flex-direction:column;margin-bottom:20px}.inquiry-form label{font-size:.95rem;font-weight:600;margin-bottom:8px}.inquiry-form input,.inquiry-form textarea{border:1px solid #ced4da;border-radius:8px;font-size:1rem;padding:12px 15px;transition:border-color .2s,box-shadow .2s;width:100%}.inquiry-form input:focus,.inquiry-form textarea:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff33;outline:none}.inquiry-form input:disabled,.inquiry-form textarea:disabled{background-color:#e9ecef;cursor:not-allowed}.inquiry-form .form-actions{margin-top:30px;text-align:center}@media (max-width:600px){.inquiry-form .form-row{flex-direction:column;gap:0;margin-bottom:0}}.modal-backdrop{align-items:center;background-color:#0009;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.modal-content{animation:fadeIn .3s ease-out;background-color:#fff;border-radius:12px;box-shadow:0 5px 15px #0000004d;max-width:450px;padding:25px 30px;width:100%}.modal-header{border-bottom:1px solid #eee;padding-bottom:15px}.modal-title{font-size:1.25rem;font-weight:700}.modal-body p{line-height:1.6;margin-bottom:10px}.modal-footer{margin-top:25px}.marine-recommend-page{color:#1e293b;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;margin:0 auto;max-width:1280px;padding:30px 20px 60px}.marine-sub-tabs{border-bottom:2px solid #e2e8f0;display:flex;gap:12px;margin-bottom:24px;padding-bottom:12px}.sub-tab-btn{background-color:#f1f5f9;border-radius:12px;color:#64748b;font-size:1.05rem;font-weight:700;padding:10px 20px;text-decoration:none;transition:all .2s ease}.sub-tab-btn:hover{background-color:#e2e8f0;color:#0284c7}.sub-tab-btn.active{background-color:#0284c7;box-shadow:0 4px 12px #0284c740;color:#fff}.marine-recommend-hero{background:linear-gradient(135deg,#0284c7,#0369a1);border-radius:20px;box-shadow:0 10px 25px #0284c733;color:#fff;margin-bottom:28px;padding:32px 20px;text-align:center}.hero-badge{background-color:#ffffff26;border-radius:20px;color:#bae6fd;display:inline-block;font-size:.78rem;font-weight:800;letter-spacing:1.2px;margin-bottom:10px;padding:4px 12px}.hero-title{font-size:1.85rem;font-weight:800;letter-spacing:-.5px;margin-bottom:8px}.hero-subtitle{color:#e0f2fe;font-size:.95rem;line-height:1.5;margin:0 auto;max-width:680px}.recommend-filter-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 14px #0000000a;margin-bottom:24px;padding:20px}.filter-group{margin-bottom:16px}.filter-label{color:#334155;display:block;font-weight:700;margin-bottom:10px}.date-pill-group{display:flex;flex-wrap:wrap;gap:8px}.date-pill-btn{background-color:#f1f5f9;border:1px solid #cbd5e1;border-radius:20px;color:#334155;cursor:pointer;font-size:.88rem;font-weight:600;padding:8px 14px;transition:all .2s ease}.date-pill-btn:hover{background-color:#e2e8f0;color:#0284c7}.date-pill-btn.active{background-color:#0284c7;border-color:#0284c7;box-shadow:0 4px 10px #0284c740;color:#fff}.filter-dropdown-row{align-items:center;border-top:1px solid #f1f5f9;display:flex;flex-wrap:wrap;gap:16px;padding-top:16px}.dropdown-field{align-items:center;display:flex;gap:8px}.dropdown-field label{color:#475569;font-size:.88rem;font-weight:700}.dropdown-field select{background-color:#fff;border:1.5px solid #cbd5e1;border-radius:10px;font-size:.88rem;font-weight:600;outline:none;padding:8px 12px}.manual-batch-btn{background:linear-gradient(135deg,#0284c7,#0369a1);border:none;border-radius:20px;box-shadow:0 4px 12px #0284c733;color:#fff;cursor:pointer;font-size:.88rem;font-weight:700;margin-left:auto;padding:10px 18px;transition:all .2s ease}.manual-batch-btn:hover{background:linear-gradient(135deg,#0369a1,#075985);transform:translateY(-2px)}.manual-batch-btn:disabled{cursor:not-allowed;opacity:.6}.map-container-wrapper{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 14px #0000000a;margin-bottom:30px;padding:16px}.map-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.map-header h3{color:#0f172a;font-size:1.15rem;font-weight:800}.map-guide-text{color:#64748b;font-size:.82rem}.vworld-map-box{border:1px solid #cbd5e1;border-radius:12px;height:520px;overflow:hidden;touch-action:none;width:100%}.recommend-zoom-controls{bottom:24px;right:24px}.detail-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#0f172aa6;display:flex;height:100vh;justify-content:center;left:0;padding:20px;position:fixed;top:0;width:100vw;z-index:2000}.detail-modal-card{background:#fff;border-radius:20px;box-shadow:0 20px 40px #0003;max-width:520px;padding:24px;position:relative;width:100%}.modal-close-btn{background:none;border:none;color:#64748b;cursor:pointer;font-size:1.8rem;position:absolute;right:16px;top:16px}.modal-header{margin-bottom:18px}.modal-gubun-badge{background:#e0f2fe;border-radius:6px;color:#0369a1;display:inline-block;font-size:.78rem;font-weight:800;margin-bottom:6px;padding:3px 8px}.modal-header h2{font-size:1.4rem;margin-bottom:4px}.modal-date-tag{color:#64748b;font-size:.85rem}.modal-body-grid{align-items:center;display:flex;gap:20px}.fish-img-box{flex-shrink:0;text-align:center;width:150px}.fish-dict-img{background-color:#f8fafc;border:1px solid #cbd5e1;border-radius:12px;height:110px;object-fit:cover;width:100%}.no-fish-img{align-items:center;background-color:#f1f5f9;border-radius:12px;display:flex;flex-direction:column;font-size:2rem;height:110px;justify-content:center;width:100%}.target-fish-label{color:#334155;font-size:.85rem;margin-top:8px}.forecast-info-list{display:flex;flex-direction:column;flex-grow:1;gap:8px}.info-row{align-items:center;border-bottom:1px dashed #e2e8f0;display:flex;font-size:.9rem;justify-content:space-between;padding-bottom:6px}.info-row .label{color:#64748b;font-weight:600}.info-row .val{color:#0f172a;font-weight:700}.index-badge{border-radius:8px;font-size:.85rem;font-weight:800;padding:4px 10px}.point-grid-section{margin-top:30px}.section-title-bar{border-bottom:2px solid #e2e8f0;margin-bottom:18px;padding-bottom:8px}.section-title-bar h2{color:#0f172a;font-size:1.3rem;font-weight:800}.point-card-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr)}@media (max-width:1024px){.point-card-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.point-card-grid{grid-template-columns:repeat(2,1fr)}.modal-body-grid{flex-direction:column}}@media (max-width:480px){.point-card-grid{grid-template-columns:1fr}}.point-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 2px 8px #00000008;cursor:pointer;padding:14px;transition:all .2s ease}.point-card:hover{border-color:#38bdf8;box-shadow:0 10px 20px #0284c71f;transform:translateY(-4px)}.card-top{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.region-tag{background-color:#e0f2fe;color:#0369a1;font-size:.78rem;font-weight:700}.idx-tag,.region-tag{border-radius:6px;padding:2px 8px}.idx-tag{font-size:.75rem;font-weight:800}.card-mid{gap:10px;margin-bottom:10px}.card-mid,.fish-thumb-wrap{align-items:center;display:flex}.fish-thumb-wrap{background-color:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;flex-shrink:0;height:50px;justify-content:center;overflow:hidden;width:50px}.fish-thumb-wrap img{height:100%;object-fit:cover;width:100%}.fish-thumb-wrap .icon{font-size:1.5rem}.point-meta{flex-grow:1}.point-name{color:#0f172a;font-size:.98rem}.fish-name{color:#0284c7;font-size:.85rem;font-weight:700}.noon-tag{color:#64748b;font-size:.75rem}.card-bottom{border-top:1px dashed #f1f5f9;color:#64748b;display:flex;font-size:.78rem;justify-content:space-between;padding-top:8px}.empty-box,.loading-box{background:#fff;border:1px solid #e2e8f0;border-radius:16px;color:#64748b;padding:50px 20px;text-align:center}.empty-box span{display:block;font-size:2.5rem;margin-bottom:10px}.spinner{animation:spin .8s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#0284c7;height:32px;margin:0 auto 12px;width:32px}.khoa-api-notice{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;color:#64748b;font-size:.88rem;margin-top:36px;padding:16px 20px;text-align:center}.khoa-api-notice strong{color:#0369a1}.admin-fish-species-container{padding:24px}.admin-page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.admin-page-header h2{color:#0f172a;font-size:1.6rem;font-weight:700;margin-bottom:4px}.admin-page-header p{color:#64748b;font-size:.95rem;margin:0}.btn-primary{background-color:#0284c7;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;transition:background .2s}.btn-primary:hover{background-color:#0369a1}.admin-filter-bar{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;display:flex;gap:16px;margin-bottom:20px;padding:16px}.filter-group{gap:8px}.filter-group input,.filter-group select{border:1px solid #cbd5e1;border-radius:6px;outline:none;padding:8px 12px}.search-group input{width:240px}.search-group button{background:#475569;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:8px 14px}.admin-table{background:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden;width:100%}.admin-table td,.admin-table th{border-bottom:1px solid #e2e8f0;font-size:.9rem;padding:12px 16px;text-align:left}.admin-table th{background-color:#f1f5f9;color:#334155;font-weight:600}.thumb-img{border-radius:6px;height:44px;object-fit:cover;width:44px}.sub-text{color:#64748b;font-size:.8rem}.badge{border-radius:12px;color:#fff;font-size:.75rem;font-weight:600;padding:3px 8px}.badge.sea{background-color:#0284c7}.badge.fresh{background-color:#059669}.warning-text{color:#be123c;font-size:.85rem;font-weight:600}.status-badge{border-radius:12px}.status-badge.active{background-color:#dcfce7;color:#166534}.status-badge.inactive{background-color:#fee2e2;color:#991b1b}.action-buttons{display:flex;gap:6px}.btn-edit{background:#3b82f6}.btn-delete,.btn-edit{border:none;border-radius:4px;color:#fff;cursor:pointer;padding:6px 12px}.btn-delete{background:#ef4444}.modal-overlay{align-items:center;background-color:#0f172ab3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:9999}.admin-modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0003;max-height:90vh;max-width:720px;overflow-y:auto;width:100%}.modal-header{border-bottom:1px solid #e2e8f0;padding:16px 24px}.modal-header h3{color:#0f172a;font-size:1.25rem;margin:0}.close-btn{background:none;border:none;color:#64748b;cursor:pointer;font-size:24px}.modal-form{padding:24px}.form-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr);margin-bottom:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group.full-width{margin-bottom:16px}.form-group label{color:#334155;font-size:.875rem;font-weight:600}.form-group input,.form-group select,.form-group textarea{border:1px solid #cbd5e1;border-radius:6px;font-size:.95rem;outline:none;padding:10px 12px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#0284c7}.checkbox-group{justify-content:center}.checkbox-label{align-items:center;cursor:pointer;display:flex;gap:8px}.modal-footer{border-top:1px solid #e2e8f0;display:flex;gap:10px;justify-content:flex-end;margin-top:24px;padding-top:16px}.btn-cancel{background:#e2e8f0;color:#475569}.btn-cancel,.btn-save{border:none;border-radius:6px;cursor:pointer;padding:10px 18px}.btn-save{background:#0284c7;color:#fff;font-weight:600}.fish-dictionary-container{padding-bottom:60px;padding-top:24px}.fish-dict-header{background:linear-gradient(135deg,#0284c7,#0f172a);border-radius:16px;box-shadow:0 10px 15px -3px #0000001a;color:#fff;margin-bottom:30px;padding:40px 30px}.fish-dict-header-content h1{font-size:2rem;font-weight:800;margin-bottom:12px}.fish-dict-header-content p{color:#e0f2fe;font-size:1.05rem;line-height:1.6;margin:0;max-width:800px}.fish-dict-controls{display:flex;flex-direction:column;gap:16px;margin-bottom:30px}@media (min-width:768px){.fish-dict-controls{align-items:center;flex-direction:row;justify-content:space-between}}.water-type-tabs{background-color:#f1f5f9;border-radius:10px;display:flex;gap:4px;padding:4px}.tab-btn{background:#0000;border:none;border-radius:8px;color:#64748b;cursor:pointer;font-size:.95rem;font-weight:600;padding:8px 16px;transition:all .2s}.tab-btn.active{background:#fff;box-shadow:0 2px 4px #0000000d;color:#0284c7}.search-form{display:flex;gap:8px}.search-input{border:1px solid #cbd5e1;border-radius:8px;font-size:.95rem;padding:10px 16px;width:280px}.search-input:focus{box-shadow:0 0 0 3px #0284c726}.search-btn{background-color:#0284c7;border-radius:8px;color:#fff;font-weight:600;padding:10px 20px;transition:background .2s}.search-btn:hover{background-color:#0369a1}.fish-dict-empty,.fish-dict-loading{color:#64748b;padding:60px 0;text-align:center}.fish-card-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.fish-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;overflow:hidden;transition:transform .2s,box-shadow .2s}.fish-card:hover{border-color:#38bdf8;box-shadow:0 12px 20px -5px #0000001a;transform:translateY(-4px)}.fish-card-image-box{background-color:#fff;border-bottom:1px solid #e2e8f0;height:160px;padding:8px;position:relative;width:100%}.fish-card-img{border-radius:6px;height:100%;object-fit:contain;width:100%}.fish-water-badge{border-radius:12px;color:#fff;font-size:.75rem;font-weight:700;left:10px;padding:3px 8px;position:absolute;top:10px}.fish-water-badge.water-9100{background-color:#0284c7e6}.fish-water-badge.water-9200{background-color:#059669e6}.fish-card-info{display:flex;flex:1 1;flex-direction:column;padding:16px}.fish-card-category{color:#0284c7;font-size:.8rem;font-weight:600;margin-bottom:4px}.fish-card-name{color:#0f172a;font-size:1.2rem;font-weight:700;margin:0 0 8px}.fish-card-meta{color:#475569;font-size:.85rem;margin-bottom:4px}.fish-card-season{background-color:#fef9c3;border-radius:6px;color:#854d0e;display:inline-block;font-size:.85rem;margin-top:4px;padding:4px 8px}.fish-card-alert-badge{background-color:#ffe4e6;border-radius:6px;color:#be123c;font-size:.75rem;font-weight:600;margin-top:8px;padding:4px 8px}.shortbug-page-container{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;margin:0 auto;max-width:1200px;padding:24px 20px 60px}.adsense-container{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:12px;box-shadow:0 2px 6px #00000005;margin-bottom:24px;overflow:hidden;padding:12px 16px;text-align:center}.adsense-header{align-items:center;display:flex;gap:8px;justify-content:center;margin-bottom:8px}.adsense-tag{background-color:#94a3b8;border-radius:4px;color:#fff;font-size:.68rem;font-weight:800;padding:1px 5px}.adsense-subtext{color:#94a3b8;font-size:.76rem;font-weight:500}.shortbug-header{background:linear-gradient(135deg,#0f172a,#1e293b 50%,#0284c7);border-radius:16px;box-shadow:0 10px 25px -5px #0284c740;color:#fff;display:flex;flex-direction:column;gap:16px;margin-bottom:24px;padding:32px 30px}@media (min-width:768px){.shortbug-header{align-items:center;flex-direction:row;justify-content:space-between}}.shortbug-title{align-items:center;display:flex;font-size:2rem;font-weight:800;gap:10px;letter-spacing:-.5px;margin:0 0 8px}.title-icon{font-size:2.2rem}.shortbug-subtitle{color:#93c5fd;font-size:1rem;line-height:1.5;margin:0}.shortbug-actions{align-items:center;display:flex;gap:14px}.last-updated-text{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff1a;border-radius:20px;color:#cbd5e1;font-size:.85rem;padding:6px 12px}.refresh-btn{align-items:center;background:#0284c7;border-radius:10px;box-shadow:0 4px 12px #0284c766;display:flex;font-size:.95rem;font-weight:600;gap:6px;padding:10px 18px;transition:all .2s ease}.refresh-btn:hover:not(:disabled){background:#0369a1;transform:translateY(-1px)}.refresh-btn:disabled{cursor:not-allowed;opacity:.7}.refresh-btn.spinning .material-icons{animation:spin 1s linear infinite}.sentiment-dashboard-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 14px #0000000d;margin-bottom:24px;padding:24px}.dashboard-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:18px}.dashboard-title-box{align-items:center;display:flex;gap:10px}.dashboard-title-box h3{color:#0f172a;font-size:1.15rem;font-weight:700;margin:0}.live-indicator-dot{animation:pulse-dot 2s infinite;background-color:#22c55e;border-radius:50%;box-shadow:0 0 0 3px #22c55e40;height:10px;width:10px}@keyframes pulse-dot{0%{opacity:.8;transform:scale(.95)}50%{opacity:1;transform:scale(1.15)}to{opacity:.8;transform:scale(.95)}}.stat-time-tag{background-color:#f1f5f9;border-radius:6px;color:#64748b;font-size:.8rem;padding:3px 8px}.toggle-history-btn{background:none;border:none;color:#0284c7;cursor:pointer;font-size:.88rem;font-weight:600}.toggle-history-btn:hover{text-decoration:underline}.sentiment-kpi-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-bottom:20px}.sentiment-kpi-box{align-items:center;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;display:flex;gap:14px;padding:16px;position:relative}.hoverable-kpi{cursor:pointer;transition:all .2s ease}.hoverable-kpi:hover{border-color:#0284c7;box-shadow:0 4px 12px #0284c726}.hover-hint-tag{background:#0284c71a;border-radius:4px;color:#0284c7;display:inline-block;font-size:.72rem;font-weight:500;margin-left:6px;padding:2px 6px}.bullish-box{background-color:#fef2f2;border-color:#fecaca}.bearish-box{background-color:#eff6ff;border-color:#bfdbfe}.signal-box{background-color:#f8fafc;border-color:#cbd5e1}.kpi-icon{font-size:1.8rem}.kpi-info{display:flex;flex-direction:column}.kpi-label{color:#475569;font-size:.85rem;font-weight:700}.kpi-value{color:#0f172a;font-size:1.6rem;font-weight:800;line-height:1.2}.kpi-value small{color:#64748b;font-size:.9rem;font-weight:600}.kpi-desc{color:#64748b;font-size:.78rem;margin-top:2px}.sentiment-popover-card{animation:popoverFadeIn .2s ease-out;background:#fff;border:1px solid #cbd5e1;border-radius:12px;box-shadow:0 12px 30px #00000026;left:0;max-width:480px;min-width:320px;overflow:hidden;position:absolute;top:calc(100% + 8px);width:100%;z-index:500}.sentiment-popover-card.table-popover{left:auto;right:0;width:380px}@keyframes popoverFadeIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.popover-header{border-bottom:1px solid #e2e8f0;font-size:.85rem;font-weight:700;padding:10px 14px}.popover-header.bullish{background-color:#fef2f2;color:#dc2626}.popover-header.bearish{background-color:#eff6ff;color:#2563eb}.popover-content{max-height:280px;overflow-y:auto;padding:6px 0;scrollbar-width:thin}.popover-news-list{list-style:none;margin:0;padding:0}.popover-news-item{align-items:center;border-bottom:1px solid #f1f5f9;color:#1e293b;display:flex;font-size:.84rem;gap:8px;padding:8px 14px;text-decoration:none;transition:background .15s ease}.popover-news-item:hover{background-color:#f8fafc;color:#0284c7}.popover-pub-badge{background-color:#e0f2fe;border-radius:6px;color:#0369a1;flex-shrink:0;font-size:.72rem;font-weight:600;padding:2px 6px;white-space:nowrap}.popover-item-title{flex:1 1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.popover-link-icon{color:#94a3b8;flex-shrink:0;font-size:.8rem}.popover-empty{color:#94a3b8;font-size:.82rem;margin:0;padding:16px;text-align:center}.hoverable-cell{cursor:pointer;position:relative;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.hoverable-cell:hover{background-color:#f1f5f9}.signal-badge-wrapper{margin:4px 0}.signal-badge{border-radius:20px;display:inline-block;font-size:.88rem;font-weight:700;padding:4px 12px}.signal-badge.bullish{background-color:#ef4444;color:#fff}.signal-badge.bearish{background-color:#3b82f6;color:#fff}.signal-badge.neutral{background-color:#94a3b8;color:#fff}.sentiment-bar-wrapper{background-color:#f1f5f9;border-radius:10px;margin-bottom:20px;padding:12px 16px}.sentiment-bar-labels{color:#334155;display:flex;font-size:.85rem;font-weight:700;justify-content:space-between;margin-bottom:8px}.sentiment-progress-track{background-color:#3b82f6;border-radius:6px;height:12px;overflow:hidden;width:100%}.sentiment-progress-fill.bullish-fill{background-color:#ef4444;height:100%;transition:width .4s ease}.shortbug-chart-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 2px 10px #00000008;margin-top:20px;padding:20px}.chart-card-header{display:flex;flex-direction:column;gap:12px;margin-bottom:18px}@media (min-width:768px){.chart-card-header{align-items:center;flex-direction:row;justify-content:space-between}}.chart-title-area h4{color:#0f172a;font-size:1.05rem;font-weight:700;margin:0 0 4px}.chart-subtitle{color:#64748b;font-size:.82rem}.timeframe-button-bar{display:flex;flex-wrap:wrap;gap:6px}.timeframe-btn{background-color:#f8fafc;border:1px solid #cbd5e1;border-radius:16px;color:#475569;cursor:pointer;font-size:.82rem;font-weight:600;padding:5px 12px;transition:all .2s ease}.timeframe-btn:hover{background-color:#e2e8f0;color:#0f172a}.timeframe-btn.active{background-color:#0284c7;border-color:#0284c7;box-shadow:0 2px 6px #0284c74d;color:#fff}.chart-canvas-container{height:380px;position:relative;width:100%}.chart-loading-overlay{align-items:center;color:#64748b;display:flex;flex-direction:column;gap:10px;height:100%;justify-content:center}.stats-history-container{border-top:1px solid #e2e8f0;margin-top:20px;padding-top:16px}.history-title{color:#334155;font-size:.95rem;font-weight:700;margin:0 0 12px}.stats-history-table{border-collapse:collapse;font-size:.85rem;text-align:left;width:100%}.stats-history-table th{background-color:#f8fafc;border-bottom:1px solid #e2e8f0;color:#475569;padding:8px 12px}.stats-history-table td{border-bottom:1px solid #f1f5f9;padding:8px 12px}.bullish-text{color:#dc2626;font-weight:700}.bearish-text{color:#2563eb;font-weight:700}.mini-badge{border-radius:10px;color:#fff;display:inline-block;font-size:.75rem;font-weight:700;padding:2px 8px}.mini-badge.bullish{background-color:#ef4444}.mini-badge.bearish{background-color:#3b82f6}.mini-badge.neutral{background-color:#94a3b8}.shortbug-categories{display:flex;gap:8px;margin-bottom:20px;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin}.category-tab{background:#fff;border:1px solid #e2e8f0;border-radius:20px;color:#475569;cursor:pointer;font-size:.9rem;font-weight:600;padding:9px 18px;transition:all .2s ease;white-space:nowrap}.category-tab:hover{background:#f8fafc;border-color:#cbd5e1;color:#0f172a}.category-tab.active{background:#0284c7;border-color:#0284c7;box-shadow:0 4px 10px #0284c740;color:#fff}.shortbug-filter-bar{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 6px #00000008;display:flex;flex-direction:column;gap:14px;margin-bottom:20px;padding:16px 20px}@media (min-width:768px){.shortbug-filter-bar{align-items:center;flex-direction:row;justify-content:space-between}}.filter-group{align-items:center;display:flex;gap:10px}.filter-label{color:#475569;font-size:.9rem;font-weight:600;white-space:nowrap}.publisher-select{background-color:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;color:#0f172a;cursor:pointer;font-size:.9rem;outline:none;padding:8px 14px;transition:border-color .2s}.publisher-select:focus{border-color:#0284c7;box-shadow:0 0 0 3px #0284c726}.shortbug-search-form{align-items:center;display:flex}.search-input-wrapper{width:100%}@media (min-width:768px){.search-input-wrapper{width:320px}}.shortbug-search-input{border:1px solid #cbd5e1;border-radius:8px;font-size:.9rem;outline:none;padding:9px 40px 9px 14px;transition:all .2s;width:100%}.shortbug-search-input:focus{border-color:#0284c7;box-shadow:0 0 0 3px #0284c726}.clear-search-btn{background:none;border:none;color:#94a3b8;cursor:pointer;font-size:.85rem;padding:4px;position:absolute;right:44px}.clear-search-btn:hover{color:#475569}.shortbug-search-btn{align-items:center;background:#0284c7;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;height:32px;justify-content:center;position:absolute;right:44px;transition:background .2s;width:32px}.shortbug-search-btn:hover{background:#0369a1}.shortbug-search-btn .material-icons{font-size:1.1rem}.shortbug-table-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 4px 12px #0000000a;margin-bottom:24px;overflow:hidden}.table-responsive{overflow-x:auto;width:100%}.shortbug-table{border-collapse:collapse;text-align:left;width:100%}.shortbug-table th{background:#f8fafc;border-bottom:2px solid #e2e8f0;color:#475569;font-size:.88rem;font-weight:700;padding:14px 16px;white-space:nowrap}.shortbug-table td{border-bottom:1px solid #f1f5f9;color:#334155;font-size:.92rem;padding:14px 16px;vertical-align:middle}.shortbug-table tbody tr{transition:background-color .15s ease}.shortbug-table tbody tr:hover{background-color:#f8fafc}.shortbug-table tbody tr:last-child td{border-bottom:none}.time-col{font-weight:500;white-space:nowrap}.title-col{font-weight:600}.news-title-link{align-items:center;color:#0f172a;display:flex;gap:6px;line-height:1.4;text-decoration:none;transition:color .15s ease}.news-title-link:hover{color:#0284c7;text-decoration:underline}.external-link-icon{color:#94a3b8;font-size:.8rem;opacity:0;transition:opacity .15s ease}.news-title-link:hover .external-link-icon{color:#0284c7;opacity:1}.publisher-col{white-space:nowrap}.publisher-badge{background-color:#e0f2fe;border-radius:12px;color:#0369a1;display:inline-block;font-size:.8rem;font-weight:600;padding:4px 10px}.author-col{color:#64748b;font-size:.88rem;white-space:nowrap}.shortbug-empty-state,.shortbug-loading-state{color:#64748b;padding:60px 20px;text-align:center}.loading-spinner{height:36px;margin:0 auto 16px;width:36px}.shortbug-empty-state h3{color:#334155;font-size:1.1rem;margin-bottom:6px}.shortbug-empty-state p{color:#94a3b8;font-size:.9rem;margin:0}.shortbug-pagination-wrapper{display:flex;justify-content:center;margin-top:24px}.desktop-only{display:block}.mobile-only{display:none}.mobile-news-card,.mobile-news-list-wrapper{display:flex;flex-direction:column}.mobile-news-card{background-color:#fff;border-bottom:1px solid #f1f5f9;gap:8px;padding:14px 16px;transition:background-color .15s ease}.mobile-news-card:last-child{border-bottom:none}.mobile-news-card:active,.mobile-news-card:hover{background-color:#f8fafc}.mobile-news-meta{flex-wrap:wrap;font-size:.8rem;gap:8px}.mobile-author{color:#64748b;font-size:.8rem;font-weight:500}.mobile-time{color:#94a3b8;font-size:.78rem;font-weight:500;margin-left:auto}.mobile-news-title{align-items:flex-start;display:flex;font-size:.96rem;font-weight:600;gap:8px;justify-content:space-between;line-height:1.45;overflow-wrap:break-word;text-decoration:none;word-break:keep-all}.mobile-news-title:hover{color:#0284c7;text-decoration:underline}.mobile-news-title .external-link-icon{flex-shrink:0;font-size:.85rem;margin-top:2px;opacity:.6}.shortbug-infinite-scroll-bottom{align-items:center;display:flex;justify-content:center;padding:24px 0 30px;width:100%}.infinite-scroll-loading{align-items:center;background-color:#fff;border:1px solid #e2e8f0;border-radius:24px;box-shadow:0 4px 12px #0000000a;color:#0369a1;display:flex;font-size:.88rem;font-weight:600;gap:10px;padding:10px 20px}.no-more-news-msg{background-color:#f1f5f9;border-radius:20px;color:#64748b;font-size:.88rem;font-weight:600;padding:14px 24px}.shortbug-table tr.news-row.expanded{background-color:#f0f9ff!important}.shortbug-table .title-cell-wrapper{align-items:center;display:flex;gap:12px;justify-content:space-between}.shortbug-table .news-title-text{color:#0f172a;font-weight:600}.shortbug-table .expand-indicator{background-color:#f0f9ff;border:1px solid #bae6fd;border-radius:12px;color:#0284c7;font-size:.78rem;font-weight:700;padding:3px 10px;transition:all .2s ease;white-space:nowrap}.shortbug-table .expand-indicator.open{background-color:#0284c7;border-color:#0284c7;color:#fff}.shortbug-table .expanded-detail-row td{background-color:#f8fafc;border-bottom:2px solid #e2e8f0;padding:0!important}.mobile-news-card.expanded{background-color:#f8fafc;border-color:#0284c7}.fishing-news-page{color:#1e293b;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;margin:0 auto;max-width:1240px;padding:30px 20px 60px}.fishing-news-header{background:linear-gradient(135deg,#0284c7,#0369a1);border-radius:20px;box-shadow:0 10px 25px #0284c733;color:#fff;margin-bottom:36px;padding:36px 20px;text-align:center}.header-badge{background-color:#ffffff26;border-radius:20px;color:#bae6fd;display:inline-block;font-size:.78rem;font-weight:800;letter-spacing:1.2px;margin-bottom:12px;padding:4px 12px}.header-title{font-size:2rem;font-weight:800;letter-spacing:-.5px;margin-bottom:10px}.header-subtitle{color:#e0f2fe;font-size:1rem;line-height:1.5;margin:0 auto;max-width:680px}.featured-news-section{margin-bottom:40px}.section-header{align-items:baseline;border-bottom:2px solid #e2e8f0;display:flex;gap:12px;margin-bottom:20px;padding-bottom:12px}.section-title{color:#0f172a;font-size:1.35rem;font-weight:800}.section-desc{color:#64748b;font-size:.9rem}.featured-grid{grid-gap:22px;display:grid;gap:22px;grid-template-columns:repeat(3,1fr)}@media (max-width:1024px){.featured-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.featured-grid{grid-template-columns:1fr}}.featured-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 14px #0000000d;color:inherit;display:flex;flex-direction:column;overflow:hidden;text-decoration:none;transition:transform .25s ease,box-shadow .25s ease}.featured-card:hover{border-color:#38bdf8;box-shadow:0 12px 24px #0284c726;transform:translateY(-5px)}.thumbnail-wrapper{background-color:#f1f5f9;height:190px;overflow:hidden;position:relative;width:100%}.featured-img{height:100%;object-fit:cover;transition:transform .4s ease;width:100%}.featured-card:hover .featured-img{transform:scale(1.05)}.category-badge{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172ad9;border-radius:8px;color:#38bdf8;font-size:.78rem;font-weight:700;left:12px;padding:4px 10px;position:absolute;top:12px}.card-content{display:flex;flex-direction:column;flex-grow:1;padding:16px 18px 20px}.card-meta{align-items:center;color:#64748b;display:flex;font-size:.82rem;justify-content:space-between;margin-bottom:8px}.card-meta .publisher{color:#0284c7;font-weight:700}.card-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#0f172a;display:-webkit-box;font-size:1.05rem;font-weight:700;line-height:1.45;overflow:hidden}.fishing-news-filter-section{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px}.category-pills{display:flex;flex-wrap:wrap;gap:8px}.pill-btn{background-color:#f1f5f9;border:1px solid #cbd5e1;border-radius:20px;color:#334155;cursor:pointer;font-size:.9rem;font-weight:600;padding:8px 16px;transition:all .2s ease}.pill-btn:hover{background-color:#e2e8f0;color:#0284c7}.pill-btn.active{background-color:#0284c7;border-color:#0284c7;box-shadow:0 4px 10px #0284c740;color:#fff}.search-form{min-width:280px}.search-input-wrapper{align-items:center;display:flex;position:relative}.search-input{border:1.5px solid #cbd5e1;border-radius:24px;font-size:.9rem;outline:none;padding:10px 42px 10px 16px;transition:border-color .2s ease;width:100%}.search-input:focus{border-color:#0284c7}.search-btn{align-items:center;background:none;border:none;color:#64748b;cursor:pointer;display:flex;padding:6px;position:absolute;right:6px}.search-btn:hover{color:#0284c7}.fishing-news-list-section{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 12px #0000000a;padding:20px}.desktop-table-wrapper{overflow-x:auto;width:100%}.fishing-news-table{border-collapse:collapse;text-align:left;width:100%}.fishing-news-table th{background-color:#f8fafc;border-bottom:2px solid #e2e8f0;color:#475569;font-size:.88rem;font-weight:700;padding:14px 16px}.fishing-news-table td{border-bottom:1px solid #f1f5f9;font-size:.93rem;padding:14px 16px;vertical-align:middle}.fishing-news-table tr:hover{background-color:#f8fafc}.table-thumb-img{background-color:#e2e8f0;border-radius:6px;height:44px;object-fit:cover;width:60px}.time-col{color:#64748b;font-size:.85rem}.cat-pill{background-color:#e0f2fe;border-radius:6px;color:#0369a1;display:inline-block;font-size:.78rem;font-weight:700;padding:3px 8px}.news-link{align-items:center;color:#0f172a;display:flex;font-weight:600;gap:6px;text-decoration:none;transition:color .2s ease}.news-link:hover{color:#0284c7}.ext-icon{color:#94a3b8;font-size:.8rem}.pub-badge{background-color:#f1f5f9;border-radius:6px;color:#475569;font-size:.82rem;font-weight:600;padding:4px 8px}.mobile-news-list{display:flex;flex-direction:column;gap:12px}.mobile-news-item-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 6px #00000008;color:inherit;display:flex;gap:12px;padding:12px;text-decoration:none}.mobile-thumb-box{background-color:#f1f5f9;border-radius:8px;flex-shrink:0;height:70px;overflow:hidden;width:90px}.mobile-thumb-box img{height:100%;object-fit:cover;width:100%}.mobile-news-info{display:flex;flex-direction:column;flex-grow:1;justify-content:space-between}.mobile-news-meta{align-items:center;color:#64748b;display:flex;font-size:.78rem;gap:6px;margin-bottom:4px}.mobile-news-meta .pub-badge{font-size:.75rem;padding:2px 6px}.mobile-news-meta .cat-badge{color:#0284c7;font-weight:700}.mobile-news-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#0f172a;display:-webkit-box;font-size:.95rem;font-weight:700;line-height:1.4;overflow:hidden}.infinite-scroll-bottom{align-items:center;display:flex;justify-content:center;padding:20px 0 10px;width:100%}.scroll-loading-box{align-items:center;background-color:#fff;border:1px solid #e2e8f0;border-radius:24px;box-shadow:0 4px 12px #0000000a;color:#0369a1;display:flex;font-size:.88rem;font-weight:600;gap:10px;padding:10px 20px}.loading-spinner{animation:spin .8s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#0284c7;height:32px;margin:0 auto 12px;width:32px}.loading-spinner.mini{border-width:2.5px;height:20px;margin:0;width:20px}@keyframes spin{to{transform:rotate(1turn)}}.fishing-empty-state,.fishing-loading-state{color:#64748b;padding:40px 20px;text-align:center}.empty-icon{margin-bottom:12px}.no-more-msg{background-color:#f1f5f9;border-radius:20px;color:#64748b;font-size:.88rem;font-weight:600;padding:12px 20px}.manual-refresh-btn{background:linear-gradient(135deg,#0284c7,#0369a1);border:none;border-radius:24px;box-shadow:0 4px 12px #0284c740;color:#fff;cursor:pointer;display:inline-block;font-size:.9rem;font-weight:700;padding:10px 20px;transition:all .2s ease}.manual-refresh-btn:hover{background:linear-gradient(135deg,#0369a1,#075985);box-shadow:0 6px 16px #0284c759;transform:translateY(-2px)}.news-row.expanded{background-color:#f0f9ff!important}.title-cell-wrapper{align-items:center;display:flex;gap:12px;justify-content:space-between}.news-title-text{color:#0f172a;font-weight:600}.expand-indicator{background-color:#f0f9ff;border:1px solid #bae6fd;border-radius:12px;color:#0284c7;font-size:.78rem;font-weight:700;padding:3px 10px;transition:all .2s ease;white-space:nowrap}.expand-indicator.open{background-color:#0284c7;border-color:#0284c7;color:#fff}.expanded-detail-row td{background-color:#f8fafc;border-bottom:2px solid #e2e8f0;padding:0!important}.news-detail-drawer{background-color:#f8fafc;border-top:1px dashed #cbd5e1;padding:16px 20px}.drawer-description{color:#334155;font-size:.92rem;line-height:1.6;margin:0 0 14px;white-space:pre-wrap;word-break:break-word}.drawer-footer{display:flex;justify-content:flex-end}.view-original-btn{align-items:center;background:linear-gradient(135deg,#0284c7,#0369a1);border-radius:8px;box-shadow:0 2px 6px #0284c733;color:#fff!important;display:inline-flex;font-size:.85rem;font-weight:700;gap:4px;padding:8px 16px;text-decoration:none;transition:all .2s ease}.view-original-btn:hover{background:linear-gradient(135deg,#0369a1,#075985);box-shadow:0 4px 10px #0284c74d;transform:translateY(-1px)}.mobile-news-item-card.expanded{background-color:#f8fafc;border-color:#0284c7}.mobile-expand-tag{color:#0284c7;font-size:.78rem;margin-left:4px}.mobile-news-drawer{border-top:1px dashed #cbd5e1;display:flex;flex-direction:column;gap:10px;margin-top:12px;padding-top:12px}.admin-controls-wrapper{align-items:center;display:flex;justify-content:center;margin-top:18px}.admin-news-refresh-btn{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:24px;box-shadow:0 4px 14px #10b9814d;color:#fff;cursor:pointer;display:inline-flex;font-size:.92rem;font-weight:700;gap:6px;justify-content:center;padding:10px 22px;transition:all .2s ease}.admin-news-refresh-btn:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);box-shadow:0 6px 18px #10b98166;transform:translateY(-2px)}.admin-news-refresh-btn:active:not(:disabled){transform:translateY(0)}.admin-news-refresh-btn:disabled{cursor:not-allowed;opacity:.75}.refresh-icon{font-size:1.1rem}.loading-spinner.mini-inline{border-color:#fff #fff6 #fff6;border-width:2px;display:inline-block;height:16px;margin:0 6px 0 0;vertical-align:middle;width:16px}.marine-info-map-container{background-color:#0f172a;font-family:Noto Sans KR,-apple-system,BlinkMacSystemFont,sans-serif;height:100vh;overflow:hidden;position:relative;width:100vw}.marine-info-map-canvas{height:100%;left:0;position:absolute;top:0;touch-action:none;width:100%;z-index:1}.marine-info-top-header{left:16px;position:absolute;right:16px;top:16px;z-index:100}.marine-info-header-inner{align-items:center;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#0f172ad9;border:1px solid #ffffff1f;border-radius:16px;box-shadow:0 10px 25px -5px #0000004d;display:flex;flex-wrap:nowrap;gap:16px;justify-content:space-between;padding:10px 20px}.marine-info-logo{align-items:center;display:flex;flex-shrink:0;gap:10px;text-decoration:none}.marine-info-logo-img{height:36px;object-fit:contain}.marine-info-logo-badge{background:linear-gradient(135deg,#0284c7,#0d9488);border-radius:12px;color:#fff;font-size:10px;font-weight:700;letter-spacing:.5px;padding:3px 8px}.marine-info-search-form{align-items:center;display:flex;flex:0 1 380px;max-width:380px;min-width:140px;position:relative}.search-icon{color:#94a3b8;font-size:14px;left:14px;position:absolute}.marine-info-search-input{background:#1e293bb3;border:1px solid #ffffff26;border-radius:20px;color:#f8fafc;font-size:13px;outline:none;padding:9px 36px 9px 38px;transition:all .2s ease;width:100%}.marine-info-search-input:focus{background:#1e293bf2;border-color:#38bdf8;box-shadow:0 0 0 3px #38bdf833}.search-clear-btn{background:none;border:none;color:#94a3b8;cursor:pointer;font-size:12px;position:absolute;right:12px}.marine-info-nav-links{align-items:center;display:flex;flex-shrink:0;gap:10px}.marine-info-nav-item{border-radius:10px;color:#cbd5e1;font-size:14px;font-weight:600;padding:6px 12px;text-decoration:none;transition:all .2s ease;white-space:nowrap}.marine-info-nav-item.active,.marine-info-nav-item:hover{background:#ffffff1a;color:#fff}.marine-info-nav-item.login-btn{background:linear-gradient(135deg,#0284c7,#2563eb);border-radius:12px;color:#fff;padding:6px 16px}.marine-info-floating-filter-bar{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0f172ad9;border:1px solid #ffffff1f;border-radius:16px;box-shadow:0 10px 25px -5px #00000040;display:flex;gap:12px;left:50%;max-width:95vw;padding:8px 16px;position:absolute;top:88px;transform:translateX(-50%);white-space:nowrap;z-index:95}.marine-info-date-tabs{align-items:center;display:flex;gap:6px}.date-tab-btn{background:#1e293b99;border:1px solid #ffffff1a;border-radius:10px;color:#cbd5e1;cursor:pointer;font-size:12px;font-weight:600;padding:6px 12px;transition:all .2s ease;white-space:nowrap}.date-tab-btn:hover{background:#334155cc;color:#fff}.date-tab-btn.active{background:#0284c7;border-color:#38bdf8;box-shadow:0 4px 12px #0284c759;color:#fff}.marine-info-dropdown-group{align-items:center;display:flex;gap:8px}.marine-info-select{background:#1e293bcc;border:1px solid #ffffff26;border-radius:10px;color:#f8fafc;cursor:pointer;font-size:12px;font-weight:600;outline:none;padding:6px 10px}.marine-info-layer-widget{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0f172ad9;border:1px solid #ffffff1f;border-radius:16px;box-shadow:0 10px 25px -5px #0000004d;display:flex;flex-direction:column;gap:8px;padding:12px;position:absolute;right:16px;top:150px;width:140px;z-index:90}.widget-title{color:#64748b;font-size:10px;font-weight:700;letter-spacing:.8px;margin-bottom:4px}.layer-mode-btn{align-items:center;background:#1e293b99;border:1px solid #ffffff14;border-radius:10px;color:#94a3b8;cursor:pointer;display:flex;font-size:12px;font-weight:600;gap:8px;padding:8px 10px;text-align:left;transition:all .2s ease}.layer-mode-btn:hover{background:#334155cc;color:#f1f5f9}.layer-mode-btn.active{background:linear-gradient(135deg,#0284c7,#0369a1);border-color:#38bdf8;box-shadow:0 4px 12px #0284c74d;color:#fff}.layer-icon{font-size:14px}.layer-check-icon{align-items:center;background:#ffffff40;border-radius:50%;color:#fff;display:inline-flex;font-size:10px;font-weight:800;height:15px;justify-content:center;margin-left:auto;width:15px}.marine-info-detail-drawer{animation:slideUp .3s cubic-bezier(.16,1,.3,1);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0f172aeb;border:1px solid #ffffff26;border-radius:20px;bottom:24px;box-shadow:0 20px 35px -10px #00000080;color:#f8fafc;left:50%;max-width:600px;padding:20px 24px;position:absolute;transform:translateX(-50%);width:90%;z-index:110}@keyframes slideUp{0%{opacity:0;transform:translate(-50%,60px)}to{opacity:1;transform:translate(-50%)}}.drawer-close-btn{align-items:center;background:#ffffff1a;border:none;border-radius:50%;color:#cbd5e1;cursor:pointer;display:flex;font-size:14px;height:28px;justify-content:center;position:absolute;right:18px;top:14px;transition:all .2s ease;width:28px}.drawer-close-btn:hover{background:#fff3;color:#fff}.drawer-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.drawer-title-group{align-items:center;display:flex;gap:10px}.point-region-badge{background:#38bdf826;border:1px solid #38bdf84d;border-radius:6px;color:#38bdf8;font-size:11px;font-weight:700;padding:3px 8px}.point-name{color:#fff;font-size:20px;font-weight:800;margin:0}.point-index-badge{border-radius:12px;color:#fff;font-size:12px;font-weight:700;padding:4px 10px}.fish-thumb-container{align-items:center;background:#1e293bb3;border:1px solid #ffffff1a;border-radius:12px;display:flex;gap:8px;padding:4px 10px}.fish-thumb-img{border-radius:50%;height:32px;object-fit:cover;width:32px}.fish-thumb-label{color:#38bdf8;font-size:12px;font-weight:700}.drawer-metrics-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(4,1fr);margin-bottom:14px}.metric-box{align-items:center;background:#1e293b99;border:1px solid #ffffff14;border-radius:12px;display:flex;flex-direction:column;padding:10px;text-align:center}.metric-icon{font-size:16px;margin-bottom:2px}.metric-label{color:#94a3b8;font-size:11px;margin-bottom:2px}.metric-val{color:#fff;font-size:12px;font-weight:700}.drawer-tide-info{background:#1e293b66;border:1px dashed #ffffff1f;border-radius:10px;color:#cbd5e1;font-size:12px;margin-bottom:16px;padding:8px 12px}.drawer-action-bar{display:flex}.booking-action-btn{background:linear-gradient(135deg,#0284c7,#2563eb);border:none;border-radius:12px;box-shadow:0 4px 14px #2563eb66;color:#fff;cursor:pointer;font-size:14px;font-weight:700;padding:12px 18px;transition:all .2s ease;width:100%}.booking-action-btn:hover{background:linear-gradient(135deg,#0369a1,#1d4ed8);transform:translateY(-1px)}.drawer-aqua-section{background:#0d94881f;border:1px solid #0d94884d;border-radius:12px;color:#f8fafc;margin-top:12px;padding:12px 14px}.aqua-header{align-items:center;color:#2dd4bf;display:flex;font-size:13px;gap:6px;margin-bottom:8px}.aqua-body{display:flex;flex-direction:column;font-size:12px;gap:4px}.aqua-row{display:flex;gap:8px}.aqua-label{color:#94a3b8;font-weight:600;min-width:85px}.aqua-val{color:#e2e8f0;font-weight:500}.aqua-val.highlight{color:#2dd4bf;font-weight:700}.aqua-row.alert{border-top:1px dashed #ffffff1a;margin-top:4px;padding-top:4px}.aqua-row.alert .aqua-label{color:#f87171}.aqua-row.alert .aqua-val{color:#fca5a5;font-weight:600}.marine-info-attribution-bar{background:#0f172ab3;border-radius:6px;bottom:8px;color:#64748b;font-size:10px;padding:4px 10px;position:absolute;right:16px;z-index:90}.marine-info-zoom-controls{bottom:28px;display:flex;flex-direction:column;gap:8px;position:absolute;right:16px;transition:all .3s cubic-bezier(.16,1,.3,1);z-index:95}.marine-info-zoom-controls.drawer-open{bottom:300px}.map-zoom-btn{align-items:center;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#0f172ae0;border:1px solid #ffffff2e;border-radius:12px;box-shadow:0 8px 20px -4px #0006;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:700;height:44px;justify-content:center;touch-action:manipulation;transition:all .2s cubic-bezier(.16,1,.3,1);user-select:none;-webkit-user-select:none;width:44px}.map-zoom-btn:active,.map-zoom-btn:hover{background:#0284c7;border-color:#38bdf8;box-shadow:0 8px 22px #0284c780;transform:scale(1.08)}.map-zoom-btn.location-btn{background:#0d9488e0;border-color:#2dd4bf66}.map-zoom-btn.location-btn:active,.map-zoom-btn.location-btn:hover{background:#0d9488;border-color:#2dd4bf}@media (max-width:768px){.marine-info-top-header{left:8px;right:8px;top:8px}.marine-info-header-inner{flex-wrap:wrap;gap:6px;padding:8px 10px}.marine-info-logo{flex:0 0 auto;gap:6px}.marine-info-logo-img{height:28px}.marine-info-logo-badge{display:none}.marine-info-nav-links{-webkit-overflow-scrolling:touch;flex:1 1;gap:4px;justify-content:flex-end;overflow-x:auto;white-space:nowrap}.marine-info-nav-item{font-size:11px;padding:4px 6px;white-space:nowrap}.marine-info-search-form{margin-top:2px;max-width:100%;order:3;width:100%}.marine-info-search-input{font-size:12px;padding:7px 30px 7px 32px}.search-icon{font-size:12px;left:10px}.marine-info-floating-filter-bar{-webkit-overflow-scrolling:touch;flex-direction:row;flex-wrap:nowrap;gap:8px;left:8px;max-width:none;overflow-x:auto;padding:6px 10px;right:8px;top:106px;transform:none;width:auto}.marine-info-date-tabs{flex:0 0 auto}.marine-info-dropdown-group{flex:0 0 auto;gap:4px}.marine-info-select{font-size:11px;padding:4px 6px}.marine-info-layer-widget{gap:4px;max-width:115px;padding:6px;right:8px;top:156px;width:auto}.widget-title{font-size:9px}.layer-mode-btn{font-size:11px;padding:5px 8px}.layer-icon{font-size:12px}.drawer-metrics-grid{grid-template-columns:repeat(2,1fr)}.marine-info-zoom-controls{bottom:24px;gap:6px;right:8px}.marine-info-zoom-controls.drawer-open{bottom:320px}.map-zoom-btn{border-radius:10px;font-size:14px;height:38px;width:38px}}@media (min-width:769px) and (max-width:1180px){.marine-info-top-header{left:12px;right:12px;top:12px}.marine-info-header-inner{gap:10px;padding:8px 14px}.marine-info-logo-badge{display:none}.marine-info-search-form{flex:0 1 240px;max-width:240px;min-width:120px}.marine-info-search-input{font-size:12px;padding:7px 30px 7px 32px}.marine-info-nav-links{gap:4px}.marine-info-nav-item{font-size:13px;padding:5px 8px}.marine-info-floating-filter-bar{gap:8px;padding:6px 12px;top:80px}.date-tab-btn{font-size:11px;padding:5px 9px}.marine-info-select{font-size:11px;padding:5px 8px}}.fish-jump-overlay-container{align-items:flex-end;display:flex;height:80px;justify-content:center;margin-bottom:26px;overflow:visible;pointer-events:none;position:absolute;transform:translate(-50%,-100%);width:140px;z-index:99}.fish-water-splash-base{animation:splashRipple 1.6s ease-out infinite;background:radial-gradient(ellipse at center,#38bdf899 0,#0284c726 55%,#0284c700 80%);border-radius:50%;bottom:-2px;height:10px;position:absolute;width:90px}@keyframes splashRipple{0%{opacity:.9;transform:scale(.5)}50%{opacity:.45;transform:scale(1.3)}to{opacity:0;transform:scale(1.8)}}.jumping-fish-item{animation:fishJumpArc 2.2s cubic-bezier(.25,.46,.45,.94) infinite;bottom:0;filter:drop-shadow(0 4px 8px rgba(2,132,199,.6));font-size:1.6rem;line-height:1;opacity:0;position:absolute;will-change:transform,opacity}.jumping-fish-img,.jumping-fish-item{background:#0000!important;border:none!important;box-shadow:none!important}.jumping-fish-img{border-radius:0!important;filter:drop-shadow(0 4px 6px rgba(0,0,0,.35));height:32px;object-fit:contain;width:32px}@keyframes fishJumpArc{0%{opacity:0;transform:translate(25px,15px) rotate(45deg) scale(.5);transform:translate(calc(var(--fish-offset-x, 0px) + 25px),15px) rotate(45deg) scale(.5)}12%{opacity:1}45%{opacity:1;transform:translateY(-48px) rotate(-15deg) scale(1.25);transform:translate(var(--fish-offset-x,0),-48px) rotate(-15deg) scale(1.25)}78%{opacity:1}92%{opacity:.8;transform:translate(-24px,12px) rotate(-70deg) scale(.7);transform:translate(calc(var(--fish-offset-x, 0px) - 24px),12px) rotate(-70deg) scale(.7)}to{opacity:0;transform:translate(-30px,18px) rotate(-85deg) scale(.4);transform:translate(calc(var(--fish-offset-x, 0px) - 30px),18px) rotate(-85deg) scale(.4)}}.fish-splash-drop{animation:splashDropFly 1.4s cubic-bezier(.1,.8,.3,1) infinite;background-color:#38bdf8;border-radius:50%;bottom:2px;box-shadow:0 0 6px #7dd3fc;height:5px;position:absolute;width:5px}@keyframes splashDropFly{0%{opacity:1;transform:translate(0) scale(1)}60%{opacity:.8}to{opacity:0;transform:translate(10px,-24px) scale(.2);transform:translate(var(--drop-x,10px),-24px) scale(.2)}}.fish-jump-info-pill{align-items:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#0f172aeb;border:1.5px solid #38bdf8a6;border-radius:20px;bottom:-4px;box-shadow:0 4px 14px #0f172a73;cursor:pointer;display:flex;gap:5px;padding:4px 10px 4px 6px;position:absolute;transition:all .2s ease;white-space:nowrap}.fish-jump-overlay-container:hover .fish-jump-info-pill{border-color:#38bdf8;box-shadow:0 6px 18px #38bdf873;transform:scale(1.06)}.fish-pill-badge{border-radius:12px;color:#fff;font-size:10px;font-weight:800;line-height:1.2;padding:2px 7px}.fish-pill-title{color:#f8fafc;font-size:12px;font-weight:700}.fish-pill-species{color:#38bdf8;font-size:11px;font-weight:600}.captain-dashboard-wrapper{background-color:#f8fafc;color:#0f172a;min-height:100vh;padding-bottom:40px}.captain-header{background:linear-gradient(135deg,#0284c7,#0369a1);box-shadow:0 4px 12px #0284c726;color:#fff;padding:16px 20px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.captain-header-inner{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:800px}.captain-title{font-size:1.25rem;font-weight:700;margin:0}.refresh-btn{background:#fff3;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.2rem;padding:6px 12px;transition:background .2s}.refresh-btn:active{background:#fff6}.captain-controls{display:flex;flex-wrap:wrap;gap:12px;margin:16px auto;max-width:800px;padding:0 16px}.control-group{display:flex;flex:1 1;flex-direction:column;gap:6px;min-width:140px}.control-group label{color:#475569;font-size:.85rem;font-weight:600}.boat-select,.date-input{background-color:#fff;border:1px solid #cbd5e1;border-radius:8px;box-sizing:border-box;font-size:.95rem;padding:10px 14px;width:100%}.captain-main{margin:0 auto;max-width:800px;padding:0 16px}.summary-card{background:#fff;border-left:5px solid #0284c7;border-radius:14px;box-shadow:0 2px 10px #0000000d;margin-bottom:20px;padding:18px}.summary-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.boat-name{color:#0f172a;font-size:1.3rem;font-weight:800;margin:0}.boat-capacity{background:#f1f5f9;border-radius:20px;color:#475569;font-size:.85rem;font-weight:600;padding:4px 10px}.captain-info{color:#64748b;font-size:.85rem;margin:4px 0 14px}.summary-stats{grid-gap:10px;background:#f8fafc;border-radius:10px;display:grid;gap:10px;grid-template-columns:repeat(3,1fr);padding:12px;text-align:center}.stat-item{display:flex;flex-direction:column;gap:4px}.stat-label{color:#64748b;font-size:.75rem}.stat-value{font-size:1.1rem;font-weight:700}.count-booked{color:#0284c7}.count-available{color:#16a34a}.count-completed{color:#9333ea}.passenger-list-section{margin-top:10px}.section-title{color:#1e293b;font-size:1.1rem;font-weight:700;margin-bottom:12px}.empty-passengers{background:#fff;border-radius:12px;color:#64748b;padding:40px 20px;text-align:center}.empty-icon{font-size:2.5rem;margin-bottom:8px}.passenger-cards{display:flex;flex-direction:column;gap:12px}.passenger-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 8px #0000000a;padding:16px;transition:all .2s ease}.passenger-card.boarded{background:#f0fdf4;border-color:#bbf7d0}.passenger-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.user-info{align-items:center;display:flex;gap:8px}.user-name{color:#0f172a;font-size:1.15rem;font-weight:700}.adult-count{background:#e0f2fe;border-radius:12px;color:#0369a1;font-size:.8rem;font-weight:700;padding:2px 8px}.status-badge{border-radius:6px;font-size:.75rem;font-weight:600;padding:3px 8px}.status-confirmed{background:#dcfce7;color:#15803d}.status-cancelled{background:#fee2e2;color:#b91c1c}.passenger-card-body{color:#475569;font-size:.9rem;margin-bottom:12px}.seat-badge{background:#e0f2fe;border-radius:4px;color:#0284c7;padding:2px 6px}.passenger-card-footer{border-top:1px dashed #e2e8f0;display:flex;gap:10px;justify-content:space-between;padding-top:10px}.call-btn{align-items:center;background:#0284c7;color:#fff;display:inline-flex;font-weight:600;gap:4px;padding:8px 14px;text-decoration:none}.call-btn,.check-board-btn{border-radius:8px;font-size:.85rem}.check-board-btn{background:#fff;border:1px solid #cbd5e1;color:#475569;cursor:pointer;font-weight:700;padding:8px 16px;transition:all .2s}.check-board-btn.checked{background:#16a34a;border-color:#16a34a;color:#fff}.captain-portal-container{align-items:center;background:linear-gradient(135deg,#0f172a,#1e293b);display:flex;justify-content:center;min-height:100vh;padding:40px 20px}.captain-signup-card{background:#fff;border-radius:20px;box-shadow:0 20px 50px #0000004d;max-width:820px;padding:40px;width:100%}.captain-signup-header{margin-bottom:30px;text-align:center}.captain-logo-img{height:48px;margin-bottom:12px}.captain-title{color:#0f172a;font-size:1.6rem;font-weight:800;margin-bottom:8px}.captain-subtitle{color:#64748b;font-size:.95rem;line-height:1.5}.captain-signup-form{display:flex;flex-direction:column;gap:20px}.captain-form-row{display:flex;gap:16px}.captain-form-group{display:flex;flex:1 1;flex-direction:column;gap:6px}.captain-form-group.flex-2{flex:2 1}.captain-label{color:#334155;font-size:.88rem;font-weight:700}.captain-input,.captain-select,.captain-textarea{border:1.5px solid #cbd5e1;border-radius:10px;color:#0f172a;font-size:.95rem;outline:none;padding:12px 14px;transition:all .2s ease;width:100%}.captain-input:focus,.captain-select:focus,.captain-textarea:focus{border-color:#0284c7;box-shadow:0 0 0 3px #0284c726}.captain-radio-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr);margin-top:6px}.captain-radio-box{align-items:flex-start;background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;padding:14px;position:relative;transition:all .2s ease}.captain-radio-box input[type=radio]{accent-color:#0284c7;position:absolute;right:14px;top:14px}.captain-radio-box.active{background:#f0f9ff;border-color:#0284c7}.radio-icon{font-size:1.5rem;margin-bottom:6px}.radio-title{color:#0f172a;font-size:.95rem;font-weight:800}.radio-desc{color:#64748b;font-size:.8rem;margin-top:2px}.captain-submit-btn{background:linear-gradient(135deg,#0284c7,#2563eb);border:none;border-radius:12px;box-shadow:0 8px 20px #0284c74d;color:#fff;cursor:pointer;font-size:1.05rem;font-weight:800;margin-top:10px;padding:16px;transition:all .2s ease;width:100%}.captain-submit-btn:hover{box-shadow:0 12px 25px #0284c766;transform:translateY(-2px)}.captain-dashboard-page{background:#f1f5f9;min-height:100vh}.captain-dash-header{background:#fff;border-bottom:1px solid #e2e8f0;padding:24px 0}.dash-title-row{align-items:center;display:flex;justify-content:space-between}.dash-title{color:#0f172a;font-size:1.5rem;font-weight:800}.dash-subtitle{color:#64748b;font-size:.9rem;margin-top:4px}.dash-btn-group{display:flex;gap:10px}.captain-action-btn{align-items:center;border:none;border-radius:10px;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:700;justify-content:center;padding:10px 18px;text-decoration:none;transition:all .2s ease}.captain-action-btn.primary{background:#0284c7;color:#fff}.captain-action-btn.primary:hover{background:#0369a1}.captain-action-btn.secondary{background:#e2e8f0;color:#334155}.captain-action-btn.secondary:hover{background:#cbd5e1}.captain-dash-content{padding:30px 0}.captain-empty-box{background:#fff;border:2px dashed #cbd5e1;border-radius:16px;padding:60px 20px;text-align:center}.empty-icon{display:block;font-size:3rem;margin-bottom:16px}.facility-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.facility-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 12px #0000000d;overflow:hidden}.facility-img-box{background:#e2e8f0;height:180px;position:relative}.facility-img-box img{height:100%;object-fit:cover;width:100%}.no-img-placeholder{align-items:center;color:#94a3b8;display:flex;font-weight:700;height:100%;justify-content:center}.facility-type-badge{background:#0f172ad9;border-radius:20px;color:#fff;font-size:.78rem;font-weight:700;left:12px;padding:4px 10px;position:absolute;top:12px}.facility-info{padding:16px}.facility-name{color:#0f172a;font-size:1.1rem;font-weight:800;margin-bottom:8px}.facility-meta{color:#64748b;display:flex;flex-direction:column;font-size:.85rem;gap:4px;margin-bottom:10px}.facility-desc{color:#475569;font-size:.85rem;line-height:1.4}.captain-modal-overlay{align-items:center;background:#0f172a99;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.captain-modal-card{background:#fff;border-radius:20px;box-shadow:0 20px 40px #0003;max-width:560px;padding:24px;width:100%}.modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.modal-header h2{color:#0f172a;font-size:1.25rem;font-weight:800}.modal-close{background:none;border:none;color:#64748b;cursor:pointer;font-size:1.2rem}.modal-body{display:flex;flex-direction:column;gap:16px}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:10px}.captain-product-table-wrapper{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 12px #0000000d;overflow:hidden}.captain-product-table{border-collapse:collapse;text-align:left;width:100%}.captain-product-table th{background:#f8fafc;border-bottom:1px solid #e2e8f0;color:#475569;font-size:.85rem;font-weight:700;padding:14px 16px}.captain-product-table td{border-bottom:1px solid #f1f5f9;color:#0f172a;font-size:.9rem;padding:14px 16px;vertical-align:middle}.table-product-info{align-items:center;display:flex;gap:12px}.product-mini-thumb{border-radius:8px;height:48px;object-fit:cover;width:48px}.product-name{font-weight:700}.product-sub-info{color:#64748b;font-size:.8rem}.category-tag{background:#f0f9ff;border-radius:6px;color:#0284c7;font-size:.8rem;font-weight:700;padding:4px 10px}.status-pill{font-size:.82rem;font-weight:700}.status-pill.status-active{color:#16a34a}.status-pill.status-inactive{color:#dc2626}.table-action-btns{display:flex;gap:6px}.table-btn{border:none;border-radius:6px;cursor:pointer;font-size:.8rem;font-weight:700;padding:6px 12px;text-decoration:none}.table-btn.status-btn{background:#f1f5f9;color:#334155}.table-btn.edit-btn{background:#e0f2fe;color:#0369a1}@media (max-width:640px){.captain-form-row{flex-direction:column}.captain-radio-grid{grid-template-columns:1fr}}
/*# sourceMappingURL=main.5145f48b.css.map*/