:root{--bg-main:#fff;--bg-card:#fff;--border-color:#e2e8f0;--accent-primary:#3b82f6;--accent-hover:#2563eb;--accent-blue-bg:#3b82f614;--accent-orange:#f97316;--accent-teal:#0d9488;--accent-red:#ef4444;--accent-pink:#f43f5e;--accent-pink-light:#fdf2f4;--text-dark:#0f172a;--text-gray:#475569;--text-muted:#94a3b8;--font-sans:"Pretendard", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--font-display:"Pretendard", var(--font-sans);--transition-smooth:all .2s cubic-bezier(.4, 0, .2, 1);--shadow-sm:0 1px 3px #0000000d;--shadow-md:0 4px 6px -1px #0000000d, 0 2px 4px -1px #00000008;--shadow-lg:0 10px 15px -3px #0000000d, 0 4px 6px -2px #00000005}*{box-sizing:border-box;margin:0;padding:0}body{color:var(--text-dark);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;background-color:#f1f5f9;min-height:100vh;line-height:1.5;overflow-x:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-main)}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-gray)}#root{background-color:var(--bg-main);flex-direction:column;width:100%;max-width:480px;min-height:100vh;margin:0 auto;display:flex;position:relative;box-shadow:0 0 20px #0000000d}.container{flex-direction:column;gap:0;width:100%;max-width:100%;margin:0 auto;padding:0;display:flex}.sticky-header{z-index:100;background:#fff;border-bottom:1px solid #f1f5f9;flex-direction:column;gap:0;padding:.5rem .5rem 0;display:flex;position:sticky;top:0;box-shadow:0 2px 8px #0000000f}.date-header-row{align-items:center;gap:.5rem;display:flex;overflow:hidden}.date-scroll-wrapper{scrollbar-width:none;flex:1;gap:.3rem;min-width:0;padding:.25rem 0 .35rem;display:flex;overflow-x:auto}.date-scroll-wrapper::-webkit-scrollbar{display:none}.date-card{color:var(--text-muted);cursor:pointer;width:3rem;min-width:3rem;height:3.4rem;transition:var(--transition-smooth);background:0 0;border:none;border-radius:.6rem;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:.1rem;padding:0;display:flex}.date-card:hover{color:var(--accent-primary)}.date-card.active{background:var(--accent-primary);color:#fff;border-radius:.6rem}.date-card-day-name{font-size:.85rem;font-weight:500;line-height:1}.date-card-day-number{font-family:var(--font-display);font-size:1.2rem;font-weight:700;line-height:1}.checkbox-label{color:var(--text-gray);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;flex-shrink:0;align-items:center;gap:.3rem;padding-right:.25rem;font-size:.7rem;font-weight:600;display:flex}.checkbox-input{width:.9rem;height:.9rem;accent-color:var(--accent-primary);cursor:pointer}.time-seamless-track{scrollbar-width:none;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;gap:0;padding:.4rem 1rem .5rem;display:flex;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 8% 90%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 8% 90%,#0000 100%)}.time-seamless-track::-webkit-scrollbar{display:none}.time-seamless-item{color:#c4ccd8;cursor:pointer;white-space:nowrap;scroll-snap-align:center;background:0 0;border:none;border-radius:.6rem;flex-shrink:0;padding:0 .85rem;font-size:.85rem;font-weight:500;line-height:1.5;transition:all .2s}.time-seamless-item.active{background:var(--accent-primary);color:#fff;font-size:.95rem;font-weight:800}.time-seamless-item.liked{color:#fff;background:var(--accent-pink);font-weight:600}.time-seamless-item.liked.active{background:var(--accent-primary);color:#fff;font-weight:800}.product-grid{background-color:#0000;grid-template-columns:repeat(3,1fr);gap:3vh 0;padding:0 8px min(3vh,24px);display:grid}.broadcast-header{font-family:var(--font-display);color:var(--text-dark);align-items:flex-start;gap:.5rem;padding:min(3vh,24px) .75rem min(6vw,28px);font-size:.9rem;font-weight:700;line-height:1.4;display:flex}.broadcast-header-text{flex:1}.heart-btn{cursor:pointer;color:#d1d5db;background:0 0;border:none;flex-shrink:0;align-items:center;margin-top:.05rem;padding:.1rem .2rem;font-size:1.15rem;line-height:1;transition:transform .15s cubic-bezier(.34,1.56,.64,1);display:flex}.heart-btn:hover{transform:scale(1.2)}.heart-btn.liked{color:var(--accent-pink);animation:.25s cubic-bezier(.34,1.56,.64,1) heartPop}@keyframes heartPop{0%{transform:scale(1)}50%{transform:scale(1.4)}to{transform:scale(1)}}.product-card{box-shadow:none;transition:var(--transition-smooth);background:0 0;border:none;border-radius:0;flex-direction:column;display:flex;overflow:visible}.product-card:hover{opacity:.95}.product-img-container{aspect-ratio:1;background:#fff;border:none;border-radius:0;justify-content:center;align-items:center;width:100%;padding:.1rem;display:flex;position:relative;overflow:hidden;container-type:inline-size}.product-img{object-fit:contain;object-position:center;width:100%;height:100%;transition:var(--transition-smooth)}.product-card:hover .product-img{transform:scale(1.02)}.no-image-placeholder{color:var(--text-muted);font-size:.65rem}.overlays-container{pointer-events:none;flex-direction:column;align-items:flex-end;gap:1.5cqw;display:flex;position:absolute;bottom:3cqw;right:3cqw}.overlay-date-badge{color:#fff;font-family:var(--font-sans);white-space:nowrap;border-radius:9999px;justify-content:center;align-items:center;width:auto;height:2.2em;padding:0 .8em;font-size:clamp(9px,7.5cqw,12px);font-weight:800;line-height:1;display:inline-flex;box-shadow:0 2px 4px #00000026}@media (width<=480px){.overlay-date-badge{height:18px!important;padding:0 5px!important;font-size:8.5px!important;font-weight:700!important}.overlays-container{gap:3px!important;bottom:4px!important;right:4px!important}}.overlay-date-badge.badge-pink{background-color:var(--accent-pink)}.overlay-date-badge.badge-blue{background-color:var(--accent-primary)}.overlay-date-badge.badge-green{background-color:#10b981}.product-loc-brand{color:#000;text-align:left;white-space:nowrap;text-overflow:ellipsis;width:100%;margin-bottom:.04rem;font-size:.72rem;font-weight:700;overflow:hidden}.product-info-body{flex-direction:column;gap:.12rem;padding:.25rem .15rem 0;display:flex;overflow:hidden}.product-title{color:#000;-webkit-line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;height:2.4em;margin-bottom:.15rem;font-size:.72rem;font-weight:400;line-height:1.2;display:-webkit-box;overflow:hidden}.product-status-row{gap:.2rem;display:flex}.status-badge{border-radius:.15rem;padding:.05rem .15rem;font-size:.5rem;font-weight:700}.status-badge.new{background:var(--accent-blue-bg);color:var(--accent-primary);border:1px solid #3b82f626}.status-badge.excluded{color:var(--accent-red);background:#ef44440f;border:1px solid #ef444426}.status-badge.comparison-excluded{color:var(--accent-red);background:#ef444414;border:1px solid #ef444433}.status-badge.comparison-added{background:var(--accent-blue-bg);color:var(--accent-primary);border:1px solid #3b82f633}.product-card.excluded-state{opacity:.6}.product-card.excluded-state .product-img-container{background:#cbd5e1}.product-card.excluded-state .product-title{color:var(--text-muted);text-decoration:line-through}.product-card.comparison-excluded .product-img-container{background-color:#ef444405;border:1.5px solid #ef444480!important}.product-card.comparison-added .product-img-container{background-color:#3b82f605;border:1.5px dashed var(--accent-primary)!important}.product-card.comparison-added{opacity:.85}.stock-page-container{background:var(--bg-main);z-index:1000;flex-direction:column;width:100%;max-width:480px;margin:0 auto;animation:.3s cubic-bezier(.16,1,.3,1) slideUp;display:flex;position:fixed;inset:0;overflow:hidden}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.stock-page-header,.stock-page-title{display:none}.stock-page-close-btn{z-index:10;color:var(--text-gray);cursor:pointer;width:2.5rem;height:2.5rem;transition:var(--transition-smooth);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.5rem;display:flex;position:absolute;top:.5rem;right:.5rem}.stock-page-close-btn:hover{color:var(--text-dark);background:#0000000d}.stock-page-body{background:var(--bg-main);flex-direction:column;flex:1;gap:.75rem;margin-top:.5rem;padding:1rem .5rem .5rem;display:flex;overflow-y:auto}.stock-page-images{flex-direction:column;align-items:center;gap:.5rem;width:100%;display:flex}.stock-page-img{object-fit:contain;width:auto;max-width:80%;height:auto;max-height:35vh;box-shadow:var(--shadow-sm);border:1px solid var(--border-color);border-radius:.75rem}.stock-page-noimg{text-align:center;width:100%;color:var(--text-muted);background:#f1f5f9;border-radius:.75rem;padding:3rem}.stock-page-details{flex-direction:column;gap:.2rem;padding:0 .5rem;display:flex}.stock-page-title-row{align-items:center;gap:.75rem;display:flex}.stock-page-product-title{color:var(--text-dark);font-size:1.05rem;font-weight:800;line-height:1.35}.stock-page-code{color:var(--text-gray);font-family:monospace;font-size:.85rem}.stock-page-location-row{margin-top:0}.stock-page-location{color:var(--accent-teal);align-items:center;font-size:.95rem;font-weight:700;display:inline-flex}.matrix-table-container{width:100%;box-shadow:var(--shadow-sm);background:#fff;border:1px solid #f1f5f9;border-radius:.5rem}.matrix-table-container.scrollable{overflow-x:auto}.matrix-table-container.fit-screen{overflow-x:hidden}.matrix-table{border-collapse:collapse;text-align:center;table-layout:auto;width:100%;font-size:.72rem}.matrix-table-container.fit-screen .matrix-table{table-layout:fixed}.matrix-table th,.matrix-table td{border:1px solid #f1f5f9;padding:.35rem .2rem}.matrix-table th{color:var(--text-dark);background-color:#f8fafc;font-weight:700}.matrix-table td.row-header{color:var(--text-dark);text-align:left;white-space:nowrap;background-color:#fff;font-weight:700}.matrix-table td.stock-cell{font-family:var(--font-display);color:#2563eb;font-weight:700}.matrix-table td.stock-cell.empty{color:var(--text-muted);font-weight:400}.empty-state{text-align:center;background:var(--bg-card);border:1px solid var(--border-color);border-radius:.75rem;flex-direction:column;align-items:center;gap:1rem;padding:4rem .5rem;display:flex}.empty-state-icon{color:var(--text-muted);font-size:2.5rem}.empty-state-title{color:var(--text-dark);font-size:1.1rem;font-weight:700}.empty-state-desc{color:var(--text-gray);max-width:300px;font-size:.875rem}.animate-spin{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.date-header-controls{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.3rem;padding-right:.25rem;display:flex}.mode-toggle-btn{color:var(--text-gray);cursor:pointer;transition:var(--transition-smooth);background:#f1f5f9;border:1px solid #e2e8f0;border-radius:.4rem;align-items:center;gap:.25rem;padding:.2rem .4rem;font-size:.65rem;font-weight:700;display:inline-flex}.mode-toggle-btn:hover{color:var(--text-dark);background:#e2e8f0}.mode-toggle-btn .toggle-icon{transition:transform .3s}.mode-toggle-btn:hover .toggle-icon{transform:rotate(180deg)}.add-program-btn{background:var(--accent-primary);color:#fff;cursor:pointer;transition:var(--transition-smooth);border:none;border-radius:.4rem;align-items:center;gap:.2rem;padding:.25rem .5rem;font-size:.65rem;font-weight:700;display:inline-flex}.add-program-btn:hover{background:var(--accent-hover)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;background:#0f172a66;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-content{width:100%;max-width:420px;box-shadow:var(--shadow-lg);background:#fff;border-radius:1rem;flex-direction:column;padding:1.25rem;animation:.25s cubic-bezier(.34,1.56,.64,1) modalPop;display:flex;overflow:hidden}@keyframes modalPop{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.modal-title{color:var(--text-dark);font-size:1.05rem;font-weight:700}.modal-close-btn{color:var(--text-muted);cursor:pointer;transition:var(--transition-smooth);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:.25rem;display:flex}.modal-close-btn:hover{color:var(--text-dark);background:#f1f5f9}.form-group{flex-direction:column;gap:.35rem;margin-bottom:.75rem;display:flex}.form-label{color:var(--text-gray);text-align:left;font-size:.75rem;font-weight:600}.form-input,.form-textarea{border:1px solid var(--border-color);width:100%;font-size:.85rem;font-family:var(--font-sans);color:var(--text-dark);transition:var(--transition-smooth);background:#f8fafc;border-radius:.5rem;padding:.5rem .75rem}.form-input:focus,.form-textarea:focus{border-color:var(--accent-primary);background:#fff;outline:none;box-shadow:0 0 0 3px #3b82f61a}.form-textarea{resize:vertical}.form-actions{justify-content:flex-end;gap:.5rem;margin-top:1.25rem;display:flex}.btn-cancel,.btn-submit{cursor:pointer;transition:var(--transition-smooth);border-radius:.5rem;padding:.5rem 1rem;font-size:.8rem;font-weight:700}.btn-cancel{color:var(--text-gray);background:#f1f5f9;border:1px solid #e2e8f0}.btn-cancel:hover{color:var(--text-dark);background:#e2e8f0}.btn-submit{background:var(--accent-primary);color:#fff;border:none}.btn-submit:hover:not(:disabled){background:var(--accent-hover)}.btn-submit:disabled{opacity:.6;cursor:not-allowed}.form-status-msg{text-align:center;border-radius:.4rem;margin-top:.5rem;padding:.5rem .75rem;font-size:.75rem;font-weight:600}.form-status-msg.success{color:var(--accent-teal);background:#0d948814;border:1px solid #0d948826}.form-status-msg.error{color:var(--accent-red);background:#ef444414;border:1px solid #ef444426}.controls-row{align-items:center;gap:.25rem;display:flex}.settings-btn{width:1.4rem;height:1.4rem;color:var(--text-gray);cursor:pointer;transition:var(--transition-smooth);background:#f1f5f9;border:1px solid #e2e8f0;border-radius:.4rem;justify-content:center;align-items:center;padding:.2rem;display:inline-flex}.settings-btn:hover{color:var(--text-dark);background:#e2e8f0}.internal-actions-row{align-items:center;gap:.35rem;display:flex}.token-warning-badge{color:var(--accent-orange);white-space:nowrap;background:#f9731614;border:1px solid #f9731633;border-radius:.3rem;padding:.1rem .3rem;font-size:.55rem;font-weight:700}.scroll-row-with-arrows{align-items:center;gap:.2rem;width:100%;display:flex}.scroll-arrow-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:.2rem;transition:color .2s;display:flex}.scroll-arrow-btn:hover{color:var(--accent-primary)}.controls-row-top{width:100%;margin-bottom:.5rem}.full-width-btn{justify-content:center;width:100%}.options-row-bottom{justify-content:flex-end;width:100%;margin:.5rem 0;display:flex}.time-date-section{width:100%}.time-scroll-section{margin-top:.5rem}@media (width>=900px){#root{margin:0 auto;padding-top:2rem}.stock-page-container{width:380px;height:auto;max-height:95vh;box-shadow:0 10px 40px #00000026, 0 0 0 1px var(--border-color);border-radius:12px;margin:0;font-size:.9em;animation:.3s cubic-bezier(.16,1,.3,1) popupFadeIn;position:fixed;inset:50% auto auto max(1rem,50vw - 652px);transform:translateY(-50%)}.stock-page-container .matrix-table{font-size:.65rem}.stock-page-container .stock-page-product-title{font-size:.95rem}@keyframes popupFadeIn{0%{opacity:0;transform:translateY(-50%)scale(.95)}to{opacity:1;transform:translateY(-50%)scale(1)}}.stock-page-header{border-radius:12px 12px 0 0}.sticky-header{background:#fff;border-bottom:none;border-radius:16px;flex-direction:column;align-items:stretch;width:300px;padding:1.2rem;display:flex;position:fixed;top:2rem;left:min(100vw - 300px - 1rem,50vw + 272px);right:auto;box-shadow:0 10px 40px #0000001a}.controls-row-top,.time-date-section{border-bottom:1px solid var(--border-color);margin-bottom:1rem;padding-bottom:1rem}.full-width-btn{border-radius:.6rem;padding:.6rem;font-size:.85rem}.scroll-row-with-arrows{margin-bottom:.5rem}.date-scroll-wrapper{scroll-behavior:smooth;flex-wrap:nowrap;margin:0;overflow-x:hidden}.date-card{width:2.6rem;min-width:2.6rem;height:3rem}.date-card-day-name{font-size:.75rem}.date-card-day-number{font-size:1rem}.options-row-bottom{justify-content:flex-start;margin-bottom:.5rem;padding-left:1.2rem}.options-row-bottom .checkbox-label{font-size:.8rem}.time-scroll-section{margin-top:0}.time-seamless-track{scroll-behavior:smooth;flex-wrap:nowrap;padding:0;overflow-x:hidden;-webkit-mask-image:none;mask-image:none}.time-seamless-item{padding:.4rem .6rem;font-size:.8rem}.time-seamless-item.active{font-size:.85rem}}
