@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{color:#e8e8f0;-webkit-font-smoothing:antialiased;background:#0f0f14;min-height:100dvh;font-family:Inter,sans-serif}:root{--bg-base:#0f0f14;--bg-surface:#16161f;--bg-card:#1c1c28;--bg-hover:#232334;--border:#2a2a3d;--border-light:#363650;--primary:#6c63ff;--primary-glow:#6c63ff40;--primary-dark:#4f48cc;--secondary:#00d4aa;--danger:#ff4d6a;--warning:#ffb547;--success:#2dd88a;--info:#38b2ff;--text-primary:#e8e8f0;--text-secondary:#9898b0;--text-muted:#5a5a72;--radius-sm:6px;--radius-md:12px;--radius-lg:18px;--radius-xl:24px;--shadow-sm:0 1px 3px #0006;--shadow-md:0 4px 16px #00000080;--shadow-lg:0 8px 32px #0009;--shadow-glow:0 0 24px var(--primary-glow);--transition:.18s ease}.app-layout{flex-direction:column;min-height:100dvh;display:flex}.page{flex:1;width:100%;max-width:480px;margin:0 auto;padding:16px}.page-wide{flex:1;width:100%;max-width:900px;margin:0 auto;padding:16px}h1{font-size:1.75rem;font-weight:800;line-height:1.2}h2{font-size:1.35rem;font-weight:700}h3{font-size:1.1rem;font-weight:600}p{color:var(--text-secondary);line-height:1.6}.text-muted{color:var(--text-muted);font-size:.8rem}.text-small{font-size:.85rem}.text-center{text-align:center}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:20px}.card+.card{margin-top:12px}.btn{border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);white-space:nowrap;border:none;justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-family:Inter,sans-serif;font-size:.9rem;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 4px 16px var(--primary-glow)}.btn-primary:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-1px)}.btn-secondary{background:var(--bg-hover);color:var(--text-primary);border:1px solid var(--border-light)}.btn-secondary:hover:not(:disabled){background:var(--border)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:#e0374f}.btn-success{background:var(--success);color:#0f0f14}.btn-ghost{color:var(--primary);background:0 0;padding:8px 12px}.btn-ghost:hover{background:var(--primary-glow)}.btn-full{width:100%}.btn-sm{border-radius:var(--radius-sm);padding:8px 14px;font-size:.8rem}.btn-lg{border-radius:var(--radius-lg);padding:16px 28px;font-size:1rem}.form-group{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.form-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:.82rem;font-weight:600}.form-input,.form-select,.form-textarea{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);transition:var(--transition);width:100%;padding:12px 14px;font-family:Inter,sans-serif;font-size:.92rem}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow);outline:none}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-muted)}.form-textarea{resize:vertical;min-height:90px}.form-select{appearance:none;cursor:pointer}.form-error{color:var(--danger);font-size:.8rem}.form-hint{color:var(--text-muted);font-size:.78rem}.badge{text-transform:uppercase;letter-spacing:.06em;border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:.72rem;font-weight:700;display:inline-flex}.badge-pending{color:var(--warning);background:#ffb54726;border:1px solid #ffb5474d}.badge-progress{color:var(--info);background:#38b2ff26;border:1px solid #38b2ff4d}.badge-ready{color:var(--primary);background:#6c63ff26;border:1px solid #6c63ff4d}.badge-completed{color:var(--success);background:#2dd88a26;border:1px solid #2dd88a4d}.badge-abandoned{color:var(--danger);background:#ff4d6a26;border:1px solid #ff4d6a4d}.warranty-valid{border-radius:var(--radius-md);color:var(--success);background:#2dd88a1f;border:1px solid #2dd88a4d;align-items:center;gap:10px;padding:12px 16px;font-size:.88rem;font-weight:600;display:flex}.warranty-expired{border-radius:var(--radius-md);color:var(--danger);background:#ff4d6a1f;border:1px solid #ff4d6a4d;align-items:center;gap:10px;padding:12px 16px;font-size:.88rem;font-weight:600;display:flex}.stars{gap:4px;display:flex}.star{cursor:pointer;transition:var(--transition);font-size:1.4rem}.star.filled{color:#ffb547}.star.empty{color:var(--text-muted)}.star:hover{transform:scale(1.2)}.trust-score{border-radius:var(--radius-lg);border:1px solid var(--border);align-items:center;gap:10px;padding:14px 18px;display:flex}.trust-number{font-size:2rem;font-weight:800}.trust-high{color:var(--success)}.trust-mid{color:var(--warning)}.trust-low{color:var(--danger)}.chat-wrap{flex-direction:column;gap:10px;padding:16px 0;display:flex}.bubble{word-break:break-word;border-radius:16px;max-width:78%;padding:10px 14px;font-size:.88rem;line-height:1.5}.bubble-shop{background:var(--primary);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.bubble-customer{background:var(--bg-card);border:1px solid var(--border);border-bottom-left-radius:4px;align-self:flex-start}.bubble-system{color:var(--warning);text-align:center;border-radius:var(--radius-md);background:#ffb5471a;border:1px solid #ffb54740;align-self:center;max-width:90%;padding:8px 14px;font-size:.78rem}.bubble-time{color:var(--text-muted);margin-top:3px;font-size:.68rem}.navbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);z-index:100;background:#16161fe6;justify-content:space-between;align-items:center;height:56px;padding:0 16px;display:flex;position:sticky;top:0}.navbar-brand{color:var(--primary);letter-spacing:-.02em;font-size:1.1rem;font-weight:800}.navbar-brand span{color:var(--text-primary)}.bottom-nav{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border);z-index:100;background:#16161ff2;height:60px;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav-item{cursor:pointer;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;transition:var(--transition);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;font-size:.62rem;font-weight:600;text-decoration:none;display:flex}.bottom-nav-item.active{color:var(--primary)}.bottom-nav-item svg{width:22px;height:22px}.page-content{padding-bottom:76px}.divider{border:none;border-top:1px solid var(--border);margin:20px 0}.flex{display:flex}.flex-center{justify-content:center;align-items:center;display:flex}.flex-between{justify-content:space-between;align-items:center;display:flex}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mb-16{margin-bottom:16px}.spinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:28px;height:28px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-wrap{justify-content:center;align-items:center;min-height:200px;display:flex}.auth-page{background:radial-gradient(ellipse at 50% 0%, #6c63ff1f 0%, transparent 60%), var(--bg-base);flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:24px;display:flex}.auth-logo{color:var(--primary);margin-bottom:8px;font-size:2rem;font-weight:800}.auth-tagline{color:var(--text-muted);margin-bottom:32px;font-size:.85rem}.auth-card{width:100%;max-width:400px}.qr-wrap{flex-direction:column;align-items:center;gap:12px;padding:20px;display:flex}.qr-img{border-radius:var(--radius-md);border:2px solid var(--border);width:200px;height:200px}.gradient-text{background:linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hero-glow{pointer-events:none;background:radial-gradient(at 50% 0,#6c63ff26 0%,#0000 70%);position:absolute;inset:0}
