:root{--font-family:"Inter", "Noto Sans KR", sans-serif;--bg-base:#fafafa;--bg-surface:#fff;--bg-panel:#f4f4f5;--bg-hover:#e4e4e7;--text-primary:#09090b;--text-secondary:#52525b;--text-muted:#71717a;--text-disabled:#a1a1aa;--border-color:#e4e4e7;--border-color-mid:#d4d4d8;--border-color-focus:#09090b;--color-danger:#ef4444;--color-warning:#f59e0b;--color-success:#10b981;--color-info:#3b82f6;--color-sky:#52525b;--color-sky-hover:#09090b;--color-teal:#52525b;--color-teal-hover:#09090b;--border-radius-sm:4px;--border-radius-md:6px;--border-radius-lg:8px;--transition-fast:.1s ease;--transition-normal:.2s ease;--bg-dark-950:var(--bg-base);--bg-dark-900:var(--bg-surface);--bg-dark-800:var(--bg-panel);--bg-dark-700:var(--bg-hover);--glass-bg:var(--bg-surface);--glass-border:var(--border-color);--glass-shadow:none}.dark{--bg-base:#09090b;--bg-surface:#18181b;--bg-panel:#27272a;--bg-hover:#3f3f46;--text-primary:#fafafa;--text-secondary:#a1a1aa;--text-muted:#71717a;--text-disabled:#52525b;--border-color:#27272a;--border-color-mid:#3f3f46;--border-color-focus:#fff;--color-danger:#f87171;--color-warning:#fbbf24;--color-success:#4ade80;--color-info:#94a3b8;--color-sky:#a1a1aa;--color-sky-hover:#fafafa;--color-teal:#a1a1aa;--color-teal-hover:#fafafa}*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--bg-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;line-height:1.6;overflow-x:hidden}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:var(--bg-base)}::-webkit-scrollbar-thumb{background:var(--bg-panel);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--bg-hover)}h1,h2,h3,h4,h5,h6{letter-spacing:-.01em;color:var(--text-primary);font-weight:600}.card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--border-radius-md);transition:border-color var(--transition-fast);padding:20px}.card:hover{border-color:var(--border-color-mid)}.btn{font-family:var(--font-family);border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:8px 16px;font-size:.875rem;font-weight:500;text-decoration:none;display:inline-flex}.btn-primary{color:#fff;background:#09090b;border-color:#09090b}.btn-primary:hover{background:#27272a;border-color:#27272a}.btn-primary:active{background:#3f3f46}.dark .btn-primary{color:#09090b;background:#fff;border-color:#fff}.dark .btn-primary:hover{background:#e4e4e7;border-color:#e4e4e7}.dark .btn-primary:active{background:#d4d4d8}.btn-teal{color:var(--text-primary);border-color:var(--border-color-mid);background:0 0}.btn-teal:hover{background:var(--bg-panel);border-color:#a1a1aa}.btn-secondary{color:var(--text-secondary);border-color:var(--border-color);background:0 0}.btn-secondary:hover{background:var(--bg-panel);color:var(--text-primary);border-color:var(--border-color-mid)}.btn-danger{color:var(--color-danger);background:0 0;border-color:#f871714d}.btn-danger:hover{background:#f8717114}.btn:disabled{opacity:.35;cursor:not-allowed;box-shadow:none!important;transform:none!important}.form-group{margin-bottom:16px}.form-label{color:var(--text-secondary);letter-spacing:.02em;text-transform:uppercase;margin-bottom:6px;font-size:.8rem;font-weight:500;display:block}.input-field,.select-field,.textarea-field{background-color:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);width:100%;color:var(--text-primary);font-family:var(--font-family);transition:border-color var(--transition-fast);outline:none;padding:9px 12px;font-size:.875rem}.input-field:focus,.select-field:focus,.textarea-field:focus{border-color:var(--text-primary);background-color:var(--bg-panel)}.select-field option{background-color:var(--bg-surface);color:var(--text-primary)}.badge{border-radius:var(--border-radius-sm);letter-spacing:.04em;text-transform:uppercase;align-items:center;padding:2px 8px;font-size:.7rem;font-weight:600;display:inline-flex}.badge-danger{color:var(--color-danger);background-color:#f871711a;border:1px solid #f8717133}.badge-warning{color:var(--color-warning);background-color:#fbbf241a;border:1px solid #fbbf2433}.badge-success{color:var(--color-success);background-color:#4ade8014;border:1px solid #4ade8026}.badge-sky{background-color:var(--bg-panel);color:var(--text-secondary);border:1px solid var(--border-color)}.table-container{border:1px solid var(--border-color);border-radius:var(--border-radius-md);background-color:var(--bg-surface);width:100%;overflow-x:auto}.data-table{border-collapse:collapse;text-align:left;width:100%;font-size:.875rem}.data-table th{background-color:var(--bg-panel);color:var(--text-secondary);border-bottom:1px solid var(--border-color);text-transform:uppercase;letter-spacing:.05em;padding:12px 16px;font-size:.75rem;font-weight:600}.data-table td{border-bottom:1px solid var(--border-color);color:var(--text-primary);padding:13px 16px}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background-color:var(--bg-panel)}.receipt-container{color:#18181b;border-radius:var(--border-radius-md);background-color:#fff;border:1px solid #e4e4e7;padding:28px;position:relative;overflow:hidden}.receipt-container:before{content:"";background:#18181b;height:3px;position:absolute;top:0;left:0;right:0}.receipt-header{border-bottom:1px dashed #d4d4d8;margin-bottom:16px;padding-bottom:16px}.receipt-title{color:#09090b;text-align:center;margin-bottom:4px;font-size:1.25rem;font-weight:700}.receipt-meta{color:#71717a;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:12px;font-size:.8rem;display:grid}.receipt-items{border-bottom:1px dashed #d4d4d8;margin-bottom:16px;padding-bottom:16px}.receipt-item-row{color:#27272a;grid-template-columns:2fr 1fr 1fr;gap:8px;margin-bottom:8px;font-size:.875rem;display:grid}.receipt-item-row.header{color:#09090b;border-bottom:1px solid #e4e4e7;margin-bottom:10px;padding-bottom:5px;font-weight:700}.receipt-total-section{color:#09090b;justify-content:space-between;align-items:center;margin-top:8px;font-size:1.1rem;font-weight:700;display:flex}.receipt-footer{text-align:center;color:#a1a1aa;margin-top:20px;font-size:.75rem;line-height:1.4}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.page-transition{animation:fadeIn var(--transition-normal) forwards;padding-top:8px}.grid-cols-1-2{grid-template-columns:1fr;gap:20px;display:grid}@media (width>=1024px){.grid-cols-1-2{grid-template-columns:1.2fr .8fr}}.grid-cols-3{grid-template-columns:1fr;gap:16px;display:grid}@media (width>=640px){.grid-cols-3{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.grid-cols-3{grid-template-columns:repeat(3,1fr)}}@media print{body{color:#000;background-color:#fff}header,nav,.btn,.no-print,form,.input-field,.select-field{display:none!important}.receipt-container{box-shadow:none!important;border:none!important;width:100%!important;padding:0!important}}.lightbox-overlay{z-index:200;background-color:#09090bf5;justify-content:center;align-items:center;animation:.15s ease-out fadeIn;display:flex;position:fixed;inset:0}.lightbox-img{object-fit:contain;border:1px solid var(--border-color-mid);border-radius:var(--border-radius-md);max-width:90vw;max-height:85vh}.lightbox-close{background:var(--bg-panel);border:1px solid var(--border-color-mid);color:var(--text-primary);border-radius:var(--border-radius-sm);cursor:pointer;width:40px;height:40px;transition:background var(--transition-fast);justify-content:center;align-items:center;display:flex;position:absolute;top:20px;right:20px}.lightbox-close:hover{background:var(--bg-hover)}.timeline-container{flex-direction:column;gap:12px;max-height:400px;margin-top:12px;padding-right:4px;display:flex;overflow-y:auto}.timeline-item{gap:12px;display:flex;position:relative}.timeline-badge{background-color:var(--bg-panel);border:1px solid var(--border-color-mid);border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;margin-top:4px;display:flex}.timeline-line{background-color:var(--border-color);width:1px;position:absolute;top:20px;bottom:-12px;left:7px}.timeline-item:last-child .timeline-line{display:none}.timeline-content{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);flex:1;padding:10px 14px}.thumbnail-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;margin-top:8px;display:grid}.thumbnail-box{border:1px solid var(--border-color);border-radius:var(--border-radius-sm);cursor:pointer;background-color:var(--bg-panel);position:relative;overflow:hidden}.thumbnail-img{object-fit:cover;width:100%;height:80px;transition:opacity var(--transition-fast);display:block}.thumbnail-box:hover .thumbnail-img{opacity:.85}.thumbnail-label{color:var(--text-secondary);text-align:center;background-color:#09090bd9;padding:2px 4px;font-size:.65rem;position:absolute;bottom:0;left:0;right:0}.fixed{position:fixed}.inset-0{inset:0}.z-\[100\]{z-index:100}.flex{display:flex}.items-center{align-items:center}.justify-center{justify-content:center}.p-4{padding:16px}.bg-black\/70{background-color:#09090be0}.backdrop-blur-sm{-webkit-backdrop-filter:none}.relative{position:relative}.w-full{width:100%}.max-w-lg{max-width:560px}.max-h-\[85vh\]{max-height:85vh}.overflow-y-auto{overflow-y:auto}.bg-zinc-900{background-color:var(--bg-surface)}.rounded-3xl{border-radius:var(--border-radius-lg)!important}.shadow-2xl{box-shadow:0 8px 24px #0006}.absolute{position:absolute}.top-4{top:16px}.right-4{right:16px}.pt-24{padding-top:96px}.text-muted{color:var(--text-muted)}.text-gradient-sky{color:var(--text-secondary)}.bg-zinc-50{background-color:#fafafa!important}.dark .dark\:bg-zinc-950{background-color:#09090b!important}.text-zinc-900{color:#18181b!important}.dark .dark\:text-zinc-100{color:#fafafa!important}.bg-white{background-color:#fff!important}.dark .dark\:bg-zinc-900{background-color:#18181b!important}.bg-zinc-100{background-color:#f4f4f5!important}.dark .dark\:bg-zinc-800{background-color:#27272a!important}.text-zinc-500{color:#71717a!important}.dark .dark\:text-zinc-400{color:#a1a1aa!important}.bg-transparent{background-color:#0000!important}
