.alert-overlay[data-v-9cd228f3]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px}.alert-modal[data-v-9cd228f3]{background:#fff;border-radius:12px;padding:28px 24px 24px;width:100%;max-width:320px;text-align:center;box-shadow:0 4px 20px #00000026}.alert-icon[data-v-9cd228f3]{margin-bottom:16px}.alert-title[data-v-9cd228f3]{font-size:18px;font-weight:700;color:#333;margin:0 0 8px}.alert-message[data-v-9cd228f3]{font-size:15px;color:#555;margin:0 0 24px;line-height:1.5;word-break:keep-all}.alert-confirm-btn[data-v-9cd228f3]{width:100%;height:48px;background:#fccf01;border:none;border-radius:8px;font-size:16px;font-weight:700;color:#333;cursor:pointer;transition:background .15s}.alert-confirm-btn[data-v-9cd228f3]:active{background:#e5ba00}.alert-fade-enter-active[data-v-9cd228f3],.alert-fade-leave-active[data-v-9cd228f3]{transition:opacity .2s ease}.alert-fade-enter-active .alert-modal[data-v-9cd228f3],.alert-fade-leave-active .alert-modal[data-v-9cd228f3]{transition:transform .2s ease}.alert-fade-enter-from[data-v-9cd228f3],.alert-fade-leave-to[data-v-9cd228f3]{opacity:0}.alert-fade-enter-from .alert-modal[data-v-9cd228f3],.alert-fade-leave-to .alert-modal[data-v-9cd228f3]{transform:scale(.9)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:#f3f4f6;min-height:100vh;overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}#app{min-height:100vh;min-height:100dvh}.landscape-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#2b0a5b;z-index:99999;display:flex;align-items:center;justify-content:center}.landscape-content{text-align:center;color:#fff;padding:20px}.rotate-icon{position:relative;display:inline-block;margin-bottom:24px;animation:shake 1.5s ease-in-out infinite}.rotate-icon svg{color:#fff}.rotate-arrow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:32px;color:#fccf01;animation:rotate 2s linear infinite}@keyframes shake{0%,to{transform:rotate(-15deg)}50%{transform:rotate(15deg)}}@keyframes rotate{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.landscape-title{font-size:24px;font-weight:700;margin-bottom:12px}.landscape-desc{font-size:16px;opacity:.8}input,textarea,select{-webkit-user-select:auto;user-select:auto}.input-korean{ime-mode:active}.input-korean:focus{ime-mode:active}.input-numeric{ime-mode:disabled}.input-numeric:focus{ime-mode:disabled}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#999}.app-loading{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#f3f4f6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;z-index:99999}.app-loading p{font-size:14px;color:#666}.loading-spinner{width:40px;height:40px;border:3px solid #e5e5e5;border-top-color:#2b0a5b;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}:root{--color-primary: #2B0A5B;--color-primary-light: #3f2b72;--color-yellow: #FCCF01;--color-red: #E81E40;--color-orange: #f97316;--color-gray-dark: #333;--color-gray: #666;--color-gray-light: #999;--color-bg: #f3f4f6;--color-bg-card: #f9fafb;--color-bg-white: #fff;--color-border: #e5e5e5;--color-border-light: #f0f0f0;--font-family: "Pretendard", -apple-system, BlinkMacSystemFont, sans-serif;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 14px;--spacing-lg: 20px;--spacing-xl: 28px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--z-header: 100;--z-modal: 1000;--z-toast: 1100}.offline-banner,.online-banner{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:500}.offline-banner{background:#f44336;color:#fff}.online-banner{background:#4caf50;color:#fff}.pending-badge{background:#ffffff40;padding:2px 8px;border-radius:10px;font-size:12px;font-weight:600}.sync-info{font-size:12px;opacity:.9}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal, 1000);padding:var(--spacing-xl, 28px)}.modal-content{background:#fff;border-radius:var(--radius-sm, 4px);width:100%;max-width:424px;overflow:hidden}.modal-body{padding:48px 24px 28px;text-align:center}.modal-body h2{font-size:24px;font-weight:700;color:#000;margin:0 0 14px}.modal-body p{font-size:17px;color:var(--color-gray-dark, #333);margin:0}.modal-buttons{display:flex;gap:16px;padding:0 24px 28px}.modal-btn{flex:1;height:56px;border:none;border-radius:var(--radius-sm, 4px);font-size:18px;font-weight:700;cursor:pointer;font-family:var(--font-family)}.modal-btn.cancel{background:#ddd;color:var(--color-gray-dark, #333)}.modal-btn.confirm{background:var(--color-yellow, #FCCF01);color:var(--color-gray-dark, #333)}.modal-btn.confirm:active{background:#e5bb00}.modal-btn.cancel:active{background:#ccc}.btn-primary{background:var(--color-primary, #2B0A5B);color:#fff;border:none;border-radius:var(--radius-sm, 4px);font-family:var(--font-family);font-weight:600;cursor:pointer;transition:background-color .15s}.btn-primary:active{background:var(--color-primary-light, #3f2b72)}.btn-yellow{background:var(--color-yellow, #FCCF01);color:#000;border:none;border-radius:var(--radius-sm, 4px);font-family:var(--font-family);font-weight:700;cursor:pointer;transition:background-color .15s}.btn-yellow:active{background:#e5bb00}.btn-gray{background:#4b4b4b;color:#fff;border:none;border-radius:var(--radius-sm, 4px);font-family:var(--font-family);font-weight:700;cursor:pointer;transition:background-color .15s}.btn-gray:active{background:#3a3a3a}.loading-state,.error-state,.empty-state{display:flex;align-items:center;justify-content:center;min-height:120px;color:var(--color-gray, #666);font-size:14px}.error-state{color:var(--color-red, #E81E40)}@media (-webkit-min-device-pixel-ratio: 2),(min-resolution: 192dpi){body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}
