@import"https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap";*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%}body{font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.admin-login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f5f7fa,#e4e8ec);padding:2rem}.admin-login-card{width:100%;max-width:400px;background:#fff;border-radius:16px;padding:2.5rem;box-shadow:0 10px 40px #00000014}.admin-login-header{text-align:center;margin-bottom:2rem}.admin-logo{height:48px;margin-bottom:1.5rem}.admin-login-header h1{font-family:Poppins,sans-serif;font-size:1.5rem;font-weight:600;color:#1a1a2e;margin:0 0 .5rem}.admin-login-header .subtitle{font-family:Poppins,sans-serif;font-size:.875rem;color:#64748b;margin:0}.admin-login-form{display:flex;flex-direction:column;gap:1.25rem}.admin-login-form .input-group{display:flex;flex-direction:column;gap:.5rem}.admin-login-form label{font-family:Poppins,sans-serif;font-size:.8125rem;font-weight:500;color:#374151}.admin-login-form input{padding:.75rem 1rem;font-family:Poppins,sans-serif;font-size:.9375rem;color:#1a1a2e;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:10px;outline:none;transition:all .2s ease}.admin-login-form input:focus{border-color:#00b8d4;background:#fff;box-shadow:0 0 0 3px #00b8d41a}.admin-login-form input::placeholder{color:#94a3b8}.admin-login-form .error-message{padding:.75rem 1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;font-family:Poppins,sans-serif;font-size:.8125rem;color:#dc2626}.admin-login-form .submit-btn{margin-top:.5rem;padding:.875rem 1.5rem;font-family:Poppins,sans-serif;font-size:.9375rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#00b8d4,#00838f);border:none;border-radius:10px;cursor:pointer;transition:all .2s ease}.admin-login-form .submit-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #00b8d44d}.admin-login-form .submit-btn:disabled{opacity:.7;cursor:not-allowed}.toggle-mode{margin-top:1.5rem;text-align:center;font-family:Poppins,sans-serif;font-size:.8125rem;color:#64748b}.toggle-mode button{background:none;border:none;color:#00b8d4;font-weight:500;cursor:pointer;padding:0}.toggle-mode button:hover{text-decoration:underline}*{box-sizing:border-box}.admin-dashboard{display:flex;min-height:100vh;background:#f8fafc;font-family:Inter,sans-serif}.admin-dashboard.loading{align-items:center;justify-content:center}.spinner{width:48px;height:48px;border:4px solid #e2e8f0;border-top-color:#00b8d4;border-radius:50%;animation:spin .8s linear infinite}.sidebar{width:260px;background:#fff;border-right:1px solid #e2e8f0;display:flex;flex-direction:column;transition:width .3s ease;position:relative;flex-shrink:0}.sidebar.collapsed{width:80px}.sidebar-header{display:flex;align-items:center;gap:.75rem;padding:1.5rem 1.25rem;border-bottom:1px solid #e2e8f0}.sidebar-logo{height:32px;flex-shrink:0}.sidebar-title{font-size:1rem;font-weight:600;color:#0f172a;white-space:nowrap}.sidebar.collapsed .sidebar-title{display:none}.sidebar-nav{flex:1;padding:1rem .75rem;display:flex;flex-direction:column;gap:.375rem}.nav-item{display:flex;align-items:center;gap:.875rem;padding:.75rem 1rem;font-family:inherit;font-size:.875rem;font-weight:500;color:#64748b;background:transparent;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;white-space:nowrap;text-decoration:none}.nav-item svg{width:20px;height:20px;flex-shrink:0}.nav-item:hover{background:#f1f5f9;color:#0f172a}.nav-item.active{background:#e0f2fe;color:#00b8d4}.sidebar.collapsed .nav-item{justify-content:center;padding:.75rem}.sidebar.collapsed .nav-item span{display:none}.sidebar-toggle{display:flex;align-items:center;justify-content:center;width:32px;height:32px;position:absolute;top:1.625rem;right:-16px;background:#fff;border:1px solid #e2e8f0;border-radius:50%;cursor:pointer;transition:all .2s ease;z-index:10}.sidebar-toggle svg{width:16px;height:16px;color:#64748b}.sidebar-toggle:hover{background:#f8fafc;border-color:#cbd5e1}.main-wrapper{flex:1;display:flex;flex-direction:column;overflow:hidden}.dashboard-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 2rem;background:#fff;border-bottom:1px solid #e2e8f0}.header-breadcrumb{display:flex;align-items:center;gap:.5rem}.breadcrumb-item{font-size:.875rem;color:#64748b}.breadcrumb-item.active{font-weight:600;color:#0f172a}.header-right{display:flex;align-items:center;gap:1rem}.user-menu{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;background:#f8fafc;border-radius:8px}.user-avatar{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#00b8d4,#0097a7);border-radius:50%}.user-name{font-size:.875rem;font-weight:500;color:#0f172a}.logout-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-family:inherit;font-size:.875rem;font-weight:500;color:#64748b;background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .2s ease}.logout-btn svg{width:18px;height:18px}.logout-btn:hover{background:#f8fafc;border-color:#cbd5e1;color:#0f172a}.dashboard-main{flex:1;overflow-y:auto;padding:2rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:#fff;border-radius:12px;border:1px solid #e2e8f0;transition:all .2s ease}.stat-card:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #0000000d}.stat-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;border-radius:10px;flex-shrink:0}.stat-content{flex:1}.stat-value{font-size:1.75rem;font-weight:700;color:#0f172a;line-height:1;margin-bottom:.25rem}.stat-label{font-size:.875rem;color:#64748b;font-weight:500}.content-section{background:#fff;border-radius:12px;border:1px solid #e2e8f0;overflow:hidden}.section-header{padding:1.5rem 2rem;border-bottom:1px solid #e2e8f0}.section-header h2{font-size:1.125rem;font-weight:600;color:#0f172a;margin:0 0 .25rem}.section-header p{font-size:.875rem;color:#64748b;margin:0}.table-card{overflow-x:auto}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:1rem 1.5rem;text-align:left}.data-table th{font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;background:#f8fafc;white-space:nowrap}.data-table td{font-size:.875rem;color:#0f172a;border-top:1px solid #f1f5f9}.data-table tbody tr{transition:background .15s ease}.data-table tbody tr:hover{background:#f8fafc}.order-cell .order-number{font-weight:600;color:#00b8d4}.date-cell{color:#64748b;font-size:.8125rem}.items-list{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.item-tag{padding:.25rem .625rem;font-size:.75rem;color:#475569;background:#f1f5f9;border-radius:6px;white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis}.more-items{font-size:.75rem;color:#94a3b8}.photo-badge{display:inline-flex;align-items:center;justify-content:center;min-width:32px;padding:.25rem .5rem;font-size:.8125rem;font-weight:600;color:#7c3aed;background:#f3f0ff;border-radius:6px}.link-cell{display:flex;align-items:center;gap:.5rem}.link-url{font-size:.75rem;color:#64748b;background:#f8fafc;padding:.375rem .625rem;border-radius:6px;border:1px solid #e2e8f0;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#f1f5f9;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease;flex-shrink:0}.icon-btn svg{width:16px;height:16px;color:#64748b}.icon-btn:hover{background:#e2e8f0}.icon-btn.copy.copied{background:#dcfce7}.icon-btn.copy.copied svg{color:#16a34a}.no-link{color:#cbd5e1;font-size:.875rem}.status-cell{white-space:nowrap}.status-badge{display:inline-flex;align-items:center}.progress-ring{display:inline-flex;align-items:center;justify-content:center;padding:.375rem .75rem;font-size:.75rem;font-weight:600;color:#0f172a;background:#f1f5f9;border-radius:6px}.progress-inline{display:inline-flex;align-items:center;gap:.5rem}.progress-text{font-size:.8125rem;font-weight:600;color:#0f172a}.status-dot{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;font-size:.75rem;font-weight:600;border-radius:9999px}.status-dot:before{content:"";width:6px;height:6px;border-radius:50%}.status-dot.active{color:#16a34a;background:#dcfce7}.status-dot.active:before{background:#16a34a}.status-dot.inactive{color:#64748b;background:#f1f5f9}.status-dot.inactive:before{background:#94a3b8}.action-btn{padding:.5rem 1rem;font-family:inherit;font-size:.8125rem;font-weight:500;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease;white-space:nowrap}.action-btn.primary{color:#fff;background:linear-gradient(135deg,#00b8d4,#0097a7)}.action-btn.primary:hover:not(:disabled){box-shadow:0 4px 12px #00b8d44d;transform:translateY(-1px)}.action-btn:disabled{opacity:.6;cursor:not-allowed}.empty-state{text-align:center;padding:4rem 2rem!important}.empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.empty-text{font-size:.875rem;color:#94a3b8}.loading-section{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1rem}.loading-section p{font-size:.875rem;color:#64748b;margin:0}.coming-soon{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.coming-soon-icon{font-size:4rem;margin-bottom:1.5rem}.coming-soon h3{font-size:1.5rem;font-weight:600;color:#0f172a;margin:0 0 .5rem}.coming-soon p{font-size:1rem;color:#64748b;margin:0}.filters-bar{display:flex;align-items:center;gap:1rem;padding:1.25rem 1.5rem;background:#f8fafc;border-bottom:1px solid #e2e8f0}.filter-search{position:relative;flex:1;max-width:400px}.filter-search svg{position:absolute;left:.875rem;top:50%;transform:translateY(-50%);width:18px;height:18px;color:#94a3b8}.filter-search input{width:100%;padding:.625rem .875rem .625rem 2.75rem;font-family:inherit;font-size:.875rem;color:#0f172a;background:#fff;border:1px solid #e2e8f0;border-radius:8px;transition:all .2s ease}.filter-search input:focus{outline:none;border-color:#00b8d4;box-shadow:0 0 0 3px #00b8d41a}.filter-search input::placeholder{color:#94a3b8}.filter-group{display:flex;align-items:center;gap:.5rem}.filter-group label{font-size:.8125rem;font-weight:500;color:#64748b;white-space:nowrap}.filter-group select{padding:.5rem .75rem;font-family:inherit;font-size:.8125rem;color:#0f172a;background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .2s ease}.filter-group select:focus{outline:none;border-color:#00b8d4;box-shadow:0 0 0 3px #00b8d41a}.filter-group select:hover{border-color:#cbd5e1}.selection-info{display:flex;align-items:center;gap:.5rem;padding:.5rem .875rem;font-size:.8125rem;font-weight:500;color:#0f172a;background:#e0f2fe;border:1px solid #7dd3fc;border-radius:8px}.bulk-action-btn{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;font-family:inherit;font-size:.75rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#00b8d4,#0097a7);border:none;border-radius:6px;cursor:pointer;transition:all .2s ease}.bulk-action-btn svg{width:14px;height:14px}.bulk-action-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00b8d44d}.clear-selection-btn{padding:.25rem .625rem;font-family:inherit;font-size:.75rem;font-weight:500;color:#0369a1;background:#fff;border:1px solid #7dd3fc;border-radius:4px;cursor:pointer;transition:all .2s ease}.clear-selection-btn:hover{background:#f0f9ff;border-color:#38bdf8}.filter-results{margin-left:auto;padding:.5rem .875rem;font-size:.8125rem;font-weight:500;color:#64748b;background:#fff;border:1px solid #e2e8f0;border-radius:8px}.products-table.compact th,.products-table.compact td{padding:.75rem 1rem;vertical-align:middle}.products-table.compact th{white-space:nowrap;font-size:.8125rem}.table-checkbox{width:18px;height:18px;cursor:pointer;accent-color:#00B8D4}.products-table tbody tr.product-row:hover{background:#fafbfc}.products-table tbody tr.product-row.selected{background:#e0f2fe}.products-table tbody tr.product-row.selected:hover{background:#bae6fd}.product-cell{display:flex;align-items:center;gap:.75rem}.status-indicator{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-indicator.active{background:#16a34a;box-shadow:0 0 0 2px #16a34a33}.status-indicator.inactive{background:#94a3b8;box-shadow:0 0 0 2px #94a3b833}.product-image{width:48px;height:48px;object-fit:cover;border-radius:8px;border:1px solid #e2e8f0;flex-shrink:0}.product-info{display:flex;flex-direction:column;gap:.25rem}.product-title{font-weight:600;color:#0f172a;font-size:.875rem;line-height:1.3}.product-meta{font-size:.75rem;color:#94a3b8}.variant-column{text-align:center;min-width:140px}.variant-price{font-size:.9375rem;font-weight:600;color:#16a34a;white-space:nowrap}.no-variant{color:#cbd5e1;font-size:.875rem}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem;padding:2rem}.settings-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.settings-card-header{display:flex;align-items:center;gap:.75rem;padding:1.25rem 1.5rem;background:#f8fafc;border-bottom:1px solid #e2e8f0}.settings-card-header svg{width:20px;height:20px;color:#00b8d4}.settings-card-header h3{font-size:1rem;font-weight:600;color:#0f172a;margin:0}.settings-card-body{padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem}.setting-item{display:flex;flex-direction:column;gap:.5rem}.setting-item label{font-size:.8125rem;font-weight:500;color:#64748b}.setting-item input{padding:.625rem .875rem;font-family:inherit;font-size:.875rem;color:#0f172a;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;transition:all .2s ease}.setting-item input:disabled{cursor:not-allowed;opacity:.7}.setting-item input:focus:not(:disabled){outline:none;border-color:#00b8d4;background:#fff}@media(max-width:1024px){.sidebar{width:80px}.sidebar-title,.sidebar .nav-item span{display:none}.sidebar .nav-item{justify-content:center;padding:.75rem}.sidebar-toggle{display:none}.dashboard-main{padding:1.5rem}.section-header{padding:1.25rem 1.5rem}.data-table th,.data-table td{padding:.875rem 1rem}}@media(max-width:768px){.admin-dashboard{flex-direction:column}.sidebar{width:100%;flex-direction:row;border-right:none;border-bottom:1px solid #e2e8f0}.sidebar-header{padding:1rem}.sidebar-nav{flex-direction:row;padding:0 1rem;overflow-x:auto}.sidebar .nav-item span{display:none}.sidebar .nav-item{padding:.75rem}.sidebar-toggle{display:none}.dashboard-header{padding:1rem;flex-wrap:wrap;gap:1rem}.user-menu{padding:.375rem .75rem}.user-name{display:none}.dashboard-main{padding:1rem}.stats-grid{grid-template-columns:repeat(2,1fr);gap:1rem}.stat-card{padding:1rem}.stat-icon{width:40px;height:40px;font-size:1.25rem}.stat-value{font-size:1.5rem}.section-header{padding:1rem}.table-card{overflow-x:auto}.data-table{min-width:700px}.settings-grid{grid-template-columns:1fr;padding:1rem}.products-table.compact{min-width:600px}.variant-column{min-width:120px}.filters-bar{flex-wrap:wrap;gap:.75rem;padding:1rem}.filter-search{max-width:none;width:100%}.filter-results{order:-1;width:100%;text-align:center}.selection-info{width:100%;justify-content:center}}@media(max-width:480px){.stats-grid{grid-template-columns:1fr}.link-url{max-width:120px}.product-image{width:40px;height:40px}.product-title{font-size:.8125rem}.variant-price{font-size:.875rem}.variant-column{min-width:100px}.filters-bar{padding:.875rem}.filter-search input{font-size:.8125rem;padding:.5rem .75rem .5rem 2.5rem}.filter-group{width:100%}.filter-group label{font-size:.75rem}.filter-group select{flex:1;font-size:.75rem}}.modal-overlay{position:fixed;inset:0;background:#0f172a80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:1rem;z-index:1000;animation:fadeIn .15s ease}.modal-content{background:#fff;border-radius:12px;width:100%;max-width:450px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 40px #00000026;animation:slideUp .2s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid #e2e8f0;flex-shrink:0}.modal-header h2{font-size:1.125rem;font-weight:600;color:#0f172a;margin:0}.modal-close{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:6px;cursor:pointer;transition:all .15s ease;flex-shrink:0}.modal-close svg{width:18px;height:18px;color:#64748b}.modal-close:hover{background:#f1f5f9}.modal-body{padding:1.25rem;overflow-y:auto;flex:1}.modal-description{font-size:.8125rem;color:#64748b;margin:0 0 1rem}.modal-description strong{color:#0f172a}.price-update-tabs{display:flex;gap:.375rem;margin-bottom:1rem;padding:.25rem;background:#f8fafc;border-radius:6px}.tab-btn{flex:1;padding:.5rem;font-family:inherit;font-size:.75rem;font-weight:500;color:#64748b;background:transparent;border:none;border-radius:4px;cursor:pointer;transition:all .15s ease}.tab-btn:hover{color:#0f172a;background:#fff}.tab-btn.active{color:#00b8d4;background:#fff;box-shadow:0 1px 2px #0000000d}.price-inputs{display:flex;flex-direction:column;gap:1rem}.variant-price-section{display:flex;flex-direction:column;gap:.5rem;padding:.875rem;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.variant-section-label{font-size:.8125rem;font-weight:600;color:#0f172a;margin:0}.variant-inputs-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.input-group.compact{margin:0}.input-group.compact label{font-size:.6875rem;margin-bottom:.25rem}.input-group{display:flex;flex-direction:column;gap:.375rem}.input-group label{font-size:.75rem;font-weight:500;color:#475569}.input-with-prefix,.input-with-suffix{position:relative;display:flex;align-items:center;width:100%}.input-prefix{position:absolute;left:.75rem;font-size:.875rem;font-weight:500;color:#64748b;z-index:1;pointer-events:none}.input-suffix{position:absolute;right:.75rem;font-size:.875rem;font-weight:500;color:#64748b;z-index:1;pointer-events:none}.input-group input{width:100%;padding:.5rem .75rem;font-family:inherit;font-size:.8125rem;color:#0f172a;background:#fff;border:1px solid #e2e8f0;border-radius:6px;transition:all .15s ease;box-sizing:border-box}.input-with-prefix input{padding-left:2rem}.input-with-suffix input{padding-right:2.25rem}.input-with-prefix input:focus,.input-with-suffix input:focus,.input-group input:focus{outline:none;border-color:#00b8d4;box-shadow:0 0 0 3px #00b8d414}.input-group input:disabled{background:#f8fafc;cursor:not-allowed}.input-hint{font-size:.6875rem;color:#94a3b8;margin:0}.divider{display:flex;align-items:center;justify-content:center;font-size:.6875rem;font-weight:600;color:#94a3b8;text-align:center;position:relative;margin:.25rem 0}.divider:before,.divider:after{content:"";flex:1;height:1px;background:#e2e8f0}.divider:before{margin-right:.75rem}.divider:after{margin-left:.75rem}.modal-footer{display:flex;gap:.5rem;padding:1rem 1.25rem;border-top:1px solid #e2e8f0;flex-shrink:0}.modal-btn{flex:1;padding:.625rem 1rem;font-family:inherit;font-size:.8125rem;font-weight:500;border:none;border-radius:6px;cursor:pointer;transition:all .15s ease}.modal-btn.confirm{background:linear-gradient(135deg,#00b8d4,#0097a7);color:#fff;box-shadow:0 2px 8px #00b8d440}.modal-btn.confirm:hover:not(:disabled){box-shadow:0 4px 12px #00b8d459;transform:translateY(-1px)}.modal-btn.confirm:disabled{background:#cbd5e1;cursor:not-allowed;opacity:.6;box-shadow:none}.modal-btn.confirm:disabled:hover{transform:none}@media(max-width:480px){.modal-content{max-width:100%;border-radius:16px 16px 0 0;max-height:85vh}.modal-header{padding:.875rem 1rem}.modal-header h2{font-size:1rem}.modal-body{padding:1rem}.modal-footer{padding:.875rem 1rem}.price-update-tabs{flex-direction:column}.tab-btn{text-align:center}.variant-inputs-row{grid-template-columns:1fr}.variant-price-section{padding:.75rem}}.upload-page{min-height:100vh;background:linear-gradient(145deg,#fafbfc,#f0f4f8);font-family:DM Sans,sans-serif}.upload-page.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;color:#64748b}.loader{width:48px;height:48px;border:3px solid #e2e8f0;border-top-color:#0ea5e9;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.upload-page.error-page{display:flex;align-items:center;justify-content:center;padding:2rem}.error-container{text-align:center;padding:3rem;background:#fff;border-radius:24px;box-shadow:0 4px 24px #0000000f;max-width:400px}.error-icon{width:64px;height:64px;color:#f43f5e;margin-bottom:1.5rem}.error-container h1{font-size:1.5rem;font-weight:700;color:#1e293b;margin:0 0 .5rem}.error-container p{color:#64748b;margin:0 0 2rem}.primary-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.875rem 1.75rem;font-family:inherit;font-size:.9375rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#0ea5e9,#0284c7);border:none;border-radius:12px;text-decoration:none;cursor:pointer;transition:all .2s ease}.primary-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0ea5e94d}.header{padding:1.25rem 2rem;background:#fff;border-bottom:1px solid #e2e8f0}.logo{height:36px}.main-content{max-width:720px;margin:0 auto;padding:2rem}.upload-container{background:#fff;border-radius:24px;padding:2.5rem;box-shadow:0 4px 24px #0000000a}.order-info{text-align:center;margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid #f1f5f9}.order-info h1{font-size:1.75rem;font-weight:700;color:#0f172a;margin:0 0 .25rem}.order-number{font-size:.9375rem;color:#64748b;margin:0 0 1.25rem}.stats-row{display:flex;justify-content:center;gap:2rem}.stat-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#475569}.stat-item svg{width:18px;height:18px;color:#0ea5e9}.stat-item.uploaded svg{color:#10b981}.stat-item strong{color:#0f172a}.step-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}.step-number{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#0ea5e9,#0284c7);border-radius:50%;flex-shrink:0}.step-info h2{font-size:1.125rem;font-weight:600;color:#0f172a;margin:0 0 .25rem}.step-info p{font-size:.875rem;color:#64748b;margin:0}.step-info strong{color:#0ea5e9}.options-step{margin-bottom:2rem}.option-section-block{background:#f8fafc;border-radius:16px;padding:1.25rem;margin-bottom:1.25rem;border:1px solid #e2e8f0}.option-section-block .info-banner{margin-top:1rem;margin-bottom:0}.option-group{display:flex;flex-direction:column;gap:.75rem}.option-label{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;font-weight:600;color:#475569}.option-label svg{width:16px;height:16px}.toggle-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem}.toggle-btn{display:flex;flex-direction:column;align-items:center;gap:.375rem;padding:1rem;font-family:inherit;color:#64748b;background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;transition:all .15s ease}.toggle-btn svg{width:24px;height:24px}.toggle-label{font-size:.9375rem;font-weight:600}.toggle-desc{font-size:.75rem;opacity:.7}.toggle-btn:hover{border-color:#cbd5e1;background:#f1f5f9}.toggle-btn.active{color:#0ea5e9;background:#f0f9ff;border-color:#0ea5e9}.info-banner{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;background:#fef3c7;border-radius:12px;margin-bottom:1.5rem}.info-banner svg{width:20px;height:20px;color:#d97706;flex-shrink:0;margin-top:1px}.info-banner span{font-size:.875rem;color:#92400e;line-height:1.5}.info-banner.recommendation{background:#ede9fe}.info-banner.recommendation svg{color:#7c3aed}.info-banner.recommendation span{color:#5b21b6}.info-banner.recommendation strong{color:#6d28d9}.confirm-options-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.625rem;padding:1rem;font-family:inherit;font-size:1rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#0ea5e9,#0284c7);border:none;border-radius:12px;cursor:pointer;transition:all .2s ease}.confirm-options-btn svg{width:20px;height:20px}.confirm-options-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0ea5e94d}.confirmed-options{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;margin-bottom:2rem}.confirmed-info{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.confirmed-label{font-size:.875rem;font-weight:500;color:#166534}.option-tag{padding:.25rem .75rem;font-size:.8125rem;font-weight:600;color:#166534;background:#dcfce7;border-radius:6px}.change-options-btn{padding:.5rem 1rem;font-family:inherit;font-size:.8125rem;font-weight:500;color:#166534;background:transparent;border:1px solid #86efac;border-radius:8px;cursor:pointer;transition:all .2s ease}.change-options-btn:hover{background:#dcfce7}.upload-step{margin-bottom:1.5rem}.upload-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;border:2px dashed #cbd5e1;border-radius:16px;background:#fafbfc;cursor:pointer;transition:all .2s ease;margin-bottom:1.5rem}.upload-zone:hover,.upload-zone.dragging{border-color:#0ea5e9;background:#f0f9ff}.upload-icon{width:48px;height:48px;color:#94a3b8;margin-bottom:1rem;transition:all .2s ease}.upload-zone:hover .upload-icon,.upload-zone.dragging .upload-icon{color:#0ea5e9;transform:translateY(-4px)}.upload-text{font-size:1rem;font-weight:600;color:#334155;margin:0 0 .25rem}.upload-hint{font-size:.8125rem;color:#94a3b8;margin:0}.preview-section{margin-bottom:1.5rem}.preview-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.preview-count{font-size:.875rem;font-weight:600;color:#475569}.upload-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-family:inherit;font-size:.875rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#0ea5e9,#0284c7);border:none;border-radius:10px;cursor:pointer;transition:all .2s ease}.upload-btn svg{width:18px;height:18px}.upload-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 16px #0ea5e94d}.upload-btn:disabled{opacity:.8;cursor:not-allowed}.btn-loader{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.75rem}.preview-card{position:relative;aspect-ratio:1;border-radius:12px;overflow:hidden;background:#f1f5f9}.preview-card img{width:100%;height:100%;object-fit:contain;background:#e2e8f0}.image-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;width:100%;height:100%;padding:.75rem;text-align:center;color:#475569;background:#e2e8f0;font-size:.8125rem;line-height:1.3}.image-fallback svg{width:22px;height:22px;color:#94a3b8}.fallback-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-all;font-size:.75rem;color:#64748b}.preview-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0006}.preview-overlay.success{background:#10b981d9}.preview-overlay.error{background:#f43f5ed9}.preview-overlay svg{width:32px;height:32px;color:#fff}.preview-loader{width:28px;height:28px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.remove-btn{position:absolute;top:6px;right:6px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#0009;border:none;border-radius:50%;cursor:pointer;opacity:0;transition:all .15s ease}.remove-btn svg{width:14px;height:14px;color:#fff}.preview-card:hover .remove-btn{opacity:1}.remove-btn:hover{background:#f43f5e}.uploaded-section{margin-top:2rem;padding-top:2rem;border-top:1px solid #e2e8f0}.section-header{display:flex;align-items:center;gap:.625rem;margin-bottom:1rem}.section-header svg{width:20px;height:20px;color:#10b981}.section-header h3{font-size:1rem;font-weight:600;color:#1e293b;margin:0}.data-notice{display:flex;align-items:center;gap:.625rem;padding:.75rem 1rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:1rem}.data-notice svg{width:18px;height:18px;color:#64748b;flex-shrink:0}.data-notice span{font-size:.8125rem;color:#64748b;line-height:1.4}.uploaded-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.75rem}.uploaded-card{position:relative;border-radius:12px;overflow:hidden;background:#f1f5f9;box-shadow:0 2px 8px #0000000f}.uploaded-card img{width:100%;height:100%;object-fit:contain;background:#e2e8f0;display:block}.uploaded-card.large-landscape{aspect-ratio:6 / 4}.uploaded-card.large-portrait,.uploaded-card.large-square{aspect-ratio:4 / 6}.uploaded-card.small-landscape{aspect-ratio:4 / 3}.uploaded-card.small-portrait,.uploaded-card.small-square{aspect-ratio:3 / 4}.uploaded-card.large-loading{aspect-ratio:6 / 4}.uploaded-card.small-loading{aspect-ratio:4 / 3}.uploaded-check{position:absolute;top:8px;right:8px;width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:#10b981;border-radius:50%;box-shadow:0 2px 4px #0003}.uploaded-check svg{width:12px;height:12px;color:#fff}.delete-btn{position:absolute;bottom:8px;right:8px;width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:#0009;border:none;border-radius:6px;cursor:pointer;opacity:0;transition:all .15s ease;box-shadow:0 2px 4px #0003}.delete-btn svg{width:14px;height:14px;color:#fff}.uploaded-card:hover .delete-btn{opacity:1}.delete-btn:hover{background:#ef4444}.uploaded-card.deleting{opacity:.6;pointer-events:none}.delete-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#00000080}.delete-loader{width:24px;height:24px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.submit-section{margin-top:2rem;padding-top:2rem;border-top:1px solid #e2e8f0;text-align:center}.submit-ready{display:inline-flex;align-items:center;gap:.625rem;padding:.75rem 1.25rem;background:#f0fdf4;border-radius:10px;margin-bottom:1.25rem}.submit-ready svg{width:20px;height:20px;color:#10b981}.submit-ready span{font-size:.9375rem;font-weight:500;color:#166534}.submit-pending{display:inline-flex;align-items:center;gap:.625rem;padding:.75rem 1.25rem;background:#fef3c7;border-radius:10px;margin-bottom:1.25rem}.submit-pending svg{width:20px;height:20px;color:#d97706}.submit-pending span{font-size:.9375rem;font-weight:500;color:#92400e}.submit-btn{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;width:100%;max-width:320px;padding:1rem 2rem;font-family:inherit;font-size:1.125rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:14px;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 16px #10b9814d}.submit-btn svg{width:24px;height:24px}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #10b98166}.submit-btn.disabled,.submit-btn:disabled{background:#94a3b8;cursor:not-allowed;box-shadow:none}.submit-btn:disabled:hover{transform:none}.submitted-success{text-align:center;padding:2rem 1rem}.success-icon-wrapper{width:80px;height:80px;margin:0 auto 1.5rem;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#10b981,#059669);border-radius:50%;animation:scaleIn .4s ease}@keyframes scaleIn{0%{transform:scale(0);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.success-icon-wrapper svg{width:40px;height:40px;color:#fff}.submitted-success h1{font-size:1.75rem;font-weight:700;color:#0f172a;margin:0 0 .5rem}.submitted-order{font-size:1rem;color:#64748b;margin:0 0 1rem}.submitted-message{font-size:1rem;color:#475569;max-width:400px;margin:0 auto 1.5rem;line-height:1.6}.submitted-details{display:inline-flex;flex-direction:column;gap:.5rem;padding:1rem 1.5rem;background:#f8fafc;border-radius:12px;margin-bottom:2rem}.detail-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#64748b}.detail-item svg{width:16px;height:16px}.submitted-success .primary-btn{margin-top:1rem}.submitted-success .primary-btn svg{width:20px;height:20px}.uploaded-section.readonly{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e2e8f0}.uploaded-card.readonly{cursor:default}.uploaded-card.readonly:hover .delete-btn{opacity:0}.expires-text{text-align:center;font-size:.8125rem;color:#94a3b8;margin:1.5rem 0 0}.modal-overlay{position:fixed;inset:0;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:1000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:24px;padding:2.5rem;max-width:480px;width:100%;text-align:center;box-shadow:0 24px 48px #0003;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-icon{width:72px;height:72px;margin:0 auto 1.5rem;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#10b981,#059669);border-radius:50%}.modal-icon svg{width:36px;height:36px;color:#fff}.modal-content h2{font-size:1.5rem;font-weight:700;color:#0f172a;margin:0 0 .75rem}.modal-message{font-size:1rem;color:#64748b;margin:0 0 1.5rem;line-height:1.5}.modal-message strong{color:#0f172a}.modal-warning{display:flex;align-items:flex-start;gap:.875rem;text-align:left;padding:1rem 1.25rem;background:#fef3c7;border-radius:12px;margin-bottom:1.75rem}.modal-warning svg{width:22px;height:22px;color:#d97706;flex-shrink:0;margin-top:2px}.modal-warning div{display:flex;flex-direction:column;gap:.25rem}.modal-warning strong{font-size:.9375rem;color:#92400e}.modal-warning span{font-size:.8125rem;color:#a16207;line-height:1.4}.modal-actions{display:flex;gap:.75rem}.modal-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1.25rem;font-family:inherit;font-size:.9375rem;font-weight:600;border:none;border-radius:12px;cursor:pointer;transition:all .2s ease;white-space:nowrap}.modal-btn svg{width:18px;height:18px}.modal-btn.cancel{background:#f1f5f9;color:#475569}.modal-btn.cancel:hover{background:#e2e8f0}.modal-btn.confirm{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 4px 12px #10b9814d}.modal-btn.confirm:hover{transform:translateY(-1px);box-shadow:0 6px 16px #10b98166}@media(max-width:600px){.header{padding:1rem 1.25rem}.main-content{padding:1rem}.upload-container{padding:1.5rem;border-radius:20px}.option-section-block{padding:1rem;margin-bottom:1rem}.stats-row{flex-direction:column;gap:.75rem;align-items:stretch}.stat-item{justify-content:center}.step-header{align-items:center}.toggle-btn{padding:.85rem}.upload-zone{padding:2rem 1.5rem}.preview-grid{grid-template-columns:repeat(3,1fr)}.preview-header{flex-direction:column;gap:.75rem;align-items:stretch}.preview-count{text-align:center}.upload-btn{justify-content:center;width:100%}.confirmed-options{flex-direction:column;gap:.75rem;align-items:flex-start}.change-options-btn{width:100%;text-align:center}.uploaded-grid{grid-template-columns:repeat(2,1fr)}.submit-btn{width:100%}.modal-content{padding:1.75rem;border-radius:20px}.modal-icon{width:60px;height:60px;margin-bottom:1.25rem}.modal-icon svg{width:30px;height:30px}.modal-content h2{font-size:1.25rem}.modal-actions{flex-direction:column-reverse}.modal-btn{width:100%}}@media(max-width:420px){.step-header{flex-direction:column;align-items:flex-start;gap:.5rem}.toggle-group{grid-template-columns:1fr}.preview-grid,.uploaded-grid{grid-template-columns:repeat(2,1fr)}.submit-btn{width:100%;font-size:1rem}}
