.footer{margin-top:var(--space-4xl);border-top:1px solid var(--border-color);background:var(--warm-cream);padding:var(--space-3xl) 0 var(--space-xl);position:relative}.footer:before{content:"";position:absolute;top:0;left:0;right:0;height:200px;background:linear-gradient(180deg,var(--bg-primary),var(--warm-cream));pointer-events:none;transform:translateY(-100%)}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;grid-gap:var(--space-2xl);gap:var(--space-2xl)}.footer-brand{max-width:280px}.footer-logo{display:inline-flex;align-items:center;gap:var(--space-sm);text-decoration:none;color:var(--text-primary);margin-bottom:var(--space-md)}.footer-logo .logo-icon{font-size:1.3rem}.footer-logo .logo-text{font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:600;color:var(--accent-primary);letter-spacing:.04em}.footer-desc{color:var(--text-muted);font-size:var(--font-size-sm);line-height:1.9}.footer-links h4{font-family:var(--font-serif);font-size:var(--font-size-sm);font-weight:500;margin-bottom:var(--space-md);color:var(--text-primary);letter-spacing:.06em}.footer-links ul{list-style:none;display:flex;flex-direction:column;gap:var(--space-sm)}.footer-links a{color:var(--text-muted);font-size:var(--font-size-sm);transition:color var(--transition-fast)}.footer-links a:hover{color:var(--accent-primary)}.footer-bottom{margin-top:var(--space-2xl);padding-top:var(--space-lg);border-top:1px solid rgba(0,0,0,.05);text-align:center;color:var(--text-muted);font-size:var(--font-size-xs);letter-spacing:.04em}@media (max-width:768px){.footer-grid{grid-template-columns:1fr 1fr;gap:var(--space-xl)}.footer-brand{grid-column:span 2;max-width:none}}@media (max-width:480px){.footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:span 1}}.header{position:fixed;top:0;left:0;right:0;height:var(--header-height);z-index:1000;background:rgba(250,251,252,.78);backdrop-filter:blur(24px) saturate(1.4);-webkit-backdrop-filter:blur(24px) saturate(1.4);border-bottom:1px solid var(--border-color)}.header-inner{justify-content:space-between;height:100%}.header-inner,.header-logo{display:flex;align-items:center}.header-logo{gap:var(--space-sm);text-decoration:none;color:var(--text-primary)}.logo-icon{font-size:1.4rem}.logo-text{font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:600;color:var(--accent-primary);letter-spacing:.04em}.header-nav{display:flex;align-items:center;gap:var(--space-xl)}.nav-link{display:inline-flex;align-items:center;gap:4px;color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:400;text-decoration:none;transition:color var(--transition-fast);position:relative;letter-spacing:.03em}.nav-link:hover{color:var(--accent-primary)}.nav-link:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:1.5px;background:var(--accent-primary);transition:width var(--transition-base);border-radius:var(--radius-full)}.nav-link:hover:after{width:100%}.nav-link.active{color:var(--accent-primary)}.nav-link.active:after{width:100%}.nav-accordion-trigger{background:transparent;border:0;cursor:pointer;padding:0;-moz-appearance:none;appearance:none;-webkit-appearance:none}.nav-admin{position:relative}.nav-accordion-icon{font-size:18px;transition:transform var(--transition-fast)}.nav-admin.open .nav-accordion-icon{transform:rotate(180deg)}.nav-admin-submenu{position:absolute;top:calc(100% + 12px);right:0;min-width:220px;padding:8px;display:flex;flex-direction:column;gap:4px;background:rgba(255,255,255,.96);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:0 18px 40px rgba(102,166,255,.16);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px);transition:opacity var(--transition-fast),transform var(--transition-fast),visibility var(--transition-fast)}.nav-admin.open .nav-admin-submenu{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.nav-admin-link{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;color:var(--text-secondary);font-size:var(--font-size-sm);text-decoration:none;transition:background var(--transition-fast),color var(--transition-fast)}.nav-admin-link.active,.nav-admin-link:hover{background:var(--bg-tertiary);color:var(--accent-primary)}.nav-admin-link-icon{font-size:18px}.nav-login,.nav-user{margin-left:var(--space-sm)}.nav-user{display:flex;align-items:center;gap:var(--space-sm)}.nav-user-name{font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:400;text-decoration:none;transition:color var(--transition-fast)}.nav-user-name:hover{color:var(--accent-primary)}.hamburger{display:none;flex-direction:column;gap:5px;padding:var(--space-sm);z-index:1001}.hamburger span{display:block;width:22px;height:1.5px;background:var(--text-primary);transition:all var(--transition-base);border-radius:var(--radius-full)}.hamburger.active span:first-child{transform:rotate(45deg) translate(5px,5px)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}@media (max-width:768px){.hamburger{display:flex}.logo-text{font-size:var(--font-size-base)}.header-nav{position:fixed;top:0;right:-100%;width:min(280px,80vw);height:100vh;height:100dvh;background:var(--bg-secondary);flex-direction:column;padding:calc(var(--header-height) + var(--space-xl)) var(--space-xl) var(--space-xl);transition:right var(--transition-base);border-left:1px solid var(--border-color);gap:var(--space-xs);align-items:stretch;box-shadow:-10px 0 30px rgba(0,0,0,.05)}.header-nav.open{right:0}.nav-link{font-size:var(--font-size-base);padding:var(--space-md) 0;border-bottom:1px solid var(--border-color);width:100%;justify-content:space-between}.nav-link:after{display:none}.nav-accordion-trigger,.nav-admin{width:100%}.nav-admin-submenu{position:static;min-width:0;margin:8px 0 4px;padding:0 0 0 12px;border:0;border-left:2px solid var(--border-color);border-radius:0;box-shadow:none;background:transparent;max-height:0;opacity:1;visibility:visible;pointer-events:none;overflow:hidden;transform:none;transition:max-height var(--transition-base)}.nav-admin.open .nav-admin-submenu{max-height:320px;pointer-events:auto}.nav-admin-link{padding:10px 0;border-bottom:1px solid var(--border-color);border-radius:0;background:transparent}.nav-user{flex-direction:column;margin-left:0;margin-top:var(--space-md);gap:var(--space-sm)}.nav-user-name{font-size:var(--font-size-sm)}.nav-login{margin-left:0;margin-top:var(--space-md);width:100%;text-align:center;min-height:44px;display:flex;align-items:center;justify-content:center}}