@charset "UTF-8";

/* Original file: files/cache/assets/compiled/8d9d7b6550a4c7aa1fef06d431d813b10907511b.rhymix.scss.min.css */

body,table,input,textarea,select,button{font-family:sans-serif;font-size:12px}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}body{position:relative}body.rx_modal_open{overflow:hidden;position:fixed}a img{border:0}[hidden]{display:none}.xe_content,.rhymix_content{font-family:inherit;font-size:13px;line-height:160%;word-break:normal;word-wrap:break-word;overflow-wrap:anywhere}.xe_content p,.rhymix_content p{margin:0 0 0px 0;line-height:160%}.xe_content p span,.rhymix_content p span{line-height:160%}.xe_content img,.xe_content video,.rhymix_content img,.rhymix_content video{max-width:100%;height:auto}.xe_content table,.rhymix_content table{font:inherit}.xe_content blockquote,.rhymix_content blockquote{padding:2px 0;border-style:solid;border-color:#ccc;border-width:0;border-left-width:5px;padding-left:20px;padding-right:8px}.xe_content blockquote:lang(ar),.xe_content blockquote:lang(arc),.xe_content blockquote:lang(dv),.xe_content blockquote:lang(ha),.xe_content blockquote:lang(he),.xe_content blockquote:lang(khw),.xe_content blockquote:lang(ks),.xe_content blockquote:lang(ku),.xe_content blockquote:lang(ps),.xe_content blockquote:lang(fa),.xe_content blockquote:lang(ur),.xe_content blockquote:lang(yi),.rhymix_content blockquote:lang(ar),.rhymix_content blockquote:lang(arc),.rhymix_content blockquote:lang(dv),.rhymix_content blockquote:lang(ha),.rhymix_content blockquote:lang(he),.rhymix_content blockquote:lang(khw),.rhymix_content blockquote:lang(ks),.rhymix_content blockquote:lang(ku),.rhymix_content blockquote:lang(ps),.rhymix_content blockquote:lang(fa),.rhymix_content blockquote:lang(ur),.rhymix_content blockquote:lang(yi){border-left-width:0px;border-right-width:5px;padding-left:8px;padding-right:20px}.xe_content ul,.rhymix_content ul{list-style-type:disc}.xe_content ol,.rhymix_content ol{list-style-type:decimal}.xe_content ul,.xe_content ol,.rhymix_content ul,.rhymix_content ol{display:block;margin-left:1em;margin-right:0;padding-left:25px;padding-right:0}.xe_content ul:lang(ar),.xe_content ul:lang(arc),.xe_content ul:lang(dv),.xe_content ul:lang(ha),.xe_content ul:lang(he),.xe_content ul:lang(khw),.xe_content ul:lang(ks),.xe_content ul:lang(ku),.xe_content ul:lang(ps),.xe_content ul:lang(fa),.xe_content ul:lang(ur),.xe_content ul:lang(yi),.xe_content ol:lang(ar),.xe_content ol:lang(arc),.xe_content ol:lang(dv),.xe_content ol:lang(ha),.xe_content ol:lang(he),.xe_content ol:lang(khw),.xe_content ol:lang(ks),.xe_content ol:lang(ku),.xe_content ol:lang(ps),.xe_content ol:lang(fa),.xe_content ol:lang(ur),.xe_content ol:lang(yi),.rhymix_content ul:lang(ar),.rhymix_content ul:lang(arc),.rhymix_content ul:lang(dv),.rhymix_content ul:lang(ha),.rhymix_content ul:lang(he),.rhymix_content ul:lang(khw),.rhymix_content ul:lang(ks),.rhymix_content ul:lang(ku),.rhymix_content ul:lang(ps),.rhymix_content ul:lang(fa),.rhymix_content ul:lang(ur),.rhymix_content ul:lang(yi),.rhymix_content ol:lang(ar),.rhymix_content ol:lang(arc),.rhymix_content ol:lang(dv),.rhymix_content ol:lang(ha),.rhymix_content ol:lang(he),.rhymix_content ol:lang(khw),.rhymix_content ol:lang(ks),.rhymix_content ol:lang(ku),.rhymix_content ol:lang(ps),.rhymix_content ol:lang(fa),.rhymix_content ol:lang(ur),.rhymix_content ol:lang(yi){padding-left:0px;padding-right:25px;margin-left:0;margin-right:1em}.xe_content li,.rhymix_content li{display:list-item}@media screen{img,video{max-width:none}}.xe-clearfix:before,.xe-clearfix:after{content:" ";display:table}.xe-clearfix:after{clear:both}.xe-widget-wrapper{overflow:hidden}#rhymix_popup_menu,#popup_menu_area{position:absolute;z-index:9999;margin:10px 0;padding:0;border:1px solid #eeeeee;border-radius:2px;font-size:12px;box-shadow:0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);background:#fff;min-width:80px}#rhymix_popup_menu ul,#popup_menu_area ul{margin:0;padding:0;list-style:none}#rhymix_popup_menu li,#popup_menu_area li{margin:0;padding:0;line-height:1.5}#rhymix_popup_menu a,#popup_menu_area a{display:block;padding:5px;text-decoration:none;color:#212121}#rhymix_popup_menu a:hover,#rhymix_popup_menu a:active,#rhymix_popup_menu a:focus,#popup_menu_area a:hover,#popup_menu_area a:active,#popup_menu_area a:focus{background:#eeeeee;outline:none}@media screen and (max-width:400px){#rhymix_popup_menu,#popup_menu_area{min-width:120px;max-width:95%;font-size:13px}#rhymix_popup_menu a,#popup_menu_area a{display:block;padding:10px;text-decoration:none;color:#212121}}.editable_preview{width:100%;min-height:240px;max-height:440px;box-sizing:border-box;margin:0;padding:6px;border:1px solid #ccc;border-radius:4px;box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);overflow-y:auto;cursor:text}.editable_preview p{margin-bottom:0px !important}.editable_preview_iframe{width:100%;height:440px;box-sizing:border-box;margin:0 0 -4px 0;padding:0;border:0}#rhymix_alert{display:none;position:fixed;left:50%;bottom:20%;min-width:250px;max-width:500px;background-color:#000;color:#fff;font-size:16px;text-align:center;opacity:0.6;padding:12px 20px;border:1px solid #fff;border-radius:10px;transform:translateX(-50%);z-index:999999999}#rhymix_debug_button{display:none;position:fixed;left:0;bottom:40px;background:#eeeeee;background:linear-gradient(to bottom, #f4f4f4 0%, #eaeaea 100%);border:1px solid #ccc;border-left:0;border-top-right-radius:4px;border-bottom-right-radius:4px;box-shadow:0 0 3px 0 rgba(0, 0, 0, 0.18), 0 0 6px 0 rgba(0, 0, 0, 0.12);z-index:1073741824}#rhymix_debug_button.visible{display:block}@media print{#rhymix_debug_button.visible{display:none}}#rhymix_debug_button:hover{background:#dddddd;background:linear-gradient(to bottom, #e8e8e8 0%, #d9d9d9 100%)}#rhymix_debug_button a{display:block;font:bold 12px/14px Arial, sans-serif;color:#444;text-decoration:none;padding:4px 8px}#rhymix_debug_button a.has_errors{color:#f44336}#rhymix_debug_panel{display:none;position:fixed;left:0;top:0;max-width:100%;height:100%;overflow-y:scroll;background:#fcfcfc;box-sizing:border-box;border-right:1px solid #ccc;box-shadow:0 0 4px 0 rgba(0, 0, 0, 0.18), 0 0 8px 0 rgba(0, 0, 0, 0.12);z-index:1073741824}#rhymix_debug_panel .debug_header{clear:both;width:100%;height:36px;background:#444444;background:linear-gradient(to right, #222222 0%, #444444 40%, #eeeeee 100%);position:relative}#rhymix_debug_panel .debug_header h2{font:bold 16px/20px Arial, sans-serif;color:#fcfcfc;position:absolute;left:10px;top:10px;margin:0;padding:0}#rhymix_debug_panel .debug_header .debug_maximize{font:normal 20px/24px Arial, sans-serif;text-decoration:none;color:#444444;position:absolute;right:32px;top:6px}#rhymix_debug_panel .debug_header .debug_close{font:normal 28px/28px Arial, sans-serif;text-decoration:none;color:#444444;position:absolute;right:10px;top:4px}#rhymix_debug_panel .debug_header .debug_close:hover{color:#f44336}#rhymix_debug_panel .debug_page{clear:both;margin:12px 10px;font:normal 12px/16px Arial, NanumBarunGothic, NanumGothic, "Malgun Gothic", sans-serif}#rhymix_debug_panel .debug_page .debug_page_header{padding-bottom:8px;border-bottom:1px solid #ddd;position:relative;cursor:pointer}#rhymix_debug_panel .debug_page .debug_page_header h3{color:#444;font:inherit;font-size:14px;font-weight:bold;margin:0;padding:0}#rhymix_debug_panel .debug_page .debug_page_header h3 .error_count{display:inline-block;margin-left:6px;border-radius:4px;padding:2px 6px;font-size:12px;line-height:12px;background:#f44336;color:#ffffff}#rhymix_debug_panel .debug_page .debug_page_collapse{display:block;position:absolute;right:0;top:0;color:#999;font-size:10px;line-height:12px;text-decoration:none;padding:2px 2px}#rhymix_debug_panel .debug_page .debug_page_body{margin:8px 4px 8px 10px}#rhymix_debug_panel .debug_page .debug_page_body h4{color:#444;font:inherit;font-size:13px;font-weight:bold;margin:0 0 8px 0;padding:0}#rhymix_debug_panel .debug_page .debug_entry{font-family:Consolas, "Courier New", monospace;color:#444;margin-left:38px;margin-bottom:8px;text-indent:-28px;word-wrap:break-word;word-break:break-all}#rhymix_debug_panel .debug_page .debug_entry.pre_wrap{white-space:pre-wrap}#rhymix_debug_panel .debug_page .debug_entry ul.debug_metadata{margin:0 0 0 -16px;padding:0}#rhymix_debug_panel .debug_page .debug_entry ul.debug_metadata li{list-style:disc;margin:0;padding:0;text-indent:0}#rhymix_debug_panel .debug_page .debug_entry ul.debug_backtrace{margin:4px 0 0 16px;padding:0}#rhymix_debug_panel .debug_page .debug_entry ul.debug_backtrace li{list-style:disc;margin:0;padding:0;text-indent:0;color:#888}#rhymix_debug_panel .debug_page .debug_entry ul.debug_backtrace li ul{padding-left:20px}#rhymix_debug_panel .debug_page .debug_entry ul.debug_backtrace li ul li{list-style:circle}.btnArea{clear:both;margin:10px 0;padding:0;text-align:right}.btnArea:after{clear:both;display:block;content:""}.btn{display:inline-block;margin:0;padding:0 12px !important;height:24px !important;overflow:visible;border:1px solid #bbbbbb;border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);border-bottom-color:#a2a2a2;border-radius:2px;text-decoration:none !important;text-align:center;text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);vertical-align:top;line-height:24px !important;font-family:inherit;font-size:12px;color:#333333;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);background-color:#f5f5f5;background-image:-moz-linear-gradient(top, #ffffff, #e6e6e6);background-image:-webkit-linear-gradient(top, #ffffff, #e6e6e6);background-image:-webkit-gradient(top, #ffffff, #e6e6e6);background-image:-o-linear-gradient(top, #ffffff, #e6e6e6);background-image:linear-gradient(top, #ffffff, #e6e6e6);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff", endColorstr="#e6e6e6", GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn:hover,.btn:active,.btn[disabled]{color:#333;background-color:#e6e6e6}.btn>a,.btn>button,.btn>input,.btn>span{display:inline-block;margin:0 -12px !important;padding:0 12px !important;overflow:visible;width:auto;height:24px;border:0;vertical-align:top;text-decoration:none !important;line-height:24px;font-family:inherit;font-size:12px;color:#333;cursor:pointer;background:none}input.btn,button.btn{height:26px !important}.btn-group{position:relative;display:inline-block;white-space:nowrap;vertical-align:middle;font-size:0}.btn-group+.btn-group{margin-left:5px}.btn-group>.btn{position:relative;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group>.btn+.btn{margin-left:-1px}.btn-group>.btn:first-child{margin-left:0;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px}.btn-group>.btn:last-child{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px}.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active{z-index:2}.rhymix_button_wrapper{clear:both;margin:10px 0;padding:0;text-align:right}.rhymix_button_wrapper:after{clear:both;display:block;content:""}.rhymix_button{display:inline-block;margin:0;padding:0 12px !important;height:24px !important;overflow:visible;border:1px solid #bbbbbb;border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);border-bottom-color:#a2a2a2;border-radius:2px;text-decoration:none !important;text-align:center;text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);vertical-align:top;line-height:24px !important;font-family:inherit;font-size:12px;color:#333333;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);background-color:#f5f5f5;background-image:-moz-linear-gradient(top, #ffffff, #e6e6e6);background-image:-webkit-linear-gradient(top, #ffffff, #e6e6e6);background-image:-webkit-gradient(top, #ffffff, #e6e6e6);background-image:-o-linear-gradient(top, #ffffff, #e6e6e6);background-image:linear-gradient(top, #ffffff, #e6e6e6);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff", endColorstr="#e6e6e6", GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.rhymix_button:hover,.rhymix_button:active,.rhymix_button[disabled]{color:#333;background-color:#e6e6e6}.rhymix_button>a,.rhymix_button>button,.rhymix_button>input,.rhymix_button>span{display:inline-block;margin:0 -12px !important;padding:0 12px !important;overflow:visible;width:auto;height:24px;border:0;vertical-align:top;text-decoration:none !important;line-height:24px;font-family:inherit;font-size:12px;color:#333;cursor:pointer;background:none}input.rhymix_button,button.rhymix_button{height:26px !important}.message{position:relative;margin:1em 0;padding:0 1em;border:1px solid #ddd;border-radius:4px;line-height:1.4;font-size:13px;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);background-color:#f8f8f8}.message p{margin:1em 0 !important}.message.info{border-color:#BCE8F1;color:#3A87AD;background-color:#D9EDF7}.message.error{border-color:#EED3D7;color:#B94A48;background-color:#F2DEDE}.message.update{border-color:#D6E9C6;color:#468847;background-color:#DFF0D8}body>.message{margin:1em}.rhymix_message{position:relative;margin:1em 0;padding:0 1em;border:1px solid #ddd;border-radius:4px;line-height:1.4;font-size:13px;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);background-color:#f8f8f8}.rhymix_message p{margin:1em 0 !important}.rhymix_message.info{border-color:#BCE8F1;color:#3A87AD;background-color:#D9EDF7}.rhymix_message.error{border-color:#EED3D7;color:#B94A48;background-color:#F2DEDE}.rhymix_message.update{border-color:#D6E9C6;color:#468847;background-color:#DFF0D8}body>.rhymix_message{margin:1em}/* sourceMappingURL=8d9d7b6550a4c7aa1fef06d431d813b10907511b.rhymix.scss.min.map */

/* Original file: layouts/bean/css/bean.base.css */

/* ============================================================
   BEAN THEME — bean.base.css  (골조 / 구조 전용, 색상 없음)
   색상은 bean.colors.css 의 --bean-* 변수로 주입됩니다.
   모든 선택자는 .bean_ 접두어로 격리되어 라이믹스/브라우저
   기본 CSS 와 충돌하지 않습니다.
   ============================================================ */

/* ---- reset (scoped) ---- */
/* body 기본 여백(브라우저 UA 8px) 제거 — _init.html 이 body 에 bean_layout 클래스 부여 */
body.bean_layout{margin:0;padding:0;}
.bean_root *,.bean_root *::before,.bean_root *::after{box-sizing:border-box;}
.bean_root{
	--bean-sans:'Pretendard Variable','Pretendard',-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Malgun Gothic','Segoe UI',sans-serif;
	--bean-serif:'Times New Roman',serif;
	font-family:var(--bean-sans);
	font-size:16px;
	color:var(--bean-text);
	background:var(--bean-bg);
	line-height:1.65;
	-webkit-font-smoothing:antialiased;
	min-height:100vh;
}
/* 타이포 여백 리셋 — :where() 로 specificity 0 → 컴포넌트 클래스 마진이 항상 이김.
   (이전에 [class^="bean_"] 로 리셋했더니 .bean_wrap 의 margin:0 auto 까지 덮어써
    레이아웃이 한쪽으로 쏠렸음.) ul/ol/img 는 제외해 게시글 본문 스타일 보존. */
.bean_root :where(h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd){margin:0;}
.bean_gnb-list,.bean_foot-menu,.bean_cmt-list{list-style:none;margin:0;padding:0;}
.bean_root :where(a){color:inherit;text-decoration:none;}
/* 게시글·콘텐츠 본문 링크는 가독성 위해 강조색 + 밑줄 복원 */
.bean_view-body a,.bean_root .xe_content a,.bean_root .rhymix_content a{
	color:var(--bean-accent);text-decoration:underline;}
.bean_wrap{max-width:1180px;margin:0 auto;padding:0 28px;}

/* ---- scrollbar ---- */
.bean_root ::-webkit-scrollbar{width:12px;height:10px;}
.bean_root ::-webkit-scrollbar-track{background:var(--bean-surf);}
.bean_root ::-webkit-scrollbar-thumb{background:var(--bean-accent);border-radius:8px;border:3px solid var(--bean-surf);}

/* ---- buttons / generic ---- */
.bean_btn{display:inline-block;background:var(--bean-accent);color:var(--bean-onaccent);
	padding:13px 24px;border-radius:999px;font-size:13.5px;font-weight:700;border:0;cursor:pointer;
	font-family:inherit;line-height:1.2;transition:background .15s;text-align:center;}
.bean_btn:hover{background:var(--bean-accent2);}
/* 테두리만 있는 버튼 — 테두리색과 글자색을 같게 */
.bean_btn-line{display:inline-block;background:none;border:1px solid var(--bean-text);color:var(--bean-text);
	padding:12px 22px;border-radius:999px;font-size:13.5px;font-weight:700;cursor:pointer;
	font-family:inherit;line-height:1.2;transition:.15s;text-align:center;}
.bean_btn-line:hover{border-color:var(--bean-accent);color:var(--bean-accent);}
.bean_btn-sm{padding:9px 16px;font-size:12.5px;}
.bean_panel{background:var(--bean-card);border:1px solid var(--bean-line);border-radius:14px;}
/* 입력창 placeholder — 테마 muted 색으로 통일 */
.bean_root input::placeholder,.bean_root textarea::placeholder{color:var(--bean-muted);opacity:1;}

/* ============================================================
   HEADER
   ============================================================ */
.bean_header{position:fixed;top:0;left:0;right:0;z-index:80;
	transition:background .25s,border-color .25s;
	background:var(--bean-head);border-bottom:1px solid var(--bean-line);
	backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);}
.bean_page-main .bean_header{background:transparent;border-bottom-color:transparent;
	backdrop-filter:none;-webkit-backdrop-filter:none;}
.bean_page-main .bean_header.bean_is-solid{background:var(--bean-head);border-bottom-color:var(--bean-line);
	backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);}
.bean_nav{display:flex;align-items:center;justify-content:space-between;
	height:74px;gap:24px;position:relative;}
.bean_logo{flex:0 0 auto;}
.bean_logo-text{font-weight:800;font-size:22px;letter-spacing:3px;color:var(--bean-text);}
.bean_page-main .bean_header:not(.bean_is-solid) .bean_logo-text{color:#fff;}
.bean_logo-img{height:34px;width:auto;display:block;}

/* gnb */
.bean_gnb-list{display:flex;gap:6px;}
.bean_gnb-item{position:relative;}
.bean_gnb-link{display:flex;align-items:center;gap:6px;padding:12px 16px;
	font-size:13.5px;font-weight:600;color:var(--bean-muted);border-radius:9px;transition:.15s;}
.bean_gnb-link:hover,.bean_gnb-item.bean_is-open>.bean_gnb-link,.bean_gnb-item.bean_is-on>.bean_gnb-link{
	color:var(--bean-text);background:var(--bean-surf);}
.bean_page-main .bean_header:not(.bean_is-solid) .bean_gnb-link{color:rgba(255,255,255,.82);}
.bean_page-main .bean_header:not(.bean_is-solid) .bean_gnb-link:hover,
.bean_page-main .bean_header:not(.bean_is-solid) .bean_gnb-item.bean_is-open>.bean_gnb-link,
.bean_page-main .bean_header:not(.bean_is-solid) .bean_gnb-item.bean_is-on>.bean_gnb-link{
	color:#fff;background:rgba(255,255,255,.14);}
.bean_caret{font-size:9px;transition:transform .2s;cursor:pointer;padding:3px 4px;margin:-3px -2px;}
.bean_gnb-item.bean_is-open>.bean_gnb-link .bean_caret{transform:rotate(180deg);}

/* mega */
.bean_mega{position:absolute;top:calc(100% + 8px);left:0;min-width:300px;
	background:var(--bean-card);border:1px solid var(--bean-line);border-radius:14px;padding:12px;
	opacity:0;visibility:hidden;transform:translateY(8px);transition:all .18s;
	box-shadow:0 24px 50px rgba(0,0,0,.3);}
.bean_gnb-item.bean_is-open .bean_mega{opacity:1;visibility:visible;transform:translateY(0);}
.bean_mega-leaf{display:flex;align-items:flex-start;gap:10px;padding:11px 12px;border-radius:9px;
	color:var(--bean-text);transition:background .15s;}
.bean_mega-leaf:hover{background:var(--bean-surf);}
.bean_mega-dot{width:6px;height:6px;border-radius:50%;background:var(--bean-accent);flex:0 0 auto;margin-top:6px;}
.bean_mega-leaf-body{display:flex;flex-direction:column;}
.bean_mega-leaf-text{font-size:14px;font-weight:600;}
.bean_mega-leaf-desc{font-size:11.5px;color:var(--bean-muted);margin-top:2px;line-height:1.45;}
.bean_mega-group{margin-top:6px;padding:10px 12px 4px;border-top:1px solid var(--bean-line);}
.bean_mega-head{font-size:12px;font-weight:700;letter-spacing:1px;color:var(--bean-accent);margin-bottom:6px;}
.bean_mega-leaf3{display:block;padding:9px 12px 9px 22px;border-radius:8px;
	color:var(--bean-text);transition:background .15s;}
.bean_mega-leaf3:hover{background:var(--bean-surf);}
.bean_mega-leaf3-text{display:block;font-size:13.5px;font-weight:600;}
.bean_mega-leaf3-desc{display:block;font-size:11.5px;color:var(--bean-muted);margin-top:2px;line-height:1.45;}

/* nav tools */
.bean_nav-tools{display:flex;align-items:center;gap:10px;flex:0 0 auto;}
.bean_nav-cta{background:none;border:1px solid var(--bean-accent);color:var(--bean-accent);
	padding:9px 18px;border-radius:999px;font-size:12px;font-weight:700;
	font-family:inherit;cursor:pointer;line-height:1.2;transition:.15s;}
.bean_nav-cta:hover{background:var(--bean-accent);color:var(--bean-onaccent);}
.bean_page-main .bean_header:not(.bean_is-solid) .bean_nav-cta{border-color:rgba(255,255,255,.55);color:#fff;}

/* burger */
.bean_burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:6px;}
.bean_burger-bar{width:24px;height:2px;background:var(--bean-text);display:block;}
.bean_page-main .bean_header:not(.bean_is-solid) .bean_burger-bar{background:#fff;}

/* ---- 프로필 드롭다운 ---- */
.bean_profile{position:relative;}
.bean_profile-btn{background:none;border:0;cursor:pointer;padding:0;display:block;}
.bean_profile-ava{display:flex;align-items:center;justify-content:center;
	width:38px;height:38px;border-radius:50%;background:var(--bean-accent);
	color:var(--bean-onaccent);font-size:15px;font-weight:800;overflow:hidden;
	border:2px solid transparent;transition:.15s;}
.bean_profile-ava-img{width:100%;height:100%;border-radius:50%;object-fit:cover;}
.bean_profile-btn:hover .bean_profile-ava,
.bean_profile.bean_is-open .bean_profile-ava{border-color:var(--bean-accent2);}
.bean_profile-menu{position:absolute;top:calc(100% + 12px);right:0;width:320px;max-width:86vw;
	background:var(--bean-card);border:1px solid var(--bean-line);border-radius:14px;
	box-shadow:0 24px 50px rgba(0,0,0,.3);overflow:hidden;z-index:90;
	opacity:0;visibility:hidden;transform:translateY(8px);transition:all .18s;}
.bean_profile.bean_is-open .bean_profile-menu{opacity:1;visibility:visible;transform:translateY(0);}
.bean_profile-head{padding:18px 20px;border-bottom:1px solid var(--bean-line);}
.bean_profile-name{font-size:15px;font-weight:800;color:var(--bean-text);}
.bean_profile-id{font-size:12px;color:var(--bean-muted);margin-top:2px;}
.bean_profile-noti{padding:14px 20px;border-bottom:1px solid var(--bean-line);}
.bean_profile-noti-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;}
.bean_profile-noti-title{font-size:11.5px;font-weight:800;letter-spacing:1px;color:var(--bean-accent);}
.bean_profile-noti-all{font-size:11.5px;color:var(--bean-muted);}
.bean_profile-noti-all:hover{color:var(--bean-accent);}
.bean_profile-noti-empty{font-size:12.5px;color:var(--bean-muted);padding:4px 0;}
.bean_profile-noti-list{display:flex;flex-direction:column;max-height:220px;overflow-y:auto;}
.bean_profile-noti-item{display:block;padding:8px 0;border-top:1px solid var(--bean-line);}
.bean_profile-noti-item:hover{color:var(--bean-accent);}
.bean_profile-noti-text{display:block;font-size:12.5px;color:var(--bean-text);line-height:1.5;
	overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.bean_profile-noti-item:hover .bean_profile-noti-text{color:var(--bean-accent);}
.bean_profile-noti-ago{display:block;font-size:11px;color:var(--bean-muted);margin-top:2px;}
.bean_profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;padding:10px;}
.bean_profile-item{display:block;padding:9px 12px;border-radius:8px;font-size:13px;
	font-weight:600;color:var(--bean-text);transition:.12s;}
.bean_profile-item:hover{background:var(--bean-surf);color:var(--bean-accent);}
.bean_profile-sec{border-top:1px solid var(--bean-line);}
.bean_profile-sec-title{font-size:11px;font-weight:800;letter-spacing:1px;
	color:var(--bean-accent);padding:12px 22px 0;}
.bean_profile-foot{border-top:1px solid var(--bean-line);padding:10px;
	display:flex;flex-direction:column;gap:2px;}
.bean_profile-admin,.bean_profile-logout{display:block;padding:10px 12px;border-radius:8px;
	font-size:13px;font-weight:700;transition:.12s;}
.bean_profile-admin{color:var(--bean-accent);}
.bean_profile-admin:hover{background:var(--bean-surf);}
.bean_profile-logout{color:var(--bean-muted);}
.bean_profile-logout:hover{background:var(--bean-surf);color:var(--bean-text);}

/* ---- 로그인 드롭다운 ---- */
.bean_login{position:relative;}
.bean_login-btn{display:flex;align-items:center;justify-content:center;flex:0 0 auto;
	width:38px;height:38px;border-radius:50%;background:var(--bean-accent);
	color:var(--bean-onaccent);border:2px solid transparent;cursor:pointer;
	padding:0;transition:.15s;}
.bean_login-btn:hover,.bean_login.bean_is-open .bean_login-btn{border-color:var(--bean-accent2);}
.bean_login-icon{width:20px;height:20px;display:block;}
.bean_login-menu{position:absolute;top:calc(100% + 12px);right:0;width:280px;max-width:86vw;
	background:var(--bean-card);border:1px solid var(--bean-line);border-radius:14px;
	box-shadow:0 24px 50px rgba(0,0,0,.3);padding:18px;z-index:90;
	opacity:0;visibility:hidden;transform:translateY(8px);transition:all .18s;}
.bean_login.bean_is-open .bean_login-menu{opacity:1;visibility:visible;transform:translateY(0);}
.bean_login-input{width:100%;padding:11px 13px;font-size:13.5px;font-family:inherit;
	background:var(--bean-surf);border:1px solid var(--bean-line);border-radius:9px;
	color:var(--bean-text);margin-bottom:8px;}
.bean_login-input:focus{outline:0;border-color:var(--bean-accent);}
.bean_login-keep{display:flex;align-items:center;gap:7px;font-size:12.5px;
	color:var(--bean-muted);margin:4px 0 12px;cursor:pointer;}
.bean_login-keep input{width:15px;height:15px;accent-color:var(--bean-accent);}
.bean_login-submit{width:100%;}
.bean_login-links{display:flex;justify-content:center;gap:14px;margin-top:14px;
	padding-top:12px;border-top:1px solid var(--bean-line);}
.bean_login-links a{font-size:12px;color:var(--bean-muted);}
.bean_login-links a:hover{color:var(--bean-accent);}

/* ============================================================
   SIDEBAR (mobile)
   ============================================================ */
.bean_ovl{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:90;
	opacity:0;visibility:hidden;transition:.2s;}
.bean_ovl.bean_is-show{opacity:1;visibility:visible;}
.bean_side{position:fixed;top:0;left:0;bottom:0;width:330px;max-width:86vw;z-index:95;
	background:var(--bean-card);border-right:1px solid var(--bean-line);
	transform:translateX(-100%);transition:transform .26s;overflow-y:auto;}
.bean_side.bean_is-show{transform:translateX(0);}
.bean_side-head{display:flex;align-items:center;justify-content:space-between;
	padding:22px 24px;border-bottom:1px solid var(--bean-line);}
.bean_side-close{background:none;border:0;color:var(--bean-text);font-size:24px;
	cursor:pointer;line-height:1;font-family:inherit;}
.bean_acc-top{display:flex;align-items:stretch;
	border-bottom:1px solid var(--bean-line);}
.bean_acc-label{flex:1;padding:16px 24px;font-size:15px;font-weight:700;
	color:var(--bean-text);}
.bean_acc-toggle{flex:0 0 auto;display:flex;align-items:center;justify-content:center;
	width:58px;background:none;border:0;border-left:1px solid var(--bean-line);
	cursor:pointer;color:var(--bean-muted);font-family:inherit;}
.bean_acc-toggle:hover{color:var(--bean-accent);}
.bean_acc-ar{font-size:11px;color:var(--bean-muted);transition:transform .2s;}
.bean_acc-toggle:hover .bean_acc-ar{color:var(--bean-accent);}
.bean_acc.bean_is-open>.bean_acc-top .bean_acc-ar{transform:rotate(180deg);}
.bean_acc-body{display:none;background:var(--bean-bg);border-bottom:1px solid var(--bean-line);}
.bean_acc.bean_is-open>.bean_acc-body{display:block;}
.bean_acc-leaf{display:block;padding:13px 24px 13px 42px;font-size:14px;
	border-bottom:1px solid var(--bean-line);color:var(--bean-text);}
.bean_acc-leaf:last-child{border-bottom:0;}
.bean_acc-sub{background:var(--bean-surf);}
.bean_acc-subhead{padding:12px 24px 12px 42px;font-size:12.5px;font-weight:700;
	letter-spacing:1px;color:var(--bean-accent);border-bottom:1px solid var(--bean-line);}

/* ============================================================
   HERO (main page) — fullscreen video / image
   ============================================================ */
.bean_hero{position:relative;height:100vh;min-height:560px;overflow:hidden;
	display:flex;flex-direction:column;justify-content:center;}
.bean_hero-media{position:absolute;inset:0;z-index:0;background:#05070f;}
.bean_hero-video{position:absolute;inset:0;overflow:hidden;}
.bean_hero-video iframe,.bean_hero-video #bean_ytplayer{
	position:absolute;top:50%;left:50%;width:100vw;height:56.25vw;
	min-height:100vh;min-width:177.78vh;transform:translate(-50%,-50%);
	pointer-events:none;border:0;}
.bean_hero-slides{position:absolute;inset:0;}
.bean_hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.1s ease;
	display:flex;flex-direction:column;justify-content:center;}
.bean_hero-slide.bean_is-on{opacity:1;}
.bean_hero-slide-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.bean_hero-veil{position:absolute;inset:0;z-index:1;
	background:linear-gradient(180deg,rgba(0,0,0,.34) 0%,rgba(0,0,0,.58) 55%,rgba(0,0,0,.86) 100%);}
.bean_hero-inner{position:relative;z-index:2;width:100%;}
.bean_hero-tag{font-size:12px;letter-spacing:5px;color:var(--bean-accent);margin-bottom:22px;}
.bean_hero-title{font-size:clamp(44px,8vw,112px);line-height:1;font-weight:800;
	letter-spacing:-2px;color:#fff;}
.bean_hero-desc{max-width:460px;color:rgba(255,255,255,.8);font-size:15px;margin-top:26px;}
.bean_hero-btn{display:inline-block;margin-top:30px;background:var(--bean-accent);
	color:var(--bean-onaccent);padding:14px 30px;border-radius:999px;
	font-size:14px;font-weight:700;transition:background .15s;}
.bean_hero-btn:hover{background:var(--bean-accent2);}
.bean_hero-mute{position:absolute;right:28px;bottom:30px;z-index:3;
	background:rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.4);color:#fff;
	padding:9px 16px;border-radius:999px;font-size:12px;font-weight:700;cursor:pointer;
	font-family:inherit;transition:.15s;}
.bean_hero-mute:hover{background:rgba(0,0,0,.78);border-color:#fff;}
.bean_hero-dots{position:absolute;left:50%;bottom:30px;transform:translateX(-50%);
	z-index:3;display:none;gap:8px;}
.bean_hero-dots .bean_hero-dot{width:30px;height:30px;border-radius:999px;cursor:pointer;
	font-family:inherit;font-size:12px;font-weight:700;color:#fff;
	background:rgba(0,0,0,.42);border:1px solid rgba(255,255,255,.45);transition:.15s;}
.bean_hero-dots .bean_hero-dot:hover{border-color:#fff;}
.bean_hero-dots .bean_hero-dot.bean_is-on{background:#fff;color:#111;border-color:#fff;}
.bean_hero-scroll{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);z-index:3;
	display:flex;flex-direction:column;align-items:center;gap:8px;
	font-size:10px;letter-spacing:3px;color:rgba(255,255,255,.6);}
.bean_hero-scroll::after{content:"";width:1px;height:34px;
	background:linear-gradient(rgba(255,255,255,.7),transparent);animation:bean_sdrop 1.6s infinite;}
@keyframes bean_sdrop{0%{opacity:0;transform:scaleY(.3);transform-origin:top;}
	40%{opacity:1;}100%{opacity:0;transform:scaleY(1);transform-origin:top;}}

/* ============================================================
   PAGEHEAD (sub page)
   ============================================================ */
.bean_pagehead{padding:118px 0 46px;border-bottom:1px solid var(--bean-line);
	background:linear-gradient(160deg,var(--bean-surf),var(--bean-bg));}
.bean_crumb{font-size:11.5px;letter-spacing:2px;color:var(--bean-accent);font-weight:700;}
.bean_crumb-link:hover{text-decoration:underline;}
.bean_pagehead-title{font-size:clamp(28px,4.6vw,46px);font-weight:800;
	letter-spacing:-1px;margin-top:12px;}

/* ============================================================
   MAIN CONTENT
   ============================================================ */
.bean_main{display:block;}
.bean_page-sub .bean_main{padding:48px 0 70px;}
.bean_page-main .bean_main{padding:0 0 70px;}
.bean_content-inner{display:block;}

/* ============================================================
   FOOTER
   ============================================================ */
.bean_footer{border-top:1px solid var(--bean-line);background:var(--bean-card);
	padding:56px 0 34px;margin-top:50px;}
.bean_foot-grid{display:grid;grid-template-columns:2fr 1fr;gap:40px;}
.bean_foot-logo{font-size:23px;font-weight:800;letter-spacing:2px;margin-bottom:12px;}
.bean_foot-biz{font-size:12px;color:var(--bean-muted);line-height:1.8;max-width:430px;}
.bean_foot-h{font-size:12px;letter-spacing:2px;color:var(--bean-accent);
	margin-bottom:14px;font-weight:700;}
.bean_foot-menu-item{padding:5px 0;}
.bean_foot-menu-link{font-size:13px;color:var(--bean-muted);}
.bean_foot-menu-link:hover{color:var(--bean-accent);}
.bean_foot-bot{margin-top:40px;padding-top:22px;border-top:1px solid var(--bean-line);
	font-size:12px;color:var(--bean-muted);}

/* ============================================================
   BOARD SKIN — 공통
   ============================================================ */
.bean_board{position:relative;transition:opacity .2s;}
.bean_board.bean_is-loading{opacity:.45;pointer-events:none;}
.bean_board-head{margin-bottom:22px;}
.bean_board-title{font-size:22px;font-weight:800;letter-spacing:-.5px;}
.bean_board-tools{display:flex;flex-wrap:wrap;gap:14px;align-items:center;
	justify-content:space-between;margin-bottom:22px;}
.bean_cats{display:flex;gap:6px;flex-wrap:wrap;}
.bean_cat{background:none;border:1px solid var(--bean-line);color:var(--bean-muted);
	padding:8px 15px;border-radius:999px;font-size:12.5px;font-weight:600;
	cursor:pointer;font-family:inherit;transition:.15s;}
.bean_cat:hover{border-color:var(--bean-accent);color:var(--bean-accent);}
.bean_cat.bean_is-on{background:var(--bean-accent);border-color:var(--bean-accent);color:var(--bean-onaccent);}
.bean_board-search{display:flex;gap:8px;}
.bean_board-search-select,.bean_board-search-input{background:var(--bean-surf);
	border:1px solid var(--bean-line);color:var(--bean-text);padding:9px 13px;
	border-radius:9px;font-size:13px;font-family:inherit;}
.bean_board-search-input{width:190px;}
.bean_board-msg{padding:60px 20px;text-align:center;color:var(--bean-muted);font-size:14px;}

/* ---- 목록형 (list) ---- */
.bean_list-table{width:100%;border-collapse:collapse;border-spacing:0;
	border-top:2px solid var(--bean-accent);font-family:inherit;}
.bean_list-table .bean_th{font-size:12px;letter-spacing:.5px;color:var(--bean-muted);
	font-weight:700;padding:13px 10px;border-bottom:1px solid var(--bean-line);text-align:left;}
.bean_list-table .bean_td{font-size:13.5px;padding:14px 10px;
	border-bottom:1px solid var(--bean-line);color:var(--bean-muted);vertical-align:middle;}
.bean_list-table .bean_tr:hover .bean_td{background:var(--bean-surf);}
.bean_list-table .bean_tr-notice .bean_td{background:var(--bean-surf);}
.bean_td-subject .bean_subject-link{color:var(--bean-text);font-weight:600;}
.bean_td-subject .bean_subject-link:hover{color:var(--bean-accent);}
.bean_col-no{width:74px;}
.bean_col-author{width:120px;}
.bean_col-date{width:104px;}
.bean_col-count{width:64px;}
.bean_tag{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.5px;
	padding:3px 8px;border-radius:5px;background:var(--bean-bg);color:var(--bean-accent);
	border:1px solid var(--bean-line);margin-right:8px;}
.bean_reply-num{color:var(--bean-accent);font-weight:700;font-size:12px;margin-left:4px;}
.bean_notice-flag{display:inline-block;font-size:10.5px;font-weight:800;
	color:var(--bean-onaccent);background:var(--bean-accent);padding:3px 8px;border-radius:5px;}

/* ---- 갤러리형 (gallery) ---- */
.bean_gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.bean_gcard{display:flex;flex-direction:column;overflow:hidden;
	background:var(--bean-card);border:1px solid var(--bean-line);border-radius:14px;
	transition:transform .2s,border-color .2s;}
.bean_gcard:hover{transform:translateY(-5px);border-color:var(--bean-accent);}
.bean_gcard-thumb{height:188px;position:relative;overflow:hidden;
	background:linear-gradient(160deg,var(--bean-surf),var(--bean-card));
	border-bottom:1px solid var(--bean-line);}
.bean_gcard-thumb-img{width:100%;height:100%;object-fit:cover;display:block;}
.bean_gcard-flag{position:absolute;top:10px;left:10px;font-size:10.5px;font-weight:800;
	letter-spacing:.5px;background:var(--bean-accent);color:var(--bean-onaccent);
	padding:3px 8px;border-radius:5px;}
.bean_gcard-body{padding:16px 18px 18px;flex:1;display:flex;flex-direction:column;}
.bean_gcard-cat{font-size:11px;font-weight:700;color:var(--bean-accent);
	letter-spacing:.5px;margin-bottom:6px;}
.bean_gcard-title{font-size:15px;font-weight:700;line-height:1.5;flex:1;color:var(--bean-text);}
.bean_gcard-summary{font-size:12.5px;color:var(--bean-muted);margin-top:8px;
	display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.bean_gcard-meta{display:flex;justify-content:space-between;
	font-size:12px;color:var(--bean-muted);margin-top:13px;}
.bean_gcard-meta-count{color:var(--bean-accent);}

/* ---- pagination ---- */
.bean_pager{display:flex;gap:6px;justify-content:center;margin-top:34px;flex-wrap:wrap;}
.bean_pager-link{min-width:36px;height:36px;padding:0 12px;display:flex;
	align-items:center;justify-content:center;border:1px solid var(--bean-line);
	border-radius:8px;font-size:13px;color:var(--bean-muted);}
.bean_pager-link:hover{border-color:var(--bean-accent);color:var(--bean-accent);}
.bean_pager-link.bean_is-on{background:var(--bean-accent);border-color:var(--bean-accent);
	color:var(--bean-onaccent);font-weight:700;}

/* ---- board footer ---- */
.bean_board-foot{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;}

/* ============================================================
   BOARD SKIN — 글 보기 (view)
   ============================================================ */
.bean_view-head{padding-bottom:22px;border-bottom:2px solid var(--bean-accent);}
.bean_view-cat{font-size:12px;font-weight:700;color:var(--bean-accent);}
.bean_view-title{font-size:clamp(20px,3vw,30px);font-weight:800;
	letter-spacing:-.5px;margin:8px 0 14px;}
.bean_view-meta{display:flex;flex-wrap:wrap;gap:16px;font-size:12.5px;color:var(--bean-muted);}
.bean_view-meta-item{display:flex;gap:6px;}
.bean_view-body{padding:34px 4px;font-size:15px;line-height:1.85;
	color:var(--bean-text);border-bottom:1px solid var(--bean-line);min-height:160px;}
.bean_view-body img{display:inline;height:auto;}
.bean_view-tools{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin:18px 0 40px;}

/* comments */
.bean_cmt-head{font-size:15px;font-weight:800;margin:30px 0 16px;}
.bean_cmt{padding:18px 0;border-bottom:1px solid var(--bean-line);}
.bean_cmt-top{display:flex;gap:10px;align-items:center;margin-bottom:8px;}
.bean_cmt-author{font-size:13.5px;font-weight:700;color:var(--bean-text);}
.bean_cmt-date{font-size:12px;color:var(--bean-muted);}
.bean_cmt-body{font-size:13.5px;color:var(--bean-text);line-height:1.7;}
.bean_cmt-reply{margin-left:34px;}
.bean_form{display:block;margin-top:22px;}
.bean_form-row{margin-bottom:14px;}
.bean_form-label{display:block;font-size:12.5px;font-weight:700;
	color:var(--bean-text);margin-bottom:7px;}
.bean_form-input,.bean_form-textarea,.bean_form-select{width:100%;
	background:var(--bean-surf);border:1px solid var(--bean-line);color:var(--bean-text);
	padding:12px 14px;border-radius:9px;font-size:13.5px;font-family:inherit;}
.bean_form-textarea{min-height:120px;resize:vertical;line-height:1.6;}
.bean_form-input:focus,.bean_form-textarea:focus,.bean_form-select:focus{
	outline:0;border-color:var(--bean-accent);}
.bean_form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px;}
.bean_form-help{font-size:12px;color:var(--bean-muted);margin-top:6px;}

/* ============================================================
   BOARD SKIN — 글보기 / 댓글 / 글쓰기 / 메시지 추가 컴포넌트
   ============================================================ */
.bean_view-wrap{display:block;}
.bean_view{display:block;}
.bean_view-files{margin-top:24px;padding:18px 20px;background:var(--bean-surf);
	border:1px solid var(--bean-line);border-radius:12px;}
.bean_view-files-head{font-size:12px;font-weight:700;color:var(--bean-accent);
	letter-spacing:1px;margin-bottom:8px;}
.bean_view-file{display:block;font-size:13px;color:var(--bean-text);padding:4px 0;}
.bean_view-file:hover{color:var(--bean-accent);}
.bean_view-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px;}
.bean_view-tag{font-size:12px;padding:6px 12px;border-radius:999px;
	background:var(--bean-surf);border:1px solid var(--bean-line);color:var(--bean-muted);}
.bean_view-tag:hover{border-color:var(--bean-accent);color:var(--bean-accent);}
.bean_secret-form{padding:30px 0;}
.bean_secret-row{display:flex;gap:8px;margin-top:10px;max-width:360px;}
.bean_secret-row .bean_form-input{flex:1;}

.bean_col-cat{width:120px;}
.bean_cat-tag{display:inline-block;font-size:11px;font-weight:700;padding:3px 11px;
	border-radius:999px;background:color-mix(in srgb,var(--bean-accent) 14%,transparent);
	color:var(--bean-accent);white-space:nowrap;}

.bean_comments{margin-top:42px;}
.bean_cmt-count{color:var(--bean-accent);}
.bean_cmt-list{margin-bottom:8px;}
.bean_cmt-empty{padding:30px 0;text-align:center;color:var(--bean-muted);font-size:13.5px;}
.bean_cmt-actions{display:flex;gap:14px;margin-top:8px;}
.bean_cmt-act{font-size:12px;color:var(--bean-muted);}
.bean_cmt-act:hover{color:var(--bean-accent);}
.bean_cmt-source{background:var(--bean-surf);border:1px solid var(--bean-line);
	border-radius:12px;padding:16px 18px;margin-bottom:18px;}
.bean_cmt-form{margin-top:22px;}
/* ===== 에디터 영역 (CKEditor + Rhymix 파일첨부) =====
   CKEditor 스킨은 Rhymix 관리자 → 에디터 설정에서 Moono(기본) /
   Moono Dark / Moono Lisa 중 선택. Moono·Moono Lisa 는 본문·툴바가
   밝은 색, Moono Dark 만 어두움. 현재 기본(밝은 색)에 맞춰 첨부 박스 등
   주변부를 '일관된 밝은 카드' 로 묶는다. (스킨 툴바 아이콘은 스킨에
   박힌 스프라이트라 CSS 로 못 바꾸므로, 주변부를 에디터에 맞추는 방향.) */
.bean_editor-wrap{display:block;}
.bean_editor-wrap textarea,.bean_editor-wrap .rx_editor_textarea{
	background:var(--bean-surf) !important;color:var(--bean-text) !important;
	border:1px solid var(--bean-line) !important;border-radius:10px !important;
	padding:12px 14px !important;}
/* CKEditor 외곽 — 테두리·모서리 정리 */
.bean_editor-wrap .cke{border:1px solid #dfe3ea !important;
	border-radius:10px !important;overflow:hidden;box-shadow:none !important;}
/* Rhymix 파일첨부 박스 — 에디터(라이트)에 맞춰 흰 카드로 통일 */
.bean_editor-wrap .xefu-container{margin-top:10px;padding:10px;color:#3a3f4a;
	background:#ffffff;border:1px solid #dfe3ea;border-radius:10px;}
.bean_editor-wrap .xefu-dropzone{background:#f6f7f9;
	border:1px dashed #ccd2dc;border-radius:8px;}
.bean_editor-wrap .xefu-dropzone-message,
.bean_editor-wrap .upload_info,
.bean_editor-wrap .xefu-controll,
.bean_editor-wrap .xefu-list{color:#7a818f;}
.bean_editor-wrap .xefu-btn{display:inline-block;background:#ffffff;color:#3a3f4a;
	border:1px solid #ccd2dc !important;border-radius:8px;padding:8px 14px;
	font-weight:600;font-family:inherit;cursor:pointer;}
.bean_editor-wrap .xefu-btn:hover{border-color:var(--bean-accent) !important;color:var(--bean-accent);}
.bean_editor-wrap .xefu-controll{border-top:1px solid #e6e9ee;
	margin-top:8px;padding-top:10px;font-size:12px;}
.bean_form-guest{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;}
.bean_form-guest .bean_form-input{flex:1;min-width:140px;}

.bean_write{display:block;}
.bean_write-top{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px;}
.bean_write-cat,.bean_write-notice{flex:0 0 auto;width:auto;min-width:140px;}
.bean_write-title{flex:1;min-width:200px;font-size:15px;font-weight:600;}
.bean_extra{border:1px solid var(--bean-line);border-radius:12px;overflow:hidden;margin-bottom:14px;}
.bean_extra-row{display:flex;border-bottom:1px solid var(--bean-line);}
.bean_extra-row:last-child{border-bottom:0;}
.bean_extra-label{width:160px;flex:0 0 auto;padding:13px 16px;
	background:var(--bean-surf);font-size:13px;font-weight:700;}
.bean_extra-field{flex:1;padding:13px 16px;font-size:13.5px;}
.bean_req{color:var(--bean-accent);}
.bean_write-options{display:flex;flex-wrap:wrap;gap:16px;margin:16px 0;}
.bean_check{display:flex;align-items:center;gap:7px;font-size:13px;
	color:var(--bean-text);cursor:pointer;}
.bean_check input{width:16px;height:16px;accent-color:var(--bean-accent);}
.bean_captcha{margin:14px 0;}
.bean_comment-form-page{display:block;}

.bean_msg-box{max-width:520px;margin:30px auto;padding:34px 32px;text-align:center;
	background:var(--bean-card);border:1px solid var(--bean-line);border-radius:16px;}
.bean_msg-title{font-size:17px;font-weight:700;line-height:1.5;}
.bean_msg-row{display:flex;gap:8px;margin-top:18px;}
.bean_msg-row .bean_form-input{flex:1;}
.bean_msg-actions{display:flex;gap:10px;justify-content:center;margin-top:22px;}
.bean_msg-target{padding:16px 18px;margin-bottom:20px;text-align:left;
	background:var(--bean-surf);border:1px solid var(--bean-line);border-radius:12px;}
.bean_msg-target-title{font-size:15px;font-weight:700;}
.bean_msg-target-by{font-size:12.5px;color:var(--bean-muted);margin-top:4px;}
.bean_msg-target-body{font-size:13px;color:var(--bean-text);margin-top:8px;}

.bean_tagcloud{display:block;}
.bean_tagcloud-list{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0;}
.bean_tagcloud-item{display:flex;align-items:center;gap:7px;padding:9px 15px;
	border-radius:999px;background:var(--bean-surf);border:1px solid var(--bean-line);}
.bean_tagcloud-item:hover{border-color:var(--bean-accent);}
.bean_tagcloud-name{font-size:13px;font-weight:600;color:var(--bean-text);}
.bean_tagcloud-count{font-size:11px;font-weight:700;color:var(--bean-accent);}

/* ============================================================
   MEMBER MODULE SKIN
   ============================================================ */
.bean_mpage{display:block;max-width:880px;margin:0 auto;}
.bean_mpage-tabs{display:flex;flex-wrap:wrap;gap:2px;
	border-bottom:1px solid var(--bean-line);margin-bottom:32px;}
.bean_mpage-tab{padding:12px 15px;font-size:13px;font-weight:600;color:var(--bean-muted);
	border-bottom:2px solid transparent;margin-bottom:-1px;transition:.15s;}
.bean_mpage-tab:hover{color:var(--bean-text);}
.bean_mpage-tab.bean_is-on{color:var(--bean-accent);
	border-bottom-color:var(--bean-accent);font-weight:700;}
.bean_mpage-title{font-size:24px;font-weight:800;letter-spacing:-.5px;margin-bottom:6px;}
.bean_mpage-desc{font-size:13.5px;color:var(--bean-muted);margin-bottom:22px;line-height:1.6;}
.bean_mpage-sec{margin-top:44px;}
.bean_mpage-sec:first-child{margin-top:0;}

/* validator / 안내 메시지 */
.bean_alert{padding:13px 16px;border-radius:10px;font-size:13px;margin-bottom:20px;line-height:1.6;
	background:color-mix(in srgb,var(--bean-accent) 12%,transparent);
	border:1px solid color-mix(in srgb,var(--bean-accent) 34%,transparent);color:var(--bean-text);}
.bean_alert.bean_is-error{background:color-mix(in srgb,#e5484d 13%,transparent);
	border-color:color-mix(in srgb,#e5484d 42%,transparent);}

/* 중앙 정렬 인증 카드 (로그인 / 계정찾기 / 비밀번호재설정 / 로그아웃) */
.bean_auth{max-width:420px;margin:8px auto;}
.bean_auth-card{background:var(--bean-card);border:1px solid var(--bean-line);
	border-radius:16px;padding:36px 32px;}
.bean_auth-title{font-size:21px;font-weight:800;text-align:center;letter-spacing:-.5px;}
.bean_auth-sub{font-size:13px;color:var(--bean-muted);text-align:center;
	margin-top:9px;line-height:1.6;}
.bean_auth-body{margin-top:24px;}
.bean_auth-foot{display:flex;justify-content:center;align-items:center;gap:9px;
	margin-top:20px;padding-top:18px;border-top:1px solid var(--bean-line);
	font-size:12.5px;color:var(--bean-muted);}
.bean_auth-foot a{color:var(--bean-muted);}
.bean_auth-foot a:hover{color:var(--bean-accent);}
.bean_auth-sep{color:var(--bean-line);}

/* 회원 폼 필드 */
.bean_field{margin-bottom:16px;}
.bean_field-label{display:block;font-size:12.5px;font-weight:700;
	color:var(--bean-text);margin-bottom:7px;}
.bean_field-help{font-size:11.5px;color:var(--bean-muted);margin-top:6px;line-height:1.55;}
.bean_field-radios{display:flex;flex-wrap:wrap;gap:16px;padding-top:4px;}
.bean_radio{display:flex;align-items:center;gap:7px;font-size:13px;
	color:var(--bean-text);cursor:pointer;}
.bean_radio input{width:16px;height:16px;accent-color:var(--bean-accent);}
.bean_keep{display:flex;align-items:center;gap:7px;font-size:12.5px;
	color:var(--bean-muted);margin:2px 0;cursor:pointer;}
.bean_keep input{width:15px;height:15px;accent-color:var(--bean-accent);}
.bean_keep-warn{font-size:11.5px;color:var(--bean-muted);line-height:1.55;
	background:var(--bean-surf);border:1px solid var(--bean-line);
	border-radius:8px;padding:10px 12px;margin:8px 0 2px;}
.bean_req-mark{color:var(--bean-accent);font-weight:700;}

/* 회원 스킨 공통 입력창 — 모듈이 네이티브 input 을 직접 출력하므로 폭넓게 적용 */
.bean_mpage input[type=text],.bean_mpage input[type=email],
.bean_mpage input[type=password],.bean_mpage input[type=tel],
.bean_mpage input[type=number],.bean_mpage input[type=date],
.bean_mpage input[type=search],.bean_mpage select,.bean_mpage textarea,
.bean_auth input[type=text],.bean_auth input[type=email],
.bean_auth input[type=password]{
	width:100%;background:var(--bean-surf);border:1px solid var(--bean-line);
	color:var(--bean-text);padding:11px 13px;border-radius:9px;font-size:13.5px;
	font-family:inherit;line-height:1.4;}
.bean_mpage textarea{min-height:110px;resize:vertical;line-height:1.6;}
.bean_mpage input:focus,.bean_mpage select:focus,.bean_mpage textarea:focus,
.bean_auth input:focus{outline:0;border-color:var(--bean-accent);}
.bean_mpage input[readonly],.bean_mpage input[disabled]{
	background:var(--bean-bg);color:var(--bean-muted);}

/* 폼 하단 버튼줄 */
.bean_form-foot{display:flex;justify-content:flex-end;gap:8px;
	margin-top:26px;padding-top:18px;border-top:1px solid var(--bean-line);}
.bean_form-foot .bean_btn,.bean_form-foot .bean_btn-line{min-width:120px;}
.bean_btn-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;}

/* 인라인 폼 (입력창 + 버튼 한 줄) */
.bean_inline-form{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-start;}
.bean_inline-form input[type=text],.bean_inline-form input[type=email],
.bean_inline-form input[type=password]{flex:1;min-width:180px;}

/* 회원정보 정의 목록 */
.bean_dl{border-top:2px solid var(--bean-accent);}
.bean_dl-row{display:flex;border-bottom:1px solid var(--bean-line);}
.bean_dl-dt{width:210px;flex:0 0 auto;padding:14px 18px;background:var(--bean-surf);
	font-size:13px;font-weight:700;color:var(--bean-text);}
.bean_dl-dd{flex:1;padding:14px 18px;font-size:13.5px;color:var(--bean-muted);
	word-break:break-word;}
.bean_dl-dd.bean_is-empty{color:var(--bean-line);}

/* 데이터 표 (내 글 / 댓글 / 스크랩 / 저장글 / 기기) */
.bean_dtable{width:100%;border-collapse:collapse;border-spacing:0;
	border-top:2px solid var(--bean-accent);font-family:inherit;}
.bean_dtable th{font-size:12px;color:var(--bean-muted);font-weight:700;
	padding:12px 10px;border-bottom:1px solid var(--bean-line);text-align:left;}
.bean_dtable td{font-size:13px;padding:13px 10px;color:var(--bean-muted);
	border-bottom:1px solid var(--bean-line);vertical-align:middle;}
.bean_dtable tr:hover td{background:var(--bean-surf);}
.bean_dtable .bean_dt-title,.bean_dtable .bean_dt-title a{
	color:var(--bean-text);font-weight:600;}
.bean_dtable .bean_dt-title a:hover{color:var(--bean-accent);}
.bean_dtable-cap{font-size:12px;color:var(--bean-muted);margin-bottom:10px;}
.bean_text-btn{background:none;border:0;color:var(--bean-muted);cursor:pointer;
	font-family:inherit;font-size:12.5px;padding:4px 6px;}
.bean_text-btn:hover{color:var(--bean-accent);text-decoration:underline;}
.bean_saved-content{margin-top:8px;padding:13px 15px;background:var(--bean-surf);
	border:1px solid var(--bean-line);border-radius:10px;
	font-size:13px;color:var(--bean-text);line-height:1.7;}

/* 약관 동의 (회원가입) */
.bean_agree{border:1px solid var(--bean-line);border-radius:12px;
	margin-bottom:14px;overflow:hidden;}
.bean_agree-title{padding:12px 16px;background:var(--bean-surf);
	font-size:13px;font-weight:700;color:var(--bean-text);}
.bean_agree-text{max-height:170px;overflow-y:auto;padding:14px 16px;
	font-size:12.5px;color:var(--bean-muted);line-height:1.7;
	border-bottom:1px solid var(--bean-line);}
.bean_agree-confirm{padding:11px 16px;}
.bean_agree-confirm .bean_radio{font-size:12.5px;}

/* 목록 도구줄 */
.bean_list-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start;
	justify-content:space-between;margin:22px 0 26px;}
.bean_list-search{display:flex;gap:8px;flex-wrap:wrap;}
.bean_list-search input[type=text],.bean_list-search select{width:auto;}
.bean_list-search input[type=text]{min-width:180px;}
.bean_list-tools{display:flex;gap:8px;flex-wrap:wrap;}

/* ============================================================
   MESSAGE MODULE (시스템 메시지 / 오류 표시)
   ============================================================ */
.bean_sysmsg .bean_auth-card{text-align:center;}
.bean_sysmsg-code{font-size:54px;font-weight:800;line-height:1;letter-spacing:-1px;
	color:var(--bean-accent);margin-bottom:10px;}
.bean_sysmsg-detail,.bean_sysmsg-help,.bean_sysmsg-loc{margin-top:8px;}
.bean_sysmsg-help{color:var(--bean-muted);font-size:12.5px;}
.bean_sysmsg-loc{word-break:break-all;font-size:12px;color:var(--bean-muted);}

/* ============================================================
   NCENTERLITE MODULE (알림센터)
   ============================================================ */
/* 상단 고정 알림 바 (ncenterlite.html 위젯) */
#nc_container.bean_ncl-bar{z-index:99;position:fixed;top:0;left:0;width:100%;
	margin:0;padding:0;background:var(--bean-card);border-bottom:1px solid var(--bean-line);
	color:var(--bean-text);font-size:12px;line-height:1.4;}
.bean_ncl-block{height:38px;}
.bean_ncl-menu{display:flex;align-items:center;gap:10px;margin:0;padding:7px 14px;list-style:none;}
.bean_ncl-menu::after{content:"";display:block;clear:both;}
.bean_ncl-menu-item.fRight{margin-left:auto;}
.bean_ncl-menu-item.fLeft,.bean_ncl-profile.fLeft{float:none;}
.bean_ncl-profile{display:flex;align-items:center;gap:6px;color:var(--bean-muted);}
.bean_ncl-profile-name{color:var(--bean-text);}
.bean_ncl-profile-img{width:22px;height:22px;border-radius:50%;object-fit:cover;}
#nc_container.bean_ncl-bar a{text-decoration:none;color:var(--bean-text);}
.bean_ncl-toggle{display:inline-block;font-weight:600;color:var(--bean-accent);cursor:pointer;}
.bean_ncl-readall{display:none;margin-left:8px;font-size:11px;color:var(--bean-muted);}
.bean_ncl-close{color:var(--bean-muted);}
.bean_ncl-close:hover,.bean_ncl-readall:hover,.bean_ncl-toggle:hover{color:var(--bean-text);}
/* 바 안의 드롭다운 피드 */
#nc_container .bean_ncl-list{display:none;position:absolute;top:100%;left:14px;
	width:340px;max-width:90vw;box-sizing:border-box;background:var(--bean-card);
	border:1px solid var(--bean-line);border-radius:0 0 14px 14px;
	box-shadow:0 10px 28px rgba(0,0,0,.22);}
#nc_container .bean_ncl-list-scroll{overflow-y:auto;overflow-x:hidden;}
.bean_ncl-feed{margin:0;padding:0;list-style:none;}
.bean_ncl-more{display:block;padding:11px;text-align:center;font-size:12px;
	color:var(--bean-accent);border-top:1px solid var(--bean-line);}
.bean_ncl-more:hover{background:color-mix(in srgb,var(--bean-accent) 14%,transparent);}
/* 피드 항목 (바 드롭다운 + NotifyList 페이지 공용) */
.bean_ncl-feed-item{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;
	border-bottom:1px solid var(--bean-line);list-style:none;}
.bean_ncl-feed-item:last-child{border-bottom:0;}
.bean_ncl-feed-link{display:flex;flex:1;min-width:0;gap:10px;align-items:flex-start;
	text-decoration:none;color:var(--bean-text);}
.bean_ncl-feed-link:hover .bean_ncl-feed-text{color:var(--bean-accent);}
.bean_ncl-feed-img{flex:0 0 auto;width:38px;height:38px;border-radius:50%;object-fit:cover;}
.bean_ncl-feed-body{min-width:0;flex:1;}
.bean_ncl-feed-text{display:block;font-size:13px;line-height:1.45;word-break:break-word;}
.bean_ncl-feed-meta,.bean_ncl-feed-ago{display:block;margin-top:3px;
	font-size:11px;color:var(--bean-muted);}
.bean_ncl-feed-sep{margin:0 4px;}
.bean_ncl-is-unread{background:color-mix(in srgb,var(--bean-accent) 9%,transparent);}
.bean_ncl-is-unread .bean_ncl-feed-text{font-weight:600;}
.bean_ncl-tag{flex:0 0 auto;padding:2px 8px;border-radius:999px;font-size:11px;
	background:var(--bean-surf);color:var(--bean-muted);}
.bean_ncl-tag-new{background:var(--bean-accent);color:var(--bean-onaccent);}
.bean_ncl-empty{padding:28px 14px;text-align:center;color:var(--bean-muted);}
.bean_ncl-warn{color:var(--bean-accent2);}
.bean_ncl-config-row{border-top:1px solid var(--bean-line);padding-top:14px;}
.bean_ncl-popup{padding:20px;}
.bean_ncl-target{padding:14px;margin-bottom:16px;}
.bean_ncl-target-type{display:block;font-size:12px;color:var(--bean-muted);margin-bottom:4px;}
.bean_ncl-target-text{margin:0;font-size:14px;line-height:1.5;}
.bean_ncl-sub-select{min-width:140px;}
@media(max-width:640px){
	#nc_container.bean_ncl-bar{position:relative;}
	.bean_ncl-block{display:none;}
	#nc_container .bean_ncl-list{position:relative;top:0;left:0;width:100%;}
}

/* ============================================================
   COMMUNICATION MODULE (쪽지 / 친구)
   ============================================================ */
.bean_comm-popup{padding:18px 0;}
.bean_comm-boxnav{flex-wrap:wrap;}
.bean_comm-view{padding:20px 22px;}
.bean_comm-view-title{margin:0 0 6px;font-size:17px;font-weight:700;color:var(--bean-text);}
.bean_comm-view-meta{margin:0 0 14px;font-size:13px;color:var(--bean-muted);
	display:flex;gap:10px;align-items:baseline;}
.bean_comm-view-meta a{color:var(--bean-text);font-weight:600;}
.bean_comm-view-date{color:var(--bean-muted);}
.bean_comm-view-body{padding:14px 0;border-top:1px solid var(--bean-line);
	line-height:1.7;color:var(--bean-text);word-break:break-word;}
.bean_comm-view-tools{margin-top:14px;}
.bean_comm-files{margin:12px 0 0;padding:12px 14px;list-style:none;
	background:color-mix(in srgb,var(--bean-accent) 8%,transparent);border-radius:10px;}
.bean_comm-files li{font-size:13px;line-height:1.9;}
.bean_comm-files a{color:var(--bean-text);font-weight:600;}
.bean_comm-file-size{color:var(--bean-muted);}
.bean_comm-editor{margin:4px 0 6px;}
.bean_comm-listfoot{margin-top:16px;}
.bean_comm-friend-total{font-size:13px;color:var(--bean-muted);}

/* ============================================================
   ELKHABOOK MODULE (mylog / 미니홈피)
   ============================================================ */
.bean_mylog-grid{display:grid;grid-template-columns:300px 1fr;gap:18px;align-items:start;}
.bean_mylog-side{display:flex;flex-direction:column;gap:14px;min-width:0;}
.bean_mylog-feed{display:flex;flex-direction:column;gap:14px;min-width:0;}
.bean_mylog-nav{margin-bottom:18px;}
.bean_mylog-profile{text-align:center;padding:22px 20px;}
.bean_mylog-block{padding:18px 20px;}
/* 사이드바 정보 블록 — 좁은 폭에 맞춘 세로 스택 (키 위, 값 아래) */
.bean_mylog-info-row{padding:9px 0;border-bottom:1px solid var(--bean-line);}
.bean_mylog-info-row:first-child{padding-top:0;}
.bean_mylog-info-row:last-child{border-bottom:0;padding-bottom:0;}
.bean_mylog-info-k{display:block;font-size:11.5px;font-weight:700;
	color:var(--bean-muted);margin-bottom:4px;}
.bean_mylog-info-v{display:block;font-size:13px;color:var(--bean-text);
	line-height:1.6;word-break:break-word;}
.bean_mylog-info-v a{color:var(--bean-text);}
.bean_mylog-info-v a:hover{color:var(--bean-accent);}
.bean_mylog-avatar{width:104px;height:104px;margin:0 auto 12px;border-radius:50%;
	overflow:hidden;background:var(--bean-surf);border:2px solid var(--bean-line);}
.bean_mylog-avatar img{width:100%;height:100%;object-fit:cover;display:block;}
.bean_mylog-avatar-none{display:flex;width:100%;height:100%;align-items:center;
	justify-content:center;font-size:42px;font-weight:700;color:var(--bean-onaccent);
	background:var(--bean-accent);text-transform:uppercase;}
.bean_mylog-name{margin:0 0 12px;font-size:18px;font-weight:700;}
.bean_mylog-name a{color:var(--bean-text);text-decoration:none;}
.bean_mylog-stats{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;
	padding:12px 0;border-top:1px solid var(--bean-line);}
.bean_mylog-stat{display:flex;flex-direction:column;align-items:center;min-width:56px;
	padding:4px 6px;border-radius:10px;
	background:color-mix(in srgb,var(--bean-accent) 8%,transparent);}
.bean_mylog-stat-num{font-size:16px;font-weight:700;color:var(--bean-accent);}
.bean_mylog-stat-label{font-size:11px;color:var(--bean-muted);margin-top:2px;}
.bean_mylog-follow-btn{display:inline-flex;align-items:center;}
.bean_mylog-signature{margin:10px 0 0;padding-top:10px;font-size:13px;
	color:var(--bean-muted);line-height:1.6;border-top:1px solid var(--bean-line);}
.bean_mylog-block-title{display:flex;justify-content:space-between;align-items:baseline;
	margin:0 0 12px;padding-bottom:11px;font-size:14px;font-weight:700;
	color:var(--bean-text);border-bottom:1px solid var(--bean-line);}
.bean_mylog-more{font-size:12px;}
.bean_mylog-empty{color:var(--bean-muted);}
.bean_mylog-nicklog{display:inline-block;margin-right:8px;}
.bean_mylog-nicklog-date{color:var(--bean-muted);font-size:11px;}
.bean_mylog-cats{list-style:none;margin:0;padding:0;}
.bean_mylog-cat{display:flex;justify-content:space-between;padding:5px 0;
	border-bottom:1px solid var(--bean-line);font-size:13px;}
.bean_mylog-cat:last-child{border-bottom:0;}
.bean_mylog-cat a{color:var(--bean-text);text-decoration:none;}
.bean_mylog-cat a.bean_is-on{font-weight:700;color:var(--bean-accent);}
.bean_mylog-cat a:hover{color:var(--bean-accent);}
.bean_mylog-cat-num{color:var(--bean-muted);font-size:12px;}
.bean_mylog-cfg{position:relative;display:inline-block;}
.bean_mylog-cfg-menu{display:none;position:absolute;right:0;top:100%;z-index:20;
	min-width:160px;margin-top:4px;padding:8px;border:1px solid var(--bean-line);
	border-radius:12px;background:var(--bean-card);
	box-shadow:0 6px 18px color-mix(in srgb,var(--bean-text) 14%,transparent);}
.bean_mylog-cfg:hover .bean_mylog-cfg-menu,
.bean_mylog-cfg:focus-within .bean_mylog-cfg-menu{display:block;}
.bean_mylog-cfg-item{display:block;padding:5px 6px;font-size:12px;border-radius:8px;
	color:var(--bean-text);text-decoration:none;}
.bean_mylog-cfg-item:hover{background:color-mix(in srgb,var(--bean-accent) 14%,transparent);}
.bean_mylog-cfg-help{display:block;margin-top:4px;padding-top:6px;font-size:11px;
	color:var(--bean-muted);border-top:1px solid var(--bean-line);}
.bean_mylog-cfg-static{font-size:12px;color:var(--bean-muted);}
.bean_mylog-docs{padding:20px 22px;}
.bean_mylog-docs-title{display:flex;align-items:baseline;gap:8px;margin:0 0 12px;
	padding-bottom:10px;font-size:15px;font-weight:700;
	border-bottom:2px solid var(--bean-line);}
.bean_mylog-docs-count{font-size:12px;font-weight:600;padding:1px 8px;border-radius:999px;
	color:var(--bean-accent);background:color-mix(in srgb,var(--bean-accent) 14%,transparent);}
.bean_mylog-docs-nav{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px;font-size:12px;}
.bean_mylog-curpage{font-weight:700;color:var(--bean-accent);}
.bean_mylog-docs-msg{padding:20px 0;text-align:center;color:var(--bean-muted);}
.bean_mylog-timeline{list-style:none;margin:0;padding:0;}
.bean_mylog-tl-item{display:grid;grid-template-columns:84px 1fr;gap:12px;
	position:relative;padding:10px 0;}
.bean_mylog-tl-when{text-align:right;font-size:12px;color:var(--bean-muted);}
.bean_mylog-tl-date{font-weight:700;color:var(--bean-text);}
.bean_mylog-tl-time{font-size:11px;}
.bean_mylog-tl-body{position:relative;padding-left:16px;min-width:0;
	border-left:2px solid var(--bean-line);}
.bean_mylog-tl-body::before{content:"";position:absolute;left:-6px;top:4px;
	width:10px;height:10px;border-radius:50%;background:var(--bean-card);
	border:2px solid var(--bean-line);}
.bean_mylog-tl-dot .bean_mylog-tl-body::before{border-color:var(--bean-accent);}
.bean_mylog-tl-invalid .bean_mylog-tl-body{font-style:italic;opacity:.7;}
.bean_mylog-tl-title{margin:0 0 4px;font-size:14px;font-weight:600;line-height:1.4;}
.bean_mylog-tl-title a{color:var(--bean-text);text-decoration:none;}
.bean_mylog-tl-title a:hover{color:var(--bean-accent);}
.bean_mylog-tl-board{font-size:12px;font-weight:600;padding:0 6px;border-radius:6px;
	color:var(--bean-accent2);background:color-mix(in srgb,var(--bean-accent2) 14%,transparent);}
.bean_mylog-tl-room{font-size:12px;color:var(--bean-muted);}
.bean_mylog-tl-summary{margin:0;font-size:13px;color:var(--bean-muted);line-height:1.5;
	word-break:break-word;}
.bean_mylog-tl-metas{margin:6px 0 0;display:flex;flex-wrap:wrap;gap:10px;font-size:11px;}
.bean_mylog-tl-meta{color:var(--bean-muted);}
.bean_mylog-tl-meta-k{color:var(--bean-text);font-weight:600;}
.bean_mylog-tl-title .delete{margin-left:6px;font-size:11px;color:var(--bean-muted);}
@media(max-width:720px){
	.bean_mylog-grid{grid-template-columns:1fr;}
}

/* ============================================================
   LAZYPUSH MODULE (푸시 알림 설정)
   ============================================================ */
.bean_lazy-sec{margin-top:34px;padding-top:28px;border-top:1px solid var(--bean-line);}
.bean_lazy-sec:first-of-type{margin-top:24px;padding-top:0;border-top:0;}
.bean_lazy-h{font-size:15px;font-weight:800;color:var(--bean-text);margin:0 0 12px;}
.bean_lazy-h-sub{font-size:13.5px;margin-top:22px;}
.bean_lazy-intro{font-size:13px;color:var(--bean-muted);line-height:1.6;margin:0 0 12px;}
.bean_lazy-state{font-size:13.5px;margin:10px 0;}
.bean_lazy-on{color:#16a34a;font-weight:700;}
.bean_lazy-off{color:#dc2626;font-weight:700;}
.bean_lazy-opts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;}
.bean_lazy-opt label{display:flex;align-items:center;gap:9px;padding:9px 11px;
	border-radius:9px;font-size:13.5px;color:var(--bean-text);cursor:pointer;}
.bean_lazy-opt label:hover{background:var(--bean-surf);}
.bean_lazy-opt input{width:16px;height:16px;accent-color:var(--bean-accent);flex:0 0 auto;}
.bean_lazy-times{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;}
.bean_lazy-time{display:flex;flex-wrap:wrap;align-items:center;gap:8px;
	padding:11px 13px;background:var(--bean-surf);border:1px solid var(--bean-line);
	border-radius:10px;font-size:13px;color:var(--bean-text);}
.bean_mpage .bean_lazy-time select{width:auto;}
.bean_lazy-time-label{flex:1;}
.bean_lazy-time-tilde{color:var(--bean-muted);}
.bean_mpage input.bean_lazy-email{width:auto;display:inline-block;min-width:220px;max-width:100%;}
.bean_lazy-email-label{font-size:12.5px;font-weight:700;color:var(--bean-text);margin-right:4px;}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:1080px){
	.bean_gnb{display:none;}
	.bean_burger{display:flex;}
	.bean_nav .bean_logo{position:absolute;left:50%;transform:translateX(-50%);}
	.bean_foot-grid{grid-template-columns:1fr;gap:28px;}
	.bean_gallery{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:680px){
	.bean_wrap{padding:0 18px;}
	.bean_pagehead{padding:104px 0 36px;}
	.bean_gallery{grid-template-columns:1fr;}
	.bean_board-tools{flex-direction:column;align-items:stretch;}
	.bean_board-search-input{width:100%;}
	.bean_list-table .bean_col-author,
	.bean_list-table .bean_col-count{display:none;}
	.bean_hero-mute{right:16px;bottom:64px;}
	.bean_write-top{flex-direction:column;}
	.bean_write-cat,.bean_write-notice,.bean_write-title{width:100%;}
	.bean_extra-row{flex-direction:column;}
	.bean_extra-label{width:100%;}
	.bean_msg-box{padding:26px 22px;}
	.bean_auth-card{padding:28px 22px;}
	.bean_dl-row{flex-direction:column;}
	.bean_dl-dt{width:100%;}
	.bean_form-foot{flex-direction:column-reverse;}
	.bean_form-foot .bean_btn,.bean_form-foot .bean_btn-line{width:100%;}
	.bean_dtable .bean_dt-hide{display:none;}
}

/* Original file: layouts/bean/css/bean.colors.css */

/* ============================================================
   BEAN THEME — bean.colors.css  (색상 전용)
   골조(bean.base.css)가 소비하는 --bean-* 색상 변수만 담습니다.
   레이아웃 설정의 '색상 테마'가 #bean_root 에 .bean_theme-* 를
   부여하면 해당 팔레트가 적용됩니다.
   ============================================================ */

/* ---- Midnight — 다크 · 네이비 + 아이스 ---- */
.bean_theme-midnight{
	--bean-bg:#0b1020;--bean-card:#111830;--bean-surf:#18203d;--bean-line:#26304f;
	--bean-text:#eef2fb;--bean-muted:#8893b4;
	--bean-accent:#5ad1ff;--bean-accent2:#9d7bff;--bean-onaccent:#ffffff;
	--bean-head:rgba(11,16,32,.72);
}

/* ---- Nebula — 다크 · 바이올렛 ---- */
.bean_theme-nebula{
	--bean-bg:#0c0a14;--bean-card:#15121f;--bean-surf:#1e1a2c;--bean-line:#2e2742;
	--bean-text:#f1eef8;--bean-muted:#928aa6;
	--bean-accent:#a16bff;--bean-accent2:#ff5ea8;--bean-onaccent:#ffffff;
	--bean-head:rgba(12,10,20,.72);
}

/* ---- Rosewood — 다크 · 플럼 + 샴페인 ---- */
.bean_theme-rosewood{
	--bean-bg:#17101a;--bean-card:#211824;--bean-surf:#2b2030;--bean-line:#3a2d40;
	--bean-text:#f3eef2;--bean-muted:#9d8fa0;
	--bean-accent:#e0b083;--bean-accent2:#d98da6;--bean-onaccent:#ffffff;
	--bean-head:rgba(23,16,26,.72);
}

/* ---- Citron — 다크 · 시트론 ---- */
.bean_theme-citron{
	--bean-bg:#101110;--bean-card:#19191a;--bean-surf:#232423;--bean-line:#323331;
	--bean-text:#f4f5f2;--bean-muted:#8f928c;
	--bean-accent:#e9e34d;--bean-accent2:#bfe35a;--bean-onaccent:#ffffff;
	--bean-head:rgba(16,17,16,.72);
}

/* ---- Grove — 라이트 · 에메랄드 ---- */
.bean_theme-grove{
	--bean-bg:#f6f7f4;--bean-card:#ffffff;--bean-surf:#eef0ea;--bean-line:#e0e3da;
	--bean-text:#15201a;--bean-muted:#6f7a72;
	--bean-accent:#1f9d6b;--bean-accent2:#0f6e57;--bean-onaccent:#ffffff;
	--bean-head:rgba(246,247,244,.78);
}

/* ---- Azure — 라이트 · 코발트 ---- */
.bean_theme-azure{
	--bean-bg:#f3f5fa;--bean-card:#ffffff;--bean-surf:#e9edf6;--bean-line:#dde2ee;
	--bean-text:#16203a;--bean-muted:#6c768e;
	--bean-accent:#3457ff;--bean-accent2:#5e3bff;--bean-onaccent:#ffffff;
	--bean-head:rgba(243,245,250,.78);
}

/* ---- Terra — 라이트 · 테라코타 ---- */
.bean_theme-terra{
	--bean-bg:#f3efe6;--bean-card:#ffffff;--bean-surf:#ebe5d8;--bean-line:#e3dccb;
	--bean-text:#2a2118;--bean-muted:#897e6a;
	--bean-accent:#c4623a;--bean-accent2:#9c4a2c;--bean-onaccent:#ffffff;
	--bean-head:rgba(243,239,230,.78);
}

/* ---- Orchid — 라이트 · 그레이프 퍼플 ---- */
.bean_theme-orchid{
	--bean-bg:#f5f4f8;--bean-card:#ffffff;--bean-surf:#ecebf3;--bean-line:#e3e1ec;
	--bean-text:#1f1a2e;--bean-muted:#74708a;
	--bean-accent:#6b3fd4;--bean-accent2:#4a2aa0;--bean-onaccent:#ffffff;
	--bean-head:rgba(245,244,248,.78);
}

/* ---- Rose — 라이트 · 크림슨 로즈 ---- */
.bean_theme-rose{
	--bean-bg:#faf6f7;--bean-card:#ffffff;--bean-surf:#f3e9ec;--bean-line:#ecdfe3;
	--bean-text:#2a1820;--bean-muted:#8a7681;
	--bean-accent:#d6336c;--bean-accent2:#a31d52;--bean-onaccent:#ffffff;
	--bean-head:rgba(250,246,247,.78);
}

/* Original file: modules/reservation/skins/default/css/bean.css */

/* ============================================================
   reservation 모듈 — BEAN 테마 스킨 CSS
   - BEAN 레이아웃 안(종속형)에서는 #bean_root 의 --bean-* 테마색을
     그대로 상속받아 9색 테마에 자동 반응한다.
   - BEAN 레이아웃 밖(독립형)에서는 아래 :root 폴백 팔레트를 쓴다.
   - 클래스는 모듈 고유 rsv_ 접두어라 다른 CSS 와 충돌하지 않는다.
   ============================================================ */

:root{
	--bean-bg:#f4f5f7;--bean-card:#ffffff;--bean-surf:#eef0f3;--bean-line:#e3e6ea;
	--bean-text:#1c1f26;--bean-muted:#6b7280;
	--bean-accent:#3457ff;--bean-accent2:#5e3bff;--bean-onaccent:#ffffff;
	--bean-sans:-apple-system,BlinkMacSystemFont,'Pretendard','Segoe UI','Apple SD Gothic Neo','Malgun Gothic',sans-serif;
}

/* ---- 레이아웃 ---- */
.rsv_wrap{font-family:var(--bean-sans);color:var(--bean-text);line-height:1.6;}
.rsv_wrap *,.rsv_wrap *::before,.rsv_wrap *::after{box-sizing:border-box;}
.rsv_container{max-width:1100px;margin:0 auto;padding:8px 4px 40px;}
.rsv_top{margin-bottom:22px;}
.rsv_page_title{font-size:24px;font-weight:800;letter-spacing:-.5px;margin:0 0 6px;color:var(--bean-text);}
.rsv_page_desc{font-size:14px;color:var(--bean-muted);}
.rsv_top_meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:14px;}
.rsv_meta_box{display:flex;flex-direction:column;gap:3px;align-items:flex-start;
	padding:10px 14px;background:var(--bean-surf);border:1px solid var(--bean-line);border-radius:10px;}
.rsv_meta_label{font-size:11px;font-weight:700;letter-spacing:.5px;color:var(--bean-accent);}
.rsv_meta_value{font-size:13px;color:var(--bean-text);}
.rsv_breadcrumb{margin-bottom:14px;}
.rsv_breadcrumb a{font-size:13px;color:var(--bean-muted);}
.rsv_breadcrumb a:hover{color:var(--bean-accent);}

/* ---- 버튼 ---- */
.rsv_btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;
	padding:11px 20px;border-radius:999px;font-size:13.5px;font-weight:700;
	border:1px solid transparent;cursor:pointer;font-family:inherit;line-height:1.2;
	text-align:center;transition:.15s;text-decoration:none;}
.rsv_btn_primary{background:var(--bean-accent);color:var(--bean-onaccent);}
.rsv_btn_primary:hover{background:var(--bean-accent2);}
.rsv_btn_secondary{background:var(--bean-surf);color:var(--bean-text);border-color:var(--bean-line);}
.rsv_btn_secondary:hover{border-color:var(--bean-accent);color:var(--bean-accent);}
.rsv_btn_ghost{background:transparent;color:var(--bean-text);border-color:var(--bean-text);}
.rsv_btn_ghost:hover{border-color:var(--bean-accent);color:var(--bean-accent);}
.rsv_btn_danger{background:#e0464b;color:#fff;}
.rsv_btn_danger:hover{background:#c43339;}
.rsv_btn_sm{padding:7px 13px;font-size:12px;}
.rsv_btn[disabled],.rsv_btn:disabled{opacity:.5;cursor:not-allowed;}
.rsv_btn_area{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;}

/* ---- 알림 ---- */
.rsv_alert{padding:13px 16px;border-radius:10px;font-size:13.5px;margin:14px 0;
	border:1px solid var(--bean-line);background:var(--bean-surf);color:var(--bean-text);}
.rsv_alert_error{background:rgba(224,70,75,.12);border-color:rgba(224,70,75,.35);color:#c43339;}
.rsv_alert_warning{background:rgba(214,158,46,.14);border-color:rgba(214,158,46,.4);color:#9a6b12;}
.rsv_alert_info{background:color-mix(in srgb, var(--bean-accent) 10%, transparent);border-color:color-mix(in srgb, var(--bean-accent) 30%, transparent);color:var(--bean-accent);}

/* ---- 정기 예약 섹션 ---- */
.rsv_recurring_section{margin:18px 0;border:1px solid var(--bean-line);
	border-radius:14px;background:var(--bean-card);overflow:hidden;}
.rsv_recurring_summary{display:flex;align-items:center;gap:8px;cursor:pointer;
	padding:16px 20px;font-size:14.5px;font-weight:700;list-style:none;}
.rsv_recurring_summary::-webkit-details-marker{display:none;}
.rsv_recurring_hint{font-size:12px;font-weight:400;color:var(--bean-muted);}
.rsv_recurring_inner{padding:0 20px 16px;}
.rsv_weekday_section{margin-top:10px;border-top:1px solid var(--bean-line);}
.rsv_weekday_header{display:flex;align-items:center;justify-content:space-between;
	cursor:pointer;padding:12px 2px;font-size:13.5px;font-weight:700;list-style:none;}
.rsv_weekday_header::-webkit-details-marker{display:none;}
.rsv_weekday_label{color:var(--bean-text);}
.rsv_weekday_count{font-size:11.5px;font-weight:700;color:var(--bean-accent);
	background:var(--bean-surf);padding:3px 9px;border-radius:999px;}
.rsv_recurring_cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
	gap:14px;padding:6px 0 10px;}
.rsv_recurring_card{border:1px solid var(--bean-line);border-radius:12px;
	padding:16px;background:var(--bean-surf);}
.rsv_recurring_card_title{font-size:14.5px;font-weight:700;margin-bottom:6px;}
.rsv_recurring_card_desc{font-size:12.5px;color:var(--bean-muted);margin-bottom:8px;}
.rsv_recurring_card_meta{font-size:12.5px;color:var(--bean-text);}
.rsv_recurring_card_meta strong{color:var(--bean-accent);}
.rsv_recurring_card_ticket{font-size:12px;color:var(--bean-muted);margin-top:4px;}
.rsv_recurring_card_details{margin-top:8px;font-size:12px;color:var(--bean-muted);}
.rsv_recurring_card_details summary{cursor:pointer;color:var(--bean-accent);}
.rsv_recurring_card_details ul{margin:6px 0 0;padding-left:16px;}
.rsv_recurring_card_btn{margin-top:12px;width:100%;}

/* ---- 캘린더 ---- */
.rsv_calendar_nav{display:flex;align-items:center;gap:10px;margin:22px 0 12px;}
.rsv_nav_btn{display:inline-flex;align-items:center;justify-content:center;
	width:38px;height:38px;border:1px solid var(--bean-line);border-radius:10px;
	font-size:18px;color:var(--bean-text);background:var(--bean-card);text-decoration:none;}
.rsv_nav_btn:hover{border-color:var(--bean-accent);color:var(--bean-accent);}
.rsv_calendar_title{font-size:18px;font-weight:800;margin:0;}
.rsv_nav_today{margin-left:auto;font-size:12.5px;font-weight:700;
	padding:8px 16px;border-radius:999px;border:1px solid var(--bean-line);
	color:var(--bean-text);background:var(--bean-card);text-decoration:none;}
.rsv_nav_today:hover{border-color:var(--bean-accent);color:var(--bean-accent);}
.rsv_calendar{border:1px solid var(--bean-line);border-radius:14px;
	overflow:hidden;background:var(--bean-card);}
.rsv_calendar_head{display:grid;grid-template-columns:repeat(7,1fr);
	background:var(--bean-surf);border-bottom:1px solid var(--bean-line);}
.rsv_dow{padding:10px 0;text-align:center;font-size:12px;font-weight:700;color:var(--bean-muted);}
.rsv_dow.rsv_sun{color:#e0464b;}
.rsv_dow.rsv_sat{color:var(--bean-accent);}
.rsv_calendar_body{display:grid;grid-template-columns:repeat(7,1fr);}
.rsv_cell{min-height:108px;padding:6px;border-right:1px solid var(--bean-line);
	border-bottom:1px solid var(--bean-line);position:relative;}
.rsv_cell:nth-child(7n){border-right:0;}
.rsv_cell.rsv_out{background:var(--bean-surf);opacity:.5;}
.rsv_cell.rsv_past .rsv_day_num{color:var(--bean-muted);opacity:.6;}
.rsv_cell.rsv_has_slot{cursor:pointer;}
.rsv_cell.rsv_has_slot:hover{background:var(--bean-surf);}
.rsv_cell.rsv_active{background:var(--bean-surf);box-shadow:inset 0 0 0 2px var(--bean-accent);}
.rsv_cell.rsv_today .rsv_day_num{background:var(--bean-accent);color:var(--bean-onaccent);
	border-radius:999px;width:22px;height:22px;display:flex;align-items:center;justify-content:center;}
.rsv_day_num{font-size:12.5px;font-weight:700;color:var(--bean-text);margin-bottom:4px;}
.rsv_day_chips{display:flex;flex-direction:column;gap:3px;}

/* ---- 캘린더 칩 ---- */
.rsv_slot_chip{display:flex;align-items:center;gap:4px;padding:3px 7px;
	border-radius:6px;font-size:11px;font-weight:600;text-decoration:none;
	background:color-mix(in srgb, var(--bean-accent) 12%, transparent);color:var(--bean-accent);border:1px solid transparent;}
a.rsv_slot_chip:hover{border-color:var(--bean-accent);}
.rsv_slot_chip_group{background:color-mix(in srgb, var(--bean-accent2) 14%, transparent);color:var(--bean-accent2);}
.rsv_slot_chip_inactive,.rsv_slot_chip_full,.rsv_slot_chip_past{
	background:var(--bean-surf);color:var(--bean-muted);}
.rsv_chip_time{font-weight:700;}
.rsv_chip_count{margin-left:auto;font-size:10px;opacity:.85;}
.rsv_chip_tag{font-size:9px;font-weight:800;padding:1px 5px;border-radius:4px;
	background:var(--bean-card);border:1px solid var(--bean-line);}
.rsv_chip_tag_grp{color:var(--bean-accent2);}
.rsv_chip_tag_off{color:var(--bean-muted);}
.rsv_chip_tag_tk{color:var(--bean-accent);}

/* ---- 모달 (캘린더 슬롯 패널) ---- */
.rsv_modal_backdrop{position:fixed;inset:0;background:rgba(0,0,0,.55);
	z-index:9999;align-items:center;justify-content:center;}
.rsv_modal{background:var(--bean-card);border:1px solid var(--bean-line);
	border-radius:16px;width:92%;max-width:460px;max-height:80vh;
	display:flex;flex-direction:column;overflow:hidden;}
.rsv_modal_header{display:flex;align-items:center;justify-content:space-between;
	padding:16px 20px;border-bottom:1px solid var(--bean-line);}
.rsv_modal_header h3{margin:0;font-size:15.5px;font-weight:800;}
.rsv_close{background:none;border:0;font-size:22px;line-height:1;cursor:pointer;
	color:var(--bean-muted);font-family:inherit;}
.rsv_close:hover{color:var(--bean-text);}
.rsv_modal_body{padding:14px 20px 20px;overflow-y:auto;}

/* ---- 슬롯 항목 (JS 생성) ---- */
.rsv_slot_item{display:flex;align-items:center;justify-content:space-between;gap:12px;
	padding:13px 15px;border:1px solid var(--bean-line);border-radius:10px;
	margin-bottom:8px;text-decoration:none;color:var(--bean-text);background:var(--bean-card);}
a.rsv_slot_item:hover{border-color:var(--bean-accent);}
.rsv_slot_item_group{background:color-mix(in srgb, var(--bean-accent2) 7%, transparent);}
.rsv_slot_inactive,.rsv_slot_full{opacity:.65;}
.rsv_slot_item_time{font-size:13.5px;font-weight:700;}
.rsv_slot_item_title{font-size:12.5px;color:var(--bean-muted);margin-top:2px;}
.rsv_slot_item_subtitle{font-size:11.5px;color:var(--bean-muted);margin-top:2px;}
.rsv_slot_item_count{font-size:12.5px;color:var(--bean-text);}
.rsv_slot_item_count strong{color:var(--bean-accent);}
.rsv_slot_item_ticket{margin-top:4px;font-size:11px;font-weight:700;padding:3px 8px;
	border-radius:6px;background:var(--bean-surf);color:var(--bean-muted);}
/* 캘린더 팝업 슬롯 상태 배지 — 테마색 파생 */
.rsv_slot_item_ticket.rsv_tk_grp{background:color-mix(in srgb,var(--bean-accent2) 16%,transparent);color:var(--bean-accent2);}
.rsv_slot_item_ticket.rsv_tk_login{background:color-mix(in srgb,var(--bean-accent) 14%,transparent);color:var(--bean-accent);}
.rsv_slot_item_ticket.rsv_tk_off{background:var(--bean-surf);color:var(--bean-muted);}
.rsv_slot_item_title.rsv_grp_label{color:var(--bean-accent2);font-weight:700;}

/* ---- 빈 상태 ---- */
.rsv_empty{padding:50px 20px;text-align:center;color:var(--bean-muted);font-size:14px;}

/* ---- 예약 신청 (book) ---- */
.rsv_slot_summary{border:1px solid var(--bean-line);border-radius:14px;
	background:var(--bean-card);padding:18px 20px;margin-bottom:18px;}
.rsv_slot_summary_row{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:14px;}
.rsv_summary_label{font-size:11.5px;font-weight:700;color:var(--bean-accent);letter-spacing:.5px;}
.rsv_summary_value{font-size:14px;font-weight:600;margin-top:3px;}
.rsv_slot_description{margin-top:14px;padding-top:14px;border-top:1px solid var(--bean-line);
	font-size:13px;color:var(--bean-muted);}
.rsv_ticket_note{margin-top:12px;font-size:12.5px;font-weight:600;color:var(--bean-accent);}
.rsv_panel{margin-top:14px;padding:16px;border:1px solid var(--bean-line);
	border-radius:12px;background:var(--bean-surf);}
.rsv_panel h4{margin:0 0 8px;font-size:13.5px;font-weight:800;}
.rsv_panel p{margin:0 0 12px;font-size:13px;color:var(--bean-muted);}

/* ---- 폼 ---- */
.rsv_form{display:block;}
.rsv_form_group{margin-bottom:15px;}
.rsv_label{display:block;font-size:12.5px;font-weight:700;margin-bottom:7px;}
.rsv_label.rsv_required::after{content:" *";color:#e0464b;}
.rsv_input,.rsv_textarea{width:100%;padding:11px 13px;font-size:13.5px;font-family:inherit;
	background:var(--bean-surf);border:1px solid var(--bean-line);border-radius:9px;
	color:var(--bean-text);}
.rsv_input:focus,.rsv_textarea:focus{outline:0;border-color:var(--bean-accent);}
.rsv_textarea{resize:vertical;min-height:80px;line-height:1.6;}
.rsv_ticket_confirm{margin:14px 0;}
.rsv_checkbox_item{display:flex;align-items:flex-start;gap:8px;font-size:13px;cursor:pointer;}
.rsv_checkbox_item input{margin-top:2px;width:16px;height:16px;accent-color:var(--bean-accent);}
.rsv_form_grid{display:grid;grid-template-columns:120px 1fr;gap:12px 16px;
	align-items:center;padding:16px;border:1px solid var(--bean-line);
	border-radius:12px;background:var(--bean-card);margin-bottom:18px;}
.rsv_form_grid label{font-size:13px;font-weight:600;}

/* ---- 예약 상세 (booking_view) ---- */
.rsv_booking_detail{border:1px solid var(--bean-line);border-radius:14px;
	background:var(--bean-card);padding:20px 22px;}
.rsv_detail_status_line{display:flex;align-items:center;gap:10px;margin-bottom:16px;}
.rsv_booking_no{font-size:13px;color:var(--bean-muted);font-weight:700;}
.rsv_detail_table{width:100%;border-collapse:collapse;}
.rsv_detail_table th,.rsv_detail_table td{padding:11px 6px;text-align:left;
	font-size:13.5px;border-bottom:1px solid var(--bean-line);vertical-align:top;}
.rsv_detail_table th{width:110px;color:var(--bean-muted);font-weight:700;}
.rsv_detail_table pre{margin:0;white-space:pre-wrap;font-family:inherit;}

/* ---- 상태 배지 ---- */
.rsv_status{display:inline-block;font-size:11px;font-weight:800;padding:3px 9px;
	border-radius:999px;}
.rsv_status_lg{font-size:12.5px;padding:5px 12px;}
.rsv_status_confirmed{background:rgba(31,157,107,.16);color:#1f9d6b;}
.rsv_status_pending{background:rgba(214,158,46,.16);color:#9a6b12;}
.rsv_status_cancelled{background:var(--bean-surf);color:var(--bean-muted);}

/* ---- 직접 취소 불가 안내 ---- */
.rsv_cancel_notice_card{margin-top:14px;border:1px solid var(--bean-line);
	border-radius:12px;background:var(--bean-surf);padding:14px 16px;}
.rsv_cancel_notice_header{display:flex;align-items:center;gap:8px;font-size:13.5px;
	font-weight:800;margin-bottom:6px;}
.rsv_cancel_notice_icon_lg{display:inline-flex;align-items:center;justify-content:center;
	width:20px;height:20px;border-radius:999px;background:var(--bean-accent);
	color:var(--bean-onaccent);font-size:12px;font-weight:800;}
.rsv_cancel_notice_body{font-size:12.5px;color:var(--bean-muted);}

/* ---- 내 예약 내역 (my_bookings) ---- */
.rsv_section_title{margin:22px 0 10px;font-size:15px;font-weight:800;}
.rsv_booking_list{display:flex;flex-direction:column;gap:12px;}
.rsv_booking_card{display:flex;gap:16px;align-items:center;padding:16px 18px;
	border:1px solid var(--bean-line);border-radius:14px;background:var(--bean-card);}
.rsv_booking_card.rsv_booking_cancelled{opacity:.6;}
.rsv_booking_card_block{display:block;}
.rsv_booking_date{flex:0 0 auto;text-align:center;padding-right:16px;
	border-right:1px solid var(--bean-line);}
.rsv_booking_date_main{font-size:15px;font-weight:800;}
.rsv_booking_date_time{font-size:11.5px;color:var(--bean-muted);margin-top:2px;}
.rsv_booking_info{flex:1;}
.rsv_booking_title{font-size:14.5px;font-weight:700;display:flex;align-items:center;gap:6px;}
.rsv_ticket_tag{font-size:10.5px;font-weight:800;padding:2px 7px;border-radius:5px;
	background:var(--bean-surf);color:var(--bean-accent);}
.rsv_booking_meta{display:flex;align-items:center;gap:8px;margin-top:6px;}
.rsv_booking_sub{font-size:12px;color:var(--bean-muted);}
.rsv_booking_actions{display:flex;flex-direction:column;gap:6px;align-items:stretch;flex:0 0 auto;}
.rsv_group_card_head{display:flex;justify-content:space-between;align-items:flex-start;
	gap:12px;margin-bottom:10px;}
.rsv_group_card_title{font-weight:700;font-size:14px;}
.rsv_group_card_sub{font-size:12px;color:var(--bean-muted);margin-top:2px;}
.rsv_group_session_list{list-style:none;margin:0;padding:0;border-top:1px solid var(--bean-line);}
.rsv_group_session{display:flex;justify-content:space-between;align-items:center;
	gap:10px;padding:11px 0;border-bottom:1px solid var(--bean-line);font-size:13px;}
.rsv_group_session:last-child{border-bottom:0;}
.rsv_session_date{font-weight:600;}
.rsv_session_time{color:var(--bean-muted);margin-left:8px;}
.rsv_session_actions{display:flex;gap:4px;flex-wrap:wrap;}
.rsv_pending_badge{display:inline-block;padding:4px 10px;border-radius:999px;
	font-size:11px;font-weight:700;line-height:1.4;}
.rsv_pending_cancel{background:rgba(214,158,46,.16);color:#9a6b12;}
.rsv_pending_date{background:color-mix(in srgb, var(--bean-accent) 12%, transparent);color:var(--bean-accent);}
.rsv_pagenavi{text-align:center;margin-top:18px;display:flex;gap:4px;justify-content:center;}

/* ---- 정기 예약 신청 (book_group) ---- */
.rsv_group_intro{background:var(--bean-surf);border:1px solid var(--bean-line);
	border-radius:12px;padding:14px 16px;margin-bottom:18px;}
.rsv_group_intro_title{font-weight:700;font-size:15px;margin-bottom:5px;}
.rsv_group_intro_desc{font-size:13px;color:var(--bean-muted);margin-bottom:6px;}
.rsv_group_intro_meta{font-size:12px;color:var(--bean-accent);font-weight:600;}
.rsv_type_tabs{display:flex;gap:4px;border-bottom:2px solid var(--bean-line);overflow-x:auto;}
.rsv_type_tab{background:transparent;border:0;padding:11px 16px;font-size:13px;
	font-weight:600;color:var(--bean-muted);cursor:pointer;white-space:nowrap;
	border-bottom:3px solid transparent;margin-bottom:-2px;display:inline-flex;
	align-items:center;gap:8px;transition:.15s;font-family:inherit;}
.rsv_type_tab:hover{color:var(--bean-text);}
.rsv_type_tab.rsv_type_tab_active{color:var(--bean-accent);border-bottom-color:var(--bean-accent);}
.rsv_type_tab_count{font-size:11px;font-weight:700;color:var(--bean-muted);
	padding:2px 7px;background:var(--bean-surf);border-radius:999px;}
.rsv_type_tab.rsv_type_tab_active .rsv_type_tab_count{
	background:color-mix(in srgb, var(--bean-accent) 14%, transparent);color:var(--bean-accent);}
.rsv_type_panels{margin-bottom:18px;}
.rsv_type_panel{display:none;padding:16px;background:var(--bean-card);
	border:1px solid var(--bean-line);border-top:0;border-radius:0 0 12px 12px;}
.rsv_type_panel.rsv_type_panel_active{display:block;}
.rsv_type_panel_meta{display:flex;justify-content:space-between;align-items:center;
	padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid var(--bean-line);
	font-size:13px;flex-wrap:wrap;gap:6px;}
.rsv_type_panel_meta strong{font-size:14px;}
.rsv_type_panel_hint{color:var(--bean-muted);font-size:12px;margin-left:8px;}
.rsv_type_panel_notice{padding:11px;border-radius:8px;font-size:12.5px;}
.rsv_type_panel_notice_error{background:rgba(224,70,75,.12);color:#c43339;}
.rsv_type_panel_notice_warn{background:rgba(214,158,46,.14);color:#9a6b12;}
.rsv_type_panel_starts{display:flex;flex-direction:column;gap:7px;
	max-height:360px;overflow-y:auto;}
.rsv_start_option{display:flex;gap:10px;padding:11px;border:2px solid var(--bean-line);
	border-radius:10px;cursor:pointer;transition:.15s;}
.rsv_start_option:hover{border-color:var(--bean-accent);}
.rsv_start_option.rsv_start_option_on{border-color:var(--bean-accent);background:color-mix(in srgb, var(--bean-accent) 8%, transparent);}
.rsv_start_option input[type="radio"]{margin-top:3px;accent-color:var(--bean-accent);}
.rsv_start_option_title{font-weight:700;font-size:13px;margin-bottom:4px;}
.rsv_start_option_window{font-size:11.5px;color:var(--bean-muted);}

/* ---- 요청 모달 (my_bookings) ---- */
.rsv_dialog_backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);
	z-index:9999;align-items:center;justify-content:center;}
.rsv_dialog{background:var(--bean-card);border:1px solid var(--bean-line);
	padding:22px;border-radius:16px;max-width:480px;width:92%;}
.rsv_dialog h3{margin:0 0 12px;font-size:16px;font-weight:800;}
.rsv_dialog p{font-size:13px;color:var(--bean-muted);margin:0 0 12px;}
.rsv_dialog textarea{width:100%;padding:11px 13px;font-family:inherit;font-size:13.5px;
	background:var(--bean-surf);border:1px solid var(--bean-line);border-radius:9px;
	color:var(--bean-text);resize:vertical;}
.rsv_dialog textarea:focus{outline:0;border-color:var(--bean-accent);}
.rsv_dialog_actions{margin-top:14px;display:flex;gap:8px;justify-content:flex-end;}

/* ---- JS 생성 안내 다이얼로그 ---- */
.rsv_notice_backdrop{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:10000;
	display:flex;align-items:center;justify-content:center;}
.rsv_notice_dialog{background:var(--bean-card);border:1px solid var(--bean-line);
	border-radius:16px;padding:24px;max-width:380px;width:90%;text-align:center;}
.rsv_notice_dialog_icon{width:40px;height:40px;margin:0 auto 12px;border-radius:999px;
	background:var(--bean-accent);color:var(--bean-onaccent);font-size:20px;font-weight:800;
	display:flex;align-items:center;justify-content:center;}
.rsv_notice_dialog_title{font-size:15px;font-weight:800;margin-bottom:8px;}
.rsv_notice_dialog_body{font-size:13px;color:var(--bean-muted);line-height:1.7;margin-bottom:16px;}
.rsv_notice_dialog_close{padding:10px 24px;border-radius:999px;border:0;cursor:pointer;
	font-family:inherit;font-weight:700;font-size:13px;
	background:var(--bean-accent);color:var(--bean-onaccent);}

@media(max-width:640px){
	.rsv_cell{min-height:78px;}
	.rsv_booking_card{flex-wrap:wrap;}
	.rsv_booking_date{border-right:0;padding-right:0;text-align:left;}
	.rsv_form_grid{grid-template-columns:1fr;}
}

