*{margin:0;padding:0;box-sizing:border-box}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--touch-target-size: 44px;--min-font-size: 16px}body{margin:0;min-height:100vh;font-family:inherit;overflow-x:hidden;scroll-behavior:smooth}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{min-height:100vh;position:relative}button,a,input[type=button],input[type=submit]{min-height:var(--touch-target-size);min-width:var(--touch-target-size)}button,.pagination-btn{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;user-select:none}*:focus-visible{outline:2px solid #667eea;outline-offset:2px}img{max-width:100%;height:auto;display:block}@media(prefers-reduced-motion:no-preference){*{transition-timing-function:cubic-bezier(.4,0,.2,1)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.company-header-container{width:100%;margin-bottom:.75rem;position:relative;z-index:10}.company-header{max-width:1600px;margin:0 auto;background:#ffffff26;backdrop-filter:blur(20px);border-radius:20px;padding:.75rem 2rem;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;box-shadow:0 8px 32px #0000001a;border:1px solid rgba(255,255,255,.2);position:relative;overflow:hidden;min-height:80px}.company-header:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);animation:shimmer 3s infinite}@keyframes shimmer{0%{left:-100%}to{left:100%}}.company-brand{display:flex;align-items:center;gap:1rem;flex:1;min-width:0}.logo-container{position:relative}.logo-wrapper{position:relative;border-radius:20px;overflow:hidden;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 25px #667eea66;transition:all .3s ease;animation:logoPulse 2s ease-in-out infinite}@keyframes logoPulse{0%,to{transform:scale(1);box-shadow:0 6px 20px #667eea59}50%{transform:scale(1.03);box-shadow:0 8px 25px #667eea73}}.logo-wrapper:hover{transform:scale(1.05) rotate(2deg);box-shadow:0 10px 30px #667eea80}.logo-shine{position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 30%,rgba(255,255,255,.3) 50%,transparent 70%);animation:rotateShine 3s linear infinite;pointer-events:none}@keyframes rotateShine{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.company-logo{position:relative;z-index:1}.company-header.loading{opacity:.8}.logo-placeholder{width:100%;height:100%;background:linear-gradient(90deg,#e0e0e0 25%,#f5f5f5,#e0e0e0 75%);background-size:200% 100%;animation:loadingShimmer 1.5s infinite;border-radius:20px}.company-name-placeholder{width:200px;height:32px;background:linear-gradient(90deg,#e0e0e0 25%,#f5f5f5,#e0e0e0 75%);background-size:200% 100%;animation:loadingShimmer 1.5s infinite;border-radius:8px;margin-bottom:8px}.company-tagline-placeholder{width:300px;height:16px;background:linear-gradient(90deg,#e0e0e0 25%,#f5f5f5,#e0e0e0 75%);background-size:200% 100%;animation:loadingShimmer 1.5s infinite;border-radius:8px}@keyframes loadingShimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.company-info{display:flex;flex-direction:column;gap:.25rem}.company-name{margin:0;letter-spacing:-.5px;position:relative;line-height:1.2;word-wrap:break-word;overflow-wrap:break-word;text-shadow:0 2px 10px rgba(0,0,0,.2)}.company-tagline{margin:0;letter-spacing:.5px;line-height:1.4;word-wrap:break-word;overflow-wrap:break-word;opacity:.95}.header-actions{display:flex;gap:1rem;align-items:center}.header-back-btn,.header-search-btn{background:#fffffff2;color:#667eea;border:none;padding:.875rem 2rem;border-radius:50px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0003;display:flex;align-items:center;gap:.5rem;white-space:nowrap;position:relative;overflow:hidden}.header-back-btn:before,.header-search-btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#667eea1a;transform:translate(-50%,-50%);transition:width .6s,height .6s}.header-back-btn:hover:before,.header-search-btn:hover:before{width:300px;height:300px}.header-back-btn:hover,.header-search-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000004d;background:#fff}.header-back-btn:active,.header-search-btn:active{transform:translateY(0)}.search-icon{font-size:1.125rem;animation:searchPulse 2s ease-in-out infinite}@keyframes searchPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.announcement-banner{max-width:1600px;margin:.5rem auto 0;background:linear-gradient(135deg,#ffd700e6,#ffa500e6);border-radius:12px;padding:.375rem 1.5rem;box-shadow:0 4px 15px #ffd70040;border:1px solid rgba(255,255,255,.3);position:relative;overflow:hidden;min-height:48px}.announcement-banner:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:bannerShimmer 2s infinite}@keyframes bannerShimmer{0%{left:-100%}to{left:100%}}.announcement-content{display:flex;align-items:center;gap:1rem;position:relative;z-index:1}.announcement-icon{font-size:1.625rem;animation:iconBounce 1s ease-in-out infinite;flex-shrink:0}@keyframes iconBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.announcement-text-container{flex:1;overflow:hidden;height:1.5rem;position:relative}.announcement-text{font-size:1rem;font-weight:600;color:#8b4513;white-space:nowrap;position:absolute;width:100%;text-align:center;opacity:0;transform:translate(100%);transition:opacity .5s ease,transform .5s ease}.announcement-text.active{opacity:1;transform:translate(0);animation:slideText 5s ease-in-out}@keyframes slideText{0%{transform:translate(100%);opacity:0}8%{transform:translate(0);opacity:1}92%{transform:translate(0);opacity:1}to{transform:translate(-100%);opacity:0}}@media(max-width:1024px){.company-header-container{margin-bottom:.625rem}.company-header{padding:.625rem 1.5rem;min-height:70px}}@media(max-width:768px){.company-header-container{margin-bottom:.5rem}.company-header{padding:.625rem 1.25rem;flex-direction:row;gap:.875rem;border-radius:16px;align-items:center;min-height:60px}.company-brand{width:auto;flex:1;justify-content:flex-start;gap:.875rem;min-width:0}.logo-wrapper{flex-shrink:0;border-radius:12px}.company-info{min-width:0;flex:1;gap:.125rem}.company-name{text-align:left;line-height:1.15}.company-tagline{text-align:left;line-height:1.3}.header-actions{width:auto;justify-content:flex-end;flex-wrap:nowrap;flex-shrink:0;gap:.5rem}.header-back-btn,.header-search-btn{padding:.625rem 1rem;font-size:.8125rem;white-space:nowrap}.announcement-banner{padding:.375rem 1.25rem;border-radius:12px;margin-top:.5rem;min-height:44px}.announcement-icon{font-size:1.375rem}.announcement-text{font-size:.9375rem}.announcement-text-container{height:1.375rem}}@media(max-width:480px){.company-header-container{margin-bottom:.5rem}.company-header{padding:.5rem 1rem;border-radius:12px;gap:.625rem;min-height:55px}.company-brand{flex-direction:row;justify-content:flex-start;align-items:center;gap:.625rem;min-width:0;flex:1}.logo-wrapper{flex-shrink:0;border-radius:10px}.company-info{min-width:0;flex:1;gap:.125rem}.company-name{text-align:left;line-height:1.1}.company-tagline{text-align:left;line-height:1.25}.header-actions{flex-direction:row;width:auto;justify-content:flex-end;flex-wrap:nowrap;flex-shrink:0;gap:.5rem}.header-back-btn,.header-search-btn{width:auto;padding:.5rem .875rem;font-size:.75rem;justify-content:center;white-space:nowrap}.announcement-banner{padding:.3125rem 1rem;border-radius:10px;margin-top:.5rem;min-height:40px}.announcement-content{gap:.75rem}.announcement-icon{font-size:1.25rem}.announcement-text{font-size:.875rem}.announcement-text-container{height:1.25rem}}@media(max-width:360px){.company-header-container{margin-bottom:.5rem}.company-header{padding:.5rem .875rem;gap:.5rem;min-height:50px}.company-brand{gap:.5rem}.logo-wrapper{flex-shrink:0;border-radius:8px}.company-name{text-align:left;line-height:1.1}.company-tagline{text-align:left;line-height:1.2}.header-actions{gap:.375rem}.header-back-btn,.header-search-btn{padding:.4375rem .75rem;font-size:.6875rem}.announcement-banner{padding:.3125rem .875rem;margin-top:.5rem;min-height:36px}.announcement-icon{font-size:1.125rem}.announcement-text{font-size:.8125rem}.announcement-text-container{height:1.125rem}}@media(min-width:1441px){.company-header-container{margin-bottom:.875rem}.company-header{padding:.875rem 2.5rem;border-radius:24px;min-height:90px}.header-back-btn,.header-search-btn{padding:1rem 2.5rem;font-size:1.125rem}.announcement-banner{padding:.5rem 2rem;border-radius:16px;min-height:52px}.announcement-icon{font-size:1.625rem}.announcement-text{font-size:1.125rem}.announcement-text-container{height:1.625rem}.announcement-content{gap:1.25rem}}.app-footer{width:100%;background:#0003;backdrop-filter:blur(10px);border-top:1px solid rgba(255,255,255,.1);padding:.1875rem 0;margin-top:auto}.footer-content{max-width:1600px;margin:0 auto;padding:0 2rem;text-align:center}.footer-text{margin:0;font-size:.9375rem;color:#ffffffe6;display:flex;align-items:center;justify-content:center;gap:.5rem;flex-wrap:wrap;line-height:1.2;text-align:center;width:100%}.footer-copyright{color:#ffffffe6;line-height:1.2;display:inline-block}.footer-separator{color:#ffffff80;line-height:1.2;display:inline-block}.footer-company{font-weight:600;color:#fffffff2;text-decoration:none;transition:all .3s ease;border-bottom:1px solid transparent;cursor:pointer;line-height:1.2;display:inline-flex;align-items:center;justify-content:center;text-align:center}.footer-company:hover{color:#fff;border-bottom-color:#fff9;transform:translateY(-1px)}.footer-company:active{transform:translateY(0)}@media(max-width:768px){.app-footer{padding:.15625rem 0}.footer-content{padding:0 1.5rem}.footer-text{font-size:.875rem;gap:.5rem}}@media(max-width:480px){.app-footer{padding:.125rem 0}.footer-content{padding:0 1rem}.footer-text{font-size:.8125rem;gap:.5rem}}@media(max-width:360px){.footer-text{font-size:.6875rem}}.home-page{min-height:100vh;background:#f8f9fa;padding:0;display:flex;flex-direction:column}.home-page-content{flex:1;padding:2rem;max-width:1600px;margin:0 auto;width:100%}.home-header{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid #e5e7eb}.home-header h1,.search-btn{display:none}.loading-container{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;color:#6b7280;background:#f8f9fa}.loading-spinner{width:50px;height:50px;border:4px solid #e5e7eb;border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite}.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.25rem;padding-bottom:2rem}@media(min-width:1536px){.products-grid{grid-template-columns:repeat(6,1fr)}}@media(min-width:1280px)and (max-width:1535px){.products-grid{grid-template-columns:repeat(5,1fr)}}@media(min-width:1024px)and (max-width:1279px){.products-grid{grid-template-columns:repeat(4,1fr)}}@media(min-width:640px)and (max-width:1023px){.products-grid{grid-template-columns:repeat(2,1fr)}}.product-card{background:#fff;border-radius:16px;overflow:hidden;border:1px solid #e5e7eb;cursor:pointer;transition:all .2s ease;position:relative;display:flex;flex-direction:column;height:100%}.product-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #00000014;border-color:#667eea}.product-image-container{position:relative;width:100%;aspect-ratio:1/1;overflow:hidden;background:#fafafa;padding:.75rem;display:flex;align-items:center;justify-content:center;border-bottom:1px solid #f0f0f0}.product-image{width:100%;height:100%;object-fit:contain;background:transparent;cursor:pointer}.no-image-icon{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:4rem;color:#ccc;background:#f5f5f5}.image-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#667eea00;display:flex;align-items:center;justify-content:center;opacity:0;transition:all .3s ease;cursor:pointer}.product-image-container:hover .image-overlay{background:#667eead9;opacity:1;backdrop-filter:blur(2px)}.zoom-icon{font-size:2.5rem;color:#fff;transform:scale(.5);transition:all .3s cubic-bezier(.175,.885,.32,1.275);filter:drop-shadow(0 4px 8px rgba(0,0,0,.3));animation:zoomPulse 2s ease-in-out infinite}.product-image-container:hover .zoom-icon{transform:scale(1)}.product-image-container:hover .zoom-icon{animation:zoomBounce .6s ease}@keyframes zoomBounce{0%{transform:scale(.5)}50%{transform:scale(1.15)}to{transform:scale(1)}}.product-info{padding:.75rem;position:relative;display:flex;flex-direction:column;flex:1;gap:.5rem}.product-header{display:flex;flex-direction:column;gap:.25rem;flex:1}.product-name{margin:0;font-size:.875rem;font-weight:600;color:#111827;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word;word-break:break-word;max-height:2.45rem;min-height:2.4rem}.stock-code{font-size:.75rem;color:#6b7280;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-details{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem;padding-top:.5rem;border-top:1px solid #f0f0f0;margin-top:auto}.price{font-size:.875rem;font-weight:700;color:#111827;white-space:nowrap}.stock-badge{padding:.25rem .5rem;border-radius:6px;font-size:.6875rem;font-weight:600;white-space:nowrap;display:inline-flex;align-items:center;gap:.25rem}.stock-badge:before{content:"●";font-size:.5rem}.stock-badge.in-stock{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.stock-badge.medium-stock{background:#fef3c7;color:#b45309;border:1px solid #fcd34d}.stock-badge.low-stock{background:#fee2e2;color:#dc2626;border:1px solid #fca5a5}.stock-badge.very-low-stock{background:#fee2e2;color:#991b1b;border:1px solid #dc2626}.stock-badge.out-of-stock{background:#f3f4f6;color:#6b7280;border:1px solid #d1d5db}.image-modal{position:fixed;inset:0;background:#000000d9;backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem;animation:modalFadeIn .2s ease}.image-modal-content{background:#fff;border-radius:16px;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #0000004d;position:relative;animation:modalSlideUp .3s ease}@keyframes modalSlideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.image-modal-close{position:absolute;top:1rem;right:1rem;z-index:10;background:#fffffff2;border:none;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:20px;color:#333;transition:background .2s ease,transform .2s ease;box-shadow:0 2px 8px #00000026}.image-modal-close:hover{background:#fff;transform:scale(1.1)}.image-modal-close:active{transform:scale(.95)}.image-modal-header{padding:1.5rem 1.5rem 1rem;border-bottom:1px solid #e0e0e0;background:#f8f9fa}.image-modal-header h3{margin:0;font-size:1.25rem;color:#333;font-weight:600;padding-right:3rem}.image-modal-body{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem;background:#fff;overflow:auto;min-height:300px;max-height:calc(90vh - 160px)}.expanded-image{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px}.image-modal-footer{padding:1rem 1.5rem;background:#f8f9fa;border-top:1px solid #e0e0e0;display:flex;justify-content:center}.image-modal-hint{background:transparent;border:none;color:#999;font-size:.875rem;cursor:pointer;padding:.5rem 1rem;border-radius:6px;transition:background .2s ease,color .2s ease}.image-modal-hint:hover{background:#667eea1a;color:#667eea}.products-info{margin-bottom:1rem;padding:.5rem 1rem;background:#ffffffe6;border-radius:8px;border:1px solid rgba(102,126,234,.1);box-shadow:0 2px 8px #0000000d}.products-count{color:#6b7280;font-size:.8125rem;font-weight:500;margin:0}.pagination-container{margin:3rem 0 2rem;display:flex;justify-content:center;align-items:center;gap:.5rem;flex-wrap:wrap;padding:2rem 0}.pagination-pages{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;justify-content:center}.pagination-btn{background:#fff;color:#374151;border:1px solid #e5e7eb;padding:.5rem .75rem;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:40px;height:40px;display:flex;align-items:center;justify-content:center}.pagination-btn:hover:not(:disabled){background:#f9fafb;border-color:#667eea;color:#667eea}.pagination-btn.active{background:#667eea;color:#fff;border-color:#667eea}.pagination-btn:disabled{opacity:.4;cursor:not-allowed;background:#f9fafb}.pagination-btn.pagination-nav{padding:.5rem 1rem;min-width:auto;font-weight:600}.pagination-ellipsis{color:#9ca3af;font-size:1rem;font-weight:600;padding:0 .5rem;user-select:none;display:flex;align-items:center}@media(min-width:769px)and (max-width:1024px){.home-page-content{padding:1.5rem}.products-grid{grid-template-columns:repeat(3,1fr);gap:1.25rem}}@media(max-width:768px){.home-page-content{padding:1rem}.products-grid{grid-template-columns:repeat(2,1fr);gap:1rem}.product-card{border-radius:12px}.product-image-container{padding:.75rem}.no-image-icon{font-size:3.5rem}.product-info{padding:.75rem}.product-header{min-height:3rem;margin-bottom:.25rem;gap:.25rem;position:relative}.product-name{font-size:.875rem;min-height:2.4rem;max-height:2.45rem;flex:0 0 auto;order:1;position:relative;z-index:1;margin-bottom:.125rem;word-wrap:break-word;word-break:break-word;overflow:hidden;text-overflow:ellipsis}.stock-code{min-height:1.125rem;height:1.125rem;line-height:1.125rem;flex:0 0 auto;order:2;position:relative;z-index:0}.product-details{flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap;margin-top:auto}.price{font-size:.875rem;white-space:nowrap}.stock-badge{font-size:.6875rem}.pagination-container{gap:.5rem;padding:1.5rem .5rem;margin-top:2rem}.pagination-btn{padding:.625rem 1rem;font-size:.875rem;min-width:40px;height:40px}.pagination-btn.pagination-nav{padding:.625rem 1rem;font-size:.875rem}.pagination-pages{gap:.25rem}.products-count{font-size:.9375rem}.image-modal-content{max-width:92vw;max-height:92vh}.image-modal-header h3{font-size:1.125rem}.image-modal-body{padding:1.5rem 1.25rem;max-height:calc(92vh - 140px)}}@media(max-width:480px){.home-page-content{padding:.75rem}.products-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.product-card{border-radius:10px}.product-image-container{padding:.625rem}.no-image-icon{font-size:3rem}.product-info{padding:.75rem}.product-header{min-height:2.75rem;margin-bottom:.25rem;gap:.25rem;position:relative}.product-name{font-size:.875rem;line-height:1.3;min-height:2.1rem;max-height:2.275rem;flex:0 0 auto;word-wrap:break-word;word-break:break-word;overflow:hidden;text-overflow:ellipsis;order:1;position:relative;z-index:1;margin-bottom:.125rem}.stock-code{font-size:.8125rem;min-height:1rem;height:1rem;line-height:1rem;flex:0 0 auto;order:2;position:relative;z-index:0}.product-details{flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap;margin-top:auto}.price{font-size:.875rem}.stock-badge{padding:.25rem .5rem;font-size:.6875rem}.products-info{margin-bottom:.875rem;padding:.4375rem .875rem}.products-count{font-size:.75rem}.pagination-container{gap:.375rem;padding:1rem .25rem;margin-top:1.5rem;flex-direction:column}.pagination-pages{width:100%;justify-content:center;gap:.25rem}.pagination-btn{padding:.5rem .875rem;font-size:.8125rem;min-width:38px;height:38px;flex:1;max-width:45px}.pagination-btn.pagination-nav{width:100%;max-width:100%;padding:.75rem 1.25rem;font-size:.875rem}.pagination-ellipsis{font-size:1rem;padding:0 .25rem}.image-modal{padding:1rem}.image-modal-content{max-width:95vw;max-height:95vh}.image-modal-close{top:.75rem;right:.75rem;width:36px;height:36px;font-size:18px}.image-modal-header{padding:1rem 1rem .75rem}.image-modal-header h3{font-size:1.125rem;padding-right:2.5rem}.image-modal-body{padding:1.5rem 1rem;min-height:250px;max-height:calc(95vh - 140px)}.image-modal-footer{padding:.75rem 1rem}.image-modal-hint{font-size:.8125rem}}@media(max-width:360px){.home-page-content{padding:.5rem}.product-image-container{padding:.75rem}.no-image-icon{font-size:2.5rem}.product-info{padding:.75rem}.product-header{min-height:2.875rem;margin-bottom:.25rem;gap:.25rem;position:relative}.product-name{min-height:2.2rem;max-height:2.325rem;flex:0 0 auto;order:1;position:relative;z-index:1;word-wrap:break-word;word-break:break-word;overflow:hidden;text-overflow:ellipsis;margin-bottom:.125rem}.stock-code{min-height:1rem;height:1rem;line-height:1rem;font-size:.75rem;flex:0 0 auto;order:2;position:relative;z-index:0}.product-details{margin-top:auto}.price{font-size:.9375rem;white-space:nowrap}.pagination-btn{min-width:35px;height:35px;font-size:.75rem;padding:.4375rem .75rem}.image-modal{padding:.5rem}.image-modal-content{max-width:98vw;max-height:98vh;border-radius:12px}.image-modal-close{top:.5rem;right:.5rem;width:32px;height:32px;font-size:16px}.image-modal-header{padding:.875rem .875rem .625rem}.image-modal-header h3{font-size:1rem;padding-right:2.5rem}.image-modal-body{padding:1rem .75rem;min-height:200px;max-height:calc(98vh - 120px)}.image-modal-footer{padding:.625rem .875rem}.image-modal-hint{font-size:.75rem}}@media(min-width:1441px){.home-page{padding:1.5rem 3rem 3rem}.home-header{margin-bottom:4rem;max-width:1600px}.home-header h1{font-size:3rem}.products-grid{grid-template-columns:repeat(5,1fr);gap:2rem;max-width:1600px}.product-card{border-radius:24px}.product-image-container{height:200px}.no-image-icon{font-size:5rem}.product-info{padding:.875rem;min-height:105px}.product-header{min-height:4rem;position:relative;gap:.25rem}.product-name{font-size:.9375rem;min-height:2.5rem;max-height:2.625rem;order:1;position:relative;z-index:1;margin-bottom:.125rem;word-wrap:break-word;word-break:break-word;overflow:hidden;text-overflow:ellipsis}.stock-code{order:2;position:relative;z-index:0}.price{font-size:.9375rem}}@media(min-width:1920px){.home-page{padding:1.5rem 3rem 3rem}.products-grid{grid-template-columns:repeat(5,1fr);gap:2.25rem;max-width:1800px}.product-image-container{height:220px}.no-image-icon{font-size:5.5rem}.product-info{padding:.875rem;min-height:110px}.product-header{min-height:4.25rem;position:relative;gap:.25rem}.product-name{font-size:1rem;min-height:2.75rem;max-height:2.8rem;order:1;position:relative;z-index:1;margin-bottom:.125rem;word-wrap:break-word;word-break:break-word;overflow:hidden;text-overflow:ellipsis}.stock-code{order:2;position:relative;z-index:0}.price{font-size:1rem}}@media(max-height:500px)and (orientation:landscape){.home-page{padding:1rem}.home-header{margin-bottom:1.5rem}.home-header h1{font-size:1.5rem}.products-grid{gap:1rem}.product-image-container{height:150px}.product-info{padding:1rem}}.skeleton-card{cursor:default;pointer-events:none;background:#ffffff80;animation:skeletonPulse 1.5s ease-in-out infinite}@keyframes skeletonPulse{0%,to{opacity:1}50%{opacity:.6}}.skeleton-image{width:100%;height:100%;background:linear-gradient(90deg,#e0e0e0 25%,#f0f0f0,#e0e0e0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-content{padding:.75rem;display:flex;flex-direction:column;gap:.5rem}.skeleton-title{height:20px;background:linear-gradient(90deg,#e0e0e0 25%,#f0f0f0,#e0e0e0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px;width:80%}.skeleton-code{height:14px;background:linear-gradient(90deg,#e0e0e0 25%,#f0f0f0,#e0e0e0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px;width:50%}.skeleton-price{height:18px;background:linear-gradient(90deg,#e0e0e0 25%,#f0f0f0,#e0e0e0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px;width:60%;margin-top:.5rem}.skeleton-stock{height:24px;background:linear-gradient(90deg,#e0e0e0 25%,#f0f0f0,#e0e0e0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:12px;width:40%;margin-top:.5rem}.loading-dots:after{content:"...";animation:loadingDots 1.5s infinite}@keyframes loadingDots{0%,20%{content:"."}40%{content:".."}60%,to{content:"..."}}.search-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem;display:flex;flex-direction:column}.search-header{max-width:1200px;margin:0 auto 2rem;display:flex;align-items:center;gap:1rem}.back-btn{background:#fff;color:#667eea;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s ease,box-shadow .2s ease;box-shadow:0 2px 8px #00000026}.back-btn:hover{background:#f8f9fa;box-shadow:0 4px 12px #0003}.search-page-header{max-width:1200px;margin:0 auto 1.25rem;text-align:center}.search-page-header h1{color:#fff;font-size:2rem;font-weight:700;margin:0;text-shadow:2px 2px 4px rgba(0,0,0,.2)}.search-container{max-width:1200px;margin:0 auto;margin-bottom:2rem}.search-form{background:#fff;border-radius:16px;padding:1.25rem;box-shadow:0 8px 24px #00000026;margin-bottom:1.5rem}.search-type-tabs{display:flex;gap:.5rem;margin-bottom:1rem;border-bottom:1px solid #f0f0f0;padding-bottom:.5rem}.tab{background:none;border:none;padding:.75rem 1.25rem;font-size:.9375rem;font-weight:600;color:#666;cursor:pointer;transition:all .3s ease;border-bottom:2px solid transparent;margin-bottom:-2px}.tab:hover{color:#667eea}.tab.active{color:#667eea;border-bottom-color:#667eea}.search-input-group{display:flex;gap:.75rem;flex-wrap:wrap;align-items:stretch}.search-actions{display:flex;gap:.5rem;align-items:stretch}.search-input{flex:1;min-width:200px;padding:.875rem 1.25rem;border:2px solid #e0e0e0;border-radius:12px;font-size:.9375rem;transition:all .3s ease}.search-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.scanner-btn,.search-btn{padding:.875rem 1.5rem;border:none;border-radius:12px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}.scanner-btn{background:#28a745;color:#fff}.scanner-btn:hover{background:#218838}.scanner-btn.active{background:#dc3545}.scanner-btn.active:hover{background:#c82333}.search-btn{background:#667eea;color:#fff}.search-btn:hover:not(:disabled){background:#5568d3}.search-btn:disabled{opacity:.6;cursor:not-allowed}.search-btn-primary{padding:.875rem 2rem;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;gap:.5rem;box-shadow:0 4px 15px #667eea4d;position:relative;overflow:hidden}.search-btn-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.search-btn-primary:hover:not(:disabled):before{left:100%}.search-btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.search-btn-primary:active:not(:disabled){transform:translateY(0)}.search-btn-primary:disabled{opacity:.6;cursor:not-allowed;background:#9ca3af}.search-btn-primary:disabled .search-btn-icon{animation:searchIconSpin 1s linear infinite}.search-btn-icon{font-size:1.125rem;animation:searchIconPulse 2s ease-in-out infinite}@keyframes searchIconSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes searchIconPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.search-btn-text{font-weight:600;letter-spacing:.5px}.scanner-container{margin-top:1rem;padding:1rem;background:#f8f9fa;border-radius:12px;text-align:center}.close-scanner-btn{margin-top:.75rem;padding:.625rem 1.25rem;background:#dc3545;color:#fff;border:none;border-radius:12px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease}.close-scanner-btn:hover{background:#c82333}.error-message{margin-top:.75rem;padding:.75rem 1rem;background:#f8d7da;color:#721c24;border-radius:8px;text-align:center;font-weight:500;font-size:.875rem}.loading-container{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:3rem;background:#fff;border-radius:20px;box-shadow:0 10px 30px #0003;color:#667eea}.loading-spinner{width:50px;height:50px;border:4px solid rgba(102,126,234,.3);border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite}.product-detail-card{background:#fff;border-radius:24px;padding:0;box-shadow:0 8px 32px #0000001f;max-width:1200px;margin:0 auto 2rem;overflow:hidden;position:relative}.product-detail-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#667eea,#764ba2);z-index:1}.product-detail-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;background:linear-gradient(135deg,#f8f9ff,#fff);border-bottom:1px solid rgba(102,126,234,.1);position:relative;z-index:0}.product-detail-header h2{margin:0;font-size:1.25rem;color:#333;flex:1;font-weight:600;line-height:1.4}.detail-stock-code{font-size:.75rem;color:#667eea;font-weight:600;padding:.375rem .75rem;background:#667eea1a;border-radius:8px;border:1px solid rgba(102,126,234,.2);white-space:nowrap}.product-detail-content{display:grid;grid-template-columns:200px 1fr;gap:1.5rem;padding:1.5rem}.product-detail-image-container{width:100%;aspect-ratio:1/1;border-radius:12px;overflow:hidden;background:#f5f5f5;position:relative;display:flex;align-items:center;justify-content:center;border:1px solid #e0e0e0;padding:.75rem}.product-detail-image{width:100%;height:100%;object-fit:contain;background:transparent}.no-image-icon{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:3rem;color:#999;background:linear-gradient(135deg,#f5f5f5,#e8e8e8);transition:all .3s ease}.product-detail-info{display:flex;flex-direction:column;padding:0;gap:1.5rem}.info-row-group{display:flex;flex-direction:column;gap:1rem;padding:1.25rem;background:linear-gradient(135deg,#f8f9ff,#fff);border-radius:12px;border:1px solid rgba(102,126,234,.1)}.info-item{display:flex;flex-direction:column;gap:.5rem}.info-item.price-stock-row{display:flex;flex-direction:row;gap:2rem;align-items:flex-start}.info-item.barcode-serial-row{display:flex;flex-direction:row;gap:2rem;align-items:flex-start;padding-top:1rem;border-top:1px solid rgba(102,126,234,.1)}.info-item-inline{display:flex;flex-direction:column;gap:.5rem;flex:1}.info-label-small{font-weight:600;color:#999;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px}.info-row{display:flex;align-items:flex-start;gap:1rem;padding:0;background:transparent;border-radius:0;border-bottom:1px solid #f0f0f0;padding-bottom:1.25rem}.info-row:last-child{border-bottom:none;padding-bottom:0}.info-row.full-width{flex-direction:column;align-items:flex-start;gap:.75rem}.info-label{font-weight:600;color:#999;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px;min-width:100px;flex-shrink:0}.info-value{font-weight:500;color:#333;flex:1;font-size:1rem}.price-value{font-size:1.5rem;font-weight:700;color:#667eea;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.2}.stock-value{font-size:.75rem;font-weight:600}.stock-value.in-stock{color:#155724;background:linear-gradient(135deg,#d4edda,#c3e6cb);padding:.375rem .75rem;border-radius:8px;display:inline-flex;align-items:center;gap:.375rem;font-weight:600;border:1px solid rgba(21,87,36,.2)}.stock-value.in-stock:before{content:"●";font-size:.625rem}.stock-value.medium-stock{color:#856404;background:linear-gradient(135deg,#fff3cd,#ffeaa7);padding:.375rem .75rem;border-radius:8px;display:inline-flex;align-items:center;gap:.375rem;font-weight:600;border:1px solid rgba(133,100,4,.2)}.stock-value.medium-stock:before{content:"●";font-size:.625rem}.stock-value.low-stock{color:#dc2626;background:linear-gradient(135deg,#fee2e2,#fca5a5);padding:.375rem .75rem;border-radius:8px;display:inline-flex;align-items:center;gap:.375rem;font-weight:600;border:1px solid rgba(220,38,38,.3)}.stock-value.low-stock:before{content:"●";font-size:.625rem}.stock-value.very-low-stock{color:#991b1b;background:linear-gradient(135deg,#fee2e2,#dc2626);padding:.375rem .75rem;border-radius:8px;display:inline-flex;align-items:center;gap:.375rem;font-weight:700;border:1px solid rgba(153,27,27,.4)}.stock-value.very-low-stock:before{content:"●";font-size:.625rem}.stock-value.out-of-stock{color:#6b7280;background:linear-gradient(135deg,#f3f4f6,#d1d5db);padding:.375rem .75rem;border-radius:8px;display:inline-flex;align-items:center;gap:.375rem;font-weight:600;border:1px solid rgba(107,114,128,.2)}.stock-value.out-of-stock:before{content:"●";font-size:.625rem}.description-text{line-height:1.7;color:#555;padding:1rem;background:linear-gradient(135deg,#f8f9ff,#fff);border-radius:12px;border-left:4px solid #667eea;margin-top:.25rem}.empty-state{background:#fff;border-radius:20px;padding:3rem;text-align:center;color:#666;font-size:1.125rem;box-shadow:0 10px 30px #0003;margin-bottom:2rem}.search-page .app-footer{margin-top:2rem}@media(max-width:1024px){.search-page{padding:1.5rem}.search-form{padding:1.25rem}.product-detail-header h2{font-size:1.25rem}.search-container,.product-detail-card,.empty-state{margin-bottom:1.5rem}.search-page .app-footer{margin-top:1.5rem}}@media(max-width:768px){.search-page{padding:1rem}.search-header,.search-page-header{margin-bottom:1.5rem}.search-page-header h1{font-size:1.75rem}.back-btn{padding:.625rem 1.25rem;font-size:.9375rem}.search-form{padding:1.125rem}.search-type-tabs{flex-direction:column;border-bottom:none;gap:.25rem;margin-bottom:.875rem}.tab{border-bottom:none;border-left:3px solid transparent;margin-bottom:0;text-align:left;padding:.75rem 1.125rem;font-size:.9375rem}.tab.active{border-left-color:#667eea;border-bottom-color:transparent;background:#f8f9fa}.search-input-group{flex-direction:column;gap:.75rem}.search-actions{display:flex;gap:.5rem;width:100%}.search-input{width:100%;padding:.875rem 1.25rem;font-size:.9375rem}.scanner-btn{flex:0 0 auto;padding:.875rem 1.5rem;font-size:.9375rem}.search-btn-primary{flex:1;padding:.875rem 1.5rem;font-size:.9375rem;justify-content:center}.search-container,.product-detail-card,.empty-state{margin-bottom:1.5rem}.search-page .app-footer{margin-top:1.5rem}.product-detail-content{grid-template-columns:250px 1fr;gap:1.5rem;padding:1.5rem}.product-detail-header{flex-direction:column;gap:.75rem;align-items:flex-start;padding:1.25rem 1.5rem}.product-detail-info{gap:1.25rem}.info-row-group{padding:1rem;gap:.875rem}.info-item.price-stock-row{gap:1.5rem}.info-item.barcode-serial-row{gap:1.5rem;padding-top:.875rem}.product-detail-header h2{font-size:1.125rem}.product-detail-image-container{aspect-ratio:1/1}.no-image-icon{font-size:3.5rem}.info-row{padding-bottom:1.25rem;gap:.75rem}.info-label{min-width:90px;font-size:.8125rem}.info-value{font-size:.9375rem}.price-value{font-size:1.25rem}.stock-value{font-size:.75rem}}@media(max-width:480px){.search-page{padding:.75rem}.search-page-header{margin-bottom:1.25rem}.search-page-header h1{font-size:1.5rem}.back-btn{width:100%;padding:.75rem 1.25rem;font-size:.875rem}.search-form{padding:1rem;border-radius:12px}.search-type-tabs{margin-bottom:.875rem}.tab{padding:.75rem 1rem;font-size:.875rem}.search-input-group{gap:.75rem}.search-actions{gap:.5rem}.search-input{padding:.75rem 1rem;font-size:.875rem;border-radius:25px}.scanner-btn{padding:.75rem 1.25rem;font-size:.875rem;border-radius:25px}.search-btn-primary{padding:.75rem 1.5rem;font-size:.875rem;border-radius:25px}.scanner-container{padding:1rem;margin-top:1.25rem}.close-scanner-btn{padding:.625rem 1.25rem;font-size:.8125rem}.product-detail-card{border-radius:20px}.product-detail-header{padding:1rem 1.25rem}.product-detail-content{grid-template-columns:160px 1fr;gap:1rem;padding:1rem}.product-detail-image-container{aspect-ratio:1/1}.info-row-group{padding:1rem;gap:.75rem}.info-item.price-stock-row{flex-direction:column;gap:1rem}.info-item.barcode-serial-row{flex-direction:column;gap:1rem;padding-top:.75rem}.info-row{padding-bottom:1rem}.product-detail-header h2{font-size:1rem;line-height:1.4}.detail-stock-code{font-size:.75rem;padding:.375rem .75rem}.product-detail-content{gap:1.25rem}.product-detail-image-container{border-radius:12px}.no-image-icon{font-size:3rem}.product-detail-info{gap:1rem}.info-row{padding:.75rem;border-radius:8px;flex-direction:column;gap:.5rem}.info-label{min-width:auto;font-size:.875rem}.info-value{font-size:.875rem}.price-value{font-size:1.125rem}.stock-value{font-size:.75rem}.description-text{font-size:.875rem;line-height:1.5}.search-container,.product-detail-card,.empty-state{margin-bottom:1.25rem}.search-page .app-footer{margin-top:1.25rem}.error-message{padding:.875rem;font-size:.875rem}.loading-container{padding:2rem 1rem}.empty-state{padding:2rem 1rem;font-size:1rem}}@media(max-width:360px){.search-page{padding:.5rem}.search-page-header h1{font-size:1.375rem}.search-form{padding:1rem}.tab{padding:.625rem .875rem;font-size:.8125rem}.search-input,.scanner-btn,.search-btn-primary{padding:.625rem 1.25rem;font-size:.8125rem}.search-actions{gap:.5rem}.product-detail-card{border-radius:16px}.product-detail-header{padding:.875rem 1rem}.product-detail-header h2{font-size:.9375rem}.product-detail-content{grid-template-columns:1fr;gap:1rem;padding:1rem}.product-detail-image-container{max-width:180px;margin:0 auto;aspect-ratio:1/1}.search-container,.product-detail-card,.empty-state{margin-bottom:1rem}.search-page .app-footer{margin-top:1rem}.product-detail-info{gap:.875rem}.info-row-group{padding:.875rem;gap:.75rem}.info-item.price-stock-row{flex-direction:column;gap:.875rem}.info-item.barcode-serial-row{flex-direction:column;gap:.875rem;padding-top:.75rem}.info-row{padding-bottom:.875rem}}@media(min-width:1441px){.search-page{padding:1.5rem 3rem 3rem}.search-page-header{margin-bottom:1.5rem}.search-page-header h1{font-size:2.25rem}.search-form{padding:1.75rem;border-radius:20px}.product-detail-card{border-radius:28px}.product-detail-header{padding:2rem 2.5rem}.product-detail-header h2{font-size:1.5rem}.product-detail-content{grid-template-columns:240px 1fr;gap:2rem;padding:2rem}.product-detail-image-container{aspect-ratio:1/1}.product-detail-info{gap:1.5rem}.info-row-group{padding:1.5rem;gap:1.25rem}.info-item.price-stock-row{gap:2.5rem}.info-item.barcode-serial-row{gap:2.5rem;padding-top:1.25rem}.search-container,.product-detail-card,.empty-state{margin-bottom:2.5rem}.search-page .app-footer{margin-top:2.5rem}.info-row{padding-bottom:1.75rem}.price-value{font-size:1.75rem}.stock-value{font-size:.875rem}}@media(max-height:500px)and (orientation:landscape){.search-page{padding:1rem}.search-page-header{margin-bottom:1rem}.search-page-header h1{font-size:1.5rem}.search-form{padding:1.25rem}.product-detail-content{grid-template-columns:1fr 1fr;gap:1rem}.product-detail-image-container{height:200px;aspect-ratio:auto}.no-image-icon{font-size:2.5rem}.product-detail-info{gap:1rem}.info-row{padding:.75rem}}.image-slider{position:relative;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;overflow:hidden}.image-slider-main{position:relative;width:100%;height:calc(100% - 80px);display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:12px;background:#00000005}.image-slider-main img{max-width:100%;max-height:100%;object-fit:contain;cursor:pointer}.image-slider-main .image-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#667eea00;display:flex;align-items:center;justify-content:center;opacity:0;transition:all .3s ease;cursor:pointer;z-index:2}.image-slider-main:hover .image-overlay{background:#667eead9;opacity:1;backdrop-filter:blur(2px)}.image-slider-main .zoom-icon{font-size:2.5rem;color:#fff;transform:scale(.5);transition:all .3s cubic-bezier(.175,.885,.32,1.275);filter:drop-shadow(0 4px 8px rgba(0,0,0,.3));animation:zoomPulse 2s ease-in-out infinite}.image-slider-main:hover .zoom-icon{transform:scale(1);animation:zoomBounce .6s ease}@keyframes zoomPulse{0%,to{transform:scale(.5)}50%{transform:scale(.55)}}@keyframes zoomBounce{0%{transform:scale(.5)}50%{transform:scale(1.1)}to{transform:scale(1)}}.image-nav-btn{position:absolute;top:50%;transform:translateY(-50%);background:#667eeae6;border:none;width:40px;height:40px;border-radius:50%;font-size:20px;font-weight:700;cursor:pointer;z-index:10;transition:background .2s ease,opacity .2s ease;color:#fff;display:flex;align-items:center;justify-content:center;line-height:1;opacity:0;pointer-events:none}.image-slider:hover .image-nav-btn{opacity:1;pointer-events:auto}.image-nav-btn:hover{background:#764ba2e6}.image-nav-btn:active{transform:translateY(-50%) scale(.95)}.image-nav-btn.prev{left:-60px}.image-nav-btn.next{right:-60px}.image-slider:hover .image-nav-btn.prev{left:15px}.image-slider:hover .image-nav-btn.next{right:15px}.image-thumbnails{display:flex;gap:10px;padding:10px;overflow-x:auto;max-width:100%;scrollbar-width:thin;scrollbar-color:#667eea transparent}.image-thumbnails::-webkit-scrollbar{height:6px}.image-thumbnails::-webkit-scrollbar-track{background:transparent}.image-thumbnails::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:3px}.thumbnail-item{position:relative;min-width:60px;width:60px;height:60px;border-radius:6px;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:border-color .2s ease,opacity .2s ease;background:#fff;flex-shrink:0;opacity:.6}.thumbnail-item img{width:100%;height:100%;object-fit:cover}.thumbnail-item:hover{opacity:.8;border-color:#667eea}.thumbnail-item.active{border-color:#667eea;opacity:1}.image-counter{position:absolute;top:15px;right:15px;background:linear-gradient(135deg,#000000b3,#00000080);backdrop-filter:blur(10px);color:#fff;padding:8px 15px;border-radius:20px;font-size:14px;font-weight:600;z-index:5;box-shadow:0 2px 10px #0000004d}@media(max-width:768px){.image-slider-main{height:calc(100% - 70px)}.image-nav-btn{width:38px;height:38px;font-size:18px;opacity:.8;pointer-events:auto}.image-nav-btn.prev{left:5px}.image-nav-btn.next{right:5px}.image-slider:hover .image-nav-btn.prev{left:5px}.image-slider:hover .image-nav-btn.next{right:5px}.thumbnail-item{min-width:50px;width:50px;height:50px}.image-counter{top:10px;right:10px;padding:6px 12px;font-size:12px}}.image-modal{position:fixed;inset:0;background:#000000e6;backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:modalFadeIn .3s ease;padding:2rem}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.modal-content{position:relative;max-width:90vw;max-height:90vh;display:flex;align-items:center;justify-content:center;animation:modalZoomIn .3s ease}@keyframes modalZoomIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.modal-close-btn{position:absolute;top:-50px;right:0;background:#fffffff2;border:none;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:24px;color:#333;transition:all .2s ease;box-shadow:0 2px 10px #0000004d;z-index:10}.modal-close-btn:hover{background:#fff;transform:scale(1.1) rotate(90deg)}.expanded-image{max-width:100%;max-height:85vh;object-fit:contain;border-radius:12px;box-shadow:0 10px 40px #00000080}.modal-nav-btn{position:absolute;top:50%;transform:translateY(-50%);background:#fffffff2;border:none;width:50px;height:50px;border-radius:50%;font-size:28px;font-weight:700;color:#667eea;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0000004d;z-index:10;display:flex;align-items:center;justify-content:center}.modal-nav-btn:hover{background:#fff;transform:translateY(-50%) scale(1.1);box-shadow:0 6px 20px #0006}.modal-nav-btn:active{transform:translateY(-50%) scale(.95)}.modal-prev-btn{left:-70px}.modal-next-btn{right:-70px}.modal-image-counter{position:absolute;bottom:-50px;left:50%;transform:translate(-50%);background:#fffffff2;color:#333;padding:8px 16px;border-radius:20px;font-size:14px;font-weight:600;box-shadow:0 2px 10px #0000004d;white-space:nowrap}@media(max-width:768px){.image-modal{padding:1rem}.modal-content{max-width:95vw;max-height:95vh}.modal-close-btn{top:10px;right:10px;width:36px;height:36px;font-size:20px}.expanded-image{max-height:70vh}.modal-nav-btn{width:44px;height:44px;font-size:24px}.modal-prev-btn{left:10px}.modal-next-btn{right:10px}.modal-image-counter{bottom:10px;font-size:12px;padding:6px 12px}}@media(max-width:480px){.modal-close-btn{top:5px;right:5px;width:32px;height:32px;font-size:18px}.modal-nav-btn{width:40px;height:40px;font-size:22px}.modal-prev-btn{left:5px}.modal-next-btn{right:5px}.modal-image-counter{bottom:5px;font-size:11px;padding:5px 10px}}.admin-login-page{min-height:100vh;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:2rem;background:linear-gradient(135deg,#667eea,#764ba2)}.login-bg-animation{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;z-index:0}.bg-shape{position:absolute;border-radius:50%;background:#ffffff0d;backdrop-filter:blur(60px);animation:float 20s infinite ease-in-out}.bg-shape.shape-1{width:500px;height:500px;top:-10%;left:-10%;animation-delay:0s;animation-duration:25s}.bg-shape.shape-2{width:400px;height:400px;top:20%;right:-5%;animation-delay:2s;animation-duration:20s}.bg-shape.shape-3{width:350px;height:350px;bottom:-10%;left:30%;animation-delay:4s;animation-duration:22s}.bg-shape.shape-4{width:300px;height:300px;top:50%;right:20%;animation-delay:1s;animation-duration:18s}.bg-shape.shape-5{width:250px;height:250px;bottom:20%;right:-5%;animation-delay:3s;animation-duration:23s}@keyframes float{0%,to{transform:translate(0) scale(1) rotate(0)}25%{transform:translate(30px,-30px) scale(1.1) rotate(90deg)}50%{transform:translate(-20px,40px) scale(.9) rotate(180deg)}75%{transform:translate(40px,20px) scale(1.05) rotate(270deg)}}.particles{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;z-index:1;pointer-events:none}.particle{position:absolute;width:4px;height:4px;background:#fff9;border-radius:50%;animation:particleFloat 15s infinite ease-in-out;box-shadow:0 0 10px #ffffff80}@keyframes particleFloat{0%,to{transform:translateY(0) translate(0);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(-100vh) translate(100px);opacity:0}}.admin-login-container{position:relative;z-index:10;width:100%;max-width:400px}.admin-login-box{background:#fffffffa;backdrop-filter:blur(20px);border-radius:20px;padding:2rem;box-shadow:0 10px 40px #00000026,0 0 0 1px #ffffff1a inset;animation:slideUp .6s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.admin-login-box:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#667eea,#764ba2)}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.login-header{text-align:center;margin-bottom:1.5rem;position:relative}.login-icon{width:56px;height:56px;margin:0 auto .875rem;animation:iconFloat 4s ease-in-out infinite;filter:drop-shadow(0 2px 8px rgba(102,126,234,.2));transition:all .3s ease}.login-icon:hover{transform:scale(1.08);filter:drop-shadow(0 4px 12px rgba(102,126,234,.35))}@keyframes iconFloat{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-4px) scale(1.02)}}.login-header h1{color:#2d3748;font-size:1.375rem;font-weight:700;margin:0 0 .5rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.5px;line-height:1.2}.login-subtitle{color:#94a3b8;font-size:.8125rem;font-weight:400;margin:0;letter-spacing:.2px;opacity:.9}.login-form{display:flex;flex-direction:column;gap:.875rem}.form-group{display:flex;flex-direction:column;gap:.4375rem}.form-group label{display:flex;align-items:center;gap:.4375rem;color:#64748b;font-size:.75rem;font-weight:600;letter-spacing:.3px;padding-left:.125rem;transition:color .2s ease}.form-group:focus-within label{color:#667eea}.label-icon{font-size:.875rem;opacity:.85}.input-wrapper{position:relative}.form-input{width:100%;padding:.6875rem .9375rem;border:1.5px solid #e2e8f0;border-radius:8px;font-size:.875rem;font-weight:500;color:#1e293b;background:#fafafa;transition:all .25s cubic-bezier(.4,0,.2,1);box-sizing:border-box;box-shadow:0 1px 2px #00000008}.form-input::placeholder{color:#94a3b8;font-weight:400;font-size:.8125rem}.form-input:hover{border-color:#cbd5e1;background:#fff}.form-input:focus{outline:none;border-color:#667eea;background:#fff;box-shadow:0 0 0 3px #667eea14,0 2px 4px #0000000a;transform:translateY(-1px)}.password-wrapper{position:relative}.password-wrapper .form-input{padding-right:2.75rem}.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:1.125rem;padding:.4375rem;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease;opacity:.5;color:#64748b}.password-toggle:hover{opacity:1;background:#667eea14;color:#667eea}.password-toggle:active{transform:translateY(-50%) scale(.92)}.error-message{display:flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1px solid #fecaca;border-left:3px solid #ef4444;color:#991b1b;padding:.625rem .875rem;border-radius:8px;font-size:.8125rem;font-weight:500;animation:errorSlideIn .3s cubic-bezier(.16,1,.3,1);box-shadow:0 2px 8px #ef44441a;line-height:1.4;margin:0}.error-icon{width:1rem;height:1rem;flex-shrink:0;opacity:.9;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1))}@keyframes errorSlideIn{0%{opacity:0;transform:translateY(-8px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.login-btn{width:100%;padding:.875rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:10px;font-size:.9375rem;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #667eea4d,0 0 #667eea80;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:.5rem;letter-spacing:.3px}.login-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.login-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #667eea66,0 0 #667eea80}.login-btn:hover:not(:disabled):before{left:100%}.login-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #667eea40,0 0 #667eea80}.login-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.btn-arrow{font-size:1.25rem;transition:transform .3s ease;display:inline-block}.login-btn:hover:not(:disabled) .btn-arrow{transform:translate(4px)}.btn-spinner{width:18px;height:18px;border:2.5px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.login-footer{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid #e2e8f0;text-align:center}.login-footer p{margin:0;color:#718096;font-size:.8125rem;font-weight:500;display:flex;align-items:center;justify-content:center;gap:.375rem}@media(max-width:768px){.admin-login-page{padding:1.25rem}.admin-login-box{padding:1.75rem 1.5rem;border-radius:18px}.login-header{margin-bottom:1.375rem}.login-header h1{font-size:1.25rem}.login-subtitle{font-size:.75rem}.login-icon{width:52px;height:52px;margin-bottom:.75rem}.bg-shape.shape-1,.bg-shape.shape-2,.bg-shape.shape-3,.bg-shape.shape-4,.bg-shape.shape-5{width:250px;height:250px}}@media(max-width:480px){.admin-login-page{padding:1rem}.admin-login-box{padding:1.5rem 1.25rem;border-radius:16px}.login-header{margin-bottom:1.25rem}.login-header h1{font-size:1.125rem;margin-bottom:.375rem}.login-subtitle{font-size:.6875rem}.login-icon{width:48px;height:48px;margin-bottom:.625rem}.login-form{gap:.75rem}.form-group{gap:.375rem}.form-group label{font-size:.6875rem}.label-icon{font-size:.8125rem}.form-input{padding:.625rem .8125rem;font-size:.8125rem}.form-input::placeholder{font-size:.75rem}.password-wrapper .form-input{padding-right:2.5rem}.password-toggle{font-size:1rem;padding:.375rem}.login-btn{padding:.8125rem 1.25rem;font-size:.875rem}.error-message{padding:.5625rem .75rem;font-size:.75rem;gap:.4375rem;margin:0}.error-icon{width:.9375rem;height:.9375rem}}@media(prefers-contrast:high){.admin-login-box{background:#fff;border:2px solid #000}.form-input{border:2px solid #000}.login-btn{background:#000}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.bg-shape{animation:none}.particle{display:none}}.advanced-color-picker-wrapper{margin-bottom:1rem;position:relative}.advanced-color-picker-label{display:block;color:#555;font-size:.9rem;font-weight:600;margin-bottom:.5rem}.advanced-color-picker-container{position:relative}.advanced-color-picker-button{width:100%;padding:.875rem 1rem;border:2px solid #e0e0e0;border-radius:12px;font-size:1rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.75rem;background:#fff;height:48px;box-sizing:border-box}.advanced-color-picker-button:hover{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.color-preview-box{width:32px;height:32px;border-radius:6px;border:2px solid #e0e0e0;flex-shrink:0}.color-value-text{color:#333;font-size:.9rem;flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.color-picker-icon{color:#666;font-size:.8rem;flex-shrink:0}.advanced-color-picker-dropdown.desktop{position:absolute;top:calc(100% + 8px);left:0;background:#fff;border:2px solid #e0e0e0;border-radius:12px;padding:1rem;box-shadow:0 8px 24px #00000026;z-index:10000;max-height:450px;width:380px;overflow-y:auto;overflow-x:hidden;animation:slideDown .2s ease-out;box-sizing:border-box}.advanced-color-picker-dropdown.desktop>*{max-width:100%!important;box-sizing:border-box!important;overflow-x:hidden!important}.advanced-color-picker-dropdown.desktop .gradient-toggle,.advanced-color-picker-dropdown.desktop .color-pickers-container,.advanced-color-picker-dropdown.desktop .color-picker-section,.advanced-color-picker-dropdown.desktop .direction-selector{max-width:100%!important;overflow-x:hidden!important;box-sizing:border-box!important}.advanced-color-picker-dropdown.desktop::-webkit-scrollbar{width:8px}.advanced-color-picker-dropdown.desktop::-webkit-scrollbar-track{background:transparent;border-radius:4px}.advanced-color-picker-dropdown.desktop::-webkit-scrollbar-thumb{background:#0003;border-radius:4px}.advanced-color-picker-dropdown.desktop::-webkit-scrollbar-thumb:hover{background:#0000004d}.advanced-color-picker-dropdown.mobile{position:absolute;top:calc(100% + .5rem);left:0;right:0;background:#fff;border:2px solid #e0e0e0;border-radius:12px;padding:.75rem;box-shadow:0 8px 24px #00000026;z-index:9999;max-height:85vh;overflow-y:auto;overflow-x:hidden;animation:slideDown .2s ease-out;box-sizing:border-box}.gradient-toggle{display:flex;gap:.5rem;margin:0!important;padding:0 0 .75rem!important;border-bottom:2px solid #f0f0f0;width:100%!important;max-width:100%!important;box-sizing:border-box!important}.gradient-btn{flex:1;padding:.625rem 1rem;border:2px solid #e0e0e0;border-radius:8px;background:#fff;color:#666;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease}.gradient-btn:hover{border-color:#667eea;color:#667eea}.gradient-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:transparent}.color-pickers-container{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:100%;box-sizing:border-box;margin:0;padding:0}.color-picker-section{display:flex;flex-direction:column;gap:.5rem;width:100%;max-width:100%;box-sizing:border-box;margin:0;padding:0}.color-section-label{font-size:.875rem;font-weight:600;color:#555;margin:0 0 .5rem;padding:0;width:100%;text-align:left;box-sizing:border-box}.color-picker-section :global(.sketch-picker){width:100%!important;max-width:100%!important;margin:0!important;box-shadow:none!important;border:1px solid #e0e0e0!important;border-radius:10px!important;padding:.1rem!important;box-sizing:border-box!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}.color-picker-section :global(.sketch-picker>div){border-radius:10px!important;padding:0!important;margin:0!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important}.color-picker-section :global(.sketch-picker .saturation-white){width:100%!important;max-width:100%!important;height:120px!important;border-radius:8px!important;margin:0!important;padding:0!important;box-sizing:border-box!important;position:relative!important}.color-picker-section :global(.sketch-picker .saturation-black){width:100%!important;max-width:100%!important;height:120px!important;border-radius:8px!important;margin:0!important;padding:0!important;box-sizing:border-box!important;position:absolute!important;top:0!important;left:0!important}.color-picker-section :global(.sketch-picker .saturation-white>div){width:100%!important;max-width:100%!important;height:100%!important;border-radius:8px!important;box-sizing:border-box!important}.color-picker-section :global(.sketch-picker .saturation-black>div){width:100%!important;max-width:100%!important;height:100%!important;border-radius:8px!important;box-sizing:border-box!important}.color-picker-section :global(.sketch-picker .controls){padding:0!important;margin:0!important}.color-picker-section :global(.sketch-picker .hue-horizontal){width:100%!important;height:14px!important;border-radius:8px!important;margin:0!important;box-sizing:border-box!important}.color-picker-section :global(.sketch-picker .alpha-horizontal){width:100%!important;height:14px!important;border-radius:8px!important;margin:0!important;box-sizing:border-box!important}.color-picker-section :global(.sketch-picker .flexbox-fix){margin:.5rem 0!important;padding:0!important;box-sizing:border-box!important;width:100%!important;max-width:100%!important;overflow:hidden!important}.color-picker-section :global(.sketch-picker .flexbox-fix){margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important;max-width:100%!important;overflow-x:hidden!important}.color-picker-section :global(.sketch-picker .flexbox-fix:last-child){margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important;max-width:100%!important;overflow-x:hidden!important}.color-picker-section :global(.sketch-picker .flexbox-fix:last-child>div){margin-left:0!important;margin-right:0!important;padding-left:.1rem!important;padding-right:.5rem!important;max-width:100%!important;overflow-x:hidden!important;box-sizing:border-box!important}.color-picker-section :global(.sketch-picker .flexbox-fix:last-child>div>div){margin-right:.4rem!important;margin-bottom:.4rem!important;margin-left:0!important;padding:0!important;box-sizing:border-box!important}.color-picker-section :global(.sketch-picker .flexbox-fix:last-child>div>div:last-child){margin-right:0!important}.color-picker-section :global(.sketch-picker .flexbox-fix:first-child){margin-top:0!important}.color-picker-section :global(.sketch-picker .flexbox-fix:last-child){margin-bottom:0!important}.color-picker-section :global(.sketch-picker input){font-size:.75rem!important;padding:.5rem .625rem!important;height:auto!important;border:1px solid #e0e0e0!important;border-radius:6px!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;margin:0!important}.color-picker-section :global(.sketch-picker label){font-size:.75rem!important;margin-bottom:.25rem!important;font-weight:500!important;display:block!important;width:100%!important;max-width:100%!important;text-align:left!important;box-sizing:border-box!important}.color-picker-section :global(.sketch-picker .flexbox-fix>div){width:100%!important;max-width:100%!important;display:flex!important;align-items:center!important;gap:.5rem!important;box-sizing:border-box!important;flex-wrap:wrap!important;padding:0!important;margin:0!important}.color-picker-section :global(.sketch-picker .flexbox-fix>div>input){flex:1!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important}.direction-selector{margin:.75rem 0 0!important;padding:0!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important}.direction-select{width:100%!important;max-width:100%!important;padding:.75rem 1rem!important;border:2px solid #e0e0e0!important;border-radius:8px!important;font-size:.875rem!important;background:#fff!important;cursor:pointer!important;transition:all .3s ease!important;box-sizing:border-box!important;margin:0!important}.direction-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.color-picker-backdrop{position:fixed;inset:0;background:#00000080;z-index:9998;animation:fadeIn .2s ease-out}@media(min-width:1025px){.advanced-color-picker-dropdown{max-height:min(70vh,calc(100vh - 150px));max-width:min(380px,calc(100vw - 80px))}}@media(max-width:1024px){.advanced-color-picker-dropdown{max-width:min(90vw,calc(100vw - 40px));left:50%;transform:translate(-50%);right:auto;max-height:min(80vh,calc(100vh - 100px))}}@media(max-width:768px){.advanced-color-picker-dropdown{position:fixed;top:50%!important;left:50%!important;transform:translate(-50%,-50%);right:auto!important;width:calc(100vw - 2rem);max-width:90vw;max-height:85vh;z-index:9999;box-shadow:0 12px 40px #0000004d}.color-picker-section :global(.sketch-picker){padding:.1rem!important;width:100%!important;max-width:100%!important;margin:0 auto!important}.color-picker-section :global(.sketch-picker>div){padding:0!important}.color-picker-section :global(.sketch-picker .flexbox-fix){padding:0!important}.gradient-toggle{flex-direction:column}.color-pickers-container{gap:1rem}}@media(max-width:480px){.advanced-color-picker-dropdown{width:calc(100vw - 1rem);padding:.5rem;max-height:90vh}.color-picker-section :global(.sketch-picker){padding:.1rem!important;width:100%!important;max-width:100%!important;margin:0 auto!important}.color-picker-section :global(.sketch-picker>div){padding:0!important}.color-picker-section :global(.sketch-picker .flexbox-fix){padding:0!important}.color-picker-section :global(.sketch-picker input){font-size:.7rem!important;padding:.3rem .4rem!important}.gradient-btn{padding:.625rem;font-size:.85rem}}.color-picker-close-btn{display:none;position:absolute;top:.5rem;right:.5rem;background:#dc3545;color:#fff;border:none;border-radius:50%;width:32px;height:32px;cursor:pointer;font-size:1.2rem;z-index:10001;align-items:center;justify-content:center;transition:all .3s ease}.color-picker-close-btn:hover{background:#c82333;transform:scale(1.1)}@media(max-width:768px){.color-picker-close-btn{display:flex}}.font-family-picker-wrapper{width:100%;position:relative}.font-family-picker-label{display:block;color:#555;font-size:.9rem;font-weight:600;margin-bottom:.5rem}.font-family-picker-container{position:relative}.font-family-picker-button{width:100%;padding:.875rem 1rem;border:2px solid #e0e0e0;border-radius:12px;font-size:1rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.75rem;background:#fff;height:48px;box-sizing:border-box}.font-family-picker-button:hover{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.font-preview{width:40px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;border:2px solid #e0e0e0;font-size:1.2rem;font-weight:700;color:#667eea;flex-shrink:0;background:#f9f9f9}.font-name-text{color:#333;font-size:.9rem;flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.font-picker-icon{color:#666;font-size:.8rem;flex-shrink:0}.font-family-picker-dropdown.desktop{position:absolute;top:calc(100% + 8px);left:0;right:0;background:#fff;border:2px solid #e0e0e0;border-radius:12px;padding:.75rem;box-shadow:0 8px 24px #00000026;z-index:10000;max-height:450px;overflow:hidden;animation:slideDown .2s ease-out;box-sizing:border-box}.font-family-picker-dropdown.mobile{position:absolute;top:calc(100% + .5rem);left:0;right:0;background:#fff;border:2px solid #e0e0e0;border-radius:12px;padding:.75rem;box-shadow:0 8px 24px #00000026;z-index:9999;max-height:70vh;overflow:hidden;animation:slideDown .2s ease-out;box-sizing:border-box}.font-picker-backdrop{position:fixed;inset:0;background:#00000080;z-index:9998;animation:fadeIn .2s ease-out}.font-picker-close-btn{display:none;position:absolute;top:.5rem;right:.5rem;background:#dc3545;color:#fff;border:none;border-radius:50%;width:32px;height:32px;cursor:pointer;font-size:1.2rem;z-index:10001;align-items:center;justify-content:center;transition:all .3s ease}.font-picker-close-btn:hover{background:#c82333;transform:scale(1.1)}.font-search-container{margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid #e0e0e0}.font-search-input{width:100%;padding:.625rem .875rem;border:2px solid #e0e0e0;border-radius:8px;font-size:.9rem;transition:all .3s ease;box-sizing:border-box}.font-search-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.font-list-container{max-height:300px;overflow-y:auto}.font-category{margin-bottom:1rem}.font-category:last-child{margin-bottom:0}.font-category-header{font-size:.75rem;font-weight:700;color:#667eea;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem;padding:.25rem .5rem;background:#667eea1a;border-radius:6px}.font-list{display:flex;flex-direction:column;gap:.25rem}.font-item{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;background:#fff;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.75rem;text-align:left;font-size:.9rem;color:#333}.font-item:hover{border-color:#667eea;background:#667eea0d;transform:translate(4px)}.font-item.selected{border-color:#667eea;background:linear-gradient(135deg,#667eea1a,#764ba21a);font-weight:600}.font-item-preview{width:36px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:6px;border:1px solid #e0e0e0;font-size:1rem;font-weight:700;color:#667eea;flex-shrink:0;background:#f9f9f9}.font-item-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.font-item-check{color:#667eea;font-weight:700;font-size:1.1rem;flex-shrink:0}.font-empty-state{padding:2rem;text-align:center;color:#999;font-style:italic}@media(max-width:1024px){.font-family-picker-dropdown{max-width:90vw;left:50%;transform:translate(-50%);right:auto;max-height:60vh}}@media(max-width:768px){.font-family-picker-dropdown{position:fixed;top:50%!important;left:50%!important;transform:translate(-50%,-50%);right:auto!important;width:calc(100vw - 2rem);max-width:90vw;max-height:70vh;z-index:9999;box-shadow:0 12px 40px #0000004d}.font-picker-close-btn{display:flex}}@media(max-width:480px){.font-family-picker-dropdown{width:calc(100vw - 1rem);padding:.5rem;max-height:80vh}.font-item{padding:.625rem;font-size:.85rem}.font-item-preview{width:32px;height:24px;font-size:.9rem}}.custom-select-wrapper{width:100%;position:relative}.custom-select-label{display:block;color:#555;font-size:.9rem;font-weight:600;margin-bottom:.5rem}.custom-select-container{position:relative}.custom-select-button{width:100%;padding:.875rem 1rem;border:2px solid #e0e0e0;border-radius:12px;font-size:1rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:space-between;background:#fff;height:48px;box-sizing:border-box}.custom-select-button:hover{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.custom-select-button:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 4px #667eea1a}.custom-select-value{color:#333;font-size:.95rem;flex:1;text-align:left}.custom-select-icon{color:#666;font-size:.8rem;flex-shrink:0;margin-left:.5rem}.custom-select-backdrop{position:fixed;inset:0;background:#00000080;z-index:9998;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.custom-select-dropdown.desktop{position:absolute;top:calc(100% + 8px);left:0;right:0;background:#fff;border:2px solid #e0e0e0;border-radius:12px;box-shadow:0 8px 24px #00000026;z-index:10000;max-height:300px;overflow:hidden;animation:slideDown .2s ease-out;box-sizing:border-box}.custom-select-dropdown.mobile{position:absolute;top:calc(100% + .5rem);left:0;right:0;background:#fff;border:2px solid #e0e0e0;border-radius:12px;box-shadow:0 8px 24px #00000026;z-index:9999;max-height:45vh;overflow:hidden;animation:slideDown .2s ease-out;box-sizing:border-box}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.custom-select-close-btn{display:none;position:absolute;top:.5rem;right:.5rem;background:#dc3545;color:#fff;border:none;border-radius:50%;width:32px;height:32px;cursor:pointer;font-size:1.2rem;z-index:10001;align-items:center;justify-content:center;transition:all .3s ease}.custom-select-close-btn:hover{background:#c82333;transform:scale(1.1)}.custom-select-options{padding:.5rem;max-height:280px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#667eea rgba(102,126,234,.2)}.custom-select-options::-webkit-scrollbar{width:6px}.custom-select-options::-webkit-scrollbar-track{background:#667eea1a;border-radius:3px}.custom-select-options::-webkit-scrollbar-thumb{background:#667eea;border-radius:3px}.custom-select-options::-webkit-scrollbar-thumb:hover{background:#5568d3}.custom-select-option{width:100%;padding:.625rem .875rem;border:none;border-radius:6px;background:#fff;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:space-between;text-align:left;font-size:.875rem;color:#333;margin-bottom:.2rem}.custom-select-option:hover{background:#667eea1a;transform:translate(4px)}.custom-select-option.selected{background:linear-gradient(135deg,#667eea26,#764ba226);color:#667eea;font-weight:600}.custom-select-check{color:#667eea;font-weight:700;font-size:1.1rem;margin-left:.5rem}@media(max-width:768px){.custom-select-dropdown.mobile{max-height:45vh}.custom-select-close-btn{display:flex;width:28px;height:28px;font-size:1rem}.custom-select-options{max-height:calc(45vh - 50px);padding:.25rem}.custom-select-option{padding:.5rem .625rem;font-size:.85rem;margin-bottom:.15rem}.custom-select-button{padding:.75rem 1rem;font-size:.9rem;height:42px}}@media(max-width:480px){.custom-select-dropdown.mobile{max-height:40vh}.custom-select-options{max-height:calc(40vh - 40px);padding:.25rem}.custom-select-option{padding:.45rem .5rem;font-size:.8rem;margin-bottom:.1rem;border-radius:4px}.custom-select-button{padding:.625rem .875rem;font-size:.875rem;height:40px}.custom-select-close-btn{width:24px;height:24px;font-size:.9rem}}.theme-preview-container-compact{margin-top:1.5rem;margin-bottom:1.5rem;padding:1.25rem;background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:16px;border:2px solid #e0e0e0;box-shadow:0 4px 16px #00000014,inset 0 1px #ffffffe6;transition:all .3s ease;position:relative;overflow:hidden;max-width:700px;margin-left:auto;margin-right:auto}.theme-preview-container-compact:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#667eea,#764ba2);opacity:.6;transition:opacity .3s ease}.theme-preview-container-compact:hover{box-shadow:0 8px 24px #667eea1f,inset 0 1px #ffffffe6;border-color:#667eea;transform:translateY(-1px)}.theme-preview-header-compact{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.875rem;border-bottom:2px solid #f0f0f0;gap:1rem}.theme-preview-header-compact h3{margin:0;color:#333;font-size:1.1rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;flex:1}.preview-expand-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #667eea4d;flex-shrink:0}.preview-expand-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.expand-icon{font-size:1rem}.expand-text{white-space:nowrap}.preview-compact-wrapper{cursor:pointer;transition:all .3s ease}.preview-compact-wrapper:hover{transform:scale(1.01)}.preview-modal-overlay{position:fixed;inset:0;background:#000000bf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:10000;display:flex;align-items:center;justify-content:center;padding:2rem;animation:fadeInModal .3s ease-out;overflow-y:auto}@keyframes fadeInModal{0%{opacity:0}to{opacity:1}}.preview-modal-content{background:#fff;border-radius:24px;box-shadow:0 20px 60px #0000004d;max-width:1200px;width:100%;max-height:90vh;display:flex;flex-direction:column;animation:slideUpModal .4s cubic-bezier(.4,0,.2,1);overflow:hidden}@keyframes slideUpModal{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.preview-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-bottom:2px solid rgba(255,255,255,.2)}.preview-modal-header h2{margin:0;font-size:1.5rem;font-weight:700;color:#fff}.preview-modal-close{background:#fff3;border:2px solid rgba(255,255,255,.3);color:#fff;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.5rem;font-weight:700;transition:all .3s ease;flex-shrink:0}.preview-modal-close:hover{background:#ffffff4d;border-color:#ffffff80;transform:rotate(90deg) scale(1.1)}.preview-modal-body{padding:2rem;overflow-y:auto;max-height:calc(90vh - 100px)}.preview-compact-wrapper{position:relative}.preview-compact-wrapper:after{content:"";position:absolute;bottom:0;left:0;right:0;height:40px;background:linear-gradient(to top,rgba(102,126,234,.3),transparent);pointer-events:none;border-radius:0 0 16px 16px}.preview-compact-wrapper .preview-header{padding:.5rem .75rem;margin-bottom:.5rem;border-radius:10px;min-height:50px}.preview-compact-wrapper .preview-brand{gap:.5rem}.preview-compact-wrapper .preview-company-name,.preview-compact-wrapper .preview-company-tagline{line-height:1.2}.preview-compact-wrapper .preview-search-btn{padding:.25rem .625rem;font-size:.6rem;border-radius:8px;min-width:auto;white-space:nowrap}.preview-compact-wrapper .preview-announcement{padding:.375rem .5rem;margin-bottom:.5rem;border-radius:8px;min-height:28px}.preview-compact-wrapper .preview-announcement-icon{font-size:.7rem;flex-shrink:0}.preview-compact-wrapper .preview-announcement-text{font-size:.6rem;line-height:1.3}.preview-compact-wrapper .preview-products-grid{grid-template-columns:repeat(3,1fr);gap:.375rem;margin-top:.5rem}.preview-compact-wrapper .preview-product-card{border-radius:10px;overflow:hidden;min-height:auto}.preview-compact-wrapper .preview-product-image{height:45px;display:flex;align-items:center;justify-content:center}.preview-compact-wrapper .preview-image-placeholder{font-size:1.25rem}.preview-compact-wrapper .preview-product-info{padding:.375rem;min-height:auto}.preview-compact-wrapper .preview-product-name{font-size:.55rem;margin-bottom:.25rem;line-height:1.2;-webkit-line-clamp:2}.preview-compact-wrapper .preview-product-details{gap:.25rem;flex-wrap:wrap}.preview-compact-wrapper .preview-product-price{font-size:.55rem}.preview-compact-wrapper .preview-product-stock{font-size:.5rem;padding:.1rem .25rem;border-radius:4px}.theme-preview-wrapper{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;padding:1rem;box-shadow:inset 0 2px 8px #0000001a,0 4px 16px #0000001a;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.theme-preview-wrapper.compact{min-height:240px;max-height:280px;overflow:hidden;width:100%}.theme-preview-wrapper.large{min-height:500px;padding:1.5rem;border-radius:20px}.theme-preview-wrapper:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 50%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(255,255,255,.1) 0%,transparent 50%);pointer-events:none;opacity:.6}.preview-header{background:#ffffff26;border:2px solid rgba(255,255,255,.2);border-radius:16px;padding:.875rem 1.125rem;margin-bottom:.875rem;display:flex;justify-content:space-between;align-items:center;gap:.875rem;transition:all .4s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 4px 12px #0000001a;position:relative;z-index:1}.preview-header:hover{transform:translateY(-1px);box-shadow:0 6px 16px #00000026;border-color:#ffffff4d}.preview-brand{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.preview-logo-container{flex-shrink:0;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fff3;padding:4px}.preview-logo{width:100%;height:100%}.preview-company-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.preview-company-name,.preview-company-tagline{margin:0;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview-search-btn{flex-shrink:0;padding:.5rem 1rem;background:#ffffff40;border:1px solid rgba(255,255,255,.3);border-radius:8px;color:#fff;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}.preview-search-btn:hover{background:#ffffff59;transform:translateY(-1px)}.preview-announcement{background:linear-gradient(135deg,#ffd700e6,#ffa500e6);border:2px solid rgba(255,255,255,.3);border-radius:10px;padding:.5rem .75rem;margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem;transition:all .3s ease}.preview-announcement-icon{font-size:.875rem;flex-shrink:0}.preview-announcement-text{font-size:.75rem;font-weight:600;color:#8b4513;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.preview-products-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-top:.75rem}.preview-product-card{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 4px 16px #00000026;transition:all .4s cubic-bezier(.4,0,.2,1);cursor:pointer;position:relative;border:1px solid rgba(0,0,0,.05)}.preview-product-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#667eea0d,#764ba20d);opacity:0;transition:opacity .3s ease;pointer-events:none}.preview-product-card:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 8px 20px #00000040;border-color:#667eea33}.preview-product-card:hover:before{opacity:1}.preview-product-image{width:100%;height:80px;background:#f5f5f5;display:flex;align-items:center;justify-content:center;overflow:hidden}.preview-image-placeholder{font-size:2rem;color:#ccc}.preview-product-info{padding:.625rem}.preview-product-name{margin:0 0 .5rem;font-size:.7rem;font-weight:600;color:#333;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.preview-product-details{display:flex;justify-content:space-between;align-items:center;gap:.5rem;flex-wrap:wrap}.preview-product-price{font-size:.7rem;font-weight:700;color:#667eea}.preview-product-stock{font-size:.65rem;font-weight:600;color:#28a745;background:#d4edda;padding:.125rem .375rem;border-radius:6px}@media(max-width:768px){.theme-preview-container-compact{padding:1rem;margin-top:1rem;margin-bottom:1rem;max-width:100%}.theme-preview-header-compact{flex-direction:column;align-items:stretch;gap:.75rem}.theme-preview-header-compact h3{font-size:1rem;text-align:center}.preview-expand-btn{width:100%;justify-content:center;padding:.75rem 1.25rem}.theme-preview-wrapper.compact{min-height:220px;max-height:260px}.preview-compact-wrapper .preview-products-grid{grid-template-columns:repeat(2,1fr);gap:.375rem}.preview-compact-wrapper .preview-product-image{height:40px}}@media(max-width:480px){.theme-preview-container-compact{padding:.875rem;max-width:100%}.theme-preview-header-compact h3{font-size:.95rem}.preview-expand-btn{font-size:.8rem;padding:.625rem 1rem}.expand-text{font-size:.8rem}.theme-preview-wrapper.compact{min-height:200px;max-height:240px}.preview-compact-wrapper .preview-products-grid{grid-template-columns:1fr;gap:.375rem}}@media(max-width:1024px){.preview-modal-content{max-width:95vw;margin:1rem}.preview-modal-body{padding:1.5rem}.theme-preview-wrapper.large{min-height:450px;padding:1.25rem}}@media(max-width:768px){.preview-modal-overlay{padding:2rem 1rem 1rem;align-items:flex-start}.preview-modal-content{max-width:100%;max-height:85vh;margin:0;border-radius:20px 20px 0 0}.preview-modal-header{padding:1.25rem 1.5rem}.preview-modal-header h2{font-size:1.25rem}.preview-modal-close{width:36px;height:36px;font-size:1.25rem}.preview-modal-body{padding:1.25rem;max-height:calc(85vh - 90px)}.theme-preview-wrapper.large{min-height:400px;padding:1rem}}@media(max-width:480px){.preview-modal-overlay{padding:1rem .5rem .5rem}.preview-modal-content{border-radius:16px 16px 0 0;max-height:90vh}.preview-modal-header{padding:1rem 1.25rem}.preview-modal-header h2{font-size:1.1rem}.preview-modal-body{padding:1rem;max-height:calc(90vh - 80px)}.theme-preview-wrapper.large{min-height:350px;padding:.875rem}}.loading-spinner-container{display:inline-flex;align-items:center;gap:8px}.loading-spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spinner-rotate .6s linear infinite}.loading-spinner.large{width:24px;height:24px;border-width:3px}.loading-spinner.small{width:12px;height:12px;border-width:2px}.loading-spinner.dark{border-color:#0000001a;border-top-color:#667eea}@keyframes spinner-rotate{to{transform:rotate(360deg)}}.loading-overlay{position:fixed;inset:0;background:#ffffffe6;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999;backdrop-filter:blur(4px)}.loading-overlay .loading-spinner{width:48px;height:48px;border-width:4px;border-color:#667eea33;border-top-color:#667eea}.loading-overlay p{margin-top:16px;font-size:16px;color:#667eea;font-weight:500}.admin-dashboard-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem;padding-bottom:0;animation:fadeIn .5s ease-in;display:flex;flex-direction:column}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.admin-header{max-width:1400px;width:100%;margin:0 auto 1rem;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#fff,#f8f9fa);padding:1rem 1.75rem;border-radius:20px;box-shadow:0 10px 40px #0000001a,inset 0 1px #ffffffe6;animation:slideDown .4s ease-out;border:1px solid rgba(255,255,255,.8);position:relative;overflow:hidden;transition:all .3s ease}.admin-header:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#667eea,#764ba2);opacity:.8}.admin-header:hover{box-shadow:0 12px 48px #667eea26,inset 0 1px #ffffffe6;transform:translateY(-2px)}@keyframes slideDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.header-left{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap;flex:1;min-width:0}.admin-header h1{color:#333;font-size:clamp(1.25rem,3vw,1.75rem);font-weight:700;margin:0;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.3px;white-space:nowrap;position:relative;z-index:1}.license-info{display:flex;align-items:center;gap:.625rem;padding:.625rem 1.25rem;border-radius:16px;background:linear-gradient(135deg,#28a745,#20c997);color:#fff;font-weight:600;font-size:clamp(.8rem,2vw,.95rem);box-shadow:0 4px 16px #28a74559;animation:pulse 2s ease-in-out infinite;white-space:nowrap;transition:all .3s ease;position:relative;overflow:hidden}.license-info:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .6s}.license-info:hover:before{left:100%}.license-info.warning{background:linear-gradient(135deg,#ff6b6b,#ee5a6f);box-shadow:0 4px 16px #ff6b6b66;animation:pulseWarning 1s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes pulseWarning{0%,to{transform:scale(1);box-shadow:0 4px 12px #ff6b6b4d}50%{transform:scale(1.05);box-shadow:0 6px 20px #ff6b6b80}}.license-icon{font-size:1.2rem}.logout-btn{padding:.75rem 1.5rem;background:linear-gradient(135deg,#ff6b6b,#ee5a6f,#dc3545);color:#fff;border:none;border-radius:12px;font-size:clamp(.85rem,1.8vw,.95rem);font-weight:600;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #ff6b6b59,inset 0 1px #fff3;white-space:nowrap;position:relative;overflow:hidden;flex-shrink:0;display:flex;align-items:center;gap:.625rem;letter-spacing:.3px}.logout-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#ffffff40;font-size:1rem;font-weight:700;transition:all .3s ease;flex-shrink:0;border:1.5px solid rgba(255,255,255,.4)}.logout-text{flex:1;white-space:nowrap}.logout-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);transition:left .6s ease}.logout-btn:hover:before{left:100%}.logout-btn:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff26;transform:translate(-50%,-50%);transition:width .5s,height .5s}.logout-btn:hover:after{width:250px;height:250px}.logout-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #ff6b6b73,inset 0 1px #ffffff4d;background:linear-gradient(135deg,#ff7b7b,#ff6b6b,#ee5a6f)}.logout-btn:hover .logout-icon{transform:translate(3px) scale(1.1);background:#ffffff59;border-color:#fff9}.logout-btn:active{transform:translateY(0) scale(.98);box-shadow:0 2px 8px #ff6b6b4d,inset 0 1px #fff3}.admin-tabs{max-width:1400px;width:100%;margin:0 auto 1rem;display:grid;grid-template-columns:repeat(3,1fr);gap:.625rem;background:linear-gradient(135deg,#fff,#f8f9fa);padding:.625rem;border-radius:20px;box-shadow:0 10px 40px #0000001a,inset 0 1px #ffffffe6;animation:slideUp .5s ease-out;border:1px solid rgba(255,255,255,.8);position:relative;overflow:hidden}.admin-tabs:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#667eea,#764ba2);opacity:.6}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.admin-tabs .tab{padding:.75rem 1.25rem;background:transparent;border:2px solid transparent;border-radius:14px;font-size:clamp(.875rem,2vw,1rem);font-weight:600;color:#666;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;text-align:center;display:flex;align-items:center;justify-content:center;gap:.5rem;white-space:nowrap}.admin-tabs .tab:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(102,126,234,.1),transparent);transition:left .6s}.admin-tabs .tab:hover:before{left:100%}.admin-tabs .tab:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:0;height:3px;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:3px 3px 0 0;transition:width .4s cubic-bezier(.4,0,.2,1)}.admin-tabs .tab:hover:after,.admin-tabs .tab.active:after{width:80%}.admin-tabs .tab:hover{background:linear-gradient(135deg,#667eea14,#764ba214);color:#667eea;transform:translateY(-2px);border-color:#667eea33}.admin-tabs .tab.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 6px 20px #667eea66,inset 0 1px #fff3;transform:translateY(-2px);border-color:#ffffff4d}.admin-tabs .tab.active:after{background:#ffffff80;width:80%}.admin-content{max-width:1400px;width:100%;margin:0 auto;animation:fadeInUp .6s ease-out;position:relative;z-index:1;flex:1;padding-bottom:3rem;padding-left:0;padding-right:0}@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.admin-section{background:linear-gradient(135deg,#fff,#f8f9fa);padding:1.5rem;border-radius:20px;box-shadow:0 10px 40px #0000001a,inset 0 1px #ffffffe6;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:visible;border:1px solid rgba(255,255,255,.8)}.admin-section:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:24px 24px 0 0;opacity:0;transition:opacity .3s ease}.admin-section:hover{transform:translateY(-4px);box-shadow:0 16px 48px #667eea26,inset 0 1px #ffffffe6;border-color:#667eea33}.admin-section:hover:before{opacity:1}.admin-section h2{color:#333;font-size:clamp(1.25rem,3vw,1.65rem);font-weight:700;margin:0 0 1.5rem;padding-bottom:.75rem;border-bottom:2px solid #f0f0f0;display:flex;align-items:center;gap:.75rem;letter-spacing:-.3px}.section-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#667eea,#764ba2);font-size:1.35rem;flex-shrink:0;box-shadow:0 4px 12px #667eea40,inset 0 1px #fff3;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.section-icon:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.2) 0%,transparent 100%);border-radius:12px;pointer-events:none}.section-icon:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:0;height:0;border-radius:50%;background:#ffffff4d;transition:width .6s,height .6s}.admin-section h2:hover .section-icon{transform:translateY(-2px) scale(1.05);box-shadow:0 6px 16px #667eea59,inset 0 1px #ffffff4d}.admin-section h2:hover .section-icon:after{width:60px;height:60px}.section-title{background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;flex:1;transition:all .3s ease}.admin-section h2:hover .section-title{transform:translate(4px)}.admin-section h3{color:#555;font-size:1.3rem;font-weight:600;margin:2rem 0 1rem;padding-bottom:.5rem;border-bottom:2px solid #f0f0f0}.theme-group{margin-bottom:2.5rem;padding-bottom:2rem;border-bottom:2px solid #f0f0f0;transition:border-color .3s ease}.theme-group:last-child{border-bottom:none}.theme-group:hover{border-bottom-color:#667eea}.form-group{margin-bottom:1.5rem}.form-group label{display:block;color:#555;font-size:.95rem;font-weight:600;margin-bottom:.75rem}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1rem;position:relative;overflow:visible}.form-row-3{grid-template-columns:repeat(3,1fr)}@media(max-width:1024px)and (min-width:769px){.form-row-3{grid-template-columns:repeat(2,1fr)}}.form-group-inline{display:flex;flex-direction:column;position:relative;overflow:visible}.form-group-inline label{display:block;color:#555;font-size:.95rem;font-weight:600;margin-bottom:.5rem}.form-group-inline input[type=text],.form-group-inline input[type=date],.form-group-inline select{width:100%;padding:.875rem 1.25rem;border:2px solid #e0e0e0;border-radius:12px;font-size:1rem;transition:all .3s ease;box-sizing:border-box}.form-group-inline input[type=text]:focus,.form-group-inline input[type=date]:focus,.form-group-inline select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 4px #667eea1a}.form-group input[type=text],.form-group input[type=date]{width:100%;padding:.875rem 1.25rem;border:2px solid #e0e0e0;border-radius:12px;font-size:1rem;transition:all .3s ease;box-sizing:border-box}.form-group input[type=text]:focus,.form-group input[type=date]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 4px #667eea1a}.style-select{width:100%;padding:.875rem 1.25rem;border:2px solid #e0e0e0;border-radius:12px;font-size:1rem;background:#fff;cursor:pointer;transition:all .3s ease}.style-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 4px #667eea1a}.remaining-days{margin-top:.5rem;padding:.5rem 1rem;border-radius:8px;font-size:.9rem;font-weight:600;background:linear-gradient(135deg,#28a745,#20c997);color:#fff;display:inline-block}.remaining-days.warning{background:linear-gradient(135deg,#ff6b6b,#ee5a6f);animation:pulseWarning 1s ease-in-out infinite}.company-form-grid{display:grid;grid-template-columns:280px 1fr;gap:1rem;margin-bottom:1.25rem;align-items:start}.form-card{background:#fff;border-radius:12px;padding:1rem;border:2px solid #e8ecf4;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #0000000a}.form-card:hover{border-color:#667eea;box-shadow:0 8px 24px #667eea1f;transform:translateY(-2px)}.form-card-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;padding-bottom:.625rem;border-bottom:2px solid #f1f3f9}.form-card-header .card-icon{width:1.125rem;height:1.125rem;color:#667eea;flex-shrink:0}.form-card-header h3{margin:0;font-size:.875rem;font-weight:600;color:#2d3748;letter-spacing:-.01em}.logo-card{grid-column:1;grid-row:1 / 3}.company-form-grid .form-card:not(.logo-card){grid-column:2}.compact-logo-preview{width:100%;max-width:100%;height:100px;margin:0 auto .75rem;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f8f9ff,#fff);border:2px dashed #d0d7e7;border-radius:10px;overflow:hidden;transition:all .3s ease}.compact-logo-preview:hover{border-color:#667eea;background:linear-gradient(135deg,#f0f3ff,#fff)}.compact-logo-preview img{max-width:100%;max-height:100%;object-fit:contain;padding:.5rem}.compact-input{width:100%;padding:.625rem .875rem;border:2px solid #e8ecf4;border-radius:8px;font-size:.875rem;transition:all .25s cubic-bezier(.4,0,.2,1);background:#fafbfd;color:#2d3748;box-sizing:border-box}.compact-input::placeholder{color:#94a3b8;font-size:.8125rem}.compact-input:hover{background:#fff;border-color:#cbd5e1}.compact-input:focus{outline:none;border-color:#667eea;background:#fff;box-shadow:0 0 0 3px #667eea14;transform:translateY(-1px)}.form-field{display:flex;flex-direction:column;gap:.5rem}.preview-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .875rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #667eea40}.preview-btn svg{width:.875rem;height:.875rem}.preview-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea59}.preview-btn:active{transform:translateY(0)}.field-hint{margin:0;font-size:.75rem;color:#64748b;line-height:1.3}.announcement-add{display:flex;gap:.75rem}.announcement-add input{flex:1;padding:.875rem 1.25rem;border:2px solid #e0e0e0;border-radius:12px;font-size:1rem;transition:all .3s ease}.announcement-add input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 4px #667eea1a}.announcement-add button{padding:.875rem 1.75rem;background:linear-gradient(135deg,#28a745,#20c997);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #28a7454d}.announcement-add button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #28a74566}.announcement-add button:disabled{opacity:.6;cursor:not-allowed}.announcements-list{margin-top:1.5rem}.announcements-list h3{margin-top:0;margin-bottom:1rem;font-size:1.1rem}.announcement-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:linear-gradient(135deg,#f9f9f9,#f0f0f0);border-radius:10px;margin-bottom:.5rem;transition:all .3s ease;border:2px solid transparent;min-height:auto}.announcement-item:hover{border-color:#667eea;transform:translate(5px);box-shadow:0 4px 12px #667eea33}.announcement-item span{flex:1;color:#333;font-size:.95rem;font-weight:500;line-height:1.4;padding-right:.75rem}.announcement-actions{display:flex;gap:.375rem;flex-shrink:0}.announcement-edit{width:100%;display:flex;flex-direction:column;gap:.625rem}.announcement-edit-input{width:100%;padding:.625rem 1rem;border:2px solid #667eea;border-radius:10px;font-size:.95rem;transition:all .3s ease}.announcement-edit-input:focus{outline:none;box-shadow:0 0 0 4px #667eea1a}.announcement-edit-actions{display:flex;gap:.5rem;flex-wrap:wrap}.edit-btn,.save-edit-btn,.cancel-edit-btn{padding:.5rem 1rem;border:none;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}.edit-btn{background:linear-gradient(135deg,#ffc107,#ff9800);color:#fff;box-shadow:0 2px 8px #ffc1074d}.edit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #ffc10766}.save-edit-btn{background:linear-gradient(135deg,#28a745,#20c997);color:#fff;box-shadow:0 2px 8px #28a7454d}.save-edit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #28a74566}.cancel-edit-btn{background:linear-gradient(135deg,#6c757d,#5a6268);color:#fff;box-shadow:0 2px 8px #6c757d4d}.cancel-edit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #6c757d66}.delete-btn{padding:.5rem 1rem;background:linear-gradient(135deg,#dc3545,#c82333);color:#fff;border:none;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #dc35454d;white-space:nowrap}.delete-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #dc354566}.delete-btn:disabled{opacity:.6;cursor:not-allowed}.empty-message{color:#999;font-style:italic;text-align:center;padding:3rem;font-size:1.1rem}.modern-save-btn{width:100%;padding:.875rem 1.75rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:10px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 16px #667eea4d;display:flex;align-items:center;justify-content:center;gap:.5rem;letter-spacing:.01em;position:relative;overflow:hidden;margin-top:0}.modern-save-btn svg{width:1.125rem;height:1.125rem}.modern-save-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.modern-save-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #667eea66}.modern-save-btn:hover:not(:disabled):before{left:100%}.modern-save-btn:active:not(:disabled){transform:translateY(0)}.modern-save-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.save-btn{padding:1.125rem 2.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:1.5rem;box-shadow:0 4px 12px #667eea4d;width:100%}.save-btn:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 8px 20px #667eea66}.save-btn:disabled{opacity:.6;cursor:not-allowed}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;color:#667eea}.loading-spinner{width:60px;height:60px;border:5px solid rgba(102,126,234,.3);border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1024px){.company-form-grid{grid-template-columns:240px 1fr;gap:.875rem}.admin-dashboard-page{padding:1.5rem}.admin-header{padding:.875rem 1.5rem;margin-bottom:1rem}.admin-header h1{font-size:clamp(1.15rem,3vw,1.5rem)}.admin-tabs{margin-bottom:1rem;padding:.625rem;gap:.5rem}.admin-tabs .tab{padding:.875rem 1rem;font-size:.95rem}.admin-section{padding:1.5rem}.admin-section h2{margin-bottom:1.25rem;padding-bottom:.625rem;gap:.625rem;font-size:clamp(1.15rem,3vw,1.5rem)}.section-icon{width:40px;height:40px;font-size:1.25rem;border-radius:10px}}@media(max-width:768px){.admin-dashboard-page{padding:1rem;padding-bottom:0}.admin-header{flex-direction:column;gap:1rem;align-items:stretch;padding:1rem 1.25rem;margin-bottom:1rem;border-radius:18px}.admin-header h1{font-size:clamp(1.1rem,3vw,1.35rem)}.header-left{flex-direction:column;align-items:flex-start;gap:1rem;width:100%}.admin-header h1{width:100%;white-space:normal;line-height:1.3}.license-info{width:100%;justify-content:center}.logout-btn{width:100%;padding:.875rem 1.5rem;justify-content:center}.admin-tabs{grid-template-columns:1fr;gap:.5rem;padding:.625rem;margin-bottom:1rem;border-radius:18px}.admin-tabs .tab{padding:.875rem 1rem;width:100%;justify-content:center}.admin-content{padding-bottom:2rem}.admin-section{padding:1.25rem;border-radius:18px;margin-bottom:1rem}.admin-section h2{margin-bottom:1.25rem;padding-bottom:.625rem;gap:.625rem;font-size:clamp(1.1rem,3vw,1.4rem)}.section-icon{width:38px;height:38px;font-size:1.15rem;border-radius:10px}.form-row{grid-template-columns:1fr;gap:1rem}.form-row-3,.license-info-grid{grid-template-columns:1fr}.company-form-grid{grid-template-columns:1fr;gap:.875rem}.logo-card{grid-row:auto}.company-form-grid .form-card:not(.logo-card){grid-column:1}.form-card{padding:.875rem}.compact-logo-preview{max-width:140px;height:90px}.announcement-add{flex-direction:column}.announcement-add button{width:100%}.announcement-item{flex-direction:column;gap:.75rem;align-items:stretch;padding:.875rem 1rem}.announcement-item span{padding-right:0;padding-bottom:.25rem}.announcement-actions{justify-content:stretch;width:100%;gap:.5rem}.announcement-actions button{flex:1}}@media(max-width:480px){.admin-dashboard-page{padding:.75rem;padding-bottom:0}.admin-header{padding:.875rem 1.25rem;margin-bottom:.875rem;border-radius:16px}.admin-header h1{font-size:1.3rem}.license-info{padding:.5rem 1rem;font-size:.85rem}.logout-btn{padding:.75rem 1.25rem;font-size:.9rem}.admin-tabs{padding:.5rem;margin-bottom:.875rem;border-radius:16px;gap:.5rem}.admin-tabs .tab{padding:.75rem .875rem;font-size:.9rem;border-radius:12px}.admin-content{padding-bottom:1.5rem}.admin-section{padding:1.125rem;border-radius:16px}.admin-section h2{font-size:1.35rem;margin-bottom:1.25rem;padding-bottom:.625rem;gap:.625rem}.section-icon{width:36px;height:36px;font-size:1.1rem;border-radius:10px}.admin-section h3{font-size:1.1rem;margin:1.5rem 0 1rem}.company-info-container{padding:1rem;gap:1.5rem;border-radius:16px}.compact-input{padding:.625rem .75rem;font-size:.875rem}.form-card-header h3{font-size:.8125rem}.form-card-header .card-icon{width:1rem;height:1rem}.preview-btn{padding:.5rem .75rem;font-size:.75rem}.modern-save-btn,.save-btn{padding:.875rem 1.5rem;font-size:.875rem}}@media(max-width:360px){.admin-dashboard-page{padding:.5rem;padding-bottom:0}.admin-header{padding:.75rem 1rem;margin-bottom:.75rem;border-radius:12px}.admin-header h1{font-size:1.2rem}.logout-btn{padding:.625rem 1rem;font-size:.85rem}.admin-tabs{padding:.5rem;margin-bottom:.75rem;border-radius:12px;gap:.375rem}.admin-tabs .tab{padding:.625rem .75rem;font-size:.85rem;border-radius:10px}.admin-section{padding:1rem;border-radius:12px}.admin-section h2{font-size:1.25rem;margin-bottom:1rem;padding-bottom:.5rem;gap:.5rem}.section-icon{width:34px;height:34px;font-size:1rem;border-radius:8px}}.not-found-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.not-found-container{text-align:center;color:#fff;max-width:600px}.not-found-title{font-size:120px;font-weight:900;margin:0;line-height:1;text-shadow:0 4px 20px rgba(0,0,0,.3)}.not-found-subtitle{font-size:32px;font-weight:600;margin:20px 0}.not-found-message{font-size:18px;margin:20px 0 40px;opacity:.9;line-height:1.6}.not-found-actions{display:flex;gap:15px;justify-content:center;flex-wrap:wrap}.not-found-actions button{padding:12px 30px;font-size:16px;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease}.btn-primary{background:#fff;color:#667eea}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0003}.btn-secondary{background:#fff3;color:#fff;border:2px solid white}.btn-secondary:hover{background:#ffffff4d;transform:translateY(-2px)}@media(max-width:768px){.not-found-title{font-size:80px}.not-found-subtitle{font-size:24px}.not-found-message{font-size:16px}}*{box-sizing:border-box}.error-boundary{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f093fb,#f5576c);padding:20px}.error-boundary-container{background:#fff;border-radius:16px;padding:40px;max-width:600px;text-align:center;box-shadow:0 10px 40px #0003}.error-icon{font-size:64px;margin-bottom:20px}.error-title{font-size:32px;font-weight:700;color:#333;margin:0 0 16px}.error-message{font-size:16px;color:#666;line-height:1.6;margin:0 0 24px}.error-details{background:#f5f5f5;border:1px solid #ddd;border-radius:8px;padding:16px;margin:24px 0;text-align:left;cursor:pointer}.error-details summary{font-weight:600;color:#666;user-select:none}.error-details pre{margin:12px 0 0;padding:12px;background:#fff;border-radius:4px;overflow-x:auto;font-size:12px;color:#d63031}.error-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.error-actions button{padding:12px 24px;font-size:16px;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease}.btn-reload{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-reload:hover{transform:translateY(-2px);box-shadow:0 8px 20px #667eea66}.btn-refresh{background:#fff;color:#667eea;border:2px solid #667eea}.btn-refresh:hover{background:#f8f9fa;transform:translateY(-2px)}@media(max-width:768px){.error-boundary-container{padding:30px 20px}.error-title{font-size:24px}.error-message{font-size:14px}}
