@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap";.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#000;position:relative;overflow:hidden;padding:20px}.login-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:#1a1a1a;opacity:1}.login-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:600px;height:600px;background:radial-gradient(circle,rgba(139,92,246,.15),transparent 70%);border-radius:50%;filter:blur(80px);animation:pulse 8s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.login-container{position:relative;z-index:10;width:100%;max-width:450px}.login-card{background:#141414cc;border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:48px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 20px 60px #00000080;animation:fadeInUp .6s ease-out}@media (max-width: 640px){.login-card{padding:32px 24px}}.login-header{text-align:center;margin-bottom:32px}.login-logo{display:flex;justify-content:center;margin-bottom:20px}.logo-box{width:60px;height:60px;background:linear-gradient(135deg,#8b5cf6,#ec4899);border-radius:14px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:28px;color:#fff;box-shadow:0 8px 24px #8b5cf64d}.login-title{font-size:28px;font-weight:700;color:#fff;margin-bottom:8px;letter-spacing:-.02em}.login-subtitle{font-size:15px;color:#fff9}.login-form{display:flex;flex-direction:column;gap:24px}.login-error{padding:12px 16px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:10px;color:#f87171;font-size:14px;text-align:center}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:18px;top:50%;transform:translateY(-50%);color:#fff6;pointer-events:none;z-index:1;display:flex;align-items:center;justify-content:center;transition:opacity .2s ease}.form-input{width:100%;padding:14px 16px 14px 52px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;color:#fff;font-size:15px;line-height:1.5;transition:all .3s ease;font-family:Plus Jakarta Sans,sans-serif;position:relative;z-index:2}.form-input::placeholder{color:#ffffff4d}.form-input:focus{outline:none;border-color:#8b5cf6;background:#ffffff14;box-shadow:0 0 0 3px #8b5cf61a}.form-input:not(:placeholder-shown)~.input-icon,.form-input:focus~.input-icon{opacity:0}.form-input:not(:placeholder-shown),.form-input:focus{padding-left:16px}.login-button{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:14px;background:linear-gradient(135deg,#8b5cf6,#ec4899);border:none;border-radius:12px;color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:8px;font-family:Plus Jakarta Sans,sans-serif}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 30px #8b5cf666}.login-button:disabled{opacity:.7;cursor:not-allowed}.login-footer{margin-top:32px;padding-top:24px;border-top:1px solid rgba(255,255,255,.06);text-align:center}.login-footer p{font-size:13px;color:#ffffff80}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#141414f2;border:1px solid rgba(255,255,255,.1);border-radius:20px;width:100%;max-width:800px;max-height:90vh;overflow-y:auto;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 20px 60px #00000080;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-content::-webkit-scrollbar{width:8px}.modal-content::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.modal-content::-webkit-scrollbar-thumb{background:#8b5cf680;border-radius:4px}.modal-content::-webkit-scrollbar-thumb:hover{background:#8b5cf6b3}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px 32px;border-bottom:1px solid rgba(255,255,255,.08);position:sticky;top:0;background:#141414f2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:10}.modal-title{font-size:24px;font-weight:700;color:#fff;letter-spacing:-.02em}.modal-close{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:10px;color:#fff9;cursor:pointer;transition:all .2s}.modal-close:hover{background:#ffffff1a;color:#fff}.modal-form{padding:32px}.form-error{padding:12px 16px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:10px;color:#f87171;font-size:14px;margin-bottom:24px}.form-grid{display:grid;grid-template-columns:1fr;gap:20px;margin-bottom:20px}@media (min-width: 640px){.form-grid{grid-template-columns:repeat(2,1fr)}}.form-group{display:flex;flex-direction:column;gap:8px}.form-label{font-size:14px;font-weight:500;color:#fffc}.form-input,.form-textarea{width:100%;padding:12px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:10px;color:#fff;font-size:14px;transition:all .3s ease;font-family:Plus Jakarta Sans,sans-serif}.form-input::placeholder,.form-textarea::placeholder{color:#ffffff4d}.form-input:focus,.form-textarea:focus{outline:none;border-color:#8b5cf6;background:#ffffff14;box-shadow:0 0 0 3px #8b5cf61a}.form-textarea{resize:vertical;min-height:80px}.image-upload-section{display:flex;flex-direction:column;gap:16px}.upload-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;background:#8b5cf61a;border:1px solid rgba(139,92,246,.3);border-radius:10px;color:#8b5cf6;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;width:fit-content;font-family:Plus Jakarta Sans,sans-serif}.upload-button:hover{background:#8b5cf633;border-color:#8b5cf680}.image-preview-container{position:relative;width:120px;height:120px;border-radius:10px;overflow:hidden;border:1px solid rgba(255,255,255,.1)}.image-preview-single{width:100%;height:100%;object-fit:cover}.remove-image-button-single{position:absolute;top:6px;right:6px;display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#ef4444e6;border:none;border-radius:6px;color:#fff;cursor:pointer;transition:all .2s}.remove-image-button-single:hover{background:#ef4444;transform:scale(1.1)}.image-preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.image-preview-item{position:relative;aspect-ratio:1;border-radius:10px;overflow:hidden;border:1px solid rgba(255,255,255,.1)}.image-preview-item img{width:100%;height:100%;object-fit:cover}.remove-image-button{position:absolute;top:6px;right:6px;display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#ef4444e6;border:none;border-radius:6px;color:#fff;cursor:pointer;opacity:0;transition:all .2s}.image-preview-item:hover .remove-image-button{opacity:1}.remove-image-button:hover{background:#ef4444;transform:scale(1.1)}.upload-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:500}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:32px;padding-top:24px;border-top:1px solid rgba(255,255,255,.08)}.button-primary,.button-secondary{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease;font-family:Plus Jakarta Sans,sans-serif}.button-primary{background:linear-gradient(135deg,#8b5cf6,#ec4899);border:none;color:#fff}.button-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 30px #8b5cf64d}.button-primary:disabled{opacity:.6;cursor:not-allowed}.button-secondary{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#fff}.button-secondary:hover:not(:disabled){background:#ffffff1a;border-color:#fff3}.button-secondary:disabled{opacity:.6;cursor:not-allowed}.button-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@media (max-width: 640px){.modal-header{padding:20px 24px}.modal-title{font-size:20px}.modal-form{padding:24px}.form-actions{flex-direction:column-reverse}.button-primary,.button-secondary{width:100%}}.dashboard-page{min-height:100vh;background:#272525cc}.dashboard-header{background:#141414cc;border-bottom:1px solid rgba(255,255,255,.06);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:50}.dashboard-header-content{max-width:1600px;margin:0 auto;padding:16px 24px;display:flex;align-items:center;justify-content:space-between}.dashboard-logo{display:flex;align-items:center;gap:12px}.logo-box{width:40px;height:40px;background:linear-gradient(135deg,#8b5cf6,#ec4899);border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:20px;color:#fff}.logo-text{font-size:18px;font-weight:600;color:#fff}.logout-button{display:flex;align-items:center;gap:8px;padding:10px 20px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:10px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;font-family:Plus Jakarta Sans,sans-serif}.logout-button:hover{background:#ffffff1a;border-color:#fff3}.dashboard-main{padding:32px 24px}.dashboard-container{max-width:1600px;margin:0 auto}.dashboard-topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px;flex-wrap:wrap;gap:20px}.dashboard-title{font-size:32px;font-weight:700;color:#fff;margin-bottom:8px;letter-spacing:-.02em}.dashboard-subtitle{font-size:16px;color:#fff9}.add-service-button{display:flex;align-items:center;gap:8px;padding:12px 24px;background:linear-gradient(135deg,#8b5cf6,#ec4899);border:none;border-radius:12px;color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease;font-family:Plus Jakarta Sans,sans-serif}.add-service-button:hover{transform:translateY(-2px);box-shadow:0 12px 30px #8b5cf64d}.search-container{position:relative;margin-bottom:24px;max-width:500px}.search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#fff6;pointer-events:none}.search-input{width:100%;padding:14px 48px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;color:#fff;font-size:15px;transition:all .3s ease;font-family:Plus Jakarta Sans,sans-serif}.search-input::placeholder{color:#ffffff4d}.search-input:focus{outline:none;border-color:#8b5cf6;background:#ffffff14;box-shadow:0 0 0 3px #8b5cf61a}.search-clear{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:#fff6;cursor:pointer;padding:4px;display:flex;align-items:center;transition:color .2s}.search-clear:hover{color:#fff}.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center}.loading-spinner{width:48px;height:48px;border:4px solid rgba(139,92,246,.2);border-top-color:#8b5cf6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}.loading-state p,.error-state p{color:#fff9;font-size:16px}.retry-button{margin-top:16px;padding:10px 24px;background:#8b5cf633;border:1px solid rgba(139,92,246,.3);border-radius:10px;color:#8b5cf6;font-weight:500;cursor:pointer;transition:all .3s ease;font-family:Plus Jakarta Sans,sans-serif}.retry-button:hover{background:#8b5cf64d}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:100px 20px;text-align:center}.empty-state-icon{margin-bottom:24px;animation:float 3s ease-in-out infinite}.empty-state-title{font-size:24px;font-weight:700;color:#fff;margin-bottom:12px;letter-spacing:-.02em}.empty-state-description{font-size:16px;color:#ffffff80;margin-bottom:32px;max-width:400px}.empty-state-button{display:inline-flex;align-items:center;gap:8px;padding:12px 28px;background:linear-gradient(135deg,#8b5cf6,#ec4899);border:none;border-radius:12px;color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease;font-family:Plus Jakarta Sans,sans-serif}.empty-state-button:hover{transform:translateY(-2px);box-shadow:0 12px 30px #8b5cf666}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.table-container{background:#14141499;border:1px solid rgba(255,255,255,.08);border-radius:16px;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.services-table{width:100%;border-collapse:collapse}.services-table thead{background:#ffffff08;border-bottom:1px solid rgba(255,255,255,.08)}.services-table th{padding:16px;text-align:left;font-size:13px;font-weight:600;color:#ffffffb3;text-transform:uppercase;letter-spacing:.5px}.services-table tbody tr{border-bottom:1px solid rgba(255,255,255,.05);transition:background .2s}.services-table tbody tr:hover{background:#ffffff08}.services-table tbody tr:last-child{border-bottom:none}.services-table td{padding:16px;color:#fff;font-size:14px}.service-name-cell{display:flex;align-items:center;gap:12px}.service-icon{width:32px;height:32px;border-radius:6px;object-fit:cover;background:#ffffff0d}.category-badge{display:inline-block;padding:4px 12px;background:#8b5cf626;border:1px solid rgba(139,92,246,.3);border-radius:20px;font-size:12px;color:#a78bfa;font-weight:500}.rating-badge{display:inline-block;padding:4px 10px;background:#fbbf241a;border:1px solid rgba(251,191,36,.2);border-radius:20px;font-size:12px;color:#fbbf24;font-weight:500}.website-link{color:#8b5cf6;text-decoration:none;font-weight:500;transition:color .2s}.website-link:hover{color:#a78bfa;text-decoration:underline}.action-buttons{display:flex;gap:8px}.action-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:1px solid rgba(255,255,255,.1);cursor:pointer;transition:all .2s;background:#ffffff08}.edit-button{color:#8b5cf6;border-color:#8b5cf633}.edit-button:hover{background:#8b5cf626;border-color:#8b5cf666}.delete-button{color:#ef4444;border-color:#ef444433}.delete-button:hover{background:#ef444426;border-color:#ef444466}.toast-notification{position:fixed;top:24px;right:24px;display:flex;align-items:center;gap:12px;padding:16px 20px;border-radius:12px;box-shadow:0 12px 40px #00000080;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:9999;animation:slideInRight .3s ease-out,slideOutRight .3s ease-out 2.7s;min-width:300px;max-width:500px}.toast-notification.success{background:#10b98126;border:1px solid rgba(16,185,129,.3);color:#34d399}.toast-notification.error{background:#ef444426;border:1px solid rgba(239,68,68,.3);color:#f87171}.toast-content{display:flex;align-items:center;gap:12px;flex:1}.toast-close{background:none;border:none;color:currentColor;cursor:pointer;padding:4px;display:flex;align-items:center;opacity:.6;transition:opacity .2s}.toast-close:hover{opacity:1}@keyframes slideInRight{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOutRight{0%{transform:translate(0);opacity:1}to{transform:translate(400px);opacity:0}}.services-table tbody tr.deleting{animation:deleteRow .4s ease-out forwards;pointer-events:none}@keyframes deleteRow{0%{opacity:1;transform:translate(0) scale(1)}50%{opacity:.5;transform:translate(-20px) scale(.98);background:#ef44441a}to{opacity:0;transform:translate(-40px) scale(.95);height:0;padding-top:0;padding-bottom:0}}.button-spinner-small{width:14px;height:14px;border:2px solid rgba(239,68,68,.3);border-top-color:#ef4444;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 1024px){.table-container{overflow-x:auto}.services-table{min-width:900px}.toast-notification{right:16px;left:16px;min-width:auto}}@media (max-width: 640px){.dashboard-main{padding:20px 16px}.dashboard-title{font-size:24px}.dashboard-topbar{flex-direction:column;align-items:flex-start}.add-service-button{width:100%;justify-content:center}.toast-notification{top:16px;right:16px;left:16px}.empty-state{padding:60px 20px}.empty-state-title{font-size:20px}.empty-state-description{font-size:14px}}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%}body{font-family:Plus Jakarta Sans,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial;background:#000;color:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{transition-property:background-color,border-color,color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}*:focus{outline:none}button{font-family:inherit}
