@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";.common-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap;outline:none}.common-btn:focus-visible{box-shadow:0 0 0 2px var(--brand-500)}.common-btn:disabled{opacity:.5;cursor:not-allowed}.common-btn--sm{padding:6px 12px;font-size:13px;height:32px}.common-btn--md{padding:8px 16px;font-size:14px;height:40px}.common-btn--lg{padding:12px 24px;font-size:16px;height:48px}.common-btn--primary{background-color:var(--brand-500, #03c75a);color:#fff}.common-btn--primary:hover:not(:disabled){background-color:var(--brand-600, #02a34a)}.common-btn--secondary{background-color:#f4f6f7;color:#333;border:1px solid #e0e0e0}.common-btn--secondary:hover:not(:disabled){background-color:#e8eaeb}.common-btn--ghost{background-color:transparent;color:#333}.common-btn--ghost:hover:not(:disabled){background-color:#0000000d}.common-btn--danger{background-color:#dc3545;color:#fff}.common-btn--danger:hover:not(:disabled){background-color:#c82333}.common-btn--full-width{width:100%}.common-btn--loading{position:relative;color:transparent}.common-btn__loading{position:absolute;display:flex;align-items:center;justify-content:center;gap:4px}.common-btn__loading .dot{width:6px;height:6px;border-radius:50%;background:currentColor;animation:btnDotBounce 1.4s ease-in-out infinite}.common-btn__loading .dot:nth-child(1){animation-delay:0s}.common-btn__loading .dot:nth-child(2){animation-delay:.2s}.common-btn__loading .dot:nth-child(3){animation-delay:.4s}@keyframes btnDotBounce{0%,80%,to{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}@keyframes btn-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.common-btn__icon{display:flex;align-items:center;justify-content:center}.common-btn__icon svg{width:16px;height:16px}.common-btn--sm .common-btn__icon svg{width:14px;height:14px}.common-btn--lg .common-btn__icon svg{width:18px;height:18px}html.dark .common-btn--primary{background-color:var(--brand-500, #03c75a);color:#fff}html.dark .common-btn--primary:hover:not(:disabled){background-color:var(--brand-600, #02a34a)}html.dark .common-btn--secondary{background-color:#2a2a2a;color:#e5e5e5;border-color:#404040}html.dark .common-btn--secondary:hover:not(:disabled){background-color:#333}html.dark .common-btn--ghost{color:#e5e5e5}html.dark .common-btn--ghost:hover:not(:disabled){background-color:#ffffff1a}html.dark .common-btn--danger{background-color:#dc3545}html.dark .common-btn--danger:hover:not(:disabled){background-color:#c82333}html.dark .common-btn:focus-visible{box-shadow:0 0 0 2px var(--brand-400, #04d160)}.common-modal__backdrop{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:modal-fade-in .3s cubic-bezier(.16,1,.3,1);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}@keyframes modal-fade-in{0%{opacity:0;backdrop-filter:blur(0px);-webkit-backdrop-filter:blur(0px)}to{opacity:1;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}}.common-modal{background-color:#fff;border-radius:12px;box-shadow:0 20px 60px #0003;max-height:90vh;display:flex;flex-direction:column;animation:modal-slide-in .3s cubic-bezier(.16,1,.3,1);outline:none;position:relative}@keyframes modal-slide-in{0%{transform:translateY(-20px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.common-modal--sm{width:400px;max-width:90vw}.common-modal--md{width:560px;max-width:90vw}.common-modal--lg{width:800px;max-width:90vw}.common-modal--xl{width:1100px;max-width:95vw}.common-modal__header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e5e8eb}.common-modal__title{margin:0;font-size:18px;font-weight:600;color:#333}.common-modal__close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;border-radius:6px;cursor:pointer;color:#666;transition:all .2s cubic-bezier(.4,0,.2,1)}.common-modal__close:hover{background-color:#f4f6f7;color:#333;transform:scale(1.1)}.common-modal__close:active{transform:scale(.95)}.common-modal__close:focus-visible{outline:2px solid #0066ff;outline-offset:2px}.common-modal__body{padding:24px;overflow-y:auto;flex:1}.common-modal__body::-webkit-scrollbar{width:8px}.common-modal__body::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.common-modal__body::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.common-modal__body::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.common-modal__footer{padding:16px 24px;border-top:1px solid #e5e8eb;display:flex;justify-content:flex-end;gap:12px}.common-modal__confirm-buttons{display:flex;gap:12px;justify-content:flex-end}.common-modal__confirm-buttons button:focus-visible{outline:2px solid #0066ff;outline-offset:2px}.common-modal__message{margin:0;font-size:15px;color:#555;line-height:1.6}.common-modal button:focus-visible,.common-modal a:focus-visible,.common-modal input:focus-visible,.common-modal select:focus-visible,.common-modal textarea:focus-visible{outline:2px solid #0066ff;outline-offset:2px;border-radius:4px}@media (max-width: 768px){.common-modal__backdrop{padding:16px}.common-modal{max-height:calc(100vh - 32px)}.common-modal__header{padding:16px 20px}.common-modal__body{padding:20px}.common-modal__footer{padding:12px 20px;flex-direction:column-reverse}.common-modal__confirm-buttons{flex-direction:column-reverse;width:100%}.common-modal__confirm-buttons button{width:100%}}html.dark .common-modal__backdrop{background-color:#000000b3}html.dark .common-modal{background-color:#1a1a1a;border:1px solid #333}html.dark .common-modal__header{border-bottom-color:#333}html.dark .common-modal__title{color:#e5e5e5}html.dark .common-modal__close{color:#a0a0a0}html.dark .common-modal__close:hover{background-color:#2a2a2a;color:#e5e5e5}html.dark .common-modal__footer{border-top-color:#333}html.dark .common-modal__message{color:#b0b0b0}html.dark .common-modal__body::-webkit-scrollbar-track{background:#2a2a2a}html.dark .common-modal__body::-webkit-scrollbar-thumb{background:#4a4a4a}html.dark .common-modal__body::-webkit-scrollbar-thumb:hover{background:#5a5a5a}@media (prefers-reduced-motion: reduce){.common-modal__backdrop,.common-modal{animation:none}.common-modal__close{transition:none}}.common-dropdown{position:relative;display:inline-flex;flex-direction:column;width:100%}.common-dropdown--disabled{opacity:.5;cursor:not-allowed}.common-dropdown--sm .common-dropdown__trigger{height:32px;padding:0 10px;font-size:13px}.common-dropdown--md .common-dropdown__trigger{height:40px;padding:0 12px;font-size:14px}.common-dropdown--lg .common-dropdown__trigger{height:48px;padding:0 16px;font-size:15px}.common-dropdown__trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;background-color:#fff;border:1px solid #d4d8dc;border-radius:8px;cursor:pointer;transition:all .2s ease;outline:none}.common-dropdown:focus .common-dropdown__trigger,.common-dropdown--open .common-dropdown__trigger{border-color:var(--brand-500, #03c75a);box-shadow:0 0 0 3px #03c75a1a}.common-dropdown__trigger:hover:not(.common-dropdown--disabled .common-dropdown__trigger){border-color:#b0b8c0}.common-dropdown__selected{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#333}.common-dropdown__placeholder{color:#9ca3af}.common-dropdown__chevron{flex-shrink:0;color:#6b7280;transition:transform .2s ease}.common-dropdown__chevron--open{transform:rotate(180deg)}.common-dropdown__menu{position:absolute;top:100%;left:0;right:0;z-index:1000;margin-top:4px;background-color:#fff;border:1px solid #e5e8eb;border-radius:8px;box-shadow:0 4px 16px #0000001f;max-height:280px;overflow-y:auto;animation:dropdown-fade-in .15s ease}@keyframes dropdown-fade-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.common-dropdown__menu::-webkit-scrollbar{width:6px}.common-dropdown__menu::-webkit-scrollbar-track{background:transparent}.common-dropdown__menu::-webkit-scrollbar-thumb{background-color:#d4d8dc;border-radius:3px}.common-dropdown__option{padding:10px 12px;cursor:pointer;transition:background-color .15s ease;color:#333}.common-dropdown__option:hover{background-color:#f4f6f7}.common-dropdown__option--selected{background-color:#03c75a14;color:var(--brand-600, #02a34a);font-weight:500}.common-dropdown__option--disabled{opacity:.5;cursor:not-allowed}.common-dropdown__option--disabled:hover{background-color:transparent}.common-dropdown__empty,.common-dropdown__loading{padding:16px 12px;text-align:center;color:#9ca3af;font-size:14px}.common-combobox{position:relative;display:inline-flex;flex-direction:column;width:100%}.common-combobox--disabled{opacity:.5;cursor:not-allowed}.common-combobox--sm .common-combobox__trigger{height:32px;font-size:13px}.common-combobox--md .common-combobox__trigger{height:40px;font-size:14px}.common-combobox--lg .common-combobox__trigger{height:48px;font-size:15px}.common-combobox__trigger{display:flex;align-items:center;gap:8px;background-color:#fff;border:1px solid #d4d8dc;border-radius:8px;cursor:pointer;transition:all .2s ease;padding:0 12px}.common-combobox--open .common-combobox__trigger,.common-combobox__trigger:focus-within{border-color:var(--brand-500, #03c75a);box-shadow:0 0 0 3px #03c75a1a}.common-combobox__trigger:hover:not(.common-combobox--disabled .common-combobox__trigger){border-color:#b0b8c0}.common-combobox__search{display:flex;align-items:center;gap:8px;flex:1}.common-combobox__search-icon{flex-shrink:0;color:#9ca3af}.common-combobox__input{flex:1;border:none;outline:none;background:transparent;font-size:inherit;color:#333;padding:0}.common-combobox__input::placeholder{color:#9ca3af}.common-combobox__input:disabled{cursor:not-allowed}.common-combobox__selected{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#333}.common-combobox__menu{position:absolute;top:100%;left:0;right:0;z-index:1000;margin-top:4px;background-color:#fff;border:1px solid #e5e8eb;border-radius:8px;box-shadow:0 4px 16px #0000001f;max-height:280px;overflow-y:auto;animation:dropdown-fade-in .15s ease}.common-combobox__menu::-webkit-scrollbar{width:6px}.common-combobox__menu::-webkit-scrollbar-track{background:transparent}.common-combobox__menu::-webkit-scrollbar-thumb{background-color:#d4d8dc;border-radius:3px}.common-combobox__option{padding:10px 12px;cursor:pointer;transition:background-color .15s ease;color:#333}.common-combobox__option:hover{background-color:#f4f6f7}.common-combobox__option--selected{background-color:#03c75a14;color:var(--brand-600, #02a34a);font-weight:500}.common-combobox__option--disabled{opacity:.5;cursor:not-allowed}.common-combobox__option--disabled:hover{background-color:transparent}.common-combobox__empty,.common-combobox__loading{padding:16px 12px;text-align:center;color:#9ca3af;font-size:14px}html.dark .common-dropdown__trigger{background-color:#1a1a1a;border-color:#333;color:#e5e5e5}html.dark .common-dropdown:focus .common-dropdown__trigger,html.dark .common-dropdown--open .common-dropdown__trigger{border-color:var(--brand-500, #03c75a);box-shadow:0 0 0 3px #03c75a26}html.dark .common-dropdown__trigger:hover:not(.common-dropdown--disabled .common-dropdown__trigger){border-color:#404040}html.dark .common-dropdown__selected{color:#e5e5e5}html.dark .common-dropdown__placeholder{color:#666}html.dark .common-dropdown__chevron{color:#888}html.dark .common-dropdown__menu{background-color:#1a1a1a;border-color:#333;box-shadow:0 4px 16px #0006}html.dark .common-dropdown__menu::-webkit-scrollbar-thumb{background-color:#404040}html.dark .common-dropdown__option{color:#e5e5e5}html.dark .common-dropdown__option:hover{background-color:#252525}html.dark .common-dropdown__option--selected{background-color:#03c75a1f;color:var(--brand-400, #04d160)}html.dark .common-dropdown__empty,html.dark .common-dropdown__loading{color:#666}html.dark .common-combobox__trigger{background-color:#1a1a1a;border-color:#333}html.dark .common-combobox--open .common-combobox__trigger,html.dark .common-combobox__trigger:focus-within{border-color:var(--brand-500, #03c75a);box-shadow:0 0 0 3px #03c75a26}html.dark .common-combobox__trigger:hover:not(.common-combobox--disabled .common-combobox__trigger){border-color:#404040}html.dark .common-combobox__search-icon{color:#666}html.dark .common-combobox__input{color:#e5e5e5}html.dark .common-combobox__input::placeholder{color:#666}html.dark .common-combobox__selected{color:#e5e5e5}html.dark .common-combobox__menu{background-color:#1a1a1a;border-color:#333;box-shadow:0 4px 16px #0006}html.dark .common-combobox__menu::-webkit-scrollbar-thumb{background-color:#404040}html.dark .common-combobox__option{color:#e5e5e5}html.dark .common-combobox__option:hover{background-color:#252525}html.dark .common-combobox__option--selected{background-color:#03c75a1f;color:var(--brand-400, #04d160)}html.dark .common-combobox__empty,html.dark .common-combobox__loading{color:#666}.common-dropdown-wrapper,.common-combobox-wrapper{display:inline-flex;flex-direction:column;gap:6px}.common-dropdown__label,.common-combobox__label{font-size:14px;font-weight:500;color:#333}.common-dropdown__required,.common-combobox__required{color:#dc3545;margin-left:2px}.common-dropdown--error .common-dropdown__trigger,.common-combobox--error .common-combobox__trigger{border-color:#dc3545}.common-dropdown__error,.common-combobox__error{font-size:12px;color:#dc3545}.common-dropdown__option--highlighted,.common-combobox__option--highlighted{background-color:#f4f6f7}html.dark .common-dropdown__option--highlighted,html.dark .common-combobox__option--highlighted{background-color:#2a2a2a}html.dark .common-dropdown__label,html.dark .common-combobox__label{color:#e5e5e5}.common-input-wrapper{display:inline-flex;flex-direction:column;gap:6px}.common-input-wrapper--full{width:100%}.common-input__label{font-size:14px;font-weight:500;color:#333}.common-input__container{display:flex;align-items:center;gap:8px;background-color:#fff;border:1px solid #d4d8dc;border-radius:8px;transition:all .2s ease}.common-input__container:focus-within{border-color:var(--brand-500, #03c75a);box-shadow:0 0 0 3px #03c75a1a}.common-input__container:hover:not(.common-input__container--disabled):not(:focus-within){border-color:#b0b8c0}.common-input__container--error{border-color:#dc3545}.common-input__container--error:focus-within{border-color:#dc3545;box-shadow:0 0 0 3px #dc35451a}.common-input__container--disabled{opacity:.5;background-color:#f8f9fa;cursor:not-allowed}.common-input__container--sm{height:32px;padding:0 10px}.common-input__container--md{height:40px;padding:0 12px}.common-input__container--lg{height:48px;padding:0 16px}.common-input{flex:1;border:none;outline:none;background:transparent;font-size:14px;color:#333;padding:0;width:100%}.common-input::placeholder{color:#9ca3af}.common-input:disabled{cursor:not-allowed}.common-input__container--sm .common-input{font-size:13px}.common-input__container--lg .common-input{font-size:15px}.common-input__icon{display:flex;align-items:center;justify-content:center;color:#9ca3af;flex-shrink:0}.common-input__icon svg{width:18px;height:18px}.common-input__container--sm .common-input__icon svg{width:16px;height:16px}.common-input__error{font-size:12px;color:#dc3545}.common-input__hint{font-size:12px;color:#6b7280}.common-textarea-wrapper{display:inline-flex;flex-direction:column;gap:6px}.common-textarea-wrapper--full{width:100%}.common-textarea__label{font-size:14px;font-weight:500;color:#333}.common-textarea{background-color:#fff;border:1px solid #d4d8dc;border-radius:8px;transition:all .2s ease;font-family:inherit;color:#333;width:100%;outline:none}.common-textarea:focus{border-color:var(--brand-500, #03c75a);box-shadow:0 0 0 3px #03c75a1a}.common-textarea:hover:not(:disabled):not(:focus){border-color:#b0b8c0}.common-textarea--error{border-color:#dc3545}.common-textarea--error:focus{border-color:#dc3545;box-shadow:0 0 0 3px #dc35451a}.common-textarea:disabled{opacity:.5;background-color:#f8f9fa;cursor:not-allowed}.common-textarea::placeholder{color:#9ca3af}.common-textarea--sm{padding:8px 10px;font-size:13px}.common-textarea--md{padding:10px 12px;font-size:14px}.common-textarea--lg{padding:12px 16px;font-size:15px}.common-textarea__error{font-size:12px;color:#dc3545}.common-textarea__hint{font-size:12px;color:#6b7280}html.dark .common-input__label{color:#e5e5e5}html.dark .common-input__container{background-color:#1a1a1a;border-color:#333}html.dark .common-input__container:focus-within{border-color:var(--brand-500, #03c75a);box-shadow:0 0 0 3px #03c75a26}html.dark .common-input__container:hover:not(.common-input__container--disabled):not(:focus-within){border-color:#404040}html.dark .common-input__container--error{border-color:#dc3545}html.dark .common-input__container--error:focus-within{box-shadow:0 0 0 3px #dc354526}html.dark .common-input__container--disabled{background-color:#252525}html.dark .common-input{color:#e5e5e5}html.dark .common-input::placeholder{color:#666}html.dark .common-input__icon{color:#666}html.dark .common-input__hint{color:#888}html.dark .common-textarea__label{color:#e5e5e5}html.dark .common-textarea{background-color:#1a1a1a;border-color:#333;color:#e5e5e5}html.dark .common-textarea:focus{border-color:var(--brand-500, #03c75a);box-shadow:0 0 0 3px #03c75a26}html.dark .common-textarea:hover:not(:disabled):not(:focus){border-color:#404040}html.dark .common-textarea--error{border-color:#dc3545}html.dark .common-textarea--error:focus{box-shadow:0 0 0 3px #dc354526}html.dark .common-textarea:disabled{background-color:#252525}html.dark .common-textarea::placeholder{color:#666}html.dark .common-textarea__hint{color:#888}.common-input__required,.common-textarea__required{color:#dc3545;margin-left:2px}.common-input__count,.common-textarea__count{font-size:12px;color:#6b7280;text-align:right}html.dark .common-input__count,html.dark .common-textarea__count{color:#888}.common-datepicker{position:relative;display:inline-flex;flex-direction:column}.common-datepicker--disabled{opacity:.5;cursor:not-allowed}.common-datepicker__trigger{display:flex;align-items:center;gap:6px;padding:8px 12px;background-color:#fff;border:1px solid #d4d8dc;border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:14px;color:#333;min-width:160px}.common-datepicker--open .common-datepicker__trigger,.common-datepicker__trigger:hover:not(.common-datepicker--disabled .common-datepicker__trigger){border-color:var(--brand-500, #03c75a)}.common-datepicker__icon{flex-shrink:0;color:#6b7280}.common-datepicker__value{flex:1}.common-datepicker__placeholder{flex:1;color:#9ca3af}.common-datepicker__chevron{flex-shrink:0;color:#6b7280;transition:transform .2s ease}.common-datepicker__chevron.open{transform:rotate(180deg)}.common-datepicker__dropdown{position:absolute;top:100%;left:0;z-index:1000;margin-top:4px;padding:12px;background-color:#fff;border:1px solid #e5e8eb;border-radius:12px;box-shadow:0 4px 16px #0000001f;min-width:280px;animation:datepicker-fade-in .15s ease}@keyframes datepicker-fade-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.common-datepicker__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.common-datepicker__nav{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;border-radius:6px;cursor:pointer;color:#6b7280;font-size:14px;transition:all .2s ease}.common-datepicker__nav:hover{background-color:#f4f6f7;color:#333}.common-datepicker__title{font-size:15px;font-weight:600;color:#333}.common-datepicker__weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:8px}.common-datepicker__weekdays span{display:flex;align-items:center;justify-content:center;height:32px;font-size:12px;font-weight:500;color:#6b7280}.common-datepicker__weekdays span.sunday{color:#dc3545}.common-datepicker__weekdays span.saturday{color:#06f}.common-datepicker__days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.common-datepicker__day{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:transparent;border-radius:8px;cursor:pointer;font-size:13px;color:#333;transition:all .15s ease}.common-datepicker__day:hover:not(.selected):not(.disabled){background-color:#f4f6f7}.common-datepicker__day.other-month{color:#c0c4c8}.common-datepicker__day.selected{background-color:var(--brand-500, #03c75a);color:#fff;font-weight:500}.common-datepicker__day.sunday:not(.selected){color:#dc3545}.common-datepicker__day.saturday:not(.selected){color:#06f}.common-datepicker__day.disabled{opacity:.4;cursor:not-allowed}.common-timepicker{position:relative;display:inline-flex;flex-direction:column}.common-timepicker--disabled{opacity:.5;cursor:not-allowed}.common-timepicker__trigger{display:flex;align-items:center;gap:6px;padding:8px 12px;background-color:#fff;border:1px solid #d4d8dc;border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:14px;color:#333;min-width:80px}.common-timepicker--open .common-timepicker__trigger,.common-timepicker__trigger:hover:not(.common-timepicker--disabled .common-timepicker__trigger){border-color:var(--brand-500, #03c75a)}.common-timepicker__icon{flex-shrink:0;color:#6b7280}.common-timepicker__value{flex:1}.common-timepicker__placeholder{flex:1;color:#9ca3af}.common-timepicker__popover{position:absolute;top:100%;left:0;z-index:1000;margin-top:4px;padding:12px;background-color:#fff;border:1px solid #e5e8eb;border-radius:12px;box-shadow:0 4px 16px #0000001f;min-width:160px;animation:datepicker-fade-in .15s ease}.common-timepicker__inputs{display:flex;align-items:center;gap:4px;margin-bottom:12px}.common-timepicker__input{width:50px;padding:8px;border:1px solid #d4d8dc;border-radius:6px;font-size:16px;text-align:center;outline:none}.common-timepicker__input:focus{border-color:var(--brand-500, #03c75a)}.common-timepicker__separator{font-size:18px;font-weight:500;color:#6b7280}.common-timepicker__actions{display:flex;gap:8px}.common-timepicker__btn{flex:1;padding:8px;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.common-timepicker__btn.cancel{background-color:#f4f6f7;color:#666}.common-timepicker__btn.cancel:hover{background-color:#e8eaeb}.common-timepicker__btn.save{background-color:var(--brand-500, #03c75a);color:#fff}.common-timepicker__btn.save:hover{background-color:var(--brand-600, #02a34a)}.common-datetimepicker{display:flex;flex-direction:column;gap:8px}.common-datetimepicker__label{font-size:14px;font-weight:500;color:#333}.common-datetimepicker__pickers{display:flex;gap:8px;align-items:flex-start}html.dark .common-datepicker__trigger{background-color:#1a1a1a;border-color:#333;color:#e5e5e5}html.dark .common-datepicker--open .common-datepicker__trigger,html.dark .common-datepicker__trigger:hover:not(.common-datepicker--disabled .common-datepicker__trigger){border-color:var(--brand-500, #03c75a)}html.dark .common-datepicker__icon{color:#888}html.dark .common-datepicker__placeholder{color:#666}html.dark .common-datepicker__chevron{color:#888}html.dark .common-datepicker__dropdown{background-color:#1a1a1a;border-color:#333;box-shadow:0 4px 16px #0006}html.dark .common-datepicker__nav{color:#888}html.dark .common-datepicker__nav:hover{background-color:#252525;color:#e5e5e5}html.dark .common-datepicker__title{color:#e5e5e5}html.dark .common-datepicker__weekdays span{color:#888}html.dark .common-datepicker__weekdays span.sunday{color:#ff6b6b}html.dark .common-datepicker__weekdays span.saturday{color:#4dabf7}html.dark .common-datepicker__day{color:#e5e5e5}html.dark .common-datepicker__day:hover:not(.selected):not(.disabled){background-color:#252525}html.dark .common-datepicker__day.other-month{color:#555}html.dark .common-datepicker__day.selected{background-color:var(--brand-500, #03c75a);color:#fff}html.dark .common-datepicker__day.sunday:not(.selected){color:#ff6b6b}html.dark .common-datepicker__day.saturday:not(.selected){color:#4dabf7}html.dark .common-timepicker__trigger{background-color:#1a1a1a;border-color:#333;color:#e5e5e5}html.dark .common-timepicker--open .common-timepicker__trigger,html.dark .common-timepicker__trigger:hover:not(.common-timepicker--disabled .common-timepicker__trigger){border-color:var(--brand-500, #03c75a)}html.dark .common-timepicker__icon{color:#888}html.dark .common-timepicker__placeholder{color:#666}html.dark .common-timepicker__popover{background-color:#1a1a1a;border-color:#333;box-shadow:0 4px 16px #0006}html.dark .common-timepicker__input{background-color:#252525;border-color:#404040;color:#e5e5e5}html.dark .common-timepicker__input:focus{border-color:var(--brand-500, #03c75a)}html.dark .common-timepicker__separator{color:#888}html.dark .common-timepicker__btn.cancel{background-color:#2a2a2a;color:#a0a0a0}html.dark .common-timepicker__btn.cancel:hover{background-color:#333}html.dark .common-datetimepicker__label{color:#e5e5e5}.common-badge{display:inline-flex;align-items:center;gap:4px;font-weight:500;border-radius:4px;white-space:nowrap;transition:all .2s ease}.common-badge--clickable{cursor:pointer}.common-badge--xs{padding:2px 6px;font-size:10px;border-radius:3px}.common-badge--sm{padding:3px 8px;font-size:11px}.common-badge--md{padding:4px 10px;font-size:12px}.common-badge__icon{display:flex;align-items:center;justify-content:center}.common-badge__icon svg{width:12px;height:12px}.common-badge--md .common-badge__icon svg{width:14px;height:14px}.common-badge--default{background-color:#f4f6f7;color:#666}.common-badge--primary{background-color:#03c75a1a;color:var(--brand-600, #02a34a)}.common-badge--success{background-color:#28a7451a;color:#28a745}.common-badge--warning{background-color:#ffc10726;color:#d4900b}.common-badge--error{background-color:#dc35451a;color:#dc3545}.common-badge--info{background-color:#007bff1a;color:#007bff}.common-badge--pending{background-color:#8c94a026;color:#6b7280}.common-badge--scheduled{background-color:#03c75a1a;color:var(--brand-600, #02a34a)}.common-badge--immediate{background-color:#007bff1a;color:#007bff}.common-badge--author{background-color:#03c75a1a;color:var(--brand-600, #02a34a)}.common-badge--realname{background-color:#007bff1a;color:#007bff}.common-badge--non-realname{background-color:#ff98001a;color:#ff9800}.common-badge--ai{background-color:#9c27b01a;color:#9c27b0}.common-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;font-size:11px;font-weight:600;line-height:1}.common-count-badge--primary{background-color:var(--brand-500, #03c75a);color:#fff}.common-count-badge--error{background-color:#dc3545;color:#fff}.common-count-badge--warning{background-color:#ffc107;color:#333}html.dark .common-badge--default{background-color:#2a2a2a;color:#a0a0a0}html.dark .common-badge--primary{background-color:#03c75a26;color:var(--brand-400, #04d160)}html.dark .common-badge--success{background-color:#28a74526;color:#4cce69}html.dark .common-badge--warning{background-color:#ffc10733;color:#ffc107}html.dark .common-badge--error{background-color:#dc354526;color:#ff6b6b}html.dark .common-badge--info{background-color:#007bff26;color:#4dabf7}html.dark .common-badge--pending{background-color:#8c94a033;color:#9ca3af}html.dark .common-badge--scheduled{background-color:#03c75a26;color:var(--brand-400, #04d160)}html.dark .common-badge--immediate{background-color:#007bff26;color:#4dabf7}html.dark .common-badge--author{background-color:#03c75a26;color:var(--brand-400, #04d160)}html.dark .common-badge--realname{background-color:#007bff26;color:#4dabf7}html.dark .common-badge--non-realname{background-color:#ff980026;color:#ffb84d}html.dark .common-badge--ai{background-color:#9c27b026;color:#ce93d8}button.common-badge{border:none;cursor:pointer;transition:transform .1s ease}button.common-badge:hover{transform:translateY(-1px)}button.common-badge:active{transform:translateY(0)}button.common-badge:focus-visible{outline:2px solid var(--brand-500, #03c75a);outline-offset:2px}.common-badge__dot{width:6px;height:6px;border-radius:50%;background-color:currentColor;display:inline-block;margin-right:4px}.common-badge--pulse,.common-count-badge--pulse{animation:badge-pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes badge-pulse{0%,to{opacity:1}50%{opacity:.7}}.common-count-badge{position:relative}.common-count-badge--pulse:after{content:"";position:absolute;inset:-2px;border-radius:inherit;background:currentColor;opacity:0;animation:count-badge-ping 1.5s cubic-bezier(0,0,.2,1) infinite}@keyframes count-badge-ping{75%,to{transform:scale(1.5);opacity:0}}.skeleton{display:inline-block;background-color:var(--neutral-800);border-radius:var(--radius-sm);position:relative;overflow:hidden;vertical-align:middle}html.dark .skeleton{background-color:var(--neutral-700)}.skeleton--text{transform:scaleY(.6);border-radius:var(--radius-sm);transform-origin:0 55%}.skeleton--text:before{content:" "}.skeleton--circular{border-radius:var(--radius-full)}.skeleton--rectangular{border-radius:0}.skeleton--rounded{border-radius:var(--radius-md)}.skeleton--pulse{animation:skeleton-pulse 1.5s ease-in-out infinite}.skeleton--wave{position:relative;overflow:hidden}.skeleton--wave:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);transform:translate(-100%);animation:skeleton-wave 1.5s ease-in-out infinite}html.dark .skeleton--wave:after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent)}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes skeleton-wave{0%{transform:translate(-100%)}60%{transform:translate(100%)}to{transform:translate(100%)}}.skeleton-text{display:flex;flex-direction:column;gap:var(--space-3);width:100%}.skeleton-avatar{display:flex;align-items:center;gap:var(--space-3)}.skeleton-avatar__label{flex:1}.skeleton-card{background-color:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:var(--radius-base);overflow:hidden;animation:fadeIn var(--duration-normal) var(--ease-out)}.skeleton-card__image{width:100%}.skeleton-card__content{padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}.skeleton-card__header{margin-bottom:var(--space-2)}.skeleton-table{background-color:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:var(--radius-base);overflow:hidden;animation:fadeIn var(--duration-normal) var(--ease-out)}.skeleton-table__header{display:grid;gap:var(--space-4);padding:var(--space-4) var(--space-6);background-color:var(--bg-tertiary);border-bottom:1px solid var(--border-secondary)}.skeleton-table__body{display:flex;flex-direction:column}.skeleton-table__row{display:grid;gap:var(--space-4);padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border-secondary)}.skeleton-table__row:last-child{border-bottom:none}.skeleton-table__header,.skeleton-table__row{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.skeleton-list{display:flex;flex-direction:column;gap:var(--space-4);animation:fadeIn var(--duration-normal) var(--ease-out)}.skeleton-list__item{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);background-color:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:var(--radius-md)}.skeleton-list__content{flex:1;display:flex;flex-direction:column;gap:var(--space-2)}@media (max-width: 480px){.skeleton-card__content{padding:var(--space-4)}.skeleton-table__header,.skeleton-table__row{padding:var(--space-3) var(--space-4);gap:var(--space-3)}.skeleton-list__item{padding:var(--space-3);gap:var(--space-3)}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;min-height:300px;text-align:center}.empty-state__icon{margin-bottom:24px;color:#9ca3af;display:flex;align-items:center;justify-content:center}.empty-state__icon svg{width:64px;height:64px;animation:empty-float 3s ease-in-out infinite}@keyframes empty-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.empty-state__title{font-size:18px;font-weight:600;color:#374151;margin:0 0 8px}.empty-state__message{font-size:14px;color:#6b7280;margin:0 0 24px;max-width:400px;line-height:1.5}.empty-state__action-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.empty-state__action-btn:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 6px #3b82f633}.empty-state__action-btn:active{transform:translateY(0)}.empty-state__content{margin-top:24px}.empty-state--search .empty-state__icon{color:#8b5cf6}.empty-state--document .empty-state__icon{color:#6366f1}.empty-state--folder .empty-state__icon{color:#f59e0b}.empty-state--image .empty-state__icon{color:#10b981}.empty-state--users .empty-state__icon{color:#ec4899}@media (prefers-color-scheme: dark){.empty-state__title{color:#f9fafb}.empty-state__message{color:#d1d5db}.empty-state__icon{color:#6b7280}}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;min-height:300px;text-align:center}.error-state__icon{margin-bottom:24px;color:#dc2626;display:flex;align-items:center;justify-content:center}.error-state--warning .error-state__icon{color:#ea580c}.error-state--network .error-state__icon{color:#9333ea}.error-state--notFound .error-state__icon{color:#6b7280}.error-state__icon svg{width:64px;height:64px;animation:error-pulse 2s ease-in-out infinite}@keyframes error-pulse{0%,to{opacity:1}50%{opacity:.6}}.error-state__title{font-size:20px;font-weight:600;color:#1f2937;margin:0 0 8px}.error-state__message{font-size:14px;color:#6b7280;margin:0 0 24px;max-width:500px;line-height:1.5}.error-state__details{margin:16px 0;max-width:600px;width:100%;text-align:left}.error-state__details summary{font-size:13px;color:#6b7280;cursor:pointer;padding:8px;background:#f9fafb;border-radius:6px;user-select:none}.error-state__details summary:hover{background:#f3f4f6}.error-state__details-content{margin:8px 0 0;padding:12px;background:#1f2937;color:#f9fafb;border-radius:6px;font-size:12px;font-family:Courier New,monospace;overflow-x:auto;white-space:pre-wrap;word-wrap:break-word}.error-state__retry-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.error-state__retry-btn:hover{background:#2563eb;transform:translateY(-1px)}.error-state__retry-btn:active{transform:translateY(0)}.error-state__retry-btn svg{width:20px;height:20px}@media (prefers-color-scheme: dark){.error-state__title{color:#f9fafb}.error-state__message{color:#d1d5db}.error-state__details summary{background:#374151;color:#d1d5db}.error-state__details summary:hover{background:#4b5563}}.export-button-container{position:relative;display:inline-block}.export-button{display:inline-flex;align-items:center;gap:6px;font-weight:500;border-radius:6px;cursor:pointer;transition:all .15s ease;white-space:nowrap}.export-button:disabled{cursor:not-allowed;opacity:.5}.export-button--sm{padding:6px 10px;font-size:12px}.export-button--sm .export-button__icon{width:14px;height:14px}.export-button--md{padding:8px 14px;font-size:13px}.export-button--lg{padding:10px 18px;font-size:14px}.export-button--lg .export-button__icon{width:18px;height:18px}.export-button--primary{background:#03c75a;color:#fff;border:1px solid #03C75A}.export-button--primary:hover:not(:disabled){background:#02b050;border-color:#02b050}.export-button--secondary{background:#f8f9fa;color:#495057;border:1px solid #dee2e6}.export-button--secondary:hover:not(:disabled){background:#e9ecef;border-color:#ced4da}.export-button--outline{background:transparent;color:#495057;border:1px solid #ced4da}.export-button--outline:hover:not(:disabled){background:#f8f9fa;border-color:#adb5bd}.export-button__icon{flex-shrink:0}.export-button__text{flex:1}.export-button__arrow{flex-shrink:0;transition:transform .2s ease}.export-button__arrow.open{transform:rotate(180deg)}.export-button__spinner{width:14px;height:14px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:export-spin .8s linear infinite}@keyframes export-spin{to{transform:rotate(360deg)}}.export-dropdown{position:absolute;top:100%;right:0;margin-top:4px;min-width:180px;background:#fff;border:1px solid #dee2e6;border-radius:8px;box-shadow:0 4px 12px #0000001a;z-index:1000;padding:4px;animation:export-dropdown-enter .15s ease}@keyframes export-dropdown-enter{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.export-dropdown__item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;font-size:13px;color:#495057;background:transparent;border:none;border-radius:6px;cursor:pointer;transition:background-color .15s ease;text-align:left}.export-dropdown__item:hover{background:#f8f9fa}.export-dropdown__item:focus{outline:none;background:#e9ecef}.export-dropdown__item svg{flex-shrink:0;color:#6c757d}.export-dropdown__item:hover svg{color:#495057}@media (prefers-color-scheme: dark){.export-button--secondary{background:#2d2d2d;color:#e9ecef;border-color:#404040}.export-button--secondary:hover:not(:disabled){background:#3d3d3d;border-color:#505050}.export-button--outline{color:#e9ecef;border-color:#505050}.export-button--outline:hover:not(:disabled){background:#2d2d2d;border-color:#606060}.export-dropdown{background:#2d2d2d;border-color:#404040;box-shadow:0 4px 12px #0000004d}.export-dropdown__item{color:#e9ecef}.export-dropdown__item:hover{background:#3d3d3d}.export-dropdown__item:focus{background:#404040}.export-dropdown__item svg{color:#adb5bd}}.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}}.notification-modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.notification-modal{background:#1a1a1a;border:1px solid #333;border-radius:12px;width:90%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 40px #00000080}.notification-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #333}.notification-modal-title-row{display:flex;align-items:center;gap:12px}.notification-modal-title-row h2{font-size:18px;font-weight:700;color:#fff;margin:0}.notification-modal-close{background:transparent;border:none;font-size:24px;color:#666;cursor:pointer;line-height:1;padding:4px}.notification-modal-close:hover{color:#fff}.notification-modal-actions{display:flex;align-items:center;gap:12px;padding:12px 24px;border-bottom:1px solid #2a2a2a}.notification-modal-body{flex:1;overflow-y:auto;padding:16px 24px}.notification-modal-loading{display:flex;align-items:center;justify-content:center;padding:60px 0}.notification-modal-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#666}.notification-modal-empty svg{margin-bottom:16px;opacity:.5}.notification-modal-empty p{margin:0;font-size:14px}.notification-modal-list{display:flex;flex-direction:column;gap:12px}.unread-badge{display:inline-block;padding:4px 10px;background:#4da3ff26;color:#4da3ff;border-radius:12px;font-size:13px;font-weight:500}.filter-checkbox{display:flex;align-items:center;gap:6px;color:#888;font-size:13px;cursor:pointer}.filter-checkbox input{accent-color:#4da3ff}.action-btn{padding:8px 16px;background:#333;border:1px solid #444;border-radius:8px;color:#e0e0e0;font-size:13px;cursor:pointer;transition:all .15s ease}.action-btn:hover{background:#404040;border-color:#555}.action-btn.danger{background:#f43f5e26;border-color:#f43f5e4d;color:#f43f5e}.action-btn.danger:hover{background:#f43f5e40;border-color:#f43f5e80}.notification-card{display:flex;align-items:flex-start;gap:16px;padding:16px 20px;background:#252525;border:1px solid #333;border-radius:12px;transition:all .15s ease}.notification-card.unread{background:#2a2a2a;border-color:#4da3ff4d}.notification-card:hover{background:#2d2d2d}.notification-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;font-size:16px;font-weight:600;flex-shrink:0}.notification-icon.type-success{background:#22c55e26;color:#4ade80}.notification-icon.type-warning{background:#fbbf2426;color:#fbbf24}.notification-icon.type-error{background:#f43f5e26;color:#f43f5e}.notification-icon.type-info{background:#4da3ff26;color:#4da3ff}.notification-content{flex:1;min-width:0}.notification-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.notification-title{font-size:14px;font-weight:600;color:#fff}.notification-time{font-size:12px;color:#666;flex-shrink:0;margin-left:12px}.notification-message{margin:0;font-size:13px;color:#aaa;line-height:1.5}.notification-link{display:inline-block;margin-top:8px;font-size:13px;color:#4da3ff;text-decoration:none}.notification-link:hover{text-decoration:underline}.notification-delete{padding:4px 8px;background:transparent;border:none;color:#666;font-size:18px;cursor:pointer;border-radius:4px;transition:all .15s ease}.notification-delete:hover{background:#f43f5e26;color:#f43f5e}@media (max-width: 640px){.notification-modal{width:95%;max-height:90vh}.notification-modal-header{padding:16px 20px}.notification-modal-actions{flex-wrap:wrap;padding:12px 20px}.notification-modal-body{padding:12px 20px}.notification-card{padding:12px 16px}.notification-icon{width:32px;height:32px;font-size:14px}.notification-title-row{flex-direction:column;align-items:flex-start;gap:4px}.notification-time{margin-left:0}}.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}: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-page{padding:24px 24px 24px 16px;width:100%;display:flex;flex-direction:column;gap:16px;min-width:0;font-family:Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif}.cafe-join-page *{font-family:inherit}.cafe-join-page .page-tabs{display:flex;gap:24px;border-bottom:1px solid #e8e8e8;margin-bottom:8px}.cafe-join-page .page-tab{padding:12px 48px;font-size:15px;font-weight:600;color:#888;background:none;border:none;cursor:pointer;position:relative;transition:color .2s}.cafe-join-page .page-tab:hover{color:#333}.cafe-join-page .page-tab.active{color:#2196f3}.cafe-join-page .page-tab.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:#2196f3}.cafe-join-page .info-notice-box{background:#f2f7ff;border-radius:8px;padding:12px 20px;display:flex;flex-direction:column}.cafe-join-page .notice-item{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid #c5d4e8}.cafe-join-page .notice-item svg{flex-shrink:0}.cafe-join-page .notice-text{font-size:14px;color:#333;line-height:1.5;margin:0}.cafe-join-page .cafe-list-section{background:#fff;border:1px solid #e8e8e8;border-radius:8px;padding:20px 24px}.cafe-join-page .cafe-list-header{display:flex;justify-content:space-between;gap:24px}.cafe-join-page .header-column{display:flex;flex-direction:column;width:46%}.cafe-join-page .column-title-row{display:flex;align-items:center;gap:4px}.cafe-join-page .column-title{font-size:18px;font-weight:600;color:#1a1a1a;margin:0}.cafe-join-page .settings-icon-btn{display:flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;padding:4px;margin-left:8px}.cafe-join-page .settings-icon-btn:hover svg path{fill:#333}.cafe-join-page .cafe-select-wrapper{position:relative;margin-top:24px}.cafe-join-page .cafe-select{display:flex;align-items:center;gap:12px;padding:0 0 12px;height:40px;background:transparent;border:none;border-bottom:1px solid #e0e4e6;border-radius:0;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.cafe-join-page .cafe-select:hover{border-bottom-color:#36ad6a}.cafe-join-page .cafe-select.open{border-bottom-color:#18a058}.cafe-join-page .cafe-select .search-icon{flex-shrink:0}.cafe-join-page .cafe-select .select-display{flex:1;min-width:0}.cafe-join-page .cafe-select .select-display span{font-size:14px;color:#333;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cafe-join-page .cafe-select .select-display span.placeholder{color:#c2c2c2}.cafe-join-page .cafe-select .arrow-icon{width:16px;height:16px;color:#c2c2c2;flex-shrink:0;transition:transform .2s}.cafe-join-page .cafe-select .arrow-icon.open{transform:rotate(180deg)}.cafe-join-page .select-cafe-image{width:24px;height:24px;border-radius:50%;object-fit:cover;flex-shrink:0;background:#fff}.cafe-join-page .cafe-dropdown-list{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:9999;background:#fff;border:1px solid #e0e4e6;border-radius:8px;box-shadow:0 4px 12px #00000026;max-height:400px;overflow-y:auto;padding:4px 0}.cafe-join-page .cafe-dropdown-item{display:flex;align-items:center;gap:10px;padding:8px 12px;cursor:pointer;transition:background .15s}.cafe-join-page .cafe-dropdown-item:hover,.cafe-join-page .cafe-dropdown-item.active{background:#f5f5f5}.cafe-join-page .item-image{width:24px;height:24px;border-radius:50%;object-fit:cover;flex-shrink:0;background:#fff}.cafe-join-page .item-name{flex:1;font-size:13px;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cafe-join-page .cafe-dropdown-item.active .item-name{color:#333;font-weight:400}.cafe-join-page .item-count{font-size:12px;color:#898d8f;flex-shrink:0}.cafe-join-page .cafe-dropdown-empty,.cafe-join-page .cafe-dropdown-loading{padding:20px;text-align:center;font-size:14px;color:#898d8f}.cafe-join-page .filter-area{display:flex;flex-direction:column;gap:12px;margin-top:24px}.cafe-join-page .period-buttons{display:flex;gap:16px}.cafe-join-page .period-btn{width:110px;height:40px;padding:16px 32px;font-size:16px;font-weight:400;color:#898d8f;background:#fff;border:1px solid #e8ebeb;border-radius:4px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.cafe-join-page .period-btn:hover{border-color:#18a058;color:#18a058}.cafe-join-page .period-btn.active{background:#18a058;border-color:#18a058;color:#fff}.cafe-join-page .checkbox-label{display:flex;align-items:center;gap:8px;font-size:14px;color:#898d8f;cursor:pointer;width:110px}.cafe-join-page .checkbox-label input[type=checkbox]{width:16px;height:16px;border:1px solid #e0e4e6;border-radius:2px;accent-color:#18a058}.cafe-join-page .data-timestamp{font-size:15px;color:#898d8f;margin:16px 0 0;background:transparent}.cafe-join-page .btn-cafe-join{align-self:flex-start;padding:10px 24px;font-size:14px;font-weight:600;color:#fff;background:#03c75a;border:none;border-radius:6px;cursor:pointer;transition:all .2s;margin-top:16px}.cafe-join-page .btn-cafe-join:hover{background:#02b351}.cafe-join-page .manual-join-section{background:#fff;border:1px solid #e8e8e8;border-radius:8px;padding:20px}.cafe-join-page .manual-join-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #e8e8e8}.cafe-join-page .manual-join-header h3{font-size:16px;font-weight:600;color:#1a1a1a;margin:0}.cafe-join-page .close-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:6px;cursor:pointer;color:#888;transition:all .2s}.cafe-join-page .close-btn:hover{background:#f0f0f0;color:#333}.cafe-join-page .close-btn svg{width:18px;height:18px}.cafe-join-page .section-label{font-size:13px;font-weight:600;color:#333;margin-bottom:8px;display:block}.cafe-join-page .search-section{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.cafe-join-page .search-input-wrapper{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#f8f8f8;border:1px solid #e0e0e0;border-radius:8px;transition:all .2s}.cafe-join-page .search-input-wrapper:focus-within{background:#fff;border-color:#03c75a;box-shadow:0 0 0 3px #03c75a1a}.cafe-join-page .search-input-wrapper svg{width:18px;height:18px;color:#999;flex-shrink:0}.cafe-join-page .search-input-wrapper input{flex:1;border:none;background:none;font-size:14px;color:#333;outline:none}.cafe-join-page .search-input-wrapper input::placeholder{color:#aaa}.cafe-join-page .search-results{max-height:300px;overflow-y:auto;border:1px solid #e8e8e8;border-radius:8px;background:#fff}.cafe-join-page .search-result-item{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;transition:background .2s;border-bottom:1px solid #f0f0f0}.cafe-join-page .search-result-item:last-child{border-bottom:none}.cafe-join-page .search-result-item:hover{background:#f8f8f8}.cafe-join-page .cafe-thumb{width:40px;height:40px;border-radius:50%;object-fit:cover;flex-shrink:0;background:#fff}.cafe-join-page .cafe-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.cafe-join-page .cafe-name{font-size:14px;font-weight:500;color:#1a1a1a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cafe-join-page .cafe-members{font-size:12px;color:#888}.cafe-join-page .selected-cafe{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#03c75a0d;border:1px solid rgba(3,199,90,.2);border-radius:8px}.cafe-join-page .btn-change{padding:6px 12px;font-size:12px;font-weight:500;color:#666;background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;transition:all .2s}.cafe-join-page .btn-change:hover{border-color:#03c75a;color:#03c75a}.cafe-join-page .accounts-section{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.cafe-join-page .accounts-section .section-header{display:flex;align-items:center;justify-content:space-between}.cafe-join-page .btn-text{padding:0;font-size:13px;font-weight:500;color:#03c75a;background:none;border:none;cursor:pointer}.cafe-join-page .btn-text:hover{text-decoration:underline}.cafe-join-page .loading-inline{display:flex;align-items:center;gap:10px;padding:16px;color:#888;font-size:13px}.cafe-join-page .account-grid{display:flex;flex-wrap:wrap;gap:8px}.cafe-join-page .account-chip{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f8f8f8;border:1px solid #e0e0e0;border-radius:6px;cursor:pointer;transition:all .2s}.cafe-join-page .account-chip:hover:not(.disabled){background:#f0f0f0}.cafe-join-page .account-chip.selected{background:#03c75a0d;border-color:#03c75a}.cafe-join-page .account-chip.disabled{opacity:.5;cursor:not-allowed}.cafe-join-page .chip-checkbox{width:16px;height:16px;display:flex;align-items:center;justify-content:center;background:#fff;border:2px solid #ddd;border-radius:3px;flex-shrink:0}.cafe-join-page .account-chip.selected .chip-checkbox{background:#03c75a;border-color:#03c75a}.cafe-join-page .chip-checkbox svg{width:12px;height:12px;color:#fff}.cafe-join-page .chip-id{font-size:13px;font-weight:500;color:#333}.cafe-join-page .chip-status{font-size:11px;padding:2px 6px;background:#f0f0f0;color:#888;border-radius:10px}.cafe-join-page .chip-status.available{background:#03c75a1a;color:#03c75a}.cafe-join-page .settings-section{display:flex;flex-direction:column;gap:16px;padding-top:16px;border-top:1px solid #e8e8e8}.cafe-join-page .setting-row{display:flex;align-items:center;gap:16px}.cafe-join-page .setting-row .section-label{width:100px;margin-bottom:0;flex-shrink:0}.cafe-join-page .radio-group{display:flex;gap:8px}.cafe-join-page .radio-item{display:flex;align-items:center;padding:8px 16px;background:#f8f8f8;border:1px solid #e0e0e0;border-radius:6px;cursor:pointer;transition:all .2s;font-size:13px;color:#333}.cafe-join-page .radio-item:hover{background:#f0f0f0}.cafe-join-page .radio-item.selected{background:#03c75a0d;border-color:#03c75a;color:#03c75a}.cafe-join-page .radio-item input{display:none}.cafe-join-page .btn-submit{align-self:flex-start;margin-top:8px}.cafe-join-page .table-wrapper{background:transparent;border:none;border-radius:0;overflow-y:auto;margin-top:16px;max-height:calc(100vh - 400px)}.cafe-join-page .data-grid{width:100%;font-family:NanumSquareNeo,Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif}.cafe-join-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}.cafe-join-page .data-grid-header span{height:38px;align-items:center}.cafe-join-page .data-grid-header .header-text{font-size:14px;font-weight:600;font-family:NanumSquareNeo,sans-serif;color:#333639;margin:0}.cafe-join-page .data-grid-body{display:flex;flex-direction:column}.cafe-join-page .data-grid-row{display:flex;align-items:center;padding:8px 0;transition:background .15s ease}.cafe-join-page .data-grid-row:hover{background:#fafafa}.cafe-join-page .data-grid-cell{padding:0 8px;display:flex;align-items:center;min-width:0}.cafe-join-page .data-grid-cell .cell-inner{width:94%;max-width:94%}.cafe-join-page .data-grid-cell .cell-ellipsis{display:block;max-width:100%;padding:4px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cafe-join-page .data-grid-cell .cell-ellipsis span{font-size:12px;color:#898d8f;font-weight:400;font-family:NanumSquareNeo,sans-serif}.cafe-join-page .data-grid-cell .cell-ellipsis .status-text.failed{color:#d8340b!important;font-weight:400}.cafe-join-page .data-grid-cell .cell-content{width:94%;max-width:94%}.cafe-join-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%}.cafe-join-page .data-grid-cell.col-status,.cafe-join-page .data-grid-cell.col-request-date,.cafe-join-page .data-grid-cell.col-join-date{width:10.3%;flex-shrink:0}.cafe-join-page .data-grid-cell.col-image{width:6.8%;flex-shrink:0}.cafe-join-page .data-grid-cell.col-cafe-name{width:20.6%;flex-shrink:0}.cafe-join-page .data-grid-cell.col-account{width:10.3%;flex-shrink:0}.cafe-join-page .data-grid-cell.col-nickname{width:12%;flex-shrink:0}.cafe-join-page .data-grid-cell.col-sync-at{width:10.3%;flex-shrink:0}.cafe-join-page .table-cafe-thumb{width:36px;height:36px;border-radius:50%;object-fit:cover;background:#fff}.cafe-join-page .sync-at-cell{display:flex;align-items:center;gap:8px}.cafe-join-page .table-refresh-btn{background:none;border:none;color:#999;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.cafe-join-page .table-refresh-btn:hover{color:#666;background:#f0f0f0}.cafe-join-page .table-refresh-btn:disabled{cursor:not-allowed}.cafe-join-page .table-refresh-btn.spinning svg{animation:cafe-join-spin 1s linear infinite}.cafe-join-page .cafe-name-cell{max-width:250px}.cafe-join-page .ellipsis{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cafe-join-page .status-text{font-size:12px;font-weight:400;font-family:NanumSquareNeo,sans-serif;color:#898d8f}.cafe-join-page .status-text.completed{color:#898d8f}.cafe-join-page .status-text.approval{color:#2196f3}.cafe-join-page .status-text.pending{color:#898d8f}.cafe-join-page .status-text.failed{color:#d8340b;font-weight:400}.cafe-join-page .status-text.default{color:#898d8f}.cafe-join-page .tooltip-wrapper{position:relative;cursor:help}.cafe-join-page .tooltip-wrapper .tooltip-text,.cafe-join-page .tooltip-wrapper .tooltip-text *{visibility:hidden;opacity:0;position:absolute;bottom:100%;left:0;background:#333;color:#fff!important;padding:10px 12px;border-radius:4px;font-size:12px;white-space:nowrap;z-index:9999;transition:opacity .2s,visibility .2s;pointer-events:none;margin-bottom:6px}.cafe-join-page .tooltip-wrapper .tooltip-text:after{content:"";position:absolute;top:100%;left:12px;border:5px solid transparent;border-top-color:#333}.cafe-join-page .data-grid-cell.col-status,.cafe-join-page .data-grid-cell.col-sync-at,.cafe-join-page .data-grid-cell.col-status .cell-inner,.cafe-join-page .data-grid-cell.col-sync-at .cell-inner,.cafe-join-page .data-grid-cell.col-status .cell-ellipsis,.cafe-join-page .data-grid-cell.col-sync-at .cell-ellipsis,.cafe-join-page .sync-at-cell{overflow:visible}.cafe-join-page .tooltip-wrapper:hover .tooltip-text{visibility:visible;opacity:1}.cafe-join-page .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:500;border-radius:6px;cursor:pointer;transition:all .2s;border:none}.cafe-join-page .btn-primary{background:#03c75a;color:#fff}.cafe-join-page .btn-primary:hover:not(:disabled){background:#02b351}.cafe-join-page .btn:disabled{opacity:.5;cursor:not-allowed}.cafe-join-page .spinner-sm{width:16px;height:16px;border:2px solid #e8e8e8;border-top-color:#03c75a;border-radius:50%;animation:cafe-join-spin .8s linear infinite}.cafe-join-page .empty-state,.cafe-join-page .loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.cafe-join-page .empty-state svg{width:48px;height:48px;color:#ccc;margin-bottom:16px}.cafe-join-page .empty-state p,.cafe-join-page .loading-state span{font-size:14px;color:#888;margin:0}.cafe-join-page .loading-state .spinner{width:32px;height:32px;border:3px solid #e8e8e8;border-top-color:#03c75a;border-radius:50%;animation:cafe-join-spin 1s linear infinite;margin-bottom:12px}@keyframes cafe-join-spin{to{transform:rotate(360deg)}}.cafe-join-page .toast{position:fixed;bottom:24px;right:24px;padding:14px 20px;background:#333;color:#fff;border-radius:8px;box-shadow:0 4px 20px #0003;animation:cafe-join-toastIn .15s ease-out;z-index:1000}.cafe-join-page .toast-success{background:#28a745}.cafe-join-page .toast-error{background:#dc3545}.cafe-join-page .toast-warning{background:#ffc107;color:#333}@keyframes cafe-join-toastIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.cafe-join-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, #fff);padding:4px}.cafe-join-page .nickname-edit-input{padding:8px 12px;border:1.5px solid #c1c4c6;border-radius:8px;font-size:12px;width:160px;height:36px;outline:none;box-sizing:border-box;color:var(--text-primary, #333);background:var(--bg-primary, #fff)}.cafe-join-page .nickname-edit-input:focus{border-color:#2196f3}.cafe-join-page .nickname-edit-cell svg{color:#6e7375;transition:color .2s}.cafe-join-page .nickname-edit-cell svg:hover{color:var(--text-primary, #333)}.cafe-join-page .nickname-cell{display:flex;align-items:center;gap:6px}.cafe-join-page .nickname-cell svg{color:#6e7375;transition:color .2s}.cafe-join-page .nickname-cell svg:hover{color:#333}.cafe-join-page .nickname-text{font-size:13px;color:var(--text-primary, #333)}@media (max-width: 1024px){.cafe-join-page .cafe-list-header{flex-direction:column;height:auto}.cafe-join-page .header-column{width:100%;margin-bottom:16px}.cafe-join-page .filter-area{margin-top:12px}}@media (max-width: 768px){.cafe-join-page{padding:16px;min-width:0}.cafe-join-page .period-buttons{flex-wrap:wrap;gap:8px}.cafe-join-page .period-btn{width:auto;min-width:80px;padding:8px 16px;font-size:14px}.cafe-join-page .setting-row{flex-direction:column;align-items:flex-start;gap:8px}.cafe-join-page .setting-row .section-label{width:auto}.cafe-join-page .data-table th,.cafe-join-page .data-table td{padding:10px 12px;font-size:12px}}.join-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.join-modal{background:#f5f5f5;border-radius:12px;width:90%;max-width:850px;max-height:90vh;display:flex;flex-direction:column;position:relative;padding:32px 40px}.join-modal.compact{min-height:auto}.join-modal.compact .join-modal-content{min-height:100px}.join-modal-close{position:absolute;top:20px;right:20px;background:none;border:none;cursor:pointer;color:#999;padding:4px}.join-modal-close:hover{color:#333}.join-modal-title{font-size:20px;font-weight:600;color:#333;margin:0 0 16px}.join-modal-progress{display:flex!important;gap:8px;margin-bottom:32px;width:100%;height:4px;min-height:4px;flex-shrink:0}.progress-step{flex:1;height:4px!important;min-height:4px!important;background-color:#d0d0d0!important;border-radius:2px;display:block}.progress-step.active{background-color:#2196f3!important}.join-modal-content{flex:1;overflow-y:auto}.modal-search-section{display:flex;align-items:center;gap:16px;margin-bottom:24px}.modal-search-label{font-size:15px;font-weight:500;color:#333;white-space:nowrap}.modal-search-row{flex:1;display:flex;gap:12px}.modal-search-input-wrapper{flex:1;display:flex;align-items:center;gap:12px;padding:8px 16px;border:1px solid #e8e8e8;border-radius:8px;background:transparent}.modal-search-input-wrapper:focus-within{border-color:#e8e8e8;outline:none}.modal-search-input-wrapper input{flex:1;border:none!important;outline:none!important;box-shadow:none!important;font-size:14px;color:#333;background:transparent}.modal-search-input-wrapper input:focus{border:none!important;outline:none!important;box-shadow:none!important}.modal-search-input-wrapper input::placeholder{color:#999}.modal-search-btn{padding:12px 28px;background:#a8d4ff;color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:background-color .2s}.modal-search-btn:hover:not(:disabled){background:#2196f3}.modal-search-btn:disabled{opacity:.6;cursor:not-allowed}.modal-search-results{display:flex;flex-direction:column;gap:12px;max-height:400px;overflow-y:auto}.modal-cafe-card{display:flex;align-items:center;gap:16px;padding:10px 20px;border:1px solid #e8e8e8;border-radius:8px;cursor:pointer}.modal-cafe-card.selected{border-color:#999}.modal-cafe-card.dimmed{opacity:.5}.modal-cafe-checkbox{width:20px;height:20px;border:2px solid #ddd;border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.modal-cafe-card.selected .modal-cafe-checkbox{background:#333;border-color:#333}.modal-cafe-image{width:56px;height:56px;border-radius:50%;object-fit:cover;flex-shrink:0;background:#fff}.modal-cafe-info{flex:1;min-width:0}.modal-cafe-name{font-size:15px;font-weight:600;color:#333;margin-bottom:4px}.modal-cafe-name .highlight{color:#2196f3}.modal-cafe-desc{font-size:13px;color:#666;margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.modal-cafe-meta{display:flex;font-size:13px;color:#888;margin-bottom:4px}.modal-cafe-meta span:first-child{width:320px;flex-shrink:0}.modal-cafe-meta strong{color:#333;font-weight:500}.modal-cafe-url{font-size:13px;color:#888}.modal-cafe-url strong{color:#333;font-weight:500}.modal-cafe-url a{color:#2196f3;text-decoration:none;margin-left:4px}.modal-cafe-url a:hover{text-decoration:underline}.modal-selected-cafe-row{display:flex;align-items:center;gap:24px;padding-bottom:16px;border-bottom:1px solid #e8e8e8;margin-bottom:16px}.modal-label{font-size:15px;font-weight:600;color:#333}.modal-value{font-size:15px;color:#666}.modal-account-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.modal-account-title{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:600;color:#333}.modal-link-btn{background:none;border:none;color:#2196f3;font-size:13px;cursor:pointer;padding:0}.modal-link-btn:hover{text-decoration:underline}.modal-account-search{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid #e8e8e8;border-radius:6px;background:transparent}.modal-account-search input{border:none;outline:none;font-size:13px;color:#333;background:transparent;width:160px}.modal-account-search input::placeholder{color:#999}.modal-account-hint{font-size:13px;color:#888;margin:0 0 12px}.modal-account-count{font-size:13px;color:#888;text-align:right;margin-bottom:8px}.modal-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;gap:12px;color:#888}.modal-account-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;max-height:320px;overflow-y:auto}.modal-account-item{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid #e8e8e8;border-radius:6px;cursor:pointer;background:#fff;position:relative}.modal-account-item:hover{border-color:#ccc}.modal-account-item.selected{border-color:#999}.modal-account-item.disabled{opacity:.5;cursor:not-allowed}.modal-account-checkbox{width:16px;height:16px;border:2px solid #ddd;border-radius:3px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.modal-account-item.selected .modal-account-checkbox{background:#333;border-color:#333}.modal-account-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.modal-account-id{font-size:15px;font-weight:500;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modal-account-status{font-size:13px;color:#888}.modal-account-right{position:absolute;right:8px;bottom:6px;display:flex;flex-direction:column;align-items:flex-end;gap:2px}.modal-account-badge{font-size:11px;color:#ff6b35;border:1px solid #ff6b35;border-radius:4px;padding:2px 6px;flex-shrink:0}.modal-account-refresh{background:none;border:none;color:#999;cursor:pointer;padding:2px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.modal-account-refresh:hover{color:#666}.modal-account-refresh:disabled{cursor:not-allowed}.modal-account-refresh.spinning svg{animation:spin 1s linear infinite}.modal-settings-section{display:flex;flex-direction:column;gap:20px;margin-top:24px}.modal-setting-row{display:flex;align-items:center;gap:24px}.modal-setting-label{font-size:14px;font-weight:600;color:#333;width:120px;flex-shrink:0}.modal-radio-group{display:flex;gap:8px}.modal-radio-item{display:flex;align-items:center;padding:10px 20px;background:#f8f8f8;border:1px solid #e0e0e0;border-radius:6px;cursor:pointer;transition:all .2s;font-size:14px;color:#333}.modal-radio-item:hover{background:#f0f0f0}.modal-radio-item.selected{background:#2196f31a;border-color:#2196f3;color:#2196f3}.modal-radio-item input{display:none}.join-modal-footer{display:flex;gap:16px;margin-top:32px;padding-top:24px}.modal-btn-cancel,.modal-btn-next{flex:1;padding:16px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.modal-btn-cancel{background:#e8e8e8;color:#888;border:none}.modal-btn-cancel:hover{background:#ddd;color:#666}.modal-btn-next{background:#a8d4ff;color:#fff;border:none}.modal-btn-next:disabled{opacity:.6;cursor:not-allowed}.modal-btn-next.active{background:#2196f3}.modal-btn-next.active:hover{background:#1976d2}html.dark .cafe-join-page .cafe-list-section,html.dark .cafe-join-page .manual-join-section{background:transparent;border-color:#444}html.dark .cafe-join-page .table-wrapper{background:transparent;border-color:transparent}html.dark .cafe-join-page .page-tabs{border-bottom-color:var(--border-primary, #333)}html.dark .cafe-join-page .page-tab{color:var(--text-tertiary, #888)}html.dark .cafe-join-page .page-tab:hover{color:var(--text-secondary, #aaa)}html.dark .cafe-join-page .page-tab.active{color:#2196f3}html.dark .cafe-join-page .info-notice-box{background:#28324680}html.dark .cafe-join-page .notice-item{border-bottom-color:var(--border-primary, #333)}html.dark .cafe-join-page .notice-item svg path{stroke:var(--text-secondary, #aaa)}html.dark .cafe-join-page .notice-text{color:var(--text-secondary, #aaa)}html.dark .cafe-join-page .column-title{color:var(--text-primary, #fafafa)}html.dark .cafe-join-page .settings-icon-btn svg path{fill:var(--text-tertiary, #888)}html.dark .cafe-join-page .settings-icon-btn:hover svg path{fill:var(--text-primary, #fafafa)}html.dark .cafe-join-page .cafe-select{background:transparent;border-bottom-color:var(--border-primary, #333)}html.dark .cafe-join-page .cafe-select:hover{border-bottom-color:#36ad6a}html.dark .cafe-join-page .cafe-select.open{border-bottom-color:#18a058}html.dark .cafe-join-page .cafe-select .select-display span{color:var(--text-primary, #fafafa)}html.dark .cafe-join-page .cafe-select .select-display span.placeholder,html.dark .cafe-join-page .cafe-select .arrow-icon{color:var(--text-tertiary, #666)}html.dark .cafe-join-page .select-cafe-image{background:var(--bg-tertiary, #3d3d3d)}html.dark .cafe-join-page .cafe-dropdown-list{background:var(--card-bg, #252525);border-color:var(--border-primary, #333);box-shadow:0 4px 16px #0006}html.dark .cafe-join-page .cafe-dropdown-item{background:var(--card-bg, #252525)}html.dark .cafe-join-page .cafe-dropdown-item:hover{background:var(--bg-secondary, #2d2d2d)}html.dark .cafe-join-page .cafe-dropdown-item.active{background:#18a05826}html.dark .cafe-join-page .cafe-dropdown-item.active .item-name,html.dark .cafe-join-page .item-name{color:var(--text-primary, #fafafa)}html.dark .cafe-join-page .item-count{color:var(--text-tertiary, #888)}html.dark .cafe-join-page .item-image{background:var(--bg-tertiary, #3d3d3d)}html.dark .cafe-join-page .cafe-dropdown-loading{background:var(--card-bg, #252525);color:var(--text-tertiary, #888)}html.dark .cafe-join-page .data-timestamp{color:var(--text-tertiary, #888)}html.dark .cafe-join-page .period-btn{background:var(--card-bg, #252525);border-color:var(--border-primary, #333);color:var(--text-secondary, #aaa)}html.dark .cafe-join-page .period-btn:hover{border-color:#18a058;color:#18a058}html.dark .cafe-join-page .period-btn.active{background:#18a058;border-color:#18a058;color:#fff}html.dark .cafe-join-page .checkbox-label{color:var(--text-tertiary, #888)}html.dark .cafe-join-page .manual-join-header{border-bottom-color:var(--border-primary, #333)}html.dark .cafe-join-page .manual-join-header h3{color:var(--text-primary, #fafafa)}html.dark .cafe-join-page .close-btn{color:var(--text-tertiary, #888)}html.dark .cafe-join-page .close-btn:hover{background:var(--bg-tertiary, #3d3d3d);color:var(--text-primary, #fafafa)}html.dark .cafe-join-page .section-label{color:var(--text-secondary, #aaa)}html.dark .cafe-join-page .search-input-wrapper{background:var(--input-bg, #2d2d2d);border-color:var(--border-primary, #333)}html.dark .cafe-join-page .search-input-wrapper:focus-within{background:var(--input-bg-focus, #333);border-color:#03c75a}html.dark .cafe-join-page .search-input-wrapper input{color:var(--text-primary, #fafafa)}html.dark .cafe-join-page .search-results{background:var(--card-bg, #252525);border-color:var(--border-primary, #333)}html.dark .cafe-join-page .search-result-item{border-bottom-color:var(--border-primary, #333)}html.dark .cafe-join-page .search-result-item:hover{background:var(--bg-secondary, #2d2d2d)}html.dark .cafe-join-page .cafe-name{color:var(--text-primary, #fafafa)}html.dark .cafe-join-page .cafe-members{color:var(--text-tertiary, #888)}html.dark .cafe-join-page .selected-cafe{background:#03c75a14;border-color:#03c75a4d}html.dark .cafe-join-page .btn-change{background:var(--card-bg, #252525);border-color:var(--border-primary, #333);color:var(--text-secondary, #aaa)}html.dark .cafe-join-page .account-chip{background:var(--bg-secondary, #2d2d2d);border-color:var(--border-primary, #333)}html.dark .cafe-join-page .account-chip:hover:not(.disabled){background:var(--bg-tertiary, #3d3d3d)}html.dark .cafe-join-page .account-chip.selected{background:#03c75a1a;border-color:#03c75a}html.dark .cafe-join-page .chip-checkbox{background:var(--card-bg, #252525);border-color:var(--border-secondary, #444)}html.dark .cafe-join-page .chip-id{color:var(--text-primary, #fafafa)}html.dark .cafe-join-page .chip-status{background:var(--bg-tertiary, #3d3d3d);color:var(--text-tertiary, #888)}html.dark .cafe-join-page .settings-section{border-top-color:var(--border-primary, #333)}html.dark .cafe-join-page .radio-item{background:var(--bg-secondary, #2d2d2d);border-color:var(--border-primary, #333);color:var(--text-secondary, #aaa)}html.dark .cafe-join-page .radio-item:hover{background:var(--bg-tertiary, #3d3d3d)}html.dark .cafe-join-page .radio-item.selected{background:#03c75a1a;border-color:#03c75a;color:#03c75a}html.dark .cafe-join-page .data-grid-header{background:var(--bg-primary, #1a1a1a);border-top:1px solid #444;border-bottom:1px solid #666}html.dark .cafe-join-page .data-grid-header .header-text,html.dark .cafe-join-page .data-grid-cell .cell-text{color:#ccc}html.dark .cafe-join-page .data-grid-row:hover{background:var(--bg-secondary, #2d2d2d)}html.dark .cafe-join-page .table-refresh-btn{color:#888}html.dark .cafe-join-page .table-refresh-btn:hover{color:#ccc;background:#3d3d3d}html.dark .cafe-join-page .status-text.completed,html.dark .cafe-join-page .status-text.pending,html.dark .cafe-join-page .status-text.default{color:var(--text-tertiary, #888)}html.dark .cafe-join-page .status-text.approval{color:#64b5f6}html.dark .cafe-join-page .status-text.failed{color:#ef5350}html.dark .cafe-join-page .empty-state svg{color:var(--text-tertiary, #666)}html.dark .cafe-join-page .empty-state p,html.dark .cafe-join-page .loading-state span{color:var(--text-tertiary, #888)}html.dark .cafe-join-page .loading-state .spinner,html.dark .cafe-join-page .spinner-sm{border-color:var(--border-primary, #333);border-top-color:#03c75a}html.dark .cafe-join-page .loading-inline{color:var(--text-tertiary, #888)}html.dark .join-modal{background:#252525}html.dark .join-modal-close{color:#888}html.dark .join-modal-close:hover,html.dark .join-modal-title{color:#fff}html.dark .progress-step{background:#555}html.dark .modal-search-label{color:#fff}html.dark .modal-search-input-wrapper{background:transparent;border-color:#444}html.dark .modal-search-input-wrapper:focus-within{border-color:#444;outline:none}html.dark .modal-search-input-wrapper input{background:transparent;color:#fff}html.dark .modal-search-input-wrapper input::placeholder{color:#888}html.dark .modal-cafe-card{border-color:#444}html.dark .modal-cafe-card.selected{border-color:#888}html.dark .modal-cafe-checkbox{border-color:#555}html.dark .modal-cafe-name{color:#fff}html.dark .modal-cafe-desc{color:#aaa}html.dark .modal-cafe-meta{color:#888}html.dark .modal-cafe-meta strong{color:#eee}html.dark .modal-cafe-url{color:#888}html.dark .modal-cafe-url strong{color:#eee}html.dark .modal-btn-cancel{background:#444;color:#aaa}html.dark .modal-btn-cancel:hover{background:#555;color:#fff}html.dark .modal-selected-cafe-row{border-bottom-color:#444}html.dark .modal-label{color:#fff}html.dark .modal-value{color:#aaa}html.dark .modal-account-title{color:#fff}html.dark .modal-account-search{border-color:#444}html.dark .modal-account-search input{color:#fff}html.dark .modal-account-item{background:#333;border-color:#444}html.dark .modal-account-item:hover{border-color:#555}html.dark .modal-account-item.selected{border-color:#888}html.dark .modal-account-id{color:#fff}html.dark .modal-account-checkbox{border-color:#555}html.dark .modal-account-refresh{color:#888}html.dark .modal-account-refresh:hover{color:#ccc}html.dark .modal-setting-label{color:#fff}html.dark .modal-radio-item{background:#333;border-color:#444;color:#aaa}html.dark .modal-radio-item:hover{background:#3d3d3d}html.dark .modal-radio-item.selected{background:#2196f326;border-color:#2196f3;color:#2196f3}.cafe-join-page .withdraw-btn{padding:6px 12px;font-size:12px;font-weight:500;color:#dc2626;background:transparent;border:1px solid #dc2626;border-radius:4px;cursor:pointer;transition:all .15s ease}.cafe-join-page .withdraw-btn:hover:not(:disabled){background:#dc2626;color:#fff}.cafe-join-page .withdraw-btn:disabled{opacity:.6;cursor:not-allowed}.cafe-join-page .withdraw-btn.loading{background:#dc2626;color:#fff;opacity:.7}.cafe-join-page .withdraw-disabled{color:var(--text-tertiary, #999);font-size:12px}html.dark .cafe-join-page .withdraw-btn{color:#ef5350;border-color:#ef5350}html.dark .cafe-join-page .withdraw-btn:hover:not(:disabled){background:#ef5350;color:#fff}html.dark .cafe-join-page .withdraw-btn.loading{background:#ef5350}html.dark .cafe-join-page .withdraw-disabled{color:#666}.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}}
