.layout{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.header{background:linear-gradient(90deg,#677ee9,#9b7fd4,#e895ad);color:#fff8f5;padding:1rem 0;box-shadow:0 2px 10px #00000014;position:sticky;top:0;z-index:100}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}.header-shell{position:relative}.header-top{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.75rem;min-width:0}.logo{display:flex;align-items:center;gap:1rem;text-decoration:none;color:#fff8f5;text-shadow:0 1px 2px rgba(0,0,0,.1);font-weight:600;font-size:1.2rem;min-width:0;flex-shrink:0}.logo-img{width:50px;height:50px;border-radius:8px;object-fit:cover;flex-shrink:0}.logo-text{white-space:nowrap}.header-end{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:.35rem;margin-left:auto;min-width:0;flex:1 1 auto}.header .header-actions{display:flex;flex-direction:row;align-items:center;gap:.1rem;flex-shrink:0;width:auto}.header-icon-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:none;border-radius:8px;background:transparent;color:#fff8f5;text-decoration:none;cursor:pointer;flex-shrink:0;transition:background-color .2s,color .2s;-webkit-tap-highlight-color:transparent}.header-icon-btn:hover{background-color:#fff3;color:#fff}.header-icon-btn--active{background-color:#ffffff47;color:#fff}.header-cart-icon__svg{display:block}.header-cart-icon__badge{position:absolute;top:2px;right:2px;width:14px;height:14px;min-width:14px;font-size:.55rem}.header-menu-toggle{display:none;flex-direction:column;gap:4px}.header-menu-toggle__bar{display:block;width:18px;height:2px;border-radius:1px;background:currentColor;transition:transform .2s,opacity .2s}.header-menu-toggle--open .header-menu-toggle__bar:nth-child(1){transform:translateY(6px) rotate(45deg)}.header-menu-toggle--open .header-menu-toggle__bar:nth-child(2){opacity:0}.header-menu-toggle--open .header-menu-toggle__bar:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.header-login-btn{display:none;align-items:center;justify-content:center;padding:.4rem .75rem;border-radius:6px;background:#ffffff26;color:#fff8f5;text-decoration:none;font-size:.85rem;font-weight:600;white-space:nowrap;flex-shrink:0;transition:background-color .2s,color .2s;-webkit-tap-highlight-color:transparent}.header-login-btn:hover{background:#ffffff40;color:#fff}.nav{display:flex;flex-wrap:wrap;gap:.2rem .35rem;align-items:center}.nav--shop-text{flex-wrap:nowrap;gap:.15rem}.nav--admin{margin-left:auto;justify-content:flex-end}.nav--mobile-menu{display:none}.nav a{color:#fff8f5;text-decoration:none;padding:.5rem 1rem;border-radius:6px;transition:background-color .2s,color .2s;font-weight:500;white-space:nowrap}.nav a:hover{background-color:#fff3;color:#fff}.nav a.active{background-color:#ffffff47;color:#fff}.cart-badge{background:#fed7d7;color:#c53030;border-radius:50%;width:16px;height:16px;display:flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:700;min-width:16px;line-height:1;padding:0}.main{flex:1 0 auto;display:block;min-height:auto;padding:2rem 0;overflow-x:clip;overflow-y:visible}.main--welcome{padding-top:0}.main>*{width:100%;min-width:0;box-sizing:border-box}.footer{background-color:#2d3748;color:#fff;padding:.75rem 0;margin-top:auto}.footer .container{text-align:center}.footer-text{margin:0;font-size:.9rem;line-height:1.5}.footer a{color:#90cdf4;text-decoration:none}.footer a:hover{text-decoration:underline}@media (max-width: 768px){.header{padding:.5rem 0}.header .container{padding:0 1rem}.header-top{flex-wrap:nowrap}.header-end{flex-direction:row;flex-wrap:nowrap;align-items:center}.header .header-actions{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;width:auto}.header-shell--shop .nav--shop-text{display:none}.header-menu-toggle{display:inline-flex}.header-login-btn{display:inline-flex;min-height:40px}.nav--mobile-menu{display:none;flex-direction:column;align-items:stretch;width:100%;margin:0;padding:.25rem 0 .35rem;gap:.1rem;border-top:1px solid rgba(255,255,255,.2)}.nav--mobile-menu--open{display:flex}.nav--mobile-menu a{padding:.55rem .75rem;font-size:.9rem;min-height:40px;display:flex;align-items:center}.logo{font-size:1rem;flex:1;min-width:0}.logo-img{width:40px;height:40px}.logo-text{font-size:1rem}.header-cart-icon__badge{width:12px;height:12px;min-width:12px;font-size:.52rem;top:1px;right:1px;z-index:2}.header-shell--admin .nav--admin{width:100%;margin-left:0;margin-top:.35rem;padding-top:.35rem;border-top:1px solid rgba(255,255,255,.2);justify-content:flex-start;flex-wrap:wrap}.header-shell--admin .header-top{flex-wrap:wrap}.main{padding:1.5rem 0}.container{padding:0 1rem}}@media (max-width: 480px){.header .container{padding:0 .75rem}.header-end,.header .header-actions{flex-direction:row;flex-wrap:nowrap}.header .header-actions{width:auto}.logo{font-size:.9rem}.logo-img{width:35px;height:35px}.logo-text{font-size:.85rem}.header-icon-btn{width:38px;height:38px}.header-cart-icon__badge{width:11px;height:11px;min-width:11px;font-size:.48rem;top:1px;right:1px;z-index:2}.main{padding:1rem 0}.container{padding:0 .75rem}}.app{min-height:100vh}.route-fallback{display:flex;align-items:center;justify-content:center;min-height:40vh;color:#718096;font-size:1rem}.btn-refresh-unified{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;width:172px;height:42px;padding:0 .9rem;border:1px solid #cbd5e0;border-radius:8px;background:#edf2f7;color:#2d3748;font-size:.95rem;font-weight:600;line-height:1;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s;box-sizing:border-box}.btn-refresh-unified:hover:not(:disabled){background:#e2e8f0;border-color:#a0aec0}.btn-refresh-unified:disabled{opacity:.65;cursor:wait}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{min-height:100%}body{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;background-color:#fafafa;color:#333;overflow-x:hidden}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
