:root{--primary:#304160;--primary-dark:#243448;--secondary:#a8b8c8;--accent:#a82028;--accent-highlight:#c85048;--success:#2f855a;--danger:#c53030;--warning:#dd6b20;--info:#4a5568;--dark:#1a202c;--light:#f8f9fa;--surface:#fff;--surface-soft:#f7f9fc;--border:#d9e2ec;--text:#1a202c;--text-muted:#4a5568}html,body{width:100%;height:100%;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--surface-soft);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6}#root{flex-direction:column;width:100%;min-height:100vh;display:flex}h1,h2,h3,h4,h5,h6{color:var(--dark);font-weight:600;line-height:1.2}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}p{margin:.5rem 0}a:hover{color:var(--accent);text-decoration:underline}code{background:#f4f4f4;border-radius:3px;padding:.2rem .4rem;font-family:Courier New,monospace;font-size:.9rem}pre{background:#f4f4f4;border-radius:4px;padding:1rem;overflow-x:auto}@media (width<=768px){h1{font-size:1.75rem}h2{font-size:1.35rem}h3{font-size:1.1rem}body{font-size:15px}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#999}.header{background:linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);color:#fff;z-index:100;padding:1rem 0 1.2rem;position:sticky;top:0;box-shadow:0 2px 8px #0000001a}.menu-toggle{cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:.3rem;width:44px;height:44px;padding:0;display:none}.menu-toggle span{background:#fff;border-radius:2px;width:22px;height:2px;display:block}.social-link{color:#fff;border-radius:6px;align-items:center;gap:.5rem;padding:.35rem .6rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:background-color .2s,color .2s,transform .2s;display:inline-flex}.social-link:hover{color:#fff;background:#00000029;transform:translateY(-1px)}.instagram-icon{width:1.1rem;height:1.1rem;display:inline-flex}.instagram-icon svg{width:100%;height:100%}.header-content{justify-content:space-between;align-items:center;gap:1rem;width:100%;max-width:1200px;margin:0 auto;padding:0 1rem;display:flex}.header-actions{align-items:center;gap:.6rem;margin-left:auto;display:flex}.header-social-link{white-space:nowrap;background:#ffffff29;border:1px solid #ffffff40;min-height:44px}.logo{color:#fff;text-decoration:none}.logo h1{margin:0;font-size:1.8rem;font-weight:700}.nav-menu{flex-wrap:wrap;flex:1;justify-content:flex-end;align-items:center;gap:1.25rem;display:flex}.nav-link{color:#fff;border-radius:6px;align-items:center;gap:.5rem;padding:.35rem .6rem;font-size:1rem;text-decoration:none;transition:background-color .2s,color .2s,transform .2s;display:flex;position:relative}.nav-link:hover{color:#fff;background:#00000029;transform:translateY(-1px)}.nav-link.active{font-weight:700}.cart-link{position:relative}.cart-badge{color:#fff;background:#ff4757;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:.75rem;font-weight:700;display:flex;position:absolute;top:-8px;right:-12px}.header-user,.user-info{align-items:center;gap:1rem;display:flex}.user-email{color:#fff;font-size:.9rem;font-weight:500}.btn-login,.btn-logout{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff4d;border-radius:4px;padding:.5rem 1rem;font-size:.9rem;text-decoration:none;transition:all .3s}.btn-login:hover,.btn-logout:hover{color:#fff;background:#ffffff3d;border-color:#fffc;box-shadow:inset 0 0 0 1px #ffffff59}.btn-logout{background:#ffffff1a}.guest{opacity:.8;color:#fff}@media (width<=768px){.header{padding:.9rem 0 1rem}.menu-toggle{display:flex}.header-content{flex-wrap:wrap;gap:.75rem}.header-actions{margin-left:0}.logo h1{font-size:1.3rem}.nav-menu{flex-direction:column;align-items:stretch;gap:.75rem;width:100%;padding:1rem 0 0;display:none}.nav-menu.open{display:flex}.nav-link,.social-link{justify-content:center;width:100%;min-height:48px;padding:.8rem 1rem;font-size:.95rem}}.catalog-container{width:100%;max-width:1400px;margin:0 auto;padding:1rem}.catalog-container h1{color:var(--text);margin-bottom:1.5rem;font-size:clamp(1.5rem,2.4vw,2rem)}.catalog-layout{grid-template-columns:minmax(220px,260px) 1fr;gap:1.5rem;display:grid}.filters-sidebar{background:var(--surface-soft);border-radius:8px;height:fit-content;padding:1rem;position:sticky;top:80px}.filters-sidebar h3{color:var(--text);margin-top:0;margin-bottom:1.5rem}.filter-group{margin-bottom:1.5rem}.filter-group label{color:var(--text-muted);margin-bottom:.5rem;font-weight:500;display:block}.filter-input{border:1px solid #ddd;border-radius:4px;width:100%;margin-bottom:.5rem;padding:.5rem;font-size:.9rem}.filter-input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #3041601f}.filter-group input[type=checkbox]{margin-right:.5rem}.btn-reset-filters{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:4px;width:100%;padding:.75rem 1rem;font-weight:500;transition:background .3s}.btn-reset-filters:hover{background:var(--accent)}.products-grid-container{min-height:400px}.products-grid{flex-wrap:wrap;align-items:stretch;gap:1.5rem;display:flex}.product-card{border:1px solid var(--border);background:#fff;border-radius:8px;flex-direction:column;flex:min(220px,100%);min-width:min(220px,100%);max-width:calc(33.333% - 1rem);height:100%;transition:transform .3s,box-shadow .3s;display:flex;overflow:hidden}.product-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #0000001a}.product-image{object-fit:contain;background:var(--surface-soft);width:100%;height:200px}.product-info{flex-direction:column;flex:1;padding:1rem;display:flex}.product-name{color:var(--text);min-height:2.6rem;margin:0 0 .5rem;font-size:1rem;font-weight:600;line-height:1.3}.product-set{color:var(--text-muted);margin:0 0 .5rem;font-size:.85rem}.product-price{color:var(--primary);margin:.5rem 0;font-size:1.3rem;font-weight:700}.product-stock{margin:.5rem 0;font-size:.85rem}.product-stock.in-stock{color:#27ae60;font-weight:500}.product-stock.out-of-stock{color:#e74c3c;font-weight:500}.product-actions{gap:.5rem;margin-top:auto;display:flex}.btn-details,.btn-add-cart{cursor:pointer;border:none;border-radius:4px;flex:1;min-height:48px;padding:.75rem;font-size:.95rem;font-weight:500;transition:all .3s}.btn-details{background:var(--surface-soft);color:var(--text);border:1px solid var(--border)}.btn-details:hover{background:var(--secondary)}.btn-add-cart{background:var(--primary);color:#fff}.btn-add-cart:hover{background:var(--accent)}.btn-add-cart:disabled{background:var(--secondary);cursor:not-allowed}.no-products{text-align:center;color:var(--text-muted);padding:2rem;font-size:1.1rem}.error-message{color:#c00;background:#ffe0e0;border-radius:4px;margin-bottom:1rem;padding:1rem}.loading{text-align:center;color:var(--text-muted);padding:2rem}@media (width<=768px){.catalog-container{padding:1rem .75rem}.catalog-layout{grid-template-columns:1fr;gap:1rem}.filters-sidebar{padding:1rem;position:static}.products-grid{gap:1rem}.product-card{flex:100%;min-width:0;max-width:100%}.catalog-container h1{font-size:1.5rem}}.review-item{background:var(--surface-soft);border-left:4px solid var(--primary);border-radius:8px;padding:1.25rem}.reviewer-info{gap:1rem;display:flex}.review-rating{color:#ffc107;letter-spacing:2px;font-size:1rem}.review-form{background:#f8f9fa;border-radius:8px;margin-bottom:2rem;padding:1.5rem}.review-form .form-group{margin-bottom:1rem}.review-form label{color:#333;margin-bottom:.5rem;font-weight:600;display:block}.rating-select,.review-form textarea{border:1px solid #ddd;border-radius:4px;width:100%;min-height:48px;padding:.75rem;font-family:inherit;font-size:16px}.rating-select:focus,.review-form textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #3041601f}.btn-submit-review{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:4px;min-height:48px;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:background .3s}.btn-submit-review:hover{background:var(--accent)}.btn-submit-review:disabled{cursor:not-allowed;background:#ccc}.review-list{flex-direction:column;gap:1.5rem;display:flex}.review-item{border-left:4px solid var(--primary);background:#fff;border-radius:8px;padding:1.5rem}.review-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.reviewer-info{flex-direction:column;gap:.25rem;display:flex}.reviewer-name{color:#333;font-weight:600}.review-date{color:#999;font-size:.85rem}.review-rating{color:#ffc107;font-size:1.1rem}.review-comment{color:#666;margin:0;line-height:1.6}@media (width<=768px){.review-form,.review-item{padding:1rem}.review-header{flex-direction:column;align-items:flex-start;gap:.75rem}}.product-detail-container{width:100%;max-width:1200px;margin:0 auto;padding:1rem}.btn-back{color:var(--primary);cursor:pointer;background:0 0;border:none;margin-bottom:1rem;padding:.5rem;font-size:1rem;transition:color .3s}.btn-back:hover{color:var(--accent);text-decoration:underline}.product-detail{background:#fff;border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2rem;margin-bottom:2rem;padding:1.5rem;display:grid;box-shadow:0 2px 8px #0000000d}.product-detail-image{background:var(--surface-soft);border-radius:8px;justify-content:center;align-items:center;min-height:400px;display:flex;overflow:hidden}.product-detail-image img{object-fit:cover;width:100%;max-width:100%;height:100%}.no-image{color:#ccc;font-size:1rem}.product-detail-info h1{color:var(--text);margin:0 0 .5rem;font-size:2rem}.product-set-name{color:var(--text-muted);margin:0 0 1rem;font-size:1rem}.rating-section{align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.stars{color:#ffc107;font-size:1.3rem}.rating-value{color:#333;font-weight:700}.review-count{color:#999}.price-section{margin-bottom:1.5rem}.price{color:var(--primary);margin:0;font-size:2rem}.description{border-bottom:1px solid #eee;margin-bottom:2rem;padding-bottom:2rem}.description h3{color:#333;margin-top:0}.description p{color:#666;line-height:1.6}.details-section{margin-bottom:2rem}.details-section h3{color:#333;margin-top:0}.details-section dl{color:#666;grid-template-columns:150px 1fr;gap:1rem;display:grid}.details-section dt{color:#333;font-weight:600}.details-section dd{margin:0}.details-section dd.in-stock{color:#27ae60;font-weight:500}.details-section dd.out-of-stock{color:#e74c3c;font-weight:500}.add-to-cart-section{align-items:flex-end;gap:1rem;display:flex}.add-to-cart-section label{flex-direction:column;gap:.5rem;font-weight:600;display:flex}.add-to-cart-section input{border:1px solid #ddd;border-radius:4px;width:80px;min-height:48px;padding:.5rem;font-size:16px}.btn-add-to-cart-large{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:4px;flex:1;min-height:48px;padding:1rem;font-size:1rem;font-weight:700;transition:background .3s}.btn-add-to-cart-large:hover{background:var(--accent)}.btn-add-to-cart-large:disabled{cursor:not-allowed;background:#ccc}.reviews-section{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 8px #0000000d}.reviews-section h2{color:#333;margin-top:0}.login-prompt{background:#e8f4f8;border-radius:4px;margin-bottom:1rem;padding:1rem}.login-prompt a{color:var(--primary);font-weight:700;text-decoration:none}.login-prompt a:hover{text-decoration:underline}.no-reviews{color:var(--text-muted);padding:1rem;font-style:italic}.not-found{text-align:center;color:#999;padding:2rem;font-size:1.1rem}@media (width<=768px){.product-detail-container{padding:.75rem}.product-detail{grid-template-columns:1fr;gap:1.25rem;padding:1rem}.product-detail-image{min-height:300px}.product-detail-info h1,.price{font-size:1.5rem}.details-section dl{grid-template-columns:120px 1fr}.add-to-cart-section{flex-direction:column}.add-to-cart-section input{width:100%}}.cart-container{width:100%;max-width:1200px;margin:0 auto;padding:1rem}.cart-container h1{color:var(--text);margin-top:0}.empty-cart{text-align:center;background:var(--surface-soft);border-radius:8px;padding:3rem}.empty-cart p{color:var(--text-muted);margin-bottom:1.5rem;font-size:1.2rem}.btn-continue-shopping{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:.75rem 1.5rem;font-size:1rem;transition:background .3s}.cart-layout{grid-template-columns:minmax(0,1fr) 320px;gap:1.5rem;display:grid}.cart-items-section{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000000d}.cart-table{border-collapse:collapse;width:100%}.cart-table thead{background:#f8f9fa;border-bottom:2px solid #eee}.cart-table th{text-align:left;color:#333;padding:1rem;font-weight:600}.cart-table td{border-bottom:1px solid #eee;padding:1rem}.cart-item{transition:background .3s}.cart-item:hover{background:#f8f9fa}.product-info{align-items:center;gap:1rem;display:flex}.product-info img{object-fit:cover;background:#f0f0f0;border-radius:4px;width:80px;height:80px}.product-info>div{flex:1}.product-info .name{color:#333;margin:0;font-weight:600}.product-info .set{color:#999;margin:.5rem 0 0;font-size:.9rem}.price,.quantity,.item-total{color:#333;font-weight:600}.qty-input{text-align:center;border:1px solid #e3e6ea;border-radius:6px;width:80px;min-height:44px;padding:.45rem .5rem;font-size:16px;transition:box-shadow .15s,border-color .12s}.qty-controls{align-items:center;gap:.5rem;display:inline-flex}.qty-btn{color:#333;cursor:pointer;background:#fff;border:1px solid #e3e6ea;border-radius:6px;justify-content:center;align-items:center;width:44px;height:44px;font-size:1rem;line-height:1;transition:background .12s,transform 60ms;display:inline-flex}.qty-btn:hover{background:#f0f2f5;transform:translateY(-1px)}.qty-input:focus,.qty-btn:focus{border-color:#667eea;outline:none;box-shadow:0 4px 10px #667eea1f}.btn-remove{color:#fff;cursor:pointer;background:#e74c3c;border:none;border-radius:4px;min-height:44px;padding:.5rem 1rem;font-size:.9rem;transition:background .3s}.btn-remove:hover{background:#c0392b}.cart-summary{background:#fff;border-radius:8px;height:fit-content;padding:1.5rem;position:sticky;top:100px;box-shadow:0 2px 8px #0000000d}.cart-summary h2{color:#333;margin-top:0;font-size:1.3rem}.summary-item{color:#666;border-bottom:1px solid #eee;justify-content:space-between;padding:.75rem 0;display:flex}.summary-item span:last-child{color:#333;font-weight:600}.summary-total{color:#333;border-top:2px solid #eee;justify-content:space-between;margin:1rem 0;padding:1rem 0;font-size:1.2rem;font-weight:700;display:flex}.summary-total span:last-child{color:#667eea}.cart-actions{flex-direction:column;gap:.75rem;display:flex}.btn-checkout,.btn-continue,.btn-clear{cursor:pointer;border:none;border-radius:4px;padding:.75rem;font-size:.95rem;font-weight:600;transition:all .3s}.btn-checkout{color:#fff;background:#667eea}.btn-checkout:hover:not(:disabled){background:#5568d3}.btn-checkout:disabled{cursor:not-allowed;background:#ccc}.btn-continue{color:#667eea;background:#fff;border:2px solid #667eea}.btn-continue:hover{background:#f8f9fa}.btn-clear{color:#666;background:#f0f0f0}.btn-clear:hover{background:#e0e0e0}.checkout-note{color:#999;border-top:1px solid #eee;margin-top:1rem;padding-top:1rem;font-size:.85rem}@media (width<=768px){.cart-container{padding:.75rem}.cart-layout{grid-template-columns:1fr;gap:1rem}.cart-summary{position:static}.cart-table{font-size:.9rem}.cart-table th,.cart-table td{padding:.75rem .5rem}.product-info img{width:60px;height:60px}.qty-input{width:60px}}.checkout-container{max-width:1200px;margin:0 auto;padding:2rem}.checkout-container h1{text-align:center;color:#2c3e50;margin-bottom:2rem}.checkout-layout{grid-template-columns:1fr 1fr;align-items:start;gap:2rem;display:grid}.order-summary{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:1.5rem}.order-summary h2{color:#495057;margin-bottom:1rem}.order-items{margin-bottom:1rem}.item-set{color:#6c757d;margin:.25rem 0;font-size:.9rem}.item-qty{color:#6c757d;margin:0;font-size:.9rem}.item-price{color:#2c3e50;font-weight:600}.order-total{text-align:right;border-top:2px solid #dee2e6;padding-top:1rem}.order-total p{color:#2c3e50;margin:0;font-size:1.2rem;font-weight:700}.payment-form{background:#fff;border:1px solid #e9ecef;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000001a}.payment-form h2{color:#495057;border-bottom:1px solid #e9ecef;margin-bottom:1.5rem;padding-bottom:.5rem}.form-group{margin-bottom:1rem}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-group label{color:#495057;margin-bottom:.5rem;font-weight:500;display:block}.form-group input,.form-group select{border:1px solid #ced4da;border-radius:4px;width:100%;padding:.75rem;font-size:1rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-group input:focus,.form-group select:focus{border-color:#80bdff;outline:none;box-shadow:0 0 0 .2rem #007bff40}.card-element-container{background:#fff;border:1px solid #ced4da;border-radius:4px;padding:.75rem;transition:border-color .15s ease-in-out}.card-element-container:focus-within{border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40}.btn-payment{color:#fff;cursor:pointer;background:#28a745;border:none;border-radius:4px;width:100%;margin-top:1rem;padding:1rem;font-size:1.1rem;font-weight:600;transition:background-color .15s ease-in-out}.btn-payment:hover:not(:disabled){background:#218838}.btn-payment:disabled{cursor:not-allowed;background:#6c757d}@media (width<=768px){.checkout-layout{grid-template-columns:1fr}.checkout-container{padding:1rem}.form-row{grid-template-columns:1fr}}.order-confirmation-container{max-width:800px;margin:0 auto;padding:2rem}.confirmation-header{text-align:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:2rem;padding:2rem}.success-icon{color:#28a745;margin-bottom:1rem;font-size:3rem}.confirmation-header h1{color:#28a745;margin-bottom:.5rem}.confirmation-header p{color:#6c757d;font-size:1.1rem}.order-details{background:#fff;border:1px solid #e9ecef;border-radius:8px;padding:2rem;box-shadow:0 2px 4px #0000001a}.order-info{border-bottom:1px solid #e9ecef;margin-bottom:2rem;padding-bottom:1rem}.order-info h2{color:#2c3e50;margin-bottom:1rem}.order-meta p{color:#495057;margin:.5rem 0}.status{border-radius:4px;margin-left:.5rem;padding:.25rem .5rem;font-size:.9rem;font-weight:500;display:inline-block}.status-paid{color:#155724;background:#d4edda}.status-pending{color:#856404;background:#fff3cd}.customer-info{border-bottom:1px solid #e9ecef;margin-bottom:2rem;padding-bottom:1rem}.customer-info h3{color:#495057;margin-bottom:1rem}.address p{color:#495057;margin:.25rem 0}.order-items h3{color:#495057;margin-bottom:1rem}.items-list{margin-bottom:2rem}.order-item{border-bottom:1px solid #f8f9fa;justify-content:space-between;align-items:center;padding:1rem 0;display:flex}.order-item:last-child{border-bottom:none}.item-info{align-items:center;gap:1rem;display:flex}.item-info img{object-fit:cover;border-radius:4px;width:60px;height:60px}.item-name{color:#2c3e50;margin:0;font-weight:600}.item-details{color:#6c757d;margin:.25rem 0;font-size:.9rem}.item-total{color:#2c3e50;font-weight:600}.order-actions{border-top:1px solid #e9ecef;justify-content:center;gap:1rem;padding-top:1rem;display:flex}.btn-continue-shopping,.btn-view-orders,.btn-home{cursor:pointer;border:none;border-radius:4px;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;transition:background-color .15s ease-in-out}.btn-continue-shopping{color:#fff;background:#007bff}.btn-continue-shopping:hover{background:#0056b3}.btn-view-orders{color:#fff;background:#6c757d}.btn-view-orders:hover{background:#545b62}.btn-home{color:#fff;background:#28a745}.btn-home:hover{background:#218838}.error{text-align:center;padding:4rem}.error h1{color:#dc3545;margin-bottom:1rem}.error p{color:#6c757d;margin-bottom:2rem}@media (width<=768px){.order-confirmation-container,.confirmation-header,.order-details{padding:1rem}.order-actions{flex-direction:column}.order-item{flex-direction:column;align-items:flex-start;gap:.5rem}.item-info{width:100%}}.thank-you-page{justify-content:center;align-items:center;min-height:calc(100vh - 180px);padding:2rem;display:flex}.thank-you-card{text-align:center;background:#fff;border-radius:16px;width:100%;max-width:680px;padding:2.5rem;box-shadow:0 18px 50px #0f172a1f}.thank-you-icon{margin-bottom:1rem;font-size:3rem}.thank-you-card h1{color:#1f2937;margin:0;font-size:2.1rem}.thank-you-card p{color:#4b5563;margin:1rem 0;line-height:1.7}.thank-you-summary{text-align:left;background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;margin:1.5rem 0;padding:1.25rem}.thank-you-summary p{margin:.75rem 0}.thank-you-actions{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.btn-primary,.btn-secondary{cursor:pointer;border:none;border-radius:9999px;padding:.9rem 1.5rem;font-weight:700}.btn-primary{color:#fff;background:#2563eb}.btn-secondary{color:#111827;background:#e5e7eb}.btn-primary:hover,.btn-secondary:hover{opacity:.95}.login-container{background:linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.login-card{background:#fff;border-radius:12px;width:100%;max-width:400px;padding:2rem;box-shadow:0 10px 30px #0003}.login-card h1{text-align:center;color:#2c3e50;margin-bottom:2rem;font-size:2rem}.login-form{flex-direction:column;gap:1.5rem;display:flex}.form-group{flex-direction:column;display:flex}.form-group label{color:#495057;margin-bottom:.5rem;font-weight:500}.form-group input{border:2px solid #e9ecef;border-radius:6px;min-height:48px;padding:.75rem;font-size:16px;transition:border-color .2s}.form-group input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #3041601f}.btn-login{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:6px;min-height:48px;margin-top:.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:background-color .2s}.btn-login:hover:not(:disabled){background:var(--accent)}.btn-login:disabled{cursor:not-allowed;background:#a0aec0}.auth-toggle{text-align:center;border-top:1px solid #e9ecef;margin-top:1.5rem;padding-top:1.5rem}.btn-toggle{color:var(--primary);cursor:pointer;background:0 0;border:none;font-size:.9rem;text-decoration:underline}.btn-toggle:hover{color:var(--accent)}.back-link{text-align:center;margin-top:1rem}.btn-back{color:#6c757d;cursor:pointer;background:0 0;border:1px solid #e9ecef;border-radius:4px;padding:.5rem 1rem;font-size:.9rem;transition:all .2s}.btn-back:hover{background:#f8f9fa;border-color:#dee2e6}@media (width<=480px){.login-container{padding:1rem}.login-card{padding:1.5rem}.login-card h1{font-size:1.5rem}}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--surface-soft);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}#root{flex-direction:column;width:100%;height:100vh;display:flex}.app{flex-direction:column;min-height:100vh;display:flex}.main-content{flex-direction:column;flex:1;display:flex}.footer{background:var(--primary);text-align:center;margin-top:2rem;padding:2rem 1rem}.footer p{margin:0}button{font-family:inherit}a{color:var(--primary);text-decoration:none;transition:color .3s}a:hover{color:var(--accent)}.loading{text-align:center;color:var(--text-muted);padding:2rem;font-size:1rem}.error{color:#c00;background:#ffe0e0;border-radius:4px;margin:1rem 0;padding:1rem}.success{color:#0c0;background:#e0ffe0;border-radius:4px;margin:1rem 0;padding:1rem}@media (width<=768px){body{font-size:14px}.footer{padding:1rem}}
