@import url("https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800;900&display=swap");:root{--bg:#09090b;--surface:#111113;--surface2:#18181b;--border:#27272a;--accent:#22c55e;--accent2:#16a34a;--text:#fafafa;--muted:#71717a;--danger:#ef4444;--success:#22c55e;--warning:#eab308;--radius:12px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Outfit,sans-serif;background:var(--bg);color:var(--text);min-height:100vh}h1,h2,h3{font-weight:800;line-height:1.15;letter-spacing:-.02em}a{color:var(--accent);cursor:pointer;text-decoration:none}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--surface)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.center-full{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:radial-gradient(ellipse 60% 50% at 20% 20%,rgba(34,197,94,.08),transparent 70%),radial-gradient(ellipse 50% 40% at 80% 80%,rgba(22,163,74,.06),transparent 70%),var(--bg)}.app{position:relative}.spinner{width:28px;height:28px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;margin:2rem auto}@keyframes spin{to{transform:rotate(1turn)}}.toast-container{position:fixed;top:1rem;left:50%;transform:translateX(-50%);z-index:9000;display:flex;flex-direction:column;gap:.5rem;width:90%;max-width:420px;pointer-events:none}.toast{padding:.85rem 1.2rem;border-radius:12px;font-size:.88rem;font-weight:500;animation:toastIn .3s ease both;pointer-events:auto;box-shadow:0 8px 30px rgba(0,0,0,.4)}.toast.success{background:rgba(52,211,153,.15);border:1px solid rgba(52,211,153,.4);color:var(--success)}.toast.error{background:hsla(0,91%,71%,.15);border:1px solid hsla(0,91%,71%,.4);color:var(--danger)}.toast.info{background:rgba(34,197,94,.15);border:1px solid rgba(34,197,94,.4);color:var(--accent)}.toast.warning{background:rgba(251,191,36,.15);border:1px solid rgba(251,191,36,.4);color:var(--warning)}@keyframes toastIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:none}}.cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:8000;background:var(--surface);border-top:1px solid var(--border);padding:.8rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.85rem;color:var(--muted)}.cookie-banner button{padding:.45rem 1rem;border-radius:8px;border:none;background:var(--accent);color:#000;font-weight:700;font-size:.82rem;cursor:pointer}.lang-toggle{position:fixed;top:1rem;right:1rem;z-index:7000;display:flex;gap:2px;background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:3px;font-size:.78rem}.lang-toggle button{padding:.35rem .6rem;border-radius:6px;border:none;background:transparent;color:var(--muted);cursor:pointer;font-weight:600;transition:all .2s}.lang-toggle button.active{background:var(--accent);color:#000}.auth-card{width:100%;max-width:460px;background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:2.5rem;box-shadow:0 24px 80px rgba(0,0,0,.6);animation:cardIn .4s ease both}@keyframes cardIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}.auth-logo{text-align:center;font-size:1.6rem;font-weight:800;color:var(--accent);margin-bottom:.3rem}.auth-logo span{color:var(--text)}.auth-sub{text-align:center;font-size:.85rem;color:var(--muted);margin-bottom:2rem}.tabs{display:flex;background:var(--surface2);border-radius:10px;padding:4px;margin-bottom:1.5rem}.tabs button{flex:1 1;padding:.6rem;text-align:center;cursor:pointer;border-radius:8px;font-weight:600;font-size:.9rem;color:var(--muted);transition:all .25s;border:none;background:transparent}.tabs button.active{background:var(--accent);color:#000;box-shadow:0 4px 14px rgba(34,197,94,.35)}label{display:flex;flex-direction:column;gap:.4rem;font-size:.82rem;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:1rem}label input,label select,label textarea{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:.8rem 1rem;color:var(--text);font-family:DM Sans,sans-serif;font-size:.95rem;outline:none;width:100%;transition:border-color .2s}label input:focus,label select:focus,label textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(34,197,94,.15)}label textarea{resize:vertical;min-height:50px}.role-toggle{display:flex;gap:.7rem;margin-top:.2rem}.role-toggle button{flex:1 1;padding:.65rem;border-radius:10px;border:1px solid var(--border);background:var(--surface2);color:var(--muted);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s;text-align:center}.role-toggle button.selected{border-color:var(--accent);background:rgba(34,197,94,.12);color:var(--accent)}.btn-primary{width:100%;padding:.9rem;background:linear-gradient(135deg,var(--accent),var(--accent2));border:none;border-radius:var(--radius);color:#000;font-size:1rem;font-weight:800;cursor:pointer;transition:opacity .2s,transform .15s;box-shadow:0 6px 22px rgba(34,197,94,.3);margin-top:.5rem}.btn-primary:hover{opacity:.9;transform:translateY(-1px)}.btn-primary:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn-accent{padding:.6rem 1.2rem;background:linear-gradient(135deg,var(--accent),var(--accent2));border:none;border-radius:10px;color:#000;font-weight:700;font-size:.85rem;cursor:pointer;transition:opacity .2s}.btn-accent:hover{opacity:.85}.btn-outline{padding:.5rem 1rem;background:transparent;border:1px solid var(--border);color:var(--text);border-radius:10px;cursor:pointer;font-size:.88rem;transition:border-color .2s}.btn-outline:hover{border-color:var(--accent)}.btn-success{padding:.5rem 1rem;background:rgba(52,211,153,.15);border:1px solid rgba(52,211,153,.3);color:var(--success);border-radius:8px;font-weight:700;font-size:.82rem;cursor:pointer}.btn-success:hover{opacity:.8}.btn-danger{padding:.5rem 1rem;background:hsla(0,91%,71%,.15);border:1px solid hsla(0,91%,71%,.3);color:var(--danger);border-radius:8px;font-weight:700;font-size:.82rem;cursor:pointer}.btn-danger:hover{opacity:.8}.btn-danger-outline{padding:.7rem 1rem;background:transparent;border:1px solid hsla(0,91%,71%,.3);color:var(--danger);border-radius:10px;font-weight:700;cursor:pointer}.btn-sm{padding:.35rem .7rem;font-size:.78rem}.msg{padding:.75rem 1rem;border-radius:10px;font-size:.9rem;font-weight:500;margin-top:.8rem}.msg.error{background:hsla(0,91%,71%,.1);border:1px solid hsla(0,91%,71%,.3);color:var(--danger)}.msg.success{background:rgba(52,211,153,.1);border:1px solid rgba(52,211,153,.3);color:var(--success)}.switch-text{text-align:center;font-size:.88rem;color:var(--muted);margin-top:.8rem}.modal-overlay{position:fixed;inset:0;z-index:6000;background:rgba(0,0,0,.8);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:1rem;animation:fadeIn .2s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:20px;overflow:hidden;box-shadow:0 32px 80px rgba(0,0,0,.7);animation:slideUp .3s cubic-bezier(.22,1,.36,1);display:flex;flex-direction:column;max-height:90vh}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}.rules-modal{max-width:700px}.map-modal{max-width:860px}.modal-header{padding:1.2rem 1.6rem;border-bottom:1px solid var(--border);background:var(--surface2);display:flex;justify-content:space-between;align-items:center}.modal-header h2{font-size:1.1rem}.modal-header p{font-size:.85rem;color:var(--muted);margin-top:.3rem}.modal-body{padding:1.5rem;overflow-y:auto;flex:1 1}.modal-footer{padding:1.2rem 1.6rem;border-top:1px solid var(--border);display:flex;gap:.8rem;flex-wrap:wrap}.modal-footer .btn-success{flex:2 1;min-width:200px;padding:.85rem;font-size:.95rem;border-radius:12px;box-shadow:0 4px 16px rgba(52,211,153,.3)}.modal-footer .btn-danger-outline{flex:1 1;min-width:140px;padding:.85rem}.close-btn{background:none;border:none;color:var(--muted);font-size:1.4rem;cursor:pointer;line-height:1}.close-btn:hover{color:var(--danger)}.rules-content h3{font-weight:700;font-size:1rem;color:var(--accent);margin:1.2rem 0 .5rem}.rules-content h3:first-child{margin-top:0}.rules-content p{margin-bottom:.5rem;color:var(--muted);font-size:.88rem;line-height:1.8}.rules-content ul{list-style:none;padding:0;margin-bottom:.5rem}.rules-content ul li{padding:.3rem 0 .3rem 1.2rem;position:relative;font-size:.88rem}.rules-content ul li:before{content:"•";position:absolute;left:0;color:var(--accent);font-weight:700}.rules-content .hl{background:rgba(34,197,94,.08);border:1px solid rgba(34,197,94,.15);border-radius:10px;padding:.6rem .8rem;color:var(--accent);font-size:.85rem}.rules-content .warn{background:hsla(0,91%,71%,.08);border:1px solid hsla(0,91%,71%,.2);border-radius:10px;padding:.6rem .8rem;color:var(--danger);font-weight:600;font-size:.85rem;margin:.5rem 0}.map-container{width:100%;height:400px;background:#0d1117}.map-body{padding:1.2rem 1.6rem;display:flex;flex-direction:column;gap:1rem;overflow-y:auto}.search-row{display:flex;gap:.6rem}.search-row input{flex:1 1;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:.7rem 1rem;color:var(--text);font-size:.9rem;outline:none}.search-row input:focus{border-color:var(--accent)}.search-row button{padding:.7rem 1.1rem;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer;white-space:nowrap;font-size:.9rem}.search-row button:hover{border-color:var(--accent)}.location-pill{display:flex;align-items:center;gap:.7rem;background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:.65rem 1rem;font-size:.88rem;color:var(--muted)}.location-pill.set{border-color:var(--accent);color:var(--text)}.time-row{display:flex;gap:.6rem;align-items:center;background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:.65rem 1rem;flex-wrap:wrap}.time-row span{font-size:.85rem;color:var(--muted);font-weight:600;white-space:nowrap}.time-row input,.time-row select{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.5rem .7rem;color:var(--text);font-size:.88rem;outline:none;cursor:pointer}.map-actions{display:flex;gap:.8rem;flex-wrap:wrap}.map-actions .btn-outline{flex:1 1;min-width:140px;padding:.75rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.map-actions .btn-primary{flex:2 1;min-width:180px;padding:.75rem}.order-list{display:flex;flex-direction:column;gap:.6rem;max-height:250px;overflow-y:auto}.order-item{background:var(--surface2);border:1px solid var(--border);border-radius:12px;padding:1rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;transition:border-color .2s}.order-item:hover{border-color:var(--accent)}.dashboard{display:flex;flex-direction:column;min-height:100vh}.dash-header{max-width:1200px;width:100%;margin:0 auto;display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid var(--border)}.dash-logo{font-size:1.4rem;font-weight:800;color:var(--accent)}.dash-user{gap:1rem}.avatar,.dash-user{display:flex;align-items:center}.avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent2));justify-content:center;font-weight:800;font-size:1rem;color:#000}.dash-hero{max-width:1200px;width:100%;margin:0 auto;padding:2.5rem 2rem 1.5rem}.dash-hero h1{font-size:2.2rem;margin-bottom:.5rem}.accent,.badge{color:var(--accent)}.badge{display:inline-block;background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.25);border-radius:20px;padding:.25rem .9rem;font-size:.8rem;font-weight:600;letter-spacing:.06em;margin-bottom:.8rem}.rating-inline{font-size:.88rem;margin-left:.5rem;vertical-align:middle}.stars{color:#fbbf24;letter-spacing:1px}.stars-sm{font-size:.8rem;color:#fbbf24}.price-badge{display:inline-block;background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.2);border-radius:10px;padding:.5rem 1rem;font-size:.88rem;font-weight:600;color:var(--accent);margin-bottom:1rem}.dash-nav{max-width:1200px;width:100%;margin:0 auto;padding:0 2rem;display:flex;gap:.3rem;border-bottom:1px solid var(--border);overflow-x:auto}.dash-nav button{padding:.85rem 1.3rem;background:transparent;color:var(--muted);font-size:.88rem;font-weight:600;cursor:pointer;border:none;border-bottom:2px solid transparent;transition:all .2s;white-space:nowrap}.dash-nav button:hover{color:var(--text)}.dash-nav button.active{color:var(--accent);border-bottom-color:var(--accent)}.panel{max-width:1200px;width:100%;margin:0 auto;padding:2rem;animation:fadeUp .3s ease both}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:1.2rem;gap:1.2rem;margin-bottom:2rem}.card-grid.three{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:1.6rem;transition:border-color .25s,transform .25s;cursor:pointer}.card:hover{border-color:var(--accent);transform:translateY(-3px)}.card-icon{font-size:1.8rem;margin-bottom:.8rem}.card h3{font-size:1.05rem;margin-bottom:.4rem}.card p{font-size:.88rem;color:var(--muted);line-height:1.6}.cta{display:block;margin-top:1rem;color:var(--accent);font-size:.85rem;font-weight:600}.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:1rem;gap:1rem;margin-bottom:2rem}.stat{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:1.2rem;text-align:center}.stat b{display:block;font-size:1.8rem;color:var(--accent)}.stat span{font-size:.8rem;color:var(--muted);margin-top:.3rem}.order-row{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:1.2rem 1.4rem;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.8rem}.order-actions,.order-row{display:flex;flex-wrap:wrap}.order-actions{align-items:center;gap:.5rem}.status-badge{padding:.3rem .8rem;border-radius:20px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.status-pending{background:rgba(251,191,36,.12);border:1px solid rgba(251,191,36,.3);color:var(--warning)}.status-claimed{background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.3);color:var(--accent)}.status-done{background:rgba(52,211,153,.12);border:1px solid rgba(52,211,153,.3);color:var(--success)}.status-cancelled{background:hsla(0,91%,71%,.12);border:1px solid hsla(0,91%,71%,.3);color:var(--danger)}.info-box{margin-top:.3rem;padding:.5rem .7rem;border-radius:8px;font-size:.85rem}.info-box.accent{background:rgba(34,197,94,.08);border:1px solid rgba(34,197,94,.15);color:var(--accent)}.info-box.success{background:rgba(52,211,153,.08);border:1px solid rgba(52,211,153,.15);color:var(--success)}.info-box a{color:inherit;font-weight:600}.reviews-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:1.4rem;margin-bottom:1.2rem}.rating-big,.reviews-card h3{margin-bottom:1rem}.rating-big{text-align:center;font-size:1.4rem}.rating-big b{font-size:2rem;color:var(--accent)}.review-item{border-top:1px solid var(--border);padding:.8rem 0}.review-item:first-of-type{border-top:none;padding-top:0}.review-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.3rem}.review-form{margin-top:.5rem;padding:.6rem .8rem;background:var(--surface2);border:1px solid var(--border);border-radius:10px}.review-form b{font-size:.85rem;display:block;margin-bottom:.4rem}.star-select{display:flex;gap:.2rem;font-size:1.6rem;cursor:pointer;margin-bottom:.4rem}.star-select span{color:var(--border);transition:color .15s}.star-select span.active,.star-select span:hover{color:#fbbf24}.rules-dash-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:1.4rem;margin-bottom:1.5rem}.rules-dash-card h3{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.rules-dash-card .rules-content{max-height:300px;overflow-y:auto}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));grid-gap:1.5rem;gap:1.5rem}.settings-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:1.8rem}.settings-card h3{margin-bottom:1.2rem}.danger-zone{border-color:hsla(0,91%,71%,.2)}.danger-zone h3{color:var(--danger)}.admin-row{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:1.2rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.8rem;flex-wrap:wrap}.section-title{font-size:1rem;margin:2rem 0 1rem;color:var(--accent)}.section-title.warning{color:var(--warning)}.footer{text-align:center;padding:2rem;font-size:.72rem;color:var(--muted);opacity:.5}.footer b{color:var(--text);opacity:.6}.muted{color:var(--muted)}.small{font-size:.82rem}.fw600{font-weight:600}.center{text-align:center}.flex{display:flex}.gap{gap:.5rem}@media(max-width:700px){.dash-header{padding:1rem;flex-wrap:wrap;gap:.5rem}.dash-hero{padding:1.5rem 1rem}.dash-hero h1{font-size:1.5rem}.dash-nav{padding:0 1rem}.panel{padding:1.5rem 1rem}.map-container{height:280px}.settings-grid{grid-template-columns:1fr}.auth-card{padding:2rem 1.4rem}}