*{margin:0;padding:0;box-sizing:border-box}body{font-family:Roboto Mono,monospace;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%;min-height:100vh}body,input,textarea,button,select,*{font-family:Roboto Mono,monospace}.product-grid-container{padding:2rem;max-width:1200px;margin:0 auto}.product-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:4rem 3rem;margin-bottom:2rem}.product-card{cursor:pointer;transition:transform .3s ease;background:transparent}.product-image{width:100%;height:auto;object-fit:contain;display:block;margin-bottom:1rem}.product-card-info{text-align:center;padding:0 .5rem}.product-title{font-size:1.2rem;font-weight:600;margin-bottom:.5rem;color:#333}.product-price{font-size:1.1rem;font-weight:700;color:#231f20}.variant-selector,.quantity-selector{margin-bottom:1rem}.variant-selector label,.quantity-selector label{display:block;margin-bottom:.5rem;font-weight:500}.variant-selector select,.quantity-selector input{width:100%;padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:.9rem}.add-to-cart-btn{width:100%;background:#231f20;color:#fff;border:none;padding:.75rem;border-radius:4px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .3s ease}.add-to-cart-btn:hover:not(:disabled){background:#231f20}.add-to-cart-btn:disabled{background:#ccc;cursor:not-allowed}.out-of-stock{color:#f44;font-weight:500;margin-top:.5rem}.cart-toggle{position:fixed;top:120px;right:20px;background:#ebebec;color:#231f20;border:none;padding:.6375rem .85rem;border-radius:25px;font-size:.85rem;cursor:pointer;z-index:1000;box-shadow:0 2px 10px #0000001a}.cart-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:1001;display:flex;align-items:center;justify-content:flex-end}.cart-sidebar{background:#fff;height:100vh;width:400px;max-width:90vw;overflow-y:auto;box-shadow:-2px 0 10px #0000001a}.cart-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid #eee}.cart-header h2{margin:0;color:#333}.cart-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#999}.cart-content{padding:1rem}.cart-items{margin-bottom:2rem}.cart-item{display:flex;gap:1rem;padding:1rem 0;border-bottom:1px solid #eee}.cart-item-image{width:60px;height:60px;object-fit:cover;border-radius:4px}.cart-item-details{flex:1}.cart-item-details h4{margin:0 0 .5rem;font-size:.9rem}.cart-item-details p{margin:0 0 .5rem;font-size:.8rem;color:#666}.cart-item-price{font-weight:600;color:#231f20}.cart-item-controls{display:flex;flex-direction:column;gap:.5rem}.quantity-controls{display:flex;align-items:center;gap:.5rem}.quantity-controls button{background:#f0f0f0;border:none;width:25px;height:25px;border-radius:50%;cursor:pointer;font-size:.9rem}.remove-item{background:#f44;color:#fff;border:none;padding:.25rem .5rem;border-radius:4px;font-size:.8rem;cursor:pointer}.discount-section{margin-bottom:2rem;padding:1rem;background:#f9f9f9;border-radius:4px}.discount-input{display:flex;gap:.5rem;margin-bottom:.5rem}.discount-input input{flex:1;padding:.5rem;border:1px solid #ddd;border-radius:4px}.discount-input button{background:#231f20;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer}.discount-applied{color:#28a745;font-size:.9rem;font-weight:500}.cart-summary{border-top:1px solid #eee;padding-top:1rem}.cart-total{margin-bottom:1rem}.subtotal,.tax,.total{display:flex;justify-content:space-between;margin-bottom:.5rem}.total{font-weight:700;font-size:1.1rem;border-top:1px solid #eee;padding-top:.5rem}.checkout-btn{width:100%;background:#28a745;color:#fff;border:none;padding:1rem;border-radius:4px;font-size:1.1rem;font-weight:600;cursor:pointer}.checkout-btn:hover:not(:disabled){background:#218838}.empty-cart{text-align:center;color:#666;padding:2rem}.loading-spinner{text-align:center;padding:2rem;color:#666}.error-message{text-align:center;padding:2rem;color:#f44}.error-message button{background:#f44;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;margin-top:1rem}.load-more-container{text-align:center;margin-top:2rem}.load-more-btn{background:#231f20;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;font-size:1rem;cursor:pointer}.no-products{text-align:center;color:#666;padding:2rem}@media (max-width: 768px){.product-grid-container{padding:1rem}.product-grid{grid-template-columns:1fr;gap:3rem 2rem}.cart-sidebar{width:100%}.cart-item{flex-direction:column}.cart-item-controls{flex-direction:row;justify-content:space-between;align-items:center}}@media (max-width: 480px){.product-grid{gap:2rem 1rem}}*{font-family:Roboto Mono,monospace}.navbar{background:#fff;border-bottom:2px solid #e0e0e0;position:sticky;top:0;z-index:100;box-shadow:0 2px 4px #0000001a}.nav-container{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center;height:70px}.nav-logo{display:flex;align-items:center;text-decoration:none;gap:.75rem}.logo-image{height:40px;width:auto}.logo-text{font-size:1.5rem;font-weight:700;color:#231f20}.nav-menu{display:flex;list-style:none;margin:0;padding:0;gap:2rem}.nav-item{margin:0}.nav-link{text-decoration:none;color:#333;font-weight:500;font-size:.9rem;padding:.4rem .8rem;border-radius:4px;transition:all .3s ease}.nav-link:hover{background:#f0f0f0;color:#231f20}.nav-link.active{background:#e6e7e8;color:#231f20}.page-header{text-align:center;padding:3rem 2rem 2rem;background:linear-gradient(135deg,#f8f9fa,#e9ecef);margin-bottom:2rem}.page-header h1{font-size:2.5rem;color:#231f20;margin-bottom:1rem;font-weight:700}.page-header p{font-size:.99rem;color:#666;max-width:600px;margin:0 auto}.home-page{min-height:100vh}.hero-section{background:none;color:#231f20;padding:5.25rem 2rem 1.5rem;text-align:center}.hero-content{max-width:800px;margin:0 auto}.hero-title{font-size:2.25rem;font-weight:700;margin-bottom:.75rem;letter-spacing:.09rem}.hero-description{font-size:1.02rem;line-height:1.3;letter-spacing:.036rem;font-style:italic}.home-info{padding:3rem 1.5rem;background:#efeff0}.info-section{max-width:1200px;margin:0 auto;text-align:center}.info-section h2{font-size:1.65rem;color:#231f20;margin-bottom:2.25rem}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(225px,1fr));gap:1.5rem;margin-top:1.5rem}.feature{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 10px #0000001a;transition:transform .3s ease}.feature:hover{transform:translateY(-5px)}.feature h3{color:#231f20;margin-bottom:.75rem;font-size:.975rem}.feature p{color:#666;line-height:1.6}.product-gallery{padding:4rem 0;width:100%}.gallery-container{display:flex;flex-direction:column;align-items:center;gap:3rem;width:100%;padding:0 2rem}.gallery-item{border-radius:6px;overflow:hidden;box-shadow:0 4px 20px #0000001a}.gallery-item-large{width:63vw;max-width:840px;aspect-ratio:1/1}.gallery-item-paired{width:28vw;max-width:350px;aspect-ratio:1/1}.gallery-pair{display:flex;justify-content:center;gap:2rem;width:100%;flex-wrap:wrap}.gallery-image{width:100%;height:100%;object-fit:cover;display:block}.gallery-loading,.no-gallery-images{text-align:center;padding:3rem;color:#666}.about-page{max-width:800px;margin:0 auto;padding:0 2rem 4rem}.about-content{line-height:1.8;padding-top:2rem}.about-section{margin-bottom:4.5rem;text-align:center}.about-section h2{color:#231f20;font-size:1.8rem;margin-bottom:1rem;border-bottom:2px solid #e0e0e0;padding-bottom:.5rem}.about-section p{color:#666;font-size:.935rem}.about-placeholder{background:#f8f9fa;border:2px solid #ddd;border-radius:8px;padding:1.6rem;text-align:center;margin-top:5rem}.placeholder-note h3{color:#231f20;margin-bottom:1rem}.placeholder-note code{background:#e9ecef;padding:.2rem .4rem;border-radius:4px;font-family:Courier New,monospace}.controller-page{min-height:100vh}@media (max-width: 768px){.nav-container{padding:0 1rem;height:60px}.nav-menu{gap:1rem}.nav-link{padding:.4rem .8rem;font-size:.9rem}.logo-text{font-size:1.3rem}.logo-image{height:35px}.hero-title{font-size:2.2rem}.hero-description{font-size:1.1rem}.page-header h1{font-size:2rem}.gallery-item-large{width:95vw}.gallery-item-paired{width:45vw;max-width:300px}.gallery-pair{gap:1rem}.features-grid{grid-template-columns:1fr}}@media (max-width: 480px){.nav-menu{gap:.5rem}.nav-link{padding:.3rem .6rem;font-size:.8rem}.hero-section{padding:2rem 1rem}.hero-title{font-size:1.8rem}.gallery-item-large{width:98vw;aspect-ratio:1/1}.gallery-item-paired{width:90vw;max-width:none}.gallery-pair{flex-direction:column;align-items:center;gap:1rem}.logo-text{display:none}}.product-detail-page{padding:2rem;min-height:100vh;background:#f8f9fa}.product-detail-container{max-width:1400px;margin:0 auto}.back-button{background:#231f20;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-size:1rem;margin-bottom:2rem;transition:background .3s ease}.back-button:hover{background:#231f20}.product-detail-content{display:grid;grid-template-columns:1fr 1fr;gap:3rem;background:#fff;padding:3rem;border-radius:12px;box-shadow:0 4px 20px #0000001a}.product-images{display:flex;flex-direction:column;gap:1rem}.main-image{width:100%;aspect-ratio:1/1;border-radius:8px;overflow:hidden;background:#f5f5f5}.main-image img{width:100%;height:100%;object-fit:cover}.thumbnail-gallery{display:flex;gap:1rem;flex-wrap:wrap}.thumbnail{width:80px;height:80px;border-radius:4px;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:border-color .3s ease}.thumbnail:hover,.thumbnail.active{border-color:#231f20}.thumbnail img{width:100%;height:100%;object-fit:cover}.product-info-detail{display:flex;flex-direction:column;gap:1.5rem}.product-title-detail{font-size:2.5rem;color:#333;font-weight:700;margin:0}.product-price-detail{font-size:2rem;color:#231f20;font-weight:700}.variant-selector-detail{display:flex;flex-direction:column;gap:.5rem}.variant-selector-detail label{font-weight:600;color:#333}.variant-selector-detail select{padding:.75rem;border:2px solid #e0e0e0;border-radius:4px;font-size:1rem;background:#fff;cursor:pointer}.quantity-selector-detail{display:flex;flex-direction:column;gap:.5rem}.quantity-selector-detail label{font-weight:600;color:#333}.quantity-controls{display:flex;align-items:center;gap:1rem}.quantity-controls button{width:40px;height:40px;border:2px solid #231f20;background:#fff;color:#231f20;border-radius:4px;font-size:1.2rem;cursor:pointer;transition:all .3s ease}.quantity-controls button:hover:not(:disabled){background:#231f20;color:#fff}.quantity-controls button:disabled{opacity:.5;cursor:not-allowed}.quantity-controls input{width:80px;height:40px;text-align:center;border:2px solid #e0e0e0;border-radius:4px;font-size:1rem}.add-to-cart-btn-detail{width:100%;background:#231f20;color:#fff;border:none;padding:1.25rem;border-radius:4px;font-size:1.2rem;font-weight:600;cursor:pointer;transition:background .3s ease;margin-top:1rem}.add-to-cart-btn-detail:hover:not(:disabled){background:#231f20}.add-to-cart-btn-detail:disabled{background:#ccc;cursor:not-allowed}.product-description-detail{margin-top:2rem;padding-top:2rem;border-top:1px solid #e0e0e0}.product-description-detail h2{font-size:1.5rem;color:#231f20;margin-bottom:1rem}.product-description-detail p,.product-description-detail ul,.product-description-detail ol{color:#666;line-height:1.8;margin-bottom:1rem}.product-detail-loading,.product-not-found{text-align:center;padding:4rem 2rem}.product-not-found h2{font-size:2rem;color:#333;margin-bottom:1rem}.product-not-found p{font-size:1.1rem;color:#666;margin-bottom:2rem}.gallery-item{cursor:pointer;transition:transform .3s ease,box-shadow .3s ease}.product-card-clickable{cursor:pointer}@media (max-width: 1024px){.product-detail-content{grid-template-columns:1fr;gap:2rem}}@media (max-width: 768px){.product-detail-page{padding:1rem}.product-detail-content{padding:2rem 1.5rem}.product-title-detail{font-size:2rem}.product-price-detail{font-size:1.5rem}.thumbnail{width:60px;height:60px}}@media (max-width: 480px){.product-title-detail{font-size:1.5rem}.product-detail-content{padding:1.5rem 1rem}.quantity-controls{justify-content:center}}.mailing-list-signup{background:#231f20;padding:2.55rem 1.7rem;border-radius:0;margin:2rem 0;text-align:center}.signup-content h3{font-family:Roboto Mono,monospace;font-size:1.5rem;margin-bottom:.25rem;color:#fff}.signup-content p{font-family:Roboto Mono,monospace;color:#e0e0e0;margin-bottom:1rem;font-size:.9rem}.signup-form{max-width:400px;margin:0 auto}.form-group{display:flex;gap:1rem;margin-bottom:1rem}.email-input{flex:1;padding:.375rem 1rem;border:none;border-radius:4px;font-family:Roboto Mono,monospace;font-size:.8rem;transition:border-color .3s ease}.email-input:focus{outline:none;border-color:#333}.email-input:disabled{background-color:#f5f5f5;cursor:not-allowed}.signup-button{padding:.475rem 1.5rem;background-color:#efeff0;color:#231f20;border:none;border-radius:25px;font-family:Roboto Mono,monospace;font-size:.9rem;cursor:pointer;transition:background-color .3s ease;white-space:nowrap}.signup-button:hover:not(:disabled){background-color:#d0d0d0}.signup-button:disabled{background-color:#ccc;cursor:not-allowed}.signup-message{margin-top:1rem;padding:.75rem;border-radius:4px;font-family:Roboto Mono,monospace;font-size:.85rem}.signup-message.success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.signup-message.error{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}@media (max-width: 768px){.mailing-list-signup{padding:2rem 1rem}.form-group{flex-direction:column;gap:.75rem}.signup-button{width:100%}}.faq-page{max-width:800px;margin:0 auto;padding:2rem}.faq-header-title{letter-spacing:.2em}.faq-subtitle{font-size:.4em;letter-spacing:normal;font-weight:400;display:block}.faq-content{margin-top:.5rem}.faq-list{margin-bottom:3rem}.faq-item{border:1px solid #e0e0e0;border-radius:8px;margin-bottom:1.5rem;overflow:hidden;transition:all .3s ease}.faq-item:hover,.faq-item.open{border-color:#333}.faq-question{width:100%;background:none;border:none;padding:1.5rem;text-align:left;font-family:Roboto Mono,monospace;font-size:1rem;font-weight:500;color:#333;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background-color .3s ease}.faq-question:hover{background-color:#f8f8f8}.faq-question:focus{outline:2px solid #333;outline-offset:-2px}.faq-icon{font-size:1.2rem;font-weight:700;color:#666;transition:transform .3s ease;flex-shrink:0;margin-left:1rem}.faq-item.open .faq-icon{transform:rotate(0)}.faq-answer{max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease}.faq-item.open .faq-answer{max-height:200px;padding:0 1.5rem 1.5rem}.faq-answer p{font-family:Roboto Mono,monospace;font-size:.9rem;line-height:1.6;color:#666;margin:0}.faq-contact{background:#f8f9fa;border:2px solid #ddd;padding:1.6rem;border-radius:8px;text-align:center;margin-bottom:2rem;margin-top:5rem}.faq-contact h3{font-family:Roboto Mono,monospace;font-size:1.3rem;margin-bottom:1rem;color:#333}.faq-contact p{font-family:Roboto Mono,monospace;font-size:.9rem;line-height:1.6;color:#666;margin:0}.faq-contact a{color:#333;text-decoration:underline}.faq-contact a:hover{text-decoration:none}@media (max-width: 768px){.faq-page{padding:1rem}.faq-question{padding:1rem;font-size:.9rem}.faq-item.open .faq-answer{padding:0 1rem 1rem}.faq-contact{padding:1.5rem}}.support-page{min-height:100vh}.support-page-header{text-align:center;padding:3rem 2rem 2rem;background:linear-gradient(135deg,#f8f9fa,#e9ecef);margin-bottom:5rem}.support-page-header h1{font-size:2.5rem;color:#231f20;margin-bottom:1rem;font-weight:700;font-family:Roboto Mono,monospace}.support-page-header p{font-size:.9rem;color:#666;max-width:600px;margin:0 auto;font-family:Roboto Mono,monospace}.support-content{max-width:1000px;margin:0 auto;padding:0 2rem}.controllers-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;margin-bottom:3rem}.controller-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:2rem;transition:all .3s ease}.controller-card:hover{border-color:#231f20;box-shadow:0 4px 8px #0000001a}.controller-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.controller-icon{font-size:2.5rem}.controller-info h2{margin:0;font-size:1.5rem;color:#333;font-family:Roboto Mono,monospace;font-weight:700}.controller-info .version{color:#999;font-size:.85rem;margin-top:.25rem;font-family:Roboto Mono,monospace}.controller-description{color:#666;line-height:1.6;margin-bottom:1.5rem;font-family:Roboto Mono,monospace;font-size:.95rem}.controller-actions{display:flex;flex-direction:column;gap:1rem}.action-section{background:#f8f8f8;border:1px solid #e0e0e0;border-radius:8px;padding:1.25rem;transition:all .3s ease}.action-section:hover{border-color:#231f20;background:#fafbff}.action-section h3{margin:0 0 .75rem;font-size:1rem;color:#333;font-family:Roboto Mono,monospace;font-weight:600}.action-section p{color:#666;font-size:.9rem;margin:0 0 1rem;line-height:1.5;font-family:Roboto Mono,monospace}.manual-link{display:inline-flex;align-items:center;gap:.5rem;color:#231f20;text-decoration:none;font-weight:600;font-family:Roboto Mono,monospace;font-size:.95rem;transition:color .2s ease}.manual-link:hover{color:#1a3f7a;text-decoration:underline}esp-web-install-button{display:block;margin-top:1rem}esp-web-install-button::part(button){background:#231f20;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;font-size:.95rem;font-weight:600;font-family:Roboto Mono,monospace;cursor:pointer;transition:all .2s ease}esp-web-install-button::part(button):hover{background:#1a3f7a;box-shadow:0 2px 4px #00000026}.firmware-note{background:#f0f5ff;border-left:3px solid #231f20;padding:.75rem 1rem;border-radius:0 4px 4px 0;margin-top:1rem}.firmware-note p{margin:0;font-size:.85rem;color:#666;font-family:Roboto Mono,monospace}.browser-warning{background:#fff8f0;border:1px solid #e0d0c0;border-radius:4px;padding:1rem;margin-bottom:1rem;display:flex;align-items:flex-start;gap:.75rem}.browser-warning .warning-icon{font-size:1.25rem;flex-shrink:0}.browser-warning p{color:#b8860b;margin:0;font-size:.85rem;font-family:Roboto Mono,monospace;line-height:1.4}.support-footer{text-align:center;padding:1.6rem;background:#f8f9fa;border:2px solid #ddd;border-radius:8px;margin-top:5rem;margin-bottom:2rem}.support-footer h3{margin-bottom:.5rem;color:#333;font-family:Roboto Mono,monospace;font-size:1.2rem;font-weight:600}.support-footer p{color:#666;margin-bottom:1rem;font-family:Roboto Mono,monospace;font-size:.95rem}.support-footer a{color:#231f20;text-decoration:none;font-weight:600;transition:color .2s ease}.support-footer a:hover{color:#1a3f7a;text-decoration:underline}@media (max-width: 768px){.support-page-header{padding:2rem 1.5rem 1.5rem}.support-page-header h1{font-size:2rem}.support-content{padding:0 1rem}.controllers-grid{grid-template-columns:1fr}.controller-card{padding:1.5rem}.action-section{padding:1rem}}:root{--admin-bg: #0a0a0a;--admin-card-bg: #1a1a1a;--admin-border: #333;--admin-text: #fff;--admin-text-muted: #888;--admin-primary: #96bf48;--admin-danger: #e53238;--admin-success: #4caf50}.admin-login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--admin-bg);padding:20px}.admin-login-card{background:var(--admin-card-bg);border:1px solid var(--admin-border);border-radius:12px;padding:40px;width:100%;max-width:400px}.admin-login-card h1{margin:0 0 8px;color:var(--admin-text);font-size:28px}.admin-login-subtitle{color:var(--admin-text-muted);margin-bottom:30px}.admin-login-form{display:flex;flex-direction:column;gap:20px}.admin-form-group{display:flex;flex-direction:column;gap:8px}.admin-form-group label{color:var(--admin-text);font-size:14px;font-weight:500}.admin-form-group input,.admin-form-group select,.admin-form-group textarea{background:var(--admin-bg);border:1px solid var(--admin-border);border-radius:8px;padding:12px 16px;color:var(--admin-text);font-size:16px;transition:border-color .2s}.admin-form-group input:focus,.admin-form-group select:focus,.admin-form-group textarea:focus{outline:none;border-color:var(--admin-primary)}.admin-login-btn{background:var(--admin-primary);color:#000;border:none;border-radius:8px;padding:14px;font-size:16px;font-weight:600;cursor:pointer;transition:opacity .2s}.admin-login-btn:hover{opacity:.9}.admin-login-btn:disabled{opacity:.5;cursor:not-allowed}.admin-error{background:#e532381a;border:1px solid var(--admin-danger);color:var(--admin-danger);padding:12px 16px;border-radius:8px;margin-bottom:10px}.admin-dashboard{min-height:100vh;background:var(--admin-bg);color:var(--admin-text);padding:20px}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;flex-wrap:wrap;gap:16px}.admin-header-left h1{margin:0;font-size:28px}.admin-user{color:var(--admin-text-muted);font-size:14px}.admin-header-right{display:flex;gap:12px}.admin-btn{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;border:none;transition:all .2s}.admin-btn-primary{background:var(--admin-primary);color:#000}.admin-btn-secondary{background:var(--admin-card-bg);color:var(--admin-text);border:1px solid var(--admin-border)}.admin-btn-danger{background:#e5323833;color:var(--admin-danger);border:1px solid var(--admin-danger)}.admin-btn-small{padding:6px 12px;font-size:12px}.admin-btn:hover{opacity:.85}.admin-filters{display:flex;gap:24px;margin-bottom:30px;flex-wrap:wrap;align-items:center}.platform-filter{display:flex;align-items:center;gap:12px}.platform-filter label,.admin-date-filter label{color:var(--admin-text-muted);font-size:14px}.platform-buttons{display:flex;gap:8px;flex-wrap:wrap}.platform-filter-btn{background:var(--admin-card-bg);border:2px solid transparent;color:var(--admin-text);padding:8px 16px;border-radius:20px;cursor:pointer;font-size:13px;transition:all .2s}.platform-filter-btn:hover{border-color:var(--platform-color)}.platform-filter-btn.active{background:var(--platform-color);color:#fff}.admin-date-filter{display:flex;align-items:center;gap:12px}.admin-date-filter select{background:var(--admin-card-bg);border:1px solid var(--admin-border);color:var(--admin-text);padding:8px 16px;border-radius:8px;cursor:pointer}.sales-overview{margin-bottom:30px}.overview-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.overview-card{background:var(--admin-card-bg);border:1px solid var(--admin-border);border-radius:12px;padding:20px}.overview-card h3{margin:0 0 8px;font-size:14px;color:var(--admin-text-muted);font-weight:500}.overview-value{font-size:28px;font-weight:700;margin:0}.overview-value.positive{color:var(--admin-success)}.overview-value.negative{color:var(--admin-danger)}.platform-breakdown h3{margin:0 0 16px;font-size:18px}.platform-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.platform-card{background:var(--admin-card-bg);border:1px solid var(--admin-border);border-left:4px solid;border-radius:8px;padding:16px}.platform-card h4{margin:0 0 8px;font-size:16px;text-transform:capitalize}.platform-count{color:var(--admin-text-muted);font-size:14px;margin:4px 0}.platform-revenue{font-size:20px;font-weight:600;margin:4px 0}.platform-fees{color:var(--admin-text-muted);font-size:13px;margin:4px 0}.admin-charts-section{margin-bottom:30px}.sales-charts{display:flex;flex-direction:column;gap:24px}.chart-container{background:var(--admin-card-bg);border:1px solid var(--admin-border);border-radius:12px;padding:20px}.chart-container h3{margin:0 0 20px;font-size:18px}.chart-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:24px}.chart-container.half{min-height:300px}.sales-chart.empty{background:var(--admin-card-bg);border:1px solid var(--admin-border);border-radius:12px;padding:60px;text-align:center;color:var(--admin-text-muted)}.sales-table-container{background:var(--admin-card-bg);border:1px solid var(--admin-border);border-radius:12px;padding:20px;overflow-x:auto}.sales-table-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.sales-table-header h3{margin:0;font-size:18px}.no-sales{text-align:center;color:var(--admin-text-muted);padding:40px}.sales-table{width:100%;border-collapse:collapse}.sales-table th,.sales-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--admin-border)}.sales-table th{color:var(--admin-text-muted);font-weight:500;font-size:13px;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.sales-table th:hover{color:var(--admin-text)}.sort-icon{margin-left:4px;opacity:.5}.sales-table tbody tr:hover{background:#ffffff05}.platform-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;color:#fff;text-transform:capitalize}.sales-table .amount{font-weight:600}.sales-table .fees{color:var(--admin-danger)}.sales-table .net{font-weight:600}.sales-table .net.positive{color:var(--admin-success)}.sales-table .order-id{font-family:monospace;font-size:12px;color:var(--admin-text-muted)}.delete-confirm{display:flex;gap:8px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:var(--admin-card-bg);border:1px solid var(--admin-border);border-radius:12px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--admin-border)}.modal-header h2{margin:0;font-size:20px}.modal-close{background:none;border:none;color:var(--admin-text-muted);font-size:28px;cursor:pointer;line-height:1}.modal-close:hover{color:var(--admin-text)}.add-sale-form{padding:20px;display:flex;flex-direction:column;gap:16px}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px}.modal-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid var(--admin-border);margin-top:8px}.admin-loading{text-align:center;padding:60px;color:var(--admin-text-muted)}@media (max-width: 768px){.admin-header,.admin-filters,.platform-filter{flex-direction:column;align-items:flex-start}.chart-row{grid-template-columns:1fr}.overview-cards{grid-template-columns:repeat(2,1fr)}.sales-table{font-size:14px}.sales-table th,.sales-table td{padding:8px 12px}}.sync-panel{background:var(--admin-card-bg);border:1px solid var(--admin-border);border-radius:12px;padding:20px;margin-bottom:24px}.sync-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.sync-panel-header h3{margin:0;font-size:18px}.sync-platforms{display:flex;flex-direction:column;gap:12px}.sync-platform-row{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--admin-bg);border-radius:8px;transition:opacity .2s}.sync-platform-row.disabled{opacity:.5}.sync-platform-info{display:flex;align-items:center;gap:12px}.sync-platform-dot{width:12px;height:12px;border-radius:50%}.sync-platform-name{font-weight:500}.sync-not-configured{font-size:12px;color:var(--admin-text-muted)}.sync-platform-actions{display:flex;align-items:center;gap:12px}.sync-result{font-size:12px;padding:4px 8px;border-radius:4px}.sync-result.success{background:#4caf5026;color:var(--admin-success)}.sync-result.error{background:#e5323826;color:var(--admin-danger)}.sync-hint{text-align:center;color:var(--admin-text-muted);font-size:14px;margin-top:16px}.api-settings-modal{max-width:700px}.api-settings-content{padding:20px}.settings-intro{color:var(--admin-text-muted);margin-bottom:24px;line-height:1.6}.platforms-list{display:flex;flex-direction:column;gap:12px}.platform-status-card{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:var(--admin-bg);border:1px solid var(--admin-border);border-left:4px solid;border-radius:8px}.platform-status-info{display:flex;flex-direction:column;gap:4px}.platform-status-info h4{margin:0;font-size:16px}.status-badge{font-size:12px;font-weight:500}.status-badge.configured{color:var(--admin-success)}.status-badge.not-configured{color:var(--admin-text-muted)}.last-updated{font-size:11px;color:var(--admin-text-muted)}.platform-config-form{display:flex;flex-direction:column;gap:16px}.back-btn{background:none;border:none;color:var(--admin-text-muted);cursor:pointer;padding:0;font-size:14px;text-align:left}.back-btn:hover{color:var(--admin-text)}.platform-help{color:var(--admin-text-muted);font-size:14px;line-height:1.6;padding:12px 16px;background:#ffffff08;border-radius:8px}.platform-help a{display:block;margin-top:8px;color:var(--admin-primary);text-decoration:none}.platform-help a:hover{text-decoration:underline}.admin-message{padding:12px 16px;border-radius:8px;margin-bottom:16px}.admin-message.success{background:#4caf5026;color:var(--admin-success);border:1px solid var(--admin-success)}.admin-message.error{background:#e5323826;color:var(--admin-danger);border:1px solid var(--admin-danger)}.sync-unavailable,.functions-unavailable{padding:20px;text-align:center;color:var(--admin-text-muted);line-height:1.6}.sync-unavailable p,.functions-unavailable p{margin:12px 0}.sync-unavailable strong,.functions-unavailable h3{color:var(--admin-text)}.functions-unavailable h3{margin:0 0 16px;font-size:18px}.admin-link{color:var(--admin-primary);text-decoration:none}.admin-link:hover{text-decoration:underline}.setup-steps{text-align:left;background:var(--admin-bg);border-radius:8px;padding:16px 20px;margin:16px 0}.setup-steps h4{margin:0 0 12px;font-size:14px;color:var(--admin-text)}.setup-steps ol{margin:0;padding-left:20px}.setup-steps li{margin:8px 0}.setup-steps code{background:#ffffff1a;padding:2px 6px;border-radius:4px;font-family:monospace;font-size:13px}
