@import"https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css";@import"https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100;200;300;400;500;600;700;800;900&display=swap";@import"https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css";.sidebar{position:relative;width:200px;background:var(--sidebar-bg);border-right:none;display:flex;flex-direction:column;flex-shrink:0;height:100%;font-family:Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;transition:width .25s ease,background-color .15s ease,border-color .15s ease}.sidebar .nav-item,.sidebar .footer-item{overflow:hidden}.sidebar .nav-item span,.sidebar .footer-item span,.sidebar .profile-info,.sidebar .nav-section-label{opacity:1;transition:opacity .1s ease;white-space:nowrap}.sidebar.collapsed .nav-item span,.sidebar.collapsed .footer-item span,.sidebar.collapsed .profile-info,.sidebar.collapsed .nav-section-label{opacity:0;position:absolute;pointer-events:none}.sidebar.collapsed{width:72px}.sidebar-profile{display:flex;align-items:center;gap:12px;padding:16px;border-bottom:none;transition:border-color .15s ease}.sidebar.collapsed .sidebar-profile{justify-content:center;padding:16px 12px}.profile-avatar{flex-shrink:0}.avatar-gradient{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#03c75a,#02a34a);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:600;color:#fff;box-shadow:0 4px 12px #03c75a4d}.profile-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.profile-role{font-size:10px;color:var(--sidebar-text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.5px;transition:color .15s ease}.profile-name{font-size:14px;color:var(--sidebar-text);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .15s ease}.collapse-btn{position:absolute;right:-12px;top:28px;width:24px;height:24px;border-radius:6px;background:var(--bg-elevated);border:1px solid var(--border-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:all .15s ease;z-index:100;box-shadow:0 2px 8px #0000001a}html.dark .collapse-btn{box-shadow:0 2px 8px #0000004d}.collapse-btn:hover{background:var(--sidebar-hover-bg);border-color:var(--text-tertiary);color:var(--text-primary)}.sidebar-nav{flex:1;padding:16px 12px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.sidebar.collapsed .sidebar-nav{padding:16px 8px}.nav-section-label{font-size:11px;font-weight:600;color:var(--sidebar-text-muted);text-transform:uppercase;letter-spacing:.5px;padding:12px 12px 8px;margin-top:8px;transition:color .15s ease}.nav-section-label:first-child{margin-top:0;padding-top:0}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 12px;color:var(--sidebar-text-muted);text-decoration:none;font-size:14px;font-weight:500;transition:all .15s ease;border-radius:8px}.sidebar.collapsed .nav-item{justify-content:center;padding:12px}.nav-item svg{flex-shrink:0;width:20px;height:20px}.nav-item span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-item:hover{color:var(--sidebar-text);background:var(--sidebar-hover-bg)}.nav-item.active{color:#03c75a;background:var(--sidebar-active-bg)}html.light .nav-item.active{background:#03c75a14}.sidebar-footer{padding:16px 12px;border-top:1px solid var(--sidebar-border);display:flex;flex-direction:column;gap:2px;transition:border-color .15s ease}.sidebar.collapsed .sidebar-footer{padding:16px 8px}.footer-item{display:flex;align-items:center;gap:12px;padding:10px 12px;color:var(--sidebar-text-muted);text-decoration:none;font-size:14px;font-weight:500;transition:all .15s ease;border-radius:8px;cursor:pointer;background:none;border:none;width:100%;text-align:left}.sidebar.collapsed .footer-item{justify-content:center;padding:12px}.footer-item svg{flex-shrink:0;width:20px;height:20px}.footer-item:hover{color:var(--sidebar-text);background:var(--sidebar-hover-bg)}.footer-item.logout{color:#f87171}.footer-item.logout:hover{color:#ef4444;background:#ef44441a}.theme-box{display:flex;align-items:center;width:100%;height:40px;background:var(--sidebar-hover-bg);border:1px solid var(--sidebar-border);border-radius:8px;cursor:pointer;position:relative;overflow:hidden;margin-bottom:4px;transition:background-color .15s ease,border-color .15s ease}.sidebar.collapsed .theme-box{width:48px;margin:0 auto 4px}.theme-icon{position:absolute;width:50%;height:100%;display:flex;align-items:center;justify-content:center;transition:all .15s cubic-bezier(.4,0,.2,1);border-radius:6px}.theme-box .moon-icon{left:0;color:var(--sidebar-text-muted);background:transparent}.theme-box .sun-icon{left:50%;color:var(--sidebar-text-muted);background:transparent}.theme-box.dark .moon-icon{background:var(--sidebar-active-bg);color:#a5b4fc}html.dark .theme-box.dark .moon-icon{background:#444}.theme-box.light .sun-icon{background:#03c75a;color:#fbbf24}.sidebar.collapsed .theme-icon{width:100%}.sidebar.collapsed .theme-box .moon-icon,.sidebar.collapsed .theme-box .sun-icon{left:0}.sidebar.collapsed .theme-box.dark .moon-icon{opacity:1}.sidebar.collapsed .theme-box.dark .sun-icon{opacity:0}.sidebar.collapsed .theme-box.light .sun-icon{opacity:1}.sidebar.collapsed .theme-box.light .moon-icon{opacity:0}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb, #ccc);border-radius:2px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover, #aaa)}@media (max-width: 768px){.sidebar{position:fixed;left:-220px;top:0;height:100vh;z-index:1000;transition:transform .25s ease,width .25s ease,background-color .15s ease}.sidebar.collapsed{left:-72px}.sidebar.open{transform:translate(220px)}.sidebar.open.collapsed{transform:translate(72px)}.sidebar-overlay{position:fixed;inset:0;background:#00000080;z-index:999;opacity:0;visibility:hidden;transition:opacity .25s ease}.sidebar.open+.sidebar-overlay{opacity:1;visibility:visible}}.layout{display:flex;width:100%;height:100vh;overflow:hidden;background:var(--bg-primary);transition:background-color .15s ease}.main-content{flex:1;overflow-y:auto;padding:24px 24px 24px 0;background:var(--bg-primary);transition:background-color .15s ease}@media (max-width: 480px){.main-content{padding:16px}}@media (min-width: 1280px){.main-content{padding:32px 32px 32px 0}}.main-content::-webkit-scrollbar{width:6px}.main-content::-webkit-scrollbar-track{background:transparent}.main-content::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb, #ccc);border-radius:3px;transition:background-color .15s ease}.main-content::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover, #aaa)}.main-content{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb, #ccc) transparent}.error-boundary{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:var(--bg-primary, #ffffff);z-index:9999;overflow-y:auto;display:flex;align-items:center;justify-content:center;padding:1.5rem;animation:errorBoundaryFadeIn .3s ease-out}@keyframes errorBoundaryFadeIn{0%{opacity:0}to{opacity:1}}@keyframes errorBoundarySlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes errorBoundaryScaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.error-boundary__container{max-width:600px;width:100%;animation:errorBoundarySlideUp .5s ease-out}.error-boundary__content{background-color:var(--card-bg, #ffffff);border:1px solid var(--card-border, #e5e5e5);border-radius:16px;padding:3rem 2rem;box-shadow:0 10px 40px #0000001a;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem}.error-boundary__icon{width:80px;height:80px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#fca5a5,#ef4444);border-radius:50%;color:#fff;margin-bottom:.5rem;animation:errorBoundaryScaleIn .6s ease-out}.error-boundary__icon svg{width:48px;height:48px;stroke-width:2.5}.error-boundary__title{font-size:2rem;font-weight:700;color:var(--text-primary, #1a1a1a);line-height:1.2;margin:0}.error-boundary__message{font-size:1.125rem;color:var(--text-secondary, #666666);line-height:1.6;margin:0;max-width:480px}.error-boundary__error-id{font-size:.875rem;color:var(--text-tertiary, #999999);margin:.5rem 0 0}.error-boundary__error-id code{font-family:Consolas,Monaco,monospace;background-color:var(--bg-tertiary, #f5f5f5);padding:.25rem .5rem;border-radius:4px;font-size:.8125rem}.error-boundary__actions{display:flex;gap:.75rem;margin-top:1rem;flex-wrap:wrap;justify-content:center}.error-boundary__button{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.9375rem;font-weight:600;border-radius:8px;transition:all .2s ease;cursor:pointer;border:none;font-family:inherit;white-space:nowrap}.error-boundary__button:hover{transform:translateY(-1px)}.error-boundary__button:active{transform:translateY(0)}.error-boundary__button:focus-visible{outline:2px solid var(--primary, #03c75a);outline-offset:2px}.error-boundary__button svg{width:18px;height:18px}.error-boundary__button--primary{background-color:var(--primary, #03c75a);color:#fff;box-shadow:0 2px 8px #03c75a4d}.error-boundary__button--primary:hover{background-color:var(--primary-hover, #02a84c);box-shadow:0 4px 12px #03c75a66}.error-boundary__button--secondary{background-color:var(--bg-secondary, #f5f5f5);color:var(--text-primary, #1a1a1a);border:1px solid var(--border-primary, #e5e5e5)}.error-boundary__button--secondary:hover{background-color:var(--bg-tertiary, #eeeeee);border-color:var(--border-secondary, #d5d5d5)}.error-boundary__details{width:100%;margin-top:1.5rem;text-align:left}.error-boundary__details-summary{cursor:pointer;padding:.75rem 1rem;background-color:var(--bg-tertiary, #f5f5f5);border:1px solid var(--border-primary, #e5e5e5);border-radius:8px;font-size:.875rem;font-weight:500;color:var(--text-secondary, #666666);transition:all .2s ease;user-select:none;list-style:none}.error-boundary__details-summary::-webkit-details-marker{display:none}.error-boundary__details-summary:before{content:"+";display:inline-block;width:1.25rem;font-weight:600;color:var(--text-tertiary, #999999)}.error-boundary__details[open] .error-boundary__details-summary:before{content:"-"}.error-boundary__details-summary:hover{background-color:var(--bg-hover, #eeeeee);color:var(--text-primary, #1a1a1a)}.error-boundary__details-summary:focus-visible{outline:2px solid var(--primary, #03c75a);outline-offset:2px}.error-boundary__details-content{padding:1rem;background-color:var(--bg-secondary, #fafafa);border:1px solid var(--border-secondary, #e0e0e0);border-radius:8px;margin-top:.5rem;max-height:400px;overflow-y:auto}.error-boundary__details-header{display:flex;justify-content:flex-end;margin-bottom:.75rem}.error-boundary__copy-button{display:inline-flex;align-items:center;gap:.25rem;padding:.375rem .75rem;font-size:.75rem;font-weight:500;color:var(--text-secondary, #666666);background-color:var(--bg-primary, #ffffff);border:1px solid var(--border-primary, #e5e5e5);border-radius:4px;cursor:pointer;transition:all .2s ease;font-family:inherit}.error-boundary__copy-button:hover{background-color:var(--bg-tertiary, #f0f0f0);color:var(--text-primary, #1a1a1a)}.error-boundary__error-info,.error-boundary__stack,.error-boundary__component-stack{margin-bottom:1rem}.error-boundary__error-info:last-child,.error-boundary__stack:last-child,.error-boundary__component-stack:last-child{margin-bottom:0}.error-boundary__error-info strong,.error-boundary__stack strong,.error-boundary__component-stack strong{display:block;font-size:.8125rem;font-weight:600;color:var(--text-primary, #1a1a1a);margin-bottom:.5rem}.error-boundary__error-info code{display:block;font-family:Consolas,Monaco,monospace;font-size:.8125rem;color:#dc3545;background-color:var(--bg-tertiary, #f5f5f5);padding:.5rem .75rem;border-radius:4px;word-break:break-all}.error-boundary__details-content pre{font-family:Consolas,Monaco,monospace;font-size:.75rem;color:var(--text-secondary, #666666);background-color:var(--bg-tertiary, #f0f0f0);padding:.75rem;border-radius:4px;overflow-x:auto;white-space:pre-wrap;word-break:break-all;line-height:1.5;margin:0;max-height:200px}.error-boundary__help{font-size:.8125rem;color:var(--text-tertiary, #999999);margin-top:.5rem;margin-bottom:0}@media (max-width: 768px){.error-boundary{padding:1rem}.error-boundary__content{padding:2rem 1.5rem}.error-boundary__title{font-size:1.75rem}.error-boundary__message{font-size:1rem}.error-boundary__icon{width:64px;height:64px}.error-boundary__icon svg{width:40px;height:40px}}@media (max-width: 480px){.error-boundary{padding:3rem .75rem .75rem;align-items:flex-start}.error-boundary__content{padding:1.5rem 1rem;gap:.75rem}.error-boundary__title{font-size:1.5rem}.error-boundary__message{font-size:.9375rem}.error-boundary__icon{width:56px;height:56px}.error-boundary__icon svg{width:32px;height:32px}.error-boundary__actions{flex-direction:column;width:100%}.error-boundary__button{width:100%;justify-content:center;padding:.75rem 1rem}.error-boundary__details-content{max-height:250px;padding:.75rem}.error-boundary__details-content pre{font-size:.6875rem;max-height:150px}}@media (prefers-contrast: high){.error-boundary__content{border-width:2px;border-color:currentColor}.error-boundary__icon,.error-boundary__button{border:2px solid currentColor}}@media (prefers-reduced-motion: reduce){.error-boundary,.error-boundary__container,.error-boundary__icon{animation:none}.error-boundary__button:hover{transform:none}}html.dark .error-boundary{background-color:var(--bg-primary, #1a1a1a)}html.dark .error-boundary__content{background-color:var(--card-bg, #2a2a2a);border-color:var(--card-border, #3a3a3a);box-shadow:0 10px 40px #0000004d}html.dark .error-boundary__title{color:var(--text-primary, #ffffff)}html.dark .error-boundary__message{color:var(--text-secondary, #b0b0b0)}html.dark .error-boundary__error-id code{background-color:var(--bg-tertiary, #333333);color:var(--text-secondary, #b0b0b0)}html.dark .error-boundary__icon{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 4px 12px #ef444440}html.dark .error-boundary__button--secondary{background-color:var(--bg-secondary, #333333);color:var(--text-primary, #ffffff);border-color:var(--border-primary, #444444)}html.dark .error-boundary__button--secondary:hover{background-color:var(--bg-tertiary, #404040);border-color:var(--border-secondary, #555555)}html.dark .error-boundary__details-summary{background-color:var(--bg-secondary, #2a2a2a);border-color:var(--border-primary, #3a3a3a);color:var(--text-secondary, #b0b0b0)}html.dark .error-boundary__details-summary:hover{background-color:var(--bg-tertiary, #333333);color:var(--text-primary, #ffffff)}html.dark .error-boundary__details-content{background-color:var(--bg-secondary, #222222);border-color:var(--border-secondary, #3a3a3a)}html.dark .error-boundary__copy-button{background-color:var(--bg-tertiary, #333333);color:var(--text-secondary, #b0b0b0);border-color:var(--border-primary, #444444)}html.dark .error-boundary__copy-button:hover{background-color:var(--bg-hover, #404040);color:var(--text-primary, #ffffff)}html.dark .error-boundary__error-info code{background-color:var(--bg-tertiary, #2a2a2a);color:#f87171}html.dark .error-boundary__details-content pre{background-color:var(--bg-tertiary, #1a1a1a);color:var(--text-secondary, #b0b0b0)}html.dark .error-boundary__error-info strong,html.dark .error-boundary__stack strong,html.dark .error-boundary__component-stack strong{color:var(--text-primary, #ffffff)}html.dark .error-boundary__help{color:var(--text-tertiary, #888888)}.error-boundary-inline{display:flex;align-items:center;justify-content:center;min-height:400px;padding:2rem;background-color:var(--bg-secondary, #f9fafb);border:2px dashed var(--border-primary, #e5e7eb);border-radius:12px}.error-boundary-inline__content{text-align:center;max-width:480px;display:flex;flex-direction:column;align-items:center;gap:1rem}.error-boundary-inline__icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#fca5a5,#ef4444);border-radius:50%;color:#fff;margin-bottom:.5rem}.error-boundary-inline__title{font-size:1.25rem;font-weight:600;color:var(--text-primary, #1a1a1a);margin:0}.error-boundary-inline__message{font-size:.9375rem;color:var(--text-secondary, #666666);line-height:1.5;margin:0}.error-boundary-inline__details{width:100%;margin-top:1rem;text-align:left}.error-boundary-inline__details summary{cursor:pointer;padding:.5rem;font-size:.875rem;color:var(--text-secondary, #666666);user-select:none}.error-boundary-inline__details pre{font-family:Consolas,Monaco,monospace;font-size:.75rem;color:var(--text-secondary, #666666);background-color:var(--bg-tertiary, #f0f0f0);padding:.75rem;border-radius:4px;overflow-x:auto;white-space:pre-wrap;word-break:break-all;margin:.5rem 0 0}.error-boundary-inline__actions{display:flex;gap:.75rem;margin-top:.5rem}.error-boundary-inline__button{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;border-radius:8px;transition:all .2s ease;cursor:pointer;border:none;font-family:inherit}.error-boundary-inline__button:hover{transform:translateY(-1px)}.error-boundary-inline__button:active{transform:translateY(0)}.error-boundary-inline__button--primary{background-color:var(--primary, #03c75a);color:#fff;box-shadow:0 2px 6px #03c75a4d}.error-boundary-inline__button--primary:hover{background-color:var(--primary-hover, #02a84c)}.error-boundary-inline__button--secondary{background-color:var(--bg-secondary, #f5f5f5);color:var(--text-primary, #1a1a1a);border:1px solid var(--border-primary, #e5e5e5)}.error-boundary-inline__button--secondary:hover{background-color:var(--bg-tertiary, #eeeeee)}.error-boundary-chart{display:flex;align-items:center;justify-content:center;min-height:300px;padding:2rem;background-color:var(--bg-secondary, #f9fafb);border:1px solid var(--border-primary, #e5e7eb);border-radius:8px}.error-boundary-chart__content{text-align:center;display:flex;flex-direction:column;align-items:center;gap:.75rem}.error-boundary-chart__icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary, #999999)}.error-boundary-chart__message{font-size:.9375rem;color:var(--text-secondary, #666666);margin:0}.error-boundary-chart__retry{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;color:var(--text-primary, #1a1a1a);background-color:var(--bg-primary, #ffffff);border:1px solid var(--border-primary, #e5e5e5);border-radius:6px;cursor:pointer;transition:all .2s ease;font-family:inherit}.error-boundary-chart__retry:hover{background-color:var(--bg-tertiary, #f5f5f5);border-color:var(--border-secondary, #d5d5d5)}.error-boundary-chart__details{margin-top:.5rem;width:100%;max-width:400px}.error-boundary-chart__details summary{cursor:pointer;font-size:.75rem;color:var(--text-tertiary, #999999);user-select:none}.error-boundary-chart__details code{display:block;margin-top:.5rem;font-family:Consolas,Monaco,monospace;font-size:.75rem;color:#dc3545;background-color:var(--bg-tertiary, #f5f5f5);padding:.5rem;border-radius:4px;word-break:break-all}.error-boundary-form{display:flex;align-items:center;justify-content:center;min-height:300px;padding:2rem;background-color:var(--bg-secondary, #f9fafb);border:2px dashed var(--border-primary, #e5e7eb);border-radius:12px}.error-boundary-form__content{text-align:center;max-width:480px;display:flex;flex-direction:column;align-items:center;gap:1rem}.error-boundary-form__icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#fbbf24,#f59e0b);border-radius:50%;color:#fff;margin-bottom:.5rem}.error-boundary-form__title{font-size:1.125rem;font-weight:600;color:var(--text-primary, #1a1a1a);margin:0}.error-boundary-form__message{font-size:.9375rem;color:var(--text-secondary, #666666);line-height:1.5;margin:0}.error-boundary-form__error{width:100%;margin-top:.5rem}.error-boundary-form__error code{display:block;font-family:Consolas,Monaco,monospace;font-size:.8125rem;color:#dc3545;background-color:var(--bg-tertiary, #f5f5f5);padding:.5rem .75rem;border-radius:4px;word-break:break-all}.error-boundary-form__actions{display:flex;gap:.75rem;margin-top:.5rem}.error-boundary-form__button{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;border-radius:8px;transition:all .2s ease;cursor:pointer;border:none;font-family:inherit}.error-boundary-form__button:hover{transform:translateY(-1px)}.error-boundary-form__button:active{transform:translateY(0)}.error-boundary-form__button--primary{background-color:var(--primary, #03c75a);color:#fff;box-shadow:0 2px 6px #03c75a4d}.error-boundary-form__button--primary:hover{background-color:var(--primary-hover, #02a84c)}.error-boundary-form__button--secondary{background-color:var(--bg-secondary, #f5f5f5);color:var(--text-primary, #1a1a1a);border:1px solid var(--border-primary, #e5e5e5)}.error-boundary-form__button--secondary:hover{background-color:var(--bg-tertiary, #eeeeee)}html.dark .error-boundary-inline{background-color:var(--bg-secondary, #2a2a2a);border-color:var(--border-primary, #3a3a3a)}html.dark .error-boundary-inline__title{color:var(--text-primary, #ffffff)}html.dark .error-boundary-inline__message{color:var(--text-secondary, #b0b0b0)}html.dark .error-boundary-inline__details pre{background-color:var(--bg-tertiary, #1a1a1a);color:var(--text-secondary, #b0b0b0)}html.dark .error-boundary-inline__button--secondary{background-color:var(--bg-secondary, #333333);color:var(--text-primary, #ffffff);border-color:var(--border-primary, #444444)}html.dark .error-boundary-inline__button--secondary:hover{background-color:var(--bg-tertiary, #404040)}html.dark .error-boundary-chart{background-color:var(--bg-secondary, #2a2a2a);border-color:var(--border-primary, #3a3a3a)}html.dark .error-boundary-chart__message{color:var(--text-secondary, #b0b0b0)}html.dark .error-boundary-chart__retry{background-color:var(--bg-tertiary, #333333);color:var(--text-primary, #ffffff);border-color:var(--border-primary, #444444)}html.dark .error-boundary-chart__retry:hover{background-color:var(--bg-hover, #404040)}html.dark .error-boundary-chart__details code{background-color:var(--bg-tertiary, #2a2a2a);color:#f87171}html.dark .error-boundary-form{background-color:var(--bg-secondary, #2a2a2a);border-color:var(--border-primary, #3a3a3a)}html.dark .error-boundary-form__title{color:var(--text-primary, #ffffff)}html.dark .error-boundary-form__message{color:var(--text-secondary, #b0b0b0)}html.dark .error-boundary-form__error code{background-color:var(--bg-tertiary, #2a2a2a);color:#f87171}html.dark .error-boundary-form__button--secondary{background-color:var(--bg-secondary, #333333);color:var(--text-primary, #ffffff);border-color:var(--border-primary, #444444)}html.dark .error-boundary-form__button--secondary:hover{background-color:var(--bg-tertiary, #404040)}.page-error{display:flex;align-items:center;justify-content:center;min-height:400px;padding:2rem;animation:pageErrorFadeIn .3s ease-out}@keyframes pageErrorFadeIn{0%{opacity:0}to{opacity:1}}.page-error__container{text-align:center;max-width:450px;width:100%}.page-error__icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;background:linear-gradient(135deg,#fef3c7,#fbbf24);border-radius:50%;color:#92400e;margin-bottom:1.25rem}.page-error__icon svg{width:32px;height:32px}.page-error__title{margin:0 0 .5rem;font-size:1.25rem;font-weight:600;color:var(--text-primary, #1a1a1a);line-height:1.3}.page-error__message{margin:0 0 1.5rem;font-size:.9375rem;color:var(--text-secondary, #666666);line-height:1.5}.page-error__actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.page-error__button{display:inline-flex;align-items:center;gap:.375rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:600;border-radius:8px;border:none;cursor:pointer;transition:all .2s ease;font-family:inherit}.page-error__button:focus-visible{outline:2px solid var(--primary, #03c75a);outline-offset:2px}.page-error__button:hover{transform:translateY(-1px)}.page-error__button:active{transform:translateY(0)}.page-error__button--primary{background-color:var(--primary, #03c75a);color:#fff}.page-error__button--primary:hover{background-color:var(--primary-hover, #02a84c);box-shadow:0 2px 8px #03c75a4d}.page-error__button--secondary{background-color:var(--bg-secondary, #f5f5f5);color:var(--text-primary, #1a1a1a);border:1px solid var(--border-primary, #e5e5e5)}.page-error__button--secondary:hover{background-color:var(--bg-tertiary, #eeeeee)}.page-error__details{margin-top:1.5rem;text-align:left}.page-error__details-summary{cursor:pointer;padding:.625rem 1rem;font-size:.8125rem;font-weight:500;color:var(--text-secondary, #666666);background-color:var(--bg-tertiary, #f5f5f5);border:1px solid var(--border-primary, #e5e5e5);border-radius:6px;user-select:none;list-style:none}.page-error__details-summary::-webkit-details-marker{display:none}.page-error__details-summary:before{content:"+ ";font-weight:600}.page-error__details[open] .page-error__details-summary:before{content:"- "}.page-error__details-summary:hover{background-color:var(--bg-hover, #eeeeee)}.page-error__details-content{margin-top:.5rem;padding:.75rem;background-color:var(--bg-secondary, #fafafa);border:1px solid var(--border-secondary, #e0e0e0);border-radius:6px;max-height:300px;overflow-y:auto}.page-error__error-name{font-size:.8125rem;color:#dc3545;margin-bottom:.75rem;word-break:break-all}.page-error__error-name strong{color:var(--text-primary, #1a1a1a)}.page-error__stack,.page-error__component-stack{font-family:Consolas,Monaco,monospace;font-size:.6875rem;color:var(--text-secondary, #666666);background-color:var(--bg-tertiary, #f0f0f0);padding:.625rem;border-radius:4px;overflow-x:auto;white-space:pre-wrap;word-break:break-all;line-height:1.4;margin:0 0 .5rem;max-height:150px}.page-error__component-stack{margin-bottom:0}@media (max-width: 480px){.page-error{padding:1rem;min-height:300px}.page-error__icon{width:56px;height:56px}.page-error__icon svg{width:28px;height:28px}.page-error__title{font-size:1.125rem}.page-error__message{font-size:.875rem}.page-error__actions{flex-direction:column}.page-error__button{width:100%;justify-content:center}}html.dark .page-error__icon{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#1a1a1a}html.dark .page-error__title{color:var(--text-primary, #ffffff)}html.dark .page-error__message{color:var(--text-secondary, #b0b0b0)}html.dark .page-error__button--secondary{background-color:var(--bg-secondary, #333333);color:var(--text-primary, #ffffff);border-color:var(--border-primary, #444444)}html.dark .page-error__button--secondary:hover{background-color:var(--bg-tertiary, #404040)}html.dark .page-error__details-summary{background-color:var(--bg-secondary, #2a2a2a);border-color:var(--border-primary, #3a3a3a);color:var(--text-secondary, #b0b0b0)}html.dark .page-error__details-summary:hover{background-color:var(--bg-tertiary, #333333)}html.dark .page-error__details-content{background-color:var(--bg-secondary, #222222);border-color:var(--border-secondary, #3a3a3a)}html.dark .page-error__error-name strong{color:var(--text-primary, #ffffff)}html.dark .page-error__error-name{color:#f87171}html.dark .page-error__stack,html.dark .page-error__component-stack{background-color:var(--bg-tertiary, #1a1a1a);color:var(--text-secondary, #b0b0b0)}@media (prefers-reduced-motion: reduce){.page-error{animation:none}.page-error__button:hover{transform:none}}@media (prefers-contrast: high){.page-error__button,.page-error__icon{border:2px solid currentColor}}:root{--font-family-primary: "Pretendard", "Noto Sans KR", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-family-mono: "JetBrains Mono", "Fira Code", "Consolas", monospace;--font-size-xs: .75rem;--font-size-sm: .857rem;--font-size-base: 1rem;--font-size-md: 1.067rem;--font-size-lg: 1.143rem;--font-size-xl: 1.286rem;--font-size-2xl: 1.429rem;--font-size-3xl: 1.571rem;--font-size-4xl: 1.714rem;--font-size-5xl: 2rem;--font-size-6xl: 2.286rem;--font-weight-light: 300;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-heading: 1.2;--line-height-subtitle: 1.4;--line-height-body: 1.5;--line-height-relaxed: 1.6;--letter-spacing-heading: .005em;--letter-spacing-subtitle: -.005em;--letter-spacing-body: -.015em;--neutral-100: #fafafa;--neutral-200: #f5f5f5;--neutral-300: #e5e5e5;--neutral-400: #d4d4d4;--neutral-500: #a3a3a3;--neutral-600: #808080;--neutral-700: #525252;--neutral-800: #404040;--neutral-900: #373737;--neutral-1000: #2e2e2e;--neutral-1100: #262626;--neutral-1200: #1f1f1f;--neutral-1300: #191919;--brand-100: #e6f2ff;--brand-200: #b3d9ff;--brand-300: #80bfff;--brand-400: #4da6ff;--brand-500: #2383e2;--brand-600: #1a6bc7;--brand-700: #1458a8;--brand-800: #0e4589;--brand-900: #0a336b;--brand-1000: #06224d;--secondary-100: #f3e8ff;--secondary-200: #e0cffc;--secondary-300: #c9a9fa;--secondary-400: #b183f7;--secondary-500: #9966f0;--secondary-600: #7c4ddb;--secondary-700: #6237b8;--secondary-800: #4a2894;--secondary-900: #351c70;--secondary-1000: #21114d;--success-light: #d1fae5;--success: #10b981;--success-dark: #059669;--warning-light: #fef3c7;--warning: #f59e0b;--warning-dark: #d97706;--error-light: #fee2e2;--error: #ef4444;--error-dark: #dc2626;--info-light: #dbeafe;--info: #3b82f6;--info-dark: #2563eb;--bg-primary: #ffffff;--bg-secondary: #f8f9fa;--bg-tertiary: #f0f0f0;--bg-elevated: #ffffff;--bg-hover: #f5f5f5;--bg-active: #eeeeee;--text-primary: #1a1a1a;--text-secondary: #666666;--text-tertiary: #888888;--text-disabled: #aaaaaa;--text-inverse: #ffffff;--border-primary: #e0e0e0;--border-secondary: #f0f0f0;--border-focus: var(--brand-500);--border-hover: #cccccc;--accent-color: var(--brand-500);--accent-hover: var(--brand-600);--accent-active: var(--brand-700);--sidebar-bg: #ffffff;--sidebar-border: #e8e8e8;--sidebar-text: #333333;--sidebar-text-muted: #888888;--sidebar-hover-bg: #f5f5f5;--sidebar-active-bg: #f0f0f0;--card-bg: #ffffff;--card-border: #e8e8e8;--card-hover-bg: #fafafa;--table-header-bg: #fafafa;--table-row-hover: #fafafa;--table-border: #f0f0f0;--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-7: 1.75rem;--space-8: 2rem;--space-9: 2.25rem;--space-10: 2.5rem;--space-12: 3rem;--space-14: 3.5rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--space-32: 8rem;--breakpoint-mobile: 480px;--breakpoint-tablet: 768px;--breakpoint-laptop: 1024px;--breakpoint-desktop: 1280px;--breakpoint-wide: 1536px;--radius-none: 0;--radius-sm: .25rem;--radius-base: .875rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .3), 0 1px 2px -1px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .3), 0 2px 4px -2px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .3), 0 4px 6px -4px rgba(0, 0, 0, .3);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .3), 0 8px 10px -6px rgba(0, 0, 0, .3);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .3);--duration-instant: 50ms;--duration-fast: .15s;--duration-micro: .3s;--duration-normal: .3s;--duration-slow: .7s;--ease-default: cubic-bezier(.4, 0, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--transition-colors: color var(--duration-micro) var(--ease-default), background-color var(--duration-micro) var(--ease-default), border-color var(--duration-micro) var(--ease-default);--transition-transform: transform var(--duration-micro) var(--ease-default);--transition-opacity: opacity var(--duration-micro) var(--ease-default);--transition-shadow: box-shadow var(--duration-micro) var(--ease-default);--transition-all: all var(--duration-micro) var(--ease-default);--z-base: 0;--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--z-toast: 800}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:14px;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{font-family:var(--font-family-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-regular);line-height:var(--line-height-body);letter-spacing:var(--letter-spacing-body);color:var(--text-primary);background-color:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"palt" 1}#root{width:100%;height:100vh;overflow:hidden}.heading-1,.heading-2,.heading-3,.heading-4,.heading-5,.heading-6{font-weight:var(--font-weight-bold);line-height:var(--line-height-heading);letter-spacing:var(--letter-spacing-heading);color:var(--text-primary)}.heading-1{font-size:var(--font-size-6xl)}.heading-2{font-size:var(--font-size-5xl)}.heading-3{font-size:var(--font-size-4xl)}.heading-4{font-size:var(--font-size-3xl)}.heading-5{font-size:var(--font-size-2xl)}.heading-6{font-size:var(--font-size-xl)}.subtitle-1,.subtitle-2{font-weight:var(--font-weight-medium);line-height:var(--line-height-subtitle);letter-spacing:var(--letter-spacing-subtitle);color:var(--text-primary)}.subtitle-1{font-size:var(--font-size-lg)}.subtitle-2{font-size:var(--font-size-md)}.body-1,.body-2,.body-3{font-weight:var(--font-weight-regular);line-height:var(--line-height-body);letter-spacing:var(--letter-spacing-body)}.body-1{font-size:var(--font-size-base)}.body-2{font-size:var(--font-size-sm)}.body-3{font-size:var(--font-size-xs)}.caption{font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);line-height:var(--line-height-body);color:var(--text-secondary)}.overline{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary)}a{color:var(--brand-500);text-decoration:none;transition:var(--transition-colors)}a:hover{color:var(--brand-400)}a:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px;border-radius:var(--radius-sm)}button{cursor:pointer;font-family:inherit;font-size:inherit;border:none;background:none;transition:var(--transition-all)}button:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit;background-color:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);transition:var(--transition-all)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px #2383e226}input::placeholder,textarea::placeholder{color:var(--text-tertiary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-weight:var(--font-weight-medium);border-radius:var(--radius-md);transition:var(--transition-all);cursor:pointer;white-space:nowrap}.btn-primary:active:not(:disabled){background-color:var(--brand-700)}.btn-secondary{background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-primary)}.btn-secondary:hover:not(:disabled){background-color:var(--bg-elevated);border-color:var(--neutral-700)}.btn-sm{padding:var(--space-1) var(--space-2);font-size:var(--font-size-sm)}.btn-lg{padding:var(--space-3) var(--space-6);font-size:var(--font-size-lg)}.form-group{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.form-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);padding-left:.25rem}.form-input{width:100%;padding:var(--space-3) var(--space-4);background-color:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-base);transition:var(--transition-all)}.form-input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #2383e226;outline:none}.form-input:disabled{opacity:.5;cursor:not-allowed}.form-message{min-height:1.25rem;font-size:var(--font-size-xs);line-height:var(--line-height-body)}.form-message--error{color:var(--error)}.form-message--success{color:var(--success)}.form-textarea{min-height:100px;resize:vertical}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23a3a3a3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right var(--space-3) center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:var(--space-10)}.form-checkbox,.form-radio{width:1.25rem;height:1.25rem;accent-color:var(--brand-500);cursor:pointer}.card{background-color:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:var(--radius-base);padding:var(--space-4);transition:var(--transition-all)}.card--elevated{box-shadow:var(--shadow-md)}.card--interactive:hover{background-color:var(--bg-tertiary);border-color:var(--border-primary)}.card .card-inner{border-radius:calc(var(--radius-base) - var(--space-4))}.bg-primary{background-color:var(--bg-primary)}.bg-secondary{background-color:var(--bg-secondary)}.bg-tertiary{background-color:var(--bg-tertiary)}.m-0{margin:0}.m-1{margin:var(--space-1)}.m-2{margin:var(--space-2)}.m-3{margin:var(--space-3)}.m-4{margin:var(--space-4)}.p-0{padding:0}.p-1{padding:var(--space-1)}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.grid{display:grid}.hidden{display:none}.visible{visibility:visible}.invisible{visibility:hidden}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-scroll{overflow:scroll}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.rounded-none{border-radius:var(--radius-none)}.rounded-sm{border-radius:var(--radius-sm)}.rounded{border-radius:var(--radius-base)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}.transition-colors{transition:var(--transition-colors)}.transition-transform{transition:var(--transition-transform)}.transition-opacity{transition:var(--transition-opacity)}@media (max-width: 480px){.mobile\:hidden{display:none}.mobile\:block{display:block}.mobile\:flex{display:flex}.mobile\:flex-col{flex-direction:column}}@media (min-width: 481px) and (max-width: 768px){.tablet\:hidden{display:none}.tablet\:block{display:block}.tablet\:flex{display:flex}}@media (min-width: 769px) and (max-width: 1024px){.laptop\:hidden{display:none}.laptop\:block{display:block}.laptop\:flex{display:flex}}@media (min-width: 1025px) and (max-width: 1280px){.desktop\:hidden{display:none}.desktop\:block{display:block}.desktop\:flex{display:flex}}@media (min-width: 1281px){.wide\:hidden{display:none}.wide\:block{display:block}.wide\:flex{display:flex}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb{background:var(--neutral-700);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--neutral-600)}*{scrollbar-width:thin;scrollbar-color:var(--neutral-700) var(--bg-secondary)}:focus:not(:focus-visible){outline:none}:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}::selection{background-color:var(--brand-500);color:#fff}code{font-family:var(--font-family-mono);font-size:.9em;background-color:var(--bg-tertiary);padding:.125em .375em;border-radius:var(--radius-sm)}pre{font-family:var(--font-family-mono);background-color:var(--bg-tertiary);padding:var(--space-4);border-radius:var(--radius-md);overflow-x:auto}pre code{background:none;padding:0}html.dark{--bg-primary: #191919;--bg-secondary: #252525;--bg-tertiary: #2e2e2e;--bg-elevated: #333333;--bg-hover: #333333;--bg-active: #3a3a3a;--text-primary: #fafafa;--text-secondary: #a3a3a3;--text-tertiary: #808080;--text-disabled: #525252;--text-inverse: #1a1a1a;--border-primary: #404040;--border-secondary: #333333;--border-hover: #555555;--sidebar-bg: #252525;--sidebar-border: #333333;--sidebar-text: #e0e0e0;--sidebar-text-muted: #888888;--sidebar-hover-bg: #333333;--sidebar-active-bg: #3a3a3a;--card-bg: #252525;--card-border: #333333;--card-hover-bg: #2e2e2e;--table-header-bg: #2a2a2a;--table-row-hover: #2e2e2e;--table-border: #333333;--scrollbar-track: #252525;--scrollbar-thumb: #444444;--scrollbar-thumb-hover: #555555}html.light{--scrollbar-track: #f0f0f0;--scrollbar-thumb: #cccccc;--scrollbar-thumb-hover: #aaaaaa}html.dark body,html.light body{background-color:var(--bg-primary);color:var(--text-primary)}html.dark ::-webkit-scrollbar-track{background:var(--scrollbar-track, #252525)}html.dark ::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb, #444444)}html.dark ::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover, #555555)}html.light ::-webkit-scrollbar-track{background:var(--scrollbar-track, #f0f0f0)}html.light ::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb, #cccccc)}html.light ::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover, #aaaaaa)}.account-settings-page,.cafe-join-page,.cafe-manage-page,.nicknames-page,.join-data-page,.naver-post-list-page,.post-list-page{transition:background-color .15s ease}.page-title{color:var(--text-primary);transition:color .15s ease}.page-description{color:var(--text-secondary);transition:color .15s ease}.data-section,.collapse-section,.panel,.cafe-content,.account-sidebar{background:var(--card-bg);border-color:var(--card-border);transition:background-color .15s ease,border-color .15s ease}.data-table,.cafe-table{border-collapse:separate;border-spacing:0;font-family:NanumSquareNeo,Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif}.data-table thead,.cafe-table thead{position:sticky;top:0;z-index:10;background:var(--bg-primary, #fff)!important}.data-table thead tr,.cafe-table thead tr{background:var(--bg-primary, #fff)!important}.data-table th,.cafe-table th{font-size:clamp(13px,.7vw,17px);font-weight:600;color:#000;background:var(--bg-primary, #fff)!important;border-top:1px solid #999;border-bottom:1px solid #000000;transition:background-color .15s ease,color .15s ease}html.dark .data-table thead,html.dark .cafe-table thead,html.dark .data-table thead tr,html.dark .cafe-table thead tr,html.dark .data-table th,html.dark .cafe-table th{background:var(--bg-primary, #1a1a1a)!important;color:#fff;border-top-color:#666;border-bottom-color:#fff}.data-table td,.cafe-table td{font-size:clamp(12px,.65vw,16px);font-weight:600;color:#888;font-family:NanumSquareNeo,Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;border-color:var(--table-border);transition:border-color .15s ease,color .15s ease}html.dark .data-table td,html.dark .cafe-table td{color:#ccc}.data-table tbody tr:hover,.cafe-table tbody tr:hover{background:var(--table-row-hover)}.search-box,.search-input-wrapper{background:var(--card-bg);border-color:var(--card-border);transition:background-color .15s ease,border-color .15s ease}.search-box input,.search-input-wrapper input{color:var(--text-primary)}.search-box input::placeholder,.search-input-wrapper input::placeholder{color:var(--text-tertiary)}.account-item,.cafe-item,.search-result-item{border-color:var(--table-border);transition:background-color .2s ease,border-color .15s ease}.account-item:hover,.cafe-item:hover,.search-result-item:hover{background:var(--table-row-hover)}.account-item.active,.cafe-item.active{background:#03c75a0d;border-left-color:#03c75a}html.dark .account-item.active,html.dark .cafe-item.active{background:#03c75a1a}.account-id,.cafe-name,.chip-id{color:var(--text-primary);transition:color .15s ease}.account-name,.cafe-url,.cafe-members{color:var(--text-secondary);transition:color .15s ease}.account-chip,.cafe-card{background:var(--bg-tertiary);border-color:var(--card-border);transition:background-color .15s ease,border-color .15s ease}.account-chip:hover:not(.disabled),.cafe-card:hover{background:var(--card-hover-bg)}.account-chip.selected,.cafe-card.selected{background:#03c75a0d;border-color:#03c75a}html.dark .account-chip.selected,html.dark .cafe-card.selected{background:#03c75a1a}.sidebar-header,.panel-header,.content-header,.section-header-bar,.collapse-header{border-color:var(--card-border);transition:border-color .15s ease}.collapse-header:hover{background:var(--table-row-hover)}.notice-box{background:var(--card-bg);border-color:var(--card-border);transition:background-color .15s ease,border-color .15s ease}.notice-box li{color:var(--text-secondary);transition:color .15s ease}.radio-item{background:var(--bg-tertiary);border-color:var(--card-border);color:var(--text-primary);transition:all .2s ease}.radio-item:hover{background:var(--card-hover-bg)}.radio-item.selected{background:#03c75a0d;border-color:#03c75a;color:#03c75a}html.dark .radio-item.selected{background:#03c75a1a}.period-tabs{background:var(--bg-tertiary);transition:background-color .15s ease}.period-tab{color:var(--text-secondary);transition:all .2s ease}.period-tab:hover{color:var(--text-primary)}.period-tab.active{background:var(--card-bg);color:#03c75a}.modal{background:var(--card-bg);border-color:var(--card-border);transition:background-color .15s ease,border-color .15s ease}.modal-header,.modal-footer{border-color:var(--card-border);transition:border-color .15s ease}.modal-header h3,.form-group label{color:var(--text-primary);transition:color .15s ease}.form-group input,.form-group textarea{background:var(--bg-primary);border-color:var(--card-border);color:var(--text-primary);transition:all .2s ease}.form-group input:disabled,.form-group textarea:disabled{background:var(--bg-tertiary)}.loading-state .spinner,.spinner-sm,.spinner-xs{border-color:var(--card-border);border-top-color:#03c75a}.loading-state span,.empty-state p{color:var(--text-secondary);transition:color .15s ease}.empty-state svg{color:var(--text-tertiary);transition:color .15s ease}.btn-secondary{background:var(--card-bg);border-color:var(--card-border);color:var(--text-primary);transition:all .2s ease}.btn-secondary:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--text-tertiary)}.btn-action,.btn-icon{border-color:var(--card-border);color:var(--text-secondary);transition:all .2s ease}.btn-action:hover:not(:disabled),.btn-icon:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--text-tertiary);color:var(--text-primary)}.info-item .label{color:var(--text-secondary);transition:color .15s ease}.info-item .value{color:var(--text-primary);transition:color .15s ease}.stats-row{background:var(--bg-tertiary);transition:background-color .15s ease}.stat-label{color:var(--text-secondary);transition:color .15s ease}.member-info-card .info-section h4,.member-info-card .change-section h4{color:var(--text-primary);transition:color .15s ease}.change-section{border-color:var(--card-border);transition:border-color .15s ease}.change-form input{background:var(--bg-primary);border-color:var(--card-border);color:var(--text-primary);transition:all .2s ease}.help-text,.checkbox-label,.filter-label{color:var(--text-secondary);transition:color .15s ease}.data-timestamp{background:var(--table-header-bg);border-color:var(--card-border);color:var(--text-secondary);transition:all .15s ease}.account-avatar{background:#03c75a}.changes-notice{background:#ffc1071a;border-color:#ffc1074d;color:#856404}html.dark .changes-notice{color:#ffc107}.hover-scale{transition:transform var(--duration-micro) var(--ease-default)}.hover-scale:hover{transform:scale(1.02)}.hover-lift{transition:transform var(--duration-micro) var(--ease-default),box-shadow var(--duration-micro) var(--ease-default)}.hover-lift:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.click-press{transition:transform var(--duration-fast) var(--ease-default)}.click-press:active{transform:scale(.98)}.btn-animated{transition:transform var(--duration-micro) var(--ease-default),background-color var(--duration-micro) var(--ease-default),box-shadow var(--duration-micro) var(--ease-default)}.btn-animated:hover{transform:translateY(-1px)}.btn-animated:active{transform:translateY(0) scale(.98)}.card-animated{transition:transform var(--duration-micro) var(--ease-default),box-shadow var(--duration-micro) var(--ease-default),border-color var(--duration-micro) var(--ease-default)}.card-animated:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.input-animated{transition:border-color var(--duration-micro) var(--ease-default),box-shadow var(--duration-micro) var(--ease-default)}.input-animated:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #2383e226}.fade-in{animation:fadeIn var(--duration-micro) var(--ease-out) forwards}.fade-out{animation:fadeOut var(--duration-micro) var(--ease-in) forwards}.fade-in-slow{animation:fadeIn var(--duration-slow) var(--ease-out) forwards}.slide-up{animation:slideUp var(--duration-micro) var(--ease-out) forwards}.slide-down{animation:slideDown var(--duration-micro) var(--ease-out) forwards}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.expand{animation:expand var(--duration-micro) var(--ease-out) forwards}.collapse{animation:collapse var(--duration-micro) var(--ease-in) forwards}@keyframes expand{0%{opacity:0;max-height:0;padding-top:0;padding-bottom:0}to{opacity:1;max-height:1000px}}@keyframes collapse{0%{opacity:1;max-height:1000px}to{opacity:0;max-height:0;padding-top:0;padding-bottom:0}}.skeleton{background:linear-gradient(90deg,var(--bg-tertiary) 25%,var(--bg-secondary) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:skeleton var(--duration-slow) linear infinite}@keyframes skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}.spinner{animation:spin 1s linear infinite}.pulse{animation:pulse 2s var(--ease-in-out) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media (max-width: 480px){.hover-scale:hover,.hover-lift:hover,.btn-animated:hover,.card-animated:hover{transform:none;box-shadow:inherit}.slide-up,.slide-down{animation:fadeIn var(--duration-micro) var(--ease-out) forwards}.expand,.collapse{animation:none}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.post-write-cafe-item.highlighted,.post-write-account-item.highlighted,.post-write-board-item.highlighted,.cafe-dropdown-item.highlighted,.comment-account-item.highlighted{background:var(--table-row-hover)!important;outline:2px solid rgba(99,102,241,.3);outline-offset:-2px}.post-write-cafe-item:focus-visible,.post-write-account-item:focus-visible,.post-write-board-item:focus-visible,.cafe-dropdown-item:focus-visible,.comment-account-item:focus-visible{outline:2px solid rgba(99,102,241,.5);outline-offset:-2px}.post-write-cafe-item,.post-write-account-item,.post-write-board-item,.cafe-dropdown-item,.comment-account-item{transition:background-color .15s ease,outline .15s ease}.post-write-cafe-dropdown,.post-write-account-dropdown,.post-write-board-dropdown,.cafe-dropdown-menu,.comment-account-list{max-height:300px;overflow-y:auto;scroll-behavior:smooth}.post-write-cafe-dropdown::-webkit-scrollbar,.post-write-account-dropdown::-webkit-scrollbar,.post-write-board-dropdown::-webkit-scrollbar,.cafe-dropdown-menu::-webkit-scrollbar,.comment-account-list::-webkit-scrollbar{width:6px}.post-write-cafe-dropdown::-webkit-scrollbar-track,.post-write-account-dropdown::-webkit-scrollbar-track,.post-write-board-dropdown::-webkit-scrollbar-track,.cafe-dropdown-menu::-webkit-scrollbar-track,.comment-account-list::-webkit-scrollbar-track{background:transparent}.post-write-cafe-dropdown::-webkit-scrollbar-thumb,.post-write-account-dropdown::-webkit-scrollbar-thumb,.post-write-board-dropdown::-webkit-scrollbar-thumb,.cafe-dropdown-menu::-webkit-scrollbar-thumb,.comment-account-list::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.post-write-cafe-dropdown::-webkit-scrollbar-thumb:hover,.post-write-account-dropdown::-webkit-scrollbar-thumb:hover,.post-write-board-dropdown::-webkit-scrollbar-thumb:hover,.cafe-dropdown-menu::-webkit-scrollbar-thumb:hover,.comment-account-list::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.post-write-account-item-disabled.highlighted,.post-write-board-item-disabled.highlighted,.comment-account-item.disabled.highlighted{outline-color:#ef44444d}.dropdown-keyboard-hint{font-size:10px;color:var(--text-tertiary);padding:4px 8px;text-align:center;border-top:1px solid var(--border-secondary);background:#0003}.post-write-cafe-dropdown .loading,.post-write-account-dropdown .loading,.post-write-board-dropdown .loading{display:flex;align-items:center;justify-content:center;padding:16px;color:var(--text-tertiary);font-size:13px}.post-write-cafe-empty,.post-write-account-empty,.post-write-board-empty{padding:20px;text-align:center;color:var(--text-tertiary);font-size:13px}.post-write-search-input-wrapper:focus-within{outline:2px solid rgba(99,102,241,.4);outline-offset:1px}.cafe-select:focus-visible,.comment-account-trigger:focus-visible{outline:2px solid rgba(99,102,241,.4);outline-offset:1px}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.post-write-cafe-dropdown,.post-write-account-dropdown,.post-write-board-dropdown,.cafe-dropdown-menu,.comment-account-dropdown{animation:dropdownFadeIn .15s ease-out}.post-write-cafe-combobox,.post-write-account-combobox,.post-write-board-combobox,.cafe-select-wrapper,.naver-account-dropdown{position:relative;z-index:1}.post-write-cafe-dropdown,.post-write-account-dropdown,.post-write-board-dropdown,.cafe-dropdown-menu,.comment-account-dropdown{z-index:100}:root{--border-color: var(--border-primary);--hover-bg: var(--bg-secondary);--danger-color: var(--error);--success-color: var(--success)}*:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}.skip-to-main{position:absolute;top:-40px;left:0;background:var(--primary);color:#fff;padding:8px 16px;text-decoration:none;z-index:100}.skip-to-main:focus{top:0}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@media (max-width: 480px){@keyframes fadeSlideUp{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0}to{opacity:1}}}.flex{display:flex}.flex-col{display:flex;flex-direction:column}.flex-center{display:flex;align-items:center;justify-content:center}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--space-2)}.gap-md{gap:var(--space-3)}.gap-lg{gap:var(--space-4)}.input-wrapper{position:relative;display:flex;align-items:center;background-color:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);padding:var(--space-3);transition:var(--transition-all)}.input-wrapper:focus-within{border-color:var(--border-focus);box-shadow:0 0 0 3px #2383e226}.input-wrapper.disabled{opacity:.5;cursor:not-allowed;background-color:var(--bg-tertiary)}.search-icon{flex-shrink:0;margin-right:var(--space-2);color:var(--text-secondary);opacity:.5;transition:var(--transition-opacity)}.input-wrapper:focus-within .search-icon{opacity:.8}.input-base{flex:1;border:none;background:transparent;padding:0;font-size:var(--font-size-base);color:var(--text-primary);outline:none;min-width:0;font-family:var(--font-family-primary);letter-spacing:var(--letter-spacing-body)}.input-base::placeholder{color:var(--text-tertiary)}.input-base:disabled{cursor:not-allowed;color:var(--text-disabled)}.btn{border:none;border-radius:var(--radius-md);padding:var(--space-3) var(--space-6);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:var(--transition-all);font-family:var(--font-family-primary);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2)}.btn:active:not(:disabled){transform:scale(.97);transition-duration:var(--duration-instant)}.btn-primary{background-color:var(--brand-500);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--brand-600)}.btn-secondary{background-color:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-primary)}.btn-secondary:hover:not(:disabled){background-color:var(--bg-tertiary);border-color:var(--neutral-700)}.btn-danger{background-color:var(--error);color:#fff}.btn-danger:hover:not(:disabled){background-color:var(--error-dark)}.btn-success{background-color:var(--success);color:#fff}.btn-success:hover:not(:disabled){background-color:var(--success-dark)}.btn-ghost{background-color:transparent;color:var(--text-primary)}.btn-ghost:hover:not(:disabled){background-color:var(--bg-secondary)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-sm{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm)}.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--font-size-lg)}.dropdown{position:absolute;top:calc(100% + var(--space-2));left:0;right:0;background-color:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);max-height:300px;overflow-y:auto;animation:fadeSlideUp var(--duration-normal) var(--ease-out)}.dropdown-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);cursor:pointer;transition:var(--transition-colors);border-bottom:1px solid var(--border-secondary)}.dropdown-item:last-child{border-bottom:none}.dropdown-item:hover{background-color:var(--bg-tertiary)}.dropdown-empty{padding:var(--space-6);text-align:center;color:var(--text-secondary);font-size:var(--font-size-base)}.spinner{width:28px;height:28px;border:3px solid rgba(35,131,226,.2);border-top-color:var(--brand-500);border-radius:var(--radius-full);animation:spin .8s linear infinite}.spinner-sm{width:20px;height:20px;border-width:2px}.spinner-lg{width:40px;height:40px;border-width:4px}.loading-dots{display:flex;gap:8px;justify-content:center;align-items:center}.loading-dots .dot{width:12px;height:12px;border-radius:50%;animation:dotBounce 1.4s ease-in-out infinite;will-change:transform,opacity;backface-visibility:hidden;transform:translateZ(0)}.loading-dots .dot:nth-child(1){background:#6366f1;animation-delay:0s}.loading-dots .dot:nth-child(2){background:#8b5cf6;animation-delay:.2s}.loading-dots .dot:nth-child(3){background:#a855f7;animation-delay:.4s}.loading-dots.sm .dot{width:8px;height:8px;gap:6px}.loading-dots.lg .dot{width:16px;height:16px;gap:10px}@keyframes dotBounce{0%,80%,to{transform:scale(.6) translateZ(0);opacity:.5}40%{transform:scale(1) translateZ(0);opacity:1}}.page-loading-overlay{position:fixed;inset:0;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999;pointer-events:all}.page-loading-overlay .loading-text{margin-top:16px;color:#555;font-size:13px;font-weight:500}.card{background-color:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:var(--radius-base);padding:var(--space-6);transition:var(--transition-all)}.card:hover{border-color:var(--border-primary)}.card--interactive{cursor:pointer}.card--interactive:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}@media (max-width: 480px){.card--interactive:hover{transform:none}}.card-header{margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-secondary)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.text-brand{color:var(--brand-500)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-error{color:var(--error)}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.font-light{font-weight:var(--font-weight-light)}.font-regular{font-weight:var(--font-weight-regular)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.leading-heading{line-height:var(--line-height-heading)}.leading-subtitle{line-height:var(--line-height-subtitle)}.leading-body{line-height:var(--line-height-body)}.tracking-heading{letter-spacing:var(--letter-spacing-heading)}.tracking-subtitle{letter-spacing:var(--letter-spacing-subtitle)}.tracking-body{letter-spacing:var(--letter-spacing-body)}.custom-scrollbar::-webkit-scrollbar{width:6px;height:6px}.custom-scrollbar::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:var(--radius-full)}.custom-scrollbar::-webkit-scrollbar-thumb{background:var(--neutral-700);border-radius:var(--radius-full)}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--neutral-600)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--space-6)}@media (max-width: 480px){.container{padding:0 var(--space-4)}}@media (min-width: 1536px){.container{max-width:1400px}}.transition{transition:var(--transition-all)}.transition-fast{transition:all var(--duration-fast) var(--ease-default)}.transition-normal{transition:all var(--duration-normal) var(--ease-default)}.transition-slow{transition:all var(--duration-slow) var(--ease-default)}.animate-fade-in{animation:fadeIn var(--duration-normal) var(--ease-out)}.animate-fade-out{animation:fadeOut var(--duration-normal) var(--ease-in)}.animate-slide-up{animation:fadeSlideUp var(--duration-normal) var(--ease-out)}.animate-scale-in{animation:scaleIn var(--duration-normal) var(--ease-out)}@media (max-width: 480px){.animate-slide-up,.animate-scale-in{animation-name:fadeIn}}.focus-ring:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.cafe-dropdown-wrapper{position:relative;width:100%;max-width:400px;z-index:51}.cafe-dropdown{display:flex;align-items:center;gap:10px;padding:0 16px;height:48px;background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:8px;cursor:pointer;transition:all .2s}.cafe-dropdown:hover{border-color:var(--border-hover)}.cafe-dropdown.open{border-color:var(--brand-500);border-bottom-left-radius:0;border-bottom-right-radius:0}.cafe-dropdown svg{flex-shrink:0;color:var(--text-tertiary)}.dropdown-cafe-value{display:flex;align-items:center;gap:10px;flex:1}.dropdown-cafe-thumb{width:24px;height:24px;border-radius:4px;object-fit:cover;background:var(--bg-primary)}.dropdown-cafe-name{font-size:14px;color:var(--text-primary)}.cafe-dropdown-list{position:absolute;top:100%;left:0;right:0;background:var(--bg-elevated);border:1px solid var(--brand-500);border-top:none;border-bottom-left-radius:8px;border-bottom-right-radius:8px;max-height:300px;overflow-y:auto;z-index:200;box-shadow:var(--shadow-lg)}.cafe-dropdown-item{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;transition:background .15s}.cafe-dropdown-item:hover{background:var(--bg-hover)}.cafe-dropdown-item.selected{background:#2383e21a}html.dark .cafe-dropdown-item.selected{background:#2383e226}.cafe-item-thumb{width:36px;height:36px;border-radius:6px;object-fit:cover;background:var(--bg-secondary)}.cafe-item-info{flex:1;min-width:0}.cafe-item-name{font-size:14px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nicknames-page{padding:24px 24px 24px 16px;width:100%;display:flex;flex-direction:column;gap:20px;font-family:Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif}.nicknames-page *{font-family:inherit}.nicknames-page .page-tabs{display:flex;gap:24px;border-bottom:1px solid var(--border-primary);margin-bottom:8px}.nicknames-page .page-tab{padding:12px 0;min-width:130px;font-size:15px;font-weight:600;color:var(--text-tertiary);background:none;border:none;cursor:pointer;position:relative;transition:color .2s;text-align:center}.nicknames-page .page-tab:hover{color:var(--text-primary)}.nicknames-page .page-tab.active{color:var(--brand-500)}.nicknames-page .page-tab.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--brand-500)}.nicknames-page .info-notice-box{background:var(--bg-secondary);border-radius:8px;padding:12px 20px;display:flex;flex-direction:column}.nicknames-page .notice-item{display:flex;align-items:center;gap:12px;padding:8px 0}.nicknames-page .notice-item svg{flex-shrink:0;color:var(--text-tertiary)}.nicknames-page .notice-text{font-size:15px;color:var(--text-secondary);line-height:1.6;margin:0}.nicknames-page .text-highlight-red{color:#dc3545;font-weight:500}.nicknames-page .account-selector-section{margin-bottom:0}.nicknames-page .account-dropdown-wrapper{position:relative;width:100%;max-width:400px}.nicknames-page .account-dropdown{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:8px;cursor:pointer;transition:all .2s}.nicknames-page .account-dropdown:hover{border-color:var(--border-hover)}.nicknames-page .account-dropdown.open{border-color:#03c75a;border-bottom-left-radius:0;border-bottom-right-radius:0}.nicknames-page .account-dropdown svg{flex-shrink:0;color:var(--text-tertiary)}.nicknames-page .dropdown-text{flex:1;font-size:14px;color:var(--text-primary)}.nicknames-page .dropdown-arrow{transition:transform .2s}.nicknames-page .account-dropdown.open .dropdown-arrow{transform:rotate(180deg)}.nicknames-page .account-dropdown-list{position:absolute;top:100%;left:0;right:0;background:var(--bg-elevated);border:1px solid #03C75A;border-top:none;border-bottom-left-radius:8px;border-bottom-right-radius:8px;max-height:300px;overflow-y:auto;z-index:100;box-shadow:var(--shadow-lg)}.nicknames-page .account-dropdown-item{display:flex;flex-direction:column;gap:4px;padding:12px 16px;cursor:pointer;transition:background .15s}.nicknames-page .account-dropdown-item .item-top{display:flex;align-items:center;gap:8px}.nicknames-page .account-dropdown-item .item-memo{font-size:12px;color:var(--text-tertiary)}.nicknames-page .account-dropdown-item:hover{background:var(--bg-hover)}.nicknames-page .account-dropdown-item.selected{background:#03c75a1a}html.dark .nicknames-page .account-dropdown-item.selected{background:#03c75a26}.nicknames-page .account-dropdown-item .item-id{font-size:14px;font-weight:500;color:var(--text-primary)}.nicknames-page .account-dropdown-item .item-name{font-size:13px;color:var(--text-tertiary)}.nicknames-page .account-dropdown-item .item-badge{font-size:11px;padding:2px 6px;background:#03c75a;color:#fff;border-radius:4px}.nicknames-page .selected-account-info{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:10px}.nicknames-page .selected-account-left{display:flex;align-items:center;gap:12px}.nicknames-page .account-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#03c75a,#02b351);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:16px}.nicknames-page .account-details{display:flex;flex-direction:column;gap:2px}.nicknames-page .account-details .account-id-row{display:flex;align-items:center;gap:6px}.nicknames-page .account-details .account-id{font-size:15px;font-weight:600;color:var(--text-primary)}.nicknames-page .account-details .account-name{font-size:13px;color:var(--text-tertiary)}.nicknames-page .account-details .account-memo{font-size:12px;color:var(--text-tertiary)}.nicknames-page .selected-account-stats .stat-text{font-size:14px;color:var(--text-secondary);font-weight:500}.nicknames-page .search-section{display:flex;justify-content:flex-start}.nicknames-page .search-box{display:flex;align-items:center;gap:10px;padding:10px 16px;background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:8px;width:100%;max-width:400px;transition:all .2s}.nicknames-page .search-box:focus-within{border-color:#03c75a;box-shadow:0 0 0 3px #03c75a1a}.nicknames-page .search-box svg{width:18px;height:18px;color:var(--text-tertiary);flex-shrink:0}.nicknames-page .search-box input{flex:1;border:none;background:none;font-size:14px;color:var(--text-primary);outline:none}.nicknames-page .search-box input::placeholder{color:var(--text-tertiary)}.nicknames-page .table-wrapper{background:transparent;border:none;border-radius:0;overflow-y:auto;margin-top:16px;max-height:calc(100vh - 400px)}.nicknames-page .data-table{width:100%;border-collapse:separate;border-spacing:0;font-family:NanumSquareNeo,Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif}.nicknames-page .data-table th,.nicknames-page .data-table td{padding:8px;text-align:left;border:none;height:56px;line-height:24px;vertical-align:middle}.nicknames-page .data-table thead{position:sticky;top:0;z-index:10;background:var(--bg-primary, #fff)!important}.nicknames-page .data-table thead tr{background:var(--bg-primary, #fff)!important}.nicknames-page .data-table th{font-size:clamp(13px,.7vw,17px);font-weight:600;color:#000!important;background:var(--bg-primary, #fff)!important;border-top:1px solid #999;border-bottom:1px solid #000000;font-family:NanumSquareNeo,Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif}.nicknames-page .data-table th:nth-child(1),.nicknames-page .data-table td:nth-child(1){width:30%}.nicknames-page .data-table th:nth-child(2),.nicknames-page .data-table td:nth-child(2){width:12%}.nicknames-page .data-table th:nth-child(3),.nicknames-page .data-table td:nth-child(3){width:10%}.nicknames-page .data-table th:nth-child(4),.nicknames-page .data-table td:nth-child(4){width:6%}.nicknames-page .data-table th:nth-child(5),.nicknames-page .data-table td:nth-child(5){width:6%}.nicknames-page .data-table th:nth-child(6),.nicknames-page .data-table td:nth-child(6){width:6%}.nicknames-page .data-table th:nth-child(7),.nicknames-page .data-table td:nth-child(7){width:10%}.nicknames-page .data-table th:nth-child(8),.nicknames-page .data-table td:nth-child(8){width:20%}html.dark .nicknames-page .data-table thead{background:var(--bg-primary, #1a1a1a)!important}html.dark .nicknames-page .data-table th{color:#fff;background:var(--bg-primary, #1a1a1a)!important;border-top-color:#666;border-bottom-color:#fff}.nicknames-page .data-table th .header-sub{font-weight:400;color:var(--text-tertiary);font-size:12px}.nicknames-page .data-table td{border-bottom:none;font-size:clamp(12px,.65vw,16px);font-weight:600;color:#888;font-family:NanumSquareNeo,Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;background:transparent;text-align:center}.nicknames-page .data-table td input:not(.nickname-edit-input),.nicknames-page .data-table td [type=checkbox],.nicknames-page .data-table td .checkbox,.nicknames-page .data-table input[type=checkbox]{display:none!important;visibility:hidden!important;opacity:0!important;width:0!important;height:0!important;position:absolute!important;pointer-events:none!important}html.dark .nicknames-page .data-table td{color:#ccc}.nicknames-page .data-table tbody tr{transition:background .1s;background:transparent}.nicknames-page .data-table tbody tr:hover{background:var(--bg-hover)}.nicknames-page .data-table tbody tr:first-child td{padding-top:20px}.nicknames-page .cafe-account-cell{display:flex;align-items:center;gap:10px;min-width:0;width:100%}.nicknames-page .cafe-thumb{width:36px;height:36px;border-radius:50%;object-fit:cover;background:var(--bg-primary);flex-shrink:0;cursor:pointer}.nicknames-page .cafe-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.nicknames-page .cafe-info .cafe-name{font-size:clamp(12px,.65vw,16px);font-weight:600;color:#888;font-family:NanumSquareNeo,Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:default}.nicknames-page .cafe-name-tooltip{padding:8px 12px;background:#1f2937;color:#fff;font-size:12px;font-weight:500;white-space:nowrap;border-radius:6px;box-shadow:0 4px 12px #0003;pointer-events:none;animation:tooltipFadeIn .15s ease}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.nicknames-page .cafe-info .cafe-url{font-size:clamp(12px,.65vw,16px);font-weight:600;color:#888;font-family:NanumSquareNeo,Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif}.nicknames-page .nickname-cell{display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden;width:100%}.nicknames-page .nickname-cell input,.nicknames-page .nickname-cell .checkbox,.nicknames-page .nickname-cell [type=checkbox]{display:none!important}.nicknames-page .nickname-cell svg{transition:stroke .15s}.nicknames-page .nickname-cell svg:hover{stroke:#03c75a}.nicknames-page .nickname-text{font-size:clamp(12px,.65vw,16px);font-weight:600;color:#888;font-family:NanumSquareNeo,Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.nicknames-page .nickname-edit-cell{position:absolute;top:50%;left:0;transform:translateY(-50%);display:flex;align-items:center;gap:8px;z-index:100;background:var(--bg-primary);padding:4px 8px}.nicknames-page .data-table tbody tr:hover .nickname-edit-cell{background:var(--bg-hover)}.nicknames-page .nickname-edit-input{padding:8px 12px;border:1.5px solid var(--border-primary);border-radius:8px;font-size:13px;width:280px;height:36px;outline:none;box-sizing:border-box;color:var(--text-primary);background:transparent}.nicknames-page .nickname-edit-input:hover,.nicknames-page .nickname-edit-input:focus{border-color:var(--border-hover);outline:none;box-shadow:none}.nicknames-page .nickname-icon-btn{cursor:pointer;flex-shrink:0;transition:opacity .15s}.nicknames-page .nickname-icon-btn.save{color:#03c75a;stroke:#03c75a}.nicknames-page .nickname-icon-btn.save:hover{opacity:.8}.nicknames-page .nickname-icon-btn.cancel{color:var(--text-tertiary);stroke:var(--text-tertiary)}.nicknames-page .nickname-icon-btn.cancel:hover{color:#dc3545;stroke:#dc3545}.nicknames-page .date-cell{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.nicknames-page .date-cell span:first-child,.nicknames-page .join-days{font-size:clamp(12px,.65vw,16px);font-weight:600;color:#888;font-family:NanumSquareNeo,Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif}.nicknames-page .member-grade-cell{display:flex;align-items:center;justify-content:flex-start;gap:6px;min-width:0;overflow:hidden;width:100%}.nicknames-page .member-grade-cell input,.nicknames-page .member-grade-cell svg:not(.level-icon),.nicknames-page .member-grade-cell .checkbox,.nicknames-page .member-grade-cell [type=checkbox]{display:none!important}.nicknames-page .level-icon{width:16px;height:16px;flex-shrink:0}.nicknames-page .member-grade{font-size:clamp(12px,.65vw,16px);font-weight:600;color:#888;font-family:NanumSquareNeo,Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.nicknames-page .query-date-cell{display:flex;align-items:center;justify-content:space-between;gap:8px}.nicknames-page .query-date-cell span{font-size:clamp(12px,.65vw,16px);font-weight:600;color:#888;font-family:NanumSquareNeo,Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif}.nicknames-page .query-date-cell svg:hover path{fill:#03c75a}.nicknames-page .loading-state,.nicknames-page .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.nicknames-page .loading-state.small,.nicknames-page .empty-state.small{padding:30px 20px}.nicknames-page .loading-state .spinner{width:32px;height:32px;border:3px solid var(--border-primary);border-top-color:#03c75a;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:12px}@keyframes spin{to{transform:rotate(360deg)}}.nicknames-page .spinner-small{width:14px;height:14px;border:2px solid var(--border-primary);border-top-color:#03c75a;border-radius:50%;animation:spin 1s linear infinite;flex-shrink:0}.nicknames-page .empty-state svg{color:var(--text-tertiary);margin-bottom:12px}.nicknames-page .empty-state p,.nicknames-page .loading-state span{font-size:14px;color:var(--text-tertiary);margin:0}.nicknames-page .modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}html.dark .nicknames-page .modal-overlay{background:#000000b3}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.nicknames-page .modal{background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;width:100%;max-width:480px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:slideUp .15s ease}.nicknames-page .modal.modal-nickname{font-family:Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.nicknames-page .modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-primary)}.nicknames-page .modal-header h3{font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.nicknames-page .modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:6px;cursor:pointer;color:var(--text-tertiary);transition:all .2s}.nicknames-page .modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.nicknames-page .modal-close svg{width:18px;height:18px}.nicknames-page .modal-body{padding:20px;overflow-y:auto}.nicknames-page .modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 20px;border-top:1px solid var(--border-primary)}.nicknames-page .modal-cafe-info{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg-secondary);border-radius:8px;margin-bottom:20px}.nicknames-page .modal-cafe-thumb{width:48px;height:48px;border-radius:8px;object-fit:cover;background:var(--bg-primary)}.nicknames-page .modal-cafe-details{display:flex;flex-direction:column;gap:2px}.nicknames-page .modal-cafe-name{font-size:14px;font-weight:600;color:var(--text-primary)}.nicknames-page .modal-cafe-url{font-size:12px;color:var(--text-tertiary)}.nicknames-page .modal-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:20px}.nicknames-page .modal-info-item{display:flex;flex-direction:column;gap:4px;padding:12px;background:var(--bg-secondary);border-radius:8px}.nicknames-page .modal-info-item .label{font-size:12px;color:var(--text-tertiary)}.nicknames-page .modal-info-item .value{font-size:14px;font-weight:500;color:var(--text-primary)}.nicknames-page .nickname-input-section{padding-top:16px;border-top:1px solid var(--border-primary)}.nicknames-page .nickname-input-section label{display:block;font-size:13px;font-weight:500;color:var(--text-primary);margin-bottom:8px}.nicknames-page .nickname-input-section input{width:100%;padding:12px 16px;font-size:14px;border:1px solid var(--border-primary);border-radius:8px;outline:none;background:var(--bg-elevated);color:var(--text-primary);transition:all .2s;box-sizing:border-box}.nicknames-page .nickname-input-section input:focus{border-color:#03c75a;box-shadow:0 0 0 3px #03c75a1a}.nicknames-page .input-help{font-size:12px;color:var(--text-tertiary);margin:8px 0 0}.nicknames-page .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:500;border-radius:6px;cursor:pointer;transition:all .2s;border:none}.nicknames-page .btn-primary{background:#03c75a;color:#fff}.nicknames-page .btn-primary:hover:not(:disabled){background:#02b351}.nicknames-page .btn-primary:disabled{opacity:.5;cursor:not-allowed}.nicknames-page .btn-secondary{background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-primary)}.nicknames-page .btn-secondary:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--border-hover)}.nicknames-page .toast{position:fixed;bottom:24px;right:24px;padding:14px 20px;background:var(--bg-elevated);color:var(--text-primary);border-radius:8px;box-shadow:var(--shadow-lg);animation:toastIn .15s ease-out;z-index:1100;font-size:14px}.nicknames-page .toast-success{background:#03c75a;color:#fff}.nicknames-page .toast-error{background:#dc3545;color:#fff}.nicknames-page .toast-warning{background:#ffc107;color:#333}@keyframes toastIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.nicknames-page .data-grid{display:flex;flex-direction:column;width:100%}.nicknames-page .data-grid-header{display:flex;align-items:center;position:sticky;top:0;z-index:10;background:var(--bg-primary, #fff);margin-bottom:0;padding:8px 0;border-top:1px solid #E8EBEB;border-bottom:1px solid #131214}html.dark .nicknames-page .data-grid-header{background:var(--bg-primary, #1a1a1a);border-top-color:#444;border-bottom-color:#888}.nicknames-page .data-grid-header span{height:38px;display:flex;align-items:center}.nicknames-page .data-grid-header .header-text{font-size:14px;font-weight:600;font-family:NanumSquareNeo,sans-serif;color:#333639;margin:0}html.dark .nicknames-page .data-grid-header .header-text{color:#fff}.nicknames-page .data-grid-body{display:flex;flex-direction:column}.nicknames-page .data-grid-row{display:flex;align-items:center;padding:8px 0;transition:background .15s ease;position:relative}.nicknames-page .data-grid-row:hover{background:var(--table-row-hover)}.nicknames-page .data-grid-cell{display:flex;align-items:center;min-width:0}.nicknames-page .data-grid-cell.col-cafe{overflow:visible}.nicknames-page .data-grid-cell .cell-content{display:flex;align-items:center;width:100%}.nicknames-page .data-grid-cell .cell-text{font-size:12px;color:#898d8f;font-weight:400;font-family:NanumSquareNeo,sans-serif;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}html.dark .nicknames-page .data-grid-cell .cell-text{color:#aaa}.nicknames-page .data-grid-cell.col-cafe{width:32%;flex-shrink:0;padding-right:8px}.nicknames-page .data-grid-cell.col-nickname{width:11%;flex-shrink:0;position:relative;padding-right:4px}.nicknames-page .data-grid-cell.col-grade{width:9%;flex-shrink:0;padding-right:4px}.nicknames-page .data-grid-cell.col-articles,.nicknames-page .data-grid-cell.col-comments,.nicknames-page .data-grid-cell.col-visits{width:5%;flex-shrink:0}.nicknames-page .data-grid-cell.col-join-date{width:10%;flex-shrink:0}.nicknames-page .data-grid-cell.col-query-date{width:18%;flex-shrink:0}@media (max-width: 768px){.nicknames-page{padding:16px}.nicknames-page .account-dropdown-wrapper,.nicknames-page .search-box{max-width:none}.nicknames-page .data-table th,.nicknames-page .data-table td{padding:10px 8px;font-size:12px}.nicknames-page .cafe-info .cafe-name{max-width:120px}.nicknames-page .modal{margin:16px;max-height:calc(100vh - 32px)}.nicknames-page .modal-info-grid{grid-template-columns:1fr}}.full-page-loading-overlay{position:fixed;inset:0;background:#0000004d;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999}.full-page-loading-overlay .loading-dots{display:flex;gap:8px}.full-page-loading-overlay .loading-dots .dot{width:12px;height:12px;border-radius:50%;animation:nicknameBounce 1.4s ease-in-out infinite}.full-page-loading-overlay .loading-dots .dot:nth-child(1){background:#6366f1;animation-delay:0s}.full-page-loading-overlay .loading-dots .dot:nth-child(2){background:#8b5cf6;animation-delay:.2s}.full-page-loading-overlay .loading-dots .dot:nth-child(3){background:#a855f7;animation-delay:.4s}@keyframes nicknameBounce{0%,80%,to{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}.full-page-loading-overlay .loading-text{margin-top:16px;color:#fff;font-size:14px;font-weight:500}.cafe-join-v2{font-family:Pretendard,-apple-system,BlinkMacSystemFont,sans-serif;background-color:#fff;color:#111;width:100%;max-width:100%;box-sizing:border-box;overflow:hidden}.cafe-join-v2 *,.cafe-join-v2 *:before,.cafe-join-v2 *:after{box-sizing:border-box}.cafe-join-v2 .container{width:100%;max-width:100%;box-sizing:border-box;padding:32px 24px}.cafe-join-v2 .page-header{display:flex!important;flex-direction:row!important;justify-content:space-between;align-items:center;margin-bottom:48px}.cafe-join-v2 .page-title{font-size:26px;font-weight:700}.cafe-join-v2 .btn-primary{display:inline-flex;align-items:center;gap:6px;padding:11px 20px;background:#18181b;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}.cafe-join-v2 .btn-primary:hover{background:#27272a}.cafe-join-v2 .container .stats-row,.cafe-join-v2 section.stats-row{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;margin-bottom:32px;border-bottom:2px solid #e4e4e7;background:transparent!important;padding:0!important;border-radius:0!important}.cafe-join-v2 .container .stats-row .stat-item,.cafe-join-v2 section.stats-row .stat-item,.cafe-join-v2 .stat-item{flex:1;display:flex!important;flex-direction:row!important;align-items:center;justify-content:center;gap:6px;padding:16px 0;cursor:pointer;transition:all .15s;font-size:14px;border-bottom:2px solid transparent;margin-bottom:-2px;color:#71717a}.cafe-join-v2 .stat-item:hover{color:#18181b}.cafe-join-v2 .stat-item.active{color:#18181b!important;border-bottom:2px solid #18181b!important}.cafe-join-v2 .stat-item .label{font-weight:500}.cafe-join-v2 .stat-item .number{font-weight:700}.cafe-join-v2 .stat-item.pending{color:#71717a}.cafe-join-v2 .stat-item.pending.active{color:#2563eb;border-bottom-color:#2563eb}.cafe-join-v2 .stat-item.pending:hover{color:#2563eb}.cafe-join-v2 .stat-item.failed{color:#71717a}.cafe-join-v2 .stat-item.failed.active{color:#dc2626;border-bottom-color:#dc2626}.cafe-join-v2 .stat-item.failed:hover{color:#dc2626}.cafe-join-v2 .container .filter-bar,.cafe-join-v2 div.filter-bar,.cafe-join-v2 .filter-bar{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;align-items:center!important;gap:12px;margin-bottom:28px}.cafe-join-v2 .cafe-dropdown{position:relative;width:428px;outline:none!important}.cafe-join-v2 .cafe-dropdown *:focus,.cafe-join-v2 .cafe-dropdown *:focus-visible,.cafe-join-v2 .cafe-dropdown *:focus-within,.cafe-join-v2 .cafe-dropdown *:active,.cafe-join-v2 .cafe-dropdown-trigger:focus,.cafe-join-v2 .cafe-dropdown-trigger:focus-visible,.cafe-join-v2 .cafe-dropdown-item:focus,.cafe-join-v2 .cafe-dropdown-item:focus-visible{outline:none!important;box-shadow:none!important}.cafe-join-v2 .cafe-dropdown{border:1px solid #e4e4e7;border-radius:10px}.cafe-join-v2 .cafe-dropdown.open{border-radius:10px}.cafe-join-v2 .cafe-dropdown-trigger{display:flex;align-items:center;gap:8px;padding:6px 28px 6px 12px;background:#fff;border:none;border-radius:10px;cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;color:#18181b;transition:all .15s;width:100%;outline:none}.cafe-join-v2 .cafe-dropdown-trigger:focus{outline:none}.cafe-join-v2 .cafe-dropdown-trigger:hover{background:#fff}.cafe-join-v2 .cafe-dropdown.open .cafe-dropdown-trigger{background:#fff;border-radius:10px 10px 0 0}.cafe-join-v2 .cafe-dropdown-trigger:after{content:"";position:absolute;right:10px;top:50%;transform:translateY(-50%);width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #71717a;transition:transform .15s}.cafe-join-v2 .cafe-dropdown.open .cafe-dropdown-trigger:after{transform:translateY(-50%) rotate(180deg)}.cafe-join-v2 .cafe-dropdown-trigger .cafe-thumb{width:20px;height:20px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:10px;background:#e4e4e7;object-fit:cover}.cafe-join-v2 .cafe-dropdown-trigger .cafe-thumb.all{background:#d4d4d8;font-size:9px;color:#71717a}.cafe-join-v2 .cafe-dropdown-menu{position:absolute;top:100%;left:0;background:#fff;border:none;border-radius:0 0 10px 10px;box-shadow:0 4px 12px #00000014;width:100%;max-height:320px;overflow-y:auto;padding:4px;z-index:100;opacity:0;visibility:hidden;transition:all .15s ease}.cafe-join-v2 .cafe-dropdown.open .cafe-dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}.cafe-join-v2 .cafe-dropdown-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:6px;cursor:pointer;transition:background .1s;white-space:nowrap}.cafe-join-v2 .cafe-dropdown-item:hover{background:#f4f4f5}.cafe-join-v2 .cafe-dropdown-item.active{background:#f0f0f0}.cafe-join-v2 .cafe-dropdown-item .cafe-thumb{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0;object-fit:cover;background:#e4e4e7}.cafe-join-v2 .cafe-dropdown-item .cafe-thumb.all{background:#e4e4e7;font-size:11px}.cafe-join-v2 .cafe-dropdown-item .cafe-thumb.food{background:linear-gradient(135deg,#fecaca,#fca5a5)}.cafe-join-v2 .cafe-dropdown-item .cafe-thumb.dev{background:linear-gradient(135deg,#bfdbfe,#93c5fd)}.cafe-join-v2 .cafe-dropdown-item .cafe-thumb.invest{background:linear-gradient(135deg,#bbf7d0,#86efac)}.cafe-join-v2 .cafe-dropdown-item .cafe-thumb.book{background:linear-gradient(135deg,#fde68a,#fcd34d)}.cafe-join-v2 .cafe-dropdown-item .cafe-detail{flex:1;min-width:0}.cafe-join-v2 .cafe-dropdown-item .cafe-detail-name{font-size:13px;font-weight:500;color:#18181b;overflow:hidden;text-overflow:ellipsis}.cafe-join-v2 .cafe-dropdown-item .cafe-detail-members{font-size:11px;color:#a1a1aa}.cafe-join-v2 .cafe-dropdown-item .check-icon{width:16px;height:16px;color:#18181b;opacity:0;flex-shrink:0}.cafe-join-v2 .cafe-dropdown-item.active .check-icon{opacity:1}.cafe-join-v2 .period-group{display:flex!important;flex-direction:row!important;gap:4px;padding:4px;background:#f4f4f5;border-radius:10px}.cafe-join-v2 .period-btn{padding:8px 16px;font-size:13px;font-weight:500;border:none;background:transparent;border-radius:8px;cursor:pointer;font-family:inherit;color:#71717a;transition:all .15s}.cafe-join-v2 .period-btn:hover{color:#18181b}.cafe-join-v2 .period-btn.active{background:#fff;color:#18181b;box-shadow:0 1px 3px #0000001a}.cafe-join-v2 .filter-checkbox{display:flex;align-items:center;gap:8px;margin-left:auto;font-size:13px;font-weight:500;color:#71717a;cursor:pointer;padding:10px 16px;background:#f4f4f5;border-radius:10px;transition:background .15s}.cafe-join-v2 .filter-checkbox:hover{background:#e4e4e7}.cafe-join-v2 .filter-checkbox input{accent-color:#18181b;width:16px;height:16px}.cafe-join-v2 .card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;width:100%;box-sizing:border-box}@media (max-width: 1100px){.cafe-join-v2 .card-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 700px){.cafe-join-v2 .card-grid{grid-template-columns:1fr}}.cafe-join-v2 .card{background:#fafafa;border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:20px;transition:background .15s;min-width:0;overflow:hidden;box-sizing:border-box}.cafe-join-v2 .card:hover{background:#f4f4f5}.cafe-join-v2 .card-top{display:flex;gap:14px;min-width:0;overflow:hidden}.cafe-join-v2 .cafe-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0;object-fit:cover;background:#e4e4e7}.cafe-join-v2 .cafe-icon.food{background:linear-gradient(135deg,#fecaca,#fca5a5)}.cafe-join-v2 .cafe-icon.dev{background:linear-gradient(135deg,#bfdbfe,#93c5fd)}.cafe-join-v2 .cafe-icon.invest{background:linear-gradient(135deg,#bbf7d0,#86efac)}.cafe-join-v2 .cafe-icon.book{background:linear-gradient(135deg,#fde68a,#fcd34d)}.cafe-join-v2 .cafe-info{flex:1;min-width:0}.cafe-join-v2 .cafe-name{font-size:14px;font-weight:600;color:#18181b;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cafe-join-v2 .cafe-members{font-size:12px;color:#a1a1aa}.cafe-join-v2 .btn-refresh{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid #e4e4e7;background:#fff;border-radius:8px;cursor:pointer;color:#a1a1aa;flex-shrink:0;align-self:flex-start}.cafe-join-v2 .btn-refresh:hover{background:#18181b;border-color:#18181b;color:#fff}.cafe-join-v2 .btn-refresh.loading{pointer-events:none}.cafe-join-v2 .btn-refresh.loading svg{animation:cafe-join-spin 1s linear infinite}@keyframes cafe-join-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.cafe-join-v2 .btn-refresh svg{width:14px;height:14px}.cafe-join-v2 .card-bottom{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 16px}.cafe-join-v2 .field{display:flex;flex-direction:column;gap:3px}.cafe-join-v2 .field-label{font-size:11px;color:#71717a;font-weight:500}.cafe-join-v2 .field-value{font-size:13px;color:#71717a;font-weight:600}.cafe-join-v2 .field-value.empty{color:#d4d4d8}.cafe-join-v2 .field-value.status{font-weight:700}.cafe-join-v2 .field-value.status.completed{color:#71717a}.cafe-join-v2 .field-value.status.pending{color:#2563eb}.cafe-join-v2 .field-value.status.failed{color:#dc2626}.cafe-join-v2 .field-value.status.waiting{color:#71717a}.cafe-join-v2 .loading-state,.cafe-join-v2 .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;color:#a1a1aa}.cafe-join-v2 .modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;visibility:hidden;transition:all .2s ease}.cafe-join-v2 .modal-overlay.open{opacity:1;visibility:visible}.cafe-join-v2 .modal{background:#fff;border-radius:16px;width:100%;max-width:580px;max-height:85vh;display:flex;flex-direction:column;transform:translateY(20px);transition:transform .2s ease}.cafe-join-v2 .modal-overlay.open .modal{transform:translateY(0)}.cafe-join-v2 .modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e4e4e7}.cafe-join-v2 .modal-title{font-size:18px;font-weight:700}.cafe-join-v2 .modal-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;background:#f4f4f5;border-radius:8px;cursor:pointer;color:#71717a}.cafe-join-v2 .modal-close:hover{background:#e4e4e7}.cafe-join-v2 .modal-steps{display:flex;padding:20px 24px;background:#fafafa;align-items:center;justify-content:center;gap:0}.cafe-join-v2 .step{display:flex;align-items:center;gap:10px;padding:0 32px;position:relative}.cafe-join-v2 .step:not(:last-child):after{content:"";position:absolute;right:-24px;width:48px;height:2px;background:#e4e4e7}.cafe-join-v2 .step.completed:not(:last-child):after{background:#18181b}.cafe-join-v2 .step-number{width:28px;height:28px;border-radius:50%;background:#e4e4e7;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;color:#71717a;transition:all .2s}.cafe-join-v2 .step.active .step-number{background:#18181b;color:#fff;box-shadow:0 0 0 4px #18181b1a}.cafe-join-v2 .step.completed .step-number{background:#18181b;color:#fff}.cafe-join-v2 .step-label{font-size:13px;font-weight:500;color:#a1a1aa}.cafe-join-v2 .step.active .step-label{color:#18181b;font-weight:600}.cafe-join-v2 .step.completed .step-label{color:#18181b}.cafe-join-v2 .modal-body{flex:1;overflow-y:auto;padding:24px}.cafe-join-v2 .modal-footer{display:flex;gap:12px;padding:20px 24px;border-top:1px solid #e4e4e7}.cafe-join-v2 .btn-secondary{flex:1;padding:12px;font-size:14px;font-weight:600;border:1px solid #e4e4e7;background:#fff;border-radius:10px;cursor:pointer;font-family:inherit}.cafe-join-v2 .btn-secondary:hover{background:#f4f4f5}.cafe-join-v2 .btn-next{flex:1;padding:12px;font-size:14px;font-weight:600;border:none;background:#18181b;color:#fff;border-radius:10px;cursor:pointer;font-family:inherit}.cafe-join-v2 .btn-next:hover{background:#27272a}.cafe-join-v2 .btn-next:disabled{background:#e4e4e7;color:#a1a1aa;cursor:not-allowed}.cafe-join-v2 .search-input-wrapper{position:relative;margin-bottom:16px}.cafe-join-v2 .search-input{width:100%;padding:14px 14px 14px 44px;font-size:14px;border:1px solid #e4e4e7;border-radius:10px;font-family:inherit}.cafe-join-v2 .search-input:focus{outline:none;border-color:#18181b}.cafe-join-v2 .search-input-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#a1a1aa}.cafe-join-v2 .cafe-search-results{display:flex;flex-direction:column;gap:6px;max-height:360px;overflow-y:auto;width:100%}.cafe-join-v2 .cafe-search-item{background:#fff;border:1px solid #e4e4e7;border-radius:10px;overflow:visible;transition:all .15s;width:100%;box-sizing:border-box}.cafe-join-v2 .cafe-search-item:hover{border-color:#a1a1aa}.cafe-join-v2 .cafe-search-item.selected{border-color:#18181b;border-width:2px}.cafe-join-v2 .cafe-search-header{display:flex!important;flex-direction:row!important;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;width:100%;box-sizing:border-box;min-width:0}.cafe-join-v2 .cafe-search-item .cafe-icon{width:36px;height:36px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;object-fit:cover;align-self:flex-start}.cafe-join-v2 .cafe-search-item .cafe-info-wrapper{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:3px}.cafe-join-v2 .cafe-search-item .cafe-name{font-size:13px;font-weight:600;color:#18181b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0;padding:0;line-height:1.2}.cafe-join-v2 .cafe-search-item .cafe-info-wrapper .cafe-introduction{font-size:11px;color:#a1a1aa;line-height:1.2;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;margin:0;padding:0}.cafe-join-v2 .cafe-search-item .cafe-quick-info{font-size:12px;color:#71717a;display:flex;gap:8px;flex-shrink:0;white-space:nowrap}.cafe-join-v2 .cafe-search-item .cafe-quick-info .members{color:#2563eb;font-weight:600}.cafe-join-v2 .cafe-search-item .expand-icon{width:28px;height:28px;padding:4px;color:#a1a1aa;transition:transform .2s;cursor:pointer;border-radius:6px}.cafe-join-v2 .cafe-search-item .expand-icon:hover{background:#f4f4f5;color:#18181b}.cafe-join-v2 .cafe-search-item.expanded .expand-icon{transform:rotate(180deg)}.cafe-join-v2 .cafe-search-item .check-box{width:22px;height:22px;border:2px solid #d4d4d8;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s}.cafe-join-v2 .cafe-search-item.selected .check-box{background:#18181b;border-color:#18181b;color:#fff}.cafe-join-v2 .cafe-search-detail{display:block;padding:0 14px 12px;border-top:1px solid #f4f4f5;margin-top:0}.cafe-join-v2 .cafe-introduction{font-size:12px;color:#71717a;padding:8px 0;line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.cafe-join-v2 .cafe-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding-top:12px}.cafe-join-v2 .cafe-detail-item{display:flex;gap:8px;font-size:12px}.cafe-join-v2 .cafe-detail-item .label{color:#a1a1aa;min-width:60px}.cafe-join-v2 .cafe-detail-item .value{color:#52525b;font-weight:500}.cafe-join-v2 .cafe-detail-item.full{grid-column:1 / -1}.cafe-join-v2 .cafe-detail-item .link{color:#2563eb;text-decoration:none}.cafe-join-v2 .cafe-detail-item .link:hover{text-decoration:underline}.cafe-join-v2 .search-empty{text-align:center;padding:60px 20px;color:#a1a1aa}.cafe-join-v2 .search-empty-icon{font-size:48px;margin-bottom:16px}.cafe-join-v2 .search-empty-text{font-size:14px}.cafe-join-v2 .account-tabs{display:flex;gap:0;margin-bottom:20px;border-bottom:2px solid #e4e4e7}.cafe-join-v2 .account-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:14px 0;cursor:pointer;font-size:14px;font-weight:500;color:#71717a;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .15s}.cafe-join-v2 .account-tab:hover{color:#18181b}.cafe-join-v2 .account-tab.active{color:#18181b;border-bottom-color:#18181b}.cafe-join-v2 .account-tab .tab-count{font-weight:700}.cafe-join-v2 .account-tab-content{display:none}.cafe-join-v2 .account-tab-content.active{display:block}.cafe-join-v2 .account-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.cafe-join-v2 .account-card{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#fafafa;border:2px solid transparent;border-radius:12px;cursor:pointer;transition:all .15s}.cafe-join-v2 .account-card:hover{background:#f4f4f5}.cafe-join-v2 .account-card.selected{border-color:#18181b;background:#fff}.cafe-join-v2 .account-card.disabled{opacity:.6;cursor:not-allowed}.cafe-join-v2 .account-card .account-checkbox{width:20px;height:20px;border:2px solid #d4d4d8;border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s}.cafe-join-v2 .account-card.selected .account-checkbox{border-color:#18181b;background:#18181b;color:#fff}.cafe-join-v2 .account-card .account-detail{flex:1;min-width:0}.cafe-join-v2 .account-card .account-id{font-size:14px;font-weight:600;color:#18181b;margin-bottom:2px}.cafe-join-v2 .account-card .account-type{font-size:12px;color:#71717a}.cafe-join-v2 .account-card .account-type.real{color:#16a34a}.cafe-join-v2 .account-empty{text-align:center;padding:40px;color:#a1a1aa;grid-column:1 / -1}.cafe-join-v2 .account-empty-icon{font-size:32px;margin-bottom:8px}.cafe-join-v2 .select-all-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.cafe-join-v2 .select-all-bar .selected-count{font-size:13px;color:#71717a}.cafe-join-v2 .select-all-bar .selected-count strong{color:#18181b}.cafe-join-v2 .btn-select-all{font-size:13px;font-weight:500;color:#18181b;background:none;border:none;cursor:pointer;padding:6px 12px;border-radius:6px}.cafe-join-v2 .btn-select-all:hover{background:#f4f4f5}.cafe-join-v2 .setting-group{margin-bottom:28px}.cafe-join-v2 .setting-label{font-size:14px;font-weight:600;color:#18181b;margin-bottom:12px}.cafe-join-v2 .setting-options{display:flex;gap:10px}.cafe-join-v2 .setting-option{flex:1;padding:16px;border:2px solid #e4e4e7;border-radius:12px;text-align:center;cursor:pointer;font-size:14px;font-weight:500;color:#71717a;transition:all .15s;background:#fff}.cafe-join-v2 .setting-option:hover{border-color:#a1a1aa}.cafe-join-v2 .setting-option.selected{border-color:#18181b;background:#18181b;color:#fff}.cafe-join-v2 .summary-card{margin-top:32px;border:1px solid #e4e4e7;border-radius:12px;overflow:hidden}.cafe-join-v2 .summary-header{display:flex;align-items:center;gap:8px;padding:14px 20px;background:#fafafa;border-bottom:1px solid #e4e4e7}.cafe-join-v2 .summary-header svg{color:#71717a}.cafe-join-v2 .summary-title{font-size:13px;font-weight:600;color:#71717a}.cafe-join-v2 .summary-content{padding:6px 0}.cafe-join-v2 .summary-row{display:flex;align-items:center;padding:12px 20px}.cafe-join-v2 .summary-row .label{width:100px;font-size:13px;color:#71717a;flex-shrink:0}.cafe-join-v2 .summary-row .value{flex:1;font-size:14px;font-weight:600;color:#18181b;display:flex;align-items:center;gap:10px}.cafe-join-v2 .summary-row .cafe-icon{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:14px;object-fit:cover}.cafe-join-v2 .toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);padding:14px 24px;background:#18181b;color:#fff;border-radius:10px;font-size:14px;font-weight:500;box-shadow:0 4px 24px #0003;z-index:2000;animation:cafe-join-slideUp .3s ease}.cafe-join-v2 .toast.error{background:#dc2626}@keyframes cafe-join-slideUp{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.dashboard{padding:24px;max-width:1400px;margin:0 auto;font-family:Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif}.dashboard-header{display:flex;align-items:center;gap:24px;margin-bottom:32px;padding-bottom:20px;border-bottom:1px solid var(--border-primary, #e5e7eb)}.dashboard-title{font-size:28px;font-weight:700;color:var(--text-primary, #1a1a1a);margin:0;letter-spacing:-.02em}.dashboard-tabs{display:flex;background:var(--bg-secondary, #f5f5f5);border-radius:10px;padding:4px;gap:4px}.tab-btn{padding:10px 20px;font-size:14px;font-weight:600;color:var(--text-tertiary, #888);background:transparent;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;white-space:nowrap}.tab-btn:hover{color:var(--text-primary, #1a1a1a);background:#ffffff80}.tab-btn.active{color:var(--brand-500, #2383e2);background:#fff;box-shadow:0 1px 3px #00000014}.dashboard-refresh-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;margin-left:auto;background:#fff;border:1px solid var(--border-primary, #e5e7eb);border-radius:8px;color:var(--text-secondary, #666);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.dashboard-refresh-btn:hover{background:var(--bg-secondary, #f5f5f5);border-color:var(--border-hover, #d1d5db);color:var(--text-primary, #1a1a1a)}.dashboard-refresh-btn svg{transition:transform .3s ease}.dashboard-refresh-btn:hover svg{transform:rotate(180deg)}.monthly-stats-section{margin-bottom:32px}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.section-title{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:700;color:var(--text-primary, #1a1a1a);margin:0}.month-label{display:inline-flex;align-items:center;justify-content:center;padding:4px 12px;background:linear-gradient(135deg,#2383e2,#1a6bc4);color:#fff;font-size:13px;font-weight:600;border-radius:20px}.detail-toggle-btn{padding:8px 16px;background:transparent;border:1px solid var(--border-primary, #e5e7eb);border-radius:8px;color:var(--text-secondary, #666);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.detail-toggle-btn:hover{background:var(--bg-secondary, #f5f5f5);border-color:var(--brand-500, #2383e2);color:var(--brand-500, #2383e2)}.monthly-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.monthly-card{display:flex;align-items:center;gap:16px;padding:24px;background:#fff;border:1px solid var(--border-primary, #e5e7eb);border-radius:16px;transition:all .2s ease}.monthly-card:hover{border-color:transparent;box-shadow:0 4px 20px #00000014;transform:translateY(-2px)}.monthly-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:14px;flex-shrink:0}.monthly-icon.posts{background:linear-gradient(135deg,#22c55e26,#22c55e40);color:#16a34a}.monthly-icon.comments{background:linear-gradient(135deg,#3b82f626,#3b82f640);color:#2563eb}.monthly-icon.views{background:linear-gradient(135deg,#a855f726,#a855f740);color:#9333ea}.monthly-icon.likes{background:linear-gradient(135deg,#f43f5e26,#f43f5e40);color:#e11d48}.monthly-content{flex:1;min-width:0}.monthly-label{font-size:13px;font-weight:500;color:var(--text-tertiary, #888);margin:0 0 4px}.monthly-value{font-size:28px;font-weight:700;color:var(--text-primary, #1a1a1a);margin:0;letter-spacing:-.02em}.monthly-detail-table{margin-top:20px;background:#fff;border:1px solid var(--border-primary, #e5e7eb);border-radius:12px;overflow:hidden}.monthly-detail-table table{width:100%;border-collapse:collapse}.monthly-detail-table th,.monthly-detail-table td{padding:14px 20px;text-align:left;font-size:14px}.monthly-detail-table th{background:var(--bg-secondary, #f9fafb);font-weight:600;color:var(--text-secondary, #666);border-bottom:1px solid var(--border-primary, #e5e7eb)}.monthly-detail-table td{color:var(--text-primary, #1a1a1a);border-bottom:1px solid var(--border-primary, #f0f0f0)}.monthly-detail-table tr:last-child td{border-bottom:none}.monthly-detail-table tr:hover td{background:var(--bg-secondary, #f9fafb)}.monthly-detail-table .account-id{font-weight:600;color:var(--brand-500, #2383e2)}.dashboard-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:32px}.summary-card{display:flex;align-items:flex-start;gap:16px;padding:24px;background:#fff;border:1px solid var(--border-primary, #e5e7eb);border-radius:16px;transition:all .2s ease}.summary-card:hover{border-color:transparent;box-shadow:0 4px 20px #00000014;transform:translateY(-2px)}.summary-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:14px;flex-shrink:0}.summary-icon.accounts{background:linear-gradient(135deg,#6366f126,#6366f140);color:#6366f1}.summary-icon.popular{background:linear-gradient(135deg,#fbbf2426,#fbbf2440);color:#f59e0b}.summary-icon.schedule{background:linear-gradient(135deg,#ec489926,#ec489940);color:#ec4899}.summary-content{flex:1;min-width:0}.summary-label{font-size:13px;font-weight:500;color:var(--text-tertiary, #888);margin:0 0 4px}.summary-value{font-size:28px;font-weight:700;color:var(--text-primary, #1a1a1a);margin:0;letter-spacing:-.02em}.summary-sub{font-size:13px;color:var(--text-tertiary, #888);margin:4px 0 0}.summary-warning{font-size:13px;color:#ef4444;margin:4px 0 0;font-weight:500}.summary-change{font-size:12px;margin-top:4px}.summary-change.positive{color:#16a34a}.summary-change.negative{color:#ef4444}.dashboard-charts-section{margin-bottom:32px}.dashboard-charts-section .section-header{margin-bottom:20px}.dashboard-charts-section .section-title{font-size:20px;font-weight:700;color:var(--text-primary, #1a1a1a);margin:0}.dashboard-section{background:#fff;border:1px solid var(--border-primary, #e5e7eb);border-radius:16px;padding:24px;margin-bottom:24px}.dashboard-section .section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.dashboard-section .section-title{font-size:18px;font-weight:700;color:var(--text-primary, #1a1a1a);margin:0}.chart-controls{display:flex;align-items:center;gap:12px}.chart-period-btns{display:flex;background:var(--bg-secondary, #f5f5f5);border-radius:8px;padding:3px;gap:2px}.period-btn{padding:8px 16px;font-size:13px;font-weight:600;color:var(--text-tertiary, #888);background:transparent;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease}.period-btn:hover{color:var(--text-primary, #1a1a1a)}.period-btn.active{color:var(--brand-500, #2383e2);background:#fff;box-shadow:0 1px 3px #00000014}.chart-container{background:var(--bg-secondary, #f9fafb);border-radius:12px;padding:20px;margin-bottom:20px}.activity-chart{width:100%;height:280px}.account-activity-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.account-activity-item{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--bg-secondary, #f9fafb);border-radius:10px;transition:all .2s ease}.account-activity-item:hover{background:var(--bg-tertiary, #f0f0f0)}.activity-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.activity-id{font-size:14px;font-weight:600;color:var(--text-primary, #1a1a1a);min-width:100px}.activity-total{font-size:13px;font-weight:500;color:var(--brand-500, #2383e2);background:#2383e21a;padding:4px 10px;border-radius:12px}.activity-last{font-size:12px;color:var(--text-tertiary, #888);margin-left:auto}.heatmap-container{background:var(--bg-secondary, #f9fafb);border-radius:12px;padding:20px}.heatmap-chart{width:100%;height:220px}.api-logs-table-wrapper{overflow-x:auto;border-radius:12px;border:1px solid var(--border-primary, #e5e7eb)}.api-logs-table{width:100%;border-collapse:collapse;font-size:14px}.api-logs-table th,.api-logs-table td{padding:14px 16px;text-align:left}.api-logs-table th{background:var(--bg-secondary, #f9fafb);font-weight:600;color:var(--text-secondary, #666);border-bottom:1px solid var(--border-primary, #e5e7eb);white-space:nowrap}.api-logs-table td{color:var(--text-primary, #1a1a1a);border-bottom:1px solid var(--border-primary, #f0f0f0)}.api-logs-table tr:last-child td{border-bottom:none}.api-logs-table tr:hover td{background:var(--bg-secondary, #f9fafb)}.api-logs-table .cell-time{font-size:13px;color:var(--text-tertiary, #888);white-space:nowrap}.api-logs-table .cell-id{font-weight:600;color:var(--brand-500, #2383e2)}.api-logs-table .cell-message{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-tertiary, #888)}.api-logs-table .empty-row{text-align:center;padding:40px 20px;color:var(--text-tertiary, #888)}.status-badge{display:inline-flex;align-items:center;padding:4px 10px;font-size:12px;font-weight:600;border-radius:12px}.status-badge.success{background:#22c55e26;color:#16a34a}.status-badge.error,.status-badge.fail,.status-badge.failed{background:#ef444426;color:#dc2626}.dashboard-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:400px;gap:16px;color:var(--text-tertiary, #888)}html.dark .dashboard-title{color:var(--text-primary, #fff)}html.dark .dashboard-tabs{background:var(--bg-tertiary, #2a2a2a)}html.dark .tab-btn{color:var(--text-tertiary, #888)}html.dark .tab-btn:hover{color:var(--text-primary, #fff);background:#ffffff1a}html.dark .tab-btn.active{color:var(--brand-400, #60a5fa);background:var(--bg-secondary, #1f1f1f)}html.dark .dashboard-refresh-btn{background:var(--bg-secondary, #1f1f1f);border-color:var(--border-primary, #333);color:var(--text-secondary, #aaa)}html.dark .dashboard-refresh-btn:hover{background:var(--bg-tertiary, #2a2a2a)}html.dark .section-title{color:var(--text-primary, #fff)}html.dark .monthly-card,html.dark .summary-card{background:var(--bg-secondary, #1f1f1f);border-color:var(--border-primary, #333)}html.dark .monthly-card:hover,html.dark .summary-card:hover{border-color:transparent;box-shadow:0 4px 20px #0000004d}html.dark .monthly-value,html.dark .summary-value{color:var(--text-primary, #fff)}html.dark .monthly-detail-table{background:var(--bg-secondary, #1f1f1f);border-color:var(--border-primary, #333)}html.dark .monthly-detail-table th{background:var(--bg-tertiary, #2a2a2a);color:var(--text-secondary, #aaa)}html.dark .monthly-detail-table td{color:var(--text-primary, #fff);border-bottom-color:var(--border-primary, #333)}html.dark .detail-toggle-btn{border-color:var(--border-primary, #333);color:var(--text-secondary, #aaa)}html.dark .detail-toggle-btn:hover{background:var(--bg-tertiary, #2a2a2a)}html.dark .dashboard-section{background:var(--bg-secondary, #1f1f1f);border-color:var(--border-primary, #333)}html.dark .dashboard-section .section-title{color:var(--text-primary, #fff)}html.dark .chart-period-btns{background:var(--bg-tertiary, #2a2a2a)}html.dark .period-btn{color:var(--text-tertiary, #888)}html.dark .period-btn:hover{color:var(--text-primary, #fff)}html.dark .period-btn.active{color:var(--brand-400, #60a5fa);background:var(--bg-secondary, #1f1f1f)}html.dark .chart-container,html.dark .heatmap-container,html.dark .account-activity-item{background:var(--bg-tertiary, #2a2a2a)}html.dark .account-activity-item:hover{background:#333}html.dark .activity-id{color:var(--text-primary, #fff)}html.dark .activity-total{background:#60a5fa26;color:#60a5fa}html.dark .api-logs-table-wrapper{border-color:var(--border-primary, #333)}html.dark .api-logs-table th{background:var(--bg-tertiary, #2a2a2a);color:var(--text-secondary, #aaa);border-bottom-color:var(--border-primary, #333)}html.dark .api-logs-table td{color:var(--text-primary, #fff);border-bottom-color:var(--border-primary, #333)}html.dark .api-logs-table tr:hover td{background:var(--bg-tertiary, #2a2a2a)}html.dark .api-logs-table .cell-id{color:#60a5fa}@media (max-width: 1200px){.monthly-cards{grid-template-columns:repeat(2,1fr)}}@media (max-width: 1024px){.dashboard-summary-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.dashboard{padding:16px}.dashboard-header{flex-wrap:wrap;gap:16px}.dashboard-title{font-size:24px;width:100%}.dashboard-tabs{order:1;flex:1;overflow-x:auto;-webkit-overflow-scrolling:touch}.dashboard-refresh-btn{order:2;margin-left:0}.monthly-cards,.dashboard-summary-grid{grid-template-columns:1fr}.section-header{flex-direction:column;align-items:flex-start;gap:12px}}@media (max-width: 480px){.tab-btn{padding:8px 14px;font-size:13px}.monthly-card,.summary-card{padding:20px}.monthly-icon,.summary-icon{width:48px;height:48px}.monthly-value,.summary-value{font-size:24px}}.main-content:has(.post-list-page){overflow:hidden!important;padding:0!important}.post-list-page{padding:24px 24px 0 16px;max-width:100%;margin:0;display:flex;flex-direction:column;gap:16px;font-family:Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;height:100vh;overflow:hidden;box-sizing:border-box}.post-list-page .page-tabs{display:flex;gap:24px;border-bottom:1px solid var(--border-primary);flex-shrink:0}.post-list-page .page-tab{padding:12px 0;min-width:130px;font-size:15px;font-weight:600;color:var(--text-tertiary);background:none;border:none;cursor:pointer;position:relative;transition:color var(--duration-micro) var(--ease-default);text-align:center}.post-list-page .page-tab:hover{color:var(--text-primary)}.post-list-page .page-tab.active{color:var(--brand-500)}.post-list-page .page-tab.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--brand-500)}.info-notice-box{background:var(--info-light);border-radius:8px;padding:12px 20px;display:flex;flex-direction:column}html.dark .info-notice-box{background:#3b82f61a}.notice-item{display:flex;align-items:center;gap:12px;padding:8px 0}.notice-item svg{flex-shrink:0;color:var(--info)}.notice-text{font-size:15px;color:var(--text-primary);line-height:1.6;margin:0}.filter-buttons{display:flex;gap:8px;margin-bottom:16px;align-items:center}.filter-btn{padding:8px 16px;font-size:12px;font-weight:400;color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:16px;cursor:pointer;transition:all var(--duration-micro) var(--ease-default);display:flex;align-items:center;gap:4px}.filter-btn:hover{border-color:var(--border-hover);background:var(--bg-hover)}.filter-btn.active{background:var(--brand-100);color:var(--brand-500);border-color:var(--brand-200)}html.dark .filter-btn.active{background:#2383e226;color:var(--brand-400);border-color:#2383e24d}.filter-btn.active:before{content:"✓";font-size:10px;margin-right:2px}.date-filter-select{padding:8px 16px;font-size:12px;font-weight:400;color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:16px;cursor:pointer;transition:all var(--duration-micro) var(--ease-default);outline:none;font-family:Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif}.date-filter-select:hover{border-color:var(--border-hover);background:var(--bg-hover)}.date-filter-select:focus{border-color:var(--brand-500)}.search-section{display:flex;justify-content:flex-start;margin-bottom:16px}.search-box{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:4px;width:100%;max-width:500px;transition:all var(--duration-micro) var(--ease-default)}.search-box:focus-within{border-color:var(--brand-500);box-shadow:0 0 0 3px #2383e21a}.search-box svg{width:18px;height:18px;color:var(--text-tertiary);flex-shrink:0;transition:color var(--duration-micro) var(--ease-default)}.search-box input{flex:1;border:none;background:none;font-size:14px;color:var(--text-primary);outline:none;transition:color var(--duration-micro) var(--ease-default);font-family:Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif}.search-box input::placeholder{color:var(--text-tertiary)}.data-section{background:transparent;border:none;border-radius:0;flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.table-wrapper{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden}.data-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;font-family:NanumSquareNeo,Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif}.data-table th,.data-table td{padding:8px 4px;text-align:left;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:border-color .15s ease;height:56px;line-height:24px}.data-table th{overflow:visible}.data-table td:nth-child(1){overflow:visible}.data-table thead{position:sticky;top:0;z-index:10;background:var(--bg-primary, #fff)!important}.data-table thead tr{background:var(--bg-primary, #fff)!important}.data-table th{font-size:clamp(13px,.7vw,17px);font-weight:600;color:#000;background:var(--bg-primary, #fff)!important;border-top:1px solid #999!important;border-bottom:1px solid #999!important;transition:color .15s ease}html.dark .data-table thead{background:var(--bg-primary, #1a1a1a)!important}html.dark .data-table th{color:#fff;background:var(--bg-primary, #1a1a1a)!important;border-top:1px solid #666!important;border-bottom:1px solid #666!important}.data-table th .header-sub{font-size:14px;font-weight:400;color:var(--text-secondary)}.data-table th:nth-child(1),.data-table td:nth-child(1){width:3%}.data-table th:nth-child(2),.data-table td:nth-child(2){width:3%}.data-table th:nth-child(3),.data-table td:nth-child(3){width:4%}.data-table th:nth-child(4),.data-table td:nth-child(4){width:6%}.data-table th:nth-child(5),.data-table td:nth-child(5){width:6%}.data-table th:nth-child(6),.data-table td:nth-child(6){width:13%}.data-table th:nth-child(7),.data-table td:nth-child(7){width:9%}.data-table th:nth-child(8),.data-table td:nth-child(8){width:11%}.data-table th:nth-child(9),.data-table td:nth-child(9){width:18%}.data-table th:nth-child(10),.data-table td:nth-child(10){width:5%}.data-table th:nth-child(11),.data-table td:nth-child(11){width:5%}.data-table th:nth-child(12),.data-table td:nth-child(12){width:5%}.data-table th:nth-child(13),.data-table td:nth-child(13){width:12%}.data-table td{border:none!important;font-size:clamp(12px,.65vw,16px);font-weight:600;color:#888;font-family:NanumSquareNeo,Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;background:transparent;height:72px;vertical-align:middle}html.dark .data-table td{color:#ccc}.data-table tr.error-row td{background:#fff3f0}.data-table tr.error-row td:first-child{border-radius:8px 0 0 8px}.data-table tr.error-row td:last-child{border-radius:0 8px 8px 0}.data-table tr.error-row td:nth-child(4),.data-table tr.error-row td:nth-child(5),.data-table tr.error-row td:nth-child(6),.data-table tr.error-row td:nth-child(7),.data-table tr.error-row td:nth-child(8),.data-table tr.error-row td:nth-child(9){color:#db340b}.data-table tr.error-row td:nth-child(4) .date-part,.data-table tr.error-row td:nth-child(4) .time-part,.data-table tr.error-row td:nth-child(5) .date-part,.data-table tr.error-row td:nth-child(5) .time-part{color:#db340b}html.dark .data-table tr.error-row td{background:#db340b1a}html.dark .data-table tr.error-row td:nth-child(4),html.dark .data-table tr.error-row td:nth-child(5),html.dark .data-table tr.error-row td:nth-child(6),html.dark .data-table tr.error-row td:nth-child(7),html.dark .data-table tr.error-row td:nth-child(8),html.dark .data-table tr.error-row td:nth-child(9){color:#ef5350}html.dark .data-table tr.error-row td:nth-child(4) .date-part,html.dark .data-table tr.error-row td:nth-child(4) .time-part,html.dark .data-table tr.error-row td:nth-child(5) .date-part,html.dark .data-table tr.error-row td:nth-child(5) .time-part{color:#ef5350}.data-table tbody tr{transition:background .1s;border:none!important}.data-table tbody tr td{border:none!important;border-bottom:none!important;border-top:none!important}.data-table tbody tr:hover{background:var(--table-row-hover)}.data-table tbody tr:last-child td{border-bottom:none}.status-cell{display:flex;align-items:center;justify-content:flex-start;position:relative}.status-cell svg{color:var(--text-tertiary)}.status-cell.scheduled svg{color:#03c75a}.status-cell.error svg{color:#db340b}.scheduled-status-display{display:flex;align-items:center;color:#0078ff;font-size:12px;white-space:nowrap}.scheduled-status-display .scheduled-datetime{margin-right:4px}.scheduled-status-display .scheduled-time{font-weight:500}.scheduled-status-display .scheduled-separator{margin:0 1px}.success-status-display{display:flex;align-items:center;color:#898d8f;font-size:12px;white-space:nowrap}.success-status-display .success-datetime{margin-right:4px}.success-status-display .success-time{font-weight:500}.success-status-display .success-separator{margin:0 1px}.success-status-display .success-badge{margin-left:8px;padding:2px 8px;background:#898d8f;color:#fff;font-size:10px;font-weight:500;border-radius:5px}html.dark .success-status-display{color:#888}html.dark .success-status-display .success-badge{background:#666}.status-cell.error{position:relative}.status-cell.error svg{cursor:pointer}.error-tooltip{padding:8px 12px;background:#333;color:#fff;border-radius:6px;font-size:12px;white-space:nowrap;z-index:99999;box-shadow:0 4px 12px #0000004d;pointer-events:none}html.dark .error-tooltip{background:#2a2a2a;border:1px solid #3a3a3a}.scheduled-tooltip{padding:8px 12px;background:#333;color:#fff;border-radius:6px;font-size:12px;white-space:nowrap;z-index:99999;box-shadow:0 4px 12px #0000004d;pointer-events:none}html.dark .scheduled-tooltip{background:#2a2a2a;border:1px solid #3a3a3a}.date-cell{white-space:nowrap;text-align:left;overflow:hidden;min-width:50px}.date-cell-content{display:flex;flex-direction:column;line-height:1.4}.date-cell-content .date-part,.date-cell-content .time-part{font-size:clamp(11px,.6vw,15px);font-weight:inherit;color:inherit}.date-cell .date-wrapper{position:relative;display:inline-block;line-height:1.4}.date-cell .date-part,.date-cell .time-part{display:block;font-size:inherit;font-weight:inherit;color:inherit}.date-cell .date-tooltip{visibility:hidden;opacity:0;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:#333;color:#fff;padding:6px 10px;border-radius:4px;font-size:12px;white-space:nowrap;z-index:9999;pointer-events:none;transition:opacity .15s}.date-cell .date-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:#333}.date-cell .date-wrapper:hover .date-tooltip{visibility:visible;opacity:1}html.dark .date-cell .date-tooltip{background:#555}html.dark .date-cell .date-tooltip:after{border-top-color:#555}.cafe-cell{max-width:120px;overflow:hidden;text-overflow:ellipsis}.title-cell{max-width:200px}.board-cell{overflow:visible!important}.board-cell .board-wrapper{position:relative;display:inline-block}.board-cell .board-text{cursor:default}.board-cell .board-tooltip{visibility:hidden;opacity:0;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:#333;color:#fff;padding:6px 10px;border-radius:4px;font-size:12px;white-space:nowrap;z-index:9999;pointer-events:none;transition:opacity .15s}.board-cell .board-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:#333}.board-cell .board-wrapper:hover .board-tooltip{visibility:visible;opacity:1}html.dark .board-cell .board-tooltip{background:#555}html.dark .board-cell .board-tooltip:after{border-top-color:#555}.nickname-account-cell{max-width:140px;overflow:hidden;text-overflow:ellipsis}.title-link{color:var(--text-primary);font-weight:600;cursor:pointer;transition:color .15s;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.title-link:hover{color:var(--brand-500)}.nickname-cell{display:flex;align-items:center;gap:6px;white-space:nowrap}.query-time-cell{display:flex;align-items:center;justify-content:space-between;width:100%}.refresh-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;background:transparent;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;transition:all .15s;margin-left:auto;flex-shrink:0}.refresh-btn:hover{background:var(--bg-hover);color:var(--brand-500)}.refresh-btn svg{color:inherit}.refresh-btn.spinning svg{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;flex:1}.loading-state .spinner{width:32px;height:32px;border:3px solid var(--card-border);border-top-color:var(--brand-500);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:12px}.empty-state svg{width:48px;height:48px;color:var(--text-tertiary);margin-bottom:16px;transition:color .15s ease}.empty-state p,.loading-state span{font-size:14px;color:var(--text-secondary);margin:0;transition:color .15s ease}.load-more-trigger{min-height:60px;display:flex;align-items:center;justify-content:center}.loading-more{display:flex;align-items:center;gap:12px;padding:20px}.loading-more .spinner{width:24px;height:24px;border:3px solid var(--card-border);border-top-color:var(--brand-500);border-radius:50%;animation:spin 1s linear infinite}.loading-more span{font-size:14px;color:var(--text-secondary)}.post-list-page .cafe-list-section{background:var(--card-bg);border:1px solid var(--card-border);border-radius:8px;padding:20px 24px;flex-shrink:0}.post-list-page .cafe-list-header{display:flex;justify-content:space-between;gap:24px}.post-list-page .header-column{display:flex;flex-direction:column;width:46%}.post-list-page .column-title-row{display:flex;align-items:center;gap:4px}.post-list-page .column-title{font-size:18px;font-weight:600;color:var(--text-primary);margin:0}.post-list-page .settings-icon-btn{display:flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;padding:4px;margin-left:8px}.post-list-page .settings-icon-btn svg path{fill:var(--text-tertiary)}.post-list-page .settings-icon-btn:hover svg path{fill:var(--text-primary)}.post-list-page .cafe-select-wrapper{position:relative;margin-top:24px}.post-list-page .cafe-select{display:flex;align-items:center;gap:12px;padding:0 0 12px;height:40px;background:transparent;border:none;border-bottom:1px solid var(--border-primary);border-radius:0;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.post-list-page .cafe-select:hover{border-bottom-color:#36ad6a}.post-list-page .select-cafe-image{width:24px;height:24px;border-radius:50%;object-fit:cover;flex-shrink:0;background:#fff}.post-list-page .select-display{flex:1;min-width:0}.post-list-page .select-display span{font-size:14px;color:var(--text-primary);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.post-list-page .arrow-icon{width:16px;height:16px;color:var(--text-tertiary);flex-shrink:0;transition:transform .2s}.post-list-page .arrow-icon.open{transform:rotate(180deg)}.post-list-page .cafe-dropdown-menu{position:absolute;top:100%;left:0;right:0;max-height:300px;overflow-y:auto;background:var(--bg-elevated);border:1px solid var(--card-border);border-radius:8px;box-shadow:var(--shadow-lg);z-index:100;margin-top:4px}.post-list-page .cafe-dropdown-item{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;transition:background .15s}.post-list-page .cafe-dropdown-item:hover{background:var(--bg-hover)}.post-list-page .cafe-dropdown-item.active{background:#03c75a14}html.dark .post-list-page .cafe-dropdown-item.active{background:#03c75a26}.post-list-page .cafe-dropdown-item span{font-size:14px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.post-list-page .dropdown-cafe-image{width:24px;height:24px;border-radius:50%;object-fit:cover;flex-shrink:0;background:#fff}.post-list-page .action-section{display:flex;flex-direction:column;gap:12px;flex-shrink:0}.post-list-page .action-buttons{display:flex;gap:8px;flex-wrap:wrap}.post-list-page .action-btn{display:flex;align-items:center;gap:6px;padding:10px 16px;font-size:14px;font-weight:500;color:var(--text-primary);background:var(--card-bg);border:1px solid var(--card-border);border-radius:6px;cursor:pointer;transition:all .15s}.post-list-page .action-btn:hover{border-color:#03c75a;color:#03c75a}.post-list-page .action-btn svg{flex-shrink:0}.post-list-page .action-btn.primary{background:#18a058;border-color:#18a058;color:#fff}.post-list-page .action-btn.primary:hover{background:#16914e;border-color:#16914e;color:#fff}.post-list-page .action-btn.secondary{background:#2080f0;border-color:#2080f0;color:#fff}.post-list-page .action-btn.secondary:hover{background:#1c73d8;border-color:#1c73d8;color:#fff}.post-list-page .action-btn.warning{background:#f0a020;border-color:#f0a020;color:#fff}.post-list-page .action-btn.warning:hover{background:#d89018;border-color:#d89018;color:#fff}html.dark .post-list-page .action-btn.primary,html.dark .post-list-page .action-btn.secondary,html.dark .post-list-page .action-btn.warning{border-color:transparent}.post-list-page .action-notice{display:flex;align-items:flex-start;gap:8px;padding:12px 16px;background:#fffaf0;border:1px solid rgb(255,213,153);border-radius:6px}html.dark .post-list-page .action-notice{background:#ffaa001a;border-color:#ffaa004d}.post-list-page .action-notice svg{flex-shrink:0;color:#f59e0b;margin-top:2px}.post-list-page .action-notice p{margin:0;font-size:13px;line-height:1.5;color:#92400e}html.dark .post-list-page .action-notice p{color:#fbbf24}.post-list-page .data-timestamp-row{display:flex;align-items:center;gap:8px;margin-top:16px}.post-list-page .data-timestamp{font-size:15px;color:var(--text-secondary);margin:0;background:transparent}.post-list-page .data-refresh-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:transparent;border:1px solid var(--card-border);border-radius:4px;color:var(--text-secondary);cursor:pointer;transition:all .15s}.post-list-page .data-refresh-btn:hover{background:var(--bg-hover);border-color:#03c75a;color:#03c75a}.post-list-page .data-refresh-btn:disabled{opacity:.5;cursor:not-allowed}.post-list-page .data-refresh-btn.spinning svg{animation:spin 1s linear infinite}.post-list-page .filter-area{display:flex;flex-direction:column;gap:12px;margin-top:24px}.post-list-page .period-buttons{display:flex;gap:16px}.post-list-page .period-btn{width:110px;height:40px;padding:0;font-size:16px;font-weight:400;color:var(--text-secondary);background:var(--card-bg);border:1px solid var(--card-border);border-radius:4px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.post-list-page .period-btn:hover{border-color:#03c75a;color:#03c75a}.post-list-page .period-btn.active{background:#03c75a;border-color:#03c75a;color:#fff}.post-list-page .checkbox-label{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-secondary);cursor:pointer}.post-list-page .checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:#18a058;cursor:pointer}.post-list-page .data-grid{display:flex;flex-direction:column;width:100%}.post-list-page .data-grid-header{display:flex;align-items:center;position:sticky;top:0;z-index:10;background:var(--bg-primary, #fff);margin-bottom:0;padding:8px 0 8px 8px;border-top:1px solid #E8EBEB;border-bottom:1px solid #131214}html.dark .post-list-page .data-grid-header{background:var(--bg-primary, #1a1a1a);border-top-color:#444;border-bottom-color:#888}.post-list-page .data-grid-header span{height:38px;display:flex;align-items:center}.post-list-page .data-grid-header .header-text{font-size:14px;font-weight:600;font-family:NanumSquareNeo,sans-serif;color:#333639;margin:0}html.dark .post-list-page .data-grid-header .header-text{color:#fff}.post-list-page .data-grid-body{display:flex;flex-direction:column}.post-list-page .data-grid-row{display:flex;align-items:center;padding:8px 0;transition:background .15s ease;cursor:pointer}.post-list-page .data-grid-row:hover{background:var(--table-row-hover)}.post-list-page .data-grid-row.error-row{background:#fff3f0}html.dark .post-list-page .data-grid-row.error-row{background:#db340b1a}.post-list-page .data-grid-cell{display:flex;align-items:center;overflow:hidden}.post-list-page .data-grid-cell .cell-content{display:flex;align-items:center;width:100%}.post-list-page .data-grid-cell .cell-text{font-size:12px;color:#898d8f;font-weight:400;font-family:NanumSquareNeo,sans-serif;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}html.dark .post-list-page .data-grid-cell .cell-text{color:#aaa}.post-list-page .data-grid-row.error-row .data-grid-cell.col-publish-date .cell-text,.post-list-page .data-grid-row.error-row .data-grid-cell.col-create-date .cell-text,.post-list-page .data-grid-row.error-row .data-grid-cell.col-cafe-name .cell-text,.post-list-page .data-grid-row.error-row .data-grid-cell.col-board-name .cell-text,.post-list-page .data-grid-row.error-row .data-grid-cell.col-nickname .cell-text,.post-list-page .data-grid-row.error-row .data-grid-cell.col-title .cell-text{color:#db340b}html.dark .post-list-page .data-grid-row.error-row .data-grid-cell.col-publish-date .cell-text,html.dark .post-list-page .data-grid-row.error-row .data-grid-cell.col-create-date .cell-text,html.dark .post-list-page .data-grid-row.error-row .data-grid-cell.col-cafe-name .cell-text,html.dark .post-list-page .data-grid-row.error-row .data-grid-cell.col-board-name .cell-text,html.dark .post-list-page .data-grid-row.error-row .data-grid-cell.col-nickname .cell-text,html.dark .post-list-page .data-grid-row.error-row .data-grid-cell.col-title .cell-text{color:#ef5350}.post-list-page .data-grid-cell.col-status,.post-list-page .data-grid-cell.col-popular{width:3%;flex-shrink:0}.post-list-page .data-grid-cell.col-index{width:4%;flex-shrink:0}.post-list-page .data-grid-cell.col-publish-date,.post-list-page .data-grid-cell.col-create-date{width:6%;flex-shrink:0}.post-list-page .data-grid-cell.col-cafe-name{width:13%;flex-shrink:0}.post-list-page .data-grid-cell.col-board-name{width:9%;flex-shrink:0}.post-list-page .data-grid-cell.col-nickname{width:11%;flex-shrink:0}.post-list-page .data-grid-cell.col-title{width:18%;flex-shrink:0}.post-list-page .data-grid-cell.col-views,.post-list-page .data-grid-cell.col-comments,.post-list-page .data-grid-cell.col-likes{width:5%;flex-shrink:0}.post-list-page .data-grid-cell.col-query-time{width:12%;flex-shrink:0}.post-list-page .data-grid-cell.col-query-time .cell-content{display:flex;align-items:center;justify-content:space-between;width:100%;padding-right:8px}.post-list-page .data-grid-cell .refresh-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;background:transparent;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;transition:all .15s;flex-shrink:0}.post-list-page .data-grid-cell .refresh-btn:hover{background:var(--bg-hover);color:var(--brand-500)}.post-list-page .data-grid-cell .refresh-btn.spinning svg{animation:spin 1s linear infinite}.post-list-page .data-grid-cell .date-cell-content{display:flex;flex-direction:column;line-height:1.4}.post-list-page .data-grid-cell .date-cell-content .date-part,.post-list-page .data-grid-cell .date-cell-content .time-part{font-size:12px;font-weight:400;font-family:NanumSquareNeo,sans-serif;color:#898d8f}html.dark .post-list-page .data-grid-cell .date-cell-content .date-part,html.dark .post-list-page .data-grid-cell .date-cell-content .time-part{color:#aaa}.post-list-page .data-grid-row.error-row .data-grid-cell .date-cell-content .date-part,.post-list-page .data-grid-row.error-row .data-grid-cell .date-cell-content .time-part{color:#db340b}html.dark .post-list-page .data-grid-row.error-row .data-grid-cell .date-cell-content .date-part,html.dark .post-list-page .data-grid-row.error-row .data-grid-cell .date-cell-content .time-part{color:#ef5350}.post-list-page .data-grid-cell .title-link{font-size:12px;font-weight:400;font-family:NanumSquareNeo,sans-serif;color:#898d8f;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;cursor:pointer;transition:color .15s}.post-list-page .data-grid-cell .title-link:hover{color:var(--brand-500)}html.dark .post-list-page .data-grid-cell .title-link{color:#aaa}.post-list-page .data-grid-row.error-row .data-grid-cell .title-link{color:#db340b}html.dark .post-list-page .data-grid-row.error-row .data-grid-cell .title-link{color:#ef5350}.post-list-page .data-grid-cell .board-wrapper{position:relative;display:inline-block}.post-list-page .data-grid-cell .board-tooltip{visibility:hidden;opacity:0;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:#333;color:#fff;padding:6px 10px;border-radius:4px;font-size:12px;white-space:nowrap;z-index:9999;pointer-events:none;transition:opacity .15s}.post-list-page .data-grid-cell .board-wrapper:hover .board-tooltip{visibility:visible;opacity:1}@media (max-width: 768px){.post-list-page{padding:16px}.filter-buttons{flex-wrap:wrap}.search-box{max-width:none}.data-table th,.data-table td{padding:10px 12px;font-size:12px}}
