*{box-sizing:border-box;margin:0;padding:0}body{color:#171923;background:#f7f8fc;font-family:Arial,Helvetica,sans-serif}button{cursor:pointer;font-family:inherit}.app{min-height:100vh}.navbar{background:#fff;border-bottom:1px solid #eee;justify-content:space-between;align-items:center;height:72px;padding:0 7%;display:flex}.logo{color:#171923;font-size:22px;font-weight:800}.logo span{color:#6c4df6}.nav-links{gap:35px;display:flex}.nav-links a{color:#555;font-size:15px;text-decoration:none}.nav-links a:hover{color:#6c4df6}.nav-buttons{gap:10px;display:flex}.login-btn,.register-btn{border-radius:8px;padding:10px 20px;font-weight:600}.login-btn{background:#fff;border:1px solid #ddd}.register-btn{color:#fff;background:#6c4df6;border:none}.hero-section{background:linear-gradient(135deg,#f5f2ff,#fff);justify-content:space-between;align-items:center;gap:60px;min-height:520px;padding:80px 10%;display:flex}.hero-content{max-width:680px}.hero-badge{color:#6242e8;background:#ebe6ff;border-radius:30px;margin-bottom:20px;padding:8px 14px;font-size:13px;font-weight:700;display:inline-block}.hero-content h1{letter-spacing:-2px;margin-bottom:25px;font-size:58px;line-height:1.05}.hero-content h1 span{color:#6c4df6}.hero-content>p{color:#666;max-width:580px;margin-bottom:30px;font-size:18px;line-height:1.6}.search-box{background:#fff;border:1px solid #ddd;border-radius:12px;max-width:620px;padding:6px;display:flex;box-shadow:0 10px 30px #00000014}.search-box input{border:none;outline:none;flex:1;padding:15px;font-size:15px}.search-box button{color:#fff;background:#6c4df6;border:none;border-radius:8px;padding:0 25px;font-weight:700}.popular{flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px;display:flex}.popular span{color:#777;font-size:13px}.popular button{background:#fff;border:1px solid #ddd;border-radius:20px;padding:6px 12px;font-size:12px}.hero-card{color:#fff;background:#171923;border-radius:25px;width:310px;padding:35px;box-shadow:0 25px 60px #0003}.hero-icon{margin-bottom:20px;font-size:55px}.hero-card h3{margin-bottom:10px;font-size:24px}.hero-card p{color:#aaa;line-height:1.5}.hero-stat{border-top:1px solid #333;margin-top:35px;padding-top:20px}.hero-stat strong{color:#a995ff;font-size:32px;display:block}.hero-stat span{color:#aaa;font-size:13px}.services-section{background:#fff;padding:80px 10%}.section-heading{justify-content:space-between;align-items:end;margin-bottom:40px;display:flex}.section-label{color:#6c4df6;letter-spacing:2px;margin-bottom:8px;font-size:12px;font-weight:800}.section-heading h2,.about-section h2{font-size:38px}.section-heading>p{color:#777;max-width:350px;line-height:1.5}.service-grid{grid-template-columns:repeat(3,1fr);gap:25px;display:grid}.service-card{background:#fff;border:1px solid #eee;border-radius:16px;padding:25px;transition:all .2s}.service-card:hover{transform:translateY(-5px);box-shadow:0 15px 40px #00000014}.service-icon{background:#f0edff;border-radius:12px;justify-content:center;align-items:center;width:50px;height:50px;margin-bottom:18px;font-size:24px;display:flex}.service-category{color:#6c4df6;margin-bottom:8px;font-size:12px;font-weight:700}.service-card h3{margin-bottom:10px;font-size:21px}.description{color:#777;min-height:48px;line-height:1.5}.service-info{border-top:1px solid #eee;justify-content:space-between;margin:20px 0;padding-top:15px;display:flex}.service-info span{color:#777;font-size:13px}.service-info strong{font-size:18px}.book-btn{color:#fff;background:#171923;border:none;border-radius:8px;width:100%;padding:12px;font-weight:700}.about-section{background:#f7f8fc;padding:80px 10%}.features{grid-template-columns:repeat(4,1fr);gap:25px;margin-top:45px;display:grid}.feature{background:#fff;border-radius:15px;padding:25px}.feature span{font-size:30px}.feature h3{margin:15px 0 8px}.feature p{color:#777;font-size:14px;line-height:1.5}footer{color:#fff;background:#171923;justify-content:space-between;align-items:center;padding:35px 10%;display:flex}footer p{color:#999;font-size:13px}.loading,.empty{text-align:center;color:#777;padding:60px}.login-page{background:radial-gradient(circle at 0 0,#6c4df62e,#0000 35%),radial-gradient(circle at 100% 100%,#6c4df61f,#0000 35%),#f7f6fc;justify-content:center;align-items:center;min-height:100vh;padding:30px;display:flex}.login-card{background:#fff;border-radius:24px;width:100%;max-width:430px;padding:42px;box-shadow:0 20px 60px #261e4b26}.login-logo{text-align:center;color:#202020;margin-bottom:28px;font-size:22px;font-weight:800}.login-logo span{color:#6c4df6}.login-card h1{text-align:center;color:#171717;margin-bottom:8px;font-size:32px;font-weight:800}.login-subtitle{text-align:center;color:#777;margin-bottom:28px;font-size:15px}.login-card form{flex-direction:column;display:flex}.login-card label{color:#333;margin-top:15px;margin-bottom:7px;font-size:14px;font-weight:600}.login-card input{color:#222;background:#fafafa;border:1px solid #ddd;border-radius:10px;outline:none;width:100%;padding:14px 15px;font-size:15px;transition:all .2s}.login-card input:focus{background:#fff;border-color:#6c4df6;box-shadow:0 0 0 3px #6c4df61a}.login-submit{color:#fff;cursor:pointer;background:#6c4df6;border:none;border-radius:10px;width:100%;margin-top:25px;padding:14px;font-size:16px;font-weight:700;transition:all .2s}.login-submit:hover{background:#5738dc;transform:translateY(-1px)}.login-submit:disabled{opacity:.7;cursor:not-allowed;transform:none}.login-error{color:#d32f2f;background:#fff0f0;border:1px solid #ffd1d1;border-radius:10px;margin-bottom:18px;padding:12px 14px;font-size:14px}.back-home{color:#6c4df6;cursor:pointer;background:0 0;border:none;margin:22px auto 0;padding:8px;font-size:14px;font-weight:600;display:block}.back-home:hover{color:#5738dc}@media (width<=900px){.hero-section{flex-direction:column;align-items:flex-start}.hero-content h1{font-size:42px}.service-grid,.features{grid-template-columns:1fr 1fr}.nav-links{display:none}}@media (width<=600px){.navbar{padding:0 5%}.hero-section,.services-section,.about-section{padding:60px 5%}.hero-card{width:100%}.service-grid,.features{grid-template-columns:1fr}.section-heading{display:block}.section-heading>p{margin-top:15px}footer{flex-direction:column;gap:15px}.login-page{padding:20px}.login-card{padding:30px 24px}.login-card h1{font-size:28px}}.register-page{background:radial-gradient(circle at 0 0,#6c4df62e,#0000 35%),radial-gradient(circle at 100% 100%,#6c4df61f,#0000 35%),#f7f6fc;justify-content:center;align-items:center;min-height:100vh;padding:30px;display:flex}.register-card{background:#fff;border-radius:24px;width:100%;max-width:450px;padding:42px;box-shadow:0 20px 60px #261e4b26}.register-logo{text-align:center;margin-bottom:25px;font-size:22px;font-weight:800}.register-logo span{color:#6c4df6}.register-card h1{text-align:center;margin-bottom:8px;font-size:32px}.register-subtitle{text-align:center;color:#777;margin-bottom:25px}.register-card form{flex-direction:column;display:flex}.register-card label{margin-top:14px;margin-bottom:7px;font-size:14px;font-weight:600}.register-card input,.register-card select{background:#fafafa;border:1px solid #ddd;border-radius:10px;outline:none;width:100%;padding:14px;font-size:15px}.register-card input:focus,.register-card select:focus{border-color:#6c4df6;box-shadow:0 0 0 3px #6c4df61a}.register-submit{color:#fff;background:#6c4df6;border:none;border-radius:10px;width:100%;margin-top:25px;padding:14px;font-size:16px;font-weight:700}.register-submit:hover{background:#5738dc}.register-submit:disabled{opacity:.7}.register-error{color:#d32f2f;background:#fff0f0;border:1px solid #ffd1d1;border-radius:10px;margin-bottom:15px;padding:12px;font-size:14px}.already-account{text-align:center;color:#777;margin-top:22px;margin-bottom:5px;font-size:14px}.go-login{color:#6c4df6;background:0 0;border:none;margin:auto;font-weight:700;display:block}.go-login:hover{color:#5738dc}.dashboard-page{background:#f7f8fc;min-height:100vh}.dashboard-navbar{background:#fff;border-bottom:1px solid #eee;justify-content:space-between;align-items:center;height:72px;padding:0 7%;display:flex}.dashboard-nav-links{gap:10px;display:flex}.dashboard-nav-links button{color:#555;background:0 0;border:none;border-radius:8px;padding:10px 14px;font-size:14px}.dashboard-nav-links button:hover{color:#6c4df6;background:#f0edff}.dashboard-logout{color:#fff;background:#171923;border:none;border-radius:8px;padding:10px 18px;font-weight:600}.dashboard-logout:hover{background:#6c4df6}.dashboard-hero{background:linear-gradient(135deg,#f5f2ff,#fff);padding:60px 10%}.dashboard-hero h1{margin-bottom:10px;font-size:42px}.dashboard-hero p:last-child{color:#777;font-size:17px}.dashboard-services{background:#fff;padding:70px 10%}.dashboard-heading{justify-content:space-between;align-items:end;margin-bottom:35px;display:flex}.dashboard-heading h2{font-size:34px}.dashboard-heading>p{color:#777}.dashboard-service-grid{grid-template-columns:repeat(3,1fr);gap:25px;display:grid}.dashboard-service-card{background:#fff;border:1px solid #eee;border-radius:16px;padding:25px;transition:all .2s}.dashboard-service-card:hover{transform:translateY(-5px);box-shadow:0 15px 40px #00000014}.dashboard-service-icon{background:#f0edff;border-radius:13px;justify-content:center;align-items:center;width:55px;height:55px;margin-bottom:18px;font-size:27px;display:flex}.dashboard-service-card h3{margin-bottom:10px;font-size:21px}.dashboard-description{color:#777;min-height:48px;line-height:1.5}.dashboard-service-info{border-top:1px solid #eee;justify-content:space-between;align-items:center;margin:20px 0;padding-top:15px;display:flex}.dashboard-service-info span{color:#777;font-size:13px}.dashboard-service-info strong{font-size:18px}.dashboard-book-btn{color:#fff;background:#6c4df6;border:none;border-radius:9px;width:100%;padding:13px;font-size:14px;font-weight:700}.dashboard-book-btn:hover{background:#5738dc}.dashboard-bookings{background:#f7f8fc;padding:70px 10%}.no-bookings{text-align:center;background:#fff;border:1px solid #eee;border-radius:16px;padding:50px}.no-bookings div{margin-bottom:15px;font-size:40px}.no-bookings h3{margin-bottom:8px;font-size:20px}.no-bookings p{color:#777}@media (width<=900px){.dashboard-service-grid{grid-template-columns:1fr 1fr}.dashboard-nav-links{display:none}.dashboard-heading{display:block}.dashboard-heading>p{margin-top:10px}}@media (width<=600px){.dashboard-navbar{padding:0 5%}.dashboard-hero,.dashboard-services,.dashboard-bookings{padding:50px 5%}.dashboard-hero h1{font-size:34px}.dashboard-service-grid{grid-template-columns:1fr}}.booking-list{flex-direction:column;gap:15px;display:flex}.booking-card{background:#fff;border:1px solid #eee;border-radius:14px;align-items:center;gap:20px;padding:22px;display:flex}.booking-icon{background:#f0edff;border-radius:12px;justify-content:center;align-items:center;width:50px;height:50px;font-size:24px;display:flex}.booking-details{flex:1}.booking-details h3{margin-bottom:7px;font-size:18px}.booking-details p{color:#777;margin-top:4px;font-size:13px}.booking-status{text-transform:uppercase;color:#856404;background:#fff3cd;border-radius:20px;padding:7px 14px;font-size:12px;font-weight:700}.booking-status.accepted{color:#16834a;background:#e5f8ed}.booking-status.rejected{color:#d32f2f;background:#ffe8e8}.booking-status.pending{color:#856404;background:#fff3cd}@media (width<=600px){.booking-card{flex-wrap:wrap;align-items:flex-start}.booking-status{margin-left:70px}}.add-service-section{background:#f7f8fc;padding:50px 10%}.add-service-card{background:#fff;border-radius:18px;max-width:650px;margin:auto;padding:35px;box-shadow:0 15px 40px #00000014}.add-service-card h2{margin-bottom:8px;font-size:28px}.add-service-card>p{color:#777;margin-bottom:25px}.add-service-card form{flex-direction:column;display:flex}.add-service-card label{margin:14px 0 7px;font-size:14px;font-weight:600}.add-service-card input,.add-service-card textarea,.add-service-card select{border:1px solid #ddd;border-radius:9px;outline:none;width:100%;padding:13px;font-family:inherit;font-size:15px}.add-service-card textarea{resize:vertical;min-height:100px}.add-service-card input:focus,.add-service-card textarea:focus,.add-service-card select:focus{border-color:#6c4df6}.add-service-actions{gap:12px;margin-top:25px;display:flex}.save-service-btn{color:#fff;background:#6c4df6;border:none;border-radius:9px;flex:1;padding:13px;font-weight:700}.cancel-service-btn{background:#fff;border:1px solid #ddd;border-radius:9px;padding:13px 25px;font-weight:600}.admin-dashboard{color:#1f2937;background:#f5f7fb;min-height:100vh}.admin-dashboard .dashboard-navbar{box-sizing:border-box;background:#fff;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;height:70px;padding:0 50px;display:flex}.admin-dashboard .dashboard-navbar h2{margin:0;font-size:22px}.admin-dashboard .dashboard-navbar div{align-items:center;gap:18px;display:flex}.admin-dashboard .dashboard-navbar span{font-weight:600}.admin-dashboard .dashboard-navbar button{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:7px;padding:9px 18px;font-weight:600}.admin-dashboard .dashboard-navbar button:hover{background:#dc2626}.admin-dashboard .dashboard-container{max-width:1200px;margin:0 auto;padding:45px 25px}.admin-dashboard .dashboard-container>h1{margin:0 0 8px;font-size:32px}.admin-dashboard .dashboard-subtitle{color:#6b7280;margin:0 0 35px}.admin-stats{grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:40px;display:grid}.admin-stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:25px;box-shadow:0 4px 12px #0000000d}.admin-stat-card h3{color:#6b7280;margin:0 0 12px;font-size:15px}.admin-stat-card p{margin:0;font-size:32px;font-weight:700}.admin-users-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:25px;box-shadow:0 4px 12px #0000000d}.admin-users-section h2{margin-top:0;margin-bottom:20px}.admin-table-wrapper{width:100%;overflow-x:auto}.admin-users-table{border-collapse:collapse;width:100%}.admin-users-table th{text-align:left;color:#374151;background:#f8fafc;border-bottom:2px solid #e5e7eb;padding:14px 12px;font-size:14px}.admin-users-table td{border-bottom:1px solid #e5e7eb;padding:14px 12px;font-size:14px}.admin-users-table tbody tr:hover{background:#f9fafb}.role-badge{border-radius:20px;padding:5px 10px;font-size:12px;font-weight:700;display:inline-block}.role-badge.customer,.role-badge.user{color:#1d4ed8;background:#dbeafe}.role-badge.vendor{color:#15803d;background:#dcfce7}.role-badge.admin{color:#7e22ce;background:#f3e8ff}.admin-dashboard .error-message{color:#dc2626;font-weight:600}@media (width<=800px){.admin-stats{grid-template-columns:repeat(2,1fr)}.admin-dashboard .dashboard-navbar{padding:0 20px}.admin-dashboard .dashboard-container{padding:30px 15px}}@media (width<=500px){.admin-stats{grid-template-columns:1fr}.admin-dashboard .dashboard-navbar h2{font-size:17px}.admin-dashboard .dashboard-navbar span{display:none}.admin-dashboard .dashboard-container>h1{font-size:26px}}.ai-assistant-section{background:#f8fafc;padding:70px 8%}.ai-assistant-card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;max-width:1000px;margin:0 auto;padding:35px;box-shadow:0 8px 25px #0000000f}.ai-assistant-header{align-items:flex-start;gap:20px;margin-bottom:30px;display:flex}.ai-icon{background:#eef2ff;border-radius:15px;flex-shrink:0;justify-content:center;align-items:center;width:60px;height:60px;font-size:30px;display:flex}.ai-assistant-header h2{margin:5px 0 8px;font-size:28px}.ai-assistant-header p:not(.section-label){color:#6b7280;margin:0}.ai-input-area{flex-direction:column;gap:15px;display:flex}.ai-input-area textarea{resize:vertical;box-sizing:border-box;border:1px solid #d1d5db;border-radius:10px;outline:none;width:100%;min-height:120px;padding:16px;font-family:inherit;font-size:15px}.ai-input-area textarea:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.ai-recommend-btn{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:9px;align-self:flex-start;padding:12px 22px;font-size:15px;font-weight:600}.ai-recommend-btn:hover{background:#4338ca}.ai-recommend-btn:disabled{opacity:.7;cursor:not-allowed}.ai-result{background:#f5f3ff;border-left:4px solid #6366f1;border-radius:10px;margin-top:25px;padding:20px}.ai-result-title{color:#4338ca;margin-bottom:10px;font-weight:700}.ai-result p{color:#374151;margin:0;line-height:1.6}@media (width<=600px){.ai-assistant-section{padding:45px 20px}.ai-assistant-card{padding:22px}.ai-assistant-header{gap:12px}.ai-icon{width:48px;height:48px;font-size:24px}.ai-assistant-header h2{font-size:22px}.ai-recommend-btn{width:100%}}html{scroll-behavior:smooth}body{margin:0}
