:root{--primary-50: #e8f5e9;--primary-100: #c8e6c9;--primary-200: #a5d6a7;--primary-300: #81c784;--primary-400: #66bb6a;--primary-500: #4caf50;--primary-600: #43a047;--primary-700: #388e3c;--primary-800: #2e7d32;--primary-900: #1b5e20;--gray-50: #fafafa;--gray-100: #f5f5f5;--gray-200: #eeeeee;--gray-300: #e0e0e0;--gray-400: #bdbdbd;--gray-500: #9e9e9e;--gray-600: #757575;--gray-700: #616161;--gray-800: #424242;--gray-900: #212121;--error: #ef4444;--warning: #f59e0b;--success: #10b981;--info: #3b82f6;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--radius-sm: 6px;--radius: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;font-weight:400;color-scheme:light;color:var(--gray-900);background-color:var(--gray-50);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:var(--gray-50)}a{font-weight:500;color:var(--primary-700);text-decoration:none;transition:color .2s ease}a:hover{color:var(--primary-500)}h1,h2,h3,h4,h5,h6{line-height:1.3;font-weight:600;color:var(--gray-900)}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}h4{font-size:1.25rem}h5{font-size:1rem}h6{font-size:.875rem}p{color:var(--gray-600);line-height:1.7}button{border-radius:var(--radius);border:none;padding:.75em 1.5em;font-size:.95rem;font-weight:500;font-family:inherit;background-color:var(--gray-100);cursor:pointer;transition:all .2s ease}button:hover{background-color:var(--gray-200)}button:focus,button:focus-visible{outline:2px solid var(--primary-500);outline-offset:2px}button:disabled{opacity:.6;cursor:not-allowed}input,textarea,select{font-family:inherit;font-size:.95rem}img{max-width:100%;height:auto}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}.text-primary{color:var(--primary-600)}.text-success{color:var(--success)}.text-error{color:var(--error)}.text-warning{color:var(--warning)}.text-muted{color:var(--gray-500)}.bg-primary{background-color:var(--primary-500)}.bg-success{background-color:var(--success)}.bg-error{background-color:var(--error)}.rounded{border-radius:var(--radius)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-full{border-radius:var(--radius-full)}.shadow{box-shadow:var(--shadow)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.m-2{margin:.5rem}.m-4{margin:1rem}.mb-4{margin-bottom:1rem}.mt-4{margin-top:1rem}.w-full{width:100%}.h-full{height:100%}.min-h-screen{min-height:100vh}::selection{background-color:var(--primary-200);color:var(--gray-900)}*{box-sizing:border-box}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f8faf8}#root{max-width:100%;margin:0;padding:0;text-align:left}.app-container{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;background:linear-gradient(180deg,#f0f4f0,#e8ece8)}.dashboard-layout{display:flex;min-height:calc(100vh - 64px);background:#f5f7f5}.dashboard-content{flex:1;padding:2rem;overflow-y:auto;background:linear-gradient(135deg,#f8faf8,#f0f4f0)}.dashboard-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}.dashboard-card{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 4px 20px #0000000d;border:1px solid rgba(0,0,0,.05);transition:all .3s ease}.dashboard-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px #0000001a}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.card-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;background:linear-gradient(135deg,#e8f5e9,#c8e6c9)}.card-value{font-size:2rem;font-weight:700;color:#1a1a1a;line-height:1}.card-label{font-size:.875rem;color:#666;margin-top:.5rem}.card-trend{display:flex;align-items:center;gap:.25rem;font-size:.8rem;margin-top:.75rem}.card-trend.up{color:#4caf50}.card-trend.down{color:#f44336}.app-footer{background:linear-gradient(180deg,#1a2f1a,#0d1f0d);color:#fff;padding:0}.footer-content{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;padding:3rem;gap:2rem;max-width:1400px;margin:0 auto}.footer-brand{display:flex;align-items:center;gap:.75rem;font-size:1.5rem;font-weight:700}.footer-section{display:flex;flex-direction:column;gap:1rem}.footer-section h4{color:#fff;font-size:1rem;font-weight:600;margin:0}.footer-links{display:flex;flex-direction:column;gap:.75rem}.footer-links a{color:#fff9;text-decoration:none;font-size:.9rem;transition:color .2s}.footer-links a:hover{color:#4caf50}.footer-contact p{margin:.5rem 0;font-size:.9rem;color:#fff9;display:flex;align-items:center;gap:.5rem}.footer-bottom{text-align:center;padding:1.5rem;background:#0000004d;font-size:.85rem;color:#fff6;border-top:1px solid rgba(255,255,255,.05)}.footer-bottom p{margin:0}@media(max-width:768px){.dashboard-layout{flex-direction:column}.dashboard-content{padding:1rem}.dashboard-cards{grid-template-columns:1fr}.footer-content{flex-direction:column;text-align:center;padding:2rem 1.5rem;gap:2rem}.footer-links{align-items:center}.footer-contact p{justify-content:center}}.btn-primary{background:linear-gradient(135deg,#2e7d32,#4caf50);color:#fff;border:none;padding:.875rem 2rem;border-radius:12px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #2e7d3240}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #2e7d3259}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:transparent;color:#2e7d32;border:2px solid #4caf50;padding:.875rem 2rem;border-radius:12px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .3s ease}.btn-secondary:hover{background:#e8f5e9;border-color:#2e7d32}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:#4caf501a;border:none;cursor:pointer;transition:all .2s;color:#2e7d32;font-size:1.1rem}.btn-icon:hover{background:#4caf5033;transform:scale(1.05)}.input-field{width:100%;padding:.875rem 1rem;border:2px solid #e0e0e0;border-radius:12px;font-size:.95rem;transition:all .2s;background:#fff}.input-field:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 4px #4caf501a}.input-field::placeholder{color:#999}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:8px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f0f0f0}::-webkit-scrollbar-thumb{background:silver;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a0a0a0}.toast{position:fixed;bottom:2rem;right:2rem;padding:1rem 1.5rem;border-radius:12px;color:#fff;font-weight:500;box-shadow:0 8px 30px #00000026;animation:slideInRight .3s ease;z-index:9999}.toast.success{background:linear-gradient(135deg,#4caf50,#2e7d32)}.toast.error{background:linear-gradient(135deg,#f44336,#d32f2f)}.toast.warning{background:linear-gradient(135deg,#ff9800,#f57c00)}.badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600}.badge.success{background:#e8f5e9;color:#2e7d32}.badge.warning{background:#fff3e0;color:#f57c00}.badge.error{background:#ffebee;color:#d32f2f}.badge.info{background:#e3f2fd;color:#1976d2}.navbar{background:linear-gradient(135deg,#1a3a1a,#2e5a2e);position:sticky;top:0;z-index:1000;box-shadow:0 4px 20px #00000026}.navbar-container{max-width:1400px;margin:0 auto;padding:0 2rem;height:64px;display:flex;align-items:center;justify-content:space-between}.navbar-brand{display:flex;align-items:center;gap:.75rem;cursor:pointer;transition:transform .2s}.navbar-brand:hover{transform:scale(1.02)}.brand-icon{font-size:2rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.brand-text{font-size:1.5rem;font-weight:800;color:#fff;letter-spacing:-.5px}.navbar-menu{display:flex;align-items:center;gap:1rem;flex:1;justify-content:space-between;margin-left:3rem}.navbar-links{display:flex;align-items:center;gap:.5rem}.nav-link{display:flex;align-items:center;gap:.5rem;padding:.6rem 1.25rem;background:transparent;border:none;color:#ffffffd9;font-size:.9rem;font-weight:500;cursor:pointer;border-radius:12px;transition:all .2s ease;position:relative}.nav-link:hover{background:#ffffff1a;color:#fff}.nav-link.active{background:#ffffff26;color:#fff}.nav-link.active:after{content:"";position:absolute;bottom:-2px;left:50%;transform:translate(-50%);width:20px;height:3px;background:#4caf50;border-radius:3px}.nav-icon{font-size:1.1rem}.nav-text{font-weight:500}.navbar-actions{display:flex;align-items:center;gap:1rem}.user-section{display:flex;align-items:center;gap:.75rem;padding:.5rem;background:#ffffff14;border-radius:50px;border:1px solid rgba(255,255,255,.1)}.user-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#4caf50,#2e7d32);display:flex;align-items:center;justify-content:center;font-size:1.1rem;box-shadow:0 2px 8px #0003}.user-details{display:flex;flex-direction:column;padding-right:.5rem}.user-name{color:#fff;font-weight:600;font-size:.85rem;line-height:1.2}.user-role{color:#fff9;font-size:.7rem;text-transform:capitalize}.logout-btn{display:flex;align-items:center;gap:.4rem;padding:.5rem 1rem;background:#dc3545e6;border:none;color:#fff;font-size:.8rem;font-weight:500;cursor:pointer;border-radius:20px;transition:all .2s}.logout-btn:hover{background:#dc3545;transform:scale(1.02)}.logout-icon{font-size:.9rem}.auth-buttons{display:flex;align-items:center;gap:.75rem}.btn-login{padding:.6rem 1.5rem;background:transparent;border:2px solid rgba(255,255,255,.3);color:#fff;font-size:.9rem;font-weight:500;cursor:pointer;border-radius:25px;transition:all .2s}.btn-login:hover{background:#ffffff1a;border-color:#ffffff80}.btn-register{padding:.6rem 1.5rem;background:linear-gradient(135deg,#4caf50,#45a049);border:none;color:#fff;font-size:.9rem;font-weight:600;cursor:pointer;border-radius:25px;transition:all .2s;box-shadow:0 4px 15px #4caf504d}.btn-register:hover{transform:translateY(-2px);box-shadow:0 6px 20px #4caf5066}.mobile-menu-btn{display:none;width:40px;height:40px;background:#ffffff1a;border:none;border-radius:10px;cursor:pointer;position:relative}.hamburger{display:block;width:20px;height:2px;background:#fff;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);transition:all .3s}.hamburger:before,.hamburger:after{content:"";display:block;width:20px;height:2px;background:#fff;position:absolute;left:0;transition:all .3s}.hamburger:before{top:-6px}.hamburger:after{top:6px}.hamburger.open{background:transparent}.hamburger.open:before{transform:rotate(45deg);top:0}.hamburger.open:after{transform:rotate(-45deg);top:0}@media(max-width:900px){.navbar-container{padding:0 1rem}.mobile-menu-btn{display:flex;align-items:center;justify-content:center}.navbar-menu{position:fixed;inset:64px 0 0;background:linear-gradient(180deg,#1a3a1a,#0d1f0d);flex-direction:column;padding:2rem;gap:2rem;margin-left:0;transform:translate(100%);transition:transform .3s ease;justify-content:flex-start}.navbar-menu.open{transform:translate(0)}.navbar-links{flex-direction:column;width:100%;gap:.5rem}.nav-link{width:100%;justify-content:flex-start;padding:1rem 1.5rem;font-size:1rem;border-radius:12px;background:#ffffff0d}.nav-link.active:after{display:none}.navbar-actions{width:100%}.user-section{width:100%;justify-content:space-between;padding:1rem;border-radius:16px}.auth-buttons{width:100%;flex-direction:column}.btn-login,.btn-register{width:100%;padding:1rem;font-size:1rem}.logout-text{display:inline}}@media(min-width:901px){.logout-text{display:none}}.landing-page{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;color:#1a1a2e;line-height:1.6}.hero-section{display:grid;grid-template-columns:1fr 1fr;gap:3rem;padding:4rem 3rem;max-width:1400px;margin:0 auto;align-items:center;min-height:70vh}.hero-content{text-align:left}.hero-title{font-size:3.5rem;font-weight:700;line-height:1.1;margin-bottom:1.5rem;color:#1a1a2e}.hero-title .highlight{background:linear-gradient(135deg,#2e7d32,#4caf50);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:1.2rem;color:#555;margin-bottom:2rem;line-height:1.7}.hero-buttons{display:flex;gap:1rem}.btn-primary{background:linear-gradient(135deg,#2e7d32,#4caf50);color:#fff;border:none;padding:.9rem 2rem;border-radius:30px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px #2e7d324d}.btn-secondary{background:transparent;color:#2e7d32;border:2px solid #2e7d32;padding:.85rem 2rem;border-radius:30px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:#2e7d32;color:#fff}.btn-large{padding:1.1rem 3rem;font-size:1.1rem}.hero-visual{position:relative}.hero-image{border-radius:20px;overflow:hidden;box-shadow:0 20px 60px #00000026}.hero-image img{width:100%;height:auto;display:block}.stats-section{display:flex;justify-content:center;gap:4rem;padding:3rem 2rem;background:linear-gradient(135deg,#f8fdf8,#e8f5e9);border-top:1px solid #c8e6c9;border-bottom:1px solid #c8e6c9}.stat-item{text-align:center}.stat-value{font-size:2.5rem;font-weight:700;color:#2e7d32;margin-bottom:.25rem}.stat-label{font-size:.95rem;color:#666;font-weight:500}.services-section{padding:5rem 3rem;max-width:1400px;margin:0 auto}.section-header{text-align:center;margin-bottom:3.5rem}.section-title{font-size:2.5rem;font-weight:700;color:#1a1a2e;margin-bottom:1rem}.section-subtitle{font-size:1.15rem;color:#666;max-width:600px;margin:0 auto}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.service-card{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 4px 20px #0000000f;border:1px solid #e9e9e9;transition:all .3s ease;position:relative;overflow:hidden}.service-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(135deg,#2e7d32,#4caf50);transform:scaleX(0);transition:transform .3s ease}.service-card:hover,.service-card.hovered{transform:translateY(-5px);box-shadow:0 12px 40px #2e7d321f;border-color:#c8e6c9}.service-card:hover:before,.service-card.hovered:before{transform:scaleX(1)}.service-icon{font-size:3rem;margin-bottom:1rem}.service-title{font-size:1.35rem;font-weight:600;color:#1a1a2e;margin-bottom:.75rem}.service-description{font-size:.95rem;color:#666;margin-bottom:1.25rem;line-height:1.6}.service-features{list-style:none;padding:0;margin:0}.service-features li{font-size:.9rem;color:#555;padding:.35rem 0;display:flex;align-items:center;gap:.5rem}.feature-check{color:#4caf50;font-weight:700}.how-it-works-section{padding:5rem 3rem;background:linear-gradient(135deg,#f8fdf8,#e8f5e9)}.steps-container{display:flex;justify-content:center;align-items:center;gap:0;max-width:1200px;margin:0 auto;flex-wrap:wrap}.step-item{display:flex;flex-direction:column;align-items:center;text-align:center;padding:1.5rem;max-width:220px}.step-number{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#2e7d32,#4caf50);color:#fff;font-size:1.5rem;font-weight:700;display:flex;align-items:center;justify-content:center;margin-bottom:1rem;box-shadow:0 4px 15px #2e7d324d}.step-content h4{font-size:1.1rem;font-weight:600;color:#1a1a2e;margin-bottom:.5rem}.step-content p{font-size:.9rem;color:#666}.step-connector{width:60px;height:3px;background:linear-gradient(90deg,#4caf50,#81c784);border-radius:2px}.cta-section{padding:5rem 3rem;background:linear-gradient(135deg,#2e7d32,#1b5e20);text-align:center}.cta-content h2{font-size:2.5rem;font-weight:700;color:#fff;margin-bottom:1rem}.cta-content p{font-size:1.15rem;color:#ffffffd9;max-width:600px;margin:0 auto 2rem}.cta-section .btn-primary{background:#fff;color:#2e7d32}.cta-section .btn-primary:hover{box-shadow:0 8px 25px #0003}.landing-footer{background:#1a1a2e;color:#fff;padding:4rem 3rem 1rem}.footer-content{display:flex;justify-content:space-between;max-width:1200px;margin:0 auto;padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,.1);flex-wrap:wrap;gap:2rem}.footer-brand{max-width:300px}.footer-logo{font-size:1.5rem;font-weight:700;display:block;margin-bottom:1rem}.footer-brand p{color:#fff9;font-size:.95rem;line-height:1.6}.footer-links{display:flex;gap:4rem}.footer-column h4{font-size:1rem;font-weight:600;margin-bottom:1rem;color:#fff}.footer-column a{display:block;color:#fff9;text-decoration:none;font-size:.9rem;padding:.35rem 0;transition:color .2s}.footer-column a:hover{color:#4caf50}.footer-bottom{text-align:center;padding-top:2rem;color:#fff6;font-size:.9rem}.featured-section{padding:4rem 3rem;max-width:1400px;margin:0 auto;background:#fff}.featured-loading{text-align:center;padding:3rem;color:#666}.featured-loading .loading-spinner{width:40px;height:40px;border:3px solid #e0e0e0;border-top-color:#2e7d32;border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 1rem}.featured-category{margin-bottom:3rem}.category-title{font-size:1.5rem;color:#333;margin:0 0 1.5rem;padding-bottom:.5rem;border-bottom:2px solid #e8f5e9}.featured-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}.featured-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 12px #00000014;transition:all .3s ease;border:1px solid #eee}.featured-card:hover{transform:translateY(-6px);box-shadow:0 8px 30px #0000001f}.featured-img{width:100%;height:160px;object-fit:cover}.featured-info{padding:1rem}.featured-info h4{margin:0 0 .5rem;font-size:1rem;color:#333}.featured-price{color:#2e7d32;font-weight:700;font-size:1.1rem;margin:0 0 .25rem}.featured-seller{color:#888;font-size:.85rem;margin:0 0 .5rem}.featured-location{display:inline-block;background:#f5f5f5;color:#666;padding:.2rem .5rem;border-radius:4px;font-size:.75rem}.featured-desc{color:#888;font-size:.8rem;margin:.25rem 0 0;line-height:1.4}.featured-cta{text-align:center;margin-top:2rem}@media(max-width:1024px){.hero-section{grid-template-columns:1fr;text-align:center;padding:3rem 2rem}.hero-content{text-align:center}.hero-buttons{justify-content:center}.hero-visual{order:-1;max-width:500px;margin:0 auto}.services-grid,.featured-grid{grid-template-columns:repeat(2,1fr)}.featured-section{padding:3rem 2rem}.stats-section{flex-wrap:wrap;gap:2rem}}@media(max-width:768px){.hero-title{font-size:2.5rem}.services-grid,.featured-grid{grid-template-columns:1fr}.featured-section{padding:2rem 1rem}.category-title{font-size:1.25rem}.steps-container{flex-direction:column}.step-connector{width:3px;height:30px;background:linear-gradient(180deg,#4caf50,#81c784)}.footer-content{flex-direction:column;text-align:center}.footer-brand{max-width:100%}.footer-links{flex-wrap:wrap;justify-content:center;gap:2rem}}.marketplace{padding:0}.market-hero{background:linear-gradient(135deg,#2e7d32,#1b5e20);padding:3rem 2rem;color:#fff;text-align:center}.market-hero-content h1{font-size:2.25rem;margin:0 0 .5rem}.market-hero-content p{font-size:1.1rem;opacity:.9;margin:0}.hero-cta{margin-top:1.5rem;display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap}.cta-btn{padding:.75rem 1.5rem;border-radius:25px;font-weight:600;cursor:pointer;transition:all .2s;border:2px solid transparent}.cta-btn.primary{background:#fff;color:#2e7d32}.cta-btn.primary:hover{background:#e8f5e9}.cta-btn.secondary{background:transparent;color:#fff;border-color:#ffffff80}.cta-btn.secondary:hover{background:#ffffff1a;border-color:#fff}.cta-divider{color:#fff9}.market-tabs{display:flex;gap:.5rem;padding:1rem 2rem;background:#f5f5f5;border-bottom:1px solid #e0e0e0}.tab-btn{padding:.75rem 1.5rem;border:none;background:#fff;border-radius:25px;font-weight:500;cursor:pointer;transition:all .2s;color:#666}.tab-btn:hover{background:#e8f5e9;color:#2e7d32}.tab-btn.active{background:#2e7d32;color:#fff}.market-loading{text-align:center;padding:4rem 2rem;color:#666}.loading-spinner-large{width:40px;height:40px;border:3px solid #e0e0e0;border-top-color:#2e7d32;border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 1rem}.market-section{padding:2rem}.market-section h3{color:#333;margin:0 0 1.5rem;font-size:1.25rem}.card-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.market-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden;display:flex;flex-direction:column;transition:all .3s}.market-card:hover{box-shadow:0 8px 24px #0000001f;transform:translateY(-4px)}.market-img{width:100%;height:180px;object-fit:cover}.market-info{padding:1.25rem;flex:1;display:flex;flex-direction:column}.market-info h4{margin:0 0 .5rem;color:#333;font-size:1.1rem}.market-info p{margin:.25rem 0;color:#666;font-size:.9rem}.market-info p strong{color:#444}.market-info .price{color:#2e7d32;font-weight:700;font-size:1.1rem;margin:.5rem 0}.market-info .description{font-size:.85rem;color:#888;font-style:italic}.market-info .stock{margin-top:auto;padding-top:.75rem}.stock-badge{display:inline-block;background:#e8f5e9;color:#2e7d32;padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:500}.market-btn{margin-top:.75rem;padding:.75rem 1rem;background:linear-gradient(135deg,#2e7d32,#4caf50);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.market-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #2e7d324d}.empty-state{text-align:center;padding:3rem;color:#888}.empty-state span{font-size:3rem;display:block;margin-bottom:1rem}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.order-modal{background:#fff;border-radius:16px;padding:2rem;max-width:400px;width:100%;position:relative}.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;color:#999;cursor:pointer;padding:0;line-height:1}.modal-close:hover{color:#333}.order-modal h2{margin:0 0 1.5rem;color:#333}.order-item-preview{display:flex;gap:1rem;padding:1rem;background:#f5f5f5;border-radius:8px;margin-bottom:1.5rem}.order-item-preview img{width:80px;height:80px;object-fit:cover;border-radius:8px}.order-item-preview h3{margin:0 0 .5rem;font-size:1rem}.order-item-preview .order-price{color:#2e7d32;font-weight:600;margin:0}.order-quantity{margin-bottom:1.5rem}.order-quantity label{display:block;margin-bottom:.5rem;font-weight:500;color:#333}.quantity-controls{display:flex;align-items:center;gap:.5rem}.quantity-controls button{width:36px;height:36px;border:1px solid #ddd;background:#f5f5f5;border-radius:8px;font-size:1.25rem;cursor:pointer;transition:all .2s}.quantity-controls button:hover{background:#e0e0e0}.quantity-controls input{width:60px;text-align:center;padding:.5rem;border:1px solid #ddd;border-radius:8px;font-size:1rem}.order-total{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#e8f5e9;border-radius:8px;margin-bottom:1.5rem}.order-total span{color:#666}.order-total strong{color:#2e7d32;font-size:1.25rem}.order-status{padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;text-align:center}.order-status.success{background:#e8f5e9;color:#2e7d32}.order-status.error{background:#ffebee;color:#c62828}.submit-order-btn{width:100%;padding:1rem;background:linear-gradient(135deg,#2e7d32,#4caf50);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.submit-order-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #2e7d324d}.submit-order-btn:disabled{opacity:.7;cursor:not-allowed}@media(max-width:600px){.market-hero{padding:2rem 1rem}.market-hero-content h1{font-size:1.75rem}.market-tabs{padding:1rem;overflow-x:auto}.market-section{padding:1rem}.card-list{grid-template-columns:1fr}}.sidebar{width:260px;background:linear-gradient(180deg,#1a2f1a,#0d1f0d);min-height:calc(100vh - 64px);display:flex;flex-direction:column;transition:width .3s cubic-bezier(.4,0,.2,1);box-shadow:4px 0 20px #0000001a;position:relative;z-index:50}.sidebar.collapsed{width:80px}.sidebar-header{padding:1.25rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-brand{display:flex;align-items:center;gap:.75rem}.brand-icon{font-size:1.75rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.brand-text{font-size:1.25rem;font-weight:700;color:#fff;letter-spacing:-.5px}.collapse-btn{width:28px;height:28px;border-radius:8px;border:none;background:#ffffff1a;color:#ffffffb3;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.75rem;transition:all .2s}.collapse-btn:hover{background:#fff3;color:#fff}.user-profile{display:flex;align-items:center;gap:.75rem;padding:1.25rem;margin:.75rem;background:#ffffff0d;border-radius:12px;border:1px solid rgba(255,255,255,.08)}.sidebar.collapsed .user-profile{justify-content:center;padding:1rem;margin:.75rem .5rem}.avatar{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#4caf50,#2e7d32);display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0;box-shadow:0 4px 12px #4caf504d}.user-info{display:flex;flex-direction:column;overflow:hidden}.user-name{color:#fff;font-weight:600;font-size:.9rem;white-space:nowrap}.user-role{color:#fff9;font-size:.75rem;text-transform:capitalize;display:flex;align-items:center;gap:.25rem}.user-role:before{content:"";width:6px;height:6px;background:#4caf50;border-radius:50%}.sidebar-nav{flex:1;overflow-y:auto;padding:.5rem 0}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background:#fff3;border-radius:2px}.nav-section{margin-bottom:.5rem}.nav-section-title{display:block;font-size:.65rem;text-transform:uppercase;letter-spacing:1px;color:#ffffff59;padding:1rem 1.25rem .5rem;font-weight:600}.sidebar-link{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;margin:.125rem .75rem;color:#ffffffb3;text-decoration:none;font-size:.875rem;font-weight:500;transition:all .2s;border-radius:10px;border:none;background:transparent;cursor:pointer;width:calc(100% - 1.5rem);text-align:left;position:relative}.sidebar.collapsed .sidebar-link{justify-content:center;padding:.75rem;margin:.125rem .5rem;width:calc(100% - 1rem)}.sidebar-link:hover{background:#ffffff14;color:#fff}.sidebar-link.active{background:linear-gradient(135deg,#4caf504d,#2e7d3233);color:#4caf50;box-shadow:0 2px 8px #4caf5026}.sidebar-link.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:60%;background:#4caf50;border-radius:0 3px 3px 0}.sidebar.collapsed .sidebar-link.active:before{display:none}.link-icon{font-size:1.25rem;flex-shrink:0;width:24px;text-align:center}.link-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.active-indicator{width:6px;height:6px;background:#4caf50;border-radius:50%;flex-shrink:0}.sidebar-footer{padding:.75rem 0;border-top:1px solid rgba(255,255,255,.1);margin-top:auto}@media(max-width:768px){.sidebar{position:fixed;left:0;top:64px;bottom:0;z-index:1000;transform:translate(-100%);transition:transform .3s ease}.sidebar.mobile-open{transform:translate(0)}.sidebar.collapsed{width:260px}.collapse-btn{display:none}}@keyframes fadeIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.sidebar-link{animation:fadeIn .2s ease forwards}.auth-page{display:flex;min-height:calc(100vh - 60px);background:linear-gradient(135deg,#f5f7f5,#e8f5e9)}.auth-container{flex:1;max-width:450px;margin:2rem auto;padding:2rem;background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014}.register-container{max-width:500px}.auth-header{text-align:center;margin-bottom:1.5rem}.auth-icon{font-size:3rem;display:block;margin-bottom:.5rem}.auth-header h1{color:#2e7d32;font-size:1.75rem;margin:0 0 .5rem}.auth-header p{color:#666;margin:0}.step-indicator{display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;gap:.5rem}.step{display:flex;flex-direction:column;align-items:center;gap:.25rem}.step-number{width:32px;height:32px;border-radius:50%;background:#ddd;color:#666;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem;transition:all .3s}.step.active .step-number{background:#2e7d32;color:#fff}.step-label{font-size:.75rem;color:#888}.step.active .step-label{color:#2e7d32;font-weight:500}.step-line{width:60px;height:2px;background:#ddd;margin-bottom:1rem}.auth-form{display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.4rem}.form-group label{font-weight:500;color:#333;font-size:.9rem}.form-group input,.form-group select{padding:.75rem 1rem;border:1.5px solid #ddd;border-radius:8px;font-size:1rem;transition:all .2s}.form-group input:focus,.form-group select:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a}.form-row{display:flex;gap:1rem}.form-row .form-group{flex:1}.auth-error{background:#ffebee;color:#c62828;padding:.75rem 1rem;border-radius:8px;font-size:.9rem;border:1px solid #ffcdd2}.auth-submit-btn{background:linear-gradient(135deg,#2e7d32,#4caf50);color:#fff;border:none;padding:.9rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;margin-top:.5rem}.auth-submit-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #2e7d324d}.auth-submit-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.loading-spinner{display:flex;align-items:center;justify-content:center;gap:.5rem}.spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.auth-back-btn{background:#f5f5f5;color:#333;border:1px solid #ddd;padding:.9rem;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s}.auth-back-btn:hover{background:#eee}.form-actions{display:flex;gap:1rem;margin-top:.5rem}.form-actions button{flex:1}.role-description{background:#f5f7f5;padding:.75rem 1rem;border-radius:8px;border:1px solid #e0e0e0}.role-description p{margin:0;font-size:.9rem;color:#555;line-height:1.4}.auth-footer{text-align:center;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #eee}.auth-footer p{color:#666;margin:0 0 .5rem;font-size:.9rem}.auth-link-btn{background:none;border:none;color:#2e7d32;font-weight:600;font-size:.95rem;cursor:pointer;text-decoration:underline}.auth-link-btn:hover{color:#1b5e20}.auth-divider{display:flex;align-items:center;margin:1.5rem 0}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:#ddd}.auth-divider span{padding:0 1rem;color:#999;font-size:.85rem}.auth-guest-btn{width:100%;background:#fff;color:#2e7d32;border:2px solid #4caf50;padding:.75rem;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s}.auth-guest-btn:hover{background:#e8f5e9}.auth-features{flex:1;max-width:400px;padding:2rem;display:none}@media(min-width:900px){.auth-features{display:block;background:linear-gradient(135deg,#2e7d32,#1b5e20);color:#fff;border-radius:0 16px 16px 0}.auth-page{max-width:900px;margin:2rem auto;border-radius:16px;overflow:hidden;min-height:auto}.auth-container{margin:0;border-radius:16px 0 0 16px;max-width:none;flex:1}}.auth-features h2{margin:0 0 1.5rem;font-size:1.5rem}.feature-list{display:flex;flex-direction:column;gap:1.5rem}.feature-item{display:flex;gap:1rem;align-items:flex-start}.feature-icon{font-size:2rem}.feature-item h3{margin:0 0 .25rem;font-size:1.1rem}.feature-item p{margin:0;opacity:.9;font-size:.9rem;line-height:1.4}@media(max-width:600px){.auth-container{margin:1rem;padding:1.5rem}.form-row{flex-direction:column;gap:1rem}}
