:root{--bg-primary:#0a0a1a;--bg-secondary:#12122a;--bg-card:#161633;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--accent:#6366f1;--accent-hover:#818cf8;--accent-glow:#6366f14d;--cyan:#06b6d4;--green:#10b981;--orange:#f59e0b;--red:#ef4444;--border:#1e293b;--gradient:linear-gradient(135deg, #6366f1, #06b6d4);--radius:12px;--radius-lg:20px}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-family:Noto Sans JP,-apple-system,sans-serif;line-height:1.7}a{color:inherit;text-decoration:none}.nav{z-index:100;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);background:#0a0a1ad9;position:fixed;top:0;left:0;right:0}.nav-inner{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:16px 24px;display:flex}.nav-logo{background:var(--gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;align-items:center;gap:8px;font-size:1.3rem;font-weight:800;display:flex}.nav-logo-icon{-webkit-text-fill-color:initial;font-size:1.5rem}.nav-links{align-items:center;gap:28px;list-style:none;display:flex}.nav-links a{color:var(--text-secondary);font-size:.9rem;font-weight:500;transition:color .2s}.nav-links a:hover{color:var(--text-primary)}.nav-cta{border-radius:8px;padding:8px 20px;font-weight:700;transition:transform .2s,box-shadow .2s;background:var(--gradient)!important;color:#fff!important}.nav-cta:hover{box-shadow:0 4px 20px var(--accent-glow);transform:translateY(-1px)}.hero{background:linear-gradient(180deg, #1a1040 0%, var(--bg-primary) 100%);padding:140px 24px 80px}.hero-inner{grid-template-columns:1fr 1fr;align-items:center;gap:60px;max-width:1200px;margin:0 auto;display:grid}.hero h1{margin-bottom:20px;font-size:2.8rem;font-weight:800;line-height:1.3}.hero h1 .gradient-text{background:var(--gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.hero p{color:var(--text-secondary);margin-bottom:32px;font-size:1.1rem;line-height:1.8}.hero-trust{flex-wrap:wrap;gap:20px;margin-top:24px;display:flex}.hero-trust span{color:var(--text-muted);align-items:center;gap:6px;font-size:.85rem;display:flex}.hero-img{border-radius:var(--radius-lg);overflow:hidden}.hero-img img{width:100%;height:auto}.btn-primary{background:var(--gradient);color:#fff;cursor:pointer;border:none;border-radius:10px;align-items:center;gap:8px;padding:14px 32px;font-size:1rem;font-weight:700;transition:transform .2s,box-shadow .2s;display:inline-flex}.btn-primary:hover{box-shadow:0 8px 30px var(--accent-glow);transform:translateY(-2px)}.btn-secondary{color:var(--text-primary);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:10px;align-items:center;gap:8px;padding:14px 32px;font-size:1rem;font-weight:600;transition:border-color .2s;display:inline-flex}.btn-secondary:hover{border-color:var(--accent)}.stats{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:60px 24px}.stats-inner{text-align:center;grid-template-columns:repeat(4,1fr);gap:40px;max-width:1000px;margin:0 auto;display:grid}.stat-number{background:var(--gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:2.2rem;font-weight:800}.stat-label{color:var(--text-muted);margin-top:4px;font-size:.85rem}.section{padding:100px 24px}.section-inner{max-width:1200px;margin:0 auto}.section-title{text-align:center;margin-bottom:16px;font-size:2rem;font-weight:800}.section-subtitle{text-align:center;color:var(--text-secondary);margin-bottom:60px;font-size:1rem}.features-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.feature-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:36px 28px;transition:transform .3s,border-color .3s}.feature-card:hover{border-color:var(--accent);transform:translateY(-4px)}.feature-icon{background:linear-gradient(135deg,#6366f126,#06b6d41a);border-radius:14px;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:20px;font-size:1.5rem;display:flex}.feature-card h3{margin-bottom:10px;font-size:1.15rem;font-weight:700}.feature-card p{color:var(--text-secondary);font-size:.9rem;line-height:1.7}.steps{grid-template-columns:repeat(3,1fr);gap:32px;display:grid;position:relative}.step{text-align:center;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:40px 24px;position:relative}.step-number{background:var(--gradient);border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;margin:0 auto 20px;font-size:1.2rem;font-weight:800;display:flex}.step h3{margin-bottom:12px;font-size:1.1rem;font-weight:700}.step p{color:var(--text-secondary);font-size:.9rem}.pricing-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.pricing-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:40px 32px;position:relative}.pricing-card.featured{border-color:var(--accent);box-shadow:0 0 40px var(--accent-glow)}.pricing-badge{background:var(--gradient);color:#fff;border-radius:20px;padding:4px 16px;font-size:.75rem;font-weight:700;position:absolute;top:-12px;left:50%;transform:translate(-50%)}.pricing-name{color:var(--text-secondary);margin-bottom:8px;font-size:1.1rem;font-weight:700}.pricing-price{margin-bottom:4px;font-size:2.5rem;font-weight:800}.pricing-price span{color:var(--text-muted);font-size:.9rem;font-weight:400}.pricing-desc{color:var(--text-muted);margin-bottom:24px;font-size:.85rem}.pricing-features{margin-bottom:32px;list-style:none}.pricing-features li{color:var(--text-secondary);border-bottom:1px solid #1e293b80;align-items:center;gap:8px;padding:8px 0;font-size:.9rem;display:flex}.pricing-btn{text-align:center;cursor:pointer;border:none;border-radius:10px;width:100%;padding:14px;font-size:.95rem;font-weight:700;transition:transform .2s;display:block}.pricing-btn-primary{background:var(--gradient);color:#fff}.pricing-btn-secondary{color:var(--text-primary);border:1px solid var(--border);background:0 0}.pricing-btn:hover{transform:translateY(-2px)}.cta{text-align:center;background:linear-gradient(180deg, var(--bg-primary) 0%, #1a1040 100%);padding:100px 24px}.cta h2{margin-bottom:16px;font-size:2rem;font-weight:800}.cta p{color:var(--text-secondary);margin-bottom:32px}.footer{border-top:1px solid var(--border);text-align:center;padding:40px 24px}.footer-inner{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;display:flex}.footer-copy{color:var(--text-muted);font-size:.8rem}.footer-links{gap:20px;display:flex}.footer-links a{color:var(--text-muted);font-size:.8rem}.footer-links a:hover{color:var(--text-primary)}.auth-page{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:440px;padding:48px 40px}.auth-title{text-align:center;margin-bottom:8px;font-size:1.5rem;font-weight:800}.auth-subtitle{text-align:center;color:var(--text-secondary);margin-bottom:32px;font-size:.9rem}.form-group{margin-bottom:20px}.form-label{color:var(--text-secondary);margin-bottom:6px;font-size:.85rem;font-weight:600;display:block}.form-input{background:var(--bg-primary);border:1px solid var(--border);width:100%;color:var(--text-primary);border-radius:8px;padding:12px 16px;font-family:inherit;font-size:.95rem;transition:border-color .2s}.form-input:focus{border-color:var(--accent);outline:none}.form-btn{background:var(--gradient);color:#fff;cursor:pointer;border:none;border-radius:10px;width:100%;padding:14px;font-family:inherit;font-size:1rem;font-weight:700;transition:transform .2s}.form-btn:hover{transform:translateY(-1px)}.form-btn:disabled{opacity:.5;cursor:not-allowed}.auth-link{text-align:center;color:var(--text-muted);margin-top:20px;font-size:.85rem}.auth-link a{color:var(--accent)}.dash-container{max-width:1200px;margin:0 auto;padding:100px 24px 60px}.dash-header{justify-content:space-between;align-items:center;margin-bottom:40px;display:flex}.dash-title{font-size:1.8rem;font-weight:800}.dash-stats{grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:40px;display:grid}.dash-stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.dash-stat-label{color:var(--text-muted);margin-bottom:4px;font-size:.8rem}.dash-stat-value{font-size:1.8rem;font-weight:800}.dash-section{margin-bottom:40px}.dash-section-title{margin-bottom:16px;font-size:1.2rem;font-weight:700}.dash-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:24px;padding:32px}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.calendar-header{text-align:center;color:var(--text-muted);padding:8px;font-size:.8rem;font-weight:700}.calendar-day{aspect-ratio:1;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;font-size:.9rem;transition:background .2s;display:flex}.calendar-day:hover{background:#6366f126}.calendar-day.available{color:var(--green);background:#10b9811a}.calendar-day.selected{background:var(--accent);color:#fff}.calendar-day.disabled{color:var(--text-muted);cursor:default;opacity:.3}.calendar-day.holiday{color:var(--red);opacity:.5}.calendar-day.today{border:1px solid var(--accent)}.time-slots{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.time-slot{background:var(--bg-secondary);border:1px solid var(--border);cursor:pointer;border-radius:8px;padding:10px 20px;font-size:.9rem;transition:all .2s}.time-slot:hover{border-color:var(--accent)}.time-slot.selected{background:var(--accent);border-color:var(--accent);color:#fff}.time-slot.disabled{opacity:.3;cursor:default}.booking-page{background:linear-gradient(180deg, #1a1040 0%, var(--bg-primary) 100%);min-height:100vh;padding:40px 24px}.booking-container{max-width:640px;margin:0 auto}.booking-header{text-align:center;margin-bottom:40px}.booking-shop-name{margin-bottom:8px;font-size:1.5rem;font-weight:800}.booking-shop-info{color:var(--text-secondary);font-size:.9rem}.booking-step-header{align-items:center;gap:10px;margin-bottom:16px;font-size:1.1rem;font-weight:700;display:flex}.booking-step-num{background:var(--gradient);border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.8rem;font-weight:800;display:flex}.menu-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;margin-bottom:12px;padding:20px;transition:border-color .2s,transform .2s}.menu-card:hover{border-color:var(--accent)}.menu-card.selected{border-color:var(--accent);box-shadow:0 0 20px var(--accent-glow)}.menu-name{margin-bottom:4px;font-weight:700}.menu-meta{color:var(--text-muted);gap:16px;font-size:.85rem;display:flex}@media (max-width:768px){.hero-inner{text-align:center;grid-template-columns:1fr}.hero h1{font-size:2rem}.hero-img{max-width:400px;margin:0 auto}.stats-inner{grid-template-columns:repeat(2,1fr);gap:24px}.features-grid,.steps{grid-template-columns:1fr}.pricing-grid{grid-template-columns:1fr;max-width:400px;margin:0 auto}.nav-links{gap:16px}.nav-links a{font-size:.8rem}.dash-stats{grid-template-columns:repeat(2,1fr)}.footer-inner{flex-direction:column;gap:16px}}
